From 44dca1e442bedec9baa87c5893efb9c4ba7fa198 Mon Sep 17 00:00:00 2001 From: SparkScratch-P <prodyumna9d@gmail.com> Date: Thu, 2 May 2024 17:23:04 +0530 Subject: [PATCH] Add files via upload --- Keyboard/index.html | 330 ++++++++++++++++++++++++++++++++++++++++++++ Keyboard/script.js | 26 ++++ 2 files changed, 356 insertions(+) create mode 100644 Keyboard/index.html create mode 100644 Keyboard/script.js diff --git a/Keyboard/index.html b/Keyboard/index.html new file mode 100644 index 0000000..14a4a14 --- /dev/null +++ b/Keyboard/index.html @@ -0,0 +1,330 @@ +<!DOCTYPE html> +<!-- Created with https://packager.turbowarp.org/ --> +<html> +<head> + <meta charset="utf-8"> + <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"> + <!-- We only include this to explicitly loosen the CSP of various packager environments. It does not provide any security. --> + <meta http-equiv="Content-Security-Policy" content="default-src * 'self' 'unsafe-inline' 'unsafe-eval' data: blob:"> + <title>Augmented Virtual Keyboard</title> + <style> + body { + color: #ffffff; + font-family: sans-serif; + overflow: hidden; + margin: 0; + padding: 0; + } + :root, body.is-fullscreen { + background-color: #000000; + } + [hidden] { + display: none !important; + } + h1 { + font-weight: normal; + } + a { + color: inherit; + text-decoration: underline; + cursor: pointer; + } + + #app, #loading, #error, #launch { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + } + .screen { + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + text-align: center; + cursor: default; + user-select: none; + -webkit-user-select: none; + background-color: #000000; + } + #launch { + background-color: rgba(0, 0, 0, 0.7); + cursor: pointer; + } + .green-flag { + width: 80px; + height: 80px; + padding: 16px; + border-radius: 100%; + background: rgba(255, 255, 255, 0.75); + border: 3px solid hsla(0, 100%, 100%, 1); + display: flex; + justify-content: center; + align-items: center; + box-sizing: border-box; + } + #loading { + + } + .progress-bar-outer { + border: 1px solid currentColor; + height: 10px; + width: 200px; + max-width: 200px; + } + .progress-bar-inner { + height: 100%; + width: 0; + background-color: currentColor; + } + .loading-text, noscript { + font-weight: normal; + font-size: 36px; + margin: 0 0 16px; + } + .loading-image { + margin: 0 0 16px; + } + #error-message, #error-stack { + font-family: monospace; + max-width: 600px; + white-space: pre-wrap; + user-select: text; + -webkit-user-select: text; + } + #error-stack { + text-align: left; + max-height: 200px; + overflow: auto; + } + .control-button { + width: 2rem; + height: 2rem; + padding: 0.375rem; + margin-top: 0.5rem; + margin-bottom: 0.5rem; + user-select: none; + -webkit-user-select: none; + cursor: pointer; + border: 0; + border-radius: 4px; + } + .control-button:hover { + background: #ff4c4c26; + } + .control-button.active { + background: #ff4c4c59; + } + .fullscreen-button { + background: white !important; + } + .standalone-fullscreen-button { + position: absolute; + top: 0; + right: 0; + background-color: rgba(0, 0, 0, 0.5); + border-radius: 0 0 0 4px; + padding: 4px; + cursor: pointer; + } + .sc-canvas { + cursor: auto; + } + .sc-monitor-root[data-opcode^="data_"] .sc-monitor-value-color { + background-color: #ff8c1a; + } + .sc-monitor-row-value-outer { + background-color: #fc662c; + } + .sc-monitor-row-value-editing .sc-monitor-row-value-outer { + background-color: #e25b27; + } + + </style> + <meta name="theme-color" content="#000000"> + +</head> +<body> + <div id="app"></div> + + <div id="launch" class="screen" hidden title="Click to start"> + <div class="green-flag"> + <svg viewBox="0 0 16.63 17.5" width="42" height="44"> + <defs><style>.cls-1,.cls-2{fill:#4cbf56;stroke:#45993d;stroke-linecap:round;stroke-linejoin:round;}.cls-2{stroke-width:1.5px;}</style></defs> + <path class="cls-1" d="M.75,2A6.44,6.44,0,0,1,8.44,2h0a6.44,6.44,0,0,0,7.69,0V12.4a6.44,6.44,0,0,1-7.69,0h0a6.44,6.44,0,0,0-7.69,0"/> + <line class="cls-2" x1="0.75" y1="16.75" x2="0.75" y2="0.75"/> + </svg> + </div> + </div> + + <div id="loading" class="screen"> + <noscript>Enable JavaScript</noscript> + + + <div class="progress-bar-outer"><div class="progress-bar-inner" id="loading-inner"></div></div> + </div> + + <div id="error" class="screen" hidden> + <h1>Error</h1> + <details> + <summary id="error-message"></summary> + <p id="error-stack"></p> + </details> + </div> + + <script src="script.js"></script> + <script> + const appElement = document.getElementById('app'); + const launchScreen = document.getElementById('launch'); + const loadingScreen = document.getElementById('loading'); + const loadingInner = document.getElementById('loading-inner'); + const errorScreen = document.getElementById('error'); + const errorScreenMessage = document.getElementById('error-message'); + const errorScreenStack = document.getElementById('error-stack'); + + const handleError = (error) => { + console.error(error); + if (!errorScreen.hidden) return; + errorScreen.hidden = false; + errorScreenMessage.textContent = '' + error; + let debug = error && error.stack || 'no stack'; + debug += '\nUser agent: ' + navigator.userAgent; + errorScreenStack.textContent = debug; + }; + const setProgress = (progress) => { + if (loadingInner) loadingInner.style.width = progress * 100 + '%'; + }; + const interpolate = (a, b, t) => a + t * (b - a); + + try { + setProgress(0.1); + + const scaffolding = new Scaffolding.Scaffolding(); + scaffolding.width = 480; + scaffolding.height = 360; + scaffolding.resizeMode = "preserve-ratio"; + scaffolding.editableLists = false; + scaffolding.usePackagedRuntime = true; + scaffolding.setup(); + scaffolding.appendTo(appElement); + + const vm = scaffolding.vm; + window.scaffolding = scaffolding; + window.vm = scaffolding.vm; + window.Scratch = { + vm, + renderer: vm.renderer, + audioEngine: vm.runtime.audioEngine, + bitmapAdapter: vm.runtime.v2BitmapAdapter, + videoProvider: vm.runtime.ioDevices.video.provider + }; + + scaffolding.setUsername("player####".replace(/#/g, () => Math.floor(Math.random() * 10))); + scaffolding.setAccentColor("#ff4c4c"); + + try { + ; + } catch (error) { + console.error(error); + } + + vm.setTurboMode(true); + if (vm.setInterpolation) vm.setInterpolation(false); + if (vm.setFramerate) vm.setFramerate(30); + if (vm.renderer.setUseHighQualityRender) vm.renderer.setUseHighQualityRender(false); + if (vm.setRuntimeOptions) vm.setRuntimeOptions({ + fencing: true, + miscLimits: false, + maxClones: 9999999999, + }); + if (vm.setCompilerOptions) vm.setCompilerOptions({ + enabled: true, + warpTimer: false + }); + if (vm.renderer.setMaxTextureDimension) vm.renderer.setMaxTextureDimension(2048); + + if (typeof ScaffoldingAddons !== 'undefined') { + ScaffoldingAddons.run(scaffolding, {"gamepad":false,"pointerlock":false,"specialCloudBehaviors":false,"unsafeCloudBehaviors":false,"pause":false}); + } + + scaffolding.setExtensionSecurityManager({ + getSandboxMode: () => 'unsandboxed', + canLoadExtensionFromProject: () => true + }); + for (const extension of ["data:text/javascript;,(function(Scratch)%20%7B%20%2F%2F%20Name%3A%20Window%20Controls%0A%2F%2F%20ID%3A%20cubesterWindowControls%0A%2F%2F%20Description%3A%20Move%2C%20resize%2C%20rename%20the%20window%2C%20enter%20fullscreen%2C%20get%20screen%20size%2C%20and%20more.%0A%2F%2F%20By%3A%20CubesterYT%20%3Chttps%3A%2F%2Fscratch.mit.edu%2Fusers%2FCubesterYT%2F%3E%0A%2F%2F%20Original%3A%20BlueDome77%0A%2F%2F%20License%3A%20MIT%0A%0A%2F%2F%20Version%20V.1.0.0%0A%0A%2F*%20generated%20l10n%20code%20*%2FScratch.translate.setup(%7B%22de%22%3A%7B%22_Window%20Controls%22%3A%22Fensterkontrolle%22%7D%2C%22it%22%3A%7B%22_Hello%20World!%22%3A%22Ciao%20Mondo%22%2C%22_May%20not%20work%20in%20normal%20browser%20tabs%22%3A%22Potrebbe%20non%20funzionare%20nelle%20normali%20schede%20del%20browser%22%2C%22_Refer%20to%20Documentation%20for%20details%22%3A%22Per%20i%20dettagli%20fare%20riferimento%20alla%20Documetazione%22%2C%22_Window%20Controls%22%3A%22Controlli%20Finestra%22%2C%22_bottom%22%3A%22in%20fondo%22%2C%22_bottom%20left%22%3A%22angolo%20sinistra%20in%20basso%22%2C%22_bottom%20right%22%3A%22angolo%20destra%20in%20basso%22%2C%22_center%22%3A%22centro%22%2C%22_change%20window%20height%20by%20%5BH%5D%22%3A%22cambia%20altezza%20finestra%20di%20%5BH%5D%22%2C%22_change%20window%20width%20by%20%5BW%5D%22%3A%22cambia%20larghezza%20finestra%20di%20%5BW%5D%22%2C%22_change%20window%20x%20by%20%5BX%5D%22%3A%22cambia%20x%20finestra%20di%20%5BX%5D%22%2C%22_change%20window%20y%20by%20%5BY%5D%22%3A%22cambia%20y%20finestra%20di%20%5BY%5D%22%2C%22_close%20window%22%3A%22chiudi%20finestra%22%2C%22_enter%20fullscreen%22%3A%22passa%20a%20schermo%20intero%22%2C%22_exit%20fullscreen%22%3A%22esci%20da%20schermo%20intero%22%2C%22_is%20window%20focused%3F%22%3A%22finestra%20in%20primo%20piano%22%2C%22_is%20window%20fullscreen%3F%22%3A%22la%20finestra%20%C3%A8%20a%20schermo%20intero%22%2C%22_is%20window%20touching%20screen%20edge%3F%22%3A%22la%20finestra%20tocca%20il%20bordo%20dello%20schermo%22%2C%22_left%22%3A%22a%20sinistra%22%2C%22_match%20stage%20size%22%3A%22dimensione%20Stage%22%2C%22_move%20window%20to%20the%20%5BPRESETS%5D%22%3A%22sposta%20finestra%20a%20%5BPRESETS%5D%22%2C%22_move%20window%20to%20x%3A%20%5BX%5D%20y%3A%20%5BY%5D%22%3A%22sposta%20finestra%20a%20x%3A%20%5BX%5D%20y%3A%20%5BY%5D%22%2C%22_random%20position%22%3A%22posizione%20scelta%20a%20caso%22%2C%22_resize%20window%20to%20%5BPRESETS%5D%22%3A%22ridimensiona%20finestra%20a%20%5BPRESETS%5D%22%2C%22_resize%20window%20to%20width%3A%20%5BW%5D%20height%3A%20%5BH%5D%22%3A%22ridimensiona%20finestra%20a%20larghezza%3A%20%5BW%5D%20altezza%3A%20%5BH%5D%22%2C%22_right%22%3A%22a%20destra%22%2C%22_screen%20height%22%3A%22altezza%20schermo%22%2C%22_screen%20width%22%3A%22larghezza%20schermo%22%2C%22_set%20window%20height%20to%20%5BH%5D%22%3A%22porta%20altezza%20finestra%20a%20%5BH%5D%22%2C%22_set%20window%20title%20to%20%5BTITLE%5D%22%3A%22imposta%20titolo%20finestra%20a%20%5BTITLE%5D%22%2C%22_set%20window%20width%20to%20%5BW%5D%22%3A%22porta%20larghezza%20finestra%20a%20%5BW%5D%22%2C%22_set%20window%20x%20to%20%5BX%5D%22%3A%22sposta%20finestra%20a%20x%20%5BX%5D%22%2C%22_set%20window%20y%20to%20%5BY%5D%22%3A%22sposta%20finestra%20a%20y%20%5BY%5D%22%2C%22_top%22%3A%22in%20cima%22%2C%22_top%20left%22%3A%22angolo%20sinistra%20in%20alto%22%2C%22_top%20right%22%3A%22angolo%20destra%20in%20alto%22%2C%22_window%20height%22%3A%22altezza%20finestra%22%2C%22_window%20title%22%3A%22titolo%20finestra%22%2C%22_window%20width%22%3A%22larghezza%20finestra%22%2C%22_window%20x%22%3A%22x%20finestra%22%2C%22_window%20y%22%3A%22y%20finestra%22%2C%22editorConfirmation%22%3A%22Sei%20sicuro%20di%20voler%20chiudere%20questa%20finestra%3F%5Cn%5Cn(Questo%20messaggio%20non%20apparir%C3%A0%20se%20si%20usa%20il%20packager)%22%7D%2C%22ja%22%3A%7B%22_May%20not%20work%20in%20normal%20browser%20tabs%22%3A%22%E9%80%9A%E5%B8%B8%E3%81%AE%E3%83%96%E3%83%A9%E3%82%A6%E3%82%B6%E3%81%AE%E3%82%BF%E3%83%96%E3%81%A7%E3%81%AF%E5%8B%95%E4%BD%9C%E3%81%97%E3%81%AA%E3%81%84%E5%8F%AF%E8%83%BD%E6%80%A7%E3%81%8C%E3%81%82%E3%82%8A%E3%81%BE%E3%81%99%E3%80%82%22%2C%22_Refer%20to%20Documentation%20for%20details%22%3A%22%E8%A9%B3%E3%81%97%E3%81%8F%E3%81%AF%E3%83%89%E3%82%AD%E3%83%A5%E3%83%A1%E3%83%B3%E3%83%88%E3%82%92%E3%81%94%E8%A6%A7%E3%81%8F%E3%81%A0%E3%81%95%E3%81%84%E3%80%82%22%2C%22_Window%20Controls%22%3A%22%E3%82%A6%E3%82%A3%E3%83%B3%E3%83%89%E3%82%A6%E3%82%B3%E3%83%B3%E3%83%88%E3%83%AD%E3%83%BC%E3%83%AB%22%2C%22_change%20window%20x%20by%20%5BX%5D%22%3A%22%E3%82%A6%E3%82%A3%E3%83%B3%E3%83%89%E3%82%A6%E3%81%AEx%E5%BA%A7%E6%A8%99%E3%82%92%5BX%5D%E3%81%9A%E3%81%A4%E5%A4%89%E3%81%88%E3%82%8B%22%2C%22_change%20window%20y%20by%20%5BY%5D%22%3A%22%E3%82%A6%E3%82%A3%E3%83%B3%E3%83%89%E3%82%A6%E3%81%AEy%E5%BA%A7%E6%A8%99%E3%82%92%5BY%5D%E3%81%9A%E3%81%A4%E5%A4%89%E3%81%88%E3%82%8B%22%2C%22_close%20window%22%3A%22%E3%82%A6%E3%82%A3%E3%83%B3%E3%83%89%E3%82%A6%E3%82%92%E9%96%89%E3%81%98%E3%82%8B%22%2C%22_left%22%3A%22%E5%B7%A6%22%2C%22_move%20window%20to%20x%3A%20%5BX%5D%20y%3A%20%5BY%5D%22%3A%22%E3%82%A6%E3%82%A3%E3%83%B3%E3%83%89%E3%82%A6%E3%81%AEx%E5%BA%A7%E6%A8%99%E3%82%92%5BX%5D%E3%80%81y%E5%BA%A7%E6%A8%99%E3%82%92%5BY%5D%E3%81%AB%E3%81%99%E3%82%8B%22%2C%22_right%22%3A%22%E5%8F%B3%22%2C%22_set%20window%20x%20to%20%5BX%5D%22%3A%22%E3%82%A6%E3%82%A3%E3%83%B3%E3%83%89%E3%82%A6%E3%81%AEx%E5%BA%A7%E6%A8%99%E3%82%92%5BX%5D%E3%81%AB%E3%81%99%E3%82%8B%22%2C%22_set%20window%20y%20to%20%5BY%5D%22%3A%22%E3%82%A6%E3%82%A3%E3%83%B3%E3%83%89%E3%82%A6%E3%81%AEy%E5%BA%A7%E6%A8%99%E3%82%92%5BY%5D%E3%81%AB%E3%81%99%E3%82%8B%22%2C%22_window%20x%22%3A%22%E3%82%A6%E3%82%A3%E3%83%B3%E3%83%89%E3%82%A6%20x%22%2C%22_window%20y%22%3A%22%E3%82%A6%E3%82%A3%E3%83%B3%E3%83%89%E3%82%A6%20y%22%7D%2C%22nb%22%3A%7B%22_Hello%20World!%22%3A%22Hei%20verden!%22%2C%22_May%20not%20work%20in%20normal%20browser%20tabs%22%3A%22Kan%20ikke%20fungere%20i%20vanlige%20nettlesertabeller%22%2C%22_Refer%20to%20Documentation%20for%20details%22%3A%22Se%20Dokumentasjonen%20for%20detaljer%22%2C%22_Window%20Controls%22%3A%22Vinduskontroller%22%2C%22_bottom%22%3A%22bunn%22%2C%22_bottom%20left%22%3A%22nederst%20til%20venstre%22%2C%22_bottom%20right%22%3A%22nederst%20til%20h%C3%B8yre%22%2C%22_center%22%3A%22senter%22%2C%22_change%20window%20height%20by%20%5BH%5D%22%3A%22endre%20vindush%C3%B8yden%20med%20%5BH%5D%22%2C%22_change%20window%20width%20by%20%5BW%5D%22%3A%22endre%20vindusbredde%20med%20%5BW%5D%22%2C%22_change%20window%20x%20by%20%5BX%5D%22%3A%22endre%20vinduet%20x%20med%20%5BX%5D%22%2C%22_change%20window%20y%20by%20%5BY%5D%22%3A%22endre%20vinduet%20y%20med%20%5BY%5D%22%2C%22_close%20window%22%3A%22Lukk%20vindu%22%2C%22_enter%20fullscreen%22%3A%22g%C3%A5%20til%20fullskjerm%22%2C%22_exit%20fullscreen%22%3A%22avslutt%20fullskjerm%22%2C%22_is%20window%20focused%3F%22%3A%22er%20vinduet%20fokusert%3F%22%2C%22_is%20window%20fullscreen%3F%22%3A%22er%20vinduet%20i%20fullskjerm%3F%22%2C%22_is%20window%20touching%20screen%20edge%3F%22%3A%22er%20vinduet%20i%20kontakt%20med%20skjermkanten%3F%22%2C%22_left%22%3A%22venstre%22%2C%22_match%20stage%20size%22%3A%22kamp%20scenest%C3%B8rrelse%22%2C%22_move%20window%20to%20the%20%5BPRESETS%5D%22%3A%22flytt%20vinduet%20til%20%5BPRESETS%5D%22%2C%22_move%20window%20to%20x%3A%20%5BX%5D%20y%3A%20%5BY%5D%22%3A%22flytt%20vinduet%20til%20x%3A%20%5BX%5D%20y%3A%20%5BY%5D%22%2C%22_random%20position%22%3A%22tilfeldig%20posisjon%22%2C%22_resize%20window%20to%20%5BPRESETS%5D%22%3A%22endre%20vinduet%20til%20%5BPRESETS%5D%22%2C%22_resize%20window%20to%20width%3A%20%5BW%5D%20height%3A%20%5BH%5D%22%3A%22endre%20vinduet%20til%20bredde%3A%20%5BW%5D%20h%C3%B8yde%3A%20%5BH%5D%22%2C%22_right%22%3A%22h%C3%B8yre%22%2C%22_screen%20height%22%3A%22skjerm%20h%C3%B8yde%22%2C%22_screen%20width%22%3A%22skjerm%20bredde%22%2C%22_set%20window%20height%20to%20%5BH%5D%22%3A%22sett%20vindush%C3%B8yden%20til%20%5BH%5D%22%2C%22_set%20window%20title%20to%20%5BTITLE%5D%22%3A%22sett%20vindustittel%20til%20%5BTITLE%5D%22%2C%22_set%20window%20width%20to%20%5BW%5D%22%3A%22sett%20vindusbredde%20til%20%5BW%5D%22%2C%22_set%20window%20x%20to%20%5BX%5D%22%3A%22sett%20vindu%20x%20til%20%5BX%5D%22%2C%22_set%20window%20y%20to%20%5BY%5D%22%3A%22sett%20vindu%20y%20til%20%5BY%5D%22%2C%22_top%22%3A%22topp%22%2C%22_top%20left%22%3A%22%C3%B8verst%20til%20venstre%22%2C%22_top%20right%22%3A%22%C3%B8verst%20til%20h%C3%B8yre%22%2C%22_window%20height%22%3A%22vindush%C3%B8yde%22%2C%22_window%20title%22%3A%22vindustittel%22%2C%22_window%20width%22%3A%22vindusbredde%22%2C%22_window%20x%22%3A%22vindu%20x%22%2C%22_window%20y%22%3A%22vindu%20y%22%2C%22editorConfirmation%22%3A%22Er%20du%20sikker%20p%C3%A5%20at%20du%20vil%20lukke%20dette%20vinduet%3F%5Cn%5Cn(Denne%20meldingen%20vil%20ikke%20vises%20n%C3%A5r%20prosjektet%20er%20pakket)%22%7D%2C%22nl%22%3A%7B%22_Hello%20World!%22%3A%22Hallo%20Wereld!%22%2C%22_May%20not%20work%20in%20normal%20browser%20tabs%22%3A%22Werkt%20misschien%20niet%20in%20browsers%22%2C%22_Refer%20to%20Documentation%20for%20details%22%3A%22Lees%20documentatie%20voor%20details%22%2C%22_Window%20Controls%22%3A%22Vensterbesturing%22%2C%22_bottom%22%3A%22onder%22%2C%22_bottom%20left%22%3A%22linksonder%22%2C%22_bottom%20right%22%3A%22rechtsonder%22%2C%22_center%22%3A%22midden%22%2C%22_change%20window%20height%20by%20%5BH%5D%22%3A%22verander%20vensterhoogte%20met%20%5BH%5D%22%2C%22_change%20window%20width%20by%20%5BW%5D%22%3A%22verander%20vensterbreedte%20met%20%5BW%5D%22%2C%22_change%20window%20x%20by%20%5BX%5D%22%3A%22verander%20venster-x%20met%20%5BX%5D%22%2C%22_change%20window%20y%20by%20%5BY%5D%22%3A%22verander%20venster-y%20met%20%5BY%5D%22%2C%22_close%20window%22%3A%22sluit%20venster%22%2C%22_enter%20fullscreen%22%3A%22schakel%20volledig%20scherm%20in%22%2C%22_exit%20fullscreen%22%3A%22schakel%20volledig%20scherm%20uit%22%2C%22_is%20window%20focused%3F%22%3A%22venster%20gefocust%3F%22%2C%22_is%20window%20fullscreen%3F%22%3A%22venster%20in%20volledig%20scherm%3F%22%2C%22_is%20window%20touching%20screen%20edge%3F%22%3A%22venster%20raakt%20schermrand%20aan%3F%22%2C%22_left%22%3A%22links%22%2C%22_match%20stage%20size%22%3A%22maak%20venstergrootte%20gelijk%20aan%20speelveldgrootte%22%2C%22_move%20window%20to%20the%20%5BPRESETS%5D%22%3A%22verplaats%20venster%20naar%20%5BPRESETS%5D%22%2C%22_move%20window%20to%20x%3A%20%5BX%5D%20y%3A%20%5BY%5D%22%3A%22verplaats%20venster%20naar%20x%3A%20%5BX%5D%20y%3A%20%5BY%5D%22%2C%22_random%20position%22%3A%22willekeurige%20positie%22%2C%22_resize%20window%20to%20%5BPRESETS%5D%22%3A%22maak%20venstergrootte%20%5BPRESETS%5D%22%2C%22_resize%20window%20to%20width%3A%20%5BW%5D%20height%3A%20%5BH%5D%22%3A%22maak%20vensterbreedte%20%5BW%5D%20en%20-hoogte%20%5BH%5D%22%2C%22_right%22%3A%22rechts%22%2C%22_screen%20height%22%3A%22schermhoogte%22%2C%22_screen%20width%22%3A%22schermbreedte%22%2C%22_set%20window%20height%20to%20%5BH%5D%22%3A%22maak%20vensterhoogte%20%5BH%5D%22%2C%22_set%20window%20title%20to%20%5BTITLE%5D%22%3A%22maak%20venstertitel%20%5BTITLE%5D%22%2C%22_set%20window%20width%20to%20%5BW%5D%22%3A%22maak%20vensterbreedte%20%5BW%5D%22%2C%22_set%20window%20x%20to%20%5BX%5D%22%3A%22maak%20venster-x%20%5BX%5D%22%2C%22_set%20window%20y%20to%20%5BY%5D%22%3A%22maak%20venster-y%20%5BY%5D%22%2C%22_top%22%3A%22boven%22%2C%22_top%20left%22%3A%22linksboven%22%2C%22_top%20right%22%3A%22rechtsboven%22%2C%22_window%20height%22%3A%22vensterhoogte%22%2C%22_window%20title%22%3A%22venstertitel%22%2C%22_window%20width%22%3A%22vensterbreedte%22%2C%22_window%20x%22%3A%22venster-x%22%2C%22_window%20y%22%3A%22venster-y%22%2C%22editorConfirmation%22%3A%22Weet%20je%20zeker%20dat%20je%20dit%20venster%20wilt%20sluiten%3F%5Cn%5Cn(Dit%20bericht%20wordt%20niet%20weergegeven%20wanneer%20het%20project%20gepackaged%20is)%22%7D%2C%22ru%22%3A%7B%22_Hello%20World!%22%3A%22%D0%9F%D1%80%D0%B8%D0%B2%D0%B5%D1%82%20%D0%9C%D0%B8%D1%80!%22%2C%22_May%20not%20work%20in%20normal%20browser%20tabs%22%3A%22%D0%9C%D0%BE%D0%B6%D0%B5%D1%82%20%D0%BD%D0%B5%20%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%B0%D1%82%D1%8C%20%D0%BD%D0%B0%20%D0%BE%D0%B1%D1%8B%D1%87%D0%BD%D1%8B%D1%85%20%D0%B2%D0%BA%D0%BB%D0%B0%D0%B4%D0%BA%D0%B0%D1%85%20%D0%B1%D1%80%D0%B0%D1%83%D0%B7%D0%B5%D1%80%D0%B0%22%2C%22_Refer%20to%20Documentation%20for%20details%22%3A%22%D0%9F%D0%BE%D0%B4%D1%80%D0%BE%D0%B1%D0%BD%D0%BE%D1%81%D1%82%D0%B8%20%D1%81%D0%BC.%20%D0%B2%20%D0%B4%D0%BE%D0%BA%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D0%B0%D1%86%D0%B8%D0%B8%22%2C%22_Window%20Controls%22%3A%22%D0%9A%D0%BE%D0%BD%D1%82%D1%80%D0%BE%D0%BB%D1%8C%20%D0%9E%D0%BA%D0%BD%D0%B0%22%2C%22_bottom%22%3A%22%D0%BD%D0%B8%D0%B7%22%2C%22_bottom%20left%22%3A%22%D0%BD%D0%B8%D0%B6%D0%BD%D0%B5%D0%BC%20%D0%BB%D0%B5%D0%B2%D0%BE%D0%BC%20%D1%83%D0%B3%D0%BB%D1%83%22%2C%22_bottom%20right%22%3A%22%D0%BD%D0%B8%D0%B6%D0%BD%D0%B5%D0%BC%20%D0%BF%D1%80%D0%B0%D0%B2%D0%BE%D0%BC%20%D1%83%D0%B3%D0%BB%D1%83%22%2C%22_center%22%3A%22%D1%86%D0%B5%D0%BD%D1%82%D1%80%D1%83%22%2C%22_change%20window%20height%20by%20%5BH%5D%22%3A%22%D0%B8%D0%B7%D0%BC%D0%B5%D0%BD%D0%B8%D1%82%D1%8C%20%D0%B2%D1%8B%D1%81%D0%BE%D1%82%D1%83%20%D0%BE%D0%BA%D0%BD%D0%B0%20%D0%BD%D0%B0%20%5BH%5D%22%2C%22_change%20window%20width%20by%20%5BW%5D%22%3A%22%D0%B8%D0%B7%D0%BC%D0%B5%D0%BD%D0%B8%D1%82%D1%8C%20%D1%88%D0%B8%D1%80%D0%B8%D0%BD%D1%83%20%D0%BE%D0%BA%D0%BD%D0%B0%20%D0%BD%D0%B0%20%5BW%5D%22%2C%22_change%20window%20x%20by%20%5BX%5D%22%3A%22%D0%B8%D0%B7%D0%BC%D0%B5%D0%BD%D0%B8%D1%82%D1%8C%20x%20%D0%BE%D0%BA%D0%BD%D0%B0%20%D0%BD%D0%B0%20%5BX%5D%22%2C%22_change%20window%20y%20by%20%5BY%5D%22%3A%22%D0%B8%D0%B7%D0%BC%D0%B5%D0%BD%D0%B8%D1%82%D1%8C%20y%20%D0%BE%D0%BA%D0%BD%D0%B0%20%D0%BD%D0%B0%20%5BY%5D%22%2C%22_close%20window%22%3A%22%D0%B7%D0%B0%D0%BA%D1%80%D1%8B%D1%82%D1%8C%20%D0%BE%D0%BA%D0%BD%D0%BE%22%2C%22_enter%20fullscreen%22%3A%22%D0%B2%D0%BE%D0%B9%D1%82%D0%B8%20%D0%B2%20%D0%BF%D0%BE%D0%BB%D0%BD%D0%BE%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%BD%D1%8B%D0%B9%20%D1%80%D0%B5%D0%B6%D0%B8%D0%BC%22%2C%22_exit%20fullscreen%22%3A%22%D0%B2%D1%8B%D0%B9%D1%82%D0%B8%20%D0%B8%D0%B7%20%D0%BF%D0%BE%D0%BB%D0%BD%D0%BE%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%BD%D0%BE%D0%B3%D0%BE%20%D1%80%D0%B5%D0%B6%D0%B8%D0%BC%D0%B0%22%2C%22_is%20window%20focused%3F%22%3A%22%D1%81%D1%84%D0%BE%D0%BA%D1%83%D1%81%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%BE%20%D0%BE%D0%BA%D0%BD%D0%BE%3F%22%2C%22_is%20window%20fullscreen%3F%22%3A%22%D0%BE%D0%BA%D0%BD%D0%BE%20%D0%BF%D0%BE%D0%BB%D0%BD%D0%BE%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%BD%D0%BE%3F%22%2C%22_is%20window%20touching%20screen%20edge%3F%22%3A%22%D0%BA%D0%B0%D1%81%D0%B0%D0%B5%D1%82%D1%81%D1%8F%20%D0%BE%D0%BA%D0%BD%D0%BE%20%D0%BA%D1%80%D0%B0%D1%8F%20%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%B0%3F%22%2C%22_left%22%3A%22%D0%BB%D0%B5%D0%B2%D0%BE%D0%BC%D1%83%20%D0%BA%D1%80%D0%B0%D1%8E%22%2C%22_match%20stage%20size%22%3A%22%D1%81%D0%BE%D0%BE%D1%82%D0%B2%D0%B5%D1%82%D1%81%D1%82%D0%B2%D0%BE%D0%B2%D0%B0%D1%82%D1%8C%20%D1%80%D0%B0%D0%B7%D0%BC%D0%B5%D1%80%D1%83%20%D1%81%D1%86%D0%B5%D0%BD%D1%8B%22%2C%22_move%20window%20to%20the%20%5BPRESETS%5D%22%3A%22%D0%B4%D0%B2%D0%B8%D0%BD%D1%83%D1%82%D1%8C%20%D0%BE%D0%BA%D0%BD%D0%BE%20%D0%B2%20%5BPRESETS%5D%22%2C%22_move%20window%20to%20x%3A%20%5BX%5D%20y%3A%20%5BY%5D%22%3A%22%D0%B4%D0%B2%D0%B8%D0%BD%D1%83%D1%82%D1%8C%20%D0%BE%D0%BA%D0%BD%D0%BE%20%D0%BD%D0%B0%20x%3A%20%5BX%5D%20y%3A%20%5BY%5D%22%2C%22_random%20position%22%3A%22%D1%81%D0%BB%D1%83%D1%87%D0%B0%D0%B9%D0%BD%D0%B0%D1%8F%20%D0%BF%D0%BE%D0%B7%D0%B8%D1%86%D0%B8%D1%8F%22%2C%22_resize%20window%20to%20%5BPRESETS%5D%22%3A%22%D0%B8%D0%B7%D0%BC%D0%B5%D0%BD%D0%B8%D1%82%D1%8C%20%D1%80%D0%B0%D0%B7%D0%BC%D0%B5%D1%80%20%D0%BE%D0%BA%D0%BD%D0%B0%20%D0%BD%D0%B0%20%5BPRESETS%5D%22%2C%22_resize%20window%20to%20width%3A%20%5BW%5D%20height%3A%20%5BH%5D%22%3A%22%D0%B8%D0%B7%D0%BC%D0%B5%D0%BD%D0%B8%D1%82%D1%8C%20%D1%80%D0%B0%D0%B7%D0%BC%D0%B5%D1%80%20%D0%BE%D0%BA%D0%BD%D0%B0%20%D0%BD%D0%B0%20%D1%88%D0%B8%D1%80%D0%B8%D0%BD%D1%83%3A%20%5BW%5D%20%D0%B2%D1%8B%D1%81%D0%BE%D1%82%D1%83%3A%20%5BH%5D%22%2C%22_right%22%3A%22%D0%BF%D1%80%D0%B0%D0%B2%D0%BE%D0%BC%D1%83%20%D0%BA%D1%80%D0%B0%D1%8E%22%2C%22_screen%20height%22%3A%22%D0%B2%D1%8B%D1%81%D0%BE%D1%82%D0%B0%20%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%B0%22%2C%22_screen%20width%22%3A%22%D1%88%D0%B8%D1%80%D0%B8%D0%BD%D0%B0%20%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%B0%22%2C%22_set%20window%20height%20to%20%5BH%5D%22%3A%22%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%B8%D1%82%D1%8C%20%D0%B2%D1%8B%D1%81%D0%BE%D1%82%D1%83%20%D0%BE%D0%BA%D0%BD%D0%B0%20%D0%BD%D0%B0%20%5BH%5D%22%2C%22_set%20window%20title%20to%20%5BTITLE%5D%22%3A%22%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%B8%D1%82%D1%8C%20%D0%BD%D0%B0%D0%B7%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5%20%D0%BE%D0%BA%D0%BD%D0%B0%20%D0%BD%D0%B0%20%5BTITLE%5D%22%2C%22_set%20window%20width%20to%20%5BW%5D%22%3A%22%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%B8%D1%82%D1%8C%20%D1%88%D0%B8%D1%80%D0%B8%D0%BD%D1%83%20%D0%BE%D0%BA%D0%BD%D0%B0%20%D0%BD%D0%B0%20%5BW%5D%22%2C%22_set%20window%20x%20to%20%5BX%5D%22%3A%22%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%B8%D1%82%D1%8C%20x%20%D0%BE%D0%BA%D0%BD%D0%B0%20%D0%BD%D0%B0%20%5BX%5D%22%2C%22_set%20window%20y%20to%20%5BY%5D%22%3A%22%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%B8%D1%82%D1%8C%20y%20%D0%BE%D0%BA%D0%BD%D0%B0%20%D0%BD%D0%B0%20%5BY%5D%22%2C%22_top%22%3A%22%D0%B2%D0%B5%D1%80%D1%85%22%2C%22_top%20left%22%3A%22%D0%B2%D0%B5%D1%80%D1%85%D0%BD%D0%B5%D0%BC%20%D0%BB%D0%B5%D0%B2%D0%BE%D0%BC%20%D1%83%D0%B3%D0%BB%D1%83%22%2C%22_top%20right%22%3A%22%D0%B2%D0%B5%D1%80%D1%85%D0%BD%D0%B5%D0%BC%20%D0%BF%D1%80%D0%B0%D0%B2%D0%BE%D0%BC%20%D1%83%D0%B3%D0%BB%D1%83%22%2C%22_window%20height%22%3A%22%D0%B2%D1%8B%D1%81%D0%BE%D1%82%D0%B0%20%D0%BE%D0%BA%D0%BD%D0%B0%22%2C%22_window%20title%22%3A%22%D0%BD%D0%B0%D0%B7%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5%20%D0%BE%D0%BA%D0%BD%D0%B0%22%2C%22_window%20width%22%3A%22%D1%88%D0%B8%D1%80%D0%B8%D0%BD%D0%B0%20%D0%BE%D0%BA%D0%BD%D0%B0%22%2C%22_window%20x%22%3A%22x%20%D0%BE%D0%BA%D0%BD%D0%B0%22%2C%22_window%20y%22%3A%22y%20%D0%BE%D0%BA%D0%BD%D0%B0%22%2C%22editorConfirmation%22%3A%22%D0%92%D1%8B%20%D1%83%D0%B2%D0%B5%D1%80%D0%B5%D0%BD%D1%8B%2C%20%D1%87%D1%82%D0%BE%20%D1%85%D0%BE%D1%82%D0%B8%D1%82%D0%B5%20%D0%B7%D0%B0%D0%BA%D1%80%D1%8B%D1%82%D1%8C%20%D1%8D%D1%82%D0%BE%20%D0%BE%D0%BA%D0%BD%D0%BE%3F%5Cn%5Cn(%D0%AD%D1%82%D0%BE%20%D1%81%D0%BE%D0%BE%D0%B1%D1%89%D0%B5%D0%BD%D0%B8%D0%B5%20%D0%BD%D0%B5%20%D0%BF%D0%BE%D1%8F%D0%B2%D0%B8%D1%82%D1%81%D1%8F%20%D0%BF%D1%80%D0%B8%20%D1%83%D0%BF%D0%B0%D0%BA%D0%BE%D0%B2%D0%BA%D0%B5%20%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82%D0%B0)%22%7D%2C%22tr%22%3A%7B%22_Window%20Controls%22%3A%22Pencere%20Kontrolleri%22%7D%2C%22zh-cn%22%3A%7B%22_Hello%20World!%22%3A%22%E4%BD%A0%E5%A5%BD%E4%B8%96%E7%95%8C%EF%BC%81%22%2C%22_May%20not%20work%20in%20normal%20browser%20tabs%22%3A%22%E5%8F%AF%E8%83%BD%E6%97%A0%E6%B3%95%E6%AD%A3%E5%B8%B8%E8%BF%90%E8%A1%8C%22%2C%22_Refer%20to%20Documentation%20for%20details%22%3A%22%E5%85%B7%E4%BD%93%E4%BF%A1%E6%81%AF%E5%8F%82%E8%80%83%E6%96%87%E6%A1%A3%22%2C%22_Window%20Controls%22%3A%22%E7%BD%91%E9%A1%B5%E6%8E%A7%E5%88%B6%22%2C%22_bottom%22%3A%22%E5%BA%95%E9%83%A8%22%2C%22_bottom%20left%22%3A%22%E5%BA%95%E9%83%A8%E5%B7%A6%E4%BE%A7%22%2C%22_bottom%20right%22%3A%22%E5%BA%95%E9%83%A8%E5%8F%B3%E4%BE%A7%22%2C%22_center%22%3A%22%E5%B1%85%E4%B8%AD%22%2C%22_change%20window%20height%20by%20%5BH%5D%22%3A%22%E9%A1%B5%E9%9D%A2%E7%9A%84%E9%AB%98%E5%A2%9E%E5%8A%A0%5BH%5D%22%2C%22_change%20window%20width%20by%20%5BW%5D%22%3A%22%E9%A1%B5%E9%9D%A2%E7%9A%84%E5%AE%BD%E5%A2%9E%E5%8A%A0%5BW%5D%22%2C%22_change%20window%20x%20by%20%5BX%5D%22%3A%22%E9%A1%B5%E9%9D%A2%E7%9A%84x%E5%9D%90%E6%A0%87%E5%A2%9E%E5%8A%A0%5BX%5D%22%2C%22_change%20window%20y%20by%20%5BY%5D%22%3A%22%E9%A1%B5%E9%9D%A2%E7%9A%84y%E5%9D%90%E6%A0%87%E5%A2%9E%E5%8A%A0%5BY%5D%22%2C%22_close%20window%22%3A%22%E5%85%B3%E9%97%AD%E7%AA%97%E5%8F%A3%22%2C%22_enter%20fullscreen%22%3A%22%E8%BF%9B%E5%85%A5%E5%85%A8%E5%B1%8F%22%2C%22_exit%20fullscreen%22%3A%22%E9%80%80%E5%87%BA%E5%85%A8%E5%B1%8F%22%2C%22_is%20window%20focused%3F%22%3A%22%E9%A1%B5%E9%9D%A2%E5%9C%A8%E8%A2%AB%E4%BD%BF%E7%94%A8%E5%90%97%EF%BC%9F%22%2C%22_is%20window%20fullscreen%3F%22%3A%22%E9%A1%B5%E9%9D%A2%E5%85%A8%E5%B1%8F%E5%90%97%EF%BC%9F%22%2C%22_is%20window%20touching%20screen%20edge%3F%22%3A%22%E9%A1%B5%E9%9D%A2%E6%8E%A5%E8%A7%A6%E5%88%B0%E5%B1%8F%E5%B9%95%E8%BE%B9%E7%BC%98%E5%90%97%EF%BC%9F%22%2C%22_left%22%3A%22%E5%B1%85%E5%B7%A6%22%2C%22_match%20stage%20size%22%3A%22%E5%8C%B9%E9%85%8D%E8%88%9E%E5%8F%B0%E5%A4%A7%E5%B0%8F%22%2C%22_move%20window%20to%20the%20%5BPRESETS%5D%22%3A%22%E7%A7%BB%E5%8A%A8%E9%A1%B5%E9%9D%A2%E5%88%B0%5BPRESETS%5D%22%2C%22_move%20window%20to%20x%3A%20%5BX%5D%20y%3A%20%5BY%5D%22%3A%22%E7%A7%BB%E5%8A%A8%E9%A1%B5%E9%9D%A2%E5%88%B0x%5BX%5D%20y%5BY%5D%22%2C%22_random%20position%22%3A%22%E9%9A%8F%E6%9C%BA%E4%BD%8D%E7%BD%AE%22%2C%22_resize%20window%20to%20%5BPRESETS%5D%22%3A%22%E6%94%B9%E5%8F%98%E9%A1%B5%E9%9D%A2%E7%9A%84%E5%A4%A7%E5%B0%8F%E4%B8%BA%5BPRESETS%5D%22%2C%22_resize%20window%20to%20width%3A%20%5BW%5D%20height%3A%20%5BH%5D%22%3A%22%E6%94%B9%E5%8F%98%E9%A1%B5%E9%9D%A2%E7%9A%84%E5%A4%A7%E5%B0%8F%E4%B8%BA%E5%AE%BD%5BW%5D%E9%AB%98%5BH%5D%22%2C%22_right%22%3A%22%E5%B1%85%E5%8F%B3%22%2C%22_screen%20height%22%3A%22%E5%B1%8F%E5%B9%95%E9%AB%98%E5%BA%A6%22%2C%22_screen%20width%22%3A%22%E5%B1%8F%E5%B9%95%E5%AE%BD%E5%BA%A6%22%2C%22_set%20window%20height%20to%20%5BH%5D%22%3A%22%E8%AE%BE%E7%BD%AE%E9%A1%B5%E9%9D%A2%E7%9A%84%E9%AB%98%E4%B8%BA%5BH%5D%22%2C%22_set%20window%20title%20to%20%5BTITLE%5D%22%3A%22%E8%AE%BE%E7%BD%AE%E9%A1%B5%E9%9D%A2%E6%A0%87%E9%A2%98%E4%B8%BA%5BTITLE%5D%22%2C%22_set%20window%20width%20to%20%5BW%5D%22%3A%22%E8%AE%BE%E7%BD%AE%E9%A1%B5%E9%9D%A2%E7%9A%84%E5%AE%BD%E4%B8%BA%5BW%5D%22%2C%22_set%20window%20x%20to%20%5BX%5D%22%3A%22%E8%AE%BE%E7%BD%AE%E9%A1%B5%E9%9D%A2%E7%9A%84x%E5%9D%90%E6%A0%87%E4%B8%BA%5BX%5D%22%2C%22_set%20window%20y%20to%20%5BY%5D%22%3A%22%E8%AE%BE%E7%BD%AE%E9%A1%B5%E9%9D%A2%E7%9A%84y%E5%9D%90%E6%A0%87%E4%B8%BA%5BY%5D%22%2C%22_top%22%3A%22%E9%A1%B6%E9%83%A8%22%2C%22_top%20left%22%3A%22%E9%A1%B6%E9%83%A8%E5%B7%A6%E4%BE%A7%22%2C%22_top%20right%22%3A%22%E9%A1%B6%E9%83%A8%E5%8F%B3%E4%BE%A7%22%2C%22_window%20height%22%3A%22%E9%A1%B5%E9%9D%A2%E9%AB%98%E5%BA%A6%22%2C%22_window%20title%22%3A%22%E9%A1%B5%E9%9D%A2%E6%A0%87%E9%A2%98%22%2C%22_window%20width%22%3A%22%E9%A1%B5%E9%9D%A2%E5%AE%BD%E5%BA%A6%22%2C%22_window%20x%22%3A%22%E9%A1%B5%E9%9D%A2%E4%B8%AD%E5%BF%83%E7%9A%84x%E5%9D%90%E6%A0%87%22%2C%22_window%20y%22%3A%22%E9%A1%B5%E9%9D%A2%E4%B8%AD%E5%BF%83%E7%9A%84y%E5%9D%90%E6%A0%87%22%2C%22editorConfirmation%22%3A%22%E4%BD%A0%E7%A1%AE%E5%AE%9A%E5%85%B3%E9%97%AD%E9%A1%B5%E9%9D%A2%E5%90%97%EF%BC%9F%5Cn%5Cn%EF%BC%88%E6%89%93%E5%8C%85%E4%BD%9C%E5%93%81%E5%B9%B6%E4%B8%8D%E4%BC%9A%E6%98%BE%E7%A4%BA%E6%AD%A4%E6%B6%88%E6%81%AF%EF%BC%89%22%7D%7D)%3B%2F*%20end%20generated%20l10n%20code%20*%2F(function%20(Scratch)%20%7B%0A%20%20%22use%20strict%22%3B%0A%0A%20%20const%20icon%20%3D%0A%20%20%20%20%22data%3Aimage%2Fpng%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAAEAAAABACAMAAACdt4HsAAAA0GVYSWZJSSoACAAAAAoAAAEEAAEAAABAAAAAAQEEAAEAAABAAAAAAgEDAAMAAACGAAAAEgEDAAEAAAABAAAAGgEFAAEAAACMAAAAGwEFAAEAAACUAAAAKAEDAAEAAAACAAAAMQECAA0AAACcAAAAMgECABQAAACqAAAAaYcEAAEAAAC%2BAAAAAAAAAAgACAAIAEgAAAABAAAASAAAAAEAAABHSU1QIDIuMTAuMzQAADIwMjM6MDg6MTUgMjI6MjU6MTcAAQABoAMAAQAAAAEAAAAAAAAA%2BKkp0wAAAYRpQ0NQSUNDIHByb2ZpbGUAAHicfZE9SMNAHMVfW6VFKgp2KOKQoTpZKCriqFUoQoVQK7TqYHLpFzRpSFJcHAXXgoMfi1UHF2ddHVwFQfADxNXFSdFFSvxfUmgR48FxP97de9y9A%2FzNKlPNngSgapaRSSWFXH5VCL4ihEEEEEVCYqY%2BJ4ppeI6ve%2Fj4ehfnWd7n%2Fhz9SsFkgE8gnmW6YRFvEE9vWjrnfeIIK0sK8TnxuEEXJH7kuuzyG%2BeSw36eGTGymXniCLFQ6mK5i1nZUImniGOKqlG%2BP%2BeywnmLs1qts%2FY9%2BQvDBW1lmes0R5DCIpYgQoCMOiqowkKcVo0UExnaT3r4hx2%2FSC6ZXBUwciygBhWS4wf%2Fg9%2FdmsXJCTcpnAR6X2z7YxQI7gKthm1%2FH9t26wQIPANXWsdfawIzn6Q3OlrsCBjYBi6uO5q8B1zuANEnXTIkRwrQ9BeLwPsZfVMeGLoF%2Btbc3tr7OH0AstRV%2BgY4OATGSpS97vHuUHdv%2F55p9%2FcDaOdyoyaJtEEAAA14aVRYdFhNTDpjb20uYWRvYmUueG1wAAAAAAA8P3hwYWNrZXQgYmVnaW49Iu%2B7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI%2FPgo8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJYTVAgQ29yZSA0LjQuMC1FeGl2MiI%2BCiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgIHhtbG5zOnN0RXZ0PSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VFdmVudCMiCiAgICB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iCiAgICB4bWxuczpHSU1QPSJodHRwOi8vd3d3LmdpbXAub3JnL3htcC8iCiAgICB4bWxuczp0aWZmPSJodHRwOi8vbnMuYWRvYmUuY29tL3RpZmYvMS4wLyIKICAgIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIKICAgeG1wTU06RG9jdW1lbnRJRD0iZ2ltcDpkb2NpZDpnaW1wOmVkNmVmMzUwLWVjZDAtNGIwZC1iZjVlLTUxOTVkZjI4YzRhYiIKICAgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpmN2Y5ODViOC0yMjg3LTQxNmQtOTFjMC0zNTY3ZmQ1ZjhmMjAiCiAgIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDplMzk3YTJiMC0zNDJjLTQ3MWMtYmQzNi0wNjExMTI2MDQwZmEiCiAgIGRjOkZvcm1hdD0iaW1hZ2UvcG5nIgogICBHSU1QOkFQST0iMi4wIgogICBHSU1QOlBsYXRmb3JtPSJMaW51eCIKICAgR0lNUDpUaW1lU3RhbXA9IjE2OTIxNTYzMTc3MjY0NjciCiAgIEdJTVA6VmVyc2lvbj0iMi4xMC4zNCIKICAgdGlmZjpPcmllbnRhdGlvbj0iMSIKICAgeG1wOkNyZWF0b3JUb29sPSJHSU1QIDIuMTAiCiAgIHhtcDpNZXRhZGF0YURhdGU9IjIwMjM6MDg6MTVUMjI6MjU6MTctMDU6MDAiCiAgIHhtcDpNb2RpZnlEYXRlPSIyMDIzOjA4OjE1VDIyOjI1OjE3LTA1OjAwIj4KICAgPHhtcE1NOkhpc3Rvcnk%2BCiAgICA8cmRmOlNlcT4KICAgICA8cmRmOmxpCiAgICAgIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiCiAgICAgIHN0RXZ0OmNoYW5nZWQ9Ii8iCiAgICAgIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6MzlmYmE1ZjAtZmE4OC00M2ZjLTgyMjQtMGIwYjlhMGRkZDkyIgogICAgICBzdEV2dDpzb2Z0d2FyZUFnZW50PSJHaW1wIDIuMTAgKExpbnV4KSIKICAgICAgc3RFdnQ6d2hlbj0iMjAyMy0wOC0xNVQyMjoyNToxNy0wNTowMCIvPgogICAgPC9yZGY6U2VxPgogICA8L3htcE1NOkhpc3Rvcnk%2BCiAgPC9yZGY6RGVzY3JpcHRpb24%2BCiA8L3JkZjpSREY%2BCjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgCjw%2FeHBhY2tldCBlbmQ9InciPz45jkSCAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH5wgQAxkRVAqqdwAAAchQTFRFAAAAGn%2ByG4CyHICzHX2yHYC1GoC0Gn%2ByGn%2BzGoCzG3%2BzG3%2B0G4CzHICzHIC0HIGzG3%2BzG4CzG3%2BzG3%2BzG3%2BzG3%2BzG3%2BzG3%2BzG3%2BzG3%2BzG3%2BzG3%2BzG3%2BzG3%2BzG3%2BzG3%2BzG3%2BzG3%2BzG3%2BzG3%2BzG3%2BzG3%2BzG3%2BzG3%2BzG3%2BzG3%2BzG3%2BzHIC0HIC0G3%2BzHIC0G3%2BzG3%2BzHoK2IIS5IYW5I4e8JIi9JYm%2BJou%2FJovAJ4zBKpDFLJLHLpXKMJjNMZnOMZnPMpnPM5vQM5vRNJzSNJ3TNZ7UNp%2FUN5%2FUOJ%2FUOZ%2FVO6DVPqHVQ6HVRqLWR6PWSKPWSaPWX6rYbK%2Fabq%2Fab7DadrPbd7Pce7Tcgbfdgbjdgrjdhrrfh7rfibvfirzfi7zfjLzfjLzgjb3gjr3gjr7gj77gkL7gkb%2FglMDhnMTjncTjoMfkosfko8jkpMjlpcnlsc%2Fns9HotNHoutXqvtbrv9frwNfswNjsxNrtzN%2Fvzd%2FvzeDvzeDwzuDwzuHw0eLw0uPx1uXy2Oby2Ofy2efz2%2Bjz3ur04u324%2B725O727vT57%2FX68Pb68fb68vb78vf78%2Ff68%2Ff79vn8%2Bfv9%2B%2Fz%2B%2FP3%2B%2Ff7%2B%2F%2F%2F%2FxM3NqwAAADF0Uk5TAAEBAQEBAgMDAwMDAwMDAwgIEBEcJjlUXV5panOEhY2Qra6vt8bO2Nri4%2Bzx9PT8%2FcI6cjwAAAABYktHRJfmbhuvAAAC10lEQVRYw7WX51%2FTUBSGr4KIiIoILaMT6LDL7pG2oSPHDW4FBwpO3CiCigP3QgUB77%2FrbdOkCaTkpsH3Qz7c5Dy%2FJPeec96DUA11GM12p8cfDPo9TrvZ2IG0aIvB6grFmQxb4AC4Apth4iGX1bCNMrzd5I4wLKwRy0TcpnaK8H0WXzILisomfRY1xM4ebyoPNZVPeXubNorvdEQHYUMNRh2dteO7AmlQVTrQXSN8ty2cAwrlwrZmpfi2vlgRqFSM9bcpxA8kOKAUlxhYR2juS4AGJfpb1wBsMQ6G7r94S6FX904AF7PJ47vDRZj4hSn1cxyK4S7Z%2FgdyML6CqbUyDrmA5Dy0OtIwtIDx6vyTx6qaml%2FFeGEI0o7qZvZEAe6S%2BDG6P3iFECYBor1i%2FnjJ%2BZ3B%2BB3tHnzAeJqcaq%2BQWZYUlAEzABc%2Bvxk%2B%2FvzLJbjz7emhmgD%2BWUhZKvnvy4uLnzB%2BdAvjr0e%2BY3xODZD38a9gSlYXn%2BG%2Fl8%2Bu4JcHP%2BI%2Fp9QAkDSV4re6s9XFw9fOA5y5eQxO3j4NqoCsu5EADBHZIo3EZyMGArAywuLsUUrNCgDGSgAuVgAsL1a0xF%2FlEm8uLS4LANZF6n9IfC0tqnxuqAMZ43oAcSMyMyJg7uIo0QjRqIJGqpoTAYwZ2TNQ%2Fy5Axo6crB4A60Segh5AwYP8nB4A50dB0AOAA3oBQf2foPsn6t5G3QdJcpTrAJCjLEmmOgAkmSTpXAeApLOkoGgHlAqKpKRpB5RLmu6i2igt69oAfFmXNRZtAL6xyFqbJoDQ2qTNVRNAaK58e5%2FG%2BH297b1sMCbpDcbVtQYDNYsWZ4rS4vwoWZwmucma0GKyxuQmi7d516lt3u8bxOZ1rzeaww%2BpjObrBwpGE%2B3QanW3b7bZ1mb3%2B%2FYqDQwt9ANHi76Rp%2Bv%2FDV0I7VId%2B3r2qM2t%2BgbPTRh9S2pQHr4bNE3w1fF%2F%2F4bj%2Fz8IjCsoNvb7bgAAAABJRU5ErkJggg%3D%3D%22%3B%0A%0A%20%20function%20getRandomInt(min%2C%20max)%20%7B%0A%20%20%20%20min%20%3D%20Math.ceil(min)%3B%0A%20%20%20%20max%20%3D%20Math.floor(max)%3B%0A%20%20%20%20return%20Math.floor(Math.random()%20*%20(max%20-%20min%20%2B%201))%20%2B%20min%3B%0A%20%20%7D%0A%0A%20%20class%20WindowControls%20%7B%0A%20%20%20%20getInfo()%20%7B%0A%20%20%20%20%20%20return%20%7B%0A%20%20%20%20%20%20%20%20id%3A%20%22cubesterWindowControls%22%2C%0A%20%20%20%20%20%20%20%20name%3A%20Scratch.translate(%22Window%20Controls%22)%2C%0A%20%20%20%20%20%20%20%20color1%3A%20%22%23359ed4%22%2C%0A%20%20%20%20%20%20%20%20color2%3A%20%22%23298ec2%22%2C%0A%20%20%20%20%20%20%20%20color3%3A%20%22%232081b3%22%2C%0A%20%20%20%20%20%20%20%20menuIconURI%3A%20icon%2C%0A%20%20%20%20%20%20%20%20docsURI%3A%20%22https%3A%2F%2Fextensions.turbowarp.org%2FCubesterYT%2FWindowControls%22%2C%0A%0A%20%20%20%20%20%20%20%20blocks%3A%20%5B%0A%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.LABEL%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22May%20not%20work%20in%20normal%20browser%20tabs%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.LABEL%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22Refer%20to%20Documentation%20for%20details%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22moveTo%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.COMMAND%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22move%20window%20to%20x%3A%20%5BX%5D%20y%3A%20%5BY%5D%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20arguments%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20X%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.NUMBER%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20%220%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20Y%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.NUMBER%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20%220%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22moveToPresets%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.COMMAND%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22move%20window%20to%20the%20%5BPRESETS%5D%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20arguments%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20PRESETS%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.STRING%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20menu%3A%20%22MOVE%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22changeX%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.COMMAND%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22change%20window%20x%20by%20%5BX%5D%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20arguments%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20X%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.NUMBER%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20%2250%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22setX%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.COMMAND%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22set%20window%20x%20to%20%5BX%5D%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20arguments%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20X%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.NUMBER%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20%22100%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22changeY%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.COMMAND%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22change%20window%20y%20by%20%5BY%5D%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20arguments%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20Y%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.NUMBER%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20%2250%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22setY%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.COMMAND%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22set%20window%20y%20to%20%5BY%5D%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20arguments%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20Y%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.NUMBER%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20%22100%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22windowX%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.REPORTER%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22window%20x%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22windowY%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.REPORTER%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22window%20y%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%0A%20%20%20%20%20%20%20%20%20%20%22---%22%2C%0A%0A%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22resizeTo%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.COMMAND%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22resize%20window%20to%20width%3A%20%5BW%5D%20height%3A%20%5BH%5D%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20arguments%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20W%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.NUMBER%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20%22480%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20H%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.NUMBER%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20%22360%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22resizeToPresets%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.COMMAND%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22resize%20window%20to%20%5BPRESETS%5D%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20arguments%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20PRESETS%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.STRING%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20menu%3A%20%22RESIZE%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22changeW%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.COMMAND%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22change%20window%20width%20by%20%5BW%5D%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20arguments%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20W%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.NUMBER%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20%2250%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22setW%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.COMMAND%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22set%20window%20width%20to%20%5BW%5D%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20arguments%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20W%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.NUMBER%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20%221000%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22changeH%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.COMMAND%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22change%20window%20height%20by%20%5BH%5D%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20arguments%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20H%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.NUMBER%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20%2250%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22setH%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.COMMAND%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22set%20window%20height%20to%20%5BH%5D%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20arguments%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20H%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.NUMBER%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20%221000%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22matchStageSize%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.COMMAND%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22match%20stage%20size%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22windowW%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.REPORTER%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22window%20width%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22windowH%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.REPORTER%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22window%20height%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%0A%20%20%20%20%20%20%20%20%20%20%22---%22%2C%0A%0A%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22isTouchingEdge%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.BOOLEAN%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22is%20window%20touching%20screen%20edge%3F%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22screenW%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.REPORTER%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22screen%20width%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22screenH%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.REPORTER%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22screen%20height%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%0A%20%20%20%20%20%20%20%20%20%20%22---%22%2C%0A%0A%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22isFocused%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.BOOLEAN%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22is%20window%20focused%3F%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%0A%20%20%20%20%20%20%20%20%20%20%22---%22%2C%0A%0A%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22changeTitleTo%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.COMMAND%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22set%20window%20title%20to%20%5BTITLE%5D%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20arguments%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20TITLE%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.STRING%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20Scratch.translate(%22Hello%20World!%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22windowTitle%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.REPORTER%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22window%20title%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%0A%20%20%20%20%20%20%20%20%20%20%22---%22%2C%0A%0A%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22enterFullscreen%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.COMMAND%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22enter%20fullscreen%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22exitFullscreen%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.COMMAND%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22exit%20fullscreen%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22isFullscreen%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.BOOLEAN%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22is%20window%20fullscreen%3F%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%0A%20%20%20%20%20%20%20%20%20%20%22---%22%2C%0A%0A%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22closeWindow%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.COMMAND%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20isTerminal%3A%20true%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22close%20window%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%5D%2C%0A%20%20%20%20%20%20%20%20menus%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20MOVE%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20acceptReporters%3A%20true%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20items%3A%20%5B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22center%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20value%3A%20%22center%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22right%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20value%3A%20%22right%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22left%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20value%3A%20%22left%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22top%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20value%3A%20%22top%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22bottom%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20value%3A%20%22bottom%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22top%20right%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20value%3A%20%22top%20right%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22top%20left%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20value%3A%20%22top%20left%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22bottom%20right%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20value%3A%20%22bottom%20right%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22bottom%20left%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20value%3A%20%22bottom%20left%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22random%20position%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20value%3A%20%22random%20position%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%5D%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20RESIZE%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20acceptReporters%3A%20true%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20items%3A%20%5B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22480x360%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22640x480%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%221280x720%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%221920x1080%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%222560x1440%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%222048x1080%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%223840x2160%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%227680x4320%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%5D%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%7D%3B%0A%20%20%20%20%7D%0A%0A%20%20%20%20moveTo(args)%20%7B%0A%20%20%20%20%20%20window.moveTo(args.X%2C%20args.Y)%3B%0A%20%20%20%20%20%20Scratch.vm.runtime.requestRedraw()%3B%0A%20%20%20%20%7D%0A%20%20%20%20moveToPresets(args)%20%7B%0A%20%20%20%20%20%20if%20(args.PRESETS%20%3D%3D%20%22center%22)%20%7B%0A%20%20%20%20%20%20%20%20const%20left%20%3D%20(screen.width%20-%20window.outerWidth)%20%2F%202%3B%0A%20%20%20%20%20%20%20%20const%20top%20%3D%20(screen.height%20-%20window.outerHeight)%20%2F%202%3B%0A%20%20%20%20%20%20%20%20window.moveTo(left%2C%20top)%3B%0A%20%20%20%20%20%20%7D%20else%20if%20(args.PRESETS%20%3D%3D%20%22right%22)%20%7B%0A%20%20%20%20%20%20%20%20const%20right%20%3D%20screen.width%20-%20window.outerWidth%3B%0A%20%20%20%20%20%20%20%20const%20top%20%3D%20(screen.height%20-%20window.outerHeight)%20%2F%202%3B%0A%20%20%20%20%20%20%20%20window.moveTo(right%2C%20top)%3B%0A%20%20%20%20%20%20%7D%20else%20if%20(args.PRESETS%20%3D%3D%20%22left%22)%20%7B%0A%20%20%20%20%20%20%20%20const%20top%20%3D%20(screen.height%20-%20window.outerHeight)%20%2F%202%3B%0A%20%20%20%20%20%20%20%20window.moveTo(0%2C%20top)%3B%0A%20%20%20%20%20%20%7D%20else%20if%20(args.PRESETS%20%3D%3D%20%22top%22)%20%7B%0A%20%20%20%20%20%20%20%20const%20left%20%3D%20(screen.width%20-%20window.outerWidth)%20%2F%202%3B%0A%20%20%20%20%20%20%20%20window.moveTo(left%2C%200)%3B%0A%20%20%20%20%20%20%7D%20else%20if%20(args.PRESETS%20%3D%3D%20%22bottom%22)%20%7B%0A%20%20%20%20%20%20%20%20const%20left%20%3D%20(screen.width%20-%20window.outerWidth)%20%2F%202%3B%0A%20%20%20%20%20%20%20%20const%20bottom%20%3D%20screen.height%20-%20window.outerHeight%3B%0A%20%20%20%20%20%20%20%20window.moveTo(left%2C%20bottom)%3B%0A%20%20%20%20%20%20%7D%20else%20if%20(args.PRESETS%20%3D%3D%20%22top%20right%22)%20%7B%0A%20%20%20%20%20%20%20%20const%20right%20%3D%20screen.width%20-%20window.outerWidth%3B%0A%20%20%20%20%20%20%20%20window.moveTo(right%2C%200)%3B%0A%20%20%20%20%20%20%7D%20else%20if%20(args.PRESETS%20%3D%3D%20%22top%20left%22)%20%7B%0A%20%20%20%20%20%20%20%20window.moveTo(0%2C%200)%3B%0A%20%20%20%20%20%20%7D%20else%20if%20(args.PRESETS%20%3D%3D%20%22bottom%20right%22)%20%7B%0A%20%20%20%20%20%20%20%20const%20right%20%3D%20screen.width%20-%20window.outerWidth%3B%0A%20%20%20%20%20%20%20%20const%20bottom%20%3D%20screen.height%20-%20window.outerHeight%3B%0A%20%20%20%20%20%20%20%20window.moveTo(right%2C%20bottom)%3B%0A%20%20%20%20%20%20%7D%20else%20if%20(args.PRESETS%20%3D%3D%20%22bottom%20left%22)%20%7B%0A%20%20%20%20%20%20%20%20const%20bottom%20%3D%20screen.height%20-%20window.outerHeight%3B%0A%20%20%20%20%20%20%20%20window.moveTo(0%2C%20bottom)%3B%0A%20%20%20%20%20%20%7D%20else%20if%20(args.PRESETS%20%3D%3D%20%22random%20position%22)%20%7B%0A%20%20%20%20%20%20%20%20const%20randomX%20%3D%20getRandomInt(0%2C%20screen.width)%3B%0A%20%20%20%20%20%20%20%20const%20randomY%20%3D%20getRandomInt(0%2C%20screen.height)%3B%0A%20%20%20%20%20%20%20%20window.moveTo(randomX%2C%20randomY)%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20Scratch.vm.runtime.requestRedraw()%3B%0A%20%20%20%20%7D%0A%20%20%20%20changeX(args)%20%7B%0A%20%20%20%20%20%20window.moveBy(args.X%2C%200)%3B%0A%20%20%20%20%20%20Scratch.vm.runtime.requestRedraw()%3B%0A%20%20%20%20%7D%0A%20%20%20%20setX(args)%20%7B%0A%20%20%20%20%20%20const%20currentY%20%3D%20window.screenY%3B%0A%20%20%20%20%20%20window.moveTo(args.X%2C%20currentY)%3B%0A%20%20%20%20%20%20Scratch.vm.runtime.requestRedraw()%3B%0A%20%20%20%20%7D%0A%20%20%20%20changeY(args)%20%7B%0A%20%20%20%20%20%20window.moveBy(0%2C%20args.Y)%3B%0A%20%20%20%20%20%20Scratch.vm.runtime.requestRedraw()%3B%0A%20%20%20%20%7D%0A%20%20%20%20setY(args)%20%7B%0A%20%20%20%20%20%20const%20currentX%20%3D%20window.screenX%3B%0A%20%20%20%20%20%20window.moveTo(currentX%2C%20args.Y)%3B%0A%20%20%20%20%20%20Scratch.vm.runtime.requestRedraw()%3B%0A%20%20%20%20%7D%0A%20%20%20%20windowX()%20%7B%0A%20%20%20%20%20%20return%20window.screenLeft%3B%0A%20%20%20%20%7D%0A%20%20%20%20windowY()%20%7B%0A%20%20%20%20%20%20return%20window.screenTop%3B%0A%20%20%20%20%7D%0A%20%20%20%20resizeTo(args)%20%7B%0A%20%20%20%20%20%20window.resizeTo(args.W%2C%20args.H)%3B%0A%20%20%20%20%20%20Scratch.vm.runtime.requestRedraw()%3B%0A%20%20%20%20%7D%0A%20%20%20%20resizeToPresets(args)%20%7B%0A%20%20%20%20%20%20if%20(args.PRESETS%20%3D%3D%20%22480x360%22)%20%7B%0A%20%20%20%20%20%20%20%20window.resizeTo(%0A%20%20%20%20%20%20%20%20%20%20480%20%2B%20(window.outerWidth%20-%20window.innerWidth)%2C%0A%20%20%20%20%20%20%20%20%20%20360%20%2B%20(window.outerHeight%20-%20window.innerHeight)%0A%20%20%20%20%20%20%20%20)%3B%0A%20%20%20%20%20%20%7D%20else%20if%20(args.PRESETS%20%3D%3D%20%22640x480%22)%20%7B%0A%20%20%20%20%20%20%20%20window.resizeTo(%0A%20%20%20%20%20%20%20%20%20%20640%20%2B%20(window.outerWidth%20-%20window.innerWidth)%2C%0A%20%20%20%20%20%20%20%20%20%20480%20%2B%20(window.outerHeight%20-%20window.innerHeight)%0A%20%20%20%20%20%20%20%20)%3B%0A%20%20%20%20%20%20%7D%20else%20if%20(args.PRESETS%20%3D%3D%20%221280x720%22)%20%7B%0A%20%20%20%20%20%20%20%20window.resizeTo(%0A%20%20%20%20%20%20%20%20%20%201280%20%2B%20(window.outerWidth%20-%20window.innerWidth)%2C%0A%20%20%20%20%20%20%20%20%20%20720%20%2B%20(window.outerHeight%20-%20window.innerHeight)%0A%20%20%20%20%20%20%20%20)%3B%0A%20%20%20%20%20%20%7D%20else%20if%20(args.PRESETS%20%3D%3D%20%221920x1080%22)%20%7B%0A%20%20%20%20%20%20%20%20window.resizeTo(%0A%20%20%20%20%20%20%20%20%20%201920%20%2B%20(window.outerWidth%20-%20window.innerWidth)%2C%0A%20%20%20%20%20%20%20%20%20%201080%20%2B%20(window.outerHeight%20-%20window.innerHeight)%0A%20%20%20%20%20%20%20%20)%3B%0A%20%20%20%20%20%20%7D%20else%20if%20(args.PRESETS%20%3D%3D%20%222560x1440%22)%20%7B%0A%20%20%20%20%20%20%20%20window.resizeTo(%0A%20%20%20%20%20%20%20%20%20%202560%20%2B%20(window.outerWidth%20-%20window.innerWidth)%2C%0A%20%20%20%20%20%20%20%20%20%201440%20%2B%20(window.outerHeight%20-%20window.innerHeight)%0A%20%20%20%20%20%20%20%20)%3B%0A%20%20%20%20%20%20%7D%20else%20if%20(args.PRESETS%20%3D%3D%20%222048x1080%22)%20%7B%0A%20%20%20%20%20%20%20%20window.resizeTo(%0A%20%20%20%20%20%20%20%20%20%202048%20%2B%20(window.outerWidth%20-%20window.innerWidth)%2C%0A%20%20%20%20%20%20%20%20%20%201080%20%2B%20(window.outerHeight%20-%20window.innerHeight)%0A%20%20%20%20%20%20%20%20)%3B%0A%20%20%20%20%20%20%7D%20else%20if%20(args.PRESETS%20%3D%3D%20%223840x2160%22)%20%7B%0A%20%20%20%20%20%20%20%20window.resizeTo(%0A%20%20%20%20%20%20%20%20%20%203840%20%2B%20(window.outerWidth%20-%20window.innerWidth)%2C%0A%20%20%20%20%20%20%20%20%20%202160%20%2B%20(window.outerHeight%20-%20window.innerHeight)%0A%20%20%20%20%20%20%20%20)%3B%0A%20%20%20%20%20%20%7D%20else%20if%20(args.PRESETS%20%3D%3D%20%227680x4320%22)%20%7B%0A%20%20%20%20%20%20%20%20window.resizeTo(%0A%20%20%20%20%20%20%20%20%20%207680%20%2B%20(window.outerWidth%20-%20window.innerWidth)%2C%0A%20%20%20%20%20%20%20%20%20%204320%20%2B%20(window.outerHeight%20-%20window.innerHeight)%0A%20%20%20%20%20%20%20%20)%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20Scratch.vm.runtime.requestRedraw()%3B%0A%20%20%20%20%7D%0A%20%20%20%20changeW(args)%20%7B%0A%20%20%20%20%20%20window.resizeBy(args.W%2C%200)%3B%0A%20%20%20%20%20%20Scratch.vm.runtime.requestRedraw()%3B%0A%20%20%20%20%7D%0A%20%20%20%20setW(args)%20%7B%0A%20%20%20%20%20%20const%20currentH%20%3D%20window.outerHeight%3B%0A%20%20%20%20%20%20window.resizeTo(args.W%2C%20currentH)%3B%0A%20%20%20%20%20%20Scratch.vm.runtime.requestRedraw()%3B%0A%20%20%20%20%7D%0A%20%20%20%20changeH(args)%20%7B%0A%20%20%20%20%20%20window.resizeBy(0%2C%20args.H)%3B%0A%20%20%20%20%20%20Scratch.vm.runtime.requestRedraw()%3B%0A%20%20%20%20%7D%0A%20%20%20%20setH(args)%20%7B%0A%20%20%20%20%20%20const%20currentW%20%3D%20window.outerWidth%3B%0A%20%20%20%20%20%20window.resizeTo(currentW%2C%20args.H)%3B%0A%20%20%20%20%20%20Scratch.vm.runtime.requestRedraw()%3B%0A%20%20%20%20%7D%0A%20%20%20%20matchStageSize()%20%7B%0A%20%20%20%20%20%20window.resizeTo(%0A%20%20%20%20%20%20%20%20Scratch.vm.runtime.stageWidth%20%2B%20(window.outerWidth%20-%20window.innerWidth)%2C%0A%20%20%20%20%20%20%20%20Scratch.vm.runtime.stageHeight%20%2B%0A%20%20%20%20%20%20%20%20%20%20(window.outerHeight%20-%20window.innerHeight)%0A%20%20%20%20%20%20)%3B%0A%20%20%20%20%20%20Scratch.vm.runtime.requestRedraw()%3B%0A%20%20%20%20%7D%0A%20%20%20%20windowW()%20%7B%0A%20%20%20%20%20%20return%20window.outerWidth%3B%0A%20%20%20%20%7D%0A%20%20%20%20windowH()%20%7B%0A%20%20%20%20%20%20return%20window.outerHeight%3B%0A%20%20%20%20%7D%0A%20%20%20%20isTouchingEdge()%20%7B%0A%20%20%20%20%20%20const%20edgeX%20%3D%20screen.width%20-%20window.outerWidth%3B%0A%20%20%20%20%20%20const%20edgeY%20%3D%20screen.height%20-%20window.outerHeight%3B%0A%20%20%20%20%20%20return%20(%0A%20%20%20%20%20%20%20%20window.screenLeft%20%3C%3D%200%20%7C%7C%0A%20%20%20%20%20%20%20%20window.screenTop%20%3C%3D%200%20%7C%7C%0A%20%20%20%20%20%20%20%20window.screenLeft%20%3E%3D%20edgeX%20%7C%7C%0A%20%20%20%20%20%20%20%20window.screenTop%20%3E%3D%20edgeY%0A%20%20%20%20%20%20)%3B%0A%20%20%20%20%7D%0A%20%20%20%20screenW()%20%7B%0A%20%20%20%20%20%20return%20screen.width%3B%0A%20%20%20%20%7D%0A%20%20%20%20screenH()%20%7B%0A%20%20%20%20%20%20return%20screen.height%3B%0A%20%20%20%20%7D%0A%20%20%20%20isFocused()%20%7B%0A%20%20%20%20%20%20return%20document.hasFocus()%3B%0A%20%20%20%20%7D%0A%20%20%20%20changeTitleTo(args)%20%7B%0A%20%20%20%20%20%20document.title%20%3D%20args.TITLE%3B%0A%20%20%20%20%7D%0A%20%20%20%20windowTitle()%20%7B%0A%20%20%20%20%20%20return%20document.title%3B%0A%20%20%20%20%7D%0A%20%20%20%20enterFullscreen()%20%7B%0A%20%20%20%20%20%20if%20(document.fullscreenElement%20%3D%3D%20null)%20%7B%0A%20%20%20%20%20%20%20%20document.documentElement.requestFullscreen()%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%0A%20%20%20%20exitFullscreen()%20%7B%0A%20%20%20%20%20%20if%20(document.fullscreenElement%20!%3D%3D%20null)%20%7B%0A%20%20%20%20%20%20%20%20document.exitFullscreen()%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%0A%20%20%20%20isFullscreen()%20%7B%0A%20%20%20%20%20%20return%20document.fullscreenElement%20!%3D%3D%20null%3B%0A%20%20%20%20%7D%0A%20%20%20%20closeWindow()%20%7B%0A%20%20%20%20%20%20const%20editorConfirmation%20%3D%20Scratch.translate(%7B%0A%20%20%20%20%20%20%20%20id%3A%20%22editorConfirmation%22%2C%0A%20%20%20%20%20%20%20%20default%3A%0A%20%20%20%20%20%20%20%20%20%20%22Are%20you%20sure%20you%20want%20to%20close%20this%20window%3F%5Cn%5Cn(This%20message%20will%20not%20appear%20when%20the%20project%20is%20packaged)%22%2C%0A%20%20%20%20%20%20%7D)%3B%0A%20%20%20%20%20%20%2F%2F%20%40ts-expect-error%0A%20%20%20%20%20%20if%20(typeof%20ScratchBlocks%20%3D%3D%3D%20%22undefined%22%20%7C%7C%20confirm(editorConfirmation))%20%7B%0A%20%20%20%20%20%20%20%20window.close()%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%0A%20%20%7D%0A%20%20Scratch.extensions.register(new%20WindowControls())%3B%0A%7D)(Scratch)%3B%0A%20%7D)(Scratch)%3B","data:text/javascript;,(function(Scratch)%20%7B%20%2F%2F%20Name%3A%20Screen%20Resolution%0D%0A%2F%2F%20ID%3A%20shreder95resolution%0D%0A%2F%2F%20Description%3A%20Get%20the%20resolution%20of%20the%20primary%20screen.%0D%0A%2F%2F%20By%3A%20shreder95ua%20%3Chttps%3A%2F%2Fscratch.mit.edu%2Fusers%2Fshreder95ua%2F%3E%0D%0A%2F%2F%20License%3A%20MIT%0D%0A%0D%0A(function%20(Scratch)%20%7B%0D%0A%20%20%22use%20strict%22%3B%0D%0A%0D%0A%20%20class%20Resolution%20%7B%0D%0A%20%20%20%20getInfo()%20%7B%0D%0A%20%20%20%20%20%20return%20%7B%0D%0A%20%20%20%20%20%20%20%20id%3A%20%22shreder95resolution%22%2C%0D%0A%20%20%20%20%20%20%20%20name%3A%20%22Screen%20resolution%22%2C%0D%0A%20%20%20%20%20%20%20%20color1%3A%20%22%23FFAB19%22%2C%0D%0A%20%20%20%20%20%20%20%20color2%3A%20%22%23EC9C13%22%2C%0D%0A%20%20%20%20%20%20%20%20color3%3A%20%22%23CF8B17%22%2C%0D%0A%20%20%20%20%20%20%20%20blocks%3A%20%5B%0D%0A%20%20%20%20%20%20%20%20%20%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22getWidth%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20%22primary%20screen%20width%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.REPORTER%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22getHeight%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20%22primary%20screen%20height%22%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.REPORTER%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0D%0A%20%20%20%20%20%20%20%20%5D%2C%0D%0A%20%20%20%20%20%20%7D%3B%0D%0A%20%20%20%20%7D%0D%0A%20%20%20%20getWidth()%20%7B%0D%0A%20%20%20%20%20%20return%20window.screen.width%3B%0D%0A%20%20%20%20%7D%0D%0A%20%20%20%20getHeight()%20%7B%0D%0A%20%20%20%20%20%20return%20window.screen.height%3B%0D%0A%20%20%20%20%7D%0D%0A%20%20%7D%0D%0A%20%20Scratch.extensions.register(new%20Resolution())%3B%0D%0A%7D)(Scratch)%3B%0D%0A%20%7D)(Scratch)%3B","data:text/javascript;,(function(Scratch)%20%7B%20%2F%2F%20Name%3A%20Files%0A%2F%2F%20ID%3A%20files%0A%2F%2F%20Description%3A%20Read%20and%20download%20files.%0A%2F%2F%20License%3A%20MIT%20AND%20MPL-2.0%0A%0A%2F*%20generated%20l10n%20code%20*%2FScratch.translate.setup(%7B%22ca%22%3A%7B%22_Select%20or%20drop%20file%22%3A%22Selecciona%20o%20deixa%20anar%20el%20fitxer%22%7D%2C%22cs%22%3A%7B%22_Select%20or%20drop%20file%22%3A%22Vyberte%20nebo%20p%C5%99et%C3%A1hn%C4%9Bte%20soubor%22%7D%2C%22de%22%3A%7B%22_Files%22%3A%22Dateien%22%2C%22_Select%20or%20drop%20file%22%3A%22Datei%20ausw%C3%A4hlen%20oder%20ziehen%22%7D%2C%22es%22%3A%7B%22_Select%20or%20drop%20file%22%3A%22Selecciona%20o%20suelta%20aqu%C3%AD%20un%20archivo%22%7D%2C%22fr%22%3A%7B%22_Select%20or%20drop%20file%22%3A%22S%C3%A9lectionne%20ou%20d%C3%A9pose%20un%20fichier%22%7D%2C%22hu%22%3A%7B%22_Select%20or%20drop%20file%22%3A%22V%C3%A1lasszon%20ki%2C%20vagy%20h%C3%BAzzon%20ide%20egy%20f%C3%A1jlt%22%7D%2C%22it%22%3A%7B%22_Accepted%20formats%3A%20%7Bformats%7D%22%3A%22Formati%20accettati%3A%20%7Bformats%7D%22%2C%22_Files%22%3A%22File%22%2C%22_Hello%2C%20world!%22%3A%22Ciao%20mondo!%22%2C%22_Select%20or%20drop%20file%22%3A%22Seleziona%20o%20trascina%20qui%20un%20file%22%2C%22_any%22%3A%22qualunque%22%2C%22_download%20URL%20%5Burl%5D%20as%20%5Bfile%5D%22%3A%22scarica%20da%20URL%20%5Burl%5D%20come%20%5Bfile%5D%22%2C%22_download%20%5Btext%5D%20as%20%5Bfile%5D%22%3A%22scarica%20%5Btext%5D%20come%20%5Bfile%5D%22%2C%22_only%20show%20selector%20(unreliable)%22%3A%22mostra%20soltanto%20finestra%20di%20dialogo%20per%20la%20selezione%20(non%20affidabile)%22%2C%22_open%20a%20%5Bextension%5D%20file%22%3A%22apri%20un%20file%20%5Bextension%5D%22%2C%22_open%20a%20%5Bextension%5D%20file%20as%20%5Bas%5D%22%3A%22apri%20un%20file%20%5Bextension%5D%20come%20%5Bas%5D%22%2C%22_open%20a%20file%22%3A%22apri%20un%20file%22%2C%22_open%20a%20file%20as%20%5Bas%5D%22%3A%22apri%20un%20file%20come%20%5Bas%5D%22%2C%22_open%20selector%20immediately%22%3A%22apri%20subito%20finestra%20di%20dialogo%20per%20selezione%20file%22%2C%22_save.txt%22%3A%22salva.txt%22%2C%22_set%20open%20file%20selector%20mode%20to%20%5Bmode%5D%22%3A%22imposta%20modalit%C3%A0%20di%20apertura%20file%20a%20%5Bmode%5D%22%2C%22_show%20modal%22%3A%22mostra%20finestra%22%2C%22_text%22%3A%22testo%22%7D%2C%22ja%22%3A%7B%22_Files%22%3A%22%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%22%2C%22_Select%20or%20drop%20file%22%3A%22%E9%81%B8%E3%81%B6%E3%81%8B%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%92%E3%83%89%E3%83%AD%E3%83%83%E3%83%97%E3%81%99%E3%82%8B%22%2C%22_open%20a%20%5Bextension%5D%20file%22%3A%22%5Bextension%5D%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%92%E9%96%8B%E3%81%8F%22%2C%22_open%20a%20%5Bextension%5D%20file%20as%20%5Bas%5D%22%3A%22%5Bextension%5D%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%92%5Bas%5D%E3%81%A8%E3%81%97%E3%81%A6%E9%96%8B%E3%81%8F%22%2C%22_open%20a%20file%22%3A%22%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%92%E9%96%8B%E3%81%8F%22%2C%22_open%20a%20file%20as%20%5Bas%5D%22%3A%22%5Bas%5D%E3%81%A8%E3%81%97%E3%81%A6%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%92%E9%96%8B%E3%81%8F%22%2C%22_text%22%3A%22%E3%83%86%E3%82%AD%E3%82%B9%E3%83%88%22%7D%2C%22ko%22%3A%7B%22_Select%20or%20drop%20file%22%3A%22%EC%84%A0%ED%83%9D%ED%95%98%EA%B1%B0%EB%82%98%20%EB%81%8C%EC%96%B4%EB%8B%A4%20%EB%86%93%EA%B8%B0%22%7D%2C%22lt%22%3A%7B%22_Select%20or%20drop%20file%22%3A%22Pasirinkite%20arba%20numeskite%20fail%C4%85%22%7D%2C%22nb%22%3A%7B%22_Accepted%20formats%3A%20%7Bformats%7D%22%3A%22Aksepterte%20formater%3A%20%7Bformats%7D%22%2C%22_Files%22%3A%22Filer%22%2C%22_Hello%2C%20world!%22%3A%22Hei%2C%20verden!%22%2C%22_Select%20or%20drop%20file%22%3A%22Velg%20eller%20slipp%20fil%22%2C%22_any%22%3A%22noe%22%2C%22_download%20URL%20%5Burl%5D%20as%20%5Bfile%5D%22%3A%22last%20ned%20URL%20%5Burl%5D%20som%20%5Bfile%5D%22%2C%22_download%20%5Btext%5D%20as%20%5Bfile%5D%22%3A%22last%20ned%20%5Btext%5D%20som%20%5Bfile%5D%22%2C%22_only%20show%20selector%20(unreliable)%22%3A%22bare%20vis%20velger%20(up%C3%A5litelig)%22%2C%22_open%20a%20%5Bextension%5D%20file%22%3A%22%C3%A5pne%20en%20%5Bextension%5D%20fil%22%2C%22_open%20a%20%5Bextension%5D%20file%20as%20%5Bas%5D%22%3A%22%C3%A5pne%20en%20%5Bextension%5D%20fil%20som%20%5Bas%5D%22%2C%22_open%20a%20file%22%3A%22%C3%A5pne%20en%20fil%22%2C%22_open%20a%20file%20as%20%5Bas%5D%22%3A%22%C3%A5pne%20en%20fil%20som%20%5Bas%5D%22%2C%22_open%20selector%20immediately%22%3A%22%C3%A5pne%20velger%20umiddelbart%22%2C%22_set%20open%20file%20selector%20mode%20to%20%5Bmode%5D%22%3A%22sett%20%C3%A5pen%20filvelgermodus%20til%20%5Bmode%5D%22%2C%22_show%20modal%22%3A%22vis%20modal%22%2C%22_text%22%3A%22tekst%22%7D%2C%22nl%22%3A%7B%22_Accepted%20formats%3A%20%7Bformats%7D%22%3A%22Geaccepteerde%20formaten%3A%20%7Bformats%7D%22%2C%22_Files%22%3A%22Bestanden%22%2C%22_Hello%2C%20world!%22%3A%22Hallo%2C%20wereld!%22%2C%22_Select%20or%20drop%20file%22%3A%22Bestand%20selecteren%20of%20neerzetten%22%2C%22_any%22%3A%22willekeurig%22%2C%22_download%20URL%20%5Burl%5D%20as%20%5Bfile%5D%22%3A%22download%20URL%20%5Burl%5D%20als%20%5Bfile%5D%22%2C%22_download%20%5Btext%5D%20as%20%5Bfile%5D%22%3A%22download%20%5Btext%5D%20als%20%5Bfile%5D%22%2C%22_only%20show%20selector%20(unreliable)%22%3A%22alleen%20bestandskiezer%20tonen%20(onbetrouwbaar)%22%2C%22_open%20a%20%5Bextension%5D%20file%22%3A%22open%20een%20%5Bextension%5D%20bestand%22%2C%22_open%20a%20%5Bextension%5D%20file%20as%20%5Bas%5D%22%3A%22open%20een%20%5Bextension%5D%20bestand%20als%20%5Bas%5D%22%2C%22_open%20a%20file%22%3A%22open%20een%20bestand%22%2C%22_open%20a%20file%20as%20%5Bas%5D%22%3A%22open%20een%20bestand%20als%20%5Bas%5D%22%2C%22_open%20selector%20immediately%22%3A%22bestandskiezer%20meteen%20openen%22%2C%22_save.txt%22%3A%22bestand.txt%22%2C%22_set%20open%20file%20selector%20mode%20to%20%5Bmode%5D%22%3A%22stel%20wijze%20van%20bestandskiezer%20openen%20in%20op%3A%20%5Bmode%5D%22%2C%22_show%20modal%22%3A%22modaal%20tonen%22%2C%22_text%22%3A%22tekst%22%7D%2C%22pl%22%3A%7B%22_Select%20or%20drop%20file%22%3A%22Wybierz%20lub%20upu%C5%9B%C4%87%20plik%22%7D%2C%22pt%22%3A%7B%22_Select%20or%20drop%20file%22%3A%22Selecione%20ou%20arraste%20um%20arquivo%22%7D%2C%22pt-br%22%3A%7B%22_Select%20or%20drop%20file%22%3A%22Selecione%20ou%20arraste%20um%20arquivo%22%7D%2C%22ru%22%3A%7B%22_Accepted%20formats%3A%20%7Bformats%7D%22%3A%22%D0%A0%D0%B0%D0%B7%D1%80%D0%B5%D1%88%D1%91%D0%BD%D0%BD%D1%8B%D0%B5%20%D1%84%D0%BE%D1%80%D0%BC%D0%B0%D1%82%D1%8B%3A%20%7Bformats%7D%22%2C%22_Files%22%3A%22%D0%A4%D0%B0%D0%B9%D0%BB%D1%8B%22%2C%22_Hello%2C%20world!%22%3A%22%D0%9F%D1%80%D0%B8%D0%B2%D0%B5%D1%82%2C%20%D0%BC%D0%B8%D1%80!%22%2C%22_Select%20or%20drop%20file%22%3A%22%D0%92%D1%8B%D0%B1%D0%B5%D1%80%D0%B8%D1%82%D0%B5%20%D0%B8%D0%BB%D0%B8%20%5C%22%D0%B7%D0%B0%D0%BA%D0%B8%D0%BD%D1%8C%D1%82%D0%B5%5C%22%20%D1%84%D0%B0%D0%B9%D0%BB%22%2C%22_any%22%3A%22%D0%BB%D1%8E%D0%B1%D0%BE%D0%B9%22%2C%22_download%20URL%20%5Burl%5D%20as%20%5Bfile%5D%22%3A%22%D0%B7%D0%B0%D0%B3%D1%80%D1%83%D0%B7%D0%B8%D1%82%D1%8C%20URL%20%5Burl%5D%20%D0%BA%D0%B0%D0%BA%20%5Bfile%5D%22%2C%22_download%20%5Btext%5D%20as%20%5Bfile%5D%22%3A%22%D0%BE%D1%82%D0%BA%D1%80%D1%8B%D1%82%D1%8C%20%5Btext%5D%20%D0%BA%D0%B0%D0%BA%20%5Bfile%5D%22%2C%22_only%20show%20selector%20(unreliable)%22%3A%22%D0%BF%D0%BE%D0%BA%D0%B0%D0%B7%D1%8B%D0%B2%D0%B0%D1%82%D1%8C%20%D1%82%D0%BE%D0%BB%D1%8C%D0%BA%D0%BE%20%D1%81%D0%B5%D0%BB%D0%B5%D0%BA%D1%82%D0%BE%D1%80%20(%D0%BD%D0%B5%D0%BD%D0%B0%D0%B4%D0%B5%D0%B6%D0%BD%D0%BE)%22%2C%22_open%20a%20%5Bextension%5D%20file%22%3A%22%D0%BE%D1%82%D0%BA%D1%80%D1%8B%D1%82%D1%8C%20%D1%84%D0%B0%D0%B9%D0%BB%20%D1%81%20%D1%80%D0%B0%D1%81%D1%88%D0%B8%D1%80%D0%B5%D0%BD%D0%B8%D0%B5%D0%BC%20%5Bextension%5D%22%2C%22_open%20a%20%5Bextension%5D%20file%20as%20%5Bas%5D%22%3A%22%D0%BE%D1%82%D0%BA%D1%80%D1%8B%D1%82%D1%8C%20%D1%84%D0%B0%D0%B9%D0%BB%20%D1%81%20%D1%80%D0%B0%D1%81%D1%88%D0%B8%D1%80%D0%B5%D0%BD%D0%B8%D0%B5%D0%BC%20%5Bextension%5D%20%D0%BA%D0%B0%D0%BA%20%5Bas%5D%22%2C%22_open%20a%20file%22%3A%22%D0%BE%D1%82%D0%BA%D1%80%D1%8B%D1%82%D1%8C%20%D1%84%D0%B0%D0%B9%D0%BB%22%2C%22_open%20a%20file%20as%20%5Bas%5D%22%3A%22%D0%BE%D1%82%D0%BA%D1%80%D1%8B%D1%82%D1%8C%20%D1%84%D0%B0%D0%B9%D0%BB%20%D0%BA%D0%B0%D0%BA%20%5Bas%5D%22%2C%22_open%20selector%20immediately%22%3A%22%D0%BE%D1%82%D0%BA%D1%80%D1%8B%D1%82%D1%8C%20%D1%81%D0%B5%D0%BB%D0%B5%D0%BA%D1%82%D0%BE%D1%80%20%D0%BD%D0%B5%D0%BC%D0%B5%D0%B4%D0%BB%D0%B5%D0%BD%D0%BD%D0%BE%22%2C%22_save.txt%22%3A%22%D1%81%D0%BE%D1%85%D1%80%D0%B0%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5.txt%22%2C%22_set%20open%20file%20selector%20mode%20to%20%5Bmode%5D%22%3A%22%D0%B7%D0%B0%D0%BF%D1%80%D0%B0%D1%88%D0%B8%D0%B2%D0%B0%D1%82%D1%8C%20%D0%BE%D1%82%D0%BA%D1%80%D1%8B%D1%82%D0%B8%D0%B5%20%D1%84%D0%B0%D0%B9%D0%BB%D0%BE%D0%B2%20%D1%87%D0%B5%D1%80%D0%B5%D0%B7%20%5Bmode%5D%22%2C%22_show%20modal%22%3A%22%D0%BF%D0%BE%D0%BA%D0%B0%D0%B7%D0%B0%D1%82%D1%8C%20%D0%BC%D0%BE%D0%B4%D0%B0%D0%BB%22%2C%22_text%22%3A%22%D1%82%D0%B5%D0%BA%D1%81%D1%82%22%7D%2C%22sl%22%3A%7B%22_Select%20or%20drop%20file%22%3A%22Izberite%20ali%20povlecite%20datoteko%22%7D%2C%22sv%22%3A%7B%22_Select%20or%20drop%20file%22%3A%22V%C3%A4lj%20eller%20sl%C3%A4pp%20fil%22%7D%2C%22tr%22%3A%7B%22_Select%20or%20drop%20file%22%3A%22Dosyay%C4%B1%20%C5%9Fe%C3%A7in%20yada%20buraya%20b%C4%B1rak%C4%B1n%22%7D%2C%22uk%22%3A%7B%22_Select%20or%20drop%20file%22%3A%22%D0%92%D0%B8%D0%B1%D0%B5%D1%80%D1%96%D1%82%D1%8C%20%D0%B0%D0%B1%D0%BE%20%5C%22%D0%B7%D0%B0%D0%BA%D0%B8%D0%BD%D1%8C%D1%82%D0%B5%5C%22%20%D1%84%D0%B0%D0%B9%D0%BB%22%7D%2C%22zh-cn%22%3A%7B%22_Accepted%20formats%3A%20%7Bformats%7D%22%3A%22%E5%85%81%E8%AE%B8%E7%9A%84%E6%96%87%E4%BB%B6%E7%B1%BB%E5%9E%8B%EF%BC%9A%7Bformats%7D%22%2C%22_Files%22%3A%22%E6%96%87%E4%BB%B6%22%2C%22_Hello%2C%20world!%22%3A%22%E4%BD%A0%E5%A5%BD%EF%BC%8C%E4%B8%96%E7%95%8C%EF%BC%81%22%2C%22_Select%20or%20drop%20file%22%3A%22%E9%80%89%E6%8B%A9%E6%88%96%E6%8B%96%E5%85%A5%E6%96%87%E4%BB%B6%22%2C%22_any%22%3A%22%E4%BB%BB%E6%84%8F%22%2C%22_download%20URL%20%5Burl%5D%20as%20%5Bfile%5D%22%3A%22%E4%B8%8B%E8%BD%BDURL%5Burl%5D%EF%BC%8C%E5%90%8D%E4%B8%BA%5Bfile%5D%22%2C%22_download%20%5Btext%5D%20as%20%5Bfile%5D%22%3A%22%E4%B8%8B%E8%BD%BD%E6%96%87%E6%9C%AC%5Btext%5D%EF%BC%8C%E5%90%8D%E4%B8%BA%5Bfile%5D%22%2C%22_only%20show%20selector%20(unreliable)%22%3A%22%E8%B7%B3%E5%87%BA%E6%96%87%E4%BB%B6%E9%80%89%E6%8B%A9%E9%A1%B5%E9%9D%A2%EF%BC%88%E5%AE%9E%E9%AA%8C%E6%80%A7%EF%BC%89%22%2C%22_open%20a%20%5Bextension%5D%20file%22%3A%22%E6%89%93%E5%BC%80%E4%B8%80%E4%B8%AA%5Bextension%5D%E6%96%87%E4%BB%B6%22%2C%22_open%20a%20%5Bextension%5D%20file%20as%20%5Bas%5D%22%3A%22%E6%89%93%E5%BC%80%E4%B8%80%E4%B8%AA%E7%B1%BB%E5%9E%8B%E4%B8%BA%5Bextension%5D%E4%BD%9C%E4%B8%BA%5Bas%5D%22%2C%22_open%20a%20file%22%3A%22%E6%89%93%E5%BC%80%E4%B8%80%E4%B8%AA%E6%96%87%E4%BB%B6%22%2C%22_open%20a%20file%20as%20%5Bas%5D%22%3A%22%E6%89%93%E5%BC%80%E4%B8%80%E4%B8%AA%E6%96%87%E4%BB%B6%E4%BD%9C%E4%B8%BA%5Bas%5D%22%2C%22_open%20selector%20immediately%22%3A%22%E6%98%BE%E7%A4%BA%E6%89%93%E5%BC%80%E9%A1%B5%E9%9D%A2%E5%B9%B6%E8%B7%B3%E5%87%BA%E6%96%87%E4%BB%B6%E9%80%89%E6%8B%A9%E9%A1%B5%E9%9D%A2%22%2C%22_save.txt%22%3A%22%E4%BF%9D%E5%AD%98.txt%22%2C%22_set%20open%20file%20selector%20mode%20to%20%5Bmode%5D%22%3A%22%E8%AE%BE%E7%BD%AE%E6%89%93%E5%BC%80%E6%96%B9%E5%BC%8F%E4%B8%BA%5Bmode%5D%22%2C%22_show%20modal%22%3A%22%E6%98%BE%E7%A4%BA%E6%89%93%E5%BC%80%E9%A1%B5%E9%9D%A2%22%2C%22_text%22%3A%22%E6%96%87%E6%9C%AC%22%7D%2C%22zh-tw%22%3A%7B%22_Select%20or%20drop%20file%22%3A%22%E9%81%B8%E6%93%87%E6%88%96%E6%94%BE%E5%85%A5%E6%AA%94%E6%A1%88%22%7D%7D)%3B%2F*%20end%20generated%20l10n%20code%20*%2F(function%20(Scratch)%20%7B%0A%20%20%22use%20strict%22%3B%0A%0A%20%20if%20(!Scratch.extensions.unsandboxed)%20%7B%0A%20%20%20%20throw%20new%20Error(%22files%20extension%20must%20be%20run%20unsandboxed%22)%3B%0A%20%20%7D%0A%0A%20%20const%20MODE_MODAL%20%3D%20%22modal%22%3B%0A%20%20const%20MODE_IMMEDIATELY_SHOW_SELECTOR%20%3D%20%22selector%22%3B%0A%20%20const%20MODE_ONLY_SELECTOR%20%3D%20%22only-selector%22%3B%0A%20%20const%20ALL_MODES%20%3D%20%5B%0A%20%20%20%20MODE_MODAL%2C%0A%20%20%20%20MODE_IMMEDIATELY_SHOW_SELECTOR%2C%0A%20%20%20%20MODE_ONLY_SELECTOR%2C%0A%20%20%5D%3B%0A%20%20let%20openFileSelectorMode%20%3D%20MODE_MODAL%3B%0A%0A%20%20const%20AS_TEXT%20%3D%20%22text%22%3B%0A%20%20const%20AS_DATA_URL%20%3D%20%22url%22%3B%0A%0A%20%20%2F**%0A%20%20%20*%20%40param%20%7BHTMLInputElement%7D%20input%0A%20%20%20*%20%40returns%20%7Bboolean%7D%0A%20%20%20*%2F%0A%20%20const%20isCancelEventSupported%20%3D%20(input)%20%3D%3E%20%7B%0A%20%20%20%20if%20(%22oncancel%22%20in%20input)%20%7B%0A%20%20%20%20%20%20%2F%2F%20Chrome%20113%2B%2C%20Safari%2016.4%2B%0A%20%20%20%20%20%20return%20true%3B%0A%20%20%20%20%7D%0A%20%20%20%20%2F%2F%20Firefox%20is%20weird.%20cancel%20is%20supported%20since%20Firefox%2091%2C%20but%20oncancel%20doesn't%20exist.%0A%20%20%20%20%2F%2F%20Firefox%2091%20is%20from%20August%202021.%20That's%20old%20enough%20to%20not%20care%20about%20previous%20versions.%0A%20%20%20%20return%20navigator.userAgent.includes(%22Firefox%22)%3B%0A%20%20%7D%3B%0A%0A%20%20%2F**%0A%20%20%20*%20%40param%20%7Bstring%7D%20accept%20See%20MODE_%20constants%20above%0A%20%20%20*%20%40param%20%7Bstring%7D%20as%20See%20AS_%20constants%20above%0A%20%20%20*%20%40returns%20%7BPromise%3Cstring%3E%7D%20format%20given%20by%20as%20parameter%0A%20%20%20*%2F%0A%20%20const%20showFilePrompt%20%3D%20(accept%2C%20as)%20%3D%3E%0A%20%20%20%20new%20Promise((_resolve)%20%3D%3E%20%7B%0A%20%20%20%20%20%20%2F%2F%20We%20can't%20reliably%20show%20an%20%3Cinput%3E%20picker%20without%20%22user%20interaction%22%20in%20all%20environments%2C%0A%20%20%20%20%20%20%2F%2F%20so%20we%20have%20to%20show%20our%20own%20UI%20anyways.%20We%20may%20as%20well%20use%20this%20to%20implement%20some%20nice%20features%0A%20%20%20%20%20%20%2F%2F%20that%20native%20file%20pickers%20don't%20have%3A%0A%20%20%20%20%20%20%2F%2F%20%20-%20Easy%20drag%2Bdrop%0A%20%20%20%20%20%20%2F%2F%20%20-%20Reliable%20cancel%20button%20(input%20cancel%20event%20is%20still%20not%20perfect)%0A%20%20%20%20%20%20%2F%2F%20%20%20%20This%20is%20important%20so%20we%20can%20make%20this%20just%20a%20reporter%20instead%20of%20a%20command%2Bhat%20block.%0A%20%20%20%20%20%20%2F%2F%20%20%20%20Without%20an%20interface%2C%20the%20script%20would%20be%20stalled%20if%20the%20prompt%20was%20cancelled.%0A%0A%20%20%20%20%20%20%2F**%20%40param%20%7Bstring%7D%20text%20*%2F%0A%20%20%20%20%20%20const%20callback%20%3D%20(text)%20%3D%3E%20%7B%0A%20%20%20%20%20%20%20%20_resolve(text)%3B%0A%20%20%20%20%20%20%20%20Scratch.vm.renderer.removeOverlay(outer)%3B%0A%20%20%20%20%20%20%20%20Scratch.vm.runtime.off(%22PROJECT_STOP_ALL%22%2C%20handleProjectStopped)%3B%0A%20%20%20%20%20%20%20%20document.body.removeEventListener(%22keydown%22%2C%20handleKeyDown)%3B%0A%20%20%20%20%20%20%7D%3B%0A%0A%20%20%20%20%20%20let%20isReadingFile%20%3D%20false%3B%0A%0A%20%20%20%20%20%20%2F**%20%40param%20%7BFile%7D%20file%20*%2F%0A%20%20%20%20%20%20const%20readFile%20%3D%20(file)%20%3D%3E%20%7B%0A%20%20%20%20%20%20%20%20if%20(isReadingFile)%20%7B%0A%20%20%20%20%20%20%20%20%20%20return%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20isReadingFile%20%3D%20true%3B%0A%0A%20%20%20%20%20%20%20%20const%20reader%20%3D%20new%20FileReader()%3B%0A%20%20%20%20%20%20%20%20reader.onload%20%3D%20()%20%3D%3E%20%7B%0A%20%20%20%20%20%20%20%20%20%20callback(%2F**%20%40type%20%7Bstring%7D%20*%2F%20(reader.result))%3B%0A%20%20%20%20%20%20%20%20%7D%3B%0A%20%20%20%20%20%20%20%20reader.onerror%20%3D%20()%20%3D%3E%20%7B%0A%20%20%20%20%20%20%20%20%20%20console.error(%22Failed%20to%20read%20file%20as%20text%22%2C%20reader.error)%3B%0A%20%20%20%20%20%20%20%20%20%20callback(%22%22)%3B%0A%20%20%20%20%20%20%20%20%7D%3B%0A%20%20%20%20%20%20%20%20if%20(as%20%3D%3D%3D%20AS_TEXT)%20%7B%0A%20%20%20%20%20%20%20%20%20%20reader.readAsText(file)%3B%0A%20%20%20%20%20%20%20%20%7D%20else%20%7B%0A%20%20%20%20%20%20%20%20%20%20reader.readAsDataURL(file)%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D%3B%0A%0A%20%20%20%20%20%20%2F**%20%40param%20%7BKeyboardEvent%7D%20e%20*%2F%0A%20%20%20%20%20%20const%20handleKeyDown%20%3D%20(e)%20%3D%3E%20%7B%0A%20%20%20%20%20%20%20%20if%20(e.key%20%3D%3D%3D%20%22Escape%22)%20%7B%0A%20%20%20%20%20%20%20%20%20%20e.stopPropagation()%3B%0A%20%20%20%20%20%20%20%20%20%20e.preventDefault()%3B%0A%20%20%20%20%20%20%20%20%20%20callback(%22%22)%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D%3B%0A%20%20%20%20%20%20document.body.addEventListener(%22keydown%22%2C%20handleKeyDown%2C%20%7B%0A%20%20%20%20%20%20%20%20capture%3A%20true%2C%0A%20%20%20%20%20%20%7D)%3B%0A%0A%20%20%20%20%20%20const%20handleProjectStopped%20%3D%20()%20%3D%3E%20%7B%0A%20%20%20%20%20%20%20%20callback(%22%22)%3B%0A%20%20%20%20%20%20%7D%3B%0A%20%20%20%20%20%20Scratch.vm.runtime.on(%22PROJECT_STOP_ALL%22%2C%20handleProjectStopped)%3B%0A%0A%20%20%20%20%20%20const%20INITIAL_BORDER_COLOR%20%3D%20%22%23888%22%3B%0A%20%20%20%20%20%20const%20DROPPING_BORDER_COLOR%20%3D%20%22%2303a9fc%22%3B%0A%0A%20%20%20%20%20%20const%20outer%20%3D%20document.createElement(%22div%22)%3B%0A%20%20%20%20%20%20outer.style.pointerEvents%20%3D%20%22auto%22%3B%0A%20%20%20%20%20%20outer.style.width%20%3D%20%22100%25%22%3B%0A%20%20%20%20%20%20outer.style.height%20%3D%20%22100%25%22%3B%0A%20%20%20%20%20%20outer.style.display%20%3D%20%22flex%22%3B%0A%20%20%20%20%20%20outer.style.alignItems%20%3D%20%22center%22%3B%0A%20%20%20%20%20%20outer.style.justifyContent%20%3D%20%22center%22%3B%0A%20%20%20%20%20%20outer.style.background%20%3D%20%22rgba(0%2C%200%2C%200%2C%200.5)%22%3B%0A%20%20%20%20%20%20outer.style.color%20%3D%20%22black%22%3B%0A%20%20%20%20%20%20outer.style.colorScheme%20%3D%20%22light%22%3B%0A%20%20%20%20%20%20outer.addEventListener(%22dragover%22%2C%20(e)%20%3D%3E%20%7B%0A%20%20%20%20%20%20%20%20if%20(e.dataTransfer.types.includes(%22Files%22))%20%7B%0A%20%20%20%20%20%20%20%20%20%20e.preventDefault()%3B%0A%20%20%20%20%20%20%20%20%20%20e.dataTransfer.dropEffect%20%3D%20%22copy%22%3B%0A%20%20%20%20%20%20%20%20%20%20modal.style.borderColor%20%3D%20DROPPING_BORDER_COLOR%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D)%3B%0A%20%20%20%20%20%20outer.addEventListener(%22dragleave%22%2C%20()%20%3D%3E%20%7B%0A%20%20%20%20%20%20%20%20modal.style.borderColor%20%3D%20INITIAL_BORDER_COLOR%3B%0A%20%20%20%20%20%20%7D)%3B%0A%20%20%20%20%20%20outer.addEventListener(%22drop%22%2C%20(e)%20%3D%3E%20%7B%0A%20%20%20%20%20%20%20%20const%20file%20%3D%20e.dataTransfer.files%5B0%5D%3B%0A%20%20%20%20%20%20%20%20if%20(file)%20%7B%0A%20%20%20%20%20%20%20%20%20%20e.preventDefault()%3B%0A%20%20%20%20%20%20%20%20%20%20readFile(file)%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D)%3B%0A%20%20%20%20%20%20outer.addEventListener(%22click%22%2C%20(e)%20%3D%3E%20%7B%0A%20%20%20%20%20%20%20%20if%20(e.target%20%3D%3D%3D%20outer)%20%7B%0A%20%20%20%20%20%20%20%20%20%20callback(%22%22)%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D)%3B%0A%0A%20%20%20%20%20%20const%20modal%20%3D%20document.createElement(%22button%22)%3B%0A%20%20%20%20%20%20modal.style.boxShadow%20%3D%20%220%200%2010px%20-5px%20currentColor%22%3B%0A%20%20%20%20%20%20modal.style.cursor%20%3D%20%22pointer%22%3B%0A%20%20%20%20%20%20modal.style.font%20%3D%20%22inherit%22%3B%0A%20%20%20%20%20%20modal.style.background%20%3D%20%22white%22%3B%0A%20%20%20%20%20%20modal.style.padding%20%3D%20%2216px%22%3B%0A%20%20%20%20%20%20modal.style.borderRadius%20%3D%20%2216px%22%3B%0A%20%20%20%20%20%20modal.style.border%20%3D%20%608px%20dashed%20%24%7BINITIAL_BORDER_COLOR%7D%60%3B%0A%20%20%20%20%20%20modal.style.position%20%3D%20%22relative%22%3B%0A%20%20%20%20%20%20modal.style.textAlign%20%3D%20%22center%22%3B%0A%20%20%20%20%20%20modal.addEventListener(%22click%22%2C%20()%20%3D%3E%20%7B%0A%20%20%20%20%20%20%20%20input.click()%3B%0A%20%20%20%20%20%20%7D)%3B%0A%20%20%20%20%20%20modal.focus()%3B%0A%20%20%20%20%20%20outer.appendChild(modal)%3B%0A%0A%20%20%20%20%20%20const%20input%20%3D%20document.createElement(%22input%22)%3B%0A%20%20%20%20%20%20input.type%20%3D%20%22file%22%3B%0A%20%20%20%20%20%20input.accept%20%3D%20accept%3B%0A%20%20%20%20%20%20input.addEventListener(%22change%22%2C%20(e)%20%3D%3E%20%7B%0A%20%20%20%20%20%20%20%20%2F%2F%20%40ts-expect-error%0A%20%20%20%20%20%20%20%20const%20file%20%3D%20e.target.files%5B0%5D%3B%0A%20%20%20%20%20%20%20%20if%20(file)%20%7B%0A%20%20%20%20%20%20%20%20%20%20readFile(file)%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D)%3B%0A%0A%20%20%20%20%20%20const%20title%20%3D%20document.createElement(%22div%22)%3B%0A%20%20%20%20%20%20title.textContent%20%3D%20Scratch.translate(%22Select%20or%20drop%20file%22)%3B%0A%20%20%20%20%20%20title.style.fontSize%20%3D%20%221.5em%22%3B%0A%20%20%20%20%20%20title.style.marginBottom%20%3D%20%228px%22%3B%0A%20%20%20%20%20%20modal.appendChild(title)%3B%0A%0A%20%20%20%20%20%20const%20subtitle%20%3D%20document.createElement(%22div%22)%3B%0A%20%20%20%20%20%20const%20formattedAccept%20%3D%20accept%20%7C%7C%20Scratch.translate(%22any%22)%3B%0A%20%20%20%20%20%20subtitle.textContent%20%3D%20Scratch.translate(%0A%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20default%3A%20%22Accepted%20formats%3A%20%7Bformats%7D%22%2C%0A%20%20%20%20%20%20%20%20%20%20description%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20%22%5Bformats%5D%20is%20replaced%20with%20a%20comma-separated%20list%20of%20file%20types%20eg%3A%20.txt%2C%20.mp3%2C%20.png%20or%20the%20word%20any%22%2C%0A%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20formats%3A%20formattedAccept%2C%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20)%3B%0A%20%20%20%20%20%20modal.appendChild(subtitle)%3B%0A%0A%20%20%20%20%20%20%2F%2F%20To%20avoid%20the%20script%20getting%20stalled%20forever%2C%20if%20cancel%20isn't%20supported%2C%20we'll%20just%20forcibly%0A%20%20%20%20%20%20%2F%2F%20show%20our%20modal.%0A%20%20%20%20%20%20if%20(%0A%20%20%20%20%20%20%20%20openFileSelectorMode%20%3D%3D%3D%20MODE_ONLY_SELECTOR%20%26%26%0A%20%20%20%20%20%20%20%20!isCancelEventSupported(input)%0A%20%20%20%20%20%20)%20%7B%0A%20%20%20%20%20%20%20%20openFileSelectorMode%20%3D%20MODE_IMMEDIATELY_SHOW_SELECTOR%3B%0A%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20if%20(openFileSelectorMode%20!%3D%3D%20MODE_ONLY_SELECTOR)%20%7B%0A%20%20%20%20%20%20%20%20const%20overlay%20%3D%20Scratch.vm.renderer.addOverlay(outer%2C%20%22scale%22)%3B%0A%20%20%20%20%20%20%20%20overlay.container.style.zIndex%20%3D%20%22100%22%3B%0A%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20if%20(%0A%20%20%20%20%20%20%20%20openFileSelectorMode%20%3D%3D%3D%20MODE_IMMEDIATELY_SHOW_SELECTOR%20%7C%7C%0A%20%20%20%20%20%20%20%20openFileSelectorMode%20%3D%3D%3D%20MODE_ONLY_SELECTOR%0A%20%20%20%20%20%20)%20%7B%0A%20%20%20%20%20%20%20%20input.click()%3B%0A%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20if%20(openFileSelectorMode%20%3D%3D%3D%20MODE_ONLY_SELECTOR)%20%7B%0A%20%20%20%20%20%20%20%20%2F%2F%20Note%20that%20browser%20support%20for%20cancel%20is%20currently%20quite%20bad%0A%20%20%20%20%20%20%20%20input.addEventListener(%22cancel%22%2C%20()%20%3D%3E%20%7B%0A%20%20%20%20%20%20%20%20%20%20callback(%22%22)%3B%0A%20%20%20%20%20%20%20%20%7D)%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D)%3B%0A%0A%20%20%2F**%0A%20%20%20*%20%40param%20%7Bstring%7D%20url%20a%20data%3A%2C%20blob%3A%2C%20or%20same-origin%20URL%0A%20%20%20*%20%40param%20%7Bstring%7D%20file%0A%20%20%20*%2F%0A%20%20const%20downloadURL%20%3D%20(url%2C%20file)%20%3D%3E%20%7B%0A%20%20%20%20const%20link%20%3D%20document.createElement(%22a%22)%3B%0A%20%20%20%20link.href%20%3D%20url%3B%0A%20%20%20%20link.download%20%3D%20file%3B%0A%20%20%20%20document.body.appendChild(link)%3B%0A%20%20%20%20link.click()%3B%0A%20%20%20%20link.remove()%3B%0A%20%20%7D%3B%0A%0A%20%20%2F**%0A%20%20%20*%20%40param%20%7BBlob%7D%20blob%20Data%20to%20download%0A%20%20%20*%20%40param%20%7Bstring%7D%20file%20Name%20of%20the%20file%0A%20%20%20*%2F%0A%20%20const%20downloadBlob%20%3D%20(blob%2C%20file)%20%3D%3E%20%7B%0A%20%20%20%20const%20url%20%3D%20URL.createObjectURL(blob)%3B%0A%20%20%20%20downloadURL(url%2C%20file)%3B%0A%20%20%20%20%2F%2F%20Some%20old%20browsers%20process%20Blob%20URLs%20asynchronously%0A%20%20%20%20setTimeout(()%20%3D%3E%20%7B%0A%20%20%20%20%20%20URL.revokeObjectURL(url)%3B%0A%20%20%20%20%7D%2C%201000)%3B%0A%20%20%7D%3B%0A%0A%20%20%2F**%0A%20%20%20*%20%40param%20%7Bstring%7D%20url%0A%20%20%20*%20%40returns%20%7Bboolean%7D%0A%20%20%20*%2F%0A%20%20const%20isDataURL%20%3D%20(url)%20%3D%3E%20%7B%0A%20%20%20%20try%20%7B%0A%20%20%20%20%20%20const%20parsed%20%3D%20new%20URL(url)%3B%0A%20%20%20%20%20%20return%20parsed.protocol%20%3D%3D%3D%20%22data%3A%22%3B%0A%20%20%20%20%7D%20catch%20(e)%20%7B%0A%20%20%20%20%20%20return%20false%3B%0A%20%20%20%20%7D%0A%20%20%7D%3B%0A%0A%20%20%2F**%0A%20%20%20*%20%40param%20%7Bstring%7D%20url%0A%20%20%20*%20%40param%20%7Bstring%7D%20file%0A%20%20%20*%2F%0A%20%20const%20downloadUntrustedURL%20%3D%20(url%2C%20file)%20%3D%3E%20%7B%0A%20%20%20%20%2F%2F%20Don't%20want%20to%20return%20a%20Promise%20here%20when%20not%20actually%20needed%0A%20%20%20%20if%20(isDataURL(url))%20%7B%0A%20%20%20%20%20%20downloadURL(url%2C%20file)%3B%0A%20%20%20%20%7D%20else%20%7B%0A%20%20%20%20%20%20return%20Scratch.fetch(url)%0A%20%20%20%20%20%20%20%20.then((res)%20%3D%3E%20res.blob())%0A%20%20%20%20%20%20%20%20.then((blob)%20%3D%3E%20%7B%0A%20%20%20%20%20%20%20%20%20%20downloadBlob(blob%2C%20file)%3B%0A%20%20%20%20%20%20%20%20%7D)%3B%0A%20%20%20%20%7D%0A%20%20%7D%3B%0A%0A%20%20class%20Files%20%7B%0A%20%20%20%20getInfo()%20%7B%0A%20%20%20%20%20%20return%20%7B%0A%20%20%20%20%20%20%20%20id%3A%20%22files%22%2C%0A%20%20%20%20%20%20%20%20name%3A%20Scratch.translate(%22Files%22)%2C%0A%20%20%20%20%20%20%20%20color1%3A%20%22%23fcb103%22%2C%0A%20%20%20%20%20%20%20%20color2%3A%20%22%23db9a37%22%2C%0A%20%20%20%20%20%20%20%20color3%3A%20%22%23db8937%22%2C%0A%20%20%20%20%20%20%20%20blocks%3A%20%5B%0A%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22showPicker%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.REPORTER%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22open%20a%20file%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20disableMonitor%3A%20true%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20hideFromPalette%3A%20true%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22showPickerExtensions%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.REPORTER%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22open%20a%20%5Bextension%5D%20file%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20arguments%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20extension%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.STRING%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20%22.txt%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20hideFromPalette%3A%20true%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%0A%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22showPickerAs%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.REPORTER%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22open%20a%20file%20as%20%5Bas%5D%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20arguments%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20as%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.STRING%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20menu%3A%20%22encoding%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22showPickerExtensionsAs%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.REPORTER%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22open%20a%20%5Bextension%5D%20file%20as%20%5Bas%5D%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20arguments%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20extension%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.STRING%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20%22.txt%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20as%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.STRING%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20menu%3A%20%22encoding%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%0A%20%20%20%20%20%20%20%20%20%20%22---%22%2C%0A%0A%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22download%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.COMMAND%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22download%20%5Btext%5D%20as%20%5Bfile%5D%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20arguments%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.STRING%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20Scratch.translate(%22Hello%2C%20world!%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20file%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.STRING%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20Scratch.translate(%22save.txt%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22downloadURL%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.COMMAND%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22download%20URL%20%5Burl%5D%20as%20%5Bfile%5D%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20arguments%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20url%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.STRING%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20%22data%3Atext%2Fplain%3Bbase64%2CSGVsbG8sIHdvcmxkIQ%3D%3D%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20file%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.STRING%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20Scratch.translate(%22save.txt%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%0A%20%20%20%20%20%20%20%20%20%20%22---%22%2C%0A%0A%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22setOpenMode%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.COMMAND%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22set%20open%20file%20selector%20mode%20to%20%5Bmode%5D%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20arguments%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20mode%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.STRING%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20MODE_MODAL%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20menu%3A%20%22automaticallyOpen%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%5D%2C%0A%20%20%20%20%20%20%20%20menus%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20encoding%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20acceptReporters%3A%20true%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20items%3A%20%5B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22text%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20value%3A%20AS_TEXT%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20%22data%3A%20URL%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20value%3A%20AS_DATA_URL%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%5D%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20automaticallyOpen%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20acceptReporters%3A%20true%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20items%3A%20%5B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22show%20modal%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20value%3A%20MODE_MODAL%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22open%20selector%20immediately%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20value%3A%20MODE_IMMEDIATELY_SHOW_SELECTOR%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2F%2F%20Will%20not%20work%20if%20the%20browser%20doesn't%20think%20we%20are%20responding%20to%20a%20click%20event.%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22only%20show%20selector%20(unreliable)%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20value%3A%20MODE_ONLY_SELECTOR%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%5D%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%7D%3B%0A%20%20%20%20%7D%0A%0A%20%20%20%20showPicker()%20%7B%0A%20%20%20%20%20%20return%20showFilePrompt(%22%22%2C%20AS_TEXT)%3B%0A%20%20%20%20%7D%0A%0A%20%20%20%20showPickerExtensions(args)%20%7B%0A%20%20%20%20%20%20return%20showFilePrompt(args.extension%2C%20AS_TEXT)%3B%0A%20%20%20%20%7D%0A%0A%20%20%20%20showPickerAs(args)%20%7B%0A%20%20%20%20%20%20return%20showFilePrompt(%22%22%2C%20args.as)%3B%0A%20%20%20%20%7D%0A%0A%20%20%20%20showPickerExtensionsAs(args)%20%7B%0A%20%20%20%20%20%20return%20showFilePrompt(args.extension%2C%20args.as)%3B%0A%20%20%20%20%7D%0A%0A%20%20%20%20download(args)%20%7B%0A%20%20%20%20%20%20downloadBlob(%0A%20%20%20%20%20%20%20%20new%20Blob(%5BScratch.Cast.toString(args.text)%5D)%2C%0A%20%20%20%20%20%20%20%20Scratch.Cast.toString(args.file)%0A%20%20%20%20%20%20)%3B%0A%20%20%20%20%7D%0A%0A%20%20%20%20downloadURL(args)%20%7B%0A%20%20%20%20%20%20return%20downloadUntrustedURL(%0A%20%20%20%20%20%20%20%20Scratch.Cast.toString(args.url)%2C%0A%20%20%20%20%20%20%20%20Scratch.Cast.toString(args.file)%0A%20%20%20%20%20%20)%3B%0A%20%20%20%20%7D%0A%0A%20%20%20%20setOpenMode(args)%20%7B%0A%20%20%20%20%20%20if%20(ALL_MODES.includes(args.mode))%20%7B%0A%20%20%20%20%20%20%20%20openFileSelectorMode%20%3D%20args.mode%3B%0A%20%20%20%20%20%20%7D%20else%20%7B%0A%20%20%20%20%20%20%20%20console.warn(%60unknown%20mode%60%2C%20args.mode)%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%0A%20%20%7D%0A%0A%20%20Scratch.extensions.register(new%20Files())%3B%0A%7D)(Scratch)%3B%0A%20%7D)(Scratch)%3B","data:text/javascript;,(function(Scratch)%20%7B%20%2F%2F%20Name%3A%20Runtime%20Options%0A%2F%2F%20ID%3A%20runtimeoptions%0A%2F%2F%20Description%3A%20Get%20and%20modify%20turbo%20mode%2C%20framerate%2C%20interpolation%2C%20clone%20limit%2C%20stage%20size%2C%20and%20more.%0A%2F%2F%20License%3A%20MIT%20AND%20MPL-2.0%0A%0A%2F*%20generated%20l10n%20code%20*%2FScratch.translate.setup(%7B%22ca%22%3A%7B%22_Runtime%20Options%22%3A%22Opcions%20d'execuci%C3%B3%22%7D%2C%22cs%22%3A%7B%22_Runtime%20Options%22%3A%22Nastaven%C3%AD%20b%C4%9Bhu%22%7D%2C%22de%22%3A%7B%22_Runtime%20Options%22%3A%22Laufzeit-Optionen%22%7D%2C%22es%22%3A%7B%22_Runtime%20Options%22%3A%22Opciones%20de%20Runtime%22%7D%2C%22fr%22%3A%7B%22_Runtime%20Options%22%3A%22Options%20d'ex%C3%A9cution%22%7D%2C%22hu%22%3A%7B%22_Runtime%20Options%22%3A%22Lefut%C3%A1si%20Opci%C3%B3k%22%7D%2C%22it%22%3A%7B%22_Infinity%22%3A%22infinito%22%2C%22_Runtime%20Options%22%3A%22Opzioni%20Esecuzione%22%2C%22_%5Bthing%5D%20enabled%3F%22%3A%22%5Bthing%5D%20abilitato%22%2C%22_clone%20limit%22%3A%22limite%20cloni%22%2C%22_default%20(%7Bn%7D)%22%3A%22predefinito(%7Bn%7D)%22%2C%22_disabled%22%3A%22sblocca%22%2C%22_enabled%22%3A%22blocca%22%2C%22_framerate%22%3A%22frequenza%22%2C%22_framerate%20limit%22%3A%22limite%20framerate%22%2C%22_height%22%3A%22altezza%22%2C%22_high%20quality%20pen%22%3A%22penna%20alta%20qualit%C3%A0%22%2C%22_interpolation%22%3A%22interpolazione%22%2C%22_remove%20fencing%22%3A%22rimuovi%20i%20limiti%20dallo%20Stage%22%2C%22_remove%20misc%20limits%22%3A%22rimuovi%20limiti%22%2C%22_run%20green%20flag%20%5Bflag%5D%22%3A%22esegui%20tutti%20i%20cappelli%20bandiera%20verde%20%5Bflag%5D%22%2C%22_set%20%5Bthing%5D%20to%20%5Benabled%5D%22%3A%22imposta%20%5Bthing%5D%20a%20%5Benabled%5D%22%2C%22_set%20clone%20limit%20to%20%5Blimit%5D%22%3A%22imposta%20limite%20cloni%20a%20%5Blimit%5D%22%2C%22_set%20framerate%20limit%20to%20%5Bfps%5D%22%3A%22imposta%20limite%20framerate%20a%20%5Bfps%5D%22%2C%22_set%20stage%20size%20width%3A%20%5Bwidth%5D%20height%3A%20%5Bheight%5D%22%3A%22imposta%20dimensioni%20Stage%20larghezza%3A%20%5Bwidth%5Daltezza%3A%20%5Bheight%5D%22%2C%22_set%20username%20to%20%5Busername%5D%22%3A%22imposta%20username%20a%20%5Busername%5D%22%2C%22_stage%20%5Bdimension%5D%22%3A%22%5Bdimension%5D%20dello%20Stage%22%2C%22_stage%20size%22%3A%22dimensioni%20Stage%22%2C%22_turbo%20mode%22%3A%22modalit%C3%A0%20turbo%22%2C%22_width%22%3A%22larghezza%22%7D%2C%22ja%22%3A%7B%22_Infinity%22%3A%22%E7%84%A1%E9%99%90%22%2C%22_Runtime%20Options%22%3A%22%E3%83%A9%E3%83%B3%E3%82%BF%E3%82%A4%E3%83%A0%E3%81%AE%E3%82%AA%E3%83%97%E3%82%B7%E3%83%A7%E3%83%B3%22%2C%22_%5Bthing%5D%20enabled%3F%22%3A%22%5Bthing%5D%E3%81%8C%E6%9C%89%E5%8A%B9%22%2C%22_clone%20limit%22%3A%22%E3%82%AF%E3%83%AD%E3%83%BC%E3%83%B3%E3%81%AE%E5%88%B6%E9%99%90%22%2C%22_default%20(%7Bn%7D)%22%3A%22%E3%83%87%E3%83%95%E3%82%A9%E3%83%AB%E3%83%88(%7Bn%7D)%22%2C%22_disabled%22%3A%22%E7%84%A1%E5%8A%B9%22%2C%22_enabled%22%3A%22%E6%9C%89%E5%8A%B9%22%2C%22_framerate%20limit%22%3A%22%E3%83%95%E3%83%AC%E3%83%BC%E3%83%A0%E3%83%AC%E3%83%BC%E3%83%88%E3%81%AE%E5%88%B6%E9%99%90%22%2C%22_height%22%3A%22%E9%AB%98%E3%81%95%22%2C%22_interpolation%22%3A%22%E8%A3%9C%E5%AE%8C%E6%A9%9F%E8%83%BD%22%2C%22_run%20green%20flag%20%5Bflag%5D%22%3A%22%E7%B7%91%E3%81%AE%E6%97%97%5Bflag%5D%E3%82%92%E5%AE%9F%E8%A1%8C%E3%81%99%E3%82%8B%22%2C%22_set%20%5Bthing%5D%20to%20%5Benabled%5D%22%3A%22%5Bthing%5D%E3%82%92%5Benabled%5D%E3%81%AB%E3%81%99%E3%82%8B%22%2C%22_set%20clone%20limit%20to%20%5Blimit%5D%22%3A%22%E3%82%AF%E3%83%AD%E3%83%BC%E3%83%B3%E3%81%AE%E5%88%B6%E9%99%90%E3%82%92%5Blimit%5D%E3%81%AB%E3%81%99%E3%82%8B%22%2C%22_set%20framerate%20limit%20to%20%5Bfps%5D%22%3A%22%E3%83%95%E3%83%AC%E3%83%BC%E3%83%A0%E3%83%AC%E3%83%BC%E3%83%88%E3%81%AE%E5%88%B6%E9%99%90%E3%82%92%5Bfps%5D%E3%81%AB%E3%81%99%E3%82%8B%22%2C%22_set%20stage%20size%20width%3A%20%5Bwidth%5D%20height%3A%20%5Bheight%5D%22%3A%22%E3%82%B9%E3%83%86%E3%83%BC%E3%82%B8%E3%81%AE%E6%A8%AA%E5%B9%85%E3%82%92%5Bwidth%5D%E9%AB%98%E3%81%95%E3%82%92%5Bheight%5D%E3%81%AB%E3%81%99%E3%82%8B%22%2C%22_set%20username%20to%20%5Busername%5D%22%3A%22%E3%83%A6%E3%83%BC%E3%82%B6%E3%83%BC%E5%90%8D%E3%82%92%5Busername%5D%E3%81%AB%E3%81%99%E3%82%8B%22%2C%22_stage%20%5Bdimension%5D%22%3A%22%E3%82%B9%E3%83%86%E3%83%BC%E3%82%B8%E3%81%AE%5Bdimension%5D%22%2C%22_turbo%20mode%22%3A%22%E3%82%BF%E3%83%BC%E3%83%9C%E3%83%A2%E3%83%BC%E3%83%89%22%2C%22_username%22%3A%22%E3%83%A6%E3%83%BC%E3%82%B6%E3%83%BC%E5%90%8D%22%2C%22_width%22%3A%22%E6%A8%AA%E5%B9%85%22%7D%2C%22ja-hira%22%3A%7B%22_Runtime%20Options%22%3A%22%E3%83%A9%E3%83%B3%E3%82%BF%E3%82%A4%E3%83%A0%E3%81%AE%E3%82%AA%E3%83%97%E3%82%B7%E3%83%A7%E3%83%B3%22%7D%2C%22ko%22%3A%7B%22_Runtime%20Options%22%3A%22%EC%8B%A4%ED%96%89%20%EC%84%A4%EC%A0%95%22%7D%2C%22lt%22%3A%7B%22_Runtime%20Options%22%3A%22Paleidimo%20laiko%20parinktys%22%7D%2C%22nb%22%3A%7B%22_Infinity%22%3A%22Uendelighet%22%2C%22_Runtime%20Options%22%3A%22Kj%C3%B8retidsalternativer%22%2C%22_%5Bthing%5D%20enabled%3F%22%3A%22%5Bthing%5D%20aktivert%3F%22%2C%22_clone%20limit%22%3A%22klon%20grense%22%2C%22_default%20(%7Bn%7D)%22%3A%22standard%20(%7Bn%7D)%22%2C%22_disabled%22%3A%22deaktivert%22%2C%22_enabled%22%3A%22aktivert%22%2C%22_framerate%22%3A%22Bildetakt%22%2C%22_framerate%20limit%22%3A%22grense%20for%20bildefrekvens%22%2C%22_height%22%3A%22h%C3%B8yde%22%2C%22_high%20quality%20pen%22%3A%22H%C3%B8y%20kvalitet%20penn%22%2C%22_interpolation%22%3A%22interpolasjon%22%2C%22_remove%20fencing%22%3A%22Fjern%20gjerde%22%2C%22_remove%20misc%20limits%22%3A%22fjern%20diverse%20begrensninger%22%2C%22_run%20green%20flag%20%5Bflag%5D%22%3A%22kj%C3%B8r%20gr%C3%B8nt%20flagg%20%5Bflag%5D%22%2C%22_set%20%5Bthing%5D%20to%20%5Benabled%5D%22%3A%22sett%20%5Bthing%5D%20til%20%5Benabled%5D%22%2C%22_set%20clone%20limit%20to%20%5Blimit%5D%22%3A%22sett%20klon-grensen%20til%20%5Blimit%5D%22%2C%22_set%20framerate%20limit%20to%20%5Bfps%5D%22%3A%22begrens%20bildefrekvensen%20til%20%5Bfps%5D%22%2C%22_set%20stage%20size%20width%3A%20%5Bwidth%5D%20height%3A%20%5Bheight%5D%22%3A%22sett%20scenest%C3%B8rrelse%20bredde%3A%20%5Bwidth%5D%20h%C3%B8yde%3A%20%5Bheight%5D%22%2C%22_set%20username%20to%20%5Busername%5D%22%3A%22sett%20brukernavn%20til%20%5Busername%5D%22%2C%22_stage%20%5Bdimension%5D%22%3A%22scene%20%5Bdimension%5D%22%2C%22_stage%20size%22%3A%22scenest%C3%B8rrelse%22%2C%22_turbo%20mode%22%3A%22turbo%20modus%22%2C%22_username%22%3A%22brukernavn%22%2C%22_when%20%5BWHAT%5D%20changed%22%3A%22n%C3%A5r%20%5BWHAT%5D%20endret%20seg%22%2C%22_width%22%3A%22bredde%22%7D%2C%22nl%22%3A%7B%22_Infinity%22%3A%22oneindig%22%2C%22_Runtime%20Options%22%3A%22Looptijdopties%22%2C%22_%5Bthing%5D%20enabled%3F%22%3A%22%5Bthing%5D%20ingeschakeld%3F%22%2C%22_clone%20limit%22%3A%22kloonlimiet%22%2C%22_default%20(%7Bn%7D)%22%3A%22standaard%20(%7Bn%7D)%22%2C%22_disabled%22%3A%22uit%22%2C%22_enabled%22%3A%22in%22%2C%22_framerate%20limit%22%3A%22framerate-limiet%22%2C%22_height%22%3A%22hoogte%22%2C%22_high%20quality%20pen%22%3A%22pen%20met%20hoge%20kwaliteit%22%2C%22_interpolation%22%3A%22interpolatie%22%2C%22_remove%20fencing%22%3A%22waarde-limieten%20weghalen%22%2C%22_remove%20misc%20limits%22%3A%22diverse%20limieten%20weghalen%22%2C%22_run%20green%20flag%20%5Bflag%5D%22%3A%22voer%20groene%20vlag%20%5Bflag%5D%20uit%22%2C%22_set%20%5Bthing%5D%20to%20%5Benabled%5D%22%3A%22schakel%20%5Bthing%5D%20%5Benabled%5D%22%2C%22_set%20clone%20limit%20to%20%5Blimit%5D%22%3A%22maak%20kloonlimiet%20%5Blimit%5D%22%2C%22_set%20framerate%20limit%20to%20%5Bfps%5D%22%3A%22maak%20framerate-limiet%20%5Bfps%5D%22%2C%22_set%20stage%20size%20width%3A%20%5Bwidth%5D%20height%3A%20%5Bheight%5D%22%3A%22maak%20speelveldbreedte%3A%20%5Bwidth%5D%20en%20-hoogte%3A%20%5Bheight%5D%22%2C%22_set%20username%20to%20%5Busername%5D%22%3A%22maak%20gebruikersnaam%20%5Busername%5D%22%2C%22_stage%20%5Bdimension%5D%22%3A%22%5Bdimension%5D%20van%20speelveld%22%2C%22_stage%20size%22%3A%22speelveldgrootte%22%2C%22_turbo%20mode%22%3A%22turbomodus%22%2C%22_username%22%3A%22gebruikersnaam%22%2C%22_when%20%5BWHAT%5D%20changed%22%3A%22wanneer%20%5BWHAT%5D%20verandert%22%2C%22_width%22%3A%22breedte%22%7D%2C%22pl%22%3A%7B%22_Runtime%20Options%22%3A%22Opcje%20Uruchamiania%22%7D%2C%22pt%22%3A%7B%22_Runtime%20Options%22%3A%22Op%C3%A7%C3%B5es%20de%20Execu%C3%A7%C3%A3o%22%7D%2C%22pt-br%22%3A%7B%22_Runtime%20Options%22%3A%22Op%C3%A7%C3%B5es%20de%20Execu%C3%A7%C3%A3o%22%7D%2C%22ru%22%3A%7B%22_Infinity%22%3A%22%D0%91%D0%B5%D1%81%D0%BA%D0%BE%D0%BD%D0%B5%D1%87%D0%BD%D0%BE%22%2C%22_Runtime%20Options%22%3A%22%D0%9E%D0%BF%D1%86%D0%B8%D0%B8%20%D0%92%D1%8B%D0%BF%D0%BE%D0%BB%D0%BD%D0%B5%D0%BD%D0%B8%D1%8F%22%2C%22_%5Bthing%5D%20enabled%3F%22%3A%22%5Bthing%5D%20%D0%B2%D0%BA%D0%BB%D1%8E%D1%87%D0%B5%D0%BD%3F%22%2C%22_clone%20limit%22%3A%22%D0%BB%D0%B8%D0%BC%D0%B8%D1%82%20%D0%BA%D0%BB%D0%BE%D0%BD%D0%BE%D0%B2%22%2C%22_default%20(%7Bn%7D)%22%3A%22%D0%BF%D0%BE%20%D1%83%D0%BC%D0%BE%D0%BB%D1%87%D0%B0%D0%BD%D0%B8%D1%8E%20(%7Bn%7D)%22%2C%22_disabled%22%3A%22%D0%B2%D1%8B%D0%BA%D0%BB%D1%8E%D1%87%D0%B5%D0%BD%22%2C%22_enabled%22%3A%22%D0%B2%D0%BA%D0%BB%D1%8E%D1%87%D0%B5%D0%BD%22%2C%22_framerate%22%3A%22%D1%87%D0%B0%D1%81%D1%82%D0%BE%D1%82%D0%B0%20%D0%BA%D0%B0%D0%B4%D1%80%D0%BE%D0%B2%22%2C%22_framerate%20limit%22%3A%22%D0%BB%D0%B8%D0%BC%D0%B8%D1%82%20%D1%87%D0%B0%D1%81%D1%82%D0%BE%D1%82%D1%8B%20%D0%BA%D0%B0%D0%B4%D1%80%D0%BE%D0%B2%22%2C%22_height%22%3A%22%D0%B2%D1%8B%D1%81%D0%BE%D1%82%D0%B0%22%2C%22_high%20quality%20pen%22%3A%22%D0%BF%D0%B5%D1%80%D0%BE%20%D0%B2%20%D0%B2%D1%8B%D1%81%D0%BE%D0%BA%D0%BE%D0%BC%20%D0%BA%D0%B0%D1%87%D0%B5%D1%81%D1%82%D0%B2%D0%B5%22%2C%22_interpolation%22%3A%22%D0%B8%D0%BD%D1%82%D0%B5%D1%80%D0%BF%D0%BE%D0%BB%D1%8F%D1%86%D0%B8%D1%8F%22%2C%22_remove%20fencing%22%3A%22%D1%83%D0%B1%D1%80%D0%B0%D1%82%D1%8C%20%D1%80%D0%B0%D0%BC%D0%BA%D1%83%22%2C%22_remove%20misc%20limits%22%3A%22%D1%83%D0%B1%D1%80%D0%B0%D1%82%D1%8C%20%D1%80%D0%B0%D0%B7%D0%BD%D1%8B%D0%B5%20%D0%BE%D0%B3%D1%80%D0%B0%D0%BD%D0%B8%D1%87%D0%B5%D0%BD%D0%B8%D1%8F%22%2C%22_run%20green%20flag%20%5Bflag%5D%22%3A%22%D0%B7%D0%B0%D0%BF%D1%83%D1%81%D1%82%D0%B8%D1%82%D1%8C%20%D0%B7%D0%B5%D0%BB%D0%B5%D0%BD%D1%8B%D0%B9%20%D1%84%D0%BB%D0%B0%D0%B6%D0%BE%D0%BA%20%5Bflag%5D%22%2C%22_set%20%5Bthing%5D%20to%20%5Benabled%5D%22%3A%22%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%B8%D1%82%D1%8C%20%5Bthing%5D%20%D0%B2%20%5Benabled%5D%22%2C%22_set%20clone%20limit%20to%20%5Blimit%5D%22%3A%22%D0%B7%D0%B0%D0%B4%D0%B0%D1%82%D1%8C%20%D0%BB%D0%B8%D0%BC%D0%B8%D1%82%20%D0%BA%D0%BB%D0%BE%D0%BD%D0%BE%D0%B2%20%D0%B2%20%5Blimit%5D%22%2C%22_set%20framerate%20limit%20to%20%5Bfps%5D%22%3A%22%D0%B7%D0%B0%D0%B4%D0%B0%D1%82%D1%8C%20%D0%BB%D0%B8%D0%BC%D0%B8%D1%82%20%D1%87%D0%B0%D1%81%D1%82%D0%BE%D1%82%D1%8B%20%D0%BA%D0%B0%D0%B4%D1%80%D0%BE%D0%B2%20%D0%B2%20%5Bfps%5D%22%2C%22_set%20stage%20size%20width%3A%20%5Bwidth%5D%20height%3A%20%5Bheight%5D%22%3A%22%D0%B7%D0%B0%D0%B4%D0%B0%D1%82%D1%8C%20%D1%88%D0%B8%D1%80%D0%B8%D0%BD%D1%83%3A%20%5Bwidth%5D%20%D0%B2%D1%8B%D1%81%D0%BE%D1%82%D1%83%3A%20%5Bheight%5D%20%D1%81%D1%86%D0%B5%D0%BD%D1%8B%22%2C%22_set%20username%20to%20%5Busername%5D%22%3A%22%D0%B7%D0%B0%D0%B4%D0%B0%D1%82%D1%8C%20%D0%B8%D0%BC%D1%8F%20%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8F%20%D0%BA%D0%B0%D0%BA%20%5Busername%5D%22%2C%22_stage%20%5Bdimension%5D%22%3A%22%5Bdimension%5D%20%D1%81%D1%86%D0%B5%D0%BD%D1%8B%22%2C%22_stage%20size%22%3A%22%D1%80%D0%B0%D0%B7%D0%BC%D0%B5%D1%80%20%D1%81%D1%86%D0%B5%D0%BD%D1%8B%22%2C%22_turbo%20mode%22%3A%22%D1%82%D1%83%D1%80%D0%B1%D0%BE%20%D1%80%D0%B5%D0%B6%D0%B8%D0%BC%22%2C%22_username%22%3A%22%D0%B8%D0%BC%D1%8F%20%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8F%22%2C%22_when%20%5BWHAT%5D%20changed%22%3A%22%D0%BA%D0%BE%D0%B3%D0%B4%D0%B0%20%5BWHAT%5D%20%D0%B8%D0%B7%D0%BC%D0%B5%D0%BD%D1%91%D0%BD%22%2C%22_width%22%3A%22%D1%88%D0%B8%D1%80%D0%B8%D0%BD%D0%B0%22%7D%2C%22sl%22%3A%7B%22_Runtime%20Options%22%3A%22Mo%C5%BEnosti%20izvajanja%22%7D%2C%22sv%22%3A%7B%22_Runtime%20Options%22%3A%22K%C3%B6rtidsalternativ%22%7D%2C%22tr%22%3A%7B%22_Runtime%20Options%22%3A%22%C3%87al%C4%B1%C5%9Fma%20Zaman%C4%B1%20Se%C3%A7enekleri%22%7D%2C%22uk%22%3A%7B%22_Runtime%20Options%22%3A%22%D0%9F%D0%B0%D1%80%D0%B0%D0%BC%D0%B5%D1%82%D1%80%D0%B8%20%D0%B2%D0%B8%D0%BA%D0%BE%D0%BD%D0%B0%D0%BD%D0%BD%D1%8F%22%7D%2C%22zh-cn%22%3A%7B%22_Infinity%22%3A%22%E6%97%A0%E9%99%90%22%2C%22_Runtime%20Options%22%3A%22%E8%BF%90%E8%A1%8C%E9%80%89%E9%A1%B9%22%2C%22_%5Bthing%5D%20enabled%3F%22%3A%22%E5%90%AF%E7%94%A8%E4%BA%86%5Bthing%5D%EF%BC%9F%22%2C%22_clone%20limit%22%3A%22%E5%85%8B%E9%9A%86%E9%99%90%E5%88%B6%22%2C%22_default%20(%7Bn%7D)%22%3A%22%E9%BB%98%E8%AE%A4%E5%80%BC(%7Bn%7D)%22%2C%22_disabled%22%3A%22%E7%A6%81%E7%94%A8%22%2C%22_enabled%22%3A%22%E5%90%AF%E7%94%A8%22%2C%22_framerate%22%3A%22%E5%B8%A7%E7%8E%87%22%2C%22_framerate%20limit%22%3A%22FPS%E4%B8%8A%E9%99%90%22%2C%22_height%22%3A%22%E9%AB%98%E5%BA%A6%22%2C%22_high%20quality%20pen%22%3A%22%E9%AB%98%E6%B8%85%E7%94%BB%E7%AC%94%22%2C%22_interpolation%22%3A%22%E8%A1%A5%E5%B8%A7%22%2C%22_remove%20fencing%22%3A%22%E5%85%81%E8%AE%B8%E8%A7%92%E8%89%B2%E7%A7%BB%E5%87%BA%E8%88%9E%E5%8F%B0%22%2C%22_remove%20misc%20limits%22%3A%22%E5%8F%96%E6%B6%88%E9%9F%B3%E6%95%88%E8%8C%83%E5%9B%B4%E4%B8%8E%E7%94%BB%E7%AC%94%E5%A4%A7%E5%B0%8F%E9%99%90%E5%88%B6%22%2C%22_run%20green%20flag%20%5Bflag%5D%22%3A%22%E8%BF%90%E8%A1%8C%E7%BB%BF%E6%97%97%5Bflag%5D%22%2C%22_set%20%5Bthing%5D%20to%20%5Benabled%5D%22%3A%22%E8%AE%BE%E7%BD%AE%5Bthing%5D%E4%B8%BA%5Benabled%5D%22%2C%22_set%20clone%20limit%20to%20%5Blimit%5D%22%3A%22%E8%AE%BE%E7%BD%AE%E5%85%8B%E9%9A%86%E4%BD%93%E9%99%90%E5%88%B6%E4%B8%BA%5Blimit%5D%22%2C%22_set%20framerate%20limit%20to%20%5Bfps%5D%22%3A%22%E8%AE%BE%E7%BD%AEFPS%E4%B8%8A%E9%99%90%E4%B8%BA%5Bfps%5D%22%2C%22_set%20stage%20size%20width%3A%20%5Bwidth%5D%20height%3A%20%5Bheight%5D%22%3A%22%E6%8A%8A%E8%88%9E%E5%8F%B0%E5%A4%A7%E5%B0%8F%E8%AE%BE%E7%BD%AE%E4%B8%BA%E5%AE%BD%5Bwidth%5D%20%E9%AB%98%5Bheight%5D%22%2C%22_set%20username%20to%20%5Busername%5D%22%3A%22%E8%AE%BE%E7%BD%AE%E7%94%A8%E6%88%B7%E5%90%8D%E7%A7%B0%E4%B8%BA%5Busername%5D%22%2C%22_stage%20%5Bdimension%5D%22%3A%22%E8%88%9E%E5%8F%B0%E7%9A%84%5Bdimension%5D%22%2C%22_stage%20size%22%3A%22%E8%88%9E%E5%8F%B0%E5%B0%BA%E5%AF%B8%22%2C%22_turbo%20mode%22%3A%22%E7%BC%96%E8%AF%91%E6%A8%A1%E5%BC%8F%22%2C%22_username%22%3A%22%E7%94%A8%E6%88%B7%E5%90%8D%E7%A7%B0%22%2C%22_when%20%5BWHAT%5D%20changed%22%3A%22%E5%BD%93%5BWHAT%5D%E8%A2%AB%E4%BF%AE%E6%94%B9%E6%97%B6%22%2C%22_width%22%3A%22%E5%AE%BD%E5%BA%A6%22%7D%2C%22zh-tw%22%3A%7B%22_Runtime%20Options%22%3A%22%E9%81%8B%E8%A1%8C%E9%81%B8%E9%A0%85%22%7D%7D)%3B%2F*%20end%20generated%20l10n%20code%20*%2F(function%20(Scratch)%20%7B%0A%20%20%22use%20strict%22%3B%0A%0A%20%20if%20(!Scratch.extensions.unsandboxed)%20%7B%0A%20%20%20%20throw%20new%20Error(%22Runtime%20Options%20extension%20needs%20to%20be%20run%20unsandboxed%22)%3B%0A%20%20%7D%0A%0A%20%20const%20greenFlagURI%20%3D%0A%20%20%20%20%22data%3Aimage%2Fpng%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAMAAADXqc3KAAABFFBMVEUAAACAgABVqlVJkklAn0BNmTNLljxGlzpDmzdFmjpGmzxHmz9Fmj1FmT5Emj1GmT1GmD1EmDxGmTxEmT1GmjxGmT1FmDxEmT5EmTxGmT5FmD1GmT5FmT1Gmj1EmT5FmT1FmT1FmDxGmT1FmjxLs09LtE9Jr0xJsk1Js05JtVBKtU5KtVBKtlBJrkpJsE1KtlFIrEpIsExLt1FLuFJKuVNIqkhLulNIp0VJqkhKtlJLvVRMvFNFmT5GpUVFmT1HpEVHokNMvlVFmT1Ho0NFmTxLvlVGoUFMvlVLvlVGn0BFmT1Nv1ZEmz5FmTxFmTxFmT1NvlZFmz9FmT5FnT9FnD5GnT9Mv1ZMv1ZMv1ZFmT1Mv1b%2F%2F%2F%2F70P2GAAAAWXRSTlMAAgMHCAoRFhcwMz0%2FRkdQVGFmaWpxcnh7gIGEhZKZo6eprLq%2Fv8DAwMDAwMDBwcHCwsPDxcbIysrLzM3Pz9DQ1NTV1dfZ29vg4uXm5%2Bjp6ens7fDx9Pv8%2FnPb5aAAAAABYktHRFt0vJU0AAAAsUlEQVQoz2NgwA3YhNiwS4hHykoou9goCrKiSUhGhqhZe7gbm3rxQwQ4BJihEupRYODooMDFyMAu6uMsgyoRFW5kHxjkqeuhL4cmAQM4JXRwSWjjktDEJaGFS0IVIeFtZuIaAZdQgUmY2%2FoqyTu5WcEkNGAS%2FkJMQJrbySAAJBxmGSoIlYAoYGCR8rPVM7QItuNlQJVgYGDlE5MU5kSErhz2%2BKCihEikNHYJJh5mBhIAADBcR%2Fr5OJzCAAAAAElFTkSuQmCC%22%3B%0A%20%20const%20TURBO_MODE%20%3D%20%22turbo%20mode%22%3B%0A%20%20const%20INTERPOLATION%20%3D%20%22interpolation%22%3B%0A%20%20const%20REMOVE_FENCING%20%3D%20%22remove%20fencing%22%3B%0A%20%20const%20REMOVE_MISC_LIMITS%20%3D%20%22remove%20misc%20limits%22%3B%0A%20%20const%20HIGH_QUALITY_PEN%20%3D%20%22high%20quality%20pen%22%3B%0A%20%20const%20FRAMERATE%20%3D%20%22framerate%22%3B%0A%20%20const%20CLONE_LIMIT%20%3D%20%22clone%20limit%22%3B%0A%20%20const%20STAGE_SIZE%20%3D%20%22stage%20size%22%3B%0A%20%20const%20USERNAME%20%3D%20%22username%22%3B%0A%0A%20%20%2F**%20%40param%20%7Bstring%7D%20what%20*%2F%0A%20%20const%20emitChanged%20%3D%20(what)%20%3D%3E%0A%20%20%20%20Scratch.vm.runtime.startHats(%22runtimeoptions_whenChange%22%2C%20%7B%0A%20%20%20%20%20%20WHAT%3A%20what%2C%0A%20%20%20%20%7D)%3B%0A%0A%20%20%2F**%0A%20%20%20*%20%40template%20T%0A%20%20%20*%20%40param%20%7BT%7D%20obj%0A%20%20%20*%20%40returns%20%7BT%7D%0A%20%20%20*%2F%0A%20%20const%20shallowCopy%20%3D%20(obj)%20%3D%3E%20Object.assign(%7B%7D%2C%20obj)%3B%0A%0A%20%20let%20previousRuntimeOptions%20%3D%20shallowCopy(Scratch.vm.runtime.runtimeOptions)%3B%0A%0A%20%20Scratch.vm.on(%22TURBO_MODE_OFF%22%2C%20()%20%3D%3E%20emitChanged(TURBO_MODE))%3B%0A%20%20Scratch.vm.on(%22TURBO_MODE_ON%22%2C%20()%20%3D%3E%20emitChanged(TURBO_MODE))%3B%0A%20%20Scratch.vm.on(%22INTERPOLATION_CHANGED%22%2C%20()%20%3D%3E%20emitChanged(INTERPOLATION))%3B%0A%20%20Scratch.vm.on(%22RUNTIME_OPTIONS_CHANGED%22%2C%20(newOptions)%20%3D%3E%20%7B%0A%20%20%20%20if%20(newOptions.fencing%20!%3D%3D%20previousRuntimeOptions.fencing)%20%7B%0A%20%20%20%20%20%20emitChanged(REMOVE_FENCING)%3B%0A%20%20%20%20%7D%0A%20%20%20%20if%20(newOptions.miscLimits%20!%3D%3D%20previousRuntimeOptions.miscLimits)%20%7B%0A%20%20%20%20%20%20emitChanged(REMOVE_MISC_LIMITS)%3B%0A%20%20%20%20%7D%0A%20%20%20%20if%20(newOptions.maxClones%20!%3D%3D%20previousRuntimeOptions.maxClones)%20%7B%0A%20%20%20%20%20%20emitChanged(CLONE_LIMIT)%3B%0A%20%20%20%20%7D%0A%20%20%20%20previousRuntimeOptions%20%3D%20shallowCopy(newOptions)%3B%0A%20%20%7D)%3B%0A%20%20Scratch.vm.renderer.on(%22UseHighQualityRenderChanged%22%2C%20()%20%3D%3E%0A%20%20%20%20emitChanged(HIGH_QUALITY_PEN)%0A%20%20)%3B%0A%20%20Scratch.vm.on(%22FRAMERATE_CHANGED%22%2C%20()%20%3D%3E%20emitChanged(FRAMERATE))%3B%0A%20%20Scratch.vm.on(%22STAGE_SIZE_CHANGED%22%2C%20()%20%3D%3E%20emitChanged(STAGE_SIZE))%3B%0A%0A%20%20const%20originalPostData%20%3D%20Scratch.vm.runtime.ioDevices.userData.postData%3B%0A%20%20Scratch.vm.runtime.ioDevices.userData.postData%20%3D%20function%20(data)%20%7B%0A%20%20%20%20const%20newUsername%20%3D%20data.username%20!%3D%3D%20this._username%3B%0A%20%20%20%20originalPostData.call(this%2C%20data)%3B%0A%20%20%20%20if%20(newUsername)%20%7B%0A%20%20%20%20%20%20emitChanged(USERNAME)%3B%0A%20%20%20%20%7D%0A%20%20%7D%3B%0A%0A%20%20class%20RuntimeOptions%20%7B%0A%20%20%20%20getInfo()%20%7B%0A%20%20%20%20%20%20return%20%7B%0A%20%20%20%20%20%20%20%20id%3A%20%22runtimeoptions%22%2C%0A%20%20%20%20%20%20%20%20name%3A%20Scratch.translate(%22Runtime%20Options%22)%2C%0A%20%20%20%20%20%20%20%20color1%3A%20%22%238c9abf%22%2C%0A%20%20%20%20%20%20%20%20color2%3A%20%22%237d8aab%22%2C%0A%20%20%20%20%20%20%20%20color3%3A%20%22%236f7b99%22%2C%0A%20%20%20%20%20%20%20%20blocks%3A%20%5B%0A%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22getEnabled%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22%5Bthing%5D%20enabled%3F%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.BOOLEAN%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20arguments%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20thing%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.STRING%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20TURBO_MODE%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20menu%3A%20%22thing%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22setEnabled%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22set%20%5Bthing%5D%20to%20%5Benabled%5D%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.COMMAND%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20arguments%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20thing%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.STRING%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20TURBO_MODE%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20menu%3A%20%22thing%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20enabled%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.STRING%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20%22true%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20menu%3A%20%22enabled%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%0A%20%20%20%20%20%20%20%20%20%20%22---%22%2C%0A%0A%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22getFramerate%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22framerate%20limit%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.REPORTER%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22setFramerate%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22set%20framerate%20limit%20to%20%5Bfps%5D%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.COMMAND%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20arguments%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20fps%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.NUMBER%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20%2230%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%0A%20%20%20%20%20%20%20%20%20%20%22---%22%2C%0A%0A%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22getCloneLimit%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22clone%20limit%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.REPORTER%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22setCloneLimit%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22set%20clone%20limit%20to%20%5Blimit%5D%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.COMMAND%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20arguments%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20limit%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.NUMBER%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20%22300%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20menu%3A%20%22clones%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%0A%20%20%20%20%20%20%20%20%20%20%22---%22%2C%0A%0A%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22getDimension%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20default%3A%20%22stage%20%5Bdimension%5D%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20description%3A%20%22%5Bdimension%5D%20is%20a%20dropdown%20of%20width%20and%20height%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.REPORTER%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20arguments%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20dimension%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.STRING%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20%22width%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20menu%3A%20%22dimension%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22setDimensions%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22set%20stage%20size%20width%3A%20%5Bwidth%5D%20height%3A%20%5Bheight%5D%22%0A%20%20%20%20%20%20%20%20%20%20%20%20)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.COMMAND%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20arguments%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20width%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.NUMBER%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20%22480%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20height%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.NUMBER%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20%22360%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%0A%20%20%20%20%20%20%20%20%20%20%22---%22%2C%0A%0A%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22setUsername%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22set%20username%20to%20%5Busername%5D%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.COMMAND%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20arguments%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20username%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.STRING%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20%22%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22greenFlag%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22run%20green%20flag%20%5Bflag%5D%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.COMMAND%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20arguments%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20flag%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.IMAGE%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20dataURI%3A%20greenFlagURI%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%0A%20%20%20%20%20%20%20%20%20%20%22---%22%2C%0A%0A%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22whenChange%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.EVENT%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22when%20%5BWHAT%5D%20changed%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20isEdgeActivated%3A%20false%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20arguments%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20WHAT%3A%20%7B%20type%3A%20Scratch.ArgumentType.STRING%2C%20menu%3A%20%22changeable%22%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%5D%2C%0A%20%20%20%20%20%20%20%20menus%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20thing%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20acceptReporters%3A%20true%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20items%3A%20%5B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22turbo%20mode%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20value%3A%20TURBO_MODE%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22interpolation%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20value%3A%20INTERPOLATION%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22remove%20fencing%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20value%3A%20REMOVE_FENCING%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22remove%20misc%20limits%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20value%3A%20REMOVE_MISC_LIMITS%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22high%20quality%20pen%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20value%3A%20HIGH_QUALITY_PEN%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%5D%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%0A%20%20%20%20%20%20%20%20%20%20changeable%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20acceptReporters%3A%20false%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20items%3A%20%5B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22turbo%20mode%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20value%3A%20TURBO_MODE%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22interpolation%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20value%3A%20INTERPOLATION%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22remove%20fencing%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20value%3A%20REMOVE_FENCING%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22remove%20misc%20limits%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20value%3A%20REMOVE_MISC_LIMITS%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22high%20quality%20pen%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20value%3A%20HIGH_QUALITY_PEN%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22framerate%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20value%3A%20FRAMERATE%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22clone%20limit%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20value%3A%20CLONE_LIMIT%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22stage%20size%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20value%3A%20STAGE_SIZE%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22username%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20value%3A%20USERNAME%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%5D%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%0A%20%20%20%20%20%20%20%20%20%20enabled%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20acceptReporters%3A%20true%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20items%3A%20%5B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22enabled%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20value%3A%20%22true%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22disabled%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20value%3A%20%22false%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%5D%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%0A%20%20%20%20%20%20%20%20%20%20clones%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20acceptReporters%3A%20true%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20items%3A%20%5B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22default%20(%7Bn%7D)%22%2C%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20n%3A%20%22300%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20value%3A%20%22300%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22Infinity%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20value%3A%20%22Infinity%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%5D%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%0A%20%20%20%20%20%20%20%20%20%20dimension%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20acceptReporters%3A%20true%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20items%3A%20%5B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22width%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20value%3A%20%22width%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%22height%22)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20value%3A%20%22height%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%5D%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%7D%3B%0A%20%20%20%20%7D%0A%0A%20%20%20%20getEnabled(%7B%20thing%20%7D)%20%7B%0A%20%20%20%20%20%20if%20(thing%20%3D%3D%3D%20TURBO_MODE)%20%7B%0A%20%20%20%20%20%20%20%20return%20Scratch.vm.runtime.turboMode%3B%0A%20%20%20%20%20%20%7D%20else%20if%20(thing%20%3D%3D%3D%20INTERPOLATION)%20%7B%0A%20%20%20%20%20%20%20%20return%20Scratch.vm.runtime.interpolationEnabled%3B%0A%20%20%20%20%20%20%7D%20else%20if%20(thing%20%3D%3D%3D%20REMOVE_FENCING)%20%7B%0A%20%20%20%20%20%20%20%20return%20!Scratch.vm.runtime.runtimeOptions.fencing%3B%0A%20%20%20%20%20%20%7D%20else%20if%20(thing%20%3D%3D%3D%20REMOVE_MISC_LIMITS)%20%7B%0A%20%20%20%20%20%20%20%20return%20!Scratch.vm.runtime.runtimeOptions.miscLimits%3B%0A%20%20%20%20%20%20%7D%20else%20if%20(thing%20%3D%3D%3D%20HIGH_QUALITY_PEN)%20%7B%0A%20%20%20%20%20%20%20%20return%20Scratch.renderer.useHighQualityRender%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20return%20false%3B%0A%20%20%20%20%7D%0A%0A%20%20%20%20setEnabled(%7B%20thing%2C%20enabled%20%7D)%20%7B%0A%20%20%20%20%20%20enabled%20%3D%20Scratch.Cast.toBoolean(enabled)%3B%0A%0A%20%20%20%20%20%20if%20(thing%20%3D%3D%3D%20TURBO_MODE)%20%7B%0A%20%20%20%20%20%20%20%20Scratch.vm.setTurboMode(enabled)%3B%0A%20%20%20%20%20%20%7D%20else%20if%20(thing%20%3D%3D%3D%20INTERPOLATION)%20%7B%0A%20%20%20%20%20%20%20%20Scratch.vm.setInterpolation(enabled)%3B%0A%20%20%20%20%20%20%7D%20else%20if%20(thing%20%3D%3D%3D%20REMOVE_FENCING)%20%7B%0A%20%20%20%20%20%20%20%20Scratch.vm.setRuntimeOptions(%7B%0A%20%20%20%20%20%20%20%20%20%20fencing%3A%20!enabled%2C%0A%20%20%20%20%20%20%20%20%7D)%3B%0A%20%20%20%20%20%20%7D%20else%20if%20(thing%20%3D%3D%3D%20REMOVE_MISC_LIMITS)%20%7B%0A%20%20%20%20%20%20%20%20Scratch.vm.setRuntimeOptions(%7B%0A%20%20%20%20%20%20%20%20%20%20miscLimits%3A%20!enabled%2C%0A%20%20%20%20%20%20%20%20%7D)%3B%0A%20%20%20%20%20%20%7D%20else%20if%20(thing%20%3D%3D%3D%20HIGH_QUALITY_PEN)%20%7B%0A%20%20%20%20%20%20%20%20Scratch.renderer.setUseHighQualityRender(enabled)%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%0A%0A%20%20%20%20getFramerate()%20%7B%0A%20%20%20%20%20%20return%20Scratch.vm.runtime.frameLoop.framerate%3B%0A%20%20%20%20%7D%0A%0A%20%20%20%20setFramerate(%7B%20fps%20%7D)%20%7B%0A%20%20%20%20%20%20fps%20%3D%20Scratch.Cast.toNumber(fps)%3B%0A%20%20%20%20%20%20Scratch.vm.setFramerate(fps)%3B%0A%20%20%20%20%7D%0A%0A%20%20%20%20getCloneLimit()%20%7B%0A%20%20%20%20%20%20return%20Scratch.vm.runtime.runtimeOptions.maxClones%3B%0A%20%20%20%20%7D%0A%20%20%20%20setCloneLimit(%7B%20limit%20%7D)%20%7B%0A%20%20%20%20%20%20limit%20%3D%20Scratch.Cast.toNumber(limit)%3B%0A%20%20%20%20%20%20Scratch.vm.setRuntimeOptions(%7B%0A%20%20%20%20%20%20%20%20maxClones%3A%20limit%2C%0A%20%20%20%20%20%20%7D)%3B%0A%20%20%20%20%7D%0A%0A%20%20%20%20getDimension(%7B%20dimension%20%7D)%20%7B%0A%20%20%20%20%20%20if%20(dimension%20%3D%3D%3D%20%22width%22)%20%7B%0A%20%20%20%20%20%20%20%20return%20Scratch.vm.runtime.stageWidth%3B%0A%20%20%20%20%20%20%7D%20else%20if%20(dimension%20%3D%3D%3D%20%22height%22)%20%7B%0A%20%20%20%20%20%20%20%20return%20Scratch.vm.runtime.stageHeight%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20return%200%3B%0A%20%20%20%20%7D%0A%0A%20%20%20%20setDimensions(%7B%20width%2C%20height%20%7D)%20%7B%0A%20%20%20%20%20%20width%20%3D%20Scratch.Cast.toNumber(width)%3B%0A%20%20%20%20%20%20height%20%3D%20Scratch.Cast.toNumber(height)%3B%0A%20%20%20%20%20%20Scratch.vm.setStageSize(width%2C%20height)%3B%0A%20%20%20%20%7D%0A%0A%20%20%20%20setUsername(%7B%20username%20%7D)%20%7B%0A%20%20%20%20%20%20Scratch.vm.postIOData(%22userData%22%2C%20%7B%0A%20%20%20%20%20%20%20%20username%3A%20Scratch.Cast.toString(username)%2C%0A%20%20%20%20%20%20%7D)%3B%0A%20%20%20%20%7D%0A%0A%20%20%20%20greenFlag()%20%7B%0A%20%20%20%20%20%20Scratch.vm.runtime.greenFlag()%3B%0A%20%20%20%20%7D%0A%20%20%7D%0A%0A%20%20Scratch.extensions.register(new%20RuntimeOptions())%3B%0A%7D)(Scratch)%3B%0A%20%7D)(Scratch)%3B","data:text/javascript;,(function(Scratch)%20%7B%20%2F%2F%20Name%3A%20Data%20Analysis%0A%2F%2F%20ID%3A%20qxsckdataanalysis%0A%2F%2F%20Description%3A%20Blocks%20to%20compute%20means%2C%20medians%2C%20maximums%2C%20minimums%2C%20variances%2C%20and%20modes.%0A%2F%2F%20By%3A%20qxsck%0A%2F%2F%20License%3A%20MIT%0A%0A%2F*%20generated%20l10n%20code%20*%2FScratch.translate.setup(%7B%22de%22%3A%7B%22name%22%3A%22Datenanalyse%22%7D%2C%22it%22%3A%7B%22average%22%3A%22media%20di%20%5BNUMBERS%5D%22%2C%22maximum%22%3A%22massimo%20di%20%5BNUMBERS%5D%22%2C%22median%22%3A%22mediana%20di%20%5BNUMBERS%5D%22%2C%22minimum%22%3A%22minimo%20di%20%5BNUMBERS%5D%22%2C%22mode%22%3A%22moda%20di%20%5BNUMBERS%5D%22%2C%22name%22%3A%22Analisi%20dei%20Dati%22%2C%22variance%22%3A%22varianza%20di%20%5BNUMBERS%5D%22%7D%2C%22nb%22%3A%7B%22average%22%3A%22gjennomsnittet%20av%20%5BNUMBERS%5D%22%2C%22maximum%22%3A%22maksimum%20av%20%5BNUMBERS%5D%22%2C%22median%22%3A%22median%20av%20%5BNUMBERS%5D%22%2C%22minimum%22%3A%22minimum%20av%20%5BNUMBERS%5D%22%2C%22mode%22%3A%22modus%20av%20%5BNUMBERS%5D%22%2C%22name%22%3A%22Dataanalyse%22%2C%22variance%22%3A%22variansen%20til%20%5BNUMBERS%5D%22%7D%2C%22nl%22%3A%7B%22average%22%3A%22gemiddelde%20van%20%5BNUMBERS%5D%22%2C%22maximum%22%3A%22maximum%20van%20%5BNUMBERS%5D%22%2C%22median%22%3A%22mediaan%20van%20%5BNUMBERS%5D%22%2C%22minimum%22%3A%22minimum%20van%20%5BNUMBERS%5D%22%2C%22mode%22%3A%22modus%20van%20%5BNUMBERS%5D%22%2C%22name%22%3A%22Gegevens%20Analyseren%22%2C%22variance%22%3A%22variantie%20van%20%5BNUMBERS%5D%22%7D%2C%22ru%22%3A%7B%22average%22%3A%22%D1%81%D1%80%D0%B5%D0%B4%D0%BD%D0%B5%D0%B5%20%D0%B7%D0%BD%D0%B0%D1%87%D0%B5%D0%BD%D0%B8%D0%B5%20%5BNUMBERS%5D%22%2C%22maximum%22%3A%22%D0%BC%D0%B0%D0%BA%D1%81%D0%B8%D0%BC%D1%83%D0%BC%20%5BNUMBERS%5D%22%2C%22median%22%3A%22%D0%BC%D0%B5%D0%B4%D0%B8%D0%B0%D0%BD%20%5BNUMBERS%5D%22%2C%22minimum%22%3A%22%D0%BC%D0%B8%D0%BD%D0%B8%D0%BC%D1%83%D0%BC%20%5BNUMBERS%5D%22%2C%22mode%22%3A%22%D1%80%D0%B5%D0%B6%D0%B8%D0%BC%20%5BNUMBERS%5D%22%2C%22name%22%3A%22%D0%90%D0%BD%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F%20%D0%94%D0%B0%D0%BD%D0%BD%D1%8B%D1%85%22%2C%22variance%22%3A%22%D0%BA%D0%BE%D0%BB%D0%B5%D0%B1%D0%B0%D0%BD%D0%B8%D0%B5%20%5BNUMBERS%5D%22%7D%2C%22zh-cn%22%3A%7B%22average%22%3A%22%5BNUMBERS%5D%E9%87%8C%E6%89%80%E6%9C%89%E6%95%B0%E5%AD%97%E7%9A%84%E5%B9%B3%E5%9D%87%E6%95%B0%22%2C%22maximum%22%3A%22%5BNUMBERS%5D%E9%87%8C%E6%89%80%E6%9C%89%E6%95%B0%E5%AD%97%E7%9A%84%E6%9C%80%E5%A4%A7%E6%95%B0%22%2C%22median%22%3A%22%5BNUMBERS%5D%E9%87%8C%E6%89%80%E6%9C%89%E6%95%B0%E5%AD%97%E7%9A%84%E4%B8%AD%E4%BD%8D%E6%95%B0%22%2C%22minimum%22%3A%22%5BNUMBERS%5D%E9%87%8C%E6%89%80%E6%9C%89%E6%95%B0%E5%AD%97%E7%9A%84%E6%9C%80%E5%B0%8F%E6%95%B0%22%2C%22mode%22%3A%22%5BNUMBERS%5D%E9%87%8C%E6%89%80%E6%9C%89%E6%95%B0%E5%AD%97%E7%9A%84%E4%BC%97%E6%95%B0%22%2C%22name%22%3A%22%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90%22%2C%22variance%22%3A%22%5BNUMBERS%5D%E9%87%8C%E6%89%80%E6%9C%89%E6%95%B0%E5%AD%97%E7%9A%84%E6%96%B9%E5%B7%AE%22%7D%7D)%3B%2F*%20end%20generated%20l10n%20code%20*%2F(function%20(Scratch)%20%7B%0A%20%20%22use%20strict%22%3B%0A%20%20class%20dataAnalysis%20%7B%0A%20%20%20%20getInfo()%20%7B%0A%20%20%20%20%20%20return%20%7B%0A%20%20%20%20%20%20%20%20id%3A%20%22qxsckdataanalysis%22%2C%0A%20%20%20%20%20%20%20%20name%3A%20Scratch.translate(%7B%20id%3A%20%22name%22%2C%20default%3A%20%22Data%20Analysis%22%20%7D)%2C%0A%20%20%20%20%20%20%20%20blocks%3A%20%5B%0A%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22average%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.REPORTER%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20id%3A%20%22average%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20default%3A%20%22average%20of%20%5BNUMBERS%5D%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20arguments%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20NUMBERS%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.STRING%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20%221%202%203%204%205%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22maximum%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.REPORTER%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20id%3A%20%22maximum%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20default%3A%20%22maximum%20of%20%5BNUMBERS%5D%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20arguments%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20NUMBERS%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.STRING%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20%221%202%203%204%205%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22minimum%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.REPORTER%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20id%3A%20%22minimum%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20default%3A%20%22minimum%20of%20%5BNUMBERS%5D%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20arguments%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20NUMBERS%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.STRING%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20%221%202%203%204%205%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22median%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.REPORTER%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20id%3A%20%22median%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20default%3A%20%22median%20of%20%5BNUMBERS%5D%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20arguments%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20NUMBERS%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.STRING%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20%221%202%203%204%205%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22mode%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.REPORTER%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20id%3A%20%22mode%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20default%3A%20%22mode%20of%20%5BNUMBERS%5D%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20arguments%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20NUMBERS%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.STRING%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20%221%202%202%203%204%205%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20opcode%3A%20%22variance%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20blockType%3A%20Scratch.BlockType.REPORTER%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20text%3A%20Scratch.translate(%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20id%3A%20%22variance%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20default%3A%20%22variance%20of%20%5BNUMBERS%5D%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D)%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20arguments%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20NUMBERS%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20type%3A%20Scratch.ArgumentType.STRING%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20defaultValue%3A%20%221%202%203%204%205%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%5D%2C%0A%20%20%20%20%20%20%7D%3B%0A%20%20%20%20%7D%0A%0A%20%20%20%20average(args)%20%7B%0A%20%20%20%20%20%20const%20numbers%20%3D%20Scratch.Cast.toString(args.NUMBERS)%0A%20%20%20%20%20%20%20%20.split(%22%20%22)%0A%20%20%20%20%20%20%20%20.map(Number)%3B%0A%20%20%20%20%20%20const%20sum%20%3D%20numbers.reduce((a%2C%20b)%20%3D%3E%20a%20%2B%20b%2C%200)%3B%0A%20%20%20%20%20%20return%20sum%20%2F%20numbers.length%3B%0A%20%20%20%20%7D%0A%0A%20%20%20%20maximum(args)%20%7B%0A%20%20%20%20%20%20const%20numbers%20%3D%20Scratch.Cast.toString(args.NUMBERS)%0A%20%20%20%20%20%20%20%20.split(%22%20%22)%0A%20%20%20%20%20%20%20%20.map(Number)%3B%0A%20%20%20%20%20%20return%20Math.max(...numbers)%3B%0A%20%20%20%20%7D%0A%0A%20%20%20%20minimum(args)%20%7B%0A%20%20%20%20%20%20const%20numbers%20%3D%20Scratch.Cast.toString(args.NUMBERS)%0A%20%20%20%20%20%20%20%20.split(%22%20%22)%0A%20%20%20%20%20%20%20%20.map(Number)%3B%0A%20%20%20%20%20%20return%20Math.min(...numbers)%3B%0A%20%20%20%20%7D%0A%0A%20%20%20%20median(args)%20%7B%0A%20%20%20%20%20%20const%20numbers%20%3D%20Scratch.Cast.toString(args.NUMBERS)%0A%20%20%20%20%20%20%20%20.split(%22%20%22)%0A%20%20%20%20%20%20%20%20.map(Number)%3B%0A%20%20%20%20%20%20const%20sorted%20%3D%20numbers.sort((a%2C%20b)%20%3D%3E%20a%20-%20b)%3B%0A%20%20%20%20%20%20const%20middle%20%3D%20Math.floor(sorted.length%20%2F%202)%3B%0A%20%20%20%20%20%20if%20(sorted.length%20%25%202%20%3D%3D%3D%200)%20%7B%0A%20%20%20%20%20%20%20%20return%20(sorted%5Bmiddle%20-%201%5D%20%2B%20sorted%5Bmiddle%5D)%20%2F%202%3B%0A%20%20%20%20%20%20%7D%20else%20%7B%0A%20%20%20%20%20%20%20%20return%20sorted%5Bmiddle%5D%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%0A%0A%20%20%20%20mode(args)%20%7B%0A%20%20%20%20%20%20const%20numbers%20%3D%20Scratch.Cast.toString(args.NUMBERS)%0A%20%20%20%20%20%20%20%20.split(%22%20%22)%0A%20%20%20%20%20%20%20%20.map(Number)%3B%0A%20%20%20%20%20%20const%20counts%20%3D%20new%20Map()%3B%0A%20%20%20%20%20%20let%20maxCount%20%3D%200%3B%0A%20%20%20%20%20%20let%20mode%20%3D%20null%3B%0A%20%20%20%20%20%20for%20(const%20number%20of%20numbers)%20%7B%0A%20%20%20%20%20%20%20%20let%20count%20%3D%20counts.get(number)%20%7C%7C%200%3B%0A%20%20%20%20%20%20%20%20count%2B%2B%3B%0A%20%20%20%20%20%20%20%20counts.set(number%2C%20count)%3B%0A%20%20%20%20%20%20%20%20if%20(count%20%3E%20maxCount)%20%7B%0A%20%20%20%20%20%20%20%20%20%20maxCount%20%3D%20count%3B%0A%20%20%20%20%20%20%20%20%20%20mode%20%3D%20number%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20return%20mode%3B%0A%20%20%20%20%7D%0A%0A%20%20%20%20variance(args)%20%7B%0A%20%20%20%20%20%20const%20numbers%20%3D%20Scratch.Cast.toString(args.NUMBERS)%0A%20%20%20%20%20%20%20%20.split(%22%20%22)%0A%20%20%20%20%20%20%20%20.map(Number)%3B%0A%20%20%20%20%20%20const%20mean%20%3D%20this.average(args)%3B%0A%20%20%20%20%20%20const%20squaredDifferences%20%3D%20numbers.map((x)%20%3D%3E%20(x%20-%20mean)%20**%202)%3B%0A%20%20%20%20%20%20const%20sum%20%3D%20squaredDifferences.reduce((a%2C%20b)%20%3D%3E%20a%20%2B%20b%2C%200)%3B%0A%20%20%20%20%20%20return%20sum%20%2F%20numbers.length%3B%0A%20%20%20%20%7D%0A%20%20%7D%0A%0A%20%20Scratch.extensions.register(new%20dataAnalysis())%3B%0A%7D)(Scratch)%3B%0A%20%7D)(Scratch)%3B"]) { + vm.extensionManager.loadExtensionURL(extension); + } + + vm.runtime.on('PROJECT_RUN_STOP', () => { + if (!vm.isPaused || !vm.isPaused()) { + window.close(); + } + }); + + } catch (e) { + handleError(e); + } + </script> + + + <script> + const getProjectData = (function() { + const storage = scaffolding.storage; + storage.onprogress = (total, loaded) => { + setProgress(interpolate(0.2, 0.98, loaded / total)); + }; + + storage.addWebStore( + [ + storage.AssetType.ImageVector, + storage.AssetType.ImageBitmap, + storage.AssetType.Sound, + storage.AssetType.Font + ].filter(i => i), + (asset) => new URL('./assets/' + asset.assetId + '.' + asset.dataFormat, location).href + ); + return () => new Promise((resolve, reject) => { + const xhr = new XMLHttpRequest(); + xhr.onload = () => { + resolve(xhr.response); + }; + xhr.onerror = () => { + if (location.protocol === 'file:') { + reject(new Error('Zip environment must be used from a website, not from a file URL.')); + } else { + reject(new Error('Request to load project data failed.')); + } + }; + xhr.onprogress = (e) => { + if (e.lengthComputable) { + setProgress(interpolate(0.1, 0.2, e.loaded / e.total)); + } + }; + xhr.responseType = 'arraybuffer'; + xhr.open('GET', "./assets/project.json"); + xhr.send(); + }); + })(); + </script> + <script> + const run = async () => { + const projectData = await getProjectData(); + await scaffolding.loadProject(projectData); + setProgress(1); + loadingScreen.hidden = true; + if (true) { + scaffolding.start(); + } else { + launchScreen.hidden = false; + launchScreen.addEventListener('click', () => { + launchScreen.hidden = true; + scaffolding.start(); + }); + launchScreen.focus(); + } + }; + run().catch(handleError); + </script> +</body> +</html> diff --git a/Keyboard/script.js b/Keyboard/script.js new file mode 100644 index 0000000..8c238e9 --- /dev/null +++ b/Keyboard/script.js @@ -0,0 +1,26 @@ +/*! +Parts of this script are from the TurboWarp Packager <https://packager.turbowarp.org/>, licensed as follows: +Copyright (C) 2021-2024 Thomas Weber + +The Source Code Form of this program is available under the terms of the +Mozilla Public License, v. 2.0. You can obtain a copy of the license at +https://www.mozilla.org/en-US/MPL/2.0/. + +Parts of this script are from Scratch <https://scratch.mit.edu/>, licensed as follows: +Copyright (c) 2016, Massachusetts Institute of Technology +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +/*! For license information please see scaffolding-min.js.LICENSE.txt */ +!function(e){function t(t){for(var n,i,s=t[0],o=t[1],a=0,c=[];a<s.length;a++)i=s[a],Object.prototype.hasOwnProperty.call(r,i)&&r[i]&&c.push(r[i][0]),r[i]=0;for(n in o)Object.prototype.hasOwnProperty.call(o,n)&&(e[n]=o[n]);for(l&&l(t);c.length;)c.shift()()}var n={},r={0:0};function i(t){if(n[t])return n[t].exports;var r=n[t]={i:t,l:!1,exports:{}};return e[t].call(r.exports,r,r.exports,i),r.l=!0,r.exports}i.e=function(e){var t=[],n=r[e];if(0!==n)if(n)t.push(n[2]);else{var s=new Promise((function(t,i){n=r[e]=[t,i]}));t.push(n[2]=s);var o,a=document.createElement("script");a.charset="utf-8",a.timeout=120,i.nc&&a.setAttribute("nonce",i.nc),a.src=function(e){return i.p+"scaffolding/"+({1:"vendors~iframe-extension-worker"}[e]||e)+".js"}(e);var l=new Error;o=function(t){a.onerror=a.onload=null,clearTimeout(c);var n=r[e];if(0!==n){if(n){var i=t&&("load"===t.type?"missing":t.type),s=t&&t.target&&t.target.src;l.message="Loading chunk "+e+" failed.\n("+i+": "+s+")",l.name="ChunkLoadError",l.type=i,l.request=s,n[1](l)}r[e]=void 0}};var c=setTimeout((function(){o({type:"timeout",target:a})}),12e4);a.onerror=a.onload=o,document.head.appendChild(a)}return Promise.all(t)},i.m=e,i.c=n,i.d=function(e,t,n){i.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},i.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.t=function(e,t){if(1&t&&(e=i(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(i.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)i.d(n,r,function(t){return e[t]}.bind(null,r));return n},i.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(t,"a",t),t},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},i.p="",i.oe=function(e){throw console.error(e),e};var s=window.webpackJsonp=window.webpackJsonp||[],o=s.push.bind(s);s.push=t,s=s.slice();for(var a=0;a<s.length;a++)t(s[a]);var l=o;i(i.s=425)}([function(e,t,n){var r=n(36),i=n(95),s=n(37),o=s.TYPE,a=n(93),l=a.isNewline,c=a.isName,u=a.isValidEscape,d=a.isNumberStart,h=a.isIdentifierStart,p=a.charCodeCategory,m=a.isBOM,f=n(27),g=f.cmpStr,y=f.getNewlineLength,b=f.findWhiteSpaceEnd,v=f.consumeEscaped,S=f.consumeName,w=f.consumeNumber,k=f.consumeBadUrlRemnants,x=16777215,T=24;function E(e,t){function n(t){return t<E?e.charCodeAt(t):0}function s(){return M=w(e,M),h(n(M),n(M+1),n(M+2))?(L=o.Dimension,void(M=S(e,M))):37===n(M)?(L=o.Percentage,void M++):void(L=o.Number)}function a(){const t=M;return M=S(e,M),g(e,t,M,"url")&&40===n(M)?34===n(M=b(e,M+1))||39===n(M)?(L=o.Function,void(M=t+4)):void function(){for(L=o.Url,M=b(e,M);M<e.length;M++){var t=e.charCodeAt(M);switch(p(t)){case 41:return void M++;case p.Eof:return;case p.WhiteSpace:return 41===n(M=b(e,M))||M>=e.length?void(M<e.length&&M++):(M=k(e,M),void(L=o.BadUrl));case 34:case 39:case 40:case p.NonPrintable:return M=k(e,M),void(L=o.BadUrl);case 92:if(u(t,n(M+1))){M=v(e,M)-1;break}return M=k(e,M),void(L=o.BadUrl)}}}():40===n(M)?(L=o.Function,void M++):void(L=o.Ident)}function f(t){for(t||(t=n(M++)),L=o.String;M<e.length;M++){var r=e.charCodeAt(M);switch(p(r)){case t:return void M++;case p.Eof:return;case p.WhiteSpace:if(l(r))return M+=y(e,M,r),void(L=o.BadString);break;case 92:if(M===e.length-1)break;var i=n(M+1);l(i)?M+=y(e,M+1,i):u(r,i)&&(M=v(e,M)-1)}}}t||(t=new r);for(var E=(e=String(e||"")).length,A=i(t.offsetAndType,E+1),C=i(t.balance,E+1),I=0,O=m(n(0)),M=O,N=0,R=0,D=0;M<E;){var P=e.charCodeAt(M),L=0;switch(C[I]=E,p(P)){case p.WhiteSpace:L=o.WhiteSpace,M=b(e,M+1);break;case 34:f();break;case 35:c(n(M+1))||u(n(M+1),n(M+2))?(L=o.Hash,M=S(e,M+1)):(L=o.Delim,M++);break;case 39:f();break;case 40:L=o.LeftParenthesis,M++;break;case 41:L=o.RightParenthesis,M++;break;case 43:d(P,n(M+1),n(M+2))?s():(L=o.Delim,M++);break;case 44:L=o.Comma,M++;break;case 45:d(P,n(M+1),n(M+2))?s():45===n(M+1)&&62===n(M+2)?(L=o.CDC,M+=3):h(P,n(M+1),n(M+2))?a():(L=o.Delim,M++);break;case 46:d(P,n(M+1),n(M+2))?s():(L=o.Delim,M++);break;case 47:42===n(M+1)?(L=o.Comment,1===(M=e.indexOf("*/",M+2)+2)&&(M=e.length)):(L=o.Delim,M++);break;case 58:L=o.Colon,M++;break;case 59:L=o.Semicolon,M++;break;case 60:33===n(M+1)&&45===n(M+2)&&45===n(M+3)?(L=o.CDO,M+=4):(L=o.Delim,M++);break;case 64:h(n(M+1),n(M+2),n(M+3))?(L=o.AtKeyword,M=S(e,M+1)):(L=o.Delim,M++);break;case 91:L=o.LeftSquareBracket,M++;break;case 92:u(P,n(M+1))?a():(L=o.Delim,M++);break;case 93:L=o.RightSquareBracket,M++;break;case 123:L=o.LeftCurlyBracket,M++;break;case 125:L=o.RightCurlyBracket,M++;break;case p.Digit:s();break;case p.NameStart:a();break;case p.Eof:break;default:L=o.Delim,M++}switch(L){case N:for(N=(R=C[D=R&x])>>T,C[I]=D,C[D++]=I;D<I;D++)C[D]===E&&(C[D]=I);break;case o.LeftParenthesis:case o.Function:C[I]=R,R=(N=o.RightParenthesis)<<T|I;break;case o.LeftSquareBracket:C[I]=R,R=(N=o.RightSquareBracket)<<T|I;break;case o.LeftCurlyBracket:C[I]=R,R=(N=o.RightCurlyBracket)<<T|I}A[I++]=L<<T|M}for(A[I]=o.EOF<<T|M,C[I]=E,C[E]=E;0!==R;)R=C[D=R&x],C[D]=E;return t.source=e,t.firstCharOffset=O,t.offsetAndType=A,t.tokenCount=I,t.balance=C,t.reset(),t.next(),t}Object.keys(s).forEach((function(e){E[e]=s[e]})),Object.keys(a).forEach((function(e){E[e]=a[e]})),Object.keys(f).forEach((function(e){E[e]=f[e]})),e.exports=E},function(e,t,n){const r=n(42);r.enable(),e.exports=r("vm")},function(e,t,n){const r=n(24),i=e=>{if("string"!=typeof e)return!1;for(let t=0;t<e.length;t++){const n=e.charCodeAt(t);if(48===n||9===n)return!1}return!0};class s{static toNumber(e){if("number"==typeof e)return Number.isNaN(e)?0:e;const t=Number(e);return Number.isNaN(t)?0:t}static toBoolean(e){return"boolean"==typeof e?e:"string"==typeof e?""!==e&&"0"!==e&&"false"!==e.toLowerCase():Boolean(e)}static toString(e){return String(e)}static toRgbColorList(e){const t=s.toRgbColorObject(e);return[t.r,t.g,t.b]}static toRgbColorObject(e){let t;return"string"==typeof e&&"#"===e.substring(0,1)?(t=r.hexToRgb(e),t||(t={r:0,g:0,b:0,a:255})):t=r.decimalToRgb(s.toNumber(e)),t}static isWhiteSpace(e){return null===e||"string"==typeof e&&0===e.trim().length}static compare(e,t){let n=Number(e),r=Number(t);if(0===n&&i(e)?n=NaN:0===r&&i(t)&&(r=NaN),isNaN(n)||isNaN(r)){const n=String(e).toLowerCase(),r=String(t).toLowerCase();return n<r?-1:n>r?1:0}return n===1/0&&r===1/0||n===-1/0&&r===-1/0?0:n-r}static isInt(e){return"number"==typeof e?!!isNaN(e)||e===Math.floor(e):"boolean"==typeof e||"string"==typeof e&&e.indexOf(".")<0}static get LIST_INVALID(){return"INVALID"}static get LIST_ALL(){return"ALL"}static toListIndex(e,t,n){if("number"!=typeof e){if("all"===e)return n?s.LIST_ALL:s.LIST_INVALID;if("last"===e)return t>0?t:s.LIST_INVALID;if("random"===e||"any"===e)return t>0?1+Math.floor(Math.random()*t):s.LIST_INVALID}return(e=Math.floor(s.toNumber(e)))<1||e>t?s.LIST_INVALID:e}}e.exports=s},function(e,t){e.exports={BOOLEAN:"Boolean",BUTTON:"button",LABEL:"label",COMMAND:"command",CONDITIONAL:"conditional",EVENT:"event",HAT:"hat",LOOP:"loop",REPORTER:"reporter",XML:"xml"}},function(e,t){e.exports={ANGLE:"angle",BOOLEAN:"Boolean",COLOR:"color",NUMBER:"number",STRING:"string",MATRIX:"matrix",NOTE:"note",IMAGE:"image",COSTUME:"costume",SOUND:"sound"}},function(e,t){e.exports=class{static degToRad(e){return e*Math.PI/180}static radToDeg(e){return 180*e/Math.PI}static clamp(e,t,n){return Math.min(Math.max(e,t),n)}static wrapClamp(e,t,n){const r=n-t+1;return e-Math.floor((e-t)/r)*r}static tan(e){switch(e%=360){case-270:case 90:return 1/0;case-90:case 270:return-1/0;default:return Math.round(1e10*Math.tan(Math.PI*e/180))/1e10}}static reducedSortOrdering(e){const t=e.slice(0).sort(((e,t)=>e-t));return e.map((e=>t.indexOf(e)))}static inclusiveRandIntWithout(e,t,n){const r=t-e,i=e+Math.floor(Math.random()*r);return i>=n?i+1:i}static scale(e,t,n,r,i){return(e-t)/(n-t)*(i-r)+r}}},function(e,t,n){"use strict";var r=n(130),i=n(131),s=n(68),o=n(67),a=n(66);function l(e,t){return Object.keys(t).forEach((function(n){e[n]=t[n]})),e}e.exports=function e(){var t=l({},a),n="en",c={},u=function(e){return e},d=null,h="warning",p={};function m(e,t,s){var o="string"==typeof e?e:e.default,a=y(o,"object"==typeof e&&e.id||u(o),s||n);return(a.format||(a.format=i(r(a.message),s||n,p)))(t)}m.rich=function(e,t,s){var o="string"==typeof e?e:e.default,a=y(o,"object"==typeof e&&e.id||u(o),s||n);return(a.toParts||(a.toParts=i.toParts(r(a.message,{tagsType:f}),s||n,p)))(t)};var f="<>";function g(e,t){var n=e[2];return function(e,t){var r="object"==typeof n?function(e,t){return Object.keys(e).reduce((function(n,r){return n[r]=e[r](t),n}),{})}(n,t):n;return"function"==typeof e?e(r):e}}function y(e,t,n){var r=o(n,c)||"en",i=c[r]||(c[r]={}),s=i[t];if("string"==typeof s&&(s=i[t]={message:s}),!s){var a='Translation for "'+t+'" in "'+r+'" is missing';if("warning"===h)"undefined"!=typeof console&&console.warn(a);else if("ignore"!==h)throw new Error(a);var l="function"==typeof d?d(e,t,r)||e:d||e;s=i[t]={message:l}}return s}function b(e,t,r,i,a){"object"==typeof r&&"object"!=typeof i&&(a=i,i=r,r=0);var l=o(a||n,s),c=l&&s[l][e]||v;return i["="+ +t]||i[c(t-r)]||i.other}function v(){return"other"}return p[f]=g,m.setup=function(e){return(e=e||{}).locale&&(n=e.locale),"translations"in e&&(c=e.translations||{}),e.generateId&&(u=e.generateId),"missingReplacement"in e&&(d=e.missingReplacement),e.missingTranslation&&(h=e.missingTranslation),e.formats&&(e.formats.number&&l(t.number,e.formats.number),e.formats.date&&l(t.date,e.formats.date),e.formats.time&&l(t.time,e.formats.time)),e.types&&((p=e.types)[f]=g),{locale:n,translations:c,generateId:u,missingReplacement:d,missingTranslation:h,formats:t,types:p}},m.number=function(e,r,i){var s=r&&t.number[r]||t.parseNumberPattern(r)||t.number.default;return new Intl.NumberFormat(i||n,s).format(e)},m.date=function(e,r,i){var s=r&&t.date[r]||t.parseDatePattern(r)||t.date.default;return new Intl.DateTimeFormat(i||n,s).format(e)},m.time=function(e,r,i){var s=r&&t.time[r]||t.parseDatePattern(r)||t.time.default;return new Intl.DateTimeFormat(i||n,s).format(e)},m.select=function(e,t){return t[e]||t.other},m.custom=function(e,t,n,r){return e[1]in p?p[e[1]](e,t)(n,r):n},m.plural=b.bind(null,"cardinal"),m.selectordinal=b.bind(null,"ordinal"),m.namespace=e,m}()},function(e,t,n){const r=n(1);class i{static withoutTrailingDigits(e){let t=e.length-1;for(;t>=0&&"0123456789".indexOf(e.charAt(t))>-1;)t--;return e.slice(0,t+1)}static unusedName(e,t){if(t.indexOf(e)<0)return e;e=i.withoutTrailingDigits(e);let n=2;for(;t.indexOf(e+n)>=0;)n++;return e+n}static splitFirst(e,t){const n=e.indexOf(t);return n>=0?[e.substring(0,n),e.substring(n+1)]:[e,null]}static stringify(e){return JSON.stringify(e,((e,t)=>"number"!=typeof t||t!==1/0&&t!==-1/0&&!isNaN(t)?t:0))}static replaceUnsafeChars(e){if("string"!=typeof e){if(!Array.isArray(e))return r.error("Unexpected input recieved in replaceUnsafeChars"),e;e=String(e)}return e.replace(/[<>&'"]/g,(e=>{switch(e){case"<":return"lt";case">":return"gt";case"&":return"amp";case"'":return"apos";case'"':return"quot"}}))}}e.exports=i},function(e,t){const n="!#%()*+,-./:;=?@[]^_`{|}~ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";e.exports=function(){const e=n.length,t=[];for(let r=0;r<20;r++)t[r]=n.charAt(Math.random()*e);return t.join("")}},function(e,t){var n;n=function(){return this}();try{n=n||new Function("return this")()}catch(e){"object"==typeof window&&(n=window)}e.exports=n},function(e,t,n){const r=n(8),i=n(32);class s{constructor(e,t,n,i){switch(this.id=e||r(),this.name=t,this.type=n,this.isCloud=i,this.type){case s.SCALAR_TYPE:this.value=0;break;case s.LIST_TYPE:this.value=[];break;case s.BROADCAST_MESSAGE_TYPE:this.value=this.name;break;default:throw new Error("Invalid variable type: ".concat(this.type))}}toXML(e){return e=!0===e,'<variable type="'.concat(this.type,'" id="').concat(this.id,'" islocal="').concat(e,'" iscloud="').concat(this.isCloud,'">').concat(i(this.name),"</variable>")}static get SCALAR_TYPE(){return""}static get LIST_TYPE(){return"list"}static get BROADCAST_MESSAGE_TYPE(){return"broadcast_msg"}}e.exports=s},function(e,t,n){var r;"undefined"!=typeof self&&self,r=function(){return function(e){var t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:r})},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=9)}([function(e,t,n){"use strict";t.__esModule=!0,t.copyExistingProperties=function(e,t){Object.keys(t).forEach((function(n){t.hasOwnProperty(n)&&e.hasOwnProperty(n)&&(t[n]=e[n])}))},t.copyNamedProperties=function(e,t,n){e.forEach((function(e){var r=t[e];void 0!==r&&(n[e]=r)}))},t.isBuffer=function(e,t){return o||(o=e.createBuffer()),t instanceof o.constructor},t.isRenderbuffer=function(e,t){return a||(a=e.createRenderbuffer()),t instanceof a.constructor},t.isShader=function(e,t){return l||(l=e.createShader(e.VERTEX_SHADER)),t instanceof l.constructor},t.isTexture=function(e,t){return c||(c=e.createTexture()),t instanceof c.constructor},t.isSampler=function(e,t){if(!u){if(!e.createSampler)return!1;u=e.createSampler()}return t instanceof u.constructor},t.warn=t.error=void 0;var r,i=(r=n(2))&&r.__esModule?r:{default:r},s=i.default.console&&i.default.console.error&&"function"==typeof i.default.console.error?i.default.console.error.bind(i.default.console):function(){};t.error=s;var o,a,l,c,u,d=i.default.console&&i.default.console.warn&&"function"==typeof i.default.console.warn?i.default.console.warn.bind(i.default.console):function(){};t.warn=d},function(e,t,n){"use strict";t.__esModule=!0,t.getGLTypeForTypedArray=function(e){if(e instanceof Int8Array)return s;if(e instanceof Uint8Array)return o;if(e instanceof Uint8ClampedArray)return o;if(e instanceof Int16Array)return a;if(e instanceof Uint16Array)return l;if(e instanceof Int32Array)return c;if(e instanceof Uint32Array)return u;if(e instanceof Float32Array)return d;throw"unsupported typed array type"},t.getGLTypeForTypedArrayType=function(e){if(e===Int8Array)return s;if(e===Uint8Array)return o;if(e===Uint8ClampedArray)return o;if(e===Int16Array)return a;if(e===Uint16Array)return l;if(e===Int32Array)return c;if(e===Uint32Array)return u;if(e===Float32Array)return d;throw"unsupported typed array type"},t.getTypedArrayTypeForGLType=function(e){var t=h[e];if(!t)throw"unknown gl type";return t},t.isArrayBuffer=void 0;var r,i=(r=n(2))&&r.__esModule?r:{default:r},s=5120,o=5121,a=5122,l=5123,c=5124,u=5125,d=5126,h={},p=h;p[s]=Int8Array,p[o]=Uint8Array,p[a]=Int16Array,p[l]=Uint16Array,p[c]=Int32Array,p[u]=Uint32Array,p[d]=Float32Array,p[32819]=Uint16Array,p[32820]=Uint16Array,p[33635]=Uint16Array,p[5131]=Uint16Array,p[33640]=Uint32Array,p[35899]=Uint32Array,p[35902]=Uint32Array,p[36269]=Uint32Array,p[34042]=Uint32Array;var m=i.default.SharedArrayBuffer?function(e){return e&&e.buffer&&(e.buffer instanceof ArrayBuffer||e.buffer instanceof i.default.SharedArrayBuffer)}:function(e){return e&&e.buffer&&e.buffer instanceof ArrayBuffer};t.isArrayBuffer=m},function(e,t,n){"use strict";t.__esModule=!0,t.default=void 0;var r=void 0!==r?r:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{};t.default=r},function(e,t,n){"use strict";t.__esModule=!0,t.add=function(e,t,n){return(n=n||new r(3))[0]=e[0]+t[0],n[1]=e[1]+t[1],n[2]=e[2]+t[2],n},t.copy=function(e,t){return(t=t||new r(3))[0]=e[0],t[1]=e[1],t[2]=e[2],t},t.create=function(e,t,n){var i=new r(3);return e&&(i[0]=e),t&&(i[1]=t),n&&(i[2]=n),i},t.cross=function(e,t,n){n=n||new r(3);var i=e[2]*t[0]-e[0]*t[2],s=e[0]*t[1]-e[1]*t[0];return n[0]=e[1]*t[2]-e[2]*t[1],n[1]=i,n[2]=s,n},t.distance=function(e,t){var n=e[0]-t[0],r=e[1]-t[1],i=e[2]-t[2];return Math.sqrt(n*n+r*r+i*i)},t.distanceSq=function(e,t){var n=e[0]-t[0],r=e[1]-t[1],i=e[2]-t[2];return n*n+r*r+i*i},t.divide=function(e,t,n){return(n=n||new r(3))[0]=e[0]/t[0],n[1]=e[1]/t[1],n[2]=e[2]/t[2],n},t.divScalar=function(e,t,n){return(n=n||new r(3))[0]=e[0]/t,n[1]=e[1]/t,n[2]=e[2]/t,n},t.dot=function(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]},t.lerp=function(e,t,n,i){return(i=i||new r(3))[0]=(1-n)*e[0]+n*t[0],i[1]=(1-n)*e[1]+n*t[1],i[2]=(1-n)*e[2]+n*t[2],i},t.length=function(e){return Math.sqrt(e[0]*e[0]+e[1]*e[1]+e[2]*e[2])},t.lengthSq=function(e){return e[0]*e[0]+e[1]*e[1]+e[2]*e[2]},t.mulScalar=function(e,t,n){return(n=n||new r(3))[0]=e[0]*t,n[1]=e[1]*t,n[2]=e[2]*t,n},t.multiply=function(e,t,n){return(n=n||new r(3))[0]=e[0]*t[0],n[1]=e[1]*t[1],n[2]=e[2]*t[2],n},t.negate=function(e,t){return(t=t||new r(3))[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t},t.normalize=function(e,t){t=t||new r(3);var n=e[0]*e[0]+e[1]*e[1]+e[2]*e[2],i=Math.sqrt(n);return i>1e-5?(t[0]=e[0]/i,t[1]=e[1]/i,t[2]=e[2]/i):(t[0]=0,t[1]=0,t[2]=0),t},t.setDefaultType=function(e){var t=r;return r=e,t},t.subtract=function(e,t,n){return(n=n||new r(3))[0]=e[0]-t[0],n[1]=e[1]-t[1],n[2]=e[2]-t[2],n};var r=Float32Array},function(e,t,n){"use strict";t.__esModule=!0,t.isWebGL1=function(e){return!e.texStorage2D},t.isWebGL2=function(e){return!!e.texStorage2D},t.glEnumToString=void 0;var r,i,s=(r={},i={},function(e,t){return function(e){var t=e.constructor.name;if(!r[t]){for(var n in e)if("number"==typeof e[n]){var s=i[e[n]];i[e[n]]=s?"".concat(s," | ").concat(n):n}r[t]=!0}}(e),i[t]||"0x"+t.toString(16)});t.glEnumToString=s},function(e,t,n){"use strict";t.__esModule=!0,t.createAttributeSetters=H,t.createProgram=L,t.createProgramFromScripts=function(e,t,n,r,i){for(var s=N(n,r,i),o=[],a=0;a<t.length;++a){var l=B(e,t[a],e[R[a]],s.errorCallback);if(!l)return null;o.push(l)}return L(e,o,s)},t.createProgramFromSources=z,t.createProgramInfo=function(e,t,n,r,i){var s=N(n,r,i),o=!0;if(t=t.map((function(e){if(e.indexOf("\n")<0){var t=u(e);t?e=t.text:(s.errorCallback("no element with id: "+e),o=!1)}return e})),!o)return null;var a=z(e,t,s);return a?K(e,a):null},t.createProgramInfoFromProgram=K,t.createUniformSetters=j,t.createUniformBlockSpecFromProgram=V,t.createUniformBlockInfoFromProgram=q,t.createUniformBlockInfo=function(e,t,n){return q(e,t.program,t.uniformBlockSpec,n)},t.createTransformFeedback=function(e,t,n){var r=e.createTransformFeedback();return e.bindTransformFeedback(e.TRANSFORM_FEEDBACK,r),e.useProgram(t.program),W(e,t,n),e.bindTransformFeedback(e.TRANSFORM_FEEDBACK,null),function(e,t,n){for(var r in t.transformFeedbackInfo&&(t=t.transformFeedbackInfo),n.attribs&&(n=n.attribs),n){var i=t[r];i&&e.bindBufferBase(e.TRANSFORM_FEEDBACK_BUFFER,i.index,null)}}(e,t,n),r},t.createTransformFeedbackInfo=F,t.bindTransformFeedbackInfo=W,t.setAttributes=_,t.setBuffersAndAttributes=function(e,t,n){n.vertexArrayObject?e.bindVertexArray(n.vertexArrayObject):(_(t.attribSetters||t,n.attribs),n.indices&&e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,n.indices))},t.setUniforms=function e(t,n){for(var r=t.uniformSetters||t,i=arguments.length,s=1;s<i;++s){var o=arguments[s];if(Array.isArray(o))for(var a=o.length,l=0;l<a;++l)e(r,o[l]);else for(var c in o){var u=r[c];u&&u(o[c])}}},t.setUniformBlock=function(e,t,n){Y(e,t,n)&&e.bufferData(e.UNIFORM_BUFFER,n.array,e.DYNAMIC_DRAW)},t.setBlockUniforms=function(e,t){var n=e.uniforms;for(var r in t){var i=n[r];if(i){var s=t[r];s.length?i.set(s):i[0]=s}}},t.bindUniformBlock=Y;var r,i=a(n(4)),s=a(n(0)),o=(r=n(2))&&r.__esModule?r:{default:r};function a(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){var r=Object.defineProperty&&Object.getOwnPropertyDescriptor?Object.getOwnPropertyDescriptor(e,n):{};r.get||r.set?Object.defineProperty(t,n,r):t[n]=e[n]}return t.default=e,t}var l=s.error,c=s.warn,u=o.default&&o.default.document&&o.default.document.getElementById?o.default.document.getElementById.bind(o.default.document):function(){return null},d=3553,h=34067,p=32879,m=35866,f={};function g(e,t){return f[t].bindPoint}function y(e,t){return function(n){e.uniform1i(t,n)}}function b(e,t){return function(n){e.uniform1iv(t,n)}}function v(e,t){return function(n){e.uniform2iv(t,n)}}function S(e,t){return function(n){e.uniform3iv(t,n)}}function w(e,t){return function(n){e.uniform4iv(t,n)}}function k(e,t,n,r){var o=g(0,t);return i.isWebGL2(e)?function(t){var i,a;s.isTexture(e,t)?(i=t,a=null):(i=t.texture,a=t.sampler),e.uniform1i(r,n),e.activeTexture(e.TEXTURE0+n),e.bindTexture(o,i),e.bindSampler(n,a)}:function(t){e.uniform1i(r,n),e.activeTexture(e.TEXTURE0+n),e.bindTexture(o,t)}}function x(e,t,n,r,o){for(var a=g(0,t),l=new Int32Array(o),c=0;c<o;++c)l[c]=n+c;return i.isWebGL2(e)?function(t){e.uniform1iv(r,l),t.forEach((function(t,r){var i,o;e.activeTexture(e.TEXTURE0+l[r]),s.isTexture(e,t)?(i=t,o=null):(i=t.texture,o=t.sampler),e.bindSampler(n,o),e.bindTexture(a,i)}))}:function(t){e.uniform1iv(r,l),t.forEach((function(t,n){e.activeTexture(e.TEXTURE0+l[n]),e.bindTexture(a,t)}))}}function T(e,t){return function(n){e.bindBuffer(e.ARRAY_BUFFER,n.buffer),e.enableVertexAttribArray(t),e.vertexAttribPointer(t,n.numComponents||n.size,n.type||e.FLOAT,n.normalize||!1,n.stride||0,n.offset||0),void 0!==n.divisor&&e.vertexAttribDivisor(t,n.divisor)}}function E(e,t){return function(n){e.bindBuffer(e.ARRAY_BUFFER,n.buffer),e.enableVertexAttribArray(t),e.vertexAttribIPointer(t,n.numComponents||n.size,n.type||e.INT,n.stride||0,n.offset||0),void 0!==n.divisor&&e.vertexAttribDivisor(t,n.divisor)}}function A(e,t,n){var r=n.size,i=n.count;return function(n){e.bindBuffer(e.ARRAY_BUFFER,n.buffer);for(var s=n.size||n.numComponents||r,o=s/i,a=n.type||e.FLOAT,l=f[a].size*s,c=n.normalize||!1,u=n.offset||0,d=l/i,h=0;h<i;++h)e.enableVertexAttribArray(t+h),e.vertexAttribPointer(t+h,o,a,c,l,u+d*h),void 0!==n.divisor&&e.vertexAttribDivisor(t+h,n.divisor)}}f[5126]={Type:Float32Array,size:4,setter:function(e,t){return function(n){e.uniform1f(t,n)}},arraySetter:function(e,t){return function(n){e.uniform1fv(t,n)}}},f[35664]={Type:Float32Array,size:8,setter:function(e,t){return function(n){e.uniform2fv(t,n)}}},f[35665]={Type:Float32Array,size:12,setter:function(e,t){return function(n){e.uniform3fv(t,n)}}},f[35666]={Type:Float32Array,size:16,setter:function(e,t){return function(n){e.uniform4fv(t,n)}}},f[5124]={Type:Int32Array,size:4,setter:y,arraySetter:b},f[35667]={Type:Int32Array,size:8,setter:v},f[35668]={Type:Int32Array,size:12,setter:S},f[35669]={Type:Int32Array,size:16,setter:w},f[5125]={Type:Uint32Array,size:4,setter:function(e,t){return function(n){e.uniform1ui(t,n)}},arraySetter:function(e,t){return function(n){e.uniform1uiv(t,n)}}},f[36294]={Type:Uint32Array,size:8,setter:function(e,t){return function(n){e.uniform2uiv(t,n)}}},f[36295]={Type:Uint32Array,size:12,setter:function(e,t){return function(n){e.uniform3uiv(t,n)}}},f[36296]={Type:Uint32Array,size:16,setter:function(e,t){return function(n){e.uniform4uiv(t,n)}}},f[35670]={Type:Uint32Array,size:4,setter:y,arraySetter:b},f[35671]={Type:Uint32Array,size:8,setter:v},f[35672]={Type:Uint32Array,size:12,setter:S},f[35673]={Type:Uint32Array,size:16,setter:w},f[35674]={Type:Float32Array,size:16,setter:function(e,t){return function(n){e.uniformMatrix2fv(t,!1,n)}}},f[35675]={Type:Float32Array,size:36,setter:function(e,t){return function(n){e.uniformMatrix3fv(t,!1,n)}}},f[35676]={Type:Float32Array,size:64,setter:function(e,t){return function(n){e.uniformMatrix4fv(t,!1,n)}}},f[35685]={Type:Float32Array,size:24,setter:function(e,t){return function(n){e.uniformMatrix2x3fv(t,!1,n)}}},f[35686]={Type:Float32Array,size:32,setter:function(e,t){return function(n){e.uniformMatrix2x4fv(t,!1,n)}}},f[35687]={Type:Float32Array,size:24,setter:function(e,t){return function(n){e.uniformMatrix3x2fv(t,!1,n)}}},f[35688]={Type:Float32Array,size:48,setter:function(e,t){return function(n){e.uniformMatrix3x4fv(t,!1,n)}}},f[35689]={Type:Float32Array,size:32,setter:function(e,t){return function(n){e.uniformMatrix4x2fv(t,!1,n)}}},f[35690]={Type:Float32Array,size:48,setter:function(e,t){return function(n){e.uniformMatrix4x3fv(t,!1,n)}}},f[35678]={Type:null,size:0,setter:k,arraySetter:x,bindPoint:d},f[35680]={Type:null,size:0,setter:k,arraySetter:x,bindPoint:h},f[35679]={Type:null,size:0,setter:k,arraySetter:x,bindPoint:p},f[35682]={Type:null,size:0,setter:k,arraySetter:x,bindPoint:d},f[36289]={Type:null,size:0,setter:k,arraySetter:x,bindPoint:m},f[36292]={Type:null,size:0,setter:k,arraySetter:x,bindPoint:m},f[36293]={Type:null,size:0,setter:k,arraySetter:x,bindPoint:h},f[36298]={Type:null,size:0,setter:k,arraySetter:x,bindPoint:d},f[36299]={Type:null,size:0,setter:k,arraySetter:x,bindPoint:p},f[36300]={Type:null,size:0,setter:k,arraySetter:x,bindPoint:h},f[36303]={Type:null,size:0,setter:k,arraySetter:x,bindPoint:m},f[36306]={Type:null,size:0,setter:k,arraySetter:x,bindPoint:d},f[36307]={Type:null,size:0,setter:k,arraySetter:x,bindPoint:p},f[36308]={Type:null,size:0,setter:k,arraySetter:x,bindPoint:h},f[36311]={Type:null,size:0,setter:k,arraySetter:x,bindPoint:m};var C={};C[5126]={size:4,setter:T},C[35664]={size:8,setter:T},C[35665]={size:12,setter:T},C[35666]={size:16,setter:T},C[5124]={size:4,setter:E},C[35667]={size:8,setter:E},C[35668]={size:12,setter:E},C[35669]={size:16,setter:E},C[5125]={size:4,setter:E},C[36294]={size:8,setter:E},C[36295]={size:12,setter:E},C[36296]={size:16,setter:E},C[35670]={size:4,setter:E},C[35671]={size:8,setter:E},C[35672]={size:12,setter:E},C[35673]={size:16,setter:E},C[35674]={size:4,setter:A,count:2},C[35675]={size:9,setter:A,count:3},C[35676]={size:16,setter:A,count:4};var I=void 0,O=/^[ \t]*\n/;function M(e,t,n,r){var i=r||l,s=e.createShader(n),o=0;if(O.test(t)&&(o=1,t=t.replace(O,"")),e.shaderSource(s,t),e.compileShader(s),!e.getShaderParameter(s,e.COMPILE_STATUS)){var a=e.getShaderInfoLog(s);return i(function(e,t){return t=t||0,++t,e.split("\n").map((function(e,n){return n+t+": "+e})).join("\n")}(t,o)+"\n*** Error compiling shader: "+a),e.deleteShader(s),null}return s}function N(e,t,n){var r;if("function"==typeof t&&(n=t,t=void 0),"function"==typeof e)n=e,e=void 0;else if(e&&!Array.isArray(e)){if(e.errorCallback)return e;var i=e;n=i.errorCallback,e=i.attribLocations,r=i.transformFeedbackVaryings}var s={errorCallback:n||l,transformFeedbackVaryings:r};if(e){var o={};Array.isArray(e)?e.forEach((function(e,n){o[e]=t?t[n]:n})):o=e,s.attribLocations=o}return s}var R=["VERTEX_SHADER","FRAGMENT_SHADER"];function D(e){return e.indexOf("frag")>=0?I.FRAGMENT_SHADER:e.indexOf("vert")>=0?I.VERTEX_SHADER:void 0}function P(e,t){t.forEach((function(t){e.deleteShader(t)}))}function L(e,t,n,r,i){for(var o=N(n,r,i),a=[],l=[],c=0;c<t.length;++c){var d=t[c];if("string"==typeof d){var h=u(d),p=h?h.text:d,m=e[R[c]];h&&h.type&&(m=D(h.type)||m),d=M(e,p,m,o.errorCallback),l.push(d)}s.isShader(e,d)&&a.push(d)}if(a.length!==t.length)return o.errorCallback("not enough shaders for program"),P(e,l),null;var f=e.createProgram();a.forEach((function(t){e.attachShader(f,t)})),o.attribLocations&&Object.keys(o.attribLocations).forEach((function(t){e.bindAttribLocation(f,o.attribLocations[t],t)}));var g=o.transformFeedbackVaryings;if(g&&(g.attribs&&(g=g.attribs),Array.isArray(g)||(g=Object.keys(g)),e.transformFeedbackVaryings(f,g,o.transformFeedbackMode||e.SEPARATE_ATTRIBS)),e.linkProgram(f),!e.getProgramParameter(f,e.LINK_STATUS)){var y=e.getProgramInfoLog(f);return o.errorCallback("Error in program linking:"+y),e.deleteProgram(f),P(e,l),null}return f}function B(e,t,n,r){var i,s=u(t);if(!s)throw"*** Error: unknown script element"+t;i=s.text;var o=n||D(s.type);if(!o)throw"*** Error: unknown shader type";return M(e,i,o,r)}function z(e,t,n,r,i){for(var s=N(n,r,i),o=[],a=0;a<t.length;++a){var l=M(e,t[a],e[R[a]],s.errorCallback);if(!l)return null;o.push(l)}return L(e,o,s)}function U(e){var t=e.name;return t.startsWith("gl_")||t.startsWith("webgl_")}function j(e,t){var n=0;function r(t,r){var i,s=e.getUniformLocation(t,r.name),o=r.size>1&&"[0]"===r.name.substr(-3),a=r.type,l=f[a];if(!l)throw"unknown type: 0x"+a.toString(16);if(l.bindPoint){var c=n;n+=r.size,i=o?l.arraySetter(e,a,c,s,r.size):l.setter(e,a,c,s,r.size)}else i=l.arraySetter&&o?l.arraySetter(e,s):l.setter(e,s);return i.location=s,i}for(var i={},s=e.getProgramParameter(t,e.ACTIVE_UNIFORMS),o=0;o<s;++o){var a=e.getActiveUniform(t,o);if(!U(a)){var l=a.name;"[0]"===l.substr(-3)&&(l=l.substr(0,l.length-3));var c=r(t,a);i[l]=c}}return i}function F(e,t){for(var n={},r=e.getProgramParameter(t,e.TRANSFORM_FEEDBACK_VARYINGS),i=0;i<r;++i){var s=e.getTransformFeedbackVarying(t,i);n[s.name]={index:i,type:s.type,size:s.size}}return n}function W(e,t,n){for(var r in t.transformFeedbackInfo&&(t=t.transformFeedbackInfo),n.attribs&&(n=n.attribs),n){var i=t[r];if(i){var s=n[r];s.offset?e.bindBufferRange(e.TRANSFORM_FEEDBACK_BUFFER,i.index,s.buffer,s.offset,s.size):e.bindBufferBase(e.TRANSFORM_FEEDBACK_BUFFER,i.index,s.buffer)}}}function V(e,t){for(var n=e.getProgramParameter(t,e.ACTIVE_UNIFORMS),r=[],i=[],s=0;s<n;++s){i.push(s),r.push({});var o=e.getActiveUniform(t,s);if(U(o))break;r[s].name=o.name}[["UNIFORM_TYPE","type"],["UNIFORM_SIZE","size"],["UNIFORM_BLOCK_INDEX","blockNdx"],["UNIFORM_OFFSET","offset"]].forEach((function(n){var s=n[0],o=n[1];e.getActiveUniforms(t,i,e[s]).forEach((function(e,t){r[t][o]=e}))}));for(var a={},l=e.getProgramParameter(t,e.ACTIVE_UNIFORM_BLOCKS),c=0;c<l;++c){var u=e.getActiveUniformBlockName(t,c),d={index:c,usedByVertexShader:e.getActiveUniformBlockParameter(t,c,e.UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER),usedByFragmentShader:e.getActiveUniformBlockParameter(t,c,e.UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER),size:e.getActiveUniformBlockParameter(t,c,e.UNIFORM_BLOCK_DATA_SIZE),uniformIndices:e.getActiveUniformBlockParameter(t,c,e.UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES)};d.used=d.usedByVertexSahder||d.usedByFragmentShader,a[u]=d}return{blockSpecs:a,uniformData:r}}var G=/\[\d+\]\.$/;function q(e,t,n,r){var i=n.blockSpecs,s=n.uniformData,o=i[r];if(!o)return c("no uniform block object named:",r),{name:r,uniforms:{}};var a=new ArrayBuffer(o.size),l=e.createBuffer(),u=o.index;e.bindBuffer(e.UNIFORM_BUFFER,l),e.uniformBlockBinding(t,o.index,u);var d=r+".";G.test(d)&&(d=d.replace(G,"."));var h={};return o.uniformIndices.forEach((function(e){var t=s[e],n=f[t.type],r=n.Type,i=t.size*n.size,o=t.name;o.substr(0,d.length)===d&&(o=o.substr(d.length)),h[o]=new r(a,t.offset,i/r.BYTES_PER_ELEMENT)})),{name:r,array:a,asFloat:new Float32Array(a),buffer:l,uniforms:h}}function Y(e,t,n){var r=(t.uniformBlockSpec||t).blockSpecs[n.name];if(r){var i=r.index;return e.bindBufferRange(e.UNIFORM_BUFFER,i,n.buffer,n.offset||0,n.array.byteLength),!0}return!1}function H(e,t){for(var n={},r=e.getProgramParameter(t,e.ACTIVE_ATTRIBUTES),i=0;i<r;++i){var s=e.getActiveAttrib(t,i);if(!U(s)){var o=e.getAttribLocation(t,s.name),a=C[s.type],l=a.setter(e,o,a);l.location=o,n[s.name]=l}}return n}function _(e,t){for(var n in t){var r=e[n];r&&r(t[n])}}function K(e,t){var n={program:t,uniformSetters:j(e,t),attribSetters:H(e,t)};return i.isWebGL2(e)&&(n.uniformBlockSpec=V(e,t),n.transformFeedbackInfo=F(e,t)),n}},function(e,t,n){"use strict";t.__esModule=!0,t.axisRotate=function(e,t,n,r){r=r||new i(16);var s=t[0],o=t[1],a=t[2],l=Math.sqrt(s*s+o*o+a*a),c=(s/=l)*s,u=(o/=l)*o,d=(a/=l)*a,h=Math.cos(n),p=Math.sin(n),m=1-h,f=c+(1-c)*h,g=s*o*m+a*p,y=s*a*m-o*p,b=s*o*m-a*p,v=u+(1-u)*h,S=o*a*m+s*p,w=s*a*m+o*p,k=o*a*m-s*p,x=d+(1-d)*h,T=e[0],E=e[1],A=e[2],C=e[3],I=e[4],O=e[5],M=e[6],N=e[7],R=e[8],D=e[9],P=e[10],L=e[11];return r[0]=f*T+g*I+y*R,r[1]=f*E+g*O+y*D,r[2]=f*A+g*M+y*P,r[3]=f*C+g*N+y*L,r[4]=b*T+v*I+S*R,r[5]=b*E+v*O+S*D,r[6]=b*A+v*M+S*P,r[7]=b*C+v*N+S*L,r[8]=w*T+k*I+x*R,r[9]=w*E+k*O+x*D,r[10]=w*A+k*M+x*P,r[11]=w*C+k*N+x*L,e!==r&&(r[12]=e[12],r[13]=e[13],r[14]=e[14],r[15]=e[15]),r},t.axisRotation=function(e,t,n){n=n||new i(16);var r=e[0],s=e[1],o=e[2],a=Math.sqrt(r*r+s*s+o*o),l=(r/=a)*r,c=(s/=a)*s,u=(o/=a)*o,d=Math.cos(t),h=Math.sin(t),p=1-d;return n[0]=l+(1-l)*d,n[1]=r*s*p+o*h,n[2]=r*o*p-s*h,n[3]=0,n[4]=r*s*p-o*h,n[5]=c+(1-c)*d,n[6]=s*o*p+r*h,n[7]=0,n[8]=r*o*p+s*h,n[9]=s*o*p-r*h,n[10]=u+(1-u)*d,n[11]=0,n[12]=0,n[13]=0,n[14]=0,n[15]=1,n},t.copy=l,t.frustum=function(e,t,n,r,s,o,a){a=a||new i(16);var l=t-e,c=r-n,u=s-o;return a[0]=2*s/l,a[1]=0,a[2]=0,a[3]=0,a[4]=0,a[5]=2*s/c,a[6]=0,a[7]=0,a[8]=(e+t)/l,a[9]=(r+n)/c,a[10]=o/u,a[11]=-1,a[12]=0,a[13]=0,a[14]=s*o/u,a[15]=0,a},t.getAxis=function(e,t,n){n=n||r.create();var i=4*t;return n[0]=e[i+0],n[1]=e[i+1],n[2]=e[i+2],n},t.getTranslation=function(e,t){return(t=t||r.create())[0]=e[12],t[1]=e[13],t[2]=e[14],t},t.identity=c,t.inverse=u,t.lookAt=function(e,t,n,l){l=l||new i(16);var c=s,u=o,d=a;return r.normalize(r.subtract(e,t,d),d),r.normalize(r.cross(n,d,c),c),r.normalize(r.cross(d,c,u),u),l[0]=c[0],l[1]=c[1],l[2]=c[2],l[3]=0,l[4]=u[0],l[5]=u[1],l[6]=u[2],l[7]=0,l[8]=d[0],l[9]=d[1],l[10]=d[2],l[11]=0,l[12]=e[0],l[13]=e[1],l[14]=e[2],l[15]=1,l},t.multiply=function(e,t,n){n=n||new i(16);var r=e[0],s=e[1],o=e[2],a=e[3],l=e[4],c=e[5],u=e[6],d=e[7],h=e[8],p=e[9],m=e[10],f=e[11],g=e[12],y=e[13],b=e[14],v=e[15],S=t[0],w=t[1],k=t[2],x=t[3],T=t[4],E=t[5],A=t[6],C=t[7],I=t[8],O=t[9],M=t[10],N=t[11],R=t[12],D=t[13],P=t[14],L=t[15];return n[0]=r*S+l*w+h*k+g*x,n[1]=s*S+c*w+p*k+y*x,n[2]=o*S+u*w+m*k+b*x,n[3]=a*S+d*w+f*k+v*x,n[4]=r*T+l*E+h*A+g*C,n[5]=s*T+c*E+p*A+y*C,n[6]=o*T+u*E+m*A+b*C,n[7]=a*T+d*E+f*A+v*C,n[8]=r*I+l*O+h*M+g*N,n[9]=s*I+c*O+p*M+y*N,n[10]=o*I+u*O+m*M+b*N,n[11]=a*I+d*O+f*M+v*N,n[12]=r*R+l*D+h*P+g*L,n[13]=s*R+c*D+p*P+y*L,n[14]=o*R+u*D+m*P+b*L,n[15]=a*R+d*D+f*P+v*L,n},t.negate=function(e,t){return(t=t||new i(16))[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=-e[3],t[4]=-e[4],t[5]=-e[5],t[6]=-e[6],t[7]=-e[7],t[8]=-e[8],t[9]=-e[9],t[10]=-e[10],t[11]=-e[11],t[12]=-e[12],t[13]=-e[13],t[14]=-e[14],t[15]=-e[15],t},t.ortho=function(e,t,n,r,s,o,a){return(a=a||new i(16))[0]=2/(t-e),a[1]=0,a[2]=0,a[3]=0,a[4]=0,a[5]=2/(r-n),a[6]=0,a[7]=0,a[8]=0,a[9]=0,a[10]=2/(s-o),a[11]=0,a[12]=(t+e)/(e-t),a[13]=(r+n)/(n-r),a[14]=(o+s)/(s-o),a[15]=1,a},t.perspective=function(e,t,n,r,s){s=s||new i(16);var o=Math.tan(.5*Math.PI-.5*e),a=1/(n-r);return s[0]=o/t,s[1]=0,s[2]=0,s[3]=0,s[4]=0,s[5]=o,s[6]=0,s[7]=0,s[8]=0,s[9]=0,s[10]=(n+r)*a,s[11]=-1,s[12]=0,s[13]=0,s[14]=n*r*a*2,s[15]=0,s},t.rotateX=function(e,t,n){n=n||new i(16);var r=e[4],s=e[5],o=e[6],a=e[7],l=e[8],c=e[9],u=e[10],d=e[11],h=Math.cos(t),p=Math.sin(t);return n[4]=h*r+p*l,n[5]=h*s+p*c,n[6]=h*o+p*u,n[7]=h*a+p*d,n[8]=h*l-p*r,n[9]=h*c-p*s,n[10]=h*u-p*o,n[11]=h*d-p*a,e!==n&&(n[0]=e[0],n[1]=e[1],n[2]=e[2],n[3]=e[3],n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15]),n},t.rotateY=function(e,t,n){n=n||new i(16);var r=e[0],s=e[1],o=e[2],a=e[3],l=e[8],c=e[9],u=e[10],d=e[11],h=Math.cos(t),p=Math.sin(t);return n[0]=h*r-p*l,n[1]=h*s-p*c,n[2]=h*o-p*u,n[3]=h*a-p*d,n[8]=h*l+p*r,n[9]=h*c+p*s,n[10]=h*u+p*o,n[11]=h*d+p*a,e!==n&&(n[4]=e[4],n[5]=e[5],n[6]=e[6],n[7]=e[7],n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15]),n},t.rotateZ=function(e,t,n){n=n||new i(16);var r=e[0],s=e[1],o=e[2],a=e[3],l=e[4],c=e[5],u=e[6],d=e[7],h=Math.cos(t),p=Math.sin(t);return n[0]=h*r+p*l,n[1]=h*s+p*c,n[2]=h*o+p*u,n[3]=h*a+p*d,n[4]=h*l-p*r,n[5]=h*c-p*s,n[6]=h*u-p*o,n[7]=h*d-p*a,e!==n&&(n[8]=e[8],n[9]=e[9],n[10]=e[10],n[11]=e[11],n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15]),n},t.rotationX=function(e,t){t=t||new i(16);var n=Math.cos(e),r=Math.sin(e);return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=n,t[6]=r,t[7]=0,t[8]=0,t[9]=-r,t[10]=n,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},t.rotationY=function(e,t){t=t||new i(16);var n=Math.cos(e),r=Math.sin(e);return t[0]=n,t[1]=0,t[2]=-r,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=r,t[9]=0,t[10]=n,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},t.rotationZ=function(e,t){t=t||new i(16);var n=Math.cos(e),r=Math.sin(e);return t[0]=n,t[1]=r,t[2]=0,t[3]=0,t[4]=-r,t[5]=n,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},t.scale=function(e,t,n){n=n||new i(16);var r=t[0],s=t[1],o=t[2];return n[0]=r*e[0],n[1]=r*e[1],n[2]=r*e[2],n[3]=r*e[3],n[4]=s*e[4],n[5]=s*e[5],n[6]=s*e[6],n[7]=s*e[7],n[8]=o*e[8],n[9]=o*e[9],n[10]=o*e[10],n[11]=o*e[11],e!==n&&(n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15]),n},t.scaling=function(e,t){return(t=t||new i(16))[0]=e[0],t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=e[1],t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=e[2],t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},t.setAxis=function(e,t,n,r){r!==e&&(r=l(e,r));var i=4*n;return r[i+0]=t[0],r[i+1]=t[1],r[i+2]=t[2],r},t.setDefaultType=function(e){var t=i;return i=e,t},t.setTranslation=function(e,t,n){return n=n||c(),e!==n&&(n[0]=e[0],n[1]=e[1],n[2]=e[2],n[3]=e[3],n[4]=e[4],n[5]=e[5],n[6]=e[6],n[7]=e[7],n[8]=e[8],n[9]=e[9],n[10]=e[10],n[11]=e[11]),n[12]=t[0],n[13]=t[1],n[14]=t[2],n[15]=1,n},t.transformDirection=function(e,t,n){n=n||r.create();var i=t[0],s=t[1],o=t[2];return n[0]=i*e[0]+s*e[4]+o*e[8],n[1]=i*e[1]+s*e[5]+o*e[9],n[2]=i*e[2]+s*e[6]+o*e[10],n},t.transformNormal=function(e,t,n){n=n||r.create();var i=u(e),s=t[0],o=t[1],a=t[2];return n[0]=s*i[0]+o*i[1]+a*i[2],n[1]=s*i[4]+o*i[5]+a*i[6],n[2]=s*i[8]+o*i[9]+a*i[10],n},t.transformPoint=function(e,t,n){n=n||r.create();var i=t[0],s=t[1],o=t[2],a=i*e[3]+s*e[7]+o*e[11]+e[15];return n[0]=(i*e[0]+s*e[4]+o*e[8]+e[12])/a,n[1]=(i*e[1]+s*e[5]+o*e[9]+e[13])/a,n[2]=(i*e[2]+s*e[6]+o*e[10]+e[14])/a,n},t.translate=function(e,t,n){n=n||new i(16);var r=t[0],s=t[1],o=t[2],a=e[0],l=e[1],c=e[2],u=e[3],d=e[4],h=e[5],p=e[6],m=e[7],f=e[8],g=e[9],y=e[10],b=e[11],v=e[12],S=e[13],w=e[14],k=e[15];return e!==n&&(n[0]=a,n[1]=l,n[2]=c,n[3]=u,n[4]=d,n[5]=h,n[6]=p,n[7]=m,n[8]=f,n[9]=g,n[10]=y,n[11]=b),n[12]=a*r+d*s+f*o+v,n[13]=l*r+h*s+g*o+S,n[14]=c*r+p*s+y*o+w,n[15]=u*r+m*s+b*o+k,n},t.translation=function(e,t){return(t=t||new i(16))[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=e[0],t[13]=e[1],t[14]=e[2],t[15]=1,t},t.transpose=function(e,t){var n;if((t=t||new i(16))===e)return n=e[1],e[1]=e[4],e[4]=n,n=e[2],e[2]=e[8],e[8]=n,n=e[3],e[3]=e[12],e[12]=n,n=e[6],e[6]=e[9],e[9]=n,n=e[7],e[7]=e[13],e[13]=n,n=e[11],e[11]=e[14],e[14]=n,t;var r=e[0],s=e[1],o=e[2],a=e[3],l=e[4],c=e[5],u=e[6],d=e[7],h=e[8],p=e[9],m=e[10],f=e[11],g=e[12],y=e[13],b=e[14],v=e[15];return t[0]=r,t[1]=l,t[2]=h,t[3]=g,t[4]=s,t[5]=c,t[6]=p,t[7]=y,t[8]=o,t[9]=u,t[10]=m,t[11]=b,t[12]=a,t[13]=d,t[14]=f,t[15]=v,t};var r=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){var r=Object.defineProperty&&Object.getOwnPropertyDescriptor?Object.getOwnPropertyDescriptor(e,n):{};r.get||r.set?Object.defineProperty(t,n,r):t[n]=e[n]}return t.default=e,t}(n(3)),i=Float32Array,s=r.create(),o=r.create(),a=r.create();function l(e,t){return(t=t||new i(16))[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t}function c(e){return(e=e||new i(16))[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function u(e,t){t=t||new i(16);var n=e[0],r=e[1],s=e[2],o=e[3],a=e[4],l=e[5],c=e[6],u=e[7],d=e[8],h=e[9],p=e[10],m=e[11],f=e[12],g=e[13],y=e[14],b=e[15],v=p*b,S=y*m,w=c*b,k=y*u,x=c*m,T=p*u,E=s*b,A=y*o,C=s*m,I=p*o,O=s*u,M=c*o,N=d*g,R=f*h,D=a*g,P=f*l,L=a*h,B=d*l,z=n*g,U=f*r,j=n*h,F=d*r,W=n*l,V=a*r,G=v*l+k*h+x*g-(S*l+w*h+T*g),q=S*r+E*h+I*g-(v*r+A*h+C*g),Y=w*r+A*l+O*g-(k*r+E*l+M*g),H=T*r+C*l+M*h-(x*r+I*l+O*h),_=1/(n*G+a*q+d*Y+f*H);return t[0]=_*G,t[1]=_*q,t[2]=_*Y,t[3]=_*H,t[4]=_*(S*a+w*d+T*f-(v*a+k*d+x*f)),t[5]=_*(v*n+A*d+C*f-(S*n+E*d+I*f)),t[6]=_*(k*n+E*a+M*f-(w*n+A*a+O*f)),t[7]=_*(x*n+I*a+O*d-(T*n+C*a+M*d)),t[8]=_*(N*u+P*m+L*b-(R*u+D*m+B*b)),t[9]=_*(R*o+z*m+F*b-(N*o+U*m+j*b)),t[10]=_*(D*o+U*u+W*b-(P*o+z*u+V*b)),t[11]=_*(B*o+j*u+V*m-(L*o+F*u+W*m)),t[12]=_*(D*p+B*y+R*c-(L*y+N*c+P*p)),t[13]=_*(j*y+N*s+U*p-(z*p+F*y+R*s)),t[14]=_*(z*c+V*y+P*s-(W*y+D*s+U*c)),t[15]=_*(W*p+L*s+F*c-(j*c+V*p+B*s)),t}},function(e,t,n){"use strict";t.__esModule=!0,t.createAttribsFromArrays=g,t.createBuffersFromArrays=function(e,t){var n={};return Object.keys(t).forEach((function(r){n[r]=b(e,t[r],r)})),t.indices?(n.numElements=t.indices.length,n.elementType=r.getGLTypeForTypedArray(f(t.indices),"indices")):n.numElements=function(e){for(var t,n=0;n<y.length&&!((t=y[n])in e);++n);ii===y.length&&(t=Object.keys(e)[0]);var r=e[t],i=u(r).length,s=m(r,t),o=i/s;if(i%s>0)throw"numComponents "+s+" not correct for length "+i;return o}(t),n},t.createBufferFromArray=b,t.createBufferFromTypedArray=l,t.createBufferInfoFromArrays=function(e,t){var n={attribs:g(e,t)},i=t.indices;if(i){var s=f(i,"indices");n.indices=l(e,s,e.ELEMENT_ARRAY_BUFFER),n.numElements=s.length,n.elementType=r.getGLTypeForTypedArray(s)}else n.numElements=function(e,t){var n,r;for(r=0;r<y.length&&!((n=y[r])in t)&&!((n=o.attribPrefix+n)in t);++r);r===y.length&&(n=Object.keys(t)[0]);var i=t[n];e.bindBuffer(e.ARRAY_BUFFER,i.buffer);var s=e.getBufferParameter(e.ARRAY_BUFFER,e.BUFFER_SIZE);e.bindBuffer(e.ARRAY_BUFFER,null);var a=function(e,t){return t===e.BYTE||t===e.UNSIGNED_BYTE?1:t===e.SHORT||t===e.UNSIGNED_SHORT?2:t===e.INT||t===e.UNSIGNED_INT||t===e.FLOAT?4:0}(e,i.type),l=s/a,c=i.numComponents||i.size,u=l/c;if(u%1!=0)throw"numComponents "+c+" not correct for length "+length;return u}(e,n.attribs);return n},t.setAttribInfoBufferFromArray=function(e,t,n,r){n=f(n),void 0!==r?(e.bindBuffer(e.ARRAY_BUFFER,t.buffer),e.bufferSubData(e.ARRAY_BUFFER,r,n)):a(e,e.ARRAY_BUFFER,t.buffer,n,t.drawType)},t.setAttributePrefix=function(e){o.attribPrefix=e},t.setAttributeDefaults_=function(e){i.copyExistingProperties(e,o)},t.getNumComponents_=m,t.getArray_=u;var r=s(n(1)),i=s(n(0));function s(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){var r=Object.defineProperty&&Object.getOwnPropertyDescriptor?Object.getOwnPropertyDescriptor(e,n):{};r.get||r.set?Object.defineProperty(t,n,r):t[n]=e[n]}return t.default=e,t}var o={attribPrefix:""};function a(e,t,n,r,i){e.bindBuffer(t,n),e.bufferData(t,r,i||e.STATIC_DRAW)}function l(e,t,n,r){if(i.isBuffer(e,t))return t;n=n||e.ARRAY_BUFFER;var s=e.createBuffer();return a(e,n,s,t,r),s}function c(e){return"indices"===e}function u(e){return e.length?e:e.data}var d=/coord|texture/i,h=/color|colour/i;function p(e,t){var n;if(t%(n=d.test(e)?2:h.test(e)?4:3)>0)throw"Can not guess numComponents for attribute '"+e+"'. Tried "+n+" but "+t+" values is not evenly divisible by "+n+". You should specify it.";return n}function m(e,t){return e.numComponents||e.size||p(t,u(e).length)}function f(e,t){if(r.isArrayBuffer(e))return e;if(r.isArrayBuffer(e.data))return e.data;Array.isArray(e)&&(e={data:e});var n=e.type;return n||(n=c(t)?Uint16Array:Float32Array),new n(e.data)}function g(e,t){var n={};return Object.keys(t).forEach((function(i){if(!c(i)){var s,a,u,d,h,g=t[i],y=g.attrib||g.name||g.attribName||o.attribPrefix+i;if("number"==typeof g||"number"==typeof g.data){h=g.data||g;var b=g.type||Float32Array,v=h*b.BYTES_PER_ELEMENT;a=r.getGLTypeForTypedArrayType(b),u=void 0!==g.normalize?g.normalize:(w=b)===Int8Array||w===Uint8Array,d=g.numComponents||g.size||p(i,h),s=e.createBuffer(),e.bindBuffer(e.ARRAY_BUFFER,s),e.bufferData(e.ARRAY_BUFFER,v,g.drawType||e.STATIC_DRAW)}else{var S=f(g,i);s=l(e,S,void 0,g.drawType),a=r.getGLTypeForTypedArray(S),u=void 0!==g.normalize?g.normalize:function(e){return e instanceof Int8Array||e instanceof Uint8Array}(S),d=m(g,i),h=S.length}n[y]={buffer:s,numComponents:d,type:a,normalize:u,stride:g.stride||0,offset:g.offset||0,divisor:void 0===g.divisor?void 0:g.divisor,drawType:g.drawType}}var w})),e.bindBuffer(e.ARRAY_BUFFER,null),n}var y=["position","positions","a_position"];function b(e,t,n){var r="indices"===n?e.ELEMENT_ARRAY_BUFFER:e.ARRAY_BUFFER;return l(e,f(t,n),r)}},function(e,t,n){"use strict";t.__esModule=!0,t.setTextureDefaults_=function(e){o.copyExistingProperties(e,c),e.textureColor&&q(e.textureColor)},t.createSampler=$,t.createSamplers=function(e,t){var n={};return Object.keys(t).forEach((function(r){n[r]=$(e,t[r])})),n},t.setSamplerParameters=J,t.createTexture=me,t.setEmptyTexture=pe,t.setTextureFromArray=he,t.loadTextureFromUrl=ce,t.setTextureFromElement=ie,t.setTextureFilteringForSize=ee,t.setTextureParameters=Z,t.setDefaultTextureColor=q,t.createTextures=function(e,t,n){n=n||se;var r=0,i=[],s={},o={};function a(){0===r&&setTimeout((function(){n(i.length?i:void 0,s,o)}),0)}return Object.keys(t).forEach((function(n){var l,c,u=t[n];("string"==typeof(c=u.src)||Array.isArray(c)&&"string"==typeof c[0])&&(l=function(e,t,s){o[n]=s,--r,e&&i.push(e),a()},++r),s[n]=me(e,u,l)})),a(),s},t.resizeTexture=function(e,t,n,r,i){r=r||n.width,i=i||n.height;var s=n.target||e.TEXTURE_2D;e.bindTexture(s,t);var o,a=n.level||0,l=n.internalFormat||n.format||e.RGBA,c=F(l),d=n.format||c.format,h=n.src;if(o=h&&(u(h)||Array.isArray(h)&&"number"==typeof h[0])?n.type||V(e,h,c.type):n.type||c.type,s===e.TEXTURE_CUBE_MAP)for(var p=0;p<6;++p)e.texImage2D(e.TEXTURE_CUBE_MAP_POSITIVE_X+p,a,l,r,i,0,d,o,null);else e.texImage2D(s,a,l,r,i,0,d,o,null)},t.getNumComponentsForFormat=function(e){var t=L[e];if(!t)throw"unknown format: "+e;return t.numColorComponents},t.getBytesPerElementForInternalFormat=j;var r,i=l(n(4)),s=l(n(1)),o=l(n(0)),a=(r=n(2))&&r.__esModule?r:{default:r};function l(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){var r=Object.defineProperty&&Object.getOwnPropertyDescriptor?Object.getOwnPropertyDescriptor(e,n):{};r.get||r.set?Object.defineProperty(t,n,r):t[n]=e[n]}return t.default=e,t}var c={textureColor:new Uint8Array([128,192,255,255]),textureOptions:{},crossOrigin:void 0},u=s.isArrayBuffer,d=a.default.document&&a.default.document.createElement?a.default.document.createElement("canvas").getContext("2d"):null,h=6406,p=6407,m=6408,f=6409,g=6410,y=6402,b=34041,v=5120,S=5121,w=5122,k=5123,x=5124,T=5125,E=5126,A=5131,C=36193,I=33640,O=33319,M=33320,N=6403,R=36244,D=36248,P=36249,L={},B=L;B[6406]={numColorComponents:1},B[6409]={numColorComponents:1},B[6410]={numColorComponents:2},B[p]={numColorComponents:3},B[m]={numColorComponents:4},B[N]={numColorComponents:1},B[36244]={numColorComponents:1},B[O]={numColorComponents:2},B[33320]={numColorComponents:2},B[p]={numColorComponents:3},B[36248]={numColorComponents:3},B[m]={numColorComponents:4},B[36249]={numColorComponents:4},B[6402]={numColorComponents:1},B[34041]={numColorComponents:2};var z={},U=z;function j(e,t){var n=z[e];if(!n)throw"unknown internal format";var r=n.bytesPerElementMap[t];if(void 0===r)throw"unknown internal format";return r}function F(e){var t=z[e];if(!t)throw"unknown internal format";return{format:t.textureFormat,type:Array.isArray(t.type)?t.type[0]:t.type}}function W(e){return!(e&e-1)}function V(e,t,n){return u(t)?s.getGLTypeForTypedArray(t):n||e.UNSIGNED_BYTE}function G(e,t,n,r,i){if(i%1!=0)throw"can't guess dimensions";if(n||r){if(r){if(!n&&(n=i/r)%1)throw"can't guess dimensions"}else if((r=i/n)%1)throw"can't guess dimensions"}else{var s=Math.sqrt(i/(t===e.TEXTURE_CUBE_MAP?6:1));s%1==0?(n=s,r=s):(n=i,r=1)}return{width:n,height:r}}function q(e){c.textureColor=new Uint8Array([255*e[0],255*e[1],255*e[2],255*e[3]])}U[6406]={textureFormat:h,colorRenderable:!0,textureFilterable:!0,bytesPerElement:[1,2,2,4],type:[S,A,C,E]},U[6409]={textureFormat:f,colorRenderable:!0,textureFilterable:!0,bytesPerElement:[1,2,2,4],type:[S,A,C,E]},U[6410]={textureFormat:g,colorRenderable:!0,textureFilterable:!0,bytesPerElement:[2,4,4,8],type:[S,A,C,E]},U[p]={textureFormat:p,colorRenderable:!0,textureFilterable:!0,bytesPerElement:[3,6,6,12,2],type:[S,A,C,E,33635]},U[m]={textureFormat:m,colorRenderable:!0,textureFilterable:!0,bytesPerElement:[4,8,8,16,2,2],type:[S,A,C,E,32819,32820]},U[33321]={textureFormat:N,colorRenderable:!0,textureFilterable:!0,bytesPerElement:1,type:S},U[36756]={textureFormat:N,colorRenderable:!1,textureFilterable:!0,bytesPerElement:1,type:v},U[33325]={textureFormat:N,colorRenderable:!1,textureFilterable:!0,bytesPerElement:[4,2],type:[E,A]},U[33326]={textureFormat:N,colorRenderable:!1,textureFilterable:!1,bytesPerElement:4,type:E},U[33330]={textureFormat:R,colorRenderable:!0,textureFilterable:!1,bytesPerElement:1,type:S},U[33329]={textureFormat:R,colorRenderable:!0,textureFilterable:!1,bytesPerElement:1,type:v},U[33332]={textureFormat:R,colorRenderable:!0,textureFilterable:!1,bytesPerElement:2,type:k},U[33331]={textureFormat:R,colorRenderable:!0,textureFilterable:!1,bytesPerElement:2,type:w},U[33334]={textureFormat:R,colorRenderable:!0,textureFilterable:!1,bytesPerElement:4,type:T},U[33333]={textureFormat:R,colorRenderable:!0,textureFilterable:!1,bytesPerElement:4,type:x},U[33323]={textureFormat:O,colorRenderable:!0,textureFilterable:!0,bytesPerElement:2,type:S},U[36757]={textureFormat:O,colorRenderable:!1,textureFilterable:!0,bytesPerElement:2,type:v},U[33327]={textureFormat:O,colorRenderable:!1,textureFilterable:!0,bytesPerElement:[8,4],type:[E,A]},U[33328]={textureFormat:O,colorRenderable:!1,textureFilterable:!1,bytesPerElement:8,type:E},U[33336]={textureFormat:M,colorRenderable:!0,textureFilterable:!1,bytesPerElement:2,type:S},U[33335]={textureFormat:M,colorRenderable:!0,textureFilterable:!1,bytesPerElement:2,type:v},U[33338]={textureFormat:M,colorRenderable:!0,textureFilterable:!1,bytesPerElement:4,type:k},U[33337]={textureFormat:M,colorRenderable:!0,textureFilterable:!1,bytesPerElement:4,type:w},U[33340]={textureFormat:M,colorRenderable:!0,textureFilterable:!1,bytesPerElement:8,type:T},U[33339]={textureFormat:M,colorRenderable:!0,textureFilterable:!1,bytesPerElement:8,type:x},U[32849]={textureFormat:p,colorRenderable:!0,textureFilterable:!0,bytesPerElement:3,type:S},U[35905]={textureFormat:p,colorRenderable:!1,textureFilterable:!0,bytesPerElement:3,type:S},U[36194]={textureFormat:p,colorRenderable:!0,textureFilterable:!0,bytesPerElement:[3,2],type:[S,33635]},U[36758]={textureFormat:p,colorRenderable:!1,textureFilterable:!0,bytesPerElement:3,type:v},U[35898]={textureFormat:p,colorRenderable:!1,textureFilterable:!0,bytesPerElement:[12,6,4],type:[E,A,35899]},U[35901]={textureFormat:p,colorRenderable:!1,textureFilterable:!0,bytesPerElement:[12,6,4],type:[E,A,35902]},U[34843]={textureFormat:p,colorRenderable:!1,textureFilterable:!0,bytesPerElement:[12,6],type:[E,A]},U[34837]={textureFormat:p,colorRenderable:!1,textureFilterable:!1,bytesPerElement:12,type:E},U[36221]={textureFormat:D,colorRenderable:!1,textureFilterable:!1,bytesPerElement:3,type:S},U[36239]={textureFormat:D,colorRenderable:!1,textureFilterable:!1,bytesPerElement:3,type:v},U[36215]={textureFormat:D,colorRenderable:!1,textureFilterable:!1,bytesPerElement:6,type:k},U[36233]={textureFormat:D,colorRenderable:!1,textureFilterable:!1,bytesPerElement:6,type:w},U[36209]={textureFormat:D,colorRenderable:!1,textureFilterable:!1,bytesPerElement:12,type:T},U[36227]={textureFormat:D,colorRenderable:!1,textureFilterable:!1,bytesPerElement:12,type:x},U[32856]={textureFormat:m,colorRenderable:!0,textureFilterable:!0,bytesPerElement:4,type:S},U[35907]={textureFormat:m,colorRenderable:!0,textureFilterable:!0,bytesPerElement:4,type:S},U[36759]={textureFormat:m,colorRenderable:!1,textureFilterable:!0,bytesPerElement:4,type:v},U[32855]={textureFormat:m,colorRenderable:!0,textureFilterable:!0,bytesPerElement:[4,2,4],type:[S,32820,I]},U[32854]={textureFormat:m,colorRenderable:!0,textureFilterable:!0,bytesPerElement:[4,2],type:[S,32819]},U[32857]={textureFormat:m,colorRenderable:!0,textureFilterable:!0,bytesPerElement:4,type:I},U[34842]={textureFormat:m,colorRenderable:!1,textureFilterable:!0,bytesPerElement:[16,8],type:[E,A]},U[34836]={textureFormat:m,colorRenderable:!1,textureFilterable:!1,bytesPerElement:16,type:E},U[36220]={textureFormat:P,colorRenderable:!0,textureFilterable:!1,bytesPerElement:4,type:S},U[36238]={textureFormat:P,colorRenderable:!0,textureFilterable:!1,bytesPerElement:4,type:v},U[36975]={textureFormat:P,colorRenderable:!0,textureFilterable:!1,bytesPerElement:4,type:I},U[36214]={textureFormat:P,colorRenderable:!0,textureFilterable:!1,bytesPerElement:8,type:k},U[36232]={textureFormat:P,colorRenderable:!0,textureFilterable:!1,bytesPerElement:8,type:w},U[36226]={textureFormat:P,colorRenderable:!0,textureFilterable:!1,bytesPerElement:16,type:x},U[36208]={textureFormat:P,colorRenderable:!0,textureFilterable:!1,bytesPerElement:16,type:T},U[33189]={textureFormat:y,colorRenderable:!0,textureFilterable:!1,bytesPerElement:[2,4],type:[k,T]},U[33190]={textureFormat:y,colorRenderable:!0,textureFilterable:!1,bytesPerElement:4,type:T},U[36012]={textureFormat:y,colorRenderable:!0,textureFilterable:!1,bytesPerElement:4,type:E},U[35056]={textureFormat:b,colorRenderable:!0,textureFilterable:!1,bytesPerElement:4,type:34042},U[36013]={textureFormat:b,colorRenderable:!0,textureFilterable:!1,bytesPerElement:4,type:36269},Object.keys(U).forEach((function(e){var t=U[e];if(t.bytesPerElementMap={},Array.isArray(t.bytesPerElement))t.bytesPerElement.forEach((function(e,n){var r=t.type[n];t.bytesPerElementMap[r]=e}));else{var n=t.type;t.bytesPerElementMap[n]=t.bytesPerElement}}));var Y={};function H(e,t){void 0!==t.colorspaceConversion&&(Y.colorspaceConversion=e.getParameter(e.UNPACK_COLORSPACE_CONVERSION_WEBGL),e.pixelStorei(e.UNPACK_COLORSPACE_CONVERSION_WEBGL,t.colorspaceConversion)),void 0!==t.premultiplyAlpha&&(Y.premultiplyAlpha=e.getParameter(e.UNPACK_PREMULTIPLY_ALPHA_WEBGL),e.pixelStorei(e.UNPACK_PREMULTIPLY_ALPHA_WEBGL,t.premultiplyAlpha)),void 0!==t.flipY&&(Y.flipY=e.getParameter(e.UNPACK_FLIP_Y_WEBGL),e.pixelStorei(e.UNPACK_FLIP_Y_WEBGL,t.flipY))}function _(e,t){void 0!==t.colorspaceConversion&&e.pixelStorei(e.UNPACK_COLORSPACE_CONVERSION_WEBGL,Y.colorspaceConversion),void 0!==t.premultiplyAlpha&&e.pixelStorei(e.UNPACK_PREMULTIPLY_ALPHA_WEBGL,Y.premultiplyAlpha),void 0!==t.flipY&&e.pixelStorei(e.UNPACK_FLIP_Y_WEBGL,Y.flipY)}function K(e){Y.unpackAlignment=e.getParameter(e.UNPACK_ALIGNMENT),i.isWebGL2(e)&&(Y.unpackRowLength=e.getParameter(e.UNPACK_ROW_LENGTH),Y.unpackImageHeight=e.getParameter(e.UNPACK_IMAGE_HEIGHT),Y.unpackSkipPixels=e.getParameter(e.UNPACK_SKIP_PIXELS),Y.unpackSkipRows=e.getParameter(e.UNPACK_SKIP_ROWS),Y.unpackSkipImages=e.getParameter(e.UNPACK_SKIP_IMAGES))}function Q(e){e.pixelStorei(e.UNPACK_ALIGNMENT,Y.unpackAlignment),i.isWebGL2(e)&&(e.pixelStorei(e.UNPACK_ROW_LENGTH,Y.unpackRowLength),e.pixelStorei(e.UNPACK_IMAGE_HEIGHT,Y.unpackImageHeight),e.pixelStorei(e.UNPACK_SKIP_PIXELS,Y.unpackSkipPixels),e.pixelStorei(e.UNPACK_SKIP_ROWS,Y.unpackSkipRows),e.pixelStorei(e.UNPACK_SKIP_IMAGES,Y.unpackSkipImages))}function X(e,t,n,r){r.minMag&&(n.call(e,t,e.TEXTURE_MIN_FILTER,r.minMag),n.call(e,t,e.TEXTURE_MAG_FILTER,r.minMag)),r.min&&n.call(e,t,e.TEXTURE_MIN_FILTER,r.min),r.mag&&n.call(e,t,e.TEXTURE_MAG_FILTER,r.mag),r.wrap&&(n.call(e,t,e.TEXTURE_WRAP_S,r.wrap),n.call(e,t,e.TEXTURE_WRAP_T,r.wrap),(t===e.TEXTURE_3D||o.isSampler(e,t))&&n.call(e,t,e.TEXTURE_WRAP_R,r.wrap)),r.wrapR&&n.call(e,t,e.TEXTURE_WRAP_R,r.wrapR),r.wrapS&&n.call(e,t,e.TEXTURE_WRAP_S,r.wrapS),r.wrapT&&n.call(e,t,e.TEXTURE_WRAP_T,r.wrapT),r.minLod&&n.call(e,t,e.TEXTURE_MIN_LOD,r.minLod),r.maxLod&&n.call(e,t,e.TEXTURE_MAX_LOD,r.maxLod),r.baseLevel&&n.call(e,t,e.TEXTURE_BASE_LEVEL,r.baseLevel),r.maxLevel&&n.call(e,t,e.TEXTURE_MAX_LEVEL,r.maxLevel)}function Z(e,t,n){var r=n.target||e.TEXTURE_2D;e.bindTexture(r,t),X(e,r,e.texParameteri,n)}function J(e,t,n){X(e,t,e.samplerParameteri,n)}function $(e,t){var n=e.createSampler();return J(e,n,t),n}function ee(e,t,n,r,s,o,a){n=n||c.textureOptions,o=o||e.RGBA,a=a||e.UNSIGNED_BYTE;var l=n.target||e.TEXTURE_2D;if(r=r||n.width,s=s||n.height,e.bindTexture(l,t),function(e,t,n,r){if(!i.isWebGL2(e))return W(t)&&W(n);var s=z[r];if(!s)throw"unknown internal format";return s.colorRenderable&&s.textureFilterable}(e,r,s,o))e.generateMipmap(l);else{var u=function(e){var t=z[e];if(!t)throw"unknown internal format";return t.textureFilterable}(o)?e.LINEAR:e.NEAREST;e.texParameteri(l,e.TEXTURE_MIN_FILTER,u),e.texParameteri(l,e.TEXTURE_MAG_FILTER,u),e.texParameteri(l,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(l,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE)}}function te(e){return!0===e.auto||void 0===e.auto&&void 0===e.level}function ne(e,t){return(t=t||{}).cubeFaceOrder||[e.TEXTURE_CUBE_MAP_POSITIVE_X,e.TEXTURE_CUBE_MAP_NEGATIVE_X,e.TEXTURE_CUBE_MAP_POSITIVE_Y,e.TEXTURE_CUBE_MAP_NEGATIVE_Y,e.TEXTURE_CUBE_MAP_POSITIVE_Z,e.TEXTURE_CUBE_MAP_NEGATIVE_Z]}function re(e,t){var n=ne(e,t).map((function(e,t){return{face:e,ndx:t}}));return n.sort((function(e,t){return e.face-t.face})),n}function ie(e,t,n,r){var i=(r=r||c.textureOptions).target||e.TEXTURE_2D,s=r.level||0,o=n.width,l=n.height,u=r.internalFormat||r.format||e.RGBA,h=F(u),p=r.format||h.format,m=r.type||h.type;if(H(e,r),e.bindTexture(i,t),i===e.TEXTURE_CUBE_MAP){var f,g,y=n.width,b=n.height;if(y/6===b)f=b,g=[0,0,1,0,2,0,3,0,4,0,5,0];else if(b/6===y)f=y,g=[0,0,0,1,0,2,0,3,0,4,0,5];else if(y/3==b/2)f=y/3,g=[0,0,1,0,2,0,0,1,1,1,2,1];else{if(y/2!=b/3)throw"can't figure out cube map from element: "+(n.src?n.src:n.nodeName);f=y/2,g=[0,0,1,0,0,1,1,1,0,2,1,2]}d?(d.canvas.width=f,d.canvas.height=f,o=f,l=f,re(e,r).forEach((function(t){var r=g[2*t.ndx+0]*f,i=g[2*t.ndx+1]*f;d.drawImage(n,r,i,f,f,0,0,f,f),e.texImage2D(t.face,s,u,p,m,d.canvas)})),d.canvas.width=1,d.canvas.height=1):a.default.createImageBitmap&&(o=f,l=f,re(e,r).forEach((function(c){var d=g[2*c.ndx+0]*f,h=g[2*c.ndx+1]*f;e.texImage2D(c.face,s,u,f,f,0,p,m,null),a.default.createImageBitmap(n,d,h,f,f,{premultiplyAlpha:"none",colorSpaceConversion:"none"}).then((function(n){H(e,r),e.bindTexture(i,t),e.texImage2D(c.face,s,u,p,m,n),_(e,r),te(r)&&ee(e,t,r,o,l,u,m)}))})))}else if(i===e.TEXTURE_3D||i===e.TEXTURE_2D_ARRAY){var v=Math.min(n.width,n.height),S=Math.max(n.width,n.height),w=S/v;if(w%1!=0)throw"can not compute 3D dimensions of element";var k=n.width===S?1:0,x=n.height===S?1:0;K(e),e.pixelStorei(e.UNPACK_ALIGNMENT,1),e.pixelStorei(e.UNPACK_ROW_LENGTH,n.width),e.pixelStorei(e.UNPACK_IMAGE_HEIGHT,0),e.pixelStorei(e.UNPACK_SKIP_IMAGES,0),e.texImage3D(i,s,u,v,v,v,0,p,m,null);for(var T=0;T<w;++T){var E=T*v*k,A=T*v*x;e.pixelStorei(e.UNPACK_SKIP_PIXELS,E),e.pixelStorei(e.UNPACK_SKIP_ROWS,A),e.texSubImage3D(i,s,0,0,T,v,v,1,p,m,n)}Q(e)}else e.texImage2D(i,s,u,p,m,n);_(e,r),te(r)&&ee(e,t,r,o,l,u,m),Z(e,t,r)}function se(){}function oe(e){return a.default.ImageBitmap&&e instanceof a.default.ImageBitmap||a.default.ImageData&&e instanceof a.default.ImageData||a.default.HTMLElement&&e instanceof a.default.HTMLElement}function ae(e,t,n){return oe(e)?(setTimeout((function(){n(null,e)})),e):function(e,t,n){var r;if(n=n||se,a.default.Image){r=new a.default.Image,void 0!==(t=void 0!==t?t:c.crossOrigin)&&(r.crossOrigin=t);var i=function(){r.removeEventListener("error",s),r.removeEventListener("load",l),r=null},s=function(){var t="couldn't load image: "+e;o.error(t),n(t,r),i()},l=function(){n(null,r),i()};return r.addEventListener("error",s),r.addEventListener("load",l),r.src=e,r}if(a.default.ImageBitmap){var u,d,h=function(){n(u,d)},p={};t&&(p.mode="cors"),fetch(e,p).then((function(e){if(!e.ok)throw e;return e.blob()})).then((function(e){return a.default.createImageBitmap(e,{premultiplyAlpha:"none",colorSpaceConversion:"none"})})).then((function(e){d=e,setTimeout(h)})).catch((function(e){u=e,setTimeout(h)})),r=null}return r}(e,t,n)}function le(e,t,n){var r=(n=n||c.textureOptions).target||e.TEXTURE_2D;if(e.bindTexture(r,t),!1!==n.color){var i=function(e){return e=e||c.textureColor,u(e)?e:new Uint8Array([255*e[0],255*e[1],255*e[2],255*e[3]])}(n.color);if(r===e.TEXTURE_CUBE_MAP)for(var s=0;s<6;++s)e.texImage2D(e.TEXTURE_CUBE_MAP_POSITIVE_X+s,0,e.RGBA,1,1,0,e.RGBA,e.UNSIGNED_BYTE,i);else r===e.TEXTURE_3D||r===e.TEXTURE_2D_ARRAY?e.texImage3D(r,0,e.RGBA,1,1,1,0,e.RGBA,e.UNSIGNED_BYTE,i):e.texImage2D(r,0,e.RGBA,1,1,0,e.RGBA,e.UNSIGNED_BYTE,i)}}function ce(e,t,n,r){return r=r||se,n=n||c.textureOptions,le(e,t,n),ae((n=Object.assign({},n)).src,n.crossOrigin,(function(i,s){i?r(i,t,s):(ie(e,t,s,n),r(null,t,s))}))}function ue(e,t,n,r){r=r||se;var i=n.src;if(6!==i.length)throw"there must be 6 urls for a cubemap";var s=n.level||0,o=n.internalFormat||n.format||e.RGBA,a=F(o),l=n.format||a.format,c=n.type||e.UNSIGNED_BYTE,u=n.target||e.TEXTURE_2D;if(u!==e.TEXTURE_CUBE_MAP)throw"target must be TEXTURE_CUBE_MAP";le(e,t,n),n=Object.assign({},n);var d,h=6,p=[],m=ne(e,n);d=i.map((function(i,a){return ae(i,n.crossOrigin,(f=m[a],function(i,a){--h,i?p.push(i):a.width!==a.height?p.push("cubemap face img is not a square: "+a.src):(H(e,n),e.bindTexture(u,t),5===h?ne(e).forEach((function(t){e.texImage2D(t,s,o,l,c,a)})):e.texImage2D(f,s,o,l,c,a),_(e,n),te(n)&&e.generateMipmap(u)),0===h&&r(p.length?p:void 0,t,d)}));var f}))}function de(e,t,n,r){r=r||se;var i=n.src,s=n.internalFormat||n.format||e.RGBA,o=F(s),a=n.format||o.format,l=n.type||e.UNSIGNED_BYTE,c=n.target||e.TEXTURE_2D_ARRAY;if(c!==e.TEXTURE_3D&&c!==e.TEXTURE_2D_ARRAY)throw"target must be TEXTURE_3D or TEXTURE_2D_ARRAY";le(e,t,n),n=Object.assign({},n);var u,h=i.length,p=[],m=n.level||0,f=n.width,g=n.height,y=i.length,b=!0;u=i.map((function(i,o){return ae(i,n.crossOrigin,(v=o,function(i,o){if(--h,i)p.push(i);else{if(H(e,n),e.bindTexture(c,t),b){b=!1,f=n.width||o.width,g=n.height||o.height,e.texImage3D(c,m,s,f,g,y,0,a,l,null);for(var S=0;S<y;++S)e.texSubImage3D(c,m,0,0,S,f,g,1,a,l,o)}else{var w=o;o.width===f&&o.height===g||(w=d.canvas,d.canvas.width=f,d.canvas.height=g,d.drawImage(o,0,0,f,g)),e.texSubImage3D(c,m,0,0,v,f,g,1,a,l,w),w===d.canvas&&(d.canvas.width=0,d.canvas.height=0)}_(e,n),te(n)&&e.generateMipmap(c)}0===h&&r(p.length?p:void 0,t,u)}));var v}))}function he(e,t,n,r){var o=(r=r||c.textureOptions).target||e.TEXTURE_2D;e.bindTexture(o,t);var a=r.width,l=r.height,d=r.depth,h=r.level||0,p=r.internalFormat||r.format||e.RGBA,m=F(p),f=r.format||m.format,g=r.type||V(e,n,m.type);if(u(n))n instanceof Uint8ClampedArray&&(n=new Uint8Array(n.buffer));else{var y=s.getTypedArrayTypeForGLType(g);n=new y(n)}var b,v=j(p,g),S=n.byteLength/v;if(S%1)throw"length wrong size for format: "+i.glEnumToString(e,f);if(o===e.TEXTURE_3D)if(a||l||d)!a||l&&d?!l||a&&d?(b=G(e,o,a,l,S/d),a=b.width,l=b.height):(b=G(e,o,a,d,S/l),a=b.width,d=b.height):(b=G(e,o,l,d,S/a),l=b.width,d=b.height);else{var w=Math.cbrt(S);if(w%1!=0)throw"can't guess cube size of array of numElements: "+S;a=w,l=w,d=w}else b=G(e,o,a,l,S),a=b.width,l=b.height;if(K(e),e.pixelStorei(e.UNPACK_ALIGNMENT,r.unpackAlignment||1),H(e,r),o===e.TEXTURE_CUBE_MAP){var k=S/6*(v/n.BYTES_PER_ELEMENT);re(e,r).forEach((function(t){var r=k*t.ndx,i=n.subarray(r,r+k);e.texImage2D(t.face,h,p,a,l,0,f,g,i)}))}else o===e.TEXTURE_3D?e.texImage3D(o,h,p,a,l,d,0,f,g,n):e.texImage2D(o,h,p,a,l,0,f,g,n);return _(e,r),Q(e),{width:a,height:l,depth:d,type:g}}function pe(e,t,n){var r=n.target||e.TEXTURE_2D;e.bindTexture(r,t);var i=n.level||0,s=n.internalFormat||n.format||e.RGBA,o=F(s),a=n.format||o.format,l=n.type||o.type;if(H(e,n),r===e.TEXTURE_CUBE_MAP)for(var c=0;c<6;++c)e.texImage2D(e.TEXTURE_CUBE_MAP_POSITIVE_X+c,i,s,n.width,n.height,0,a,l,null);else r===e.TEXTURE_3D?e.texImage3D(r,i,s,n.width,n.height,n.depth,0,a,l,null):e.texImage2D(r,i,s,n.width,n.height,0,a,l,null);_(e,n)}function me(e,t,n){n=n||se,t=t||c.textureOptions;var r=e.createTexture(),i=t.target||e.TEXTURE_2D,s=t.width||1,o=t.height||1,a=t.internalFormat||e.RGBA,l=F(a),d=t.type||l.type;e.bindTexture(i,r),i===e.TEXTURE_CUBE_MAP&&(e.texParameteri(i,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(i,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE));var h=t.src;if(h)if("function"==typeof h&&(h=h(e,t)),"string"==typeof h)ce(e,r,t,n);else if(u(h)||Array.isArray(h)&&("number"==typeof h[0]||Array.isArray(h[0])||u(h[0]))){var p=he(e,r,h,t);s=p.width,o=p.height,d=p.type}else if(Array.isArray(h)&&("string"==typeof h[0]||oe(h[0])))i===e.TEXTURE_CUBE_MAP?ue(e,r,t,n):de(e,r,t,n);else{if(!oe(h))throw"unsupported src type";ie(e,r,h,t),s=h.width,o=h.height}else pe(e,r,t);return te(t)&&ee(e,r,t,s,o,a,d),Z(e,r,t),r}},function(e,t,n){"use strict";t.__esModule=!0;var r={m4:!0,v3:!0,primitives:!0};t.primitives=t.v3=t.m4=void 0;var i=l(n(6));t.m4=i;var s=l(n(3));t.v3=s;var o=l(n(10));t.primitives=o;var a=n(11);function l(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){var r=Object.defineProperty&&Object.getOwnPropertyDescriptor?Object.getOwnPropertyDescriptor(e,n):{};r.get||r.set?Object.defineProperty(t,n,r):t[n]=e[n]}return t.default=e,t}Object.keys(a).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(r,e)||(t[e]=a[e]))}))},function(e,t,n){"use strict";t.__esModule=!0,t.create3DFVertices=C,t.createAugmentedTypedArray=h,t.createCubeVertices=T,t.createPlaneVertices=w,t.createSphereVertices=k,t.createTruncatedConeVertices=E,t.createXYQuadVertices=S,t.createCresentVertices=I,t.createCylinderVertices=O,t.createTorusVertices=M,t.createDiscVertices=N,t.deindexVertices=function(e){var t=e.indices,n={},r=t.length;return Object.keys(e).filter(p).forEach((function(i){for(var s=e[i],o=s.numComponents,a=h(o,r,s.constructor),l=0;l<r;++l)for(var c=t[l]*o,u=0;u<o;++u)a.push(s[c+u]);n[i]=a})),n},t.flattenNormals=function(e){if(e.indices)throw"can't flatten normals of indexed vertices. deindex them first";for(var t=e.normal,n=t.length,r=0;r<n;r+=9){var i=t[r+0],s=t[r+1],o=t[r+2],a=t[r+3],l=t[r+4],c=t[r+5],u=i+a+t[r+6],d=s+l+t[r+7],h=o+c+t[r+8],p=Math.sqrt(u*u+d*d+h*h);u/=p,d/=p,h/=p,t[r+0]=u,t[r+1]=d,t[r+2]=h,t[r+3]=u,t[r+4]=d,t[r+5]=h,t[r+6]=u,t[r+7]=d,t[r+8]=h}return e},t.makeRandomVertexColors=function(e,t){t=t||{};var n=e.position.numElements,r=h(4,n,Uint8Array),i=t.rand||function(e,t){return t<3?(n=256,Math.random()*n|0):255;var n};if(e.color=r,e.indices)for(var s=0;s<n;++s)r.push(i(s,0),i(s,1),i(s,2),i(s,3));else for(var o=t.vertsPerColor||3,a=n/o,l=0;l<a;++l)for(var c=[i(l,0),i(l,1),i(l,2),i(l,3)],u=0;u<o;++u)r.push(c);return e},t.reorientDirections=g,t.reorientNormals=y,t.reorientPositions=b,t.reorientVertices=v,t.concatVertices=function(e){for(var t,n={},r=function(r){var i=e[r];Object.keys(i).forEach((function(e){n[e]||(n[e]=[]),t||"indices"===e||(t=e);var r=i[e],s=u(r,e),o=c(r).length/s;n[e].push(o)}))},i=0;i<e.length;++i)r(i);var s=n[t],o={};return Object.keys(n).forEach((function(t){var n=function(t){for(var n,r=0,i=0;i<e.length;++i){var s=e[i][t];r+=c(s).length,n&&!s.data||(n=s)}return{length:r,spec:n}}(t),r=B(n.spec,n.length);!function(t,n,r){for(var i=0,s=0,o=0;o<e.length;++o){var a=e[o][t],l=c(a);"indices"===t?(L(l,r,s,i),i+=n[o]):L(l,r,s),s+=l.length}}(t,s,c(r)),o[t]=r})),o},t.duplicateVertices=function(e){var t={};return Object.keys(e).forEach((function(n){var r=e[n],i=c(r),s=B(r,i.length);L(i,c(s),0),t[n]=s})),t},t.createDiscBuffers=t.createDiscBufferInfo=t.createTorusBuffers=t.createTorusBufferInfo=t.createCylinderBuffers=t.createCylinderBufferInfo=t.createCresentBuffers=t.createCresentBufferInfo=t.createXYQuadBuffers=t.createXYQuadBufferInfo=t.createTruncatedConeBuffers=t.createTruncatedConeBufferInfo=t.createSphereBuffers=t.createSphereBufferInfo=t.createPlaneBuffers=t.createPlaneBufferInfo=t.createCubeBuffers=t.createCubeBufferInfo=t.create3DFBuffers=t.create3DFBufferInfo=void 0;var r=l(n(7)),i=l(n(0)),s=l(n(1)),o=l(n(6)),a=l(n(3));function l(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){var r=Object.defineProperty&&Object.getOwnPropertyDescriptor?Object.getOwnPropertyDescriptor(e,n):{};r.get||r.set?Object.defineProperty(t,n,r):t[n]=e[n]}return t.default=e,t}var c=r.getArray_,u=r.getNumComponents_;function d(e,t){var n=0;return e.push=function(){for(var t=0;t<arguments.length;++t){var r=arguments[t];if(r instanceof Array||s.isArrayBuffer(r))for(var i=0;i<r.length;++i)e[n++]=r[i];else e[n++]=r}},e.reset=function(e){n=e||0},e.numComponents=t,Object.defineProperty(e,"numElements",{get:function(){return this.length/this.numComponents|0}}),e}function h(e,t,n){return d(new(n||Float32Array)(e*t),e)}function p(e){return"indices"!==e}function m(e,t,n){for(var r=e.length,i=new Float32Array(3),s=0;s<r;s+=3)n(t,[e[s],e[s+1],e[s+2]],i),e[s]=i[0],e[s+1]=i[1],e[s+2]=i[2]}function f(e,t,n){n=n||a.create();var r=t[0],i=t[1],s=t[2];return n[0]=r*e[0]+i*e[1]+s*e[2],n[1]=r*e[4]+i*e[5]+s*e[6],n[2]=r*e[8]+i*e[9]+s*e[10],n}function g(e,t){return m(e,t,o.transformDirection),e}function y(e,t){return m(e,o.inverse(t),f),e}function b(e,t){return m(e,t,o.transformPoint),e}function v(e,t){return Object.keys(e).forEach((function(n){var r=e[n];n.indexOf("pos")>=0?b(r,t):n.indexOf("tan")>=0||n.indexOf("binorm")>=0?g(r,t):n.indexOf("norm")>=0&&y(r,t)})),e}function S(e,t,n){return e=e||2,{position:{numComponents:2,data:[(t=t||0)+-1*(e*=.5),(n=n||0)+-1*e,t+1*e,n+-1*e,t+-1*e,n+1*e,t+1*e,n+1*e]},normal:[0,0,1,0,0,1,0,0,1,0,0,1],texcoord:[0,0,1,0,0,1,1,1],indices:[0,1,2,2,1,3]}}function w(e,t,n,r,i){e=e||1,t=t||1,n=n||1,r=r||1,i=i||o.identity();for(var s=(n+1)*(r+1),a=h(3,s),l=h(3,s),c=h(2,s),u=0;u<=r;u++)for(var d=0;d<=n;d++){var p=d/n,m=u/r;a.push(e*p-.5*e,0,t*m-.5*t),l.push(0,1,0),c.push(p,m)}for(var f=n+1,g=h(3,n*r*2,Uint16Array),y=0;y<r;y++)for(var b=0;b<n;b++)g.push((y+0)*f+b,(y+1)*f+b,(y+0)*f+b+1),g.push((y+1)*f+b,(y+1)*f+b+1,(y+0)*f+b+1);return v({position:a,normal:l,texcoord:c,indices:g},i)}function k(e,t,n,r,i,s,o){if(t<=0||n<=0)throw Error("subdivisionAxis and subdivisionHeight must be > 0");r=r||0,s=s||0;for(var a=(i=i||Math.PI)-r,l=(o=o||2*Math.PI)-s,c=(t+1)*(n+1),u=h(3,c),d=h(3,c),p=h(2,c),m=0;m<=n;m++)for(var f=0;f<=t;f++){var g=f/t,y=m/n,b=l*g,v=a*y,S=Math.sin(b),w=Math.cos(b),k=Math.sin(v),x=w*k,T=Math.cos(v),E=S*k;u.push(e*x,e*T,e*E),d.push(x,T,E),p.push(1-g,y)}for(var A=t+1,C=h(3,t*n*2,Uint16Array),I=0;I<t;I++)for(var O=0;O<n;O++)C.push((O+0)*A+I,(O+0)*A+I+1,(O+1)*A+I),C.push((O+1)*A+I,(O+0)*A+I+1,(O+1)*A+I+1);return{position:u,normal:d,texcoord:p,indices:C}}var x=[[3,7,5,1],[6,2,0,4],[6,7,3,2],[0,1,5,4],[7,6,4,5],[2,3,1,0]];function T(e){for(var t=(e=e||1)/2,n=[[-t,-t,-t],[+t,-t,-t],[-t,+t,-t],[+t,+t,-t],[-t,-t,+t],[+t,-t,+t],[-t,+t,+t],[+t,+t,+t]],r=[[1,0,0],[-1,0,0],[0,1,0],[0,-1,0],[0,0,1],[0,0,-1]],i=[[1,0],[0,0],[0,1],[1,1]],s=h(3,24),o=h(3,24),a=h(2,24),l=h(3,12,Uint16Array),c=0;c<6;++c){for(var u=x[c],d=0;d<4;++d){var p=n[u[d]],m=r[c],f=i[d];s.push(p),o.push(m),a.push(f)}var g=4*c;l.push(g+0,g+1,g+2),l.push(g+0,g+2,g+3)}return{position:s,normal:o,texcoord:a,indices:l}}function E(e,t,n,r,i,s,o){if(r<3)throw Error("radialSubdivisions must be 3 or greater");if(i<1)throw Error("verticalSubdivisions must be 1 or greater");for(var a=void 0===s||s,l=void 0===o||o,c=(a?2:0)+(l?2:0),u=(r+1)*(i+1+c),d=h(3,u),p=h(3,u),m=h(2,u),f=h(3,r*(i+c)*2,Uint16Array),g=r+1,y=Math.atan2(e-t,n),b=Math.cos(y),v=Math.sin(y),S=i+(l?2:0),w=a?-2:0;w<=S;++w){var k=w/i,x=n*k,T=void 0;w<0?(x=0,k=1,T=e):w>i?(x=n,k=1,T=t):T=e+w/i*(t-e),-2!==w&&w!==i+2||(T=0,k=0),x-=n/2;for(var E=0;E<g;++E){var A=Math.sin(E*Math.PI*2/r),C=Math.cos(E*Math.PI*2/r);d.push(A*T,x,C*T),p.push(w<0||w>i?0:A*b,w<0?-1:w>i?1:v,w<0||w>i?0:C*b),m.push(E/r,1-k)}}for(var I=0;I<i+c;++I)for(var O=0;O<r;++O)f.push(g*(I+0)+0+O,g*(I+0)+1+O,g*(I+1)+1+O),f.push(g*(I+0)+0+O,g*(I+1)+1+O,g*(I+1)+0+O);return{position:d,normal:p,texcoord:m,indices:f}}function A(e,t){t=t||[];for(var n=[],r=0;r<e.length;r+=4){var i=e[r],s=e.slice(r+1,r+4);s.push.apply(s,t);for(var o=0;o<i;++o)n.push.apply(n,s)}return n}function C(){var e=[0,0,0,0,150,0,30,0,0,0,150,0,30,150,0,30,0,0,30,0,0,30,30,0,100,0,0,30,30,0,100,30,0,100,0,0,30,60,0,30,90,0,67,60,0,30,90,0,67,90,0,67,60,0,0,0,30,30,0,30,0,150,30,0,150,30,30,0,30,30,150,30,30,0,30,100,0,30,30,30,30,30,30,30,100,0,30,100,30,30,30,60,30,67,60,30,30,90,30,30,90,30,67,60,30,67,90,30,0,0,0,100,0,0,100,0,30,0,0,0,100,0,30,0,0,30,100,0,0,100,30,0,100,30,30,100,0,0,100,30,30,100,0,30,30,30,0,30,30,30,100,30,30,30,30,0,100,30,30,100,30,0,30,30,0,30,60,30,30,30,30,30,30,0,30,60,0,30,60,30,30,60,0,67,60,30,30,60,30,30,60,0,67,60,0,67,60,30,67,60,0,67,90,30,67,60,30,67,60,0,67,90,0,67,90,30,30,90,0,30,90,30,67,90,30,30,90,0,67,90,30,67,90,0,30,90,0,30,150,30,30,90,30,30,90,0,30,150,0,30,150,30,0,150,0,0,150,30,30,150,30,0,150,0,30,150,30,30,150,0,0,0,0,0,0,30,0,150,30,0,0,0,0,150,30,0,150,0],t=A([18,0,0,1,18,0,0,-1,6,0,1,0,6,1,0,0,6,0,-1,0,6,1,0,0,6,0,1,0,6,1,0,0,6,0,-1,0,6,1,0,0,6,0,-1,0,6,-1,0,0]),n=A([18,200,70,120,18,80,70,200,6,70,200,210,6,200,200,70,6,210,100,70,6,210,160,70,6,70,180,210,6,100,70,210,6,76,210,100,6,140,210,80,6,90,130,110,6,160,160,220],[255]),r=e.length/3,i={position:h(3,r),texcoord:h(2,r),normal:h(3,r),color:h(4,r,Uint8Array),indices:h(3,r/3,Uint16Array)};i.position.push(e),i.texcoord.push([.22,.19,.22,.79,.34,.19,.22,.79,.34,.79,.34,.19,.34,.19,.34,.31,.62,.19,.34,.31,.62,.31,.62,.19,.34,.43,.34,.55,.49,.43,.34,.55,.49,.55,.49,.43,0,0,1,0,0,1,0,1,1,0,1,1,0,0,1,0,0,1,0,1,1,0,1,1,0,0,1,0,0,1,0,1,1,0,1,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,0,1,1,1,0,0,1,1,1,0,0,0,1,1,0,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,0,0,0,1,1,1,0,0,1,1,1,0,0,0,1,1,0,1,0,0,1,0,1,1,0,0,0,1,1,1,0,0,1,1,1,0,0,0,0,1,1,1,0,0,1,1,1,0]),i.normal.push(t),i.color.push(n);for(var s=0;s<r;++s)i.indices.push(s);return i}function I(e,t,n,r,i,s,o){if(i<=0)throw Error("subdivisionDown must be > 0");var l=(o=o||1)-(s=s||0),c=2*(i+1)*4,u=h(3,c),d=h(3,c),p=h(2,c);function m(e,t,n){return e+(t-e)*n}function f(t,n,o,c,h,f){for(var g=0;g<=i;g++){var y=n/1,b=g/i,v=2*(y-.5),S=(s+b*l)*Math.PI,w=Math.sin(S),k=Math.cos(S),x=m(e,t,w),T=v*r,E=k*e,A=w*x;u.push(T,E,A);var C=a.add(a.multiply([0,w,k],o),c);d.push(C),p.push(y*h+f,b)}}for(var g=0;g<2;g++){var y=2*(g/1-.5);f(t,g,[1,1,1],[0,0,0],1,0),f(t,g,[0,0,0],[y,0,0],0,0),f(n,g,[1,1,1],[0,0,0],1,0),f(n,g,[0,0,0],[y,0,0],0,1)}var b=h(3,2*i*4,Uint16Array);function v(e,t){for(var n=0;n<i;++n)b.push(e+n+0,e+n+1,t+n+0),b.push(e+n+1,t+n+1,t+n+0)}var S=i+1;return v(0*S,4*S),v(5*S,7*S),v(6*S,2*S),v(3*S,1*S),{position:u,normal:d,texcoord:p,indices:b}}function O(e,t,n,r,i,s){return E(e,e,t,n,r,i,s)}function M(e,t,n,r,i,s){if(n<3)throw Error("radialSubdivisions must be 3 or greater");if(r<3)throw Error("verticalSubdivisions must be 3 or greater");i=i||0;for(var o=(s=s||2*Math.PI)-i,a=n+1,l=r+1,c=a*l,u=h(3,c),d=h(3,c),p=h(2,c),m=h(3,n*r*2,Uint16Array),f=0;f<l;++f)for(var g=f/r,y=g*Math.PI*2,b=Math.sin(y),v=e+b*t,S=Math.cos(y),w=S*t,k=0;k<a;++k){var x=k/n,T=i+x*o,E=Math.sin(T),A=Math.cos(T),C=E*v,I=A*v,O=E*b,M=A*b;u.push(C,w,I),d.push(O,S,M),p.push(x,1-g)}for(var N=0;N<r;++N)for(var R=0;R<n;++R){var D=1+R,P=1+N;m.push(a*N+R,a*P+R,a*N+D),m.push(a*P+R,a*P+D,a*N+D)}return{position:u,normal:d,texcoord:p,indices:m}}function N(e,t,n,r,i){if(t<3)throw Error("divisions must be at least 3");i=i||1,r=r||0;for(var s=(t+1)*((n=n||1)+1),o=h(3,s),a=h(3,s),l=h(2,s),c=h(3,n*t*2,Uint16Array),u=0,d=e-r,p=t+1,m=0;m<=n;++m){for(var f=r+d*Math.pow(m/n,i),g=0;g<=t;++g){var y=2*Math.PI*g/t,b=f*Math.cos(y),v=f*Math.sin(y);if(o.push(b,0,v),a.push(0,1,0),l.push(1-g/t,m/n),m>0&&g!==t){var S=u+(g+1),w=u+g,k=u+g-p,x=u+(g+1)-p;c.push(S,w,k),c.push(S,k,x)}}u+=t+1}return{position:o,normal:a,texcoord:l,indices:c}}function R(e){return function(t){var n=e.apply(this,Array.prototype.slice.call(arguments,1));return r.createBuffersFromArrays(t,n)}}function D(e){return function(t){var n=e.apply(null,Array.prototype.slice.call(arguments,1));return r.createBufferInfoFromArrays(t,n)}}var P=["numComponents","size","type","normalize","stride","offset","attrib","name","attribName"];function L(e,t,n,r){r=r||0;for(var i=e.length,s=0;s<i;++s)t[n+s]=e[s]+r}function B(e,t){var n=c(e),r=new n.constructor(t),s=r;return n.numComponents&&n.numElements&&d(r,n.numComponents),e.data&&(s={data:r},i.copyNamedProperties(P,e,s)),s}var z=D(C);t.create3DFBufferInfo=z;var U=R(C);t.create3DFBuffers=U;var j=D(T);t.createCubeBufferInfo=j;var F=R(T);t.createCubeBuffers=F;var W=D(w);t.createPlaneBufferInfo=W;var V=R(w);t.createPlaneBuffers=V;var G=D(k);t.createSphereBufferInfo=G;var q=R(k);t.createSphereBuffers=q;var Y=D(E);t.createTruncatedConeBufferInfo=Y;var H=R(E);t.createTruncatedConeBuffers=H;var _=D(S);t.createXYQuadBufferInfo=_;var K=R(S);t.createXYQuadBuffers=K;var Q=D(I);t.createCresentBufferInfo=Q;var X=R(I);t.createCresentBuffers=X;var Z=D(O);t.createCylinderBufferInfo=Z;var J=R(O);t.createCylinderBuffers=J;var $=D(M);t.createTorusBufferInfo=$;var ee=R(M);t.createTorusBuffers=ee;var te=D(N);t.createDiscBufferInfo=te;var ne=R(N);t.createDiscBuffers=ne},function(e,t,n){"use strict";t.__esModule=!0;var r={addExtensionsToContext:!0,getContext:!0,getWebGLContext:!0,resizeCanvasToDisplaySize:!0,setDefaults:!0};t.addExtensionsToContext=b,t.getContext=function(e,t){var n=function(e,t){for(var n=["webgl2","webgl","experimental-webgl"],r=null,i=0;i<n.length;++i)if(r=e.getContext(n[i],t)){m.addExtensionsToContext&&b(r);break}return r}(e,t);return n},t.getWebGLContext=function(e,t){var n=function(e,t){for(var n=["webgl","experimental-webgl"],r=null,i=0;i<n.length;++i)if(r=e.getContext(n[i],t)){m.addExtensionsToContext&&b(r);break}return r}(e,t);return n},t.resizeCanvasToDisplaySize=function(e,t){t=t||1,t=Math.max(0,t);var n=e.clientWidth*t|0,r=e.clientHeight*t|0;return(e.width!==n||e.height!==r)&&(e.width=n,e.height=r,!0)},t.setDefaults=function(e){o.copyExistingProperties(e,m),i.setAttributeDefaults_(e),s.setTextureDefaults_(e)};var i=p(n(7));Object.keys(i).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(r,e)||(t[e]=i[e]))}));var s=p(n(8));Object.keys(s).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(r,e)||(t[e]=s[e]))}));var o=p(n(0)),a=p(n(4));Object.keys(a).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(r,e)||(t[e]=a[e]))}));var l=n(12);Object.keys(l).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(r,e)||(t[e]=l[e]))}));var c=n(13);Object.keys(c).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(r,e)||(t[e]=c[e]))}));var u=n(5);Object.keys(u).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(r,e)||(t[e]=u[e]))}));var d=n(1);Object.keys(d).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(r,e)||(t[e]=d[e]))}));var h=n(14);function p(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){var r=Object.defineProperty&&Object.getOwnPropertyDescriptor?Object.getOwnPropertyDescriptor(e,n):{};r.get||r.set?Object.defineProperty(t,n,r):t[n]=e[n]}return t.default=e,t}Object.keys(h).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(r,e)||(t[e]=h[e]))}));var m={addExtensionsToContext:!0},f=/^(.*?)_/;function g(e,t){a.glEnumToString(e,0);var n=e.getExtension(t);if(n){var r={},i=f.exec(t)[1],s="_"+i;for(var l in n){var c=n[l],u="function"==typeof c,d=u?i:s,h=l;l.endsWith(d)&&(h=l.substring(0,l.length-d.length)),void 0!==e[h]?u||e[h]===c||o.warn(h,e[h],c,l):u?e[h]=function(e){return function(){return e.apply(n,arguments)}}(c):(e[h]=c,r[h]=c)}r.constructor={name:n.constructor.name},a.glEnumToString(r,0)}return n}var y=["ANGLE_instanced_arrays","EXT_blend_minmax","EXT_color_buffer_float","EXT_color_buffer_half_float","EXT_disjoint_timer_query","EXT_disjoint_timer_query_webgl2","EXT_frag_depth","EXT_sRGB","EXT_shader_texture_lod","EXT_texture_filter_anisotropic","OES_element_index_uint","OES_standard_derivatives","OES_texture_float","OES_texture_float_linear","OES_texture_half_float","OES_texture_half_float_linear","OES_vertex_array_object","WEBGL_color_buffer_float","WEBGL_compressed_texture_atc","WEBGL_compressed_texture_etc1","WEBGL_compressed_texture_pvrtc","WEBGL_compressed_texture_s3tc","WEBGL_compressed_texture_s3tc_srgb","WEBGL_depth_texture","WEBGL_draw_buffers"];function b(e){for(var t=0;t<y.length;++t)g(e,y[t])}},function(e,t,n){"use strict";t.__esModule=!0,t.drawBufferInfo=i,t.drawObjectList=function(e,t){var n=null,s=null;t.forEach((function(t){if(!1!==t.active){var o=t.programInfo,a=t.vertexArrayInfo||t.bufferInfo,l=!1,c=void 0===t.type?e.TRIANGLES:t.type;o!==n&&(n=o,e.useProgram(o.program),l=!0),(l||a!==s)&&(s&&s.vertexArrayObject&&!a.vertexArrayObject&&e.bindVertexArray(null),s=a,r.setBuffersAndAttributes(e,o,a)),r.setUniforms(o,t.uniforms),i(e,a,c,t.count,t.offset,t.instanceCount)}})),s.vertexArrayObject&&e.bindVertexArray(null)};var r=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){var r=Object.defineProperty&&Object.getOwnPropertyDescriptor?Object.getOwnPropertyDescriptor(e,n):{};r.get||r.set?Object.defineProperty(t,n,r):t[n]=e[n]}return t.default=e,t}(n(5));function i(e,t,n,r,i,s){n=void 0===n?e.TRIANGLES:n;var o=t.indices,a=t.elementType,l=void 0===r?t.numElements:r;i=void 0===i?0:i,a||o?void 0!==s?e.drawElementsInstanced(n,l,void 0===a?e.UNSIGNED_SHORT:t.elementType,i,s):e.drawElements(n,l,void 0===a?e.UNSIGNED_SHORT:t.elementType,i):void 0!==s?e.drawArraysInstanced(n,i,l,s):e.drawArrays(n,i,l)}},function(e,t,n){"use strict";t.__esModule=!0,t.bindFramebufferInfo=function(e,t,n){n=n||e.FRAMEBUFFER,t?(e.bindFramebuffer(n,t.framebuffer),e.viewport(0,0,t.width,t.height)):(e.bindFramebuffer(n,null),e.viewport(0,0,e.drawingBufferWidth,e.drawingBufferHeight))},t.createFramebufferInfo=function(e,t,n,s){var o=e.FRAMEBUFFER,d=e.createFramebuffer();e.bindFramebuffer(o,d),n=n||e.drawingBufferWidth,s=s||e.drawingBufferHeight;var h=0,p={framebuffer:d,attachments:[],width:n,height:s};return(t=t||l).forEach((function(t){var l=t.attachment,d=t.format,m=function(e){return c[e]}(d);if(m||(m=a+h++),!l)if(function(e){return u[e]}(d))l=e.createRenderbuffer(),e.bindRenderbuffer(e.RENDERBUFFER,l),e.renderbufferStorage(e.RENDERBUFFER,d,n,s);else{var f=Object.assign({},t);f.width=n,f.height=s,void 0===f.auto&&(f.auto=!1,f.min=f.min||f.minMag||e.LINEAR,f.mag=f.mag||f.minMag||e.LINEAR,f.wrapS=f.wrapS||f.wrap||e.CLAMP_TO_EDGE,f.wrapT=f.wrapT||f.wrap||e.CLAMP_TO_EDGE),l=r.createTexture(e,f)}if(i.isRenderbuffer(e,l))e.framebufferRenderbuffer(o,m,e.RENDERBUFFER,l);else{if(!i.isTexture(e,l))throw"unknown attachment type";e.framebufferTexture2D(o,m,t.texTarget||e.TEXTURE_2D,l,t.level||0)}p.attachments.push(l)})),p},t.resizeFramebufferInfo=function(e,t,n,s,o){s=s||e.drawingBufferWidth,o=o||e.drawingBufferHeight,t.width=s,t.height=o,(n=n||l).forEach((function(n,a){var l=t.attachments[a],c=n.format;if(i.isRenderbuffer(e,l))e.bindRenderbuffer(e.RENDERBUFFER,l),e.renderbufferStorage(e.RENDERBUFFER,c,s,o);else{if(!i.isTexture(e,l))throw"unknown attachment type";r.resizeTexture(e,l,n,s,o)}}))};var r=s(n(8)),i=s(n(0));function s(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){var r=Object.defineProperty&&Object.getOwnPropertyDescriptor?Object.getOwnPropertyDescriptor(e,n):{};r.get||r.set?Object.defineProperty(t,n,r):t[n]=e[n]}return t.default=e,t}var o=34041,a=36064,l=[{format:6408,type:5121,min:9729,wrap:33071},{format:o}],c={34041:33306,6401:36128,36168:36128,6402:36096,33189:36096},u={32854:!0,32855:!0,36194:!0,34041:!0,33189:!0,6401:!0,36168:!0}},function(e,t,n){"use strict";t.__esModule=!0,t.createVertexArrayInfo=function(e,t,n){var i=e.createVertexArray();return e.bindVertexArray(i),t.length||(t=[t]),t.forEach((function(t){r.setBuffersAndAttributes(e,t,n)})),e.bindVertexArray(null),{numElements:n.numElements,elementType:n.elementType,vertexArrayObject:i}},t.createVAOAndSetAttributes=i,t.createVAOFromBufferInfo=function(e,t,n){return i(e,t.attribSetters||t,n.attribs,n.indices)};var r=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){var r=Object.defineProperty&&Object.getOwnPropertyDescriptor?Object.getOwnPropertyDescriptor(e,n):{};r.get||r.set?Object.defineProperty(t,n,r):t[n]=e[n]}return t.default=e,t}(n(5));function i(e,t,n,i){var s=e.createVertexArray();return e.bindVertexArray(s),r.setAttributes(t,n),i&&e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,i),e.bindVertexArray(null),s}}])},e.exports=r()},function(e,t){e.exports=class{static simple(e){return JSON.parse(JSON.stringify(e))}}},function(e,t){class n{static get BACKGROUND_LAYER(){return"background"}static get VIDEO_LAYER(){return"video"}static get PEN_LAYER(){return"pen"}static get SPRITE_LAYER(){return"sprite"}static get LAYER_GROUPS(){return[n.BACKGROUND_LAYER,n.VIDEO_LAYER,n.PEN_LAYER,n.SPRITE_LAYER]}}e.exports=n},function(e,t,n){(function(t){class n{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:n.nowObj;this.startTime=0,this.nowObj=e}static get USE_PERFORMANCE(){return!1}static get legacyDateCode(){return{now:function(){return(new Date).getTime()}}}static get nowObj(){return n.USE_PERFORMANCE&&"undefined"!=typeof self&&self.performance&&"now"in self.performance?self.performance:Date.now?Date:n.legacyDateCode}time(){return this.nowObj.now()}start(){this.startTime=this.nowObj.now()}timeElapsed(){return this.nowObj.now()-this.startTime}setTimeout(e,n){return t.setTimeout(e,n)}clearTimeout(e){t.clearTimeout(e)}}e.exports=n}).call(this,n(9))},function(e,t,n){function r(){}n(260).mixin(r),r.prototype.write=function(e,t,n){this.emit("item",e,t,n)},r.prototype.end=function(){this.emit("end"),this.removeAllListeners()},r.prototype.pipe=function(e){var t=this;function n(){e.write.apply(e,Array.prototype.slice.call(arguments))}function r(){!e._isStdio&&e.end()}return t.emit("unpipe",e),e.emit("pipe",t),t.on("item",n),t.on("end",r),t.when("unpipe",(function(i){var s=i===e||void 0===i;return s&&(t.removeListener("item",n),t.removeListener("end",r),e.emit("unpipe")),s})),e},r.prototype.unpipe=function(e){return this.emit("unpipe",e),this},r.prototype.format=function(e){throw new Error(["Warning: .format() is deprecated in Minilog v2! Use .pipe() instead. For example:","var Minilog = require('minilog');","Minilog"," .pipe(Minilog.backends.console.formatClean)"," .pipe(Minilog.backends.console);"].join("\n"))},r.mixin=function(e){var t,n=r.prototype;for(t in n)n.hasOwnProperty(t)&&(e.prototype[t]=n[t])},e.exports=r},function(e,t,n){const r=n(136),i=n(138);class s{static base64ToUint8Array(e){const t=r(e),n=t.length,i=new Uint8Array(n);for(let e=0;e<n;e++)i[e]=t.charCodeAt(e);return i}static uint8ArrayToBase64(e){let t="";const n=e.length;for(let r=0;r<n;r++)t+=String.fromCharCode(e[r]);return i(t)}static arrayBufferToBase64(e){return s.uint8ArrayToBase64(new Uint8Array(e))}}e.exports=s},function(e,t,n){const r=n(206),i=n(73),s=n(32),o=n(46),a=n(12),{Map:l}=n(25),c=n(75),u=n(76),d=n(1),h=n(10),p=n(47);class m{constructor(e,t){this.runtime=e,this._blocks={},this._scripts=[],Object.defineProperty(this,"_cache",{writable:!0,enumerable:!1}),this._cache={inputs:{},procedureParamNames:{},procedureDefinitions:{},_executeCached:{},_monitored:null,scripts:{},compiledScripts:{},compiledProcedures:{},proceduresPopulated:!1},this.forceNoGlow=t||!1}getCachedCompileResult(e){return Object.prototype.hasOwnProperty.call(this._cache.compiledScripts,e)?this._cache.compiledScripts[e]:null}cacheCompileResult(e,t){this._cache.compiledScripts[e]={success:!0,value:t}}cacheCompileError(e,t){this._cache.compiledScripts[e]={success:!1,value:t}}static get BRANCH_INPUT_PREFIX(){return"SUBSTACK"}getBlock(e){return this._blocks[e]}getScripts(){return this._scripts}getNextBlock(e){const t=this._blocks[e];return void 0===t?null:t.next}getBranch(e,t){const n=this._blocks[e];if(void 0===n)return null;t||(t=1);let r=m.BRANCH_INPUT_PREFIX;t>1&&(r+=t);const i=n.inputs[r];return void 0===i?null:i.block}getOpcode(e){return void 0===e?null:e.opcode}getFields(e){return void 0===e?null:e.fields}getInputs(e){if(void 0===e)return null;let t=this._cache.inputs[e.id];if(void 0!==t)return t;t={};for(const n in e.inputs)n.substring(0,m.BRANCH_INPUT_PREFIX.length)!==m.BRANCH_INPUT_PREFIX&&(t[n]=e.inputs[n]);return this._cache.inputs[e.id]=t,t}getMutation(e){return void 0===e?null:e.mutation}getTopLevelScript(e){let t=this._blocks[e];if(void 0===t)return null;for(;null!==t.parent;)t=this._blocks[t.parent];return t.id}getProcedureDefinition(e){const t=this._cache.procedureDefinitions[e];if(void 0!==t)return t;for(const t in this._blocks){if(!Object.prototype.hasOwnProperty.call(this._blocks,t))continue;const n=this._blocks[t];if("procedures_definition"===n.opcode){const r=this._getCustomBlockInternal(n);if(r&&r.mutation.proccode===e)return this._cache.procedureDefinitions[e]=t,t}}return this._cache.procedureDefinitions[e]=null,null}getProcedureParamNamesAndIds(e){return this.getProcedureParamNamesIdsAndDefaults(e).slice(0,2)}getProcedureParamNamesIdsAndDefaults(e){const t=this._cache.procedureParamNames[e];if(void 0!==t)return t;for(const t in this._blocks){if(!Object.prototype.hasOwnProperty.call(this._blocks,t))continue;const n=this._blocks[t];if("procedures_prototype"===n.opcode&&n.mutation.proccode===e){const t=JSON.parse(n.mutation.argumentnames),r=JSON.parse(n.mutation.argumentids),i=JSON.parse(n.mutation.argumentdefaults);return this._cache.procedureParamNames[e]=[t,r,i],this._cache.procedureParamNames[e]}}const n=this.runtime.getAddonBlock(e);return n?(this._cache.procedureParamNames[e]=n.namesIdsDefaults,n.namesIdsDefaults):(this._cache.procedureParamNames[e]=null,null)}populateProcedureCache(){if(!this._cache.proceduresPopulated){for(const e in this._blocks){if(!Object.prototype.hasOwnProperty.call(this._blocks,e))continue;const t=this._blocks[e];if("procedures_prototype"!==t.opcode){if("procedures_definition"===t.opcode){const n=this._getCustomBlockInternal(t);if(n){const t=n.mutation.proccode;this._cache.procedureDefinitions[t]||(this._cache.procedureDefinitions[t]=e);continue}}}else{const e=t.mutation.proccode;if(!this._cache.procedureParamNames[e]){const n=JSON.parse(t.mutation.argumentnames),r=JSON.parse(t.mutation.argumentids),i=JSON.parse(t.mutation.argumentdefaults);this._cache.procedureParamNames[e]=[n,r,i]}}}this._cache.proceduresPopulated=!0}}duplicate(){const e=new m(this.runtime,this.forceNoGlow);return e._blocks=a.simple(this._blocks),e._scripts=a.simple(this._scripts),e}blocklyListen(e){if("object"!=typeof e)return;if("string"!=typeof e.blockId&&"string"!=typeof e.varId&&"string"!=typeof e.commentId)return;const t=this.runtime.getTargetForStage(),n=this.runtime.getEditingTarget();if("stackclick"!==e.element)switch(e.type){case"create":{const t=r(e);for(let e=0;e<t.length;e++)this.createBlock(t[e]);break}case"change":this.changeBlock({id:e.blockId,element:e.element,name:e.name,value:e.newValue});break;case"move":this.moveBlock({id:e.blockId,oldParent:e.oldParentId,oldInput:e.oldInputName,newParent:e.newParentId,newInput:e.newInputName,newCoordinate:e.newCoordinate});break;case"dragOutside":this.runtime.emitBlockDragUpdate(e.isOutside);break;case"endDrag":if(this.runtime.emitBlockDragUpdate(!1),e.isOutside){const t=r(e);this.runtime.emitBlockEndDrag(t,e.blockId)}break;case"delete":if(!Object.prototype.hasOwnProperty.call(this._blocks,e.blockId)||this._blocks[e.blockId].shadow)return;this._blocks[e.blockId].topLevel&&this.runtime.quietGlow(e.blockId),this.deleteBlock(e.blockId);break;case"var_create":if(this.resetCache(),e.isLocal&&n&&!n.isStage&&!e.isCloud)n.lookupVariableById(e.varId)||(n.createVariable(e.varId,e.varName,e.varType),this.emitProjectChanged());else{if(t.lookupVariableById(e.varId))return;const n=this.runtime.targets.filter((e=>e.isOriginal));for(const t of n)if(t.lookupVariableByNameAndType(e.varName,e.varType,!0))return;t.createVariable(e.varId,e.varName,e.varType,e.isCloud),this.emitProjectChanged()}break;case"var_rename":if(n&&Object.prototype.hasOwnProperty.call(n.variables,e.varId))n.renameVariable(e.varId,e.newName),n.blocks.updateBlocksAfterVarRename(e.varId,e.newName);else{t.renameVariable(e.varId,e.newName);const n=this.runtime.targets;for(let t=0;t<n.length;t++){n[t].blocks.updateBlocksAfterVarRename(e.varId,e.newName)}}this.emitProjectChanged();break;case"var_delete":this.resetCache();(n&&Object.prototype.hasOwnProperty.call(n.variables,e.varId)?n:t).deleteVariable(e.varId),this.emitProjectChanged();break;case"comment_create":if(this.resetCache(),this.runtime.getEditingTarget()){const t=this.runtime.getEditingTarget();t.createComment(e.commentId,e.blockId,e.text,e.xy.x,e.xy.y,e.width,e.height,e.minimized),null===t.comments[e.commentId].x&&null===t.comments[e.commentId].y&&(t.comments[e.commentId].x=e.xy.x,t.comments[e.commentId].y=e.xy.y)}this.emitProjectChanged();break;case"comment_change":if(this.resetCache(),this.runtime.getEditingTarget()){const t=this.runtime.getEditingTarget();if(!Object.prototype.hasOwnProperty.call(t.comments,e.commentId))return void d.warn("Cannot change comment with id ".concat(e.commentId," because it does not exist."));const n=t.comments[e.commentId],r=e.newContents_;Object.prototype.hasOwnProperty.call(r,"minimized")&&(n.minimized=r.minimized),Object.prototype.hasOwnProperty.call(r,"width")&&Object.prototype.hasOwnProperty.call(r,"height")&&(n.width=r.width,n.height=r.height),Object.prototype.hasOwnProperty.call(r,"text")&&(n.text=r.text),this.emitProjectChanged()}break;case"comment_move":if(this.runtime.getEditingTarget()){const t=this.runtime.getEditingTarget();if(t&&!Object.prototype.hasOwnProperty.call(t.comments,e.commentId))return void d.warn("Cannot change comment with id ".concat(e.commentId," because it does not exist."));const n=t.comments[e.commentId],r=e.newCoordinate_;n.x=r.x,n.y=r.y,this.emitProjectChanged()}break;case"comment_delete":if(this.resetCache(),this.runtime.getEditingTarget()){const t=this.runtime.getEditingTarget();if(!Object.prototype.hasOwnProperty.call(t.comments,e.commentId))return;if(delete t.comments[e.commentId],e.blockId){const n=t.blocks.getBlock(e.blockId);if(!n)return void d.warn("Could not find block referenced by comment with id: ".concat(e.commentId));delete n.comment}this.emitProjectChanged()}}else this.runtime.toggleScript(e.blockId,{stackClick:!0})}resetCache(){this._cache.inputs={},this._cache.procedureParamNames={},this._cache.procedureDefinitions={},this._cache._executeCached={},this._cache._monitored=null,this._cache.scripts={},this._cache.compiledScripts={},this._cache.compiledProcedures={},this._cache.proceduresPopulated=!1}emitProjectChanged(){this.forceNoGlow||this.runtime.emitProjectChanged()}createBlock(e){Object.prototype.hasOwnProperty.call(this._blocks,e.id)||(this._blocks[e.id]=e,e.topLevel&&this._addScript(e.id),this.resetCache(),this.emitProjectChanged())}changeBlock(e){if(-1===["field","mutation","checkbox"].indexOf(e.element))return;let t=this._blocks[e.id];if(void 0!==t){switch(e.element){case"field":if(!t.fields[e.name])return;if("VARIABLE"===e.name||"LIST"===e.name||"BROADCAST_OPTION"===e.name){const n=this.runtime.getEditingTarget().lookupVariableById(e.value);n&&(t.fields[e.name].value=n.name,t.fields[e.name].id=e.value)}else{t.fields[e.name].value=e.value,"sensing_of_object_menu"===t.opcode&&("_stage_"===t.fields.OBJECT.value?this._blocks[t.parent].fields.PROPERTY.value="backdrop #":this._blocks[t.parent].fields.PROPERTY.value="x position",this.runtime.requestBlocksUpdate());const n=t.shadow&&t.parent?this._blocks[t.parent]:t;n.isMonitored&&this.runtime.requestUpdateMonitor(l({id:n.id,params:this._getBlockParams(n)}))}break;case"mutation":t.mutation=i(e.value);break;case"checkbox":{if(t.fields&&Object.keys(t.fields).length>0&&"data_variable"!==t.opcode&&"data_listcontents"!==t.opcode){const e=p(t.id,t.fields);let n=this.runtime.monitorBlocks.getBlock(e);n||(n=JSON.parse(JSON.stringify(t)),n.id=e,this.runtime.monitorBlocks.createBlock(n)),t=n}const n=t.isMonitored;t.isMonitored=e.value;let r=!1;"data_variable"===t.opcode?r=!this.runtime.getTargetForStage().variables[t.fields.VARIABLE.id]:"data_listcontents"===t.opcode&&(r=!this.runtime.getTargetForStage().variables[t.fields.LIST.id]);const i=r||Object.prototype.hasOwnProperty.call(this.runtime.monitorBlockInfo,t.opcode)&&this.runtime.monitorBlockInfo[t.opcode].isSpriteSpecific;t.targetId=i?t.targetId||this.runtime.getEditingTarget().id:null,n&&!t.isMonitored?this.runtime.requestHideMonitor(t.id):!n&&t.isMonitored&&(this.runtime.requestShowMonitor(t.id)||this.runtime.requestAddMonitor(o({id:t.id,targetId:t.targetId,spriteName:t.targetId?this.runtime.getTargetById(t.targetId).getName():null,opcode:t.opcode,params:this._getBlockParams(t),value:"",mode:"data_listcontents"===t.opcode?"list":"default"})));break}}this.emitProjectChanged(),this.resetCache()}}moveBlock(e){if(!Object.prototype.hasOwnProperty.call(this._blocks,e.id))return;const t=this._blocks[e.id];let n=!1;if(e.newCoordinate&&(n=t.x!==e.newCoordinate.x||t.y!==e.newCoordinate.y,t.x=e.newCoordinate.x,t.y=e.newCoordinate.y),void 0!==e.oldParent){const t=this._blocks[e.oldParent];void 0!==e.oldInput&&t.inputs[e.oldInput].block===e.id?t.inputs[e.oldInput].block=null:t.next===e.id&&(t.next=null),this._blocks[e.id].parent=null,n=!0}if(void 0===e.newParent)this._addScript(e.id);else{if(this._deleteScript(e.id),void 0===e.newInput)this._blocks[e.newParent].next=e.id;else{let t=null;Object.prototype.hasOwnProperty.call(this._blocks[e.newParent].inputs,e.newInput)&&(t=this._blocks[e.newParent].inputs[e.newInput].shadow),this._blocks[e.id].shadow&&(t=e.id),this._blocks[e.newParent].inputs[e.newInput]={name:e.newInput,block:e.id,shadow:t}}this._blocks[e.id].parent=e.newParent,n=!0}this.resetCache(),n&&this.emitProjectChanged()}runAllMonitored(e){null===this._cache._monitored&&(this._cache._monitored=Object.keys(this._blocks).filter((e=>this.getBlock(e).isMonitored)).map((t=>{const n=this.getBlock(t).targetId;return{blockId:t,target:n?e.getTargetById(n):null}})));const t=this._cache._monitored;for(let n=0;n<t.length;n++){const{blockId:r,target:i}=t[n];e.addMonitorScript(r,i)}}deleteBlock(e){const t=this._blocks[e];if(t){null!==t.next&&this.deleteBlock(t.next);for(const e in t.inputs)null!==t.inputs[e].block&&this.deleteBlock(t.inputs[e].block),null!==t.inputs[e].shadow&&t.inputs[e].shadow!==t.inputs[e].block&&this.deleteBlock(t.inputs[e].shadow);this._deleteScript(e),delete this._blocks[e],this.resetCache(),this.emitProjectChanged()}}deleteAllBlocks(){Object.keys(this._blocks).forEach((e=>this.deleteBlock(e)))}getAllVariableAndListReferences(e,t){const n=e||this._blocks,r=Object.create(null);for(const e in n){let i=null,s=null;if(n[e].fields.VARIABLE?(i=n[e].fields.VARIABLE,s=h.SCALAR_TYPE):n[e].fields.LIST?(i=n[e].fields.LIST,s=h.LIST_TYPE):t&&n[e].fields.BROADCAST_OPTION&&(i=n[e].fields.BROADCAST_OPTION,s=h.BROADCAST_MESSAGE_TYPE),i){const e=i.id;r[e]?r[e].push({referencingField:i,type:s}):r[e]=[{referencingField:i,type:s}]}}return r}updateBlocksAfterVarRename(e,t){const n=this._blocks;for(const r in n){let i=null;if(n[r].fields.VARIABLE?i=n[r].fields.VARIABLE:n[r].fields.LIST&&(i=n[r].fields.LIST),i){e===i.id&&(i.value=t)}}}updateTargetSpecificBlocks(e){const t=this._blocks;for(const n in t)e&&"event_whenthisspriteclicked"===t[n].opcode?t[n].opcode="event_whenstageclicked":e||"event_whenstageclicked"!==t[n].opcode||(t[n].opcode="event_whenthisspriteclicked")}updateAssetName(e,t,n){let r;if("costume"===n)r=this._getCostumeField.bind(this);else if("sound"===n)r=this._getSoundField.bind(this);else if("backdrop"===n)r=this._getBackdropField.bind(this);else{if("sprite"!==n)return;r=this._getSpriteField.bind(this)}const i=this._blocks;for(const n in i){const i=r(n);i&&i.value===e&&(i.value=t)}this.resetCache()}updateSensingOfReference(e,t,n){const r=this._blocks;let i=!1;for(const s in r){const o=r[s];if("sensing_of"===o.opcode&&o.fields.PROPERTY.value===e&&o.inputs.OBJECT.block===o.inputs.OBJECT.shadow){this.getBlock(o.inputs.OBJECT.block).fields.OBJECT.value===n&&(o.fields.PROPERTY.value=t,i=!0)}}return i&&this.resetCache(),i}_getCostumeField(e){const t=this.getBlock(e);return t&&Object.prototype.hasOwnProperty.call(t.fields,"COSTUME")?t.fields.COSTUME:null}_getSoundField(e){const t=this.getBlock(e);return t&&Object.prototype.hasOwnProperty.call(t.fields,"SOUND_MENU")?t.fields.SOUND_MENU:null}_getBackdropField(e){const t=this.getBlock(e);return t&&Object.prototype.hasOwnProperty.call(t.fields,"BACKDROP")?t.fields.BACKDROP:null}_getSpriteField(e){const t=this.getBlock(e);if(!t)return null;const n=["TOWARDS","TO","OBJECT","VIDEOONMENU2","DISTANCETOMENU","TOUCHINGOBJECTMENU","CLONE_OPTION"];for(let e=0;e<n.length;e++){const r=n[e];if(Object.prototype.hasOwnProperty.call(t.fields,r))return t.fields[r]}return null}toXML(e){return this._scripts.map((t=>this.blockToXML(t,e))).join()}blockToXML(e,t){const n=this._blocks[e];if(!n)return;const r=n.shadow?"shadow":"block";let i="<".concat(r,'\n id="').concat(s(n.id),'"\n type="').concat(s(n.opcode),'"\n ').concat(n.topLevel?'x="'.concat(n.x,'" y="').concat(n.y,'"'):"","\n >");const o=n.comment;o&&(t?Object.prototype.hasOwnProperty.call(t,o)?i+=t[o].toXML():d.warn("Could not find comment with id: ".concat(o," in provided comment descriptions.")):d.warn("Cannot serialize comment with id: ".concat(o,"; no comment descriptions provided."))),n.mutation&&(i+=this.mutationToXML(n.mutation));for(const e in n.inputs){if(!Object.prototype.hasOwnProperty.call(n.inputs,e))continue;const r=n.inputs[e];(r.block||r.shadow)&&(i+='<value name="'.concat(s(r.name),'">'),r.block&&(i+=this.blockToXML(r.block,t)),r.shadow&&r.shadow!==r.block&&(i+=this.blockToXML(r.shadow,t)),i+="</value>")}for(const e in n.fields){if(!Object.prototype.hasOwnProperty.call(n.fields,e))continue;const t=n.fields[e];i+='<field name="'.concat(s(t.name),'"');const r=t.id;r&&(i+=' id="'.concat(s(r),'"'));const o=t.variableType;"string"==typeof o&&(i+=' variabletype="'.concat(s(o),'"'));let a=t.value;"string"==typeof a&&(a=s(t.value)),i+=">".concat(a,"</field>")}return n.next&&(i+="<next>".concat(this.blockToXML(n.next,t),"</next>")),i+="</".concat(r,">"),i}mutationToXML(e){let t="<".concat(e.tagName);for(const n in e){if("children"===n||"tagName"===n)continue;let r="string"==typeof e[n]?s(e[n]):e[n];"blockInfo"===n&&(r=s(JSON.stringify(e[n]))),t+=" ".concat(n,'="').concat(r,'"')}t+=">";for(let n=0;n<e.children.length;n++)t+=this.mutationToXML(e.children[n]);return t+="</".concat(e.tagName,">"),t}_getBlockParams(e){const t={};for(const n in e.fields)t[n]=e.fields[n].value;for(const n in e.inputs){const r=this._blocks[e.inputs[n].block];for(const e in r.fields)t[e]=r.fields[e].value}return t}_getCustomBlockInternal(e){if(e.inputs&&e.inputs.custom_block)return this._blocks[e.inputs.custom_block.block]}_addScript(e){this._scripts.indexOf(e)>-1||(this._scripts.push(e),this._blocks[e].topLevel=!0)}_deleteScript(e){const t=this._scripts.indexOf(e);t>-1&&this._scripts.splice(t,1),this._blocks[e]&&(this._blocks[e].topLevel=!1)}}c.getCached=function(e,t,n){let r=e._cache._executeCached[t];if(void 0!==r)return r;const i=e.getBlock(t);return void 0===i?null:(r=void 0===n?{id:t,opcode:e.getOpcode(i),fields:e.getFields(i),inputs:e.getInputs(i),mutation:e.getMutation(i)}:new n(e,{id:t,opcode:e.getOpcode(i),fields:e.getFields(i),inputs:e.getInputs(i),mutation:e.getMutation(i)}),e._cache._executeCached[t]=r,r)};const f=u._RuntimeScriptCache;u.getScripts=function(e,t){let n=e._cache.scripts[t];if(!n){n=e._cache.scripts[t]=[];const r=e._scripts;for(let i=0;i<r.length;i++){const s=r[i];e.getBlock(s).opcode===t&&n.push(new f(e,s))}}return n},e.exports=m},function(e,t,n){var r=n(0).TYPE,i=r.WhiteSpace,s=r.Semicolon,o=r.LeftCurlyBracket,a=r.Delim;function l(){return this.scanner.tokenIndex>0&&this.scanner.lookupType(-1)===i?this.scanner.tokenIndex>1?this.scanner.getTokenStart(this.scanner.tokenIndex-1):this.scanner.firstCharOffset:this.scanner.tokenStart}function c(){return 0}e.exports={name:"Raw",structure:{value:String},parse:function(e,t,n){var r,i=this.scanner.getTokenStart(e);return this.scanner.skip(this.scanner.getRawLength(e,t||c)),r=n&&this.scanner.tokenStart>i?l.call(this):this.scanner.tokenStart,{type:"Raw",loc:this.getLocation(i,r),value:this.scanner.source.substring(i,r)}},generate:function(e){this.chunk(e.value)},mode:{default:c,leftCurlyBracket:function(e){return e===o?1:0},leftCurlyBracketOrSemicolon:function(e){return e===o||e===s?1:0},exclamationMarkOrSemicolon:function(e,t,n){return e===a&&33===t.charCodeAt(n)||e===s?1:0},semicolonIncluded:function(e){return e===s?2:0}}}},function(e,t,n){"use strict";(function(e){var r=n(122),i=n(123),s=n(124);function o(){return l.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function a(e,t){if(o()<t)throw new RangeError("Invalid typed array length");return l.TYPED_ARRAY_SUPPORT?(e=new Uint8Array(t)).__proto__=l.prototype:(null===e&&(e=new l(t)),e.length=t),e}function l(e,t,n){if(!(l.TYPED_ARRAY_SUPPORT||this instanceof l))return new l(e,t,n);if("number"==typeof e){if("string"==typeof t)throw new Error("If encoding is specified then the first argument must be a string");return d(this,e)}return c(this,e,t,n)}function c(e,t,n,r){if("number"==typeof t)throw new TypeError('"value" argument must not be a number');return"undefined"!=typeof ArrayBuffer&&t instanceof ArrayBuffer?function(e,t,n,r){if(t.byteLength,n<0||t.byteLength<n)throw new RangeError("'offset' is out of bounds");if(t.byteLength<n+(r||0))throw new RangeError("'length' is out of bounds");t=void 0===n&&void 0===r?new Uint8Array(t):void 0===r?new Uint8Array(t,n):new Uint8Array(t,n,r);l.TYPED_ARRAY_SUPPORT?(e=t).__proto__=l.prototype:e=h(e,t);return e}(e,t,n,r):"string"==typeof t?function(e,t,n){"string"==typeof n&&""!==n||(n="utf8");if(!l.isEncoding(n))throw new TypeError('"encoding" must be a valid string encoding');var r=0|m(t,n);e=a(e,r);var i=e.write(t,n);i!==r&&(e=e.slice(0,i));return e}(e,t,n):function(e,t){if(l.isBuffer(t)){var n=0|p(t.length);return 0===(e=a(e,n)).length||t.copy(e,0,0,n),e}if(t){if("undefined"!=typeof ArrayBuffer&&t.buffer instanceof ArrayBuffer||"length"in t)return"number"!=typeof t.length||(r=t.length)!=r?a(e,0):h(e,t);if("Buffer"===t.type&&s(t.data))return h(e,t.data)}var r;throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")}(e,t)}function u(e){if("number"!=typeof e)throw new TypeError('"size" argument must be a number');if(e<0)throw new RangeError('"size" argument must not be negative')}function d(e,t){if(u(t),e=a(e,t<0?0:0|p(t)),!l.TYPED_ARRAY_SUPPORT)for(var n=0;n<t;++n)e[n]=0;return e}function h(e,t){var n=t.length<0?0:0|p(t.length);e=a(e,n);for(var r=0;r<n;r+=1)e[r]=255&t[r];return e}function p(e){if(e>=o())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+o().toString(16)+" bytes");return 0|e}function m(e,t){if(l.isBuffer(e))return e.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;"string"!=typeof e&&(e=""+e);var n=e.length;if(0===n)return 0;for(var r=!1;;)switch(t){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":case void 0:return W(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return V(e).length;default:if(r)return W(e).length;t=(""+t).toLowerCase(),r=!0}}function f(e,t,n){var r=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return"";if((n>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return M(this,t,n);case"utf8":case"utf-8":return A(this,t,n);case"ascii":return I(this,t,n);case"latin1":case"binary":return O(this,t,n);case"base64":return E(this,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return N(this,t,n);default:if(r)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),r=!0}}function g(e,t,n){var r=e[t];e[t]=e[n],e[n]=r}function y(e,t,n,r,i){if(0===e.length)return-1;if("string"==typeof n?(r=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),n=+n,isNaN(n)&&(n=i?0:e.length-1),n<0&&(n=e.length+n),n>=e.length){if(i)return-1;n=e.length-1}else if(n<0){if(!i)return-1;n=0}if("string"==typeof t&&(t=l.from(t,r)),l.isBuffer(t))return 0===t.length?-1:b(e,t,n,r,i);if("number"==typeof t)return t&=255,l.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(e,t,n):Uint8Array.prototype.lastIndexOf.call(e,t,n):b(e,[t],n,r,i);throw new TypeError("val must be string, number or Buffer")}function b(e,t,n,r,i){var s,o=1,a=e.length,l=t.length;if(void 0!==r&&("ucs2"===(r=String(r).toLowerCase())||"ucs-2"===r||"utf16le"===r||"utf-16le"===r)){if(e.length<2||t.length<2)return-1;o=2,a/=2,l/=2,n/=2}function c(e,t){return 1===o?e[t]:e.readUInt16BE(t*o)}if(i){var u=-1;for(s=n;s<a;s++)if(c(e,s)===c(t,-1===u?0:s-u)){if(-1===u&&(u=s),s-u+1===l)return u*o}else-1!==u&&(s-=s-u),u=-1}else for(n+l>a&&(n=a-l),s=n;s>=0;s--){for(var d=!0,h=0;h<l;h++)if(c(e,s+h)!==c(t,h)){d=!1;break}if(d)return s}return-1}function v(e,t,n,r){n=Number(n)||0;var i=e.length-n;r?(r=Number(r))>i&&(r=i):r=i;var s=t.length;if(s%2!=0)throw new TypeError("Invalid hex string");r>s/2&&(r=s/2);for(var o=0;o<r;++o){var a=parseInt(t.substr(2*o,2),16);if(isNaN(a))return o;e[n+o]=a}return o}function S(e,t,n,r){return G(W(t,e.length-n),e,n,r)}function w(e,t,n,r){return G(function(e){for(var t=[],n=0;n<e.length;++n)t.push(255&e.charCodeAt(n));return t}(t),e,n,r)}function k(e,t,n,r){return w(e,t,n,r)}function x(e,t,n,r){return G(V(t),e,n,r)}function T(e,t,n,r){return G(function(e,t){for(var n,r,i,s=[],o=0;o<e.length&&!((t-=2)<0);++o)r=(n=e.charCodeAt(o))>>8,i=n%256,s.push(i),s.push(r);return s}(t,e.length-n),e,n,r)}function E(e,t,n){return 0===t&&n===e.length?r.fromByteArray(e):r.fromByteArray(e.slice(t,n))}function A(e,t,n){n=Math.min(e.length,n);for(var r=[],i=t;i<n;){var s,o,a,l,c=e[i],u=null,d=c>239?4:c>223?3:c>191?2:1;if(i+d<=n)switch(d){case 1:c<128&&(u=c);break;case 2:128==(192&(s=e[i+1]))&&(l=(31&c)<<6|63&s)>127&&(u=l);break;case 3:s=e[i+1],o=e[i+2],128==(192&s)&&128==(192&o)&&(l=(15&c)<<12|(63&s)<<6|63&o)>2047&&(l<55296||l>57343)&&(u=l);break;case 4:s=e[i+1],o=e[i+2],a=e[i+3],128==(192&s)&&128==(192&o)&&128==(192&a)&&(l=(15&c)<<18|(63&s)<<12|(63&o)<<6|63&a)>65535&&l<1114112&&(u=l)}null===u?(u=65533,d=1):u>65535&&(u-=65536,r.push(u>>>10&1023|55296),u=56320|1023&u),r.push(u),i+=d}return function(e){var t=e.length;if(t<=C)return String.fromCharCode.apply(String,e);var n="",r=0;for(;r<t;)n+=String.fromCharCode.apply(String,e.slice(r,r+=C));return n}(r)}t.Buffer=l,t.SlowBuffer=function(e){+e!=e&&(e=0);return l.alloc(+e)},t.INSPECT_MAX_BYTES=50,l.TYPED_ARRAY_SUPPORT=void 0!==e.TYPED_ARRAY_SUPPORT?e.TYPED_ARRAY_SUPPORT:function(){try{var e=new Uint8Array(1);return e.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===e.foo()&&"function"==typeof e.subarray&&0===e.subarray(1,1).byteLength}catch(e){return!1}}(),t.kMaxLength=o(),l.poolSize=8192,l._augment=function(e){return e.__proto__=l.prototype,e},l.from=function(e,t,n){return c(null,e,t,n)},l.TYPED_ARRAY_SUPPORT&&(l.prototype.__proto__=Uint8Array.prototype,l.__proto__=Uint8Array,"undefined"!=typeof Symbol&&Symbol.species&&l[Symbol.species]===l&&Object.defineProperty(l,Symbol.species,{value:null,configurable:!0})),l.alloc=function(e,t,n){return function(e,t,n,r){return u(t),t<=0?a(e,t):void 0!==n?"string"==typeof r?a(e,t).fill(n,r):a(e,t).fill(n):a(e,t)}(null,e,t,n)},l.allocUnsafe=function(e){return d(null,e)},l.allocUnsafeSlow=function(e){return d(null,e)},l.isBuffer=function(e){return!(null==e||!e._isBuffer)},l.compare=function(e,t){if(!l.isBuffer(e)||!l.isBuffer(t))throw new TypeError("Arguments must be Buffers");if(e===t)return 0;for(var n=e.length,r=t.length,i=0,s=Math.min(n,r);i<s;++i)if(e[i]!==t[i]){n=e[i],r=t[i];break}return n<r?-1:r<n?1:0},l.isEncoding=function(e){switch(String(e).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},l.concat=function(e,t){if(!s(e))throw new TypeError('"list" argument must be an Array of Buffers');if(0===e.length)return l.alloc(0);var n;if(void 0===t)for(t=0,n=0;n<e.length;++n)t+=e[n].length;var r=l.allocUnsafe(t),i=0;for(n=0;n<e.length;++n){var o=e[n];if(!l.isBuffer(o))throw new TypeError('"list" argument must be an Array of Buffers');o.copy(r,i),i+=o.length}return r},l.byteLength=m,l.prototype._isBuffer=!0,l.prototype.swap16=function(){var e=this.length;if(e%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var t=0;t<e;t+=2)g(this,t,t+1);return this},l.prototype.swap32=function(){var e=this.length;if(e%4!=0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var t=0;t<e;t+=4)g(this,t,t+3),g(this,t+1,t+2);return this},l.prototype.swap64=function(){var e=this.length;if(e%8!=0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(var t=0;t<e;t+=8)g(this,t,t+7),g(this,t+1,t+6),g(this,t+2,t+5),g(this,t+3,t+4);return this},l.prototype.toString=function(){var e=0|this.length;return 0===e?"":0===arguments.length?A(this,0,e):f.apply(this,arguments)},l.prototype.equals=function(e){if(!l.isBuffer(e))throw new TypeError("Argument must be a Buffer");return this===e||0===l.compare(this,e)},l.prototype.inspect=function(){var e="",n=t.INSPECT_MAX_BYTES;return this.length>0&&(e=this.toString("hex",0,n).match(/.{2}/g).join(" "),this.length>n&&(e+=" ... ")),"<Buffer "+e+">"},l.prototype.compare=function(e,t,n,r,i){if(!l.isBuffer(e))throw new TypeError("Argument must be a Buffer");if(void 0===t&&(t=0),void 0===n&&(n=e?e.length:0),void 0===r&&(r=0),void 0===i&&(i=this.length),t<0||n>e.length||r<0||i>this.length)throw new RangeError("out of range index");if(r>=i&&t>=n)return 0;if(r>=i)return-1;if(t>=n)return 1;if(this===e)return 0;for(var s=(i>>>=0)-(r>>>=0),o=(n>>>=0)-(t>>>=0),a=Math.min(s,o),c=this.slice(r,i),u=e.slice(t,n),d=0;d<a;++d)if(c[d]!==u[d]){s=c[d],o=u[d];break}return s<o?-1:o<s?1:0},l.prototype.includes=function(e,t,n){return-1!==this.indexOf(e,t,n)},l.prototype.indexOf=function(e,t,n){return y(this,e,t,n,!0)},l.prototype.lastIndexOf=function(e,t,n){return y(this,e,t,n,!1)},l.prototype.write=function(e,t,n,r){if(void 0===t)r="utf8",n=this.length,t=0;else if(void 0===n&&"string"==typeof t)r=t,n=this.length,t=0;else{if(!isFinite(t))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");t|=0,isFinite(n)?(n|=0,void 0===r&&(r="utf8")):(r=n,n=void 0)}var i=this.length-t;if((void 0===n||n>i)&&(n=i),e.length>0&&(n<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");r||(r="utf8");for(var s=!1;;)switch(r){case"hex":return v(this,e,t,n);case"utf8":case"utf-8":return S(this,e,t,n);case"ascii":return w(this,e,t,n);case"latin1":case"binary":return k(this,e,t,n);case"base64":return x(this,e,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return T(this,e,t,n);default:if(s)throw new TypeError("Unknown encoding: "+r);r=(""+r).toLowerCase(),s=!0}},l.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var C=4096;function I(e,t,n){var r="";n=Math.min(e.length,n);for(var i=t;i<n;++i)r+=String.fromCharCode(127&e[i]);return r}function O(e,t,n){var r="";n=Math.min(e.length,n);for(var i=t;i<n;++i)r+=String.fromCharCode(e[i]);return r}function M(e,t,n){var r=e.length;(!t||t<0)&&(t=0),(!n||n<0||n>r)&&(n=r);for(var i="",s=t;s<n;++s)i+=F(e[s]);return i}function N(e,t,n){for(var r=e.slice(t,n),i="",s=0;s<r.length;s+=2)i+=String.fromCharCode(r[s]+256*r[s+1]);return i}function R(e,t,n){if(e%1!=0||e<0)throw new RangeError("offset is not uint");if(e+t>n)throw new RangeError("Trying to access beyond buffer length")}function D(e,t,n,r,i,s){if(!l.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>i||t<s)throw new RangeError('"value" argument is out of bounds');if(n+r>e.length)throw new RangeError("Index out of range")}function P(e,t,n,r){t<0&&(t=65535+t+1);for(var i=0,s=Math.min(e.length-n,2);i<s;++i)e[n+i]=(t&255<<8*(r?i:1-i))>>>8*(r?i:1-i)}function L(e,t,n,r){t<0&&(t=4294967295+t+1);for(var i=0,s=Math.min(e.length-n,4);i<s;++i)e[n+i]=t>>>8*(r?i:3-i)&255}function B(e,t,n,r,i,s){if(n+r>e.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function z(e,t,n,r,s){return s||B(e,0,n,4),i.write(e,t,n,r,23,4),n+4}function U(e,t,n,r,s){return s||B(e,0,n,8),i.write(e,t,n,r,52,8),n+8}l.prototype.slice=function(e,t){var n,r=this.length;if((e=~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),(t=void 0===t?r:~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),t<e&&(t=e),l.TYPED_ARRAY_SUPPORT)(n=this.subarray(e,t)).__proto__=l.prototype;else{var i=t-e;n=new l(i,void 0);for(var s=0;s<i;++s)n[s]=this[s+e]}return n},l.prototype.readUIntLE=function(e,t,n){e|=0,t|=0,n||R(e,t,this.length);for(var r=this[e],i=1,s=0;++s<t&&(i*=256);)r+=this[e+s]*i;return r},l.prototype.readUIntBE=function(e,t,n){e|=0,t|=0,n||R(e,t,this.length);for(var r=this[e+--t],i=1;t>0&&(i*=256);)r+=this[e+--t]*i;return r},l.prototype.readUInt8=function(e,t){return t||R(e,1,this.length),this[e]},l.prototype.readUInt16LE=function(e,t){return t||R(e,2,this.length),this[e]|this[e+1]<<8},l.prototype.readUInt16BE=function(e,t){return t||R(e,2,this.length),this[e]<<8|this[e+1]},l.prototype.readUInt32LE=function(e,t){return t||R(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},l.prototype.readUInt32BE=function(e,t){return t||R(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},l.prototype.readIntLE=function(e,t,n){e|=0,t|=0,n||R(e,t,this.length);for(var r=this[e],i=1,s=0;++s<t&&(i*=256);)r+=this[e+s]*i;return r>=(i*=128)&&(r-=Math.pow(2,8*t)),r},l.prototype.readIntBE=function(e,t,n){e|=0,t|=0,n||R(e,t,this.length);for(var r=t,i=1,s=this[e+--r];r>0&&(i*=256);)s+=this[e+--r]*i;return s>=(i*=128)&&(s-=Math.pow(2,8*t)),s},l.prototype.readInt8=function(e,t){return t||R(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},l.prototype.readInt16LE=function(e,t){t||R(e,2,this.length);var n=this[e]|this[e+1]<<8;return 32768&n?4294901760|n:n},l.prototype.readInt16BE=function(e,t){t||R(e,2,this.length);var n=this[e+1]|this[e]<<8;return 32768&n?4294901760|n:n},l.prototype.readInt32LE=function(e,t){return t||R(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},l.prototype.readInt32BE=function(e,t){return t||R(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},l.prototype.readFloatLE=function(e,t){return t||R(e,4,this.length),i.read(this,e,!0,23,4)},l.prototype.readFloatBE=function(e,t){return t||R(e,4,this.length),i.read(this,e,!1,23,4)},l.prototype.readDoubleLE=function(e,t){return t||R(e,8,this.length),i.read(this,e,!0,52,8)},l.prototype.readDoubleBE=function(e,t){return t||R(e,8,this.length),i.read(this,e,!1,52,8)},l.prototype.writeUIntLE=function(e,t,n,r){(e=+e,t|=0,n|=0,r)||D(this,e,t,n,Math.pow(2,8*n)-1,0);var i=1,s=0;for(this[t]=255&e;++s<n&&(i*=256);)this[t+s]=e/i&255;return t+n},l.prototype.writeUIntBE=function(e,t,n,r){(e=+e,t|=0,n|=0,r)||D(this,e,t,n,Math.pow(2,8*n)-1,0);var i=n-1,s=1;for(this[t+i]=255&e;--i>=0&&(s*=256);)this[t+i]=e/s&255;return t+n},l.prototype.writeUInt8=function(e,t,n){return e=+e,t|=0,n||D(this,e,t,1,255,0),l.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=255&e,t+1},l.prototype.writeUInt16LE=function(e,t,n){return e=+e,t|=0,n||D(this,e,t,2,65535,0),l.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):P(this,e,t,!0),t+2},l.prototype.writeUInt16BE=function(e,t,n){return e=+e,t|=0,n||D(this,e,t,2,65535,0),l.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):P(this,e,t,!1),t+2},l.prototype.writeUInt32LE=function(e,t,n){return e=+e,t|=0,n||D(this,e,t,4,4294967295,0),l.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):L(this,e,t,!0),t+4},l.prototype.writeUInt32BE=function(e,t,n){return e=+e,t|=0,n||D(this,e,t,4,4294967295,0),l.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):L(this,e,t,!1),t+4},l.prototype.writeIntLE=function(e,t,n,r){if(e=+e,t|=0,!r){var i=Math.pow(2,8*n-1);D(this,e,t,n,i-1,-i)}var s=0,o=1,a=0;for(this[t]=255&e;++s<n&&(o*=256);)e<0&&0===a&&0!==this[t+s-1]&&(a=1),this[t+s]=(e/o|0)-a&255;return t+n},l.prototype.writeIntBE=function(e,t,n,r){if(e=+e,t|=0,!r){var i=Math.pow(2,8*n-1);D(this,e,t,n,i-1,-i)}var s=n-1,o=1,a=0;for(this[t+s]=255&e;--s>=0&&(o*=256);)e<0&&0===a&&0!==this[t+s+1]&&(a=1),this[t+s]=(e/o|0)-a&255;return t+n},l.prototype.writeInt8=function(e,t,n){return e=+e,t|=0,n||D(this,e,t,1,127,-128),l.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=255&e,t+1},l.prototype.writeInt16LE=function(e,t,n){return e=+e,t|=0,n||D(this,e,t,2,32767,-32768),l.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):P(this,e,t,!0),t+2},l.prototype.writeInt16BE=function(e,t,n){return e=+e,t|=0,n||D(this,e,t,2,32767,-32768),l.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):P(this,e,t,!1),t+2},l.prototype.writeInt32LE=function(e,t,n){return e=+e,t|=0,n||D(this,e,t,4,2147483647,-2147483648),l.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):L(this,e,t,!0),t+4},l.prototype.writeInt32BE=function(e,t,n){return e=+e,t|=0,n||D(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),l.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):L(this,e,t,!1),t+4},l.prototype.writeFloatLE=function(e,t,n){return z(this,e,t,!0,n)},l.prototype.writeFloatBE=function(e,t,n){return z(this,e,t,!1,n)},l.prototype.writeDoubleLE=function(e,t,n){return U(this,e,t,!0,n)},l.prototype.writeDoubleBE=function(e,t,n){return U(this,e,t,!1,n)},l.prototype.copy=function(e,t,n,r){if(n||(n=0),r||0===r||(r=this.length),t>=e.length&&(t=e.length),t||(t=0),r>0&&r<n&&(r=n),r===n)return 0;if(0===e.length||0===this.length)return 0;if(t<0)throw new RangeError("targetStart out of bounds");if(n<0||n>=this.length)throw new RangeError("sourceStart out of bounds");if(r<0)throw new RangeError("sourceEnd out of bounds");r>this.length&&(r=this.length),e.length-t<r-n&&(r=e.length-t+n);var i,s=r-n;if(this===e&&n<t&&t<r)for(i=s-1;i>=0;--i)e[i+t]=this[i+n];else if(s<1e3||!l.TYPED_ARRAY_SUPPORT)for(i=0;i<s;++i)e[i+t]=this[i+n];else Uint8Array.prototype.set.call(e,this.subarray(n,n+s),t);return s},l.prototype.fill=function(e,t,n,r){if("string"==typeof e){if("string"==typeof t?(r=t,t=0,n=this.length):"string"==typeof n&&(r=n,n=this.length),1===e.length){var i=e.charCodeAt(0);i<256&&(e=i)}if(void 0!==r&&"string"!=typeof r)throw new TypeError("encoding must be a string");if("string"==typeof r&&!l.isEncoding(r))throw new TypeError("Unknown encoding: "+r)}else"number"==typeof e&&(e&=255);if(t<0||this.length<t||this.length<n)throw new RangeError("Out of range index");if(n<=t)return this;var s;if(t>>>=0,n=void 0===n?this.length:n>>>0,e||(e=0),"number"==typeof e)for(s=t;s<n;++s)this[s]=e;else{var o=l.isBuffer(e)?e:W(new l(e,r).toString()),a=o.length;for(s=0;s<n-t;++s)this[s+t]=o[s%a]}return this};var j=/[^+\/0-9A-Za-z-_]/g;function F(e){return e<16?"0"+e.toString(16):e.toString(16)}function W(e,t){var n;t=t||1/0;for(var r=e.length,i=null,s=[],o=0;o<r;++o){if((n=e.charCodeAt(o))>55295&&n<57344){if(!i){if(n>56319){(t-=3)>-1&&s.push(239,191,189);continue}if(o+1===r){(t-=3)>-1&&s.push(239,191,189);continue}i=n;continue}if(n<56320){(t-=3)>-1&&s.push(239,191,189),i=n;continue}n=65536+(i-55296<<10|n-56320)}else i&&(t-=3)>-1&&s.push(239,191,189);if(i=null,n<128){if((t-=1)<0)break;s.push(n)}else if(n<2048){if((t-=2)<0)break;s.push(n>>6|192,63&n|128)}else if(n<65536){if((t-=3)<0)break;s.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;s.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return s}function V(e){return r.toByteArray(function(e){if((e=function(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}(e).replace(j,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function G(e,t,n,r){for(var i=0;i<r&&!(i+n>=t.length||i>=e.length);++i)t[i+n]=e[i];return i}}).call(this,n(9))},function(e,t,n){"use strict";var r,i="object"==typeof Reflect?Reflect:null,s=i&&"function"==typeof i.apply?i.apply:function(e,t,n){return Function.prototype.apply.call(e,t,n)};r=i&&"function"==typeof i.ownKeys?i.ownKeys:Object.getOwnPropertySymbols?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:function(e){return Object.getOwnPropertyNames(e)};var o=Number.isNaN||function(e){return e!=e};function a(){a.init.call(this)}e.exports=a,e.exports.once=function(e,t){return new Promise((function(n,r){function i(n){e.removeListener(t,s),r(n)}function s(){"function"==typeof e.removeListener&&e.removeListener("error",i),n([].slice.call(arguments))}y(e,t,s,{once:!0}),"error"!==t&&function(e,t,n){"function"==typeof e.on&&y(e,"error",t,n)}(e,i,{once:!0})}))},a.EventEmitter=a,a.prototype._events=void 0,a.prototype._eventsCount=0,a.prototype._maxListeners=void 0;var l=10;function c(e){if("function"!=typeof e)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof e)}function u(e){return void 0===e._maxListeners?a.defaultMaxListeners:e._maxListeners}function d(e,t,n,r){var i,s,o,a;if(c(n),void 0===(s=e._events)?(s=e._events=Object.create(null),e._eventsCount=0):(void 0!==s.newListener&&(e.emit("newListener",t,n.listener?n.listener:n),s=e._events),o=s[t]),void 0===o)o=s[t]=n,++e._eventsCount;else if("function"==typeof o?o=s[t]=r?[n,o]:[o,n]:r?o.unshift(n):o.push(n),(i=u(e))>0&&o.length>i&&!o.warned){o.warned=!0;var l=new Error("Possible EventEmitter memory leak detected. "+o.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");l.name="MaxListenersExceededWarning",l.emitter=e,l.type=t,l.count=o.length,a=l,console&&console.warn&&console.warn(a)}return e}function h(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function p(e,t,n){var r={fired:!1,wrapFn:void 0,target:e,type:t,listener:n},i=h.bind(r);return i.listener=n,r.wrapFn=i,i}function m(e,t,n){var r=e._events;if(void 0===r)return[];var i=r[t];return void 0===i?[]:"function"==typeof i?n?[i.listener||i]:[i]:n?function(e){for(var t=new Array(e.length),n=0;n<t.length;++n)t[n]=e[n].listener||e[n];return t}(i):g(i,i.length)}function f(e){var t=this._events;if(void 0!==t){var n=t[e];if("function"==typeof n)return 1;if(void 0!==n)return n.length}return 0}function g(e,t){for(var n=new Array(t),r=0;r<t;++r)n[r]=e[r];return n}function y(e,t,n,r){if("function"==typeof e.on)r.once?e.once(t,n):e.on(t,n);else{if("function"!=typeof e.addEventListener)throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof e);e.addEventListener(t,(function i(s){r.once&&e.removeEventListener(t,i),n(s)}))}}Object.defineProperty(a,"defaultMaxListeners",{enumerable:!0,get:function(){return l},set:function(e){if("number"!=typeof e||e<0||o(e))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+e+".");l=e}}),a.init=function(){void 0!==this._events&&this._events!==Object.getPrototypeOf(this)._events||(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},a.prototype.setMaxListeners=function(e){if("number"!=typeof e||e<0||o(e))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+e+".");return this._maxListeners=e,this},a.prototype.getMaxListeners=function(){return u(this)},a.prototype.emit=function(e){for(var t=[],n=1;n<arguments.length;n++)t.push(arguments[n]);var r="error"===e,i=this._events;if(void 0!==i)r=r&&void 0===i.error;else if(!r)return!1;if(r){var o;if(t.length>0&&(o=t[0]),o instanceof Error)throw o;var a=new Error("Unhandled error."+(o?" ("+o.message+")":""));throw a.context=o,a}var l=i[e];if(void 0===l)return!1;if("function"==typeof l)s(l,this,t);else{var c=l.length,u=g(l,c);for(n=0;n<c;++n)s(u[n],this,t)}return!0},a.prototype.addListener=function(e,t){return d(this,e,t,!1)},a.prototype.on=a.prototype.addListener,a.prototype.prependListener=function(e,t){return d(this,e,t,!0)},a.prototype.once=function(e,t){return c(t),this.on(e,p(this,e,t)),this},a.prototype.prependOnceListener=function(e,t){return c(t),this.prependListener(e,p(this,e,t)),this},a.prototype.removeListener=function(e,t){var n,r,i,s,o;if(c(t),void 0===(r=this._events))return this;if(void 0===(n=r[e]))return this;if(n===t||n.listener===t)0==--this._eventsCount?this._events=Object.create(null):(delete r[e],r.removeListener&&this.emit("removeListener",e,n.listener||t));else if("function"!=typeof n){for(i=-1,s=n.length-1;s>=0;s--)if(n[s]===t||n[s].listener===t){o=n[s].listener,i=s;break}if(i<0)return this;0===i?n.shift():function(e,t){for(;t+1<e.length;t++)e[t]=e[t+1];e.pop()}(n,i),1===n.length&&(r[e]=n[0]),void 0!==r.removeListener&&this.emit("removeListener",e,o||t)}return this},a.prototype.off=a.prototype.removeListener,a.prototype.removeAllListeners=function(e){var t,n,r;if(void 0===(n=this._events))return this;if(void 0===n.removeListener)return 0===arguments.length?(this._events=Object.create(null),this._eventsCount=0):void 0!==n[e]&&(0==--this._eventsCount?this._events=Object.create(null):delete n[e]),this;if(0===arguments.length){var i,s=Object.keys(n);for(r=0;r<s.length;++r)"removeListener"!==(i=s[r])&&this.removeAllListeners(i);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if("function"==typeof(t=n[e]))this.removeListener(e,t);else if(void 0!==t)for(r=t.length-1;r>=0;r--)this.removeListener(e,t[r]);return this},a.prototype.listeners=function(e){return m(this,e,!0)},a.prototype.rawListeners=function(e){return m(this,e,!1)},a.listenerCount=function(e,t){return"function"==typeof e.listenerCount?e.listenerCount(t):f.call(e,t)},a.prototype.listenerCount=f,a.prototype.eventNames=function(){return this._eventsCount>0?r(this._events):[]}},function(e,t){function n(e){return{prev:null,next:null,data:e}}function r(e,t,n){var r;return null!==s?(r=s,s=s.cursor,r.prev=t,r.next=n,r.cursor=e.cursor):r={prev:t,next:n,cursor:e.cursor},e.cursor=r,r}function i(e){var t=e.cursor;e.cursor=t.cursor,t.prev=null,t.next=null,t.cursor=s,s=t}var s=null,o=function(){this.cursor=null,this.head=null,this.tail=null};o.createItem=n,o.prototype.createItem=n,o.prototype.updateCursors=function(e,t,n,r){for(var i=this.cursor;null!==i;)i.prev===e&&(i.prev=t),i.next===n&&(i.next=r),i=i.cursor},o.prototype.getSize=function(){for(var e=0,t=this.head;t;)e++,t=t.next;return e},o.prototype.fromArray=function(e){var t=null;this.head=null;for(var r=0;r<e.length;r++){var i=n(e[r]);null!==t?t.next=i:this.head=i,i.prev=t,t=i}return this.tail=t,this},o.prototype.toArray=function(){for(var e=this.head,t=[];e;)t.push(e.data),e=e.next;return t},o.prototype.toJSON=o.prototype.toArray,o.prototype.isEmpty=function(){return null===this.head},o.prototype.first=function(){return this.head&&this.head.data},o.prototype.last=function(){return this.tail&&this.tail.data},o.prototype.each=function(e,t){var n;void 0===t&&(t=this);for(var s=r(this,null,this.head);null!==s.next;)n=s.next,s.next=n.next,e.call(t,n.data,n,this);i(this)},o.prototype.forEach=o.prototype.each,o.prototype.eachRight=function(e,t){var n;void 0===t&&(t=this);for(var s=r(this,this.tail,null);null!==s.prev;)n=s.prev,s.prev=n.prev,e.call(t,n.data,n,this);i(this)},o.prototype.forEachRight=o.prototype.eachRight,o.prototype.reduce=function(e,t,n){var s;void 0===n&&(n=this);for(var o=r(this,null,this.head),a=t;null!==o.next;)s=o.next,o.next=s.next,a=e.call(n,a,s.data,s,this);return i(this),a},o.prototype.reduceRight=function(e,t,n){var s;void 0===n&&(n=this);for(var o=r(this,this.tail,null),a=t;null!==o.prev;)s=o.prev,o.prev=s.prev,a=e.call(n,a,s.data,s,this);return i(this),a},o.prototype.nextUntil=function(e,t,n){if(null!==e){var s;void 0===n&&(n=this);for(var o=r(this,null,e);null!==o.next&&(s=o.next,o.next=s.next,!t.call(n,s.data,s,this)););i(this)}},o.prototype.prevUntil=function(e,t,n){if(null!==e){var s;void 0===n&&(n=this);for(var o=r(this,e,null);null!==o.prev&&(s=o.prev,o.prev=s.prev,!t.call(n,s.data,s,this)););i(this)}},o.prototype.some=function(e,t){var n=this.head;for(void 0===t&&(t=this);null!==n;){if(e.call(t,n.data,n,this))return!0;n=n.next}return!1},o.prototype.map=function(e,t){var n=new o,r=this.head;for(void 0===t&&(t=this);null!==r;)n.appendData(e.call(t,r.data,r,this)),r=r.next;return n},o.prototype.filter=function(e,t){var n=new o,r=this.head;for(void 0===t&&(t=this);null!==r;)e.call(t,r.data,r,this)&&n.appendData(r.data),r=r.next;return n},o.prototype.clear=function(){this.head=null,this.tail=null},o.prototype.copy=function(){for(var e=new o,t=this.head;null!==t;)e.insert(n(t.data)),t=t.next;return e},o.prototype.prepend=function(e){return this.updateCursors(null,e,this.head,e),null!==this.head?(this.head.prev=e,e.next=this.head):this.tail=e,this.head=e,this},o.prototype.prependData=function(e){return this.prepend(n(e))},o.prototype.append=function(e){return this.insert(e)},o.prototype.appendData=function(e){return this.insert(n(e))},o.prototype.insert=function(e,t){if(null!=t)if(this.updateCursors(t.prev,e,t,e),null===t.prev){if(this.head!==t)throw new Error("before doesn't belong to list");this.head=e,t.prev=e,e.next=t,this.updateCursors(null,e)}else t.prev.next=e,e.prev=t.prev,t.prev=e,e.next=t;else this.updateCursors(this.tail,e,null,e),null!==this.tail?(this.tail.next=e,e.prev=this.tail):this.head=e,this.tail=e;return this},o.prototype.insertData=function(e,t){return this.insert(n(e),t)},o.prototype.remove=function(e){if(this.updateCursors(e,e.prev,e,e.next),null!==e.prev)e.prev.next=e.next;else{if(this.head!==e)throw new Error("item doesn't belong to list");this.head=e.next}if(null!==e.next)e.next.prev=e.prev;else{if(this.tail!==e)throw new Error("item doesn't belong to list");this.tail=e.prev}return e.prev=null,e.next=null,e},o.prototype.push=function(e){this.insert(n(e))},o.prototype.pop=function(){if(null!==this.tail)return this.remove(this.tail)},o.prototype.unshift=function(e){this.prepend(n(e))},o.prototype.shift=function(){if(null!==this.head)return this.remove(this.head)},o.prototype.prependList=function(e){return this.insertList(e,this.head)},o.prototype.appendList=function(e){return this.insertList(e)},o.prototype.insertList=function(e,t){return null===e.head||(null!=t?(this.updateCursors(t.prev,e.tail,t,e.head),null!==t.prev?(t.prev.next=e.head,e.head.prev=t.prev):this.head=e.head,t.prev=e.tail,e.tail.next=t):(this.updateCursors(this.tail,e.tail,null,e.head),null!==this.tail?(this.tail.next=e.head,e.head.prev=this.tail):this.head=e.head,this.tail=e.tail),e.head=null,e.tail=null),this},o.prototype.replace=function(e,t){"head"in t?this.insertList(t,e):this.insert(t,e),this.remove(e)},e.exports=o},function(e,t,n){n(63),e.exports={TextEncoder:TextEncoder,TextDecoder:TextDecoder}},function(e,t,n){(function(t,n,r,i){e.exports=function e(t,n,r){function i(o,a){if(!n[o]){if(!t[o]){if(s)return s(o,!0);var l=new Error("Cannot find module '"+o+"'");throw l.code="MODULE_NOT_FOUND",l}var c=n[o]={exports:{}};t[o][0].call(c.exports,(function(e){return i(t[o][1][e]||e)}),c,c.exports,e,t,n,r)}return n[o].exports}for(var s=!1,o=0;o<r.length;o++)i(r[o]);return i}({1:[function(e,t,n){"use strict";var r=e("./utils"),i=e("./support"),s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";n.encode=function(e){for(var t,n,i,o,a,l,c,u=[],d=0,h=e.length,p=h,m="string"!==r.getTypeOf(e);d<e.length;)p=h-d,i=m?(t=e[d++],n=d<h?e[d++]:0,d<h?e[d++]:0):(t=e.charCodeAt(d++),n=d<h?e.charCodeAt(d++):0,d<h?e.charCodeAt(d++):0),o=t>>2,a=(3&t)<<4|n>>4,l=1<p?(15&n)<<2|i>>6:64,c=2<p?63&i:64,u.push(s.charAt(o)+s.charAt(a)+s.charAt(l)+s.charAt(c));return u.join("")},n.decode=function(e){var t,n,r,o,a,l,c=0,u=0,d="data:";if(e.substr(0,d.length)===d)throw new Error("Invalid base64 input, it looks like a data url.");var h,p=3*(e=e.replace(/[^A-Za-z0-9+/=]/g,"")).length/4;if(e.charAt(e.length-1)===s.charAt(64)&&p--,e.charAt(e.length-2)===s.charAt(64)&&p--,p%1!=0)throw new Error("Invalid base64 input, bad content length.");for(h=i.uint8array?new Uint8Array(0|p):new Array(0|p);c<e.length;)t=s.indexOf(e.charAt(c++))<<2|(o=s.indexOf(e.charAt(c++)))>>4,n=(15&o)<<4|(a=s.indexOf(e.charAt(c++)))>>2,r=(3&a)<<6|(l=s.indexOf(e.charAt(c++))),h[u++]=t,64!==a&&(h[u++]=n),64!==l&&(h[u++]=r);return h}},{"./support":30,"./utils":32}],2:[function(e,t,n){"use strict";var r=e("./external"),i=e("./stream/DataWorker"),s=e("./stream/Crc32Probe"),o=e("./stream/DataLengthProbe");function a(e,t,n,r,i){this.compressedSize=e,this.uncompressedSize=t,this.crc32=n,this.compression=r,this.compressedContent=i}a.prototype={getContentWorker:function(){var e=new i(r.Promise.resolve(this.compressedContent)).pipe(this.compression.uncompressWorker()).pipe(new o("data_length")),t=this;return e.on("end",(function(){if(this.streamInfo.data_length!==t.uncompressedSize)throw new Error("Bug : uncompressed data size mismatch")})),e},getCompressedWorker:function(){return new i(r.Promise.resolve(this.compressedContent)).withStreamInfo("compressedSize",this.compressedSize).withStreamInfo("uncompressedSize",this.uncompressedSize).withStreamInfo("crc32",this.crc32).withStreamInfo("compression",this.compression)}},a.createWorkerFrom=function(e,t,n){return e.pipe(new s).pipe(new o("uncompressedSize")).pipe(t.compressWorker(n)).pipe(new o("compressedSize")).withStreamInfo("compression",t)},t.exports=a},{"./external":6,"./stream/Crc32Probe":25,"./stream/DataLengthProbe":26,"./stream/DataWorker":27}],3:[function(e,t,n){"use strict";var r=e("./stream/GenericWorker");n.STORE={magic:"\0\0",compressWorker:function(){return new r("STORE compression")},uncompressWorker:function(){return new r("STORE decompression")}},n.DEFLATE=e("./flate")},{"./flate":7,"./stream/GenericWorker":28}],4:[function(e,t,n){"use strict";var r=e("./utils"),i=function(){for(var e,t=[],n=0;n<256;n++){e=n;for(var r=0;r<8;r++)e=1&e?3988292384^e>>>1:e>>>1;t[n]=e}return t}();t.exports=function(e,t){return void 0!==e&&e.length?"string"!==r.getTypeOf(e)?function(e,t,n,r){var s=i,o=r+n;e^=-1;for(var a=r;a<o;a++)e=e>>>8^s[255&(e^t[a])];return~e}(0|t,e,e.length,0):function(e,t,n,r){var s=i,o=r+n;e^=-1;for(var a=r;a<o;a++)e=e>>>8^s[255&(e^t.charCodeAt(a))];return~e}(0|t,e,e.length,0):0}},{"./utils":32}],5:[function(e,t,n){"use strict";n.base64=!1,n.binary=!1,n.dir=!1,n.createFolders=!0,n.date=null,n.compression=null,n.compressionOptions=null,n.comment=null,n.unixPermissions=null,n.dosPermissions=null},{}],6:[function(e,t,n){"use strict";var r=null;r="undefined"!=typeof Promise?Promise:e("lie"),t.exports={Promise:r}},{lie:37}],7:[function(e,t,n){"use strict";var r="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Uint32Array,i=e("pako"),s=e("./utils"),o=e("./stream/GenericWorker"),a=r?"uint8array":"array";function l(e,t){o.call(this,"FlateWorker/"+e),this._pako=null,this._pakoAction=e,this._pakoOptions=t,this.meta={}}n.magic="\b\0",s.inherits(l,o),l.prototype.processChunk=function(e){this.meta=e.meta,null===this._pako&&this._createPako(),this._pako.push(s.transformTo(a,e.data),!1)},l.prototype.flush=function(){o.prototype.flush.call(this),null===this._pako&&this._createPako(),this._pako.push([],!0)},l.prototype.cleanUp=function(){o.prototype.cleanUp.call(this),this._pako=null},l.prototype._createPako=function(){this._pako=new i[this._pakoAction]({raw:!0,level:this._pakoOptions.level||-1});var e=this;this._pako.onData=function(t){e.push({data:t,meta:e.meta})}},n.compressWorker=function(e){return new l("Deflate",e)},n.uncompressWorker=function(){return new l("Inflate",{})}},{"./stream/GenericWorker":28,"./utils":32,pako:38}],8:[function(e,t,n){"use strict";function r(e,t){var n,r="";for(n=0;n<t;n++)r+=String.fromCharCode(255&e),e>>>=8;return r}function i(e,t,n,i,o,u){var d,h,p=e.file,m=e.compression,f=u!==a.utf8encode,g=s.transformTo("string",u(p.name)),y=s.transformTo("string",a.utf8encode(p.name)),b=p.comment,v=s.transformTo("string",u(b)),S=s.transformTo("string",a.utf8encode(b)),w=y.length!==p.name.length,k=S.length!==b.length,x="",T="",E="",A=p.dir,C=p.date,I={crc32:0,compressedSize:0,uncompressedSize:0};t&&!n||(I.crc32=e.crc32,I.compressedSize=e.compressedSize,I.uncompressedSize=e.uncompressedSize);var O=0;t&&(O|=8),f||!w&&!k||(O|=2048);var M=0,N=0;A&&(M|=16),"UNIX"===o?(N=798,M|=function(e,t){var n=e;return e||(n=t?16893:33204),(65535&n)<<16}(p.unixPermissions,A)):(N=20,M|=function(e){return 63&(e||0)}(p.dosPermissions)),d=C.getUTCHours(),d<<=6,d|=C.getUTCMinutes(),d<<=5,d|=C.getUTCSeconds()/2,h=C.getUTCFullYear()-1980,h<<=4,h|=C.getUTCMonth()+1,h<<=5,h|=C.getUTCDate(),w&&(T=r(1,1)+r(l(g),4)+y,x+="up"+r(T.length,2)+T),k&&(E=r(1,1)+r(l(v),4)+S,x+="uc"+r(E.length,2)+E);var R="";return R+="\n\0",R+=r(O,2),R+=m.magic,R+=r(d,2),R+=r(h,2),R+=r(I.crc32,4),R+=r(I.compressedSize,4),R+=r(I.uncompressedSize,4),R+=r(g.length,2),R+=r(x.length,2),{fileRecord:c.LOCAL_FILE_HEADER+R+g+x,dirRecord:c.CENTRAL_FILE_HEADER+r(N,2)+R+r(v.length,2)+"\0\0\0\0"+r(M,4)+r(i,4)+g+x+v}}var s=e("../utils"),o=e("../stream/GenericWorker"),a=e("../utf8"),l=e("../crc32"),c=e("../signature");function u(e,t,n,r){o.call(this,"ZipFileWorker"),this.bytesWritten=0,this.zipComment=t,this.zipPlatform=n,this.encodeFileName=r,this.streamFiles=e,this.accumulate=!1,this.contentBuffer=[],this.dirRecords=[],this.currentSourceOffset=0,this.entriesCount=0,this.currentFile=null,this._sources=[]}s.inherits(u,o),u.prototype.push=function(e){var t=e.meta.percent||0,n=this.entriesCount,r=this._sources.length;this.accumulate?this.contentBuffer.push(e):(this.bytesWritten+=e.data.length,o.prototype.push.call(this,{data:e.data,meta:{currentFile:this.currentFile,percent:n?(t+100*(n-r-1))/n:100}}))},u.prototype.openedSource=function(e){this.currentSourceOffset=this.bytesWritten,this.currentFile=e.file.name;var t=this.streamFiles&&!e.file.dir;if(t){var n=i(e,t,!1,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);this.push({data:n.fileRecord,meta:{percent:0}})}else this.accumulate=!0},u.prototype.closedSource=function(e){this.accumulate=!1;var t=this.streamFiles&&!e.file.dir,n=i(e,t,!0,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);if(this.dirRecords.push(n.dirRecord),t)this.push({data:function(e){return c.DATA_DESCRIPTOR+r(e.crc32,4)+r(e.compressedSize,4)+r(e.uncompressedSize,4)}(e),meta:{percent:100}});else for(this.push({data:n.fileRecord,meta:{percent:0}});this.contentBuffer.length;)this.push(this.contentBuffer.shift());this.currentFile=null},u.prototype.flush=function(){for(var e=this.bytesWritten,t=0;t<this.dirRecords.length;t++)this.push({data:this.dirRecords[t],meta:{percent:100}});var n=this.bytesWritten-e,i=function(e,t,n,i,o){var a=s.transformTo("string",o(i));return c.CENTRAL_DIRECTORY_END+"\0\0\0\0"+r(e,2)+r(e,2)+r(t,4)+r(n,4)+r(a.length,2)+a}(this.dirRecords.length,n,e,this.zipComment,this.encodeFileName);this.push({data:i,meta:{percent:100}})},u.prototype.prepareNextSource=function(){this.previous=this._sources.shift(),this.openedSource(this.previous.streamInfo),this.isPaused?this.previous.pause():this.previous.resume()},u.prototype.registerPrevious=function(e){this._sources.push(e);var t=this;return e.on("data",(function(e){t.processChunk(e)})),e.on("end",(function(){t.closedSource(t.previous.streamInfo),t._sources.length?t.prepareNextSource():t.end()})),e.on("error",(function(e){t.error(e)})),this},u.prototype.resume=function(){return!!o.prototype.resume.call(this)&&(!this.previous&&this._sources.length?(this.prepareNextSource(),!0):this.previous||this._sources.length||this.generatedError?void 0:(this.end(),!0))},u.prototype.error=function(e){var t=this._sources;if(!o.prototype.error.call(this,e))return!1;for(var n=0;n<t.length;n++)try{t[n].error(e)}catch(e){}return!0},u.prototype.lock=function(){o.prototype.lock.call(this);for(var e=this._sources,t=0;t<e.length;t++)e[t].lock()},t.exports=u},{"../crc32":4,"../signature":23,"../stream/GenericWorker":28,"../utf8":31,"../utils":32}],9:[function(e,t,n){"use strict";var r=e("../compressions"),i=e("./ZipFileWorker");n.generateWorker=function(e,t,n){var s=new i(t.streamFiles,n,t.platform,t.encodeFileName),o=0;try{e.forEach((function(e,n){o++;var i=function(e,t){var n=e||t,i=r[n];if(!i)throw new Error(n+" is not a valid compression method !");return i}(n.options.compression,t.compression),a=n.options.compressionOptions||t.compressionOptions||{},l=n.dir,c=n.date;n._compressWorker(i,a).withStreamInfo("file",{name:e,dir:l,date:c,comment:n.comment||"",unixPermissions:n.unixPermissions,dosPermissions:n.dosPermissions}).pipe(s)})),s.entriesCount=o}catch(e){s.error(e)}return s}},{"../compressions":3,"./ZipFileWorker":8}],10:[function(e,t,n){"use strict";function r(){if(!(this instanceof r))return new r;if(arguments.length)throw new Error("The constructor with parameters has been removed in JSZip 3.0, please check the upgrade guide.");this.files=Object.create(null),this.comment=null,this.root="",this.clone=function(){var e=new r;for(var t in this)"function"!=typeof this[t]&&(e[t]=this[t]);return e}}(r.prototype=e("./object")).loadAsync=e("./load"),r.support=e("./support"),r.defaults=e("./defaults"),r.version="3.10.1",r.loadAsync=function(e,t){return(new r).loadAsync(e,t)},r.external=e("./external"),t.exports=r},{"./defaults":5,"./external":6,"./load":11,"./object":15,"./support":30}],11:[function(e,t,n){"use strict";var r=e("./utils"),i=e("./external"),s=e("./utf8"),o=e("./zipEntries"),a=e("./stream/Crc32Probe"),l=e("./nodejsUtils");function c(e){return new i.Promise((function(t,n){var r=e.decompressed.getContentWorker().pipe(new a);r.on("error",(function(e){n(e)})).on("end",(function(){r.streamInfo.crc32!==e.decompressed.crc32?n(new Error("Corrupted zip : CRC32 mismatch")):t()})).resume()}))}t.exports=function(e,t){var n=this;return t=r.extend(t||{},{base64:!1,checkCRC32:!1,optimizedBinaryString:!1,createFolders:!1,decodeFileName:s.utf8decode}),l.isNode&&l.isStream(e)?i.Promise.reject(new Error("JSZip can't accept a stream when loading a zip file.")):r.prepareContent("the loaded zip file",e,!0,t.optimizedBinaryString,t.base64).then((function(e){var n=new o(t);return n.load(e),n})).then((function(e){var n=[i.Promise.resolve(e)],r=e.files;if(t.checkCRC32)for(var s=0;s<r.length;s++)n.push(c(r[s]));return i.Promise.all(n)})).then((function(e){for(var i=e.shift(),s=i.files,o=0;o<s.length;o++){var a=s[o],l=a.fileNameStr,c=r.resolve(a.fileNameStr);n.file(c,a.decompressed,{binary:!0,optimizedBinaryString:!0,date:a.date,dir:a.dir,comment:a.fileCommentStr.length?a.fileCommentStr:null,unixPermissions:a.unixPermissions,dosPermissions:a.dosPermissions,createFolders:t.createFolders}),a.dir||(n.file(c).unsafeOriginalName=l)}return i.zipComment.length&&(n.comment=i.zipComment),n}))}},{"./external":6,"./nodejsUtils":14,"./stream/Crc32Probe":25,"./utf8":31,"./utils":32,"./zipEntries":33}],12:[function(e,t,n){"use strict";var r=e("../utils"),i=e("../stream/GenericWorker");function s(e,t){i.call(this,"Nodejs stream input adapter for "+e),this._upstreamEnded=!1,this._bindStream(t)}r.inherits(s,i),s.prototype._bindStream=function(e){var t=this;(this._stream=e).pause(),e.on("data",(function(e){t.push({data:e,meta:{percent:0}})})).on("error",(function(e){t.isPaused?this.generatedError=e:t.error(e)})).on("end",(function(){t.isPaused?t._upstreamEnded=!0:t.end()}))},s.prototype.pause=function(){return!!i.prototype.pause.call(this)&&(this._stream.pause(),!0)},s.prototype.resume=function(){return!!i.prototype.resume.call(this)&&(this._upstreamEnded?this.end():this._stream.resume(),!0)},t.exports=s},{"../stream/GenericWorker":28,"../utils":32}],13:[function(e,t,n){"use strict";var r=e("readable-stream").Readable;function i(e,t,n){r.call(this,t),this._helper=e;var i=this;e.on("data",(function(e,t){i.push(e)||i._helper.pause(),n&&n(t)})).on("error",(function(e){i.emit("error",e)})).on("end",(function(){i.push(null)}))}e("../utils").inherits(i,r),i.prototype._read=function(){this._helper.resume()},t.exports=i},{"../utils":32,"readable-stream":16}],14:[function(e,n,r){"use strict";n.exports={isNode:void 0!==t,newBufferFrom:function(e,n){if(t.from&&t.from!==Uint8Array.from)return t.from(e,n);if("number"==typeof e)throw new Error('The "data" argument must not be a number');return new t(e,n)},allocBuffer:function(e){if(t.alloc)return t.alloc(e);var n=new t(e);return n.fill(0),n},isBuffer:function(e){return t.isBuffer(e)},isStream:function(e){return e&&"function"==typeof e.on&&"function"==typeof e.pause&&"function"==typeof e.resume}}},{}],15:[function(e,t,n){"use strict";function r(e,t,n){var r,i=s.getTypeOf(t),a=s.extend(n||{},l);a.date=a.date||new Date,null!==a.compression&&(a.compression=a.compression.toUpperCase()),"string"==typeof a.unixPermissions&&(a.unixPermissions=parseInt(a.unixPermissions,8)),a.unixPermissions&&16384&a.unixPermissions&&(a.dir=!0),a.dosPermissions&&16&a.dosPermissions&&(a.dir=!0),a.dir&&(e=f(e)),a.createFolders&&(r=m(e))&&g.call(this,r,!0);var d="string"===i&&!1===a.binary&&!1===a.base64;n&&void 0!==n.binary||(a.binary=!d),(t instanceof c&&0===t.uncompressedSize||a.dir||!t||0===t.length)&&(a.base64=!1,a.binary=!0,t="",a.compression="STORE",i="string");var y=null;y=t instanceof c||t instanceof o?t:h.isNode&&h.isStream(t)?new p(e,t):s.prepareContent(e,t,a.binary,a.optimizedBinaryString,a.base64);var b=new u(e,y,a);this.files[e]=b}var i=e("./utf8"),s=e("./utils"),o=e("./stream/GenericWorker"),a=e("./stream/StreamHelper"),l=e("./defaults"),c=e("./compressedObject"),u=e("./zipObject"),d=e("./generate"),h=e("./nodejsUtils"),p=e("./nodejs/NodejsStreamInputAdapter"),m=function(e){"/"===e.slice(-1)&&(e=e.substring(0,e.length-1));var t=e.lastIndexOf("/");return 0<t?e.substring(0,t):""},f=function(e){return"/"!==e.slice(-1)&&(e+="/"),e},g=function(e,t){return t=void 0!==t?t:l.createFolders,e=f(e),this.files[e]||r.call(this,e,null,{dir:!0,createFolders:t}),this.files[e]};function y(e){return"[object RegExp]"===Object.prototype.toString.call(e)}var b={load:function(){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},forEach:function(e){var t,n,r;for(t in this.files)r=this.files[t],(n=t.slice(this.root.length,t.length))&&t.slice(0,this.root.length)===this.root&&e(n,r)},filter:function(e){var t=[];return this.forEach((function(n,r){e(n,r)&&t.push(r)})),t},file:function(e,t,n){if(1!==arguments.length)return e=this.root+e,r.call(this,e,t,n),this;if(y(e)){var i=e;return this.filter((function(e,t){return!t.dir&&i.test(e)}))}var s=this.files[this.root+e];return s&&!s.dir?s:null},folder:function(e){if(!e)return this;if(y(e))return this.filter((function(t,n){return n.dir&&e.test(t)}));var t=this.root+e,n=g.call(this,t),r=this.clone();return r.root=n.name,r},remove:function(e){e=this.root+e;var t=this.files[e];if(t||("/"!==e.slice(-1)&&(e+="/"),t=this.files[e]),t&&!t.dir)delete this.files[e];else for(var n=this.filter((function(t,n){return n.name.slice(0,e.length)===e})),r=0;r<n.length;r++)delete this.files[n[r].name];return this},generate:function(){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},generateInternalStream:function(e){var t,n={};try{if((n=s.extend(e||{},{streamFiles:!1,compression:"STORE",compressionOptions:null,type:"",platform:"DOS",comment:null,mimeType:"application/zip",encodeFileName:i.utf8encode})).type=n.type.toLowerCase(),n.compression=n.compression.toUpperCase(),"binarystring"===n.type&&(n.type="string"),!n.type)throw new Error("No output type specified.");s.checkSupport(n.type),"darwin"!==n.platform&&"freebsd"!==n.platform&&"linux"!==n.platform&&"sunos"!==n.platform||(n.platform="UNIX"),"win32"===n.platform&&(n.platform="DOS");var r=n.comment||this.comment||"";t=d.generateWorker(this,n,r)}catch(e){(t=new o("error")).error(e)}return new a(t,n.type||"string",n.mimeType)},generateAsync:function(e,t){return this.generateInternalStream(e).accumulate(t)},generateNodeStream:function(e,t){return(e=e||{}).type||(e.type="nodebuffer"),this.generateInternalStream(e).toNodejsStream(t)}};t.exports=b},{"./compressedObject":2,"./defaults":5,"./generate":9,"./nodejs/NodejsStreamInputAdapter":12,"./nodejsUtils":14,"./stream/GenericWorker":28,"./stream/StreamHelper":29,"./utf8":31,"./utils":32,"./zipObject":35}],16:[function(e,t,n){"use strict";t.exports=e("stream")},{stream:void 0}],17:[function(e,t,n){"use strict";var r=e("./DataReader");function i(e){r.call(this,e);for(var t=0;t<this.data.length;t++)e[t]=255&e[t]}e("../utils").inherits(i,r),i.prototype.byteAt=function(e){return this.data[this.zero+e]},i.prototype.lastIndexOfSignature=function(e){for(var t=e.charCodeAt(0),n=e.charCodeAt(1),r=e.charCodeAt(2),i=e.charCodeAt(3),s=this.length-4;0<=s;--s)if(this.data[s]===t&&this.data[s+1]===n&&this.data[s+2]===r&&this.data[s+3]===i)return s-this.zero;return-1},i.prototype.readAndCheckSignature=function(e){var t=e.charCodeAt(0),n=e.charCodeAt(1),r=e.charCodeAt(2),i=e.charCodeAt(3),s=this.readData(4);return t===s[0]&&n===s[1]&&r===s[2]&&i===s[3]},i.prototype.readData=function(e){if(this.checkOffset(e),0===e)return[];var t=this.data.slice(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},t.exports=i},{"../utils":32,"./DataReader":18}],18:[function(e,t,n){"use strict";var r=e("../utils");function i(e){this.data=e,this.length=e.length,this.index=0,this.zero=0}i.prototype={checkOffset:function(e){this.checkIndex(this.index+e)},checkIndex:function(e){if(this.length<this.zero+e||e<0)throw new Error("End of data reached (data length = "+this.length+", asked index = "+e+"). Corrupted zip ?")},setIndex:function(e){this.checkIndex(e),this.index=e},skip:function(e){this.setIndex(this.index+e)},byteAt:function(){},readInt:function(e){var t,n=0;for(this.checkOffset(e),t=this.index+e-1;t>=this.index;t--)n=(n<<8)+this.byteAt(t);return this.index+=e,n},readString:function(e){return r.transformTo("string",this.readData(e))},readData:function(){},lastIndexOfSignature:function(){},readAndCheckSignature:function(){},readDate:function(){var e=this.readInt(4);return new Date(Date.UTC(1980+(e>>25&127),(e>>21&15)-1,e>>16&31,e>>11&31,e>>5&63,(31&e)<<1))}},t.exports=i},{"../utils":32}],19:[function(e,t,n){"use strict";var r=e("./Uint8ArrayReader");function i(e){r.call(this,e)}e("../utils").inherits(i,r),i.prototype.readData=function(e){this.checkOffset(e);var t=this.data.slice(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},t.exports=i},{"../utils":32,"./Uint8ArrayReader":21}],20:[function(e,t,n){"use strict";var r=e("./DataReader");function i(e){r.call(this,e)}e("../utils").inherits(i,r),i.prototype.byteAt=function(e){return this.data.charCodeAt(this.zero+e)},i.prototype.lastIndexOfSignature=function(e){return this.data.lastIndexOf(e)-this.zero},i.prototype.readAndCheckSignature=function(e){return e===this.readData(4)},i.prototype.readData=function(e){this.checkOffset(e);var t=this.data.slice(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},t.exports=i},{"../utils":32,"./DataReader":18}],21:[function(e,t,n){"use strict";var r=e("./ArrayReader");function i(e){r.call(this,e)}e("../utils").inherits(i,r),i.prototype.readData=function(e){if(this.checkOffset(e),0===e)return new Uint8Array(0);var t=this.data.subarray(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},t.exports=i},{"../utils":32,"./ArrayReader":17}],22:[function(e,t,n){"use strict";var r=e("../utils"),i=e("../support"),s=e("./ArrayReader"),o=e("./StringReader"),a=e("./NodeBufferReader"),l=e("./Uint8ArrayReader");t.exports=function(e){var t=r.getTypeOf(e);return r.checkSupport(t),"string"!==t||i.uint8array?"nodebuffer"===t?new a(e):i.uint8array?new l(r.transformTo("uint8array",e)):new s(r.transformTo("array",e)):new o(e)}},{"../support":30,"../utils":32,"./ArrayReader":17,"./NodeBufferReader":19,"./StringReader":20,"./Uint8ArrayReader":21}],23:[function(e,t,n){"use strict";n.LOCAL_FILE_HEADER="PK",n.CENTRAL_FILE_HEADER="PK",n.CENTRAL_DIRECTORY_END="PK",n.ZIP64_CENTRAL_DIRECTORY_LOCATOR="PK",n.ZIP64_CENTRAL_DIRECTORY_END="PK",n.DATA_DESCRIPTOR="PK\b"},{}],24:[function(e,t,n){"use strict";var r=e("./GenericWorker"),i=e("../utils");function s(e){r.call(this,"ConvertWorker to "+e),this.destType=e}i.inherits(s,r),s.prototype.processChunk=function(e){this.push({data:i.transformTo(this.destType,e.data),meta:e.meta})},t.exports=s},{"../utils":32,"./GenericWorker":28}],25:[function(e,t,n){"use strict";var r=e("./GenericWorker"),i=e("../crc32");function s(){r.call(this,"Crc32Probe"),this.withStreamInfo("crc32",0)}e("../utils").inherits(s,r),s.prototype.processChunk=function(e){this.streamInfo.crc32=i(e.data,this.streamInfo.crc32||0),this.push(e)},t.exports=s},{"../crc32":4,"../utils":32,"./GenericWorker":28}],26:[function(e,t,n){"use strict";var r=e("../utils"),i=e("./GenericWorker");function s(e){i.call(this,"DataLengthProbe for "+e),this.propName=e,this.withStreamInfo(e,0)}r.inherits(s,i),s.prototype.processChunk=function(e){if(e){var t=this.streamInfo[this.propName]||0;this.streamInfo[this.propName]=t+e.data.length}i.prototype.processChunk.call(this,e)},t.exports=s},{"../utils":32,"./GenericWorker":28}],27:[function(e,t,n){"use strict";var r=e("../utils"),i=e("./GenericWorker");function s(e){i.call(this,"DataWorker");var t=this;this.dataIsReady=!1,this.index=0,this.max=0,this.data=null,this.type="",this._tickScheduled=!1,e.then((function(e){t.dataIsReady=!0,t.data=e,t.max=e&&e.length||0,t.type=r.getTypeOf(e),t.isPaused||t._tickAndRepeat()}),(function(e){t.error(e)}))}r.inherits(s,i),s.prototype.cleanUp=function(){i.prototype.cleanUp.call(this),this.data=null},s.prototype.resume=function(){return!!i.prototype.resume.call(this)&&(!this._tickScheduled&&this.dataIsReady&&(this._tickScheduled=!0,r.delay(this._tickAndRepeat,[],this)),!0)},s.prototype._tickAndRepeat=function(){this._tickScheduled=!1,this.isPaused||this.isFinished||(this._tick(),this.isFinished||(r.delay(this._tickAndRepeat,[],this),this._tickScheduled=!0))},s.prototype._tick=function(){if(this.isPaused||this.isFinished)return!1;var e=null,t=Math.min(this.max,this.index+16384);if(this.index>=this.max)return this.end();switch(this.type){case"string":e=this.data.substring(this.index,t);break;case"uint8array":e=this.data.subarray(this.index,t);break;case"array":case"nodebuffer":e=this.data.slice(this.index,t)}return this.index=t,this.push({data:e,meta:{percent:this.max?this.index/this.max*100:0}})},t.exports=s},{"../utils":32,"./GenericWorker":28}],28:[function(e,t,n){"use strict";function r(e){this.name=e||"default",this.streamInfo={},this.generatedError=null,this.extraStreamInfo={},this.isPaused=!0,this.isFinished=!1,this.isLocked=!1,this._listeners={data:[],end:[],error:[]},this.previous=null}r.prototype={push:function(e){this.emit("data",e)},end:function(){if(this.isFinished)return!1;this.flush();try{this.emit("end"),this.cleanUp(),this.isFinished=!0}catch(e){this.emit("error",e)}return!0},error:function(e){return!this.isFinished&&(this.isPaused?this.generatedError=e:(this.isFinished=!0,this.emit("error",e),this.previous&&this.previous.error(e),this.cleanUp()),!0)},on:function(e,t){return this._listeners[e].push(t),this},cleanUp:function(){this.streamInfo=this.generatedError=this.extraStreamInfo=null,this._listeners=[]},emit:function(e,t){if(this._listeners[e])for(var n=0;n<this._listeners[e].length;n++)this._listeners[e][n].call(this,t)},pipe:function(e){return e.registerPrevious(this)},registerPrevious:function(e){if(this.isLocked)throw new Error("The stream '"+this+"' has already been used.");this.streamInfo=e.streamInfo,this.mergeStreamInfo(),this.previous=e;var t=this;return e.on("data",(function(e){t.processChunk(e)})),e.on("end",(function(){t.end()})),e.on("error",(function(e){t.error(e)})),this},pause:function(){return!this.isPaused&&!this.isFinished&&(this.isPaused=!0,this.previous&&this.previous.pause(),!0)},resume:function(){if(!this.isPaused||this.isFinished)return!1;var e=this.isPaused=!1;return this.generatedError&&(this.error(this.generatedError),e=!0),this.previous&&this.previous.resume(),!e},flush:function(){},processChunk:function(e){this.push(e)},withStreamInfo:function(e,t){return this.extraStreamInfo[e]=t,this.mergeStreamInfo(),this},mergeStreamInfo:function(){for(var e in this.extraStreamInfo)Object.prototype.hasOwnProperty.call(this.extraStreamInfo,e)&&(this.streamInfo[e]=this.extraStreamInfo[e])},lock:function(){if(this.isLocked)throw new Error("The stream '"+this+"' has already been used.");this.isLocked=!0,this.previous&&this.previous.lock()},toString:function(){var e="Worker "+this.name;return this.previous?this.previous+" -> "+e:e}},t.exports=r},{}],29:[function(e,n,r){"use strict";var i=e("../utils"),s=e("./ConvertWorker"),o=e("./GenericWorker"),a=e("../base64"),l=e("../support"),c=e("../external"),u=null;if(l.nodestream)try{u=e("../nodejs/NodejsStreamOutputAdapter")}catch(e){}function d(e,n){return new c.Promise((function(r,s){var o=[],l=e._internalType,c=e._outputType,u=e._mimeType;e.on("data",(function(e,t){o.push(e),n&&n(t)})).on("error",(function(e){o=[],s(e)})).on("end",(function(){try{var e=function(e,t,n){switch(e){case"blob":return i.newBlob(i.transformTo("arraybuffer",t),n);case"base64":return a.encode(t);default:return i.transformTo(e,t)}}(c,function(e,n){var r,i=0,s=null,o=0;for(r=0;r<n.length;r++)o+=n[r].length;switch(e){case"string":return n.join("");case"array":return Array.prototype.concat.apply([],n);case"uint8array":for(s=new Uint8Array(o),r=0;r<n.length;r++)s.set(n[r],i),i+=n[r].length;return s;case"nodebuffer":return t.concat(n);default:throw new Error("concat : unsupported type '"+e+"'")}}(l,o),u);r(e)}catch(e){s(e)}o=[]})).resume()}))}function h(e,t,n){var r=t;switch(t){case"blob":case"arraybuffer":r="uint8array";break;case"base64":r="string"}try{this._internalType=r,this._outputType=t,this._mimeType=n,i.checkSupport(r),this._worker=e.pipe(new s(r)),e.lock()}catch(e){this._worker=new o("error"),this._worker.error(e)}}h.prototype={accumulate:function(e){return d(this,e)},on:function(e,t){var n=this;return"data"===e?this._worker.on(e,(function(e){t.call(n,e.data,e.meta)})):this._worker.on(e,(function(){i.delay(t,arguments,n)})),this},resume:function(){return i.delay(this._worker.resume,[],this._worker),this},pause:function(){return this._worker.pause(),this},toNodejsStream:function(e){if(i.checkSupport("nodestream"),"nodebuffer"!==this._outputType)throw new Error(this._outputType+" is not supported by this method");return new u(this,{objectMode:"nodebuffer"!==this._outputType},e)}},n.exports=h},{"../base64":1,"../external":6,"../nodejs/NodejsStreamOutputAdapter":13,"../support":30,"../utils":32,"./ConvertWorker":24,"./GenericWorker":28}],30:[function(e,n,r){"use strict";if(r.base64=!0,r.array=!0,r.string=!0,r.arraybuffer="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8Array,r.nodebuffer=void 0!==t,r.uint8array="undefined"!=typeof Uint8Array,"undefined"==typeof ArrayBuffer)r.blob=!1;else{var i=new ArrayBuffer(0);try{r.blob=0===new Blob([i],{type:"application/zip"}).size}catch(e){try{var s=new(self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder);s.append(i),r.blob=0===s.getBlob("application/zip").size}catch(e){r.blob=!1}}}try{r.nodestream=!!e("readable-stream").Readable}catch(e){r.nodestream=!1}},{"readable-stream":16}],31:[function(e,t,n){"use strict";for(var r=e("./utils"),i=e("./support"),s=e("./nodejsUtils"),o=e("./stream/GenericWorker"),a=new Array(256),l=0;l<256;l++)a[l]=252<=l?6:248<=l?5:240<=l?4:224<=l?3:192<=l?2:1;function c(){o.call(this,"utf-8 decode"),this.leftOver=null}function u(){o.call(this,"utf-8 encode")}a[254]=a[254]=1,n.utf8encode=function(e){return i.nodebuffer?s.newBufferFrom(e,"utf-8"):function(e){var t,n,r,s,o,a=e.length,l=0;for(s=0;s<a;s++)55296==(64512&(n=e.charCodeAt(s)))&&s+1<a&&56320==(64512&(r=e.charCodeAt(s+1)))&&(n=65536+(n-55296<<10)+(r-56320),s++),l+=n<128?1:n<2048?2:n<65536?3:4;for(t=i.uint8array?new Uint8Array(l):new Array(l),s=o=0;o<l;s++)55296==(64512&(n=e.charCodeAt(s)))&&s+1<a&&56320==(64512&(r=e.charCodeAt(s+1)))&&(n=65536+(n-55296<<10)+(r-56320),s++),n<128?t[o++]=n:(n<2048?t[o++]=192|n>>>6:(n<65536?t[o++]=224|n>>>12:(t[o++]=240|n>>>18,t[o++]=128|n>>>12&63),t[o++]=128|n>>>6&63),t[o++]=128|63&n);return t}(e)},n.utf8decode=function(e){return i.nodebuffer?r.transformTo("nodebuffer",e).toString("utf-8"):function(e){var t,n,i,s,o=e.length,l=new Array(2*o);for(t=n=0;t<o;)if((i=e[t++])<128)l[n++]=i;else if(4<(s=a[i]))l[n++]=65533,t+=s-1;else{for(i&=2===s?31:3===s?15:7;1<s&&t<o;)i=i<<6|63&e[t++],s--;1<s?l[n++]=65533:i<65536?l[n++]=i:(i-=65536,l[n++]=55296|i>>10&1023,l[n++]=56320|1023&i)}return l.length!==n&&(l.subarray?l=l.subarray(0,n):l.length=n),r.applyFromCharCode(l)}(e=r.transformTo(i.uint8array?"uint8array":"array",e))},r.inherits(c,o),c.prototype.processChunk=function(e){var t=r.transformTo(i.uint8array?"uint8array":"array",e.data);if(this.leftOver&&this.leftOver.length){if(i.uint8array){var s=t;(t=new Uint8Array(s.length+this.leftOver.length)).set(this.leftOver,0),t.set(s,this.leftOver.length)}else t=this.leftOver.concat(t);this.leftOver=null}var o=function(e,t){var n;for((t=t||e.length)>e.length&&(t=e.length),n=t-1;0<=n&&128==(192&e[n]);)n--;return n<0||0===n?t:n+a[e[n]]>t?n:t}(t),l=t;o!==t.length&&(i.uint8array?(l=t.subarray(0,o),this.leftOver=t.subarray(o,t.length)):(l=t.slice(0,o),this.leftOver=t.slice(o,t.length))),this.push({data:n.utf8decode(l),meta:e.meta})},c.prototype.flush=function(){this.leftOver&&this.leftOver.length&&(this.push({data:n.utf8decode(this.leftOver),meta:{}}),this.leftOver=null)},n.Utf8DecodeWorker=c,r.inherits(u,o),u.prototype.processChunk=function(e){this.push({data:n.utf8encode(e.data),meta:e.meta})},n.Utf8EncodeWorker=u},{"./nodejsUtils":14,"./stream/GenericWorker":28,"./support":30,"./utils":32}],32:[function(e,t,r){"use strict";var i=e("./support"),s=e("./base64"),o=e("./nodejsUtils"),a=e("./external");function l(e){return e}function c(e,t){for(var n=0;n<e.length;++n)t[n]=255&e.charCodeAt(n);return t}e("setimmediate"),r.newBlob=function(e,t){r.checkSupport("blob");try{return new Blob([e],{type:t})}catch(r){try{var n=new(self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder);return n.append(e),n.getBlob(t)}catch(e){throw new Error("Bug : can't construct the Blob.")}}};var u={stringifyByChunk:function(e,t,n){var r=[],i=0,s=e.length;if(s<=n)return String.fromCharCode.apply(null,e);for(;i<s;)"array"===t||"nodebuffer"===t?r.push(String.fromCharCode.apply(null,e.slice(i,Math.min(i+n,s)))):r.push(String.fromCharCode.apply(null,e.subarray(i,Math.min(i+n,s)))),i+=n;return r.join("")},stringifyByChar:function(e){for(var t="",n=0;n<e.length;n++)t+=String.fromCharCode(e[n]);return t},applyCanBeUsed:{uint8array:function(){try{return i.uint8array&&1===String.fromCharCode.apply(null,new Uint8Array(1)).length}catch(e){return!1}}(),nodebuffer:function(){try{return i.nodebuffer&&1===String.fromCharCode.apply(null,o.allocBuffer(1)).length}catch(e){return!1}}()}};function d(e){var t=65536,n=r.getTypeOf(e),i=!0;if("uint8array"===n?i=u.applyCanBeUsed.uint8array:"nodebuffer"===n&&(i=u.applyCanBeUsed.nodebuffer),i)for(;1<t;)try{return u.stringifyByChunk(e,n,t)}catch(e){t=Math.floor(t/2)}return u.stringifyByChar(e)}function h(e,t){for(var n=0;n<e.length;n++)t[n]=e[n];return t}r.applyFromCharCode=d;var p={};p.string={string:l,array:function(e){return c(e,new Array(e.length))},arraybuffer:function(e){return p.string.uint8array(e).buffer},uint8array:function(e){return c(e,new Uint8Array(e.length))},nodebuffer:function(e){return c(e,o.allocBuffer(e.length))}},p.array={string:d,array:l,arraybuffer:function(e){return new Uint8Array(e).buffer},uint8array:function(e){return new Uint8Array(e)},nodebuffer:function(e){return o.newBufferFrom(e)}},p.arraybuffer={string:function(e){return d(new Uint8Array(e))},array:function(e){return h(new Uint8Array(e),new Array(e.byteLength))},arraybuffer:l,uint8array:function(e){return new Uint8Array(e)},nodebuffer:function(e){return o.newBufferFrom(new Uint8Array(e))}},p.uint8array={string:d,array:function(e){return h(e,new Array(e.length))},arraybuffer:function(e){return e.buffer},uint8array:l,nodebuffer:function(e){return o.newBufferFrom(e)}},p.nodebuffer={string:d,array:function(e){return h(e,new Array(e.length))},arraybuffer:function(e){return p.nodebuffer.uint8array(e).buffer},uint8array:function(e){return h(e,new Uint8Array(e.length))},nodebuffer:l},r.transformTo=function(e,t){if(t=t||"",!e)return t;r.checkSupport(e);var n=r.getTypeOf(t);return p[n][e](t)},r.resolve=function(e){for(var t=e.split("/"),n=[],r=0;r<t.length;r++){var i=t[r];"."===i||""===i&&0!==r&&r!==t.length-1||(".."===i?n.pop():n.push(i))}return n.join("/")},r.getTypeOf=function(e){return"string"==typeof e?"string":"[object Array]"===Object.prototype.toString.call(e)?"array":i.nodebuffer&&o.isBuffer(e)?"nodebuffer":i.uint8array&&e instanceof Uint8Array?"uint8array":i.arraybuffer&&e instanceof ArrayBuffer?"arraybuffer":void 0},r.checkSupport=function(e){if(!i[e.toLowerCase()])throw new Error(e+" is not supported by this platform")},r.MAX_VALUE_16BITS=65535,r.MAX_VALUE_32BITS=-1,r.pretty=function(e){var t,n,r="";for(n=0;n<(e||"").length;n++)r+="\\x"+((t=e.charCodeAt(n))<16?"0":"")+t.toString(16).toUpperCase();return r},r.delay=function(e,t,r){n((function(){e.apply(r||null,t||[])}))},r.inherits=function(e,t){function n(){}n.prototype=t.prototype,e.prototype=new n},r.extend=function(){var e,t,n={};for(e=0;e<arguments.length;e++)for(t in arguments[e])Object.prototype.hasOwnProperty.call(arguments[e],t)&&void 0===n[t]&&(n[t]=arguments[e][t]);return n},r.prepareContent=function(e,t,n,o,l){return a.Promise.resolve(t).then((function(e){return i.blob&&(e instanceof Blob||-1!==["[object File]","[object Blob]"].indexOf(Object.prototype.toString.call(e)))&&"undefined"!=typeof FileReader?new a.Promise((function(t,n){var r=new FileReader;r.onload=function(e){t(e.target.result)},r.onerror=function(e){n(e.target.error)},r.readAsArrayBuffer(e)})):e})).then((function(t){var u=r.getTypeOf(t);return u?("arraybuffer"===u?t=r.transformTo("uint8array",t):"string"===u&&(l?t=s.decode(t):n&&!0!==o&&(t=function(e){return c(e,i.uint8array?new Uint8Array(e.length):new Array(e.length))}(t))),t):a.Promise.reject(new Error("Can't read the data of '"+e+"'. Is it in a supported JavaScript type (String, Blob, ArrayBuffer, etc) ?"))}))}},{"./base64":1,"./external":6,"./nodejsUtils":14,"./support":30,setimmediate:54}],33:[function(e,t,n){"use strict";var r=e("./reader/readerFor"),i=e("./utils"),s=e("./signature"),o=e("./zipEntry"),a=e("./support");function l(e){this.files=[],this.loadOptions=e}l.prototype={checkSignature:function(e){if(!this.reader.readAndCheckSignature(e)){this.reader.index-=4;var t=this.reader.readString(4);throw new Error("Corrupted zip or bug: unexpected signature ("+i.pretty(t)+", expected "+i.pretty(e)+")")}},isSignature:function(e,t){var n=this.reader.index;this.reader.setIndex(e);var r=this.reader.readString(4)===t;return this.reader.setIndex(n),r},readBlockEndOfCentral:function(){this.diskNumber=this.reader.readInt(2),this.diskWithCentralDirStart=this.reader.readInt(2),this.centralDirRecordsOnThisDisk=this.reader.readInt(2),this.centralDirRecords=this.reader.readInt(2),this.centralDirSize=this.reader.readInt(4),this.centralDirOffset=this.reader.readInt(4),this.zipCommentLength=this.reader.readInt(2);var e=this.reader.readData(this.zipCommentLength),t=a.uint8array?"uint8array":"array",n=i.transformTo(t,e);this.zipComment=this.loadOptions.decodeFileName(n)},readBlockZip64EndOfCentral:function(){this.zip64EndOfCentralSize=this.reader.readInt(8),this.reader.skip(4),this.diskNumber=this.reader.readInt(4),this.diskWithCentralDirStart=this.reader.readInt(4),this.centralDirRecordsOnThisDisk=this.reader.readInt(8),this.centralDirRecords=this.reader.readInt(8),this.centralDirSize=this.reader.readInt(8),this.centralDirOffset=this.reader.readInt(8),this.zip64ExtensibleData={};for(var e,t,n,r=this.zip64EndOfCentralSize-44;0<r;)e=this.reader.readInt(2),t=this.reader.readInt(4),n=this.reader.readData(t),this.zip64ExtensibleData[e]={id:e,length:t,value:n}},readBlockZip64EndOfCentralLocator:function(){if(this.diskWithZip64CentralDirStart=this.reader.readInt(4),this.relativeOffsetEndOfZip64CentralDir=this.reader.readInt(8),this.disksCount=this.reader.readInt(4),1<this.disksCount)throw new Error("Multi-volumes zip are not supported")},readLocalFiles:function(){var e,t;for(e=0;e<this.files.length;e++)t=this.files[e],this.reader.setIndex(t.localHeaderOffset),this.checkSignature(s.LOCAL_FILE_HEADER),t.readLocalPart(this.reader),t.handleUTF8(),t.processAttributes()},readCentralDir:function(){var e;for(this.reader.setIndex(this.centralDirOffset);this.reader.readAndCheckSignature(s.CENTRAL_FILE_HEADER);)(e=new o({zip64:this.zip64},this.loadOptions)).readCentralPart(this.reader),this.files.push(e);if(this.centralDirRecords!==this.files.length&&0!==this.centralDirRecords&&0===this.files.length)throw new Error("Corrupted zip or bug: expected "+this.centralDirRecords+" records in central dir, got "+this.files.length)},readEndOfCentral:function(){var e=this.reader.lastIndexOfSignature(s.CENTRAL_DIRECTORY_END);if(e<0)throw this.isSignature(0,s.LOCAL_FILE_HEADER)?new Error("Corrupted zip: can't find end of central directory"):new Error("Can't find end of central directory : is this a zip file ? If it is, see https://stuk.github.io/jszip/documentation/howto/read_zip.html");this.reader.setIndex(e);var t=e;if(this.checkSignature(s.CENTRAL_DIRECTORY_END),this.readBlockEndOfCentral(),this.diskNumber===i.MAX_VALUE_16BITS||this.diskWithCentralDirStart===i.MAX_VALUE_16BITS||this.centralDirRecordsOnThisDisk===i.MAX_VALUE_16BITS||this.centralDirRecords===i.MAX_VALUE_16BITS||this.centralDirSize===i.MAX_VALUE_32BITS||this.centralDirOffset===i.MAX_VALUE_32BITS){if(this.zip64=!0,(e=this.reader.lastIndexOfSignature(s.ZIP64_CENTRAL_DIRECTORY_LOCATOR))<0)throw new Error("Corrupted zip: can't find the ZIP64 end of central directory locator");if(this.reader.setIndex(e),this.checkSignature(s.ZIP64_CENTRAL_DIRECTORY_LOCATOR),this.readBlockZip64EndOfCentralLocator(),!this.isSignature(this.relativeOffsetEndOfZip64CentralDir,s.ZIP64_CENTRAL_DIRECTORY_END)&&(this.relativeOffsetEndOfZip64CentralDir=this.reader.lastIndexOfSignature(s.ZIP64_CENTRAL_DIRECTORY_END),this.relativeOffsetEndOfZip64CentralDir<0))throw new Error("Corrupted zip: can't find the ZIP64 end of central directory");this.reader.setIndex(this.relativeOffsetEndOfZip64CentralDir),this.checkSignature(s.ZIP64_CENTRAL_DIRECTORY_END),this.readBlockZip64EndOfCentral()}var n=this.centralDirOffset+this.centralDirSize;this.zip64&&(n+=20,n+=12+this.zip64EndOfCentralSize);var r=t-n;if(0<r)this.isSignature(t,s.CENTRAL_FILE_HEADER)||(this.reader.zero=r);else if(r<0)throw new Error("Corrupted zip: missing "+Math.abs(r)+" bytes.")},prepareReader:function(e){this.reader=r(e)},load:function(e){this.prepareReader(e),this.readEndOfCentral(),this.readCentralDir(),this.readLocalFiles()}},t.exports=l},{"./reader/readerFor":22,"./signature":23,"./support":30,"./utils":32,"./zipEntry":34}],34:[function(e,t,n){"use strict";var r=e("./reader/readerFor"),i=e("./utils"),s=e("./compressedObject"),o=e("./crc32"),a=e("./utf8"),l=e("./compressions"),c=e("./support");function u(e,t){this.options=e,this.loadOptions=t}u.prototype={isEncrypted:function(){return!(1&~this.bitFlag)},useUTF8:function(){return!(2048&~this.bitFlag)},readLocalPart:function(e){var t,n;if(e.skip(22),this.fileNameLength=e.readInt(2),n=e.readInt(2),this.fileName=e.readData(this.fileNameLength),e.skip(n),-1===this.compressedSize||-1===this.uncompressedSize)throw new Error("Bug or corrupted zip : didn't get enough information from the central directory (compressedSize === -1 || uncompressedSize === -1)");if(null===(t=function(e){for(var t in l)if(Object.prototype.hasOwnProperty.call(l,t)&&l[t].magic===e)return l[t];return null}(this.compressionMethod)))throw new Error("Corrupted zip : compression "+i.pretty(this.compressionMethod)+" unknown (inner file : "+i.transformTo("string",this.fileName)+")");this.decompressed=new s(this.compressedSize,this.uncompressedSize,this.crc32,t,e.readData(this.compressedSize))},readCentralPart:function(e){this.versionMadeBy=e.readInt(2),e.skip(2),this.bitFlag=e.readInt(2),this.compressionMethod=e.readString(2),this.date=e.readDate(),this.crc32=e.readInt(4),this.compressedSize=e.readInt(4),this.uncompressedSize=e.readInt(4);var t=e.readInt(2);if(this.extraFieldsLength=e.readInt(2),this.fileCommentLength=e.readInt(2),this.diskNumberStart=e.readInt(2),this.internalFileAttributes=e.readInt(2),this.externalFileAttributes=e.readInt(4),this.localHeaderOffset=e.readInt(4),this.isEncrypted())throw new Error("Encrypted zip are not supported");e.skip(t),this.readExtraFields(e),this.parseZIP64ExtraField(e),this.fileComment=e.readData(this.fileCommentLength)},processAttributes:function(){this.unixPermissions=null,this.dosPermissions=null;var e=this.versionMadeBy>>8;this.dir=!!(16&this.externalFileAttributes),0==e&&(this.dosPermissions=63&this.externalFileAttributes),3==e&&(this.unixPermissions=this.externalFileAttributes>>16&65535),this.dir||"/"!==this.fileNameStr.slice(-1)||(this.dir=!0)},parseZIP64ExtraField:function(){if(this.extraFields[1]){var e=r(this.extraFields[1].value);this.uncompressedSize===i.MAX_VALUE_32BITS&&(this.uncompressedSize=e.readInt(8)),this.compressedSize===i.MAX_VALUE_32BITS&&(this.compressedSize=e.readInt(8)),this.localHeaderOffset===i.MAX_VALUE_32BITS&&(this.localHeaderOffset=e.readInt(8)),this.diskNumberStart===i.MAX_VALUE_32BITS&&(this.diskNumberStart=e.readInt(4))}},readExtraFields:function(e){var t,n,r,i=e.index+this.extraFieldsLength;for(this.extraFields||(this.extraFields={});e.index+4<i;)t=e.readInt(2),n=e.readInt(2),r=e.readData(n),this.extraFields[t]={id:t,length:n,value:r};e.setIndex(i)},handleUTF8:function(){var e=c.uint8array?"uint8array":"array";if(this.useUTF8())this.fileNameStr=a.utf8decode(this.fileName),this.fileCommentStr=a.utf8decode(this.fileComment);else{var t=this.findExtraFieldUnicodePath();if(null!==t)this.fileNameStr=t;else{var n=i.transformTo(e,this.fileName);this.fileNameStr=this.loadOptions.decodeFileName(n)}var r=this.findExtraFieldUnicodeComment();if(null!==r)this.fileCommentStr=r;else{var s=i.transformTo(e,this.fileComment);this.fileCommentStr=this.loadOptions.decodeFileName(s)}}},findExtraFieldUnicodePath:function(){var e=this.extraFields[28789];if(e){var t=r(e.value);return 1!==t.readInt(1)||o(this.fileName)!==t.readInt(4)?null:a.utf8decode(t.readData(e.length-5))}return null},findExtraFieldUnicodeComment:function(){var e=this.extraFields[25461];if(e){var t=r(e.value);return 1!==t.readInt(1)||o(this.fileComment)!==t.readInt(4)?null:a.utf8decode(t.readData(e.length-5))}return null}},t.exports=u},{"./compressedObject":2,"./compressions":3,"./crc32":4,"./reader/readerFor":22,"./support":30,"./utf8":31,"./utils":32}],35:[function(e,t,n){"use strict";function r(e,t,n){this.name=e,this.dir=n.dir,this.date=n.date,this.comment=n.comment,this.unixPermissions=n.unixPermissions,this.dosPermissions=n.dosPermissions,this._data=t,this._dataBinary=n.binary,this.options={compression:n.compression,compressionOptions:n.compressionOptions}}var i=e("./stream/StreamHelper"),s=e("./stream/DataWorker"),o=e("./utf8"),a=e("./compressedObject"),l=e("./stream/GenericWorker");r.prototype={internalStream:function(e){var t=null,n="string";try{if(!e)throw new Error("No output type specified.");var r="string"===(n=e.toLowerCase())||"text"===n;"binarystring"!==n&&"text"!==n||(n="string"),t=this._decompressWorker();var s=!this._dataBinary;s&&!r&&(t=t.pipe(new o.Utf8EncodeWorker)),!s&&r&&(t=t.pipe(new o.Utf8DecodeWorker))}catch(e){(t=new l("error")).error(e)}return new i(t,n,"")},async:function(e,t){return this.internalStream(e).accumulate(t)},nodeStream:function(e,t){return this.internalStream(e||"nodebuffer").toNodejsStream(t)},_compressWorker:function(e,t){if(this._data instanceof a&&this._data.compression.magic===e.magic)return this._data.getCompressedWorker();var n=this._decompressWorker();return this._dataBinary||(n=n.pipe(new o.Utf8EncodeWorker)),a.createWorkerFrom(n,e,t)},_decompressWorker:function(){return this._data instanceof a?this._data.getContentWorker():this._data instanceof l?this._data:new s(this._data)}};for(var c=["asText","asBinary","asNodeBuffer","asUint8Array","asArrayBuffer"],u=function(){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},d=0;d<c.length;d++)r.prototype[c[d]]=u;t.exports=r},{"./compressedObject":2,"./stream/DataWorker":27,"./stream/GenericWorker":28,"./stream/StreamHelper":29,"./utf8":31}],36:[function(e,t,n){(function(e){"use strict";var n,r,i=e.MutationObserver||e.WebKitMutationObserver;if(i){var s=0,o=new i(u),a=e.document.createTextNode("");o.observe(a,{characterData:!0}),n=function(){a.data=s=++s%2}}else if(e.setImmediate||void 0===e.MessageChannel)n="document"in e&&"onreadystatechange"in e.document.createElement("script")?function(){var t=e.document.createElement("script");t.onreadystatechange=function(){u(),t.onreadystatechange=null,t.parentNode.removeChild(t),t=null},e.document.documentElement.appendChild(t)}:function(){setTimeout(u,0)};else{var l=new e.MessageChannel;l.port1.onmessage=u,n=function(){l.port2.postMessage(0)}}var c=[];function u(){var e,t;r=!0;for(var n=c.length;n;){for(t=c,c=[],e=-1;++e<n;)t[e]();n=c.length}r=!1}t.exports=function(e){1!==c.push(e)||r||n()}}).call(this,void 0!==r?r:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],37:[function(e,t,n){"use strict";var r=e("immediate");function i(){}var s={},o=["REJECTED"],a=["FULFILLED"],l=["PENDING"];function c(e){if("function"!=typeof e)throw new TypeError("resolver must be a function");this.state=l,this.queue=[],this.outcome=void 0,e!==i&&p(this,e)}function u(e,t,n){this.promise=e,"function"==typeof t&&(this.onFulfilled=t,this.callFulfilled=this.otherCallFulfilled),"function"==typeof n&&(this.onRejected=n,this.callRejected=this.otherCallRejected)}function d(e,t,n){r((function(){var r;try{r=t(n)}catch(r){return s.reject(e,r)}r===e?s.reject(e,new TypeError("Cannot resolve promise with itself")):s.resolve(e,r)}))}function h(e){var t=e&&e.then;if(e&&("object"==typeof e||"function"==typeof e)&&"function"==typeof t)return function(){t.apply(e,arguments)}}function p(e,t){var n=!1;function r(t){n||(n=!0,s.reject(e,t))}function i(t){n||(n=!0,s.resolve(e,t))}var o=m((function(){t(i,r)}));"error"===o.status&&r(o.value)}function m(e,t){var n={};try{n.value=e(t),n.status="success"}catch(e){n.status="error",n.value=e}return n}(t.exports=c).prototype.finally=function(e){if("function"!=typeof e)return this;var t=this.constructor;return this.then((function(n){return t.resolve(e()).then((function(){return n}))}),(function(n){return t.resolve(e()).then((function(){throw n}))}))},c.prototype.catch=function(e){return this.then(null,e)},c.prototype.then=function(e,t){if("function"!=typeof e&&this.state===a||"function"!=typeof t&&this.state===o)return this;var n=new this.constructor(i);return this.state!==l?d(n,this.state===a?e:t,this.outcome):this.queue.push(new u(n,e,t)),n},u.prototype.callFulfilled=function(e){s.resolve(this.promise,e)},u.prototype.otherCallFulfilled=function(e){d(this.promise,this.onFulfilled,e)},u.prototype.callRejected=function(e){s.reject(this.promise,e)},u.prototype.otherCallRejected=function(e){d(this.promise,this.onRejected,e)},s.resolve=function(e,t){var n=m(h,t);if("error"===n.status)return s.reject(e,n.value);var r=n.value;if(r)p(e,r);else{e.state=a,e.outcome=t;for(var i=-1,o=e.queue.length;++i<o;)e.queue[i].callFulfilled(t)}return e},s.reject=function(e,t){e.state=o,e.outcome=t;for(var n=-1,r=e.queue.length;++n<r;)e.queue[n].callRejected(t);return e},c.resolve=function(e){return e instanceof this?e:s.resolve(new this(i),e)},c.reject=function(e){var t=new this(i);return s.reject(t,e)},c.all=function(e){var t=this;if("[object Array]"!==Object.prototype.toString.call(e))return this.reject(new TypeError("must be an array"));var n=e.length,r=!1;if(!n)return this.resolve([]);for(var o=new Array(n),a=0,l=-1,c=new this(i);++l<n;)u(e[l],l);return c;function u(e,i){t.resolve(e).then((function(e){o[i]=e,++a!==n||r||(r=!0,s.resolve(c,o))}),(function(e){r||(r=!0,s.reject(c,e))}))}},c.race=function(e){var t=this;if("[object Array]"!==Object.prototype.toString.call(e))return this.reject(new TypeError("must be an array"));var n=e.length,r=!1;if(!n)return this.resolve([]);for(var o,a=-1,l=new this(i);++a<n;)o=e[a],t.resolve(o).then((function(e){r||(r=!0,s.resolve(l,e))}),(function(e){r||(r=!0,s.reject(l,e))}));return l}},{immediate:36}],38:[function(e,t,n){"use strict";var r={};(0,e("./lib/utils/common").assign)(r,e("./lib/deflate"),e("./lib/inflate"),e("./lib/zlib/constants")),t.exports=r},{"./lib/deflate":39,"./lib/inflate":40,"./lib/utils/common":41,"./lib/zlib/constants":44}],39:[function(e,t,n){"use strict";var r=e("./zlib/deflate"),i=e("./utils/common"),s=e("./utils/strings"),o=e("./zlib/messages"),a=e("./zlib/zstream"),l=Object.prototype.toString,c=0,u=-1,d=0,h=8;function p(e){if(!(this instanceof p))return new p(e);this.options=i.assign({level:u,method:h,chunkSize:16384,windowBits:15,memLevel:8,strategy:d,to:""},e||{});var t=this.options;t.raw&&0<t.windowBits?t.windowBits=-t.windowBits:t.gzip&&0<t.windowBits&&t.windowBits<16&&(t.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new a,this.strm.avail_out=0;var n=r.deflateInit2(this.strm,t.level,t.method,t.windowBits,t.memLevel,t.strategy);if(n!==c)throw new Error(o[n]);if(t.header&&r.deflateSetHeader(this.strm,t.header),t.dictionary){var m;if(m="string"==typeof t.dictionary?s.string2buf(t.dictionary):"[object ArrayBuffer]"===l.call(t.dictionary)?new Uint8Array(t.dictionary):t.dictionary,(n=r.deflateSetDictionary(this.strm,m))!==c)throw new Error(o[n]);this._dict_set=!0}}function m(e,t){var n=new p(t);if(n.push(e,!0),n.err)throw n.msg||o[n.err];return n.result}p.prototype.push=function(e,t){var n,o,a=this.strm,u=this.options.chunkSize;if(this.ended)return!1;o=t===~~t?t:!0===t?4:0,"string"==typeof e?a.input=s.string2buf(e):"[object ArrayBuffer]"===l.call(e)?a.input=new Uint8Array(e):a.input=e,a.next_in=0,a.avail_in=a.input.length;do{if(0===a.avail_out&&(a.output=new i.Buf8(u),a.next_out=0,a.avail_out=u),1!==(n=r.deflate(a,o))&&n!==c)return this.onEnd(n),!(this.ended=!0);0!==a.avail_out&&(0!==a.avail_in||4!==o&&2!==o)||("string"===this.options.to?this.onData(s.buf2binstring(i.shrinkBuf(a.output,a.next_out))):this.onData(i.shrinkBuf(a.output,a.next_out)))}while((0<a.avail_in||0===a.avail_out)&&1!==n);return 4===o?(n=r.deflateEnd(this.strm),this.onEnd(n),this.ended=!0,n===c):2!==o||(this.onEnd(c),!(a.avail_out=0))},p.prototype.onData=function(e){this.chunks.push(e)},p.prototype.onEnd=function(e){e===c&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=i.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg},n.Deflate=p,n.deflate=m,n.deflateRaw=function(e,t){return(t=t||{}).raw=!0,m(e,t)},n.gzip=function(e,t){return(t=t||{}).gzip=!0,m(e,t)}},{"./utils/common":41,"./utils/strings":42,"./zlib/deflate":46,"./zlib/messages":51,"./zlib/zstream":53}],40:[function(e,t,n){"use strict";var r=e("./zlib/inflate"),i=e("./utils/common"),s=e("./utils/strings"),o=e("./zlib/constants"),a=e("./zlib/messages"),l=e("./zlib/zstream"),c=e("./zlib/gzheader"),u=Object.prototype.toString;function d(e){if(!(this instanceof d))return new d(e);this.options=i.assign({chunkSize:16384,windowBits:0,to:""},e||{});var t=this.options;t.raw&&0<=t.windowBits&&t.windowBits<16&&(t.windowBits=-t.windowBits,0===t.windowBits&&(t.windowBits=-15)),!(0<=t.windowBits&&t.windowBits<16)||e&&e.windowBits||(t.windowBits+=32),15<t.windowBits&&t.windowBits<48&&!(15&t.windowBits)&&(t.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new l,this.strm.avail_out=0;var n=r.inflateInit2(this.strm,t.windowBits);if(n!==o.Z_OK)throw new Error(a[n]);this.header=new c,r.inflateGetHeader(this.strm,this.header)}function h(e,t){var n=new d(t);if(n.push(e,!0),n.err)throw n.msg||a[n.err];return n.result}d.prototype.push=function(e,t){var n,a,l,c,d,h,p=this.strm,m=this.options.chunkSize,f=this.options.dictionary,g=!1;if(this.ended)return!1;a=t===~~t?t:!0===t?o.Z_FINISH:o.Z_NO_FLUSH,"string"==typeof e?p.input=s.binstring2buf(e):"[object ArrayBuffer]"===u.call(e)?p.input=new Uint8Array(e):p.input=e,p.next_in=0,p.avail_in=p.input.length;do{if(0===p.avail_out&&(p.output=new i.Buf8(m),p.next_out=0,p.avail_out=m),(n=r.inflate(p,o.Z_NO_FLUSH))===o.Z_NEED_DICT&&f&&(h="string"==typeof f?s.string2buf(f):"[object ArrayBuffer]"===u.call(f)?new Uint8Array(f):f,n=r.inflateSetDictionary(this.strm,h)),n===o.Z_BUF_ERROR&&!0===g&&(n=o.Z_OK,g=!1),n!==o.Z_STREAM_END&&n!==o.Z_OK)return this.onEnd(n),!(this.ended=!0);p.next_out&&(0!==p.avail_out&&n!==o.Z_STREAM_END&&(0!==p.avail_in||a!==o.Z_FINISH&&a!==o.Z_SYNC_FLUSH)||("string"===this.options.to?(l=s.utf8border(p.output,p.next_out),c=p.next_out-l,d=s.buf2string(p.output,l),p.next_out=c,p.avail_out=m-c,c&&i.arraySet(p.output,p.output,l,c,0),this.onData(d)):this.onData(i.shrinkBuf(p.output,p.next_out)))),0===p.avail_in&&0===p.avail_out&&(g=!0)}while((0<p.avail_in||0===p.avail_out)&&n!==o.Z_STREAM_END);return n===o.Z_STREAM_END&&(a=o.Z_FINISH),a===o.Z_FINISH?(n=r.inflateEnd(this.strm),this.onEnd(n),this.ended=!0,n===o.Z_OK):a!==o.Z_SYNC_FLUSH||(this.onEnd(o.Z_OK),!(p.avail_out=0))},d.prototype.onData=function(e){this.chunks.push(e)},d.prototype.onEnd=function(e){e===o.Z_OK&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=i.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg},n.Inflate=d,n.inflate=h,n.inflateRaw=function(e,t){return(t=t||{}).raw=!0,h(e,t)},n.ungzip=h},{"./utils/common":41,"./utils/strings":42,"./zlib/constants":44,"./zlib/gzheader":47,"./zlib/inflate":49,"./zlib/messages":51,"./zlib/zstream":53}],41:[function(e,t,n){"use strict";var r="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Int32Array;n.assign=function(e){for(var t=Array.prototype.slice.call(arguments,1);t.length;){var n=t.shift();if(n){if("object"!=typeof n)throw new TypeError(n+"must be non-object");for(var r in n)n.hasOwnProperty(r)&&(e[r]=n[r])}}return e},n.shrinkBuf=function(e,t){return e.length===t?e:e.subarray?e.subarray(0,t):(e.length=t,e)};var i={arraySet:function(e,t,n,r,i){if(t.subarray&&e.subarray)e.set(t.subarray(n,n+r),i);else for(var s=0;s<r;s++)e[i+s]=t[n+s]},flattenChunks:function(e){var t,n,r,i,s,o;for(t=r=0,n=e.length;t<n;t++)r+=e[t].length;for(o=new Uint8Array(r),t=i=0,n=e.length;t<n;t++)s=e[t],o.set(s,i),i+=s.length;return o}},s={arraySet:function(e,t,n,r,i){for(var s=0;s<r;s++)e[i+s]=t[n+s]},flattenChunks:function(e){return[].concat.apply([],e)}};n.setTyped=function(e){e?(n.Buf8=Uint8Array,n.Buf16=Uint16Array,n.Buf32=Int32Array,n.assign(n,i)):(n.Buf8=Array,n.Buf16=Array,n.Buf32=Array,n.assign(n,s))},n.setTyped(r)},{}],42:[function(e,t,n){"use strict";var r=e("./common"),i=!0,s=!0;try{String.fromCharCode.apply(null,[0])}catch(e){i=!1}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(e){s=!1}for(var o=new r.Buf8(256),a=0;a<256;a++)o[a]=252<=a?6:248<=a?5:240<=a?4:224<=a?3:192<=a?2:1;function l(e,t){if(t<65537&&(e.subarray&&s||!e.subarray&&i))return String.fromCharCode.apply(null,r.shrinkBuf(e,t));for(var n="",o=0;o<t;o++)n+=String.fromCharCode(e[o]);return n}o[254]=o[254]=1,n.string2buf=function(e){var t,n,i,s,o,a=e.length,l=0;for(s=0;s<a;s++)55296==(64512&(n=e.charCodeAt(s)))&&s+1<a&&56320==(64512&(i=e.charCodeAt(s+1)))&&(n=65536+(n-55296<<10)+(i-56320),s++),l+=n<128?1:n<2048?2:n<65536?3:4;for(t=new r.Buf8(l),s=o=0;o<l;s++)55296==(64512&(n=e.charCodeAt(s)))&&s+1<a&&56320==(64512&(i=e.charCodeAt(s+1)))&&(n=65536+(n-55296<<10)+(i-56320),s++),n<128?t[o++]=n:(n<2048?t[o++]=192|n>>>6:(n<65536?t[o++]=224|n>>>12:(t[o++]=240|n>>>18,t[o++]=128|n>>>12&63),t[o++]=128|n>>>6&63),t[o++]=128|63&n);return t},n.buf2binstring=function(e){return l(e,e.length)},n.binstring2buf=function(e){for(var t=new r.Buf8(e.length),n=0,i=t.length;n<i;n++)t[n]=e.charCodeAt(n);return t},n.buf2string=function(e,t){var n,r,i,s,a=t||e.length,c=new Array(2*a);for(n=r=0;n<a;)if((i=e[n++])<128)c[r++]=i;else if(4<(s=o[i]))c[r++]=65533,n+=s-1;else{for(i&=2===s?31:3===s?15:7;1<s&&n<a;)i=i<<6|63&e[n++],s--;1<s?c[r++]=65533:i<65536?c[r++]=i:(i-=65536,c[r++]=55296|i>>10&1023,c[r++]=56320|1023&i)}return l(c,r)},n.utf8border=function(e,t){var n;for((t=t||e.length)>e.length&&(t=e.length),n=t-1;0<=n&&128==(192&e[n]);)n--;return n<0||0===n?t:n+o[e[n]]>t?n:t}},{"./common":41}],43:[function(e,t,n){"use strict";t.exports=function(e,t,n,r){for(var i=65535&e,s=e>>>16&65535,o=0;0!==n;){for(n-=o=2e3<n?2e3:n;s=s+(i=i+t[r++]|0)|0,--o;);i%=65521,s%=65521}return i|s<<16}},{}],44:[function(e,t,n){"use strict";t.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}},{}],45:[function(e,t,n){"use strict";var r=function(){for(var e,t=[],n=0;n<256;n++){e=n;for(var r=0;r<8;r++)e=1&e?3988292384^e>>>1:e>>>1;t[n]=e}return t}();t.exports=function(e,t,n,i){var s=r,o=i+n;e^=-1;for(var a=i;a<o;a++)e=e>>>8^s[255&(e^t[a])];return~e}},{}],46:[function(e,t,n){"use strict";var r,i=e("../utils/common"),s=e("./trees"),o=e("./adler32"),a=e("./crc32"),l=e("./messages"),c=0,u=4,d=0,h=-2,p=-1,m=4,f=2,g=8,y=9,b=286,v=30,S=19,w=2*b+1,k=15,x=3,T=258,E=T+x+1,A=42,C=113,I=1,O=2,M=3,N=4;function R(e,t){return e.msg=l[t],t}function D(e){return(e<<1)-(4<e?9:0)}function P(e){for(var t=e.length;0<=--t;)e[t]=0}function L(e){var t=e.state,n=t.pending;n>e.avail_out&&(n=e.avail_out),0!==n&&(i.arraySet(e.output,t.pending_buf,t.pending_out,n,e.next_out),e.next_out+=n,t.pending_out+=n,e.total_out+=n,e.avail_out-=n,t.pending-=n,0===t.pending&&(t.pending_out=0))}function B(e,t){s._tr_flush_block(e,0<=e.block_start?e.block_start:-1,e.strstart-e.block_start,t),e.block_start=e.strstart,L(e.strm)}function z(e,t){e.pending_buf[e.pending++]=t}function U(e,t){e.pending_buf[e.pending++]=t>>>8&255,e.pending_buf[e.pending++]=255&t}function j(e,t){var n,r,i=e.max_chain_length,s=e.strstart,o=e.prev_length,a=e.nice_match,l=e.strstart>e.w_size-E?e.strstart-(e.w_size-E):0,c=e.window,u=e.w_mask,d=e.prev,h=e.strstart+T,p=c[s+o-1],m=c[s+o];e.prev_length>=e.good_match&&(i>>=2),a>e.lookahead&&(a=e.lookahead);do{if(c[(n=t)+o]===m&&c[n+o-1]===p&&c[n]===c[s]&&c[++n]===c[s+1]){s+=2,n++;do{}while(c[++s]===c[++n]&&c[++s]===c[++n]&&c[++s]===c[++n]&&c[++s]===c[++n]&&c[++s]===c[++n]&&c[++s]===c[++n]&&c[++s]===c[++n]&&c[++s]===c[++n]&&s<h);if(r=T-(h-s),s=h-T,o<r){if(e.match_start=t,a<=(o=r))break;p=c[s+o-1],m=c[s+o]}}}while((t=d[t&u])>l&&0!=--i);return o<=e.lookahead?o:e.lookahead}function F(e){var t,n,r,s,l,c,u,d,h,p,m=e.w_size;do{if(s=e.window_size-e.lookahead-e.strstart,e.strstart>=m+(m-E)){for(i.arraySet(e.window,e.window,m,m,0),e.match_start-=m,e.strstart-=m,e.block_start-=m,t=n=e.hash_size;r=e.head[--t],e.head[t]=m<=r?r-m:0,--n;);for(t=n=m;r=e.prev[--t],e.prev[t]=m<=r?r-m:0,--n;);s+=m}if(0===e.strm.avail_in)break;if(c=e.strm,u=e.window,d=e.strstart+e.lookahead,p=void 0,(h=s)<(p=c.avail_in)&&(p=h),n=0===p?0:(c.avail_in-=p,i.arraySet(u,c.input,c.next_in,p,d),1===c.state.wrap?c.adler=o(c.adler,u,p,d):2===c.state.wrap&&(c.adler=a(c.adler,u,p,d)),c.next_in+=p,c.total_in+=p,p),e.lookahead+=n,e.lookahead+e.insert>=x)for(l=e.strstart-e.insert,e.ins_h=e.window[l],e.ins_h=(e.ins_h<<e.hash_shift^e.window[l+1])&e.hash_mask;e.insert&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[l+x-1])&e.hash_mask,e.prev[l&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=l,l++,e.insert--,!(e.lookahead+e.insert<x)););}while(e.lookahead<E&&0!==e.strm.avail_in)}function W(e,t){for(var n,r;;){if(e.lookahead<E){if(F(e),e.lookahead<E&&t===c)return I;if(0===e.lookahead)break}if(n=0,e.lookahead>=x&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+x-1])&e.hash_mask,n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),0!==n&&e.strstart-n<=e.w_size-E&&(e.match_length=j(e,n)),e.match_length>=x)if(r=s._tr_tally(e,e.strstart-e.match_start,e.match_length-x),e.lookahead-=e.match_length,e.match_length<=e.max_lazy_match&&e.lookahead>=x){for(e.match_length--;e.strstart++,e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+x-1])&e.hash_mask,n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart,0!=--e.match_length;);e.strstart++}else e.strstart+=e.match_length,e.match_length=0,e.ins_h=e.window[e.strstart],e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+1])&e.hash_mask;else r=s._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++;if(r&&(B(e,!1),0===e.strm.avail_out))return I}return e.insert=e.strstart<x-1?e.strstart:x-1,t===u?(B(e,!0),0===e.strm.avail_out?M:N):e.last_lit&&(B(e,!1),0===e.strm.avail_out)?I:O}function V(e,t){for(var n,r,i;;){if(e.lookahead<E){if(F(e),e.lookahead<E&&t===c)return I;if(0===e.lookahead)break}if(n=0,e.lookahead>=x&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+x-1])&e.hash_mask,n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),e.prev_length=e.match_length,e.prev_match=e.match_start,e.match_length=x-1,0!==n&&e.prev_length<e.max_lazy_match&&e.strstart-n<=e.w_size-E&&(e.match_length=j(e,n),e.match_length<=5&&(1===e.strategy||e.match_length===x&&4096<e.strstart-e.match_start)&&(e.match_length=x-1)),e.prev_length>=x&&e.match_length<=e.prev_length){for(i=e.strstart+e.lookahead-x,r=s._tr_tally(e,e.strstart-1-e.prev_match,e.prev_length-x),e.lookahead-=e.prev_length-1,e.prev_length-=2;++e.strstart<=i&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+x-1])&e.hash_mask,n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),0!=--e.prev_length;);if(e.match_available=0,e.match_length=x-1,e.strstart++,r&&(B(e,!1),0===e.strm.avail_out))return I}else if(e.match_available){if((r=s._tr_tally(e,0,e.window[e.strstart-1]))&&B(e,!1),e.strstart++,e.lookahead--,0===e.strm.avail_out)return I}else e.match_available=1,e.strstart++,e.lookahead--}return e.match_available&&(r=s._tr_tally(e,0,e.window[e.strstart-1]),e.match_available=0),e.insert=e.strstart<x-1?e.strstart:x-1,t===u?(B(e,!0),0===e.strm.avail_out?M:N):e.last_lit&&(B(e,!1),0===e.strm.avail_out)?I:O}function G(e,t,n,r,i){this.good_length=e,this.max_lazy=t,this.nice_length=n,this.max_chain=r,this.func=i}function q(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=g,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new i.Buf16(2*w),this.dyn_dtree=new i.Buf16(2*(2*v+1)),this.bl_tree=new i.Buf16(2*(2*S+1)),P(this.dyn_ltree),P(this.dyn_dtree),P(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new i.Buf16(k+1),this.heap=new i.Buf16(2*b+1),P(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new i.Buf16(2*b+1),P(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function Y(e){var t;return e&&e.state?(e.total_in=e.total_out=0,e.data_type=f,(t=e.state).pending=0,t.pending_out=0,t.wrap<0&&(t.wrap=-t.wrap),t.status=t.wrap?A:C,e.adler=2===t.wrap?0:1,t.last_flush=c,s._tr_init(t),d):R(e,h)}function H(e){var t=Y(e);return t===d&&function(e){e.window_size=2*e.w_size,P(e.head),e.max_lazy_match=r[e.level].max_lazy,e.good_match=r[e.level].good_length,e.nice_match=r[e.level].nice_length,e.max_chain_length=r[e.level].max_chain,e.strstart=0,e.block_start=0,e.lookahead=0,e.insert=0,e.match_length=e.prev_length=x-1,e.match_available=0,e.ins_h=0}(e.state),t}function _(e,t,n,r,s,o){if(!e)return h;var a=1;if(t===p&&(t=6),r<0?(a=0,r=-r):15<r&&(a=2,r-=16),s<1||y<s||n!==g||r<8||15<r||t<0||9<t||o<0||m<o)return R(e,h);8===r&&(r=9);var l=new q;return(e.state=l).strm=e,l.wrap=a,l.gzhead=null,l.w_bits=r,l.w_size=1<<l.w_bits,l.w_mask=l.w_size-1,l.hash_bits=s+7,l.hash_size=1<<l.hash_bits,l.hash_mask=l.hash_size-1,l.hash_shift=~~((l.hash_bits+x-1)/x),l.window=new i.Buf8(2*l.w_size),l.head=new i.Buf16(l.hash_size),l.prev=new i.Buf16(l.w_size),l.lit_bufsize=1<<s+6,l.pending_buf_size=4*l.lit_bufsize,l.pending_buf=new i.Buf8(l.pending_buf_size),l.d_buf=1*l.lit_bufsize,l.l_buf=3*l.lit_bufsize,l.level=t,l.strategy=o,l.method=n,H(e)}r=[new G(0,0,0,0,(function(e,t){var n=65535;for(n>e.pending_buf_size-5&&(n=e.pending_buf_size-5);;){if(e.lookahead<=1){if(F(e),0===e.lookahead&&t===c)return I;if(0===e.lookahead)break}e.strstart+=e.lookahead,e.lookahead=0;var r=e.block_start+n;if((0===e.strstart||e.strstart>=r)&&(e.lookahead=e.strstart-r,e.strstart=r,B(e,!1),0===e.strm.avail_out))return I;if(e.strstart-e.block_start>=e.w_size-E&&(B(e,!1),0===e.strm.avail_out))return I}return e.insert=0,t===u?(B(e,!0),0===e.strm.avail_out?M:N):(e.strstart>e.block_start&&(B(e,!1),e.strm.avail_out),I)})),new G(4,4,8,4,W),new G(4,5,16,8,W),new G(4,6,32,32,W),new G(4,4,16,16,V),new G(8,16,32,32,V),new G(8,16,128,128,V),new G(8,32,128,256,V),new G(32,128,258,1024,V),new G(32,258,258,4096,V)],n.deflateInit=function(e,t){return _(e,t,g,15,8,0)},n.deflateInit2=_,n.deflateReset=H,n.deflateResetKeep=Y,n.deflateSetHeader=function(e,t){return e&&e.state?2!==e.state.wrap?h:(e.state.gzhead=t,d):h},n.deflate=function(e,t){var n,i,o,l;if(!e||!e.state||5<t||t<0)return e?R(e,h):h;if(i=e.state,!e.output||!e.input&&0!==e.avail_in||666===i.status&&t!==u)return R(e,0===e.avail_out?-5:h);if(i.strm=e,n=i.last_flush,i.last_flush=t,i.status===A)if(2===i.wrap)e.adler=0,z(i,31),z(i,139),z(i,8),i.gzhead?(z(i,(i.gzhead.text?1:0)+(i.gzhead.hcrc?2:0)+(i.gzhead.extra?4:0)+(i.gzhead.name?8:0)+(i.gzhead.comment?16:0)),z(i,255&i.gzhead.time),z(i,i.gzhead.time>>8&255),z(i,i.gzhead.time>>16&255),z(i,i.gzhead.time>>24&255),z(i,9===i.level?2:2<=i.strategy||i.level<2?4:0),z(i,255&i.gzhead.os),i.gzhead.extra&&i.gzhead.extra.length&&(z(i,255&i.gzhead.extra.length),z(i,i.gzhead.extra.length>>8&255)),i.gzhead.hcrc&&(e.adler=a(e.adler,i.pending_buf,i.pending,0)),i.gzindex=0,i.status=69):(z(i,0),z(i,0),z(i,0),z(i,0),z(i,0),z(i,9===i.level?2:2<=i.strategy||i.level<2?4:0),z(i,3),i.status=C);else{var p=g+(i.w_bits-8<<4)<<8;p|=(2<=i.strategy||i.level<2?0:i.level<6?1:6===i.level?2:3)<<6,0!==i.strstart&&(p|=32),p+=31-p%31,i.status=C,U(i,p),0!==i.strstart&&(U(i,e.adler>>>16),U(i,65535&e.adler)),e.adler=1}if(69===i.status)if(i.gzhead.extra){for(o=i.pending;i.gzindex<(65535&i.gzhead.extra.length)&&(i.pending!==i.pending_buf_size||(i.gzhead.hcrc&&i.pending>o&&(e.adler=a(e.adler,i.pending_buf,i.pending-o,o)),L(e),o=i.pending,i.pending!==i.pending_buf_size));)z(i,255&i.gzhead.extra[i.gzindex]),i.gzindex++;i.gzhead.hcrc&&i.pending>o&&(e.adler=a(e.adler,i.pending_buf,i.pending-o,o)),i.gzindex===i.gzhead.extra.length&&(i.gzindex=0,i.status=73)}else i.status=73;if(73===i.status)if(i.gzhead.name){o=i.pending;do{if(i.pending===i.pending_buf_size&&(i.gzhead.hcrc&&i.pending>o&&(e.adler=a(e.adler,i.pending_buf,i.pending-o,o)),L(e),o=i.pending,i.pending===i.pending_buf_size)){l=1;break}l=i.gzindex<i.gzhead.name.length?255&i.gzhead.name.charCodeAt(i.gzindex++):0,z(i,l)}while(0!==l);i.gzhead.hcrc&&i.pending>o&&(e.adler=a(e.adler,i.pending_buf,i.pending-o,o)),0===l&&(i.gzindex=0,i.status=91)}else i.status=91;if(91===i.status)if(i.gzhead.comment){o=i.pending;do{if(i.pending===i.pending_buf_size&&(i.gzhead.hcrc&&i.pending>o&&(e.adler=a(e.adler,i.pending_buf,i.pending-o,o)),L(e),o=i.pending,i.pending===i.pending_buf_size)){l=1;break}l=i.gzindex<i.gzhead.comment.length?255&i.gzhead.comment.charCodeAt(i.gzindex++):0,z(i,l)}while(0!==l);i.gzhead.hcrc&&i.pending>o&&(e.adler=a(e.adler,i.pending_buf,i.pending-o,o)),0===l&&(i.status=103)}else i.status=103;if(103===i.status&&(i.gzhead.hcrc?(i.pending+2>i.pending_buf_size&&L(e),i.pending+2<=i.pending_buf_size&&(z(i,255&e.adler),z(i,e.adler>>8&255),e.adler=0,i.status=C)):i.status=C),0!==i.pending){if(L(e),0===e.avail_out)return i.last_flush=-1,d}else if(0===e.avail_in&&D(t)<=D(n)&&t!==u)return R(e,-5);if(666===i.status&&0!==e.avail_in)return R(e,-5);if(0!==e.avail_in||0!==i.lookahead||t!==c&&666!==i.status){var m=2===i.strategy?function(e,t){for(var n;;){if(0===e.lookahead&&(F(e),0===e.lookahead)){if(t===c)return I;break}if(e.match_length=0,n=s._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++,n&&(B(e,!1),0===e.strm.avail_out))return I}return e.insert=0,t===u?(B(e,!0),0===e.strm.avail_out?M:N):e.last_lit&&(B(e,!1),0===e.strm.avail_out)?I:O}(i,t):3===i.strategy?function(e,t){for(var n,r,i,o,a=e.window;;){if(e.lookahead<=T){if(F(e),e.lookahead<=T&&t===c)return I;if(0===e.lookahead)break}if(e.match_length=0,e.lookahead>=x&&0<e.strstart&&(r=a[i=e.strstart-1])===a[++i]&&r===a[++i]&&r===a[++i]){o=e.strstart+T;do{}while(r===a[++i]&&r===a[++i]&&r===a[++i]&&r===a[++i]&&r===a[++i]&&r===a[++i]&&r===a[++i]&&r===a[++i]&&i<o);e.match_length=T-(o-i),e.match_length>e.lookahead&&(e.match_length=e.lookahead)}if(e.match_length>=x?(n=s._tr_tally(e,1,e.match_length-x),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(n=s._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++),n&&(B(e,!1),0===e.strm.avail_out))return I}return e.insert=0,t===u?(B(e,!0),0===e.strm.avail_out?M:N):e.last_lit&&(B(e,!1),0===e.strm.avail_out)?I:O}(i,t):r[i.level].func(i,t);if(m!==M&&m!==N||(i.status=666),m===I||m===M)return 0===e.avail_out&&(i.last_flush=-1),d;if(m===O&&(1===t?s._tr_align(i):5!==t&&(s._tr_stored_block(i,0,0,!1),3===t&&(P(i.head),0===i.lookahead&&(i.strstart=0,i.block_start=0,i.insert=0))),L(e),0===e.avail_out))return i.last_flush=-1,d}return t!==u?d:i.wrap<=0?1:(2===i.wrap?(z(i,255&e.adler),z(i,e.adler>>8&255),z(i,e.adler>>16&255),z(i,e.adler>>24&255),z(i,255&e.total_in),z(i,e.total_in>>8&255),z(i,e.total_in>>16&255),z(i,e.total_in>>24&255)):(U(i,e.adler>>>16),U(i,65535&e.adler)),L(e),0<i.wrap&&(i.wrap=-i.wrap),0!==i.pending?d:1)},n.deflateEnd=function(e){var t;return e&&e.state?(t=e.state.status)!==A&&69!==t&&73!==t&&91!==t&&103!==t&&t!==C&&666!==t?R(e,h):(e.state=null,t===C?R(e,-3):d):h},n.deflateSetDictionary=function(e,t){var n,r,s,a,l,c,u,p,m=t.length;if(!e||!e.state)return h;if(2===(a=(n=e.state).wrap)||1===a&&n.status!==A||n.lookahead)return h;for(1===a&&(e.adler=o(e.adler,t,m,0)),n.wrap=0,m>=n.w_size&&(0===a&&(P(n.head),n.strstart=0,n.block_start=0,n.insert=0),p=new i.Buf8(n.w_size),i.arraySet(p,t,m-n.w_size,n.w_size,0),t=p,m=n.w_size),l=e.avail_in,c=e.next_in,u=e.input,e.avail_in=m,e.next_in=0,e.input=t,F(n);n.lookahead>=x;){for(r=n.strstart,s=n.lookahead-(x-1);n.ins_h=(n.ins_h<<n.hash_shift^n.window[r+x-1])&n.hash_mask,n.prev[r&n.w_mask]=n.head[n.ins_h],n.head[n.ins_h]=r,r++,--s;);n.strstart=r,n.lookahead=x-1,F(n)}return n.strstart+=n.lookahead,n.block_start=n.strstart,n.insert=n.lookahead,n.lookahead=0,n.match_length=n.prev_length=x-1,n.match_available=0,e.next_in=c,e.input=u,e.avail_in=l,n.wrap=a,d},n.deflateInfo="pako deflate (from Nodeca project)"},{"../utils/common":41,"./adler32":43,"./crc32":45,"./messages":51,"./trees":52}],47:[function(e,t,n){"use strict";t.exports=function(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}},{}],48:[function(e,t,n){"use strict";t.exports=function(e,t){var n,r,i,s,o,a,l,c,u,d,h,p,m,f,g,y,b,v,S,w,k,x,T,E,A;n=e.state,r=e.next_in,E=e.input,i=r+(e.avail_in-5),s=e.next_out,A=e.output,o=s-(t-e.avail_out),a=s+(e.avail_out-257),l=n.dmax,c=n.wsize,u=n.whave,d=n.wnext,h=n.window,p=n.hold,m=n.bits,f=n.lencode,g=n.distcode,y=(1<<n.lenbits)-1,b=(1<<n.distbits)-1;e:do{m<15&&(p+=E[r++]<<m,m+=8,p+=E[r++]<<m,m+=8),v=f[p&y];t:for(;;){if(p>>>=S=v>>>24,m-=S,0==(S=v>>>16&255))A[s++]=65535&v;else{if(!(16&S)){if(!(64&S)){v=f[(65535&v)+(p&(1<<S)-1)];continue t}if(32&S){n.mode=12;break e}e.msg="invalid literal/length code",n.mode=30;break e}w=65535&v,(S&=15)&&(m<S&&(p+=E[r++]<<m,m+=8),w+=p&(1<<S)-1,p>>>=S,m-=S),m<15&&(p+=E[r++]<<m,m+=8,p+=E[r++]<<m,m+=8),v=g[p&b];n:for(;;){if(p>>>=S=v>>>24,m-=S,!(16&(S=v>>>16&255))){if(!(64&S)){v=g[(65535&v)+(p&(1<<S)-1)];continue n}e.msg="invalid distance code",n.mode=30;break e}if(k=65535&v,m<(S&=15)&&(p+=E[r++]<<m,(m+=8)<S&&(p+=E[r++]<<m,m+=8)),l<(k+=p&(1<<S)-1)){e.msg="invalid distance too far back",n.mode=30;break e}if(p>>>=S,m-=S,(S=s-o)<k){if(u<(S=k-S)&&n.sane){e.msg="invalid distance too far back",n.mode=30;break e}if(T=h,(x=0)===d){if(x+=c-S,S<w){for(w-=S;A[s++]=h[x++],--S;);x=s-k,T=A}}else if(d<S){if(x+=c+d-S,(S-=d)<w){for(w-=S;A[s++]=h[x++],--S;);if(x=0,d<w){for(w-=S=d;A[s++]=h[x++],--S;);x=s-k,T=A}}}else if(x+=d-S,S<w){for(w-=S;A[s++]=h[x++],--S;);x=s-k,T=A}for(;2<w;)A[s++]=T[x++],A[s++]=T[x++],A[s++]=T[x++],w-=3;w&&(A[s++]=T[x++],1<w&&(A[s++]=T[x++]))}else{for(x=s-k;A[s++]=A[x++],A[s++]=A[x++],A[s++]=A[x++],2<(w-=3););w&&(A[s++]=A[x++],1<w&&(A[s++]=A[x++]))}break}}break}}while(r<i&&s<a);r-=w=m>>3,p&=(1<<(m-=w<<3))-1,e.next_in=r,e.next_out=s,e.avail_in=r<i?i-r+5:5-(r-i),e.avail_out=s<a?a-s+257:257-(s-a),n.hold=p,n.bits=m}},{}],49:[function(e,t,n){"use strict";var r=e("../utils/common"),i=e("./adler32"),s=e("./crc32"),o=e("./inffast"),a=e("./inftrees"),l=1,c=2,u=0,d=-2,h=1,p=852,m=592;function f(e){return(e>>>24&255)+(e>>>8&65280)+((65280&e)<<8)+((255&e)<<24)}function g(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new r.Buf16(320),this.work=new r.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function y(e){var t;return e&&e.state?(t=e.state,e.total_in=e.total_out=t.total=0,e.msg="",t.wrap&&(e.adler=1&t.wrap),t.mode=h,t.last=0,t.havedict=0,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new r.Buf32(p),t.distcode=t.distdyn=new r.Buf32(m),t.sane=1,t.back=-1,u):d}function b(e){var t;return e&&e.state?((t=e.state).wsize=0,t.whave=0,t.wnext=0,y(e)):d}function v(e,t){var n,r;return e&&e.state?(r=e.state,t<0?(n=0,t=-t):(n=1+(t>>4),t<48&&(t&=15)),t&&(t<8||15<t)?d:(null!==r.window&&r.wbits!==t&&(r.window=null),r.wrap=n,r.wbits=t,b(e))):d}function S(e,t){var n,r;return e?(r=new g,(e.state=r).window=null,(n=v(e,t))!==u&&(e.state=null),n):d}var w,k,x=!0;function T(e){if(x){var t;for(w=new r.Buf32(512),k=new r.Buf32(32),t=0;t<144;)e.lens[t++]=8;for(;t<256;)e.lens[t++]=9;for(;t<280;)e.lens[t++]=7;for(;t<288;)e.lens[t++]=8;for(a(l,e.lens,0,288,w,0,e.work,{bits:9}),t=0;t<32;)e.lens[t++]=5;a(c,e.lens,0,32,k,0,e.work,{bits:5}),x=!1}e.lencode=w,e.lenbits=9,e.distcode=k,e.distbits=5}function E(e,t,n,i){var s,o=e.state;return null===o.window&&(o.wsize=1<<o.wbits,o.wnext=0,o.whave=0,o.window=new r.Buf8(o.wsize)),i>=o.wsize?(r.arraySet(o.window,t,n-o.wsize,o.wsize,0),o.wnext=0,o.whave=o.wsize):(i<(s=o.wsize-o.wnext)&&(s=i),r.arraySet(o.window,t,n-i,s,o.wnext),(i-=s)?(r.arraySet(o.window,t,n-i,i,0),o.wnext=i,o.whave=o.wsize):(o.wnext+=s,o.wnext===o.wsize&&(o.wnext=0),o.whave<o.wsize&&(o.whave+=s))),0}n.inflateReset=b,n.inflateReset2=v,n.inflateResetKeep=y,n.inflateInit=function(e){return S(e,15)},n.inflateInit2=S,n.inflate=function(e,t){var n,p,m,g,y,b,v,S,w,k,x,A,C,I,O,M,N,R,D,P,L,B,z,U,j=0,F=new r.Buf8(4),W=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!e||!e.state||!e.output||!e.input&&0!==e.avail_in)return d;12===(n=e.state).mode&&(n.mode=13),y=e.next_out,m=e.output,v=e.avail_out,g=e.next_in,p=e.input,b=e.avail_in,S=n.hold,w=n.bits,k=b,x=v,B=u;e:for(;;)switch(n.mode){case h:if(0===n.wrap){n.mode=13;break}for(;w<16;){if(0===b)break e;b--,S+=p[g++]<<w,w+=8}if(2&n.wrap&&35615===S){F[n.check=0]=255&S,F[1]=S>>>8&255,n.check=s(n.check,F,2,0),w=S=0,n.mode=2;break}if(n.flags=0,n.head&&(n.head.done=!1),!(1&n.wrap)||(((255&S)<<8)+(S>>8))%31){e.msg="incorrect header check",n.mode=30;break}if(8!=(15&S)){e.msg="unknown compression method",n.mode=30;break}if(w-=4,L=8+(15&(S>>>=4)),0===n.wbits)n.wbits=L;else if(L>n.wbits){e.msg="invalid window size",n.mode=30;break}n.dmax=1<<L,e.adler=n.check=1,n.mode=512&S?10:12,w=S=0;break;case 2:for(;w<16;){if(0===b)break e;b--,S+=p[g++]<<w,w+=8}if(n.flags=S,8!=(255&n.flags)){e.msg="unknown compression method",n.mode=30;break}if(57344&n.flags){e.msg="unknown header flags set",n.mode=30;break}n.head&&(n.head.text=S>>8&1),512&n.flags&&(F[0]=255&S,F[1]=S>>>8&255,n.check=s(n.check,F,2,0)),w=S=0,n.mode=3;case 3:for(;w<32;){if(0===b)break e;b--,S+=p[g++]<<w,w+=8}n.head&&(n.head.time=S),512&n.flags&&(F[0]=255&S,F[1]=S>>>8&255,F[2]=S>>>16&255,F[3]=S>>>24&255,n.check=s(n.check,F,4,0)),w=S=0,n.mode=4;case 4:for(;w<16;){if(0===b)break e;b--,S+=p[g++]<<w,w+=8}n.head&&(n.head.xflags=255&S,n.head.os=S>>8),512&n.flags&&(F[0]=255&S,F[1]=S>>>8&255,n.check=s(n.check,F,2,0)),w=S=0,n.mode=5;case 5:if(1024&n.flags){for(;w<16;){if(0===b)break e;b--,S+=p[g++]<<w,w+=8}n.length=S,n.head&&(n.head.extra_len=S),512&n.flags&&(F[0]=255&S,F[1]=S>>>8&255,n.check=s(n.check,F,2,0)),w=S=0}else n.head&&(n.head.extra=null);n.mode=6;case 6:if(1024&n.flags&&(b<(A=n.length)&&(A=b),A&&(n.head&&(L=n.head.extra_len-n.length,n.head.extra||(n.head.extra=new Array(n.head.extra_len)),r.arraySet(n.head.extra,p,g,A,L)),512&n.flags&&(n.check=s(n.check,p,A,g)),b-=A,g+=A,n.length-=A),n.length))break e;n.length=0,n.mode=7;case 7:if(2048&n.flags){if(0===b)break e;for(A=0;L=p[g+A++],n.head&&L&&n.length<65536&&(n.head.name+=String.fromCharCode(L)),L&&A<b;);if(512&n.flags&&(n.check=s(n.check,p,A,g)),b-=A,g+=A,L)break e}else n.head&&(n.head.name=null);n.length=0,n.mode=8;case 8:if(4096&n.flags){if(0===b)break e;for(A=0;L=p[g+A++],n.head&&L&&n.length<65536&&(n.head.comment+=String.fromCharCode(L)),L&&A<b;);if(512&n.flags&&(n.check=s(n.check,p,A,g)),b-=A,g+=A,L)break e}else n.head&&(n.head.comment=null);n.mode=9;case 9:if(512&n.flags){for(;w<16;){if(0===b)break e;b--,S+=p[g++]<<w,w+=8}if(S!==(65535&n.check)){e.msg="header crc mismatch",n.mode=30;break}w=S=0}n.head&&(n.head.hcrc=n.flags>>9&1,n.head.done=!0),e.adler=n.check=0,n.mode=12;break;case 10:for(;w<32;){if(0===b)break e;b--,S+=p[g++]<<w,w+=8}e.adler=n.check=f(S),w=S=0,n.mode=11;case 11:if(0===n.havedict)return e.next_out=y,e.avail_out=v,e.next_in=g,e.avail_in=b,n.hold=S,n.bits=w,2;e.adler=n.check=1,n.mode=12;case 12:if(5===t||6===t)break e;case 13:if(n.last){S>>>=7&w,w-=7&w,n.mode=27;break}for(;w<3;){if(0===b)break e;b--,S+=p[g++]<<w,w+=8}switch(n.last=1&S,w-=1,3&(S>>>=1)){case 0:n.mode=14;break;case 1:if(T(n),n.mode=20,6!==t)break;S>>>=2,w-=2;break e;case 2:n.mode=17;break;case 3:e.msg="invalid block type",n.mode=30}S>>>=2,w-=2;break;case 14:for(S>>>=7&w,w-=7&w;w<32;){if(0===b)break e;b--,S+=p[g++]<<w,w+=8}if((65535&S)!=(S>>>16^65535)){e.msg="invalid stored block lengths",n.mode=30;break}if(n.length=65535&S,w=S=0,n.mode=15,6===t)break e;case 15:n.mode=16;case 16:if(A=n.length){if(b<A&&(A=b),v<A&&(A=v),0===A)break e;r.arraySet(m,p,g,A,y),b-=A,g+=A,v-=A,y+=A,n.length-=A;break}n.mode=12;break;case 17:for(;w<14;){if(0===b)break e;b--,S+=p[g++]<<w,w+=8}if(n.nlen=257+(31&S),S>>>=5,w-=5,n.ndist=1+(31&S),S>>>=5,w-=5,n.ncode=4+(15&S),S>>>=4,w-=4,286<n.nlen||30<n.ndist){e.msg="too many length or distance symbols",n.mode=30;break}n.have=0,n.mode=18;case 18:for(;n.have<n.ncode;){for(;w<3;){if(0===b)break e;b--,S+=p[g++]<<w,w+=8}n.lens[W[n.have++]]=7&S,S>>>=3,w-=3}for(;n.have<19;)n.lens[W[n.have++]]=0;if(n.lencode=n.lendyn,n.lenbits=7,z={bits:n.lenbits},B=a(0,n.lens,0,19,n.lencode,0,n.work,z),n.lenbits=z.bits,B){e.msg="invalid code lengths set",n.mode=30;break}n.have=0,n.mode=19;case 19:for(;n.have<n.nlen+n.ndist;){for(;M=(j=n.lencode[S&(1<<n.lenbits)-1])>>>16&255,N=65535&j,!((O=j>>>24)<=w);){if(0===b)break e;b--,S+=p[g++]<<w,w+=8}if(N<16)S>>>=O,w-=O,n.lens[n.have++]=N;else{if(16===N){for(U=O+2;w<U;){if(0===b)break e;b--,S+=p[g++]<<w,w+=8}if(S>>>=O,w-=O,0===n.have){e.msg="invalid bit length repeat",n.mode=30;break}L=n.lens[n.have-1],A=3+(3&S),S>>>=2,w-=2}else if(17===N){for(U=O+3;w<U;){if(0===b)break e;b--,S+=p[g++]<<w,w+=8}w-=O,L=0,A=3+(7&(S>>>=O)),S>>>=3,w-=3}else{for(U=O+7;w<U;){if(0===b)break e;b--,S+=p[g++]<<w,w+=8}w-=O,L=0,A=11+(127&(S>>>=O)),S>>>=7,w-=7}if(n.have+A>n.nlen+n.ndist){e.msg="invalid bit length repeat",n.mode=30;break}for(;A--;)n.lens[n.have++]=L}}if(30===n.mode)break;if(0===n.lens[256]){e.msg="invalid code -- missing end-of-block",n.mode=30;break}if(n.lenbits=9,z={bits:n.lenbits},B=a(l,n.lens,0,n.nlen,n.lencode,0,n.work,z),n.lenbits=z.bits,B){e.msg="invalid literal/lengths set",n.mode=30;break}if(n.distbits=6,n.distcode=n.distdyn,z={bits:n.distbits},B=a(c,n.lens,n.nlen,n.ndist,n.distcode,0,n.work,z),n.distbits=z.bits,B){e.msg="invalid distances set",n.mode=30;break}if(n.mode=20,6===t)break e;case 20:n.mode=21;case 21:if(6<=b&&258<=v){e.next_out=y,e.avail_out=v,e.next_in=g,e.avail_in=b,n.hold=S,n.bits=w,o(e,x),y=e.next_out,m=e.output,v=e.avail_out,g=e.next_in,p=e.input,b=e.avail_in,S=n.hold,w=n.bits,12===n.mode&&(n.back=-1);break}for(n.back=0;M=(j=n.lencode[S&(1<<n.lenbits)-1])>>>16&255,N=65535&j,!((O=j>>>24)<=w);){if(0===b)break e;b--,S+=p[g++]<<w,w+=8}if(M&&!(240&M)){for(R=O,D=M,P=N;M=(j=n.lencode[P+((S&(1<<R+D)-1)>>R)])>>>16&255,N=65535&j,!(R+(O=j>>>24)<=w);){if(0===b)break e;b--,S+=p[g++]<<w,w+=8}S>>>=R,w-=R,n.back+=R}if(S>>>=O,w-=O,n.back+=O,n.length=N,0===M){n.mode=26;break}if(32&M){n.back=-1,n.mode=12;break}if(64&M){e.msg="invalid literal/length code",n.mode=30;break}n.extra=15&M,n.mode=22;case 22:if(n.extra){for(U=n.extra;w<U;){if(0===b)break e;b--,S+=p[g++]<<w,w+=8}n.length+=S&(1<<n.extra)-1,S>>>=n.extra,w-=n.extra,n.back+=n.extra}n.was=n.length,n.mode=23;case 23:for(;M=(j=n.distcode[S&(1<<n.distbits)-1])>>>16&255,N=65535&j,!((O=j>>>24)<=w);){if(0===b)break e;b--,S+=p[g++]<<w,w+=8}if(!(240&M)){for(R=O,D=M,P=N;M=(j=n.distcode[P+((S&(1<<R+D)-1)>>R)])>>>16&255,N=65535&j,!(R+(O=j>>>24)<=w);){if(0===b)break e;b--,S+=p[g++]<<w,w+=8}S>>>=R,w-=R,n.back+=R}if(S>>>=O,w-=O,n.back+=O,64&M){e.msg="invalid distance code",n.mode=30;break}n.offset=N,n.extra=15&M,n.mode=24;case 24:if(n.extra){for(U=n.extra;w<U;){if(0===b)break e;b--,S+=p[g++]<<w,w+=8}n.offset+=S&(1<<n.extra)-1,S>>>=n.extra,w-=n.extra,n.back+=n.extra}if(n.offset>n.dmax){e.msg="invalid distance too far back",n.mode=30;break}n.mode=25;case 25:if(0===v)break e;if(A=x-v,n.offset>A){if((A=n.offset-A)>n.whave&&n.sane){e.msg="invalid distance too far back",n.mode=30;break}C=A>n.wnext?(A-=n.wnext,n.wsize-A):n.wnext-A,A>n.length&&(A=n.length),I=n.window}else I=m,C=y-n.offset,A=n.length;for(v<A&&(A=v),v-=A,n.length-=A;m[y++]=I[C++],--A;);0===n.length&&(n.mode=21);break;case 26:if(0===v)break e;m[y++]=n.length,v--,n.mode=21;break;case 27:if(n.wrap){for(;w<32;){if(0===b)break e;b--,S|=p[g++]<<w,w+=8}if(x-=v,e.total_out+=x,n.total+=x,x&&(e.adler=n.check=n.flags?s(n.check,m,x,y-x):i(n.check,m,x,y-x)),x=v,(n.flags?S:f(S))!==n.check){e.msg="incorrect data check",n.mode=30;break}w=S=0}n.mode=28;case 28:if(n.wrap&&n.flags){for(;w<32;){if(0===b)break e;b--,S+=p[g++]<<w,w+=8}if(S!==(4294967295&n.total)){e.msg="incorrect length check",n.mode=30;break}w=S=0}n.mode=29;case 29:B=1;break e;case 30:B=-3;break e;case 31:return-4;default:return d}return e.next_out=y,e.avail_out=v,e.next_in=g,e.avail_in=b,n.hold=S,n.bits=w,(n.wsize||x!==e.avail_out&&n.mode<30&&(n.mode<27||4!==t))&&E(e,e.output,e.next_out,x-e.avail_out)?(n.mode=31,-4):(k-=e.avail_in,x-=e.avail_out,e.total_in+=k,e.total_out+=x,n.total+=x,n.wrap&&x&&(e.adler=n.check=n.flags?s(n.check,m,x,e.next_out-x):i(n.check,m,x,e.next_out-x)),e.data_type=n.bits+(n.last?64:0)+(12===n.mode?128:0)+(20===n.mode||15===n.mode?256:0),(0==k&&0===x||4===t)&&B===u&&(B=-5),B)},n.inflateEnd=function(e){if(!e||!e.state)return d;var t=e.state;return t.window&&(t.window=null),e.state=null,u},n.inflateGetHeader=function(e,t){var n;return e&&e.state&&2&(n=e.state).wrap?((n.head=t).done=!1,u):d},n.inflateSetDictionary=function(e,t){var n,r=t.length;return e&&e.state?0!==(n=e.state).wrap&&11!==n.mode?d:11===n.mode&&i(1,t,r,0)!==n.check?-3:E(e,t,r,r)?(n.mode=31,-4):(n.havedict=1,u):d},n.inflateInfo="pako inflate (from Nodeca project)"},{"../utils/common":41,"./adler32":43,"./crc32":45,"./inffast":48,"./inftrees":50}],50:[function(e,t,n){"use strict";var r=e("../utils/common"),i=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],s=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],o=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0],a=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64];t.exports=function(e,t,n,l,c,u,d,h){var p,m,f,g,y,b,v,S,w,k=h.bits,x=0,T=0,E=0,A=0,C=0,I=0,O=0,M=0,N=0,R=0,D=null,P=0,L=new r.Buf16(16),B=new r.Buf16(16),z=null,U=0;for(x=0;x<=15;x++)L[x]=0;for(T=0;T<l;T++)L[t[n+T]]++;for(C=k,A=15;1<=A&&0===L[A];A--);if(A<C&&(C=A),0===A)return c[u++]=20971520,c[u++]=20971520,h.bits=1,0;for(E=1;E<A&&0===L[E];E++);for(C<E&&(C=E),x=M=1;x<=15;x++)if(M<<=1,(M-=L[x])<0)return-1;if(0<M&&(0===e||1!==A))return-1;for(B[1]=0,x=1;x<15;x++)B[x+1]=B[x]+L[x];for(T=0;T<l;T++)0!==t[n+T]&&(d[B[t[n+T]]++]=T);if(b=0===e?(D=z=d,19):1===e?(D=i,P-=257,z=s,U-=257,256):(D=o,z=a,-1),x=E,y=u,O=T=R=0,f=-1,g=(N=1<<(I=C))-1,1===e&&852<N||2===e&&592<N)return 1;for(;;){for(v=x-O,w=d[T]<b?(S=0,d[T]):d[T]>b?(S=z[U+d[T]],D[P+d[T]]):(S=96,0),p=1<<x-O,E=m=1<<I;c[y+(R>>O)+(m-=p)]=v<<24|S<<16|w,0!==m;);for(p=1<<x-1;R&p;)p>>=1;if(0!==p?(R&=p-1,R+=p):R=0,T++,0==--L[x]){if(x===A)break;x=t[n+d[T]]}if(C<x&&(R&g)!==f){for(0===O&&(O=C),y+=E,M=1<<(I=x-O);I+O<A&&!((M-=L[I+O])<=0);)I++,M<<=1;if(N+=1<<I,1===e&&852<N||2===e&&592<N)return 1;c[f=R&g]=C<<24|I<<16|y-u}}return 0!==R&&(c[y+R]=x-O<<24|64<<16),h.bits=C,0}},{"../utils/common":41}],51:[function(e,t,n){"use strict";t.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}},{}],52:[function(e,t,n){"use strict";var r=e("../utils/common"),i=0,s=1;function o(e){for(var t=e.length;0<=--t;)e[t]=0}var a=0,l=29,c=256,u=c+1+l,d=30,h=19,p=2*u+1,m=15,f=16,g=7,y=256,b=16,v=17,S=18,w=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],k=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],x=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],T=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],E=new Array(2*(u+2));o(E);var A=new Array(2*d);o(A);var C=new Array(512);o(C);var I=new Array(256);o(I);var O=new Array(l);o(O);var M,N,R,D=new Array(d);function P(e,t,n,r,i){this.static_tree=e,this.extra_bits=t,this.extra_base=n,this.elems=r,this.max_length=i,this.has_stree=e&&e.length}function L(e,t){this.dyn_tree=e,this.max_code=0,this.stat_desc=t}function B(e){return e<256?C[e]:C[256+(e>>>7)]}function z(e,t){e.pending_buf[e.pending++]=255&t,e.pending_buf[e.pending++]=t>>>8&255}function U(e,t,n){e.bi_valid>f-n?(e.bi_buf|=t<<e.bi_valid&65535,z(e,e.bi_buf),e.bi_buf=t>>f-e.bi_valid,e.bi_valid+=n-f):(e.bi_buf|=t<<e.bi_valid&65535,e.bi_valid+=n)}function j(e,t,n){U(e,n[2*t],n[2*t+1])}function F(e,t){for(var n=0;n|=1&e,e>>>=1,n<<=1,0<--t;);return n>>>1}function W(e,t,n){var r,i,s=new Array(m+1),o=0;for(r=1;r<=m;r++)s[r]=o=o+n[r-1]<<1;for(i=0;i<=t;i++){var a=e[2*i+1];0!==a&&(e[2*i]=F(s[a]++,a))}}function V(e){var t;for(t=0;t<u;t++)e.dyn_ltree[2*t]=0;for(t=0;t<d;t++)e.dyn_dtree[2*t]=0;for(t=0;t<h;t++)e.bl_tree[2*t]=0;e.dyn_ltree[2*y]=1,e.opt_len=e.static_len=0,e.last_lit=e.matches=0}function G(e){8<e.bi_valid?z(e,e.bi_buf):0<e.bi_valid&&(e.pending_buf[e.pending++]=e.bi_buf),e.bi_buf=0,e.bi_valid=0}function q(e,t,n,r){var i=2*t,s=2*n;return e[i]<e[s]||e[i]===e[s]&&r[t]<=r[n]}function Y(e,t,n){for(var r=e.heap[n],i=n<<1;i<=e.heap_len&&(i<e.heap_len&&q(t,e.heap[i+1],e.heap[i],e.depth)&&i++,!q(t,r,e.heap[i],e.depth));)e.heap[n]=e.heap[i],n=i,i<<=1;e.heap[n]=r}function H(e,t,n){var r,i,s,o,a=0;if(0!==e.last_lit)for(;r=e.pending_buf[e.d_buf+2*a]<<8|e.pending_buf[e.d_buf+2*a+1],i=e.pending_buf[e.l_buf+a],a++,0===r?j(e,i,t):(j(e,(s=I[i])+c+1,t),0!==(o=w[s])&&U(e,i-=O[s],o),j(e,s=B(--r),n),0!==(o=k[s])&&U(e,r-=D[s],o)),a<e.last_lit;);j(e,y,t)}function _(e,t){var n,r,i,s=t.dyn_tree,o=t.stat_desc.static_tree,a=t.stat_desc.has_stree,l=t.stat_desc.elems,c=-1;for(e.heap_len=0,e.heap_max=p,n=0;n<l;n++)0!==s[2*n]?(e.heap[++e.heap_len]=c=n,e.depth[n]=0):s[2*n+1]=0;for(;e.heap_len<2;)s[2*(i=e.heap[++e.heap_len]=c<2?++c:0)]=1,e.depth[i]=0,e.opt_len--,a&&(e.static_len-=o[2*i+1]);for(t.max_code=c,n=e.heap_len>>1;1<=n;n--)Y(e,s,n);for(i=l;n=e.heap[1],e.heap[1]=e.heap[e.heap_len--],Y(e,s,1),r=e.heap[1],e.heap[--e.heap_max]=n,e.heap[--e.heap_max]=r,s[2*i]=s[2*n]+s[2*r],e.depth[i]=(e.depth[n]>=e.depth[r]?e.depth[n]:e.depth[r])+1,s[2*n+1]=s[2*r+1]=i,e.heap[1]=i++,Y(e,s,1),2<=e.heap_len;);e.heap[--e.heap_max]=e.heap[1],function(e,t){var n,r,i,s,o,a,l=t.dyn_tree,c=t.max_code,u=t.stat_desc.static_tree,d=t.stat_desc.has_stree,h=t.stat_desc.extra_bits,f=t.stat_desc.extra_base,g=t.stat_desc.max_length,y=0;for(s=0;s<=m;s++)e.bl_count[s]=0;for(l[2*e.heap[e.heap_max]+1]=0,n=e.heap_max+1;n<p;n++)g<(s=l[2*l[2*(r=e.heap[n])+1]+1]+1)&&(s=g,y++),l[2*r+1]=s,c<r||(e.bl_count[s]++,o=0,f<=r&&(o=h[r-f]),a=l[2*r],e.opt_len+=a*(s+o),d&&(e.static_len+=a*(u[2*r+1]+o)));if(0!==y){do{for(s=g-1;0===e.bl_count[s];)s--;e.bl_count[s]--,e.bl_count[s+1]+=2,e.bl_count[g]--,y-=2}while(0<y);for(s=g;0!==s;s--)for(r=e.bl_count[s];0!==r;)c<(i=e.heap[--n])||(l[2*i+1]!==s&&(e.opt_len+=(s-l[2*i+1])*l[2*i],l[2*i+1]=s),r--)}}(e,t),W(s,c,e.bl_count)}function K(e,t,n){var r,i,s=-1,o=t[1],a=0,l=7,c=4;for(0===o&&(l=138,c=3),t[2*(n+1)+1]=65535,r=0;r<=n;r++)i=o,o=t[2*(r+1)+1],++a<l&&i===o||(a<c?e.bl_tree[2*i]+=a:0!==i?(i!==s&&e.bl_tree[2*i]++,e.bl_tree[2*b]++):a<=10?e.bl_tree[2*v]++:e.bl_tree[2*S]++,s=i,c=(a=0)===o?(l=138,3):i===o?(l=6,3):(l=7,4))}function Q(e,t,n){var r,i,s=-1,o=t[1],a=0,l=7,c=4;for(0===o&&(l=138,c=3),r=0;r<=n;r++)if(i=o,o=t[2*(r+1)+1],!(++a<l&&i===o)){if(a<c)for(;j(e,i,e.bl_tree),0!=--a;);else 0!==i?(i!==s&&(j(e,i,e.bl_tree),a--),j(e,b,e.bl_tree),U(e,a-3,2)):a<=10?(j(e,v,e.bl_tree),U(e,a-3,3)):(j(e,S,e.bl_tree),U(e,a-11,7));s=i,c=(a=0)===o?(l=138,3):i===o?(l=6,3):(l=7,4)}}o(D);var X=!1;function Z(e,t,n,i){U(e,(a<<1)+(i?1:0),3),function(e,t,n,i){G(e),i&&(z(e,n),z(e,~n)),r.arraySet(e.pending_buf,e.window,t,n,e.pending),e.pending+=n}(e,t,n,!0)}n._tr_init=function(e){X||(function(){var e,t,n,r,i,s=new Array(m+1);for(r=n=0;r<l-1;r++)for(O[r]=n,e=0;e<1<<w[r];e++)I[n++]=r;for(I[n-1]=r,r=i=0;r<16;r++)for(D[r]=i,e=0;e<1<<k[r];e++)C[i++]=r;for(i>>=7;r<d;r++)for(D[r]=i<<7,e=0;e<1<<k[r]-7;e++)C[256+i++]=r;for(t=0;t<=m;t++)s[t]=0;for(e=0;e<=143;)E[2*e+1]=8,e++,s[8]++;for(;e<=255;)E[2*e+1]=9,e++,s[9]++;for(;e<=279;)E[2*e+1]=7,e++,s[7]++;for(;e<=287;)E[2*e+1]=8,e++,s[8]++;for(W(E,u+1,s),e=0;e<d;e++)A[2*e+1]=5,A[2*e]=F(e,5);M=new P(E,w,c+1,u,m),N=new P(A,k,0,d,m),R=new P(new Array(0),x,0,h,g)}(),X=!0),e.l_desc=new L(e.dyn_ltree,M),e.d_desc=new L(e.dyn_dtree,N),e.bl_desc=new L(e.bl_tree,R),e.bi_buf=0,e.bi_valid=0,V(e)},n._tr_stored_block=Z,n._tr_flush_block=function(e,t,n,r){var o,a,l=0;0<e.level?(2===e.strm.data_type&&(e.strm.data_type=function(e){var t,n=4093624447;for(t=0;t<=31;t++,n>>>=1)if(1&n&&0!==e.dyn_ltree[2*t])return i;if(0!==e.dyn_ltree[18]||0!==e.dyn_ltree[20]||0!==e.dyn_ltree[26])return s;for(t=32;t<c;t++)if(0!==e.dyn_ltree[2*t])return s;return i}(e)),_(e,e.l_desc),_(e,e.d_desc),l=function(e){var t;for(K(e,e.dyn_ltree,e.l_desc.max_code),K(e,e.dyn_dtree,e.d_desc.max_code),_(e,e.bl_desc),t=h-1;3<=t&&0===e.bl_tree[2*T[t]+1];t--);return e.opt_len+=3*(t+1)+5+5+4,t}(e),o=e.opt_len+3+7>>>3,(a=e.static_len+3+7>>>3)<=o&&(o=a)):o=a=n+5,n+4<=o&&-1!==t?Z(e,t,n,r):4===e.strategy||a===o?(U(e,2+(r?1:0),3),H(e,E,A)):(U(e,4+(r?1:0),3),function(e,t,n,r){var i;for(U(e,t-257,5),U(e,n-1,5),U(e,r-4,4),i=0;i<r;i++)U(e,e.bl_tree[2*T[i]+1],3);Q(e,e.dyn_ltree,t-1),Q(e,e.dyn_dtree,n-1)}(e,e.l_desc.max_code+1,e.d_desc.max_code+1,l+1),H(e,e.dyn_ltree,e.dyn_dtree)),V(e),r&&G(e)},n._tr_tally=function(e,t,n){return e.pending_buf[e.d_buf+2*e.last_lit]=t>>>8&255,e.pending_buf[e.d_buf+2*e.last_lit+1]=255&t,e.pending_buf[e.l_buf+e.last_lit]=255&n,e.last_lit++,0===t?e.dyn_ltree[2*n]++:(e.matches++,t--,e.dyn_ltree[2*(I[n]+c+1)]++,e.dyn_dtree[2*B(t)]++),e.last_lit===e.lit_bufsize-1},n._tr_align=function(e){U(e,2,3),j(e,y,E),function(e){16===e.bi_valid?(z(e,e.bi_buf),e.bi_buf=0,e.bi_valid=0):8<=e.bi_valid&&(e.pending_buf[e.pending++]=255&e.bi_buf,e.bi_buf>>=8,e.bi_valid-=8)}(e)}},{"../utils/common":41}],53:[function(e,t,n){"use strict";t.exports=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}},{}],54:[function(e,t,n){(function(e){!function(e,t){"use strict";if(!e.setImmediate){var n,r,s,o,a=1,l={},c=!1,u=e.document,d=Object.getPrototypeOf&&Object.getPrototypeOf(e);d=d&&d.setTimeout?d:e,n="[object process]"==={}.toString.call(e.process)?function(e){i.nextTick((function(){p(e)}))}:function(){if(e.postMessage&&!e.importScripts){var t=!0,n=e.onmessage;return e.onmessage=function(){t=!1},e.postMessage("","*"),e.onmessage=n,t}}()?(o="setImmediate$"+Math.random()+"$",e.addEventListener?e.addEventListener("message",m,!1):e.attachEvent("onmessage",m),function(t){e.postMessage(o+t,"*")}):e.MessageChannel?((s=new MessageChannel).port1.onmessage=function(e){p(e.data)},function(e){s.port2.postMessage(e)}):u&&"onreadystatechange"in u.createElement("script")?(r=u.documentElement,function(e){var t=u.createElement("script");t.onreadystatechange=function(){p(e),t.onreadystatechange=null,r.removeChild(t),t=null},r.appendChild(t)}):function(e){setTimeout(p,0,e)},d.setImmediate=function(e){"function"!=typeof e&&(e=new Function(""+e));for(var t=new Array(arguments.length-1),r=0;r<t.length;r++)t[r]=arguments[r+1];var i={callback:e,args:t};return l[a]=i,n(a),a++},d.clearImmediate=h}function h(e){delete l[e]}function p(e){if(c)setTimeout(p,0,e);else{var n=l[e];if(n){c=!0;try{!function(e){var n=e.callback,r=e.args;switch(r.length){case 0:n();break;case 1:n(r[0]);break;case 2:n(r[0],r[1]);break;case 3:n(r[0],r[1],r[2]);break;default:n.apply(t,r)}}(n)}finally{h(e),c=!1}}}}function m(t){t.source===e&&"string"==typeof t.data&&0===t.data.indexOf(o)&&p(+t.data.slice(o.length))}}("undefined"==typeof self?void 0===e?this:e:self)}).call(this,void 0!==r?r:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}]},{},[10])(10)}).call(this,n(19).Buffer,n(125).setImmediate,n(9),n(41))},function(e,t){class n{static get RGB_BLACK(){return{r:0,g:0,b:0}}static get RGB_WHITE(){return{r:255,g:255,b:255}}static decimalToHex(e){e<0&&(e+=16777216);let t=Number(e).toString(16);return t="#".concat("000000".substr(0,6-t.length)).concat(t),t}static decimalToRgb(e){const t=e>>24&255;return{r:e>>16&255,g:e>>8&255,b:255&e,a:t>0?t:255}}static hexToRgb(e){e.startsWith("#")&&(e=e.substring(1));const t=parseInt(e,16);if(isNaN(t))return null;if(6===e.length)return{r:t>>16&255,g:t>>8&255,b:255&t};if(3===e.length){const e=t>>8&15,n=t>>4&15,r=15&t;return{r:e<<4|e,g:n<<4|n,b:r<<4|r}}return null}static rgbToHex(e){return n.decimalToHex(n.rgbToDecimal(e))}static rgbToDecimal(e){return(e.r<<16)+(e.g<<8)+e.b}static hexToDecimal(e){return n.rgbToDecimal(n.hexToRgb(e))}static hsvToRgb(e){let t=e.h%360;t<0&&(t+=360);const n=Math.max(0,Math.min(e.s,1)),r=Math.max(0,Math.min(e.v,1)),i=Math.floor(t/60),s=t/60-i,o=r*(1-n),a=r*(1-n*s),l=r*(1-n*(1-s));let c,u,d;switch(i){default:case 0:c=r,u=l,d=o;break;case 1:c=a,u=r,d=o;break;case 2:c=o,u=r,d=l;break;case 3:c=o,u=a,d=r;break;case 4:c=l,u=o,d=r;break;case 5:c=r,u=o,d=a}return{r:Math.floor(255*c),g:Math.floor(255*u),b:Math.floor(255*d)}}static rgbToHsv(e){const t=e.r/255,n=e.g/255,r=e.b/255,i=Math.min(Math.min(t,n),r),s=Math.max(Math.max(t,n),r);let o=0,a=0;if(i!==s){o=60*((t===i?3:n===i?5:1)-(t===i?n-r:n===i?r-t:t-n)/(s-i))%360,a=(s-i)/s}return{h:o,s:a,v:s}}static mixRgb(e,t,n){if(n<=0)return e;if(n>=1)return t;const r=1-n;return{r:r*e.r+n*t.r,g:r*e.g+n*t.g,b:r*e.b+n*t.b}}}e.exports=n},function(e,t,n){e.exports=function(){"use strict";var e=Array.prototype.slice;function t(e,t){t&&(e.prototype=Object.create(t.prototype)),e.prototype.constructor=e}function n(e){return o(e)?e:_(e)}function r(e){return a(e)?e:K(e)}function i(e){return l(e)?e:Q(e)}function s(e){return o(e)&&!c(e)?e:X(e)}function o(e){return!(!e||!e[d])}function a(e){return!(!e||!e[h])}function l(e){return!(!e||!e[p])}function c(e){return a(e)||l(e)}function u(e){return!(!e||!e[m])}t(r,n),t(i,n),t(s,n),n.isIterable=o,n.isKeyed=a,n.isIndexed=l,n.isAssociative=c,n.isOrdered=u,n.Keyed=r,n.Indexed=i,n.Set=s;var d="@@__IMMUTABLE_ITERABLE__@@",h="@@__IMMUTABLE_KEYED__@@",p="@@__IMMUTABLE_INDEXED__@@",m="@@__IMMUTABLE_ORDERED__@@",f="delete",g=5,y=1<<g,b=y-1,v={},S={value:!1},w={value:!1};function k(e){return e.value=!1,e}function x(e){e&&(e.value=!0)}function T(){}function E(e,t){t=t||0;for(var n=Math.max(0,e.length-t),r=new Array(n),i=0;i<n;i++)r[i]=e[i+t];return r}function A(e){return void 0===e.size&&(e.size=e.__iterate(I)),e.size}function C(e,t){if("number"!=typeof t){var n=t>>>0;if(""+n!==t||4294967295===n)return NaN;t=n}return t<0?A(e)+t:t}function I(){return!0}function O(e,t,n){return(0===e||void 0!==n&&e<=-n)&&(void 0===t||void 0!==n&&t>=n)}function M(e,t){return R(e,t,0)}function N(e,t){return R(e,t,t)}function R(e,t,n){return void 0===e?n:e<0?Math.max(0,t+e):void 0===t?e:Math.min(t,e)}var D=0,P=1,L=2,B="function"==typeof Symbol&&Symbol.iterator,z="@@iterator",U=B||z;function j(e){this.next=e}function F(e,t,n,r){var i=0===e?t:1===e?n:[t,n];return r?r.value=i:r={value:i,done:!1},r}function W(){return{value:void 0,done:!0}}function V(e){return!!Y(e)}function G(e){return e&&"function"==typeof e.next}function q(e){var t=Y(e);return t&&t.call(e)}function Y(e){var t=e&&(B&&e[B]||e[z]);if("function"==typeof t)return t}function H(e){return e&&"number"==typeof e.length}function _(e){return null==e?oe():o(e)?e.toSeq():ce(e)}function K(e){return null==e?oe().toKeyedSeq():o(e)?a(e)?e.toSeq():e.fromEntrySeq():ae(e)}function Q(e){return null==e?oe():o(e)?a(e)?e.entrySeq():e.toIndexedSeq():le(e)}function X(e){return(null==e?oe():o(e)?a(e)?e.entrySeq():e:le(e)).toSetSeq()}j.prototype.toString=function(){return"[Iterator]"},j.KEYS=D,j.VALUES=P,j.ENTRIES=L,j.prototype.inspect=j.prototype.toSource=function(){return this.toString()},j.prototype[U]=function(){return this},t(_,n),_.of=function(){return _(arguments)},_.prototype.toSeq=function(){return this},_.prototype.toString=function(){return this.__toString("Seq {","}")},_.prototype.cacheResult=function(){return!this._cache&&this.__iterateUncached&&(this._cache=this.entrySeq().toArray(),this.size=this._cache.length),this},_.prototype.__iterate=function(e,t){return de(this,e,t,!0)},_.prototype.__iterator=function(e,t){return he(this,e,t,!0)},t(K,_),K.prototype.toKeyedSeq=function(){return this},t(Q,_),Q.of=function(){return Q(arguments)},Q.prototype.toIndexedSeq=function(){return this},Q.prototype.toString=function(){return this.__toString("Seq [","]")},Q.prototype.__iterate=function(e,t){return de(this,e,t,!1)},Q.prototype.__iterator=function(e,t){return he(this,e,t,!1)},t(X,_),X.of=function(){return X(arguments)},X.prototype.toSetSeq=function(){return this},_.isSeq=se,_.Keyed=K,_.Set=X,_.Indexed=Q;var Z,J,$,ee="@@__IMMUTABLE_SEQ__@@";function te(e){this._array=e,this.size=e.length}function ne(e){var t=Object.keys(e);this._object=e,this._keys=t,this.size=t.length}function re(e){this._iterable=e,this.size=e.length||e.size}function ie(e){this._iterator=e,this._iteratorCache=[]}function se(e){return!(!e||!e[ee])}function oe(){return Z||(Z=new te([]))}function ae(e){var t=Array.isArray(e)?new te(e).fromEntrySeq():G(e)?new ie(e).fromEntrySeq():V(e)?new re(e).fromEntrySeq():"object"==typeof e?new ne(e):void 0;if(!t)throw new TypeError("Expected Array or iterable object of [k, v] entries, or keyed object: "+e);return t}function le(e){var t=ue(e);if(!t)throw new TypeError("Expected Array or iterable object of values: "+e);return t}function ce(e){var t=ue(e)||"object"==typeof e&&new ne(e);if(!t)throw new TypeError("Expected Array or iterable object of values, or keyed object: "+e);return t}function ue(e){return H(e)?new te(e):G(e)?new ie(e):V(e)?new re(e):void 0}function de(e,t,n,r){var i=e._cache;if(i){for(var s=i.length-1,o=0;o<=s;o++){var a=i[n?s-o:o];if(!1===t(a[1],r?a[0]:o,e))return o+1}return o}return e.__iterateUncached(t,n)}function he(e,t,n,r){var i=e._cache;if(i){var s=i.length-1,o=0;return new j((function(){var e=i[n?s-o:o];return o++>s?W():F(t,r?e[0]:o-1,e[1])}))}return e.__iteratorUncached(t,n)}function pe(e,t){return t?me(t,e,"",{"":e}):fe(e)}function me(e,t,n,r){return Array.isArray(t)?e.call(r,n,Q(t).map((function(n,r){return me(e,n,r,t)}))):ge(t)?e.call(r,n,K(t).map((function(n,r){return me(e,n,r,t)}))):t}function fe(e){return Array.isArray(e)?Q(e).map(fe).toList():ge(e)?K(e).map(fe).toMap():e}function ge(e){return e&&(e.constructor===Object||void 0===e.constructor)}function ye(e,t){if(e===t||e!=e&&t!=t)return!0;if(!e||!t)return!1;if("function"==typeof e.valueOf&&"function"==typeof t.valueOf){if((e=e.valueOf())===(t=t.valueOf())||e!=e&&t!=t)return!0;if(!e||!t)return!1}return!("function"!=typeof e.equals||"function"!=typeof t.equals||!e.equals(t))}function be(e,t){if(e===t)return!0;if(!o(t)||void 0!==e.size&&void 0!==t.size&&e.size!==t.size||void 0!==e.__hash&&void 0!==t.__hash&&e.__hash!==t.__hash||a(e)!==a(t)||l(e)!==l(t)||u(e)!==u(t))return!1;if(0===e.size&&0===t.size)return!0;var n=!c(e);if(u(e)){var r=e.entries();return t.every((function(e,t){var i=r.next().value;return i&&ye(i[1],e)&&(n||ye(i[0],t))}))&&r.next().done}var i=!1;if(void 0===e.size)if(void 0===t.size)"function"==typeof e.cacheResult&&e.cacheResult();else{i=!0;var s=e;e=t,t=s}var d=!0,h=t.__iterate((function(t,r){if(n?!e.has(t):i?!ye(t,e.get(r,v)):!ye(e.get(r,v),t))return d=!1,!1}));return d&&e.size===h}function ve(e,t){if(!(this instanceof ve))return new ve(e,t);if(this._value=e,this.size=void 0===t?1/0:Math.max(0,t),0===this.size){if(J)return J;J=this}}function Se(e,t){if(!e)throw new Error(t)}function we(e,t,n){if(!(this instanceof we))return new we(e,t,n);if(Se(0!==n,"Cannot step a Range by 0"),e=e||0,void 0===t&&(t=1/0),n=void 0===n?1:Math.abs(n),t<e&&(n=-n),this._start=e,this._end=t,this._step=n,this.size=Math.max(0,Math.ceil((t-e)/n-1)+1),0===this.size){if($)return $;$=this}}function ke(){throw TypeError("Abstract")}function xe(){}function Te(){}function Ee(){}_.prototype[ee]=!0,t(te,Q),te.prototype.get=function(e,t){return this.has(e)?this._array[C(this,e)]:t},te.prototype.__iterate=function(e,t){for(var n=this._array,r=n.length-1,i=0;i<=r;i++)if(!1===e(n[t?r-i:i],i,this))return i+1;return i},te.prototype.__iterator=function(e,t){var n=this._array,r=n.length-1,i=0;return new j((function(){return i>r?W():F(e,i,n[t?r-i++:i++])}))},t(ne,K),ne.prototype.get=function(e,t){return void 0===t||this.has(e)?this._object[e]:t},ne.prototype.has=function(e){return this._object.hasOwnProperty(e)},ne.prototype.__iterate=function(e,t){for(var n=this._object,r=this._keys,i=r.length-1,s=0;s<=i;s++){var o=r[t?i-s:s];if(!1===e(n[o],o,this))return s+1}return s},ne.prototype.__iterator=function(e,t){var n=this._object,r=this._keys,i=r.length-1,s=0;return new j((function(){var o=r[t?i-s:s];return s++>i?W():F(e,o,n[o])}))},ne.prototype[m]=!0,t(re,Q),re.prototype.__iterateUncached=function(e,t){if(t)return this.cacheResult().__iterate(e,t);var n=q(this._iterable),r=0;if(G(n))for(var i;!(i=n.next()).done&&!1!==e(i.value,r++,this););return r},re.prototype.__iteratorUncached=function(e,t){if(t)return this.cacheResult().__iterator(e,t);var n=q(this._iterable);if(!G(n))return new j(W);var r=0;return new j((function(){var t=n.next();return t.done?t:F(e,r++,t.value)}))},t(ie,Q),ie.prototype.__iterateUncached=function(e,t){if(t)return this.cacheResult().__iterate(e,t);for(var n,r=this._iterator,i=this._iteratorCache,s=0;s<i.length;)if(!1===e(i[s],s++,this))return s;for(;!(n=r.next()).done;){var o=n.value;if(i[s]=o,!1===e(o,s++,this))break}return s},ie.prototype.__iteratorUncached=function(e,t){if(t)return this.cacheResult().__iterator(e,t);var n=this._iterator,r=this._iteratorCache,i=0;return new j((function(){if(i>=r.length){var t=n.next();if(t.done)return t;r[i]=t.value}return F(e,i,r[i++])}))},t(ve,Q),ve.prototype.toString=function(){return 0===this.size?"Repeat []":"Repeat [ "+this._value+" "+this.size+" times ]"},ve.prototype.get=function(e,t){return this.has(e)?this._value:t},ve.prototype.includes=function(e){return ye(this._value,e)},ve.prototype.slice=function(e,t){var n=this.size;return O(e,t,n)?this:new ve(this._value,N(t,n)-M(e,n))},ve.prototype.reverse=function(){return this},ve.prototype.indexOf=function(e){return ye(this._value,e)?0:-1},ve.prototype.lastIndexOf=function(e){return ye(this._value,e)?this.size:-1},ve.prototype.__iterate=function(e,t){for(var n=0;n<this.size;n++)if(!1===e(this._value,n,this))return n+1;return n},ve.prototype.__iterator=function(e,t){var n=this,r=0;return new j((function(){return r<n.size?F(e,r++,n._value):W()}))},ve.prototype.equals=function(e){return e instanceof ve?ye(this._value,e._value):be(e)},t(we,Q),we.prototype.toString=function(){return 0===this.size?"Range []":"Range [ "+this._start+"..."+this._end+(1!==this._step?" by "+this._step:"")+" ]"},we.prototype.get=function(e,t){return this.has(e)?this._start+C(this,e)*this._step:t},we.prototype.includes=function(e){var t=(e-this._start)/this._step;return t>=0&&t<this.size&&t===Math.floor(t)},we.prototype.slice=function(e,t){return O(e,t,this.size)?this:(e=M(e,this.size),(t=N(t,this.size))<=e?new we(0,0):new we(this.get(e,this._end),this.get(t,this._end),this._step))},we.prototype.indexOf=function(e){var t=e-this._start;if(t%this._step==0){var n=t/this._step;if(n>=0&&n<this.size)return n}return-1},we.prototype.lastIndexOf=function(e){return this.indexOf(e)},we.prototype.__iterate=function(e,t){for(var n=this.size-1,r=this._step,i=t?this._start+n*r:this._start,s=0;s<=n;s++){if(!1===e(i,s,this))return s+1;i+=t?-r:r}return s},we.prototype.__iterator=function(e,t){var n=this.size-1,r=this._step,i=t?this._start+n*r:this._start,s=0;return new j((function(){var o=i;return i+=t?-r:r,s>n?W():F(e,s++,o)}))},we.prototype.equals=function(e){return e instanceof we?this._start===e._start&&this._end===e._end&&this._step===e._step:be(this,e)},t(ke,n),t(xe,ke),t(Te,ke),t(Ee,ke),ke.Keyed=xe,ke.Indexed=Te,ke.Set=Ee;var Ae="function"==typeof Math.imul&&-2===Math.imul(4294967295,2)?Math.imul:function(e,t){var n=65535&(e|=0),r=65535&(t|=0);return n*r+((e>>>16)*r+n*(t>>>16)<<16>>>0)|0};function Ce(e){return e>>>1&1073741824|3221225471&e}function Ie(e){if(!1===e||null==e)return 0;if("function"==typeof e.valueOf&&(!1===(e=e.valueOf())||null==e))return 0;if(!0===e)return 1;var t=typeof e;if("number"===t){if(e!=e||e===1/0)return 0;var n=0|e;for(n!==e&&(n^=4294967295*e);e>4294967295;)n^=e/=4294967295;return Ce(n)}if("string"===t)return e.length>je?Oe(e):Me(e);if("function"==typeof e.hashCode)return e.hashCode();if("object"===t)return Ne(e);if("function"==typeof e.toString)return Me(e.toString());throw new Error("Value type "+t+" cannot be hashed.")}function Oe(e){var t=Ve[e];return void 0===t&&(t=Me(e),We===Fe&&(We=0,Ve={}),We++,Ve[e]=t),t}function Me(e){for(var t=0,n=0;n<e.length;n++)t=31*t+e.charCodeAt(n)|0;return Ce(t)}function Ne(e){var t;if(Be&&void 0!==(t=Le.get(e)))return t;if(void 0!==(t=e[Ue]))return t;if(!De){if(void 0!==(t=e.propertyIsEnumerable&&e.propertyIsEnumerable[Ue]))return t;if(void 0!==(t=Pe(e)))return t}if(t=++ze,1073741824&ze&&(ze=0),Be)Le.set(e,t);else{if(void 0!==Re&&!1===Re(e))throw new Error("Non-extensible objects are not allowed as keys.");if(De)Object.defineProperty(e,Ue,{enumerable:!1,configurable:!1,writable:!1,value:t});else if(void 0!==e.propertyIsEnumerable&&e.propertyIsEnumerable===e.constructor.prototype.propertyIsEnumerable)e.propertyIsEnumerable=function(){return this.constructor.prototype.propertyIsEnumerable.apply(this,arguments)},e.propertyIsEnumerable[Ue]=t;else{if(void 0===e.nodeType)throw new Error("Unable to set a non-enumerable property on object.");e[Ue]=t}}return t}var Re=Object.isExtensible,De=function(){try{return Object.defineProperty({},"@",{}),!0}catch(e){return!1}}();function Pe(e){if(e&&e.nodeType>0)switch(e.nodeType){case 1:return e.uniqueID;case 9:return e.documentElement&&e.documentElement.uniqueID}}var Le,Be="function"==typeof WeakMap;Be&&(Le=new WeakMap);var ze=0,Ue="__immutablehash__";"function"==typeof Symbol&&(Ue=Symbol(Ue));var je=16,Fe=255,We=0,Ve={};function Ge(e){Se(e!==1/0,"Cannot perform this action with an infinite size.")}function qe(e){return null==e?it():Ye(e)&&!u(e)?e:it().withMutations((function(t){var n=r(e);Ge(n.size),n.forEach((function(e,n){return t.set(n,e)}))}))}function Ye(e){return!(!e||!e[_e])}t(qe,xe),qe.of=function(){var t=e.call(arguments,0);return it().withMutations((function(e){for(var n=0;n<t.length;n+=2){if(n+1>=t.length)throw new Error("Missing value for key: "+t[n]);e.set(t[n],t[n+1])}}))},qe.prototype.toString=function(){return this.__toString("Map {","}")},qe.prototype.get=function(e,t){return this._root?this._root.get(0,void 0,e,t):t},qe.prototype.set=function(e,t){return st(this,e,t)},qe.prototype.setIn=function(e,t){return this.updateIn(e,v,(function(){return t}))},qe.prototype.remove=function(e){return st(this,e,v)},qe.prototype.deleteIn=function(e){return this.updateIn(e,(function(){return v}))},qe.prototype.update=function(e,t,n){return 1===arguments.length?e(this):this.updateIn([e],t,n)},qe.prototype.updateIn=function(e,t,n){n||(n=t,t=void 0);var r=gt(this,kn(e),t,n);return r===v?void 0:r},qe.prototype.clear=function(){return 0===this.size?this:this.__ownerID?(this.size=0,this._root=null,this.__hash=void 0,this.__altered=!0,this):it()},qe.prototype.merge=function(){return ht(this,void 0,arguments)},qe.prototype.mergeWith=function(t){return ht(this,t,e.call(arguments,1))},qe.prototype.mergeIn=function(t){var n=e.call(arguments,1);return this.updateIn(t,it(),(function(e){return"function"==typeof e.merge?e.merge.apply(e,n):n[n.length-1]}))},qe.prototype.mergeDeep=function(){return ht(this,pt,arguments)},qe.prototype.mergeDeepWith=function(t){var n=e.call(arguments,1);return ht(this,mt(t),n)},qe.prototype.mergeDeepIn=function(t){var n=e.call(arguments,1);return this.updateIn(t,it(),(function(e){return"function"==typeof e.mergeDeep?e.mergeDeep.apply(e,n):n[n.length-1]}))},qe.prototype.sort=function(e){return Vt(dn(this,e))},qe.prototype.sortBy=function(e,t){return Vt(dn(this,t,e))},qe.prototype.withMutations=function(e){var t=this.asMutable();return e(t),t.wasAltered()?t.__ensureOwner(this.__ownerID):this},qe.prototype.asMutable=function(){return this.__ownerID?this:this.__ensureOwner(new T)},qe.prototype.asImmutable=function(){return this.__ensureOwner()},qe.prototype.wasAltered=function(){return this.__altered},qe.prototype.__iterator=function(e,t){return new et(this,e,t)},qe.prototype.__iterate=function(e,t){var n=this,r=0;return this._root&&this._root.iterate((function(t){return r++,e(t[1],t[0],n)}),t),r},qe.prototype.__ensureOwner=function(e){return e===this.__ownerID?this:e?rt(this.size,this._root,e,this.__hash):(this.__ownerID=e,this.__altered=!1,this)},qe.isMap=Ye;var He,_e="@@__IMMUTABLE_MAP__@@",Ke=qe.prototype;function Qe(e,t){this.ownerID=e,this.entries=t}function Xe(e,t,n){this.ownerID=e,this.bitmap=t,this.nodes=n}function Ze(e,t,n){this.ownerID=e,this.count=t,this.nodes=n}function Je(e,t,n){this.ownerID=e,this.keyHash=t,this.entries=n}function $e(e,t,n){this.ownerID=e,this.keyHash=t,this.entry=n}function et(e,t,n){this._type=t,this._reverse=n,this._stack=e._root&&nt(e._root)}function tt(e,t){return F(e,t[0],t[1])}function nt(e,t){return{node:e,index:0,__prev:t}}function rt(e,t,n,r){var i=Object.create(Ke);return i.size=e,i._root=t,i.__ownerID=n,i.__hash=r,i.__altered=!1,i}function it(){return He||(He=rt(0))}function st(e,t,n){var r,i;if(e._root){var s=k(S),o=k(w);if(r=ot(e._root,e.__ownerID,0,void 0,t,n,s,o),!o.value)return e;i=e.size+(s.value?n===v?-1:1:0)}else{if(n===v)return e;i=1,r=new Qe(e.__ownerID,[[t,n]])}return e.__ownerID?(e.size=i,e._root=r,e.__hash=void 0,e.__altered=!0,e):r?rt(i,r):it()}function ot(e,t,n,r,i,s,o,a){return e?e.update(t,n,r,i,s,o,a):s===v?e:(x(a),x(o),new $e(t,r,[i,s]))}function at(e){return e.constructor===$e||e.constructor===Je}function lt(e,t,n,r,i){if(e.keyHash===r)return new Je(t,r,[e.entry,i]);var s,o=(0===n?e.keyHash:e.keyHash>>>n)&b,a=(0===n?r:r>>>n)&b;return new Xe(t,1<<o|1<<a,o===a?[lt(e,t,n+g,r,i)]:(s=new $e(t,r,i),o<a?[e,s]:[s,e]))}function ct(e,t,n,r){e||(e=new T);for(var i=new $e(e,Ie(n),[n,r]),s=0;s<t.length;s++){var o=t[s];i=i.update(e,0,void 0,o[0],o[1])}return i}function ut(e,t,n,r){for(var i=0,s=0,o=new Array(n),a=0,l=1,c=t.length;a<c;a++,l<<=1){var u=t[a];void 0!==u&&a!==r&&(i|=l,o[s++]=u)}return new Xe(e,i,o)}function dt(e,t,n,r,i){for(var s=0,o=new Array(y),a=0;0!==n;a++,n>>>=1)o[a]=1&n?t[s++]:void 0;return o[r]=i,new Ze(e,s+1,o)}function ht(e,t,n){for(var i=[],s=0;s<n.length;s++){var a=n[s],l=r(a);o(a)||(l=l.map((function(e){return pe(e)}))),i.push(l)}return ft(e,t,i)}function pt(e,t,n){return e&&e.mergeDeep&&o(t)?e.mergeDeep(t):ye(e,t)?e:t}function mt(e){return function(t,n,r){if(t&&t.mergeDeepWith&&o(n))return t.mergeDeepWith(e,n);var i=e(t,n,r);return ye(t,i)?t:i}}function ft(e,t,n){return 0===(n=n.filter((function(e){return 0!==e.size}))).length?e:0!==e.size||e.__ownerID||1!==n.length?e.withMutations((function(e){for(var r=t?function(n,r){e.update(r,v,(function(e){return e===v?n:t(e,n,r)}))}:function(t,n){e.set(n,t)},i=0;i<n.length;i++)n[i].forEach(r)})):e.constructor(n[0])}function gt(e,t,n,r){var i=e===v,s=t.next();if(s.done){var o=i?n:e,a=r(o);return a===o?e:a}Se(i||e&&e.set,"invalid keyPath");var l=s.value,c=i?v:e.get(l,v),u=gt(c,t,n,r);return u===c?e:u===v?e.remove(l):(i?it():e).set(l,u)}function yt(e){return e=(e=(858993459&(e-=e>>1&1431655765))+(e>>2&858993459))+(e>>4)&252645135,e+=e>>8,127&(e+=e>>16)}function bt(e,t,n,r){var i=r?e:E(e);return i[t]=n,i}function vt(e,t,n,r){var i=e.length+1;if(r&&t+1===i)return e[t]=n,e;for(var s=new Array(i),o=0,a=0;a<i;a++)a===t?(s[a]=n,o=-1):s[a]=e[a+o];return s}function St(e,t,n){var r=e.length-1;if(n&&t===r)return e.pop(),e;for(var i=new Array(r),s=0,o=0;o<r;o++)o===t&&(s=1),i[o]=e[o+s];return i}Ke[_e]=!0,Ke[f]=Ke.remove,Ke.removeIn=Ke.deleteIn,Qe.prototype.get=function(e,t,n,r){for(var i=this.entries,s=0,o=i.length;s<o;s++)if(ye(n,i[s][0]))return i[s][1];return r},Qe.prototype.update=function(e,t,n,r,i,s,o){for(var a=i===v,l=this.entries,c=0,u=l.length;c<u&&!ye(r,l[c][0]);c++);var d=c<u;if(d?l[c][1]===i:a)return this;if(x(o),(a||!d)&&x(s),!a||1!==l.length){if(!d&&!a&&l.length>=wt)return ct(e,l,r,i);var h=e&&e===this.ownerID,p=h?l:E(l);return d?a?c===u-1?p.pop():p[c]=p.pop():p[c]=[r,i]:p.push([r,i]),h?(this.entries=p,this):new Qe(e,p)}},Xe.prototype.get=function(e,t,n,r){void 0===t&&(t=Ie(n));var i=1<<((0===e?t:t>>>e)&b),s=this.bitmap;return s&i?this.nodes[yt(s&i-1)].get(e+g,t,n,r):r},Xe.prototype.update=function(e,t,n,r,i,s,o){void 0===n&&(n=Ie(r));var a=(0===t?n:n>>>t)&b,l=1<<a,c=this.bitmap,u=!!(c&l);if(!u&&i===v)return this;var d=yt(c&l-1),h=this.nodes,p=u?h[d]:void 0,m=ot(p,e,t+g,n,r,i,s,o);if(m===p)return this;if(!u&&m&&h.length>=kt)return dt(e,h,c,a,m);if(u&&!m&&2===h.length&&at(h[1^d]))return h[1^d];if(u&&m&&1===h.length&&at(m))return m;var f=e&&e===this.ownerID,y=u?m?c:c^l:c|l,S=u?m?bt(h,d,m,f):St(h,d,f):vt(h,d,m,f);return f?(this.bitmap=y,this.nodes=S,this):new Xe(e,y,S)},Ze.prototype.get=function(e,t,n,r){void 0===t&&(t=Ie(n));var i=(0===e?t:t>>>e)&b,s=this.nodes[i];return s?s.get(e+g,t,n,r):r},Ze.prototype.update=function(e,t,n,r,i,s,o){void 0===n&&(n=Ie(r));var a=(0===t?n:n>>>t)&b,l=i===v,c=this.nodes,u=c[a];if(l&&!u)return this;var d=ot(u,e,t+g,n,r,i,s,o);if(d===u)return this;var h=this.count;if(u){if(!d&&--h<xt)return ut(e,c,h,a)}else h++;var p=e&&e===this.ownerID,m=bt(c,a,d,p);return p?(this.count=h,this.nodes=m,this):new Ze(e,h,m)},Je.prototype.get=function(e,t,n,r){for(var i=this.entries,s=0,o=i.length;s<o;s++)if(ye(n,i[s][0]))return i[s][1];return r},Je.prototype.update=function(e,t,n,r,i,s,o){void 0===n&&(n=Ie(r));var a=i===v;if(n!==this.keyHash)return a?this:(x(o),x(s),lt(this,e,t,n,[r,i]));for(var l=this.entries,c=0,u=l.length;c<u&&!ye(r,l[c][0]);c++);var d=c<u;if(d?l[c][1]===i:a)return this;if(x(o),(a||!d)&&x(s),a&&2===u)return new $e(e,this.keyHash,l[1^c]);var h=e&&e===this.ownerID,p=h?l:E(l);return d?a?c===u-1?p.pop():p[c]=p.pop():p[c]=[r,i]:p.push([r,i]),h?(this.entries=p,this):new Je(e,this.keyHash,p)},$e.prototype.get=function(e,t,n,r){return ye(n,this.entry[0])?this.entry[1]:r},$e.prototype.update=function(e,t,n,r,i,s,o){var a=i===v,l=ye(r,this.entry[0]);return(l?i===this.entry[1]:a)?this:(x(o),a?void x(s):l?e&&e===this.ownerID?(this.entry[1]=i,this):new $e(e,this.keyHash,[r,i]):(x(s),lt(this,e,t,Ie(r),[r,i])))},Qe.prototype.iterate=Je.prototype.iterate=function(e,t){for(var n=this.entries,r=0,i=n.length-1;r<=i;r++)if(!1===e(n[t?i-r:r]))return!1},Xe.prototype.iterate=Ze.prototype.iterate=function(e,t){for(var n=this.nodes,r=0,i=n.length-1;r<=i;r++){var s=n[t?i-r:r];if(s&&!1===s.iterate(e,t))return!1}},$e.prototype.iterate=function(e,t){return e(this.entry)},t(et,j),et.prototype.next=function(){for(var e=this._type,t=this._stack;t;){var n,r=t.node,i=t.index++;if(r.entry){if(0===i)return tt(e,r.entry)}else if(r.entries){if(i<=(n=r.entries.length-1))return tt(e,r.entries[this._reverse?n-i:i])}else if(i<=(n=r.nodes.length-1)){var s=r.nodes[this._reverse?n-i:i];if(s){if(s.entry)return tt(e,s.entry);t=this._stack=nt(s,t)}continue}t=this._stack=this._stack.__prev}return W()};var wt=y/4,kt=y/2,xt=y/4;function Tt(e){var t=Pt();if(null==e)return t;if(Et(e))return e;var n=i(e),r=n.size;return 0===r?t:(Ge(r),r>0&&r<y?Dt(0,r,g,null,new It(n.toArray())):t.withMutations((function(e){e.setSize(r),n.forEach((function(t,n){return e.set(n,t)}))})))}function Et(e){return!(!e||!e[At])}t(Tt,Te),Tt.of=function(){return this(arguments)},Tt.prototype.toString=function(){return this.__toString("List [","]")},Tt.prototype.get=function(e,t){if((e=C(this,e))>=0&&e<this.size){var n=Ut(this,e+=this._origin);return n&&n.array[e&b]}return t},Tt.prototype.set=function(e,t){return Lt(this,e,t)},Tt.prototype.remove=function(e){return this.has(e)?0===e?this.shift():e===this.size-1?this.pop():this.splice(e,1):this},Tt.prototype.insert=function(e,t){return this.splice(e,0,t)},Tt.prototype.clear=function(){return 0===this.size?this:this.__ownerID?(this.size=this._origin=this._capacity=0,this._level=g,this._root=this._tail=null,this.__hash=void 0,this.__altered=!0,this):Pt()},Tt.prototype.push=function(){var e=arguments,t=this.size;return this.withMutations((function(n){jt(n,0,t+e.length);for(var r=0;r<e.length;r++)n.set(t+r,e[r])}))},Tt.prototype.pop=function(){return jt(this,0,-1)},Tt.prototype.unshift=function(){var e=arguments;return this.withMutations((function(t){jt(t,-e.length);for(var n=0;n<e.length;n++)t.set(n,e[n])}))},Tt.prototype.shift=function(){return jt(this,1)},Tt.prototype.merge=function(){return Ft(this,void 0,arguments)},Tt.prototype.mergeWith=function(t){return Ft(this,t,e.call(arguments,1))},Tt.prototype.mergeDeep=function(){return Ft(this,pt,arguments)},Tt.prototype.mergeDeepWith=function(t){var n=e.call(arguments,1);return Ft(this,mt(t),n)},Tt.prototype.setSize=function(e){return jt(this,0,e)},Tt.prototype.slice=function(e,t){var n=this.size;return O(e,t,n)?this:jt(this,M(e,n),N(t,n))},Tt.prototype.__iterator=function(e,t){var n=0,r=Rt(this,t);return new j((function(){var t=r();return t===Nt?W():F(e,n++,t)}))},Tt.prototype.__iterate=function(e,t){for(var n,r=0,i=Rt(this,t);(n=i())!==Nt&&!1!==e(n,r++,this););return r},Tt.prototype.__ensureOwner=function(e){return e===this.__ownerID?this:e?Dt(this._origin,this._capacity,this._level,this._root,this._tail,e,this.__hash):(this.__ownerID=e,this)},Tt.isList=Et;var At="@@__IMMUTABLE_LIST__@@",Ct=Tt.prototype;function It(e,t){this.array=e,this.ownerID=t}Ct[At]=!0,Ct[f]=Ct.remove,Ct.setIn=Ke.setIn,Ct.deleteIn=Ct.removeIn=Ke.removeIn,Ct.update=Ke.update,Ct.updateIn=Ke.updateIn,Ct.mergeIn=Ke.mergeIn,Ct.mergeDeepIn=Ke.mergeDeepIn,Ct.withMutations=Ke.withMutations,Ct.asMutable=Ke.asMutable,Ct.asImmutable=Ke.asImmutable,Ct.wasAltered=Ke.wasAltered,It.prototype.removeBefore=function(e,t,n){if(n===t?1<<t:0===this.array.length)return this;var r=n>>>t&b;if(r>=this.array.length)return new It([],e);var i,s=0===r;if(t>0){var o=this.array[r];if((i=o&&o.removeBefore(e,t-g,n))===o&&s)return this}if(s&&!i)return this;var a=zt(this,e);if(!s)for(var l=0;l<r;l++)a.array[l]=void 0;return i&&(a.array[r]=i),a},It.prototype.removeAfter=function(e,t,n){if(n===(t?1<<t:0)||0===this.array.length)return this;var r,i=n-1>>>t&b;if(i>=this.array.length)return this;if(t>0){var s=this.array[i];if((r=s&&s.removeAfter(e,t-g,n))===s&&i===this.array.length-1)return this}var o=zt(this,e);return o.array.splice(i+1),r&&(o.array[i]=r),o};var Ot,Mt,Nt={};function Rt(e,t){var n=e._origin,r=e._capacity,i=Wt(r),s=e._tail;return o(e._root,e._level,0);function o(e,t,n){return 0===t?a(e,n):l(e,t,n)}function a(e,o){var a=o===i?s&&s.array:e&&e.array,l=o>n?0:n-o,c=r-o;return c>y&&(c=y),function(){if(l===c)return Nt;var e=t?--c:l++;return a&&a[e]}}function l(e,i,s){var a,l=e&&e.array,c=s>n?0:n-s>>i,u=1+(r-s>>i);return u>y&&(u=y),function(){for(;;){if(a){var e=a();if(e!==Nt)return e;a=null}if(c===u)return Nt;var n=t?--u:c++;a=o(l&&l[n],i-g,s+(n<<i))}}}}function Dt(e,t,n,r,i,s,o){var a=Object.create(Ct);return a.size=t-e,a._origin=e,a._capacity=t,a._level=n,a._root=r,a._tail=i,a.__ownerID=s,a.__hash=o,a.__altered=!1,a}function Pt(){return Ot||(Ot=Dt(0,0,g))}function Lt(e,t,n){if((t=C(e,t))!=t)return e;if(t>=e.size||t<0)return e.withMutations((function(e){t<0?jt(e,t).set(0,n):jt(e,0,t+1).set(t,n)}));t+=e._origin;var r=e._tail,i=e._root,s=k(w);return t>=Wt(e._capacity)?r=Bt(r,e.__ownerID,0,t,n,s):i=Bt(i,e.__ownerID,e._level,t,n,s),s.value?e.__ownerID?(e._root=i,e._tail=r,e.__hash=void 0,e.__altered=!0,e):Dt(e._origin,e._capacity,e._level,i,r):e}function Bt(e,t,n,r,i,s){var o,a=r>>>n&b,l=e&&a<e.array.length;if(!l&&void 0===i)return e;if(n>0){var c=e&&e.array[a],u=Bt(c,t,n-g,r,i,s);return u===c?e:((o=zt(e,t)).array[a]=u,o)}return l&&e.array[a]===i?e:(x(s),o=zt(e,t),void 0===i&&a===o.array.length-1?o.array.pop():o.array[a]=i,o)}function zt(e,t){return t&&e&&t===e.ownerID?e:new It(e?e.array.slice():[],t)}function Ut(e,t){if(t>=Wt(e._capacity))return e._tail;if(t<1<<e._level+g){for(var n=e._root,r=e._level;n&&r>0;)n=n.array[t>>>r&b],r-=g;return n}}function jt(e,t,n){void 0!==t&&(t|=0),void 0!==n&&(n|=0);var r=e.__ownerID||new T,i=e._origin,s=e._capacity,o=i+t,a=void 0===n?s:n<0?s+n:i+n;if(o===i&&a===s)return e;if(o>=a)return e.clear();for(var l=e._level,c=e._root,u=0;o+u<0;)c=new It(c&&c.array.length?[void 0,c]:[],r),u+=1<<(l+=g);u&&(o+=u,i+=u,a+=u,s+=u);for(var d=Wt(s),h=Wt(a);h>=1<<l+g;)c=new It(c&&c.array.length?[c]:[],r),l+=g;var p=e._tail,m=h<d?Ut(e,a-1):h>d?new It([],r):p;if(p&&h>d&&o<s&&p.array.length){for(var f=c=zt(c,r),y=l;y>g;y-=g){var v=d>>>y&b;f=f.array[v]=zt(f.array[v],r)}f.array[d>>>g&b]=p}if(a<s&&(m=m&&m.removeAfter(r,0,a)),o>=h)o-=h,a-=h,l=g,c=null,m=m&&m.removeBefore(r,0,o);else if(o>i||h<d){for(u=0;c;){var S=o>>>l&b;if(S!==h>>>l&b)break;S&&(u+=(1<<l)*S),l-=g,c=c.array[S]}c&&o>i&&(c=c.removeBefore(r,l,o-u)),c&&h<d&&(c=c.removeAfter(r,l,h-u)),u&&(o-=u,a-=u)}return e.__ownerID?(e.size=a-o,e._origin=o,e._capacity=a,e._level=l,e._root=c,e._tail=m,e.__hash=void 0,e.__altered=!0,e):Dt(o,a,l,c,m)}function Ft(e,t,n){for(var r=[],s=0,a=0;a<n.length;a++){var l=n[a],c=i(l);c.size>s&&(s=c.size),o(l)||(c=c.map((function(e){return pe(e)}))),r.push(c)}return s>e.size&&(e=e.setSize(s)),ft(e,t,r)}function Wt(e){return e<y?0:e-1>>>g<<g}function Vt(e){return null==e?Yt():Gt(e)?e:Yt().withMutations((function(t){var n=r(e);Ge(n.size),n.forEach((function(e,n){return t.set(n,e)}))}))}function Gt(e){return Ye(e)&&u(e)}function qt(e,t,n,r){var i=Object.create(Vt.prototype);return i.size=e?e.size:0,i._map=e,i._list=t,i.__ownerID=n,i.__hash=r,i}function Yt(){return Mt||(Mt=qt(it(),Pt()))}function Ht(e,t,n){var r,i,s=e._map,o=e._list,a=s.get(t),l=void 0!==a;if(n===v){if(!l)return e;o.size>=y&&o.size>=2*s.size?(r=(i=o.filter((function(e,t){return void 0!==e&&a!==t}))).toKeyedSeq().map((function(e){return e[0]})).flip().toMap(),e.__ownerID&&(r.__ownerID=i.__ownerID=e.__ownerID)):(r=s.remove(t),i=a===o.size-1?o.pop():o.set(a,void 0))}else if(l){if(n===o.get(a)[1])return e;r=s,i=o.set(a,[t,n])}else r=s.set(t,o.size),i=o.set(o.size,[t,n]);return e.__ownerID?(e.size=r.size,e._map=r,e._list=i,e.__hash=void 0,e):qt(r,i)}function _t(e,t){this._iter=e,this._useKeys=t,this.size=e.size}function Kt(e){this._iter=e,this.size=e.size}function Qt(e){this._iter=e,this.size=e.size}function Xt(e){this._iter=e,this.size=e.size}function Zt(e){var t=vn(e);return t._iter=e,t.size=e.size,t.flip=function(){return e},t.reverse=function(){var t=e.reverse.apply(this);return t.flip=function(){return e.reverse()},t},t.has=function(t){return e.includes(t)},t.includes=function(t){return e.has(t)},t.cacheResult=Sn,t.__iterateUncached=function(t,n){var r=this;return e.__iterate((function(e,n){return!1!==t(n,e,r)}),n)},t.__iteratorUncached=function(t,n){if(t===L){var r=e.__iterator(t,n);return new j((function(){var e=r.next();if(!e.done){var t=e.value[0];e.value[0]=e.value[1],e.value[1]=t}return e}))}return e.__iterator(t===P?D:P,n)},t}function Jt(e,t,n){var r=vn(e);return r.size=e.size,r.has=function(t){return e.has(t)},r.get=function(r,i){var s=e.get(r,v);return s===v?i:t.call(n,s,r,e)},r.__iterateUncached=function(r,i){var s=this;return e.__iterate((function(e,i,o){return!1!==r(t.call(n,e,i,o),i,s)}),i)},r.__iteratorUncached=function(r,i){var s=e.__iterator(L,i);return new j((function(){var i=s.next();if(i.done)return i;var o=i.value,a=o[0];return F(r,a,t.call(n,o[1],a,e),i)}))},r}function $t(e,t){var n=vn(e);return n._iter=e,n.size=e.size,n.reverse=function(){return e},e.flip&&(n.flip=function(){var t=Zt(e);return t.reverse=function(){return e.flip()},t}),n.get=function(n,r){return e.get(t?n:-1-n,r)},n.has=function(n){return e.has(t?n:-1-n)},n.includes=function(t){return e.includes(t)},n.cacheResult=Sn,n.__iterate=function(t,n){var r=this;return e.__iterate((function(e,n){return t(e,n,r)}),!n)},n.__iterator=function(t,n){return e.__iterator(t,!n)},n}function en(e,t,n,r){var i=vn(e);return r&&(i.has=function(r){var i=e.get(r,v);return i!==v&&!!t.call(n,i,r,e)},i.get=function(r,i){var s=e.get(r,v);return s!==v&&t.call(n,s,r,e)?s:i}),i.__iterateUncached=function(i,s){var o=this,a=0;return e.__iterate((function(e,s,l){if(t.call(n,e,s,l))return a++,i(e,r?s:a-1,o)}),s),a},i.__iteratorUncached=function(i,s){var o=e.__iterator(L,s),a=0;return new j((function(){for(;;){var s=o.next();if(s.done)return s;var l=s.value,c=l[0],u=l[1];if(t.call(n,u,c,e))return F(i,r?c:a++,u,s)}}))},i}function tn(e,t,n){var r=qe().asMutable();return e.__iterate((function(i,s){r.update(t.call(n,i,s,e),0,(function(e){return e+1}))})),r.asImmutable()}function nn(e,t,n){var r=a(e),i=(u(e)?Vt():qe()).asMutable();e.__iterate((function(s,o){i.update(t.call(n,s,o,e),(function(e){return(e=e||[]).push(r?[o,s]:s),e}))}));var s=bn(e);return i.map((function(t){return fn(e,s(t))}))}function rn(e,t,n,r){var i=e.size;if(void 0!==t&&(t|=0),void 0!==n&&(n===1/0?n=i:n|=0),O(t,n,i))return e;var s=M(t,i),o=N(n,i);if(s!=s||o!=o)return rn(e.toSeq().cacheResult(),t,n,r);var a,l=o-s;l==l&&(a=l<0?0:l);var c=vn(e);return c.size=0===a?a:e.size&&a||void 0,!r&&se(e)&&a>=0&&(c.get=function(t,n){return(t=C(this,t))>=0&&t<a?e.get(t+s,n):n}),c.__iterateUncached=function(t,n){var i=this;if(0===a)return 0;if(n)return this.cacheResult().__iterate(t,n);var o=0,l=!0,c=0;return e.__iterate((function(e,n){if(!l||!(l=o++<s))return c++,!1!==t(e,r?n:c-1,i)&&c!==a})),c},c.__iteratorUncached=function(t,n){if(0!==a&&n)return this.cacheResult().__iterator(t,n);var i=0!==a&&e.__iterator(t,n),o=0,l=0;return new j((function(){for(;o++<s;)i.next();if(++l>a)return W();var e=i.next();return r||t===P?e:F(t,l-1,t===D?void 0:e.value[1],e)}))},c}function sn(e,t,n){var r=vn(e);return r.__iterateUncached=function(r,i){var s=this;if(i)return this.cacheResult().__iterate(r,i);var o=0;return e.__iterate((function(e,i,a){return t.call(n,e,i,a)&&++o&&r(e,i,s)})),o},r.__iteratorUncached=function(r,i){var s=this;if(i)return this.cacheResult().__iterator(r,i);var o=e.__iterator(L,i),a=!0;return new j((function(){if(!a)return W();var e=o.next();if(e.done)return e;var i=e.value,l=i[0],c=i[1];return t.call(n,c,l,s)?r===L?e:F(r,l,c,e):(a=!1,W())}))},r}function on(e,t,n,r){var i=vn(e);return i.__iterateUncached=function(i,s){var o=this;if(s)return this.cacheResult().__iterate(i,s);var a=!0,l=0;return e.__iterate((function(e,s,c){if(!a||!(a=t.call(n,e,s,c)))return l++,i(e,r?s:l-1,o)})),l},i.__iteratorUncached=function(i,s){var o=this;if(s)return this.cacheResult().__iterator(i,s);var a=e.__iterator(L,s),l=!0,c=0;return new j((function(){var e,s,u;do{if((e=a.next()).done)return r||i===P?e:F(i,c++,i===D?void 0:e.value[1],e);var d=e.value;s=d[0],u=d[1],l&&(l=t.call(n,u,s,o))}while(l);return i===L?e:F(i,s,u,e)}))},i}function an(e,t){var n=a(e),i=[e].concat(t).map((function(e){return o(e)?n&&(e=r(e)):e=n?ae(e):le(Array.isArray(e)?e:[e]),e})).filter((function(e){return 0!==e.size}));if(0===i.length)return e;if(1===i.length){var s=i[0];if(s===e||n&&a(s)||l(e)&&l(s))return s}var c=new te(i);return n?c=c.toKeyedSeq():l(e)||(c=c.toSetSeq()),(c=c.flatten(!0)).size=i.reduce((function(e,t){if(void 0!==e){var n=t.size;if(void 0!==n)return e+n}}),0),c}function ln(e,t,n){var r=vn(e);return r.__iterateUncached=function(r,i){var s=0,a=!1;function l(e,c){var u=this;e.__iterate((function(e,i){return(!t||c<t)&&o(e)?l(e,c+1):!1===r(e,n?i:s++,u)&&(a=!0),!a}),i)}return l(e,0),s},r.__iteratorUncached=function(r,i){var s=e.__iterator(r,i),a=[],l=0;return new j((function(){for(;s;){var e=s.next();if(!1===e.done){var c=e.value;if(r===L&&(c=c[1]),t&&!(a.length<t)||!o(c))return n?e:F(r,l++,c,e);a.push(s),s=c.__iterator(r,i)}else s=a.pop()}return W()}))},r}function cn(e,t,n){var r=bn(e);return e.toSeq().map((function(i,s){return r(t.call(n,i,s,e))})).flatten(!0)}function un(e,t){var n=vn(e);return n.size=e.size&&2*e.size-1,n.__iterateUncached=function(n,r){var i=this,s=0;return e.__iterate((function(e,r){return(!s||!1!==n(t,s++,i))&&!1!==n(e,s++,i)}),r),s},n.__iteratorUncached=function(n,r){var i,s=e.__iterator(P,r),o=0;return new j((function(){return(!i||o%2)&&(i=s.next()).done?i:o%2?F(n,o++,t):F(n,o++,i.value,i)}))},n}function dn(e,t,n){t||(t=wn);var r=a(e),i=0,s=e.toSeq().map((function(t,r){return[r,t,i++,n?n(t,r,e):t]})).toArray();return s.sort((function(e,n){return t(e[3],n[3])||e[2]-n[2]})).forEach(r?function(e,t){s[t].length=2}:function(e,t){s[t]=e[1]}),r?K(s):l(e)?Q(s):X(s)}function hn(e,t,n){if(t||(t=wn),n){var r=e.toSeq().map((function(t,r){return[t,n(t,r,e)]})).reduce((function(e,n){return pn(t,e[1],n[1])?n:e}));return r&&r[0]}return e.reduce((function(e,n){return pn(t,e,n)?n:e}))}function pn(e,t,n){var r=e(n,t);return 0===r&&n!==t&&(null==n||n!=n)||r>0}function mn(e,t,r){var i=vn(e);return i.size=new te(r).map((function(e){return e.size})).min(),i.__iterate=function(e,t){for(var n,r=this.__iterator(P,t),i=0;!(n=r.next()).done&&!1!==e(n.value,i++,this););return i},i.__iteratorUncached=function(e,i){var s=r.map((function(e){return e=n(e),q(i?e.reverse():e)})),o=0,a=!1;return new j((function(){var n;return a||(n=s.map((function(e){return e.next()})),a=n.some((function(e){return e.done}))),a?W():F(e,o++,t.apply(null,n.map((function(e){return e.value}))))}))},i}function fn(e,t){return se(e)?t:e.constructor(t)}function gn(e){if(e!==Object(e))throw new TypeError("Expected [K, V] tuple: "+e)}function yn(e){return Ge(e.size),A(e)}function bn(e){return a(e)?r:l(e)?i:s}function vn(e){return Object.create((a(e)?K:l(e)?Q:X).prototype)}function Sn(){return this._iter.cacheResult?(this._iter.cacheResult(),this.size=this._iter.size,this):_.prototype.cacheResult.call(this)}function wn(e,t){return e>t?1:e<t?-1:0}function kn(e){var t=q(e);if(!t){if(!H(e))throw new TypeError("Expected iterable or array-like: "+e);t=q(n(e))}return t}function xn(e,t){var n,r=function(s){if(s instanceof r)return s;if(!(this instanceof r))return new r(s);if(!n){n=!0;var o=Object.keys(e);Cn(i,o),i.size=o.length,i._name=t,i._keys=o,i._defaultValues=e}this._map=qe(s)},i=r.prototype=Object.create(Tn);return i.constructor=r,r}t(Vt,qe),Vt.of=function(){return this(arguments)},Vt.prototype.toString=function(){return this.__toString("OrderedMap {","}")},Vt.prototype.get=function(e,t){var n=this._map.get(e);return void 0!==n?this._list.get(n)[1]:t},Vt.prototype.clear=function(){return 0===this.size?this:this.__ownerID?(this.size=0,this._map.clear(),this._list.clear(),this):Yt()},Vt.prototype.set=function(e,t){return Ht(this,e,t)},Vt.prototype.remove=function(e){return Ht(this,e,v)},Vt.prototype.wasAltered=function(){return this._map.wasAltered()||this._list.wasAltered()},Vt.prototype.__iterate=function(e,t){var n=this;return this._list.__iterate((function(t){return t&&e(t[1],t[0],n)}),t)},Vt.prototype.__iterator=function(e,t){return this._list.fromEntrySeq().__iterator(e,t)},Vt.prototype.__ensureOwner=function(e){if(e===this.__ownerID)return this;var t=this._map.__ensureOwner(e),n=this._list.__ensureOwner(e);return e?qt(t,n,e,this.__hash):(this.__ownerID=e,this._map=t,this._list=n,this)},Vt.isOrderedMap=Gt,Vt.prototype[m]=!0,Vt.prototype[f]=Vt.prototype.remove,t(_t,K),_t.prototype.get=function(e,t){return this._iter.get(e,t)},_t.prototype.has=function(e){return this._iter.has(e)},_t.prototype.valueSeq=function(){return this._iter.valueSeq()},_t.prototype.reverse=function(){var e=this,t=$t(this,!0);return this._useKeys||(t.valueSeq=function(){return e._iter.toSeq().reverse()}),t},_t.prototype.map=function(e,t){var n=this,r=Jt(this,e,t);return this._useKeys||(r.valueSeq=function(){return n._iter.toSeq().map(e,t)}),r},_t.prototype.__iterate=function(e,t){var n,r=this;return this._iter.__iterate(this._useKeys?function(t,n){return e(t,n,r)}:(n=t?yn(this):0,function(i){return e(i,t?--n:n++,r)}),t)},_t.prototype.__iterator=function(e,t){if(this._useKeys)return this._iter.__iterator(e,t);var n=this._iter.__iterator(P,t),r=t?yn(this):0;return new j((function(){var i=n.next();return i.done?i:F(e,t?--r:r++,i.value,i)}))},_t.prototype[m]=!0,t(Kt,Q),Kt.prototype.includes=function(e){return this._iter.includes(e)},Kt.prototype.__iterate=function(e,t){var n=this,r=0;return this._iter.__iterate((function(t){return e(t,r++,n)}),t)},Kt.prototype.__iterator=function(e,t){var n=this._iter.__iterator(P,t),r=0;return new j((function(){var t=n.next();return t.done?t:F(e,r++,t.value,t)}))},t(Qt,X),Qt.prototype.has=function(e){return this._iter.includes(e)},Qt.prototype.__iterate=function(e,t){var n=this;return this._iter.__iterate((function(t){return e(t,t,n)}),t)},Qt.prototype.__iterator=function(e,t){var n=this._iter.__iterator(P,t);return new j((function(){var t=n.next();return t.done?t:F(e,t.value,t.value,t)}))},t(Xt,K),Xt.prototype.entrySeq=function(){return this._iter.toSeq()},Xt.prototype.__iterate=function(e,t){var n=this;return this._iter.__iterate((function(t){if(t){gn(t);var r=o(t);return e(r?t.get(1):t[1],r?t.get(0):t[0],n)}}),t)},Xt.prototype.__iterator=function(e,t){var n=this._iter.__iterator(P,t);return new j((function(){for(;;){var t=n.next();if(t.done)return t;var r=t.value;if(r){gn(r);var i=o(r);return F(e,i?r.get(0):r[0],i?r.get(1):r[1],t)}}}))},Kt.prototype.cacheResult=_t.prototype.cacheResult=Qt.prototype.cacheResult=Xt.prototype.cacheResult=Sn,t(xn,xe),xn.prototype.toString=function(){return this.__toString(An(this)+" {","}")},xn.prototype.has=function(e){return this._defaultValues.hasOwnProperty(e)},xn.prototype.get=function(e,t){if(!this.has(e))return t;var n=this._defaultValues[e];return this._map?this._map.get(e,n):n},xn.prototype.clear=function(){if(this.__ownerID)return this._map&&this._map.clear(),this;var e=this.constructor;return e._empty||(e._empty=En(this,it()))},xn.prototype.set=function(e,t){if(!this.has(e))throw new Error('Cannot set unknown key "'+e+'" on '+An(this));if(this._map&&!this._map.has(e)&&t===this._defaultValues[e])return this;var n=this._map&&this._map.set(e,t);return this.__ownerID||n===this._map?this:En(this,n)},xn.prototype.remove=function(e){if(!this.has(e))return this;var t=this._map&&this._map.remove(e);return this.__ownerID||t===this._map?this:En(this,t)},xn.prototype.wasAltered=function(){return this._map.wasAltered()},xn.prototype.__iterator=function(e,t){var n=this;return r(this._defaultValues).map((function(e,t){return n.get(t)})).__iterator(e,t)},xn.prototype.__iterate=function(e,t){var n=this;return r(this._defaultValues).map((function(e,t){return n.get(t)})).__iterate(e,t)},xn.prototype.__ensureOwner=function(e){if(e===this.__ownerID)return this;var t=this._map&&this._map.__ensureOwner(e);return e?En(this,t,e):(this.__ownerID=e,this._map=t,this)};var Tn=xn.prototype;function En(e,t,n){var r=Object.create(Object.getPrototypeOf(e));return r._map=t,r.__ownerID=n,r}function An(e){return e._name||e.constructor.name||"Record"}function Cn(e,t){try{t.forEach(In.bind(void 0,e))}catch(e){}}function In(e,t){Object.defineProperty(e,t,{get:function(){return this.get(t)},set:function(e){Se(this.__ownerID,"Cannot set on an immutable record."),this.set(t,e)}})}function On(e){return null==e?Bn():Mn(e)&&!u(e)?e:Bn().withMutations((function(t){var n=s(e);Ge(n.size),n.forEach((function(e){return t.add(e)}))}))}function Mn(e){return!(!e||!e[Rn])}Tn[f]=Tn.remove,Tn.deleteIn=Tn.removeIn=Ke.removeIn,Tn.merge=Ke.merge,Tn.mergeWith=Ke.mergeWith,Tn.mergeIn=Ke.mergeIn,Tn.mergeDeep=Ke.mergeDeep,Tn.mergeDeepWith=Ke.mergeDeepWith,Tn.mergeDeepIn=Ke.mergeDeepIn,Tn.setIn=Ke.setIn,Tn.update=Ke.update,Tn.updateIn=Ke.updateIn,Tn.withMutations=Ke.withMutations,Tn.asMutable=Ke.asMutable,Tn.asImmutable=Ke.asImmutable,t(On,Ee),On.of=function(){return this(arguments)},On.fromKeys=function(e){return this(r(e).keySeq())},On.prototype.toString=function(){return this.__toString("Set {","}")},On.prototype.has=function(e){return this._map.has(e)},On.prototype.add=function(e){return Pn(this,this._map.set(e,!0))},On.prototype.remove=function(e){return Pn(this,this._map.remove(e))},On.prototype.clear=function(){return Pn(this,this._map.clear())},On.prototype.union=function(){var t=e.call(arguments,0);return 0===(t=t.filter((function(e){return 0!==e.size}))).length?this:0!==this.size||this.__ownerID||1!==t.length?this.withMutations((function(e){for(var n=0;n<t.length;n++)s(t[n]).forEach((function(t){return e.add(t)}))})):this.constructor(t[0])},On.prototype.intersect=function(){var t=e.call(arguments,0);if(0===t.length)return this;t=t.map((function(e){return s(e)}));var n=this;return this.withMutations((function(e){n.forEach((function(n){t.every((function(e){return e.includes(n)}))||e.remove(n)}))}))},On.prototype.subtract=function(){var t=e.call(arguments,0);if(0===t.length)return this;t=t.map((function(e){return s(e)}));var n=this;return this.withMutations((function(e){n.forEach((function(n){t.some((function(e){return e.includes(n)}))&&e.remove(n)}))}))},On.prototype.merge=function(){return this.union.apply(this,arguments)},On.prototype.mergeWith=function(t){var n=e.call(arguments,1);return this.union.apply(this,n)},On.prototype.sort=function(e){return zn(dn(this,e))},On.prototype.sortBy=function(e,t){return zn(dn(this,t,e))},On.prototype.wasAltered=function(){return this._map.wasAltered()},On.prototype.__iterate=function(e,t){var n=this;return this._map.__iterate((function(t,r){return e(r,r,n)}),t)},On.prototype.__iterator=function(e,t){return this._map.map((function(e,t){return t})).__iterator(e,t)},On.prototype.__ensureOwner=function(e){if(e===this.__ownerID)return this;var t=this._map.__ensureOwner(e);return e?this.__make(t,e):(this.__ownerID=e,this._map=t,this)},On.isSet=Mn;var Nn,Rn="@@__IMMUTABLE_SET__@@",Dn=On.prototype;function Pn(e,t){return e.__ownerID?(e.size=t.size,e._map=t,e):t===e._map?e:0===t.size?e.__empty():e.__make(t)}function Ln(e,t){var n=Object.create(Dn);return n.size=e?e.size:0,n._map=e,n.__ownerID=t,n}function Bn(){return Nn||(Nn=Ln(it()))}function zn(e){return null==e?Vn():Un(e)?e:Vn().withMutations((function(t){var n=s(e);Ge(n.size),n.forEach((function(e){return t.add(e)}))}))}function Un(e){return Mn(e)&&u(e)}Dn[Rn]=!0,Dn[f]=Dn.remove,Dn.mergeDeep=Dn.merge,Dn.mergeDeepWith=Dn.mergeWith,Dn.withMutations=Ke.withMutations,Dn.asMutable=Ke.asMutable,Dn.asImmutable=Ke.asImmutable,Dn.__empty=Bn,Dn.__make=Ln,t(zn,On),zn.of=function(){return this(arguments)},zn.fromKeys=function(e){return this(r(e).keySeq())},zn.prototype.toString=function(){return this.__toString("OrderedSet {","}")},zn.isOrderedSet=Un;var jn,Fn=zn.prototype;function Wn(e,t){var n=Object.create(Fn);return n.size=e?e.size:0,n._map=e,n.__ownerID=t,n}function Vn(){return jn||(jn=Wn(Yt()))}function Gn(e){return null==e?Qn():qn(e)?e:Qn().unshiftAll(e)}function qn(e){return!(!e||!e[Hn])}Fn[m]=!0,Fn.__empty=Vn,Fn.__make=Wn,t(Gn,Te),Gn.of=function(){return this(arguments)},Gn.prototype.toString=function(){return this.__toString("Stack [","]")},Gn.prototype.get=function(e,t){var n=this._head;for(e=C(this,e);n&&e--;)n=n.next;return n?n.value:t},Gn.prototype.peek=function(){return this._head&&this._head.value},Gn.prototype.push=function(){if(0===arguments.length)return this;for(var e=this.size+arguments.length,t=this._head,n=arguments.length-1;n>=0;n--)t={value:arguments[n],next:t};return this.__ownerID?(this.size=e,this._head=t,this.__hash=void 0,this.__altered=!0,this):Kn(e,t)},Gn.prototype.pushAll=function(e){if(0===(e=i(e)).size)return this;Ge(e.size);var t=this.size,n=this._head;return e.reverse().forEach((function(e){t++,n={value:e,next:n}})),this.__ownerID?(this.size=t,this._head=n,this.__hash=void 0,this.__altered=!0,this):Kn(t,n)},Gn.prototype.pop=function(){return this.slice(1)},Gn.prototype.unshift=function(){return this.push.apply(this,arguments)},Gn.prototype.unshiftAll=function(e){return this.pushAll(e)},Gn.prototype.shift=function(){return this.pop.apply(this,arguments)},Gn.prototype.clear=function(){return 0===this.size?this:this.__ownerID?(this.size=0,this._head=void 0,this.__hash=void 0,this.__altered=!0,this):Qn()},Gn.prototype.slice=function(e,t){if(O(e,t,this.size))return this;var n=M(e,this.size);if(N(t,this.size)!==this.size)return Te.prototype.slice.call(this,e,t);for(var r=this.size-n,i=this._head;n--;)i=i.next;return this.__ownerID?(this.size=r,this._head=i,this.__hash=void 0,this.__altered=!0,this):Kn(r,i)},Gn.prototype.__ensureOwner=function(e){return e===this.__ownerID?this:e?Kn(this.size,this._head,e,this.__hash):(this.__ownerID=e,this.__altered=!1,this)},Gn.prototype.__iterate=function(e,t){if(t)return this.reverse().__iterate(e);for(var n=0,r=this._head;r&&!1!==e(r.value,n++,this);)r=r.next;return n},Gn.prototype.__iterator=function(e,t){if(t)return this.reverse().__iterator(e);var n=0,r=this._head;return new j((function(){if(r){var t=r.value;return r=r.next,F(e,n++,t)}return W()}))},Gn.isStack=qn;var Yn,Hn="@@__IMMUTABLE_STACK__@@",_n=Gn.prototype;function Kn(e,t,n,r){var i=Object.create(_n);return i.size=e,i._head=t,i.__ownerID=n,i.__hash=r,i.__altered=!1,i}function Qn(){return Yn||(Yn=Kn(0))}function Xn(e,t){var n=function(n){e.prototype[n]=t[n]};return Object.keys(t).forEach(n),Object.getOwnPropertySymbols&&Object.getOwnPropertySymbols(t).forEach(n),e}_n[Hn]=!0,_n.withMutations=Ke.withMutations,_n.asMutable=Ke.asMutable,_n.asImmutable=Ke.asImmutable,_n.wasAltered=Ke.wasAltered,n.Iterator=j,Xn(n,{toArray:function(){Ge(this.size);var e=new Array(this.size||0);return this.valueSeq().__iterate((function(t,n){e[n]=t})),e},toIndexedSeq:function(){return new Kt(this)},toJS:function(){return this.toSeq().map((function(e){return e&&"function"==typeof e.toJS?e.toJS():e})).__toJS()},toJSON:function(){return this.toSeq().map((function(e){return e&&"function"==typeof e.toJSON?e.toJSON():e})).__toJS()},toKeyedSeq:function(){return new _t(this,!0)},toMap:function(){return qe(this.toKeyedSeq())},toObject:function(){Ge(this.size);var e={};return this.__iterate((function(t,n){e[n]=t})),e},toOrderedMap:function(){return Vt(this.toKeyedSeq())},toOrderedSet:function(){return zn(a(this)?this.valueSeq():this)},toSet:function(){return On(a(this)?this.valueSeq():this)},toSetSeq:function(){return new Qt(this)},toSeq:function(){return l(this)?this.toIndexedSeq():a(this)?this.toKeyedSeq():this.toSetSeq()},toStack:function(){return Gn(a(this)?this.valueSeq():this)},toList:function(){return Tt(a(this)?this.valueSeq():this)},toString:function(){return"[Iterable]"},__toString:function(e,t){return 0===this.size?e+t:e+" "+this.toSeq().map(this.__toStringMapper).join(", ")+" "+t},concat:function(){return fn(this,an(this,e.call(arguments,0)))},includes:function(e){return this.some((function(t){return ye(t,e)}))},entries:function(){return this.__iterator(L)},every:function(e,t){Ge(this.size);var n=!0;return this.__iterate((function(r,i,s){if(!e.call(t,r,i,s))return n=!1,!1})),n},filter:function(e,t){return fn(this,en(this,e,t,!0))},find:function(e,t,n){var r=this.findEntry(e,t);return r?r[1]:n},forEach:function(e,t){return Ge(this.size),this.__iterate(t?e.bind(t):e)},join:function(e){Ge(this.size),e=void 0!==e?""+e:",";var t="",n=!0;return this.__iterate((function(r){n?n=!1:t+=e,t+=null!=r?r.toString():""})),t},keys:function(){return this.__iterator(D)},map:function(e,t){return fn(this,Jt(this,e,t))},reduce:function(e,t,n){var r,i;return Ge(this.size),arguments.length<2?i=!0:r=t,this.__iterate((function(t,s,o){i?(i=!1,r=t):r=e.call(n,r,t,s,o)})),r},reduceRight:function(e,t,n){var r=this.toKeyedSeq().reverse();return r.reduce.apply(r,arguments)},reverse:function(){return fn(this,$t(this,!0))},slice:function(e,t){return fn(this,rn(this,e,t,!0))},some:function(e,t){return!this.every(tr(e),t)},sort:function(e){return fn(this,dn(this,e))},values:function(){return this.__iterator(P)},butLast:function(){return this.slice(0,-1)},isEmpty:function(){return void 0!==this.size?0===this.size:!this.some((function(){return!0}))},count:function(e,t){return A(e?this.toSeq().filter(e,t):this)},countBy:function(e,t){return tn(this,e,t)},equals:function(e){return be(this,e)},entrySeq:function(){var e=this;if(e._cache)return new te(e._cache);var t=e.toSeq().map(er).toIndexedSeq();return t.fromEntrySeq=function(){return e.toSeq()},t},filterNot:function(e,t){return this.filter(tr(e),t)},findEntry:function(e,t,n){var r=n;return this.__iterate((function(n,i,s){if(e.call(t,n,i,s))return r=[i,n],!1})),r},findKey:function(e,t){var n=this.findEntry(e,t);return n&&n[0]},findLast:function(e,t,n){return this.toKeyedSeq().reverse().find(e,t,n)},findLastEntry:function(e,t,n){return this.toKeyedSeq().reverse().findEntry(e,t,n)},findLastKey:function(e,t){return this.toKeyedSeq().reverse().findKey(e,t)},first:function(){return this.find(I)},flatMap:function(e,t){return fn(this,cn(this,e,t))},flatten:function(e){return fn(this,ln(this,e,!0))},fromEntrySeq:function(){return new Xt(this)},get:function(e,t){return this.find((function(t,n){return ye(n,e)}),void 0,t)},getIn:function(e,t){for(var n,r=this,i=kn(e);!(n=i.next()).done;){var s=n.value;if((r=r&&r.get?r.get(s,v):v)===v)return t}return r},groupBy:function(e,t){return nn(this,e,t)},has:function(e){return this.get(e,v)!==v},hasIn:function(e){return this.getIn(e,v)!==v},isSubset:function(e){return e="function"==typeof e.includes?e:n(e),this.every((function(t){return e.includes(t)}))},isSuperset:function(e){return(e="function"==typeof e.isSubset?e:n(e)).isSubset(this)},keyOf:function(e){return this.findKey((function(t){return ye(t,e)}))},keySeq:function(){return this.toSeq().map($n).toIndexedSeq()},last:function(){return this.toSeq().reverse().first()},lastKeyOf:function(e){return this.toKeyedSeq().reverse().keyOf(e)},max:function(e){return hn(this,e)},maxBy:function(e,t){return hn(this,t,e)},min:function(e){return hn(this,e?nr(e):sr)},minBy:function(e,t){return hn(this,t?nr(t):sr,e)},rest:function(){return this.slice(1)},skip:function(e){return this.slice(Math.max(0,e))},skipLast:function(e){return fn(this,this.toSeq().reverse().skip(e).reverse())},skipWhile:function(e,t){return fn(this,on(this,e,t,!0))},skipUntil:function(e,t){return this.skipWhile(tr(e),t)},sortBy:function(e,t){return fn(this,dn(this,t,e))},take:function(e){return this.slice(0,Math.max(0,e))},takeLast:function(e){return fn(this,this.toSeq().reverse().take(e).reverse())},takeWhile:function(e,t){return fn(this,sn(this,e,t))},takeUntil:function(e,t){return this.takeWhile(tr(e),t)},valueSeq:function(){return this.toIndexedSeq()},hashCode:function(){return this.__hash||(this.__hash=or(this))}});var Zn=n.prototype;Zn[d]=!0,Zn[U]=Zn.values,Zn.__toJS=Zn.toArray,Zn.__toStringMapper=rr,Zn.inspect=Zn.toSource=function(){return this.toString()},Zn.chain=Zn.flatMap,Zn.contains=Zn.includes,Xn(r,{flip:function(){return fn(this,Zt(this))},mapEntries:function(e,t){var n=this,r=0;return fn(this,this.toSeq().map((function(i,s){return e.call(t,[s,i],r++,n)})).fromEntrySeq())},mapKeys:function(e,t){var n=this;return fn(this,this.toSeq().flip().map((function(r,i){return e.call(t,r,i,n)})).flip())}});var Jn=r.prototype;function $n(e,t){return t}function er(e,t){return[t,e]}function tr(e){return function(){return!e.apply(this,arguments)}}function nr(e){return function(){return-e.apply(this,arguments)}}function rr(e){return"string"==typeof e?JSON.stringify(e):String(e)}function ir(){return E(arguments)}function sr(e,t){return e<t?1:e>t?-1:0}function or(e){if(e.size===1/0)return 0;var t=u(e),n=a(e),r=t?1:0;return ar(e.__iterate(n?t?function(e,t){r=31*r+lr(Ie(e),Ie(t))|0}:function(e,t){r=r+lr(Ie(e),Ie(t))|0}:t?function(e){r=31*r+Ie(e)|0}:function(e){r=r+Ie(e)|0}),r)}function ar(e,t){return t=Ae(t,3432918353),t=Ae(t<<15|t>>>-15,461845907),t=Ae(t<<13|t>>>-13,5),t=Ae((t=t+3864292196^e)^t>>>16,2246822507),t=Ce((t=Ae(t^t>>>13,3266489909))^t>>>16)}function lr(e,t){return e^t+2654435769+(e<<6)+(e>>2)}return Jn[h]=!0,Jn[U]=Zn.entries,Jn.__toJS=Zn.toObject,Jn.__toStringMapper=function(e,t){return JSON.stringify(t)+": "+rr(e)},Xn(i,{toKeyedSeq:function(){return new _t(this,!1)},filter:function(e,t){return fn(this,en(this,e,t,!1))},findIndex:function(e,t){var n=this.findEntry(e,t);return n?n[0]:-1},indexOf:function(e){var t=this.keyOf(e);return void 0===t?-1:t},lastIndexOf:function(e){var t=this.lastKeyOf(e);return void 0===t?-1:t},reverse:function(){return fn(this,$t(this,!1))},slice:function(e,t){return fn(this,rn(this,e,t,!1))},splice:function(e,t){var n=arguments.length;if(t=Math.max(0|t,0),0===n||2===n&&!t)return this;e=M(e,e<0?this.count():this.size);var r=this.slice(0,e);return fn(this,1===n?r:r.concat(E(arguments,2),this.slice(e+t)))},findLastIndex:function(e,t){var n=this.findLastEntry(e,t);return n?n[0]:-1},first:function(){return this.get(0)},flatten:function(e){return fn(this,ln(this,e,!1))},get:function(e,t){return(e=C(this,e))<0||this.size===1/0||void 0!==this.size&&e>this.size?t:this.find((function(t,n){return n===e}),void 0,t)},has:function(e){return(e=C(this,e))>=0&&(void 0!==this.size?this.size===1/0||e<this.size:-1!==this.indexOf(e))},interpose:function(e){return fn(this,un(this,e))},interleave:function(){var e=[this].concat(E(arguments)),t=mn(this.toSeq(),Q.of,e),n=t.flatten(!0);return t.size&&(n.size=t.size*e.length),fn(this,n)},keySeq:function(){return we(0,this.size)},last:function(){return this.get(-1)},skipWhile:function(e,t){return fn(this,on(this,e,t,!1))},zip:function(){return fn(this,mn(this,ir,[this].concat(E(arguments))))},zipWith:function(e){var t=E(arguments);return t[0]=this,fn(this,mn(this,e,t))}}),i.prototype[p]=!0,i.prototype[m]=!0,Xn(s,{get:function(e,t){return this.has(e)?e:t},includes:function(e){return this.has(e)},keySeq:function(){return this.valueSeq()}}),s.prototype.has=Zn.includes,s.prototype.contains=s.prototype.includes,Xn(K,r.prototype),Xn(Q,i.prototype),Xn(X,s.prototype),Xn(xe,r.prototype),Xn(Te,i.prototype),Xn(Ee,s.prototype),{Iterable:n,Seq:_,Collection:ke,Map:qe,OrderedMap:Vt,List:Tt,Stack:Gn,Set:On,OrderedSet:zn,Record:xn,Range:we,Repeat:ve,is:ye,fromJS:pe}}()},function(e,t,n){const r=n(1),i=[];class s{constructor(e){this.isLoop=!1,this.warpMode=e,this.justReported=null,this.reporting="",this.reported=null,this.waitingReporter=null,this.params=null,this.executionContext=null,this.op=null}reset(){return this.isLoop=!1,this.warpMode=!1,this.justReported=null,this.reported=null,this.waitingReporter=null,this.params=null,this.executionContext=null,this.op=null,this}reuse(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.warpMode;return this.reset(),this.warpMode=Boolean(e),this}static create(e){const t=i.pop();return void 0!==t?(t.warpMode=Boolean(e),t):new s(e)}static release(e){void 0!==e&&i.push(e.reset())}}class o{constructor(e){this.topBlock=e,this.stack=[],this.stackFrames=[],this.status=0,this.isKilled=!1,this.target=null,this.blockContainer=null,this.requestScriptGlowInFrame=!1,this.blockGlowInFrame=null,this.warpTimer=null,this.justReported=null,this.triedToCompile=!1,this.isCompiled=!1,this.timer=null,this.generator=null,this.procedures=null,this.executableHat=!1}static get STATUS_RUNNING(){return 0}static get STATUS_PROMISE_WAIT(){return 1}static get STATUS_YIELD(){return 2}static get STATUS_YIELD_TICK(){return 3}static get STATUS_DONE(){return 4}static getIdFromTargetAndBlock(e,t){return"".concat(e.id,"&").concat(t)}getId(){return o.getIdFromTargetAndBlock(this.target,this.topBlock)}pushStack(e){if(this.stack.push(e),this.stack.length>this.stackFrames.length){const e=this.stackFrames[this.stackFrames.length-1];this.stackFrames.push(s.create(void 0!==e&&e.warpMode))}}reuseStackForNextBlock(e){this.stack[this.stack.length-1]=e,this.stackFrames[this.stackFrames.length-1].reuse()}popStack(){return s.release(this.stackFrames.pop()),this.stack.pop()}stopThisScript(){let e=this.peekStack();for(;null!==e;){const t=this.target.blocks.getBlock(e);if(this.peekStackFrame().waitingReporter)break;if(void 0!==t&&"procedures_call"===t.opcode){this.goToNextBlock();break}this.popStack(),e=this.peekStack()}0===this.stack.length&&(this.requestScriptGlowInFrame=!1,this.status=o.STATUS_DONE)}peekStack(){return this.stack.length>0?this.stack[this.stack.length-1]:null}peekStackFrame(){return this.stackFrames.length>0?this.stackFrames[this.stackFrames.length-1]:null}peekParentStackFrame(){return this.stackFrames.length>1?this.stackFrames[this.stackFrames.length-2]:null}pushReportedValue(e){this.justReported=void 0===e?null:e}initParams(){const e=this.peekStackFrame();null===e.params&&(e.params={})}pushParam(e,t){this.peekStackFrame().params[e]=t}getParam(e){for(let t=this.stackFrames.length-1;t>=0;t--){const n=this.stackFrames[t];if(null!==n.params)return Object.prototype.hasOwnProperty.call(n.params,e)?n.params[e]:null}return null}getAllparams(){return this.peekStackFrame().params}atStackTop(){return this.peekStack()===this.topBlock}goToNextBlock(){const e=this.target.blocks.getNextBlock(this.peekStack());this.reuseStackForNextBlock(e)}isRecursiveCall(e){let t=5;for(let n=this.stackFrames.length-1-1;n>=0;n--){const r=this.target.blocks.getBlock(this.stackFrames[n].op.id);if("procedures_call"===r.opcode&&r.mutation.proccode===e)return!0;if(--t<0)return!1}return!1}tryCompile(){if(!this.blockContainer)return;const e=n(210);this.triedToCompile=!0;const t=!this.stackClick,i=this.topBlock,s=this.blockContainer.getBlock(i)?this.blockContainer:this.target.runtime.flyoutBlocks,o=t&&s.getCachedCompileResult(i);if(o&&!o.success)return;let a;if(o)a=o.value;else try{a=e(this),t&&s.cacheCompileResult(i,a)}catch(e){return r.error("cannot compile script",this.target.getName(),e),t&&s.cacheCompileError(i,e),void this.target.runtime.emitCompileError(this.target,e)}this.procedures={};for(const e of Object.keys(a.procedures))this.procedures[e]=a.procedures[e](this);this.generator=a.startingFunction(this)(),this.executableHat=a.executableHat,this.blockContainer.forceNoGlow||(this.blockGlowInFrame=this.topBlock,this.requestScriptGlowInFrame=!0),this.isCompiled=!0}}o._StackFrame=s,e.exports=o},function(e,t,n){var r=n(93),i=r.isDigit,s=r.isHexDigit,o=r.isUppercaseLetter,a=r.isName,l=r.isWhiteSpace,c=r.isValidEscape;function u(e,t){return t<e.length?e.charCodeAt(t):0}function d(e,t,n){return 13===n&&10===u(e,t+1)?2:1}function h(e,t,n){var r=e.charCodeAt(t);return o(r)&&(r|=32),r===n}function p(e,t){for(;t<e.length&&i(e.charCodeAt(t));t++);return t}function m(e,t){if(s(u(e,(t+=2)-1))){for(var n=Math.min(e.length,t+5);t<n&&s(u(e,t));t++);var r=u(e,t);l(r)&&(t+=d(e,t,r))}return t}e.exports={consumeEscaped:m,consumeName:function(e,t){for(;t<e.length;t++){var n=e.charCodeAt(t);if(!a(n)){if(!c(n,u(e,t+1)))break;t=m(e,t)-1}}return t},consumeNumber:function(e,t){var n=e.charCodeAt(t);if(43!==n&&45!==n||(n=e.charCodeAt(t+=1)),i(n)&&(t=p(e,t+1),n=e.charCodeAt(t)),46===n&&i(e.charCodeAt(t+1))&&(n=e.charCodeAt(t+=2),t=p(e,t)),h(e,t,101)){var r=0;45!==(n=e.charCodeAt(t+1))&&43!==n||(r=1,n=e.charCodeAt(t+2)),i(n)&&(t=p(e,t+1+r+1))}return t},consumeBadUrlRemnants:function(e,t){for(;t<e.length;t++){var n=e.charCodeAt(t);if(41===n){t++;break}c(n,u(e,t+1))&&(t=m(e,t))}return t},cmpChar:h,cmpStr:function(e,t,n,r){if(n-t!==r.length)return!1;if(t<0||n>e.length)return!1;for(var i=t;i<n;i++){var s=e.charCodeAt(i),a=r.charCodeAt(i-t);if(o(s)&&(s|=32),s!==a)return!1}return!0},getNewlineLength:d,findWhiteSpaceStart:function(e,t){for(;t>=0&&l(e.charCodeAt(t));t--);return t+1},findWhiteSpaceEnd:function(e,t){for(;t<e.length&&l(e.charCodeAt(t));t++);return t}}},function(e,t,n){const r=n(17),i=n(52),s=n(10),o=n(51),a=n(46),l=n(13),c=n(1),u=n(8),d=n(5),h=n(7),p=n(84),m=n(385),{loadCostume:f}=n(34),{loadSound:g}=n(33),{deserializeCostume:y,deserializeSound:b}=n(106),v=Object.prototype.hasOwnProperty,S=["argument","colour","control","data","event","looks","math","motion","operator","procedures","sensing","sound"],w=12,k=13,x={math_number:[4,"NUM"],math_positive_number:[5,"NUM"],math_whole_number:[6,"NUM"],math_integer:[7,"NUM"],math_angle:[8,"NUM"],colour_picker:[9,"COLOUR"],text:[10,"TEXT"],event_broadcast_menu:[11,"BROADCAST_OPTION"],data_variable:[w,"VARIABLE"],data_listcontents:[k,"LIST"]},T=8e3,E=function(e){const t=function(e){if(v.call(x,e.opcode)){const t=x[e.opcode],n=t[0],r=t[1],i=e.fields[r],s=[n,i.value];return"event_broadcast_menu"===e.opcode?s.push(i.id):"data_variable"!==e.opcode&&"data_listcontents"!==e.opcode||(s.push(i.id),e.topLevel&&(s.push(e.x?Math.round(e.x):0),s.push(e.y?Math.round(e.y):0))),s}return null}(e);if(t)return t;const n=Object.create(null);return n.opcode=e.opcode,n.next=e.next,n.parent=e.parent,n.inputs=function(e){const t=Object.create(null);for(const n in e)v.call(e,n)&&(e[n].block===e[n].shadow?t[n]=[1,e[n].block]:null===e[n].shadow?t[n]=[2,e[n].block]:t[n]=[3,e[n].block,e[n].shadow]);return t}(e.inputs),n.fields=function(e){const t=Object.create(null);for(const n in e)v.call(e,n)&&(t[n]=[e[n].value],Object.prototype.hasOwnProperty.call(e[n],"id")&&t[n].push(e[n].id));return t}(e.fields),n.shadow=e.shadow,e.topLevel?(n.topLevel=!0,n.x=e.x?Math.round(e.x):0,n.y=e.y?Math.round(e.y):0):n.topLevel=!1,e.mutation&&(n.mutation=e.mutation),e.comment&&(n.comment=e.comment),n},A=function(e,t){const n=e.inputs;for(const e in n){const r=n[e];for(let e=1;e<r.length;e++){if(!r[e])continue;const n=r[e],i=t[n];Array.isArray(i)&&(r[e]=i,delete t[n])}}return e},C=function(e){const t=e.indexOf("_"),n=e.substring(0,t).replace(/[^\w-]/g,"-");if(-1===S.indexOf(n)&&""!==n)return n},I=(e,t)=>{if(!t.extensionManager)return null;const n=t.extensionManager.getExtensionURLs(),r={};for(const t of e){const e=n[t];"string"==typeof e&&(r[t]=e)}return 0===Object.keys(r).length?null:r},O=function(e){const t=Object.create(null),n=new Set;for(const r in e){if(!Object.prototype.hasOwnProperty.call(e,r))continue;t[r]=E(e[r]);const i=C(e[r].opcode);i&&n.add(i)}for(const e in t){const n=t[e];t[e]=A(n,t)}for(const e in t){const n=t[e];Array.isArray(n)&&[w,k].indexOf(n[0])<0&&(c.warn("Found an unexpected top level primitive with block ID: ".concat(e,"; deleting it from serialized blocks.")),delete t[e])}return[t,Array.from(n)]},M=function(e){const t=Object.create(null);t.name=e.name;const n=e.broken||e;return t.bitmapResolution=n.bitmapResolution,t.dataFormat=n.dataFormat.toLowerCase(),t.assetId=n.assetId,t.md5ext=n.md5,t.rotationCenterX=n.rotationCenterX,t.rotationCenterY=n.rotationCenterY,t},N=function(e){const t=Object.create(null);t.name=e.name;const n=e.broken||e;return t.assetId=n.assetId,t.dataFormat=n.dataFormat.toLowerCase(),t.format=n.format,t.rate=n.rate,t.sampleCount=n.sampleCount,t.md5ext=n.md5,t},R=e=>"number"==typeof e||"string"==typeof e||"boolean"==typeof e,D=e=>{if(Array.isArray(e)){let t=null;for(let n=0;n<e.length;n++)R(e[n])||(t||(t=e.slice()),t[n]="".concat(t[n]));return t||e}return R(e)?e:"".concat(e)},P=function(e,t){const n=Object.create(null);let r=[];n.isStage=e.isStage,n.name=n.isStage?"Stage":e.name;const i=function(e){const t=Object.create(null);t.variables=Object.create(null),t.lists=Object.create(null),t.broadcasts=Object.create(null);for(const n in e){const r=e[n];r.type!==s.BROADCAST_MESSAGE_TYPE?r.type!==s.LIST_TYPE?(t.variables[n]=[r.name,D(r.value)],r.isCloud&&t.variables[n].push(!0)):t.lists[n]=[r.name,D(r.value)]:t.broadcasts[n]=r.value}return t}(e.variables);return n.variables=i.variables,n.lists=i.lists,n.broadcasts=i.broadcasts,[n.blocks,r]=O(e.blocks),n.comments=function(e){const t=Object.create(null);for(const n in e){if(!Object.prototype.hasOwnProperty.call(e,n))continue;const r=e[n],i=Object.create(null);i.blockId=r.blockId,i.x=r.x,i.y=r.y,i.width=r.width,i.height=r.height,i.minimized=r.minimized,r.text.length>T?(i.text=r.text.substring(0,T),i.extraText=r.text.substring(T)):i.text=r.text,t[n]=i}return t}(e.comments),(e.currentCostume<0||e.currentCostume>=e.costumes.length)&&(c.warn("currentCostume property for target ".concat(e.name," is out of range")),e.currentCostume=d.clamp(e.currentCostume,0,e.costumes.length-1)),n.currentCostume=e.currentCostume,n.costumes=e.costumes.map(M),n.sounds=e.sounds.map(N),Object.prototype.hasOwnProperty.call(e,"volume")&&(n.volume=e.volume),Object.prototype.hasOwnProperty.call(e,"layerOrder")&&(n.layerOrder=e.layerOrder),n.isStage?(Object.prototype.hasOwnProperty.call(e,"tempo")&&(n.tempo=e.tempo),Object.prototype.hasOwnProperty.call(e,"videoTransparency")&&(n.videoTransparency=e.videoTransparency),Object.prototype.hasOwnProperty.call(e,"videoState")&&(n.videoState=e.videoState),Object.prototype.hasOwnProperty.call(e,"textToSpeechLanguage")&&(n.textToSpeechLanguage=e.textToSpeechLanguage)):(n.visible=e.visible,n.x=e.x,n.y=e.y,n.size=e.size,n.direction=e.direction,n.draggable=e.draggable,n.rotationStyle=e.rotationStyle),r.forEach((e=>{t.add(e)})),n},L=(e,t)=>{const n={};let r=!0;for(const[i,s]of Object.entries(e))t.has(i)&&null!=s&&(r=!1,n[i]=e[i]);return r?null:n},B=function(e,t,n,r){if(!Array.isArray(e))return e;const i=Object.create(null),o=u();switch(i.id=o,i.next=null,i.parent=t,i.shadow=n,i.inputs=Object.create(null),e[0]){case 4:i.opcode="math_number",i.fields={NUM:{name:"NUM",value:e[1]}},i.topLevel=!1;break;case 5:i.opcode="math_positive_number",i.fields={NUM:{name:"NUM",value:e[1]}},i.topLevel=!1;break;case 6:i.opcode="math_whole_number",i.fields={NUM:{name:"NUM",value:e[1]}},i.topLevel=!1;break;case 7:i.opcode="math_integer",i.fields={NUM:{name:"NUM",value:e[1]}},i.topLevel=!1;break;case 8:i.opcode="math_angle",i.fields={NUM:{name:"NUM",value:e[1]}},i.topLevel=!1;break;case 9:i.opcode="colour_picker",i.fields={COLOUR:{name:"COLOUR",value:e[1]}},i.topLevel=!1;break;case 10:i.opcode="text",i.fields={TEXT:{name:"TEXT",value:e[1]}},i.topLevel=!1;break;case 11:i.opcode="event_broadcast_menu",i.fields={BROADCAST_OPTION:{name:"BROADCAST_OPTION",value:e[1],id:e[2],variableType:s.BROADCAST_MESSAGE_TYPE}},i.topLevel=!1;break;case w:i.opcode="data_variable",i.fields={VARIABLE:{name:"VARIABLE",value:e[1],id:e[2],variableType:s.SCALAR_TYPE}},e.length>3&&(i.topLevel=!0,i.x=e[3],i.y=e[4]);break;case k:i.opcode="data_listcontents",i.fields={LIST:{name:"LIST",value:e[1],id:e[2],variableType:s.LIST_TYPE}},e.length>3&&(i.topLevel=!0,i.x=e[3],i.y=e[4]);break;default:return c.error("Found unknown primitive type during deserialization: ".concat(JSON.stringify(e))),null}return r[o]=i,o},z=function(e,t,n){const r={};for(const i in e){if(!v.call(e,i))continue;const s=e[i];if(!Array.isArray(s))continue;let o=null,a=null;const l=s[0];1===l?o=a=B(s[1],t,!0,n):2===l?o=B(s[1],t,!1,n):(o=B(s[1],t,!1,n),a=B(s[2],t,!0,n)),r[i]={name:i,block:o,shadow:a}}return r},U=function(e){const t={};for(const n in e){if(!v.call(e,n))continue;const r=e[n];Array.isArray(r)&&(t[n]={name:n,value:r[0]},r.length>1&&(t[n].id=r[1]),"BROADCAST_OPTION"===n?t[n].variableType=s.BROADCAST_MESSAGE_TYPE:"VARIABLE"===n?t[n].variableType=s.SCALAR_TYPE:"LIST"===n&&(t[n].variableType=s.LIST_TYPE))}return t},j=function(e){for(const t in e){if(!Object.prototype.hasOwnProperty.call(e,t))continue;const n=e[t];Array.isArray(n)?(delete e[t],B(n,null,!1,e)):(n.id=t,n.inputs=z(n.inputs,t,e),n.fields=U(n.fields))}return e};e.exports={serialize:function(e,t){let{allowOptimization:n=!0}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const r=Object.create(null),i=new Set,s=t?[e.getTargetById(t)]:e.targets.filter((e=>e.isOriginal)),o=function(e){const t=e.map((e=>e.getLayerOrder()));return d.reducedSortOrdering(t)}(s),a=s.map((e=>e.toJSON()));e.renderer&&!t&&a.forEach(((e,t)=>{e.layerOrder=o[t]}));const l=a.map((e=>P(e,i))).map(((e,t)=>{const n=s[t],r=L(n.extensionStorage,i);return r&&(e.extensionStorage=r),e})),c=e.fontManager.serializeJSON();if(t){const t=l[0];i.size&&(t.extensions=Array.from(i));const n=I(i,e);return n&&(t.extensionURLs=n),c&&(t.customFonts=c),l[0]}const u=L(e.extensionStorage,i);u&&(r.extensionStorage=u),r.targets=l,r.monitors=function(e,t,n){const r=(t.stageWidth-480)/2,i=(t.stageHeight-360)/2;return e.valueSeq().filter((e=>{const t=C(e.opcode);return!t||!!e.visible&&(n.add(t),!0)})).map((e=>{const t={id:e.id,mode:e.mode,opcode:e.opcode,params:e.params,spriteName:e.spriteName,value:Array.isArray(e.value)?[]:0,width:e.width,height:e.height,x:e.x-r,y:e.y-i,visible:e.visible};return"list"!==e.mode&&(t.sliderMin=e.sliderMin,t.sliderMax=e.sliderMax,t.isDiscrete=e.isDiscrete),t})).toArray()}(e.getMonitorState(),e,i),r.extensions=Array.from(i);const h=I(i,e);h&&(r.extensionURLs=h),c&&(r.customFonts=c);const p=Object.create(null);return p.semver="3.0.0",p.vm="0.2.0",e.origin&&(p.origin=e.origin),p.agent="",r.meta=p,n&&m(r),r},deserialize:function(e,t,n,u){const m={extensionIDs:new Set,extensionURLs:new Map};if(e.meta&&e.meta.origin?t.origin=e.meta.origin:t.origin=null,e.extensionURLs)for(const[t,n]of Object.entries(e.extensionURLs))m.extensionURLs.set(t,n);let v;v=e.customFonts?t.fontManager.deserialize(e.customFonts,n,u):Promise.resolve();const S=((u?[e]:e.targets)||[]).map(((e,t)=>Object.assign(e,{targetPaneOrder:t}))).sort(((e,t)=>e.layerOrder-t.layerOrder)),w=e.monitors||[];return v.then((()=>S.map((e=>function(e,t,n){if(!Object.prototype.hasOwnProperty.call(e,"name"))return Promise.resolve(null);const r={costumePromises:null,soundPromises:null,soundBank:t.audioEngine&&t.audioEngine.createBank()};return r.costumePromises=(e.costumes||[]).map((e=>{const r={asset:e.asset,assetId:e.assetId,skinId:null,name:e.name,bitmapResolution:e.bitmapResolution,rotationCenterX:e.rotationCenterX,rotationCenterY:e.rotationCenterY},i=e.dataFormat||e.assetType&&e.assetType.runtimeFormat||"png",s=Object.prototype.hasOwnProperty.call(e,"md5ext")?e.md5ext:"".concat(e.assetId,".").concat(i);return r.md5=s,r.dataFormat=i,t.wrapAssetRequest(y(r,t,n).then((()=>f(s,r,t))))})),r.soundPromises=(e.sounds||[]).map((e=>{const i={assetId:e.assetId,format:e.format,rate:e.rate,sampleCount:e.sampleCount,name:e.name,md5:e.md5ext,dataFormat:e.dataFormat,data:null};return t.wrapAssetRequest(b(i,t,n).then((()=>g(i,t,r.soundBank))))})),r}(e,t,n))))).then((e=>Promise.resolve(e))).then((e=>Promise.all(S.map(((n,a)=>function(e,t,n,a,c){if(!Object.prototype.hasOwnProperty.call(e,"name"))return Promise.resolve(null);const u=new r(t),h=new i(u,t);if(Object.prototype.hasOwnProperty.call(e,"name")&&(h.name=e.name),Object.prototype.hasOwnProperty.call(e,"blocks")){j(e.blocks);for(const t in e.blocks){if(!Object.prototype.hasOwnProperty.call(e.blocks,t))continue;const r=e.blocks[t];u.createBlock(r);const i=C(r.opcode);i&&n.extensionIDs.add(i)}}const{costumePromises:p}=c,{soundBank:m,soundPromises:f}=c,g=h.createClone(e.isStage?l.BACKGROUND_LAYER:l.SPRITE_LAYER);if(Object.prototype.hasOwnProperty.call(e,"tempo")&&(g.tempo=e.tempo),Object.prototype.hasOwnProperty.call(e,"volume")&&(g.volume=e.volume),Object.prototype.hasOwnProperty.call(e,"videoTransparency")&&(g.videoTransparency=e.videoTransparency),Object.prototype.hasOwnProperty.call(e,"videoState")&&(g.videoState=e.videoState),Object.prototype.hasOwnProperty.call(e,"textToSpeechLanguage")&&(g.textToSpeechLanguage=e.textToSpeechLanguage),Object.prototype.hasOwnProperty.call(e,"variables"))for(const n in e.variables){const r=e.variables[n],i=3===r.length&&r[2]&&e.isStage&&t.canAddCloudVariable(),o=new s(n,r[0],s.SCALAR_TYPE,i);i&&t.addCloudVariable(),o.value=r[1],g.variables[o.id]=o}if(Object.prototype.hasOwnProperty.call(e,"lists"))for(const t in e.lists){const n=e.lists[t],r=new s(t,n[0],s.LIST_TYPE,!1);r.value=n[1],g.variables[r.id]=r}if(Object.prototype.hasOwnProperty.call(e,"broadcasts"))for(const t in e.broadcasts){const n=e.broadcasts[t],r=new s(t,n,s.BROADCAST_MESSAGE_TYPE,!1);g.variables[r.id]=r}if(Object.prototype.hasOwnProperty.call(e,"comments"))for(const t in e.comments){const n=e.comments[t],r=new o(t,n.text+("string"==typeof n.extraText?n.extraText:""),n.x,n.y,n.width,n.height,n.minimized);n.blockId&&(r.blockId=n.blockId),g.comments[r.id]=r}return Object.prototype.hasOwnProperty.call(e,"x")&&(g.x=e.x),Object.prototype.hasOwnProperty.call(e,"y")&&(g.y=e.y),Object.prototype.hasOwnProperty.call(e,"direction")&&(g.direction=d.wrapClamp(e.direction,-179,180)),Object.prototype.hasOwnProperty.call(e,"size")&&(g.size=e.size),Object.prototype.hasOwnProperty.call(e,"visible")&&(g.visible=e.visible),Object.prototype.hasOwnProperty.call(e,"currentCostume")&&(g.currentCostume=d.clamp(e.currentCostume,0,e.costumes.length-1)),Object.prototype.hasOwnProperty.call(e,"rotationStyle")&&(g.rotationStyle=e.rotationStyle),Object.prototype.hasOwnProperty.call(e,"isStage")&&(g.isStage=e.isStage),Object.prototype.hasOwnProperty.call(e,"targetPaneOrder")&&(g.targetPaneOrder=e.targetPaneOrder),Object.prototype.hasOwnProperty.call(e,"draggable")&&(g.draggable=e.draggable),Object.prototype.hasOwnProperty.call(e,"extensionStorage")&&(g.extensionStorage=e.extensionStorage),Promise.all(p).then((e=>{h.costumes=e})),Promise.all(f).then((e=>{h.sounds=e,h.soundBank=m||null})),Promise.all(p.concat(f)).then((()=>g))}(n,t,m,0,e[a])))))).then((e=>e.map(((e,t)=>(e.layerOrder=t,e))).sort(((e,t)=>e.targetPaneOrder-t.targetPaneOrder)).map((e=>(delete e.targetPaneOrder,e))))).then((e=>function(e){const t=p.getAllVarRefsForTargets(e,!0);e.forEach((e=>{Object.keys(e.variables).forEach((t=>{const n=h.replaceUnsafeChars(t);n!==t&&(e.variables[t].id=n,e.variables[n]=e.variables[t],delete e.variables[t])}))}));for(const e in t){const n=h.replaceUnsafeChars(e);e!==n&&p.updateVariableIdentifiers(t[e],n)}return e}(e))).then((n=>(w.map((e=>function(e,t,n,r){const i=(t.stageWidth-480)/2,o=(t.stageHeight-360)/2;if(e.x+=i,e.y+=o,e.x=d.clamp(e.x,0,t.stageWidth),e.y=d.clamp(e.y,0,t.stageHeight),e.spriteName){const t=n.filter((t=>t.sprite.name===e.spriteName));t&&t.length>0?e.targetId=t[0].id:c.warn("Tried to deserialize sprite specific monitor ".concat(e.opcode," but could not find sprite ").concat(e.spriteName,"."))}const l=t.monitorBlockInfo[e.opcode];if("data_listcontents"===e.opcode){const t=e.targetId?n.find((t=>t.id===e.targetId)):n.find((e=>e.isStage));t&&Object.prototype.hasOwnProperty.call(t.variables,e.id)&&(e.params.LIST=t.variables[e.id].name)}const u={};for(const t in e.params){const n={name:t,value:e.params[t]};u[t]=n}"data_variable"!==e.opcode&&"data_listcontents"!==e.opcode&&l&&l.isSpriteSpecific?e.id=l.getId(e.targetId,u):e.id=h.replaceUnsafeChars(e.id);const p=t.monitorBlocks._blocks[e.id];if(p)p.isMonitored=e.visible,p.targetId=e.targetId;else{const n={id:e.id,opcode:e.opcode,inputs:{},fields:u,topLevel:!0,next:null,parent:null,shadow:!1,x:0,y:0,isMonitored:e.visible,targetId:e.targetId};if("data_variable"===e.opcode){const t=n.fields.VARIABLE;t.id=e.id,t.variableType=s.SCALAR_TYPE}else if("data_listcontents"===e.opcode){const t=n.fields.LIST;t.id=e.id,t.variableType=s.LIST_TYPE}t.monitorBlocks.createBlock(n);const i=C(n.opcode);i&&r.extensionIDs.add(i)}t.requestAddMonitor(a(e))}(e,t,n,m))),Object.prototype.hasOwnProperty.call(e,"extensionStorage")&&(t.extensionStorage=e.extensionStorage),n))).then((e=>({targets:e,extensions:m})))},deserializeBlocks:j,serializeBlocks:O,deserializeStandaloneBlocks:e=>{if((e=JSON.parse(JSON.stringify(e))).extensionURLs){const t=new Map;for(const[n,r]of Object.entries(e.extensionURLs))t.set(n,r);return{blocks:e.blocks,extensionURLs:t}}return{blocks:e,extensionURLs:new Map}},serializeStandaloneBlocks:(e,t)=>{const n=new Set;for(const t of e){const e=C(t.opcode);e&&n.add(e)}const r=I(n,t);return r?{blocks:e,extensionURLs:r}:e},getExtensionIdForOpcode:C}},function(e,t,n){const r=n(11),i=n(38),s=n(394);e.exports=class{constructor(e,t){this._renderer=t,this._id=e,this._rotationCenter=r.v3.create(0,0),this._texture=null,this._uniforms={u_skinSize:[0,0],u_skin:null},this._silhouette=new s,this.private=!1}dispose(){this._id=i.ID_NONE}get id(){return this._id}get rotationCenter(){return this._rotationCenter}get size(){return[0,0]}useNearest(e,t){return!0}calculateRotationCenter(){return[this.size[0]/2,this.size[1]/2]}getTexture(e){return this._emptyImageTexture}getFenceBounds(e,t){return e.getAABB(t)}getUniforms(e){return this._uniforms.u_skin=this.getTexture(e),this._uniforms.u_skinSize=this.size,this._uniforms}emitWasAltered(){this._renderer.skinWasAltered(this)}updateSilhouette(){this._silhouette.unlazy()}_setTexture(e){const t=this._renderer.gl;t.bindTexture(t.TEXTURE_2D,this._texture),t.pixelStorei(t.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!0),t.texImage2D(t.TEXTURE_2D,0,t.RGBA,t.RGBA,t.UNSIGNED_BYTE,e),t.pixelStorei(t.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1),this._silhouette.update(e)}setEmptyImageData(){if(this._texture=null,!this._emptyImageData){this._emptyImageData=new ImageData(1,1);const e=this._renderer.gl,t={auto:!0,wrap:e.CLAMP_TO_EDGE,src:this._emptyImageData};this._emptyImageTexture=r.createTexture(e,t)}this._rotationCenter[0]=0,this._rotationCenter[1]=0,this._silhouette.update(this._emptyImageData),this.emitWasAltered()}isTouchingNearest(e){return this._silhouette.isTouchingNearest(e)}isTouchingLinear(e){return this._silhouette.isTouchingLinear(e)}}},function(e,t,n){const r=n(11);class i{constructor(e){this._gl=e,this._shaderCache={};for(const e in i.DRAW_MODE)Object.prototype.hasOwnProperty.call(i.DRAW_MODE,e)&&(this._shaderCache[e]=[])}getShader(e,t){const n=this._shaderCache[e];e===i.DRAW_MODE.silhouette&&(t&=~(i.EFFECT_INFO.color.mask|i.EFFECT_INFO.brightness.mask));let r=n[t];return r||(r=n[t]=this._buildShader(e,t)),r}_buildShader(e,t){const s=i.EFFECTS.length,o=["#define DRAW_MODE_".concat(e)];for(let e=0;e<s;++e)t&1<<e&&o.push("#define ENABLE_".concat(i.EFFECTS[e]));const a="".concat(o.join("\n"),"\n"),l=a+n(397),c=a+n(398);return r.createProgramInfo(this._gl,[l,c])}}i.EFFECT_INFO={color:{uniformName:"u_color",mask:1,converter:e=>e/200%1,shapeChanges:!1},fisheye:{uniformName:"u_fisheye",mask:2,converter:e=>Math.max(0,(e+100)/100),shapeChanges:!0},whirl:{uniformName:"u_whirl",mask:4,converter:e=>-e*Math.PI/180,shapeChanges:!0},pixelate:{uniformName:"u_pixelate",mask:8,converter:e=>Math.abs(e)/10,shapeChanges:!0},mosaic:{uniformName:"u_mosaic",mask:16,converter:e=>(e=Math.round((Math.abs(e)+10)/10),Math.max(1,Math.min(e,512))),shapeChanges:!0},brightness:{uniformName:"u_brightness",mask:32,converter:e=>Math.max(-100,Math.min(e,100))/100,shapeChanges:!1},ghost:{uniformName:"u_ghost",mask:64,converter:e=>1-Math.max(0,Math.min(e,100))/100,shapeChanges:!1}},i.EFFECTS=Object.keys(i.EFFECT_INFO),i.DRAW_MODE={default:"default",straightAlpha:"straightAlpha",silhouette:"silhouette",colorMask:"colorMask",line:"line",background:"background"},e.exports=i},function(e,t,n){const r=n(69);e.exports=class extends r{constructor(e,t,n,r){let i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null;super(),this._socket=e.getScratchLinkSocket("BLE"),this._socket.setOnOpen(this.requestPeripheral.bind(this)),this._socket.setOnClose(this.handleDisconnectError.bind(this)),this._socket.setOnError(this._handleRequestError.bind(this)),this._socket.setHandleMessage(this._handleMessage.bind(this)),this._sendMessage=this._socket.sendMessage.bind(this._socket),this._availablePeripherals={},this._connectCallback=r,this._connected=!1,this._characteristicDidChangeCallback=null,this._resetCallback=i,this._discoverTimeoutID=null,this._extensionId=t,this._peripheralOptions=n,this._runtime=e,this._socket.open()}requestPeripheral(){this._availablePeripherals={},this._discoverTimeoutID&&window.clearTimeout(this._discoverTimeoutID),this._discoverTimeoutID=window.setTimeout(this._handleDiscoverTimeout.bind(this),15e3),this.sendRemoteRequest("discover",this._peripheralOptions).catch((e=>{this._handleRequestError(e)}))}connectPeripheral(e){this.sendRemoteRequest("connect",{peripheralId:e}).then((()=>{this._connected=!0,this._runtime.emit(this._runtime.constructor.PERIPHERAL_CONNECTED),this._connectCallback()})).catch((e=>{this._handleRequestError(e)}))}disconnect(){this._connected&&(this._connected=!1),this._socket.isOpen()&&this._socket.close(),this._discoverTimeoutID&&window.clearTimeout(this._discoverTimeoutID),this._runtime.emit(this._runtime.constructor.PERIPHERAL_DISCONNECTED)}isConnected(){return this._connected}startNotifications(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;const r={serviceId:e,characteristicId:t};return this._characteristicDidChangeCallback=n,this.sendRemoteRequest("startNotifications",r).catch((e=>{this.handleDisconnectError(e)}))}read(e,t){let n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null;const r={serviceId:e,characteristicId:t};return arguments.length>2&&void 0!==arguments[2]&&arguments[2]&&(r.startNotifications=!0),n&&(this._characteristicDidChangeCallback=n),this.sendRemoteRequest("read",r).catch((e=>{this.handleDisconnectError(e)}))}write(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null;const s={serviceId:e,characteristicId:t,message:n};return r&&(s.encoding=r),null!==i&&(s.withResponse=i),this.sendRemoteRequest("write",s).catch((e=>{this.handleDisconnectError(e)}))}didReceiveCall(e,t){switch(e){case"didDiscoverPeripheral":this._availablePeripherals[t.peripheralId]=t,this._runtime.emit(this._runtime.constructor.PERIPHERAL_LIST_UPDATE,this._availablePeripherals),this._discoverTimeoutID&&window.clearTimeout(this._discoverTimeoutID);break;case"userDidPickPeripheral":this._availablePeripherals[t.peripheralId]=t,this._runtime.emit(this._runtime.constructor.USER_PICKED_PERIPHERAL,this._availablePeripherals),this._discoverTimeoutID&&window.clearTimeout(this._discoverTimeoutID);break;case"userDidNotPickPeripheral":this._runtime.emit(this._runtime.constructor.PERIPHERAL_SCAN_TIMEOUT),this._discoverTimeoutID&&window.clearTimeout(this._discoverTimeoutID);break;case"characteristicDidChange":this._characteristicDidChangeCallback&&this._characteristicDidChangeCallback(t.message);break;case"ping":return 42}}handleDisconnectError(){this._connected&&(this.disconnect(),this._resetCallback&&this._resetCallback(),this._runtime.emit(this._runtime.constructor.PERIPHERAL_CONNECTION_LOST_ERROR,{message:"Scratch lost connection to",extensionId:this._extensionId}))}_handleRequestError(){this._runtime.emit(this._runtime.constructor.PERIPHERAL_REQUEST_ERROR,{message:"Scratch lost connection to",extensionId:this._extensionId})}_handleDiscoverTimeout(){this._discoverTimeoutID&&window.clearTimeout(this._discoverTimeoutID),this._runtime.emit(this._runtime.constructor.PERIPHERAL_SCAN_TIMEOUT)}}},function(e,t,n){const r=n(1);e.exports=function(e){if("string"!=typeof e){if(!Array.isArray(e))return r.error("Unexpected input recieved in replaceUnsafeChars"),e;e=String(e)}return e.replace(/[<>&'"]/g,(e=>{switch(e){case"<":return"<";case">":return">";case"&":return"&";case"'":return"'";case'"':return"""}}))}},function(e,t,n){const r=n(7),i=n(1),s=function(e,t,n,r){return e.assetId=t.assetId,n.audioEngine?n.audioEngine.decodeSoundPlayer(Object.assign({},e,{data:t.data})).then((t=>{e.soundId=t.id;const i=t.buffer;return e.rate=i.sampleRate,e.sampleCount=i.length,null!==r&&r.addSoundPlayer(t),n.isPackaged&&(e.asset=null),e})):(i.warn("No audio engine present; cannot load sound asset: ",e.md5),Promise.resolve(e))},o=function(e,t,n){const r=e.asset,i=e.assetId,o=e.sampleCount,a=e.rate,l=e.format,c=e.dataFormat;return e.assetId=t.storage.defaultAssetId.Sound,e.asset=t.storage.get(e.assetId),e.md5="".concat(e.assetId,".").concat(e.asset.dataFormat),s(e,e.asset,t,n).then((e=>(e.broken={},e.broken.assetId=i,e.broken.md5="".concat(i,".").concat(c),e.broken.asset=r,e.broken.sampleCount=o,e.broken.rate=a,e.broken.format=l,e.broken.dataFormat=c,e)))};e.exports={loadSound:function(e,t,n){if(!t.storage)return i.warn("No storage module present; cannot load sound asset: ",e.md5),Promise.resolve(e);const a=r.splitFirst(e.md5,"."),l=a[0],c=a[1].toLowerCase();return e.dataFormat=c,(e.asset&&Promise.resolve(e.asset)||t.storage.load(t.storage.AssetType.Sound,l,c)).then((r=>(e.asset=r,r?s(e,r,t,n):(i.warn("Failed to find sound data: ",e.md5),o(e,t,n))))).catch((r=>(i.warn("Failed to load sound: ".concat(e.md5," with error: ").concat(r)),o(e,t,n))))},loadSoundFromAsset:s}},function(e,t,n){const r=n(7),i=n(1),s=n(83),{loadSvgString:o,serializeSvgToString:a}=n(35),{parseVectorMetadata:l}=n(103),c=function(e,t,n,r){return new Promise((i=>{let s=e.asset.decodeText();if(void 0===n){const t=l(s);t&&(n=t,e.rotationCenterX=n[0],e.rotationCenterY=n[1])}if(r&&2===r){const n=a(o(s,!0));if(s!==n){s=n;const r=t.storage;e.asset.encodeTextData(n,r.DataFormat.SVG,!0),e.assetId=e.asset.assetId,e.md5="".concat(e.assetId,".").concat(e.dataFormat)}}e.skinId=t.renderer.createSVGSkin(s,n),e.size=t.renderer.getSkinSize(e.skinId),n||(n=t.renderer.getSkinRotationCenter(e.skinId),e.rotationCenterX=n[0],e.rotationCenterY=n[1],e.bitmapResolution=1),t.isPackaged&&(e.asset=null),i(e)}))},u=new class{constructor(){this.pool=[],this.clearSoon=null}clear(){this.clearSoon||(this.clearSoon=new Promise((e=>setTimeout(e,1e3))).then((()=>{this.pool.length=0,this.clearSoon=null})))}create(){return this.pool.pop()||document.createElement("canvas")}release(e){this.clear(),this.pool.push(e)}},d=e=>new Promise(((t,n)=>{const r=new Image;r.onload=function(){t(r),r.onload=null,r.onerror=null},r.onerror=function(){n(new Error("Costume load failed. Asset could not be read.")),r.onload=null,r.onerror=null},r.src=e})),h=new s((async e=>{let t;for(let n=0;n<3;n++)try{if("function"==typeof createImageBitmap){const t=await createImageBitmap(new Blob([e.data.buffer],{type:e.assetType.contentType}));if(!t)throw new Error("createImageBitmap resolved with ".concat(t));return t}return await d(e.encodeDataURI())}catch(e){t||(t=e),i.warn(e),await new Promise((e=>setTimeout(e,2e3*Math.random())))}throw t}),25),p=function(e,t,n){return function(e,t,n){return e&&e.asset?t.v2BitmapAdapter?Promise.all([e.asset,e.textLayerAsset].map((e=>e?h.do(e):null))).then((r=>{let[i,s]=r;if(!i)throw new Error("Loading bitmap costume base failed.");const o=1===e.bitmapResolution?2:1;let a,l;if(s){l=u.create(),l.width=i.width,l.height=i.height;const e=l.getContext("2d");e.drawImage(i,0,0),e.drawImage(s,0,0),a=l}else a=i;return 1!==o&&(a=t.v2BitmapAdapter.resize(a,a.width*o,a.height*o),l&&u.release(l)),a.reusable=!1,n&&(n[0]=n[0]*o,n[1]=n[1]*o,e.rotationCenterX=n[0],e.rotationCenterY=n[1]),e.bitmapResolution=2,delete e.textLayerMD5,delete e.textLayerAsset,{image:a,rotationCenter:n,assetMatchesBase:1===o&&!s}})).finally((()=>{delete e.textLayerMD5,delete e.textLayerAsset})):Promise.reject("No V2 Bitmap adapter present."):Promise.reject("Costume load failed. Assets were missing.")}(e,t,n).then((n=>(n.assetMatchesBase||function(n){if(!t.v2BitmapAdapter)return Promise.reject("No V2 Bitmap adapter present.");const r=t.storage;e.asset=r.createAsset(r.AssetType.ImageBitmap,r.DataFormat.PNG,t.v2BitmapAdapter.convertDataURIToBinary(n),null,!0),e.dataFormat=r.DataFormat.PNG,e.assetId=e.asset.assetId,e.md5="".concat(e.assetId,".").concat(e.dataFormat)}((e=>{if(e instanceof HTMLCanvasElement)return e.toDataURL();const t=u.create();t.width=e.width,t.height=e.height,t.getContext("2d").drawImage(e,0,0);const n=t.toDataURL();return u.release(t),n})(n.image)),n))).then((n=>{let r,{image:i,rotationCenter:s}=n;s&&(r=[s[0]/2,s[1]/2]),e.skinId=t.renderer.createBitmapSkin(i,e.bitmapResolution,r);const o=t.renderer.getSkinSize(e.skinId);return e.size=[2*o[0],2*o[1]],s||(s=t.renderer.getSkinRotationCenter(e.skinId),e.rotationCenterX=2*s[0],e.rotationCenterY=2*s[1],e.bitmapResolution=2),t.isPackaged&&(e.asset=null),e}))},m=function(e,t){const n=e.asset,r=e.assetId,i=e.rotationCenterX,s=e.rotationCenterY,o=e.bitmapResolution,a=e.dataFormat,l=t.storage.AssetType,u=e.dataFormat===l.ImageVector.runtimeFormat;e.assetId=u?t.storage.defaultAssetId.ImageVector:t.storage.defaultAssetId.ImageBitmap,e.asset=t.storage.get(e.assetId),e.md5="".concat(e.assetId,".").concat(e.asset.dataFormat);return(u?c(e,t):p(e,t)).then((e=>(e.broken={},e.broken.assetId=r,e.broken.md5="".concat(r,".").concat(a),e.broken.asset=n,e.broken.dataFormat=a,e.broken.rotationCenterX=i,e.broken.rotationCenterY=s,e.broken.bitmapResolution=o,e)))},f=function(e,t,n){e.assetId=e.asset.assetId;if(!t.renderer)return i.warn("No rendering module present; cannot load costume: ",e.name),Promise.resolve(e);const r=t.storage.AssetType;let s;return"number"!=typeof e.rotationCenterX||isNaN(e.rotationCenterX)||"number"!=typeof e.rotationCenterY||isNaN(e.rotationCenterY)||(s=[e.rotationCenterX,e.rotationCenterY]),e.asset.assetType.runtimeFormat===r.ImageVector.runtimeFormat?c(e,t,s,n).catch((n=>(i.warn("Error loading vector image: ".concat(n)),m(e,t)))):p(e,t,s).catch((n=>(i.warn("Error loading bitmap image: ".concat(n)),m(e,t))))};e.exports={loadCostume:function(e,t,n,s){const o=r.splitFirst(e,"."),a=o[0],l=o[1].toLowerCase();if(t.dataFormat=l,t.asset)return f(t,n,s);if(!n.storage)return i.warn("No storage module present; cannot load costume asset: ",e),Promise.resolve(t);if(!n.storage.defaultAssetId)return i.warn("No default assets found"),Promise.resolve(t);const c=n.storage.AssetType,u="svg"===l?c.ImageVector:c.ImageBitmap,d=n.storage.load(u,a,l);let h;return h=t.textLayerMD5?n.storage.load(c.ImageBitmap,t.textLayerMD5,"png"):Promise.resolve(null),Promise.all([d,h]).then((e=>e[0]?(t.asset=e[0],e[1]&&(t.textLayerAsset=e[1]),f(t,n,s)):m(t,n))).catch((e=>(i.warn("Error loading costume: ",e),m(t,n))))},loadCostumeFromAsset:f}},function(e,t,n){const r=n(254),i=n(276),s=n(91),o=n(85),a=n(278),l=n(90),c=n(53),u=n(87);e.exports={BitmapAdapter:i,convertFonts:u,inlineSvgFonts:s,loadSvgString:o,sanitizeSvg:a,serializeSvgToString:l,SvgElement:c,SVGRenderer:r}},function(e,t,n){var r=n(37),i=r.TYPE,s=r.NAME,o=n(27).cmpStr,a=i.EOF,l=i.WhiteSpace,c=i.Comment,u=16777215,d=24,h=function(){this.offsetAndType=null,this.balance=null,this.reset()};h.prototype={reset:function(){this.eof=!1,this.tokenIndex=-1,this.tokenType=0,this.tokenStart=this.firstCharOffset,this.tokenEnd=this.firstCharOffset},lookupType:function(e){return(e+=this.tokenIndex)<this.tokenCount?this.offsetAndType[e]>>d:a},lookupOffset:function(e){return(e+=this.tokenIndex)<this.tokenCount?this.offsetAndType[e-1]&u:this.source.length},lookupValue:function(e,t){return(e+=this.tokenIndex)<this.tokenCount&&o(this.source,this.offsetAndType[e-1]&u,this.offsetAndType[e]&u,t)},getTokenStart:function(e){return e===this.tokenIndex?this.tokenStart:e>0?e<this.tokenCount?this.offsetAndType[e-1]&u:this.offsetAndType[this.tokenCount]&u:this.firstCharOffset},getRawLength:function(e,t){var n,r=e,i=this.offsetAndType[Math.max(r-1,0)]&u;e:for(;r<this.tokenCount&&!((n=this.balance[r])<e);r++)switch(t(this.offsetAndType[r]>>d,this.source,i)){case 1:break e;case 2:r++;break e;default:this.balance[n]===r&&(r=n),i=this.offsetAndType[r]&u}return r-this.tokenIndex},isBalanceEdge:function(e){return this.balance[this.tokenIndex]<e},isDelim:function(e,t){return t?this.lookupType(t)===i.Delim&&this.source.charCodeAt(this.lookupOffset(t))===e:this.tokenType===i.Delim&&this.source.charCodeAt(this.tokenStart)===e},getTokenValue:function(){return this.source.substring(this.tokenStart,this.tokenEnd)},getTokenLength:function(){return this.tokenEnd-this.tokenStart},substrToCursor:function(e){return this.source.substring(e,this.tokenStart)},skipWS:function(){for(var e=this.tokenIndex,t=0;e<this.tokenCount&&this.offsetAndType[e]>>d===l;e++,t++);t>0&&this.skip(t)},skipSC:function(){for(;this.tokenType===l||this.tokenType===c;)this.next()},skip:function(e){var t=this.tokenIndex+e;t<this.tokenCount?(this.tokenIndex=t,this.tokenStart=this.offsetAndType[t-1]&u,t=this.offsetAndType[t],this.tokenType=t>>d,this.tokenEnd=t&u):(this.tokenIndex=this.tokenCount,this.next())},next:function(){var e=this.tokenIndex+1;e<this.tokenCount?(this.tokenIndex=e,this.tokenStart=this.tokenEnd,e=this.offsetAndType[e],this.tokenType=e>>d,this.tokenEnd=e&u):(this.tokenIndex=this.tokenCount,this.eof=!0,this.tokenType=a,this.tokenStart=this.tokenEnd=this.source.length)},forEachToken(e){for(var t=0,n=this.firstCharOffset;t<this.tokenCount;t++){var r=n,i=this.offsetAndType[t],s=i&u;n=s,e(i>>d,r,s,t)}},dump(){var e=new Array(this.tokenCount);return this.forEachToken(((t,n,r,i)=>{e[i]={idx:i,type:s[t],chunk:this.source.substring(n,r),balance:this.balance[i]}})),e}},e.exports=h},function(e,t){var n={EOF:0,Ident:1,Function:2,AtKeyword:3,Hash:4,String:5,BadString:6,Url:7,BadUrl:8,Delim:9,Number:10,Percentage:11,Dimension:12,WhiteSpace:13,CDO:14,CDC:15,Colon:16,Semicolon:17,Comma:18,LeftSquareBracket:19,RightSquareBracket:20,LeftParenthesis:21,RightParenthesis:22,LeftCurlyBracket:23,RightCurlyBracket:24,Comment:25},r=Object.keys(n).reduce((function(e,t){return e[n[t]]=t,e}),{});e.exports={TYPE:n,NAME:r}},function(e,t){e.exports={ID_NONE:-1,Events:{UseHighQualityRenderChanged:"UseHighQualityRenderChanged",AllowPrivateSkinAccessChanged:"AllowPrivateSkinAccessChanged",NativeSizeChanged:"NativeSizeChanged"}}},function(e,t,n){const r=n(42);r.enable(),e.exports=r("scratch-audioengine")},function(module,exports,__webpack_require__){(function(process,global){var __WEBPACK_AMD_DEFINE_RESULT__;(function(){"use strict";var ERROR="input is invalid type",WINDOW="object"==typeof window,root=WINDOW?window:{};root.JS_MD5_NO_WINDOW&&(WINDOW=!1);var WEB_WORKER=!WINDOW&&"object"==typeof self,NODE_JS=!root.JS_MD5_NO_NODE_JS&&"object"==typeof process&&process.versions&&process.versions.node;NODE_JS?root=global:WEB_WORKER&&(root=self);var COMMON_JS=!root.JS_MD5_NO_COMMON_JS&&"object"==typeof module&&module.exports,AMD=__webpack_require__(384),ARRAY_BUFFER=!root.JS_MD5_NO_ARRAY_BUFFER&&"undefined"!=typeof ArrayBuffer,HEX_CHARS="0123456789abcdef".split(""),EXTRA=[128,32768,8388608,-2147483648],SHIFT=[0,8,16,24],OUTPUT_TYPES=["hex","array","digest","buffer","arrayBuffer","base64"],BASE64_ENCODE_CHAR="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split(""),blocks=[],buffer8;if(ARRAY_BUFFER){var buffer=new ArrayBuffer(68);buffer8=new Uint8Array(buffer),blocks=new Uint32Array(buffer)}!root.JS_MD5_NO_NODE_JS&&Array.isArray||(Array.isArray=function(e){return"[object Array]"===Object.prototype.toString.call(e)}),!ARRAY_BUFFER||!root.JS_MD5_NO_ARRAY_BUFFER_IS_VIEW&&ArrayBuffer.isView||(ArrayBuffer.isView=function(e){return"object"==typeof e&&e.buffer&&e.buffer.constructor===ArrayBuffer});var createOutputMethod=function(e){return function(t){return new Md5(!0).update(t)[e]()}},createMethod=function(){var e=createOutputMethod("hex");NODE_JS&&(e=nodeWrap(e)),e.create=function(){return new Md5},e.update=function(t){return e.create().update(t)};for(var t=0;t<OUTPUT_TYPES.length;++t){var n=OUTPUT_TYPES[t];e[n]=createOutputMethod(n)}return e},nodeWrap=function(method){var crypto=eval("require('crypto')"),Buffer=eval("require('buffer').Buffer"),nodeMethod=function(e){if("string"==typeof e)return crypto.createHash("md5").update(e,"utf8").digest("hex");if(null==e)throw ERROR;return e.constructor===ArrayBuffer&&(e=new Uint8Array(e)),Array.isArray(e)||ArrayBuffer.isView(e)||e.constructor===Buffer?crypto.createHash("md5").update(new Buffer(e)).digest("hex"):method(e)};return nodeMethod};function Md5(e){if(e)blocks[0]=blocks[16]=blocks[1]=blocks[2]=blocks[3]=blocks[4]=blocks[5]=blocks[6]=blocks[7]=blocks[8]=blocks[9]=blocks[10]=blocks[11]=blocks[12]=blocks[13]=blocks[14]=blocks[15]=0,this.blocks=blocks,this.buffer8=buffer8;else if(ARRAY_BUFFER){var t=new ArrayBuffer(68);this.buffer8=new Uint8Array(t),this.blocks=new Uint32Array(t)}else this.blocks=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];this.h0=this.h1=this.h2=this.h3=this.start=this.bytes=this.hBytes=0,this.finalized=this.hashed=!1,this.first=!0}Md5.prototype.update=function(e){if(!this.finalized){var t,n=typeof e;if("string"!==n){if("object"!==n)throw ERROR;if(null===e)throw ERROR;if(ARRAY_BUFFER&&e.constructor===ArrayBuffer)e=new Uint8Array(e);else if(!(Array.isArray(e)||ARRAY_BUFFER&&ArrayBuffer.isView(e)))throw ERROR;t=!0}for(var r,i,s=0,o=e.length,a=this.blocks,l=this.buffer8;s<o;){if(this.hashed&&(this.hashed=!1,a[0]=a[16],a[16]=a[1]=a[2]=a[3]=a[4]=a[5]=a[6]=a[7]=a[8]=a[9]=a[10]=a[11]=a[12]=a[13]=a[14]=a[15]=0),t)if(ARRAY_BUFFER)for(i=this.start;s<o&&i<64;++s)l[i++]=e[s];else for(i=this.start;s<o&&i<64;++s)a[i>>2]|=e[s]<<SHIFT[3&i++];else if(ARRAY_BUFFER)for(i=this.start;s<o&&i<64;++s)(r=e.charCodeAt(s))<128?l[i++]=r:r<2048?(l[i++]=192|r>>6,l[i++]=128|63&r):r<55296||r>=57344?(l[i++]=224|r>>12,l[i++]=128|r>>6&63,l[i++]=128|63&r):(r=65536+((1023&r)<<10|1023&e.charCodeAt(++s)),l[i++]=240|r>>18,l[i++]=128|r>>12&63,l[i++]=128|r>>6&63,l[i++]=128|63&r);else for(i=this.start;s<o&&i<64;++s)(r=e.charCodeAt(s))<128?a[i>>2]|=r<<SHIFT[3&i++]:r<2048?(a[i>>2]|=(192|r>>6)<<SHIFT[3&i++],a[i>>2]|=(128|63&r)<<SHIFT[3&i++]):r<55296||r>=57344?(a[i>>2]|=(224|r>>12)<<SHIFT[3&i++],a[i>>2]|=(128|r>>6&63)<<SHIFT[3&i++],a[i>>2]|=(128|63&r)<<SHIFT[3&i++]):(r=65536+((1023&r)<<10|1023&e.charCodeAt(++s)),a[i>>2]|=(240|r>>18)<<SHIFT[3&i++],a[i>>2]|=(128|r>>12&63)<<SHIFT[3&i++],a[i>>2]|=(128|r>>6&63)<<SHIFT[3&i++],a[i>>2]|=(128|63&r)<<SHIFT[3&i++]);this.lastByteIndex=i,this.bytes+=i-this.start,i>=64?(this.start=i-64,this.hash(),this.hashed=!0):this.start=i}return this.bytes>4294967295&&(this.hBytes+=this.bytes/4294967296|0,this.bytes=this.bytes%4294967296),this}},Md5.prototype.finalize=function(){if(!this.finalized){this.finalized=!0;var e=this.blocks,t=this.lastByteIndex;e[t>>2]|=EXTRA[3&t],t>=56&&(this.hashed||this.hash(),e[0]=e[16],e[16]=e[1]=e[2]=e[3]=e[4]=e[5]=e[6]=e[7]=e[8]=e[9]=e[10]=e[11]=e[12]=e[13]=e[14]=e[15]=0),e[14]=this.bytes<<3,e[15]=this.hBytes<<3|this.bytes>>>29,this.hash()}},Md5.prototype.hash=function(){var e,t,n,r,i,s,o=this.blocks;this.first?t=((t=((e=((e=o[0]-680876937)<<7|e>>>25)-271733879|0)^(n=((n=(-271733879^(r=((r=(-1732584194^2004318071&e)+o[1]-117830708)<<12|r>>>20)+e|0)&(-271733879^e))+o[2]-1126478375)<<17|n>>>15)+r|0)&(r^e))+o[3]-1316259209)<<22|t>>>10)+n|0:(e=this.h0,t=this.h1,n=this.h2,t=((t+=((e=((e+=((r=this.h3)^t&(n^r))+o[0]-680876936)<<7|e>>>25)+t|0)^(n=((n+=(t^(r=((r+=(n^e&(t^n))+o[1]-389564586)<<12|r>>>20)+e|0)&(e^t))+o[2]+606105819)<<17|n>>>15)+r|0)&(r^e))+o[3]-1044525330)<<22|t>>>10)+n|0),t=((t+=((e=((e+=(r^t&(n^r))+o[4]-176418897)<<7|e>>>25)+t|0)^(n=((n+=(t^(r=((r+=(n^e&(t^n))+o[5]+1200080426)<<12|r>>>20)+e|0)&(e^t))+o[6]-1473231341)<<17|n>>>15)+r|0)&(r^e))+o[7]-45705983)<<22|t>>>10)+n|0,t=((t+=((e=((e+=(r^t&(n^r))+o[8]+1770035416)<<7|e>>>25)+t|0)^(n=((n+=(t^(r=((r+=(n^e&(t^n))+o[9]-1958414417)<<12|r>>>20)+e|0)&(e^t))+o[10]-42063)<<17|n>>>15)+r|0)&(r^e))+o[11]-1990404162)<<22|t>>>10)+n|0,t=((t+=((e=((e+=(r^t&(n^r))+o[12]+1804603682)<<7|e>>>25)+t|0)^(n=((n+=(t^(r=((r+=(n^e&(t^n))+o[13]-40341101)<<12|r>>>20)+e|0)&(e^t))+o[14]-1502002290)<<17|n>>>15)+r|0)&(r^e))+o[15]+1236535329)<<22|t>>>10)+n|0,t=((t+=((r=((r+=(t^n&((e=((e+=(n^r&(t^n))+o[1]-165796510)<<5|e>>>27)+t|0)^t))+o[6]-1069501632)<<9|r>>>23)+e|0)^e&((n=((n+=(e^t&(r^e))+o[11]+643717713)<<14|n>>>18)+r|0)^r))+o[0]-373897302)<<20|t>>>12)+n|0,t=((t+=((r=((r+=(t^n&((e=((e+=(n^r&(t^n))+o[5]-701558691)<<5|e>>>27)+t|0)^t))+o[10]+38016083)<<9|r>>>23)+e|0)^e&((n=((n+=(e^t&(r^e))+o[15]-660478335)<<14|n>>>18)+r|0)^r))+o[4]-405537848)<<20|t>>>12)+n|0,t=((t+=((r=((r+=(t^n&((e=((e+=(n^r&(t^n))+o[9]+568446438)<<5|e>>>27)+t|0)^t))+o[14]-1019803690)<<9|r>>>23)+e|0)^e&((n=((n+=(e^t&(r^e))+o[3]-187363961)<<14|n>>>18)+r|0)^r))+o[8]+1163531501)<<20|t>>>12)+n|0,t=((t+=((r=((r+=(t^n&((e=((e+=(n^r&(t^n))+o[13]-1444681467)<<5|e>>>27)+t|0)^t))+o[2]-51403784)<<9|r>>>23)+e|0)^e&((n=((n+=(e^t&(r^e))+o[7]+1735328473)<<14|n>>>18)+r|0)^r))+o[12]-1926607734)<<20|t>>>12)+n|0,t=((t+=((s=(r=((r+=((i=t^n)^(e=((e+=(i^r)+o[5]-378558)<<4|e>>>28)+t|0))+o[8]-2022574463)<<11|r>>>21)+e|0)^e)^(n=((n+=(s^t)+o[11]+1839030562)<<16|n>>>16)+r|0))+o[14]-35309556)<<23|t>>>9)+n|0,t=((t+=((s=(r=((r+=((i=t^n)^(e=((e+=(i^r)+o[1]-1530992060)<<4|e>>>28)+t|0))+o[4]+1272893353)<<11|r>>>21)+e|0)^e)^(n=((n+=(s^t)+o[7]-155497632)<<16|n>>>16)+r|0))+o[10]-1094730640)<<23|t>>>9)+n|0,t=((t+=((s=(r=((r+=((i=t^n)^(e=((e+=(i^r)+o[13]+681279174)<<4|e>>>28)+t|0))+o[0]-358537222)<<11|r>>>21)+e|0)^e)^(n=((n+=(s^t)+o[3]-722521979)<<16|n>>>16)+r|0))+o[6]+76029189)<<23|t>>>9)+n|0,t=((t+=((s=(r=((r+=((i=t^n)^(e=((e+=(i^r)+o[9]-640364487)<<4|e>>>28)+t|0))+o[12]-421815835)<<11|r>>>21)+e|0)^e)^(n=((n+=(s^t)+o[15]+530742520)<<16|n>>>16)+r|0))+o[2]-995338651)<<23|t>>>9)+n|0,t=((t+=((r=((r+=(t^((e=((e+=(n^(t|~r))+o[0]-198630844)<<6|e>>>26)+t|0)|~n))+o[7]+1126891415)<<10|r>>>22)+e|0)^((n=((n+=(e^(r|~t))+o[14]-1416354905)<<15|n>>>17)+r|0)|~e))+o[5]-57434055)<<21|t>>>11)+n|0,t=((t+=((r=((r+=(t^((e=((e+=(n^(t|~r))+o[12]+1700485571)<<6|e>>>26)+t|0)|~n))+o[3]-1894986606)<<10|r>>>22)+e|0)^((n=((n+=(e^(r|~t))+o[10]-1051523)<<15|n>>>17)+r|0)|~e))+o[1]-2054922799)<<21|t>>>11)+n|0,t=((t+=((r=((r+=(t^((e=((e+=(n^(t|~r))+o[8]+1873313359)<<6|e>>>26)+t|0)|~n))+o[15]-30611744)<<10|r>>>22)+e|0)^((n=((n+=(e^(r|~t))+o[6]-1560198380)<<15|n>>>17)+r|0)|~e))+o[13]+1309151649)<<21|t>>>11)+n|0,t=((t+=((r=((r+=(t^((e=((e+=(n^(t|~r))+o[4]-145523070)<<6|e>>>26)+t|0)|~n))+o[11]-1120210379)<<10|r>>>22)+e|0)^((n=((n+=(e^(r|~t))+o[2]+718787259)<<15|n>>>17)+r|0)|~e))+o[9]-343485551)<<21|t>>>11)+n|0,this.first?(this.h0=e+1732584193|0,this.h1=t-271733879|0,this.h2=n-1732584194|0,this.h3=r+271733878|0,this.first=!1):(this.h0=this.h0+e|0,this.h1=this.h1+t|0,this.h2=this.h2+n|0,this.h3=this.h3+r|0)},Md5.prototype.hex=function(){this.finalize();var e=this.h0,t=this.h1,n=this.h2,r=this.h3;return HEX_CHARS[e>>4&15]+HEX_CHARS[15&e]+HEX_CHARS[e>>12&15]+HEX_CHARS[e>>8&15]+HEX_CHARS[e>>20&15]+HEX_CHARS[e>>16&15]+HEX_CHARS[e>>28&15]+HEX_CHARS[e>>24&15]+HEX_CHARS[t>>4&15]+HEX_CHARS[15&t]+HEX_CHARS[t>>12&15]+HEX_CHARS[t>>8&15]+HEX_CHARS[t>>20&15]+HEX_CHARS[t>>16&15]+HEX_CHARS[t>>28&15]+HEX_CHARS[t>>24&15]+HEX_CHARS[n>>4&15]+HEX_CHARS[15&n]+HEX_CHARS[n>>12&15]+HEX_CHARS[n>>8&15]+HEX_CHARS[n>>20&15]+HEX_CHARS[n>>16&15]+HEX_CHARS[n>>28&15]+HEX_CHARS[n>>24&15]+HEX_CHARS[r>>4&15]+HEX_CHARS[15&r]+HEX_CHARS[r>>12&15]+HEX_CHARS[r>>8&15]+HEX_CHARS[r>>20&15]+HEX_CHARS[r>>16&15]+HEX_CHARS[r>>28&15]+HEX_CHARS[r>>24&15]},Md5.prototype.toString=Md5.prototype.hex,Md5.prototype.digest=function(){this.finalize();var e=this.h0,t=this.h1,n=this.h2,r=this.h3;return[255&e,e>>8&255,e>>16&255,e>>24&255,255&t,t>>8&255,t>>16&255,t>>24&255,255&n,n>>8&255,n>>16&255,n>>24&255,255&r,r>>8&255,r>>16&255,r>>24&255]},Md5.prototype.array=Md5.prototype.digest,Md5.prototype.arrayBuffer=function(){this.finalize();var e=new ArrayBuffer(16),t=new Uint32Array(e);return t[0]=this.h0,t[1]=this.h1,t[2]=this.h2,t[3]=this.h3,e},Md5.prototype.buffer=Md5.prototype.arrayBuffer,Md5.prototype.base64=function(){for(var e,t,n,r="",i=this.array(),s=0;s<15;)e=i[s++],t=i[s++],n=i[s++],r+=BASE64_ENCODE_CHAR[e>>>2]+BASE64_ENCODE_CHAR[63&(e<<4|t>>>4)]+BASE64_ENCODE_CHAR[63&(t<<2|n>>>6)]+BASE64_ENCODE_CHAR[63&n];return e=i[s],r+=BASE64_ENCODE_CHAR[e>>>2]+BASE64_ENCODE_CHAR[e<<4&63]+"=="};var exports=createMethod();COMMON_JS?module.exports=exports:(root.md5=exports,AMD&&(__WEBPACK_AMD_DEFINE_RESULT__=function(){return exports}.call(exports,__webpack_require__,exports,module),void 0===__WEBPACK_AMD_DEFINE_RESULT__||(module.exports=__WEBPACK_AMD_DEFINE_RESULT__)))})()}).call(this,__webpack_require__(41),__webpack_require__(9))},function(e,t){var n,r,i=e.exports={};function s(){throw new Error("setTimeout has not been defined")}function o(){throw new Error("clearTimeout has not been defined")}function a(e){if(n===setTimeout)return setTimeout(e,0);if((n===s||!n)&&setTimeout)return n=setTimeout,setTimeout(e,0);try{return n(e,0)}catch(t){try{return n.call(null,e,0)}catch(t){return n.call(this,e,0)}}}!function(){try{n="function"==typeof setTimeout?setTimeout:s}catch(e){n=s}try{r="function"==typeof clearTimeout?clearTimeout:o}catch(e){r=o}}();var l,c=[],u=!1,d=-1;function h(){u&&l&&(u=!1,l.length?c=l.concat(c):d=-1,c.length&&p())}function p(){if(!u){var e=a(h);u=!0;for(var t=c.length;t;){for(l=c,c=[];++d<t;)l&&l[d].run();d=-1,t=c.length}l=null,u=!1,function(e){if(r===clearTimeout)return clearTimeout(e);if((r===o||!r)&&clearTimeout)return r=clearTimeout,clearTimeout(e);try{return r(e)}catch(t){try{return r.call(null,e)}catch(t){return r.call(this,e)}}}(e)}}function m(e,t){this.fun=e,this.array=t}function f(){}i.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)t[n-1]=arguments[n];c.push(new m(e,t)),1!==c.length||u||a(p)},m.prototype.run=function(){this.fun.apply(null,this.array)},i.title="browser",i.browser=!0,i.env={},i.argv=[],i.version="",i.versions={},i.on=f,i.addListener=f,i.once=f,i.off=f,i.removeListener=f,i.removeAllListeners=f,i.emit=f,i.prependListener=f,i.prependOnceListener=f,i.listeners=function(e){return[]},i.binding=function(e){throw new Error("process.binding is not supported")},i.cwd=function(){return"/"},i.chdir=function(e){throw new Error("process.chdir is not supported")},i.umask=function(){return 0}},function(e,t){const n="undefined"==typeof document,r=n?"[0m":"",i=n?"[90m":"",s=`${n?"[34m":""}debug${r}`,o=`${n?"[36m":""}info${r}`,a=`${n?"[33m":""}warn${r}`,l=`${n?"[31m":""}error${r}`,c=(e="")=>{const t=t=>c(e?`${e} ${t}`:t),n=e?[`${i}${e}${r}`]:[];return t.debug=t.log=console.debug.bind(console,...n,s),t.info=console.log.bind(console,...n,o),t.warn=t.warning=console.warn.bind(console,...n,a),t.error=console.error.bind(console,...n,l),t};c.enable=c.disable=()=>{},e.exports=c},function(e,t){e.exports={SPRITE:"sprite",STAGE:"stage"}},function(e,t,n){const r=n(14);e.exports=class{constructor(e){this._maxTokens=e,this._refillInterval=1e3/e,this._count=this._maxTokens,this._timer=new r,this._timer.start(),this._lastUpdateTime=this._timer.timeElapsed()}okayToSend(){const e=this._timer.timeElapsed(),t=e-this._lastUpdateTime,n=Math.floor(t/this._refillInterval);return n>0&&(this._lastUpdateTime=e),this._count=Math.min(this._maxTokens,this._count+n),this._count>0&&(this._count--,!0)}}},function(e,t,n){(function(t){let n=t.fetch;e.exports={fetchWithTimeout:(e,t,r)=>{let i=null;const s=window.AbortController?new window.AbortController:null,o=s?s.signal:null;return Promise.race([n(e,Object.assign({signal:o},t)).then((e=>(clearTimeout(i),e)),(e=>{throw clearTimeout(i),e})),new Promise(((e,t)=>{i=setTimeout((()=>{s&&s.abort(),t(new Error("Fetch timed out after ".concat(r," ms")))}),r)}))])},setFetch:e=>{n=e}}}).call(this,n(9))},function(e,t,n){const{Record:r}=n(25),i=r({id:null,spriteName:null,targetId:null,opcode:null,value:null,params:null,mode:"default",sliderMin:0,sliderMax:100,isDiscrete:!0,x:null,y:null,width:0,height:0,visible:!0});e.exports=i},function(e,t){e.exports=function(e,t){let n="";for(const e in t){let r=t[e].value;"CURRENTMENU"===e&&(r=r.toLowerCase()),n+="_".concat(r)}return"".concat(e).concat(n)}},function(e,t,n){const r=n(2),i=n(7),s=n(3),o=n(10),a=n(1),{IntermediateScript:l,IntermediateRepresentation:c}=n(77),u=n(211),d="",h="list",p=(e,t)=>({scope:e,id:t.id,name:t.name,isCloud:t.isCloud}),m=e=>e.substring(1);class f{constructor(e){this.thread=e,this.target=e.target,this.blocks=e.blockContainer,this.runtime=this.target.runtime,this.stage=this.runtime.getTargetForStage(),this.script=new l,this.script.warpTimer=this.target.runtime.compilerOptions.warpTimer,this.variableCache={},this.usesTimer=!1}setProcedureVariant(e){const t=m(e);this.script.procedureCode=t,this.script.isProcedure=!0,this.script.yields=!1;const n=this.blocks.getProcedureParamNamesIdsAndDefaults(t);if(null===n)throw new Error("IR: cannot find procedure: ".concat(e));const[r,i,s]=n;this.script.arguments=r}enableWarp(){this.script.isWarp=!0}getBlockById(e){return this.blocks.getBlock(e)||this.blocks.runtime.flyoutBlocks.getBlock(e)}getBlockInfo(e){const[t,n]=i.splitFirst(e,"_");if(!t||!n)return null;const r=this.runtime._blockInfo.find((e=>e.id===t));if(!r)return null;const s=r.blocks.find((e=>e.info.opcode===n));return s||null}descendInputOfBlock(e,t){const n=e.inputs[t];if(!n)return a.warn("IR: ".concat(e.opcode,": missing input ").concat(t),e),{kind:"constant",value:0};const r=n.block,i=this.getBlockById(r);return i?this.descendInput(i):(a.warn("IR: ".concat(e.opcode,": could not find input ").concat(t," with ID ").concat(r)),{kind:"constant",value:0})}descendInput(e){switch(e.opcode){case"colour_picker":return{kind:"constant",value:e.fields.COLOUR.value};case"math_angle":case"math_integer":case"math_number":case"math_positive_number":case"math_whole_number":return{kind:"constant",value:e.fields.NUM.value};case"text":return{kind:"constant",value:e.fields.TEXT.value};case"argument_reporter_string_number":{const t=e.fields.VALUE.value,n=this.script.arguments.lastIndexOf(t);return-1===n&&"last key pressed"===t.toLowerCase()?{kind:"tw.lastKeyPressed"}:-1===n?{kind:"constant",value:0}:{kind:"args.stringNumber",index:n}}case"argument_reporter_boolean":{const t=e.fields.VALUE.value,n=this.script.arguments.lastIndexOf(t);return-1===n?"is compiled?"===t.toLowerCase()||"is turbowarp?"===t.toLowerCase()?{kind:"constant",value:!0}:{kind:"constant",value:0}:{kind:"args.boolean",index:n}}case"control_get_counter":return{kind:"counter.get"};case"data_variable":return{kind:"var.get",variable:this.descendVariable(e,"VARIABLE",d)};case"data_itemoflist":return{kind:"list.get",list:this.descendVariable(e,"LIST",h),index:this.descendInputOfBlock(e,"INDEX")};case"data_lengthoflist":return{kind:"list.length",list:this.descendVariable(e,"LIST",h)};case"data_listcontainsitem":return{kind:"list.contains",list:this.descendVariable(e,"LIST",h),item:this.descendInputOfBlock(e,"ITEM")};case"data_itemnumoflist":return{kind:"list.indexOf",list:this.descendVariable(e,"LIST",h),item:this.descendInputOfBlock(e,"ITEM")};case"data_listcontents":return{kind:"list.contents",list:this.descendVariable(e,"LIST",h)};case"event_broadcast_menu":{const t=e.fields.BROADCAST_OPTION,n=this.target.lookupBroadcastMsg(t.id,t.value);return{kind:"constant",value:n?n.name:""}}case"looks_backdropnumbername":return"number"===e.fields.NUMBER_NAME.value?{kind:"looks.backdropNumber"}:{kind:"looks.backdropName"};case"looks_costumenumbername":return"number"===e.fields.NUMBER_NAME.value?{kind:"looks.costumeNumber"}:{kind:"looks.costumeName"};case"looks_size":return{kind:"looks.size"};case"motion_direction":return{kind:"motion.direction"};case"motion_xposition":return{kind:"motion.x"};case"motion_yposition":return{kind:"motion.y"};case"operator_add":return{kind:"op.add",left:this.descendInputOfBlock(e,"NUM1"),right:this.descendInputOfBlock(e,"NUM2")};case"operator_and":return{kind:"op.and",left:this.descendInputOfBlock(e,"OPERAND1"),right:this.descendInputOfBlock(e,"OPERAND2")};case"operator_contains":return{kind:"op.contains",string:this.descendInputOfBlock(e,"STRING1"),contains:this.descendInputOfBlock(e,"STRING2")};case"operator_divide":return{kind:"op.divide",left:this.descendInputOfBlock(e,"NUM1"),right:this.descendInputOfBlock(e,"NUM2")};case"operator_equals":return{kind:"op.equals",left:this.descendInputOfBlock(e,"OPERAND1"),right:this.descendInputOfBlock(e,"OPERAND2")};case"operator_gt":return{kind:"op.greater",left:this.descendInputOfBlock(e,"OPERAND1"),right:this.descendInputOfBlock(e,"OPERAND2")};case"operator_join":return{kind:"op.join",left:this.descendInputOfBlock(e,"STRING1"),right:this.descendInputOfBlock(e,"STRING2")};case"operator_length":return{kind:"op.length",string:this.descendInputOfBlock(e,"STRING")};case"operator_letter_of":return{kind:"op.letterOf",letter:this.descendInputOfBlock(e,"LETTER"),string:this.descendInputOfBlock(e,"STRING")};case"operator_lt":return{kind:"op.less",left:this.descendInputOfBlock(e,"OPERAND1"),right:this.descendInputOfBlock(e,"OPERAND2")};case"operator_mathop":{const t=this.descendInputOfBlock(e,"NUM");switch(e.fields.OPERATOR.value.toLowerCase()){case"abs":return{kind:"op.abs",value:t};case"floor":return{kind:"op.floor",value:t};case"ceiling":return{kind:"op.ceiling",value:t};case"sqrt":return{kind:"op.sqrt",value:t};case"sin":return{kind:"op.sin",value:t};case"cos":return{kind:"op.cos",value:t};case"tan":return{kind:"op.tan",value:t};case"asin":return{kind:"op.asin",value:t};case"acos":return{kind:"op.acos",value:t};case"atan":return{kind:"op.atan",value:t};case"ln":return{kind:"op.ln",value:t};case"log":return{kind:"op.log",value:t};case"e ^":return{kind:"op.e^",value:t};case"10 ^":return{kind:"op.10^",value:t};default:return{kind:"constant",value:0}}}case"operator_mod":return{kind:"op.mod",left:this.descendInputOfBlock(e,"NUM1"),right:this.descendInputOfBlock(e,"NUM2")};case"operator_multiply":return{kind:"op.multiply",left:this.descendInputOfBlock(e,"NUM1"),right:this.descendInputOfBlock(e,"NUM2")};case"operator_not":return{kind:"op.not",operand:this.descendInputOfBlock(e,"OPERAND")};case"operator_or":return{kind:"op.or",left:this.descendInputOfBlock(e,"OPERAND1"),right:this.descendInputOfBlock(e,"OPERAND2")};case"operator_random":{const t=this.descendInputOfBlock(e,"FROM"),n=this.descendInputOfBlock(e,"TO");if("constant"===t.kind&&"constant"===n.kind){const e=t.value,i=n.value,s=r.toNumber(e),o=r.toNumber(i);return s===o?{kind:"constant",value:s}:r.isInt(e)&&r.isInt(i)?{kind:"op.random",low:s<=o?t:n,high:s<=o?n:t,useInts:!0,useFloats:!1}:{kind:"op.random",low:s<=o?t:n,high:s<=o?n:t,useInts:!1,useFloats:!0}}if("constant"===t.kind){if(!r.isInt(r.toNumber(t.value)))return{kind:"op.random",low:t,high:n,useInts:!1,useFloats:!0}}else if("constant"===n.kind&&!r.isInt(r.toNumber(n.value)))return{kind:"op.random",low:t,high:n,useInts:!1,useFloats:!0};return{kind:"op.random",low:t,high:n,useInts:!1,useFloats:!1}}case"operator_round":return{kind:"op.round",value:this.descendInputOfBlock(e,"NUM")};case"operator_subtract":return{kind:"op.subtract",left:this.descendInputOfBlock(e,"NUM1"),right:this.descendInputOfBlock(e,"NUM2")};case"procedures_call":return this.descendProcedure(e);case"sensing_answer":return{kind:"sensing.answer"};case"sensing_coloristouchingcolor":return{kind:"sensing.colorTouchingColor",target:this.descendInputOfBlock(e,"COLOR2"),mask:this.descendInputOfBlock(e,"COLOR")};case"sensing_current":switch(e.fields.CURRENTMENU.value.toLowerCase()){case"year":return{kind:"sensing.year"};case"month":return{kind:"sensing.month"};case"date":return{kind:"sensing.date"};case"dayofweek":return{kind:"sensing.dayofweek"};case"hour":return{kind:"sensing.hour"};case"minute":return{kind:"sensing.minute"};case"second":return{kind:"sensing.second"}}return{kind:"constant",value:0};case"sensing_dayssince2000":return{kind:"sensing.daysSince2000"};case"sensing_distanceto":return{kind:"sensing.distance",target:this.descendInputOfBlock(e,"DISTANCETOMENU")};case"sensing_keypressed":return{kind:"keyboard.pressed",key:this.descendInputOfBlock(e,"KEY_OPTION")};case"sensing_mousedown":return{kind:"mouse.down"};case"sensing_mousex":return{kind:"mouse.x"};case"sensing_mousey":return{kind:"mouse.y"};case"sensing_of":return{kind:"sensing.of",property:e.fields.PROPERTY.value,object:this.descendInputOfBlock(e,"OBJECT")};case"sensing_timer":return this.usesTimer=!0,{kind:"timer.get"};case"sensing_touchingcolor":return{kind:"sensing.touchingColor",color:this.descendInputOfBlock(e,"COLOR")};case"sensing_touchingobject":return{kind:"sensing.touching",object:this.descendInputOfBlock(e,"TOUCHINGOBJECTMENU")};case"sensing_username":return{kind:"sensing.username"};case"sound_sounds_menu":return{kind:"constant",value:e.fields.SOUND_MENU.value};case"tw_getLastKeyPressed":return{kind:"tw.lastKeyPressed"};default:{if(this.runtime.getOpcodeFunction(e.opcode)){if(u.inputs.includes(e.opcode))return this.descendCompatLayer(e);const t=this.getBlockInfo(e.opcode);if(t){const n=t.info.blockType;if(n===s.REPORTER||n===s.BOOLEAN)return this.descendCompatLayer(e)}}const t=Object.keys(e.inputs),n=Object.keys(e.fields);if(0===t.length&&1===n.length)return{kind:"constant",value:e.fields[n[0]].value};throw a.warn("IR: Unknown input: ".concat(e.opcode),e),new Error("IR: Unknown input: ".concat(e.opcode))}}}descendStackedBlock(e){switch(e.opcode){case"control_all_at_once":return{kind:"control.if",condition:{kind:"constant",value:!0},whenTrue:this.descendSubstack(e,"SUBSTACK"),whenFalse:[]};case"control_clear_counter":return{kind:"counter.clear"};case"control_create_clone_of":return{kind:"control.createClone",target:this.descendInputOfBlock(e,"CLONE_OPTION")};case"control_delete_this_clone":return this.script.yields=!0,{kind:"control.deleteClone"};case"control_forever":return this.analyzeLoop(),{kind:"control.while",condition:{kind:"constant",value:!0},do:this.descendSubstack(e,"SUBSTACK")};case"control_for_each":return this.analyzeLoop(),{kind:"control.for",variable:this.descendVariable(e,"VARIABLE",d),count:this.descendInputOfBlock(e,"VALUE"),do:this.descendSubstack(e,"SUBSTACK")};case"control_if":return{kind:"control.if",condition:this.descendInputOfBlock(e,"CONDITION"),whenTrue:this.descendSubstack(e,"SUBSTACK"),whenFalse:[]};case"control_if_else":return{kind:"control.if",condition:this.descendInputOfBlock(e,"CONDITION"),whenTrue:this.descendSubstack(e,"SUBSTACK"),whenFalse:this.descendSubstack(e,"SUBSTACK2")};case"control_incr_counter":return{kind:"counter.increment"};case"control_repeat":return this.analyzeLoop(),{kind:"control.repeat",times:this.descendInputOfBlock(e,"TIMES"),do:this.descendSubstack(e,"SUBSTACK")};case"control_repeat_until":{this.analyzeLoop(),this.usesTimer=!1;const t=this.descendInputOfBlock(e,"CONDITION"),n=this.usesTimer;return n&&(this.script.yields=!0),{kind:"control.while",condition:{kind:"op.not",operand:t},do:this.descendSubstack(e,"SUBSTACK"),warpTimer:n}}case"control_stop":{const t=e.fields.STOP_OPTION.value;return"all"===t?(this.script.yields=!0,{kind:"control.stopAll"}):"other scripts in sprite"===t||"other scripts in stage"===t?{kind:"control.stopOthers"}:"this script"===t?{kind:"control.stopScript"}:{kind:"noop"}}case"control_wait":return this.script.yields=!0,{kind:"control.wait",seconds:this.descendInputOfBlock(e,"DURATION")};case"control_wait_until":return this.script.yields=!0,{kind:"control.waitUntil",condition:this.descendInputOfBlock(e,"CONDITION")};case"control_while":return this.analyzeLoop(),{kind:"control.while",condition:this.descendInputOfBlock(e,"CONDITION"),do:this.descendSubstack(e,"SUBSTACK"),warpTimer:!1};case"data_addtolist":return{kind:"list.add",list:this.descendVariable(e,"LIST",h),item:this.descendInputOfBlock(e,"ITEM")};case"data_changevariableby":{const t=this.descendVariable(e,"VARIABLE",d);return{kind:"var.set",variable:t,value:{kind:"op.add",left:{kind:"var.get",variable:t},right:this.descendInputOfBlock(e,"VALUE")}}}case"data_deletealloflist":return{kind:"list.deleteAll",list:this.descendVariable(e,"LIST",h)};case"data_deleteoflist":{const t=this.descendInputOfBlock(e,"INDEX");return"constant"===t.kind&&"all"===t.value?{kind:"list.deleteAll",list:this.descendVariable(e,"LIST",h)}:{kind:"list.delete",list:this.descendVariable(e,"LIST",h),index:t}}case"data_hidelist":return{kind:"list.hide",list:this.descendVariable(e,"LIST",h)};case"data_hidevariable":return{kind:"var.hide",variable:this.descendVariable(e,"VARIABLE",d)};case"data_insertatlist":return{kind:"list.insert",list:this.descendVariable(e,"LIST",h),index:this.descendInputOfBlock(e,"INDEX"),item:this.descendInputOfBlock(e,"ITEM")};case"data_replaceitemoflist":return{kind:"list.replace",list:this.descendVariable(e,"LIST",h),index:this.descendInputOfBlock(e,"INDEX"),item:this.descendInputOfBlock(e,"ITEM")};case"data_setvariableto":return{kind:"var.set",variable:this.descendVariable(e,"VARIABLE",d),value:this.descendInputOfBlock(e,"VALUE")};case"data_showlist":return{kind:"list.show",list:this.descendVariable(e,"LIST",h)};case"data_showvariable":return{kind:"var.show",variable:this.descendVariable(e,"VARIABLE",d)};case"event_broadcast":return{kind:"event.broadcast",broadcast:this.descendInputOfBlock(e,"BROADCAST_INPUT")};case"event_broadcastandwait":return this.script.yields=!0,{kind:"event.broadcastAndWait",broadcast:this.descendInputOfBlock(e,"BROADCAST_INPUT")};case"looks_changeeffectby":return{kind:"looks.changeEffect",effect:e.fields.EFFECT.value.toLowerCase(),value:this.descendInputOfBlock(e,"CHANGE")};case"looks_changesizeby":return{kind:"looks.changeSize",size:this.descendInputOfBlock(e,"CHANGE")};case"looks_cleargraphiceffects":return{kind:"looks.clearEffects"};case"looks_goforwardbackwardlayers":return"forward"===e.fields.FORWARD_BACKWARD.value?{kind:"looks.forwardLayers",layers:this.descendInputOfBlock(e,"NUM")}:{kind:"looks.backwardLayers",layers:this.descendInputOfBlock(e,"NUM")};case"looks_gotofrontback":return"front"===e.fields.FRONT_BACK.value?{kind:"looks.goToFront"}:{kind:"looks.goToBack"};case"looks_hide":return{kind:"looks.hide"};case"looks_nextbackdrop":return{kind:"looks.nextBackdrop"};case"looks_nextcostume":return{kind:"looks.nextCostume"};case"looks_seteffectto":return{kind:"looks.setEffect",effect:e.fields.EFFECT.value.toLowerCase(),value:this.descendInputOfBlock(e,"VALUE")};case"looks_setsizeto":return{kind:"looks.setSize",size:this.descendInputOfBlock(e,"SIZE")};case"looks_show":return{kind:"looks.show"};case"looks_switchbackdropto":return{kind:"looks.switchBackdrop",backdrop:this.descendInputOfBlock(e,"BACKDROP")};case"looks_switchcostumeto":return{kind:"looks.switchCostume",costume:this.descendInputOfBlock(e,"COSTUME")};case"motion_changexby":return{kind:"motion.changeX",dx:this.descendInputOfBlock(e,"DX")};case"motion_changeyby":return{kind:"motion.changeY",dy:this.descendInputOfBlock(e,"DY")};case"motion_gotoxy":return{kind:"motion.setXY",x:this.descendInputOfBlock(e,"X"),y:this.descendInputOfBlock(e,"Y")};case"motion_ifonedgebounce":return{kind:"motion.ifOnEdgeBounce"};case"motion_movesteps":return{kind:"motion.step",steps:this.descendInputOfBlock(e,"STEPS")};case"motion_pointindirection":return{kind:"motion.setDirection",direction:this.descendInputOfBlock(e,"DIRECTION")};case"motion_setrotationstyle":return{kind:"motion.setRotationStyle",style:e.fields.STYLE.value};case"motion_setx":return{kind:"motion.setX",x:this.descendInputOfBlock(e,"X")};case"motion_sety":return{kind:"motion.setY",y:this.descendInputOfBlock(e,"Y")};case"motion_turnleft":return{kind:"motion.setDirection",direction:{kind:"op.subtract",left:{kind:"motion.direction"},right:this.descendInputOfBlock(e,"DEGREES")}};case"motion_turnright":return{kind:"motion.setDirection",direction:{kind:"op.add",left:{kind:"motion.direction"},right:this.descendInputOfBlock(e,"DEGREES")}};case"pen_clear":return{kind:"pen.clear"};case"pen_changePenColorParamBy":return{kind:"pen.changeParam",param:this.descendInputOfBlock(e,"COLOR_PARAM"),value:this.descendInputOfBlock(e,"VALUE")};case"pen_changePenHueBy":return{kind:"pen.legacyChangeHue",hue:this.descendInputOfBlock(e,"HUE")};case"pen_changePenShadeBy":return{kind:"pen.legacyChangeShade",shade:this.descendInputOfBlock(e,"SHADE")};case"pen_penDown":return{kind:"pen.down"};case"pen_penUp":return{kind:"pen.up"};case"pen_setPenColorParamTo":return{kind:"pen.setParam",param:this.descendInputOfBlock(e,"COLOR_PARAM"),value:this.descendInputOfBlock(e,"VALUE")};case"pen_setPenColorToColor":return{kind:"pen.setColor",color:this.descendInputOfBlock(e,"COLOR")};case"pen_setPenHueToNumber":return{kind:"pen.legacySetHue",hue:this.descendInputOfBlock(e,"HUE")};case"pen_setPenShadeToNumber":return{kind:"pen.legacySetShade",shade:this.descendInputOfBlock(e,"SHADE")};case"pen_setPenSizeTo":return{kind:"pen.setSize",size:this.descendInputOfBlock(e,"SIZE")};case"pen_changePenSizeBy":return{kind:"pen.changeSize",size:this.descendInputOfBlock(e,"SIZE")};case"pen_stamp":return{kind:"pen.stamp"};case"procedures_call":{const t=e.mutation.proccode;if(e.mutation.return){const t=this.descendVisualReport(e);if(t)return t}return"tw:debugger;"===t?{kind:"tw.debugger"}:this.descendProcedure(e)}case"procedures_return":return{kind:"procedures.return",value:this.descendInputOfBlock(e,"VALUE")};case"sensing_resettimer":return{kind:"timer.reset"};default:{if(this.runtime.getOpcodeFunction(e.opcode)){if(u.stacked.includes(e.opcode))return this.descendCompatLayer(e);const t=this.getBlockInfo(e.opcode);if(t){const n=t.info.blockType;if(n===s.COMMAND||n===s.CONDITIONAL||n===s.LOOP)return this.descendCompatLayer(e)}}const t=this.descendVisualReport(e);if(t)return t;throw a.warn("IR: Unknown stacked block: ".concat(e.opcode),e),new Error("IR: Unknown stacked block: ".concat(e.opcode))}}}descendSubstack(e,t){const n=e.inputs[t];if(!n)return[];const r=n.block;return this.walkStack(r)}walkStack(e){const t=[];let n=e;for(;null!==n;){const e=this.getBlockById(n);if(!e)break;const r=this.descendStackedBlock(e);t.push(r),n=e.next}return t}descendVariable(e,t,n){const r=e.fields[t],i=r.id;if(Object.prototype.hasOwnProperty.call(this.variableCache,i))return this.variableCache[i];const s=this._descendVariable(i,r.value,n);return this.variableCache[i]=s,s}_descendVariable(e,t,n){const r=this.target,i=this.stage;if(Object.prototype.hasOwnProperty.call(r.variables,e))return p("target",r.variables[e]);if(!r.isStage&&i&&Object.prototype.hasOwnProperty.call(i.variables,e))return p("stage",i.variables[e]);for(const e in r.variables)if(Object.prototype.hasOwnProperty.call(r.variables,e)){const i=r.variables[e];if(i.name===t&&i.type===n)return p("target",i)}if(!r.isStage&&i)for(const e in i.variables)if(Object.prototype.hasOwnProperty.call(i.variables,e)){const r=i.variables[e];if(r.name===t&&r.type===n)return p("stage",r)}const s=new o(e,t,n,!1);if(r.variables[e]=s,r.sprite)for(const i of r.sprite.clones)Object.prototype.hasOwnProperty.call(i.variables,e)||(i.variables[e]=new o(e,t,n,!1));return p("target",s)}descendProcedure(e){const t=e.mutation.proccode,n=this.blocks.getProcedureParamNamesIdsAndDefaults(t);if(null===n)return{kind:"noop"};const[r,i,s]=n;if(this.runtime.getAddonBlock(t)){this.script.yields=!0;const n={};for(let t=0;t<i.length;t++){let o;o=e.inputs[i[t]]&&e.inputs[i[t]].block?this.descendInputOfBlock(e,i[t]):{kind:"constant",value:s[t]},n[r[t]]=o}return{kind:"addons.call",code:t,arguments:n,blockId:e.id}}const o=this.blocks.getProcedureDefinition(t),a=this.blocks.getBlock(o);if(!a)return{kind:"noop"};const l=this.blocks.getBlock(a.inputs.custom_block.block);let c=this.script.isWarp;if(!c&&l&&l.mutation){const e=l.mutation.warp;"boolean"==typeof e?c=e:"string"==typeof e&&(c=JSON.parse(e))}const u=(d=t,c?"W".concat(d):"Z".concat(d));var d;this.script.dependedProcedures.includes(u)||this.script.dependedProcedures.push(u),this.script.isWarp||t===this.script.procedureCode&&(this.script.yields=!0);const h=[];for(let t=0;t<i.length;t++){let n;n=e.inputs[i[t]]&&e.inputs[i[t]].block?this.descendInputOfBlock(e,i[t]):{kind:"constant",value:s[t]},h.push(n)}return{kind:"procedures.call",code:t,variant:u,arguments:h}}descendCompatLayer(e){this.script.yields=!0;const t={};for(const n of Object.keys(e.inputs))n.startsWith("SUBSTACK")||(t[n]=this.descendInputOfBlock(e,n));const n={};for(const t of Object.keys(e.fields))n[t]=e.fields[t].value;const r=this.getBlockInfo(e.opcode),i=r&&r.info&&r.info.blockType||s.COMMAND,o={};if(i===s.CONDITIONAL||i===s.LOOP)for(const t in e.inputs){if(!t.startsWith("SUBSTACK"))continue;const n="SUBSTACK"===t?1:+t.substring(8);isNaN(n)||(o[n]=this.descendSubstack(e,t))}return{kind:"compat",id:e.id,opcode:e.opcode,blockType:i,inputs:t,fields:n,substacks:o}}analyzeLoop(){this.script.isWarp&&!this.script.warpTimer||(this.script.yields=!0)}readTopBlockComment(e){const t=this.target.comments[e];if(!t)return;const n=t.text;for(const e of n.split("\n")){if(!/^tw\b/.test(e))continue;const t=e.split(" ");for(const e of t)switch(e){case"nocompile":throw new Error("Script explicitly disables compilation");case"stuck":this.script.warpTimer=!0}break}}descendVisualReport(e){if(!this.thread.stackClick||e.next)return null;try{return{kind:"visualReport",input:this.descendInput(e)}}catch(e){return null}}walkHat(e){const t=e.next,n=e.opcode,r=this.runtime._hats[n];if(this.thread.stackClick){return this.runtime.getOpcodeFunction(n)?[this.descendCompatLayer(e),...this.walkStack(t)]:this.walkStack(t)}if(r.edgeActivated)return this.script.yields=!0,this.script.executableHat=!0,[{kind:"hat.edge",id:e.id,condition:this.descendCompatLayer(e)},...this.walkStack(t)];return this.runtime.getOpcodeFunction(n)?(this.script.yields=!0,this.script.executableHat=!0,[{kind:"hat.predicate",condition:this.descendCompatLayer(e)},...this.walkStack(t)]):this.walkStack(t)}generate(e){this.blocks.populateProcedureCache(),this.script.topBlockId=e;const t=this.getBlockById(e);if(!t){if(this.script.isProcedure)return this.script;throw new Error("Cannot find top block")}t.comment&&this.readTopBlockComment(t.comment);if(!!this.runtime._hats[t.opcode])this.script.stack=this.walkHat(t);else{let n;n="procedures_definition"===t.opcode?t.next:e,n&&(this.script.stack=this.walkStack(n))}return this.script}}e.exports={ScriptTreeGenerator:f,IRGenerator:class{constructor(e){this.thread=e,this.blocks=e.blockContainer,this.proceduresToCompile=new Map,this.compilingProcedures=new Map,this.procedures={},this.analyzedProcedures=[]}addProcedureDependencies(e){for(const t of e){if(Object.prototype.hasOwnProperty.call(this.procedures,t))continue;if(this.compilingProcedures.has(t))continue;if(this.proceduresToCompile.has(t))continue;const e=m(t),n=this.blocks.getProcedureDefinition(e);this.proceduresToCompile.set(t,n)}}generateScriptTree(e,t){const n=e.generate(t);return this.addProcedureDependencies(n.dependedProcedures),n}analyzeScript(e){let t=!1;for(const n of e.dependedProcedures){const r=this.procedures[n];this.analyzedProcedures.includes(n)||(this.analyzedProcedures.push(n),this.analyzeScript(r)&&(t=!0),this.analyzedProcedures.pop()),r.yields&&!e.yields&&(e.yields=!0,t=!0)}return t}generate(){const e=this.generateScriptTree(new f(this.thread),this.thread.topBlock),t=this.blocks._cache.compiledProcedures;for(;this.proceduresToCompile.size>0;){this.compilingProcedures=this.proceduresToCompile,this.proceduresToCompile=new Map;for(const[e,n]of this.compilingProcedures.entries())if(t[e]){const n=t[e];this.procedures[e]=n,this.addProcedureDependencies(n.dependedProcedures)}else{const r="W"===e.charAt(0),i=new f(this.thread);i.setProcedureVariant(e),r&&i.enableWarp();const s=this.generateScriptTree(i,n);this.procedures[e]=s,t[e]=s}}for(;this.analyzeScript(e););const n=new c;return n.entry=e,n.procedures=this.procedures,n}}}},function(e,t,n){const r={Timer:n(14),Cast:n(2),log:n(1),blockUtility:n(213),thread:null};let i="";const s={};i+="let stuckCounter = 0;\nconst isStuck = () => {\n // The real time is not checked on every call for performance.\n stuckCounter++;\n if (stuckCounter === 100) {\n stuckCounter = 0;\n return globalState.thread.target.runtime.sequencer.timer.timeElapsed() > 500;\n }\n return false;\n};",s.startHats="const startHats = (requestedHat, optMatchFields) => {\n const thread = globalState.thread;\n const threads = thread.target.runtime.startHats(requestedHat, optMatchFields);\n return threads;\n}",s.waitThreads="const waitThreads = function*(threads) {\n const thread = globalState.thread;\n const runtime = thread.target.runtime;\n\n while (true) {\n // determine whether any threads are running\n let anyRunning = false;\n for (let i = 0; i < threads.length; i++) {\n if (runtime.threads.indexOf(threads[i]) !== -1) {\n anyRunning = true;\n break;\n }\n }\n if (!anyRunning) {\n // all threads are finished, can resume\n return;\n }\n\n let allWaiting = true;\n for (let i = 0; i < threads.length; i++) {\n if (!runtime.isWaitingThread(threads[i])) {\n allWaiting = false;\n break;\n }\n }\n if (allWaiting) {\n thread.status = 3; // STATUS_YIELD_TICK\n }\n\n yield;\n }\n}",s.executeInCompatibilityLayer="let hasResumedFromPromise = false;\nconst waitPromise = function*(promise) {\n const thread = globalState.thread;\n let returnValue;\n\n // enter STATUS_PROMISE_WAIT and yield\n // this will stop script execution until the promise handlers reset the thread status\n // because promise handlers might execute immediately, configure thread.status here\n thread.status = 1; // STATUS_PROMISE_WAIT\n\n promise\n .then(value => {\n returnValue = value;\n thread.status = 0; // STATUS_RUNNING\n }, error => {\n thread.status = 0; // STATUS_RUNNING\n globalState.log.warn('Promise rejected in compiled script:', error);\n });\n\n yield;\n\n return returnValue;\n};\nconst isPromise = value => (\n // see engine/execute.js\n value !== null &&\n typeof value === 'object' &&\n typeof value.then === 'function'\n);\nconst executeInCompatibilityLayer = function*(inputs, blockFunction, isWarp, useFlags, blockId, branchInfo) {\n const thread = globalState.thread;\n const blockUtility = globalState.blockUtility;\n const stackFrame = branchInfo ? branchInfo.stackFrame : {};\n\n const finish = (returnValue) => {\n if (branchInfo) {\n if (typeof returnValue === 'undefined' && blockUtility._startedBranch) {\n branchInfo.isLoop = blockUtility._startedBranch[1];\n return blockUtility._startedBranch[0];\n }\n branchInfo.isLoop = branchInfo.defaultIsLoop;\n return returnValue;\n }\n return returnValue;\n };\n\n const executeBlock = () => {\n blockUtility.init(thread, blockId, stackFrame);\n return blockFunction(inputs, blockUtility);\n };\n\n let returnValue = executeBlock();\n if (isPromise(returnValue)) {\n returnValue = finish(yield* waitPromise(returnValue));\n if (useFlags) hasResumedFromPromise = true;\n return returnValue;\n }\n\n if (thread.status === 1 /* STATUS_PROMISE_WAIT */) {\n // Something external is forcing us to stop\n yield;\n // Make up a return value because whatever is forcing us to stop can't specify one\n return '';\n }\n\n while (thread.status === 2 /* STATUS_YIELD */ || thread.status === 3 /* STATUS_YIELD_TICK */) {\n // Yielded threads will run next iteration.\n if (thread.status === 2 /* STATUS_YIELD */) {\n thread.status = 0; // STATUS_RUNNING\n // Yield back to the event loop when stuck or not in warp mode.\n if (!isWarp || isStuck()) {\n yield;\n }\n } else {\n // status is STATUS_YIELD_TICK, always yield to the event loop\n yield;\n }\n\n returnValue = executeBlock();\n if (isPromise(returnValue)) {\n returnValue = finish(yield* waitPromise(returnValue));\n if (useFlags) hasResumedFromPromise = true;\n return returnValue;\n }\n\n if (thread.status === 1 /* STATUS_PROMISE_WAIT */) {\n yield;\n return finish('');\n }\n }\n\n // todo: do we have to do anything extra if status is STATUS_DONE?\n\n return finish(returnValue);\n}",s.createBranchInfo="const createBranchInfo = (isLoop) => ({\n defaultIsLoop: isLoop,\n isLoop: false,\n branch: 0,\n stackFrame: {}\n});",s.retire="const retire = () => {\n const thread = globalState.thread;\n thread.target.runtime.sequencer.retireThread(thread);\n}",s.toBoolean="const toBoolean = value => {\n if (typeof value === 'boolean') {\n return value;\n }\n if (typeof value === 'string') {\n if (value === '' || value === '0' || value.toLowerCase() === 'false') {\n return false;\n }\n return true;\n }\n return !!value;\n}",s.limitPrecision="const limitPrecision = value => {\n const rounded = Math.round(value);\n const delta = value - rounded;\n return (Math.abs(delta) < 1e-9) ? rounded : value;\n}",i+="const isNotActuallyZero = val => {\n if (typeof val !== 'string') return false;\n for (let i = 0; i < val.length; i++) {\n const code = val.charCodeAt(i);\n if (code === 48 || code === 9) {\n return false;\n }\n }\n return true;\n};",i+="const compareEqualSlow = (v1, v2) => {\n const n1 = +v1;\n if (isNaN(n1) || (n1 === 0 && isNotActuallyZero(v1))) return ('' + v1).toLowerCase() === ('' + v2).toLowerCase();\n const n2 = +v2;\n if (isNaN(n2) || (n2 === 0 && isNotActuallyZero(v2))) return ('' + v1).toLowerCase() === ('' + v2).toLowerCase();\n return n1 === n2;\n};\nconst compareEqual = (v1, v2) => (typeof v1 === 'number' && typeof v2 === 'number' && !isNaN(v1) && !isNaN(v2) || v1 === v2) ? v1 === v2 : compareEqualSlow(v1, v2);",s.compareGreaterThan="const compareGreaterThanSlow = (v1, v2) => {\n let n1 = +v1;\n let n2 = +v2;\n if (n1 === 0 && isNotActuallyZero(v1)) {\n n1 = NaN;\n } else if (n2 === 0 && isNotActuallyZero(v2)) {\n n2 = NaN;\n }\n if (isNaN(n1) || isNaN(n2)) {\n const s1 = ('' + v1).toLowerCase();\n const s2 = ('' + v2).toLowerCase();\n return s1 > s2;\n }\n return n1 > n2;\n};\nconst compareGreaterThan = (v1, v2) => typeof v1 === 'number' && typeof v2 === 'number' && !isNaN(v1) ? v1 > v2 : compareGreaterThanSlow(v1, v2)",s.compareLessThan="const compareLessThanSlow = (v1, v2) => {\n let n1 = +v1;\n let n2 = +v2;\n if (n1 === 0 && isNotActuallyZero(v1)) {\n n1 = NaN;\n } else if (n2 === 0 && isNotActuallyZero(v2)) {\n n2 = NaN;\n }\n if (isNaN(n1) || isNaN(n2)) {\n const s1 = ('' + v1).toLowerCase();\n const s2 = ('' + v2).toLowerCase();\n return s1 < s2;\n }\n return n1 < n2;\n};\nconst compareLessThan = (v1, v2) => typeof v1 === 'number' && typeof v2 === 'number' && !isNaN(v2) ? v1 < v2 : compareLessThanSlow(v1, v2)",s.randomInt="const randomInt = (low, high) => low + Math.floor(Math.random() * ((high + 1) - low))",s.randomFloat="const randomFloat = (low, high) => (Math.random() * (high - low)) + low",s.timer="const timer = () => {\n const t = new globalState.Timer({\n now: () => globalState.thread.target.runtime.currentMSecs\n });\n t.start();\n return t;\n}",s.daysSince2000="const daysSince2000 = () => (Date.now() - 946684800000) / (24 * 60 * 60 * 1000)",s.distance="const distance = menu => {\n const thread = globalState.thread;\n if (thread.target.isStage) return 10000;\n\n let targetX = 0;\n let targetY = 0;\n if (menu === '_mouse_') {\n targetX = thread.target.runtime.ioDevices.mouse.getScratchX();\n targetY = thread.target.runtime.ioDevices.mouse.getScratchY();\n } else {\n const distTarget = thread.target.runtime.getSpriteTargetByName(menu);\n if (!distTarget) return 10000;\n targetX = distTarget.x;\n targetY = distTarget.y;\n }\n\n const dx = thread.target.x - targetX;\n const dy = thread.target.y - targetY;\n return Math.sqrt((dx * dx) + (dy * dy));\n}",i+="const listIndexSlow = (index, length) => {\n if (index === 'last') {\n return length - 1;\n } else if (index === 'random' || index === 'any') {\n if (length > 0) {\n return (Math.random() * length) | 0;\n }\n return -1;\n }\n index = (+index || 0) | 0;\n if (index < 1 || index > length) {\n return -1;\n }\n return index - 1;\n};\nconst listIndex = (index, length) => {\n if (typeof index !== 'number') {\n return listIndexSlow(index, length);\n }\n index = index | 0;\n return index < 1 || index > length ? -1 : index - 1;\n};",s.listGet="const listGet = (list, idx) => {\n const index = listIndex(idx, list.length);\n if (index === -1) {\n return '';\n }\n return list[index];\n}",s.listReplace="const listReplace = (list, idx, value) => {\n const index = listIndex(idx, list.value.length);\n if (index === -1) {\n return;\n }\n list.value[index] = value;\n list._monitorUpToDate = false;\n}",s.listInsert="const listInsert = (list, idx, value) => {\n const index = listIndex(idx, list.value.length + 1);\n if (index === -1) {\n return;\n }\n list.value.splice(index, 0, value);\n list._monitorUpToDate = false;\n}",s.listDelete="const listDelete = (list, idx) => {\n if (idx === 'all') {\n list.value = [];\n return;\n }\n const index = listIndex(idx, list.value.length);\n if (index === -1) {\n return;\n }\n list.value.splice(index, 1);\n list._monitorUpToDate = false;\n}",s.listContains="const listContains = (list, item) => {\n // TODO: evaluate whether indexOf is worthwhile here\n if (list.value.indexOf(item) !== -1) {\n return true;\n }\n for (let i = 0; i < list.value.length; i++) {\n if (compareEqual(list.value[i], item)) {\n return true;\n }\n }\n return false;\n}",s.listIndexOf="const listIndexOf = (list, item) => {\n for (let i = 0; i < list.value.length; i++) {\n if (compareEqual(list.value[i], item)) {\n return i + 1;\n }\n }\n return 0;\n}",s.listContents="const listContents = list => {\n for (let i = 0; i < list.value.length; i++) {\n const listItem = list.value[i];\n // this is an intentional break from what scratch 3 does to address our automatic string -> number conversions\n // it fixes more than it breaks\n if ((listItem + '').length !== 1) {\n return list.value.join(' ');\n }\n }\n return list.value.join('');\n}",s.colorToList="const colorToList = color => globalState.Cast.toRgbColorList(color)",s.mod="const mod = (n, modulus) => {\n let result = n % modulus;\n if (result / modulus < 0) result += modulus;\n return result;\n}",s.tan="const tan = (angle) => {\n switch (angle % 360) {\n case -270: case 90: return Infinity;\n case -90: case 270: return -Infinity;\n }\n return Math.round(Math.tan((Math.PI * angle) / 180) * 1e10) / 1e10;\n}",s.yieldThenCall="const yieldThenCall = function* (callback, ...args) {\n yield;\n return callback(...args);\n}",s.yieldThenCallGenerator="const yieldThenCallGenerator = function* (callback, ...args) {\n yield;\n return yield* callback(...args);\n}";const o=e=>{r.thread=e,e.generator.next()},a=[];o.scopedEval=e=>{const t=(e=>{let t="let stuckCounter = 0;\nconst isStuck = () => {\n // The real time is not checked on every call for performance.\n stuckCounter++;\n if (stuckCounter === 100) {\n stuckCounter = 0;\n return globalState.thread.target.runtime.sequencer.timer.timeElapsed() > 500;\n }\n return false;\n};const isNotActuallyZero = val => {\n if (typeof val !== 'string') return false;\n for (let i = 0; i < val.length; i++) {\n const code = val.charCodeAt(i);\n if (code === 48 || code === 9) {\n return false;\n }\n }\n return true;\n};const compareEqualSlow = (v1, v2) => {\n const n1 = +v1;\n if (isNaN(n1) || (n1 === 0 && isNotActuallyZero(v1))) return ('' + v1).toLowerCase() === ('' + v2).toLowerCase();\n const n2 = +v2;\n if (isNaN(n2) || (n2 === 0 && isNotActuallyZero(v2))) return ('' + v1).toLowerCase() === ('' + v2).toLowerCase();\n return n1 === n2;\n};\nconst compareEqual = (v1, v2) => (typeof v1 === 'number' && typeof v2 === 'number' && !isNaN(v1) && !isNaN(v2) || v1 === v2) ? v1 === v2 : compareEqualSlow(v1, v2);const listIndexSlow = (index, length) => {\n if (index === 'last') {\n return length - 1;\n } else if (index === 'random' || index === 'any') {\n if (length > 0) {\n return (Math.random() * length) | 0;\n }\n return -1;\n }\n index = (+index || 0) | 0;\n if (index < 1 || index > length) {\n return -1;\n }\n return index - 1;\n};\nconst listIndex = (index, length) => {\n if (typeof index !== 'number') {\n return listIndexSlow(index, length);\n }\n index = index | 0;\n return index < 1 || index > length ? -1 : index - 1;\n};";for(const n of Object.keys(s))e.includes(n)&&(t+="".concat(s[n],";"));return t+="return ".concat(e),t})(e);try{return new Function("globalState",t)(r)}catch(e){throw r.log.error("was unable to compile script",t),e}},o.runtimeFunctions=s,o.saveGlobalState=()=>{a.push(r.thread)},o.restoreGlobalState=()=>{r.thread=a.pop()},e.exports=o},function(e,t,n){const r=n(5),i=n(7),s=n(2),o=n(12),a=n(253),l=n(13);class c extends a{constructor(e,t){super(t,e.blocks),this.sprite=e,this.renderer=null,this.runtime&&(this.renderer=this.runtime.renderer),this.drawableID=null,this.dragging=!1,this.effects={color:0,fisheye:0,whirl:0,pixelate:0,mosaic:0,brightness:0,ghost:0},this.isOriginal=!0,this.isStage=!1,this.x=0,this.y=0,this.direction=90,this.draggable=!1,this.visible=!0,this.size=100,this.currentCostume=0,this.rotationStyle=c.ROTATION_STYLE_ALL_AROUND,this.volume=100,this.tempo=60,this.videoTransparency=50,this.videoState=c.VIDEO_STATE.ON,this.textToSpeechLanguage=null,this.onTargetMoved=null,this.onTargetVisualChange=null,this.interpolationData=null}initDrawable(e){this.renderer&&(this.drawableID=this.renderer.createDrawable(e)),this.isOriginal||this.runtime.startHats("control_start_as_clone",null,this)}get audioPlayer(){console.warn("get audioPlayer deprecated, please update to use .sprite.soundBank methods"),console.warn(new Error("stack for debug").stack);const e=this.sprite.soundBank,t={playSound:t=>e.play(this,t)};return Object.defineProperty(this,"audioPlayer",{configurable:!1,enumerable:!0,writable:!1,value:t}),t}initAudio(){}static get ROTATION_STYLE_ALL_AROUND(){return"all around"}static get ROTATION_STYLE_LEFT_RIGHT(){return"left-right"}static get ROTATION_STYLE_NONE(){return"don't rotate"}static get VIDEO_STATE(){return{OFF:"off",ON:"on",ON_FLIPPED:"on-flipped"}}emitVisualChange(){this.onTargetVisualChange&&this.onTargetVisualChange(this)}setXY(e,t,n){if(this.isStage)return;if(this.dragging&&!n)return;const r=this.x,i=this.y;if(this.renderer){const n=this.runtime.runtimeOptions.fencing?this.renderer.getFencedPositionOfDrawable(this.drawableID,[e,t]):[e,t];this.x=n[0],this.y=n[1],this.renderer.updateDrawablePosition(this.drawableID,n),this.visible&&(this.emitVisualChange(),this.runtime.requestRedraw())}else this.x=e,this.y=t;this.onTargetMoved&&this.onTargetMoved(this,r,i,n),this.runtime.requestTargetsUpdate(this)}_getRenderedDirectionAndScale(){let e=this.direction,t=[this.size,this.size];if(this.rotationStyle===c.ROTATION_STYLE_NONE)e=90;else if(this.rotationStyle===c.ROTATION_STYLE_LEFT_RIGHT){e=90;t=[(this.direction<0?-1:1)*this.size,this.size]}return{direction:e,scale:t}}setDirection(e){if(!this.isStage&&isFinite(e)){if(this.direction=r.wrapClamp(e,-179,180),this.renderer){const{direction:e,scale:t}=this._getRenderedDirectionAndScale();this.renderer.updateDrawableDirectionScale(this.drawableID,e,t),this.visible&&(this.emitVisualChange(),this.runtime.requestRedraw())}this.runtime.requestTargetsUpdate(this)}}setDraggable(e){this.isStage||(this.draggable=!!e,this.runtime.requestTargetsUpdate(this))}setVisible(e){this.isStage||(this.visible=!!e,this.renderer&&(this.renderer.updateDrawableVisible(this.drawableID,this.visible),this.visible&&(this.emitVisualChange(),this.runtime.requestRedraw())),this.runtime.requestTargetsUpdate(this))}setSize(e){if(!this.isStage){if(this.renderer){const t=this.renderer.getCurrentSkinSize(this.drawableID),n=t[0],i=t[1],s=this.runtime.runtimeOptions.fencing,o=s?Math.min(1,Math.max(5/n,5/i)):0,a=s?Math.min(1.5*this.runtime.stageWidth/n,1.5*this.runtime.stageHeight/i):1/0;this.size=100*r.clamp(e/100,o,a);const{direction:l,scale:c}=this._getRenderedDirectionAndScale();this.renderer.updateDrawableDirectionScale(this.drawableID,l,c),this.visible&&(this.emitVisualChange(),this.runtime.requestRedraw())}else this.size=e;this.runtime.requestTargetsUpdate(this)}}setEffect(e,t){Object.prototype.hasOwnProperty.call(this.effects,e)&&(this.effects[e]=t,this.renderer&&(this.renderer.updateDrawableEffect(this.drawableID,e,t),this.visible&&(this.emitVisualChange(),this.runtime.requestRedraw())))}clearEffects(){for(const e in this.effects)Object.prototype.hasOwnProperty.call(this.effects,e)&&(this.effects[e]=0);if(this.renderer){for(const e in this.effects)Object.prototype.hasOwnProperty.call(this.effects,e)&&this.renderer.updateDrawableEffect(this.drawableID,e,0);this.visible&&(this.emitVisualChange(),this.runtime.requestRedraw())}}setCostume(e){if((e=Math.round(e))!==1/0&&e!==-1/0&&e||(e=0),this.currentCostume=r.wrapClamp(e,0,this.sprite.costumes.length-1),this.renderer){const e=this.sprite.costumes[this.currentCostume];this.renderer.updateDrawableSkinId(this.drawableID,e.skinId),this.visible&&(this.emitVisualChange(),this.runtime.requestRedraw())}this.runtime.requestTargetsUpdate(this)}addCostume(e,t){"number"!=typeof t||isNaN(t)?this.sprite.addCostumeAt(e,this.sprite.costumes.length):this.sprite.addCostumeAt(e,t)}renameCostume(e,t){const n=this.sprite.costumes.filter(((t,n)=>e!==n)).map((e=>e.name)),r=this.getCostumes()[e].name,s=i.unusedName(t,n);if(this.getCostumes()[e].name=s,this.isStage){const e=this.runtime.targets;for(let t=0;t<e.length;t++){e[t].blocks.updateAssetName(r,s,"backdrop")}}else this.blocks.updateAssetName(r,s,"costume")}deleteCostume(e){const t=this.sprite.costumes.length;if(1===t)return null;if(e<0||e>=t)return null;const n=this.sprite.deleteCostumeAt(e);return e===this.currentCostume&&e===t-1?this.setCostume(e-1):e<this.currentCostume?this.setCostume(this.currentCostume-1):this.setCostume(this.currentCostume),this.runtime.requestTargetsUpdate(this),n}addSound(e,t){const n=this.sprite.sounds.map((e=>e.name));e.name=i.unusedName(e.name,n),"number"!=typeof t||isNaN(t)?this.sprite.sounds.push(e):this.sprite.sounds.splice(t,0,e)}renameSound(e,t){const n=this.sprite.sounds.filter(((t,n)=>e!==n)).map((e=>e.name)),r=this.sprite.sounds[e].name,s=i.unusedName(t,n);this.sprite.sounds[e].name=s,this.blocks.updateAssetName(r,s,"sound")}deleteSound(e){if(e<0||e>=this.sprite.sounds.length)return null;const t=this.sprite.sounds.splice(e,1)[0];return this.runtime.requestTargetsUpdate(this),t}setRotationStyle(e){if(e===c.ROTATION_STYLE_NONE?this.rotationStyle=c.ROTATION_STYLE_NONE:e===c.ROTATION_STYLE_ALL_AROUND?this.rotationStyle=c.ROTATION_STYLE_ALL_AROUND:e===c.ROTATION_STYLE_LEFT_RIGHT&&(this.rotationStyle=c.ROTATION_STYLE_LEFT_RIGHT),this.renderer){const{direction:e,scale:t}=this._getRenderedDirectionAndScale();this.renderer.updateDrawableDirectionScale(this.drawableID,e,t),this.visible&&(this.emitVisualChange(),this.runtime.requestRedraw())}this.runtime.requestTargetsUpdate(this)}getCostumeIndexByName(e){const t=this.getCostumes();for(let n=0;n<t.length;n++)if(t[n].name===e)return n;return-1}getCurrentCostume(){return this.getCostumes()[this.currentCostume]}getCostumes(){return this.sprite.costumes}reorderCostume(e,t){if((t=r.clamp(t,0,this.sprite.costumes.length-1))===(e=r.clamp(e,0,this.sprite.costumes.length-1)))return!1;const n=this.getCurrentCostume(),i=this.sprite.costumes[e];return this.sprite.deleteCostumeAt(e),this.addCostume(i,t),this.currentCostume=this.getCostumeIndexByName(n.name),!0}reorderSound(e,t){if((t=r.clamp(t,0,this.sprite.sounds.length-1))===(e=r.clamp(e,0,this.sprite.sounds.length-1)))return!1;const n=this.sprite.sounds[e];return this.deleteSound(e),this.addSound(n,t),!0}getSounds(){return this.sprite.sounds}updateAllDrawableProperties(){if(this.renderer){const{direction:e,scale:t}=this._getRenderedDirectionAndScale();this.renderer.updateDrawablePosition(this.drawableID,[this.x,this.y]),this.renderer.updateDrawableDirectionScale(this.drawableID,e,t),this.renderer.updateDrawableVisible(this.drawableID,this.visible);const n=this.getCostumes()[this.currentCostume];this.renderer.updateDrawableSkinId(this.drawableID,n.skinId);for(const e in this.effects)Object.prototype.hasOwnProperty.call(this.effects,e)&&this.renderer.updateDrawableEffect(this.drawableID,e,this.effects[e]);this.visible&&(this.emitVisualChange(),this.runtime.requestRedraw())}this.runtime.requestTargetsUpdate(this)}getName(){return this.sprite.name}isSprite(){return!this.isStage&&this.isOriginal}getBounds(){return this.renderer?this.runtime.renderer.getBounds(this.drawableID):null}getBoundsForBubble(){return this.renderer?this.runtime.renderer.getBoundsForBubble(this.drawableID):null}isTouchingObject(e){if("_mouse_"===e){if(!this.runtime.ioDevices.mouse)return!1;const e=this.runtime.ioDevices.mouse.getClientX(),t=this.runtime.ioDevices.mouse.getClientY();return this.isTouchingPoint(e,t)}return"_edge_"===e?this.isTouchingEdge():this.isTouchingSprite(e)}isTouchingPoint(e,t){return!!this.renderer&&this.renderer.drawableTouching(this.drawableID,e,t)}isTouchingEdge(){if(this.renderer){const e=this.runtime.stageWidth,t=this.runtime.stageHeight,n=this.getBounds();if(n.left<-e/2||n.right>e/2||n.top>t/2||n.bottom<-t/2)return!0}return!1}isTouchingSprite(e){e=s.toString(e);const t=this.runtime.getSpriteTargetByName(e);if(!t||!this.renderer)return!1;const n=t.sprite.clones.filter((e=>!e.dragging)).map((e=>e.drawableID));return this.renderer.isTouchingDrawables(this.drawableID,n)}isTouchingColor(e){return!!this.renderer&&this.renderer.isTouchingColor(this.drawableID,e)}colorIsTouchingColor(e,t){return!!this.renderer&&this.renderer.isTouchingColor(this.drawableID,e,t)}getLayerOrder(){return this.renderer?this.renderer.getDrawableOrder(this.drawableID):null}goToFront(){this.renderer&&this.renderer.setDrawableOrder(this.drawableID,1/0,l.SPRITE_LAYER),this.runtime.setExecutablePosition(this,1/0)}goToBack(){this.renderer&&this.renderer.setDrawableOrder(this.drawableID,-1/0,l.SPRITE_LAYER,!1),this.runtime.setExecutablePosition(this,-1/0)}goForwardLayers(e){this.renderer&&this.renderer.setDrawableOrder(this.drawableID,e,l.SPRITE_LAYER,!0),this.runtime.moveExecutable(this,e)}goBackwardLayers(e){this.renderer&&this.renderer.setDrawableOrder(this.drawableID,-e,l.SPRITE_LAYER,!0),this.runtime.moveExecutable(this,-e)}goBehindOther(e){if(this.renderer){const t=this.renderer.setDrawableOrder(e.drawableID,0,l.SPRITE_LAYER,!0);this.renderer.setDrawableOrder(this.drawableID,t,l.SPRITE_LAYER)}const t=this.runtime.executableTargets.indexOf(e);this.runtime.setExecutablePosition(this,t)}keepInFence(e,t,n){let r=n;r||(r={left:-this.runtime.stageWidth/2,right:this.runtime.stageWidth/2,top:this.runtime.stageHeight/2,bottom:-this.runtime.stageHeight/2});const i=this.getBounds();if(!i)return;i.left+=e-this.x,i.right+=e-this.x,i.top+=t-this.y,i.bottom+=t-this.y;let s=0,o=0;return i.left<r.left&&(s+=r.left-i.left),i.right>r.right&&(s+=r.right-i.right),i.top>r.top&&(o+=r.top-i.top),i.bottom<r.bottom&&(o+=r.bottom-i.bottom),[e+s,t+o]}makeClone(){if(!this.runtime.clonesAvailable()||this.isStage)return null;this.runtime.changeCloneCounter(1);const e=this.sprite.createClone();return e.x=this.x,e.y=this.y,e.direction=this.direction,e.draggable=this.draggable,e.visible=this.visible,e.size=this.size,e.currentCostume=this.currentCostume,e.rotationStyle=this.rotationStyle,e.effects=o.simple(this.effects),e.variables=this.duplicateVariables(),e._edgeActivatedHatValues=o.simple(this._edgeActivatedHatValues),e.initDrawable(l.SPRITE_LAYER),e.updateAllDrawableProperties(),e}duplicate(){return this.sprite.duplicate().then((e=>{const t=e.createClone();return t.x=400*(Math.random()-.5)/2,t.y=300*(Math.random()-.5)/2,t.direction=this.direction,t.draggable=this.draggable,t.visible=this.visible,t.size=this.size,t.currentCostume=this.currentCostume,t.rotationStyle=this.rotationStyle,t.effects=JSON.parse(JSON.stringify(this.effects)),t.variables=this.duplicateVariables(t.blocks),t.updateAllDrawableProperties(),t}))}onGreenFlag(){this.clearEffects()}onStopAll(){this.clearEffects()}postSpriteInfo(e){const t=Object.prototype.hasOwnProperty.call(e,"force")?e.force:null,n=Object.prototype.hasOwnProperty.call(e,"x"),r=Object.prototype.hasOwnProperty.call(e,"y");(n||r)&&this.setXY(n?e.x:this.x,r?e.y:this.y,t),Object.prototype.hasOwnProperty.call(e,"direction")&&this.setDirection(e.direction),Object.prototype.hasOwnProperty.call(e,"draggable")&&this.setDraggable(e.draggable),Object.prototype.hasOwnProperty.call(e,"rotationStyle")&&this.setRotationStyle(e.rotationStyle),Object.prototype.hasOwnProperty.call(e,"visible")&&this.setVisible(e.visible),Object.prototype.hasOwnProperty.call(e,"size")&&this.setSize(e.size)}startDrag(){this.dragging=!0}stopDrag(){this.dragging=!1}toJSON(){const e=this.getCostumes();return{id:this.id,name:this.getName(),isStage:this.isStage,x:this.x,y:this.y,size:this.size,direction:this.direction,draggable:this.draggable,currentCostume:this.currentCostume,costume:e[this.currentCostume],costumeCount:e.length,visible:this.visible,rotationStyle:this.rotationStyle,comments:this.comments,blocks:this.blocks._blocks,variables:this.variables,costumes:e,sounds:this.getSounds(),textToSpeechLanguage:this.textToSpeechLanguage,tempo:this.tempo,volume:this.volume,videoTransparency:this.videoTransparency,videoState:this.videoState}}dispose(){this.isOriginal||this.runtime.changeCloneCounter(-1),this.runtime.stopForTarget(this),this.runtime.removeExecutable(this),this.sprite.removeClone(this),this.renderer&&null!==this.drawableID&&(this.renderer.destroyDrawable(this.drawableID,this.isStage?l.BACKGROUND_LAYER:l.SPRITE_LAYER),this.visible&&(this.emitVisualChange(),this.runtime.requestRedraw()))}}e.exports=c},function(e,t,n){const r=n(8),i=n(32);class s{constructor(e,t,n,i,o,a,l){this.id=e||r(),this.text=t,this.x=n,this.y=i,this.width=Math.max(Number(o),s.MIN_WIDTH),this.height=Math.max(Number(a),s.MIN_HEIGHT),this.minimized=l||!1,this.blockId=null}toXML(){return'<comment id="'.concat(this.id,'" x="').concat(this.x,'" y="').concat(this.y,'" w="').concat(this.width,'" h="').concat(this.height,'" pinned="').concat(null!==this.blockId,'" minimized="').concat(this.minimized,'">').concat(i(this.text),"</comment>")}static get MIN_WIDTH(){return 20}static get MIN_HEIGHT(){return 20}static get DEFAULT_WIDTH(){return 100}static get DEFAULT_HEIGHT(){return 100}}e.exports=s},function(e,t,n){const r=n(50),i=n(17),{loadSoundFromAsset:s}=n(33),{loadCostumeFromAsset:o}=n(34),a=n(104),l=n(7),c=n(13);class u{constructor(e,t){this.runtime=t,e||(e=new i(t)),this.blocks=e,this.name="",this.costumes_=[],this.sounds=[],this.clones=[],this.soundBank=null,this.runtime&&this.runtime.audioEngine&&(this.soundBank=this.runtime.audioEngine.createBank())}set costumes(e){this.costumes_=[];for(const t of e)this.addCostumeAt(t,this.costumes_.length)}get costumes(){return this.costumes_}addCostumeAt(e,t){e.name||(e.name="");const n=this.costumes_.map((e=>e.name));e.name=l.unusedName(e.name,n),this.costumes_.splice(t,0,e)}deleteCostumeAt(e){return this.costumes.splice(e,1)[0]}createClone(e){const t=new r(this,this.runtime);if(t.isOriginal=0===this.clones.length,this.clones.push(t),t.initAudio(),t.isOriginal){const n="string"==typeof e?e:c.SPRITE_LAYER;t.initDrawable(n),this.runtime.fireTargetWasCreated(t)}else this.runtime.fireTargetWasCreated(t,this.clones[0]);return t}removeClone(e){this.runtime.fireTargetWasRemoved(e);const t=this.clones.indexOf(e);t>=0&&this.clones.splice(t,1)}duplicate(){const e=new u(null,this.runtime),t=this.blocks._blocks,n=Object.keys(t).map((e=>t[e])),r=JSON.parse(JSON.stringify(n));a(r),r.forEach((t=>{e.blocks.createBlock(t)}));const i=this.runtime.targets.map((e=>e.sprite.name));e.name=l.unusedName(this.name,i);const c=[];return e.costumes=this.costumes_.map((e=>{const t=Object.assign({},e);return c.push(o(t,this.runtime)),t})),e.sounds=this.sounds.map((t=>{const n=Object.assign({},t),r=t.asset;return c.push(s(n,r,this.runtime,e.soundBank)),n})),Promise.all(c).then((()=>e))}dispose(){this.soundBank&&this.soundBank.dispose()}}e.exports=u},function(e,t){class n{static get svg(){return"http://www.w3.org/2000/svg"}static get xmlns(){return"http://www.w3.org/2000/xmlns"}static get xlink(){return"http://www.w3.org/1999/xlink"}static attributeNamespace(){return{href:n.xlink,xlink:n.xmlns,xmlns:`${n.xmlns}/`,"xmlns:xlink":`${n.xmlns}/`}}static create(e,t,r){return n.set(document.createElementNS(n.svg,e),t,r)}static get(e,t){const r=n.attributeNamespace[t],i=r?e.getAttributeNS(r,t):e.getAttribute(t);return"null"===i?null:i}static set(e,t,r){for(const i in t){let s=t[i];const o=n.attributeNamespace[i];"number"==typeof s&&r&&(s=r.number(s)),o?e.setAttributeNS(o,i,s):e.setAttribute(i,s)}return e}}e.exports=n},function(e,t){e.exports=function(e,t){var n=Object.create(SyntaxError.prototype),r=new Error;return n.name=e,n.message=t,Object.defineProperty(n,"stack",{get:function(){return(r.stack||"").replace(/^(.+\n){1,3}/,e+": "+t+"\n")}}),n}},function(e,t){function n(e){return e}function r(e,t,n,i){var s,o;switch(e.type){case"Group":s=function(e,t,n,i){var s=" "===e.combinator||i?e.combinator:" "+e.combinator+" ",o=e.terms.map((function(e){return r(e,t,n,i)})).join(s);return(e.explicit||n)&&(o=(i||","===o[0]?"[":"[ ")+o+(i?"]":" ]")),o}(e,t,n,i)+(e.disallowEmpty?"!":"");break;case"Multiplier":return r(e.term,t,n,i)+t(0===(o=e).min&&0===o.max?"*":0===o.min&&1===o.max?"?":1===o.min&&0===o.max?o.comma?"#":"+":1===o.min&&1===o.max?"":(o.comma?"#":"")+(o.min===o.max?"{"+o.min+"}":"{"+o.min+","+(0!==o.max?o.max:"")+"}"),e);case"Type":s="<"+e.name+(e.opts?t(function(e){if("Range"===e.type)return" ["+(null===e.min?"-∞":e.min)+","+(null===e.max?"∞":e.max)+"]";throw new Error("Unknown node type `"+e.type+"`")}(e.opts),e.opts):"")+">";break;case"Property":s="<'"+e.name+"'>";break;case"Keyword":s=e.name;break;case"AtKeyword":s="@"+e.name;break;case"Function":s=e.name+"(";break;case"String":case"Token":s=e.value;break;case"Comma":s=",";break;default:throw new Error("Unknown node type `"+e.type+"`")}return t(s,e)}e.exports=function(e,t){var i=n,s=!1,o=!1;return"function"==typeof t?i=t:t&&(s=Boolean(t.forceBraces),o=Boolean(t.compact),"function"==typeof t.decorate&&(i=t.decorate)),r(e,i,s,o)}},function(e,t){var n=Object.prototype.hasOwnProperty,r=Object.create(null),i=Object.create(null),s=45;function o(e,t){return t=t||0,e.length-t>=2&&e.charCodeAt(t)===s&&e.charCodeAt(t+1)===s}function a(e,t){if(t=t||0,e.length-t>=3&&e.charCodeAt(t)===s&&e.charCodeAt(t+1)!==s){var n=e.indexOf("-",t+2);if(-1!==n)return e.substring(t,n+1)}return""}e.exports={keyword:function(e){if(n.call(r,e))return r[e];var t=e.toLowerCase();if(n.call(r,t))return r[e]=r[t];var i=o(t,0),s=i?"":a(t,0);return r[e]=Object.freeze({basename:t.substr(s.length),name:t,vendor:s,prefix:s,custom:i})},property:function(e){if(n.call(i,e))return i[e];var t=e,r=e[0];"/"===r?r="/"===e[1]?"//":"/":"_"!==r&&"*"!==r&&"$"!==r&&"#"!==r&&"+"!==r&&"&"!==r&&(r="");var s=o(t,r.length);if(!s&&(t=t.toLowerCase(),n.call(i,t)))return i[e]=i[t];var l=s?"":a(t,r.length),c=t.substr(0,r.length+l.length);return i[e]=Object.freeze({basename:t.substr(c.length),name:t.substr(r.length),hack:r,vendor:l,prefix:c,custom:s})},isCustomProperty:o,vendorPrefix:a}},function(e,t,n){var r=n(286),i=9,s=10,o=12,a=13,l=32,c=33,u=35,d=38,h=39,p=40,m=41,f=42,g=43,y=44,b=45,v=60,S=62,w=63,k=64,x=91,T=93,E=123,A=124,C=125,I=8734,O=function(e){for(var t="function"==typeof Uint32Array?new Uint32Array(128):new Array(128),n=0;n<128;n++)t[n]=e(String.fromCharCode(n))?1:0;return t}((function(e){return/[a-zA-Z0-9\-]/.test(e)})),M={" ":1,"&&":2,"||":3,"|":4};function N(e){return e.substringToPos(e.findWsEnd(e.pos))}function R(e){for(var t=e.pos;t<e.str.length;t++){var n=e.str.charCodeAt(t);if(n>=128||0===O[n])break}return e.pos===t&&e.error("Expect a keyword"),e.substringToPos(t)}function D(e){for(var t=e.pos;t<e.str.length;t++){var n=e.str.charCodeAt(t);if(n<48||n>57)break}return e.pos===t&&e.error("Expect a number"),e.substringToPos(t)}function P(e){var t=e.str.indexOf("'",e.pos+1);return-1===t&&(e.pos=e.str.length,e.error("Expect an apostrophe")),e.substringToPos(t+1)}function L(e){var t,n=null;return e.eat(E),t=D(e),e.charCode()===y?(e.pos++,e.charCode()!==C&&(n=D(e))):n=t,e.eat(C),{min:Number(t),max:n?Number(n):0}}function B(e,t){var n=function(e){var t=null,n=!1;switch(e.charCode()){case f:e.pos++,t={min:0,max:0};break;case g:e.pos++,t={min:1,max:0};break;case w:e.pos++,t={min:0,max:1};break;case u:e.pos++,n=!0,t=e.charCode()===E?L(e):{min:1,max:0};break;case E:t=L(e);break;default:return null}return{type:"Multiplier",comma:n,min:t.min,max:t.max,term:null}}(e);return null!==n?(n.term=t,n):t}function z(e){var t=e.peek();return""===t?null:{type:"Token",value:t}}function U(e){var t,n=null;return e.eat(v),t=R(e),e.charCode()===p&&e.nextCharCode()===m&&(e.pos+=2,t+="()"),e.charCodeAt(e.findWsEnd(e.pos))===x&&(N(e),n=function(e){var t=null,n=null,r=1;return e.eat(x),e.charCode()===b&&(e.peek(),r=-1),-1==r&&e.charCode()===I?e.peek():t=r*Number(D(e)),N(e),e.eat(y),N(e),e.charCode()===I?e.peek():(r=1,e.charCode()===b&&(e.peek(),r=-1),n=r*Number(D(e))),e.eat(T),null===t&&null===n?null:{type:"Range",min:t,max:n}}(e)),e.eat(S),B(e,{type:"Type",name:t,opts:n})}function j(e,t){function n(e,t){return{type:"Group",terms:e,combinator:t,disallowEmpty:!1,explicit:!1}}for(t=Object.keys(t).sort((function(e,t){return M[e]-M[t]}));t.length>0;){for(var r=t.shift(),i=0,s=0;i<e.length;i++){var o=e[i];"Combinator"===o.type&&(o.value===r?(-1===s&&(s=i-1),e.splice(i,1),i--):(-1!==s&&i-s>1&&(e.splice(s,i-s,n(e.slice(s,i),r)),i=s+1),s=-1))}-1!==s&&t.length&&e.splice(s,i-s,n(e.slice(s,i),r))}return r}function F(e){for(var t,n=[],r={},i=null,s=e.pos;t=W(e);)"Spaces"!==t.type&&("Combinator"===t.type?(null!==i&&"Combinator"!==i.type||(e.pos=s,e.error("Unexpected combinator")),r[t.value]=!0):null!==i&&"Combinator"!==i.type&&(r[" "]=!0,n.push({type:"Combinator",value:" "})),n.push(t),i=t,s=e.pos);return null!==i&&"Combinator"===i.type&&(e.pos-=s,e.error("Unexpected combinator")),{type:"Group",terms:n,combinator:j(n,r)||" ",disallowEmpty:!1,explicit:!1}}function W(e){var t=e.charCode();if(t<128&&1===O[t])return function(e){var t;return t=R(e),e.charCode()===p?(e.pos++,{type:"Function",name:t}):B(e,{type:"Keyword",name:t})}(e);switch(t){case T:break;case x:return B(e,function(e){var t;return e.eat(x),t=F(e),e.eat(T),t.explicit=!0,e.charCode()===c&&(e.pos++,t.disallowEmpty=!0),t}(e));case v:return e.nextCharCode()===h?function(e){var t;return e.eat(v),e.eat(h),t=R(e),e.eat(h),e.eat(S),B(e,{type:"Property",name:t})}(e):U(e);case A:return{type:"Combinator",value:e.substringToPos(e.nextCharCode()===A?e.pos+2:e.pos+1)};case d:return e.pos++,e.eat(d),{type:"Combinator",value:"&&"};case y:return e.pos++,{type:"Comma"};case h:return B(e,{type:"String",value:P(e)});case l:case i:case s:case a:case o:return{type:"Spaces",value:N(e)};case k:return(t=e.nextCharCode())<128&&1===O[t]?(e.pos++,{type:"AtKeyword",name:R(e)}):z(e);case f:case g:case w:case u:case c:break;case E:if((t=e.nextCharCode())<48||t>57)return z(e);break;default:return z(e)}}function V(e){var t=new r(e),n=F(t);return t.pos!==e.length&&t.error("Unexpected input"),1===n.terms.length&&"Group"===n.terms[0].type&&(n=n.terms[0]),n}V("[a&&<b>#|<'c'>*||e() f{2} /,(% g#{1,2} h{2,})]!"),e.exports=V},function(e,t){t.getArg=function(e,t,n){if(t in e)return e[t];if(3===arguments.length)return n;throw new Error('"'+t+'" is a required argument.')};var n=/^(?:([\w+\-.]+):)?\/\/(?:(\w+:\w+)@)?([\w.-]*)(?::(\d+))?(.*)$/,r=/^data:.+\,.+$/;function i(e){var t=e.match(n);return t?{scheme:t[1],auth:t[2],host:t[3],port:t[4],path:t[5]}:null}function s(e){var t="";return e.scheme&&(t+=e.scheme+":"),t+="//",e.auth&&(t+=e.auth+"@"),e.host&&(t+=e.host),e.port&&(t+=":"+e.port),e.path&&(t+=e.path),t}function o(e){var n=e,r=i(e);if(r){if(!r.path)return e;n=r.path}for(var o,a=t.isAbsolute(n),l=n.split(/\/+/),c=0,u=l.length-1;u>=0;u--)"."===(o=l[u])?l.splice(u,1):".."===o?c++:c>0&&(""===o?(l.splice(u+1,c),c=0):(l.splice(u,2),c--));return""===(n=l.join("/"))&&(n=a?"/":"."),r?(r.path=n,s(r)):n}function a(e,t){""===e&&(e="."),""===t&&(t=".");var n=i(t),a=i(e);if(a&&(e=a.path||"/"),n&&!n.scheme)return a&&(n.scheme=a.scheme),s(n);if(n||t.match(r))return t;if(a&&!a.host&&!a.path)return a.host=t,s(a);var l="/"===t.charAt(0)?t:o(e.replace(/\/+$/,"")+"/"+t);return a?(a.path=l,s(a)):l}t.urlParse=i,t.urlGenerate=s,t.normalize=o,t.join=a,t.isAbsolute=function(e){return"/"===e.charAt(0)||n.test(e)},t.relative=function(e,t){""===e&&(e="."),e=e.replace(/\/$/,"");for(var n=0;0!==t.indexOf(e+"/");){var r=e.lastIndexOf("/");if(r<0)return t;if((e=e.slice(0,r)).match(/^([^\/]+:\/)?\/*$/))return t;++n}return Array(n+1).join("../")+t.substr(e.length+1)};var l=!("__proto__"in Object.create(null));function c(e){return e}function u(e){if(!e)return!1;var t=e.length;if(t<9)return!1;if(95!==e.charCodeAt(t-1)||95!==e.charCodeAt(t-2)||111!==e.charCodeAt(t-3)||116!==e.charCodeAt(t-4)||111!==e.charCodeAt(t-5)||114!==e.charCodeAt(t-6)||112!==e.charCodeAt(t-7)||95!==e.charCodeAt(t-8)||95!==e.charCodeAt(t-9))return!1;for(var n=t-10;n>=0;n--)if(36!==e.charCodeAt(n))return!1;return!0}function d(e,t){return e===t?0:null===e?1:null===t?-1:e>t?1:-1}t.toSetString=l?c:function(e){return u(e)?"$"+e:e},t.fromSetString=l?c:function(e){return u(e)?e.slice(1):e},t.compareByOriginalPositions=function(e,t,n){var r=d(e.source,t.source);return 0!==r||0!==(r=e.originalLine-t.originalLine)||0!==(r=e.originalColumn-t.originalColumn)||n||0!==(r=e.generatedColumn-t.generatedColumn)||0!==(r=e.generatedLine-t.generatedLine)?r:d(e.name,t.name)},t.compareByGeneratedPositionsDeflated=function(e,t,n){var r=e.generatedLine-t.generatedLine;return 0!==r||0!==(r=e.generatedColumn-t.generatedColumn)||n||0!==(r=d(e.source,t.source))||0!==(r=e.originalLine-t.originalLine)||0!==(r=e.originalColumn-t.originalColumn)?r:d(e.name,t.name)},t.compareByGeneratedPositionsInflated=function(e,t){var n=e.generatedLine-t.generatedLine;return 0!==n||0!==(n=e.generatedColumn-t.generatedColumn)||0!==(n=d(e.source,t.source))||0!==(n=e.originalLine-t.originalLine)||0!==(n=e.originalColumn-t.originalColumn)?n:d(e.name,t.name)},t.parseSourceMapInput=function(e){return JSON.parse(e.replace(/^\)]}'[^\n]*\n/,""))},t.computeSourceURL=function(e,t,n){if(t=t||"",e&&("/"!==e[e.length-1]&&"/"!==t[0]&&(e+="/"),t=e+t),n){var r=i(n);if(!r)throw new Error("sourceMapURL could not be parsed");if(r.path){var l=r.path.lastIndexOf("/");l>=0&&(r.path=r.path.substring(0,l+1))}t=a(s(r),t)}return o(t)}},function(e,t,n){e.exports={AnPlusB:n(313),Atrule:n(314),AtrulePrelude:n(315),AttributeSelector:n(316),Block:n(317),Brackets:n(318),CDC:n(319),CDO:n(320),ClassSelector:n(321),Combinator:n(322),Comment:n(323),Declaration:n(324),DeclarationList:n(325),Dimension:n(326),Function:n(327),Hash:n(328),Identifier:n(329),IdSelector:n(330),MediaFeature:n(331),MediaQuery:n(332),MediaQueryList:n(333),Nth:n(334),Number:n(335),Operator:n(336),Parentheses:n(337),Percentage:n(338),PseudoClassSelector:n(339),PseudoElementSelector:n(340),Ratio:n(341),Raw:n(18),Rule:n(342),Selector:n(343),SelectorList:n(344),String:n(345),StyleSheet:n(346),TypeSelector:n(347),UnicodeRange:n(348),Url:n(349),Value:n(350),WhiteSpace:n(351)}},function(e,t){e.exports=class{constructor(e,t,n){this.audioEngine=e,this.audioPlayer=t,this.lastEffect=n,this.value=this.DEFAULT_VALUE,this.initialized=!1,this.inputNode=null,this.outputNode=null,this.target=null}get name(){throw new Error("".concat(this.constructor.name,".name is not implemented"))}get DEFAULT_VALUE(){return 0}get _isPatch(){return this.initialized&&(this.value!==this.DEFAULT_VALUE||null===this.audioPlayer)}getInputNode(){return this._isPatch?this.inputNode:this.target.getInputNode()}initialize(){throw new Error("".concat(this.constructor.name,".initialize is not implemented."))}_set(){throw new Error("".concat(this.constructor.name,"._set is not implemented."))}set(e){this.initialized||this.initialize();const t=this._isPatch;t&&(this._lastPatch=this.audioEngine.currentTime),e!==this.value&&this._set(e),this._isPatch!==t&&null!==this.target&&this.connect(this.target)}update(){}clear(){this.set(this.DEFAULT_VALUE)}connect(e){if(null===e)throw new Error("target may not be null");const t=e=>{if(e)return e===this||t(e.target)};if(t(e))throw new Error("Effect cannot connect to itself");this.target=e,null!==this.outputNode&&this.outputNode.disconnect(),(this._isPatch||this._lastPatch+this.audioEngine.DECAY_DURATION<this.audioEngine.currentTime)&&this.outputNode.connect(e.getInputNode()),null===this.lastEffect?null!==this.audioPlayer&&this.audioPlayer.connect(this):this.lastEffect.connect(this)}dispose(){this.inputNode=null,this.outputNode=null,this.target=null,this.initialized=!1}}},function(e,t,n){"use strict";var r=n(118),i=n.n(r),s=n(119),o=n.n(s),a=n(120),l=i()((function(e){return e[1]})),c=o()(a.a);l.push([e.i,'.sc-root {\n font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;\n width: 100%;\n height: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n position: relative;\n --sc-accent-color: #ff4c4c;\n --sc-accent-color-transparent: #ff4c4c59;\n}\n.sc-layers {\n position: relative;\n}\n.sc-layers > * {\n position: absolute;\n}\n.sc-scaled-overlays-outer {\n overflow: hidden;\n width: 100%;\n height: 100%;\n pointer-events: none;\n}\n.sc-scaled-overlays-inner {\n transform-origin: top left;\n}\n.sc-root * {\n box-sizing: border-box;\n}\n.sc-canvas {\n width: 100%;\n height: 100%;\n}\n\n.sc-question-root {\n bottom: 0;\n width: 100%;\n color: black;\n pointer-events: all;\n}\n.sc-question-inner {\n margin: 0.5rem;\n border: 1px solid hsla(0, 0%, 0%, 0.15);\n border-radius: 0.5rem;\n border-width: 2px;\n padding: 1rem;\n background: white;\n}\n.sc-question-text {\n font-size: 12px;\n padding-bottom: 8px;\n font-weight: bold;\n}\n.sc-question-input-outer {\n position: relative;\n}\n.sc-question-input {\n width: 100%;\n height: 2rem;\n padding: 0 12px;\n font-size: 10px;\n border-width: 1px;\n border-style: solid;\n border-color: hsla(0, 0%, 0%, 0.15);\n border-radius: 2rem;\n outline: none;\n transition: 0.25s ease-out;\n box-shadow: none;\n overflow: hidden;\n text-overflow: ellipsis;\n color: inherit;\n}\n.sc-question-input:focus {\n border-color: var(--sc-accent-color);\n box-shadow: 0px 0px 0px 3px var(--sc-accent-color-transparent);\n}\n.sc-question-input:hover {\n border-color: var(--sc-accent-color);\n}\n.sc-question-submit-button {\n top: 4px;\n right: 4px;\n width: 24px;\n height: 24px;\n position: absolute;\n outline: none;\n border: none;\n padding: 2px;\n margin: 0;\n border-radius: 100%;\n background: none;\n cursor: pointer;\n color: white;\n background-color: var(--sc-accent-color);\n background-image: url('+c+');\n overflow: hidden;\n}\n.sc-question-submit-button:focus {\n outline: 2px solid black;\n}\n.sc-question-submit-button-image {\n width: 100%;\n height: 100%;\n}\n\n.sc-monitor-overlay {\n\n}\n.sc-monitor-root {\n position: absolute;\n top: 0;\n left: 0;\n background: hsla(215, 100%, 95%, 1);\n color: #575e75;\n border: 1px solid hsla(0, 0%, 0%, 0.15);\n border-radius: 4px;\n font-size: 12px;\n overflow: hidden;\n user-select: none;\n -webkit-user-select: none;\n display: flex;\n flex-direction: column;\n pointer-events: all;\n}\n.sc-monitor-inner {\n display: flex;\n flex-direction: column;\n padding: 3px;\n}\n.sc-monitor-row {\n display: flex;\n flex-direction: row;\n}\n.sc-monitor-label {\n font-weight: bold;\n text-align: center;\n margin: 0 5px;\n white-space: nowrap;\n}\n.sc-monitor-slider {\n margin: 0;\n width: 100%;\n}\n.sc-monitor-value {\n min-width: 40px;\n display: flex;\n justify-content: center;\n align-items: center;\n text-align: center;\n color: white;\n margin: 0 5px;\n border-radius: 4px;\n padding: 0 2px;\n white-space: pre-wrap;\n background-color: #0fbd8c;\n}\n.sc-monitor-root[data-opcode^="motion_"] .sc-monitor-value-color {\n background-color: #4c97ff;\n}\n.sc-monitor-root[data-opcode^="sensing_"] .sc-monitor-value-color {\n background-color: #5cb1d6;\n}\n.sc-monitor-root[data-opcode^="data_"] .sc-monitor-value-color {\n background-color: #ff8c1a;\n}\n.sc-monitor-root[data-opcode^="looks_"] .sc-monitor-value-color {\n background-color: #9966ff;\n}\n.sc-monitor-root[data-opcode^="sound_"] .sc-monitor-value-color {\n background-color: #cf63cf;\n}\n.sc-monitor-large-value {\n min-height: 1.4rem;\n min-width: 3rem;\n padding: 0.1rem 0.25rem;\n text-align: center;\n color: white;\n font-size: 1rem;\n white-space: pre-wrap;\n}\n\n.sc-monitor-list-label {\n background-color: white;\n text-align: center;\n font-weight: bold;\n border-bottom: 1px solid hsla(0, 0%, 0%, 0.15);\n padding: 3px;\n}\n.sc-monitor-list-footer {\n display: flex;\n background-color: white;\n text-align: center;\n font-weight: bold;\n padding: 3px;\n}\n.sc-monitor-list-footer-text {\n text-align: center;\n flex-grow: 1;\n}\n.sc-monitor-row-delete, .sc-monitor-list-add {\n font-weight: bold;\n background: none;\n border: none;\n outline: none;\n font-family: inherit;\n color: inherit;\n cursor: pointer;\n margin: 0;\n padding: 0;\n}\n.sc-monitor-rows-outer {\n flex-grow: 1;\n}\n.sc-monitor-rows-inner {\n height: 100%;\n overflow-y: auto;\n overflow-x: hidden;\n position: relative;\n}\n.sc-monitor-rows-endpoint {\n position: absolute;\n top: 0;\n left: 0;\n width: 1px;\n height: 1px;\n pointer-events: none;\n}\n\n.sc-monitor-row-root {\n position: absolute;\n top: 0;\n left: 0;\n display: flex;\n justify-content: space-around;\n align-items: center;\n padding: 2px;\n width: 100%;\n}\n.sc-monitor-row-index {\n font-weight: bold;\n color: hsla(225, 15%, 40%, 1);\n margin: 0 3px;\n}\n.sc-monitor-row-value-outer {\n display: flex;\n align-items: center;\n min-width: 40px;\n height: 22px;\n border: 1px solid hsla(0, 0%, 0%, 0.15);\n background-color: #fc662c;\n color: white;\n margin: 0 3px;\n border-radius: calc(0.5rem / 2);\n flex-grow: 1;\n}\n.sc-monitor-row-value-editing .sc-monitor-row-value-outer {\n background-color: #e25c28;\n}\n.sc-monitor-row-value-inner {\n padding: 3px 5px;\n width: 100%;\n color: inherit;\n background: none;\n border: none;\n font: inherit;\n outline: none;\n overflow: hidden;\n text-overflow: ellipsis;\n user-select: text;\n -webkit-user-select: text;\n white-space: pre;\n}\n.sc-monitor-row-value-editing .sc-monitor-row-value-inner {\n padding-right: 0;\n}\n.sc-monitor-row-delete {\n display: none;\n font-size: 150%;\n padding: 0 2px;\n}\n.sc-monitor-row-value-editing .sc-monitor-row-delete {\n display: block;\n}\n.sc-monitor-empty {\n text-align: center;\n padding: 5px;\n}\n\n.sc-controls-bar {\n transform: translateY(-100%);\n display: flex;\n width: 100%;\n justify-content: space-between;\n flex-wrap: nowrap;\n}\n.sc-controls-bar > * {\n display: flex;\n align-items: center;\n flex-wrap: nowrap;\n}\n\n.sc-context-menu {\n position: absolute;\n color: black;\n box-shadow: 0px 0px 5px 1px hsla(0, 0%, 0%, 0.25);\n min-width: 130px;\n opacity: 0;\n transition: .2s opacity;\n}\n.sc-context-menu-item {\n display: block;\n width: 100%;\n background-color: white;\n border: none;\n border-radius: 0;\n cursor: pointer;\n text-align: left;\n font-family: inherit;\n font-size: 0.85em;\n padding: 8px 12px;\n margin: 0;\n transition: .1s background-color, .1s color;\n}\n.sc-context-menu-item:focus {\n outline: 2px solid black;\n}\n.sc-context-menu-item:hover,\n.sc-context-menu-item:active {\n color: white;\n background-color: var(--sc-accent-color);\n}\n.sc-context-menu-item:first-child {\n border-radius: 4px 4px 0 0;\n}\n.sc-context-menu-item:last-child {\n border-radius: 0 0 4px 4px;\n}\n\n.sc-dropping {\n background-color: var(--sc-accent-color-transparent);\n}\n',""]),l.locals={root:"sc-root",layers:"sc-layers","scaled-overlays-outer":"sc-scaled-overlays-outer",scaledOverlaysOuter:"sc-scaled-overlays-outer","scaled-overlays-inner":"sc-scaled-overlays-inner",scaledOverlaysInner:"sc-scaled-overlays-inner",canvas:"sc-canvas","question-root":"sc-question-root",questionRoot:"sc-question-root","question-inner":"sc-question-inner",questionInner:"sc-question-inner","question-text":"sc-question-text",questionText:"sc-question-text","question-input-outer":"sc-question-input-outer",questionInputOuter:"sc-question-input-outer","question-input":"sc-question-input",questionInput:"sc-question-input","question-submit-button":"sc-question-submit-button",questionSubmitButton:"sc-question-submit-button","question-submit-button-image":"sc-question-submit-button-image",questionSubmitButtonImage:"sc-question-submit-button-image","monitor-overlay":"sc-monitor-overlay",monitorOverlay:"sc-monitor-overlay","monitor-root":"sc-monitor-root",monitorRoot:"sc-monitor-root","monitor-inner":"sc-monitor-inner",monitorInner:"sc-monitor-inner","monitor-row":"sc-monitor-row",monitorRow:"sc-monitor-row","monitor-label":"sc-monitor-label",monitorLabel:"sc-monitor-label","monitor-slider":"sc-monitor-slider",monitorSlider:"sc-monitor-slider","monitor-value":"sc-monitor-value",monitorValue:"sc-monitor-value","monitor-value-color":"sc-monitor-value-color",monitorValueColor:"sc-monitor-value-color","monitor-large-value":"sc-monitor-large-value",monitorLargeValue:"sc-monitor-large-value","monitor-list-label":"sc-monitor-list-label",monitorListLabel:"sc-monitor-list-label","monitor-list-footer":"sc-monitor-list-footer",monitorListFooter:"sc-monitor-list-footer","monitor-list-footer-text":"sc-monitor-list-footer-text",monitorListFooterText:"sc-monitor-list-footer-text","monitor-row-delete":"sc-monitor-row-delete",monitorRowDelete:"sc-monitor-row-delete","monitor-list-add":"sc-monitor-list-add",monitorListAdd:"sc-monitor-list-add","monitor-rows-outer":"sc-monitor-rows-outer",monitorRowsOuter:"sc-monitor-rows-outer","monitor-rows-inner":"sc-monitor-rows-inner",monitorRowsInner:"sc-monitor-rows-inner","monitor-rows-endpoint":"sc-monitor-rows-endpoint",monitorRowsEndpoint:"sc-monitor-rows-endpoint","monitor-row-root":"sc-monitor-row-root",monitorRowRoot:"sc-monitor-row-root","monitor-row-index":"sc-monitor-row-index",monitorRowIndex:"sc-monitor-row-index","monitor-row-value-outer":"sc-monitor-row-value-outer",monitorRowValueOuter:"sc-monitor-row-value-outer","monitor-row-value-editing":"sc-monitor-row-value-editing",monitorRowValueEditing:"sc-monitor-row-value-editing","monitor-row-value-inner":"sc-monitor-row-value-inner",monitorRowValueInner:"sc-monitor-row-value-inner","monitor-empty":"sc-monitor-empty",monitorEmpty:"sc-monitor-empty","controls-bar":"sc-controls-bar",controlsBar:"sc-controls-bar","context-menu":"sc-context-menu",contextMenu:"sc-context-menu","context-menu-item":"sc-context-menu-item",contextMenuItem:"sc-context-menu-item",dropping:"sc-dropping"},t.a=l},function(e,t,n){const r=n(127);e.exports=r},function(e,t,n){"use strict";(function(e){!function(e){function t(){}function n(){}var r=String.fromCharCode,i={}.toString,s=i.call(e.SharedArrayBuffer),o=i(),a=e.Uint8Array,l=a||Array,c=a?ArrayBuffer:l,u=c.isView||function(e){return e&&"length"in e},d=i.call(c.prototype);c=n.prototype;var h=e.TextEncoder,p=new(a?Uint16Array:l)(32);t.prototype.decode=function(e){if(!u(e)){var t=i.call(e);if(t!==d&&t!==s&&t!==o)throw TypeError("Failed to execute 'decode' on 'TextDecoder': The provided value is not of type '(ArrayBuffer or ArrayBufferView)'");e=a?new l(e):e||[]}for(var n,c,h,m=t="",f=0,g=0|e.length,y=g-32|0,b=0,v=0,S=0,w=-1;f<g;){for(n=f<=y?32:g-f|0;S<n;f=f+1|0,S=S+1|0){switch((c=255&e[f])>>4){case 15:if(2!=(h=255&e[f=f+1|0])>>6||247<c){f=f-1|0;break}b=(7&c)<<6|63&h,v=5,c=256;case 14:b<<=6,b|=(15&c)<<6|63&(h=255&e[f=f+1|0]),v=2==h>>6?v+4|0:24,c=c+256&768;case 13:case 12:b<<=6,b|=(31&c)<<6|63&(h=255&e[f=f+1|0]),v=v+7|0,f<g&&2==h>>6&&b>>v&&1114112>b?(c=b,0<=(b=b-65536|0)&&(w=55296+(b>>10)|0,c=56320+(1023&b)|0,31>S?(p[S]=w,S=S+1|0,w=-1):(h=w,w=c,c=h))):(f=f-(c>>=8)-1|0,c=65533),b=v=0,n=f<=y?32:g-f|0;default:p[S]=c;continue;case 11:case 10:case 9:case 8:}p[S]=65533}if(m+=r(p[0],p[1],p[2],p[3],p[4],p[5],p[6],p[7],p[8],p[9],p[10],p[11],p[12],p[13],p[14],p[15],p[16],p[17],p[18],p[19],p[20],p[21],p[22],p[23],p[24],p[25],p[26],p[27],p[28],p[29],p[30],p[31]),32>S&&(m=m.slice(0,S-32|0)),f<g){if(p[0]=w,S=~w>>>31,w=-1,m.length<t.length)continue}else-1!==w&&(m+=r(w));t+=m,m=""}return t},c.encode=function(e){var t,n=0|(e=void 0===e?"":""+e).length,r=new l(8+(n<<1)|0),i=0,s=!a;for(t=0;t<n;t=t+1|0,i=i+1|0){var o=0|e.charCodeAt(t);if(127>=o)r[i]=o;else{if(2047>=o)r[i]=192|o>>6;else{e:{if(55296<=o)if(56319>=o){var c=0|e.charCodeAt(t=t+1|0);if(56320<=c&&57343>=c){if(65535<(o=(o<<10)+c-56613888|0)){r[i]=240|o>>18,r[i=i+1|0]=128|o>>12&63,r[i=i+1|0]=128|o>>6&63,r[i=i+1|0]=128|63&o;continue}break e}o=65533}else 57343>=o&&(o=65533);!s&&t<<1<i&&t<<1<(i-7|0)&&(s=!0,(c=new l(3*n)).set(r),r=c)}r[i]=224|o>>12,r[i=i+1|0]=128|o>>6&63}r[i=i+1|0]=128|63&o}}return a?r.subarray(0,i):r.slice(0,i)},h||(e.TextDecoder=t,e.TextEncoder=n)}(""+void 0==typeof e?""+void 0==typeof self?this:self:e)}).call(this,n(9))},function(e,t,n){const r=n(128),i=n(1);e.exports=new class extends r{constructor(){super(),this.services={},this.workerClass="undefined"==typeof Worker?null:Worker,this.workers=[]}callSync(e,t){const{provider:n,isRemote:r}=this._getServiceProvider(e);if(n){if(r)throw new Error("Cannot use 'callSync' on remote provider for service ".concat(e,"."));for(var i=arguments.length,s=new Array(i>2?i-2:0),o=2;o<i;o++)s[o-2]=arguments[o];return n[t].apply(n,s)}throw new Error("Provider not found for service: ".concat(e))}setServiceSync(e,t){Object.prototype.hasOwnProperty.call(this.services,e)&&i.warn("Central dispatch replacing existing service provider for ".concat(e)),this.services[e]=t}setService(e,t){try{return this.setServiceSync(e,t),Promise.resolve()}catch(e){return Promise.reject(e)}}addWorker(e){-1===this.workers.indexOf(e)?(this.workers.push(e),e.onmessage=this._onMessage.bind(this,e),this._remoteCall(e,"dispatch","handshake").catch((e=>{i.error("Could not handshake with worker: ".concat(e))}))):i.warn("Central dispatch ignoring attempt to add duplicate worker")}_getServiceProvider(e){const t=this.services[e];return t&&{provider:t,isRemote:Boolean(this.workerClass&&t instanceof this.workerClass||t.isRemote)}}_onDispatchMessage(e,t){let n;if("setService"===t.method)n=this.setService(t.args[0],e);else i.error("Central dispatch received message for unknown method: ".concat(t.method));return n}}},function(e,t,n){const r=n(6);e.exports=function(e,t,n){return e&&e.id&&e.default?r(e,t,n):e}},function(e,t){var n="long",r="short",i="narrow",s="numeric",o="2-digit";e.exports={number:{decimal:{style:"decimal"},integer:{style:"decimal",maximumFractionDigits:0},currency:{style:"currency",currency:"USD"},percent:{style:"percent"},default:{style:"decimal"}},date:{short:{month:s,day:s,year:o},medium:{month:r,day:s,year:s},long:{month:n,day:s,year:s},full:{month:n,day:s,year:s,weekday:n},default:{month:r,day:s,year:s}},time:{short:{hour:s,minute:s},medium:{hour:s,minute:s,second:s},long:{hour:s,minute:s,second:s,timeZoneName:r},full:{hour:s,minute:s,second:s,timeZoneName:r},default:{hour:s,minute:s,second:s}},duration:{default:{hours:{minimumIntegerDigits:1,maximumFractionDigits:0},minutes:{minimumIntegerDigits:2,maximumFractionDigits:0},seconds:{minimumIntegerDigits:2,maximumFractionDigits:3}}},parseNumberPattern:function(e){if(e){var t={},n=e.match(/\b[A-Z]{3}\b/i),r=e.replace(/[^¤]/g,"").length;if(!r&&n&&(r=1),r?(t.style="currency",t.currencyDisplay=1===r?"symbol":2===r?"code":"name",t.currency=n?n[0].toUpperCase():"USD"):e.indexOf("%")>=0&&(t.style="percent"),!/[@#0]/.test(e))return t.style?t:void 0;if(t.useGrouping=e.indexOf(",")>=0,/E\+?[@#0]+/i.test(e)||e.indexOf("@")>=0){var i=e.replace(/E\+?[@#0]+|[^@#0]/gi,"");t.minimumSignificantDigits=Math.min(Math.max(i.replace(/[^@0]/g,"").length,1),21),t.maximumSignificantDigits=Math.min(Math.max(i.length,1),21)}else{for(var s=e.replace(/[^#0.]/g,"").split("."),o=s[0],a=o.length-1;"0"===o[a];)--a;t.minimumIntegerDigits=Math.min(Math.max(o.length-1-a,1),21);var l=s[1]||"";for(a=0;"0"===l[a];)++a;for(t.minimumFractionDigits=Math.min(Math.max(a,0),20);"#"===l[a];)++a;t.maximumFractionDigits=Math.min(Math.max(a,0),20)}return t}},parseDatePattern:function(e){if(e){for(var t={},a=0;a<e.length;){for(var l=e[a],c=1;e[++a]===l;)++c;switch(l){case"G":t.era=5===c?i:4===c?n:r;break;case"y":case"Y":t.year=2===c?o:s;break;case"M":case"L":c=Math.min(Math.max(c-1,0),4),t.month=[s,o,r,n,i][c];break;case"E":case"e":case"c":t.weekday=5===c?i:4===c?n:r;break;case"d":case"D":t.day=2===c?o:s;break;case"h":case"K":t.hour12=!0,t.hour=2===c?o:s;break;case"H":case"k":t.hour12=!1,t.hour=2===c?o:s;break;case"m":t.minute=2===c?o:s;break;case"s":case"S":t.second=2===c?o:s;break;case"z":case"Z":case"v":case"V":t.timeZoneName=1===c?r:n}}return Object.keys(t).length?t:void 0}}}},function(e,t){e.exports=function(e,t){if("string"==typeof e&&t[e])return e;for(var n=[].concat(e||[]),r=0,i=n.length;r<i;++r)for(var s=n[r].split("-");s.length;){var o=s.join("-");if(t[o])return o;s.pop()}}},function(e,t,n){"use strict";var r="zero",i="one",s="two",o="few",a="many",l="other",c=[function(e){return 1===+e?i:l},function(e){var t=+e;return 0<=t&&t<=1?i:l},function(e){return 0===Math.floor(Math.abs(+e))||1===+e?i:l},function(e){var t=+e;return 0===t?r:1===t?i:2===t?s:3<=t%100&&t%100<=10?o:11<=t%100&&t%100<=99?a:l},function(e){var t=Math.floor(Math.abs(+e)),n=(e+".").split(".")[1].length;return 1===t&&0===n?i:l},function(e){var t=+e;return t%10==1&&t%100!=11?i:2<=t%10&&t%10<=4&&(t%100<12||14<t%100)?o:t%10==0||5<=t%10&&t%10<=9||11<=t%100&&t%100<=14?a:l},function(e){var t=+e;return t%10==1&&t%100!=11&&t%100!=71&&t%100!=91?i:t%10==2&&t%100!=12&&t%100!=72&&t%100!=92?s:(3<=t%10&&t%10<=4||t%10==9)&&(t%100<10||19<t%100)&&(t%100<70||79<t%100)&&(t%100<90||99<t%100)?o:0!==t&&t%1e6==0?a:l},function(e){var t=Math.floor(Math.abs(+e)),n=(e+".").split(".")[1].length,r=+(e+".").split(".")[1];return 0===n&&t%10==1&&t%100!=11||r%10==1&&r%100!=11?i:0===n&&2<=t%10&&t%10<=4&&(t%100<12||14<t%100)||2<=r%10&&r%10<=4&&(r%100<12||14<r%100)?o:l},function(e){var t=Math.floor(Math.abs(+e)),n=(e+".").split(".")[1].length;return 1===t&&0===n?i:2<=t&&t<=4&&0===n?o:0!==n?a:l},function(e){var t=+e;return 0===t?r:1===t?i:2===t?s:3===t?o:6===t?a:l},function(e){var t=Math.floor(Math.abs(+e)),n=+(""+e).replace(/^[^.]*.?|0+$/g,"");return 1===+e||0!==n&&(0===t||1===t)?i:l},function(e){var t=Math.floor(Math.abs(+e)),n=(e+".").split(".")[1].length,r=+(e+".").split(".")[1];return 0===n&&t%100==1||r%100==1?i:0===n&&t%100==2||r%100==2?s:0===n&&3<=t%100&&t%100<=4||3<=r%100&&r%100<=4?o:l},function(e){var t=Math.floor(Math.abs(+e));return 0===t||1===t?i:l},function(e){var t=Math.floor(Math.abs(+e)),n=(e+".").split(".")[1].length,r=+(e+".").split(".")[1];return 0===n&&(1===t||2===t||3===t)||0===n&&t%10!=4&&t%10!=6&&t%10!=9||0!==n&&r%10!=4&&r%10!=6&&r%10!=9?i:l},function(e){var t=+e;return 1===t?i:2===t?s:3<=t&&t<=6?o:7<=t&&t<=10?a:l},function(e){var t=+e;return 1===t||11===t?i:2===t||12===t?s:3<=t&&t<=10||13<=t&&t<=19?o:l},function(e){var t=Math.floor(Math.abs(+e)),n=(e+".").split(".")[1].length;return 0===n&&t%10==1?i:0===n&&t%10==2?s:0!==n||t%100!=0&&t%100!=20&&t%100!=40&&t%100!=60&&t%100!=80?0!==n?a:l:o},function(e){var t=Math.floor(Math.abs(+e)),n=(e+".").split(".")[1].length,r=+e;return 1===t&&0===n?i:2===t&&0===n?s:0===n&&(r<0||10<r)&&r%10==0?a:l},function(e){var t=Math.floor(Math.abs(+e)),n=+(""+e).replace(/^[^.]*.?|0+$/g,"");return 0===n&&t%10==1&&t%100!=11||0!==n?i:l},function(e){var t=+e;return 1===t?i:2===t?s:l},function(e){var t=+e;return 0===t?r:1===t?i:l},function(e){var t=Math.floor(Math.abs(+e)),n=+e;return 0===n?r:0!==t&&1!==t||0===n?l:i},function(e){var t=+(e+".").split(".")[1],n=+e;return n%10==1&&(n%100<11||19<n%100)?i:2<=n%10&&n%10<=9&&(n%100<11||19<n%100)?o:0!==t?a:l},function(e){var t=(e+".").split(".")[1].length,n=+(e+".").split(".")[1],s=+e;return s%10==0||11<=s%100&&s%100<=19||2===t&&11<=n%100&&n%100<=19?r:s%10==1&&s%100!=11||2===t&&n%10==1&&n%100!=11||2!==t&&n%10==1?i:l},function(e){var t=Math.floor(Math.abs(+e)),n=(e+".").split(".")[1].length,r=+(e+".").split(".")[1];return 0===n&&t%10==1&&t%100!=11||r%10==1&&r%100!=11?i:l},function(e){var t=Math.floor(Math.abs(+e)),n=(e+".").split(".")[1].length,r=+e;return 1===t&&0===n?i:0!==n||0===r||1!==r&&1<=r%100&&r%100<=19?o:l},function(e){var t=+e;return 1===t?i:0===t||2<=t%100&&t%100<=10?o:11<=t%100&&t%100<=19?a:l},function(e){var t=Math.floor(Math.abs(+e)),n=(e+".").split(".")[1].length;return 1===t&&0===n?i:0===n&&2<=t%10&&t%10<=4&&(t%100<12||14<t%100)?o:0===n&&1!==t&&0<=t%10&&t%10<=1||0===n&&5<=t%10&&t%10<=9||0===n&&12<=t%100&&t%100<=14?a:l},function(e){var t=Math.floor(Math.abs(+e));return 0<=t&&t<=1?i:l},function(e){var t=Math.floor(Math.abs(+e)),n=(e+".").split(".")[1].length;return 0===n&&t%10==1&&t%100!=11?i:0===n&&2<=t%10&&t%10<=4&&(t%100<12||14<t%100)?o:0===n&&t%10==0||0===n&&5<=t%10&&t%10<=9||0===n&&11<=t%100&&t%100<=14?a:l},function(e){var t=+e;return 0===Math.floor(Math.abs(+e))||1===t?i:2<=t&&t<=10?o:l},function(e){var t=Math.floor(Math.abs(+e)),n=+(e+".").split(".")[1],r=+e;return 0===r||1===r||0===t&&1===n?i:l},function(e){var t=Math.floor(Math.abs(+e)),n=(e+".").split(".")[1].length;return 0===n&&t%100==1?i:0===n&&t%100==2?s:0===n&&3<=t%100&&t%100<=4||0!==n?o:l},function(e){var t=+e;return 0<=t&&t<=1||11<=t&&t<=99?i:l},function(e){var t=+e;return 1===t||5===t||7===t||8===t||9===t||10===t?i:2===t||3===t?s:4===t?o:6===t?a:l},function(e){var t=Math.floor(Math.abs(+e));return t%10==1||t%10==2||t%10==5||t%10==7||t%10==8||t%100==20||t%100==50||t%100==70||t%100==80?i:t%10==3||t%10==4||t%1e3==100||t%1e3==200||t%1e3==300||t%1e3==400||t%1e3==500||t%1e3==600||t%1e3==700||t%1e3==800||t%1e3==900?o:0===t||t%10==6||t%100==40||t%100==60||t%100==90?a:l},function(e){var t=+e;return t%10!=2&&t%10!=3||t%100==12||t%100==13?l:o},function(e){var t=+e;return 1===t||3===t?i:2===t?s:4===t?o:l},function(e){var t=+e;return 0===t||7===t||8===t||9===t?r:1===t?i:2===t?s:3===t||4===t?o:5===t||6===t?a:l},function(e){var t=+e;return t%10==1&&t%100!=11?i:t%10==2&&t%100!=12?s:t%10==3&&t%100!=13?o:l},function(e){var t=+e;return 1===t||11===t?i:2===t||12===t?s:3===t||13===t?o:l},function(e){var t=+e;return 1===t?i:2===t||3===t?s:4===t?o:6===t?a:l},function(e){var t=+e;return 1===t||5===t?i:l},function(e){var t=+e;return 11===t||8===t||80===t||800===t?a:l},function(e){var t=Math.floor(Math.abs(+e));return 1===t?i:0===t||2<=t%100&&t%100<=20||t%100==40||t%100==60||t%100==80?a:l},function(e){var t=+e;return t%10==6||t%10==9||t%10==0&&0!==t?a:l},function(e){var t=Math.floor(Math.abs(+e));return t%10==1&&t%100!=11?i:t%10==2&&t%100!=12?s:t%10!=7&&t%10!=8||t%100==17||t%100==18?l:a},function(e){var t=+e;return 1===t?i:2===t||3===t?s:4===t?o:l},function(e){var t=+e;return 1<=t&&t<=4?i:l},function(e){var t=+e;return 1===t||5===t||7<=t&&t<=9?i:2===t||3===t?s:4===t?o:6===t?a:l},function(e){var t=+e;return 1===t?i:t%10==4&&t%100!=14?a:l},function(e){var t=+e;return t%10!=1&&t%10!=2||t%100==11||t%100==12?l:i},function(e){var t=+e;return t%10==6||t%10==9||10===t?o:l},function(e){var t=+e;return t%10==3&&t%100!=13?o:l}];e.exports={af:{cardinal:c[0]},ak:{cardinal:c[1]},am:{cardinal:c[2]},ar:{cardinal:c[3]},ars:{cardinal:c[3]},as:{cardinal:c[2],ordinal:c[34]},asa:{cardinal:c[0]},ast:{cardinal:c[4]},az:{cardinal:c[0],ordinal:c[35]},be:{cardinal:c[5],ordinal:c[36]},bem:{cardinal:c[0]},bez:{cardinal:c[0]},bg:{cardinal:c[0]},bh:{cardinal:c[1]},bn:{cardinal:c[2],ordinal:c[34]},br:{cardinal:c[6]},brx:{cardinal:c[0]},bs:{cardinal:c[7]},ca:{cardinal:c[4],ordinal:c[37]},ce:{cardinal:c[0]},cgg:{cardinal:c[0]},chr:{cardinal:c[0]},ckb:{cardinal:c[0]},cs:{cardinal:c[8]},cy:{cardinal:c[9],ordinal:c[38]},da:{cardinal:c[10]},de:{cardinal:c[4]},dsb:{cardinal:c[11]},dv:{cardinal:c[0]},ee:{cardinal:c[0]},el:{cardinal:c[0]},en:{cardinal:c[4],ordinal:c[39]},eo:{cardinal:c[0]},es:{cardinal:c[0]},et:{cardinal:c[4]},eu:{cardinal:c[0]},fa:{cardinal:c[2]},ff:{cardinal:c[12]},fi:{cardinal:c[4]},fil:{cardinal:c[13],ordinal:c[0]},fo:{cardinal:c[0]},fr:{cardinal:c[12],ordinal:c[0]},fur:{cardinal:c[0]},fy:{cardinal:c[4]},ga:{cardinal:c[14],ordinal:c[0]},gd:{cardinal:c[15],ordinal:c[40]},gl:{cardinal:c[4]},gsw:{cardinal:c[0]},gu:{cardinal:c[2],ordinal:c[41]},guw:{cardinal:c[1]},gv:{cardinal:c[16]},ha:{cardinal:c[0]},haw:{cardinal:c[0]},he:{cardinal:c[17]},hi:{cardinal:c[2],ordinal:c[41]},hr:{cardinal:c[7]},hsb:{cardinal:c[11]},hu:{cardinal:c[0],ordinal:c[42]},hy:{cardinal:c[12],ordinal:c[0]},ia:{cardinal:c[4]},io:{cardinal:c[4]},is:{cardinal:c[18]},it:{cardinal:c[4],ordinal:c[43]},iu:{cardinal:c[19]},iw:{cardinal:c[17]},jgo:{cardinal:c[0]},ji:{cardinal:c[4]},jmc:{cardinal:c[0]},ka:{cardinal:c[0],ordinal:c[44]},kab:{cardinal:c[12]},kaj:{cardinal:c[0]},kcg:{cardinal:c[0]},kk:{cardinal:c[0],ordinal:c[45]},kkj:{cardinal:c[0]},kl:{cardinal:c[0]},kn:{cardinal:c[2]},ks:{cardinal:c[0]},ksb:{cardinal:c[0]},ksh:{cardinal:c[20]},ku:{cardinal:c[0]},kw:{cardinal:c[19]},ky:{cardinal:c[0]},lag:{cardinal:c[21]},lb:{cardinal:c[0]},lg:{cardinal:c[0]},ln:{cardinal:c[1]},lt:{cardinal:c[22]},lv:{cardinal:c[23]},mas:{cardinal:c[0]},mg:{cardinal:c[1]},mgo:{cardinal:c[0]},mk:{cardinal:c[24],ordinal:c[46]},ml:{cardinal:c[0]},mn:{cardinal:c[0]},mo:{cardinal:c[25],ordinal:c[0]},mr:{cardinal:c[2],ordinal:c[47]},mt:{cardinal:c[26]},nah:{cardinal:c[0]},naq:{cardinal:c[19]},nb:{cardinal:c[0]},nd:{cardinal:c[0]},ne:{cardinal:c[0],ordinal:c[48]},nl:{cardinal:c[4]},nn:{cardinal:c[0]},nnh:{cardinal:c[0]},no:{cardinal:c[0]},nr:{cardinal:c[0]},nso:{cardinal:c[1]},ny:{cardinal:c[0]},nyn:{cardinal:c[0]},om:{cardinal:c[0]},or:{cardinal:c[0],ordinal:c[49]},os:{cardinal:c[0]},pa:{cardinal:c[1]},pap:{cardinal:c[0]},pl:{cardinal:c[27]},prg:{cardinal:c[23]},ps:{cardinal:c[0]},pt:{cardinal:c[28]},"pt-PT":{cardinal:c[4]},rm:{cardinal:c[0]},ro:{cardinal:c[25],ordinal:c[0]},rof:{cardinal:c[0]},ru:{cardinal:c[29]},rwk:{cardinal:c[0]},saq:{cardinal:c[0]},sc:{cardinal:c[4],ordinal:c[43]},scn:{cardinal:c[4],ordinal:c[43]},sd:{cardinal:c[0]},sdh:{cardinal:c[0]},se:{cardinal:c[19]},seh:{cardinal:c[0]},sh:{cardinal:c[7]},shi:{cardinal:c[30]},si:{cardinal:c[31]},sk:{cardinal:c[8]},sl:{cardinal:c[32]},sma:{cardinal:c[19]},smi:{cardinal:c[19]},smj:{cardinal:c[19]},smn:{cardinal:c[19]},sms:{cardinal:c[19]},sn:{cardinal:c[0]},so:{cardinal:c[0]},sq:{cardinal:c[0],ordinal:c[50]},sr:{cardinal:c[7]},ss:{cardinal:c[0]},ssy:{cardinal:c[0]},st:{cardinal:c[0]},sv:{cardinal:c[4],ordinal:c[51]},sw:{cardinal:c[4]},syr:{cardinal:c[0]},ta:{cardinal:c[0]},te:{cardinal:c[0]},teo:{cardinal:c[0]},ti:{cardinal:c[1]},tig:{cardinal:c[0]},tk:{cardinal:c[0],ordinal:c[52]},tl:{cardinal:c[13],ordinal:c[0]},tn:{cardinal:c[0]},tr:{cardinal:c[0]},ts:{cardinal:c[0]},tzm:{cardinal:c[33]},ug:{cardinal:c[0]},uk:{cardinal:c[29],ordinal:c[53]},ur:{cardinal:c[4]},uz:{cardinal:c[0]},ve:{cardinal:c[0]},vo:{cardinal:c[0]},vun:{cardinal:c[0]},wa:{cardinal:c[1]},wae:{cardinal:c[0]},xh:{cardinal:c[0]},xog:{cardinal:c[0]},yi:{cardinal:c[4]},zu:{cardinal:c[2]},lo:{ordinal:c[0]},ms:{ordinal:c[0]},vi:{ordinal:c[0]}}},function(e,t){e.exports=class{constructor(){this._requestID=0,this._openRequests={}}sendRemoteRequest(e,t){const n=this._requestID++,r=new Promise(((e,t)=>{this._openRequests[n]={resolve:e,reject:t}}));return this._sendRequest(e,t,n),r}sendRemoteNotification(e,t){this._sendRequest(e,t)}didReceiveCall(){throw new Error("Must override didReceiveCall")}_sendMessage(){throw new Error("Must override _sendMessage")}_sendRequest(e,t,n){const r={jsonrpc:"2.0",method:e,params:t};null!==n&&(r.id=n),this._sendMessage(r)}_handleMessage(e){if("2.0"!==e.jsonrpc)throw new Error("Bad or missing JSON-RPC version in message: ".concat(e));Object.prototype.hasOwnProperty.call(e,"method")?this._handleRequest(e):this._handleResponse(e)}_sendResponse(e,t,n){const r={jsonrpc:"2.0",id:e};n?r.error=n:r.result=t||null,this._sendMessage(r)}_handleResponse(e){const{result:t,error:n,id:r}=e,i=this._openRequests[r];delete this._openRequests[r],i&&(n?i.reject(n):i.resolve(t))}_handleRequest(e){const{method:t,params:n,id:r}=e,i=this.didReceiveCall(t,n);null!=r&&Promise.resolve(i).then((e=>{this._sendResponse(r,e)}),(e=>{this._sendResponse(r,null,e)}))}}},function(e){e.exports=JSON.parse('{"menuMap":{"cs":[{"code":"cs","name":"čeština"}],"da":[{"code":"da","name":"Dansk"}],"gl":[{"code":"gl","name":"galego"}],"sl":[{"code":"sl","name":"slovenščina"}],"fr":[{"code":"fr","name":"Français"}],"hu":[{"code":"hu","name":"magyar"}],"uk":[{"code":"uk","name":"українська"}],"zh-tw":[{"code":"zh-tw","name":"中文(繁體)"}],"pt":[{"code":"pt","name":"Portuguese"}],"pt-br":[{"code":"pt","name":"Português"}],"tr":[{"code":"tr","name":"Türkçe"}],"ga":[{"code":"ga","name":"Gaeilge"}],"th":[{"code":"th","name":"ภาษาไทย"}],"ja":[{"code":"ja","name":"日本語"}],"ja-hira":[{"code":"ja","name":"日本語"}],"nl":[{"code":"nl","name":"Nederlands"}],"gd":[{"code":"gd","name":"Gàidhlig"}],"nb":[{"code":"nb","name":"norsk"}],"de":[{"code":"de","name":"Deutsch"}],"he":[{"code":"he","name":"עברית"}],"sk":[{"code":"sk","name":"slovenčina"}],"zu":[{"code":"zu","name":"isiZulu"}],"ru":[{"code":"ru","name":"русский"}],"pl":[{"code":"pl","name":"polski"}],"am":[{"code":"am","name":"አማርኛ"}],"az":[{"code":"az","name":"Azərbaycan dili"}],"hr":[{"code":"hr","name":"hrvatski"}],"fa":[{"code":"fa","name":"فارسی"}],"mi":[{"code":"mi","name":"Māori"}],"el":[{"code":"el","name":"Ελληνικά"}],"is":[{"code":"is","name":"íslenska"}],"fi":[{"code":"fi","name":"suomi"}],"eu":[{"code":"eu","name":"euskara"}],"ca":[{"code":"ca","name":"català"}],"lv":[{"code":"lv","name":"latviešu"}],"id":[{"code":"id","name":"Indonesia"}],"es":[{"code":"es","name":"español"}],"es-419":[{"code":"es","name":"español"}],"et":[{"code":"et","name":"eesti"}],"cy":[{"code":"cy","name":"Cymraeg"}],"zh-cn":[{"code":"zh-cn","name":"中文(简体)"}],"bg":[{"code":"bg","name":"български"}],"ar":[{"code":"ar","name":"العربية"}],"en":[{"code":"en","name":"English"}],"sr":[{"code":"sr","name":"српски"}],"sv":[{"code":"sv","name":"svenska"}],"ro":[{"code":"ro","name":"Română"}],"lt":[{"code":"lt","name":"lietuvių"}],"ko":[{"code":"ko","name":"한국어"}],"it":[{"code":"it","name":"Italiano"}],"vi":[{"code":"vi","name":"Tiếng Việt"}]},"nameMap":{"albánština":"sq","amharština":"am","angličtina":"en","arabština":"ar","arménština":"hy","ázerbájdžánština":"az","barmština":"my","baskičtina":"eu","běloruština":"be","bulharština":"bg","čeština":"cs","čínština (tradiční)":"zh-tw","čínština (zjednodušená)":"zh-cn","dánština":"da","esperanto":"eo","estonština":"et","finština":"fi","francouzština":"fr","galicijština":"gl","haitská kreolština":"ht","hebrejština":"he","hindština":"hi","holandština":"nl","chorvatština":"hr","indonéština":"id","irština":"ga","islandština":"is","italština":"it","japonština":"ja","kannadština":"kn","katalánština":"ca","korejština":"ko","kurdština":"ku","latina":"la","litevština":"lt","lotyština":"lv","maďarština":"hu","makedonština":"mk","malajálamština":"ml","malajština":"ms","maltština":"mt","maorština":"mi","marátština":"mr","mongolština":"mn","němčina":"de","norština":"nb","perština":"fa","polština":"pl","portugalština":"pt","rumunština":"ro","ruština":"ru","řečtina":"el","skotská gaelština":"gd","slovenština":"sk","slovinština":"sl","srbština":"sr","španělština":"es","švédština":"sv","telužština":"te","thajština":"th","turečtina":"tr","ukrajinština":"uk","uzbečtina":"uz","velština":"cy","vietnamština":"vi","zulu":"zu","albansk":"sq","amharisk":"am","arabisk":"ar","armensk":"hy","aserbajdsjansk":"az","baskisk":"eu","bulgarsk":"bg","burmesisk":"my","dansk":"da","engelsk":"en","estisk":"et","finsk":"fi","fransk":"fr","galicisk":"gl","græsk":"el","haitisk kreolsk":"ht","hebraisk":"he","hindi":"hi","hollandsk":"nl","hviderussisk":"be","indonesisk":"id","irsk":"ga","islandsk":"is","italiensk":"it","japansk":"ja","kannada":"kn","katalansk":"ca","kinesisk (forenklet)":"zh-cn","kinesisk (traditionelt)":"zh-tw","koreansk":"ko","kroatisk":"hr","kurdisk":"ku","latin":"la","lettisk":"lv","litauisk":"lt","makedonsk":"mk","malajisk":"ms","malayalam":"ml","maltesisk":"mt","maori":"mi","marathi":"mr","mongolsk":"mn","norsk":"nb","persisk":"fa","polsk":"pl","portugisisk":"pt","rumænsk":"ro","russisk":"ru","serbisk":"sr","skotsk gælisk":"gd","slovakisk":"sk","slovensk":"sl","spansk":"es","svensk":"sv","telugu":"te","thailandsk":"th","tjekkisk":"cs","tyrkisk":"tr","tysk":"de","ukrainsk":"uk","ungarsk":"hu","usbekisk":"uz","vietnamesisk":"vi","walisisk":"cy","acerbaixano":"az","albanés":"sq","alemán":"de","amárico":"am","árabe":"ar","armenio":"hy","bielorruso":"be","birmano":"my","búlgaro":"bg","canarés":"kn","catalán":"ca","checo":"cs","chinés (simplificado)":"zh-cn","chinés (tradicional)":"zh-tw","coreano":"ko","crioulo haitiano":"ht","croata":"hr","curdo":"ku","dinamarqués":"da","eslovaco":"sk","esloveno":"sl","español":"es","estoniano":"et","éuscaro":"eu","finés":"fi","francés":"fr","gaélico escocés":"gd","galego":"gl","galés":"cy","grego":"el","hebreo":"he","húngaro":"hu","indonesio":"id","inglés":"en","irlandés":"ga","islandés":"is","italiano":"it","latín":"la","letón":"lv","lituano":"lt","macedonio":"mk","malabar":"ml","malaio":"ms","maltés":"mt","maorí":"mi","mongol":"mn","neerlandés":"nl","noruegués":"nb","persa":"fa","polaco":"pl","portugués":"pt","romanés":"ro","ruso":"ru","serbio":"sr","sueco":"sv","tailandés":"th","telugú":"te","turco":"tr","ucraíno":"uk","usbeco":"uz","vietnamita":"vi","xaponés":"ja","zulú":"zu","albanščina":"sq","amharščina":"am","angleščina":"en","arabščina":"ar","armenščina":"hy","azerbajdžanščina":"az","baskovščina":"eu","beloruščina":"be","bolgarščina":"bg","burmanščina":"my","češčina":"cs","danščina":"da","estonščina":"et","finščina":"fi","francoščina":"fr","galicijščina":"gl","grščina":"el","haitijska kreolščina":"ht","hebrejščina":"he","hindijščina":"hi","hrvaščina":"hr","indonezijščina":"id","irščina":"ga","islandščina":"is","italijanščina":"it","japonščina":"ja","kanareščina":"kn","katalonščina":"ca","kitajščina (poenostavljena)":"zh-cn","kitajščina (tradicionalna)":"zh-tw","korejščina":"ko","kurdščina":"ku","latinščina":"la","latvijščina":"lv","litovščina":"lt","madžarščina":"hu","makedonščina":"mk","malajalščina":"ml","malajščina":"ms","malteščina":"mt","maorščina":"mi","maratščina":"mr","mongolščina":"mn","nemščina":"de","nizozemščina":"nl","norveščina":"nb","perzijščina":"fa","poljščina":"pl","portugalščina":"pt","romunščina":"ro","ruščina":"ru","slovaščina":"sk","slovenščina":"sl","srbščina":"sr","škotska gelščina":"gd","španščina":"es","švedščina":"sv","tajščina":"th","teluščina":"te","turščina":"tr","ukrajinščina":"uk","uzbeščina":"uz","valižanščina":"cy","vietnamščina":"vi","zulujščina":"zu","albanais":"sq","allemand":"de","amharique":"am","anglais":"en","arabe":"ar","arménien":"hy","azéri":"az","basque":"eu","biélorusse":"be","birman":"my","bulgare":"bg","catalan":"ca","chinois (simplifié)":"zh-cn","chinois (traditionnel)":"zh-tw","coréen":"ko","créole haïtien":"ht","croate":"hr","danois":"da","espagnol":"es","espéranto":"eo","estonien":"et","finnois":"fi","français":"fr","gaélique (écosse)":"gd","galicien":"gl","gallois":"cy","grec":"el","hébreu":"he","hongrois":"hu","indonésien":"id","irlandais":"ga","islandais":"is","italien":"it","japonais":"ja","kurde":"ku","letton":"lv","lituanien":"lt","macédonien":"mk","malaisien":"ms","maltais":"mt","néerlandais":"nl","norvégien":"nb","ouzbek":"uz","persan":"fa","polonais":"pl","portugais":"pt","roumain":"ro","russe":"ru","serbe":"sr","slovaque":"sk","slovène":"sl","suédois":"sv","tchèque":"cs","thaï":"th","turc":"tr","ukrainien":"uk","vietnamien":"vi","zoulou":"zu","albán":"sq","amhara":"am","angol":"en","arab":"ar","azeri":"az","baszk":"eu","belorusz":"be","bolgár":"bg","burmai":"my","cseh":"cs","dán":"da","eszperantó":"eo","észt":"et","finn":"fi","francia":"fr","galíciai":"gl","görög":"el","haiti kreol":"ht","héber":"he","holland":"nl","horvát":"hr","indonéz":"id","ír":"ga","izlandi":"is","japán":"ja","katalán":"ca","kínai (egyszerűsített)":"zh-cn","kínai (hagyományos)":"zh-tw","koreai":"ko","kurd":"ku","lengyel":"pl","lett":"lv","litván":"lt","macedón":"mk","magyar":"hu","maláj":"ms","malajálam":"ml","máltai":"mt","maráthi":"mr","német":"de","norvég":"nb","olasz":"it","orosz":"ru","örmény":"hy","perzsa":"fa","portugál":"pt","román":"ro","skót-gael":"gd","spanyol":"es","svéd":"sv","szerb":"sr","szlovák":"sk","szlovén":"sl","thai":"th","török":"tr","ukrán":"uk","üzbég":"uz","vietnami":"vi","walesi":"cy","азербайджанська":"az","албанська":"sq","амхарська":"am","англійська":"en","арабська":"ar","баскська":"eu","білоруська":"be","бірманська":"my","болгарська":"bg","в’єтнамська":"vi","валлійська":"cy","вірменська":"hy","гаїтянська креольська":"ht","гінді":"hi","грецька":"el","ґалісійська":"gl","данська":"da","есперанто":"eo","естонська":"et","зулу":"zu","іврит":"he","індонезійська":"id","ірландська":"ga","ісландська":"is","іспанська":"es","італійська":"it","каннада":"kn","каталанська":"ca","китайська (спрощена)":"zh-cn","китайська (традиційна)":"zh-tw","корейська":"ko","курдська":"ku","латинська":"la","латиська":"lv","литовська":"lt","македонська":"mk","малайська":"ms","малаялам":"ml","мальтійська":"mt","маорі":"mi","маратхі":"mr","монгольська":"mn","нідерландська":"nl","німецька":"de","норвезька":"nb","перська":"fa","польська":"pl","португальська":"pt","російська":"ru","румунська":"ro","сербська":"sr","словацька":"sk","словенська":"sl","тайська":"th","телуґу":"te","турецька":"tr","угорська":"hu","узбецька":"uz","українська":"uk","фінська":"fi","французька":"fr","хорватська":"hr","чеська":"cs","шведська":"sv","шотландська (ґельська)":"gd","японська":"ja","土耳其文":"tr","中文(繁體)":"zh-tw","中文(簡體)":"zh-cn","丹麥文":"da","巴斯克文":"eu","日文":"ja","毛利文":"mi","世界語":"eo","加里西亞文":"gl","加泰羅尼亞文":"ca","卡納達文":"kn","白俄羅斯文":"be","立陶宛文":"lt","冰島文":"is","匈牙利文":"hu","印尼文":"id","印度文":"hi","西班牙文":"es","克羅埃西亞文":"hr","希伯來文":"he","希臘文":"el","亞美尼亞文":"hy","亞塞拜然文":"az","拉丁文":"la","拉脫維亞文":"lv","法文":"fr","波斯文":"fa","波蘭文":"pl","芬蘭文":"fi","阿姆哈拉文":"am","阿拉伯文":"ar","阿爾巴尼亞文":"sq","俄文":"ru","保加利亞文":"bg","南非祖魯文":"zu","威爾斯文":"cy","英文":"en","庫德文":"ku","挪威文":"nb","泰文":"th","泰盧固文":"te","海地克里奧文":"ht","烏克蘭文":"uk","烏茲別克文":"uz","馬耳他文":"mt","馬來文":"ms","馬其頓文":"mk","馬拉地文":"mr","馬拉雅拉姆文":"ml","捷克文":"cs","荷蘭文":"nl","斯洛伐克文":"sk","斯洛維尼亞文":"sl","越南文":"vi","塞爾維亞文":"sr","愛沙尼亞文":"et","愛爾蘭文":"ga","瑞典文":"sv","義大利文":"it","葡萄牙文":"pt","蒙古文":"mn","德文":"de","緬甸文":"my","韓文":"ko","羅馬尼亞文":"ro","蘇格蘭的蓋爾文":"gd","अझरबैजानी":"az","अम्हारिक":"am","अरबी":"ar","अर्मेनियन":"hy","अल्बानियन":"sq","आइसलँडिक":"is","आयरिश":"ga","इंग्रजी":"en","इंडोनेशियन":"id","इटालियन":"it","उझ्बेक":"uz","एस्टोनियन":"et","एस्परँटो":"eo","कन्नड":"kn","कुर्दिश (कुर्मांजी)":"ku","कॅटलान":"ca","कोरियन":"ko","क्रोएशियन":"hr","गॅलिशियन":"gl","ग्रीक":"el","चीनी (पारंपारिक)":"zh-tw","चीनी (सरलीकृत)":"zh-cn","जपानी":"ja","जर्मन":"de","झुलु":"zu","झेक":"cs","डच":"nl","डॅनिश":"da","तुर्की":"tr","तेलगू":"te","थाई":"th","नॉर्वेजियन":"nb","पोर्तुगीज":"pt","पोलिश":"pl","फारसी":"fa","फिन्निश":"fi","फ्रेंच":"fr","बल्गेरियन":"bg","बास्क":"eu","बेलारुशियन":"be","मंगोलियन":"mn","मराठी":"mr","मलय":"ms","मल्याळम":"ml","माओरी":"mi","माल्टीज":"mt","मॅसेडोनियन":"mk","म्यानमार (बर्मीज)":"my","युक्रेनियन":"uk","रशियन":"ru","रोमानियन":"ro","लाट्वियन":"lv","लिथुआनियन":"lt","लॅटिन":"la","वेल्श":"cy","व्हिएतनामी":"vi","सर्बियन":"sr","स्कॉट्स गेलिक":"gd","स्पॅनिश":"es","स्लोव्हाक":"sk","स्लोव्हेनियन":"sl","स्वीडिश":"sv","हंगेरियन":"hu","हिन्दी":"hi","हिब्रू":"he","हैतीयन क्रेओल":"ht","albanian":"sq","amharic":"am","arabic":"ar","armenian":"hy","azerbaijani":"az","belarusian":"be","bulgarian":"bg","chinese (simplified)":"zh-cn","chinese (traditional)":"zh-tw","croatian":"hr","czech":"cs","danish":"da","dutch":"nl","english":"en","estonian":"et","finnish":"fi","french":"fr","galician":"gl","german":"de","greek":"el","haitian creole":"ht","hebrew":"he","hungarian":"hu","icelandic":"is","indonesian":"id","irish":"ga","italian":"it","japanese":"ja","korean":"ko","kurdish (kurmanji)":"ku","latvian":"lv","lithuanian":"lt","macedonian":"mk","malay":"ms","maltese":"mt","mongolian":"mn","myanmar (burmese)":"my","norwegian":"nb","persian":"fa","polish":"pl","portuguese":"pt","romanian":"ro","russian":"ru","scots gaelic":"gd","serbian":"sr","slovak":"sk","slovenian":"sl","spanish":"es","swedish":"sv","turkish":"tr","ukrainian":"uk","uzbek":"uz","vietnamese":"vi","welsh":"cy","albanês":"sq","alemão":"de","armênio":"hy","azerbaijano":"az","basco":"eu","bielo-russo":"be","birmanês":"my","canarês":"kn","catalão":"ca","chinês (simplificado)":"zh-cn","chinês (tradicional)":"zh-tw","dinamarquês":"da","espanhol":"es","finlandês":"fi","francês":"fr","gaélico escocês":"gd","galês":"cy","hebraico":"he","holandês":"nl","indonésio":"id","inglês":"en","irlandês":"ga","islandês":"is","japonês":"ja","latim":"la","letão":"lv","macedônio":"mk","malaiala":"ml","maltês":"mt","marata":"mr","norueguês":"nb","polonês":"pl","português":"pt","romeno":"ro","russo":"ru","sérvio":"sr","tailandês":"th","tcheco":"cs","telugo":"te","ucraniano":"uk","uzbeque":"uz","almanca":"de","arapça":"ar","arnavutça":"sq","azerice":"az","baskça":"eu","belarusça":"be","bulgarca":"bg","burmaca":"my","çekçe":"cs","çince (basitleştirilmiş)":"zh-cn","çince (geleneksel)":"zh-tw","danca":"da","endonezya dili":"id","ermenice":"hy","esperantoca":"eo","estonyaca":"et","farsça":"fa","felemenkçe":"nl","fince":"fi","fransızca":"fr","galce":"cy","galiçyaca":"gl","habeşçe":"am","haiti creole dili":"ht","hırvatça":"hr","hintçe":"hi","i̇branice":"he","i̇ngilizce":"en","i̇rlandaca":"ga","i̇spanyolca":"es","i̇sveççe":"sv","i̇talyanca":"it","i̇zlandaca":"is","japonca":"ja","katalanca":"ca","korece":"ko","kuzey i̇skoç dili":"gd","kürtçe":"ku","latince":"la","lehçe":"pl","letonca":"lv","litvanca":"lt","macarca":"hu","makedonca":"mk","malezya dili":"ms","malta dili":"mt","maori dili":"mi","moğolca":"mn","norveççe":"nb","özbekçe":"uz","portekizce":"pt","romence":"ro","rusça":"ru","sırpça":"sr","slovakça":"sk","slovence":"sl","tay dili":"th","telugu dili":"te","türkçe":"tr","ukraynaca":"uk","vietnamca":"vi","yunanca":"el","airméinis":"hy","albáinis":"sq","amárais":"am","araibis":"ar","asarbaiseáinis":"az","bascais":"eu","bealarúisis":"be","béarla":"en","breatnais":"cy","bulgáiris":"bg","cannadais":"kn","catalóinis":"ca","coirdis (curmainsis)":"ku","cóiréis":"ko","criól háítí":"ht","cróitis":"hr","danmhairgis":"da","eabhrais":"he","eastóinis":"et","fionlainnis":"fi","fraincis":"fr","gaeilge":"ga","gaeilge na halban":"gd","gailísis":"gl","gearmáinis":"de","gréigis":"el","hiondúis":"hi","indinéisis":"id","iodáilis":"it","ioruais":"nb","íoslainnis":"is","laidin":"la","laitvis":"lv","liotuáinis":"lt","macadóinis":"mk","maenmar (burmais)":"my","mailéalaimis":"ml","malaeis":"ms","máltais":"mt","maorais":"mi","maraitis":"mr","mongóilis":"mn","ollainnis":"nl","peirsis":"fa","polainnis":"pl","portaingéilis":"pt","rómáinis":"ro","rúisis":"ru","seapáinis":"ja","seicis":"cs","seirbis":"sr","sínis (simplithe)":"zh-cn","sínis (traidisiúnta)":"zh-tw","slóivéinis":"sl","slóvaicis":"sk","spáinnis":"es","sualainnis":"sv","súlúis":"zu","téalainnis":"th","teileagúis":"te","tuircis":"tr","úcráinis":"uk","úisbéiceastáinis":"uz","ungáiris":"hu","vítneaimis":"vi","ภาษากรีก":"el","ภาษากันนาดา":"kn","ภาษากาลิเชียน":"gl","ภาษาเกลิกในสก็อต":"gd","ภาษาเกาหลี":"ko","ภาษาคาตาลัน":"ca","ภาษาเคิร์ด":"ku","ภาษาโครเอเชีย":"hr","ภาษาจีน (ดั้งเดิม)":"zh-tw","ภาษาจีน (แบบย่อ)":"zh-cn","ภาษาเช็ก":"cs","ภาษาซูลู":"zu","ภาษาเซอร์เบียน":"sr","ภาษาญี่ปุ่น":"ja","ภาษาดัตช์":"nl","ภาษาเดนมาร์ก":"da","ภาษาตุรกี":"tr","ภาษาเตลูกู":"te","ภาษาไทย":"th","ภาษานอร์เวย์":"nb","ภาษาบัลกาเรีย":"bg","ภาษาบาสก์":"eu","ภาษาเบลารูเชียน":"be","ภาษาเปอร์เซีย":"fa","ภาษาโปรตุเกส":"pt","ภาษาโปแลนด์":"pl","ภาษาฝรั่งเศส":"fr","ภาษาฟินแลนด์":"fi","ภาษามองโกเลีย":"mn","ภาษามัลทีส":"mt","ภาษามาซีโดเนีย":"mk","ภาษามาราฐี":"mr","ภาษามาลายาลัม":"ml","ภาษามาเลย์":"ms","ภาษาเมารี":"mi","ภาษาเมียนมา (พม่า)":"my","ภาษายูเครน":"uk","ภาษาเยอรมัน":"de","ภาษารัสเซีย":"ru","ภาษาโรมาเนีย":"ro","ภาษาละติน":"la","ภาษาลัทเวีย":"lv","ภาษาลิทัวเนีย":"lt","ภาษาเวลส์":"cy","ภาษาเวียดนาม":"vi","ภาษาสเปน":"es","ภาษาสโลวัก":"sk","ภาษาสโลเวเนีย":"sl","ภาษาสวีเดน":"sv","ภาษาอังกฤษ":"en","ภาษาอัมฮาริก":"am","ภาษาอัลบาเนีย":"sq","ภาษาอาร์เซอร์ไบจัน":"az","ภาษาอาร์เมเนีย":"hy","ภาษาอาหรับ":"ar","ภาษาอิตาลี":"it","ภาษาอินโดนีเซีย":"id","ภาษาอุสเบกิสถาน":"uz","ภาษาเอสโทเนีย":"et","ภาษาเอสเปอแรนโต":"eo","ภาษาไอซ์แลนดิก":"is","ภาษาไอริช":"ga","ภาษาฮังการี":"hu","ภาษาฮินดี":"hi","ภาษาฮิบรู":"he","ภาษาเฮติครีโอล":"ht","アイスランド語":"is","アイルランド語":"ga","アゼルバイジャン語":"az","アムハラ語":"am","アラビア語":"ar","アルバニア語":"sq","アルメニア語":"hy","イタリア語":"it","インドネシア語":"id","ウェールズ語":"cy","ウクライナ語":"uk","ウズベク語":"uz","エストニア語":"et","エスペラント語":"eo","オランダ語":"nl","カタルーニャ語":"ca","ガリシア語":"gl","カンナダ語":"kn","ギリシャ語":"el","クルド語":"ku","クロアチア語":"hr","スウェーデン語":"sv","ズールー語":"zu","スコットランド ゲール語":"gd","スペイン語":"es","スロバキア語":"sk","スロベニア語":"sl","セルビア語":"sr","タイ語":"th","チェコ語":"cs","テルグ語":"te","デンマーク語":"da","ドイツ語":"de","トルコ語":"tr","ノルウェー語":"nb","ハイチ語":"ht","バスク語":"eu","ハンガリー語":"hu","ヒンディー語":"hi","フィンランド語":"fi","フランス語":"fr","ブルガリア語":"bg","ベトナム語":"vi","ヘブライ語":"he","ベラルーシ語":"be","ペルシャ語":"fa","ポーランド語":"pl","ポルトガル語":"pt","マオリ語":"mi","マケドニア語":"mk","マラーティー語":"mr","マラヤーラム語":"ml","マルタ語":"mt","マレー語":"ms","ミャンマー語":"my","モンゴル語":"mn","ラテン語":"la","ラトビア語":"lv","リトアニア語":"lt","ルーマニア語":"ro","ロシア語":"ru","英語":"en","韓国語":"ko","中国語(簡体)":"zh-cn","中国語(繁体)":"zh-tw","日本語":"ja","albanees":"sq","amharisch":"am","arabisch":"ar","armeens":"hy","azerbeidzjaans":"az","baskisch":"eu","birmaans":"my","bulgaars":"bg","catalaans":"ca","chinees (traditioneel)":"zh-tw","chinees (vereenvoudigd)":"zh-cn","deens":"da","duits":"de","engels":"en","ests":"et","fins":"fi","frans":"fr","galicisch":"gl","grieks":"el","haïtiaans creools":"ht","hebreeuws":"he","hongaars":"hu","iers":"ga","ijslands":"is","indonesisch":"id","italiaans":"it","japans":"ja","koerdisch":"ku","koreaans":"ko","kroatisch":"hr","latijn":"la","lets":"lv","litouws":"lt","macedonisch":"mk","maleis":"ms","maltees":"mt","mongools":"mn","nederlands":"nl","noors":"nb","oekraïens":"uk","oezbeeks":"uz","perzisch":"fa","pools":"pl","portugees":"pt","roemeens":"ro","russisch":"ru","schots keltisch":"gd","servisch":"sr","slovaaks":"sk","sloveens":"sl","spaans":"es","tsjechisch":"cs","turks":"tr","vietnamees":"vi","wels":"cy","wit-russisch":"be","zoeloe":"zu","zweeds":"sv","airmeinis":"hy","albàinis":"sq","amtharais":"am","arabais":"ar","asarbaideànais":"az","basgais":"eu","bealaruisis":"be","beurla":"en","bhiet-namais":"vi","bulgarais":"bg","cànan nan tàidh":"th","catalanais":"ca","coirèanais":"ko","crìtheol haidhti":"ht","cròthaisis":"hr","cuimris":"cy","cùrdais (kurmanji)":"ku","duitsis":"nl","eabhra":"he","eadailtis":"it","eastoinis":"et","fionnlannais":"fi","fraingis":"fr","gàidhlig":"gd","gailìsis":"gl","gearmailtis":"de","grèigis":"el","hindis":"hi","innd-innsis":"id","innis-tìlis":"is","laideann":"la","laitbheis":"lv","liotuainis":"lt","malaidhis":"ms","māori":"mi","masadonais":"mk","miànmar (burmais)":"my","mongolais":"mn","nirribhis":"nb","pòlainnis":"pl","portagailis":"pt","romàinis":"ro","ruisis":"ru","seacais":"cs","seapanais":"ja","sèirbis":"sr","sìonais (seann-nòsach)":"zh-tw","sìonais (sìmplichte)":"zh-cn","slòbhacais":"sk","slòbhainis":"sl","spàinntis":"es","suainis":"sv","turcais":"tr","ucràinis":"uk","ungairis":"hu","usbagais":"uz","farsi":"fa","galisisk":"gl","gresk":"el","hviterussisk":"be","kinesisk (tradisjonell)":"zh-tw","kreol (haiti)":"ht","latvisk":"lv","malayisk":"ms","nederlandsk":"nl","rumensk":"ro","tsjekkisk":"cs","albanisch":"sq","armenisch":"hy","aserbaidschanisch":"az","birmanisch":"my","bulgarisch":"bg","chinesisch (traditionell)":"zh-tw","chinesisch (vereinfacht)":"zh-cn","dänisch":"da","deutsch":"de","englisch":"en","estnisch":"et","finnisch":"fi","französisch":"fr","galizisch":"gl","griechisch":"el","haitianisch":"ht","hebräisch":"he","irisch":"ga","isländisch":"is","italienisch":"it","japanisch":"ja","katalanisch":"ca","koreanisch":"ko","kurdisch (kurmandschi)":"ku","lateinisch":"la","lettisch":"lv","litauisch":"lt","malaysisch":"ms","maltesisch":"mt","mazedonisch":"mk","mongolisch":"mn","niederländisch":"nl","norwegisch":"nb","persisch":"fa","polnisch":"pl","portugiesisch":"pt","rumänisch":"ro","schottisch-gälisch":"gd","schwedisch":"sv","serbisch":"sr","slowakisch":"sk","slowenisch":"sl","spanisch":"es","thailändisch":"th","tschechisch":"cs","türkisch":"tr","ukrainisch":"uk","ungarisch":"hu","usbekisch":"uz","vietnamesisch":"vi","walisisch":"cy","weißrussisch":"be","ကနာဒါ":"kn","ကာ့ဒ် (ကာမန်ဂျီ)":"ku","ကိုရီးယား":"ko","ကက်တလန်":"ca","ခရိုအေးရှား":"hr","ချက်":"cs","ဂရိ":"el","ဂယ်လိရှ":"gl","ဂျပန်":"ja","ဂျာမန်":"de","စကော့ ဂေးလစ်":"gd","စပိန်":"es","ဆလိုဗေးနီးယား":"sl","ဆလိုဗက်":"sk","ဆားဘီးယား":"sr","ဆွီဒင်":"sv","ဇူးလူး":"zu","တရုတ် (ရိုးရာ)":"zh-tw","တရုတ် (အလွယ်)":"zh-cn","တူရကီ":"tr","တယ်လူဂူ":"te","ထိုင်း":"th","ဒတ်ချ်":"nl","ဒိန်းမတ်":"da","နော်ဝေ":"nb","ပါရှန်":"fa","ပေါ်တူဂီ":"pt","ပိုလန်":"pl","ပြင်သစ်":"fr","ဖင်လန်":"fi","ဗီယက်နမ်":"vi","ဘာ့စ်":"eu","ဘူဂေးရီးယား":"bg","ဘယ်လာရုစ်":"be","မလေယာလမ်":"ml","မလေး":"ms","မာရာသီ":"mr","မော်ရီ":"mi","မော်လတာ":"mt","မက်ဆီဒိုးနီးယား":"mk","မြန်မာ (မြန်မာ)":"my","မွန်ဂိုလီးယား":"mn","ယူကရိန်း":"uk","ရုရှား":"ru","ရိုမေးနီးယား":"ro","လက်တင်":"la","လစ်သူယေးနီးယား":"lt","လတ်ဗီယာ":"lv","ဝေလ":"cy","ဟီဘရူး":"he","ဟေတီ ခရီအိုး":"ht","ဟင်ဒီ":"hi","ဟန်ဂေရီ":"hu","အဇာဘိုင်ဂျန်":"az","အာမေးနီးယား":"hy","အာရေဗျ":"ar","အီတလီ":"it","ဥဇဘက်":"uz","အက်စတိုးနီးယား":"et","အက်စ်ပဲရန်တို":"eo","အိုက်စလန်":"is","အင်္ဂလိပ်":"en","အင်ဒိုနီးရှား":"id","အိုင်းရစ်ရှ်":"ga","အမ်ဟဲရစ်ခ်":"am","အယ်လ်ဘေးနီးယား":"sq","אוזבקית":"uz","אוקראינית":"uk","אזרית":"az","איטלקית":"it","אינדונזית":"id","איסלנדית":"is","אירית":"ga","אלבנית":"sq","אמהרית":"am","אנגלית":"en","אסטונית":"et","אספרנטו":"eo","ארמנית":"hy","באסקית":"eu","בולגרית":"bg","בורמזית":"my","בלארוסית":"be","גליציאנית":"gl","גרמנית":"de","דנית":"da","הולנדית":"nl","הונגרית":"hu","הינדי":"hi","וולשית":"cy","וייטנאמית":"vi","זולו":"zu","טורקית":"tr","טלוגו":"te","יוונית":"el","יפנית":"ja","כורדית":"ku","לטווית":"lv","לטינית":"la","ליטאית":"lt","מאורית":"mi","מאלאיאלם":"ml","מאלזית":"ms","מאראתי":"mr","מונגולית":"mn","מלטית":"mt","מקדונית":"mk","נורווגית":"nb","סינית (מסורתית)":"zh-tw","סינית (פשוטה)":"zh-cn","סלובנית":"sl","סלובקית":"sk","ספרדית":"es","סקוטית גאלית":"gd","סרבית":"sr","עברית":"he","ערבית":"ar","פולנית":"pl","פורטוגזית":"pt","פינית":"fi","פרסית":"fa","צ\'כית":"cs","צרפתית":"fr","קאנאדה":"kn","קוריאנית":"ko","קטלאנית":"ca","קרואטית":"hr","קריאולית האיטית":"ht","רומנית":"ro","רוסית":"ru","שוודית":"sv","תאילנדית":"th","азербејџански":"az","албански":"sq","амхарски":"am","англиски":"en","арапски":"ar","баскиски":"eu","белоруски":"be","бугарски":"bg","бурмански":"my","велшки":"cy","виетнамски":"vi","галициски":"gl","германски":"de","грчки":"el","дански":"da","ерменски":"hy","естонски":"et","индонезиски":"id","ирски":"ga","исландски":"is","италијански":"it","јапонски":"ja","канада":"kn","каталонски":"ca","кинески (поедноставен)":"zh-cn","кинески (традиционален)":"zh-tw","корејски":"ko","курдски":"ku","латвиски":"lv","латински":"la","литвански":"lt","македонски":"mk","малајалам":"ml","малајски":"ms","малтешки":"mt","маорски":"mi","маратхи":"mr","монголски":"mn","норвешки":"nb","персиски":"fa","полски":"pl","португалски":"pt","романски":"ro","руски":"ru","словачки":"sk","словенечки":"sl","српски":"sr","тајландски":"th","телугу":"te","турски":"tr","узбечки":"uz","украински":"uk","унгарски":"hu","фински":"fi","француски":"fr","хаитски креолски":"ht","хебрејски":"he","хиндиски":"hi","холандски":"nl","хрватски":"hr","чешки":"cs","шведски":"sv","шкотски галски":"gd","шпански":"es","ಅಜರ್ಬೈಜಾನಿ":"az","ಅಮಹಾರಿಕ್":"am","ಅರಬ್ಬಿ":"ar","ಆರ್ಮೇನಿಯನ್":"hy","ಆಲ್ಬೇನಿಯನ್":"sq","ಇಂಗ್ಲಿಷ್":"en","ಇಂಡೋನೇಷಿಯನ್":"id","ಇಟಾಲಿಯನ್":"it","ಉಜ್ಬೆಕ್":"uz","ಎಸ್ಟೋನಿಯನ್":"et","ಎಸ್ಪೆರಾಂಟೋ":"eo","ಐರಿಷ್":"ga","ಐಸ್ಲ್ಯಾಂಡಿಕ್":"is","ಕನ್ನಡ":"kn","ಕುರ್ದಿಶ್":"ku","ಕೊರಿಯನ್":"ko","ಕ್ಯಾಟಲನ್":"ca","ಕ್ರೊಯೇಷಿಯನ್":"hr","ಗ್ಯಾಲೀಷಿಯನ್":"gl","ಗ್ರೀಕ್":"el","ಚೀನಿ (ಸರಳೀಕೃತ)":"zh-cn","ಚೀನಿ (ಸಾಂಪ್ರದಾಯಿಕ)":"zh-tw","ಜಪಾನಿ":"ja","ಜರ್ಮನ್":"de","ಜುಲು":"zu","ಝೆಕ್":"cs","ಟರ್ಕಿಷ್":"tr","ಡಚ್":"nl","ಡ್ಯಾನಿಷ್":"da","ತೆಲುಗು":"te","ಥಾಯ್":"th","ನಾರ್ವೇಜಿಯನ್":"nb","ಪೋರ್ಚುಗೀಸ್":"pt","ಪೋಲಿಷ್":"pl","ಫಾರ್ಸಿ":"fa","ಫಿನ್ನಿಷ್":"fi","ಫ್ರೆಂಚ್":"fr","ಬರ್ಮೀಸ್":"my","ಬಲ್ಗೇರಿಯನ್":"bg","ಬಾಸ್ಕ್":"eu","ಬೆಲರೂಸಿಯನ್":"be","ಮಂಗೋಲಿಯನ್":"mn","ಮರಾಠಿ":"mr","ಮಲಯ":"ms","ಮಲಯಾಳಂ":"ml","ಮಾಲ್ಟೀಸ್":"mt","ಮಾವೋರಿ":"mi","ಮ್ಯಾಸೆಡೋನಿಯನ್":"mk","ಯುಕ್ರೇನಿಯನ್":"uk","ರಷಿಯನ್":"ru","ರೊಮೇನಿಯನ್":"ro","ಲಿಥುವೇನಿಯನ್":"lt","ಲ್ಯಾಟಿನ್":"la","ಲ್ಯಾಟ್ವಿಯನ್":"lv","ವಿಯೆಟ್ನಾಮಿ":"vi","ವೆಲ್ಶ್":"cy","ಸರ್ಬಿಯನ್":"sr","ಸ್ಕಾಟ್ಸ್ ಗ್ಯಾಲಿಕ್":"gd","ಸ್ಪ್ಯಾನಿಷ್":"es","ಸ್ಲೊವಾಕ್":"sk","ಸ್ಲೊವೆನಿಯನ್":"sl","ಸ್ವೀಡಿಷ್":"sv","ಹಂಗೇರಿಯನ್":"hu","ಹಯಥಿಯನ್ ಕ್ರಿಯೋಲ್":"ht","ಹಿಂದಿ":"hi","ಹೀಬ್ರೂ":"he","അമാറിക്":"am","അർമേനിയൻ":"hy","അൽബേനിയൻ":"sq","അസർബൈജാനി":"az","അറബിക്":"ar","ഇന്തോനേഷ്യൻ":"id","ഇംഗ്ലീഷ്":"en","ഇറ്റാലിയൻ":"it","ഉക്രേനിയൻ":"uk","ഉസ്ബെക്ക്":"uz","എസ്പെരന്തോ":"eo","എസ്റ്റോണിയൻ":"et","ഐസ്ലാൻഡിക്":"is","ഐറിഷ്":"ga","കന്നട":"kn","കാറ്റലൻ":"ca","കുർദ്ദിഷ്":"ku","കൊറിയൻ":"ko","ക്രൊയേഷ്യൻ":"hr","ഗലീഷ്യൻ":"gl","ഗ്രീക്ക്":"el","ചെക്ക്":"cs","ചൈനീസ് (പരമ്പരാഗതം)":"zh-tw","ചൈനീസ് (ലഘൂകരിച്ചത്)":"zh-cn","ജർമ്മൻ":"de","ജാപ്പനീസ്":"ja","ടർക്കിഷ്":"tr","ഡച്ച്":"nl","ഡാനിഷ്":"da","തായ്":"th","തെലുങ്ക്":"te","നോർവീജിയൻ":"nb","പേർഷ്യൻ":"fa","പോർച്ചുഗീസ്":"pt","പോളിഷ്":"pl","ഫിന്നിഷ്":"fi","ഫ്രെഞ്ച്":"fr","ബർമീസ്":"my","ബൾഗേറിയൻ":"bg","ബാസ്ക്":"eu","ബെലാറുഷ്യൻ":"be","മംഗോളിയൻ":"mn","മലയാളം":"ml","മലയ്":"ms","മറാഠി":"mr","മാസഡോണിയൻ":"mk","മാൾട്ടീസ്":"mt","മൗറി":"mi","ലാറ്റിൻ":"la","ലാറ്റ്വിയൻ":"lv","ലിത്വേനിയൻ":"lt","വിയറ്റ്നാമീസ്":"vi","വെൽഷ്":"cy","സുളു":"zu","സെർബിയൻ":"sr","സ്കോട്ട്സ് ഗ്യാലിക്":"gd","സ്പാനിഷ്":"es","സ്ലോവാക്":"sk","സ്ലോവേനിയൻ":"sl","സ്വീഡിഷ്":"sv","ഹംഗേറിയൻ":"hu","ഹിന്ദി":"hi","ഹീബ്രു":"he","ഹെയ്തിയൻ ക്രയോൾ":"ht","റഷ്യൻ":"ru","റൊമേനിയൻ":"ro","albánčina":"sq","amharčina":"am","arabčina":"ar","arménčina":"hy","azerbajdžančina":"az","barmčina":"my","bieloruština":"be","bulharčina":"bg","čínština (tradičná)":"zh-tw","dánčina":"da","estónčina":"et","fínčina":"fi","francúzština":"fr","galícijčina":"gl","gréčtina":"el","haitská kreolčina":"ht","hebrejčina":"he","hindčina":"hi","holandčina":"nl","chorvátčina":"hr","indonézština":"id","írčina":"ga","islandčina":"is","japončina":"ja","kannadčina":"kn","katalánčina":"ca","kórejčina":"ko","kurdčina":"ku","latinčina":"la","litovčina":"lt","macedónčina":"mk","maďarčina":"hu","malajámčina":"ml","malajčina":"ms","maltčina":"mt","maorijčina":"mi","maratčina":"mr","mongolčina":"mn","nemčina":"de","nórčina":"nb","perzština":"fa","poľština":"pl","portugalčina":"pt","rumunčina":"ro","slovenčina":"sk","slovinčina":"sl","srbčina":"sr","škótska gaelčina":"gd","španielčina":"es","švédčina":"sv","taliančina":"it","telugčina":"te","thajčina":"th","ukrajinčina":"uk","vietnamčina":"vi","waleština":"cy","zuluština":"zu","isi-albania":"sq","isi-amharic":"am","isi-arabic":"ar","isi-armenian":"hy","isi-azerbaijani":"az","isi-basque":"eu","isi-belarusian":"be","isi-bulgarian":"bg","isi-burmese":"my","isi-catalan":"ca","isi-chinese (simplified)":"zh-cn","isi-chinese (traditional)":"zh-tw","isi-croatian":"hr","isi-czech":"cs","isi-danish":"da","isi-dutch":"nl","isi-english":"en","isi-esperanto":"eo","isi-estonian":"et","isi-finnish":"fi","isi-french":"fr","isi-galician":"gl","isi-german":"de","isi-greek":"el","isi-haitian creole":"ht","isi-hangarian":"hu","isi-hebrew":"he","isi-hindi":"hi","isi-icelandic":"is","isi-indonesian":"id","isi-irish":"ga","isi-italian":"it","isi-japanese":"ja","isi-kannada":"kn","isi-korean":"ko","isi-kurdish":"ku","isi-latin":"la","isi-latvian":"lv","isi-lithuanian":"lt","isi-macedonian":"mk","isi-malay":"ms","isi-malayalam":"ml","isi-maltese":"mt","isi-maori":"mi","isi-marathi":"mr","isi-mongolian":"mn","isi-norwegian":"nb","isi-persian":"fa","isi-polish":"pl","isi-portuguese":"pt","isi-romanian":"ro","isi-russian":"ru","isi-scots gaelic":"gd","isi-serbian":"sr","isi-slovak":"sk","isi-slovenian":"sl","isi-spanish":"es","isi-swedish":"sv","isi-telugu":"te","isi-thai":"th","isi-turkish":"tr","isi-ukrainian":"uk","isi-uzbek":"uz","isi-vietnamese":"vi","isi-welsh":"cy","isizulu":"zu","albania":"sq","armenia":"hy","azerbaijan":"az","belanda":"nl","belarus":"be","bulgaria":"bg","cina (mudah)":"zh-cn","cina (tradisional)":"zh-tw","croatia":"hr","denmark":"da","estonia":"et","finland":"fi","gaelic scotland":"gd","galicia":"gl","hungary":"hu","ibrani":"he","iceland":"is","indonesia":"id","inggeris":"en","ireland":"ga","itali":"it","jepun":"ja","jerman":"de","korea":"ko","kreol haiti":"ht","kurdistan":"ku","latvia":"lv","lithuania":"lt","macedonia":"mk","malta":"mt","melayu":"ms","mongolia":"mn","myanmar":"my","norway":"nb","parsi":"fa","perancis":"fr","poland":"pl","portugis":"pt","romania":"ro","rusia":"ru","sepanyol":"es","serbia":"sr","slovenia":"sl","sweden":"sv","turki":"tr","ukraine":"uk","vietnam":"vi","wales":"cy","азербайджанский":"az","албанский":"sq","амхарский":"am","английский":"en","арабский":"ar","армянский":"hy","баскский":"eu","белорусский":"be","бирманский":"my","болгарский":"bg","валлийский":"cy","венгерский":"hu","вьетнамский":"vi","галисийский":"gl","греческий":"el","датский":"da","иврит":"he","индонезийский":"id","ирландский":"ga","исландский":"is","испанский":"es","итальянский":"it","каталанский":"ca","китайский (традиционный)":"zh-tw","китайский (упрощенный)":"zh-cn","корейский":"ko","креольский (гаити)":"ht","курманджи":"ku","латинский":"la","латышский":"lv","литовский":"lt","македонский":"mk","малайский":"ms","мальтийский":"mt","маори":"mi","монгольский":"mn","немецкий":"de","нидерландский":"nl","норвежский":"nb","персидский":"fa","польский":"pl","португальский":"pt","румынский":"ro","русский":"ru","сербский":"sr","словацкий":"sk","словенский":"sl","тайский":"th","турецкий":"tr","узбекский":"uz","украинский":"uk","финский":"fi","французский":"fr","хинди":"hi","хорватский":"hr","чешский":"cs","шведский":"sv","шотландский (гэльский)":"gd","эсперанто":"eo","эстонский":"et","японский":"ja","albański":"sq","amharski":"am","angielski":"en","arabski":"ar","azerski":"az","baskijski":"eu","białoruski":"be","birmański":"my","bułgarski":"bg","chiński (tradycyjny)":"zh-tw","chiński (uproszczony)":"zh-cn","chorwacki":"hr","czeski":"cs","duński":"da","estoński":"et","fiński":"fi","francuski":"fr","galicyjski":"gl","grecki":"el","hebrajski":"he","hiszpański":"es","indonezyjski":"id","irlandzki":"ga","islandzki":"is","japoński":"ja","kataloński":"ca","koreański":"ko","kreolski (haiti)":"ht","kurdyjski":"ku","litewski":"lt","łaciński":"la","łotewski":"lv","macedoński":"mk","malajalam":"ml","malajski":"ms","maltański":"mt","mongolski":"mn","niderlandzki":"nl","niemiecki":"de","norweski":"nb","ormiański":"hy","perski":"fa","polski":"pl","portugalski":"pt","rosyjski":"ru","rumuński":"ro","serbski":"sr","słowacki":"sk","słoweński":"sl","szkocki gaelicki":"gd","szwedzki":"sv","tajski":"th","turecki":"tr","ukraiński":"uk","uzbecki":"uz","walijski":"cy","węgierski":"hu","wietnamski":"vi","włoski":"it","азербайджанская":"az","албанская":"sq","амхарская":"am","англійская":"en","арабская":"ar","армянская":"hy","балгарская":"bg","баскская":"eu","беларуская":"be","в\'етнамская":"vi","валійская":"cy","венгерская":"hu","гаіцянская крэольская":"ht","галандская":"nl","галісійская":"gl","грэчаская":"el","дацкая":"da","інданезійская":"id","ірландская":"ga","ісландская":"is","іспанская":"es","італьянская":"it","іўрыт":"he","карэйская":"ko","каталонская":"ca","кітайская (спрошчаная)":"zh-cn","кітайская (традыцыйная)":"zh-tw","курдская (курманджы)":"ku","латышская":"lv","лацінская":"la","літоўская":"lt","м\'янманская (бірманская)":"my","маары":"mi","македонская":"mk","малайская":"ms","мальтыйская":"mt","мангольская":"mn","нарвежская":"nb","нямецкая":"de","партугальская":"pt","персідская":"fa","польская":"pl","румынская":"ro","руская":"ru","сербская":"sr","славацкая":"sk","славенская":"sl","тайская":"th","турэцкая":"tr","тэлугу":"te","узбекская":"uz","украінская":"uk","фінская":"fi","французская":"fr","харвацкая":"hr","хіндзі":"hi","чэшская":"cs","шатландская гэльская":"gd","шведская":"sv","эсперанта":"eo","эстонская":"et","японская":"ja","amarikisht":"am","anglisht":"en","arabisht":"ar","armenisht":"hy","azerisht":"az","baskisht":"eu","birmanisht":"my","bjellorusisht":"be","bullgarisht":"bg","çekisht":"cs","danisht":"da","estonisht":"et","finlandisht":"fi","frëngjisht":"fr","galicianisht":"gl","galishte skoceze":"gd","greqisht":"el","gjermanisht":"de","hebraisht":"he","hindisht":"hi","holandisht":"nl","hungarisht":"hu","indonezisht":"id","irlandisht":"ga","islandisht":"is","italisht":"it","japonisht":"ja","kanada":"kn","katalonisht":"ca","kinezisht (e thjeshtuar)":"zh-cn","kinezisht (tradicionale)":"zh-tw","koreanisht":"ko","kreolishte haitiane":"ht","kroatisht":"hr","latinisht":"la","letonisht":"lv","lituanisht":"lt","malajalamisht":"ml","malajzisht":"ms","malteze":"mt","maorisht":"mi","maqedonisht":"mk","maratisht":"mr","mongolisht":"mn","norvegjisht":"nb","persisht":"fa","polonisht":"pl","portugalisht":"pt","rumanisht":"ro","rusisht":"ru","serbisht":"sr","sllovakisht":"sk","sllovenisht":"sl","spanjisht":"es","suedisht":"sv","shqip":"sq","tajlandisht":"th","telugisht":"te","turqisht":"tr","uellsisht":"cy","ukrainisht":"uk","uzbekisht":"uz","vietnamisht":"vi","ሀንጋሪኛ":"hu","ህንድኛ":"hi","ሊትዌንኛ":"lt","ላቲንኛ":"la","ላትቪያኛ":"lv","ማላያላምኛ":"ml","ማላይኛ":"ms","ማልቲስኛ":"mt","ማራቲኛ":"mr","ማዮሪኛ":"mi","ሜቄዶኒያኛ":"mk","ሞንጎሊያኛ":"mn","ራሽያኛ":"ru","ሮማኒያንኛ":"ro","ሰርቢያኛ":"sr","ስሎቫክኛ":"sk","ስሎቬንያኛ":"sl","ስዊድንኛ":"sv","ስፓኒሽኛ":"es","በርማኛ":"my","ቡልጋሪያኛ":"bg","ባስክኛ":"eu","ቤላሩስኛ":"be","ቪትናምኛ":"vi","ቱርክኛ":"tr","ታይኛ":"th","ቴሉጉኛ":"te","ቻይንኛ (ቀላሉ)":"zh-cn","ቻይንኛ (ባሕላዊው)":"zh-tw","ቼክኛ":"cs","ኖርዌጅያንኛ":"nb","አልባንያኛ":"sq","አማርኛ":"am","አርመኒያኛ":"hy","አዜርባይጃንኛ":"az","አይሪሽ":"ga","አይስላንድኛ":"is","ኡዝቤክኛ":"uz","ኤስቶኒያኛ":"et","ኤስፐራንቶ":"eo","እንዶኔዢያኛ":"id","እንግሊዝኛ":"en","ኩርድሽኛ":"ku","ካታላንኛ":"ca","ካናዳኛ":"kn","ክሮኤሽያኛ":"hr","ኮሪያኛ":"ko","ዌልሽ":"cy","ዐረብኛ":"ar","ዕብራይስጥ":"he","ዙሉኛ":"zu","የሃይቲ ክረኦሌኛ":"ht","የስኮት ጌልክኛ":"gd","ዩክሬንኛ":"uk","ደችኛ":"nl","ዴንሽኛ":"da","ጀርመንኛ":"de","ጃፓንኛ":"ja","ጋሊሺያኛ":"gl","ግሪክኛ":"el","ጣሊያንኛ":"it","ፈረንሳይኛ":"fr","ፊኒሽኛ":"fi","ፐርሺያኛ":"fa","ፖሊሽኛ":"pl","ፖርቱጋሊኛ":"pt","alban":"sq","alman":"de","amarikcə":"am","azərbaycan dili":"az","bask":"eu","belarusca":"be","bolqar":"bg","çex":"cs","çin (ən\'ənəvi)":"zh-tw","çin (sadələşdirilmiş)":"zh-cn","danimarka":"da","erməni":"hy","eston":"et","ərəb":"ar","fars dili":"fa","fin":"fi","fransız":"fr","haiti kreol dili":"ht","hind":"hi","xorvat":"hr","ispan":"es","i̇ndoneziya":"id","i̇ngilis":"en","i̇rland":"ga","i̇sland":"is","i̇sveç":"sv","i̇talyan":"it","i̇vrit":"he","katalan":"ca","koreya":"ko","kürd dili (kurmanci)":"ku","qalisian":"gl","latın":"la","latış":"lv","litva":"lt","macar":"hu","makedoniya":"mk","maoricə":"mi","monqolca":"mn","myanma (birma) dili":"my","norveç":"nb","özbək":"uz","polyak":"pl","portuqal":"pt","rumın":"ro","rus":"ru","serb":"sr","sloven":"sl","şotland (kelt)":"gd","tayca":"th","teluqu":"te","türk":"tr","uels":"cy","ukrayna":"uk","vyetnam":"vi","yapon":"ja","yunan":"el","zulu dili":"zu","albaniż":"sq","amħari":"am","armen":"hy","ażerbajġani":"az","belarussu":"be","bulgaru":"bg","ċek":"cs","ċiniż (semplifikat)":"zh-cn","ċiniż (tradizzjonali)":"zh-tw","creole haiti":"ht","daniż":"da","ebrajk":"he","estonjan":"et","finlandiż":"fi","franċiż":"fr","ġappuniż":"ja","ġermaniż":"de","gaelic tal-iskoċċiżi":"gd","galizjan":"gl","grieg":"el","għarbi":"ar","ħindi":"hi","indoneżjan":"id","ingliż":"en","irlandiż":"ga","islandiż":"is","kroat":"hr","kurd (kurmanji)":"ku","latvjan":"lv","litwen":"lt","maċedonjan":"mk","malasjan":"ms","malti":"mt","marati":"mr","mjanmar (burma)":"my","mongoljan":"mn","norveġiż":"nb","olandiż":"nl","persjan":"fa","pollakk":"pl","portugiż":"pt","rumen":"ro","russu":"ru","slovakk":"sk","spanjol":"es","svediż":"sv","tajlandiż":"th","taljan":"it","tork":"tr","ukren":"uk","ungeriż":"hu","użbek":"uz","vjetnamiż":"vi","żulu":"zu","albanski":"sq","amharik":"am","arapski":"ar","armenijski":"hy","azerbajdžanski":"az","bjeloruski":"be","bugarski":"bg","burmanski":"my","češki":"cs","danski":"da","engleski":"en","estonski":"et","finski":"fi","galski":"gl","grčki":"el","haićansko-kreolski":"ht","hebrejski":"he","hindu":"hi","hrvatski":"hr","indonezijski":"id","irski":"ga","islandski":"is","japanski":"ja","katalonski":"ca","kineski (pojednost.)":"zh-cn","kineski (tradicionalni)":"zh-tw","korejski":"ko","kurdski":"ku","latinski":"la","latvijski/letonski":"lv","litvanski":"lt","mađarski":"hu","makedonski":"mk","malezijski":"ms","malteški":"mt","nizozemski":"nl","norveški":"nb","njemački":"de","perzijski":"fa","poljski":"pl","rumunjski":"ro","ruski":"ru","slovački":"sk","slovenski":"sl","srpski":"sr","škotski keltski":"gd","španjolski":"es","švedski":"sv","tajlandski":"th","talijanski":"it","turski":"tr","ukrajinski":"uk","uzbekistanski":"uz","velški":"cy","vijetnamski":"vi","آذرباﻳﺠﺎﻧﻰ":"az","آلبانیایی":"sq","آلمانی":"de","ارمنی":"hy","ازبکی":"uz","اسپانیایی":"es","اسپرانتو":"eo","استونيايی":"et","اسلواکی":"sk","اسلونیایی":"sl","اکراينی":"uk","امهری":"am","اندونزيايی":"id","انگلیسی":"en","ایتالیایی":"it","ایرلندی":"ga","ايسلندی":"is","باسکی":"eu","برمهای":"my","بلاروسی":"be","بلغاری":"bg","پرتغالی":"pt","تايلندی":"th","ترکی استانبولی":"tr","تلوگو":"te","چک":"cs","چینی (سادهشده)":"zh-cn","چینی (سنتی)":"zh-tw","دانمارکی":"da","روسی":"ru","رومانيايی":"ro","زولو":"zu","ژاپنی":"ja","سوئدی":"sv","صربی":"sr","عبری":"he","عربی":"ar","فارسی":"fa","فرانسوی":"fr","فنلاندی":"fi","کاتالان":"ca","کانارا":"kn","کرئول هائیتی":"ht","کردی":"ku","کرواتی":"hr","کرهای":"ko","گالیسی":"gl","گاليک اسکاتلندی":"gd","لاتين":"la","لتونيايی":"lv","لهستانی":"pl","ليتوانيايی":"lt","مائوری":"mi","مالایالمی":"ml","مالايی":"ms","مالتی":"mt","مجاری":"hu","مراتی":"mr","مغولی":"mn","مقدونيهای":"mk","نروژی":"nb","ولزی":"cy","ويتنامی":"vi","هلندی":"nl","هندی":"hi","يونانی":"el","ahepaitani":"az","airihi":"ga","amariki":"am","amēniana":"hy","arapeinia":"sq","arapi":"ar","eperānato":"eo","etōnia":"et","haina (onamata)":"zh-tw","hainamana (kua whakamāmātia)":"zh-cn","hanekeria":"hu","hapanihi":"ja","herepia":"sr","hinerangi":"fi","hīni":"hi","hiperu":"he","horowākia":"sk","horowinia":"sl","huitene":"sv","huru":"zu","ingarihi":"en","initonīhia":"id","itāriana":"it","kanata":"kn","karihia":"gl","katarāna":"ca","kereore haiti":"ht","kiriki":"el","kōreana":"ko","koroātiana":"hr","korukoru":"tr","kūrihi":"ku","makerōnia":"mk","māratihi":"mt","marei":"ms","mareiarama":"ml","mongōriana":"mn","nōwei":"nb","pākihi":"eu","pāniora":"es","pēma (purumīhi)":"my","peraruhia":"be","perēhia":"fa","pōrana":"pl","potukīhi":"pt","purukāriana":"bg","rātini":"la","rāwhiana":"lv","rituānia":"lt","romānia":"ro","rūhia":"ru","tai":"th","tati":"nl","tenemāka":"da","teruku":"te","tiamana":"de","tieke":"cs","tiorangi":"is","tuauri kotarangi":"gd","uhipeke":"uz","ūkareiana":"uk","wēra":"cy","whitināmu":"vi","wīwī":"fr","αγγλικά":"en","αζερμπαϊτζανικά":"az","αλβανικά":"sq","αμχαρικά":"am","αραβικά":"ar","αρμενικά":"hy","βασκικά":"eu","βιετναμεζικά":"vi","βιρμανικά":"my","βουλγαρικά":"bg","γαελικά σκοτίας":"gd","γαλικιακά":"gl","γαλλικά":"fr","γερμανικά":"de","δανικά":"da","εβραϊκά":"he","ελληνικά":"el","εσθονικά":"et","εσπεράντο":"eo","ζουλού":"zu","ιαπωνικά":"ja","ινδονησιακά":"id","ιρλανδικά":"ga","ισλανδικά":"is","ισπανικά":"es","ιταλικά":"it","κανάντα":"kn","καταλανικά":"ca","κινέζικα (απλοποιημένα)":"zh-cn","κινέζικα (παραδοσιακά)":"zh-tw","κορεατικά":"ko","κουρδικά":"ku","κρεόλ αϊτής":"ht","κροατικά":"hr","λατινικά":"la","λετονικά":"lv","λευκορωσικά":"be","λιθουανικά":"lt","μαλαγιάλαμ":"ml","μαλέι":"ms","μαλτεζικά":"mt","μαορί":"mi","μαραθικά":"mr","μογγολικά":"mn","νορβηγικά":"nb","ολλανδικά":"nl","ουαλικά":"cy","ουγγρικά":"hu","ουζμπεκικά":"uz","ουκρανικά":"uk","περσικά":"fa","πολωνικά":"pl","πορτογαλικά":"pt","ρουμανικά":"ro","ρωσικά":"ru","σερβικά":"sr","σλαβομακεδονικά":"mk","σλοβακικά":"sk","σλοβενικά":"sl","σουηδικά":"sv","ταϊλανδεζικά":"th","τελούγκου":"te","τούρκικα":"tr","τσεχικά":"cs","φινλανδικά":"fi","χίντι":"hi","amxar":"am","arman":"hy","bolgar":"bg","dat":"da","fors":"fa","fransuz":"fr","gaiti-kreol":"ht","galisiy":"gl","golland":"nl","grek":"el","ibroniy":"he","indonez":"id","ingliz":"en","irland":"ga","island":"is","italyan":"it","koreys":"ko","kurd (kurmonji)":"ku","latish":"lv","lotin":"la","makedon":"mk","maltiy":"mt","maratxi":"mr","mo‘g‘ul":"mn","nemis":"de","norveg":"nb","ozarbayjon":"az","portugal":"pt","rumin":"ro","tay":"th","turk":"tr","ukrain":"uk","valliy":"cy","venger":"hu","xitoy (an’anaviy)":"zh-tw","xitoy (soddalashgan)":"zh-cn","o‘zbek":"uz","shotland-gel":"gd","shved":"sv","chex":"cs","albanska":"sq","amharísku":"am","arabíska":"ar","armenska":"hy","aserska":"az","baskneska":"eu","búlgarska":"bg","búrmíska":"my","danska":"da","eistneska":"et","enska":"en","esperantó":"eo","finnska":"fi","franska":"fr","galisíska":"gl","gríska":"el","haítískt kreólamál":"ht","hebreska":"he","hindí":"hi","hollenska":"nl","hvítrússneska":"be","indónesíska":"id","írska":"ga","íslenska":"is","ítalska":"it","japanska":"ja","katalónska":"ca","kínverska (einfölduð)":"zh-cn","kínverska (hefðbundin)":"zh-tw","kóreska":"ko","króatíska":"hr","kúrdíska":"ku","latína":"la","lettneska":"lv","litháíska":"lt","makedónska":"mk","malajíska":"ms","maltneska":"mt","maoríska":"mi","maratí":"mr","mongólska":"mn","norska":"nb","persneska":"fa","portúgalska":"pt","pólska":"pl","rúmenska":"ro","rússneska":"ru","serbneska":"sr","skosk-gelíska":"gd","slóvakíska":"sk","slóvenska":"sl","spænska":"es","súlú":"zu","sænska":"sv","taílenska":"th","tékkneska":"cs","tyrkneska":"tr","ungverska":"hu","úkraínska":"uk","úsbekíska":"uz","velska":"cy","víetnamska":"vi","þýska":"de","ադրբեջաներեն":"az","ալբաներեն":"sq","ամհարերեն":"am","անգլերեն":"en","արաբերեն":"ar","բասկերեն":"eu","բելառուսերեն":"be","բիրմաներեն":"my","բուլղարերեն":"bg","գալիսերեն":"gl","գերմաներեն":"de","դանիերեն":"da","եբրայերեն":"he","զուլուսերեն":"zu","էսպերանտո":"eo","էստոներեն":"et","թայերեն":"th","թուրքերեն":"tr","ինդոնեզերեն":"id","իռլանդերեն":"ga","իսլանդերեն":"is","իսպաներեն":"es","իտալերեն":"it","լատիներեն":"la","լատվիերեն":"lv","լեհերեն":"pl","լիտվերեն":"lt","խորվաթերեն":"hr","կաննադա":"kn","կատալաներեն":"ca","կելտական շոտլանդերեն":"gd","կորեերեն":"ko","կրեոլերեն (հայիթի)":"ht","հայերեն":"hy","հինդի":"hi","հոլանդերեն":"nl","հունարեն":"el","հունգարերեն":"hu","ճապոներեն":"ja","մալայալամ":"ml","մալայերեն":"ms","մալթերեն":"mt","մակեդոներեն":"mk","մաորի":"mi","մարաթի":"mr","մոնղոլերեն":"mn","նորվեգերեն":"nb","շվեդերեն":"sv","ուզբեկերեն":"uz","ուկրաիներեն":"uk","չեխերեն":"cs","չինարեն (ավանդական)":"zh-tw","չինարեն (պարզեցված)":"zh-cn","պարսկերեն":"fa","պորտուգալերեն":"pt","ռումիներեն":"ro","ռուսերեն":"ru","սերբերեն":"sr","սլովակերեն":"sk","սլովեներեն":"sl","վալերեն":"cy","վիետնամերեն":"vi","տելուգու":"te","քրդերեն (քուրմանջի)":"ku","ֆիններեն":"fi","ֆրանսերեն":"fr","arabia":"ar","baski":"eu","burma":"my","englanti":"en","espanja":"es","haitinkreoli":"ht","heprea":"he","hollanti":"nl","iiri":"ga","islanti":"is","italia":"it","japani":"ja","katalaani":"ca","kiina (perinteinen)":"zh-tw","kiina (yksinkert.)":"zh-cn","kreikka":"el","kroatia":"hr","kurdi":"ku","kymri":"cy","liettua":"lt","makedonia":"mk","malaiji":"ms","norja":"nb","persia":"fa","portugali":"pt","puola":"pl","ranska":"fr","ruotsi":"sv","saksa":"de","skottigaeli":"gd","slovakia":"sk","suomi":"fi","tanska":"da","tsekki":"cs","turkki":"tr","ukraina":"uk","unkari":"hu","uzbekki":"uz","valkovenäjä":"be","venäjä":"ru","viro":"et","albaniera":"sq","alemana":"de","amharera":"am","arabiera":"ar","armeniera":"hy","azerbaijanera":"az","bielorrusiera":"be","birmaniera":"my","bulgariera":"bg","daniera":"da","errumaniera":"ro","errusiera":"ru","eskoziako gaelera":"gd","eslovakiera":"sk","esloveniera":"sl","esperantoa":"eo","estoniera":"et","euskara":"eu","frantsesa":"fr","gaelera":"cy","galiziera":"gl","gaztelania":"es","greziera":"el","hebreera":"he","hindia":"hi","hungariera":"hu","indonesiera":"id","ingelesa":"en","irlandera":"ga","islandiera":"is","italiera":"it","japoniera":"ja","katalana":"ca","koreera":"ko","kreolera (haiti)":"ht","kroaziera":"hr","kurduera":"ku","letoniera":"lv","lituaniera":"lt","malabarera":"ml","malaysiera":"ms","maltera":"mt","maoriera":"mi","marathera":"mr","mazedoniera":"mk","mongoliera":"mn","nederlandera":"nl","norvegiera":"nb","persiera":"fa","poloniera":"pl","portugesa":"pt","serbiera":"sr","suediera":"sv","suomiera":"fi","telugua":"te","thaiera":"th","turkiera":"tr","txekiera":"cs","txinera (soildua)":"zh-cn","txinera (tradizionala)":"zh-tw","ukrainera":"uk","uzbekera":"uz","vietnamera":"vi","zuluera":"zu","albanès":"sq","alemany":"de","amhàric":"am","anglès":"en","àrab":"ar","armeni":"hy","àzeri":"az","basc":"eu","bielorús":"be","birmà":"my","búlgar":"bg","castellà":"es","català":"ca","coreà":"ko","crioll d\'haití":"ht","croat":"hr","danès":"da","eslovac":"sk","eslovè":"sl","estonià":"et","finès":"fi","francès":"fr","gaèlic escocès":"gd","gallec":"gl","gal·lès":"cy","hebreu":"he","hongarès":"hu","indonesi":"id","irlandès":"ga","islandès":"is","italià":"it","japonès":"ja","letó":"lv","lituà":"lt","llatí":"la","macedònic":"mk","malai":"ms","malaiàlam":"ml","maltès":"mt","neerlandès":"nl","noruec":"nb","polonès":"pl","portuguès":"pt","romanès":"ro","serbi":"sr","suec":"sv","txec":"cs","ucraïnès":"uk","xinès (simplificat)":"zh-cn","xinès (tradicional)":"zh-tw","albāņu":"sq","amharu":"am","angļu":"en","arābu":"ar","armēņu":"hy","azerbaidžāņu":"az","baltkrievu":"be","basku":"eu","birmiešu":"my","bulgāru":"bg","čehu":"cs","dāņu":"da","ebreju (ivrits)":"he","franču":"fr","galisiešu":"gl","grieķu":"el","holandiešu":"nl","horvātu":"hr","igauņu":"et","indonēziešu":"id","īru":"ga","īslandiešu":"is","itāļu":"it","japāņu":"ja","katalāņu":"ca","korejiešu":"ko","kreolu (haiti)":"ht","krievu":"ru","kurdu":"ku","ķīniešu (tradicionālā)":"zh-tw","ķīniešu (vienkāršotā)":"zh-cn","latīņu":"la","latviešu":"lv","lietuviešu":"lt","maķedoniešu":"mk","malajalamiešu":"ml","malajiešu":"ms","maltiešu":"mt","maratu":"mr","mongoļu":"mn","norvēģu":"nb","persiešu":"fa","poļu":"pl","portugāļu":"pt","rumāņu":"ro","serbu":"sr","skotu gēlu":"gd","slovāku":"sk","slovēņu":"sl","somu":"fi","spāņu":"es","taju":"th","turku":"tr","ukraiņu":"uk","ungāru":"hu","uzbeku":"uz","vācu":"de","velsiešu":"cy","vjetnamiešu":"vi","zviedru":"sv","belarussia":"be","cek":"cs","china (aks. sederhana)":"zh-cn","china (aks. tradisional)":"zh-tw","finlandia":"fi","gaelig":"ga","gaelik skotlandia":"gd","galisia":"gl","inggris":"en","islan":"is","jepang":"ja","katala":"ca","lituania":"lt","polandia":"pl","prancis":"fr","rumania":"ro","swensk":"sv","yunani":"el","అజర్బైజాని":"az","అర్మేనియన్":"hy","అల్బేనియన్":"sq","ఆంగ్లము":"en","ఆమ్హారిక్":"am","ఆరబిక్":"ar","ఇండొనేసియన్":"id","ఇటాలియన్":"it","ఉజ్బెక్":"uz","ఎస్పెరాంటో":"eo","ఏస్టోనియన్":"et","ఐరిష్":"ga","ఐస్ లాండిక్":"is","కన్నడ":"kn","కర్డిష్":"ku","కొరియన్":"ko","క్యాటలాన్":"ca","క్రొయేషియన్":"hr","గాలిసియన్":"gl","గ్రీక్":"el","చెక్":"cs","చైనీస్ (సరళమైన)":"zh-cn","చైనీస్ (సామ్ప్రదాయమైన)":"zh-tw","జపనీస్":"ja","జర్మన్":"de","జులు":"zu","టర్కిష్":"tr","డచ్":"nl","డానిష్":"da","తెలుగు":"te","థాయ్":"th","నార్విజియన్":"nb","పర్షియన్":"fa","పోర్చుగీస్":"pt","పోలిష్":"pl","ఫిన్నిష్":"fi","ఫ్రెంచ్":"fr","బర్మీస్":"my","బల్గేరియన్":"bg","బాస్క్":"eu","బెలారుషియన్":"be","మంగోలియన్":"mn","మయోరి":"mi","మరాఠీ":"mr","మలయాళం":"ml","మాలై":"ms","మాల్టీస్":"mt","మాసిడోనియన్":"mk","యుక్రేనియన్":"uk","రష్యన్":"ru","రొమేనియన్":"ro","లాటిన్":"la","లాట్వియన్":"lv","లిథువేనియన్":"lt","వియత్నామీస్":"vi","వెల్ష్":"cy","సెర్బియన్":"sr","స్కాట్స్ గేలిక్":"gd","స్పానిష్":"es","స్లోవక్":"sk","స్లోవేనియన్":"sl","స్వీడిష్":"sv","హంగేరియన్":"hu","హిందీ":"hi","హీబ్రూ":"he","హైయేటియన్ క్రియోల్":"ht","amhárico":"am","azerí":"az","chino (simplificado)":"zh-cn","chino (tradicional)":"zh-tw","criollo haitiano":"ht","danés":"da","estonio":"et","euskera":"eu","finlandés":"fi","gallego":"gl","griego":"el","japonés":"ja","kurdo":"ku","malayo":"ms","noruego":"nb","rumano":"ro","uzbeco":"uz","albaania":"sq","amhaari":"am","araabia":"ar","armeenia":"hy","aserbaidžaani":"az","birma":"my","bulgaaria":"bg","eesti":"et","galeegi":"gl","haitikreooli":"ht","heebrea":"he","hispaania":"es","hollandi":"nl","horvaadi":"hr","indoneesia":"id","inglise":"en","islandi":"is","itaalia":"it","jaapani":"ja","kreeka":"el","ladina":"la","leedu":"lt","lihtsustatud hiina":"zh-cn","läti":"lv","makedoonia":"mk","malajalaami":"ml","maoori":"mi","mongoli":"mn","norra":"nb","poola":"pl","prantsuse":"fr","pärsia":"fa","rootsi":"sv","rumeenia":"ro","slovaki":"sk","sloveeni":"sl","soome":"fi","suulu":"zu","šoti":"gd","taani":"da","traditsiooniline hiina":"zh-tw","tšehhi":"cs","türgi":"tr","uelsi":"cy","ungari":"hu","usbeki":"uz","valgevene":"be","vene":"ru","albanyen":"sq","amenyen":"hy","anglè":"en","azèbajani":"az","belarisyen":"be","bilgaryen":"bg","chinwa (senp)":"zh-cn","chinwa (tradisyonèl)":"zh-tw","danwa":"da","ebre":"he","endonezyen":"id","endou":"hi","estonyen":"et","fenlandè":"fi","franse":"fr","gaelik ekosè":"gd","galisyen":"gl","grèk":"el","ikrenyen":"uk","ilandè":"ga","islandè":"is","italyen":"it","izbèk":"uz","japonè":"ja","koreyen":"ko","kreyòl ayisyen":"ht","kurde (kurmandji)":"ku","kwoasyen":"hr","laten":"la","letonyen":"lv","lityanyen":"lt","malè":"ms","malt":"mt","masedonyen":"mk","mongolyen":"mn","myanma (burmese)":"my","nòvejyen":"nb","olandè, neyèlandè":"nl","onngaryen":"hu","panyòl":"es","pèsyen":"fa","polonè":"pl","pòtigè":"pt","ris":"ru","romanyen":"ro","sèb":"sr","slovenyen":"sl","syedwa":"sv","tuk":"tr","tyèk":"cs","vyetnamyen":"vi","albaneg":"sq","almaeneg":"de","arabeg":"ar","armeneg":"hy","aserbaijaneg":"az","basgeg":"eu","belarwseg":"be","bwlgaraidd":"bg","catalaneg":"ca","creol haiti":"ht","croateg":"hr","cymraeg":"cy","cyrdeg (kurmandji)":"ku","daneg":"da","eidaleg":"it","estoneg":"et","fietnameg":"vi","ffineg":"fi","fflemeg":"nl","ffrangeg":"fr","gaeleg yr alban":"gd","galisaidd":"gl","groeg":"el","gwyddeleg":"ga","hebraeg":"he","hwngareg":"hu","iaith corea":"ko","indonesieg":"id","islandeg":"is","iwcraineg":"uk","japaneg":"ja","latfieg":"lv","lithwaneg":"lt","lladin":"la","macedoneg":"mk","malteseg":"mt","mongoleg":"mn","myanmar (byrma)":"my","norwyeg":"nb","perseg":"fa","portiwgaleg":"pt","pwyleg":"pl","rwmaneg":"ro","rwsieg":"ru","saesneg":"en","sbaeneg":"es","serbeg":"sr","slofac":"sk","slofenia":"sl","swedeg":"sv","swlw":"zu","tsieceg":"cs","tsieineeg (traddodiadol)":"zh-tw","tsieineeg (wedi symleiddio)":"zh-cn","twrceg":"tr","usbec":"uz","अंग्रेज़ी":"en","अज़रबैजानी":"az","अल्बेनियन":"sq","आइसलैंडिक":"is","आर्मेनियन":"hy","इटैलियन":"it","उज़्बेक":"uz","एस्तोनियन":"et","एस्पेरांटो":"eo","ऐम्हेरिक":"am","कन्नड़":"kn","कुर्दिश (करमंजी)":"ku","कैटेलन":"ca","गैलिशियन":"gl","चीनी (परंपरागत)":"zh-tw","चेक":"cs","जापानी":"ja","ज़ुलु":"zu","डैनिश":"da","तुर्क":"tr","तेलुगु":"te","पुर्तगाली":"pt","फ़िनिश":"fi","फ़्रेंच":"fr","बर्मी":"my","बुल्गारियन":"bg","बेलारूसीयन":"be","बैस्क":"eu","मलयालम":"ml","माऔरी":"mi","माल्टी":"mt","मेसीडोनियन":"mk","यूक्रेनियन":"uk","रूसी":"ru","रोमेनियन":"ro","लातवियन":"lv","लैटिन":"la","वियतनामी":"vi","सर्बियाई":"sr","स्पैनिश":"es","स्लोवाक":"sk","स्लोवेनियन":"sl","हंगरियन":"hu","हीब्रू":"he","हैतियन क्रिओल":"ht","阿尔巴尼亚语":"sq","阿拉伯语":"ar","阿姆哈拉语":"am","阿塞拜疆语":"az","爱尔兰语":"ga","爱沙尼亚语":"et","巴斯克语":"eu","白俄罗斯语":"be","保加利亚语":"bg","冰岛语":"is","波兰语":"pl","波斯语":"fa","丹麦语":"da","德语":"de","俄语":"ru","法语":"fr","芬兰语":"fi","海地克里奥尔语":"ht","韩语":"ko","荷兰语":"nl","加利西亚语":"gl","加泰罗尼亚语":"ca","捷克语":"cs","卡纳达语":"kn","克罗地亚语":"hr","库尔德语":"ku","拉丁语":"la","拉脱维亚语":"lv","立陶宛语":"lt","罗马尼亚语":"ro","马耳他语":"mt","马拉地语":"mr","马拉雅拉姆语":"ml","马来语":"ms","马其顿语":"mk","毛利语":"mi","蒙古语":"mn","缅甸语":"my","南非祖鲁语":"zu","挪威语":"nb","葡萄牙语":"pt","日语":"ja","瑞典语":"sv","塞尔维亚语":"sr","世界语":"eo","斯洛伐克语":"sk","斯洛文尼亚语":"sl","苏格兰盖尔语":"gd","泰卢固语":"te","泰语":"th","土耳其语":"tr","威尔士语":"cy","乌克兰语":"uk","乌兹别克语":"uz","西班牙语":"es","希伯来语":"he","希腊语":"el","匈牙利语":"hu","亚美尼亚语":"hy","意大利语":"it","印地语":"hi","印尼语":"id","英语":"en","越南语":"vi","中文(繁体)":"zh-tw","中文(简体)":"zh-cn","азербайджански":"az","английски":"en","арабски":"ar","арменски":"hy","баски":"eu","беларуски":"be","бирмански":"my","български":"bg","галисийски":"gl","гръцки":"el","датски":"da","индонезийски":"id","ирландски":"ga","испански":"es","италиански":"it","китайски (опростен)":"zh-cn","китайски (традиционен)":"zh-tw","корейски":"ko","кюрдски":"ku","латвийски":"lv","литовски":"lt","малайски":"ms","малтийски":"mt","немски":"de","нидерландски":"nl","норвежки":"nb","персийски":"fa","румънски":"ro","словашки":"sk","словенски":"sl","сръбски":"sr","тайландски":"th","уелски":"cy","узбекски":"uz","финландски":"fi","френски":"fr","хаитянски креолски":"ht","хърватски":"hr","шотландски келтски":"gd","японски":"ja","الآيسلندية":"is","الأذرية":"az","الارمنية":"hy","الإسبانية":"es","الاسبرانتو":"eo","الإستونية":"et","الاسكتلندية الغالية":"gd","الألبانية":"sq","الألمانية":"de","الأمهرية":"am","الإنجليزية":"en","الإندونيسية":"id","الأوزبكية":"uz","الأوكرانية":"uk","الأيرلندية":"ga","الإيطالية":"it","الباسكية":"eu","البرتغالية":"pt","البلغارية":"bg","البورمية":"my","البولندية":"pl","البيلاروسية":"be","التايلاندية":"th","التركية":"tr","التشيكية":"cs","التيلوجو":"te","الجاليكية":"gl","الدانماركية":"da","الروسية":"ru","الرومانية":"ro","الزولوية":"zu","السلوفاكية":"sk","السلوفينية":"sl","السويدية":"sv","الصربية":"sr","الصينية (التقليدية)":"zh-tw","الصينية (المبسطة)":"zh-cn","العبرية":"he","العربية":"ar","الفارسية":"fa","الفرنسية":"fr","الفنلندية":"fi","الفيتنامية":"vi","القطلونية":"ca","الكانادا":"kn","الكردية":"ku","الكرواتية":"hr","الكورية":"ko","اللاتفية":"lv","اللاتينية":"la","اللغة الكريولية الهايتية":"ht","الليتوانية":"lt","المالايالامية":"ml","المالطيّة":"mt","الماورية":"mi","المقدونية":"mk","الملايو":"ms","المنغولية":"mn","المهراتية":"mr","النرويجية":"nb","الهندية":"hi","الهنغارية":"hu","الهولندية":"nl","الويلزية":"cy","اليابانية":"ja","اليونانية":"el","баскијски":"eu","вијетнамски":"vi","галски":"gl","енглески":"en","индонежански":"id","јапански":"ja","јерменски":"hy","кинески (поједностављени)":"zh-cn","кинески (традиционални)":"zh-tw","креолски (хаити)":"ht","летонски":"lv","мађарски":"hu","марати":"mr","немачки":"de","персијски":"fa","пољски":"pl","румунски":"ro","словеначки":"sl","тајски":"th","украјински":"uk","азербайжан":"az","албани":"sq","амхарик":"am","англи":"en","араб":"ar","армени":"hy","баск":"eu","беларусь":"be","бирм":"my","болгар":"bg","вьетнам":"vi","гаити креол":"ht","галик":"gl","гаэл":"gd","герман":"de","голланд":"nl","грек":"el","дани":"da","индонези":"id","ирланд":"ga","исланд":"is","испани":"es","итали":"it","каталан":"ca","кипр":"he","курд":"ku","латви":"lv","латин":"la","литва":"lt","македон":"mk","малай":"ms","малайлам":"ml","малти":"mt","монгол":"mn","норвеги":"nb","орос":"ru","перс":"fa","польш":"pl","португаль":"pt","румын":"ro","серби":"sr","словак":"sk","словени":"sl","солонгос":"ko","тай":"th","турк":"tr","тэлүгү":"te","узбек":"uz","украин":"uk","унгар":"hu","уэльс":"cy","финлянд":"fi","франц":"fr","хорват":"hr","хятад (ердийн)":"zh-cn","хятад (уламжлалт)":"zh-tw","чех":"cs","швед":"sv","эстони":"et","япон":"ja","amhariska":"am","arabiska":"ar","armeniska":"hy","azerbajdzjanska":"az","baskiska":"eu","bulgariska":"bg","burmesiska":"my","engelska":"en","estniska":"et","finska":"fi","gaeliska":"gd","galiciska":"gl","grekiska":"el","haitiska":"ht","hebreiska":"he","indonesiska":"id","irländska":"ga","isländska":"is","italienska":"it","kanaresiska":"kn","katalanska":"ca","kinesiska (förenklad)":"zh-cn","kinesiska (traditionell)":"zh-tw","koreanska":"ko","kroatiska":"hr","kurdiska":"ku","lettiska":"lv","litauiska":"lt","makedonska":"mk","malaysiska":"ms","maltesiska":"mt","mongoliska":"mn","nederländska":"nl","persiska":"fa","polska":"pl","portugisiska":"pt","rumänska":"ro","ryska":"ru","serbiska":"sr","slovakiska":"sk","slovenska":"sl","spanska":"es","svenska":"sv","thailändska":"th","tjeckiska":"cs","turkiska":"tr","tyska":"de","ukrainska":"uk","ungerska":"hu","uzbekiska":"uz","vietnamesiska":"vi","vitryska":"be","walesiska":"cy","albaneză":"sq","amharică":"am","arabă":"ar","armeană":"hy","azerbaidjană":"az","bască":"eu","bielorusă":"be","birmană":"my","bulgară":"bg","catalană":"ca","cehă":"cs","chineză (simplificată)":"zh-cn","chineză (tradițională)":"zh-tw","coreeană":"ko","creolă haitiană":"ht","croată":"hr","daneză":"da","ebraică":"he","engleză":"en","estonă":"et","finlandeză":"fi","franceză":"fr","galeză":"cy","galica scoțiană":"gd","galiciană":"gl","germană":"de","greacă":"el","indoneziană":"id","irlandeză":"ga","islandeză":"is","italiană":"it","japoneză":"ja","kurdă":"ku","latină":"la","letonă":"lv","lituaniană":"lt","macedoneană":"mk","maghiară":"hu","malaeză":"ms","malteză":"mt","mongolă":"mn","neerlandeză":"nl","norvegiană":"nb","persană":"fa","poloneză":"pl","portugheză":"pt","română":"ro","rusă":"ru","sârbă":"sr","slovacă":"sk","slovenă":"sl","spaniolă":"es","suedeză":"sv","thailandeză":"th","turcă":"tr","ucraineană":"uk","uzbecă":"uz","vietnameză":"vi","airių":"ga","albanų":"sq","amharų":"am","anglų":"en","arabų":"ar","armėnų":"hy","azerbaidžaniečių":"az","baltarusių":"be","baskų":"eu","birmiečių":"my","bulgarų":"bg","čekų":"cs","danų":"da","estų":"et","galisų":"gl","graikų":"el","haičio kreolų":"ht","hebrajų":"he","indoneziečių":"id","islandų":"is","ispanų":"es","italų":"it","japonų":"ja","kanadų":"kn","kataloniečių":"ca","kinų (supaprastinta)":"zh-cn","kinų (tradicinė)":"zh-tw","korėjiečių":"ko","kroatų":"hr","kurdų":"ku","latvių":"lv","lenkų":"pl","lietuvių":"lt","lotynų":"la","makedoniečių":"mk","malajalių":"ml","malajiečių":"ms","maltiečių":"mt","maorių":"mi","maratų":"mr","mongolų":"mn","norvegų":"nb","olandų":"nl","persų":"fa","portugalų":"pt","prancūzų":"fr","rumunų":"ro","rusų":"ru","serbų":"sr","slovakų":"sk","slovėnų":"sl","suomių":"fi","škotų (gėlų)":"gd","švedų":"sv","tajų":"th","telugų":"te","turkų":"tr","ukrainiečių":"uk","uzbekų":"uz","valų":"cy","vengrų":"hu","vietnamiečių":"vi","vokiečių":"de","zulusų":"zu","갈리시아어":"gl","그리스어":"el","네덜란드어":"nl","노르웨이어":"nb","덴마크어":"da","독일어":"de","라트비아어":"lv","라틴어":"la","러시아어":"ru","루마니아어":"ro","리투아니아어":"lt","마라티어":"mr","마오리어":"mi","마케도니아어":"mk","말라얄람어":"ml","말레이어":"ms","몰타어":"mt","몽골어":"mn","미얀마어 (버마어)":"my","바스크어":"eu","베트남어":"vi","벨라루스어":"be","불가리아어":"bg","세르비아어":"sr","스웨덴어":"sv","스코틀랜드 게일어":"gd","스페인어":"es","슬로바키아어":"sk","슬로베니아어":"sl","아랍어":"ar","아르메니아어":"hy","아이슬란드어":"is","아이티 크리올어":"ht","아일랜드어":"ga","아제르바이잔어":"az","알바니아어":"sq","암하라어":"am","에스토니아어":"et","에스페란토어":"eo","영어":"en","우즈베크어":"uz","우크라이나어":"uk","웨일즈어":"cy","이탈리아어":"it","인도네시아어":"id","일본어":"ja","줄루어":"zu","중국어(간체)":"zh-cn","중국어(번체)":"zh-tw","체코어":"cs","카탈로니아어":"ca","칸나다어":"kn","쿠르드어":"ku","크로아티아어":"hr","태국어":"th","터키어":"tr","텔루구어":"te","페르시아어":"fa","포르투갈어":"pt","폴란드어":"pl","프랑스어":"fr","핀란드어":"fi","한국어":"ko","헝가리어":"hu","히브리어":"he","힌디어":"hi","albanese":"sq","amarico":"am","arabo":"ar","armeno":"hy","azero":"az","bielorusso":"be","bulgaro":"bg","catalano":"ca","ceco":"cs","cinese (semplificato)":"zh-cn","cinese (tradizionale)":"zh-tw","creolo haitiano":"ht","croato":"hr","curdo (kurmanji)":"ku","danese":"da","ebraico":"he","estone":"et","finlandese":"fi","francese":"fr","gaelico scozzese":"gd","galiziano":"gl","gallese":"cy","giapponese":"ja","greco":"el","indonesiano":"id","inglese":"en","irlandese":"ga","islandese":"is","latino":"la","lettone":"lv","macedone":"mk","malese":"ms","mongolo":"mn","norvegese":"nb","olandese":"nl","persiano":"fa","polacco":"pl","portoghese":"pt","rumeno":"ro","serbo":"sr","slovacco":"sk","sloveno":"sl","spagnolo":"es","svedese":"sv","tailandese":"th","tedesco":"de","ucraino":"uk","ungherese":"hu","quốc tế ngữ":"eo","tiếng ả rập":"ar","tiếng albania":"sq","tiếng amharic":"am","tiếng anh":"en","tiếng armenia":"hy","tiếng azerbaijan":"az","tiếng ba lan":"pl","tiếng ba tư":"fa","tiếng basque":"eu","tiếng belarus":"be","tiếng bồ đào nha":"pt","tiếng bulgaria":"bg","tiếng catalan":"ca","tiếng creole ở haiti":"ht","tiếng croatia":"hr","tiếng do thái":"he","tiếng đan mạch":"da","tiếng đức":"de","tiếng estonia":"et","tiếng gael scotland":"gd","tiếng galicia":"gl","tiếng hà lan":"nl","tiếng hàn":"ko","tiếng hindi":"hi","tiếng hungary":"hu","tiếng hy lạp":"el","tiếng iceland":"is","tiếng indonesia":"id","tiếng ireland":"ga","tiếng kannada":"kn","tiếng kurd":"ku","tiếng latinh":"la","tiếng latvia":"lv","tiếng litva":"lt","tiếng mã lai":"ms","tiếng macedonia":"mk","tiếng malayalam":"ml","tiếng malta":"mt","tiếng maori":"mi","tiếng marathi":"mr","tiếng mông cổ":"mn","tiếng myanmar":"my","tiếng na uy":"nb","tiếng nga":"ru","tiếng nhật":"ja","tiếng pháp":"fr","tiếng phần lan":"fi","tiếng rumani":"ro","tiếng séc":"cs","tiếng serbia":"sr","tiếng slovak":"sk","tiếng slovenia":"sl","tiếng tây ban nha":"es","tiếng telugu":"te","tiếng thái":"th","tiếng thổ nhĩ kỳ":"tr","tiếng thụy điển":"sv","tiếng trung (giản thể)":"zh-cn","tiếng trung (phồn thể)":"zh-tw","tiếng ukraina":"uk","tiếng uzbek":"uz","tiếng việt":"vi","tiếng xứ wales":"cy","tiếng ý":"it","tiếng zulu":"zu","にほんご":"ja"},"scratchToGoogleMap":{"zh-cn":"zh","nb":"no","he":"iw","es-419":"es","pt-br":"pt","ja-hira":"ja"},"previouslySupported":["ab","ms","be","eo","hy","hi","kn","ht","ku","la","mk","ml","mt","mr","mn","my","nn","sq","te","uz"]}')},function(e,t,n){function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function i(e,t,n){var r;return(t="symbol"==typeof(r=function(e,t){if("object"!=typeof e||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(t,"string"))?r:r+"")in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}const s=n(20),{OrderedMap:o}=n(25),a=n(72),l=n(426),c=n(4),u=n(17),d=n(76),h=n(3),p=n(208),m=n(209),f=n(80),g=n(49),y=n(215),b=n(43),v=n(26),S=n(1),w=n(65),k=n(13),x=n(10),T=n(32),E=n(216),A=n(217),C=n(45),I=n(219),O=n(220),M=n(221),N=n(222),R=n(223),D=n(224),P=n(81),L=n(7),B=n(8),z={scratch3_control:n(225),scratch3_event:n(226),scratch3_looks:n(227),scratch3_motion:n(228),scratch3_operators:n(229),scratch3_sound:n(230),scratch3_sensing:n(231),scratch3_data:n(232),scratch3_procedures:n(233)},U=n(234),j=n(235),F=["#0FBD8C","#0DA57A","#0B8E69"],W=" // _twconfig_",V=(()=>{const e={};return e[c.ANGLE]={shadow:{type:"math_angle",fieldName:"NUM"}},e[c.COLOR]={shadow:{type:"colour_picker",fieldName:"COLOUR"}},e[c.NUMBER]={shadow:{type:"math_number",fieldName:"NUM"}},e[c.STRING]={shadow:{type:"text",fieldName:"TEXT"}},e[c.BOOLEAN]={check:"Boolean"},e[c.MATRIX]={shadow:{type:"matrix",fieldName:"MATRIX"}},e[c.NOTE]={shadow:{type:"note",fieldName:"NOTE"}},e[c.IMAGE]={fieldType:"field_image"},e[c.COSTUME]={shadow:{type:"looks_costume",fieldName:"COSTUME"}},e[c.SOUND]={shadow:{type:"sound_sounds_menu",fieldName:"SOUND_MENU"}},e})(),G=e=>{let t=0;return{canAddCloudVariable:()=>t<e.limit,addCloudVariable:()=>{t++},removeCloudVariable:()=>{t--},hasCloudVariables:()=>t>0,getNumberOfCloudVariables:()=>t}};let q=-1,Y=-1,H=-1;class _ extends s{constructor(){super(),this.targets=[],this.executableTargets=[],this.threads=[],this.threadMap=new Map,this.sequencer=new m(this),this.flyoutBlocks=new u(this,!0),this.monitorBlocks=new u(this,!0),this._editingTarget=null,this._primitives={},this._blockInfo=[],this._hats={},this._flowing={},this._scriptGlowsPreviousFrame=[],this._nonMonitorThreadCount=0,this._lastStepDoneThreads=null,this._cloneCounter=0,this._refreshTargets=!1,this.monitorBlockInfo={},this._monitorState=o({}),this._prevMonitorState=o({}),this.turboMode=!1,this.frameLoop=new j(this),this.currentStepTime=1e3/30,this.updateCurrentMSecs(),this.redrawRequested=!1,this._registerBlockPackages(),this.ioDevices={clock:new I(this),cloud:new O(this),keyboard:new M(this),mouse:new N(this),mouseWheel:new R(this),userData:new D,video:new P(this)},this.peripheralExtensions={},this.profiler=null,this.cloudOptions={limit:10};const e=G(this.cloudOptions);this.hasCloudData=e.hasCloudVariables,this.canAddCloudVariable=e.canAddCloudVariable,this.getNumberOfCloudVariables=e.getNumberOfCloudVariables,this.addCloudVariable=this._initializeAddCloudVariable(e),this.removeCloudVariable=this._initializeRemoveCloudVariable(e),this.origin=null,this._initScratchLink(),this.resetRunId(),this._stageTarget=null,this.addonBlocks={},this.stageWidth=_.STAGE_WIDTH,this.stageHeight=_.STAGE_HEIGHT,this.runtimeOptions={maxClones:_.MAX_CLONES,miscLimits:!0,fencing:!0},this.compilerOptions={enabled:!0,warpTimer:!1},this.debug=!1,this._lastStepTime=Date.now(),this.interpolationEnabled=!1,this._defaultStoredSettings=this._generateAllProjectOptions(),this.isPackaged=!1,this.externalCommunicationMethods={cloudVariables:!1,customExtensions:!1},this.on(_.HAS_CLOUD_DATA_UPDATE,(e=>{this.setExternalCommunicationMethod("cloudVariables",e)})),this.enforcePrivacy=!0,this.extensionButtons=new Map,this.fontManager=new A(this),this.extensionStorage={},this.totalAssetRequests=0,this.finishedAssetRequests=0}static get STAGE_WIDTH(){return 480}static get STAGE_HEIGHT(){return 360}static get SCRIPT_GLOW_ON(){return"SCRIPT_GLOW_ON"}static get SCRIPT_GLOW_OFF(){return"SCRIPT_GLOW_OFF"}static get BLOCK_GLOW_ON(){return"BLOCK_GLOW_ON"}static get BLOCK_GLOW_OFF(){return"BLOCK_GLOW_OFF"}static get HAS_CLOUD_DATA_UPDATE(){return"HAS_CLOUD_DATA_UPDATE"}static get TURBO_MODE_ON(){return"TURBO_MODE_ON"}static get TURBO_MODE_OFF(){return"TURBO_MODE_OFF"}static get RUNTIME_OPTIONS_CHANGED(){return"RUNTIME_OPTIONS_CHANGED"}static get COMPILER_OPTIONS_CHANGED(){return"COMPILER_OPTIONS_CHANGED"}static get FRAMERATE_CHANGED(){return"FRAMERATE_CHANGED"}static get INTERPOLATION_CHANGED(){return"INTERPOLATION_CHANGED"}static get STAGE_SIZE_CHANGED(){return"STAGE_SIZE_CHANGED"}static get COMPILE_ERROR(){return"COMPILE_ERROR"}static get BEFORE_EXECUTE(){return"BEFORE_EXECUTE"}static get AFTER_EXECUTE(){return"AFTER_EXECUTE"}static get ASSET_PROGRESS(){return"ASSET_PROGRESS"}static get PROJECT_START(){return"PROJECT_START"}static get PROJECT_RUN_START(){return"PROJECT_RUN_START"}static get PROJECT_RUN_STOP(){return"PROJECT_RUN_STOP"}static get PROJECT_STOP_ALL(){return"PROJECT_STOP_ALL"}static get STOP_FOR_TARGET(){return"STOP_FOR_TARGET"}static get VISUAL_REPORT(){return"VISUAL_REPORT"}static get PROJECT_LOADED(){return"PROJECT_LOADED"}static get PROJECT_CHANGED(){return"PROJECT_CHANGED"}static get TOOLBOX_EXTENSIONS_NEED_UPDATE(){return"TOOLBOX_EXTENSIONS_NEED_UPDATE"}static get TARGETS_UPDATE(){return"TARGETS_UPDATE"}static get MONITORS_UPDATE(){return"MONITORS_UPDATE"}static get BLOCK_DRAG_UPDATE(){return"BLOCK_DRAG_UPDATE"}static get BLOCK_DRAG_END(){return"BLOCK_DRAG_END"}static get EXTENSION_ADDED(){return"EXTENSION_ADDED"}static get EXTENSION_FIELD_ADDED(){return"EXTENSION_FIELD_ADDED"}static get PERIPHERAL_LIST_UPDATE(){return"PERIPHERAL_LIST_UPDATE"}static get USER_PICKED_PERIPHERAL(){return"USER_PICKED_PERIPHERAL"}static get PERIPHERAL_CONNECTED(){return"PERIPHERAL_CONNECTED"}static get PERIPHERAL_DISCONNECTED(){return"PERIPHERAL_DISCONNECTED"}static get PERIPHERAL_REQUEST_ERROR(){return"PERIPHERAL_REQUEST_ERROR"}static get PERIPHERAL_CONNECTION_LOST_ERROR(){return"PERIPHERAL_CONNECTION_LOST_ERROR"}static get PERIPHERAL_SCAN_TIMEOUT(){return"PERIPHERAL_SCAN_TIMEOUT"}static get MIC_LISTENING(){return"MIC_LISTENING"}static get BLOCKSINFO_UPDATE(){return"BLOCKSINFO_UPDATE"}static get RUNTIME_STARTED(){return"RUNTIME_STARTED"}static get RUNTIME_STOPPED(){return"RUNTIME_STOPPED"}static get RUNTIME_DISPOSED(){return"RUNTIME_DISPOSED"}static get BLOCKS_NEED_UPDATE(){return"BLOCKS_NEED_UPDATE"}static get THREAD_STEP_INTERVAL(){return 1e3/60}static get THREAD_STEP_INTERVAL_COMPATIBILITY(){return 1e3/30}static get MAX_CLONES(){return 300}_initializeAddCloudVariable(e){return()=>{const t=this.hasCloudData();e.addCloudVariable(),!t&&this.hasCloudData()&&this.emit(_.HAS_CLOUD_DATA_UPDATE,!0)}}_initializeRemoveCloudVariable(e){return()=>{const t=this.hasCloudData();e.removeCloudVariable(),t&&!this.hasCloudData()&&this.emit(_.HAS_CLOUD_DATA_UPDATE,!1)}}_registerBlockPackages(){for(const e in z)if(Object.prototype.hasOwnProperty.call(z,e)){const t=new z[e](this);if(t.getPrimitives){const e=t.getPrimitives();for(const n in e)Object.prototype.hasOwnProperty.call(e,n)&&(this._primitives[n]=e[n].bind(t))}if(t.getHats){const e=t.getHats();for(const t in e)Object.prototype.hasOwnProperty.call(e,t)&&(this._hats[t]=e[t])}t.getMonitored&&(this.monitorBlockInfo=Object.assign({},this.monitorBlockInfo,t.getMonitored())),this.compilerRegisterExtension(e,t)}}compilerRegisterExtension(e,t){this["ext_".concat(e)]=t}getMonitorState(){return this._monitorState}_makeExtensionMenuId(e,t){return"".concat(t,"_menu_").concat(e)}makeMessageContextForTarget(e){const t={};(e=e||this.getEditingTarget()||this.getTargetForStage())&&(t.targetType=e.isStage?b.STAGE:b.SPRITE)}_registerExtensionPrimitives(e){const t={id:e.id,name:w(e.name),showStatusButton:e.showStatusButton,blockIconURI:e.blockIconURI,menuIconURI:e.menuIconURI};e.color1?(t.color1=e.color1,t.color2=e.color2,t.color3=e.color3):(t.color1=F[0],t.color2=F[1],t.color3=F[2]),this._blockInfo.push(t),this._fillExtensionCategory(t,e);for(const n in t.customFieldTypes)if(Object.prototype.hasOwnProperty.call(e.customFieldTypes,n)){const e=t.customFieldTypes[n];this.emit(_.EXTENSION_FIELD_ADDED,{name:"field_".concat(e.extendedName),implementation:e.fieldImplementation})}this.emit(_.EXTENSION_ADDED,t)}_refreshExtensionPrimitives(e){const t=this._blockInfo.find((t=>t.id===e.id));t&&(t.name=w(e.name),this._fillExtensionCategory(t,e),this.emit(_.BLOCKSINFO_UPDATE,t))}_fillExtensionCategory(e,t){e.blocks=[],e.customFieldTypes={},e.menus=[],e.menuInfo={};for(const n in t.menus)if(Object.prototype.hasOwnProperty.call(t.menus,n)){const r=t.menus[n],i=this._buildMenuForScratchBlocks(n,r,e);e.menus.push(i),e.menuInfo[n]=r}for(const n in t.customFieldTypes)if(Object.prototype.hasOwnProperty.call(t.customFieldTypes,n)){const r=t.customFieldTypes[n],i=this._buildCustomFieldInfo(n,r,t.id,e);e.customFieldTypes[n]=i}if(t.docsURI){const n={info:{},xml:"<button "+'text="'.concat(T(w({id:"tw.blocks.openDocs",default:"Open Documentation",description:"Button that opens site with more documentation about an extension"})),'" ')+'callbackKey="OPEN_EXTENSION_DOCS" '+'callbackData="'.concat(T(t.docsURI),'"></button>')};e.blocks.push(n)}for(const n of t.blocks)try{const t=this._convertForScratchBlocks(n,e);if(e.blocks.push(t),t.json){const e=t.json.type;n.blockType!==h.EVENT&&(this._primitives[e]=t.info.func),n.blockType===h.EVENT||n.blockType===h.HAT?this._hats[e]={edgeActivated:n.isEdgeActivated,restartExistingThreads:n.shouldRestartExistingThreads}:n.blockType===h.CONDITIONAL?this._flowing[e]={conditional:!0,loop:!1}:n.blockType===h.LOOP&&(this._flowing[e]={conditional:!1,loop:!0})}}catch(e){S.error("Error parsing block: ",{block:n,error:e})}}_convertMenuItems(e){if("function"!=typeof e){const t=this.makeMessageContextForTarget();return e.map((e=>{const n=w(e,t);switch(typeof n){case"string":return[n,n];case"object":return[w(e.text,t),e.value];default:throw new Error("Can't interpret menu item: ".concat(JSON.stringify(e)))}}))}return e}_buildMenuForScratchBlocks(e,t,n){const r=this._makeExtensionMenuId(e,n.id),i=this._convertMenuItems(t.items);return{json:{message0:"%1",type:r,inputsInline:!0,output:"String",colour:n.color1,colourSecondary:n.color2,colourTertiary:n.color3,outputShape:t.acceptReporters?y.OUTPUT_SHAPE_ROUND:y.OUTPUT_SHAPE_SQUARE,args0:[{type:"field_dropdown",name:e,options:i}]}}}_buildCustomFieldInfo(e,t,n,r){const i="".concat(n,"_").concat(e);return{fieldName:e,extendedName:i,argumentTypeInfo:{shadow:{type:i,fieldName:"field_".concat(i)}},scratchBlocksDefinition:this._buildCustomFieldTypeForScratchBlocks(i,t.output,t.outputShape,r),fieldImplementation:t.implementation}}_buildCustomFieldTypeForScratchBlocks(e,t,n,r){return{json:{type:e,message0:"%1",inputsInline:!0,output:t,colour:r.color1,colourSecondary:r.color2,colourTertiary:r.color3,outputShape:n,args0:[{name:"field_".concat(e),type:"field_".concat(e)}]}}}_convertForScratchBlocks(e,t){return"---"===e?this._convertSeparatorForScratchBlocks(e):e.blockType===h.LABEL?this._convertLabelForScratchBlocks(e):e.blockType===h.BUTTON?this._convertButtonForScratchBlocks(e,t):e.blockType===h.XML?this._convertXmlForScratchBlocks(e):this._convertBlockForScratchBlocks(e,t)}_convertBlockForScratchBlocks(e,t){var n,r,i;const s="".concat(t.id,"_").concat(e.opcode),o={type:s,inputsInline:!0,category:t.name,extensions:[],colour:null!==(n=e.color1)&&void 0!==n?n:t.color1,colourSecondary:null!==(r=e.color2)&&void 0!==r?r:t.color2,colourTertiary:null!==(i=e.color3)&&void 0!==i?i:t.color3},a={argsMap:{},blockJSON:o,categoryInfo:t,blockInfo:e,inputList:[]},l=e.blockIconURI||t.blockIconURI;if(o.extensions.push("from_extension"),o.colour===F[0]&&o.colourSecondary===F[1]&&o.colourTertiary===F[2]&&o.extensions.push("default_extension_colors"),l){o.extensions.push("scratch_extension"),o.message0="%1 %2";const e={type:"field_image",src:l,width:40,height:40},t={type:"field_vertical_separator"};o.args0=[e,t]}switch(e.blockType){case h.COMMAND:o.outputShape=y.OUTPUT_SHAPE_SQUARE,o.previousStatement=null,e.isTerminal||(o.nextStatement=null);break;case h.REPORTER:o.output=e.allowDropAnywhere?null:"String",o.outputShape=y.OUTPUT_SHAPE_ROUND;break;case h.BOOLEAN:o.output="Boolean",o.outputShape=y.OUTPUT_SHAPE_HEXAGONAL;break;case h.HAT:case h.EVENT:Object.prototype.hasOwnProperty.call(e,"isEdgeActivated")||(e.isEdgeActivated=!0),o.outputShape=y.OUTPUT_SHAPE_SQUARE,o.nextStatement=null;break;case h.CONDITIONAL:case h.LOOP:e.branchCount=e.branchCount||1,o.outputShape=y.OUTPUT_SHAPE_SQUARE,o.previousStatement=null,e.isTerminal||(o.nextStatement=null)}const c=Array.isArray(e.text)?e.text:[e.text];let u=0,d=0,p=0;const m=this._convertPlaceholders.bind(this,a),f=this.makeMessageContextForTarget();for(;u<c.length||d<e.branchCount;){if(u<c.length){a.outLineNum=p;const e=w(c[u],f).replace(/\[(.+?)]/g,m);o["message".concat(p)]?o["message".concat(p)]+=e:o["message".concat(p)]=e,++u,++p}d<e.branchCount&&(o["message".concat(p)]="%1",o["args".concat(p)]=[{type:"input_statement",name:"SUBSTACK".concat(d>0?d+1:"")}],++d,++p)}if(e.blockType===h.REPORTER||e.blockType===h.BOOLEAN)e.disableMonitor||0!==a.inputList.length||(o.checkboxInFlyout=!0);else if(e.branchIconURI||e.blockType===h.LOOP&&!Object.prototype.hasOwnProperty.call(e,"branchIconURI")){var g;o["lastDummyAlign".concat(p)]="RIGHT",o["message".concat(p)]="%1",o["args".concat(p)]=[{type:"field_image",src:null!==(g=e.branchIconURI)&&void 0!==g?g:"media://repeat.svg",width:24,height:24,alt:"*",flip_rtl:!0}],++p}const b=e.isDynamic?'<mutation blockInfo="'.concat(T(JSON.stringify(e)),'"/>'):"",v=a.inputList.join(""),S='<block type="'.concat(T(s),'">').concat(b).concat(v,"</block>");if(e.extensions)for(const t of e.extensions)o.extensions.includes(t)||o.extensions.push(t);return{info:a.blockInfo,json:a.blockJSON,xml:S}}_convertSeparatorForScratchBlocks(e){return{info:e,xml:'<sep gap="36"/>'}}_convertLabelForScratchBlocks(e){return{info:e,xml:'<label text="'.concat(T(e.text),'"></label>')}}_convertButtonForScratchBlocks(e,t){const n=this.makeMessageContextForTarget(),r=w(e.text,n);if(["MAKE_A_LIST","MAKE_A_PROCEDURE","MAKE_A_VARIABLE"].includes(e.func))return{info:e,xml:'<button text="'.concat(T(r),'" callbackKey="').concat(T(e.func),'"></button>')};const i="".concat(t.id,"_").concat(e.func);return this.extensionButtons.set(i,e.callFunc),{info:e,xml:'<button text="'.concat(T(r),'"')+' callbackKey="EXTENSION_CALLBACK"'+' callbackData="'.concat(T(i),'"></button>')}}_convertXmlForScratchBlocks(e){return{info:e,xml:e.xml}}handleExtensionButtonPress(e){this.extensionButtons.get(e)()}_constructInlineImageJson(e){return e.dataURI||S.warn("Missing data URI in extension block with argument type IMAGE"),{type:"field_image",src:e.dataURI||"",width:24,height:24,flip_rtl:e.flipRTL||!1}}_convertPlaceholders(e,t,n){const r=e.blockInfo.arguments[n]||{};let i,s=V[r.type]||{};if(!V[r.type]&&e.categoryInfo.customFieldTypes[r.type]&&(s=e.categoryInfo.customFieldTypes[r.type].argumentTypeInfo),"field_image"===s.fieldType)i=this._constructInlineImageJson(r);else{i={type:"input_value",name:n};const t=void 0===r.defaultValue?null:w(r.defaultValue,this.makeMessageContextForTarget()).toString();let o,a,l;if(s.check&&(i.check=s.check),r.menu){const t=e.categoryInfo.menuInfo[r.menu];t.acceptReporters?(o=n,a=this._makeExtensionMenuId(r.menu,e.categoryInfo.id),l=r.menu):(i.type="field_dropdown",i.options=this._convertMenuItems(t.items),o=null,a=null,l=n)}else o=n,a=s.shadow&&s.shadow.type||null,l=s.shadow&&s.shadow.fieldName||null;o&&e.inputList.push('<value name="'.concat(T(n),'">')),a&&e.inputList.push('<shadow type="'.concat(T(a),'">')),null!==t&&l&&e.inputList.push('<field name="'.concat(T(l),'">').concat(T(t),"</field>")),a&&e.inputList.push("</shadow>"),o&&e.inputList.push("</value>")}const o="args".concat(e.outLineNum),a=e.blockJSON[o]=e.blockJSON[o]||[];i&&a.push(i);const l=a.length;return e.argsMap[n]=l,"%".concat(l)}getBlocksXML(e){return this._blockInfo.map((t=>{const{name:n,color1:r,color2:i}=t,s=t.blocks.filter((t=>{let n=!0;return e&&t.info.filter&&(n=t.info.filter.includes(e.isStage?b.STAGE:b.SPRITE)),n&&!t.info.hideFromPalette})),o='colour="'.concat(T(r),'" secondaryColour="').concat(T(i),'"');let a="";t.menuIconURI?a=t.menuIconURI:t.blockIconURI&&(a=t.blockIconURI);const l=a?'iconURI="'.concat(T(a),'"'):"";let c="";t.showStatusButton&&(c='showStatusButton="true"');let u='<category name="'.concat(T(n),'"');return u+=' id="'.concat(T(t.id),'"'),u+=" ".concat(c),u+=" ".concat(o),u+=" ".concat(l,">"),u+=s.map((e=>e.xml)).join(""),u+="</category>",{id:t.id,xml:u}}))}getBlocksJSON(){return this._blockInfo.reduce(((e,t)=>e.concat(t.blocks.map((e=>e.json)))),[])}_initScratchLink(){if("undefined"!=typeof self&&"undefined"!=typeof document&&document.getElementById&&self.origin&&"null"!==self.origin&&self.navigator&&self.navigator.userAgent&&!self.navigator.userAgent.includes("Node.js")&&!self.navigator.userAgent.includes("jsdom")){if(!document.getElementById("scratch-link-extension-script")){const e=document.createElement("script");e.id="scratch-link-extension-script",document.body.appendChild(e),self.postMessage("inject-scratch-link-script",self.origin)}}}getScratchLinkSocket(e){return(this._linkSocketFactory||this._defaultScratchLinkSocketFactory)(e)}configureScratchLinkSocketFactory(e){this._linkSocketFactory=e}_defaultScratchLinkSocketFactory(e){const t=self.Scratch,n=t&&t.ScratchLinkSafariSocket;return n&&n.isSafariHelperCompatible()?new n(e):new E(e)}registerPeripheralExtension(e,t){this.peripheralExtensions[e]=t}scanForPeripheral(e){this.peripheralExtensions[e]&&this.peripheralExtensions[e].scan()}connectPeripheral(e,t){this.peripheralExtensions[e]&&this.peripheralExtensions[e].connect(t)}disconnectPeripheral(e){this.peripheralExtensions[e]&&this.peripheralExtensions[e].disconnect()}getPeripheralIsConnected(e){let t=!1;return this.peripheralExtensions[e]&&(t=this.peripheralExtensions[e].isConnected()),t}emitMicListening(e){this.emit(_.MIC_LISTENING,e)}getOpcodeFunction(e){return this._primitives[e]}getIsHat(e){return Object.prototype.hasOwnProperty.call(this._hats,e)}getIsEdgeActivatedHat(e){return Object.prototype.hasOwnProperty.call(this._hats,e)&&this._hats[e].edgeActivated}attachAudioEngine(e){this.audioEngine=e}attachRenderer(e){this.renderer=e,this.renderer.setLayerGroupOrdering(k.LAYER_GROUPS),this.renderer.offscreenTouching=!this.runtimeOptions.fencing,this.updatePrivacy()}attachV2BitmapAdapter(e){this.v2BitmapAdapter=e}attachStorage(e){if(this.storage=e,this.isPackaged){const t=e.createAsset;let n=0;e.createAsset=function(e,r,i,s,o){return s||(s=(++n).toString()),t.call(this,e,r,i,s,!1)}}C.setFetch(e.scratchFetch.scratchFetch),this.resetRunId()}_pushThread(e,t,n){const r=new v(e);return r.target=t,r.stackClick=Boolean(n&&n.stackClick),r.updateMonitor=Boolean(n&&n.updateMonitor),r.blockContainer=r.updateMonitor?this.monitorBlocks:t.blocks,r.pushStack(e),this.threads.push(r),r.stackClick||r.updateMonitor||this.threadMap.set(r.getId(),r),n&&n.updateMonitor||!this.compilerOptions.enabled||r.tryCompile(),r}_stopThread(e){e.isKilled=!0,this.sequencer.retireThread(e)}_restartThread(e){const t=new v(e.topBlock);t.target=e.target,t.stackClick=e.stackClick,t.updateMonitor=e.updateMonitor,t.blockContainer=e.blockContainer,t.pushStack(e.topBlock),e.triedToCompile&&this.compilerOptions.enabled&&t.tryCompile(),t.stackClick||t.updateMonitor||this.threadMap.set(t.getId(),t);const n=this.threads.indexOf(e);return n>-1?(this.threads[n]=t,t):(this.threads.push(e),e)}emitCompileError(e,t){this.emit(_.COMPILE_ERROR,e,t)}isActiveThread(e){return e.stack.length>0&&e.status!==v.STATUS_DONE&&this.threads.indexOf(e)>-1}isWaitingThread(e){return e.status===v.STATUS_PROMISE_WAIT||e.status===v.STATUS_YIELD_TICK||!this.isActiveThread(e)}toggleScript(e,t){t=Object.assign({target:this._editingTarget,stackClick:!1},t);for(let n=0;n<this.threads.length;n++)if(this.threads[n].topBlock===e&&this.threads[n].status!==v.STATUS_DONE){const r=t.target.blocks,i=r.getOpcode(r.getBlock(e));if(this.getIsEdgeActivatedHat(i)&&this.threads[n].stackClick!==t.stackClick)continue;return void this._stopThread(this.threads[n])}this._pushThread(e,t.target,t)}addMonitorScript(e,t){t||(t=this._editingTarget);for(let t=0;t<this.threads.length;t++)if(this.threads[t].topBlock===e&&this.threads[t].status!==v.STATUS_DONE&&this.threads[t].updateMonitor)return;this._pushThread(e,t,{updateMonitor:!0})}allScriptsDo(e,t){let n=this.executableTargets;t&&(n=[t]);for(let t=n.length-1;t>=0;t--){const r=n[t],i=r.blocks.getScripts();for(let t=0;t<i.length;t++){e(i[t],r)}}}allScriptsByOpcodeDo(e,t,n){let r=this.executableTargets;n&&(r=[n]);for(let n=r.length-1;n>=0;n--){const i=r[n],s=d.getScripts(i.blocks,e);for(let e=0;e<s.length;e++)t(s[e],i)}}startHats(e,t,n){if(!Object.prototype.hasOwnProperty.call(this._hats,e))return;const r=[],i=this._hats[e];for(const e in t)Object.prototype.hasOwnProperty.call(t,e)&&(t[e]=t[e].toUpperCase());const s=this.threads.length;return this.allScriptsByOpcodeDo(e,((e,n)=>{const{blockId:o,fieldsOfInputs:a}=e;for(const e in t)if(a[e].value!==t[e])return;if(i.restartExistingThreads){const e=this.threadMap.get(v.getIdFromTargetAndBlock(n,o));if(e)return void r.push(this._restartThread(e))}else for(let e=0;e<s;e++)if(this.threads[e].target===n&&this.threads[e].topBlock===o&&!this.threads[e].stackClick&&this.threads[e].status!==v.STATUS_DONE)return;r.push(this._pushThread(o,n))}),n),r.forEach((e=>{e.isCompiled?e.executableHat&&(g.saveGlobalState(),g(e),g.restoreGlobalState()):(f(this.sequencer,e),e.goToNextBlock())})),r}dispose(){this.stopAll(),this.targets.forEach((e=>{e.isOriginal&&e.deleteMonitors()})),this.targets.map(this.disposeTarget,this),this.extensionStorage={};const e=o({});e.equals(this._monitorState)||(this._monitorState=e,this.emit(_.MONITORS_UPDATE,this._monitorState)),this.emit(_.RUNTIME_DISPOSED),this.ioDevices.clock.resetProjectTimer(),this.fontManager.clear(),this.hasCloudData()&&this.emit(_.HAS_CLOUD_DATA_UPDATE,!1),this.ioDevices.cloud.clear();const t=G(this.cloudOptions);this.hasCloudData=t.hasCloudVariables,this.canAddCloudVariable=t.canAddCloudVariable,this.getNumberOfCloudVariables=t.getNumberOfCloudVariables,this.addCloudVariable=this._initializeAddCloudVariable(t),this.removeCloudVariable=this._initializeRemoveCloudVariable(t),this.resetProgress()}addTarget(e){this.targets.push(e),this.executableTargets.push(e),e.isStage&&!this._stageTarget&&(this._stageTarget=e)}moveExecutable(e,t){const n=this.executableTargets.indexOf(e);this.executableTargets.splice(n,1);let r=n+t;return r>this.executableTargets.length&&(r=this.executableTargets.length),r<=0&&(r=this.executableTargets.length>0&&this.executableTargets[0].isStage?1:0),this.executableTargets.splice(r,0,e),r}setExecutablePosition(e,t){const n=this.executableTargets.indexOf(e);return this.moveExecutable(e,t-n)}removeExecutable(e){const t=this.executableTargets.indexOf(e);t>-1&&this.executableTargets.splice(t,1)}disposeTarget(e){this.targets=this.targets.filter((t=>e!==t||(t.dispose(),!1))),this._stageTarget===e&&(this._stageTarget=null)}stopForTarget(e,t){this.emit(_.STOP_FOR_TARGET,e,t);for(let n=0;n<this.threads.length;n++)this.threads[n]!==t&&this.threads[n].target===e&&this._stopThread(this.threads[n])}resetRunId(){if(!this.storage)return;const e=l.v1();this.storage.scratchFetch.setMetadata(this.storage.scratchFetch.RequestMetadata.RunId,e)}greenFlag(){this.stopAll(),this.emit(_.PROJECT_START),this.updateCurrentMSecs(),this.ioDevices.clock.resetProjectTimer(),this.targets.forEach((e=>e.clearEdgeActivatedValues()));for(let e=0;e<this.targets.length;e++)this.targets[e].onGreenFlag();this.startHats("event_whenflagclicked")}stopAll(){this.emit(_.PROJECT_STOP_ALL);const e=[];for(let t=0;t<this.targets.length;t++)this.targets[t].onStopAll(),Object.prototype.hasOwnProperty.call(this.targets[t],"isOriginal")&&!this.targets[t].isOriginal?this.targets[t].dispose():e.push(this.targets[t]);this.targets=e,null!==this.sequencer.activeThread&&this._stopThread(this.sequencer.activeThread),this.threads=[],this.threadMap.clear(),this.resetRunId()}_renderInterpolatedPositions(){const e=this._lastStepTime,t=Date.now()-e,n=Math.min(1,Math.max(0,t/this.currentStepTime));U.interpolate(this,n),this.renderer&&this.renderer.draw()}updateThreadMap(){this.threadMap.clear();for(const e of this.threads)e.stackClick||e.updateMonitor||this.threadMap.set(e.getId(),e)}_step(){this.interpolationEnabled&&U.setupInitialState(this),null!==this.profiler&&(-1===q&&(q=this.profiler.idByName("Runtime._step")),this.profiler.start(q)),this.threads=this.threads.filter((e=>!e.isKilled)),this.updateThreadMap();for(const e in this._hats){if(!Object.prototype.hasOwnProperty.call(this._hats,e))continue;this._hats[e].edgeActivated&&this.startHats(e)}this.redrawRequested=!1,this._pushMonitors(),null!==this.profiler&&(-1===Y&&(Y=this.profiler.idByName("Sequencer.stepThreads")),this.profiler.start(Y)),this.emit(_.BEFORE_EXECUTE);const e=this.sequencer.stepThreads();null!==this.profiler&&this.profiler.stop(),this.emit(_.AFTER_EXECUTE),this._updateGlows(e),this._emitProjectRunStatus(this.threads.length+e.length-this._getMonitorThreadCount([...this.threads,...e])),this._lastStepDoneThreads=e,this.renderer&&(null!==this.profiler&&(-1===H&&(H=this.profiler.idByName("RenderWebGL.draw")),this.profiler.start(H)),document.hidden||this.frameLoop._interpolationAnimation||this.renderer.draw(),null!==this.profiler&&this.profiler.stop()),this._refreshTargets&&(this.emit(_.TARGETS_UPDATE,!1),this._refreshTargets=!1),this._prevMonitorState.equals(this._monitorState)||(this.emit(_.MONITORS_UPDATE,this._monitorState),this._prevMonitorState=this._monitorState),null!==this.profiler&&(this.profiler.stop(),this.profiler.reportFrames()),this.interpolationEnabled&&(this._lastStepTime=Date.now())}_getMonitorThreadCount(e){let t=0;return e.forEach((e=>{e.updateMonitor&&t++})),t}_pushMonitors(){this.monitorBlocks.runAllMonitored(this)}setEditingTarget(e){const t=this._editingTarget;this._editingTarget=e,this._scriptGlowsPreviousFrame=[],this._updateGlows(),t!==this._editingTarget&&this.requestToolboxExtensionsUpdate()}setCompatibilityMode(e){e?this.setFramerate(30):this.setFramerate(60)}setFramerate(e){e>250&&(e=250),e<0&&(e=1),this.frameLoop.setFramerate(e),this.emit(_.FRAMERATE_CHANGED,e)}setInterpolation(e){this.interpolationEnabled=e,this.frameLoop.setInterpolation(this.interpolationEnabled),this.emit(_.INTERPOLATION_CHANGED,e)}setRuntimeOptions(e){this.runtimeOptions=Object.assign({},this.runtimeOptions,e),this.emit(_.RUNTIME_OPTIONS_CHANGED,this.runtimeOptions),this.renderer&&(this.renderer.offscreenTouching=!this.runtimeOptions.fencing)}setCompilerOptions(e){this.compilerOptions=Object.assign({},this.compilerOptions,e),this.resetAllCaches(),this.emit(_.COMPILER_OPTIONS_CHANGED,this.compilerOptions)}setStageSize(e,t){if(e=Math.round(Math.max(1,e)),t=Math.round(Math.max(1,t)),this.stageWidth!==e||this.stageHeight!==t){const n=e-this.stageWidth,r=t-this.stageHeight;if(this._monitorState.size>0){const e=n/2,t=r/2;for(const n of this._monitorState.valueSeq()){const r=n.set("x",n.get("x")+e).set("y",n.get("y")+t);this.requestUpdateMonitor(r)}this.emit(_.MONITORS_UPDATE,this._monitorState)}this.stageWidth=e,this.stageHeight=t,this.renderer&&this.renderer.setStageSize(-e/2,e/2,-t/2,t/2)}this.emit(_.STAGE_SIZE_CHANGED,e,t)}setInEditor(e){}convertToPackagedRuntime(){if(this.storage)throw new Error("convertToPackagedRuntime must be called before attachStorage");this.isPackaged=!0}resetAllCaches(){for(const e of this.targets)e.isOriginal&&e.blocks.resetCache();this.flyoutBlocks.resetCache(),this.monitorBlocks.resetCache()}addAddonBlock(e){const t=e.procedureCode,n=e.arguments||[],s=n,o=n.map(((e,t)=>"arg".concat(t))),a=n.map((()=>""));if(this.addonBlocks[t]=function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?r(Object(n),!0).forEach((function(t){i(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):r(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}({namesIdsDefaults:[s,o,a]},e),!e.hidden){const n="a-b";let r=this._blockInfo.find((e=>e.id===n));if(!r){const e='<svg xmlns="http://www.w3.org/2000/svg" width="48" height="48"><path d="M14.92 1.053A13.835 13.835 0 0 0 1.052 14.919v18.162a13.835 13.835 0 0 0 13.866 13.866h18.162a13.835 13.835 0 0 0 13.866-13.866V14.919A13.835 13.835 0 0 0 33.081 1.053zm16.6 12.746L41.72 24 31.52 34.201l-3.276-3.275L35.17 24l-6.926-6.926Zm-15.116.073 3.278 3.278L12.83 24l6.926 6.926L16.48 34.2 6.28 24Z" style="fill:#29beb8;fill-opacity:1;stroke:none;stroke-width:1.51371;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"/></svg>';r={id:n,name:w({id:"tw.blocks.addons",default:"Addons",description:"Name of the addon block category in the extension list"}),color1:"#29beb8",color2:"#3aa8a4",color3:"#3aa8a4",menuIconURI:"data:image/svg+xml;,".concat(encodeURIComponent(e)),blocks:[],customFieldTypes:{},menus:[]},this._blockInfo.unshift(r)}r.blocks.push({info:{},xml:'<block type="procedures_call" gap="16"><mutation generateshadows="true" warp="false"'+' proccode="'.concat(T(t),'"')+' argumentnames="'.concat(T(JSON.stringify(s)),'"')+' argumentids="'.concat(T(JSON.stringify(o)),'"')+' argumentdefaults="'.concat(T(JSON.stringify(a)),'"')+"".concat(e.return?' return="'.concat(T(e.return.toString()),'"'):"")+"></mutation></block>"})}this.resetAllCaches()}getAddonBlock(e){return Object.prototype.hasOwnProperty.call(this.addonBlocks,e)?this.addonBlocks[e]:null}findProjectOptionsComment(){const e=this.getTargetForStage().comments;for(const t of Object.values(e))if(t.text.includes(W))return t;return null}parseProjectOptions(){const e=this.findProjectOptionsComment();if(!e)return;const t=e.text.split("\n").find((e=>e.endsWith(W)));if(!t)return void S.warn("Config comment does not contain valid line");const n=t.substr(0,t.length-14);let r;try{if(r=a.parse(n),!r||"object"!=typeof r)throw new Error("Invalid object")}catch(e){return void S.warn("Config comment has invalid JSON",e)}"number"==typeof r.framerate&&this.setFramerate(r.framerate),r.turbo&&(this.turboMode=!0,this.emit(_.TURBO_MODE_ON)),r.interpolation&&this.setInterpolation(!0),r.runtimeOptions&&this.setRuntimeOptions(r.runtimeOptions),r.hq&&this.renderer&&this.renderer.setUseHighQualityRender(!0);const i=+r.width||this.stageWidth,s=+r.height||this.stageHeight;i===this.stageWidth&&s===this.stageHeight||this.setStageSize(i,s)}_generateAllProjectOptions(){return{framerate:this.frameLoop.framerate,runtimeOptions:this.runtimeOptions,interpolation:this.interpolationEnabled,turbo:this.turboMode,hq:!!this.renderer&&this.renderer.useHighQualityRender,width:this.stageWidth,height:this.stageHeight}}generateDifferingProjectOptions(){const e=(t,n)=>{const r={};for(const i of Object.keys(n)){const s=n[i],o=t[i];if("object"==typeof s&&s){const t=e(o,s);Object.keys(t).length>0&&(r[i]=t)}else s!==o&&(r[i]=s)}return r};return e(this._defaultStoredSettings,this._generateAllProjectOptions())}storeProjectOptions(){const e=this.generateDifferingProjectOptions(),t="Configuration for https://turbowarp.org/\nYou can move, resize, and minimize this comment, but don't edit it by hand. This comment can be deleted to remove the stored settings.\n".concat(a.stringify(e)).concat(W),n=this.findProjectOptionsComment();if(n)n.text=t;else{this.getTargetForStage().createComment(B(),null,t,50,50,350,170,!1)}this.emitProjectChanged()}precompile(){this.allScriptsDo(((e,t)=>{const n=t.blocks.getBlock(e);if(this.getIsHat(n.opcode)){const n=new v(e);n.target=t,n.blockContainer=t.blocks,n.tryCompile()}}))}enableDebug(){this.resetAllCaches(),this.debug=!0}_updateGlows(e){const t=[];t.push(...this.threads),e&&t.push(...e);const n=[],r=[];for(let e=0;e<t.length;e++){const r=t[e],i=r.target;if(i===this._editingTarget){const e=r.blockGlowInFrame;if(r.requestScriptGlowInFrame||r.stackClick){let t=i.blocks.getTopLevelScript(e);t||(t=this.flyoutBlocks.getTopLevelScript(e)),t&&n.push(t)}}}for(let e=0;e<this._scriptGlowsPreviousFrame.length;e++){const t=this._scriptGlowsPreviousFrame[e];n.indexOf(t)<0?this.glowScript(t,!1):r.push(t)}for(let e=0;e<n.length;e++){const t=n[e];this._scriptGlowsPreviousFrame.indexOf(t)<0&&(this.glowScript(t,!0),r.push(t))}this._scriptGlowsPreviousFrame=r}_emitProjectRunStatus(e){0===this._nonMonitorThreadCount&&e>0&&this.emit(_.PROJECT_RUN_START),this._nonMonitorThreadCount>0&&0===e&&this.emit(_.PROJECT_RUN_STOP),this._nonMonitorThreadCount=e}quietGlow(e){const t=this._scriptGlowsPreviousFrame.indexOf(e);t>-1&&this._scriptGlowsPreviousFrame.splice(t,1)}glowBlock(e,t){t?this.emit(_.BLOCK_GLOW_ON,{id:e}):this.emit(_.BLOCK_GLOW_OFF,{id:e})}glowScript(e,t){t?this.emit(_.SCRIPT_GLOW_ON,{id:e}):this.emit(_.SCRIPT_GLOW_OFF,{id:e})}emitBlockDragUpdate(e){this.emit(_.BLOCK_DRAG_UPDATE,e)}emitBlockEndDrag(e,t){this.emit(_.BLOCK_DRAG_END,e,t)}visualReport(e,t){this.emit(_.VISUAL_REPORT,{id:e,value:String(t)})}requestAddMonitor(e){const t=e.get("id");this.requestUpdateMonitor(e)||(this._monitorState=this._monitorState.set(t,e))}requestUpdateMonitor(e){const t=e.get("id");return!!this._monitorState.has(t)&&(this._monitorState=this._monitorState.set(t,this._monitorState.get(t).mergeWith(((e,t)=>null==t?e:t),e)),!0)}requestRemoveMonitor(e){this._monitorState=this._monitorState.delete(e)}requestHideMonitor(e){return this.requestUpdateMonitor(new Map([["id",e],["visible",!1]]))}requestShowMonitor(e){return this.requestUpdateMonitor(new Map([["id",e],["visible",!0]]))}requestRemoveMonitorByTargetId(e){this._monitorState=this._monitorState.filterNot((t=>t.targetId===e))}getTargetById(e){for(let t=0;t<this.targets.length;t++){const n=this.targets[t];if(n.id===e)return n}}getSpriteTargetByName(e){for(let t=0;t<this.targets.length;t++){const n=this.targets[t];if(!n.isStage&&(n.sprite&&n.sprite.name===e))return n}}getTargetByDrawableId(e){for(let t=0;t<this.targets.length;t++){const n=this.targets[t];if(n.drawableID===e)return n}}changeCloneCounter(e){this._cloneCounter+=e}clonesAvailable(){return this._cloneCounter<this.runtimeOptions.maxClones}handleProjectLoaded(){this.emit(_.PROJECT_LOADED),this.resetRunId()}emitProjectChanged(){this.emit(_.PROJECT_CHANGED)}fireTargetWasCreated(e,t){this.emit("targetWasCreated",e,t)}fireTargetWasRemoved(e){this.emit("targetWasRemoved",e)}getTargetForStage(){if(this._stageTarget)return this._stageTarget;for(let e=0;e<this.targets.length;e++){const t=this.targets[e];if(t.isStage)return this._stageTarget=t,t}}getEditingTarget(){return this._editingTarget}getAllVarNamesOfType(e){let t=[];for(const n of this.targets){const r=n.getAllVariableNamesInScopeByType(e,!0);t=t.concat(r)}return t}getLabelForOpcode(e){const[t,n]=L.splitFirst(e,"_");if(!t||!n)return;const r=this._blockInfo.find((e=>e.id===t));if(!r)return;const i=r.blocks.find((e=>e.info.opcode===n));return i?{category:"extension",label:"".concat(r.name,": ").concat(i.info.text)}:void 0}createNewGlobalVariable(e,t,n){const r="string"==typeof n?n:x.SCALAR_TYPE,i=this.getAllVarNamesOfType(r),s=L.unusedName(e,i),o=new x(t||B(),s,r);return this.getTargetForStage().variables[o.id]=o,o}requestRedraw(){this.redrawRequested=!0}requestTargetsUpdate(e){e.isOriginal&&(this._refreshTargets=!0)}requestBlocksUpdate(){this.emit(_.BLOCKS_NEED_UPDATE)}requestToolboxExtensionsUpdate(){this.emit(_.TOOLBOX_EXTENSIONS_NEED_UPDATE)}start(){this.frameLoop.running||(this.frameLoop.start(),this.emit(_.RUNTIME_STARTED))}stop(){this.quit()}quit(){this.frameLoop.running&&(this.frameLoop.stop(),this.emit(_.RUNTIME_STOPPED))}enableProfiling(e){p.available()&&(this.profiler=new p(e))}disableProfiling(){this.profiler=null}updateCurrentMSecs(){this.currentMSecs=Date.now()}updatePrivacy(){const e=this.enforcePrivacy&&Object.values(this.externalCommunicationMethods).some((e=>e));this.renderer&&this.renderer.setPrivateSkinAccess&&this.renderer.setPrivateSkinAccess(!e)}setEnforcePrivacy(e){this.enforcePrivacy=e,this.updatePrivacy()}setExternalCommunicationMethod(e,t){if(!Object.prototype.hasOwnProperty.call(this.externalCommunicationMethods,e))throw new Error("Unknown method: ".concat(e));this.externalCommunicationMethods[e]=t,this.updatePrivacy()}emitAssetProgress(){this.emit(_.ASSET_PROGRESS,this.finishedAssetRequests,this.totalAssetRequests)}resetProgress(){this.finishedAssetRequests=0,this.totalAssetRequests=0,this.emitAssetProgress()}wrapAssetRequest(e){return this.totalAssetRequests++,this.emitAssetProgress(),e.then((e=>(this.finishedAssetRequests++,this.emitAssetProgress(),e))).catch((e=>{throw this.finishedAssetRequests++,this.emitAssetProgress(),e}))}}e.exports=_},function(e,t,n){"use strict";n.r(t),n.d(t,"_parse",(function(){return r})),n.d(t,"parse",(function(){return i})),n.d(t,"stringify",(function(){return s}));const r=e=>{let t=0;const n=n=>{const{line:r,column:i}=(()=>{let n=0,r=0;for(let i=0;i<t;i++)"\n"===e[i]?(n++,r=0):r++;return{line:n+1,column:r+1}})();throw new SyntaxError(`${n} (Line ${r} Column ${i})`)},r=t=>(t>=e.length&&n("Unexpected end of input"),e[t]),i=()=>r(t),s=()=>{t++},o=e=>{i()!==e&&n(`Expected '${e}' but found '${i()}'`),s()},a=(n=1,i=1)=>{if(t+i+n>e.length)return"";if(1===n)return r(t+i);let s="";for(let e=0;e<n;e++)s+=r(t+i+e);return s},l=()=>{for(;;)if(/\s/.test(i()))s();else{const e=a(2,0);if("//"===e)for(s(),s();"\n"!==i();)s();else{if("/*"!==e)break;for(s(),s();"*/"!==a(2,0);)s();s(),s()}}},c=()=>{l();switch(i()){case'"':return h();case"{":return m();case"[":return p();case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":case"-":return d();default:return u()}},u=()=>{if("null"===a(4,0)){for(let e=0;e<4;e++)s();return null}if("true"===a(4,0)){for(let e=0;e<4;e++)s();return!0}if("false"===a(5,0)){for(let e=0;e<5;e++)s();return!1}if("Infinity"===a(8,0)){for(let e=0;e<8;e++)s();return 1/0}if("NaN"===a(3,0)){for(let e=0;e<3;e++)s();return NaN}n(`Unexpected character '${i()}'`)},d=()=>{if("-Infinity"===a(9,0)){for(let e=0;e<9;e++)s();return-1/0}let e="";for(;e+=i(),/[\d.e+-]/i.test(a());)s();s();const t=+e;return Number.isNaN(t)&&n(`Not a number: ${e}`),t},h=()=>{o('"');let e="";for(;;){const t=i();if('"'===t)break;if("\\"===t)switch(s(),i()){case'"':e+='"';break;case"/":e+="/";break;case"\\":e+="\\";break;case"b":e+="\b";break;case"f":e+="\f";break;case"n":e+="\n";break;case"r":e+="\r";break;case"t":e+="\t";break;case"u":{let t="";for(let e=0;e<4;e++){s();const e=i();/[0-9a-f]/i.test(e)||n(`Invalid hex code: ${e}`),t+=e}const r=Number.parseInt(t,16);e+=String.fromCharCode(r);break}default:n(`Invalid escape code: \\${i()}`)}else e+=t;s()}return o('"'),e},p=()=>{o("["),l();const e=[];for(;l(),"]"!==i();){const t=c();if(e.push(t),l(),","!==i())break;s()}return o("]"),e},m=()=>{o("{"),l();const e={};for(;l(),"}"!==i();){const t=h();l(),o(":");const n=c();if(e[t]=n,l(),","!==i())break;s()}return o("}"),e};return c()},i=e=>{try{return JSON.parse(e)}catch(t){try{return r(e)}catch(e){throw t}}},s=e=>{if("string"==typeof e)return JSON.stringify(e);if("number"==typeof e||"boolean"==typeof e)return e.toString();if(null==e||"symbol"==typeof e)return"null";if(Array.isArray(e))return`[${e.map((e=>s(e))).join(",")}]`;if("object"==typeof e){let t="{",n=!0;const r=Object.keys(e);for(let i=0;i<r.length;i++){const o=r[i],a=e[o];void 0!==a&&(n||(t+=","),t+=`${JSON.stringify(o)}:${s(a)}`,n=!1)}return t+="}",t}if("bigint"==typeof e)throw new TypeError("Can not stringify bigint");throw new TypeError(`Can not stringify: ${e}`)}},function(e,t,n){const r=n(74),i=n(207),s=function e(t){const n=Object.create(null);n.tagName=t.name,n.children=[];for(const e in t.attribs)"xmlns"!==e&&(n[e]=i(t.attribs[e]),"blockinfo"===e&&(n.blockInfo=JSON.parse(n.blockinfo),delete n.blockinfo));for(let r=0;r<t.children.length;r++)n.children.push(e(t.children[r]));return n};e.exports=function(e){let t;return t="object"==typeof e?e:r.parseDOM(e)[0],s(t)}},function(e,t){e.exports={}},function(e,t,n){t.getCached=function(){throw new Error("blocks.js has not initialized BlocksExecuteCache")},n(17)},function(e,t,n){t.getScripts=function(){throw new Error("blocks.js has not initialized BlocksRuntimeCache")},t._RuntimeScriptCache=class{constructor(e,t){this.container=e,this.blockId=t;const n=e.getBlock(t),r=e.getFields(n);if(this.fieldsOfInputs=Object.assign({},r),0===Object.keys(r).length){const t=e.getInputs(n);for(const n in t){if(!Object.prototype.hasOwnProperty.call(t,n))continue;const r=t[n].block,i=e.getBlock(r),s=e.getFields(i);Object.assign(this.fieldsOfInputs,s)}}for(const e in this.fieldsOfInputs){const t=this.fieldsOfInputs[e]=Object.assign({},this.fieldsOfInputs[e]);t.value.toUpperCase&&(t.value=t.value.toUpperCase())}}},n(17)},function(e,t){e.exports={IntermediateScript:class{constructor(){this.topBlockId=null,this.stack=null,this.isProcedure=!1,this.procedureCode="",this.arguments=[],this.isWarp=!1,this.yields=!0,this.warpTimer=!1,this.dependedProcedures=[],this.cachedCompileResult=null,this.executableHat=!1}},IntermediateRepresentation:class{constructor(){this.entry=null,this.procedures={}}}}},function(e,t,n){const r=n(1),i=n(2),s=n(3),o=n(212),a=n(49),l=n(214),{IntermediateScript:c,IntermediateRepresentation:u}=n(77),d=e=>("string"!=typeof e&&(r.warn("sanitize got unexpected type: ".concat(typeof e)),e=""+e),JSON.stringify(e).slice(1,-1)),h="runtime.ext_pen",p="".concat(h,"._getPenState(target)"),m=new o("factory"),f=new o("fun"),g=new o("gen");class y{constructor(e,t){if("number"!=typeof t)throw new Error("type is invalid");this.source=e,this.type=t}asNumber(){return 1===this.type?this.source:5===this.type?"(".concat(this.source," || 0)"):"(+".concat(this.source," || 0)")}asNumberOrNaN(){return 1===this.type||5===this.type?this.source:"(+".concat(this.source,")")}asString(){return 2===this.type?this.source:'("" + '.concat(this.source,")")}asBoolean(){return 3===this.type?this.source:"toBoolean(".concat(this.source,")")}asColor(){return this.asUnknown()}asUnknown(){return this.source}asSafe(){return this.asUnknown()}isAlwaysNumber(){return 1===this.type}isAlwaysNumberOrNaN(){return 1===this.type||5===this.type}isNeverNumber(){return!1}}class b{constructor(e,t){this.constantValue=e,this.safe=t}asNumber(){const e=+this.constantValue;return e?e.toString():Object.is(e,-0)?"-0":"0"}asNumberOrNaN(){return this.asNumber()}asString(){return'"'.concat(d(""+this.constantValue),'"')}asBoolean(){return i.toBoolean(this.constantValue).toString()}asColor(){if(/^#[0-9a-f]{6,8}$/i.test(this.constantValue)){const e=this.constantValue.substr(1);return Number.parseInt(e,16).toString()}return this.asUnknown()}asUnknown(){if("number"==typeof this.constantValue)return this.constantValue;return(+this.constantValue).toString()===this.constantValue?this.constantValue:this.asString()}asSafe(){return this.safe?this.asUnknown():this.asString()}isAlwaysNumber(){const e=+this.constantValue;return!Number.isNaN(e)&&(0!==e||""!==this.constantValue.toString().trim())}isAlwaysNumberOrNaN(){return this.isAlwaysNumber()}isNeverNumber(){return Number.isNaN(+this.constantValue)}}class v{constructor(e){this.source=e,this.type=4,this._value=null}setInput(e){if(e instanceof v){if(!e._value)return this.type=4,void(this._value=null);e=e._value}this._value=e,this.type=e instanceof y?e.type:4}asNumber(){return 1===this.type?this.source:5===this.type?"(".concat(this.source," || 0)"):"(+".concat(this.source," || 0)")}asNumberOrNaN(){return 1===this.type||5===this.type?this.source:"(+".concat(this.source,")")}asString(){return 2===this.type?this.source:'("" + '.concat(this.source,")")}asBoolean(){return 3===this.type?this.source:"toBoolean(".concat(this.source,")")}asColor(){return this.asUnknown()}asUnknown(){return this.source}asSafe(){return this.asUnknown()}isAlwaysNumber(){return!!this._value&&this._value.isAlwaysNumber()}isAlwaysNumberOrNaN(){return!!this._value&&this._value.isAlwaysNumberOrNaN()}isNeverNumber(){return!!this._value&&this._value.isNeverNumber()}}const S=e=>{const t=+e.constantValue;return!!t&&t.toString()===e.constantValue.toString()};class w{constructor(e){this.isLoop=e,this.isLastBlock=!1}}class k{constructor(e,t,n){this.script=e,this.ir=t,this.target=n,this.source="",this.variableInputs={},this.isWarp=e.isWarp,this.isProcedure=e.isProcedure,this.warpTimer=e.warpTimer,this.frames=[],this.currentFrame=null,this.namesOfCostumesAndSounds=(e=>{const t=new Set;for(const n of e.targets)if(n.isOriginal){const e=n.sprite;for(const n of e.costumes)t.add(n.name);for(const n of e.sounds)t.add(n.name)}return t})(n.runtime),this.localVariables=new o("a"),this._setupVariablesPool=new o("b"),this._setupVariables={},this.descendedIntoModulo=!1,this.isInHat=!1,this.debug=this.target.runtime.debug}pushFrame(e){this.frames.push(e),this.currentFrame=e}popFrame(){this.frames.pop(),this.currentFrame=this.frames[this.frames.length-1]}isLastBlockInLoop(){for(let e=this.frames.length-1;e>=0;e--){const t=this.frames[e];if(!t.isLastBlock)return!1;if(t.isLoop)return!0}return!1}descendInput(e){switch(e.kind){case"addons.call":return new y("(".concat(this.descendAddonCall(e),")"),4);case"args.boolean":return new y("toBoolean(p".concat(e.index,")"),3);case"args.stringNumber":return new y("p".concat(e.index),4);case"compat":return new y("(".concat(this.generateCompatibilityLayerCall(e,!1),")"),4);case"constant":return this.safeConstantInput(e.value);case"counter.get":return new y("runtime.ext_scratch3_control._counter",1);case"keyboard.pressed":return new y("runtime.ioDevices.keyboard.getKeyIsDown(".concat(this.descendInput(e.key).asSafe(),")"),3);case"list.contains":return new y("listContains(".concat(this.referenceVariable(e.list),", ").concat(this.descendInput(e.item).asUnknown(),")"),3);case"list.contents":return new y("listContents(".concat(this.referenceVariable(e.list),")"),2);case"list.get":{const t=this.descendInput(e.index);if(l.supportsNullishCoalescing){if(t.isAlwaysNumberOrNaN())return new y("(".concat(this.referenceVariable(e.list),".value[(").concat(t.asNumber(),' | 0) - 1] ?? "")'),4);if(t instanceof b&&"last"===t.constantValue)return new y("(".concat(this.referenceVariable(e.list),".value[").concat(this.referenceVariable(e.list),'.value.length - 1] ?? "")'),4)}return new y("listGet(".concat(this.referenceVariable(e.list),".value, ").concat(t.asUnknown(),")"),4)}case"list.indexOf":return new y("listIndexOf(".concat(this.referenceVariable(e.list),", ").concat(this.descendInput(e.item).asUnknown(),")"),1);case"list.length":return new y("".concat(this.referenceVariable(e.list),".value.length"),1);case"looks.size":return new y("Math.round(target.size)",1);case"looks.backdropName":return new y("stage.getCostumes()[stage.currentCostume].name",2);case"looks.backdropNumber":return new y("(stage.currentCostume + 1)",1);case"looks.costumeName":return new y("target.getCostumes()[target.currentCostume].name",2);case"looks.costumeNumber":return new y("(target.currentCostume + 1)",1);case"motion.direction":return new y("target.direction",1);case"motion.x":return new y("limitPrecision(target.x)",1);case"motion.y":return new y("limitPrecision(target.y)",1);case"mouse.down":return new y("runtime.ioDevices.mouse.getIsDown()",3);case"mouse.x":return new y("runtime.ioDevices.mouse.getScratchX()",1);case"mouse.y":return new y("runtime.ioDevices.mouse.getScratchY()",1);case"noop":return new y('""',2);case"op.abs":return new y("Math.abs(".concat(this.descendInput(e.value).asNumber(),")"),1);case"op.acos":return new y("((Math.acos(".concat(this.descendInput(e.value).asNumber(),") * 180) / Math.PI)"),5);case"op.add":return new y("(".concat(this.descendInput(e.left).asNumber()," + ").concat(this.descendInput(e.right).asNumber(),")"),5);case"op.and":return new y("(".concat(this.descendInput(e.left).asBoolean()," && ").concat(this.descendInput(e.right).asBoolean(),")"),3);case"op.asin":return new y("((Math.asin(".concat(this.descendInput(e.value).asNumber(),") * 180) / Math.PI)"),5);case"op.atan":return new y("((Math.atan(".concat(this.descendInput(e.value).asNumber(),") * 180) / Math.PI)"),1);case"op.ceiling":return new y("Math.ceil(".concat(this.descendInput(e.value).asNumber(),")"),1);case"op.contains":return new y("(".concat(this.descendInput(e.string).asString(),".toLowerCase().indexOf(").concat(this.descendInput(e.contains).asString(),".toLowerCase()) !== -1)"),3);case"op.cos":return new y("(Math.round(Math.cos((Math.PI * ".concat(this.descendInput(e.value).asNumber(),") / 180) * 1e10) / 1e10)"),5);case"op.divide":return new y("(".concat(this.descendInput(e.left).asNumber()," / ").concat(this.descendInput(e.right).asNumber(),")"),5);case"op.equals":{const t=this.descendInput(e.left),n=this.descendInput(e.right);if(t.isNeverNumber()||n.isNeverNumber())return new y("(".concat(t.asString(),".toLowerCase() === ").concat(n.asString(),".toLowerCase())"),3);const r=t.isAlwaysNumber(),i=n.isAlwaysNumber();return r&&i||(r&&t instanceof b&&S(t)||i&&n instanceof b&&S(n))?new y("(".concat(t.asNumber()," === ").concat(n.asNumber(),")"),3):new y("compareEqual(".concat(t.asUnknown(),", ").concat(n.asUnknown(),")"),3)}case"op.e^":return new y("Math.exp(".concat(this.descendInput(e.value).asNumber(),")"),1);case"op.floor":return new y("Math.floor(".concat(this.descendInput(e.value).asNumber(),")"),1);case"op.greater":{const t=this.descendInput(e.left),n=this.descendInput(e.right);return t.isAlwaysNumber()&&n.isAlwaysNumberOrNaN()?new y("(".concat(t.asNumber()," > ").concat(n.asNumberOrNaN(),")"),3):t.isAlwaysNumberOrNaN()&&n.isAlwaysNumber()?new y("!(".concat(t.asNumberOrNaN()," <= ").concat(n.asNumber(),")"),3):t.isNeverNumber()||n.isNeverNumber()?new y("(".concat(t.asString(),".toLowerCase() > ").concat(n.asString(),".toLowerCase())"),3):new y("compareGreaterThan(".concat(t.asUnknown(),", ").concat(n.asUnknown(),")"),3)}case"op.join":return new y("(".concat(this.descendInput(e.left).asString()," + ").concat(this.descendInput(e.right).asString(),")"),2);case"op.length":return new y("".concat(this.descendInput(e.string).asString(),".length"),1);case"op.less":{const t=this.descendInput(e.left),n=this.descendInput(e.right);return t.isAlwaysNumberOrNaN()&&n.isAlwaysNumber()?new y("(".concat(t.asNumberOrNaN()," < ").concat(n.asNumber(),")"),3):t.isAlwaysNumber()&&n.isAlwaysNumberOrNaN()?new y("!(".concat(t.asNumber()," >= ").concat(n.asNumberOrNaN(),")"),3):t.isNeverNumber()||n.isNeverNumber()?new y("(".concat(t.asString(),".toLowerCase() < ").concat(n.asString(),".toLowerCase())"),3):new y("compareLessThan(".concat(t.asUnknown(),", ").concat(n.asUnknown(),")"),3)}case"op.letterOf":return new y("((".concat(this.descendInput(e.string).asString(),")[(").concat(this.descendInput(e.letter).asNumber(),' | 0) - 1] || "")'),2);case"op.ln":return new y("Math.log(".concat(this.descendInput(e.value).asNumber(),")"),5);case"op.log":return new y("(Math.log(".concat(this.descendInput(e.value).asNumber(),") / Math.LN10)"),5);case"op.mod":return this.descendedIntoModulo=!0,new y("mod(".concat(this.descendInput(e.left).asNumber(),", ").concat(this.descendInput(e.right).asNumber(),")"),5);case"op.multiply":return new y("(".concat(this.descendInput(e.left).asNumber()," * ").concat(this.descendInput(e.right).asNumber(),")"),5);case"op.not":return new y("!".concat(this.descendInput(e.operand).asBoolean()),3);case"op.or":return new y("(".concat(this.descendInput(e.left).asBoolean()," || ").concat(this.descendInput(e.right).asBoolean(),")"),3);case"op.random":return e.useInts?new y("randomInt(".concat(this.descendInput(e.low).asNumber(),", ").concat(this.descendInput(e.high).asNumber(),")"),1):e.useFloats?new y("randomFloat(".concat(this.descendInput(e.low).asNumber(),", ").concat(this.descendInput(e.high).asNumber(),")"),5):new y("runtime.ext_scratch3_operators._random(".concat(this.descendInput(e.low).asUnknown(),", ").concat(this.descendInput(e.high).asUnknown(),")"),5);case"op.round":return new y("Math.round(".concat(this.descendInput(e.value).asNumber(),")"),1);case"op.sin":return new y("(Math.round(Math.sin((Math.PI * ".concat(this.descendInput(e.value).asNumber(),") / 180) * 1e10) / 1e10)"),5);case"op.sqrt":return new y("Math.sqrt(".concat(this.descendInput(e.value).asNumber(),")"),5);case"op.subtract":return new y("(".concat(this.descendInput(e.left).asNumber()," - ").concat(this.descendInput(e.right).asNumber(),")"),5);case"op.tan":return new y("tan(".concat(this.descendInput(e.value).asNumber(),")"),5);case"op.10^":return new y("(10 ** ".concat(this.descendInput(e.value).asNumber(),")"),1);case"procedures.call":{const t=e.code,n=e.variant,r=this.ir.procedures[n];if(null===r.stack)return new y('""',2);const i='thread.procedures["'.concat(d(n),'"]'),s=[];for(const t of e.arguments)s.push(this.descendInput(t).asSafe());const o=s.join(","),a=!this.isWarp&&t===this.script.procedureCode,l=this.isInHat;if(a||l){const e=r.yields?"yieldThenCallGenerator":"yieldThenCall";return new y("(yield* ".concat(e,"(").concat(i,", ").concat(o,"))"),4)}return r.yields?new y("(yield* ".concat(i,"(").concat(o,"))"),4):new y("".concat(i,"(").concat(o,")"),4)}case"sensing.answer":return new y("runtime.ext_scratch3_sensing._answer",2);case"sensing.colorTouchingColor":return new y("target.colorIsTouchingColor(colorToList(".concat(this.descendInput(e.target).asColor(),"), colorToList(").concat(this.descendInput(e.mask).asColor(),"))"),3);case"sensing.date":return new y("(new Date().getDate())",1);case"sensing.dayofweek":return new y("(new Date().getDay() + 1)",1);case"sensing.daysSince2000":return new y("daysSince2000()",1);case"sensing.distance":return new y("distance(".concat(this.descendInput(e.target).asString(),")"),1);case"sensing.hour":return new y("(new Date().getHours())",1);case"sensing.minute":return new y("(new Date().getMinutes())",1);case"sensing.month":return new y("(new Date().getMonth() + 1)",1);case"sensing.of":{const t=this.descendInput(e.object).asString(),n=e.property;if("constant"===e.object.kind){const r="_stage_"===e.object.value,i=r?"stage":this.evaluateOnce("runtime.getSpriteTargetByName(".concat(t,")"));if("volume"===n)return new y("(".concat(i," ? ").concat(i,".volume : 0)"),1);if(r)switch(n){case"background #":case"backdrop #":return new y("(".concat(i,".currentCostume + 1)"),1);case"backdrop name":return new y("".concat(i,".getCostumes()[").concat(i,".currentCostume].name"),2)}else switch(n){case"x position":return new y("(".concat(i," ? ").concat(i,".x : 0)"),1);case"y position":return new y("(".concat(i," ? ").concat(i,".y : 0)"),1);case"direction":return new y("(".concat(i," ? ").concat(i,".direction : 0)"),1);case"costume #":return new y("(".concat(i," ? ").concat(i,".currentCostume + 1 : 0)"),1);case"costume name":return new y("(".concat(i," ? ").concat(i,".getCostumes()[").concat(i,".currentCostume].name : 0)"),4);case"size":return new y("(".concat(i," ? ").concat(i,".size : 0)"),1)}const s=this.evaluateOnce("".concat(i," && ").concat(i,'.lookupVariableByNameAndType("').concat(d(n),'", "", true)'));return new y("(".concat(s," ? ").concat(s,".value : 0)"),4)}return new y("runtime.ext_scratch3_sensing.getAttributeOf({OBJECT: ".concat(t,', PROPERTY: "').concat(d(n),'" })'),4)}case"sensing.second":return new y("(new Date().getSeconds())",1);case"sensing.touching":return new y("target.isTouchingObject(".concat(this.descendInput(e.object).asUnknown(),")"),3);case"sensing.touchingColor":return new y("target.isTouchingColor(colorToList(".concat(this.descendInput(e.color).asColor(),"))"),3);case"sensing.username":return new y("runtime.ioDevices.userData.getUsername()",2);case"sensing.year":return new y("(new Date().getFullYear())",1);case"timer.get":return new y("runtime.ioDevices.clock.projectTimer()",1);case"tw.lastKeyPressed":return new y("runtime.ioDevices.keyboard.getLastKeyPressed()",2);case"var.get":return this.descendVariable(e.variable);default:throw r.warn("JS: Unknown input: ".concat(e.kind),e),new Error("JS: Unknown input: ".concat(e.kind))}}descendStackedBlock(e){switch(e.kind){case"addons.call":this.source+="".concat(this.descendAddonCall(e),";\n");break;case"compat":{const t=this.isLastBlockInLoop(),n=e.blockType;if(n===s.COMMAND||n===s.HAT)this.source+="".concat(this.generateCompatibilityLayerCall(e,t),";\n");else{if(n!==s.CONDITIONAL&&n!==s.LOOP)throw new Error("Unknown block type: ".concat(n));{const t=this.localVariables.next();this.source+="const ".concat(t," = createBranchInfo(").concat(n===s.LOOP,");\n"),this.source+="while (".concat(t,".branch = +(").concat(this.generateCompatibilityLayerCall(e,!1,t),")) {\n"),this.source+="switch (".concat(t,".branch) {\n");for(const t in e.substacks)this.source+="case ".concat(+t,": {\n"),this.descendStack(e.substacks[t],new w(!1)),this.source+="break;\n",this.source+="}\n";this.source+="}\n",this.source+="if (!".concat(t,".isLoop) break;\n"),this.yieldLoop(),this.source+="}\n"}}t&&(this.source+="if (hasResumedFromPromise) {hasResumedFromPromise = false;continue;}\n");break}case"control.createClone":this.source+="runtime.ext_scratch3_control._createClone(".concat(this.descendInput(e.target).asString(),", target);\n");break;case"control.deleteClone":this.source+="if (!target.isOriginal) {\n",this.source+=" runtime.disposeTarget(target);\n",this.source+=" runtime.stopForTarget(target);\n",this.retire(),this.source+="}\n";break;case"control.for":{this.resetVariableInputs();const t=this.localVariables.next();this.source+="var ".concat(t," = 0; "),this.source+="while (".concat(t," < ").concat(this.descendInput(e.count).asNumber(),") { "),this.source+="".concat(t,"++; "),this.source+="".concat(this.referenceVariable(e.variable),".value = ").concat(t,";\n"),this.descendStack(e.do,new w(!0)),this.yieldLoop(),this.source+="}\n";break}case"control.if":this.source+="if (".concat(this.descendInput(e.condition).asBoolean(),") {\n"),this.descendStack(e.whenTrue,new w(!1)),e.whenFalse.length&&(this.source+="} else {\n",this.descendStack(e.whenFalse,new w(!1))),this.source+="}\n";break;case"control.repeat":{const t=this.localVariables.next();this.source+="for (var ".concat(t," = ").concat(this.descendInput(e.times).asNumber(),"; ").concat(t," >= 0.5; ").concat(t,"--) {\n"),this.descendStack(e.do,new w(!0)),this.yieldLoop(),this.source+="}\n";break}case"control.stopAll":this.source+="runtime.stopAll();\n",this.retire();break;case"control.stopOthers":this.source+="runtime.stopForTarget(target, thread);\n";break;case"control.stopScript":this.stopScript();break;case"control.wait":{const t=this.localVariables.next();this.source+="thread.timer = timer();\n",this.source+="var ".concat(t," = Math.max(0, 1000 * ").concat(this.descendInput(e.seconds).asNumber(),");\n"),this.requestRedraw(),this.yieldNotWarp(),this.source+="while (thread.timer.timeElapsed() < ".concat(t,") {\n"),this.yieldStuckOrNotWarp(),this.source+="}\n",this.source+="thread.timer = null;\n";break}case"control.waitUntil":this.resetVariableInputs(),this.source+="while (!".concat(this.descendInput(e.condition).asBoolean(),") {\n"),this.yieldStuckOrNotWarp(),this.source+="}\n";break;case"control.while":this.resetVariableInputs(),this.source+="while (".concat(this.descendInput(e.condition).asBoolean(),") {\n"),this.descendStack(e.do,new w(!0)),e.warpTimer?this.yieldStuckOrNotWarp():this.yieldLoop(),this.source+="}\n";break;case"counter.clear":this.source+="runtime.ext_scratch3_control._counter = 0;\n";break;case"counter.increment":this.source+="runtime.ext_scratch3_control._counter++;\n";break;case"hat.edge":this.isInHat=!0,this.source+="{\n",this.source+="const resolvedValue = ".concat(this.descendInput(e.condition).asBoolean(),";\n"),this.source+='const id = "'.concat(d(e.id),'";\n'),this.source+="const hasOldEdgeValue = target.hasEdgeActivatedValue(id);\n",this.source+="const oldEdgeValue = target.updateEdgeActivatedValue(id, resolvedValue);\n",this.source+="const edgeWasActivated = hasOldEdgeValue ? (!oldEdgeValue && resolvedValue) : resolvedValue;\n",this.source+="if (!edgeWasActivated) {\n",this.retire(),this.source+="}\n",this.source+="yield;\n",this.source+="}\n",this.isInHat=!1;break;case"hat.predicate":this.isInHat=!0,this.source+="if (!".concat(this.descendInput(e.condition).asBoolean(),") {\n"),this.retire(),this.source+="}\n",this.source+="yield;\n",this.isInHat=!1;break;case"event.broadcast":this.source+='startHats("event_whenbroadcastreceived", { BROADCAST_OPTION: '.concat(this.descendInput(e.broadcast).asString()," });\n"),this.resetVariableInputs();break;case"event.broadcastAndWait":this.source+='yield* waitThreads(startHats("event_whenbroadcastreceived", { BROADCAST_OPTION: '.concat(this.descendInput(e.broadcast).asString()," }));\n"),this.yielded();break;case"list.add":{const t=this.referenceVariable(e.list);this.source+="".concat(t,".value.push(").concat(this.descendInput(e.item).asSafe(),");\n"),this.source+="".concat(t,"._monitorUpToDate = false;\n");break}case"list.delete":{const t=this.referenceVariable(e.list),n=this.descendInput(e.index);if(n instanceof b){if("last"===n.constantValue){this.source+="".concat(t,".value.pop();\n"),this.source+="".concat(t,"._monitorUpToDate = false;\n");break}if(1==+n.constantValue){this.source+="".concat(t,".value.shift();\n"),this.source+="".concat(t,"._monitorUpToDate = false;\n");break}}this.source+="listDelete(".concat(t,", ").concat(n.asUnknown(),");\n");break}case"list.deleteAll":this.source+="".concat(this.referenceVariable(e.list),".value = [];\n");break;case"list.hide":this.source+='runtime.monitorBlocks.changeBlock({ id: "'.concat(d(e.list.id),'", element: "checkbox", value: false }, runtime);\n');break;case"list.insert":{const t=this.referenceVariable(e.list),n=this.descendInput(e.index),r=this.descendInput(e.item);if(n instanceof b&&1==+n.constantValue){this.source+="".concat(t,".value.unshift(").concat(r.asSafe(),");\n"),this.source+="".concat(t,"._monitorUpToDate = false;\n");break}this.source+="listInsert(".concat(t,", ").concat(n.asUnknown(),", ").concat(r.asSafe(),");\n");break}case"list.replace":this.source+="listReplace(".concat(this.referenceVariable(e.list),", ").concat(this.descendInput(e.index).asUnknown(),", ").concat(this.descendInput(e.item).asSafe(),");\n");break;case"list.show":this.source+='runtime.monitorBlocks.changeBlock({ id: "'.concat(d(e.list.id),'", element: "checkbox", value: true }, runtime);\n');break;case"looks.backwardLayers":this.target.isStage||(this.source+="target.goBackwardLayers(".concat(this.descendInput(e.layers).asNumber(),");\n"));break;case"looks.clearEffects":this.source+="target.clearEffects();\n";break;case"looks.changeEffect":Object.prototype.hasOwnProperty.call(this.target.effects,e.effect)&&(this.source+='target.setEffect("'.concat(d(e.effect),'", runtime.ext_scratch3_looks.clampEffect("').concat(d(e.effect),'", ').concat(this.descendInput(e.value).asNumber(),' + target.effects["').concat(d(e.effect),'"]));\n'));break;case"looks.changeSize":this.source+="target.setSize(target.size + ".concat(this.descendInput(e.size).asNumber(),");\n");break;case"looks.forwardLayers":this.target.isStage||(this.source+="target.goForwardLayers(".concat(this.descendInput(e.layers).asNumber(),");\n"));break;case"looks.goToBack":this.target.isStage||(this.source+="target.goToBack();\n");break;case"looks.goToFront":this.target.isStage||(this.source+="target.goToFront();\n");break;case"looks.hide":this.source+="target.setVisible(false);\n",this.source+="runtime.ext_scratch3_looks._renderBubble(target);\n";break;case"looks.nextBackdrop":this.source+="runtime.ext_scratch3_looks._setBackdrop(stage, stage.currentCostume + 1, true);\n";break;case"looks.nextCostume":this.source+="target.setCostume(target.currentCostume + 1);\n";break;case"looks.setEffect":Object.prototype.hasOwnProperty.call(this.target.effects,e.effect)&&(this.source+='target.setEffect("'.concat(d(e.effect),'", runtime.ext_scratch3_looks.clampEffect("').concat(d(e.effect),'", ').concat(this.descendInput(e.value).asNumber(),"));\n"));break;case"looks.setSize":this.source+="target.setSize(".concat(this.descendInput(e.size).asNumber(),");\n");break;case"looks.show":this.source+="target.setVisible(true);\n",this.source+="runtime.ext_scratch3_looks._renderBubble(target);\n";break;case"looks.switchBackdrop":this.source+="runtime.ext_scratch3_looks._setBackdrop(stage, ".concat(this.descendInput(e.backdrop).asSafe(),");\n");break;case"looks.switchCostume":this.source+="runtime.ext_scratch3_looks._setCostume(target, ".concat(this.descendInput(e.costume).asSafe(),");\n");break;case"motion.changeX":this.source+="target.setXY(target.x + ".concat(this.descendInput(e.dx).asNumber(),", target.y);\n");break;case"motion.changeY":this.source+="target.setXY(target.x, target.y + ".concat(this.descendInput(e.dy).asNumber(),");\n");break;case"motion.ifOnEdgeBounce":this.source+="runtime.ext_scratch3_motion._ifOnEdgeBounce(target);\n";break;case"motion.setDirection":this.source+="target.setDirection(".concat(this.descendInput(e.direction).asNumber(),");\n");break;case"motion.setRotationStyle":this.source+='target.setRotationStyle("'.concat(d(e.style),'");\n');break;case"motion.setX":case"motion.setY":case"motion.setXY":{this.descendedIntoModulo=!1;const t="x"in e?this.descendInput(e.x).asNumber():"target.x",n="y"in e?this.descendInput(e.y).asNumber():"target.y";this.source+="target.setXY(".concat(t,", ").concat(n,");\n"),this.descendedIntoModulo&&(this.source+="if (target.interpolationData) target.interpolationData = null;\n");break}case"motion.step":this.source+="runtime.ext_scratch3_motion._moveSteps(".concat(this.descendInput(e.steps).asNumber(),", target);\n");break;case"noop":break;case"pen.clear":this.source+="".concat(h,".clear();\n");break;case"pen.down":this.source+="".concat(h,"._penDown(target);\n");break;case"pen.changeParam":this.source+="".concat(h,"._setOrChangeColorParam(").concat(this.descendInput(e.param).asString(),", ").concat(this.descendInput(e.value).asNumber(),", ").concat(p,", true);\n");break;case"pen.changeSize":this.source+="".concat(h,"._changePenSizeBy(").concat(this.descendInput(e.size).asNumber(),", target);\n");break;case"pen.legacyChangeHue":this.source+="".concat(h,"._changePenHueBy(").concat(this.descendInput(e.hue).asNumber(),", target);\n");break;case"pen.legacyChangeShade":this.source+="".concat(h,"._changePenShadeBy(").concat(this.descendInput(e.shade).asNumber(),", target);\n");break;case"pen.legacySetHue":this.source+="".concat(h,"._setPenHueToNumber(").concat(this.descendInput(e.hue).asNumber(),", target);\n");break;case"pen.legacySetShade":this.source+="".concat(h,"._setPenShadeToNumber(").concat(this.descendInput(e.shade).asNumber(),", target);\n");break;case"pen.setColor":this.source+="".concat(h,"._setPenColorToColor(").concat(this.descendInput(e.color).asColor(),", target);\n");break;case"pen.setParam":this.source+="".concat(h,"._setOrChangeColorParam(").concat(this.descendInput(e.param).asString(),", ").concat(this.descendInput(e.value).asNumber(),", ").concat(p,", false);\n");break;case"pen.setSize":this.source+="".concat(h,"._setPenSizeTo(").concat(this.descendInput(e.size).asNumber(),", target);\n");break;case"pen.stamp":this.source+="".concat(h,"._stamp(target);\n");break;case"pen.up":this.source+="".concat(h,"._penUp(target);\n");break;case"procedures.call":{const t=e.code,n=e.variant,r=this.ir.procedures[n];if(null===r.stack)break;!this.isWarp&&t===this.script.procedureCode&&this.yieldNotWarp(),r.yields&&(this.source+="yield* "),this.source+='thread.procedures["'.concat(d(n),'"](');const i=[];for(const t of e.arguments)i.push(this.descendInput(t).asSafe());this.source+=i.join(","),this.source+=");\n",this.resetVariableInputs();break}case"procedures.return":this.stopScriptAndReturn(this.descendInput(e.value).asSafe());break;case"timer.reset":this.source+="runtime.ioDevices.clock.resetProjectTimer();\n";break;case"tw.debugger":this.source+="debugger;\n";break;case"var.hide":this.source+='runtime.monitorBlocks.changeBlock({ id: "'.concat(d(e.variable.id),'", element: "checkbox", value: false }, runtime);\n');break;case"var.set":{const t=this.descendVariable(e.variable),n=this.descendInput(e.value);t.setInput(n),this.source+="".concat(t.source," = ").concat(n.asSafe(),";\n"),e.variable.isCloud&&(this.source+='runtime.ioDevices.cloud.requestUpdateVariable("'.concat(d(e.variable.name),'", ').concat(t.source,");\n"));break}case"var.show":this.source+='runtime.monitorBlocks.changeBlock({ id: "'.concat(d(e.variable.id),'", element: "checkbox", value: true }, runtime);\n');break;case"visualReport":{const t=this.localVariables.next();this.source+="const ".concat(t," = ").concat(this.descendInput(e.input).asUnknown(),";"),this.source+="if (".concat(t,' !== undefined) runtime.visualReport("').concat(d(this.script.topBlockId),'", ').concat(t,");\n");break}default:throw r.warn("JS: Unknown stacked block: ".concat(e.kind),e),new Error("JS: Unknown stacked block: ".concat(e.kind))}}descendInputRecord(e){let t="{";for(const n of Object.keys(e)){const r=e[n];t+='"'.concat(d(n),'":').concat(this.descendInput(r).asSafe(),",")}return t+="}",t}resetVariableInputs(){this.variableInputs={}}descendStack(e,t){this.resetVariableInputs(),this.pushFrame(t);for(let n=0;n<e.length;n++)t.isLastBlock=n===e.length-1,this.descendStackedBlock(e[n]);this.resetVariableInputs(),this.popFrame()}descendVariable(e){if(Object.prototype.hasOwnProperty.call(this.variableInputs,e.id))return this.variableInputs[e.id];const t=new v("".concat(this.referenceVariable(e),".value"));return this.variableInputs[e.id]=t,t}referenceVariable(e){return"target"===e.scope?this.evaluateOnce('target.variables["'.concat(d(e.id),'"]')):this.evaluateOnce('stage.variables["'.concat(d(e.id),'"]'))}descendAddonCall(e){const t=this.descendInputRecord(e.arguments),n='runtime.getAddonBlock("'.concat(d(e.code),'").callback'),r='"'.concat(d(e.blockId),'"');return"yield* executeInCompatibilityLayer(".concat(t,", ").concat(n,", ").concat(this.isWarp,", false, ").concat(r,")")}evaluateOnce(e){if(Object.prototype.hasOwnProperty.call(this._setupVariables,e))return this._setupVariables[e];const t=this._setupVariablesPool.next();return this._setupVariables[e]=t,t}retire(){this.isProcedure?this.source+="retire(); yield;\n":this.source+="retire(); return;\n"}stopScript(){this.isProcedure?this.source+='return "";\n':this.retire()}stopScriptAndReturn(e){this.isProcedure?this.source+="return ".concat(e,";\n"):this.retire()}yieldLoop(){this.warpTimer?this.yieldStuckOrNotWarp():this.yieldNotWarp()}yieldNotWarp(){this.isWarp||(this.source+="yield;\n",this.yielded())}yieldStuckOrNotWarp(){this.isWarp?this.source+="if (isStuck()) yield;\n":this.source+="yield;\n",this.yielded()}yielded(){if(!this.script.yields)throw new Error("Script yielded but is not marked as yielding.");this.resetVariableInputs()}requestRedraw(){this.source+="runtime.requestRedraw();\n"}safeConstantInput(e){const t="string"==typeof e&&this.namesOfCostumesAndSounds.has(e);return new b(e,!t)}generateCompatibilityLayerCall(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;const r=e.opcode;let i="yield* executeInCompatibilityLayer({";for(const t of Object.keys(e.inputs)){const n=e.inputs[t],r=this.descendInput(n).asSafe();i+='"'.concat(d(t),'":').concat(r,",")}for(const t of Object.keys(e.fields)){const n=e.fields[t];i+='"'.concat(d(t),'":"').concat(d(n),'",')}const s=this.evaluateOnce('runtime.getOpcodeFunction("'.concat(d(r),'")'));return i+="}, ".concat(s,", ").concat(this.isWarp,", ").concat(t,', "').concat(d(e.id),'", ').concat(n,")"),i}getScriptFactoryName(){return m.next()}getScriptName(e){let t=e?g.next():f.next();if(this.isProcedure){const e=this.script.procedureCode.replace(/%[\w]/g,"").replace(/[^a-zA-Z0-9]/g,"_").substring(0,20);t+="_".concat(e)}return t}createScriptFactory(){let e="";e+="(function ".concat(this.getScriptFactoryName(),"(thread) { "),e+="const target = thread.target; ",e+="const runtime = target.runtime; ",e+="const stage = runtime.getTargetForStage();\n";for(const t of Object.keys(this._setupVariables)){const n=this._setupVariables[t];e+="const ".concat(n," = ").concat(t,";\n")}if(e+="return ",this.script.yields?e+="function* ":e+="function ",e+=this.getScriptName(this.script.yields),e+=" (",this.script.arguments.length){const t=[];for(let e=0;e<this.script.arguments.length;e++)t.push("p".concat(e));e+=t.join(",")}return e+=") {\n",e+=this.source,e+="}; })",e}compile(){this.script.stack&&this.descendStack(this.script.stack,new w(!1)),this.stopScript();const e=this.createScriptFactory(),t=a.scopedEval(e);return this.debug&&r.info("JS: ".concat(this.target.getName(),": compiled ").concat(this.script.procedureCode||"script"),e),k.testingApparatus&&k.testingApparatus.report(this,e),t}}k.testingApparatus=null,e.exports=k},function(e,t,n){const r=n(26),i=n(14);e.exports=class{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;this.sequencer=e,this.thread=t,this._nowObj={now:()=>this.sequencer.runtime.currentMSecs}}get target(){return this.thread.target}get runtime(){return this.sequencer.runtime}get nowObj(){return this.runtime?this._nowObj:null}get stackFrame(){const e=this.thread.peekStackFrame();return null===e.executionContext&&(e.executionContext={}),e.executionContext}stackTimerFinished(){return!(this.stackFrame.timer.timeElapsed()<this.stackFrame.duration)}stackTimerNeedsInit(){return!this.stackFrame.timer}startStackTimer(e){this.nowObj?this.stackFrame.timer=new i(this.nowObj):this.stackFrame.timer=new i,this.stackFrame.timer.start(),this.stackFrame.duration=e}yield(){this.thread.status=r.STATUS_YIELD}yieldTick(){this.thread.status=r.STATUS_YIELD_TICK}startBranch(e,t){this.sequencer.stepToBranch(this.thread,e,t)}stopAll(){this.sequencer.runtime.stopAll()}stopOtherTargetThreads(){this.sequencer.runtime.stopForTarget(this.thread.target,this.thread)}stopThisScript(){this.thread.stopThisScript()}startProcedure(e){this.sequencer.stepToProcedure(this.thread,e)}getProcedureParamNamesAndIds(e){return this.thread.target.blocks.getProcedureParamNamesAndIds(e)}getProcedureParamNamesIdsAndDefaults(e){return this.thread.target.blocks.getProcedureParamNamesIdsAndDefaults(e)}initParams(){this.thread.initParams()}pushParam(e,t){this.thread.pushParam(e,t)}getParam(e){return this.thread.getParam(e)}startHats(e,t,n){const r=this.thread,i=this.sequencer,s=this.sequencer.runtime.startHats(e,t,n);return this.thread=r,this.sequencer=i,s}ioQuery(e,t,n){if(this.sequencer.runtime.ioDevices[e]&&this.sequencer.runtime.ioDevices[e][t]){const r=this.sequencer.runtime.ioDevices[e];return r[t].apply(r,n)}}}},function(e,t,n){const r=n(79),i=n(75),s=n(1),o=n(26),{Map:a}=n(25),l=n(2),c=new r;let u=-1;const d=function(e,t,n,r,i){const s=r.id,c=r.opcode,u=r._isHat,d=r._isConditional,h=r._isLoop;if(n.pushReportedValue(e),u)if(n.stackClick)n.status=o.STATUS_RUNNING;else if(t.runtime.getIsEdgeActivatedHat(c)){const r=n.target.hasEdgeActivatedValue(s),i=n.target.updateEdgeActivatedValue(s,e);(r?!i&&e:e)?n.status=o.STATUS_RUNNING:t.retireThread(n)}else e?n.status=o.STATUS_RUNNING:t.retireThread(n);else if((d||h)&&void 0!==e)t.stepToBranch(n,l.toNumber(e),h);else{if(i&&void 0!==e&&n.atStackTop()&&(n.stackClick&&t.runtime.visualReport(s,e),n.updateMonitor)){const n=t.runtime.monitorBlocks.getBlock(s).targetId;if(n&&!t.runtime.getTargetById(n))return;t.runtime.requestUpdateMonitor(a({id:s,spriteName:n?t.runtime.getTargetById(n).getName():null,value:e}))}n.status=o.STATUS_RUNNING}},h=(e,t,n,r,i)=>{n.status===o.STATUS_RUNNING&&(n.status=o.STATUS_PROMISE_WAIT),e.then((e=>{if(d(e,t,n,r,i),i&&(!r._isHat||n.stackClick)){let e,t;do{const r=n.popStack();if(null===r)return;if(t=n.target.blocks.getNextBlock(r),null!==t)break;e=n.peekStackFrame()}while(null!==e&&!e.isLoop);n.pushStack(t)}}),(e=>{s.warn("Primitive rejected promise: ",e),n.status=o.STATUS_RUNNING,n.popStack()}))};class p{constructor(e,t){this.id=t.id,this.opcode=t.opcode,this.fields=t.fields,this.inputs=t.inputs,this.mutation=t.mutation,this._profiler=null,this._profilerFrame=null,this._isHat=!1,this._blockFunction=null,this._definedBlockFunction=!1,this._isShadowBlock=!1,this._shadowValue=null,this._fields=Object.assign({},this.fields),this._inputs=Object.assign({},this.inputs),this._argValues={mutation:this.mutation},this._parentKey=null,this._parentValues=null,this._ops=[];const{runtime:n}=c.sequencer,{opcode:r,fields:s,inputs:o}=this;this._isHat=n.getIsHat(r),this._blockFunction=n.getOpcodeFunction(r),this._definedBlockFunction=void 0!==this._blockFunction;const a=n._flowing[r];this._isConditional=!(!a||!a.conditional),this._isLoop=!(!a||!a.loop);const l=Object.keys(s);this._isShadowBlock=!this._definedBlockFunction&&1===l.length&&0===Object.keys(o).length,this._shadowValue=this._isShadowBlock&&s[l[0]].value;for(const e in s)this._argValues[e]="VARIABLE"===e||"LIST"===e||"BROADCAST_OPTION"===e?{id:s[e].id,name:s[e].value}:s[e].value;if(delete this._inputs.custom_block,"BROADCAST_INPUT"in this._inputs){this._argValues.BROADCAST_OPTION={id:null,name:null};const t=this._inputs.BROADCAST_INPUT;if(t.block===t.shadow){const n=e.getBlock(t.shadow).fields.BROADCAST_OPTION;this._argValues.BROADCAST_OPTION.id=n.id,this._argValues.BROADCAST_OPTION.name=n.value,delete this._inputs.BROADCAST_INPUT}}for(const t in this._inputs){const n=this._inputs[t];if(n.block){const r=i.getCached(e,n.block,p);if(r._isHat)continue;this._ops.push(...r._ops),r._parentKey=t,r._parentValues=this._argValues,r._isShadowBlock&&(this._argValues[t]=r._shadowValue)}}this._definedBlockFunction&&this._ops.push(this)}}e.exports=function(e,t){const n=e.runtime;c.sequencer=e,c.thread=t;const r=t.peekStack(),s=t.peekStackFrame();let a=t.blockContainer,m=i.getCached(a,r,p);if(null===m&&(a=n.flyoutBlocks,m=i.getCached(a,r,p),null===m))return void e.retireThread(t);const f=m._ops,g=f.length;let y=0;if(null!==s.reported){const e=s.reported;for(;y<e.length;y++){const{opCached:t,inputValue:n}=e[y],r=f.find((e=>e.id===t));if(r){const e=r._parentKey,t=r._parentValues;"BROADCAST_INPUT"===e?(t.BROADCAST_OPTION.id=null,t.BROADCAST_OPTION.name=l.toString(n)):t[e]=n}}if(e.length>0){const t=e.reverse().find((e=>f.find((t=>t.id===e.opCached))));y=t?f.findIndex((e=>e.id===t.opCached))+1:0}if(null!==t.justReported&&f[y]&&f[y].id===s.reporting){const e=f[y],n=t.justReported;t.justReported=null;const r=e._parentKey,i=e._parentValues;"BROADCAST_INPUT"===r?(i.BROADCAST_OPTION.id=null,i.BROADCAST_OPTION.name=l.toString(n)):i[r]=n,y+=1}s.reporting=null,s.reported=null,s.waitingReporter=!1}const b=y;for(;y<g;y++){const n=y===g-1,r=f[y];s.op=r;const i=r._blockFunction,u=r._argValues;a.forceNoGlow||(t.requestScriptGlowInFrame=!0);const p=i(u,c),m=null!==(v=p)&&"object"==typeof v&&"function"==typeof v.then;if(m||s.waitingReporter){m&&h(p,e,t,r,n),t.justReported=null,s.reporting=f[y].id,s.reported=f.slice(0,y).map((e=>{const t=e._parentKey,n=e._parentValues;return"BROADCAST_INPUT"===t?{opCached:e.id,inputValue:n[t].BROADCAST_OPTION.name}:{opCached:e.id,inputValue:n[t]}}));break}if(t.status===o.STATUS_RUNNING)if(n)d(p,e,t,r,n);else{const e=r._parentKey,t=r._parentValues;"BROADCAST_INPUT"===e?(t.BROADCAST_OPTION.id=null,t.BROADCAST_OPTION.name=l.toString(p)):t[e]=p}}var v;if(null!==n.profiler){m._profiler!==n.profiler&&function(e,t){t._profiler=e,-1===u&&(u=e.idByName("blockFunction"));const n=t._ops;for(let t=0;t<n.length;t++)n[t]._profilerFrame=e.frame(u,n[t].opcode)}(n.profiler,m);const e=Math.min(y+1,g);for(let t=b;t<e;t++)f[t]._profilerFrame.count+=1}}},function(e,t,n){const r=n(13);class i{constructor(e){this.runtime=e,this.provider=null,this._skinId=-1,this._drawable=-1,this._ghost=0,this._forceTransparentPreview=!1}static get FORMAT_IMAGE_DATA(){return"image-data"}static get FORMAT_CANVAS(){return"canvas"}static get DIMENSIONS(){return[480,360]}static get ORDER(){return 1}setProvider(e){this.provider=e}enableVideo(){return this.provider?this.provider.enableVideo().then((()=>this._setupPreview())):null}disableVideo(){if(this._disablePreview(),!this.provider)return null;this.provider.disableVideo()}getFrame(e){let{dimensions:t=i.DIMENSIONS,mirror:n=this.mirror,format:r=i.FORMAT_IMAGE_DATA,cacheTimeout:s=this._frameCacheTimeout}=e;return this.provider?this.provider.getFrame({dimensions:t,mirror:n,format:r,cacheTimeout:s}):null}setPreviewGhost(e){this._ghost=e,-1!==this._drawable&&this.runtime.renderer.updateDrawableEffect(this._drawable,"ghost",this._forceTransparentPreview?100:e)}_disablePreview(){-1!==this._skinId&&(this.runtime.renderer.updateBitmapSkin(this._skinId,new ImageData(...i.DIMENSIONS),1),this.runtime.renderer.updateDrawableVisible(this._drawable,!1)),this._renderPreviewFrame=null}_setupPreview(){const{renderer:e}=this.runtime;e&&(-1===this._skinId&&-1===this._drawable&&(this._skinId=e.createBitmapSkin(new ImageData(...i.DIMENSIONS),1),this._drawable=e.createDrawable(r.VIDEO_LAYER),e.updateDrawableSkinId(this._drawable,this._skinId),e.markSkinAsPrivate&&e.markSkinAsPrivate(this._skinId)),this._renderPreviewFrame||(e.updateDrawableEffect(this._drawable,"ghost",this._forceTransparentPreview?100:this._ghost),e.updateDrawableVisible(this._drawable,!0),this._renderPreviewFrame=()=>{if(clearTimeout(this._renderPreviewTimeout),!this._renderPreviewFrame)return;this._renderPreviewTimeout=setTimeout(this._renderPreviewFrame,this.runtime.currentStepTime);const t=this.getFrame({format:i.FORMAT_IMAGE_DATA,cacheTimeout:this.runtime.currentStepTime});t?(e.updateBitmapSkin(this._skinId,t,1),this.runtime.requestRedraw()):e.updateBitmapSkin(this._skinId,new ImageData(...i.DIMENSIONS),1)},this._renderPreviewFrame()))}get videoReady(){return!!this.provider&&this.provider.videoReady}postData(e){let{forceTransparentPreview:t}=e;this._forceTransparentPreview=t,this.setPreviewGhost(this._ghost)}}e.exports=i},function(e,t){e.exports={generateExtensionId:e=>{const t=e.replace(/[^a-z0-9]/gi,"").toLowerCase();return"sbx".concat(t)},argumentIndexToId:e=>e.toString()}},function(e,t){e.exports=class{constructor(e,t){this.callback=e,this.maxConcurrent=t,this._current=0,this._queue=[]}do(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return new Promise(((e,n)=>{this._queue.push([e,n,t]),this._startNext()}))}_startNext(){if(this._current>=this.maxConcurrent||0===this._queue.length)return;this._current++;const[e,t,n]=this._queue.shift();this.callback.apply(null,n).then((t=>{e(t),this._current--,this._startNext()})).catch((e=>{t(e),this._current--,this._startNext()}))}}},function(e,t){class n{static _mergeVarRefObjects(e,t){for(const n in t)e[n]?e[n]=e[n].concat(t[n]):e[n]=t[n];return e}static getAllVarRefsForTargets(e,t){return e.map((e=>e.blocks.getAllVariableAndListReferences(null,t))).reduce(n._mergeVarRefObjects,{})}static updateVariableIdentifiers(e,t,n){e.map((e=>(e.referencingField.id=t,n&&(e.referencingField.value=n),e)))}}e.exports=n},function(e,t,n){const r=n(86),i=n(53),s=n(87),o=n(88),a=n(255),l=(e,t)=>{const n=[],r=e=>{e.localName!==t&&void 0!==t||!e.getAttribute||n.push(e);for(let t=0;t<e.childNodes.length;t++)r(e.childNodes[t])};return r(e),n},c=e=>{const t=document.createElement("span"),n=e.outerHTML,i=r.sanitize(n,{USE_PROFILES:{svg:!0},FORBID_TAGS:["a","audio","canvas","video"],ADD_DATA_URI_TAGS:["image"]});let s,o;try{t.innerHTML=i,document.body.appendChild(t),s=t.children[0].getBBox()}finally{document.body.removeChild(t)}o=0===s.width||0===s.height?0:(e=>{let t=0;const n=e=>{e.getAttribute&&(e.getAttribute("stroke")&&(t=Math.max(t,1)),e.getAttribute("stroke-width")&&(t=Math.max(t,Number(e.getAttribute("stroke-width"))||0)));for(let t=0;t<e.childNodes.length;t++)n(e.childNodes[t])};return n(e),t})(e)/2;const a=s.width+2*o,l=s.height+2*o,c=s.x-o,u=s.y-o;e.setAttribute("width",a),e.setAttribute("height",l),e.setAttribute("viewBox",`${c} ${u} ${a} ${l}`)},u=(e,t)=>{t&&(e=>{const t=l(e,"linearGradient");for(const e of t)e.getAttribute("x2")||e.setAttribute("x2","0")})(e),a(e,window),(e=>{const t=l(e,"image"),n="image-rendering: optimizespeed; image-rendering: pixelated;";for(const e of t)e.getAttribute("style")?e.setAttribute("style",`${n} ${e.getAttribute("style")}`):e.setAttribute("style",n)})(e),t?((e=>{const t=[],n=e=>{"text"===e.localName&&t.push(e);for(let t=0;t<e.childNodes.length;t++)n(e.childNodes[t])};n(e),s(e);for(const n of t){n.removeAttribute("x"),n.removeAttribute("y"),n.setAttribute("alignment-baseline","text-before-edge"),n.setAttribute("xml:space","preserve"),n.getAttribute("font-size")||n.setAttribute("font-size","18");let t=n.textContent;const r=parseFloat(n.getAttribute("font-size")),s=2;let o=0,a=1.2;if("Handwriting"===n.getAttribute("font-family")?(a=2,o=-11*r/22):"Scratch"===n.getAttribute("font-family")?(a=.89,o=-3*r/22):"Curly"===n.getAttribute("font-family")?(a=1.38,o=-6*r/22):"Marker"===n.getAttribute("font-family")?(a=1.45,o=-6*r/22):"Sans Serif"===n.getAttribute("font-family")?(a=1.13,o=-3*r/22):"Serif"===n.getAttribute("font-family")&&(a=1.25,o=-4*r/22),0===n.transform.baseVal.numberOfItems){const t=e.createSVGTransform();n.transform.baseVal.appendItem(t)}const l=n.transform.baseVal.getItem(0).matrix;if(l.e+=l.a*s+l.c*o,l.f+=l.b*s+l.d*o,t&&0===n.childElementCount){n.textContent="";const e=t.split("\n");t="";for(const t of e){const e=i.create("tspan");e.setAttribute("x","0"),e.setAttribute("style","white-space: pre"),e.setAttribute("dy",`${a}em`),e.textContent=t||" ",n.appendChild(e)}}}})(e),c(e),(e=>{const t=l(e);for(const e of t){if(!e.style)continue;const t=e.style.stroke||e.getAttribute("stroke");t&&t.match(/^url\(#.*\)$/)&&(e.style["stroke-linejoin"]="round",e.style["stroke-linecap"]="round")}})(e)):e.getAttribute("viewBox")?e.getAttribute("width")&&e.getAttribute("height")||(e.setAttribute("width",e.viewBox.baseVal.width),e.setAttribute("height",e.viewBox.baseVal.height)):c(e)};e.exports=(e,t)=>{const n=new DOMParser;e=o(e);const r=n.parseFromString(e,"text/xml");if(r.childNodes.length<1||"svg"!==r.documentElement.localName)throw new Error("Document does not appear to be SVG.");const i=r.documentElement;return u(i,t),i}},function(e,t,n){e.exports=function(){"use strict";function e(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}var t=Object.hasOwnProperty,n=Object.setPrototypeOf,r=Object.isFrozen,i=Object.getPrototypeOf,s=Object.getOwnPropertyDescriptor,o=Object.freeze,a=Object.seal,l=Object.create,c="undefined"!=typeof Reflect&&Reflect,u=c.apply,d=c.construct;u||(u=function(e,t,n){return e.apply(t,n)}),o||(o=function(e){return e}),a||(a=function(e){return e}),d||(d=function(t,n){return new(Function.prototype.bind.apply(t,[null].concat(e(n))))});var h=k(Array.prototype.forEach),p=k(Array.prototype.pop),m=k(Array.prototype.push),f=k(String.prototype.toLowerCase),g=k(String.prototype.match),y=k(String.prototype.replace),b=k(String.prototype.indexOf),v=k(String.prototype.trim),S=k(RegExp.prototype.test),w=x(TypeError);function k(e){return function(t){for(var n=arguments.length,r=Array(n>1?n-1:0),i=1;i<n;i++)r[i-1]=arguments[i];return u(e,t,r)}}function x(e){return function(){for(var t=arguments.length,n=Array(t),r=0;r<t;r++)n[r]=arguments[r];return d(e,n)}}function T(e,t){n&&n(e,null);for(var i=t.length;i--;){var s=t[i];if("string"==typeof s){var o=f(s);o!==s&&(r(t)||(t[i]=o),s=o)}e[s]=!0}return e}function E(e){var n=l(null),r=void 0;for(r in e)u(t,e,[r])&&(n[r]=e[r]);return n}function A(e,t){for(;null!==e;){var n=s(e,t);if(n){if(n.get)return k(n.get);if("function"==typeof n.value)return k(n.value)}e=i(e)}function r(e){return console.warn("fallback value for",e),null}return r}var C=o(["a","abbr","acronym","address","area","article","aside","audio","b","bdi","bdo","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","content","data","datalist","dd","decorator","del","details","dfn","dialog","dir","div","dl","dt","element","em","fieldset","figcaption","figure","font","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","img","input","ins","kbd","label","legend","li","main","map","mark","marquee","menu","menuitem","meter","nav","nobr","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","section","select","shadow","small","source","spacer","span","strike","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","tr","track","tt","u","ul","var","video","wbr"]),I=o(["svg","a","altglyph","altglyphdef","altglyphitem","animatecolor","animatemotion","animatetransform","circle","clippath","defs","desc","ellipse","filter","font","g","glyph","glyphref","hkern","image","line","lineargradient","marker","mask","metadata","mpath","path","pattern","polygon","polyline","radialgradient","rect","stop","style","switch","symbol","text","textpath","title","tref","tspan","view","vkern"]),O=o(["feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence"]),M=o(["animate","color-profile","cursor","discard","fedropshadow","feimage","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","foreignobject","hatch","hatchpath","mesh","meshgradient","meshpatch","meshrow","missing-glyph","script","set","solidcolor","unknown","use"]),N=o(["math","menclose","merror","mfenced","mfrac","mglyph","mi","mlabeledtr","mmultiscripts","mn","mo","mover","mpadded","mphantom","mroot","mrow","ms","mspace","msqrt","mstyle","msub","msup","msubsup","mtable","mtd","mtext","mtr","munder","munderover"]),R=o(["maction","maligngroup","malignmark","mlongdiv","mscarries","mscarry","msgroup","mstack","msline","msrow","semantics","annotation","annotation-xml","mprescripts","none"]),D=o(["#text"]),P=o(["accept","action","align","alt","autocapitalize","autocomplete","autopictureinpicture","autoplay","background","bgcolor","border","capture","cellpadding","cellspacing","checked","cite","class","clear","color","cols","colspan","controls","controlslist","coords","crossorigin","datetime","decoding","default","dir","disabled","disablepictureinpicture","disableremoteplayback","download","draggable","enctype","enterkeyhint","face","for","headers","height","hidden","high","href","hreflang","id","inputmode","integrity","ismap","kind","label","lang","list","loading","loop","low","max","maxlength","media","method","min","minlength","multiple","muted","name","noshade","novalidate","nowrap","open","optimum","pattern","placeholder","playsinline","poster","preload","pubdate","radiogroup","readonly","rel","required","rev","reversed","role","rows","rowspan","spellcheck","scope","selected","shape","size","sizes","span","srclang","start","src","srcset","step","style","summary","tabindex","title","translate","type","usemap","valign","value","width","xmlns"]),L=o(["accent-height","accumulate","additive","alignment-baseline","ascent","attributename","attributetype","azimuth","basefrequency","baseline-shift","begin","bias","by","class","clip","clippathunits","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","cx","cy","d","dx","dy","diffuseconstant","direction","display","divisor","dur","edgemode","elevation","end","fill","fill-opacity","fill-rule","filter","filterunits","flood-color","flood-opacity","font-family","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-weight","fx","fy","g1","g2","glyph-name","glyphref","gradientunits","gradienttransform","height","href","id","image-rendering","in","in2","k","k1","k2","k3","k4","kerning","keypoints","keysplines","keytimes","lang","lengthadjust","letter-spacing","kernelmatrix","kernelunitlength","lighting-color","local","marker-end","marker-mid","marker-start","markerheight","markerunits","markerwidth","maskcontentunits","maskunits","max","mask","media","method","mode","min","name","numoctaves","offset","operator","opacity","order","orient","orientation","origin","overflow","paint-order","path","pathlength","patterncontentunits","patterntransform","patternunits","points","preservealpha","preserveaspectratio","primitiveunits","r","rx","ry","radius","refx","refy","repeatcount","repeatdur","restart","result","rotate","scale","seed","shape-rendering","specularconstant","specularexponent","spreadmethod","startoffset","stddeviation","stitchtiles","stop-color","stop-opacity","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke","stroke-width","style","surfacescale","systemlanguage","tabindex","targetx","targety","transform","text-anchor","text-decoration","text-rendering","textlength","type","u1","u2","unicode","values","viewbox","visibility","version","vert-adv-y","vert-origin-x","vert-origin-y","width","word-spacing","wrap","writing-mode","xchannelselector","ychannelselector","x","x1","x2","xmlns","y","y1","y2","z","zoomandpan"]),B=o(["accent","accentunder","align","bevelled","close","columnsalign","columnlines","columnspan","denomalign","depth","dir","display","displaystyle","encoding","fence","frame","height","href","id","largeop","length","linethickness","lspace","lquote","mathbackground","mathcolor","mathsize","mathvariant","maxsize","minsize","movablelimits","notation","numalign","open","rowalign","rowlines","rowspacing","rowspan","rspace","rquote","scriptlevel","scriptminsize","scriptsizemultiplier","selection","separator","separators","stretchy","subscriptshift","supscriptshift","symmetric","voffset","width","xmlns"]),z=o(["xlink:href","xml:id","xlink:title","xml:space","xmlns:xlink"]),U=a(/\{\{[\s\S]*|[\s\S]*\}\}/gm),j=a(/<%[\s\S]*|[\s\S]*%>/gm),F=a(/^data-[\-\w.\u00B7-\uFFFF]/),W=a(/^aria-[\-\w]+$/),V=a(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),G=a(/^(?:\w+script|data):/i),q=a(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),Y="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};function H(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}var _=function(){return"undefined"==typeof window?null:window},K=function(e,t){if("object"!==(void 0===e?"undefined":Y(e))||"function"!=typeof e.createPolicy)return null;var n=null,r="data-tt-policy-suffix";t.currentScript&&t.currentScript.hasAttribute(r)&&(n=t.currentScript.getAttribute(r));var i="dompurify"+(n?"#"+n:"");try{return e.createPolicy(i,{createHTML:function(e){return e}})}catch(e){return console.warn("TrustedTypes policy "+i+" could not be created."),null}};function Q(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:_(),t=function(e){return Q(e)};if(t.version="2.2.7",t.removed=[],!e||!e.document||9!==e.document.nodeType)return t.isSupported=!1,t;var n=e.document,r=e.document,i=e.DocumentFragment,s=e.HTMLTemplateElement,a=e.Node,l=e.Element,c=e.NodeFilter,u=e.NamedNodeMap,d=void 0===u?e.NamedNodeMap||e.MozNamedAttrMap:u,k=e.Text,x=e.Comment,X=e.DOMParser,Z=e.trustedTypes,J=l.prototype,$=A(J,"cloneNode"),ee=A(J,"nextSibling"),te=A(J,"childNodes"),ne=A(J,"parentNode");if("function"==typeof s){var re=r.createElement("template");re.content&&re.content.ownerDocument&&(r=re.content.ownerDocument)}var ie=K(Z,n),se=ie&&ze?ie.createHTML(""):"",oe=r,ae=oe.implementation,le=oe.createNodeIterator,ce=oe.getElementsByTagName,ue=oe.createDocumentFragment,de=n.importNode,he={};try{he=E(r).documentMode?r.documentMode:{}}catch(e){}var pe={};t.isSupported="function"==typeof ne&&ae&&void 0!==ae.createHTMLDocument&&9!==he;var me=U,fe=j,ge=F,ye=W,be=G,ve=q,Se=V,we=null,ke=T({},[].concat(H(C),H(I),H(O),H(N),H(D))),xe=null,Te=T({},[].concat(H(P),H(L),H(B),H(z))),Ee=null,Ae=null,Ce=!0,Ie=!0,Oe=!1,Me=!1,Ne=!1,Re=!1,De=!1,Pe=!1,Le=!1,Be=!0,ze=!1,Ue=!0,je=!0,Fe=!1,We={},Ve=T({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]),Ge=null,qe=T({},["audio","video","img","source","image","track"]),Ye=null,He=T({},["alt","class","for","id","label","name","pattern","placeholder","summary","title","value","style","xmlns"]),_e=null,Ke=r.createElement("form"),Qe=function(e){_e&&_e===e||(e&&"object"===(void 0===e?"undefined":Y(e))||(e={}),e=E(e),we="ALLOWED_TAGS"in e?T({},e.ALLOWED_TAGS):ke,xe="ALLOWED_ATTR"in e?T({},e.ALLOWED_ATTR):Te,Ye="ADD_URI_SAFE_ATTR"in e?T(E(He),e.ADD_URI_SAFE_ATTR):He,Ge="ADD_DATA_URI_TAGS"in e?T(E(qe),e.ADD_DATA_URI_TAGS):qe,Ee="FORBID_TAGS"in e?T({},e.FORBID_TAGS):{},Ae="FORBID_ATTR"in e?T({},e.FORBID_ATTR):{},We="USE_PROFILES"in e&&e.USE_PROFILES,Ce=!1!==e.ALLOW_ARIA_ATTR,Ie=!1!==e.ALLOW_DATA_ATTR,Oe=e.ALLOW_UNKNOWN_PROTOCOLS||!1,Me=e.SAFE_FOR_TEMPLATES||!1,Ne=e.WHOLE_DOCUMENT||!1,Pe=e.RETURN_DOM||!1,Le=e.RETURN_DOM_FRAGMENT||!1,Be=!1!==e.RETURN_DOM_IMPORT,ze=e.RETURN_TRUSTED_TYPE||!1,De=e.FORCE_BODY||!1,Ue=!1!==e.SANITIZE_DOM,je=!1!==e.KEEP_CONTENT,Fe=e.IN_PLACE||!1,Se=e.ALLOWED_URI_REGEXP||Se,Me&&(Ie=!1),Le&&(Pe=!0),We&&(we=T({},[].concat(H(D))),xe=[],!0===We.html&&(T(we,C),T(xe,P)),!0===We.svg&&(T(we,I),T(xe,L),T(xe,z)),!0===We.svgFilters&&(T(we,O),T(xe,L),T(xe,z)),!0===We.mathMl&&(T(we,N),T(xe,B),T(xe,z))),e.ADD_TAGS&&(we===ke&&(we=E(we)),T(we,e.ADD_TAGS)),e.ADD_ATTR&&(xe===Te&&(xe=E(xe)),T(xe,e.ADD_ATTR)),e.ADD_URI_SAFE_ATTR&&T(Ye,e.ADD_URI_SAFE_ATTR),je&&(we["#text"]=!0),Ne&&T(we,["html","head","body"]),we.table&&(T(we,["tbody"]),delete Ee.tbody),o&&o(e),_e=e)},Xe=T({},["mi","mo","mn","ms","mtext"]),Ze=T({},["foreignobject","desc","title","annotation-xml"]),Je=T({},I);T(Je,O),T(Je,M);var $e=T({},N);T($e,R);var et="http://www.w3.org/1998/Math/MathML",tt="http://www.w3.org/2000/svg",nt="http://www.w3.org/1999/xhtml",rt=function(e){var t=ne(e);t&&t.tagName||(t={namespaceURI:nt,tagName:"template"});var n=f(e.tagName),r=f(t.tagName);if(e.namespaceURI===tt)return t.namespaceURI===nt?"svg"===n:t.namespaceURI===et?"svg"===n&&("annotation-xml"===r||Xe[r]):Boolean(Je[n]);if(e.namespaceURI===et)return t.namespaceURI===nt?"math"===n:t.namespaceURI===tt?"math"===n&&Ze[r]:Boolean($e[n]);if(e.namespaceURI===nt){if(t.namespaceURI===tt&&!Ze[r])return!1;if(t.namespaceURI===et&&!Xe[r])return!1;var i=T({},["title","style","font","a","script"]);return!$e[n]&&(i[n]||!Je[n])}return!1},it=function(e){m(t.removed,{element:e});try{e.parentNode.removeChild(e)}catch(t){try{e.outerHTML=se}catch(t){e.remove()}}},st=function(e,n){try{m(t.removed,{attribute:n.getAttributeNode(e),from:n})}catch(e){m(t.removed,{attribute:null,from:n})}if(n.removeAttribute(e),"is"===e&&!xe[e])if(Pe||Le)try{it(n)}catch(e){}else try{n.setAttribute(e,"")}catch(e){}},ot=function(e){var t=void 0,n=void 0;if(De)e="<remove></remove>"+e;else{var i=g(e,/^[\r\n\t ]+/);n=i&&i[0]}var s=ie?ie.createHTML(e):e;try{t=(new X).parseFromString(s,"text/html")}catch(e){}if(!t||!t.documentElement){var o=(t=ae.createHTMLDocument("")).body;o.parentNode.removeChild(o.parentNode.firstElementChild),o.outerHTML=s}return e&&n&&t.body.insertBefore(r.createTextNode(n),t.body.childNodes[0]||null),ce.call(t,Ne?"html":"body")[0]},at=function(e){return le.call(e.ownerDocument||e,e,c.SHOW_ELEMENT|c.SHOW_COMMENT|c.SHOW_TEXT,(function(){return c.FILTER_ACCEPT}),!1)},lt=function(e){return!(e instanceof k||e instanceof x||"string"==typeof e.nodeName&&"string"==typeof e.textContent&&"function"==typeof e.removeChild&&e.attributes instanceof d&&"function"==typeof e.removeAttribute&&"function"==typeof e.setAttribute&&"string"==typeof e.namespaceURI&&"function"==typeof e.insertBefore)},ct=function(e){return"object"===(void 0===a?"undefined":Y(a))?e instanceof a:e&&"object"===(void 0===e?"undefined":Y(e))&&"number"==typeof e.nodeType&&"string"==typeof e.nodeName},ut=function(e,n,r){pe[e]&&h(pe[e],(function(e){e.call(t,n,r,_e)}))},dt=function(e){var n=void 0;if(ut("beforeSanitizeElements",e,null),lt(e))return it(e),!0;if(g(e.nodeName,/[\u0080-\uFFFF]/))return it(e),!0;var r=f(e.nodeName);if(ut("uponSanitizeElement",e,{tagName:r,allowedTags:we}),!ct(e.firstElementChild)&&(!ct(e.content)||!ct(e.content.firstElementChild))&&S(/<[/\w]/g,e.innerHTML)&&S(/<[/\w]/g,e.textContent))return it(e),!0;if(!we[r]||Ee[r]){if(je&&!Ve[r]){var i=ne(e),s=te(e);if(s&&i)for(var o=s.length-1;o>=0;--o)i.insertBefore($(s[o],!0),ee(e))}return it(e),!0}return e instanceof l&&!rt(e)?(it(e),!0):"noscript"!==r&&"noembed"!==r||!S(/<\/no(script|embed)/i,e.innerHTML)?(Me&&3===e.nodeType&&(n=e.textContent,n=y(n,me," "),n=y(n,fe," "),e.textContent!==n&&(m(t.removed,{element:e.cloneNode()}),e.textContent=n)),ut("afterSanitizeElements",e,null),!1):(it(e),!0)},ht=function(e,t,n){if(Ue&&("id"===t||"name"===t)&&(n in r||n in Ke))return!1;if(Ie&&S(ge,t));else if(Ce&&S(ye,t));else{if(!xe[t]||Ae[t])return!1;if(Ye[t]);else if(S(Se,y(n,ve,"")));else if("src"!==t&&"xlink:href"!==t&&"href"!==t||"script"===e||0!==b(n,"data:")||!Ge[e])if(Oe&&!S(be,y(n,ve,"")));else if(n)return!1}return!0},pt=function(e){var n=void 0,r=void 0,i=void 0,s=void 0;ut("beforeSanitizeAttributes",e,null);var o=e.attributes;if(o){var a={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:xe};for(s=o.length;s--;){var l=n=o[s],c=l.name,u=l.namespaceURI;if(r=v(n.value),i=f(c),a.attrName=i,a.attrValue=r,a.keepAttr=!0,a.forceKeepAttr=void 0,ut("uponSanitizeAttribute",e,a),r=a.attrValue,!a.forceKeepAttr&&(st(c,e),a.keepAttr))if(S(/\/>/i,r))st(c,e);else{Me&&(r=y(r,me," "),r=y(r,fe," "));var d=e.nodeName.toLowerCase();if(ht(d,i,r))try{u?e.setAttributeNS(u,c,r):e.setAttribute(c,r),p(t.removed)}catch(e){}}}ut("afterSanitizeAttributes",e,null)}},mt=function e(t){var n=void 0,r=at(t);for(ut("beforeSanitizeShadowDOM",t,null);n=r.nextNode();)ut("uponSanitizeShadowNode",n,null),dt(n)||(n.content instanceof i&&e(n.content),pt(n));ut("afterSanitizeShadowDOM",t,null)};return t.sanitize=function(r,s){var o=void 0,l=void 0,c=void 0,u=void 0,d=void 0;if(r||(r="\x3c!--\x3e"),"string"!=typeof r&&!ct(r)){if("function"!=typeof r.toString)throw w("toString is not a function");if("string"!=typeof(r=r.toString()))throw w("dirty is not a string, aborting")}if(!t.isSupported){if("object"===Y(e.toStaticHTML)||"function"==typeof e.toStaticHTML){if("string"==typeof r)return e.toStaticHTML(r);if(ct(r))return e.toStaticHTML(r.outerHTML)}return r}if(Re||Qe(s),t.removed=[],"string"==typeof r&&(Fe=!1),Fe);else if(r instanceof a)1===(l=(o=ot("\x3c!----\x3e")).ownerDocument.importNode(r,!0)).nodeType&&"BODY"===l.nodeName||"HTML"===l.nodeName?o=l:o.appendChild(l);else{if(!Pe&&!Me&&!Ne&&-1===r.indexOf("<"))return ie&&ze?ie.createHTML(r):r;if(!(o=ot(r)))return Pe?null:se}o&&De&&it(o.firstChild);for(var h=at(Fe?r:o);c=h.nextNode();)3===c.nodeType&&c===u||dt(c)||(c.content instanceof i&&mt(c.content),pt(c),u=c);if(u=null,Fe)return r;if(Pe){if(Le)for(d=ue.call(o.ownerDocument);o.firstChild;)d.appendChild(o.firstChild);else d=o;return Be&&(d=de.call(n,d,!0)),d}var p=Ne?o.outerHTML:o.innerHTML;return Me&&(p=y(p,me," "),p=y(p,fe," ")),ie&&ze?ie.createHTML(p):p},t.setConfig=function(e){Qe(e),Re=!0},t.clearConfig=function(){_e=null,Re=!1},t.isValidAttribute=function(e,t,n){_e||Qe({});var r=f(e),i=f(t);return ht(r,i,n)},t.addHook=function(e,t){"function"==typeof t&&(pe[e]=pe[e]||[],m(pe[e],t))},t.removeHook=function(e){pe[e]&&p(pe[e])},t.removeHooks=function(e){pe[e]&&(pe[e]=[])},t.removeAllHooks=function(){pe={}},t}return Q()}()},function(e,t){e.exports=function(e){const t=[],n=e=>{"text"===e.localName&&t.push(e);for(let t=0;t<e.childNodes.length;t++)n(e.childNodes[t])};n(e);for(const e of t)e.getAttribute("font-family")&&"Helvetica"!==e.getAttribute("font-family")?"Mystery"===e.getAttribute("font-family")?e.setAttribute("font-family","Curly"):"Gloria"===e.getAttribute("font-family")?e.setAttribute("font-family","Handwriting"):"Donegal"===e.getAttribute("font-family")&&e.setAttribute("font-family","Serif"):e.setAttribute("font-family","Sans Serif")}},function(e,t){e.exports=function(e){const t=e.match(/<svg [^>]*>/);t&&-1===t[0].indexOf("xmlns=")&&(e=e.replace("<svg ",'<svg xmlns="http://www.w3.org/2000/svg" ')),t&&-1!==t[0].indexOf("&ns_")&&-1===e.indexOf("<!DOCTYPE")&&(e=e.replace(t[0],t[0].replace(/&ns_[^;]+;/g,"http://ns.adobe.com/Extensibility/1.0/"))),e.includes("data:img/png")&&(e=e.replace(/(<image[^>]+?xlink:href=["'])data:img\/png/g,((e,t)=>`${t}data:image/png`)));const n=/(<[^>]+?xmlns:(?!xml=)[^ ]+=)"http:\/\/www.w3.org\/XML\/1998\/namespace"/g;return null!==e.match(n)&&(e=e.replace(n,((e,t)=>`${t}"http://dummy.namespace"`))),e=(e=(e=e.replace(/<(\/?)\s*svg:/g,"<$1")).replace(/<metadata>[\s\S]*<\/metadata>/,"<metadata></metadata>")).replace(/<script[\s\S]*>[\s\S]*<\/script>/,"<script><\/script>")}},function(e,t){var n={black:"#000",red:"#c23621",green:"#25bc26",yellow:"#bbbb00",blue:"#492ee1",magenta:"#d338d3",cyan:"#33bbc8",gray:"#808080",purple:"#708"};e.exports=function(e,t){return t?"color: #fff; background: "+n[e]+";":"color: "+n[e]+";"}},function(e,t,n){const r=n(91);e.exports=(e,t)=>{let n=(new XMLSerializer).serializeToString(e);return t&&(n=r(n,t)),n}},function(e,t,n){const r=n(268);e.exports=function(e,t={}){if("string"!=typeof e)throw new Error("SVG to be inlined is not a string");const n={};if(t&&"object"==typeof t)for(const[e,r]of Object.entries(t))n[(i=e,i.replace(/[<>&'"]/g,(e=>{switch(e){case"<":return"<";case">":return">";case"&":return"&";case"'":return"'";case'"':return"""}})))]=r;var i;try{Object.assign(n,r())}catch(e){}const s=new Set,o=/font-family="([^"]*)"/g;let a=o.exec(e);for(;a;)s.add(a[1]),a=o.exec(e);if(s.size>0){let t="<defs><style>";for(const e of s)Object.prototype.hasOwnProperty.call(n,e)&&(t+=`${n[e]}`);return t+="</style></defs>",e=e.replace(/<svg[^>]*>/,`$&${t}`)}return e}},function(e,t,n){var r=n(54),i=" ";function s(e,t){function n(e,t){return r.slice(e,t).map((function(t,n){for(var r=String(e+n+1);r.length<c;)r=" "+r;return r+" |"+t})).join("\n")}var r=e.source.split(/\r\n?|\n|\f/),s=e.line,o=e.column,a=Math.max(1,s-t)-1,l=Math.min(s+t,r.length+1),c=Math.max(4,String(l).length)+1,u=0;(o+=3*(r[s-1].substr(0,o-1).match(/\t/g)||[]).length)>100&&(u=o-60+3,o=58);for(var d=a;d<=l;d++)d>=0&&d<r.length&&(r[d]=r[d].replace(/\t/g,i),r[d]=(u>0&&r[d].length>u?"…":"")+r[d].substr(u,98)+(r[d].length>u+100-1?"…":""));return[n(a,s),new Array(o+c+2).join("-")+"^",n(s,l)].filter(Boolean).join("\n")}e.exports=function(e,t,n,i,o){var a=r("SyntaxError",e);return a.source=t,a.offset=n,a.line=i,a.column=o,a.sourceFragment=function(e){return s(a,isNaN(e)?0:e)},Object.defineProperty(a,"formattedMessage",{get:function(){return"Parse error: "+a.message+"\n"+s(a,2)}}),a.parseError={offset:n,line:i,column:o},a}},function(e,t){var n=0;function r(e){return e>=48&&e<=57}function i(e){return e>=65&&e<=90}function s(e){return e>=97&&e<=122}function o(e){return i(e)||s(e)}function a(e){return e>=128}function l(e){return o(e)||a(e)||95===e}function c(e){return e>=0&&e<=8||11===e||e>=14&&e<=31||127===e}function u(e){return 10===e||13===e||12===e}function d(e){return u(e)||32===e||9===e}function h(e,t){return 92===e&&(!u(t)&&t!==n)}var p=new Array(128);f.Eof=128,f.WhiteSpace=130,f.Digit=131,f.NameStart=132,f.NonPrintable=133;for(var m=0;m<p.length;m++)switch(!0){case d(m):p[m]=f.WhiteSpace;break;case r(m):p[m]=f.Digit;break;case l(m):p[m]=f.NameStart;break;case c(m):p[m]=f.NonPrintable;break;default:p[m]=m||f.Eof}function f(e){return e<128?p[e]:f.NameStart}e.exports={isDigit:r,isHexDigit:function(e){return r(e)||e>=65&&e<=70||e>=97&&e<=102},isUppercaseLetter:i,isLowercaseLetter:s,isLetter:o,isNonAscii:a,isNameStart:l,isName:function(e){return l(e)||r(e)||45===e},isNonPrintable:c,isNewline:u,isWhiteSpace:d,isValidEscape:h,isIdentifierStart:function(e,t,n){return 45===e?l(t)||45===t||h(t,n):!!l(e)||92===e&&h(e,t)},isNumberStart:function(e,t,n){return 43===e||45===e?r(t)?2:46===t&&r(n)?3:0:46===e?r(t)?2:0:r(e)?1:0},isBOM:function(e){return 65279===e||65534===e?1:0},charCodeCategory:f}},function(e,t,n){const r=n(54),i=n(55),s={offset:0,line:1,column:1};function o(e,t){const n=e&&e.loc&&e.loc[t];return n?"line"in n?a(n):n:null}function a({offset:e,line:t,column:n},r){const i={offset:e,line:t,column:n};if(r){const e=r.split(/\n|\r\n?|\f/);i.offset+=r.length,i.line+=e.length-1,i.column=1===e.length?i.column+r.length:e.pop().length+1}return i}e.exports={SyntaxReferenceError:function(e,t){const n=r("SyntaxReferenceError",e+(t?" `"+t+"`":""));return n.reference=t,n},SyntaxMatchError:function(e,t,n,l){const c=r("SyntaxMatchError",e),{css:u,mismatchOffset:d,mismatchLength:h,start:p,end:m}=function(e,t){const n=e.tokens,r=e.longestMatch,i=r<n.length&&n[r].node||null,l=i!==t?i:null;let c,u,d=0,h=0,p=0,m="";for(let e=0;e<n.length;e++){const t=n[e].value;e===r&&(h=t.length,d=m.length),null!==l&&n[e].node===l&&(e<=r?p++:p=0),m+=t}return r===n.length||p>1?(c=o(l||t,"end")||a(s,m),u=a(c)):(c=o(l,"start")||a(o(t,"start")||s,m.slice(0,d)),u=o(l,"end")||a(c,m.substr(d,h))),{css:m,mismatchOffset:d,mismatchLength:h,start:c,end:u}}(l,n);return c.rawMessage=e,c.syntax=t?i(t):"<generic>",c.css=u,c.mismatchOffset=d,c.mismatchLength=h,c.message=e+"\n syntax: "+c.syntax+"\n value: "+(u||"<empty string>")+"\n --------"+new Array(c.mismatchOffset+1).join("-")+"^",Object.assign(c,p),c.loc={source:n&&n.loc&&n.loc.source||"<unknown>",start:p,end:m},c}}},function(e,t){var n="undefined"!=typeof Uint32Array?Uint32Array:Array;e.exports=function(e,t){return null===e||e.length<t?new n(Math.max(t+1024,16384)):e}},function(e,t,n){var r=n(54);e.exports=function(e,t,n){var i=r("SyntaxError",e);return i.input=t,i.offset=n,i.rawMessage=e,i.message=i.rawMessage+"\n "+i.input+"\n--"+new Array((i.offset||i.input.length)+1).join("-")+"^",i}},function(e,t){var n=function(){};function r(e){return"function"==typeof e?e:n}e.exports=function(e,t,i){var s=n,o=n;if("function"==typeof t?s=t:t&&(s=r(t.enter),o=r(t.leave)),s===n&&o===n)throw new Error("Neither `enter` nor `leave` walker handler is set or both aren't a function");!function e(t){switch(s.call(i,t),t.type){case"Group":t.terms.forEach(e);break;case"Multiplier":e(t.term);break;case"Type":case"Property":case"Keyword":case"AtKeyword":case"Function":case"String":case"Token":case"Comma":break;default:throw new Error("Unknown type: "+t.type)}o.call(i,t)}(e)}},function(e,t,n){var r=n(57),i={type:"Match"},s={type:"Mismatch"},o={type:"DisallowEmpty"},a=40,l=41;function c(e,t,n){return t===i&&n===s||e===i&&t===i&&n===i?e:("If"===e.type&&e.else===s&&t===i&&(t=e.then,e=e.match),{type:"If",match:e,then:t,else:n})}function u(e){return e.length>2&&e.charCodeAt(e.length-2)===a&&e.charCodeAt(e.length-1)===l}function d(e){return"Keyword"===e.type||"AtKeyword"===e.type||"Function"===e.type||"Type"===e.type&&u(e.name)}function h(e,t,n){switch(e){case" ":for(var r=i,o=t.length-1;o>=0;o--){r=c(p=t[o],r,s)}return r;case"|":r=s;var a=null;for(o=t.length-1;o>=0;o--){if(d(p=t[o])&&(null===a&&o>0&&d(t[o-1])&&(r=c({type:"Enum",map:a=Object.create(null)},i,r)),null!==a)){var l=(u(p.name)?p.name.slice(0,-1):p.name).toLowerCase();if(l in a==!1){a[l]=p;continue}}a=null,r=c(p,i,r)}return r;case"&&":if(t.length>5)return{type:"MatchOnce",terms:t,all:!0};for(r=s,o=t.length-1;o>=0;o--){var p=t[o];m=t.length>1?h(e,t.filter((function(e){return e!==p})),!1):i,r=c(p,m,r)}return r;case"||":if(t.length>5)return{type:"MatchOnce",terms:t,all:!1};for(r=n?i:s,o=t.length-1;o>=0;o--){var m;p=t[o];m=t.length>1?h(e,t.filter((function(e){return e!==p})),!0):i,r=c(p,m,r)}return r}}function p(e){if("function"==typeof e)return{type:"Generic",fn:e};switch(e.type){case"Group":var t=h(e.combinator,e.terms.map(p),!1);return e.disallowEmpty&&(t=c(t,o,s)),t;case"Multiplier":return function(e){var t=i,n=p(e.term);if(0===e.max)n=c(n,o,s),(t=c(n,null,s)).then=c(i,i,t),e.comma&&(t.then.else=c({type:"Comma",syntax:e},t,s));else for(var r=e.min||1;r<=e.max;r++)e.comma&&t!==i&&(t=c({type:"Comma",syntax:e},t,s)),t=c(n,c(i,i,t),s);if(0===e.min)t=c(i,i,t);else for(r=0;r<e.min-1;r++)e.comma&&t!==i&&(t=c({type:"Comma",syntax:e},t,s)),t=c(n,t,s);return t}(e);case"Type":case"Property":return{type:e.type,name:e.name,syntax:e};case"Keyword":return{type:e.type,name:e.name.toLowerCase(),syntax:e};case"AtKeyword":return{type:e.type,name:"@"+e.name.toLowerCase(),syntax:e};case"Function":return{type:e.type,name:e.name.toLowerCase()+"(",syntax:e};case"String":return 3===e.value.length?{type:"Token",value:e.value.charAt(1),syntax:e}:{type:e.type,value:e.value.substr(1,e.value.length-2).replace(/\\'/g,"'"),syntax:e};case"Token":return{type:e.type,value:e.value,syntax:e};case"Comma":return{type:e.type,syntax:e};default:throw new Error("Unknown node type:",e.type)}}e.exports={MATCH:i,MISMATCH:s,DISALLOW_EMPTY:o,buildMatchGraph:function(e,t){return"string"==typeof e&&(e=r(e)),{type:"MatchGraph",match:p(e),syntax:t||null,source:e}}}},function(e,t,n){var r=n(0).cmpChar,i=n(0).cmpStr,s=n(0).TYPE,o=s.Ident,a=s.String,l=s.Number,c=s.Function,u=s.Url,d=s.Hash,h=s.Dimension,p=s.Percentage,m=s.LeftParenthesis,f=s.LeftSquareBracket,g=s.Comma,y=s.Delim;e.exports=function(e){switch(this.scanner.tokenType){case d:return this.Hash();case g:return e.space=null,e.ignoreWSAfter=!0,this.Operator();case m:return this.Parentheses(this.readSequence,e.recognizer);case f:return this.Brackets(this.readSequence,e.recognizer);case a:return this.String();case h:return this.Dimension();case p:return this.Percentage();case l:return this.Number();case c:return i(this.scanner.source,this.scanner.tokenStart,this.scanner.tokenEnd,"url(")?this.Url():this.Function(this.readSequence,e.recognizer);case u:return this.Url();case o:return r(this.scanner.source,this.scanner.tokenStart,117)&&r(this.scanner.source,this.scanner.tokenStart+1,43)?this.UnicodeRange():this.Identifier();case y:var t=this.scanner.source.charCodeAt(this.scanner.tokenStart);if(47===t||42===t||43===t||45===t)return this.Operator();35===t&&this.error("Hex or identifier is expected",this.scanner.tokenStart+1)}}},function(e,t){e.exports={parse:function(){return this.createSingleNodeList(this.SelectorList())}}},function(e,t){e.exports={parse:function(){return this.createSingleNodeList(this.Nth(true))}}},function(e,t){e.exports={parse:function(){return this.createSingleNodeList(this.Nth(false))}}},function(e,t,n){let r,i;"undefined"==typeof TextEncoder?(r=n(22).TextEncoder,i=n(22).TextDecoder):(r=TextEncoder,i=TextDecoder);const s="<!".concat("-".repeat(2)),o="".concat("-".repeat(2),">"),a=new RegExp("".concat(s,"rotationCenter:(-?[\\d\\.]+):(-?[\\d\\.]+)").concat(o,"$"));e.exports={parseVectorMetadata:e=>{const t=e.match(a);if(!t)return null;const n=+t[1],r=+t[2];return Number.isNaN(n)||Number.isNaN(r)?null:[n,r]},exportCostume:e=>{const t=e.asset.data;if("svg"!==e.dataFormat)return t;let n=(new i).decode(t);n=n.replace(a,"");const l=e.rotationCenterX,c=e.rotationCenterY;return n+="".concat(s,"rotationCenter:").concat(l,":").concat(c).concat(o),(new r).encode(n)}}},function(e,t,n){const r=n(8);e.exports=e=>{const t={};for(let n=0;n<e.length;n++){const i=r(),s=e[n].id;e[n].id=t[s]=i}for(let n=0;n<e.length;n++){for(const r in e[n].inputs){const i=e[n].inputs[r];i.block=t[i.block],i.shadow=t[i.shadow]}e[n].parent&&(e[n].parent=t[e[n].parent]),e[n].next&&(e[n].next=t[e[n].next])}}},function(e,t,n){const r=e=>function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return new Promise(((t,r)=>{e(...n,((e,n)=>{e?r("string"==typeof e?new Error(e):e):t(n)}))}))};var i=r(n(380)),s=r(n(382)),o=r(n(383));e.exports=function(e,t,n){i(e,t).then((function(e){return s(e[0]).then(o.bind(null,t)).then((function(t){return[t,e[1]]}))})).then(n.bind(null,null),n)}},function(e,t,n){const r=n(23),i=n(1);e.exports={deserializeSound:function(e,t,n,s){const o=s||e.md5,a=t.storage;if(!a)return i.warn("No storage module present; cannot load sound asset: ",o),Promise.resolve(null);if(!n)return Promise.resolve(null);let l=n.file(o);if(!l){const e=new RegExp("^([^/]*/)?".concat(o,"$"));l=n.file(e)[0]}if(!l)return i.error("Could not find sound file associated with the ".concat(e.name," sound.")),Promise.resolve(null);if(!r.support.uint8array)return i.error("JSZip uint8array is not supported in this browser."),Promise.resolve(null);const c="mp3"===e.dataFormat.toLowerCase()?a.DataFormat.MP3:a.DataFormat.WAV;return l.async("uint8array").then((e=>a.createAsset(a.AssetType.Sound,c,e,null,!0))).then((t=>{e.asset=t,e.assetId=t.assetId,e.md5="".concat(t.assetId,".").concat(t.dataFormat)}))},deserializeCostume:function(e,t,n,s,o){const a=t.storage,l=e.assetId,c=s||"".concat(l,".").concat(e.dataFormat);if(!a)return i.warn("No storage module present; cannot load costume asset: ",c),Promise.resolve(null);if(e.asset)return Promise.resolve(a.createAsset(e.asset.assetType,e.asset.dataFormat,new Uint8Array(Object.keys(e.asset.data).map((t=>e.asset.data[t]))),null,!0)).then((t=>{e.asset=t,e.assetId=t.assetId,e.md5="".concat(t.assetId,".").concat(t.dataFormat)}));if(!n)return Promise.resolve(null);let u=n.file(c);if(!u){const e=new RegExp("^([^/]*/)?".concat(c,"$"));u=n.file(e)[0]}if(!u)return i.error("Could not find costume file associated with the ".concat(e.name," costume.")),Promise.resolve(null);let d=null;const h=e.dataFormat.toLowerCase();if("svg"===h?d=a.AssetType.ImageVector:["png","bmp","jpeg","jpg","gif"].indexOf(h)>=0?d=a.AssetType.ImageBitmap:i.error("Unexpected file format for costume: ".concat(h)),!r.support.uint8array)return i.error("JSZip uint8array is not supported in this browser."),Promise.resolve(null);let p;if(e.textLayerMD5){const t=n.file(o);if(!t)return i.error("Could not find text layer file associated with the ".concat(e.name," costume.")),Promise.resolve(null);p=t.async("uint8array").then((t=>a.createAsset(a.AssetType.ImageBitmap,"png",t,e.textLayerMD5))).then((t=>{e.textLayerAsset=t}))}else p=Promise.resolve(null);return Promise.all([p,u.async("uint8array").then((e=>a.createAsset(d,h,e,null,!0))).then((t=>{e.asset=t,e.assetId=t.assetId,e.md5="".concat(t.assetId,".").concat(t.dataFormat)}))])}}},function(e,t,n){const r=n(17),i=n(50),s=n(52),o=n(24),a=n(1),l=n(8),c=n(7),u=n(5),d=n(386),h=n(51),p=n(10),m=n(46),f=n(13),g=n(82),{loadCostume:y}=n(34),{loadSound:b}=n(33),{deserializeCostume:v,deserializeSound:S}=n(106),w=["argument","control","data","event","looks","math","motion","operator","procedures","sensing","sound"],k=/\u001f|\./,x=e=>{const[t,n]=e.split(k),r=g.generateExtensionId(t);return"".concat(r,"_").concat(n)},T=function(e){const t=[{}];let n=0;const r=e.split(/(?=[^\\]%[nbs])/);for(let e=0;e<r.length;e++){const i=r[e].trim();if("%"===i.substring(0,1)){const e=i.substring(1,2),r={type:"input",inputName:"input"+n++};"n"===e?r.inputOp="math_number":"s"===e?r.inputOp="text":"b"===e&&(r.inputOp="boolean"),t.push(r)}}return t},E=function(e){return T(e).map((e=>e.inputName)).filter((e=>e))},A=function e(t){let n=[];for(let r=0;r<t.length;r++){const i=t[r];n.push(i),i.children&&(n=n.concat(e(i.children))),delete i.children}return n},C=function(e,t,n,r,i,s,o){const a=[];let l=null;for(let c=0;c<e.length;c++){const u=e[c],d=L(u,t,n,r,i,s,o),h=d[0];o=d[1],h&&(l&&(h.parent=l.id,l.next=h.id),l=h,a.push(h))}return[a,o]},I=function(){let e={};const t=(e,t,n)=>"".concat(e,"-").concat(c.replaceUnsafeChars(t),"-").concat(n);return function(n,r){return r&&(e={}),function(i,s){return r?(e["".concat(i,"-").concat(s)]=t(n,i,s),e["".concat(i,"-").concat(s)]):e["".concat(i,"-").concat(s)]?e["".concat(i,"-").concat(s)]:t(n,i,s)}}}(),O=function(){let e={};const t=[],n=l();return function(r){return r&&(e={}),{broadcastMsgMapUpdater:function(r,i){return""===(r=r.toLowerCase())&&(r=n),e[r]="broadcastMsgId-".concat(c.replaceUnsafeChars(r)),t.push(i),e[r]},globalBroadcastMsgs:e,allBroadcastFields:t,emptyMsgName:n}}}(),M=(e,t,n,r)=>{if(!d[e.cmd])return void a.warn("Could not find monitor block with opcode: ".concat(e.cmd));const i=d[e.cmd].opcode,s=i.indexOf("_"),o=i.substring(0,s);if("videoSensing"===o)return;if(-1===w.indexOf(o)&&""!==o&&!r.extensionIDs.has(o)&&!e.visible)return;let l=null;if(!Object.prototype.hasOwnProperty.call(e,"target"))for(let t=0;t<n.length;t++){const r=n[t];Object.keys(r.variables).filter((t=>{const n=r.variables[t];return n.type===p.LIST_TYPE&&n.name===e.listName})).length>0&&(l=r,e.target=r.getName())}if(l=l||n.filter((t=>t.getName()===e.target))[0],!l)throw new Error("Cannot create monitor for target that cannot be found by name");const c=I(l.id,!1),[u,h]=L([e.cmd,e.param],null,c,r,{},null,null);"getVar:"===e.cmd?u.id=c(e.param,p.SCALAR_TYPE):"contentsOfList:"===e.cmd?u.id=c(e.param,p.LIST_TYPE):Object.prototype.hasOwnProperty.call(t.monitorBlockInfo,u.opcode)?u.id=t.monitorBlockInfo[u.opcode].getId(l.id,u.fields):u.id=u.opcode,u.targetId=l.isStage?null:l.id,u.isMonitored=e.visible;const f=t.monitorBlocks._blocks[u.id];if(f)f.isMonitored=e.visible,f.targetId=u.targetId;else{const e=A([u]);for(let n=0;n<e.length;n++)t.monitorBlocks.createBlock(e[n])}switch(e.mode){case 1:e.mode="default";break;case 2:e.mode="large";break;case 3:e.mode="slider"}t.requestAddMonitor(m({id:u.id,targetId:u.targetId,spriteName:u.targetId?e.target:null,opcode:u.opcode,params:t.monitorBlocks._getBlockParams(u),value:"",mode:e.mode,sliderMin:e.sliderMin,sliderMax:e.sliderMax,isDiscrete:e.isDiscrete,x:e.x,y:e.y,width:e.width,height:e.height,visible:e.visible}))},N=function e(t,n,r,i){if(!Object.prototype.hasOwnProperty.call(t,"objName"))return null;const s={costumePromises:[],soundPromises:[],soundBank:n.audioEngine&&n.audioEngine.createBank(),children:[]},o=s.costumePromises;if(Object.prototype.hasOwnProperty.call(t,"costumes"))for(let e=0;e<t.costumes.length;e++){const s=t.costumes[e],a=s.bitmapResolution||1,l={name:s.costumeName,bitmapResolution:a,rotationCenterX:r?240*a:s.rotationCenterX,rotationCenterY:r?180*a:s.rotationCenterY,md5:s.baseLayerMD5,skinId:null},u=s.baseLayerMD5,d=c.splitFirst(u,"."),h=d[0];let p;2===d.length&&d[1]?p=d[1]:(p="png",l.md5="".concat(l.md5,".").concat(p)),l.dataFormat=p,l.assetId=h,s.textLayerMD5&&(l.textLayerMD5=c.splitFirst(s.textLayerMD5,".")[0]);const m="".concat(s.baseLayerID,".").concat(p),f=s.textLayerID?"".concat(s.textLayerID,".png"):null;o.push(n.wrapAssetRequest(v(l,n,i,m,f).then((()=>y(l.md5,l,n,2)))))}const{soundBank:a,soundPromises:l}=s;if(Object.prototype.hasOwnProperty.call(t,"sounds"))for(let e=0;e<t.sounds.length;e++){const r=t.sounds[e],s={name:r.soundName,format:r.format,rate:r.rate,sampleCount:r.sampleCount,md5:r.md5,data:null},o=r.md5,u=c.splitFirst(o,"."),d=u[0],h=u[1].toLowerCase();s.dataFormat=h,s.assetId=d;const p="".concat(r.soundID,".").concat(h);l.push(n.wrapAssetRequest(S(s,n,i,p).then((()=>b(s,n,a)))))}const u=s.children;if(t.children)for(let r=0;r<t.children.length;r++)u.push(e(t.children[r],n,!1,i));return s},R=function e(t,n,o,a,l,c){if(!Object.prototype.hasOwnProperty.call(t,"objName"))return Object.prototype.hasOwnProperty.call(t,"listName")&&(t.cmd="contentsOfList:",t.param=t.listName,t.mode="list"),t.deferredMonitor=!0,Promise.resolve(t);const d=new r(n),m=new s(d,n);if(Object.prototype.hasOwnProperty.call(t,"objName")){if(a&&"Stage"!==t.objName){for(const e of t.children)Object.prototype.hasOwnProperty.call(e,"objName")||e.target!==t.objName||(e.target="Stage");t.objName="Stage"}m.name=t.objName}const y=c.costumePromises,{soundBank:b,soundPromises:v}=c,S=m.createClone(a?f.BACKGROUND_LAYER:f.SPRITE_LAYER),w=I(S.id,a),k=O(a),x=k.broadcastMsgMapUpdater;if(Object.prototype.hasOwnProperty.call(t,"variables"))for(let e=0;e<t.variables.length;e++){const r=t.variables[e],i=r.isPersistent&&a&&n.canAddCloudVariable(),s=new p(w(r.name,p.SCALAR_TYPE),r.name,p.SCALAR_TYPE,i);i&&n.addCloudVariable(),s.value=r.value,S.variables[s.id]=s}const T={};if(Object.prototype.hasOwnProperty.call(t,"scriptComments")){t.scriptComments.map((e=>{const[t,n,r,i,s,o,a]=e,l=e[5]>=0,c=new h(null,a,l?null:1.5*t,l?null:2.2*n,1.5*r,2.2*i,!s);return l&&(c.blockId=o,Object.prototype.hasOwnProperty.call(T,o)?T[o].push(c):T[o]=[c]),c})).forEach((e=>{S.comments[e.id]=e}))}Object.prototype.hasOwnProperty.call(t,"scripts")&&function(e,t,n,r,i,s){let o=0;for(let a=0;a<e.length;a++){const l=e[a],c=l[0],u=l[1],d=l[2],h={},[p,m]=C(d,n,r,i,h,s,o);o=m,p[0]&&(p[0].x=1.5*c,p[0].y=2.2*u,p[0].topLevel=!0,p[0].parent=null);const f=A(p);for(let e=0;e<f.length;e++)t.createBlock(f[e])}}(t.scripts,d,x,w,o,T);for(const e in T){T[e].forEach((e=>{"number"==typeof e.blockId&&(e.blockId=null)}))}if(d.updateTargetSpecificBlocks(a),Object.prototype.hasOwnProperty.call(t,"lists"))for(let e=0;e<t.lists.length;e++){const n=t.lists[e],r=new p(w(n.listName,p.LIST_TYPE),n.listName,p.LIST_TYPE,!1);r.value=n.contents,S.variables[r.id]=r}Object.prototype.hasOwnProperty.call(t,"scratchX")&&(S.x=t.scratchX),Object.prototype.hasOwnProperty.call(t,"scratchY")&&(S.y=t.scratchY),Object.prototype.hasOwnProperty.call(t,"direction")&&(S.direction=u.wrapClamp(t.direction,-179,180)),Object.prototype.hasOwnProperty.call(t,"isDraggable")&&(S.draggable=t.isDraggable),Object.prototype.hasOwnProperty.call(t,"scale")&&(S.size=100*t.scale),Object.prototype.hasOwnProperty.call(t,"visible")&&(S.visible=t.visible),Object.prototype.hasOwnProperty.call(t,"currentCostumeIndex")&&(S.currentCostume=u.clamp(Math.floor(t.currentCostumeIndex),0,t.costumes.length-1)),Object.prototype.hasOwnProperty.call(t,"rotationStyle")&&("none"===t.rotationStyle?S.rotationStyle=i.ROTATION_STYLE_NONE:"leftRight"===t.rotationStyle?S.rotationStyle=i.ROTATION_STYLE_LEFT_RIGHT:"normal"===t.rotationStyle&&(S.rotationStyle=i.ROTATION_STYLE_ALL_AROUND)),Object.prototype.hasOwnProperty.call(t,"tempoBPM")&&(S.tempo=t.tempoBPM),Object.prototype.hasOwnProperty.call(t,"videoAlpha")&&(S.videoTransparency=100-100*t.videoAlpha),Object.prototype.hasOwnProperty.call(t,"info")&&Object.prototype.hasOwnProperty.call(t.info,"videoOn")&&(t.info.videoOn?S.videoState=i.VIDEO_STATE.ON:S.videoState=i.VIDEO_STATE.OFF),Object.prototype.hasOwnProperty.call(t,"indexInLibrary")&&(S.targetPaneOrder=t.indexInLibrary),S.isStage=a,Promise.all(y).then((e=>{m.costumes=e})),Promise.all(v).then((e=>{m.sounds=e,m.soundBank=b||null}));const E=[];if(t.children)for(let r=0;r<t.children.length;r++)E.push(e(t.children[r],n,o,!1,l,c.children[r]));if(a){const e=t.info&&t.info.savedExtensions;if(Array.isArray(e))for(const t of e){const e=g.generateExtensionId(t.extensionName),n=t.javascriptURL;o.extensionURLs.set(e,n)}}return Promise.all(y.concat(v)).then((()=>Promise.all(E).then((e=>{if(S.isStage){const e=k.globalBroadcastMsgs,t=k.allBroadcastFields,n=k.emptyMsgName;if(e[n]){let r=1;for(;e["message".concat(r)];)r+=1;const i="message".concat(r);e[i]=e[n],delete e[n];for(let e=0;e<t.length;e++)""===t[e].value&&(t[e].value=i)}for(const t in e){const n=e[t],r=new p(n,t,p.BROADCAST_MESSAGE_TYPE,!1);S.variables[r.id]=r}}let t=[S];const r=[];for(let n=0;n<e.length;n++)e[n]&&(e[n].deferredMonitor?r.push(e[n]):t=t.concat(e[n]));for(let e=0;e<r.length;e++)M(r[e],n,t,o);return t}))))},D=function(e){const t=e.map(((e,t)=>(e.layerOrder=t,e))).sort(((e,t)=>e.targetPaneOrder-t.targetPaneOrder));return t.forEach((e=>{delete e.targetPaneOrder})),t},P=function(e){const t=e[0],n=t&&d[t];return n?"function"==typeof n?n(e):n:t&&(e=>k.test(e))(t)?(e=>{const t=e[0],n=e.length-1,r=[];for(let e=0;e<n;e++)r.push({type:"input",inputOp:"text",inputName:g.argumentIndexToId(e)});return{opcode:x(t),argMap:r}})(e):(a.warn("Couldn't find SB2 block: ".concat(t)),null)},L=function e(t,n,r,i,s,c,u){const d=c&&"number"==typeof u&&!isNaN(u)?c[u]:null,h=P(t);if(!h)return d&&d.forEach((e=>{e.blockId=null,e.x=e.y=0})),[null,u+1];const m=t[0],f=h.opcode.indexOf("_"),g=h.opcode.substring(0,f);-1===w.indexOf(g)&&""!==g&&i.extensionIDs.add(g);const y={id:l(),opcode:h.opcode,inputs:{},fields:{},next:null,shadow:!1,children:[]};d&&(y.comment=d[d.length-1].id,d.forEach((e=>{e.id===y.comment?e.blockId=y.id:(e.blockId=null,e.x=e.y=0)}))),u++;const b=s.expectedArg;"call"===m&&(h.argMap=T(t[1]));for(let d=0;d<h.argMap.length;d++){const m=h.argMap[d],f=t[d+1];let g=!1;if("input"===m.type){const t=l();if(y.inputs[m.inputName]={name:m.inputName,block:null,shadow:null},"object"==typeof f&&f){let t;if(s.expectedArg=m,"object"==typeof f[0]&&f[0])[t,u]=C(f,n,r,i,s,c,u);else{const o=e(f,n,r,i,s,c,u);t=o[0]?[o[0]]:[],u=o[1]}if(s.expectedArg=b,t.length>0){let e=null;for(let n=0;n<t.length;n++)t[n].parent=0===n?y.id:e,e=t[n].id;y.inputs[m.inputName].block=t[0].id,y.children=y.children.concat(t)}g=!0}if(!m.inputOp){a.warn("Unknown input operation for input ".concat(m.inputName," of opcode ").concat(y.opcode,"."));continue}if("boolean"===m.inputOp||"substack"===m.inputOp)continue;let d=f,h=m.inputName;"math_number"===m.inputOp||"math_whole_number"===m.inputOp||"math_positive_number"===m.inputOp||"math_integer"===m.inputOp||"math_angle"===m.inputOp?(h="NUM",g&&(d=10)):"text"===m.inputOp?(h="TEXT",g&&(d="")):"colour_picker"===m.inputOp?(d=o.decimalToHex(f),h="COLOUR",g&&(d="#990000")):"event_broadcast_menu"===m.inputOp?(h="BROADCAST_OPTION",g&&(d="")):"sensing_of_object_menu"===m.inputOp?(g||"Stage"===d)&&(d="_stage_"):"note"===m.inputOp?g&&(d=60):"music.menu.DRUM"===m.inputOp||"music.menu.INSTRUMENT"===m.inputOp?g&&(d=1):"videoSensing.menu.ATTRIBUTE"===m.inputOp?g&&(d="motion"):"videoSensing.menu.SUBJECT"===m.inputOp?g&&(d="this sprite"):"videoSensing.menu.VIDEO_STATE"===m.inputOp?g&&(d="on"):g&&(d="");const p={};if(p[h]={name:h,value:d},"event_broadcast_menu"===m.inputOp){const e=n(d,p[h]);p[h].id=e,p[h].variableType=m.variableType}y.children.push({id:t,opcode:m.inputOp,inputs:{},fields:p,next:null,topLevel:!1,parent:y.id,shadow:!0}),y.inputs[m.inputName].shadow=t,y.inputs[m.inputName].block||(y.inputs[m.inputName].block=t)}else if("field"===m.type){if(y.fields[m.fieldName]={name:m.fieldName,value:f},"CURRENTMENU"===m.fieldName&&(y.fields[m.fieldName].value=f.toUpperCase(),"day of week"===f&&(y.fields[m.fieldName].value="DAYOFWEEK")),"VARIABLE"===m.fieldName)y.fields[m.fieldName].id=r(f,p.SCALAR_TYPE);else if("LIST"===m.fieldName)y.fields[m.fieldName].id=r(f,p.LIST_TYPE);else if("BROADCAST_OPTION"===m.fieldName){const e=n(f,y.fields[m.fieldName]);y.fields[m.fieldName].id=e}const e=m.variableType;"string"==typeof e&&(y.fields[m.fieldName].variableType=e)}}switch(m){case"comeToFront":y.fields.FRONT_BACK={name:"FRONT_BACK",value:"front"};break;case"goBackByLayers:":y.fields.FORWARD_BACKWARD={name:"FORWARD_BACKWARD",value:"backward"};break;case"backgroundIndex":case"costumeIndex":y.fields.NUMBER_NAME={name:"NUMBER_NAME",value:"number"};break;case"sceneName":case"costumeName":y.fields.NUMBER_NAME={name:"NUMBER_NAME",value:"name"}}if("stopScripts"===m)"other scripts in sprite"!==t[1]&&"other scripts in stage"!==t[1]||(y.mutation={tagName:"mutation",hasnext:"true",children:[]});else if("procDef"===m){const e=t.slice(1),n=l(),r="custom_block";y.inputs[r]={name:r,block:n,shadow:n},y.children=[{id:n,opcode:"procedures_prototype",inputs:{},fields:{},next:null,shadow:!0,children:[],mutation:{tagName:"mutation",proccode:e[0],argumentnames:JSON.stringify(e[1]),argumentids:JSON.stringify(E(e[0])),argumentdefaults:JSON.stringify(e[2]),warp:e[3],children:[]}}]}else if("call"===m)y.mutation={tagName:"mutation",children:[],proccode:t[1],argumentids:JSON.stringify(E(t[1]))};else if("getParam"===m){let e=t[2];switch(b&&"boolean"===b.inputOp&&"b"!==e&&(e="b"),e){case"r":y.opcode="argument_reporter_string_number";break;case"b":y.opcode="argument_reporter_boolean"}}return[y,u]};e.exports={deserialize:function(e,t,n,r){const i={extensionIDs:new Set,extensionURLs:new Map};return Promise.resolve(N(e,t,!n,r)).then((e=>Promise.resolve(e))).then((s=>R(e,t,i,!n,r,s))).then(D).then((e=>({targets:e,extensions:i})))}}},function(e,t,n){const r=n(388);e.exports=r},function(e,t){class n{constructor(){this.left=-1/0,this.right=1/0,this.bottom=-1/0,this.top=1/0}initFromBounds(e,t,n,r){this.left=e,this.right=t,this.bottom=n,this.top=r}initFromPointsAABB(e){this.left=1/0,this.right=-1/0,this.top=-1/0,this.bottom=1/0;for(let t=0;t<e.length;t++){const n=e[t][0],r=e[t][1];n<this.left&&(this.left=n),n>this.right&&(this.right=n),r>this.top&&(this.top=r),r<this.bottom&&(this.bottom=r)}}initFromModelMatrix(e){const t=e[12],n=e[13],r=Math.abs(.5*e[0])+Math.abs(.5*e[4]),i=Math.abs(.5*e[1])+Math.abs(.5*e[5]);this.left=-r+t,this.right=r+t,this.top=i+n,this.bottom=-i+n}intersects(e){return this.left<=e.right&&e.left<=this.right&&this.top>=e.bottom&&e.top>=this.bottom}contains(e){return e.left>this.left&&e.right<this.right&&e.top<this.top&&e.bottom>this.bottom}clamp(e,t,n,r){this.left=Math.max(this.left,e),this.right=Math.min(this.right,t),this.bottom=Math.max(this.bottom,n),this.top=Math.min(this.top,r),this.left=Math.min(this.left,t),this.right=Math.max(this.right,e),this.bottom=Math.min(this.bottom,r),this.top=Math.max(this.top,n)}snapToInt(){this.left=Math.floor(this.left),this.right=Math.ceil(this.right),this.bottom=Math.floor(this.bottom),this.top=Math.ceil(this.top)}static intersect(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:new n;return r.left=Math.max(e.left,t.left),r.right=Math.min(e.right,t.right),r.top=Math.min(e.top,t.top),r.bottom=Math.max(e.bottom,t.bottom),r}static union(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:new n;return r.left=Math.min(e.left,t.left),r.right=Math.max(e.right,t.right),r.top=Math.max(e.top,t.top),r.bottom=Math.min(e.bottom,t.bottom),r}get width(){return Math.abs(this.left-this.right)}get height(){return Math.abs(this.top-this.bottom)}}e.exports=n},function(e,t,n){const r=n(11),{rgbToHsv:i,hsvToRgb:s}=n(399),o=n(30),a=.5,l=.5,c=[0,0,0];e.exports=class{static transformColor(e,t,n){if(0===t[3])return t;let r=e.enabledEffects;"number"==typeof n&&(r&=n);const a=e.getUniforms(),l=!!(r&o.EFFECT_INFO.color.mask),u=!!(r&o.EFFECT_INFO.brightness.mask);if(l||u){const e=t[3]/255;if(t[0]/=e,t[1]/=e,t[2]/=e,l){const e=i(t,c),n=.055,r=.09;e[2]<n?(e[0]=0,e[1]=1,e[2]=n):e[1]<r&&(e[0]=0,e[1]=r),e[0]=a.u_color+e[0]+1,s(e,t)}if(u){const e=255*a.u_brightness;t[0]+=e,t[1]+=e,t[2]+=e}t[0]*=e,t[1]*=e,t[2]*=e}return r&o.EFFECT_INFO.ghost.mask&&(t[0]*=a.u_ghost,t[1]*=a.u_ghost,t[2]*=a.u_ghost,t[3]*=a.u_ghost),t}static transformPoint(e,t,n){r.v3.copy(t,n);const i=e.enabledEffects,s=e.getUniforms();if(i&o.EFFECT_INFO.mosaic.mask&&(n[0]=s.u_mosaic*n[0]%1,n[1]=s.u_mosaic*n[1]%1),i&o.EFFECT_INFO.pixelate.mask){const t=e.skin.getUniforms(),r=t.u_skinSize[0]/s.u_pixelate,i=t.u_skinSize[1]/s.u_pixelate;n[0]=(Math.floor(n[0]*r)+a)/r,n[1]=(Math.floor(n[1]*i)+l)/i}if(i&o.EFFECT_INFO.whirl.mask){const e=.5,t=n[0]-a,r=n[1]-l,i=Math.sqrt(Math.pow(t,2)+Math.pow(r,2)),o=Math.max(1-i/e,0),c=s.u_whirl*o*o,u=Math.sin(c),d=Math.cos(c),h=d,p=-u,m=u,f=d;n[0]=h*t+m*r+a,n[1]=p*t+f*r+l}if(i&o.EFFECT_INFO.fisheye.mask){const e=(n[0]-a)/a,t=(n[1]-l)/l,r=Math.sqrt(e*e+t*t),i=Math.pow(Math.min(r,1),s.u_fisheye)*Math.max(1,r),o=e/r,c=t/r;n[0]=a+i*o*a,n[1]=l+i*c*l}return n}}},function(e,t,n){const r=n(42);r.enable(),e.exports=r("scratch-render")},function(e,t){e.exports=class{constructor(e){this._ctx=e,this._cache={}}beginMeasurementSession(){}endMeasurementSession(){}measureText(e){return this._cache[e]||(this._cache[e]=this._ctx.measureText(e).width),this._cache[e]}}},function(e,t,n){var r,i;i=n(405),r=function(){function e(e){var t,n,r;(t="function"==typeof e.readUInt32BE&&"function"==typeof e.slice)||e instanceof Uint8Array?(t?(this.highStart=e.readUInt32BE(0),this.errorValue=e.readUInt32BE(4),n=e.readUInt32BE(8),e=e.slice(12)):(r=new DataView(e.buffer),this.highStart=r.getUint32(0),this.errorValue=r.getUint32(4),n=r.getUint32(8),e=e.subarray(12)),e=i(e,new Uint8Array(n)),e=i(e,new Uint8Array(n)),this.data=new Uint32Array(e.buffer)):(this.data=e.data,this.highStart=e.highStart,this.errorValue=e.errorValue)}return 11,5,6,32,64,63,2,32,31,2048,32,2080,2080,32,2112,4,e.prototype.get=function(e){var t;return e<0||e>1114111?this.errorValue:e<55296||e>56319&&e<=65535?(t=(this.data[e>>5]<<2)+(31&e),this.data[t]):e<=65535?(t=(this.data[2048+(e-55296>>5)]<<2)+(31&e),this.data[t]):e<this.highStart?(t=this.data[2080+(e>>11)],t=((t=this.data[t+(e>>5&63)])<<2)+(31&e),this.data[t]):this.data[this.data.length-4]},e}(),e.exports=r},function(module,exports,__webpack_require__){var factory;window,factory=function(){return function(e){var t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)n.d(r,i,function(t){return e[t]}.bind(null,i));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s="./src/index.js")}({"./node_modules/@babel/runtime/helpers/objectWithoutProperties.js":function(e,t,n){var r=n("./node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js");e.exports=function(e,t){if(null==e)return{};var n,i,s=r(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(i=0;i<o.length;i++)n=o[i],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(s[n]=e[n])}return s},e.exports.__esModule=!0,e.exports.default=e.exports},"./node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js":function(e,t){e.exports=function(e,t){if(null==e)return{};var n,r,i={},s=Object.keys(e);for(r=0;r<s.length;r++)n=s[r],t.indexOf(n)>=0||(i[n]=e[n]);return i},e.exports.__esModule=!0,e.exports.default=e.exports},"./node_modules/arraybuffer-loader/lib/to-array-buffer.js":function(e,t,n){"use strict";(function(t){e.exports=function(e){for(var n="undefined"!=typeof window&&"function"==typeof window.atob?window.atob(e):t.from(e,"base64").toString("binary"),r=new Uint8Array(n.length),i=0;i<n.length;++i)r[i]=n.charCodeAt(i);return r.buffer}}).call(this,n("./node_modules/node-libs-browser/node_modules/buffer/index.js").Buffer)},"./node_modules/base64-js/index.js":function(e,t,n){"use strict";t.byteLength=function(e){var t=l(e),n=t[0],r=t[1];return 3*(n+r)/4-r},t.toByteArray=function(e){for(var t,n=l(e),r=n[0],o=n[1],a=new s(function(e,t,n){return 3*(t+n)/4-n}(0,r,o)),c=0,u=o>0?r-4:r,d=0;d<u;d+=4)t=i[e.charCodeAt(d)]<<18|i[e.charCodeAt(d+1)]<<12|i[e.charCodeAt(d+2)]<<6|i[e.charCodeAt(d+3)],a[c++]=t>>16&255,a[c++]=t>>8&255,a[c++]=255&t;return 2===o&&(t=i[e.charCodeAt(d)]<<2|i[e.charCodeAt(d+1)]>>4,a[c++]=255&t),1===o&&(t=i[e.charCodeAt(d)]<<10|i[e.charCodeAt(d+1)]<<4|i[e.charCodeAt(d+2)]>>2,a[c++]=t>>8&255,a[c++]=255&t),a},t.fromByteArray=function(e){for(var t,n=e.length,i=n%3,s=[],o=16383,a=0,l=n-i;a<l;a+=o)s.push(c(e,a,a+o>l?l:a+o));return 1===i?(t=e[n-1],s.push(r[t>>2]+r[t<<4&63]+"==")):2===i&&(t=(e[n-2]<<8)+e[n-1],s.push(r[t>>10]+r[t>>4&63]+r[t<<2&63]+"=")),s.join("")};for(var r=[],i=[],s="undefined"!=typeof Uint8Array?Uint8Array:Array,o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",a=0;a<64;++a)r[a]=o[a],i[o.charCodeAt(a)]=a;function l(e){var t=e.length;if(t%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var n=e.indexOf("=");return-1===n&&(n=t),[n,n===t?0:4-n%4]}function c(e,t,n){for(var i,s,o=[],a=t;a<n;a+=3)i=(e[a]<<16&16711680)+(e[a+1]<<8&65280)+(255&e[a+2]),o.push(r[(s=i)>>18&63]+r[s>>12&63]+r[s>>6&63]+r[63&s]);return o.join("")}i["-".charCodeAt(0)]=62,i["_".charCodeAt(0)]=63},"./node_modules/cross-fetch/dist/browser-ponyfill.js":function(e,t){var n="undefined"!=typeof self?self:this,r=function(){function e(){this.fetch=!1,this.DOMException=n.DOMException}return e.prototype=n,new e}();!function(e){!function(t){var n="URLSearchParams"in e,r="Symbol"in e&&"iterator"in Symbol,i="FileReader"in e&&"Blob"in e&&function(){try{return new Blob,!0}catch(e){return!1}}(),s="FormData"in e,o="ArrayBuffer"in e;if(o)var a=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],l=ArrayBuffer.isView||function(e){return e&&a.indexOf(Object.prototype.toString.call(e))>-1};function c(e){if("string"!=typeof e&&(e=String(e)),/[^a-z0-9\-#$%&'*+.^_`|~]/i.test(e))throw new TypeError("Invalid character in header field name");return e.toLowerCase()}function u(e){return"string"!=typeof e&&(e=String(e)),e}function d(e){var t={next:function(){var t=e.shift();return{done:void 0===t,value:t}}};return r&&(t[Symbol.iterator]=function(){return t}),t}function h(e){this.map={},e instanceof h?e.forEach((function(e,t){this.append(t,e)}),this):Array.isArray(e)?e.forEach((function(e){this.append(e[0],e[1])}),this):e&&Object.getOwnPropertyNames(e).forEach((function(t){this.append(t,e[t])}),this)}function p(e){if(e.bodyUsed)return Promise.reject(new TypeError("Already read"));e.bodyUsed=!0}function m(e){return new Promise((function(t,n){e.onload=function(){t(e.result)},e.onerror=function(){n(e.error)}}))}function f(e){var t=new FileReader,n=m(t);return t.readAsArrayBuffer(e),n}function g(e){if(e.slice)return e.slice(0);var t=new Uint8Array(e.byteLength);return t.set(new Uint8Array(e)),t.buffer}function y(){return this.bodyUsed=!1,this._initBody=function(e){var t;this._bodyInit=e,e?"string"==typeof e?this._bodyText=e:i&&Blob.prototype.isPrototypeOf(e)?this._bodyBlob=e:s&&FormData.prototype.isPrototypeOf(e)?this._bodyFormData=e:n&&URLSearchParams.prototype.isPrototypeOf(e)?this._bodyText=e.toString():o&&i&&(t=e)&&DataView.prototype.isPrototypeOf(t)?(this._bodyArrayBuffer=g(e.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer])):o&&(ArrayBuffer.prototype.isPrototypeOf(e)||l(e))?this._bodyArrayBuffer=g(e):this._bodyText=e=Object.prototype.toString.call(e):this._bodyText="",this.headers.get("content-type")||("string"==typeof e?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type?this.headers.set("content-type",this._bodyBlob.type):n&&URLSearchParams.prototype.isPrototypeOf(e)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},i&&(this.blob=function(){var e=p(this);if(e)return e;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw new Error("could not read FormData body as blob");return Promise.resolve(new Blob([this._bodyText]))},this.arrayBuffer=function(){return this._bodyArrayBuffer?p(this)||Promise.resolve(this._bodyArrayBuffer):this.blob().then(f)}),this.text=function(){var e,t,n,r=p(this);if(r)return r;if(this._bodyBlob)return e=this._bodyBlob,t=new FileReader,n=m(t),t.readAsText(e),n;if(this._bodyArrayBuffer)return Promise.resolve(function(e){for(var t=new Uint8Array(e),n=new Array(t.length),r=0;r<t.length;r++)n[r]=String.fromCharCode(t[r]);return n.join("")}(this._bodyArrayBuffer));if(this._bodyFormData)throw new Error("could not read FormData body as text");return Promise.resolve(this._bodyText)},s&&(this.formData=function(){return this.text().then(S)}),this.json=function(){return this.text().then(JSON.parse)},this}h.prototype.append=function(e,t){e=c(e),t=u(t);var n=this.map[e];this.map[e]=n?n+", "+t:t},h.prototype.delete=function(e){delete this.map[c(e)]},h.prototype.get=function(e){return e=c(e),this.has(e)?this.map[e]:null},h.prototype.has=function(e){return this.map.hasOwnProperty(c(e))},h.prototype.set=function(e,t){this.map[c(e)]=u(t)},h.prototype.forEach=function(e,t){for(var n in this.map)this.map.hasOwnProperty(n)&&e.call(t,this.map[n],n,this)},h.prototype.keys=function(){var e=[];return this.forEach((function(t,n){e.push(n)})),d(e)},h.prototype.values=function(){var e=[];return this.forEach((function(t){e.push(t)})),d(e)},h.prototype.entries=function(){var e=[];return this.forEach((function(t,n){e.push([n,t])})),d(e)},r&&(h.prototype[Symbol.iterator]=h.prototype.entries);var b=["DELETE","GET","HEAD","OPTIONS","POST","PUT"];function v(e,t){var n,r,i=(t=t||{}).body;if(e instanceof v){if(e.bodyUsed)throw new TypeError("Already read");this.url=e.url,this.credentials=e.credentials,t.headers||(this.headers=new h(e.headers)),this.method=e.method,this.mode=e.mode,this.signal=e.signal,i||null==e._bodyInit||(i=e._bodyInit,e.bodyUsed=!0)}else this.url=String(e);if(this.credentials=t.credentials||this.credentials||"same-origin",!t.headers&&this.headers||(this.headers=new h(t.headers)),this.method=(n=t.method||this.method||"GET",r=n.toUpperCase(),b.indexOf(r)>-1?r:n),this.mode=t.mode||this.mode||null,this.signal=t.signal||this.signal,this.referrer=null,("GET"===this.method||"HEAD"===this.method)&&i)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(i)}function S(e){var t=new FormData;return e.trim().split("&").forEach((function(e){if(e){var n=e.split("="),r=n.shift().replace(/\+/g," "),i=n.join("=").replace(/\+/g," ");t.append(decodeURIComponent(r),decodeURIComponent(i))}})),t}function w(e,t){t||(t={}),this.type="default",this.status=void 0===t.status?200:t.status,this.ok=this.status>=200&&this.status<300,this.statusText="statusText"in t?t.statusText:"OK",this.headers=new h(t.headers),this.url=t.url||"",this._initBody(e)}v.prototype.clone=function(){return new v(this,{body:this._bodyInit})},y.call(v.prototype),y.call(w.prototype),w.prototype.clone=function(){return new w(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new h(this.headers),url:this.url})},w.error=function(){var e=new w(null,{status:0,statusText:""});return e.type="error",e};var k=[301,302,303,307,308];w.redirect=function(e,t){if(-1===k.indexOf(t))throw new RangeError("Invalid status code");return new w(null,{status:t,headers:{location:e}})},t.DOMException=e.DOMException;try{new t.DOMException}catch(e){t.DOMException=function(e,t){this.message=e,this.name=t;var n=Error(e);this.stack=n.stack},t.DOMException.prototype=Object.create(Error.prototype),t.DOMException.prototype.constructor=t.DOMException}function x(e,n){return new Promise((function(r,s){var o=new v(e,n);if(o.signal&&o.signal.aborted)return s(new t.DOMException("Aborted","AbortError"));var a=new XMLHttpRequest;function l(){a.abort()}a.onload=function(){var e,t,n={status:a.status,statusText:a.statusText,headers:(e=a.getAllResponseHeaders()||"",t=new h,e.replace(/\r?\n[\t ]+/g," ").split(/\r?\n/).forEach((function(e){var n=e.split(":"),r=n.shift().trim();if(r){var i=n.join(":").trim();t.append(r,i)}})),t)};n.url="responseURL"in a?a.responseURL:n.headers.get("X-Request-URL");var i="response"in a?a.response:a.responseText;r(new w(i,n))},a.onerror=function(){s(new TypeError("Network request failed"))},a.ontimeout=function(){s(new TypeError("Network request failed"))},a.onabort=function(){s(new t.DOMException("Aborted","AbortError"))},a.open(o.method,o.url,!0),"include"===o.credentials?a.withCredentials=!0:"omit"===o.credentials&&(a.withCredentials=!1),"responseType"in a&&i&&(a.responseType="blob"),o.headers.forEach((function(e,t){a.setRequestHeader(t,e)})),o.signal&&(o.signal.addEventListener("abort",l),a.onreadystatechange=function(){4===a.readyState&&o.signal.removeEventListener("abort",l)}),a.send(void 0===o._bodyInit?null:o._bodyInit)}))}x.polyfill=!0,e.fetch||(e.fetch=x,e.Headers=h,e.Request=v,e.Response=w),t.Headers=h,t.Request=v,t.Response=w,t.fetch=x,Object.defineProperty(t,"__esModule",{value:!0})}({})}(r),r.fetch.ponyfill=!0,delete r.fetch.polyfill;var i=r;(t=i.fetch).default=i.fetch,t.fetch=i.fetch,t.Headers=i.Headers,t.Request=i.Request,t.Response=i.Response,e.exports=t},"./node_modules/fastestsmallesttextencoderdecoder/EncoderDecoderTogether.min.js":function(e,t,n){"use strict";(function(e){!function(e){function t(){}function n(){}var r=String.fromCharCode,i={}.toString,s=i.call(e.SharedArrayBuffer),o=i(),a=e.Uint8Array,l=a||Array,c=a?ArrayBuffer:l,u=c.isView||function(e){return e&&"length"in e},d=i.call(c.prototype);c=n.prototype;var h=e.TextEncoder,p=new(a?Uint16Array:l)(32);t.prototype.decode=function(e){if(!u(e)){var t=i.call(e);if(t!==d&&t!==s&&t!==o)throw TypeError("Failed to execute 'decode' on 'TextDecoder': The provided value is not of type '(ArrayBuffer or ArrayBufferView)'");e=a?new l(e):e||[]}for(var n,c,h,m=t="",f=0,g=0|e.length,y=g-32|0,b=0,v=0,S=0,w=-1;f<g;){for(n=f<=y?32:g-f|0;S<n;f=f+1|0,S=S+1|0){switch((c=255&e[f])>>4){case 15:if(2!=(h=255&e[f=f+1|0])>>6||247<c){f=f-1|0;break}b=(7&c)<<6|63&h,v=5,c=256;case 14:b<<=6,b|=(15&c)<<6|63&(h=255&e[f=f+1|0]),v=2==h>>6?v+4|0:24,c=c+256&768;case 13:case 12:b<<=6,b|=(31&c)<<6|63&(h=255&e[f=f+1|0]),v=v+7|0,f<g&&2==h>>6&&b>>v&&1114112>b?(c=b,0<=(b=b-65536|0)&&(w=55296+(b>>10)|0,c=56320+(1023&b)|0,31>S?(p[S]=w,S=S+1|0,w=-1):(h=w,w=c,c=h))):(f=f-(c>>=8)-1|0,c=65533),b=v=0,n=f<=y?32:g-f|0;default:p[S]=c;continue;case 11:case 10:case 9:case 8:}p[S]=65533}if(m+=r(p[0],p[1],p[2],p[3],p[4],p[5],p[6],p[7],p[8],p[9],p[10],p[11],p[12],p[13],p[14],p[15],p[16],p[17],p[18],p[19],p[20],p[21],p[22],p[23],p[24],p[25],p[26],p[27],p[28],p[29],p[30],p[31]),32>S&&(m=m.slice(0,S-32|0)),f<g){if(p[0]=w,S=~w>>>31,w=-1,m.length<t.length)continue}else-1!==w&&(m+=r(w));t+=m,m=""}return t},c.encode=function(e){var t,n=0|(e=void 0===e?"":""+e).length,r=new l(8+(n<<1)|0),i=0,s=!a;for(t=0;t<n;t=t+1|0,i=i+1|0){var o=0|e.charCodeAt(t);if(127>=o)r[i]=o;else{if(2047>=o)r[i]=192|o>>6;else{e:{if(55296<=o)if(56319>=o){var c=0|e.charCodeAt(t=t+1|0);if(56320<=c&&57343>=c){if(65535<(o=(o<<10)+c-56613888|0)){r[i]=240|o>>18,r[i=i+1|0]=128|o>>12&63,r[i=i+1|0]=128|o>>6&63,r[i=i+1|0]=128|63&o;continue}break e}o=65533}else 57343>=o&&(o=65533);!s&&t<<1<i&&t<<1<(i-7|0)&&(s=!0,(c=new l(3*n)).set(r),r=c)}r[i]=224|o>>12,r[i=i+1|0]=128|o>>6&63}r[i=i+1|0]=128|63&o}}return a?r.subarray(0,i):r.slice(0,i)},h||(e.TextDecoder=t,e.TextEncoder=n)}(""+void 0==typeof e?""+void 0==typeof self?this:self:e)}).call(this,n("./node_modules/webpack/buildin/global.js"))},"./node_modules/ieee754/index.js":function(e,t){t.read=function(e,t,n,r,i){var s,o,a=8*i-r-1,l=(1<<a)-1,c=l>>1,u=-7,d=n?i-1:0,h=n?-1:1,p=e[t+d];for(d+=h,s=p&(1<<-u)-1,p>>=-u,u+=a;u>0;s=256*s+e[t+d],d+=h,u-=8);for(o=s&(1<<-u)-1,s>>=-u,u+=r;u>0;o=256*o+e[t+d],d+=h,u-=8);if(0===s)s=1-c;else{if(s===l)return o?NaN:1/0*(p?-1:1);o+=Math.pow(2,r),s-=c}return(p?-1:1)*o*Math.pow(2,s-r)},t.write=function(e,t,n,r,i,s){var o,a,l,c=8*s-i-1,u=(1<<c)-1,d=u>>1,h=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,p=r?0:s-1,m=r?1:-1,f=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(a=isNaN(t)?1:0,o=u):(o=Math.floor(Math.log(t)/Math.LN2),t*(l=Math.pow(2,-o))<1&&(o--,l*=2),(t+=o+d>=1?h/l:h*Math.pow(2,1-d))*l>=2&&(o++,l/=2),o+d>=u?(a=0,o=u):o+d>=1?(a=(t*l-1)*Math.pow(2,i),o+=d):(a=t*Math.pow(2,d-1)*Math.pow(2,i),o=0));i>=8;e[n+p]=255&a,p+=m,a/=256,i-=8);for(o=o<<i|a,c+=i;c>0;e[n+p]=255&o,p+=m,o/=256,c-=8);e[n+p-m]|=128*f}},"./node_modules/js-md5/src/md5.js":function(module,exports,__webpack_require__){(function(process,global){var __WEBPACK_AMD_DEFINE_RESULT__;(function(){"use strict";var ERROR="input is invalid type",WINDOW="object"==typeof window,root=WINDOW?window:{};root.JS_MD5_NO_WINDOW&&(WINDOW=!1);var WEB_WORKER=!WINDOW&&"object"==typeof self,NODE_JS=!root.JS_MD5_NO_NODE_JS&&"object"==typeof process&&process.versions&&process.versions.node;NODE_JS?root=global:WEB_WORKER&&(root=self);var COMMON_JS=!root.JS_MD5_NO_COMMON_JS&&"object"==typeof module&&module.exports,AMD=__webpack_require__("./node_modules/webpack/buildin/amd-options.js"),ARRAY_BUFFER=!root.JS_MD5_NO_ARRAY_BUFFER&&"undefined"!=typeof ArrayBuffer,HEX_CHARS="0123456789abcdef".split(""),EXTRA=[128,32768,8388608,-2147483648],SHIFT=[0,8,16,24],OUTPUT_TYPES=["hex","array","digest","buffer","arrayBuffer","base64"],BASE64_ENCODE_CHAR="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split(""),blocks=[],buffer8;if(ARRAY_BUFFER){var buffer=new ArrayBuffer(68);buffer8=new Uint8Array(buffer),blocks=new Uint32Array(buffer)}!root.JS_MD5_NO_NODE_JS&&Array.isArray||(Array.isArray=function(e){return"[object Array]"===Object.prototype.toString.call(e)}),!ARRAY_BUFFER||!root.JS_MD5_NO_ARRAY_BUFFER_IS_VIEW&&ArrayBuffer.isView||(ArrayBuffer.isView=function(e){return"object"==typeof e&&e.buffer&&e.buffer.constructor===ArrayBuffer});var createOutputMethod=function(e){return function(t){return new Md5(!0).update(t)[e]()}},createMethod=function(){var e=createOutputMethod("hex");NODE_JS&&(e=nodeWrap(e)),e.create=function(){return new Md5},e.update=function(t){return e.create().update(t)};for(var t=0;t<OUTPUT_TYPES.length;++t){var n=OUTPUT_TYPES[t];e[n]=createOutputMethod(n)}return e},nodeWrap=function(method){var crypto=eval("require('crypto')"),Buffer=eval("require('buffer').Buffer"),nodeMethod=function(e){if("string"==typeof e)return crypto.createHash("md5").update(e,"utf8").digest("hex");if(null==e)throw ERROR;return e.constructor===ArrayBuffer&&(e=new Uint8Array(e)),Array.isArray(e)||ArrayBuffer.isView(e)||e.constructor===Buffer?crypto.createHash("md5").update(new Buffer(e)).digest("hex"):method(e)};return nodeMethod};function Md5(e){if(e)blocks[0]=blocks[16]=blocks[1]=blocks[2]=blocks[3]=blocks[4]=blocks[5]=blocks[6]=blocks[7]=blocks[8]=blocks[9]=blocks[10]=blocks[11]=blocks[12]=blocks[13]=blocks[14]=blocks[15]=0,this.blocks=blocks,this.buffer8=buffer8;else if(ARRAY_BUFFER){var t=new ArrayBuffer(68);this.buffer8=new Uint8Array(t),this.blocks=new Uint32Array(t)}else this.blocks=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];this.h0=this.h1=this.h2=this.h3=this.start=this.bytes=this.hBytes=0,this.finalized=this.hashed=!1,this.first=!0}Md5.prototype.update=function(e){if(!this.finalized){var t,n=typeof e;if("string"!==n){if("object"!==n)throw ERROR;if(null===e)throw ERROR;if(ARRAY_BUFFER&&e.constructor===ArrayBuffer)e=new Uint8Array(e);else if(!(Array.isArray(e)||ARRAY_BUFFER&&ArrayBuffer.isView(e)))throw ERROR;t=!0}for(var r,i,s=0,o=e.length,a=this.blocks,l=this.buffer8;s<o;){if(this.hashed&&(this.hashed=!1,a[0]=a[16],a[16]=a[1]=a[2]=a[3]=a[4]=a[5]=a[6]=a[7]=a[8]=a[9]=a[10]=a[11]=a[12]=a[13]=a[14]=a[15]=0),t)if(ARRAY_BUFFER)for(i=this.start;s<o&&i<64;++s)l[i++]=e[s];else for(i=this.start;s<o&&i<64;++s)a[i>>2]|=e[s]<<SHIFT[3&i++];else if(ARRAY_BUFFER)for(i=this.start;s<o&&i<64;++s)(r=e.charCodeAt(s))<128?l[i++]=r:r<2048?(l[i++]=192|r>>6,l[i++]=128|63&r):r<55296||r>=57344?(l[i++]=224|r>>12,l[i++]=128|r>>6&63,l[i++]=128|63&r):(r=65536+((1023&r)<<10|1023&e.charCodeAt(++s)),l[i++]=240|r>>18,l[i++]=128|r>>12&63,l[i++]=128|r>>6&63,l[i++]=128|63&r);else for(i=this.start;s<o&&i<64;++s)(r=e.charCodeAt(s))<128?a[i>>2]|=r<<SHIFT[3&i++]:r<2048?(a[i>>2]|=(192|r>>6)<<SHIFT[3&i++],a[i>>2]|=(128|63&r)<<SHIFT[3&i++]):r<55296||r>=57344?(a[i>>2]|=(224|r>>12)<<SHIFT[3&i++],a[i>>2]|=(128|r>>6&63)<<SHIFT[3&i++],a[i>>2]|=(128|63&r)<<SHIFT[3&i++]):(r=65536+((1023&r)<<10|1023&e.charCodeAt(++s)),a[i>>2]|=(240|r>>18)<<SHIFT[3&i++],a[i>>2]|=(128|r>>12&63)<<SHIFT[3&i++],a[i>>2]|=(128|r>>6&63)<<SHIFT[3&i++],a[i>>2]|=(128|63&r)<<SHIFT[3&i++]);this.lastByteIndex=i,this.bytes+=i-this.start,i>=64?(this.start=i-64,this.hash(),this.hashed=!0):this.start=i}return this.bytes>4294967295&&(this.hBytes+=this.bytes/4294967296|0,this.bytes=this.bytes%4294967296),this}},Md5.prototype.finalize=function(){if(!this.finalized){this.finalized=!0;var e=this.blocks,t=this.lastByteIndex;e[t>>2]|=EXTRA[3&t],t>=56&&(this.hashed||this.hash(),e[0]=e[16],e[16]=e[1]=e[2]=e[3]=e[4]=e[5]=e[6]=e[7]=e[8]=e[9]=e[10]=e[11]=e[12]=e[13]=e[14]=e[15]=0),e[14]=this.bytes<<3,e[15]=this.hBytes<<3|this.bytes>>>29,this.hash()}},Md5.prototype.hash=function(){var e,t,n,r,i,s,o=this.blocks;this.first?t=((t=((e=((e=o[0]-680876937)<<7|e>>>25)-271733879|0)^(n=((n=(-271733879^(r=((r=(-1732584194^2004318071&e)+o[1]-117830708)<<12|r>>>20)+e|0)&(-271733879^e))+o[2]-1126478375)<<17|n>>>15)+r|0)&(r^e))+o[3]-1316259209)<<22|t>>>10)+n|0:(e=this.h0,t=this.h1,n=this.h2,t=((t+=((e=((e+=((r=this.h3)^t&(n^r))+o[0]-680876936)<<7|e>>>25)+t|0)^(n=((n+=(t^(r=((r+=(n^e&(t^n))+o[1]-389564586)<<12|r>>>20)+e|0)&(e^t))+o[2]+606105819)<<17|n>>>15)+r|0)&(r^e))+o[3]-1044525330)<<22|t>>>10)+n|0),t=((t+=((e=((e+=(r^t&(n^r))+o[4]-176418897)<<7|e>>>25)+t|0)^(n=((n+=(t^(r=((r+=(n^e&(t^n))+o[5]+1200080426)<<12|r>>>20)+e|0)&(e^t))+o[6]-1473231341)<<17|n>>>15)+r|0)&(r^e))+o[7]-45705983)<<22|t>>>10)+n|0,t=((t+=((e=((e+=(r^t&(n^r))+o[8]+1770035416)<<7|e>>>25)+t|0)^(n=((n+=(t^(r=((r+=(n^e&(t^n))+o[9]-1958414417)<<12|r>>>20)+e|0)&(e^t))+o[10]-42063)<<17|n>>>15)+r|0)&(r^e))+o[11]-1990404162)<<22|t>>>10)+n|0,t=((t+=((e=((e+=(r^t&(n^r))+o[12]+1804603682)<<7|e>>>25)+t|0)^(n=((n+=(t^(r=((r+=(n^e&(t^n))+o[13]-40341101)<<12|r>>>20)+e|0)&(e^t))+o[14]-1502002290)<<17|n>>>15)+r|0)&(r^e))+o[15]+1236535329)<<22|t>>>10)+n|0,t=((t+=((r=((r+=(t^n&((e=((e+=(n^r&(t^n))+o[1]-165796510)<<5|e>>>27)+t|0)^t))+o[6]-1069501632)<<9|r>>>23)+e|0)^e&((n=((n+=(e^t&(r^e))+o[11]+643717713)<<14|n>>>18)+r|0)^r))+o[0]-373897302)<<20|t>>>12)+n|0,t=((t+=((r=((r+=(t^n&((e=((e+=(n^r&(t^n))+o[5]-701558691)<<5|e>>>27)+t|0)^t))+o[10]+38016083)<<9|r>>>23)+e|0)^e&((n=((n+=(e^t&(r^e))+o[15]-660478335)<<14|n>>>18)+r|0)^r))+o[4]-405537848)<<20|t>>>12)+n|0,t=((t+=((r=((r+=(t^n&((e=((e+=(n^r&(t^n))+o[9]+568446438)<<5|e>>>27)+t|0)^t))+o[14]-1019803690)<<9|r>>>23)+e|0)^e&((n=((n+=(e^t&(r^e))+o[3]-187363961)<<14|n>>>18)+r|0)^r))+o[8]+1163531501)<<20|t>>>12)+n|0,t=((t+=((r=((r+=(t^n&((e=((e+=(n^r&(t^n))+o[13]-1444681467)<<5|e>>>27)+t|0)^t))+o[2]-51403784)<<9|r>>>23)+e|0)^e&((n=((n+=(e^t&(r^e))+o[7]+1735328473)<<14|n>>>18)+r|0)^r))+o[12]-1926607734)<<20|t>>>12)+n|0,t=((t+=((s=(r=((r+=((i=t^n)^(e=((e+=(i^r)+o[5]-378558)<<4|e>>>28)+t|0))+o[8]-2022574463)<<11|r>>>21)+e|0)^e)^(n=((n+=(s^t)+o[11]+1839030562)<<16|n>>>16)+r|0))+o[14]-35309556)<<23|t>>>9)+n|0,t=((t+=((s=(r=((r+=((i=t^n)^(e=((e+=(i^r)+o[1]-1530992060)<<4|e>>>28)+t|0))+o[4]+1272893353)<<11|r>>>21)+e|0)^e)^(n=((n+=(s^t)+o[7]-155497632)<<16|n>>>16)+r|0))+o[10]-1094730640)<<23|t>>>9)+n|0,t=((t+=((s=(r=((r+=((i=t^n)^(e=((e+=(i^r)+o[13]+681279174)<<4|e>>>28)+t|0))+o[0]-358537222)<<11|r>>>21)+e|0)^e)^(n=((n+=(s^t)+o[3]-722521979)<<16|n>>>16)+r|0))+o[6]+76029189)<<23|t>>>9)+n|0,t=((t+=((s=(r=((r+=((i=t^n)^(e=((e+=(i^r)+o[9]-640364487)<<4|e>>>28)+t|0))+o[12]-421815835)<<11|r>>>21)+e|0)^e)^(n=((n+=(s^t)+o[15]+530742520)<<16|n>>>16)+r|0))+o[2]-995338651)<<23|t>>>9)+n|0,t=((t+=((r=((r+=(t^((e=((e+=(n^(t|~r))+o[0]-198630844)<<6|e>>>26)+t|0)|~n))+o[7]+1126891415)<<10|r>>>22)+e|0)^((n=((n+=(e^(r|~t))+o[14]-1416354905)<<15|n>>>17)+r|0)|~e))+o[5]-57434055)<<21|t>>>11)+n|0,t=((t+=((r=((r+=(t^((e=((e+=(n^(t|~r))+o[12]+1700485571)<<6|e>>>26)+t|0)|~n))+o[3]-1894986606)<<10|r>>>22)+e|0)^((n=((n+=(e^(r|~t))+o[10]-1051523)<<15|n>>>17)+r|0)|~e))+o[1]-2054922799)<<21|t>>>11)+n|0,t=((t+=((r=((r+=(t^((e=((e+=(n^(t|~r))+o[8]+1873313359)<<6|e>>>26)+t|0)|~n))+o[15]-30611744)<<10|r>>>22)+e|0)^((n=((n+=(e^(r|~t))+o[6]-1560198380)<<15|n>>>17)+r|0)|~e))+o[13]+1309151649)<<21|t>>>11)+n|0,t=((t+=((r=((r+=(t^((e=((e+=(n^(t|~r))+o[4]-145523070)<<6|e>>>26)+t|0)|~n))+o[11]-1120210379)<<10|r>>>22)+e|0)^((n=((n+=(e^(r|~t))+o[2]+718787259)<<15|n>>>17)+r|0)|~e))+o[9]-343485551)<<21|t>>>11)+n|0,this.first?(this.h0=e+1732584193|0,this.h1=t-271733879|0,this.h2=n-1732584194|0,this.h3=r+271733878|0,this.first=!1):(this.h0=this.h0+e|0,this.h1=this.h1+t|0,this.h2=this.h2+n|0,this.h3=this.h3+r|0)},Md5.prototype.hex=function(){this.finalize();var e=this.h0,t=this.h1,n=this.h2,r=this.h3;return HEX_CHARS[e>>4&15]+HEX_CHARS[15&e]+HEX_CHARS[e>>12&15]+HEX_CHARS[e>>8&15]+HEX_CHARS[e>>20&15]+HEX_CHARS[e>>16&15]+HEX_CHARS[e>>28&15]+HEX_CHARS[e>>24&15]+HEX_CHARS[t>>4&15]+HEX_CHARS[15&t]+HEX_CHARS[t>>12&15]+HEX_CHARS[t>>8&15]+HEX_CHARS[t>>20&15]+HEX_CHARS[t>>16&15]+HEX_CHARS[t>>28&15]+HEX_CHARS[t>>24&15]+HEX_CHARS[n>>4&15]+HEX_CHARS[15&n]+HEX_CHARS[n>>12&15]+HEX_CHARS[n>>8&15]+HEX_CHARS[n>>20&15]+HEX_CHARS[n>>16&15]+HEX_CHARS[n>>28&15]+HEX_CHARS[n>>24&15]+HEX_CHARS[r>>4&15]+HEX_CHARS[15&r]+HEX_CHARS[r>>12&15]+HEX_CHARS[r>>8&15]+HEX_CHARS[r>>20&15]+HEX_CHARS[r>>16&15]+HEX_CHARS[r>>28&15]+HEX_CHARS[r>>24&15]},Md5.prototype.toString=Md5.prototype.hex,Md5.prototype.digest=function(){this.finalize();var e=this.h0,t=this.h1,n=this.h2,r=this.h3;return[255&e,e>>8&255,e>>16&255,e>>24&255,255&t,t>>8&255,t>>16&255,t>>24&255,255&n,n>>8&255,n>>16&255,n>>24&255,255&r,r>>8&255,r>>16&255,r>>24&255]},Md5.prototype.array=Md5.prototype.digest,Md5.prototype.arrayBuffer=function(){this.finalize();var e=new ArrayBuffer(16),t=new Uint32Array(e);return t[0]=this.h0,t[1]=this.h1,t[2]=this.h2,t[3]=this.h3,e},Md5.prototype.buffer=Md5.prototype.arrayBuffer,Md5.prototype.base64=function(){for(var e,t,n,r="",i=this.array(),s=0;s<15;)e=i[s++],t=i[s++],n=i[s++],r+=BASE64_ENCODE_CHAR[e>>>2]+BASE64_ENCODE_CHAR[63&(e<<4|t>>>4)]+BASE64_ENCODE_CHAR[63&(t<<2|n>>>6)]+BASE64_ENCODE_CHAR[63&n];return e=i[s],r+=BASE64_ENCODE_CHAR[e>>>2]+BASE64_ENCODE_CHAR[e<<4&63]+"=="};var exports=createMethod();COMMON_JS?module.exports=exports:(root.md5=exports,AMD&&(__WEBPACK_AMD_DEFINE_RESULT__=function(){return exports}.call(exports,__webpack_require__,exports,module),void 0===__WEBPACK_AMD_DEFINE_RESULT__||(module.exports=__WEBPACK_AMD_DEFINE_RESULT__)))})()}).call(this,__webpack_require__("./node_modules/process/browser.js"),__webpack_require__("./node_modules/webpack/buildin/global.js"))},"./node_modules/node-libs-browser/node_modules/buffer/index.js":function(e,t,n){"use strict";(function(e){var r=n("./node_modules/base64-js/index.js"),i=n("./node_modules/ieee754/index.js"),s=n("./node_modules/node-libs-browser/node_modules/isarray/index.js");function o(){return l.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function a(e,t){if(o()<t)throw new RangeError("Invalid typed array length");return l.TYPED_ARRAY_SUPPORT?(e=new Uint8Array(t)).__proto__=l.prototype:(null===e&&(e=new l(t)),e.length=t),e}function l(e,t,n){if(!(l.TYPED_ARRAY_SUPPORT||this instanceof l))return new l(e,t,n);if("number"==typeof e){if("string"==typeof t)throw new Error("If encoding is specified then the first argument must be a string");return d(this,e)}return c(this,e,t,n)}function c(e,t,n,r){if("number"==typeof t)throw new TypeError('"value" argument must not be a number');return"undefined"!=typeof ArrayBuffer&&t instanceof ArrayBuffer?function(e,t,n,r){if(t.byteLength,n<0||t.byteLength<n)throw new RangeError("'offset' is out of bounds");if(t.byteLength<n+(r||0))throw new RangeError("'length' is out of bounds");return t=void 0===n&&void 0===r?new Uint8Array(t):void 0===r?new Uint8Array(t,n):new Uint8Array(t,n,r),l.TYPED_ARRAY_SUPPORT?(e=t).__proto__=l.prototype:e=h(e,t),e}(e,t,n,r):"string"==typeof t?function(e,t,n){if("string"==typeof n&&""!==n||(n="utf8"),!l.isEncoding(n))throw new TypeError('"encoding" must be a valid string encoding');var r=0|m(t,n),i=(e=a(e,r)).write(t,n);return i!==r&&(e=e.slice(0,i)),e}(e,t,n):function(e,t){if(l.isBuffer(t)){var n=0|p(t.length);return 0===(e=a(e,n)).length||t.copy(e,0,0,n),e}if(t){if("undefined"!=typeof ArrayBuffer&&t.buffer instanceof ArrayBuffer||"length"in t)return"number"!=typeof t.length||(r=t.length)!=r?a(e,0):h(e,t);if("Buffer"===t.type&&s(t.data))return h(e,t.data)}var r;throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")}(e,t)}function u(e){if("number"!=typeof e)throw new TypeError('"size" argument must be a number');if(e<0)throw new RangeError('"size" argument must not be negative')}function d(e,t){if(u(t),e=a(e,t<0?0:0|p(t)),!l.TYPED_ARRAY_SUPPORT)for(var n=0;n<t;++n)e[n]=0;return e}function h(e,t){var n=t.length<0?0:0|p(t.length);e=a(e,n);for(var r=0;r<n;r+=1)e[r]=255&t[r];return e}function p(e){if(e>=o())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+o().toString(16)+" bytes");return 0|e}function m(e,t){if(l.isBuffer(e))return e.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;"string"!=typeof e&&(e=""+e);var n=e.length;if(0===n)return 0;for(var r=!1;;)switch(t){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":case void 0:return F(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return W(e).length;default:if(r)return F(e).length;t=(""+t).toLowerCase(),r=!0}}function f(e,t,n){var r=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return"";if((n>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return M(this,t,n);case"utf8":case"utf-8":return A(this,t,n);case"ascii":return I(this,t,n);case"latin1":case"binary":return O(this,t,n);case"base64":return E(this,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return N(this,t,n);default:if(r)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),r=!0}}function g(e,t,n){var r=e[t];e[t]=e[n],e[n]=r}function y(e,t,n,r,i){if(0===e.length)return-1;if("string"==typeof n?(r=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),n=+n,isNaN(n)&&(n=i?0:e.length-1),n<0&&(n=e.length+n),n>=e.length){if(i)return-1;n=e.length-1}else if(n<0){if(!i)return-1;n=0}if("string"==typeof t&&(t=l.from(t,r)),l.isBuffer(t))return 0===t.length?-1:b(e,t,n,r,i);if("number"==typeof t)return t&=255,l.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(e,t,n):Uint8Array.prototype.lastIndexOf.call(e,t,n):b(e,[t],n,r,i);throw new TypeError("val must be string, number or Buffer")}function b(e,t,n,r,i){var s,o=1,a=e.length,l=t.length;if(void 0!==r&&("ucs2"===(r=String(r).toLowerCase())||"ucs-2"===r||"utf16le"===r||"utf-16le"===r)){if(e.length<2||t.length<2)return-1;o=2,a/=2,l/=2,n/=2}function c(e,t){return 1===o?e[t]:e.readUInt16BE(t*o)}if(i){var u=-1;for(s=n;s<a;s++)if(c(e,s)===c(t,-1===u?0:s-u)){if(-1===u&&(u=s),s-u+1===l)return u*o}else-1!==u&&(s-=s-u),u=-1}else for(n+l>a&&(n=a-l),s=n;s>=0;s--){for(var d=!0,h=0;h<l;h++)if(c(e,s+h)!==c(t,h)){d=!1;break}if(d)return s}return-1}function v(e,t,n,r){n=Number(n)||0;var i=e.length-n;r?(r=Number(r))>i&&(r=i):r=i;var s=t.length;if(s%2!=0)throw new TypeError("Invalid hex string");r>s/2&&(r=s/2);for(var o=0;o<r;++o){var a=parseInt(t.substr(2*o,2),16);if(isNaN(a))return o;e[n+o]=a}return o}function S(e,t,n,r){return V(F(t,e.length-n),e,n,r)}function w(e,t,n,r){return V(function(e){for(var t=[],n=0;n<e.length;++n)t.push(255&e.charCodeAt(n));return t}(t),e,n,r)}function k(e,t,n,r){return w(e,t,n,r)}function x(e,t,n,r){return V(W(t),e,n,r)}function T(e,t,n,r){return V(function(e,t){for(var n,r,i,s=[],o=0;o<e.length&&!((t-=2)<0);++o)r=(n=e.charCodeAt(o))>>8,i=n%256,s.push(i),s.push(r);return s}(t,e.length-n),e,n,r)}function E(e,t,n){return 0===t&&n===e.length?r.fromByteArray(e):r.fromByteArray(e.slice(t,n))}function A(e,t,n){n=Math.min(e.length,n);for(var r=[],i=t;i<n;){var s,o,a,l,c=e[i],u=null,d=c>239?4:c>223?3:c>191?2:1;if(i+d<=n)switch(d){case 1:c<128&&(u=c);break;case 2:128==(192&(s=e[i+1]))&&(l=(31&c)<<6|63&s)>127&&(u=l);break;case 3:s=e[i+1],o=e[i+2],128==(192&s)&&128==(192&o)&&(l=(15&c)<<12|(63&s)<<6|63&o)>2047&&(l<55296||l>57343)&&(u=l);break;case 4:s=e[i+1],o=e[i+2],a=e[i+3],128==(192&s)&&128==(192&o)&&128==(192&a)&&(l=(15&c)<<18|(63&s)<<12|(63&o)<<6|63&a)>65535&&l<1114112&&(u=l)}null===u?(u=65533,d=1):u>65535&&(u-=65536,r.push(u>>>10&1023|55296),u=56320|1023&u),r.push(u),i+=d}return function(e){var t=e.length;if(t<=C)return String.fromCharCode.apply(String,e);for(var n="",r=0;r<t;)n+=String.fromCharCode.apply(String,e.slice(r,r+=C));return n}(r)}t.Buffer=l,t.SlowBuffer=function(e){return+e!=e&&(e=0),l.alloc(+e)},t.INSPECT_MAX_BYTES=50,l.TYPED_ARRAY_SUPPORT=void 0!==e.TYPED_ARRAY_SUPPORT?e.TYPED_ARRAY_SUPPORT:function(){try{var e=new Uint8Array(1);return e.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===e.foo()&&"function"==typeof e.subarray&&0===e.subarray(1,1).byteLength}catch(e){return!1}}(),t.kMaxLength=o(),l.poolSize=8192,l._augment=function(e){return e.__proto__=l.prototype,e},l.from=function(e,t,n){return c(null,e,t,n)},l.TYPED_ARRAY_SUPPORT&&(l.prototype.__proto__=Uint8Array.prototype,l.__proto__=Uint8Array,"undefined"!=typeof Symbol&&Symbol.species&&l[Symbol.species]===l&&Object.defineProperty(l,Symbol.species,{value:null,configurable:!0})),l.alloc=function(e,t,n){return function(e,t,n,r){return u(t),t<=0?a(e,t):void 0!==n?"string"==typeof r?a(e,t).fill(n,r):a(e,t).fill(n):a(e,t)}(null,e,t,n)},l.allocUnsafe=function(e){return d(null,e)},l.allocUnsafeSlow=function(e){return d(null,e)},l.isBuffer=function(e){return!(null==e||!e._isBuffer)},l.compare=function(e,t){if(!l.isBuffer(e)||!l.isBuffer(t))throw new TypeError("Arguments must be Buffers");if(e===t)return 0;for(var n=e.length,r=t.length,i=0,s=Math.min(n,r);i<s;++i)if(e[i]!==t[i]){n=e[i],r=t[i];break}return n<r?-1:r<n?1:0},l.isEncoding=function(e){switch(String(e).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},l.concat=function(e,t){if(!s(e))throw new TypeError('"list" argument must be an Array of Buffers');if(0===e.length)return l.alloc(0);var n;if(void 0===t)for(t=0,n=0;n<e.length;++n)t+=e[n].length;var r=l.allocUnsafe(t),i=0;for(n=0;n<e.length;++n){var o=e[n];if(!l.isBuffer(o))throw new TypeError('"list" argument must be an Array of Buffers');o.copy(r,i),i+=o.length}return r},l.byteLength=m,l.prototype._isBuffer=!0,l.prototype.swap16=function(){var e=this.length;if(e%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var t=0;t<e;t+=2)g(this,t,t+1);return this},l.prototype.swap32=function(){var e=this.length;if(e%4!=0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var t=0;t<e;t+=4)g(this,t,t+3),g(this,t+1,t+2);return this},l.prototype.swap64=function(){var e=this.length;if(e%8!=0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(var t=0;t<e;t+=8)g(this,t,t+7),g(this,t+1,t+6),g(this,t+2,t+5),g(this,t+3,t+4);return this},l.prototype.toString=function(){var e=0|this.length;return 0===e?"":0===arguments.length?A(this,0,e):f.apply(this,arguments)},l.prototype.equals=function(e){if(!l.isBuffer(e))throw new TypeError("Argument must be a Buffer");return this===e||0===l.compare(this,e)},l.prototype.inspect=function(){var e="",n=t.INSPECT_MAX_BYTES;return this.length>0&&(e=this.toString("hex",0,n).match(/.{2}/g).join(" "),this.length>n&&(e+=" ... ")),"<Buffer "+e+">"},l.prototype.compare=function(e,t,n,r,i){if(!l.isBuffer(e))throw new TypeError("Argument must be a Buffer");if(void 0===t&&(t=0),void 0===n&&(n=e?e.length:0),void 0===r&&(r=0),void 0===i&&(i=this.length),t<0||n>e.length||r<0||i>this.length)throw new RangeError("out of range index");if(r>=i&&t>=n)return 0;if(r>=i)return-1;if(t>=n)return 1;if(this===e)return 0;for(var s=(i>>>=0)-(r>>>=0),o=(n>>>=0)-(t>>>=0),a=Math.min(s,o),c=this.slice(r,i),u=e.slice(t,n),d=0;d<a;++d)if(c[d]!==u[d]){s=c[d],o=u[d];break}return s<o?-1:o<s?1:0},l.prototype.includes=function(e,t,n){return-1!==this.indexOf(e,t,n)},l.prototype.indexOf=function(e,t,n){return y(this,e,t,n,!0)},l.prototype.lastIndexOf=function(e,t,n){return y(this,e,t,n,!1)},l.prototype.write=function(e,t,n,r){if(void 0===t)r="utf8",n=this.length,t=0;else if(void 0===n&&"string"==typeof t)r=t,n=this.length,t=0;else{if(!isFinite(t))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");t|=0,isFinite(n)?(n|=0,void 0===r&&(r="utf8")):(r=n,n=void 0)}var i=this.length-t;if((void 0===n||n>i)&&(n=i),e.length>0&&(n<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");r||(r="utf8");for(var s=!1;;)switch(r){case"hex":return v(this,e,t,n);case"utf8":case"utf-8":return S(this,e,t,n);case"ascii":return w(this,e,t,n);case"latin1":case"binary":return k(this,e,t,n);case"base64":return x(this,e,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return T(this,e,t,n);default:if(s)throw new TypeError("Unknown encoding: "+r);r=(""+r).toLowerCase(),s=!0}},l.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var C=4096;function I(e,t,n){var r="";n=Math.min(e.length,n);for(var i=t;i<n;++i)r+=String.fromCharCode(127&e[i]);return r}function O(e,t,n){var r="";n=Math.min(e.length,n);for(var i=t;i<n;++i)r+=String.fromCharCode(e[i]);return r}function M(e,t,n){var r,i=e.length;(!t||t<0)&&(t=0),(!n||n<0||n>i)&&(n=i);for(var s="",o=t;o<n;++o)s+=(r=e[o])<16?"0"+r.toString(16):r.toString(16);return s}function N(e,t,n){for(var r=e.slice(t,n),i="",s=0;s<r.length;s+=2)i+=String.fromCharCode(r[s]+256*r[s+1]);return i}function R(e,t,n){if(e%1!=0||e<0)throw new RangeError("offset is not uint");if(e+t>n)throw new RangeError("Trying to access beyond buffer length")}function D(e,t,n,r,i,s){if(!l.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>i||t<s)throw new RangeError('"value" argument is out of bounds');if(n+r>e.length)throw new RangeError("Index out of range")}function P(e,t,n,r){t<0&&(t=65535+t+1);for(var i=0,s=Math.min(e.length-n,2);i<s;++i)e[n+i]=(t&255<<8*(r?i:1-i))>>>8*(r?i:1-i)}function L(e,t,n,r){t<0&&(t=4294967295+t+1);for(var i=0,s=Math.min(e.length-n,4);i<s;++i)e[n+i]=t>>>8*(r?i:3-i)&255}function B(e,t,n,r,i,s){if(n+r>e.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function z(e,t,n,r,s){return s||B(e,0,n,4),i.write(e,t,n,r,23,4),n+4}function U(e,t,n,r,s){return s||B(e,0,n,8),i.write(e,t,n,r,52,8),n+8}l.prototype.slice=function(e,t){var n,r=this.length;if((e=~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),(t=void 0===t?r:~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),t<e&&(t=e),l.TYPED_ARRAY_SUPPORT)(n=this.subarray(e,t)).__proto__=l.prototype;else{var i=t-e;n=new l(i,void 0);for(var s=0;s<i;++s)n[s]=this[s+e]}return n},l.prototype.readUIntLE=function(e,t,n){e|=0,t|=0,n||R(e,t,this.length);for(var r=this[e],i=1,s=0;++s<t&&(i*=256);)r+=this[e+s]*i;return r},l.prototype.readUIntBE=function(e,t,n){e|=0,t|=0,n||R(e,t,this.length);for(var r=this[e+--t],i=1;t>0&&(i*=256);)r+=this[e+--t]*i;return r},l.prototype.readUInt8=function(e,t){return t||R(e,1,this.length),this[e]},l.prototype.readUInt16LE=function(e,t){return t||R(e,2,this.length),this[e]|this[e+1]<<8},l.prototype.readUInt16BE=function(e,t){return t||R(e,2,this.length),this[e]<<8|this[e+1]},l.prototype.readUInt32LE=function(e,t){return t||R(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},l.prototype.readUInt32BE=function(e,t){return t||R(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},l.prototype.readIntLE=function(e,t,n){e|=0,t|=0,n||R(e,t,this.length);for(var r=this[e],i=1,s=0;++s<t&&(i*=256);)r+=this[e+s]*i;return r>=(i*=128)&&(r-=Math.pow(2,8*t)),r},l.prototype.readIntBE=function(e,t,n){e|=0,t|=0,n||R(e,t,this.length);for(var r=t,i=1,s=this[e+--r];r>0&&(i*=256);)s+=this[e+--r]*i;return s>=(i*=128)&&(s-=Math.pow(2,8*t)),s},l.prototype.readInt8=function(e,t){return t||R(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},l.prototype.readInt16LE=function(e,t){t||R(e,2,this.length);var n=this[e]|this[e+1]<<8;return 32768&n?4294901760|n:n},l.prototype.readInt16BE=function(e,t){t||R(e,2,this.length);var n=this[e+1]|this[e]<<8;return 32768&n?4294901760|n:n},l.prototype.readInt32LE=function(e,t){return t||R(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},l.prototype.readInt32BE=function(e,t){return t||R(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},l.prototype.readFloatLE=function(e,t){return t||R(e,4,this.length),i.read(this,e,!0,23,4)},l.prototype.readFloatBE=function(e,t){return t||R(e,4,this.length),i.read(this,e,!1,23,4)},l.prototype.readDoubleLE=function(e,t){return t||R(e,8,this.length),i.read(this,e,!0,52,8)},l.prototype.readDoubleBE=function(e,t){return t||R(e,8,this.length),i.read(this,e,!1,52,8)},l.prototype.writeUIntLE=function(e,t,n,r){e=+e,t|=0,n|=0,r||D(this,e,t,n,Math.pow(2,8*n)-1,0);var i=1,s=0;for(this[t]=255&e;++s<n&&(i*=256);)this[t+s]=e/i&255;return t+n},l.prototype.writeUIntBE=function(e,t,n,r){e=+e,t|=0,n|=0,r||D(this,e,t,n,Math.pow(2,8*n)-1,0);var i=n-1,s=1;for(this[t+i]=255&e;--i>=0&&(s*=256);)this[t+i]=e/s&255;return t+n},l.prototype.writeUInt8=function(e,t,n){return e=+e,t|=0,n||D(this,e,t,1,255,0),l.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=255&e,t+1},l.prototype.writeUInt16LE=function(e,t,n){return e=+e,t|=0,n||D(this,e,t,2,65535,0),l.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):P(this,e,t,!0),t+2},l.prototype.writeUInt16BE=function(e,t,n){return e=+e,t|=0,n||D(this,e,t,2,65535,0),l.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):P(this,e,t,!1),t+2},l.prototype.writeUInt32LE=function(e,t,n){return e=+e,t|=0,n||D(this,e,t,4,4294967295,0),l.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):L(this,e,t,!0),t+4},l.prototype.writeUInt32BE=function(e,t,n){return e=+e,t|=0,n||D(this,e,t,4,4294967295,0),l.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):L(this,e,t,!1),t+4},l.prototype.writeIntLE=function(e,t,n,r){if(e=+e,t|=0,!r){var i=Math.pow(2,8*n-1);D(this,e,t,n,i-1,-i)}var s=0,o=1,a=0;for(this[t]=255&e;++s<n&&(o*=256);)e<0&&0===a&&0!==this[t+s-1]&&(a=1),this[t+s]=(e/o|0)-a&255;return t+n},l.prototype.writeIntBE=function(e,t,n,r){if(e=+e,t|=0,!r){var i=Math.pow(2,8*n-1);D(this,e,t,n,i-1,-i)}var s=n-1,o=1,a=0;for(this[t+s]=255&e;--s>=0&&(o*=256);)e<0&&0===a&&0!==this[t+s+1]&&(a=1),this[t+s]=(e/o|0)-a&255;return t+n},l.prototype.writeInt8=function(e,t,n){return e=+e,t|=0,n||D(this,e,t,1,127,-128),l.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=255&e,t+1},l.prototype.writeInt16LE=function(e,t,n){return e=+e,t|=0,n||D(this,e,t,2,32767,-32768),l.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):P(this,e,t,!0),t+2},l.prototype.writeInt16BE=function(e,t,n){return e=+e,t|=0,n||D(this,e,t,2,32767,-32768),l.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):P(this,e,t,!1),t+2},l.prototype.writeInt32LE=function(e,t,n){return e=+e,t|=0,n||D(this,e,t,4,2147483647,-2147483648),l.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):L(this,e,t,!0),t+4},l.prototype.writeInt32BE=function(e,t,n){return e=+e,t|=0,n||D(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),l.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):L(this,e,t,!1),t+4},l.prototype.writeFloatLE=function(e,t,n){return z(this,e,t,!0,n)},l.prototype.writeFloatBE=function(e,t,n){return z(this,e,t,!1,n)},l.prototype.writeDoubleLE=function(e,t,n){return U(this,e,t,!0,n)},l.prototype.writeDoubleBE=function(e,t,n){return U(this,e,t,!1,n)},l.prototype.copy=function(e,t,n,r){if(n||(n=0),r||0===r||(r=this.length),t>=e.length&&(t=e.length),t||(t=0),r>0&&r<n&&(r=n),r===n)return 0;if(0===e.length||0===this.length)return 0;if(t<0)throw new RangeError("targetStart out of bounds");if(n<0||n>=this.length)throw new RangeError("sourceStart out of bounds");if(r<0)throw new RangeError("sourceEnd out of bounds");r>this.length&&(r=this.length),e.length-t<r-n&&(r=e.length-t+n);var i,s=r-n;if(this===e&&n<t&&t<r)for(i=s-1;i>=0;--i)e[i+t]=this[i+n];else if(s<1e3||!l.TYPED_ARRAY_SUPPORT)for(i=0;i<s;++i)e[i+t]=this[i+n];else Uint8Array.prototype.set.call(e,this.subarray(n,n+s),t);return s},l.prototype.fill=function(e,t,n,r){if("string"==typeof e){if("string"==typeof t?(r=t,t=0,n=this.length):"string"==typeof n&&(r=n,n=this.length),1===e.length){var i=e.charCodeAt(0);i<256&&(e=i)}if(void 0!==r&&"string"!=typeof r)throw new TypeError("encoding must be a string");if("string"==typeof r&&!l.isEncoding(r))throw new TypeError("Unknown encoding: "+r)}else"number"==typeof e&&(e&=255);if(t<0||this.length<t||this.length<n)throw new RangeError("Out of range index");if(n<=t)return this;var s;if(t>>>=0,n=void 0===n?this.length:n>>>0,e||(e=0),"number"==typeof e)for(s=t;s<n;++s)this[s]=e;else{var o=l.isBuffer(e)?e:F(new l(e,r).toString()),a=o.length;for(s=0;s<n-t;++s)this[s+t]=o[s%a]}return this};var j=/[^+\/0-9A-Za-z-_]/g;function F(e,t){var n;t=t||1/0;for(var r=e.length,i=null,s=[],o=0;o<r;++o){if((n=e.charCodeAt(o))>55295&&n<57344){if(!i){if(n>56319){(t-=3)>-1&&s.push(239,191,189);continue}if(o+1===r){(t-=3)>-1&&s.push(239,191,189);continue}i=n;continue}if(n<56320){(t-=3)>-1&&s.push(239,191,189),i=n;continue}n=65536+(i-55296<<10|n-56320)}else i&&(t-=3)>-1&&s.push(239,191,189);if(i=null,n<128){if((t-=1)<0)break;s.push(n)}else if(n<2048){if((t-=2)<0)break;s.push(n>>6|192,63&n|128)}else if(n<65536){if((t-=3)<0)break;s.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;s.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return s}function W(e){return r.toByteArray(function(e){if((e=function(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}(e).replace(j,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function V(e,t,n,r){for(var i=0;i<r&&!(i+n>=t.length||i>=e.length);++i)t[i+n]=e[i];return i}}).call(this,n("./node_modules/webpack/buildin/global.js"))},"./node_modules/node-libs-browser/node_modules/isarray/index.js":function(e,t){var n={}.toString;e.exports=Array.isArray||function(e){return"[object Array]"==n.call(e)}},"./node_modules/process/browser.js":function(e,t){var n,r,i=e.exports={};function s(){throw new Error("setTimeout has not been defined")}function o(){throw new Error("clearTimeout has not been defined")}function a(e){if(n===setTimeout)return setTimeout(e,0);if((n===s||!n)&&setTimeout)return n=setTimeout,setTimeout(e,0);try{return n(e,0)}catch(t){try{return n.call(null,e,0)}catch(t){return n.call(this,e,0)}}}!function(){try{n="function"==typeof setTimeout?setTimeout:s}catch(e){n=s}try{r="function"==typeof clearTimeout?clearTimeout:o}catch(e){r=o}}();var l,c=[],u=!1,d=-1;function h(){u&&l&&(u=!1,l.length?c=l.concat(c):d=-1,c.length&&p())}function p(){if(!u){var e=a(h);u=!0;for(var t=c.length;t;){for(l=c,c=[];++d<t;)l&&l[d].run();d=-1,t=c.length}l=null,u=!1,function(e){if(r===clearTimeout)return clearTimeout(e);if((r===o||!r)&&clearTimeout)return r=clearTimeout,clearTimeout(e);try{return r(e)}catch(t){try{return r.call(null,e)}catch(t){return r.call(this,e)}}}(e)}}function m(e,t){this.fun=e,this.array=t}function f(){}i.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)t[n-1]=arguments[n];c.push(new m(e,t)),1!==c.length||u||a(p)},m.prototype.run=function(){this.fun.apply(null,this.array)},i.title="browser",i.browser=!0,i.env={},i.argv=[],i.version="",i.versions={},i.on=f,i.addListener=f,i.once=f,i.off=f,i.removeListener=f,i.removeAllListeners=f,i.emit=f,i.prependListener=f,i.prependOnceListener=f,i.listeners=function(e){return[]},i.binding=function(e){throw new Error("process.binding is not supported")},i.cwd=function(){return"/"},i.chdir=function(e){throw new Error("process.chdir is not supported")},i.umask=function(){return 0}},"./node_modules/webpack/buildin/amd-options.js":function(e,t){(function(t){e.exports=t}).call(this,{})},"./node_modules/webpack/buildin/global.js":function(e,t){var n;n=function(){return this}();try{n=n||new Function("return this")()}catch(e){"object"==typeof window&&(n=window)}e.exports=n},'./node_modules/worker-loader/dist/cjs.js?{"inline":true,"fallback":true}!./src/FetchWorkerTool.worker.js':function(e,t,n){e.exports=function(){return n("./node_modules/worker-loader/dist/workers/InlineWorker.js")("/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__webpack_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__webpack_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = \"./node_modules/babel-loader/lib/index.js?!./src/FetchWorkerTool.worker.js\");\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ \"./node_modules/babel-loader/lib/index.js?!./src/FetchWorkerTool.worker.js\":\n/*!*******************************************************************************!*\\\n !*** ./node_modules/babel-loader/lib??ref--4!./src/FetchWorkerTool.worker.js ***!\n \\*******************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n/* eslint-env worker */\n\nconst isNullResponse = __webpack_require__(/*! ./isNullResponse */ \"./src/isNullResponse.js\");\nconst saferFetch = __webpack_require__(/*! ./safer-fetch */ \"./src/safer-fetch.js\");\nconst complete = [];\nlet timeoutId = null;\nconst checkCompleted = () => {\n if (timeoutId) return;\n timeoutId = setTimeout(() => {\n timeoutId = null;\n if (complete.length) {\n // Send our chunk of completed requests and instruct postMessage to\n // transfer the buffers instead of copying them.\n postMessage(complete.slice(),\n // Instruct postMessage that these buffers in the sent message\n // should use their Transferable trait. After the postMessage\n // call the \"buffers\" will still be in complete if you looked,\n // but they will all be length 0 as the data they reference has\n // been sent to the window. This lets us send a lot of data\n // without the normal postMessage behaviour of making a copy of\n // all of the data for the window.\n complete.map(response => response.buffer).filter(Boolean));\n complete.length = 0;\n }\n });\n};\n\n/**\n * Receive a job from the parent and fetch the requested data.\n * @param {object} options.job A job id, url, and options descriptor to perform.\n */\nconst onMessage = _ref => {\n let {\n data: job\n } = _ref;\n saferFetch(job.url, job.options).then(result => {\n if (result.ok) return result.arrayBuffer();\n if (isNullResponse(result)) return null;\n return Promise.reject(result.status);\n }).then(buffer => complete.push({\n id: job.id,\n buffer\n })).catch(error => complete.push({\n id: job.id,\n error: error && error.message || \"Failed request: \".concat(job.url)\n })).then(checkCompleted);\n};\n\n// crossFetch means \"fetch\" is now always supported\npostMessage({\n support: {\n fetch: true\n }\n});\nself.addEventListener('message', onMessage);\n\n/***/ }),\n\n/***/ \"./node_modules/cross-fetch/dist/browser-ponyfill.js\":\n/*!***********************************************************!*\\\n !*** ./node_modules/cross-fetch/dist/browser-ponyfill.js ***!\n \\***********************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nvar global = typeof self !== 'undefined' ? self : this;\nvar __self__ = (function () {\nfunction F() {\nthis.fetch = false;\nthis.DOMException = global.DOMException\n}\nF.prototype = global;\nreturn new F();\n})();\n(function(self) {\n\nvar irrelevant = (function (exports) {\n\n var support = {\n searchParams: 'URLSearchParams' in self,\n iterable: 'Symbol' in self && 'iterator' in Symbol,\n blob:\n 'FileReader' in self &&\n 'Blob' in self &&\n (function() {\n try {\n new Blob();\n return true\n } catch (e) {\n return false\n }\n })(),\n formData: 'FormData' in self,\n arrayBuffer: 'ArrayBuffer' in self\n };\n\n function isDataView(obj) {\n return obj && DataView.prototype.isPrototypeOf(obj)\n }\n\n if (support.arrayBuffer) {\n var viewClasses = [\n '[object Int8Array]',\n '[object Uint8Array]',\n '[object Uint8ClampedArray]',\n '[object Int16Array]',\n '[object Uint16Array]',\n '[object Int32Array]',\n '[object Uint32Array]',\n '[object Float32Array]',\n '[object Float64Array]'\n ];\n\n var isArrayBufferView =\n ArrayBuffer.isView ||\n function(obj) {\n return obj && viewClasses.indexOf(Object.prototype.toString.call(obj)) > -1\n };\n }\n\n function normalizeName(name) {\n if (typeof name !== 'string') {\n name = String(name);\n }\n if (/[^a-z0-9\\-#$%&'*+.^_`|~]/i.test(name)) {\n throw new TypeError('Invalid character in header field name')\n }\n return name.toLowerCase()\n }\n\n function normalizeValue(value) {\n if (typeof value !== 'string') {\n value = String(value);\n }\n return value\n }\n\n // Build a destructive iterator for the value list\n function iteratorFor(items) {\n var iterator = {\n next: function() {\n var value = items.shift();\n return {done: value === undefined, value: value}\n }\n };\n\n if (support.iterable) {\n iterator[Symbol.iterator] = function() {\n return iterator\n };\n }\n\n return iterator\n }\n\n function Headers(headers) {\n this.map = {};\n\n if (headers instanceof Headers) {\n headers.forEach(function(value, name) {\n this.append(name, value);\n }, this);\n } else if (Array.isArray(headers)) {\n headers.forEach(function(header) {\n this.append(header[0], header[1]);\n }, this);\n } else if (headers) {\n Object.getOwnPropertyNames(headers).forEach(function(name) {\n this.append(name, headers[name]);\n }, this);\n }\n }\n\n Headers.prototype.append = function(name, value) {\n name = normalizeName(name);\n value = normalizeValue(value);\n var oldValue = this.map[name];\n this.map[name] = oldValue ? oldValue + ', ' + value : value;\n };\n\n Headers.prototype['delete'] = function(name) {\n delete this.map[normalizeName(name)];\n };\n\n Headers.prototype.get = function(name) {\n name = normalizeName(name);\n return this.has(name) ? this.map[name] : null\n };\n\n Headers.prototype.has = function(name) {\n return this.map.hasOwnProperty(normalizeName(name))\n };\n\n Headers.prototype.set = function(name, value) {\n this.map[normalizeName(name)] = normalizeValue(value);\n };\n\n Headers.prototype.forEach = function(callback, thisArg) {\n for (var name in this.map) {\n if (this.map.hasOwnProperty(name)) {\n callback.call(thisArg, this.map[name], name, this);\n }\n }\n };\n\n Headers.prototype.keys = function() {\n var items = [];\n this.forEach(function(value, name) {\n items.push(name);\n });\n return iteratorFor(items)\n };\n\n Headers.prototype.values = function() {\n var items = [];\n this.forEach(function(value) {\n items.push(value);\n });\n return iteratorFor(items)\n };\n\n Headers.prototype.entries = function() {\n var items = [];\n this.forEach(function(value, name) {\n items.push([name, value]);\n });\n return iteratorFor(items)\n };\n\n if (support.iterable) {\n Headers.prototype[Symbol.iterator] = Headers.prototype.entries;\n }\n\n function consumed(body) {\n if (body.bodyUsed) {\n return Promise.reject(new TypeError('Already read'))\n }\n body.bodyUsed = true;\n }\n\n function fileReaderReady(reader) {\n return new Promise(function(resolve, reject) {\n reader.onload = function() {\n resolve(reader.result);\n };\n reader.onerror = function() {\n reject(reader.error);\n };\n })\n }\n\n function readBlobAsArrayBuffer(blob) {\n var reader = new FileReader();\n var promise = fileReaderReady(reader);\n reader.readAsArrayBuffer(blob);\n return promise\n }\n\n function readBlobAsText(blob) {\n var reader = new FileReader();\n var promise = fileReaderReady(reader);\n reader.readAsText(blob);\n return promise\n }\n\n function readArrayBufferAsText(buf) {\n var view = new Uint8Array(buf);\n var chars = new Array(view.length);\n\n for (var i = 0; i < view.length; i++) {\n chars[i] = String.fromCharCode(view[i]);\n }\n return chars.join('')\n }\n\n function bufferClone(buf) {\n if (buf.slice) {\n return buf.slice(0)\n } else {\n var view = new Uint8Array(buf.byteLength);\n view.set(new Uint8Array(buf));\n return view.buffer\n }\n }\n\n function Body() {\n this.bodyUsed = false;\n\n this._initBody = function(body) {\n this._bodyInit = body;\n if (!body) {\n this._bodyText = '';\n } else if (typeof body === 'string') {\n this._bodyText = body;\n } else if (support.blob && Blob.prototype.isPrototypeOf(body)) {\n this._bodyBlob = body;\n } else if (support.formData && FormData.prototype.isPrototypeOf(body)) {\n this._bodyFormData = body;\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this._bodyText = body.toString();\n } else if (support.arrayBuffer && support.blob && isDataView(body)) {\n this._bodyArrayBuffer = bufferClone(body.buffer);\n // IE 10-11 can't handle a DataView body.\n this._bodyInit = new Blob([this._bodyArrayBuffer]);\n } else if (support.arrayBuffer && (ArrayBuffer.prototype.isPrototypeOf(body) || isArrayBufferView(body))) {\n this._bodyArrayBuffer = bufferClone(body);\n } else {\n this._bodyText = body = Object.prototype.toString.call(body);\n }\n\n if (!this.headers.get('content-type')) {\n if (typeof body === 'string') {\n this.headers.set('content-type', 'text/plain;charset=UTF-8');\n } else if (this._bodyBlob && this._bodyBlob.type) {\n this.headers.set('content-type', this._bodyBlob.type);\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this.headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8');\n }\n }\n };\n\n if (support.blob) {\n this.blob = function() {\n var rejected = consumed(this);\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return Promise.resolve(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(new Blob([this._bodyArrayBuffer]))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as blob')\n } else {\n return Promise.resolve(new Blob([this._bodyText]))\n }\n };\n\n this.arrayBuffer = function() {\n if (this._bodyArrayBuffer) {\n return consumed(this) || Promise.resolve(this._bodyArrayBuffer)\n } else {\n return this.blob().then(readBlobAsArrayBuffer)\n }\n };\n }\n\n this.text = function() {\n var rejected = consumed(this);\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return readBlobAsText(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(readArrayBufferAsText(this._bodyArrayBuffer))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as text')\n } else {\n return Promise.resolve(this._bodyText)\n }\n };\n\n if (support.formData) {\n this.formData = function() {\n return this.text().then(decode)\n };\n }\n\n this.json = function() {\n return this.text().then(JSON.parse)\n };\n\n return this\n }\n\n // HTTP methods whose capitalization should be normalized\n var methods = ['DELETE', 'GET', 'HEAD', 'OPTIONS', 'POST', 'PUT'];\n\n function normalizeMethod(method) {\n var upcased = method.toUpperCase();\n return methods.indexOf(upcased) > -1 ? upcased : method\n }\n\n function Request(input, options) {\n options = options || {};\n var body = options.body;\n\n if (input instanceof Request) {\n if (input.bodyUsed) {\n throw new TypeError('Already read')\n }\n this.url = input.url;\n this.credentials = input.credentials;\n if (!options.headers) {\n this.headers = new Headers(input.headers);\n }\n this.method = input.method;\n this.mode = input.mode;\n this.signal = input.signal;\n if (!body && input._bodyInit != null) {\n body = input._bodyInit;\n input.bodyUsed = true;\n }\n } else {\n this.url = String(input);\n }\n\n this.credentials = options.credentials || this.credentials || 'same-origin';\n if (options.headers || !this.headers) {\n this.headers = new Headers(options.headers);\n }\n this.method = normalizeMethod(options.method || this.method || 'GET');\n this.mode = options.mode || this.mode || null;\n this.signal = options.signal || this.signal;\n this.referrer = null;\n\n if ((this.method === 'GET' || this.method === 'HEAD') && body) {\n throw new TypeError('Body not allowed for GET or HEAD requests')\n }\n this._initBody(body);\n }\n\n Request.prototype.clone = function() {\n return new Request(this, {body: this._bodyInit})\n };\n\n function decode(body) {\n var form = new FormData();\n body\n .trim()\n .split('&')\n .forEach(function(bytes) {\n if (bytes) {\n var split = bytes.split('=');\n var name = split.shift().replace(/\\+/g, ' ');\n var value = split.join('=').replace(/\\+/g, ' ');\n form.append(decodeURIComponent(name), decodeURIComponent(value));\n }\n });\n return form\n }\n\n function parseHeaders(rawHeaders) {\n var headers = new Headers();\n // Replace instances of \\r\\n and \\n followed by at least one space or horizontal tab with a space\n // https://tools.ietf.org/html/rfc7230#section-3.2\n var preProcessedHeaders = rawHeaders.replace(/\\r?\\n[\\t ]+/g, ' ');\n preProcessedHeaders.split(/\\r?\\n/).forEach(function(line) {\n var parts = line.split(':');\n var key = parts.shift().trim();\n if (key) {\n var value = parts.join(':').trim();\n headers.append(key, value);\n }\n });\n return headers\n }\n\n Body.call(Request.prototype);\n\n function Response(bodyInit, options) {\n if (!options) {\n options = {};\n }\n\n this.type = 'default';\n this.status = options.status === undefined ? 200 : options.status;\n this.ok = this.status >= 200 && this.status < 300;\n this.statusText = 'statusText' in options ? options.statusText : 'OK';\n this.headers = new Headers(options.headers);\n this.url = options.url || '';\n this._initBody(bodyInit);\n }\n\n Body.call(Response.prototype);\n\n Response.prototype.clone = function() {\n return new Response(this._bodyInit, {\n status: this.status,\n statusText: this.statusText,\n headers: new Headers(this.headers),\n url: this.url\n })\n };\n\n Response.error = function() {\n var response = new Response(null, {status: 0, statusText: ''});\n response.type = 'error';\n return response\n };\n\n var redirectStatuses = [301, 302, 303, 307, 308];\n\n Response.redirect = function(url, status) {\n if (redirectStatuses.indexOf(status) === -1) {\n throw new RangeError('Invalid status code')\n }\n\n return new Response(null, {status: status, headers: {location: url}})\n };\n\n exports.DOMException = self.DOMException;\n try {\n new exports.DOMException();\n } catch (err) {\n exports.DOMException = function(message, name) {\n this.message = message;\n this.name = name;\n var error = Error(message);\n this.stack = error.stack;\n };\n exports.DOMException.prototype = Object.create(Error.prototype);\n exports.DOMException.prototype.constructor = exports.DOMException;\n }\n\n function fetch(input, init) {\n return new Promise(function(resolve, reject) {\n var request = new Request(input, init);\n\n if (request.signal && request.signal.aborted) {\n return reject(new exports.DOMException('Aborted', 'AbortError'))\n }\n\n var xhr = new XMLHttpRequest();\n\n function abortXhr() {\n xhr.abort();\n }\n\n xhr.onload = function() {\n var options = {\n status: xhr.status,\n statusText: xhr.statusText,\n headers: parseHeaders(xhr.getAllResponseHeaders() || '')\n };\n options.url = 'responseURL' in xhr ? xhr.responseURL : options.headers.get('X-Request-URL');\n var body = 'response' in xhr ? xhr.response : xhr.responseText;\n resolve(new Response(body, options));\n };\n\n xhr.onerror = function() {\n reject(new TypeError('Network request failed'));\n };\n\n xhr.ontimeout = function() {\n reject(new TypeError('Network request failed'));\n };\n\n xhr.onabort = function() {\n reject(new exports.DOMException('Aborted', 'AbortError'));\n };\n\n xhr.open(request.method, request.url, true);\n\n if (request.credentials === 'include') {\n xhr.withCredentials = true;\n } else if (request.credentials === 'omit') {\n xhr.withCredentials = false;\n }\n\n if ('responseType' in xhr && support.blob) {\n xhr.responseType = 'blob';\n }\n\n request.headers.forEach(function(value, name) {\n xhr.setRequestHeader(name, value);\n });\n\n if (request.signal) {\n request.signal.addEventListener('abort', abortXhr);\n\n xhr.onreadystatechange = function() {\n // DONE (success or failure)\n if (xhr.readyState === 4) {\n request.signal.removeEventListener('abort', abortXhr);\n }\n };\n }\n\n xhr.send(typeof request._bodyInit === 'undefined' ? null : request._bodyInit);\n })\n }\n\n fetch.polyfill = true;\n\n if (!self.fetch) {\n self.fetch = fetch;\n self.Headers = Headers;\n self.Request = Request;\n self.Response = Response;\n }\n\n exports.Headers = Headers;\n exports.Request = Request;\n exports.Response = Response;\n exports.fetch = fetch;\n\n Object.defineProperty(exports, '__esModule', { value: true });\n\n return exports;\n\n})({});\n})(__self__);\n__self__.fetch.ponyfill = true;\n// Remove \"polyfill\" property added by whatwg-fetch\ndelete __self__.fetch.polyfill;\n// Choose between native implementation (global) or custom implementation (__self__)\n// var ctx = global.fetch ? global : __self__;\nvar ctx = __self__; // this line disable service worker support temporarily\nexports = ctx.fetch // To enable: import fetch from 'cross-fetch'\nexports.default = ctx.fetch // For TypeScript consumers without esModuleInterop.\nexports.fetch = ctx.fetch // To enable: import {fetch} from 'cross-fetch'\nexports.Headers = ctx.Headers\nexports.Request = ctx.Request\nexports.Response = ctx.Response\nmodule.exports = exports\n\n\n/***/ }),\n\n/***/ \"./src/isNullResponse.js\":\n/*!*******************************!*\\\n !*** ./src/isNullResponse.js ***!\n \\*******************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\n/**\n * @param {Response} response the response from fetch()\n * @returns {boolean} true if the response is a \"null response\" where we successfully talked to the\n * source, but the source has no data for us.\n */\nconst isNullResponse = response =>\n// can't access, eg. due to expired/missing project token\nresponse.status === 403 ||\n// assets does not exist\n// assets.scratch.mit.edu also returns 503 for missing assets\nresponse.status === 404 || response.status === 503;\nmodule.exports = isNullResponse;\n\n/***/ }),\n\n/***/ \"./src/safer-fetch.js\":\n/*!****************************!*\\\n !*** ./src/safer-fetch.js ***!\n \\****************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n/* eslint-disable no-use-before-define */\n\nconst {\n scratchFetch\n} = __webpack_require__(/*! ./scratchFetch */ \"./src/scratchFetch.js\");\n\n// This throttles and retries scratchFetch() to mitigate the effect of random network errors and\n// random browser errors (especially in Chrome)\n\nlet currentFetches = 0;\nconst queue = [];\nconst sleep = ms => new Promise(resolve => setTimeout(resolve, ms));\nconst startNextFetch = _ref => {\n let [resolve, url, options] = _ref;\n let firstError;\n let failedAttempts = 0;\n\n /**\n * @param {Response} result From fetch()\n */\n const done = result => {\n // In macOS WKWebView, requests to file:// URLs return status: 0 and ok: false when they succeed, so we'll\n // mess with the object so everyone that uses this realizes it succeeded.\n // If the requests failed (because the file didn't exist) then fetch() rejects instead.\n if (result.status === 0) {\n Object.defineProperty(result, 'ok', {\n value: true\n });\n Object.defineProperty(result, 'status', {\n value: 200\n });\n }\n currentFetches--;\n checkStartNextFetch();\n resolve(result);\n };\n const attemptToFetch = () => scratchFetch(url, options).then(done).catch(error => {\n // If fetch() errors, it means there was a network error of some sort.\n // This is worth retrying, especially as some browser will randomly fail requests\n // if we send too many at once (as we do).\n\n console.warn(\"Attempt to fetch \".concat(url, \" failed\"), error);\n if (!firstError) {\n firstError = error;\n }\n if (failedAttempts < 2) {\n failedAttempts++;\n sleep((failedAttempts + Math.random() - 1) * 5000).then(attemptToFetch);\n return;\n }\n done(Promise.reject(firstError));\n });\n attemptToFetch();\n};\nconst checkStartNextFetch = () => {\n if (currentFetches < 100 && queue.length > 0) {\n currentFetches++;\n startNextFetch(queue.shift());\n }\n};\nconst saferFetch = (url, options) => new Promise(resolve => {\n queue.push([resolve, url, options]);\n checkStartNextFetch();\n});\nmodule.exports = saferFetch;\n\n/***/ }),\n\n/***/ \"./src/scratchFetch.js\":\n/*!*****************************!*\\\n !*** ./src/scratchFetch.js ***!\n \\*****************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nconst crossFetch = __webpack_require__(/*! cross-fetch */ \"./node_modules/cross-fetch/dist/browser-ponyfill.js\");\n\n/**\n * Metadata header names\n * @enum {string} The enum value is the name of the associated header.\n * @readonly\n */\nconst RequestMetadata = {\n /** The ID of the project associated with this request */\n ProjectId: 'X-Project-ID',\n /** The ID of the project run associated with this request */\n RunId: 'X-Run-ID'\n};\n\n/**\n * Metadata headers for requests\n * @type {Headers}\n */\nconst metadata = new crossFetch.Headers();\n\n/**\n * Check if there is any metadata to apply.\n * @returns {boolean} true if `metadata` has contents, or false if it is empty.\n */\nconst hasMetadata = () => {\n /* global self */\n const searchParams = typeof self !== 'undefined' && self && self.location && self.location.search && self.location.search.split(/[?&]/) || [];\n if (!searchParams.includes('scratchMetadata=1')) {\n // for now, disable this feature unless scratchMetadata=1\n // TODO: remove this check once we're sure the feature works correctly in production\n return false;\n }\n for (const _ of metadata) {\n return true;\n }\n return false;\n};\n\n/**\n * Non-destructively merge any metadata state (if any) with the provided options object (if any).\n * If there is metadata state but no options object is provided, make a new object.\n * If there is no metadata state, return the provided options parameter without modification.\n * If there is metadata and an options object is provided, modify a copy and return it.\n * Headers in the provided options object may override headers generated from metadata state.\n * @param {RequestInit} [options] The initial request options. May be null or undefined.\n * @returns {RequestInit|undefined} the provided options parameter without modification, or a new options object.\n */\nconst applyMetadata = options => {\n if (hasMetadata()) {\n const augmentedOptions = Object.assign({}, options);\n augmentedOptions.headers = new crossFetch.Headers(metadata);\n if (options && options.headers) {\n // the Fetch spec says options.headers could be:\n // \"A Headers object, an object literal, or an array of two-item arrays to set request's headers.\"\n // turn it into a Headers object to be sure of how to interact with it\n const overrideHeaders = options.headers instanceof crossFetch.Headers ? options.headers : new crossFetch.Headers(options.headers);\n for (const [name, value] of overrideHeaders.entries()) {\n augmentedOptions.headers.set(name, value);\n }\n }\n return augmentedOptions;\n }\n return options;\n};\n\n/**\n * Make a network request.\n * This is a wrapper for the global fetch method, adding some Scratch-specific functionality.\n * @param {RequestInfo|URL} resource The resource to fetch.\n * @param {RequestInit} options Optional object containing custom settings for this request.\n * @see {@link https://developer.mozilla.org/docs/Web/API/fetch} for more about the fetch API.\n * @returns {Promise<Response>} A promise for the response to the request.\n */\nconst scratchFetch = (resource, options) => {\n const augmentedOptions = applyMetadata(options);\n return crossFetch.fetch(resource, augmentedOptions);\n};\n\n/**\n * Set the value of a named request metadata item.\n * Setting the value to `null` or `undefined` will NOT remove the item.\n * Use `unsetMetadata` for that.\n * @param {RequestMetadata} name The name of the metadata item to set.\n * @param {any} value The value to set (will be converted to a string).\n */\nconst setMetadata = (name, value) => {\n metadata.set(name, value);\n};\n\n/**\n * Remove a named request metadata item.\n * @param {RequestMetadata} name The name of the metadata item to remove.\n */\nconst unsetMetadata = name => {\n metadata.delete(name);\n};\nmodule.exports = {\n default: scratchFetch,\n Headers: crossFetch.Headers,\n RequestMetadata,\n applyMetadata,\n scratchFetch,\n setMetadata,\n unsetMetadata\n};\nif (true) {\n /**\n * Retrieve a named request metadata item.\n * Only for use in tests.\n * @param {RequestMetadata} name The name of the metadata item to retrieve.\n * @returns {any} value The value of the metadata item, or `undefined` if it was not found.\n */\n const getMetadata = name => metadata.get(name);\n module.exports.getMetadata = getMetadata;\n}\n\n/***/ })\n\n/******/ });\n//# sourceMappingURL=4a88156e88c04ad26c62.worker.js.map",n.p+"4a88156e88c04ad26c62.worker.js")}},"./node_modules/worker-loader/dist/workers/InlineWorker.js":function(e,t,n){"use strict";var r=window.URL||window.webkitURL;e.exports=function(e,t){try{try{var n;try{(n=new(window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder||window.MSBlobBuilder)).append(e),n=n.getBlob()}catch(t){n=new Blob([e])}return new Worker(r.createObjectURL(n))}catch(t){return new Worker("data:application/javascript,"+encodeURIComponent(e))}}catch(e){if(!t)throw Error("Inline worker is not supported");return new Worker(t)}}},"./src/Asset.js":function(e,t,n){"undefined"!=typeof TextDecoder&&"undefined"!=typeof TextEncoder||n("./node_modules/fastestsmallesttextencoderdecoder/EncoderDecoderTogether.min.js");const r=n("./node_modules/js-md5/src/md5.js");let i=null;const s={},o={},a="function"==typeof FinalizationRegistry?new FinalizationRegistry((e=>{const t=o[e];1===t?(delete o[e],delete s[e]):o[e]=t-1})):null,l=a?e=>{const t=e.assetId,n=o[t]||0;o[t]=n+1,a.register(e,t)}:()=>{};e.exports=class{constructor(e,t,n,r,i){this.assetType=e,this.assetId=t,this.setData(r,n||e.runtimeFormat,i),this.dependencies=[],l(this)}setData(e,t,n){if(e&&!t)throw new Error("Data provided without specifying its format");this.dataFormat=t,this.data=e,n&&(this.assetId=r(e)),this.clean=!n}decodeText(){return(new TextDecoder).decode(this.data)}encodeTextData(e,t,n){const r=new TextEncoder;this.setData(r.encode(e),t,n)}encodeDataURI(e){return e=e||this.assetType.contentType,"data:".concat(e,";base64,").concat(((e,t)=>{if(!Object.prototype.hasOwnProperty.call(s,e))if("undefined"==typeof btoa){const r=n("./node_modules/base64-js/index.js");s[e]=r.fromByteArray(t)}else{if(null===i){i=new Array(256);for(let e=0;e<256;e++)i[e]=String.fromCharCode(e)}const{length:n}=t;let r="";for(let e=0,s=0;e<n;e=s){s=Math.min(s+32766,n);let o="";for(let n=e;n<s;n+=1)o+=i[t[n]];r+=btoa(o)}s[e]=r}return s[e]})(this.assetId,this.data))}}},"./src/AssetType.js":function(e,t,n){const r=n("./src/DataFormat.js"),i={ImageBitmap:{contentType:"image/png",name:"ImageBitmap",runtimeFormat:r.PNG,immutable:!0},ImageVector:{contentType:"image/svg+xml",name:"ImageVector",runtimeFormat:r.SVG,immutable:!0},Project:{contentType:"application/json",name:"Project",runtimeFormat:r.JSON,immutable:!1},Sound:{contentType:"audio/x-wav",name:"Sound",runtimeFormat:r.WAV,immutable:!0},Sprite:{contentType:"application/json",name:"Sprite",runtimeFormat:r.JSON,immutable:!0},Font:{contentType:"font/ttf",name:"Font",runtimeFormat:r.TTF,immutable:!0}};e.exports=i},"./src/BuiltinHelper.js":function(e,t,n){(function(t){const r=n("./node_modules/js-md5/src/md5.js"),i=n("./src/Asset.js"),s=n("./src/AssetType.js"),o=n("./src/DataFormat.js"),a=n("./src/Helper.js"),l=[{type:s.ImageBitmap,format:o.PNG,id:null,data:t.from(n("./src/builtins/defaultBitmap.png"))},{type:s.Sound,format:o.WAV,id:null,data:t.from(n("./src/builtins/defaultSound.wav"))},{type:s.ImageVector,format:o.SVG,id:null,data:t.from(n("./src/builtins/defaultVector.svg"))}],c=l.concat([]);e.exports=class extends a{constructor(e){super(e),this.assets={},c.forEach((e=>{e.id=this._store(e.type,e.format,e.data,e.id)}))}registerDefaultAssets(){const e=l.length;for(let t=0;t<e;++t){const e=l[t];this.parent.setDefaultAssetId(e.type,e.id)}}get(e){let t=null;if(Object.prototype.hasOwnProperty.call(this.assets,e)){const n=this.assets[e];t=new i(n.type,n.id,n.format,n.data)}return t}cache(e,t,n,r){return this.store(e,t,n,r)}store(e,t,n,r){return this._store(e,t,n,r)}_store(e,t,n,i){if(!t)throw new Error("Data cached without specifying its format");if(""!==i&&null!=i){if(Object.prototype.hasOwnProperty.call(this.assets,i)&&e.immutable)return i}else{if(!e.immutable)throw new Error("Tried to cache data without an id");i=r(n)}return this.assets[i]={type:e,format:t,id:i,data:n},i}load(e,t){return this.get(t)?Promise.resolve(this.get(t)):null}}}).call(this,n("./node_modules/node-libs-browser/node_modules/buffer/index.js").Buffer)},"./src/DataFormat.js":function(e,t){e.exports={JPG:"jpg",JSON:"json",MP3:"mp3",PNG:"png",SB2:"sb2",SB3:"sb3",SVG:"svg",WAV:"wav",TTF:"ttf",OTF:"otf",WOFF:"woff",WOFF2:"woff2"}},"./src/FetchTool.js":function(e,t,n){var r=n("./node_modules/@babel/runtime/helpers/objectWithoutProperties.js");const i=["url"],s=["url","withCredentials"],{scratchFetch:o}=n("./src/scratchFetch.js"),a=n("./src/safer-fetch.js"),l=n("./src/isNullResponse.js");e.exports=class{get isGetSupported(){return!0}get(e){let{url:t}=e,n=r(e,i);return a(t,Object.assign({method:"GET"},n)).then((e=>e.ok?e.arrayBuffer().then((e=>new Uint8Array(e))):l(e)?null:Promise.reject(e.status)))}get isSendSupported(){return!0}send(e){let{url:t,withCredentials:n=!1}=e,i=r(e,s);return o(t,Object.assign({credentials:n?"include":"omit"},i)).then((e=>e.ok?e.text():Promise.reject(e.status)))}}},"./src/FetchWorkerTool.js":function(e,t,n){var r=n("./node_modules/@babel/runtime/helpers/objectWithoutProperties.js");const i=["url"],{Headers:s,applyMetadata:o}=n("./src/scratchFetch.js");class a{constructor(){this._workerSupport={fetch:"undefined"!=typeof fetch},this._supportError=null,this.worker=null,this.jobs={};try{if(this.isGetSupported){const e=new(n('./node_modules/worker-loader/dist/cjs.js?{"inline":true,"fallback":true}!./src/FetchWorkerTool.worker.js'));e.addEventListener("message",(e=>{let{data:t}=e;if(t.support)this._workerSupport=t.support;else for(const e of t)this.jobs[e.id]&&(e.error?this.jobs[e.id].reject(e.error):this.jobs[e.id].resolve(e.buffer),delete this.jobs[e.id])})),this.worker=e}}catch(e){this._supportError=e}}get isGetSupported(){return"undefined"!=typeof Worker&&this._workerSupport.fetch&&!this._supportError}get(e){let{url:t}=e,n=r(e,i);return new Promise(((e,r)=>{const i=Math.random().toString(16).substring(2),a=o(Object.assign({method:"GET"},n));a&&a.headers instanceof s&&(a.headers=Array.from(a.headers.entries())),this.worker.postMessage({id:i,url:t,options:a}),this.jobs[i]={id:i,resolve:e,reject:r}})).then((e=>e?new Uint8Array(e):null))}get isSendSupported(){return!1}send(){throw new Error("Not implemented.")}static get instance(){return this._instance||(this._instance=new a),this._instance}}e.exports=class{constructor(){this.inner=a.instance}get isGetSupported(){return this.inner.isGetSupported}get(e){return this.inner.get(e)}get isSendSupported(){return!1}send(){throw new Error("Not implemented.")}}},"./src/Helper.js":function(e,t){e.exports=class{constructor(e){this.parent=e}load(e,t,n){return Promise.reject(new Error("No asset of type ".concat(e," for ID ").concat(t," with format ").concat(n)))}}},"./src/ProxyTool.js":function(e,t,n){const r=n("./src/FetchWorkerTool.js"),i=n("./src/FetchTool.js");class s{constructor(){let e;e=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:s.TOOL_FILTER.ALL)===s.TOOL_FILTER.READY?[new i]:[new r,new i],this.tools=e}get isGetSupported(){return this.tools.some((e=>e.isGetSupported))}get(e){let t=0;const n=r=>{const i=this.tools[t++];if(!i)throw r;return i.isGetSupported?i.get(e).catch(n):n(r)};return n()}get isSendSupported(){return this.tools.some((e=>e.isSendSupported))}send(e){let t=0;const n=r=>{const i=this.tools[t++];if(!i)throw r;return i.isSendSupported?i.send(e).catch(n):n(r)};return n()}}s.TOOL_FILTER={ALL:"all",READY:"ready"},e.exports=s},"./src/ScratchStorage.js":function(e,t,n){const r=n("./src/BuiltinHelper.js"),i=n("./src/WebHelper.js"),s=n("./src/Asset.js"),o=n("./src/AssetType.js"),a=n("./src/DataFormat.js"),l=n("./src/scratchFetch.js");e.exports=class{constructor(){this.defaultAssetId={},this.builtinHelper=new r(this),this.webHelper=new i(this),this.builtinHelper.registerDefaultAssets(this),this._helpers=[{helper:this.builtinHelper,priority:100},{helper:this.webHelper,priority:-100}]}get Asset(){return s}get AssetType(){return o}get DataFormat(){return a}get scratchFetch(){return l}static get Asset(){return s}static get AssetType(){return o}addHelper(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;this._helpers.push({helper:e,priority:t}),this._helpers.sort(((e,t)=>t.priority-e.priority))}get(e){return this.builtinHelper.get(e)}cache(e,t,n,r){return this.builtinHelper._store(e,t,n,r)}createAsset(e,t,n,r,i){if(!t)throw new Error("Tried to create asset without a dataFormat");return new s(e,r,t,n,i)}addWebStore(e,t,n,r){this.webHelper.addStore(e,t,n,r)}addWebSource(e,t){this.addWebStore(e,t)}getDefaultAssetId(e){if(Object.prototype.hasOwnProperty.call(this.defaultAssetId,e.name))return this.defaultAssetId[e.name]}setDefaultAssetId(e,t){this.defaultAssetId[e.name]=t}load(e,t,n){const r=this._helpers.map((e=>e.helper)),i=[];n=n||e.runtimeFormat;let s,o=0;const a=l=>{if(l&&i.push(l),s=r[o++],s){const r=s.load(e,t,n);return null===r?a():r.catch(a)}return i.length>0?Promise.reject(i):Promise.resolve(null)};return a()}store(e,t,n,r){return t=t||e.runtimeFormat,new Promise(((i,s)=>this.webHelper.store(e,t,n,r).then((r=>(this.builtinHelper._store(e,t,n,r.id),i(r)))).catch((e=>s(e)))))}}},"./src/WebHelper.js":function(e,t,n){const r=n("./src/Asset.js"),i=n("./src/Helper.js"),s=n("./src/ProxyTool.js"),o=e=>"string"==typeof e?{url:e}:e;e.exports=class extends i{constructor(e){super(e),this.stores=[],this.assetTool=new s,this.projectTool=new s(s.TOOL_FILTER.READY)}addSource(e,t){this.addStore(e,t)}addStore(e,t,n,r){this.stores.push({types:e.map((e=>e.name)),get:t,create:n,update:r})}load(e,t,n){const i=[],s=this.stores.slice().filter((t=>t.types.indexOf(e.name)>=0)),a=new r(e,t,n);let l=this.assetTool;"Project"===e.name&&(l=this.projectTool);let c=0;const u=e=>{e&&i.push(e);const t=s[c++],r=t&&t.get;if(r){const e=o(r(a));return!1===e?u():l.get(e).then((e=>e?(a.setData(e,n),a):u())).catch(u)}return i.length>0?Promise.reject(i):Promise.resolve(null)};return u()}store(e,t,n,i){const s=new r(e,i,t),a=""===i||null==i,l=this.stores.filter((t=>-1!==t.types.indexOf(e.name)&&(a&&t.create||t.update)))[0],c=a?"post":"put";if(!l)return Promise.reject(new Error("No appropriate stores"));let u=this.assetTool;"Project"===e.name&&(u=this.projectTool);const d=o(a?l.create(s):l.update(s)),h=Object.assign({body:n,method:c},d);return u.send(h).then((e=>{if("string"==typeof e)try{e=JSON.parse(e)}catch(t){return e}return Object.assign({id:e["content-name"]||i},e)}))}}},"./src/builtins/defaultBitmap.png":function(e,t,n){e.exports=n("./node_modules/arraybuffer-loader/lib/to-array-buffer.js")("iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAAAAADmVT4XAAADZElEQVR42u3a70vbQBgH8O/7vOibvsmbFUEEWUGGUhQ25nDuhSKIUFDxlYi0SAd94atRmFiHCH2x4W8iiNtwowXRgd1QipJYY3N/1F4kTQ6XLKS9yyHcvWyO8MnT5y53Tw5EcIMESIAESIAESIAESIAEPFVAq/6l8G4oAQCp4aniwbUVJ6BVzafwqKXy1VZMgNb+CHzbyK4ZB+Bi0nnk0VyhsDiSoAmvvnMHmGUVAF6UG+0ffsxRhsRHky/AyCsAUpumX0wAAIs6T4CxDADDtcdZsal6gjmdH8AsAEC6+s8Fa48SFExeAKusAEju+V367AmUCi9ANQ0AU3pwcOw2cMEH0FwAAKz5X228pRLR5AI4TgIAtIDL24oLUE94AB6W7LsH/cONN14Ilh44AOqD9s2LQR1KHiB9zgGgOSGeuA3ocPrME1Q4ANaceyePAzrcjHmAZYs9IBeW4/fzHiAwTCwAgTle9ACZK44ALDT9e6x7gL4aT0BQCHb4AqgA5/1TTOMLoJ7vZSMM0H/GHnCeDnu+CrU8vGYPcN5FADBYD0vCaYPDy+i0p337GSMsS1Z4vA3t9QgAZTt0IuIxFRPSKicAQHlvhk3FXF5GhBByMa8qo/sBO6BarwuYbYrYnFKDYEvE7phKgcxvEQBqnvhgiQCUOgoAO4C3JOS3L/hv23UXxVldBECfcueAqpAa0WGy/QeULREAY6aTXRFDgBuA13+ElOncAERMAGaA9hBQD4gQQHsIRE1AZoD2xrgQS5nOZyHgFKmWDSIG4GRAVidiAE4GRB6AzAB2AKIPQFaA5myHA5AV4ESNugZhC7BLR50lIBPAebrzBGQCKAFQNSIMcDvRTQIwAHxNApM3RBygGK0uyhxwOwGsPAgEnPWj5ycRCNiJtBHlAChGKQVwANzPY+CXSMDNWISiLA9AfRA5IhJQ68UnoQAt+AtOPIBKhJosF8B6UM0yLkAxQk2WCyDX9SiUh1gkQAIkoCuAvjGuquMbuijAtwG7MPL8yBICOHSPk3W8Ne8KcEUdmBi6FADYos+QleIH0N/ogOxd7AD6uAS6WRU8WcBdlgZMG/EnYUlwEpLLoQ4PjzGbiA5UsRMRsbQ+5ziDJmYqJuR6NaMomdXuFuZyPSABEiABEiABEiABEiAc8Bd6VyvCEKGqcQAAAABJRU5ErkJggg==")},"./src/builtins/defaultSound.wav":function(e,t,n){e.exports=n("./node_modules/arraybuffer-loader/lib/to-array-buffer.js")("UklGRiYAAABXQVZFZm10IBAAAAABAAEAIlYAAESsAAACABAAZGF0YQIAAAAAAA==")},"./src/builtins/defaultVector.svg":function(e,t,n){e.exports=n("./node_modules/arraybuffer-loader/lib/to-array-buffer.js")("PD94bWwgdmVyc2lvbj0iMS4wIj8+Cjxzdmcgd2lkdGg9IjEyOCIgaGVpZ2h0PSIxMjgiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6c3ZnPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiA8Zz4KICA8cmVjdCBmaWxsPSIjQ0NDIiBoZWlnaHQ9IjEyOCIgd2lkdGg9IjEyOCIvPgogIDx0ZXh0IGZpbGw9ImJsYWNrIiB5PSIxMDciIHg9IjM1LjUiIGZvbnQtc2l6ZT0iMTI4Ij4/PC90ZXh0PgogPC9nPgo8L3N2Zz4K")},"./src/index.js":function(e,t,n){const r=n("./src/ScratchStorage.js");e.exports=r},"./src/isNullResponse.js":function(e,t){e.exports=e=>403===e.status||404===e.status||503===e.status},"./src/safer-fetch.js":function(e,t,n){const{scratchFetch:r}=n("./src/scratchFetch.js");let i=0;const s=[],o=e=>{let t,[n,s,o]=e,l=0;const c=e=>{0===e.status&&(Object.defineProperty(e,"ok",{value:!0}),Object.defineProperty(e,"status",{value:200})),i--,a(),n(e)},u=()=>r(s,o).then(c).catch((e=>{if(console.warn("Attempt to fetch ".concat(s," failed"),e),t||(t=e),l<2)return l++,void(n=5e3*(l+Math.random()-1),new Promise((e=>setTimeout(e,n)))).then(u);var n;c(Promise.reject(t))}));u()},a=()=>{i<100&&s.length>0&&(i++,o(s.shift()))};e.exports=(e,t)=>new Promise((n=>{s.push([n,e,t]),a()}))},"./src/scratchFetch.js":function(e,t,n){const r=n("./node_modules/cross-fetch/dist/browser-ponyfill.js"),i=new r.Headers,s=e=>{if((()=>{if(!("undefined"!=typeof self&&self&&self.location&&self.location.search&&self.location.search.split(/[?&]/)||[]).includes("scratchMetadata=1"))return!1;for(const e of i)return!0;return!1})()){const t=Object.assign({},e);if(t.headers=new r.Headers(i),e&&e.headers){const n=e.headers instanceof r.Headers?e.headers:new r.Headers(e.headers);for(const[e,r]of n.entries())t.headers.set(e,r)}return t}return e},o=(e,t)=>{const n=s(t);return r.fetch(e,n)};e.exports={default:o,Headers:r.Headers,RequestMetadata:{ProjectId:"X-Project-ID",RunId:"X-Run-ID"},applyMetadata:s,scratchFetch:o,setMetadata:(e,t)=>{i.set(e,t)},unsetMetadata:e=>{i.delete(e)}};{const t=e=>i.get(e);e.exports.getMetadata=t}}})},module.exports=factory()},function(e,t,n){const r=n(412);e.exports=r},function(e,t,n){const r=n(60);e.exports=class extends r{get DEFAULT_VALUE(){return 100}get name(){return"volume"}initialize(){this.inputNode=this.audioEngine.audioContext.createGain(),this.outputNode=this.inputNode,this.initialized=!0}_set(e){this.value=e;const{gain:t}=this.outputNode,{currentTime:n,DECAY_DURATION:r}=this.audioEngine;t.linearRampToValueAtTime(e/100,n+r)}dispose(){this.initialized&&(this.outputNode.disconnect(),this.inputNode=null,this.outputNode=null,this.target=null,this.initialized=!1)}}},function(e,t,n){"use strict";var r,i=function(){return void 0===r&&(r=Boolean(window&&document&&document.all&&!window.atob)),r},s=function(){var e={};return function(t){if(void 0===e[t]){var n=document.querySelector(t);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(e){n=null}e[t]=n}return e[t]}}(),o=[];function a(e){for(var t=-1,n=0;n<o.length;n++)if(o[n].identifier===e){t=n;break}return t}function l(e,t){for(var n={},r=[],i=0;i<e.length;i++){var s=e[i],l=t.base?s[0]+t.base:s[0],c=n[l]||0,u="".concat(l," ").concat(c);n[l]=c+1;var d=a(u),h={css:s[1],media:s[2],sourceMap:s[3]};-1!==d?(o[d].references++,o[d].updater(h)):o.push({identifier:u,updater:g(h,t),references:1}),r.push(u)}return r}function c(e){var t=document.createElement("style"),r=e.attributes||{};if(void 0===r.nonce){var i=n.nc;i&&(r.nonce=i)}if(Object.keys(r).forEach((function(e){t.setAttribute(e,r[e])})),"function"==typeof e.insert)e.insert(t);else{var o=s(e.insert||"head");if(!o)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");o.appendChild(t)}return t}var u,d=(u=[],function(e,t){return u[e]=t,u.filter(Boolean).join("\n")});function h(e,t,n,r){var i=n?"":r.media?"@media ".concat(r.media," {").concat(r.css,"}"):r.css;if(e.styleSheet)e.styleSheet.cssText=d(t,i);else{var s=document.createTextNode(i),o=e.childNodes;o[t]&&e.removeChild(o[t]),o.length?e.insertBefore(s,o[t]):e.appendChild(s)}}function p(e,t,n){var r=n.css,i=n.media,s=n.sourceMap;if(i?e.setAttribute("media",i):e.removeAttribute("media"),s&&"undefined"!=typeof btoa&&(r+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(s))))," */")),e.styleSheet)e.styleSheet.cssText=r;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(r))}}var m=null,f=0;function g(e,t){var n,r,i;if(t.singleton){var s=f++;n=m||(m=c(t)),r=h.bind(null,n,s,!1),i=h.bind(null,n,s,!0)}else n=c(t),r=p.bind(null,n,t),i=function(){!function(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e)}(n)};return r(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap)return;r(e=t)}else i()}}e.exports=function(e,t){(t=t||{}).singleton||"boolean"==typeof t.singleton||(t.singleton=i());var n=l(e=e||[],t);return function(e){if(e=e||[],"[object Array]"===Object.prototype.toString.call(e)){for(var r=0;r<n.length;r++){var i=a(n[r]);o[i].references--}for(var s=l(e,t),c=0;c<n.length;c++){var u=a(n[c]);0===o[u].references&&(o[u].updater(),o.splice(u,1))}n=s}}}},function(e,t,n){"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var n=e(t);return t[2]?"@media ".concat(t[2]," {").concat(n,"}"):n})).join("")},t.i=function(e,n,r){"string"==typeof e&&(e=[[null,e,""]]);var i={};if(r)for(var s=0;s<this.length;s++){var o=this[s][0];null!=o&&(i[o]=!0)}for(var a=0;a<e.length;a++){var l=[].concat(e[a]);r&&i[l[0]]||(n&&(l[2]?l[2]="".concat(n," and ").concat(l[2]):l[2]=n),t.push(l))}},t}},function(e,t,n){"use strict";e.exports=function(e,t){return t||(t={}),"string"!=typeof(e=e&&e.__esModule?e.default:e)?e:(/^['"].*['"]$/.test(e)&&(e=e.slice(1,-1)),t.hash&&(e+=t.hash),/["'() \t\n]/.test(e)||t.needQuotes?'"'.concat(e.replace(/"/g,'\\"').replace(/\n/g,"\\n"),'"'):e)}},function(e,t,n){"use strict";t.a="data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTIwLjc3MzU5NSA1LjcyODA1MTlhMS4zMDc3Nzc0IDEuMzA3Nzc3NCAwIDAgMC0xLjg1NzA0MyAwTDkuMTczNjEwNSAxNS40ODQwNzFsLTQuMDkzMzQzMi00LjEwNjQyYTEuMzM2NDQ2OCAxLjMzNjQ0NjggMCAxIDAtMS44NTcwNDM5IDEuOTIyNDMybDUuMDIxODY1MSA1LjAyMTg2NmExLjMwNzc3NzQgMS4zMDc3Nzc0IDAgMCAwIDEuODU3MDQ0NSAwTDIwLjc3MzU5NSA3LjY1MDQ4NDdhMS4zMDc3Nzc0IDEuMzA3Nzc3NCAwIDAgMCAwLTEuOTIyNDMyOHoiIGZpbGw9IiNmZmYiLz48L3N2Zz4="},function(e){e.exports=JSON.parse('{"var-x":"x position","var-y":"y position","var-direction":"direction","var-username":"username","var-costume-number":"costume number","var-costume-name":"costume name","var-backdrop-number":"backdrop number","var-backdrop-name":"backdrop name","var-size":"size","var-answer":"answer","var-mousedown":"mouse down?","var-mousex":"mouse x","var-mousey":"mouse y","var-loudness":"loudness","var-timer":"timer","var-dayssince2000":"days since 2000","var-volume":"volume","var-year":"year","var-month":"month","var-date":"date","var-day-of-week":"day of week","var-hour":"hour","var-minute":"minute","var-second":"second","list-empty":"(empty)","list-length":"length {n}","list-import":"import","list-export":"export"}')},function(e,t,n){"use strict";t.byteLength=function(e){var t=l(e),n=t[0],r=t[1];return 3*(n+r)/4-r},t.toByteArray=function(e){for(var t,n=l(e),r=n[0],o=n[1],a=new s(function(e,t,n){return 3*(t+n)/4-n}(0,r,o)),c=0,u=o>0?r-4:r,d=0;d<u;d+=4)t=i[e.charCodeAt(d)]<<18|i[e.charCodeAt(d+1)]<<12|i[e.charCodeAt(d+2)]<<6|i[e.charCodeAt(d+3)],a[c++]=t>>16&255,a[c++]=t>>8&255,a[c++]=255&t;2===o&&(t=i[e.charCodeAt(d)]<<2|i[e.charCodeAt(d+1)]>>4,a[c++]=255&t);1===o&&(t=i[e.charCodeAt(d)]<<10|i[e.charCodeAt(d+1)]<<4|i[e.charCodeAt(d+2)]>>2,a[c++]=t>>8&255,a[c++]=255&t);return a},t.fromByteArray=function(e){for(var t,n=e.length,i=n%3,s=[],o=16383,a=0,l=n-i;a<l;a+=o)s.push(c(e,a,a+o>l?l:a+o));1===i?(t=e[n-1],s.push(r[t>>2]+r[t<<4&63]+"==")):2===i&&(t=(e[n-2]<<8)+e[n-1],s.push(r[t>>10]+r[t>>4&63]+r[t<<2&63]+"="));return s.join("")};for(var r=[],i=[],s="undefined"!=typeof Uint8Array?Uint8Array:Array,o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",a=0;a<64;++a)r[a]=o[a],i[o.charCodeAt(a)]=a;function l(e){var t=e.length;if(t%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var n=e.indexOf("=");return-1===n&&(n=t),[n,n===t?0:4-n%4]}function c(e,t,n){for(var i,s,o=[],a=t;a<n;a+=3)i=(e[a]<<16&16711680)+(e[a+1]<<8&65280)+(255&e[a+2]),o.push(r[(s=i)>>18&63]+r[s>>12&63]+r[s>>6&63]+r[63&s]);return o.join("")}i["-".charCodeAt(0)]=62,i["_".charCodeAt(0)]=63},function(e,t){t.read=function(e,t,n,r,i){var s,o,a=8*i-r-1,l=(1<<a)-1,c=l>>1,u=-7,d=n?i-1:0,h=n?-1:1,p=e[t+d];for(d+=h,s=p&(1<<-u)-1,p>>=-u,u+=a;u>0;s=256*s+e[t+d],d+=h,u-=8);for(o=s&(1<<-u)-1,s>>=-u,u+=r;u>0;o=256*o+e[t+d],d+=h,u-=8);if(0===s)s=1-c;else{if(s===l)return o?NaN:1/0*(p?-1:1);o+=Math.pow(2,r),s-=c}return(p?-1:1)*o*Math.pow(2,s-r)},t.write=function(e,t,n,r,i,s){var o,a,l,c=8*s-i-1,u=(1<<c)-1,d=u>>1,h=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,p=r?0:s-1,m=r?1:-1,f=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(a=isNaN(t)?1:0,o=u):(o=Math.floor(Math.log(t)/Math.LN2),t*(l=Math.pow(2,-o))<1&&(o--,l*=2),(t+=o+d>=1?h/l:h*Math.pow(2,1-d))*l>=2&&(o++,l/=2),o+d>=u?(a=0,o=u):o+d>=1?(a=(t*l-1)*Math.pow(2,i),o+=d):(a=t*Math.pow(2,d-1)*Math.pow(2,i),o=0));i>=8;e[n+p]=255&a,p+=m,a/=256,i-=8);for(o=o<<i|a,c+=i;c>0;e[n+p]=255&o,p+=m,o/=256,c-=8);e[n+p-m]|=128*f}},function(e,t){var n={}.toString;e.exports=Array.isArray||function(e){return"[object Array]"==n.call(e)}},function(e,t,n){(function(e){var r=void 0!==e&&e||"undefined"!=typeof self&&self||window,i=Function.prototype.apply;function s(e,t){this._id=e,this._clearFn=t}t.setTimeout=function(){return new s(i.call(setTimeout,r,arguments),clearTimeout)},t.setInterval=function(){return new s(i.call(setInterval,r,arguments),clearInterval)},t.clearTimeout=t.clearInterval=function(e){e&&e.close()},s.prototype.unref=s.prototype.ref=function(){},s.prototype.close=function(){this._clearFn.call(r,this._id)},t.enroll=function(e,t){clearTimeout(e._idleTimeoutId),e._idleTimeout=t},t.unenroll=function(e){clearTimeout(e._idleTimeoutId),e._idleTimeout=-1},t._unrefActive=t.active=function(e){clearTimeout(e._idleTimeoutId);var t=e._idleTimeout;t>=0&&(e._idleTimeoutId=setTimeout((function(){e._onTimeout&&e._onTimeout()}),t))},n(126),t.setImmediate="undefined"!=typeof self&&self.setImmediate||void 0!==e&&e.setImmediate||this&&this.setImmediate,t.clearImmediate="undefined"!=typeof self&&self.clearImmediate||void 0!==e&&e.clearImmediate||this&&this.clearImmediate}).call(this,n(9))},function(e,t,n){(function(e,t){!function(e,n){"use strict";if(!e.setImmediate){var r,i,s,o,a,l=1,c={},u=!1,d=e.document,h=Object.getPrototypeOf&&Object.getPrototypeOf(e);h=h&&h.setTimeout?h:e,"[object process]"==={}.toString.call(e.process)?r=function(e){t.nextTick((function(){m(e)}))}:!function(){if(e.postMessage&&!e.importScripts){var t=!0,n=e.onmessage;return e.onmessage=function(){t=!1},e.postMessage("","*"),e.onmessage=n,t}}()?e.MessageChannel?((s=new MessageChannel).port1.onmessage=function(e){m(e.data)},r=function(e){s.port2.postMessage(e)}):d&&"onreadystatechange"in d.createElement("script")?(i=d.documentElement,r=function(e){var t=d.createElement("script");t.onreadystatechange=function(){m(e),t.onreadystatechange=null,i.removeChild(t),t=null},i.appendChild(t)}):r=function(e){setTimeout(m,0,e)}:(o="setImmediate$"+Math.random()+"$",a=function(t){t.source===e&&"string"==typeof t.data&&0===t.data.indexOf(o)&&m(+t.data.slice(o.length))},e.addEventListener?e.addEventListener("message",a,!1):e.attachEvent("onmessage",a),r=function(t){e.postMessage(o+t,"*")}),h.setImmediate=function(e){"function"!=typeof e&&(e=new Function(""+e));for(var t=new Array(arguments.length-1),n=0;n<t.length;n++)t[n]=arguments[n+1];var i={callback:e,args:t};return c[l]=i,r(l),l++},h.clearImmediate=p}function p(e){delete c[e]}function m(e){if(u)setTimeout(m,0,e);else{var t=c[e];if(t){u=!0;try{!function(e){var t=e.callback,r=e.args;switch(r.length){case 0:t();break;case 1:t(r[0]);break;case 2:t(r[0],r[1]);break;case 3:t(r[0],r[1],r[2]);break;default:t.apply(n,r)}}(t)}finally{p(e),u=!1}}}}}("undefined"==typeof self?void 0===e?this:e:self)}).call(this,n(9),n(41))},function(e,t,n){let r;r="undefined"==typeof TextEncoder?n(22).TextEncoder:TextEncoder;const i=n(20),s=n(23),o=n(19).Buffer,a=n(64),l=n(129),c=n(1),u=n(5),d=n(71),h=n(50),p=n(52),m=n(7),f=n(6),g=n(10),y=n(104),{loadCostume:b}=n(34),{loadSound:v}=n(33),{serializeSounds:S,serializeCostumes:w}=n(378);n(379);const{exportCostume:k}=n(103),x=n(16),T=["_mouse_","_stage_","_edge_","_myself_","_random_"],E=[];f.setup({missingTranslation:"ignore"});e.exports=class extends i{constructor(){super(),this.runtime=new d,a.setService("runtime",(e=>{const t={};return t._refreshExtensionPrimitives=e._refreshExtensionPrimitives.bind(e),t._registerExtensionPrimitives=e._registerExtensionPrimitives.bind(e),t})(this.runtime)).catch((e=>{c.error("Failed to register runtime service: ".concat(JSON.stringify(e)))})),this.editingTarget=null,this._dragTarget=null,this.runtime.on(d.SCRIPT_GLOW_ON,(e=>{this.emit(d.SCRIPT_GLOW_ON,e)})),this.runtime.on(d.SCRIPT_GLOW_OFF,(e=>{this.emit(d.SCRIPT_GLOW_OFF,e)})),this.runtime.on(d.BLOCK_GLOW_ON,(e=>{this.emit(d.BLOCK_GLOW_ON,e)})),this.runtime.on(d.BLOCK_GLOW_OFF,(e=>{this.emit(d.BLOCK_GLOW_OFF,e)})),this.runtime.on(d.PROJECT_START,(()=>{this.emit(d.PROJECT_START)})),this.runtime.on(d.PROJECT_RUN_START,(()=>{this.emit(d.PROJECT_RUN_START)})),this.runtime.on(d.PROJECT_RUN_STOP,(()=>{this.emit(d.PROJECT_RUN_STOP)})),this.runtime.on(d.PROJECT_CHANGED,(()=>{this.emit(d.PROJECT_CHANGED)})),this.runtime.on(d.VISUAL_REPORT,(e=>{this.emit(d.VISUAL_REPORT,e)})),this.runtime.on(d.TARGETS_UPDATE,(e=>{this.emitTargetsUpdate(e)})),this.runtime.on(d.MONITORS_UPDATE,(e=>{this.emit(d.MONITORS_UPDATE,e)})),this.runtime.on(d.BLOCK_DRAG_UPDATE,(e=>{this.emit(d.BLOCK_DRAG_UPDATE,e)})),this.runtime.on(d.BLOCK_DRAG_END,((e,t)=>{this.emit(d.BLOCK_DRAG_END,e,t)})),this.runtime.on(d.EXTENSION_ADDED,(e=>{this.emit(d.EXTENSION_ADDED,e)})),this.runtime.on(d.EXTENSION_FIELD_ADDED,((e,t)=>{this.emit(d.EXTENSION_FIELD_ADDED,e,t)})),this.runtime.on(d.BLOCKSINFO_UPDATE,(e=>{this.emit(d.BLOCKSINFO_UPDATE,e)})),this.runtime.on(d.BLOCKS_NEED_UPDATE,(()=>{this.emitWorkspaceUpdate()})),this.runtime.on(d.TOOLBOX_EXTENSIONS_NEED_UPDATE,(()=>{this.extensionManager.refreshBlocks()})),this.runtime.on(d.PERIPHERAL_LIST_UPDATE,(e=>{this.emit(d.PERIPHERAL_LIST_UPDATE,e)})),this.runtime.on(d.USER_PICKED_PERIPHERAL,(e=>{this.emit(d.USER_PICKED_PERIPHERAL,e)})),this.runtime.on(d.PERIPHERAL_CONNECTED,(()=>this.emit(d.PERIPHERAL_CONNECTED))),this.runtime.on(d.PERIPHERAL_REQUEST_ERROR,(()=>this.emit(d.PERIPHERAL_REQUEST_ERROR))),this.runtime.on(d.PERIPHERAL_DISCONNECTED,(()=>this.emit(d.PERIPHERAL_DISCONNECTED))),this.runtime.on(d.PERIPHERAL_CONNECTION_LOST_ERROR,(e=>this.emit(d.PERIPHERAL_CONNECTION_LOST_ERROR,e))),this.runtime.on(d.PERIPHERAL_SCAN_TIMEOUT,(()=>this.emit(d.PERIPHERAL_SCAN_TIMEOUT))),this.runtime.on(d.MIC_LISTENING,(e=>{this.emit(d.MIC_LISTENING,e)})),this.runtime.on(d.RUNTIME_STARTED,(()=>{this.emit(d.RUNTIME_STARTED)})),this.runtime.on(d.RUNTIME_STOPPED,(()=>{this.emit(d.RUNTIME_STOPPED)})),this.runtime.on(d.HAS_CLOUD_DATA_UPDATE,(e=>{this.emit(d.HAS_CLOUD_DATA_UPDATE,e)})),this.runtime.on(d.RUNTIME_OPTIONS_CHANGED,(e=>{this.emit(d.RUNTIME_OPTIONS_CHANGED,e)})),this.runtime.on(d.COMPILER_OPTIONS_CHANGED,(e=>{this.emit(d.COMPILER_OPTIONS_CHANGED,e)})),this.runtime.on(d.FRAMERATE_CHANGED,(e=>{this.emit(d.FRAMERATE_CHANGED,e)})),this.runtime.on(d.INTERPOLATION_CHANGED,(e=>{this.emit(d.INTERPOLATION_CHANGED,e)})),this.runtime.on(d.STAGE_SIZE_CHANGED,((e,t)=>{this.emit(d.STAGE_SIZE_CHANGED,e,t)})),this.runtime.on(d.COMPILE_ERROR,((e,t)=>{this.emit(d.COMPILE_ERROR,e,t)})),this.runtime.on(d.ASSET_PROGRESS,((e,t)=>{this.emit(d.ASSET_PROGRESS,e,t)})),this.runtime.on(d.TURBO_MODE_OFF,(()=>{this.emit(d.TURBO_MODE_OFF)})),this.runtime.on(d.TURBO_MODE_ON,(()=>{this.emit(d.TURBO_MODE_ON)})),this.extensionManager=new l(this),this.securityManager=this.extensionManager.securityManager,this.runtime.extensionManager=this.extensionManager;for(const e of E)this.extensionManager.loadExtensionIdSync(e);this.blockListener=this.blockListener.bind(this),this.flyoutBlockListener=this.flyoutBlockListener.bind(this),this.monitorBlockListener=this.monitorBlockListener.bind(this),this.variableListener=this.variableListener.bind(this),this.exports={Sprite:p,RenderedTarget:h,JSZip:s,i_will_not_ask_for_help_when_these_break:()=>(console.warn("You are using unsupported APIs. WHEN your code breaks, do not expect help."),{JSGenerator:n(78),IRGenerator:n(48).IRGenerator,ScriptTreeGenerator:n(48).ScriptTreeGenerator,Thread:n(26)})}}start(){this.runtime.start()}stop(){this.quit()}quit(){this.runtime.quit()}greenFlag(){this.runtime.greenFlag()}setTurboMode(e){this.runtime.turboMode=!!e,this.runtime.turboMode?this.emit(d.TURBO_MODE_ON):this.emit(d.TURBO_MODE_OFF)}setCompatibilityMode(e){this.runtime.setCompatibilityMode(!!e)}setFramerate(e){this.runtime.setFramerate(e)}setInterpolation(e){this.runtime.setInterpolation(e)}setRuntimeOptions(e){this.runtime.setRuntimeOptions(e)}setCompilerOptions(e){this.runtime.setCompilerOptions(e)}setStageSize(e,t){this.runtime.setStageSize(e,t)}setInEditor(e){this.runtime.setInEditor(e)}convertToPackagedRuntime(){this.runtime.convertToPackagedRuntime()}addAddonBlock(e){this.runtime.addAddonBlock(e)}getAddonBlock(e){return this.runtime.getAddonBlock(e)}storeProjectOptions(){this.runtime.storeProjectOptions(),this.editingTarget.isStage&&this.emitWorkspaceUpdate()}enableDebug(){return this.runtime.enableDebug(),"enabled debug mode"}handleExtensionButtonPress(e){this.runtime.handleExtensionButtonPress(e)}stopAll(){this.runtime.stopAll()}clear(){this.runtime.dispose(),this.editingTarget=null,this.emitTargetsUpdate(!1)}getPlaygroundData(){const e=this,t=this.runtime.threads.filter((t=>t.target===e.editingTarget)),n=JSON.stringify(t,((e,t)=>{if("target"!==e&&"blockContainer"!==e)return t}),2);this.emit("playgroundData",{blocks:this.editingTarget.blocks,threads:n})}postIOData(e,t){this.runtime.ioDevices[e]&&this.runtime.ioDevices[e].postData(t)}setVideoProvider(e){this.runtime.ioDevices.video.setProvider(e)}setCloudProvider(e){this.runtime.ioDevices.cloud.setProvider(e)}scanForPeripheral(e){this.runtime.scanForPeripheral(e)}connectPeripheral(e,t){this.runtime.connectPeripheral(e,t)}disconnectPeripheral(e){this.runtime.disconnectPeripheral(e)}getPeripheralIsConnected(e){return this.runtime.getPeripheralIsConnected(e)}loadProject(e){"object"!=typeof e||e instanceof ArrayBuffer||ArrayBuffer.isView(e)||(e=JSON.stringify(e));return new Promise(((t,r)=>{n(105)(e,!1,((e,n)=>{if(e)return r(e);t(n)}))})).catch((t=>{const{SB1File:r,ValidationError:i}=n(424);try{const t=new r(e),n=t.json;return n.projectVersion=2,Promise.resolve([n,t.zip])}catch(e){if(!(e instanceof i||"".concat(e).includes("Non-ascii character in FixedAsciiString")))return Promise.reject(e)}return Promise.reject(t)})).then((e=>this.deserializeProject(e[0],e[1]))).then((()=>this.runtime.handleProjectLoaded())).catch((e=>Object.prototype.hasOwnProperty.call(e,"validationError")?Promise.reject(JSON.stringify(e)):Promise.reject(e)))}downloadProjectId(e){const t=this.runtime.storage;if(!t)return void c.error("No storage module present; cannot load project: ",e);const n=this;t.load(t.AssetType.Project,e).then((t=>t?n.loadProject(t.data):(c.error("Failed to fetch project with id: ".concat(e)),null)))}_saveProjectZip(){const e=this.toJSON(),t=new s;return t.file("project.json",e),this._addFileDescsToZip(this.serializeAssets(),t),t}saveProjectSb3(e){return this._saveProjectZip().generateAsync({type:e||"blob",mimeType:"application/x.scratch.sb3",compression:"DEFLATE"})}saveProjectSb3Stream(e){return this._saveProjectZip().generateInternalStream({type:e||"arraybuffer",mimeType:"application/x.scratch.sb3",compression:"DEFLATE"})}saveProjectSb3DontZip(){const e=this.toJSON(),t={"project.json":(new r).encode(e)};for(const e of this.serializeAssets())t[e.fileName]=e.fileContent;return t}get assets(){return[...this.runtime.targets.reduce(((e,t)=>e.concat(t.sprite.sounds.map((e=>e.asset))).concat(t.sprite.costumes.map((e=>e.asset)))),[]),...this.runtime.fontManager.serializeAssets()]}serializeAssets(e){return[...w(this.runtime,e),...S(this.runtime,e),...this.runtime.fontManager.serializeAssets().map((e=>({fileName:"".concat(e.assetId,".").concat(e.dataFormat),fileContent:e.data})))]}_addFileDescsToZip(e,t){for(let n=0;n<e.length;n++){const r=e[n];t.file(r.fileName,r.fileContent)}}exportSprite(e,t){const n=this.toJSON(e),r=new s;return r.file("sprite.json",n),this._addFileDescsToZip(this.serializeAssets(e),r),r.generateAsync({type:"string"==typeof t?t:"blob",mimeType:"application/x.scratch.sprite3",compression:"DEFLATE",compressionOptions:{level:6}})}toJSON(e,t){const r=n(28);return m.stringify(r.serialize(this.runtime,e,t))}fromJSON(e){return c.warn("fromJSON is now just a wrapper around loadProject, please use that function instead."),this.loadProject(e)}deserializeProject(e,t){this.clear(),"undefined"!=typeof performance&&performance.mark("scratch-vm-deserialize-start");const r=this.runtime;return function(){const i=e.projectVersion;if(2===i){return n(107).deserialize(e,r,!1,t)}if(3===i){return n(28).deserialize(e,r,t)}return Promise.reject("Unable to verify Scratch Project version.")}().then((e=>{let{targets:t,extensions:n}=e;if("undefined"!=typeof performance){performance.mark("scratch-vm-deserialize-end");try{performance.measure("scratch-vm-deserialize","scratch-vm-deserialize-start","scratch-vm-deserialize-end")}catch(e){c.error(e)}}return this.installTargets(t,n,!0)}))}async _loadExtensions(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new Map;const r=n(387),i=[];for(const n of e)if(this.extensionManager.isExtensionLoaded(n));else if(this.extensionManager.isBuiltinExtension(n))this.extensionManager.loadExtensionIdSync(n);else{const e=t.get(n)||r.get(n);if(!e)throw new Error("Unknown extension: ".concat(n));if(!await this.securityManager.canLoadExtensionFromProject(e))throw new Error("Permission to load extension denied: ".concat(n));i.push(this.extensionManager.loadExtensionURL(e))}return Promise.all(i)}async installTargets(e,t,n){return await this.extensionManager.allAsyncExtensionsLoaded(),e=e.filter((e=>!!e)),this._loadExtensions(t.extensionIDs,t.extensionURLs).then((()=>{e.forEach((e=>{this.runtime.addTarget(e),e.updateAllDrawableProperties(),e.isSprite()&&this.renameSprite(e.id,e.getName())})),this.runtime.executableTargets.sort(((e,t)=>e.layerOrder-t.layerOrder)),e.forEach((e=>{delete e.layerOrder})),n&&e.length>1?this.editingTarget=e[1]:this.editingTarget=e[0],n||this.editingTarget.fixUpVariableReferences(),n&&this.runtime.parseProjectOptions(),this.emitTargetsUpdate(!1),this.emitWorkspaceUpdate(),this.runtime.setEditingTarget(this.editingTarget),this.runtime.ioDevices.cloud.setStage(this.runtime.getTargetForStage())}))}addSprite(e){const t="Sprite Upload Error:";"object"!=typeof e||e instanceof ArrayBuffer||ArrayBuffer.isView(e)||(e=JSON.stringify(e));return new Promise(((t,r)=>{n(105)(e,!0,((e,n)=>{if(e)return r(e);t(n)}))})).then((e=>{const n=e[0].projectVersion;return 2===n?this._addSprite2(e[0],e[1]):3===n?this._addSprite3(e[0],e[1]):Promise.reject("".concat(t," Unable to verify sprite version."))})).then((()=>this.runtime.emitProjectChanged())).catch((e=>Object.prototype.hasOwnProperty.call(e,"validationError")?Promise.reject(JSON.stringify(e)):Promise.reject("".concat(t," ").concat(e))))}_addSprite2(e,t){return n(107).deserialize(e,this.runtime,!0,t).then((e=>{let{targets:t,extensions:n}=e;return this.installTargets(t,n,!1)}))}_addSprite3(e,t){return n(28).deserialize(e,this.runtime,t,!0).then((e=>{let{targets:t,extensions:n}=e;return this.installTargets(t,n,!1)}))}addCostume(e,t,n,r){const i=n?this.runtime.getTargetById(n):this.editingTarget;return i?b(e,t,this.runtime,r).then((()=>{i.addCostume(t),i.setCostume(i.getCostumes().length-1),this.runtime.emitProjectChanged()})):Promise.reject()}addCostumeFromLibrary(e,t){return this.editingTarget?this.addCostume(e,t,this.editingTarget.id,2):Promise.reject()}duplicateCostume(e){const t=this.editingTarget.getCostumes()[e],n=Object.assign({},t),r="".concat(n.assetId,".").concat(n.dataFormat);return b(r,n,this.runtime).then((()=>{this.editingTarget.addCostume(n,e+1),this.editingTarget.setCostume(e+1),this.emitTargetsUpdate()}))}duplicateSound(e){const t=this.editingTarget.getSounds()[e],n=Object.assign({},t);return v(n,this.runtime,this.editingTarget.sprite.soundBank).then((()=>{this.editingTarget.addSound(n,e+1),this.emitTargetsUpdate()}))}renameCostume(e,t){this.editingTarget.renameCostume(e,t),this.emitTargetsUpdate()}deleteCostume(e){const t=this.editingTarget.deleteCostume(e);if(t){const e=this.editingTarget;return this.runtime.emitProjectChanged(),()=>{e.addCostume(t),this.emitTargetsUpdate()}}return null}addSound(e,t){const n=t?this.runtime.getTargetById(t):this.editingTarget;return n?v(e,this.runtime,n.sprite.soundBank).then((()=>{n.addSound(e),this.emitTargetsUpdate()})):Promise.reject(new Error("No target with ID: ".concat(t)))}renameSound(e,t){this.editingTarget.renameSound(e,t),this.emitTargetsUpdate()}getSoundBuffer(e){const t=this.editingTarget.sprite.sounds[e].soundId;return t&&this.runtime&&this.runtime.audioEngine?this.editingTarget.sprite.soundBank.getSoundPlayer(t).buffer:null}updateSoundBuffer(e,t,n){const r=this.editingTarget.sprite.sounds[e];r&&r.broken&&delete r.broken;const i=r?r.soundId:null;if(i&&this.runtime&&this.runtime.audioEngine&&(this.editingTarget.sprite.soundBank.getSoundPlayer(i).buffer=t),n){r.format="";const e=this.runtime.storage;r.asset=e.createAsset(e.AssetType.Sound,e.DataFormat.WAV,n,null,!0),r.assetId=r.asset.assetId,r.dataFormat=e.DataFormat.WAV,r.md5="".concat(r.assetId,".").concat(r.dataFormat),r.sampleCount=t.length,r.rate=t.sampleRate}this.emitTargetsUpdate()}deleteSound(e){const t=this.editingTarget,n=this.editingTarget.deleteSound(e);if(n){this.runtime.emitProjectChanged();return()=>{t.addSound(n),this.emitTargetsUpdate()}}return null}getCostume(e){const t=this.editingTarget.getCostumes()[e].asset;if(!t||!this.runtime||!this.runtime.storage)return null;const n=t.dataFormat;return n===this.runtime.storage.DataFormat.SVG?t.decodeText():n===this.runtime.storage.DataFormat.PNG||n===this.runtime.storage.DataFormat.JPG?t.encodeDataURI():(c.error("Unhandled format: ".concat(t.dataFormat)),null)}getExportedCostume(e){return k(e)}getExportedCostumeBase64(e){const t=this.getExportedCostume(e);return x.uint8ArrayToBase64(t)}updateBitmap(e,t,n,r,i){return this._updateBitmap(this.editingTarget.getCostumes()[e],t,n,r,i)}_updateBitmap(e,t,n,r,i){if(!(e&&this.runtime&&this.runtime.renderer))return;e&&e.broken&&delete e.broken,e.rotationCenterX=n,e.rotationCenterY=r;const s=0===t.sourceWidth?0:t.width,a=0===t.sourceHeight?0:t.height,l=document.createElement("canvas");l.width=s,l.height=a;l.getContext("2d").putImageData(t,0,0),this.runtime.renderer.updateBitmapSkin(e.skinId,l,i,[n/i,r/i]),l.toBlob((t=>{const n=new FileReader;n.addEventListener("loadend",(()=>{const t=this.runtime.storage;e.dataFormat=t.DataFormat.PNG,e.bitmapResolution=i,e.size=[s,a],e.asset=t.createAsset(t.AssetType.ImageBitmap,e.dataFormat,o.from(n.result),null,!0),e.assetId=e.asset.assetId,e.md5="".concat(e.assetId,".").concat(e.dataFormat),this.emitTargetsUpdate()})),t&&n.readAsArrayBuffer(t)}))}updateSvg(e,t,n,r){return this._updateSvg(this.editingTarget.getCostumes()[e],t,n,r)}_updateSvg(e,t,n,i){e&&e.broken&&delete e.broken,e&&this.runtime&&this.runtime.renderer&&(e.rotationCenterX=n,e.rotationCenterY=i,this.runtime.renderer.updateSVGSkin(e.skinId,t,[n,i]),e.size=this.runtime.renderer.getSkinSize(e.skinId));const s=this.runtime.storage;e.dataFormat=s.DataFormat.SVG,e.bitmapResolution=1,e.asset=s.createAsset(s.AssetType.ImageVector,e.dataFormat,(new r).encode(t),null,!0),e.assetId=e.asset.assetId,e.md5="".concat(e.assetId,".").concat(e.dataFormat),this.emitTargetsUpdate()}addBackdrop(e,t){return b(e,t,this.runtime).then((()=>{const e=this.runtime.getTargetForStage();e.addCostume(t),e.setCostume(e.getCostumes().length-1),this.runtime.emitProjectChanged()}))}renameSprite(e,t){const n=this.runtime.getTargetById(e);if(!n)throw new Error("No target with the provided id.");{if(!n.isSprite())throw new Error("Cannot rename non-sprite targets.");const e=n.sprite;if(!e)throw new Error("No sprite associated with this target.");if(t&&-1===T.indexOf(t)){const r=this.runtime.targets.filter((e=>e.isSprite()&&e.id!==n.id)).map((e=>e.sprite.name)),i=e.name,s=m.unusedName(t,r);if(e.name=s,i===s)return;const o=this.runtime.targets;for(let e=0;e<o.length;e++){o[e].blocks.updateAssetName(i,t,"sprite")}s!==i&&this.emitTargetsUpdate()}}}deleteSprite(e){const t=this.runtime.getTargetById(e);if(t){const n=this.runtime.targets.map((e=>e.id)).indexOf(t.id);if(!t.isSprite())throw new Error("Cannot delete non-sprite targets.");const r=t.sprite;if(!r)throw new Error("No sprite associated with this target.");const i=this.exportSprite(e,"uint8array"),s=()=>i.then((e=>this.addSprite(e)));t.deleteMonitors();const o=this.editingTarget;for(let e=0;e<r.clones.length;e++){const t=r.clones[e];if(this.runtime.stopForTarget(r.clones[e]),this.runtime.disposeTarget(r.clones[e]),t===o){const e=Math.min(this.runtime.targets.length-1,n);this.runtime.targets.length>0?this.setEditingTarget(this.runtime.targets[e].id):this.editingTarget=null}}return this.emitTargetsUpdate(),s}throw new Error("No target with the provided id.")}duplicateSprite(e){const t=this.runtime.getTargetById(e);if(!t)throw new Error("No target with the provided id.");if(!t.isSprite())throw new Error("Cannot duplicate non-sprite targets.");if(!t.sprite)throw new Error("No sprite associated with this target.");return t.duplicate().then((e=>{this.runtime.addTarget(e),e.goBehindOther(t),this.setEditingTarget(e.id)}))}attachAudioEngine(e){this.runtime.attachAudioEngine(e)}attachRenderer(e){this.runtime.attachRenderer(e)}get renderer(){return this.runtime&&this.runtime.renderer}attachV2SVGAdapter(){}attachV2BitmapAdapter(e){this.runtime.attachV2BitmapAdapter(e)}attachStorage(e){this.runtime.attachStorage(e)}setLocale(e,t){return e!==f.setup().locale&&f.setup({locale:e,translations:{[e]:t}}),this.emit("LOCALE_CHANGED",e),this.extensionManager.refreshBlocks()}getLocale(){return f.setup().locale}blockListener(e){this.editingTarget&&this.editingTarget.blocks.blocklyListen(e)}flyoutBlockListener(e){this.runtime.flyoutBlocks.blocklyListen(e)}monitorBlockListener(e){-1!==["create","change"].indexOf(e.type)&&this.runtime.monitorBlocks.blocklyListen(e)}variableListener(e){-1!==["var_create","var_rename","var_delete"].indexOf(e.type)&&this.runtime.getTargetForStage().blocks.blocklyListen(e)}clearFlyoutBlocks(){this.runtime.flyoutBlocks.deleteAllBlocks()}setEditingTarget(e){if(this.editingTarget&&e===this.editingTarget.id)return;const t=this.runtime.getTargetById(e);t&&(this.editingTarget=t,this.emitTargetsUpdate(!1),this.emitWorkspaceUpdate(),this.runtime.setEditingTarget(t))}exportStandaloneBlocks(e){return n(28).serializeStandaloneBlocks(e,this.runtime)}shareBlocksToTarget(e,t,r){const i=n(28),{blocks:s,extensionURLs:o}=i.deserializeStandaloneBlocks(e);y(s);const a=this.runtime.getTargetById(t);if(r){this.runtime.getTargetById(r).resolveVariableSharingConflictsWithTarget(s,a)}const l=new Set(s.map((e=>i.getExtensionIdForOpcode(e.opcode))).filter((e=>!!e)).filter((e=>!this.extensionManager.isExtensionLoaded(e))));return this._loadExtensions(l,o).then((()=>{s.forEach((e=>{a.blocks.createBlock(e)})),a.blocks.updateTargetSpecificBlocks(a.isStage)}))}shareCostumeToTarget(e,t){const n=this.editingTarget.getCostumes()[e],r=Object.assign({},n),i="".concat(r.assetId,".").concat(r.dataFormat);return b(i,r,this.runtime).then((()=>{const e=this.runtime.getTargetById(t);e&&(e.addCostume(r),e.setCostume(e.getCostumes().length-1))}))}shareSoundToTarget(e,t){const n=this.editingTarget.getSounds()[e],r=Object.assign({},n),i=this.runtime.getTargetById(t);return v(r,this.runtime,i.sprite.soundBank).then((()=>{i&&(i.addSound(r),this.emitTargetsUpdate())}))}refreshWorkspace(){this.editingTarget&&(this.emitWorkspaceUpdate(),this.runtime.setEditingTarget(this.editingTarget),this.emitTargetsUpdate(!1))}emitTargetsUpdate(e){let t;void 0===e&&(e=!0);const n=()=>(t||(t=this.runtime.targets.filter((e=>!Object.prototype.hasOwnProperty.call(e,"isOriginal")||e.isOriginal)).map((e=>e.toJSON()))),t);this.emit("targetsUpdate",{get targetList(){return n()},editingTarget:this.editingTarget?this.editingTarget.id:null}),e&&this.runtime.emitProjectChanged()}emitWorkspaceUpdate(){const e=this.runtime.getTargetForStage().variables;let t=[];for(const n in e)e[n].type===g.BROADCAST_MESSAGE_TYPE&&t.push(n);for(let e=0;e<this.runtime.targets.length;e++){const n=this.runtime.targets[e].blocks._blocks;for(const e in n)if(n[e].fields.BROADCAST_OPTION){const r=n[e].fields.BROADCAST_OPTION.id,i=t.indexOf(r);-1!==i&&(t=t.slice(0,i).concat(t.slice(i+1)))}}for(let e=0;e<t.length;e++){const n=t[e];delete this.runtime.getTargetForStage().variables[n]}const n=Object.assign({},this.runtime.getTargetForStage().variables),r=this.editingTarget.isStage?Object.create(null):Object.assign({},this.editingTarget.variables),i=Object.keys(n).map((e=>n[e])),s=Object.keys(r).map((e=>r[e])),o=Object.keys(this.editingTarget.comments).map((e=>this.editingTarget.comments[e])).filter((e=>null===e.blockId)),a='<xml xmlns="http://www.w3.org/1999/xhtml">\n <variables>\n '.concat(i.map((e=>e.toXML())).join(),"\n ").concat(s.map((e=>e.toXML(!0))).join(),"\n </variables>\n ").concat(o.map((e=>e.toXML())).join(),"\n ").concat(this.editingTarget.blocks.toXML(this.editingTarget.comments),"\n </xml>");this.emit("workspaceUpdate",{xml:a})}getTargetIdForDrawableId(e){const t=this.runtime.getTargetByDrawableId(e);return t&&Object.prototype.hasOwnProperty.call(t,"id")&&Object.prototype.hasOwnProperty.call(t,"isStage")&&!t.isStage?t.id:null}reorderTarget(e,t){let n=this.runtime.targets;if((e=u.clamp(e,0,n.length-1))===(t=u.clamp(t,0,n.length-1)))return!1;const r=n[e];return n=n.slice(0,e).concat(n.slice(e+1)),n.splice(t,0,r),this.runtime.targets=n,this.emitTargetsUpdate(),!0}reorderCostume(e,t,n){const r=this.runtime.getTargetById(e);if(r){const e=r.reorderCostume(t,n);return e&&this.runtime.emitProjectChanged(),e}return!1}reorderSound(e,t,n){const r=this.runtime.getTargetById(e);if(r){const e=r.reorderSound(t,n);return e&&this.runtime.emitProjectChanged(),e}return!1}startDrag(e){const t=this.runtime.getTargetById(e);t&&(this._dragTarget=t,t.startDrag())}stopDrag(e){const t=this.runtime.getTargetById(e);t&&(this._dragTarget=null,t.stopDrag(),this.setEditingTarget(t.sprite&&t.sprite.clones[0]?t.sprite.clones[0].id:t.id))}postSpriteInfo(e){this._dragTarget?this._dragTarget.postSpriteInfo(e):this.editingTarget.postSpriteInfo(e),this.runtime.emitProjectChanged()}setVariableValue(e,t,n){const r=this.runtime.getTargetById(e);if(r){const e=r.lookupVariableById(t);if(e)return e.value=n,e.isCloud&&this.runtime.ioDevices.cloud.requestUpdateVariable(e.name,e.value),!0}return!1}getVariableValue(e,t){const n=this.runtime.getTargetById(e);if(n){const e=n.lookupVariableById(t);if(e)return e.value}return null}configureScratchLinkSocketFactory(e){this.runtime.configureScratchLinkSocketFactory(e)}}},function(e,t,n){const r=n(1);e.exports=class{constructor(){this.callbacks=[],this.nextResponseId=0}call(e,t){for(var n=arguments.length,r=new Array(n>2?n-2:0),i=2;i<n;i++)r[i-2]=arguments[i];return this.transferCall(e,t,null,...r)}transferCall(e,t,n){try{const{provider:o,isRemote:a}=this._getServiceProvider(e);if(o){for(var r=arguments.length,i=new Array(r>3?r-3:0),s=3;s<r;s++)i[s-3]=arguments[s];if(a)return this._remoteTransferCall(o,e,t,n,...i);const l=o[t].apply(o,i);return Promise.resolve(l)}return Promise.reject(new Error("Service not found: ".concat(e)))}catch(e){return Promise.reject(e)}}_isRemoteService(e){return this._getServiceProvider(e).isRemote}_remoteCall(e,t,n){for(var r=arguments.length,i=new Array(r>3?r-3:0),s=3;s<r;s++)i[s-3]=arguments[s];return this._remoteTransferCall(e,t,n,null,...i)}_remoteTransferCall(e,t,n,r){for(var i=arguments.length,s=new Array(i>4?i-4:0),o=4;o<i;o++)s[o-4]=arguments[o];return new Promise(((i,o)=>{const a=this._storeCallbacks(i,o);s.length>0&&"function"==typeof s[s.length-1].func&&(s.pop(),s.pop()),r?e.postMessage({service:t,method:n,responseId:a,args:s},r):e.postMessage({service:t,method:n,responseId:a,args:s})}))}_storeCallbacks(e,t){const n=this.nextResponseId++;return this.callbacks[n]=[e,t],n}_deliverResponse(e,t){try{const[n,r]=this.callbacks[e];delete this.callbacks[e],t.error?r(t.error):n(t.result)}catch(e){r.error("Dispatch callback failed: ".concat(e))}}_onMessage(e,t){const n=t.data;let i;n.args=n.args||[],n.service?i="dispatch"===n.service?this._onDispatchMessage(e,n):this.call(n.service,n.method,...n.args):void 0===n.responseId?r.error("Dispatch caught malformed message from a worker: ".concat(JSON.stringify(t))):this._deliverResponse(n.responseId,n),i&&(void 0===n.responseId?r.error("Dispatch message missing required response ID: ".concat(JSON.stringify(t))):i.then((t=>e.postMessage({responseId:n.responseId,result:t})),(t=>e.postMessage({responseId:n.responseId,error:"".concat(t)}))))}_getServiceProvider(e){throw new Error("Could not get provider for ".concat(e,": _getServiceProvider not implemented"))}_onDispatchMessage(e,t){throw new Error("Unimplemented dispatch message handler cannot handle ".concat(t.method," method"))}}},function(e,t,n){const r=n(64),i=n(1),s=n(65),o=n(3),a=n(132),l={coreExample:()=>n(133),pen:()=>n(134),wedo2:()=>n(135),music:()=>n(139),microbit:()=>n(202),text2speech:()=>n(203),translate:()=>n(204),videoSensing:()=>n(205),ev3:()=>n(238),makeymakey:()=>n(240),boost:()=>n(241),gdxfor:()=>n(242),tw:()=>n(245)};e.exports=class{constructor(e){this.nextExtensionWorker=0,this.pendingExtensions=[],this.pendingWorkers=[],this.workerURLs=[],this._loadedExtensions=new Map,this.securityManager=new a,this.vm=e,this.runtime=e.runtime,this.loadingAsyncExtensions=0,this.asyncExtensionsLoadedCallbacks=[],this.builtinExtensions=Object.assign({},l),r.setService("extensions",(e=>{const t={};return t.registerExtensionServiceSync=e.registerExtensionServiceSync.bind(e),t.allocateWorker=e.allocateWorker.bind(e),t.onWorkerInit=e.onWorkerInit.bind(e),t.registerExtensionService=e.registerExtensionService.bind(e),t})(this)).catch((e=>{i.error("ExtensionManager was unable to register extension service: ".concat(JSON.stringify(e)))}))}isExtensionLoaded(e){return this._loadedExtensions.has(e)}isBuiltinExtension(e){return Object.prototype.hasOwnProperty.call(this.builtinExtensions,e)}loadExtensionIdSync(e){if(!this.isBuiltinExtension(e))return void i.warn("Could not find extension ".concat(e," in the built in extensions."));if(this.isExtensionLoaded(e)){const t="Rejecting attempt to load a second extension with ID ".concat(e);return void i.warn(t)}const t=new(this.builtinExtensions[e]())(this.runtime),n=this._registerInternalExtension(t);this._loadedExtensions.set(e,n),this.runtime.compilerRegisterExtension(e,t)}addBuiltinExtension(e,t){this.builtinExtensions[e]=()=>t}_isValidExtensionURL(e){try{const t=new URL(e);return"https:"===t.protocol||"http:"===t.protocol||"data:"===t.protocol||"file:"===t.protocol}catch(e){return!1}}async loadExtensionURL(e){if(this.isBuiltinExtension(e))return void this.loadExtensionIdSync(e);if(this.isExtensionURLLoaded(e))return;if(!this._isValidExtensionURL(e))throw new Error("Invalid extension URL: ".concat(e));this.runtime.setExternalCommunicationMethod("customExtensions",!0),this.loadingAsyncExtensions++;const t=await this.securityManager.getSandboxMode(e),i=await this.securityManager.rewriteExtensionURL(e);if("unsandboxed"===t){const{load:t}=n(246),s=await t(i,this.vm).catch((e=>this._failedLoadingExtensionScript(e))),o=this.nextExtensionWorker++;this.workerURLs[o]=e;for(const e of s){const t=e.getInfo(),n="unsandboxed.".concat(o,".").concat(t.id);r.setServiceSync(n,e),r.callSync("extensions","registerExtensionServiceSync",n),this._loadedExtensions.set(t.id,n)}return void this._finishedLoadingExtensionScript()}let s;if("worker"===t)s=n(251);else{if("iframe"!==t)throw new Error("Invalid sandbox mode: ".concat(t));s=(await n.e(1).then(n.t.bind(null,427,7))).default}return new Promise(((e,t)=>{this.pendingExtensions.push({extensionURL:i,resolve:e,reject:t}),r.addWorker(new s)})).catch((e=>this._failedLoadingExtensionScript(e)))}allAsyncExtensionsLoaded(){if(0!==this.loadingAsyncExtensions)return new Promise(((e,t)=>{this.asyncExtensionsLoadedCallbacks.push({resolve:e,reject:t})}))}refreshBlocks(){const e=Array.from(this._loadedExtensions.values()).map((e=>r.call(e,"getInfo").then((t=>{t=this._prepareExtensionInfo(e,t),r.call("runtime","_refreshExtensionPrimitives",t)})).catch((e=>{i.error("Failed to refresh built-in extension primitives",e)}))));return Promise.all(e)}allocateWorker(){const e=this.nextExtensionWorker++,t=this.pendingExtensions.shift();return this.pendingWorkers[e]=t,this.workerURLs[e]=t.extensionURL,[e,t.extensionURL]}registerExtensionServiceSync(e){const t=r.callSync(e,"getInfo");this._registerExtensionInfo(e,t)}registerExtensionService(e){r.call(e,"getInfo").then((t=>{this._loadedExtensions.set(t.id,e),this._registerExtensionInfo(e,t),this._finishedLoadingExtensionScript()}))}_finishedLoadingExtensionScript(){this.loadingAsyncExtensions--,0===this.loadingAsyncExtensions&&(this.asyncExtensionsLoadedCallbacks.forEach((e=>e.resolve())),this.asyncExtensionsLoadedCallbacks=[])}_failedLoadingExtensionScript(e){throw this.loadingAsyncExtensions--,this.asyncExtensionsLoadedCallbacks.forEach((t=>t.reject(e))),this.asyncExtensionsLoadedCallbacks=[],e}onWorkerInit(e,t){const n=this.pendingWorkers[e];delete this.pendingWorkers[e],t?n.reject(t):n.resolve()}_registerInternalExtension(e){const t=e.getInfo(),n=this.nextExtensionWorker++,i="extension_".concat(n,"_").concat(t.id);return r.setServiceSync(i,e),r.callSync("extensions","registerExtensionServiceSync",i),i}_registerExtensionInfo(e,t){t=this._prepareExtensionInfo(e,t),r.call("runtime","_registerExtensionPrimitives",t).catch((t=>{i.error("Failed to register primitives for extension on service ".concat(e,":"),t)}))}_prepareExtensionInfo(e,t){if(t=Object.assign({},t),!/^[a-z0-9]+$/i.test(t.id))throw new Error("Invalid extension id");return t.name=t.name||t.id,t.blocks=t.blocks||[],t.targetTypes=t.targetTypes||[],t.blocks=t.blocks.reduce(((t,n)=>{try{let r;if("---"===n)r="---";else r=this._prepareBlockInfo(e,n);t.push(r)}catch(e){i.error("Error processing block: ".concat(e.message,", Block:\n").concat(JSON.stringify(n)))}return t}),[]),t.menus=t.menus||{},t.menus=this._prepareMenuInfo(e,t.menus),t}_prepareMenuInfo(e,t){const n=Object.getOwnPropertyNames(t);for(let i=0;i<n.length;i++){const s=n[i];let o=t[s];if(o.items||(o={items:o},t[s]=o),"string"==typeof o.items){const t=o.items,n=r.services[e];o.items=this._getExtensionMenuItems.bind(this,n,t)}}return t}_getExtensionMenuItems(e,t){const n=this.runtime.getEditingTarget()||this.runtime.getTargetForStage(),r=n?n.id:null,i=this.runtime.makeMessageContextForTarget(n),o=e[t].call(e,r).map((e=>{switch(typeof(e=s(e,i))){case"object":return[s(e.text,i),e.value];case"string":return[e,e];default:return e}}));if(!o||o.length<1)throw new Error("Extension menu returned no items: ".concat(t));return o}_prepareBlockInfo(e,t){if(t.blockType===o.XML)return(t=Object.assign({},t)).xml=String(t.xml)||"",t;switch((t=Object.assign({},{blockType:o.COMMAND,terminal:!1,blockAllThreads:!1,arguments:{}},t)).text=t.text||t.opcode,t.blockType){case o.EVENT:t.func&&i.warn('Ignoring function "'.concat(t.func,'" for event block ').concat(t.opcode));break;case o.BUTTON:t.opcode&&i.warn('Ignoring opcode "'.concat(t.opcode,'" for button with text: ').concat(t.text)),t.callFunc=()=>{r.call(e,t.func)};break;case o.LABEL:t.opcode&&i.warn('Ignoring opcode "'.concat(t.opcode,'" for label: ').concat(t.text));break;default:{if(!t.opcode)throw new Error("Missing opcode for block");const n=t.func||t.opcode,s=t.isDynamic?e=>e&&e.mutation&&e.mutation.blockInfo:()=>t,o=(()=>{if(r._isRemoteService(e))return(t,i,s)=>r.call(e,n,t,i,s).then((e=>"number"==typeof e||"string"==typeof e||"boolean"==typeof e?e:"".concat(e))).catch((e=>(console.error("Custom extension block error",e),"".concat(e))));const t=r.services[e];return t[n]||i.warn("Could not find extension block function called ".concat(n)),(e,r,i)=>t[n](e,r,i)})();t.func=(e,t)=>{const n=s(e);return o(e,t,n)};break}}return t}getExtensionURLs(){const e={};for(const[t,n]of this._loadedExtensions.entries()){if(Object.prototype.hasOwnProperty.call(this.builtinExtensions,t))continue;const r=+n.split(".")[1],i=this.workerURLs[r];"string"==typeof i&&(e[t]=i)}return e}isExtensionURLLoaded(e){return Object.values(this.workerURLs).includes(e)}}},function(e,t,n){"use strict";var r="{",i="}",s=",",o="#",a="<",l=">",c="</",u="/>",d="'",h="offset:",p=["number","date","time","ordinal","duration","spellout"],m=["plural","select","selectordinal"];function f(e,t){var n=e.pattern,r=n.length,s=[],o=e.index,a=g(e,t);for(a&&s.push(a),a&&e.tokens&&e.tokens.push(["text",n.slice(o,e.index)]);e.index<r;){if(n[e.index]===i){if(!t)throw E(e);break}if(t&&e.tagsType&&n.slice(e.index,e.index+c.length)===c)break;s.push(v(e)),o=e.index,(a=g(e,t))&&s.push(a),a&&e.tokens&&e.tokens.push(["text",n.slice(o,e.index)])}return s}function g(e,t){for(var n=e.pattern,s=n.length,l="plural"===t||"selectordinal"===t,c=!!e.tagsType,u="{style}"===t,h="";e.index<s;){var p=n[e.index];if(p===r||p===i||l&&p===o||c&&p===a||u&&y(p.charCodeAt(0)))break;if(p===d)if((p=n[++e.index])===d)h+=p,++e.index;else if(p===r||p===i||l&&p===o||c&&p===a||u)for(h+=p;++e.index<s;)if((p=n[e.index])===d&&n[e.index+1]===d)h+=d,++e.index;else{if(p===d){++e.index;break}h+=p}else h+=d;else h+=p,++e.index}return h}function y(e){return e>=9&&e<=13||32===e||133===e||160===e||6158===e||e>=8192&&e<=8205||8232===e||8233===e||8239===e||8287===e||8288===e||12288===e||65279===e}function b(e){for(var t=e.pattern,n=t.length,r=e.index;e.index<n&&y(t.charCodeAt(e.index));)++e.index;r<e.index&&e.tokens&&e.tokens.push(["space",e.pattern.slice(r,e.index)])}function v(e){var t=e.pattern;if(t[e.index]===o)return e.tokens&&e.tokens.push(["syntax",o]),++e.index,[o];var n=function(e){var t=e.tagsType;if(!t||e.pattern[e.index]!==a)return;if(e.pattern.slice(e.index,e.index+c.length)===c)throw E(e,null,"closing tag without matching opening tag");e.tokens&&e.tokens.push(["syntax",a]);++e.index;var n=S(e,!0);if(!n)throw E(e,"placeholder id");e.tokens&&e.tokens.push(["id",n]);if(b(e),e.pattern.slice(e.index,e.index+u.length)===u)return e.tokens&&e.tokens.push(["syntax",u]),e.index+=u.length,[n,t];if(e.pattern[e.index]!==l)throw E(e,l);e.tokens&&e.tokens.push(["syntax",l]);++e.index;var r=f(e,t),i=e.index;if(e.pattern.slice(e.index,e.index+c.length)!==c)throw E(e,c+n+l);e.tokens&&e.tokens.push(["syntax",c]);e.index+=c.length;var s=S(e,!0);s&&e.tokens&&e.tokens.push(["id",s]);if(n!==s)throw e.index=i,E(e,c+n+l,c+s+l);if(b(e),e.pattern[e.index]!==l)throw E(e,l);e.tokens&&e.tokens.push(["syntax",l]);return++e.index,[n,t,{children:r}]}(e);if(n)return n;if(t[e.index]!==r)throw E(e,r);e.tokens&&e.tokens.push(["syntax",r]),++e.index,b(e);var d=S(e);if(!d)throw E(e,"placeholder id");e.tokens&&e.tokens.push(["id",d]),b(e);var m=t[e.index];if(m===i)return e.tokens&&e.tokens.push(["syntax",i]),++e.index,[d];if(m!==s)throw E(e,s+" or "+i);e.tokens&&e.tokens.push(["syntax",s]),++e.index,b(e);var g,y=S(e);if(!y)throw E(e,"placeholder type");if(e.tokens&&e.tokens.push(["type",y]),b(e),(m=t[e.index])===i){if(e.tokens&&e.tokens.push(["syntax",i]),"plural"===y||"selectordinal"===y||"select"===y)throw E(e,y+" sub-messages");return++e.index,[d,y]}if(m!==s)throw E(e,s+" or "+i);if(e.tokens&&e.tokens.push(["syntax",s]),++e.index,b(e),"plural"===y||"selectordinal"===y){var v=function(e){var t=e.pattern,n=t.length,r=0;if(t.slice(e.index,e.index+h.length)===h){e.tokens&&e.tokens.push(["offset","offset"],["syntax",":"]),e.index+=h.length,b(e);for(var i=e.index;e.index<n&&k(t.charCodeAt(e.index));)++e.index;if(i===e.index)throw E(e,"offset number");e.tokens&&e.tokens.push(["number",t.slice(i,e.index)]),r=+t.slice(i,e.index)}return r}(e);b(e),g=[d,y,v,x(e,y)]}else if("select"===y)g=[d,y,x(e,y)];else if(p.indexOf(y)>=0)g=[d,y,w(e)];else{var T=e.index,A=w(e);b(e),t[e.index]===r&&(e.index=T,A=x(e,y)),g=[d,y,A]}if(b(e),t[e.index]!==i)throw E(e,i);return e.tokens&&e.tokens.push(["syntax",i]),++e.index,g}function S(e,t){for(var n=e.pattern,c=n.length,u="";e.index<c;){var h=n[e.index];if(h===r||h===i||h===s||h===o||h===d||y(h.charCodeAt(0))||t&&(h===a||h===l||"/"===h))break;u+=h,++e.index}return u}function w(e){var t=e.index,n=g(e,"{style}");if(!n)throw E(e,"placeholder style name");return e.tokens&&e.tokens.push(["style",e.pattern.slice(t,e.index)]),n}function k(e){return e>=48&&e<=57}function x(e,t){for(var n=e.pattern,r=n.length,s={};e.index<r&&n[e.index]!==i;){var o=S(e);if(!o)throw E(e,"sub-message selector");e.tokens&&e.tokens.push(["selector",o]),b(e),s[o]=T(e,t),b(e)}if(!s.other&&m.indexOf(t)>=0)throw E(e,null,null,'"other" sub-message must be specified in '+t);return s}function T(e,t){if(e.pattern[e.index]!==r)throw E(e,r+" to start sub-message");e.tokens&&e.tokens.push(["syntax",r]),++e.index;var n=f(e,t);if(e.pattern[e.index]!==i)throw E(e,i+" to end sub-message");return e.tokens&&e.tokens.push(["syntax",i]),++e.index,n}function E(e,t,n,r){var i=e.pattern,s=i.slice(0,e.index).split(/\r?\n/),o=e.index,a=s.length,l=s.slice(-1)[0].length;return n=n||(e.index>=i.length?"end of message pattern":S(e)||i[e.index]),r||(r=function(e,t){return e?"Expected "+e+" but found "+t:"Unexpected "+t+" found"}(t,n)),new A(r+=" in "+i.replace(/\r?\n/g,"\n"),t,n,o,a,l)}function A(e,t,n,r,i,s){Error.call(this,e),this.name="SyntaxError",this.message=e,this.expected=t,this.found=n,this.offset=r,this.line=i,this.column=s}t=e.exports=function(e,t){return f({pattern:String(e),index:0,tagsType:t&&t.tagsType||null,tokens:t&&t.tokens||null},"")},A.prototype=Object.create(Error.prototype),t.SyntaxError=A},function(e,t,n){"use strict";var r=n(66),i=n(67),s=n(68);function o(e,t,n,r,i){var s=e.map((function(e){return function(e,t,n,r,i){if("string"==typeof e){var s=e;return function(){return s}}var l,c=e[0],u=e[1];if(t&&"#"===e[0]){c=t[0];var d=t[2],p=(r.number||h.number)([c,"number"],n);return function(e){return p(a(c,e)-d,e)}}"plural"===u||"selectordinal"===u?(l={},Object.keys(e[3]).forEach((function(t){l[t]=o(e[3][t],e,n,r,i)})),e=[e[0],e[1],e[2],l]):e[2]&&"object"==typeof e[2]&&(l={},Object.keys(e[2]).forEach((function(t){l[t]=o(e[2][t],e,n,r,i)})),e=[e[0],e[1],l]);var m=u&&(r[u]||h[u]);if(m){var f=m(e,n);return function(e){return f(a(c,e),e)}}return i?function(e){return String(a(c,e))}:function(e){return a(c,e)}}(e,t,n,r,i)}));return i?1===s.length?s[0]:function(e){for(var t="",n=0;n<s.length;++n)t+=s[n](e);return t}:function(e){return s.reduce((function(t,n){return t.concat(n(e))}),[])}}function a(e,t){if(t&&e in t)return t[e];for(var n=e.split("."),r=t,i=0,s=n.length;r&&i<s;++i)r=r[n[i]];return r}function l(e,t){var n=e[2],i=r.number[n]||r.parseNumberPattern(n)||r.number.default;return new Intl.NumberFormat(t,i).format}function c(e,t){var n=e[1],i=e[2],s=r[n][i]||r.parseDatePattern(i)||r[n].default;return new Intl.DateTimeFormat(t,s).format}function u(e,t){var n,r="selectordinal"===e[1]?"ordinal":"cardinal",o=e[2],a=e[3];if(Intl.PluralRules&&Intl.PluralRules.supportedLocalesOf(t).length>0)n=new Intl.PluralRules(t,{type:r});else{var l=i(t,s),c=l&&s[l][r]||d;n={select:c}}return function(e,t){return(a["="+ +e]||a[n.select(e-o)]||a.other)(t)}}function d(){return"other"}(t=e.exports=function(e,t,n){return o(e,null,t||"en",n||{},!0)}).toParts=function(e,t,n){return o(e,null,t||"en",n||{},!1)};var h={number:l,ordinal:l,spellout:l,duration:function(e,t){var n=e[2],i=r.duration[n]||r.duration.default,s=new Intl.NumberFormat(t,i.seconds).format,o=new Intl.NumberFormat(t,i.minutes).format,a=new Intl.NumberFormat(t,i.hours).format,l=/^fi$|^fi-|^da/.test(String(t))?".":":";return function(e,t){if(e=+e,!isFinite(e))return s(e);var n=~~(e/60/60),r=~~(e/60%60),i=(n?a(Math.abs(n))+l:"")+o(Math.abs(r))+l+s(Math.abs(e%60));return e<0?a(-1).replace(a(1),i):i}},date:c,time:c,plural:u,selectordinal:u,select:function(e,t){var n=e[2];return function(e,t){return(n[e]||n.other)(t)}}};t.types=h},function(e,t){e.exports=class{getSandboxMode(e){return Promise.resolve("worker")}canLoadExtensionFromProject(e){return Promise.resolve(!1)}rewriteExtensionURL(e){return Promise.resolve(e)}canFetch(e){return Promise.resolve(!0)}canOpenWindow(e){return Promise.resolve(!0)}canRedirect(e){return Promise.resolve(!0)}canRecordAudio(){return Promise.resolve(!0)}canRecordVideo(){return Promise.resolve(!0)}canReadClipboard(){return Promise.resolve(!0)}canNotify(){return Promise.resolve(!0)}canGeolocate(){return Promise.resolve(!0)}canEmbed(e){return Promise.resolve(!0)}}},function(e,t,n){const r=n(3),i=n(4);e.exports=class{constructor(e){this.runtime=e}getInfo(){return{id:"coreExample",name:"CoreEx",blocks:[{func:"MAKE_A_VARIABLE",blockType:r.BUTTON,text:"make a variable (CoreEx)"},{opcode:"exampleOpcode",blockType:r.REPORTER,text:"example block"},{opcode:"exampleWithInlineImage",blockType:r.COMMAND,text:"block with image [CLOCKWISE] inline",arguments:{CLOCKWISE:{type:i.IMAGE,dataURI:'data:image/svg+xml,%3Csvg id="rotate-counter-clockwise" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill:%233d79cc;%7D.cls-2%7Bfill:%23fff;%7D%3C/style%3E%3C/defs%3E%3Ctitle%3Erotate-counter-clockwise%3C/title%3E%3Cpath class="cls-1" d="M22.68,12.2a1.6,1.6,0,0,1-1.27.63H13.72a1.59,1.59,0,0,1-1.16-2.58l1.12-1.41a4.82,4.82,0,0,0-3.14-.77,4.31,4.31,0,0,0-2,.8,4.25,4.25,0,0,0-1.34,1.73,5.06,5.06,0,0,0,.54,4.62A5.58,5.58,0,0,0,12,17.74h0a2.26,2.26,0,0,1-.16,4.52A10.25,10.25,0,0,1,3.74,18,10.14,10.14,0,0,1,2.25,8.78,9.7,9.7,0,0,1,5.08,4.64,9.92,9.92,0,0,1,9.66,2.5a10.66,10.66,0,0,1,7.72,1.68l1.08-1.35a1.57,1.57,0,0,1,1.24-.6,1.6,1.6,0,0,1,1.54,1.21l1.7,7.37A1.57,1.57,0,0,1,22.68,12.2Z"/%3E%3Cpath class="cls-2" d="M21.38,11.83H13.77a.59.59,0,0,1-.43-1l1.75-2.19a5.9,5.9,0,0,0-4.7-1.58,5.07,5.07,0,0,0-4.11,3.17A6,6,0,0,0,7,15.77a6.51,6.51,0,0,0,5,2.92,1.31,1.31,0,0,1-.08,2.62,9.3,9.3,0,0,1-7.35-3.82A9.16,9.16,0,0,1,3.17,9.12,8.51,8.51,0,0,1,5.71,5.4,8.76,8.76,0,0,1,9.82,3.48a9.71,9.71,0,0,1,7.75,2.07l1.67-2.1a.59.59,0,0,1,1,.21L22,11.08A.59.59,0,0,1,21.38,11.83Z"/%3E%3C/svg%3E'}}}]}}exampleOpcode(){const e=this.runtime.getTargetForStage();return e?e.getName():"no stage yet"}exampleWithInlineImage(){}}},function(e,t,n){const r=n(4),i=n(3),s=n(43),o=n(2),a=n(12),l=n(24),c=n(6),u=n(5),d=n(1),h=n(13),p="color",m="saturation",f="brightness",g="transparency";class y{constructor(e){this.runtime=e,this._penDrawableId=-1,this._penSkinId=-1,this._onTargetCreated=this._onTargetCreated.bind(this),this._onTargetMoved=this._onTargetMoved.bind(this),e.on("targetWasCreated",this._onTargetCreated),e.on("RUNTIME_DISPOSED",this.clear.bind(this))}static get DEFAULT_PEN_STATE(){return{penDown:!1,color:66.66,saturation:100,brightness:100,transparency:0,_shade:50,penAttributes:{color4f:[0,0,1,1],diameter:1}}}static get PEN_SIZE_RANGE(){return{min:1,max:1200}}static get STATE_KEY(){return"Scratch.pen"}_clampPenSize(e){return this.runtime.renderer&&this.runtime.renderer.useHighQualityRender||!this.runtime.runtimeOptions.miscLimits?Math.max(0,e):u.clamp(e,y.PEN_SIZE_RANGE.min,y.PEN_SIZE_RANGE.max)}_getPenLayerID(){return this._penSkinId<0&&this.runtime.renderer&&(this._penSkinId=this.runtime.renderer.createPenSkin(),this._penDrawableId=this.runtime.renderer.createDrawable(h.PEN_LAYER),this.runtime.renderer.updateDrawableSkinId(this._penDrawableId,this._penSkinId)),this._penSkinId}_getPenState(e){let t=e._customState["Scratch.pen"];return t||(t=a.simple(y.DEFAULT_PEN_STATE),e.setCustomState(y.STATE_KEY,t)),t}_onTargetCreated(e,t){if(t){const n=t.getCustomState(y.STATE_KEY);n&&(e.setCustomState(y.STATE_KEY,a.simple(n)),n.penDown&&(e.onTargetMoved=this._onTargetMoved))}}_onTargetMoved(e,t,n,r){if(!r){const r=this._getPenLayerID();if(r>=0){const i=this._getPenState(e);this.runtime.renderer.penLine(r,i.penAttributes,t,n,e.x,e.y),this.runtime.requestRedraw()}}}_wrapColor(e){return u.wrapClamp(e,0,100)}_initColorParam(){return[{text:c({id:"pen.colorMenu.color",default:"color",description:"label for color element in color picker for pen extension"}),value:p},{text:c({id:"pen.colorMenu.saturation",default:"saturation",description:"label for saturation element in color picker for pen extension"}),value:m},{text:c({id:"pen.colorMenu.brightness",default:"brightness",description:"label for brightness element in color picker for pen extension"}),value:f},{text:c({id:"pen.colorMenu.transparency",default:"transparency",description:"label for transparency element in color picker for pen extension"}),value:g}]}_clampColorParam(e){return u.clamp(e,0,100)}_alphaToTransparency(e){return 100*(1-e)}_transparencyToAlpha(e){return 1-e/100}getInfo(){return{id:"pen",name:c({id:"pen.categoryName",default:"Pen",description:"Label for the pen extension category"}),blockIconURI:"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHZpZXdCb3g9IjAgMCA0MCA0MCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48dGl0bGU+cGVuLWljb248L3RpdGxlPjxnIHN0cm9rZT0iIzU3NUU3NSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik04Ljc1MyAzNC42MDJsLTQuMjUgMS43OCAxLjc4My00LjIzN2MxLjIxOC0yLjg5MiAyLjkwNy01LjQyMyA1LjAzLTcuNTM4TDMxLjA2NiA0LjkzYy44NDYtLjg0MiAyLjY1LS40MSA0LjAzMi45NjcgMS4zOCAxLjM3NSAxLjgxNiAzLjE3My45NyA0LjAxNUwxNi4zMTggMjkuNTljLTIuMTIzIDIuMTE2LTQuNjY0IDMuOC03LjU2NSA1LjAxMiIgZmlsbD0iI0ZGRiIvPjxwYXRoIGQ9Ik0yOS40MSA2LjExcy00LjQ1LTIuMzc4LTguMjAyIDUuNzcyYy0xLjczNCAzLjc2Ni00LjM1IDEuNTQ2LTQuMzUgMS41NDYiLz48cGF0aCBkPSJNMzYuNDIgOC44MjVjMCAuNDYzLS4xNC44NzMtLjQzMiAxLjE2NGwtOS4zMzUgOS4zYy4yODItLjI5LjQxLS42NjguNDEtMS4xMiAwLS44NzQtLjUwNy0xLjk2My0xLjQwNi0yLjg2OC0xLjM2Mi0xLjM1OC0zLjE0Ny0xLjgtNC4wMDItLjk5TDMwLjk5IDUuMDFjLjg0NC0uODQgMi42NS0uNDEgNC4wMzUuOTYuODk4LjkwNCAxLjM5NiAxLjk4MiAxLjM5NiAyLjg1NU0xMC41MTUgMzMuNzc0Yy0uNTczLjMwMi0xLjE1Ny41Ny0xLjc2NC44M0w0LjUgMzYuMzgybDEuNzg2LTQuMjM1Yy4yNTgtLjYwNC41My0xLjE4Ni44MzMtMS43NTcuNjkuMTgzIDEuNDQ4LjYyNSAyLjEwOCAxLjI4Mi42Ni42NTggMS4xMDIgMS40MTIgMS4yODcgMi4xMDIiIGZpbGw9IiM0Qzk3RkYiLz48cGF0aCBkPSJNMzYuNDk4IDguNzQ4YzAgLjQ2NC0uMTQuODc0LS40MzMgMS4xNjVsLTE5Ljc0MiAxOS42OGMtMi4xMyAyLjExLTQuNjczIDMuNzkzLTcuNTcyIDUuMDFMNC41IDM2LjM4bC45NzQtMi4zMTYgMS45MjUtLjgwOGMyLjg5OC0xLjIxOCA1LjQ0LTIuOSA3LjU3LTUuMDFsMTkuNzQzLTE5LjY4Yy4yOTItLjI5Mi40MzItLjcwMi40MzItMS4xNjUgMC0uNjQ2LS4yNy0xLjQtLjc4LTIuMTIyLjI1LjE3Mi41LjM3Ny43MzcuNjE0Ljg5OC45MDUgMS4zOTYgMS45ODMgMS4zOTYgMi44NTYiIGZpbGw9IiM1NzVFNzUiIG9wYWNpdHk9Ii4xNSIvPjxwYXRoIGQ9Ik0xOC40NSAxMi44M2MwIC41LS40MDQuOTA1LS45MDQuOTA1cy0uOTA1LS40MDUtLjkwNS0uOTA0YzAtLjUuNDA3LS45MDMuOTA2LS45MDMuNSAwIC45MDQuNDA0LjkwNC45MDR6IiBmaWxsPSIjNTc1RTc1Ii8+PC9nPjwvc3ZnPg==",blocks:[{blockType:i.LABEL,text:c({id:"tw.pen.stageSelected",default:"Stage selected: less pen blocks",description:"Label that appears in the Pen category when the stage is selected"}),filter:[s.STAGE]},{opcode:"clear",blockType:i.COMMAND,text:c({id:"pen.clear",default:"erase all",description:"erase all pen trails and stamps"})},{opcode:"stamp",blockType:i.COMMAND,text:c({id:"pen.stamp",default:"stamp",description:"render current costume on the background"}),filter:[s.SPRITE]},{opcode:"penDown",blockType:i.COMMAND,text:c({id:"pen.penDown",default:"pen down",description:"start leaving a trail when the sprite moves"}),filter:[s.SPRITE]},{opcode:"penUp",blockType:i.COMMAND,text:c({id:"pen.penUp",default:"pen up",description:"stop leaving a trail behind the sprite"}),filter:[s.SPRITE]},{opcode:"setPenColorToColor",blockType:i.COMMAND,text:c({id:"pen.setColor",default:"set pen color to [COLOR]",description:"set the pen color to a particular (RGB) value"}),arguments:{COLOR:{type:r.COLOR}},filter:[s.SPRITE]},{opcode:"changePenColorParamBy",blockType:i.COMMAND,text:c({id:"pen.changeColorParam",default:"change pen [COLOR_PARAM] by [VALUE]",description:"change the state of a pen color parameter"}),arguments:{COLOR_PARAM:{type:r.STRING,menu:"colorParam",defaultValue:p},VALUE:{type:r.NUMBER,defaultValue:10}},filter:[s.SPRITE]},{opcode:"setPenColorParamTo",blockType:i.COMMAND,text:c({id:"pen.setColorParam",default:"set pen [COLOR_PARAM] to [VALUE]",description:"set the state for a pen color parameter e.g. saturation"}),arguments:{COLOR_PARAM:{type:r.STRING,menu:"colorParam",defaultValue:p},VALUE:{type:r.NUMBER,defaultValue:50}},filter:[s.SPRITE]},{opcode:"changePenSizeBy",blockType:i.COMMAND,text:c({id:"pen.changeSize",default:"change pen size by [SIZE]",description:"change the diameter of the trail left by a sprite"}),arguments:{SIZE:{type:r.NUMBER,defaultValue:1}},filter:[s.SPRITE]},{opcode:"setPenSizeTo",blockType:i.COMMAND,text:c({id:"pen.setSize",default:"set pen size to [SIZE]",description:"set the diameter of a trail left by a sprite"}),arguments:{SIZE:{type:r.NUMBER,defaultValue:1}},filter:[s.SPRITE]},{opcode:"setPenShadeToNumber",blockType:i.COMMAND,text:c({id:"pen.setShade",default:"set pen shade to [SHADE]",description:"legacy pen blocks - set pen shade"}),arguments:{SHADE:{type:r.NUMBER,defaultValue:1}},hideFromPalette:!0},{opcode:"changePenShadeBy",blockType:i.COMMAND,text:c({id:"pen.changeShade",default:"change pen shade by [SHADE]",description:"legacy pen blocks - change pen shade"}),arguments:{SHADE:{type:r.NUMBER,defaultValue:1}},hideFromPalette:!0},{opcode:"setPenHueToNumber",blockType:i.COMMAND,text:c({id:"pen.setHue",default:"set pen color to [HUE]",description:"legacy pen blocks - set pen color to number"}),arguments:{HUE:{type:r.NUMBER,defaultValue:1}},hideFromPalette:!0},{opcode:"changePenHueBy",blockType:i.COMMAND,text:c({id:"pen.changeHue",default:"change pen color by [HUE]",description:"legacy pen blocks - change pen color"}),arguments:{HUE:{type:r.NUMBER,defaultValue:1}},hideFromPalette:!0}],menus:{colorParam:{acceptReporters:!0,items:this._initColorParam()}}}}clear(){const e=this._getPenLayerID();e>=0&&(this.runtime.renderer.penClear(e),this.runtime.requestRedraw())}stamp(e,t){this._stamp(t.target)}_stamp(e){const t=this._getPenLayerID();t>=0&&(this.runtime.renderer.penStamp(t,e.drawableID),this.runtime.requestRedraw())}penDown(e,t){this._penDown(t.target)}_penDown(e){const t=this._getPenState(e);t.penDown||(t.penDown=!0,e.onTargetMoved=this._onTargetMoved);const n=this._getPenLayerID();n>=0&&(this.runtime.renderer.penPoint(n,t.penAttributes,e.x,e.y),this.runtime.requestRedraw())}penUp(e,t){this._penUp(t.target)}_penUp(e){const t=this._getPenState(e);t.penDown&&(t.penDown=!1,e.onTargetMoved=null)}setPenColorToColor(e,t){this._setPenColorToColor(e.COLOR,t.target)}_setPenColorToColor(e,t){const n=this._getPenState(t),r=o.toRgbColorObject(e),i=l.rgbToHsv(r);n.color=i.h/360*100,n.saturation=100*i.s,n.brightness=100*i.v,Object.prototype.hasOwnProperty.call(r,"a")?n.transparency=100*(1-r.a/255):n.transparency=0,n._shade=n.brightness/2,this._updatePenColor(n)}_updatePenColor(e){const t=l.hsvToRgb({h:360*e.color/100,s:e.saturation/100,v:e.brightness/100});e.penAttributes.color4f[0]=t.r/255,e.penAttributes.color4f[1]=t.g/255,e.penAttributes.color4f[2]=t.b/255,e.penAttributes.color4f[3]=this._transparencyToAlpha(e.transparency)}_setOrChangeColorParam(e,t,n,r){switch(e){case p:n.color=this._wrapColor(t+(r?n.color:0));break;case m:n.saturation=this._clampColorParam(t+(r?n.saturation:0));break;case f:n.brightness=this._clampColorParam(t+(r?n.brightness:0));break;case g:n.transparency=this._clampColorParam(t+(r?n.transparency:0));break;default:d.warn("Tried to set or change unknown color parameter: ".concat(e))}this._updatePenColor(n)}changePenColorParamBy(e,t){const n=this._getPenState(t.target);this._setOrChangeColorParam(e.COLOR_PARAM,o.toNumber(e.VALUE),n,!0)}setPenColorParamTo(e,t){const n=this._getPenState(t.target);this._setOrChangeColorParam(e.COLOR_PARAM,o.toNumber(e.VALUE),n,!1)}changePenSizeBy(e,t){this._changePenSizeBy(o.toNumber(e.SIZE),t.target)}_changePenSizeBy(e,t){const n=this._getPenState(t).penAttributes;n.diameter=this._clampPenSize(n.diameter+e)}setPenSizeTo(e,t){this._setPenSizeTo(o.toNumber(e.SIZE),t.target)}_setPenSizeTo(e,t){this._getPenState(t).penAttributes.diameter=this._clampPenSize(e)}setPenHueToNumber(e,t){this._setPenHueToNumber(o.toNumber(e.HUE),t.target)}_setPenHueToNumber(e,t){const n=this._getPenState(t),r=e/2;this._setOrChangeColorParam(p,r,n,!1),this._setOrChangeColorParam(g,0,n,!1),this._legacyUpdatePenColor(n)}changePenHueBy(e,t){this._changePenHueBy(o.toNumber(e.HUE),t.target)}_changePenHueBy(e,t){const n=this._getPenState(t),r=e/2;this._setOrChangeColorParam(p,r,n,!0),this._legacyUpdatePenColor(n)}setPenShadeToNumber(e,t){this._setPenShadeToNumber(o.toNumber(e.SHADE),t.target)}_setPenShadeToNumber(e,t){const n=this._getPenState(t);let r=o.toNumber(e);r%=200,r<0&&(r+=200),n._shade=r,this._legacyUpdatePenColor(n)}changePenShadeBy(e,t){this._changePenShadeBy(e.SHADE,t.target)}_changePenShadeBy(e,t){const n=this._getPenState(t),r=o.toNumber(e);this._setPenShadeToNumber(n._shade+r,t)}_legacyUpdatePenColor(e){let t=l.hsvToRgb({h:360*e.color/100,s:1,v:1});const n=e._shade>100?200-e._shade:e._shade;t=n<50?l.mixRgb(l.RGB_BLACK,t,(10+n)/60):l.mixRgb(t,l.RGB_WHITE,(n-50)/60);const r=l.rgbToHsv(t);e.color=100*r.h/360,e.saturation=100*r.s,e.brightness=100*r.v,this._updatePenColor(e)}}e.exports=y},function(e,t,n){const r=n(4),i=n(3),s=n(2),o=n(6),a=n(24),l=n(31),c=n(16),u=n(5),d=n(44),h=n(1),p="00001523-1212-efde-1523-785feabcd123",m="00004f0e-1212-efde-1523-785feabcd123",f="00001527-1212-efde-1523-785feabcd123",g="00001528-1212-efde-1523-785feabcd123",y="00001560-1212-efde-1523-785feabcd123",b="00001563-1212-efde-1523-785feabcd123",v="00001565-1212-efde-1523-785feabcd123",S=100,w=1,k=23,x=34,T=35,E=6,A=5,C=1,I=2,O=3,M=4,N={TILT:0,DISTANCE:0,LED:1},R={TILT:0,DISTANCE:1,LED:0};class D{constructor(e,t){this._parent=e,this._index=t,this._direction=1,this._power=100,this._isOn=!1,this._pendingTimeoutId=null,this._pendingTimeoutStartTime=null,this._pendingTimeoutDelay=null,this.startBraking=this.startBraking.bind(this),this.turnOff=this.turnOff.bind(this)}static get BRAKE_TIME_MS(){return 1e3}get direction(){return this._direction}set direction(e){this._direction=e<0?-1:1}get power(){return this._power}set power(e){const t=Math.max(0,Math.min(e,100));if(0===t)this._power=0;else{const e=100/t;this._power=30+70/e}}get isOn(){return this._isOn}get pendingTimeoutStartTime(){return this._pendingTimeoutStartTime}get pendingTimeoutDelay(){return this._pendingTimeoutDelay}turnOn(){const e=this._parent.generateOutputCommand(this._index+1,C,[this._power*this._direction]);this._parent.send(v,e),this._isOn=!0,this._clearTimeout()}turnOnFor(e){0!==this._power&&(e=Math.max(0,e),this.turnOn(),this._setNewTimeout(this.startBraking,e))}startBraking(){if(0===this._power)return;const e=this._parent.generateOutputCommand(this._index+1,C,[127]);this._parent.send(v,e),this._isOn=!1,this._setNewTimeout(this.turnOff,D.BRAKE_TIME_MS)}turnOff(){let e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];if(0===this._power)return;const t=this._parent.generateOutputCommand(this._index+1,C,[0]);this._parent.send(v,t,e),this._isOn=!1}_clearTimeout(){null!==this._pendingTimeoutId&&(clearTimeout(this._pendingTimeoutId),this._pendingTimeoutId=null,this._pendingTimeoutStartTime=null,this._pendingTimeoutDelay=null)}_setNewTimeout(e,t){this._clearTimeout();const n=setTimeout((()=>{this._pendingTimeoutId===n&&(this._pendingTimeoutId=null,this._pendingTimeoutStartTime=null,this._pendingTimeoutDelay=null),e()}),t);this._pendingTimeoutId=n,this._pendingTimeoutStartTime=Date.now(),this._pendingTimeoutDelay=t}}class P{constructor(e,t){this._runtime=e,this._runtime.on("PROJECT_STOP_ALL",this.stopAll.bind(this)),this._extensionId=t,this._ports=["none","none"],this._motors=[null,null],this._sensors={tiltX:0,tiltY:0,distance:0},this._ble=null,this._runtime.registerPeripheralExtension(t,this),this._rateLimiter=new d(20),this._batteryLevelIntervalId=null,this.reset=this.reset.bind(this),this._onConnect=this._onConnect.bind(this),this._onMessage=this._onMessage.bind(this),this._checkBatteryLevel=this._checkBatteryLevel.bind(this)}get tiltX(){return this._sensors.tiltX}get tiltY(){return this._sensors.tiltY}get distance(){return this._sensors.distance}motor(e){return this._motors[e]}stopAllMotors(){this._motors.forEach((e=>{e&&e.turnOff(!1)}))}setLED(e){const t=[e>>16&255,e>>8&255,255&e],n=this.generateOutputCommand(E,M,t);return this.send(v,n)}setLEDMode(){const e=this.generateInputCommand(E,k,N.LED,0,R.LED,!1);return this.send(b,e)}stopLED(){const e=this.generateOutputCommand(E,M,[0,0,0]);return this.send(v,e)}playTone(e,t){const n=this.generateOutputCommand(A,I,[e,e>>8,t,t>>8]);return this.send(v,n)}stopTone(){const e=this.generateOutputCommand(A,O);return this.send(v,e,!1)}stopAll(){this.isConnected()&&(this.stopTone(),this.stopAllMotors())}scan(){this._ble&&this._ble.disconnect(),this._ble=new l(this._runtime,this._extensionId,{filters:[{services:[p]}],optionalServices:[m]},this._onConnect,this.reset)}connect(e){this._ble&&this._ble.connectPeripheral(e)}disconnect(){this._ble&&this._ble.disconnect(),this.reset()}reset(){this._ports=["none","none"],this._motors=[null,null],this._sensors={tiltX:0,tiltY:0,distance:0},this._batteryLevelIntervalId&&(window.clearInterval(this._batteryLevelIntervalId),this._batteryLevelIntervalId=null)}isConnected(){let e=!1;return this._ble&&(e=this._ble.isConnected()),e}send(e,t){let n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];return this.isConnected()?n&&!this._rateLimiter.okayToSend()?Promise.resolve():this._ble.write(m,e,c.uint8ArrayToBase64(t),"base64"):Promise.resolve()}generateOutputCommand(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,r=[e,t];return n&&(r=r.concat(n.length).concat(n)),r}generateInputCommand(e,t,n,r,i,s){return[1,2,e,t,n,r,0,0,0,i,s?1:0]}_onConnect(){this.setLEDMode(),this.setLED(255),this._ble.startNotifications(p,f,this._onMessage),this._batteryLevelIntervalId=window.setInterval(this._checkBatteryLevel,5e3)}_onMessage(e){const t=c.base64ToUint8Array(e);switch(t[0]){case 1:case 2:{const e=t[0];0===t[1]?this._clearPort(e):this._registerSensorOrMotor(e,t[3]);break}default:{const e=t[1],n=this._ports[e-1];n===T&&(this._sensors.distance=t[2]),n===x&&(this._sensors.tiltX=t[2],this._sensors.tiltY=t[3]);break}}}_checkBatteryLevel(){this._ble.read(p,g,!1)}_registerSensorOrMotor(e,t){if(this._ports[e-1]=t,t===w)this._motors[e-1]=new D(this,e-1);else{const n=t===T?"DISTANCE":"TILT",r=this.generateInputCommand(e,t,N[n],1,R[n],!0);this.send(b,r),this._ble.startNotifications(m,y,this._onMessage)}}_clearPort(e){const t=this._ports[e-1];t===x&&(this._sensors.tiltX=this._sensors.tiltY=0),t===T&&(this._sensors.distance=0),this._ports[e-1]="none",this._motors[e-1]=null}}const L="motor",B="motor A",z="motor B",U="all motors",j="this way",F="that way",W="reverse",V="up",G="down",q="left",Y="right",H="any";class _{static get EXTENSION_ID(){return"wedo2"}static get TILT_THRESHOLD(){return 15}constructor(e){this.runtime=e,this._peripheral=new P(this.runtime,_.EXTENSION_ID)}getInfo(){return{id:_.EXTENSION_ID,name:"WeDo 2.0",blockIconURI:"data:image/png;base64,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",showStatusButton:!0,blocks:[{opcode:"motorOnFor",text:o({id:"wedo2.motorOnFor",default:"turn [MOTOR_ID] on for [DURATION] seconds",description:"turn a motor on for some time"}),blockType:i.COMMAND,arguments:{MOTOR_ID:{type:r.STRING,menu:"MOTOR_ID",defaultValue:L},DURATION:{type:r.NUMBER,defaultValue:1}}},{opcode:"motorOn",text:o({id:"wedo2.motorOn",default:"turn [MOTOR_ID] on",description:"turn a motor on indefinitely"}),blockType:i.COMMAND,arguments:{MOTOR_ID:{type:r.STRING,menu:"MOTOR_ID",defaultValue:L}}},{opcode:"motorOff",text:o({id:"wedo2.motorOff",default:"turn [MOTOR_ID] off",description:"turn a motor off"}),blockType:i.COMMAND,arguments:{MOTOR_ID:{type:r.STRING,menu:"MOTOR_ID",defaultValue:L}}},{opcode:"startMotorPower",text:o({id:"wedo2.startMotorPower",default:"set [MOTOR_ID] power to [POWER]",description:"set the motor's power and turn it on"}),blockType:i.COMMAND,arguments:{MOTOR_ID:{type:r.STRING,menu:"MOTOR_ID",defaultValue:L},POWER:{type:r.NUMBER,defaultValue:100}}},{opcode:"setMotorDirection",text:o({id:"wedo2.setMotorDirection",default:"set [MOTOR_ID] direction to [MOTOR_DIRECTION]",description:"set the motor's turn direction"}),blockType:i.COMMAND,arguments:{MOTOR_ID:{type:r.STRING,menu:"MOTOR_ID",defaultValue:L},MOTOR_DIRECTION:{type:r.STRING,menu:"MOTOR_DIRECTION",defaultValue:j}}},{opcode:"setLightHue",text:o({id:"wedo2.setLightHue",default:"set light color to [HUE]",description:"set the LED color"}),blockType:i.COMMAND,arguments:{HUE:{type:r.NUMBER,defaultValue:50}}},{opcode:"playNoteFor",text:o({id:"wedo2.playNoteFor",default:"play note [NOTE] for [DURATION] seconds",description:"play a certain note for some time"}),blockType:i.COMMAND,arguments:{NOTE:{type:r.NUMBER,defaultValue:60},DURATION:{type:r.NUMBER,defaultValue:.5}},hideFromPalette:!0},{opcode:"whenDistance",text:o({id:"wedo2.whenDistance",default:"when distance [OP] [REFERENCE]",description:"check for when distance is < or > than reference"}),blockType:i.HAT,arguments:{OP:{type:r.STRING,menu:"OP",defaultValue:"<"},REFERENCE:{type:r.NUMBER,defaultValue:50}}},{opcode:"whenTilted",text:o({id:"wedo2.whenTilted",default:"when tilted [TILT_DIRECTION_ANY]",description:"check when tilted in a certain direction"}),func:"isTilted",blockType:i.HAT,arguments:{TILT_DIRECTION_ANY:{type:r.STRING,menu:"TILT_DIRECTION_ANY",defaultValue:H}}},{opcode:"getDistance",text:o({id:"wedo2.getDistance",default:"distance",description:"the value returned by the distance sensor"}),blockType:i.REPORTER},{opcode:"isTilted",text:o({id:"wedo2.isTilted",default:"tilted [TILT_DIRECTION_ANY]?",description:"whether the tilt sensor is tilted"}),blockType:i.BOOLEAN,arguments:{TILT_DIRECTION_ANY:{type:r.STRING,menu:"TILT_DIRECTION_ANY",defaultValue:H}}},{opcode:"getTiltAngle",text:o({id:"wedo2.getTiltAngle",default:"tilt angle [TILT_DIRECTION]",description:"the angle returned by the tilt sensor"}),blockType:i.REPORTER,arguments:{TILT_DIRECTION:{type:r.STRING,menu:"TILT_DIRECTION",defaultValue:V}}}],menus:{MOTOR_ID:{acceptReporters:!0,items:[{text:o({id:"wedo2.motorId.default",default:"motor",description:"label for motor element in motor menu for LEGO WeDo 2 extension"}),value:L},{text:o({id:"wedo2.motorId.a",default:"motor A",description:"label for motor A element in motor menu for LEGO WeDo 2 extension"}),value:B},{text:o({id:"wedo2.motorId.b",default:"motor B",description:"label for motor B element in motor menu for LEGO WeDo 2 extension"}),value:z},{text:o({id:"wedo2.motorId.all",default:"all motors",description:"label for all motors element in motor menu for LEGO WeDo 2 extension"}),value:U}]},MOTOR_DIRECTION:{acceptReporters:!0,items:[{text:o({id:"wedo2.motorDirection.forward",default:"this way",description:"label for forward element in motor direction menu for LEGO WeDo 2 extension"}),value:j},{text:o({id:"wedo2.motorDirection.backward",default:"that way",description:"label for backward element in motor direction menu for LEGO WeDo 2 extension"}),value:F},{text:o({id:"wedo2.motorDirection.reverse",default:"reverse",description:"label for reverse element in motor direction menu for LEGO WeDo 2 extension"}),value:W}]},TILT_DIRECTION:{acceptReporters:!0,items:[{text:o({id:"wedo2.tiltDirection.up",default:"up",description:"label for up element in tilt direction menu for LEGO WeDo 2 extension"}),value:V},{text:o({id:"wedo2.tiltDirection.down",default:"down",description:"label for down element in tilt direction menu for LEGO WeDo 2 extension"}),value:G},{text:o({id:"wedo2.tiltDirection.left",default:"left",description:"label for left element in tilt direction menu for LEGO WeDo 2 extension"}),value:q},{text:o({id:"wedo2.tiltDirection.right",default:"right",description:"label for right element in tilt direction menu for LEGO WeDo 2 extension"}),value:Y}]},TILT_DIRECTION_ANY:{acceptReporters:!0,items:[{text:o({id:"wedo2.tiltDirection.up",default:"up"}),value:V},{text:o({id:"wedo2.tiltDirection.down",default:"down"}),value:G},{text:o({id:"wedo2.tiltDirection.left",default:"left"}),value:q},{text:o({id:"wedo2.tiltDirection.right",default:"right"}),value:Y},{text:o({id:"wedo2.tiltDirection.any",default:"any",description:"label for any element in tilt direction menu for LEGO WeDo 2 extension"}),value:H}]},OP:{acceptReporters:!0,items:["<",">"]}}}}motorOnFor(e){let t=1e3*s.toNumber(e.DURATION);return t=u.clamp(t,0,15e3),new Promise((n=>{this._forEachMotor(e.MOTOR_ID,(e=>{const n=this._peripheral.motor(e);n&&n.turnOnFor(t)})),setTimeout(n,t)}))}motorOn(e){return this._forEachMotor(e.MOTOR_ID,(e=>{const t=this._peripheral.motor(e);t&&t.turnOn()})),new Promise((e=>{window.setTimeout((()=>{e()}),S)}))}motorOff(e){return this._forEachMotor(e.MOTOR_ID,(e=>{const t=this._peripheral.motor(e);t&&t.turnOff()})),new Promise((e=>{window.setTimeout((()=>{e()}),S)}))}startMotorPower(e){return this._forEachMotor(e.MOTOR_ID,(t=>{const n=this._peripheral.motor(t);n&&(n.power=u.clamp(s.toNumber(e.POWER),0,100),n.turnOn())})),new Promise((e=>{window.setTimeout((()=>{e()}),S)}))}setMotorDirection(e){return this._forEachMotor(e.MOTOR_ID,(t=>{const n=this._peripheral.motor(t);if(n){switch(e.MOTOR_DIRECTION){case j:n.direction=1;break;case F:n.direction=-1;break;case W:n.direction=-n.direction;break;default:h.warn("Unknown motor direction in setMotorDirection: ".concat(e.DIRECTION))}n.isOn&&(n.pendingTimeoutDelay?n.turnOnFor(n.pendingTimeoutStartTime+n.pendingTimeoutDelay-Date.now()):n.turnOn())}})),new Promise((e=>{window.setTimeout((()=>{e()}),S)}))}setLightHue(e){let t=s.toNumber(e.HUE);t=u.wrapClamp(t,0,100);const n=360*t/100,r=a.hsvToRgb({h:n,s:1,v:1}),i=a.rgbToDecimal(r);return this._peripheral.setLED(i),new Promise((e=>{window.setTimeout((()=>{e()}),S)}))}playNoteFor(e){let t=1e3*s.toNumber(e.DURATION);t=u.clamp(t,0,3e3);const n=u.clamp(s.toNumber(e.NOTE),25,125);if(0!==t)return new Promise((e=>{const r=this._noteToTone(n);this._peripheral.playTone(r,t),setTimeout(e,t)}))}whenDistance(e){switch(e.OP){case"<":return this._peripheral.distance<s.toNumber(e.REFERENCE);case">":return this._peripheral.distance>s.toNumber(e.REFERENCE);default:return h.warn("Unknown comparison operator in whenDistance: ".concat(e.OP)),!1}}whenTilted(e){return this._isTilted(e.TILT_DIRECTION_ANY)}getDistance(){return this._peripheral.distance}isTilted(e){return this._isTilted(e.TILT_DIRECTION_ANY)}getTiltAngle(e){return this._getTiltAngle(e.TILT_DIRECTION)}_isTilted(e){return e===H?this._getTiltAngle(V)>=_.TILT_THRESHOLD||this._getTiltAngle(G)>=_.TILT_THRESHOLD||this._getTiltAngle(q)>=_.TILT_THRESHOLD||this._getTiltAngle(Y)>=_.TILT_THRESHOLD:this._getTiltAngle(e)>=_.TILT_THRESHOLD}_getTiltAngle(e){switch(e){case V:return this._peripheral.tiltY>45?256-this._peripheral.tiltY:-this._peripheral.tiltY;case G:return this._peripheral.tiltY>45?this._peripheral.tiltY-256:this._peripheral.tiltY;case q:return this._peripheral.tiltX>45?256-this._peripheral.tiltX:-this._peripheral.tiltX;case Y:return this._peripheral.tiltX>45?this._peripheral.tiltX-256:this._peripheral.tiltX;default:h.warn("Unknown tilt direction in _getTiltAngle: ".concat(e))}}_forEachMotor(e,t){let n;switch(e){case B:n=[0];break;case z:n=[1];break;case U:case L:n=[0,1];break;default:h.warn("Invalid motor ID: ".concat(e)),n=[]}for(const e of n)t(e)}_noteToTone(e){return 440*Math.pow(2,(e-69)/12)}}e.exports=_},function(e,t,n){(function(e,t){!function(n){"use strict";var r,i="function"==typeof(r=n.atob)?r:"function"==typeof e?function(t){return new e(t,"base64").toString("binary")}:"object"==typeof n.base64js?function(e){var t=n.base64js.b64ToByteArray(e);return Array.prototype.map.call(t,(function(e){return String.fromCharCode(e)})).join("")}:function(){throw new Error("You're probably in an old browser or an iOS webworker. It might help to include beatgammit's base64-js.")};n.atob=i,t&&t.exports&&(t.exports=i)}(window)}).call(this,n(19).Buffer,n(137)(e))},function(e,t){e.exports=function(e){return e.webpackPolyfill||(e.deprecate=function(){},e.paths=[],e.children||(e.children=[]),Object.defineProperty(e,"loaded",{enumerable:!0,get:function(){return e.l}}),Object.defineProperty(e,"id",{enumerable:!0,get:function(){return e.i}}),e.webpackPolyfill=1),e}},function(e,t,n){(function(t){!function(){"use strict";e.exports=function(e){return(e instanceof t?e:t.from(e.toString(),"binary")).toString("base64")}}()}).call(this,n(19).Buffer)},function(e,t,n){const r=n(4),i=n(3),s=n(12),o=n(2),a=n(6),l=n(5),c=n(14);let u={};try{u=n(140)}catch(e){}class d{constructor(e){this.runtime=e,this._concurrencyCounter=0,this._drumPlayers=[],this._instrumentPlayerArrays=[],this._instrumentPlayerNoteArrays=[],this._bufferSources=[],this._loadAllSounds(),this._onTargetCreated=this._onTargetCreated.bind(this),this.runtime.on("targetWasCreated",this._onTargetCreated),this._playNoteForPicker=this._playNoteForPicker.bind(this),this.runtime.on("PLAY_NOTE",this._playNoteForPicker)}_loadAllSounds(){const e=[];this.DRUM_INFO.forEach(((t,n)=>{const r="drums/".concat(t.fileName),i=this._storeSound(r,n,this._drumPlayers);e.push(i)})),this.INSTRUMENT_INFO.forEach(((t,n)=>{this._instrumentPlayerArrays[n]=[],this._instrumentPlayerNoteArrays[n]=[],t.samples.forEach(((r,i)=>{const s="instruments/".concat(t.dirName,"/").concat(r),o=this._storeSound(s,i,this._instrumentPlayerArrays[n]);e.push(o)}))})),Promise.all(e).then((()=>{}))}_storeSound(e,t,n){const r="".concat(e,".mp3");if(!u[r])return;const i=u[r];return fetch(i).then((e=>e.arrayBuffer())).then((e=>this._decodeSound(e))).then((e=>{n[t]=e}))}_decodeSound(e){const t=this.runtime.audioEngine;return t?t.decodeSoundPlayer({data:{buffer:e}}):Promise.reject(new Error("No Audio Context Detected"))}_buildMenu(e){return e.map(((e,t)=>{const n={};return n.text=e.name,n.value=String(t+1),n}))}get DRUM_INFO(){return[{name:a({id:"music.drumSnare",default:"(1) Snare Drum",description:"Sound of snare drum as used in a standard drum kit"}),fileName:"1-snare"},{name:a({id:"music.drumBass",default:"(2) Bass Drum",description:"Sound of bass drum as used in a standard drum kit"}),fileName:"2-bass-drum"},{name:a({id:"music.drumSideStick",default:"(3) Side Stick",description:"Sound of a drum stick hitting the side of a drum (usually the snare)"}),fileName:"3-side-stick"},{name:a({id:"music.drumCrashCymbal",default:"(4) Crash Cymbal",description:"Sound of a drum stick hitting a crash cymbal"}),fileName:"4-crash-cymbal"},{name:a({id:"music.drumOpenHiHat",default:"(5) Open Hi-Hat",description:"Sound of a drum stick hitting a hi-hat while open"}),fileName:"5-open-hi-hat"},{name:a({id:"music.drumClosedHiHat",default:"(6) Closed Hi-Hat",description:"Sound of a drum stick hitting a hi-hat while closed"}),fileName:"6-closed-hi-hat"},{name:a({id:"music.drumTambourine",default:"(7) Tambourine",description:"Sound of a tambourine being struck"}),fileName:"7-tambourine"},{name:a({id:"music.drumHandClap",default:"(8) Hand Clap",description:"Sound of two hands clapping together"}),fileName:"8-hand-clap"},{name:a({id:"music.drumClaves",default:"(9) Claves",description:"Sound of claves being struck together"}),fileName:"9-claves"},{name:a({id:"music.drumWoodBlock",default:"(10) Wood Block",description:"Sound of a wood block being struck"}),fileName:"10-wood-block"},{name:a({id:"music.drumCowbell",default:"(11) Cowbell",description:"Sound of a cowbell being struck"}),fileName:"11-cowbell"},{name:a({id:"music.drumTriangle",default:"(12) Triangle",description:"Sound of a triangle (instrument) being struck"}),fileName:"12-triangle"},{name:a({id:"music.drumBongo",default:"(13) Bongo",description:"Sound of a bongo being struck"}),fileName:"13-bongo"},{name:a({id:"music.drumConga",default:"(14) Conga",description:"Sound of a conga being struck"}),fileName:"14-conga"},{name:a({id:"music.drumCabasa",default:"(15) Cabasa",description:"Sound of a cabasa being shaken"}),fileName:"15-cabasa"},{name:a({id:"music.drumGuiro",default:"(16) Guiro",description:"Sound of a guiro being played"}),fileName:"16-guiro"},{name:a({id:"music.drumVibraslap",default:"(17) Vibraslap",description:"Sound of a Vibraslap being played"}),fileName:"17-vibraslap"},{name:a({id:"music.drumCuica",default:"(18) Cuica",description:"Sound of a cuica being played"}),fileName:"18-cuica"}]}get INSTRUMENT_INFO(){return[{name:a({id:"music.instrumentPiano",default:"(1) Piano",description:"Sound of a piano"}),dirName:"1-piano",releaseTime:.5,samples:[24,36,48,60,72,84,96,108]},{name:a({id:"music.instrumentElectricPiano",default:"(2) Electric Piano",description:"Sound of an electric piano"}),dirName:"2-electric-piano",releaseTime:.5,samples:[60]},{name:a({id:"music.instrumentOrgan",default:"(3) Organ",description:"Sound of an organ"}),dirName:"3-organ",releaseTime:.5,samples:[60]},{name:a({id:"music.instrumentGuitar",default:"(4) Guitar",description:"Sound of an accoustic guitar"}),dirName:"4-guitar",releaseTime:.5,samples:[60]},{name:a({id:"music.instrumentElectricGuitar",default:"(5) Electric Guitar",description:"Sound of an electric guitar"}),dirName:"5-electric-guitar",releaseTime:.5,samples:[60]},{name:a({id:"music.instrumentBass",default:"(6) Bass",description:"Sound of an accoustic upright bass"}),dirName:"6-bass",releaseTime:.25,samples:[36,48]},{name:a({id:"music.instrumentPizzicato",default:"(7) Pizzicato",description:"Sound of a string instrument (e.g. violin) being plucked"}),dirName:"7-pizzicato",releaseTime:.25,samples:[60]},{name:a({id:"music.instrumentCello",default:"(8) Cello",description:"Sound of a cello being played with a bow"}),dirName:"8-cello",releaseTime:.1,samples:[36,48,60]},{name:a({id:"music.instrumentTrombone",default:"(9) Trombone",description:"Sound of a trombone being played"}),dirName:"9-trombone",samples:[36,48,60]},{name:a({id:"music.instrumentClarinet",default:"(10) Clarinet",description:"Sound of a clarinet being played"}),dirName:"10-clarinet",samples:[48,60]},{name:a({id:"music.instrumentSaxophone",default:"(11) Saxophone",description:"Sound of a saxophone being played"}),dirName:"11-saxophone",samples:[36,60,84]},{name:a({id:"music.instrumentFlute",default:"(12) Flute",description:"Sound of a flute being played"}),dirName:"12-flute",samples:[60,72]},{name:a({id:"music.instrumentWoodenFlute",default:"(13) Wooden Flute",description:"Sound of a wooden flute being played"}),dirName:"13-wooden-flute",samples:[60,72]},{name:a({id:"music.instrumentBassoon",default:"(14) Bassoon",description:"Sound of a bassoon being played"}),dirName:"14-bassoon",samples:[36,48,60]},{name:a({id:"music.instrumentChoir",default:"(15) Choir",description:"Sound of a choir singing"}),dirName:"15-choir",releaseTime:.25,samples:[48,60,72]},{name:a({id:"music.instrumentVibraphone",default:"(16) Vibraphone",description:"Sound of a vibraphone being struck"}),dirName:"16-vibraphone",releaseTime:.5,samples:[60,72]},{name:a({id:"music.instrumentMusicBox",default:"(17) Music Box",description:"Sound of a music box playing"}),dirName:"17-music-box",releaseTime:.25,samples:[60]},{name:a({id:"music.instrumentSteelDrum",default:"(18) Steel Drum",description:"Sound of a steel drum being struck"}),dirName:"18-steel-drum",releaseTime:.5,samples:[60]},{name:a({id:"music.instrumentMarimba",default:"(19) Marimba",description:"Sound of a marimba being struck"}),dirName:"19-marimba",samples:[60]},{name:a({id:"music.instrumentSynthLead",default:"(20) Synth Lead",description:'Sound of a "lead" synthesizer being played'}),dirName:"20-synth-lead",releaseTime:.1,samples:[60]},{name:a({id:"music.instrumentSynthPad",default:"(21) Synth Pad",description:'Sound of a "pad" synthesizer being played'}),dirName:"21-synth-pad",releaseTime:.25,samples:[60]}]}get MIDI_INSTRUMENTS(){return[1,1,1,1,2,2,4,4,17,17,17,16,19,16,17,17,3,3,3,3,3,3,3,3,4,4,5,5,5,5,5,5,6,6,6,6,6,6,6,6,8,8,8,8,8,7,8,19,8,8,8,8,15,15,15,19,9,9,9,9,9,9,9,9,11,11,11,11,14,14,14,10,12,12,13,13,13,13,12,12,20,20,20,20,20,20,20,20,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,4,4,4,4,17,14,8,10,17,17,18,19,1,1,1,1,21,21,21,21,21,21,21,21]}get MIDI_DRUMS(){return[[1,-4],[1,0],[2,0],[0,0],[7,0],[0,2],[1,-6,4],[5,0],[1,-3,3.2],[5,0],[1,0,3],[4,-8],[1,4,3],[1,7,2.7],[3,-8],[1,10,2.7],[4,-2],[3,-11],[4,2],[6,0],[3,0,3.5],[10,0],[3,-8,3.5],[16,-6],[4,2],[12,2],[12,0],[13,0,.2],[13,0,2],[13,-5,2],[12,12],[12,5],[10,19],[10,12],[14,0],[14,0],[17,12],[17,5],[15,0],[15,0],[8,0],[9,0],[9,-4],[17,-5],[17,0],[11,-6,1],[11,-6,3]]}static get STATE_KEY(){return"Scratch.music"}static get DEFAULT_MUSIC_STATE(){return{currentInstrument:0}}static get MIDI_NOTE_RANGE(){return{min:0,max:130}}static get BEAT_RANGE(){return{min:0,max:100}}static get TEMPO_RANGE(){return{min:20,max:500}}static get CONCURRENCY_LIMIT(){return 30}_getMusicState(e){let t=e.getCustomState(d.STATE_KEY);return t||(t=s.simple(d.DEFAULT_MUSIC_STATE),e.setCustomState(d.STATE_KEY,t)),t}_onTargetCreated(e,t){if(t){const n=t.getCustomState(d.STATE_KEY);n&&e.setCustomState(d.STATE_KEY,s.simple(n))}}getInfo(){return{id:"music",name:a({id:"music.categoryName",default:"Music",description:"Label for the Music extension category"}),menuIconURI:"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTE2LjA5IDEyLjkzN2MuMjI4IDEuMTQxLS44MzMgMi4wNjMtMi4zNzMgMi4wNjMtMS41MzUgMC0yLjk2Mi0uOTIyLTMuMTg2LTIuMDYzLS4yMy0xLjE0Mi44MzMtMi4wNjggMi4zNzItMi4wNjguMzIzIDAgLjY0MS4wNDIuOTQ1LjExN2EzLjUgMy41IDAgMCAxIC40NjguMTUxYy40MzUtLjAxLS4wNTItMS4xNDctLjkxNy02LjExNC0xLjA2Ny02LjE1MiAxLjUzLS45MzUgNC4zODQtMS4zNzcgMi44NTQtLjQ0Mi4wMzggMi40MS0xLjgyNSAxLjkyMi0xLjg2Mi0uNDkzLTIuMzI1LTMuNTc3LjEzMiA3LjM3ek03LjQ2IDguNTYzYy0xLjg2Mi0uNDkzLTIuMzI1LTMuNTc2LjEzIDcuMzdDNy44MTYgMTcuMDczIDYuNzU0IDE4IDUuMjIgMThjLTEuNTM1IDAtMi45NjEtLjkyNi0zLjE5LTIuMDY4LS4yMjQtMS4xNDIuODM3LTIuMDY3IDIuMzc1LTIuMDY3LjUwMSAwIC45ODcuMDk4IDEuNDI3LjI3Mi40MTItLjAyOC0uMDc0LTEuMTg5LS45My02LjExNEMzLjgzNCAxLjg3IDYuNDMgNy4wODcgOS4yODIgNi42NDZjMi44NTQtLjQ0Ny4wMzggMi40MS0xLjgyMyAxLjkxN3oiIGZpbGw9IiM1NzVFNzUiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvc3ZnPg==",blockIconURI:"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHZpZXdCb3g9IjAgMCA0MCA0MCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PHRpdGxlPm11c2ljLWJsb2NrLWljb248L3RpdGxlPjxkZWZzPjxwYXRoIGQ9Ik0zMi4xOCAyNS44NzRDMzIuNjM2IDI4LjE1NyAzMC41MTIgMzAgMjcuNDMzIDMwYy0zLjA3IDAtNS45MjMtMS44NDMtNi4zNzItNC4xMjYtLjQ1OC0yLjI4NSAxLjY2NS00LjEzNiA0Ljc0My00LjEzNi42NDcgMCAxLjI4My4wODQgMS44OS4yMzQuMzM4LjA4Ni42MzcuMTguOTM4LjMwMi44Ny0uMDItLjEwNC0yLjI5NC0xLjgzNS0xMi4yMy0yLjEzNC0xMi4zMDIgMy4wNi0xLjg3IDguNzY4LTIuNzUyIDUuNzA4LS44ODUuMDc2IDQuODItMy42NSAzLjg0NC0zLjcyNC0uOTg3LTQuNjUtNy4xNTMuMjYzIDE0LjczOHptLTE2Ljk5OCA1Ljk5QzE1LjYzIDM0LjE0OCAxMy41MDcgMzYgMTAuNDQgMzZjLTMuMDcgMC01LjkyMi0xLjg1Mi02LjM4LTQuMTM2LS40NDgtMi4yODQgMS42NzQtNC4xMzUgNC43NS00LjEzNSAxLjAwMyAwIDEuOTc1LjE5NiAyLjg1NS41NDMuODIyLS4wNTUtLjE1LTIuMzc3LTEuODYyLTEyLjIyOC0yLjEzMy0xMi4zMDMgMy4wNi0xLjg3IDguNzY0LTIuNzUzIDUuNzA2LS44OTQuMDc2IDQuODItMy42NDggMy44MzQtMy43MjQtLjk4Ny00LjY1LTcuMTUyLjI2MiAxNC43Mzh6IiBpZD0iYSIvPjwvZGVmcz48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjx1c2UgZmlsbD0iI0ZGRiIgeGxpbms6aHJlZj0iI2EiLz48cGF0aCBzdHJva2Utb3BhY2l0eT0iLjEiIHN0cm9rZT0iIzAwMCIgZD0iTTI4LjQ1NiAyMS42NzVjLS4wMS0uMzEyLS4wODctLjgyNS0uMjU2LTEuNzAyLS4wOTYtLjQ5NS0uNjEyLTMuMDIyLS43NTMtMy43My0uMzk1LTEuOTgtLjc2LTMuOTItMS4xNDItNi4xMTMtLjczMi00LjIyMy0uNjkzLTYuMDUuMzQ0LTYuNTI3LjUtLjIzIDEuMDYtLjA4IDEuODQuMzUuNDE0LjIyNyAyLjE4MiAxLjM2NSAyLjA3IDEuMjk2IDEuOTk0IDEuMjQyIDMuNDY0IDEuNzc0IDQuOTMgMS41NDggMS41MjYtLjIzNyAyLjUwNC0uMDYgMi44NzYuNjE4LjM0OC42MzUuMDE1IDEuNDE2LS43MyAyLjE4LTEuNDcyIDEuNTE2LTMuOTc1IDIuNTE0LTUuODQ4IDIuMDIzLS44MjItLjIyLTEuMjM4LS40NjUtMi4zOC0xLjI2N2wtLjA5NS0uMDY2Yy4wNDcuNTkzLjI2NCAxLjc0LjcxNyAzLjgwMy4yOTQgMS4zMzYgMi4wOCA5LjE4NyAyLjYzNyAxMS42NzRsLjAwMi4wMTJjLjUyOCAyLjYzNy0xLjg3MyA0LjcyNC01LjIzNiA0LjcyNC0zLjI5IDAtNi4zNjMtMS45ODgtNi44NjItNC41MjgtLjUzLTIuNjQgMS44NzMtNC43MzQgNS4yMzMtNC43MzQuNjcyIDAgMS4zNDcuMDg1IDIuMDE0LjI1LjIyNy4wNTcuNDM2LjExOC42MzYuMTg3em0tMTYuOTk2IDUuOTljLS4wMS0uMzE4LS4wOS0uODM4LS4yNjYtMS43MzctLjA5LS40Ni0uNTk1LTIuOTM3LS43NTMtMy43MjctLjM5LTEuOTYtLjc1LTMuODktMS4xMy02LjA3LS43MzItNC4yMjMtLjY5Mi02LjA1LjM0NC02LjUyNi41MDItLjIzIDEuMDYtLjA4MiAxLjg0LjM1LjQxNS4yMjcgMi4xODIgMS4zNjQgMi4wNyAxLjI5NSAxLjk5MyAxLjI0MiAzLjQ2MiAxLjc3NCA0LjkyNiAxLjU0OCAxLjUyNS0uMjQgMi41MDQtLjA2NCAyLjg3Ni42MTQuMzQ4LjYzNS4wMTUgMS40MTUtLjcyOCAyLjE4LTEuNDc0IDEuNTE3LTMuOTc3IDIuNTEzLTUuODQ3IDIuMDE3LS44Mi0uMjItMS4yMzYtLjQ2NC0yLjM3OC0xLjI2N2wtLjA5NS0uMDY1Yy4wNDcuNTkzLjI2NCAxLjc0LjcxNyAzLjgwMi4yOTQgMS4zMzcgMi4wNzggOS4xOSAyLjYzNiAxMS42NzVsLjAwMy4wMTNjLjUxNyAyLjYzOC0xLjg4NCA0LjczMi01LjIzNCA0LjczMi0zLjI4NyAwLTYuMzYtMS45OTMtNi44Ny00LjU0LS41Mi0yLjY0IDEuODg0LTQuNzMgNS4yNC00LjczLjkwNSAwIDEuODAzLjE1IDIuNjUuNDM2eiIvPjwvZz48L3N2Zz4=",blocks:[{opcode:"playDrumForBeats",blockType:i.COMMAND,text:a({id:"music.playDrumForBeats",default:"play drum [DRUM] for [BEATS] beats",description:"play drum sample for a number of beats"}),arguments:{DRUM:{type:r.NUMBER,menu:"DRUM",defaultValue:1},BEATS:{type:r.NUMBER,defaultValue:.25}}},{opcode:"midiPlayDrumForBeats",blockType:i.COMMAND,text:a({id:"music.midiPlayDrumForBeats",default:"play drum [DRUM] for [BEATS] beats",description:"play drum sample for a number of beats according to a mapping of MIDI codes"}),arguments:{DRUM:{type:r.NUMBER,menu:"DRUM",defaultValue:1},BEATS:{type:r.NUMBER,defaultValue:.25}},hideFromPalette:!0},{opcode:"restForBeats",blockType:i.COMMAND,text:a({id:"music.restForBeats",default:"rest for [BEATS] beats",description:"rest (play no sound) for a number of beats"}),arguments:{BEATS:{type:r.NUMBER,defaultValue:.25}}},{opcode:"playNoteForBeats",blockType:i.COMMAND,text:a({id:"music.playNoteForBeats",default:"play note [NOTE] for [BEATS] beats",description:"play a note for a number of beats"}),arguments:{NOTE:{type:r.NOTE,defaultValue:60},BEATS:{type:r.NUMBER,defaultValue:.25}}},{opcode:"setInstrument",blockType:i.COMMAND,text:a({id:"music.setInstrument",default:"set instrument to [INSTRUMENT]",description:"set the instrument (e.g. piano, guitar, trombone) for notes played"}),arguments:{INSTRUMENT:{type:r.NUMBER,menu:"INSTRUMENT",defaultValue:1}}},{opcode:"midiSetInstrument",blockType:i.COMMAND,text:a({id:"music.midiSetInstrument",default:"set instrument to [INSTRUMENT]",description:"set the instrument for notes played according to a mapping of MIDI codes"}),arguments:{INSTRUMENT:{type:r.NUMBER,defaultValue:1}},hideFromPalette:!0},{opcode:"setTempo",blockType:i.COMMAND,text:a({id:"music.setTempo",default:"set tempo to [TEMPO]",description:"set tempo (speed) for notes, drums, and rests played"}),arguments:{TEMPO:{type:r.NUMBER,defaultValue:60}}},{opcode:"changeTempo",blockType:i.COMMAND,text:a({id:"music.changeTempo",default:"change tempo by [TEMPO]",description:"change tempo (speed) for notes, drums, and rests played"}),arguments:{TEMPO:{type:r.NUMBER,defaultValue:20}}},{opcode:"getTempo",text:a({id:"music.getTempo",default:"tempo",description:"get the current tempo (speed) for notes, drums, and rests played"}),blockType:i.REPORTER}],menus:{DRUM:{acceptReporters:!0,items:this._buildMenu(this.DRUM_INFO)},INSTRUMENT:{acceptReporters:!0,items:this._buildMenu(this.INSTRUMENT_INFO)}}}}_isConcurrencyLimited(){return this.runtime.runtimeOptions.miscLimits&&this._concurrencyCounter>d.CONCURRENCY_LIMIT}playDrumForBeats(e,t){this._playDrumForBeats(e.DRUM,e.BEATS,t)}midiPlayDrumForBeats(e,t){let n=o.toNumber(e.DRUM);n=Math.round(n);const r=this.MIDI_DRUMS[n-35];n=r?r[0]:2,n+=1,this._playDrumForBeats(n,e.BEATS,t)}_playDrumForBeats(e,t,n){this._stackTimerNeedsInit(n)?(e=o.toNumber(e),e=Math.round(e),e-=1,e=l.wrapClamp(e,0,this.DRUM_INFO.length-1),t=o.toNumber(t),t=this._clampBeats(t),this._playDrumNum(n,e),this._startStackTimer(n,this._beatsToSec(t))):this._checkStackTimer(n)}_playDrumNum(e,t){if(null===e.runtime.audioEngine)return;if(null===e.target.sprite.soundBank)return;if(this._isConcurrencyLimited())return;const n=this._drumPlayers[t];if(void 0===n)return;n.isPlaying&&!n.isStarting&&n.take();const r=e.runtime.audioEngine,i=r.audioContext.createGain();i.gain.setValueAtTime(e.target.volume/100,r.currentTime),i.connect(r.getInputNode()),this._concurrencyCounter++,n.once("stop",(()=>{this._concurrencyCounter--})),n.play(),n.connect({getInputNode:()=>i})}restForBeats(e,t){if(this._stackTimerNeedsInit(t)){let n=o.toNumber(e.BEATS);n=this._clampBeats(n),this._startStackTimer(t,this._beatsToSec(n))}else this._checkStackTimer(t)}playNoteForBeats(e,t){if(this._stackTimerNeedsInit(t)){let n=o.toNumber(e.NOTE);n=l.clamp(n,d.MIDI_NOTE_RANGE.min,d.MIDI_NOTE_RANGE.max);let r=o.toNumber(e.BEATS);if(r=this._clampBeats(r),0===r)return;const i=this._beatsToSec(r);this._playNote(t,n,i),this._startStackTimer(t,i)}else this._checkStackTimer(t)}_playNoteForPicker(e,t){if(t!==this.getInfo().name)return;const n={runtime:this.runtime,target:this.runtime.getEditingTarget()};this._playNote(n,e,.25)}_playNote(e,t,n){if(null===e.runtime.audioEngine)return;if(null===e.target.sprite.soundBank)return;if(this._isConcurrencyLimited())return;const r=this._getMusicState(e.target).currentInstrument,i=this.INSTRUMENT_INFO[r].samples,s=this._selectSampleIndexForNote(t,i);if(void 0===this._instrumentPlayerArrays[r])return;if(void 0===this._instrumentPlayerArrays[r][s])return;const o=e.runtime.audioEngine;this._instrumentPlayerNoteArrays[r][t]||(this._instrumentPlayerNoteArrays[r][t]=this._instrumentPlayerArrays[r][s].take());const a=this._instrumentPlayerNoteArrays[r][t];a.isPlaying&&!a.isStarting&&a.take();const l=i[s],c=this._ratioForPitchInterval(t-l),u=o.audioContext,d=u.createGain();d.gain.setValueAtTime(e.target.volume/100,o.currentTime);const h=u.createGain();d.connect(h),h.connect(o.getInputNode());let p=this.INSTRUMENT_INFO[r].releaseTime;void 0===p&&(p=.01);const m=u.currentTime+n,f=m+p;h.gain.setValueAtTime(1,m),h.gain.linearRampToValueAtTime(1e-4,f),this._concurrencyCounter++,a.once("stop",(()=>{this._concurrencyCounter--})),a.play(),a.connect({getInputNode:()=>d}),a.outputNode.playbackRate.value=c,a.outputNode.stop(f)}_selectSampleIndexForNote(e,t){for(let n=t.length-1;n>=0;n--)if(e>=t[n])return n;return 0}_ratioForPitchInterval(e){return Math.pow(2,e/12)}_clampBeats(e){return l.clamp(e,d.BEAT_RANGE.min,d.BEAT_RANGE.max)}_beatsToSec(e){return 60/this.getTempo()*e}_stackTimerNeedsInit(e){return!e.stackFrame.timer}_startStackTimer(e,t){e.stackFrame.timer=new c,e.stackFrame.timer.start(),e.stackFrame.duration=t,e.yield()}_checkStackTimer(e){e.stackFrame.timer.timeElapsed()<1e3*e.stackFrame.duration&&e.yield()}setInstrument(e,t){this._setInstrument(e.INSTRUMENT,t,!1)}midiSetInstrument(e,t){this._setInstrument(e.INSTRUMENT,t,!0)}_setInstrument(e,t,n){const r=this._getMusicState(t.target);e=o.toNumber(e),e=Math.round(e),e-=1,n&&(e=(this.MIDI_INSTRUMENTS[e]||0)-1),e=l.wrapClamp(e,0,this.INSTRUMENT_INFO.length-1),r.currentInstrument=e}setTempo(e){const t=o.toNumber(e.TEMPO);this._updateTempo(t)}changeTempo(e){const t=o.toNumber(e.TEMPO)+this.getTempo();this._updateTempo(t)}_updateTempo(e){e=l.clamp(e,d.TEMPO_RANGE.min,d.TEMPO_RANGE.max);const t=this.runtime.getTargetForStage();t&&(t.tempo=e)}getTempo(){const e=this.runtime.getTargetForStage();return e?e.tempo:60}}e.exports=d},function(e,t,n){e.exports={"drums/1-snare.mp3":n(141),"drums/2-bass-drum.mp3":n(142),"drums/3-side-stick.mp3":n(143),"drums/4-crash-cymbal.mp3":n(144),"drums/5-open-hi-hat.mp3":n(145),"drums/6-closed-hi-hat.mp3":n(146),"drums/7-tambourine.mp3":n(147),"drums/8-hand-clap.mp3":n(148),"drums/9-claves.mp3":n(149),"drums/10-wood-block.mp3":n(150),"drums/11-cowbell.mp3":n(151),"drums/12-triangle.mp3":n(152),"drums/13-bongo.mp3":n(153),"drums/14-conga.mp3":n(154),"drums/15-cabasa.mp3":n(155),"drums/16-guiro.mp3":n(156),"drums/17-vibraslap.mp3":n(157),"drums/18-cuica.mp3":n(158),"instruments/1-piano/24.mp3":n(159),"instruments/1-piano/36.mp3":n(160),"instruments/1-piano/48.mp3":n(161),"instruments/1-piano/60.mp3":n(162),"instruments/1-piano/72.mp3":n(163),"instruments/1-piano/84.mp3":n(164),"instruments/1-piano/96.mp3":n(165),"instruments/1-piano/108.mp3":n(166),"instruments/2-electric-piano/60.mp3":n(167),"instruments/3-organ/60.mp3":n(168),"instruments/4-guitar/60.mp3":n(169),"instruments/5-electric-guitar/60.mp3":n(170),"instruments/6-bass/36.mp3":n(171),"instruments/6-bass/48.mp3":n(172),"instruments/7-pizzicato/60.mp3":n(173),"instruments/8-cello/36.mp3":n(174),"instruments/8-cello/48.mp3":n(175),"instruments/8-cello/60.mp3":n(176),"instruments/9-trombone/36.mp3":n(177),"instruments/9-trombone/48.mp3":n(178),"instruments/9-trombone/60.mp3":n(179),"instruments/10-clarinet/48.mp3":n(180),"instruments/10-clarinet/60.mp3":n(181),"instruments/11-saxophone/36.mp3":n(182),"instruments/11-saxophone/60.mp3":n(183),"instruments/11-saxophone/84.mp3":n(184),"instruments/12-flute/60.mp3":n(185),"instruments/12-flute/72.mp3":n(186),"instruments/13-wooden-flute/60.mp3":n(187),"instruments/13-wooden-flute/72.mp3":n(188),"instruments/14-bassoon/36.mp3":n(189),"instruments/14-bassoon/48.mp3":n(190),"instruments/14-bassoon/60.mp3":n(191),"instruments/15-choir/48.mp3":n(192),"instruments/15-choir/60.mp3":n(193),"instruments/15-choir/72.mp3":n(194),"instruments/16-vibraphone/60.mp3":n(195),"instruments/16-vibraphone/72.mp3":n(196),"instruments/17-music-box/60.mp3":n(197),"instruments/18-steel-drum/60.mp3":n(198),"instruments/19-marimba/60.mp3":n(199),"instruments/20-synth-lead/60.mp3":n(200),"instruments/21-synth-pad/60.mp3":n(201)}},function(e,t){e.exports=null},function(e,t){e.exports=null},function(e,t){e.exports=null},function(e,t){e.exports=null},function(e,t){e.exports=null},function(e,t){e.exports=null},function(e,t){e.exports=null},function(e,t){e.exports=null},function(e,t){e.exports=null},function(e,t){e.exports=null},function(e,t){e.exports=null},function(e,t){e.exports=null},function(e,t){e.exports=null},function(e,t){e.exports=null},function(e,t){e.exports=null},function(e,t){e.exports=null},function(e,t){e.exports=null},function(e,t){e.exports=null},function(e,t){e.exports=null},function(e,t){e.exports=null},function(e,t){e.exports=null},function(e,t){e.exports=null},function(e,t){e.exports=null},function(e,t){e.exports=null},function(e,t){e.exports=null},function(e,t){e.exports=null},function(e,t){e.exports=null},function(e,t){e.exports=null},function(e,t){e.exports=null},function(e,t){e.exports=null},function(e,t){e.exports=null},function(e,t){e.exports=null},function(e,t){e.exports=null},function(e,t){e.exports=null},function(e,t){e.exports=null},function(e,t){e.exports=null},function(e,t){e.exports=null},function(e,t){e.exports=null},function(e,t){e.exports=null},function(e,t){e.exports=null},function(e,t){e.exports=null},function(e,t){e.exports=null},function(e,t){e.exports=null},function(e,t){e.exports=null},function(e,t){e.exports=null},function(e,t){e.exports=null},function(e,t){e.exports=null},function(e,t){e.exports=null},function(e,t){e.exports=null},function(e,t){e.exports=null},function(e,t){e.exports=null},function(e,t){e.exports=null},function(e,t){e.exports=null},function(e,t){e.exports=null},function(e,t){e.exports=null},function(e,t){e.exports=null},function(e,t){e.exports=null},function(e,t){e.exports=null},function(e,t){e.exports=null},function(e,t){e.exports=null},function(e,t){e.exports=null},function(e,t,n){const r=n(4),i=n(3),s=n(1),o=n(2),a=n(6),l=n(31),c=n(16),u=129,d=130,h="micro:bit extension stopped receiving data",p=61445,m="5261da01-fa7e-42ab-850b-7c80220097cc",f="5261da02-fa7e-42ab-850b-7c80220097cc";class g{constructor(e,t){this._runtime=e,this._ble=null,this._runtime.registerPeripheralExtension(t,this),this._extensionId=t,this._sensors={tiltX:0,tiltY:0,buttonA:0,buttonB:0,touchPins:[0,0,0],gestureState:0,ledMatrixState:new Uint8Array(5)},this._gestures={moving:!1,move:{active:!1,timeout:!1},shake:{active:!1,timeout:!1},jump:{active:!1,timeout:!1}},this._timeoutID=null,this._busy=!1,this._busyTimeoutID=null,this.reset=this.reset.bind(this),this._onConnect=this._onConnect.bind(this),this._onMessage=this._onMessage.bind(this)}displayText(e){const t=new Uint8Array(e.length);for(let n=0;n<e.length;n++)t[n]=e.charCodeAt(n);return this.send(u,t)}displayMatrix(e){return this.send(d,e)}get tiltX(){return this._sensors.tiltX}get tiltY(){return this._sensors.tiltY}get buttonA(){return this._sensors.buttonA}get buttonB(){return this._sensors.buttonB}get gestureState(){return this._sensors.gestureState}get ledMatrixState(){return this._sensors.ledMatrixState}scan(){this._ble&&this._ble.disconnect(),this._ble=new l(this._runtime,this._extensionId,{filters:[{services:[p]}]},this._onConnect,this.reset)}connect(e){this._ble&&this._ble.connectPeripheral(e)}disconnect(){this._ble&&this._ble.disconnect(),this.reset()}reset(){this._timeoutID&&(window.clearTimeout(this._timeoutID),this._timeoutID=null)}isConnected(){let e=!1;return this._ble&&(e=this._ble.isConnected()),e}send(e,t){if(!this.isConnected())return;if(this._busy)return;this._busy=!0,this._busyTimeoutID=window.setTimeout((()=>{this._busy=!1}),5e3);const n=new Uint8Array(t.length+1);n[0]=e;for(let e=0;e<t.length;e++)n[e+1]=t[e];const r=c.uint8ArrayToBase64(n);this._ble.write(p,f,r,"base64",!0).then((()=>{this._busy=!1,window.clearTimeout(this._busyTimeoutID)}))}_onConnect(){this._ble.read(p,m,!0,this._onMessage),this._timeoutID=window.setTimeout((()=>this._ble.handleDisconnectError(h)),4500)}_onMessage(e){const t=c.base64ToUint8Array(e);this._sensors.tiltX=t[1]|t[0]<<8,this._sensors.tiltX>32768&&(this._sensors.tiltX-=65536),this._sensors.tiltY=t[3]|t[2]<<8,this._sensors.tiltY>32768&&(this._sensors.tiltY-=65536),this._sensors.buttonA=t[4],this._sensors.buttonB=t[5],this._sensors.touchPins[0]=t[6],this._sensors.touchPins[1]=t[7],this._sensors.touchPins[2]=t[8],this._sensors.gestureState=t[9],window.clearTimeout(this._timeoutID),this._timeoutID=window.setTimeout((()=>this._ble.handleDisconnectError(h)),4500)}_checkPinState(e){return this._sensors.touchPins[e]}}const y="front",b="back",v="left",S="right",w="any",k="moved",x="shaken",T="jumped",E="A",A="B",C="any",I="on",O="off";class M{static get EXTENSION_NAME(){return"micro:bit"}static get EXTENSION_ID(){return"microbit"}static get TILT_THRESHOLD(){return 15}get BUTTONS_MENU(){return[{text:"A",value:E},{text:"B",value:A},{text:a({id:"microbit.buttonsMenu.any",default:"any",description:'label for "any" element in button picker for micro:bit extension'}),value:C}]}get GESTURES_MENU(){return[{text:a({id:"microbit.gesturesMenu.moved",default:"moved",description:"label for moved gesture in gesture picker for micro:bit extension"}),value:k},{text:a({id:"microbit.gesturesMenu.shaken",default:"shaken",description:"label for shaken gesture in gesture picker for micro:bit extension"}),value:x},{text:a({id:"microbit.gesturesMenu.jumped",default:"jumped",description:"label for jumped gesture in gesture picker for micro:bit extension"}),value:T}]}get PIN_STATE_MENU(){return[{text:a({id:"microbit.pinStateMenu.on",default:"on",description:"label for on element in pin state picker for micro:bit extension"}),value:I},{text:a({id:"microbit.pinStateMenu.off",default:"off",description:"label for off element in pin state picker for micro:bit extension"}),value:O}]}get TILT_DIRECTION_MENU(){return[{text:a({id:"microbit.tiltDirectionMenu.front",default:"front",description:"label for front element in tilt direction picker for micro:bit extension"}),value:y},{text:a({id:"microbit.tiltDirectionMenu.back",default:"back",description:"label for back element in tilt direction picker for micro:bit extension"}),value:b},{text:a({id:"microbit.tiltDirectionMenu.left",default:"left",description:"label for left element in tilt direction picker for micro:bit extension"}),value:v},{text:a({id:"microbit.tiltDirectionMenu.right",default:"right",description:"label for right element in tilt direction picker for micro:bit extension"}),value:S}]}get TILT_DIRECTION_ANY_MENU(){return[...this.TILT_DIRECTION_MENU,{text:a({id:"microbit.tiltDirectionMenu.any",default:"any",description:"label for any direction element in tilt direction picker for micro:bit extension"}),value:w}]}constructor(e){this.runtime=e,this._peripheral=new g(this.runtime,M.EXTENSION_ID)}getInfo(){return{id:M.EXTENSION_ID,name:M.EXTENSION_NAME,blockIconURI:"data:image/png;base64,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",showStatusButton:!0,blocks:[{opcode:"whenButtonPressed",text:a({id:"microbit.whenButtonPressed",default:"when [BTN] button pressed",description:"when the selected button on the micro:bit is pressed"}),blockType:i.HAT,arguments:{BTN:{type:r.STRING,menu:"buttons",defaultValue:E}}},{opcode:"isButtonPressed",text:a({id:"microbit.isButtonPressed",default:"[BTN] button pressed?",description:"is the selected button on the micro:bit pressed?"}),blockType:i.BOOLEAN,arguments:{BTN:{type:r.STRING,menu:"buttons",defaultValue:E}}},"---",{opcode:"whenGesture",text:a({id:"microbit.whenGesture",default:"when [GESTURE]",description:"when the selected gesture is detected by the micro:bit"}),blockType:i.HAT,arguments:{GESTURE:{type:r.STRING,menu:"gestures",defaultValue:k}}},"---",{opcode:"displaySymbol",text:a({id:"microbit.displaySymbol",default:"display [MATRIX]",description:"display a pattern on the micro:bit display"}),blockType:i.COMMAND,arguments:{MATRIX:{type:r.MATRIX,defaultValue:"0101010101100010101000100"}}},{opcode:"displayText",text:a({id:"microbit.displayText",default:"display text [TEXT]",description:"display text on the micro:bit display"}),blockType:i.COMMAND,arguments:{TEXT:{type:r.STRING,defaultValue:a({id:"microbit.defaultTextToDisplay",default:"Hello!",description:'default text to display.\n IMPORTANT - the micro:bit only supports letters a-z, A-Z.\n Please substitute a default word in your language\n that can be written with those characters,\n substitute non-accented characters or leave it as "Hello!".\n Check the micro:bit site documentation for details'})}}},{opcode:"displayClear",text:a({id:"microbit.clearDisplay",default:"clear display",description:"display nothing on the micro:bit display"}),blockType:i.COMMAND},"---",{opcode:"whenTilted",text:a({id:"microbit.whenTilted",default:"when tilted [DIRECTION]",description:"when the micro:bit is tilted in a direction"}),blockType:i.HAT,arguments:{DIRECTION:{type:r.STRING,menu:"tiltDirectionAny",defaultValue:w}}},{opcode:"isTilted",text:a({id:"microbit.isTilted",default:"tilted [DIRECTION]?",description:"is the micro:bit is tilted in a direction?"}),blockType:i.BOOLEAN,arguments:{DIRECTION:{type:r.STRING,menu:"tiltDirectionAny",defaultValue:w}}},{opcode:"getTiltAngle",text:a({id:"microbit.tiltAngle",default:"tilt angle [DIRECTION]",description:"how much the micro:bit is tilted in a direction"}),blockType:i.REPORTER,arguments:{DIRECTION:{type:r.STRING,menu:"tiltDirection",defaultValue:y}}},"---",{opcode:"whenPinConnected",text:a({id:"microbit.whenPinConnected",default:"when pin [PIN] connected",description:"when the pin detects a connection to Earth/Ground"}),blockType:i.HAT,arguments:{PIN:{type:r.STRING,menu:"touchPins",defaultValue:"0"}}}],menus:{buttons:{acceptReporters:!0,items:this.BUTTONS_MENU},gestures:{acceptReporters:!0,items:this.GESTURES_MENU},pinState:{acceptReporters:!0,items:this.PIN_STATE_MENU},tiltDirection:{acceptReporters:!0,items:this.TILT_DIRECTION_MENU},tiltDirectionAny:{acceptReporters:!0,items:this.TILT_DIRECTION_ANY_MENU},touchPins:{acceptReporters:!0,items:["0","1","2"]}}}}whenButtonPressed(e){return"any"===e.BTN?this._peripheral.buttonA|this._peripheral.buttonB:"A"===e.BTN?this._peripheral.buttonA:"B"===e.BTN&&this._peripheral.buttonB}isButtonPressed(e){return"any"===e.BTN?!!(this._peripheral.buttonA|this._peripheral.buttonB):"A"===e.BTN?0!==this._peripheral.buttonA:"B"===e.BTN&&0!==this._peripheral.buttonB}whenGesture(e){const t=o.toString(e.GESTURE);return"moved"===t?this._peripheral.gestureState>>2&1:"shaken"===t?1&this._peripheral.gestureState:"jumped"===t&&this._peripheral.gestureState>>1&1}displaySymbol(e){const t=o.toString(e.MATRIX).replace(/\s/g,"").split("").reduce(((e,t,n)=>"0"===t?e:e+Math.pow(2,n)),0);return null!==t&&(this._peripheral.ledMatrixState[0]=31&t,this._peripheral.ledMatrixState[1]=t>>5&31,this._peripheral.ledMatrixState[2]=t>>10&31,this._peripheral.ledMatrixState[3]=t>>15&31,this._peripheral.ledMatrixState[4]=t>>20&31,this._peripheral.displayMatrix(this._peripheral.ledMatrixState)),new Promise((e=>{setTimeout((()=>{e()}),100)}))}displayText(e){const t=String(e.TEXT).substring(0,19);t.length>0&&this._peripheral.displayText(t);const n=120*(6*t.length+6);return new Promise((e=>{setTimeout((()=>{e()}),n)}))}displayClear(){for(let e=0;e<5;e++)this._peripheral.ledMatrixState[e]=0;return this._peripheral.displayMatrix(this._peripheral.ledMatrixState),new Promise((e=>{setTimeout((()=>{e()}),100)}))}whenTilted(e){return this._isTilted(e.DIRECTION)}isTilted(e){return this._isTilted(e.DIRECTION)}getTiltAngle(e){return this._getTiltAngle(e.DIRECTION)}_isTilted(e){return e===w?Math.abs(this._peripheral.tiltX/10)>=M.TILT_THRESHOLD||Math.abs(this._peripheral.tiltY/10)>=M.TILT_THRESHOLD:this._getTiltAngle(e)>=M.TILT_THRESHOLD}_getTiltAngle(e){switch(e){case y:return Math.round(this._peripheral.tiltY/-10);case b:return Math.round(this._peripheral.tiltY/10);case v:return Math.round(this._peripheral.tiltX/-10);case S:return Math.round(this._peripheral.tiltX/10);default:s.warn("Unknown tilt direction in _getTiltAngle: ".concat(e))}}whenPinConnected(e){const t=parseInt(e.PIN,10);if(!isNaN(t))return!(t<0||t>2)&&this._peripheral._checkPinState(t)}}e.exports=M},function(e,t,n){const r=n(6),i=n(70),s=n(4),o=n(3),a=n(2),l=n(5),c=n(12),u=n(1),{fetchWithTimeout:d}=n(45),h="ALTO",p="TENOR",m="SQUEAK",f="GIANT",g="KITTEN",y="ar",b="zh-cn",v="da",S="nl",w="en",k="fr",x="de",T="hi",E="is",A="it",C="ja",I="ko",O="nb",M="pl",N="pt-br",R="pt",D="ro",P="ru",L="es",B="es-419",z="sv",U="tr",j="cy";class F{constructor(e){this.runtime=e,this._soundPlayers=new Map,this._stopAllSpeech=this._stopAllSpeech.bind(this),this.runtime&&this.runtime.on("PROJECT_STOP_ALL",this._stopAllSpeech),this._onTargetCreated=this._onTargetCreated.bind(this),this.runtime&&e.on("targetWasCreated",this._onTargetCreated),this._supportedLocales=this._getSupportedLocales()}get VOICE_INFO(){return{[h]:{name:r({id:"text2speech.alto",default:"alto",description:"Name for a voice with ambiguous gender."}),gender:"female",playbackRate:1},[p]:{name:r({id:"text2speech.tenor",default:"tenor",description:"Name for a voice with ambiguous gender."}),gender:"male",playbackRate:1},[m]:{name:r({id:"text2speech.squeak",default:"squeak",description:"Name for a funny voice with a high pitch."}),gender:"female",playbackRate:1.19},[f]:{name:r({id:"text2speech.giant",default:"giant",description:"Name for a funny voice with a low pitch."}),gender:"male",playbackRate:.84},[g]:{name:r({id:"text2speech.kitten",default:"kitten",description:"A baby cat."}),gender:"female",playbackRate:1.41}}}get LANGUAGE_INFO(){return{[y]:{name:"Arabic",locales:["ar"],speechSynthLocale:"arb",singleGender:!0},[b]:{name:"Chinese (Mandarin)",locales:["zh-cn","zh-tw"],speechSynthLocale:"cmn-CN",singleGender:!0},[v]:{name:"Danish",locales:["da"],speechSynthLocale:"da-DK"},[S]:{name:"Dutch",locales:["nl"],speechSynthLocale:"nl-NL"},[w]:{name:"English",locales:["en"],speechSynthLocale:"en-US"},[k]:{name:"French",locales:["fr"],speechSynthLocale:"fr-FR"},[x]:{name:"German",locales:["de"],speechSynthLocale:"de-DE"},[T]:{name:"Hindi",locales:["hi"],speechSynthLocale:"hi-IN",singleGender:!0},[E]:{name:"Icelandic",locales:["is"],speechSynthLocale:"is-IS"},[A]:{name:"Italian",locales:["it"],speechSynthLocale:"it-IT"},[C]:{name:"Japanese",locales:["ja","ja-hira"],speechSynthLocale:"ja-JP"},[I]:{name:"Korean",locales:["ko"],speechSynthLocale:"ko-KR",singleGender:!0},[O]:{name:"Norwegian",locales:["nb","nn"],speechSynthLocale:"nb-NO",singleGender:!0},[M]:{name:"Polish",locales:["pl"],speechSynthLocale:"pl-PL"},[N]:{name:"Portuguese (Brazilian)",locales:["pt-br"],speechSynthLocale:"pt-BR"},[R]:{name:"Portuguese (European)",locales:["pt"],speechSynthLocale:"pt-PT"},[D]:{name:"Romanian",locales:["ro"],speechSynthLocale:"ro-RO",singleGender:!0},[P]:{name:"Russian",locales:["ru"],speechSynthLocale:"ru-RU"},[L]:{name:"Spanish (European)",locales:["es"],speechSynthLocale:"es-ES"},[B]:{name:"Spanish (Latin American)",locales:["es-419"],speechSynthLocale:"es-US"},[z]:{name:"Swedish",locales:["sv"],speechSynthLocale:"sv-SE",singleGender:!0},[U]:{name:"Turkish",locales:["tr"],speechSynthLocale:"tr-TR",singleGender:!0},[j]:{name:"Welsh",locales:["cy"],speechSynthLocale:"cy-GB",singleGender:!0}}}static get STATE_KEY(){return"Scratch.text2speech"}static get DEFAULT_TEXT2SPEECH_STATE(){return{voiceId:h}}get DEFAULT_LANGUAGE(){return"en"}_getState(e){let t=e.getCustomState(F.STATE_KEY);return t||(t=c.simple(F.DEFAULT_TEXT2SPEECH_STATE),e.setCustomState(F.STATE_KEY,t)),t}_onTargetCreated(e,t){if(t){const n=t.getCustomState(F.STATE_KEY);n&&e.setCustomState(F.STATE_KEY,c.simple(n))}}getInfo(){let e="hello";return this.isSupportedLanguage(this.getEditorLanguage())&&(e=r({id:"text2speech.defaultTextToSpeak",default:"hello",description:"hello: the default text to speak"})),{id:"text2speech",name:r({id:"text2speech.categoryName",default:"Text to Speech",description:"Name of the Text to Speech extension."}),blockIconURI:"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNDBweCIgaGVpZ2h0PSI0MHB4IiB2aWV3Qm94PSIwIDAgNDAgNDAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDUyLjIgKDY3MTQ1KSAtIGh0dHA6Ly93d3cuYm9oZW1pYW5jb2RpbmcuY29tL3NrZXRjaCAtLT4KICAgIDx0aXRsZT5FeHRlbnNpb25zL1NvZnR3YXJlL1RleHQtdG8tU3BlZWNoLUJsb2NrPC90aXRsZT4KICAgIDxkZXNjPkNyZWF0ZWQgd2l0aCBTa2V0Y2guPC9kZXNjPgogICAgPGcgaWQ9IkV4dGVuc2lvbnMvU29mdHdhcmUvVGV4dC10by1TcGVlY2gtQmxvY2siIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHN0cm9rZS1vcGFjaXR5PSIwLjE1Ij4KICAgICAgICA8ZyBpZD0idGV4dDJzcGVlY2giIHRyYW5zZm9ybT0idHJhbnNsYXRlKDQuMDAwMDAwLCA0LjAwMDAwMCkiIGZpbGwtcnVsZT0ibm9uemVybyIgc3Ryb2tlPSIjMDAwMDAwIj4KICAgICAgICAgICAgPHBhdGggZD0iTTExLjUsMTcuNjY5MzQzNSBDMTEuNSwxNi42NTM5MjY5IDEwLjAwNjAxNDUsMTYuMDg0NDI3NCA5LjExMjU2MDI0LDE2Ljg4ODMgTDYuNDEyNTYwMjQsMTkuMDUwNzE0IEM1LjM5MzQ2NzU1LDE5Ljg2Njg5OTQgNC4wNzQ5NzM1MSwyMC4zMzE3NTc1IDIuNywyMC4zMzE3NTc1IEwyLjMsMjAuMzMxNzU3NSBDMS4yNjUxOTIzMywyMC4zMzE3NTc1IDAuNSwyMS4wMjEyMDAzIDAuNSwyMS45MDQwNzEgTDAuNSwyNi4xMzg3OTg2IEMwLjUsMjcuMDIxNjY5MyAxLjI2NTE5MjMzLDI3LjcxMTExMiAyLjMsMjcuNzExMTEyIEwyLjcsMjcuNzExMTEyIEM0LjE1NzU1NjgyLDI3LjcxMTExMiA1LjQ1MzcyMzIyLDI4LjEzMzUyNzEgNi41MTk3MjA5OCwyOC45OTggTDkuMTE4NDAyOTMsMzEuMTU5MzIxNiBDMTAuMDI2MTg1NSwzMS45MDkwNzkzIDExLjUsMzEuMzQ3MjY4OSAxMS41LDMwLjI4MzQyNTUgTDExLjUsMTcuNjY5MzQzNSBaIiBpZD0ic3BlYWtlciIgZmlsbD0iIzRENEQ0RCI+PC9wYXRoPgogICAgICAgICAgICA8cGF0aCBkPSJNMjEuNjQzNjA2NiwxNi41IEMxOS45NzcwMDk5LDE4LjQzNzAyMzQgMTcuMTA1MDI3NSwxOS45Mjg1NzE0IDE1LjY2NjY2NjcsMTkuOTI4NTcxNCBDMTUuNTEyNjM5NywxOS45Mjg1NzE0IDE1LjMxNjYyOTIsMTkuODk1OTAzIDE1LjEwOTcyNjUsMTkuNzkyNDUxNyBDMTQuNzM3NjAzOSwxOS42MDYzOTA0IDE0LjUsMTkuMjQ5OTg0NiAxNC41LDE4Ljc2MTkwNDggQzE0LjUsMTguNjU2ODA0MSAxNC41MTcwNTU1LDE4LjU1NDUwNzYgMTQuNTQ5NDQ2NywxOC40NTQwODQ0IEMxNC42MjU3NTQ1LDE4LjIxNzUwNjMgMTUuMTczNTcyMSwxNy40Njc1MzEgMTUuMjc3MjA3MSwxNy4yODA5ODgxIEMxNS41NDYzNTI2LDE2Ljc5NjUyNjEgMTUuNzM5MDI1LDE2LjIwNjM1NjEgMTUuODQzMjg5MSwxNS40MTYwMDM0IEMxMy4xODk3MDA1LDEzLjkyNjgzNjkgMTEuNSwxMS4xMTM5NjY4IDExLjUsOCBDMTEuNSwzLjMwNTU3OTYzIDE1LjMwNTU3OTYsLTAuNSAyMCwtMC41IEwyNCwtMC41IEMyOC42OTQ0MjA0LC0wLjUgMzIuNSwzLjMwNTU3OTYzIDMyLjUsOCBDMzIuNSwxMi42OTQ0MjA0IDI4LjY5NDQyMDQsMTYuNSAyNCwxNi41IEwyMS42NDM2MDY2LDE2LjUgWiIgaWQ9InNwZWVjaCIgZmlsbD0iI0ZGRkZGRiI+PC9wYXRoPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+",menuIconURI:"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMjBweCIgaGVpZ2h0PSIyMHB4IiB2aWV3Qm94PSIwIDAgMjAgMjAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDUyLjIgKDY3MTQ1KSAtIGh0dHA6Ly93d3cuYm9oZW1pYW5jb2RpbmcuY29tL3NrZXRjaCAtLT4KICAgIDx0aXRsZT5FeHRlbnNpb25zL1NvZnR3YXJlL1RleHQtdG8tU3BlZWNoLU1lbnU8L3RpdGxlPgogICAgPGRlc2M+Q3JlYXRlZCB3aXRoIFNrZXRjaC48L2Rlc2M+CiAgICA8ZyBpZD0iRXh0ZW5zaW9ucy9Tb2Z0d2FyZS9UZXh0LXRvLVNwZWVjaC1NZW51IiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj4KICAgICAgICA8ZyBpZD0idGV4dDJzcGVlY2giIHRyYW5zZm9ybT0idHJhbnNsYXRlKDIuMDAwMDAwLCAyLjAwMDAwMCkiIGZpbGwtcnVsZT0ibm9uemVybyI+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik01Ljc1LDguODM0NjcxNzMgQzUuNzUsOC4zMjY5NjM0NCA1LjAwMzAwNzI3LDguMDQyMjEzNzEgNC41NTYyODAxMiw4LjQ0NDE0OTk5IEwzLjIwNjI4MDEyLDkuNTI1MzU3MDIgQzIuNjk2NzMzNzgsOS45MzM0NDk2OCAyLjAzNzQ4Njc1LDEwLjE2NTg3ODggMS4zNSwxMC4xNjU4Nzg4IEwxLjE1LDEwLjE2NTg3ODggQzAuNjMyNTk2MTY1LDEwLjE2NTg3ODggMC4yNSwxMC41MTA2MDAyIDAuMjUsMTAuOTUyMDM1NSBMMC4yNSwxMy4wNjkzOTkzIEMwLjI1LDEzLjUxMDgzNDYgMC42MzI1OTYxNjUsMTMuODU1NTU2IDEuMTUsMTMuODU1NTU2IEwxLjM1LDEzLjg1NTU1NiBDMi4wNzg3Nzg0MSwxMy44NTU1NTYgMi43MjY4NjE2MSwxNC4wNjY3NjM2IDMuMjU5ODYwNDksMTQuNDk5IEw0LjU1OTIwMTQ3LDE1LjU3OTY2MDggQzUuMDEzMDkyNzYsMTUuOTU0NTM5NiA1Ljc1LDE1LjY3MzYzNDQgNS43NSwxNS4xNDE3MTI4IEw1Ljc1LDguODM0NjcxNzMgWiIgaWQ9InNwZWFrZXIiIHN0cm9rZS1vcGFjaXR5PSIwLjE1IiBzdHJva2U9IiMwMDAwMDAiIHN0cm9rZS13aWR0aD0iMC41IiBmaWxsPSIjNEQ0RDREIj48L3BhdGg+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMC43MDQ4MzEzLDggQzkuNzkwNjc0NjgsOS4xMzExNDg0NyA4LjMwNjYxODQsOS43MTQyODU3MSA3LjgzMzMzMzMzLDkuNzE0Mjg1NzEgQzcuODMzMzMzMzMsOS43MTQyODU3MSA3LjUsOS43MTQyODU3MSA3LjUsOS4zODA5NTIzOCBDNy41LDkuMDg1MjI2ODQgOC4wNjIyMDE2OCw4LjkwMTk0MTY0IDguMTg5MDYwNjcsNy41Njc1NDA1OCBDNi44ODk5Njk5MSw2LjkwNjc5MDA1IDYsNS41NTczMjY4MyA2LDQgQzYsMS43OTA4NjEgNy43OTA4NjEsNC4wNTgxMjI1MWUtMTYgMTAsMCBMMTIsMCBDMTQuMjA5MTM5LC00LjA1ODEyMjUxZS0xNiAxNiwxLjc5MDg2MSAxNiw0IEMxNiw2LjIwOTEzOSAxNC4yMDkxMzksOCAxMiw4IEwxMC43MDQ4MzEzLDggWiIgaWQ9InNwZWVjaCIgZmlsbD0iIzBFQkQ4QyI+PC9wYXRoPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+",blocks:[{opcode:"speakAndWait",text:r({id:"text2speech.speakAndWaitBlock",default:"speak [WORDS]",description:"Speak some words."}),blockType:o.COMMAND,arguments:{WORDS:{type:s.STRING,defaultValue:e}}},{opcode:"setVoice",text:r({id:"text2speech.setVoiceBlock",default:"set voice to [VOICE]",description:"Set the voice for speech synthesis."}),blockType:o.COMMAND,arguments:{VOICE:{type:s.STRING,menu:"voices",defaultValue:h}}},{opcode:"setLanguage",text:r({id:"text2speech.setLanguageBlock",default:"set language to [LANGUAGE]",description:"Set the language for speech synthesis."}),blockType:o.COMMAND,arguments:{LANGUAGE:{type:s.STRING,menu:"languages",defaultValue:this.getCurrentLanguage()}}}],menus:{voices:{acceptReporters:!0,items:this.getVoiceMenu()},languages:{acceptReporters:!0,items:this.getLanguageMenu()}}}}getEditorLanguage(){return(r.setup().locale||navigator.language||navigator.userLanguage||this.DEFAULT_LANGUAGE).toLowerCase()}getCurrentLanguage(){const e=this.runtime.getTargetForStage();return e?(e.textToSpeechLanguage||this.setCurrentLanguage(this.getEditorLanguage()),e.textToSpeechLanguage):this.DEFAULT_LANGUAGE}setCurrentLanguage(e){const t=this.runtime.getTargetForStage();if(!t)return;this.isSupportedLanguage(e)&&(t.textToSpeechLanguage=this._getExtensionLocaleForSupportedLocale(e));const n=i.nameMap[e.toLowerCase()];n&&this.isSupportedLanguage(n)&&(t.textToSpeechLanguage=this._getExtensionLocaleForSupportedLocale(n)),t.textToSpeechLanguage||(t.textToSpeechLanguage=this.DEFAULT_LANGUAGE)}_getExtensionLocaleForSupportedLocale(e){for(const t in this.LANGUAGE_INFO)if(this.LANGUAGE_INFO[t].locales.includes(e))return t;u.error("cannot find extension locale for locale ".concat(e))}_getSpeechSynthLocale(){let e=this.LANGUAGE_INFO[this.DEFAULT_LANGUAGE].speechSynthLocale;return this.LANGUAGE_INFO[this.getCurrentLanguage()]&&(e=this.LANGUAGE_INFO[this.getCurrentLanguage()].speechSynthLocale),e}_getSupportedLocales(){return Object.keys(this.LANGUAGE_INFO).reduce(((e,t)=>e.concat(this.LANGUAGE_INFO[t].locales)),[])}isSupportedLanguage(e){return this._supportedLocales.includes(e)}getVoiceMenu(){return Object.keys(this.VOICE_INFO).map((e=>({text:this.VOICE_INFO[e].name,value:e})))}getLanguageMenu(){const e=this.getEditorLanguage(),t={};let n=i.menuMap[e];if(n){let r=[];i.spokenLanguages&&(r=i.spokenLanguages[e],n=n.concat(r)),n.forEach((e=>{t[e.code]=e.name}))}return Object.keys(this.LANGUAGE_INFO).map((e=>{let n=this.LANGUAGE_INFO[e].name;const r=t[e];return r&&(n=r),n=n.charAt(0).toUpperCase()+n.slice(1),{text:n,value:e}}))}setVoice(e,t){const n=this._getState(t.target);let r=e.VOICE,i=parseInt(r,10);isNaN(i)||(i-=1,i=l.wrapClamp(i,0,Object.keys(this.VOICE_INFO).length-1),r=Object.keys(this.VOICE_INFO)[i]),Object.keys(this.VOICE_INFO).includes(r)&&(n.voiceId=r)}setLanguage(e){this.setCurrentLanguage(e.LANGUAGE)}_stopAllSpeech(){this._soundPlayers.forEach((e=>{e.stop()}))}speakAndWait(e,t){let n=a.toString(e.WORDS),r=this._getSpeechSynthLocale();const i=this._getState(t.target);let s=this.VOICE_INFO[i.voiceId].gender,o=this.VOICE_INFO[i.voiceId].playbackRate;this.LANGUAGE_INFO[this.getCurrentLanguage()].singleGender&&(s="female",i.voiceId===p&&(o=.89),i.voiceId===f&&(o=.79)),i.voiceId===g&&(n=n.replace(/\S+/g,"meow"),r=this.LANGUAGE_INFO[this.DEFAULT_LANGUAGE].speechSynthLocale);let l="".concat("https://synthesis-service.scratch.mit.edu","/synth");return l+="?locale=".concat(r),l+="&gender=".concat(s),l+="&text=".concat(encodeURIComponent(n.substring(0,128))),d(l,{},1e4).then((e=>{if(200!==e.status)throw new Error("HTTP ".concat(e.status," error reaching translation service"));return e.arrayBuffer()})).then((e=>{const t={data:{buffer:e}};return this.runtime.audioEngine.decodeSoundPlayer(t)})).then((e=>{this._soundPlayers.set(e.id,e),e.setPlaybackRate(o);const t=this.runtime.audioEngine.createEffectChain();return t.set("volume",250),e.connect(t),e.play(),new Promise((t=>{e.on("stop",(()=>{this._soundPlayers.delete(e.id),t()}))}))})).catch((e=>{u.warn(e)}))}}e.exports=F},function(e,t,n){const r=n(4),i=n(3),s=n(2),o=n(1),{fetchWithTimeout:a}=n(45),l=n(70),c=n(6);e.exports=class{constructor(){this._viewerLanguageCode=this.getViewerLanguageCode(),this._supportedLanguages=[],this._randomLanguageCode="en",this._translateResult="",this._lastLangTranslated="",this._lastTextTranslated=""}static get STATE_KEY(){return"Scratch.translate"}getInfo(){return this._supportedLanguages=this._getSupportedLanguages(this.getViewerLanguageCode()),this._randomLanguageCode=this._supportedLanguages[Math.floor(Math.random()*this._supportedLanguages.length)].value,{id:"translate",name:c({id:"translate.categoryName",default:"Translate",description:"Name of extension that adds translate blocks"}),blockIconURI:"data:image/png;base64,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",menuIconURI:"data:image/png;base64,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",blocks:[{opcode:"getTranslate",text:c({id:"translate.translateBlock",default:"translate [WORDS] to [LANGUAGE]",description:"translate some text to a different language"}),blockType:i.REPORTER,arguments:{WORDS:{type:r.STRING,defaultValue:c({id:"translate.defaultTextToTranslate",default:"hello",description:"hello: the default text to translate"})},LANGUAGE:{type:r.STRING,menu:"languages",defaultValue:this._randomLanguageCode}}},{opcode:"getViewerLanguage",text:c({id:"translate.viewerLanguage",default:"language",description:"the languge of the project viewer"}),blockType:i.REPORTER,arguments:{}}],menus:{languages:{acceptReporters:!0,items:this._supportedLanguages}}}}_getSupportedLanguages(e){return l.menuMap[e].map((e=>({text:e.name,value:e.code})))}getViewerLanguage(){this._viewerLanguageCode=this.getViewerLanguageCode();const e=l.menuMap[this._viewerLanguageCode];let t=e.find((e=>e.code===this._viewerLanguageCode));if(!t&&l.scratchToGoogleMap[this._viewerLanguageCode]){const n=l.scratchToGoogleMap[this._viewerLanguageCode];t=e.find((e=>e.code===n))}let n=this._viewerLanguageCode;return t&&(n=t.name),n}getViewerLanguageCode(){const e=[c.setup().locale].concat(navigator.languages),t=Object.keys(l.menuMap);return(e.reduce(((e,n)=>e||(t.indexOf(n.toLowerCase())>-1?n:e)),"")||"en").toLowerCase()}getLanguageCodeFromArg(e){const t=s.toString(e).toLowerCase();return Object.prototype.hasOwnProperty.call(l.menuMap,t)?t:Object.prototype.hasOwnProperty.call(l.nameMap,t)?l.nameMap[t]:-1!==l.previouslySupported.indexOf(t)?t:"en"}getTranslate(e){if(/^\d+$/.test(e.WORDS))return Promise.resolve(e.WORDS);if(this._lastTextTranslated===e.WORDS&&this._lastLangTranslated===e.LANGUAGE)return this._translateResult;const t=this.getLanguageCodeFromArg(e.LANGUAGE);let n="".concat("https://trampoline.turbowarp.org/translate/","translate?language=");n+=t,n+="&text=",n+=encodeURIComponent(e.WORDS);const r=this;return a(n,{},1e4).then((e=>e.text())).then((t=>{const n=JSON.parse(t).result;return r._translateResult=n,r._lastTextTranslated=e.WORDS,r._lastLangTranslated=e.LANGUAGE,n})).catch((t=>(o.warn("error fetching translate result! ".concat(t)),e.WORDS)))}}},function(e,t,n){const r=n(71),i=n(4),s=n(3),o=n(12),a=n(2),l=n(6),c=n(81),u=n(236),d={MOTION:"motion",DIRECTION:"direction"},h={STAGE:"Stage",SPRITE:"this sprite"},p={OFF:"off",ON:"on",ON_FLIPPED:"on-flipped"};class m{constructor(e){this.runtime=e,this.detect=new u,this._lastUpdate=null,this.firstInstall=!0,this.runtime.ioDevices&&(this.runtime.on(r.PROJECT_LOADED,this.updateVideoDisplay.bind(this)),this.runtime.on(r.PROJECT_RUN_START,this.reset.bind(this)),this._loop())}static get INTERVAL(){return 33}static get DIMENSIONS(){return[480,360]}static get STATE_KEY(){return"Scratch.videoSensing"}static get DEFAULT_MOTION_STATE(){return{motionFrameNumber:0,motionAmount:0,motionDirection:0}}get globalVideoTransparency(){const e=this.runtime.getTargetForStage();return e?e.videoTransparency:50}set globalVideoTransparency(e){const t=this.runtime.getTargetForStage();t&&(t.videoTransparency=e)}get globalVideoState(){const e=this.runtime.getTargetForStage();return e?e.videoState:p.OFF}set globalVideoState(e){const t=this.runtime.getTargetForStage();t&&(t.videoState=e)}updateVideoDisplay(){this.setVideoTransparency({TRANSPARENCY:this.globalVideoTransparency}),this.videoToggle({VIDEO_STATE:this.globalVideoState})}reset(){this.detect.reset();const e=this.runtime.targets;for(let t=0;t<e.length;t++){const n=e[t].getCustomState(m.STATE_KEY);n&&(n.motionAmount=0,n.motionDirection=0)}}_loop(){const e=Math.max(this.runtime.currentStepTime,m.INTERVAL);this._loopInterval=setTimeout(this._loop.bind(this),e);const t=Date.now();null===this._lastUpdate&&(this._lastUpdate=t);if(t-this._lastUpdate>m.INTERVAL){const e=this.runtime.ioDevices.video.getFrame({format:c.FORMAT_IMAGE_DATA,dimensions:m.DIMENSIONS});e&&(this._lastUpdate=t,this.detect.addFrame(e.data))}}_stopLoop(){clearTimeout(this._loopInterval)}_buildMenu(e){return e.map(((e,t)=>{const n={};return n.text=e.name,n.value=e.value||String(t+1),n}))}_getMotionState(e){let t=e.getCustomState(m.STATE_KEY);return t||(t=o.simple(m.DEFAULT_MOTION_STATE),e.setCustomState(m.STATE_KEY,t)),t}static get SensingAttribute(){return d}get ATTRIBUTE_INFO(){return[{name:l({id:"videoSensing.motion",default:"motion",description:'Attribute for the "video [ATTRIBUTE] on [SUBJECT]" block'}),value:d.MOTION},{name:l({id:"videoSensing.direction",default:"direction",description:'Attribute for the "video [ATTRIBUTE] on [SUBJECT]" block'}),value:d.DIRECTION}]}static get SensingSubject(){return h}get SUBJECT_INFO(){return[{name:l({id:"videoSensing.sprite",default:"sprite",description:'Subject for the "video [ATTRIBUTE] on [SUBJECT]" block'}),value:h.SPRITE},{name:l({id:"videoSensing.stage",default:"stage",description:'Subject for the "video [ATTRIBUTE] on [SUBJECT]" block'}),value:h.STAGE}]}static get VideoState(){return p}get VIDEO_STATE_INFO(){return[{name:l({id:"videoSensing.off",default:"off",description:'Option for the "turn video [STATE]" block'}),value:p.OFF},{name:l({id:"videoSensing.on",default:"on",description:'Option for the "turn video [STATE]" block'}),value:p.ON},{name:l({id:"videoSensing.onFlipped",default:"on flipped",description:'Option for the "turn video [STATE]" block that causes the video to be flipped horizontally (reversed as in a mirror)'}),value:p.ON_FLIPPED}]}getInfo(){return this.firstInstall&&(this.globalVideoState=p.ON,this.globalVideoTransparency=50,this.updateVideoDisplay(),this.firstInstall=!1),{id:"videoSensing",name:l({id:"videoSensing.categoryName",default:"Video Sensing",description:"Label for the video sensing extension category"}),blockIconURI:"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNDBweCIgaGVpZ2h0PSI0MHB4IiB2aWV3Qm94PSIwIDAgNDAgNDAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDUyLjIgKDY3MTQ1KSAtIGh0dHA6Ly93d3cuYm9oZW1pYW5jb2RpbmcuY29tL3NrZXRjaCAtLT4KICAgIDx0aXRsZT5FeHRlbnNpb25zL1NvZnR3YXJlL1ZpZGVvLVNlbnNpbmctQmxvY2s8L3RpdGxlPgogICAgPGRlc2M+Q3JlYXRlZCB3aXRoIFNrZXRjaC48L2Rlc2M+CiAgICA8ZyBpZD0iRXh0ZW5zaW9ucy9Tb2Z0d2FyZS9WaWRlby1TZW5zaW5nLUJsb2NrIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2Utb3BhY2l0eT0iMC4xNSI+CiAgICAgICAgPGcgaWQ9InZpZGVvLW1vdGlvbiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMC4wMDAwMDAsIDEwLjAwMDAwMCkiIGZpbGwtcnVsZT0ibm9uemVybyIgc3Ryb2tlPSIjMDAwMDAwIj4KICAgICAgICAgICAgPGNpcmNsZSBpZD0iT3ZhbC1Db3B5IiBmaWxsPSIjRkZGRkZGIiBvcGFjaXR5PSIwLjI1IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGN4PSIzMiIgY3k9IjE2IiByPSI0LjUiPjwvY2lyY2xlPgogICAgICAgICAgICA8Y2lyY2xlIGlkPSJPdmFsLUNvcHkiIGZpbGw9IiNGRkZGRkYiIG9wYWNpdHk9IjAuNSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBjeD0iMzIiIGN5PSIxMiIgcj0iNC41Ij48L2NpcmNsZT4KICAgICAgICAgICAgPGNpcmNsZSBpZD0iT3ZhbC1Db3B5IiBmaWxsPSIjRkZGRkZGIiBvcGFjaXR5PSIwLjc1IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGN4PSIzMiIgY3k9IjgiIHI9IjQuNSI+PC9jaXJjbGU+CiAgICAgICAgICAgIDxjaXJjbGUgaWQ9Ik92YWwiIGZpbGw9IiNGRkZGRkYiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgY3g9IjMyIiBjeT0iNCIgcj0iNC41Ij48L2NpcmNsZT4KICAgICAgICAgICAgPHBhdGggZD0iTTIyLjY3MTk0NzcsNC40MTk1NzY0OSBMMTYuNSw4LjQxOTkxMjk4IEwxNi41LDYuMSBDMTYuNSw0LjA4OTc2NDU0IDE0LjkzNzE4MDYsMi41IDEzLDIuNSBMNC4xLDIuNSBDMi4wNzYxNDIzNywyLjUgMC41LDQuMDc2MTQyMzcgMC41LDYuMSBMMC41LDE0IEMwLjUsMTUuOTI3Mzk4NyAyLjA4NDQ5ODM5LDE3LjUxMTg5NzEgNC4xLDE3LjYgTDEzLDE3LjYgQzE0LjkwMTY2MDIsMTcuNiAxNi41LDE1Ljk0NjU0NSAxNi41LDE0IEwxNi41LDExLjcxNjkwNDggTDIyLjc1NzI0NzksMTUuNDcxMjUzNSBMMjIuODUzNTUzNCwxNS41NDY0NDY2IEMyMi44NzM3ODg2LDE1LjU2NjY4MTggMjIuOTUxNTMxLDE1LjYgMjMsMTUuNiBDMjMuMjY2OTg2NSwxNS42IDIzLjUsMTUuMzgyNTIwNyAyMy41LDE1LjEgTDIzLjUsNC44IEMyMy41LDQuODM2NzY1MzggMjMuNDQzODA1OCw0LjcwNTY0NTYzIDIzLjM3MTI1MzUsNC41NTcyNDc4OCBDMjMuMjI1OTA1Niw0LjMxNTAwMTM5IDIyLjk0MTU5MzcsNC4yNTgxMzg5OSAyMi42NzE5NDc3LDQuNDE5NTc2NDkgWiIgaWQ9InZpZGVvXzM3XyIgZmlsbD0iIzRENEQ0RCI+PC9wYXRoPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+",menuIconURI:"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMjBweCIgaGVpZ2h0PSIyMHB4IiB2aWV3Qm94PSIwIDAgMjAgMjAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDUyLjIgKDY3MTQ1KSAtIGh0dHA6Ly93d3cuYm9oZW1pYW5jb2RpbmcuY29tL3NrZXRjaCAtLT4KICAgIDx0aXRsZT5FeHRlbnNpb25zL1NvZnR3YXJlL1ZpZGVvLVNlbnNpbmctTWVudTwvdGl0bGU+CiAgICA8ZGVzYz5DcmVhdGVkIHdpdGggU2tldGNoLjwvZGVzYz4KICAgIDxnIGlkPSJFeHRlbnNpb25zL1NvZnR3YXJlL1ZpZGVvLVNlbnNpbmctTWVudSIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPGcgaWQ9InZpZGVvLW1vdGlvbiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMC4wMDAwMDAsIDUuMDAwMDAwKSIgZmlsbC1ydWxlPSJub256ZXJvIj4KICAgICAgICAgICAgPGNpcmNsZSBpZD0iT3ZhbC1Db3B5IiBmaWxsPSIjMEVCRDhDIiBvcGFjaXR5PSIwLjI1IiBjeD0iMTYiIGN5PSI4IiByPSIyIj48L2NpcmNsZT4KICAgICAgICAgICAgPGNpcmNsZSBpZD0iT3ZhbC1Db3B5IiBmaWxsPSIjMEVCRDhDIiBvcGFjaXR5PSIwLjUiIGN4PSIxNiIgY3k9IjYiIHI9IjIiPjwvY2lyY2xlPgogICAgICAgICAgICA8Y2lyY2xlIGlkPSJPdmFsLUNvcHkiIGZpbGw9IiMwRUJEOEMiIG9wYWNpdHk9IjAuNzUiIGN4PSIxNiIgY3k9IjQiIHI9IjIiPjwvY2lyY2xlPgogICAgICAgICAgICA8Y2lyY2xlIGlkPSJPdmFsIiBmaWxsPSIjMEVCRDhDIiBjeD0iMTYiIGN5PSIyIiByPSIyIj48L2NpcmNsZT4KICAgICAgICAgICAgPHBhdGggZD0iTTExLjMzNTk3MzksMi4yMDk3ODgyNSBMOC4yNSw0LjIwOTk1NjQ5IEw4LjI1LDMuMDUgQzguMjUsMi4wNDQ4ODIyNyA3LjQ2ODU5MDMxLDEuMjUgNi41LDEuMjUgTDIuMDUsMS4yNSBDMS4wMzgwNzExOSwxLjI1IDAuMjUsMi4wMzgwNzExOSAwLjI1LDMuMDUgTDAuMjUsNyBDMC4yNSw3Ljk2MzY5OTM3IDEuMDQyMjQ5MTksOC43NTU5NDg1NiAyLjA1LDguOCBMNi41LDguOCBDNy40NTA4MzAwOSw4LjggOC4yNSw3Ljk3MzI3MjUgOC4yNSw3IEw4LjI1LDUuODU4NDUyNDEgTDguNjI4NjIzOTQsNi4wODU2MjY3NyBMMTEuNDI2Nzc2Nyw3Ljc3MzIyMzMgQzExLjQzNjg5NDMsNy43ODMzNDA5MSAxMS40NzU3NjU1LDcuOCAxMS41LDcuOCBDMTEuNjMzNDkzMiw3LjggMTEuNzUsNy42OTEyNjAzNCAxMS43NSw3LjU1IEwxMS43NSwyLjQgQzExLjc1LDIuNDE4MzgyNjkgMTEuNzIxOTAyOSwyLjM1MjgyMjgyIDExLjY4NTYyNjgsMi4yNzg2MjM5NCBDMTEuNjEyOTUyOCwyLjE1NzUwMDY5IDExLjQ3MDc5NjgsMi4xMjkwNjk1IDExLjMzNTk3MzksMi4yMDk3ODgyNSBaIiBpZD0idmlkZW9fMzdfIiBzdHJva2Utb3BhY2l0eT0iMC4xNSIgc3Ryb2tlPSIjMDAwMDAwIiBzdHJva2Utd2lkdGg9IjAuNSIgZmlsbD0iIzRENEQ0RCI+PC9wYXRoPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+",blocks:[{opcode:"whenMotionGreaterThan",text:l({id:"videoSensing.whenMotionGreaterThan",default:"when video motion > [REFERENCE]",description:"Event that triggers when the amount of motion is greater than [REFERENCE]"}),blockType:s.HAT,arguments:{REFERENCE:{type:i.NUMBER,defaultValue:10}}},{opcode:"videoOn",blockType:s.REPORTER,text:l({id:"videoSensing.videoOn",default:"video [ATTRIBUTE] on [SUBJECT]",description:"Reporter that returns the amount of [ATTRIBUTE] for the selected [SUBJECT]"}),arguments:{ATTRIBUTE:{type:i.NUMBER,menu:"ATTRIBUTE",defaultValue:d.MOTION},SUBJECT:{type:i.NUMBER,menu:"SUBJECT",defaultValue:h.SPRITE}}},{opcode:"videoToggle",text:l({id:"videoSensing.videoToggle",default:"turn video [VIDEO_STATE]",description:"Controls display of the video preview layer"}),arguments:{VIDEO_STATE:{type:i.NUMBER,menu:"VIDEO_STATE",defaultValue:p.ON}}},{opcode:"setVideoTransparency",text:l({id:"videoSensing.setVideoTransparency",default:"set video transparency to [TRANSPARENCY]",description:"Controls transparency of the video preview layer"}),arguments:{TRANSPARENCY:{type:i.NUMBER,defaultValue:50}}}],menus:{ATTRIBUTE:{acceptReporters:!0,items:this._buildMenu(this.ATTRIBUTE_INFO)},SUBJECT:{acceptReporters:!0,items:this._buildMenu(this.SUBJECT_INFO)},VIDEO_STATE:{acceptReporters:!0,items:this._buildMenu(this.VIDEO_STATE_INFO)}}}}_analyzeLocalMotion(e){const t=this.runtime.renderer._allDrawables[e.drawableID],n=this._getMotionState(e);return this.detect.getLocalMotion(t,n),n}videoOn(e,t){this.detect.analyzeFrame();let n=this.detect;return e.SUBJECT===h.SPRITE&&(n=this._analyzeLocalMotion(t.target)),e.ATTRIBUTE===d.MOTION?n.motionAmount:n.motionDirection}whenMotionGreaterThan(e,t){this.detect.analyzeFrame();return this._analyzeLocalMotion(t.target).motionAmount>Number(e.REFERENCE)}videoToggle(e){const t=e.VIDEO_STATE;this.globalVideoState=t,t===p.OFF?this.runtime.ioDevices.video.disableVideo():(this.runtime.ioDevices.video.enableVideo(),this.runtime.ioDevices.video.mirror=t===p.ON)}setVideoTransparency(e){const t=a.toNumber(e.TRANSPARENCY);this.globalVideoTransparency=t,this.runtime.ioDevices.video.setPreviewGhost(t)}}e.exports=m},function(e,t,n){const r=n(73),i=n(74),s=n(8),o=function e(t,n,i,o){t.attribs.id||(t.attribs.id=s());const a={id:t.attribs.id,opcode:t.attribs.type,inputs:{},fields:{},next:null,topLevel:i,parent:o,shadow:"shadow"===t.name,x:t.attribs.x,y:t.attribs.y};n[a.id]=a;for(let i=0;i<t.children.length;i++){const s=t.children[i];let o=null,l=null;for(let e=0;e<s.children.length;e++){const t=s.children[e];if(!t.name)continue;const n=t.name.toLowerCase();"block"===n?o=t:"shadow"===n&&(l=t)}switch(!o&&l&&(o=l),s.name.toLowerCase()){case"field":{const e=s.attribs.name,t=s.attribs.id;let n="";n=s.children.length>0&&s.children[0].data?s.children[0].data:"",a.fields[e]={name:e,id:t,value:n};const r=s.attribs.variabletype;"string"==typeof r&&(a.fields[e].variableType=r);break}case"comment":a.comment=s.attribs.id;break;case"value":case"statement":{e(o,n,!1,a.id),l&&o!==l&&e(l,n,!1,a.id);const t=s.attribs.name;a.inputs[t]={name:t,block:o.attribs.id,shadow:l?l.attribs.id:null};break}case"next":if(!o||!o.attribs)continue;e(o,n,!1,a.id),a.next=o.attribs.id;break;case"mutation":a.mutation=r(s)}}};e.exports=function(e){if("object"==typeof e&&"object"==typeof e.xml)return function(e){const t={};for(let n=0;n<e.length;n++){const r=e[n];if(!r.name||!r.attribs)continue;const i=r.name.toLowerCase();"block"!==i&&"shadow"!==i||o(r,t,!0,null)}const n=[];for(const e in t)Object.prototype.hasOwnProperty.call(t,e)&&n.push(t[e]);return n}(i.parseDOM(e.xml.outerHTML,{decodeEntities:!0}))}},function(e,t){var n={amp:"&",apos:"'",lt:"<",gt:">",quot:'"',nbsp:" "},r=/&([a-z]+);/gi;e.exports=function(e){return e.replace(r,(function(e,t){return t=t.toLowerCase(),n.hasOwnProperty(t)?n[t]:e}))}},function(e,t){let n=0;const r={},i="object"==typeof window&&window.performance;class s{constructor(e){this.id=-1,this.totalTime=0,this.selfTime=0,this.arg=null,this.depth=e,this.count=0}}class o{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:function(){};this.records=[],this.increments=[],this.counters=[],this.nullFrame=new s(-1),this._stack=[new s(0)],this.onFrame=e,this.START=0,this.STOP=1}start(e,t){this.records.push(0,e,t,i.now())}stop(){this.records.push(1,i.now())}increment(e){this.increments[e]||(this.increments[e]=new s(-1),this.increments[e].id=e),this.increments[e].count+=1}frame(e,t){for(let n=0;n<this.counters.length;n++)if(this.counters[n].id===e&&this.counters[n].arg===t)return this.counters[n];const n=new s(-1);return n.id=e,n.arg=t,this.counters.push(n),n}reportFrames(){const e=this._stack;let t=1;for(let n=0;n<this.records.length;)if(0===this.records[n]){t>=e.length&&e.push(new s(t));const r=e[t++];r.id=this.records[n+1],r.arg=this.records[n+2],r.totalTime=this.records[n+3],r.selfTime=0,n+=4}else{if(1!==this.records[n])throw this.records.length=0,new Error("Unable to decode Profiler records.");{const r=this.records[n+1],i=e[--t];i.totalTime=r-i.totalTime,i.selfTime+=i.totalTime,e[t-1].selfTime-=i.totalTime,i.count=1,this.onFrame(i),n+=2}}for(let e=0;e<this.increments.length;e++)this.increments[e]&&this.increments[e].count>0&&(this.onFrame(this.increments[e]),this.increments[e].count=0);for(let e=0;e<this.counters.length;e++)this.counters[e].count>0&&(this.onFrame(this.counters[e]),this.counters[e].count=0);this.records.length=0}idByName(e){return o.idByName(e)}nameById(e){return o.nameById(e)}static idByName(e){return"number"!=typeof r[e]&&(r[e]=n++),r[e]}static nameById(e){for(const t in r)if(r[t]===e)return t;return null}static available(){return"object"==typeof window&&void 0!==window.performance}}o.START=0,o.STOP=1,e.exports=o},function(e,t,n){const r=n(14),i=n(26),s=n(80),o=n(49);let a=-1,l=-1,c=-1;class u{constructor(e){this.timer=new r,this.runtime=e,this.activeThread=null}static get WARP_TIME(){return 500}stepThreads(){const e=.75*this.runtime.currentStepTime;this.runtime.updateCurrentMSecs(),this.timer.start();let t=1/0,n=!1;const r=[];for(;this.runtime.threads.length>0&&t>0&&this.timer.timeElapsed()<e&&(this.runtime.turboMode||!this.runtime.redrawRequested);){null!==this.runtime.profiler&&(-1===l&&(l=this.runtime.profiler.idByName("Sequencer.stepThreads#inner")),this.runtime.profiler.start(l)),t=0;let e=!1;const s=this.runtime.threads;for(let r=0;r<s.length;r++){const o=this.activeThread=s[r];0!==o.stack.length&&o.status!==i.STATUS_DONE?(o.status!==i.STATUS_YIELD_TICK||n||(o.status=i.STATUS_RUNNING),o.status!==i.STATUS_RUNNING&&o.status!==i.STATUS_YIELD||(null!==this.runtime.profiler&&(-1===a&&(a=this.runtime.profiler.idByName("Sequencer.stepThread")),this.runtime.profiler.increment(a)),this.stepThread(o),o.warpTimer=null,o.isKilled&&r--),o.status===i.STATUS_RUNNING&&t++,0!==o.stack.length&&o.status!==i.STATUS_DONE||(e=!0)):e=!0}if(n=!0,null!==this.runtime.profiler&&this.runtime.profiler.stop(),e){let e=0;for(let t=0;t<this.runtime.threads.length;t++){const n=this.runtime.threads[t];0!==n.stack.length&&n.status!==i.STATUS_DONE?(this.runtime.threads[e]=n,e++):(this.runtime.threadMap.delete(n.getId()),r.push(n))}this.runtime.threads.length=e}}return this.activeThread=null,r}stepThread(e){if(e.isCompiled)return void o(e);let t=e.peekStack();if(t||(e.popStack(),0!==e.stack.length))for(;t=e.peekStack();){let n=e.peekStackFrame().warpMode;if(n&&!e.warpTimer&&(e.warpTimer=new r,e.warpTimer.start()),null!==this.runtime.profiler&&(-1===c&&(c=this.runtime.profiler.idByName("execute")),this.runtime.profiler.increment(c)),null===e.target?this.retireThread(e):s(this,e),e.blockGlowInFrame=t,e.status===i.STATUS_YIELD){if(e.status=i.STATUS_RUNNING,n&&e.warpTimer.timeElapsed()<=u.WARP_TIME)continue;return}if(e.status===i.STATUS_PROMISE_WAIT)return;if(e.status===i.STATUS_YIELD_TICK)return;for(e.peekStack()!==t||e.peekStackFrame().waitingReporter||e.goToNextBlock();!e.peekStack();){if(e.popStack(),0===e.stack.length)return void(e.status=i.STATUS_DONE);const t=e.peekStackFrame();if(n=t.warpMode,t.isLoop){if(!n||e.warpTimer.timeElapsed()>u.WARP_TIME)return}else t.waitingReporter||e.goToNextBlock()}}else e.status=i.STATUS_DONE}stepToBranch(e,t,n){t||(t=1);const r=e.peekStack(),i=e.target.blocks.getBranch(r,t);e.peekStackFrame().isLoop=n,i?e.pushStack(i):e.pushStack(null)}stepToProcedure(e,t){const n=e.target.blocks.getProcedureDefinition(t);if(!n)return;const r=e.isRecursiveCall(t);if(e.pushStack(n),e.peekStackFrame().warpMode&&e.warpTimer.timeElapsed()>u.WARP_TIME)e.status=i.STATUS_YIELD;else{const t=e.target.blocks.getBlock(n),s=e.target.blocks.getBlock(t.inputs.custom_block.block);let o=!1;if(s&&s.mutation){const e=s.mutation.warp;"boolean"==typeof e?o=e:"string"==typeof e&&(o=JSON.parse(e))}o?e.peekStackFrame().warpMode=!0:r&&(e.status=i.STATUS_YIELD)}}retireThread(e){e.stack=[],e.stackFrame=[],e.requestScriptGlowInFrame=!1,e.status=i.STATUS_DONE,e.isCompiled&&(e.procedures=null,e.generator=null)}}e.exports=u},function(e,t,n){const{IRGenerator:r}=n(48),i=n(78);e.exports=e=>{const t=new r(e).generate(),n={},s=e.target,o=e=>{if(e.cachedCompileResult)return e.cachedCompileResult;const n=new i(e,t,s).compile();return e.cachedCompileResult=n,n},a=o(t.entry);for(const e of Object.keys(t.procedures)){const r=o(t.procedures[e]);n[e]=r}return{startingFunction:a,procedures:n,executableHat:t.entry.executableHat}}},function(e,t){e.exports={stacked:["looks_changestretchby","looks_hideallsprites","looks_say","looks_sayforsecs","looks_setstretchto","looks_switchbackdroptoandwait","looks_think","looks_thinkforsecs","motion_align_scene","motion_glidesecstoxy","motion_glideto","motion_goto","motion_pointtowards","motion_scroll_right","motion_scroll_up","sensing_askandwait","sensing_setdragmode","sound_changeeffectby","sound_changevolumeby","sound_cleareffects","sound_play","sound_playuntildone","sound_seteffectto","sound_setvolumeto","sound_stopallsounds"],inputs:["motion_xscroll","motion_yscroll","sensing_loud","sensing_loudness","sensing_userid","sound_volume"]}},function(e,t){e.exports=class{constructor(e){if(0===e.trim().length)throw new Error("prefix cannot be empty");this.prefix=e,this.count=0}next(){return"".concat(this.prefix).concat(this.count++)}}},function(e,t,n){const r=n(79);e.exports=new class extends r{constructor(){super(),this._stackFrame={},this._startedBranch=null}get stackFrame(){return this._stackFrame}startBranch(e,t){this._startedBranch=[e,t]}startProcedure(){throw new Error("startProcedure is not supported by this BlockUtility")}initParams(){throw new Error("initParams is not supported by this BlockUtility")}pushParam(){throw new Error("pushParam is not supported by this BlockUtility")}getParam(){throw new Error("getParam is not supported by this BlockUtility")}init(e,t,n){this.thread=e,this.sequencer=e.target.runtime.sequencer,this._stackFrame=n,this._startedBranch=null,e.stack[0]=t}}},function(e,t){e.exports={supportsNullishCoalescing:(()=>{try{new Function("undefined ?? 3");return!0}catch(e){return!1}})()}},function(e,t){e.exports={OUTPUT_SHAPE_HEXAGONAL:1,OUTPUT_SHAPE_ROUND:2,OUTPUT_SHAPE_SQUARE:3}},function(e,t){e.exports=class{constructor(e){this._type=e,this._onOpen=null,this._onClose=null,this._onError=null,this._handleMessage=null,this._ws=null}open(){if(!(this._onOpen&&this._onClose&&this._onError&&this._handleMessage))throw new Error("Must set open, close, message and error handlers before calling open on the socket");let e;switch(this._type){case"BLE":e="scratch/ble";break;case"BT":e="scratch/bt";break;default:throw new Error("Unknown ScratchLink socket Type: ".concat(this._type))}const t=(e,t)=>{t.onopen=t.onerror=null,t.close(),this._ws=e,this._ws.onopen=this._onOpen,this._ws.onclose=this._onClose,this._ws.onerror=this._onError,this._ws.onmessage=this._onMessage.bind(this)},n=new WebSocket("ws://127.0.0.1:20111/".concat(e)),r=new WebSocket("wss://device-manager.scratch.mit.edu:20110/".concat(e)),i=setTimeout((()=>{t(n,r),this._ws.onerror(new Event("timeout"))}),15e3);let s,o;n.onopen=e=>{clearTimeout(i),t(n,r),this._ws.onopen(e)},r.onopen=e=>{clearTimeout(i),t(r,n),this._ws.onopen(e)};const a=()=>{s&&o&&(clearTimeout(i),t(n,r),this._ws.onerror(s))};n.onerror=e=>{s=e,a()},r.onerror=e=>{o=e,a()}}close(){this._ws.close(),this._ws=null}sendMessage(e){const t=JSON.stringify(e);this._ws.send(t)}setOnOpen(e){this._onOpen=e}setOnClose(e){this._onClose=e}setOnError(e){this._onError=e}setHandleMessage(e){this._handleMessage=e}isOpen(){return this._ws&&this._ws.readyState===this._ws.OPEN}_onMessage(e){const t=JSON.parse(e.data);this._handleMessage(t)}}},function(e,t,n){const r=n(20),i=n(218),s=n(7),o=n(1);e.exports=class extends r{constructor(e){super(),this.runtime=e,this.fonts=[]}isValidFamily(e){return/^[-\w ]+$/.test(e)}hasFont(e){return!!this.fonts.find((t=>t.family===e))}getSafeName(e){return e=e.replace(/[^-\w ]/g,""),s.unusedName(e,this.fonts.map((e=>e.family)))}changed(){this.emit("change")}addSystemFont(e,t){if(!this.isValidFamily(e))throw new Error("Invalid family");this.fonts.push({system:!0,family:e,fallback:t}),this.changed()}addCustomFont(e,t,n){if(!this.isValidFamily(e))throw new Error("Invalid family");this.fonts.push({system:!1,family:e,fallback:t,asset:n}),this.updateRenderer(),this.changed()}getFonts(){return this.fonts.map((e=>({system:e.system,name:e.family,family:'"'.concat(e.family,'", ').concat(e.fallback),data:e.asset?e.asset.data:null,format:e.asset?e.asset.dataFormat:null})))}deleteFont(e){const[t]=this.fonts.splice(e,1);t.system||this.updateRenderer(),this.changed()}clear(){const e=this.fonts.some((e=>!e.system));this.fonts=[],e&&this.updateRenderer(),this.changed()}updateRenderer(){if(!this.runtime.renderer||!this.runtime.renderer.setCustomFonts)return;const e={};for(const t of this.fonts)if(!t.system){const n=t.asset.encodeDataURI(),r='@font-face { font-family: "'.concat(t.family,'"; src: url("').concat(n,'"); }');e['"'.concat(t.family,'", ').concat(t.fallback)]=r}this.runtime.renderer.setCustomFonts(e)}serializeJSON(){return 0===this.fonts.length?null:this.fonts.map((e=>{const t={system:e.system,family:e.family,fallback:e.fallback};if(!e.system){const n=e.asset;t.md5ext="".concat(n.assetId,".").concat(n.dataFormat)}return t}))}serializeAssets(){return this.fonts.filter((e=>!e.system)).map((e=>e.asset))}async deserialize(e,t,n){if(n||this.clear(),Array.isArray(e))for(const n of e)if(n&&"object"==typeof n)try{const e=n.system,r=n.family,s=n.fallback;if("boolean"!=typeof e||"string"!=typeof r||"string"!=typeof s||this.hasFont(r))continue;if(e)this.addSystemFont(r,s);else{const e=n.md5ext;if("string"!=typeof e)continue;const o=await i.getByMd5ext(this.runtime,t,this.runtime.storage.AssetType.Font,e);this.addCustomFont(r,s,o)}}catch(e){o.error("could not add font",e)}}}},function(e,t,n){const r=n(7);e.exports=class{static getByMd5ext(e,t,n,i){const s=r.splitFirst(i,"."),o=s[0],a=s[1].toLowerCase();if(t){let r=t.file(i);if(!r){const e=new RegExp("^([^/]*/)?".concat(i,"$"));r=t.file(e)[0]}if(r)return e.wrapAssetRequest(r.async("uint8array").then((t=>e.storage.createAsset(n,a,t,o,!1))))}return e.wrapAssetRequest(e.storage.load(n,o,a))}}},function(e,t,n){const r=n(14);e.exports=class{constructor(e){this._projectTimer=new r({now:()=>e.currentMSecs}),this._projectTimer.start(),this._pausedTime=null,this._paused=!1,this.runtime=e}projectTimer(){return this._paused?this._pausedTime/1e3:this._projectTimer.timeElapsed()/1e3}pause(){this._paused=!0,this._pausedTime=this._projectTimer.timeElapsed()}resume(){this._paused=!1;const e=this._projectTimer.timeElapsed()-this._pausedTime;this._projectTimer.startTime+=e}resetProjectTimer(){this._projectTimer.start()}}},function(e,t,n){const r=n(10),i=n(1);e.exports=class{constructor(e){this.provider=null,this.runtime=e,this.stage=null}setProvider(e){this.provider=e}setStage(e){this.stage=e}postData(e){e.varUpdate&&this.updateCloudVariable(e.varUpdate)}requestCreateVariable(e){this.runtime.canAddCloudVariable()&&this.provider&&this.provider.createVariable(e.name,e.value)}requestUpdateVariable(e,t){this.provider&&this.provider.updateVariable(e,t)}requestRenameVariable(e,t){this.provider&&this.provider.renameVariable(e,t)}requestDeleteVariable(e){this.provider&&this.provider.deleteVariable(e)}updateCloudVariable(e){const t=e.name,n=this.stage.lookupVariableByNameAndType(t,r.SCALAR_TYPE);n&&n.isCloud?n.value=e.value:i.warn("Received an update for a cloud variable that does not exist: ".concat(t))}clear(){this.provider&&(this.provider.requestCloseConnection(),this.provider=null,this.stage=null)}}},function(e,t,n){const r=n(2),i={SPACE:"space",LEFT:"left arrow",UP:"up arrow",RIGHT:"right arrow",DOWN:"down arrow",ENTER:"enter",BACKSPACE:"backspace",DELETE:"delete",SHIFT:"shift",CAPS_LOCK:"caps lock",SCROLL_LOCK:"scroll lock",CONTROL:"control",ESCAPE:"escape",INSERT:"insert",HOME:"home",END:"end",PAGE_UP:"page up",PAGE_DOWN:"page down"},s=Object.keys(i).map((e=>i[e]));e.exports=class{constructor(e){this._keysPressed=[],this.runtime=e,this.lastKeyPressed="",this._numeralKeyCodesToStringKey=new Map}_keyStringToScratchKey(e){switch(e=r.toString(e)){case" ":return i.SPACE;case"ArrowLeft":case"Left":return i.LEFT;case"ArrowUp":case"Up":return i.UP;case"Right":case"ArrowRight":return i.RIGHT;case"Down":case"ArrowDown":return i.DOWN;case"Enter":return i.ENTER;case"Backspace":return i.BACKSPACE;case"Delete":return i.DELETE;case"Shift":return i.SHIFT;case"CapsLock":return i.CAPS_LOCK;case"ScrollLock":return i.SCROLL_LOCK;case"Control":return i.CONTROL;case"Escape":return i.ESCAPE;case"Insert":return i.INSERT;case"Home":return i.HOME;case"End":return i.END;case"PageUp":return i.PAGE_UP;case"PageDown":return i.PAGE_DOWN}return e.length>1?"":e}_keyArgToScratchKey(e){if("number"==typeof e){if(e>=48&&e<=90)return String.fromCharCode(e);switch(e){case 32:return i.SPACE;case 37:return i.LEFT;case 38:return i.UP;case 39:return i.RIGHT;case 40:return i.DOWN}}return e=r.toString(e),s.includes(e)?e:(e.length>1&&(e=e[0])," "===e?i.SPACE:"\r"===e?i.ENTER:""===e?i.ESCAPE:e.toUpperCase())}postData(e){if(!e.key)return;const t=this._keyStringToScratchKey(e.key),n=1===t.length?t.toUpperCase():t;if(""===n)return;const r=this._keysPressed.indexOf(n);if(e.isDown?(this.lastKeyPressed=t,this.runtime.emit("KEY_PRESSED",n),r<0&&this._keysPressed.push(n)):r>-1&&this._keysPressed.splice(r,1),Object.prototype.hasOwnProperty.call(e,"keyCode")){const t=e.keyCode;if(this._numeralKeyCodesToStringKey.has(t)){const e=this._numeralKeyCodesToStringKey.get(t);if(e!==n){const t=this._keysPressed.indexOf(e);-1!==t&&this._keysPressed.splice(t,1)}}this._numeralKeyCodesToStringKey.set(t,n)}}getKeyIsDown(e){if("any"===e)return this._keysPressed.length>0;const t=this._keyArgToScratchKey(e);return this._keysPressed.indexOf(t)>-1}getLastKeyPressed(){return this.lastKeyPressed}}},function(e,t,n){const r=n(5),i=e=>Math.round(1e3*e)/1e3;e.exports=class{constructor(e){this._clientX=0,this._clientY=0,this._scratchX=0,this._scratchY=0,this._buttons=new Set,this.usesRightClickDown=!1,this._isDown=!1,this.runtime=e}_activateClickHats(e){this.runtime.startHats("event_whenthisspriteclicked",null,e),this.runtime.startHats("event_whenstageclicked",null,e)}_pickTarget(e,t){if(this.runtime.renderer){const n=this.runtime.renderer.pick(e,t);for(let e=0;e<this.runtime.targets.length;e++){const t=this.runtime.targets[e];if(Object.prototype.hasOwnProperty.call(t,"drawableID")&&t.drawableID===n)return t}}return this.runtime.getTargetForStage()}postData(e){if("number"==typeof e.x&&(this._clientX=e.x,this._scratchX=r.clamp(this.runtime.stageWidth*(e.x/e.canvasWidth-.5),-this.runtime.stageWidth/2,this.runtime.stageWidth/2)),"number"==typeof e.y&&(this._clientY=e.y,this._scratchY=r.clamp(-this.runtime.stageHeight*(e.y/e.canvasHeight-.5),-this.runtime.stageHeight/2,this.runtime.stageHeight/2)),void 0!==e.isDown){const t=void 0===e.button?0:e.button;e.isDown?this._buttons.add(t):this._buttons.delete(t);const n=this._isDown;if(this._isDown=e.isDown,n===this._isDown)return;if(e.wasDragged)return;if(!(e.x>0&&e.x<e.canvasWidth&&e.y>0&&e.y<e.canvasHeight))return;const r=this._pickTarget(e.x,e.y),i=!n&&this._isDown,s=n&&!this._isDown;(r.draggable&&s||!r.draggable&&i)&&this._activateClickHats(r)}}getClientX(){return this._clientX}getClientY(){return this._clientY}getScratchX(){return this.runtime.runtimeOptions.miscLimits?Math.round(this._scratchX):i(this._scratchX)}getScratchY(){return this.runtime.runtimeOptions.miscLimits?Math.round(this._scratchY):i(this._scratchY)}getIsDown(){return this._isDown}getButtonIsDown(e){return 2===e&&(this.usesRightClickDown=!0),this._buttons.has(e)}}},function(e,t){e.exports=class{constructor(e){this.runtime=e}postData(e){const t={};if(e.deltaY<0)t.KEY_OPTION="up arrow";else{if(!(e.deltaY>0))return;t.KEY_OPTION="down arrow"}this.runtime.startHats("event_whenkeypressed",t)}}},function(e,t){e.exports=class{constructor(){this._username=""}postData(e){this._username=e.username}getUsername(){return this._username}}},function(e,t,n){const r=n(2);e.exports=class{constructor(e){this.runtime=e,this._counter=0,this.runtime.on("RUNTIME_DISPOSED",this.clearCounter.bind(this))}getPrimitives(){return{control_repeat:this.repeat,control_repeat_until:this.repeatUntil,control_while:this.repeatWhile,control_for_each:this.forEach,control_forever:this.forever,control_wait:this.wait,control_wait_until:this.waitUntil,control_if:this.if,control_if_else:this.ifElse,control_stop:this.stop,control_create_clone_of:this.createClone,control_delete_this_clone:this.deleteClone,control_get_counter:this.getCounter,control_incr_counter:this.incrCounter,control_clear_counter:this.clearCounter,control_all_at_once:this.allAtOnce}}getHats(){return{control_start_as_clone:{restartExistingThreads:!1}}}repeat(e,t){const n=Math.round(r.toNumber(e.TIMES));void 0===t.stackFrame.loopCounter&&(t.stackFrame.loopCounter=n),t.stackFrame.loopCounter--,t.stackFrame.loopCounter>=0&&t.startBranch(1,!0)}repeatUntil(e,t){r.toBoolean(e.CONDITION)||t.startBranch(1,!0)}repeatWhile(e,t){r.toBoolean(e.CONDITION)&&t.startBranch(1,!0)}forEach(e,t){const n=t.target.lookupOrCreateVariable(e.VARIABLE.id,e.VARIABLE.name);void 0===t.stackFrame.index&&(t.stackFrame.index=0),t.stackFrame.index<Number(e.VALUE)&&(t.stackFrame.index++,n.value=t.stackFrame.index,t.startBranch(1,!0))}waitUntil(e,t){r.toBoolean(e.CONDITION)||t.yield()}forever(e,t){t.startBranch(1,!0)}wait(e,t){if(t.stackTimerNeedsInit()){const n=Math.max(0,1e3*r.toNumber(e.DURATION));t.startStackTimer(n),this.runtime.requestRedraw(),t.yield()}else t.stackTimerFinished()||t.yield()}if(e,t){r.toBoolean(e.CONDITION)&&t.startBranch(1,!1)}ifElse(e,t){r.toBoolean(e.CONDITION)?t.startBranch(1,!1):t.startBranch(2,!1)}stop(e,t){const n=e.STOP_OPTION;"all"===n?t.stopAll():"other scripts in sprite"===n||"other scripts in stage"===n?t.stopOtherTargetThreads():"this script"===n&&t.stopThisScript()}createClone(e,t){this._createClone(r.toString(e.CLONE_OPTION),t.target)}_createClone(e,t){let n;if(n="_myself_"===e?t:this.runtime.getSpriteTargetByName(e),!n)return;const r=n.makeClone();r&&(this.runtime.addTarget(r),r.goBehindOther(n))}deleteClone(e,t){t.target.isOriginal||(this.runtime.disposeTarget(t.target),this.runtime.stopForTarget(t.target))}getCounter(){return this._counter}clearCounter(){this._counter=0}incrCounter(){this._counter++}allAtOnce(e,t){t.startBranch(1,!1)}}},function(e,t,n){const r=n(2);e.exports=class{constructor(e){this.runtime=e,this.runtime.on("KEY_PRESSED",(e=>{this.runtime.startHats("event_whenkeypressed",{KEY_OPTION:e}),this.runtime.startHats("event_whenkeypressed",{KEY_OPTION:"any"})}))}getPrimitives(){return{event_whentouchingobject:this.touchingObject,event_broadcast:this.broadcast,event_broadcastandwait:this.broadcastAndWait,event_whengreaterthan:this.hatGreaterThanPredicate}}getHats(){return{event_whenflagclicked:{restartExistingThreads:!0},event_whenkeypressed:{restartExistingThreads:!1},event_whenthisspriteclicked:{restartExistingThreads:!0},event_whentouchingobject:{restartExistingThreads:!1,edgeActivated:!0},event_whenstageclicked:{restartExistingThreads:!0},event_whenbackdropswitchesto:{restartExistingThreads:!0},event_whengreaterthan:{restartExistingThreads:!1,edgeActivated:!0},event_whenbroadcastreceived:{restartExistingThreads:!0}}}touchingObject(e,t){return t.target.isTouchingObject(e.TOUCHINGOBJECTMENU)}hatGreaterThanPredicate(e,t){const n=r.toString(e.WHENGREATERTHANMENU).toLowerCase(),i=r.toNumber(e.VALUE);switch(n){case"timer":return t.ioQuery("clock","projectTimer")>i;case"loudness":return this.runtime.audioEngine&&this.runtime.audioEngine.getLoudness()>i}return!1}broadcast(e,t){const n=t.runtime.getTargetForStage().lookupBroadcastMsg(e.BROADCAST_OPTION.id,e.BROADCAST_OPTION.name);if(n){const e=n.name;t.startHats("event_whenbroadcastreceived",{BROADCAST_OPTION:e})}}broadcastAndWait(e,t){if(t.stackFrame.broadcastVar||(t.stackFrame.broadcastVar=t.runtime.getTargetForStage().lookupBroadcastMsg(e.BROADCAST_OPTION.id,e.BROADCAST_OPTION.name)),t.stackFrame.broadcastVar){const e=t.stackFrame.broadcastVar.name;if(!t.stackFrame.startedThreads&&(t.stackFrame.startedThreads=t.startHats("event_whenbroadcastreceived",{BROADCAST_OPTION:e}),0===t.stackFrame.startedThreads.length))return;const n=this;t.stackFrame.startedThreads.some((e=>-1!==n.runtime.threads.indexOf(e)))&&(t.stackFrame.startedThreads.every((e=>n.runtime.isWaitingThread(e)))?t.yieldTick():t.yield())}}}},function(e,t,n){const r=n(2),i=n(12),s=n(8),o=n(13),a=n(47),l=n(5);class c{constructor(e){this.runtime=e,this._onTargetChanged=this._onTargetChanged.bind(this),this._onResetBubbles=this._onResetBubbles.bind(this),this._onTargetWillExit=this._onTargetWillExit.bind(this),this._updateBubble=this._updateBubble.bind(this),this.runtime.on("PROJECT_STOP_ALL",this._onResetBubbles),this.runtime.on("targetWasRemoved",this._onTargetWillExit),this.runtime.on(c.SAY_OR_THINK,this._updateBubble)}static get DEFAULT_BUBBLE_STATE(){return{drawableId:null,onSpriteRight:!0,skinId:null,text:"",type:"say",usageId:null}}static get STATE_KEY(){return"Scratch.looks"}static get SAY_OR_THINK(){return"SAY"}static get SAY_BUBBLE_LIMIT(){return 330}static get EFFECT_GHOST_LIMIT(){return{min:0,max:100}}static get EFFECT_BRIGHTNESS_LIMIT(){return{min:-100,max:100}}_getBubbleState(e){let t=e.getCustomState(c.STATE_KEY);return t||(t=i.simple(c.DEFAULT_BUBBLE_STATE),e.setCustomState(c.STATE_KEY,t)),t}_onTargetChanged(e){this._getBubbleState(e).drawableId&&this._positionBubble(e)}_onTargetWillExit(e){const t=this._getBubbleState(e);t.drawableId&&t.skinId&&(this.runtime.renderer.destroyDrawable(t.drawableId,o.SPRITE_LAYER),this.runtime.renderer.destroySkin(t.skinId),t.drawableId=null,t.skinId=null,this.runtime.requestRedraw()),e.onTargetVisualChange=null}_onResetBubbles(){for(let e=0;e<this.runtime.targets.length;e++){this._getBubbleState(this.runtime.targets[e]).text="",this._onTargetWillExit(this.runtime.targets[e])}clearTimeout(this._bubbleTimeout)}_positionBubble(e){if(!e.visible)return;const t=this._getBubbleState(e),[n,r]=this.runtime.renderer.getCurrentSkinSize(t.drawableId);let i;try{i=e.getBoundsForBubble()}catch(t){i={left:e.x,right:e.x,top:e.y,bottom:e.y}}const s=this.runtime.renderer.getNativeSize(),o={left:-s[0]/2,right:s[0]/2,top:s[1]/2,bottom:-s[1]/2};t.onSpriteRight&&n+i.right>o.right&&i.left-n>o.left?(t.onSpriteRight=!1,this._renderBubble(e)):!t.onSpriteRight&&i.left-n<o.left&&n+i.right<o.right?(t.onSpriteRight=!0,this._renderBubble(e)):(this.runtime.renderer.updateDrawablePosition(t.drawableId,[t.onSpriteRight?Math.max(o.left,Math.min(o.right-n,i.right)):Math.min(o.right-n,Math.max(o.left,i.left-n)),Math.min(o.top,i.bottom+r)]),this.runtime.requestRedraw())}_renderBubble(e){if(!this.runtime.renderer)return;const t=this._getBubbleState(e),{type:n,text:r,onSpriteRight:i}=t;e.visible&&""!==r?(t.skinId?this.runtime.renderer.updateTextSkin(t.skinId,n,r,i,[0,0]):(e.onTargetVisualChange=this._onTargetChanged,t.drawableId=this.runtime.renderer.createDrawable(o.SPRITE_LAYER),t.skinId=this.runtime.renderer.createTextSkin(n,r,t.onSpriteRight,[0,0]),this.runtime.renderer.updateDrawableSkinId(t.drawableId,t.skinId)),this._positionBubble(e)):this._onTargetWillExit(e)}_formatBubbleText(e){return""===e?e:("number"==typeof e&&Math.abs(e)>=.01&&e%1!=0&&(e=e.toFixed(2)),e=String(e).substr(0,c.SAY_BUBBLE_LIMIT))}_updateBubble(e,t,n){const r=this._getBubbleState(e);r.type=t,r.text=this._formatBubbleText(n),r.usageId=s(),this._renderBubble(e)}getPrimitives(){return{looks_say:this.say,looks_sayforsecs:this.sayforsecs,looks_think:this.think,looks_thinkforsecs:this.thinkforsecs,looks_show:this.show,looks_hide:this.hide,looks_hideallsprites:()=>{},looks_switchcostumeto:this.switchCostume,looks_switchbackdropto:this.switchBackdrop,looks_switchbackdroptoandwait:this.switchBackdropAndWait,looks_nextcostume:this.nextCostume,looks_nextbackdrop:this.nextBackdrop,looks_changeeffectby:this.changeEffect,looks_seteffectto:this.setEffect,looks_cleargraphiceffects:this.clearEffects,looks_changesizeby:this.changeSize,looks_setsizeto:this.setSize,looks_changestretchby:()=>{},looks_setstretchto:()=>{},looks_gotofrontback:this.goToFrontBack,looks_goforwardbackwardlayers:this.goForwardBackwardLayers,looks_size:this.getSize,looks_costumenumbername:this.getCostumeNumberName,looks_backdropnumbername:this.getBackdropNumberName}}getMonitored(){return{looks_size:{isSpriteSpecific:!0,getId:e=>"".concat(e,"_size")},looks_costumenumbername:{isSpriteSpecific:!0,getId:(e,t)=>a("".concat(e,"_costumenumbername"),t)},looks_backdropnumbername:{getId:(e,t)=>a("backdropnumbername",t)}}}say(e,t){const n=e.MESSAGE;this._say(n,t.target)}_say(e,t){this.runtime.emit(c.SAY_OR_THINK,t,"say",e)}sayforsecs(e,t){this.say(e,t);const n=t.target,r=this._getBubbleState(n).usageId;return new Promise((t=>{this._bubbleTimeout=setTimeout((()=>{this._bubbleTimeout=null,this._getBubbleState(n).usageId===r&&this._updateBubble(n,"say",""),t()}),1e3*e.SECS)}))}think(e,t){this.runtime.emit(c.SAY_OR_THINK,t.target,"think",e.MESSAGE)}thinkforsecs(e,t){this.think(e,t);const n=t.target,r=this._getBubbleState(n).usageId;return new Promise((t=>{this._bubbleTimeout=setTimeout((()=>{this._bubbleTimeout=null,this._getBubbleState(n).usageId===r&&this._updateBubble(n,"think",""),t()}),1e3*e.SECS)}))}show(e,t){t.target.setVisible(!0),this._renderBubble(t.target)}hide(e,t){t.target.setVisible(!1),this._renderBubble(t.target)}_setCostume(e,t,n){if("number"==typeof t)e.setCostume(n?t:t-1);else{const i=e.getCostumeIndexByName(t.toString());-1!==i?e.setCostume(i):"next costume"===t?e.setCostume(e.currentCostume+1):"previous costume"===t?e.setCostume(e.currentCostume-1):isNaN(t)||r.isWhiteSpace(t)||e.setCostume(n?Number(t):Number(t)-1)}return[]}_setBackdrop(e,t,n){if("number"==typeof t)e.setCostume(n?t:t-1);else{const i=e.getCostumeIndexByName(t.toString());if(-1!==i)e.setCostume(i);else if("next backdrop"===t)e.setCostume(e.currentCostume+1);else if("previous backdrop"===t)e.setCostume(e.currentCostume-1);else if("random backdrop"===t){const t=e.getCostumes().length;if(t>1){const n=0,r=t-1,i=e.currentCostume,s=l.inclusiveRandIntWithout(n,r,i);e.setCostume(s)}}else isNaN(t)||r.isWhiteSpace(t)||e.setCostume(n?Number(t):Number(t)-1)}const i=e.getCostumes()[e.currentCostume].name;return this.runtime.startHats("event_whenbackdropswitchesto",{BACKDROP:i})}switchCostume(e,t){this._setCostume(t.target,e.COSTUME)}nextCostume(e,t){this._setCostume(t.target,t.target.currentCostume+1,!0)}switchBackdrop(e){this._setBackdrop(this.runtime.getTargetForStage(),e.BACKDROP)}switchBackdropAndWait(e,t){if(!t.stackFrame.startedThreads&&(t.stackFrame.startedThreads=this._setBackdrop(this.runtime.getTargetForStage(),e.BACKDROP),0===t.stackFrame.startedThreads.length))return;const n=this;t.stackFrame.startedThreads.some((e=>-1!==n.runtime.threads.indexOf(e)))&&(t.stackFrame.startedThreads.every((e=>n.runtime.isWaitingThread(e)))?t.yieldTick():t.yield())}nextBackdrop(){const e=this.runtime.getTargetForStage();this._setBackdrop(e,e.currentCostume+1,!0)}clampEffect(e,t){let n=t;switch(e){case"ghost":n=l.clamp(t,c.EFFECT_GHOST_LIMIT.min,c.EFFECT_GHOST_LIMIT.max);break;case"brightness":n=l.clamp(t,c.EFFECT_BRIGHTNESS_LIMIT.min,c.EFFECT_BRIGHTNESS_LIMIT.max)}return n}changeEffect(e,t){const n=r.toString(e.EFFECT).toLowerCase(),i=r.toNumber(e.CHANGE);if(!Object.prototype.hasOwnProperty.call(t.target.effects,n))return;let s=i+t.target.effects[n];s=this.clampEffect(n,s),t.target.setEffect(n,s)}setEffect(e,t){const n=r.toString(e.EFFECT).toLowerCase();let i=r.toNumber(e.VALUE);i=this.clampEffect(n,i),t.target.setEffect(n,i)}clearEffects(e,t){t.target.clearEffects()}changeSize(e,t){const n=r.toNumber(e.CHANGE);t.target.setSize(t.target.size+n)}setSize(e,t){const n=r.toNumber(e.SIZE);t.target.setSize(n)}goToFrontBack(e,t){t.target.isStage||("front"===e.FRONT_BACK?t.target.goToFront():t.target.goToBack())}goForwardBackwardLayers(e,t){t.target.isStage||("forward"===e.FORWARD_BACKWARD?t.target.goForwardLayers(r.toNumber(e.NUM)):t.target.goBackwardLayers(r.toNumber(e.NUM)))}getSize(e,t){return Math.round(t.target.size)}getBackdropNumberName(e){const t=this.runtime.getTargetForStage();return"number"===e.NUMBER_NAME?t.currentCostume+1:t.getCostumes()[t.currentCostume].name}getCostumeNumberName(e,t){return"number"===e.NUMBER_NAME?t.target.currentCostume+1:t.target.getCostumes()[t.target.currentCostume].name}}e.exports=c},function(e,t,n){const r=n(2),i=n(5),s=n(14);e.exports=class{constructor(e){this.runtime=e}getPrimitives(){return{motion_movesteps:this.moveSteps,motion_gotoxy:this.goToXY,motion_goto:this.goTo,motion_turnright:this.turnRight,motion_turnleft:this.turnLeft,motion_pointindirection:this.pointInDirection,motion_pointtowards:this.pointTowards,motion_glidesecstoxy:this.glide,motion_glideto:this.glideTo,motion_ifonedgebounce:this.ifOnEdgeBounce,motion_setrotationstyle:this.setRotationStyle,motion_changexby:this.changeX,motion_setx:this.setX,motion_changeyby:this.changeY,motion_sety:this.setY,motion_xposition:this.getX,motion_yposition:this.getY,motion_direction:this.getDirection,motion_scroll_right:()=>{},motion_scroll_up:()=>{},motion_align_scene:()=>{},motion_xscroll:()=>{},motion_yscroll:()=>{}}}getMonitored(){return{motion_xposition:{isSpriteSpecific:!0,getId:e=>"".concat(e,"_xposition")},motion_yposition:{isSpriteSpecific:!0,getId:e=>"".concat(e,"_yposition")},motion_direction:{isSpriteSpecific:!0,getId:e=>"".concat(e,"_direction")}}}moveSteps(e,t){const n=r.toNumber(e.STEPS);this._moveSteps(n,t.target)}_moveSteps(e,t){const n=i.degToRad(90-t.direction),r=e*Math.cos(n),s=e*Math.sin(n);t.setXY(t.x+r,t.y+s)}goToXY(e,t){const n=r.toNumber(e.X),i=r.toNumber(e.Y);t.target.setXY(n,i)}getTargetXY(e,t){let n=0,i=0;if("_mouse_"===e)n=t.ioQuery("mouse","getScratchX"),i=t.ioQuery("mouse","getScratchY");else if("_random_"===e){const e=this.runtime.stageWidth,t=this.runtime.stageHeight;n=Math.round(e*(Math.random()-.5)),i=Math.round(t*(Math.random()-.5))}else{e=r.toString(e);const t=this.runtime.getSpriteTargetByName(e);if(!t)return;n=t.x,i=t.y}return[n,i]}goTo(e,t){const n=this.getTargetXY(e.TO,t);n&&t.target.setXY(n[0],n[1])}turnRight(e,t){const n=r.toNumber(e.DEGREES);t.target.setDirection(t.target.direction+n)}turnLeft(e,t){const n=r.toNumber(e.DEGREES);t.target.setDirection(t.target.direction-n)}pointInDirection(e,t){const n=r.toNumber(e.DIRECTION);t.target.setDirection(n)}pointTowards(e,t){let n=0,s=0;if("_mouse_"===e.TOWARDS)n=t.ioQuery("mouse","getScratchX"),s=t.ioQuery("mouse","getScratchY");else{if("_random_"===e.TOWARDS)return void t.target.setDirection(Math.round(360*Math.random())-180);{e.TOWARDS=r.toString(e.TOWARDS);const t=this.runtime.getSpriteTargetByName(e.TOWARDS);if(!t)return;n=t.x,s=t.y}}const o=n-t.target.x,a=s-t.target.y,l=90-i.radToDeg(Math.atan2(a,o));t.target.setDirection(l)}glide(e,t){if(t.stackFrame.timer){const e=t.stackFrame.timer.timeElapsed();if(e<1e3*t.stackFrame.duration){const n=e/(1e3*t.stackFrame.duration),r=n*(t.stackFrame.endX-t.stackFrame.startX),i=n*(t.stackFrame.endY-t.stackFrame.startY);t.target.setXY(t.stackFrame.startX+r,t.stackFrame.startY+i),t.yield()}else t.target.setXY(t.stackFrame.endX,t.stackFrame.endY)}else{if(t.stackFrame.timer=new s,t.stackFrame.timer.start(),t.stackFrame.duration=r.toNumber(e.SECS),t.stackFrame.startX=t.target.x,t.stackFrame.startY=t.target.y,t.stackFrame.endX=r.toNumber(e.X),t.stackFrame.endY=r.toNumber(e.Y),t.stackFrame.duration<=0)return void t.target.setXY(t.stackFrame.endX,t.stackFrame.endY);t.yield()}}glideTo(e,t){const n=this.getTargetXY(e.TO,t);n&&this.glide({SECS:e.SECS,X:n[0],Y:n[1]},t)}ifOnEdgeBounce(e,t){this._ifOnEdgeBounce(t.target)}_ifOnEdgeBounce(e){const t=e.getBounds();if(!t)return;const n=this.runtime.stageWidth,r=this.runtime.stageHeight,s=Math.max(0,n/2+t.left),o=Math.max(0,r/2-t.top),a=Math.max(0,n/2-t.right),l=Math.max(0,r/2+t.bottom);let c="",u=1/0;if(s<u&&(u=s,c="left"),o<u&&(u=o,c="top"),a<u&&(u=a,c="right"),l<u&&(u=l,c="bottom"),u>0)return;const d=i.degToRad(90-e.direction);let h=Math.cos(d),p=-Math.sin(d);"left"===c?h=Math.max(.2,Math.abs(h)):"top"===c?p=Math.max(.2,Math.abs(p)):"right"===c?h=0-Math.max(.2,Math.abs(h)):"bottom"===c&&(p=0-Math.max(.2,Math.abs(p)));const m=i.radToDeg(Math.atan2(p,h))+90;e.setDirection(m);const f=e.keepInFence(e.x,e.y);e.setXY(f[0],f[1])}setRotationStyle(e,t){t.target.setRotationStyle(e.STYLE)}changeX(e,t){const n=r.toNumber(e.DX);t.target.setXY(t.target.x+n,t.target.y)}setX(e,t){const n=r.toNumber(e.X);t.target.setXY(n,t.target.y)}changeY(e,t){const n=r.toNumber(e.DY);t.target.setXY(t.target.x,t.target.y+n)}setY(e,t){const n=r.toNumber(e.Y);t.target.setXY(t.target.x,n)}getX(e,t){return this.limitPrecision(t.target.x)}getY(e,t){return this.limitPrecision(t.target.y)}getDirection(e,t){return t.target.direction}limitPrecision(e){const t=Math.round(e),n=e-t;return Math.abs(n)<1e-9?t:e}}},function(e,t,n){const r=n(2),i=n(5);e.exports=class{constructor(e){this.runtime=e}getPrimitives(){return{operator_add:this.add,operator_subtract:this.subtract,operator_multiply:this.multiply,operator_divide:this.divide,operator_lt:this.lt,operator_equals:this.equals,operator_gt:this.gt,operator_and:this.and,operator_or:this.or,operator_not:this.not,operator_random:this.random,operator_join:this.join,operator_letter_of:this.letterOf,operator_length:this.length,operator_contains:this.contains,operator_mod:this.mod,operator_round:this.round,operator_mathop:this.mathop}}add(e){return r.toNumber(e.NUM1)+r.toNumber(e.NUM2)}subtract(e){return r.toNumber(e.NUM1)-r.toNumber(e.NUM2)}multiply(e){return r.toNumber(e.NUM1)*r.toNumber(e.NUM2)}divide(e){return r.toNumber(e.NUM1)/r.toNumber(e.NUM2)}lt(e){return r.compare(e.OPERAND1,e.OPERAND2)<0}equals(e){return 0===r.compare(e.OPERAND1,e.OPERAND2)}gt(e){return r.compare(e.OPERAND1,e.OPERAND2)>0}and(e){return r.toBoolean(e.OPERAND1)&&r.toBoolean(e.OPERAND2)}or(e){return r.toBoolean(e.OPERAND1)||r.toBoolean(e.OPERAND2)}not(e){return!r.toBoolean(e.OPERAND)}random(e){return this._random(e.FROM,e.TO)}_random(e,t){const n=r.toNumber(e),i=r.toNumber(t),s=n<=i?n:i,o=n<=i?i:n;return s===o?s:r.isInt(e)&&r.isInt(t)?s+Math.floor(Math.random()*(o+1-s)):Math.random()*(o-s)+s}join(e){return r.toString(e.STRING1)+r.toString(e.STRING2)}letterOf(e){const t=r.toNumber(e.LETTER)-1,n=r.toString(e.STRING);return t<0||t>=n.length?"":n.charAt(t)}length(e){return r.toString(e.STRING).length}contains(e){const t=function(e){return r.toString(e).toLowerCase()};return t(e.STRING1).includes(t(e.STRING2))}mod(e){const t=r.toNumber(e.NUM1),n=r.toNumber(e.NUM2);let i=t%n;return i/n<0&&(i+=n),i}round(e){return Math.round(r.toNumber(e.NUM))}mathop(e){const t=r.toString(e.OPERATOR).toLowerCase(),n=r.toNumber(e.NUM);switch(t){case"abs":return Math.abs(n);case"floor":return Math.floor(n);case"ceiling":return Math.ceil(n);case"sqrt":return Math.sqrt(n);case"sin":return Math.round(1e10*Math.sin(Math.PI*n/180))/1e10;case"cos":return Math.round(1e10*Math.cos(Math.PI*n/180))/1e10;case"tan":return i.tan(n);case"asin":return 180*Math.asin(n)/Math.PI;case"acos":return 180*Math.acos(n)/Math.PI;case"atan":return 180*Math.atan(n)/Math.PI;case"ln":return Math.log(n);case"log":return Math.log(n)/Math.LN10;case"e ^":return Math.exp(n);case"10 ^":return Math.pow(10,n)}return 0}}},function(e,t,n){const r=n(5),i=n(2),s=n(12),o=!0;class a{constructor(e){this.runtime=e,this.waitingSounds={},this.stopAllSounds=this.stopAllSounds.bind(this),this._stopWaitingSoundsForTarget=this._stopWaitingSoundsForTarget.bind(this),this._clearEffectsForAllTargets=this._clearEffectsForAllTargets.bind(this),this.runtime&&(this.runtime.on("PROJECT_STOP_ALL",this.stopAllSounds),this.runtime.on("PROJECT_STOP_ALL",this._clearEffectsForAllTargets),this.runtime.on("STOP_FOR_TARGET",this._stopWaitingSoundsForTarget),this.runtime.on("PROJECT_START",this._clearEffectsForAllTargets)),this._onTargetCreated=this._onTargetCreated.bind(this),this.runtime&&e.on("targetWasCreated",this._onTargetCreated)}static get STATE_KEY(){return"Scratch.sound"}static get DEFAULT_SOUND_STATE(){return{effects:{pitch:0,pan:0}}}static get MIDI_NOTE_RANGE(){return{min:36,max:96}}static get BEAT_RANGE(){return{min:0,max:100}}static get TEMPO_RANGE(){return{min:20,max:500}}static get EFFECT_RANGE(){return{pitch:{min:-360,max:360},pan:{min:-100,max:100}}}static get LARGER_EFFECT_RANGE(){return{pitch:{min:-1e3,max:1e3},pan:{min:-100,max:100}}}_getSoundState(e){let t=e.getCustomState(a.STATE_KEY);return t||(t=s.simple(a.DEFAULT_SOUND_STATE),e.setCustomState(a.STATE_KEY,t),e.soundEffects=t.effects),t}_onTargetCreated(e,t){if(t){const n=t.getCustomState(a.STATE_KEY);n&&e&&(e.setCustomState(a.STATE_KEY,s.simple(n)),this._syncEffectsForTarget(e))}}getPrimitives(){return{sound_play:this.playSound,sound_playuntildone:this.playSoundAndWait,sound_stopallsounds:this.stopAllSounds,sound_seteffectto:this.setEffect,sound_changeeffectby:this.changeEffect,sound_cleareffects:this.clearEffects,sound_sounds_menu:this.soundsMenu,sound_beats_menu:this.beatsMenu,sound_effects_menu:this.effectsMenu,sound_setvolumeto:this.setVolume,sound_changevolumeby:this.changeVolume,sound_volume:this.getVolume}}getMonitored(){return{sound_volume:{isSpriteSpecific:!0,getId:e=>"".concat(e,"_volume")}}}playSound(e,t){this._playSound(e,t)}playSoundAndWait(e,t){return this._playSound(e,t,o)}_playSound(e,t,n){const r=this._getSoundIndex(e.SOUND_MENU,t);if(r>=0){const{target:e}=t,{sprite:i}=e,{soundId:s}=i.sounds[r];if(i.soundBank)return n===o?this._addWaitingSound(e.id,s):this._removeWaitingSound(e.id,s),i.soundBank.playSound(e,s)}}_addWaitingSound(e,t){this.waitingSounds[e]||(this.waitingSounds[e]=new Set),this.waitingSounds[e].add(t)}_removeWaitingSound(e,t){this.waitingSounds[e]&&this.waitingSounds[e].delete(t)}_getSoundIndex(e,t){const n=t.target.sprite.sounds.length;if(0===n)return-1;const i=this.getSoundIndexByName(e,t);if(-1!==i)return i;const s=parseInt(e,10);return isNaN(s)?-1:r.wrapClamp(s-1,0,n-1)}getSoundIndexByName(e,t){const n=t.target.sprite.sounds;for(let t=0;t<n.length;t++)if(n[t].name===e)return t;return-1}stopAllSounds(){if(null===this.runtime.targets)return;const e=this.runtime.targets;for(let t=0;t<e.length;t++)this._stopAllSoundsForTarget(e[t])}_stopAllSoundsForTarget(e){e.sprite.soundBank&&(e.sprite.soundBank.stopAllSounds(e),this.waitingSounds[e.id]&&this.waitingSounds[e.id].clear())}_stopWaitingSoundsForTarget(e){if(e.sprite.soundBank&&this.waitingSounds[e.id]){for(const t of this.waitingSounds[e.id].values())e.sprite.soundBank.stop(e,t);this.waitingSounds[e.id].clear()}}setEffect(e,t){return this._updateEffect(e,t,!1)}changeEffect(e,t){return this._updateEffect(e,t,!0)}_updateEffect(e,t,n){const s=i.toString(e.EFFECT).toLowerCase(),o=i.toNumber(e.VALUE),l=this._getSoundState(t.target);if(!Object.prototype.hasOwnProperty.call(l.effects,s))return;n?l.effects[s]+=o:l.effects[s]=o;const c=this.runtime.runtimeOptions.miscLimits,{min:u,max:d}=c?a.EFFECT_RANGE[s]:a.LARGER_EFFECT_RANGE[s];if(l.effects[s]=r.clamp(l.effects[s],u,d),this._syncEffectsForTarget(t.target),c)return Promise.resolve();this.runtime.requestRedraw()}_syncEffectsForTarget(e){e&&e.sprite.soundBank&&(e.soundEffects=this._getSoundState(e).effects,e.sprite.soundBank.setEffects(e))}clearEffects(e,t){this._clearEffectsForTarget(t.target)}_clearEffectsForTarget(e){const t=this._getSoundState(e);for(const e in t.effects)Object.prototype.hasOwnProperty.call(t.effects,e)&&(t.effects[e]=0);this._syncEffectsForTarget(e)}_clearEffectsForAllTargets(){if(null===this.runtime.targets)return;const e=this.runtime.targets;for(let t=0;t<e.length;t++)this._clearEffectsForTarget(e[t])}setVolume(e,t){const n=i.toNumber(e.VOLUME);return this._updateVolume(n,t)}changeVolume(e,t){const n=i.toNumber(e.VOLUME)+t.target.volume;return this._updateVolume(n,t)}_updateVolume(e,t){if(e=r.clamp(e,0,100),t.target.volume=e,this._syncEffectsForTarget(t.target),this.runtime.runtimeOptions.miscLimits)return Promise.resolve();this.runtime.requestRedraw()}getVolume(e,t){return t.target.volume}soundsMenu(e){return e.SOUND_MENU}beatsMenu(e){return e.BEATS}effectsMenu(e){return e.EFFECT}}e.exports=a},function(e,t,n){const r=n(2),i=n(14),s=n(47);e.exports=class{constructor(e){this.runtime=e,this._answer="",this._timer=new i,this._cachedLoudness=-1,this._cachedLoudnessTimestamp=0,this._questionList=[],this.runtime.on("ANSWER",this._onAnswer.bind(this)),this.runtime.on("PROJECT_START",this._resetAnswer.bind(this)),this.runtime.on("PROJECT_STOP_ALL",this._clearAllQuestions.bind(this)),this.runtime.on("STOP_FOR_TARGET",this._clearTargetQuestions.bind(this)),this.runtime.on("RUNTIME_DISPOSED",this._resetAnswer.bind(this))}getPrimitives(){return{sensing_touchingobject:this.touchingObject,sensing_touchingcolor:this.touchingColor,sensing_coloristouchingcolor:this.colorTouchingColor,sensing_distanceto:this.distanceTo,sensing_timer:this.getTimer,sensing_resettimer:this.resetTimer,sensing_of:this.getAttributeOf,sensing_mousex:this.getMouseX,sensing_mousey:this.getMouseY,sensing_setdragmode:this.setDragMode,sensing_mousedown:this.getMouseDown,sensing_keypressed:this.getKeyPressed,sensing_current:this.current,sensing_dayssince2000:this.daysSince2000,sensing_loudness:this.getLoudness,sensing_loud:this.isLoud,sensing_askandwait:this.askAndWait,sensing_answer:this.getAnswer,sensing_username:this.getUsername,sensing_userid:()=>{}}}getMonitored(){return{sensing_answer:{getId:()=>"answer"},sensing_mousedown:{getId:()=>"mousedown"},sensing_mousex:{getId:()=>"mousex"},sensing_mousey:{getId:()=>"mousey"},sensing_loudness:{getId:()=>"loudness"},sensing_timer:{getId:()=>"timer"},sensing_dayssince2000:{getId:()=>"dayssince2000"},sensing_current:{getId:(e,t)=>s("current",t)}}}_onAnswer(e){this._answer=e;const t=this._questionList.shift();if(t){const[e,n,r,i,s]=t;i&&!s&&this.runtime.emit("SAY",r,"say",""),n(),this._askNextQuestion()}}_resetAnswer(){this._answer=""}_enqueueAsk(e,t,n,r,i){this._questionList.push([e,t,n,r,i])}_askNextQuestion(){if(this._questionList.length>0){const[e,t,n,r,i]=this._questionList[0];r&&!i?(this.runtime.emit("SAY",n,"say",e),this.runtime.emit("QUESTION","")):this.runtime.emit("QUESTION",e)}}_clearAllQuestions(){this._questionList=[],this.runtime.emit("QUESTION",null)}_clearTargetQuestions(e){const t=this._questionList.length>0&&this._questionList[0][2]===e;this._questionList=this._questionList.filter((t=>t[2]!==e)),t&&(this.runtime.emit("SAY",e,"say",""),this._questionList.length>0?this._askNextQuestion():this.runtime.emit("QUESTION",null))}askAndWait(e,t){const n=t.target;return new Promise((t=>{const r=this._questionList.length>0;this._enqueueAsk(String(e.QUESTION),t,n,n.visible,n.isStage),r||this._askNextQuestion()}))}getAnswer(){return this._answer}touchingObject(e,t){return t.target.isTouchingObject(e.TOUCHINGOBJECTMENU)}touchingColor(e,t){const n=r.toRgbColorList(e.COLOR);return t.target.isTouchingColor(n)}colorTouchingColor(e,t){const n=r.toRgbColorList(e.COLOR),i=r.toRgbColorList(e.COLOR2);return t.target.colorIsTouchingColor(i,n)}distanceTo(e,t){if(t.target.isStage)return 1e4;let n=0,i=0;if("_mouse_"===e.DISTANCETOMENU)n=t.ioQuery("mouse","getScratchX"),i=t.ioQuery("mouse","getScratchY");else{e.DISTANCETOMENU=r.toString(e.DISTANCETOMENU);const t=this.runtime.getSpriteTargetByName(e.DISTANCETOMENU);if(!t)return 1e4;n=t.x,i=t.y}const s=t.target.x-n,o=t.target.y-i;return Math.sqrt(s*s+o*o)}setDragMode(e,t){t.target.setDraggable("draggable"===e.DRAG_MODE)}getTimer(e,t){return t.ioQuery("clock","projectTimer")}resetTimer(e,t){t.ioQuery("clock","resetProjectTimer")}getMouseX(e,t){return t.ioQuery("mouse","getScratchX")}getMouseY(e,t){return t.ioQuery("mouse","getScratchY")}getMouseDown(e,t){return t.ioQuery("mouse","getIsDown")}current(e){const t=r.toString(e.CURRENTMENU).toLowerCase(),n=new Date;switch(t){case"year":return n.getFullYear();case"month":return n.getMonth()+1;case"date":return n.getDate();case"dayofweek":return n.getDay()+1;case"hour":return n.getHours();case"minute":return n.getMinutes();case"second":return n.getSeconds()}return 0}getKeyPressed(e,t){return t.ioQuery("keyboard","getKeyIsDown",[e.KEY_OPTION])}daysSince2000(){const e=new Date(2e3,0,1),t=new Date,n=t.getTimezoneOffset()-e.getTimezoneOffset();let r=t.valueOf()-e.valueOf();return r+=60*(t.getTimezoneOffset()-n)*1e3,r/864e5}getLoudness(){if(void 0===this.runtime.audioEngine)return-1;if(null===this.runtime.currentStepTime)return-1;return this._timer.time()-this._cachedLoudnessTimestamp<this.runtime.currentStepTime||(this._cachedLoudnessTimestamp=this._timer.time(),this._cachedLoudness=this.runtime.audioEngine.getLoudness()),this._cachedLoudness}isLoud(){return this.getLoudness()>10}getAttributeOf(e){let t;if("_stage_"===e.OBJECT?t=this.runtime.getTargetForStage():(e.OBJECT=r.toString(e.OBJECT),t=this.runtime.getSpriteTargetByName(e.OBJECT)),!t)return 0;if(t.isStage)switch(e.PROPERTY){case"background #":case"backdrop #":return t.currentCostume+1;case"backdrop name":return t.getCostumes()[t.currentCostume].name;case"volume":return t.volume}else switch(e.PROPERTY){case"x position":return t.x;case"y position":return t.y;case"direction":return t.direction;case"costume #":return t.currentCostume+1;case"costume name":return t.getCostumes()[t.currentCostume].name;case"size":return t.size;case"volume":return t.volume}const n=e.PROPERTY,i=t.lookupVariableByNameAndType(n,"",!0);return i?i.value:0}getUsername(e,t){return t.ioQuery("userData","getUsername")}}},function(e,t,n){const r=n(2);e.exports=class{constructor(e){this.runtime=e}getPrimitives(){return{data_variable:this.getVariable,data_setvariableto:this.setVariableTo,data_changevariableby:this.changeVariableBy,data_hidevariable:this.hideVariable,data_showvariable:this.showVariable,data_listcontents:this.getListContents,data_addtolist:this.addToList,data_deleteoflist:this.deleteOfList,data_deletealloflist:this.deleteAllOfList,data_insertatlist:this.insertAtList,data_replaceitemoflist:this.replaceItemOfList,data_itemoflist:this.getItemOfList,data_itemnumoflist:this.getItemNumOfList,data_lengthoflist:this.lengthOfList,data_listcontainsitem:this.listContainsItem,data_hidelist:this.hideList,data_showlist:this.showList}}getVariable(e,t){return t.target.lookupOrCreateVariable(e.VARIABLE.id,e.VARIABLE.name).value}setVariableTo(e,t){const n=t.target.lookupOrCreateVariable(e.VARIABLE.id,e.VARIABLE.name);n.value=e.VALUE,n.isCloud&&t.ioQuery("cloud","requestUpdateVariable",[n.name,e.VALUE])}changeVariableBy(e,t){const n=t.target.lookupOrCreateVariable(e.VARIABLE.id,e.VARIABLE.name),i=r.toNumber(n.value)+r.toNumber(e.VALUE);n.value=i,n.isCloud&&t.ioQuery("cloud","requestUpdateVariable",[n.name,i])}changeMonitorVisibility(e,t){this.runtime.monitorBlocks.changeBlock({id:e,element:"checkbox",value:t},this.runtime)}showVariable(e){this.changeMonitorVisibility(e.VARIABLE.id,!0)}hideVariable(e){this.changeMonitorVisibility(e.VARIABLE.id,!1)}showList(e){this.changeMonitorVisibility(e.LIST.id,!0)}hideList(e){this.changeMonitorVisibility(e.LIST.id,!1)}getListContents(e,t){const n=t.target.lookupOrCreateList(e.LIST.id,e.LIST.name);if(t.thread.updateMonitor)return n._monitorUpToDate?n.value:(n._monitorUpToDate=!0,n.value.slice());let r=!0;for(let e=0;e<n.value.length;e++){const t=n.value[e];if("string"!=typeof t||1!==t.length){r=!1;break}}return r?n.value.join(""):n.value.join(" ")}addToList(e,t){const n=t.target.lookupOrCreateList(e.LIST.id,e.LIST.name);n.value.push(e.ITEM),n._monitorUpToDate=!1}deleteOfList(e,t){const n=t.target.lookupOrCreateList(e.LIST.id,e.LIST.name),i=r.toListIndex(e.INDEX,n.value.length,!0);i!==r.LIST_INVALID&&(i!==r.LIST_ALL?(n.value.splice(i-1,1),n._monitorUpToDate=!1):n.value=[])}deleteAllOfList(e,t){t.target.lookupOrCreateList(e.LIST.id,e.LIST.name).value=[]}insertAtList(e,t){const n=e.ITEM,i=t.target.lookupOrCreateList(e.LIST.id,e.LIST.name),s=r.toListIndex(e.INDEX,i.value.length+1,!1);s!==r.LIST_INVALID&&(i.value.splice(s-1,0,n),i._monitorUpToDate=!1)}replaceItemOfList(e,t){const n=e.ITEM,i=t.target.lookupOrCreateList(e.LIST.id,e.LIST.name),s=r.toListIndex(e.INDEX,i.value.length,!1);s!==r.LIST_INVALID&&(i.value[s-1]=n,i._monitorUpToDate=!1)}getItemOfList(e,t){const n=t.target.lookupOrCreateList(e.LIST.id,e.LIST.name),i=r.toListIndex(e.INDEX,n.value.length,!1);return i===r.LIST_INVALID?"":n.value[i-1]}getItemNumOfList(e,t){const n=e.ITEM,i=t.target.lookupOrCreateList(e.LIST.id,e.LIST.name);for(let e=0;e<i.value.length;e++)if(0===r.compare(i.value[e],n))return e+1;return 0}lengthOfList(e,t){return t.target.lookupOrCreateList(e.LIST.id,e.LIST.name).value.length}listContainsItem(e,t){const n=e.ITEM,i=t.target.lookupOrCreateList(e.LIST.id,e.LIST.name);if(i.value.indexOf(n)>=0)return!0;for(let e=0;e<i.value.length;e++)if(0===r.compare(i.value[e],n))return!0;return!1}}},function(e,t){e.exports=class{constructor(e){this.runtime=e}getPrimitives(){return{procedures_definition:this.definition,procedures_call:this.call,procedures_return:this.return,argument_reporter_string_number:this.argumentReporterStringNumber,argument_reporter_boolean:this.argumentReporterBoolean}}definition(){}call(e,t){const n=t.stackFrame,r=!!e.mutation.return;if(n.executed){if(r){const e=n.returnValue;return t.thread.peekStackFrame().params=null,delete n.returnValue,delete n.executed,e}return}const i=e.mutation.proccode,s=t.getProcedureParamNamesIdsAndDefaults(i);if(null===s)return r?"":void 0;const[o,a,l]=s;t.initParams();for(let n=0;n<a.length;n++)Object.prototype.hasOwnProperty.call(e,a[n])?t.pushParam(o[n],e[a[n]]):t.pushParam(o[n],l[n]);const c=t.runtime.getAddonBlock(i);if(c){const e=c.callback(t.thread.getAllparams(),t);return 1===t.thread.status&&(n.executed=!0),e}n.executed=!0,r&&(t.thread.peekStackFrame().waitingReporter=!0,n.returnValue=""),t.startProcedure(i)}return(e,t){t.stopThisScript(),t.thread.peekStackFrame()&&(t.stackFrame.returnValue=e.VALUE)}argumentReporterStringNumber(e,t){const n=t.getParam(e.VALUE);return null===n?"last key pressed"===String(e.VALUE).toLowerCase()?t.ioQuery("keyboard","getLastKeyPressed"):0:n}argumentReporterBoolean(e,t){const n=t.getParam(e.VALUE);if(null===n){const n=String(e.VALUE).toLowerCase();return!(!t.target.runtime.compilerOptions.enabled||"is compiled?"!==n)||("is turbowarp?"===n||0)}return n}}},function(e,t){e.exports={setupInitialState:e=>{const t=e.renderer;for(const n of e.targets){const e=n._getRenderedDirectionAndScale();if(t&&n.interpolationData){const r=n.drawableID;t.updateDrawablePosition(r,[n.x,n.y]),t.updateDrawableDirectionScale(r,e.direction,e.scale),t.updateDrawableEffect(r,"ghost",n.effects.ghost)}n.visible&&!n.isStage?n.interpolationData={x:n.x,y:n.y,direction:e.direction,scale:e.scale,costume:n.currentCostume,ghost:n.effects.ghost}:n.interpolationData=null}},interpolate:(e,t)=>{const n=e.renderer;if(n)for(const r of e.targets){const e=r.interpolationData;if(!e)continue;if(!r.visible)continue;const i=r.drawableID,s=r.x-e.x,o=r.y-e.y,a=Math.abs(s),l=Math.abs(o);if(a>.1||l>.1){const r=n._allDrawables[i].getAABB(),c=Math.min(240,Math.max(50,1.5*(r.width+r.height)));if(Math.sqrt(a**2+l**2)<c){const r=e.x+s*t,a=e.y+o*t;n.updateDrawablePosition(i,[r,a])}}const c=r.effects.ghost-e.ghost,u=Math.abs(c);if(u>0&&u<25){const e=r.effects.ghost+c*t;n.updateDrawableEffect(i,"ghost",e)}if(e.costume===r.currentCostume){let{direction:s,scale:o}=r._getRenderedDirectionAndScale(),a=!1;if(s!==e.direction&&(s%90!=0||e.direction%90!=0)){const n=s*Math.PI/180,r=e.direction*Math.PI/180;s=180*Math.atan2(Math.sin(n)*t+Math.sin(r)*(1-t),Math.cos(n)*t+Math.cos(r)*(1-t))/Math.PI,a=!0}const l=e.scale;if((o[0]!==l[0]||o[1]!==l[1])&&Math.sign(o[0])===Math.sign(l[0])&&Math.sign(o[1])===Math.sign(l[1])){const e=o[0]-l[0],n=o[1]-l[1],r=Math.abs(e),i=Math.abs(n);r<100&&i<100&&(o[0]=l[0]+e*t,o[1]=l[1]+n*t,a=!0)}a&&n.updateDrawableDirectionScale(i,s,o)}}}}},function(e,t){const n="function"==typeof requestAnimationFrame?requestAnimationFrame:e=>setTimeout(e,1e3/60),r="function"==typeof requestAnimationFrame?cancelAnimationFrame:clearTimeout,i=e=>{let t;const i=()=>{t=n(i),e()};return t=n(i),{cancel:()=>r(t)}};e.exports=class{constructor(e){this.runtime=e,this.running=!1,this.setFramerate(30),this.setInterpolation(!1),this.stepCallback=this.stepCallback.bind(this),this.interpolationCallback=this.interpolationCallback.bind(this),this._stepInterval=null,this._interpolationAnimation=null,this._stepAnimation=null}setFramerate(e){this.framerate=e,this._restart()}setInterpolation(e){this.interpolation=e,this._restart()}stepCallback(){this.runtime._step()}interpolationCallback(){this.runtime._renderInterpolatedPositions()}_restart(){this.running&&(this.stop(),this.start())}start(){this.running=!0,0===this.framerate?(this._stepAnimation=i(this.stepCallback),this.runtime.currentStepTime=1e3/60):(this.interpolation&&(this._interpolationAnimation=i(this.interpolationCallback)),this._stepInterval=setInterval(this.stepCallback,1e3/this.framerate),this.runtime.currentStepTime=1e3/this.framerate)}stop(){this.running=!1,clearInterval(this._stepInterval),this._interpolationAnimation&&this._interpolationAnimation.cancel(),this._stepAnimation&&this._stepAnimation.cancel(),this._interpolationAnimation=null,this._stepAnimation=null}}},function(e,t,n){const{motionVector:r,scratchAtan2:i}=n(237),s=480,o=10/3;e.exports=class{constructor(){this.frameNumber=0,this.lastAnalyzedFrame=0,this.motionAmount=0,this.motionDirection=0,this.curr=null,this.prev=null,this._arrays=new ArrayBuffer(345600),this._curr=new Uint8ClampedArray(this._arrays,0,172800),this._prev=new Uint8ClampedArray(this._arrays,172800,172800)}reset(){this.frameNumber=0,this.lastAnalyzedFrame=0,this.motionAmount=this.motionDirection=0,this.prev=this.curr=null}addFrame(e){this.frameNumber++,this.prev=this.curr,this.curr=new Uint32Array(e.buffer.slice(0));const t=this._prev;this._prev=this._curr,this._curr=t;for(let e=0;e<this.curr.length;e++)this._curr[e]=255&this.curr[e]}analyzeFrame(){if(!this.curr||!this.prev)return void(this.motionAmount=this.motionDirection=-1);if(this.lastAnalyzedFrame===this.frameNumber)return;this.lastAnalyzedFrame=this.frameNumber;const{_curr:e,_prev:t}=this,n=17;let o=0,a=0,l=0;for(let i=9;i<351;i+=n)for(let c=9;c<471;c+=n){let u=0,d=0,h=0,p=0,m=0,f=(i-8)*s+c-8,g=f+n;const y=(i+8)*s+c+8;for(;f<=y;f+=463,g+=s)for(;f<=g;f+=1){const n=t[f]-e[f],r=e[f-1]-e[f+1],i=e[f-s]-e[f+s];u+=r*r,d+=r*i,h+=i*i,m+=r*n,p+=i*n}const{u:b,v:v}=r(u,d,h,m,p);-17<b&&b<n&&-17<v&&v<n&&(o+=b,a+=v,l++)}o/=l,a/=l,this.motionAmount=Math.round(100*Math.hypot(o,a)),this.motionAmount>10&&(this.motionDirection=i(a,o))}getLocalMotion(e,t){if(this.curr&&this.prev){if(t.motionFrameNumber!==this.frameNumber){const{_prev:n,_curr:a}=this;e.updateCPURenderAttributes();const l=e.getFastBounds(),c=Math.max(Math.floor(l.left+240),1),u=Math.min(Math.floor(l.right+240),479),d=Math.max(Math.floor(180-l.top),1),h=Math.min(Math.floor(180-l.bottom),359);let p=0,m=0,f=0,g=0,y=0,b=0;const v=[0,0,0];for(let t=d;t<h;t++)for(let r=c;r<u;r++)if(v[0]=r-240,v[1]=180-t,e.isTouching(v)){const e=t*s+r,i=n[e]-a[e],o=a[e-1]-a[e+1],l=a[e-s]-a[e+s];p+=o*o,m+=o*l,f+=l*l,y+=o*i,g+=l*i,b++}let{u:S,v:w}=r(p,m,f,y,g),k=0;b&&(k=b,b/=256,S/=b,w/=b),t.motionAmount=Math.round(.02*k*Math.hypot(S,w)),t.motionAmount>100&&(t.motionAmount=100),t.motionAmount>o&&(t.motionDirection=i(w,S)),t.motionFrameNumber=this.frameNumber}}else t.motionAmount=t.motionDirection=-1}}},function(e,t){const n=180/Math.PI,r={u:0,v:0},i=function(e){return(e+270)%360-180};e.exports={motionVector:function(e,t,n,i,s){let o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:r;const a=t*t-e*n;if(a){const r=-(s*t-i*n),l=-(t*i-e*s),c=8/a;o.u=r*c,o.v=l*c}else{const r=(t+e)*(t+e)+(n+t)*(n+t);if(r){const a=-(s+i)*(8/r);o.u=(t+e)*a,o.v=(n+t)*a}else o.u=0,o.v=0}return o},scratchDegrees:i,scratchAtan2:function(e,t){return i(Math.atan2(e,t)*n)}}},function(e,t,n){const r=n(4),i=n(3),s=n(2),o=n(6),a=n(8),l=n(239),c=n(16),u=n(5),d=n(44),h=n(1),p=129,m=130,f=131,g=225,y=32,b=96,v=0,S=128,w=2,k=175,x=163,T=179,E=148,A=1,C=0,I=152,O=157,M=0,N=0,R=1,D=50,P=0,L=32,B={29:"color",30:"ultrasonic",32:"gyro",16:"touch",8:"mediumMotor",7:"largeMotor",126:"none",125:"none"},z={touch:0,color:1,ultrasonic:1,none:0},U={touch:"button",color:"brightness",ultrasonic:"distance"};class j{constructor(e,t,n){this._parent=e,this._index=t,this._type=n,this._direction=1,this._power=50,this._position=0,this._commandID=null,this._coastDelay=1e3}get type(){return this._type}set type(e){this._type=e}get direction(){return this._direction}set direction(e){this._direction=e<0?-1:1}get power(){return this._power}set power(e){this._power=e}get position(){return this._position}set position(e){let t=e[0]+256*e[1]+256*e[2]*256+256*e[3]*256*256;t>2147483647&&(t-=4294967296),this._position=t}turnOnFor(e){if(0===this._power)return;const t=this._portMask(this._index);let n=e,r=this._power*this._direction;const i=D;let s=[];s[0]=k,r<0&&(r*=-1,n*=-1);const o=n<0?256-r:r;n=Math.abs(n);let a=i,l=i,c=n-2*i;c<0&&(a=Math.floor(n/2),c=0,l=n-a);const u=this._runValues(c);s=s.concat([M,t,p,255&o,p,a]).concat(u.concat([p,l,R]));const d=this._parent.generateCommand(S,s);this._parent.send(d),this.coastAfter(e)}coastAfter(e){if(0===this._power)return;const t=a();this._commandID=t,setTimeout((()=>{this._commandID===t&&(this.coast(),this._commandID=null)}),e+this._coastDelay)}coast(){if(0===this._power)return;const e=this._parent.generateCommand(S,[x,M,this._portMask(this._index),N]);this._parent.send(e,!1)}_runValues(e){return e<32767?[m,255&e,e>>8&255]:[f,255&e,e>>8&255,e>>16&255,e>>24&255]}_portMask(e){return Math.pow(2,e)}}class F{constructor(e,t){this._runtime=e,this._runtime.on("PROJECT_STOP_ALL",this.stopAll.bind(this)),this._extensionId=t,this._sensorPorts=[],this._motorPorts=[],this._sensors={distance:0,brightness:0,buttons:[0,0,0,0]},this._motors=[null,null,null,null],this._pollingInterval=150,this._pollingIntervalID=null,this._pollingCounter=0,this._bt=null,this._runtime.registerPeripheralExtension(t,this),this._rateLimiter=new d(40),this.reset=this.reset.bind(this),this._onConnect=this._onConnect.bind(this),this._onMessage=this._onMessage.bind(this),this._pollValues=this._pollValues.bind(this)}get distance(){let e=this._sensors.distance>100?100:this._sensors.distance;return e=e<0?0:e,e=Math.round(100*e)/100,e}get brightness(){return this._sensors.brightness}motor(e){return this._motors[e]}isButtonPressed(e){return 1===this._sensors.buttons[e]}beep(e,t){const n=this.generateCommand(S,[E,A,p,2,m,e,e>>8,m,t,t>>8]);this.send(n)}stopAll(){this.stopAllMotors(),this.stopSound()}stopSound(){const e=this.generateCommand(S,[E,C]);this.send(e,!1)}stopAllMotors(){this._motors.forEach((e=>{e&&e.coast()}))}scan(){this._bt&&this._bt.disconnect(),this._bt=new l(this._runtime,this._extensionId,{majorDeviceClass:8,minorDeviceClass:1},this._onConnect,this.reset,this._onMessage)}connect(e){this._bt&&this._bt.connectPeripheral(e,"1234")}disconnect(){this._bt&&this._bt.disconnect(),this.reset()}reset(){this._sensorPorts=[],this._motorPorts=[],this._sensors={distance:0,brightness:0,buttons:[0,0,0,0]},this._motors=[null,null,null,null],this._pollingIntervalID&&(window.clearInterval(this._pollingIntervalID),this._pollingIntervalID=null)}isConnected(){let e=!1;return this._bt&&(e=this._bt.isConnected()),e}send(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return this.isConnected()?t&&!this._rateLimiter.okayToSend()?Promise.resolve():this._bt.sendMessage({message:c.uint8ArrayToBase64(e),encoding:"base64"}):Promise.resolve()}generateCommand(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=[];r[2]=0,r[3]=0,r[4]=e,r[5]=255&n,r[6]=n>>8&&255,r=r.concat(t);const i=r.length-2;return r[0]=255&i,r[1]=i>>8&&255,r}_onConnect(){this._pollingIntervalID=window.setInterval(this._pollValues,this._pollingInterval)}_pollValues(){if(!this.isConnected())return void window.clearInterval(this._pollingIntervalID);const e=[];let t=0,n=0;if(this._pollingCounter%20==0)e[0]=I,e[1]=p,e[2]=L,e[3]=b,e[4]=g,e[5]=y,t=33,this._updateDevices=!0;else{let r=0;for(let t=0;t<4;t++)"none"!==this._sensorPorts[t]&&(e[r+0]=O,e[r+1]=M,e[r+2]=t,e[r+3]=P,e[r+4]=z[this._sensorPorts[t]],e[r+5]=g,e[r+6]=4*n,r+=7),n++;for(let t=0;t<4;t++)e[r+0]=T,e[r+1]=M,e[r+2]=t,e[r+3]=g,e[r+4]=4*n,r+=5,n++;t=4*n}const r=this.generateCommand(v,e,t);this.send(r),this._pollingCounter++}_onMessage(e){const t=e.message,n=c.base64ToUint8Array(t);if(n[4]===w)if(this._updateDevices){for(let e=0;e<4;e++){const t=B[n[e+5]];this._sensorPorts[e]=t||"none"}for(let e=0;e<4;e++){const t=B[n[e+21]];this._motorPorts[e]=t||"none"}for(let e=0;e<4;e++){const t=this._motorPorts[e];"none"===t||this._motors[e]||(this._motors[e]=new j(this,e,t)),"none"===t&&this._motors[e]&&(this._motors[e]=null)}this._updateDevices=!1}else if(!this._sensorPorts.includes(void 0)&&!this._motorPorts.includes(void 0)){let e=5;for(let t=0;t<4;t++){const r=new Uint8Array([n[e],n[e+1],n[e+2],n[e+3]]).buffer,i=new DataView(r).getFloat32(0,!0);"button"===U[this._sensorPorts[t]]?this._sensors.buttons[t]=i||0:U[this._sensorPorts[t]]&&(this._sensors[U[this._sensorPorts[t]]]=i||0),e+=4}for(let t=0;t<4;t++){const r=[n[e],n[e+1],n[e+2],n[e+3]];this._motors[t]&&(this._motors[t].position=r),e+=4}}}}const W=["A","B","C","D"],V=["1","2","3","4"];class G{static get EXTENSION_ID(){return"ev3"}constructor(e){this.runtime=e,this._peripheral=new F(this.runtime,G.EXTENSION_ID),this._playNoteForPicker=this._playNoteForPicker.bind(this),this.runtime.on("PLAY_NOTE",this._playNoteForPicker)}getInfo(){return{id:G.EXTENSION_ID,name:"LEGO EV3",blockIconURI:"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNDBweCIgaGVpZ2h0PSI0MHB4IiB2aWV3Qm94PSIwIDAgNDAgNDAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDUwLjIgKDU1MDQ3KSAtIGh0dHA6Ly93d3cuYm9oZW1pYW5jb2RpbmcuY29tL3NrZXRjaCAtLT4KICAgIDx0aXRsZT5ldjMtYmxvY2staWNvbjwvdGl0bGU+CiAgICA8ZGVzYz5DcmVhdGVkIHdpdGggU2tldGNoLjwvZGVzYz4KICAgIDxkZWZzPjwvZGVmcz4KICAgIDxnIGlkPSJldjMtYmxvY2staWNvbiIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPGcgaWQ9ImV2MyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNS41MDAwMDAsIDMuNTAwMDAwKSIgZmlsbC1ydWxlPSJub256ZXJvIj4KICAgICAgICAgICAgPHJlY3QgaWQ9IlJlY3RhbmdsZS1wYXRoIiBzdHJva2U9IiM3Qzg3QTUiIGZpbGw9IiNGRkZGRkYiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgeD0iMC41IiB5PSIzLjU5IiB3aWR0aD0iMjgiIGhlaWdodD0iMjUuODEiIHJ4PSIxIj48L3JlY3Q+CiAgICAgICAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGUtcGF0aCIgc3Ryb2tlPSIjN0M4N0E1IiBmaWxsPSIjRTZFN0U4IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHg9IjIuNSIgeT0iMC41IiB3aWR0aD0iMjQiIGhlaWdodD0iMzIiIHJ4PSIxIj48L3JlY3Q+CiAgICAgICAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGUtcGF0aCIgc3Ryb2tlPSIjN0M4N0E1IiBmaWxsPSIjRkZGRkZGIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHg9IjIuNSIgeT0iMTQuNSIgd2lkdGg9IjI0IiBoZWlnaHQ9IjEzIj48L3JlY3Q+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0xNC41LDEwLjUgTDE0LjUsMTQuNSIgaWQ9IlNoYXBlIiBzdHJva2U9IiM3Qzg3QTUiIGZpbGw9IiNFNkU3RTgiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PC9wYXRoPgogICAgICAgICAgICA8cmVjdCBpZD0iUmVjdGFuZ2xlLXBhdGgiIGZpbGw9IiM0MTQ3NTciIHg9IjQuNSIgeT0iMi41IiB3aWR0aD0iMjAiIGhlaWdodD0iMTAiIHJ4PSIxIj48L3JlY3Q+CiAgICAgICAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGUtcGF0aCIgZmlsbD0iIzdDODdBNSIgb3BhY2l0eT0iMC41IiB4PSIxMy41IiB5PSIyMC4xMyIgd2lkdGg9IjIiIGhlaWdodD0iMiIgcng9IjAuNSI+PC9yZWN0PgogICAgICAgICAgICA8cGF0aCBkPSJNOS4wNiwyMC4xMyBMMTAuNTYsMjAuMTMgQzEwLjgzNjE0MjQsMjAuMTMgMTEuMDYsMjAuMzUzODU3NiAxMS4wNiwyMC42MyBMMTEuMDYsMjEuNjMgQzExLjA2LDIxLjkwNjE0MjQgMTAuODM2MTQyNCwyMi4xMyAxMC41NiwyMi4xMyBMOS4wNiwyMi4xMyBDOC41MDc3MTUyNSwyMi4xMyA4LjA2LDIxLjY4MjI4NDcgOC4wNiwyMS4xMyBDOC4wNiwyMC41Nzc3MTUzIDguNTA3NzE1MjUsMjAuMTMgOS4wNiwyMC4xMyBaIiBpZD0iU2hhcGUiIGZpbGw9IiM3Qzg3QTUiIG9wYWNpdHk9IjAuNSI+PC9wYXRoPgogICAgICAgICAgICA8cGF0aCBkPSJNMTguOTEsMjAuMTMgTDIwLjQyLDIwLjEzIEMyMC42OTYxNDI0LDIwLjEzIDIwLjkyLDIwLjM1Mzg1NzYgMjAuOTIsMjAuNjMgTDIwLjkyLDIxLjYzIEMyMC45MiwyMS45MDYxNDI0IDIwLjY5NjE0MjQsMjIuMTMgMjAuNDIsMjIuMTMgTDE4LjkyLDIyLjEzIEMxOC4zNjc3MTUzLDIyLjEzIDE3LjkyLDIxLjY4MjI4NDcgMTcuOTIsMjEuMTMgQzE3LjkxOTk3MjYsMjAuNTgxNTk3IDE4LjM2MTYyNDUsMjAuMTM1NDg0IDE4LjkxLDIwLjEzIFoiIGlkPSJTaGFwZSIgZmlsbD0iIzdDODdBNSIgb3BhY2l0eT0iMC41IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxOS40MjAwMDAsIDIxLjEzMDAwMCkgcm90YXRlKC0xODAuMDAwMDAwKSB0cmFuc2xhdGUoLTE5LjQyMDAwMCwgLTIxLjEzMDAwMCkgIj48L3BhdGg+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik04LjIzLDE3LjUgTDUsMTcuNSBDNC43MjM4NTc2MywxNy41IDQuNSwxNy4yNzYxNDI0IDQuNSwxNyBMNC41LDE0LjUgTDEwLjUsMTQuNSBMOC42NSwxNy4yOCBDOC41NTQ2Njk2MSwxNy40MTc5MDgyIDguMzk3NjUwMDYsMTcuNTAwMTU2NiA4LjIzLDE3LjUgWiIgaWQ9IlNoYXBlIiBmaWxsPSIjN0M4N0E1IiBvcGFjaXR5PSIwLjUiPjwvcGF0aD4KICAgICAgICAgICAgPHBhdGggZD0iTTE4LjE1LDE4Ljg1IEwxNy42NSwxOS4zNSBDMTcuNTUyMzQxNiwxOS40NDQwNzU2IDE3LjQ5ODAzMzksMTkuNTc0NDE0MiAxNy41LDE5LjcxIEwxNy41LDIwIEMxNy41LDIwLjI3NjE0MjQgMTcuMjc2MTQyNCwyMC41IDE3LDIwLjUgTDE2LjUsMjAuNSBDMTYuMjIzODU3NiwyMC41IDE2LDIwLjI3NjE0MjQgMTYsMjAgQzE2LDE5LjcyMzg1NzYgMTUuNzc2MTQyNCwxOS41IDE1LjUsMTkuNSBMMTMuNSwxOS41IEMxMy4yMjM4NTc2LDE5LjUgMTMsMTkuNzIzODU3NiAxMywyMCBDMTMsMjAuMjc2MTQyNCAxMi43NzYxNDI0LDIwLjUgMTIuNSwyMC41IEwxMiwyMC41IEMxMS43MjM4NTc2LDIwLjUgMTEuNSwyMC4yNzYxNDI0IDExLjUsMjAgTDExLjUsMTkuNzEgQzExLjUwMTk2NjEsMTkuNTc0NDE0MiAxMS40NDc2NTg0LDE5LjQ0NDA3NTYgMTEuMzUsMTkuMzUgTDEwLjg1LDE4Ljg1IEMxMC42NTgyMTY3LDE4LjY1MjE4NjMgMTAuNjU4MjE2NywxOC4zMzc4MTM3IDEwLjg1LDE4LjE0IEwxMi4zNiwxNi42NSBDMTIuNDUwMjgwMywxNi41NTI4NjE3IDEyLjU3NzM5NjEsMTYuNDk4MzgzNSAxMi43MSwxNi41IEwxNi4yOSwxNi41IEMxNi40MjI2MDM5LDE2LjQ5ODM4MzUgMTYuNTQ5NzE5NywxNi41NTI4NjE3IDE2LjY0LDE2LjY1IEwxOC4xNSwxOC4xNCBDMTguMzQxNzgzMywxOC4zMzc4MTM3IDE4LjM0MTc4MzMsMTguNjUyMTg2MyAxOC4xNSwxOC44NSBaIiBpZD0iU2hhcGUiIGZpbGw9IiM3Qzg3QTUiIG9wYWNpdHk9IjAuNSI+PC9wYXRoPgogICAgICAgICAgICA8cGF0aCBkPSJNMTAuODUsMjMuNDUgTDExLjM1LDIyLjk1IEMxMS40NDc2NTg0LDIyLjg1NTkyNDQgMTEuNTAxOTY2MSwyMi43MjU1ODU4IDExLjUsMjIuNTkgTDExLjUsMjIuMyBDMTEuNSwyMi4wMjM4NTc2IDExLjcyMzg1NzYsMjEuOCAxMiwyMS44IEwxMi41LDIxLjggQzEyLjc3NjE0MjQsMjEuOCAxMywyMi4wMjM4NTc2IDEzLDIyLjMgQzEzLDIyLjU3NjE0MjQgMTMuMjIzODU3NiwyMi44IDEzLjUsMjIuOCBMMTUuNSwyMi44IEMxNS43NzYxNDI0LDIyLjggMTYsMjIuNTc2MTQyNCAxNiwyMi4zIEMxNiwyMi4wMjM4NTc2IDE2LjIyMzg1NzYsMjEuOCAxNi41LDIxLjggTDE3LDIxLjggQzE3LjI3NjE0MjQsMjEuOCAxNy41LDIyLjAyMzg1NzYgMTcuNSwyMi4zIEwxNy41LDIyLjU5IEMxNy40OTgwMzM5LDIyLjcyNTU4NTggMTcuNTUyMzQxNiwyMi44NTU5MjQ0IDE3LjY1LDIyLjk1IEwxOC4xNSwyMy40NSBDMTguMzQwNTcxNCwyMy42NDQ0MjE4IDE4LjM0MDU3MTQsMjMuOTU1NTc4MiAxOC4xNSwyNC4xNSBMMTYuNjQsMjUuNjUgQzE2LjU0OTcxOTcsMjUuNzQ3MTM4MyAxNi40MjI2MDM5LDI1LjgwMTYxNjUgMTYuMjksMjUuOCBMMTIuNzEsMjUuOCBDMTIuNTc3Mzk2MSwyNS44MDE2MTY1IDEyLjQ1MDI4MDMsMjUuNzQ3MTM4MyAxMi4zNiwyNS42NSBMMTAuODUsMjQuMTUgQzEwLjY1OTQyODYsMjMuOTU1NTc4MiAxMC42NTk0Mjg2LDIzLjY0NDQyMTggMTAuODUsMjMuNDUgWiIgaWQ9IlNoYXBlIiBmaWxsPSIjN0M4N0E1IiBvcGFjaXR5PSIwLjUiPjwvcGF0aD4KICAgICAgICAgICAgPHBhdGggZD0iTTIxLjUsMjcuNSBMMjYuNSwyNy41IEwyNi41LDMxLjUgQzI2LjUsMzIuMDUyMjg0NyAyNi4wNTIyODQ3LDMyLjUgMjUuNSwzMi41IEwyMS41LDMyLjUgTDIxLjUsMjcuNSBaIiBpZD0iU2hhcGUiIHN0cm9rZT0iI0NDNEMyMyIgZmlsbD0iI0YxNUEyOSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48L3BhdGg+CiAgICAgICAgPC9nPgogICAgPC9nPgo8L3N2Zz4=",showStatusButton:!0,blocks:[{opcode:"motorTurnClockwise",text:o({id:"ev3.motorTurnClockwise",default:"motor [PORT] turn this way for [TIME] seconds",description:"turn a motor clockwise for some time"}),blockType:i.COMMAND,arguments:{PORT:{type:r.STRING,menu:"motorPorts",defaultValue:0},TIME:{type:r.NUMBER,defaultValue:1}}},{opcode:"motorTurnCounterClockwise",text:o({id:"ev3.motorTurnCounterClockwise",default:"motor [PORT] turn that way for [TIME] seconds",description:"turn a motor counter-clockwise for some time"}),blockType:i.COMMAND,arguments:{PORT:{type:r.STRING,menu:"motorPorts",defaultValue:0},TIME:{type:r.NUMBER,defaultValue:1}}},{opcode:"motorSetPower",text:o({id:"ev3.motorSetPower",default:"motor [PORT] set power [POWER] %",description:"set a motor's power to some value"}),blockType:i.COMMAND,arguments:{PORT:{type:r.STRING,menu:"motorPorts",defaultValue:0},POWER:{type:r.NUMBER,defaultValue:100}}},{opcode:"getMotorPosition",text:o({id:"ev3.getMotorPosition",default:"motor [PORT] position",description:"get the measured degrees a motor has turned"}),blockType:i.REPORTER,arguments:{PORT:{type:r.STRING,menu:"motorPorts",defaultValue:0}}},{opcode:"whenButtonPressed",text:o({id:"ev3.whenButtonPressed",default:"when button [PORT] pressed",description:"when a button connected to a port is pressed"}),blockType:i.HAT,arguments:{PORT:{type:r.STRING,menu:"sensorPorts",defaultValue:0}}},{opcode:"whenDistanceLessThan",text:o({id:"ev3.whenDistanceLessThan",default:"when distance < [DISTANCE]",description:"when the value measured by the distance sensor is less than some value"}),blockType:i.HAT,arguments:{DISTANCE:{type:r.NUMBER,defaultValue:5}}},{opcode:"whenBrightnessLessThan",text:o({id:"ev3.whenBrightnessLessThan",default:"when brightness < [DISTANCE]",description:"when value measured by brightness sensor is less than some value"}),blockType:i.HAT,arguments:{DISTANCE:{type:r.NUMBER,defaultValue:50}}},{opcode:"buttonPressed",text:o({id:"ev3.buttonPressed",default:"button [PORT] pressed?",description:"is a button on some port pressed?"}),blockType:i.BOOLEAN,arguments:{PORT:{type:r.STRING,menu:"sensorPorts",defaultValue:0}}},{opcode:"getDistance",text:o({id:"ev3.getDistance",default:"distance",description:"gets measured distance"}),blockType:i.REPORTER},{opcode:"getBrightness",text:o({id:"ev3.getBrightness",default:"brightness",description:"gets measured brightness"}),blockType:i.REPORTER},{opcode:"beep",text:o({id:"ev3.beepNote",default:"beep note [NOTE] for [TIME] secs",description:"play some note on EV3 for some time"}),blockType:i.COMMAND,arguments:{NOTE:{type:r.NOTE,defaultValue:60},TIME:{type:r.NUMBER,defaultValue:.5}}}],menus:{motorPorts:{acceptReporters:!0,items:this._formatMenu(W)},sensorPorts:{acceptReporters:!0,items:this._formatMenu(V)}}}}motorTurnClockwise(e){const t=s.toNumber(e.PORT);let n=1e3*s.toNumber(e.TIME);return n=u.clamp(n,0,15e3),new Promise((e=>{this._forEachMotor(t,(e=>{const t=this._peripheral.motor(e);t&&(t.direction=1,t.turnOnFor(n))})),setTimeout(e,n)}))}motorTurnCounterClockwise(e){const t=s.toNumber(e.PORT);let n=1e3*s.toNumber(e.TIME);return n=u.clamp(n,0,15e3),new Promise((e=>{this._forEachMotor(t,(e=>{const t=this._peripheral.motor(e);t&&(t.direction=-1,t.turnOnFor(n))})),setTimeout(e,n)}))}motorSetPower(e){const t=s.toNumber(e.PORT),n=u.clamp(s.toNumber(e.POWER),0,100);this._forEachMotor(t,(e=>{const t=this._peripheral.motor(e);t&&(t.power=n)}))}getMotorPosition(e){const t=s.toNumber(e.PORT);if(![0,1,2,3].includes(t))return;const n=this._peripheral.motor(t);let r=0;return n&&(r=u.wrapClamp(n.position,0,360)),r}whenButtonPressed(e){const t=s.toNumber(e.PORT);if([0,1,2,3].includes(t))return this._peripheral.isButtonPressed(t)}whenDistanceLessThan(e){const t=u.clamp(s.toNumber(e.DISTANCE),0,100);return this._peripheral.distance<t}whenBrightnessLessThan(e){const t=u.clamp(s.toNumber(e.DISTANCE),0,100);return this._peripheral.brightness<t}buttonPressed(e){const t=s.toNumber(e.PORT);if([0,1,2,3].includes(t))return this._peripheral.isButtonPressed(t)}getDistance(){return this._peripheral.distance}getBrightness(){return this._peripheral.brightness}_playNoteForPicker(e,t){t===this.getInfo().name&&this.beep({NOTE:e,TIME:.25})}beep(e){const t=u.clamp(s.toNumber(e.NOTE),47,99);let n=1e3*s.toNumber(e.TIME);if(n=u.clamp(n,0,3e3),0!==n)return new Promise((e=>{const r=440*Math.pow(2,(t-69+12)/12);this._peripheral.beep(r,n),setTimeout(e,n)}))}_forEachMotor(e,t){let n;switch(e){case 0:n=[0];break;case 1:n=[1];break;case 2:n=[2];break;case 3:n=[3];break;default:h.warn("Invalid motor ID: ".concat(e)),n=[]}for(const e of n)t(e)}_formatMenu(e){const t=[];for(let n=0;n<e.length;n++){const r={};r.text=e[n],r.value=n.toString(),t.push(r)}return t}}e.exports=G},function(e,t,n){const r=n(69);e.exports=class extends r{constructor(e,t,n,r){let i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null,s=arguments.length>5?arguments[5]:void 0;super(),this._socket=e.getScratchLinkSocket("BT"),this._socket.setOnOpen(this.requestPeripheral.bind(this)),this._socket.setOnError(this._handleRequestError.bind(this)),this._socket.setOnClose(this.handleDisconnectError.bind(this)),this._socket.setHandleMessage(this._handleMessage.bind(this)),this._sendMessage=this._socket.sendMessage.bind(this._socket),this._availablePeripherals={},this._connectCallback=r,this._connected=!1,this._characteristicDidChangeCallback=null,this._resetCallback=i,this._discoverTimeoutID=null,this._extensionId=t,this._peripheralOptions=n,this._messageCallback=s,this._runtime=e,this._socket.open()}requestPeripheral(){this._availablePeripherals={},this._discoverTimeoutID&&window.clearTimeout(this._discoverTimeoutID),this._discoverTimeoutID=window.setTimeout(this._handleDiscoverTimeout.bind(this),15e3),this.sendRemoteRequest("discover",this._peripheralOptions).catch((e=>this._handleRequestError(e)))}connectPeripheral(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;const n={peripheralId:e};t&&(n.pin=t),this.sendRemoteRequest("connect",n).then((()=>{this._connected=!0,this._runtime.emit(this._runtime.constructor.PERIPHERAL_CONNECTED),this._connectCallback()})).catch((e=>{this._handleRequestError(e)}))}disconnect(){this._connected&&(this._connected=!1),this._socket.isOpen()&&this._socket.close(),this._discoverTimeoutID&&window.clearTimeout(this._discoverTimeoutID),this._runtime.emit(this._runtime.constructor.PERIPHERAL_DISCONNECTED)}isConnected(){return this._connected}sendMessage(e){return this.sendRemoteRequest("send",e).catch((e=>{this.handleDisconnectError(e)}))}didReceiveCall(e,t){switch(e){case"didDiscoverPeripheral":this._availablePeripherals[t.peripheralId]=t,this._runtime.emit(this._runtime.constructor.PERIPHERAL_LIST_UPDATE,this._availablePeripherals),this._discoverTimeoutID&&window.clearTimeout(this._discoverTimeoutID);break;case"userDidPickPeripheral":this._availablePeripherals[t.peripheralId]=t,this._runtime.emit(this._runtime.constructor.USER_PICKED_PERIPHERAL,this._availablePeripherals),this._discoverTimeoutID&&window.clearTimeout(this._discoverTimeoutID);break;case"userDidNotPickPeripheral":this._runtime.emit(this._runtime.constructor.PERIPHERAL_SCAN_TIMEOUT),this._discoverTimeoutID&&window.clearTimeout(this._discoverTimeoutID);break;case"didReceiveMessage":this._messageCallback(t);break;default:return"nah"}}handleDisconnectError(){this._connected&&(this.disconnect(),this._resetCallback&&this._resetCallback(),this._runtime.emit(this._runtime.constructor.PERIPHERAL_CONNECTION_LOST_ERROR,{message:"Scratch lost connection to",extensionId:this._extensionId}))}_handleRequestError(){this._runtime.emit(this._runtime.constructor.PERIPHERAL_REQUEST_ERROR,{message:"Scratch lost connection to",extensionId:this._extensionId})}_handleDiscoverTimeout(){this._discoverTimeoutID&&window.clearTimeout(this._discoverTimeoutID),this._runtime.emit(this._runtime.constructor.PERIPHERAL_SCAN_TIMEOUT)}}},function(e,t,n){const r=n(6),i=n(4),s=n(3),o=n(2),a="SPACE",l="LEFT",c="RIGHT",u="UP",d="DOWN",h={[a]:"space",[l]:"left arrow",[u]:"up arrow",[c]:"right arrow",[d]:"down arrow"};e.exports=class{constructor(e){this.runtime=e,this.frameToggle=!1,setInterval((()=>{this.frameToggle=!this.frameToggle}),this.runtime.currentStepTime),this.keyPressed=this.keyPressed.bind(this),this.runtime.on("KEY_PRESSED",this.keyPressed),this._clearkeyPressBuffer=this._clearkeyPressBuffer.bind(this),this.runtime.on("PROJECT_STOP_ALL",this._clearkeyPressBuffer),this.sequences={},this.keyPressBuffer=[]}get KEY_TEXT_SHORT(){return{[a]:r({id:"makeymakey.spaceKey",default:"space",description:"The space key on a computer keyboard."}),[l]:r({id:"makeymakey.leftArrowShort",default:"left",description:"Short name for the left arrow key on a computer keyboard."}),[u]:r({id:"makeymakey.upArrowShort",default:"up",description:"Short name for the up arrow key on a computer keyboard."}),[c]:r({id:"makeymakey.rightArrowShort",default:"right",description:"Short name for the right arrow key on a computer keyboard."}),[d]:r({id:"makeymakey.downArrowShort",default:"down",description:"Short name for the down arrow key on a computer keyboard."})}}get DEFAULT_SEQUENCES(){return["".concat(l," ").concat(u," ").concat(c),"".concat(c," ").concat(u," ").concat(l),"".concat(l," ").concat(c),"".concat(c," ").concat(l),"".concat(u," ").concat(d),"".concat(d," ").concat(u),"".concat(u," ").concat(c," ").concat(d," ").concat(l),"".concat(u," ").concat(l," ").concat(d," ").concat(c),"".concat(u," ").concat(u," ").concat(d," ").concat(d," ")+"".concat(l," ").concat(c," ").concat(l," ").concat(c)]}getInfo(){return{id:"makeymakey",name:"Makey Makey",blockIconURI:"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0MCA0MCI+PHN0eWxlPi5zdDJ7ZmlsbDpyZWR9LnN0M3tmaWxsOiNlMGUwZTB9LnN0NHtmaWxsOm5vbmU7c3Ryb2tlOiM2NjY7c3Ryb2tlLXdpZHRoOi41O3N0cm9rZS1taXRlcmxpbWl0OjEwfTwvc3R5bGU+PHBhdGggZD0iTTM1IDI4SDVhMSAxIDAgMCAxLTEtMVYxMmMwLS42LjQtMSAxLTFoMzBjLjUgMCAxIC40IDEgMXYxNWMwIC41LS41IDEtMSAxeiIgZmlsbD0iI2ZmZiIgaWQ9IkxheWVyXzYiLz48ZyBpZD0iTGF5ZXJfNCI+PHBhdGggY2xhc3M9InN0MiIgZD0iTTQgMjVoMzJ2Mi43SDR6TTEzIDI0aC0yLjJhMSAxIDAgMCAxLTEtMXYtOS43YzAtLjYuNC0xIDEtMUgxM2MuNiAwIDEgLjQgMSAxVjIzYzAgLjYtLjUgMS0xIDF6Ii8+PHBhdGggY2xhc3M9InN0MiIgZD0iTTYuMSAxOS4zdi0yLjJjMC0uNS40LTEgMS0xaDkuN2MuNSAwIDEgLjUgMSAxdjIuMmMwIC41LS41IDEtMSAxSDcuMWExIDEgMCAwIDEtMS0xeiIvPjxjaXJjbGUgY2xhc3M9InN0MiIgY3g9IjIyLjgiIGN5PSIxOC4yIiByPSIzLjQiLz48Y2lyY2xlIGNsYXNzPSJzdDIiIGN4PSIzMC42IiBjeT0iMTguMiIgcj0iMy40Ii8+PHBhdGggY2xhc3M9InN0MiIgZD0iTTQuMiAyN2gzMS45di43SDQuMnoiLz48L2c+PGcgaWQ9IkxheWVyXzUiPjxjaXJjbGUgY2xhc3M9InN0MyIgY3g9IjIyLjgiIGN5PSIxOC4yIiByPSIyLjMiLz48Y2lyY2xlIGNsYXNzPSJzdDMiIGN4PSIzMC42IiBjeT0iMTguMiIgcj0iMi4zIi8+PHBhdGggY2xhc3M9InN0MyIgZD0iTTEyLjUgMjIuOWgtMS4yYy0uMyAwLS41LS4yLS41LS41VjE0YzAtLjMuMi0uNS41LS41aDEuMmMuMyAwIC41LjIuNS41djguNGMwIC4zLS4yLjUtLjUuNXoiLz48cGF0aCBjbGFzcz0ic3QzIiBkPSJNNy4yIDE4Ljd2LTEuMmMwLS4zLjItLjUuNS0uNWg4LjRjLjMgMCAuNS4yLjUuNXYxLjJjMCAuMy0uMi41LS41LjVINy43Yy0uMyAwLS41LS4yLS41LS41ek00IDI2aDMydjJINHoiLz48L2c+PGcgaWQ9IkxheWVyXzMiPjxwYXRoIGNsYXNzPSJzdDQiIGQ9Ik0zNS4yIDI3LjlINC44YTEgMSAwIDAgMS0xLTFWMTIuMWMwLS42LjUtMSAxLTFoMzAuNWMuNSAwIDEgLjQgMSAxVjI3YTEgMSAwIDAgMS0xLjEuOXoiLz48cGF0aCBjbGFzcz0ic3Q0IiBkPSJNMzUuMiAyNy45SDQuOGExIDEgMCAwIDEtMS0xVjEyLjFjMC0uNi41LTEgMS0xaDMwLjVjLjUgMCAxIC40IDEgMVYyN2ExIDEgMCAwIDEtMS4xLjl6Ii8+PC9nPjwvc3ZnPg==",blocks:[{opcode:"whenMakeyKeyPressed",text:r({id:"makeymakey.whenKeyPressed",default:"when [KEY] key pressed",description:"when a keyboard key is pressed"}),blockType:s.HAT,arguments:{KEY:{type:i.STRING,menu:"KEY",defaultValue:a}}},{opcode:"whenCodePressed",text:r({id:"makeymakey.whenKeysPressedInOrder",default:"when [SEQUENCE] pressed in order",description:"when a sequence of keyboard keys is pressed in a specific order"}),blockType:s.HAT,arguments:{SEQUENCE:{type:i.STRING,menu:"SEQUENCE",defaultValue:this.DEFAULT_SEQUENCES[0]}}}],menus:{KEY:{acceptReporters:!0,items:[{text:r({id:"makeymakey.spaceKey",default:"space",description:"The space key on a computer keyboard."}),value:a},{text:r({id:"makeymakey.upArrow",default:"up arrow",description:"The up arrow key on a computer keyboard."}),value:u},{text:r({id:"makeymakey.downArrow",default:"down arrow",description:"The down arrow key on a computer keyboard."}),value:d},{text:r({id:"makeymakey.rightArrow",default:"right arrow",description:"The right arrow key on a computer keyboard."}),value:c},{text:r({id:"makeymakey.leftArrow",default:"left arrow",description:"The left arrow key on a computer keyboard."}),value:l},{text:"w",value:"w"},{text:"a",value:"a"},{text:"s",value:"s"},{text:"d",value:"d"},{text:"f",value:"f"},{text:"g",value:"g"}]},SEQUENCE:{acceptReporters:!0,items:this.buildSequenceMenu(this.DEFAULT_SEQUENCES)}}}}buildSequenceMenu(e){return e.map((e=>this.getMenuItemForSequenceString(e)))}getMenuItemForSequenceString(e){let t=e.split(" ");return t=t.map((e=>this.KEY_TEXT_SHORT[e])),{text:t.join(" "),value:e}}whenMakeyKeyPressed(e,t){let n=e.KEY;h[e.KEY]&&(n=h[e.KEY]);return t.ioQuery("keyboard","getKeyIsDown",[n])&&this.frameToggle}keyPressed(e){e=(e=e.split(" ")[0]).toUpperCase(),this.keyPressBuffer.push(e),this.keyPressBuffer.length>100&&this.keyPressBuffer.shift();for(const e in this.sequences){const t=this.sequences[e].array;if(this.keyPressBuffer.length<t.length)continue;let n=!1;const r=this.keyPressBuffer.slice(-1*t.length);for(let e=0;e<t.length;e++)t[e]!==r[e]&&(n=!0);n||(this.sequences[e].completed=!0,setTimeout((()=>{this.sequences[e].completed=!1}),100))}}_clearkeyPressBuffer(){this.keyPressBuffer=[]}addSequence(e,t){Object.prototype.hasOwnProperty.call(this.sequences,e)||(this.sequences[e]={array:t,completed:!1})}whenCodePressed(e){const t=o.toString(e.SEQUENCE).toUpperCase(),n=t.split(" ");if(!(n.length<2))return this.addSequence(t,n),this.sequences[t].completed}}},function(e,t,n){const r=n(4),i=n(3),s=n(2),o=n(6),a=n(24),l=n(31),c=n(16),u=n(5),d=n(44),h=n(1),p="00001623-1212-efde-1623-785feabcd123",m="00001624-1212-efde-1623-785feabcd123",f=100,g=20,y=20,b=21,v=23,S=37,w=38,k=39,x=40,T=1,E=2,A=4,C={A:55,B:56,C:1,D:2},I={A:0,B:1,C:2,D:3};let O=I;const M="any",N="none",R="red",D="blue",P="green",L="yellow",B="white",z="black",U={[N]:255,[R]:9,[D]:3,[P]:5,[L]:7,[B]:10,[z]:0},j={HUB_PROPERTIES:1,HUB_ACTIONS:2,HUB_ALERTS:3,HUB_ATTACHED_IO:4,ERROR:5,PORT_INPUT_FORMAT_SETUP_SINGLE:65,PORT_INPUT_FORMAT_SETUP_COMBINED:66,PORT_INFORMATION:67,PORT_MODEINFORMATION:68,PORT_VALUE:69,PORT_VALUE_COMBINED:70,PORT_INPUT_FORMAT:71,PORT_INPUT_FORMAT_COMBINED:72,OUTPUT:129,PORT_FEEDBACK:130},F=3,W=5,V=1,G=7,q=11,Y=81,H=16,_=1,K=0,Q=127,X=0,Z=1,J=0,$=0,ee=1,te=0,ne=2,re=0,ie=0,se=1,oe=2,ae=3,le=function(e){const t=new ArrayBuffer(4),n=new DataView(t);return n.setInt32(0,e),[n.getInt8(3),n.getInt8(2),n.getInt8(1),n.getInt8(0)]},ce=function(e){const t=Uint8Array.from(e);return new DataView(t.buffer).getInt32(0,!0)};class ue{constructor(e,t){this._parent=e,this._index=t,this._direction=1,this._power=50,this._position=0,this._status=ie,this._pendingDurationTimeoutId=null,this._pendingDurationTimeoutStartTime=null,this._pendingDurationTimeoutDelay=null,this._pendingRotationDestination=null,this._pendingRotationPromise=null,this.turnOff=this.turnOff.bind(this)}get direction(){return this._direction}set direction(e){this._direction=e<0?-1:1}get power(){return this._power}set power(e){this._power=0===e?0:u.scale(e,1,100,10,100)}get position(){return this._position}set position(e){this._position=e}get status(){return this._status}set status(e){this._clearRotationState(),this._clearDurationTimeout(),this._status=e}get pendingDurationTimeoutStartTime(){return this._pendingDurationTimeoutStartTime}get pendingDurationTimeoutDelay(){return this._pendingDurationTimeoutDelay}get pendingRotationDestination(){return this._pendingRotationDestination}get pendingRotationPromise(){return this._pendingRotationPromise}set pendingRotationPromise(e){this._pendingRotationPromise=e}_turnOn(){const e=this._parent.generateOutputCommand(this._index,H,G,[this.power*this.direction,u.clamp(this.power+10,0,100),X]);this._parent.send(m,e)}turnOnForever(){this.status=se,this._turnOn()}turnOnFor(e){e=Math.max(0,e),this.status=oe,this._turnOn(),this._setNewDurationTimeout(this.turnOff,e)}turnOnForDegrees(e,t){e=Math.max(0,e);const n=this._parent.generateOutputCommand(this._index,H^_,q,[...le(e),this.power*this.direction*t,u.clamp(this.power+10,0,100),Q,X]);this.status=ae,this._pendingRotationDestination=this.position+e*this.direction*t,this._parent.send(m,n)}turnOff(){let e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];const t=this._parent.generateOutputCommand(this._index,H,V,[K]);this.status=ie,this._parent.send(m,t,e)}_clearDurationTimeout(){null!==this._pendingDurationTimeoutId&&(clearTimeout(this._pendingDurationTimeoutId),this._pendingDurationTimeoutId=null,this._pendingDurationTimeoutStartTime=null,this._pendingDurationTimeoutDelay=null)}_setNewDurationTimeout(e,t){this._clearDurationTimeout();const n=setTimeout((()=>{this._pendingDurationTimeoutId===n&&(this._pendingDurationTimeoutId=null,this._pendingDurationTimeoutStartTime=null,this._pendingDurationTimeoutDelay=null),e()}),t);this._pendingDurationTimeoutId=n,this._pendingDurationTimeoutStartTime=Date.now(),this._pendingDurationTimeoutDelay=t}_clearRotationState(){null!==this._pendingRotationPromise&&(this._pendingRotationPromise(),this._pendingRotationPromise=null),this._pendingRotationDestination=null}}class de{constructor(e,t){this._runtime=e,this._runtime.on("PROJECT_STOP_ALL",this.stopAll.bind(this)),this._extensionId=t,this._ports=[],this._motors=[],this._sensors={tiltX:0,tiltY:0,color:N,previousColor:N},this._colorSamples=[],this._ble=null,this._runtime.registerPeripheralExtension(t,this),this._rateLimiter=new d(g),this._pingDeviceId=null,this.reset=this.reset.bind(this),this._onConnect=this._onConnect.bind(this),this._onMessage=this._onMessage.bind(this),this._pingDevice=this._pingDevice.bind(this)}get tiltX(){return this._sensors.tiltX}get tiltY(){return this._sensors.tiltY}get color(){return this._sensors.color}get previousColor(){return this._sensors.previousColor}boostColorForIndex(e){return Object.keys(U).find((t=>U[t]===e))||N}motor(e){return this._motors[e]}stopAllMotors(){this._motors.forEach((e=>{e&&e.turnOff(!1)}))}setLED(e){const t=[e>>16&255,e>>8&255,255&e],n=this.generateOutputCommand(this._ports.indexOf(v),H^_,Y,[ee,...t]);return this.send(m,n)}setLEDMode(){const e=this.generateInputCommand(this._ports.indexOf(v),ee,0,!1);return this.send(m,e)}stopAll(){this.isConnected()&&this.stopAllMotors()}scan(){this._ble&&this._ble.disconnect(),this._ble=new l(this._runtime,this._extensionId,{filters:[{services:[p],manufacturerData:{919:{dataPrefix:[0,64],mask:[0,255]}}}],optionalServices:[]},this._onConnect,this.reset)}connect(e){this._ble&&this._ble.connectPeripheral(e)}disconnect(){this._ble&&this._ble.disconnect(),this.reset()}reset(){this._ports=[],this._motors=[],this._sensors={tiltX:0,tiltY:0,color:N,previousColor:N},this._pingDeviceId&&(window.clearInterval(this._pingDeviceId),this._pingDeviceId=null)}isConnected(){let e=!1;return this._ble&&(e=this._ble.isConnected()),e}send(e,t){let n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];return this.isConnected()?n&&!this._rateLimiter.okayToSend()?Promise.resolve():this._ble.write(p,e,c.uint8ArrayToBase64(t),"base64"):Promise.resolve()}generateOutputCommand(e,t,n,r){const i=[0,j.OUTPUT,e,t,n,...r];return i.unshift(i.length+1),i}generateInputCommand(e,t,n,r){const i=[0,j.PORT_INPUT_FORMAT_SETUP_SINGLE,e,t].concat(le(n)).concat([r]);return i.unshift(i.length+1),i}_onConnect(){this._ble.startNotifications(p,m,this._onMessage),this._pingDeviceId=window.setInterval(this._pingDevice,5e3),setTimeout((()=>{const e=[0,j.HUB_PROPERTIES,F,W];e.unshift(e.length+1),this.send(m,e,!1)}),500)}_onMessage(e){const t=c.base64ToUint8Array(e),n=t[2],r=t[3];switch(n){case j.HUB_PROPERTIES:switch(t[3]){case F:{const e=ce([36,2,0,16]);ce(t.slice(5,t.length))<e?(O=C,h.info("Move Hub firmware older than version 1.0.00.0224 detected. Using old port mapping.")):O=I;break}}break;case j.HUB_ATTACHED_IO:{const e=t[4],n=t[5];switch(e){case Z:this._registerSensorOrMotor(r,n);break;case J:this._clearPort(r)}break}case j.PORT_VALUE:{const e=this._ports[r];switch(e){case x:this._sensors.tiltX=t[4],this._sensors.tiltY=t[5];break;case S:this._colorSamples.unshift(t[4]),this._colorSamples.length>5?(this._colorSamples.pop(),this._colorSamples.every(((e,t,n)=>e===n[0]))?(this._sensors.previousColor=this._sensors.color,this._sensors.color=this.boostColorForIndex(this._colorSamples[0])):this._sensors.color=N):this._sensors.color=N;break;case w:case k:this.motor(r).position=ce(t.slice(4,8));break;case b:case y:case v:break;default:h.warn("Unknown sensor value! Type: ".concat(e))}break}case j.PORT_FEEDBACK:{const e=t[4],n=this.motor(r);if(n){!(e&T)&&e&(E^A)&&n.status===ae&&(n.status=ie)}break}case j.ERROR:h.warn("Error reported by hub: ".concat(t))}}_pingDevice(){this._ble.read(p,m,!1)}_registerSensorOrMotor(e,t){this._ports[e]=t,t!==k&&t!==w||(this._motors[e]=new ue(this,e));let n=null,r=1;switch(t){case k:case w:n=ne;break;case S:n=te,r=0;break;case v:n=ee,this.setLEDMode(),this.setLED(255);break;case x:n=$;break;default:n=re}const i=this.generateInputCommand(e,n,r,!0);this.send(m,i)}_clearPort(e){const t=this._ports[e];t===x&&(this._sensors.tiltX=this._sensors.tiltY=0),t===S&&(this._sensors.color=N),this._ports[e]="none",this._motors[e]=null}}const he="A",pe="B",me="C",fe="D",ge="AB",ye="ABCD",be="this way",ve="that way",Se="reverse",we="up",ke="down",xe="left",Te="right",Ee="any";class Ae{static get EXTENSION_ID(){return"boost"}static get TILT_THRESHOLD(){return 15}constructor(e){this.runtime=e,this._peripheral=new de(this.runtime,Ae.EXTENSION_ID)}getInfo(){return{id:Ae.EXTENSION_ID,name:"BOOST",blockIconURI:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAABQCAMAAAC5zwKfAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACpQTFRF////fIel5ufolZ62/2YavsPS+YZOkJmy9/j53+Hk6+zs6N/b6dfO////tDhMHAAAAA50Uk5T/////////////////wBFwNzIAAAA6ElEQVR42uzX2w6DIBAEUGDVtlr//3dLaLwgiwUd2z7MJPJg5EQWiGhGcAxBggQJEiT436CIfqXJPTn3MKNYYMSDFpoAmp24OaYgvwKnFgL2zvVTCwHrMoMi+nUQLFthaNCCa0iwclLkDgYVsQp0mzxuqXgK1MRzoCLWgkPXNN2wI/q6Kvt7u/cX0HtejN8x2sXpnpb8J8D3b0Keuhh3X975M+i0xNVbg3s1TIasgK21bQyGO+s2PykaGMYbge8KrNrssvkOWDXkErB8UuBHETjoYLkKBA8ZfuDkbwVBggQJEiR4MC8BBgDTtMZLx2nFCQAAAABJRU5ErkJggg==",showStatusButton:!0,blocks:[{opcode:"motorOnFor",text:o({id:"boost.motorOnFor",default:"turn motor [MOTOR_ID] for [DURATION] seconds",description:"turn a motor on for some time"}),blockType:i.COMMAND,arguments:{MOTOR_ID:{type:r.STRING,menu:"MOTOR_ID",defaultValue:he},DURATION:{type:r.NUMBER,defaultValue:1}}},{opcode:"motorOnForRotation",text:o({id:"boost.motorOnForRotation",default:"turn motor [MOTOR_ID] for [ROTATION] rotations",description:"turn a motor on for rotation"}),blockType:i.COMMAND,arguments:{MOTOR_ID:{type:r.STRING,menu:"MOTOR_ID",defaultValue:he},ROTATION:{type:r.NUMBER,defaultValue:1}}},{opcode:"motorOn",text:o({id:"boost.motorOn",default:"turn motor [MOTOR_ID] on",description:"turn a motor on indefinitely"}),blockType:i.COMMAND,arguments:{MOTOR_ID:{type:r.STRING,menu:"MOTOR_ID",defaultValue:he}}},{opcode:"motorOff",text:o({id:"boost.motorOff",default:"turn motor [MOTOR_ID] off",description:"turn a motor off"}),blockType:i.COMMAND,arguments:{MOTOR_ID:{type:r.STRING,menu:"MOTOR_ID",defaultValue:he}}},{opcode:"setMotorPower",text:o({id:"boost.setMotorPower",default:"set motor [MOTOR_ID] speed to [POWER] %",description:"set the motor's speed without turning it on"}),blockType:i.COMMAND,arguments:{MOTOR_ID:{type:r.STRING,menu:"MOTOR_ID",defaultValue:ye},POWER:{type:r.NUMBER,defaultValue:100}}},{opcode:"setMotorDirection",text:o({id:"boost.setMotorDirection",default:"set motor [MOTOR_ID] direction [MOTOR_DIRECTION]",description:"set the motor's turn direction without turning it on"}),blockType:i.COMMAND,arguments:{MOTOR_ID:{type:r.STRING,menu:"MOTOR_ID",defaultValue:he},MOTOR_DIRECTION:{type:r.STRING,menu:"MOTOR_DIRECTION",defaultValue:be}}},{opcode:"getMotorPosition",text:o({id:"boost.getMotorPosition",default:"motor [MOTOR_REPORTER_ID] position",description:"the position returned by the motor"}),blockType:i.REPORTER,arguments:{MOTOR_REPORTER_ID:{type:r.STRING,menu:"MOTOR_REPORTER_ID",defaultValue:he}}},{opcode:"whenColor",text:o({id:"boost.whenColor",default:"when [COLOR] brick seen",description:"check for when color"}),blockType:i.HAT,arguments:{COLOR:{type:r.STRING,menu:"COLOR",defaultValue:M}}},{opcode:"seeingColor",text:o({id:"boost.seeingColor",default:"seeing [COLOR] brick?",description:"is the color sensor seeing a certain color?"}),blockType:i.BOOLEAN,arguments:{COLOR:{type:r.STRING,menu:"COLOR",defaultValue:M}}},{opcode:"whenTilted",text:o({id:"boost.whenTilted",default:"when tilted [TILT_DIRECTION_ANY]",description:"check when tilted in a certain direction"}),func:"isTilted",blockType:i.HAT,arguments:{TILT_DIRECTION_ANY:{type:r.STRING,menu:"TILT_DIRECTION_ANY",defaultValue:Ee}}},{opcode:"getTiltAngle",text:o({id:"boost.getTiltAngle",default:"tilt angle [TILT_DIRECTION]",description:"the angle returned by the tilt sensor"}),blockType:i.REPORTER,arguments:{TILT_DIRECTION:{type:r.STRING,menu:"TILT_DIRECTION",defaultValue:we}}},{opcode:"setLightHue",text:o({id:"boost.setLightHue",default:"set light color to [HUE]",description:"set the LED color"}),blockType:i.COMMAND,arguments:{HUE:{type:r.NUMBER,defaultValue:50}}}],menus:{MOTOR_ID:{acceptReporters:!0,items:[{text:"A",value:he},{text:"B",value:pe},{text:"C",value:me},{text:"D",value:fe},{text:"AB",value:ge},{text:"ABCD",value:ye}]},MOTOR_REPORTER_ID:{acceptReporters:!0,items:[{text:"A",value:he},{text:"B",value:pe},{text:"C",value:me},{text:"D",value:fe}]},MOTOR_DIRECTION:{acceptReporters:!0,items:[{text:o({id:"boost.motorDirection.forward",default:"this way",description:"label for forward element in motor direction menu for LEGO Boost extension"}),value:be},{text:o({id:"boost.motorDirection.backward",default:"that way",description:"label for backward element in motor direction menu for LEGO Boost extension"}),value:ve},{text:o({id:"boost.motorDirection.reverse",default:"reverse",description:"label for reverse element in motor direction menu for LEGO Boost extension"}),value:Se}]},TILT_DIRECTION:{acceptReporters:!0,items:[{text:o({id:"boost.tiltDirection.up",default:"up",description:"label for up element in tilt direction menu for LEGO Boost extension"}),value:we},{text:o({id:"boost.tiltDirection.down",default:"down",description:"label for down element in tilt direction menu for LEGO Boost extension"}),value:ke},{text:o({id:"boost.tiltDirection.left",default:"left",description:"label for left element in tilt direction menu for LEGO Boost extension"}),value:xe},{text:o({id:"boost.tiltDirection.right",default:"right",description:"label for right element in tilt direction menu for LEGO Boost extension"}),value:Te}]},TILT_DIRECTION_ANY:{acceptReporters:!0,items:[{text:o({id:"boost.tiltDirection.up",default:"up"}),value:we},{text:o({id:"boost.tiltDirection.down",default:"down"}),value:ke},{text:o({id:"boost.tiltDirection.left",default:"left"}),value:xe},{text:o({id:"boost.tiltDirection.right",default:"right"}),value:Te},{text:o({id:"boost.tiltDirection.any",default:"any",description:"label for any element in tilt direction menu for LEGO Boost extension"}),value:Ee}]},COLOR:{acceptReporters:!0,items:[{text:o({id:"boost.color.red",default:"red",description:"the color red"}),value:R},{text:o({id:"boost.color.blue",default:"blue",description:"the color blue"}),value:D},{text:o({id:"boost.color.green",default:"green",description:"the color green"}),value:P},{text:o({id:"boost.color.yellow",default:"yellow",description:"the color yellow"}),value:L},{text:o({id:"boost.color.white",default:"white",desription:"the color white"}),value:B},{text:o({id:"boost.color.black",default:"black",description:"the color black"}),value:z},{text:o({id:"boost.color.any",default:"any color",description:"any color"}),value:M}]}}}}motorOnFor(e){let t=1e3*s.toNumber(e.DURATION);return t=u.clamp(t,0,15e3),new Promise((n=>{this._forEachMotor(e.MOTOR_ID,(e=>{const n=this._peripheral.motor(e);n&&n.turnOnFor(t)})),setTimeout(n,t)}))}motorOnForRotation(e){let t=360*s.toNumber(e.ROTATION);const n=Math.sign(t);t=Math.abs(u.clamp(t,-36e4,36e4));const r=[];this._forEachMotor(e.MOTOR_ID,(e=>{r.push(e)}));const i=r.map((e=>{const r=this._peripheral.motor(e);return r?0===r.power?Promise.resolve():new Promise((e=>{r.turnOnForDegrees(t,n),r.pendingRotationPromise=e})):null}));return Promise.all(i).then((()=>{}))}motorOn(e){return this._forEachMotor(e.MOTOR_ID,(e=>{const t=this._peripheral.motor(e);t&&t.turnOnForever()})),new Promise((e=>{window.setTimeout((()=>{e()}),f)}))}motorOff(e){return this._forEachMotor(e.MOTOR_ID,(e=>{const t=this._peripheral.motor(e);t&&t.turnOff()})),new Promise((e=>{window.setTimeout((()=>{e()}),f)}))}setMotorPower(e){return this._forEachMotor(e.MOTOR_ID,(t=>{const n=this._peripheral.motor(t);if(n)switch(n.power=u.clamp(s.toNumber(e.POWER),0,100),n.status){case se:n.turnOnForever();break;case oe:n.turnOnFor(n.pendingDurationTimeoutStartTime+n.pendingDurationTimeoutDelay-Date.now())}})),new Promise((e=>{window.setTimeout((()=>{e()}),f)}))}setMotorDirection(e){return this._forEachMotor(e.MOTOR_ID,(t=>{const n=this._peripheral.motor(t);if(n){switch(e.MOTOR_DIRECTION){case be:n.direction=1;break;case ve:n.direction=-1;break;case Se:n.direction=-n.direction;break;default:h.warn("Unknown motor direction in setMotorDirection: ".concat(e.DIRECTION))}if(n)switch(n.status){case se:n.turnOnForever();break;case oe:n.turnOnFor(n.pendingDurationTimeoutStartTime+n.pendingDurationTimeoutDelay-Date.now())}}})),new Promise((e=>{window.setTimeout((()=>{e()}),f)}))}getMotorPosition(e){let t=null;switch(e.MOTOR_REPORTER_ID){case he:t=O.A;break;case pe:t=O.B;break;case me:t=O.C;break;case fe:t=O.D;break;default:return h.warn("Asked for a motor position that doesnt exist!"),!1}if(null!==t&&this._peripheral.motor(t)){let e=this._peripheral.motor(t).position;return t===O.A&&(e*=-1),u.wrapClamp(e,0,360)}return 0}_forEachMotor(e,t){let n;switch(e){case he:n=[O.A];break;case pe:n=[O.B];break;case me:n=[O.C];break;case fe:n=[O.D];break;case ge:n=[O.A,O.B];break;case ye:n=[O.A,O.B,O.C,O.D];break;default:h.warn("Invalid motor ID: ".concat(e)),n=[]}for(const e of n)t(e)}whenTilted(e){return this._isTilted(e.TILT_DIRECTION_ANY)}isTilted(e){return this._isTilted(e.TILT_DIRECTION_ANY)}getTiltAngle(e){return this._getTiltAngle(e.TILT_DIRECTION)}_isTilted(e){return e===Ee?Math.abs(this._peripheral.tiltX)>=Ae.TILT_THRESHOLD||Math.abs(this._peripheral.tiltY)>=Ae.TILT_THRESHOLD:this._getTiltAngle(e)>=Ae.TILT_THRESHOLD}_getTiltAngle(e){switch(e){case we:return this._peripheral.tiltY>90?256-this._peripheral.tiltY:-this._peripheral.tiltY;case ke:return this._peripheral.tiltY>90?this._peripheral.tiltY-256:this._peripheral.tiltY;case xe:return this._peripheral.tiltX>90?this._peripheral.tiltX-256:this._peripheral.tiltX;case Te:return this._peripheral.tiltX>90?256-this._peripheral.tiltX:-this._peripheral.tiltX;default:h.warn("Unknown tilt direction in _getTiltAngle: ".concat(e))}}whenColor(e){return e.COLOR===M?this._peripheral.color!==N&&this._peripheral.color!==this._peripheral.previousColor:e.COLOR===this._peripheral.color}seeingColor(e){return e.COLOR===M?this._peripheral.color!==N:e.COLOR===this._peripheral.color}setLightHue(e){let t=s.toNumber(e.HUE);t=u.wrapClamp(t,0,100);const n=360*t/100,r=a.hsvToRgb({h:n,s:1,v:1}),i=a.rgbToDecimal(r);return this._peripheral._led=t,this._peripheral.setLED(i),new Promise((e=>{window.setTimeout((()=>{e()}),f)}))}}e.exports=Ae},function(e,t,n){const r=n(4),i=n(3),s=n(1),o=n(6),a=n(5),l=n(31),c=n(243),u=n(244),d={service:"d91714ef-28b9-4f91-ba16-f0d9a604f112",commandChar:"f4bf14a6-c7d5-4b6d-8aa8-df1a7c83adcb",responseChar:"b41e6675-a329-40e0-aa01-44d2f444babe"},h="Force and Acceleration extension stopped receiving data",p=1,m=2,f=3,g=4,y=5,b=6,v=7;class S{constructor(e,t){this._runtime=e,this._ble=null,this._device=null,this._runtime.registerPeripheralExtension(t,this),this._extensionId=t,this._sensors={force:0,accelerationX:0,accelerationY:0,accelerationZ:0,spinSpeedX:0,spinSpeedY:0,spinSpeedZ:0},this._timeoutID=null,this.reset=this.reset.bind(this),this._onConnect=this._onConnect.bind(this)}scan(){this._ble&&this._ble.disconnect(),this._ble=new l(this._runtime,this._extensionId,{filters:[{namePrefix:"GDX-FOR"}],optionalServices:[d.service]},this._onConnect,this.reset)}connect(e){this._ble&&this._ble.connectPeripheral(e)}disconnect(){this._ble&&this._ble.disconnect(),this.reset()}reset(){this._sensors={force:0,accelerationX:0,accelerationY:0,accelerationZ:0,spinSpeedX:0,spinSpeedY:0,spinSpeedZ:0},this._timeoutID&&(window.clearInterval(this._timeoutID),this._timeoutID=null)}isConnected(){let e=!1;return this._ble&&(e=this._ble.isConnected()),e}_onConnect(){const e=new u(this._ble,d);c.createDevice(e,{open:!0,startMeasurements:!1}).then((e=>{this._device=e,this._device.keepValues=!1,this._device.sensors.forEach((e=>{e.setEnabled(!0)})),this._device.on("measurements-started",(()=>{this._device.sensors.filter((e=>e.enabled)).forEach((e=>{e.on("value-changed",(e=>{this._onSensorValueChanged(e)}))})),this._timeoutID=window.setInterval((()=>this._ble.handleDisconnectError(h)),4500)})),this._device.start(80)}))}_onSensorValueChanged(e){switch(e.number){case p:this._sensors.force=a.clamp(2*e.value,-100,100);break;case m:this._sensors.accelerationX=e.value;break;case f:this._sensors.accelerationY=e.value;break;case g:this._sensors.accelerationZ=e.value;break;case y:this._sensors.spinSpeedX=this._spinSpeedFromGyro(e.value);break;case b:this._sensors.spinSpeedY=this._spinSpeedFromGyro(e.value);break;case v:this._sensors.spinSpeedZ=this._spinSpeedFromGyro(e.value)}window.clearInterval(this._timeoutID),this._timeoutID=window.setInterval((()=>this._ble.handleDisconnectError(h)),4500)}_spinSpeedFromGyro(e){const t=1e3/this._runtime.currentStepTime;return e=a.radToDeg(e),e/=t,e*=-1}getForce(){return this._sensors.force}getTiltFrontBack(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];const t=this.getAccelerationX(),n=this.getAccelerationY(),r=this.getAccelerationZ();let i=n*n+r*r;return i=Math.sqrt(i),i<.35?i=t<0?90:-90:(i=t/i,i=Math.atan(i),i=-1*a.radToDeg(i)),e&&(i*=-1),i}getTiltLeftRight(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];const t=this.getAccelerationX(),n=this.getAccelerationY(),r=this.getAccelerationZ();let i=t*t+r*r;return i=Math.sqrt(i),i<.35?i=n<0?90:-90:(i=n/i,i=Math.atan(i),i=-1*a.radToDeg(i)),e&&(i*=-1),i}getAccelerationX(){return this._sensors.accelerationX}getAccelerationY(){return this._sensors.accelerationY}getAccelerationZ(){return this._sensors.accelerationZ}getSpinSpeedX(){return this._sensors.spinSpeedX}getSpinSpeedY(){return this._sensors.spinSpeedY}getSpinSpeedZ(){return this._sensors.spinSpeedZ}}const w="pushed",k="pulled",x="shaken",T="started falling",E="turned face up",A="turned face down",C="front",I="back",O="left",M="right",N="any",R="x",D="y",P="z";class L{static get EXTENSION_NAME(){return"Force and Acceleration"}static get EXTENSION_ID(){return"gdxfor"}get AXIS_MENU(){return[{text:"x",value:R},{text:"y",value:D},{text:"z",value:P}]}get TILT_MENU(){return[{text:o({id:"gdxfor.tiltDirectionMenu.front",default:"front",description:"label for front element in tilt direction picker for gdxfor extension"}),value:C},{text:o({id:"gdxfor.tiltDirectionMenu.back",default:"back",description:"label for back element in tilt direction picker for gdxfor extension"}),value:I},{text:o({id:"gdxfor.tiltDirectionMenu.left",default:"left",description:"label for left element in tilt direction picker for gdxfor extension"}),value:O},{text:o({id:"gdxfor.tiltDirectionMenu.right",default:"right",description:"label for right element in tilt direction picker for gdxfor extension"}),value:M}]}get TILT_MENU_ANY(){return[...this.TILT_MENU,{text:o({id:"gdxfor.tiltDirectionMenu.any",default:"any",description:"label for any direction element in tilt direction picker for gdxfor extension"}),value:N}]}get PUSH_PULL_MENU(){return[{text:o({id:"gdxfor.pushed",default:"pushed",description:"the force sensor was pushed inward"}),value:w},{text:o({id:"gdxfor.pulled",default:"pulled",description:"the force sensor was pulled outward"}),value:k}]}get GESTURE_MENU(){return[{text:o({id:"gdxfor.shaken",default:"shaken",description:"the sensor was shaken"}),value:x},{text:o({id:"gdxfor.startedFalling",default:"started falling",description:"the sensor started free falling"}),value:T},{text:o({id:"gdxfor.turnedFaceUp",default:"turned face up",description:"the sensor was turned to face up"}),value:E},{text:o({id:"gdxfor.turnedFaceDown",default:"turned face down",description:"the sensor was turned to face down"}),value:A}]}constructor(e){this.runtime=e,this._peripheral=new S(this.runtime,L.EXTENSION_ID)}getInfo(){return{id:L.EXTENSION_ID,name:L.EXTENSION_NAME,blockIconURI:"data:image/png;base64,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",menuIconURI:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAABGdBTUEAALGPC/xhBQAAA9dJREFUWAnNmE2IFEcUgF/9dE/v7LoaM9kkK4JBRA0EFBIPRm85hBAvEXHXwyo5eFE87GFcReMkObgJiQnkkJzEg9n8HIJixKNe1IMKihgiCbviwV11V3d0d3pmuqsqr5ppcEnb3TNVggVFVVe9eu+r97qqq4tASqp8/fsboQgmU0TMugi571K29bPy9ovPU8Sf16HbpQj3EkYFBcJcr5Am2nZfs94AIWVfqMQeHNwhICUBZ4ypUIA/X2sbIm2AW8AJK0lkEP6TJpfqwXgg4QxmF/fB7Gtvxk1G5ZKHU1CqTgPJoSUXYJYeohSUJu+qrqdVUGh2/pVX4VFffx77WaqBZkrkEFj271+qWH0sXcU3FBzyQe/Mg7B//LbKMTRTxNiDbsMHHjTJlyM7HEJIBHXs2KXFj+oTNSdoQOCYLS5jD9IwBMm5H8NplwwPb/QV4yEIcycaAza9IuA76B38fuz1OF5RXUkmHCdu6rg0BpSMgV/sAe7DdzGFrvvdi0D3mSZjQA0wt7REQsY+iWF0XbfFzyal8SLRxuteD+Du4h4Z/flbqaBHibAQtZmQtcZaAZSMwtTylaR/4vaw1ju5YhWG10pwwAqghmp2FeHO2+t11WqyM80W0m7vAOhsM1kD7CGz8L57Jsq6bitZC/GcWgLf1H6KuHT92cTDAFy/BgXMXm0OCpgV50Bo9kK3BqiBboabQMMU/WoL5im4jToeq/AIgXsiRx5KKCjcwPEsiAv/BQMu9EwyDHXd/3kqCOSzDk6t5/YglQKKeJwq+PNRmJI8kwSTaj1HZy5AhSHqnXkIvU9mMUwEw4Q5wTM57LUtkg8QPw/cdcBJ+PhvKJ0Gj80nGq6JXrg6/XFiX97GXIBpyqTieKpKViOl+WEhWXMaUavvvdIZ8Giy5+Lh3bwKm/t+Be3JazMfxc1tldY26rastiHcsQevTG9pw0znovkAcRWHzSDKnZtaOJLSfMFLB5RqtRBS4LbCurqLCy0YPkU3C0IIPEimMqR2ei7ZX2+KQdRi/WahNT/GmfOD4Vyzhx/66pcjp85dUvcmp6J8+txldXh07PPskdkS+V6EbD0vTOKlB0x9B/O6BS8ULly9PgE6x4kDPR/XX5pyYKj8xcCucsUmkNUQE0JvKKm2VioVK5HRE7UKOHbi6B94RzP+93jtpC0vWgXUF0hr3ipuw8uadwd3jXxoA9IK4Pah8t6BneV9GgjD28Svw1mlxFobgFbeFTz13cKbth93fDryp2CEq0a4hTA+aAPQ/ESJFDdvXLzzzrqNjlTqOP6uDeFf0uhvJ0ZP2QD8D6ZzU6u8YIbBAAAAAElFTkSuQmCC",showStatusButton:!0,blocks:[{opcode:"whenGesture",text:o({id:"gdxfor.whenGesture",default:"when [GESTURE]",description:"when the sensor detects a gesture"}),blockType:i.HAT,arguments:{GESTURE:{type:r.STRING,menu:"gestureOptions",defaultValue:x}}},{opcode:"whenForcePushedOrPulled",text:o({id:"gdxfor.whenForcePushedOrPulled",default:"when force sensor [PUSH_PULL]",description:"when the force sensor is pushed or pulled"}),blockType:i.HAT,arguments:{PUSH_PULL:{type:r.STRING,menu:"pushPullOptions",defaultValue:w}}},{opcode:"getForce",text:o({id:"gdxfor.getForce",default:"force",description:"gets force"}),blockType:i.REPORTER},"---",{opcode:"whenTilted",text:o({id:"gdxfor.whenTilted",default:"when tilted [TILT]",description:"when the sensor detects tilt"}),blockType:i.HAT,arguments:{TILT:{type:r.STRING,menu:"tiltAnyOptions",defaultValue:N}}},{opcode:"isTilted",text:o({id:"gdxfor.isTilted",default:"tilted [TILT]?",description:"is the device tilted?"}),blockType:i.BOOLEAN,arguments:{TILT:{type:r.STRING,menu:"tiltAnyOptions",defaultValue:N}}},{opcode:"getTilt",text:o({id:"gdxfor.getTilt",default:"tilt angle [TILT]",description:"gets tilt"}),blockType:i.REPORTER,arguments:{TILT:{type:r.STRING,menu:"tiltOptions",defaultValue:C}}},"---",{opcode:"isFreeFalling",text:o({id:"gdxfor.isFreeFalling",default:"falling?",description:"is the device in free fall?"}),blockType:i.BOOLEAN},{opcode:"getSpinSpeed",text:o({id:"gdxfor.getSpin",default:"spin speed [DIRECTION]",description:"gets spin speed"}),blockType:i.REPORTER,arguments:{DIRECTION:{type:r.STRING,menu:"axisOptions",defaultValue:P}}},{opcode:"getAcceleration",text:o({id:"gdxfor.getAcceleration",default:"acceleration [DIRECTION]",description:"gets acceleration"}),blockType:i.REPORTER,arguments:{DIRECTION:{type:r.STRING,menu:"axisOptions",defaultValue:R}}}],menus:{pushPullOptions:{acceptReporters:!0,items:this.PUSH_PULL_MENU},gestureOptions:{acceptReporters:!0,items:this.GESTURE_MENU},axisOptions:{acceptReporters:!0,items:this.AXIS_MENU},tiltOptions:{acceptReporters:!0,items:this.TILT_MENU},tiltAnyOptions:{acceptReporters:!0,items:this.TILT_MENU_ANY}}}}whenForcePushedOrPulled(e){switch(e.PUSH_PULL){case w:return this._peripheral.getForce()<-5;case k:return this._peripheral.getForce()>5;default:return s.warn("unknown push/pull value in whenForcePushedOrPulled: ".concat(e.PUSH_PULL)),!1}}getForce(){return Math.round(this._peripheral.getForce())}whenGesture(e){switch(e.GESTURE){case x:return this.gestureMagnitude()>30;case T:return this.isFreeFalling();case E:return this._isFacing(E);case A:return this._isFacing(A);default:return s.warn("unknown gesture value in whenGesture: ".concat(e.GESTURE)),!1}}_isFacing(e){void 0===this._facingUp&&(this._facingUp=!1),void 0===this._facingDown&&(this._facingDown=!1);let t=9;switch((this._facingUp||this._facingDown)&&(t-=5),this._facingUp=this._peripheral.getAccelerationZ()>t,this._facingDown=this._peripheral.getAccelerationZ()<-1*t,e){case E:return this._facingUp;case A:return this._facingDown;default:return!1}}whenTilted(e){return this._isTilted(e.TILT)}isTilted(e){return this._isTilted(e.TILT)}getTilt(e){return this._getTiltAngle(e.TILT)}_isTilted(e){return e===N?this._getTiltAngle(C)>15||this._getTiltAngle(I)>15||this._getTiltAngle(O)>15||this._getTiltAngle(M)>15:this._getTiltAngle(e)>15}_getTiltAngle(e){if(!this._peripheral.isConnected())return 0;switch(e){case C:return Math.round(this._peripheral.getTiltFrontBack(!0));case I:return Math.round(this._peripheral.getTiltFrontBack(!1));case O:return Math.round(this._peripheral.getTiltLeftRight(!0));case M:return Math.round(this._peripheral.getTiltLeftRight(!1));default:s.warn("Unknown direction in getTilt: ".concat(e))}}getSpinSpeed(e){switch(e.DIRECTION){case R:return Math.round(this._peripheral.getSpinSpeedX());case D:return Math.round(this._peripheral.getSpinSpeedY());case P:return Math.round(this._peripheral.getSpinSpeedZ());default:s.warn("Unknown direction in getSpinSpeed: ".concat(e.DIRECTION))}}getAcceleration(e){switch(e.DIRECTION){case R:return Math.round(this._peripheral.getAccelerationX());case D:return Math.round(this._peripheral.getAccelerationY());case P:return Math.round(this._peripheral.getAccelerationZ());default:s.warn("Unknown direction in getAcceleration: ".concat(e.DIRECTION))}}magnitude(e,t,n){return Math.sqrt(e*e+t*t+n*n)}accelMagnitude(){return this.magnitude(this._peripheral.getAccelerationX(),this._peripheral.getAccelerationY(),this._peripheral.getAccelerationZ())}gestureMagnitude(){return this.accelMagnitude()-9.8}spinMagnitude(){return this.magnitude(this._peripheral.getSpinSpeedX(),this._peripheral.getSpinSpeedY(),this._peripheral.getSpinSpeedZ())}isFreeFalling(){if(!this._peripheral.isConnected())return!1;return this.accelMagnitude()<.5+.3*this.spinMagnitude()}}e.exports=L},function(e,t,n){e.exports=function(){"use strict";function t(e,t,n,r,i,s,o){try{var a=e[s](o),l=a.value}catch(e){return void n(e)}a.done?t(l):Promise.resolve(l).then(r,i)}function r(e){return function(){var n=this,r=arguments;return new Promise((function(i,s){var o=e.apply(n,r);function a(e){t(o,i,s,a,l,"next",e)}function l(e){t(o,i,s,a,l,"throw",e)}a(void 0)}))}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function o(e,t,n){return t&&s(e.prototype,t),n&&s(e,n),e}function a(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&c(e,t)}function l(e){return(l=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function c(e,t){return(c=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function u(e,t){return!t||"object"!=typeof t&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}!function(t){var n,r=Object.prototype,i=r.hasOwnProperty,s="function"==typeof Symbol?Symbol:{},o=s.iterator||"@@iterator",a=s.asyncIterator||"@@asyncIterator",l=s.toStringTag||"@@toStringTag",c="object"==typeof e,u=t.regeneratorRuntime;if(u)c&&(e.exports=u);else{(u=t.regeneratorRuntime=c?e.exports:{}).wrap=S;var d="suspendedStart",h="suspendedYield",p="executing",m="completed",f={},g={};g[o]=function(){return this};var y=Object.getPrototypeOf,b=y&&y(y(N([])));b&&b!==r&&i.call(b,o)&&(g=b);var v=T.prototype=k.prototype=Object.create(g);x.prototype=v.constructor=T,T.constructor=x,T[l]=x.displayName="GeneratorFunction",u.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===x||"GeneratorFunction"===(t.displayName||t.name))},u.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,T):(e.__proto__=T,l in e||(e[l]="GeneratorFunction")),e.prototype=Object.create(v),e},u.awrap=function(e){return{__await:e}},E(A.prototype),A.prototype[a]=function(){return this},u.AsyncIterator=A,u.async=function(e,t,n,r){var i=new A(S(e,t,n,r));return u.isGeneratorFunction(t)?i:i.next().then((function(e){return e.done?e.value:i.next()}))},E(v),v[l]="Generator",v[o]=function(){return this},v.toString=function(){return"[object Generator]"},u.keys=function(e){var t=[];for(var n in e)t.push(n);return t.reverse(),function n(){for(;t.length;){var r=t.pop();if(r in e)return n.value=r,n.done=!1,n}return n.done=!0,n}},u.values=N,M.prototype={constructor:M,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=n,this.done=!1,this.delegate=null,this.method="next",this.arg=n,this.tryEntries.forEach(O),!e)for(var t in this)"t"===t.charAt(0)&&i.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=n)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var t=this;function r(r,i){return a.type="throw",a.arg=e,t.next=r,i&&(t.method="next",t.arg=n),!!i}for(var s=this.tryEntries.length-1;s>=0;--s){var o=this.tryEntries[s],a=o.completion;if("root"===o.tryLoc)return r("end");if(o.tryLoc<=this.prev){var l=i.call(o,"catchLoc"),c=i.call(o,"finallyLoc");if(l&&c){if(this.prev<o.catchLoc)return r(o.catchLoc,!0);if(this.prev<o.finallyLoc)return r(o.finallyLoc)}else if(l){if(this.prev<o.catchLoc)return r(o.catchLoc,!0)}else{if(!c)throw new Error("try statement without catch or finally");if(this.prev<o.finallyLoc)return r(o.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var r=this.tryEntries[n];if(r.tryLoc<=this.prev&&i.call(r,"finallyLoc")&&this.prev<r.finallyLoc){var s=r;break}}s&&("break"===e||"continue"===e)&&s.tryLoc<=t&&t<=s.finallyLoc&&(s=null);var o=s?s.completion:{};return o.type=e,o.arg=t,s?(this.method="next",this.next=s.finallyLoc,f):this.complete(o)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),f},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),O(n),f}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var i=r.arg;O(n)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:N(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=n),f}}}function S(e,t,n,r){var i=t&&t.prototype instanceof k?t:k,s=Object.create(i.prototype),o=new M(r||[]);return s._invoke=function(e,t,n){var r=d;return function(i,s){if(r===p)throw new Error("Generator is already running");if(r===m){if("throw"===i)throw s;return R()}for(n.method=i,n.arg=s;;){var o=n.delegate;if(o){var a=C(o,n);if(a){if(a===f)continue;return a}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(r===d)throw r=m,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);r=p;var l=w(e,t,n);if("normal"===l.type){if(r=n.done?m:h,l.arg===f)continue;return{value:l.arg,done:n.done}}"throw"===l.type&&(r=m,n.method="throw",n.arg=l.arg)}}}(e,n,o),s}function w(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(e){return{type:"throw",arg:e}}}function k(){}function x(){}function T(){}function E(e){["next","throw","return"].forEach((function(t){e[t]=function(e){return this._invoke(t,e)}}))}function A(e){var t;this._invoke=function(n,r){function s(){return new Promise((function(t,s){!function t(n,r,s,o){var a=w(e[n],e,r);if("throw"!==a.type){var l=a.arg,c=l.value;return c&&"object"==typeof c&&i.call(c,"__await")?Promise.resolve(c.__await).then((function(e){t("next",e,s,o)}),(function(e){t("throw",e,s,o)})):Promise.resolve(c).then((function(e){l.value=e,s(l)}),(function(e){return t("throw",e,s,o)}))}o(a.arg)}(n,r,t,s)}))}return t=t?t.then(s,s):s()}}function C(e,t){var r=e.iterator[t.method];if(r===n){if(t.delegate=null,"throw"===t.method){if(e.iterator.return&&(t.method="return",t.arg=n,C(e,t),"throw"===t.method))return f;t.method="throw",t.arg=new TypeError("The iterator does not provide a 'throw' method")}return f}var i=w(r,e.iterator,t.arg);if("throw"===i.type)return t.method="throw",t.arg=i.arg,t.delegate=null,f;var s=i.arg;return s?s.done?(t[e.resultName]=s.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=n),t.delegate=null,f):s:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,f)}function I(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function O(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function M(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(I,this),this.reset(!0)}function N(e){if(e){var t=e[o];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var r=-1,s=function t(){for(;++r<e.length;)if(i.call(e,r))return t.value=e[r],t.done=!1,t;return t.value=n,t.done=!0,t};return s.next=s}}return{next:R}}function R(){return{value:n,done:!0}}}(function(){return this||"object"==typeof self&&self}()||Function("return this")());var d=new Uint8Array([88,0,0,0]),h=new Uint8Array([26,165,74,6,73,7,72,8,71,9,70,10,69,11,68,12,67,13,66,14,65]),p=new Uint8Array([24,255,1,0,0,0,0,0,0,0,0,0,0,0,0]),m=new Uint8Array([25,255,0,255,255,255,255]),f=new Uint8Array([27,255,0,0,0,0,0,0,0,0,0]),g={HEADER:d,INIT:h,DISCONNECT:new Uint8Array([84]),START_MEASUREMENTS:p,STOP_MEASUREMENTS:m,SET_MEASUREMENT_PERIOD:f,GET_INFO:new Uint8Array([85]),GET_STATUS:new Uint8Array([16]),GET_SENSOR_IDS:new Uint8Array([81]),GET_SENSOR_INFO:new Uint8Array([80,0]),GET_DEFAULT_SENSORS_MASK:new Uint8Array([86])},y=6,b=7,v=10,S=8,w=9,k=11,x=12,T=13,E=14,A=32,C=function(e){return 0!==e},I=function(){function e(){i(this,e),this._listenerMap=new Map}return o(e,[{key:"on",value:function(e,t){this._listenerMap.has(e)||this._listenerMap.set(e,[]),this._listenerMap.get(e).push(t)}},{key:"off",value:function(e,t){var n=this._listenerMap.get(e);if(n&&n.length){var r=n.reduce((function(e,n,r){return"function"==typeof n&&n===t?e=r:e}),-1);if(r>-1)return n.splice(r,1),this._listenerMap.set(e,n),!0}return!1}},{key:"unbind",value:function(){this._listenerMap.clear()}},{key:"emit",value:function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];var i=this._listenerMap.get(e);return!(!i||!i.length||(i.forEach((function(e){e.apply(void 0,n)})),0))}}]),e}(),O=function(){},M=function(){};function N(e){return Array.from(new Uint8Array(e)).map((function(e){return e.toString(16).padStart(2,"0")})).join(" ")}var R,D=function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};i(this,e),this.type=t.type,this.mode=t.mode,this.minValue=t.minValue,this.maxValue=t.maxValue,this.uncertainty=t.uncertainty,this.minPeriod=t.minPeriod,this.maxPeriod=t.maxPeriod,this.typicalPeriod=t.typicalPeriod,this.granularity=t.granularity},P=function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};i(this,e),this.number=t.number,this.name=t.name,this.unit=t.unit,this.id=t.id,this.mutalExclusionMask=t.mutalExclusionMask,this.measurementInfo=t.measurementInfo},L=function(e){function t(e){var n;return i(this,t),(n=u(this,l(t).call(this))).number=e.number,n.name=e.name,n.unit=e.unit,n.specs=e,n.enabled=!1,n.values=[],n.value=null,n}return a(t,I),o(t,[{key:"clear",value:function(){this.value=null,this.values=[]}},{key:"setValue",value:function(e,t){this.value=e,t&&this.values.push(this.value),this.emit("value-changed",this)}},{key:"setEnabled",value:function(e){this.enabled!==e&&(this.enabled=e,this.emit("state-changed",this))}}]),t}(),B=function(e){function t(e){var r;if(i(this,t),r=u(this,l(t).call(this)),"undefined"==typeof TextDecoder){var s=n(22);R=s.TextDecoder}else R=TextDecoder;return r.device=e,r.sensors=[],r.opened=!1,r.rollingCounter=0,r.collecting=!1,r.measurementPeriod=10,r.response=null,r.remainingResponseLength=0,r.defaultSensorsMask=0,r.keepValues=!0,r.minMeasurementPeriod=10,r.serialNumber="",r.orderCode="",r.name="",r}return a(t,I),o(t,[{key:"getBatteryLevel",value:function(){var e=r(regeneratorRuntime.mark((function e(){var t;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this._getStatus();case 2:return t=e.sent,e.abrupt("return",t.battery);case 4:case"end":return e.stop()}}),e,this)})));return function(){return e.apply(this,arguments)}}()},{key:"getChargingState",value:function(){var e=r(regeneratorRuntime.mark((function e(){var t;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this._getStatus();case 2:return t=e.sent,e.abrupt("return",t.chargingStatus);case 4:case"end":return e.stop()}}),e,this)})));return function(){return e.apply(this,arguments)}}()},{key:"open",value:function(){var e=r(regeneratorRuntime.mark((function e(){var t,n=arguments;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=n.length>0&&void 0!==n[0]&&n[0],e.prev=1,e.next=4,this._connect();case 4:return e.next=6,this._init();case 6:return e.next=8,this._getStatus();case 8:return e.next=10,this._getDeviceInfo();case 10:return e.next=12,this._getDefaultSensorsMask();case 12:return e.next=14,this._getAvailableSensors();case 14:this._onOpened(),t&&this.start(),e.next=21;break;case 18:e.prev=18,e.t0=e.catch(1),console.error(e.t0);case 21:case"end":return e.stop()}}),e,this,[[1,18]])})));return function(){return e.apply(this,arguments)}}()},{key:"close",value:function(){var e=r(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this._stopMeasurements();case 2:return e.next=4,this._sendCommand(g.DISCONNECT);case 4:return e.abrupt("return",this._disconnect());case 5:case"end":return e.stop()}}),e,this)})));return function(){return e.apply(this,arguments)}}()},{key:"enableDefaultSensors",value:function(){for(var e=1,t=0;t<32;++t){if((this.defaultSensorsMask&e)===e){var n=this.getSensor(t);n&&n.setEnabled(!0)}e<<=1}}},{key:"start",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,t=this.sensors.filter((function(e){return e.enabled}));0===t.length&&(this.enableDefaultSensors(),t=this.sensors.filter((function(e){return e.enabled}))),t.forEach((function(e){return e.clear()})),e&&(this.measurementPeriod=e),this._startMeasurements()}},{key:"stop",value:function(){this._stopMeasurements()}},{key:"getSensor",value:function(e){return this.sensors.find((function(t){return t.number===e}))}},{key:"_connect",value:function(){var e=r(regeneratorRuntime.mark((function e(){var t=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.device.setup({onClosed:function(){return t._onClosed()},onResponse:function(e){return t._handleResponse(e)}}));case 1:case"end":return e.stop()}}),e,this)})));return function(){return e.apply(this,arguments)}}()},{key:"_disconnect",value:function(){var e=r(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.device.close());case 1:case"end":return e.stop()}}),e,this)})));return function(){return e.apply(this,arguments)}}()},{key:"_init",value:function(){return this.collecting=!1,this.rollingCounter=255,this.writeQueue=[],this._sendCommand(g.INIT)}},{key:"_handleResponse",value:function(e){if(O("command notified: ".concat(N(e.buffer))),this.remainingResponseLegnth>0){if(this.remainingResponseLegnth-=e.buffer.byteLength,this.response=new DataView((t=this.response.buffer,n=e.buffer.slice(0),(r=new Uint8Array(t.byteLength+n.byteLength)).set(new Uint8Array(t),0),r.set(new Uint8Array(n),t.byteLength),r.buffer)),this.remainingResponseLegnth>0)return}else this.response=e;var t,n,r,i=this.response.getUint8(1);if(i>this.response.buffer.byteLength)this.remainingResponseLegnth=i-this.response.buffer.byteLength;else if(O("handle command: ".concat(N(this.response.buffer))),this.response.getUint8(0)===A)this._processMeasurements(this.response);else{var s=this.response.getUint8(4),o=this.response.getUint8(5),a=new DataView(this.response.buffer,6);this._resolveWriteCommand(s,o,a),this.remainingResponseLegnth=0,this.response=null}}},{key:"_getSensorsWithMask",value:function(e){for(var t=[],n=1,r=0;r<32;++r){if((e&n)===n){var i=this.getSensor(r);i&&(t.push(i),O("available: [".concat(e,"] ").concat(t[t.length-1].number)))}n<<=1}return t}},{key:"_processMeasurements",value:function(e){var t=[],n=!0,r=0,i=0,s=e.getUint8(4);switch(s){case y:t=this._getSensorsWithMask(e.getUint16(5,!0)),r=e.getUint8(7,!0),i=9;break;case b:t=this._getSensorsWithMask(e.getUint32(5,!0)),r=e.getUint8(9,!0),i=11;break;case v:case S:t[0]=this.getSensor(e.getUint8(6)),r=e.getUint8(7,!0),i=8;break;case k:case w:t[0]=this.getSensor(e.getUint8(6)),r=e.getUint8(7,!0),i=8,n=!1;break;case x:case T:case E:O("Purposely Ignoring packet type: ".concat(s));break;default:O("Unknown packet type: ".concat(s))}for(var o=0;o<r;++o)for(var a=0;a<t.length;++a)n?t[a].setValue(e.getFloat32(i,!0),this.keepValues):t[a].setValue(e.getInt32(i,!0),this.keepValues),i+=4}},{key:"_resolveWriteCommand",value:function(e,t,n){var r=this.writeQueue.find((function(n){return n.command===e&&n.rollingCounter===t}));r&&(r.resolve(n),this.writeQueue=this.writeQueue.filter((function(e){return e!==r})))}},{key:"_onOpened",value:function(){O("opened"),this.opened=!0,this.emit("device-opened")}},{key:"_onClosed",value:function(){O("closed"),this.opened=!1,this.emit("device-closed")}},{key:"_decRollingCounter",value:function(){return this.rollingCounter-=1,this.rollingCounter}},{key:"_calculateChecksum",value:function(e){for(var t=e[1],n=-1*e[3],r=0;r<t;++r)n+=e[r],n&=255;return n<0||n>255?(O("Checksum failed!"),0):n}},{key:"_sendCommand",value:function(e){var t=new Uint8Array(g.HEADER.byteLength+e.byteLength);return t.set(new Uint8Array(g.HEADER),0),t.set(new Uint8Array(e),g.HEADER.byteLength),t[1]=t.length,t[2]=this._decRollingCounter(),t[3]=this._calculateChecksum(t),this._queueWriteCommand(t,0,t.length)}},{key:"_writeCommand",value:function(){var e=r(regeneratorRuntime.mark((function e(t,n,r){var i;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!(r>0)){e.next=12;break}return e.prev=1,r>20?(i=t.subarray(n,n+20),r-=20,n+=20):(i=t.subarray(n,n+r),r=0),e.next=5,this.device.writeCommand(i);case 5:e.next=10;break;case 7:e.prev=7,e.t0=e.catch(1),O("Write Failure: ".concat(e.t0));case 10:e.next=0;break;case 12:case"end":return e.stop()}}),e,this,[[1,7]])})));return function(t,n,r){return e.apply(this,arguments)}}()},{key:"_queueWriteCommand",value:function(e,t,n){var r=this;O("command queued: ".concat(N(e)));var i=new Promise((function(t,n){r.writeQueue.push({command:e[4],rollingCounter:e[2],resolve:t,reject:n}),setTimeout((function(){r.writeQueue=r.writeQueue.filter((function(t){return t.command===e[4]&&t.rollingCounter!==e[2]})),n(new Error("write command timed out after 5s. Command: ".concat(e[4].toString(16)," Rolling Counter: ").concat(e[2].toString(16))))}),1e4)}));return this._writeCommand(e,t,n),i}},{key:"_getStatus",value:function(){var e=r(regeneratorRuntime.mark((function e(){var t,n;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this._sendCommand(g.GET_STATUS);case 2:return t=e.sent,n={masterFirmwareVersion:"".concat(t.getUint8(2),".").concat(t.getUint8(3)),bleFirmwareVersion:"".concat(t.getUint8(6),".").concat(t.getUint8(9)),battery:t.getUint8(10),chargingStatus:"".concat(t.getUint8(11))},e.abrupt("return",n);case 5:case"end":return e.stop()}}),e,this)})));return function(){return e.apply(this,arguments)}}()},{key:"_getAvailableSensors",value:function(){var e=r(regeneratorRuntime.mark((function e(){var t,n,r=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this._sendCommand(g.GET_SENSOR_IDS).then((function(e){r.availableSensors=e.getUint32(0,!0),O("Get Available Sensors Returned ".concat(r.availableSensors))}));case 2:t=1,n=0;case 4:if(!(n<31)){e.next=12;break}if((this.availableSensors&t)!==t){e.next=8;break}return e.next=8,this._getSensorInfo(n);case 8:t<<=1;case 9:++n,e.next=4;break;case 12:case"end":return e.stop()}}),e,this)})));return function(){return e.apply(this,arguments)}}()},{key:"_getDefaultSensorsMask",value:function(){var e=this;return this._sendCommand(g.GET_DEFAULT_SENSORS_MASK).then((function(t){e.defaultSensorsMask=t.getUint32(0,!0),O("Default Sensors:"),M(e)}))}},{key:"_getDeviceInfo",value:function(){var e=this;return this._sendCommand(g.GET_INFO).then((function(t){var n=new R("utf-8");e.orderCode=n.decode(new Uint8Array(t.buffer,6,16).filter(C)),e.serialNumber=n.decode(new Uint8Array(t.buffer,22,16).filter(C)),e.name=n.decode(new Uint8Array(t.buffer,38,32).filter(C)),O("Device Info:"),M(e)}))}},{key:"_getSensorInfo",value:function(){var e=r(regeneratorRuntime.mark((function e(t){var n,r=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return(n=new Uint8Array(g.GET_SENSOR_INFO))[1]=t,e.abrupt("return",this._sendCommand(n).then((function(e){var t=e.getUint32(2,!0);if(t>0){var n=new R("utf-8"),i=new D({type:e.getUint8(6),mode:e.getUint8(7),minValue:e.getFloat64(108,!0),maxValue:e.getFloat64(116,!0),uncertainty:e.getFloat64(100,!0),minPeriod:e.getUint32(124,!0)/1e3,maxPeriod:((e.getUint32(132,!0)<<32)+e.getUint32(128,!0))/1e3,typicalPeriod:e.getUint32(136,!0)/1e3,granularity:e.getUint32(140,!0)/1e3}),s=new P({number:e.getUint8(0),name:n.decode(new Uint8Array(e.buffer,14,60).filter(C)),unit:n.decode(new Uint8Array(e.buffer,74,32).filter(C)),mutalExclusiveMask:e.getUint32(144,!0),measurementInfo:i,sensorId:t}),o=new L(s);O("Get Sensor Info Returned"),M(o),r.sensors.push(o),o.on("state-changed",(function(){O("Sensor Restart: ".concat(o.number)),o.enabled&&(r.measurementPeriod=o.specs.measurementInfo.typicalPeriod,r.sensors.forEach((function(e){if(o.number!==e.number&&e.enabled){var t=1<<e.number;(t&o.specs.mutalExclusiveMask)===t?e.enabled=!1:e.specs.measurementInfo.typicalPeriod>r.measurementPeriod&&(r.measurementPeriod=e.specs.measurementInfo.typicalPeriod)}}))),r._restartMeasurements()}))}})));case 3:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}()},{key:"_restartMeasurements",value:function(){var e=r(regeneratorRuntime.mark((function e(){var t;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t=this.collecting,!this.collecting){e.next=10;break}return e.prev=2,e.next=5,this._stopMeasurements();case 5:e.next=10;break;case 7:e.prev=7,e.t0=e.catch(2),console.error(e.t0);case 10:if(this.collecting||!t){e.next=19;break}return e.prev=11,e.next=14,this._startMeasurements();case 14:e.next=19;break;case 16:e.prev=16,e.t1=e.catch(11),console.error(e.t1);case 19:case"end":return e.stop()}}),e,this,[[2,7],[11,16]])})));return function(){return e.apply(this,arguments)}}()},{key:"_setMeasurementPeriod",value:function(e){var t=new Uint8Array(g.SET_MEASUREMENT_PERIOD),n=1e3*this.minMeasurementPeriod;return e<n&&(e=n),O("MeasurementPeriod: ".concat(e)),t[3]=255&e,t[4]=e>>8&255,t[5]=e>>16&255,t[6]=e>>24&255,this._sendCommand(t)}},{key:"_getEnabledChannelMask",value:function(){var e=0;return this.sensors.filter((function(e){return e.enabled})).forEach((function(t){e+=1<<t.number})),e}},{key:"_startMeasurements",value:function(){var e=this;return this._setMeasurementPeriod(1e3*this.measurementPeriod).then((function(){var t=e._getEnabledChannelMask();O("ChannelMask: ".concat(t));var n=new Uint8Array(g.START_MEASUREMENTS);return n[3]=255&t,n[4]=t>>8&255,n[5]=t>>16&255,n[6]=t>>24&255,e._sendCommand(n).then((function(t){0===t.getUint8(0)&&(e.collecting=!0,e.emit("measurements-started"))}))}))}},{key:"_stopMeasurements",value:function(){var e=this;return this._sendCommand(g.STOP_MEASUREMENTS).then((function(t){0===t.getUint8(0)&&(e.collecting=!1,e.emit("measurements-stopped"))}))}}]),t}(),z=function(){function e(t){i(this,e),this.webBluetoothNativeDevice=t,this.deviceCommand=null,this.deviceResponse=null}return o(e,[{key:"writeCommand",value:function(){var e=r(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.deviceCommand.writeValue(t));case 1:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}()},{key:"setup",value:function(){var e=r(regeneratorRuntime.mark((function e(t){var n,r,i,s,o=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=t.onClosed,r=t.onResponse,this.webBluetoothNativeDevice.addEventListener("gattserverdisconnected",n),e.prev=2,e.next=5,this.webBluetoothNativeDevice.gatt.connect();case 5:return i=e.sent,e.next=8,i.getPrimaryService("d91714ef-28b9-4f91-ba16-f0d9a604f112");case 8:return s=e.sent,e.next=11,s.getCharacteristics();case 11:e.sent.forEach((function(e){switch(e.uuid){case"f4bf14a6-c7d5-4b6d-8aa8-df1a7c83adcb":o.deviceCommand=e;break;case"b41e6675-a329-40e0-aa01-44d2f444babe":o.deviceResponse=e,o.deviceResponse.addEventListener("characteristicvaluechanged",(function(e){var t=e.target.value;r(t)})),o.deviceResponse.startNotifications();break;default:O("No case found for ".concat(e.uuid))}})),e.next=18;break;case 15:e.prev=15,e.t0=e.catch(2),console.error(e.t0);case 18:if(this.deviceCommand&&this.deviceResponse){e.next=20;break}throw new Error("Expected command and response characteristics not found.");case 20:case"end":return e.stop()}}),e,this,[[2,15]])})));return function(t){return e.apply(this,arguments)}}()},{key:"close",value:function(){var e=r(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.webBluetoothNativeDevice.gatt.disconnect());case 1:case"end":return e.stop()}}),e,this)})));return function(){return e.apply(this,arguments)}}()},{key:"godirectAdapter",get:function(){return!0}}]),e}(),U={createDevice:function(){var e=r(regeneratorRuntime.mark((function e(t){var n,r,i,s,o,a,l,c=arguments;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=c.length>1&&void 0!==c[1]?c[1]:{},r=n.open,i=void 0===r||r,s=n.startMeasurements,o=void 0===s||s,(a=t).godirectAdapter||(a=new z(t)),l=new B(a),!i){e.next=14;break}return e.prev=5,e.next=8,l.open(o);case 8:e.next=14;break;case 10:throw e.prev=10,e.t0=e.catch(5),console.error(e.t0),e.t0;case 14:return e.abrupt("return",l);case 15:case"end":return e.stop()}}),e,this,[[5,10]])})));return function(t){return e.apply(this,arguments)}}(),selectDevice:function(){var e=r(regeneratorRuntime.mark((function e(){var t;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(navigator.bluetooth){e.next=2;break}return e.abrupt("return",Promise.reject(new Error("No Web Bluetooth support.")));case 2:return e.next=4,navigator.bluetooth.requestDevice({filters:[{namePrefix:"GDX"}],optionalServices:["d91714ef-28b9-4f91-ba16-f0d9a604f112"]});case 4:return t=e.sent,e.abrupt("return",U.createDevice(t));case 6:case"end":return e.stop()}}),e,this)})));return function(){return e.apply(this,arguments)}}()};return U}()},function(e,t,n){const r=n(16);e.exports=class{constructor(e,t){let{service:n,commandChar:r,responseChar:i}=t;this.socket=e,this._service=n,this._commandChar=r,this._responseChar=i,this._onResponse=this._onResponse.bind(this),this._deviceOnResponse=null}get godirectAdapter(){return!0}writeCommand(e){const t=r.uint8ArrayToBase64(e);return this.socket.write(this._service,this._commandChar,t,"base64")}setup(e){let{onResponse:t}=e;return this._deviceOnResponse=t,this.socket.startNotifications(this._service,this._responseChar,this._onResponse)}_onResponse(e){const t=r.base64ToUint8Array(e),n=new DataView(t.buffer);return this._deviceOnResponse(n)}}},function(e,t,n){const r=n(6),i=n(3),s=n(4),o=n(2),a="data:image/svg+xml;base64,".concat(btoa('<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32"><path fill="none" stroke="#fff" stroke-width="11.51815371" d="M24.457 7.707a18.41 18.41 0 0 0-.365 2.31c-.02.224 0 .507.06.852.061.405.092.689.092.851 0 .527-.345.79-1.034.79-.446 0-.74-.131-.881-.395-.02-.446-.01-1.054.03-1.824.04-.912.061-1.52.061-1.824-.02 0-.05-.02-.091-.06a98.522 98.522 0 0 0-5.32.364c-.04.264-.04.588 0 .973l.122 1.094c-.081.629-.122 1.56-.122 2.797.061.527.091 2.786.091 6.779v2.219c0 .344.051.587.152.73h1.885c.77-.102 1.155.222 1.155.972 0 .446-.213.76-.638.942-.264.102-.73.122-1.399.061-.405-.04-.881-.05-1.428-.03-.75.101-1.662.182-2.736.243-1.094.06-1.763-.091-2.006-.456-.162-.243-.162-.496 0-.76.283-.446 1.023-.669 2.219-.669.628 0 .942-.172.942-.516 0-.183-.01-.355-.03-.517 0-.507.01-.953.03-1.338.06-1.094.06-2.634 0-4.62-.081-2.878-.05-5.462.091-7.752l-.09-.09c-.63.04-1.805.03-3.527-.031-.081 0-.7.04-1.854.121.283 1.946.446 3.334.486 4.165l-.06.82c-.021.305-.274.457-.76.457-.386 0-.71-.73-.973-2.19-.122-.87-.244-1.752-.365-2.644 0-.142-.071-.385-.213-.73-.122-.364-.39-.97-.39-1.152 0-.641.593-.489 1.363-.61.06 0 .162.01.304.03.142.02.243.03.304.03H17.1a57.098 57.098 0 0 0 5.411-.486c.122-.06.304-.121.547-.182.426-.04.79.06 1.095.304.304.223.405.547.304.972z"/><path fill="none" stroke="#ff4c4c" stroke-width="5.75909785" d="M24.333 7.71q-.244 1.065-.365 2.311-.03.335.06.851.092.608.092.851 0 .79-1.034.79-.669 0-.881-.394-.03-.67.03-1.824.06-1.368.06-1.824-.03 0-.09-.061-2.827.122-5.32.365-.06.395 0 .973l.122 1.094q-.122.942-.122 2.796.091.79.091 6.78v2.218q0 .517.152.73h1.885q1.155-.152 1.155.973 0 .668-.638.942-.396.152-1.399.06-.608-.06-1.428-.03-1.125.152-2.736.243-1.642.092-2.006-.456-.244-.364 0-.76.425-.668 2.219-.668.942 0 .942-.517 0-.274-.03-.517 0-.76.03-1.337.091-1.642 0-4.62-.122-4.317.091-7.752l-.091-.091q-.942.06-3.526-.03-.122 0-1.854.12.425 2.919.486 4.165l-.06.821q-.031.456-.76.456-.578 0-.974-2.189-.182-1.307-.364-2.644 0-.213-.213-.73-.182-.547-.182-.82 0-.76 1.155-.943.09 0 .304.03.212.03.304.03h7.538q2.797-.12 5.411-.485.182-.092.547-.183.639-.06 1.095.304.456.335.304.973z"/><path fill="#fff" d="M24.31 7.714q-.243 1.064-.365 2.31-.03.335.061.852.091.608.091.85 0 .791-1.033.791-.67 0-.882-.395-.03-.669.03-1.824.061-1.368.061-1.824-.03 0-.09-.06-2.828.121-5.32.364-.061.396 0 .973l.121 1.094q-.121.943-.121 2.797.09.79.09 6.779v2.219q0 .517.153.73h1.884q1.156-.153 1.156.972 0 .669-.639.942-.395.152-1.398.061-.608-.06-1.429-.03-1.125.152-2.736.243-1.641.091-2.006-.456-.243-.365 0-.76.426-.669 2.22-.669.941 0 .941-.516 0-.274-.03-.517 0-.76.03-1.338.092-1.641 0-4.62-.121-4.317.092-7.752l-.092-.09q-.942.06-3.526-.031-.121 0-1.854.121.426 2.919.486 4.165l-.06.82q-.03.457-.76.457-.578 0-.973-2.19-.182-1.306-.365-2.644 0-.212-.213-.73-.182-.546-.182-.82 0-.76 1.155-.942.091 0 .304.03t.304.03h7.539q2.796-.121 5.41-.486.183-.091.548-.182.638-.061 1.094.304.456.334.304.972z"/></svg>'));e.exports=class{constructor(e){this.runtime=e}getInfo(){return{id:"tw",name:"TurboWarp",color1:"#ff4c4c",color2:"#e64444",color3:"#c73a3a",docsURI:"https://docs.turbowarp.org/blocks",menuIconURI:a,blockIconURI:a,blocks:[{opcode:"getLastKeyPressed",text:r({id:"tw.blocks.lastKeyPressed",default:"last key pressed",description:"Block that returns the last key that was pressed"}),blockType:i.REPORTER},{opcode:"getButtonIsDown",text:r({id:"tw.blocks.buttonIsDown",default:"[MOUSE_BUTTON] mouse button down?",description:"Block that returns whether a specific mouse button is down"}),blockType:i.BOOLEAN,arguments:{MOUSE_BUTTON:{type:s.NUMBER,menu:"mouseButton",defaultValue:"0"}}}],menus:{mouseButton:{items:[{text:r({id:"tw.blocks.mouseButton.primary",default:"(0) primary",description:"Dropdown item to select primary (usually left) mouse button"}),value:"0"},{text:r({id:"tw.blocks.mouseButton.middle",default:"(1) middle",description:"Dropdown item to select middle mouse button"}),value:"1"},{text:r({id:"tw.blocks.mouseButton.secondary",default:"(2) secondary",description:"Dropdown item to select secondary (usually right) mouse button"}),value:"2"}],acceptReporters:!0}}}}getLastKeyPressed(e,t){return t.ioQuery("keyboard","getLastKeyPressed")}getButtonIsDown(e,t){const n=o.toNumber(e.MOUSE_BUTTON);return t.ioQuery("mouse","getButtonIsDown",[n])}}},function(e,t,n){(function(t){const r=n(247),i=n(248),s=n(83),o=n(249),a=n(250),l=e=>{try{return new URL(e,location.href)}catch(e){return null}},c=e=>new Promise((n=>{const s=[],c=Object.assign({},t.Scratch||{},r);c.extensions={unsandboxed:!0,register:e=>{s.push(e),n(s)}},c.vm=e,c.renderer=e.runtime.renderer,c.canFetch=async t=>{const n=l(t);return!!n&&("blob:"===n.protocol||"data:"===n.protocol||e.securityManager.canFetch(n.href))},c.canOpenWindow=async t=>{const n=l(t);return!!n&&("javascript:"!==n.protocol&&e.securityManager.canOpenWindow(n.href))},c.canRedirect=async t=>{const n=l(t);return!!n&&("javascript:"!==n.protocol&&e.securityManager.canRedirect(n.href))},c.canRecordAudio=async()=>e.securityManager.canRecordAudio(),c.canRecordVideo=async()=>e.securityManager.canRecordVideo(),c.canReadClipboard=async()=>e.securityManager.canReadClipboard(),c.canNotify=async()=>e.securityManager.canNotify(),c.canGeolocate=async()=>e.securityManager.canGeolocate(),c.canEmbed=async t=>{const n=l(t);return!!n&&e.securityManager.canEmbed(n.href)},c.fetch=async(e,t)=>{const n=e instanceof Request?e.url:e,r=a(e);if(r)return r;if(!await c.canFetch(n))throw new Error("Permission to fetch ".concat(n," rejected."));return fetch(e,t)},c.openWindow=async(e,t)=>{if(!await c.canOpenWindow(e))throw new Error("Permission to open tab ".concat(e," rejected."));const n="noreferrer";return t=t?"".concat(n,",").concat(t):n,window.open(e,"_blank",t)},c.redirect=async e=>{if(!await c.canRedirect(e))throw new Error("Permission to redirect to ".concat(e," rejected."));location.href=e},c.translate=o(e),t.Scratch=c,t.ScratchExtensions=i(c),e.emit("CREATE_UNSANDBOXED_EXTENSION_API",c)})),u=new s(((e,n)=>new Promise(((t,r)=>{c(n).then(t);const i=document.createElement("script");i.onerror=()=>{r(new Error("Error in unsandboxed script ".concat(e,". Check the console for more information.")))},i.src=e,document.body.appendChild(i)})).then((e=>(t.Scratch.extensions.register=()=>{throw new Error("Too late to register new extensions.")},e)))),1);e.exports={setupUnsandboxedExtensionAPI:c,load:(e,t)=>u.do(e,t)}}).call(this,n(9))},function(e,t,n){const r={ArgumentType:n(4),BlockType:n(3),TargetType:n(43),Cast:n(2)};e.exports=r},function(e,t,n){const r=n(4),i=n(3),{argumentIndexToId:s,generateExtensionId:o}=n(82),a=e=>{if(""===e||" "===e||"w"===e)return{type:i.COMMAND,async:"w"===e};if("r"===e||"R"===e)return{type:i.REPORTER,async:"R"===e};if("b"===e)return{type:i.BOOLEAN,async:!1};if("h"===e)return{type:i.HAT,async:!1};throw new Error("Unknown ScratchX block type: ".concat(e))},l=(e,t)=>{const n={},i="string"==typeof(s=t)||"number"==typeof s||"boolean"==typeof s;var s;if(i&&(n.defaultValue=t),"s"===e)n.type=r.STRING,i||(n.defaultValue="");else if("n"===e)n.type=r.NUMBER,i||(n.defaultValue=0);else{if("m"!==e[0])throw new Error("Unknown ScratchX argument type: ".concat(e));{n.type=r.STRING;const t=e.split(/\.|:/)[1];n.menu=t}}return n},c=(e,t,n)=>r=>{const i=[];for(let e=0;e<t;e++)i.push(r[s(e)]);return n?new Promise((t=>{e(...i,t)})):e(...i)},u=new Map;e.exports=e=>({register:(t,n,r)=>{const i=((e,t,n)=>{const r={id:o(e),name:t.displayName||e,blocks:[],color1:"#4a4a5e",color2:"#31323f",color3:"#191a21"},i={getInfo:()=>r,_getStatus:n._getStatus};t.url&&(r.docsURI=t.url);for(const e of t.blocks){if(1===e.length){r.blocks.push("---");continue}const t=e[0],o=e[1],u=e[2],d=e.slice(3);let h="";const p=[],m=o.split(/%([\w.:]+)/g);for(let e=0;e<m.length;e++){const t=m[e];if(e%2==1){l(t);const n=Math.floor(e/2).toString(),r=d[n],i=s(n);p[i]=l(t,r),h+="[".concat(i,"]")}else h+=t}const f=a(t),g={opcode:u,blockType:f.type,text:h,arguments:p};r.blocks.push(g);const y=n[u],b=p.length;i[u]=c(y,b,f.async)}const u=t.menus;if(u){const e={};for(const t of Object.keys(u)||{}){const n={items:u[t]};e[t]=n}r.menus=e}return i})(t,n,r);u.set(t,i),e.extensions.register(i)},getStatus:e=>{const t=u.get(e);return t?t._getStatus():{status:0,msg:"does not exist"}}})},function(e,t,n){const r=n(6);e.exports=e=>{const t=r.namespace(),n=(e,n)=>{if(e&&"object"==typeof e);else{if("string"!=typeof e)throw new Error("unsupported data type in translate()");e={default:e}}return t(e,n)},i=e=>"_".concat(e),s=()=>e?e.getLocale():"undefined"!=typeof navigator?navigator.language:"en";let o={};return n.setup=e=>{e&&(o=e),t.setup({locale:s(),missingTranslation:"ignore",generateId:i,translations:o})},Object.defineProperty(n,"language",{configurable:!0,enumerable:!0,get:()=>s()}),n.setup({}),e&&e.on("LOCALE_CHANGED",(()=>{n.setup(null)})),n}},function(e,t,n){const r=n(16);e.exports=e=>{try{const t=e.match(/^data:([/-\w\d]*);base64,/i);if(t){const n=t[1].toLowerCase(),i=e.substring(t[0].length),s=r.base64ToUint8Array(i);return new Response(s,{headers:{"content-type":n,"content-length":s.byteLength}})}}catch(e){}return null}},function(e,t,n){e.exports=function(){return n(252)('!function(n){var e={};function t(r){if(e[r])return e[r].exports;var a=e[r]={i:r,l:!1,exports:{}};return n[r].call(a.exports,a,a.exports,t),a.l=!0,a.exports}t.m=n,t.c=e,t.d=function(n,e,r){t.o(n,e)||Object.defineProperty(n,e,{enumerable:!0,get:r})},t.r=function(n){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(n,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(n,"__esModule",{value:!0})},t.t=function(n,e){if(1&e&&(n=t(n)),8&e)return n;if(4&e&&"object"==typeof n&&n&&n.__esModule)return n;var r=Object.create(null);if(t.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:n}),2&e&&"string"!=typeof n)for(var a in n)t.d(r,a,function(e){return n[e]}.bind(null,a));return r},t.n=function(n){var e=n&&n.__esModule?function(){return n.default}:function(){return n};return t.d(e,"a",e),e},t.o=function(n,e){return Object.prototype.hasOwnProperty.call(n,e)},t.p="",t(t.s=7)}([function(n,e,t){const r=t(17);r.enable(),n.exports=r("vm")},function(n,e){n.exports={ANGLE:"angle",BOOLEAN:"Boolean",COLOR:"color",NUMBER:"number",STRING:"string",MATRIX:"matrix",NOTE:"note",IMAGE:"image",COSTUME:"costume",SOUND:"sound"}},function(n,e){n.exports={BOOLEAN:"Boolean",BUTTON:"button",LABEL:"label",COMMAND:"command",CONDITIONAL:"conditional",EVENT:"event",HAT:"hat",LOOP:"loop",REPORTER:"reporter",XML:"xml"}},function(n,e){n.exports={isWorker:!0,centralDispatchService:self}},function(n,e){var t="long",r="short",a="narrow",i="numeric",o="2-digit";n.exports={number:{decimal:{style:"decimal"},integer:{style:"decimal",maximumFractionDigits:0},currency:{style:"currency",currency:"USD"},percent:{style:"percent"},default:{style:"decimal"}},date:{short:{month:i,day:i,year:o},medium:{month:r,day:i,year:i},long:{month:t,day:i,year:i},full:{month:t,day:i,year:i,weekday:t},default:{month:r,day:i,year:i}},time:{short:{hour:i,minute:i},medium:{hour:i,minute:i,second:i},long:{hour:i,minute:i,second:i,timeZoneName:r},full:{hour:i,minute:i,second:i,timeZoneName:r},default:{hour:i,minute:i,second:i}},duration:{default:{hours:{minimumIntegerDigits:1,maximumFractionDigits:0},minutes:{minimumIntegerDigits:2,maximumFractionDigits:0},seconds:{minimumIntegerDigits:2,maximumFractionDigits:3}}},parseNumberPattern:function(n){if(n){var e={},t=n.match(/\\b[A-Z]{3}\\b/i),r=n.replace(/[^¤]/g,"").length;if(!r&&t&&(r=1),r?(e.style="currency",e.currencyDisplay=1===r?"symbol":2===r?"code":"name",e.currency=t?t[0].toUpperCase():"USD"):n.indexOf("%")>=0&&(e.style="percent"),!/[@#0]/.test(n))return e.style?e:void 0;if(e.useGrouping=n.indexOf(",")>=0,/E\\+?[@#0]+/i.test(n)||n.indexOf("@")>=0){var a=n.replace(/E\\+?[@#0]+|[^@#0]/gi,"");e.minimumSignificantDigits=Math.min(Math.max(a.replace(/[^@0]/g,"").length,1),21),e.maximumSignificantDigits=Math.min(Math.max(a.length,1),21)}else{for(var i=n.replace(/[^#0.]/g,"").split("."),o=i[0],s=o.length-1;"0"===o[s];)--s;e.minimumIntegerDigits=Math.min(Math.max(o.length-1-s,1),21);var c=i[1]||"";for(s=0;"0"===c[s];)++s;for(e.minimumFractionDigits=Math.min(Math.max(s,0),20);"#"===c[s];)++s;e.maximumFractionDigits=Math.min(Math.max(s,0),20)}return e}},parseDatePattern:function(n){if(n){for(var e={},s=0;s<n.length;){for(var c=n[s],l=1;n[++s]===c;)++l;switch(c){case"G":e.era=5===l?a:4===l?t:r;break;case"y":case"Y":e.year=2===l?o:i;break;case"M":case"L":l=Math.min(Math.max(l-1,0),4),e.month=[i,o,r,t,a][l];break;case"E":case"e":case"c":e.weekday=5===l?a:4===l?t:r;break;case"d":case"D":e.day=2===l?o:i;break;case"h":case"K":e.hour12=!0,e.hour=2===l?o:i;break;case"H":case"k":e.hour12=!1,e.hour=2===l?o:i;break;case"m":e.minute=2===l?o:i;break;case"s":case"S":e.second=2===l?o:i;break;case"z":case"Z":case"v":case"V":e.timeZoneName=1===l?r:t}}return Object.keys(e).length?e:void 0}}}},function(n,e){n.exports=function(n,e){if("string"==typeof n&&e[n])return n;for(var t=[].concat(n||[]),r=0,a=t.length;r<a;++r)for(var i=t[r].split("-");i.length;){var o=i.join("-");if(e[o])return o;i.pop()}}},function(n,e,t){"use strict";var r="zero",a="one",i="two",o="few",s="many",c="other",l=[function(n){return 1===+n?a:c},function(n){var e=+n;return 0<=e&&e<=1?a:c},function(n){return 0===Math.floor(Math.abs(+n))||1===+n?a:c},function(n){var e=+n;return 0===e?r:1===e?a:2===e?i:3<=e%100&&e%100<=10?o:11<=e%100&&e%100<=99?s:c},function(n){var e=Math.floor(Math.abs(+n)),t=(n+".").split(".")[1].length;return 1===e&&0===t?a:c},function(n){var e=+n;return e%10==1&&e%100!=11?a:2<=e%10&&e%10<=4&&(e%100<12||14<e%100)?o:e%10==0||5<=e%10&&e%10<=9||11<=e%100&&e%100<=14?s:c},function(n){var e=+n;return e%10==1&&e%100!=11&&e%100!=71&&e%100!=91?a:e%10==2&&e%100!=12&&e%100!=72&&e%100!=92?i:(3<=e%10&&e%10<=4||e%10==9)&&(e%100<10||19<e%100)&&(e%100<70||79<e%100)&&(e%100<90||99<e%100)?o:0!==e&&e%1e6==0?s:c},function(n){var e=Math.floor(Math.abs(+n)),t=(n+".").split(".")[1].length,r=+(n+".").split(".")[1];return 0===t&&e%10==1&&e%100!=11||r%10==1&&r%100!=11?a:0===t&&2<=e%10&&e%10<=4&&(e%100<12||14<e%100)||2<=r%10&&r%10<=4&&(r%100<12||14<r%100)?o:c},function(n){var e=Math.floor(Math.abs(+n)),t=(n+".").split(".")[1].length;return 1===e&&0===t?a:2<=e&&e<=4&&0===t?o:0!==t?s:c},function(n){var e=+n;return 0===e?r:1===e?a:2===e?i:3===e?o:6===e?s:c},function(n){var e=Math.floor(Math.abs(+n)),t=+(""+n).replace(/^[^.]*.?|0+$/g,"");return 1===+n||0!==t&&(0===e||1===e)?a:c},function(n){var e=Math.floor(Math.abs(+n)),t=(n+".").split(".")[1].length,r=+(n+".").split(".")[1];return 0===t&&e%100==1||r%100==1?a:0===t&&e%100==2||r%100==2?i:0===t&&3<=e%100&&e%100<=4||3<=r%100&&r%100<=4?o:c},function(n){var e=Math.floor(Math.abs(+n));return 0===e||1===e?a:c},function(n){var e=Math.floor(Math.abs(+n)),t=(n+".").split(".")[1].length,r=+(n+".").split(".")[1];return 0===t&&(1===e||2===e||3===e)||0===t&&e%10!=4&&e%10!=6&&e%10!=9||0!==t&&r%10!=4&&r%10!=6&&r%10!=9?a:c},function(n){var e=+n;return 1===e?a:2===e?i:3<=e&&e<=6?o:7<=e&&e<=10?s:c},function(n){var e=+n;return 1===e||11===e?a:2===e||12===e?i:3<=e&&e<=10||13<=e&&e<=19?o:c},function(n){var e=Math.floor(Math.abs(+n)),t=(n+".").split(".")[1].length;return 0===t&&e%10==1?a:0===t&&e%10==2?i:0!==t||e%100!=0&&e%100!=20&&e%100!=40&&e%100!=60&&e%100!=80?0!==t?s:c:o},function(n){var e=Math.floor(Math.abs(+n)),t=(n+".").split(".")[1].length,r=+n;return 1===e&&0===t?a:2===e&&0===t?i:0===t&&(r<0||10<r)&&r%10==0?s:c},function(n){var e=Math.floor(Math.abs(+n)),t=+(""+n).replace(/^[^.]*.?|0+$/g,"");return 0===t&&e%10==1&&e%100!=11||0!==t?a:c},function(n){var e=+n;return 1===e?a:2===e?i:c},function(n){var e=+n;return 0===e?r:1===e?a:c},function(n){var e=Math.floor(Math.abs(+n)),t=+n;return 0===t?r:0!==e&&1!==e||0===t?c:a},function(n){var e=+(n+".").split(".")[1],t=+n;return t%10==1&&(t%100<11||19<t%100)?a:2<=t%10&&t%10<=9&&(t%100<11||19<t%100)?o:0!==e?s:c},function(n){var e=(n+".").split(".")[1].length,t=+(n+".").split(".")[1],i=+n;return i%10==0||11<=i%100&&i%100<=19||2===e&&11<=t%100&&t%100<=19?r:i%10==1&&i%100!=11||2===e&&t%10==1&&t%100!=11||2!==e&&t%10==1?a:c},function(n){var e=Math.floor(Math.abs(+n)),t=(n+".").split(".")[1].length,r=+(n+".").split(".")[1];return 0===t&&e%10==1&&e%100!=11||r%10==1&&r%100!=11?a:c},function(n){var e=Math.floor(Math.abs(+n)),t=(n+".").split(".")[1].length,r=+n;return 1===e&&0===t?a:0!==t||0===r||1!==r&&1<=r%100&&r%100<=19?o:c},function(n){var e=+n;return 1===e?a:0===e||2<=e%100&&e%100<=10?o:11<=e%100&&e%100<=19?s:c},function(n){var e=Math.floor(Math.abs(+n)),t=(n+".").split(".")[1].length;return 1===e&&0===t?a:0===t&&2<=e%10&&e%10<=4&&(e%100<12||14<e%100)?o:0===t&&1!==e&&0<=e%10&&e%10<=1||0===t&&5<=e%10&&e%10<=9||0===t&&12<=e%100&&e%100<=14?s:c},function(n){var e=Math.floor(Math.abs(+n));return 0<=e&&e<=1?a:c},function(n){var e=Math.floor(Math.abs(+n)),t=(n+".").split(".")[1].length;return 0===t&&e%10==1&&e%100!=11?a:0===t&&2<=e%10&&e%10<=4&&(e%100<12||14<e%100)?o:0===t&&e%10==0||0===t&&5<=e%10&&e%10<=9||0===t&&11<=e%100&&e%100<=14?s:c},function(n){var e=+n;return 0===Math.floor(Math.abs(+n))||1===e?a:2<=e&&e<=10?o:c},function(n){var e=Math.floor(Math.abs(+n)),t=+(n+".").split(".")[1],r=+n;return 0===r||1===r||0===e&&1===t?a:c},function(n){var e=Math.floor(Math.abs(+n)),t=(n+".").split(".")[1].length;return 0===t&&e%100==1?a:0===t&&e%100==2?i:0===t&&3<=e%100&&e%100<=4||0!==t?o:c},function(n){var e=+n;return 0<=e&&e<=1||11<=e&&e<=99?a:c},function(n){var e=+n;return 1===e||5===e||7===e||8===e||9===e||10===e?a:2===e||3===e?i:4===e?o:6===e?s:c},function(n){var e=Math.floor(Math.abs(+n));return e%10==1||e%10==2||e%10==5||e%10==7||e%10==8||e%100==20||e%100==50||e%100==70||e%100==80?a:e%10==3||e%10==4||e%1e3==100||e%1e3==200||e%1e3==300||e%1e3==400||e%1e3==500||e%1e3==600||e%1e3==700||e%1e3==800||e%1e3==900?o:0===e||e%10==6||e%100==40||e%100==60||e%100==90?s:c},function(n){var e=+n;return e%10!=2&&e%10!=3||e%100==12||e%100==13?c:o},function(n){var e=+n;return 1===e||3===e?a:2===e?i:4===e?o:c},function(n){var e=+n;return 0===e||7===e||8===e||9===e?r:1===e?a:2===e?i:3===e||4===e?o:5===e||6===e?s:c},function(n){var e=+n;return e%10==1&&e%100!=11?a:e%10==2&&e%100!=12?i:e%10==3&&e%100!=13?o:c},function(n){var e=+n;return 1===e||11===e?a:2===e||12===e?i:3===e||13===e?o:c},function(n){var e=+n;return 1===e?a:2===e||3===e?i:4===e?o:6===e?s:c},function(n){var e=+n;return 1===e||5===e?a:c},function(n){var e=+n;return 11===e||8===e||80===e||800===e?s:c},function(n){var e=Math.floor(Math.abs(+n));return 1===e?a:0===e||2<=e%100&&e%100<=20||e%100==40||e%100==60||e%100==80?s:c},function(n){var e=+n;return e%10==6||e%10==9||e%10==0&&0!==e?s:c},function(n){var e=Math.floor(Math.abs(+n));return e%10==1&&e%100!=11?a:e%10==2&&e%100!=12?i:e%10!=7&&e%10!=8||e%100==17||e%100==18?c:s},function(n){var e=+n;return 1===e?a:2===e||3===e?i:4===e?o:c},function(n){var e=+n;return 1<=e&&e<=4?a:c},function(n){var e=+n;return 1===e||5===e||7<=e&&e<=9?a:2===e||3===e?i:4===e?o:6===e?s:c},function(n){var e=+n;return 1===e?a:e%10==4&&e%100!=14?s:c},function(n){var e=+n;return e%10!=1&&e%10!=2||e%100==11||e%100==12?c:a},function(n){var e=+n;return e%10==6||e%10==9||10===e?o:c},function(n){var e=+n;return e%10==3&&e%100!=13?o:c}];n.exports={af:{cardinal:l[0]},ak:{cardinal:l[1]},am:{cardinal:l[2]},ar:{cardinal:l[3]},ars:{cardinal:l[3]},as:{cardinal:l[2],ordinal:l[34]},asa:{cardinal:l[0]},ast:{cardinal:l[4]},az:{cardinal:l[0],ordinal:l[35]},be:{cardinal:l[5],ordinal:l[36]},bem:{cardinal:l[0]},bez:{cardinal:l[0]},bg:{cardinal:l[0]},bh:{cardinal:l[1]},bn:{cardinal:l[2],ordinal:l[34]},br:{cardinal:l[6]},brx:{cardinal:l[0]},bs:{cardinal:l[7]},ca:{cardinal:l[4],ordinal:l[37]},ce:{cardinal:l[0]},cgg:{cardinal:l[0]},chr:{cardinal:l[0]},ckb:{cardinal:l[0]},cs:{cardinal:l[8]},cy:{cardinal:l[9],ordinal:l[38]},da:{cardinal:l[10]},de:{cardinal:l[4]},dsb:{cardinal:l[11]},dv:{cardinal:l[0]},ee:{cardinal:l[0]},el:{cardinal:l[0]},en:{cardinal:l[4],ordinal:l[39]},eo:{cardinal:l[0]},es:{cardinal:l[0]},et:{cardinal:l[4]},eu:{cardinal:l[0]},fa:{cardinal:l[2]},ff:{cardinal:l[12]},fi:{cardinal:l[4]},fil:{cardinal:l[13],ordinal:l[0]},fo:{cardinal:l[0]},fr:{cardinal:l[12],ordinal:l[0]},fur:{cardinal:l[0]},fy:{cardinal:l[4]},ga:{cardinal:l[14],ordinal:l[0]},gd:{cardinal:l[15],ordinal:l[40]},gl:{cardinal:l[4]},gsw:{cardinal:l[0]},gu:{cardinal:l[2],ordinal:l[41]},guw:{cardinal:l[1]},gv:{cardinal:l[16]},ha:{cardinal:l[0]},haw:{cardinal:l[0]},he:{cardinal:l[17]},hi:{cardinal:l[2],ordinal:l[41]},hr:{cardinal:l[7]},hsb:{cardinal:l[11]},hu:{cardinal:l[0],ordinal:l[42]},hy:{cardinal:l[12],ordinal:l[0]},ia:{cardinal:l[4]},io:{cardinal:l[4]},is:{cardinal:l[18]},it:{cardinal:l[4],ordinal:l[43]},iu:{cardinal:l[19]},iw:{cardinal:l[17]},jgo:{cardinal:l[0]},ji:{cardinal:l[4]},jmc:{cardinal:l[0]},ka:{cardinal:l[0],ordinal:l[44]},kab:{cardinal:l[12]},kaj:{cardinal:l[0]},kcg:{cardinal:l[0]},kk:{cardinal:l[0],ordinal:l[45]},kkj:{cardinal:l[0]},kl:{cardinal:l[0]},kn:{cardinal:l[2]},ks:{cardinal:l[0]},ksb:{cardinal:l[0]},ksh:{cardinal:l[20]},ku:{cardinal:l[0]},kw:{cardinal:l[19]},ky:{cardinal:l[0]},lag:{cardinal:l[21]},lb:{cardinal:l[0]},lg:{cardinal:l[0]},ln:{cardinal:l[1]},lt:{cardinal:l[22]},lv:{cardinal:l[23]},mas:{cardinal:l[0]},mg:{cardinal:l[1]},mgo:{cardinal:l[0]},mk:{cardinal:l[24],ordinal:l[46]},ml:{cardinal:l[0]},mn:{cardinal:l[0]},mo:{cardinal:l[25],ordinal:l[0]},mr:{cardinal:l[2],ordinal:l[47]},mt:{cardinal:l[26]},nah:{cardinal:l[0]},naq:{cardinal:l[19]},nb:{cardinal:l[0]},nd:{cardinal:l[0]},ne:{cardinal:l[0],ordinal:l[48]},nl:{cardinal:l[4]},nn:{cardinal:l[0]},nnh:{cardinal:l[0]},no:{cardinal:l[0]},nr:{cardinal:l[0]},nso:{cardinal:l[1]},ny:{cardinal:l[0]},nyn:{cardinal:l[0]},om:{cardinal:l[0]},or:{cardinal:l[0],ordinal:l[49]},os:{cardinal:l[0]},pa:{cardinal:l[1]},pap:{cardinal:l[0]},pl:{cardinal:l[27]},prg:{cardinal:l[23]},ps:{cardinal:l[0]},pt:{cardinal:l[28]},"pt-PT":{cardinal:l[4]},rm:{cardinal:l[0]},ro:{cardinal:l[25],ordinal:l[0]},rof:{cardinal:l[0]},ru:{cardinal:l[29]},rwk:{cardinal:l[0]},saq:{cardinal:l[0]},sc:{cardinal:l[4],ordinal:l[43]},scn:{cardinal:l[4],ordinal:l[43]},sd:{cardinal:l[0]},sdh:{cardinal:l[0]},se:{cardinal:l[19]},seh:{cardinal:l[0]},sh:{cardinal:l[7]},shi:{cardinal:l[30]},si:{cardinal:l[31]},sk:{cardinal:l[8]},sl:{cardinal:l[32]},sma:{cardinal:l[19]},smi:{cardinal:l[19]},smj:{cardinal:l[19]},smn:{cardinal:l[19]},sms:{cardinal:l[19]},sn:{cardinal:l[0]},so:{cardinal:l[0]},sq:{cardinal:l[0],ordinal:l[50]},sr:{cardinal:l[7]},ss:{cardinal:l[0]},ssy:{cardinal:l[0]},st:{cardinal:l[0]},sv:{cardinal:l[4],ordinal:l[51]},sw:{cardinal:l[4]},syr:{cardinal:l[0]},ta:{cardinal:l[0]},te:{cardinal:l[0]},teo:{cardinal:l[0]},ti:{cardinal:l[1]},tig:{cardinal:l[0]},tk:{cardinal:l[0],ordinal:l[52]},tl:{cardinal:l[13],ordinal:l[0]},tn:{cardinal:l[0]},tr:{cardinal:l[0]},ts:{cardinal:l[0]},tzm:{cardinal:l[33]},ug:{cardinal:l[0]},uk:{cardinal:l[29],ordinal:l[53]},ur:{cardinal:l[4]},uz:{cardinal:l[0]},ve:{cardinal:l[0]},vo:{cardinal:l[0]},vun:{cardinal:l[0]},wa:{cardinal:l[1]},wae:{cardinal:l[0]},xh:{cardinal:l[0]},xog:{cardinal:l[0]},yi:{cardinal:l[4]},zu:{cardinal:l[2]},lo:{ordinal:l[0]},ms:{ordinal:l[0]},vi:{ordinal:l[0]}}},function(n,e,t){(function(n){const e=t(9),r=t(13),a=t(15),i=t(0),{isWorker:o}=t(3),s=t(18)(null);n.Scratch=n.Scratch||{},Object.assign(n.Scratch,e,{canFetch:()=>Promise.resolve(!0),fetch:function(n){function e(e,t){return n.apply(this,arguments)}return e.toString=function(){return n.toString()},e}(((n,e)=>fetch(n,e))),canOpenWindow:()=>Promise.resolve(!1),openWindow:()=>Promise.reject(new Error("Scratch.openWindow not supported in sandboxed extensions")),canRedirect:()=>Promise.resolve(!1),redirect:()=>Promise.reject(new Error("Scratch.redirect not supported in sandboxed extensions")),canRecordAudio:()=>Promise.resolve(!1),canRecordVideo:()=>Promise.resolve(!1),canReadClipboard:()=>Promise.resolve(!1),canNotify:()=>Promise.resolve(!1),canGeolocate:()=>Promise.resolve(!1),canEmbed:()=>Promise.resolve(!1),translate:s});const c=new class{constructor(){this.nextExtensionId=0,this.initialRegistrations=[],this.firstRegistrationPromise=new Promise((n=>{this.firstRegistrationCallback=n})),a.waitForConnection.then((()=>{a.call("extensions","allocateWorker").then((async n=>{const[e,t]=n;this.workerId=e;try{await(n=>{if(!o)return new Promise(((e,t)=>{const r=document.createElement("script");r.onload=()=>e(),r.onerror=()=>{t(new Error("Error in sandboxed script: ".concat(n,". Check the console for more information.")))},r.src=n,document.body.appendChild(r)}));importScripts(n)})(t),await this.firstRegistrationPromise;const n=this.initialRegistrations;this.initialRegistrations=null,Promise.all(n).then((()=>a.call("extensions","onWorkerInit",e)))}catch(n){i.error(n),a.call("extensions","onWorkerInit",e,"".concat(n))}}))})),this.extensions=[]}register(n){const e=this.nextExtensionId++;this.extensions.push(n);const t="extension.".concat(this.workerId,".").concat(e),r=a.setService(t,n).then((()=>a.call("extensions","registerExtensionService",t)));return this.initialRegistrations&&(this.firstRegistrationCallback(),this.initialRegistrations.push(r)),r}};n.Scratch.extensions={register:c.register.bind(c)},n.ScratchExtensions=r(n.Scratch)}).call(this,t(8))},function(n,e){var t;t=function(){return this}();try{t=t||new Function("return this")()}catch(n){"object"==typeof window&&(t=window)}n.exports=t},function(n,e,t){const r={ArgumentType:t(1),BlockType:t(2),TargetType:t(10),Cast:t(11)};n.exports=r},function(n,e){n.exports={SPRITE:"sprite",STAGE:"stage"}},function(n,e,t){const r=t(12),a=n=>{if("string"!=typeof n)return!1;for(let e=0;e<n.length;e++){const t=n.charCodeAt(e);if(48===t||9===t)return!1}return!0};class i{static toNumber(n){if("number"==typeof n)return Number.isNaN(n)?0:n;const e=Number(n);return Number.isNaN(e)?0:e}static toBoolean(n){return"boolean"==typeof n?n:"string"==typeof n?""!==n&&"0"!==n&&"false"!==n.toLowerCase():Boolean(n)}static toString(n){return String(n)}static toRgbColorList(n){const e=i.toRgbColorObject(n);return[e.r,e.g,e.b]}static toRgbColorObject(n){let e;return"string"==typeof n&&"#"===n.substring(0,1)?(e=r.hexToRgb(n),e||(e={r:0,g:0,b:0,a:255})):e=r.decimalToRgb(i.toNumber(n)),e}static isWhiteSpace(n){return null===n||"string"==typeof n&&0===n.trim().length}static compare(n,e){let t=Number(n),r=Number(e);if(0===t&&a(n)?t=NaN:0===r&&a(e)&&(r=NaN),isNaN(t)||isNaN(r)){const t=String(n).toLowerCase(),r=String(e).toLowerCase();return t<r?-1:t>r?1:0}return t===1/0&&r===1/0||t===-1/0&&r===-1/0?0:t-r}static isInt(n){return"number"==typeof n?!!isNaN(n)||n===Math.floor(n):"boolean"==typeof n||"string"==typeof n&&n.indexOf(".")<0}static get LIST_INVALID(){return"INVALID"}static get LIST_ALL(){return"ALL"}static toListIndex(n,e,t){if("number"!=typeof n){if("all"===n)return t?i.LIST_ALL:i.LIST_INVALID;if("last"===n)return e>0?e:i.LIST_INVALID;if("random"===n||"any"===n)return e>0?1+Math.floor(Math.random()*e):i.LIST_INVALID}return(n=Math.floor(i.toNumber(n)))<1||n>e?i.LIST_INVALID:n}}n.exports=i},function(n,e){class t{static get RGB_BLACK(){return{r:0,g:0,b:0}}static get RGB_WHITE(){return{r:255,g:255,b:255}}static decimalToHex(n){n<0&&(n+=16777216);let e=Number(n).toString(16);return e="#".concat("000000".substr(0,6-e.length)).concat(e),e}static decimalToRgb(n){const e=n>>24&255;return{r:n>>16&255,g:n>>8&255,b:255&n,a:e>0?e:255}}static hexToRgb(n){n.startsWith("#")&&(n=n.substring(1));const e=parseInt(n,16);if(isNaN(e))return null;if(6===n.length)return{r:e>>16&255,g:e>>8&255,b:255&e};if(3===n.length){const n=e>>8&15,t=e>>4&15,r=15&e;return{r:n<<4|n,g:t<<4|t,b:r<<4|r}}return null}static rgbToHex(n){return t.decimalToHex(t.rgbToDecimal(n))}static rgbToDecimal(n){return(n.r<<16)+(n.g<<8)+n.b}static hexToDecimal(n){return t.rgbToDecimal(t.hexToRgb(n))}static hsvToRgb(n){let e=n.h%360;e<0&&(e+=360);const t=Math.max(0,Math.min(n.s,1)),r=Math.max(0,Math.min(n.v,1)),a=Math.floor(e/60),i=e/60-a,o=r*(1-t),s=r*(1-t*i),c=r*(1-t*(1-i));let l,u,d;switch(a){default:case 0:l=r,u=c,d=o;break;case 1:l=s,u=r,d=o;break;case 2:l=o,u=r,d=c;break;case 3:l=o,u=s,d=r;break;case 4:l=c,u=o,d=r;break;case 5:l=r,u=o,d=s}return{r:Math.floor(255*l),g:Math.floor(255*u),b:Math.floor(255*d)}}static rgbToHsv(n){const e=n.r/255,t=n.g/255,r=n.b/255,a=Math.min(Math.min(e,t),r),i=Math.max(Math.max(e,t),r);let o=0,s=0;if(a!==i){o=60*((e===a?3:t===a?5:1)-(e===a?t-r:t===a?r-e:e-t)/(i-a))%360,s=(i-a)/i}return{h:o,s:s,v:i}}static mixRgb(n,e,t){if(t<=0)return n;if(t>=1)return e;const r=1-t;return{r:r*n.r+t*e.r,g:r*n.g+t*e.g,b:r*n.b+t*e.b}}}n.exports=t},function(n,e,t){const r=t(1),a=t(2),{argumentIndexToId:i,generateExtensionId:o}=t(14),s=n=>{if(""===n||" "===n||"w"===n)return{type:a.COMMAND,async:"w"===n};if("r"===n||"R"===n)return{type:a.REPORTER,async:"R"===n};if("b"===n)return{type:a.BOOLEAN,async:!1};if("h"===n)return{type:a.HAT,async:!1};throw new Error("Unknown ScratchX block type: ".concat(n))},c=(n,e)=>{const t={},a="string"==typeof(i=e)||"number"==typeof i||"boolean"==typeof i;var i;if(a&&(t.defaultValue=e),"s"===n)t.type=r.STRING,a||(t.defaultValue="");else if("n"===n)t.type=r.NUMBER,a||(t.defaultValue=0);else{if("m"!==n[0])throw new Error("Unknown ScratchX argument type: ".concat(n));{t.type=r.STRING;const e=n.split(/\\.|:/)[1];t.menu=e}}return t},l=(n,e,t)=>r=>{const a=[];for(let n=0;n<e;n++)a.push(r[i(n)]);return t?new Promise((e=>{n(...a,e)})):n(...a)},u=new Map;n.exports=n=>({register:(e,t,r)=>{const a=((n,e,t)=>{const r={id:o(n),name:e.displayName||n,blocks:[],color1:"#4a4a5e",color2:"#31323f",color3:"#191a21"},a={getInfo:()=>r,_getStatus:t._getStatus};e.url&&(r.docsURI=e.url);for(const n of e.blocks){if(1===n.length){r.blocks.push("---");continue}const e=n[0],o=n[1],u=n[2],d=n.slice(3);let f="";const h=[],m=o.split(/%([\\w.:]+)/g);for(let n=0;n<m.length;n++){const e=m[n];if(n%2==1){c(e);const t=Math.floor(n/2).toString(),r=d[t],a=i(t);h[a]=c(e,r),f+="[".concat(a,"]")}else f+=e}const p=s(e),g={opcode:u,blockType:p.type,text:f,arguments:h};r.blocks.push(g);const b=t[u],v=h.length;a[u]=l(b,v,p.async)}const u=e.menus;if(u){const n={};for(const e of Object.keys(u)||{}){const t={items:u[e]};n[e]=t}r.menus=n}return a})(e,t,r);u.set(e,a),n.extensions.register(a)},getStatus:n=>{const e=u.get(n);return e?e._getStatus():{status:0,msg:"does not exist"}}})},function(n,e){n.exports={generateExtensionId:n=>{const e=n.replace(/[^a-z0-9]/gi,"").toLowerCase();return"sbx".concat(e)},argumentIndexToId:n=>n.toString()}},function(n,e,t){const r=t(16),a=t(0),{centralDispatchService:i}=t(3);n.exports=new class extends r{constructor(){super(),this._connectionPromise=new Promise((n=>{this._onConnect=n})),this.services={},this._onMessage=this._onMessage.bind(this,i),"undefined"!=typeof self&&(self.onmessage=this._onMessage)}get waitForConnection(){return this._connectionPromise}setService(n,e){return Object.prototype.hasOwnProperty.call(this.services,n)&&a.warn("Worker dispatch replacing existing service provider for ".concat(n)),this.services[n]=e,this.waitForConnection.then((()=>this._remoteCall(i,"dispatch","setService",n)))}_getServiceProvider(n){const e=this.services[n];return{provider:e||i,isRemote:!e}}_onDispatchMessage(n,e){let t;switch(e.method){case"handshake":t=this._onConnect();break;case"terminate":setTimeout((()=>self.close()),0),t=Promise.resolve();break;default:a.error("Worker dispatch received message for unknown method: ".concat(e.method))}return t}}},function(n,e,t){const r=t(0);n.exports=class{constructor(){this.callbacks=[],this.nextResponseId=0}call(n,e){for(var t=arguments.length,r=new Array(t>2?t-2:0),a=2;a<t;a++)r[a-2]=arguments[a];return this.transferCall(n,e,null,...r)}transferCall(n,e,t){try{const{provider:o,isRemote:s}=this._getServiceProvider(n);if(o){for(var r=arguments.length,a=new Array(r>3?r-3:0),i=3;i<r;i++)a[i-3]=arguments[i];if(s)return this._remoteTransferCall(o,n,e,t,...a);const c=o[e].apply(o,a);return Promise.resolve(c)}return Promise.reject(new Error("Service not found: ".concat(n)))}catch(n){return Promise.reject(n)}}_isRemoteService(n){return this._getServiceProvider(n).isRemote}_remoteCall(n,e,t){for(var r=arguments.length,a=new Array(r>3?r-3:0),i=3;i<r;i++)a[i-3]=arguments[i];return this._remoteTransferCall(n,e,t,null,...a)}_remoteTransferCall(n,e,t,r){for(var a=arguments.length,i=new Array(a>4?a-4:0),o=4;o<a;o++)i[o-4]=arguments[o];return new Promise(((a,o)=>{const s=this._storeCallbacks(a,o);i.length>0&&"function"==typeof i[i.length-1].func&&(i.pop(),i.pop()),r?n.postMessage({service:e,method:t,responseId:s,args:i},r):n.postMessage({service:e,method:t,responseId:s,args:i})}))}_storeCallbacks(n,e){const t=this.nextResponseId++;return this.callbacks[t]=[n,e],t}_deliverResponse(n,e){try{const[t,r]=this.callbacks[n];delete this.callbacks[n],e.error?r(e.error):t(e.result)}catch(n){r.error("Dispatch callback failed: ".concat(n))}}_onMessage(n,e){const t=e.data;let a;t.args=t.args||[],t.service?a="dispatch"===t.service?this._onDispatchMessage(n,t):this.call(t.service,t.method,...t.args):void 0===t.responseId?r.error("Dispatch caught malformed message from a worker: ".concat(JSON.stringify(e))):this._deliverResponse(t.responseId,t),a&&(void 0===t.responseId?r.error("Dispatch message missing required response ID: ".concat(JSON.stringify(e))):a.then((e=>n.postMessage({responseId:t.responseId,result:e})),(e=>n.postMessage({responseId:t.responseId,error:"".concat(e)}))))}_getServiceProvider(n){throw new Error("Could not get provider for ".concat(n,": _getServiceProvider not implemented"))}_onDispatchMessage(n,e){throw new Error("Unimplemented dispatch message handler cannot handle ".concat(e.method," method"))}}},function(n,e){const t="undefined"==typeof document,r=t?"[0m":"",a=t?"[90m":"",i=`${t?"[34m":""}debug${r}`,o=`${t?"[36m":""}info${r}`,s=`${t?"[33m":""}warn${r}`,c=`${t?"[31m":""}error${r}`,l=(n="")=>{const e=e=>l(n?`${n} ${e}`:e),t=n?[`${a}${n}${r}`]:[];return e.debug=e.log=console.debug.bind(console,...t,i),e.info=console.log.bind(console,...t,o),e.warn=e.warning=console.warn.bind(console,...t,s),e.error=console.error.bind(console,...t,c),e};l.enable=l.disable=()=>{},n.exports=l},function(n,e,t){const r=t(19);n.exports=n=>{const e=r.namespace(),t=(n,t)=>{if(n&&"object"==typeof n);else{if("string"!=typeof n)throw new Error("unsupported data type in translate()");n={default:n}}return e(n,t)},a=n=>"_".concat(n),i=()=>n?n.getLocale():"undefined"!=typeof navigator?navigator.language:"en";let o={};return t.setup=n=>{n&&(o=n),e.setup({locale:i(),missingTranslation:"ignore",generateId:a,translations:o})},Object.defineProperty(t,"language",{configurable:!0,enumerable:!0,get:()=>i()}),t.setup({}),n&&n.on("LOCALE_CHANGED",(()=>{t.setup(null)})),t}},function(n,e,t){"use strict";var r=t(20),a=t(21),i=t(6),o=t(5),s=t(4);function c(n,e){return Object.keys(e).forEach((function(t){n[t]=e[t]})),n}n.exports=function n(){var e=c({},s),t="en",l={},u=function(n){return n},d=null,f="warning",h={};function m(n,e,i){var o="string"==typeof n?n:n.default,s=b(o,"object"==typeof n&&n.id||u(o),i||t);return(s.format||(s.format=a(r(s.message),i||t,h)))(e)}m.rich=function(n,e,i){var o="string"==typeof n?n:n.default,s=b(o,"object"==typeof n&&n.id||u(o),i||t);return(s.toParts||(s.toParts=a.toParts(r(s.message,{tagsType:p}),i||t,h)))(e)};var p="<>";function g(n,e){var t=n[2];return function(n,e){var r="object"==typeof t?function(n,e){return Object.keys(n).reduce((function(t,r){return t[r]=n[r](e),t}),{})}(t,e):t;return"function"==typeof n?n(r):n}}function b(n,e,t){var r=o(t,l)||"en",a=l[r]||(l[r]={}),i=a[e];if("string"==typeof i&&(i=a[e]={message:i}),!i){var s=\'Translation for "\'+e+\'" in "\'+r+\'" is missing\';if("warning"===f)"undefined"!=typeof console&&console.warn(s);else if("ignore"!==f)throw new Error(s);var c="function"==typeof d?d(n,e,r)||n:d||n;i=a[e]={message:c}}return i}function v(n,e,r,a,s){"object"==typeof r&&"object"!=typeof a&&(s=a,a=r,r=0);var c=o(s||t,i),l=c&&i[c][n]||x;return a["="+ +e]||a[l(e-r)]||a.other}function x(){return"other"}return h[p]=g,m.setup=function(n){return(n=n||{}).locale&&(t=n.locale),"translations"in n&&(l=n.translations||{}),n.generateId&&(u=n.generateId),"missingReplacement"in n&&(d=n.missingReplacement),n.missingTranslation&&(f=n.missingTranslation),n.formats&&(n.formats.number&&c(e.number,n.formats.number),n.formats.date&&c(e.date,n.formats.date),n.formats.time&&c(e.time,n.formats.time)),n.types&&((h=n.types)[p]=g),{locale:t,translations:l,generateId:u,missingReplacement:d,missingTranslation:f,formats:e,types:h}},m.number=function(n,r,a){var i=r&&e.number[r]||e.parseNumberPattern(r)||e.number.default;return new Intl.NumberFormat(a||t,i).format(n)},m.date=function(n,r,a){var i=r&&e.date[r]||e.parseDatePattern(r)||e.date.default;return new Intl.DateTimeFormat(a||t,i).format(n)},m.time=function(n,r,a){var i=r&&e.time[r]||e.parseDatePattern(r)||e.time.default;return new Intl.DateTimeFormat(a||t,i).format(n)},m.select=function(n,e){return e[n]||e.other},m.custom=function(n,e,t,r){return n[1]in h?h[n[1]](n,e)(t,r):t},m.plural=v.bind(null,"cardinal"),m.selectordinal=v.bind(null,"ordinal"),m.namespace=n,m}()},function(n,e,t){"use strict";var r="{",a="}",i=",",o="#",s="<",c=">",l="</",u="/>",d="\'",f="offset:",h=["number","date","time","ordinal","duration","spellout"],m=["plural","select","selectordinal"];function p(n,e){var t=n.pattern,r=t.length,i=[],o=n.index,s=g(n,e);for(s&&i.push(s),s&&n.tokens&&n.tokens.push(["text",t.slice(o,n.index)]);n.index<r;){if(t[n.index]===a){if(!e)throw S(n);break}if(e&&n.tagsType&&t.slice(n.index,n.index+l.length)===l)break;i.push(x(n)),o=n.index,(s=g(n,e))&&i.push(s),s&&n.tokens&&n.tokens.push(["text",t.slice(o,n.index)])}return i}function g(n,e){for(var t=n.pattern,i=t.length,c="plural"===e||"selectordinal"===e,l=!!n.tagsType,u="{style}"===e,f="";n.index<i;){var h=t[n.index];if(h===r||h===a||c&&h===o||l&&h===s||u&&b(h.charCodeAt(0)))break;if(h===d)if((h=t[++n.index])===d)f+=h,++n.index;else if(h===r||h===a||c&&h===o||l&&h===s||u)for(f+=h;++n.index<i;)if((h=t[n.index])===d&&t[n.index+1]===d)f+=d,++n.index;else{if(h===d){++n.index;break}f+=h}else f+=d;else f+=h,++n.index}return f}function b(n){return n>=9&&n<=13||32===n||133===n||160===n||6158===n||n>=8192&&n<=8205||8232===n||8233===n||8239===n||8287===n||8288===n||12288===n||65279===n}function v(n){for(var e=n.pattern,t=e.length,r=n.index;n.index<t&&b(e.charCodeAt(n.index));)++n.index;r<n.index&&n.tokens&&n.tokens.push(["space",n.pattern.slice(r,n.index)])}function x(n){var e=n.pattern;if(e[n.index]===o)return n.tokens&&n.tokens.push(["syntax",o]),++n.index,[o];var t=function(n){var e=n.tagsType;if(!e||n.pattern[n.index]!==s)return;if(n.pattern.slice(n.index,n.index+l.length)===l)throw S(n,null,"closing tag without matching opening tag");n.tokens&&n.tokens.push(["syntax",s]);++n.index;var t=y(n,!0);if(!t)throw S(n,"placeholder id");n.tokens&&n.tokens.push(["id",t]);if(v(n),n.pattern.slice(n.index,n.index+u.length)===u)return n.tokens&&n.tokens.push(["syntax",u]),n.index+=u.length,[t,e];if(n.pattern[n.index]!==c)throw S(n,c);n.tokens&&n.tokens.push(["syntax",c]);++n.index;var r=p(n,e),a=n.index;if(n.pattern.slice(n.index,n.index+l.length)!==l)throw S(n,l+t+c);n.tokens&&n.tokens.push(["syntax",l]);n.index+=l.length;var i=y(n,!0);i&&n.tokens&&n.tokens.push(["id",i]);if(t!==i)throw n.index=a,S(n,l+t+c,l+i+c);if(v(n),n.pattern[n.index]!==c)throw S(n,c);n.tokens&&n.tokens.push(["syntax",c]);return++n.index,[t,e,{children:r}]}(n);if(t)return t;if(e[n.index]!==r)throw S(n,r);n.tokens&&n.tokens.push(["syntax",r]),++n.index,v(n);var d=y(n);if(!d)throw S(n,"placeholder id");n.tokens&&n.tokens.push(["id",d]),v(n);var m=e[n.index];if(m===a)return n.tokens&&n.tokens.push(["syntax",a]),++n.index,[d];if(m!==i)throw S(n,i+" or "+a);n.tokens&&n.tokens.push(["syntax",i]),++n.index,v(n);var g,b=y(n);if(!b)throw S(n,"placeholder type");if(n.tokens&&n.tokens.push(["type",b]),v(n),(m=e[n.index])===a){if(n.tokens&&n.tokens.push(["syntax",a]),"plural"===b||"selectordinal"===b||"select"===b)throw S(n,b+" sub-messages");return++n.index,[d,b]}if(m!==i)throw S(n,i+" or "+a);if(n.tokens&&n.tokens.push(["syntax",i]),++n.index,v(n),"plural"===b||"selectordinal"===b){var x=function(n){var e=n.pattern,t=e.length,r=0;if(e.slice(n.index,n.index+f.length)===f){n.tokens&&n.tokens.push(["offset","offset"],["syntax",":"]),n.index+=f.length,v(n);for(var a=n.index;n.index<t&&w(e.charCodeAt(n.index));)++n.index;if(a===n.index)throw S(n,"offset number");n.tokens&&n.tokens.push(["number",e.slice(a,n.index)]),r=+e.slice(a,n.index)}return r}(n);v(n),g=[d,b,x,M(n,b)]}else if("select"===b)g=[d,b,M(n,b)];else if(h.indexOf(b)>=0)g=[d,b,k(n)];else{var I=n.index,T=k(n);v(n),e[n.index]===r&&(n.index=I,T=M(n,b)),g=[d,b,T]}if(v(n),e[n.index]!==a)throw S(n,a);return n.tokens&&n.tokens.push(["syntax",a]),++n.index,g}function y(n,e){for(var t=n.pattern,l=t.length,u="";n.index<l;){var f=t[n.index];if(f===r||f===a||f===i||f===o||f===d||b(f.charCodeAt(0))||e&&(f===s||f===c||"/"===f))break;u+=f,++n.index}return u}function k(n){var e=n.index,t=g(n,"{style}");if(!t)throw S(n,"placeholder style name");return n.tokens&&n.tokens.push(["style",n.pattern.slice(e,n.index)]),t}function w(n){return n>=48&&n<=57}function M(n,e){for(var t=n.pattern,r=t.length,i={};n.index<r&&t[n.index]!==a;){var o=y(n);if(!o)throw S(n,"sub-message selector");n.tokens&&n.tokens.push(["selector",o]),v(n),i[o]=I(n,e),v(n)}if(!i.other&&m.indexOf(e)>=0)throw S(n,null,null,\'"other" sub-message must be specified in \'+e);return i}function I(n,e){if(n.pattern[n.index]!==r)throw S(n,r+" to start sub-message");n.tokens&&n.tokens.push(["syntax",r]),++n.index;var t=p(n,e);if(n.pattern[n.index]!==a)throw S(n,a+" to end sub-message");return n.tokens&&n.tokens.push(["syntax",a]),++n.index,t}function S(n,e,t,r){var a=n.pattern,i=a.slice(0,n.index).split(/\\r?\\n/),o=n.index,s=i.length,c=i.slice(-1)[0].length;return t=t||(n.index>=a.length?"end of message pattern":y(n)||a[n.index]),r||(r=function(n,e){return n?"Expected "+n+" but found "+e:"Unexpected "+e+" found"}(e,t)),new T(r+=" in "+a.replace(/\\r?\\n/g,"\\n"),e,t,o,s,c)}function T(n,e,t,r,a,i){Error.call(this,n),this.name="SyntaxError",this.message=n,this.expected=e,this.found=t,this.offset=r,this.line=a,this.column=i}e=n.exports=function(n,e){return p({pattern:String(n),index:0,tagsType:e&&e.tagsType||null,tokens:e&&e.tokens||null},"")},T.prototype=Object.create(Error.prototype),e.SyntaxError=T},function(n,e,t){"use strict";var r=t(4),a=t(5),i=t(6);function o(n,e,t,r,a){var i=n.map((function(n){return function(n,e,t,r,a){if("string"==typeof n){var i=n;return function(){return i}}var c,l=n[0],u=n[1];if(e&&"#"===n[0]){l=e[0];var d=e[2],h=(r.number||f.number)([l,"number"],t);return function(n){return h(s(l,n)-d,n)}}"plural"===u||"selectordinal"===u?(c={},Object.keys(n[3]).forEach((function(e){c[e]=o(n[3][e],n,t,r,a)})),n=[n[0],n[1],n[2],c]):n[2]&&"object"==typeof n[2]&&(c={},Object.keys(n[2]).forEach((function(e){c[e]=o(n[2][e],n,t,r,a)})),n=[n[0],n[1],c]);var m=u&&(r[u]||f[u]);if(m){var p=m(n,t);return function(n){return p(s(l,n),n)}}return a?function(n){return String(s(l,n))}:function(n){return s(l,n)}}(n,e,t,r,a)}));return a?1===i.length?i[0]:function(n){for(var e="",t=0;t<i.length;++t)e+=i[t](n);return e}:function(n){return i.reduce((function(e,t){return e.concat(t(n))}),[])}}function s(n,e){if(e&&n in e)return e[n];for(var t=n.split("."),r=e,a=0,i=t.length;r&&a<i;++a)r=r[t[a]];return r}function c(n,e){var t=n[2],a=r.number[t]||r.parseNumberPattern(t)||r.number.default;return new Intl.NumberFormat(e,a).format}function l(n,e){var t=n[1],a=n[2],i=r[t][a]||r.parseDatePattern(a)||r[t].default;return new Intl.DateTimeFormat(e,i).format}function u(n,e){var t,r="selectordinal"===n[1]?"ordinal":"cardinal",o=n[2],s=n[3];if(Intl.PluralRules&&Intl.PluralRules.supportedLocalesOf(e).length>0)t=new Intl.PluralRules(e,{type:r});else{var c=a(e,i),l=c&&i[c][r]||d;t={select:l}}return function(n,e){return(s["="+ +n]||s[t.select(n-o)]||s.other)(e)}}function d(){return"other"}(e=n.exports=function(n,e,t){return o(n,null,e||"en",t||{},!0)}).toParts=function(n,e,t){return o(n,null,e||"en",t||{},!1)};var f={number:c,ordinal:c,spellout:c,duration:function(n,e){var t=n[2],a=r.duration[t]||r.duration.default,i=new Intl.NumberFormat(e,a.seconds).format,o=new Intl.NumberFormat(e,a.minutes).format,s=new Intl.NumberFormat(e,a.hours).format,c=/^fi$|^fi-|^da/.test(String(e))?".":":";return function(n,e){if(n=+n,!isFinite(n))return i(n);var t=~~(n/60/60),r=~~(n/60%60),a=(t?s(Math.abs(t))+c:"")+o(Math.abs(r))+c+i(Math.abs(n%60));return n<0?s(-1).replace(s(1),a):a}},date:l,time:l,plural:u,selectordinal:u,select:function(n,e){var t=n[2];return function(n,e){return(t[n]||t.other)(e)}}};e.types=f}]);',null)}},function(e,t,n){"use strict";var r=window.URL||window.webkitURL;e.exports=function(e,t){try{try{var n;try{(n=new(window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder||window.MSBlobBuilder)).append(e),n=n.getBlob()}catch(t){n=new Blob([e])}return new Worker(r.createObjectURL(n))}catch(t){return new Worker("data:application/javascript,"+encodeURIComponent(e))}}catch(e){if(!t)throw Error("Inline worker is not supported");return new Worker(t)}}},function(e,t,n){const r=n(20),i=n(17),s=n(10),o=n(51),a=n(8),{Map:l}=n(25),c=n(1),u=n(7),d=n(84);e.exports=class extends r{constructor(e,t){super(),t||(t=new i(e)),this.runtime=e,this.id=a(),this.blocks=t,this.variables={},this.comments={},this._customState={},this._edgeActivatedHatValues={},this.extensionStorage={}}onGreenFlag(){}getName(){return this.id}updateEdgeActivatedValue(e,t){const n=this._edgeActivatedHatValues[e];return this._edgeActivatedHatValues[e]=t,n}hasEdgeActivatedValue(e){return Object.prototype.hasOwnProperty.call(this._edgeActivatedHatValues,e)}clearEdgeActivatedValues(){this._edgeActivatedHatValues={}}lookupOrCreateVariable(e,t){let n=this.lookupVariableById(e);if(n)return n;if(n=this.lookupVariableByNameAndType(t,s.SCALAR_TYPE),n)return n;const r=new s(e,t,s.SCALAR_TYPE,!1);return this.variables[e]=r,r}lookupBroadcastMsg(e,t){let n;if(e?n=this.lookupVariableById(e):t?n=this.lookupBroadcastByInputValue(t):c.error("Cannot find broadcast message if neither id nor name are provided."),n)return t&&n.name.toLowerCase()!==t.toLowerCase()&&c.error("Found broadcast message with id: ".concat(e,", but")+"its name, ".concat(n.name," did not match expected name ").concat(t,".")),n.type!==s.BROADCAST_MESSAGE_TYPE&&c.error("Found variable with id: ".concat(e,", but its type ").concat(n.type)+"did not match expected type ".concat(s.BROADCAST_MESSAGE_TYPE)),n}lookupBroadcastByInputValue(e){const t=this.variables;for(const n in t)if(t[n].type===s.BROADCAST_MESSAGE_TYPE&&t[n].name.toLowerCase()===e.toLowerCase())return t[n]}lookupVariableById(e){if(Object.prototype.hasOwnProperty.call(this.variables,e))return this.variables[e];if(this.runtime&&!this.isStage){const t=this.runtime.getTargetForStage();if(t&&Object.prototype.hasOwnProperty.call(t.variables,e))return t.variables[e]}}lookupVariableByNameAndType(e,t,n){if("string"==typeof e){"string"!=typeof t&&(t=s.SCALAR_TYPE),n=n||!1;for(const n in this.variables){const r=this.variables[n];if(r.name===e&&r.type===t)return r}if(!n&&this.runtime&&!this.isStage){const n=this.runtime.getTargetForStage();if(n)for(const r in n.variables){const i=n.variables[r];if(i.name===e&&i.type===t)return i}}return null}}lookupOrCreateList(e,t){let n=this.lookupVariableById(e);if(n)return n;if(n=this.lookupVariableByNameAndType(t,s.LIST_TYPE),n)return n;const r=new s(e,t,s.LIST_TYPE,!1);return this.variables[e]=r,r}createVariable(e,t,n,r){if(!Object.prototype.hasOwnProperty.call(this.variables,e)){const i=new s(e,t,n,!1);r&&this.isStage&&this.runtime.canAddCloudVariable()&&(i.isCloud=!0,this.runtime.addCloudVariable(),this.runtime.ioDevices.cloud.requestCreateVariable(i)),this.variables[e]=i}}createComment(e,t,n,r,i,s,a,l){if(!Object.prototype.hasOwnProperty.call(this.comments,e)){const u=new o(e,n,r,i,s,a,l);if(t){u.blockId=t;const n=this.blocks.getBlock(t);n?n.comment=e:c.warn("Could not find block with id ".concat(t," associated with commentId: ").concat(e))}this.comments[e]=u}}renameVariable(e,t){if(Object.prototype.hasOwnProperty.call(this.variables,e)){const n=this.variables[e];if(n.id===e){const r=n.name;if(n.name=t,this.runtime){if(n.isCloud&&this.isStage&&this.runtime.ioDevices.cloud.requestRenameVariable(r,t),n.type===s.SCALAR_TYPE){let e=!1;this.runtime.targets.forEach((n=>{e=n.blocks.updateSensingOfReference(r,t,this.isStage?"_stage_":this.getName())||e})),e&&this.runtime.requestBlocksUpdate()}const i=this.runtime.monitorBlocks;i.changeBlock({id:e,element:"field",name:n.type===s.LIST_TYPE?"LIST":"VARIABLE",value:e},this.runtime);const o=i.getBlock(n.id);o&&this.runtime.requestUpdateMonitor(l({id:e,params:i._getBlockParams(o)}))}}}}deleteVariable(e){if(Object.prototype.hasOwnProperty.call(this.variables,e)){const t=this.variables[e].name,n=this.variables[e].isCloud;delete this.variables[e],this.runtime&&(n&&this.isStage&&(this.runtime.ioDevices.cloud.requestDeleteVariable(t),this.runtime.removeCloudVariable()),this.runtime.monitorBlocks.deleteBlock(e),this.runtime.requestRemoveMonitor(e))}}deleteMonitors(){let e;this.runtime.requestRemoveMonitorByTargetId(this.id),e=this.isStage?Object.keys(this.variables):Object.keys(this.runtime.monitorBlocks._blocks).filter((e=>this.runtime.monitorBlocks._blocks[e].targetId===this.id));for(const t of e)this.runtime.monitorBlocks.deleteBlock(t)}duplicateVariable(e,t){if(Object.prototype.hasOwnProperty.call(this.variables,e)){const n=this.variables[e],r=new s(t?e:null,n.name,n.type,n.isCloud);return r.type===s.LIST_TYPE?r.value=n.value.slice(0):r.value=n.value,r}return null}duplicateVariables(e){let t;return e&&(t=e.getAllVariableAndListReferences()),Object.keys(this.variables).reduce(((n,r)=>{const i=this.duplicateVariable(r,!e);if(n[i.id]=i,e&&t){const e=t[r];e&&this.mergeVariables(r,i.id,e)}return n}),{})}postSpriteInfo(){}getCustomState(e){return this._customState[e]}setCustomState(e,t){this._customState[e]=t}dispose(){this._customState={},this.runtime&&this.runtime.removeExecutable(this)}getAllVariableNamesInScopeByType(e,t){"string"!=typeof e&&(e=s.SCALAR_TYPE),t=t||!1;const n=Object.values(this.variables).filter((t=>t.type===e)).map((e=>e.name));if(t||this.isStage||!this.runtime)return n;const r=this.runtime.getTargetForStage().getAllVariableNamesInScopeByType(e);return n.concat(r)}mergeVariables(e,t,n,r){const i=n||this.blocks.getAllVariableAndListReferences()[e];d.updateVariableIdentifiers(i,t,r)}shareLocalVariableToStage(e,t){if(!this.runtime)return;const n=this.variables[e];if(!n)return void c.warn("Cannot share a local variable to the stage if it's not local.");const r=this.runtime.getTargetForStage(),i="StageVarFromLocal_".concat(e);let s=r.lookupVariableById(i);if(!s){const e=n.name,t=n.type,r="Stage: ".concat(e);s=this.runtime.createNewGlobalVariable(r,i,t)}this.mergeVariables(e,s.id,t,s.name)}shareLocalVariableToSprite(e,t,n){if(!this.runtime)return;if(this.isStage)return;const r=this.variables[e];if(!r)return void c.warn("Tried to call 'shareLocalVariableToSprite' with a non-local variable.");const i=r.name,o=r.type,a=t.lookupVariableByNameAndType(i,o);let l;if(a)l=a.id;else{const e=new s(null,i,o);l=e.id,t.variables[l]=e}this.mergeVariables(e,l,n)}resolveVariableSharingConflictsWithTarget(e,t){if(this.isStage)return;const n=this.blocks.getAllVariableAndListReferences(e);for(const e in n){if(!this.variables[e])continue;const r=n[e];t.isStage?this.shareLocalVariableToStage(e,r):this.shareLocalVariableToSprite(e,t,r)}}fixUpVariableReferences(){if(!this.runtime)return;if(this.isStage)return;const e=this.runtime.getTargetForStage();if(!e||!e.variables)return;const t=(t,n,r)=>{if(e.lookupVariableByNameAndType(n,r)){const e=u.unusedName("".concat(this.getName(),": ").concat(n),this.getAllVariableNamesInScopeByType(r));return this.renameVariable(t,e),e}return null},n=this.blocks.getAllVariableAndListReferences(),r=[];if(Object.keys(this.variables).length>0)for(const e in this.variables)Object.prototype.hasOwnProperty.call(this.variables,e)&&(n[e]||r.push(e));const i=Object.create(null),s=Object.create(null),o={},a=e=>{const t=o[e];return t||(o[e]=this.runtime.getAllVarNamesOfType(e),o[e])};for(const r in n){const o=n[r][0],l=o.referencingField.value,c=o.type;if(this.lookupVariableById(r)){if(Object.prototype.hasOwnProperty.call(this.variables,r)){const e=t(r,l,c);e&&n[r].map((t=>(t.referencingField.value=e,t)))}}else{const t=e.lookupVariableByNameAndType(l,c);if(t)i[r]||(i[r]=t.id);else{const t=a(c),n=u.unusedName(l,t);e.createVariable(r,n,c),s[r]||(s[r]=n)}}}for(const e in r){const n=r[e];t(n,this.variables[n].name,this.variables[n].type)}for(const e in i){const t=i[e],r=n[e];this.mergeVariables(e,t,r)}for(const e in s){const t=s[e];n[e].map((e=>(e.referencingField.value=t,e)))}}}},function(e,t,n){const r=n(85),i=n(90);e.exports=class{constructor(e){this._canvas=e||document.createElement("canvas"),this._context=this._canvas.getContext("2d"),this._measurements={x:0,y:0,width:0,height:0},this._cachedImage=null,this.loaded=!1}get canvas(){return this._canvas}get size(){return[this._measurements.width,this._measurements.height]}get viewOffset(){return[this._measurements.x,this._measurements.y]}loadString(e,t){this._cachedImage=null;const n=r(e,t);this._svgTag=n,this._measurements={width:n.viewBox.baseVal.width,height:n.viewBox.baseVal.height,x:n.viewBox.baseVal.x,y:n.viewBox.baseVal.y}}loadSVG(e,t,n){this.loadString(e,t),this._createSVGImage(n)}_createSVGImage(e){null===this._cachedImage&&(this._cachedImage=new Image);const t=this._cachedImage;t.onload=()=>{this.loaded=!0,e&&e()};const n=this.toString(!0);t.src=`data:image/svg+xml;utf8,${encodeURIComponent(n)}`,this.loaded=!1}toString(e){return i(this._svgTag,e)}draw(e){if(!this.loaded)throw new Error("SVG image has not finished loading");this._drawFromImage(e)}_drawFromImage(e){if(null===this._cachedImage)return;const t=Number.isFinite(e)?e:1,n=this._measurements;this._canvas.width=n.width*t,this._canvas.height=n.height*t,this._canvas.width<=0||this._canvas.height<=0||this._cachedImage.naturalWidth<=0||this._cachedImage.naturalHeight<=0||(this._context.clearRect(0,0,this._canvas.width,this._canvas.height),this._context.setTransform(t,0,0,t,0,0),this._context.drawImage(this._cachedImage,0,0))}}},function(e,t,n){const r=n(256),i=n(53),s=n(257),o=function(e){let t=r.identity();const n=e.attributes&&e.attributes.transform&&e.attributes.transform.value;if(!n)return t;const i=n.split(/\)\s*/g);for(const e of i){if(!e)break;const n=e.split(/\(\s*/),i=n[0].trim(),o=n[1].split(/[\s,]+/g);for(let e=0;e<o.length;e++)o[e]=parseFloat(o[e]);switch(i){case"matrix":t=r.compose(t,{a:o[0],b:o[1],c:o[2],d:o[3],e:o[4],f:o[5]});break;case"rotate":t=r.compose(t,r.rotateDEG(o[0],o[1]||0,o[2]||0));break;case"translate":t=r.compose(t,r.translate(o[0],o[1]||0));break;case"scale":t=r.compose(t,r.scale(o[0],o[1]||o[0]));break;case"skewX":t=r.compose(t,r.skewDEG(o[0],0));break;case"skewY":t=r.compose(t,r.skewDEG(0,o[0]));break;default:s.error(`Couldn't parse: ${i}`)}}return t},a=function(e){const t=e.a,n=e.b,r=e.c,i=e.d,s=t*i-n*r;if(0!==t||0!==n){const e=Math.sqrt(t*t+n*n);return{x:e,y:s/e}}if(0!==r||0!==i){const e=Math.sqrt(r*r+i*i);return{x:s/e,y:e}}return{x:0,y:0}},l=function(e,t,n,r){n=-n*Math.PI/180;const i=r.a,s=-r.c,o=-r.b,a=r.d,l=i*a-s*o;if(0===l)return null;const c=Math.sin(n),u=Math.cos(n),d=Math.sin(2*n),h=u*u/e/e+c*c/t/t,p=d/e/e-d/t/t,m=c*c/e/e+u*u/t/t,f=h*a*a-p*a*o+m*o*o,g=-2*h*s*a+p*i*a+p*s*o-2*m*i*o,y=h*s*s-p*i*s+m*i*i,b=Math.sqrt(2)*Math.sqrt((f+y-Math.sqrt(f*f+g*g-2*f*y+y*y))/(-g*g+4*f*y)),v=1/Math.sqrt(f+y-1/b/b);let S=(f-1/b/b)/(1/v/v-1/b/b);S<0&&Math.abs(S)<1e-8&&(S=0),S=Math.sqrt(S),Math.abs(1-S)<1e-8&&(S=1);let w=Math.asin(S);S=g/(1/b/b-1/v/v);const k=-w;return Math.abs(Math.sin(2*k)-S)<Math.abs(Math.sin(2*w)-S)&&(w=k),{radiusX:b*l,radiusY:v*l,rotation:180*-w/Math.PI}},c=["circle","ellipse","image","line","path","polygon","polyline","rect","text","use"],u=["a","defs","g","marker","glyph","missing-glyph","pattern","svg","switch","symbol"],d=function(e,t){return Math.sqrt((e*e+t*t)/2)},h=function(e,t,n,s){const o=function(e,t,r,s,o,a){let l,c=i.get(e,t);if(null===c?a?(l=a,/%\s*$/.test(l)&&(c=a,l=parseFloat(c))):l=s?null:r?"":0:l=r?c:parseFloat(c),/%\s*$/.test(c)){return l/100*(o?1:n[/x|^width/.test(t)?"width":"height"])}return l},l=function(e,t,n,r,i,s,a){return t=o(e,t||"x",!1,r,i,s),n=o(e,n||"y",!1,r,i,a),!r||null!==t&&null!==n?{x:t,y:n}:null};let c=t.getElementsByTagName("defs");0===c.length?(c=i.create("defs"),t.appendChild(c)):c=c[0];const u=t.getElementById(e);if(!u)return;const h="radialgradient"===u.tagName.toLowerCase(),p=t.getElementById(e).cloneNode(!0);let m=r.toString(s);m=m.substring(8,m.length-1);const f=`${e}-${m}`;if(p.setAttribute("id",f),t.getElementById(f))return`url(#${f})`;const g="userSpaceOnUse"!==o(p,"gradientUnits",!0);let y,b,v,S;if(h)y=l(p,"cx","cy",!1,g,"50%","50%"),v=o(p,"r",!1,!1,g,"50%"),S=l(p,"fx","fy",!0,g);else if(y=l(p,"x1","y1",!1,g),b=l(p,"x2","y2",!1,g,"1"),y.x===b.x&&y.y===b.y){const e=p.getElementsByTagName("stop");return e.length&&e[e.length-1].attributes&&e[e.length-1].attributes["stop-color"]?e[e.length-1].attributes["stop-color"].value:null}if(g){const e=r.compose(r.translate(n.x,n.y),r.scale(n.width,n.height));y=r.applyToPoint(e,y),b&&(b=r.applyToPoint(e,b)),v&&(v=d(n.width,n.height)*v),S&&(S=r.applyToPoint(e,S))}if(h){y=r.applyToPoint(s,y);const e=a(s);v=d(e.x,e.y)*v,S&&(S=r.applyToPoint(s,S))}else{const e=(e,t)=>e.x*t.x+e.y*t.y,t=(e,t)=>({x:e*t.x,y:e*t.y}),n=(e,t)=>({x:e.x+t.x,y:e.y+t.y}),i=(e,t)=>({x:e.x-t.x,y:e.y-t.y});let o=Math.abs(y.x-b.x)<1e-8?n(y,{x:1,y:(y.x-b.x)/(b.y-y.y)}):n(y,{x:(b.y-y.y)/(y.x-b.x),y:1});o=r.applyToPoint(s,o),y=r.applyToPoint(s,y),b=r.applyToPoint(s,b);const a=i(o,y),l=i(b,y),c=Math.abs(a.x)<1e-8?{x:1,y:-a.x/a.y}:{x:-a.y/a.x,y:1},u=t(e(l,c)/e(c,c),c);b={x:y.x+u.x,y:y.y+u.y}}return h?(p.setAttribute("cx",Number(y.x.toFixed(4))),p.setAttribute("cy",Number(y.y.toFixed(4))),p.setAttribute("r",Number(v.toFixed(4))),S&&(p.setAttribute("fx",Number(S.x.toFixed(4))),p.setAttribute("fy",Number(S.y.toFixed(4))))):(p.setAttribute("x1",Number(y.x.toFixed(4))),p.setAttribute("y1",Number(y.y.toFixed(4))),p.setAttribute("x2",Number(b.x.toFixed(4))),p.setAttribute("y2",Number(b.y.toFixed(4)))),p.setAttribute("gradientUnits","userSpaceOnUse"),c.appendChild(p),`url(#${f})`},p=(e,t)=>{const n=e&&e.match(/\((?:["'#]*)([^"')]+)/),r=n&&n[1];return r&&t?r.replace(`${t.location.href.split("#")[0]}#`,""):r};e.exports=function(e,t,n){const s=r.identity(),m=(s,f,g,y,b)=>{if(function(e){return e.tagName&&u.includes(e.tagName.toLowerCase())}(s)){s.attributes["stroke-width"]&&(g=s.attributes["stroke-width"].value),s.attributes&&(s.attributes.fill&&(y=s.attributes.fill.value),s.attributes.stroke&&(b=s.attributes.stroke.value));for(let e=0;e<s.childNodes.length;e++)m(s.childNodes[e],r.compose(f,o(s)),g,y,b);s.removeAttribute("transform"),s.removeAttribute("stroke-width"),s.removeAttribute("fill"),s.removeAttribute("stroke")}else if(function(e,t){return!!e.attributes&&(t=e.attributes["stroke-width"]?Number(e.attributes["stroke-width"].value):Number(t))&&e.tagName&&"path"===e.tagName.toLowerCase()&&e.attributes.d&&e.attributes.d.value}(s,g)){if(s.attributes["stroke-width"]&&(g=s.attributes["stroke-width"].value),s.attributes.fill&&(y=s.attributes.fill.value),s.attributes.stroke&&(b=s.attributes.stroke.value),f=r.compose(f,o(s)),r.toString(f)===r.toString(r.identity()))return s.removeAttribute("transform"),s.setAttribute("stroke-width",g),y&&s.setAttribute("fill",y),void(b&&s.setAttribute("stroke",b));const c=p(y,t),u=p(b,t);if(c||u){const r=t.document,o=r.createElement("span");let a;if(n)a=n;else try{r.body.appendChild(o);const e=i.set(r.createElementNS(i.svg,"svg")),t=i.set(r.createElementNS(i.svg,"path"));t.setAttribute("d",s.attributes.d.value),e.appendChild(t),o.appendChild(e),a=e.getBBox()}finally{r.body.removeChild(o)}if(c){const t=h(c,e,a,f);t&&(y=t)}if(u){const t=h(u,e,a,f);t&&(b=t)}}s.setAttribute("d",function(e,t){if(!t||r.toString(t)===r.toString(r.identity()))return e;const n=e&&e.match(/[mlhvcsqtaz][^mlhvcsqtaz]*/gi);let i,s,o,c=!1,u={x:0,y:0},d={x:0,y:0},h="";const p=function(e,t){let n=+i[e];return c&&(n+=u[t]),n},m=function(e){return{x:p(e,"x"),y:p(e+1,"y")}},f=function(e){return Math.round(1e4*e)/1e4},g=function(e){const n=r.applyToPoint(t,e);return`${f(n.x)} ${f(n.y)} `};for(let e=0,r=n&&n.length;e<r;e++){const r=n[e],y=r[0],b=y.toLowerCase();i=r.match(/[+-]?(?:\d*\.\d+|\d+\.?)(?:[eE][+-]?\d+)?/g);const v=i&&i.length;switch(c=y===b,"z"!==s||/[mz]/.test(b)||(h+=`M ${u.x} ${u.y} `),b){case"m":case"l":{let e="m"===b;for(let t=0;t<v;t+=2)h+=e?"M ":"L ",u=m(t),h+=g(u),e&&(d=u,e=!1);o=u;break}case"h":case"v":{const e="h"===b?"x":"y";u={x:u.x,y:u.y};for(let t=0;t<v;t++)u[e]=p(t,e),h+=`L ${g(u)}`;o=u;break}case"c":for(let e=0;e<v;e+=6){const t=m(e);o=m(e+2),u=m(e+4),h+=`C ${g(t)}${g(o)}${g(u)}`}break;case"s":for(let e=0;e<v;e+=4){const t=/[cs]/.test(s)?{x:2*u.x-o.x,y:2*u.y-o.y}:u;o=m(e),u=m(e+2),h+=`C ${g(t)}${g(o)}${g(u)}`,s=b}break;case"q":for(let e=0;e<v;e+=4)o=m(e),u=m(e+2),h+=`Q ${g(o)}${g(u)}`;break;case"t":for(let e=0;e<v;e+=2)o=/[qt]/.test(s)?{x:2*u.x-o.x,y:2*u.y-o.y}:u,u=m(e),h+=`Q ${g(o)}${g(u)}`,s=b;break;case"a":for(let e=0;e<v;e+=7){u=m(e+5);const n=+i[e],r=+i[e+1],s=+i[e+2],o=+i[e+3];let c=+i[e+4];const d=l(n,r,s,t),p=a(t);d?((p.x>0&&p.y<0||p.x<0&&p.y>0)&&(c^=1),h+=`A ${f(Math.abs(d.radiusX))} ${f(Math.abs(d.radiusY))} ${f(d.rotation)} ${o} ${c} ${g(u)}`):h+=`L ${g(u)}`}break;case"z":h+="Z ",u=d}s=b}return h}(s.attributes.d.value,f)),s.removeAttribute("transform");const m=a(f);s.setAttribute("stroke-width",d(m.x,m.y)*g),y&&s.setAttribute("fill",y),b&&s.setAttribute("stroke",b)}else(function(e){return e.tagName&&c.includes(e.tagName.toLowerCase())})(s)&&(g&&!s.attributes["stroke-width"]&&s.setAttribute("stroke-width",g),y&&!s.attributes.fill&&s.setAttribute("fill",y),b&&!s.attributes.stroke&&s.setAttribute("stroke",b),f=r.compose(f,o(s)),r.toString(f)===r.toString(r.identity())?s.removeAttribute("transform"):s.setAttribute("transform",r.toString(f)))};m(e,s,1)}},function(e,t,n){window,e.exports=function(e){var t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)n.d(r,i,function(t){return e[t]}.bind(null,i));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=0)}([function(e,t,n){"use strict";function r(e,t){return Array.isArray(t)?[e.a*t[0]+e.c*t[1]+e.e,e.b*t[0]+e.d*t[1]+e.f]:{x:e.a*t.x+e.c*t.y+e.e,y:e.b*t.x+e.d*t.y+e.f}}function i(e,t){return t.map((function(t){return r(e,t)}))}function s(e){return{a:parseFloat(e.a),b:parseFloat(e.b),c:parseFloat(e.c),d:parseFloat(e.d),e:parseFloat(e.e),f:parseFloat(e.f)}}n.r(t);var o=/^matrix\(\s*([0-9_+-.e]+)\s*,\s*([0-9_+-.e]+)\s*,\s*([0-9_+-.e]+)\s*,\s*([0-9_+-.e]+)\s*,\s*([0-9_+-.e]+)\s*,\s*([0-9_+-.e]+)\s*\)$/i;function a(e){var t=e.match(o);if(null===t||t.length<7)throw new Error("'"+e+"' is not a matrix");return{a:parseFloat(t[1]),b:parseFloat(t[2]),c:parseFloat(t[3]),d:parseFloat(t[4]),e:parseFloat(t[5]),f:parseFloat(t[6])}}function l(){return{a:1,c:0,e:0,b:0,d:1,f:0}}function c(e){var t=e.a,n=e.b,r=e.c,i=e.d,s=e.e,o=e.f,a=t*i-n*r;return{a:i/a,b:n/-a,c:r/-a,d:t/a,e:(i*s-r*o)/-a,f:(n*s-t*o)/a}}var u="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},d=function(e){return"number"==typeof e&&!isNaN(e)&&isFinite(e)},h=function(e){return null!=e&&"object"===(void 0===e?"undefined":u(e))};function p(e){return h(e)&&e.hasOwnProperty("a")&&d(e.a)&&e.hasOwnProperty("b")&&d(e.b)&&e.hasOwnProperty("c")&&d(e.c)&&e.hasOwnProperty("d")&&d(e.d)&&e.hasOwnProperty("e")&&d(e.e)&&e.hasOwnProperty("f")&&d(e.f)}function m(e){return void 0===e}function f(e){return{a:1,c:0,e:e,b:0,d:1,f:arguments.length>1&&void 0!==arguments[1]?arguments[1]:0}}function g(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];var r=function(e,t){return{a:e.a*t.a+e.c*t.b,c:e.a*t.c+e.c*t.d,e:e.a*t.e+e.c*t.f+e.e,b:e.b*t.a+e.d*t.b,d:e.b*t.c+e.d*t.d,f:e.b*t.e+e.d*t.f+e.f}};switch((t=Array.isArray(t[0])?t[0]:t).length){case 0:throw new Error("no matrices provided");case 1:return t[0];case 2:return r(t[0],t[1]);default:var i=function(e){return Array.isArray(e)?e:Array.from(e)}(t),s=i[0],o=i[1],a=i.slice(2),l=r(s,o);return g.apply(void 0,[l].concat(function(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}(a)))}}function y(){return g.apply(void 0,arguments)}var b=Math.cos,v=Math.sin,S=Math.PI;function w(e,t,n){var r=b(e),i=v(e),s={a:r,c:-i,e:0,b:i,d:r,f:0};return m(t)||m(n)?s:g([f(t,n),s,f(-t,-n)])}function k(e){return w(e*S/180,arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0,arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0)}function x(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0;return m(t)&&(t=e),{a:e,c:0,e:0,b:0,d:t,f:0}}function T(e,t){return{a:1,c:e,e:0,b:t,d:1,f:0}}var E=Math.tan;function A(e,t){return{a:1,c:E(e),e:0,b:E(t),d:1,f:0}}function C(e,t){return A(e*Math.PI/180,t*Math.PI/180)}function I(e){return M(e)}function O(e){return M(e)}function M(e){return"matrix("+e.a+","+e.b+","+e.c+","+e.d+","+e.e+","+e.f+")"}n.d(t,"applyToPoint",(function(){return r})),n.d(t,"applyToPoints",(function(){return i})),n.d(t,"fromObject",(function(){return s})),n.d(t,"fromString",(function(){return a})),n.d(t,"identity",(function(){return l})),n.d(t,"inverse",(function(){return c})),n.d(t,"isAffineMatrix",(function(){return p})),n.d(t,"rotate",(function(){return w})),n.d(t,"rotateDEG",(function(){return k})),n.d(t,"scale",(function(){return x})),n.d(t,"shear",(function(){return T})),n.d(t,"skew",(function(){return A})),n.d(t,"skewDEG",(function(){return C})),n.d(t,"toCSS",(function(){return I})),n.d(t,"toSVG",(function(){return O})),n.d(t,"toString",(function(){return M})),n.d(t,"transform",(function(){return g})),n.d(t,"compose",(function(){return y})),n.d(t,"translate",(function(){return f}))}])},function(e,t,n){const r=n(258);r.enable(),e.exports=r("scratch-svg-render")},function(e,t,n){var r=n(259),i=r.enable,s=r.disable,o="undefined"!=typeof navigator&&/chrome/i.test(navigator.userAgent),a=n(262);if(r.defaultBackend=o?a.minilog:a,"undefined"!=typeof window){try{r.enable(JSON.parse(window.localStorage.minilogSettings))}catch(e){}if(window.location&&window.location.search){var l=RegExp("[?&]minilog=([^&]*)").exec(window.location.search);l&&r.enable(decodeURIComponent(l[1]))}}r.enable=function(){i.call(r,!0);try{window.localStorage.minilogSettings=JSON.stringify(!0)}catch(e){}return this},r.disable=function(){s.call(r);try{delete window.localStorage.minilogSettings}catch(e){}return this},(e.exports=r).backends={array:n(265),browser:r.defaultBackend,localStorage:n(266),jQuery:n(267)}},function(e,t,n){var r=n(15),i=n(261),s=new r,o=Array.prototype.slice;t=e.exports=function(e){var n=function(){return s.write(e,void 0,o.call(arguments)),n};return n.debug=function(){return s.write(e,"debug",o.call(arguments)),n},n.info=function(){return s.write(e,"info",o.call(arguments)),n},n.warn=function(){return s.write(e,"warn",o.call(arguments)),n},n.error=function(){return s.write(e,"error",o.call(arguments)),n},n.log=n.debug,n.suggest=t.suggest,n.format=s.format,n},t.defaultBackend=t.defaultFormatter=null,t.pipe=function(e){return s.pipe(e)},t.end=t.unpipe=t.disable=function(e){return s.unpipe(e)},t.Transform=r,t.Filter=i,t.suggest=new i,t.enable=function(){return t.defaultFormatter?s.pipe(t.suggest).pipe(t.defaultFormatter).pipe(t.defaultBackend):s.pipe(t.suggest).pipe(t.defaultBackend)}},function(e,t){function n(){this._events={}}n.prototype={on:function(e,t){this._events||(this._events={});var n=this._events;return(n[e]||(n[e]=[])).push(t),this},removeListener:function(e,t){var n,r=this._events[e]||[];for(n=r.length-1;n>=0&&r[n];n--)r[n]!==t&&r[n].cb!==t||r.splice(n,1)},removeAllListeners:function(e){e?this._events[e]&&(this._events[e]=[]):this._events={}},listeners:function(e){return this._events&&this._events[e]||[]},emit:function(e){this._events||(this._events={});var t,n=Array.prototype.slice.call(arguments,1),r=this._events[e]||[];for(t=r.length-1;t>=0&&r[t];t--)r[t].apply(this,n);return this},when:function(e,t){return this.once(e,t,!0)},once:function(e,t,n){if(!t)return this;function r(){n||this.removeListener(e,r),t.apply(this,arguments)&&n&&this.removeListener(e,r)}return r.cb=t,this.on(e,r),this}},n.mixin=function(e){var t,r=n.prototype;for(t in r)r.hasOwnProperty(t)&&(e.prototype[t]=r[t])},e.exports=n},function(e,t,n){var r=n(15),i={debug:1,info:2,warn:3,error:4};function s(){this.enabled=!0,this.defaultResult=!0,this.clear()}function o(e,t){return e.n.test?e.n.test(t):e.n==t}r.mixin(s),s.prototype.allow=function(e,t){return this._white.push({n:e,l:i[t]}),this},s.prototype.deny=function(e,t){return this._black.push({n:e,l:i[t]}),this},s.prototype.clear=function(){return this._white=[],this._black=[],this},s.prototype.test=function(e,t){var n,r=Math.max(this._white.length,this._black.length);for(n=0;n<r;n++){if(this._white[n]&&o(this._white[n],e)&&i[t]>=this._white[n].l)return!0;if(this._black[n]&&o(this._black[n],e)&&i[t]<=this._black[n].l)return!1}return this.defaultResult},s.prototype.write=function(e,t,n){if(!this.enabled||this.test(e,t))return this.emit("item",e,t,n)},e.exports=s},function(e,t,n){var r=n(15),i=/\n+$/,s=new r;s.write=function(e,t,n){var r=n.length-1;if("undefined"!=typeof console&&console.log){if(console.log.apply)return console.log.apply(console,[e,t].concat(n));if(JSON&&JSON.stringify){n[r]&&"string"==typeof n[r]&&(n[r]=n[r].replace(i,""));try{for(r=0;r<n.length;r++)n[r]=JSON.stringify(n[r])}catch(e){}console.log(n.join(" "))}}},s.formatters=["color","minilog"],s.color=n(263),s.minilog=n(264),e.exports=s},function(e,t,n){var r=n(15),i=n(89),s={debug:["cyan"],info:["purple"],warn:["yellow",!0],error:["red",!0]},o=new r;o.write=function(e,t,n){console.log;console[t]&&console[t].apply&&console[t].apply(console,["%c"+e+" %c"+t,i("gray"),i.apply(i,s[t])].concat(n))},o.pipe=function(){},e.exports=o},function(e,t,n){var r=n(15),i=n(89),s={debug:["gray"],info:["purple"],warn:["yellow",!0],error:["red",!0]},o=new r;o.write=function(e,t,n){var r=console.log;"debug"!=t&&console[t]&&(r=console[t]);var o=0;if("info"!=t){for(;o<n.length&&"string"==typeof n[o];o++);r.apply(console,["%c"+e+" "+n.slice(0,o).join(" "),i.apply(i,s[t])].concat(n.slice(o)))}else r.apply(console,["%c"+e,i.apply(i,s[t])].concat(n))},o.pipe=function(){},e.exports=o},function(e,t,n){var r=n(15),i=[],s=new r;s.write=function(e,t,n){i.push([e,t,n])},s.get=function(){return i},s.empty=function(){i=[]},e.exports=s},function(e,t,n){var r=n(15),i=!1,s=new r;s.write=function(e,t,n){if("undefined"!=typeof window&&"undefined"!=typeof JSON&&JSON.stringify&&JSON.parse)try{i||(i=window.localStorage.minilog?JSON.parse(window.localStorage.minilog):[]),i.push([(new Date).toString(),e,t,n]),window.localStorage.minilog=JSON.stringify(i)}catch(e){}},e.exports=s},function(e,t,n){var r=n(15),i=(new Date).valueOf().toString(36);function s(e){this.url=e.url||"",this.cache=[],this.timer=null,this.interval=e.interval||3e4,this.enabled=!0,this.jQuery=window.jQuery,this.extras={}}r.mixin(s),s.prototype.write=function(e,t,n){this.timer||this.init(),this.cache.push([e,t].concat(n))},s.prototype.init=function(){if(this.enabled&&this.jQuery){var e=this;this.timer=setTimeout((function(){var t,n,r=[],s=e.url;if(0==e.cache.length)return e.init();for(t=0;t<e.cache.length;t++)try{JSON.stringify(e.cache[t]),r.push(e.cache[t])}catch(e){}e.jQuery.isEmptyObject(e.extras)?(n=JSON.stringify({logs:r}),s=e.url+"?client_id="+i):n=JSON.stringify(e.jQuery.extend({logs:r},e.extras)),e.jQuery.ajax(s,{type:"POST",cache:!1,processData:!1,data:n,contentType:"application/json",timeout:1e4}).success((function(t,n,r){t.interval&&(e.interval=Math.max(1e3,t.interval))})).error((function(){e.interval=3e4})).always((function(){e.init()})),e.cache=[]}),this.interval)}},s.prototype.end=function(){},s.jQueryWait=function(e){if("undefined"!=typeof window&&(window.jQuery||window.$))return e(window.jQuery||window.$);"undefined"!=typeof window&&setTimeout((function(){s.jQueryWait(e)}),200)},e.exports=s},function(e,t,n){let r;e.exports=function(){if(r)return r;r={"Sans Serif":n(269),Serif:n(270),Handwriting:n(271),Marker:n(272),Curly:n(273),Pixel:n(274),Scratch:n(275)};for(const e in r){const t=r[e];r[e]="@font-face {"+'font-family: "'.concat(e,'";src: url("data:font/woff2;base64,').concat(t,'");}')}if(!document.getElementById("scratch-font-styles")){let e="";for(const t in r)e+=r[t];const t=document.createElement("style");t.id="scratch-font-styles",t.textContent=e,document.body.insertBefore(t,document.body.firstChild)}return r}},function(e,t){e.exports="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"},function(e,t){e.exports="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"},function(e,t){e.exports="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"},function(e,t){e.exports="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"},function(e,t){e.exports="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"},function(e,t){e.exports="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"},function(e,t){e.exports="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"},function(e,t,n){const r=n(277);e.exports=class{constructor(e,t){this._makeImage=e||(()=>new Image),this._makeCanvas=t||(()=>document.createElement("canvas")),this.stageWidth=480,this.stageHeight=360}setStageSize(e,t){this.stageWidth=e,this.stageHeight=t}resize(e,t,n){const r=this._makeCanvas();r.width=t,r.height=e.height;let i=r.getContext("2d");i.imageSmoothingEnabled=!1,i.drawImage(e,0,0,r.width,r.height);const s=this._makeCanvas();return s.width=t,s.height=n,i=s.getContext("2d"),i.imageSmoothingEnabled=!1,i.drawImage(r,0,0,s.width,s.height),s}convertResolution1Bitmap(e,t){const n=this._makeImage();n.src=e,n.onload=()=>{t(null,this.resize(n,2*n.width,2*n.height).toDataURL())},n.onerror=()=>{t("Image load failed")}}getResizedWidthHeight(e,t){const n=this.stageWidth,r=this.stageHeight;if(e<=n&&t<=r)return{width:2*e,height:2*t};if(e<=2*n&&t<=2*r)return{width:e,height:t};const i=e/t;return i>=n/r?{width:2*n,height:2*n/i}:{width:2*r*i,height:2*r}}importBitmap(e,t){let n=e;return e instanceof ArrayBuffer&&(n=this.convertBinaryToDataURI(e,t)),new Promise(((e,t)=>{const r=this._makeImage();r.src=n,r.onload=()=>{const t=this.getResizedWidthHeight(r.width,r.height);if(t.width===r.width&&t.height===r.height)e(this.convertDataURIToBinary(n));else{const n=this.resize(r,t.width,t.height).toDataURL();e(this.convertDataURIToBinary(n))}},r.onerror=()=>{t("Image load failed")}}))}convertDataURIToBinary(e){const t=";base64,",n=e.indexOf(t)+8,r=e.substring(n),i=window.atob(r),s=i.length,o=new Uint8Array(new ArrayBuffer(s));for(let e=0;e<s;e++)o[e]=i.charCodeAt(e);return o}convertBinaryToDataURI(e,t){return`data:${t};base64,${r.fromByteArray(new Uint8Array(e))}`}}},function(e,t,n){"use strict";t.byteLength=function(e){return 3*e.length/4-l(e)},t.toByteArray=function(e){var t,n,r,o,a,c=e.length;o=l(e),a=new s(3*c/4-o),n=o>0?c-4:c;var u=0;for(t=0;t<n;t+=4)r=i[e.charCodeAt(t)]<<18|i[e.charCodeAt(t+1)]<<12|i[e.charCodeAt(t+2)]<<6|i[e.charCodeAt(t+3)],a[u++]=r>>16&255,a[u++]=r>>8&255,a[u++]=255&r;2===o?(r=i[e.charCodeAt(t)]<<2|i[e.charCodeAt(t+1)]>>4,a[u++]=255&r):1===o&&(r=i[e.charCodeAt(t)]<<10|i[e.charCodeAt(t+1)]<<4|i[e.charCodeAt(t+2)]>>2,a[u++]=r>>8&255,a[u++]=255&r);return a},t.fromByteArray=function(e){for(var t,n=e.length,i=n%3,s="",o=[],a=16383,l=0,u=n-i;l<u;l+=a)o.push(c(e,l,l+a>u?u:l+a));1===i?(t=e[n-1],s+=r[t>>2],s+=r[t<<4&63],s+="=="):2===i&&(t=(e[n-2]<<8)+e[n-1],s+=r[t>>10],s+=r[t>>4&63],s+=r[t<<2&63],s+="=");return o.push(s),o.join("")};for(var r=[],i=[],s="undefined"!=typeof Uint8Array?Uint8Array:Array,o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",a=0;a<64;++a)r[a]=o[a],i[o.charCodeAt(a)]=a;function l(e){var t=e.length;if(t%4>0)throw new Error("Invalid string. Length must be a multiple of 4");return"="===e[t-2]?2:"="===e[t-1]?1:0}function c(e,t,n){for(var i,s,o=[],a=t;a<n;a+=3)i=(e[a]<<16)+(e[a+1]<<8)+e[a+2],o.push(r[(s=i)>>18&63]+r[s>>12&63]+r[s>>6&63]+r[63&s]);return o.join("")}i["-".charCodeAt(0)]=62,i["_".charCodeAt(0)]=63},function(e,t,n){const r=n(88),{generate:i,parse:s,walk:o}=n(279),a=n(86),l={};let c,u;if(a.isSupported&&(a.addHook("beforeSanitizeAttributes",(e=>{if(e&&e.href&&e.href.baseVal){const t=e.href.baseVal.replace(/\s/g,"");"data:"!==t.slice(0,5)&&"#"!==t.slice(0,1)&&(e.attributes.getNamedItem("xlink:href")&&(e.attributes.removeNamedItem("xlink:href"),delete e["xlink:href"]),e.attributes.getNamedItem("href")&&(e.attributes.removeNamedItem("href"),delete e.href))}return e})),a.addHook("uponSanitizeElement",((e,t)=>{if("style"===t.tagName){const t=s(e.textContent);let n=!1;o(t,((e,t,r)=>{"Atrule"===e.type&&"import"===e.name&&(r.remove(t),n=!0)})),n&&(e.textContent=i(t))}}))),"undefined"==typeof TextDecoder||"undefined"==typeof TextEncoder){const e=n(63);c=e.TextDecoder,u=e.TextEncoder}else c=TextDecoder,u=TextEncoder;l.sanitizeByteStream=function(e){const t=new c,n=new u,r=l.sanitizeSvgText(t.decode(e));return n.encode(r)};const d=`<!${"-".repeat(2)}`,h=`${"-".repeat(2)}>`,p=new RegExp(`${d}rotationCenter:(-?[\\d\\.]+):(-?[\\d\\.]+)${h}$`);l.sanitizeSvgText=function(e){let t=a.sanitize(e,{USE_PROFILES:{svg:!0}});t.indexOf("]>")>=0&&(t=t.substring(5,t.length)),t=r(t);const n=e.match(p);return n&&(t+=n[0]),t},e.exports=l},function(e,t,n){e.exports=n(280)},function(e,t,n){e.exports=n(281).create(function(){for(var e={},t=0;t<arguments.length;t++){var n=arguments[t];for(var r in n)e[r]=n[r]}return e}(n(307),n(352),n(376))),e.exports.version=n(377).version},function(e,t,n){var r=n(21),i=n(92),s=n(36),o=n(282),a=n(292),l=n(0),c=n(293),u=n(296),d=n(303),h=n(304),p=n(305),m=n(56),f=n(306);function g(e){var t=c(e),n=h(e),y=u(e),b=d(n),v={List:r,SyntaxError:i,TokenStream:s,Lexer:o,vendorPrefix:m.vendorPrefix,keyword:m.keyword,property:m.property,isCustomProperty:m.isCustomProperty,definitionSyntax:a,lexer:null,createLexer:function(e){return new o(e,v,v.lexer.structure)},tokenize:l,parse:t,walk:n,generate:y,find:n.find,findLast:n.findLast,findAll:n.findAll,clone:p,fromPlainObject:b.fromPlainObject,toPlainObject:b.toPlainObject,createSyntax:function(e){return g(f({},e))},fork:function(t){var n=f({},e);return g("function"==typeof t?t(n,Object.assign):f(n,t))}};return v.lexer=new o({generic:!0,types:e.types,atrules:e.atrules,properties:e.properties,node:e.node},v),v}t.create=function(e){return g(f({},e))}},function(e,t,n){var r=n(94).SyntaxReferenceError,i=n(94).SyntaxMatchError,s=n(56),o=n(283),a=n(57),l=n(55),c=n(97),u=n(287),d=n(98).buildMatchGraph,h=n(288).matchAsTree,p=n(289),m=n(290),f=n(291).getStructureFromConfig,g=d("inherit | initial | unset"),y=d("inherit | initial | unset | <-ms-legacy-expression>");function b(e,t,n){var r={};for(var i in e)e[i].syntax&&(r[i]=n?e[i].syntax:l(e[i].syntax,{compact:t}));return r}function v(e,t,n){const r={};for(const[i,s]of Object.entries(e))r[i]={prelude:s.prelude&&(n?s.prelude.syntax:l(s.prelude.syntax,{compact:t})),descriptors:s.descriptors&&b(s.descriptors,t,n)};return r}function S(e,t,n){return{matched:e,iterations:n,error:t,getTrace:p.getTrace,isType:p.isType,isProperty:p.isProperty,isKeyword:p.isKeyword}}function w(e,t,n,r){var s,o=u(n,e.syntax);return function(e){for(var t=0;t<e.length;t++)if("var("===e[t].value.toLowerCase())return!0;return!1}(o)?S(null,new Error("Matching for a tree with var() is not supported")):(r&&(s=h(o,e.valueCommonSyntax,e)),r&&s.match||(s=h(o,t.match,e)).match?S(s.match,null,s.iterations):S(null,new i(s.reason,t.syntax,n,s),s.iterations))}var k=function(e,t,n){if(this.valueCommonSyntax=g,this.syntax=t,this.generic=!1,this.atrules={},this.properties={},this.types={},this.structure=n||f(e),e){if(e.types)for(var r in e.types)this.addType_(r,e.types[r]);if(e.generic)for(var r in this.generic=!0,o)this.addType_(r,o[r]);if(e.atrules)for(var r in e.atrules)this.addAtrule_(r,e.atrules[r]);if(e.properties)for(var r in e.properties)this.addProperty_(r,e.properties[r])}};k.prototype={structure:{},checkStructure:function(e){function t(e,t){r.push({node:e,message:t})}var n=this.structure,r=[];return this.syntax.walk(e,(function(e){n.hasOwnProperty(e.type)?n[e.type].check(e,t):t(e,"Unknown node type `"+e.type+"`")})),!!r.length&&r},createDescriptor:function(e,t,n,r=null){var i={type:t,name:n},s={type:t,name:n,parent:r,syntax:null,match:null};return"function"==typeof e?s.match=d(e,i):("string"==typeof e?Object.defineProperty(s,"syntax",{get:function(){return Object.defineProperty(s,"syntax",{value:a(e)}),s.syntax}}):s.syntax=e,Object.defineProperty(s,"match",{get:function(){return Object.defineProperty(s,"match",{value:d(s.syntax,i)}),s.match}})),s},addAtrule_:function(e,t){t&&(this.atrules[e]={type:"Atrule",name:e,prelude:t.prelude?this.createDescriptor(t.prelude,"AtrulePrelude",e):null,descriptors:t.descriptors?Object.keys(t.descriptors).reduce(((n,r)=>(n[r]=this.createDescriptor(t.descriptors[r],"AtruleDescriptor",r,e),n)),{}):null})},addProperty_:function(e,t){t&&(this.properties[e]=this.createDescriptor(t,"Property",e))},addType_:function(e,t){t&&(this.types[e]=this.createDescriptor(t,"Type",e),t===o["-ms-legacy-expression"]&&(this.valueCommonSyntax=y))},checkAtruleName:function(e){if(!this.getAtrule(e))return new r("Unknown at-rule","@"+e)},checkAtrulePrelude:function(e,t){let n=this.checkAtruleName(e);if(n)return n;var r=this.getAtrule(e);return!r.prelude&&t?new SyntaxError("At-rule `@"+e+"` should not contain a prelude"):r.prelude&&!t?new SyntaxError("At-rule `@"+e+"` should contain a prelude"):void 0},checkAtruleDescriptorName:function(e,t){let n=this.checkAtruleName(e);if(n)return n;var i=this.getAtrule(e),o=s.keyword(t);return i.descriptors?i.descriptors[o.name]||i.descriptors[o.basename]?void 0:new r("Unknown at-rule descriptor",t):new SyntaxError("At-rule `@"+e+"` has no known descriptors")},checkPropertyName:function(e){return s.property(e).custom?new Error("Lexer matching doesn't applicable for custom properties"):this.getProperty(e)?void 0:new r("Unknown property",e)},matchAtrulePrelude:function(e,t){var n=this.checkAtrulePrelude(e,t);return n?S(null,n):t?w(this,this.getAtrule(e).prelude,t,!1):S(null,null)},matchAtruleDescriptor:function(e,t,n){var r=this.checkAtruleDescriptorName(e,t);if(r)return S(null,r);var i=this.getAtrule(e),o=s.keyword(t);return w(this,i.descriptors[o.name]||i.descriptors[o.basename],n,!1)},matchDeclaration:function(e){return"Declaration"!==e.type?S(null,new Error("Not a Declaration node")):this.matchProperty(e.property,e.value)},matchProperty:function(e,t){var n=this.checkPropertyName(e);return n?S(null,n):w(this,this.getProperty(e),t,!0)},matchType:function(e,t){var n=this.getType(e);return n?w(this,n,t,!1):S(null,new r("Unknown type",e))},match:function(e,t){return"string"==typeof e||e&&e.type?("string"!=typeof e&&e.match||(e=this.createDescriptor(e,"Type","anonymous")),w(this,e,t,!1)):S(null,new r("Bad syntax"))},findValueFragments:function(e,t,n,r){return m.matchFragments(this,t,this.matchProperty(e,t),n,r)},findDeclarationValueFragments:function(e,t,n){return m.matchFragments(this,e.value,this.matchDeclaration(e),t,n)},findAllFragments:function(e,t,n){var r=[];return this.syntax.walk(e,{visit:"Declaration",enter:function(e){r.push.apply(r,this.findDeclarationValueFragments(e,t,n))}.bind(this)}),r},getAtrule:function(e,t=!0){var n=s.keyword(e);return(n.vendor&&t?this.atrules[n.name]||this.atrules[n.basename]:this.atrules[n.name])||null},getAtrulePrelude:function(e,t=!0){const n=this.getAtrule(e,t);return n&&n.prelude||null},getAtruleDescriptor:function(e,t){return this.atrules.hasOwnProperty(e)&&this.atrules.declarators&&this.atrules[e].declarators[t]||null},getProperty:function(e,t=!0){var n=s.property(e);return(n.vendor&&t?this.properties[n.name]||this.properties[n.basename]:this.properties[n.name])||null},getType:function(e){return this.types.hasOwnProperty(e)?this.types[e]:null},validate:function(){function e(r,i,s,o){if(s.hasOwnProperty(i))return s[i];s[i]=!1,null!==o.syntax&&c(o.syntax,(function(o){if("Type"===o.type||"Property"===o.type){var a="Type"===o.type?r.types:r.properties,l="Type"===o.type?t:n;a.hasOwnProperty(o.name)&&!e(r,o.name,l,a[o.name])||(s[i]=!0)}}),this)}var t={},n={};for(var r in this.types)e(this,r,t,this.types[r]);for(var r in this.properties)e(this,r,n,this.properties[r]);return t=Object.keys(t).filter((function(e){return t[e]})),n=Object.keys(n).filter((function(e){return n[e]})),t.length||n.length?{types:t,properties:n}:null},dump:function(e,t){return{generic:this.generic,types:b(this.types,!t,e),properties:b(this.properties,!t,e),atrules:v(this.atrules,!t,e)}},toString:function(){return JSON.stringify(this.dump())}},e.exports=k},function(e,t,n){var r,i=n(0),s=i.isIdentifierStart,o=i.isHexDigit,a=i.isDigit,l=i.cmpStr,c=i.consumeNumber,u=i.TYPE,d=n(284),h=n(285),p=["unset","initial","inherit"],m=["calc(","-moz-calc(","-webkit-calc("];function f(e,t){return t<e.length?e.charCodeAt(t):0}function g(e,t){return l(e,0,e.length,t)}function y(e,t){for(var n=0;n<t.length;n++)if(g(e,t[n]))return!0;return!1}function b(e,t){return t===e.length-2&&(92===e.charCodeAt(t)&&a(e.charCodeAt(t+1)))}function v(e,t,n){if(e&&"Range"===e.type){var r=Number(void 0!==n&&n!==t.length?t.substr(0,n):t);if(isNaN(r))return!0;if(null!==e.min&&r<e.min)return!0;if(null!==e.max&&r>e.max)return!0}return!1}function S(e,t){var n=e.index,r=0;do{if(r++,e.balance<=n)break}while(e=t(r));return r}function w(e){return function(t,n,r){return null===t?0:t.type===u.Function&&y(t.value,m)?S(t,n):e(t,n,r)}}function k(e){return function(t){return null===t||t.type!==e?0:1}}function x(e){return function(t,n,r){if(null===t||t.type!==u.Dimension)return 0;var i=c(t.value,0);if(null!==e){var s=t.value.indexOf("\\",i),o=-1!==s&&b(t.value,s)?t.value.substring(i,s):t.value.substr(i);if(!1===e.hasOwnProperty(o.toLowerCase()))return 0}return v(r,t.value,i)?0:1}}function T(e){return"function"!=typeof e&&(e=function(){return 0}),function(t,n,r){return null!==t&&t.type===u.Number&&0===Number(t.value)?1:e(t,n,r)}}e.exports={"ident-token":k(u.Ident),"function-token":k(u.Function),"at-keyword-token":k(u.AtKeyword),"hash-token":k(u.Hash),"string-token":k(u.String),"bad-string-token":k(u.BadString),"url-token":k(u.Url),"bad-url-token":k(u.BadUrl),"delim-token":k(u.Delim),"number-token":k(u.Number),"percentage-token":k(u.Percentage),"dimension-token":k(u.Dimension),"whitespace-token":k(u.WhiteSpace),"CDO-token":k(u.CDO),"CDC-token":k(u.CDC),"colon-token":k(u.Colon),"semicolon-token":k(u.Semicolon),"comma-token":k(u.Comma),"[-token":k(u.LeftSquareBracket),"]-token":k(u.RightSquareBracket),"(-token":k(u.LeftParenthesis),")-token":k(u.RightParenthesis),"{-token":k(u.LeftCurlyBracket),"}-token":k(u.RightCurlyBracket),string:k(u.String),ident:k(u.Ident),"custom-ident":function(e){if(null===e||e.type!==u.Ident)return 0;var t=e.value.toLowerCase();return y(t,p)||g(t,"default")?0:1},"custom-property-name":function(e){return null===e||e.type!==u.Ident||45!==f(e.value,0)||45!==f(e.value,1)?0:1},"hex-color":function(e){if(null===e||e.type!==u.Hash)return 0;var t=e.value.length;if(4!==t&&5!==t&&7!==t&&9!==t)return 0;for(var n=1;n<t;n++)if(!o(e.value.charCodeAt(n)))return 0;return 1},"id-selector":function(e){return null===e||e.type!==u.Hash?0:s(f(e.value,1),f(e.value,2),f(e.value,3))?1:0},"an-plus-b":d,urange:h,"declaration-value":function(e,t){if(!e)return 0;var n=0,r=0,i=e.index;e:do{switch(e.type){case u.BadString:case u.BadUrl:break e;case u.RightCurlyBracket:case u.RightParenthesis:case u.RightSquareBracket:if(e.balance>e.index||e.balance<i)break e;r--;break;case u.Semicolon:if(0===r)break e;break;case u.Delim:if("!"===e.value&&0===r)break e;break;case u.Function:case u.LeftParenthesis:case u.LeftSquareBracket:case u.LeftCurlyBracket:r++}if(n++,e.balance<=i)break}while(e=t(n));return n},"any-value":function(e,t){if(!e)return 0;var n=e.index,r=0;e:do{switch(e.type){case u.BadString:case u.BadUrl:break e;case u.RightCurlyBracket:case u.RightParenthesis:case u.RightSquareBracket:if(e.balance>e.index||e.balance<n)break e}if(r++,e.balance<=n)break}while(e=t(r));return r},dimension:w(x(null)),angle:w(x({deg:!0,grad:!0,rad:!0,turn:!0})),decibel:w(x({db:!0})),frequency:w(x({hz:!0,khz:!0})),flex:w(x({fr:!0})),length:w(T(x({px:!0,mm:!0,cm:!0,in:!0,pt:!0,pc:!0,q:!0,em:!0,ex:!0,ch:!0,rem:!0,vh:!0,vw:!0,vmin:!0,vmax:!0,vm:!0}))),resolution:w(x({dpi:!0,dpcm:!0,dppx:!0,x:!0})),semitones:w(x({st:!0})),time:w(x({s:!0,ms:!0})),percentage:w((function(e,t,n){return null===e||e.type!==u.Percentage||v(n,e.value,e.value.length-1)?0:1})),zero:T(),number:w((function(e,t,n){if(null===e)return 0;var r=c(e.value,0);return r===e.value.length||b(e.value,r)?v(n,e.value,r)?0:1:0})),integer:w((function(e,t,n){if(null===e||e.type!==u.Number)return 0;for(var r=43===e.value.charCodeAt(0)||45===e.value.charCodeAt(0)?1:0;r<e.value.length;r++)if(!a(e.value.charCodeAt(r)))return 0;return v(n,e.value,r)?0:1})),"-ms-legacy-expression":(r="expression",r+="(",function(e,t){return null!==e&&g(e.value,r)?S(e,t):0})}},function(e,t,n){var r=n(0).isDigit,i=n(0).cmpChar,s=n(0).TYPE,o=s.Delim,a=s.WhiteSpace,l=s.Comment,c=s.Ident,u=s.Number,d=s.Dimension,h=43,p=45,m=!0;function f(e,t){return null!==e&&e.type===o&&e.value.charCodeAt(0)===t}function g(e,t,n){for(;null!==e&&(e.type===a||e.type===l);)e=n(++t);return t}function y(e,t,n,i){if(!e)return 0;var s=e.value.charCodeAt(t);if(s===h||s===p){if(n)return 0;t++}for(;t<e.value.length;t++)if(!r(e.value.charCodeAt(t)))return 0;return i+1}function b(e,t,n){var r=!1,i=g(e,t,n);if(null===(e=n(i)))return t;if(e.type!==u){if(!f(e,h)&&!f(e,p))return t;if(r=!0,i=g(n(++i),i,n),null===(e=n(i))&&e.type!==u)return 0}if(!r){var s=e.value.charCodeAt(0);if(s!==h&&s!==p)return 0}return y(e,r?0:1,r,i)}e.exports=function(e,t){var n=0;if(!e)return 0;if(e.type===u)return y(e,0,false,n);if(e.type===c&&e.value.charCodeAt(0)===p){if(!i(e.value,1,110))return 0;switch(e.value.length){case 2:return b(t(++n),n,t);case 3:return e.value.charCodeAt(2)!==p?0:(n=g(t(++n),n,t),y(e=t(n),0,m,n));default:return e.value.charCodeAt(2)!==p?0:y(e,3,m,n)}}else if(e.type===c||f(e,h)&&t(n+1).type===c){if(e.type!==c&&(e=t(++n)),null===e||!i(e.value,0,110))return 0;switch(e.value.length){case 1:return b(t(++n),n,t);case 2:return e.value.charCodeAt(1)!==p?0:(n=g(t(++n),n,t),y(e=t(n),0,m,n));default:return e.value.charCodeAt(1)!==p?0:y(e,2,m,n)}}else if(e.type===d){for(var s=e.value.charCodeAt(0),o=s===h||s===p?1:0,a=o;a<e.value.length&&r(e.value.charCodeAt(a));a++);return a===o?0:i(e.value,a,110)?a+1===e.value.length?b(t(++n),n,t):e.value.charCodeAt(a+1)!==p?0:a+2===e.value.length?(n=g(t(++n),n,t),y(e=t(n),0,m,n)):y(e,a+2,m,n):0}return 0}},function(e,t,n){var r=n(0).isHexDigit,i=n(0).cmpChar,s=n(0).TYPE,o=s.Ident,a=s.Delim,l=s.Number,c=s.Dimension;function u(e,t){return null!==e&&e.type===a&&e.value.charCodeAt(0)===t}function d(e,t){return e.value.charCodeAt(0)===t}function h(e,t,n){for(var i=t,s=0;i<e.value.length;i++){var o=e.value.charCodeAt(i);if(45===o&&n&&0!==s)return h(e,t+s+1,!1)>0?6:0;if(!r(o))return 0;if(++s>6)return 0}return s}function p(e,t,n){if(!e)return 0;for(;u(n(t),63);){if(++e>6)return 0;t++}return t}e.exports=function(e,t){var n=0;if(null===e||e.type!==o||!i(e.value,0,117))return 0;if(null===(e=t(++n)))return 0;if(u(e,43))return null===(e=t(++n))?0:e.type===o?p(h(e,0,!0),++n,t):u(e,63)?p(1,++n,t):0;if(e.type===l){if(!d(e,43))return 0;var r=h(e,1,!0);return 0===r?0:null===(e=t(++n))?n:e.type===c||e.type===l?d(e,45)&&h(e,1,!1)?n+1:0:p(r,n,t)}return e.type===c&&d(e,43)?p(h(e,1,!0),++n,t):0}},function(e,t,n){var r=n(96),i=function(e){this.str=e,this.pos=0};i.prototype={charCodeAt:function(e){return e<this.str.length?this.str.charCodeAt(e):0},charCode:function(){return this.charCodeAt(this.pos)},nextCharCode:function(){return this.charCodeAt(this.pos+1)},nextNonWsCode:function(e){return this.charCodeAt(this.findWsEnd(e))},findWsEnd:function(e){for(;e<this.str.length;e++){var t=this.str.charCodeAt(e);if(13!==t&&10!==t&&12!==t&&32!==t&&9!==t)break}return e},substringToPos:function(e){return this.str.substring(this.pos,this.pos=e)},eat:function(e){this.charCode()!==e&&this.error("Expect `"+String.fromCharCode(e)+"`"),this.pos++},peek:function(){return this.pos<this.str.length?this.str.charAt(this.pos++):""},error:function(e){throw new r(e,this.str,this.pos)}},e.exports=i},function(e,t,n){var r=n(0),i=new(n(36)),s={decorator:function(e){var t=null,n={len:0,node:null},r=[n],i="";return{children:e.children,node:function(n){var r=t;t=n,e.node.call(this,n),t=r},chunk:function(e){i+=e,n.node!==t?r.push({len:e.length,node:t}):n.len+=e.length},result:function(){return o(i,r)}}}};function o(e,t){var n=[],s=0,o=0,a=t?t[o].node:null;for(r(e,i);!i.eof;){if(t)for(;o<t.length&&s+t[o].len<=i.tokenStart;)s+=t[o++].len,a=t[o].node;n.push({type:i.tokenType,value:i.getTokenValue(),index:i.tokenIndex,balance:i.balance[i.tokenIndex],node:a}),i.next()}return n}e.exports=function(e,t){return"string"==typeof e?o(e,null):t.generate(e,s)}},function(e,t,n){var r=Object.prototype.hasOwnProperty,i=n(98),s=i.MATCH,o=i.MISMATCH,a=i.DISALLOW_EMPTY,l=n(37).TYPE,c=0,u=1,d=2,h=3,p="Match",m="Mismatch",f="Maximum iteration number exceeded (please fill an issue on https://github.com/csstree/csstree/issues)",g=15e3,y=0;function b(e){for(var t=null,n=null,r=e;null!==r;)n=r.prev,r.prev=t,t=r,r=n;return t}function v(e,t){if(e.length!==t.length)return!1;for(var n=0;n<e.length;n++){var r=e.charCodeAt(n);if(r>=65&&r<=90&&(r|=32),r!==t.charCodeAt(n))return!1}return!0}function S(e){return null===e||(e.type===l.Comma||e.type===l.Function||e.type===l.LeftParenthesis||e.type===l.LeftSquareBracket||e.type===l.LeftCurlyBracket||function(e){return e.type===l.Delim&&"?"!==e.value}(e))}function w(e){return null===e||(e.type===l.RightParenthesis||e.type===l.RightSquareBracket||e.type===l.RightCurlyBracket||e.type===l.Delim)}function k(e,t,n){function i(){do{P++,D=P<e.length?e[P]:null}while(null!==D&&(D.type===l.WhiteSpace||D.type===l.Comment))}function b(t){var n=P+t;return n<e.length?e[n]:null}function k(e,t){return{nextState:e,matchStack:B,syntaxStack:C,thenStack:I,tokenIndex:P,prev:t}}function x(e){I={nextState:e,matchStack:B,syntaxStack:C,prev:I}}function T(e){O=k(e,O)}function E(){B={type:u,syntax:t.syntax,token:D,prev:B},i(),M=null,P>L&&(L=P)}function A(){B=B.type===d?B.prev:{type:h,syntax:C.syntax,token:B.token,prev:B},C=C.prev}var C=null,I=null,O=null,M=null,N=0,R=null,D=null,P=-1,L=0,B={type:c,syntax:null,token:null,prev:null};for(i();null===R&&++N<g;)switch(t.type){case"Match":if(null===I){if(null!==D&&(P!==e.length-1||"\\0"!==D.value&&"\\9"!==D.value)){t=o;break}R=p;break}if((t=I.nextState)===a){if(I.matchStack===B){t=o;break}t=s}for(;I.syntaxStack!==C;)A();I=I.prev;break;case"Mismatch":if(null!==M&&!1!==M)(null===O||P>O.tokenIndex)&&(O=M,M=!1);else if(null===O){R=m;break}t=O.nextState,I=O.thenStack,C=O.syntaxStack,B=O.matchStack,P=O.tokenIndex,D=P<e.length?e[P]:null,O=O.prev;break;case"MatchGraph":t=t.match;break;case"If":t.else!==o&&T(t.else),t.then!==s&&x(t.then),t=t.match;break;case"MatchOnce":t={type:"MatchOnceBuffer",syntax:t,index:0,mask:0};break;case"MatchOnceBuffer":var z=t.syntax.terms;if(t.index===z.length){if(0===t.mask||t.syntax.all){t=o;break}t=s;break}if(t.mask===(1<<z.length)-1){t=s;break}for(;t.index<z.length;t.index++){var U=1<<t.index;if(!(t.mask&U)){T(t),x({type:"AddMatchOnce",syntax:t.syntax,mask:t.mask|U}),t=z[t.index++];break}}break;case"AddMatchOnce":t={type:"MatchOnceBuffer",syntax:t.syntax,index:0,mask:t.mask};break;case"Enum":if(null!==D)if(-1!==(G=D.value.toLowerCase()).indexOf("\\")&&(G=G.replace(/\\[09].*$/,"")),r.call(t.map,G)){t=t.map[G];break}t=o;break;case"Generic":var j=null!==C?C.opts:null,F=P+Math.floor(t.fn(D,b,j));if(!isNaN(F)&&F>P){for(;P<F;)E();t=s}else t=o;break;case"Type":case"Property":var W="Type"===t.type?"types":"properties",V=r.call(n,W)?n[W][t.name]:null;if(!V||!V.match)throw new Error("Bad syntax reference: "+("Type"===t.type?"<"+t.name+">":"<'"+t.name+"'>"));if(!1!==M&&null!==D&&"Type"===t.type)if("custom-ident"===t.name&&D.type===l.Ident||"length"===t.name&&"0"===D.value){null===M&&(M=k(t,O)),t=o;break}C={syntax:t.syntax,opts:t.syntax.opts||null!==C&&C.opts||null,prev:C},B={type:d,syntax:t.syntax,token:B.token,prev:B},t=V.match;break;case"Keyword":var G=t.name;if(null!==D){var q=D.value;if(-1!==q.indexOf("\\")&&(q=q.replace(/\\[09].*$/,"")),v(q,G)){E(),t=s;break}}t=o;break;case"AtKeyword":case"Function":if(null!==D&&v(D.value,t.name)){E(),t=s;break}t=o;break;case"Token":if(null!==D&&D.value===t.value){E(),t=s;break}t=o;break;case"Comma":null!==D&&D.type===l.Comma?S(B.token)?t=o:(E(),t=w(D)?o:s):t=S(B.token)||w(D)?s:o;break;case"String":var Y="";for(F=P;F<e.length&&Y.length<t.value.length;F++)Y+=e[F].value;if(v(Y,t.value)){for(;P<F;)E();t=s}else t=o;break;default:throw new Error("Unknown node type: "+t.type)}switch(y+=N,R){case null:console.warn("[csstree-match] BREAK after "+g+" iterations"),R=f,B=null;break;case p:for(;null!==C;)A();break;default:B=null}return{tokens:e,reason:R,iterations:N,match:B,longestMatch:L}}e.exports={matchAsList:function(e,t,n){var r=k(e,t,n||{});if(null!==r.match){var i=b(r.match).prev;for(r.match=[];null!==i;){switch(i.type){case c:break;case d:case h:r.match.push({type:i.type,syntax:i.syntax});break;default:r.match.push({token:i.token.value,node:i.token.node})}i=i.prev}}return r},matchAsTree:function(e,t,n){var r=k(e,t,n||{});if(null===r.match)return r;var i=r.match,s=r.match={syntax:t.syntax||null,match:[]},o=[s];for(i=b(i).prev;null!==i;){switch(i.type){case d:s.match.push(s={syntax:i.syntax,match:[]}),o.push(s);break;case h:o.pop(),s=o[o.length-1];break;default:s.match.push({syntax:i.syntax||null,token:i.token.value,node:i.token.node})}i=i.prev}return r},getTotalIterationCount:function(){return y}}},function(e,t){function n(e){function t(e){return null!==e&&("Type"===e.type||"Property"===e.type||"Keyword"===e.type)}var n=null;return null!==this.matched&&function r(i){if(Array.isArray(i.match)){for(var s=0;s<i.match.length;s++)if(r(i.match[s]))return t(i.syntax)&&n.unshift(i.syntax),!0}else if(i.node===e)return n=t(i.syntax)?[i.syntax]:[],!0;return!1}(this.matched),n}function r(e,t,r){var i=n.call(e,t);return null!==i&&i.some(r)}e.exports={getTrace:n,isType:function(e,t){return r(this,e,(function(e){return"Type"===e.type&&e.name===t}))},isProperty:function(e,t){return r(this,e,(function(e){return"Property"===e.type&&e.name===t}))},isKeyword:function(e){return r(this,e,(function(e){return"Keyword"===e.type}))}}},function(e,t,n){var r=n(21);function i(e){return"node"in e?e.node:i(e.match[0])}function s(e){return"node"in e?e.node:s(e.match[e.match.length-1])}e.exports={matchFragments:function(e,t,n,o,a){var l=[];return null!==n.matched&&function n(c){if(null!==c.syntax&&c.syntax.type===o&&c.syntax.name===a){var u=i(c),d=s(c);e.syntax.walk(t,(function(e,t,n){if(e===u){var i=new r;do{if(i.appendData(t.data),t.data===d)break;t=t.next}while(null!==t);l.push({parent:n,nodes:i})}}))}Array.isArray(c.match)&&c.match.forEach(n)}(n.matched),l}}},function(e,t,n){var r=n(21),i=Object.prototype.hasOwnProperty;function s(e){return"number"==typeof e&&isFinite(e)&&Math.floor(e)===e&&e>=0}function o(e){return Boolean(e)&&s(e.offset)&&s(e.line)&&s(e.column)}function a(e,t){return function(n,s){if(!n||n.constructor!==Object)return s(n,"Type of node should be an Object");for(var a in n){var l=!0;if(!1!==i.call(n,a)){if("type"===a)n.type!==e&&s(n,"Wrong node type `"+n.type+"`, expected `"+e+"`");else if("loc"===a){if(null===n.loc)continue;if(n.loc&&n.loc.constructor===Object)if("string"!=typeof n.loc.source)a+=".source";else if(o(n.loc.start)){if(o(n.loc.end))continue;a+=".end"}else a+=".start";l=!1}else if(t.hasOwnProperty(a)){var c=0;for(l=!1;!l&&c<t[a].length;c++){var u=t[a][c];switch(u){case String:l="string"==typeof n[a];break;case Boolean:l="boolean"==typeof n[a];break;case null:l=null===n[a];break;default:"string"==typeof u?l=n[a]&&n[a].type===u:Array.isArray(u)&&(l=n[a]instanceof r)}}}else s(n,"Unknown field `"+a+"` for "+e+" node type");l||s(n,"Bad value for `"+e+"."+a+"`")}}for(var a in t)i.call(t,a)&&!1===i.call(n,a)&&s(n,"Field `"+e+"."+a+"` is missed")}}function l(e,t){var n=t.structure,r={type:String,loc:!0},s={type:'"'+e+'"'};for(var o in n)if(!1!==i.call(n,o)){for(var l=[],c=r[o]=Array.isArray(n[o])?n[o].slice():[n[o]],u=0;u<c.length;u++){var d=c[u];if(d===String||d===Boolean)l.push(d.name);else if(null===d)l.push("null");else if("string"==typeof d)l.push("<"+d+">");else{if(!Array.isArray(d))throw new Error("Wrong value `"+d+"` in `"+e+"."+o+"` structure definition");l.push("List")}}s[o]=l.join(" | ")}return{docs:s,check:a(e,r)}}e.exports={getStructureFromConfig:function(e){var t={};if(e.node)for(var n in e.node)if(i.call(e.node,n)){var r=e.node[n];if(!r.structure)throw new Error("Missed `structure` field in `"+n+"` node type definition");t[n]=l(n,r)}return t}}},function(e,t,n){e.exports={SyntaxError:n(96),parse:n(57),generate:n(55),walk:n(97)}},function(e,t,n){var r=n(294),i=n(92),s=n(36),o=n(21),a=n(0),l=n(37),{findWhiteSpaceStart:c,cmpStr:u}=n(27),d=n(295),h=function(){},p=l.TYPE,m=l.NAME,f=p.WhiteSpace,g=p.Comment,y=p.Ident,b=p.Function,v=p.Url,S=p.Hash,w=p.Percentage,k=p.Number;function x(e){return function(){return this[e]()}}e.exports=function(e){var t={scanner:new s,locationMap:new r,filename:"<unknown>",needPositions:!1,onParseError:h,onParseErrorThrow:!1,parseAtrulePrelude:!0,parseRulePrelude:!0,parseValue:!0,parseCustomProperty:!1,readSequence:d,createList:function(){return new o},createSingleNodeList:function(e){return(new o).appendData(e)},getFirstListNode:function(e){return e&&e.first()},getLastListNode:function(e){return e.last()},parseWithFallback:function(e,t){var n=this.scanner.tokenIndex;try{return e.call(this)}catch(e){if(this.onParseErrorThrow)throw e;var r=t.call(this,n);return this.onParseErrorThrow=!0,this.onParseError(e,r),this.onParseErrorThrow=!1,r}},lookupNonWSType:function(e){do{var t=this.scanner.lookupType(e++);if(t!==f)return t}while(0!==t);return 0},eat:function(e){if(this.scanner.tokenType!==e){var t=this.scanner.tokenStart,n=m[e]+" is expected";switch(e){case y:this.scanner.tokenType===b||this.scanner.tokenType===v?(t=this.scanner.tokenEnd-1,n="Identifier is expected but function found"):n="Identifier is expected";break;case S:this.scanner.isDelim(35)&&(this.scanner.next(),t++,n="Name is expected");break;case w:this.scanner.tokenType===k&&(t=this.scanner.tokenEnd,n="Percent sign is expected");break;default:this.scanner.source.charCodeAt(this.scanner.tokenStart)===e&&(t+=1)}this.error(n,t)}this.scanner.next()},consume:function(e){var t=this.scanner.getTokenValue();return this.eat(e),t},consumeFunctionName:function(){var e=this.scanner.source.substring(this.scanner.tokenStart,this.scanner.tokenEnd-1);return this.eat(b),e},getLocation:function(e,t){return this.needPositions?this.locationMap.getLocationRange(e,t,this.filename):null},getLocationFromList:function(e){if(this.needPositions){var t=this.getFirstListNode(e),n=this.getLastListNode(e);return this.locationMap.getLocationRange(null!==t?t.loc.start.offset-this.locationMap.startOffset:this.scanner.tokenStart,null!==n?n.loc.end.offset-this.locationMap.startOffset:this.scanner.tokenStart,this.filename)}return null},error:function(e,t){var n=void 0!==t&&t<this.scanner.source.length?this.locationMap.getLocation(t):this.scanner.eof?this.locationMap.getLocation(c(this.scanner.source,this.scanner.source.length-1)):this.locationMap.getLocation(this.scanner.tokenStart);throw new i(e||"Unexpected input",this.scanner.source,n.offset,n.line,n.column)}};for(var n in e=function(e){var t={context:{},scope:{},atrule:{},pseudo:{}};if(e.parseContext)for(var n in e.parseContext)switch(typeof e.parseContext[n]){case"function":t.context[n]=e.parseContext[n];break;case"string":t.context[n]=x(e.parseContext[n])}if(e.scope)for(var n in e.scope)t.scope[n]=e.scope[n];if(e.atrule)for(var n in e.atrule){var r=e.atrule[n];r.parse&&(t.atrule[n]=r.parse)}if(e.pseudo)for(var n in e.pseudo){var i=e.pseudo[n];i.parse&&(t.pseudo[n]=i.parse)}if(e.node)for(var n in e.node)t[n]=e.node[n].parse;return t}(e||{}))t[n]=e[n];return function(e,n){var r,i=(n=n||{}).context||"default",s=n.onComment;if(a(e,t.scanner),t.locationMap.setSource(e,n.offset,n.line,n.column),t.filename=n.filename||"<unknown>",t.needPositions=Boolean(n.positions),t.onParseError="function"==typeof n.onParseError?n.onParseError:h,t.onParseErrorThrow=!1,t.parseAtrulePrelude=!("parseAtrulePrelude"in n)||Boolean(n.parseAtrulePrelude),t.parseRulePrelude=!("parseRulePrelude"in n)||Boolean(n.parseRulePrelude),t.parseValue=!("parseValue"in n)||Boolean(n.parseValue),t.parseCustomProperty="parseCustomProperty"in n&&Boolean(n.parseCustomProperty),!t.context.hasOwnProperty(i))throw new Error("Unknown context `"+i+"`");return"function"==typeof s&&t.scanner.forEachToken(((n,r,i)=>{if(n===g){const n=t.getLocation(r,i),o=u(e,i-2,i,"*/")?e.slice(r+2,i-2):e.slice(r+2,i);s(o,n)}})),r=t.context[i].call(t,n),t.scanner.eof||t.error(),r}}},function(e,t,n){var r=n(95),i=n(0).isBOM;var s=function(){this.lines=null,this.columns=null,this.linesAndColumnsComputed=!1};s.prototype={setSource:function(e,t,n,r){this.source=e,this.startOffset=void 0===t?0:t,this.startLine=void 0===n?1:n,this.startColumn=void 0===r?1:r,this.linesAndColumnsComputed=!1},ensureLinesAndColumnsComputed:function(){this.linesAndColumnsComputed||(!function(e,t){for(var n=t.length,s=r(e.lines,n),o=e.startLine,a=r(e.columns,n),l=e.startColumn,c=t.length>0?i(t.charCodeAt(0)):0;c<n;c++){var u=t.charCodeAt(c);s[c]=o,a[c]=l++,10!==u&&13!==u&&12!==u||(13===u&&c+1<n&&10===t.charCodeAt(c+1)&&(s[++c]=o,a[c]=l),o++,l=1)}s[c]=o,a[c]=l,e.lines=s,e.columns=a}(this,this.source),this.linesAndColumnsComputed=!0)},getLocation:function(e,t){return this.ensureLinesAndColumnsComputed(),{source:t,offset:this.startOffset+e,line:this.lines[e],column:this.columns[e]}},getLocationRange:function(e,t,n){return this.ensureLinesAndColumnsComputed(),{source:n,start:{offset:this.startOffset+e,line:this.lines[e],column:this.columns[e]},end:{offset:this.startOffset+t,line:this.lines[t],column:this.columns[t]}}}},e.exports=s},function(e,t,n){var r=n(0).TYPE,i=r.WhiteSpace,s=r.Comment;e.exports=function(e){var t=this.createList(),n=null,r={recognizer:e,space:null,ignoreWS:!1,ignoreWSAfter:!1};for(this.scanner.skipSC();!this.scanner.eof;){switch(this.scanner.tokenType){case s:this.scanner.next();continue;case i:r.ignoreWS?this.scanner.next():r.space=this.WhiteSpace();continue}if(void 0===(n=e.getNode.call(this,r)))break;null!==r.space&&(t.push(r.space),r.space=null),t.push(n),r.ignoreWSAfter?(r.ignoreWSAfter=!1,r.ignoreWS=!0):r.ignoreWS=!1}return t}},function(e,t,n){var r=n(297),i=Object.prototype.hasOwnProperty;function s(e,t){var n=e.children,r=null;"function"!=typeof t?n.forEach(this.node,this):n.forEach((function(e){null!==r&&t.call(this,r),this.node(e),r=e}),this)}e.exports=function(e){function t(e){if(!i.call(n,e.type))throw new Error("Unknown node type: "+e.type);n[e.type].call(this,e)}var n={};if(e.node)for(var o in e.node)n[o]=e.node[o].generate;return function(e,n){var i="",o={children:s,node:t,chunk:function(e){i+=e},result:function(){return i}};return n&&("function"==typeof n.decorator&&(o=n.decorator(o)),n.sourceMap&&(o=r(o))),o.node(e),o.result()}}},function(e,t,n){var r=n(298).SourceMapGenerator,i={Atrule:!0,Selector:!0,Declaration:!0};e.exports=function(e){var t=new r,n=1,s=0,o={line:1,column:0},a={line:0,column:0},l=!1,c={line:1,column:0},u={generated:c},d=e.node;e.node=function(e){if(e.loc&&e.loc.start&&i.hasOwnProperty(e.type)){var r=e.loc.start.line,h=e.loc.start.column-1;a.line===r&&a.column===h||(a.line=r,a.column=h,o.line=n,o.column=s,l&&(l=!1,o.line===c.line&&o.column===c.column||t.addMapping(u)),l=!0,t.addMapping({source:e.loc.source,original:a,generated:o}))}d.call(this,e),l&&i.hasOwnProperty(e.type)&&(c.line=n,c.column=s)};var h=e.chunk;e.chunk=function(e){for(var t=0;t<e.length;t++)10===e.charCodeAt(t)?(n++,s=0):s++;h(e)};var p=e.result;return e.result=function(){return l&&t.addMapping(u),{css:p(),map:t}},e}},function(e,t,n){var r=n(299),i=n(58),s=n(301).ArraySet,o=n(302).MappingList;function a(e){e||(e={}),this._file=i.getArg(e,"file",null),this._sourceRoot=i.getArg(e,"sourceRoot",null),this._skipValidation=i.getArg(e,"skipValidation",!1),this._sources=new s,this._names=new s,this._mappings=new o,this._sourcesContents=null}a.prototype._version=3,a.fromSourceMap=function(e){var t=e.sourceRoot,n=new a({file:e.file,sourceRoot:t});return e.eachMapping((function(e){var r={generated:{line:e.generatedLine,column:e.generatedColumn}};null!=e.source&&(r.source=e.source,null!=t&&(r.source=i.relative(t,r.source)),r.original={line:e.originalLine,column:e.originalColumn},null!=e.name&&(r.name=e.name)),n.addMapping(r)})),e.sources.forEach((function(r){var s=r;null!==t&&(s=i.relative(t,r)),n._sources.has(s)||n._sources.add(s);var o=e.sourceContentFor(r);null!=o&&n.setSourceContent(r,o)})),n},a.prototype.addMapping=function(e){var t=i.getArg(e,"generated"),n=i.getArg(e,"original",null),r=i.getArg(e,"source",null),s=i.getArg(e,"name",null);this._skipValidation||this._validateMapping(t,n,r,s),null!=r&&(r=String(r),this._sources.has(r)||this._sources.add(r)),null!=s&&(s=String(s),this._names.has(s)||this._names.add(s)),this._mappings.add({generatedLine:t.line,generatedColumn:t.column,originalLine:null!=n&&n.line,originalColumn:null!=n&&n.column,source:r,name:s})},a.prototype.setSourceContent=function(e,t){var n=e;null!=this._sourceRoot&&(n=i.relative(this._sourceRoot,n)),null!=t?(this._sourcesContents||(this._sourcesContents=Object.create(null)),this._sourcesContents[i.toSetString(n)]=t):this._sourcesContents&&(delete this._sourcesContents[i.toSetString(n)],0===Object.keys(this._sourcesContents).length&&(this._sourcesContents=null))},a.prototype.applySourceMap=function(e,t,n){var r=t;if(null==t){if(null==e.file)throw new Error('SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, or the source map\'s "file" property. Both were omitted.');r=e.file}var o=this._sourceRoot;null!=o&&(r=i.relative(o,r));var a=new s,l=new s;this._mappings.unsortedForEach((function(t){if(t.source===r&&null!=t.originalLine){var s=e.originalPositionFor({line:t.originalLine,column:t.originalColumn});null!=s.source&&(t.source=s.source,null!=n&&(t.source=i.join(n,t.source)),null!=o&&(t.source=i.relative(o,t.source)),t.originalLine=s.line,t.originalColumn=s.column,null!=s.name&&(t.name=s.name))}var c=t.source;null==c||a.has(c)||a.add(c);var u=t.name;null==u||l.has(u)||l.add(u)}),this),this._sources=a,this._names=l,e.sources.forEach((function(t){var r=e.sourceContentFor(t);null!=r&&(null!=n&&(t=i.join(n,t)),null!=o&&(t=i.relative(o,t)),this.setSourceContent(t,r))}),this)},a.prototype._validateMapping=function(e,t,n,r){if(t&&"number"!=typeof t.line&&"number"!=typeof t.column)throw new Error("original.line and original.column are not numbers -- you probably meant to omit the original mapping entirely and only map the generated position. If so, pass null for the original mapping instead of an object with empty or null values.");if((!(e&&"line"in e&&"column"in e&&e.line>0&&e.column>=0)||t||n||r)&&!(e&&"line"in e&&"column"in e&&t&&"line"in t&&"column"in t&&e.line>0&&e.column>=0&&t.line>0&&t.column>=0&&n))throw new Error("Invalid mapping: "+JSON.stringify({generated:e,source:n,original:t,name:r}))},a.prototype._serializeMappings=function(){for(var e,t,n,s,o=0,a=1,l=0,c=0,u=0,d=0,h="",p=this._mappings.toArray(),m=0,f=p.length;m<f;m++){if(e="",(t=p[m]).generatedLine!==a)for(o=0;t.generatedLine!==a;)e+=";",a++;else if(m>0){if(!i.compareByGeneratedPositionsInflated(t,p[m-1]))continue;e+=","}e+=r.encode(t.generatedColumn-o),o=t.generatedColumn,null!=t.source&&(s=this._sources.indexOf(t.source),e+=r.encode(s-d),d=s,e+=r.encode(t.originalLine-1-c),c=t.originalLine-1,e+=r.encode(t.originalColumn-l),l=t.originalColumn,null!=t.name&&(n=this._names.indexOf(t.name),e+=r.encode(n-u),u=n)),h+=e}return h},a.prototype._generateSourcesContent=function(e,t){return e.map((function(e){if(!this._sourcesContents)return null;null!=t&&(e=i.relative(t,e));var n=i.toSetString(e);return Object.prototype.hasOwnProperty.call(this._sourcesContents,n)?this._sourcesContents[n]:null}),this)},a.prototype.toJSON=function(){var e={version:this._version,sources:this._sources.toArray(),names:this._names.toArray(),mappings:this._serializeMappings()};return null!=this._file&&(e.file=this._file),null!=this._sourceRoot&&(e.sourceRoot=this._sourceRoot),this._sourcesContents&&(e.sourcesContent=this._generateSourcesContent(e.sources,e.sourceRoot)),e},a.prototype.toString=function(){return JSON.stringify(this.toJSON())},t.SourceMapGenerator=a},function(e,t,n){var r=n(300);t.encode=function(e){var t,n="",i=function(e){return e<0?1+(-e<<1):0+(e<<1)}(e);do{t=31&i,(i>>>=5)>0&&(t|=32),n+=r.encode(t)}while(i>0);return n},t.decode=function(e,t,n){var i,s,o,a,l=e.length,c=0,u=0;do{if(t>=l)throw new Error("Expected more digits in base 64 VLQ value.");if(-1===(s=r.decode(e.charCodeAt(t++))))throw new Error("Invalid base64 digit: "+e.charAt(t-1));i=!!(32&s),c+=(s&=31)<<u,u+=5}while(i);n.value=(a=(o=c)>>1,1&~o?a:-a),n.rest=t}},function(e,t){var n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split("");t.encode=function(e){if(0<=e&&e<n.length)return n[e];throw new TypeError("Must be between 0 and 63: "+e)},t.decode=function(e){return 65<=e&&e<=90?e-65:97<=e&&e<=122?e-97+26:48<=e&&e<=57?e-48+52:43==e?62:47==e?63:-1}},function(e,t,n){var r=n(58),i=Object.prototype.hasOwnProperty,s="undefined"!=typeof Map;function o(){this._array=[],this._set=s?new Map:Object.create(null)}o.fromArray=function(e,t){for(var n=new o,r=0,i=e.length;r<i;r++)n.add(e[r],t);return n},o.prototype.size=function(){return s?this._set.size:Object.getOwnPropertyNames(this._set).length},o.prototype.add=function(e,t){var n=s?e:r.toSetString(e),o=s?this.has(e):i.call(this._set,n),a=this._array.length;o&&!t||this._array.push(e),o||(s?this._set.set(e,a):this._set[n]=a)},o.prototype.has=function(e){if(s)return this._set.has(e);var t=r.toSetString(e);return i.call(this._set,t)},o.prototype.indexOf=function(e){if(s){var t=this._set.get(e);if(t>=0)return t}else{var n=r.toSetString(e);if(i.call(this._set,n))return this._set[n]}throw new Error('"'+e+'" is not in the set.')},o.prototype.at=function(e){if(e>=0&&e<this._array.length)return this._array[e];throw new Error("No element indexed by "+e)},o.prototype.toArray=function(){return this._array.slice()},t.ArraySet=o},function(e,t,n){var r=n(58);function i(){this._array=[],this._sorted=!0,this._last={generatedLine:-1,generatedColumn:0}}i.prototype.unsortedForEach=function(e,t){this._array.forEach(e,t)},i.prototype.add=function(e){var t,n,i,s,o,a;t=this._last,n=e,i=t.generatedLine,s=n.generatedLine,o=t.generatedColumn,a=n.generatedColumn,s>i||s==i&&a>=o||r.compareByGeneratedPositionsInflated(t,n)<=0?(this._last=e,this._array.push(e)):(this._sorted=!1,this._array.push(e))},i.prototype.toArray=function(){return this._sorted||(this._array.sort(r.compareByGeneratedPositionsInflated),this._sorted=!0),this._array},t.MappingList=i},function(e,t,n){var r=n(21);e.exports=function(e){return{fromPlainObject:function(t){return e(t,{enter:function(e){e.children&&e.children instanceof r==!1&&(e.children=(new r).fromArray(e.children))}}),t},toPlainObject:function(t){return e(t,{leave:function(e){e.children&&e.children instanceof r&&(e.children=e.children.toArray())}}),t}}}},function(e,t){var n=Object.prototype.hasOwnProperty,r=function(){};function i(e){return"function"==typeof e?e:r}function s(e,t){return function(n,r,i){n.type===t&&e.call(this,n,r,i)}}function o(e,t){var r=t.structure,i=[];for(var s in r)if(!1!==n.call(r,s)){var o=r[s],a={name:s,type:!1,nullable:!1};Array.isArray(r[s])||(o=[r[s]]);for(var l=0;l<o.length;l++){var c=o[l];null===c?a.nullable=!0:"string"==typeof c?a.type="node":Array.isArray(c)&&(a.type="list")}a.type&&i.push(a)}return i.length?{context:t.walkContext,fields:i}:null}function a(e,t){var n=e.fields.slice(),r=e.context,i="string"==typeof r;return t&&n.reverse(),function(e,s,o,a){var l;i&&(l=s[r],s[r]=e);for(var c=0;c<n.length;c++){var u=n[c],d=e[u.name];if(!u.nullable||d)if("list"===u.type){if(t?d.reduceRight(a,!1):d.reduce(a,!1))return!0}else if(o(d))return!0}i&&(s[r]=l)}}function l(e){return{Atrule:{StyleSheet:e.StyleSheet,Atrule:e.Atrule,Rule:e.Rule,Block:e.Block},Rule:{StyleSheet:e.StyleSheet,Atrule:e.Atrule,Rule:e.Rule,Block:e.Block},Declaration:{StyleSheet:e.StyleSheet,Atrule:e.Atrule,Rule:e.Rule,Block:e.Block,DeclarationList:e.DeclarationList}}}e.exports=function(e){var t=function(e){var t={};for(var r in e.node)if(n.call(e.node,r)){var i=e.node[r];if(!i.structure)throw new Error("Missed `structure` field in `"+r+"` node type definition");t[r]=o(0,i)}return t}(e),c={},u={},d=Symbol("break-walk"),h=Symbol("skip-node");for(var p in t)n.call(t,p)&&null!==t[p]&&(c[p]=a(t[p],!1),u[p]=a(t[p],!0));var m=l(c),f=l(u),g=function(e,n){function o(e,t,n){var r=l.call(y,e,t,n);return r===d||r!==h&&(!(!g.hasOwnProperty(e.type)||!g[e.type](e,y,o,a))||p.call(y,e,t,n)===d)}var a=(e,t,n,r)=>e||o(t,n,r),l=r,p=r,g=c,y={break:d,skip:h,root:e,stylesheet:null,atrule:null,atrulePrelude:null,rule:null,selector:null,block:null,declaration:null,function:null};if("function"==typeof n)l=n;else if(n&&(l=i(n.enter),p=i(n.leave),n.reverse&&(g=u),n.visit)){if(m.hasOwnProperty(n.visit))g=n.reverse?f[n.visit]:m[n.visit];else if(!t.hasOwnProperty(n.visit))throw new Error("Bad value `"+n.visit+"` for `visit` option (should be: "+Object.keys(t).join(", ")+")");l=s(l,n.visit),p=s(p,n.visit)}if(l===r&&p===r)throw new Error("Neither `enter` nor `leave` walker handler is set or both aren't a function");o(e)};return g.break=d,g.skip=h,g.find=function(e,t){var n=null;return g(e,(function(e,r,i){if(t.call(this,e,r,i))return n=e,d})),n},g.findLast=function(e,t){var n=null;return g(e,{reverse:!0,enter:function(e,r,i){if(t.call(this,e,r,i))return n=e,d}}),n},g.findAll=function(e,t){var n=[];return g(e,(function(e,r,i){t.call(this,e,r,i)&&n.push(e)})),n},g}},function(e,t,n){var r=n(21);e.exports=function e(t){var n={};for(var i in t){var s=t[i];s&&(Array.isArray(s)||s instanceof r?s=s.map(e):s.constructor===Object&&(s=e(s))),n[i]=s}return n}},function(e,t){const n=Object.prototype.hasOwnProperty,r={generic:!0,types:a,atrules:{prelude:l,descriptors:l},properties:a,parseContext:function(e,t){return Object.assign(e,t)},scope:function e(t,r){for(const o in r)n.call(r,o)&&(i(t[o])?e(t[o],s(r[o])):t[o]=s(r[o]));return t},atrule:["parse"],pseudo:["parse"],node:["name","structure","parse","generate","walkContext"]};function i(e){return e&&e.constructor===Object}function s(e){return i(e)?Object.assign({},e):e}function o(e,t){return"string"==typeof t&&/^\s*\|/.test(t)?"string"==typeof e?e+t:t.replace(/^\s*\|\s*/,""):t||null}function a(e,t){if("string"==typeof t)return o(e,t);const r=Object.assign({},e);for(let i in t)n.call(t,i)&&(r[i]=o(n.call(e,i)?e[i]:void 0,t[i]));return r}function l(e,t){const n=a(e,t);return!i(n)||Object.keys(n).length?n:null}function c(e,t,r){for(const o in r)if(!1!==n.call(r,o))if(!0===r[o])o in t&&n.call(t,o)&&(e[o]=s(t[o]));else if(r[o])if("function"==typeof r[o]){const n=r[o];e[o]=n({},e[o]),e[o]=n(e[o]||{},t[o])}else if(i(r[o])){const n={};for(let t in e[o])n[t]=c({},e[o][t],r[o]);for(let e in t[o])n[e]=c(n[e]||{},t[o][e],r[o]);e[o]=n}else if(Array.isArray(r[o])){const i={},s=r[o].reduce((function(e,t){return e[t]=!0,e}),{});for(const[t,n]of Object.entries(e[o]||{}))i[t]={},n&&c(i[t],n,s);for(const e in t[o])n.call(t[o],e)&&(i[e]||(i[e]={}),t[o]&&t[o][e]&&c(i[e],t[o][e],s));e[o]=i}return e}e.exports=(e,t)=>c(e,t,r)},function(e,t,n){var r=n(308);e.exports={generic:!0,types:r.types,atrules:r.atrules,properties:r.properties,node:n(59)}},function(e,t,n){const r=n(309),i=n(310),s=n(311),o=n(312),a=/^\s*\|\s*/;function l(e,t){const n={};for(const t in e)n[t]=e[t].syntax||e[t];for(const r in t)r in e?t[r].syntax?n[r]=a.test(t[r].syntax)?n[r]+" "+t[r].syntax.trim():t[r].syntax:delete n[r]:t[r].syntax&&(n[r]=t[r].syntax.replace(a,""));return n}function c(e){const t={};for(const n in e)t[n]=e[n].syntax;return t}e.exports={types:l(s,o.syntaxes),atrules:function(e,t){const n={};for(const r in e){const i=t[r]&&t[r].descriptors||null;n[r]={prelude:r in t&&"prelude"in t[r]?t[r].prelude:e[r].prelude||null,descriptors:e[r].descriptors?l(e[r].descriptors,i||{}):i&&c(i)}}for(const r in t)hasOwnProperty.call(e,r)||(n[r]={prelude:t[r].prelude||null,descriptors:t[r].descriptors&&c(t[r].descriptors)});return n}(function(e){const t=Object.create(null);for(const n in e){const r=e[n];let i=null;if(r.descriptors){i=Object.create(null);for(const e in r.descriptors)i[e]=r.descriptors[e].syntax}t[n.substr(1)]={prelude:r.syntax.trim().match(/^@\S+\s+([^;\{]*)/)[1].trim()||null,descriptors:i}}return t}(r),o.atrules),properties:l(i,o.properties)}},function(e){e.exports=JSON.parse('{"@charset":{"syntax":"@charset \\"<charset>\\";","groups":["CSS Charsets"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/@charset"},"@counter-style":{"syntax":"@counter-style <counter-style-name> {\\n [ system: <counter-system>; ] ||\\n [ symbols: <counter-symbols>; ] ||\\n [ additive-symbols: <additive-symbols>; ] ||\\n [ negative: <negative-symbol>; ] ||\\n [ prefix: <prefix>; ] ||\\n [ suffix: <suffix>; ] ||\\n [ range: <range>; ] ||\\n [ pad: <padding>; ] ||\\n [ speak-as: <speak-as>; ] ||\\n [ fallback: <counter-style-name>; ]\\n}","interfaces":["CSSCounterStyleRule"],"groups":["CSS Counter Styles"],"descriptors":{"additive-symbols":{"syntax":"[ <integer> && <symbol> ]#","media":"all","initial":"n/a (required)","percentages":"no","computed":"asSpecified","order":"orderOfAppearance","status":"standard"},"fallback":{"syntax":"<counter-style-name>","media":"all","initial":"decimal","percentages":"no","computed":"asSpecified","order":"uniqueOrder","status":"standard"},"negative":{"syntax":"<symbol> <symbol>?","media":"all","initial":"\\"-\\" hyphen-minus","percentages":"no","computed":"asSpecified","order":"orderOfAppearance","status":"standard"},"pad":{"syntax":"<integer> && <symbol>","media":"all","initial":"0 \\"\\"","percentages":"no","computed":"asSpecified","order":"uniqueOrder","status":"standard"},"prefix":{"syntax":"<symbol>","media":"all","initial":"\\"\\"","percentages":"no","computed":"asSpecified","order":"uniqueOrder","status":"standard"},"range":{"syntax":"[ [ <integer> | infinite ]{2} ]# | auto","media":"all","initial":"auto","percentages":"no","computed":"asSpecified","order":"orderOfAppearance","status":"standard"},"speak-as":{"syntax":"auto | bullets | numbers | words | spell-out | <counter-style-name>","media":"all","initial":"auto","percentages":"no","computed":"asSpecified","order":"uniqueOrder","status":"standard"},"suffix":{"syntax":"<symbol>","media":"all","initial":"\\". \\"","percentages":"no","computed":"asSpecified","order":"uniqueOrder","status":"standard"},"symbols":{"syntax":"<symbol>+","media":"all","initial":"n/a (required)","percentages":"no","computed":"asSpecified","order":"orderOfAppearance","status":"standard"},"system":{"syntax":"cyclic | numeric | alphabetic | symbolic | additive | [ fixed <integer>? ] | [ extends <counter-style-name> ]","media":"all","initial":"symbolic","percentages":"no","computed":"asSpecified","order":"uniqueOrder","status":"standard"}},"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/@counter-style"},"@document":{"syntax":"@document [ <url> | url-prefix(<string>) | domain(<string>) | media-document(<string>) | regexp(<string>) ]# {\\n <group-rule-body>\\n}","interfaces":["CSSGroupingRule","CSSConditionRule"],"groups":["CSS Conditional Rules"],"status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/@document"},"@font-face":{"syntax":"@font-face {\\n [ font-family: <family-name>; ] ||\\n [ src: <src>; ] ||\\n [ unicode-range: <unicode-range>; ] ||\\n [ font-variant: <font-variant>; ] ||\\n [ font-feature-settings: <font-feature-settings>; ] ||\\n [ font-variation-settings: <font-variation-settings>; ] ||\\n [ font-stretch: <font-stretch>; ] ||\\n [ font-weight: <font-weight>; ] ||\\n [ font-style: <font-style>; ]\\n}","interfaces":["CSSFontFaceRule"],"groups":["CSS Fonts"],"descriptors":{"font-display":{"syntax":"[ auto | block | swap | fallback | optional ]","media":"visual","percentages":"no","initial":"auto","computed":"asSpecified","order":"uniqueOrder","status":"experimental"},"font-family":{"syntax":"<family-name>","media":"all","initial":"n/a (required)","percentages":"no","computed":"asSpecified","order":"uniqueOrder","status":"standard"},"font-feature-settings":{"syntax":"normal | <feature-tag-value>#","media":"all","initial":"normal","percentages":"no","computed":"asSpecified","order":"orderOfAppearance","status":"standard"},"font-variation-settings":{"syntax":"normal | [ <string> <number> ]#","media":"all","initial":"normal","percentages":"no","computed":"asSpecified","order":"orderOfAppearance","status":"standard"},"font-stretch":{"syntax":"<font-stretch-absolute>{1,2}","media":"all","initial":"normal","percentages":"no","computed":"asSpecified","order":"uniqueOrder","status":"standard"},"font-style":{"syntax":"normal | italic | oblique <angle>{0,2}","media":"all","initial":"normal","percentages":"no","computed":"asSpecified","order":"uniqueOrder","status":"standard"},"font-weight":{"syntax":"<font-weight-absolute>{1,2}","media":"all","initial":"normal","percentages":"no","computed":"asSpecified","order":"uniqueOrder","status":"standard"},"font-variant":{"syntax":"normal | none | [ <common-lig-values> || <discretionary-lig-values> || <historical-lig-values> || <contextual-alt-values> || stylistic(<feature-value-name>) || historical-forms || styleset(<feature-value-name>#) || character-variant(<feature-value-name>#) || swash(<feature-value-name>) || ornaments(<feature-value-name>) || annotation(<feature-value-name>) || [ small-caps | all-small-caps | petite-caps | all-petite-caps | unicase | titling-caps ] || <numeric-figure-values> || <numeric-spacing-values> || <numeric-fraction-values> || ordinal || slashed-zero || <east-asian-variant-values> || <east-asian-width-values> || ruby ]","media":"all","initial":"normal","percentages":"no","computed":"asSpecified","order":"orderOfAppearance","status":"standard"},"src":{"syntax":"[ <url> [ format( <string># ) ]? | local( <family-name> ) ]#","media":"all","initial":"n/a (required)","percentages":"no","computed":"asSpecified","order":"orderOfAppearance","status":"standard"},"unicode-range":{"syntax":"<unicode-range>#","media":"all","initial":"U+0-10FFFF","percentages":"no","computed":"asSpecified","order":"orderOfAppearance","status":"standard"}},"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/@font-face"},"@font-feature-values":{"syntax":"@font-feature-values <family-name># {\\n <feature-value-block-list>\\n}","interfaces":["CSSFontFeatureValuesRule"],"groups":["CSS Fonts"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/@font-feature-values"},"@import":{"syntax":"@import [ <string> | <url> ] [ <media-query-list> ]?;","groups":["Media Queries"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/@import"},"@keyframes":{"syntax":"@keyframes <keyframes-name> {\\n <keyframe-block-list>\\n}","interfaces":["CSSKeyframeRule","CSSKeyframesRule"],"groups":["CSS Animations"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/@keyframes"},"@media":{"syntax":"@media <media-query-list> {\\n <group-rule-body>\\n}","interfaces":["CSSGroupingRule","CSSConditionRule","CSSMediaRule","CSSCustomMediaRule"],"groups":["CSS Conditional Rules","Media Queries"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/@media"},"@namespace":{"syntax":"@namespace <namespace-prefix>? [ <string> | <url> ];","groups":["CSS Namespaces"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/@namespace"},"@page":{"syntax":"@page <page-selector-list> {\\n <page-body>\\n}","interfaces":["CSSPageRule"],"groups":["CSS Pages"],"descriptors":{"bleed":{"syntax":"auto | <length>","media":["visual","paged"],"initial":"auto","percentages":"no","computed":"asSpecified","order":"uniqueOrder","status":"standard"},"marks":{"syntax":"none | [ crop || cross ]","media":["visual","paged"],"initial":"none","percentages":"no","computed":"asSpecified","order":"orderOfAppearance","status":"standard"},"size":{"syntax":"<length>{1,2} | auto | [ <page-size> || [ portrait | landscape ] ]","media":["visual","paged"],"initial":"auto","percentages":"no","computed":"asSpecifiedRelativeToAbsoluteLengths","order":"orderOfAppearance","status":"standard"}},"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/@page"},"@property":{"syntax":"@property <custom-property-name> {\\n <declaration-list>\\n}","interfaces":["CSS","CSSPropertyRule"],"groups":["CSS Houdini"],"descriptors":{"syntax":{"syntax":"<string>","media":"all","percentages":"no","initial":"n/a (required)","computed":"asSpecified","order":"uniqueOrder","status":"experimental"},"inherits":{"syntax":"true | false","media":"all","percentages":"no","initial":"auto","computed":"asSpecified","order":"uniqueOrder","status":"experimental"},"initial-value":{"syntax":"<string>","media":"all","initial":"n/a (required)","percentages":"no","computed":"asSpecified","order":"uniqueOrder","status":"experimental"}},"status":"experimental","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/@property"},"@supports":{"syntax":"@supports <supports-condition> {\\n <group-rule-body>\\n}","interfaces":["CSSGroupingRule","CSSConditionRule","CSSSupportsRule"],"groups":["CSS Conditional Rules"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/@supports"},"@viewport":{"syntax":"@viewport {\\n <group-rule-body>\\n}","interfaces":["CSSViewportRule"],"groups":["CSS Device Adaptation"],"descriptors":{"height":{"syntax":"<viewport-length>{1,2}","media":["visual","continuous"],"initial":["min-height","max-height"],"percentages":["min-height","max-height"],"computed":["min-height","max-height"],"order":"orderOfAppearance","status":"standard"},"max-height":{"syntax":"<viewport-length>","media":["visual","continuous"],"initial":"auto","percentages":"referToHeightOfInitialViewport","computed":"lengthAbsolutePercentageAsSpecifiedOtherwiseAuto","order":"uniqueOrder","status":"standard"},"max-width":{"syntax":"<viewport-length>","media":["visual","continuous"],"initial":"auto","percentages":"referToWidthOfInitialViewport","computed":"lengthAbsolutePercentageAsSpecifiedOtherwiseAuto","order":"uniqueOrder","status":"standard"},"max-zoom":{"syntax":"auto | <number> | <percentage>","media":["visual","continuous"],"initial":"auto","percentages":"the zoom factor itself","computed":"autoNonNegativeOrPercentage","order":"uniqueOrder","status":"standard"},"min-height":{"syntax":"<viewport-length>","media":["visual","continuous"],"initial":"auto","percentages":"referToHeightOfInitialViewport","computed":"lengthAbsolutePercentageAsSpecifiedOtherwiseAuto","order":"uniqueOrder","status":"standard"},"min-width":{"syntax":"<viewport-length>","media":["visual","continuous"],"initial":"auto","percentages":"referToWidthOfInitialViewport","computed":"lengthAbsolutePercentageAsSpecifiedOtherwiseAuto","order":"uniqueOrder","status":"standard"},"min-zoom":{"syntax":"auto | <number> | <percentage>","media":["visual","continuous"],"initial":"auto","percentages":"the zoom factor itself","computed":"autoNonNegativeOrPercentage","order":"uniqueOrder","status":"standard"},"orientation":{"syntax":"auto | portrait | landscape","media":["visual","continuous"],"initial":"auto","percentages":"referToSizeOfBoundingBox","computed":"asSpecified","order":"uniqueOrder","status":"standard"},"user-zoom":{"syntax":"zoom | fixed","media":["visual","continuous"],"initial":"zoom","percentages":"referToSizeOfBoundingBox","computed":"asSpecified","order":"uniqueOrder","status":"standard"},"viewport-fit":{"syntax":"auto | contain | cover","media":["visual","continuous"],"initial":"auto","percentages":"no","computed":"asSpecified","order":"uniqueOrder","status":"standard"},"width":{"syntax":"<viewport-length>{1,2}","media":["visual","continuous"],"initial":["min-width","max-width"],"percentages":["min-width","max-width"],"computed":["min-width","max-width"],"order":"orderOfAppearance","status":"standard"},"zoom":{"syntax":"auto | <number> | <percentage>","media":["visual","continuous"],"initial":"auto","percentages":"the zoom factor itself","computed":"autoNonNegativeOrPercentage","order":"uniqueOrder","status":"standard"}},"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/@viewport"}}')},function(e){e.exports=JSON.parse('{"--*":{"syntax":"<declaration-value>","media":"all","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Variables"],"initial":"seeProse","appliesto":"allElements","computed":"asSpecifiedWithVarsSubstituted","order":"perGrammar","status":"experimental","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/--*"},"-ms-accelerator":{"syntax":"false | true","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["Microsoft Extensions"],"initial":"false","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-ms-accelerator"},"-ms-block-progression":{"syntax":"tb | rl | bt | lr","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["Microsoft Extensions"],"initial":"tb","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-ms-block-progression"},"-ms-content-zoom-chaining":{"syntax":"none | chained","media":"interactive","inherited":false,"animationType":"discrete","percentages":"no","groups":["Microsoft Extensions"],"initial":"none","appliesto":"nonReplacedBlockAndInlineBlockElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-ms-content-zoom-chaining"},"-ms-content-zooming":{"syntax":"none | zoom","media":"interactive","inherited":false,"animationType":"discrete","percentages":"no","groups":["Microsoft Extensions"],"initial":"zoomForTheTopLevelNoneForTheRest","appliesto":"nonReplacedBlockAndInlineBlockElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-ms-content-zooming"},"-ms-content-zoom-limit":{"syntax":"<\'-ms-content-zoom-limit-min\'> <\'-ms-content-zoom-limit-max\'>","media":"interactive","inherited":false,"animationType":"discrete","percentages":["-ms-content-zoom-limit-max","-ms-content-zoom-limit-min"],"groups":["Microsoft Extensions"],"initial":["-ms-content-zoom-limit-max","-ms-content-zoom-limit-min"],"appliesto":"nonReplacedBlockAndInlineBlockElements","computed":["-ms-content-zoom-limit-max","-ms-content-zoom-limit-min"],"order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-ms-content-zoom-limit"},"-ms-content-zoom-limit-max":{"syntax":"<percentage>","media":"interactive","inherited":false,"animationType":"discrete","percentages":"maxZoomFactor","groups":["Microsoft Extensions"],"initial":"400%","appliesto":"nonReplacedBlockAndInlineBlockElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-ms-content-zoom-limit-max"},"-ms-content-zoom-limit-min":{"syntax":"<percentage>","media":"interactive","inherited":false,"animationType":"discrete","percentages":"minZoomFactor","groups":["Microsoft Extensions"],"initial":"100%","appliesto":"nonReplacedBlockAndInlineBlockElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-ms-content-zoom-limit-min"},"-ms-content-zoom-snap":{"syntax":"<\'-ms-content-zoom-snap-type\'> || <\'-ms-content-zoom-snap-points\'>","media":"interactive","inherited":false,"animationType":"discrete","percentages":"no","groups":["Microsoft Extensions"],"initial":["-ms-content-zoom-snap-type","-ms-content-zoom-snap-points"],"appliesto":"nonReplacedBlockAndInlineBlockElements","computed":["-ms-content-zoom-snap-type","-ms-content-zoom-snap-points"],"order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-ms-content-zoom-snap"},"-ms-content-zoom-snap-points":{"syntax":"snapInterval( <percentage>, <percentage> ) | snapList( <percentage># )","media":"interactive","inherited":false,"animationType":"discrete","percentages":"no","groups":["Microsoft Extensions"],"initial":"snapInterval(0%, 100%)","appliesto":"nonReplacedBlockAndInlineBlockElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-ms-content-zoom-snap-points"},"-ms-content-zoom-snap-type":{"syntax":"none | proximity | mandatory","media":"interactive","inherited":false,"animationType":"discrete","percentages":"no","groups":["Microsoft Extensions"],"initial":"none","appliesto":"nonReplacedBlockAndInlineBlockElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-ms-content-zoom-snap-type"},"-ms-filter":{"syntax":"<string>","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["Microsoft Extensions"],"initial":"\\"\\"","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-ms-filter"},"-ms-flow-from":{"syntax":"[ none | <custom-ident> ]#","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["Microsoft Extensions"],"initial":"none","appliesto":"nonReplacedElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-ms-flow-from"},"-ms-flow-into":{"syntax":"[ none | <custom-ident> ]#","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["Microsoft Extensions"],"initial":"none","appliesto":"iframeElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-ms-flow-into"},"-ms-grid-columns":{"syntax":"none | <track-list> | <auto-track-list>","media":"visual","inherited":false,"animationType":"simpleListOfLpcDifferenceLpc","percentages":"referToDimensionOfContentArea","groups":["CSS Grid Layout"],"initial":"none","appliesto":"gridContainers","computed":"asSpecifiedRelativeToAbsoluteLengths","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-ms-grid-columns"},"-ms-grid-rows":{"syntax":"none | <track-list> | <auto-track-list>","media":"visual","inherited":false,"animationType":"simpleListOfLpcDifferenceLpc","percentages":"referToDimensionOfContentArea","groups":["CSS Grid Layout"],"initial":"none","appliesto":"gridContainers","computed":"asSpecifiedRelativeToAbsoluteLengths","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-ms-grid-rows"},"-ms-high-contrast-adjust":{"syntax":"auto | none","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["Microsoft Extensions"],"initial":"auto","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-ms-high-contrast-adjust"},"-ms-hyphenate-limit-chars":{"syntax":"auto | <integer>{1,3}","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["Microsoft Extensions"],"initial":"auto","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-ms-hyphenate-limit-chars"},"-ms-hyphenate-limit-lines":{"syntax":"no-limit | <integer>","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["Microsoft Extensions"],"initial":"no-limit","appliesto":"blockContainerElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-ms-hyphenate-limit-lines"},"-ms-hyphenate-limit-zone":{"syntax":"<percentage> | <length>","media":"visual","inherited":true,"animationType":"discrete","percentages":"referToLineBoxWidth","groups":["Microsoft Extensions"],"initial":"0","appliesto":"blockContainerElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-ms-hyphenate-limit-zone"},"-ms-ime-align":{"syntax":"auto | after","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["Microsoft Extensions"],"initial":"auto","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-ms-ime-align"},"-ms-overflow-style":{"syntax":"auto | none | scrollbar | -ms-autohiding-scrollbar","media":"interactive","inherited":true,"animationType":"discrete","percentages":"no","groups":["Microsoft Extensions"],"initial":"auto","appliesto":"nonReplacedBlockAndInlineBlockElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-ms-overflow-style"},"-ms-scrollbar-3dlight-color":{"syntax":"<color>","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["Microsoft Extensions"],"initial":"dependsOnUserAgent","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-ms-scrollbar-3dlight-color"},"-ms-scrollbar-arrow-color":{"syntax":"<color>","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["Microsoft Extensions"],"initial":"ButtonText","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-ms-scrollbar-arrow-color"},"-ms-scrollbar-base-color":{"syntax":"<color>","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["Microsoft Extensions"],"initial":"dependsOnUserAgent","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-ms-scrollbar-base-color"},"-ms-scrollbar-darkshadow-color":{"syntax":"<color>","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["Microsoft Extensions"],"initial":"ThreeDDarkShadow","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-ms-scrollbar-darkshadow-color"},"-ms-scrollbar-face-color":{"syntax":"<color>","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["Microsoft Extensions"],"initial":"ThreeDFace","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-ms-scrollbar-face-color"},"-ms-scrollbar-highlight-color":{"syntax":"<color>","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["Microsoft Extensions"],"initial":"ThreeDHighlight","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-ms-scrollbar-highlight-color"},"-ms-scrollbar-shadow-color":{"syntax":"<color>","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["Microsoft Extensions"],"initial":"ThreeDDarkShadow","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-ms-scrollbar-shadow-color"},"-ms-scrollbar-track-color":{"syntax":"<color>","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["Microsoft Extensions"],"initial":"Scrollbar","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-ms-scrollbar-track-color"},"-ms-scroll-chaining":{"syntax":"chained | none","media":"interactive","inherited":false,"animationType":"discrete","percentages":"no","groups":["Microsoft Extensions"],"initial":"chained","appliesto":"nonReplacedBlockAndInlineBlockElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-ms-scroll-chaining"},"-ms-scroll-limit":{"syntax":"<\'-ms-scroll-limit-x-min\'> <\'-ms-scroll-limit-y-min\'> <\'-ms-scroll-limit-x-max\'> <\'-ms-scroll-limit-y-max\'>","media":"interactive","inherited":false,"animationType":"discrete","percentages":"no","groups":["Microsoft Extensions"],"initial":["-ms-scroll-limit-x-min","-ms-scroll-limit-y-min","-ms-scroll-limit-x-max","-ms-scroll-limit-y-max"],"appliesto":"nonReplacedBlockAndInlineBlockElements","computed":["-ms-scroll-limit-x-min","-ms-scroll-limit-y-min","-ms-scroll-limit-x-max","-ms-scroll-limit-y-max"],"order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-ms-scroll-limit"},"-ms-scroll-limit-x-max":{"syntax":"auto | <length>","media":"interactive","inherited":false,"animationType":"discrete","percentages":"no","groups":["Microsoft Extensions"],"initial":"auto","appliesto":"nonReplacedBlockAndInlineBlockElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-ms-scroll-limit-x-max"},"-ms-scroll-limit-x-min":{"syntax":"<length>","media":"interactive","inherited":false,"animationType":"discrete","percentages":"no","groups":["Microsoft Extensions"],"initial":"0","appliesto":"nonReplacedBlockAndInlineBlockElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-ms-scroll-limit-x-min"},"-ms-scroll-limit-y-max":{"syntax":"auto | <length>","media":"interactive","inherited":false,"animationType":"discrete","percentages":"no","groups":["Microsoft Extensions"],"initial":"auto","appliesto":"nonReplacedBlockAndInlineBlockElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-ms-scroll-limit-y-max"},"-ms-scroll-limit-y-min":{"syntax":"<length>","media":"interactive","inherited":false,"animationType":"discrete","percentages":"no","groups":["Microsoft Extensions"],"initial":"0","appliesto":"nonReplacedBlockAndInlineBlockElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-ms-scroll-limit-y-min"},"-ms-scroll-rails":{"syntax":"none | railed","media":"interactive","inherited":false,"animationType":"discrete","percentages":"no","groups":["Microsoft Extensions"],"initial":"railed","appliesto":"nonReplacedBlockAndInlineBlockElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-ms-scroll-rails"},"-ms-scroll-snap-points-x":{"syntax":"snapInterval( <length-percentage>, <length-percentage> ) | snapList( <length-percentage># )","media":"interactive","inherited":false,"animationType":"discrete","percentages":"no","groups":["Microsoft Extensions"],"initial":"snapInterval(0px, 100%)","appliesto":"nonReplacedBlockAndInlineBlockElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-ms-scroll-snap-points-x"},"-ms-scroll-snap-points-y":{"syntax":"snapInterval( <length-percentage>, <length-percentage> ) | snapList( <length-percentage># )","media":"interactive","inherited":false,"animationType":"discrete","percentages":"no","groups":["Microsoft Extensions"],"initial":"snapInterval(0px, 100%)","appliesto":"nonReplacedBlockAndInlineBlockElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-ms-scroll-snap-points-y"},"-ms-scroll-snap-type":{"syntax":"none | proximity | mandatory","media":"interactive","inherited":false,"animationType":"discrete","percentages":"no","groups":["Microsoft Extensions"],"initial":"none","appliesto":"nonReplacedBlockAndInlineBlockElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-ms-scroll-snap-type"},"-ms-scroll-snap-x":{"syntax":"<\'-ms-scroll-snap-type\'> <\'-ms-scroll-snap-points-x\'>","media":"interactive","inherited":false,"animationType":"discrete","percentages":"no","groups":["Microsoft Extensions"],"initial":["-ms-scroll-snap-type","-ms-scroll-snap-points-x"],"appliesto":"nonReplacedBlockAndInlineBlockElements","computed":["-ms-scroll-snap-type","-ms-scroll-snap-points-x"],"order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-ms-scroll-snap-x"},"-ms-scroll-snap-y":{"syntax":"<\'-ms-scroll-snap-type\'> <\'-ms-scroll-snap-points-y\'>","media":"interactive","inherited":false,"animationType":"discrete","percentages":"no","groups":["Microsoft Extensions"],"initial":["-ms-scroll-snap-type","-ms-scroll-snap-points-y"],"appliesto":"nonReplacedBlockAndInlineBlockElements","computed":["-ms-scroll-snap-type","-ms-scroll-snap-points-y"],"order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-ms-scroll-snap-y"},"-ms-scroll-translation":{"syntax":"none | vertical-to-horizontal","media":"interactive","inherited":true,"animationType":"discrete","percentages":"no","groups":["Microsoft Extensions"],"initial":"none","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-ms-scroll-translation"},"-ms-text-autospace":{"syntax":"none | ideograph-alpha | ideograph-numeric | ideograph-parenthesis | ideograph-space","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["Microsoft Extensions"],"initial":"none","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-ms-text-autospace"},"-ms-touch-select":{"syntax":"grippers | none","media":"interactive","inherited":true,"animationType":"discrete","percentages":"no","groups":["Microsoft Extensions"],"initial":"grippers","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-ms-touch-select"},"-ms-user-select":{"syntax":"none | element | text","media":"interactive","inherited":false,"animationType":"discrete","percentages":"no","groups":["Microsoft Extensions"],"initial":"text","appliesto":"nonReplacedElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-ms-user-select"},"-ms-wrap-flow":{"syntax":"auto | both | start | end | maximum | clear","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["Microsoft Extensions"],"initial":"auto","appliesto":"blockLevelElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-ms-wrap-flow"},"-ms-wrap-margin":{"syntax":"<length>","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["Microsoft Extensions"],"initial":"0","appliesto":"exclusionElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-ms-wrap-margin"},"-ms-wrap-through":{"syntax":"wrap | none","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["Microsoft Extensions"],"initial":"wrap","appliesto":"blockLevelElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-ms-wrap-through"},"-moz-appearance":{"syntax":"none | button | button-arrow-down | button-arrow-next | button-arrow-previous | button-arrow-up | button-bevel | button-focus | caret | checkbox | checkbox-container | checkbox-label | checkmenuitem | dualbutton | groupbox | listbox | listitem | menuarrow | menubar | menucheckbox | menuimage | menuitem | menuitemtext | menulist | menulist-button | menulist-text | menulist-textfield | menupopup | menuradio | menuseparator | meterbar | meterchunk | progressbar | progressbar-vertical | progresschunk | progresschunk-vertical | radio | radio-container | radio-label | radiomenuitem | range | range-thumb | resizer | resizerpanel | scale-horizontal | scalethumbend | scalethumb-horizontal | scalethumbstart | scalethumbtick | scalethumb-vertical | scale-vertical | scrollbarbutton-down | scrollbarbutton-left | scrollbarbutton-right | scrollbarbutton-up | scrollbarthumb-horizontal | scrollbarthumb-vertical | scrollbartrack-horizontal | scrollbartrack-vertical | searchfield | separator | sheet | spinner | spinner-downbutton | spinner-textfield | spinner-upbutton | splitter | statusbar | statusbarpanel | tab | tabpanel | tabpanels | tab-scroll-arrow-back | tab-scroll-arrow-forward | textfield | textfield-multiline | toolbar | toolbarbutton | toolbarbutton-dropdown | toolbargripper | toolbox | tooltip | treeheader | treeheadercell | treeheadersortarrow | treeitem | treeline | treetwisty | treetwistyopen | treeview | -moz-mac-unified-toolbar | -moz-win-borderless-glass | -moz-win-browsertabbar-toolbox | -moz-win-communicationstext | -moz-win-communications-toolbox | -moz-win-exclude-glass | -moz-win-glass | -moz-win-mediatext | -moz-win-media-toolbox | -moz-window-button-box | -moz-window-button-box-maximized | -moz-window-button-close | -moz-window-button-maximize | -moz-window-button-minimize | -moz-window-button-restore | -moz-window-frame-bottom | -moz-window-frame-left | -moz-window-frame-right | -moz-window-titlebar | -moz-window-titlebar-maximized","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["Mozilla Extensions","WebKit Extensions"],"initial":"noneButOverriddenInUserAgentCSS","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/appearance"},"-moz-binding":{"syntax":"<url> | none","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["Mozilla Extensions"],"initial":"none","appliesto":"allElementsExceptGeneratedContentOrPseudoElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-moz-binding"},"-moz-border-bottom-colors":{"syntax":"<color>+ | none","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["Mozilla Extensions"],"initial":"none","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-moz-border-bottom-colors"},"-moz-border-left-colors":{"syntax":"<color>+ | none","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["Mozilla Extensions"],"initial":"none","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-moz-border-left-colors"},"-moz-border-right-colors":{"syntax":"<color>+ | none","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["Mozilla Extensions"],"initial":"none","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-moz-border-right-colors"},"-moz-border-top-colors":{"syntax":"<color>+ | none","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["Mozilla Extensions"],"initial":"none","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-moz-border-top-colors"},"-moz-context-properties":{"syntax":"none | [ fill | fill-opacity | stroke | stroke-opacity ]#","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["Mozilla Extensions"],"initial":"none","appliesto":"allElementsThatCanReferenceImages","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-moz-context-properties"},"-moz-float-edge":{"syntax":"border-box | content-box | margin-box | padding-box","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["Mozilla Extensions"],"initial":"content-box","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-moz-float-edge"},"-moz-force-broken-image-icon":{"syntax":"<integer [0,1]>","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["Mozilla Extensions"],"initial":"0","appliesto":"images","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-moz-force-broken-image-icon"},"-moz-image-region":{"syntax":"<shape> | auto","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["Mozilla Extensions"],"initial":"auto","appliesto":"xulImageElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-moz-image-region"},"-moz-orient":{"syntax":"inline | block | horizontal | vertical","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["Mozilla Extensions"],"initial":"inline","appliesto":"anyElementEffectOnProgressAndMeter","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-moz-orient"},"-moz-outline-radius":{"syntax":"<outline-radius>{1,4} [ / <outline-radius>{1,4} ]?","media":"visual","inherited":false,"animationType":["-moz-outline-radius-topleft","-moz-outline-radius-topright","-moz-outline-radius-bottomright","-moz-outline-radius-bottomleft"],"percentages":["-moz-outline-radius-topleft","-moz-outline-radius-topright","-moz-outline-radius-bottomright","-moz-outline-radius-bottomleft"],"groups":["Mozilla Extensions"],"initial":["-moz-outline-radius-topleft","-moz-outline-radius-topright","-moz-outline-radius-bottomright","-moz-outline-radius-bottomleft"],"appliesto":"allElements","computed":["-moz-outline-radius-topleft","-moz-outline-radius-topright","-moz-outline-radius-bottomright","-moz-outline-radius-bottomleft"],"order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-moz-outline-radius"},"-moz-outline-radius-bottomleft":{"syntax":"<outline-radius>","media":"visual","inherited":false,"animationType":"lpc","percentages":"referToDimensionOfBorderBox","groups":["Mozilla Extensions"],"initial":"0","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-moz-outline-radius-bottomleft"},"-moz-outline-radius-bottomright":{"syntax":"<outline-radius>","media":"visual","inherited":false,"animationType":"lpc","percentages":"referToDimensionOfBorderBox","groups":["Mozilla Extensions"],"initial":"0","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-moz-outline-radius-bottomright"},"-moz-outline-radius-topleft":{"syntax":"<outline-radius>","media":"visual","inherited":false,"animationType":"lpc","percentages":"referToDimensionOfBorderBox","groups":["Mozilla Extensions"],"initial":"0","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-moz-outline-radius-topleft"},"-moz-outline-radius-topright":{"syntax":"<outline-radius>","media":"visual","inherited":false,"animationType":"lpc","percentages":"referToDimensionOfBorderBox","groups":["Mozilla Extensions"],"initial":"0","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-moz-outline-radius-topright"},"-moz-stack-sizing":{"syntax":"ignore | stretch-to-fit","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["Mozilla Extensions"],"initial":"stretch-to-fit","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-moz-stack-sizing"},"-moz-text-blink":{"syntax":"none | blink","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["Mozilla Extensions"],"initial":"none","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-moz-text-blink"},"-moz-user-focus":{"syntax":"ignore | normal | select-after | select-before | select-menu | select-same | select-all | none","media":"interactive","inherited":false,"animationType":"discrete","percentages":"no","groups":["Mozilla Extensions"],"initial":"none","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-moz-user-focus"},"-moz-user-input":{"syntax":"auto | none | enabled | disabled","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["Mozilla Extensions"],"initial":"auto","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-moz-user-input"},"-moz-user-modify":{"syntax":"read-only | read-write | write-only","media":"interactive","inherited":true,"animationType":"discrete","percentages":"no","groups":["Mozilla Extensions"],"initial":"read-only","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-moz-user-modify"},"-moz-window-dragging":{"syntax":"drag | no-drag","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["Mozilla Extensions"],"initial":"drag","appliesto":"allElementsCreatingNativeWindows","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-moz-window-dragging"},"-moz-window-shadow":{"syntax":"default | menu | tooltip | sheet | none","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["Mozilla Extensions"],"initial":"default","appliesto":"allElementsCreatingNativeWindows","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-moz-window-shadow"},"-webkit-appearance":{"syntax":"none | button | button-bevel | caret | checkbox | default-button | inner-spin-button | listbox | listitem | media-controls-background | media-controls-fullscreen-background | media-current-time-display | media-enter-fullscreen-button | media-exit-fullscreen-button | media-fullscreen-button | media-mute-button | media-overlay-play-button | media-play-button | media-seek-back-button | media-seek-forward-button | media-slider | media-sliderthumb | media-time-remaining-display | media-toggle-closed-captions-button | media-volume-slider | media-volume-slider-container | media-volume-sliderthumb | menulist | menulist-button | menulist-text | menulist-textfield | meter | progress-bar | progress-bar-value | push-button | radio | searchfield | searchfield-cancel-button | searchfield-decoration | searchfield-results-button | searchfield-results-decoration | slider-horizontal | slider-vertical | sliderthumb-horizontal | sliderthumb-vertical | square-button | textarea | textfield | -apple-pay-button","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["WebKit Extensions"],"initial":"noneButOverriddenInUserAgentCSS","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/appearance"},"-webkit-border-before":{"syntax":"<\'border-width\'> || <\'border-style\'> || <\'color\'>","media":"visual","inherited":true,"animationType":"discrete","percentages":["-webkit-border-before-width"],"groups":["WebKit Extensions"],"initial":["border-width","border-style","color"],"appliesto":"allElements","computed":["border-width","border-style","color"],"order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-webkit-border-before"},"-webkit-border-before-color":{"syntax":"<\'color\'>","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["WebKit Extensions"],"initial":"currentcolor","appliesto":"allElements","computed":"computedColor","order":"uniqueOrder","status":"nonstandard"},"-webkit-border-before-style":{"syntax":"<\'border-style\'>","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["WebKit Extensions"],"initial":"none","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard"},"-webkit-border-before-width":{"syntax":"<\'border-width\'>","media":"visual","inherited":true,"animationType":"discrete","percentages":"logicalWidthOfContainingBlock","groups":["WebKit Extensions"],"initial":"medium","appliesto":"allElements","computed":"absoluteLengthZeroIfBorderStyleNoneOrHidden","order":"uniqueOrder","status":"nonstandard"},"-webkit-box-reflect":{"syntax":"[ above | below | right | left ]? <length>? <image>?","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["WebKit Extensions"],"initial":"none","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-webkit-box-reflect"},"-webkit-line-clamp":{"syntax":"none | <integer>","media":"visual","inherited":false,"animationType":"byComputedValueType","percentages":"no","groups":["WebKit Extensions","CSS Overflow"],"initial":"none","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-webkit-line-clamp"},"-webkit-mask":{"syntax":"[ <mask-reference> || <position> [ / <bg-size> ]? || <repeat-style> || [ <box> | border | padding | content | text ] || [ <box> | border | padding | content ] ]#","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["WebKit Extensions"],"initial":["-webkit-mask-image","-webkit-mask-repeat","-webkit-mask-attachment","-webkit-mask-position","-webkit-mask-origin","-webkit-mask-clip"],"appliesto":"allElements","computed":["-webkit-mask-image","-webkit-mask-repeat","-webkit-mask-attachment","-webkit-mask-position","-webkit-mask-origin","-webkit-mask-clip"],"order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/mask"},"-webkit-mask-attachment":{"syntax":"<attachment>#","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["WebKit Extensions"],"initial":"scroll","appliesto":"allElements","computed":"asSpecified","order":"orderOfAppearance","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-webkit-mask-attachment"},"-webkit-mask-clip":{"syntax":"[ <box> | border | padding | content | text ]#","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["WebKit Extensions"],"initial":"border","appliesto":"allElements","computed":"asSpecified","order":"orderOfAppearance","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/mask-clip"},"-webkit-mask-composite":{"syntax":"<composite-style>#","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["WebKit Extensions"],"initial":"source-over","appliesto":"allElements","computed":"asSpecified","order":"orderOfAppearance","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-webkit-mask-composite"},"-webkit-mask-image":{"syntax":"<mask-reference>#","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["WebKit Extensions"],"initial":"none","appliesto":"allElements","computed":"absoluteURIOrNone","order":"orderOfAppearance","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/mask-image"},"-webkit-mask-origin":{"syntax":"[ <box> | border | padding | content ]#","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["WebKit Extensions"],"initial":"padding","appliesto":"allElements","computed":"asSpecified","order":"orderOfAppearance","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/mask-origin"},"-webkit-mask-position":{"syntax":"<position>#","media":"visual","inherited":false,"animationType":"discrete","percentages":"referToSizeOfElement","groups":["WebKit Extensions"],"initial":"0% 0%","appliesto":"allElements","computed":"absoluteLengthOrPercentage","order":"orderOfAppearance","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/mask-position"},"-webkit-mask-position-x":{"syntax":"[ <length-percentage> | left | center | right ]#","media":"visual","inherited":false,"animationType":"discrete","percentages":"referToSizeOfElement","groups":["WebKit Extensions"],"initial":"0%","appliesto":"allElements","computed":"absoluteLengthOrPercentage","order":"orderOfAppearance","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-webkit-mask-position-x"},"-webkit-mask-position-y":{"syntax":"[ <length-percentage> | top | center | bottom ]#","media":"visual","inherited":false,"animationType":"discrete","percentages":"referToSizeOfElement","groups":["WebKit Extensions"],"initial":"0%","appliesto":"allElements","computed":"absoluteLengthOrPercentage","order":"orderOfAppearance","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-webkit-mask-position-y"},"-webkit-mask-repeat":{"syntax":"<repeat-style>#","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["WebKit Extensions"],"initial":"repeat","appliesto":"allElements","computed":"asSpecified","order":"orderOfAppearance","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/mask-repeat"},"-webkit-mask-repeat-x":{"syntax":"repeat | no-repeat | space | round","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["WebKit Extensions"],"initial":"repeat","appliesto":"allElements","computed":"asSpecified","order":"orderOfAppearance","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-webkit-mask-repeat-x"},"-webkit-mask-repeat-y":{"syntax":"repeat | no-repeat | space | round","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["WebKit Extensions"],"initial":"repeat","appliesto":"allElements","computed":"absoluteLengthOrPercentage","order":"orderOfAppearance","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-webkit-mask-repeat-y"},"-webkit-mask-size":{"syntax":"<bg-size>#","media":"visual","inherited":false,"animationType":"discrete","percentages":"relativeToBackgroundPositioningArea","groups":["WebKit Extensions"],"initial":"auto auto","appliesto":"allElements","computed":"asSpecified","order":"orderOfAppearance","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/mask-size"},"-webkit-overflow-scrolling":{"syntax":"auto | touch","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["WebKit Extensions"],"initial":"auto","appliesto":"scrollingBoxes","computed":"asSpecified","order":"orderOfAppearance","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-webkit-overflow-scrolling"},"-webkit-tap-highlight-color":{"syntax":"<color>","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["WebKit Extensions"],"initial":"black","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-webkit-tap-highlight-color"},"-webkit-text-fill-color":{"syntax":"<color>","media":"visual","inherited":true,"animationType":"color","percentages":"no","groups":["WebKit Extensions"],"initial":"currentcolor","appliesto":"allElements","computed":"computedColor","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-webkit-text-fill-color"},"-webkit-text-stroke":{"syntax":"<length> || <color>","media":"visual","inherited":true,"animationType":["-webkit-text-stroke-width","-webkit-text-stroke-color"],"percentages":"no","groups":["WebKit Extensions"],"initial":["-webkit-text-stroke-width","-webkit-text-stroke-color"],"appliesto":"allElements","computed":["-webkit-text-stroke-width","-webkit-text-stroke-color"],"order":"canonicalOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-webkit-text-stroke"},"-webkit-text-stroke-color":{"syntax":"<color>","media":"visual","inherited":true,"animationType":"color","percentages":"no","groups":["WebKit Extensions"],"initial":"currentcolor","appliesto":"allElements","computed":"computedColor","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-webkit-text-stroke-color"},"-webkit-text-stroke-width":{"syntax":"<length>","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["WebKit Extensions"],"initial":"0","appliesto":"allElements","computed":"absoluteLength","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-webkit-text-stroke-width"},"-webkit-touch-callout":{"syntax":"default | none","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["WebKit Extensions"],"initial":"default","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/-webkit-touch-callout"},"-webkit-user-modify":{"syntax":"read-only | read-write | read-write-plaintext-only","media":"interactive","inherited":true,"animationType":"discrete","percentages":"no","groups":["WebKit Extensions"],"initial":"read-only","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard"},"align-content":{"syntax":"normal | <baseline-position> | <content-distribution> | <overflow-position>? <content-position>","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Box Alignment"],"initial":"normal","appliesto":"multilineFlexContainers","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/align-content"},"align-items":{"syntax":"normal | stretch | <baseline-position> | [ <overflow-position>? <self-position> ]","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Box Alignment"],"initial":"normal","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/align-items"},"align-self":{"syntax":"auto | normal | stretch | <baseline-position> | <overflow-position>? <self-position>","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Box Alignment"],"initial":"auto","appliesto":"flexItemsGridItemsAndAbsolutelyPositionedBoxes","computed":"autoOnAbsolutelyPositionedElementsValueOfAlignItemsOnParent","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/align-self"},"align-tracks":{"syntax":"[ normal | <baseline-position> | <content-distribution> | <overflow-position>? <content-position> ]#","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Grid Layout"],"initial":"normal","appliesto":"gridContainersWithMasonryLayoutInTheirBlockAxis","computed":"asSpecified","order":"uniqueOrder","status":"experimental","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/align-tracks"},"all":{"syntax":"initial | inherit | unset | revert","media":"noPracticalMedia","inherited":false,"animationType":"eachOfShorthandPropertiesExceptUnicodeBiDiAndDirection","percentages":"no","groups":["CSS Miscellaneous"],"initial":"noPracticalInitialValue","appliesto":"allElements","computed":"asSpecifiedAppliesToEachProperty","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/all"},"animation":{"syntax":"<single-animation>#","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Animations"],"initial":["animation-name","animation-duration","animation-timing-function","animation-delay","animation-iteration-count","animation-direction","animation-fill-mode","animation-play-state"],"appliesto":"allElementsAndPseudos","computed":["animation-name","animation-duration","animation-timing-function","animation-delay","animation-direction","animation-iteration-count","animation-fill-mode","animation-play-state"],"order":"orderOfAppearance","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/animation"},"animation-delay":{"syntax":"<time>#","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Animations"],"initial":"0s","appliesto":"allElementsAndPseudos","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/animation-delay"},"animation-direction":{"syntax":"<single-animation-direction>#","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Animations"],"initial":"normal","appliesto":"allElementsAndPseudos","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/animation-direction"},"animation-duration":{"syntax":"<time>#","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Animations"],"initial":"0s","appliesto":"allElementsAndPseudos","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/animation-duration"},"animation-fill-mode":{"syntax":"<single-animation-fill-mode>#","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Animations"],"initial":"none","appliesto":"allElementsAndPseudos","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/animation-fill-mode"},"animation-iteration-count":{"syntax":"<single-animation-iteration-count>#","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Animations"],"initial":"1","appliesto":"allElementsAndPseudos","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/animation-iteration-count"},"animation-name":{"syntax":"[ none | <keyframes-name> ]#","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Animations"],"initial":"none","appliesto":"allElementsAndPseudos","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/animation-name"},"animation-play-state":{"syntax":"<single-animation-play-state>#","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Animations"],"initial":"running","appliesto":"allElementsAndPseudos","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/animation-play-state"},"animation-timing-function":{"syntax":"<timing-function>#","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Animations"],"initial":"ease","appliesto":"allElementsAndPseudos","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/animation-timing-function"},"appearance":{"syntax":"none | auto | textfield | menulist-button | <compat-auto>","media":"all","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Basic User Interface"],"initial":"auto","appliesto":"allElements","computed":"asSpecified","order":"perGrammar","status":"experimental","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/appearance"},"aspect-ratio":{"syntax":"auto | <ratio>","media":"all","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Basic User Interface"],"initial":"auto","appliesto":"allElementsExceptInlineBoxesAndInternalRubyOrTableBoxes","computed":"asSpecified","order":"perGrammar","status":"experimental","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/aspect-ratio"},"azimuth":{"syntax":"<angle> | [ [ left-side | far-left | left | center-left | center | center-right | right | far-right | right-side ] || behind ] | leftwards | rightwards","media":"aural","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Speech"],"initial":"center","appliesto":"allElements","computed":"normalizedAngle","order":"orderOfAppearance","status":"obsolete","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/azimuth"},"backdrop-filter":{"syntax":"none | <filter-function-list>","media":"visual","inherited":false,"animationType":"filterList","percentages":"no","groups":["Filter Effects"],"initial":"none","appliesto":"allElementsSVGContainerElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/backdrop-filter"},"backface-visibility":{"syntax":"visible | hidden","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Transforms"],"initial":"visible","appliesto":"transformableElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/backface-visibility"},"background":{"syntax":"[ <bg-layer> , ]* <final-bg-layer>","media":"visual","inherited":false,"animationType":["background-color","background-image","background-clip","background-position","background-size","background-repeat","background-attachment"],"percentages":["background-position","background-size"],"groups":["CSS Backgrounds and Borders"],"initial":["background-image","background-position","background-size","background-repeat","background-origin","background-clip","background-attachment","background-color"],"appliesto":"allElements","computed":["background-image","background-position","background-size","background-repeat","background-origin","background-clip","background-attachment","background-color"],"order":"orderOfAppearance","alsoAppliesTo":["::first-letter","::first-line","::placeholder"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/background"},"background-attachment":{"syntax":"<attachment>#","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Backgrounds and Borders"],"initial":"scroll","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","alsoAppliesTo":["::first-letter","::first-line","::placeholder"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/background-attachment"},"background-blend-mode":{"syntax":"<blend-mode>#","media":"none","inherited":false,"animationType":"discrete","percentages":"no","groups":["Compositing and Blending"],"initial":"normal","appliesto":"allElementsSVGContainerGraphicsAndGraphicsReferencingElements","computed":"asSpecified","order":"uniqueOrder","alsoAppliesTo":["::first-letter","::first-line","::placeholder"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/background-blend-mode"},"background-clip":{"syntax":"<box>#","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Backgrounds and Borders"],"initial":"border-box","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","alsoAppliesTo":["::first-letter","::first-line","::placeholder"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/background-clip"},"background-color":{"syntax":"<color>","media":"visual","inherited":false,"animationType":"color","percentages":"no","groups":["CSS Backgrounds and Borders"],"initial":"transparent","appliesto":"allElements","computed":"computedColor","order":"uniqueOrder","alsoAppliesTo":["::first-letter","::first-line","::placeholder"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/background-color"},"background-image":{"syntax":"<bg-image>#","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Backgrounds and Borders"],"initial":"none","appliesto":"allElements","computed":"asSpecifiedURLsAbsolute","order":"uniqueOrder","alsoAppliesTo":["::first-letter","::first-line","::placeholder"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/background-image"},"background-origin":{"syntax":"<box>#","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Backgrounds and Borders"],"initial":"padding-box","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","alsoAppliesTo":["::first-letter","::first-line","::placeholder"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/background-origin"},"background-position":{"syntax":"<bg-position>#","media":"visual","inherited":false,"animationType":"repeatableListOfSimpleListOfLpc","percentages":"referToSizeOfBackgroundPositioningAreaMinusBackgroundImageSize","groups":["CSS Backgrounds and Borders"],"initial":"0% 0%","appliesto":"allElements","computed":"listEachItemTwoKeywordsOriginOffsets","order":"uniqueOrder","alsoAppliesTo":["::first-letter","::first-line","::placeholder"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/background-position"},"background-position-x":{"syntax":"[ center | [ [ left | right | x-start | x-end ]? <length-percentage>? ]! ]#","media":"visual","inherited":false,"animationType":"discrete","percentages":"referToWidthOfBackgroundPositioningAreaMinusBackgroundImageHeight","groups":["CSS Backgrounds and Borders"],"initial":"left","appliesto":"allElements","computed":"listEachItemConsistingOfAbsoluteLengthPercentageAndOrigin","order":"uniqueOrder","status":"experimental","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/background-position-x"},"background-position-y":{"syntax":"[ center | [ [ top | bottom | y-start | y-end ]? <length-percentage>? ]! ]#","media":"visual","inherited":false,"animationType":"discrete","percentages":"referToHeightOfBackgroundPositioningAreaMinusBackgroundImageHeight","groups":["CSS Backgrounds and Borders"],"initial":"top","appliesto":"allElements","computed":"listEachItemConsistingOfAbsoluteLengthPercentageAndOrigin","order":"uniqueOrder","status":"experimental","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/background-position-y"},"background-repeat":{"syntax":"<repeat-style>#","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Backgrounds and Borders"],"initial":"repeat","appliesto":"allElements","computed":"listEachItemHasTwoKeywordsOnePerDimension","order":"uniqueOrder","alsoAppliesTo":["::first-letter","::first-line","::placeholder"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/background-repeat"},"background-size":{"syntax":"<bg-size>#","media":"visual","inherited":false,"animationType":"repeatableListOfSimpleListOfLpc","percentages":"relativeToBackgroundPositioningArea","groups":["CSS Backgrounds and Borders"],"initial":"auto auto","appliesto":"allElements","computed":"asSpecifiedRelativeToAbsoluteLengths","order":"uniqueOrder","alsoAppliesTo":["::first-letter","::first-line","::placeholder"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/background-size"},"block-overflow":{"syntax":"clip | ellipsis | <string>","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Overflow"],"initial":"clip","appliesto":"blockContainers","computed":"asSpecified","order":"perGrammar","status":"experimental"},"block-size":{"syntax":"<\'width\'>","media":"visual","inherited":false,"animationType":"lpc","percentages":"blockSizeOfContainingBlock","groups":["CSS Logical Properties"],"initial":"auto","appliesto":"sameAsWidthAndHeight","computed":"sameAsWidthAndHeight","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/block-size"},"border":{"syntax":"<line-width> || <line-style> || <color>","media":"visual","inherited":false,"animationType":["border-color","border-style","border-width"],"percentages":"no","groups":["CSS Backgrounds and Borders"],"initial":["border-width","border-style","border-color"],"appliesto":"allElements","computed":["border-width","border-style","border-color"],"order":"orderOfAppearance","alsoAppliesTo":["::first-letter"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border"},"border-block":{"syntax":"<\'border-top-width\'> || <\'border-top-style\'> || <\'color\'>","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Logical Properties"],"initial":["border-top-width","border-top-style","border-top-color"],"appliesto":"allElements","computed":["border-top-width","border-top-style","border-top-color"],"order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-block"},"border-block-color":{"syntax":"<\'border-top-color\'>{1,2}","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Logical Properties"],"initial":"currentcolor","appliesto":"allElements","computed":"computedColor","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-block-color"},"border-block-style":{"syntax":"<\'border-top-style\'>","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Logical Properties"],"initial":"none","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-block-style"},"border-block-width":{"syntax":"<\'border-top-width\'>","media":"visual","inherited":false,"animationType":"discrete","percentages":"logicalWidthOfContainingBlock","groups":["CSS Logical Properties"],"initial":"medium","appliesto":"allElements","computed":"absoluteLengthZeroIfBorderStyleNoneOrHidden","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-block-width"},"border-block-end":{"syntax":"<\'border-top-width\'> || <\'border-top-style\'> || <\'color\'>","media":"visual","inherited":false,"animationType":["border-block-end-color","border-block-end-style","border-block-end-width"],"percentages":"no","groups":["CSS Logical Properties"],"initial":["border-top-width","border-top-style","border-top-color"],"appliesto":"allElements","computed":["border-top-width","border-top-style","border-top-color"],"order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-block-end"},"border-block-end-color":{"syntax":"<\'border-top-color\'>","media":"visual","inherited":false,"animationType":"color","percentages":"no","groups":["CSS Logical Properties"],"initial":"currentcolor","appliesto":"allElements","computed":"computedColor","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-block-end-color"},"border-block-end-style":{"syntax":"<\'border-top-style\'>","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Logical Properties"],"initial":"none","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-block-end-style"},"border-block-end-width":{"syntax":"<\'border-top-width\'>","media":"visual","inherited":false,"animationType":"length","percentages":"logicalWidthOfContainingBlock","groups":["CSS Logical Properties"],"initial":"medium","appliesto":"allElements","computed":"absoluteLengthZeroIfBorderStyleNoneOrHidden","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-block-end-width"},"border-block-start":{"syntax":"<\'border-top-width\'> || <\'border-top-style\'> || <\'color\'>","media":"visual","inherited":false,"animationType":["border-block-start-color","border-block-start-style","border-block-start-width"],"percentages":"no","groups":["CSS Logical Properties"],"initial":["border-width","border-style","color"],"appliesto":"allElements","computed":["border-width","border-style","border-block-start-color"],"order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-block-start"},"border-block-start-color":{"syntax":"<\'border-top-color\'>","media":"visual","inherited":false,"animationType":"color","percentages":"no","groups":["CSS Logical Properties"],"initial":"currentcolor","appliesto":"allElements","computed":"computedColor","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-block-start-color"},"border-block-start-style":{"syntax":"<\'border-top-style\'>","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Logical Properties"],"initial":"none","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-block-start-style"},"border-block-start-width":{"syntax":"<\'border-top-width\'>","media":"visual","inherited":false,"animationType":"length","percentages":"logicalWidthOfContainingBlock","groups":["CSS Logical Properties"],"initial":"medium","appliesto":"allElements","computed":"absoluteLengthZeroIfBorderStyleNoneOrHidden","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-block-start-width"},"border-bottom":{"syntax":"<line-width> || <line-style> || <color>","media":"visual","inherited":false,"animationType":["border-bottom-color","border-bottom-style","border-bottom-width"],"percentages":"no","groups":["CSS Backgrounds and Borders"],"initial":["border-bottom-width","border-bottom-style","border-bottom-color"],"appliesto":"allElements","computed":["border-bottom-width","border-bottom-style","border-bottom-color"],"order":"orderOfAppearance","alsoAppliesTo":["::first-letter"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-bottom"},"border-bottom-color":{"syntax":"<\'border-top-color\'>","media":"visual","inherited":false,"animationType":"color","percentages":"no","groups":["CSS Backgrounds and Borders"],"initial":"currentcolor","appliesto":"allElements","computed":"computedColor","order":"uniqueOrder","alsoAppliesTo":["::first-letter"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-bottom-color"},"border-bottom-left-radius":{"syntax":"<length-percentage>{1,2}","media":"visual","inherited":false,"animationType":"lpc","percentages":"referToDimensionOfBorderBox","groups":["CSS Backgrounds and Borders"],"initial":"0","appliesto":"allElementsUAsNotRequiredWhenCollapse","computed":"twoAbsoluteLengthOrPercentages","order":"uniqueOrder","alsoAppliesTo":["::first-letter"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-bottom-left-radius"},"border-bottom-right-radius":{"syntax":"<length-percentage>{1,2}","media":"visual","inherited":false,"animationType":"lpc","percentages":"referToDimensionOfBorderBox","groups":["CSS Backgrounds and Borders"],"initial":"0","appliesto":"allElementsUAsNotRequiredWhenCollapse","computed":"twoAbsoluteLengthOrPercentages","order":"uniqueOrder","alsoAppliesTo":["::first-letter"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-bottom-right-radius"},"border-bottom-style":{"syntax":"<line-style>","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Backgrounds and Borders"],"initial":"none","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","alsoAppliesTo":["::first-letter"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-bottom-style"},"border-bottom-width":{"syntax":"<line-width>","media":"visual","inherited":false,"animationType":"length","percentages":"no","groups":["CSS Backgrounds and Borders"],"initial":"medium","appliesto":"allElements","computed":"absoluteLengthOr0IfBorderBottomStyleNoneOrHidden","order":"uniqueOrder","alsoAppliesTo":["::first-letter"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-bottom-width"},"border-collapse":{"syntax":"collapse | separate","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Table"],"initial":"separate","appliesto":"tableElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-collapse"},"border-color":{"syntax":"<color>{1,4}","media":"visual","inherited":false,"animationType":["border-bottom-color","border-left-color","border-right-color","border-top-color"],"percentages":"no","groups":["CSS Backgrounds and Borders"],"initial":["border-top-color","border-right-color","border-bottom-color","border-left-color"],"appliesto":"allElements","computed":["border-bottom-color","border-left-color","border-right-color","border-top-color"],"order":"uniqueOrder","alsoAppliesTo":["::first-letter"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-color"},"border-end-end-radius":{"syntax":"<length-percentage>{1,2}","media":"visual","inherited":false,"animationType":"lpc","percentages":"referToDimensionOfBorderBox","groups":["CSS Logical Properties"],"initial":"0","appliesto":"allElementsUAsNotRequiredWhenCollapse","computed":"twoAbsoluteLengthOrPercentages","order":"uniqueOrder","alsoAppliesTo":["::first-letter"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-end-end-radius"},"border-end-start-radius":{"syntax":"<length-percentage>{1,2}","media":"visual","inherited":false,"animationType":"lpc","percentages":"referToDimensionOfBorderBox","groups":["CSS Logical Properties"],"initial":"0","appliesto":"allElementsUAsNotRequiredWhenCollapse","computed":"twoAbsoluteLengthOrPercentages","order":"uniqueOrder","alsoAppliesTo":["::first-letter"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-end-start-radius"},"border-image":{"syntax":"<\'border-image-source\'> || <\'border-image-slice\'> [ / <\'border-image-width\'> | / <\'border-image-width\'>? / <\'border-image-outset\'> ]? || <\'border-image-repeat\'>","media":"visual","inherited":false,"animationType":"discrete","percentages":["border-image-slice","border-image-width"],"groups":["CSS Backgrounds and Borders"],"initial":["border-image-source","border-image-slice","border-image-width","border-image-outset","border-image-repeat"],"appliesto":"allElementsExceptTableElementsWhenCollapse","computed":["border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width"],"order":"uniqueOrder","alsoAppliesTo":["::first-letter"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-image"},"border-image-outset":{"syntax":"[ <length> | <number> ]{1,4}","media":"visual","inherited":false,"animationType":"byComputedValueType","percentages":"no","groups":["CSS Backgrounds and Borders"],"initial":"0","appliesto":"allElementsExceptTableElementsWhenCollapse","computed":"asSpecifiedRelativeToAbsoluteLengths","order":"uniqueOrder","alsoAppliesTo":["::first-letter"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-image-outset"},"border-image-repeat":{"syntax":"[ stretch | repeat | round | space ]{1,2}","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Backgrounds and Borders"],"initial":"stretch","appliesto":"allElementsExceptTableElementsWhenCollapse","computed":"asSpecified","order":"uniqueOrder","alsoAppliesTo":["::first-letter"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-image-repeat"},"border-image-slice":{"syntax":"<number-percentage>{1,4} && fill?","media":"visual","inherited":false,"animationType":"byComputedValueType","percentages":"referToSizeOfBorderImage","groups":["CSS Backgrounds and Borders"],"initial":"100%","appliesto":"allElementsExceptTableElementsWhenCollapse","computed":"oneToFourPercentagesOrAbsoluteLengthsPlusFill","order":"percentagesOrLengthsFollowedByFill","alsoAppliesTo":["::first-letter"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-image-slice"},"border-image-source":{"syntax":"none | <image>","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Backgrounds and Borders"],"initial":"none","appliesto":"allElementsExceptTableElementsWhenCollapse","computed":"noneOrImageWithAbsoluteURI","order":"uniqueOrder","alsoAppliesTo":["::first-letter"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-image-source"},"border-image-width":{"syntax":"[ <length-percentage> | <number> | auto ]{1,4}","media":"visual","inherited":false,"animationType":"byComputedValueType","percentages":"referToWidthOrHeightOfBorderImageArea","groups":["CSS Backgrounds and Borders"],"initial":"1","appliesto":"allElementsExceptTableElementsWhenCollapse","computed":"asSpecifiedRelativeToAbsoluteLengths","order":"uniqueOrder","alsoAppliesTo":["::first-letter"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-image-width"},"border-inline":{"syntax":"<\'border-top-width\'> || <\'border-top-style\'> || <\'color\'>","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Logical Properties"],"initial":["border-top-width","border-top-style","border-top-color"],"appliesto":"allElements","computed":["border-top-width","border-top-style","border-top-color"],"order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-inline"},"border-inline-end":{"syntax":"<\'border-top-width\'> || <\'border-top-style\'> || <\'color\'>","media":"visual","inherited":false,"animationType":["border-inline-end-color","border-inline-end-style","border-inline-end-width"],"percentages":"no","groups":["CSS Logical Properties"],"initial":["border-width","border-style","color"],"appliesto":"allElements","computed":["border-width","border-style","border-inline-end-color"],"order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-inline-end"},"border-inline-color":{"syntax":"<\'border-top-color\'>{1,2}","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Logical Properties"],"initial":"currentcolor","appliesto":"allElements","computed":"computedColor","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-inline-color"},"border-inline-style":{"syntax":"<\'border-top-style\'>","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Logical Properties"],"initial":"none","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-inline-style"},"border-inline-width":{"syntax":"<\'border-top-width\'>","media":"visual","inherited":false,"animationType":"discrete","percentages":"logicalWidthOfContainingBlock","groups":["CSS Logical Properties"],"initial":"medium","appliesto":"allElements","computed":"absoluteLengthZeroIfBorderStyleNoneOrHidden","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-inline-width"},"border-inline-end-color":{"syntax":"<\'border-top-color\'>","media":"visual","inherited":false,"animationType":"color","percentages":"no","groups":["CSS Logical Properties"],"initial":"currentcolor","appliesto":"allElements","computed":"computedColor","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-inline-end-color"},"border-inline-end-style":{"syntax":"<\'border-top-style\'>","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Logical Properties"],"initial":"none","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-inline-end-style"},"border-inline-end-width":{"syntax":"<\'border-top-width\'>","media":"visual","inherited":false,"animationType":"length","percentages":"logicalWidthOfContainingBlock","groups":["CSS Logical Properties"],"initial":"medium","appliesto":"allElements","computed":"absoluteLengthZeroIfBorderStyleNoneOrHidden","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-inline-end-width"},"border-inline-start":{"syntax":"<\'border-top-width\'> || <\'border-top-style\'> || <\'color\'>","media":"visual","inherited":false,"animationType":["border-inline-start-color","border-inline-start-style","border-inline-start-width"],"percentages":"no","groups":["CSS Logical Properties"],"initial":["border-width","border-style","color"],"appliesto":"allElements","computed":["border-width","border-style","border-inline-start-color"],"order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-inline-start"},"border-inline-start-color":{"syntax":"<\'border-top-color\'>","media":"visual","inherited":false,"animationType":"color","percentages":"no","groups":["CSS Logical Properties"],"initial":"currentcolor","appliesto":"allElements","computed":"computedColor","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-inline-start-color"},"border-inline-start-style":{"syntax":"<\'border-top-style\'>","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Logical Properties"],"initial":"none","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-inline-start-style"},"border-inline-start-width":{"syntax":"<\'border-top-width\'>","media":"visual","inherited":false,"animationType":"length","percentages":"logicalWidthOfContainingBlock","groups":["CSS Logical Properties"],"initial":"medium","appliesto":"allElements","computed":"absoluteLengthZeroIfBorderStyleNoneOrHidden","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-inline-start-width"},"border-left":{"syntax":"<line-width> || <line-style> || <color>","media":"visual","inherited":false,"animationType":["border-left-color","border-left-style","border-left-width"],"percentages":"no","groups":["CSS Backgrounds and Borders"],"initial":["border-left-width","border-left-style","border-left-color"],"appliesto":"allElements","computed":["border-left-width","border-left-style","border-left-color"],"order":"orderOfAppearance","alsoAppliesTo":["::first-letter"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-left"},"border-left-color":{"syntax":"<color>","media":"visual","inherited":false,"animationType":"color","percentages":"no","groups":["CSS Backgrounds and Borders"],"initial":"currentcolor","appliesto":"allElements","computed":"computedColor","order":"uniqueOrder","alsoAppliesTo":["::first-letter"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-left-color"},"border-left-style":{"syntax":"<line-style>","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Backgrounds and Borders"],"initial":"none","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","alsoAppliesTo":["::first-letter"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-left-style"},"border-left-width":{"syntax":"<line-width>","media":"visual","inherited":false,"animationType":"length","percentages":"no","groups":["CSS Backgrounds and Borders"],"initial":"medium","appliesto":"allElements","computed":"absoluteLengthOr0IfBorderLeftStyleNoneOrHidden","order":"uniqueOrder","alsoAppliesTo":["::first-letter"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-left-width"},"border-radius":{"syntax":"<length-percentage>{1,4} [ / <length-percentage>{1,4} ]?","media":"visual","inherited":false,"animationType":["border-top-left-radius","border-top-right-radius","border-bottom-right-radius","border-bottom-left-radius"],"percentages":"referToDimensionOfBorderBox","groups":["CSS Backgrounds and Borders"],"initial":["border-top-left-radius","border-top-right-radius","border-bottom-right-radius","border-bottom-left-radius"],"appliesto":"allElementsUAsNotRequiredWhenCollapse","computed":["border-bottom-left-radius","border-bottom-right-radius","border-top-left-radius","border-top-right-radius"],"order":"uniqueOrder","alsoAppliesTo":["::first-letter"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-radius"},"border-right":{"syntax":"<line-width> || <line-style> || <color>","media":"visual","inherited":false,"animationType":["border-right-color","border-right-style","border-right-width"],"percentages":"no","groups":["CSS Backgrounds and Borders"],"initial":["border-right-width","border-right-style","border-right-color"],"appliesto":"allElements","computed":["border-right-width","border-right-style","border-right-color"],"order":"orderOfAppearance","alsoAppliesTo":["::first-letter"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-right"},"border-right-color":{"syntax":"<color>","media":"visual","inherited":false,"animationType":"color","percentages":"no","groups":["CSS Backgrounds and Borders"],"initial":"currentcolor","appliesto":"allElements","computed":"computedColor","order":"uniqueOrder","alsoAppliesTo":["::first-letter"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-right-color"},"border-right-style":{"syntax":"<line-style>","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Backgrounds and Borders"],"initial":"none","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","alsoAppliesTo":["::first-letter"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-right-style"},"border-right-width":{"syntax":"<line-width>","media":"visual","inherited":false,"animationType":"length","percentages":"no","groups":["CSS Backgrounds and Borders"],"initial":"medium","appliesto":"allElements","computed":"absoluteLengthOr0IfBorderRightStyleNoneOrHidden","order":"uniqueOrder","alsoAppliesTo":["::first-letter"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-right-width"},"border-spacing":{"syntax":"<length> <length>?","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Table"],"initial":"0","appliesto":"tableElements","computed":"twoAbsoluteLengths","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-spacing"},"border-start-end-radius":{"syntax":"<length-percentage>{1,2}","media":"visual","inherited":false,"animationType":"lpc","percentages":"referToDimensionOfBorderBox","groups":["CSS Logical Properties"],"initial":"0","appliesto":"allElementsUAsNotRequiredWhenCollapse","computed":"twoAbsoluteLengthOrPercentages","order":"uniqueOrder","alsoAppliesTo":["::first-letter"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-start-end-radius"},"border-start-start-radius":{"syntax":"<length-percentage>{1,2}","media":"visual","inherited":false,"animationType":"lpc","percentages":"referToDimensionOfBorderBox","groups":["CSS Logical Properties"],"initial":"0","appliesto":"allElementsUAsNotRequiredWhenCollapse","computed":"twoAbsoluteLengthOrPercentages","order":"uniqueOrder","alsoAppliesTo":["::first-letter"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-start-start-radius"},"border-style":{"syntax":"<line-style>{1,4}","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Backgrounds and Borders"],"initial":["border-top-style","border-right-style","border-bottom-style","border-left-style"],"appliesto":"allElements","computed":["border-bottom-style","border-left-style","border-right-style","border-top-style"],"order":"uniqueOrder","alsoAppliesTo":["::first-letter"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-style"},"border-top":{"syntax":"<line-width> || <line-style> || <color>","media":"visual","inherited":false,"animationType":["border-top-color","border-top-style","border-top-width"],"percentages":"no","groups":["CSS Backgrounds and Borders"],"initial":["border-top-width","border-top-style","border-top-color"],"appliesto":"allElements","computed":["border-top-width","border-top-style","border-top-color"],"order":"orderOfAppearance","alsoAppliesTo":["::first-letter"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-top"},"border-top-color":{"syntax":"<color>","media":"visual","inherited":false,"animationType":"color","percentages":"no","groups":["CSS Backgrounds and Borders"],"initial":"currentcolor","appliesto":"allElements","computed":"computedColor","order":"uniqueOrder","alsoAppliesTo":["::first-letter"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-top-color"},"border-top-left-radius":{"syntax":"<length-percentage>{1,2}","media":"visual","inherited":false,"animationType":"lpc","percentages":"referToDimensionOfBorderBox","groups":["CSS Backgrounds and Borders"],"initial":"0","appliesto":"allElementsUAsNotRequiredWhenCollapse","computed":"twoAbsoluteLengthOrPercentages","order":"uniqueOrder","alsoAppliesTo":["::first-letter"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-top-left-radius"},"border-top-right-radius":{"syntax":"<length-percentage>{1,2}","media":"visual","inherited":false,"animationType":"lpc","percentages":"referToDimensionOfBorderBox","groups":["CSS Backgrounds and Borders"],"initial":"0","appliesto":"allElementsUAsNotRequiredWhenCollapse","computed":"twoAbsoluteLengthOrPercentages","order":"uniqueOrder","alsoAppliesTo":["::first-letter"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-top-right-radius"},"border-top-style":{"syntax":"<line-style>","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Backgrounds and Borders"],"initial":"none","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","alsoAppliesTo":["::first-letter"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-top-style"},"border-top-width":{"syntax":"<line-width>","media":"visual","inherited":false,"animationType":"length","percentages":"no","groups":["CSS Backgrounds and Borders"],"initial":"medium","appliesto":"allElements","computed":"absoluteLengthOr0IfBorderTopStyleNoneOrHidden","order":"uniqueOrder","alsoAppliesTo":["::first-letter"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-top-width"},"border-width":{"syntax":"<line-width>{1,4}","media":"visual","inherited":false,"animationType":["border-bottom-width","border-left-width","border-right-width","border-top-width"],"percentages":"no","groups":["CSS Backgrounds and Borders"],"initial":["border-top-width","border-right-width","border-bottom-width","border-left-width"],"appliesto":"allElements","computed":["border-bottom-width","border-left-width","border-right-width","border-top-width"],"order":"uniqueOrder","alsoAppliesTo":["::first-letter"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/border-width"},"bottom":{"syntax":"<length> | <percentage> | auto","media":"visual","inherited":false,"animationType":"lpc","percentages":"referToContainingBlockHeight","groups":["CSS Positioning"],"initial":"auto","appliesto":"positionedElements","computed":"lengthAbsolutePercentageAsSpecifiedOtherwiseAuto","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/bottom"},"box-align":{"syntax":"start | center | end | baseline | stretch","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["Mozilla Extensions","WebKit Extensions"],"initial":"stretch","appliesto":"elementsWithDisplayBoxOrInlineBox","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/box-align"},"box-decoration-break":{"syntax":"slice | clone","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Fragmentation"],"initial":"slice","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/box-decoration-break"},"box-direction":{"syntax":"normal | reverse | inherit","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["Mozilla Extensions","WebKit Extensions"],"initial":"normal","appliesto":"elementsWithDisplayBoxOrInlineBox","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/box-direction"},"box-flex":{"syntax":"<number>","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["Mozilla Extensions","WebKit Extensions"],"initial":"0","appliesto":"directChildrenOfElementsWithDisplayMozBoxMozInlineBox","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/box-flex"},"box-flex-group":{"syntax":"<integer>","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["Mozilla Extensions","WebKit Extensions"],"initial":"1","appliesto":"inFlowChildrenOfBoxElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/box-flex-group"},"box-lines":{"syntax":"single | multiple","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["Mozilla Extensions","WebKit Extensions"],"initial":"single","appliesto":"boxElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/box-lines"},"box-ordinal-group":{"syntax":"<integer>","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["Mozilla Extensions","WebKit Extensions"],"initial":"1","appliesto":"childrenOfBoxElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/box-ordinal-group"},"box-orient":{"syntax":"horizontal | vertical | inline-axis | block-axis | inherit","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["Mozilla Extensions","WebKit Extensions"],"initial":"inlineAxisHorizontalInXUL","appliesto":"elementsWithDisplayBoxOrInlineBox","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/box-orient"},"box-pack":{"syntax":"start | center | end | justify","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["Mozilla Extensions","WebKit Extensions"],"initial":"start","appliesto":"elementsWithDisplayMozBoxMozInlineBox","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/box-pack"},"box-shadow":{"syntax":"none | <shadow>#","media":"visual","inherited":false,"animationType":"shadowList","percentages":"no","groups":["CSS Backgrounds and Borders"],"initial":"none","appliesto":"allElements","computed":"absoluteLengthsSpecifiedColorAsSpecified","order":"uniqueOrder","alsoAppliesTo":["::first-letter"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/box-shadow"},"box-sizing":{"syntax":"content-box | border-box","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Basic User Interface"],"initial":"content-box","appliesto":"allElementsAcceptingWidthOrHeight","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/box-sizing"},"break-after":{"syntax":"auto | avoid | always | all | avoid-page | page | left | right | recto | verso | avoid-column | column | avoid-region | region","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Fragmentation"],"initial":"auto","appliesto":"blockLevelElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/break-after"},"break-before":{"syntax":"auto | avoid | always | all | avoid-page | page | left | right | recto | verso | avoid-column | column | avoid-region | region","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Fragmentation"],"initial":"auto","appliesto":"blockLevelElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/break-before"},"break-inside":{"syntax":"auto | avoid | avoid-page | avoid-column | avoid-region","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Fragmentation"],"initial":"auto","appliesto":"blockLevelElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/break-inside"},"caption-side":{"syntax":"top | bottom | block-start | block-end | inline-start | inline-end","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Table"],"initial":"top","appliesto":"tableCaptionElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/caption-side"},"caret-color":{"syntax":"auto | <color>","media":"interactive","inherited":true,"animationType":"color","percentages":"no","groups":["CSS Basic User Interface"],"initial":"auto","appliesto":"allElements","computed":"asAutoOrColor","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/caret-color"},"clear":{"syntax":"none | left | right | both | inline-start | inline-end","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Positioning"],"initial":"none","appliesto":"blockLevelElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/clear"},"clip":{"syntax":"<shape> | auto","media":"visual","inherited":false,"animationType":"rectangle","percentages":"no","groups":["CSS Masking"],"initial":"auto","appliesto":"absolutelyPositionedElements","computed":"autoOrRectangle","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/clip"},"clip-path":{"syntax":"<clip-source> | [ <basic-shape> || <geometry-box> ] | none","media":"visual","inherited":false,"animationType":"basicShapeOtherwiseNo","percentages":"referToReferenceBoxWhenSpecifiedOtherwiseBorderBox","groups":["CSS Masking"],"initial":"none","appliesto":"allElementsSVGContainerElements","computed":"asSpecifiedURLsAbsolute","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/clip-path"},"color":{"syntax":"<color>","media":"visual","inherited":true,"animationType":"color","percentages":"no","groups":["CSS Color"],"initial":"variesFromBrowserToBrowser","appliesto":"allElements","computed":"translucentValuesRGBAOtherwiseRGB","order":"uniqueOrder","alsoAppliesTo":["::first-letter","::first-line","::placeholder"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/color"},"color-adjust":{"syntax":"economy | exact","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Color"],"initial":"economy","appliesto":"allElements","computed":"asSpecified","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/color-adjust"},"column-count":{"syntax":"<integer> | auto","media":"visual","inherited":false,"animationType":"integer","percentages":"no","groups":["CSS Columns"],"initial":"auto","appliesto":"blockContainersExceptTableWrappers","computed":"asSpecified","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/column-count"},"column-fill":{"syntax":"auto | balance | balance-all","media":"visualInContinuousMediaNoEffectInOverflowColumns","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Columns"],"initial":"balance","appliesto":"multicolElements","computed":"asSpecified","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/column-fill"},"column-gap":{"syntax":"normal | <length-percentage>","media":"visual","inherited":false,"animationType":"lpc","percentages":"referToDimensionOfContentArea","groups":["CSS Box Alignment"],"initial":"normal","appliesto":"multiColumnElementsFlexContainersGridContainers","computed":"asSpecifiedWithLengthsAbsoluteAndNormalComputingToZeroExceptMultiColumn","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/column-gap"},"column-rule":{"syntax":"<\'column-rule-width\'> || <\'column-rule-style\'> || <\'column-rule-color\'>","media":"visual","inherited":false,"animationType":["column-rule-color","column-rule-style","column-rule-width"],"percentages":"no","groups":["CSS Columns"],"initial":["column-rule-width","column-rule-style","column-rule-color"],"appliesto":"multicolElements","computed":["column-rule-color","column-rule-style","column-rule-width"],"order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/column-rule"},"column-rule-color":{"syntax":"<color>","media":"visual","inherited":false,"animationType":"color","percentages":"no","groups":["CSS Columns"],"initial":"currentcolor","appliesto":"multicolElements","computed":"computedColor","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/column-rule-color"},"column-rule-style":{"syntax":"<\'border-style\'>","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Columns"],"initial":"none","appliesto":"multicolElements","computed":"asSpecified","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/column-rule-style"},"column-rule-width":{"syntax":"<\'border-width\'>","media":"visual","inherited":false,"animationType":"length","percentages":"no","groups":["CSS Columns"],"initial":"medium","appliesto":"multicolElements","computed":"absoluteLength0IfColumnRuleStyleNoneOrHidden","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/column-rule-width"},"column-span":{"syntax":"none | all","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Columns"],"initial":"none","appliesto":"inFlowBlockLevelElements","computed":"asSpecified","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/column-span"},"column-width":{"syntax":"<length> | auto","media":"visual","inherited":false,"animationType":"length","percentages":"no","groups":["CSS Columns"],"initial":"auto","appliesto":"blockContainersExceptTableWrappers","computed":"absoluteLengthZeroOrLarger","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/column-width"},"columns":{"syntax":"<\'column-width\'> || <\'column-count\'>","media":"visual","inherited":false,"animationType":["column-width","column-count"],"percentages":"no","groups":["CSS Columns"],"initial":["column-width","column-count"],"appliesto":"blockContainersExceptTableWrappers","computed":["column-width","column-count"],"order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/columns"},"contain":{"syntax":"none | strict | content | [ size || layout || style || paint ]","media":"all","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Containment"],"initial":"none","appliesto":"allElements","computed":"asSpecified","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/contain"},"content":{"syntax":"normal | none | [ <content-replacement> | <content-list> ] [/ <string> ]?","media":"all","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Generated Content"],"initial":"normal","appliesto":"beforeAndAfterPseudos","computed":"normalOnElementsForPseudosNoneAbsoluteURIStringOrAsSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/content"},"counter-increment":{"syntax":"[ <custom-ident> <integer>? ]+ | none","media":"all","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Counter Styles"],"initial":"none","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/counter-increment"},"counter-reset":{"syntax":"[ <custom-ident> <integer>? ]+ | none","media":"all","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Counter Styles"],"initial":"none","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/counter-reset"},"counter-set":{"syntax":"[ <custom-ident> <integer>? ]+ | none","media":"all","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Counter Styles"],"initial":"none","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/counter-set"},"cursor":{"syntax":"[ [ <url> [ <x> <y> ]? , ]* [ auto | default | none | context-menu | help | pointer | progress | wait | cell | crosshair | text | vertical-text | alias | copy | move | no-drop | not-allowed | e-resize | n-resize | ne-resize | nw-resize | s-resize | se-resize | sw-resize | w-resize | ew-resize | ns-resize | nesw-resize | nwse-resize | col-resize | row-resize | all-scroll | zoom-in | zoom-out | grab | grabbing ] ]","media":["visual","interactive"],"inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Basic User Interface"],"initial":"auto","appliesto":"allElements","computed":"asSpecifiedURLsAbsolute","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/cursor"},"direction":{"syntax":"ltr | rtl","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Writing Modes"],"initial":"ltr","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/direction"},"display":{"syntax":"[ <display-outside> || <display-inside> ] | <display-listitem> | <display-internal> | <display-box> | <display-legacy>","media":"all","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Display"],"initial":"inline","appliesto":"allElements","computed":"asSpecifiedExceptPositionedFloatingAndRootElementsKeywordMaybeDifferent","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/display"},"empty-cells":{"syntax":"show | hide","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Table"],"initial":"show","appliesto":"tableCellElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/empty-cells"},"filter":{"syntax":"none | <filter-function-list>","media":"visual","inherited":false,"animationType":"filterList","percentages":"no","groups":["Filter Effects"],"initial":"none","appliesto":"allElementsSVGContainerElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/filter"},"flex":{"syntax":"none | [ <\'flex-grow\'> <\'flex-shrink\'>? || <\'flex-basis\'> ]","media":"visual","inherited":false,"animationType":["flex-grow","flex-shrink","flex-basis"],"percentages":"no","groups":["CSS Flexible Box Layout"],"initial":["flex-grow","flex-shrink","flex-basis"],"appliesto":"flexItemsAndInFlowPseudos","computed":["flex-grow","flex-shrink","flex-basis"],"order":"orderOfAppearance","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/flex"},"flex-basis":{"syntax":"content | <\'width\'>","media":"visual","inherited":false,"animationType":"lpc","percentages":"referToFlexContainersInnerMainSize","groups":["CSS Flexible Box Layout"],"initial":"auto","appliesto":"flexItemsAndInFlowPseudos","computed":"asSpecifiedRelativeToAbsoluteLengths","order":"lengthOrPercentageBeforeKeywordIfBothPresent","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/flex-basis"},"flex-direction":{"syntax":"row | row-reverse | column | column-reverse","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Flexible Box Layout"],"initial":"row","appliesto":"flexContainers","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/flex-direction"},"flex-flow":{"syntax":"<\'flex-direction\'> || <\'flex-wrap\'>","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Flexible Box Layout"],"initial":["flex-direction","flex-wrap"],"appliesto":"flexContainers","computed":["flex-direction","flex-wrap"],"order":"orderOfAppearance","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/flex-flow"},"flex-grow":{"syntax":"<number>","media":"visual","inherited":false,"animationType":"number","percentages":"no","groups":["CSS Flexible Box Layout"],"initial":"0","appliesto":"flexItemsAndInFlowPseudos","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/flex-grow"},"flex-shrink":{"syntax":"<number>","media":"visual","inherited":false,"animationType":"number","percentages":"no","groups":["CSS Flexible Box Layout"],"initial":"1","appliesto":"flexItemsAndInFlowPseudos","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/flex-shrink"},"flex-wrap":{"syntax":"nowrap | wrap | wrap-reverse","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Flexible Box Layout"],"initial":"nowrap","appliesto":"flexContainers","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/flex-wrap"},"float":{"syntax":"left | right | none | inline-start | inline-end","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Positioning"],"initial":"none","appliesto":"allElementsNoEffectIfDisplayNone","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/float"},"font":{"syntax":"[ [ <\'font-style\'> || <font-variant-css21> || <\'font-weight\'> || <\'font-stretch\'> ]? <\'font-size\'> [ / <\'line-height\'> ]? <\'font-family\'> ] | caption | icon | menu | message-box | small-caption | status-bar","media":"visual","inherited":true,"animationType":["font-style","font-variant","font-weight","font-stretch","font-size","line-height","font-family"],"percentages":["font-size","line-height"],"groups":["CSS Fonts"],"initial":["font-style","font-variant","font-weight","font-stretch","font-size","line-height","font-family"],"appliesto":"allElements","computed":["font-style","font-variant","font-weight","font-stretch","font-size","line-height","font-family"],"order":"orderOfAppearance","alsoAppliesTo":["::first-letter","::first-line","::placeholder"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/font"},"font-family":{"syntax":"[ <family-name> | <generic-family> ]#","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Fonts"],"initial":"dependsOnUserAgent","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","alsoAppliesTo":["::first-letter","::first-line","::placeholder"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/font-family"},"font-feature-settings":{"syntax":"normal | <feature-tag-value>#","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Fonts"],"initial":"normal","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","alsoAppliesTo":["::first-letter","::first-line","::placeholder"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/font-feature-settings"},"font-kerning":{"syntax":"auto | normal | none","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Fonts"],"initial":"auto","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","alsoAppliesTo":["::first-letter","::first-line","::placeholder"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/font-kerning"},"font-language-override":{"syntax":"normal | <string>","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Fonts"],"initial":"normal","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","alsoAppliesTo":["::first-letter","::first-line","::placeholder"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/font-language-override"},"font-optical-sizing":{"syntax":"auto | none","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Fonts"],"initial":"auto","appliesto":"allElements","computed":"asSpecified","order":"perGrammar","alsoAppliesTo":["::first-letter","::first-line","::placeholder"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/font-optical-sizing"},"font-variation-settings":{"syntax":"normal | [ <string> <number> ]#","media":"visual","inherited":true,"animationType":"transform","percentages":"no","groups":["CSS Fonts"],"initial":"normal","appliesto":"allElements","computed":"asSpecified","order":"perGrammar","alsoAppliesTo":["::first-letter","::first-line","::placeholder"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/font-variation-settings"},"font-size":{"syntax":"<absolute-size> | <relative-size> | <length-percentage>","media":"visual","inherited":true,"animationType":"length","percentages":"referToParentElementsFontSize","groups":["CSS Fonts"],"initial":"medium","appliesto":"allElements","computed":"asSpecifiedRelativeToAbsoluteLengths","order":"uniqueOrder","alsoAppliesTo":["::first-letter","::first-line","::placeholder"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/font-size"},"font-size-adjust":{"syntax":"none | <number>","media":"visual","inherited":true,"animationType":"number","percentages":"no","groups":["CSS Fonts"],"initial":"none","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","alsoAppliesTo":["::first-letter","::first-line","::placeholder"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/font-size-adjust"},"font-smooth":{"syntax":"auto | never | always | <absolute-size> | <length>","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Fonts"],"initial":"auto","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/font-smooth"},"font-stretch":{"syntax":"<font-stretch-absolute>","media":"visual","inherited":true,"animationType":"fontStretch","percentages":"no","groups":["CSS Fonts"],"initial":"normal","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","alsoAppliesTo":["::first-letter","::first-line","::placeholder"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/font-stretch"},"font-style":{"syntax":"normal | italic | oblique <angle>?","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Fonts"],"initial":"normal","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","alsoAppliesTo":["::first-letter","::first-line","::placeholder"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/font-style"},"font-synthesis":{"syntax":"none | [ weight || style ]","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Fonts"],"initial":"weight style","appliesto":"allElements","computed":"asSpecified","order":"orderOfAppearance","alsoAppliesTo":["::first-letter","::first-line","::placeholder"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/font-synthesis"},"font-variant":{"syntax":"normal | none | [ <common-lig-values> || <discretionary-lig-values> || <historical-lig-values> || <contextual-alt-values> || stylistic( <feature-value-name> ) || historical-forms || styleset( <feature-value-name># ) || character-variant( <feature-value-name># ) || swash( <feature-value-name> ) || ornaments( <feature-value-name> ) || annotation( <feature-value-name> ) || [ small-caps | all-small-caps | petite-caps | all-petite-caps | unicase | titling-caps ] || <numeric-figure-values> || <numeric-spacing-values> || <numeric-fraction-values> || ordinal || slashed-zero || <east-asian-variant-values> || <east-asian-width-values> || ruby ]","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Fonts"],"initial":"normal","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","alsoAppliesTo":["::first-letter","::first-line","::placeholder"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/font-variant"},"font-variant-alternates":{"syntax":"normal | [ stylistic( <feature-value-name> ) || historical-forms || styleset( <feature-value-name># ) || character-variant( <feature-value-name># ) || swash( <feature-value-name> ) || ornaments( <feature-value-name> ) || annotation( <feature-value-name> ) ]","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Fonts"],"initial":"normal","appliesto":"allElements","computed":"asSpecified","order":"orderOfAppearance","alsoAppliesTo":["::first-letter","::first-line","::placeholder"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/font-variant-alternates"},"font-variant-caps":{"syntax":"normal | small-caps | all-small-caps | petite-caps | all-petite-caps | unicase | titling-caps","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Fonts"],"initial":"normal","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","alsoAppliesTo":["::first-letter","::first-line","::placeholder"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/font-variant-caps"},"font-variant-east-asian":{"syntax":"normal | [ <east-asian-variant-values> || <east-asian-width-values> || ruby ]","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Fonts"],"initial":"normal","appliesto":"allElements","computed":"asSpecified","order":"orderOfAppearance","alsoAppliesTo":["::first-letter","::first-line","::placeholder"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/font-variant-east-asian"},"font-variant-ligatures":{"syntax":"normal | none | [ <common-lig-values> || <discretionary-lig-values> || <historical-lig-values> || <contextual-alt-values> ]","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Fonts"],"initial":"normal","appliesto":"allElements","computed":"asSpecified","order":"orderOfAppearance","alsoAppliesTo":["::first-letter","::first-line","::placeholder"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/font-variant-ligatures"},"font-variant-numeric":{"syntax":"normal | [ <numeric-figure-values> || <numeric-spacing-values> || <numeric-fraction-values> || ordinal || slashed-zero ]","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Fonts"],"initial":"normal","appliesto":"allElements","computed":"asSpecified","order":"orderOfAppearance","alsoAppliesTo":["::first-letter","::first-line","::placeholder"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/font-variant-numeric"},"font-variant-position":{"syntax":"normal | sub | super","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Fonts"],"initial":"normal","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","alsoAppliesTo":["::first-letter","::first-line","::placeholder"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/font-variant-position"},"font-weight":{"syntax":"<font-weight-absolute> | bolder | lighter","media":"visual","inherited":true,"animationType":"fontWeight","percentages":"no","groups":["CSS Fonts"],"initial":"normal","appliesto":"allElements","computed":"keywordOrNumericalValueBolderLighterTransformedToRealValue","order":"uniqueOrder","alsoAppliesTo":["::first-letter","::first-line","::placeholder"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/font-weight"},"gap":{"syntax":"<\'row-gap\'> <\'column-gap\'>?","media":"visual","inherited":false,"animationType":["row-gap","column-gap"],"percentages":"no","groups":["CSS Box Alignment"],"initial":["row-gap","column-gap"],"appliesto":"multiColumnElementsFlexContainersGridContainers","computed":["row-gap","column-gap"],"order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/gap"},"grid":{"syntax":"<\'grid-template\'> | <\'grid-template-rows\'> / [ auto-flow && dense? ] <\'grid-auto-columns\'>? | [ auto-flow && dense? ] <\'grid-auto-rows\'>? / <\'grid-template-columns\'>","media":"visual","inherited":false,"animationType":"discrete","percentages":["grid-template-rows","grid-template-columns","grid-auto-rows","grid-auto-columns"],"groups":["CSS Grid Layout"],"initial":["grid-template-rows","grid-template-columns","grid-template-areas","grid-auto-rows","grid-auto-columns","grid-auto-flow","grid-column-gap","grid-row-gap","column-gap","row-gap"],"appliesto":"gridContainers","computed":["grid-template-rows","grid-template-columns","grid-template-areas","grid-auto-rows","grid-auto-columns","grid-auto-flow","grid-column-gap","grid-row-gap","column-gap","row-gap"],"order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/grid"},"grid-area":{"syntax":"<grid-line> [ / <grid-line> ]{0,3}","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Grid Layout"],"initial":["grid-row-start","grid-column-start","grid-row-end","grid-column-end"],"appliesto":"gridItemsAndBoxesWithinGridContainer","computed":["grid-row-start","grid-column-start","grid-row-end","grid-column-end"],"order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/grid-area"},"grid-auto-columns":{"syntax":"<track-size>+","media":"visual","inherited":false,"animationType":"discrete","percentages":"referToDimensionOfContentArea","groups":["CSS Grid Layout"],"initial":"auto","appliesto":"gridContainers","computed":"percentageAsSpecifiedOrAbsoluteLength","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/grid-auto-columns"},"grid-auto-flow":{"syntax":"[ row | column ] || dense","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Grid Layout"],"initial":"row","appliesto":"gridContainers","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/grid-auto-flow"},"grid-auto-rows":{"syntax":"<track-size>+","media":"visual","inherited":false,"animationType":"discrete","percentages":"referToDimensionOfContentArea","groups":["CSS Grid Layout"],"initial":"auto","appliesto":"gridContainers","computed":"percentageAsSpecifiedOrAbsoluteLength","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/grid-auto-rows"},"grid-column":{"syntax":"<grid-line> [ / <grid-line> ]?","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Grid Layout"],"initial":["grid-column-start","grid-column-end"],"appliesto":"gridItemsAndBoxesWithinGridContainer","computed":["grid-column-start","grid-column-end"],"order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/grid-column"},"grid-column-end":{"syntax":"<grid-line>","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Grid Layout"],"initial":"auto","appliesto":"gridItemsAndBoxesWithinGridContainer","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/grid-column-end"},"grid-column-gap":{"syntax":"<length-percentage>","media":"visual","inherited":false,"animationType":"length","percentages":"referToDimensionOfContentArea","groups":["CSS Grid Layout"],"initial":"0","appliesto":"gridContainers","computed":"percentageAsSpecifiedOrAbsoluteLength","order":"uniqueOrder","status":"obsolete","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/column-gap"},"grid-column-start":{"syntax":"<grid-line>","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Grid Layout"],"initial":"auto","appliesto":"gridItemsAndBoxesWithinGridContainer","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/grid-column-start"},"grid-gap":{"syntax":"<\'grid-row-gap\'> <\'grid-column-gap\'>?","media":"visual","inherited":false,"animationType":["grid-row-gap","grid-column-gap"],"percentages":"no","groups":["CSS Grid Layout"],"initial":["grid-row-gap","grid-column-gap"],"appliesto":"gridContainers","computed":["grid-row-gap","grid-column-gap"],"order":"uniqueOrder","status":"obsolete","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/gap"},"grid-row":{"syntax":"<grid-line> [ / <grid-line> ]?","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Grid Layout"],"initial":["grid-row-start","grid-row-end"],"appliesto":"gridItemsAndBoxesWithinGridContainer","computed":["grid-row-start","grid-row-end"],"order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/grid-row"},"grid-row-end":{"syntax":"<grid-line>","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Grid Layout"],"initial":"auto","appliesto":"gridItemsAndBoxesWithinGridContainer","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/grid-row-end"},"grid-row-gap":{"syntax":"<length-percentage>","media":"visual","inherited":false,"animationType":"length","percentages":"referToDimensionOfContentArea","groups":["CSS Grid Layout"],"initial":"0","appliesto":"gridContainers","computed":"percentageAsSpecifiedOrAbsoluteLength","order":"uniqueOrder","status":"obsolete","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/row-gap"},"grid-row-start":{"syntax":"<grid-line>","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Grid Layout"],"initial":"auto","appliesto":"gridItemsAndBoxesWithinGridContainer","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/grid-row-start"},"grid-template":{"syntax":"none | [ <\'grid-template-rows\'> / <\'grid-template-columns\'> ] | [ <line-names>? <string> <track-size>? <line-names>? ]+ [ / <explicit-track-list> ]?","media":"visual","inherited":false,"animationType":"discrete","percentages":["grid-template-columns","grid-template-rows"],"groups":["CSS Grid Layout"],"initial":["grid-template-columns","grid-template-rows","grid-template-areas"],"appliesto":"gridContainers","computed":["grid-template-columns","grid-template-rows","grid-template-areas"],"order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/grid-template"},"grid-template-areas":{"syntax":"none | <string>+","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Grid Layout"],"initial":"none","appliesto":"gridContainers","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/grid-template-areas"},"grid-template-columns":{"syntax":"none | <track-list> | <auto-track-list> | subgrid <line-name-list>?","media":"visual","inherited":false,"animationType":"simpleListOfLpcDifferenceLpc","percentages":"referToDimensionOfContentArea","groups":["CSS Grid Layout"],"initial":"none","appliesto":"gridContainers","computed":"asSpecifiedRelativeToAbsoluteLengths","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/grid-template-columns"},"grid-template-rows":{"syntax":"none | <track-list> | <auto-track-list> | subgrid <line-name-list>?","media":"visual","inherited":false,"animationType":"simpleListOfLpcDifferenceLpc","percentages":"referToDimensionOfContentArea","groups":["CSS Grid Layout"],"initial":"none","appliesto":"gridContainers","computed":"asSpecifiedRelativeToAbsoluteLengths","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/grid-template-rows"},"hanging-punctuation":{"syntax":"none | [ first || [ force-end | allow-end ] || last ]","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Text"],"initial":"none","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/hanging-punctuation"},"height":{"syntax":"auto | <length> | <percentage> | min-content | max-content | fit-content(<length-percentage>)","media":"visual","inherited":false,"animationType":"lpc","percentages":"regardingHeightOfGeneratedBoxContainingBlockPercentagesRelativeToContainingBlock","groups":["CSS Box Model"],"initial":"auto","appliesto":"allElementsButNonReplacedAndTableColumns","computed":"percentageAutoOrAbsoluteLength","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/height"},"hyphens":{"syntax":"none | manual | auto","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Text"],"initial":"manual","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/hyphens"},"image-orientation":{"syntax":"from-image | <angle> | [ <angle>? flip ]","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Images"],"initial":"from-image","appliesto":"allElements","computed":"angleRoundedToNextQuarter","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/image-orientation"},"image-rendering":{"syntax":"auto | crisp-edges | pixelated","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Images"],"initial":"auto","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/image-rendering"},"image-resolution":{"syntax":"[ from-image || <resolution> ] && snap?","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Images"],"initial":"1dppx","appliesto":"allElements","computed":"asSpecifiedWithExceptionOfResolution","order":"uniqueOrder","status":"experimental"},"ime-mode":{"syntax":"auto | normal | active | inactive | disabled","media":"interactive","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Basic User Interface"],"initial":"auto","appliesto":"textFields","computed":"asSpecified","order":"uniqueOrder","status":"obsolete","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/ime-mode"},"initial-letter":{"syntax":"normal | [ <number> <integer>? ]","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Inline"],"initial":"normal","appliesto":"firstLetterPseudoElementsAndInlineLevelFirstChildren","computed":"asSpecified","order":"uniqueOrder","status":"experimental","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/initial-letter"},"initial-letter-align":{"syntax":"[ auto | alphabetic | hanging | ideographic ]","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Inline"],"initial":"auto","appliesto":"firstLetterPseudoElementsAndInlineLevelFirstChildren","computed":"asSpecified","order":"uniqueOrder","status":"experimental","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/initial-letter-align"},"inline-size":{"syntax":"<\'width\'>","media":"visual","inherited":false,"animationType":"lpc","percentages":"inlineSizeOfContainingBlock","groups":["CSS Logical Properties"],"initial":"auto","appliesto":"sameAsWidthAndHeight","computed":"sameAsWidthAndHeight","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/inline-size"},"inset":{"syntax":"<\'top\'>{1,4}","media":"visual","inherited":false,"animationType":"lpc","percentages":"logicalHeightOfContainingBlock","groups":["CSS Logical Properties"],"initial":"auto","appliesto":"positionedElements","computed":"sameAsBoxOffsets","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/inset"},"inset-block":{"syntax":"<\'top\'>{1,2}","media":"visual","inherited":false,"animationType":"lpc","percentages":"logicalHeightOfContainingBlock","groups":["CSS Logical Properties"],"initial":"auto","appliesto":"positionedElements","computed":"sameAsBoxOffsets","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/inset-block"},"inset-block-end":{"syntax":"<\'top\'>","media":"visual","inherited":false,"animationType":"lpc","percentages":"logicalHeightOfContainingBlock","groups":["CSS Logical Properties"],"initial":"auto","appliesto":"positionedElements","computed":"sameAsBoxOffsets","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/inset-block-end"},"inset-block-start":{"syntax":"<\'top\'>","media":"visual","inherited":false,"animationType":"lpc","percentages":"logicalHeightOfContainingBlock","groups":["CSS Logical Properties"],"initial":"auto","appliesto":"positionedElements","computed":"sameAsBoxOffsets","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/inset-block-start"},"inset-inline":{"syntax":"<\'top\'>{1,2}","media":"visual","inherited":false,"animationType":"lpc","percentages":"logicalWidthOfContainingBlock","groups":["CSS Logical Properties"],"initial":"auto","appliesto":"positionedElements","computed":"sameAsBoxOffsets","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/inset-inline"},"inset-inline-end":{"syntax":"<\'top\'>","media":"visual","inherited":false,"animationType":"lpc","percentages":"logicalWidthOfContainingBlock","groups":["CSS Logical Properties"],"initial":"auto","appliesto":"positionedElements","computed":"sameAsBoxOffsets","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/inset-inline-end"},"inset-inline-start":{"syntax":"<\'top\'>","media":"visual","inherited":false,"animationType":"lpc","percentages":"logicalWidthOfContainingBlock","groups":["CSS Logical Properties"],"initial":"auto","appliesto":"positionedElements","computed":"sameAsBoxOffsets","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/inset-inline-start"},"isolation":{"syntax":"auto | isolate","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["Compositing and Blending"],"initial":"auto","appliesto":"allElementsSVGContainerGraphicsAndGraphicsReferencingElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/isolation"},"justify-content":{"syntax":"normal | <content-distribution> | <overflow-position>? [ <content-position> | left | right ]","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Box Alignment"],"initial":"normal","appliesto":"flexContainers","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/justify-content"},"justify-items":{"syntax":"normal | stretch | <baseline-position> | <overflow-position>? [ <self-position> | left | right ] | legacy | legacy && [ left | right | center ]","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Box Alignment"],"initial":"legacy","appliesto":"allElements","computed":"asSpecified","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/justify-items"},"justify-self":{"syntax":"auto | normal | stretch | <baseline-position> | <overflow-position>? [ <self-position> | left | right ]","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Box Alignment"],"initial":"auto","appliesto":"blockLevelBoxesAndAbsolutelyPositionedBoxesAndGridItems","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/justify-self"},"justify-tracks":{"syntax":"[ normal | <content-distribution> | <overflow-position>? [ <content-position> | left | right ] ]#","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Grid Layout"],"initial":"normal","appliesto":"gridContainersWithMasonryLayoutInTheirInlineAxis","computed":"asSpecified","order":"uniqueOrder","status":"experimental","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/justify-tracks"},"left":{"syntax":"<length> | <percentage> | auto","media":"visual","inherited":false,"animationType":"lpc","percentages":"referToWidthOfContainingBlock","groups":["CSS Positioning"],"initial":"auto","appliesto":"positionedElements","computed":"lengthAbsolutePercentageAsSpecifiedOtherwiseAuto","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/left"},"letter-spacing":{"syntax":"normal | <length>","media":"visual","inherited":true,"animationType":"length","percentages":"no","groups":["CSS Text"],"initial":"normal","appliesto":"allElements","computed":"optimumValueOfAbsoluteLengthOrNormal","order":"uniqueOrder","alsoAppliesTo":["::first-letter","::first-line"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/letter-spacing"},"line-break":{"syntax":"auto | loose | normal | strict | anywhere","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Text"],"initial":"auto","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/line-break"},"line-clamp":{"syntax":"none | <integer>","media":"visual","inherited":false,"animationType":"integer","percentages":"no","groups":["CSS Overflow"],"initial":"none","appliesto":"blockContainersExceptMultiColumnContainers","computed":"asSpecified","order":"perGrammar","status":"experimental"},"line-height":{"syntax":"normal | <number> | <length> | <percentage>","media":"visual","inherited":true,"animationType":"numberOrLength","percentages":"referToElementFontSize","groups":["CSS Fonts"],"initial":"normal","appliesto":"allElements","computed":"absoluteLengthOrAsSpecified","order":"uniqueOrder","alsoAppliesTo":["::first-letter","::first-line","::placeholder"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/line-height"},"line-height-step":{"syntax":"<length>","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Fonts"],"initial":"0","appliesto":"blockContainers","computed":"absoluteLength","order":"perGrammar","status":"experimental","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/line-height-step"},"list-style":{"syntax":"<\'list-style-type\'> || <\'list-style-position\'> || <\'list-style-image\'>","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Lists and Counters"],"initial":["list-style-type","list-style-position","list-style-image"],"appliesto":"listItems","computed":["list-style-image","list-style-position","list-style-type"],"order":"orderOfAppearance","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/list-style"},"list-style-image":{"syntax":"<url> | none","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Lists and Counters"],"initial":"none","appliesto":"listItems","computed":"noneOrImageWithAbsoluteURI","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/list-style-image"},"list-style-position":{"syntax":"inside | outside","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Lists and Counters"],"initial":"outside","appliesto":"listItems","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/list-style-position"},"list-style-type":{"syntax":"<counter-style> | <string> | none","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Lists and Counters"],"initial":"disc","appliesto":"listItems","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/list-style-type"},"margin":{"syntax":"[ <length> | <percentage> | auto ]{1,4}","media":"visual","inherited":false,"animationType":"length","percentages":"referToWidthOfContainingBlock","groups":["CSS Box Model"],"initial":["margin-bottom","margin-left","margin-right","margin-top"],"appliesto":"allElementsExceptTableDisplayTypes","computed":["margin-bottom","margin-left","margin-right","margin-top"],"order":"uniqueOrder","alsoAppliesTo":["::first-letter","::first-line"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/margin"},"margin-block":{"syntax":"<\'margin-left\'>{1,2}","media":"visual","inherited":false,"animationType":"discrete","percentages":"dependsOnLayoutModel","groups":["CSS Logical Properties"],"initial":"0","appliesto":"sameAsMargin","computed":"lengthAbsolutePercentageAsSpecifiedOtherwiseAuto","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/margin-block"},"margin-block-end":{"syntax":"<\'margin-left\'>","media":"visual","inherited":false,"animationType":"length","percentages":"dependsOnLayoutModel","groups":["CSS Logical Properties"],"initial":"0","appliesto":"sameAsMargin","computed":"lengthAbsolutePercentageAsSpecifiedOtherwiseAuto","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/margin-block-end"},"margin-block-start":{"syntax":"<\'margin-left\'>","media":"visual","inherited":false,"animationType":"length","percentages":"dependsOnLayoutModel","groups":["CSS Logical Properties"],"initial":"0","appliesto":"sameAsMargin","computed":"lengthAbsolutePercentageAsSpecifiedOtherwiseAuto","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/margin-block-start"},"margin-bottom":{"syntax":"<length> | <percentage> | auto","media":"visual","inherited":false,"animationType":"length","percentages":"referToWidthOfContainingBlock","groups":["CSS Box Model"],"initial":"0","appliesto":"allElementsExceptTableDisplayTypes","computed":"percentageAsSpecifiedOrAbsoluteLength","order":"uniqueOrder","alsoAppliesTo":["::first-letter","::first-line"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/margin-bottom"},"margin-inline":{"syntax":"<\'margin-left\'>{1,2}","media":"visual","inherited":false,"animationType":"discrete","percentages":"dependsOnLayoutModel","groups":["CSS Logical Properties"],"initial":"0","appliesto":"sameAsMargin","computed":"lengthAbsolutePercentageAsSpecifiedOtherwiseAuto","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/margin-inline"},"margin-inline-end":{"syntax":"<\'margin-left\'>","media":"visual","inherited":false,"animationType":"length","percentages":"dependsOnLayoutModel","groups":["CSS Logical Properties"],"initial":"0","appliesto":"sameAsMargin","computed":"lengthAbsolutePercentageAsSpecifiedOtherwiseAuto","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/margin-inline-end"},"margin-inline-start":{"syntax":"<\'margin-left\'>","media":"visual","inherited":false,"animationType":"length","percentages":"dependsOnLayoutModel","groups":["CSS Logical Properties"],"initial":"0","appliesto":"sameAsMargin","computed":"lengthAbsolutePercentageAsSpecifiedOtherwiseAuto","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/margin-inline-start"},"margin-left":{"syntax":"<length> | <percentage> | auto","media":"visual","inherited":false,"animationType":"length","percentages":"referToWidthOfContainingBlock","groups":["CSS Box Model"],"initial":"0","appliesto":"allElementsExceptTableDisplayTypes","computed":"percentageAsSpecifiedOrAbsoluteLength","order":"uniqueOrder","alsoAppliesTo":["::first-letter","::first-line"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/margin-left"},"margin-right":{"syntax":"<length> | <percentage> | auto","media":"visual","inherited":false,"animationType":"length","percentages":"referToWidthOfContainingBlock","groups":["CSS Box Model"],"initial":"0","appliesto":"allElementsExceptTableDisplayTypes","computed":"percentageAsSpecifiedOrAbsoluteLength","order":"uniqueOrder","alsoAppliesTo":["::first-letter","::first-line"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/margin-right"},"margin-top":{"syntax":"<length> | <percentage> | auto","media":"visual","inherited":false,"animationType":"length","percentages":"referToWidthOfContainingBlock","groups":["CSS Box Model"],"initial":"0","appliesto":"allElementsExceptTableDisplayTypes","computed":"percentageAsSpecifiedOrAbsoluteLength","order":"uniqueOrder","alsoAppliesTo":["::first-letter","::first-line"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/margin-top"},"margin-trim":{"syntax":"none | in-flow | all","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Box Model"],"initial":"none","appliesto":"blockContainersAndMultiColumnContainers","computed":"asSpecified","order":"perGrammar","alsoAppliesTo":["::first-letter","::first-line"],"status":"experimental","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/margin-trim"},"mask":{"syntax":"<mask-layer>#","media":"visual","inherited":false,"animationType":["mask-image","mask-mode","mask-repeat","mask-position","mask-clip","mask-origin","mask-size","mask-composite"],"percentages":["mask-position"],"groups":["CSS Masking"],"initial":["mask-image","mask-mode","mask-repeat","mask-position","mask-clip","mask-origin","mask-size","mask-composite"],"appliesto":"allElementsSVGContainerElements","computed":["mask-image","mask-mode","mask-repeat","mask-position","mask-clip","mask-origin","mask-size","mask-composite"],"order":"perGrammar","stacking":true,"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/mask"},"mask-border":{"syntax":"<\'mask-border-source\'> || <\'mask-border-slice\'> [ / <\'mask-border-width\'>? [ / <\'mask-border-outset\'> ]? ]? || <\'mask-border-repeat\'> || <\'mask-border-mode\'>","media":"visual","inherited":false,"animationType":["mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width"],"percentages":["mask-border-slice","mask-border-width"],"groups":["CSS Masking"],"initial":["mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width"],"appliesto":"allElementsSVGContainerElements","computed":["mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width"],"order":"perGrammar","stacking":true,"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/mask-border"},"mask-border-mode":{"syntax":"luminance | alpha","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Masking"],"initial":"alpha","appliesto":"allElementsSVGContainerElements","computed":"asSpecified","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/mask-border-mode"},"mask-border-outset":{"syntax":"[ <length> | <number> ]{1,4}","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Masking"],"initial":"0","appliesto":"allElementsSVGContainerElements","computed":"asSpecifiedRelativeToAbsoluteLengths","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/mask-border-outset"},"mask-border-repeat":{"syntax":"[ stretch | repeat | round | space ]{1,2}","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Masking"],"initial":"stretch","appliesto":"allElementsSVGContainerElements","computed":"asSpecified","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/mask-border-repeat"},"mask-border-slice":{"syntax":"<number-percentage>{1,4} fill?","media":"visual","inherited":false,"animationType":"discrete","percentages":"referToSizeOfMaskBorderImage","groups":["CSS Masking"],"initial":"0","appliesto":"allElementsSVGContainerElements","computed":"asSpecified","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/mask-border-slice"},"mask-border-source":{"syntax":"none | <image>","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Masking"],"initial":"none","appliesto":"allElementsSVGContainerElements","computed":"asSpecifiedURLsAbsolute","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/mask-border-source"},"mask-border-width":{"syntax":"[ <length-percentage> | <number> | auto ]{1,4}","media":"visual","inherited":false,"animationType":"discrete","percentages":"relativeToMaskBorderImageArea","groups":["CSS Masking"],"initial":"auto","appliesto":"allElementsSVGContainerElements","computed":"asSpecifiedRelativeToAbsoluteLengths","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/mask-border-width"},"mask-clip":{"syntax":"[ <geometry-box> | no-clip ]#","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Masking"],"initial":"border-box","appliesto":"allElementsSVGContainerElements","computed":"asSpecified","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/mask-clip"},"mask-composite":{"syntax":"<compositing-operator>#","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Masking"],"initial":"add","appliesto":"allElementsSVGContainerElements","computed":"asSpecified","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/mask-composite"},"mask-image":{"syntax":"<mask-reference>#","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Masking"],"initial":"none","appliesto":"allElementsSVGContainerElements","computed":"asSpecifiedURLsAbsolute","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/mask-image"},"mask-mode":{"syntax":"<masking-mode>#","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Masking"],"initial":"match-source","appliesto":"allElementsSVGContainerElements","computed":"asSpecified","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/mask-mode"},"mask-origin":{"syntax":"<geometry-box>#","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Masking"],"initial":"border-box","appliesto":"allElementsSVGContainerElements","computed":"asSpecified","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/mask-origin"},"mask-position":{"syntax":"<position>#","media":"visual","inherited":false,"animationType":"repeatableListOfSimpleListOfLpc","percentages":"referToSizeOfMaskPaintingArea","groups":["CSS Masking"],"initial":"center","appliesto":"allElementsSVGContainerElements","computed":"consistsOfTwoKeywordsForOriginAndOffsets","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/mask-position"},"mask-repeat":{"syntax":"<repeat-style>#","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Masking"],"initial":"no-repeat","appliesto":"allElementsSVGContainerElements","computed":"consistsOfTwoDimensionKeywords","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/mask-repeat"},"mask-size":{"syntax":"<bg-size>#","media":"visual","inherited":false,"animationType":"repeatableListOfSimpleListOfLpc","percentages":"no","groups":["CSS Masking"],"initial":"auto","appliesto":"allElementsSVGContainerElements","computed":"asSpecifiedRelativeToAbsoluteLengths","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/mask-size"},"mask-type":{"syntax":"luminance | alpha","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Masking"],"initial":"luminance","appliesto":"maskElements","computed":"asSpecified","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/mask-type"},"masonry-auto-flow":{"syntax":"[ pack | next ] || [ definite-first | ordered ]","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Grid Layout"],"initial":"pack","appliesto":"gridContainersWithMasonryLayout","computed":"asSpecified","order":"uniqueOrder","status":"experimental","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/masonry-auto-flow"},"math-style":{"syntax":"normal | compact","media":"visual","inherited":true,"animationType":"notAnimatable","percentages":"no","groups":["MathML"],"initial":"normal","appliesto":"allElements","computed":"asSpecified","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/math-style"},"max-block-size":{"syntax":"<\'max-width\'>","media":"visual","inherited":false,"animationType":"lpc","percentages":"blockSizeOfContainingBlock","groups":["CSS Logical Properties"],"initial":"0","appliesto":"sameAsWidthAndHeight","computed":"sameAsMaxWidthAndMaxHeight","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/max-block-size"},"max-height":{"syntax":"none | <length-percentage> | min-content | max-content | fit-content(<length-percentage>)","media":"visual","inherited":false,"animationType":"lpc","percentages":"regardingHeightOfGeneratedBoxContainingBlockPercentagesNone","groups":["CSS Box Model"],"initial":"none","appliesto":"allElementsButNonReplacedAndTableColumns","computed":"percentageAsSpecifiedAbsoluteLengthOrNone","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/max-height"},"max-inline-size":{"syntax":"<\'max-width\'>","media":"visual","inherited":false,"animationType":"lpc","percentages":"inlineSizeOfContainingBlock","groups":["CSS Logical Properties"],"initial":"0","appliesto":"sameAsWidthAndHeight","computed":"sameAsMaxWidthAndMaxHeight","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/max-inline-size"},"max-lines":{"syntax":"none | <integer>","media":"visual","inherited":false,"animationType":"integer","percentages":"no","groups":["CSS Overflow"],"initial":"none","appliesto":"blockContainersExceptMultiColumnContainers","computed":"asSpecified","order":"perGrammar","status":"experimental"},"max-width":{"syntax":"none | <length-percentage> | min-content | max-content | fit-content(<length-percentage>)","media":"visual","inherited":false,"animationType":"lpc","percentages":"referToWidthOfContainingBlock","groups":["CSS Box Model"],"initial":"none","appliesto":"allElementsButNonReplacedAndTableRows","computed":"percentageAsSpecifiedAbsoluteLengthOrNone","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/max-width"},"min-block-size":{"syntax":"<\'min-width\'>","media":"visual","inherited":false,"animationType":"lpc","percentages":"blockSizeOfContainingBlock","groups":["CSS Logical Properties"],"initial":"0","appliesto":"sameAsWidthAndHeight","computed":"sameAsMinWidthAndMinHeight","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/min-block-size"},"min-height":{"syntax":"auto | <length> | <percentage> | min-content | max-content | fit-content(<length-percentage>)","media":"visual","inherited":false,"animationType":"lpc","percentages":"regardingHeightOfGeneratedBoxContainingBlockPercentages0","groups":["CSS Box Model"],"initial":"auto","appliesto":"allElementsButNonReplacedAndTableColumns","computed":"percentageAsSpecifiedOrAbsoluteLength","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/min-height"},"min-inline-size":{"syntax":"<\'min-width\'>","media":"visual","inherited":false,"animationType":"lpc","percentages":"inlineSizeOfContainingBlock","groups":["CSS Logical Properties"],"initial":"0","appliesto":"sameAsWidthAndHeight","computed":"sameAsMinWidthAndMinHeight","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/min-inline-size"},"min-width":{"syntax":"auto | <length> | <percentage> | min-content | max-content | fit-content(<length-percentage>)","media":"visual","inherited":false,"animationType":"lpc","percentages":"referToWidthOfContainingBlock","groups":["CSS Box Model"],"initial":"auto","appliesto":"allElementsButNonReplacedAndTableRows","computed":"percentageAsSpecifiedOrAbsoluteLength","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/min-width"},"mix-blend-mode":{"syntax":"<blend-mode>","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["Compositing and Blending"],"initial":"normal","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","stacking":true,"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/mix-blend-mode"},"object-fit":{"syntax":"fill | contain | cover | none | scale-down","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Images"],"initial":"fill","appliesto":"replacedElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/object-fit"},"object-position":{"syntax":"<position>","media":"visual","inherited":true,"animationType":"repeatableListOfSimpleListOfLpc","percentages":"referToWidthAndHeightOfElement","groups":["CSS Images"],"initial":"50% 50%","appliesto":"replacedElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/object-position"},"offset":{"syntax":"[ <\'offset-position\'>? [ <\'offset-path\'> [ <\'offset-distance\'> || <\'offset-rotate\'> ]? ]? ]! [ / <\'offset-anchor\'> ]?","media":"visual","inherited":false,"animationType":["offset-position","offset-path","offset-distance","offset-anchor","offset-rotate"],"percentages":["offset-position","offset-distance","offset-anchor"],"groups":["CSS Motion Path"],"initial":["offset-position","offset-path","offset-distance","offset-anchor","offset-rotate"],"appliesto":"transformableElements","computed":["offset-position","offset-path","offset-distance","offset-anchor","offset-rotate"],"order":"perGrammar","stacking":true,"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/offset"},"offset-anchor":{"syntax":"auto | <position>","media":"visual","inherited":false,"animationType":"position","percentages":"relativeToWidthAndHeight","groups":["CSS Motion Path"],"initial":"auto","appliesto":"transformableElements","computed":"forLengthAbsoluteValueOtherwisePercentage","order":"perGrammar","status":"standard"},"offset-distance":{"syntax":"<length-percentage>","media":"visual","inherited":false,"animationType":"lpc","percentages":"referToTotalPathLength","groups":["CSS Motion Path"],"initial":"0","appliesto":"transformableElements","computed":"forLengthAbsoluteValueOtherwisePercentage","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/offset-distance"},"offset-path":{"syntax":"none | ray( [ <angle> && <size> && contain? ] ) | <path()> | <url> | [ <basic-shape> || <geometry-box> ]","media":"visual","inherited":false,"animationType":"angleOrBasicShapeOrPath","percentages":"no","groups":["CSS Motion Path"],"initial":"none","appliesto":"transformableElements","computed":"asSpecified","order":"perGrammar","stacking":true,"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/offset-path"},"offset-position":{"syntax":"auto | <position>","media":"visual","inherited":false,"animationType":"position","percentages":"referToSizeOfContainingBlock","groups":["CSS Motion Path"],"initial":"auto","appliesto":"transformableElements","computed":"forLengthAbsoluteValueOtherwisePercentage","order":"perGrammar","status":"experimental"},"offset-rotate":{"syntax":"[ auto | reverse ] || <angle>","media":"visual","inherited":false,"animationType":"angleOrBasicShapeOrPath","percentages":"no","groups":["CSS Motion Path"],"initial":"auto","appliesto":"transformableElements","computed":"asSpecified","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/offset-rotate"},"opacity":{"syntax":"<alpha-value>","media":"visual","inherited":false,"animationType":"number","percentages":"no","groups":["CSS Color"],"initial":"1.0","appliesto":"allElements","computed":"specifiedValueClipped0To1","order":"uniqueOrder","alsoAppliesTo":["::placeholder"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/opacity"},"order":{"syntax":"<integer>","media":"visual","inherited":false,"animationType":"integer","percentages":"no","groups":["CSS Flexible Box Layout"],"initial":"0","appliesto":"flexItemsGridItemsAbsolutelyPositionedContainerChildren","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/order"},"orphans":{"syntax":"<integer>","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Fragmentation"],"initial":"2","appliesto":"blockContainerElements","computed":"asSpecified","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/orphans"},"outline":{"syntax":"[ <\'outline-color\'> || <\'outline-style\'> || <\'outline-width\'> ]","media":["visual","interactive"],"inherited":false,"animationType":["outline-color","outline-width","outline-style"],"percentages":"no","groups":["CSS Basic User Interface"],"initial":["outline-color","outline-style","outline-width"],"appliesto":"allElements","computed":["outline-color","outline-width","outline-style"],"order":"orderOfAppearance","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/outline"},"outline-color":{"syntax":"<color> | invert","media":["visual","interactive"],"inherited":false,"animationType":"color","percentages":"no","groups":["CSS Basic User Interface"],"initial":"invertOrCurrentColor","appliesto":"allElements","computed":"invertForTranslucentColorRGBAOtherwiseRGB","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/outline-color"},"outline-offset":{"syntax":"<length>","media":["visual","interactive"],"inherited":false,"animationType":"length","percentages":"no","groups":["CSS Basic User Interface"],"initial":"0","appliesto":"allElements","computed":"asSpecifiedRelativeToAbsoluteLengths","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/outline-offset"},"outline-style":{"syntax":"auto | <\'border-style\'>","media":["visual","interactive"],"inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Basic User Interface"],"initial":"none","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/outline-style"},"outline-width":{"syntax":"<line-width>","media":["visual","interactive"],"inherited":false,"animationType":"length","percentages":"no","groups":["CSS Basic User Interface"],"initial":"medium","appliesto":"allElements","computed":"absoluteLength0ForNone","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/outline-width"},"overflow":{"syntax":"[ visible | hidden | clip | scroll | auto ]{1,2}","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Overflow"],"initial":"visible","appliesto":"blockContainersFlexContainersGridContainers","computed":["overflow-x","overflow-y"],"order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/overflow"},"overflow-anchor":{"syntax":"auto | none","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Scroll Anchoring"],"initial":"auto","appliesto":"allElements","computed":"asSpecified","order":"perGrammar","status":"standard"},"overflow-block":{"syntax":"visible | hidden | clip | scroll | auto","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Overflow"],"initial":"auto","appliesto":"blockContainersFlexContainersGridContainers","computed":"asSpecifiedButVisibleOrClipReplacedToAutoOrHiddenIfOtherValueDifferent","order":"perGrammar","status":"standard"},"overflow-clip-box":{"syntax":"padding-box | content-box","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["Mozilla Extensions"],"initial":"padding-box","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Mozilla/CSS/overflow-clip-box"},"overflow-inline":{"syntax":"visible | hidden | clip | scroll | auto","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Overflow"],"initial":"auto","appliesto":"blockContainersFlexContainersGridContainers","computed":"asSpecifiedButVisibleOrClipReplacedToAutoOrHiddenIfOtherValueDifferent","order":"perGrammar","status":"standard"},"overflow-wrap":{"syntax":"normal | break-word | anywhere","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Text"],"initial":"normal","appliesto":"nonReplacedInlineElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/overflow-wrap"},"overflow-x":{"syntax":"visible | hidden | clip | scroll | auto","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Overflow"],"initial":"visible","appliesto":"blockContainersFlexContainersGridContainers","computed":"asSpecifiedButVisibleOrClipReplacedToAutoOrHiddenIfOtherValueDifferent","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/overflow-x"},"overflow-y":{"syntax":"visible | hidden | clip | scroll | auto","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Overflow"],"initial":"visible","appliesto":"blockContainersFlexContainersGridContainers","computed":"asSpecifiedButVisibleOrClipReplacedToAutoOrHiddenIfOtherValueDifferent","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/overflow-y"},"overscroll-behavior":{"syntax":"[ contain | none | auto ]{1,2}","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Box Model"],"initial":"auto","appliesto":"nonReplacedBlockAndInlineBlockElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/overscroll-behavior"},"overscroll-behavior-block":{"syntax":"contain | none | auto","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Box Model"],"initial":"auto","appliesto":"nonReplacedBlockAndInlineBlockElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/overscroll-behavior-block"},"overscroll-behavior-inline":{"syntax":"contain | none | auto","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Box Model"],"initial":"auto","appliesto":"nonReplacedBlockAndInlineBlockElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/overscroll-behavior-inline"},"overscroll-behavior-x":{"syntax":"contain | none | auto","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Box Model"],"initial":"auto","appliesto":"nonReplacedBlockAndInlineBlockElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/overscroll-behavior-x"},"overscroll-behavior-y":{"syntax":"contain | none | auto","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Box Model"],"initial":"auto","appliesto":"nonReplacedBlockAndInlineBlockElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/overscroll-behavior-y"},"padding":{"syntax":"[ <length> | <percentage> ]{1,4}","media":"visual","inherited":false,"animationType":"length","percentages":"referToWidthOfContainingBlock","groups":["CSS Box Model"],"initial":["padding-bottom","padding-left","padding-right","padding-top"],"appliesto":"allElementsExceptInternalTableDisplayTypes","computed":["padding-bottom","padding-left","padding-right","padding-top"],"order":"uniqueOrder","alsoAppliesTo":["::first-letter","::first-line"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/padding"},"padding-block":{"syntax":"<\'padding-left\'>{1,2}","media":"visual","inherited":false,"animationType":"discrete","percentages":"logicalWidthOfContainingBlock","groups":["CSS Logical Properties"],"initial":"0","appliesto":"allElements","computed":"asLength","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/padding-block"},"padding-block-end":{"syntax":"<\'padding-left\'>","media":"visual","inherited":false,"animationType":"length","percentages":"logicalWidthOfContainingBlock","groups":["CSS Logical Properties"],"initial":"0","appliesto":"allElements","computed":"asLength","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/padding-block-end"},"padding-block-start":{"syntax":"<\'padding-left\'>","media":"visual","inherited":false,"animationType":"length","percentages":"logicalWidthOfContainingBlock","groups":["CSS Logical Properties"],"initial":"0","appliesto":"allElements","computed":"asLength","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/padding-block-start"},"padding-bottom":{"syntax":"<length> | <percentage>","media":"visual","inherited":false,"animationType":"length","percentages":"referToWidthOfContainingBlock","groups":["CSS Box Model"],"initial":"0","appliesto":"allElementsExceptInternalTableDisplayTypes","computed":"percentageAsSpecifiedOrAbsoluteLength","order":"uniqueOrder","alsoAppliesTo":["::first-letter","::first-line"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/padding-bottom"},"padding-inline":{"syntax":"<\'padding-left\'>{1,2}","media":"visual","inherited":false,"animationType":"discrete","percentages":"logicalWidthOfContainingBlock","groups":["CSS Logical Properties"],"initial":"0","appliesto":"allElements","computed":"asLength","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/padding-inline"},"padding-inline-end":{"syntax":"<\'padding-left\'>","media":"visual","inherited":false,"animationType":"length","percentages":"logicalWidthOfContainingBlock","groups":["CSS Logical Properties"],"initial":"0","appliesto":"allElements","computed":"asLength","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/padding-inline-end"},"padding-inline-start":{"syntax":"<\'padding-left\'>","media":"visual","inherited":false,"animationType":"length","percentages":"logicalWidthOfContainingBlock","groups":["CSS Logical Properties"],"initial":"0","appliesto":"allElements","computed":"asLength","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/padding-inline-start"},"padding-left":{"syntax":"<length> | <percentage>","media":"visual","inherited":false,"animationType":"length","percentages":"referToWidthOfContainingBlock","groups":["CSS Box Model"],"initial":"0","appliesto":"allElementsExceptInternalTableDisplayTypes","computed":"percentageAsSpecifiedOrAbsoluteLength","order":"uniqueOrder","alsoAppliesTo":["::first-letter","::first-line"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/padding-left"},"padding-right":{"syntax":"<length> | <percentage>","media":"visual","inherited":false,"animationType":"length","percentages":"referToWidthOfContainingBlock","groups":["CSS Box Model"],"initial":"0","appliesto":"allElementsExceptInternalTableDisplayTypes","computed":"percentageAsSpecifiedOrAbsoluteLength","order":"uniqueOrder","alsoAppliesTo":["::first-letter","::first-line"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/padding-right"},"padding-top":{"syntax":"<length> | <percentage>","media":"visual","inherited":false,"animationType":"length","percentages":"referToWidthOfContainingBlock","groups":["CSS Box Model"],"initial":"0","appliesto":"allElementsExceptInternalTableDisplayTypes","computed":"percentageAsSpecifiedOrAbsoluteLength","order":"uniqueOrder","alsoAppliesTo":["::first-letter","::first-line"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/padding-top"},"page-break-after":{"syntax":"auto | always | avoid | left | right | recto | verso","media":["visual","paged"],"inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Pages"],"initial":"auto","appliesto":"blockElementsInNormalFlow","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/page-break-after"},"page-break-before":{"syntax":"auto | always | avoid | left | right | recto | verso","media":["visual","paged"],"inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Pages"],"initial":"auto","appliesto":"blockElementsInNormalFlow","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/page-break-before"},"page-break-inside":{"syntax":"auto | avoid","media":["visual","paged"],"inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Pages"],"initial":"auto","appliesto":"blockElementsInNormalFlow","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/page-break-inside"},"paint-order":{"syntax":"normal | [ fill || stroke || markers ]","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Text"],"initial":"normal","appliesto":"textElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/paint-order"},"perspective":{"syntax":"none | <length>","media":"visual","inherited":false,"animationType":"length","percentages":"no","groups":["CSS Transforms"],"initial":"none","appliesto":"transformableElements","computed":"absoluteLengthOrNone","order":"uniqueOrder","stacking":true,"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/perspective"},"perspective-origin":{"syntax":"<position>","media":"visual","inherited":false,"animationType":"simpleListOfLpc","percentages":"referToSizeOfBoundingBox","groups":["CSS Transforms"],"initial":"50% 50%","appliesto":"transformableElements","computed":"forLengthAbsoluteValueOtherwisePercentage","order":"oneOrTwoValuesLengthAbsoluteKeywordsPercentages","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/perspective-origin"},"place-content":{"syntax":"<\'align-content\'> <\'justify-content\'>?","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Box Alignment"],"initial":"normal","appliesto":"multilineFlexContainers","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/place-content"},"place-items":{"syntax":"<\'align-items\'> <\'justify-items\'>?","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Box Alignment"],"initial":["align-items","justify-items"],"appliesto":"allElements","computed":["align-items","justify-items"],"order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/place-items"},"place-self":{"syntax":"<\'align-self\'> <\'justify-self\'>?","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Box Alignment"],"initial":["align-self","justify-self"],"appliesto":"blockLevelBoxesAndAbsolutelyPositionedBoxesAndGridItems","computed":["align-self","justify-self"],"order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/place-self"},"pointer-events":{"syntax":"auto | none | visiblePainted | visibleFill | visibleStroke | visible | painted | fill | stroke | all | inherit","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["Pointer Events"],"initial":"auto","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/pointer-events"},"position":{"syntax":"static | relative | absolute | sticky | fixed","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Positioning"],"initial":"static","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","stacking":true,"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/position"},"quotes":{"syntax":"none | auto | [ <string> <string> ]+","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Generated Content"],"initial":"dependsOnUserAgent","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/quotes"},"resize":{"syntax":"none | both | horizontal | vertical | block | inline","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Basic User Interface"],"initial":"none","appliesto":"elementsWithOverflowNotVisibleAndReplacedElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/resize"},"right":{"syntax":"<length> | <percentage> | auto","media":"visual","inherited":false,"animationType":"lpc","percentages":"referToWidthOfContainingBlock","groups":["CSS Positioning"],"initial":"auto","appliesto":"positionedElements","computed":"lengthAbsolutePercentageAsSpecifiedOtherwiseAuto","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/right"},"rotate":{"syntax":"none | <angle> | [ x | y | z | <number>{3} ] && <angle>","media":"visual","inherited":false,"animationType":"transform","percentages":"no","groups":["CSS Transforms"],"initial":"none","appliesto":"transformableElements","computed":"asSpecified","order":"perGrammar","stacking":true,"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/rotate"},"row-gap":{"syntax":"normal | <length-percentage>","media":"visual","inherited":false,"animationType":"lpc","percentages":"referToDimensionOfContentArea","groups":["CSS Box Alignment"],"initial":"normal","appliesto":"multiColumnElementsFlexContainersGridContainers","computed":"asSpecifiedWithLengthsAbsoluteAndNormalComputingToZeroExceptMultiColumn","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/row-gap"},"ruby-align":{"syntax":"start | center | space-between | space-around","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Ruby"],"initial":"space-around","appliesto":"rubyBasesAnnotationsBaseAnnotationContainers","computed":"asSpecified","order":"uniqueOrder","status":"experimental","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/ruby-align"},"ruby-merge":{"syntax":"separate | collapse | auto","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Ruby"],"initial":"separate","appliesto":"rubyAnnotationsContainers","computed":"asSpecified","order":"uniqueOrder","status":"experimental"},"ruby-position":{"syntax":"over | under | inter-character","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Ruby"],"initial":"over","appliesto":"rubyAnnotationsContainers","computed":"asSpecified","order":"uniqueOrder","status":"experimental","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/ruby-position"},"scale":{"syntax":"none | <number>{1,3}","media":"visual","inherited":false,"animationType":"transform","percentages":"no","groups":["CSS Transforms"],"initial":"none","appliesto":"transformableElements","computed":"asSpecified","order":"perGrammar","stacking":true,"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/scale"},"scrollbar-color":{"syntax":"auto | dark | light | <color>{2}","media":"visual","inherited":true,"animationType":"color","percentages":"no","groups":["CSS Scrollbars"],"initial":"auto","appliesto":"scrollingBoxes","computed":"asSpecified","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/scrollbar-color"},"scrollbar-gutter":{"syntax":"auto | [ stable | always ] && both? && force?","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Overflow"],"initial":"auto","appliesto":"allElements","computed":"asSpecified","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/scrollbar-gutter"},"scrollbar-width":{"syntax":"auto | thin | none","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Scrollbars"],"initial":"auto","appliesto":"scrollingBoxes","computed":"asSpecified","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/scrollbar-width"},"scroll-behavior":{"syntax":"auto | smooth","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSSOM View"],"initial":"auto","appliesto":"scrollingBoxes","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/scroll-behavior"},"scroll-margin":{"syntax":"<length>{1,4}","media":"visual","inherited":false,"animationType":"byComputedValueType","percentages":"no","groups":["CSS Scroll Snap"],"initial":"0","appliesto":"allElements","computed":"asSpecified","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/scroll-margin"},"scroll-margin-block":{"syntax":"<length>{1,2}","media":"visual","inherited":false,"animationType":"byComputedValueType","percentages":"no","groups":["CSS Scroll Snap"],"initial":"0","appliesto":"allElements","computed":"asSpecified","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/scroll-margin-block"},"scroll-margin-block-start":{"syntax":"<length>","media":"visual","inherited":false,"animationType":"byComputedValueType","percentages":"no","groups":["CSS Scroll Snap"],"initial":"0","appliesto":"allElements","computed":"asSpecified","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/scroll-margin-block-start"},"scroll-margin-block-end":{"syntax":"<length>","media":"visual","inherited":false,"animationType":"byComputedValueType","percentages":"no","groups":["CSS Scroll Snap"],"initial":"0","appliesto":"allElements","computed":"asSpecified","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/scroll-margin-block-end"},"scroll-margin-bottom":{"syntax":"<length>","media":"visual","inherited":false,"animationType":"byComputedValueType","percentages":"no","groups":["CSS Scroll Snap"],"initial":"0","appliesto":"allElements","computed":"asSpecified","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/scroll-margin-bottom"},"scroll-margin-inline":{"syntax":"<length>{1,2}","media":"visual","inherited":false,"animationType":"byComputedValueType","percentages":"no","groups":["CSS Scroll Snap"],"initial":"0","appliesto":"allElements","computed":"asSpecified","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/scroll-margin-inline"},"scroll-margin-inline-start":{"syntax":"<length>","media":"visual","inherited":false,"animationType":"byComputedValueType","percentages":"no","groups":["CSS Scroll Snap"],"initial":"0","appliesto":"allElements","computed":"asSpecified","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/scroll-margin-inline-start"},"scroll-margin-inline-end":{"syntax":"<length>","media":"visual","inherited":false,"animationType":"byComputedValueType","percentages":"no","groups":["CSS Scroll Snap"],"initial":"0","appliesto":"allElements","computed":"asSpecified","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/scroll-margin-inline-end"},"scroll-margin-left":{"syntax":"<length>","media":"visual","inherited":false,"animationType":"byComputedValueType","percentages":"no","groups":["CSS Scroll Snap"],"initial":"0","appliesto":"allElements","computed":"asSpecified","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/scroll-margin-left"},"scroll-margin-right":{"syntax":"<length>","media":"visual","inherited":false,"animationType":"byComputedValueType","percentages":"no","groups":["CSS Scroll Snap"],"initial":"0","appliesto":"allElements","computed":"asSpecified","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/scroll-margin-right"},"scroll-margin-top":{"syntax":"<length>","media":"visual","inherited":false,"animationType":"byComputedValueType","percentages":"no","groups":["CSS Scroll Snap"],"initial":"0","appliesto":"allElements","computed":"asSpecified","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/scroll-margin-top"},"scroll-padding":{"syntax":"[ auto | <length-percentage> ]{1,4}","media":"visual","inherited":false,"animationType":"byComputedValueType","percentages":"relativeToTheScrollContainersScrollport","groups":["CSS Scroll Snap"],"initial":"auto","appliesto":"scrollContainers","computed":"asSpecified","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/scroll-padding"},"scroll-padding-block":{"syntax":"[ auto | <length-percentage> ]{1,2}","media":"visual","inherited":false,"animationType":"byComputedValueType","percentages":"relativeToTheScrollContainersScrollport","groups":["CSS Scroll Snap"],"initial":"auto","appliesto":"scrollContainers","computed":"asSpecified","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/scroll-padding-block"},"scroll-padding-block-start":{"syntax":"auto | <length-percentage>","media":"visual","inherited":false,"animationType":"byComputedValueType","percentages":"relativeToTheScrollContainersScrollport","groups":["CSS Scroll Snap"],"initial":"auto","appliesto":"scrollContainers","computed":"asSpecified","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/scroll-padding-block-start"},"scroll-padding-block-end":{"syntax":"auto | <length-percentage>","media":"visual","inherited":false,"animationType":"byComputedValueType","percentages":"relativeToTheScrollContainersScrollport","groups":["CSS Scroll Snap"],"initial":"auto","appliesto":"scrollContainers","computed":"asSpecified","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/scroll-padding-block-end"},"scroll-padding-bottom":{"syntax":"auto | <length-percentage>","media":"visual","inherited":false,"animationType":"byComputedValueType","percentages":"relativeToTheScrollContainersScrollport","groups":["CSS Scroll Snap"],"initial":"auto","appliesto":"scrollContainers","computed":"asSpecified","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/scroll-padding-bottom"},"scroll-padding-inline":{"syntax":"[ auto | <length-percentage> ]{1,2}","media":"visual","inherited":false,"animationType":"byComputedValueType","percentages":"relativeToTheScrollContainersScrollport","groups":["CSS Scroll Snap"],"initial":"auto","appliesto":"scrollContainers","computed":"asSpecified","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/scroll-padding-inline"},"scroll-padding-inline-start":{"syntax":"auto | <length-percentage>","media":"visual","inherited":false,"animationType":"byComputedValueType","percentages":"relativeToTheScrollContainersScrollport","groups":["CSS Scroll Snap"],"initial":"auto","appliesto":"scrollContainers","computed":"asSpecified","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/scroll-padding-inline-start"},"scroll-padding-inline-end":{"syntax":"auto | <length-percentage>","media":"visual","inherited":false,"animationType":"byComputedValueType","percentages":"relativeToTheScrollContainersScrollport","groups":["CSS Scroll Snap"],"initial":"auto","appliesto":"scrollContainers","computed":"asSpecified","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/scroll-padding-inline-end"},"scroll-padding-left":{"syntax":"auto | <length-percentage>","media":"visual","inherited":false,"animationType":"byComputedValueType","percentages":"relativeToTheScrollContainersScrollport","groups":["CSS Scroll Snap"],"initial":"auto","appliesto":"scrollContainers","computed":"asSpecified","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/scroll-padding-left"},"scroll-padding-right":{"syntax":"auto | <length-percentage>","media":"visual","inherited":false,"animationType":"byComputedValueType","percentages":"relativeToTheScrollContainersScrollport","groups":["CSS Scroll Snap"],"initial":"auto","appliesto":"scrollContainers","computed":"asSpecified","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/scroll-padding-right"},"scroll-padding-top":{"syntax":"auto | <length-percentage>","media":"visual","inherited":false,"animationType":"byComputedValueType","percentages":"relativeToTheScrollContainersScrollport","groups":["CSS Scroll Snap"],"initial":"auto","appliesto":"scrollContainers","computed":"asSpecified","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/scroll-padding-top"},"scroll-snap-align":{"syntax":"[ none | start | end | center ]{1,2}","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Scroll Snap"],"initial":"none","appliesto":"allElements","computed":"asSpecified","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/scroll-snap-align"},"scroll-snap-coordinate":{"syntax":"none | <position>#","media":"interactive","inherited":false,"animationType":"position","percentages":"referToBorderBox","groups":["CSS Scroll Snap"],"initial":"none","appliesto":"allElements","computed":"asSpecifiedRelativeToAbsoluteLengths","order":"uniqueOrder","status":"obsolete","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/scroll-snap-coordinate"},"scroll-snap-destination":{"syntax":"<position>","media":"interactive","inherited":false,"animationType":"position","percentages":"relativeToScrollContainerPaddingBoxAxis","groups":["CSS Scroll Snap"],"initial":"0px 0px","appliesto":"scrollContainers","computed":"asSpecifiedRelativeToAbsoluteLengths","order":"uniqueOrder","status":"obsolete","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/scroll-snap-destination"},"scroll-snap-points-x":{"syntax":"none | repeat( <length-percentage> )","media":"interactive","inherited":false,"animationType":"discrete","percentages":"relativeToScrollContainerPaddingBoxAxis","groups":["CSS Scroll Snap"],"initial":"none","appliesto":"scrollContainers","computed":"asSpecifiedRelativeToAbsoluteLengths","order":"uniqueOrder","status":"obsolete","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/scroll-snap-points-x"},"scroll-snap-points-y":{"syntax":"none | repeat( <length-percentage> )","media":"interactive","inherited":false,"animationType":"discrete","percentages":"relativeToScrollContainerPaddingBoxAxis","groups":["CSS Scroll Snap"],"initial":"none","appliesto":"scrollContainers","computed":"asSpecifiedRelativeToAbsoluteLengths","order":"uniqueOrder","status":"obsolete","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/scroll-snap-points-y"},"scroll-snap-stop":{"syntax":"normal | always","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Scroll Snap"],"initial":"normal","appliesto":"allElements","computed":"asSpecified","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/scroll-snap-stop"},"scroll-snap-type":{"syntax":"none | [ x | y | block | inline | both ] [ mandatory | proximity ]?","media":"interactive","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Scroll Snap"],"initial":"none","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/scroll-snap-type"},"scroll-snap-type-x":{"syntax":"none | mandatory | proximity","media":"interactive","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Scroll Snap"],"initial":"none","appliesto":"scrollContainers","computed":"asSpecified","order":"uniqueOrder","status":"obsolete","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/scroll-snap-type-x"},"scroll-snap-type-y":{"syntax":"none | mandatory | proximity","media":"interactive","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Scroll Snap"],"initial":"none","appliesto":"scrollContainers","computed":"asSpecified","order":"uniqueOrder","status":"obsolete","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/scroll-snap-type-y"},"shape-image-threshold":{"syntax":"<alpha-value>","media":"visual","inherited":false,"animationType":"number","percentages":"no","groups":["CSS Shapes"],"initial":"0.0","appliesto":"floats","computed":"specifiedValueNumberClipped0To1","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/shape-image-threshold"},"shape-margin":{"syntax":"<length-percentage>","media":"visual","inherited":false,"animationType":"lpc","percentages":"referToWidthOfContainingBlock","groups":["CSS Shapes"],"initial":"0","appliesto":"floats","computed":"asSpecifiedRelativeToAbsoluteLengths","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/shape-margin"},"shape-outside":{"syntax":"none | <shape-box> || <basic-shape> | <image>","media":"visual","inherited":false,"animationType":"basicShapeOtherwiseNo","percentages":"no","groups":["CSS Shapes"],"initial":"none","appliesto":"floats","computed":"asDefinedForBasicShapeWithAbsoluteURIOtherwiseAsSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/shape-outside"},"tab-size":{"syntax":"<integer> | <length>","media":"visual","inherited":true,"animationType":"length","percentages":"no","groups":["CSS Text"],"initial":"8","appliesto":"blockContainers","computed":"specifiedIntegerOrAbsoluteLength","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/tab-size"},"table-layout":{"syntax":"auto | fixed","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Table"],"initial":"auto","appliesto":"tableElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/table-layout"},"text-align":{"syntax":"start | end | left | right | center | justify | match-parent","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Text"],"initial":"startOrNamelessValueIfLTRRightIfRTL","appliesto":"blockContainers","computed":"asSpecifiedExceptMatchParent","order":"orderOfAppearance","alsoAppliesTo":["::placeholder"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/text-align"},"text-align-last":{"syntax":"auto | start | end | left | right | center | justify","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Text"],"initial":"auto","appliesto":"blockContainers","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/text-align-last"},"text-combine-upright":{"syntax":"none | all | [ digits <integer>? ]","media":"visual","inherited":true,"animationType":"notAnimatable","percentages":"no","groups":["CSS Writing Modes"],"initial":"none","appliesto":"nonReplacedInlineElements","computed":"keywordPlusIntegerIfDigits","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/text-combine-upright"},"text-decoration":{"syntax":"<\'text-decoration-line\'> || <\'text-decoration-style\'> || <\'text-decoration-color\'> || <\'text-decoration-thickness\'>","media":"visual","inherited":false,"animationType":["text-decoration-color","text-decoration-style","text-decoration-line","text-decoration-thickness"],"percentages":"no","groups":["CSS Text Decoration"],"initial":["text-decoration-color","text-decoration-style","text-decoration-line"],"appliesto":"allElements","computed":["text-decoration-line","text-decoration-style","text-decoration-color","text-decoration-thickness"],"order":"orderOfAppearance","alsoAppliesTo":["::first-letter","::first-line","::placeholder"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/text-decoration"},"text-decoration-color":{"syntax":"<color>","media":"visual","inherited":false,"animationType":"color","percentages":"no","groups":["CSS Text Decoration"],"initial":"currentcolor","appliesto":"allElements","computed":"computedColor","order":"uniqueOrder","alsoAppliesTo":["::first-letter","::first-line","::placeholder"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/text-decoration-color"},"text-decoration-line":{"syntax":"none | [ underline || overline || line-through || blink ] | spelling-error | grammar-error","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Text Decoration"],"initial":"none","appliesto":"allElements","computed":"asSpecified","order":"orderOfAppearance","alsoAppliesTo":["::first-letter","::first-line","::placeholder"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/text-decoration-line"},"text-decoration-skip":{"syntax":"none | [ objects || [ spaces | [ leading-spaces || trailing-spaces ] ] || edges || box-decoration ]","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Text Decoration"],"initial":"objects","appliesto":"allElements","computed":"asSpecified","order":"orderOfAppearance","status":"experimental","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/text-decoration-skip"},"text-decoration-skip-ink":{"syntax":"auto | all | none","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Text Decoration"],"initial":"auto","appliesto":"allElements","computed":"asSpecified","order":"orderOfAppearance","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/text-decoration-skip-ink"},"text-decoration-style":{"syntax":"solid | double | dotted | dashed | wavy","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Text Decoration"],"initial":"solid","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","alsoAppliesTo":["::first-letter","::first-line","::placeholder"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/text-decoration-style"},"text-decoration-thickness":{"syntax":"auto | from-font | <length> | <percentage> ","media":"visual","inherited":false,"animationType":"byComputedValueType","percentages":"referToElementFontSize","groups":["CSS Text Decoration"],"initial":"auto","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","alsoAppliesTo":["::first-letter","::first-line","::placeholder"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/text-decoration-thickness"},"text-emphasis":{"syntax":"<\'text-emphasis-style\'> || <\'text-emphasis-color\'>","media":"visual","inherited":false,"animationType":["text-emphasis-color","text-emphasis-style"],"percentages":"no","groups":["CSS Text Decoration"],"initial":["text-emphasis-style","text-emphasis-color"],"appliesto":"allElements","computed":["text-emphasis-style","text-emphasis-color"],"order":"orderOfAppearance","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/text-emphasis"},"text-emphasis-color":{"syntax":"<color>","media":"visual","inherited":false,"animationType":"color","percentages":"no","groups":["CSS Text Decoration"],"initial":"currentcolor","appliesto":"allElements","computed":"computedColor","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/text-emphasis-color"},"text-emphasis-position":{"syntax":"[ over | under ] && [ right | left ]","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Text Decoration"],"initial":"over right","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/text-emphasis-position"},"text-emphasis-style":{"syntax":"none | [ [ filled | open ] || [ dot | circle | double-circle | triangle | sesame ] ] | <string>","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Text Decoration"],"initial":"none","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/text-emphasis-style"},"text-indent":{"syntax":"<length-percentage> && hanging? && each-line?","media":"visual","inherited":true,"animationType":"lpc","percentages":"referToWidthOfContainingBlock","groups":["CSS Text"],"initial":"0","appliesto":"blockContainers","computed":"percentageOrAbsoluteLengthPlusKeywords","order":"lengthOrPercentageBeforeKeywords","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/text-indent"},"text-justify":{"syntax":"auto | inter-character | inter-word | none","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Text"],"initial":"auto","appliesto":"inlineLevelAndTableCellElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/text-justify"},"text-orientation":{"syntax":"mixed | upright | sideways","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Writing Modes"],"initial":"mixed","appliesto":"allElementsExceptTableRowGroupsRowsColumnGroupsAndColumns","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/text-orientation"},"text-overflow":{"syntax":"[ clip | ellipsis | <string> ]{1,2}","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Basic User Interface"],"initial":"clip","appliesto":"blockContainerElements","computed":"asSpecified","order":"uniqueOrder","alsoAppliesTo":["::placeholder"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/text-overflow"},"text-rendering":{"syntax":"auto | optimizeSpeed | optimizeLegibility | geometricPrecision","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Miscellaneous"],"initial":"auto","appliesto":"textElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/text-rendering"},"text-shadow":{"syntax":"none | <shadow-t>#","media":"visual","inherited":true,"animationType":"shadowList","percentages":"no","groups":["CSS Text Decoration"],"initial":"none","appliesto":"allElements","computed":"colorPlusThreeAbsoluteLengths","order":"uniqueOrder","alsoAppliesTo":["::first-letter","::first-line","::placeholder"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/text-shadow"},"text-size-adjust":{"syntax":"none | auto | <percentage>","media":"visual","inherited":true,"animationType":"discrete","percentages":"referToSizeOfFont","groups":["CSS Text"],"initial":"autoForSmartphoneBrowsersSupportingInflation","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"experimental","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/text-size-adjust"},"text-transform":{"syntax":"none | capitalize | uppercase | lowercase | full-width | full-size-kana","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Text"],"initial":"none","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","alsoAppliesTo":["::first-letter","::first-line","::placeholder"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/text-transform"},"text-underline-offset":{"syntax":"auto | <length> | <percentage> ","media":"visual","inherited":true,"animationType":"byComputedValueType","percentages":"referToElementFontSize","groups":["CSS Text Decoration"],"initial":"auto","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","alsoAppliesTo":["::first-letter","::first-line","::placeholder"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/text-underline-offset"},"text-underline-position":{"syntax":"auto | from-font | [ under || [ left | right ] ]","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Text Decoration"],"initial":"auto","appliesto":"allElements","computed":"asSpecified","order":"orderOfAppearance","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/text-underline-position"},"top":{"syntax":"<length> | <percentage> | auto","media":"visual","inherited":false,"animationType":"lpc","percentages":"referToContainingBlockHeight","groups":["CSS Positioning"],"initial":"auto","appliesto":"positionedElements","computed":"lengthAbsolutePercentageAsSpecifiedOtherwiseAuto","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/top"},"touch-action":{"syntax":"auto | none | [ [ pan-x | pan-left | pan-right ] || [ pan-y | pan-up | pan-down ] || pinch-zoom ] | manipulation","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["Pointer Events"],"initial":"auto","appliesto":"allElementsExceptNonReplacedInlineElementsTableRowsColumnsRowColumnGroups","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/touch-action"},"transform":{"syntax":"none | <transform-list>","media":"visual","inherited":false,"animationType":"transform","percentages":"referToSizeOfBoundingBox","groups":["CSS Transforms"],"initial":"none","appliesto":"transformableElements","computed":"asSpecifiedRelativeToAbsoluteLengths","order":"uniqueOrder","stacking":true,"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/transform"},"transform-box":{"syntax":"content-box | border-box | fill-box | stroke-box | view-box","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Transforms"],"initial":"view-box","appliesto":"transformableElements","computed":"asSpecified","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/transform-box"},"transform-origin":{"syntax":"[ <length-percentage> | left | center | right | top | bottom ] | [ [ <length-percentage> | left | center | right ] && [ <length-percentage> | top | center | bottom ] ] <length>?","media":"visual","inherited":false,"animationType":"simpleListOfLpc","percentages":"referToSizeOfBoundingBox","groups":["CSS Transforms"],"initial":"50% 50% 0","appliesto":"transformableElements","computed":"forLengthAbsoluteValueOtherwisePercentage","order":"oneOrTwoValuesLengthAbsoluteKeywordsPercentages","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/transform-origin"},"transform-style":{"syntax":"flat | preserve-3d","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Transforms"],"initial":"flat","appliesto":"transformableElements","computed":"asSpecified","order":"uniqueOrder","stacking":true,"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/transform-style"},"transition":{"syntax":"<single-transition>#","media":"interactive","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Transitions"],"initial":["transition-delay","transition-duration","transition-property","transition-timing-function"],"appliesto":"allElementsAndPseudos","computed":["transition-delay","transition-duration","transition-property","transition-timing-function"],"order":"orderOfAppearance","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/transition"},"transition-delay":{"syntax":"<time>#","media":"interactive","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Transitions"],"initial":"0s","appliesto":"allElementsAndPseudos","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/transition-delay"},"transition-duration":{"syntax":"<time>#","media":"interactive","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Transitions"],"initial":"0s","appliesto":"allElementsAndPseudos","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/transition-duration"},"transition-property":{"syntax":"none | <single-transition-property>#","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Transitions"],"initial":"all","appliesto":"allElementsAndPseudos","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/transition-property"},"transition-timing-function":{"syntax":"<timing-function>#","media":"interactive","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Transitions"],"initial":"ease","appliesto":"allElementsAndPseudos","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/transition-timing-function"},"translate":{"syntax":"none | <length-percentage> [ <length-percentage> <length>? ]?","media":"visual","inherited":false,"animationType":"transform","percentages":"referToSizeOfBoundingBox","groups":["CSS Transforms"],"initial":"none","appliesto":"transformableElements","computed":"asSpecifiedRelativeToAbsoluteLengths","order":"perGrammar","stacking":true,"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/translate"},"unicode-bidi":{"syntax":"normal | embed | isolate | bidi-override | isolate-override | plaintext","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Writing Modes"],"initial":"normal","appliesto":"allElementsSomeValuesNoEffectOnNonInlineElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/unicode-bidi"},"user-select":{"syntax":"auto | text | none | contain | all","media":"visual","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Basic User Interface"],"initial":"auto","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/user-select"},"vertical-align":{"syntax":"baseline | sub | super | text-top | text-bottom | middle | top | bottom | <percentage> | <length>","media":"visual","inherited":false,"animationType":"length","percentages":"referToLineHeight","groups":["CSS Table"],"initial":"baseline","appliesto":"inlineLevelAndTableCellElements","computed":"absoluteLengthOrKeyword","order":"uniqueOrder","alsoAppliesTo":["::first-letter","::first-line","::placeholder"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/vertical-align"},"visibility":{"syntax":"visible | hidden | collapse","media":"visual","inherited":true,"animationType":"visibility","percentages":"no","groups":["CSS Box Model"],"initial":"visible","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/visibility"},"white-space":{"syntax":"normal | pre | nowrap | pre-wrap | pre-line | break-spaces","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Text"],"initial":"normal","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/white-space"},"widows":{"syntax":"<integer>","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Fragmentation"],"initial":"2","appliesto":"blockContainerElements","computed":"asSpecified","order":"perGrammar","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/widows"},"width":{"syntax":"auto | <length> | <percentage> | min-content | max-content | fit-content(<length-percentage>)","media":"visual","inherited":false,"animationType":"lpc","percentages":"referToWidthOfContainingBlock","groups":["CSS Box Model"],"initial":"auto","appliesto":"allElementsButNonReplacedAndTableRows","computed":"percentageAutoOrAbsoluteLength","order":"lengthOrPercentageBeforeKeywordIfBothPresent","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/width"},"will-change":{"syntax":"auto | <animateable-feature>#","media":"all","inherited":false,"animationType":"discrete","percentages":"no","groups":["CSS Will Change"],"initial":"auto","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/will-change"},"word-break":{"syntax":"normal | break-all | keep-all | break-word","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Text"],"initial":"normal","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/word-break"},"word-spacing":{"syntax":"normal | <length-percentage>","media":"visual","inherited":true,"animationType":"length","percentages":"referToWidthOfAffectedGlyph","groups":["CSS Text"],"initial":"normal","appliesto":"allElements","computed":"optimumMinAndMaxValueOfAbsoluteLengthPercentageOrNormal","order":"uniqueOrder","alsoAppliesTo":["::first-letter","::first-line","::placeholder"],"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/word-spacing"},"word-wrap":{"syntax":"normal | break-word","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Text"],"initial":"normal","appliesto":"nonReplacedInlineElements","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/overflow-wrap"},"writing-mode":{"syntax":"horizontal-tb | vertical-rl | vertical-lr | sideways-rl | sideways-lr","media":"visual","inherited":true,"animationType":"discrete","percentages":"no","groups":["CSS Writing Modes"],"initial":"horizontal-tb","appliesto":"allElementsExceptTableRowColumnGroupsTableRowsColumns","computed":"asSpecified","order":"uniqueOrder","status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/writing-mode"},"z-index":{"syntax":"auto | <integer>","media":"visual","inherited":false,"animationType":"integer","percentages":"no","groups":["CSS Positioning"],"initial":"auto","appliesto":"positionedElements","computed":"asSpecified","order":"uniqueOrder","stacking":true,"status":"standard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/z-index"},"zoom":{"syntax":"normal | reset | <number> | <percentage>","media":"visual","inherited":false,"animationType":"integer","percentages":"no","groups":["Microsoft Extensions"],"initial":"normal","appliesto":"allElements","computed":"asSpecified","order":"uniqueOrder","status":"nonstandard","mdn_url":"https://developer.mozilla.org/docs/Web/CSS/zoom"}}')},function(e){e.exports=JSON.parse('{"absolute-size":{"syntax":"xx-small | x-small | small | medium | large | x-large | xx-large | xxx-large"},"alpha-value":{"syntax":"<number> | <percentage>"},"angle-percentage":{"syntax":"<angle> | <percentage>"},"angular-color-hint":{"syntax":"<angle-percentage>"},"angular-color-stop":{"syntax":"<color> && <color-stop-angle>?"},"angular-color-stop-list":{"syntax":"[ <angular-color-stop> [, <angular-color-hint>]? ]# , <angular-color-stop>"},"animateable-feature":{"syntax":"scroll-position | contents | <custom-ident>"},"attachment":{"syntax":"scroll | fixed | local"},"attr()":{"syntax":"attr( <attr-name> <type-or-unit>? [, <attr-fallback> ]? )"},"attr-matcher":{"syntax":"[ \'~\' | \'|\' | \'^\' | \'$\' | \'*\' ]? \'=\'"},"attr-modifier":{"syntax":"i | s"},"attribute-selector":{"syntax":"\'[\' <wq-name> \']\' | \'[\' <wq-name> <attr-matcher> [ <string-token> | <ident-token> ] <attr-modifier>? \']\'"},"auto-repeat":{"syntax":"repeat( [ auto-fill | auto-fit ] , [ <line-names>? <fixed-size> ]+ <line-names>? )"},"auto-track-list":{"syntax":"[ <line-names>? [ <fixed-size> | <fixed-repeat> ] ]* <line-names>? <auto-repeat>\\n[ <line-names>? [ <fixed-size> | <fixed-repeat> ] ]* <line-names>?"},"baseline-position":{"syntax":"[ first | last ]? baseline"},"basic-shape":{"syntax":"<inset()> | <circle()> | <ellipse()> | <polygon()> | <path()>"},"bg-image":{"syntax":"none | <image>"},"bg-layer":{"syntax":"<bg-image> || <bg-position> [ / <bg-size> ]? || <repeat-style> || <attachment> || <box> || <box>"},"bg-position":{"syntax":"[ [ left | center | right | top | bottom | <length-percentage> ] | [ left | center | right | <length-percentage> ] [ top | center | bottom | <length-percentage> ] | [ center | [ left | right ] <length-percentage>? ] && [ center | [ top | bottom ] <length-percentage>? ] ]"},"bg-size":{"syntax":"[ <length-percentage> | auto ]{1,2} | cover | contain"},"blur()":{"syntax":"blur( <length> )"},"blend-mode":{"syntax":"normal | multiply | screen | overlay | darken | lighten | color-dodge | color-burn | hard-light | soft-light | difference | exclusion | hue | saturation | color | luminosity"},"box":{"syntax":"border-box | padding-box | content-box"},"brightness()":{"syntax":"brightness( <number-percentage> )"},"calc()":{"syntax":"calc( <calc-sum> )"},"calc-sum":{"syntax":"<calc-product> [ [ \'+\' | \'-\' ] <calc-product> ]*"},"calc-product":{"syntax":"<calc-value> [ \'*\' <calc-value> | \'/\' <number> ]*"},"calc-value":{"syntax":"<number> | <dimension> | <percentage> | ( <calc-sum> )"},"cf-final-image":{"syntax":"<image> | <color>"},"cf-mixing-image":{"syntax":"<percentage>? && <image>"},"circle()":{"syntax":"circle( [ <shape-radius> ]? [ at <position> ]? )"},"clamp()":{"syntax":"clamp( <calc-sum>#{3} )"},"class-selector":{"syntax":"\'.\' <ident-token>"},"clip-source":{"syntax":"<url>"},"color":{"syntax":"<rgb()> | <rgba()> | <hsl()> | <hsla()> | <hex-color> | <named-color> | currentcolor | <deprecated-system-color>"},"color-stop":{"syntax":"<color-stop-length> | <color-stop-angle>"},"color-stop-angle":{"syntax":"<angle-percentage>{1,2}"},"color-stop-length":{"syntax":"<length-percentage>{1,2}"},"color-stop-list":{"syntax":"[ <linear-color-stop> [, <linear-color-hint>]? ]# , <linear-color-stop>"},"combinator":{"syntax":"\'>\' | \'+\' | \'~\' | [ \'||\' ]"},"common-lig-values":{"syntax":"[ common-ligatures | no-common-ligatures ]"},"compat-auto":{"syntax":"searchfield | textarea | push-button | slider-horizontal | checkbox | radio | square-button | menulist | listbox | meter | progress-bar | button"},"composite-style":{"syntax":"clear | copy | source-over | source-in | source-out | source-atop | destination-over | destination-in | destination-out | destination-atop | xor"},"compositing-operator":{"syntax":"add | subtract | intersect | exclude"},"compound-selector":{"syntax":"[ <type-selector>? <subclass-selector>* [ <pseudo-element-selector> <pseudo-class-selector>* ]* ]!"},"compound-selector-list":{"syntax":"<compound-selector>#"},"complex-selector":{"syntax":"<compound-selector> [ <combinator>? <compound-selector> ]*"},"complex-selector-list":{"syntax":"<complex-selector>#"},"conic-gradient()":{"syntax":"conic-gradient( [ from <angle> ]? [ at <position> ]?, <angular-color-stop-list> )"},"contextual-alt-values":{"syntax":"[ contextual | no-contextual ]"},"content-distribution":{"syntax":"space-between | space-around | space-evenly | stretch"},"content-list":{"syntax":"[ <string> | contents | <image> | <quote> | <target> | <leader()> ]+"},"content-position":{"syntax":"center | start | end | flex-start | flex-end"},"content-replacement":{"syntax":"<image>"},"contrast()":{"syntax":"contrast( [ <number-percentage> ] )"},"counter()":{"syntax":"counter( <custom-ident>, <counter-style>? )"},"counter-style":{"syntax":"<counter-style-name> | symbols()"},"counter-style-name":{"syntax":"<custom-ident>"},"counters()":{"syntax":"counters( <custom-ident>, <string>, <counter-style>? )"},"cross-fade()":{"syntax":"cross-fade( <cf-mixing-image> , <cf-final-image>? )"},"cubic-bezier-timing-function":{"syntax":"ease | ease-in | ease-out | ease-in-out | cubic-bezier(<number [0,1]>, <number>, <number [0,1]>, <number>)"},"deprecated-system-color":{"syntax":"ActiveBorder | ActiveCaption | AppWorkspace | Background | ButtonFace | ButtonHighlight | ButtonShadow | ButtonText | CaptionText | GrayText | Highlight | HighlightText | InactiveBorder | InactiveCaption | InactiveCaptionText | InfoBackground | InfoText | Menu | MenuText | Scrollbar | ThreeDDarkShadow | ThreeDFace | ThreeDHighlight | ThreeDLightShadow | ThreeDShadow | Window | WindowFrame | WindowText"},"discretionary-lig-values":{"syntax":"[ discretionary-ligatures | no-discretionary-ligatures ]"},"display-box":{"syntax":"contents | none"},"display-inside":{"syntax":"flow | flow-root | table | flex | grid | ruby"},"display-internal":{"syntax":"table-row-group | table-header-group | table-footer-group | table-row | table-cell | table-column-group | table-column | table-caption | ruby-base | ruby-text | ruby-base-container | ruby-text-container"},"display-legacy":{"syntax":"inline-block | inline-list-item | inline-table | inline-flex | inline-grid"},"display-listitem":{"syntax":"<display-outside>? && [ flow | flow-root ]? && list-item"},"display-outside":{"syntax":"block | inline | run-in"},"drop-shadow()":{"syntax":"drop-shadow( <length>{2,3} <color>? )"},"east-asian-variant-values":{"syntax":"[ jis78 | jis83 | jis90 | jis04 | simplified | traditional ]"},"east-asian-width-values":{"syntax":"[ full-width | proportional-width ]"},"element()":{"syntax":"element( <id-selector> )"},"ellipse()":{"syntax":"ellipse( [ <shape-radius>{2} ]? [ at <position> ]? )"},"ending-shape":{"syntax":"circle | ellipse"},"env()":{"syntax":"env( <custom-ident> , <declaration-value>? )"},"explicit-track-list":{"syntax":"[ <line-names>? <track-size> ]+ <line-names>?"},"family-name":{"syntax":"<string> | <custom-ident>+"},"feature-tag-value":{"syntax":"<string> [ <integer> | on | off ]?"},"feature-type":{"syntax":"@stylistic | @historical-forms | @styleset | @character-variant | @swash | @ornaments | @annotation"},"feature-value-block":{"syntax":"<feature-type> \'{\' <feature-value-declaration-list> \'}\'"},"feature-value-block-list":{"syntax":"<feature-value-block>+"},"feature-value-declaration":{"syntax":"<custom-ident>: <integer>+;"},"feature-value-declaration-list":{"syntax":"<feature-value-declaration>"},"feature-value-name":{"syntax":"<custom-ident>"},"fill-rule":{"syntax":"nonzero | evenodd"},"filter-function":{"syntax":"<blur()> | <brightness()> | <contrast()> | <drop-shadow()> | <grayscale()> | <hue-rotate()> | <invert()> | <opacity()> | <saturate()> | <sepia()>"},"filter-function-list":{"syntax":"[ <filter-function> | <url> ]+"},"final-bg-layer":{"syntax":"<\'background-color\'> || <bg-image> || <bg-position> [ / <bg-size> ]? || <repeat-style> || <attachment> || <box> || <box>"},"fit-content()":{"syntax":"fit-content( [ <length> | <percentage> ] )"},"fixed-breadth":{"syntax":"<length-percentage>"},"fixed-repeat":{"syntax":"repeat( [ <positive-integer> ] , [ <line-names>? <fixed-size> ]+ <line-names>? )"},"fixed-size":{"syntax":"<fixed-breadth> | minmax( <fixed-breadth> , <track-breadth> ) | minmax( <inflexible-breadth> , <fixed-breadth> )"},"font-stretch-absolute":{"syntax":"normal | ultra-condensed | extra-condensed | condensed | semi-condensed | semi-expanded | expanded | extra-expanded | ultra-expanded | <percentage>"},"font-variant-css21":{"syntax":"[ normal | small-caps ]"},"font-weight-absolute":{"syntax":"normal | bold | <number [1,1000]>"},"frequency-percentage":{"syntax":"<frequency> | <percentage>"},"general-enclosed":{"syntax":"[ <function-token> <any-value> ) ] | ( <ident> <any-value> )"},"generic-family":{"syntax":"serif | sans-serif | cursive | fantasy | monospace"},"generic-name":{"syntax":"serif | sans-serif | cursive | fantasy | monospace"},"geometry-box":{"syntax":"<shape-box> | fill-box | stroke-box | view-box"},"gradient":{"syntax":"<linear-gradient()> | <repeating-linear-gradient()> | <radial-gradient()> | <repeating-radial-gradient()> | <conic-gradient()>"},"grayscale()":{"syntax":"grayscale( <number-percentage> )"},"grid-line":{"syntax":"auto | <custom-ident> | [ <integer> && <custom-ident>? ] | [ span && [ <integer> || <custom-ident> ] ]"},"historical-lig-values":{"syntax":"[ historical-ligatures | no-historical-ligatures ]"},"hsl()":{"syntax":"hsl( <hue> <percentage> <percentage> [ / <alpha-value> ]? ) | hsl( <hue>, <percentage>, <percentage>, <alpha-value>? )"},"hsla()":{"syntax":"hsla( <hue> <percentage> <percentage> [ / <alpha-value> ]? ) | hsla( <hue>, <percentage>, <percentage>, <alpha-value>? )"},"hue":{"syntax":"<number> | <angle>"},"hue-rotate()":{"syntax":"hue-rotate( <angle> )"},"id-selector":{"syntax":"<hash-token>"},"image":{"syntax":"<url> | <image()> | <image-set()> | <element()> | <paint()> | <cross-fade()> | <gradient>"},"image()":{"syntax":"image( <image-tags>? [ <image-src>? , <color>? ]! )"},"image-set()":{"syntax":"image-set( <image-set-option># )"},"image-set-option":{"syntax":"[ <image> | <string> ] <resolution>"},"image-src":{"syntax":"<url> | <string>"},"image-tags":{"syntax":"ltr | rtl"},"inflexible-breadth":{"syntax":"<length> | <percentage> | min-content | max-content | auto"},"inset()":{"syntax":"inset( <length-percentage>{1,4} [ round <\'border-radius\'> ]? )"},"invert()":{"syntax":"invert( <number-percentage> )"},"keyframes-name":{"syntax":"<custom-ident> | <string>"},"keyframe-block":{"syntax":"<keyframe-selector># {\\n <declaration-list>\\n}"},"keyframe-block-list":{"syntax":"<keyframe-block>+"},"keyframe-selector":{"syntax":"from | to | <percentage>"},"leader()":{"syntax":"leader( <leader-type> )"},"leader-type":{"syntax":"dotted | solid | space | <string>"},"length-percentage":{"syntax":"<length> | <percentage>"},"line-names":{"syntax":"\'[\' <custom-ident>* \']\'"},"line-name-list":{"syntax":"[ <line-names> | <name-repeat> ]+"},"line-style":{"syntax":"none | hidden | dotted | dashed | solid | double | groove | ridge | inset | outset"},"line-width":{"syntax":"<length> | thin | medium | thick"},"linear-color-hint":{"syntax":"<length-percentage>"},"linear-color-stop":{"syntax":"<color> <color-stop-length>?"},"linear-gradient()":{"syntax":"linear-gradient( [ <angle> | to <side-or-corner> ]? , <color-stop-list> )"},"mask-layer":{"syntax":"<mask-reference> || <position> [ / <bg-size> ]? || <repeat-style> || <geometry-box> || [ <geometry-box> | no-clip ] || <compositing-operator> || <masking-mode>"},"mask-position":{"syntax":"[ <length-percentage> | left | center | right ] [ <length-percentage> | top | center | bottom ]?"},"mask-reference":{"syntax":"none | <image> | <mask-source>"},"mask-source":{"syntax":"<url>"},"masking-mode":{"syntax":"alpha | luminance | match-source"},"matrix()":{"syntax":"matrix( <number>#{6} )"},"matrix3d()":{"syntax":"matrix3d( <number>#{16} )"},"max()":{"syntax":"max( <calc-sum># )"},"media-and":{"syntax":"<media-in-parens> [ and <media-in-parens> ]+"},"media-condition":{"syntax":"<media-not> | <media-and> | <media-or> | <media-in-parens>"},"media-condition-without-or":{"syntax":"<media-not> | <media-and> | <media-in-parens>"},"media-feature":{"syntax":"( [ <mf-plain> | <mf-boolean> | <mf-range> ] )"},"media-in-parens":{"syntax":"( <media-condition> ) | <media-feature> | <general-enclosed>"},"media-not":{"syntax":"not <media-in-parens>"},"media-or":{"syntax":"<media-in-parens> [ or <media-in-parens> ]+"},"media-query":{"syntax":"<media-condition> | [ not | only ]? <media-type> [ and <media-condition-without-or> ]?"},"media-query-list":{"syntax":"<media-query>#"},"media-type":{"syntax":"<ident>"},"mf-boolean":{"syntax":"<mf-name>"},"mf-name":{"syntax":"<ident>"},"mf-plain":{"syntax":"<mf-name> : <mf-value>"},"mf-range":{"syntax":"<mf-name> [ \'<\' | \'>\' ]? \'=\'? <mf-value>\\n| <mf-value> [ \'<\' | \'>\' ]? \'=\'? <mf-name>\\n| <mf-value> \'<\' \'=\'? <mf-name> \'<\' \'=\'? <mf-value>\\n| <mf-value> \'>\' \'=\'? <mf-name> \'>\' \'=\'? <mf-value>"},"mf-value":{"syntax":"<number> | <dimension> | <ident> | <ratio>"},"min()":{"syntax":"min( <calc-sum># )"},"minmax()":{"syntax":"minmax( [ <length> | <percentage> | min-content | max-content | auto ] , [ <length> | <percentage> | <flex> | min-content | max-content | auto ] )"},"named-color":{"syntax":"transparent | aliceblue | antiquewhite | aqua | aquamarine | azure | beige | bisque | black | blanchedalmond | blue | blueviolet | brown | burlywood | cadetblue | chartreuse | chocolate | coral | cornflowerblue | cornsilk | crimson | cyan | darkblue | darkcyan | darkgoldenrod | darkgray | darkgreen | darkgrey | darkkhaki | darkmagenta | darkolivegreen | darkorange | darkorchid | darkred | darksalmon | darkseagreen | darkslateblue | darkslategray | darkslategrey | darkturquoise | darkviolet | deeppink | deepskyblue | dimgray | dimgrey | dodgerblue | firebrick | floralwhite | forestgreen | fuchsia | gainsboro | ghostwhite | gold | goldenrod | gray | green | greenyellow | grey | honeydew | hotpink | indianred | indigo | ivory | khaki | lavender | lavenderblush | lawngreen | lemonchiffon | lightblue | lightcoral | lightcyan | lightgoldenrodyellow | lightgray | lightgreen | lightgrey | lightpink | lightsalmon | lightseagreen | lightskyblue | lightslategray | lightslategrey | lightsteelblue | lightyellow | lime | limegreen | linen | magenta | maroon | mediumaquamarine | mediumblue | mediumorchid | mediumpurple | mediumseagreen | mediumslateblue | mediumspringgreen | mediumturquoise | mediumvioletred | midnightblue | mintcream | mistyrose | moccasin | navajowhite | navy | oldlace | olive | olivedrab | orange | orangered | orchid | palegoldenrod | palegreen | paleturquoise | palevioletred | papayawhip | peachpuff | peru | pink | plum | powderblue | purple | rebeccapurple | red | rosybrown | royalblue | saddlebrown | salmon | sandybrown | seagreen | seashell | sienna | silver | skyblue | slateblue | slategray | slategrey | snow | springgreen | steelblue | tan | teal | thistle | tomato | turquoise | violet | wheat | white | whitesmoke | yellow | yellowgreen"},"namespace-prefix":{"syntax":"<ident>"},"ns-prefix":{"syntax":"[ <ident-token> | \'*\' ]? \'|\'"},"number-percentage":{"syntax":"<number> | <percentage>"},"numeric-figure-values":{"syntax":"[ lining-nums | oldstyle-nums ]"},"numeric-fraction-values":{"syntax":"[ diagonal-fractions | stacked-fractions ]"},"numeric-spacing-values":{"syntax":"[ proportional-nums | tabular-nums ]"},"nth":{"syntax":"<an-plus-b> | even | odd"},"opacity()":{"syntax":"opacity( [ <number-percentage> ] )"},"overflow-position":{"syntax":"unsafe | safe"},"outline-radius":{"syntax":"<length> | <percentage>"},"page-body":{"syntax":"<declaration>? [ ; <page-body> ]? | <page-margin-box> <page-body>"},"page-margin-box":{"syntax":"<page-margin-box-type> \'{\' <declaration-list> \'}\'"},"page-margin-box-type":{"syntax":"@top-left-corner | @top-left | @top-center | @top-right | @top-right-corner | @bottom-left-corner | @bottom-left | @bottom-center | @bottom-right | @bottom-right-corner | @left-top | @left-middle | @left-bottom | @right-top | @right-middle | @right-bottom"},"page-selector-list":{"syntax":"[ <page-selector># ]?"},"page-selector":{"syntax":"<pseudo-page>+ | <ident> <pseudo-page>*"},"path()":{"syntax":"path( [ <fill-rule>, ]? <string> )"},"paint()":{"syntax":"paint( <ident>, <declaration-value>? )"},"perspective()":{"syntax":"perspective( <length> )"},"polygon()":{"syntax":"polygon( <fill-rule>? , [ <length-percentage> <length-percentage> ]# )"},"position":{"syntax":"[ [ left | center | right ] || [ top | center | bottom ] | [ left | center | right | <length-percentage> ] [ top | center | bottom | <length-percentage> ]? | [ [ left | right ] <length-percentage> ] && [ [ top | bottom ] <length-percentage> ] ]"},"pseudo-class-selector":{"syntax":"\':\' <ident-token> | \':\' <function-token> <any-value> \')\'"},"pseudo-element-selector":{"syntax":"\':\' <pseudo-class-selector>"},"pseudo-page":{"syntax":": [ left | right | first | blank ]"},"quote":{"syntax":"open-quote | close-quote | no-open-quote | no-close-quote"},"radial-gradient()":{"syntax":"radial-gradient( [ <ending-shape> || <size> ]? [ at <position> ]? , <color-stop-list> )"},"relative-selector":{"syntax":"<combinator>? <complex-selector>"},"relative-selector-list":{"syntax":"<relative-selector>#"},"relative-size":{"syntax":"larger | smaller"},"repeat-style":{"syntax":"repeat-x | repeat-y | [ repeat | space | round | no-repeat ]{1,2}"},"repeating-linear-gradient()":{"syntax":"repeating-linear-gradient( [ <angle> | to <side-or-corner> ]? , <color-stop-list> )"},"repeating-radial-gradient()":{"syntax":"repeating-radial-gradient( [ <ending-shape> || <size> ]? [ at <position> ]? , <color-stop-list> )"},"rgb()":{"syntax":"rgb( <percentage>{3} [ / <alpha-value> ]? ) | rgb( <number>{3} [ / <alpha-value> ]? ) | rgb( <percentage>#{3} , <alpha-value>? ) | rgb( <number>#{3} , <alpha-value>? )"},"rgba()":{"syntax":"rgba( <percentage>{3} [ / <alpha-value> ]? ) | rgba( <number>{3} [ / <alpha-value> ]? ) | rgba( <percentage>#{3} , <alpha-value>? ) | rgba( <number>#{3} , <alpha-value>? )"},"rotate()":{"syntax":"rotate( [ <angle> | <zero> ] )"},"rotate3d()":{"syntax":"rotate3d( <number> , <number> , <number> , [ <angle> | <zero> ] )"},"rotateX()":{"syntax":"rotateX( [ <angle> | <zero> ] )"},"rotateY()":{"syntax":"rotateY( [ <angle> | <zero> ] )"},"rotateZ()":{"syntax":"rotateZ( [ <angle> | <zero> ] )"},"saturate()":{"syntax":"saturate( <number-percentage> )"},"scale()":{"syntax":"scale( <number> , <number>? )"},"scale3d()":{"syntax":"scale3d( <number> , <number> , <number> )"},"scaleX()":{"syntax":"scaleX( <number> )"},"scaleY()":{"syntax":"scaleY( <number> )"},"scaleZ()":{"syntax":"scaleZ( <number> )"},"self-position":{"syntax":"center | start | end | self-start | self-end | flex-start | flex-end"},"shape-radius":{"syntax":"<length-percentage> | closest-side | farthest-side"},"skew()":{"syntax":"skew( [ <angle> | <zero> ] , [ <angle> | <zero> ]? )"},"skewX()":{"syntax":"skewX( [ <angle> | <zero> ] )"},"skewY()":{"syntax":"skewY( [ <angle> | <zero> ] )"},"sepia()":{"syntax":"sepia( <number-percentage> )"},"shadow":{"syntax":"inset? && <length>{2,4} && <color>?"},"shadow-t":{"syntax":"[ <length>{2,3} && <color>? ]"},"shape":{"syntax":"rect(<top>, <right>, <bottom>, <left>)"},"shape-box":{"syntax":"<box> | margin-box"},"side-or-corner":{"syntax":"[ left | right ] || [ top | bottom ]"},"single-animation":{"syntax":"<time> || <timing-function> || <time> || <single-animation-iteration-count> || <single-animation-direction> || <single-animation-fill-mode> || <single-animation-play-state> || [ none | <keyframes-name> ]"},"single-animation-direction":{"syntax":"normal | reverse | alternate | alternate-reverse"},"single-animation-fill-mode":{"syntax":"none | forwards | backwards | both"},"single-animation-iteration-count":{"syntax":"infinite | <number>"},"single-animation-play-state":{"syntax":"running | paused"},"single-transition":{"syntax":"[ none | <single-transition-property> ] || <time> || <timing-function> || <time>"},"single-transition-property":{"syntax":"all | <custom-ident>"},"size":{"syntax":"closest-side | farthest-side | closest-corner | farthest-corner | <length> | <length-percentage>{2}"},"step-position":{"syntax":"jump-start | jump-end | jump-none | jump-both | start | end"},"step-timing-function":{"syntax":"step-start | step-end | steps(<integer>[, <step-position>]?)"},"subclass-selector":{"syntax":"<id-selector> | <class-selector> | <attribute-selector> | <pseudo-class-selector>"},"supports-condition":{"syntax":"not <supports-in-parens> | <supports-in-parens> [ and <supports-in-parens> ]* | <supports-in-parens> [ or <supports-in-parens> ]*"},"supports-in-parens":{"syntax":"( <supports-condition> ) | <supports-feature> | <general-enclosed>"},"supports-feature":{"syntax":"<supports-decl> | <supports-selector-fn>"},"supports-decl":{"syntax":"( <declaration> )"},"supports-selector-fn":{"syntax":"selector( <complex-selector> )"},"symbol":{"syntax":"<string> | <image> | <custom-ident>"},"target":{"syntax":"<target-counter()> | <target-counters()> | <target-text()>"},"target-counter()":{"syntax":"target-counter( [ <string> | <url> ] , <custom-ident> , <counter-style>? )"},"target-counters()":{"syntax":"target-counters( [ <string> | <url> ] , <custom-ident> , <string> , <counter-style>? )"},"target-text()":{"syntax":"target-text( [ <string> | <url> ] , [ content | before | after | first-letter ]? )"},"time-percentage":{"syntax":"<time> | <percentage>"},"timing-function":{"syntax":"linear | <cubic-bezier-timing-function> | <step-timing-function>"},"track-breadth":{"syntax":"<length-percentage> | <flex> | min-content | max-content | auto"},"track-list":{"syntax":"[ <line-names>? [ <track-size> | <track-repeat> ] ]+ <line-names>?"},"track-repeat":{"syntax":"repeat( [ <positive-integer> ] , [ <line-names>? <track-size> ]+ <line-names>? )"},"track-size":{"syntax":"<track-breadth> | minmax( <inflexible-breadth> , <track-breadth> ) | fit-content( [ <length> | <percentage> ] )"},"transform-function":{"syntax":"<matrix()> | <translate()> | <translateX()> | <translateY()> | <scale()> | <scaleX()> | <scaleY()> | <rotate()> | <skew()> | <skewX()> | <skewY()> | <matrix3d()> | <translate3d()> | <translateZ()> | <scale3d()> | <scaleZ()> | <rotate3d()> | <rotateX()> | <rotateY()> | <rotateZ()> | <perspective()>"},"transform-list":{"syntax":"<transform-function>+"},"translate()":{"syntax":"translate( <length-percentage> , <length-percentage>? )"},"translate3d()":{"syntax":"translate3d( <length-percentage> , <length-percentage> , <length> )"},"translateX()":{"syntax":"translateX( <length-percentage> )"},"translateY()":{"syntax":"translateY( <length-percentage> )"},"translateZ()":{"syntax":"translateZ( <length> )"},"type-or-unit":{"syntax":"string | color | url | integer | number | length | angle | time | frequency | cap | ch | em | ex | ic | lh | rlh | rem | vb | vi | vw | vh | vmin | vmax | mm | Q | cm | in | pt | pc | px | deg | grad | rad | turn | ms | s | Hz | kHz | %"},"type-selector":{"syntax":"<wq-name> | <ns-prefix>? \'*\'"},"var()":{"syntax":"var( <custom-property-name> , <declaration-value>? )"},"viewport-length":{"syntax":"auto | <length-percentage>"},"wq-name":{"syntax":"<ns-prefix>? <ident-token>"}}')},function(e){e.exports=JSON.parse('{"atrules":{"charset":{"prelude":"<string>"},"font-face":{"descriptors":{"unicode-range":{"comment":"replaces <unicode-range>, an old production name","syntax":"<urange>#"}}}},"properties":{"-moz-background-clip":{"comment":"deprecated syntax in old Firefox, https://developer.mozilla.org/en/docs/Web/CSS/background-clip","syntax":"padding | border"},"-moz-border-radius-bottomleft":{"comment":"https://developer.mozilla.org/en-US/docs/Web/CSS/border-bottom-left-radius","syntax":"<\'border-bottom-left-radius\'>"},"-moz-border-radius-bottomright":{"comment":"https://developer.mozilla.org/en-US/docs/Web/CSS/border-bottom-right-radius","syntax":"<\'border-bottom-right-radius\'>"},"-moz-border-radius-topleft":{"comment":"https://developer.mozilla.org/en-US/docs/Web/CSS/border-top-left-radius","syntax":"<\'border-top-left-radius\'>"},"-moz-border-radius-topright":{"comment":"https://developer.mozilla.org/en-US/docs/Web/CSS/border-bottom-right-radius","syntax":"<\'border-bottom-right-radius\'>"},"-moz-control-character-visibility":{"comment":"firefox specific keywords, https://bugzilla.mozilla.org/show_bug.cgi?id=947588","syntax":"visible | hidden"},"-moz-osx-font-smoothing":{"comment":"misssed old syntax https://developer.mozilla.org/en-US/docs/Web/CSS/font-smooth","syntax":"auto | grayscale"},"-moz-user-select":{"comment":"https://developer.mozilla.org/en-US/docs/Web/CSS/user-select","syntax":"none | text | all | -moz-none"},"-ms-flex-align":{"comment":"misssed old syntax implemented in IE, https://www.w3.org/TR/2012/WD-css3-flexbox-20120322/#flex-align","syntax":"start | end | center | baseline | stretch"},"-ms-flex-item-align":{"comment":"misssed old syntax implemented in IE, https://www.w3.org/TR/2012/WD-css3-flexbox-20120322/#flex-align","syntax":"auto | start | end | center | baseline | stretch"},"-ms-flex-line-pack":{"comment":"misssed old syntax implemented in IE, https://www.w3.org/TR/2012/WD-css3-flexbox-20120322/#flex-line-pack","syntax":"start | end | center | justify | distribute | stretch"},"-ms-flex-negative":{"comment":"misssed old syntax implemented in IE; TODO: find references for comfirmation","syntax":"<\'flex-shrink\'>"},"-ms-flex-pack":{"comment":"misssed old syntax implemented in IE, https://www.w3.org/TR/2012/WD-css3-flexbox-20120322/#flex-pack","syntax":"start | end | center | justify | distribute"},"-ms-flex-order":{"comment":"misssed old syntax implemented in IE; https://msdn.microsoft.com/en-us/library/jj127303(v=vs.85).aspx","syntax":"<integer>"},"-ms-flex-positive":{"comment":"misssed old syntax implemented in IE; TODO: find references for comfirmation","syntax":"<\'flex-grow\'>"},"-ms-flex-preferred-size":{"comment":"misssed old syntax implemented in IE; TODO: find references for comfirmation","syntax":"<\'flex-basis\'>"},"-ms-interpolation-mode":{"comment":"https://msdn.microsoft.com/en-us/library/ff521095(v=vs.85).aspx","syntax":"nearest-neighbor | bicubic"},"-ms-grid-column-align":{"comment":"add this property first since it uses as fallback for flexbox, https://msdn.microsoft.com/en-us/library/windows/apps/hh466338.aspx","syntax":"start | end | center | stretch"},"-ms-grid-row-align":{"comment":"add this property first since it uses as fallback for flexbox, https://msdn.microsoft.com/en-us/library/windows/apps/hh466348.aspx","syntax":"start | end | center | stretch"},"-ms-hyphenate-limit-last":{"comment":"misssed old syntax implemented in IE; https://www.w3.org/TR/css-text-4/#hyphenate-line-limits","syntax":"none | always | column | page | spread"},"-webkit-appearance":{"comment":"webkit specific keywords","references":["http://css-infos.net/property/-webkit-appearance"],"syntax":"none | button | button-bevel | caps-lock-indicator | caret | checkbox | default-button | inner-spin-button | listbox | listitem | media-controls-background | media-controls-fullscreen-background | media-current-time-display | media-enter-fullscreen-button | media-exit-fullscreen-button | media-fullscreen-button | media-mute-button | media-overlay-play-button | media-play-button | media-seek-back-button | media-seek-forward-button | media-slider | media-sliderthumb | media-time-remaining-display | media-toggle-closed-captions-button | media-volume-slider | media-volume-slider-container | media-volume-sliderthumb | menulist | menulist-button | menulist-text | menulist-textfield | meter | progress-bar | progress-bar-value | push-button | radio | scrollbarbutton-down | scrollbarbutton-left | scrollbarbutton-right | scrollbarbutton-up | scrollbargripper-horizontal | scrollbargripper-vertical | scrollbarthumb-horizontal | scrollbarthumb-vertical | scrollbartrack-horizontal | scrollbartrack-vertical | searchfield | searchfield-cancel-button | searchfield-decoration | searchfield-results-button | searchfield-results-decoration | slider-horizontal | slider-vertical | sliderthumb-horizontal | sliderthumb-vertical | square-button | textarea | textfield | -apple-pay-button"},"-webkit-background-clip":{"comment":"https://developer.mozilla.org/en/docs/Web/CSS/background-clip","syntax":"[ <box> | border | padding | content | text ]#"},"-webkit-column-break-after":{"comment":"added, http://help.dottoro.com/lcrthhhv.php","syntax":"always | auto | avoid"},"-webkit-column-break-before":{"comment":"added, http://help.dottoro.com/lcxquvkf.php","syntax":"always | auto | avoid"},"-webkit-column-break-inside":{"comment":"added, http://help.dottoro.com/lclhnthl.php","syntax":"always | auto | avoid"},"-webkit-font-smoothing":{"comment":"https://developer.mozilla.org/en-US/docs/Web/CSS/font-smooth","syntax":"auto | none | antialiased | subpixel-antialiased"},"-webkit-mask-box-image":{"comment":"missed; https://developer.mozilla.org/en-US/docs/Web/CSS/-webkit-mask-box-image","syntax":"[ <url> | <gradient> | none ] [ <length-percentage>{4} <-webkit-mask-box-repeat>{2} ]?"},"-webkit-print-color-adjust":{"comment":"missed","references":["https://developer.mozilla.org/en/docs/Web/CSS/-webkit-print-color-adjust"],"syntax":"economy | exact"},"-webkit-text-security":{"comment":"missed; http://help.dottoro.com/lcbkewgt.php","syntax":"none | circle | disc | square"},"-webkit-user-drag":{"comment":"missed; http://help.dottoro.com/lcbixvwm.php","syntax":"none | element | auto"},"-webkit-user-select":{"comment":"auto is supported by old webkit, https://developer.mozilla.org/en-US/docs/Web/CSS/user-select","syntax":"auto | none | text | all"},"alignment-baseline":{"comment":"added SVG property","references":["https://www.w3.org/TR/SVG/text.html#AlignmentBaselineProperty"],"syntax":"auto | baseline | before-edge | text-before-edge | middle | central | after-edge | text-after-edge | ideographic | alphabetic | hanging | mathematical"},"baseline-shift":{"comment":"added SVG property","references":["https://www.w3.org/TR/SVG/text.html#BaselineShiftProperty"],"syntax":"baseline | sub | super | <svg-length>"},"behavior":{"comment":"added old IE property https://msdn.microsoft.com/en-us/library/ms530723(v=vs.85).aspx","syntax":"<url>+"},"clip-rule":{"comment":"added SVG property","references":["https://www.w3.org/TR/SVG/masking.html#ClipRuleProperty"],"syntax":"nonzero | evenodd"},"cue":{"comment":"https://www.w3.org/TR/css3-speech/#property-index","syntax":"<\'cue-before\'> <\'cue-after\'>?"},"cue-after":{"comment":"https://www.w3.org/TR/css3-speech/#property-index","syntax":"<url> <decibel>? | none"},"cue-before":{"comment":"https://www.w3.org/TR/css3-speech/#property-index","syntax":"<url> <decibel>? | none"},"cursor":{"comment":"added legacy keywords: hand, -webkit-grab. -webkit-grabbing, -webkit-zoom-in, -webkit-zoom-out, -moz-grab, -moz-grabbing, -moz-zoom-in, -moz-zoom-out","references":["https://www.sitepoint.com/css3-cursor-styles/"],"syntax":"[ [ <url> [ <x> <y> ]? , ]* [ auto | default | none | context-menu | help | pointer | progress | wait | cell | crosshair | text | vertical-text | alias | copy | move | no-drop | not-allowed | e-resize | n-resize | ne-resize | nw-resize | s-resize | se-resize | sw-resize | w-resize | ew-resize | ns-resize | nesw-resize | nwse-resize | col-resize | row-resize | all-scroll | zoom-in | zoom-out | grab | grabbing | hand | -webkit-grab | -webkit-grabbing | -webkit-zoom-in | -webkit-zoom-out | -moz-grab | -moz-grabbing | -moz-zoom-in | -moz-zoom-out ] ]"},"display":{"comment":"extended with -ms-flexbox","syntax":"| <-non-standard-display>"},"position":{"comment":"extended with -webkit-sticky","syntax":"| -webkit-sticky"},"dominant-baseline":{"comment":"added SVG property","references":["https://www.w3.org/TR/SVG/text.html#DominantBaselineProperty"],"syntax":"auto | use-script | no-change | reset-size | ideographic | alphabetic | hanging | mathematical | central | middle | text-after-edge | text-before-edge"},"image-rendering":{"comment":"extended with <-non-standard-image-rendering>, added SVG keywords optimizeSpeed and optimizeQuality","references":["https://developer.mozilla.org/en/docs/Web/CSS/image-rendering","https://www.w3.org/TR/SVG/painting.html#ImageRenderingProperty"],"syntax":"| optimizeSpeed | optimizeQuality | <-non-standard-image-rendering>"},"fill":{"comment":"added SVG property","references":["https://www.w3.org/TR/SVG/painting.html#FillProperty"],"syntax":"<paint>"},"fill-opacity":{"comment":"added SVG property","references":["https://www.w3.org/TR/SVG/painting.html#FillProperty"],"syntax":"<number-zero-one>"},"fill-rule":{"comment":"added SVG property","references":["https://www.w3.org/TR/SVG/painting.html#FillProperty"],"syntax":"nonzero | evenodd"},"filter":{"comment":"extend with IE legacy syntaxes","syntax":"| <-ms-filter-function-list>"},"glyph-orientation-horizontal":{"comment":"added SVG property","references":["https://www.w3.org/TR/SVG/text.html#GlyphOrientationHorizontalProperty"],"syntax":"<angle>"},"glyph-orientation-vertical":{"comment":"added SVG property","references":["https://www.w3.org/TR/SVG/text.html#GlyphOrientationVerticalProperty"],"syntax":"<angle>"},"kerning":{"comment":"added SVG property","references":["https://www.w3.org/TR/SVG/text.html#KerningProperty"],"syntax":"auto | <svg-length>"},"letter-spacing":{"comment":"fix syntax <length> -> <length-percentage>","references":["https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/letter-spacing"],"syntax":"normal | <length-percentage>"},"marker":{"comment":"added SVG property","references":["https://www.w3.org/TR/SVG/painting.html#MarkerProperties"],"syntax":"none | <url>"},"marker-end":{"comment":"added SVG property","references":["https://www.w3.org/TR/SVG/painting.html#MarkerProperties"],"syntax":"none | <url>"},"marker-mid":{"comment":"added SVG property","references":["https://www.w3.org/TR/SVG/painting.html#MarkerProperties"],"syntax":"none | <url>"},"marker-start":{"comment":"added SVG property","references":["https://www.w3.org/TR/SVG/painting.html#MarkerProperties"],"syntax":"none | <url>"},"max-width":{"comment":"fix auto -> none (https://github.com/mdn/data/pull/431); extend by non-standard width keywords https://developer.mozilla.org/en-US/docs/Web/CSS/max-width","syntax":"none | <length-percentage> | min-content | max-content | fit-content(<length-percentage>) | <-non-standard-width>"},"width":{"comment":"per spec fit-content should be a function, however browsers are supporting it as a keyword (https://github.com/csstree/stylelint-validator/issues/29)","syntax":"| fit-content | -moz-fit-content | -webkit-fit-content"},"min-width":{"comment":"extend by non-standard width keywords https://developer.mozilla.org/en-US/docs/Web/CSS/width","syntax":"auto | <length-percentage> | min-content | max-content | fit-content(<length-percentage>) | <-non-standard-width>"},"overflow":{"comment":"extend by vendor keywords https://developer.mozilla.org/en-US/docs/Web/CSS/overflow","syntax":"| <-non-standard-overflow>"},"pause":{"comment":"https://www.w3.org/TR/css3-speech/#property-index","syntax":"<\'pause-before\'> <\'pause-after\'>?"},"pause-after":{"comment":"https://www.w3.org/TR/css3-speech/#property-index","syntax":"<time> | none | x-weak | weak | medium | strong | x-strong"},"pause-before":{"comment":"https://www.w3.org/TR/css3-speech/#property-index","syntax":"<time> | none | x-weak | weak | medium | strong | x-strong"},"rest":{"comment":"https://www.w3.org/TR/css3-speech/#property-index","syntax":"<\'rest-before\'> <\'rest-after\'>?"},"rest-after":{"comment":"https://www.w3.org/TR/css3-speech/#property-index","syntax":"<time> | none | x-weak | weak | medium | strong | x-strong"},"rest-before":{"comment":"https://www.w3.org/TR/css3-speech/#property-index","syntax":"<time> | none | x-weak | weak | medium | strong | x-strong"},"shape-rendering":{"comment":"added SVG property","references":["https://www.w3.org/TR/SVG/painting.html#ShapeRenderingPropert"],"syntax":"auto | optimizeSpeed | crispEdges | geometricPrecision"},"src":{"comment":"added @font-face\'s src property https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/src","syntax":"[ <url> [ format( <string># ) ]? | local( <family-name> ) ]#"},"speak":{"comment":"https://www.w3.org/TR/css3-speech/#property-index","syntax":"auto | none | normal"},"speak-as":{"comment":"https://www.w3.org/TR/css3-speech/#property-index","syntax":"normal | spell-out || digits || [ literal-punctuation | no-punctuation ]"},"stroke":{"comment":"added SVG property","references":["https://www.w3.org/TR/SVG/painting.html#StrokeProperties"],"syntax":"<paint>"},"stroke-dasharray":{"comment":"added SVG property; a list of comma and/or white space separated <length>s and <percentage>s","references":["https://www.w3.org/TR/SVG/painting.html#StrokeProperties"],"syntax":"none | [ <svg-length>+ ]#"},"stroke-dashoffset":{"comment":"added SVG property","references":["https://www.w3.org/TR/SVG/painting.html#StrokeProperties"],"syntax":"<svg-length>"},"stroke-linecap":{"comment":"added SVG property","references":["https://www.w3.org/TR/SVG/painting.html#StrokeProperties"],"syntax":"butt | round | square"},"stroke-linejoin":{"comment":"added SVG property","references":["https://www.w3.org/TR/SVG/painting.html#StrokeProperties"],"syntax":"miter | round | bevel"},"stroke-miterlimit":{"comment":"added SVG property (<miterlimit> = <number-one-or-greater>) ","references":["https://www.w3.org/TR/SVG/painting.html#StrokeProperties"],"syntax":"<number-one-or-greater>"},"stroke-opacity":{"comment":"added SVG property","references":["https://www.w3.org/TR/SVG/painting.html#StrokeProperties"],"syntax":"<number-zero-one>"},"stroke-width":{"comment":"added SVG property","references":["https://www.w3.org/TR/SVG/painting.html#StrokeProperties"],"syntax":"<svg-length>"},"text-anchor":{"comment":"added SVG property","references":["https://www.w3.org/TR/SVG/text.html#TextAlignmentProperties"],"syntax":"start | middle | end"},"unicode-bidi":{"comment":"added prefixed keywords https://developer.mozilla.org/en-US/docs/Web/CSS/unicode-bidi","syntax":"| -moz-isolate | -moz-isolate-override | -moz-plaintext | -webkit-isolate | -webkit-isolate-override | -webkit-plaintext"},"unicode-range":{"comment":"added missed property https://developer.mozilla.org/en-US/docs/Web/CSS/%40font-face/unicode-range","syntax":"<urange>#"},"voice-balance":{"comment":"https://www.w3.org/TR/css3-speech/#property-index","syntax":"<number> | left | center | right | leftwards | rightwards"},"voice-duration":{"comment":"https://www.w3.org/TR/css3-speech/#property-index","syntax":"auto | <time>"},"voice-family":{"comment":"<name> -> <family-name>, https://www.w3.org/TR/css3-speech/#property-index","syntax":"[ [ <family-name> | <generic-voice> ] , ]* [ <family-name> | <generic-voice> ] | preserve"},"voice-pitch":{"comment":"https://www.w3.org/TR/css3-speech/#property-index","syntax":"<frequency> && absolute | [ [ x-low | low | medium | high | x-high ] || [ <frequency> | <semitones> | <percentage> ] ]"},"voice-range":{"comment":"https://www.w3.org/TR/css3-speech/#property-index","syntax":"<frequency> && absolute | [ [ x-low | low | medium | high | x-high ] || [ <frequency> | <semitones> | <percentage> ] ]"},"voice-rate":{"comment":"https://www.w3.org/TR/css3-speech/#property-index","syntax":"[ normal | x-slow | slow | medium | fast | x-fast ] || <percentage>"},"voice-stress":{"comment":"https://www.w3.org/TR/css3-speech/#property-index","syntax":"normal | strong | moderate | none | reduced"},"voice-volume":{"comment":"https://www.w3.org/TR/css3-speech/#property-index","syntax":"silent | [ [ x-soft | soft | medium | loud | x-loud ] || <decibel> ]"},"writing-mode":{"comment":"extend with SVG keywords","syntax":"| <svg-writing-mode>"}},"syntaxes":{"-legacy-gradient":{"comment":"added collection of legacy gradient syntaxes","syntax":"<-webkit-gradient()> | <-legacy-linear-gradient> | <-legacy-repeating-linear-gradient> | <-legacy-radial-gradient> | <-legacy-repeating-radial-gradient>"},"-legacy-linear-gradient":{"comment":"like standard syntax but w/o `to` keyword https://developer.mozilla.org/en-US/docs/Web/CSS/linear-gradient","syntax":"-moz-linear-gradient( <-legacy-linear-gradient-arguments> ) | -webkit-linear-gradient( <-legacy-linear-gradient-arguments> ) | -o-linear-gradient( <-legacy-linear-gradient-arguments> )"},"-legacy-repeating-linear-gradient":{"comment":"like standard syntax but w/o `to` keyword https://developer.mozilla.org/en-US/docs/Web/CSS/linear-gradient","syntax":"-moz-repeating-linear-gradient( <-legacy-linear-gradient-arguments> ) | -webkit-repeating-linear-gradient( <-legacy-linear-gradient-arguments> ) | -o-repeating-linear-gradient( <-legacy-linear-gradient-arguments> )"},"-legacy-linear-gradient-arguments":{"comment":"like standard syntax but w/o `to` keyword https://developer.mozilla.org/en-US/docs/Web/CSS/linear-gradient","syntax":"[ <angle> | <side-or-corner> ]? , <color-stop-list>"},"-legacy-radial-gradient":{"comment":"deprecated syntax that implemented by some browsers https://www.w3.org/TR/2011/WD-css3-images-20110908/#radial-gradients","syntax":"-moz-radial-gradient( <-legacy-radial-gradient-arguments> ) | -webkit-radial-gradient( <-legacy-radial-gradient-arguments> ) | -o-radial-gradient( <-legacy-radial-gradient-arguments> )"},"-legacy-repeating-radial-gradient":{"comment":"deprecated syntax that implemented by some browsers https://www.w3.org/TR/2011/WD-css3-images-20110908/#radial-gradients","syntax":"-moz-repeating-radial-gradient( <-legacy-radial-gradient-arguments> ) | -webkit-repeating-radial-gradient( <-legacy-radial-gradient-arguments> ) | -o-repeating-radial-gradient( <-legacy-radial-gradient-arguments> )"},"-legacy-radial-gradient-arguments":{"comment":"deprecated syntax that implemented by some browsers https://www.w3.org/TR/2011/WD-css3-images-20110908/#radial-gradients","syntax":"[ <position> , ]? [ [ [ <-legacy-radial-gradient-shape> || <-legacy-radial-gradient-size> ] | [ <length> | <percentage> ]{2} ] , ]? <color-stop-list>"},"-legacy-radial-gradient-size":{"comment":"before a standard it contains 2 extra keywords (`contain` and `cover`) https://www.w3.org/TR/2011/WD-css3-images-20110908/#ltsize","syntax":"closest-side | closest-corner | farthest-side | farthest-corner | contain | cover"},"-legacy-radial-gradient-shape":{"comment":"define to double sure it doesn\'t extends in future https://www.w3.org/TR/2011/WD-css3-images-20110908/#ltshape","syntax":"circle | ellipse"},"-non-standard-font":{"comment":"non standard fonts","references":["https://webkit.org/blog/3709/using-the-system-font-in-web-content/"],"syntax":"-apple-system-body | -apple-system-headline | -apple-system-subheadline | -apple-system-caption1 | -apple-system-caption2 | -apple-system-footnote | -apple-system-short-body | -apple-system-short-headline | -apple-system-short-subheadline | -apple-system-short-caption1 | -apple-system-short-footnote | -apple-system-tall-body"},"-non-standard-color":{"comment":"non standard colors","references":["http://cssdot.ru/%D0%A1%D0%BF%D1%80%D0%B0%D0%B2%D0%BE%D1%87%D0%BD%D0%B8%D0%BA_CSS/color-i305.html","https://developer.mozilla.org/en-US/docs/Web/CSS/color_value#Mozilla_Color_Preference_Extensions"],"syntax":"-moz-ButtonDefault | -moz-ButtonHoverFace | -moz-ButtonHoverText | -moz-CellHighlight | -moz-CellHighlightText | -moz-Combobox | -moz-ComboboxText | -moz-Dialog | -moz-DialogText | -moz-dragtargetzone | -moz-EvenTreeRow | -moz-Field | -moz-FieldText | -moz-html-CellHighlight | -moz-html-CellHighlightText | -moz-mac-accentdarkestshadow | -moz-mac-accentdarkshadow | -moz-mac-accentface | -moz-mac-accentlightesthighlight | -moz-mac-accentlightshadow | -moz-mac-accentregularhighlight | -moz-mac-accentregularshadow | -moz-mac-chrome-active | -moz-mac-chrome-inactive | -moz-mac-focusring | -moz-mac-menuselect | -moz-mac-menushadow | -moz-mac-menutextselect | -moz-MenuHover | -moz-MenuHoverText | -moz-MenuBarText | -moz-MenuBarHoverText | -moz-nativehyperlinktext | -moz-OddTreeRow | -moz-win-communicationstext | -moz-win-mediatext | -moz-activehyperlinktext | -moz-default-background-color | -moz-default-color | -moz-hyperlinktext | -moz-visitedhyperlinktext | -webkit-activelink | -webkit-focus-ring-color | -webkit-link | -webkit-text"},"-non-standard-image-rendering":{"comment":"non-standard keywords http://phrogz.net/tmp/canvas_image_zoom.html","syntax":"optimize-contrast | -moz-crisp-edges | -o-crisp-edges | -webkit-optimize-contrast"},"-non-standard-overflow":{"comment":"non-standard keywords https://developer.mozilla.org/en-US/docs/Web/CSS/overflow","syntax":"-moz-scrollbars-none | -moz-scrollbars-horizontal | -moz-scrollbars-vertical | -moz-hidden-unscrollable"},"-non-standard-width":{"comment":"non-standard keywords https://developer.mozilla.org/en-US/docs/Web/CSS/width","syntax":"fill-available | min-intrinsic | intrinsic | -moz-available | -moz-fit-content | -moz-min-content | -moz-max-content | -webkit-min-content | -webkit-max-content"},"-webkit-gradient()":{"comment":"first Apple proposal gradient syntax https://webkit.org/blog/175/introducing-css-gradients/ - TODO: simplify when after match algorithm improvement ( [, point, radius | , point] -> [, radius]? , point )","syntax":"-webkit-gradient( <-webkit-gradient-type>, <-webkit-gradient-point> [, <-webkit-gradient-point> | , <-webkit-gradient-radius>, <-webkit-gradient-point> ] [, <-webkit-gradient-radius>]? [, <-webkit-gradient-color-stop>]* )"},"-webkit-gradient-color-stop":{"comment":"first Apple proposal gradient syntax https://webkit.org/blog/175/introducing-css-gradients/","syntax":"from( <color> ) | color-stop( [ <number-zero-one> | <percentage> ] , <color> ) | to( <color> )"},"-webkit-gradient-point":{"comment":"first Apple proposal gradient syntax https://webkit.org/blog/175/introducing-css-gradients/","syntax":"[ left | center | right | <length-percentage> ] [ top | center | bottom | <length-percentage> ]"},"-webkit-gradient-radius":{"comment":"first Apple proposal gradient syntax https://webkit.org/blog/175/introducing-css-gradients/","syntax":"<length> | <percentage>"},"-webkit-gradient-type":{"comment":"first Apple proposal gradient syntax https://webkit.org/blog/175/introducing-css-gradients/","syntax":"linear | radial"},"-webkit-mask-box-repeat":{"comment":"missed; https://developer.mozilla.org/en-US/docs/Web/CSS/-webkit-mask-box-image","syntax":"repeat | stretch | round"},"-webkit-mask-clip-style":{"comment":"missed; there is no enough information about `-webkit-mask-clip` property, but looks like all those keywords are working","syntax":"border | border-box | padding | padding-box | content | content-box | text"},"-ms-filter-function-list":{"comment":"https://developer.mozilla.org/en-US/docs/Web/CSS/-ms-filter","syntax":"<-ms-filter-function>+"},"-ms-filter-function":{"comment":"https://developer.mozilla.org/en-US/docs/Web/CSS/-ms-filter","syntax":"<-ms-filter-function-progid> | <-ms-filter-function-legacy>"},"-ms-filter-function-progid":{"comment":"https://developer.mozilla.org/en-US/docs/Web/CSS/-ms-filter","syntax":"\'progid:\' [ <ident-token> \'.\' ]* [ <ident-token> | <function-token> <any-value>? ) ]"},"-ms-filter-function-legacy":{"comment":"https://developer.mozilla.org/en-US/docs/Web/CSS/-ms-filter","syntax":"<ident-token> | <function-token> <any-value>? )"},"-ms-filter":{"syntax":"<string>"},"age":{"comment":"https://www.w3.org/TR/css3-speech/#voice-family","syntax":"child | young | old"},"attr-name":{"syntax":"<wq-name>"},"attr-fallback":{"syntax":"<any-value>"},"border-radius":{"comment":"missed, https://drafts.csswg.org/css-backgrounds-3/#the-border-radius","syntax":"<length-percentage>{1,2}"},"bottom":{"comment":"missed; not sure we should add it, but no others except `shape` is using it so it\'s ok for now; https://drafts.fxtf.org/css-masking-1/#funcdef-clip-rect","syntax":"<length> | auto"},"content-list":{"comment":"missed -> https://drafts.csswg.org/css-content/#typedef-content-list (document-url, <target> and leader() is omitted util stabilization)","syntax":"[ <string> | contents | <image> | <quote> | <target> | <leader()> | <attr()> | counter( <ident>, <\'list-style-type\'>? ) ]+"},"element()":{"comment":"https://drafts.csswg.org/css-gcpm/#element-syntax & https://drafts.csswg.org/css-images-4/#element-notation","syntax":"element( <custom-ident> , [ first | start | last | first-except ]? ) | element( <id-selector> )"},"generic-voice":{"comment":"https://www.w3.org/TR/css3-speech/#voice-family","syntax":"[ <age>? <gender> <integer>? ]"},"gender":{"comment":"https://www.w3.org/TR/css3-speech/#voice-family","syntax":"male | female | neutral"},"generic-family":{"comment":"added -apple-system","references":["https://webkit.org/blog/3709/using-the-system-font-in-web-content/"],"syntax":"| -apple-system"},"gradient":{"comment":"added legacy syntaxes support","syntax":"| <-legacy-gradient>"},"left":{"comment":"missed; not sure we should add it, but no others except `shape` is using it so it\'s ok for now; https://drafts.fxtf.org/css-masking-1/#funcdef-clip-rect","syntax":"<length> | auto"},"mask-image":{"comment":"missed; https://drafts.fxtf.org/css-masking-1/#the-mask-image","syntax":"<mask-reference>#"},"name-repeat":{"comment":"missed, and looks like obsolete, keep it as is since other property syntaxes should be changed too; https://www.w3.org/TR/2015/WD-css-grid-1-20150917/#typedef-name-repeat","syntax":"repeat( [ <positive-integer> | auto-fill ], <line-names>+)"},"named-color":{"comment":"added non standard color names","syntax":"| <-non-standard-color>"},"paint":{"comment":"used by SVG https://www.w3.org/TR/SVG/painting.html#SpecifyingPaint","syntax":"none | <color> | <url> [ none | <color> ]? | context-fill | context-stroke"},"page-size":{"comment":"https://www.w3.org/TR/css-page-3/#typedef-page-size-page-size","syntax":"A5 | A4 | A3 | B5 | B4 | JIS-B5 | JIS-B4 | letter | legal | ledger"},"ratio":{"comment":"missed, https://drafts.csswg.org/mediaqueries-4/#typedef-ratio","syntax":"<integer> / <integer>"},"right":{"comment":"missed; not sure we should add it, but no others except `shape` is using it so it\'s ok for now; https://drafts.fxtf.org/css-masking-1/#funcdef-clip-rect","syntax":"<length> | auto"},"shape":{"comment":"missed spaces in function body and add backwards compatible syntax","syntax":"rect( <top>, <right>, <bottom>, <left> ) | rect( <top> <right> <bottom> <left> )"},"svg-length":{"comment":"All coordinates and lengths in SVG can be specified with or without a unit identifier","references":["https://www.w3.org/TR/SVG11/coords.html#Units"],"syntax":"<percentage> | <length> | <number>"},"svg-writing-mode":{"comment":"SVG specific keywords (deprecated for CSS)","references":["https://developer.mozilla.org/en/docs/Web/CSS/writing-mode","https://www.w3.org/TR/SVG/text.html#WritingModeProperty"],"syntax":"lr-tb | rl-tb | tb-rl | lr | rl | tb"},"top":{"comment":"missed; not sure we should add it, but no others except `shape` is using it so it\'s ok for now; https://drafts.fxtf.org/css-masking-1/#funcdef-clip-rect","syntax":"<length> | auto"},"track-group":{"comment":"used by old grid-columns and grid-rows syntax v0","syntax":"\'(\' [ <string>* <track-minmax> <string>* ]+ \')\' [ \'[\' <positive-integer> \']\' ]? | <track-minmax>"},"track-list-v0":{"comment":"used by old grid-columns and grid-rows syntax v0","syntax":"[ <string>* <track-group> <string>* ]+ | none"},"track-minmax":{"comment":"used by old grid-columns and grid-rows syntax v0","syntax":"minmax( <track-breadth> , <track-breadth> ) | auto | <track-breadth> | fit-content"},"x":{"comment":"missed; not sure we should add it, but no others except `cursor` is using it so it\'s ok for now; https://drafts.csswg.org/css-ui-3/#cursor","syntax":"<number>"},"y":{"comment":"missed; not sure we should add it, but no others except `cursor` is using so it\'s ok for now; https://drafts.csswg.org/css-ui-3/#cursor","syntax":"<number>"},"declaration":{"comment":"missed, restored by https://drafts.csswg.org/css-syntax","syntax":"<ident-token> : <declaration-value>? [ \'!\' important ]?"},"declaration-list":{"comment":"missed, restored by https://drafts.csswg.org/css-syntax","syntax":"[ <declaration>? \';\' ]* <declaration>?"},"url":{"comment":"https://drafts.csswg.org/css-values-4/#urls","syntax":"url( <string> <url-modifier>* ) | <url-token>"},"url-modifier":{"comment":"https://drafts.csswg.org/css-values-4/#typedef-url-modifier","syntax":"<ident> | <function-token> <any-value> )"},"number-zero-one":{"syntax":"<number [0,1]>"},"number-one-or-greater":{"syntax":"<number [1,∞]>"},"positive-integer":{"syntax":"<integer [0,∞]>"},"-non-standard-display":{"syntax":"-ms-inline-flexbox | -ms-grid | -ms-inline-grid | -webkit-flex | -webkit-inline-flex | -webkit-box | -webkit-inline-box | -moz-inline-stack | -moz-box | -moz-inline-box"}}}')},function(e,t,n){var r=n(0).cmpChar,i=n(0).isDigit,s=n(0).TYPE,o=s.WhiteSpace,a=s.Comment,l=s.Ident,c=s.Number,u=s.Dimension,d=43,h=45,p=110,m=!0;function f(e,t){var n=this.scanner.tokenStart+e,r=this.scanner.source.charCodeAt(n);for(r!==d&&r!==h||(t&&this.error("Number sign is not allowed"),n++);n<this.scanner.tokenEnd;n++)i(this.scanner.source.charCodeAt(n))||this.error("Integer is expected",n)}function g(e){return f.call(this,0,e)}function y(e,t){if(!r(this.scanner.source,this.scanner.tokenStart+e,t)){var n="";switch(t){case p:n="N is expected";break;case h:n="HyphenMinus is expected"}this.error(n,this.scanner.tokenStart+e)}}function b(){for(var e=0,t=0,n=this.scanner.tokenType;n===o||n===a;)n=this.scanner.lookupType(++e);if(n!==c){if(!this.scanner.isDelim(d,e)&&!this.scanner.isDelim(h,e))return null;t=this.scanner.isDelim(d,e)?d:h;do{n=this.scanner.lookupType(++e)}while(n===o||n===a);n!==c&&(this.scanner.skip(e),g.call(this,m))}return e>0&&this.scanner.skip(e),0===t&&(n=this.scanner.source.charCodeAt(this.scanner.tokenStart))!==d&&n!==h&&this.error("Number sign is expected"),g.call(this,0!==t),t===h?"-"+this.consume(c):this.consume(c)}e.exports={name:"AnPlusB",structure:{a:[String,null],b:[String,null]},parse:function(){var e=this.scanner.tokenStart,t=null,n=null;if(this.scanner.tokenType===c)g.call(this,false),n=this.consume(c);else if(this.scanner.tokenType===l&&r(this.scanner.source,this.scanner.tokenStart,h))switch(t="-1",y.call(this,1,p),this.scanner.getTokenLength()){case 2:this.scanner.next(),n=b.call(this);break;case 3:y.call(this,2,h),this.scanner.next(),this.scanner.skipSC(),g.call(this,m),n="-"+this.consume(c);break;default:y.call(this,2,h),f.call(this,3,m),this.scanner.next(),n=this.scanner.substrToCursor(e+2)}else if(this.scanner.tokenType===l||this.scanner.isDelim(d)&&this.scanner.lookupType(1)===l){var s=0;switch(t="1",this.scanner.isDelim(d)&&(s=1,this.scanner.next()),y.call(this,0,p),this.scanner.getTokenLength()){case 1:this.scanner.next(),n=b.call(this);break;case 2:y.call(this,1,h),this.scanner.next(),this.scanner.skipSC(),g.call(this,m),n="-"+this.consume(c);break;default:y.call(this,1,h),f.call(this,2,m),this.scanner.next(),n=this.scanner.substrToCursor(e+s+1)}}else if(this.scanner.tokenType===u){for(var o=this.scanner.source.charCodeAt(this.scanner.tokenStart),a=(s=o===d||o===h,this.scanner.tokenStart+s);a<this.scanner.tokenEnd&&i(this.scanner.source.charCodeAt(a));a++);a===this.scanner.tokenStart+s&&this.error("Integer is expected",this.scanner.tokenStart+s),y.call(this,a-this.scanner.tokenStart,p),t=this.scanner.source.substring(e,a),a+1===this.scanner.tokenEnd?(this.scanner.next(),n=b.call(this)):(y.call(this,a-this.scanner.tokenStart+1,h),a+2===this.scanner.tokenEnd?(this.scanner.next(),this.scanner.skipSC(),g.call(this,m),n="-"+this.consume(c)):(f.call(this,a-this.scanner.tokenStart+2,m),this.scanner.next(),n=this.scanner.substrToCursor(a+1)))}else this.error();return null!==t&&t.charCodeAt(0)===d&&(t=t.substr(1)),null!==n&&n.charCodeAt(0)===d&&(n=n.substr(1)),{type:"AnPlusB",loc:this.getLocation(e,this.scanner.tokenStart),a:t,b:n}},generate:function(e){var t=null!==e.a&&void 0!==e.a,n=null!==e.b&&void 0!==e.b;t?(this.chunk("+1"===e.a?"+n":"1"===e.a?"n":"-1"===e.a?"-n":e.a+"n"),n&&("-"===(n=String(e.b)).charAt(0)||"+"===n.charAt(0)?(this.chunk(n.charAt(0)),this.chunk(n.substr(1))):(this.chunk("+"),this.chunk(n)))):this.chunk(String(e.b))}}},function(e,t,n){var r=n(0).TYPE,i=n(18).mode,s=r.AtKeyword,o=r.Semicolon,a=r.LeftCurlyBracket,l=r.RightCurlyBracket;function c(e){return this.Raw(e,i.leftCurlyBracketOrSemicolon,!0)}function u(){for(var e,t=1;e=this.scanner.lookupType(t);t++){if(e===l)return!0;if(e===a||e===s)return!1}return!1}e.exports={name:"Atrule",structure:{name:String,prelude:["AtrulePrelude","Raw",null],block:["Block",null]},parse:function(){var e,t,n=this.scanner.tokenStart,r=null,i=null;switch(this.eat(s),t=(e=this.scanner.substrToCursor(n+1)).toLowerCase(),this.scanner.skipSC(),!1===this.scanner.eof&&this.scanner.tokenType!==a&&this.scanner.tokenType!==o&&(this.parseAtrulePrelude?"AtrulePrelude"===(r=this.parseWithFallback(this.AtrulePrelude.bind(this,e),c)).type&&null===r.children.head&&(r=null):r=c.call(this,this.scanner.tokenIndex),this.scanner.skipSC()),this.scanner.tokenType){case o:this.scanner.next();break;case a:i=this.atrule.hasOwnProperty(t)&&"function"==typeof this.atrule[t].block?this.atrule[t].block.call(this):this.Block(u.call(this))}return{type:"Atrule",loc:this.getLocation(n,this.scanner.tokenStart),name:e,prelude:r,block:i}},generate:function(e){this.chunk("@"),this.chunk(e.name),null!==e.prelude&&(this.chunk(" "),this.node(e.prelude)),e.block?this.node(e.block):this.chunk(";")},walkContext:"atrule"}},function(e,t,n){var r=n(0).TYPE,i=r.Semicolon,s=r.LeftCurlyBracket;e.exports={name:"AtrulePrelude",structure:{children:[[]]},parse:function(e){var t=null;return null!==e&&(e=e.toLowerCase()),this.scanner.skipSC(),t=this.atrule.hasOwnProperty(e)&&"function"==typeof this.atrule[e].prelude?this.atrule[e].prelude.call(this):this.readSequence(this.scope.AtrulePrelude),this.scanner.skipSC(),!0!==this.scanner.eof&&this.scanner.tokenType!==s&&this.scanner.tokenType!==i&&this.error("Semicolon or block is expected"),null===t&&(t=this.createList()),{type:"AtrulePrelude",loc:this.getLocationFromList(t),children:t}},generate:function(e){this.children(e)},walkContext:"atrulePrelude"}},function(e,t,n){var r=n(0).TYPE,i=r.Ident,s=r.String,o=r.Colon,a=r.LeftSquareBracket,l=r.RightSquareBracket;function c(){this.scanner.eof&&this.error("Unexpected end of input");var e=this.scanner.tokenStart,t=!1,n=!0;return this.scanner.isDelim(42)?(t=!0,n=!1,this.scanner.next()):this.scanner.isDelim(124)||this.eat(i),this.scanner.isDelim(124)?61!==this.scanner.source.charCodeAt(this.scanner.tokenStart+1)?(this.scanner.next(),this.eat(i)):t&&this.error("Identifier is expected",this.scanner.tokenEnd):t&&this.error("Vertical line is expected"),n&&this.scanner.tokenType===o&&(this.scanner.next(),this.eat(i)),{type:"Identifier",loc:this.getLocation(e,this.scanner.tokenStart),name:this.scanner.substrToCursor(e)}}function u(){var e=this.scanner.tokenStart,t=this.scanner.source.charCodeAt(e);return 61!==t&&126!==t&&94!==t&&36!==t&&42!==t&&124!==t&&this.error("Attribute selector (=, ~=, ^=, $=, *=, |=) is expected"),this.scanner.next(),61!==t&&(this.scanner.isDelim(61)||this.error("Equal sign is expected"),this.scanner.next()),this.scanner.substrToCursor(e)}e.exports={name:"AttributeSelector",structure:{name:"Identifier",matcher:[String,null],value:["String","Identifier",null],flags:[String,null]},parse:function(){var e,t=this.scanner.tokenStart,n=null,r=null,o=null;return this.eat(a),this.scanner.skipSC(),e=c.call(this),this.scanner.skipSC(),this.scanner.tokenType!==l&&(this.scanner.tokenType!==i&&(n=u.call(this),this.scanner.skipSC(),r=this.scanner.tokenType===s?this.String():this.Identifier(),this.scanner.skipSC()),this.scanner.tokenType===i&&(o=this.scanner.getTokenValue(),this.scanner.next(),this.scanner.skipSC())),this.eat(l),{type:"AttributeSelector",loc:this.getLocation(t,this.scanner.tokenStart),name:e,matcher:n,value:r,flags:o}},generate:function(e){var t=" ";this.chunk("["),this.node(e.name),null!==e.matcher&&(this.chunk(e.matcher),null!==e.value&&(this.node(e.value),"String"===e.value.type&&(t=""))),null!==e.flags&&(this.chunk(t),this.chunk(e.flags)),this.chunk("]")}}},function(e,t,n){var r=n(0).TYPE,i=n(18).mode,s=r.WhiteSpace,o=r.Comment,a=r.Semicolon,l=r.AtKeyword,c=r.LeftCurlyBracket,u=r.RightCurlyBracket;function d(e){return this.Raw(e,null,!0)}function h(){return this.parseWithFallback(this.Rule,d)}function p(e){return this.Raw(e,i.semicolonIncluded,!0)}function m(){if(this.scanner.tokenType===a)return p.call(this,this.scanner.tokenIndex);var e=this.parseWithFallback(this.Declaration,p);return this.scanner.tokenType===a&&this.scanner.next(),e}e.exports={name:"Block",structure:{children:[["Atrule","Rule","Declaration"]]},parse:function(e){var t=e?m:h,n=this.scanner.tokenStart,r=this.createList();this.eat(c);e:for(;!this.scanner.eof;)switch(this.scanner.tokenType){case u:break e;case s:case o:this.scanner.next();break;case l:r.push(this.parseWithFallback(this.Atrule,d));break;default:r.push(t.call(this))}return this.scanner.eof||this.eat(u),{type:"Block",loc:this.getLocation(n,this.scanner.tokenStart),children:r}},generate:function(e){this.chunk("{"),this.children(e,(function(e){"Declaration"===e.type&&this.chunk(";")})),this.chunk("}")},walkContext:"block"}},function(e,t,n){var r=n(0).TYPE,i=r.LeftSquareBracket,s=r.RightSquareBracket;e.exports={name:"Brackets",structure:{children:[[]]},parse:function(e,t){var n,r=this.scanner.tokenStart;return this.eat(i),n=e.call(this,t),this.scanner.eof||this.eat(s),{type:"Brackets",loc:this.getLocation(r,this.scanner.tokenStart),children:n}},generate:function(e){this.chunk("["),this.children(e),this.chunk("]")}}},function(e,t,n){var r=n(0).TYPE.CDC;e.exports={name:"CDC",structure:[],parse:function(){var e=this.scanner.tokenStart;return this.eat(r),{type:"CDC",loc:this.getLocation(e,this.scanner.tokenStart)}},generate:function(){this.chunk("--\x3e")}}},function(e,t,n){var r=n(0).TYPE.CDO;e.exports={name:"CDO",structure:[],parse:function(){var e=this.scanner.tokenStart;return this.eat(r),{type:"CDO",loc:this.getLocation(e,this.scanner.tokenStart)}},generate:function(){this.chunk("\x3c!--")}}},function(e,t,n){var r=n(0).TYPE.Ident;e.exports={name:"ClassSelector",structure:{name:String},parse:function(){return this.scanner.isDelim(46)||this.error("Full stop is expected"),this.scanner.next(),{type:"ClassSelector",loc:this.getLocation(this.scanner.tokenStart-1,this.scanner.tokenEnd),name:this.consume(r)}},generate:function(e){this.chunk("."),this.chunk(e.name)}}},function(e,t,n){var r=n(0).TYPE.Ident;e.exports={name:"Combinator",structure:{name:String},parse:function(){var e=this.scanner.tokenStart;switch(this.scanner.source.charCodeAt(this.scanner.tokenStart)){case 62:case 43:case 126:this.scanner.next();break;case 47:this.scanner.next(),this.scanner.tokenType===r&&!1!==this.scanner.lookupValue(0,"deep")||this.error("Identifier `deep` is expected"),this.scanner.next(),this.scanner.isDelim(47)||this.error("Solidus is expected"),this.scanner.next();break;default:this.error("Combinator is expected")}return{type:"Combinator",loc:this.getLocation(e,this.scanner.tokenStart),name:this.scanner.substrToCursor(e)}},generate:function(e){this.chunk(e.name)}}},function(e,t,n){var r=n(0).TYPE.Comment;e.exports={name:"Comment",structure:{value:String},parse:function(){var e=this.scanner.tokenStart,t=this.scanner.tokenEnd;return this.eat(r),t-e+2>=2&&42===this.scanner.source.charCodeAt(t-2)&&47===this.scanner.source.charCodeAt(t-1)&&(t-=2),{type:"Comment",loc:this.getLocation(e,this.scanner.tokenStart),value:this.scanner.source.substring(e+2,t)}},generate:function(e){this.chunk("/*"),this.chunk(e.value),this.chunk("*/")}}},function(e,t,n){var r=n(56).isCustomProperty,i=n(0).TYPE,s=n(18).mode,o=i.Ident,a=i.Hash,l=i.Colon,c=i.Semicolon,u=i.Delim,d=i.WhiteSpace;function h(e){return this.Raw(e,s.exclamationMarkOrSemicolon,!0)}function p(e){return this.Raw(e,s.exclamationMarkOrSemicolon,!1)}function m(){var e=this.scanner.tokenIndex,t=this.Value();return"Raw"!==t.type&&!1===this.scanner.eof&&this.scanner.tokenType!==c&&!1===this.scanner.isDelim(33)&&!1===this.scanner.isBalanceEdge(e)&&this.error(),t}function f(){var e=this.scanner.tokenStart;if(this.scanner.tokenType===u)switch(this.scanner.source.charCodeAt(this.scanner.tokenStart)){case 42:case 36:case 43:case 35:case 38:this.scanner.next();break;case 47:this.scanner.next(),this.scanner.isDelim(47)&&this.scanner.next()}return this.scanner.tokenType===a?this.eat(a):this.eat(o),this.scanner.substrToCursor(e)}function g(){this.eat(u),this.scanner.skipSC();var e=this.consume(o);return"important"===e||e}e.exports={name:"Declaration",structure:{important:[Boolean,String],property:String,value:["Value","Raw"]},parse:function(){var e,t=this.scanner.tokenStart,n=this.scanner.tokenIndex,i=f.call(this),s=r(i),o=s?this.parseCustomProperty:this.parseValue,a=s?p:h,u=!1;this.scanner.skipSC(),this.eat(l);const y=this.scanner.tokenIndex;if(s||this.scanner.skipSC(),e=o?this.parseWithFallback(m,a):a.call(this,this.scanner.tokenIndex),s&&"Value"===e.type&&e.children.isEmpty())for(let t=y-this.scanner.tokenIndex;t<=0;t++)if(this.scanner.lookupType(t)===d){e.children.appendData({type:"WhiteSpace",loc:null,value:" "});break}return this.scanner.isDelim(33)&&(u=g.call(this),this.scanner.skipSC()),!1===this.scanner.eof&&this.scanner.tokenType!==c&&!1===this.scanner.isBalanceEdge(n)&&this.error(),{type:"Declaration",loc:this.getLocation(t,this.scanner.tokenStart),important:u,property:i,value:e}},generate:function(e){this.chunk(e.property),this.chunk(":"),this.node(e.value),e.important&&this.chunk(!0===e.important?"!important":"!"+e.important)},walkContext:"declaration"}},function(e,t,n){var r=n(0).TYPE,i=n(18).mode,s=r.WhiteSpace,o=r.Comment,a=r.Semicolon;function l(e){return this.Raw(e,i.semicolonIncluded,!0)}e.exports={name:"DeclarationList",structure:{children:[["Declaration"]]},parse:function(){for(var e=this.createList();!this.scanner.eof;)switch(this.scanner.tokenType){case s:case o:case a:this.scanner.next();break;default:e.push(this.parseWithFallback(this.Declaration,l))}return{type:"DeclarationList",loc:this.getLocationFromList(e),children:e}},generate:function(e){this.children(e,(function(e){"Declaration"===e.type&&this.chunk(";")}))}}},function(e,t,n){var r=n(27).consumeNumber,i=n(0).TYPE.Dimension;e.exports={name:"Dimension",structure:{value:String,unit:String},parse:function(){var e=this.scanner.tokenStart,t=r(this.scanner.source,e);return this.eat(i),{type:"Dimension",loc:this.getLocation(e,this.scanner.tokenStart),value:this.scanner.source.substring(e,t),unit:this.scanner.source.substring(t,this.scanner.tokenStart)}},generate:function(e){this.chunk(e.value),this.chunk(e.unit)}}},function(e,t,n){var r=n(0).TYPE.RightParenthesis;e.exports={name:"Function",structure:{name:String,children:[[]]},parse:function(e,t){var n,i=this.scanner.tokenStart,s=this.consumeFunctionName(),o=s.toLowerCase();return n=t.hasOwnProperty(o)?t[o].call(this,t):e.call(this,t),this.scanner.eof||this.eat(r),{type:"Function",loc:this.getLocation(i,this.scanner.tokenStart),name:s,children:n}},generate:function(e){this.chunk(e.name),this.chunk("("),this.children(e),this.chunk(")")},walkContext:"function"}},function(e,t,n){var r=n(0).TYPE.Hash;e.exports={name:"Hash",structure:{value:String},parse:function(){var e=this.scanner.tokenStart;return this.eat(r),{type:"Hash",loc:this.getLocation(e,this.scanner.tokenStart),value:this.scanner.substrToCursor(e+1)}},generate:function(e){this.chunk("#"),this.chunk(e.value)}}},function(e,t,n){var r=n(0).TYPE.Ident;e.exports={name:"Identifier",structure:{name:String},parse:function(){return{type:"Identifier",loc:this.getLocation(this.scanner.tokenStart,this.scanner.tokenEnd),name:this.consume(r)}},generate:function(e){this.chunk(e.name)}}},function(e,t,n){var r=n(0).TYPE.Hash;e.exports={name:"IdSelector",structure:{name:String},parse:function(){var e=this.scanner.tokenStart;return this.eat(r),{type:"IdSelector",loc:this.getLocation(e,this.scanner.tokenStart),name:this.scanner.substrToCursor(e+1)}},generate:function(e){this.chunk("#"),this.chunk(e.name)}}},function(e,t,n){var r=n(0).TYPE,i=r.Ident,s=r.Number,o=r.Dimension,a=r.LeftParenthesis,l=r.RightParenthesis,c=r.Colon,u=r.Delim;e.exports={name:"MediaFeature",structure:{name:String,value:["Identifier","Number","Dimension","Ratio",null]},parse:function(){var e,t=this.scanner.tokenStart,n=null;if(this.eat(a),this.scanner.skipSC(),e=this.consume(i),this.scanner.skipSC(),this.scanner.tokenType!==l){switch(this.eat(c),this.scanner.skipSC(),this.scanner.tokenType){case s:n=this.lookupNonWSType(1)===u?this.Ratio():this.Number();break;case o:n=this.Dimension();break;case i:n=this.Identifier();break;default:this.error("Number, dimension, ratio or identifier is expected")}this.scanner.skipSC()}return this.eat(l),{type:"MediaFeature",loc:this.getLocation(t,this.scanner.tokenStart),name:e,value:n}},generate:function(e){this.chunk("("),this.chunk(e.name),null!==e.value&&(this.chunk(":"),this.node(e.value)),this.chunk(")")}}},function(e,t,n){var r=n(0).TYPE,i=r.WhiteSpace,s=r.Comment,o=r.Ident,a=r.LeftParenthesis;e.exports={name:"MediaQuery",structure:{children:[["Identifier","MediaFeature","WhiteSpace"]]},parse:function(){this.scanner.skipSC();var e=this.createList(),t=null,n=null;e:for(;!this.scanner.eof;){switch(this.scanner.tokenType){case s:this.scanner.next();continue;case i:n=this.WhiteSpace();continue;case o:t=this.Identifier();break;case a:t=this.MediaFeature();break;default:break e}null!==n&&(e.push(n),n=null),e.push(t)}return null===t&&this.error("Identifier or parenthesis is expected"),{type:"MediaQuery",loc:this.getLocationFromList(e),children:e}},generate:function(e){this.children(e)}}},function(e,t,n){var r=n(0).TYPE.Comma;e.exports={name:"MediaQueryList",structure:{children:[["MediaQuery"]]},parse:function(e){var t=this.createList();for(this.scanner.skipSC();!this.scanner.eof&&(t.push(this.MediaQuery(e)),this.scanner.tokenType===r);)this.scanner.next();return{type:"MediaQueryList",loc:this.getLocationFromList(t),children:t}},generate:function(e){this.children(e,(function(){this.chunk(",")}))}}},function(e,t){e.exports={name:"Nth",structure:{nth:["AnPlusB","Identifier"],selector:["SelectorList",null]},parse:function(e){this.scanner.skipSC();var t,n=this.scanner.tokenStart,r=n,i=null;return t=this.scanner.lookupValue(0,"odd")||this.scanner.lookupValue(0,"even")?this.Identifier():this.AnPlusB(),this.scanner.skipSC(),e&&this.scanner.lookupValue(0,"of")?(this.scanner.next(),i=this.SelectorList(),this.needPositions&&(r=this.getLastListNode(i.children).loc.end.offset)):this.needPositions&&(r=t.loc.end.offset),{type:"Nth",loc:this.getLocation(n,r),nth:t,selector:i}},generate:function(e){this.node(e.nth),null!==e.selector&&(this.chunk(" of "),this.node(e.selector))}}},function(e,t,n){var r=n(0).TYPE.Number;e.exports={name:"Number",structure:{value:String},parse:function(){return{type:"Number",loc:this.getLocation(this.scanner.tokenStart,this.scanner.tokenEnd),value:this.consume(r)}},generate:function(e){this.chunk(e.value)}}},function(e,t){e.exports={name:"Operator",structure:{value:String},parse:function(){var e=this.scanner.tokenStart;return this.scanner.next(),{type:"Operator",loc:this.getLocation(e,this.scanner.tokenStart),value:this.scanner.substrToCursor(e)}},generate:function(e){this.chunk(e.value)}}},function(e,t,n){var r=n(0).TYPE,i=r.LeftParenthesis,s=r.RightParenthesis;e.exports={name:"Parentheses",structure:{children:[[]]},parse:function(e,t){var n,r=this.scanner.tokenStart;return this.eat(i),n=e.call(this,t),this.scanner.eof||this.eat(s),{type:"Parentheses",loc:this.getLocation(r,this.scanner.tokenStart),children:n}},generate:function(e){this.chunk("("),this.children(e),this.chunk(")")}}},function(e,t,n){var r=n(27).consumeNumber,i=n(0).TYPE.Percentage;e.exports={name:"Percentage",structure:{value:String},parse:function(){var e=this.scanner.tokenStart,t=r(this.scanner.source,e);return this.eat(i),{type:"Percentage",loc:this.getLocation(e,this.scanner.tokenStart),value:this.scanner.source.substring(e,t)}},generate:function(e){this.chunk(e.value),this.chunk("%")}}},function(e,t,n){var r=n(0).TYPE,i=r.Ident,s=r.Function,o=r.Colon,a=r.RightParenthesis;e.exports={name:"PseudoClassSelector",structure:{name:String,children:[["Raw"],null]},parse:function(){var e,t,n=this.scanner.tokenStart,r=null;return this.eat(o),this.scanner.tokenType===s?(t=(e=this.consumeFunctionName()).toLowerCase(),this.pseudo.hasOwnProperty(t)?(this.scanner.skipSC(),r=this.pseudo[t].call(this),this.scanner.skipSC()):(r=this.createList()).push(this.Raw(this.scanner.tokenIndex,null,!1)),this.eat(a)):e=this.consume(i),{type:"PseudoClassSelector",loc:this.getLocation(n,this.scanner.tokenStart),name:e,children:r}},generate:function(e){this.chunk(":"),this.chunk(e.name),null!==e.children&&(this.chunk("("),this.children(e),this.chunk(")"))},walkContext:"function"}},function(e,t,n){var r=n(0).TYPE,i=r.Ident,s=r.Function,o=r.Colon,a=r.RightParenthesis;e.exports={name:"PseudoElementSelector",structure:{name:String,children:[["Raw"],null]},parse:function(){var e,t,n=this.scanner.tokenStart,r=null;return this.eat(o),this.eat(o),this.scanner.tokenType===s?(t=(e=this.consumeFunctionName()).toLowerCase(),this.pseudo.hasOwnProperty(t)?(this.scanner.skipSC(),r=this.pseudo[t].call(this),this.scanner.skipSC()):(r=this.createList()).push(this.Raw(this.scanner.tokenIndex,null,!1)),this.eat(a)):e=this.consume(i),{type:"PseudoElementSelector",loc:this.getLocation(n,this.scanner.tokenStart),name:e,children:r}},generate:function(e){this.chunk("::"),this.chunk(e.name),null!==e.children&&(this.chunk("("),this.children(e),this.chunk(")"))},walkContext:"function"}},function(e,t,n){var r=n(0).isDigit,i=n(0).TYPE,s=i.Number,o=i.Delim;function a(){this.scanner.skipWS();for(var e=this.consume(s),t=0;t<e.length;t++){var n=e.charCodeAt(t);r(n)||46===n||this.error("Unsigned number is expected",this.scanner.tokenStart-e.length+t)}return 0===Number(e)&&this.error("Zero number is not allowed",this.scanner.tokenStart-e.length),e}e.exports={name:"Ratio",structure:{left:String,right:String},parse:function(){var e,t=this.scanner.tokenStart,n=a.call(this);return this.scanner.skipWS(),this.scanner.isDelim(47)||this.error("Solidus is expected"),this.eat(o),e=a.call(this),{type:"Ratio",loc:this.getLocation(t,this.scanner.tokenStart),left:n,right:e}},generate:function(e){this.chunk(e.left),this.chunk("/"),this.chunk(e.right)}}},function(e,t,n){var r=n(0).TYPE,i=n(18).mode,s=r.LeftCurlyBracket;function o(e){return this.Raw(e,i.leftCurlyBracket,!0)}function a(){var e=this.SelectorList();return"Raw"!==e.type&&!1===this.scanner.eof&&this.scanner.tokenType!==s&&this.error(),e}e.exports={name:"Rule",structure:{prelude:["SelectorList","Raw"],block:["Block"]},parse:function(){var e,t,n=this.scanner.tokenIndex,r=this.scanner.tokenStart;return e=this.parseRulePrelude?this.parseWithFallback(a,o):o.call(this,n),t=this.Block(!0),{type:"Rule",loc:this.getLocation(r,this.scanner.tokenStart),prelude:e,block:t}},generate:function(e){this.node(e.prelude),this.node(e.block)},walkContext:"rule"}},function(e,t){e.exports={name:"Selector",structure:{children:[["TypeSelector","IdSelector","ClassSelector","AttributeSelector","PseudoClassSelector","PseudoElementSelector","Combinator","WhiteSpace"]]},parse:function(){var e=this.readSequence(this.scope.Selector);return null===this.getFirstListNode(e)&&this.error("Selector is expected"),{type:"Selector",loc:this.getLocationFromList(e),children:e}},generate:function(e){this.children(e)}}},function(e,t,n){var r=n(0).TYPE.Comma;e.exports={name:"SelectorList",structure:{children:[["Selector","Raw"]]},parse:function(){for(var e=this.createList();!this.scanner.eof&&(e.push(this.Selector()),this.scanner.tokenType===r);)this.scanner.next();return{type:"SelectorList",loc:this.getLocationFromList(e),children:e}},generate:function(e){this.children(e,(function(){this.chunk(",")}))},walkContext:"selector"}},function(e,t,n){var r=n(0).TYPE.String;e.exports={name:"String",structure:{value:String},parse:function(){return{type:"String",loc:this.getLocation(this.scanner.tokenStart,this.scanner.tokenEnd),value:this.consume(r)}},generate:function(e){this.chunk(e.value)}}},function(e,t,n){var r=n(0).TYPE,i=r.WhiteSpace,s=r.Comment,o=r.AtKeyword,a=r.CDO,l=r.CDC;function c(e){return this.Raw(e,null,!1)}e.exports={name:"StyleSheet",structure:{children:[["Comment","CDO","CDC","Atrule","Rule","Raw"]]},parse:function(){for(var e,t=this.scanner.tokenStart,n=this.createList();!this.scanner.eof;){switch(this.scanner.tokenType){case i:this.scanner.next();continue;case s:if(33!==this.scanner.source.charCodeAt(this.scanner.tokenStart+2)){this.scanner.next();continue}e=this.Comment();break;case a:e=this.CDO();break;case l:e=this.CDC();break;case o:e=this.parseWithFallback(this.Atrule,c);break;default:e=this.parseWithFallback(this.Rule,c)}n.push(e)}return{type:"StyleSheet",loc:this.getLocation(t,this.scanner.tokenStart),children:n}},generate:function(e){this.children(e)},walkContext:"stylesheet"}},function(e,t,n){var r=n(0).TYPE.Ident;function i(){this.scanner.tokenType!==r&&!1===this.scanner.isDelim(42)&&this.error("Identifier or asterisk is expected"),this.scanner.next()}e.exports={name:"TypeSelector",structure:{name:String},parse:function(){var e=this.scanner.tokenStart;return this.scanner.isDelim(124)?(this.scanner.next(),i.call(this)):(i.call(this),this.scanner.isDelim(124)&&(this.scanner.next(),i.call(this))),{type:"TypeSelector",loc:this.getLocation(e,this.scanner.tokenStart),name:this.scanner.substrToCursor(e)}},generate:function(e){this.chunk(e.name)}}},function(e,t,n){var r=n(0).isHexDigit,i=n(0).cmpChar,s=n(0).TYPE,o=n(0).NAME,a=s.Ident,l=s.Number,c=s.Dimension,u=45,d=63;function h(e,t){for(var n=this.scanner.tokenStart+e,i=0;n<this.scanner.tokenEnd;n++){var s=this.scanner.source.charCodeAt(n);if(s===u&&t&&0!==i)return 0===h.call(this,e+i+1,!1)&&this.error(),-1;r(s)||this.error(t&&0!==i?"HyphenMinus"+(i<6?" or hex digit":"")+" is expected":i<6?"Hex digit is expected":"Unexpected input",n),++i>6&&this.error("Too many hex digits",n)}return this.scanner.next(),i}function p(e){for(var t=0;this.scanner.isDelim(d);)++t>e&&this.error("Too many question marks"),this.scanner.next()}function m(e){this.scanner.source.charCodeAt(this.scanner.tokenStart)!==e&&this.error(o[e]+" is expected")}function f(){var e=0;return this.scanner.isDelim(43)?(this.scanner.next(),this.scanner.tokenType===a?void((e=h.call(this,0,!0))>0&&p.call(this,6-e)):this.scanner.isDelim(d)?(this.scanner.next(),void p.call(this,5)):void this.error("Hex digit or question mark is expected")):this.scanner.tokenType===l?(m.call(this,43),e=h.call(this,1,!0),this.scanner.isDelim(d)?void p.call(this,6-e):this.scanner.tokenType===c||this.scanner.tokenType===l?(m.call(this,u),void h.call(this,1,!1)):void 0):this.scanner.tokenType===c?(m.call(this,43),void((e=h.call(this,1,!0))>0&&p.call(this,6-e))):void this.error()}e.exports={name:"UnicodeRange",structure:{value:String},parse:function(){var e=this.scanner.tokenStart;return i(this.scanner.source,e,117)||this.error("U is expected"),i(this.scanner.source,e+1,43)||this.error("Plus sign is expected"),this.scanner.next(),f.call(this),{type:"UnicodeRange",loc:this.getLocation(e,this.scanner.tokenStart),value:this.scanner.substrToCursor(e)}},generate:function(e){this.chunk(e.value)}}},function(e,t,n){var r=n(0).isWhiteSpace,i=n(0).cmpStr,s=n(0).TYPE,o=s.Function,a=s.Url,l=s.RightParenthesis;e.exports={name:"Url",structure:{value:["String","Raw"]},parse:function(){var e,t=this.scanner.tokenStart;switch(this.scanner.tokenType){case a:for(var n=t+4,s=this.scanner.tokenEnd-1;n<s&&r(this.scanner.source.charCodeAt(n));)n++;for(;n<s&&r(this.scanner.source.charCodeAt(s-1));)s--;e={type:"Raw",loc:this.getLocation(n,s),value:this.scanner.source.substring(n,s)},this.eat(a);break;case o:i(this.scanner.source,this.scanner.tokenStart,this.scanner.tokenEnd,"url(")||this.error("Function name must be `url`"),this.eat(o),this.scanner.skipSC(),e=this.String(),this.scanner.skipSC(),this.eat(l);break;default:this.error("Url or Function is expected")}return{type:"Url",loc:this.getLocation(t,this.scanner.tokenStart),value:e}},generate:function(e){this.chunk("url"),this.chunk("("),this.node(e.value),this.chunk(")")}}},function(e,t){e.exports={name:"Value",structure:{children:[[]]},parse:function(){var e=this.scanner.tokenStart,t=this.readSequence(this.scope.Value);return{type:"Value",loc:this.getLocation(e,this.scanner.tokenStart),children:t}},generate:function(e){this.children(e)}}},function(e,t,n){var r=n(0).TYPE.WhiteSpace,i=Object.freeze({type:"WhiteSpace",loc:null,value:" "});e.exports={name:"WhiteSpace",structure:{value:String},parse:function(){return this.eat(r),i},generate:function(e){this.chunk(e.value)}}},function(e,t,n){e.exports={parseContext:{default:"StyleSheet",stylesheet:"StyleSheet",atrule:"Atrule",atrulePrelude:function(e){return this.AtrulePrelude(e.atrule?String(e.atrule):null)},mediaQueryList:"MediaQueryList",mediaQuery:"MediaQuery",rule:"Rule",selectorList:"SelectorList",selector:"Selector",block:function(){return this.Block(!0)},declarationList:"DeclarationList",declaration:"Declaration",value:"Value"},scope:n(353),atrule:n(359),pseudo:n(365),node:n(59)}},function(e,t,n){e.exports={AtrulePrelude:n(354),Selector:n(355),Value:n(356)}},function(e,t,n){e.exports={getNode:n(99)}},function(e,t,n){var r=n(0).TYPE,i=r.Delim,s=r.Ident,o=r.Dimension,a=r.Percentage,l=r.Number,c=r.Hash,u=r.Colon,d=r.LeftSquareBracket;e.exports={getNode:function(e){switch(this.scanner.tokenType){case d:return this.AttributeSelector();case c:return this.IdSelector();case u:return this.scanner.lookupType(1)===u?this.PseudoElementSelector():this.PseudoClassSelector();case s:return this.TypeSelector();case l:case a:return this.Percentage();case o:46===this.scanner.source.charCodeAt(this.scanner.tokenStart)&&this.error("Identifier is expected",this.scanner.tokenStart+1);break;case i:switch(this.scanner.source.charCodeAt(this.scanner.tokenStart)){case 43:case 62:case 126:return e.space=null,e.ignoreWSAfter=!0,this.Combinator();case 47:return this.Combinator();case 46:return this.ClassSelector();case 42:case 124:return this.TypeSelector();case 35:return this.IdSelector()}}}}},function(e,t,n){e.exports={getNode:n(99),expression:n(357),var:n(358)}},function(e,t){e.exports=function(){return this.createSingleNodeList(this.Raw(this.scanner.tokenIndex,null,!1))}},function(e,t,n){var r=n(0).TYPE,i=n(18).mode,s=r.Comma,o=r.WhiteSpace;e.exports=function(){var e=this.createList();if(this.scanner.skipSC(),e.push(this.Identifier()),this.scanner.skipSC(),this.scanner.tokenType===s){e.push(this.Operator());const t=this.scanner.tokenIndex,n=this.parseCustomProperty?this.Value(null):this.Raw(this.scanner.tokenIndex,i.exclamationMarkOrSemicolon,!1);if("Value"===n.type&&n.children.isEmpty())for(let e=t-this.scanner.tokenIndex;e<=0;e++)if(this.scanner.lookupType(e)===o){n.children.appendData({type:"WhiteSpace",loc:null,value:" "});break}e.push(n)}return e}},function(e,t,n){e.exports={"font-face":n(360),import:n(361),media:n(362),page:n(363),supports:n(364)}},function(e,t){e.exports={parse:{prelude:null,block:function(){return this.Block(!0)}}}},function(e,t,n){var r=n(0).TYPE,i=r.String,s=r.Ident,o=r.Url,a=r.Function,l=r.LeftParenthesis;e.exports={parse:{prelude:function(){var e=this.createList();switch(this.scanner.skipSC(),this.scanner.tokenType){case i:e.push(this.String());break;case o:case a:e.push(this.Url());break;default:this.error("String or url() is expected")}return this.lookupNonWSType(0)!==s&&this.lookupNonWSType(0)!==l||(e.push(this.WhiteSpace()),e.push(this.MediaQueryList())),e},block:null}}},function(e,t){e.exports={parse:{prelude:function(){return this.createSingleNodeList(this.MediaQueryList())},block:function(){return this.Block(!1)}}}},function(e,t){e.exports={parse:{prelude:function(){return this.createSingleNodeList(this.SelectorList())},block:function(){return this.Block(!0)}}}},function(e,t,n){var r=n(0).TYPE,i=r.WhiteSpace,s=r.Comment,o=r.Ident,a=r.Function,l=r.Colon,c=r.LeftParenthesis;function u(){return this.createSingleNodeList(this.Raw(this.scanner.tokenIndex,null,!1))}function d(){return this.scanner.skipSC(),this.scanner.tokenType===o&&this.lookupNonWSType(1)===l?this.createSingleNodeList(this.Declaration()):h.call(this)}function h(){var e,t=this.createList(),n=null;this.scanner.skipSC();e:for(;!this.scanner.eof;){switch(this.scanner.tokenType){case i:n=this.WhiteSpace();continue;case s:this.scanner.next();continue;case a:e=this.Function(u,this.scope.AtrulePrelude);break;case o:e=this.Identifier();break;case c:e=this.Parentheses(d,this.scope.AtrulePrelude);break;default:break e}null!==n&&(t.push(n),n=null),t.push(e)}return t}e.exports={parse:{prelude:function(){var e=h.call(this);return null===this.getFirstListNode(e)&&this.error("Condition is expected"),e},block:function(){return this.Block(!1)}}}},function(e,t,n){e.exports={dir:n(366),has:n(367),lang:n(368),matches:n(369),not:n(370),"nth-child":n(371),"nth-last-child":n(372),"nth-last-of-type":n(373),"nth-of-type":n(374),slotted:n(375)}},function(e,t){e.exports={parse:function(){return this.createSingleNodeList(this.Identifier())}}},function(e,t){e.exports={parse:function(){return this.createSingleNodeList(this.SelectorList())}}},function(e,t){e.exports={parse:function(){return this.createSingleNodeList(this.Identifier())}}},function(e,t,n){e.exports=n(100)},function(e,t,n){e.exports=n(100)},function(e,t,n){e.exports=n(101)},function(e,t,n){e.exports=n(101)},function(e,t,n){e.exports=n(102)},function(e,t,n){e.exports=n(102)},function(e,t){e.exports={parse:function(){return this.createSingleNodeList(this.Selector())}}},function(e,t,n){e.exports={node:n(59)}},function(e){e.exports=JSON.parse('{"name":"css-tree","version":"1.1.3","description":"A tool set for CSS: fast detailed parser (CSS → AST), walker (AST traversal), generator (AST → CSS) and lexer (validation and matching) based on specs and browser implementations","author":"Roman Dvornov <rdvornov@gmail.com> (https://github.com/lahmatiy)","license":"MIT","repository":"csstree/csstree","keywords":["css","ast","tokenizer","parser","walker","lexer","generator","utils","syntax","validation"],"main":"lib/index.js","unpkg":"dist/csstree.min.js","jsdelivr":"dist/csstree.min.js","scripts":{"build":"rollup --config","lint":"eslint data lib scripts test && node scripts/review-syntax-patch --lint && node scripts/update-docs --lint","lint-and-test":"npm run lint && npm test","update:docs":"node scripts/update-docs","review:syntax-patch":"node scripts/review-syntax-patch","test":"mocha --reporter progress","coverage":"nyc npm test","travis":"nyc npm run lint-and-test && npm run coveralls","coveralls":"nyc report --reporter=text-lcov | coveralls","prepublishOnly":"npm run build","hydrogen":"node --trace-hydrogen --trace-phase=Z --trace-deopt --code-comments --hydrogen-track-positions --redirect-code-traces --redirect-code-traces-to=code.asm --trace_hydrogen_file=code.cfg --print-opt-code bin/parse --stat -o /dev/null"},"dependencies":{"mdn-data":"2.0.14","source-map":"^0.6.1"},"devDependencies":{"@rollup/plugin-commonjs":"^11.0.2","@rollup/plugin-json":"^4.0.2","@rollup/plugin-node-resolve":"^7.1.1","coveralls":"^3.0.9","eslint":"^6.8.0","json-to-ast":"^2.1.0","mocha":"^6.2.3","nyc":"^14.1.1","rollup":"^1.32.1","rollup-plugin-terser":"^5.3.0"},"engines":{"node":">=8.0.0"},"files":["data","dist","lib"]}')},function(e,t){const n=function(e,t,n){const r=n?[e.getTargetById(n)]:e.targets,i=[];for(let e=0;e<r.length;e++){const n=r[e].sprite[t];for(let e=0;e<n.length;e++){const t=n[e],r=t.broken?t.broken.asset:t.asset;r&&i.push({fileName:"".concat(r.assetId,".").concat(r.dataFormat),fileContent:r.data})}}return i};e.exports={serializeSounds:function(e,t){return n(e,"sounds",t)},serializeCostumes:function(e,t){return n(e,"costumes",t)}}},function(e,t){!function(e){"use strict";var t,n=e.Uint8Array,r=e.HTMLCanvasElement,i=r&&r.prototype,s=/\s*;\s*base64\s*(?:;|$)/i,o="toDataURL",a=function(e){for(var r,i,s=e.length,o=new n(s/4*3|0),a=0,l=0,c=[0,0],u=0,d=0;s--;)i=e.charCodeAt(a++),255!==(r=t[i-43])&&undefined!==r&&(c[1]=c[0],c[0]=i,d=d<<6|r,4===++u&&(o[l++]=d>>>16,61!==c[1]&&(o[l++]=d>>>8),61!==c[0]&&(o[l++]=d),u=0));return o};n&&(t=new n([62,-1,-1,-1,63,52,53,54,55,56,57,58,59,60,61,-1,-1,-1,0,-1,-1,-1,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,-1,-1,-1,-1,-1,-1,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51])),!r||i.toBlob&&i.toBlobHD||(i.toBlob||(i.toBlob=function(e,t){if(t||(t="image/png"),this.mozGetAsFile)e(this.mozGetAsFile("canvas",t));else if(this.msToBlob&&/^\s*image\/png\s*(?:$|;)/i.test(t))e(this.msToBlob());else{var r,i=Array.prototype.slice.call(arguments,1),l=this[o].apply(this,i),c=l.indexOf(","),u=l.substring(c+1),d=s.test(l.substring(0,c));Blob.fake?((r=new Blob).encoding=d?"base64":"URI",r.data=u,r.size=u.length):n&&(r=d?new Blob([a(u)],{type:t}):new Blob([decodeURIComponent(u)],{type:t})),e(r)}}),!i.toBlobHD&&i.toDataURLHD?i.toBlobHD=function(){o="toDataURLHD";var e=this.toBlob();return o="toDataURL",e}:i.toBlobHD=i.toBlob)}("undefined"!=typeof self&&self||"undefined"!=typeof window&&window||this.content||this)},function(e,t,n){(function(t){var r=n(381);e.exports=function(e,n,i){if("string"==typeof e)return i(null,[e,null]);if(!t.isBuffer(e))try{e=new t(e)}catch(e){return i("Input must be a Buffer or a string.")}var s=e.slice(0,3).join(" "),o=!1,a=!1;return 0===s.indexOf("83 99 114")&&(o=!0),0===s.indexOf("80 75")&&(a=!0),a||o?o?i("Parser only supports Scratch 2.X and above"):void r(e,n,i):i(null,[e.toString("utf-8"),null])}}).call(this,n(19).Buffer)},function(e,t,n){var r=n(23);e.exports=function(e,t,n){var i="Failed to unzip and extract project.json, with error: ";return r.loadAsync(e).then((function(e){const r=t?e.file(/^([^/]*\/)?sprite\.json$/)[0]:e.file(/^([^/]*\/)?project\.json$/)[0];return r?r.async("string").then((function(t){return n(null,[t,e])})):n(i+"missing project or sprite json")})).catch((function(e){return n(i+e)}))}},function(e,t,n){const r=n(72);e.exports=function(e,t){var n;try{n=r.parse(e.replace(/(\\+)(b|u0008)/g,((e,t,n)=>t.length%2?e.replace("\\"+n,""):e)))}catch(e){return t(e.toString())}return t(null,n)}},function(e,t){e.exports=function(e,t,n){if("objName"in t)return t.projectVersion=2,n(null,t);if(e){if("name"in t)return t.projectVersion=3,n(null,t)}else if("targets"in t)return t.projectVersion=3,n(null,t);n(new Error("Could not parse as a valid SB2 or SB3 project."))}},function(e,t){(function(t){e.exports=t}).call(this,{})},function(e,t){const n="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!#%()*+,-./:;=?@[]^_`{|}~",r=e=>{let t="";for(;e>=0;)t=n[e%77]+t,e=Math.floor(e/77)-1;return t};class i{constructor(){this.generatedIds=new Map,this.references=new Map,this.skippedIds=new Set,this.skippedIds.add("of")}skip(e){this.skippedIds.add(e)}addReference(e){const t=this.references.get(e)||0;this.references.set(e,t+1)}generateNewIds(){const e=Array.from(this.references.entries());e.sort(((e,t)=>t[1]-e[1]));let t=0;for(const n of e){const e=n[0];let i=r(t);for(;this.skippedIds.has(i);)t++,i=r(t);this.generatedIds.set(e,i),t++}}getNewId(e){return this.generatedIds.has(e)?this.generatedIds.get(e):e}}e.exports=e=>{const t=new i;for(const n of e.targets){for(const e of Object.keys(n.variables))t.skip(e);for(const e of Object.keys(n.lists))t.skip(e);for(const e of Object.keys(n.broadcasts))t.skip(e);for(const e of Object.keys(n.blocks)){const r=n.blocks[e];if(t.addReference(e),!Array.isArray(r)){r.parent&&t.addReference(r.parent),r.next&&t.addReference(r.next),r.comment&&t.addReference(r.comment);for(const e of Object.values(r.inputs))for(let n=1;n<e.length;n++){const r=e[n];"string"==typeof r&&t.addReference(r)}}}for(const e of Object.keys(n.comments)){const r=n.comments[e];t.addReference(e),r.blockId&&t.addReference(r.blockId)}}t.generateNewIds();for(const n of e.targets){const e={},r={};for(const r of Object.keys(n.blocks)){const i=n.blocks[r];if(e[t.getNewId(r)]=i,!Array.isArray(i)){i.parent&&(i.parent=t.getNewId(i.parent)),i.next&&(i.next=t.getNewId(i.next)),i.comment&&(i.comment=t.getNewId(i.comment));for(const e of Object.values(i.inputs))for(let n=1;n<e.length;n++){const r=e[n];"string"==typeof r&&(e[n]=t.getNewId(r))}}}for(const e of Object.keys(n.comments)){const i=n.comments[e];r[t.getNewId(e)]=i,i.blockId&&(i.blockId=t.getNewId(i.blockId))}n.blocks=e,n.comments=r}}},function(e,t,n){const r=n(10),i={"forward:":{opcode:"motion_movesteps",argMap:[{type:"input",inputOp:"math_number",inputName:"STEPS"}]},"turnRight:":{opcode:"motion_turnright",argMap:[{type:"input",inputOp:"math_number",inputName:"DEGREES"}]},"turnLeft:":{opcode:"motion_turnleft",argMap:[{type:"input",inputOp:"math_number",inputName:"DEGREES"}]},"heading:":{opcode:"motion_pointindirection",argMap:[{type:"input",inputOp:"math_angle",inputName:"DIRECTION"}]},"pointTowards:":{opcode:"motion_pointtowards",argMap:[{type:"input",inputOp:"motion_pointtowards_menu",inputName:"TOWARDS"}]},"gotoX:y:":{opcode:"motion_gotoxy",argMap:[{type:"input",inputOp:"math_number",inputName:"X"},{type:"input",inputOp:"math_number",inputName:"Y"}]},"gotoSpriteOrMouse:":{opcode:"motion_goto",argMap:[{type:"input",inputOp:"motion_goto_menu",inputName:"TO"}]},"glideSecs:toX:y:elapsed:from:":{opcode:"motion_glidesecstoxy",argMap:[{type:"input",inputOp:"math_number",inputName:"SECS"},{type:"input",inputOp:"math_number",inputName:"X"},{type:"input",inputOp:"math_number",inputName:"Y"}]},"changeXposBy:":{opcode:"motion_changexby",argMap:[{type:"input",inputOp:"math_number",inputName:"DX"}]},"xpos:":{opcode:"motion_setx",argMap:[{type:"input",inputOp:"math_number",inputName:"X"}]},"changeYposBy:":{opcode:"motion_changeyby",argMap:[{type:"input",inputOp:"math_number",inputName:"DY"}]},"ypos:":{opcode:"motion_sety",argMap:[{type:"input",inputOp:"math_number",inputName:"Y"}]},bounceOffEdge:{opcode:"motion_ifonedgebounce",argMap:[]},setRotationStyle:{opcode:"motion_setrotationstyle",argMap:[{type:"field",fieldName:"STYLE"}]},xpos:{opcode:"motion_xposition",argMap:[]},ypos:{opcode:"motion_yposition",argMap:[]},heading:{opcode:"motion_direction",argMap:[]},scrollRight:{opcode:"motion_scroll_right",argMap:[{type:"input",inputOp:"math_number",inputName:"DISTANCE"}]},scrollUp:{opcode:"motion_scroll_up",argMap:[{type:"input",inputOp:"math_number",inputName:"DISTANCE"}]},scrollAlign:{opcode:"motion_align_scene",argMap:[{type:"field",fieldName:"ALIGNMENT"}]},xScroll:{opcode:"motion_xscroll",argMap:[]},yScroll:{opcode:"motion_yscroll",argMap:[]},"say:duration:elapsed:from:":{opcode:"looks_sayforsecs",argMap:[{type:"input",inputOp:"text",inputName:"MESSAGE"},{type:"input",inputOp:"math_number",inputName:"SECS"}]},"say:":{opcode:"looks_say",argMap:[{type:"input",inputOp:"text",inputName:"MESSAGE"}]},"think:duration:elapsed:from:":{opcode:"looks_thinkforsecs",argMap:[{type:"input",inputOp:"text",inputName:"MESSAGE"},{type:"input",inputOp:"math_number",inputName:"SECS"}]},"think:":{opcode:"looks_think",argMap:[{type:"input",inputOp:"text",inputName:"MESSAGE"}]},show:{opcode:"looks_show",argMap:[]},hide:{opcode:"looks_hide",argMap:[]},hideAll:{opcode:"looks_hideallsprites",argMap:[]},"lookLike:":{opcode:"looks_switchcostumeto",argMap:[{type:"input",inputOp:"looks_costume",inputName:"COSTUME"}]},nextCostume:{opcode:"looks_nextcostume",argMap:[]},startScene:{opcode:"looks_switchbackdropto",argMap:[{type:"input",inputOp:"looks_backdrops",inputName:"BACKDROP"}]},"changeGraphicEffect:by:":{opcode:"looks_changeeffectby",argMap:[{type:"field",fieldName:"EFFECT"},{type:"input",inputOp:"math_number",inputName:"CHANGE"}]},"setGraphicEffect:to:":{opcode:"looks_seteffectto",argMap:[{type:"field",fieldName:"EFFECT"},{type:"input",inputOp:"math_number",inputName:"VALUE"}]},filterReset:{opcode:"looks_cleargraphiceffects",argMap:[]},"changeSizeBy:":{opcode:"looks_changesizeby",argMap:[{type:"input",inputOp:"math_number",inputName:"CHANGE"}]},"setSizeTo:":{opcode:"looks_setsizeto",argMap:[{type:"input",inputOp:"math_number",inputName:"SIZE"}]},"changeStretchBy:":{opcode:"looks_changestretchby",argMap:[{type:"input",inputOp:"math_number",inputName:"CHANGE"}]},"setStretchTo:":{opcode:"looks_setstretchto",argMap:[{type:"input",inputOp:"math_number",inputName:"STRETCH"}]},comeToFront:{opcode:"looks_gotofrontback",argMap:[]},"goBackByLayers:":{opcode:"looks_goforwardbackwardlayers",argMap:[{type:"input",inputOp:"math_integer",inputName:"NUM"}]},costumeIndex:{opcode:"looks_costumenumbername",argMap:[]},costumeName:{opcode:"looks_costumenumbername",argMap:[]},sceneName:{opcode:"looks_backdropnumbername",argMap:[]},scale:{opcode:"looks_size",argMap:[]},startSceneAndWait:{opcode:"looks_switchbackdroptoandwait",argMap:[{type:"input",inputOp:"looks_backdrops",inputName:"BACKDROP"}]},nextScene:{opcode:"looks_nextbackdrop",argMap:[]},backgroundIndex:{opcode:"looks_backdropnumbername",argMap:[]},"playSound:":{opcode:"sound_play",argMap:[{type:"input",inputOp:"sound_sounds_menu",inputName:"SOUND_MENU"}]},doPlaySoundAndWait:{opcode:"sound_playuntildone",argMap:[{type:"input",inputOp:"sound_sounds_menu",inputName:"SOUND_MENU"}]},stopAllSounds:{opcode:"sound_stopallsounds",argMap:[]},playDrum:{opcode:"music_playDrumForBeats",argMap:[{type:"input",inputOp:"music_menu_DRUM",inputName:"DRUM"},{type:"input",inputOp:"math_number",inputName:"BEATS"}]},"drum:duration:elapsed:from:":{opcode:"music_midiPlayDrumForBeats",argMap:[{type:"input",inputOp:"math_number",inputName:"DRUM"},{type:"input",inputOp:"math_number",inputName:"BEATS"}]},"rest:elapsed:from:":{opcode:"music_restForBeats",argMap:[{type:"input",inputOp:"math_number",inputName:"BEATS"}]},"noteOn:duration:elapsed:from:":{opcode:"music_playNoteForBeats",argMap:[{type:"input",inputOp:"note",inputName:"NOTE"},{type:"input",inputOp:"math_number",inputName:"BEATS"}]},"instrument:":{opcode:"music_setInstrument",argMap:[{type:"input",inputOp:"music_menu_INSTRUMENT",inputName:"INSTRUMENT"}]},"midiInstrument:":{opcode:"music_midiSetInstrument",argMap:[{type:"input",inputOp:"math_number",inputName:"INSTRUMENT"}]},"changeVolumeBy:":{opcode:"sound_changevolumeby",argMap:[{type:"input",inputOp:"math_number",inputName:"VOLUME"}]},"setVolumeTo:":{opcode:"sound_setvolumeto",argMap:[{type:"input",inputOp:"math_number",inputName:"VOLUME"}]},volume:{opcode:"sound_volume",argMap:[]},"changeTempoBy:":{opcode:"music_changeTempo",argMap:[{type:"input",inputOp:"math_number",inputName:"TEMPO"}]},"setTempoTo:":{opcode:"music_setTempo",argMap:[{type:"input",inputOp:"math_number",inputName:"TEMPO"}]},tempo:{opcode:"music_getTempo",argMap:[]},clearPenTrails:{opcode:"pen_clear",argMap:[]},stampCostume:{opcode:"pen_stamp",argMap:[]},putPenDown:{opcode:"pen_penDown",argMap:[]},putPenUp:{opcode:"pen_penUp",argMap:[]},"penColor:":{opcode:"pen_setPenColorToColor",argMap:[{type:"input",inputOp:"colour_picker",inputName:"COLOR"}]},"changePenHueBy:":{opcode:"pen_changePenHueBy",argMap:[{type:"input",inputOp:"math_number",inputName:"HUE"}]},"setPenHueTo:":{opcode:"pen_setPenHueToNumber",argMap:[{type:"input",inputOp:"math_number",inputName:"HUE"}]},"changePenShadeBy:":{opcode:"pen_changePenShadeBy",argMap:[{type:"input",inputOp:"math_number",inputName:"SHADE"}]},"setPenShadeTo:":{opcode:"pen_setPenShadeToNumber",argMap:[{type:"input",inputOp:"math_number",inputName:"SHADE"}]},"changePenSizeBy:":{opcode:"pen_changePenSizeBy",argMap:[{type:"input",inputOp:"math_number",inputName:"SIZE"}]},"penSize:":{opcode:"pen_setPenSizeTo",argMap:[{type:"input",inputOp:"math_number",inputName:"SIZE"}]},senseVideoMotion:{opcode:"videoSensing_videoOn",argMap:[{type:"input",inputOp:"videoSensing_menu_ATTRIBUTE",inputName:"ATTRIBUTE"},{type:"input",inputOp:"videoSensing_menu_SUBJECT",inputName:"SUBJECT"}]},whenGreenFlag:{opcode:"event_whenflagclicked",argMap:[]},whenKeyPressed:{opcode:"event_whenkeypressed",argMap:[{type:"field",fieldName:"KEY_OPTION"}]},whenClicked:{opcode:"event_whenthisspriteclicked",argMap:[]},whenSceneStarts:{opcode:"event_whenbackdropswitchesto",argMap:[{type:"field",fieldName:"BACKDROP"}]},whenSensorGreaterThan:e=>{let[,t]=e;return"video motion"===t?{opcode:"videoSensing_whenMotionGreaterThan",argMap:[{},{type:"input",inputOp:"math_number",inputName:"REFERENCE"}]}:{opcode:"event_whengreaterthan",argMap:[{type:"field",fieldName:"WHENGREATERTHANMENU"},{type:"input",inputOp:"math_number",inputName:"VALUE"}]}},whenIReceive:{opcode:"event_whenbroadcastreceived",argMap:[{type:"field",fieldName:"BROADCAST_OPTION",variableType:r.BROADCAST_MESSAGE_TYPE}]},"broadcast:":{opcode:"event_broadcast",argMap:[{type:"input",inputOp:"event_broadcast_menu",inputName:"BROADCAST_INPUT",variableType:r.BROADCAST_MESSAGE_TYPE}]},doBroadcastAndWait:{opcode:"event_broadcastandwait",argMap:[{type:"input",inputOp:"event_broadcast_menu",inputName:"BROADCAST_INPUT",variableType:r.BROADCAST_MESSAGE_TYPE}]},"wait:elapsed:from:":{opcode:"control_wait",argMap:[{type:"input",inputOp:"math_positive_number",inputName:"DURATION"}]},doRepeat:{opcode:"control_repeat",argMap:[{type:"input",inputOp:"math_whole_number",inputName:"TIMES"},{type:"input",inputOp:"substack",inputName:"SUBSTACK"}]},doForever:{opcode:"control_forever",argMap:[{type:"input",inputOp:"substack",inputName:"SUBSTACK"}]},doIf:{opcode:"control_if",argMap:[{type:"input",inputOp:"boolean",inputName:"CONDITION"},{type:"input",inputOp:"substack",inputName:"SUBSTACK"}]},doIfElse:{opcode:"control_if_else",argMap:[{type:"input",inputOp:"boolean",inputName:"CONDITION"},{type:"input",inputOp:"substack",inputName:"SUBSTACK"},{type:"input",inputOp:"substack",inputName:"SUBSTACK2"}]},doWaitUntil:{opcode:"control_wait_until",argMap:[{type:"input",inputOp:"boolean",inputName:"CONDITION"}]},doUntil:{opcode:"control_repeat_until",argMap:[{type:"input",inputOp:"boolean",inputName:"CONDITION"},{type:"input",inputOp:"substack",inputName:"SUBSTACK"}]},doWhile:{opcode:"control_while",argMap:[{type:"input",inputOp:"boolean",inputName:"CONDITION"},{type:"input",inputOp:"substack",inputName:"SUBSTACK"}]},doForLoop:{opcode:"control_for_each",argMap:[{type:"field",fieldName:"VARIABLE"},{type:"input",inputOp:"text",inputName:"VALUE"},{type:"input",inputOp:"substack",inputName:"SUBSTACK"}]},stopScripts:{opcode:"control_stop",argMap:[{type:"field",fieldName:"STOP_OPTION"}]},whenCloned:{opcode:"control_start_as_clone",argMap:[]},createCloneOf:{opcode:"control_create_clone_of",argMap:[{type:"input",inputOp:"control_create_clone_of_menu",inputName:"CLONE_OPTION"}]},deleteClone:{opcode:"control_delete_this_clone",argMap:[]},COUNT:{opcode:"control_get_counter",argMap:[]},INCR_COUNT:{opcode:"control_incr_counter",argMap:[]},CLR_COUNT:{opcode:"control_clear_counter",argMap:[]},warpSpeed:{opcode:"control_all_at_once",argMap:[{type:"input",inputOp:"substack",inputName:"SUBSTACK"}]},"touching:":{opcode:"sensing_touchingobject",argMap:[{type:"input",inputOp:"sensing_touchingobjectmenu",inputName:"TOUCHINGOBJECTMENU"}]},"touchingColor:":{opcode:"sensing_touchingcolor",argMap:[{type:"input",inputOp:"colour_picker",inputName:"COLOR"}]},"color:sees:":{opcode:"sensing_coloristouchingcolor",argMap:[{type:"input",inputOp:"colour_picker",inputName:"COLOR"},{type:"input",inputOp:"colour_picker",inputName:"COLOR2"}]},"distanceTo:":{opcode:"sensing_distanceto",argMap:[{type:"input",inputOp:"sensing_distancetomenu",inputName:"DISTANCETOMENU"}]},doAsk:{opcode:"sensing_askandwait",argMap:[{type:"input",inputOp:"text",inputName:"QUESTION"}]},answer:{opcode:"sensing_answer",argMap:[]},"keyPressed:":{opcode:"sensing_keypressed",argMap:[{type:"input",inputOp:"sensing_keyoptions",inputName:"KEY_OPTION"}]},mousePressed:{opcode:"sensing_mousedown",argMap:[]},mouseX:{opcode:"sensing_mousex",argMap:[]},mouseY:{opcode:"sensing_mousey",argMap:[]},soundLevel:{opcode:"sensing_loudness",argMap:[]},isLoud:{opcode:"sensing_loud",argMap:[]},setVideoState:{opcode:"videoSensing_videoToggle",argMap:[{type:"input",inputOp:"videoSensing_menu_VIDEO_STATE",inputName:"VIDEO_STATE"}]},setVideoTransparency:{opcode:"videoSensing_setVideoTransparency",argMap:[{type:"input",inputOp:"math_number",inputName:"TRANSPARENCY"}]},timer:{opcode:"sensing_timer",argMap:[]},timerReset:{opcode:"sensing_resettimer",argMap:[]},"getAttribute:of:":{opcode:"sensing_of",argMap:[{type:"field",fieldName:"PROPERTY"},{type:"input",inputOp:"sensing_of_object_menu",inputName:"OBJECT"}]},timeAndDate:{opcode:"sensing_current",argMap:[{type:"field",fieldName:"CURRENTMENU"}]},timestamp:{opcode:"sensing_dayssince2000",argMap:[]},getUserName:{opcode:"sensing_username",argMap:[]},getUserId:{opcode:"sensing_userid",argMap:[]},"+":{opcode:"operator_add",argMap:[{type:"input",inputOp:"math_number",inputName:"NUM1"},{type:"input",inputOp:"math_number",inputName:"NUM2"}]},"-":{opcode:"operator_subtract",argMap:[{type:"input",inputOp:"math_number",inputName:"NUM1"},{type:"input",inputOp:"math_number",inputName:"NUM2"}]},"*":{opcode:"operator_multiply",argMap:[{type:"input",inputOp:"math_number",inputName:"NUM1"},{type:"input",inputOp:"math_number",inputName:"NUM2"}]},"/":{opcode:"operator_divide",argMap:[{type:"input",inputOp:"math_number",inputName:"NUM1"},{type:"input",inputOp:"math_number",inputName:"NUM2"}]},"randomFrom:to:":{opcode:"operator_random",argMap:[{type:"input",inputOp:"math_number",inputName:"FROM"},{type:"input",inputOp:"math_number",inputName:"TO"}]},"<":{opcode:"operator_lt",argMap:[{type:"input",inputOp:"text",inputName:"OPERAND1"},{type:"input",inputOp:"text",inputName:"OPERAND2"}]},"=":{opcode:"operator_equals",argMap:[{type:"input",inputOp:"text",inputName:"OPERAND1"},{type:"input",inputOp:"text",inputName:"OPERAND2"}]},">":{opcode:"operator_gt",argMap:[{type:"input",inputOp:"text",inputName:"OPERAND1"},{type:"input",inputOp:"text",inputName:"OPERAND2"}]},"&":{opcode:"operator_and",argMap:[{type:"input",inputOp:"boolean",inputName:"OPERAND1"},{type:"input",inputOp:"boolean",inputName:"OPERAND2"}]},"|":{opcode:"operator_or",argMap:[{type:"input",inputOp:"boolean",inputName:"OPERAND1"},{type:"input",inputOp:"boolean",inputName:"OPERAND2"}]},not:{opcode:"operator_not",argMap:[{type:"input",inputOp:"boolean",inputName:"OPERAND"}]},"concatenate:with:":{opcode:"operator_join",argMap:[{type:"input",inputOp:"text",inputName:"STRING1"},{type:"input",inputOp:"text",inputName:"STRING2"}]},"letter:of:":{opcode:"operator_letter_of",argMap:[{type:"input",inputOp:"math_whole_number",inputName:"LETTER"},{type:"input",inputOp:"text",inputName:"STRING"}]},"stringLength:":{opcode:"operator_length",argMap:[{type:"input",inputOp:"text",inputName:"STRING"}]},"%":{opcode:"operator_mod",argMap:[{type:"input",inputOp:"math_number",inputName:"NUM1"},{type:"input",inputOp:"math_number",inputName:"NUM2"}]},rounded:{opcode:"operator_round",argMap:[{type:"input",inputOp:"math_number",inputName:"NUM"}]},"computeFunction:of:":{opcode:"operator_mathop",argMap:[{type:"field",fieldName:"OPERATOR"},{type:"input",inputOp:"math_number",inputName:"NUM"}]},readVariable:{opcode:"data_variable",argMap:[{type:"field",fieldName:"VARIABLE",variableType:r.SCALAR_TYPE}]},"getVar:":{opcode:"data_variable",argMap:[{type:"field",fieldName:"VARIABLE",variableType:r.SCALAR_TYPE}]},"setVar:to:":{opcode:"data_setvariableto",argMap:[{type:"field",fieldName:"VARIABLE",variableType:r.SCALAR_TYPE},{type:"input",inputOp:"text",inputName:"VALUE"}]},"changeVar:by:":{opcode:"data_changevariableby",argMap:[{type:"field",fieldName:"VARIABLE",variableType:r.SCALAR_TYPE},{type:"input",inputOp:"math_number",inputName:"VALUE"}]},"showVariable:":{opcode:"data_showvariable",argMap:[{type:"field",fieldName:"VARIABLE",variableType:r.SCALAR_TYPE}]},"hideVariable:":{opcode:"data_hidevariable",argMap:[{type:"field",fieldName:"VARIABLE",variableType:r.SCALAR_TYPE}]},"contentsOfList:":{opcode:"data_listcontents",argMap:[{type:"field",fieldName:"LIST",variableType:r.LIST_TYPE}]},"append:toList:":{opcode:"data_addtolist",argMap:[{type:"input",inputOp:"text",inputName:"ITEM"},{type:"field",fieldName:"LIST",variableType:r.LIST_TYPE}]},"deleteLine:ofList:":{opcode:"data_deleteoflist",argMap:[{type:"input",inputOp:"math_integer",inputName:"INDEX"},{type:"field",fieldName:"LIST",variableType:r.LIST_TYPE}]},"insert:at:ofList:":{opcode:"data_insertatlist",argMap:[{type:"input",inputOp:"text",inputName:"ITEM"},{type:"input",inputOp:"math_integer",inputName:"INDEX"},{type:"field",fieldName:"LIST",variableType:r.LIST_TYPE}]},"setLine:ofList:to:":{opcode:"data_replaceitemoflist",argMap:[{type:"input",inputOp:"math_integer",inputName:"INDEX"},{type:"field",fieldName:"LIST",variableType:r.LIST_TYPE},{type:"input",inputOp:"text",inputName:"ITEM"}]},"getLine:ofList:":{opcode:"data_itemoflist",argMap:[{type:"input",inputOp:"math_integer",inputName:"INDEX"},{type:"field",fieldName:"LIST",variableType:r.LIST_TYPE}]},"lineCountOfList:":{opcode:"data_lengthoflist",argMap:[{type:"field",fieldName:"LIST",variableType:r.LIST_TYPE}]},"list:contains:":{opcode:"data_listcontainsitem",argMap:[{type:"field",fieldName:"LIST",variableType:r.LIST_TYPE},{type:"input",inputOp:"text",inputName:"ITEM"}]},"showList:":{opcode:"data_showlist",argMap:[{type:"field",fieldName:"LIST",variableType:r.LIST_TYPE}]},"hideList:":{opcode:"data_hidelist",argMap:[{type:"field",fieldName:"LIST",variableType:r.LIST_TYPE}]},procDef:{opcode:"procedures_definition",argMap:[]},getParam:{opcode:"argument_reporter_string_number",argMap:[{type:"field",fieldName:"VALUE"}]},call:{opcode:"procedures_call",argMap:[]}},s=function(e,t,n){i["".concat(e).concat("").concat(t)]=n,i["".concat(e,".").concat(t)]=n},o="LEGO WeDo 2.0";s(o,"motorOnFor",{opcode:"wedo2_motorOnFor",argMap:[{type:"input",inputOp:"wedo2_menu_MOTOR_ID",inputName:"MOTOR_ID"},{type:"input",inputOp:"math_number",inputName:"DURATION"}]}),s(o,"motorOn",{opcode:"wedo2_motorOn",argMap:[{type:"input",inputOp:"wedo2_menu_MOTOR_ID",inputName:"MOTOR_ID"}]}),s(o,"motorOff",{opcode:"wedo2_motorOff",argMap:[{type:"input",inputOp:"wedo2_menu_MOTOR_ID",inputName:"MOTOR_ID"}]}),s(o,"startMotorPower",{opcode:"wedo2_startMotorPower",argMap:[{type:"input",inputOp:"wedo2_menu_MOTOR_ID",inputName:"MOTOR_ID"},{type:"input",inputOp:"math_number",inputName:"POWER"}]}),s(o,"setMotorDirection",{opcode:"wedo2_setMotorDirection",argMap:[{type:"input",inputOp:"wedo2_menu_MOTOR_ID",inputName:"MOTOR_ID"},{type:"input",inputOp:"wedo2_menu_MOTOR_DIRECTION",inputName:"MOTOR_DIRECTION"}]}),s(o,"setLED",{opcode:"wedo2_setLightHue",argMap:[{type:"input",inputOp:"math_number",inputName:"HUE"}]}),s(o,"playNote",{opcode:"wedo2_playNoteFor",argMap:[{type:"input",inputOp:"math_number",inputName:"NOTE"},{type:"input",inputOp:"math_number",inputName:"DURATION"}]}),s(o,"whenDistance",{opcode:"wedo2_whenDistance",argMap:[{type:"input",inputOp:"wedo2_menu_OP",inputName:"OP"},{type:"input",inputOp:"math_number",inputName:"REFERENCE"}]}),s(o,"whenTilted",{opcode:"wedo2_whenTilted",argMap:[{type:"input",inputOp:"wedo2_menu_TILT_DIRECTION_ANY",inputName:"TILT_DIRECTION_ANY"}]}),s(o,"getDistance",{opcode:"wedo2_getDistance",argMap:[]}),s(o,"isTilted",{opcode:"wedo2_isTilted",argMap:[{type:"input",inputOp:"wedo2_menu_TILT_DIRECTION_ANY",inputName:"TILT_DIRECTION_ANY"}]}),s(o,"getTilt",{opcode:"wedo2_getTiltAngle",argMap:[{type:"input",inputOp:"wedo2_menu_TILT_DIRECTION",inputName:"TILT_DIRECTION"}]}),e.exports=i},function(e,t){const n=new Map;n.set("text","https://extensions.turbowarp.org/lab/text.js"),n.set("audiostr","https://extensions.turbowarp.org/turboloader/audiostream.js"),e.exports=n},function(e,t,n){const r=n(20),i=n(389),s=n(11),o=n(29),a=n(395),l=n(396),c=n(109),u=n(400),d=n(38),h=n(30),p=n(401),m=n(402),f=n(110),g=n(112),y=n(111),b=s.v3.create(),v=new c,S=new c,w=new Uint8ClampedArray(4),k=new Uint8ClampedArray(4),x=[3,3],T=(e,t,n)=>(248&e[0])==(248&t[n+0])&&(248&e[1])==(248&t[n+1])&&(240&e[2])==(240&t[n+2]);let E;let A;class C extends r{static isSupported(e){try{e=e||document.createElement("canvas");const t={alpha:!1,stencil:!0,antialias:!1};return!!(e.getContext("webgl",t)||e.getContext("experimental-webgl",t)||e.getContext("webgl2",t))}catch(e){return!1}}static _getContext(e){const t={alpha:!1,stencil:!0,antialias:!1,powerPreference:C.powerPreference};return s.getWebGLContext(e,t)||s.getContext(e,t)}constructor(e,t,r,i,f){super();const y=this._gl=C._getContext(e);if(!y)throw new Error("Could not get WebGL context: this browser or environment may not support WebGL.");this._useGpuMode=C.UseGpuModes.Automatic,this._allDrawables=[],this._allSkins=[],this._drawList=[],this._groupOrdering=[],this._layerGroups={},this._nextDrawableId=d.ID_NONE+1,this._nextSkinId=d.ID_NONE+1,this._projection=s.m4.identity(),this._shaderManager=new h(y),this._regionId=null,this._exitRegion=null,this._backgroundDrawRegionId={enter:()=>this._enterDrawBackground(),exit:()=>this._exitDrawBackground()},this._snapshotCallbacks=[],this._backgroundColor4f=[0,0,0,1],this._backgroundColor3b=new Uint8ClampedArray(3),this._penSkinId=null,this.useHighQualityRender=!1,this.offscreenTouching=!1,this.dirty=!0,this.overlayContainer=document.createElement("div"),this.overlayContainer.className="scratch-render-overlays",this._overlays=[],A||(A=document.createElement("style"),A.textContent=n(411),A.className="scratch-render-styles",document.head.appendChild(A)),this._createGeometry(),this.on(d.Events.NativeSizeChanged,this.onNativeSizeChanged),this.setBackgroundColor(1,1,1),this.setStageSize(t||-240,r||240,i||-180,f||180),this.resize(this._nativeSize[0],this._nativeSize[1]),y.disable(y.DEPTH_TEST),y.enable(y.BLEND),y.blendFunc(y.ONE,y.ONE_MINUS_SRC_ALPHA),this.allowPrivateSkinAccess=!0,this.maxTextureDimension=2048,this.customFonts={},this._customFontStyles=null,this.exports={twgl:s,Drawable:l,Skin:o,BitmapSkin:a,TextBubbleSkin:m,PenSkin:u,SVGSkin:p,CanvasMeasurementProvider:g,Rectangle:c}}setUseHighQualityRender(e){this.dirty=!0,this.useHighQualityRender=e,this.emit(d.Events.UseHighQualityRenderChanged,e),this._updateRenderQuality()}_updateRenderQuality(){if(null!==this._penSkinId){const e=this._allSkins[this._penSkinId];e&&(this.useHighQualityRender?e.setRenderQuality(this.canvas.width/this._nativeSize[0]):e.setRenderQuality(1))}for(const e of this._allDrawables)e&&e.setHighQuality(this.useHighQualityRender)}setPrivateSkinAccess(e){this.allowPrivateSkinAccess=e,this.emit(d.Events.AllowPrivateSkinAccessChanged,e)}setMaxTextureDimension(e){const t=this._gl.getParameter(this._gl.MAX_TEXTURE_SIZE);this.maxTextureDimension=Math.min(e,t)}get gl(){return this._gl}get canvas(){return this._gl&&this._gl.canvas}resize(e,t){const{canvas:n}=this._gl,r=window.devicePixelRatio||1,i=e*r,s=t*r;n.width===i&&n.height===s||(n.width=i,n.height=s,this._updateRenderQuality(),this._updateOverlays(),this.dirty=!0,this.draw())}setBackgroundColor(e,t,n){this.dirty=!0,this._backgroundColor4f[0]=e,this._backgroundColor4f[1]=t,this._backgroundColor4f[2]=n,this._backgroundColor3b[0]=255*e,this._backgroundColor3b[1]=255*t,this._backgroundColor3b[2]=255*n}setDebugCanvas(e){this._debugCanvas=e}setUseGpuMode(e){this._useGpuMode=e}setStageSize(e,t,n,r){this._xLeft=e,this._xRight=t,this._yBottom=n,this._yTop=r,this._projection=s.m4.ortho(e,t,n,r,-1,1),this._setNativeSize(Math.abs(t-e),Math.abs(n-r))}getNativeSize(){return[this._nativeSize[0],this._nativeSize[1]]}_setNativeSize(e,t){this._nativeSize=[e,t],this._updateOverlays(),this.emit(d.Events.NativeSizeChanged,{newSize:this._nativeSize})}addOverlay(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"scale";const n=document.createElement("div");n.appendChild(e),this.overlayContainer.appendChild(n);const r={container:n,userElement:e,mode:t};return this._overlays.push(r),this._updateOverlays(),r}removeOverlay(e){const t=this._overlays.findIndex((t=>t.userElement===e));-1!==t&&(this._overlays[t].container.remove(),this._overlays.splice(t,1))}_updateOverlays(){const[e,t]=this._nativeSize,n=this.canvas.width/window.devicePixelRatio,r=this.canvas.height/window.devicePixelRatio;this.overlayContainer.style.width="".concat(n,"px"),this.overlayContainer.style.height="".concat(r,"px");for(const i of this._overlays){const s=i.container;if("scale"===i.mode||"scale-centered"===i.mode){const o=n/e,a=r/t;s.style.width="".concat(e,"px"),s.style.height="".concat(t,"px");const l="scale(".concat(o,", ").concat(a,")");if(s.style.transformOrigin="top left","scale"===i.mode)s.style.transform=l;else{const n="translate(".concat(e/2,"px, ").concat(t/2,"px)");s.style.transform="".concat(l," ").concat(n)}}else s.style.transform="",s.style.width="100%",s.style.height="100%"}}createBitmapSkin(e,t,n){const r=this._nextSkinId++,i=new a(r,this);return i.setBitmap(e,t,n),this._allSkins[r]=i,r}createSVGSkin(e,t){const n=this._nextSkinId++,r=new p(n,this);return r.setSVG(e,t),this._allSkins[n]=r,n}createPenSkin(){const e=this._nextSkinId++,t=new u(e,this);return this._allSkins[e]=t,this._penSkinId=e,this._updateRenderQuality(),e}createTextSkin(e,t,n){const r=this._nextSkinId++,i=new m(r,this);return i.setTextBubble(e,t,n),this._allSkins[r]=i,r}updateSVGSkin(e,t,n){if(this._allSkins[e]instanceof p)return void this._allSkins[e].setSVG(t,n);const r=new p(e,this);r.setSVG(t,n),this._reskin(e,r)}updateBitmapSkin(e,t,n,r){if(this._allSkins[e]instanceof a)return void this._allSkins[e].setBitmap(t,n,r);const i=new a(e,this);i.setBitmap(t,n,r),this._reskin(e,i)}_reskin(e,t){const n=this._allSkins[e];this._allSkins[e]=t;for(const e of this._allDrawables)e&&e.skin===n&&(e.skin=t);n.dispose()}updateTextSkin(e,t,n,r){if(this._allSkins[e]instanceof m)return void this._allSkins[e].setTextBubble(t,n,r);const i=new m(e,this);i.setTextBubble(t,n,r),this._reskin(e,i)}destroySkin(e){this._allSkins[e].dispose(),delete this._allSkins[e]}createDrawable(e){if(!e||!Object.prototype.hasOwnProperty.call(this._layerGroups,e))return void y.warn("Cannot create a drawable without a known layer group");const t=this._nextDrawableId++,n=new l(t,this);return this._allDrawables[t]=n,this._addToDrawList(t,e),n.setHighQuality(this.useHighQualityRender),n.skin=null,t}createTextWrapper(e){return new(E||(E=n(403)),E)(e)}markSkinAsPrivate(e){const t=this._allSkins[e];t&&(t.private=!0)}setLayerGroupOrdering(e){this._groupOrdering=e;for(let e=0;e<this._groupOrdering.length;e++)this._layerGroups[this._groupOrdering[e]]={groupIndex:e,drawListOffset:0}}_addToDrawList(e,t){const n=this._layerGroups[t],r=n.groupIndex,i=this._endIndexForKnownLayerGroup(n);this._drawList.splice(i,0,e),this._updateOffsets("add",r)}_updateOffsets(e,t){for(let n=t+1;n<this._groupOrdering.length;n++){const t=this._groupOrdering[n];"add"===e?this._layerGroups[t].drawListOffset++:"delete"===e&&this._layerGroups[t].drawListOffset--}}get _visibleDrawList(){return this._drawList.filter((e=>this._allDrawables[e]._visible))}_endIndexForKnownLayerGroup(e){const t=e.groupIndex;return t===this._groupOrdering.length-1?this._drawList.length:this._layerGroups[this._groupOrdering[t+1]].drawListOffset}destroyDrawable(e,t){if(!t||!Object.prototype.hasOwnProperty.call(this._layerGroups,t))return void y.warn("Cannot destroy drawable without known layer group.");this.dirty=!0;this._allDrawables[e].dispose(),delete this._allDrawables[e];const n=this._layerGroups[t],r=this._endIndexForKnownLayerGroup(n);let i=n.drawListOffset;for(;i<r&&this._drawList[i]!==e;)i++;i<r?(this._drawList.splice(i,1),this._updateOffsets("delete",n.groupIndex)):y.warn("Could not destroy drawable that could not be found in layer group.")}getDrawableOrder(e){return this._drawList.indexOf(e)}setDrawableOrder(e,t,n,r,i){if(!n||!Object.prototype.hasOwnProperty.call(this._layerGroups,n))return void y.warn("Cannot set the order of a drawable without a known layer group.");this.dirty=!0;const s=this._layerGroups[n],o=s.drawListOffset,a=this._endIndexForKnownLayerGroup(s);let l=o;for(;l<a&&this._drawList[l]!==e;)l++;if(l<a){if(0===t)return l;this._drawList.splice(l,1)[0];let n=t;r&&(n+=l);const s=(i||0)+o,c=s>=o&&s<a?s:o;return n=Math.max(n,c),n=Math.min(n,a),this._drawList.splice(n,0,e),n}return null}skinWasAltered(e){for(let t=0;t<this._allDrawables.length;t++){const n=this._allDrawables[t];n&&n._skin===e&&n._skinWasAltered()}}draw(){if(!this.dirty)return;this.dirty=!1,this._doExitDrawRegion();const e=this._gl;s.bindFramebufferInfo(e,null),e.viewport(0,0,e.canvas.width,e.canvas.height),e.clearColor(...this._backgroundColor4f),e.clear(e.COLOR_BUFFER_BIT);const t=this._snapshotCallbacks.length>0;if(this._drawThese(this._drawList,h.DRAW_MODE.default,this._projection,{framebufferWidth:e.canvas.width,framebufferHeight:e.canvas.height,skipPrivateSkins:t}),t){const t=e.canvas.toDataURL();this._snapshotCallbacks.forEach((e=>e(t))),this._snapshotCallbacks=[],this.dirty=!0}}getBounds(e){const t=this._allDrawables[e];if(t.needsConvexHullPoints()){const n=this._getConvexHullPointsForDrawable(e);t.setConvexHullPoints(n)}const n=t.getFastBounds();if(this._debugCanvas){const e=this._gl;this._debugCanvas.width=e.canvas.width,this._debugCanvas.height=e.canvas.height;const t=this._debugCanvas.getContext("2d");t.drawImage(e.canvas,0,0),t.strokeStyle="#FF0000";const r=window.devicePixelRatio;t.strokeRect(r*(n.left+this._nativeSize[0]/2),r*(-n.top+this._nativeSize[1]/2),r*(n.right-n.left),r*(-n.bottom+n.top))}return n}getBoundsForBubble(e){const t=this._allDrawables[e];if(t.needsConvexHullPoints()){const n=this._getConvexHullPointsForDrawable(e);t.setConvexHullPoints(n)}const n=t.getBoundsForBubble();if(this._debugCanvas){const e=this._gl;this._debugCanvas.width=e.canvas.width,this._debugCanvas.height=e.canvas.height;const t=this._debugCanvas.getContext("2d");t.drawImage(e.canvas,0,0),t.strokeStyle="#FF0000";const r=window.devicePixelRatio;t.strokeRect(r*(n.left+this._nativeSize[0]/2),r*(-n.top+this._nativeSize[1]/2),r*(n.right-n.left),r*(-n.bottom+n.top))}return n}getCurrentSkinSize(e){const t=this._allDrawables[e];return this.getSkinSize(t.skin.id)}getSkinSize(e){return this._allSkins[e].size}getSkinRotationCenter(e){return this._allSkins[e].calculateRotationCenter()}isTouchingColor(e,t,n){const r=this._candidatesTouching(e,this._visibleDrawList);let i;if(T(t,this._backgroundColor3b,0)){if(i=this._touchingBounds(e),null===i)return!1}else{if(0===r.length)return!1;i=this._candidatesBounds(r)}const s=this._getMaxPixelsForCPU(),o=this._debugCanvas&&this._debugCanvas.getContext("2d");o&&(this._debugCanvas.width=i.width,this._debugCanvas.height=i.height),i.width*i.height*(r.length+1)>=s&&this._isTouchingColorGpuStart(e,r.map((e=>{let{id:t}=e;return t})).reverse(),i,t,n);const a=this._allDrawables[e],c=b,u=w,d=Boolean(n);a.updateCPURenderAttributes();const p=~h.EFFECT_INFO.ghost.mask;for(let e=i.bottom;e<=i.top;e++){if(i.width*(e-i.bottom)*(r.length+1)>=s)return this._isTouchingColorGpuFin(i,t,e-i.bottom);for(let s=i.left;s<=i.right;s++)if(c[1]=e,c[0]=s,(d?(m=l.sampleColor4b(c,a,u,p),f=n,m[3]>0&&(252&m[0])==(252&f[0])&&(252&m[1])==(252&f[1])&&(252&m[2])==(252&f[2])):a.isTouching(c))&&(C.sampleColor3b(c,r,u),o&&(o.fillStyle="rgb(".concat(u[0],",").concat(u[1],",").concat(u[2],")"),o.fillRect(s-i.left,i.bottom-e,1,1)),T(u,t,0)))return!0}var m,f;return!1}_getMaxPixelsForCPU(){switch(this._useGpuMode){case C.UseGpuModes.ForceCPU:return 1/0;case C.UseGpuModes.ForceGPU:return 0;case C.UseGpuModes.Automatic:default:return 4e4}}_enterDrawBackground(){const e=this.gl,t=this._shaderManager.getShader(h.DRAW_MODE.background,0);e.disable(e.BLEND),e.useProgram(t.program),s.setBuffersAndAttributes(e,t,this._bufferInfo)}_exitDrawBackground(){const e=this.gl;e.enable(e.BLEND)}_isTouchingColorGpuStart(e,t,n,r,i){this._doExitDrawRegion();const o=this._gl;s.bindFramebufferInfo(o,this._queryBufferInfo),o.viewport(0,0,n.width,n.height);const a=s.m4.ortho(n.left,n.right,n.top,n.bottom,-1,1);let l;o.clearColor(0,0,0,0),o.clear(o.COLOR_BUFFER_BIT|o.STENCIL_BUFFER_BIT),i&&(l={u_colorMask:[i[0]/255,i[1]/255,i[2]/255],u_colorMaskTolerance:2/255});try{o.enable(o.STENCIL_TEST),o.stencilFunc(o.ALWAYS,1,1),o.stencilOp(o.KEEP,o.KEEP,o.REPLACE),o.colorMask(!1,!1,!1,!1),this._drawThese([e],i?h.DRAW_MODE.colorMask:h.DRAW_MODE.silhouette,a,{extraUniforms:l,ignoreVisibility:!0,effectMask:~h.EFFECT_INFO.ghost.mask}),o.stencilFunc(o.EQUAL,1,1),o.stencilOp(o.KEEP,o.KEEP,o.KEEP),o.colorMask(!0,!0,!0,!0),this.enterDrawRegion(this._backgroundDrawRegionId);const n={u_backgroundColor:this._backgroundColor4f},r=this._shaderManager.getShader(h.DRAW_MODE.background,0);s.setUniforms(r,n),s.drawBufferInfo(o,this._bufferInfo,o.TRIANGLES),this._drawThese(t,h.DRAW_MODE.default,a,{idFilterFunc:t=>t!==e})}finally{o.colorMask(!0,!0,!0,!0),o.disable(o.STENCIL_TEST),this._doExitDrawRegion()}}_isTouchingColorGpuFin(e,t,n){const r=this._gl,i=new Uint8Array(Math.floor(e.width*(e.height-n)*4));if(r.readPixels(0,0,e.width,e.height-n,r.RGBA,r.UNSIGNED_BYTE,i),this._debugCanvas){this._debugCanvas.width=e.width,this._debugCanvas.height=e.height;const t=this._debugCanvas.getContext("2d"),r=t.getImageData(0,0,e.width,e.height-n);r.data.set(i),t.putImageData(r,0,0)}for(let e=0;e<i.length;e+=4)if(0!==i[e+3]&&T(t,i,e))return!0;return!1}isTouchingDrawables(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this._drawList;const n=this._candidatesTouching(e,t.filter((e=>this._allDrawables[e]._visible)));if(0===n.length||!this._allDrawables[e]._visible)return!1;const r=this._candidatesBounds(n),i=this._allDrawables[e],s=b;i.updateCPURenderAttributes();for(let e=r.left;e<=r.right;e++){s[0]=e;for(let e=r.bottom;e<=r.top;e++)if(s[1]=e,i.isTouching(s))for(let e=0;e<n.length;e++)if(n[e].drawable.isTouching(s))return!0}return!1}clientSpaceToScratchBounds(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1;const i=this._gl,s=this._nativeSize[0]/i.canvas.clientWidth,o=this._nativeSize[1]/i.canvas.clientHeight;n*=s,r*=o,n=Math.max(1,Math.min(Math.round(n),x[0])),r=Math.max(1,Math.min(Math.round(r),x[1]));const a=e*s-(n-1)/2,l=t*o+(r-1)/2,u=n%2?0:-.5,d=r%2?0:-.5,h=new c;return h.initFromBounds(Math.floor(this._xLeft+a+u),Math.floor(this._xLeft+a+u+n-1),Math.ceil(this._yTop-l+d),Math.ceil(this._yTop-l+d+r-1)),h}drawableTouching(e,t,n,r,i){const o=this._allDrawables[e];if(!o)return!1;const a=this.clientSpaceToScratchBounds(t,n,r,i),l=o.getFastBounds();if(l.snapToInt(),!l.intersects(a))return!1;o.updateCPURenderAttributes();const c=s.v3.create();for(c[1]=a.bottom;c[1]<=a.top;c[1]++)for(c[0]=a.left;c[0]<=a.right;c[0]++)if(o.isTouching(c))return!0;return!1}pick(e,t,n,r,i){const o=this.clientSpaceToScratchBounds(e,t,n,r);if(o.left===-1/0||o.bottom===-1/0)return!1;if(0===(i=(i||this._drawList).filter((e=>{const t=this._allDrawables[e];if(t.getVisible()&&0!==t.getUniforms().u_ghost){const e=t.getFastBounds();return!!o.intersects(e)&&(!(t.skin instanceof u)&&(t.updateCPURenderAttributes(),!0))}return!1}))).length)return!1;const a=[],l=s.v3.create(0,0,0);for(l[1]=o.bottom;l[1]<=o.top;l[1]++)for(l[0]=o.left;l[0]<=o.right;l[0]++)for(let e=i.length-1;e>=0;e--){const t=i[e];if(this._allDrawables[t].isTouching(l)){a[t]=(a[t]||0)+1;break}}a[d.ID_NONE]=0;let c=d.ID_NONE;for(const e in a)Object.prototype.hasOwnProperty.call(a,e)&&a[e]>a[c]&&(c=e);return Number(c)}extractDrawableScreenSpace(e){const t=this._allDrawables[e];if(!t)throw new Error("Could not extract drawable with ID ".concat(e,"; it does not exist"));this._doExitDrawRegion();const n=.5*this._nativeSize[0],r=.5*this._nativeSize[1],i=t.getFastBounds(),o=this.canvas,a=o.width/this._nativeSize[0],l=new c;l.initFromBounds((i.left+n)*a,(i.right+n)*a,(r-i.top)*a,(r-i.bottom)*a),l.snapToInt(),i.initFromBounds(l.left/a-n,l.right/a-n,r-l.top/a,r-l.bottom/a);const u=this._gl,d=u.getParameter(u.MAX_TEXTURE_SIZE),p=Math.min(2048,l.width,d),m=Math.min(2048,l.height,d),f=s.createFramebufferInfo(u,[{format:u.RGBA}],p,m);try{s.bindFramebufferInfo(u,f),u.viewport(0,0,p,m);const t=s.m4.ortho(i.left,i.right,i.top,i.bottom,-1,1);u.clearColor(0,0,0,0),u.clear(u.COLOR_BUFFER_BIT),this._drawThese([e],h.DRAW_MODE.straightAlpha,t,{effectMask:~h.EFFECT_INFO.ghost.mask,framebufferWidth:o.width,framebufferHeight:o.height});const n=new Uint8Array(Math.floor(p*m*4));u.readPixels(0,0,p,m,u.RGBA,u.UNSIGNED_BYTE,n);const r=new ImageData(new Uint8ClampedArray(n.buffer),p,m),a=o.getBoundingClientRect().width/o.width;return{imageData:r,x:l.left*a,y:l.bottom*a,width:l.width*a,height:l.height*a}}finally{u.deleteFramebuffer(f.framebuffer)}}extractColor(e,t,n){this._doExitDrawRegion();const r=Math.round(this._nativeSize[0]*(e/this._gl.canvas.clientWidth-.5)),i=Math.round(-this._nativeSize[1]*(t/this._gl.canvas.clientHeight-.5)),o=this._gl;s.bindFramebufferInfo(o,this._queryBufferInfo);const a=new c;a.initFromBounds(r-n,r+n,i-n,i+n);const l=r-a.left,u=a.top-i;o.viewport(0,0,a.width,a.height);const d=s.m4.ortho(a.left,a.right,a.top,a.bottom,-1,1);o.clearColor(...this._backgroundColor4f),o.clear(o.COLOR_BUFFER_BIT),this._drawThese(this._drawList,h.DRAW_MODE.default,d);const p=new Uint8Array(Math.floor(a.width*a.height*4));o.readPixels(0,0,a.width,a.height,o.RGBA,o.UNSIGNED_BYTE,p);const m=Math.floor(4*(u*a.width+l)),f={r:p[m],g:p[m+1],b:p[m+2],a:p[m+3]};if(this._debugCanvas){this._debugCanvas.width=a.width,this._debugCanvas.height=a.height;const e=this._debugCanvas.getContext("2d"),t=e.createImageData(a.width,a.height);t.data.set(p),e.putImageData(t,0,0),e.strokeStyle="black",e.fillStyle="rgba(".concat(f.r,", ").concat(f.g,", ").concat(f.b,", ").concat(f.a,")"),e.rect(l-4,u-4,8,8),e.fill(),e.stroke()}return{data:p,width:a.width,height:a.height,color:f}}_touchingBounds(e){const t=this._allDrawables[e];if(!t.skin||!t.skin.getTexture([100,100]))return null;const n=t.getFastBounds();return this.offscreenTouching||n.clamp(this._xLeft,this._xRight,this._yBottom,this._yTop),n.snapToInt(),0===n.width||0===n.height?null:n}_unsnappedTouchingBounds(e){const t=this._allDrawables[e];if(!t.skin||!t.skin.getTexture([100,100]))return null;const n=t.getFastBounds();return this.offscreenTouching||n.clamp(this._xLeft,this._xRight,this._yBottom,this._yTop),0===n.width||0===n.height?null:n}_candidatesTouching(e,t){const n=this._touchingBounds(e),r=[];if(null===n)return r;for(let i=t.length-1;i>=0;i--){const s=t[i];if(s!==e){const e=this._allDrawables[s];if(e.skin instanceof m)continue;if(e.skin&&e._visible){if(!this.allowPrivateSkinAccess&&e.skin.private)continue;e.updateCPURenderAttributes();const t=e.getFastBounds();t.snapToInt(),n.intersects(t)&&r.push({id:s,drawable:e,intersection:c.intersect(n,t)})}}}return r}_candidatesBounds(e){return e.reduce(((e,t)=>{let{intersection:n}=t;return e?c.union(e,n,v):n}),null)}updateDrawableSkinId(e,t){const n=this._allDrawables[e];n&&(n.skin=this._allSkins[t])}updateDrawablePosition(e,t){const n=this._allDrawables[e];n&&n.updatePosition(t)}updateDrawableDirection(e,t){const n=this._allDrawables[e];n&&n.updateDirection(t)}updateDrawableScale(e,t){const n=this._allDrawables[e];n&&n.updateScale(t)}updateDrawableDirectionScale(e,t,n){const r=this._allDrawables[e];r&&(r.updateDirection(t),r.updateScale(n))}updateDrawableVisible(e,t){const n=this._allDrawables[e];n&&n.updateVisible(t)}updateDrawableEffect(e,t,n){const r=this._allDrawables[e];r&&r.updateEffect(t,n)}updateDrawableProperties(e,t){const n=this._allDrawables[e];n&&("skinId"in t&&this.updateDrawableSkinId(e,t.skinId),n.updateProperties(t))}getFencedPositionOfDrawable(e,t){let n=t[0],r=t[1];const i=this._allDrawables[e];if(!i)return[n,r];const s=n-i._position[0],o=r-i._position[1],a=i._skin.getFenceBounds(i,S),l=Math.floor(Math.min(a.width,a.height)/2),c=this._xRight-Math.min(15,l);a.right+s<-c?n=Math.ceil(i._position[0]-(c+a.right)):a.left+s>c&&(n=Math.floor(i._position[0]+(c-a.left)));const u=this._yTop-Math.min(15,l);return a.top+o<-u?r=Math.ceil(i._position[1]-(u+a.top)):a.bottom+o>u&&(r=Math.floor(i._position[1]+(u-a.bottom))),[n,r]}penClear(e){this.dirty=!0;this._allSkins[e].clear()}penPoint(e,t,n,r){this.dirty=!0;this._allSkins[e].drawPoint(t,n,r)}penLine(e,t,n,r,i,s){this.dirty=!0;this._allSkins[e].drawLine(t,n,r,i,s)}penStamp(e,t){this.dirty=!0;if(!this._allDrawables[t])return;const n=this._unsnappedTouchingBounds(t);if(!n)return;this._doExitDrawRegion();const r=this._allSkins[e],i=this._gl;s.bindFramebufferInfo(i,r._framebuffer);const o=r.renderQuality;n.left*=o,n.right*=o,n.top*=o,n.bottom*=o,n.snapToInt(),i.viewport(.5*this._nativeSize[0]*o+n.left,.5*this._nativeSize[1]*o-n.top,n.width,n.height);const a=s.m4.ortho(n.left/o,n.right/o,n.top/o,n.bottom/o,-1,1);this._drawThese([t],h.DRAW_MODE.default,a,{ignoreVisibility:!0,framebufferWidth:this._nativeSize[0]*o,framebufferHeight:this._nativeSize[1]*o}),r._silhouetteDirty=!0}_createGeometry(){this._bufferInfo=s.createBufferInfoFromArrays(this._gl,{a_position:{numComponents:2,data:[-.5,-.5,.5,-.5,-.5,.5,-.5,.5,.5,-.5,.5,.5]},a_texCoord:{numComponents:2,data:[1,0,0,0,1,1,1,1,0,0,0,1]}})}onNativeSizeChanged(e){this.dirty=!0;const[t,n]=e.newSize,r=this._gl,i=[{format:r.RGBA},{format:r.DEPTH_STENCIL}];this._pickBufferInfo||(this._pickBufferInfo=s.createFramebufferInfo(r,i,x[0],x[1])),this._queryBufferInfo?s.resizeFramebufferInfo(r,this._queryBufferInfo,i,t,n):this._queryBufferInfo=s.createFramebufferInfo(r,i,t,n)}enterDrawRegion(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e.enter,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e.exit;this._regionId!==e&&(this._doExitDrawRegion(),this._regionId=e,t(),this._exitRegion=n)}_doExitDrawRegion(){null!==this._exitRegion&&this._exitRegion(),this._exitRegion=null,this._regionId=null}_drawThese(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};const i=this._gl;let o=null;const a="framebufferWidth"in r&&"framebufferHeight"in r&&r.framebufferWidth!==this._nativeSize[0]&&r.framebufferHeight!==this._nativeSize[1],l=e.length;for(let c=0;c<l;++c){const l=e[c];if(r.filter&&!r.filter(l))continue;const u=this._allDrawables[l];if(!u.getVisible()&&!r.ignoreVisibility)continue;const d=a?[u.scale[0]*r.framebufferWidth/this._nativeSize[0],u.scale[1]*r.framebufferHeight/this._nativeSize[1]]:u.scale;if(!u.skin||!u.skin.getTexture(d))continue;if(r.skipPrivateSkins&&u.skin.private)continue;const h={};let p=u.enabledEffects;p&=Object.prototype.hasOwnProperty.call(r,"effectMask")?r.effectMask:p;const m=this._shaderManager.getShader(t,p);this._regionId!==m&&(this._doExitDrawRegion(),this._regionId=m,o=m,i.useProgram(o.program),s.setBuffersAndAttributes(i,o,this._bufferInfo),Object.assign(h,{u_projectionMatrix:n})),Object.assign(h,u.skin.getUniforms(d),u.getUniforms()),r.extraUniforms&&Object.assign(h,r.extraUniforms),h.u_skin&&s.setTextureParameters(i,h.u_skin,{minMag:u.skin.useNearest(d,u)?i.NEAREST:i.LINEAR}),s.setUniforms(o,h),s.drawBufferInfo(i,this._bufferInfo,i.TRIANGLES)}this._regionId=null}_getConvexHullPointsForDrawable(e){const t=this._allDrawables[e],[n,r]=t.skin.size;if(!t.getVisible()||0===n||0===r)return[];t.updateCPURenderAttributes();const o=function(e,t,n){return(t[0]-e[0])*(n[1]-e[1])-(t[1]-e[1])*(n[0]-e[0])},a=[],l=[];let c=-1,u=-1;const d=s.v3.create(),h=s.v3.create();let p;for(let e=0;e<r;e++){d[1]=e/r;let i=0;for(;i<n;i++)if(d[0]=i/n,f.transformPoint(t,d,h),t.skin.isTouchingLinear(h)){p=[i,e];break}if(!(i>=n)){for(;c>0&&!(o(a[c],a[c-1],p)>0);)--c;for(a[++c]=p,i=n-1;i>=0;i--)if(d[0]=i/n,f.transformPoint(t,d,h),t.skin.isTouchingLinear(h)){p=[i,e];break}for(;u>0&&!(o(l[u],l[u-1],p)<0);)--u;l[++u]=p}}const m=a;m.length=c+1;for(let e=u;e>=0;--e)m.push(l[e]);return i(m,1/0)}static sampleColor3b(e,t,n){(n=n||new Uint8ClampedArray(3)).fill(0);let r=1;for(let i=0;0!==r&&i<t.length;i++)l.sampleColor4b(e,t[i].drawable,k),n[0]+=k[0]*r,n[1]+=k[1]*r,n[2]+=k[2]*r,r*=1-k[3]/255;return n[0]+=255*r,n[1]+=255*r,n[2]+=255*r,n}requestSnapshot(e){this.dirty=!0,this._snapshotCallbacks.push(e)}setCustomFonts(e){this.customFonts=e;const t=Object.values(e).join("\n");if(t.length?(this._customFontStyles||(this._customFontStyles=document.createElement("style"),this._customFontStyles.className="renderer-custom-fonts",document.head.appendChild(this._customFontStyles)),this._customFontStyles.textContent=t):this._customFontStyles&&(this._customFontStyles.remove(),this._customFontStyles=null),"object"==typeof document&&"object"==typeof document.fonts&&"function"==typeof document.fonts.load){const t=Object.keys(e);for(const e of t)document.fonts.load("12px ".concat(e))}}}C.prototype.canHazPixels=C.prototype.extractDrawableScreenSpace,C.UseGpuModes={Automatic:"Automatic",ForceGPU:"ForceGPU",ForceCPU:"ForceCPU"},C.powerPreference="default",e.exports=C},function(e,t,n){"use strict";var r=n(390),i=n(391),s=n(392),o=n(393);function a(e,t){return Math.pow(t[0]-e[0],2)+Math.pow(t[1]-e[1],2)}function l(e,t,n){var r=[t[0]-e[0],t[1]-e[1]],i=[n[0]-e[0],n[1]-e[1]],s=a(e,t),o=a(e,n);return(r[0]*i[0]+r[1]*i[1])/Math.sqrt(s*o)}function c(e,t){for(var n=0;n<t.length-1;n++){var i=[t[n],t[n+1]];if(!(e[0][0]===i[0][0]&&e[0][1]===i[0][1]||e[0][0]===i[1][0]&&e[0][1]===i[1][1])&&r(e,i))return!0}return!1}function u(e){return[Math.min(e[0][0],e[1][0]),Math.min(e[0][1],e[1][1]),Math.max(e[0][0],e[1][0]),Math.max(e[0][1],e[1][1])]}function d(e,t,n){for(var r,i,s=null,o=p,a=p,u=0;u<t.length;u++)r=l(e[0],e[1],t[u]),i=l(e[1],e[0],t[u]),r>o&&i>a&&!c([e[0],t[u]],n)&&!c([e[1],t[u]],n)&&(o=r,a=i,s=t[u]);return s}function h(e,t,n,r,i){for(var s,o,l,c,p,m,f,g=!1,y=0;y<e.length-1;y++)if(o=(s=[e[y],e[y+1]])[0].join()+","+s[1].join(),!(a(s[0],s[1])<t||!0===i[o])){l=0,p=u(s);do{m=(p=r.extendBbox(p,l))[2]-p[0],f=p[3]-p[1],c=d(s,r.rangePoints(p),e),l++}while(null===c&&(n[0]>m||n[1]>f));m>=n[0]&&f>=n[1]&&(i[o]=!0),null!==c&&(e.splice(y+1,0,c),r.removePoint(c),g=!0)}return g?h(e,t,n,r,i):e}var p=Math.cos(90/(180/Math.PI)),m=.6;e.exports=function(e,t,n){var r,a,l,c,u,d,p,f=t||20;return e.length<4?e.slice():(p=function(e){return e.filter((function(e,t,n){var r=n[t-1];return 0===t||!(r[0]===e[0]&&r[1]===e[1])}))}(function(e){return e.sort((function(e,t){return e[0]==t[0]?e[1]-t[1]:e[0]-t[0]}))}(s.toXy(e,n))),c=function(e){for(var t=1/0,n=1/0,r=-1/0,i=-1/0,s=e.length-1;s>=0;s--)e[s][0]<t&&(t=e[s][0]),e[s][1]<n&&(n=e[s][1]),e[s][0]>r&&(r=e[s][0]),e[s][1]>i&&(i=e[s][1]);return[r-t,i-n]}(p),u=[c[0]*m,c[1]*m],r=o(p),l=p.filter((function(e){return r.indexOf(e)<0})),d=Math.ceil(1/(p.length/(c[0]*c[1]))),a=h(r,Math.pow(f,2),u,i(l,d),{}),s.fromXy(a,n))}},function(e,t){function n(e,t,n,r,i,s){var o=(s-t)*(n-e)-(r-t)*(i-e);return o>0||!(o<0)}e.exports=function(e,t){var r=e[0][0],i=e[0][1],s=e[1][0],o=e[1][1],a=t[0][0],l=t[0][1],c=t[1][0],u=t[1][1];return n(r,i,a,l,c,u)!==n(s,o,a,l,c,u)&&n(r,i,s,o,a,l)!==n(r,i,s,o,c,u)}},function(e,t){function n(e,t){this._cells=[],this._cellSize=t,e.forEach((function(e){var t=this.point2CellXY(e),n=t[0],r=t[1];void 0===this._cells[n]&&(this._cells[n]=[]),void 0===this._cells[n][r]&&(this._cells[n][r]=[]),this._cells[n][r].push(e)}),this)}n.prototype={cellPoints:function(e,t){return void 0!==this._cells[e]&&void 0!==this._cells[e][t]?this._cells[e][t]:[]},rangePoints:function(e){for(var t=this.point2CellXY([e[0],e[1]]),n=this.point2CellXY([e[2],e[3]]),r=[],i=t[0];i<=n[0];i++)for(var s=t[1];s<=n[1];s++)r=r.concat(this.cellPoints(i,s));return r},removePoint:function(e){for(var t,n=this.point2CellXY(e),r=this._cells[n[0]][n[1]],i=0;i<r.length;i++)if(r[i][0]===e[0]&&r[i][1]===e[1]){t=i;break}return r.splice(t,1),r},point2CellXY:function(e){return[parseInt(e[0]/this._cellSize),parseInt(e[1]/this._cellSize)]},extendBbox:function(e,t){return[e[0]-t*this._cellSize,e[1]-t*this._cellSize,e[2]+t*this._cellSize,e[3]+t*this._cellSize]}},e.exports=function(e,t){return new n(e,t)}},function(e,t){e.exports={toXy:function(e,t){return void 0===t?e.slice():e.map((function(e){return new Function("pt","return [pt"+t[0]+",pt"+t[1]+"];")(e)}))},fromXy:function(e,t){return void 0===t?e.slice():e.map((function(e){return new Function("pt","var o = {}; o"+t[0]+"= pt[0]; o"+t[1]+"= pt[1]; return o;")(e)}))}}},function(e,t){function n(e,t,n){return(t[0]-e[0])*(n[1]-e[1])-(t[1]-e[1])*(n[0]-e[0])}e.exports=function(e){var t,r=function(e){for(var t=[],r=0;r<e.length;r++){for(;t.length>=2&&n(t[t.length-2],t[t.length-1],e[r])<=0;)t.pop();t.push(e[r])}return t.pop(),t}(e),i=function(e){for(var t=e.reverse(),r=[],i=0;i<t.length;i++){for(;r.length>=2&&n(r[r.length-2],r[r.length-1],t[i])<=0;)r.pop();r.push(t[i])}return r.pop(),r}(e);return(t=i.concat(r)).push(e[0]),t}},function(e,t){let n;const r=(e,t)=>t^(e^t)&e-t>>31,i=(e,t)=>e^(e^t)&e-t>>31,s=(e,t,n)=>{let{_width:r,_height:i,_colorData:s}=e;return t>=r||n>=i||t<0||n<0?0:s[4*(n*r+t)+3]},o=[new Uint8ClampedArray(4),new Uint8ClampedArray(4),new Uint8ClampedArray(4),new Uint8ClampedArray(4)],a=(e,t,n,s)=>{let{_width:o,_height:a,_colorData:l}=e;if(t=i(0,r(t,o-1)),n=i(0,r(n,a-1)),t>=o||n>=a||t<0||n<0)return s.fill(0);const c=4*(n*o+t),u=l[c+3]/255;return s[0]=l[c]*u,s[1]=l[c+1]*u,s[2]=l[c+2]*u,s[3]=l[c+3],s},l=(e,t,n,s)=>{let{_width:o,_height:a,_colorData:l}=e;t=i(0,r(t,o-1));const c=4*((n=i(0,r(n,a-1)))*o+t);return s[0]=l[c],s[1]=l[c+1],s[2]=l[c+2],s[3]=l[c+3],s};class c{constructor(){this._width=0,this._height=0,this._lazyData=null,this._colorData=null,this._getColor=a,this.colorAtNearest=this.colorAtLinear=(e,t)=>t.fill(0)}update(e){let t,n=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(e instanceof ImageData)t=e,this._width=e.width,this._height=e.height,this._lazyData=null,this._colorData=t.data;else{if(this._width=e.width,this._height=e.height,!this._width||!this._height)return;this._lazyData=e,this._colorData=null}this._getColor=n?l:a,delete this.colorAtNearest,delete this.colorAtLinear}unlazy(){if(!this._lazyData)return;const e=this._lazyData.width,t=this._lazyData.height;if(e&&t){const n=c._updateCanvas();n.width=e,n.height=t;const r=n.getContext("2d");r.clearRect(0,0,e,t),r.drawImage(this._lazyData,0,0,e,t);const i=r.getImageData(0,0,e,t);this._colorData=i.data}this._lazyData=null}colorAtNearest(e,t){return this._getColor(this,Math.floor(e[0]*(this._width-1)),Math.floor(e[1]*(this._height-1)),t)}colorAtLinear(e,t){const n=e[0]*(this._width-1),r=e[1]*(this._height-1),i=n%1,s=r%1,a=1-i,l=1-s,c=Math.floor(n),u=Math.floor(r),d=this._getColor(this,c,u,o[0]),h=this._getColor(this,c+1,u,o[1]),p=this._getColor(this,c,u+1,o[2]),m=this._getColor(this,c+1,u+1,o[3]);return t[0]=d[0]*a*l+p[0]*a*s+h[0]*i*l+m[0]*i*s,t[1]=d[1]*a*l+p[1]*a*s+h[1]*i*l+m[1]*i*s,t[2]=d[2]*a*l+p[2]*a*s+h[2]*i*l+m[2]*i*s,t[3]=d[3]*a*l+p[3]*a*s+h[3]*i*l+m[3]*i*s,t}isTouchingNearest(e){if(this._colorData)return s(this,Math.floor(e[0]*(this._width-1)),Math.floor(e[1]*(this._height-1)))>0}isTouchingLinear(e){if(!this._colorData)return;const t=Math.floor(e[0]*(this._width-1)),n=Math.floor(e[1]*(this._height-1));return s(this,t,n)>0||s(this,t+1,n)>0||s(this,t,n+1)>0||s(this,t+1,n+1)>0}static _updateCanvas(){return void 0===n&&(n=document.createElement("canvas")),n}}e.exports=c},function(e,t,n){const r=n(11),i=n(29);class s extends i{constructor(e,t){super(e,t),this._costumeResolution=1,this._textureSize=[0,0]}dispose(){this._texture&&(this._renderer.gl.deleteTexture(this._texture),this._texture=null),super.dispose()}get size(){return[this._textureSize[0]/this._costumeResolution,this._textureSize[1]/this._costumeResolution]}getTexture(e){return this._texture||super.getTexture()}setBitmap(e,t,n){if(!e.width||!e.height)return void super.setEmptyImageData();const i=this._renderer.gl;let o=e;if(e instanceof HTMLCanvasElement&&!1!==e.reusable){o=e.getContext("2d").getImageData(0,0,e.width,e.height)}if(null===this._texture){const e={auto:!1,wrap:i.CLAMP_TO_EDGE};this._texture=r.createTexture(i,e)}this._setTexture(o),this._costumeResolution=t||2,this._textureSize=s._getBitmapSize(e),void 0===n&&(n=this.calculateRotationCenter()),this._rotationCenter[0]=n[0],this._rotationCenter[1]=n[1],this.emitWasAltered()}static _getBitmapSize(e){return e instanceof HTMLImageElement?[e.naturalWidth||e.width,e.naturalHeight||e.height]:e instanceof HTMLVideoElement?[e.videoWidth||e.width,e.videoHeight||e.height]:[e.width,e.height]}}e.exports=s},function(e,t,n){const r=n(11),i=n(109),s=n(38),o=n(30),a=n(110),l=n(111),c=r.v3.create(),u=1e-6,d=(e,t)=>{const n=c,r=t[0],i=t[1],s=e._inverseMatrix,o=r*s[3]+i*s[7]+s[15];return n[0]=.5-(r*s[0]+i*s[4]+s[12])/o,n[1]=(r*s[1]+i*s[5]+s[13])/o+.5,Math.abs(n[0])<u&&(n[0]=0),Math.abs(n[1])<u&&(n[1]=0),0!==e.enabledEffects&&n[0]>=0&&n[0]<1&&n[1]>=0&&n[1]<1&&a.transformPoint(e,n,n),n};class h{constructor(e,t){this._id=e,this._renderer=t,this._uniforms={u_modelMatrix:r.m4.identity(),u_silhouetteColor:h.color4fFromID(this._id)};const n=o.EFFECTS.length;for(let e=0;e<n;++e){const t=o.EFFECTS[e],n=o.EFFECT_INFO[t],r=n.converter;this._uniforms[n.uniformName]=r(0)}this._position=r.v3.create(0,0),this._scale=r.v3.create(100,100),this._direction=90,this._transformDirty=!0,this._rotationMatrix=r.m4.identity(),this._rotationTransformDirty=!0,this._rotationAdjusted=r.v3.create(),this._rotationCenterDirty=!0,this._skinScale=r.v3.create(0,0,0),this._skinScaleDirty=!0,this._inverseMatrix=r.m4.identity(),this._inverseTransformDirty=!0,this._visible=!0,this.enabledEffects=0,this._convexHullPoints=null,this._convexHullDirty=!0,this._transformedHullPoints=null,this._transformedHullDirty=!0,this._skinWasAltered=this._skinWasAltered.bind(this),this.isTouching=this._isTouchingNever,this._highQuality=!1}setHighQuality(e){this._highQuality=e}dispose(){this.skin=null}setTransformDirty(){this._transformDirty=!0,this._inverseTransformDirty=!0,this._transformedHullDirty=!0}get id(){return this._id}get skin(){return this._skin}set skin(e){this._skin!==e&&(this._skin=e,this._skinWasAltered())}get scale(){return[this._scale[0],this._scale[1]]}getUniforms(){return this._transformDirty&&this._calculateTransform(),this._uniforms}getVisible(){return this._visible}updatePosition(e){this._position[0]===e[0]&&this._position[1]===e[1]||(this._highQuality?(this._position[0]=e[0],this._position[1]=e[1]):(this._position[0]=Math.round(e[0]),this._position[1]=Math.round(e[1])),this._renderer.dirty=!0,this.setTransformDirty())}updateDirection(e){this._direction!==e&&(this._direction=e,this._renderer.dirty=!0,this._rotationTransformDirty=!0,this.setTransformDirty())}updateScale(e){this._scale[0]===e[0]&&this._scale[1]===e[1]||(this._scale[0]=e[0],this._scale[1]=e[1],this._renderer.dirty=!0,this._rotationCenterDirty=!0,this._skinScaleDirty=!0,this.setTransformDirty())}updateVisible(e){this._visible!==e&&(this._visible=e,this._renderer.dirty=!0,this.setConvexHullDirty())}updateEffect(e,t){this._renderer.dirty=!0;const n=o.EFFECT_INFO[e];t?this.enabledEffects|=n.mask:this.enabledEffects&=~n.mask;const r=n.converter;this._uniforms[n.uniformName]=r(t),n.shapeChanges&&this.setConvexHullDirty()}updateProperties(e){"position"in e&&this.updatePosition(e.position),"direction"in e&&this.updateDirection(e.direction),"scale"in e&&this.updateScale(e.scale),"visible"in e&&this.updateVisible(e.visible);const t=o.EFFECTS.length;for(let n=0;n<t;++n){const t=o.EFFECTS[n];t in e&&this.updateEffect(t,e[t])}}_calculateTransform(){if(this._rotationTransformDirty){const e=(270-this._direction)*Math.PI/180,t=Math.cos(e),n=Math.sin(e);this._rotationMatrix[0]=t,this._rotationMatrix[1]=n,this._rotationMatrix[4]=-n,this._rotationMatrix[5]=t,this._rotationTransformDirty=!1}if(this._rotationCenterDirty&&null!==this.skin){const e=this.skin.rotationCenter,t=this.skin.size,n=e[0],r=e[1],i=t[0],s=t[1],o=this._scale[0],a=this._scale[1],l=this._rotationAdjusted;l[0]=(n-i/2)*o/100,l[1]=(r-s/2)*a/100*-1,this._rotationCenterDirty=!1}if(this._skinScaleDirty&&null!==this.skin){const e=this.skin.size,t=this._skinScale;t[0]=e[0]*this._scale[0]/100,t[1]=e[1]*this._scale[1]/100,this._skinScaleDirty=!1}const e=this._uniforms.u_modelMatrix,t=this._skinScale[0],n=this._skinScale[1],r=this._rotationMatrix[0],i=this._rotationMatrix[1],s=this._rotationMatrix[4],o=this._rotationMatrix[5],a=this._rotationAdjusted[0],l=this._rotationAdjusted[1],c=this._position[0],u=this._position[1];e[0]=t*r,e[1]=t*i,e[4]=n*s,e[5]=n*o,e[12]=r*a+s*l+c,e[13]=i*a+o*l+u,this._transformDirty=!1}needsConvexHullPoints(){return!this._convexHullPoints||this._convexHullDirty||0===this._convexHullPoints.length}setConvexHullDirty(){this._convexHullDirty=!0}setConvexHullPoints(e){this._convexHullPoints=e,this._convexHullDirty=!1,this._transformedHullPoints=[];for(let t=0;t<e.length;t++)this._transformedHullPoints.push(r.v3.create());this._transformedHullDirty=!0}_isTouchingNever(e){return!1}_isTouchingNearest(e){return this.skin.isTouchingNearest(d(this,e))}_isTouchingLinear(e){return this.skin.isTouchingLinear(d(this,e))}getBounds(e){if(this.needsConvexHullPoints())throw new Error("Needs updated convex hull points before bounds calculation.");this._transformDirty&&this._calculateTransform();const t=this._getTransformedHullPoints();return(e=e||new i).initFromPointsAABB(t),e}getBoundsForBubble(e){if(this.needsConvexHullPoints())throw new Error("Needs updated convex hull points before bubble bounds calculation.");this._transformDirty&&this._calculateTransform();const t=this._getTransformedHullPoints(),n=Math.max.apply(null,t.map((e=>e[1]))),r=t.filter((e=>e[1]>n-8));return(e=e||new i).initFromPointsAABB(r),e}getAABB(e){this._transformDirty&&this._calculateTransform();const t=this._uniforms.u_modelMatrix;return(e=e||new i).initFromModelMatrix(t),e}getFastBounds(e){return this.needsConvexHullPoints()?this.getAABB(e):this.getBounds(e)}_getTransformedHullPoints(){if(!this._transformedHullDirty)return this._transformedHullPoints;const e=r.m4.ortho(-1,1,-1,1,-1,1),t=this.skin.size,n=1/t[0]/2,i=1/t[1]/2,s=r.m4.multiply(this._uniforms.u_modelMatrix,e);for(let e=0;e<this._convexHullPoints.length;e++){const o=this._convexHullPoints[e],a=this._transformedHullPoints[e];a[0]=.5+-o[0]/t[0]-n,a[1]=o[1]/t[1]-.5+i,r.m4.transformPoint(s,a,a)}return this._transformedHullDirty=!1,this._transformedHullPoints}updateMatrix(){if(this._transformDirty&&this._calculateTransform(),this._inverseTransformDirty){const e=this._inverseMatrix;r.m4.copy(this._uniforms.u_modelMatrix,e),e[10]=1,r.m4.inverse(e,e),this._inverseTransformDirty=!1}}updateCPURenderAttributes(){this.updateMatrix(),this.skin?(this.skin.updateSilhouette(this._scale),this.skin.useNearest(this._scale,this)?this.isTouching=this._isTouchingNearest:this.isTouching=this._isTouchingLinear):(l.warn("Could not find skin for drawable with id: ".concat(this._id)),this.isTouching=this._isTouchingNever)}_skinWasAltered(){this._renderer.dirty=!0,this._rotationCenterDirty=!0,this._skinScaleDirty=!0,this.setConvexHullDirty(),this.setTransformDirty()}static color4fFromID(e){return[(255&(e-=s.ID_NONE))/255,(e>>8&255)/255,(e>>16&255)/255,1]}static color3bToID(e,t,n){let r;return r=255&e,r|=(255&t)<<8,r|=(255&n)<<16,r+s.ID_NONE}static sampleColor4b(e,t,n,r){const i=d(t,e);if(i[0]<0||i[1]<0||i[0]>1||i[1]>1)return n[0]=0,n[1]=0,n[2]=0,n[3]=0,n;const s=t.skin._silhouette.colorAtNearest(i,n);return 0===t.enabledEffects?s:a.transformColor(t,s,r)}}e.exports=h},function(e,t){e.exports="precision mediump float;\n\n#ifdef DRAW_MODE_line\nuniform vec2 u_stageSize;\nattribute vec2 a_lineThicknessAndLength;\nattribute vec4 a_penPoints;\nattribute vec4 a_lineColor;\n\nvarying vec4 v_lineColor;\nvarying float v_lineThickness;\nvarying float v_lineLength;\nvarying vec4 v_penPoints;\n\n// Add this to divisors to prevent division by 0, which results in NaNs propagating through calculations.\n// Smaller values can cause problems on some mobile devices.\nconst float epsilon = 1e-3;\n#endif\n\n#if !(defined(DRAW_MODE_line) || defined(DRAW_MODE_background))\nuniform mat4 u_projectionMatrix;\nuniform mat4 u_modelMatrix;\nattribute vec2 a_texCoord;\n#endif\n\nattribute vec2 a_position;\n\nvarying vec2 v_texCoord;\n\nvoid main() {\n\t#ifdef DRAW_MODE_line\n\t// Calculate a rotated (\"tight\") bounding box around the two pen points.\n\t// Yes, we're doing this 6 times (once per vertex), but on actual GPU hardware,\n\t// it's still faster than doing it in JS combined with the cost of uniformMatrix4fv.\n\n\t// Expand line bounds by sqrt(2) / 2 each side-- this ensures that all antialiased pixels\n\t// fall within the quad, even at a 45-degree diagonal\n\tvec2 position = a_position;\n\tfloat expandedRadius = (a_lineThicknessAndLength.x * 0.5) + 1.4142135623730951;\n\n\t// The X coordinate increases along the length of the line. It's 0 at the center of the origin point\n\t// and is in pixel-space (so at n pixels along the line, its value is n).\n\tv_texCoord.x = mix(0.0, a_lineThicknessAndLength.y + (expandedRadius * 2.0), a_position.x) - expandedRadius;\n\t// The Y coordinate is perpendicular to the line. It's also in pixel-space.\n\tv_texCoord.y = ((a_position.y - 0.5) * expandedRadius) + 0.5;\n\n\tposition.x *= a_lineThicknessAndLength.y + (2.0 * expandedRadius);\n\tposition.y *= 2.0 * expandedRadius;\n\n\t// 1. Center around first pen point\n\tposition -= expandedRadius;\n\n\t// 2. Rotate quad to line angle\n\tvec2 pointDiff = a_penPoints.zw;\n\t// Ensure line has a nonzero length so it's rendered properly\n\t// As long as either component is nonzero, the line length will be nonzero\n\t// If the line is zero-length, give it a bit of horizontal length\n\tpointDiff.x = (abs(pointDiff.x) < epsilon && abs(pointDiff.y) < epsilon) ? epsilon : pointDiff.x;\n\t// The `normalized` vector holds rotational values equivalent to sine/cosine\n\t// We're applying the standard rotation matrix formula to the position to rotate the quad to the line angle\n\t// pointDiff can hold large values so we must divide by u_lineLength instead of calling GLSL's normalize function:\n\t// https://asawicki.info/news_1596_watch_out_for_reduced_precision_normalizelength_in_opengl_es\n\tvec2 normalized = pointDiff / max(a_lineThicknessAndLength.y, epsilon);\n\tposition = mat2(normalized.x, normalized.y, -normalized.y, normalized.x) * position;\n\n\t// 3. Translate quad\n\tposition += a_penPoints.xy;\n\n\t// 4. Apply view transform\n\tposition *= 2.0 / u_stageSize;\n\tgl_Position = vec4(position, 0, 1);\n\n\tv_lineColor = a_lineColor;\n\tv_lineThickness = a_lineThicknessAndLength.x;\n\tv_lineLength = a_lineThicknessAndLength.y;\n\tv_penPoints = a_penPoints;\n\t#elif defined(DRAW_MODE_background)\n\tgl_Position = vec4(a_position * 2.0, 0, 1);\n\t#else\n\tgl_Position = u_projectionMatrix * u_modelMatrix * vec4(a_position, 0, 1);\n\tv_texCoord = a_texCoord;\n\t#endif\n}\n"},function(e,t){e.exports='precision mediump float;\n\n#ifdef DRAW_MODE_silhouette\nuniform vec4 u_silhouetteColor;\n#else // DRAW_MODE_silhouette\n# ifdef ENABLE_color\nuniform float u_color;\n# endif // ENABLE_color\n# ifdef ENABLE_brightness\nuniform float u_brightness;\n# endif // ENABLE_brightness\n#endif // DRAW_MODE_silhouette\n\n#ifdef DRAW_MODE_colorMask\nuniform vec3 u_colorMask;\nuniform float u_colorMaskTolerance;\n#endif // DRAW_MODE_colorMask\n\n#ifdef ENABLE_fisheye\nuniform float u_fisheye;\n#endif // ENABLE_fisheye\n#ifdef ENABLE_whirl\nuniform float u_whirl;\n#endif // ENABLE_whirl\n#ifdef ENABLE_pixelate\nuniform float u_pixelate;\nuniform vec2 u_skinSize;\n#endif // ENABLE_pixelate\n#ifdef ENABLE_mosaic\nuniform float u_mosaic;\n#endif // ENABLE_mosaic\n#ifdef ENABLE_ghost\nuniform float u_ghost;\n#endif // ENABLE_ghost\n\n#ifdef DRAW_MODE_line\nvarying vec4 v_lineColor;\nvarying float v_lineThickness;\nvarying float v_lineLength;\n#endif // DRAW_MODE_line\n\n#ifdef DRAW_MODE_background\nuniform vec4 u_backgroundColor;\n#endif // DRAW_MODE_background\n\nuniform sampler2D u_skin;\n\n#ifndef DRAW_MODE_background\nvarying vec2 v_texCoord;\n#endif\n\n// Add this to divisors to prevent division by 0, which results in NaNs propagating through calculations.\n// Smaller values can cause problems on some mobile devices.\nconst float epsilon = 1e-3;\n\n#if !defined(DRAW_MODE_silhouette) && (defined(ENABLE_color))\n// Branchless color conversions based on code from:\n// http://www.chilliant.com/rgb2hsv.html by Ian Taylor\n// Based in part on work by Sam Hocevar and Emil Persson\n// See also: https://en.wikipedia.org/wiki/HSL_and_HSV#Formal_derivation\n\n\n// Convert an RGB color to Hue, Saturation, and Value.\n// All components of input and output are expected to be in the [0,1] range.\nvec3 convertRGB2HSV(vec3 rgb)\n{\n\t// Hue calculation has 3 cases, depending on which RGB component is largest, and one of those cases involves a "mod"\n\t// operation. In order to avoid that "mod" we split the M==R case in two: one for G<B and one for B>G. The B>G case\n\t// will be calculated in the negative and fed through abs() in the hue calculation at the end.\n\t// See also: https://en.wikipedia.org/wiki/HSL_and_HSV#Hue_and_chroma\n\tconst vec4 hueOffsets = vec4(0.0, -1.0 / 3.0, 2.0 / 3.0, -1.0);\n\n\t// temp1.xy = sort B & G (largest first)\n\t// temp1.z = the hue offset we\'ll use if it turns out that R is the largest component (M==R)\n\t// temp1.w = the hue offset we\'ll use if it turns out that R is not the largest component (M==G or M==B)\n\tvec4 temp1 = rgb.b > rgb.g ? vec4(rgb.bg, hueOffsets.wz) : vec4(rgb.gb, hueOffsets.xy);\n\n\t// temp2.x = the largest component of RGB ("M" / "Max")\n\t// temp2.yw = the smaller components of RGB, ordered for the hue calculation (not necessarily sorted by magnitude!)\n\t// temp2.z = the hue offset we\'ll use in the hue calculation\n\tvec4 temp2 = rgb.r > temp1.x ? vec4(rgb.r, temp1.yzx) : vec4(temp1.xyw, rgb.r);\n\n\t// m = the smallest component of RGB ("min")\n\tfloat m = min(temp2.y, temp2.w);\n\n\t// Chroma = M - m\n\tfloat C = temp2.x - m;\n\n\t// Value = M\n\tfloat V = temp2.x;\n\n\treturn vec3(\n\t\tabs(temp2.z + (temp2.w - temp2.y) / (6.0 * C + epsilon)), // Hue\n\t\tC / (temp2.x + epsilon), // Saturation\n\t\tV); // Value\n}\n\nvec3 convertHue2RGB(float hue)\n{\n\tfloat r = abs(hue * 6.0 - 3.0) - 1.0;\n\tfloat g = 2.0 - abs(hue * 6.0 - 2.0);\n\tfloat b = 2.0 - abs(hue * 6.0 - 4.0);\n\treturn clamp(vec3(r, g, b), 0.0, 1.0);\n}\n\nvec3 convertHSV2RGB(vec3 hsv)\n{\n\tvec3 rgb = convertHue2RGB(hsv.x);\n\tfloat c = hsv.z * hsv.y;\n\treturn rgb * c + hsv.z - c;\n}\n#endif // !defined(DRAW_MODE_silhouette) && (defined(ENABLE_color))\n\nconst vec2 kCenter = vec2(0.5, 0.5);\n\nvoid main()\n{\n\t#if !(defined(DRAW_MODE_line) || defined(DRAW_MODE_background))\n\tvec2 texcoord0 = v_texCoord;\n\n\t#ifdef ENABLE_mosaic\n\ttexcoord0 = fract(u_mosaic * texcoord0);\n\t#endif // ENABLE_mosaic\n\n\t#ifdef ENABLE_pixelate\n\t{\n\t\t// TODO: clean up "pixel" edges\n\t\tvec2 pixelTexelSize = u_skinSize / u_pixelate;\n\t\ttexcoord0 = (floor(texcoord0 * pixelTexelSize) + kCenter) / pixelTexelSize;\n\t}\n\t#endif // ENABLE_pixelate\n\n\t#ifdef ENABLE_whirl\n\t{\n\t\tconst float kRadius = 0.5;\n\t\tvec2 offset = texcoord0 - kCenter;\n\t\tfloat offsetMagnitude = length(offset);\n\t\tfloat whirlFactor = max(1.0 - (offsetMagnitude / kRadius), 0.0);\n\t\tfloat whirlActual = u_whirl * whirlFactor * whirlFactor;\n\t\tfloat sinWhirl = sin(whirlActual);\n\t\tfloat cosWhirl = cos(whirlActual);\n\t\tmat2 rotationMatrix = mat2(\n\t\t\tcosWhirl, -sinWhirl,\n\t\t\tsinWhirl, cosWhirl\n\t\t);\n\n\t\ttexcoord0 = rotationMatrix * offset + kCenter;\n\t}\n\t#endif // ENABLE_whirl\n\n\t#ifdef ENABLE_fisheye\n\t{\n\t\tvec2 vec = (texcoord0 - kCenter) / kCenter;\n\t\tfloat vecLength = length(vec);\n\t\tfloat r = pow(min(vecLength, 1.0), u_fisheye) * max(1.0, vecLength);\n\t\tvec2 unit = vec / vecLength;\n\n\t\ttexcoord0 = kCenter + r * unit * kCenter;\n\t}\n\t#endif // ENABLE_fisheye\n\n\tgl_FragColor = texture2D(u_skin, texcoord0);\n\n\t#if defined(ENABLE_color) || defined(ENABLE_brightness)\n\t// Divide premultiplied alpha values for proper color processing\n\t// Add epsilon to avoid dividing by 0 for fully transparent pixels\n\tgl_FragColor.rgb = clamp(gl_FragColor.rgb / (gl_FragColor.a + epsilon), 0.0, 1.0);\n\n\t#ifdef ENABLE_color\n\t{\n\t\tvec3 hsv = convertRGB2HSV(gl_FragColor.xyz);\n\n\t\t// this code forces grayscale values to be slightly saturated\n\t\t// so that some slight change of hue will be visible\n\t\tconst float minLightness = 0.11 / 2.0;\n\t\tconst float minSaturation = 0.09;\n\t\tif (hsv.z < minLightness) hsv = vec3(0.0, 1.0, minLightness);\n\t\telse if (hsv.y < minSaturation) hsv = vec3(0.0, minSaturation, hsv.z);\n\n\t\thsv.x = mod(hsv.x + u_color, 1.0);\n\t\tif (hsv.x < 0.0) hsv.x += 1.0;\n\n\t\tgl_FragColor.rgb = convertHSV2RGB(hsv);\n\t}\n\t#endif // ENABLE_color\n\n\t#ifdef ENABLE_brightness\n\tgl_FragColor.rgb = clamp(gl_FragColor.rgb + vec3(u_brightness), vec3(0), vec3(1));\n\t#endif // ENABLE_brightness\n\n\t// Re-multiply color values\n\tgl_FragColor.rgb *= gl_FragColor.a + epsilon;\n\n\t#endif // defined(ENABLE_color) || defined(ENABLE_brightness)\n\n\t#ifdef ENABLE_ghost\n\tgl_FragColor *= u_ghost;\n\t#endif // ENABLE_ghost\n\n\t#ifdef DRAW_MODE_silhouette\n\t// Discard fully transparent pixels for stencil test\n\tif (gl_FragColor.a == 0.0) {\n\t\tdiscard;\n\t}\n\t// switch to u_silhouetteColor only AFTER the alpha test\n\tgl_FragColor = u_silhouetteColor;\n\t#else // DRAW_MODE_silhouette\n\n\t#ifdef DRAW_MODE_colorMask\n\tvec3 maskDistance = abs(gl_FragColor.rgb - u_colorMask);\n\tvec3 colorMaskTolerance = vec3(u_colorMaskTolerance, u_colorMaskTolerance, u_colorMaskTolerance);\n\tif (any(greaterThan(maskDistance, colorMaskTolerance)))\n\t{\n\t\tdiscard;\n\t}\n\t#endif // DRAW_MODE_colorMask\n\t#endif // DRAW_MODE_silhouette\n\n\t#ifdef DRAW_MODE_straightAlpha\n\t// Un-premultiply alpha.\n\tgl_FragColor.rgb /= gl_FragColor.a + epsilon;\n\t#endif\n\n\t#endif // !(defined(DRAW_MODE_line) || defined(DRAW_MODE_background))\n\n\t#ifdef DRAW_MODE_line\n\t// Maaaaagic antialiased-line-with-round-caps shader.\n\n\t// "along-the-lineness". This increases parallel to the line.\n\t// It goes from negative before the start point, to 0.5 through the start to the end, then ramps up again\n\t// past the end point.\n\tfloat d = ((v_texCoord.x - clamp(v_texCoord.x, 0.0, v_lineLength)) * 0.5) + 0.5;\n\n\t// Distance from (0.5, 0.5) to (d, the perpendicular coordinate). When we\'re in the middle of the line,\n\t// d will be 0.5, so the distance will be 0 at points close to the line and will grow at points further from it.\n\t// For the "caps", d will ramp down/up, giving us rounding.\n\t// See https://www.youtube.com/watch?v=PMltMdi1Wzg for a rough outline of the technique used to round the lines.\n\tfloat line = distance(vec2(0.5), vec2(d, v_texCoord.y)) * 2.0;\n\t// Expand out the line by its thickness.\n\tline -= ((v_lineThickness - 1.0) * 0.5);\n\t// Because "distance to the center of the line" decreases the closer we get to the line, but we want more opacity\n\t// the closer we are to the line, invert it.\n\tgl_FragColor = v_lineColor * clamp(1.0 - line, 0.0, 1.0);\n\t#endif // DRAW_MODE_line\n\n\t#ifdef DRAW_MODE_background\n\tgl_FragColor = u_backgroundColor;\n\t#endif\n}\n'},function(e,t){e.exports={rgbToHsv:(e,t)=>{let[n,r,i]=e,s=0;n/=255,r/=255,i/=255;let o=0;r<i&&(o=r,r=i,i=o,s=-1),n<r&&(o=n,n=r,r=o,s=-2/6-s);const a=n-Math.min(r,i),l=Math.abs(s+(r-i)/(6*a+Number.EPSILON)),c=a/(n+Number.EPSILON),u=n;return t[0]=l,t[1]=c,t[2]=u,t},hsvToRgb:(e,t)=>{let[n,r,i]=e;if(0===r)return t[0]=t[1]=t[2]=255*i+.5,t;n%=1;const s=6*n|0,o=6*n-s,a=i*(1-r),l=i*(1-r*o),c=i*(1-r*(1-o));let u=0,d=0,h=0;switch(s){case 0:u=i,d=c,h=a;break;case 1:u=l,d=i,h=a;break;case 2:u=a,d=i,h=c;break;case 3:u=a,d=l,h=i;break;case 4:u=c,d=a,h=i;break;case 5:u=i,d=a,h=l}return t[0]=255*u+.5,t[1]=255*d+.5,t[2]=255*h+.5,t}}},function(e,t,n){const r=n(11),i=n(38),s=n(29),o=n(30),a={color4f:[0,0,1,1],diameter:1},l=[0,0,0,0],c=65520;e.exports=class extends s{constructor(e,t){super(e,t),this._size=null,this._framebuffer=null,this._silhouetteDirty=!1,this._silhouettePixels=null,this._silhouetteImageData=null,this._lineOnBufferDrawRegionId={enter:()=>this._enterDrawLineOnBuffer(),exit:()=>this._exitDrawLineOnBuffer()},this._usePenBufferDrawRegionId={enter:()=>this._enterUsePenBuffer(),exit:()=>this._exitUsePenBuffer()},this.renderQuality=1,this._nativeSize=t.getNativeSize(),this._resetAttributeIndexes(),this.a_lineColor=new Float32Array(c),this.a_lineThicknessAndLength=new Float32Array(32760),this.a_penPoints=new Float32Array(c),this.a_position=new Float32Array(32760);for(let e=0;e<this.a_position.length;e+=12)this.a_position[e+0]=1,this.a_position[e+1]=0,this.a_position[e+2]=0,this.a_position[e+3]=0,this.a_position[e+4]=1,this.a_position[e+5]=1,this.a_position[e+6]=1,this.a_position[e+7]=1,this.a_position[e+8]=0,this.a_position[e+9]=0,this.a_position[e+10]=0,this.a_position[e+11]=1;this._lineBufferInfo=r.createBufferInfoFromArrays(this._renderer.gl,{a_position:{numComponents:2,data:this.a_position},a_lineColor:{numComponents:4,drawType:this._renderer.gl.STREAM_DRAW,data:this.a_lineColor},a_lineThicknessAndLength:{numComponents:2,drawType:this._renderer.gl.STREAM_DRAW,data:this.a_lineThicknessAndLength},a_penPoints:{numComponents:4,drawType:this._renderer.gl.STREAM_DRAW,data:this.a_penPoints}});this._lineShader=this._renderer._shaderManager.getShader(o.DRAW_MODE.line,0),this._drawTextureShader=this._renderer._shaderManager.getShader(o.DRAW_MODE.default,0),this._drawTextureRegionId={enter:()=>this._enterDrawTexture(),exit:()=>this._exitDrawTexture()},this.onNativeSizeChanged=this.onNativeSizeChanged.bind(this),this._renderer.on(i.Events.NativeSizeChanged,this.onNativeSizeChanged),this._setCanvasSize(t.getNativeSize())}dispose(){this._renderer.removeListener(i.Events.NativeSizeChanged,this.onNativeSizeChanged),this._renderer.gl.deleteTexture(this._texture),this._texture=null,super.dispose()}get size(){return this._nativeSize}useNearest(e){return Math.max(e[0],e[1])>=100}getTexture(e){return this._texture}clear(){this._renderer.enterDrawRegion(this._usePenBufferDrawRegionId);const e=this._renderer.gl;e.clearColor(0,0,0,0),e.clear(e.COLOR_BUFFER_BIT),this._silhouetteDirty=!0}drawPoint(e,t,n){this.drawLine(e,t,n,t,n)}drawLine(e,t,n,r,i){const s=e.diameter||a.diameter,o=1===s||3===s?.5:0;this._drawLineOnBuffer(e,t+o,n+o,r+o,i+o),this._silhouetteDirty=!0}_enterDrawLineOnBuffer(){this._resetAttributeIndexes();const e=this._renderer.gl;r.bindFramebufferInfo(e,this._framebuffer),e.viewport(0,0,this._size[0],this._size[1]);const t=this._lineShader;e.useProgram(t.program),r.setBuffersAndAttributes(e,t,this._lineBufferInfo);const n={u_skin:this._texture,u_stageSize:this._size};r.setUniforms(t,n)}_exitDrawLineOnBuffer(){this.a_lineColorIndex&&this._flushLines();const e=this._renderer.gl;r.bindFramebufferInfo(e,null)}_enterUsePenBuffer(){r.bindFramebufferInfo(this._renderer.gl,this._framebuffer)}_exitUsePenBuffer(){r.bindFramebufferInfo(this._renderer.gl,null)}_enterDrawTexture(){this._enterUsePenBuffer();const e=this._renderer.gl;e.viewport(0,0,this._size[0],this._size[1]),e.useProgram(this._drawTextureShader.program),r.setBuffersAndAttributes(e,this._drawTextureShader,this._renderer._bufferInfo)}_exitDrawTexture(){this._exitUsePenBuffer()}_drawPenTexture(e){this._renderer.enterDrawRegion(this._drawTextureRegionId);const t=this._renderer.gl,n=this._size[0],i=this._size[1],s={u_skin:e,u_projectionMatrix:r.m4.ortho(n/2,n/-2,i/-2,i/2,-1,1,r.m4.identity()),u_modelMatrix:r.m4.scaling(r.v3.create(n,i,0),r.m4.identity())};r.setTextureParameters(t,e,{minMag:t.NEAREST}),r.setUniforms(this._drawTextureShader,s),r.drawBufferInfo(t,this._renderer._bufferInfo,t.TRIANGLES)}_drawLineOnBuffer(e,t,n,r,i){this._renderer.enterDrawRegion(this._lineOnBufferDrawRegionId),this.a_lineColorIndex+24>c&&this._flushLines();const s=e.color4f||a.color4f;l[0]=s[0]*s[3],l[1]=s[1]*s[3],l[2]=s[2]*s[3],l[3]=s[3],t*=this.renderQuality,n*=this.renderQuality;const o=(r*=this.renderQuality)-t,u=(i*=this.renderQuality)-n,d=Math.sqrt(o*o+u*u),h=(e.diameter||a.diameter)*this.renderQuality;for(let e=0;e<6;e++)this.a_lineColor[this.a_lineColorIndex]=l[0],this.a_lineColorIndex++,this.a_lineColor[this.a_lineColorIndex]=l[1],this.a_lineColorIndex++,this.a_lineColor[this.a_lineColorIndex]=l[2],this.a_lineColorIndex++,this.a_lineColor[this.a_lineColorIndex]=l[3],this.a_lineColorIndex++,this.a_lineThicknessAndLength[this.a_lineThicknessAndLengthIndex]=h,this.a_lineThicknessAndLengthIndex++,this.a_lineThicknessAndLength[this.a_lineThicknessAndLengthIndex]=d,this.a_lineThicknessAndLengthIndex++,this.a_penPoints[this.a_penPointsIndex]=t,this.a_penPointsIndex++,this.a_penPoints[this.a_penPointsIndex]=-n,this.a_penPointsIndex++,this.a_penPoints[this.a_penPointsIndex]=o,this.a_penPointsIndex++,this.a_penPoints[this.a_penPointsIndex]=-u,this.a_penPointsIndex++}_resetAttributeIndexes(){this.a_lineColorIndex=0,this.a_lineThicknessAndLengthIndex=0,this.a_penPointsIndex=0}_flushLines(){const e=this._renderer.gl,t=this._lineShader;this.a_lineColorIndex<1e3?(r.setAttribInfoBufferFromArray(e,this._lineBufferInfo.attribs.a_lineColor,new Float32Array(this.a_lineColor.buffer,0,this.a_lineColorIndex),0),r.setAttribInfoBufferFromArray(e,this._lineBufferInfo.attribs.a_penPoints,new Float32Array(this.a_penPoints.buffer,0,this.a_penPointsIndex),0),r.setAttribInfoBufferFromArray(e,this._lineBufferInfo.attribs.a_lineThicknessAndLength,new Float32Array(this.a_lineThicknessAndLength.buffer,0,this.a_lineThicknessAndLengthIndex),0)):(r.setAttribInfoBufferFromArray(e,this._lineBufferInfo.attribs.a_lineColor,this.a_lineColor),r.setAttribInfoBufferFromArray(e,this._lineBufferInfo.attribs.a_penPoints,this.a_penPoints),r.setAttribInfoBufferFromArray(e,this._lineBufferInfo.attribs.a_lineThicknessAndLength,this.a_lineThicknessAndLength)),r.setBuffersAndAttributes(e,t,this._lineBufferInfo),r.drawBufferInfo(e,this._lineBufferInfo,e.TRIANGLES,this.a_lineThicknessAndLengthIndex/2),this._resetAttributeIndexes(),this._silhouetteDirty=!0}onNativeSizeChanged(e){this._nativeSize=e.newSize,this._setCanvasSize([e.newSize[0]*this.renderQuality,e.newSize[1]*this.renderQuality]),this.emitWasAltered()}_setCanvasSize(e){const[t,n]=e;if(this._size&&this._size[0]===t&&this._size[1]===n)return;this._size=e,this._rotationCenter[0]=this._nativeSize[0]/2,this._rotationCenter[1]=this._nativeSize[1]/2;const i=this._renderer.gl,s=this._texture;this._texture=r.createTexture(i,{mag:i.NEAREST,min:i.NEAREST,wrap:i.CLAMP_TO_EDGE,width:t,height:n});const o=[{format:i.RGBA,attachment:this._texture}];this._framebuffer,this._framebuffer=r.createFramebufferInfo(i,o,t,n),i.clearColor(0,0,0,0),i.clear(i.COLOR_BUFFER_BIT),s&&this._drawPenTexture(s),this._silhouettePixels=new Uint8Array(Math.floor(t*n*4)),this._silhouetteImageData=new ImageData(t,n),this._silhouetteDirty=!0}setRenderQuality(e){this.renderQuality!==e&&(this.renderQuality=e,this._setCanvasSize([Math.round(this._nativeSize[0]*e),Math.round(this._nativeSize[1]*e)]))}updateSilhouette(){if(this._silhouetteDirty){this._renderer.enterDrawRegion(this._usePenBufferDrawRegionId);const e=this._renderer.gl;e.readPixels(0,0,this._size[0],this._size[1],e.RGBA,e.UNSIGNED_BYTE,this._silhouettePixels),this._silhouetteImageData.data.set(this._silhouettePixels),this._silhouette.update(this._silhouetteImageData,!0),this._silhouetteDirty=!1}}}},function(e,t,n){const r=n(11),i=n(29),{loadSvgString:s,serializeSvgToString:o}=n(35),a=n(30);e.exports=class extends i{constructor(e,t){super(e,t),this._svgImage=document.createElement("img"),this._svgImageLoaded=!1,this._size=[0,0],this._canvas=document.createElement("canvas"),this._context=this._canvas.getContext("2d"),this._scaledMIPs=[],this._largestMIPScale=0,this._maxTextureScale=1}dispose(){this.resetMIPs(),super.dispose()}get size(){return[this._size[0],this._size[1]]}useNearest(e,t){return!(t.enabledEffects&(a.EFFECT_INFO.fisheye.mask|a.EFFECT_INFO.whirl.mask|a.EFFECT_INFO.pixelate.mask|a.EFFECT_INFO.mosaic.mask))&&(t._direction%90==0&&(Math.abs(e[0])>99&&Math.abs(e[0])<101&&Math.abs(e[1])>99&&Math.abs(e[1])<101))}createMIP(e){const t=this._largestMIPScale<e;t||this._silhouette.unlazy();const[n,i]=this._size;if(this._canvas.width=n*e,this._canvas.height=i*e,this._canvas.width<=0||this._canvas.height<=0||this._svgImage.naturalWidth<=0||this._svgImage.naturalHeight<=0)return super.getTexture();this._context.clearRect(0,0,this._canvas.width,this._canvas.height),this._context.setTransform(e,0,0,e,0,0),this._context.drawImage(this._svgImage,0,0);const s=this._canvas,o={auto:!1,wrap:this._renderer.gl.CLAMP_TO_EDGE,src:s,premultiplyAlpha:!0},a=r.createTexture(this._renderer.gl,o);return t&&(this._silhouette.update(s),this._largestMIPScale=e),a}updateSilhouette(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[100,100];this.getTexture(e),this._silhouette.unlazy()}getTexture(e){const t=e?Math.max(Math.abs(e[0]),Math.abs(e[1])):100,n=Math.min(t/100,this._maxTextureScale),r=Math.max(Math.ceil(Math.log2(n))+8,0),i=Math.pow(2,r-8);return this._svgImageLoaded&&!this._scaledMIPs[r]&&(this._scaledMIPs[r]=this.createMIP(i)),this._scaledMIPs[r]||super.getTexture()}resetMIPs(){this._scaledMIPs.forEach((e=>this._renderer.gl.deleteTexture(e))),this._scaledMIPs.length=0,this._largestMIPScale=0}setSVG(e,t){const n=s(e),r=o(n,this._renderer.customFonts);this._svgImageLoaded=!1;const{x:i,y:a,width:l,height:c}=n.viewBox.baseVal;this._size[0]=l,this._size[1]=c,this._svgImage.onload=()=>{if(0===l||0===c)return void super.setEmptyImageData();const e=Math.ceil(Math.max(l,c)),n=this._renderer.maxTextureDimension;let r=2;for(;e*r<=n;r*=2)this._maxTextureScale=r;this.resetMIPs(),void 0===t&&(t=this.calculateRotationCenter()),this._rotationCenter[0]=t[0]-i,this._rotationCenter[1]=t[1]-a,this._svgImageLoaded=!0,this.emitWasAltered()},this._svgImage.src="data:image/svg+xml;utf8,".concat(encodeURIComponent(r))}}},function(e,t,n){const r=n(11),i=n(112),s=n(29),o=170,a=50,l=4,c=10,u=16,d=12,h="Helvetica",p=14,m=.9,f=16,g={BUBBLE_FILL:"white",BUBBLE_STROKE:"rgba(0, 0, 0, 0.15)",TEXT_FILL:"#575E75"};e.exports=class extends s{constructor(e,t){super(e,t),this._canvas=document.createElement("canvas"),this._size=[0,0],this._renderedScale=0,this._lines=[],this._textAreaSize={width:0,height:0},this._bubbleType="",this._pointsLeft=!1,this._textDirty=!0,this._textureDirty=!0,this.measurementProvider=new i(this._canvas.getContext("2d")),this.textWrapper=t.createTextWrapper(this.measurementProvider),this._restyleCanvas()}dispose(){this._texture&&(this._renderer.gl.deleteTexture(this._texture),this._texture=null),this._canvas=null,super.dispose()}get size(){return this._textDirty&&this._reflowLines(),this._size}setTextBubble(e,t,n){this._text=t,this._bubbleType=e,this._pointsLeft=n,this._textDirty=!0,this._textureDirty=!0,this.emitWasAltered()}_restyleCanvas(){this._canvas.getContext("2d").font="".concat(p,"px ").concat(h,", sans-serif")}_reflowLines(){this._lines=this.textWrapper.wrapText(o,this._text);let e=0;for(const t of this._lines)e=Math.max(e,this.measurementProvider.measureText(t));const t=Math.max(e,a)+2*c,n=f*this._lines.length+2*c;this._textAreaSize.width=t,this._textAreaSize.height=n,this._size[0]=t+l,this._size[1]=n+l+d,this._textDirty=!1}_renderTextBubble(e){const t=this._canvas.getContext("2d");this._textDirty&&this._reflowLines();const n=this._textAreaSize.width,r=this._textAreaSize.height;this._canvas.width=Math.ceil(this._size[0]*e),this._canvas.height=Math.ceil(this._size[1]*e),this._restyleCanvas(),t.setTransform(1,0,0,1,0,0),t.clearRect(0,0,this._canvas.width,this._canvas.height),t.scale(e,e),t.translate(.5*l,.5*l),t.save(),this._pointsLeft&&(t.scale(-1,1),t.translate(-n,0)),t.beginPath(),t.moveTo(u,r),t.arcTo(0,r,0,r-u,u),t.arcTo(0,0,n,0,u),t.arcTo(n,0,n,r,u),t.arcTo(n,r,n-u,r,u),t.save(),t.translate(n-u,r),"say"===this._bubbleType?(t.bezierCurveTo(0,4,4,8,4,10),t.arcTo(4,12,2,12,2),t.bezierCurveTo(-1,12,-11,8,-16,0),t.closePath()):(t.arc(-16,0,4,0,Math.PI),t.closePath(),t.moveTo(-7,7.25),t.arc(-9.25,7.25,2.25,0,2*Math.PI),t.moveTo(0,9.5),t.arc(-1.5,9.5,1.5,0,2*Math.PI)),t.restore(),t.fillStyle=g.BUBBLE_FILL,t.strokeStyle=g.BUBBLE_STROKE,t.lineWidth=l,t.stroke(),t.fill(),t.restore(),t.fillStyle=g.TEXT_FILL,t.font="".concat(p,"px ").concat(h,", sans-serif");const i=this._lines;for(let e=0;e<i.length;e++){const n=i[e];t.fillText(n,c,c+f*e+m*p)}this._renderedScale=e}updateSilhouette(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[100,100];this.getTexture(e)}getTexture(e){const t=e?Math.max(Math.abs(e[0]),Math.abs(e[1])):100,n=Math.min(10,t/100);if(this._textureDirty||this._renderedScale!==n){this._renderTextBubble(n),this._textureDirty=!1;const e=this._canvas.getContext("2d").getImageData(0,0,this._canvas.width,this._canvas.height),t=this._renderer.gl;if(null===this._texture){const e={auto:!1,wrap:t.CLAMP_TO_EDGE};this._texture=r.createTexture(t,e)}this._setTexture(e)}return this._texture}}},function(e,t,n){const r=n(404),i=n(409);e.exports=class{constructor(e){this._measurementProvider=e,this._cache={}}wrapText(e,t){t=t.normalize();const n="".concat(e,"-").concat(t);if(this._cache[n])return this._cache[n];const s=this._measurementProvider.beginMeasurementSession(),o=new r(t);let a,l=0,c=null;const u=[];for(;a=o.nextBreak();){const n=t.slice(l,a.position).replace(/\n+$/,"");let r=(c||"").concat(n),s=this._measurementProvider.measureText(r);if(s>e){if(this._measurementProvider.measureText(n)>e){let t,o=0;for(;o!==(t=i.nextBreak(n,o));){const i=n.substring(o,t);r=(c||"").concat(i),s=this._measurementProvider.measureText(r),null===c||s<=e?c=r:(u.push(c),c=i),o=t}}else null!==c&&u.push(c),c=n}else c=r;a.required&&(null!==c&&u.push(c),c=null),l=a.position}return c=c||"",(c.length>0||0===u.length)&&u.push(c),this._cache[n]=u,this._measurementProvider.endMeasurementSession(s),u}}},function(e,t,n){(function(){var t,r,i,s,o,a,l,c,u,d,h,p,m,f,g,y,b,v,S,w,k,x,T,E,A,C,I;S=n(113),x=n(406),C=n(407),C.BK,u=C.CR,C.LF,C.NL,o=C.CB,i=C.BA,C.SP,w=C.WJ,v=C.SP,s=C.BK,p=C.LF,f=C.NL,t=C.AI,r=C.AL,y=C.SA,b=C.SG,k=C.XX,l=C.CJ,C.ID,g=C.NS,C.characterClasses,I=n(408),d=I.DI_BRK,h=I.IN_BRK,a=I.CI_BRK,c=I.CP_BRK,I.PR_BRK,A=I.pairTable,E=x.toByteArray("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"),T=new S(E),m=function(){var e,n,m;function S(e){this.string=e,this.pos=0,this.lastPos=0,this.curClass=null,this.nextClass=null}return S.prototype.nextCodePoint=function(){var e,t;return e=this.string.charCodeAt(this.pos++),t=this.string.charCodeAt(this.pos),55296<=e&&e<=56319&&56320<=t&&t<=57343?(this.pos++,1024*(e-55296)+(t-56320)+65536):e},n=function(e){switch(e){case t:case y:case b:case k:return r;case l:return g;default:return e}},m=function(e){switch(e){case p:case f:return s;case o:return i;case v:return w;default:return e}},S.prototype.nextCharClass=function(e){return null==e&&(e=!1),n(T.get(this.nextCodePoint()))},e=function(e,t){this.position=e,this.required=null!=t&&t},S.prototype.nextBreak=function(){var t,r,l;for(null==this.curClass&&(this.curClass=m(this.nextCharClass()));this.pos<this.string.length;){if(this.lastPos=this.pos,r=this.nextClass,this.nextClass=this.nextCharClass(),this.curClass===s||this.curClass===u&&this.nextClass!==p)return this.curClass=m(n(this.nextClass)),new e(this.lastPos,!0);if(null==(t=function(){switch(this.nextClass){case v:return this.curClass;case s:case p:case f:return s;case u:return u;case o:return i}}.call(this))){switch(l=!1,A[this.curClass][this.nextClass]){case d:l=!0;break;case h:l=r===v;break;case a:if(!(l=r===v))continue;break;case c:if(r!==v)continue}if(this.curClass=this.nextClass,l)return new e(this.lastPos)}else if(this.curClass=t,this.nextClass===o)return new e(this.lastPos)}if(this.pos>=this.string.length)return this.lastPos<this.string.length?(this.lastPos=this.string.length,new e(this.string.length)):null},S}(),e.exports=m}).call(this)},function(e,t){var n=0,r=-3;function i(){this.table=new Uint16Array(16),this.trans=new Uint16Array(288)}function s(e,t){this.source=e,this.sourceIndex=0,this.tag=0,this.bitcount=0,this.dest=t,this.destLen=0,this.ltree=new i,this.dtree=new i}var o=new i,a=new i,l=new Uint8Array(30),c=new Uint16Array(30),u=new Uint8Array(30),d=new Uint16Array(30),h=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),p=new i,m=new Uint8Array(320);function f(e,t,n,r){var i,s;for(i=0;i<n;++i)e[i]=0;for(i=0;i<30-n;++i)e[i+n]=i/n|0;for(s=r,i=0;i<30;++i)t[i]=s,s+=1<<e[i]}var g=new Uint16Array(16);function y(e,t,n,r){var i,s;for(i=0;i<16;++i)e.table[i]=0;for(i=0;i<r;++i)e.table[t[n+i]]++;for(e.table[0]=0,s=0,i=0;i<16;++i)g[i]=s,s+=e.table[i];for(i=0;i<r;++i)t[n+i]&&(e.trans[g[t[n+i]]++]=i)}function b(e){e.bitcount--||(e.tag=e.source[e.sourceIndex++],e.bitcount=7);var t=1&e.tag;return e.tag>>>=1,t}function v(e,t,n){if(!t)return n;for(;e.bitcount<24;)e.tag|=e.source[e.sourceIndex++]<<e.bitcount,e.bitcount+=8;var r=e.tag&65535>>>16-t;return e.tag>>>=t,e.bitcount-=t,r+n}function S(e,t){for(;e.bitcount<24;)e.tag|=e.source[e.sourceIndex++]<<e.bitcount,e.bitcount+=8;var n=0,r=0,i=0,s=e.tag;do{r=2*r+(1&s),s>>>=1,++i,n+=t.table[i],r-=t.table[i]}while(r>=0);return e.tag=s,e.bitcount-=i,t.trans[n+r]}function w(e,t,n){var r,i,s,o,a,l;for(r=v(e,5,257),i=v(e,5,1),s=v(e,4,4),o=0;o<19;++o)m[o]=0;for(o=0;o<s;++o){var c=v(e,3,0);m[h[o]]=c}for(y(p,m,0,19),a=0;a<r+i;){var u=S(e,p);switch(u){case 16:var d=m[a-1];for(l=v(e,2,3);l;--l)m[a++]=d;break;case 17:for(l=v(e,3,3);l;--l)m[a++]=0;break;case 18:for(l=v(e,7,11);l;--l)m[a++]=0;break;default:m[a++]=u}}y(t,m,0,r),y(n,m,r,i)}function k(e,t,r){for(;;){var i,s,o,a,h=S(e,t);if(256===h)return n;if(h<256)e.dest[e.destLen++]=h;else for(i=v(e,l[h-=257],c[h]),s=S(e,r),a=o=e.destLen-v(e,u[s],d[s]);a<o+i;++a)e.dest[e.destLen++]=e.dest[a]}}function x(e){for(var t,i;e.bitcount>8;)e.sourceIndex--,e.bitcount-=8;if((t=256*(t=e.source[e.sourceIndex+1])+e.source[e.sourceIndex])!==(65535&~(256*e.source[e.sourceIndex+3]+e.source[e.sourceIndex+2])))return r;for(e.sourceIndex+=4,i=t;i;--i)e.dest[e.destLen++]=e.source[e.sourceIndex++];return e.bitcount=0,n}!function(e,t){var n;for(n=0;n<7;++n)e.table[n]=0;for(e.table[7]=24,e.table[8]=152,e.table[9]=112,n=0;n<24;++n)e.trans[n]=256+n;for(n=0;n<144;++n)e.trans[24+n]=n;for(n=0;n<8;++n)e.trans[168+n]=280+n;for(n=0;n<112;++n)e.trans[176+n]=144+n;for(n=0;n<5;++n)t.table[n]=0;for(t.table[5]=32,n=0;n<32;++n)t.trans[n]=n}(o,a),f(l,c,4,3),f(u,d,2,1),l[28]=0,c[28]=258,e.exports=function(e,t){var i,l,c=new s(e,t);do{switch(i=b(c),v(c,2,0)){case 0:l=x(c);break;case 1:l=k(c,o,a);break;case 2:w(c,c.ltree,c.dtree),l=k(c,c.ltree,c.dtree);break;default:l=r}if(l!==n)throw new Error("Data error")}while(!i);return c.destLen<c.dest.length?"function"==typeof c.dest.slice?c.dest.slice(0,c.destLen):c.dest.subarray(0,c.destLen):c.dest}},function(e,t,n){!function(e){"use strict";var t="undefined"!=typeof Uint8Array?Uint8Array:Array,n="+".charCodeAt(0),r="/".charCodeAt(0),i="0".charCodeAt(0),s="a".charCodeAt(0),o="A".charCodeAt(0),a="-".charCodeAt(0),l="_".charCodeAt(0);function c(e){var t=e.charCodeAt(0);return t===n||t===a?62:t===r||t===l?63:t<i?-1:t<i+10?t-i+26+26:t<o+26?t-o:t<s+26?t-s+26:void 0}e.toByteArray=function(e){var n,r,i,s,o,a;if(e.length%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var l=e.length;o="="===e.charAt(l-2)?2:"="===e.charAt(l-1)?1:0,a=new t(3*e.length/4-o),i=o>0?e.length-4:e.length;var u=0;function d(e){a[u++]=e}for(n=0,r=0;n<i;n+=4,r+=3)d((16711680&(s=c(e.charAt(n))<<18|c(e.charAt(n+1))<<12|c(e.charAt(n+2))<<6|c(e.charAt(n+3))))>>16),d((65280&s)>>8),d(255&s);return 2===o?d(255&(s=c(e.charAt(n))<<2|c(e.charAt(n+1))>>4)):1===o&&(d((s=c(e.charAt(n))<<10|c(e.charAt(n+1))<<4|c(e.charAt(n+2))>>2)>>8&255),d(255&s)),a},e.fromByteArray=function(e){var t,n,r,i,s=e.length%3,o="";function a(e){return"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(e)}for(t=0,r=e.length-s;t<r;t+=3)n=(e[t]<<16)+(e[t+1]<<8)+e[t+2],o+=a((i=n)>>18&63)+a(i>>12&63)+a(i>>6&63)+a(63&i);switch(s){case 1:o+=a((n=e[e.length-1])>>2),o+=a(n<<4&63),o+="==";break;case 2:o+=a((n=(e[e.length-2]<<8)+e[e.length-1])>>10),o+=a(n>>4&63),o+=a(n<<2&63),o+="="}return o}}(t)},function(e,t){(function(){t.OP=0,t.CL=1,t.CP=2,t.QU=3,t.GL=4,t.NS=5,t.EX=6,t.SY=7,t.IS=8,t.PR=9,t.PO=10,t.NU=11,t.AL=12,t.HL=13,t.ID=14,t.IN=15,t.HY=16,t.BA=17,t.BB=18,t.B2=19,t.ZW=20,t.CM=21,t.WJ=22,t.H2=23,t.H3=24,t.JL=25,t.JV=26,t.JT=27,t.RI=28,t.AI=29,t.BK=30,t.CB=31,t.CJ=32,t.CR=33,t.LF=34,t.NL=35,t.SA=36,t.SG=37,t.SP=38,t.XX=39}).call(this)},function(e,t){(function(){t.DI_BRK=0,t.IN_BRK=1,t.CI_BRK=2,t.CP_BRK=3,t.PR_BRK=4,t.pairTable=[[4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,3,4,4,4,4,4,4,4],[0,4,4,1,1,4,4,4,4,1,1,0,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,1,4,4,4,4,1,1,1,1,1,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[4,4,4,1,1,1,4,4,4,1,1,1,1,1,1,1,1,1,1,1,4,2,4,1,1,1,1,1,1],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,1,1,1,1,1,1,4,2,4,1,1,1,1,1,1],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,1,1,4,4,4,0,0,1,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,1,1,4,4,4,0,0,1,1,1,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,0,0,1,1,1,1,0,1,1,0,0,4,2,4,1,1,1,1,1,0],[1,4,4,1,1,1,4,4,4,0,0,1,1,1,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,0,0,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,0,0,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,0,1,4,4,4,0,0,1,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,0,1,4,4,4,0,0,0,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,1,1,1,1,1,1,4,2,4,1,1,1,1,1,1],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,0,1,1,0,4,4,2,4,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,0,0,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,1,1,1,1,1,1,4,2,4,1,1,1,1,1,1],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,1,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,1,1,1,1,0,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,1,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,1]]}).call(this)},function(e,t,n){(function(e){(function(){var r,i,s,o,a,l,c,u,d,h,p,m,f,g,y,b;b=n(410),r=b.CR,a=b.LF,i=b.Control,s=b.Extend,u=b.Regional_Indicator,d=b.SpacingMark,o=b.L,m=b.V,h=b.T,l=b.LV,c=b.LVT,p=n(113),f=new p(e("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","base64")),g=function(e,t){var n,r,i;return t=t||0,55296<=(n=e.charCodeAt(t))&&n<=56319?(r=n,56320<=(i=e.charCodeAt(t+1))&&i<=57343?1024*(r-55296)+(i-56320)+65536:r):56320<=n&&n<=57343?(i=n,55296<=(r=e.charCodeAt(t-1))&&r<=56319?1024*(r-55296)+(i-56320)+65536:i):n},y=function(e,t){return(e!==r||t!==a)&&(e===i||e===r||e===a||(t===i||t===r||t===a||(e!==o||t!==o&&t!==m&&t!==l&&t!==c)&&((e!==l&&e!==m||t!==m&&t!==h)&&((e!==c&&e!==h||t!==h)&&((e!==u||t!==u)&&(t!==s&&t!==d))))))},t.nextBreak=function(e,t){var n,r,i,s,o,a,l;if(null==t&&(t=0),t<0)return 0;if(t>=e.length-1)return e.length;for(i=f.get(g(e,t)),n=s=t+1,o=e.length;s<o;n=s+=1)if(!(55296<=(a=e.charCodeAt(n-1))&&a<=56319&&56320<=(l=e.charCodeAt(n))&&l<=57343)){if(r=f.get(g(e,n)),y(i,r))return n;i=r}return e.length},t.previousBreak=function(e,t){var n,r,i,s,o,a;if(null==t&&(t=e.length),t>e.length)return e.length;if(t<=1)return 0;for(t--,r=f.get(g(e,t)),n=s=t-1;s>=0;n=s+=-1)if(!(55296<=(o=e.charCodeAt(n))&&o<=56319&&56320<=(a=e.charCodeAt(n+1))&&a<=57343)){if(i=f.get(g(e,n)),y(i,r))return n+1;r=i}return 0},t.break=function(e){var n,r,i;for(i=[],r=0;(n=t.nextBreak(e,r))<e.length;)i.push(e.slice(r,n)),r=n;return r<e.length&&i.push(e.slice(r)),i},t.countBreaks=function(e){var n,r,i;for(r=0,i=0;(n=t.nextBreak(e,i))<e.length;)i=n,r++;return i<e.length&&r++,r}}).call(this)}).call(this,n(19).Buffer)},function(e){e.exports=JSON.parse('{"Other":0,"CR":1,"LF":2,"Control":3,"Extend":4,"Regional_Indicator":5,"SpacingMark":6,"L":7,"V":8,"T":9,"LV":10,"LVT":11}')},function(e,t){e.exports=".scratch-render-overlays {\n position: absolute;\n top: 0;\n left: 0;\n pointer-events: none;\n overflow: hidden;\n}\n.scratch-render-overlays > * {\n position: absolute;\n top: 0;\n left: 0;\n}\n"},function(e,t,n){const r=n(413),i=n(39),s=n(415),o=n(416),a=n(418),l=n(419),c=n(420),u=n(421),d=n(422),h=n(116),p=n(423);e.exports=class{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:(()=>{const e=window.AudioContext||window.webkitAudioContext;if(!e)throw new Error("Browser does not support AudioContext");return new e})();this.audioContext=e,this.inputNode=this.audioContext.createGain(),this.inputNode.connect(this.audioContext.destination),this.audioBuffers={},this.loudness=null,this.effects=[u,d,h],r(this.audioContext)}get currentTime(){return this.audioContext.currentTime}get EFFECT_NAMES(){return{pitch:"pitch",pan:"pan"}}get DECAY_DURATION(){return.025}get DECAY_WAIT(){return.05}getInputNode(){return this.inputNode}_decodeSound(e){const t=e.data.buffer.slice(0),n=s();var r,a;return(r=this.audioContext,a=t,1===r.decodeAudioData.length?r.decodeAudioData(a):new Promise(((e,t)=>{r.decodeAudioData(a,(t=>e(t)),(e=>t(e)))}))).catch((()=>{if(0===e.data.length)return this._emptySound();const t=e.data.buffer.slice(0);return new o(this.audioContext).decode(t).catch((()=>this._emptySound()))})).then((e=>[n,e]),(e=>{i.warn("audio data could not be decoded",e)}))}_emptySound(){return this.audioContext.createBuffer(1,1,this.audioContext.sampleRate)}decodeSound(e){return this._decodeSound(e).then((e=>{let[t,n]=e;return this.audioBuffers[t]=n,t}))}decodeSoundPlayer(e){return this._decodeSound(e).then((e=>{let[t,n]=e;return new l(this,{id:t,buffer:n})}))}getLoudness(){return this.loudness||(this.loudness=new a(this.audioContext)),this.loudness.getLoudness()}createEffectChain(){const e=new c(this,this.effects);return e.connect(this),e}createBank(){return new p(this,this.createEffectChain())}}},function(e,t,n){const r=n(414);e.exports=function(e){if("undefined"!=typeof document)return r(e)}},function(e,t){const n=["mousedown","mouseup","keydown","keyup","touchstart","touchend"];e.exports=e=>{if("running"===e.state)return;const t=()=>{"running"===e.state&&(()=>{e.removeEventListener("statechange",t);for(const e of n)document.body.removeEventListener(e,r)})()};e.addEventListener("statechange",t);const r=()=>{e.resume()};for(const e of n)document.body.addEventListener(e,r)}},function(e,t){const n="!#%()*+,-./:;=?@[]^_`{|}~ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";e.exports=function(){const e=n.length,t=[];for(let r=0;r<20;r++)t[r]=n.charAt(Math.random()*e);return t.join("")}},function(e,t,n){const r=n(417),i=n(39),s=[7,8,9,10,11,12,13,14,16,17,19,21,23,25,28,31,34,37,41,45,50,55,60,66,73,80,88,97,107,118,130,143,157,173,190,209,230,253,279,307,337,371,408,449,494,544,598,658,724,796,876,963,1060,1166,1282,1411,1552,1707,1878,2066,2272,2499,2749,3024,3327,3660,4026,4428,4871,5358,5894,6484,7132,7845,8630,9493,10442,11487,12635,13899,15289,16818,18500,20350,22385,24623,27086,29794,32767],o=[-1,-1,-1,-1,2,4,6,8,-1,-1,-1,-1,2,4,6,8];let a=null;e.exports=class{constructor(e){this.audioContext=e}static get STEP_TABLE(){return s}static get INDEX_TABLE(){return o}decode(e){return new Promise(((t,n)=>{const s=new r(e);"RIFF"!==s.readUint8String(4)&&(i.warn("incorrect adpcm wav header"),n(new Error("incorrect adpcm wav header")));const o=s.readInt32();o+8!==e.byteLength&&i.warn("adpcm wav length in header: ".concat(o," is incorrect"));"WAVE"!==s.readUint8String(4)&&(i.warn("incorrect adpcm wav header"),n(new Error("incorrect adpcm wav header")));const a=this.extractChunk("fmt ",s);this.encoding=a.readUint16(),this.channels=a.readUint16(),this.samplesPerSecond=a.readUint32(),this.bytesPerSecond=a.readUint32(),this.blockAlignment=a.readUint16(),this.bitsPerSample=a.readUint16(),a.position+=2,this.samplesPerBlock=a.readUint16(),this.adpcmBlockSize=(this.samplesPerBlock-1)/2+4;const l=this.extractChunk("data",s),c=this.numberOfSamples(l,this.adpcmBlockSize),u=this.audioContext.createBuffer(1,c,this.samplesPerSecond);this.imaDecompress(l,this.adpcmBlockSize,u.getChannelData(0)),t(u)}))}extractChunk(e,t){for(t.position=12;t.position<t.getLength()-8;){const n=t.readUint8String(4),r=t.readInt32();if(n===e){return t.extract(r)}t.position+=r}}numberOfSamples(e,t){if(!e)return 0;e.position=0;const n=e.getBytesAvailable();return(n/t|0)*(2*(t-4))+1+2*Math.max(n%t-4,0)+Math.min(n%t,1)}imaDecompress(e,t,n){let r,i,l,c=0,u=-1;if(!e)return;e.position=0;const d=n.length,h=2*(t-4),p=function(){if(null===a){const e=s.length,t=o.length;a=new Array(e*t).fill(0);let n=0;for(let r=0;r<e;r++)for(let e=0;e<t;e++){const t=s[r];let i=0;4&e&&(i+=t),2&e&&(i+=t>>1),1&e&&(i+=t>>2),i+=t>>3,a[n++]=8&e?-i:i}}return a}();let m=0;for(;m<d;){r=e.readInt16(),c=e.readUint8(),e.position++,c>88&&(c=88),n[m++]=r/32768;const t=Math.min(h,d-m),s=m;for(;m-s<t;)u=e.readUint8(),i=15&u,l=p[16*c+i],c+=o[i],c>88?c=88:c<0&&(c=0),r+=l,r>32767?r=32767:r<-32768&&(r=-32768),n[m++]=r/32768,i=u>>4&15,l=p[16*c+i],c+=o[i],c>88?c=88:c<0&&(c=0),r+=l,r>32767?r=32767:r<-32768&&(r=-32768),n[m++]=r/32768}}}},function(e,t){class n{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e.byteLength,{_uint8View:r=new Uint8Array(e)}=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};this.arrayBuffer=e,this.start=t,this.end=n,this._uint8View=r,this._position=t}extract(e){return new n(this.arrayBuffer,this._position,this._position+e,this)}getLength(){return this.end-this.start}getBytesAvailable(){return this.end-this._position}get position(){return this._position-this.start}set position(e){this._position=e+this.start}readUint8(){const e=this._uint8View[this._position];return this._position+=1,e}readUint8String(e){const t=this._uint8View;let n="";const r=this._position+e;for(let e=this._position;e<r;e++)n+=String.fromCharCode(t[e]);return this._position+=e,n}readInt16(){const e=new Int16Array(this.arrayBuffer,this._position,1)[0];return this._position+=2,e}readUint16(){const e=new Uint16Array(this.arrayBuffer,this._position,1)[0];return this._position+=2,e}readInt32(){let e;return e=this._position%4==0?new Int32Array(this.arrayBuffer,this._position,1)[0]:new Int32Array(this.arrayBuffer.slice(this._position,this._position+4))[0],this._position+=4,e}readUint32(){const e=new Uint32Array(this.arrayBuffer,this._position,1)[0];return this._position+=4,e}}e.exports=n},function(e,t,n){const r=n(39);e.exports=class{constructor(e){this.audioContext=e,this.connectingToMic=!1,this.mic=null}getLoudness(){if(this.mic||this.connectingToMic||(this.connectingToMic=!0,navigator.mediaDevices.getUserMedia({audio:!0}).then((e=>{this.audioStream=e,this.mic=this.audioContext.createMediaStreamSource(e),this.analyser=this.audioContext.createAnalyser(),this.mic.connect(this.analyser),this.micDataArray=new Float32Array(this.analyser.fftSize)})).catch((e=>{r.warn(e)}))),this.mic&&this.audioStream.active){this.analyser.getFloatTimeDomainData(this.micDataArray);let e=0;for(let t=0;t<this.micDataArray.length;t++)e+=Math.pow(this.micDataArray[t],2);let t=Math.sqrt(e/this.micDataArray.length);return this._lastValue&&(t=Math.max(t,.6*this._lastValue)),this._lastValue=t,t*=1.63,t=Math.sqrt(t),t=Math.round(100*t),t=Math.min(t,100),t}return-1}}},function(e,t,n){const{EventEmitter:r}=n(20),i=n(116),s="ended";class o extends r{constructor(e,t){let{id:n,buffer:r}=t;super(),this.id=n,this.audioEngine=e,this.buffer=r,this.outputNode=null,this.volumeEffect=null,this.target=null,this.initialized=!1,this.isPlaying=!1,this.startingUntil=0,this.playbackRate=1,this.handleEvent=this.handleEvent.bind(this)}get isStarting(){return this.isPlaying&&this.startingUntil>this.audioEngine.currentTime}handleEvent(e){e.type===s&&this.onEnded()}onEnded(){this.emit("stop"),this.isPlaying=!1}_createSource(){null!==this.outputNode&&(this.outputNode.removeEventListener(s,this.handleEvent),this.outputNode.disconnect()),this.outputNode=this.audioEngine.audioContext.createBufferSource(),this.outputNode.playbackRate.value=this.playbackRate,this.outputNode.buffer=this.buffer,this.outputNode.addEventListener(s,this.handleEvent),null!==this.target&&this.connect(this.target)}initialize(){this.initialized=!0,this._createSource()}connect(e){return e===this.volumeEffect?(this.outputNode.disconnect(),void this.outputNode.connect(this.volumeEffect.getInputNode())):(this.target=e,this.initialized?(null===this.volumeEffect?(this.outputNode.disconnect(),this.outputNode.connect(e.getInputNode())):this.volumeEffect.connect(e),this):void 0)}dispose(){this.initialized&&(this.stopImmediately(),null!==this.volumeEffect&&(this.volumeEffect.dispose(),this.volumeEffect=null),this.outputNode.disconnect(),this.outputNode=null,this.target=null,this.initialized=!1)}take(){this.outputNode&&this.outputNode.removeEventListener(s,this.handleEvent);const e=new o(this.audioEngine,this);return e.playbackRate=this.playbackRate,this.isPlaying&&(e.startingUntil=this.startingUntil,e.isPlaying=this.isPlaying,e.initialized=this.initialized,e.outputNode=this.outputNode,e.outputNode.addEventListener(s,e.handleEvent),e.volumeEffect=this.volumeEffect,e.volumeEffect&&(e.volumeEffect.audioPlayer=e),null!==this.target&&e.connect(this.target),this.emit("stop"),e.emit("play")),this.outputNode=null,this.volumeEffect=null,this.initialized=!1,this.startingUntil=0,this.isPlaying=!1,e}play(){if(this.isStarting)return this.emit("stop"),void this.emit("play");this.isPlaying&&this.stop(),this.initialized?this._createSource():this.initialize(),this.outputNode.start(),this.isPlaying=!0;const{currentTime:e,DECAY_DURATION:t}=this.audioEngine;this.startingUntil=e+t,this.emit("play")}stop(){if(!this.isPlaying)return;const e=this.take();e.volumeEffect=new i(e.audioEngine,e,null),e.volumeEffect.connect(e.target),e.finished().then((()=>e.dispose())),e.volumeEffect.set(0);const{currentTime:t,DECAY_DURATION:n}=this.audioEngine;e.outputNode.stop(t+n)}stopImmediately(){this.isPlaying&&(this.outputNode.stop(),this.isPlaying=!1,this.startingUntil=0,this.emit("stop"))}finished(){return new Promise((e=>{this.once("stop",e)}))}setPlaybackRate(e){this.playbackRate=e,this.initialized&&(this.outputNode.playbackRate.value=e)}}e.exports=o},function(e,t){class n{constructor(e,t){this.audioEngine=e,this.inputNode=this.audioEngine.audioContext.createGain(),this.effects=t;let n=null;this._effects=t.reverse().map((t=>{const r=new t(e,this,n);return this[r.name]=r,n=r,r})).reverse(),this.firstEffect=this._effects[0],this.lastEffect=this._effects[this._effects.length-1],this._soundPlayers=new Set}clone(){const e=new n(this.audioEngine,this.effects);return this.target&&e.connect(this.target),e}addSoundPlayer(e){this._soundPlayers.has(e)||(this._soundPlayers.add(e),this.update())}removeSoundPlayer(e){this._soundPlayers.remove(e)}getInputNode(){return this.inputNode}connect(e){const{firstEffect:t,lastEffect:n}=this;if(e===n)return this.inputNode.disconnect(),void this.inputNode.connect(n.getInputNode());e!==t&&(this.target=e,t.connect(e))}getSoundPlayers(){return[...this._soundPlayers]}setEffectsFromTarget(e){this._effects.forEach((t=>{"soundEffects"in e&&t.name in e.soundEffects?t.set(e.soundEffects[t.name]):t.name in e&&t.set(e[t.name])}))}set(e,t){e in this&&this[e].set(t)}update(){this._effects.forEach((e=>e.update()))}clear(){this._effects.forEach((e=>e.clear()))}dispose(){this._soundPlayers=null,this._effects.forEach((e=>e.dispose())),this._effects=null}}e.exports=n},function(e,t,n){const r=n(60);e.exports=class extends r{constructor(e,t,n){super(e,t,n),this.leftGain=null,this.rightGain=null,this.channelMerger=null}get name(){return"pan"}initialize(){const e=this.audioEngine.audioContext;this.inputNode=e.createGain(),this.leftGain=e.createGain(),this.rightGain=e.createGain(),this.channelMerger=e.createChannelMerger(2),this.outputNode=this.channelMerger,this.inputNode.connect(this.leftGain),this.inputNode.connect(this.rightGain),this.leftGain.connect(this.channelMerger,0,0),this.rightGain.connect(this.channelMerger,0,1),this.initialized=!0}_set(e){this.value=e;const t=(e+100)/200,n=Math.cos(t*Math.PI/2),r=Math.sin(t*Math.PI/2),{currentTime:i,DECAY_WAIT:s,DECAY_DURATION:o}=this.audioEngine;this.leftGain.gain.setTargetAtTime(n,i+s,o),this.rightGain.gain.setTargetAtTime(r,i+s,o)}dispose(){this.initialized&&(this.inputNode.disconnect(),this.leftGain.disconnect(),this.rightGain.disconnect(),this.channelMerger.disconnect(),this.inputNode=null,this.leftGain=null,this.rightGain=null,this.channelMerger=null,this.outputNode=null,this.target=null,this.initialized=!1)}}},function(e,t,n){const r=n(60);e.exports=class extends r{constructor(e,t,n){super(e,t,n),this.ratio=1}get name(){return"pitch"}get _isPatch(){return!1}getInputNode(){return this.target.getInputNode()}initialize(){this.initialized=!0}_set(e){this.value=e,this.ratio=this.getRatio(this.value),this.updatePlayers(this.audioPlayer.getSoundPlayers())}update(){this.updatePlayers(this.audioPlayer.getSoundPlayers())}getRatio(e){const t=e/10;return Math.pow(2,t/12)}updatePlayer(e){e.setPlaybackRate(this.ratio)}updatePlayers(e){if(e)for(const t in e)Object.prototype.hasOwnProperty.call(e,t)&&this.updatePlayer(e[t])}}},function(e,t,n){const r=n(39);e.exports=class{constructor(e,t){this.audioEngine=e,this.soundPlayers={},this.playerTargets=new Map,this.soundEffects=new Map,this.effectChainPrime=t}addSoundPlayer(e){this.soundPlayers[e.id]=e}getSoundPlayer(e){return this.soundPlayers[e]||r.error("SoundBank.getSoundPlayer(".concat(e,"): called missing sound in bank")),this.soundPlayers[e]}getSoundEffects(e){return this.soundEffects.has(e)||this.soundEffects.set(e,this.effectChainPrime.clone()),this.soundEffects.get(e)}playSound(e,t){const n=this.getSoundEffects(t),r=this.getSoundPlayer(t);return this.playerTargets.get(t)!==e&&r.stop(),this.playerTargets.set(t,e),n.addSoundPlayer(r),n.setEffectsFromTarget(e),r.connect(n),r.play(),r.finished()}setEffects(e){this.playerTargets.forEach(((t,n)=>{t===e&&this.getSoundEffects(n).setEffectsFromTarget(e)}))}stop(e,t){this.playerTargets.get(t)===e&&this.soundPlayers[t].stop()}stopAllSounds(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"*";this.playerTargets.forEach(((t,n)=>{"*"!==e&&t!==e||this.getSoundPlayer(n).stop()}))}dispose(){this.playerTargets.clear(),this.soundEffects.forEach((e=>e.dispose())),this.soundEffects.clear();for(const e in this.soundPlayers)Object.prototype.hasOwnProperty.call(this.soundPlayers,e)&&this.soundPlayers[e].dispose();this.soundPlayers={}}}},function(e,t,n){"use strict";n.r(t),n.d(t,"SB1File",(function(){return st})),n.d(t,"AssertionError",(function(){return r})),n.d(t,"ValidationError",(function(){return i}));class r extends Error{}class i extends r{}const s=function(e,t){if(!e)throw new r(t)};s.validate=function(e,t){if(!e)throw new i(t)};class o{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;this.buffer=e,this.position=t,this.uint8a=new Uint8Array(this.buffer)}read(e){const t=e.read(this.uint8a,this.position);return 0===e.size?this.position+=e.sizeOf(this.uint8a,this.position):this.position+=e.size,t}readStruct(e){const t=new e(this.uint8a,this.position);return this.position+=e.size,t}resize(e){if(this.buffer.byteLength<e){const t=this.uint8a,n=Math.pow(2,Math.ceil(Math.log(e)/Math.log(2)));this.buffer=new ArrayBuffer(n),this.uint8a=new Uint8Array(this.buffer),this.uint8a.set(t)}}write(e,t){return 0===e.size?this.resize(this.position+e.writeSizeOf(t)):this.resize(this.position+e.size),e.write(this.uint8a,this.position,t),0===e.size?this.position+=e.writeSizeOf(this.uint8a,this.position):this.position+=e.size,t}writeStruct(e,t){this.resize(this.position+e.size);const n=Object.assign(new e(this.uint8a,this.position),t);return this.position+=e.size,n}writeBytes(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e.length;s(e instanceof Uint8Array,"writeBytes must be passed an Uint8Array"),this.resize(this.position+(n-t));for(let r=t;r<n;r++)this.uint8a[this.position+r-t]=e[r];return this.position+=n-t,e}}class a{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1/0;this.iter=e,this.maxPosition=t}[Symbol.iterator](){return this}next(){return this.iter.stream.position>=this.maxPosition?{value:null,done:!0}:this.iter.next()}}const l=()=>{throw new Error("Not implemented")},c=(()=>{const e=new Uint16Array(1),t=new Uint8Array(e.buffer);return e[0]=43707,187===t[0]})();class u{constructor(e){let{size:t=0,sizeOf:n=(()=>t),writeSizeOf:r=l,toBytes:i=new Uint8Array(1),read:s,write:o=l}=e;this.size=t,this.sizeOf=n,this.writeSizeOf=r,this.toBytes=i,this.bytes=new Uint8Array(i.buffer),this.read=s,this.write=o}asPropertyObject(e){const t=this;return{get(){return t.read(this.uint8a,e+this.offset)},set(n){return t.write(this.uint8a,e+this.offset,n)},enumerable:!0}}read(){return null}}const d=new u({size:1,read:(e,t)=>e[t],write:(e,t,n)=>(e[t]=n,n)}),h={size:2,read(e,t){return this.bytes[1]=e[t+0],this.bytes[0]=e[t+1],this.toBytes[0]},write(e,t,n){return this.toBytes[0]=n,e[t+0]=this.bytes[1],e[t+1]=this.bytes[0],n}},p={size:2,read(e,t){return this.bytes[0]=e[t+0],this.bytes[1]=e[t+1],this.toBytes[0]},write(e,t,n){return this.toBytes[0]=n,e[t+0]=this.bytes[0],e[t+1]=this.bytes[1],n}};let m;m=c?h:p;new u(Object.assign({},m,{toBytes:new Uint16Array(1)}));const f=new u(Object.assign({},m,{toBytes:new Int16Array(1)})),g={size:4,read(e,t){return this.bytes[3]=e[t+0],this.bytes[2]=e[t+1],this.bytes[1]=e[t+2],this.bytes[0]=e[t+3],this.toBytes[0]},write(e,t,n){return this.toBytes[0]=n,e[t+0]=this.bytes[3],e[t+1]=this.bytes[2],e[t+2]=this.bytes[1],e[t+3]=this.bytes[0],n}},y={size:4,read(e,t){return this.bytes[0]=e[t+0],this.bytes[1]=e[t+1],this.bytes[2]=e[t+2],this.bytes[3]=e[t+3],this.toBytes[0]},write(e,t,n){return this.toBytes[0]=n,e[t+0]=this.bytes[0],e[t+1]=this.bytes[1],e[t+2]=this.bytes[2],e[t+3]=this.bytes[3],n}};let b;b=c?g:y;const v=new u(Object.assign({},b,{toBytes:new Int32Array(1)})),S=new u(Object.assign({},b,{toBytes:new Uint32Array(1)}));let w;w=c?p:h;const k=new u(Object.assign({},w,{toBytes:new Uint16Array(1)}));let x;x=c?y:g;const T=new u(Object.assign({},x,{toBytes:new Uint32Array(1)}));let E;E=c?{size:8,read(e,t){return this.bytes[7]=e[t+0],this.bytes[6]=e[t+1],this.bytes[5]=e[t+2],this.bytes[4]=e[t+3],this.bytes[3]=e[t+4],this.bytes[2]=e[t+5],this.bytes[1]=e[t+6],this.bytes[0]=e[t+7],this.toBytes[0]}}:{size:8,read(e,t){return this.bytes[7]=e[t+0],this.bytes[6]=e[t+1],this.bytes[5]=e[t+2],this.bytes[4]=e[t+3],this.bytes[3]=e[t+4],this.bytes[2]=e[t+5],this.bytes[1]=e[t+6],this.bytes[0]=e[t+7],this.toBytes[0]}};const A=new u(Object.assign({},E,{toBytes:new Float64Array(1)}));class C extends u{constructor(e){super({size:e,read(t,n){let r="";for(let i=0;i<e;i++){const e=t[n+i];s(e<=127,"Non-ascii character in FixedAsciiString"),r+=String.fromCharCode(e)}return r},write(t,n,r){for(let i=0;i<e;i++){const e=r.charCodeAt(i);s(e<=127,"Non-ascii character in FixedAsciiString"),t[n+i]=e}return r}})}}var I=n(22);const O=10485760;let M;M=new u(c?{size:3,read:(e,t)=>e[t+0]<<16|e[t+1]<<8|e[t+2]}:{size:3,read:(e,t)=>e[t+2]<<16|e[t+1]<<8|e[t+0]});const N=new u({sizeOf(e,t){const n=f.read(e,t);return f.size+n},read(e,t){let n=0,r=0;const i=f.read(e,t);for(let s=0;s<i;s++)n+=r*d.read(e,t++),r*=256;return n}}),R=new u({sizeOf(e,t){const n=S.read(e,t);return S.size+n},read(e,t){const n=S.read(e,t);s(n<O,"asciiString too big"),t+=4;let r="";for(let i=0;i<n;i++)r+=String.fromCharCode(e[t++]);return r}}),D=new u({sizeOf:(e,t)=>S.size+S.read(e,t),read(e,t){const n=S.read(e,t);return s(n<O,"bytes too big"),t+=S.size,s(n<O,"uint8a array too big"),new Uint8Array(e.buffer,t,n)}}),P=new u({sizeOf:(e,t)=>S.size+2*S.read(e,t),read(e,t){const n=S.read(e,t);s(n<O,"sound too big"),t+=S.size;const r=2*n;return s(r<O,"uint8a array too big"),new Uint8Array(e.buffer,t,r)}}),L=new u({sizeOf:(e,t)=>S.size+S.read(e,t)*S.size,read(e,t){const n=S.read(e,t);s(n<O,"bitmap too big"),t+=S.size,s(n<O,"uint8a array too big");const r=new Uint32Array(n);for(let i=0;i<n;i++)r[i]=S.read(e,t),t+=S.size;return r}});let B;B="undefined"==typeof TextDecoder?new I.TextDecoder:new TextDecoder;const z=new u({sizeOf:(e,t)=>S.size+S.read(e,t),read(e,t){const n=S.read(e,t);return s(n<O,"utf8 too big"),t+=S.size,s(n<O,"uint8a array too big"),B.decode(new Uint8Array(e.buffer,t,n))}}),U=new u({size:4,read(e,t){const n=S.read(e,t);return(255<<24|(n>>22&255)<<16|(n>>12&255)<<8|n>>2&255)>>>0}}),j=new u({size:5,read(e,t){const n=S.read(e,t);return(d.read(e,t)<<24|(n>>22&255)<<16|(n>>12&255)<<8|n>>2&255)>>>0}}),F={NULL:1,TRUE:2,FALSE:3,SMALL_INT:4,SMALL_INT_16:5,LARGE_INT_POSITIVE:6,LARGE_INT_NEGATIVE:7,FLOATING:8,STRING:9,SYMBOL:10,BYTES:11,SOUND:12,BITMAP:13,UTF8:14,ARRAY:20,ORDERED_COLLECTION:21,SET:22,IDENTITY_SET:23,DICTIONARY:24,IDENTITY_DICTIONARY:25,COLOR:30,TRANSLUCENT_COLOR:31,POINT:32,RECTANGLE:33,FORM:34,SQUEAK:35,OBJECT_REF:99,MORPH:100,ALIGNMENT:104,STATIC_STRING:105,UPDATING_STRING:106,SAMPLED_SOUND:109,IMAGE_MORPH:110,SPRITE:124,STAGE:125,WATCHER:155,IMAGE_MEDIA:162,SOUND_MEDIA:164,MULTILINE_STRING:171,WATCHER_READOUT_FRAME:173,WATCHER_SLIDER:174,LIST_WATCHER:175},W=Object.entries(F).reduce(((e,t)=>{let[n,r]=t;return e[r]=n,e}),{});class V{constructor(e,t){this.classId=e,this.position=t}}const G=e=>"object"==typeof e&&e?e.valueOf():e;class q extends V{constructor(e,t,n){super(e,t),this.value=n}valueOf(){return this.value}toJSON(){return this.classId===F.TRANSLUCENT_COLOR||this.classId===F.COLOR?16777215&this.value:this.value}toString(){return this.value}}class Y extends V{constructor(e,t,n){super(e,t),this.size=n}}class H extends V{constructor(e,t,n){super(e,t),this.index=n}valueOf(){return"Ref(".concat(this.index,")")}}class _ extends Y{constructor(e,t,n,r){super(e,t,r),this.version=n}}class K{constructor(e){let{type:t=q,read:n,value:r=(n?e=>e.read(n):null)}=e;this.type=t,this.value=r}next(e,t,n){return{value:new this.type(t,n,this.value(e)),done:!1}}}const Q={[F.NULL]:{value:()=>null},[F.TRUE]:{value:()=>!0},[F.FALSE]:{value:()=>!1},[F.SMALL_INT]:{read:v},[F.SMALL_INT_16]:{read:f},[F.LARGE_INT_POSITIVE]:{read:N},[F.LARGE_INT_NEGATIVE]:{read:N},[F.FLOATING]:{read:A},[F.STRING]:{read:R},[F.SYMBOL]:{read:R},[F.BYTES]:{read:D},[F.SOUND]:{read:P},[F.BITMAP]:{read:L},[F.UTF8]:{read:z},[F.ARRAY]:{type:Y,read:v},[F.ORDERED_COLLECTION]:{type:Y,read:v},[F.SET]:{type:Y,read:v},[F.IDENTITY_SET]:{type:Y,read:v},[F.DICTIONARY]:{type:Y,value:e=>2*e.read(v)},[F.IDENTITY_DICTIONARY]:{type:Y,value:e=>2*e.read(v)},[F.COLOR]:{read:U},[F.TRANSLUCENT_COLOR]:{read:j},[F.POINT]:{type:Y,value:()=>2},[F.RECTANGLE]:{type:Y,value:()=>4},[F.FORM]:{type:Y,value:()=>5},[F.SQUEAK]:{type:Y,value:()=>6},[F.OBJECT_REF]:{type:H,read:M}},X=Array.from({length:256},((e,t)=>Q[t]?new K(Q[t]):null)),Z=new K({type:class extends Y{constructor(e,t){super(e,t,0)}},value:()=>null});class J{constructor(e,t){this.buffer=e,this.stream=new o(e,t)}[Symbol.iterator](){return this}next(){if(this.stream.position>=this.stream.uint8a.length)return{value:null,done:!0};const e=this.stream.position,t=this.stream.read(d),n=X[t];if(null!==n)return n.next(this.stream,t,e);if(t<F.OBJECT_REF)return Z.next(this.stream,t,e);const r=this.stream.read(d),i=this.stream.read(d);return{value:new _(t,e,r,i),done:!1}}}class ${constructor(e){let{classId:t,version:n,fields:r}=e;this.classId=t,this.version=n,this.fields=r}get FIELDS(){return[]}get RAW_FIELDS(){return this.fields}string(e){return String(this.fields[e])}number(e){return+this.fields[e]}boolean(e){return!!this.fields[e]}toString(){return this.constructor===$?"".concat(this.constructor.name," ").concat(this.classId," ").concat(W[this.classId]):this.constructor.name}static define(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:$;class n extends t{get FIELDS(){return e}static get FIELDS(){return e}}return Object.keys(e).forEach((t=>{const r=e[t];Object.defineProperty(n.prototype,t.toLowerCase().replace(/_(\w)/g,(e=>{let[,t]=e;return t.toUpperCase()})),{get(){return this.fields[r]}})})),n}}class ee{constructor(){let e;this.bit=new Uint32Array(1),this.crc=0,this.c=0,this.table=[];for(let t=0;t<256;t++){e=t;for(let t=0;t<8;t++)e=1&e?3988292384^e>>>1:e>>>1;this.table[t]=e>>>0}}update(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e.length,r=~this.crc>>>0;for(let i=0;i<n;i++)r=r>>>8^this.table[255&(r^e[t+i])];return this.crc=~r>>>0,this}get digest(){return this.crc}}const te=[0,4278190080,4294967295,4286611584,4294901760,4278255360,4278190335,4278255615,4294967040,4294902015,4280295456,4282400832,4284506208,4288651167,4290756543,4292861919,4278716424,4279242768,4279769112,4280821800,4281348144,4281874488,4282927176,4283453520,4283979864,4285032552,4285558896,4286085240,4287072135,4287598479,4288124823,4289177511,4289703855,4290230199,4291282887,4291809231,4292335575,4293388263,4293914607,4294440951,4278190080,4278203136,4278216192,4278229248,4278242304,4278255360,4278190131,4278203187,4278216243,4278229299,4278242355,4278255411,4278190182,4278203238,4278216294,4278229350,4278242406,4278255462,4278190233,4278203289,4278216345,4278229401,4278242457,4278255513,4278190284,4278203340,4278216396,4278229452,4278242508,4278255564,4278190335,4278203391,4278216447,4278229503,4278242559,4278255615,4281532416,4281545472,4281558528,4281571584,4281584640,4281597696,4281532467,4281545523,4281558579,4281571635,4281584691,4281597747,4281532518,4281545574,4281558630,4281571686,4281584742,4281597798,4281532569,4281545625,4281558681,4281571737,4281584793,4281597849,4281532620,4281545676,4281558732,4281571788,4281584844,4281597900,4281532671,4281545727,4281558783,4281571839,4281584895,4281597951,4284874752,4284887808,4284900864,4284913920,4284926976,4284940032,4284874803,4284887859,4284900915,4284913971,4284927027,4284940083,4284874854,4284887910,4284900966,4284914022,4284927078,4284940134,4284874905,4284887961,4284901017,4284914073,4284927129,4284940185,4284874956,4284888012,4284901068,4284914124,4284927180,4284940236,4284875007,4284888063,4284901119,4284914175,4284927231,4284940287,4288217088,4288230144,4288243200,4288256256,4288269312,4288282368,4288217139,4288230195,4288243251,4288256307,4288269363,4288282419,4288217190,4288230246,4288243302,4288256358,4288269414,4288282470,4288217241,4288230297,4288243353,4288256409,4288269465,4288282521,4288217292,4288230348,4288243404,4288256460,4288269516,4288282572,4288217343,4288230399,4288243455,4288256511,4288269567,4288282623,4291559424,4291572480,4291585536,4291598592,4291611648,4291624704,4291559475,4291572531,4291585587,4291598643,4291611699,4291624755,4291559526,4291572582,4291585638,4291598694,4291611750,4291624806,4291559577,4291572633,4291585689,4291598745,4291611801,4291624857,4291559628,4291572684,4291585740,4291598796,4291611852,4291624908,4291559679,4291572735,4291585791,4291598847,4291611903,4291624959,4294901760,4294914816,4294927872,4294940928,4294953984,4294967040,4294901811,4294914867,4294927923,4294940979,4294954035,4294967091,4294901862,4294914918,4294927974,4294941030,4294954086,4294967142,4294901913,4294914969,4294928025,4294941081,4294954137,4294967193,4294901964,4294915020,4294928076,4294941132,4294954188,4294967244,4294902015,4294915071,4294928127,4294941183,4294954239,4294967295],ne=[4294967295,4278190080],re=new u({sizeOf(e,t){const n=e[t];return n<=223?1:n<=254?2:5},read(e,t){const n=e[t];return n<=223?n:n<=254?256*(n-224)+e[t+1]:S.read(e,t+1)}});class ie{decode(e,t,n,r,i){const s=this.decodePixels(r,32===n);if(n<=8)return i||(i=1===n?ne:te),this.unpackPixels(s,e,t,n,i);if(16===n)return this.raster16To32(s,e,t);if(32===n)return s;throw new Error("Unhandled Squeak Image depth.")}decodePixels(e,t){let n;if(Array.isArray(e)||e instanceof Uint32Array){if(n=new Uint32Array(e),t)for(let e=0;e<n.length;e++)0!==n[e]&&(n[e]=4278190080|n[e]);return n}const r=new o(e.buffer,e.byteOffset),i=r.read(re);n=new Uint32Array(i);let s=0;for(;s<i;){const e=r.read(re),i=e>>2;let o;switch(3&e){case 0:s+=i;break;case 1:o=r.read(d),o|=o<<24|o<<16|o<<8,t&&0!==o&&(o|=4278190080);for(let e=0;e<i;e++)n[s++]=o;break;case 2:o=r.read(S),t&&0!==o&&(o|=4278190080);for(let e=0;e<i;e++)n[s++]=o;break;case 3:for(let e=0;e<i;e++)o=r.read(S),t&&0!==o&&(o|=4278190080),n[s++]=o}}return n}unpackPixels(e,t,n,r,i){const s=new Uint32Array(t*n),o=(1<<r)-1,a=32/r;let l=0,c=0;for(let u=0;u<n;u++){let n,u=-1;for(let d=0;d<t;d++)u<0&&(u=r*(a-1),n=e[c++]),s[l++]=i[n>>u&o],u-=r}return s}raster16To32(e,t,n){const r=new Uint32Array(2*e.length);let i,s,o,a=0,l=0;for(let c=0;c<n;c++){i=-1;for(let n=0;n<t;n++){if(i<0&&(i=16,s=e[a++]),o=s>>i&65535,0!==o){o=4278190080|(o>>7&248)<<16|(o>>2&248)<<8|o<<3&248}r[l++]=o,i-=16}}return r}buildCustomColormap(e,t,n){const r=new Uint32Array(1<<e);for(let e=0;e<t.length;e++)r[e]=n[t[e].index-1];return r}}const se=[7,8,9,10,11,12,13,14,16,17,19,21,23,25,28,31,34,37,41,45,50,55,60,66,73,80,88,97,107,118,130,143,157,173,190,209,230,253,279,307,337,371,408,449,494,544,598,658,724,796,876,963,1060,1166,1282,1411,1552,1707,1878,2066,2272,2499,2749,3024,3327,3660,4026,4428,4871,5358,5894,6484,7132,7845,8630,9493,10442,11487,12635,13899,15289,16818,18500,20350,22385,24623,27086,29794,32767],oe={2:[-1,2,-1,2],3:[-1,-1,2,4,-1,-1,2,4],4:[-1,-1,-1,-1,2,4,6,8,-1,-1,-1,-1,2,4,6,8],5:[-1,-1,-1,-1,-1,-1,-1,-1,1,2,4,6,8,10,13,16,-1,-1,-1,-1,-1,-1,-1,-1,1,2,4,6,8,10,13,16]};class ae{constructor(e){this.bitsPerSample=e,this.indexTable=oe[e],this.signMask=1<<e-1,this.valueMask=this.signMask-1,this.valueHighBit=this.signMask>>1,this.bitPosition=0,this.currentByte=0,this.stream=null,this.end=0}decode(e){this.bitPosition=0,this.currentByte=0,this.stream=new o(e.buffer,e.byteOffset),this.end=e.byteOffset+e.length;const t=Math.floor(8*e.length/this.bitsPerSample),n=new Int16Array(t);let r=0,i=0;for(let e=0;e<t;e++){const t=this.nextCode();s(t>=0,"Ran out of bits in Squeak Sound");let o=se[i],a=0;for(let e=this.valueHighBit;e>0;e>>=1)t&e&&(a+=o),o>>=1;a+=o,r+=t&this.signMask?-a:a,i+=this.indexTable[t],i<0&&(i=0),i>88&&(i=88),r>32767&&(r=32767),r<-32768&&(r=-32768),n[e]=r}return n}nextCode(){let e=this.bitsPerSample,t=e-this.bitPosition,n=t<0?this.currentByte>>-t:this.currentByte<<t;for(;t>0;){if(e-=this.bitPosition,!(this.end-this.stream.position>0))return this.currentByte=0,this.bitPosition=0,-1;this.currentByte=this.stream.read(d),this.bitPosition=8,t=e-this.bitPosition,n+=t<0?this.currentByte>>-t:this.currentByte<<t}return this.bitPosition-=e,this.currentByte=this.currentByte&255>>8-this.bitPosition,n}static samples(e,t){return 8*t.length/e}}class le{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new Uint8Array(this.size),t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;this.uint8a=e,this.offset=t}equals(e){for(const t in e)if(this[t]!==e[t])return!1;return!0}view(){const e=this.constructor.name,t={toString:()=>e};for(const e in this.shape)t[e]=this[e];return t}static initConstructor(e){return e.size=e.prototype.size,e}static extend(e){const t=class extends le{get shape(){return e}};let n=0;return Object.keys(e).forEach((r=>{if(Object.defineProperty(t.prototype,r,e[r].asPropertyObject(n)),0===e[r].size)throw new Error("Packet cannot be defined with variable sized members.");n+=e[r].size})),t.prototype.size=n,t.size=n,t}}class ce extends(le.extend({riff:new C(4),length:T,wave:new C(4)})){}le.initConstructor(ce);class ue extends(le.extend({chunkType:new C(4),length:T})){}le.initConstructor(ue);class de extends(le.extend({format:k,channels:k,sampleRate:T,bytesPerSec:T,blockAlignment:k,bitsPerSample:k})){}le.initConstructor(de);class he{encode(e){let{channels:t=1,sampleRate:n=22050}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const r=new Uint8Array(e.buffer,e.byteOffset,e.byteLength),i=ce.size+ue.size+de.size+ue.size+r.length,s=new o(new ArrayBuffer(i));return s.writeStruct(ce,{riff:"RIFF",length:i-8,wave:"WAVE"}),s.writeStruct(ue,{chunkType:"fmt ",length:de.size}),s.writeStruct(de,{format:1,channels:t,sampleRate:n,bytesPerSec:2*n*t,blockAlignment:2*t,bitsPerSample:16}),s.writeStruct(ue,{chunkType:"data",length:i-s.position-ue.size}),s.writeBytes(r),s.uint8a}static encode(e,t){return(new he).encode(e,t)}static samples(e){const t=new ue(e,ce.size).length;return new ue(e,ce.size+ue.size+t).length/2}}var pe=n(40),me=n.n(pe);class fe extends($.define({X:0,Y:1})){}class ge extends($.define({X:0,Y:1,X2:2,Y2:3})){get width(){return this.x2-this.x}get height(){return this.y2-this.y}}class ye extends($.define({WIDTH:0,HEIGHT:1,DEPTH:2,BYTES:4,COLORMAP:5})){get decoded(){return this._decoded||(this._decoded=(e=>{for(let t=0;t<e.length;t+=4){const n=e[t+2],r=e[t+0];e[t+2]=r,e[t+0]=n}return e})(new Uint8Array((new ie).decode(this.width.value,this.height.value,this.depth.value,this.bytes.value,this.colormap&&this.colormap.map((e=>e.valueOf()))).buffer))),this._decoded}get extension(){return"uncompressed"}}class be extends($.define({STAGE_CONTENTS:2,OBJ_NAME:6,VARS:7,BLOCKS_BIN:8,IS_CLONE:9,MEDIA:10,CURRENT_COSTUME:11,ZOOM:12,H_PAN:13,V_PAN:14,OBSOLETE_SAVED_STATE:15,SPRITE_ORDER_IN_LIBRARY:16,VOLUME:17,TEMPO_BPM:18,SCENE_STATES:19,LISTS:20})){get spriteOrderInLibrary(){return this.fields[this.FIELDS.SPRITE_ORDER_IN_LIBRARY]||null}get tempoBPM(){return this.fields[this.FIELDS.TEMPO_BPM]||0}get lists(){return this.fields[this.FIELDS.LISTS]||[]}}class ve extends($.define({BOX:0,PARENT:1,COLOR:3,VISIBLE:4,OBJ_NAME:6,VARS:7,BLOCKS_BIN:8,IS_CLONE:9,MEDIA:10,CURRENT_COSTUME:11,VISIBILITY:12,SCALE_POINT:13,ROTATION_DEGREES:14,ROTATION_STYLE:15,VOLUME:16,TEMPO_BPM:17,DRAGGABLE:18,SCENE_STATES:19,LISTS:20})){get scratchX(){return this.box.x+this.currentCostume.rotationCenter.x-240}get scratchY(){return 180-(this.box.y+this.currentCostume.rotationCenter.y)}get visible(){return!(1&this.fields[this.FIELDS.VISIBLE])}get tempoBPM(){return this.fields[this.FIELDS.TEMPO_BPM]||0}get lists(){return this.fields[this.FIELDS.LISTS]||[]}}$.define({RECTANGLE:0,FONT:8,COLOR:9,LINES:11});class Se extends($.define({COSTUME_NAME:0,BITMAP:1,ROTATION_CENTER:2,TEXT_DETAILS:3,BASE_LAYER_DATA:4,OLD_COMPOSITE:5})){get image(){return this.oldComposite instanceof ye?this.oldComposite:this.baseLayerData.value?null:this.bitmap}get width(){return null===this.image?-1:this.image.width}get height(){return null===this.image?-1:this.image.height}get rawBytes(){return null===this.image?this.baseLayerData.value.slice():this.image.bytes.value}get decoded(){return null===this.image?this.baseLayerData.value.slice():this.image.decoded}get crc(){if(!this._crc){const e=(new ee).update(new Uint8Array(new Uint32Array([this.bitmap.width]).buffer)).update(new Uint8Array(new Uint32Array([this.bitmap.height]).buffer)).update(new Uint8Array(new Uint32Array([this.bitmap.depth]).buffer)).update(this.rawBytes);this._crc=e.digest}return this._crc}get extension(){return this.oldComposite instanceof ye?"uncompressed":this.baseLayerData.value?"jpg":"uncompressed"}toString(){return'ImageMediaData "'.concat(this.costumeName,'"')}}class we extends($.define({DATA:3,RATE:4})){}class ke extends($.define({NAME:0,UNCOMPRESSED:1,RATE:4,BITS_PER_SAMPLE:5,DATA:6})){get rate(){return 0!==this.uncompressed.data.value.length?this.uncompressed.rate:this.fields[this.FIELDS.RATE]}get rawBytes(){return this.data&&this.data.value?this.data.value:this.uncompressed.data.value}get decoded(){return this._decoded||(this.data&&this.data.value?this._decoded=new ae(this.bitsPerSample.value).decode(this.data.value):this._decoded=new Int16Array((e=>{const t=new Uint8Array(e);for(let n=0;n<t.length;n+=2)t[n]=e[n+1],t[n+1]=e[n];return t})(this.uncompressed.data.value.slice()).buffer)),this._decoded}get crc(){return this._crc||(this._crc=(new ee).update(new Uint32Array([this.rate])).update(this.rawBytes).digest),this._crc}get sampleCount(){return this.data&&this.data.value?ae.samples(this.bitsPerSample.value,this.data.value):this.uncompressed.data.value.length/2}get extension(){return"pcm"}get wavEncodedData(){return this._wavEncodedData||(this._wavEncodedData=new Uint8Array(he.encode(this.decoded,{sampleRate:this.rate&&this.rate.value}))),this._wavEncodedData}get md5(){return this._md5||(this._md5=me()(this.wavEncodedData)),this._md5}toString(){return'SoundMediaData "'.concat(this.name,'"')}}class xe extends($.define({BOX:0,HIDDEN_WHEN_NULL:1,LIST_NAME:8,CONTENTS:9,TARGET:10})){get x(){return null===G(this.hiddenWhenNull)?5:this.box.x+1}get y(){return null===G(this.hiddenWhenNull)?5:this.box.y+1}get width(){return this.box.width-2}get height(){return this.box.height-2}}class Te extends($.define({BOX:0,PARENT:1,FRAMES:2,COLOR:3,DIRECTION:8,ALIGNMENT:9})){}class Ee extends($.define({BOX:0,PARENT:1,COLOR:3})){}class Ae extends($.define({BOX:0,COLOR:3,VALUE:8})){}class Ce extends($.define({BOX:0,READOUT_FRAME:1,COLOR:3,FONT:6,VALUE:8,TARGET:10,CMD:11,PARAM:13})){}class Ie extends($.define({BOX:0})){}const Oe=1,Me=2,Ne=3;class Re extends($.define({BOX:0,TARGET:1,SHAPE:2,READOUT:14,READOUT_FRAME:15,SLIDER:16,ALIGNMENT:17,SLIDER_MIN:20,SLIDER_MAX:21})){get x(){return this.box.x}get y(){return this.box.y}get mode(){return null===G(this.slider)?this.readoutFrame.box.height<=14?Oe:Me:Ne}get isDiscrete(){return Math.floor(this.sliderMin)===this.sliderMin&&Math.floor(this.sliderMax)===this.sliderMax&&Math.floor(this.readout.value)===this.readout.value}}const De={[F.POINT]:fe,[F.RECTANGLE]:ge,[F.FORM]:ye,[F.SQUEAK]:ye,[F.SAMPLED_SOUND]:we,[F.SPRITE]:ve,[F.STAGE]:be,[F.IMAGE_MEDIA]:Se,[F.SOUND_MEDIA]:ke,[F.ALIGNMENT]:Te,[F.MORPH]:Ee,[F.WATCHER_READOUT_FRAME]:Ie,[F.STATIC_STRING]:Ae,[F.UPDATING_STRING]:Ce,[F.WATCHER]:Re,[F.LIST_WATCHER]:xe},Pe=Array.from({length:256},((e,t)=>De[t]||null));class Le{constructor(e){this.valueIterator=e}[Symbol.iterator](){return this}next(){const e=this.valueIterator.next();if(e.done)return e;const t=e.value,{classId:n}=t;let r=t;if(t instanceof Y){r=[];for(let e=0;e<t.size;e++)r.push(this.next().value)}if(null!==Pe[n]||t instanceof _){r=new(Pe[t.classId]||$)({classId:t.classId,version:t.version,fields:r})}return{value:r,done:!1}}}class Be{constructor(e){this.table=Array.from(e),this.fixed=this.fix(this.table)}fix(){const e=[];for(let t=0;t<this.table.length;t++)this.fixItem(this.table[t]),e.push(this.table[t]);return e}fixItem(e){if(void 0!==e.fields&&(e=e.fields),Array.isArray(e))for(let t=0;t<e.length;t++)e[t]=this.deref(e[t])}deref(e){return e instanceof H?this.table[e.index-1]:e}}class ze extends(le.extend({support8Bit:d,png:new C(3),dosLineEnding:new C(2),dosEndOfFile:new C(1),unixLineEnding:new C(1)})){static validate(){s(this.equals({support8Bit:137,png:"PNG",dosLineEnding:"\r\n",dosEndOfFile:"",unixLineEnding:"\n"}),"PNGSignature does not match the expected values")}}le.initConstructor(ze);class Ue extends(le.extend({length:S,chunkType:new C(4)})){}le.initConstructor(Ue);class je extends(le.extend({checksum:S})){}le.initConstructor(je);class Fe extends(le.extend({width:S,height:S,bitDepth:d,colorType:d,compressionMethod:d,filterMethod:d,interlaceMethod:d})){}le.initConstructor(Fe);class We extends(le.extend({method:d})){}le.initConstructor(We);class Ve{constructor(){this.adler=1}update(e,t,n){let r=65535&this.adler,i=this.adler>>>16;for(let s=0;s<n;s++)r=(r+e[t+s])%65521,i=(i+r)%65521;return this.adler=i<<16|r,this}get digest(){return this.adler}}const Ge=65535;class qe extends(le.extend({cmf:d,flag:d})){}le.initConstructor(qe);class Ye extends(le.extend({lastPacket:d,length:k,lengthCheck:k})){}le.initConstructor(Ye);class He extends(le.extend({checksum:T})){}le.initConstructor(He);class _e{constructor(e){this.stream=e}get uint8a(){return this.stream.uint8a}set uint8a(e){return this.stream.uint8a=e,this.stream.uint8a}get position(){return this.stream.position}set position(e){return this.stream.position=e,this.stream.position}writeStruct(e,t){return this.stream.writeStruct(e,t)}writeBytes(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e.length;return this.stream.writeBytes(e,t,n)}}class Ke extends _e{constructor(e){super(e),this.stream.writeStruct(qe,{cmf:8,flag:29}),this.adler=new Ve,this.chunk=this.stream.writeStruct(Ye,{lastPacket:0,length:0,lengthCheck:65535})}get _deflateIndex(){return this.chunk.length}set _deflateIndex(e){return this.chunk.length=e,this.chunk.lengthCheck=65535^e,this.chunk.length}writeStruct(e,t){this.writeBytes(Object.assign(new e,t).uint8a)}writeBytes(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e.length,r=t;for(;n-r>0;){this._deflateIndex===Ge&&(this.chunk=this.stream.writeStruct(Ye,{lastPacket:0,length:0,lengthCheck:65535}));const t=Math.min(n-r,Ge-this._deflateIndex);this.stream.writeBytes(e,r,r+t),this._deflateIndex+=t,r+=t}this.adler.update(e,t,n-t)}finish(){this.chunk.lastPacket=1,this.stream.writeStruct(He,{checksum:this.adler.digest})}static estimateSize(e){const t=Math.ceil(e/Ge);return qe.size+t*Ye.size+He.size+e}}class Qe extends _e{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"IHDR";super(e),this.start=this.stream.writeStruct(Ue,{length:0,chunkType:t}),this.crc=new ee}finish(){const e=this.start.offset+this.start.size,t=this.position-e;this.start.length=t,this.crc.update(this.stream.uint8a,e-S.size,t+S.size),this.stream.writeStruct(je,{checksum:this.crc.digest})}static size(e){return Ue.size+e+je.size}}class Xe{encode(e,t,n){const r=4*e+We.size,i=r*t,s=ze.size+Qe.size(Fe.size)+Qe.size(Ke.estimateSize(i))+Qe.size(0),a=new o(new ArrayBuffer(s));a.writeStruct(ze,{support8Bit:137,png:"PNG",dosLineEnding:"\r\n",dosEndOfFile:"",unixLineEnding:"\n"});const l=new Qe(a,"IHDR");l.writeStruct(Fe,{width:e,height:t,bitDepth:8,colorType:6,compressionMethod:0,filterMethod:0,interlaceMethod:0}),l.finish();const c=new Qe(a,"IDAT"),u=new Ke(c);let d=0;for(;d<n.length;){u.writeStruct(We,{method:0});const e=Math.min(n.length-d,r-We.size);u.writeBytes(n,d,d+e),d+=e}u.finish(),c.finish();return new Qe(a,"IEND").finish(),a.buffer}static encode(e,t,n){return(new Xe).encode(e,t,n)}}class Ze{constructor(e){this.file=e}async(e){return s("uint8array"===e,"SB1FakeZipFile only supports uint8array"),Promise.resolve(this.file.bytes)}}class Je{constructor(e){this.files=e}file(e){if(e in this.files)return new Ze(this.files[e])}}const $e=e=>"uncompressed"===e.extension?new Uint8Array(Xe.encode(e.width,e.height,e.decoded)):e.decoded,et=e=>{const t=String(e[e.length-1]),n=e.length-1;return"mouse"===t?e[n]="_mouse_":"edge"===t?e[n]="_edge_":e[e.length-1]instanceof be&&(e[n]="_stage_"),e},tt={getParam:e=>{let[t,n,r,i]=e;return[t,n,r,i||"r"]},changeVariable:e=>[e[2],e[1],e[3]],EventHatMorph:e=>"Scratch-StartClicked"===String(e[1])?["whenGreenFlag"]:["whenIReceive",e[1]],MouseClickEventHatMorph:()=>["whenClicked"],KeyEventHatMorph:e=>["whenKeyPressed",e[1]],stopScripts:e=>"other scripts"===String(e[1])?[e[0],"other scripts in sprite"]:e,abs:e=>["computeFunction:of:","abs",e[1]],sqrt:e=>["computeFunction:of:","sqrt",e[1]],"\\\\":e=>["%",...e.slice(1)],doReturn:()=>["stopScripts","this script"],stopAll:()=>["stopScripts","all"],"showBackground:":e=>["startScene",e[1]],nextBackground:()=>["nextScene"],doForeverIf:e=>["doForever",[["doIf",e[1],e[2]]]],"getAttribute:of:":et,"gotoSpriteOrMouse:":et,"distanceTo:":et,"pointTowards:":et,"touching:":et},nt=e=>{const{info:t,stageData:n,images:r,sounds:i}=e,s=e=>{const t=[];for(let n=0;n<e.length;n+=2)t.push([e[n],e[n+1]]);return t},o=e=>{let[t,n]=e;return{name:t,value:n,isPersistent:!1}},a=e=>{let[,{listName:t,contents:n,x:r,y:i,width:s,height:o,hiddenWhenNull:a}]=e;return{listName:t,contents:n,isPersistent:!1,x:r,y:i,width:s,height:o,visible:null!==(l=a,"object"==typeof l&&l?l.valueOf():l)};var l},l=e=>{const t=i.findIndex((t=>t.crc===e.crc));return{soundName:e.name,soundID:t,md5:"".concat(e.md5,".wav"),sampleCount:e.sampleCount,rate:e.rate,format:""}},c=e=>{const t=r.findIndex((t=>t.crc===e.crc));return{costumeName:e.costumeName,baseLayerID:t,baseLayerMD5:"".concat(me()(e.rawBytes),".").concat((n=e,"uncompressed"===n.extension?"png":"jpg")),bitmapResolution:1,rotationCenterX:e.rotationCenter.x,rotationCenterY:e.rotationCenter.y};var n},u=e=>{let t=e.map(h);const n=tt[t[0]];return n&&(t=n(t)),t},d=e=>e.map(u),h=e=>e instanceof ve?e.objName:Array.isArray(e)?0===e.length||Array.isArray(e[0])?d(e):u(e):e,p=e=>[e[0].x,e[0].y,d(e[1])],m=e=>e instanceof ve?(e=>{const t=e.media.filter((e=>e instanceof Se)),r=e.media.filter((e=>e instanceof ke));return{objName:e.objName,variables:s(e.vars).map(o),lists:s(e.lists).map(a),scripts:e.blocksBin.map(p),costumes:t.map(c),currentCostumeIndex:t.findIndex((t=>t.crc===e.currentCostume.crc)),sounds:r.map(l),scratchX:e.scratchX,scratchY:e.scratchY,scale:e.scalePoint.x,direction:Math.round(1e6*e.rotationDegrees)/1e6-270,rotationStyle:e.rotationStyle,isDraggable:e.draggable,indexInLibrary:n.spriteOrderInLibrary.indexOf(e),visible:e.visible,spriteInfo:{}}})(e):null;return JSON.parse(JSON.stringify(Object.assign((e=>{const t=e.media.filter((e=>e instanceof Se)),n=e.media.filter((e=>e instanceof ke));return{objName:e.objName,variables:s(e.vars).map(o),lists:s(e.lists).map(a),scripts:e.blocksBin.map(p),costumes:t.map(c),currentCostumeIndex:t.findIndex((t=>t.crc===e.currentCostume.crc)),sounds:n.map(l),penLayerMD5:"5c81a336fab8be57adc039a8a2b33ca9.png",penLayerID:0,tempoBPM:e.tempoBPM,videoAlpha:.5,children:e.stageContents.map(m).filter(Boolean).reverse()}})(n),{info:(e=>{const t={};for(let n=0;n<e.length;n+=2)"thumbnail"!==String(e[n])&&(t[String(e[n])]=String(e[n+1]));return t})(t)})))};class rt extends(le.extend({version:new C(10),infoByteLength:S})){validate(){s.validate(this.equals({version:"ScratchV01"})||this.equals({version:"ScratchV02"}),"Invalid Scratch file signature.")}}le.initConstructor(rt);class it extends(le.extend({ObjS:new C(4),ObjSValue:d,Stch:new C(4),StchValue:d,numObjects:S})){validate(){s.validate(this.equals({ObjS:"ObjS",ObjSValue:1,Stch:"Stch",StchValue:1}),"Invalid Scratch file info packet header.")}}le.initConstructor(it);class st{constructor(e){this.buffer=e,this.stream=new o(e),this.signature=this.stream.readStruct(rt),this.signature.validate(),this.infoHeader=this.stream.readStruct(it),this.infoHeader.validate(),this.stream.position+=this.signature.infoByteLength-it.size,this.dataHeader=this.stream.readStruct(it),this.dataHeader.validate()}get json(){return nt({info:this.info(),stageData:this.data(),images:this.images(),sounds:this.sounds()})}get zip(){return(e=>{let{images:t,sounds:n}=e;const r={};let i=0;for(const e of t)r["".concat(i++,".").concat((s=e,"uncompressed"===s.extension?"png":"jpg"))]={bytes:$e(e)};var s,o;i=0;for(const e of n)r["".concat(i++,".wav")]={bytes:(o=e,o.wavEncodedData)};return new Je(r)})({images:this.images(),sounds:this.sounds()})}view(){return{signature:this.signature,infoHeader:this.infoHeader,dataHeader:this.dataHeader,toString:()=>"SB1File"}}infoRaw(){return new a(new J(this.buffer,this.infoHeader.offset+it.size),this.signature.infoByteLength+rt.size)}infoTable(){return new Le(this.infoRaw())}info(){return this._info||(this._info=new Be(this.infoTable()).table[0]),this._info}dataRaw(){return new a(new J(this.buffer,this.dataHeader.offset+it.size),this.stream.uint8a.length)}dataTable(){return new Le(this.dataRaw())}dataFixed(){return this._data||(this._data=new Be(this.dataTable()).table),this._data}data(){return this.dataFixed()[0]}images(){const e=new Set;return this.dataFixed().filter((t=>t instanceof Se&&(!e.has(t.crc)&&(e.add(t.crc),!0))))}sounds(){const e=new Set;return this.dataFixed().filter((t=>t instanceof ke&&(!e.has(t.crc)&&(e.add(t.crc),!0))))}}},function(e,t,n){"use strict";n.r(t);var r={};n.r(r),n.d(r,"Scaffolding",(function(){return V})),n.d(r,"Cloud",(function(){return k})),n.d(r,"VM",(function(){return a.a})),n.d(r,"Renderer",(function(){return c.a})),n.d(r,"Storage",(function(){return g})),n.d(r,"AudioEngine",(function(){return p.a})),n.d(r,"JSZip",(function(){return s.a}));var i=n(23),s=n.n(i),o=n(62),a=n.n(o),l=n(108),c=n.n(l),u=n(114),d=n.n(u),h=n(115),p=n.n(h),m=n(35);class f extends d.a{constructor(){super(),this._totalAssets=0,this._loadedAssets=0}_updateProgress(){this.onprogress&&this.onprogress(this._totalAssets,this._loadedAssets)}load(e,t,n){return e===this.AssetType.ImageBitmap||e===this.AssetType.ImageVector||e===this.AssetType.Sound||e===this.AssetType.Font?(this._totalAssets++,this._updateProgress(),super.load(e,t,n).then((e=>(this._loadedAssets++,this._updateProgress(),e)))):super.load(e,t,n)}}var g=f;class y{constructor(){this._events={}}addEventListener(e,t){this._events[e]||(this._events[e]=[]),this._events[e].push(t)}removeEventListener(e,t){const n=this._events[e];n&&(this._events[e]=n.filter((e=>e!==t)))}dispatchEvent(e){const t=this._events[e.type];if(t)for(const n of t)n(e)}}const b=[],v=e=>{let t;var n;return 0===b.length?(n={audio:!1,video:e},t=navigator.mediaDevices?navigator.mediaDevices.getUserMedia(n):Promise.reject(new Error("video is not supported in this context (insecure domain?)")),b.push(t)):b.length>0&&(t=b[0],b.push(!0)),t};class S{constructor(){this.mirror=!0,this._frameCacheTimeout=16,this._video=null,this._track=null,this._workspace=[]}static get FORMAT_IMAGE_DATA(){return"image-data"}static get FORMAT_CANVAS(){return"canvas"}static get DIMENSIONS(){return[480,360]}static get ORDER(){return 1}get video(){return this._video}enableVideo(){return this.enabled=!0,this._setupVideo()}disableVideo(){this.enabled=!1,this._singleSetup&&this._singleSetup.then(this._teardown.bind(this)).catch((e=>this.onError(e)))}_teardown(){if(!1===this.enabled){const e=(b.pop(),!(b.length>0));this._singleSetup=null,this._video=null,this._track&&e&&this._track.stop(),this._track=null}}getFrame(e){let{dimensions:t=S.DIMENSIONS,mirror:n=this.mirror,format:r=S.FORMAT_IMAGE_DATA,cacheTimeout:i=this._frameCacheTimeout}=e;if(!this.videoReady)return null;const[s,o]=t,a=this._getWorkspace({dimensions:t,mirror:Boolean(n)}),{videoWidth:l,videoHeight:c}=this._video,{canvas:u,context:d,lastUpdate:h,cacheData:p}=a,m=Date.now();h+i<m&&(n&&(d.scale(-1,1),d.translate(-1*s,0)),d.drawImage(this._video,0,0,l,c,0,0,s,o),d.setTransform(1,0,0,1,0,0),a.lastUpdate=m),p[r]||(p[r]={lastUpdate:0});const f=p[r];return f.lastUpdate+i<m&&(r===S.FORMAT_IMAGE_DATA?f.lastData=d.getImageData(0,0,s,o):r===S.FORMAT_CANVAS?(f.lastUpdate=1/0,f.lastData=u):(console.error("video io error - unimplemented format ".concat(r)),f.lastUpdate=1/0,f.lastData=null),f.lastUpdate=Math.max(a.lastUpdate,f.lastUpdate)),f.lastData}onError(e){console.error("Unhandled video io device error",e)}_setupVideo(){return this._singleSetup||(this._singleSetup=v({width:{min:480,ideal:640},height:{min:360,ideal:480}}).then((e=>{this._video=document.createElement("video");try{this._video.srcObject=e}catch(t){this._video.src=window.URL.createObjectURL(e)}return this._video.play(),this._track=e.getTracks()[0],this})).catch((e=>{this._singleSetup=null,this.onError(e)}))),this._singleSetup}get videoReady(){if(!this.enabled)return!1;if(!this._video)return!1;if(!this._track)return!1;const{videoWidth:e,videoHeight:t}=this._video;return"number"==typeof e&&"number"==typeof t&&(0!==e&&0!==t)}_getWorkspace(e){let{dimensions:t,mirror:n}=e,r=this._workspace.find((e=>e.dimensions.join("-")===t.join("-")&&e.mirror===n));return r||(r={dimensions:t,mirror:n,canvas:document.createElement("canvas"),lastUpdate:0,cacheData:{}},r.canvas.width=t[0],r.canvas.height=t[1],r.context=r.canvas.getContext("2d"),this._workspace.push(r)),r}}var w=S;var k={CloudManager:class{constructor(e){this.parent=e,this.providers=[],this.overrides=new Map}hasCloudData(){return this.parent.vm.runtime.hasCloudData()}projectReady(){if(this.hasCloudData())for(const e of this.providers)e.enable()}setVariable(e,t,n){this.overrides.has(t)&&this.overrides.get(t)!==e||this.parent.vm.postIOData("cloud",{varUpdate:{name:t,value:n}})}getUsername(){return this.parent._username}addProvider(e){e.manager=this,this.hasCloudData()&&e.enable(),this.providers.push(e)}requestCloseConnection(){}createVariable(e,t){}renameVariable(e,t){}deleteVariable(e){}addProviderOverride(e,t){if(t&&!this.providers.includes(t))throw new Error("Manager is not aware of this provider");this.overrides.set(e,t)}updateVariable(e,t){if(this.overrides.has(e)){const n=this.overrides.get(e);n&&n.handleUpdateVariable(e,t)}else for(const n of this.providers)n.handleUpdateVariable(e,t)}},WebSocketProvider:class{constructor(e,t){this.cloudHosts=Array.isArray(e)?e:[e],this.projectId=t,this.attemptedConnections=0,this.bufferedMessages=[],this.scheduledBufferedSend=null,this.reconnectTimeout=null,this.openConnection=this.openConnection.bind(this),this._scheduledSendBufferedMessages=this._scheduledSendBufferedMessages.bind(this)}enable(){this.openConnection()}setProjectId(e){this.projectId=e,this.closeAndReconnect()}openConnection(){this.currentCloudHost=this.cloudHosts[this.attemptedConnections%this.cloudHosts.length],this.attemptedConnections++,console.log("Connecting to ".concat(this.currentCloudHost," with ID ").concat(this.projectId,", username ").concat(this.manager.getUsername()));try{this.ws=new WebSocket(this.currentCloudHost)}catch(e){throw console.error(e),new Error("Cloud host ".concat(this.currentCloudHost," is invalid: ").concat(e))}this.ws.onerror=this.onerror.bind(this),this.ws.onmessage=this.onmessage.bind(this),this.ws.onopen=this.onopen.bind(this),this.ws.onclose=this.onclose.bind(this)}onerror(e){console.error("WebSocket error",e)}onmessage(e){for(const t of e.data.split("\n"))if(t){const e=JSON.parse(t);"set"===e.method&&this.manager.setVariable(this,e.name,e.value)}}onopen(){this.attemptedConnections=0,this.writeToServer({method:"handshake"}),this.sendBufferedMessages(),console.log("WebSocket connected")}onclose(e){if(e&&4002===e.code)return void console.log("Username is invalid; not reconnecting.");if(e&&4004===e.code)return void console.log("Project is blocked; not reconnecting.");const t=Math.random()*(Math.pow(2,Math.min(this.attemptedConnections+1,5))-1)*1e3;console.log("Connection lost; reconnecting in ".concat(Math.round(t),"ms")),this.reconnectTimeout=setTimeout(this.openConnection,t)}closeAndReconnect(){console.log("Closing connection and reconnecting."),this.ws&&(this.ws.onclose=null,this.ws.onerror=null,this.ws.close()),clearTimeout(this.reconnectTimeout);this.reconnectTimeout=setTimeout(this.openConnection,1e3/30)}canWriteToServer(){return this.ws&&this.ws.readyState===WebSocket.OPEN}scheduleBufferedSend(){this.scheduledBufferedSend||(this.scheduledBufferedSend=!0,Promise.resolve().then(this._scheduledSendBufferedMessages))}_scheduledSendBufferedMessages(){this.scheduledBufferedSend=!1,this.canWriteToServer()&&this.sendBufferedMessages()}sendBufferedMessages(){for(const e of this.bufferedMessages)this.writeToServer(e);this.bufferedMessages.length=0}bufferedWriteToServer(e){this.bufferedMessages.push(e),this.scheduleBufferedSend()}writeToServer(e){e.project_id=this.projectId,e.user=this.manager.getUsername(),this.ws.send(JSON.stringify(e))}handleUpdateVariable(e,t){for(const n of this.bufferedMessages)if(n.name===e)return void(n.value=t);this.bufferedWriteToServer({method:"set",name:e,value:t})}},LocalStorageProvider:class{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"p4:cloudvariables";this.key=e,this.variables={},this.handleStorageEvent=this.handleStorageEvent.bind(this)}readFromLocalStorage(){let e;try{if(e=JSON.parse(localStorage.getItem(this.key)),!e||"object"!=typeof e)return}catch(e){return}this.variables=e;for(const e of Object.keys(this.variables))this.manager.setVariable(this,e,this.variables[e])}storeToLocalStorage(){try{localStorage.setItem(this.key,JSON.stringify(this.variables))}catch(e){}}handleStorageEvent(e){e.key===this.key&&e.storageArea===localStorage&&this.readFromLocalStorage()}enable(){this.readFromLocalStorage(),window.addEventListener("storage",this.handleStorageEvent)}handleUpdateVariable(e,t){this.variables[e]=t,this.storeToLocalStorage()}}},x=n(117),T=n.n(x),E=n(61),A={insert:e=>{var t=document.head||document.body||document.documentElement;t.insertBefore(e,t.firstChild)},singleton:!1},C=(T()(E.a,A),E.a.locals||{});const I=e=>new Promise(((t,n)=>{const r=new FileReader;r.onload=()=>t(r.result),r.onerror=()=>n(new Error("Cannot read as text: ".concat(r.error))),r.readAsText(e)}));var O=class{constructor(e,t){this.el=e,this.callback=t,this.el.addEventListener("dragover",this.ondragover.bind(this)),this.el.addEventListener("dragleave",this.ondragleave.bind(this)),this.el.addEventListener("drop",this.ondrop.bind(this))}ondragover(e){e.dataTransfer.types.includes("Files")&&(e.preventDefault(),e.dataTransfer.dropEffect="copy",this.el.classList.add(C.dropping))}ondragleave(e){e.preventDefault(),this.el.classList.remove(C.dropping)}ondrop(e){e.preventDefault(),this.el.classList.remove(C.dropping),e.dataTransfer.types.includes("Files")&&e.dataTransfer.files.length>0&&Promise.all(Array.from(e.dataTransfer.files).map(I)).then((e=>{this.callback(e)}))}};var M=class{constructor(e,t){this.parent=e,this.text=t,this.root=document.createElement("div"),this.root.className=C.questionRoot,this.inner=document.createElement("div"),this.inner.className=C.questionInner,t&&(this.textElement=document.createElement("div"),this.textElement.textContent=t,this.textElement.className=C.questionText),this.inputContainer=document.createElement("div"),this.inputContainer.className=C.questionInputOuter,this.input=document.createElement("input"),this.input.className=C.questionInput,this.input.addEventListener("keypress",this.onkeypress.bind(this)),this.dropper=new O(this.input,this.dropperCallback.bind(this)),this.submitButton=document.createElement("button"),this.submitButton.className=C.questionSubmitButton,this.submitButton.addEventListener("click",this.onsubmitpressclick.bind(this)),this.inputContainer.appendChild(this.input),this.inputContainer.appendChild(this.submitButton),this.textElement&&this.inner.appendChild(this.textElement),this.inner.appendChild(this.inputContainer),this.root.appendChild(this.inner),this.parent._addLayer(this.root),this.input.focus(),this.answerCallback=new Promise((e=>{this.callback=e}))}answer(){return this.answerCallback}submit(){this.callback(this.input.value),this.destroy()}onkeypress(e){"Enter"===e.key&&this.submit()}dropperCallback(e){const t=e.join("").replace(/\r?\n/g," ");this.input.value=t}onsubmitpressclick(){this.submit()}destroy(){this.root.remove(),this.parent.question=null}};var N=class{constructor(e){this.parent=e,this.root=document.createElement("div"),this.root.className=C.contextMenu,this._onmousedown=this._onmousedown.bind(this),this._onresize=this._onresize.bind(this),this._onblur=this._onblur.bind(this)}_onmousedown(e){this.root.contains(e.target)||this.destroy()}_onresize(){this.destroy()}_onblur(){this.destroy()}add(e){const t=document.createElement("button");t.className=C.contextMenuItem,t.textContent=e.text,t.addEventListener("click",(()=>{this.destroy(),e.callback()})),t.addEventListener("contextmenu",(e=>{e.preventDefault()})),this.root.appendChild(t)}show(e){document.addEventListener("mousedown",this._onmousedown),window.addEventListener("resize",this._onresize),window.addEventListener("blur",this._onblur),this.parent._addLayer(this.root);const t=this.parent.layersRect,n=this.root.getBoundingClientRect();let r=e.clientX-t.left,i=e.clientY-t.top;r+n.width>t.width&&(r-=n.width),i+n.height>t.height&&(i-=n.height),this.root.style.transform="translate(".concat(r,"px, ").concat(i,"px)"),getComputedStyle(this.root).opacity,this.root.style.opacity="1"}destroy(){document.removeEventListener("mousedown",this._onmousedown),window.removeEventListener("resize",this._onresize),window.removeEventListener("blur",this._onblur),this.root.style.opacity="0",this.root.style.pointerEvents="none",setTimeout((()=>{this.root.remove()}),200)}};var R=(e,t)=>{if("undefined"!=typeof ExternalDownloadHelper)return void ExternalDownloadHelper.download(e,t);const n=document.createElement("a");if(document.body.appendChild(n),navigator.msSaveOrOpenBlob)navigator.msSaveOrOpenBlob(t,e);else if("download"in HTMLAnchorElement.prototype){const r=window.URL.createObjectURL(t);n.href=r,n.download=e,n.type=t.type,n.click(),window.setTimeout((()=>{document.body.removeChild(n),window.URL.revokeObjectURL(r)}),1e3)}else{let e=window.open("","_blank");const n=new FileReader;n.onloadend=function(){e.location.href=n.result,e=null},n.readAsDataURL(t)}};class D{constructor(e,t){this.parent=e,this.id=t.get("id"),this.spriteName=t.get("spriteName"),this.targetId=t.get("targetId"),this.opcode=t.get("opcode"),this.params=t.get("params"),this.root=document.createElement("div"),this.root.className=C.monitorRoot,this.root.dataset.id=this.id,this.root.dataset.opcode=this.opcode,this.parent._monitorOverlay.appendChild(this.root)}getLabel(){let e;if("data_variable"===this.opcode)e=this.params.VARIABLE;else if("data_listcontents"===this.opcode)e=this.params.LIST;else if("motion_xposition"===this.opcode)e=this.parent.getMessage("var-x");else if("motion_yposition"===this.opcode)e=this.parent.getMessage("var-y");else if("motion_direction"===this.opcode)e=this.parent.getMessage("var-direction");else if("sensing_username"===this.opcode)e=this.parent.getMessage("var-username");else if("looks_costumenumbername"===this.opcode)e="number"===this.params.NUMBER_NAME?this.parent.getMessage("var-costume-number"):this.parent.getMessage("var-costume-name");else if("looks_backdropnumbername"===this.opcode)e="number"===this.params.NUMBER_NAME?this.parent.getMessage("var-backdrop-number"):this.parent.getMessage("var-backdrop-name");else if("looks_size"===this.opcode)e=this.parent.getMessage("var-size");else if("sensing_answer"===this.opcode)e=this.parent.getMessage("var-answer");else if("sensing_mousedown"===this.opcode)e=this.parent.getMessage("var-mousedown");else if("sensing_mousex"===this.opcode)e=this.parent.getMessage("var-mousex");else if("sensing_mousey"===this.opcode)e=this.parent.getMessage("var-mousey");else if("sensing_loudness"===this.opcode)e=this.parent.getMessage("var-loudness");else if("sensing_timer"===this.opcode)e=this.parent.getMessage("var-timer");else if("sensing_dayssince2000"===this.opcode)e=this.parent.getMessage("var-dayssince2000");else if("sound_volume"===this.opcode)e=this.parent.getMessage("var-volume");else if("sensing_current"===this.opcode){const t=this.params.CURRENTMENU.toLowerCase();"year"===t?e=this.parent.getMessage("var-year"):"month"===t?e=this.parent.getMessage("var-month"):"date"===t?e=this.parent.getMessage("var-date"):"dayofweek"===t?e=this.parent.getMessage("var-day-of-week"):"hour"===t?e=this.parent.getMessage("var-hour"):"minute"===t?e=this.parent.getMessage("var-minute"):"second"===t&&(e=this.parent.getMessage("var-second"))}else{const t=this.parent.vm.runtime.getLabelForOpcode(this.opcode);e=t?t.label:this.opcode}return this.spriteName?"".concat(this.spriteName,": ").concat(e):e}getTarget(){return this.targetId?this.parent.vm.runtime.getTargetById(this.targetId):this.parent.vm.runtime.getTargetForStage()}getVmVariable(){return this.getTarget().variables[this.id]}update(e){this.x=e.get("x"),this.y=e.get("y"),this.visible=e.get("visible"),this.root.style.transform="translate(".concat(Math.round(this.x),"px, ").concat(Math.round(this.y),"px)"),this.root.style.display=this.visible?"":"none"}}class P extends D{constructor(e,t){super(e,t),this.mode=t.get("mode"),"large"===this.mode?(this.valueElement=document.createElement("div"),this.valueElement.className=C.monitorLargeValue+" "+C.monitorValueColor,this.root.appendChild(this.valueElement)):(this.inner=document.createElement("div"),this.inner.className=C.monitorInner,this.valueRow=document.createElement("div"),this.valueRow.className=C.monitorRow,this.label=document.createElement("div"),this.label.className=C.monitorLabel,this.label.textContent=this.getLabel(),this.valueElement=document.createElement("div"),this.valueElement.className=C.monitorValue+" "+C.monitorValueColor,this.valueRow.appendChild(this.label),this.valueRow.appendChild(this.valueElement),this.inner.appendChild(this.valueRow),"slider"===this.mode&&(this.sliderRow=document.createElement("div"),this.sliderRow.className=C.monitorRow,this.slider=document.createElement("input"),this.slider.className=C.monitorSlider,this.slider.type="range",this.slider.min=t.get("sliderMin"),this.slider.max=t.get("sliderMax"),this.slider.step=t.get("isDiscrete")?1:.01,this.slider.addEventListener("input",this.onsliderchange.bind(this)),this.sliderRow.appendChild(this.slider),this.inner.appendChild(this.sliderRow)),this.root.appendChild(this.inner)),this.parent._monitorOverlay.appendChild(this.root),this._value=""}setVariableValue(e){const t=this.getVmVariable();if(t.value=e,t.isCloud){this.parent.vm.runtime.ioDevices.cloud.requestUpdateVariable(t.name,t.value)}this._value=e,this.valueElement.textContent=e}onsliderchange(e){this.setVariableValue(+e.target.value)}update(e){if(super.update(e),!this.visible)return;let t=e.get("value");"number"==typeof t&&(t=Number(t.toFixed(6))),this._value!==t&&(this._value=t,this.valueElement.textContent=t,this.slider&&(this.slider.value=t))}}class L{constructor(e){this.monitor=e,this.index=-1,this.value="",this.locked=!1,this.root=document.createElement("label"),this.root.className=C.monitorRowRoot,this.indexEl=document.createElement("div"),this.indexEl.className=C.monitorRowIndex,this.valueOuter=document.createElement("div"),this.valueOuter.className=C.monitorRowValueOuter,this.editable=this.monitor.editable,this.editable?(this.valueInner=document.createElement("input"),this.valueInner.tabIndex=-1,this.valueInner.className=C.monitorRowValueInner,this.valueInner.readOnly=!0,this.valueInner.addEventListener("click",this._onclickinput.bind(this)),this.valueInner.addEventListener("blur",this._onblurinput.bind(this)),this.valueInner.addEventListener("keypress",this._onkeypressinput.bind(this)),this.valueInner.addEventListener("keydown",this._onkeypressdown.bind(this)),this.valueInner.addEventListener("contextmenu",this._oncontextmenu.bind(this)),this.valueInner.addEventListener("input",this._oninput.bind(this)),this.valueOuter.appendChild(this.valueInner),this.deleteButton=document.createElement("button"),this.deleteButton.className=C.monitorRowDelete,this.deleteButton.textContent="×",this.deleteButton.addEventListener("mousedown",this._onclickdelete.bind(this)),this.valueOuter.appendChild(this.deleteButton)):(this.valueInner=document.createElement("div"),this.valueInner.className=C.monitorRowValueInner,this.valueOuter.appendChild(this.valueInner),this.valueInner.addEventListener("contextmenu",this._oncontextmenuuneditable.bind(this))),this.root.appendChild(this.indexEl),this.root.appendChild(this.valueOuter)}_onclickinput(){this.valueInner.focus(),this.locked||(this.valueInner.select(),this.valueInner.readOnly=!1,this.locked=!0,this.root.classList.add(C.monitorRowValueEditing),this.addNewValue=!1,this.deleteValue=!1,this.valueWasChanged=!1)}_onblurinput(){if(this.locked)if(this.unfocus(),this.deleteValue){const e=[...this.monitor.value];e.splice(this.index,1),this.monitor.setValue(e),this.monitor.tryToFocusRow(Math.min(e.length-1,this.index))}else if(this.valueWasChanged||this.addNewValue){const e=[...this.monitor.value];e[this.index]=this.valueInner.value,this.addNewValue&&e.splice(this.index+1,0,""),this.monitor.setValue(e),this.addNewValue&&this.monitor.tryToFocusRow(this.index+1)}}_oninput(){this.valueWasChanged=!0}_onkeypressinput(e){"Enter"===e.key&&(this.addNewValue=!0,this.valueInner.blur())}_onkeypressdown(e){if("Escape"===e.key)this.valueInner.blur();else if("ArrowUp"===e.key||"ArrowDown"===e.key||"Tab"===e.key){e.preventDefault();let t=this.index;"ArrowUp"===e.key||"Tab"===e.key&&e.shiftKey?(t--,t<0&&(t=this.monitor.value.length-1)):(t++,t>=this.monitor.value.length&&(t=0)),this.monitor.tryToFocusRow(t)}}_onclickdelete(e){e.preventDefault(),this.deleteValue=!0,this.valueInner.blur()}_oncontextmenu(e){this.locked?e.stopPropagation():e.preventDefault()}_oncontextmenuuneditable(e){const t=getSelection();this.valueInner.contains(t.anchorNode)&&!t.isCollapsed&&e.stopPropagation()}setIndex(e){this.index!==e&&(this.index=e,this.root.dataset.index=e,this.root.style.transform="translateY(".concat(24*e,"px)"),this.indexEl.textContent=e+1)}setValue(e){this.value===e||this.locked||(this.value=e,this.editable?this.valueInner.value=e:this.valueInner.textContent=e)}focus(){this.valueInner.click(),document.activeElement!==this.valueInner&&setTimeout((()=>this.valueInner.click()))}unfocus(){this.locked&&(this.locked=!1,this.valueInner.readOnly=!0,this.root.classList.remove(C.monitorRowValueEditing))}}class B extends D{constructor(e,t){super(e,t),this.editable=e.editableLists,this.rows=new Map,this.cachedRows=[],this.scrollTop=0,this.oldLength=-1,this.label=document.createElement("div"),this.label.className=C.monitorListLabel,this.label.textContent=this.getLabel(),this.footer=document.createElement("div"),this.footer.className=C.monitorListFooter,this.footerText=document.createElement("div"),this.footerText.className=C.monitorListFooterText,this.rowsOuter=document.createElement("div"),this.rowsOuter.className=C.monitorRowsOuter,this.rowsInner=document.createElement("div"),this.rowsInner.className=C.monitorRowsInner,this.rowsInner.addEventListener("scroll",this._onscroll.bind(this),{passive:!0}),this.endPoint=document.createElement("div"),this.endPoint.className=C.monitorRowsEndpoint,this.emptyLabel=document.createElement("div"),this.emptyLabel.textContent=e.getMessage("list-empty"),this.emptyLabel.className=C.monitorEmpty,this.editable&&(this.addButton=document.createElement("button"),this.addButton.className=C.monitorListAdd,this.addButton.textContent="+",this.addButton.addEventListener("click",this._onclickaddbutton.bind(this)),this.footer.appendChild(this.addButton)),this.rowsInner.appendChild(this.endPoint),this.rowsInner.appendChild(this.emptyLabel),this.rowsOuter.appendChild(this.rowsInner),this.footer.appendChild(this.footerText),this.root.appendChild(this.label),this.root.appendChild(this.rowsOuter),this.root.appendChild(this.footer),this.dropper=new O(this.rowsOuter,this.dropperCallback.bind(this)),this.handleImport=this.handleImport.bind(this),this.handleExport=this.handleExport.bind(this),this.root.addEventListener("contextmenu",this._oncontextmenu.bind(this))}_onclickaddbutton(e){this.setValue([...this.value,""]),this.tryToFocusRow(this.value.length-1)}unfocusAllRows(){for(const e of this.rows.values())e.unfocus()}tryToFocusRow(e){if(e>=0&&e<this.value.length){this.unfocusAllRows();let t=this.rows.get(e);t||(t=this.createRow(e)),t.focus()}}_onscroll(e){this.scrollTop=e.target.scrollTop,this.updateValue(this.value)}_oncontextmenu(e){e.preventDefault();const t=new N(this.parent);t.add({text:this.parent.getMessage("list-import"),callback:this.handleImport}),t.add({text:this.parent.getMessage("list-export"),callback:this.handleExport}),t.show(e)}handleImport(){const e=document.createElement("input");e.type="file",e.accept=".txt,.csv,.tsv",e.style.display="none",document.body.appendChild(e),e.addEventListener("change",(e=>{const t=e.target.files;if(0===t.length)return;const n=t[0];I(n).then((e=>this.import(e)))})),e.click()}import(e){const t=e.split(/\r?\n/);this.setValue(t)}handleExport(){const e=this.getValue().join("\n"),t=new Blob([e],{type:"text/plain"});R("".concat(this.getLabel(),".txt"),t)}dropperCallback(e){this.import(e.join("\n"))}getValue(){return this.getVmVariable().value}setValue(e){this.getVmVariable().value=e,this.updateValue(e)}update(e){super.update(e),this.visible&&(this.width=e.get("width")||100,this.height=e.get("height")||200,this.root.style.width="".concat(this.width,"px"),this.root.style.height="".concat(this.height,"px"),this.updateValue(e.get("value")))}createRow(e){const t=this.cachedRows.pop()||new L(this);t.setIndex(e),t.setValue(this.value[e]),this.rows.set(e,t);let n=!1;for(const r of this.rowsInner.children){const i=r.dataset.index;if(!i)continue;if(+i>e){this.rowsInner.insertBefore(t.root,r),n=!0;break}}return n||this.rowsInner.appendChild(t.root),t}updateValue(e){this.value=e,e.length!==this.oldLength&&(this.oldLength=e.length,this.footerText.textContent=this.parent.getMessage("list-length").replace("{n}",e.length),this.endPoint.style.transform="translateY(".concat(24*e.length,"px)"),this.emptyLabel.style.display=e.length?"none":"");let t=Math.floor(this.scrollTop/24)-5;t<0&&(t=0);let n=Math.ceil((this.scrollTop+this.height)/24)+3;n>e.length-1&&(n=e.length-1);for(const r of this.rows.keys())if(r<t||r>n){const t=this.rows.get(r);(!t.locked||r>=e.length)&&(t.unfocus(),t.root.remove(),this.rows.delete(r),this.cachedRows.length<10&&this.cachedRows.push(t))}for(let r=t;r<=n;r++){const t=this.rows.get(r);t?t.setValue(e[r]):this.createRow(r)}}}var z=class{constructor(){this.hasItem=!1,this.root=document.createElement("div"),this.root.className=C.controlsBar,this.start=document.createElement("div"),this.end=document.createElement("div"),this.root.appendChild(this.start),this.root.appendChild(this.end)}addToStart(e){this.hasItem=!0,this.start.appendChild(e)}addToEnd(e){this.hasItem=!0,this.end.appendChild(e)}computeHeight(){return this.hasItem?this.root.getBoundingClientRect().height:0}};const U=e=>"number"==typeof e||"string"==typeof e||"boolean"==typeof e;var j=n(121);const F=e=>e.touches&&e.touches[0]?{x:e.touches[0].clientX,y:e.touches[0].clientY}:e.changedTouches&&e.changedTouches[0]?{x:e.changedTouches[0].clientX,y:e.changedTouches[0].clientY}:{x:e.clientX,y:e.clientY},W=e=>"function"==typeof e?e:()=>e;class V extends y{constructor(){super(),this.width=480,this.height=360,this.resizeMode="preserve-ratio",this.editableLists=!1,this.shouldConnectPeripherals=!0,this.usePackagedRuntime=!1,this.messages=j,this._monitors=new Map,this._mousedownPosition=null,this._draggingId=null,this._draggingStartMousePosition=null,this._draggingStartSpritePosition=null,this._offsetFromTop=0,this._offsetFromBottom=0,this._offsetFromLeft=0,this._offsetFromRight=0,this._root=document.createElement("div"),this._root.className=C.root,this._layers=document.createElement("div"),this._layers.className=C.layers,this._root.appendChild(this._layers),this._canvas=document.createElement("canvas"),this._canvas.className=C.canvas,this._addLayer(this._canvas),this._overlays=document.createElement("div"),this._overlays.className=C.scaledOverlaysInner,this._overlaysOuter=document.createElement("div"),this._overlaysOuter.className=C.scaledOverlaysOuter,this._overlaysOuter.appendChild(this._overlays),this._addLayer(this._overlaysOuter),this._monitorOverlay=document.createElement("div"),this._monitorOverlay.className=C.monitorOverlay,this._overlays.appendChild(this._monitorOverlay),this._topControls=new z,this._layers.appendChild(this._topControls.root),document.addEventListener("mousemove",this._onmousemove.bind(this)),this._canvas.addEventListener("mousedown",this._onmousedown.bind(this)),document.addEventListener("mouseup",this._onmouseup.bind(this)),this._canvas.addEventListener("touchstart",this._ontouchstart.bind(this)),document.addEventListener("touchmove",this._ontouchmove.bind(this)),document.addEventListener("touchend",this._ontouchend.bind(this)),this._canvas.addEventListener("contextmenu",this._oncontextmenu.bind(this)),this._canvas.addEventListener("wheel",this._onwheel.bind(this)),document.addEventListener("keydown",this._onkeydown.bind(this)),document.addEventListener("keyup",this._onkeyup.bind(this)),window.addEventListener("resize",this._onresize.bind(this))}_addLayer(e){this._layers.appendChild(e)}_scratchCoordinates(e,t){return{x:this.width/this.layersRect.width*(e-this.layersRect.width/2),y:-this.height/this.layersRect.height*(t-this.layersRect.height/2)}}_onmousemove(e){const{x:t,y:n}=F(e),r={x:t-this.layersRect.left,y:n-this.layersRect.top,canvasWidth:this.layersRect.width,canvasHeight:this.layersRect.height};if(this._mousedownPosition&&!this._draggingId){Math.sqrt(Math.pow(r.x-this._mousedownPosition.x,2)+Math.pow(r.y-this._mousedownPosition.y,2))>3&&(this._startDragging(r.x,r.y),this._cancelDragTimeout())}else if(this._draggingId){const e=this._scratchCoordinates(r.x,r.y);this.vm.postSpriteInfo({x:e.x-this._draggingStartMousePosition.x+this._draggingStartSpritePosition.x,y:e.y-this._draggingStartMousePosition.y+this._draggingStartSpritePosition.y,force:!0})}this.vm.postIOData("mouse",r)}_startDragging(e,t){if(this._draggingId)return;const n=this.renderer.pick(e,t);if(null===n)return;const r=this.vm.getTargetIdForDrawableId(n);if(null===r)return;const i=this.vm.runtime.getTargetById(r);i.draggable&&(i.goToFront(),this._draggingId=r,this._draggingStartMousePosition=this._scratchCoordinates(e,t),this._draggingStartSpritePosition={x:i.x,y:i.y},this.vm.startDrag(r))}_cancelDragTimeout(){clearTimeout(this._dragTimeout),this._dragTimeout=null}_onmousedown(e){const{x:t,y:n}=F(e),r={x:t-this.layersRect.left,y:n-this.layersRect.top,button:e.button,canvasWidth:this.layersRect.width,canvasHeight:this.layersRect.height,isDown:!0},i="undefined"!=typeof TouchEvent&&e instanceof TouchEvent;(0===e.button||i)&&(this._dragTimeout=setTimeout(this._startDragging.bind(this,r.x,r.y),400)),i&&(e.preventDefault(),document.activeElement&&document.activeElement.blur&&document.activeElement.blur()),this._mousedownPosition={x:r.x,y:r.y},this.vm.postIOData("mouse",r)}_onmouseup(e){this._cancelDragTimeout();const{x:t,y:n}=F(e),r={x:t-this.layersRect.left,y:n-this.layersRect.top,button:e.button,canvasWidth:this.layersRect.width,canvasHeight:this.layersRect.height,isDown:!1,wasDragged:null!==this._draggingId};this._mousedownPosition=null,this.vm.postIOData("mouse",r),this._draggingId&&(this.vm.stopDrag(this._draggingId),this._draggingStartMousePosition=null,this._draggingStartSpritePosition=null,this._draggingId=null)}_ontouchstart(e){this._onmousedown(e)}_ontouchmove(e){this._onmousemove(e)}_ontouchend(e){this._onmouseup(e)}_oncontextmenu(e){e.preventDefault()}_onwheel(e){const t={deltaX:e.deltaX,deltaY:e.deltaY};this.vm.postIOData("mouseWheel",t)}_onkeydown(e){if(e.target!==document&&e.target!==document.body)return;const t={key:e.key,keyCode:e.keyCode,isDown:!0};this.vm.postIOData("keyboard",t),(32===e.keyCode||e.keyCode>=37&&e.keyCode<=40||8===e.keyCode||222===e.keyCode||191===e.keyCode)&&e.preventDefault()}_onkeyup(e){const t={key:e.key,keyCode:e.keyCode,isDown:!1};this.vm.postIOData("keyboard",t),e.target!==document&&e.target!==document.body&&e.preventDefault()}_onresize(){this.relayout()}relayout(){const e=Math.max(1,this._root.offsetWidth),t=Math.max(1,this._root.offsetHeight),n=this._offsetFromTop+this._topControls.computeHeight(),r=this._offsetFromBottom,i=this._offsetFromLeft,s=this._offsetFromRight,o=Math.max(1,e-i-s),a=Math.max(1,t-n-r);"dynamic-resize"===this.resizeMode&&(this.vm.setStageSize?(this.width=o,this.height=a,this.vm.setStageSize(this.width,this.height)):console.warn("dynamic-resize not supported: vm does not implement setStageSize"));let l=o,c=a;"stretch"!==this.resizeMode&&(l=c/this.height*this.width,l>o&&(c=o/this.width*this.height,l=o));const u=t-c,d=e-l,h=(d-i-s)/2+i-d/2,p=(u-n-r)/2+n-u/2;this._layers.style.transform="translate(".concat(h,"px, ").concat(p,"px)"),this._layers.style.width="".concat(l,"px"),this._layers.style.height="".concat(c,"px"),this._overlays.style.transform="scale(".concat(l/this.width,", ").concat(c/this.height,")"),this.renderer.resize(l,c),this.layersRect=this._layers.getBoundingClientRect()}appendTo(e){e.appendChild(this._root),this.relayout()}setup(){this.vm=new a.a,this.vm.setCompatibilityMode(!0),this.vm.setLocale(navigator.language),this.vm.on("MONITORS_UPDATE",this._onmonitorsupdate.bind(this)),this.vm.runtime.on("QUESTION",this._onquestion.bind(this)),this.vm.on("PROJECT_RUN_START",(()=>this.dispatchEvent(new Event("PROJECT_RUN_START")))),this.vm.on("PROJECT_RUN_STOP",(()=>this.dispatchEvent(new Event("PROJECT_RUN_STOP")))),this.usePackagedRuntime&&this.vm.convertToPackagedRuntime&&this.vm.convertToPackagedRuntime(),this.vm.setStageSize&&this.vm.setStageSize(this.width,this.height),this.vm.runtime.cloudOptions&&(this.vm.runtime.cloudOptions.limit=1/0),this.vm.on("STAGE_SIZE_CHANGED",((e,t)=>{this.width===e&&this.height===t||(this.width=e,this.height=t,this.relayout())})),this.cloudManager=new k.CloudManager(this),this.renderer=new c.a(this._canvas,-this.width/2,this.width/2,-this.height/2,this.height/2),this.vm.attachRenderer(this.renderer),this.renderer.overlayContainer&&this._layers.insertBefore(this.renderer.overlayContainer,this._overlaysOuter),this.storage=new g,this.vm.attachStorage(this.storage),"undefined"!=typeof AudioContext||"undefined"!=typeof webkitAudioContext?(this.audioEngine=new p.a,this.vm.attachAudioEngine(this.audioEngine)):console.warn("AudioContext not supported. Sound will not work."),this.bitmapAdapter=new m.BitmapAdapter,this.vm.attachV2BitmapAdapter(this.bitmapAdapter),this.videoProvider=new w,this.vm.setVideoProvider(this.videoProvider)}async _connectPeripherals(){const e=e=>new Promise((t=>{const n=t=>{const n=Object.keys(t).map((e=>t[e]));if(n.length>0){const t=n[0];console.log("Connecting to peripheral",t),this.vm.connectPeripheral(e,t.peripheralId)}else console.error("No peripherals found for",e);i()},r=()=>{console.error("Peripheral scan timed out for",e),i()},i=()=>{this.vm.removeListener("PERIPHERAL_LIST_UPDATE",n),this.vm.removeListener("PERIPHERAL_SCAN_TIMEOUT",r),t()};this.vm.on("PERIPHERAL_LIST_UPDATE",n),this.vm.on("PERIPHERAL_SCAN_TIMEOUT",r),this.vm.scanForPeripheral(e)}));for(const t of Object.keys(this.vm.runtime.peripheralExtensions))await e(t)}_onmonitorsupdate(e){for(const t of e.valueSeq()){const e=t.get("id");if(!this._monitors.has(e)){if(!t.get("visible"))continue;"list"===t.get("mode")?this._monitors.set(e,new B(this,t)):this._monitors.set(e,new P(this,t))}this._monitors.get(e).update(t)}}ask(e){return this._question=new M(this,e),this._question.answer()}_onquestion(e){this._question&&this._question.destroy(),null!==e&&this.ask(e).then((e=>{this.vm.runtime.emit("ANSWER",e)}))}loadProject(e){return this.vm.loadProject(e).then((()=>{this.vm.setCloudProvider(this.cloudManager),this.cloudManager.projectReady(),this.renderer.draw(),setTimeout((()=>{this.renderer.draw()})),this.shouldConnectPeripherals&&this._connectPeripherals()}))}setUsername(e){this._username=e,this.vm.postIOData("userData",{username:e})}addCloudProvider(e){this.cloudManager.addProvider(e)}addCloudProviderOverride(e,t){this.cloudManager.addProviderOverride(e,t)}addControlButton(e){let{element:t,where:n}=e;if("top-left"===n)this._topControls.addToStart(t);else{if("top-right"!==n)throw new Error("Unknown 'where': ".concat(n));this._topControls.addToEnd(t)}this.relayout()}getMessage(e){return this.messages[e]||e}setAccentColor(e){this._root.style.setProperty("--sc-accent-color",e),this._root.style.setProperty("--sc-accent-color-transparent","".concat(e,"59"))}start(){this.vm.start(),this.vm.greenFlag()}greenFlag(){this.start()}stopAll(){this.vm.stopAll()}_lookupVariable(e,t){const n=this.vm.runtime.getTargetForStage().lookupVariableByNameAndType(e,t);if(!n)throw new Error("Global ".concat(t||"variable"," does not exist: ").concat(e));return n}setExtensionSecurityManager(e){const t=this.vm.extensionManager.securityManager;if(t)for(const[n,r]of Object.entries(e))t[n]=W(r);else console.warn("setExtensionSecurityManager not supported: there is no security manager")}getVariable(e){return this._lookupVariable(e,"").value}setVariable(e,t){if(!U(t))throw new Error("Invalid variable value");this._lookupVariable(e,"").value=t}getList(e){return this._lookupVariable(e,"list").value}setList(e,t){if(!(e=>{if(!Array.isArray(e))return!1;for(let t=0;t<e.length;t++)if(!U(e[t]))return!1;return!0})(t))throw new Error("Invalid list value");this._lookupVariable(e,"list").value=t}}if(window.Scaffolding)throw new Error("Scaffolding already exists on this page");window.Scaffolding=r},function(e,t,n){"use strict";var r;n.r(t),n.d(t,"v1",(function(){return f})),n.d(t,"v3",(function(){return E})),n.d(t,"v4",(function(){return A})),n.d(t,"v5",(function(){return O})),n.d(t,"NIL",(function(){return M})),n.d(t,"version",(function(){return N})),n.d(t,"validate",(function(){return a})),n.d(t,"stringify",(function(){return h})),n.d(t,"parse",(function(){return g}));var i=new Uint8Array(16);function s(){if(!r&&!(r="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||"undefined"!=typeof msCrypto&&"function"==typeof msCrypto.getRandomValues&&msCrypto.getRandomValues.bind(msCrypto)))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return r(i)}var o=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;for(var a=function(e){return"string"==typeof e&&o.test(e)},l=[],c=0;c<256;++c)l.push((c+256).toString(16).substr(1));var u,d,h=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=(l[e[t+0]]+l[e[t+1]]+l[e[t+2]]+l[e[t+3]]+"-"+l[e[t+4]]+l[e[t+5]]+"-"+l[e[t+6]]+l[e[t+7]]+"-"+l[e[t+8]]+l[e[t+9]]+"-"+l[e[t+10]]+l[e[t+11]]+l[e[t+12]]+l[e[t+13]]+l[e[t+14]]+l[e[t+15]]).toLowerCase();if(!a(n))throw TypeError("Stringified UUID is invalid");return n},p=0,m=0;var f=function(e,t,n){var r=t&&n||0,i=t||new Array(16),o=(e=e||{}).node||u,a=void 0!==e.clockseq?e.clockseq:d;if(null==o||null==a){var l=e.random||(e.rng||s)();null==o&&(o=u=[1|l[0],l[1],l[2],l[3],l[4],l[5]]),null==a&&(a=d=16383&(l[6]<<8|l[7]))}var c=void 0!==e.msecs?e.msecs:Date.now(),f=void 0!==e.nsecs?e.nsecs:m+1,g=c-p+(f-m)/1e4;if(g<0&&void 0===e.clockseq&&(a=a+1&16383),(g<0||c>p)&&void 0===e.nsecs&&(f=0),f>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");p=c,m=f,d=a;var y=(1e4*(268435455&(c+=122192928e5))+f)%4294967296;i[r++]=y>>>24&255,i[r++]=y>>>16&255,i[r++]=y>>>8&255,i[r++]=255&y;var b=c/4294967296*1e4&268435455;i[r++]=b>>>8&255,i[r++]=255&b,i[r++]=b>>>24&15|16,i[r++]=b>>>16&255,i[r++]=a>>>8|128,i[r++]=255&a;for(var v=0;v<6;++v)i[r+v]=o[v];return t||h(i)};var g=function(e){if(!a(e))throw TypeError("Invalid UUID");var t,n=new Uint8Array(16);return n[0]=(t=parseInt(e.slice(0,8),16))>>>24,n[1]=t>>>16&255,n[2]=t>>>8&255,n[3]=255&t,n[4]=(t=parseInt(e.slice(9,13),16))>>>8,n[5]=255&t,n[6]=(t=parseInt(e.slice(14,18),16))>>>8,n[7]=255&t,n[8]=(t=parseInt(e.slice(19,23),16))>>>8,n[9]=255&t,n[10]=(t=parseInt(e.slice(24,36),16))/1099511627776&255,n[11]=t/4294967296&255,n[12]=t>>>24&255,n[13]=t>>>16&255,n[14]=t>>>8&255,n[15]=255&t,n};var y=function(e,t,n){function r(e,r,i,s){if("string"==typeof e&&(e=function(e){e=unescape(encodeURIComponent(e));for(var t=[],n=0;n<e.length;++n)t.push(e.charCodeAt(n));return t}(e)),"string"==typeof r&&(r=g(r)),16!==r.length)throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)");var o=new Uint8Array(16+e.length);if(o.set(r),o.set(e,r.length),(o=n(o))[6]=15&o[6]|t,o[8]=63&o[8]|128,i){s=s||0;for(var a=0;a<16;++a)i[s+a]=o[a];return i}return h(o)}try{r.name=e}catch(e){}return r.DNS="6ba7b810-9dad-11d1-80b4-00c04fd430c8",r.URL="6ba7b811-9dad-11d1-80b4-00c04fd430c8",r};function b(e){return 14+(e+64>>>9<<4)+1}function v(e,t){var n=(65535&e)+(65535&t);return(e>>16)+(t>>16)+(n>>16)<<16|65535&n}function S(e,t,n,r,i,s){return v((o=v(v(t,e),v(r,s)))<<(a=i)|o>>>32-a,n);var o,a}function w(e,t,n,r,i,s,o){return S(t&n|~t&r,e,t,i,s,o)}function k(e,t,n,r,i,s,o){return S(t&r|n&~r,e,t,i,s,o)}function x(e,t,n,r,i,s,o){return S(t^n^r,e,t,i,s,o)}function T(e,t,n,r,i,s,o){return S(n^(t|~r),e,t,i,s,o)}var E=y("v3",48,(function(e){if("string"==typeof e){var t=unescape(encodeURIComponent(e));e=new Uint8Array(t.length);for(var n=0;n<t.length;++n)e[n]=t.charCodeAt(n)}return function(e){for(var t=[],n=32*e.length,r="0123456789abcdef",i=0;i<n;i+=8){var s=e[i>>5]>>>i%32&255,o=parseInt(r.charAt(s>>>4&15)+r.charAt(15&s),16);t.push(o)}return t}(function(e,t){e[t>>5]|=128<<t%32,e[b(t)-1]=t;for(var n=1732584193,r=-271733879,i=-1732584194,s=271733878,o=0;o<e.length;o+=16){var a=n,l=r,c=i,u=s;n=w(n,r,i,s,e[o],7,-680876936),s=w(s,n,r,i,e[o+1],12,-389564586),i=w(i,s,n,r,e[o+2],17,606105819),r=w(r,i,s,n,e[o+3],22,-1044525330),n=w(n,r,i,s,e[o+4],7,-176418897),s=w(s,n,r,i,e[o+5],12,1200080426),i=w(i,s,n,r,e[o+6],17,-1473231341),r=w(r,i,s,n,e[o+7],22,-45705983),n=w(n,r,i,s,e[o+8],7,1770035416),s=w(s,n,r,i,e[o+9],12,-1958414417),i=w(i,s,n,r,e[o+10],17,-42063),r=w(r,i,s,n,e[o+11],22,-1990404162),n=w(n,r,i,s,e[o+12],7,1804603682),s=w(s,n,r,i,e[o+13],12,-40341101),i=w(i,s,n,r,e[o+14],17,-1502002290),n=k(n,r=w(r,i,s,n,e[o+15],22,1236535329),i,s,e[o+1],5,-165796510),s=k(s,n,r,i,e[o+6],9,-1069501632),i=k(i,s,n,r,e[o+11],14,643717713),r=k(r,i,s,n,e[o],20,-373897302),n=k(n,r,i,s,e[o+5],5,-701558691),s=k(s,n,r,i,e[o+10],9,38016083),i=k(i,s,n,r,e[o+15],14,-660478335),r=k(r,i,s,n,e[o+4],20,-405537848),n=k(n,r,i,s,e[o+9],5,568446438),s=k(s,n,r,i,e[o+14],9,-1019803690),i=k(i,s,n,r,e[o+3],14,-187363961),r=k(r,i,s,n,e[o+8],20,1163531501),n=k(n,r,i,s,e[o+13],5,-1444681467),s=k(s,n,r,i,e[o+2],9,-51403784),i=k(i,s,n,r,e[o+7],14,1735328473),n=x(n,r=k(r,i,s,n,e[o+12],20,-1926607734),i,s,e[o+5],4,-378558),s=x(s,n,r,i,e[o+8],11,-2022574463),i=x(i,s,n,r,e[o+11],16,1839030562),r=x(r,i,s,n,e[o+14],23,-35309556),n=x(n,r,i,s,e[o+1],4,-1530992060),s=x(s,n,r,i,e[o+4],11,1272893353),i=x(i,s,n,r,e[o+7],16,-155497632),r=x(r,i,s,n,e[o+10],23,-1094730640),n=x(n,r,i,s,e[o+13],4,681279174),s=x(s,n,r,i,e[o],11,-358537222),i=x(i,s,n,r,e[o+3],16,-722521979),r=x(r,i,s,n,e[o+6],23,76029189),n=x(n,r,i,s,e[o+9],4,-640364487),s=x(s,n,r,i,e[o+12],11,-421815835),i=x(i,s,n,r,e[o+15],16,530742520),n=T(n,r=x(r,i,s,n,e[o+2],23,-995338651),i,s,e[o],6,-198630844),s=T(s,n,r,i,e[o+7],10,1126891415),i=T(i,s,n,r,e[o+14],15,-1416354905),r=T(r,i,s,n,e[o+5],21,-57434055),n=T(n,r,i,s,e[o+12],6,1700485571),s=T(s,n,r,i,e[o+3],10,-1894986606),i=T(i,s,n,r,e[o+10],15,-1051523),r=T(r,i,s,n,e[o+1],21,-2054922799),n=T(n,r,i,s,e[o+8],6,1873313359),s=T(s,n,r,i,e[o+15],10,-30611744),i=T(i,s,n,r,e[o+6],15,-1560198380),r=T(r,i,s,n,e[o+13],21,1309151649),n=T(n,r,i,s,e[o+4],6,-145523070),s=T(s,n,r,i,e[o+11],10,-1120210379),i=T(i,s,n,r,e[o+2],15,718787259),r=T(r,i,s,n,e[o+9],21,-343485551),n=v(n,a),r=v(r,l),i=v(i,c),s=v(s,u)}return[n,r,i,s]}(function(e){if(0===e.length)return[];for(var t=8*e.length,n=new Uint32Array(b(t)),r=0;r<t;r+=8)n[r>>5]|=(255&e[r/8])<<r%32;return n}(e),8*e.length))}));var A=function(e,t,n){var r=(e=e||{}).random||(e.rng||s)();if(r[6]=15&r[6]|64,r[8]=63&r[8]|128,t){n=n||0;for(var i=0;i<16;++i)t[n+i]=r[i];return t}return h(r)};function C(e,t,n,r){switch(e){case 0:return t&n^~t&r;case 1:case 3:return t^n^r;case 2:return t&n^t&r^n&r}}function I(e,t){return e<<t|e>>>32-t}var O=y("v5",80,(function(e){var t=[1518500249,1859775393,2400959708,3395469782],n=[1732584193,4023233417,2562383102,271733878,3285377520];if("string"==typeof e){var r=unescape(encodeURIComponent(e));e=[];for(var i=0;i<r.length;++i)e.push(r.charCodeAt(i))}else Array.isArray(e)||(e=Array.prototype.slice.call(e));e.push(128);for(var s=e.length/4+2,o=Math.ceil(s/16),a=new Array(o),l=0;l<o;++l){for(var c=new Uint32Array(16),u=0;u<16;++u)c[u]=e[64*l+4*u]<<24|e[64*l+4*u+1]<<16|e[64*l+4*u+2]<<8|e[64*l+4*u+3];a[l]=c}a[o-1][14]=8*(e.length-1)/Math.pow(2,32),a[o-1][14]=Math.floor(a[o-1][14]),a[o-1][15]=8*(e.length-1)&4294967295;for(var d=0;d<o;++d){for(var h=new Uint32Array(80),p=0;p<16;++p)h[p]=a[d][p];for(var m=16;m<80;++m)h[m]=I(h[m-3]^h[m-8]^h[m-14]^h[m-16],1);for(var f=n[0],g=n[1],y=n[2],b=n[3],v=n[4],S=0;S<80;++S){var w=Math.floor(S/20),k=I(f,5)+C(w,g,y,b)+v+t[w]+h[S]>>>0;v=b,b=y,y=I(g,30)>>>0,g=f,f=k}n[0]=n[0]+f>>>0,n[1]=n[1]+g>>>0,n[2]=n[2]+y>>>0,n[3]=n[3]+b>>>0,n[4]=n[4]+v>>>0}return[n[0]>>24&255,n[0]>>16&255,n[0]>>8&255,255&n[0],n[1]>>24&255,n[1]>>16&255,n[1]>>8&255,255&n[1],n[2]>>24&255,n[2]>>16&255,n[2]>>8&255,255&n[2],n[3]>>24&255,n[3]>>16&255,n[3]>>8&255,255&n[3],n[4]>>24&255,n[4]>>16&255,n[4]>>8&255,255&n[4]]})),M="00000000-0000-0000-0000-000000000000";var N=function(e){if(!a(e))throw TypeError("Invalid UUID");return parseInt(e.substr(14,1),16)}}]); +// c11cf08a48f82d3faa43aa0b5a6943e314aee3e725d145b771fed3bee77452bd =^..^= \ No newline at end of file