diff --git a/3d-menu-loader.js b/3d-menu-loader.js new file mode 100644 index 0000000..65782b8 --- /dev/null +++ b/3d-menu-loader.js @@ -0,0 +1,235 @@ +import * as THREE from 'three'; +import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'; + +// Global state for pause/resume +let isMenuActive = true; +let animationFrameId = null; +let isLaunching = false; +let launchSpeed = 0; +let startPivotRef = null; + +function init3DMenu() { + console.log("Initializing 3D Menu..."); + const container = document.getElementById('modelContainer'); + if (!container) { + console.error('modelContainer element not found in DOM'); + return; + } + + // --- Loading UI --- + const loadingDiv = document.createElement('div'); + loadingDiv.style.cssText = ` + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + color: #00eaff; + font-family: 'Orbitron', sans-serif; + font-size: 20px; + text-align: center; + z-index: 100; + text-shadow: 0 0 10px #00eaff; + pointer-events: none; + `; + loadingDiv.innerHTML = 'INITIALIZING SYSTEM...
0%'; + container.appendChild(loadingDiv); + container.style.position = 'relative'; + + // --- Scene Setup --- + const scene = new THREE.Scene(); + + // Create a pivot group to handle the spinning independently of the model's orientation + const startPivot = new THREE.Group(); + scene.add(startPivot); + startPivotRef = startPivot; // Store reference for launch animation + + // Camera + const aspect = container.clientWidth / container.clientHeight; + const camera = new THREE.PerspectiveCamera(45, aspect, 0.1, 1000); + camera.position.set(0, 0, 7); + + // Renderer + const renderer = new THREE.WebGLRenderer({ alpha: true, antialias: true }); + renderer.setSize(container.clientWidth, container.clientHeight); + renderer.setPixelRatio(window.devicePixelRatio); + renderer.outputColorSpace = THREE.SRGBColorSpace; + container.appendChild(renderer.domElement); + + // --- Lighting --- + const ambientLight = new THREE.AmbientLight(0xffffff, 0.6); + scene.add(ambientLight); + + const dirLight = new THREE.DirectionalLight(0xffffff, 2); + dirLight.position.set(5, 10, 7); + scene.add(dirLight); + + const blueLight = new THREE.PointLight(0x00eaff, 3, 20); + blueLight.position.set(-2, 2, 2); + scene.add(blueLight); + + // --- Model Loading --- + const loader = new GLTFLoader(); + + console.log("Attempting to load: img/3D.glb"); + + loader.load( + 'img/3D.glb', + (gltf) => { + console.log("Model loaded successfully!"); + const model = gltf.scene; + loadingDiv.remove(); + + // Auto-Scaling + const box = new THREE.Box3().setFromObject(model); + const size = box.getSize(new THREE.Vector3()); + const maxDim = Math.max(size.x, size.y, size.z); + + if (maxDim > 0) { + const scale = 3.8 / maxDim; + model.scale.set(scale, scale, scale); + } + + // Re-centering + const newBox = new THREE.Box3().setFromObject(model); + const center = newBox.getCenter(new THREE.Vector3()); + model.position.sub(center); + + // ORIENTATION CORRECTION + model.rotation.x = -Math.PI / 2; + model.rotation.z = Math.PI; + + // Add the oriented model to the pivot group + startPivot.add(model); + }, + (xhr) => { + if (xhr.lengthComputable) { + const percent = Math.round((xhr.loaded / xhr.total) * 100); + const span = loadingDiv.querySelector('span'); + if (span) span.textContent = percent + '%'; + } + }, + (error) => { + console.error('Error loading model:', error); + loadingDiv.innerHTML = 'ERROR
Check Console (F12)'; + + const geometry = new THREE.BoxGeometry(2, 2, 2); + const material = new THREE.MeshBasicMaterial({ color: 0xff0000, wireframe: true }); + const cube = new THREE.Mesh(geometry, material); + startPivot.add(cube); + } + ); + + // --- Animation Loop --- + function animate() { + if (!isMenuActive && !isLaunching) { + animationFrameId = null; + return; + } + + animationFrameId = requestAnimationFrame(animate); + + if (isLaunching) { + // LAUNCH MODE: Fly upward at accelerating speed + launchSpeed += 0.015; // Acceleration + startPivot.position.y += launchSpeed; + + // Straighten the ship during launch (reduce banking) + startPivot.rotation.y *= 0.95; + startPivot.rotation.z *= 0.95; + + // Check if ship is out of view (Y > 15 is well off screen) + if (startPivot.position.y > 15) { + console.log("Ship has left the screen!"); + isLaunching = false; + isMenuActive = false; + + // Trigger callback if set + if (window._onLaunchComplete) { + window._onLaunchComplete(); + } + return; + } + } else { + // NORMAL MODE: Oscillate (Roll/Bank) Left and Right + startPivot.rotation.y = Math.sin(Date.now() * 0.0015) * (Math.PI / 6); + // Gentle float with UPWARD offset (0.5) + startPivot.position.y = 0.5 + (Math.sin(Date.now() * 0.001) * 0.1); + } + + renderer.render(scene, camera); + } + + window._menu3DAnimate = animate; + animate(); + + // --- Resize Handler --- + window.addEventListener('resize', () => { + if (!container || (!isMenuActive && !isLaunching)) return; + const newAspect = container.clientWidth / container.clientHeight; + camera.aspect = newAspect; + camera.updateProjectionMatrix(); + renderer.setSize(container.clientWidth, container.clientHeight); + }); +} + +// === GLOBAL PAUSE/RESUME FUNCTIONS === + +window.pauseMenu3D = function () { + isMenuActive = false; + console.log("3D Menu rendering PAUSED"); + + const mainTitle = document.querySelector('.main-title'); + const bgTiles = document.querySelectorAll('.bg-tile'); + + if (mainTitle) { + mainTitle.style.animationPlayState = 'paused'; + } + bgTiles.forEach(tile => { + tile.style.animationPlayState = 'paused'; + }); +}; + +window.resumeMenu3D = function () { + isMenuActive = true; + isLaunching = false; + launchSpeed = 0; + + // Reset ship position + if (startPivotRef) { + startPivotRef.position.y = 0.5; + startPivotRef.rotation.y = 0; + } + + console.log("3D Menu rendering RESUMED"); + + const mainTitle = document.querySelector('.main-title'); + const bgTiles = document.querySelectorAll('.bg-tile'); + + if (mainTitle) { + mainTitle.style.animationPlayState = 'running'; + } + bgTiles.forEach(tile => { + tile.style.animationPlayState = 'running'; + }); + + if (animationFrameId === null && window._menu3DAnimate) { + window._menu3DAnimate(); + } +}; + +// === LAUNCH SHIP ANIMATION === +// Call this to make the ship fly off screen, then execute callback +window.launchShip = function (onComplete) { + console.log("LAUNCHING SHIP!"); + isLaunching = true; + launchSpeed = 0.05; // Initial speed + window._onLaunchComplete = onComplete; + + // Ensure animation loop is running + if (animationFrameId === null && window._menu3DAnimate) { + window._menu3DAnimate(); + } +}; + +// Start +init3DMenu(); diff --git a/Login1.css b/Login1.css index 8a81b31..db1479c 100644 --- a/Login1.css +++ b/Login1.css @@ -1,326 +1,362 @@ @import url('https://fonts.googleapis.com/css2?family=Orbitron:wght@400;700;900&display=swap'); - * { - margin: 0; - padding: 0; - box-sizing: border-box; - } +* { + margin: 0; + padding: 0; + box-sizing: border-box; +} - body { - font-family: 'Orbitron', sans-serif; - background: #0a0a0a; - overflow: hidden; - position: relative; - } +body { + font-family: 'Orbitron', sans-serif; + background: #0a0a0a; + overflow: hidden; + position: relative; + cursor: url('img/Custom cursor/Arrow.cur'), auto; +} - .stars { - position: fixed; - width: 100%; - height: 100%; - background: radial-gradient(2px 2px at 20% 30%, white, transparent), - radial-gradient(2px 2px at 60% 70%, white, transparent), - radial-gradient(1px 1px at 50% 50%, white, transparent), - radial-gradient(1px 1px at 80% 10%, white, transparent), - radial-gradient(2px 2px at 90% 60%, white, transparent); - background-size: 200% 200%; - animation: twinkle 8s ease-in-out infinite; - opacity: 0.5; - } +a, +button, +input[type="submit"], +input[type="button"], +.toggle-link, +.btn-send, +.btn-reset, +.toggle-btn, +.back-btn { + cursor: url('img/Custom cursor/Stone.cur'), pointer; +} - @keyframes twinkle { - 0%, 100% { opacity: 0.5; } - 50% { opacity: 0.8; } - } +.stars { + position: fixed; + width: 100%; + height: 100%; + background: radial-gradient(2px 2px at 20% 30%, white, transparent), + radial-gradient(2px 2px at 60% 70%, white, transparent), + radial-gradient(1px 1px at 50% 50%, white, transparent), + radial-gradient(1px 1px at 80% 10%, white, transparent), + radial-gradient(2px 2px at 90% 60%, white, transparent); + background-size: 200% 200%; + animation: twinkle 8s ease-in-out infinite; + opacity: 0.5; +} - .neon-grid { - position: fixed; - width: 100%; - height: 100%; - background-image: linear-gradient(90deg, rgba(0, 255, 255, 0.15) 1px, transparent 1px); - background-size: 50px 50px; - } +@keyframes twinkle { - .layout { - position: relative; - display: flex; - height: 100vh; - width: 100vw; - z-index: 1; - } + 0%, + 100% { + opacity: 0.5; + } - .left-panel { - width: 55%; - display: flex; - flex-direction: column; - justify-content: center; - align-items: center; - padding: 40px; - } + 50% { + opacity: 0.8; + } +} - .title-container { - text-align: center; - } +.neon-grid { + position: fixed; + width: 100%; + height: 100%; + background-image: linear-gradient(90deg, rgba(0, 255, 255, 0.15) 1px, transparent 1px); + background-size: 50px 50px; +} - .main-title { - font-size: clamp(55px, 10vw, 140px); - font-weight: 900; - line-height: 0.9; - background: linear-gradient(45deg, #FF006E, #8338EC, #00F5FF); - background-size: 200% 200%; - -webkit-background-clip: text; - -webkit-text-fill-color: transparent; - animation: gradientShift 3s ease infinite; - text-shadow: 0 0 80px rgba(255, 0, 110, 0.5); - filter: drop-shadow(0 0 20px rgba(131, 56, 236, 0.8)); - } +.layout { + position: relative; + display: flex; + height: 100vh; + width: 100vw; + z-index: 1; +} - @keyframes gradientShift { - 0%, 100% { background-position: 0% 50%; } - 50% { background-position: 100% 50%; } - } +.left-panel { + width: 55%; + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + padding: 40px; +} - .subtitle { - font-size: clamp(14px, 2vw, 20px); - color: #00F5FF; - letter-spacing: 8px; - margin-top: 20px; - opacity: 0.8; - animation: pulse 2s ease-in-out infinite; - } +.title-container { + text-align: center; +} - @keyframes pulse { - 0%, 100% { opacity: 0.6; } - 50% { opacity: 1; } - } +.main-title { + font-size: clamp(55px, 10vw, 140px); + font-weight: 900; + line-height: 0.9; + background: linear-gradient(45deg, #FF006E, #8338EC, #00F5FF); + background-size: 200% 200%; + -webkit-background-clip: text; + background-clip: text; + -webkit-text-fill-color: transparent; + animation: gradientShift 3s ease infinite; + text-shadow: 0 0 80px rgba(255, 0, 110, 0.5); + filter: drop-shadow(0 0 20px rgba(131, 56, 236, 0.8)); +} - .right-panel { - width: 45%; - display: flex; - justify-content: center; - align-items: center; - padding: 40px; - } +@keyframes gradientShift { - .form-box { - width: 100%; - max-width: 420px; - background: rgba(20, 20, 40, 0.8); - border-radius: 20px; - padding: 40px; - border: 2px solid rgba(255, 0, 110, 0.3); - box-shadow: - 0 0 40px rgba(255, 0, 110, 0.3), - 0 0 80px rgba(131, 56, 236, 0.2), - inset 0 0 60px rgba(0, 245, 255, 0.05); - backdrop-filter: blur(10px); - position: relative; - } + 0%, + 100% { + background-position: 0% 50%; + } - .form-content { - position: relative; - z-index: 1; - } + 50% { + background-position: 100% 50%; + } +} - .form-title { - font-size: 28px; - color: #00F5FF; - text-align: center; - margin-bottom: 30px; - text-transform: uppercase; - letter-spacing: 3px; - text-shadow: 0 0 20px rgba(0, 245, 255, 0.8); - } +.subtitle { + font-size: clamp(14px, 2vw, 20px); + color: #00F5FF; + letter-spacing: 8px; + margin-top: 20px; + opacity: 0.8; + animation: pulse 2s ease-in-out infinite; +} - label { - display: block; - color: #FF006E; - font-size: 14px; - margin-bottom: 8px; - text-transform: uppercase; - letter-spacing: 2px; - font-weight: 700; - } +@keyframes pulse { - input[type="text"], - input[type="password"] { - width: 100%; - padding: 15px 20px; - margin-bottom: 25px; - background: rgba(0, 0, 0, 0.5); - border: 2px solid rgba(0, 245, 255, 0.3); - border-radius: 10px; - color: #00F5FF; - font-size: 16px; - font-family: 'Orbitron', sans-serif; - transition: all 0.3s ease; - box-shadow: inset 0 0 20px rgba(0, 0, 0, 0.5); - } + 0%, + 100% { + opacity: 0.6; + } - input[type="text"]:focus, - input[type="password"]:focus { - outline: none; - border-color: #FF006E; - box-shadow: - 0 0 20px rgba(255, 0, 110, 0.5), - inset 0 0 20px rgba(255, 0, 110, 0.1); - background: rgba(0, 0, 0, 0.7); - } + 50% { + opacity: 1; + } +} - input::placeholder { - color: rgba(0, 245, 255, 0.4); - font-size: 14px; - } +.right-panel { + width: 45%; + display: flex; + justify-content: center; + align-items: center; + padding: 40px; +} - .button-group { - display: flex; - flex-direction: column; - align-items: center; - gap: 20px; - margin-top: 30px; - } +.form-box { + width: 100%; + max-width: 420px; + background: rgba(20, 20, 40, 0.8); + border-radius: 20px; + padding: 40px; + border: 2px solid rgba(255, 0, 110, 0.3); + box-shadow: + 0 0 40px rgba(255, 0, 110, 0.3), + 0 0 80px rgba(131, 56, 236, 0.2), + inset 0 0 60px rgba(0, 245, 255, 0.05); + backdrop-filter: blur(10px); + position: relative; +} - button { - width: 100%; - max-width: 250px; - padding: 15px; - font-family: 'Orbitron', sans-serif; - font-size: 14px; - font-weight: 700; - text-transform: uppercase; - letter-spacing: 2px; - border: none; - border-radius: 10px; - cursor: pointer; - transition: all 0.3s ease; - position: relative; - overflow: hidden; - } +.form-content { + position: relative; + z-index: 1; +} - .btn-send { - background: linear-gradient(45deg, #FF006E, #8338EC); - color: white; - box-shadow: 0 0 20px rgba(255, 0, 110, 0.5); - } +.form-title { + font-size: 28px; + color: #00F5FF; + text-align: center; + margin-bottom: 30px; + text-transform: uppercase; + letter-spacing: 3px; + text-shadow: 0 0 20px rgba(0, 245, 255, 0.8); +} - .btn-send:hover { - box-shadow: 0 0 40px rgba(255, 0, 110, 0.8); - transform: translateY(-2px); - } +label { + display: block; + color: #FF006E; + font-size: 14px; + margin-bottom: 8px; + text-transform: uppercase; + letter-spacing: 2px; + font-weight: 700; +} - .btn-reset { - background: linear-gradient(45deg, #8338EC, #00F5FF); - color: white; - box-shadow: 0 0 20px rgba(0, 245, 255, 0.5); - } +input[type="text"], +input[type="password"] { + width: 100%; + padding: 15px 20px; + margin-bottom: 25px; + background: rgba(0, 0, 0, 0.5); + border: 2px solid rgba(0, 245, 255, 0.3); + border-radius: 10px; + color: #00F5FF; + font-size: 16px; + font-family: 'Orbitron', sans-serif; + transition: all 0.3s ease; + box-shadow: inset 0 0 20px rgba(0, 0, 0, 0.5); +} - .btn-reset:hover { - box-shadow: 0 0 40px rgba(0, 245, 255, 0.8); - transform: translateY(-2px); - } +input[type="text"]:focus, +input[type="password"]:focus { + outline: none; + border-color: #FF006E; + box-shadow: + 0 0 20px rgba(255, 0, 110, 0.5), + inset 0 0 20px rgba(255, 0, 110, 0.1); + background: rgba(0, 0, 0, 0.7); +} - .signup-text { - color: rgba(0, 245, 255, 0.7); - font-size: 13px; - text-align: center; - letter-spacing: 1px; - } +input::placeholder { + color: rgba(0, 245, 255, 0.4); + font-size: 14px; +} - .signup-text a { - color: #FF006E; - text-decoration: none; - font-weight: 700; - transition: all 0.3s ease; - text-shadow: 0 0 10px rgba(255, 0, 110, 0.3); - } +.button-group { + display: flex; + flex-direction: column; + align-items: center; + gap: 20px; + margin-top: 30px; +} - .signup-text a:hover { - color: #00F5FF; - text-shadow: 0 0 15px rgba(0, 245, 255, 0.8); - } +button { + width: 100%; + max-width: 250px; + padding: 15px; + font-family: 'Orbitron', sans-serif; + font-size: 14px; + font-weight: 700; + text-transform: uppercase; + letter-spacing: 2px; + border: none; + border-radius: 10px; + cursor: pointer; + transition: all 0.3s ease; + position: relative; + overflow: hidden; +} - button::before { - content: ''; - position: absolute; - top: 50%; - left: 50%; - width: 0; - height: 0; - border-radius: 50%; - background: rgba(255, 255, 255, 0.3); - transform: translate(-50%, -50%); - transition: width 0.6s, height 0.6s; - } +.btn-send { + background: linear-gradient(45deg, #FF006E, #8338EC); + color: white; + box-shadow: 0 0 20px rgba(255, 0, 110, 0.5); +} - button:active::before { - width: 300px; - height: 300px; - } +.btn-send:hover { + box-shadow: 0 0 40px rgba(255, 0, 110, 0.8); + transform: translateY(-2px); +} - .user-list { - position: absolute; - bottom: 30px; - left: 50%; - transform: translateX(-50%); - width: 90%; - max-width: 500px; - max-height: 200px; - overflow-y: auto; - z-index: 10; - } +.btn-reset { + background: linear-gradient(45deg, #8338EC, #00F5FF); + color: white; + box-shadow: 0 0 20px rgba(0, 245, 255, 0.5); +} - .user-card { - background: rgba(20, 20, 40, 0.9); - border: 1px solid rgba(0, 245, 255, 0.4); - border-radius: 10px; - padding: 20px 25px; - margin-bottom: 10px; - text-align: center; - box-shadow: 0 0 20px rgba(0, 245, 255, 0.3); - animation: slideIn 0.4s ease; - opacity: 1; - transition: opacity 1.5s ease; +.btn-reset:hover { + box-shadow: 0 0 40px rgba(0, 245, 255, 0.8); + transform: translateY(-2px); +} - } +.signup-text { + color: rgba(0, 245, 255, 0.7); + font-size: 13px; + text-align: center; + letter-spacing: 1px; +} - .usercardfade-out { +.signup-text a { + color: #FF006E; + text-decoration: none; + font-weight: 700; + transition: all 0.3s ease; + text-shadow: 0 0 10px rgba(255, 0, 110, 0.3); +} + +.signup-text a:hover { + color: #00F5FF; + text-shadow: 0 0 15px rgba(0, 245, 255, 0.8); +} + +button::before { + content: ''; + position: absolute; + top: 50%; + left: 50%; + width: 0; + height: 0; + border-radius: 50%; + background: rgba(255, 255, 255, 0.3); + transform: translate(-50%, -50%); + transition: width 0.6s, height 0.6s; +} + +button:active::before { + width: 300px; + height: 300px; +} + +.user-list { + position: absolute; + bottom: 30px; + left: 50%; + transform: translateX(-50%); + width: 90%; + max-width: 500px; + max-height: 200px; + overflow-y: auto; + z-index: 10; +} + +.user-card { + background: rgba(20, 20, 40, 0.9); + border: 1px solid rgba(0, 245, 255, 0.4); + border-radius: 10px; + padding: 20px 25px; + margin-bottom: 10px; + text-align: center; + box-shadow: 0 0 20px rgba(0, 245, 255, 0.3); + animation: slideIn 0.4s ease; + opacity: 1; + transition: opacity 1.5s ease; + +} + +.usercardfade-out { + opacity: 0; +} + + +@keyframes slideIn { + from { opacity: 0; - } + transform: translateY(20px); + } + to { + opacity: 1; + transform: translateY(0); + } +} - @keyframes slideIn { - from { - opacity: 0; - transform: translateY(20px); - } - to { - opacity: 1; - transform: translateY(0); - } - } +.user-name { + color: #00F5FF; + font-size: 16px; + font-weight: 400; + text-shadow: 0 0 10px rgba(0, 245, 255, 0.5); + line-height: 1.6; +} - .user-name { - color: #00F5FF; - font-size: 16px; - font-weight: 400; - text-shadow: 0 0 10px rgba(0, 245, 255, 0.5); - line-height: 1.6; - } +.user-name strong { + color: #FF006E; + font-weight: 700; +} - .user-name strong { - color: #FF006E; - font-weight: 700; - } +.user-list::-webkit-scrollbar { + width: 8px; +} - .user-list::-webkit-scrollbar { - width: 8px; - } +.user-list::-webkit-scrollbar-track { + background: rgba(0, 0, 0, 0.3); + border-radius: 10px; +} - .user-list::-webkit-scrollbar-track { - background: rgba(0, 0, 0, 0.3); - border-radius: 10px; - } - - .user-list::-webkit-scrollbar-thumb { - background: linear-gradient(45deg, #FF006E, #8338EC); - border-radius: 10px; - } \ No newline at end of file +.user-list::-webkit-scrollbar-thumb { + background: linear-gradient(45deg, #FF006E, #8338EC); + border-radius: 10px; +} \ No newline at end of file diff --git a/Main.html b/Main.html index 795aac7..e63d06a 100644 --- a/Main.html +++ b/Main.html @@ -4,46 +4,54 @@ - Space Game + Space ODYSSEY + + + +
+ +
+ + +
+
+ + + diff --git a/README.md b/README.md new file mode 100644 index 0000000..cfade02 --- /dev/null +++ b/README.md @@ -0,0 +1,52 @@ +# Space Odyssey + +- **Gameplay utama** – Kendalikan kapal, hindari gerombolan musuh, kumpulkan token kemampuan, dan tembak misil/bom. +- **Adrenaline Surge** – Jendela "surge" acak yang meningkatkan laju munculnya musuh, dan fase overdrive yang meningkatkan laju tembak. +- **Bomb Spell Card** – Spell‑card visual yang muncul saat aktivasi ability: Bomb +- **Polished UI** – Suara hover, menu animasi, kontrol berbasis glass‑morphism, overlay film‑grain, dan kanvas responsif. + + + +## 🛠️ Installation & Running + +1. **Clone Repo/ Download Zip** ke folder di komputer kamu +2. Buka `play_game.bat` (Jika ingin main dengan tanpa ribet Database) `tidak disarankan untuk membuka game melalui Main.html` + + +Note: *May not run smoothly on low-end devices* +--- + +## 🎮 Controls + +| Action | Keyboard | Mouse | +|---|---|---| +| Gerak | `Arrow keys` / `WASD` | `Gerakkan kursor mouse (kapal mengikutinya)` | +| Tembak (laser) | `Space` | `Klik kiri` | +| Bom | `Q` | `Klik kanan` | +| Misil | `E` | `Klik tengah` | +| Pause | `P/ESC` | `P/ESC` | + +UI **Controls** otomatis berubah ketika kamu mengganti mode input di menu Options. + +--- + +## 🔊 Audio + +- **SFX** – Aktif/non‑aktif lewat menu Settings (`gameSettings.sfxEnabled`). +- **Surge Warning** – Memutar `music/sfx/Warning.wav`. +- **Game‑Over** – Cross‑fade dari `currentBGM` ke `gameOverBGM`. + +--- + +## 👥 Team Members + +| Nama | NRP | +|---|---| +| **Stanley Timoti Gunawan** | 5803025021 | +| **Phillipo M.A.B** | 5803025025 | +| **Jeremy Christian** | 5803025027 | + +--- + +--- +*In the night full of stars, we journeyed to the unknown.* diff --git a/Script.js b/Script.js index 277c5b3..e5bd914 100644 --- a/Script.js +++ b/Script.js @@ -1,2014 +1 @@ -"use strict"; - -const DEBUG_HITBOX = false; - -const bgmList = [ - { normal: "music/Scary.mp3", gameover: "music/ScaryGO.mp3" }, - { normal: "music/Fear.mp3", gameover: "music/FearGO.mp3" }, - { normal: "music/Chill.mp3", gameover: "music/ChillGO.mp3" }, -]; - -let currentBGM = new Audio(); -let gameOverBGM = new Audio(); -currentBGM.loop = true; -gameOverBGM.loop = true; - -function pickRandomBGM() { - const bgm = bgmList[Math.floor(Math.random() * bgmList.length)]; - currentBGM.src = bgm.normal; - gameOverBGM.src = bgm.gameover; -} - -var canvasWidth = 1280; -var canvasHeight = 720; -var worldHeight = 900; -var c, ctx; -var gameStarted = false; -var musicMuted = false; - -let vignetteCanvas = null; - -let lastFrameTime = 0; -const frameInterval = 1000 / 90; - -let cameraY = 0; - -let respawnCounter = 0; -let damageFlash = 0; - -let currentWave = null; -let waveCooldown = 0; - -let abilityCharges = 0; -let missileAmmo = 0; - -var game = { - level: 1, - speed: 1, - gameOver: false, - frames: 0, - timer: 0, - surge: 1.0, - surgePhase: 0, - surgeTimer: 0, - surgeCooldown: 2400, -}; - -var keys = { - up: false, - down: false, - left: false, - right: false, - fire: false, -}; - -// --- LOAD IMAGES --- -var playerShipImg = new Image(); -playerShipImg.src = "img/Player/pesawat22.png"; - -// --- GAMBAR PICKUP SKILLS --- -var missilePickupImg = new Image(); -missilePickupImg.src = "img/Skills/missile.png"; - -var laserPickupImg = new Image(); -laserPickupImg.src = "img/Skills/double-missile.png"; - -// *** GAMBAR BARU UNTUK PICKUP BOMB *** -var bombPickupImg = new Image(); -bombPickupImg.src = "img/Skills/bomb.png"; - -var livesImg = new Image(); -livesImg.src = "img/Player/lives.png"; - -var bg0 = new Image(); -bg0.src = "img/bg_0.png"; -var bg1 = new Image(); -bg1.src = "img/bg_1.png"; -var bg2 = new Image(); -bg2.src = "img/bg_2.png"; - -var enemyImgArray = []; -enemyImgArray.length = 4; - -let audioStarted = false; - -window.addEventListener("keydown", () => { - if (!audioStarted) { - currentBGM.play().catch(() => { }); - audioStarted = true; - } -}); - -window.addEventListener("click", () => { - if (!audioStarted) { - currentBGM.play().catch(() => { }); - audioStarted = true; - } -}); - -for (var i = 0; i < enemyImgArray.length; i++) { - enemyImgArray[i] = new Image(); - enemyImgArray[i].src = "img/SpritesShips/alien_" + [i] + ".png"; -} - -var missilesArray = []; -var playerMissilesArray = []; -var enemyShipArray = []; -var enemyBulletsArray = []; -var explosions = []; -var abilityTokens = []; -var particles = []; - -var laser = document.createElement("audio"); -laser.src = "music/laser2.mp3"; - -var explosion_enemy = document.createElement("audio"); -explosion_enemy.src = "music/explosion-small.mp3"; - -var planetImages = []; -for (let i = 1; i <= 4; i++) { - let img = new Image(); - img.src = `img/SpritesPlanet/planet_${i}.png`; - planetImages.push(img); -} - -let currentPlanet = null; - -let laserSprite, enemyBulletSprite, missileSprite; - -function preRenderAssets() { - const lPad = 20; - const lW = 13 + lPad * 2; - const lH = 4 + lPad * 2; - laserSprite = document.createElement("canvas"); - laserSprite.width = lW; - laserSprite.height = lH; - const lCtx = laserSprite.getContext("2d"); - - let lg = lCtx.createLinearGradient(lPad, lPad, lPad + 13, lPad); - lg.addColorStop(0, "#00e1ff"); - lg.addColorStop(0.5, "#ffffff"); - lg.addColorStop(1, "#00e1ff"); - - lCtx.fillStyle = lg; - lCtx.shadowColor = "#00ffff"; - lCtx.shadowBlur = 15; - lCtx.fillRect(lPad, lPad, 13, 4); - - - const ePad = 15; - const eW = 10 + ePad * 2; - const eH = 4 + ePad * 2; - enemyBulletSprite = document.createElement("canvas"); - enemyBulletSprite.width = eW; - enemyBulletSprite.height = eH; - const eCtx = enemyBulletSprite.getContext("2d"); - - let eg = eCtx.createLinearGradient(ePad + 10, ePad, ePad, ePad); - eg.addColorStop(0, "#ff9900"); - eg.addColorStop(0.5, "#ffffff"); - eg.addColorStop(1, "#ff3300"); - - eCtx.fillStyle = eg; - eCtx.shadowColor = "#ff6600"; - eCtx.shadowBlur = 10; - eCtx.fillRect(ePad, ePad, 10, 4); - - - const mPad = 5; - const mW = 30 + mPad * 2; - const mH = 12 + mPad * 2; - missileSprite = document.createElement("canvas"); - missileSprite.width = mW; - missileSprite.height = mH; - const mCtx = missileSprite.getContext("2d"); - - let mg = mCtx.createLinearGradient(mPad, mPad, mPad + 30, mPad); - mg.addColorStop(0, "#00008b"); - mg.addColorStop(0.5, "#4169e1"); - mg.addColorStop(1, "#ffffff"); - - mCtx.fillStyle = mg; - mCtx.beginPath(); - mCtx.moveTo(mPad, mPad); - mCtx.lineTo(mPad + 30, mPad + 6); - mCtx.lineTo(mPad, mPad + 12); - mCtx.fill(); -} - -window.onload = function () { - init(); -}; - -function init() { - preRenderAssets(); - c = document.getElementById("canvas"); - - ctx = c.getContext("2d", { alpha: false }); - - c.width = canvasWidth; - c.height = canvasHeight; - - document.addEventListener("keydown", keyDownPressed, false); - document.addEventListener("keyup", keyUpPressed, false); - - document.addEventListener("contextmenu", (event) => event.preventDefault()); - - gameStarted = true; - pickRandomBGM(); - currentBGM.volume = 1; - - requestAnimationFrame(gameLoop); -} - -function gameLoop(timestamp) { - if (!gameStarted) return; - - if (game.gameOver) { - clearGame(); - drawGameOver(); - return; - } - - if (timestamp - lastFrameTime >= frameInterval) { - lastFrameTime = timestamp; - - if (!gamePaused) { - clearGame(); - updateGame(); - drawGame(); - } else { - drawPauseOverlay(); - } - } - - requestAnimationFrame(gameLoop); -} - -let gamePaused = false; - -function keyDownPressed(e) { - if (e.keyCode === 87 || e.keyCode === 38) keys.up = true; - else if (e.keyCode === 83 || e.keyCode === 40) keys.down = true; - if (e.keyCode === 65 || e.keyCode === 37) keys.left = true; - if (e.keyCode === 68 || e.keyCode === 39) keys.right = true; - - if (e.keyCode === 32) { - keys.fire = true; - if (!player1.dead) { - fireBullet(); - } - } - - if (e.keyCode === 80) togglePause(); - - if (e.keyCode === 16) { - if (abilityCharges > 0 && !game.gameOver && !gamePaused && !player1.dead) { - useAbility(); - abilityCharges--; - } - } - - if (e.keyCode === 81) { - // Q - if (!game.gameOver && !gamePaused && !player1.dead) { - firePlayerMissile(); - } - } -} - -function keyUpPressed(e) { - if (e.keyCode === 87 || e.keyCode === 38) keys.up = false; - else if (e.keyCode === 83 || e.keyCode === 40) keys.down = false; - if (e.keyCode === 65 || e.keyCode === 37) keys.left = false; - if (e.keyCode === 68 || e.keyCode === 39) keys.right = false; - if (e.keyCode === 32) keys.fire = false; -} - -function fireBullet() { - if (player1.doubleLaserTimer > 0) { - missilesArray.push( - new LaserBullet( - player1.x + player1.width, - player1.y + player1.height / 2 - 15 - ) - ); - missilesArray.push( - new LaserBullet( - player1.x + player1.width, - player1.y + player1.height / 2 + 15 - ) - ); - } else { - missilesArray.push( - new LaserBullet(player1.x + player1.width, player1.y + player1.height / 2) - ); - } - - laser.currentTime = 0; - laser.volume = 0.2; - laser.play(); - createParticles( - player1.x + player1.width, - player1.y + player1.height / 2, - 5, - "#00e1ff" - ); -} - -function firePlayerMissile() { - if (missileAmmo > 0) { - missileAmmo--; - playerMissilesArray.push( - new PlayerMissile( - player1.x + player1.width, - player1.y + player1.height / 2 - 10 - ) - ); - - let sfx = explosion_enemy.cloneNode(); - sfx.volume = 0.5; - sfx.playbackRate = 2.0; - sfx.play(); - } -} - -function clearGame() { - ctx.clearRect(0, 0, canvasWidth, canvasHeight); -} - -function updateGame() { - game.frames++; - - updateSurge(); - - // Base speed + Surge - game.level = 1 + Math.floor(player1.score / 500); - let baseSpeed = 1 + game.level * 0.1; - game.speed = baseSpeed * game.surge; - - updateStarField(); - - addShips(); - maybeSpawnAbilityToken(); - - if (keys.fire && !player1.dead && game.frames % 8 === 0) { - fireBullet(); - } - - if (!player1.dead) { - player1.update(); - if (player1.invincible > 0) player1.invincible--; - updateCamera(); - } else { - if (respawnCounter > 0) { - respawnCounter--; - if (respawnCounter <= 0 && player1.lives > 0) { - player1.dead = false; - player1.invincible = 120; - player1.x = 100; - player1.y = canvasHeight / 2 - player1.height / 2; - player1.vx = 0; - player1.vy = 0; - player1.doubleLaserTimer = 0; - } - } - } - - spawnPlanet(); - if (currentPlanet) currentPlanet.update(); - - updateParticles(); -} - -function drawGame() { - ctx.save(); - - - - ctx.translate(0, cameraY); - - drawStarField(); - - if (currentPlanet) currentPlanet.draw(); - - drawParticles(); - - for (let i = 0; i < abilityTokens.length; i++) { - const t = abilityTokens[i]; - t.draw(); - t.update(); - - if ( - !player1.dead && - Tabrakan(player1.getHitbox(), { - x: t.x, - y: t.y, - width: t.width, - height: t.height, - }) - ) { - if (t.type === "bomb") { - abilityCharges++; - createParticles(t.x, t.y, 15, "#ffff00"); - } else if (t.type === "double") { - player1.doubleLaserTimer = 600; - createParticles(t.x, t.y, 15, "#ff0000"); - } else if (t.type === "missile") { - missileAmmo += 3; - createParticles(t.x, t.y, 15, "#0000ff"); - } - - abilityTokens.splice(i, 1); - i--; - continue; - } - - if (t.x + t.width < 0) { - abilityTokens.splice(i, 1); - i--; - } - } - - if (!player1.dead) { - player1.draw(); - if (DEBUG_HITBOX) drawDebugHitbox(player1.getHitbox(), "lime"); - } - - for (let i = 0; i < enemyShipArray.length; i++) { - let s = enemyShipArray[i]; - s.draw(); - s.update(); - - if (DEBUG_HITBOX) drawDebugHitbox(s.getHitbox(), "red"); - - if (s.x < -200) { - enemyShipArray.splice(i, 1); - i--; - continue; - } - - let shootChance = 0.005 + game.level * 0.0012; - if (shootChance > 0.04) shootChance = 0.04; - - if (!player1.dead && Math.random() < shootChance && s.x > player1.x + 50) { - const ex = s.x; - const ey = s.y + s.height / 2; - - const px = player1.x + player1.width / 2; - const py = player1.y + player1.height / 2; - enemyBulletsArray.push(new EnemyBullet(ex, ey, px, py)); - } - - if (!player1.dead && Tabrakan(player1.getHitbox(), s.getHitbox())) { - explosions.push(new Explosion(s.x + s.width / 2, s.y + s.height / 2)); - createParticles(s.x + s.width / 2, s.y + s.height / 2, 20, "#ff6600"); - enemyShipArray.splice(i, 1); - i--; - handlePlayerHit(); - continue; - } - } - - for (let i = 0; i < missilesArray.length; i++) { - let m = missilesArray[i]; - m.draw(); - m.update(); - - if (DEBUG_HITBOX) drawDebugHitbox(m.getHitbox(), "cyan"); - - let hit = false; - for (let j = 0; j < enemyShipArray.length; j++) { - let en = enemyShipArray[j]; - - if (Tabrakan(m.getHitbox(), en.getHitbox())) { - let playerDamage = 100 + game.level * 5; - en.health -= playerDamage; - - createParticles( - en.x + en.width / 2, - en.y + en.height / 2, - 5, - "#ff9900" - ); - missilesArray.splice(i, 1); - hit = true; - - if (en.health <= 0) { - player1.score += 100 + game.level * 10; - explosion_enemy.currentTime = 0; - explosion_enemy.play(); - explosions.push( - new Explosion(en.x + en.width / 2, en.y + en.height / 2) - ); - enemyShipArray.splice(j, 1); - } - break; - } - } - - if (hit) { - i--; - continue; - } - - if (m.x > canvasWidth + 50) { - missilesArray.splice(i, 1); - i--; - } - } - - for (let i = 0; i < playerMissilesArray.length; i++) { - let pm = playerMissilesArray[i]; - pm.draw(); - pm.update(); - - let hit = false; - for (let j = 0; j < enemyShipArray.length; j++) { - let en = enemyShipArray[j]; - - if (Tabrakan(pm.getHitbox(), en.getHitbox())) { - let missileDmg = 400 + game.level * 20; - en.health -= missileDmg; - - createParticles(pm.x + pm.width, pm.y, 20, "#0000ff"); - explosions.push(new Explosion(pm.x + pm.width, pm.y, 0.5)); - - playerMissilesArray.splice(i, 1); - hit = true; - - if (en.health <= 0) { - player1.score += 100 + game.level * 10; - explosion_enemy.currentTime = 0; - explosion_enemy.play(); - explosions.push( - new Explosion(en.x + en.width / 2, en.y + en.height / 2) - ); - enemyShipArray.splice(j, 1); - } - break; - } - } - - if (hit) { - i--; - continue; - } - - if (pm.x > canvasWidth + 200 || pm.y < -200 || pm.y > worldHeight + 200) { - playerMissilesArray.splice(i, 1); - i--; - } - } - - for (let i = 0; i < enemyBulletsArray.length; i++) { - let b = enemyBulletsArray[i]; - b.draw(); - b.update(); - - if (DEBUG_HITBOX) drawDebugHitbox(b.getHitbox(), "orange"); - - if (!player1.dead && Tabrakan(b.getHitbox(), player1.getHitbox())) { - explosions.push( - new Explosion( - player1.x + player1.width / 2, - player1.y + player1.height / 2 - ) - ); - createParticles( - player1.x + player1.width / 2, - player1.y + player1.height / 2, - 12, - "#ff3300" - ); - enemyBulletsArray.splice(i, 1); - i--; - handlePlayerHit(); - continue; - } - - if ( - b.x + b.width < -100 || - b.x > canvasWidth + 100 || - b.y + b.height < -100 || - b.y > worldHeight + 100 - ) { - enemyBulletsArray.splice(i, 1); - i--; - } - } - - for (let i = 0; i < explosions.length; i++) { - let ex = explosions[i]; - ex.draw(); - ex.update(); - if (ex.done) { - explosions.splice(i, 1); - i--; - } - } - - ctx.restore(); - - drawScreenShading(); - drawUI(); -} - -function drawDebugHitbox(rect, color) { - ctx.save(); - ctx.strokeStyle = color; - ctx.lineWidth = 2; - ctx.strokeRect(rect.x, rect.y, rect.width, rect.height); - ctx.restore(); -} - -function drawUI() { - drawNewText( - player1.score, - canvasWidth - 140, - canvasHeight - 50, - "white", - "30px" - ); - drawNewText(game.level, canvasWidth - 140, 50, "#00ff00", "30px"); - - // Lives (Stacked Icons) - const lifeSize = 40; - const lifePadding = 5; - - if (livesImg.complete) { - for (let i = 0; i < player1.lives; i++) { - ctx.drawImage(livesImg, 30 + i * (lifeSize + lifePadding), canvasHeight - 60, lifeSize, lifeSize); - } - } else { - // Fallback if image not loaded - let livesText = "Lives: "; - for (let i = 0; i < player1.lives; i++) { - livesText += "♥ "; - } - drawNewText(livesText, 30, canvasHeight - 50, "#ff3366"); - } - - // Bombs (Shift) - const iconSize = 32; - const padding = 10; - - if (bombPickupImg.complete) { - ctx.drawImage(bombPickupImg, 30, 30, iconSize, iconSize); - drawNewText("x " + abilityCharges, 30 + iconSize + padding, 30 + 24, "#ffff00"); - } else { - drawNewText("Bombs: " + abilityCharges, 30, 50, "#ffff00"); - } - - // Missiles (Q) - if (missilePickupImg.complete) { - ctx.drawImage(missilePickupImg, 30, 70, iconSize, iconSize); - drawNewText("x " + missileAmmo, 30 + iconSize + padding, 70 + 24, "#00ccff"); - } else { - drawNewText("Missiles: " + missileAmmo, 30, 85, "#00ccff"); - } -} - -class PlayerObject { - constructor(x, y) { - this.x = x; - this.y = y; - this.width = 100; - this.height = 64; - this.image = playerShipImg; - - this.vx = 0; - this.vy = 0; - this.acceleration = 0.8; - this.friction = 0.92; - this.maxSpeed = 10; - - this.lives = 6; - this.score = 0; - this.health = 100; - this.invincible = 0; - this.dead = false; - - this.doubleLaserTimer = 0; - - this.totalFrames = 5; - this.frameIndex = 2; - this.spriteWidth = 0; - this.sourceHeight = 0; - this.scale = 1.0; - - this.image.onload = () => { - this.spriteWidth = this.image.width / this.totalFrames; - this.sourceHeight = this.image.height; - this.width = this.spriteWidth * this.scale; - this.height = this.sourceHeight * this.scale; - this.y = canvasHeight / 2 - this.height / 2; - }; - } - - getHitbox() { - const h = this.height * 0.05; - - const w = this.width * 0.8; - - const x = this.x + (this.width - w) / 2; - const y = this.y + (this.height - h) / 2; - - return { x, y, width: w, height: h }; - } - draw() { - if (this.invincible > 0 && game.frames % 10 < 5) { - return; - } - - ctx.save(); - - if (this.spriteWidth > 0) { - ctx.drawImage( - this.image, - this.frameIndex * this.spriteWidth, - 0, - this.spriteWidth, - this.sourceHeight, - this.x, - this.y, - this.width, - this.height - ); - } else { - ctx.fillStyle = "red"; - ctx.fillRect(this.x, this.y, 50, 50); - } - - ctx.restore(); - } - - update() { - if (keys.up) this.vy -= this.acceleration; - if (keys.down) this.vy += this.acceleration; - if (keys.left) this.vx -= this.acceleration; - if (keys.right) this.vx += this.acceleration; - - this.vx *= this.friction; - this.vy *= this.friction; - - const speed = Math.sqrt(this.vx * this.vx + this.vy * this.vy); - if (speed > this.maxSpeed) { - const scale = this.maxSpeed / speed; - this.vx *= scale; - this.vy *= scale; - } - - this.x += this.vx; - this.y += this.vy; - - const bleedY = this.height * 0.4; - const bleedX = this.width * 0.4; - - if (this.y < -bleedY) { - this.y = -bleedY; - if (this.vy < 0) this.vy = 0; - } - if (this.y > worldHeight - this.height + bleedY) { - this.y = worldHeight - this.height + bleedY; - if (this.vy > 0) this.vy = 0; - } - - if (this.x < -bleedX) { - this.x = -bleedX; - if (this.vx < 0) this.vx = 0; - } - if (this.x > canvasWidth - this.width + bleedX) { - this.x = canvasWidth - this.width + bleedX; - if (this.vx > 0) this.vx = 0; - } - - if (this.vy < -2.5) { - this.frameIndex = 4; - } else if (this.vy < -0.5) { - this.frameIndex = 3; - } else if (this.vy > 2.5) { - this.frameIndex = 0; - } else if (this.vy > 0.5) { - this.frameIndex = 1; - } else { - this.frameIndex = 2; - } - - if (this.doubleLaserTimer > 0) { - this.doubleLaserTimer--; - } - } -} - -let player1 = new PlayerObject(100, 300); - -function handlePlayerHit() { - if (player1.invincible > 0 || player1.dead || game.gameOver) return; - - explosion_enemy.currentTime = 0; - explosion_enemy.play(); - damageFlash = 20; - - player1.lives--; - - if (player1.lives <= 0) { - game.gameOver = true; - crossfadeToGameOver(); - return; - } - - player1.dead = true; - respawnCounter = 80 * 3; -} - -function drawNewText(txt, x, y, color, fontSize = "20px") { - ctx.font = fontSize + " 'Orbitron', sans-serif"; - ctx.fillStyle = color; - ctx.textAlign = "left"; - ctx.fillText(txt, x, y); -} - -class backgroundObj { - constructor(img, x, y, speed) { - this.x = x; - this.y = y; - this.width = 2000; - this.height = 900; - this.img = img; - this.img = img; - this.factor = speed; - } - draw() { - ctx.save(); - ctx.drawImage(this.img, this.x, this.y, this.width, this.height); - ctx.restore(); - } - - update() { - this.x -= this.factor * game.speed; - if (this.x < -2000) { - this.x = 2000; - } - } -} - -let background1 = new backgroundObj(bg0, 0, 0, 3); -let background1a = new backgroundObj(bg0, 2000, 0, 3); -let background2 = new backgroundObj(bg1, 0, 0, 2); -let background2a = new backgroundObj(bg1, 2000, 0, 2); -let background3 = new backgroundObj(bg2, 0, 0, 1); -let background3a = new backgroundObj(bg2, 2000, 0, 1); - -function updateStarField() { - background3.update(); - background3a.update(); - background2.update(); - background2a.update(); - background1.update(); - background1a.update(); -} - -function drawStarField() { - background3.draw(); - background3a.draw(); - background2.draw(); - background2a.draw(); - background1.draw(); - background1a.draw(); -} - -function updateCamera() { - const offset = player1.y + player1.height / 2 - canvasHeight / 2; - const target = -offset * 0.7; - const bgHeight = worldHeight; - const minY = canvasHeight - bgHeight; - const maxY = 0; - - const clamped = Math.max(minY, Math.min(maxY, target)); - cameraY += (clamped - cameraY) * 0.1; -} - -class LaserBullet { - constructor(x, y) { - this.x = x; - this.y = y; - this.width = 13; - this.height = 4; - this.speed = 16; - } - - getHitbox() { - return { x: this.x, y: this.y, width: this.width, height: this.height }; - } - - draw() { - const padding = 20; - ctx.drawImage(laserSprite, this.x - padding, this.y - padding); - } - - update() { - this.x += this.speed; - } -} - -class PlayerMissile { - constructor(x, y) { - this.x = x; - this.y = y; - this.width = 30; - this.height = 12; - this.speed = 2; - this.maxSpeed = 18; - this.vx = 2; - this.vy = 0; - this.target = null; - } - - getHitbox() { - return { x: this.x, y: this.y, width: this.width, height: this.height }; - } - - draw() { - ctx.save(); - - const padding = 5; - ctx.drawImage(missileSprite, this.x - padding, this.y - padding); - - if (Math.random() < 0.5) { - createParticles(this.x, this.y + this.height / 2, 2, "#00bfff"); - } - ctx.restore(); - } - - update() { - this.speed *= 1.08; - if (this.speed > this.maxSpeed) this.speed = this.maxSpeed; - - if (!this.target || !enemyShipArray.includes(this.target)) { - let minDist = 100000; - let closest = null; - for (let e of enemyShipArray) { - let dx = e.x - this.x; - let dy = e.y - this.y; - let d = Math.sqrt(dx * dx + dy * dy); - if (d < minDist) { - minDist = d; - closest = e; - } - } - this.target = closest; - } - - if (this.target) { - let tx = this.target.x + this.target.width / 2; - let ty = this.target.y + this.target.height / 2; - let dx = tx - this.x; - let dy = ty - this.y; - let angle = Math.atan2(dy, dx); - - this.vx = Math.cos(angle) * this.speed; - this.vy = Math.sin(angle) * this.speed; - } else { - this.vx = this.speed; - this.vy = 0; - } - - this.x += this.vx; - this.y += this.vy; - } -} - -class EnemyObj { - constructor(x, y, speed, img, pattern = "straight") { - this.x = x; - this.y = y; - this.width = 145; - this.height = 90; - this.image = img; - this.speed = speed; - this.health = 100; - this.damage = 10; - this.pattern = pattern; - this.angle = 0; - } - - getHitbox() { - const w = this.width * 0.55; - const h = this.height * 0.55; - const x = this.x + (this.width - w) / 2; - const y = this.y + (this.height - h) / 2; - return { x, y, width: w, height: h }; - } - - draw() { - ctx.save(); - ctx.drawImage(this.image, this.x, this.y, this.width, this.height); - ctx.restore(); - } - - update() { - this.x -= this.speed; - if (this.pattern === "sine") { - this.angle += 0.05 * this.speed; - this.y += Math.sin(this.angle) * 3; - } - } -} - -class EnemyBullet { - constructor(x, y, targetX, targetY) { - this.x = x; - this.y = y; - this.width = 10; - this.height = 4; - - const dx = targetX - x; - const dy = targetY - y; - const len = Math.sqrt(dx * dx + dy * dy) || 1; - // bullet speedd - mark - const speed = 5; - - this.vx = (dx / len) * speed; - this.vy = (dy / len) * speed; - } - - getHitbox() { - const padding = 1; - return { - x: this.x + padding, - y: this.y + padding, - width: this.width - padding * 2, - height: this.height - padding * 2, - }; - } - - draw() { - const padding = 15; - ctx.drawImage(enemyBulletSprite, this.x - padding, this.y - padding); - } - - update() { - this.x += this.vx; - this.y += this.vy; - } -} - -class Planet { - constructor(img) { - this.image = img; - this.width = 160; - this.height = 160; - this.x = canvasWidth + 50; - this.y = Math.random() * 300 + 50; - this.speed = 1.2; - this.active = true; - } - - draw() { - ctx.drawImage(this.image, this.x, this.y, this.width, this.height); - } - - update() { - this.x -= this.speed * game.surge; - if (this.x < -this.width) { - this.active = false; - } - } -} - -function spawnPlanet() { - if (currentPlanet == null || currentPlanet.active === false) { - let randomImg = - planetImages[Math.floor(Math.random() * planetImages.length)]; - currentPlanet = new Planet(randomImg); - } -} - -function addShips() { - if (game.frames < 200) return; - - if (currentWave) { - if (currentWave.spawned < currentWave.count) { - if (currentWave.spawnTimer <= 0) { - spawnEnemyFromWave(currentWave); - currentWave.spawned++; - let randomSpacing = - currentWave.spacing + Math.floor(Math.random() * 30); - currentWave.spawnTimer = randomSpacing; - } else { - currentWave.spawnTimer--; - } - } else { - if (enemyShipArray.length === 0) { - currentWave = null; - waveCooldown = Math.max(60, 120 - game.level * 2); - } - } - } else { - if (waveCooldown > 0) { - waveCooldown--; - } else { - startNewWave(); - } - } -} - -function startNewWave() { - // --- CHAOS WAVE MODE --- - - let baseCount = 3; - let scalingCount = Math.floor(game.level / 2); - let count = Math.min( - 20, - baseCount + scalingCount + Math.floor(Math.random() * 5) - ); - - // Spacing dasar (nanti diacak lagi per musuh) - let spacing = Math.max(15, 40 - game.level); - - currentWave = { - count: count, - spacing: spacing, - spawned: 0, - spawnTimer: 0, - }; -} - -function spawnEnemyFromWave(wave) { - // --- POSISI MUSUH ACAK --- - const minY = 60; - const maxY = canvasHeight - 120; - - const y = Math.random() * (maxY - minY) + minY; - - const xOffset = Math.random() * 200; - - const randomShip = Math.floor(Math.random() * enemyImgArray.length); - - // Scaling Speed per 5 Level (0.2 factor) - let rawSpeed = 3.5 + Math.random() * 2 + game.level * 0.2; - const speed = Math.min(rawSpeed, 8); - - - let movementType = Math.random() < 0.3 ? "sine" : "straight"; - - let enemy = new EnemyObj( - canvasWidth + 50 + xOffset, - y, - speed, - enemyImgArray[randomShip], - movementType - ); - - // ENEMY HEALTH - enemy.health = 60 + game.level * 10; - - enemyShipArray.push(enemy); -} - -// --- CLASS ORB UPDATE: SUPPORT IMAGE & OUTLINE --- -class AbilityToken { - constructor(x, y) { - this.x = x; - this.y = y; - this.width = 40; - this.height = 40; - this.speed = 4; - let r = Math.random(); - if (r < 0.33) this.type = "bomb"; - else if (r < 0.66) this.type = "double"; - else this.type = "missile"; - } - - draw() { - ctx.save(); - - ctx.strokeStyle = "#ffffff"; - ctx.lineWidth = 3; - ctx.strokeRect(this.x, this.y, this.width, this.height); - - const padding = 4; - let imgToDraw = null; - - if (this.type === "missile") { - imgToDraw = missilePickupImg; - } else if (this.type === "double") { - imgToDraw = laserPickupImg; - } else if (this.type === "bomb") { - imgToDraw = bombPickupImg; - } - - if (imgToDraw) { - ctx.drawImage( - imgToDraw, - this.x + padding, - this.y + padding, - this.width - padding * 2, - this.height - padding * 2 - ); - } - - ctx.restore(); - } - - update() { - this.x -= this.speed; - } -} - -function maybeSpawnAbilityToken() { - // --- 0.2% (0.002) --- - if (Math.random() < 0.002 && abilityTokens.length < 3) { - const y = Math.random() * (canvasHeight - 120) + 60; - abilityTokens.push(new AbilityToken(canvasWidth + 40, y)); - } -} - -function useAbility() { - if (enemyShipArray.length === 0 && enemyBulletsArray.length === 0) return; - - explosion_enemy.currentTime = 0; - explosion_enemy.play(); - - enemyShipArray.forEach((e) => { - explosions.push(new Explosion(e.x + e.width / 2, e.y + e.height / 2)); - createParticles(e.x + e.width / 2, e.y + e.height / 2, 20, "#ff9900"); - // --- FIX: Tambah Score --- - player1.score += 100 + game.level * 10; - }); - - enemyShipArray = []; - enemyBulletsArray = []; - missilesArray = []; - - damageFlash = 10; -} - -class Particle { - constructor(x, y, color) { - this.x = x; - this.y = y; - this.vx = (Math.random() - 0.5) * 8; - this.vy = (Math.random() - 0.5) * 8; - this.life = 30; - this.maxLife = 30; - this.color = color; - this.size = Math.random() * 3 + 2; - } - - update() { - this.x += this.vx; - this.y += this.vy; - this.vx *= 0.95; - this.vy *= 0.95; - this.life--; - } - - draw() { - const alpha = this.life / this.maxLife; - ctx.save(); - ctx.globalAlpha = alpha; - ctx.fillStyle = this.color; - ctx.beginPath(); - ctx.arc(this.x, this.y, this.size, 0, Math.PI * 2); - ctx.fill(); - ctx.restore(); - } - - get isDead() { - return this.life <= 0; - } -} - -function createParticles(x, y, count, color) { - for (let i = 0; i < count; i++) { - particles.push(new Particle(x, y, color)); - } -} - -function updateParticles() { - for (let i = particles.length - 1; i >= 0; i--) { - particles[i].update(); - if (particles[i].isDead) { - particles.splice(i, 1); - } - } -} - -function drawParticles() { - particles.forEach((p) => p.draw()); -} - -function Tabrakan(o, p) { - if ( - o.x + o.width > p.x && - o.x < p.x + p.width && - o.y + o.height > p.y && - o.y < p.y + p.height - ) { - return true; - } - return false; -} - -class Explosion { - constructor(x, y, scale = 1) { - this.x = x; - this.y = y; - this.frame = 0; - this.maxFrames = 30; - this.scale = scale; - } - - update() { - this.frame++; - } - - draw() { - let progress = this.frame / this.maxFrames; - let radius = (20 + 60 * progress) * this.scale; - ctx.save(); - ctx.globalAlpha = 1 - progress; - let gradient = ctx.createRadialGradient( - this.x, - this.y, - 0, - this.x, - this.y, - radius - ); - gradient.addColorStop(0, "#ffffff"); - gradient.addColorStop(0.2, "#ffe066"); - gradient.addColorStop(0.5, "#ff8c42"); - gradient.addColorStop(1, "#ff0000"); - ctx.fillStyle = gradient; - ctx.beginPath(); - ctx.arc(this.x, this.y, radius, 0, Math.PI * 2); - ctx.fill(); - ctx.restore(); - } - - get done() { - return this.frame >= this.maxFrames; - } -} - -function drawGameOver() { - // Dark overlay with gradient - const gradient = ctx.createRadialGradient( - canvasWidth / 2, - canvasHeight / 2, - 0, - canvasWidth / 2, - canvasHeight / 2, - canvasWidth / 1.5 - ); - gradient.addColorStop(0, "rgba(10, 0, 0, 0.85)"); - gradient.addColorStop(0.5, "rgba(30, 0, 10, 0.92)"); - gradient.addColorStop(1, "rgba(0, 0, 0, 0.97)"); - ctx.fillStyle = gradient; - ctx.fillRect(0, 0, canvasWidth, canvasHeight); - - // Animated pulsing effect - const pulseTime = Date.now() / 1000; - const pulse = Math.sin(pulseTime * 2) * 0.15 + 0.85; - - ctx.save(); - ctx.textAlign = "center"; - - // "GAME OVER" main title with glowing effect - ctx.font = "900 100px Orbitron, Arial"; - - // Outer glow layers - for (let i = 30; i > 0; i -= 3) { - ctx.shadowColor = `rgba(255, 50, 50, ${(30 - i) / 100})`; - ctx.shadowBlur = i; - ctx.fillStyle = `rgba(255, 0, 0, ${(30 - i) / 100})`; - ctx.fillText("GAME OVER", canvasWidth / 2, canvasHeight / 2 - 120); - } - - // Main title gradient - const titleGradient = ctx.createLinearGradient( - canvasWidth / 2 - 300, - 0, - canvasWidth / 2 + 300, - 0 - ); - titleGradient.addColorStop(0, "#ff0033"); - titleGradient.addColorStop(0.5, "#ff3366"); - titleGradient.addColorStop(1, "#ff0033"); - - ctx.shadowColor = "rgba(255, 51, 102, 0.8)"; - ctx.shadowBlur = 40 * pulse; - ctx.fillStyle = titleGradient; - ctx.fillText("GAME OVER", canvasWidth / 2, canvasHeight / 2 - 120); - - // Reset shadow - ctx.shadowBlur = 0; - - // Statistics panel background - const panelY = canvasHeight / 2 - 20; - const panelWidth = 500; - const panelHeight = 200; - const panelX = canvasWidth / 2 - panelWidth / 2; - - // Panel border glow - ctx.strokeStyle = "rgba(0, 234, 255, 0.6)"; - ctx.lineWidth = 3; - ctx.shadowColor = "rgba(0, 234, 255, 0.8)"; - ctx.shadowBlur = 20; - ctx.strokeRect(panelX, panelY, panelWidth, panelHeight); - - // Panel background - const panelGradient = ctx.createLinearGradient( - panelX, - panelY, - panelX, - panelY + panelHeight - ); - panelGradient.addColorStop(0, "rgba(10, 10, 30, 0.85)"); - panelGradient.addColorStop(1, "rgba(20, 20, 40, 0.9)"); - ctx.fillStyle = panelGradient; - ctx.fillRect(panelX, panelY, panelWidth, panelHeight); - - ctx.shadowBlur = 0; - - // Statistics text - centered - ctx.textAlign = "center"; - - // "Your score:" label - ctx.font = "700 28px Orbitron, Arial"; - ctx.fillStyle = "#00eaff"; - ctx.fillText("Your score:", canvasWidth / 2, panelY + 70); - - // Score value - ctx.font = "900 64px Orbitron, Arial"; - ctx.shadowColor = "rgba(255, 255, 255, 0.5)"; - ctx.shadowBlur = 15; - ctx.fillStyle = "#ffffff"; - ctx.fillText(player1.score.toString(), canvasWidth / 2, panelY + 145); - ctx.shadowBlur = 0; - - // Restart instruction with pulsing effect - ctx.textAlign = "center"; - ctx.font = "700 28px Orbitron, Arial"; - const instructionAlpha = Math.sin(pulseTime * 3) * 0.3 + 0.7; - ctx.fillStyle = `rgba(0, 234, 255, ${instructionAlpha})`; - ctx.shadowColor = "rgba(0, 234, 255, 0.6)"; - ctx.shadowBlur = 15 * pulse; - ctx.fillText("PRESS F5 TO RESTART", canvasWidth / 2, panelY + panelHeight + 60); - - // Additional decorative elements - ctx.shadowBlur = 0; - - // Corner decorations (top-left and bottom-right) - const cornerSize = 40; - ctx.strokeStyle = "rgba(255, 51, 102, 0.5)"; - ctx.lineWidth = 3; - - // Top-left corner - ctx.beginPath(); - ctx.moveTo(panelX - 10, panelY - 10 + cornerSize); - ctx.lineTo(panelX - 10, panelY - 10); - ctx.lineTo(panelX - 10 + cornerSize, panelY - 10); - ctx.stroke(); - - // Bottom-right corner - ctx.beginPath(); - ctx.moveTo(panelX + panelWidth + 10, panelY + panelHeight + 10 - cornerSize); - ctx.lineTo(panelX + panelWidth + 10, panelY + panelHeight + 10); - ctx.lineTo(panelX + panelWidth + 10 - cornerSize, panelY + panelHeight + 10); - ctx.stroke(); - - ctx.restore(); -} - -function drawPauseOverlay() { - ctx.fillStyle = "rgba(0,0,0,0.5)"; - ctx.fillRect(0, 0, canvasWidth, canvasHeight); - - ctx.font = "60px Arial"; - ctx.fillStyle = "white"; - ctx.textAlign = "center"; - ctx.fillText("PAUSED", canvasWidth / 2, canvasHeight / 2); - ctx.font = "24px Arial"; - ctx.fillText("Press P to Resume", canvasWidth / 2, canvasHeight / 2 + 50); - ctx.textAlign = "left"; -} - -function drawScreenShading() { - if (!vignetteCanvas) { - vignetteCanvas = document.createElement("canvas"); - vignetteCanvas.width = canvasWidth; - vignetteCanvas.height = canvasHeight; - const vCtx = vignetteCanvas.getContext("2d"); - - let grd = vCtx.createRadialGradient( - canvasWidth / 2, - canvasHeight / 2, - 200, - canvasWidth / 2, - canvasHeight / 2, - canvasWidth - ); - grd.addColorStop(0, "rgba(0,0,0,0)"); - grd.addColorStop(1, "rgba(0,0,0,0.6)"); - vCtx.fillStyle = grd; - vCtx.fillRect(0, 0, canvasWidth, canvasHeight); - } - - ctx.drawImage(vignetteCanvas, 0, 0); - - if (damageFlash > 0) { - let alpha = (damageFlash / 20) * 0.6; - ctx.fillStyle = "rgba(255,0,0," + alpha.toFixed(2) + ")"; - ctx.fillRect(0, 0, canvasWidth, canvasHeight); - damageFlash--; - } - - // --- BRIGHTNESS SURGE OVERLAY --- - if (game.surge > 1.0) { - let intensity = (game.surge - 1.0) / (7.0 - 1.0); - if (intensity > 0) { - ctx.save(); - ctx.globalCompositeOperation = "hard-light"; - ctx.fillStyle = "white"; - ctx.globalAlpha = intensity * 0.4; - ctx.fillRect(0, 0, canvasWidth, canvasHeight); - ctx.restore(); - } - } -} - -function updateSurge() { - const RAMP_UP_FRAMES = 240; - const HOLD_FRAMES = 780; - const RAMP_DOWN_FRAMES = 300; - const MAX_SURGE_SPEED = 7.0; - - // Phase 0: Cooldown - if (game.surgePhase === 0) { - if (game.surgeCooldown > 0) { - game.surgeCooldown--; - } else { - // Cooldown finished, check probability - // "2/10 chance on incidents in 40 seconds" -> 20% chance every 40s check - if (Math.random() < 0.2) { - game.surgePhase = 1; // Start Surge - } else { - game.surgeCooldown = 2400; // Wait another 40s - } - } - } - - // Phase 1: Ramping Up (Ease In) - else if (game.surgePhase === 1) { - let step = (MAX_SURGE_SPEED - 1.0) / RAMP_UP_FRAMES; - game.surge += step; - // Safety Clamp - if (game.surge >= MAX_SURGE_SPEED) { - game.surge = MAX_SURGE_SPEED; - game.surgePhase = 2; - game.surgeTimer = HOLD_FRAMES; - } - } - - // Phase 2: Holding Speed - else if (game.surgePhase === 2) { - game.surgeTimer--; - if (game.surgeTimer <= 0) game.surgePhase = 3; - } - - // Phase 3: Ramping Down (Ease Out) - else if (game.surgePhase === 3) { - let step = (MAX_SURGE_SPEED - 1.0) / RAMP_DOWN_FRAMES; - game.surge -= step; - if (game.surge <= 1.0) { - game.surge = 1.0; - game.surgePhase = 0; - game.surgeCooldown = 2400; // Start cooldown for next cycle - } - } -} - -function togglePause() { - if (game.gameOver || !gameStarted) return; - gamePaused = !gamePaused; - - if (gamePaused) { - currentBGM.pause(); - } else if (!musicMuted && audioStarted) { - currentBGM.play().catch(() => { }); - lastFrameTime = performance.now ? performance.now() : Date.now(); - } -} - -function crossfadeToGameOver() { - let fadeSpeed = 0.02; - - gameOverBGM.volume = 0; - gameOverBGM.play(); - - let fadeInterval = setInterval(() => { - currentBGM.volume -= fadeSpeed; - if (currentBGM.volume < 0) currentBGM.volume = 0; - - gameOverBGM.volume += fadeSpeed; - if (gameOverBGM.volume > 1) gameOverBGM.volume = 1; - - if (currentBGM.volume === 0) { - currentBGM.pause(); - clearInterval(fadeInterval); - } - }, 1000 / 30); -} - -// === GAME SETTINGS === -const gameSettings = { - musicEnabled: true, - sfxEnabled: true -}; - -// === DOM ELEMENTS === -const mainMenu = document.getElementById('mainMenu'); -const optionsMenu = document.getElementById('optionsMenu'); -const gameContainer = document.getElementById('gameContainer'); - -const startBtn = document.getElementById('startBtn'); -const optionBtn = document.getElementById('optionBtn'); -const exitBtn = document.getElementById('exitBtn'); -const backBtn = document.getElementById('backBtn'); - -// Toggle Buttons -const musicBtns = document.querySelectorAll('[data-music]'); -const sfxBtns = document.querySelectorAll('[data-sfx]'); - -// === MENU SOUNDS === -const menuHoverSound = new Audio(); -menuHoverSound.src = 'data:audio/wav;base64,UklGRiQAAABXQVZFZm10IBAAAAABAAEAQB8AAEAfAAABAAgAZGF0YQAAAAA='; -const menuClickSound = new Audio(); -menuClickSound.src = 'data:audio/wav;base64,UklGRiQAAABXQVZFZm10IBAAAAABAAEAQB8AAEAfAAABAAgAZGF0YQAAAAA='; - -// === PREVENT DEFAULT GAME START === -window.addEventListener('DOMContentLoaded', () => { - gameStarted = false; -}); - -// === START BUTTON === -startBtn.addEventListener('click', () => { - playSound(menuClickSound); - - // Apply settings to game - applySettings(); - - // Hide menu, show game - mainMenu.style.display = 'none'; - gameContainer.style.display = 'block'; - - // Start the game - if (!gameStarted) { - init(); - } -}); - -// === OPTION BUTTON === -optionBtn.addEventListener('click', () => { - playSound(menuClickSound); - mainMenu.style.display = 'none'; - optionsMenu.style.display = 'flex'; -}); - -// === EXIT BUTTON === -exitBtn.addEventListener('click', () => { - playSound(menuClickSound); - - // Create exit confirmation - const confirmExit = document.createElement('div'); - confirmExit.style.cssText = ` - position: fixed; - top: 50%; - left: 50%; - transform: translate(-50%, -50%); - background: rgba(0, 0, 0, 0.9); - border: 3px solid #00eaff; - border-radius: 20px; - padding: 50px 60px; - z-index: 1000; - text-align: center; - box-shadow: 0 0 40px rgba(0, 234, 255, 0.6); - backdrop-filter: blur(10px); - `; - - confirmExit.innerHTML = ` -

- EXIT GAME? -

-

- Are you sure you want to leave? -

-
- - -
- `; - - document.body.appendChild(confirmExit); - - // YES button hover effect - const yesBtn = document.getElementById('confirmYes'); - yesBtn.addEventListener('mouseenter', () => { - yesBtn.style.background = '#ff3366'; - yesBtn.style.color = '#000'; - yesBtn.style.transform = 'translateY(-5px) scale(1.08)'; - yesBtn.style.boxShadow = '0 10px 20px rgba(255, 51, 102, 0.6), 0 0 30px #ff3366'; - }); - yesBtn.addEventListener('mouseleave', () => { - yesBtn.style.background = 'linear-gradient(145deg, #111, #1b1b1b)'; - yesBtn.style.color = '#ff3366'; - yesBtn.style.transform = 'translateY(0) scale(1)'; - yesBtn.style.boxShadow = '0 4px 0 #cc0033, 0 0 12px rgba(255, 51, 102, 0.4), inset 0 0 15px rgba(255, 51, 102, 0.1)'; - }); - - // NO button hover effect - const noBtn = document.getElementById('confirmNo'); - noBtn.addEventListener('mouseenter', () => { - noBtn.style.background = '#00eaff'; - noBtn.style.color = '#000'; - noBtn.style.transform = 'translateY(-5px) scale(1.08)'; - noBtn.style.boxShadow = '0 10px 20px rgba(0, 234, 255, 0.6), 0 0 30px #00eaff'; - }); - noBtn.addEventListener('mouseleave', () => { - noBtn.style.background = 'linear-gradient(145deg, #111, #1b1b1b)'; - noBtn.style.color = '#00eaff'; - noBtn.style.transform = 'translateY(0) scale(1)'; - noBtn.style.boxShadow = '0 4px 0 #00bcd4, 0 0 12px rgba(0, 234, 255, 0.4), inset 0 0 15px rgba(0, 234, 255, 0.2)'; - }); - - // Click handlers - yesBtn.addEventListener('click', () => { - window.close(); - setTimeout(() => { - window.location.href = 'about:blank'; - }, 100); - }); - - noBtn.addEventListener('click', () => { - playSound(menuClickSound); - document.body.removeChild(confirmExit); - }); -}); - -// === BACK BUTTON === -backBtn.addEventListener('click', () => { - playSound(menuClickSound); - optionsMenu.style.display = 'none'; - mainMenu.style.display = 'flex'; -}); - -// === MUSIC BUTTONS === -musicBtns.forEach(btn => { - btn.addEventListener('click', () => { - playSound(menuClickSound); - - musicBtns.forEach(b => b.classList.remove('active')); - - btn.classList.add('active'); - - gameSettings.musicEnabled = btn.dataset.music === 'on'; - - if (typeof currentBGM !== 'undefined') { - if (gameSettings.musicEnabled) { - currentBGM.volume = 1; - if (!game.gameOver && gameStarted) { - currentBGM.play().catch(() => { }); - } - } else { - currentBGM.volume = 0; - currentBGM.pause(); - } - } - }); -}); - -// === SFX BUTTONS === -sfxBtns.forEach(btn => { - btn.addEventListener('click', () => { - playSound(menuClickSound); - - sfxBtns.forEach(b => b.classList.remove('active')); - - btn.classList.add('active'); - - gameSettings.sfxEnabled = btn.dataset.sfx === 'on'; - }); -}); - -// === HOVER SOUNDS === -document.querySelectorAll('.menu-btn, .toggle-btn').forEach(btn => { - btn.addEventListener('mouseenter', () => { - if (gameSettings.sfxEnabled) { - playSound(menuHoverSound); - } - }); -}); - -// === APPLY SETTINGS TO GAME === -function applySettings() { - // Apply music setting - if (typeof currentBGM !== 'undefined') { - if (gameSettings.musicEnabled) { - currentBGM.volume = 1; - } else { - currentBGM.volume = 0; - currentBGM.pause(); - } - } - - if (typeof gameOverBGM !== 'undefined') { - if (gameSettings.musicEnabled) { - gameOverBGM.volume = 1; - } else { - gameOverBGM.volume = 0; - } - } -} - -// === PLAY SOUND HELPER === -function playSound(audio) { - if (gameSettings.sfxEnabled) { - audio.volume = 0.3; - audio.currentTime = 0; - audio.play().catch(() => { }); - } -} - -// === KEYBOARD NAVIGATION === -document.addEventListener('keydown', (e) => { - // ESC to go back - if (e.key === 'Escape') { - if (optionsMenu.style.display === 'flex') { - backBtn.click(); - } else if (gameContainer.style.display === 'block' && typeof togglePause !== 'undefined') { - togglePause(); - } - } - - // Enter to start game from main menu - if (e.key === 'Enter' && mainMenu.style.display === 'flex') { - startBtn.click(); - } -}); - -// === MODIFY EXISTING GAME FUNCTIONS === - -window.onload = function () { - console.log('Game Ready - Waiting for menu start...'); -}; - -// Add return to menu function -function returnToMenu() { - currentBGM.pause(); - gameOverBGM.pause(); - currentBGM.currentTime = 0; - gameOverBGM.currentTime = 0; - - game.gameOver = false; - game.frames = 0; - game.level = 1; - game.speed = 1; - game.surge = 1.0; - game.surgePhase = 0; - game.surgeTimer = 0; - game.surgeCooldown = 2400; - - missilesArray = []; - playerMissilesArray = []; - enemyShipArray = []; - enemyBulletsArray = []; - explosions = []; - abilityTokens = []; - particles = []; - - player1 = new PlayerObject(100, 300); - player1.lives = 1; - player1.score = 0; - - respawnCounter = 0; - damageFlash = 0; - currentWave = null; - waveCooldown = 0; - abilityCharges = 0; - missileAmmo = 0; - cameraY = 0; - gameStarted = false; - gamePaused = false; - - if (gameContainer) gameContainer.style.display = 'none'; - if (mainMenu) mainMenu.style.display = 'flex'; -} - -console.log('Menu System Loaded'); -console.log('Settings:', gameSettings); - -// === LEADERBOARD LOGIC === -const leaderboardMenu = document.getElementById('leaderboardMenu'); -const leaderboardBtn = document.getElementById('leaderboardBtn'); -const lbBackBtn = document.getElementById('lbBackBtn'); -const leaderboardList = document.getElementById('leaderboardList'); - -// Buka Menu Leaderboard -leaderboardBtn.addEventListener('click', () => { - playSound(menuClickSound); // Pastikan fungsi playSound ada - mainMenu.style.display = 'none'; - leaderboardMenu.style.display = 'flex'; - fetchLeaderboard(); -}); - -// Tutup Menu Leaderboard -lbBackBtn.addEventListener('click', () => { - playSound(menuClickSound); - leaderboardMenu.style.display = 'none'; - mainMenu.style.display = 'flex'; -}); - -// Fungsi Ambil Data dari PHP -async function fetchLeaderboard() { - leaderboardList.innerHTML = 'Scanning Database...'; - - try { - const response = await fetch('leaderboard.php'); - const result = await response.json(); - - if (result.success && result.data.length > 0) { - leaderboardList.innerHTML = ''; // Hapus loading - - result.data.forEach(player => { - let rowClass = ''; - if (player.rank === 1) rowClass = 'rank-1'; - else if (player.rank === 2) rowClass = 'rank-2'; - else if (player.rank === 3) rowClass = 'rank-3'; - - const row = ` - - #${player.rank} - ${player.username} - LVL ${player.level} - ${player.score.toLocaleString()} - - `; - leaderboardList.innerHTML += row; - }); - } else { - leaderboardList.innerHTML = 'No Records Found'; - } - } catch (error) { - console.error('Leaderboard error:', error); - leaderboardList.innerHTML = 'Connection Error'; - } -} \ No newline at end of file +let U=typeof globalThis!=='undefined'?globalThis:typeof window!=='undefined'?window:global,d_e5e54a=U['d_e5e54a']||(U['d_e5e54a']={}),j=d_e5e54a;const a_5747d7=(function(){let S=[{'i':[0x0,0x0,0x4b,0x1,0x4,null,0x46,0x2,0x0,0x3,0x37,0x1,0x3,null,0x1,null,0x38,null],'c':["Cockpit image loaded successfully!","console","log",0x1],'p':0x0,'l':0x0},{'i':[0x0,0x0,0x4b,0x1,0x4,null,0x46,0x2,0x0,0x3,0x37,0x1,0x3,null,0x1,null,0x38,null],'c':["FAILED to load cockpit image!","console","error",0x1],'p':0x0,'l':0x0},{'i':[0x4b,0x0,0x4b,0x1,0x4,null,0x46,0x2,0x0,0x3,0x37,0x0,0x4b,0x0,0x46,0x4,0xc,null,0x4b,0x1,0x4,null,0x46,0x5,0x0,0x6,0x37,0x1,0x48,null,0x7,0x0,0x4b,0x7,0x6,0x0,0x46,0x8,0x47,0x9,0x3,null,0x4b,0xa,0x6,0x0,0x46,0xb,0x47,0x9,0x3,null,0x1,null,0x38,null],'c':["bgmList","Math","random",0x0,"length","floor",0x1,"currentBGM","normal","src","gameOverBGM","gameover","pickRandomBGM"],'p':0x0,'l':0x1,'ni':0xc},{'i':[0x4b,0x0,0x46,0x1,0x0,0x2,0x2a,null,0x34,null,0x4b,0x3,0x4,null,0x46,0x4,0x0,0x5,0x37,0x0,0x7,0x1,0x4b,0x3,0x46,0x6,0x6,0x1,0x46,0x6,0xd,null,0x7,0x2,0x4b,0x3,0x46,0x7,0x6,0x1,0x46,0x7,0xd,null,0x7,0x3,0x4b,0x8,0x8,0x0,0x46,0x9,0x6,0x1,0x46,0xa,0xb,null,0x6,0x2,0xc,null,0x47,0xb,0x3,null,0x4b,0x8,0x8,0x0,0x46,0xc,0x6,0x1,0x46,0xd,0xb,null,0x6,0x3,0xc,null,0x47,0xe,0x3,null,0x1,null,0x38,null],'c':["gameSettings","inputMode","mouse","canvas","getBoundingClientRect",0x0,"width","height","mousePos","clientX","left","x","clientY","top","y"],'p':0x1,'l':0x3,'j':{0x4:0x2b}},{'i':[0x4b,0x0,0x46,0x1,0x0,0x2,0x2a,null,0x34,null,0x8,0x0,0x46,0x3,0x0,0x4,0x2a,null,0x34,null,0x4b,0x5,0x0,0x6,0x47,0x7,0x3,null,0x8,0x0,0x46,0x3,0x0,0x8,0x2a,null,0x34,null,0x4b,0x5,0x0,0x6,0x47,0x9,0x3,null,0x4b,0xa,0x46,0xb,0x20,null,0x4,null,0x34,null,0x3,null,0x4b,0xc,0x20,null,0x4,null,0x34,null,0x3,null,0x4b,0xd,0x46,0xe,0x20,null,0x34,null,0x4b,0xf,0x0,0x4,0x36,0x0,0x3,null,0x1,null,0x38,null],'c':["gameSettings","inputMode","mouse","button",0x0,"mouseButtons",!![],"left",0x2,"right","game","gameOver","gamePaused","player1","dead","firePlayerMissile"],'p':0x1,'l':0x0,'j':{0x4:0x2a,0x9:0xe,0x12:0x2a,0x1b:0x1f,0x20:0x25,0x25:0x2a}},{'i':[0x4b,0x0,0x46,0x1,0x0,0x2,0x2a,null,0x34,null,0x8,0x0,0x46,0x3,0x0,0x4,0x2a,null,0x34,null,0x4b,0x5,0x0,0x6,0x47,0x7,0x3,null,0x8,0x0,0x46,0x3,0x0,0x8,0x2a,null,0x34,null,0x4b,0x5,0x0,0x6,0x47,0x9,0x3,null,0x1,null,0x38,null],'c':["gameSettings","inputMode","mouse","button",0x0,"mouseButtons",![],"left",0x2,"right"],'p':0x1,'l':0x0,'j':{0x4:0x17,0x9:0xe,0x12:0x17}},{'i':[0x0,0x0,0x4b,0x1,0x4,null,0x46,0x2,0x0,0x3,0x37,0x1,0x3,null,0x1,null,0x38,null],'c':["Autoplay blocked","console","log",0x1],'p':0x0,'l':0x0},{'i':[],'c':[],'p':0x0,'l':0x0,'a':0x1},{'i':[0x4b,0x0,0x20,null,0x4,null,0x34,null,0x3,null,0x4b,0x1,0x20,null,0x34,null,0x4b,0x2,0x46,0x3,0x34,null,0x0,0x4,0x64,null,0x4b,0x2,0x4,null,0x46,0x5,0x0,0x6,0x37,0x0,0x4,null,0x46,0x7,0x0,0x8,0x37,0x1,0x3,null,0x0,0x9,0x4,null,0x4c,0x0,0x3,null,0x3,null,0x1,null,0x38,null],'c':["audioStarted","gameStarted","mainMenuBGM","paused",0x7,"play",0x0,"catch",0x1,!![]],'p':0x0,'l':0x0,'j':{0x3:0x7,0x7:0x1c,0xa:0x17}},{'i':[],'c':[],'p':0x0,'l':0x0,'a':0x1},{'i':[0x4b,0x0,0x20,null,0x4,null,0x34,null,0x3,null,0x4b,0x1,0x20,null,0x34,null,0x4b,0x2,0x46,0x3,0x34,null,0x0,0x4,0x64,null,0x4b,0x2,0x4,null,0x46,0x5,0x0,0x6,0x37,0x0,0x4,null,0x46,0x7,0x0,0x8,0x37,0x1,0x3,null,0x0,0x9,0x4,null,0x4c,0x0,0x3,null,0x3,null,0x4b,0xa,0x46,0xb,0x4,null,0x34,null,0x3,null,0x4b,0xa,0x46,0xc,0x34,null,0x4b,0xd,0x4,null,0x46,0xe,0x0,0x6,0x37,0x0,0x7,0x0,0x4b,0xd,0x46,0xf,0x6,0x0,0x46,0xf,0xd,null,0x7,0x1,0x4b,0xd,0x46,0x10,0x6,0x0,0x46,0x10,0xd,null,0x7,0x2,0x1,null,0x38,null],'c':["audioStarted","gameStarted","mainMenuBGM","paused",0x9,"play",0x0,"catch",0x1,!![],"game","gameOver","restartBtn","canvas","getBoundingClientRect","width","height"],'p':0x0,'l':0x3,'j':{0x3:0x7,0x7:0x1c,0xa:0x17,0x1f:0x23,0x23:0x36}},{'i':[0xd5,0x0,0xd2,0x0,0x4b,0x0,0x46,0x1,0x4,null,0x46,0x2,0x0,0x3,0x37,0x0,0x3,null],'c':["window","location","reload",0x0],'p':0x0,'l':0x0,'a':0x1},{'i':[0x4b,0x0,0x46,0x1,0x4,null,0x34,null,0x3,null,0x4b,0x0,0x46,0x2,0x34,null,0xd5,0x0,0xd2,0x0,0xda,0x3,0xda,0x4,0xda,0x5,0xda,0x6,0xda,0x7,0x4b,0x8,0x4,null,0x46,0x9,0x0,0xa,0x37,0x0,0xd9,0xb,0x4b,0x8,0x46,0xc,0xd3,0xb,0x46,0xc,0xd,null,0xd9,0xd,0x4b,0x8,0x46,0xe,0xd3,0xb,0x46,0xe,0xd,null,0xd9,0xf,0x8,0x0,0x46,0x10,0xd3,0xb,0x46,0x11,0xb,null,0xd3,0xd,0xc,null,0xd9,0x12,0x8,0x0,0x46,0x13,0xd3,0xb,0x46,0x14,0xb,null,0xd3,0xf,0xc,null,0xd9,0x15,0xd3,0x12,0x4b,0x0,0x46,0x2,0x46,0x16,0x2f,null,0x4,null,0x34,null,0x3,null,0xd3,0x12,0x4b,0x0,0x46,0x2,0x46,0x16,0x4b,0x0,0x46,0x2,0x46,0x17,0xa,null,0x2d,null,0x4,null,0x34,null,0x3,null,0xd3,0x15,0x4b,0x0,0x46,0x2,0x46,0x18,0x2f,null,0x4,null,0x34,null,0x3,null,0xd3,0x15,0x4b,0x0,0x46,0x2,0x46,0x18,0x4b,0x0,0x46,0x2,0x46,0x19,0xa,null,0x2d,null,0x34,null,0x0,0x1a,0x64,null,0x4b,0x1b,0x46,0x1c,0x4b,0x0,0x46,0x1d,0x4b,0x1e,0x0,0x1f,0x36,0x2,0x4,null,0x46,0x20,0x0,0x21,0x37,0x1,0x3,null,0xd6,0x0,0x1,null,0x38,null],'c':["game","gameOver","restartBtn","rect","scaleX","scaleY","clickX","clickY","canvas","getBoundingClientRect",0x0,"rect$$1","width","scaleX$$1","height","scaleY$$1","clientX","left","clickX$$1","clientY","top","clickY$$1","x","w","y","h",0xb,"player1","score","level","submitScore",0x2,"then",0x1],'p':0x1,'l':0x5,'j':{0x3:0x7,0x7:0x66,0x37:0x42,0x43:0x4a,0x4b:0x56,0x56:0x65}},{'i':[0xa0,null,0x4d,null,0x4,null,0x0,0x0,0x0,0x1,0xa0,null,0x4,null,0x46,0x2,0x0,0x3,0x37,0x2,0x47,0x4,0x3,null,0x4,null,0x0,0x5,0x0,0x6,0xa0,null,0x4,null,0x46,0x2,0x0,0x3,0x37,0x2,0x47,0x7,0x3,null,0x4,null,0x0,0x8,0x0,0x9,0xa0,null,0x4,null,0x46,0x2,0x0,0x3,0x37,0x2,0x47,0xa,0x3,null,0x4,null,0x0,0xb,0x0,0xc,0xa0,null,0x4,null,0x46,0x2,0x0,0x3,0x37,0x2,0x47,0xd,0x3,null,0x4,null,0x0,0xe,0x0,0x6,0xa0,null,0x4,null,0x46,0x2,0x0,0x3,0x37,0x2,0x47,0xf,0x3,null,0x47,0x10,0x3,null,0x0,0x11,0x4b,0x12,0x4,null,0x46,0x13,0x0,0x14,0x37,0x1,0x3,null,0x1,null,0x38,null],'c':["music/sfx/explosion-small.mp3",0xf,"_createPool",0x2,"explosion","music/sfx/laser2.mp3",0x8,"laser","music/sfx/missileaway.mp3",0x4,"missile","music/sfx/BombHIT.wav",0x18,"impact","music/sfx/grazedezpz.wav","graze","pools","[AudioMixer] Touhou-Mode: 30 SFX/sec enabled","console","log",0x1],'p':0x0,'l':0x0},{'i':[0x5a,null,0x7,0x2,0x0,0x0,0x7,0x3,0x6,0x3,0x8,0x1,0x2c,null,0x34,null,0x4b,0x1,0x8,0x0,0x0,0x2,0x68,0x1,0x7,0x4,0x6,0x4,0x4,null,0x46,0x3,0x0,0x0,0x37,0x0,0x3,null,0x4d,null,0x4,null,0x6,0x4,0x47,0x4,0x3,null,0x4,null,0x0,0x5,0x47,0x6,0x3,null,0x4,null,0x0,0x0,0x47,0x7,0x3,null,0x6,0x2,0x4,null,0x46,0x8,0x0,0x2,0x37,0x1,0x3,null,0x6,0x3,0x4,null,0x0,0x2,0xa,null,0x7,0x3,0x3,null,0x32,null,0x4d,null,0x4,null,0x8,0x0,0x47,0x9,0x3,null,0x4,null,0x6,0x2,0x47,0xa,0x3,null,0x4,null,0x0,0x0,0x47,0xb,0x3,null,0x38,null],'c':[0x0,"Audio",0x1,"load","audio",![],"inUse","startTime","push","src","channels","idx"],'p':0x2,'l':0x3,'j':{0x7:0x2d,0x2c:0x4}},{'i':[0x8,0x1,0x4,null,0x1,null,0x2a,null,0x34,null,0x3,null,0x0,0x0,0x9,0x1,0x32,null,0x3,null,0x8,0x2,0x4,null,0x1,null,0x2a,null,0x34,null,0x3,null,0x0,0x1,0x9,0x2,0x32,null,0x3,null,0x4d,null,0x4,null,0x8,0x0,0x47,0x2,0x3,null,0x4,null,0x8,0x1,0x47,0x3,0x3,null,0x4,null,0x8,0x2,0x47,0x4,0x3,null,0xa0,null,0x46,0x5,0x4,null,0x46,0x6,0x0,0x0,0x37,0x1,0x3,null,0x1,null,0x38,null],'c':[0x1,0x0,"category","volume","priority","eventQueue","push"],'p':0x3,'l':0x0,'j':{0x4:0x9,0x8:0xa,0xe:0x13,0x12:0x14}},{'i':[0xd5,0x0,0xd2,0x0],'c':[],'p':0x0,'l':0x0,'a':0x1},{'i':[0xd5,0x0,0xd2,0x0],'c':[],'p':0x0,'l':0x0,'a':0x1},{'i':[0x8,0x2,0x4,null,0x1,null,0x2a,null,0x34,null,0x3,null,0x0,0x0,0x9,0x2,0x32,null,0x3,null,0x4b,0x1,0x46,0x2,0x20,null,0x34,null,0x1,null,0x38,null,0x8,0x0,0x0,0x3,0x2a,null,0x34,null,0xd5,0x0,0xd2,0x0,0xda,0x4,0x4b,0x5,0x8,0x1,0x0,0x0,0x68,0x1,0xd9,0x6,0xd3,0x6,0x0,0x7,0x0,0x0,0x8,0x2,0x4b,0x8,0x4,null,0x46,0x9,0x0,0xa,0x37,0x2,0x4b,0x8,0x4,null,0x46,0xb,0x0,0xa,0x37,0x2,0x47,0xc,0x3,null,0x0,0xd,0x64,null,0xd3,0x6,0x4,null,0x46,0xe,0x0,0x7,0x37,0x0,0x4,null,0x46,0xf,0x0,0x0,0x37,0x1,0x3,null,0x0,0x10,0x38,null,0xd6,0x0,0xa0,null,0x46,0x11,0x8,0x0,0x48,null,0xa0,null,0x46,0x12,0x46,0x13,0x8,0x0,0x48,null,0x2f,null,0x34,null,0x0,0x14,0x38,null,0x4b,0x15,0x4,null,0x46,0x16,0x0,0x7,0x37,0x0,0x7,0x4,0xa0,null,0x46,0x17,0x8,0x0,0x48,null,0x4,null,0x33,null,0x3,null,0x0,0x7,0x7,0x5,0xa0,null,0x46,0x12,0x46,0x18,0x8,0x0,0x48,null,0x7,0x6,0x8,0x0,0x0,0x19,0x2a,null,0x4,null,0x34,null,0x3,null,0xa0,null,0x46,0x1a,0x34,null,0x0,0x14,0x38,null,0x70,0x1b,0x0,0x1c,0x2b,null,0x4,null,0x34,null,0x3,null,0x4b,0x1b,0x46,0x1d,0x0,0x0,0x2f,null,0x34,null,0x6,0x6,0xa0,null,0x46,0x12,0x46,0x1e,0x8,0x0,0x48,null,0xc,null,0x4,null,0x7,0x6,0x3,null,0x6,0x4,0x6,0x5,0xb,null,0x6,0x6,0x2c,null,0x34,null,0x0,0x14,0x38,null,0xa0,null,0x46,0x1f,0x8,0x0,0x48,null,0x34,null,0x8,0x0,0x8,0x2,0xa0,null,0x4,null,0x46,0x20,0x0,0xa,0x37,0x2,0x3,null,0x32,null,0xd5,0x0,0xd2,0x0,0xda,0x4,0x4b,0x5,0x8,0x1,0x0,0x0,0x68,0x1,0xd9,0x6,0xd3,0x6,0x0,0x7,0x0,0x0,0x8,0x2,0x4b,0x8,0x4,null,0x46,0x9,0x0,0xa,0x37,0x2,0x4b,0x8,0x4,null,0x46,0xb,0x0,0xa,0x37,0x2,0x47,0xc,0x3,null,0x0,0x21,0x64,null,0xd3,0x6,0x4,null,0x46,0xe,0x0,0x7,0x37,0x0,0x4,null,0x46,0xf,0x0,0x0,0x37,0x1,0x3,null,0xd6,0x0,0xa0,null,0x46,0x17,0x8,0x0,0x6,0x4,0x49,null,0x3,null,0x0,0x10,0x38,null],'c':[0x1,"gameSettings","sfxEnabled","critical","sfx","Audio","sfx$$1",0x0,"Math","min",0x2,"max","volume",0x10,"play","catch",!![],"activeVoices","config","voiceLimits",![],"Date","now","lastPlayTime","coalesceIntervals","explosion","bombAudioActive","game","undefined","surgePhase","surgeMultipliers","pools","_playFromPool",0x11],'p':0x3,'l':0x4,'j':{0x4:0x9,0x8:0xa,0xd:0x10,0x13:0x3b,0x45:0x48,0x53:0x56,0x61:0x65,0x65:0x68,0x6c:0x72,0x72:0x7d,0x82:0x85,0x89:0x93,0x92:0xb8}},{'i':[0xd5,0x0,0xd2,0x0],'c':[],'p':0x0,'l':0x0,'a':0x1},{'i':[0xd5,0x0,0xd2,0x0,0x0,0x0,0x64,null,0xd3,0x1,0x46,0x2,0x4,null,0x46,0x3,0x0,0x4,0x37,0x0,0x4,null,0x46,0x5,0x0,0x6,0x37,0x1,0x38,null],'c':[0x13,"channel$$2","audio","play",0x0,"catch",0x1],'p':0x0,'l':0x0,'a':0x1},{'i':[0xd5,0x0,0xd2,0x0],'c':[],'p':0x0,'l':0x0,'a':0x1},{'i':[0xd2,0x0,0xa0,null,0x46,0x0,0x8,0x0,0x48,null,0x7,0x2,0x6,0x2,0x20,null,0x34,null,0x1,null,0x38,null,0x8,0x0,0x0,0x1,0x2a,null,0x4,null,0x34,null,0x3,null,0x8,0x1,0x0,0x2,0x2f,null,0x34,null,0x0,0x3,0x32,null,0x0,0x4,0x7,0x3,0x0,0x5,0xd7,0x6,0xd3,0x6,0x6,0x3,0x2c,null,0x34,null,0xd5,0x0,0xd2,0x0,0xd3,0x6,0xd7,0x6,0xd5,0x0,0xd2,0x0,0xda,0x7,0x6,0x2,0x46,0x8,0x6,0x2,0x46,0x9,0x48,null,0xd9,0xa,0xd3,0xa,0x46,0xb,0x0,0x5,0x47,0xc,0x3,null,0xd3,0xa,0x46,0xb,0x0,0x5,0x0,0x4,0x8,0x1,0x4b,0xd,0x4,null,0x46,0xe,0x0,0x3,0x37,0x2,0x4b,0xd,0x4,null,0x46,0xf,0x0,0x3,0x37,0x2,0x47,0x10,0x3,null,0xd3,0x6,0x0,0x5,0x2e,null,0x34,null,0x0,0x11,0x64,null,0x0,0x4,0x4b,0x12,0x0,0x3,0x36,0x2,0x3,null,0x32,null,0x0,0x13,0x64,null,0xd3,0xa,0x46,0xb,0x4,null,0x46,0x14,0x0,0x5,0x37,0x0,0x4,null,0x46,0x15,0x0,0x4,0x37,0x1,0x3,null,0x6,0x2,0x6,0x2,0x46,0x9,0x0,0x4,0xa,null,0x6,0x2,0x46,0x8,0x46,0x16,0xe,null,0x47,0x9,0x3,null,0xd6,0x0,0xd6,0x0,0xd3,0x6,0x4,null,0x0,0x4,0xa,null,0xd4,0x6,0x3,null,0x32,null,0xd6,0x0,0x1,null,0x38,null],'c':["pools","impact",0.9,0x2,0x1,0x0,"i","channel","channels","idx","channel$$2","audio","currentTime","Math","min","max","volume",0x14,"setTimeout",0x15,"play","catch","length"],'p':0x2,'l':0x4,'j':{0x8:0xb,0xf:0x14,0x14:0x17,0x16:0x18,0x1e:0x6f,0x45:0x4e,0x4d:0x5b,0x6e:0x1b}},{'i':[0xa0,null,0x46,0x0,0x46,0x1,0x0,0x2,0x2a,null,0x34,null,0x1,null,0x38,null,0x4d,null,0x7,0x0,0xa0,null,0x46,0x0,0x7f,null,0x7,0x1,0x3,null,0x0,0x3,0x7,0x2,0x3,null,0x0,0x3,0x7,0x2,0x3,null,0x6,0x1,0x7b,null,0x4,null,0x80,null,0x33,null,0x46,0x4,0x7,0x3,0x3,null,0x3a,null,0x6,0x0,0x6,0x3,0x46,0x5,0x48,null,0x20,null,0x34,null,0x6,0x0,0x6,0x3,0x46,0x5,0x5a,null,0x49,null,0x3,null,0x6,0x3,0x6,0x0,0x6,0x3,0x46,0x5,0x48,null,0x4,null,0x46,0x6,0x0,0x7,0x37,0x1,0x3,null,0x3b,null,0x32,null,0x3d,null,0x6,0x2,0x33,null,0x6,0x1,0x7c,null,0x3e,null,0x3,null,0x6,0x0,0x84,null,0x7,0x4,0x3,null,0x0,0x2,0x7,0x5,0x3,null,0x6,0x5,0x6,0x4,0x46,0x1,0x2c,null,0x34,null,0x6,0x4,0x6,0x5,0x48,null,0x7,0x6,0x3,null,0x6,0x0,0x6,0x6,0x48,null,0x7,0x7,0xa0,null,0x46,0x8,0x46,0x9,0x6,0x6,0x48,null,0x4,null,0x33,null,0x3,null,0x0,0x7,0x7,0x8,0x6,0x7,0x46,0x1,0x6,0x8,0x4b,0xa,0x4,null,0x46,0xb,0x0,0xc,0x37,0x2,0x7,0x9,0x6,0x7,0x0,0x2,0x48,null,0x46,0xd,0x7,0xa,0x0,0xe,0x6,0x7,0x46,0x1,0x0,0xf,0xc,null,0x4b,0xa,0x4,null,0x46,0xb,0x0,0xc,0x37,0x2,0x7,0xb,0x70,0x10,0x0,0x11,0x2b,null,0x4,null,0x34,null,0x3,null,0x4b,0x10,0x46,0x12,0x0,0x7,0x2f,null,0x34,null,0x0,0x2,0x4,null,0x7,0xb,0x3,null,0x0,0x7,0x6,0xa,0x6,0xb,0xa,null,0x4b,0xa,0x4,null,0x46,0xb,0x0,0xc,0x37,0x2,0x7,0xc,0x0,0x2,0x7,0xd,0x6,0xd,0x6,0x9,0x2c,null,0x34,null,0x6,0x6,0x2,null,0x6,0xc,0xa0,null,0x4,null,0x46,0x13,0x0,0x14,0x37,0x3,0x3,null,0x6,0xd,0x4,null,0x0,0x7,0xa,null,0x7,0xd,0x3,null,0x32,null,0x6,0x5,0x0,0x7,0xa,null,0x7,0x5,0x3,null,0x32,null,0xa0,null,0x5a,null,0x47,0x0,0x3,null,0x1,null,0x38,null],'c':["eventQueue","length",0x0,![],"value","category","push",0x1,"config","voiceLimits","Math","min",0x2,"volume",0.3,0.02,"game","undefined","surgePhase","playImmediate",0x3],'p':0x0,'l':0xe,'j':{0x5:0x8,0x19:0x3c,0x23:0x2a,0x35:0x12,0x38:0x3b,0x48:0xaa,0x58:0x5b,0x79:0x7f,0x7f:0x84,0x93:0xa4,0xa3:0x90,0xa9:0x44},'x':{0x1d:[-0x1,0x36,0x3d]}},{'i':[0xd3,0x0,0x0,0x1,0x47,0x2,0x3,null],'c':["__this__",![],"bombAudioActive"],'p':0x0,'l':0x0,'a':0x1},{'i':[0xa0,null,0xd4,0x6,0x3,null,0xa0,null,0x0,0x0,0x47,0x1,0x3,null,0x0,0x2,0x64,null,0x0,0x3,0x4b,0x4,0x0,0x5,0x36,0x2,0x3,null,0x1,null,0x38,null],'c':[!![],"bombAudioActive",0x18,0x7d0,"setTimeout",0x2,"__this__"],'p':0x0,'l':0x0},{'i':[0xa0,null,0x46,0x0,0x34,null,0x0,0x1,0x38,null,0x0,0x2,0x38,null],'c':["bombAudioActive",![],!![]],'p':0x0,'l':0x0,'j':{0x2:0x5}},{'i':[0xd5,0x0,0xd2,0x0],'c':[],'p':0x0,'l':0x0,'a':0x1},{'i':[0x4b,0x0,0x46,0x1,0x20,null,0x34,null,0x1,null,0x38,null,0x0,0x2,0x8,0x0,0x4,null,0x46,0x3,0x0,0x4,0x37,0x1,0x34,null,0x4b,0x5,0x4,null,0x46,0x6,0x0,0x7,0x37,0x0,0x20,null,0x34,null,0x1,null,0x38,null,0x0,0x2,0x8,0x0,0x8,0x1,0x4b,0x5,0x4,null,0x46,0x8,0x0,0x9,0x37,0x3,0x3,null,0x32,null,0x0,0xa,0x8,0x0,0x4,null,0x46,0x3,0x0,0x4,0x37,0x1,0x34,null,0x0,0xa,0x8,0x0,0x8,0x1,0x4b,0x5,0x4,null,0x46,0x8,0x0,0x9,0x37,0x3,0x3,null,0x32,null,0x0,0xb,0x8,0x0,0x4,null,0x46,0x3,0x0,0x4,0x37,0x1,0x34,null,0x0,0xb,0x8,0x0,0x8,0x1,0x4b,0x5,0x4,null,0x46,0x8,0x0,0x9,0x37,0x3,0x3,null,0x32,null,0x0,0xc,0x8,0x0,0x4,null,0x46,0x3,0x0,0x4,0x37,0x1,0x4,null,0x33,null,0x3,null,0x0,0xd,0x8,0x0,0x4,null,0x46,0x3,0x0,0x4,0x37,0x1,0x4,null,0x33,null,0x3,null,0x0,0xe,0x8,0x0,0x4,null,0x46,0x3,0x0,0x4,0x37,0x1,0x4,null,0x33,null,0x3,null,0x0,0xf,0x8,0x0,0x4,null,0x46,0x3,0x0,0x4,0x37,0x1,0x4,null,0x33,null,0x3,null,0x0,0x10,0x8,0x0,0x4,null,0x46,0x3,0x0,0x4,0x37,0x1,0x34,null,0x0,0x11,0x8,0x0,0x8,0x1,0x4b,0x5,0x4,null,0x46,0x8,0x0,0x9,0x37,0x3,0x3,null,0x32,null,0x0,0x12,0x8,0x0,0x4,null,0x46,0x3,0x0,0x4,0x37,0x1,0x34,null,0x0,0x13,0x8,0x0,0x8,0x1,0x4b,0x5,0x4,null,0x46,0x8,0x0,0x9,0x37,0x3,0x3,null,0x32,null,0xd5,0x0,0xd2,0x0,0xda,0x14,0x4b,0x15,0x8,0x0,0x0,0x4,0x68,0x1,0xd9,0x16,0xd3,0x16,0x0,0x7,0x0,0x4,0x8,0x1,0x4b,0x17,0x4,null,0x46,0x18,0x0,0x19,0x37,0x2,0x4b,0x17,0x4,null,0x46,0x1a,0x0,0x19,0x37,0x2,0x47,0x1b,0x3,null,0x0,0x1c,0x64,null,0xd3,0x16,0x4,null,0x46,0x1d,0x0,0x7,0x37,0x0,0x4,null,0x46,0x1e,0x0,0x4,0x37,0x1,0x3,null,0xd6,0x0,0x1,null,0x38,null],'c':["gameSettings","sfxEnabled","explosion","includes",0x1,"AudioMixer","shouldPlayExplosion",0x0,"playImmediate",0x3,"laser","missile","Bomb","Warning","DEFEATED","ClockAura","SpiralPlayer","critical","grazedezpz","graze","sfx","Audio","sfx$$1","Math","min",0x2,"max","volume",0x1b,"play","catch","playSfxWithVolume"],'p':0x2,'l':0x1,'j':{0x3:0x6,0xc:0x20,0x13:0x16,0x1f:0xad,0x26:0x31,0x30:0xad,0x37:0x42,0x41:0xad,0x49:0x51,0x52:0x5a,0x5b:0x63,0x64:0x6c,0x6c:0x77,0x76:0xad,0x7d:0x88,0x87:0xad},'ni':0x1f},{'i':[0x8,0x2,0x4,null,0x1,null,0x2a,null,0x34,null,0x3,null,0x0,0x0,0x9,0x2,0x32,null,0x3,null,0x8,0x0,0x8,0x2,0x4b,0x1,0x0,0x2,0x36,0x2,0x3,null,0x1,null,0x38,null],'c':[0x1,"playSfxWithVolume",0x2,"playThrottledSfx"],'p':0x3,'l':0x0,'j':{0x4:0x9,0x8:0xa},'ni':0x3},{'i':[0x8,0x1,0x4,null,0x1,null,0x2a,null,0x34,null,0x3,null,0x0,0x0,0x9,0x1,0x32,null,0x3,null,0xa0,null,0x5a,null,0x47,0x1,0x3,null,0xa0,null,0x0,0x2,0x47,0x3,0x3,null,0xa0,null,0x8,0x0,0x47,0x4,0x3,null,0x0,0x2,0x7,0x2,0x6,0x2,0x8,0x1,0x2c,null,0x34,null,0x4b,0x5,0x8,0x0,0x0,0x6,0x68,0x1,0x7,0x3,0x6,0x3,0x4,null,0x46,0x7,0x0,0x2,0x37,0x0,0x3,null,0x6,0x3,0xa0,null,0x46,0x1,0x4,null,0x46,0x8,0x0,0x6,0x37,0x1,0x3,null,0x6,0x2,0x4,null,0x0,0x6,0xa,null,0x7,0x2,0x3,null,0x32,null,0x1,null,0x38,null],'c':[0xa,"pool",0x0,"idx","src","Audio",0x1,"load","push"],'p':0x2,'l':0x2,'j':{0x4:0x9,0x8:0xa,0x1b:0x36,0x35:0x18}},{'i':[],'c':[],'p':0x0,'l':0x0,'a':0x1},{'i':[0x8,0x0,0x4,null,0x1,null,0x2a,null,0x34,null,0x3,null,0x0,0x0,0x9,0x0,0x32,null,0x3,null,0x4b,0x1,0x46,0x2,0x20,null,0x34,null,0x1,null,0x38,null,0x0,0x3,0xa0,null,0x46,0x4,0x4,null,0x46,0x5,0x0,0x0,0x37,0x1,0x4,null,0x34,null,0x3,null,0x4b,0x6,0x4,null,0x46,0x7,0x0,0x8,0x37,0x0,0x20,null,0x34,null,0x1,null,0x38,null,0x0,0x3,0xa0,null,0x46,0x4,0x4,null,0x46,0x5,0x0,0x0,0x37,0x1,0x34,null,0x0,0x3,0x32,null,0x0,0x9,0xa0,null,0x46,0x4,0x4,null,0x46,0x5,0x0,0x0,0x37,0x1,0x34,null,0x0,0x9,0x32,null,0x0,0xa,0x7,0x1,0x4b,0xb,0x4,null,0x46,0xc,0x0,0x8,0x37,0x0,0x7,0x2,0x4b,0x6,0x46,0xd,0x6,0x1,0x48,null,0x4,null,0x33,null,0x3,null,0x0,0x8,0x7,0x3,0x4b,0x6,0x46,0xe,0x46,0xf,0x6,0x1,0x48,null,0x7,0x4,0x70,0x10,0x0,0x11,0x2b,null,0x4,null,0x34,null,0x3,null,0x4b,0x10,0x46,0x12,0x0,0x0,0x2f,null,0x34,null,0x6,0x4,0x4b,0x6,0x46,0xe,0x46,0x13,0x6,0x1,0x48,null,0xc,null,0x4,null,0x7,0x4,0x3,null,0x6,0x2,0x6,0x3,0xb,null,0x6,0x4,0x2c,null,0x34,null,0x1,null,0x38,null,0xa0,null,0x46,0x14,0xa0,null,0x46,0x15,0x48,null,0x7,0x5,0x6,0x5,0x0,0x8,0x47,0x16,0x3,null,0x6,0x5,0x0,0x8,0x0,0x0,0x8,0x0,0x4b,0x17,0x4,null,0x46,0x18,0x0,0x19,0x37,0x2,0x4b,0x17,0x4,null,0x46,0x1a,0x0,0x19,0x37,0x2,0x47,0x1b,0x3,null,0x0,0x1c,0x64,null,0x6,0x5,0x4,null,0x46,0x1d,0x0,0x8,0x37,0x0,0x4,null,0x46,0x1e,0x0,0x0,0x37,0x1,0x3,null,0xa0,null,0xa0,null,0x46,0x15,0x0,0x0,0xa,null,0xa0,null,0x46,0x14,0x46,0x1f,0xe,null,0x47,0x15,0x3,null,0x4b,0x6,0x46,0xd,0x6,0x1,0x6,0x2,0x49,null,0x3,null,0x1,null,0x38,null],'c':[0x1,"gameSettings","sfxEnabled","explosion","src","includes","AudioMixer","shouldPlayExplosion",0x0,"laser","impact","Date","now","lastPlayTime","config","coalesceIntervals","game","undefined","surgePhase","surgeMultipliers","pool","idx","currentTime","Math","min",0x2,"max","volume",0x1f,"play","catch","length"],'p':0x1,'l':0x5,'j':{0x4:0x9,0x8:0xa,0xd:0x10,0x18:0x20,0x20:0x23,0x2a:0x2d,0x2c:0x38,0x34:0x37,0x36:0x38,0x44:0x47,0x52:0x58,0x58:0x63,0x68:0x6b}},{'i':[0x0,0x0,0x7,0x0,0x0,0x1,0x6,0x0,0x0,0x2,0xc,null,0xa,null,0x7,0x1,0x0,0x3,0x6,0x0,0x0,0x2,0xc,null,0xa,null,0x7,0x2,0x0,0x4,0x4b,0x5,0x4,null,0x46,0x6,0x0,0x7,0x37,0x1,0x4,null,0x4c,0x8,0x3,null,0x3,null,0x4b,0x8,0x6,0x1,0x47,0x9,0x3,null,0x4b,0x8,0x6,0x2,0x47,0xa,0x3,null,0x0,0xb,0x4b,0x8,0x4,null,0x46,0xc,0x0,0x7,0x37,0x1,0x7,0x3,0x6,0x0,0x6,0x0,0x6,0x0,0x0,0x1,0xa,null,0x6,0x0,0x6,0x3,0x4,null,0x46,0xd,0x0,0x3,0x37,0x4,0x7,0x4,0x0,0xe,0x0,0xf,0x6,0x4,0x4,null,0x46,0x10,0x0,0x2,0x37,0x2,0x3,null,0x0,0x11,0x0,0x12,0x6,0x4,0x4,null,0x46,0x10,0x0,0x2,0x37,0x2,0x3,null,0x0,0x7,0x0,0xf,0x6,0x4,0x4,null,0x46,0x10,0x0,0x2,0x37,0x2,0x3,null,0x6,0x3,0x6,0x4,0x47,0x13,0x3,null,0x6,0x3,0x0,0x14,0x47,0x15,0x3,null,0x6,0x3,0x0,0x16,0x47,0x17,0x3,null,0x6,0x0,0x6,0x0,0x0,0x1,0x0,0x3,0x6,0x3,0x4,null,0x46,0x18,0x0,0x3,0x37,0x4,0x3,null,0x0,0x16,0x7,0x5,0x0,0x19,0x6,0x5,0x0,0x2,0xc,null,0xa,null,0x7,0x6,0x0,0x3,0x6,0x5,0x0,0x2,0xc,null,0xa,null,0x7,0x7,0x0,0x4,0x4b,0x5,0x4,null,0x46,0x6,0x0,0x7,0x37,0x1,0x4,null,0x4c,0x1a,0x3,null,0x3,null,0x4b,0x1a,0x6,0x6,0x47,0x9,0x3,null,0x4b,0x1a,0x6,0x7,0x47,0xa,0x3,null,0x0,0xb,0x4b,0x1a,0x4,null,0x46,0xc,0x0,0x7,0x37,0x1,0x7,0x8,0x6,0x5,0x0,0x19,0xa,null,0x6,0x5,0x6,0x5,0x6,0x5,0x6,0x8,0x4,null,0x46,0xd,0x0,0x3,0x37,0x4,0x7,0x9,0x0,0xe,0x0,0x1b,0x6,0x9,0x4,null,0x46,0x10,0x0,0x2,0x37,0x2,0x3,null,0x0,0x11,0x0,0x12,0x6,0x9,0x4,null,0x46,0x10,0x0,0x2,0x37,0x2,0x3,null,0x0,0x7,0x0,0x1c,0x6,0x9,0x4,null,0x46,0x10,0x0,0x2,0x37,0x2,0x3,null,0x6,0x8,0x6,0x9,0x47,0x13,0x3,null,0x6,0x8,0x0,0x1d,0x47,0x15,0x3,null,0x6,0x8,0x0,0x19,0x47,0x17,0x3,null,0x6,0x5,0x6,0x5,0x0,0x19,0x0,0x3,0x6,0x8,0x4,null,0x46,0x18,0x0,0x3,0x37,0x4,0x3,null,0x0,0x4,0x4b,0x5,0x4,null,0x46,0x6,0x0,0x7,0x37,0x1,0x4,null,0x4c,0x1e,0x3,null,0x3,null,0x4b,0x1e,0x6,0x6,0x47,0x9,0x3,null,0x4b,0x1e,0x6,0x7,0x47,0xa,0x3,null,0x0,0xb,0x4b,0x1e,0x4,null,0x46,0xc,0x0,0x7,0x37,0x1,0x7,0xa,0x6,0x5,0x0,0x19,0xa,null,0x6,0x5,0x6,0x5,0x6,0x5,0x6,0xa,0x4,null,0x46,0xd,0x0,0x3,0x37,0x4,0x7,0xb,0x0,0xe,0x0,0x1f,0x6,0xb,0x4,null,0x46,0x10,0x0,0x2,0x37,0x2,0x3,null,0x0,0x11,0x0,0x12,0x6,0xb,0x4,null,0x46,0x10,0x0,0x2,0x37,0x2,0x3,null,0x0,0x7,0x0,0x20,0x6,0xb,0x4,null,0x46,0x10,0x0,0x2,0x37,0x2,0x3,null,0x6,0xa,0x6,0xb,0x47,0x13,0x3,null,0x6,0xa,0x0,0x21,0x47,0x15,0x3,null,0x6,0xa,0x0,0x19,0x47,0x17,0x3,null,0x6,0x5,0x6,0x5,0x0,0x19,0x0,0x3,0x6,0xa,0x4,null,0x46,0x18,0x0,0x3,0x37,0x4,0x3,null,0x0,0x22,0x7,0xc,0x0,0x23,0x6,0xc,0x0,0x2,0xc,null,0xa,null,0x7,0xd,0x0,0x24,0x6,0xc,0x0,0x2,0xc,null,0xa,null,0x7,0xe,0x0,0x4,0x4b,0x5,0x4,null,0x46,0x6,0x0,0x7,0x37,0x1,0x4,null,0x4c,0x25,0x3,null,0x3,null,0x4b,0x25,0x6,0xd,0x47,0x9,0x3,null,0x4b,0x25,0x6,0xe,0x47,0xa,0x3,null,0x0,0xb,0x4b,0x25,0x4,null,0x46,0xc,0x0,0x7,0x37,0x1,0x7,0xf,0x6,0xc,0x6,0xc,0x6,0xc,0x0,0x23,0xa,null,0x6,0xc,0x6,0xf,0x4,null,0x46,0xd,0x0,0x3,0x37,0x4,0x7,0x10,0x0,0xe,0x0,0x26,0x6,0x10,0x4,null,0x46,0x10,0x0,0x2,0x37,0x2,0x3,null,0x0,0x11,0x0,0x27,0x6,0x10,0x4,null,0x46,0x10,0x0,0x2,0x37,0x2,0x3,null,0x0,0x7,0x0,0x12,0x6,0x10,0x4,null,0x46,0x10,0x0,0x2,0x37,0x2,0x3,null,0x6,0xf,0x6,0x10,0x47,0x13,0x3,null,0x6,0xf,0x4,null,0x46,0x28,0x0,0xe,0x37,0x0,0x3,null,0x6,0xc,0x6,0xc,0x6,0xf,0x4,null,0x46,0x29,0x0,0x2,0x37,0x2,0x3,null,0x6,0xc,0x0,0x23,0xa,null,0x6,0xc,0x0,0x2a,0xa,null,0x6,0xf,0x4,null,0x46,0x2b,0x0,0x2,0x37,0x2,0x3,null,0x6,0xc,0x6,0xc,0x0,0x24,0xa,null,0x6,0xf,0x4,null,0x46,0x2b,0x0,0x2,0x37,0x2,0x3,null,0x6,0xf,0x4,null,0x46,0x2c,0x0,0xe,0x37,0x0,0x3,null,0x1,null,0x38,null],'c':[0x14,0xd,0x2,0x4,"canvas","document","createElement",0x1,"laserSprite","width","height","2d","getContext","createLinearGradient",0x0,"#00e1ff","addColorStop",0.5,"#ffffff","fillStyle","#00ffff","shadowColor",0xf,"shadowBlur","fillRect",0xa,"enemyBulletSprite","#ff9900","#ff3300","#ff6600","enemyBulletSpriteGreen","#33ff33","#00cc00","#00ff00",0x5,0x1e,0xc,"missileSprite","#00008b","#4169e1","beginPath","moveTo",0x6,"lineTo","fill","preRenderAssets"],'p':0x0,'l':0x11,'ni':0x2d},{'i':[0x3a,null,0x0,0x0,0x4b,0x1,0x0,0x2,0x36,0x1,0x7a,null,0x7,0x0,0x6,0x0,0x4,null,0x46,0x3,0x0,0x4,0x37,0x0,0x7a,null,0x7,0x1,0x6,0x1,0x46,0x5,0x20,null,0x4,null,0x33,null,0x3,null,0x6,0x1,0x46,0x6,0x20,null,0x34,null,0x4b,0x7,0x46,0x8,0x0,0x9,0x47,0xa,0x3,null,0x1,null,0x38,null,0x0,0xb,0x6,0x1,0x46,0x6,0x46,0xc,0xa,null,0x4b,0xd,0x4,null,0x46,0xe,0x0,0x2,0x37,0x1,0x3,null,0x3b,null,0x32,null,0x3c,0xf,0x0,0x10,0xd3,0xf,0x4b,0xd,0x4,null,0x46,0x11,0x0,0x12,0x37,0x2,0x3,null,0x32,null,0x4b,0x13,0x0,0x4,0x36,0x0,0x3,null,0x1,null,0x38,null],'c':["api/me.php","fetch",0x1,"json",0x0,"ok","user","window","location","Login1.html","href","Logged in as: ","username","console","log","e","Auth check failed:","error",0x2,"init"],'p':0x0,'l':0x2,'j':{0x12:0x17,0x17:0x1f,0x2b:0x36,0x35:0x36},'x':{0x0:[0x2c,-0x1,0x36]},'s':0x1},{'i':[0x8,0x0,0x4,null,0x46,0x0,0x0,0x1,0x37,0x0,0x38,null],'c':["preventDefault",0x0],'p':0x1,'l':0x0,'a':0x1},{'i':[],'c':[],'p':0x0,'l':0x0,'a':0x1},{'i':[0x4b,0x0,0x0,0x1,0x36,0x0,0x3,null,0x0,0x2,0x4b,0x3,0x4,null,0x46,0x4,0x0,0x5,0x37,0x1,0x4,null,0x4c,0x6,0x3,null,0x3,null,0x0,0x7,0x4d,null,0x4,null,0x0,0x8,0x47,0x9,0x3,null,0x4b,0x6,0x4,null,0x46,0xa,0x0,0xb,0x37,0x2,0x4,null,0x4c,0xc,0x3,null,0x3,null,0x4b,0x6,0x4b,0xd,0x47,0xe,0x3,null,0x4b,0x6,0x4b,0xf,0x47,0x10,0x3,null,0x0,0x11,0x4b,0x12,0x0,0x8,0x4b,0x3,0x4,null,0x46,0x13,0x0,0x14,0x37,0x3,0x3,null,0x0,0x15,0x4b,0x16,0x0,0x8,0x4b,0x3,0x4,null,0x46,0x13,0x0,0x14,0x37,0x3,0x3,null,0x0,0x17,0x0,0x18,0x64,null,0x4b,0x3,0x4,null,0x46,0x13,0x0,0xb,0x37,0x2,0x3,null,0x0,0x19,0x4,null,0x4c,0x1a,0x3,null,0x3,null,0x4b,0x1b,0x0,0x1,0x36,0x0,0x3,null,0x4b,0x1c,0x4b,0x1d,0x47,0x1e,0x3,null,0x4b,0x1f,0x46,0x20,0x34,null,0x0,0x21,0x64,null,0x4b,0x1c,0x4,null,0x46,0x22,0x0,0x1,0x37,0x0,0x4,null,0x46,0x23,0x0,0x5,0x37,0x1,0x3,null,0x4b,0x24,0x4b,0x25,0x0,0x5,0x36,0x1,0x3,null,0x1,null,0x38,null],'c':["preRenderAssets",0x0,"canvas","document","getElementById",0x1,"c","2d",![],"alpha","getContext",0x2,"ctx","canvasWidth","width","canvasHeight","height","keydown","keyDownPressed","addEventListener",0x3,"keyup","keyUpPressed","contextmenu",0x23,!![],"gameStarted","pickRandomBGM","currentBGM","BGM_VOLUME","volume","gameSettings","musicEnabled",0x24,"play","catch","gameLoop","requestAnimationFrame","init"],'p':0x0,'l':0x0,'j':{0x4f:0x5c},'ni':0x26},{'i':[],'c':[],'p':0x0,'l':0x0,'a':0x1},{'i':[0x4b,0x0,0x20,null,0x34,null,0x1,null,0x38,null,0x4b,0x1,0x46,0x2,0x34,null,0x4b,0x3,0x0,0x4,0x36,0x0,0x3,null,0x4b,0x5,0x0,0x4,0x36,0x0,0x3,null,0x1,null,0x38,null,0x4b,0x1,0x46,0x6,0x34,null,0x4b,0x3,0x0,0x4,0x36,0x0,0x3,null,0x1,null,0x38,null,0x8,0x0,0x4b,0x7,0xb,null,0x4b,0x8,0x2f,null,0x34,null,0x8,0x0,0x4,null,0x4c,0x7,0x3,null,0x3,null,0x4b,0x9,0x20,null,0x34,null,0x4b,0x3,0x0,0x4,0x36,0x0,0x3,null,0x4b,0xa,0x0,0x4,0x36,0x0,0x3,null,0x4b,0xb,0x0,0x4,0x36,0x0,0x3,null,0x32,null,0x4b,0x3,0x0,0x4,0x36,0x0,0x3,null,0x4b,0xb,0x0,0x4,0x36,0x0,0x3,null,0x4b,0xc,0x0,0xd,0x2a,null,0x34,null,0x4b,0xe,0x0,0xf,0x0,0x10,0xd,null,0xa,null,0x4,null,0x4c,0xe,0x3,null,0x3,null,0x4b,0xe,0x0,0xf,0x2f,null,0x34,null,0x0,0xf,0x4,null,0x4c,0xe,0x3,null,0x3,null,0x0,0x11,0x4,null,0x4c,0xc,0x3,null,0x3,null,0x32,null,0x4b,0xc,0x0,0x12,0x2a,null,0x34,null,0x4b,0xe,0x0,0xf,0x0,0x10,0xd,null,0x0,0x13,0xd,null,0xa,null,0x4,null,0x4c,0xe,0x3,null,0x3,null,0x4b,0xe,0x0,0xf,0x2f,null,0x34,null,0x0,0x14,0x4,null,0x4c,0x9,0x3,null,0x3,null,0x0,0x15,0x4,null,0x4c,0xc,0x3,null,0x3,null,0x4b,0x16,0x20,null,0x4,null,0x34,null,0x3,null,0x4b,0x17,0x34,null,0x0,0x18,0x64,null,0x4b,0x19,0x4,null,0x46,0x1a,0x0,0x4,0x37,0x0,0x4,null,0x46,0x1b,0x0,0xf,0x37,0x1,0x3,null,0x4b,0x1c,0x46,0x1d,0x34,null,0x4b,0x1c,0x4,null,0x46,0x1d,0x0,0x4,0x37,0x0,0x32,null,0x4b,0x1e,0x4,null,0x46,0x1d,0x0,0x4,0x37,0x0,0x4,null,0x4c,0x7,0x3,null,0x3,null,0x4b,0x1f,0x46,0x20,0x46,0x21,0x0,0x15,0x47,0x22,0x3,null,0x4b,0x9,0x34,null,0x4b,0x23,0x0,0x4,0x36,0x0,0x3,null,0x4b,0x24,0x0,0x4,0x36,0x0,0x3,null,0xd3,0x25,0x4b,0x26,0x0,0xf,0x36,0x1,0x3,null,0x1,null,0x38,null],'c':["gameStarted","game","endingSequence","clearGame",0x0,"drawEndingSequence","gameOver","lastFrameTime","frameInterval","gamePaused","updateGame","drawGame","pauseFadeState","in","pauseFadeTimer",0x1,0x5a,"active","out",0.3,![],"none","musicMuted","audioStarted",0x26,"currentBGM","play","catch","performance","now","Date","document","body","style","cursor","drawPauseOverlay","drawSurgeWarningOverlay","gameLoop","requestAnimationFrame"],'p':0x1,'l':0x0,'j':{0x2:0x5,0x7:0x12,0x14:0x1b,0x20:0xac,0x28:0x36,0x35:0xa8,0x41:0x5a,0x4e:0x59,0x59:0xa2,0x5d:0xa2,0x6c:0xa2,0x7a:0x7d,0x7d:0xa2,0x8c:0x93,0x92:0x98,0xa3:0xa8},'ni':0x25},{'i':[0x8,0x0,0x46,0x0,0x0,0x1,0x2a,null,0x4,null,0x33,null,0x3,null,0x8,0x0,0x46,0x0,0x0,0x2,0x2a,null,0x34,null,0x4b,0x3,0x0,0x4,0x47,0x5,0x3,null,0x32,null,0x8,0x0,0x46,0x0,0x0,0x6,0x2a,null,0x4,null,0x33,null,0x3,null,0x8,0x0,0x46,0x0,0x0,0x7,0x2a,null,0x34,null,0x4b,0x3,0x0,0x4,0x47,0x8,0x3,null,0x8,0x0,0x46,0x0,0x0,0x9,0x2a,null,0x4,null,0x33,null,0x3,null,0x8,0x0,0x46,0x0,0x0,0xa,0x2a,null,0x34,null,0x4b,0x3,0x0,0x4,0x47,0xb,0x3,null,0x8,0x0,0x46,0x0,0x0,0xc,0x2a,null,0x4,null,0x33,null,0x3,null,0x8,0x0,0x46,0x0,0x0,0xd,0x2a,null,0x34,null,0x4b,0x3,0x0,0x4,0x47,0xe,0x3,null,0x8,0x0,0x46,0x0,0x0,0xf,0x2a,null,0x34,null,0x4b,0x10,0x46,0x11,0x0,0x12,0x2a,null,0x34,null,0x4b,0x3,0x0,0x4,0x47,0x13,0x3,null,0x4b,0x14,0x46,0x15,0x20,null,0x34,null,0x4b,0x16,0x0,0x17,0x36,0x0,0x3,null,0x8,0x0,0x46,0x0,0x0,0x18,0x2a,null,0x34,null,0x4b,0x19,0x0,0x17,0x36,0x0,0x3,null,0x8,0x0,0x46,0x0,0x0,0x1a,0x2a,null,0x34,null,0x4b,0x1b,0x0,0x17,0x2e,null,0x4,null,0x34,null,0x3,null,0x4b,0x1c,0x46,0x1d,0x20,null,0x4,null,0x34,null,0x3,null,0x4b,0x1e,0x20,null,0x4,null,0x34,null,0x3,null,0x4b,0x14,0x46,0x15,0x20,null,0x34,null,0x4b,0x1f,0x0,0x17,0x36,0x0,0x34,null,0x4b,0x1b,0x4,null,0x0,0x20,0xb,null,0x4c,0x1b,0x3,null,0x3,null,0x8,0x0,0x46,0x0,0x0,0x21,0x2a,null,0x34,null,0x4b,0x10,0x46,0x11,0x0,0x12,0x2a,null,0x4,null,0x34,null,0x3,null,0x4b,0x1c,0x46,0x1d,0x20,null,0x4,null,0x34,null,0x3,null,0x4b,0x1e,0x20,null,0x4,null,0x34,null,0x3,null,0x4b,0x14,0x46,0x15,0x20,null,0x34,null,0x4b,0x22,0x0,0x17,0x36,0x0,0x3,null,0x8,0x0,0x46,0x0,0x0,0x23,0x2a,null,0x34,null,0x4b,0x1b,0x0,0x24,0xa,null,0x4,null,0x4c,0x1b,0x3,null,0x3,null,0x8,0x0,0x46,0x0,0x0,0x25,0x2a,null,0x34,null,0x4b,0x26,0x0,0x27,0xa,null,0x4,null,0x4c,0x26,0x3,null,0x3,null,0x8,0x0,0x46,0x0,0x0,0x28,0x2a,null,0x34,null,0x4b,0x1c,0x46,0x29,0x0,0x17,0x2a,null,0x4,null,0x34,null,0x3,null,0x4b,0x1c,0x46,0x2a,0x0,0x2b,0x2b,null,0x4,null,0x34,null,0x3,null,0x4b,0x1c,0x46,0x2a,0x0,0x2c,0x2b,null,0x4,null,0x34,null,0x3,null,0x4b,0x1c,0x46,0x2a,0x0,0x2d,0x2b,null,0x34,null,0x0,0x2e,0x4b,0x2f,0x4,null,0x46,0x30,0x0,0x20,0x37,0x1,0x3,null,0x4b,0x1c,0x0,0x2b,0x47,0x2a,0x3,null,0x4b,0x1c,0x4b,0x31,0x4,null,0x46,0x32,0x0,0x17,0x37,0x0,0x47,0x33,0x3,null,0x1,null,0x38,null],'c':["keyCode",0x57,0x26,"keys",!![],"up",0x53,0x28,"down",0x41,0x25,"left",0x44,0x27,"right",0x20,"gameSettings","inputMode","keyboard","fire","player1","dead","fireBullet",0x0,0x50,"togglePause",0x10,"abilityCharges","game","gameOver","gamePaused","useAbility",0x1,0x51,"firePlayerMissile",0x31,0xa,0x32,"missileAmmo",0x1e,0x33,"surgePhase","surgeSchedulerState","BGM_FADE_OUT","WARNING_PHASE","EVENT_RUNNING","CHEAT: Force BGM Fade Out (Pre-Pre-Surge)!","console","log","Date","now","warningStartTime","keyDownPressed"],'p':0x1,'l':0x0,'j':{0x5:0xb,0xb:0x11,0x10:0x21,0x16:0x1c,0x1c:0x21,0x26:0x2c,0x2c:0x31,0x36:0x3c,0x3c:0x41,0x45:0x57,0x4a:0x57,0x52:0x57,0x5b:0x60,0x64:0x85,0x69:0x6e,0x6f:0x73,0x74:0x79,0x79:0x85,0x7d:0x85,0x89:0xa4,0x8f:0x94,0x95:0x99,0x9a:0x9f,0x9f:0xa4,0xa8:0xb0,0xb4:0xbc,0xc0:0xee,0xc6:0xcc,0xcd:0xd3,0xd4:0xda,0xda:0xee},'ni':0x34},{'i':[0x8,0x0,0x46,0x0,0x0,0x1,0x2a,null,0x4,null,0x33,null,0x3,null,0x8,0x0,0x46,0x0,0x0,0x2,0x2a,null,0x34,null,0x4b,0x3,0x0,0x4,0x47,0x5,0x3,null,0x32,null,0x8,0x0,0x46,0x0,0x0,0x6,0x2a,null,0x4,null,0x33,null,0x3,null,0x8,0x0,0x46,0x0,0x0,0x7,0x2a,null,0x34,null,0x4b,0x3,0x0,0x4,0x47,0x8,0x3,null,0x8,0x0,0x46,0x0,0x0,0x9,0x2a,null,0x4,null,0x33,null,0x3,null,0x8,0x0,0x46,0x0,0x0,0xa,0x2a,null,0x34,null,0x4b,0x3,0x0,0x4,0x47,0xb,0x3,null,0x8,0x0,0x46,0x0,0x0,0xc,0x2a,null,0x4,null,0x33,null,0x3,null,0x8,0x0,0x46,0x0,0x0,0xd,0x2a,null,0x34,null,0x4b,0x3,0x0,0x4,0x47,0xe,0x3,null,0x8,0x0,0x46,0x0,0x0,0xf,0x2a,null,0x34,null,0x4b,0x3,0x0,0x4,0x47,0x10,0x3,null,0x1,null,0x38,null],'c':["keyCode",0x57,0x26,"keys",![],"up",0x53,0x28,"down",0x41,0x25,"left",0x44,0x27,"right",0x20,"fire","keyUpPressed"],'p':0x1,'l':0x0,'j':{0x5:0xb,0xb:0x11,0x10:0x21,0x16:0x1c,0x1c:0x21,0x26:0x2c,0x2c:0x31,0x36:0x3c,0x3c:0x41,0x45:0x4a},'ni':0x11},{'i':[0x4b,0x0,0x46,0x1,0x4b,0x0,0x46,0x2,0xa,null,0x7,0x0,0x4b,0x0,0x46,0x3,0x4b,0x0,0x46,0x4,0x0,0x5,0xd,null,0xa,null,0x7,0x1,0x0,0x6,0x7,0x2,0x4b,0x7,0x46,0x8,0x0,0x9,0x2f,null,0x34,null,0x4b,0xa,0x4,null,0x46,0xb,0x0,0x6,0x37,0x0,0x0,0xc,0xc,null,0x0,0xd,0xb,null,0x4,null,0x7,0x2,0x3,null,0x4b,0xe,0x6,0x0,0x6,0x1,0x0,0xf,0xb,null,0x6,0x2,0x0,0x10,0x68,0x3,0x4b,0x11,0x4,null,0x46,0x12,0x0,0x9,0x37,0x1,0x3,null,0x4b,0xe,0x6,0x0,0x6,0x1,0x0,0xf,0xa,null,0x6,0x2,0x0,0x10,0x68,0x3,0x4b,0x11,0x4,null,0x46,0x12,0x0,0x9,0x37,0x1,0x3,null,0x4b,0x0,0x46,0x13,0x0,0x6,0x2e,null,0x34,null,0x0,0x14,0x7,0x3,0x4b,0xe,0x6,0x0,0x6,0x1,0x0,0x15,0xb,null,0x6,0x3,0xf,null,0x6,0x2,0xa,null,0x0,0x10,0x68,0x3,0x4b,0x11,0x4,null,0x46,0x12,0x0,0x9,0x37,0x1,0x3,null,0x4b,0xe,0x6,0x0,0x6,0x1,0x0,0x15,0xa,null,0x6,0x3,0x6,0x2,0xa,null,0x0,0x10,0x68,0x3,0x4b,0x11,0x4,null,0x46,0x12,0x0,0x9,0x37,0x1,0x3,null,0x0,0x16,0x4b,0x17,0x4,null,0x46,0x18,0x0,0x9,0x37,0x1,0x3,null,0x4b,0x0,0x46,0x1,0x4b,0x0,0x46,0x2,0xa,null,0x4b,0x0,0x46,0x3,0x4b,0x0,0x46,0x4,0x0,0x5,0xd,null,0xa,null,0x0,0x15,0x4b,0x7,0x46,0x8,0x0,0x9,0x2f,null,0x34,null,0x0,0x19,0x32,null,0x0,0x1a,0x4b,0x1b,0x0,0x1c,0x36,0x4,0x3,null,0x1,null,0x38,null],'c':["player1","x","width","y","height",0x2,0x0,"game","surgePhase",0x1,"Math","random",0.1,0.05,"LaserBullet",0x8,0x3,"missilesArray","push","doubleLaserTimer",0.6,0x5,0.2,"laserPool","play","#ff3300","#00e1ff","createParticles",0x4,"fireBullet"],'p':0x0,'l':0x4,'j':{0x14:0x21,0x41:0x65,0x7d:0x80,0x7f:0x81},'ni':0x1d},{'i':[0x4b,0x0,0x0,0x1,0x2e,null,0x34,null,0x4b,0x0,0x4,null,0x0,0x2,0xb,null,0x4c,0x0,0x3,null,0x3,null,0x4b,0x3,0x4b,0x4,0x46,0x5,0x4b,0x4,0x46,0x6,0xa,null,0x4b,0x4,0x46,0x7,0x4b,0x4,0x46,0x8,0x0,0x9,0xd,null,0xa,null,0x0,0xa,0xb,null,0x0,0x9,0x68,0x2,0x4b,0xb,0x4,null,0x46,0xc,0x0,0x2,0x37,0x1,0x3,null,0x0,0xd,0x0,0xe,0x4b,0xf,0x0,0x9,0x36,0x2,0x3,null,0x1,null,0x38,null],'c':["missileAmmo",0x0,0x1,"PlayerMissile","player1","x","width","y","height",0x2,0xa,"playerMissilesArray","push","music/sfx/missileaway.mp3",0.3,"playSfxWithVolume","firePlayerMissile"],'p':0x0,'l':0x0,'j':{0x3:0x28},'ni':0x10},{'i':[0x0,0x0,0x0,0x0,0x4b,0x1,0x4b,0x2,0x4b,0x3,0x4,null,0x46,0x4,0x0,0x5,0x37,0x4,0x3,null,0x1,null,0x38,null],'c':[0x0,"canvasWidth","canvasHeight","ctx","clearRect",0x4,"clearGame"],'p':0x0,'l':0x0,'ni':0x6},{'i':[0xa0,null,0x0,0x0,0x47,0x1,0x3,null,0xa0,null,0x0,0x2,0x47,0x3,0x3,null,0xa0,null,0x0,0x4,0xf,null,0x47,0x5,0x3,null,0xa0,null,0x4b,0x6,0x0,0x7,0xb,null,0x47,0x8,0x3,null,0xa0,null,0x0,0x9,0x47,0xa,0x3,null,0xa0,null,0x0,0x2,0x47,0xb,0x3,null,0xa0,null,0x0,0xc,0xf,null,0x47,0xd,0x3,null,0xa0,null,0x4b,0xe,0x0,0xf,0xa,null,0x47,0x10,0x3,null,0xa0,null,0x4b,0x6,0x0,0x11,0xb,null,0x47,0x12,0x3,null,0xa0,null,0x0,0x2,0x47,0x13,0x3,null,0x1,null,0x38,null],'c':[!![],"active",0x0,"timer",0x1f4,"x","canvasHeight",0xfa,"y",0.25,"scale","alpha",0.26,"rotation","canvasWidth",0xc8,"textX",0x82,"textY","textAlpha"],'p':0x0,'l':0x0},{'i':[0x0,0x0,0x0,0x0,0x8,0x0,0xb,null,0x0,0x1,0x4b,0x2,0x4,null,0x46,0x3,0x0,0x4,0x37,0x2,0xb,null,0x38,null],'c':[0x1,0x3,"Math","pow",0x2],'p':0x1,'l':0x0},{'i':[0x8,0x0,0x8,0x0,0xc,null,0x38,null],'c':[],'p':0x1,'l':0x0},{'i':[0xa0,null,0x46,0x0,0x20,null,0x34,null,0x1,null,0x38,null,0xa0,null,0x46,0x1,0x4,null,0x0,0x2,0xa,null,0xa0,null,0x5,null,0x47,0x1,0x3,null,0x3,null,0xa0,null,0x46,0x1,0x0,0x3,0x2d,null,0x34,null,0xa0,null,0x46,0x1,0x0,0x3,0xd,null,0x7,0x0,0x6,0x0,0xa0,null,0x4,null,0x46,0x4,0x0,0x2,0x37,0x1,0x7,0x1,0xa0,null,0x0,0x5,0xf,null,0x0,0x6,0x0,0x5,0xf,null,0xb,null,0x6,0x1,0xc,null,0xa,null,0x47,0x7,0x3,null,0xa0,null,0x6,0x1,0x47,0x8,0x3,null,0xa0,null,0x0,0x9,0x47,0xa,0x3,null,0xa0,null,0x0,0xb,0xf,null,0x47,0xc,0x3,null,0xa0,null,0x4b,0xd,0x0,0xe,0xa,null,0x0,0xf,0x4b,0xd,0x0,0xe,0xa,null,0xb,null,0x6,0x1,0xc,null,0xa,null,0x47,0x10,0x3,null,0xa0,null,0x6,0x1,0x47,0x11,0x3,null,0x32,null,0xa0,null,0x46,0x1,0x0,0x12,0x2d,null,0x34,null,0xa0,null,0x0,0x6,0x47,0x7,0x3,null,0xa0,null,0x0,0x2,0x47,0x8,0x3,null,0xa0,null,0x0,0x9,0x47,0xa,0x3,null,0xa0,null,0x0,0xb,0xf,null,0x47,0xc,0x3,null,0xa0,null,0x0,0xf,0x47,0x10,0x3,null,0xa0,null,0x0,0x2,0x47,0x11,0x3,null,0x32,null,0xa0,null,0x46,0x1,0x0,0x13,0x2d,null,0x34,null,0xa0,null,0x46,0x1,0x0,0x12,0xb,null,0x0,0x12,0xd,null,0x7,0x2,0x6,0x2,0xa0,null,0x4,null,0x46,0x14,0x0,0x2,0x37,0x1,0x7,0x3,0xa0,null,0x0,0x9,0x0,0x15,0x6,0x3,0xc,null,0xa,null,0x47,0xa,0x3,null,0xa0,null,0x0,0x2,0x6,0x3,0xb,null,0x47,0x8,0x3,null,0xa0,null,0x4b,0x16,0x0,0x17,0xb,null,0x0,0x18,0x6,0x3,0xc,null,0xb,null,0x47,0x19,0x3,null,0xa0,null,0x0,0xb,0xf,null,0x0,0x1a,0xf,null,0x6,0x3,0xc,null,0xa,null,0x47,0xc,0x3,null,0xa0,null,0x4b,0x16,0x0,0x1b,0xb,null,0x0,0xe,0x6,0x3,0xc,null,0xa,null,0x47,0x1c,0x3,null,0xa0,null,0x0,0x2,0x6,0x3,0xb,null,0x47,0x11,0x3,null,0x32,null,0xa0,null,0x0,0x1d,0x47,0x0,0x3,null,0x1,null,0x38,null],'c':["active","timer",0x1,0x32,"easeOutCubic",0x1f4,0x172,"x","alpha",0.25,"scale",0.26,"rotation","canvasWidth",0xc8,0xaa,"textX","textAlpha",0x5a,0xb4,"easeInQuad",0.15,"canvasHeight",0xfa,0x50,"y",0.1,0x82,"textY",![]],'p':0x0,'l':0x2,'j':{0x3:0x6,0x14:0x4d,0x4c:0xb6,0x51:0x6c,0x6b:0xb6,0x70:0xb2,0xb1:0xb6}},{'i':[0xa0,null,0x46,0x0,0x20,null,0x34,null,0x1,null,0x38,null,0x4b,0x1,0x4,null,0x46,0x2,0x0,0x3,0x37,0x0,0x3,null,0x0,0x4,0x0,0x3,0x0,0x3,0x0,0x4,0x0,0x3,0x0,0x3,0x4b,0x1,0x4,null,0x46,0x5,0x0,0x6,0x37,0x6,0x3,null,0x4b,0x1,0x0,0x7,0x47,0x8,0x3,null,0x4b,0x9,0x46,0xa,0x4,null,0x34,null,0x3,null,0x4b,0x9,0x46,0xb,0x0,0x3,0x2b,null,0x34,null,0x4b,0x1,0x4,null,0x46,0x2,0x0,0x3,0x37,0x0,0x3,null,0x4b,0x1,0xa0,null,0x46,0xc,0x47,0xd,0x3,null,0xa0,null,0x46,0xe,0xa0,null,0x46,0xf,0x4b,0x1,0x4,null,0x46,0x10,0x0,0x11,0x37,0x2,0x3,null,0xa0,null,0x46,0x12,0x4b,0x1,0x4,null,0x46,0x13,0x0,0x4,0x37,0x1,0x3,null,0xa0,null,0x46,0x14,0xa0,null,0x46,0x14,0x4b,0x1,0x4,null,0x46,0x14,0x0,0x11,0x37,0x2,0x3,null,0x4b,0x1,0x0,0x15,0x47,0x16,0x3,null,0x4b,0x1,0x0,0x17,0x47,0x18,0x3,null,0x4b,0x9,0x4b,0x9,0x46,0x19,0xf,null,0x0,0x11,0xd,null,0x4b,0x9,0x46,0x1a,0xf,null,0x0,0x11,0xd,null,0x4b,0x1,0x4,null,0x46,0x1b,0x0,0x1c,0x37,0x3,0x3,null,0x4b,0x1,0x4,null,0x46,0x1d,0x0,0x3,0x37,0x0,0x3,null,0xa0,null,0x46,0x1e,0x0,0x3,0x2e,null,0x34,null,0x4b,0x1,0xa0,null,0x46,0x1e,0x47,0xd,0x3,null,0x4b,0x1,0x0,0x1f,0x47,0x20,0x3,null,0x4b,0x1,0x0,0x21,0x47,0x22,0x3,null,0x4b,0x1,0x0,0x23,0x47,0x24,0x3,null,0x4b,0x1,0x0,0x25,0x47,0x16,0x3,null,0x4b,0x1,0x0,0x26,0x47,0x18,0x3,null,0x4b,0x1,0x0,0x27,0x47,0x28,0x3,null,0x0,0x29,0xa0,null,0x46,0x2a,0xa0,null,0x46,0x2b,0x4b,0x1,0x4,null,0x46,0x2c,0x0,0x1c,0x37,0x3,0x3,null,0x4b,0x1,0x0,0x15,0x47,0x16,0x3,null,0x4b,0x1,0x0,0x2d,0x47,0x18,0x3,null,0x0,0x29,0xa0,null,0x46,0x2a,0xa0,null,0x46,0x2b,0x4b,0x1,0x4,null,0x46,0x2c,0x0,0x1c,0x37,0x3,0x3,null,0x4b,0x1,0x0,0x2e,0x47,0x16,0x3,null,0x4b,0x1,0x0,0x2f,0x47,0x18,0x3,null,0x0,0x29,0xa0,null,0x46,0x2a,0xa0,null,0x46,0x2b,0x4b,0x1,0x4,null,0x46,0x2c,0x0,0x1c,0x37,0x3,0x3,null,0x4b,0x1,0x0,0x3,0x47,0x16,0x3,null,0x4b,0x1,0x0,0x27,0x47,0x28,0x3,null,0x0,0x29,0xa0,null,0x46,0x2a,0xa0,null,0x46,0x2b,0x4b,0x1,0x4,null,0x46,0x2c,0x0,0x1c,0x37,0x3,0x3,null,0x4b,0x1,0x4,null,0x46,0x1d,0x0,0x3,0x37,0x0,0x3,null,0x1,null,0x38,null],'c':["active","ctx","save",0x0,0x1,"setTransform",0x6,"source-over","globalCompositeOperation","spellBombImg","complete","naturalWidth","alpha","globalAlpha","x","y","translate",0x2,"rotation","rotate","scale",0xa,"shadowBlur","rgba(0,0,0,0.5)","shadowColor","width","height","drawImage",0x3,"restore","textAlpha","italic bold 28px 'Orbitron', sans-serif","font","left","textAlign","middle","textBaseline",0x14,"rgba(255, 50, 50, 0.8)","white","fillStyle","Taboo - Extinction forcefield","textX","textY","fillText","rgba(255, 0, 0, 1)",0x5,"rgba(255, 100, 100, 1)"],'p':0x0,'l':0x0,'j':{0x3:0x6,0x1f:0x25,0x25:0x6c,0x70:0xd2}},{'i':[0x0,0x0,0x4b,0x1,0x4,null,0x46,0x2,0x0,0x3,0x37,0x1,0x3,null,0xa0,null,0x0,0x4,0x47,0x5,0x3,null,0xa0,null,0x0,0x6,0x47,0x7,0x3,null,0xa0,null,0x0,0x8,0xf,null,0x47,0x9,0x3,null,0xa0,null,0x4b,0xa,0x0,0xb,0xb,null,0x47,0xc,0x3,null,0xa0,null,0x0,0xd,0x47,0xe,0x3,null,0xa0,null,0x0,0x6,0x47,0xf,0x3,null,0xa0,null,0x0,0x10,0xf,null,0x47,0x11,0x3,null,0xa0,null,0x4b,0x12,0x0,0x13,0xa,null,0x47,0x14,0x3,null,0xa0,null,0x4b,0xa,0x0,0x15,0xb,null,0x47,0x16,0x3,null,0xa0,null,0x0,0x6,0x47,0x17,0x3,null,0x1,null,0x38,null],'c':["SURGE DEBUG: It's for my Daughter.' activated!","console","log",0x1,!![],"active",0x0,"timer",0x1f4,"x","canvasHeight",0xfa,"y",0.25,"scale","alpha",0.26,"rotation","canvasWidth",0xc8,"textX",0x82,"textY","textAlpha"],'p':0x0,'l':0x0},{'i':[0x0,0x0,0x0,0x0,0x8,0x0,0xb,null,0x0,0x1,0x4b,0x2,0x4,null,0x46,0x3,0x0,0x4,0x37,0x2,0xb,null,0x38,null],'c':[0x1,0x3,"Math","pow",0x2],'p':0x1,'l':0x0},{'i':[0x8,0x0,0x8,0x0,0xc,null,0x38,null],'c':[],'p':0x1,'l':0x0},{'i':[0xa0,null,0x46,0x0,0x20,null,0x34,null,0x1,null,0x38,null,0xa0,null,0x46,0x1,0x4,null,0x0,0x2,0xa,null,0xa0,null,0x5,null,0x47,0x1,0x3,null,0x3,null,0xa0,null,0x46,0x1,0x0,0x3,0xe,null,0x0,0x4,0x2a,null,0x34,null,0x0,0x5,0xa0,null,0x46,0x1,0xa,null,0x4b,0x6,0x4,null,0x46,0x7,0x0,0x2,0x37,0x1,0x3,null,0xa0,null,0x46,0x1,0x0,0x8,0x2d,null,0x34,null,0xa0,null,0x46,0x1,0x0,0x8,0xd,null,0x7,0x0,0x6,0x0,0xa0,null,0x4,null,0x46,0x9,0x0,0x2,0x37,0x1,0x7,0x1,0xa0,null,0x0,0xa,0xf,null,0x0,0xb,0x0,0xa,0xf,null,0xb,null,0x6,0x1,0xc,null,0xa,null,0x47,0xc,0x3,null,0xa0,null,0x6,0x1,0x47,0xd,0x3,null,0xa0,null,0x0,0xe,0x47,0xf,0x3,null,0xa0,null,0x0,0x10,0xf,null,0x47,0x11,0x3,null,0xa0,null,0x4b,0x12,0x0,0x13,0xa,null,0x0,0x14,0x4b,0x12,0x0,0x13,0xa,null,0xb,null,0x6,0x1,0xc,null,0xa,null,0x47,0x15,0x3,null,0xa0,null,0x6,0x1,0x47,0x16,0x3,null,0x32,null,0xa0,null,0x46,0x1,0x0,0x17,0x2d,null,0x34,null,0xa0,null,0x0,0xb,0x47,0xc,0x3,null,0xa0,null,0x0,0x2,0x47,0xd,0x3,null,0xa0,null,0x0,0xe,0x47,0xf,0x3,null,0xa0,null,0x0,0x10,0xf,null,0x47,0x11,0x3,null,0xa0,null,0x0,0x14,0x47,0x15,0x3,null,0xa0,null,0x0,0x2,0x47,0x16,0x3,null,0x32,null,0xa0,null,0x46,0x1,0x0,0x18,0x2d,null,0x34,null,0xa0,null,0x46,0x1,0x0,0x17,0xb,null,0x0,0x17,0xd,null,0x7,0x2,0x6,0x2,0xa0,null,0x4,null,0x46,0x19,0x0,0x2,0x37,0x1,0x7,0x3,0xa0,null,0x0,0xe,0x0,0x1a,0x6,0x3,0xc,null,0xa,null,0x47,0xf,0x3,null,0xa0,null,0x0,0x2,0x6,0x3,0xb,null,0x47,0xd,0x3,null,0xa0,null,0x4b,0x1b,0x0,0x1c,0xb,null,0x0,0x1d,0x6,0x3,0xc,null,0xb,null,0x47,0x1e,0x3,null,0xa0,null,0x0,0x10,0xf,null,0x0,0x1f,0xf,null,0x6,0x3,0xc,null,0xa,null,0x47,0x11,0x3,null,0xa0,null,0x4b,0x1b,0x0,0x20,0xb,null,0x0,0x13,0x6,0x3,0xc,null,0xa,null,0x47,0x21,0x3,null,0xa0,null,0x0,0x2,0x6,0x3,0xb,null,0x47,0x16,0x3,null,0x32,null,0x0,0x22,0x4b,0x6,0x4,null,0x46,0x7,0x0,0x2,0x37,0x1,0x3,null,0xa0,null,0x0,0x23,0x47,0x0,0x3,null,0x1,null,0x38,null],'c':["active","timer",0x1,0x1e,0x0,"SURGE DEBUG: Animation Frame ","console","log",0x32,"easeOutCubic",0x1f4,0x172,"x","alpha",0.25,"scale",0.26,"rotation","canvasWidth",0xc8,0xaa,"textX","textAlpha",0x5a,0xb4,"easeInQuad",0.15,"canvasHeight",0xfa,0x50,"y",0.1,0x82,"textY","SURGE DEBUG: Animation Finished.",![]],'p':0x0,'l':0x2,'j':{0x3:0x6,0x16:0x21,0x25:0x5e,0x5d:0xce,0x62:0x7d,0x7c:0xce,0x81:0xc3,0xc2:0xce}},{'i':[0xa0,null,0x46,0x0,0x20,null,0x34,null,0x1,null,0x38,null,0x4b,0x1,0x4,null,0x46,0x2,0x0,0x3,0x37,0x0,0x3,null,0x0,0x4,0x0,0x3,0x0,0x3,0x0,0x4,0x0,0x3,0x0,0x3,0x4b,0x1,0x4,null,0x46,0x5,0x0,0x6,0x37,0x6,0x3,null,0x4b,0x1,0x0,0x7,0x47,0x8,0x3,null,0x4b,0x9,0x46,0xa,0x4,null,0x34,null,0x3,null,0x4b,0x9,0x46,0xb,0x0,0x3,0x2b,null,0x34,null,0x4b,0x1,0x4,null,0x46,0x2,0x0,0x3,0x37,0x0,0x3,null,0x4b,0x1,0xa0,null,0x46,0xc,0x47,0xd,0x3,null,0xa0,null,0x46,0xe,0xa0,null,0x46,0xf,0x4b,0x1,0x4,null,0x46,0x10,0x0,0x11,0x37,0x2,0x3,null,0xa0,null,0x46,0x12,0x4b,0x1,0x4,null,0x46,0x13,0x0,0x4,0x37,0x1,0x3,null,0xa0,null,0x46,0x14,0xa0,null,0x46,0x14,0x4b,0x1,0x4,null,0x46,0x14,0x0,0x11,0x37,0x2,0x3,null,0x4b,0x1,0x0,0x15,0x47,0x16,0x3,null,0x4b,0x1,0x0,0x17,0x47,0x18,0x3,null,0x4b,0x9,0x4b,0x9,0x46,0x19,0xf,null,0x0,0x11,0xd,null,0x4b,0x9,0x46,0x1a,0xf,null,0x0,0x11,0xd,null,0x4b,0x1,0x4,null,0x46,0x1b,0x0,0x1c,0x37,0x3,0x3,null,0x4b,0x1,0x4,null,0x46,0x1d,0x0,0x3,0x37,0x0,0x3,null,0xa0,null,0x46,0x1e,0x0,0x3,0x2e,null,0x34,null,0x4b,0x1,0xa0,null,0x46,0x1e,0x47,0xd,0x3,null,0x4b,0x1,0x0,0x1f,0x47,0x20,0x3,null,0x4b,0x1,0x0,0x21,0x47,0x22,0x3,null,0x4b,0x1,0x0,0x23,0x47,0x24,0x3,null,0x4b,0x1,0x0,0x25,0x47,0x16,0x3,null,0x4b,0x1,0x0,0x26,0x47,0x18,0x3,null,0x4b,0x1,0x0,0x27,0x47,0x28,0x3,null,0x0,0x29,0xa0,null,0x46,0x2a,0xa0,null,0x46,0x2b,0x4b,0x1,0x4,null,0x46,0x2c,0x0,0x1c,0x37,0x3,0x3,null,0x4b,0x1,0x0,0x15,0x47,0x16,0x3,null,0x4b,0x1,0x0,0x2d,0x47,0x18,0x3,null,0x0,0x29,0xa0,null,0x46,0x2a,0xa0,null,0x46,0x2b,0x4b,0x1,0x4,null,0x46,0x2c,0x0,0x1c,0x37,0x3,0x3,null,0x4b,0x1,0x0,0x2e,0x47,0x16,0x3,null,0x4b,0x1,0x0,0x2f,0x47,0x18,0x3,null,0x0,0x29,0xa0,null,0x46,0x2a,0xa0,null,0x46,0x2b,0x4b,0x1,0x4,null,0x46,0x2c,0x0,0x1c,0x37,0x3,0x3,null,0x4b,0x1,0x0,0x3,0x47,0x16,0x3,null,0x4b,0x1,0x0,0x27,0x47,0x28,0x3,null,0x0,0x29,0xa0,null,0x46,0x2a,0xa0,null,0x46,0x2b,0x4b,0x1,0x4,null,0x46,0x2c,0x0,0x1c,0x37,0x3,0x3,null,0x4b,0x1,0x4,null,0x46,0x1d,0x0,0x3,0x37,0x0,0x3,null,0x1,null,0x38,null],'c':["active","ctx","save",0x0,0x1,"setTransform",0x6,"source-over","globalCompositeOperation","spellBombImg","complete","naturalWidth","alpha","globalAlpha","x","y","translate",0x2,"rotation","rotate","scale",0xa,"shadowBlur","rgba(0,0,0,0.5)","shadowColor","width","height","drawImage",0x3,"restore","textAlpha","italic bold 28px 'Orbitron', sans-serif","font","left","textAlign","middle","textBaseline",0x14,"rgba(255, 50, 50, 0.8)","white","fillStyle","It's for my Daughter.'","textX","textY","fillText","rgba(255, 0, 0, 1)",0x5,"rgba(255, 100, 100, 1)"],'p':0x0,'l':0x0,'j':{0x3:0x6,0x1f:0x25,0x25:0x6c,0x70:0xd2}},{'i':[0xa0,null,0x0,0x0,0x47,0x1,0x3,null,0xa0,null,0x0,0x2,0x47,0x3,0x3,null,0xa0,null,0x8,0x0,0x47,0x4,0x3,null,0xa0,null,0x8,0x1,0x47,0x5,0x3,null,0xa0,null,0x5a,null,0x47,0x6,0x3,null,0xa0,null,0x5a,null,0x47,0x7,0x3,null,0xa0,null,0x0,0x8,0x47,0x9,0x3,null,0x4b,0xa,0x4,null,0x46,0xb,0x0,0x2,0x37,0x0,0x3,null,0x4b,0xc,0x4,null,0x46,0xd,0x0,0x2,0x37,0x0,0x3,null,0x0,0xe,0x0,0xf,0x4b,0x10,0x0,0x11,0x36,0x2,0x3,null,0x4b,0x12,0x4,null,0x46,0x13,0x0,0x2,0x37,0x0,0x3,null,0x0,0x2,0x7,0x2,0x6,0x2,0x0,0x14,0x2c,null,0x34,null,0x4b,0x15,0x4,null,0x46,0x16,0x0,0x2,0x37,0x0,0x4b,0x15,0x46,0x17,0xc,null,0x0,0x11,0xc,null,0x7,0x3,0x4b,0x15,0x4,null,0x46,0x16,0x0,0x2,0x37,0x0,0x0,0x18,0xc,null,0x0,0x19,0xa,null,0x7,0x4,0x4d,null,0x4,null,0x8,0x0,0x47,0x1a,0x3,null,0x4,null,0x8,0x1,0x47,0x1b,0x3,null,0x4,null,0x6,0x3,0x4b,0x15,0x4,null,0x46,0x1c,0x0,0xf,0x37,0x1,0x6,0x4,0xc,null,0x47,0x1d,0x3,null,0x4,null,0x6,0x3,0x4b,0x15,0x4,null,0x46,0x1e,0x0,0xf,0x37,0x1,0x6,0x4,0xc,null,0x47,0x1f,0x3,null,0x4,null,0x4b,0x15,0x4,null,0x46,0x16,0x0,0x2,0x37,0x0,0x0,0x20,0xc,null,0x0,0x11,0xa,null,0x47,0x21,0x3,null,0x4,null,0x0,0xf,0x47,0x22,0x3,null,0x4,null,0x0,0x23,0x47,0x24,0x3,null,0xa0,null,0x46,0x7,0x4,null,0x46,0x25,0x0,0xf,0x37,0x1,0x3,null,0x6,0x2,0x4,null,0x0,0xf,0xa,null,0x7,0x2,0x3,null,0x32,null,0x1,null,0x38,null],'c':[!![],"active",0x0,"timer","originX","originY","rects","particles",0xc8,"currentWidth","spellBombAnimation","activate","cameraShake","startBomb","music/sfx/BombMerged.wav",0x1,"playSfxWithVolume",0x2,"AudioMixer","startBombMode",0x50,"Math","random","PI",0xa,0x5,"x","y","cos","vx","sin","vy",0x3,"size","alpha",0x78,"life","push"],'p':0x2,'l':0x3,'j':{0x39:0x90,0x8f:0x36}},{'i':[0x8,0x0,0x8,0x0,0xc,null,0x38,null],'c':[],'p':0x1,'l':0x0,'a':0x1},{'i':[0x8,0x0,0x0,0x0,0x8,0x0,0xb,null,0xc,null,0x38,null],'c':[0x2],'p':0x1,'l':0x0,'a':0x1},{'i':[0xa0,null,0x46,0x0,0x20,null,0x34,null,0x1,null,0x38,null,0xa0,null,0x46,0x1,0x4,null,0x0,0x2,0xa,null,0xa0,null,0x5,null,0x47,0x1,0x3,null,0x3,null,0xa0,null,0x46,0x1,0x0,0x3,0x2e,null,0x34,null,0xa0,null,0x0,0x4,0x47,0x0,0x3,null,0x1,null,0x38,null,0x0,0x5,0x64,null,0x7,0x0,0x0,0x6,0x64,null,0x7,0x1,0x0,0x7,0x7,0x2,0x4b,0x8,0x0,0x9,0xc,null,0x7,0x3,0xa0,null,0x46,0x1,0x0,0xa,0x2c,null,0x34,null,0xa0,null,0x6,0x2,0x47,0xb,0x3,null,0x32,null,0xa0,null,0x46,0x1,0x0,0xc,0x2c,null,0x34,null,0xa0,null,0x46,0x1,0x0,0xa,0xb,null,0x0,0xd,0xd,null,0x7,0x4,0xa0,null,0x6,0x2,0x6,0x3,0x6,0x2,0xb,null,0x6,0x4,0x6,0x1,0x0,0x2,0x36,0x1,0xc,null,0xa,null,0x47,0xb,0x3,null,0x32,null,0xa0,null,0x6,0x3,0x47,0xb,0x3,null,0x4b,0xe,0x46,0xf,0x4b,0xe,0x46,0x10,0x0,0x11,0xd,null,0xa,null,0x7,0x5,0x6,0x5,0xa0,null,0x46,0xb,0x0,0x11,0xd,null,0xb,null,0x7,0x6,0x6,0x5,0xa0,null,0x46,0xb,0x0,0x11,0xd,null,0xa,null,0x7,0x7,0x4b,0x12,0x46,0x13,0x0,0x2,0xb,null,0x7,0x8,0x6,0x8,0x0,0x14,0x2f,null,0x34,null,0x4b,0x12,0x6,0x8,0x48,null,0x7,0x9,0x6,0x9,0x46,0xf,0x6,0x9,0x46,0x10,0xa,null,0x6,0x6,0x2e,null,0x4,null,0x34,null,0x3,null,0x6,0x9,0x46,0xf,0x6,0x7,0x2c,null,0x34,null,0x6,0x9,0x46,0x15,0x0,0x14,0x2e,null,0x34,null,0x6,0x9,0x4,null,0x46,0x15,0x0,0x16,0xb,null,0x47,0x15,0x3,null,0x6,0x9,0x46,0x15,0x0,0x14,0x2d,null,0x34,null,0x0,0x17,0x0,0x18,0x0,0x2,0x4b,0x19,0x4,null,0x46,0x1a,0x0,0x1b,0x37,0x3,0x3,null,0x4b,0xe,0x4,null,0x46,0x1c,0x6,0x9,0x46,0x1d,0x34,null,0x0,0x1e,0x32,null,0x0,0x1f,0x4b,0x20,0x46,0x21,0x0,0x22,0xc,null,0xa,null,0xa,null,0x47,0x1c,0x3,null,0x6,0x9,0x46,0x1d,0x34,null,0x4b,0x23,0x6,0x9,0x46,0xf,0x6,0x9,0x46,0x10,0x0,0x11,0xd,null,0xa,null,0x6,0x9,0x46,0x24,0x6,0x9,0x46,0x25,0x0,0x11,0xd,null,0xa,null,0x0,0x11,0x68,0x2,0x4b,0x26,0x4,null,0x46,0x27,0x0,0x2,0x37,0x1,0x3,null,0x4b,0x28,0x4,null,0x46,0x29,0x0,0x14,0x37,0x0,0x0,0x2a,0x2c,null,0x34,null,0x4b,0x2b,0x6,0x9,0x46,0xf,0x6,0x9,0x46,0x24,0x0,0x2c,0x0,0x1b,0x68,0x3,0x4b,0x2d,0x4,null,0x46,0x27,0x0,0x2,0x37,0x1,0x3,null,0x32,null,0x4b,0x23,0x6,0x9,0x46,0xf,0x6,0x9,0x46,0x10,0x0,0x11,0xd,null,0xa,null,0x6,0x9,0x46,0x24,0x6,0x9,0x46,0x25,0x0,0x11,0xd,null,0xa,null,0x0,0x2e,0x0,0x1b,0x68,0x3,0x4b,0x2f,0x4,null,0x46,0x27,0x0,0x2,0x37,0x1,0x3,null,0x6,0x9,0x46,0xf,0x6,0x9,0x46,0x10,0x0,0x11,0xd,null,0xa,null,0x6,0x9,0x46,0x24,0x6,0x9,0x46,0x25,0x0,0x11,0xd,null,0xa,null,0x0,0x30,0x0,0x31,0x4b,0x32,0x0,0x9,0x36,0x4,0x3,null,0x6,0x8,0x0,0x2,0x4b,0x12,0x4,null,0x46,0x33,0x0,0x11,0x37,0x2,0x3,null,0x6,0x8,0x4,null,0x0,0x2,0xb,null,0x7,0x8,0x3,null,0x32,null,0x4b,0x34,0x46,0x13,0x0,0x2,0xb,null,0x7,0xa,0x6,0xa,0x0,0x14,0x2f,null,0x34,null,0x4b,0x34,0x6,0xa,0x48,null,0x7,0xb,0x6,0xb,0x46,0xf,0x6,0xb,0x46,0x10,0xa,null,0x6,0x6,0x2e,null,0x4,null,0x34,null,0x3,null,0x6,0xb,0x46,0xf,0x6,0x7,0x2c,null,0x34,null,0x6,0xb,0x46,0xf,0x6,0xb,0x46,0x10,0x0,0x11,0xd,null,0xa,null,0x6,0xb,0x46,0x24,0x6,0xb,0x46,0x25,0x0,0x11,0xd,null,0xa,null,0x0,0x35,0x0,0x36,0x4b,0x32,0x0,0x9,0x36,0x4,0x3,null,0x4b,0xe,0x4,null,0x46,0x1c,0x0,0x35,0xa,null,0x47,0x1c,0x3,null,0x6,0xa,0x0,0x2,0x4b,0x34,0x4,null,0x46,0x33,0x0,0x11,0x37,0x2,0x3,null,0x6,0xa,0x4,null,0x0,0x2,0xb,null,0x7,0xa,0x3,null,0x32,null,0xa0,null,0x46,0x37,0x46,0x13,0x0,0x2,0xb,null,0x7,0xc,0x6,0xc,0x0,0x14,0x2f,null,0x34,null,0xa0,null,0x46,0x37,0x6,0xc,0x48,null,0x7,0xd,0x6,0xd,0x4,null,0x46,0xf,0x6,0xd,0x46,0x38,0xa,null,0x47,0xf,0x3,null,0x6,0xd,0x4,null,0x46,0x24,0x6,0xd,0x46,0x39,0xa,null,0x47,0x24,0x3,null,0x6,0xd,0x4,null,0x46,0x38,0x0,0x3a,0xc,null,0x47,0x38,0x3,null,0x6,0xd,0x4,null,0x46,0x39,0x0,0x3a,0xc,null,0x47,0x39,0x3,null,0x6,0xd,0x46,0x2c,0x4,null,0x0,0x2,0xb,null,0x6,0xd,0x5,null,0x47,0x2c,0x3,null,0x3,null,0x6,0xd,0x0,0x2,0x6,0xd,0x46,0x2c,0x0,0x30,0xd,null,0x4b,0x28,0x4,null,0x46,0x3b,0x0,0x11,0x37,0x2,0x47,0x3c,0x3,null,0x6,0xd,0x46,0x2c,0x0,0x14,0x2d,null,0x34,null,0x6,0xc,0x0,0x2,0xa0,null,0x46,0x37,0x4,null,0x46,0x33,0x0,0x11,0x37,0x2,0x3,null,0x6,0xc,0x4,null,0x0,0x2,0xb,null,0x7,0xc,0x3,null,0x32,null,0x1,null,0x38,null],'c':["active","timer",0x1,0x96,![],0x38,0x39,0xc8,"canvasWidth",0x4,0x38,"currentWidth",0x84,0x4c,"player1","x","width",0x2,"enemyShipArray","length",0x0,"health",0x15f90,"impact","music/sfx/BombHIT.wav","AudioMixer","playImmediate",0x3,"score","isMiniBoss",0x3e8,0x64,"game","level",0xa,"BigExplosion","y","height","bigExplosions","push","Math","random",0.2,"AbilityToken","life","abilityTokens",0.4,"explosions",0x1e,"#ff5500","createParticles","splice","enemyBulletsArray",0x5,"#ffff00","particles","vx","vy",0.95,"min","alpha"],'p':0x0,'l':0xc,'j':{0x3:0x6,0x14:0x1b,0x2b:0x31,0x30:0x4f,0x35:0x4b,0x4a:0x4f,0x6d:0x118,0x7a:0x80,0x80:0x111,0x85:0x111,0x91:0x111,0xa0:0xa3,0xa2:0xa4,0xae:0xdd,0xcd:0xdc,0xdc:0x109,0x117:0x6a,0x120:0x15e,0x12d:0x133,0x133:0x157,0x15d:0x11d,0x167:0x1b7,0x1a6:0x1b0,0x1b6:0x164}},{'i':[0x8,0x0,0x8,0x0,0xc,null,0x38,null],'c':[],'p':0x1,'l':0x0,'a':0x1},{'i':[0xa0,null,0x46,0x0,0x20,null,0x34,null,0x1,null,0x38,null,0x4b,0x1,0x4,null,0x46,0x2,0x0,0x3,0x37,0x0,0x3,null,0x4b,0x1,0x0,0x4,0x47,0x5,0x3,null,0x0,0x6,0x64,null,0x7,0x0,0x0,0x3,0x7,0x1,0xa0,null,0x46,0x7,0x0,0x8,0x2c,null,0x34,null,0xa0,null,0x46,0x7,0x0,0x8,0xd,null,0x7,0x2,0x6,0x2,0x6,0x0,0x0,0x9,0x36,0x1,0x4,null,0x7,0x1,0x3,null,0x32,null,0xa0,null,0x46,0x7,0x0,0xa,0x2c,null,0x34,null,0x0,0x9,0x4,null,0x7,0x1,0x3,null,0x32,null,0xa0,null,0x46,0x7,0x0,0xa,0xb,null,0x0,0xb,0xd,null,0x7,0x3,0x0,0x3,0x0,0x9,0x6,0x3,0x6,0x0,0x0,0x9,0x36,0x1,0xb,null,0x4b,0xc,0x4,null,0x46,0xd,0x0,0xe,0x37,0x2,0x4,null,0x7,0x1,0x3,null,0x6,0x1,0x0,0x3,0x2d,null,0x34,null,0x4b,0x1,0x4,null,0x46,0xf,0x0,0x3,0x37,0x0,0x3,null,0x1,null,0x38,null,0x4b,0x10,0x46,0x11,0x4b,0x10,0x46,0x12,0x0,0xe,0xd,null,0xa,null,0x7,0x4,0xa0,null,0x46,0x13,0x7,0x5,0x0,0x3,0x0,0x3,0x0,0x3,0x4b,0x14,0x4b,0x1,0x4,null,0x46,0x15,0x0,0x16,0x37,0x4,0x7,0x6,0x0,0x3,0x0,0x17,0x6,0x1,0x0,0x3,0xc,null,0xa,null,0x0,0x18,0xa,null,0x6,0x6,0x4,null,0x46,0x19,0x0,0xe,0x37,0x2,0x3,null,0x0,0x1a,0x0,0x1b,0x6,0x1,0x0,0x1c,0xc,null,0xa,null,0x0,0x18,0xa,null,0x6,0x6,0x4,null,0x46,0x19,0x0,0xe,0x37,0x2,0x3,null,0x0,0x1d,0x0,0x1b,0x6,0x1,0x0,0x1e,0xc,null,0xa,null,0x0,0x18,0xa,null,0x6,0x6,0x4,null,0x46,0x19,0x0,0xe,0x37,0x2,0x3,null,0x0,0x1c,0x0,0x1b,0x6,0x1,0x0,0x1c,0xc,null,0xa,null,0x0,0x18,0xa,null,0x6,0x6,0x4,null,0x46,0x19,0x0,0xe,0x37,0x2,0x3,null,0x0,0x9,0x0,0x17,0x6,0x1,0x0,0x3,0xc,null,0xa,null,0x0,0x18,0xa,null,0x6,0x6,0x4,null,0x46,0x19,0x0,0xe,0x37,0x2,0x3,null,0x4b,0x1,0x6,0x6,0x47,0x1f,0x3,null,0x6,0x4,0x6,0x5,0x0,0xe,0xd,null,0xb,null,0x0,0x20,0xf,null,0x6,0x5,0x4b,0x14,0x0,0x21,0xa,null,0x4b,0x1,0x4,null,0x46,0x22,0x0,0x16,0x37,0x4,0x3,null,0x4b,0x1,0x0,0x23,0x6,0x1,0xa,null,0x0,0x18,0xa,null,0x47,0x1f,0x3,null,0x6,0x4,0x6,0x5,0x0,0x16,0xd,null,0xb,null,0x0,0x20,0xf,null,0x6,0x5,0x0,0xe,0xd,null,0x4b,0x14,0x0,0x21,0xa,null,0x4b,0x1,0x4,null,0x46,0x22,0x0,0x16,0x37,0x4,0x3,null,0xa0,null,0x46,0x24,0x7f,null,0x7,0x6,0x3,null,0x0,0x25,0x7,0x7,0x3,null,0x0,0x25,0x7,0x7,0x3,null,0x6,0x6,0x7b,null,0x4,null,0x80,null,0x33,null,0x46,0x26,0x7,0x8,0x3,null,0x3a,null,0x6,0x8,0x46,0x27,0x0,0x3,0x2e,null,0x34,null,0x4b,0x1,0x0,0x23,0x6,0x8,0x46,0x27,0xa,null,0x0,0x18,0xa,null,0x47,0x1f,0x3,null,0x4b,0x1,0x4,null,0x46,0x28,0x0,0x3,0x37,0x0,0x3,null,0x6,0x8,0x46,0x11,0x6,0x8,0x46,0x29,0x6,0x8,0x46,0x2a,0x0,0x3,0x4b,0xc,0x46,0x2b,0x0,0xe,0xc,null,0x4b,0x1,0x4,null,0x46,0x2c,0x0,0x2d,0x37,0x5,0x3,null,0x4b,0x1,0x4,null,0x46,0x2e,0x0,0x3,0x37,0x0,0x3,null,0x3b,null,0x32,null,0x3d,null,0x6,0x7,0x33,null,0x6,0x6,0x7c,null,0x3e,null,0x3,null,0x4b,0x1,0x4,null,0x46,0xf,0x0,0x3,0x37,0x0,0x3,null,0x4b,0x10,0x4,null,0x34,null,0x3,null,0x4b,0x10,0x46,0x2f,0x20,null,0x34,null,0x4b,0x1,0x4,null,0x46,0x2,0x0,0x3,0x37,0x0,0x3,null,0x4b,0x1,0x0,0x30,0x47,0x31,0x3,null,0x4b,0x10,0x46,0x32,0x0,0x3,0x2e,null,0x4,null,0x34,null,0x3,null,0x4b,0x10,0x46,0x33,0x34,null,0x4b,0x10,0x46,0x33,0x4b,0x10,0x46,0x34,0x4b,0x10,0x46,0x32,0xc,null,0x0,0x3,0x4b,0x10,0x46,0x32,0x4b,0x10,0x46,0x35,0x4b,0x10,0x46,0x11,0x4b,0x10,0x46,0x29,0x4b,0x10,0x46,0x12,0x4b,0x10,0x46,0x36,0x4b,0x1,0x4,null,0x46,0x37,0x0,0x38,0x37,0x9,0x3,null,0x32,null,0x4b,0x1,0x0,0x39,0x47,0x1f,0x3,null,0x4b,0x10,0x46,0x11,0x4b,0x10,0x46,0x29,0x4b,0x10,0x46,0x12,0x4b,0x10,0x46,0x36,0x4b,0x1,0x4,null,0x46,0x22,0x0,0x16,0x37,0x4,0x3,null,0x4b,0x1,0x4,null,0x46,0xf,0x0,0x3,0x37,0x0,0x3,null,0x1,null,0x38,null],'c':["active","ctx","save",0x0,"lighter","globalCompositeOperation",0x3b,"timer",0x24,0x1,0x60,0x1e,"Math","max",0x2,"restore","player1","x","width","currentWidth","canvasHeight","createLinearGradient",0x4,"rgba(255, 100, 150, ",")","addColorStop",0.2,"rgba(255, 50, 100, ",0.8,0.5,0.9,"fillStyle",0x1f4,0x3e8,"fillRect","rgba(255, 255, 255, ","particles",![],"value","alpha","beginPath","y","size","PI","arc",0x5,"fill","dead","brightness(0%)","filter","spriteWidth","image","frameIndex","sourceHeight","height","drawImage",0x9,"black"],'p':0x0,'l':0x9,'j':{0x3:0x6,0x19:0x27,0x26:0x47,0x2b:0x31,0x30:0x47,0x4a:0x53,0xed:0x125,0xf6:0x11d,0x11e:0xe6,0x121:0x124,0x12e:0x133,0x133:0x17b,0x143:0x147,0x147:0x163,0x162:0x175},'x':{0xf1:[-0x1,0x11f,0x126]}},{'i':[0x4b,0x0,0x0,0x1,0x2e,null,0x34,null,0x4b,0x0,0x4,null,0x0,0x2,0xb,null,0x4c,0x0,0x3,null,0x3,null,0x4b,0x3,0x4,null,0x46,0x4,0x0,0x1,0x37,0x0,0x3,null,0x4b,0x5,0x4,null,0x46,0x4,0x0,0x1,0x37,0x0,0x3,null,0x4b,0x6,0x4,null,0x46,0x4,0x0,0x1,0x37,0x0,0x3,null,0x4b,0x8,0x46,0x7,0x4,null,0x0,0x2,0xa,null,0x4b,0x8,0x5,null,0x47,0x7,0x3,null,0x3,null,0x4b,0x9,0x0,0x1,0x36,0x0,0x3,null,0x0,0x2,0x4b,0xa,0x46,0xb,0x0,0xc,0xd,null,0x4b,0xd,0x4,null,0x46,0xe,0x0,0x2,0x37,0x1,0xa,null,0x7,0x0,0x4b,0x8,0x6,0x0,0x0,0xf,0x4b,0xd,0x4,null,0x46,0x10,0x0,0x11,0x37,0x2,0x47,0x12,0x3,null,0x0,0x2,0x4b,0x8,0x46,0x12,0x0,0x13,0xc,null,0xa,null,0x7,0x1,0x4b,0x8,0x6,0x1,0x4b,0x8,0x46,0x14,0xc,null,0x47,0x15,0x3,null,0x4b,0x16,0x0,0x1,0x36,0x0,0x3,null,0x4b,0x17,0x0,0x1,0x36,0x0,0x3,null,0x4b,0x18,0x0,0x1,0x36,0x0,0x3,null,0x4b,0x8,0x46,0x19,0x0,0x2,0x2f,null,0x34,null,0x0,0x1a,0x32,null,0x4b,0x1b,0x7,0x2,0x4b,0x1c,0x4,null,0x0,0x2,0xa,null,0x4c,0x1c,0x3,null,0x3,null,0x4b,0x1c,0x6,0x2,0x2f,null,0x34,null,0x4b,0x8,0x46,0x19,0x0,0x2,0x2f,null,0x34,null,0x0,0x1,0x4,null,0x4c,0x1c,0x3,null,0x3,null,0x4b,0xd,0x4,null,0x46,0x1d,0x0,0x1,0x37,0x0,0x4b,0x1e,0x46,0x1f,0xc,null,0x4b,0xd,0x4,null,0x46,0xe,0x0,0x2,0x37,0x1,0x7,0x3,0x4b,0x20,0x0,0x21,0xa,null,0x7,0x4,0x0,0x22,0x4b,0xd,0x4,null,0x46,0x1d,0x0,0x1,0x37,0x0,0x4b,0x23,0x0,0x21,0xb,null,0xc,null,0xa,null,0x7,0x5,0x0,0x24,0x7,0x6,0x0,0x25,0x7,0x7,0x0,0x26,0x7,0x8,0x6,0x6,0xf,null,0x7,0x9,0x6,0x9,0x6,0x6,0x2d,null,0x34,null,0x6,0x4,0x6,0x9,0x4b,0xd,0x4,null,0x46,0x27,0x0,0x2,0x37,0x1,0x6,0x7,0xc,null,0xa,null,0x7,0xa,0x6,0x5,0x6,0x9,0x6,0x8,0xc,null,0xa,null,0x7,0xb,0x6,0xb,0x0,0x26,0x2e,null,0x4,null,0x34,null,0x3,null,0x6,0xb,0x4b,0x23,0x0,0x26,0xb,null,0x2c,null,0x34,null,0x4b,0x28,0x6,0xa,0x6,0xb,0x0,0x29,0x4b,0xd,0x4,null,0x46,0x1d,0x0,0x1,0x37,0x0,0x0,0x2a,0xc,null,0xa,null,0x4b,0x1e,0x6,0x3,0x48,null,0x0,0x2b,0x0,0x2c,0x68,0x5,0x7,0xc,0x6,0xc,0x0,0x2,0x47,0x2d,0x3,null,0x6,0xc,0x0,0x2e,0x47,0x2f,0x3,null,0x6,0xc,0x0,0x30,0x47,0x31,0x3,null,0x6,0xc,0x0,0x30,0x47,0x32,0x3,null,0x6,0xc,0x0,0x33,0x47,0x34,0x3,null,0x6,0xc,0x0,0x35,0x47,0x36,0x3,null,0x6,0xc,0x4b,0x37,0x4,null,0x46,0x38,0x0,0x2,0x37,0x1,0x3,null,0x6,0x9,0x4,null,0x0,0x2,0xa,null,0x7,0x9,0x3,null,0x32,null,0x32,null,0x4b,0x8,0x46,0x12,0x0,0x11,0x2f,null,0x34,null,0x0,0x1,0x4,null,0x4c,0x1c,0x3,null,0x3,null,0x0,0x39,0x4b,0xd,0x4,null,0x46,0x1d,0x0,0x1,0x37,0x0,0x0,0x2c,0xc,null,0x4b,0xd,0x4,null,0x46,0xe,0x0,0x2,0x37,0x1,0xa,null,0x7,0xd,0x0,0x22,0x4b,0xd,0x4,null,0x46,0x1d,0x0,0x1,0x37,0x0,0x4b,0x23,0x0,0x21,0xb,null,0xc,null,0xa,null,0x7,0xe,0x4b,0xd,0x4,null,0x46,0x1d,0x0,0x1,0x37,0x0,0x4b,0x1e,0x46,0x1f,0xc,null,0x4b,0xd,0x4,null,0x46,0xe,0x0,0x2,0x37,0x1,0x7,0xf,0x0,0x1,0x7,0x10,0x6,0x10,0x6,0xd,0x2c,null,0x34,null,0x4b,0x28,0x4b,0x20,0x0,0x26,0xa,null,0x6,0x10,0x0,0xf,0xc,null,0xa,null,0x6,0xe,0x6,0x10,0x0,0x3a,0xc,null,0x4b,0xd,0x4,null,0x46,0x3b,0x0,0x2,0x37,0x1,0x0,0x25,0xc,null,0xa,null,0x0,0x3c,0x4b,0xd,0x4,null,0x46,0x1d,0x0,0x1,0x37,0x0,0x0,0x3a,0xc,null,0xa,null,0x4b,0x1e,0x6,0xf,0x48,null,0x0,0x2b,0x0,0x2c,0x68,0x5,0x7,0x11,0x6,0x11,0x0,0x2,0x47,0x2d,0x3,null,0x6,0x11,0x0,0x2e,0x47,0x2f,0x3,null,0x6,0x11,0x0,0x30,0x47,0x31,0x3,null,0x6,0x11,0x0,0x30,0x47,0x32,0x3,null,0x6,0x11,0x0,0x22,0x47,0x34,0x3,null,0x6,0x11,0x0,0x3d,0x47,0x36,0x3,null,0x6,0x11,0x4b,0x37,0x4,null,0x46,0x38,0x0,0x2,0x37,0x1,0x3,null,0x6,0x10,0x4,null,0x0,0x2,0xa,null,0x7,0x10,0x3,null,0x32,null,0x0,0x3e,0x6,0xd,0xa,null,0x0,0x3f,0xa,null,0x4b,0x40,0x4,null,0x46,0x41,0x0,0x2,0x37,0x1,0x3,null,0x4b,0x8,0x46,0x19,0x0,0x2,0x2f,null,0x34,null,0x0,0x24,0x32,null,0x0,0x39,0x7,0x12,0x4b,0x8,0x46,0x19,0x0,0x2,0x2f,null,0x34,null,0x4b,0xa,0x0,0x1a,0x47,0x42,0x3,null,0x4b,0x43,0x46,0x44,0x4,null,0x33,null,0x3,null,0x4b,0x45,0x46,0x46,0x0,0x47,0x2a,null,0x4,null,0x34,null,0x3,null,0x4b,0x48,0x46,0x49,0x4,null,0x34,null,0x3,null,0x4b,0xa,0x46,0x4a,0x20,null,0x4,null,0x34,null,0x3,null,0x4b,0x8,0x46,0x7,0x6,0x12,0xe,null,0x0,0x1,0x2a,null,0x34,null,0x4b,0x4b,0x0,0x1,0x36,0x0,0x3,null,0x4b,0xa,0x46,0x4a,0x20,null,0x34,null,0x4b,0xa,0x4,null,0x46,0x4,0x0,0x1,0x37,0x0,0x3,null,0x4b,0xa,0x46,0x4c,0x0,0x1,0x2e,null,0x34,null,0x4b,0xa,0x46,0x4c,0x4,null,0x0,0x2,0xb,null,0x4b,0xa,0x5,null,0x47,0x4c,0x3,null,0x3,null,0x4b,0x4d,0x0,0x1,0x36,0x0,0x3,null,0x32,null,0x4b,0x4e,0x0,0x1,0x2e,null,0x34,null,0x4b,0x4e,0x4,null,0x0,0x2,0xb,null,0x4c,0x4e,0x3,null,0x3,null,0x4b,0x4e,0x0,0x1,0x2d,null,0x4,null,0x34,null,0x3,null,0x4b,0xa,0x46,0x4f,0x0,0x1,0x2e,null,0x34,null,0x4b,0xa,0x0,0x30,0x47,0x4a,0x3,null,0x4b,0xa,0x0,0x50,0x47,0x4c,0x3,null,0x4b,0xa,0x0,0x22,0x47,0x51,0x3,null,0x4b,0xa,0x4b,0x23,0x0,0x11,0xd,null,0x4b,0xa,0x46,0x36,0x0,0x11,0xd,null,0xb,null,0x47,0x52,0x3,null,0x4b,0xa,0x0,0x1,0x47,0x53,0x3,null,0x4b,0xa,0x0,0x1,0x47,0x54,0x3,null,0x4b,0xa,0x0,0x1,0x47,0x42,0x3,null,0x4b,0x55,0x0,0x1,0x36,0x0,0x3,null,0x4b,0x56,0x34,null,0x4b,0x56,0x4,null,0x46,0x4,0x0,0x1,0x37,0x0,0x3,null,0x4b,0x57,0x0,0x1,0x36,0x0,0x3,null,0x0,0x58,0x0,0x25,0xd,null,0x4b,0x59,0x4,null,0x46,0x4,0x0,0x2,0x37,0x1,0x3,null,0x4b,0x5a,0x4,null,0x46,0x4,0x0,0x1,0x37,0x0,0x3,null,0x4b,0x5b,0x4,null,0x46,0x4,0x0,0x1,0x37,0x0,0x3,null,0x4b,0x5c,0x4,null,0x46,0x4,0x0,0x1,0x37,0x0,0x3,null,0x0,0x1,0x7,0x13,0x6,0x13,0x4b,0x5d,0x46,0x1f,0x2c,null,0x34,null,0x4b,0x5d,0x6,0x13,0x48,null,0x4,null,0x46,0x4,0x0,0x1,0x37,0x0,0x3,null,0x4b,0x5d,0x6,0x13,0x48,null,0x46,0x5e,0x34,null,0x6,0x13,0x0,0x2,0x4b,0x5d,0x4,null,0x46,0x5f,0x0,0x11,0x37,0x2,0x3,null,0x6,0x13,0x4,null,0x0,0x2,0xb,null,0x7,0x13,0x3,null,0x6,0x13,0x4,null,0x0,0x2,0xa,null,0x7,0x13,0x3,null,0x32,null,0x4b,0x60,0x4,null,0x46,0x61,0x0,0x1,0x37,0x0,0x3,null,0x1,null,0x38,null],'c':["bombCooldown",0x0,0x1,"bombSystem","update","spellBombAnimation","surgeSpellCardAnimation","frames","game","updateSurge","player1","score",0x1f4,"Math","floor",0x28,"min",0x2,"level",0.1,"surge","speed","updateStarField","addShips","maybeSpawnAbilityToken","surgePhase",0xa,"SWARM_INTERVAL","swarmTimer","random","enemyImgArray","length","canvasWidth",0xc8,0x64,"canvasHeight",0x4,0x3c,0x32,"abs","EnemyObj",0x7,0x3,"straight",0x5,"health",!![],"isSwarmEnemy",![],"isEliteTank","guaranteedDrop",0x5a,"width",0x37,"height","enemyShipArray","push",0x8,0.5,"sin",1.5,0x3e,"SWARM MODE ACTIVATED! "," enemies spawned!","console","log","doubleLaserTimer","keys","fire","gameSettings","inputMode","mouse","mouseButtons","left","dead","fireBullet","invincible","updateCamera","respawnCounter","lives",0x78,"x","y","vx","vy","spawnPlanet","currentPlanet","updateParticles",0x3e8,"cameraShake","surgeShake","surgeFlash","wrathClock","bigExplosions","done","splice","AudioMixer","processFrame","updateGame"],'p':0x0,'l':0x13,'j':{0x3:0xb,0x5f:0x62,0x61:0x63,0x6e:0x189,0x73:0xfb,0xa3:0xfa,0xb9:0xc0,0xc0:0xf3,0xf9:0xa0,0xfa:0x189,0xff:0x189,0x133:0x17e,0x17d:0x130,0x18d:0x190,0x18f:0x191,0x196:0x19b,0x19e:0x1a9,0x1a5:0x1a9,0x1aa:0x1af,0x1b0:0x1b8,0x1b8:0x1bd,0x1c0:0x1db,0x1cb:0x1d6,0x1da:0x214,0x1de:0x214,0x1ea:0x1f0,0x1f0:0x214,0x219:0x220,0x245:0x268,0x252:0x261,0x267:0x241},'ni':0x62},{'i':[0xd5,0x0,0xd2,0x0],'c':[],'p':0x0,'l':0x0,'a':0x1},{'i':[0xd5,0x0,0xd2,0x0],'c':[],'p':0x0,'l':0x0,'a':0x1},{'i':[0x4b,0x0,0x4,null,0x46,0x1,0x0,0x2,0x37,0x0,0x3,null,0x4b,0x3,0x46,0x4,0x34,null,0x4b,0x3,0x46,0x5,0x4b,0x3,0x46,0x6,0x4b,0x0,0x4,null,0x46,0x7,0x0,0x8,0x37,0x2,0x3,null,0x4b,0x9,0x46,0x4,0x34,null,0x4b,0x9,0x46,0x5,0x4b,0x9,0x46,0x6,0x4b,0x0,0x4,null,0x46,0x7,0x0,0x8,0x37,0x2,0x3,null,0x0,0x2,0x4b,0xa,0x4b,0x0,0x4,null,0x46,0x7,0x0,0x8,0x37,0x2,0x3,null,0x4b,0xb,0x0,0x2,0x36,0x0,0x3,null,0x4b,0xc,0x34,null,0x4b,0xc,0x4,null,0x46,0xd,0x0,0x2,0x37,0x0,0x3,null,0x4b,0xe,0x0,0x2,0x36,0x0,0x3,null,0x0,0x2,0xd7,0xf,0xd3,0xf,0x4b,0x10,0x46,0x11,0x2c,null,0x34,null,0xd5,0x0,0xd2,0x0,0xd3,0xf,0xd7,0xf,0xd5,0x0,0xd2,0x0,0xda,0x12,0x4b,0x10,0xd3,0xf,0x48,null,0xd9,0x13,0xd3,0x13,0x4,null,0x46,0xd,0x0,0x2,0x37,0x0,0x3,null,0x4b,0x14,0x20,null,0x34,null,0xd3,0x13,0x4,null,0x46,0x15,0x0,0x2,0x37,0x0,0x3,null,0x4b,0x16,0x46,0x17,0x20,null,0x4,null,0x34,null,0x3,null,0x4b,0x16,0x4,null,0x46,0x18,0x0,0x2,0x37,0x0,0x4d,null,0x4,null,0xd3,0x13,0x46,0x19,0x47,0x19,0x3,null,0x4,null,0xd3,0x13,0x46,0x1a,0x47,0x1a,0x3,null,0x4,null,0xd3,0x13,0x46,0x1b,0x47,0x1b,0x3,null,0x4,null,0xd3,0x13,0x46,0x1c,0x47,0x1c,0x3,null,0x4b,0x1d,0x0,0x8,0x36,0x2,0x34,null,0xd3,0x13,0x46,0x1e,0x0,0x1f,0x2a,null,0x34,null,0x4b,0x20,0x4,null,0x0,0x21,0xa,null,0x4c,0x20,0x3,null,0x3,null,0xd3,0x13,0x46,0x19,0xd3,0x13,0x46,0x1a,0x0,0x22,0x0,0x23,0x4b,0x24,0x0,0x25,0x36,0x4,0x3,null,0x0,0x26,0x0,0x21,0x4b,0x27,0x0,0x8,0x36,0x2,0x3,null,0x32,null,0xd3,0x13,0x46,0x1e,0x0,0x28,0x2a,null,0x34,null,0x4b,0x16,0x0,0x29,0x47,0x2a,0x3,null,0xd3,0x13,0x46,0x19,0xd3,0x13,0x46,0x1a,0x0,0x22,0x0,0x2b,0x4b,0x24,0x0,0x25,0x36,0x4,0x3,null,0x4b,0x2c,0x46,0x2d,0x34,null,0x4b,0x2e,0x0,0x2,0x47,0x2f,0x3,null,0x0,0x30,0x64,null,0x4b,0x2e,0x4,null,0x46,0x31,0x0,0x2,0x37,0x0,0x4,null,0x46,0x32,0x0,0x21,0x37,0x1,0x3,null,0x32,null,0xd3,0x13,0x46,0x1e,0x0,0x33,0x2a,null,0x34,null,0x4b,0x34,0x4b,0x35,0x4,null,0x46,0x36,0x0,0x2,0x37,0x0,0x0,0x25,0xc,null,0x4b,0x35,0x4,null,0x46,0x37,0x0,0x21,0x37,0x1,0x0,0x25,0xa,null,0xa,null,0x4,null,0x4c,0x34,0x3,null,0x3,null,0xd3,0x13,0x46,0x19,0xd3,0x13,0x46,0x1a,0x0,0x22,0x0,0x38,0x4b,0x24,0x0,0x25,0x36,0x4,0x3,null,0x4b,0x2c,0x46,0x2d,0x34,null,0x4b,0x39,0x0,0x2,0x47,0x2f,0x3,null,0x0,0x3a,0x64,null,0x4b,0x39,0x4,null,0x46,0x31,0x0,0x2,0x37,0x0,0x4,null,0x46,0x32,0x0,0x21,0x37,0x1,0x3,null,0x32,null,0xd3,0x13,0x46,0x1e,0x0,0x3b,0x2a,null,0x34,null,0x4b,0x16,0x46,0x3c,0x0,0x3d,0x2c,null,0x34,null,0x4b,0x16,0x46,0x3c,0x4,null,0x0,0x21,0xa,null,0x4b,0x16,0x5,null,0x47,0x3c,0x3,null,0x3,null,0xd3,0x13,0x46,0x19,0xd3,0x13,0x46,0x1a,0x0,0x3e,0x0,0x3f,0x4b,0x24,0x0,0x25,0x36,0x4,0x3,null,0x4b,0x2c,0x46,0x2d,0x34,null,0x0,0x40,0x0,0x41,0x4b,0x27,0x0,0x8,0x36,0x2,0x3,null,0xd3,0xf,0x0,0x21,0x4b,0x10,0x4,null,0x46,0x42,0x0,0x8,0x37,0x2,0x3,null,0xd3,0xf,0x4,null,0x0,0x21,0xb,null,0xd4,0xf,0x3,null,0xd6,0x0,0x40,null,0xd3,0x13,0x46,0x19,0xd3,0x13,0x46,0x1b,0xa,null,0x0,0x2,0x2c,null,0x34,null,0xd3,0xf,0x0,0x21,0x4b,0x10,0x4,null,0x46,0x42,0x0,0x8,0x37,0x2,0x3,null,0xd3,0xf,0x4,null,0x0,0x21,0xb,null,0xd4,0xf,0x3,null,0xd6,0x0,0xd6,0x0,0xd3,0xf,0x4,null,0x0,0x21,0xa,null,0xd4,0xf,0x3,null,0x32,null,0x4b,0x16,0x46,0x17,0x20,null,0x34,null,0x4b,0x0,0x4b,0x16,0x46,0x19,0x4b,0x16,0x46,0x1a,0x4b,0x16,0x46,0x1b,0x4b,0x16,0x46,0x1c,0x4b,0x43,0x4,null,0x46,0xd,0x0,0x3d,0x37,0x5,0x3,null,0x4b,0x16,0x4,null,0x46,0xd,0x0,0x2,0x37,0x0,0x3,null,0x4b,0x44,0x34,null,0x4b,0x16,0x4,null,0x46,0x18,0x0,0x2,0x37,0x0,0x0,0x45,0x4b,0x46,0x0,0x8,0x36,0x2,0x3,null,0x0,0x2,0xd7,0xf,0xd3,0xf,0x4b,0x47,0x46,0x11,0x2c,null,0x34,null,0x4b,0x47,0xd3,0xf,0x48,null,0x7,0x3,0x6,0x3,0x4,null,0x46,0xd,0x0,0x2,0x37,0x0,0x3,null,0x4b,0x14,0x20,null,0x34,null,0x6,0x3,0x4,null,0x46,0x15,0x0,0x2,0x37,0x0,0x3,null,0x4b,0x44,0x34,null,0x6,0x3,0x4,null,0x46,0x18,0x0,0x2,0x37,0x0,0x0,0x48,0x4b,0x46,0x0,0x8,0x36,0x2,0x3,null,0x6,0x3,0x46,0x19,0x0,0x49,0xf,null,0x2c,null,0x34,null,0xd3,0xf,0x0,0x21,0x4b,0x47,0x4,null,0x46,0x42,0x0,0x8,0x37,0x2,0x3,null,0xd3,0xf,0x4,null,0x0,0x21,0xb,null,0xd4,0xf,0x3,null,0x40,null,0x0,0x4a,0x4b,0x4b,0x46,0x4c,0x0,0x4d,0xc,null,0xa,null,0x7,0x4,0x6,0x4,0x0,0x4e,0x2e,null,0x34,null,0x0,0x4e,0x4,null,0x7,0x4,0x3,null,0x4b,0x16,0x46,0x17,0x20,null,0x4,null,0x34,null,0x3,null,0x6,0x3,0x46,0x19,0x4b,0x16,0x46,0x19,0x0,0x4f,0xa,null,0x2e,null,0x4,null,0x34,null,0x3,null,0x6,0x3,0x46,0x50,0x20,null,0x34,null,0x6,0x3,0x46,0x51,0x34,null,0x4b,0x4b,0x46,0x52,0x0,0x21,0x2f,null,0x34,null,0x0,0x53,0x32,null,0x0,0x54,0x7,0x5,0x4b,0x4b,0x46,0x55,0x6,0x5,0xe,null,0x0,0x2,0x2a,null,0x34,null,0x0,0x56,0x0,0x57,0x4b,0x27,0x0,0x8,0x36,0x2,0x3,null,0x6,0x3,0x46,0x19,0x6,0x3,0x46,0x1b,0x0,0x8,0xd,null,0xa,null,0x7,0x6,0x6,0x3,0x46,0x1a,0x6,0x3,0x46,0x1c,0x0,0x8,0xd,null,0xa,null,0x7,0x7,0x0,0x58,0x4b,0x4b,0x46,0x4c,0x0,0x4f,0xd,null,0x4b,0x35,0x4,null,0x46,0x37,0x0,0x21,0x37,0x1,0xa,null,0x7,0x8,0x4b,0x4b,0x46,0x55,0x0,0x59,0xc,null,0x4b,0x35,0x46,0x5a,0x0,0x8,0xc,null,0xe,null,0x7,0x9,0x0,0x2,0x7,0xa,0x6,0xa,0x6,0x8,0x2c,null,0x34,null,0x6,0xa,0x6,0x8,0xd,null,0x4b,0x35,0x46,0x5a,0xc,null,0x0,0x8,0xc,null,0x6,0x9,0xa,null,0x7,0xb,0x6,0x6,0x6,0xb,0x4b,0x35,0x4,null,0x46,0x5b,0x0,0x21,0x37,0x1,0x0,0x5c,0xc,null,0xa,null,0x7,0xc,0x6,0x7,0x6,0xb,0x4b,0x35,0x4,null,0x46,0x5d,0x0,0x21,0x37,0x1,0x0,0x5c,0xc,null,0xa,null,0x7,0xd,0x4b,0x5e,0x6,0x6,0x6,0x7,0x6,0xc,0x6,0xd,0x0,0x5f,0x0,0x3d,0x68,0x5,0x7,0xe,0x6,0xe,0x4,null,0x46,0x60,0x0,0x61,0xc,null,0x47,0x60,0x3,null,0x6,0xe,0x4,null,0x46,0x62,0x0,0x61,0xc,null,0x47,0x62,0x3,null,0x6,0xe,0x4b,0x63,0x4,null,0x46,0x64,0x0,0x21,0x37,0x1,0x3,null,0x6,0xa,0x4,null,0x0,0x21,0xa,null,0x7,0xa,0x3,null,0x32,null,0x32,null,0x4b,0x4b,0x46,0x52,0x0,0x2,0x2a,null,0x4,null,0x34,null,0x3,null,0x6,0x3,0x46,0x65,0x20,null,0x34,null,0x4b,0x35,0x4,null,0x46,0x36,0x0,0x2,0x37,0x0,0x6,0x4,0x2c,null,0x34,null,0x6,0x3,0x46,0x19,0x7,0xf,0x6,0x3,0x46,0x1a,0x6,0x3,0x46,0x1c,0x0,0x8,0xd,null,0xa,null,0x7,0x10,0x4b,0x16,0x46,0x19,0x4b,0x16,0x46,0x1b,0x0,0x8,0xd,null,0xa,null,0x7,0x11,0x4b,0x16,0x46,0x1a,0x4b,0x16,0x46,0x1c,0x0,0x8,0xd,null,0xa,null,0x7,0x12,0x0,0x66,0x7,0x13,0x6,0x3,0x46,0x67,0x34,null,0x4b,0x35,0x4,null,0x46,0x36,0x0,0x2,0x37,0x0,0x0,0x61,0x2c,null,0x34,null,0x0,0x68,0x32,null,0x0,0x69,0x4,null,0x7,0x13,0x3,null,0x4b,0x5e,0x6,0xf,0x6,0x10,0x6,0x11,0x6,0x12,0x6,0x13,0x0,0x3d,0x68,0x5,0x4b,0x63,0x4,null,0x46,0x64,0x0,0x21,0x37,0x1,0x3,null,0x4b,0x16,0x46,0x17,0x20,null,0x4,null,0x34,null,0x3,null,0x4b,0x16,0x4,null,0x46,0x18,0x0,0x2,0x37,0x0,0x6,0x3,0x4,null,0x46,0x18,0x0,0x2,0x37,0x0,0x4b,0x1d,0x0,0x8,0x36,0x2,0x34,null,0x0,0x6a,0x4b,0x3,0x4,null,0x46,0x6b,0x0,0x21,0x37,0x1,0x3,null,0x6,0x3,0x46,0x51,0x34,null,0x4b,0x6c,0x6,0x3,0x46,0x19,0x6,0x3,0x46,0x1b,0x0,0x8,0xd,null,0xa,null,0x6,0x3,0x46,0x1a,0x6,0x3,0x46,0x1c,0x0,0x8,0xd,null,0xa,null,0x0,0x8,0x68,0x2,0x4b,0x6d,0x4,null,0x46,0x64,0x0,0x21,0x37,0x1,0x3,null,0x32,null,0x4b,0x6c,0x6,0x3,0x46,0x19,0x6,0x3,0x46,0x1b,0x0,0x8,0xd,null,0xa,null,0x6,0x3,0x46,0x1a,0x6,0x3,0x46,0x1c,0x0,0x8,0xd,null,0xa,null,0x0,0x6e,0x0,0x6f,0x68,0x3,0x4b,0x70,0x4,null,0x46,0x64,0x0,0x21,0x37,0x1,0x3,null,0x6,0x3,0x46,0x19,0x6,0x3,0x46,0x1b,0x0,0x8,0xd,null,0xa,null,0x6,0x3,0x46,0x1a,0x6,0x3,0x46,0x1c,0x0,0x8,0xd,null,0xa,null,0x0,0x3e,0x0,0x71,0x4b,0x24,0x0,0x25,0x36,0x4,0x3,null,0xd3,0xf,0x0,0x21,0x4b,0x47,0x4,null,0x46,0x42,0x0,0x8,0x37,0x2,0x3,null,0xd3,0xf,0x4,null,0x0,0x21,0xb,null,0xd4,0xf,0x3,null,0x4b,0x72,0x0,0x2,0x36,0x0,0x3,null,0x40,null,0xd3,0xf,0x4,null,0x0,0x21,0xa,null,0xd4,0xf,0x3,null,0x32,null,0x0,0x2,0xd7,0xf,0xd3,0xf,0x4b,0x73,0x46,0x11,0x2c,null,0x34,null,0x4b,0x73,0xd3,0xf,0x48,null,0x7,0x15,0x6,0x15,0x4,null,0x46,0xd,0x0,0x2,0x37,0x0,0x3,null,0x4b,0x14,0x20,null,0x34,null,0x6,0x15,0x4,null,0x46,0x15,0x0,0x2,0x37,0x0,0x3,null,0x4b,0x44,0x34,null,0x6,0x15,0x4,null,0x46,0x18,0x0,0x2,0x37,0x0,0x0,0x74,0x4b,0x46,0x0,0x8,0x36,0x2,0x3,null,0x0,0x75,0x7,0x16,0x0,0x2,0x7,0x17,0x6,0x17,0x4b,0x47,0x46,0x11,0x2c,null,0x34,null,0x4b,0x47,0x6,0x17,0x48,null,0x7,0x18,0x6,0x15,0x4,null,0x46,0x18,0x0,0x2,0x37,0x0,0x6,0x18,0x4,null,0x46,0x18,0x0,0x2,0x37,0x0,0x4b,0x1d,0x0,0x8,0x36,0x2,0x34,null,0x0,0x76,0x4b,0x4b,0x46,0x4c,0x0,0x3d,0xc,null,0xa,null,0x0,0x61,0xc,null,0x7,0x19,0x6,0x18,0x4,null,0x46,0x77,0x6,0x19,0xb,null,0x47,0x77,0x3,null,0x6,0x18,0x46,0x19,0x6,0x18,0x46,0x1b,0x0,0x8,0xd,null,0xa,null,0x6,0x18,0x46,0x1a,0x6,0x18,0x46,0x1c,0x0,0x8,0xd,null,0xa,null,0x0,0x3d,0x0,0x78,0x4b,0x24,0x0,0x25,0x36,0x4,0x3,null,0xd3,0xf,0x0,0x21,0x4b,0x73,0x4,null,0x46,0x42,0x0,0x8,0x37,0x2,0x3,null,0x0,0x79,0x4,null,0x7,0x16,0x3,null,0x6,0x18,0x46,0x51,0x34,null,0x0,0x7a,0x4b,0x3,0x4,null,0x46,0x6b,0x0,0x21,0x37,0x1,0x3,null,0x6,0x18,0x46,0x77,0x0,0x2,0x2d,null,0x34,null,0x4b,0x16,0x4,null,0x46,0x7b,0x6,0x18,0x46,0x51,0x34,null,0x0,0x5c,0x32,null,0x6,0x18,0x46,0x50,0x34,null,0x0,0x7c,0x32,null,0x0,0x76,0x4b,0x4b,0x46,0x4c,0x0,0x4f,0xc,null,0xa,null,0xa,null,0x47,0x7b,0x3,null,0x6,0x18,0x46,0x51,0x34,null,0x4b,0x6c,0x6,0x18,0x46,0x19,0x6,0x18,0x46,0x1b,0x0,0x8,0xd,null,0xa,null,0x6,0x18,0x46,0x1a,0x6,0x18,0x46,0x1c,0x0,0x8,0xd,null,0xa,null,0x0,0x8,0x68,0x2,0x4b,0x6d,0x4,null,0x46,0x64,0x0,0x21,0x37,0x1,0x3,null,0x0,0x6a,0x4b,0x3,0x4,null,0x46,0x6b,0x0,0x21,0x37,0x1,0x3,null,0x4b,0x35,0x4,null,0x46,0x36,0x0,0x2,0x37,0x0,0x0,0x57,0x2c,null,0x34,null,0x4b,0x7d,0x6,0x18,0x46,0x19,0x6,0x18,0x46,0x1a,0x0,0x3b,0x0,0x6f,0x68,0x3,0x4b,0x10,0x4,null,0x46,0x64,0x0,0x21,0x37,0x1,0x3,null,0x32,null,0x6,0x18,0x46,0x50,0x34,null,0x4b,0x6c,0x6,0x18,0x46,0x19,0x6,0x18,0x46,0x1b,0x0,0x8,0xd,null,0xa,null,0x6,0x18,0x46,0x1a,0x6,0x18,0x46,0x1c,0x0,0x8,0xd,null,0xa,null,0x0,0x7e,0x0,0x6f,0x68,0x3,0x4b,0x6d,0x4,null,0x46,0x64,0x0,0x21,0x37,0x1,0x3,null,0x0,0x7f,0x4b,0x3,0x4,null,0x46,0x6b,0x0,0x21,0x37,0x1,0x3,null,0x32,null,0x4b,0x6c,0x6,0x18,0x46,0x19,0x6,0x18,0x46,0x1b,0x0,0x8,0xd,null,0xa,null,0x6,0x18,0x46,0x1a,0x6,0x18,0x46,0x1c,0x0,0x8,0xd,null,0xa,null,0x0,0x6e,0x0,0x6f,0x68,0x3,0x4b,0x70,0x4,null,0x46,0x64,0x0,0x21,0x37,0x1,0x3,null,0x4b,0x35,0x4,null,0x46,0x36,0x0,0x2,0x37,0x0,0x0,0x59,0x2c,null,0x34,null,0x6,0x18,0x46,0x19,0x6,0x18,0x46,0x1b,0x0,0x8,0xd,null,0xa,null,0x7,0x1a,0x6,0x18,0x46,0x1a,0x6,0x18,0x46,0x1c,0x0,0x8,0xd,null,0xa,null,0x7,0x1b,0x0,0x25,0x4b,0x35,0x4,null,0x46,0x36,0x0,0x2,0x37,0x0,0x0,0x6f,0xc,null,0x4b,0x35,0x4,null,0x46,0x37,0x0,0x21,0x37,0x1,0xa,null,0x7,0x1c,0x0,0x2,0x7,0x1d,0x6,0x1d,0x6,0x1c,0x2c,null,0x34,null,0x4b,0x35,0x4,null,0x46,0x36,0x0,0x2,0x37,0x0,0x4b,0x35,0x46,0x5a,0xc,null,0x0,0x8,0xc,null,0x7,0x1e,0x6,0x1a,0x6,0x1e,0x4b,0x35,0x4,null,0x46,0x5b,0x0,0x21,0x37,0x1,0x0,0x7c,0xc,null,0xa,null,0x7,0x1f,0x6,0x1b,0x6,0x1e,0x4b,0x35,0x4,null,0x46,0x5d,0x0,0x21,0x37,0x1,0x0,0x7c,0xc,null,0xa,null,0x7,0x20,0x4b,0x5e,0x6,0x1a,0x6,0x1b,0x6,0x1f,0x6,0x20,0x0,0x25,0x68,0x4,0x7,0x21,0x6,0x21,0x4,null,0x46,0x60,0x0,0x7a,0xc,null,0x47,0x60,0x3,null,0x6,0x21,0x4,null,0x46,0x62,0x0,0x7a,0xc,null,0x47,0x62,0x3,null,0x6,0x21,0x4b,0x63,0x4,null,0x46,0x64,0x0,0x21,0x37,0x1,0x3,null,0x6,0x1d,0x4,null,0x0,0x21,0xa,null,0x7,0x1d,0x3,null,0x32,null,0x6,0x17,0x0,0x21,0x4b,0x47,0x4,null,0x46,0x42,0x0,0x8,0x37,0x2,0x3,null,0x3f,null,0x6,0x17,0x4,null,0x0,0x21,0xa,null,0x7,0x17,0x3,null,0x32,null,0x6,0x16,0x34,null,0xd3,0xf,0x4,null,0x0,0x21,0xb,null,0xd4,0xf,0x3,null,0x40,null,0x6,0x15,0x46,0x19,0x4b,0x80,0x0,0x81,0xa,null,0x2e,null,0x4,null,0x33,null,0x3,null,0x6,0x15,0x46,0x1a,0x0,0x81,0xf,null,0x2c,null,0x4,null,0x33,null,0x3,null,0x6,0x15,0x46,0x1a,0x4b,0x82,0x0,0x81,0xa,null,0x2e,null,0x34,null,0xd3,0xf,0x0,0x21,0x4b,0x73,0x4,null,0x46,0x42,0x0,0x8,0x37,0x2,0x3,null,0xd3,0xf,0x4,null,0x0,0x21,0xb,null,0xd4,0xf,0x3,null,0xd3,0xf,0x4,null,0x0,0x21,0xa,null,0xd4,0xf,0x3,null,0x32,null,0x0,0x2,0xd7,0xf,0xd3,0xf,0x4b,0x83,0x46,0x11,0x2c,null,0x34,null,0x4b,0x83,0xd3,0xf,0x48,null,0x7,0x23,0x6,0x23,0x4,null,0x46,0xd,0x0,0x2,0x37,0x0,0x3,null,0x4b,0x14,0x20,null,0x34,null,0x6,0x23,0x4,null,0x46,0x15,0x0,0x2,0x37,0x0,0x3,null,0x0,0x75,0x7,0x24,0x0,0x2,0x7,0x25,0x6,0x25,0x4b,0x47,0x46,0x11,0x2c,null,0x34,null,0x4b,0x47,0x6,0x25,0x48,null,0x7,0x26,0x6,0x23,0x4,null,0x46,0x18,0x0,0x2,0x37,0x0,0x6,0x26,0x4,null,0x46,0x18,0x0,0x2,0x37,0x0,0x4b,0x1d,0x0,0x8,0x36,0x2,0x34,null,0x0,0x84,0x4b,0x4b,0x46,0x4c,0x0,0x3e,0xc,null,0xa,null,0x7,0x27,0x6,0x26,0x4,null,0x46,0x77,0x6,0x27,0xb,null,0x47,0x77,0x3,null,0x6,0x23,0x46,0x19,0x6,0x23,0x46,0x1b,0xa,null,0x6,0x23,0x46,0x1a,0x0,0x3e,0x0,0x71,0x4b,0x24,0x0,0x25,0x36,0x4,0x3,null,0x4b,0x85,0x6,0x23,0x46,0x19,0x6,0x23,0x46,0x1b,0xa,null,0x6,0x23,0x46,0x1a,0x0,0x61,0x0,0x6f,0x68,0x3,0x4b,0x70,0x4,null,0x46,0x64,0x0,0x21,0x37,0x1,0x3,null,0x0,0x7f,0x4b,0x3,0x4,null,0x46,0x6b,0x0,0x21,0x37,0x1,0x3,null,0x6,0x26,0x46,0x77,0x0,0x2,0x2d,null,0x34,null,0x4b,0x16,0x4,null,0x46,0x7b,0x6,0x26,0x46,0x51,0x34,null,0x0,0x5c,0x32,null,0x6,0x26,0x46,0x50,0x34,null,0x0,0x7c,0x32,null,0x0,0x76,0x4b,0x4b,0x46,0x4c,0x0,0x4f,0xc,null,0xa,null,0xa,null,0x47,0x7b,0x3,null,0x6,0x26,0x46,0x51,0x34,null,0x4b,0x6c,0x6,0x26,0x46,0x19,0x6,0x26,0x46,0x1b,0x0,0x8,0xd,null,0xa,null,0x6,0x26,0x46,0x1a,0x6,0x26,0x46,0x1c,0x0,0x8,0xd,null,0xa,null,0x0,0x8,0x68,0x2,0x4b,0x6d,0x4,null,0x46,0x64,0x0,0x21,0x37,0x1,0x3,null,0x0,0x6a,0x4b,0x3,0x4,null,0x46,0x6b,0x0,0x21,0x37,0x1,0x3,null,0x4b,0x35,0x4,null,0x46,0x36,0x0,0x2,0x37,0x0,0x0,0x86,0x2c,null,0x34,null,0x4b,0x7d,0x6,0x26,0x46,0x19,0x6,0x26,0x46,0x1a,0x0,0x3b,0x0,0x6f,0x68,0x3,0x4b,0x10,0x4,null,0x46,0x64,0x0,0x21,0x37,0x1,0x3,null,0x32,null,0x6,0x26,0x46,0x50,0x34,null,0x4b,0x6c,0x6,0x26,0x46,0x19,0x6,0x26,0x46,0x1b,0x0,0x8,0xd,null,0xa,null,0x6,0x26,0x46,0x1a,0x6,0x26,0x46,0x1c,0x0,0x8,0xd,null,0xa,null,0x0,0x7e,0x0,0x6f,0x68,0x3,0x4b,0x6d,0x4,null,0x46,0x64,0x0,0x21,0x37,0x1,0x3,null,0x0,0x7f,0x4b,0x3,0x4,null,0x46,0x6b,0x0,0x21,0x37,0x1,0x3,null,0x4b,0x7d,0x6,0x26,0x46,0x19,0x6,0x26,0x46,0x1a,0x0,0x8,0x68,0x2,0x4b,0x10,0x4,null,0x46,0x64,0x0,0x21,0x37,0x1,0x3,null,0x32,null,0x4b,0x6c,0x6,0x26,0x46,0x19,0x6,0x26,0x46,0x1b,0x0,0x8,0xd,null,0xa,null,0x6,0x26,0x46,0x1a,0x6,0x26,0x46,0x1c,0x0,0x8,0xd,null,0xa,null,0x0,0x6e,0x0,0x6f,0x68,0x3,0x4b,0x70,0x4,null,0x46,0x64,0x0,0x21,0x37,0x1,0x3,null,0x4b,0x35,0x4,null,0x46,0x36,0x0,0x2,0x37,0x0,0x0,0x59,0x2c,null,0x34,null,0x6,0x26,0x46,0x19,0x6,0x26,0x46,0x1b,0x0,0x8,0xd,null,0xa,null,0x7,0x28,0x6,0x26,0x46,0x1a,0x6,0x26,0x46,0x1c,0x0,0x8,0xd,null,0xa,null,0x7,0x29,0x0,0x25,0x4b,0x35,0x4,null,0x46,0x36,0x0,0x2,0x37,0x0,0x0,0x6f,0xc,null,0x4b,0x35,0x4,null,0x46,0x37,0x0,0x21,0x37,0x1,0xa,null,0x7,0x2a,0x0,0x2,0x7,0x2b,0x6,0x2b,0x6,0x2a,0x2c,null,0x34,null,0x4b,0x35,0x4,null,0x46,0x36,0x0,0x2,0x37,0x0,0x4b,0x35,0x46,0x5a,0xc,null,0x0,0x8,0xc,null,0x7,0x2c,0x6,0x28,0x6,0x2c,0x4b,0x35,0x4,null,0x46,0x5b,0x0,0x21,0x37,0x1,0x0,0x7c,0xc,null,0xa,null,0x7,0x2d,0x6,0x29,0x6,0x2c,0x4b,0x35,0x4,null,0x46,0x5d,0x0,0x21,0x37,0x1,0x0,0x7c,0xc,null,0xa,null,0x7,0x2e,0x4b,0x5e,0x6,0x28,0x6,0x29,0x6,0x2d,0x6,0x2e,0x0,0x25,0x68,0x4,0x7,0x2f,0x6,0x2f,0x4,null,0x46,0x60,0x0,0x7a,0xc,null,0x47,0x60,0x3,null,0x6,0x2f,0x4,null,0x46,0x62,0x0,0x7a,0xc,null,0x47,0x62,0x3,null,0x6,0x2f,0x4b,0x63,0x4,null,0x46,0x64,0x0,0x21,0x37,0x1,0x3,null,0x6,0x2b,0x4,null,0x0,0x21,0xa,null,0x7,0x2b,0x3,null,0x32,null,0x6,0x25,0x0,0x21,0x4b,0x47,0x4,null,0x46,0x42,0x0,0x8,0x37,0x2,0x3,null,0xd3,0xf,0x0,0x21,0x4b,0x83,0x4,null,0x46,0x42,0x0,0x8,0x37,0x2,0x3,null,0x0,0x79,0x4,null,0x7,0x24,0x3,null,0x3f,null,0x6,0x25,0x4,null,0x0,0x21,0xa,null,0x7,0x25,0x3,null,0x32,null,0x6,0x24,0x34,null,0xd3,0xf,0x4,null,0x0,0x21,0xb,null,0xd4,0xf,0x3,null,0x40,null,0x6,0x23,0x46,0x19,0x4b,0x80,0x0,0x49,0xa,null,0x2e,null,0x4,null,0x33,null,0x3,null,0x6,0x23,0x46,0x1a,0x0,0x49,0xf,null,0x2c,null,0x4,null,0x33,null,0x3,null,0x6,0x23,0x46,0x1a,0x4b,0x82,0x0,0x49,0xa,null,0x2e,null,0x34,null,0xd3,0xf,0x0,0x21,0x4b,0x83,0x4,null,0x46,0x42,0x0,0x8,0x37,0x2,0x3,null,0xd3,0xf,0x4,null,0x0,0x21,0xb,null,0xd4,0xf,0x3,null,0xd3,0xf,0x4,null,0x0,0x21,0xa,null,0xd4,0xf,0x3,null,0x32,null,0x0,0x2,0xd7,0xf,0xd3,0xf,0x4b,0x63,0x46,0x11,0x2c,null,0x34,null,0x4b,0x63,0xd3,0xf,0x48,null,0x7,0x31,0x6,0x31,0x4,null,0x46,0xd,0x0,0x2,0x37,0x0,0x3,null,0x4b,0x14,0x20,null,0x34,null,0x6,0x31,0x4,null,0x46,0x15,0x0,0x2,0x37,0x0,0x3,null,0x4b,0x44,0x34,null,0x6,0x31,0x4,null,0x46,0x18,0x0,0x2,0x37,0x0,0x0,0x87,0x4b,0x46,0x0,0x8,0x36,0x2,0x3,null,0x4b,0x16,0x46,0x17,0x20,null,0x4,null,0x34,null,0x3,null,0x6,0x31,0x4,null,0x46,0x18,0x0,0x2,0x37,0x0,0x4b,0x16,0x4,null,0x46,0x18,0x0,0x2,0x37,0x0,0x4b,0x1d,0x0,0x8,0x36,0x2,0x34,null,0x4b,0x85,0x4b,0x16,0x46,0x19,0x4b,0x16,0x46,0x1b,0x0,0x8,0xd,null,0xa,null,0x4b,0x16,0x46,0x1a,0x4b,0x16,0x46,0x1c,0x0,0x8,0xd,null,0xa,null,0x0,0x8,0x68,0x2,0x4b,0x70,0x4,null,0x46,0x64,0x0,0x21,0x37,0x1,0x3,null,0x4b,0x16,0x46,0x19,0x4b,0x16,0x46,0x1b,0x0,0x8,0xd,null,0xa,null,0x4b,0x16,0x46,0x1a,0x4b,0x16,0x46,0x1c,0x0,0x8,0xd,null,0xa,null,0x0,0x88,0x0,0x89,0x4b,0x24,0x0,0x25,0x36,0x4,0x3,null,0xd3,0xf,0x0,0x21,0x4b,0x63,0x4,null,0x46,0x42,0x0,0x8,0x37,0x2,0x3,null,0xd3,0xf,0x4,null,0x0,0x21,0xb,null,0xd4,0xf,0x3,null,0x4b,0x72,0x0,0x2,0x36,0x0,0x3,null,0x40,null,0x4b,0x16,0x46,0x17,0x20,null,0x4,null,0x34,null,0x3,null,0x6,0x31,0x46,0x8a,0x20,null,0x34,null,0x4b,0x16,0x46,0x19,0x4b,0x16,0x46,0x1b,0x0,0x8,0xd,null,0xa,null,0x7,0x32,0x4b,0x16,0x46,0x1a,0x4b,0x16,0x46,0x1c,0x0,0x8,0xd,null,0xa,null,0x7,0x33,0x6,0x31,0x46,0x19,0x6,0x31,0x46,0x1b,0x0,0x8,0xd,null,0xa,null,0x7,0x34,0x6,0x31,0x46,0x1a,0x6,0x31,0x46,0x1c,0x0,0x8,0xd,null,0xa,null,0x7,0x35,0x6,0x32,0x6,0x34,0xb,null,0x0,0x8,0x4b,0x35,0x4,null,0x46,0x8b,0x0,0x8,0x37,0x2,0x6,0x33,0x6,0x35,0xb,null,0x0,0x8,0x4b,0x35,0x4,null,0x46,0x8b,0x0,0x8,0x37,0x2,0xa,null,0x4b,0x35,0x4,null,0x46,0x8c,0x0,0x21,0x37,0x1,0x7,0x36,0x6,0x36,0x0,0x81,0x2c,null,0x4,null,0x34,null,0x3,null,0x6,0x36,0x0,0x22,0x2e,null,0x34,null,0x6,0x31,0x0,0x79,0x47,0x8a,0x3,null,0x4b,0x8d,0x4,null,0x0,0x21,0xa,null,0x4c,0x8d,0x3,null,0x3,null,0x4b,0x16,0x4,null,0x46,0x7b,0x0,0x8,0xa,null,0x47,0x7b,0x3,null,0x0,0x8e,0x0,0x8f,0x4b,0x27,0x0,0x8,0x36,0x2,0x3,null,0x6,0x34,0x6,0x35,0x0,0x8,0x0,0x90,0x4b,0x24,0x0,0x25,0x36,0x4,0x3,null,0x6,0x31,0x46,0x19,0x6,0x31,0x46,0x1b,0xa,null,0x0,0x76,0xf,null,0x2c,null,0x4,null,0x33,null,0x3,null,0x6,0x31,0x46,0x19,0x4b,0x80,0x0,0x76,0xa,null,0x2e,null,0x4,null,0x33,null,0x3,null,0x6,0x31,0x46,0x1a,0x6,0x31,0x46,0x1c,0xa,null,0x0,0x76,0xf,null,0x2c,null,0x4,null,0x33,null,0x3,null,0x6,0x31,0x46,0x1a,0x4b,0x82,0x0,0x76,0xa,null,0x2e,null,0x34,null,0xd3,0xf,0x0,0x21,0x4b,0x63,0x4,null,0x46,0x42,0x0,0x8,0x37,0x2,0x3,null,0xd3,0xf,0x4,null,0x0,0x21,0xb,null,0xd4,0xf,0x3,null,0xd3,0xf,0x4,null,0x0,0x21,0xa,null,0xd4,0xf,0x3,null,0x32,null,0x0,0x2,0xd7,0xf,0xd3,0xf,0x4b,0x70,0x46,0x11,0x2c,null,0x34,null,0x4b,0x70,0xd3,0xf,0x48,null,0x7,0x38,0x6,0x38,0x4,null,0x46,0xd,0x0,0x2,0x37,0x0,0x3,null,0x4b,0x14,0x20,null,0x34,null,0x6,0x38,0x4,null,0x46,0x15,0x0,0x2,0x37,0x0,0x3,null,0x6,0x38,0x46,0x91,0x34,null,0xd3,0xf,0x0,0x21,0x4b,0x70,0x4,null,0x46,0x42,0x0,0x8,0x37,0x2,0x3,null,0xd3,0xf,0x4,null,0x0,0x21,0xb,null,0xd4,0xf,0x3,null,0xd3,0xf,0x4,null,0x0,0x21,0xa,null,0xd4,0xf,0x3,null,0x32,null,0x0,0x2,0xd7,0xf,0xd3,0xf,0x4b,0x6d,0x46,0x11,0x2c,null,0x34,null,0x4b,0x6d,0xd3,0xf,0x48,null,0x4,null,0x46,0xd,0x0,0x2,0x37,0x0,0x3,null,0xd3,0xf,0x4,null,0x0,0x21,0xa,null,0xd4,0xf,0x3,null,0x32,null,0x4b,0x92,0x4,null,0x46,0xd,0x0,0x2,0x37,0x0,0x3,null,0x4b,0x0,0x4b,0x93,0x4,null,0x46,0x94,0x0,0x21,0x37,0x1,0x3,null,0x4b,0x0,0x4,null,0x46,0x95,0x0,0x2,0x37,0x0,0x3,null,0x4b,0x96,0x4,null,0x46,0xd,0x0,0x2,0x37,0x0,0x3,null,0x4b,0x97,0x4,null,0x46,0xd,0x0,0x2,0x37,0x0,0x3,null,0x4b,0x98,0x0,0x2,0x36,0x0,0x3,null,0x4b,0x99,0x0,0x2,0x36,0x0,0x3,null,0x4b,0x4b,0x46,0x9a,0x34,null,0x4b,0x9b,0x0,0x2,0x36,0x0,0x3,null,0x1,null,0x38,null],'c':["ctx","save",0x0,"cameraShake","active","offsetX","offsetY","translate",0x2,"surgeShake","cameraY","drawStarField","currentPlanet","draw","drawParticles","i","abilityTokens","length","t","t$$2","gamePaused","update","player1","dead","getHitbox","x","y","width","height","Tabrakan","type","bomb","abilityCharges",0x1,0xf,"#ffff00","createParticles",0x4,"music/sfx/bomb-get.mp3","playSfxWithVolume","double",0x258,"doubleLaserTimer","#ff0000","gameSettings","sfxEnabled","weaponGetSound","currentTime",0x3e,"play","catch","missile","missileAmmo","Math","random","floor","#0000ff","missileGetSound",0x3f,"life","lives",0x5,0x14,"#ff3366","music/sfx/lifeup.wav",0.375,"splice","wrathClock","DEBUG_HITBOX","lime","drawDebugHitbox","enemyShipArray","red",0xc8,0.001,"game","level",0.0005,0.015,0xa,"isEliteTank","isMiniBoss","surgePhase",0x168,0x78,"frames","music/sfx/BossAttack.wav",0.1,0x8,0.02,"PI","cos",0x1f4,"sin","EnemyBullet","green","vx",0.5,"vy","enemyBulletsArray","push","spawnedInSurge","default","isSwarmEnemy","purple","blue",1.5,"start","BigExplosion","bigExplosions",0.4,0x3,"explosions","#ff6600","handlePlayerHit","missilesArray","cyan",![],0x64,"health","#ff9900",!![],0.3,"score",0x12c,"AbilityToken",0.7,0.8,"canvasWidth",0x32,"worldHeight","playerMissilesArray",0x190,"Explosion",0.15,"orange",0xc,"#ff3300","grazed","pow","sqrt","grazeCount","music/sfx/grazedezpz.wav",0.2,"#ffffff","done","bombSystem","surgeFlash","apply","restore","spellBombAnimation","surgeSpellCardAnimation","drawScreenShading","drawUI","endingSequence","drawEndingSequence","drawGame"],'p':0x0,'l':0x29,'j':{0x8:0x13,0x15:0x20,0x2d:0x34,0x3e:0x14e,0x52:0x145,0x5d:0x7c,0x7c:0x12f,0x81:0x9a,0x99:0x11f,0x9e:0xc1,0xaf:0xc0,0xc0:0x11f,0xc5:0xf8,0xe6:0xf7,0xf7:0x11f,0xfc:0x11f,0x101:0x10c,0x118:0x11f,0x12e:0x147,0x136:0x145,0x14d:0x3a,0x151:0x173,0x168:0x173,0x179:0x328,0x186:0x321,0x18e:0x199,0x19e:0x1ae,0x1ad:0x321,0x1b8:0x1bd,0x1c1:0x1ca,0x1cb:0x1d0,0x1d0:0x2ac,0x1d3:0x25d,0x1d8:0x1db,0x1da:0x1dc,0x1e3:0x25c,0x215:0x25c,0x25b:0x212,0x25c:0x2ac,0x262:0x267,0x267:0x2ac,0x26f:0x2ac,0x28f:0x29e,0x297:0x29a,0x299:0x29b,0x2b0:0x2bf,0x2bf:0x321,0x2c9:0x2e2,0x2e1:0x30e,0x320:0x321,0x327:0x175,0x32e:0x4e9,0x33b:0x4e2,0x343:0x34e,0x356:0x4b3,0x368:0x4ac,0x39b:0x3a3,0x3a7:0x4ab,0x3ad:0x3b0,0x3af:0x3b6,0x3b2:0x3b5,0x3b4:0x3b6,0x3c0:0x3f6,0x3e6:0x3f5,0x3f5:0x4a3,0x3f8:0x419,0x418:0x4a3,0x438:0x4a3,0x45d:0x4a3,0x4a2:0x45a,0x4ab:0x4b3,0x4b2:0x352,0x4b4:0x4bc,0x4bb:0x4e2,0x4c3:0x4ca,0x4cb:0x4d3,0x4d3:0x4e2,0x4e8:0x32a,0x4ef:0x6b0,0x4fc:0x6a9,0x50b:0x67a,0x51d:0x673,0x555:0x666,0x55b:0x55e,0x55d:0x564,0x560:0x563,0x562:0x564,0x56e:0x5a4,0x594:0x5a3,0x5a3:0x65e,0x5a6:0x5d4,0x5d3:0x65e,0x5f3:0x65e,0x618:0x65e,0x65d:0x615,0x672:0x67a,0x679:0x507,0x67b:0x683,0x682:0x6a9,0x68a:0x691,0x692:0x69a,0x69a:0x6a9,0x6af:0x4eb,0x6b6:0x7d0,0x6c3:0x7c9,0x6cb:0x6d6,0x6da:0x6e9,0x6e9:0x728,0x727:0x7c9,0x72c:0x731,0x731:0x795,0x76f:0x774,0x774:0x795,0x79e:0x7a6,0x7a7:0x7b1,0x7b2:0x7ba,0x7ba:0x7c9,0x7cf:0x6b2,0x7d6:0x802,0x7e3:0x7fb,0x7ec:0x7fb,0x801:0x7d2,0x808:0x818,0x817:0x804,0x841:0x846},'ni':0x9c},{'i':[0x4b,0x0,0x4,null,0x46,0x1,0x0,0x2,0x37,0x0,0x3,null,0x4b,0x0,0x8,0x1,0x47,0x3,0x3,null,0x4b,0x0,0x0,0x4,0x47,0x5,0x3,null,0x8,0x0,0x46,0x6,0x4,null,0x34,null,0x3,null,0x8,0x0,0x46,0x6,0x46,0x7,0x0,0x2,0x2e,null,0x34,null,0x8,0x0,0x46,0x6,0x7f,null,0x7,0x2,0x3,null,0x0,0x8,0x7,0x3,0x3,null,0x0,0x8,0x7,0x3,0x3,null,0x6,0x2,0x7b,null,0x4,null,0x80,null,0x33,null,0x46,0x9,0x7,0x4,0x3,null,0x3a,null,0x6,0x4,0x46,0xa,0x6,0x4,0x46,0xb,0x6,0x4,0x46,0xc,0x6,0x4,0x46,0xd,0x4b,0x0,0x4,null,0x46,0xe,0x0,0xf,0x37,0x4,0x3,null,0x3b,null,0x32,null,0x3d,null,0x6,0x3,0x33,null,0x6,0x2,0x7c,null,0x3e,null,0x3,null,0x4b,0x0,0x0,0x10,0x47,0x3,0x3,null,0x8,0x0,0x46,0xa,0x8,0x0,0x46,0xb,0x8,0x0,0x46,0xc,0x8,0x0,0x46,0xd,0x4b,0x0,0x4,null,0x46,0xe,0x0,0xf,0x37,0x4,0x3,null,0x32,null,0x8,0x0,0x46,0xa,0x8,0x0,0x46,0xb,0x8,0x0,0x46,0xc,0x8,0x0,0x46,0xd,0x4b,0x0,0x4,null,0x46,0xe,0x0,0xf,0x37,0x4,0x3,null,0x4b,0x0,0x4,null,0x46,0x11,0x0,0x2,0x37,0x0,0x3,null,0x1,null,0x38,null],'c':["ctx","save",0x0,"strokeStyle",0x2,"lineWidth","shapes","length",![],"value","x","y","width","height","strokeRect",0x4,"rgba(255, 255, 255, 0.2)","restore","drawDebugHitbox"],'p':0x2,'l':0x3,'j':{0x11:0x18,0x18:0x57,0x28:0x43,0x3c:0x21,0x3f:0x42,0x56:0x65},'x':{0x2c:[-0x1,0x3d,0x44]},'ni':0x12},{'i':[0x4b,0x0,0x46,0x1,0x0,0x2,0x0,0x3,0x0,0x4,0x0,0x5,0x4b,0x6,0x0,0x7,0x36,0x5,0x3,null,0x0,0x8,0x7,0x0,0x0,0x9,0x7,0x1,0x4b,0xa,0x46,0xb,0x4,null,0x34,null,0x3,null,0x4b,0xa,0x46,0xc,0x0,0xd,0x2e,null,0x34,null,0x4b,0xa,0x46,0xc,0x4b,0xa,0x46,0xe,0xd,null,0x7,0x2,0x6,0x0,0x6,0x2,0xc,null,0x7,0x3,0x0,0xd,0x7,0x4,0x6,0x4,0x4b,0x0,0x46,0xf,0x2c,null,0x34,null,0x4b,0xa,0x0,0x10,0x6,0x4,0x6,0x3,0x6,0x1,0xa,null,0xc,null,0xa,null,0x4b,0x11,0x0,0x12,0xb,null,0x6,0x3,0x6,0x0,0x4b,0x13,0x4,null,0x46,0x14,0x0,0x7,0x37,0x5,0x3,null,0x6,0x4,0x4,null,0x0,0x15,0xa,null,0x7,0x4,0x3,null,0x32,null,0x32,null,0x0,0x16,0x7,0x5,0x0,0xd,0x7,0x6,0x6,0x6,0x4b,0x0,0x46,0xf,0x2c,null,0x34,null,0x6,0x5,0x0,0x17,0xa,null,0x4,null,0x7,0x5,0x3,null,0x6,0x6,0x4,null,0x0,0x15,0xa,null,0x7,0x6,0x3,null,0x32,null,0x6,0x5,0x0,0x10,0x4b,0x11,0x0,0x18,0xb,null,0x0,0x19,0x4b,0x6,0x0,0x1a,0x36,0x4,0x3,null,0x0,0x1b,0x7,0x7,0x0,0x9,0x7,0x8,0x4b,0x11,0x0,0x1c,0xb,null,0x7,0x9,0x4b,0x11,0x0,0x1d,0xb,null,0x7,0xa,0x4b,0x1e,0x46,0xb,0x34,null,0x4b,0x1e,0x0,0x10,0x6,0xa,0x6,0x7,0x6,0x7,0x4b,0x13,0x4,null,0x46,0x14,0x0,0x7,0x37,0x5,0x3,null,0x0,0x1f,0x4b,0x20,0xa,null,0x0,0x10,0x6,0x7,0xa,null,0x6,0x8,0xa,null,0x6,0xa,0x0,0x21,0xa,null,0x0,0x22,0x4b,0x6,0x0,0x1a,0x36,0x4,0x3,null,0x32,null,0x0,0x23,0x4b,0x20,0xa,null,0x0,0x10,0x6,0xa,0x0,0x21,0xa,null,0x0,0x22,0x4b,0x6,0x0,0x1a,0x36,0x4,0x3,null,0x4b,0x24,0x46,0xb,0x34,null,0x4b,0x24,0x0,0x10,0x6,0x9,0x6,0x7,0x6,0x7,0x4b,0x13,0x4,null,0x46,0x14,0x0,0x7,0x37,0x5,0x3,null,0x0,0x1f,0x4b,0x25,0xa,null,0x0,0x10,0x6,0x7,0xa,null,0x6,0x8,0xa,null,0x6,0x9,0x0,0x21,0xa,null,0x0,0x26,0x4b,0x6,0x0,0x1a,0x36,0x4,0x3,null,0x32,null,0x0,0x27,0x4b,0x25,0xa,null,0x0,0x10,0x6,0x9,0x0,0x21,0xa,null,0x0,0x26,0x4b,0x6,0x0,0x1a,0x36,0x4,0x3,null,0x1,null,0x38,null],'c':["player1","score",0x5a,0x50,"white","40px","drawNewText",0x5,0x2d,0xa,"livesImg","complete","width",0x0,"height","lives",0x1e,"canvasHeight",0x3c,"ctx","drawImage",0x1,"Lives: ","♥ ",0x32,"#ff3366",0x4,0x20,0x6e,0x96,"bombPickupImg","x ","abilityCharges",0x18,"#ffff00","Bombs: ","missilePickupImg","missileAmmo","#00ccff","Missiles: ","drawUI"],'p':0x0,'l':0xa,'j':{0x11:0x17,0x17:0x44,0x28:0x43,0x42:0x24,0x43:0x64,0x4c:0x5a,0x59:0x48,0x72:0x8f,0x8e:0x9b,0x9d:0xba,0xb9:0xc6},'ni':0x28},{'i':[0xd5,0x0,0xd2,0x0,0xd3,0x0,0x0,0x1,0x47,0x2,0x3,null,0xd3,0x0,0xd3,0x0,0x46,0x3,0x46,0x4,0xd3,0x0,0x46,0x2,0xd,null,0x4b,0x5,0x4,null,0x46,0x6,0x0,0x7,0x37,0x1,0x47,0x8,0x3,null,0xd3,0x0,0xd3,0x0,0x46,0x3,0x46,0x9,0x47,0xa,0x3,null,0x0,0xb,0x7,0x0,0xd3,0x0,0x6,0x0,0xd3,0x0,0x46,0x8,0xd,null,0x47,0xc,0x3,null,0xd3,0x0,0x6,0x0,0x47,0x4,0x3,null,0xd3,0x0,0xd3,0x0,0x46,0xa,0xd3,0x0,0x46,0xc,0xc,null,0x47,0x9,0x3,null,0xd3,0x0,0x4b,0xd,0x0,0xe,0xd,null,0xd3,0x0,0x46,0x9,0x0,0xe,0xd,null,0xb,null,0x47,0xf,0x3,null],'c':["__this__",0x5,"totalFrames","image","width","Math","floor",0x1,"spriteWidth","height","sourceHeight",0x73,"scale","canvasHeight",0x2,"y"],'p':0x0,'l':0x1,'a':0x1},{'i':[0xd2,0x0,0x8,0x1,0xd7,0x0,0x3,null,0xa0,null,0xd4,0x1b,0x3,null,0xa0,null,0x8,0x0,0x47,0x1,0x3,null,0xa0,null,0xd3,0x0,0x47,0x0,0x3,null,0xa0,null,0x0,0x2,0x47,0x3,0x3,null,0xa0,null,0x0,0x4,0x47,0x5,0x3,null,0xa0,null,0x4b,0x6,0x47,0x7,0x3,null,0xa0,null,0x0,0x8,0x47,0x9,0x3,null,0xa0,null,0x0,0x8,0x47,0xa,0x3,null,0xa0,null,0x0,0xb,0x47,0xc,0x3,null,0xa0,null,0x0,0xd,0x47,0xe,0x3,null,0xa0,null,0x0,0xf,0x47,0x10,0x3,null,0xa0,null,0x0,0x11,0x47,0x12,0x3,null,0xa0,null,0x0,0x8,0x47,0x13,0x3,null,0xa0,null,0x0,0x2,0x47,0x14,0x3,null,0xa0,null,0x0,0x8,0x47,0x15,0x3,null,0xa0,null,0x0,0x16,0x47,0x17,0x3,null,0xa0,null,0x0,0x8,0x47,0x18,0x3,null,0xa0,null,0x46,0x7,0x0,0x19,0x64,null,0x47,0x1a,0x3,null,0xd6,0x0,0x1,null,0x38,null],'c':["y","x",0x64,"width",0x40,"height","playerShipImg","image",0x0,"vx","vy",0.8,"acceleration",0.92,"friction",0xa,"maxSpeed",0x5,"lives","score","health","invincible",![],"dead","doubleLaserTimer",0x43,"onload","__this__"],'p':0x2,'l':0x0},{'i':[0xa0,null,0x46,0x0,0x0,0x1,0xc,null,0x7,0x0,0xa0,null,0x46,0x2,0x0,0x1,0xc,null,0x7,0x1,0xa0,null,0x46,0x3,0xa0,null,0x46,0x2,0x6,0x1,0xb,null,0x0,0x4,0xd,null,0xa,null,0x7,0x2,0xa0,null,0x46,0x5,0xa0,null,0x46,0x0,0x6,0x0,0xb,null,0x0,0x4,0xd,null,0xa,null,0x7,0x3,0x4d,null,0x4,null,0x6,0x2,0x47,0x3,0x3,null,0x4,null,0x6,0x3,0x47,0x5,0x3,null,0x4,null,0x6,0x1,0x47,0x2,0x3,null,0x4,null,0x6,0x0,0x47,0x0,0x3,null,0x38,null],'c':["height",0.16,"width","x",0x2,"y"],'p':0x0,'l':0x4},{'i':[0xa0,null,0x46,0x0,0x0,0x1,0x2e,null,0x4,null,0x34,null,0x3,null,0x4b,0x2,0x46,0x3,0x0,0x4,0xe,null,0x0,0x5,0x2c,null,0x34,null,0x1,null,0x38,null,0x4b,0x6,0x4,null,0x46,0x7,0x0,0x1,0x37,0x0,0x3,null,0xa0,null,0x46,0x8,0x0,0x1,0x2e,null,0x34,null,0xa0,null,0x46,0x9,0xa0,null,0x46,0xa,0xa0,null,0x46,0x8,0xc,null,0x0,0x1,0xa0,null,0x46,0x8,0xa0,null,0x46,0xb,0xa0,null,0x46,0xc,0xa0,null,0x46,0xd,0xa0,null,0x46,0xe,0xa0,null,0x46,0xf,0x4b,0x6,0x4,null,0x46,0x10,0x0,0x11,0x37,0x9,0x3,null,0x32,null,0x4b,0x6,0x0,0x12,0x47,0x13,0x3,null,0xa0,null,0x46,0xc,0xa0,null,0x46,0xd,0x0,0x14,0x0,0x14,0x4b,0x6,0x4,null,0x46,0x15,0x0,0x16,0x37,0x4,0x3,null,0x4b,0x6,0x4,null,0x46,0x17,0x0,0x1,0x37,0x0,0x3,null,0x1,null,0x38,null],'c':["invincible",0x0,"game","frames",0xa,0x5,"ctx","save","spriteWidth","image","frameIndex","sourceHeight","x","y","width","height","drawImage",0x9,"red","fillStyle",0x32,"fillRect",0x4,"restore"],'p':0x0,'l':0x0,'j':{0x5:0xd,0xd:0x10,0x1a:0x36,0x35:0x46}},{'i':[0x4b,0x0,0x46,0x1,0x0,0x2,0x2a,null,0x34,null,0x4b,0x3,0x46,0x4,0x34,null,0xa0,null,0x4,null,0x46,0x5,0xa0,null,0x46,0x6,0xb,null,0x47,0x5,0x3,null,0x4b,0x3,0x46,0x7,0x34,null,0xa0,null,0x4,null,0x46,0x5,0xa0,null,0x46,0x6,0xa,null,0x47,0x5,0x3,null,0x4b,0x3,0x46,0x8,0x34,null,0xa0,null,0x4,null,0x46,0x9,0xa0,null,0x46,0x6,0xb,null,0x47,0x9,0x3,null,0x4b,0x3,0x46,0xa,0x34,null,0xa0,null,0x4,null,0x46,0x9,0xa0,null,0x46,0x6,0xa,null,0x47,0x9,0x3,null,0xa0,null,0x4,null,0x46,0x9,0xa0,null,0x46,0xb,0xc,null,0x47,0x9,0x3,null,0xa0,null,0x4,null,0x46,0x5,0xa0,null,0x46,0xb,0xc,null,0x47,0x5,0x3,null,0xa0,null,0x46,0x9,0xa0,null,0x46,0x9,0xc,null,0xa0,null,0x46,0x5,0xa0,null,0x46,0x5,0xc,null,0xa,null,0x4b,0xc,0x4,null,0x46,0xd,0x0,0xe,0x37,0x1,0x7,0x0,0x6,0x0,0xa0,null,0x46,0xf,0x2e,null,0x34,null,0xa0,null,0x46,0xf,0x6,0x0,0xd,null,0x7,0x1,0xa0,null,0x4,null,0x46,0x9,0x6,0x1,0xc,null,0x47,0x9,0x3,null,0xa0,null,0x4,null,0x46,0x5,0x6,0x1,0xc,null,0x47,0x5,0x3,null,0xa0,null,0x4,null,0x46,0x10,0xa0,null,0x46,0x9,0xa,null,0x47,0x10,0x3,null,0xa0,null,0x4,null,0x46,0x11,0xa0,null,0x46,0x5,0xa,null,0x47,0x11,0x3,null,0x32,null,0xa0,null,0x46,0x10,0xa0,null,0x46,0x12,0x0,0x13,0xd,null,0xa,null,0x7,0x2,0xa0,null,0x46,0x11,0xa0,null,0x46,0x14,0x0,0x13,0xd,null,0xa,null,0x4b,0x15,0xa,null,0x7,0x3,0x4b,0x16,0x46,0x10,0x6,0x2,0xb,null,0x7,0x4,0x4b,0x16,0x46,0x11,0x6,0x3,0xb,null,0x7,0x5,0x6,0x4,0x6,0x4,0xc,null,0x6,0x5,0x6,0x5,0xc,null,0xa,null,0x4b,0xc,0x4,null,0x46,0xd,0x0,0xe,0x37,0x1,0x7,0x6,0x6,0x6,0x0,0xe,0x2e,null,0x34,null,0x6,0x6,0x0,0x17,0xc,null,0x7,0x7,0xa0,null,0x46,0xf,0x0,0x18,0xc,null,0x7,0x8,0x6,0x7,0x6,0x8,0x2e,null,0x34,null,0x6,0x8,0x4,null,0x7,0x7,0x3,null,0x6,0x5,0x6,0x4,0x4b,0xc,0x4,null,0x46,0x19,0x0,0x13,0x37,0x2,0x7,0x9,0xa0,null,0x6,0x9,0x4b,0xc,0x4,null,0x46,0x1a,0x0,0xe,0x37,0x1,0x6,0x7,0xc,null,0x47,0x9,0x3,null,0xa0,null,0x6,0x9,0x4b,0xc,0x4,null,0x46,0x1b,0x0,0xe,0x37,0x1,0x6,0x7,0xc,null,0x47,0x5,0x3,null,0xa0,null,0x4,null,0x46,0x10,0xa0,null,0x46,0x9,0xa,null,0x47,0x10,0x3,null,0xa0,null,0x4,null,0x46,0x11,0xa0,null,0x46,0x5,0xa,null,0x47,0x11,0x3,null,0x32,null,0xa0,null,0x0,0x1c,0x47,0x9,0x3,null,0xa0,null,0x0,0x1c,0x47,0x5,0x3,null,0xa0,null,0x46,0x14,0x0,0x1d,0xc,null,0x7,0xa,0xa0,null,0x46,0x12,0x0,0x1d,0xc,null,0x7,0xb,0xa0,null,0x46,0x11,0x6,0xa,0xf,null,0x2c,null,0x34,null,0xa0,null,0x6,0xa,0xf,null,0x47,0x11,0x3,null,0xa0,null,0x46,0x5,0x0,0x1c,0x2c,null,0x34,null,0xa0,null,0x0,0x1c,0x47,0x5,0x3,null,0xa0,null,0x46,0x11,0x4b,0x1e,0xa0,null,0x46,0x14,0xb,null,0x6,0xa,0xa,null,0x2e,null,0x34,null,0xa0,null,0x4b,0x1e,0xa0,null,0x46,0x14,0xb,null,0x6,0xa,0xa,null,0x47,0x11,0x3,null,0xa0,null,0x46,0x5,0x0,0x1c,0x2e,null,0x34,null,0xa0,null,0x0,0x1c,0x47,0x5,0x3,null,0xa0,null,0x46,0x10,0x6,0xb,0xf,null,0x2c,null,0x34,null,0xa0,null,0x6,0xb,0xf,null,0x47,0x10,0x3,null,0xa0,null,0x46,0x9,0x0,0x1c,0x2c,null,0x34,null,0xa0,null,0x0,0x1c,0x47,0x9,0x3,null,0xa0,null,0x46,0x10,0x4b,0x1f,0xa0,null,0x46,0x12,0xb,null,0x6,0xb,0xa,null,0x2e,null,0x34,null,0xa0,null,0x4b,0x1f,0xa0,null,0x46,0x12,0xb,null,0x6,0xb,0xa,null,0x47,0x10,0x3,null,0xa0,null,0x46,0x9,0x0,0x1c,0x2e,null,0x34,null,0xa0,null,0x0,0x1c,0x47,0x9,0x3,null,0xa0,null,0x46,0x5,0x0,0x20,0xf,null,0x2c,null,0x34,null,0xa0,null,0x0,0x21,0x47,0x22,0x3,null,0x32,null,0xa0,null,0x46,0x5,0x0,0x23,0xf,null,0x2c,null,0x34,null,0xa0,null,0x0,0x24,0x47,0x22,0x3,null,0x32,null,0xa0,null,0x46,0x5,0x0,0x20,0x2e,null,0x34,null,0xa0,null,0x0,0x1c,0x47,0x22,0x3,null,0x32,null,0xa0,null,0x46,0x5,0x0,0x23,0x2e,null,0x34,null,0xa0,null,0x0,0xe,0x47,0x22,0x3,null,0x32,null,0xa0,null,0x0,0x13,0x47,0x22,0x3,null,0xa0,null,0x46,0x25,0x0,0x1c,0x2e,null,0x34,null,0xa0,null,0x46,0x25,0x4,null,0x0,0xe,0xb,null,0xa0,null,0x5,null,0x47,0x25,0x3,null,0x3,null,0x1,null,0x38,null],'c':["gameSettings","inputMode","keyboard","keys","up","vy","acceleration","down","left","vx","right","friction","Math","sqrt",0x1,"maxSpeed","x","y","width",0x2,"height","cameraY","mousePos",0.84,1.2,"atan2","cos","sin",0x0,0.4,"worldHeight","canvasWidth",2.5,0x4,"frameIndex",0.5,0x3,"doubleLaserTimer"],'p':0x0,'l':0xc,'j':{0x4:0x7b,0x7:0x10,0x12:0x1b,0x1d:0x26,0x28:0x31,0x56:0x6a,0x7a:0xf0,0xa7:0xe8,0xb4:0xb9,0xe7:0xf0,0xff:0x10e,0x109:0x10e,0x117:0x12a,0x125:0x12a,0x12f:0x13e,0x139:0x13e,0x147:0x15a,0x155:0x15a,0x15f:0x165,0x164:0x188,0x16a:0x170,0x16f:0x188,0x174:0x17a,0x179:0x188,0x17e:0x184,0x183:0x188,0x18c:0x197}},{'i':[0x4b,0x0,0x46,0x1,0x0,0x2,0x2e,null,0x4,null,0x33,null,0x3,null,0x4b,0x0,0x46,0x3,0x4,null,0x33,null,0x3,null,0x4b,0x4,0x46,0x5,0x34,null,0x1,null,0x38,null,0x0,0x6,0x7,0x0,0x4b,0x4,0x46,0x7,0x0,0x8,0x2f,null,0x34,null,0x4b,0x4,0x46,0x7,0x0,0x9,0x2a,null,0x34,null,0x0,0xa,0x4b,0x4,0x46,0xb,0xb,null,0x0,0xc,0xd,null,0x7,0x1,0x0,0xd,0x0,0x6,0x0,0xd,0xb,null,0x6,0x1,0xc,null,0xa,null,0x4,null,0x7,0x0,0x3,null,0x32,null,0x0,0xd,0x4,null,0x7,0x0,0x3,null,0x6,0x0,0x4b,0xe,0x4,null,0x46,0xf,0x0,0x8,0x37,0x1,0x3,null,0x0,0x10,0x4,null,0x4c,0x11,0x3,null,0x3,null,0x4b,0x12,0x46,0x13,0x34,null,0x0,0x14,0x0,0x15,0x4b,0x16,0x0,0x17,0x36,0x2,0x3,null,0x4b,0x0,0x46,0x18,0x4,null,0x0,0x8,0xb,null,0x4b,0x0,0x5,null,0x47,0x18,0x3,null,0x3,null,0x4b,0x0,0x46,0x18,0x0,0x2,0x2d,null,0x34,null,0x4b,0x4,0x46,0x19,0x20,null,0x34,null,0x0,0x1a,0x4b,0x1b,0x4,null,0x46,0x1c,0x0,0x8,0x37,0x1,0x3,null,0x4b,0x4,0x0,0x1d,0x47,0x19,0x3,null,0x4b,0x4,0x0,0x2,0x47,0x1e,0x3,null,0x4b,0x4,0x4b,0x1f,0x4,null,0x46,0x20,0x0,0x2,0x37,0x0,0x47,0x21,0x3,null,0x4b,0x0,0x0,0x1d,0x47,0x3,0x3,null,0x1,null,0x38,null,0x4b,0x0,0x0,0x1d,0x47,0x3,0x3,null,0x0,0x22,0x0,0x9,0xc,null,0x4,null,0x4c,0x23,0x3,null,0x3,null,0x1,null,0x38,null],'c':["player1","invincible",0x0,"dead","game","gameOver",0.35,"surgePhase",0x1,0x3,0x7,"surge",0x6,0.15,"explosionPool","play",0x14,"damageFlash","gameSettings","sfxEnabled","music/sfx/DEFEATED.wav",0.375,"playSfxWithVolume",0x2,"lives","endingSequence","TRIGGERING ENDING SEQUENCE","console","log",!![],"endingTimer","Date","now","endingStartTime",0x50,"respawnCounter","handlePlayerHit"],'p':0x0,'l':0x2,'j':{0x5:0x9,0xa:0xe,0xe:0x11,0x17:0x33,0x1c:0x2f,0x2e:0x33,0x41:0x48,0x56:0x78,0x5a:0x72},'ni':0x24},{'i':[0x8,0x4,0x4,null,0x1,null,0x2a,null,0x34,null,0x3,null,0x0,0x0,0x9,0x4,0x32,null,0x3,null,0x4b,0x1,0x8,0x4,0x0,0x2,0xa,null,0x47,0x3,0x3,null,0x4b,0x1,0x8,0x3,0x47,0x4,0x3,null,0x4b,0x1,0x0,0x5,0x47,0x6,0x3,null,0x8,0x0,0x8,0x1,0x8,0x2,0x4b,0x1,0x4,null,0x46,0x7,0x0,0x8,0x37,0x3,0x3,null,0x1,null,0x38,null],'c':["20px","ctx"," 'Orbitron', sans-serif","font","fillStyle","left","textAlign","fillText",0x3,"drawNewText"],'p':0x5,'l':0x0,'j':{0x4:0x9,0x8:0xa},'ni':0x9},{'i':[0xa0,null,0x8,0x1,0x47,0x0,0x3,null,0xa0,null,0x8,0x2,0x47,0x1,0x3,null,0xa0,null,0x0,0x2,0x47,0x3,0x3,null,0xa0,null,0x0,0x4,0x47,0x5,0x3,null,0xa0,null,0x8,0x0,0x47,0x6,0x3,null,0xa0,null,0x8,0x0,0x47,0x6,0x3,null,0xa0,null,0x8,0x3,0x47,0x7,0x3,null,0x1,null,0x38,null],'c':["x","y",0x7d0,"width",0x384,"height","img","factor"],'p':0x4,'l':0x0},{'i':[0x4b,0x0,0x4,null,0x46,0x1,0x0,0x2,0x37,0x0,0x3,null,0xa0,null,0x46,0x3,0xa0,null,0x46,0x4,0xa0,null,0x46,0x5,0xa0,null,0x46,0x6,0xa0,null,0x46,0x7,0x4b,0x0,0x4,null,0x46,0x8,0x0,0x9,0x37,0x5,0x3,null,0x4b,0x0,0x4,null,0x46,0xa,0x0,0x2,0x37,0x0,0x3,null,0x1,null,0x38,null],'c':["ctx","save",0x0,"img","x","y","width","height","drawImage",0x5,"restore"],'p':0x0,'l':0x0},{'i':[0xa0,null,0x4,null,0x46,0x0,0xa0,null,0x46,0x1,0x4b,0x2,0x46,0x3,0xc,null,0xb,null,0x47,0x0,0x3,null,0xa0,null,0x46,0x0,0xa0,null,0x46,0x4,0xf,null,0x2d,null,0x34,null,0xa0,null,0x4,null,0x46,0x0,0xa0,null,0x46,0x4,0x0,0x5,0xc,null,0xa,null,0x47,0x0,0x3,null,0x1,null,0x38,null],'c':["x","factor","game","speed","width",0x2],'p':0x0,'l':0x0,'j':{0x11:0x1c}},{'i':[0x4b,0x0,0x4,null,0x46,0x1,0x0,0x2,0x37,0x0,0x3,null,0x4b,0x3,0x4,null,0x46,0x1,0x0,0x2,0x37,0x0,0x3,null,0x4b,0x4,0x4,null,0x46,0x1,0x0,0x2,0x37,0x0,0x3,null,0x4b,0x5,0x4,null,0x46,0x1,0x0,0x2,0x37,0x0,0x3,null,0x4b,0x6,0x4,null,0x46,0x1,0x0,0x2,0x37,0x0,0x3,null,0x4b,0x7,0x4,null,0x46,0x1,0x0,0x2,0x37,0x0,0x3,null,0x1,null,0x38,null],'c':["background3","update",0x0,"background3a","background2","background2a","background1","background1a","updateStarField"],'p':0x0,'l':0x0,'ni':0x8},{'i':[0x4b,0x0,0x4,null,0x46,0x1,0x0,0x2,0x37,0x0,0x3,null,0x4b,0x3,0x4,null,0x46,0x1,0x0,0x2,0x37,0x0,0x3,null,0x4b,0x4,0x4,null,0x46,0x1,0x0,0x2,0x37,0x0,0x3,null,0x4b,0x5,0x4,null,0x46,0x1,0x0,0x2,0x37,0x0,0x3,null,0x4b,0x6,0x4,null,0x46,0x1,0x0,0x2,0x37,0x0,0x3,null,0x4b,0x7,0x4,null,0x46,0x1,0x0,0x2,0x37,0x0,0x3,null,0x1,null,0x38,null],'c':["background3","draw",0x0,"background3a","background2","background2a","background1","background1a","drawStarField"],'p':0x0,'l':0x0,'ni':0x8},{'i':[0x4b,0x0,0x46,0x1,0x4b,0x0,0x46,0x2,0x0,0x3,0xd,null,0xa,null,0x4b,0x4,0x0,0x3,0xd,null,0xb,null,0x7,0x0,0x6,0x0,0xf,null,0x0,0x5,0xc,null,0x7,0x1,0x4b,0x6,0x7,0x2,0x4b,0x4,0x6,0x2,0xb,null,0x7,0x3,0x0,0x7,0x7,0x4,0x6,0x3,0x6,0x4,0x6,0x1,0x4b,0x8,0x4,null,0x46,0x9,0x0,0x3,0x37,0x2,0x4b,0x8,0x4,null,0x46,0xa,0x0,0x3,0x37,0x2,0x7,0x5,0x4b,0xb,0x6,0x5,0x4b,0xb,0xb,null,0x0,0xc,0xc,null,0xa,null,0x4,null,0x4c,0xb,0x3,null,0x3,null,0x1,null,0x38,null],'c':["player1","y","height",0x2,"canvasHeight",0.7,"worldHeight",0x0,"Math","min","max","cameraY",0.1,"updateCamera"],'p':0x0,'l':0x6,'ni':0xd},{'i':[0x8,0x2,0x4,null,0x1,null,0x2a,null,0x34,null,0x3,null,0x0,0x0,0x9,0x2,0x32,null,0x3,null,0xa0,null,0x8,0x0,0x47,0x1,0x3,null,0xa0,null,0x8,0x1,0x47,0x2,0x3,null,0xa0,null,0x0,0x3,0x47,0x4,0x3,null,0xa0,null,0x0,0x5,0x47,0x6,0x3,null,0xa0,null,0x0,0x7,0x47,0x8,0x3,null,0xa0,null,0x8,0x2,0x47,0x9,0x3,null,0xa0,null,0x4b,0xa,0x46,0xb,0x0,0xc,0x2f,null,0x47,0xd,0x3,null,0xa0,null,0x8,0x2,0x4b,0xe,0x4,null,0x46,0xf,0x0,0xc,0x37,0x1,0xa0,null,0x46,0x8,0xc,null,0x47,0x10,0x3,null,0xa0,null,0x8,0x2,0x4b,0xe,0x4,null,0x46,0x11,0x0,0xc,0x37,0x1,0xa0,null,0x46,0x8,0xc,null,0x47,0x12,0x3,null,0x1,null,0x38,null],'c':[0x0,"x","y",0xd,"width",0x4,"height",0x10,"speed","angle","game","surgePhase",0x1,"isPlasma","Math","cos","vx","sin","vy"],'p':0x3,'l':0x0,'j':{0x4:0x9,0x8:0xa}},{'i':[0x4d,null,0x4,null,0xa0,null,0x46,0x0,0x47,0x0,0x3,null,0x4,null,0xa0,null,0x46,0x1,0x47,0x1,0x3,null,0x4,null,0xa0,null,0x46,0x2,0x47,0x2,0x3,null,0x4,null,0xa0,null,0x46,0x3,0x47,0x3,0x3,null,0x38,null],'c':["x","y","width","height"],'p':0x0,'l':0x0},{'i':[0x0,0x0,0x7,0x0,0x4b,0x1,0x4,null,0x46,0x2,0x0,0x3,0x37,0x0,0x3,null,0xa0,null,0x46,0x4,0x34,null,0xa0,null,0x46,0x5,0xa0,null,0x46,0x6,0x0,0x7,0xd,null,0xa,null,0xa0,null,0x46,0x8,0xa0,null,0x46,0x9,0x0,0x7,0xd,null,0xa,null,0x4b,0x1,0x4,null,0x46,0xa,0x0,0x7,0x37,0x2,0x3,null,0xa0,null,0x46,0xb,0x4b,0x1,0x4,null,0x46,0xc,0x0,0xd,0x37,0x1,0x3,null,0x4b,0x1,0x0,0xe,0x47,0xf,0x3,null,0x4b,0x1,0x4,null,0x46,0x10,0x0,0x3,0x37,0x0,0x3,null,0x0,0x3,0x0,0x3,0x0,0x11,0x0,0x12,0x0,0x3,0x0,0x3,0x4b,0x13,0x46,0x14,0x0,0x7,0xc,null,0x4b,0x1,0x4,null,0x46,0x15,0x0,0x16,0x37,0x7,0x3,null,0x4b,0x1,0x4,null,0x46,0x17,0x0,0x3,0x37,0x0,0x3,null,0x4b,0x1,0x0,0x18,0x47,0x19,0x3,null,0x4b,0x1,0x0,0x1a,0x47,0x1b,0x3,null,0x4b,0x1,0x0,0x1c,0x47,0xf,0x3,null,0x4b,0x1,0x4,null,0x46,0x10,0x0,0x3,0x37,0x0,0x3,null,0x0,0x3,0x0,0x3,0x0,0x1d,0x0,0x16,0x0,0x3,0x0,0x3,0x4b,0x13,0x46,0x14,0x0,0x7,0xc,null,0x4b,0x1,0x4,null,0x46,0x15,0x0,0x16,0x37,0x7,0x3,null,0x4b,0x1,0x4,null,0x46,0x17,0x0,0x3,0x37,0x0,0x3,null,0x4b,0x1,0x0,0x1e,0x47,0x19,0x3,null,0x4b,0x1,0x0,0x1f,0x47,0x1b,0x3,null,0x4b,0x1,0x0,0x20,0x47,0xf,0x3,null,0x4b,0x1,0x4,null,0x46,0x10,0x0,0x3,0x37,0x0,0x3,null,0x0,0x3,0x0,0x3,0x0,0x0,0x0,0x11,0x0,0x3,0x0,0x3,0x4b,0x13,0x46,0x14,0x0,0x7,0xc,null,0x4b,0x1,0x4,null,0x46,0x15,0x0,0x16,0x37,0x7,0x3,null,0x4b,0x1,0x4,null,0x46,0x17,0x0,0x3,0x37,0x0,0x3,null,0x32,null,0xa0,null,0x46,0xb,0x0,0x3,0x2b,null,0x34,null,0xa0,null,0x46,0x5,0xa0,null,0x46,0x6,0x0,0x7,0xd,null,0xa,null,0xa0,null,0x46,0x8,0xa0,null,0x46,0x9,0x0,0x7,0xd,null,0xa,null,0x4b,0x1,0x4,null,0x46,0xa,0x0,0x7,0x37,0x2,0x3,null,0xa0,null,0x46,0xb,0x4b,0x1,0x4,null,0x46,0xc,0x0,0xd,0x37,0x1,0x3,null,0x4b,0x21,0xa0,null,0x46,0x6,0xf,null,0x0,0x7,0xd,null,0x6,0x0,0xb,null,0xa0,null,0x46,0x9,0xf,null,0x0,0x7,0xd,null,0x6,0x0,0xb,null,0x4b,0x1,0x4,null,0x46,0x22,0x0,0x23,0x37,0x3,0x3,null,0x32,null,0x4b,0x21,0xa0,null,0x46,0x5,0x6,0x0,0xb,null,0xa0,null,0x46,0x8,0x6,0x0,0xb,null,0x4b,0x1,0x4,null,0x46,0x22,0x0,0x23,0x37,0x3,0x3,null,0x4b,0x1,0x4,null,0x46,0x24,0x0,0x3,0x37,0x0,0x3,null,0x1,null,0x38,null],'c':[0x14,"ctx","save",0x0,"isPlasma","x","width",0x2,"y","height","translate","angle","rotate",0x1,"#ffffff","fillStyle","beginPath",0xa,0x4,"Math","PI","ellipse",0x7,"fill",0xf,"shadowBlur","#ff3300","shadowColor","rgba(255, 50, 0, 0.8)",0xe,0x19,"#ffaa00","rgba(255, 150, 0, 0.4)","laserSprite","drawImage",0x3,"restore"],'p':0x0,'l':0x1,'j':{0xa:0x98,0x97:0xde,0x9c:0xcf,0xce:0xde}},{'i':[0xa0,null,0x4,null,0x46,0x0,0xa0,null,0x46,0x1,0xa,null,0x47,0x0,0x3,null,0xa0,null,0x4,null,0x46,0x2,0xa0,null,0x46,0x3,0xa,null,0x47,0x2,0x3,null,0x1,null,0x38,null],'c':["x","vx","y","vy"],'p':0x0,'l':0x0},{'i':[0xa0,null,0x8,0x0,0x47,0x0,0x3,null,0xa0,null,0x8,0x1,0x47,0x1,0x3,null,0xa0,null,0x0,0x2,0x47,0x3,0x3,null,0xa0,null,0x0,0x4,0x47,0x5,0x3,null,0xa0,null,0x0,0x6,0x47,0x7,0x3,null,0xa0,null,0x0,0x8,0x47,0x9,0x3,null,0xa0,null,0x0,0x6,0x47,0xa,0x3,null,0xa0,null,0x0,0xb,0x47,0xc,0x3,null,0xa0,null,0x2,null,0x47,0xd,0x3,null,0x1,null,0x38,null],'c':["x","y",0x1e,"width",0xc,"height",0x2,"speed",0x12,"maxSpeed","vx",0x0,"vy","target"],'p':0x2,'l':0x0},{'i':[0x4d,null,0x4,null,0xa0,null,0x46,0x0,0x47,0x0,0x3,null,0x4,null,0xa0,null,0x46,0x1,0x47,0x1,0x3,null,0x4,null,0xa0,null,0x46,0x2,0x47,0x2,0x3,null,0x4,null,0xa0,null,0x46,0x3,0x47,0x3,0x3,null,0x38,null],'c':["x","y","width","height"],'p':0x0,'l':0x0},{'i':[0x4b,0x0,0x4,null,0x46,0x1,0x0,0x2,0x37,0x0,0x3,null,0xa0,null,0x46,0x3,0xa0,null,0x46,0x4,0x0,0x5,0xd,null,0xa,null,0x7,0x0,0xa0,null,0x46,0x6,0xa0,null,0x46,0x7,0x0,0x5,0xd,null,0xa,null,0x7,0x1,0x6,0x0,0x6,0x1,0x4b,0x0,0x4,null,0x46,0x8,0x0,0x5,0x37,0x2,0x3,null,0xa0,null,0x46,0x9,0xa0,null,0x46,0xa,0x4b,0xb,0x4,null,0x46,0xc,0x0,0x5,0x37,0x2,0x7,0x2,0x6,0x2,0x4b,0x0,0x4,null,0x46,0xd,0x0,0xe,0x37,0x1,0x3,null,0x4b,0x0,0x0,0xf,0x47,0x10,0x3,null,0x4b,0x0,0x4,null,0x46,0x11,0x0,0x2,0x37,0x0,0x3,null,0x0,0x12,0xf,null,0x0,0x13,0xf,null,0x4b,0x0,0x4,null,0x46,0x14,0x0,0x5,0x37,0x2,0x3,null,0x0,0x15,0x0,0x13,0xf,null,0x4b,0x0,0x4,null,0x46,0x16,0x0,0x5,0x37,0x2,0x3,null,0x0,0x17,0x0,0x2,0x4b,0x0,0x4,null,0x46,0x16,0x0,0x5,0x37,0x2,0x3,null,0x0,0x15,0x0,0x13,0x4b,0x0,0x4,null,0x46,0x16,0x0,0x5,0x37,0x2,0x3,null,0x0,0x12,0xf,null,0x0,0x13,0x4b,0x0,0x4,null,0x46,0x16,0x0,0x5,0x37,0x2,0x3,null,0x4b,0x0,0x4,null,0x46,0x18,0x0,0x2,0x37,0x0,0x3,null,0x4b,0x0,0x4,null,0x46,0x19,0x0,0x2,0x37,0x0,0x3,null,0x4b,0x0,0x0,0x1a,0x47,0x10,0x3,null,0x0,0x15,0xf,null,0x0,0x1b,0xf,null,0x0,0x1c,0x0,0x5,0x4b,0x0,0x4,null,0x46,0x1d,0x0,0x1e,0x37,0x4,0x3,null,0x4b,0x0,0x0,0x1f,0x47,0x10,0x3,null,0x4b,0x0,0x4,null,0x46,0x11,0x0,0x2,0x37,0x0,0x3,null,0x0,0x12,0xf,null,0x0,0x13,0xf,null,0x4b,0x0,0x4,null,0x46,0x14,0x0,0x5,0x37,0x2,0x3,null,0x0,0x13,0xf,null,0x0,0x13,0xf,null,0x4b,0x0,0x4,null,0x46,0x16,0x0,0x5,0x37,0x2,0x3,null,0x0,0x20,0xf,null,0x0,0x12,0xf,null,0x4b,0x0,0x4,null,0x46,0x16,0x0,0x5,0x37,0x2,0x3,null,0x0,0x20,0xf,null,0x0,0x13,0xf,null,0x4b,0x0,0x4,null,0x46,0x16,0x0,0x5,0x37,0x2,0x3,null,0x4b,0x0,0x4,null,0x46,0x19,0x0,0x2,0x37,0x0,0x3,null,0x4b,0x0,0x4,null,0x46,0x11,0x0,0x2,0x37,0x0,0x3,null,0x0,0x12,0xf,null,0x0,0x13,0x4b,0x0,0x4,null,0x46,0x14,0x0,0x5,0x37,0x2,0x3,null,0x0,0x13,0xf,null,0x0,0x13,0x4b,0x0,0x4,null,0x46,0x16,0x0,0x5,0x37,0x2,0x3,null,0x0,0x20,0xf,null,0x0,0x12,0x4b,0x0,0x4,null,0x46,0x16,0x0,0x5,0x37,0x2,0x3,null,0x0,0x20,0xf,null,0x0,0x13,0x4b,0x0,0x4,null,0x46,0x16,0x0,0x5,0x37,0x2,0x3,null,0x4b,0x0,0x4,null,0x46,0x19,0x0,0x2,0x37,0x0,0x3,null,0x4b,0x0,0x4,null,0x46,0x21,0x0,0x2,0x37,0x0,0x3,null,0x4b,0xb,0x4,null,0x46,0x22,0x0,0x2,0x37,0x0,0x0,0x23,0x2c,null,0x34,null,0xa0,null,0x46,0x3,0xa0,null,0x46,0x6,0xa0,null,0x46,0x7,0x0,0x5,0xd,null,0xa,null,0x4b,0xb,0x4,null,0x46,0x22,0x0,0x2,0x37,0x0,0x0,0x24,0xb,null,0x0,0x1e,0xc,null,0xa,null,0x0,0xe,0x4b,0xb,0x4,null,0x46,0x22,0x0,0x2,0x37,0x0,0x0,0x24,0x2c,null,0x34,null,0x0,0x25,0x32,null,0x0,0x26,0x4b,0x27,0x0,0x1e,0x36,0x4,0x3,null,0x1,null,0x38,null],'c':["ctx","save",0x0,"x","width",0x2,"y","height","translate","vy","vx","Math","atan2","rotate",0x1,"#cc0000","fillStyle","beginPath",0xa,0x5,"moveTo",0x8,"lineTo",0xf,"closePath","fill","#ff4444",0x3,0xe,"fillRect",0x4,"#880000",0xc,"restore","random",0.8,0.5,"#dddddd","#aaaaaa","createParticles"],'p':0x0,'l':0x3,'j':{0xf6:0x11a,0x112:0x115,0x114:0x116}},{'i':[0xa0,null,0x4,null,0x46,0x0,0x0,0x1,0xc,null,0x47,0x0,0x3,null,0xa0,null,0x46,0x0,0xa0,null,0x46,0x2,0x2e,null,0x34,null,0xa0,null,0xa0,null,0x46,0x2,0x47,0x0,0x3,null,0xa0,null,0x46,0x3,0x20,null,0x4,null,0x33,null,0x3,null,0xa0,null,0x46,0x3,0x4b,0x4,0x4,null,0x46,0x5,0x0,0x6,0x37,0x1,0x20,null,0x34,null,0x0,0x7,0x7,0x0,0x2,null,0x7,0x1,0x4b,0x4,0x7f,null,0x7,0x2,0x3,null,0x0,0x8,0x7,0x3,0x3,null,0x0,0x8,0x7,0x3,0x3,null,0x6,0x2,0x7b,null,0x4,null,0x80,null,0x33,null,0x46,0x9,0x7,0x4,0x3,null,0x3a,null,0x6,0x4,0x46,0xa,0xa0,null,0x46,0xa,0xb,null,0x7,0x5,0x6,0x4,0x46,0xb,0xa0,null,0x46,0xb,0xb,null,0x7,0x6,0x6,0x5,0x6,0x5,0xc,null,0x6,0x6,0x6,0x6,0xc,null,0xa,null,0x4b,0xc,0x4,null,0x46,0xd,0x0,0x6,0x37,0x1,0x7,0x7,0x6,0x7,0x6,0x0,0x2c,null,0x34,null,0x6,0x7,0x4,null,0x7,0x0,0x3,null,0x6,0x4,0x4,null,0x7,0x1,0x3,null,0x3b,null,0x32,null,0x3d,null,0x6,0x3,0x33,null,0x6,0x2,0x7c,null,0x3e,null,0x3,null,0xa0,null,0x6,0x1,0x47,0x3,0x3,null,0xa0,null,0x46,0x3,0x34,null,0xa0,null,0x46,0x3,0x46,0xa,0xa0,null,0x46,0x3,0x46,0xe,0x0,0xf,0xd,null,0xa,null,0x7,0x8,0xa0,null,0x46,0x3,0x46,0xb,0xa0,null,0x46,0x3,0x46,0x10,0x0,0xf,0xd,null,0xa,null,0x7,0x9,0x6,0x8,0xa0,null,0x46,0xa,0xb,null,0x7,0xa,0x6,0x9,0xa0,null,0x46,0xb,0xb,null,0x7,0xb,0x6,0xb,0x6,0xa,0x4b,0xc,0x4,null,0x46,0x11,0x0,0xf,0x37,0x2,0x7,0xc,0xa0,null,0x6,0xc,0x4b,0xc,0x4,null,0x46,0x12,0x0,0x6,0x37,0x1,0xa0,null,0x46,0x0,0xc,null,0x47,0x13,0x3,null,0xa0,null,0x6,0xc,0x4b,0xc,0x4,null,0x46,0x14,0x0,0x6,0x37,0x1,0xa0,null,0x46,0x0,0xc,null,0x47,0x15,0x3,null,0x32,null,0xa0,null,0xa0,null,0x46,0x0,0x47,0x13,0x3,null,0xa0,null,0x0,0x16,0x47,0x15,0x3,null,0xa0,null,0x4,null,0x46,0xa,0xa0,null,0x46,0x13,0xa,null,0x47,0xa,0x3,null,0xa0,null,0x4,null,0x46,0xb,0xa0,null,0x46,0x15,0xa,null,0x47,0xb,0x3,null,0x1,null,0x38,null],'c':["speed",1.08,"maxSpeed","target","enemyShipArray","includes",0x1,0x186a0,![],"value","x","y","Math","sqrt","width",0x2,"height","atan2","cos","vx","sin","vy",0x0],'p':0x0,'l':0xd,'j':{0xc:0x12,0x16:0x20,0x20:0x6a,0x33:0x65,0x54:0x5d,0x5e:0x2c,0x61:0x64,0x6c:0xac,0xab:0xb5},'x':{0x37:[-0x1,0x5f,0x66]}},{'i':[0x4b,0x0,0x46,0x1,0x8,0x0,0xc,null,0x4b,0x0,0x4,null,0x46,0x2,0x0,0x3,0x37,0x1,0x0,0x3,0xb,null,0xf,null,0x0,0x4,0xd,null,0x38,null],'c':["Math","PI","cos",0x1,0x2,"easeInOutSine"],'p':0x1,'l':0x0,'ni':0x5},{'i':[0x0,0x0,0x0,0x0,0x8,0x0,0xb,null,0x0,0x0,0x8,0x0,0xb,null,0xc,null,0xb,null,0x38,null],'c':[0x1,"easeOutQuad"],'p':0x1,'l':0x0,'ni':0x1},{'i':[0x8,0x0,0x8,0x0,0xc,null,0x38,null],'c':["easeInQuad"],'p':0x1,'l':0x0,'ni':0x0},{'i':[0x8,0x0,0x0,0x0,0x2c,null,0x34,null,0x0,0x1,0x8,0x0,0xc,null,0x8,0x0,0xc,null,0x32,null,0x0,0x2,0x0,0x1,0xf,null,0x8,0x0,0xc,null,0x0,0x1,0xa,null,0x0,0x1,0x4b,0x3,0x4,null,0x46,0x4,0x0,0x1,0x37,0x2,0x0,0x1,0xd,null,0xb,null,0x38,null],'c':[0.5,0x2,0x1,"Math","pow","easeInOutQuad"],'p':0x1,'l':0x0,'j':{0x3:0xa,0x9:0x1a},'ni':0x5},{'i':[0x0,0x0,0x0,0x0,0x8,0x0,0xb,null,0x0,0x1,0x4b,0x2,0x4,null,0x46,0x3,0x0,0x4,0x37,0x2,0xb,null,0x38,null],'c':[0x1,0x3,"Math","pow",0x2,"easeOutCubic"],'p':0x1,'l':0x0,'ni':0x5},{'i':[0x8,0x0,0x0,0x0,0x2c,null,0x34,null,0x0,0x1,0x8,0x0,0xc,null,0x8,0x0,0xc,null,0x8,0x0,0xc,null,0x32,null,0x0,0x2,0x0,0x3,0xf,null,0x8,0x0,0xc,null,0x0,0x3,0xa,null,0x0,0x4,0x4b,0x5,0x4,null,0x46,0x6,0x0,0x3,0x37,0x2,0x0,0x3,0xd,null,0xb,null,0x38,null],'c':[0.5,0x4,0x1,0x2,0x3,"Math","pow","easeInOutCubic"],'p':0x1,'l':0x0,'j':{0x3:0xc,0xb:0x1c},'ni':0x7},{'i':[0x8,0x4,0x4,null,0x1,null,0x2a,null,0x34,null,0x3,null,0x0,0x0,0x9,0x4,0x32,null,0x3,null,0x8,0x5,0x4,null,0x1,null,0x2a,null,0x34,null,0x3,null,0x0,0x1,0x9,0x5,0x32,null,0x3,null,0xa0,null,0x8,0x0,0x47,0x2,0x3,null,0xa0,null,0x8,0x1,0x47,0x3,0x3,null,0xa0,null,0x0,0x4,0x47,0x5,0x3,null,0xa0,null,0x0,0x6,0x47,0x7,0x3,null,0xa0,null,0x8,0x3,0x47,0x8,0x3,null,0xa0,null,0x8,0x2,0x47,0x9,0x3,null,0xa0,null,0x0,0xa,0x47,0xb,0x3,null,0xa0,null,0x0,0xc,0x47,0xd,0x3,null,0xa0,null,0x8,0x4,0x47,0xe,0x3,null,0xa0,null,0x0,0xf,0x47,0x10,0x3,null,0xa0,null,0x4b,0x11,0x46,0x12,0x0,0x13,0x2f,null,0x47,0x14,0x3,null,0x5a,null,0x0,0x15,0x5b,null,0x0,0x16,0x5b,null,0x0,0x17,0x5b,null,0x0,0x18,0x5b,null,0x7,0x6,0xa0,null,0x6,0x6,0x8,0x5,0x48,null,0x4,null,0x33,null,0x3,null,0x0,0x19,0x47,0x1a,0x3,null,0xa0,null,0x4b,0x1b,0x4,null,0x46,0x1c,0x0,0x1,0x37,0x0,0x4b,0x1b,0x46,0x1d,0xc,null,0x0,0x1e,0xc,null,0x47,0x1f,0x3,null,0xa0,null,0x8,0x1,0x47,0x20,0x3,null,0xa0,null,0x8,0x0,0x47,0x21,0x3,null,0xa0,null,0x0,0x1,0x47,0x22,0x3,null,0xa0,null,0x0,0x23,0x47,0x24,0x3,null,0xa0,null,0x0,0x25,0x47,0x26,0x3,null,0xa0,null,0x8,0x1,0x47,0x27,0x3,null,0xa0,null,0x0,0x1,0x47,0x28,0x3,null,0xa0,null,0x0,0x1,0x47,0x29,0x3,null,0xa0,null,0x0,0x1,0x47,0x2a,0x3,null,0xa0,null,0x4b,0x1b,0x4,null,0x46,0x1c,0x0,0x1,0x37,0x0,0x0,0x2b,0x2e,null,0x34,null,0x0,0x13,0x32,null,0x0,0x13,0xf,null,0x47,0x2c,0x3,null,0xa0,null,0x0,0x2d,0x47,0x2e,0x3,null,0xa0,null,0x4b,0x2f,0x0,0x30,0x4b,0x1b,0x4,null,0x46,0x1c,0x0,0x1,0x37,0x0,0x0,0x31,0xc,null,0xa,null,0xc,null,0x47,0x32,0x3,null,0xa0,null,0x0,0xf,0x47,0x33,0x3,null,0xa0,null,0x0,0x1,0x47,0x34,0x3,null,0xa0,null,0x0,0x1,0x47,0x35,0x3,null,0xa0,null,0x0,0xa,0x47,0x36,0x3,null,0x1,null,0x38,null],'c':["straight",0x0,"x","y",0x91,"width",0x5a,"height","image","speed",0x64,"health",0xa,"damage","pattern",![],"isMiniBoss","game","surgePhase",0x1,"spawnedInSurge","rgba(50, 255, 50, 0.8)","rgba(255, 100, 0, 0.8)","rgba(0, 255, 255, 0.8)","rgba(255, 215, 0, 0.8)","white","glowColor","Math","random","PI",0x2,"angle","baseY","baseX","time",0x12c,"maxTime","approach","diveState","diveStartY","diveTargetY","diveProgress","swoopPhase",0.5,"swoopDirection",0x50,"swoopAmplitude","canvasWidth",0.6,0.2,"hoverX","hoverReached","hoverTime","zigzagPhase","waveAmplitude"],'p':0x6,'l':0x1,'j':{0x4:0x9,0x8:0xa,0xe:0x13,0x12:0x14,0x52:0x55,0x90:0x93,0x92:0x95}},{'i':[0x4b,0x0,0x46,0x1,0x0,0x2,0x2f,null,0x34,null,0xa0,null,0x46,0x3,0x0,0x4,0xc,null,0x7,0x0,0xa0,null,0x46,0x5,0x0,0x6,0xc,null,0x7,0x1,0xa0,null,0x46,0x7,0xa0,null,0x46,0x3,0x6,0x0,0xb,null,0x0,0x8,0xd,null,0xa,null,0x7,0x2,0xa0,null,0x46,0x9,0xa0,null,0x46,0x5,0x6,0x1,0xb,null,0x0,0x8,0xd,null,0xa,null,0x7,0x3,0x4d,null,0x4,null,0x6,0x2,0x47,0x7,0x3,null,0x4,null,0x6,0x3,0x47,0x9,0x3,null,0x4,null,0x6,0x0,0x47,0x3,0x3,null,0x4,null,0x6,0x1,0x47,0x5,0x3,null,0x38,null,0xa0,null,0x46,0xa,0x4,null,0x34,null,0x3,null,0x0,0xb,0xa0,null,0x46,0xa,0x46,0xc,0x4,null,0x46,0xd,0x0,0x2,0x37,0x1,0x4,null,0x33,null,0x3,null,0x0,0xe,0xa0,null,0x46,0xa,0x46,0xc,0x4,null,0x46,0xd,0x0,0x2,0x37,0x1,0x7,0x4,0x5a,null,0x7,0x5,0x6,0x4,0x34,null,0x4d,null,0x4,null,0xa0,null,0x46,0x7,0x47,0x7,0x3,null,0x4,null,0xa0,null,0x46,0x9,0xa0,null,0x46,0x5,0x0,0xf,0xc,null,0xa,null,0x47,0x9,0x3,null,0x4,null,0xa0,null,0x46,0x3,0x0,0x10,0xc,null,0x47,0x3,0x3,null,0x4,null,0xa0,null,0x46,0x5,0x0,0x11,0xc,null,0x47,0x5,0x3,null,0x6,0x5,0x4,null,0x46,0x12,0x0,0x2,0x37,0x1,0x3,null,0x4d,null,0x4,null,0xa0,null,0x46,0x7,0xa0,null,0x46,0x3,0x0,0x10,0xc,null,0xa,null,0x47,0x7,0x3,null,0x4,null,0xa0,null,0x46,0x9,0xa0,null,0x46,0x5,0x0,0x13,0xc,null,0xa,null,0x47,0x9,0x3,null,0x4,null,0xa0,null,0x46,0x3,0x0,0x14,0xc,null,0x47,0x3,0x3,null,0x4,null,0xa0,null,0x46,0x5,0x0,0x6,0xc,null,0x47,0x5,0x3,null,0x6,0x5,0x4,null,0x46,0x12,0x0,0x2,0x37,0x1,0x3,null,0x4d,null,0x4,null,0xa0,null,0x46,0x7,0xa0,null,0x46,0x3,0x0,0x15,0xc,null,0xa,null,0x47,0x7,0x3,null,0x4,null,0xa0,null,0x46,0x9,0xa0,null,0x46,0x5,0x0,0x10,0xc,null,0xa,null,0x47,0x9,0x3,null,0x4,null,0xa0,null,0x46,0x3,0x0,0x14,0xc,null,0x47,0x3,0x3,null,0x4,null,0xa0,null,0x46,0x5,0x0,0x16,0xc,null,0x47,0x5,0x3,null,0x6,0x5,0x4,null,0x46,0x12,0x0,0x2,0x37,0x1,0x3,null,0x32,null,0x4d,null,0x4,null,0xa0,null,0x46,0x7,0x47,0x7,0x3,null,0x4,null,0xa0,null,0x46,0x9,0xa0,null,0x46,0x5,0x0,0x17,0xc,null,0xa,null,0x47,0x9,0x3,null,0x4,null,0xa0,null,0x46,0x3,0x0,0x13,0xc,null,0x47,0x3,0x3,null,0x4,null,0xa0,null,0x46,0x5,0x0,0x14,0xc,null,0x47,0x5,0x3,null,0x6,0x5,0x4,null,0x46,0x12,0x0,0x2,0x37,0x1,0x3,null,0x4d,null,0x4,null,0xa0,null,0x46,0x7,0xa0,null,0x46,0x3,0x0,0x13,0xc,null,0xa,null,0x47,0x7,0x3,null,0x4,null,0xa0,null,0x46,0x9,0xa0,null,0x46,0x5,0x0,0x16,0xc,null,0xa,null,0x47,0x9,0x3,null,0x4,null,0xa0,null,0x46,0x3,0x0,0x18,0xc,null,0x47,0x3,0x3,null,0x4,null,0xa0,null,0x46,0x5,0x0,0x4,0xc,null,0x47,0x5,0x3,null,0x6,0x5,0x4,null,0x46,0x12,0x0,0x2,0x37,0x1,0x3,null,0x4d,null,0x4,null,0xa0,null,0x46,0x7,0xa0,null,0x46,0x3,0x0,0x15,0xc,null,0xa,null,0x47,0x7,0x3,null,0x4,null,0xa0,null,0x46,0x9,0xa0,null,0x46,0x5,0x0,0xf,0xc,null,0xa,null,0x47,0x9,0x3,null,0x4,null,0xa0,null,0x46,0x3,0x0,0x14,0xc,null,0x47,0x3,0x3,null,0x4,null,0xa0,null,0x46,0x5,0x0,0x11,0xc,null,0x47,0x5,0x3,null,0x6,0x5,0x4,null,0x46,0x12,0x0,0x2,0x37,0x1,0x3,null,0x4d,null,0x4,null,0xa0,null,0x46,0x7,0x47,0x7,0x3,null,0x4,null,0xa0,null,0x46,0x9,0x47,0x9,0x3,null,0x4,null,0xa0,null,0x46,0x3,0x47,0x3,0x3,null,0x4,null,0xa0,null,0x46,0x5,0x47,0x5,0x3,null,0x4,null,0x6,0x5,0x47,0x19,0x3,null,0x38,null],'c':["game","surgePhase",0x1,"width",0.6,"height",0.5,"x",0x2,"y","image","alien_1.png","src","includes","alien_2.png",0.1,0.4,0.8,"push",0.25,0.3,0.7,0.2,0.35,0.45,"shapes"],'p':0x0,'l':0x6,'j':{0x4:0x35,0x38:0x4d,0x43:0x4d,0x51:0xc9,0xc8:0x13f}},{'i':[0x4b,0x0,0x4,null,0x46,0x1,0x0,0x2,0x37,0x0,0x3,null,0xa0,null,0x46,0x3,0x20,null,0x34,null,0x0,0x2,0x4b,0x4,0x46,0x5,0x0,0x6,0xb,null,0x4b,0x7,0x4,null,0x46,0x8,0x0,0x9,0x37,0x2,0x7,0x0,0x0,0xa,0x0,0x2,0x0,0x6,0x6,0x0,0x0,0xb,0xc,null,0xb,null,0x4b,0x7,0x4,null,0x46,0x8,0x0,0x9,0x37,0x2,0xc,null,0x7,0x1,0x6,0x1,0x0,0xc,0x2e,null,0x34,null,0xa0,null,0x46,0xd,0x0,0xe,0xa,null,0x7,0x2,0x6,0x2,0xa0,null,0x46,0xd,0x0,0xf,0xa,null,0x4b,0x7,0x4,null,0x46,0x8,0x0,0x9,0x37,0x2,0x4,null,0x7,0x2,0x3,null,0xa0,null,0x46,0x10,0xa0,null,0x46,0x11,0x0,0x9,0xd,null,0xa,null,0x7,0x3,0x4b,0x0,0x0,0x12,0x47,0x13,0x3,null,0x4b,0x0,0x6,0x1,0x47,0x14,0x3,null,0x6,0x2,0x6,0x3,0x0,0x9,0x6,0x2,0x6,0x3,0x0,0x15,0x4b,0x0,0x4,null,0x46,0x16,0x0,0x17,0x37,0x6,0x7,0x4,0x0,0x2,0xa0,null,0x46,0x18,0x6,0x4,0x4,null,0x46,0x19,0x0,0x9,0x37,0x2,0x3,null,0x0,0x6,0x0,0x1a,0x6,0x4,0x4,null,0x46,0x19,0x0,0x9,0x37,0x2,0x3,null,0x4b,0x0,0x6,0x4,0x47,0x1b,0x3,null,0xa0,null,0x46,0xd,0x0,0x1c,0xb,null,0xa0,null,0x46,0x10,0x0,0x1d,0xa0,null,0x46,0x11,0x4b,0x0,0x4,null,0x46,0x1e,0x0,0x1f,0x37,0x4,0x3,null,0x4b,0x0,0x0,0x20,0x47,0x13,0x3,null,0x4b,0x0,0x0,0x6,0x47,0x14,0x3,null,0xa0,null,0x46,0x21,0xa0,null,0x46,0xd,0xa0,null,0x46,0x10,0xa0,null,0x46,0x22,0xa0,null,0x46,0x11,0x4b,0x0,0x4,null,0x46,0x23,0x0,0xf,0x37,0x5,0x3,null,0x4b,0x0,0x4,null,0x46,0x24,0x0,0x2,0x37,0x0,0x3,null,0x1,null,0x38,null],'c':["ctx","save",0x0,"isMiniBoss","game","surge",0x1,"Math","max",0x2,0.8,0.5,0.05,"x",0xf,0x5,"y","height","screen","globalCompositeOperation","globalAlpha",0x19,"createRadialGradient",0x6,"glowColor","addColorStop","rgba(0,0,0,0)","fillStyle",0x14,0x3c,"fillRect",0x4,"source-over","image","width","drawImage","restore"],'p':0x0,'l':0x5,'j':{0x9:0x81,0x26:0x81}},{'i':[0xa0,null,0x46,0x0,0x4,null,0x0,0x1,0xa,null,0xa0,null,0x5,null,0x47,0x0,0x3,null,0x3,null,0xa0,null,0x46,0x2,0x7,0x0,0x6,0x0,0x0,0x3,0x2a,null,0x33,null,0x6,0x0,0x0,0x4,0x2a,null,0x33,null,0x6,0x0,0x0,0x5,0x2a,null,0x33,null,0x6,0x0,0x0,0x6,0x2a,null,0x33,null,0x6,0x0,0x0,0x7,0x2a,null,0x33,null,0x6,0x0,0x0,0x8,0x2a,null,0x33,null,0x6,0x0,0x0,0x9,0x2a,null,0x33,null,0x32,null,0xa0,null,0x46,0x0,0x0,0xa,0xd,null,0x0,0x1,0x4b,0xb,0x4,null,0x46,0xc,0x0,0xd,0x37,0x2,0x7,0x1,0x6,0x1,0x4b,0xe,0x0,0x1,0x36,0x1,0x7,0x2,0xa0,null,0x4,null,0x46,0xf,0xa0,null,0x46,0x10,0x0,0x11,0x6,0x2,0x0,0x11,0xc,null,0xa,null,0xc,null,0xb,null,0x47,0xf,0x3,null,0x3f,null,0xa0,null,0x4,null,0x46,0xf,0xa0,null,0x46,0x10,0xb,null,0x47,0xf,0x3,null,0xa0,null,0x4,null,0x46,0x12,0x0,0x13,0xa,null,0x47,0x12,0x3,null,0xa0,null,0x46,0x12,0x4b,0xb,0x4,null,0x46,0x14,0x0,0x1,0x37,0x1,0x4b,0xb,0x4,null,0x46,0x15,0x0,0x1,0x37,0x1,0x4b,0x16,0x0,0x1,0x36,0x1,0x7,0x3,0xa0,null,0xa0,null,0x46,0x17,0xa0,null,0x46,0x12,0x4b,0xb,0x4,null,0x46,0x14,0x0,0x1,0x37,0x1,0x0,0x18,0xc,null,0x6,0x3,0xc,null,0xa,null,0x47,0x19,0x3,null,0x3f,null,0xa0,null,0x46,0x1a,0x0,0x1b,0x2a,null,0x34,null,0xa0,null,0x46,0x0,0x0,0x1c,0xd,null,0x0,0x1,0x4b,0xb,0x4,null,0x46,0xc,0x0,0xd,0x37,0x2,0x7,0x4,0xa0,null,0x4,null,0x46,0xf,0xa0,null,0x46,0x10,0x0,0x11,0xc,null,0x6,0x4,0x4b,0x1d,0x0,0x1,0x36,0x1,0xc,null,0xb,null,0x47,0xf,0x3,null,0xa0,null,0x46,0xf,0x4b,0x1e,0x0,0x1f,0xc,null,0x2c,null,0x34,null,0xa0,null,0x0,0x5,0x47,0x1a,0x3,null,0xa0,null,0xa0,null,0x46,0x19,0x47,0x20,0x3,null,0x4b,0xb,0x4,null,0x46,0x21,0x0,0x22,0x37,0x0,0x0,0x11,0x2e,null,0x34,null,0x0,0x1,0x32,null,0x0,0x1,0xf,null,0x0,0x18,0x4b,0xb,0x4,null,0x46,0x21,0x0,0x22,0x37,0x0,0x0,0x18,0xc,null,0xa,null,0xc,null,0x7,0x5,0xa0,null,0x0,0xa,0x4b,0x23,0x0,0x24,0xb,null,0x4b,0x25,0x46,0x19,0x6,0x5,0xa,null,0x4b,0xb,0x4,null,0x46,0xc,0x0,0xd,0x37,0x2,0x4b,0xb,0x4,null,0x46,0x26,0x0,0xd,0x37,0x2,0x47,0x27,0x3,null,0xa0,null,0x0,0x22,0x47,0x28,0x3,null,0x32,null,0xa0,null,0x46,0x1a,0x0,0x5,0x2a,null,0x34,null,0xa0,null,0x4,null,0x46,0x28,0x0,0x29,0xa,null,0x47,0x28,0x3,null,0xa0,null,0x46,0x28,0x0,0x1,0x4b,0xb,0x4,null,0x46,0xc,0x0,0xd,0x37,0x2,0x4b,0x2a,0x0,0x1,0x36,0x1,0x7,0x6,0xa0,null,0xa0,null,0x46,0x20,0xa0,null,0x46,0x27,0xa0,null,0x46,0x20,0xb,null,0x6,0x6,0xc,null,0xa,null,0x47,0x19,0x3,null,0xa0,null,0x4,null,0x46,0xf,0xa0,null,0x46,0x10,0x0,0x2b,0xc,null,0xb,null,0x47,0xf,0x3,null,0xa0,null,0x46,0x28,0x0,0x1,0x2f,null,0x34,null,0xa0,null,0x0,0x2c,0x47,0x1a,0x3,null,0xa0,null,0x0,0x22,0x47,0x0,0x3,null,0x32,null,0xa0,null,0x46,0x0,0x0,0xa,0xd,null,0x0,0x1,0x4b,0xb,0x4,null,0x46,0xc,0x0,0xd,0x37,0x2,0x7,0x7,0xa0,null,0x4,null,0x46,0xf,0xa0,null,0x46,0x10,0x0,0x1,0x6,0x7,0x4b,0xe,0x0,0x1,0x36,0x1,0x0,0x11,0xc,null,0xa,null,0xc,null,0xb,null,0x47,0xf,0x3,null,0x3f,null,0xa0,null,0x4,null,0x46,0xf,0xa0,null,0x46,0x10,0x0,0x2d,0xc,null,0xb,null,0x47,0xf,0x3,null,0xa0,null,0x4,null,0x46,0x2e,0x0,0x2f,0xa,null,0x47,0x2e,0x3,null,0xa0,null,0x46,0x2e,0x4b,0xb,0x4,null,0x46,0x14,0x0,0x1,0x37,0x1,0x0,0x1,0xa,null,0x0,0xd,0xd,null,0x7,0x8,0x6,0x8,0x4b,0x16,0x0,0x1,0x36,0x1,0x7,0x9,0xa0,null,0xa0,null,0x46,0x17,0x6,0x9,0x0,0xd,0xc,null,0x0,0x1,0xb,null,0xa0,null,0x46,0x30,0xc,null,0xa0,null,0x46,0x31,0xc,null,0xa,null,0x47,0x19,0x3,null,0x3f,null,0xa0,null,0x46,0x32,0x20,null,0x34,null,0xa0,null,0x46,0x33,0xa0,null,0x46,0x34,0xb,null,0x7,0xa,0xa0,null,0x46,0xf,0xa0,null,0x46,0x34,0xb,null,0x7,0xb,0x0,0x1,0x6,0xb,0x6,0xa,0xd,null,0xb,null,0x7,0xc,0xa0,null,0x46,0x10,0x0,0x1,0x6,0xc,0x0,0x35,0xc,null,0x0,0x1,0x4b,0xb,0x4,null,0x46,0xc,0x0,0xd,0x37,0x2,0x4b,0xe,0x0,0x1,0x36,0x1,0x0,0x36,0xc,null,0xb,null,0xc,null,0x7,0xd,0xa0,null,0x4,null,0x46,0xf,0x6,0xd,0x0,0x11,0x4b,0xb,0x4,null,0x46,0x26,0x0,0xd,0x37,0x2,0xb,null,0x47,0xf,0x3,null,0xa0,null,0x46,0xf,0xa0,null,0x46,0x34,0x2d,null,0x34,null,0xa0,null,0x0,0x37,0x47,0x32,0x3,null,0xa0,null,0x0,0x22,0x47,0x38,0x3,null,0xa0,null,0xa0,null,0x46,0x19,0x47,0x17,0x3,null,0x32,null,0xa0,null,0x46,0x38,0x4,null,0x0,0x1,0xa,null,0xa0,null,0x5,null,0x47,0x38,0x3,null,0x3,null,0xa0,null,0x46,0x38,0x0,0x39,0xc,null,0x7,0xe,0x6,0xe,0x4b,0xb,0x4,null,0x46,0x14,0x0,0x1,0x37,0x1,0x0,0x1,0xa,null,0x0,0xd,0xd,null,0x4b,0x16,0x0,0x1,0x36,0x1,0x7,0xf,0xa0,null,0xa0,null,0x46,0x17,0x6,0xf,0x0,0xd,0xc,null,0x0,0x1,0xb,null,0x0,0x3a,0xc,null,0xa,null,0x47,0x19,0x3,null,0xa0,null,0x46,0x38,0x0,0x3b,0x2e,null,0x34,null,0xa0,null,0x46,0x38,0x0,0x3b,0xb,null,0x0,0x3c,0xd,null,0x7,0x10,0xa0,null,0x4,null,0x46,0xf,0xa0,null,0x46,0x10,0x0,0x3d,0xc,null,0x6,0x10,0x0,0x1,0x4b,0xb,0x4,null,0x46,0xc,0x0,0xd,0x37,0x2,0x4b,0x1d,0x0,0x1,0x36,0x1,0xc,null,0xb,null,0x47,0xf,0x3,null,0x3f,null,0xa0,null,0x4,null,0x46,0xf,0xa0,null,0x46,0x10,0x0,0x3e,0xc,null,0xb,null,0x47,0xf,0x3,null,0xa0,null,0x4,null,0x46,0x3f,0x0,0x13,0xa,null,0x47,0x3f,0x3,null,0xa0,null,0x46,0x3f,0x4b,0xb,0x4,null,0x46,0x14,0x0,0x1,0x37,0x1,0x0,0x1,0xa,null,0x0,0xd,0xd,null,0x4b,0x16,0x0,0x1,0x36,0x1,0x7,0x11,0xa0,null,0xa0,null,0x46,0x17,0x6,0x11,0x0,0xd,0xc,null,0x0,0x1,0xb,null,0x0,0x40,0xc,null,0xa,null,0x47,0x19,0x3,null,0x3f,null,0xa0,null,0x4,null,0x46,0xf,0xa0,null,0x46,0x10,0x0,0x2b,0xc,null,0xb,null,0x47,0xf,0x3,null,0xa0,null,0x4,null,0x46,0x12,0x0,0x29,0xa,null,0x47,0x12,0x3,null,0xa0,null,0x46,0x12,0x4b,0xb,0x4,null,0x46,0x14,0x0,0x1,0x37,0x1,0x0,0x1,0xa,null,0x0,0xd,0xd,null,0x7,0x12,0x6,0x12,0x4b,0x2a,0x0,0x1,0x36,0x1,0x7,0x13,0xa0,null,0xa0,null,0x46,0x17,0x6,0x13,0x0,0xd,0xc,null,0x0,0x1,0xb,null,0xa0,null,0x46,0x41,0xc,null,0xa,null,0x47,0x19,0x3,null,0x3f,null,0xa0,null,0x4,null,0x46,0xf,0xa0,null,0x46,0x10,0xb,null,0x47,0xf,0x3,null,0xa0,null,0x46,0x19,0x0,0x42,0x2c,null,0x34,null,0xa0,null,0x0,0x42,0x0,0x42,0xa0,null,0x46,0x19,0xb,null,0x0,0x43,0xc,null,0xa,null,0x47,0x19,0x3,null,0xa0,null,0x46,0x19,0x4b,0x23,0xa0,null,0x46,0x44,0xb,null,0x0,0x42,0xb,null,0x2e,null,0x34,null,0xa0,null,0x46,0x19,0x4b,0x23,0xa0,null,0x46,0x44,0xb,null,0x0,0x42,0xb,null,0xb,null,0x7,0x14,0xa0,null,0x4b,0x23,0xa0,null,0x46,0x44,0xb,null,0x0,0x42,0xb,null,0x6,0x14,0x0,0x43,0xc,null,0xb,null,0x47,0x19,0x3,null,0xa0,null,0x0,0x45,0xa0,null,0x46,0x19,0x4b,0x23,0xa0,null,0x46,0x44,0xb,null,0x0,0x45,0xb,null,0x4b,0xb,0x4,null,0x46,0xc,0x0,0xd,0x37,0x2,0x4b,0xb,0x4,null,0x46,0x26,0x0,0xd,0x37,0x2,0x47,0x19,0x3,null,0x1,null,0x38,null],'c':["time",0x1,"pattern","straight","sine","dive","swoop","hover","zigzag","wave",0x3c,"Math","min",0x2,"easeOutQuad","x","speed",0.5,"angle",0.04,"sin","abs","easeInOutSine","baseY",0x32,"y","diveState","approach",0x5a,"easeInQuad","canvasWidth",0.65,"diveStartY","random",0x0,"canvasHeight",0x96,"player1","max","diveTargetY","diveProgress",0.015,"easeInOutCubic",0.8,"exit",0.9,"swoopPhase",0.02,"swoopAmplitude","swoopDirection","hoverReached","baseX","hoverX",1.5,0.7,!![],"hoverTime",0.03,0xf,0xe1,0x78,0.3,0.85,"zigzagPhase",0x28,"waveAmplitude",0x1e,0.1,"height",0x14],'p':0x0,'l':0x15,'j':{0x10:0x2a,0x14:0x49,0x18:0x7a,0x1c:0x134,0x20:0x168,0x24:0x1ff,0x28:0x22d,0x29:0x25e,0x48:0x266,0x79:0x266,0x7e:0xda,0x9f:0xd9,0xb0:0xb3,0xb2:0xb5,0xd9:0x133,0xde:0x117,0x10d:0x116,0x116:0x133,0x133:0x266,0x167:0x266,0x16b:0x1b3,0x1a4:0x1b2,0x1b2:0x1fe,0x1e1:0x1fe,0x1fe:0x266,0x22c:0x266,0x25d:0x266,0x26a:0x276,0x27f:0x297}},{'i':[0x4b,0x0,0x46,0x1,0x8,0x0,0x8,0x1,0x0,0x2,0x8,0x2,0x0,0x3,0x0,0x4,0x69,0x0,0x3,null,0xa0,null,0x0,0x5,0x47,0x6,0x3,null,0xa0,null,0x0,0x7,0x47,0x8,0x3,null,0xa0,null,0x0,0x9,0x47,0xa,0x3,null,0xa0,null,0x0,0xb,0x47,0xc,0x3,null,0xa0,null,0x0,0xd,0x47,0xe,0x3,null,0xa0,null,0x8,0x0,0x47,0xf,0x3,null,0xa0,null,0x4b,0x10,0x0,0x11,0xc,null,0x47,0x12,0x3,null,0xa0,null,0x0,0x13,0x47,0x14,0x3,null,0xa0,null,0x0,0x13,0x47,0x15,0x3,null,0xa0,null,0x0,0x16,0x47,0x17,0x3,null,0xa0,null,0x8,0x1,0x47,0x18,0x3,null,0xa0,null,0x0,0x19,0x47,0x1a,0x3,null,0xa0,null,0x0,0x1b,0x47,0x1c,0x3,null,0x1,null,0x38,null],'c':["_$atQs6f","_$SWn6Mt",0x2,"figure8",0x5,!![],"isMiniBoss",0x104,"width",0xa2,"height",0xf3c,"health","entering","aiState","enterStartX","canvasWidth",0.55,"stopX",0x0,"enterProgress","figure8Time",0.012,"figure8Speed","baseY",0x46,"amplitude",0x32,"horizontalAmplitude"],'p':0x3,'l':0x0},{'i':[0xa0,null,0x0,0x0,0x47,0x1,0x3,null,0xa0,null,0x0,0x2,0x47,0x3,0x3,null,0xa0,null,0x0,0x4,0x47,0x5,0x3,null,0xa0,null,0x0,0x6,0x47,0x7,0x3,null,0xa0,null,0x0,0x8,0x47,0x9,0x3,null,0xa0,null,0x8,0x0,0x47,0xa,0x3,null,0xa0,null,0x4b,0xb,0x0,0xc,0xc,null,0x47,0xd,0x3,null,0xa0,null,0x0,0xe,0x47,0xf,0x3,null,0xa0,null,0x0,0xe,0x47,0x10,0x3,null,0xa0,null,0x0,0x11,0x47,0x12,0x3,null,0xa0,null,0x8,0x1,0x47,0x13,0x3,null,0xa0,null,0x0,0x14,0x47,0x15,0x3,null,0xa0,null,0x0,0x16,0x47,0x17,0x3,null,0x1,null,0x38,null],'c':[!![],"isMiniBoss",0x104,"width",0xa2,"height",0xf3c,"health","entering","aiState","enterStartX","canvasWidth",0.55,"stopX",0x0,"enterProgress","figure8Time",0.012,"figure8Speed","baseY",0x46,"amplitude",0x32,"horizontalAmplitude"],'p':0x3,'l':0x0},{'i':[0xa0,null,0x46,0x0,0x0,0x1,0x2a,null,0x34,null,0xa0,null,0x4,null,0x46,0x2,0x0,0x3,0xa,null,0x47,0x2,0x3,null,0xa0,null,0x46,0x2,0x0,0x4,0x4b,0x5,0x4,null,0x46,0x6,0x0,0x7,0x37,0x2,0x4b,0x8,0x0,0x4,0x36,0x1,0x7,0x0,0xa0,null,0xa0,null,0x46,0x9,0xa0,null,0x46,0x9,0xa0,null,0x46,0xa,0xb,null,0x6,0x0,0xc,null,0xb,null,0x47,0xb,0x3,null,0xa0,null,0x46,0x2,0x0,0x4,0x2f,null,0x34,null,0xa0,null,0x0,0xc,0x47,0x0,0x3,null,0xa0,null,0xa0,null,0x46,0xd,0x47,0xe,0x3,null,0xa0,null,0x0,0xf,0x47,0x10,0x3,null,0x32,null,0xa0,null,0x46,0x0,0x0,0xc,0x2a,null,0x34,null,0xa0,null,0x4,null,0x46,0x10,0xa0,null,0x46,0x11,0xa,null,0x47,0x10,0x3,null,0xa0,null,0x46,0x10,0x4b,0x5,0x4,null,0x46,0x12,0x0,0x4,0x37,0x1,0x0,0x4,0xa,null,0x0,0x7,0xd,null,0x7,0x1,0x6,0x1,0x4b,0x13,0x0,0x4,0x36,0x1,0x7,0x2,0xa0,null,0xa0,null,0x46,0xa,0x6,0x2,0x0,0x7,0xc,null,0x0,0x4,0xb,null,0xa0,null,0x46,0x14,0xc,null,0xa,null,0x47,0xb,0x3,null,0xa0,null,0x46,0x10,0x0,0x7,0xc,null,0x4b,0x5,0x4,null,0x46,0x12,0x0,0x4,0x37,0x1,0x0,0x4,0xa,null,0x0,0x7,0xd,null,0x7,0x3,0x6,0x3,0x4b,0x15,0x0,0x4,0x36,0x1,0x7,0x4,0xa0,null,0xa0,null,0x46,0xe,0x6,0x4,0x0,0x7,0xc,null,0x0,0x4,0xb,null,0xa0,null,0x46,0x16,0xc,null,0xa,null,0x47,0xd,0x3,null,0xa0,null,0x46,0xd,0x0,0x17,0x2c,null,0x34,null,0xa0,null,0x0,0x17,0x47,0xd,0x3,null,0xa0,null,0x46,0xd,0x4b,0x18,0xa0,null,0x46,0x19,0xb,null,0x0,0x17,0xb,null,0x2e,null,0x34,null,0xa0,null,0x4b,0x18,0xa0,null,0x46,0x19,0xb,null,0x0,0x17,0xb,null,0x47,0xd,0x3,null,0x1,null,0x38,null],'c':["aiState","entering","enterProgress",0.008,0x1,"Math","min",0x2,"easeOutCubic","enterStartX","stopX","x","intercepting","y","baseY",0x0,"figure8Time","figure8Speed","sin","easeInOutSine","horizontalAmplitude","easeInOutCubic","amplitude",0x3c,"canvasHeight","height"],'p':0x0,'l':0x5,'j':{0x4:0x38,0x29:0x37,0x37:0xa1,0x3c:0xa1,0x89:0x8e,0x97:0xa1}},{'i':[0x4b,0x0,0x4,null,0x46,0x1,0x0,0x2,0x37,0x0,0x3,null,0xa0,null,0x46,0x3,0xa0,null,0x46,0x4,0xa0,null,0x46,0x5,0xa0,null,0x46,0x6,0xa0,null,0x46,0x7,0x4b,0x0,0x4,null,0x46,0x8,0x0,0x9,0x37,0x5,0x3,null,0x4b,0x0,0x4,null,0x46,0xa,0x0,0x2,0x37,0x0,0x3,null,0x1,null,0x38,null],'c':["ctx","save",0x0,"image","x","y","width","height","drawImage",0x5,"restore"],'p':0x0,'l':0x0},{'i':[0x8,0x0,0x4,null,0x1,null,0x2a,null,0x34,null,0x3,null,0x0,0x0,0x9,0x0,0x32,null,0x3,null,0x0,0x1,0x8,0x0,0xc,null,0x7,0x1,0xa0,null,0x46,0x2,0x4,null,0x34,null,0x3,null,0xa0,null,0x46,0x3,0x6,0x1,0x2e,null,0x4,null,0x34,null,0x3,null,0xa0,null,0x46,0x4,0xa0,null,0x46,0x5,0xb,null,0x0,0x6,0x2e,null,0x34,null,0x1,null,0x38,null,0xa0,null,0x0,0x7,0x47,0x2,0x3,null,0xa0,null,0x0,0x8,0x8,0x0,0xc,null,0x47,0x4,0x3,null,0xa0,null,0x0,0x9,0x47,0x5,0x3,null,0xa0,null,0x6,0x1,0x47,0x3,0x3,null,0xa0,null,0x0,0xa,0x47,0xb,0x3,null,0x1,null,0x38,null],'c':[0x1,0xa,"active","amplitude","duration","elapsed",0x64,!![],0x96,0x0,0x3,"frequency"],'p':0x1,'l':0x1,'j':{0x4:0x9,0x8:0xa,0x11:0x17,0x18:0x21,0x21:0x24}},{'i':[0xa0,null,0x0,0x0,0x47,0x1,0x3,null,0xa0,null,0x0,0x2,0x47,0x3,0x3,null,0xa0,null,0x0,0x4,0x47,0x5,0x3,null,0xa0,null,0x0,0x6,0x47,0x7,0x3,null,0xa0,null,0x0,0x8,0x47,0x9,0x3,null,0x1,null,0x38,null],'c':[!![],"active",0x898,"duration",0x0,"elapsed",0x50,"amplitude",0x3c,"frequency"],'p':0x0,'l':0x0},{'i':[0xa0,null,0x46,0x0,0x20,null,0x34,null,0xa0,null,0x0,0x1,0x47,0x2,0x3,null,0xa0,null,0x0,0x1,0x47,0x3,0x3,null,0x1,null,0x38,null,0xa0,null,0x4,null,0x46,0x4,0x8,0x0,0xa,null,0x47,0x4,0x3,null,0xa0,null,0x46,0x4,0xa0,null,0x46,0x5,0x2f,null,0x34,null,0xa0,null,0x0,0x6,0x47,0x0,0x3,null,0xa0,null,0x0,0x1,0x47,0x2,0x3,null,0xa0,null,0x0,0x1,0x47,0x3,0x3,null,0x1,null,0x38,null,0xa0,null,0x46,0x4,0xa0,null,0x46,0x5,0xd,null,0x7,0x1,0x0,0x7,0x6,0x1,0xb,null,0x0,0x8,0x4b,0x9,0x4,null,0x46,0xa,0x0,0x8,0x37,0x2,0x7,0x2,0xa0,null,0x46,0xb,0x6,0x2,0xc,null,0x7,0x3,0xa0,null,0x46,0x4,0x0,0xc,0xc,null,0xa0,null,0x46,0xd,0xc,null,0x4b,0x9,0x4,null,0x46,0xe,0x0,0x7,0x37,0x1,0x7,0x4,0xa0,null,0x6,0x4,0x6,0x3,0xc,null,0x4b,0x9,0x4,null,0x46,0xf,0x0,0x1,0x37,0x0,0x0,0x10,0xc,null,0x0,0x11,0xa,null,0xc,null,0x47,0x2,0x3,null,0xa0,null,0xa0,null,0x46,0x4,0x0,0x12,0xc,null,0xa0,null,0x46,0xd,0xc,null,0x4b,0x9,0x4,null,0x46,0x13,0x0,0x7,0x37,0x1,0x6,0x3,0xc,null,0x4b,0x9,0x4,null,0x46,0xf,0x0,0x1,0x37,0x0,0x0,0x10,0xc,null,0x0,0x11,0xa,null,0xc,null,0x47,0x3,0x3,null,0x1,null,0x38,null],'c':["active",0x0,"offsetX","offsetY","elapsed","duration",![],0x1,0x2,"Math","pow","amplitude",0.01,"frequency","sin","random",0.4,0.8,0.012,"cos"],'p':0x1,'l':0x4,'j':{0x3:0xe,0x1a:0x29}},{'i':[0xa0,null,0x0,0x0,0x47,0x1,0x3,null,0xa0,null,0x4b,0x2,0x4,null,0x46,0x3,0x0,0x4,0x37,0x0,0x47,0x5,0x3,null,0xa0,null,0x0,0x6,0x47,0x7,0x3,null,0xa0,null,0xa0,null,0x46,0x7,0x0,0x8,0xb,null,0x47,0x9,0x3,null,0xa0,null,0x0,0xa,0x47,0xb,0x3,null,0xa0,null,0x0,0xc,0x47,0xd,0x3,null,0xa0,null,0x0,0x4,0x47,0xe,0x3,null,0x0,0xf,0x4b,0x10,0x4,null,0x46,0x11,0x0,0x12,0x37,0x1,0x3,null,0x1,null,0x38,null],'c':[!![],"active","Date","now",0x0,"startTime",0x4844,"duration",0xfa0,"fadeOutStart",0xf,"amplitude",0x32,"frequency","directionChangeTimer","SURGE SHAKE: ACTIVATED","console","log",0x1],'p':0x0,'l':0x0},{'i':[0xa0,null,0x0,0x0,0x47,0x1,0x3,null,0xa0,null,0x0,0x2,0x47,0x3,0x3,null,0xa0,null,0x0,0x2,0x47,0x4,0x3,null,0xa0,null,0x0,0x2,0x47,0x5,0x3,null,0xa0,null,0x0,0x2,0x47,0x6,0x3,null,0x0,0x7,0x4b,0x8,0x4,null,0x46,0x9,0x0,0xa,0x37,0x1,0x3,null,0x1,null,0x38,null],'c':[![],"active",0x0,"offsetX","offsetY","offsetRotation","blurIntensity","SURGE SHAKE: DEACTIVATED","console","log",0x1],'p':0x0,'l':0x0},{'i':[0xa0,null,0x46,0x0,0x20,null,0x34,null,0xa0,null,0x0,0x1,0x47,0x2,0x3,null,0xa0,null,0x0,0x1,0x47,0x3,0x3,null,0xa0,null,0x0,0x1,0x47,0x4,0x3,null,0xa0,null,0x0,0x1,0x47,0x5,0x3,null,0x1,null,0x38,null,0x4b,0x6,0x4,null,0x46,0x7,0x0,0x1,0x37,0x0,0xa0,null,0x46,0x8,0xb,null,0x7,0x0,0x6,0x0,0xa0,null,0x46,0x9,0x2f,null,0x34,null,0xa0,null,0x4,null,0x46,0xa,0x0,0x1,0x37,0x0,0x3,null,0x1,null,0x38,null,0x0,0xb,0x7,0x1,0x6,0x0,0xa0,null,0x46,0xc,0x2f,null,0x34,null,0x6,0x0,0xa0,null,0x46,0xc,0xb,null,0x0,0xd,0xd,null,0x7,0x2,0x0,0xb,0x6,0x2,0xb,null,0x4,null,0x7,0x1,0x3,null,0xa0,null,0x46,0xe,0x4,null,0x0,0xb,0xa,null,0xa0,null,0x5,null,0x47,0xe,0x3,null,0x3,null,0xa0,null,0x46,0xe,0xa0,null,0x46,0xf,0x2f,null,0x34,null,0xa0,null,0x0,0x1,0x47,0xe,0x3,null,0xa0,null,0x4b,0x10,0x4,null,0x46,0x11,0x0,0x1,0x37,0x0,0x0,0x12,0xb,null,0x0,0x13,0xc,null,0x47,0x14,0x3,null,0xa0,null,0x4b,0x10,0x4,null,0x46,0x11,0x0,0x1,0x37,0x0,0x0,0x12,0xb,null,0x0,0x13,0xc,null,0x47,0x15,0x3,null,0xa0,null,0x4b,0x10,0x4,null,0x46,0x11,0x0,0x1,0x37,0x0,0x0,0x12,0xb,null,0x0,0x13,0xc,null,0x47,0x16,0x3,null,0x6,0x0,0x0,0x17,0xc,null,0x7,0x3,0x6,0x3,0xa0,null,0x46,0x18,0xc,null,0x0,0xb,0x4b,0x10,0x4,null,0x46,0x11,0x0,0x1,0x37,0x0,0x0,0x19,0xc,null,0xa,null,0xc,null,0x4b,0x10,0x4,null,0x46,0x1a,0x0,0xb,0x37,0x1,0x7,0x4,0x6,0x3,0xa0,null,0x46,0x18,0xc,null,0x0,0xb,0x4b,0x10,0x4,null,0x46,0x11,0x0,0x1,0x37,0x0,0x0,0x19,0xc,null,0xa,null,0xc,null,0x4b,0x10,0x4,null,0x46,0x1b,0x0,0xb,0x37,0x1,0x7,0x5,0x6,0x3,0xa0,null,0x46,0x18,0xc,null,0x0,0x12,0xc,null,0x4b,0x10,0x4,null,0x46,0x1a,0x0,0xb,0x37,0x1,0x4b,0x10,0x4,null,0x46,0x11,0x0,0x1,0x37,0x0,0x0,0x1c,0xc,null,0x0,0x1d,0xa,null,0xc,null,0x7,0x6,0x0,0x1d,0x4b,0x10,0x4,null,0x46,0x11,0x0,0x1,0x37,0x0,0x0,0x1c,0xc,null,0xa,null,0x7,0x7,0xa0,null,0x46,0x1e,0x6,0x1,0xc,null,0x6,0x7,0xc,null,0x7,0x8,0xa0,null,0xa0,null,0x46,0x14,0x6,0x4,0xc,null,0x6,0x8,0xc,null,0x47,0x2,0x3,null,0xa0,null,0xa0,null,0x46,0x15,0x6,0x5,0xc,null,0x6,0x8,0xc,null,0x47,0x3,0x3,null,0xa0,null,0xa0,null,0x46,0x16,0x6,0x6,0xc,null,0x0,0x1f,0xc,null,0x6,0x1,0xc,null,0x47,0x4,0x3,null,0xa0,null,0x6,0x1,0x0,0x20,0xc,null,0x47,0x5,0x3,null,0x1,null,0x38,null],'c':["active",0x0,"offsetX","offsetY","offsetRotation","blurIntensity","Date","now","startTime","duration","stop",0x1,"fadeOutStart",0xfa0,"directionChangeTimer","directionChangeInterval","Math","random",0.5,0x2,"currentDirectionX","currentDirectionY","currentDirectionRot",0.001,"frequency",0.2,"sin","cos",0.4,0.8,"amplitude",0.015,0x8],'p':0x0,'l':0x9,'j':{0x3:0x16,0x23:0x2c,0x32:0x40,0x4f:0x78}},{'i':[0xa0,null,0x0,0x0,0x47,0x1,0x3,null,0xa0,null,0x0,0x2,0x47,0x3,0x3,null,0xa0,null,0x4b,0x4,0x4,null,0x46,0x5,0x0,0x2,0x37,0x0,0x47,0x6,0x3,null,0xa0,null,0x0,0x7,0x47,0x8,0x3,null,0xa0,null,0xa0,null,0x46,0x8,0x0,0x9,0xb,null,0x47,0xa,0x3,null,0x0,0xb,0x4b,0xc,0x4,null,0x46,0xd,0x0,0xe,0x37,0x1,0x3,null,0x1,null,0x38,null],'c':[!![],"active",0x0,"intensity","Date","now","startTime",0x4844,"duration",0xfa0,"fadeOutStart","SURGE FLASH: ACTIVATED","console","log",0x1],'p':0x0,'l':0x0},{'i':[0xa0,null,0x0,0x0,0x47,0x1,0x3,null,0xa0,null,0x0,0x2,0x47,0x3,0x3,null,0x0,0x4,0x4b,0x5,0x4,null,0x46,0x6,0x0,0x7,0x37,0x1,0x3,null,0x1,null,0x38,null],'c':[![],"active",0x0,"intensity","SURGE FLASH: DEACTIVATED","console","log",0x1],'p':0x0,'l':0x0},{'i':[0xa0,null,0x46,0x0,0x20,null,0x34,null,0xa0,null,0x0,0x1,0x47,0x2,0x3,null,0x1,null,0x38,null,0x4b,0x3,0x4,null,0x46,0x4,0x0,0x1,0x37,0x0,0x7,0x0,0x6,0x0,0x0,0x5,0xc,null,0x7,0x1,0x6,0x0,0xa0,null,0x46,0x6,0xb,null,0x7,0x2,0x6,0x2,0xa0,null,0x46,0x7,0x2f,null,0x34,null,0xa0,null,0x4,null,0x46,0x8,0x0,0x1,0x37,0x0,0x3,null,0x1,null,0x38,null,0x0,0x9,0x6,0x1,0xa0,null,0x46,0xa,0xc,null,0x4b,0xb,0x4,null,0x46,0xc,0x0,0xd,0x37,0x1,0x0,0xe,0xc,null,0xa,null,0x7,0x3,0x0,0xf,0x7,0x4,0x0,0xd,0x6,0x2,0x6,0x4,0xd,null,0x4b,0xb,0x4,null,0x46,0x10,0x0,0x11,0x37,0x2,0x7,0x5,0x6,0x5,0x6,0x5,0xc,null,0x6,0x5,0xc,null,0x4,null,0x7,0x5,0x3,null,0x0,0xd,0x7,0x6,0x6,0x2,0xa0,null,0x46,0x12,0x2f,null,0x34,null,0x0,0xd,0x6,0x2,0xa0,null,0x46,0x12,0xb,null,0x0,0x13,0xd,null,0xb,null,0x4,null,0x7,0x6,0x3,null,0x0,0x1,0x6,0x6,0x4b,0xb,0x4,null,0x46,0x14,0x0,0x11,0x37,0x2,0x4,null,0x7,0x6,0x3,null,0xa0,null,0x6,0x3,0x6,0x5,0xc,null,0x6,0x6,0xc,null,0x47,0x2,0x3,null,0x1,null,0x38,null],'c':["active",0x0,"intensity","Date","now",0.001,"startTime","duration","stop",0.15,"pulseSpeed","Math","sin",0x1,0.1,0x157c,"min",0x2,"fadeOutStart",0xfa0,"max"],'p':0x0,'l':0x7,'j':{0x3:0xa,0x1d:0x26,0x4e:0x64}},{'i':[0xa0,null,0x46,0x0,0x20,null,0x4,null,0x33,null,0x3,null,0xa0,null,0x46,0x1,0x0,0x2,0x2d,null,0x34,null,0x1,null,0x38,null,0x8,0x0,0x4,null,0x46,0x3,0x0,0x2,0x37,0x0,0x3,null,0x8,0x0,0x0,0x4,0x47,0x5,0x3,null,0x8,0x0,0xa0,null,0x46,0x1,0x0,0x6,0xc,null,0x47,0x7,0x3,null,0x8,0x0,0x0,0x8,0x47,0x9,0x3,null,0x0,0x2,0x0,0x2,0x4b,0xa,0x4b,0xb,0x8,0x0,0x4,null,0x46,0xc,0x0,0xd,0x37,0x4,0x3,null,0x8,0x0,0x0,0xe,0x47,0x5,0x3,null,0x8,0x0,0xa0,null,0x46,0x1,0x0,0xf,0xc,null,0x47,0x7,0x3,null,0x8,0x0,0x0,0x8,0x47,0x9,0x3,null,0x0,0x2,0x0,0x2,0x4b,0xa,0x4b,0xb,0x8,0x0,0x4,null,0x46,0xc,0x0,0xd,0x37,0x4,0x3,null,0x8,0x0,0x4,null,0x46,0x10,0x0,0x2,0x37,0x0,0x3,null,0x1,null,0x38,null],'c':["active","intensity",0x0,"save","screen","globalCompositeOperation",0.4,"globalAlpha","#ffffff","fillStyle","canvasWidth","worldHeight","fillRect",0x4,"overlay",0.5,"restore"],'p':0x1,'l':0x0,'j':{0x4:0xa,0xa:0xd}},{'i':[0xa0,null,0x0,0x0,0x47,0x1,0x3,null,0xa0,null,0x4b,0x2,0x4,null,0x46,0x3,0x0,0x4,0x37,0x0,0x47,0x5,0x3,null,0xa0,null,0x0,0x4,0x47,0x6,0x3,null,0xa0,null,0x0,0x4,0x47,0x7,0x3,null,0xa0,null,0x0,0x4,0x47,0x8,0x3,null,0x0,0x9,0x0,0xa,0x4b,0xb,0x0,0xc,0x36,0x2,0x3,null,0x0,0xd,0x0,0xa,0x4b,0xb,0x0,0xc,0x36,0x2,0x3,null,0x0,0xe,0x4b,0xf,0x4,null,0x46,0x10,0x0,0x11,0x37,0x1,0x3,null,0x1,null,0x38,null],'c':[!![],"active","Date","now",0x0,"startTime","intensity","rotation","starRotation","music/sfx/ClockAura.wav",0.7,"playSfxWithVolume",0x2,"music/sfx/SpiralPlayer.wav","WRATH CLOCK: DIVINE OVERDRIVE ACTIVATED","console","log",0x1],'p':0x0,'l':0x0},{'i':[0xa0,null,0x0,0x0,0x47,0x1,0x3,null,0xa0,null,0x0,0x2,0x47,0x3,0x3,null,0x1,null,0x38,null],'c':[![],"active",0x0,"intensity"],'p':0x0,'l':0x0},{'i':[0xa0,null,0x46,0x0,0x20,null,0x34,null,0x1,null,0x38,null,0x4b,0x1,0x4,null,0x46,0x2,0x0,0x3,0x37,0x0,0xa0,null,0x46,0x4,0xb,null,0x7,0x0,0x6,0x0,0xa0,null,0x46,0x5,0x2f,null,0x34,null,0xa0,null,0x4,null,0x46,0x6,0x0,0x3,0x37,0x0,0x3,null,0x1,null,0x38,null,0x0,0x7,0x6,0x0,0x0,0x8,0xd,null,0x4b,0x9,0x4,null,0x46,0xa,0x0,0xb,0x37,0x2,0x7,0x1,0x0,0x7,0x7,0x2,0x6,0x0,0xa0,null,0x46,0xc,0x2f,null,0x34,null,0x0,0x7,0x6,0x0,0xa0,null,0x46,0xc,0xb,null,0x0,0xd,0xd,null,0xb,null,0x4,null,0x7,0x2,0x3,null,0xa0,null,0x6,0x1,0x0,0x3,0x6,0x2,0x4b,0x9,0x4,null,0x46,0xe,0x0,0xb,0x37,0x2,0xc,null,0x47,0xf,0x3,null,0xa0,null,0x4,null,0x46,0x10,0x0,0x11,0x0,0x12,0xa0,null,0x46,0xf,0x0,0x12,0xc,null,0xa,null,0xc,null,0xa,null,0x47,0x10,0x3,null,0x1,null,0x38,null],'c':["active","Date","now",0x0,"startTime","duration","stop",0x1,0x4b0,"Math","min",0x2,"fadeOutStart",0xfa0,"max","intensity","rotation",0.012,0.5],'p':0x0,'l':0x3,'j':{0x3:0x6,0x13:0x1c,0x2c:0x38}},{'i':[0xa0,null,0x46,0x0,0x20,null,0x4,null,0x33,null,0x3,null,0xa0,null,0x46,0x1,0x0,0x2,0x2d,null,0x34,null,0x1,null,0x38,null,0x8,0x0,0x4,null,0x46,0x3,0x0,0x2,0x37,0x0,0x3,null,0x8,0x1,0x8,0x3,0x0,0x4,0xd,null,0xa,null,0x7,0x5,0x8,0x2,0x8,0x4,0x0,0x4,0xd,null,0xa,null,0x7,0x6,0x8,0x0,0x4,null,0x46,0x3,0x0,0x2,0x37,0x0,0x3,null,0x6,0x5,0x6,0x6,0x8,0x0,0x4,null,0x46,0x5,0x0,0x4,0x37,0x2,0x3,null,0x0,0x6,0x4b,0x7,0x4,null,0x46,0x8,0x0,0x2,0x37,0x0,0x0,0x9,0xc,null,0x4b,0xa,0x4,null,0x46,0xb,0x0,0x6,0x37,0x1,0x0,0xc,0xc,null,0xa0,null,0x46,0x1,0xc,null,0xa,null,0x7,0x7,0x6,0x7,0x6,0x7,0x8,0x0,0x4,null,0x46,0xd,0x0,0x4,0x37,0x2,0x3,null,0x0,0xe,0x7,0x8,0x8,0x0,0x0,0xf,0x47,0x10,0x3,null,0x8,0x0,0x4,null,0x46,0x3,0x0,0x2,0x37,0x0,0x3,null,0xa0,null,0x46,0x11,0x0,0x12,0xc,null,0x8,0x0,0x4,null,0x46,0x13,0x0,0x6,0x37,0x1,0x3,null,0x8,0x0,0x0,0x14,0xa0,null,0x46,0x1,0xc,null,0x47,0x15,0x3,null,0x8,0x0,0x0,0x16,0xa0,null,0x46,0x1,0xa,null,0x0,0x17,0xa,null,0x47,0x18,0x3,null,0x0,0x2,0x7,0x9,0x6,0x9,0x0,0x19,0x2c,null,0x34,null,0x4b,0xa,0x46,0x1a,0x0,0x4,0xd,null,0x8,0x0,0x4,null,0x46,0x13,0x0,0x6,0x37,0x1,0x3,null,0x0,0x2,0x0,0x2,0x0,0x2,0x6,0x8,0x0,0x1b,0xc,null,0x8,0x0,0x4,null,0x46,0x1c,0x0,0x19,0x37,0x4,0x7,0xa,0x0,0x2,0x0,0x1d,0xa0,null,0x46,0x1,0x0,0x1e,0xc,null,0xa,null,0x0,0x17,0xa,null,0x6,0xa,0x4,null,0x46,0x1f,0x0,0x4,0x37,0x2,0x3,null,0x0,0x20,0x0,0x21,0xa0,null,0x46,0x1,0x0,0x22,0xc,null,0xa,null,0x0,0x17,0xa,null,0x6,0xa,0x4,null,0x46,0x1f,0x0,0x4,0x37,0x2,0x3,null,0x0,0x6,0x0,0x23,0x6,0xa,0x4,null,0x46,0x1f,0x0,0x4,0x37,0x2,0x3,null,0x8,0x0,0x6,0xa,0x47,0x24,0x3,null,0x8,0x0,0x4,null,0x46,0x25,0x0,0x2,0x37,0x0,0x3,null,0x0,0x26,0xf,null,0x0,0x2,0x8,0x0,0x4,null,0x46,0x27,0x0,0x4,0x37,0x2,0x3,null,0x0,0x26,0x0,0x2,0x8,0x0,0x4,null,0x46,0x28,0x0,0x4,0x37,0x2,0x3,null,0x0,0x19,0x6,0x8,0x0,0x1b,0xc,null,0x8,0x0,0x4,null,0x46,0x28,0x0,0x4,0x37,0x2,0x3,null,0x0,0x19,0xf,null,0x6,0x8,0x0,0x1b,0xc,null,0x8,0x0,0x4,null,0x46,0x28,0x0,0x4,0x37,0x2,0x3,null,0x8,0x0,0x4,null,0x46,0x29,0x0,0x2,0x37,0x0,0x3,null,0x6,0x9,0x4,null,0x0,0x6,0xa,null,0x7,0x9,0x3,null,0x32,null,0x8,0x0,0x4,null,0x46,0x2a,0x0,0x2,0x37,0x0,0x3,null,0x8,0x0,0x4,null,0x46,0x3,0x0,0x2,0x37,0x0,0x3,null,0xa0,null,0x46,0x11,0xf,null,0x0,0x2b,0xc,null,0x8,0x0,0x4,null,0x46,0x13,0x0,0x6,0x37,0x1,0x3,null,0x8,0x0,0x0,0x2c,0xa0,null,0x46,0x1,0xc,null,0x47,0x15,0x3,null,0x8,0x0,0x0,0x2d,0x47,0x18,0x3,null,0x8,0x0,0x0,0x1d,0xa0,null,0x46,0x1,0x0,0x1e,0xc,null,0xa,null,0x0,0x17,0xa,null,0x47,0x2e,0x3,null,0x8,0x0,0x0,0x19,0x47,0x2f,0x3,null,0x0,0x30,0x7,0xb,0x6,0xb,0xf,null,0x6,0xb,0xf,null,0x6,0xb,0x0,0x4,0xc,null,0x6,0xb,0x0,0x4,0xc,null,0x8,0x0,0x4,null,0x46,0x31,0x0,0x19,0x37,0x4,0x3,null,0x8,0x0,0x4,null,0x46,0x2a,0x0,0x2,0x37,0x0,0x3,null,0x8,0x0,0x4,null,0x46,0x3,0x0,0x2,0x37,0x0,0x3,null,0xa0,null,0x46,0x11,0x8,0x0,0x4,null,0x46,0x13,0x0,0x6,0x37,0x1,0x3,null,0x8,0x0,0x4,null,0x46,0x25,0x0,0x2,0x37,0x0,0x3,null,0x0,0x2,0x0,0x2,0x6,0x8,0x0,0x2,0x4b,0xa,0x46,0x1a,0x0,0x4,0xc,null,0x8,0x0,0x4,null,0x46,0x32,0x0,0x1b,0x37,0x5,0x3,null,0x8,0x0,0x0,0x1d,0xa0,null,0x46,0x1,0x0,0x33,0xc,null,0xa,null,0x0,0x17,0xa,null,0x47,0x2e,0x3,null,0x8,0x0,0x0,0x4,0x47,0x2f,0x3,null,0x8,0x0,0x4,null,0x46,0x34,0x0,0x2,0x37,0x0,0x3,null,0x0,0x2,0x7,0xc,0x6,0xc,0x0,0x35,0x2c,null,0x34,null,0x8,0x0,0x4,null,0x46,0x3,0x0,0x2,0x37,0x0,0x3,null,0x6,0xc,0x4b,0xa,0x46,0x1a,0xc,null,0x0,0x4,0xc,null,0x0,0x35,0xd,null,0x8,0x0,0x4,null,0x46,0x13,0x0,0x6,0x37,0x1,0x3,null,0x8,0x0,0x0,0x1d,0xa0,null,0x46,0x1,0x0,0x12,0xc,null,0xa,null,0x0,0x17,0xa,null,0x47,0x24,0x3,null,0x6,0x8,0x0,0x36,0xb,null,0x0,0x4,0xf,null,0x0,0x37,0x0,0x19,0x8,0x0,0x4,null,0x46,0x38,0x0,0x19,0x37,0x4,0x3,null,0x8,0x0,0x4,null,0x46,0x2a,0x0,0x2,0x37,0x0,0x3,null,0x6,0xc,0x4,null,0x0,0x6,0xa,null,0x7,0xc,0x3,null,0x32,null,0x8,0x0,0x4,null,0x46,0x2a,0x0,0x2,0x37,0x0,0x3,null,0x8,0x0,0x0,0x39,0xa0,null,0x46,0x1,0xc,null,0x47,0x15,0x3,null,0x8,0x0,0x0,0x3a,0x47,0x18,0x3,null,0x0,0x2,0x0,0x2,0x0,0x2,0x0,0x2,0x0,0x2,0x6,0x8,0x0,0x2b,0xc,null,0x8,0x0,0x4,null,0x46,0x3b,0x0,0x3c,0x37,0x6,0x7,0xd,0x0,0x2,0x0,0x1d,0xa0,null,0x46,0x1,0xa,null,0x0,0x17,0xa,null,0x6,0xd,0x4,null,0x46,0x1f,0x0,0x4,0x37,0x2,0x3,null,0x0,0x3d,0x0,0x16,0xa0,null,0x46,0x1,0x0,0x12,0xc,null,0xa,null,0x0,0x17,0xa,null,0x6,0xd,0x4,null,0x46,0x1f,0x0,0x4,0x37,0x2,0x3,null,0x0,0x33,0x0,0x3e,0xa0,null,0x46,0x1,0x0,0x3f,0xc,null,0xa,null,0x0,0x17,0xa,null,0x6,0xd,0x4,null,0x46,0x1f,0x0,0x4,0x37,0x2,0x3,null,0x0,0x6,0x0,0x40,0x6,0xd,0x4,null,0x46,0x1f,0x0,0x4,0x37,0x2,0x3,null,0x8,0x0,0x6,0xd,0x47,0x24,0x3,null,0x8,0x0,0x4,null,0x46,0x25,0x0,0x2,0x37,0x0,0x3,null,0x0,0x2,0x0,0x2,0x6,0x8,0x0,0x2b,0xc,null,0x0,0x2,0x4b,0xa,0x46,0x1a,0x0,0x4,0xc,null,0x8,0x0,0x4,null,0x46,0x32,0x0,0x1b,0x37,0x5,0x3,null,0x8,0x0,0x4,null,0x46,0x29,0x0,0x2,0x37,0x0,0x3,null,0x8,0x0,0x4,null,0x46,0x2a,0x0,0x2,0x37,0x0,0x3,null,0x8,0x0,0x4,null,0x46,0x2a,0x0,0x2,0x37,0x0,0x3,null,0x1,null,0x38,null],'c':["active","intensity",0x0,"save",0x2,"translate",0x1,"Date","now",0.004,"Math","sin",0.06,"scale",0x41,"screen","globalCompositeOperation","rotation",0.8,"rotate",0x3c,"shadowBlur","rgba(255, 255, 200, ",")","shadowColor",0x4,"PI",0x5,"createLinearGradient","rgba(255, 255, 255, ",0.9,"addColorStop",0.3,"rgba(255, 220, 100, ",0.6,"rgba(255, 215, 0, 0)","fillStyle","beginPath",0x14,"moveTo","lineTo","fill","restore",1.5,0x1e,"white","strokeStyle","lineWidth",0x23,"strokeRect","arc",0.5,"stroke",0xc,0x8,0x10,"fillRect",0x64,"rgba(255, 215, 0, 1)","createRadialGradient",0x6,0.2,"rgba(255, 215, 0, ",0.4,"rgba(0, 0, 0, 0)"],'p':0x5,'l':0x8,'j':{0x4:0xa,0xa:0xd,0x74:0xee,0xed:0x71,0x173:0x1ad,0x1ac:0x170}},{'i':[],'c':[],'p':0x0,'l':0x0,'a':0x1},{'i':[0x8,0x2,0x4,null,0x1,null,0x2a,null,0x34,null,0x3,null,0x0,0x0,0x9,0x2,0x32,null,0x3,null,0xa0,null,0x8,0x0,0x47,0x1,0x3,null,0xa0,null,0x8,0x1,0x47,0x2,0x3,null,0xa0,null,0x8,0x2,0x47,0x3,0x3,null,0xa0,null,0x0,0x4,0x47,0x5,0x3,null,0xa0,null,0x0,0x6,0x47,0x7,0x3,null,0xa0,null,0x5a,null,0x47,0x8,0x3,null,0x0,0x4,0x7,0x3,0x6,0x3,0x0,0x9,0x2c,null,0x34,null,0x4d,null,0x4,null,0x8,0x0,0x47,0x1,0x3,null,0x4,null,0x8,0x1,0x47,0x2,0x3,null,0x4,null,0x4b,0xa,0x4,null,0x46,0xb,0x0,0x4,0x37,0x0,0x0,0xc,0xb,null,0x0,0x9,0xc,null,0x8,0x2,0xc,null,0x47,0xd,0x3,null,0x4,null,0x4b,0xa,0x4,null,0x46,0xb,0x0,0x4,0x37,0x0,0x0,0xc,0xb,null,0x0,0x9,0xc,null,0x8,0x2,0xc,null,0x47,0xe,0x3,null,0x4,null,0x4b,0xa,0x4,null,0x46,0xb,0x0,0x4,0x37,0x0,0x4b,0xa,0x46,0xf,0xc,null,0x0,0x10,0xc,null,0x47,0x11,0x3,null,0x4,null,0x4b,0xa,0x4,null,0x46,0xb,0x0,0x4,0x37,0x0,0x0,0xc,0xb,null,0x0,0x12,0xc,null,0x47,0x13,0x3,null,0x4,null,0x0,0x14,0x4b,0xa,0x4,null,0x46,0xb,0x0,0x4,0x37,0x0,0x0,0x15,0xc,null,0xa,null,0x8,0x2,0xc,null,0x47,0x16,0x3,null,0x4,null,0x4b,0xa,0x4,null,0x46,0xb,0x0,0x4,0x37,0x0,0x0,0xc,0x2e,null,0x34,null,0x0,0x17,0x32,null,0x0,0x18,0x47,0x19,0x3,null,0xa0,null,0x46,0x8,0x4,null,0x46,0x1a,0x0,0x0,0x37,0x1,0x3,null,0x6,0x3,0x4,null,0x0,0x0,0xa,null,0x7,0x3,0x3,null,0x32,null,0xa0,null,0x5a,null,0x47,0x1b,0x3,null,0x8,0x2,0x0,0x0,0x2f,null,0x34,null,0x0,0x4,0x7,0x4,0x6,0x4,0x0,0x14,0x2c,null,0x34,null,0x4d,null,0x4,null,0x8,0x0,0x4b,0xa,0x4,null,0x46,0xb,0x0,0x4,0x37,0x0,0x0,0xc,0xb,null,0x0,0x1c,0xc,null,0x8,0x2,0xc,null,0xa,null,0x47,0x1,0x3,null,0x4,null,0x8,0x1,0x4b,0xa,0x4,null,0x46,0xb,0x0,0x4,0x37,0x0,0x0,0xc,0xb,null,0x0,0x1c,0xc,null,0x8,0x2,0xc,null,0xa,null,0x47,0x2,0x3,null,0x4,null,0x0,0x1d,0x4b,0xa,0x4,null,0x46,0xb,0x0,0x4,0x37,0x0,0x0,0x1e,0xc,null,0xa,null,0x8,0x2,0xc,null,0x47,0x16,0x3,null,0x4,null,0x0,0x1f,0x47,0x20,0x3,null,0x4,null,0x4b,0xa,0x4,null,0x46,0xb,0x0,0x4,0x37,0x0,0x0,0xc,0xb,null,0x0,0x10,0xc,null,0x8,0x2,0xc,null,0x47,0xd,0x3,null,0x4,null,0x0,0x0,0xf,null,0x4b,0xa,0x4,null,0x46,0xb,0x0,0x4,0x37,0x0,0x0,0x10,0xc,null,0xb,null,0x8,0x2,0xc,null,0x47,0xe,0x3,null,0xa0,null,0x46,0x1b,0x4,null,0x46,0x1a,0x0,0x0,0x37,0x1,0x3,null,0x6,0x4,0x4,null,0x0,0x0,0xa,null,0x7,0x4,0x3,null,0x32,null,0xa0,null,0x5a,null,0x47,0x21,0x3,null,0x0,0x4,0x7,0x5,0x6,0x5,0x0,0x15,0x2c,null,0x34,null,0x4d,null,0x4,null,0x8,0x0,0x47,0x1,0x3,null,0x4,null,0x8,0x1,0x47,0x2,0x3,null,0x4,null,0x4b,0xa,0x4,null,0x46,0xb,0x0,0x4,0x37,0x0,0x0,0xc,0xb,null,0x0,0x14,0xc,null,0x8,0x2,0xc,null,0x47,0xd,0x3,null,0x4,null,0x4b,0xa,0x4,null,0x46,0xb,0x0,0x4,0x37,0x0,0x0,0xc,0xb,null,0x0,0x14,0xc,null,0x8,0x2,0xc,null,0x47,0xe,0x3,null,0x4,null,0x0,0x15,0x4b,0xa,0x4,null,0x46,0xb,0x0,0x4,0x37,0x0,0x0,0x22,0xc,null,0xa,null,0x8,0x2,0xc,null,0x47,0x16,0x3,null,0x4,null,0x0,0x0,0x47,0x23,0x3,null,0xa0,null,0x46,0x21,0x4,null,0x46,0x1a,0x0,0x0,0x37,0x1,0x3,null,0x6,0x5,0x4,null,0x0,0x0,0xa,null,0x7,0x5,0x3,null,0x32,null,0x4b,0x24,0x46,0x25,0x34,null,0x8,0x2,0x0,0x0,0x2f,null,0x34,null,0x4b,0x26,0x0,0x4,0x47,0x27,0x3,null,0x4b,0x26,0x0,0xc,0x47,0x28,0x3,null,0x0,0x29,0x64,null,0x4b,0x26,0x4,null,0x46,0x2a,0x0,0x4,0x37,0x0,0x4,null,0x46,0x2b,0x0,0x0,0x37,0x1,0x3,null,0x32,null,0x0,0x2c,0x7,0x6,0x4b,0x2d,0x46,0x2e,0x0,0x0,0x2f,null,0x34,null,0x4b,0x2d,0x46,0x2e,0x0,0x2f,0x2a,null,0x34,null,0x0,0x30,0x4b,0x2d,0x46,0x31,0xb,null,0x0,0x32,0xd,null,0x7,0x7,0x0,0x33,0x0,0x2c,0x0,0x33,0xb,null,0x6,0x7,0xc,null,0xa,null,0x4,null,0x7,0x6,0x3,null,0x32,null,0x0,0x34,0x4,null,0x7,0x6,0x3,null,0x0,0x35,0x2,null,0x6,0x6,0x4b,0x36,0x4,null,0x46,0x37,0x0,0x2f,0x37,0x3,0x3,null,0x0,0x38,0x8,0x2,0xc,null,0x4b,0x39,0x4,null,0x46,0x3a,0x0,0x0,0x37,0x1,0x3,null,0x1,null,0x38,null],'c':[0x1,"x","y","scale",0x0,"frame",0x3c,"maxFrames","debris",0xc,"Math","random",0.5,"vx","vy","PI",0x2,"rotation",0.3,"rotSpeed",0x8,0xf,"size","#555","#777","color","push","smoke",0x28,0x14,0x1e,0.6,"alpha","fire",0x19,"life","gameSettings","sfxEnabled","miniBossDeadSound","currentTime","volume",0x74,"play","catch",0.4,"game","surgePhase",0x3,0x7,"surge",0x6,0.2,0.1,"explosion","AudioMixer","playImmediate",1.2,"cameraShake","start"],'p':0x3,'l':0x4,'j':{0x4:0x9,0x8:0xa,0x27:0x90,0x7c:0x7f,0x7e:0x80,0x8f:0x24,0x97:0xfc,0x9d:0xfc,0xfb:0x9a,0x105:0x14b,0x14a:0x102,0x14d:0x192,0x151:0x167,0x166:0x192,0x16d:0x189,0x172:0x185,0x184:0x189}},{'i':[0xa0,null,0x46,0x0,0x4,null,0x0,0x1,0xa,null,0xa0,null,0x5,null,0x47,0x0,0x3,null,0x3,null,0xa0,null,0x46,0x2,0x7f,null,0x7,0x0,0x3,null,0x0,0x3,0x7,0x1,0x3,null,0x0,0x3,0x7,0x1,0x3,null,0x6,0x0,0x7b,null,0x4,null,0x80,null,0x33,null,0x46,0x4,0x7,0x2,0x3,null,0x3a,null,0x6,0x2,0x4,null,0x46,0x5,0x6,0x2,0x46,0x6,0xa,null,0x47,0x5,0x3,null,0x6,0x2,0x4,null,0x46,0x7,0x6,0x2,0x46,0x8,0xa,null,0x47,0x7,0x3,null,0x6,0x2,0x4,null,0x46,0x8,0x0,0x9,0xa,null,0x47,0x8,0x3,null,0x6,0x2,0x4,null,0x46,0xa,0x6,0x2,0x46,0xb,0xa,null,0x47,0xa,0x3,null,0x6,0x2,0x4,null,0x46,0x6,0x0,0xc,0xc,null,0x47,0x6,0x3,null,0x3b,null,0x32,null,0x3d,null,0x6,0x1,0x33,null,0x6,0x0,0x7c,null,0x3e,null,0x3,null,0xa0,null,0x46,0xd,0x7f,null,0x7,0x3,0x3,null,0x0,0x3,0x7,0x4,0x3,null,0x0,0x3,0x7,0x4,0x3,null,0x6,0x3,0x7b,null,0x4,null,0x80,null,0x33,null,0x46,0x4,0x7,0x5,0x3,null,0x3a,null,0x6,0x5,0x4,null,0x46,0x5,0x6,0x5,0x46,0x6,0xa,null,0x47,0x5,0x3,null,0x6,0x5,0x4,null,0x46,0x7,0x6,0x5,0x46,0x8,0xa,null,0x47,0x7,0x3,null,0x6,0x5,0x4,null,0x46,0xe,0x0,0xf,0xa,null,0x47,0xe,0x3,null,0x6,0x5,0x4,null,0x46,0x10,0x0,0x11,0xb,null,0x47,0x10,0x3,null,0x3b,null,0x32,null,0x3d,null,0x6,0x4,0x33,null,0x6,0x3,0x7c,null,0x3e,null,0x3,null,0xa0,null,0x46,0x12,0x7f,null,0x7,0x6,0x3,null,0x0,0x3,0x7,0x7,0x3,null,0x0,0x3,0x7,0x7,0x3,null,0x6,0x6,0x7b,null,0x4,null,0x80,null,0x33,null,0x46,0x4,0x7,0x8,0x3,null,0x3a,null,0x6,0x8,0x4,null,0x46,0x5,0x6,0x8,0x46,0x6,0xa,null,0x47,0x5,0x3,null,0x6,0x8,0x4,null,0x46,0x7,0x6,0x8,0x46,0x8,0xa,null,0x47,0x7,0x3,null,0x6,0x8,0x4,null,0x46,0x13,0x0,0x14,0xb,null,0x47,0x13,0x3,null,0x6,0x8,0x4,null,0x46,0xe,0x0,0x15,0xc,null,0x47,0xe,0x3,null,0x3b,null,0x32,null,0x3d,null,0x6,0x7,0x33,null,0x6,0x6,0x7c,null,0x3e,null,0x3,null,0x1,null,0x38,null],'c':["frame",0x1,"debris",![],"value","x","vx","y","vy",0.2,"rotation","rotSpeed",0.98,"smoke","size",0.5,"alpha",0.01,"fire","life",0.03,0.96],'p':0x0,'l':0x9,'j':{0x19:0x4c,0x45:0x12,0x48:0x4b,0x5c:0x87,0x80:0x55,0x83:0x86,0x97:0xc2,0xbb:0x90,0xbe:0xc1},'x':{0x1d:[-0x1,0x46,0x4d],0x60:[-0x1,0x81,0x88],0x9b:[-0x1,0xbc,0xc3]}},{'i':[0xa0,null,0x46,0x0,0xa0,null,0x46,0x1,0xd,null,0x7,0x0,0xa0,null,0x46,0x0,0x0,0x2,0x2c,null,0x34,null,0xa0,null,0x46,0x0,0x0,0x2,0xd,null,0x7,0x1,0x0,0x3,0x0,0x4,0x6,0x1,0xc,null,0xa,null,0xa0,null,0x46,0x5,0xc,null,0x7,0x2,0x4b,0x6,0x4,null,0x46,0x7,0x0,0x8,0x37,0x0,0x3,null,0x4b,0x6,0x0,0x9,0x6,0x1,0xb,null,0x47,0xa,0x3,null,0xa0,null,0x46,0xb,0xa0,null,0x46,0xc,0x0,0x8,0xa0,null,0x46,0xb,0xa0,null,0x46,0xc,0x6,0x2,0x4b,0x6,0x4,null,0x46,0xd,0x0,0xe,0x37,0x6,0x7,0x3,0x0,0x8,0x0,0xf,0x6,0x3,0x4,null,0x46,0x10,0x0,0x11,0x37,0x2,0x3,null,0x0,0x12,0x0,0x13,0x6,0x3,0x4,null,0x46,0x10,0x0,0x11,0x37,0x2,0x3,null,0x0,0x14,0x0,0x15,0x6,0x3,0x4,null,0x46,0x10,0x0,0x11,0x37,0x2,0x3,null,0x0,0x9,0x0,0x16,0x6,0x3,0x4,null,0x46,0x10,0x0,0x11,0x37,0x2,0x3,null,0x4b,0x6,0x6,0x3,0x47,0x17,0x3,null,0x4b,0x6,0x4,null,0x46,0x18,0x0,0x8,0x37,0x0,0x3,null,0xa0,null,0x46,0xb,0xa0,null,0x46,0xc,0x6,0x2,0x0,0x8,0x4b,0x19,0x46,0x1a,0x0,0x11,0xc,null,0x4b,0x6,0x4,null,0x46,0x1b,0x0,0x1c,0x37,0x5,0x3,null,0x4b,0x6,0x4,null,0x46,0x1d,0x0,0x8,0x37,0x0,0x3,null,0x4b,0x6,0x4,null,0x46,0x1e,0x0,0x8,0x37,0x0,0x3,null,0xa0,null,0x46,0x1f,0x7f,null,0x7,0x4,0x3,null,0x0,0x20,0x7,0x5,0x3,null,0x0,0x20,0x7,0x5,0x3,null,0x6,0x4,0x7b,null,0x4,null,0x80,null,0x33,null,0x46,0x21,0x7,0x6,0x3,null,0x3a,null,0x6,0x6,0x46,0x22,0x0,0x8,0x2e,null,0x34,null,0x4b,0x6,0x4,null,0x46,0x7,0x0,0x8,0x37,0x0,0x3,null,0x4b,0x6,0x6,0x6,0x46,0x22,0x47,0xa,0x3,null,0x4b,0x6,0x0,0x23,0x47,0x17,0x3,null,0x4b,0x6,0x4,null,0x46,0x18,0x0,0x8,0x37,0x0,0x3,null,0x6,0x6,0x46,0xb,0x6,0x6,0x46,0xc,0x6,0x6,0x46,0x24,0x0,0x8,0x4b,0x19,0x46,0x1a,0x0,0x11,0xc,null,0x4b,0x6,0x4,null,0x46,0x1b,0x0,0x1c,0x37,0x5,0x3,null,0x4b,0x6,0x4,null,0x46,0x1d,0x0,0x8,0x37,0x0,0x3,null,0x4b,0x6,0x4,null,0x46,0x1e,0x0,0x8,0x37,0x0,0x3,null,0x3b,null,0x32,null,0x3d,null,0x6,0x5,0x33,null,0x6,0x4,0x7c,null,0x3e,null,0x3,null,0xa0,null,0x46,0x25,0x7f,null,0x7,0x7,0x3,null,0x0,0x20,0x7,0x8,0x3,null,0x0,0x20,0x7,0x8,0x3,null,0x6,0x7,0x7b,null,0x4,null,0x80,null,0x33,null,0x46,0x21,0x7,0x9,0x3,null,0x3a,null,0x6,0x9,0x46,0x26,0x0,0x8,0x2e,null,0x4,null,0x34,null,0x3,null,0x6,0x9,0x46,0x24,0x0,0x11,0x2e,null,0x34,null,0x4b,0x6,0x4,null,0x46,0x7,0x0,0x8,0x37,0x0,0x3,null,0x4b,0x6,0x6,0x9,0x46,0x26,0x47,0xa,0x3,null,0x6,0x9,0x46,0xb,0x6,0x9,0x46,0xc,0x0,0x8,0x6,0x9,0x46,0xb,0x6,0x9,0x46,0xc,0x6,0x9,0x46,0x24,0x4b,0x6,0x4,null,0x46,0xd,0x0,0xe,0x37,0x6,0x7,0xa,0x0,0x8,0x0,0x13,0x6,0xa,0x4,null,0x46,0x10,0x0,0x11,0x37,0x2,0x3,null,0x0,0x27,0x0,0x15,0x6,0xa,0x4,null,0x46,0x10,0x0,0x11,0x37,0x2,0x3,null,0x0,0x9,0x0,0x28,0x6,0xa,0x4,null,0x46,0x10,0x0,0x11,0x37,0x2,0x3,null,0x4b,0x6,0x6,0xa,0x47,0x17,0x3,null,0x4b,0x6,0x4,null,0x46,0x18,0x0,0x8,0x37,0x0,0x3,null,0x6,0x9,0x46,0xb,0x6,0x9,0x46,0xc,0x6,0x9,0x46,0x24,0x0,0x8,0x4b,0x19,0x46,0x1a,0x0,0x11,0xc,null,0x4b,0x6,0x4,null,0x46,0x1b,0x0,0x1c,0x37,0x5,0x3,null,0x4b,0x6,0x4,null,0x46,0x1d,0x0,0x8,0x37,0x0,0x3,null,0x4b,0x6,0x4,null,0x46,0x1e,0x0,0x8,0x37,0x0,0x3,null,0x3b,null,0x32,null,0x3d,null,0x6,0x8,0x33,null,0x6,0x7,0x7c,null,0x3e,null,0x3,null,0xa0,null,0x46,0x29,0x7f,null,0x7,0xb,0x3,null,0x0,0x20,0x7,0xc,0x3,null,0x0,0x20,0x7,0xc,0x3,null,0x6,0xb,0x7b,null,0x4,null,0x80,null,0x33,null,0x46,0x21,0x7,0xd,0x3,null,0x3a,null,0x4b,0x6,0x4,null,0x46,0x7,0x0,0x8,0x37,0x0,0x3,null,0x6,0xd,0x46,0xb,0x6,0xd,0x46,0xc,0x4b,0x6,0x4,null,0x46,0x2a,0x0,0x11,0x37,0x2,0x3,null,0x6,0xd,0x46,0x2b,0x4b,0x6,0x4,null,0x46,0x2c,0x0,0x9,0x37,0x1,0x3,null,0x4b,0x6,0x0,0x8,0x0,0x9,0x6,0x0,0xb,null,0x4b,0x19,0x4,null,0x46,0x2d,0x0,0x11,0x37,0x2,0x47,0xa,0x3,null,0x4b,0x6,0x6,0xd,0x46,0x2e,0x47,0x17,0x3,null,0x6,0xd,0x46,0x24,0xf,null,0x0,0x11,0xd,null,0x6,0xd,0x46,0x24,0xf,null,0x0,0x11,0xd,null,0x6,0xd,0x46,0x24,0x6,0xd,0x46,0x24,0x0,0x14,0xc,null,0x4b,0x6,0x4,null,0x46,0x2f,0x0,0x30,0x37,0x4,0x3,null,0x4b,0x6,0x4,null,0x46,0x1e,0x0,0x8,0x37,0x0,0x3,null,0x3b,null,0x32,null,0x3d,null,0x6,0xc,0x33,null,0x6,0xb,0x7c,null,0x3e,null,0x3,null,0x1,null,0x38,null],'c':["frame","maxFrames",0xa,0x32,0x64,"scale","ctx","save",0x0,0x1,"globalAlpha","x","y","createRadialGradient",0x6,"#ffffff","addColorStop",0x2,0.3,"#ffff00",0.6,"#ff6600","#ff0000","fillStyle","beginPath","Math","PI","arc",0x5,"fill","restore","smoke",![],"value","alpha","#444","size","fire","life",0.5,"rgba(255, 0, 0, 0)","debris","translate","rotation","rotate","max","color","fillRect",0x4],'p':0x0,'l':0xe,'j':{0xa:0x7b,0x8a:0xce,0x93:0xc6,0xc7:0x83,0xca:0xcd,0xde:0x152,0xe8:0xee,0xee:0x14a,0x14b:0xd7,0x14e:0x151,0x162:0x1b4,0x1ad:0x15b,0x1b0:0x1b3},'x':{0x8e:[-0x1,0xc8,0xcf],0xe2:[-0x1,0x14c,0x153],0x166:[-0x1,0x1ae,0x1b5]}},{'i':[0xa0,null,0x46,0x0,0xa0,null,0x46,0x1,0x2f,null,0x38,null],'c':["frame","maxFrames"],'p':0x0,'l':0x0},{'i':[0x8,0x4,0x4,null,0x1,null,0x2a,null,0x34,null,0x3,null,0x0,0x0,0x9,0x4,0x32,null,0x3,null,0xa0,null,0x8,0x0,0x47,0x1,0x3,null,0xa0,null,0x8,0x1,0x47,0x2,0x3,null,0xa0,null,0x0,0x3,0x47,0x4,0x3,null,0xa0,null,0x0,0x5,0x47,0x6,0x3,null,0xa0,null,0x8,0x4,0x47,0x7,0x3,null,0x8,0x2,0x8,0x0,0xb,null,0x7,0x5,0x8,0x3,0x8,0x1,0xb,null,0x7,0x6,0x6,0x5,0x6,0x5,0xc,null,0x6,0x6,0x6,0x6,0xc,null,0xa,null,0x4b,0x8,0x4,null,0x46,0x9,0x0,0xa,0x37,0x1,0x4,null,0x33,null,0x3,null,0x0,0xa,0x7,0x7,0x0,0xb,0x7,0x8,0xa0,null,0x6,0x5,0x6,0x7,0xd,null,0x6,0x8,0xc,null,0x47,0xc,0x3,null,0xa0,null,0x6,0x6,0x6,0x7,0xd,null,0x6,0x8,0xc,null,0x47,0xd,0x3,null,0x1,null,0x38,null],'c':["default","x","y",0xa,"width",0x4,"height","colorType","Math","sqrt",0x1,0x5,"vx","vy"],'p':0x5,'l':0x4,'j':{0x4:0x9,0x8:0xa,0x33:0x36}},{'i':[0x0,0x0,0x7,0x0,0x4d,null,0x4,null,0xa0,null,0x46,0x1,0x6,0x0,0xa,null,0x47,0x1,0x3,null,0x4,null,0xa0,null,0x46,0x2,0x6,0x0,0xa,null,0x47,0x2,0x3,null,0x4,null,0xa0,null,0x46,0x3,0x6,0x0,0x0,0x4,0xc,null,0xb,null,0x47,0x3,0x3,null,0x4,null,0xa0,null,0x46,0x5,0x6,0x0,0x0,0x4,0xc,null,0xb,null,0x47,0x5,0x3,null,0x38,null],'c':[0x1,"x","y","width",0x2,"height"],'p':0x0,'l':0x1},{'i':[0x4b,0x0,0x4,null,0x46,0x1,0x0,0x2,0x37,0x0,0x3,null,0x1,null,0x7,0x0,0x1,null,0x7,0x1,0xa0,null,0x46,0x3,0x0,0x4,0x2a,null,0x4,null,0x33,null,0x3,null,0xa0,null,0x46,0x3,0x0,0x5,0x2a,null,0x34,null,0x0,0x6,0x4,null,0x7,0x0,0x3,null,0x0,0x7,0x4,null,0x7,0x1,0x3,null,0x32,null,0xa0,null,0x46,0x3,0x0,0x8,0x2a,null,0x34,null,0x0,0x9,0x4,null,0x7,0x0,0x3,null,0x0,0xa,0x4,null,0x7,0x1,0x3,null,0x32,null,0xa0,null,0x46,0x3,0x0,0xb,0x2a,null,0x34,null,0x0,0xc,0x4,null,0x7,0x0,0x3,null,0x0,0xd,0x4,null,0x7,0x1,0x3,null,0x32,null,0x0,0xe,0x4,null,0x7,0x0,0x3,null,0x0,0xf,0x4,null,0x7,0x1,0x3,null,0x4b,0x0,0x0,0x10,0x47,0x11,0x3,null,0x4b,0x0,0x6,0x0,0x47,0x12,0x3,null,0x4b,0x0,0x6,0x1,0x47,0x13,0x3,null,0x4b,0x0,0x4,null,0x46,0x14,0x0,0x2,0x37,0x0,0x3,null,0xa0,null,0x46,0x15,0xa0,null,0x46,0x16,0x0,0x17,0x0,0x2,0x4b,0x18,0x46,0x19,0x0,0x1a,0xc,null,0x4b,0x0,0x4,null,0x46,0x1b,0x0,0x17,0x37,0x5,0x3,null,0x4b,0x0,0x4,null,0x46,0x1c,0x0,0x2,0x37,0x0,0x3,null,0x4b,0x0,0x0,0x1d,0x47,0x13,0x3,null,0x4b,0x0,0x4,null,0x46,0x14,0x0,0x2,0x37,0x0,0x3,null,0xa0,null,0x46,0x15,0xa0,null,0x46,0x16,0x0,0x1e,0x0,0x2,0x4b,0x18,0x46,0x19,0x0,0x1a,0xc,null,0x4b,0x0,0x4,null,0x46,0x1b,0x0,0x17,0x37,0x5,0x3,null,0x4b,0x0,0x4,null,0x46,0x1c,0x0,0x2,0x37,0x0,0x3,null,0x4b,0x0,0x4,null,0x46,0x1f,0x0,0x2,0x37,0x0,0x3,null,0x1,null,0x38,null],'c':["ctx","save",0x0,"colorType","green",!![],"#00ff00","#33ff33","purple","#aa00ff","#d67aff","blue","#0088ff","#66b2ff","#ff3300","#ff5500",0xa,"shadowBlur","shadowColor","fillStyle","beginPath","x","y",0x5,"Math","PI",0x2,"arc","fill","#ffffaa",2.5,"restore"],'p':0x0,'l':0x2,'j':{0xf:0x15,0x15:0x1f,0x1e:0x43,0x23:0x2d,0x2c:0x43,0x31:0x3b,0x3a:0x43}},{'i':[0xa0,null,0x4,null,0x46,0x0,0xa0,null,0x46,0x1,0xa,null,0x47,0x0,0x3,null,0xa0,null,0x4,null,0x46,0x2,0xa0,null,0x46,0x3,0xa,null,0x47,0x2,0x3,null,0x1,null,0x38,null],'c':["x","vx","y","vy"],'p':0x0,'l':0x0},{'i':[0x8,0x1,0x4,null,0x1,null,0x2a,null,0x34,null,0x3,null,0x0,0x0,0x9,0x1,0x32,null,0x3,null,0x8,0x2,0x4,null,0x1,null,0x2a,null,0x34,null,0x3,null,0x0,0x1,0x9,0x2,0x32,null,0x3,null,0xa0,null,0x8,0x0,0x47,0x2,0x3,null,0xa0,null,0x8,0x1,0x47,0x3,0x3,null,0x8,0x2,0x0,0x4,0x2a,null,0x34,null,0xa0,null,0x0,0x5,0x47,0x6,0x3,null,0x32,null,0x8,0x2,0x0,0x7,0x2a,null,0x34,null,0xa0,null,0x0,0x8,0x47,0x6,0x3,null,0x32,null,0xa0,null,0x8,0x1,0x34,null,0x0,0x9,0x32,null,0x0,0xa,0x47,0x6,0x3,null,0x8,0x1,0x34,null,0x0,0xb,0x32,null,0x0,0xc,0x7,0x3,0xa0,null,0x0,0xd,0x6,0x3,0xc,null,0x47,0xe,0x3,null,0xa0,null,0x0,0xd,0x6,0x3,0xc,null,0x47,0xf,0x3,null,0xa0,null,0x4b,0x10,0x0,0x11,0xa,null,0x47,0x12,0x3,null,0x4b,0x13,0xa0,null,0x46,0xf,0xa,null,0x7,0x4,0xa0,null,0x4b,0x14,0x4,null,0x46,0x15,0x0,0x1,0x37,0x0,0x6,0x4,0xc,null,0xa0,null,0x46,0xf,0x0,0x16,0xc,null,0xb,null,0x47,0x17,0x3,null,0xa0,null,0x8,0x1,0x34,null,0x0,0x18,0x32,null,0x0,0x19,0x47,0x1a,0x3,null,0xa0,null,0x4b,0x10,0x0,0x1b,0xa,null,0x47,0x1c,0x3,null,0xa0,null,0xa0,null,0x46,0x1c,0x4b,0x14,0x4,null,0x46,0x1d,0x0,0x1e,0x37,0x1,0x47,0x12,0x3,null,0xa0,null,0x0,0x1f,0x47,0x20,0x3,null,0x1,null,0x38,null],'c':[![],0x0,"image","isGigantic",0x2,"rgba(255, 50, 50, 0.4)","glowColor",0x3,"rgba(255, 215, 0, 0.4)","rgba(255, 80, 40, 0.3)","rgba(100, 200, 255, 0.2)",0x6,2.5,0xa0,"width","height","canvasWidth",0x32,"x","canvasHeight","Math","random",0.5,"y",0.8,1.2,"speed",0xc8,"floatX","round",0x1,!![],"active"],'p':0x3,'l':0x2,'j':{0x4:0x9,0x8:0xa,0xe:0x13,0x12:0x14,0x1f:0x25,0x24:0x36,0x28:0x2e,0x2d:0x36,0x30:0x33,0x32:0x34,0x37:0x3a,0x39:0x3b,0x64:0x67,0x66:0x68}},{'i':[0x4b,0x0,0xa0,null,0x46,0x1,0x47,0x1,0x3,null,0x4b,0x0,0xa0,null,0x46,0x2,0x47,0x2,0x3,null,0x0,0x3,0x0,0x3,0xa0,null,0x46,0x1,0xa0,null,0x46,0x2,0x4b,0x4,0x4,null,0x46,0x5,0x0,0x6,0x37,0x4,0x3,null,0xa0,null,0x46,0x1,0x0,0x7,0xd,null,0x7,0x0,0xa0,null,0x46,0x2,0x0,0x7,0xd,null,0x7,0x1,0xa0,null,0x46,0x1,0x0,0x7,0xd,null,0x7,0x2,0xa0,null,0x46,0x8,0x0,0x3,0x0,0x3,0xa0,null,0x46,0x1,0xa0,null,0x46,0x2,0x4b,0x4,0x4,null,0x46,0x9,0x0,0xa,0x37,0x5,0x3,null,0x6,0x0,0x6,0x2,0x0,0xb,0xc,null,0xb,null,0x6,0x1,0x6,0x2,0x0,0xb,0xc,null,0xb,null,0x6,0x2,0x0,0xc,0xc,null,0x6,0x0,0x6,0x1,0x6,0x2,0x4b,0x4,0x4,null,0x46,0xd,0x0,0xe,0x37,0x6,0x7,0x3,0x0,0x3,0x0,0xf,0x6,0x3,0x4,null,0x46,0x10,0x0,0x7,0x37,0x2,0x3,null,0x0,0x11,0x0,0xf,0x6,0x3,0x4,null,0x46,0x10,0x0,0x7,0x37,0x2,0x3,null,0x0,0x12,0x0,0x13,0x6,0x3,0x4,null,0x46,0x10,0x0,0x7,0x37,0x2,0x3,null,0x4b,0x4,0x6,0x3,0x47,0x14,0x3,null,0x0,0x3,0x0,0x3,0xa0,null,0x46,0x1,0xa0,null,0x46,0x2,0x4b,0x4,0x4,null,0x46,0x15,0x0,0x6,0x37,0x4,0x3,null,0x4b,0x4,0x0,0x16,0x47,0x17,0x3,null,0x6,0x0,0x6,0x1,0x6,0x2,0x0,0x18,0xc,null,0x6,0x0,0x6,0x1,0x6,0x2,0x4b,0x4,0x4,null,0x46,0xd,0x0,0xe,0x37,0x6,0x7,0x4,0x0,0x3,0x0,0x19,0x6,0x4,0x4,null,0x46,0x10,0x0,0x7,0x37,0x2,0x3,null,0x0,0x12,0x0,0x1a,0x6,0x4,0x4,null,0x46,0x10,0x0,0x7,0x37,0x2,0x3,null,0x4b,0x4,0x6,0x4,0x47,0x14,0x3,null,0x4b,0x4,0x4,null,0x46,0x1b,0x0,0x3,0x37,0x0,0x3,null,0x6,0x0,0x6,0x1,0x6,0x2,0x0,0x3,0x4b,0x1c,0x46,0x1d,0x0,0x7,0xc,null,0x4b,0x4,0x4,null,0x46,0x1e,0x0,0xa,0x37,0x5,0x3,null,0x4b,0x4,0x4,null,0x46,0x1f,0x0,0x3,0x37,0x0,0x3,null,0x4b,0x4,0x0,0x20,0x47,0x17,0x3,null,0x4b,0x0,0xa0,null,0x46,0x21,0x4b,0x1c,0x4,null,0x46,0x22,0x0,0x12,0x37,0x1,0xa0,null,0x46,0x23,0x4b,0x1c,0x4,null,0x46,0x22,0x0,0x12,0x37,0x1,0x4b,0x24,0x4,null,0x46,0x9,0x0,0x25,0x37,0x3,0x3,null,0x1,null,0x38,null],'c':["offscreenCanvas","width","height",0x0,"offscreenCtx","clearRect",0x4,0x2,"image","drawImage",0x5,0.3,0.1,"createRadialGradient",0x6,"rgba(0, 0, 0, 0)","addColorStop",0.7,0x1,"rgba(0, 0, 0, 0.6)","fillStyle","fillRect","destination-in","globalCompositeOperation",0.94,"rgba(0,0,0,1.0)","rgba(0,0,0,0.0)","beginPath","Math","PI","arc","fill","source-over","x","round","y","ctx",0x3],'p':0x0,'l':0x5},{'i':[0xa0,null,0x4,null,0x46,0x0,0xa0,null,0x46,0x1,0x4b,0x2,0x46,0x1,0xc,null,0xb,null,0x47,0x0,0x3,null,0xa0,null,0xa0,null,0x46,0x0,0x47,0x3,0x3,null,0xa0,null,0x46,0x3,0xa0,null,0x46,0x4,0xf,null,0x2c,null,0x34,null,0xa0,null,0x0,0x5,0x47,0x6,0x3,null,0x1,null,0x38,null],'c':["floatX","speed","game","x","width",![],"active"],'p':0x0,'l':0x0,'j':{0x16:0x1b}},{'i':[0x4b,0x0,0x4,null,0x34,null,0x3,null,0x4b,0x0,0x46,0x1,0x34,null,0x1,null,0x38,null,0x4b,0x2,0x0,0x3,0x2e,null,0x34,null,0x4b,0x2,0x4,null,0x0,0x4,0xb,null,0x4c,0x2,0x3,null,0x3,null,0x1,null,0x38,null,0x4b,0x5,0x4,null,0x46,0x6,0x0,0x3,0x37,0x0,0x0,0x7,0x2c,null,0x34,null,0x0,0x8,0x4,null,0x4c,0x2,0x3,null,0x3,null,0x1,null,0x38,null,0x4b,0x5,0x4,null,0x46,0x6,0x0,0x3,0x37,0x0,0x4b,0x9,0x46,0xa,0xc,null,0x4b,0x5,0x4,null,0x46,0xb,0x0,0x4,0x37,0x1,0x7,0x0,0x4b,0x9,0x6,0x0,0x48,null,0x7,0x1,0x4b,0x5,0x4,null,0x46,0x6,0x0,0x3,0x37,0x0,0x0,0xc,0x2c,null,0x7,0x2,0x4b,0xd,0x6,0x1,0x6,0x2,0x6,0x0,0x0,0xe,0x68,0x3,0x4,null,0x4c,0x0,0x3,null,0x3,null,0x1,null,0x38,null],'c':["currentPlanet","active","planetSpawnDelay",0x0,0x1,"Math","random",0.1,0x3c,"planetImages","length","floor",0.05,"Planet",0x3,"spawnPlanet"],'p':0x0,'l':0x3,'j':{0x2:0x6,0x6:0x9,0xc:0x16,0x1d:0x25},'ni':0xf},{'i':[0x4b,0x0,0x46,0x1,0x0,0x2,0x2c,null,0x34,null,0x1,null,0x38,null,0x4b,0x3,0x34,null,0x4b,0x3,0x46,0x4,0x4b,0x3,0x46,0x5,0x2c,null,0x34,null,0x4b,0x3,0x46,0x6,0x0,0x7,0x2d,null,0x34,null,0x4b,0x3,0x4b,0x8,0x0,0x9,0x36,0x1,0x3,null,0x4b,0x3,0x46,0x4,0x4,null,0x0,0x9,0xa,null,0x4b,0x3,0x5,null,0x47,0x4,0x3,null,0x3,null,0x4b,0x3,0x46,0xa,0x4b,0xb,0x4,null,0x46,0xc,0x0,0x7,0x37,0x0,0x0,0xd,0xc,null,0x4b,0xb,0x4,null,0x46,0xe,0x0,0x9,0x37,0x1,0xa,null,0x7,0x0,0x4b,0x3,0x6,0x0,0x47,0x6,0x3,null,0x32,null,0x4b,0x3,0x46,0x6,0x4,null,0x0,0x9,0xb,null,0x4b,0x3,0x5,null,0x47,0x6,0x3,null,0x3,null,0x32,null,0x4b,0xf,0x46,0x10,0x0,0x7,0x2a,null,0x34,null,0x2,null,0x4,null,0x4c,0x3,0x3,null,0x3,null,0x0,0x11,0x0,0x12,0x4b,0x0,0x46,0x13,0x0,0x14,0xc,null,0xb,null,0x4b,0xb,0x4,null,0x46,0x15,0x0,0x14,0x37,0x2,0x4,null,0x4c,0x16,0x3,null,0x3,null,0x4b,0x0,0x46,0x17,0x0,0x9,0x2f,null,0x34,null,0x0,0x18,0x4,null,0x4c,0x16,0x3,null,0x3,null,0x32,null,0x4b,0x16,0x0,0x7,0x2e,null,0x34,null,0x4b,0x16,0x4,null,0x0,0x9,0xb,null,0x4c,0x16,0x3,null,0x3,null,0x32,null,0x4b,0x19,0x0,0x7,0x36,0x0,0x3,null,0x1,null,0x38,null],'c':["game","frames",0xc8,"currentWave","spawned","count","spawnTimer",0x0,"spawnEnemyFromWave",0x1,"spacing","Math","random",0x1e,"floor","enemyShipArray","length",0x3c,0x78,"level",0x2,"max","waveCooldown","surgePhase",0x14,"startNewWave","addShips"],'p':0x0,'l':0x1,'j':{0x4:0x7,0x8:0x68,0xe:0x43,0x13:0x38,0x37:0x42,0x42:0x67,0x47:0x67,0x61:0x67,0x67:0x78,0x6b:0x74,0x73:0x78},'ni':0x1a},{'i':[0x0,0x0,0x7,0x0,0x4b,0x1,0x46,0x2,0x0,0x3,0xd,null,0x4b,0x4,0x4,null,0x46,0x5,0x0,0x6,0x37,0x1,0x7,0x1,0x6,0x0,0x6,0x1,0xa,null,0x4b,0x4,0x4,null,0x46,0x7,0x0,0x8,0x37,0x0,0x0,0x9,0xc,null,0x4b,0x4,0x4,null,0x46,0x5,0x0,0x6,0x37,0x1,0xa,null,0x7,0x2,0x4b,0x1,0x46,0xa,0x0,0x6,0x2f,null,0x34,null,0x6,0x2,0x0,0x9,0xc,null,0x4b,0x4,0x4,null,0x46,0x5,0x0,0x6,0x37,0x1,0x4,null,0x7,0x2,0x3,null,0x0,0xb,0x6,0x2,0x4b,0x4,0x4,null,0x46,0xc,0x0,0x3,0x37,0x2,0x7,0x3,0x0,0xd,0x0,0xe,0x4b,0x1,0x46,0x2,0xb,null,0x4b,0x4,0x4,null,0x46,0xf,0x0,0x3,0x37,0x2,0x7,0x4,0x4b,0x1,0x46,0xa,0x0,0x6,0x2f,null,0x34,null,0x0,0x10,0x6,0x4,0x0,0x11,0xd,null,0x4b,0x4,0x4,null,0x46,0x5,0x0,0x6,0x37,0x1,0x4b,0x4,0x4,null,0x46,0xf,0x0,0x3,0x37,0x2,0x4,null,0x7,0x4,0x3,null,0x4d,null,0x4,null,0x6,0x3,0x47,0x12,0x3,null,0x4,null,0x6,0x4,0x47,0x13,0x3,null,0x4,null,0x0,0x8,0x47,0x14,0x3,null,0x4,null,0x0,0x8,0x47,0x15,0x3,null,0x4,null,0x4c,0x16,0x3,null,0x3,null,0x1,null,0x38,null],'c':[0x3,"game","level",0x2,"Math","floor",0x1,"random",0x0,0x5,"surgePhase",0x3c,"min",0xf,0x28,"max",0x8,2.5,"count","spacing","spawned","spawnTimer","currentWave","startNewWave"],'p':0x0,'l':0x5,'j':{0x21:0x2d,0x44:0x56},'ni':0x17},{'i':[0x8,0x0,0x46,0x0,0x38,null],'c':["isMiniBoss"],'p':0x1,'l':0x0,'a':0x1},{'i':[0x0,0x0,0x7,0x1,0x4b,0x1,0x0,0x2,0xb,null,0x7,0x2,0x4b,0x3,0x4,null,0x46,0x4,0x0,0x5,0x37,0x0,0x6,0x2,0x6,0x1,0xb,null,0xc,null,0x6,0x1,0xa,null,0x7,0x3,0x4b,0x3,0x4,null,0x46,0x4,0x0,0x5,0x37,0x0,0x0,0x6,0xc,null,0x7,0x4,0x4b,0x3,0x4,null,0x46,0x4,0x0,0x5,0x37,0x0,0x4b,0x7,0x46,0x8,0xc,null,0x4b,0x3,0x4,null,0x46,0x9,0x0,0xa,0x37,0x1,0x7,0x5,0x0,0xb,0x64,null,0x4b,0xc,0x4,null,0x46,0xd,0x0,0xa,0x37,0x1,0x7,0x6,0x4b,0xe,0x46,0xf,0x0,0xa,0x2f,null,0x34,null,0x0,0x10,0x32,null,0x0,0x11,0x7,0x7,0x6,0x6,0x20,null,0x4,null,0x34,null,0x3,null,0x4b,0x3,0x4,null,0x46,0x4,0x0,0x5,0x37,0x0,0x6,0x7,0x2c,null,0x4,null,0x34,null,0x3,null,0x4b,0xe,0x46,0x12,0x0,0x13,0x2f,null,0x34,null,0x4b,0x14,0x4b,0x15,0x0,0x16,0xa,null,0x4b,0x1,0x0,0x13,0xd,null,0x0,0x17,0xb,null,0x4b,0x7,0x6,0x5,0x48,null,0x0,0x18,0x68,0x3,0x7,0x8,0x4b,0xe,0x46,0xf,0x0,0xa,0x2f,null,0x34,null,0x6,0x8,0x4,null,0x46,0x19,0x0,0x1a,0xc,null,0x47,0x19,0x3,null,0x6,0x8,0x4b,0xc,0x4,null,0x46,0x1b,0x0,0xa,0x37,0x1,0x3,null,0x0,0x1c,0x4b,0x1d,0x4,null,0x46,0x1e,0x0,0xa,0x37,0x1,0x3,null,0x1,null,0x38,null,0x4b,0x3,0x4,null,0x46,0x4,0x0,0x5,0x37,0x0,0x0,0x1f,0x2c,null,0x4,null,0x34,null,0x3,null,0x4b,0xe,0x46,0x12,0x0,0x18,0x2f,null,0x34,null,0x0,0x13,0x4b,0x3,0x4,null,0x46,0x4,0x0,0x5,0x37,0x0,0x0,0xa,0xc,null,0xa,null,0x7,0x9,0x4b,0x20,0x4b,0x15,0x0,0x21,0xa,null,0x6,0x4,0xa,null,0x6,0x3,0x6,0x9,0x0,0x1a,0xc,null,0x4b,0x7,0x6,0x5,0x48,null,0x0,0x22,0x0,0x23,0x68,0x5,0x7,0xa,0x6,0xa,0x0,0x24,0x47,0x25,0x3,null,0x6,0xa,0x0,0x26,0x47,0x19,0x3,null,0x6,0xa,0x0,0x24,0x47,0x27,0x3,null,0x6,0xa,0x4b,0xc,0x4,null,0x46,0x1b,0x0,0xa,0x37,0x1,0x3,null,0x0,0x28,0x4b,0x1d,0x4,null,0x46,0x1e,0x0,0xa,0x37,0x1,0x3,null,0x1,null,0x38,null,0x0,0x13,0x4b,0x3,0x4,null,0x46,0x4,0x0,0x5,0x37,0x0,0x0,0x29,0xc,null,0xa,null,0x4b,0xe,0x46,0x12,0x0,0x2a,0xc,null,0xa,null,0x0,0x1a,0xc,null,0x7,0xb,0x6,0xb,0x0,0x23,0x4b,0x3,0x4,null,0x46,0x2b,0x0,0x13,0x37,0x2,0x7,0xc,0x4b,0x3,0x4,null,0x46,0x4,0x0,0x5,0x37,0x0,0x7,0xd,0x1,null,0x7,0xe,0x6,0xd,0x0,0x2c,0x2c,null,0x34,null,0x0,0x22,0x4,null,0x7,0xe,0x3,null,0x32,null,0x6,0xd,0x0,0x2d,0x2c,null,0x34,null,0x0,0x2e,0x4,null,0x7,0xe,0x3,null,0x32,null,0x6,0xd,0x0,0x2f,0x2c,null,0x34,null,0x0,0x30,0x4,null,0x7,0xe,0x3,null,0x32,null,0x6,0xd,0x0,0x31,0x2c,null,0x34,null,0x0,0x32,0x4,null,0x7,0xe,0x3,null,0x32,null,0x6,0xd,0x0,0x33,0x2c,null,0x34,null,0x0,0x34,0x4,null,0x7,0xe,0x3,null,0x32,null,0x6,0xd,0x0,0x35,0x2c,null,0x34,null,0x0,0x36,0x4,null,0x7,0xe,0x3,null,0x32,null,0x0,0x37,0x4,null,0x7,0xe,0x3,null,0x4b,0x20,0x4b,0x15,0x0,0x21,0xa,null,0x6,0x4,0xa,null,0x6,0x3,0x6,0xc,0x4b,0x7,0x6,0x5,0x48,null,0x6,0xe,0x6,0x5,0x0,0x38,0x68,0x6,0x7,0xf,0x6,0xf,0x0,0x0,0x4b,0xe,0x46,0x12,0x0,0x39,0xc,null,0xa,null,0x47,0x19,0x3,null,0x4b,0xe,0x46,0xf,0x0,0xa,0x2f,null,0x34,null,0x6,0xf,0x4,null,0x46,0x19,0x0,0x29,0xc,null,0x47,0x19,0x3,null,0x6,0xf,0x0,0x3a,0x47,0x25,0x3,null,0x6,0xf,0x0,0x3a,0x47,0x27,0x3,null,0x6,0xf,0x4b,0xc,0x4,null,0x46,0x1b,0x0,0xa,0x37,0x1,0x3,null,0x1,null,0x38,null],'c':[0x3c,"canvasHeight",0x78,"Math","random",0x0,0xc8,"enemyImgArray","length","floor",0x1,0x83,"enemyShipArray","some","game","surgePhase",0.25,0.08,"level",0x2,"MiniBoss","canvasWidth",0x64,0x51,0x3,"health",0.6,"push","MINI-BOSS SPAWNED!","console","log",0.1,"EnemyObj",0x32,"straight",0x5,!![],"isEliteTank",0x320,"guaranteedDrop","ELITE TANK SPAWNED!",1.5,0.15,"min",0.35,0.55,"sine",0.65,"swoop",0.75,"wave",0.85,"zigzag",0.93,"hover","dive",0x6,0xa,![],"spawnEnemyFromWave"],'p':0x1,'l':0xf,'j':{0x34:0x37,0x36:0x38,0x3c:0x45,0x46:0x4c,0x4c:0x78,0x60:0x68,0x80:0x86,0x86:0xbe,0xe2:0xe8,0xe7:0x119,0xeb:0xf1,0xf0:0x119,0xf4:0xfa,0xf9:0x119,0xfd:0x103,0x102:0x119,0x106:0x10c,0x10b:0x119,0x10f:0x115,0x114:0x119,0x136:0x13e},'ni':0x3b},{'i':[0x8,0x2,0x4,null,0x1,null,0x2a,null,0x34,null,0x3,null,0x2,null,0x9,0x2,0x32,null,0x3,null,0xa0,null,0x8,0x0,0x47,0x0,0x3,null,0xa0,null,0x8,0x1,0x47,0x1,0x3,null,0xa0,null,0x0,0x2,0x47,0x3,0x3,null,0xa0,null,0x0,0x2,0x47,0x4,0x3,null,0xa0,null,0x0,0x5,0x47,0x6,0x3,null,0x8,0x2,0x34,null,0xa0,null,0x8,0x2,0x47,0x7,0x3,null,0x32,null,0x4b,0x8,0x4,null,0x46,0x9,0x0,0xa,0x37,0x0,0x7,0x3,0x6,0x3,0x0,0xb,0x2c,null,0x34,null,0xa0,null,0x0,0xc,0x47,0x7,0x3,null,0x32,null,0x6,0x3,0x0,0xd,0x2c,null,0x34,null,0xa0,null,0x0,0xe,0x47,0x7,0x3,null,0x32,null,0xa0,null,0x0,0xf,0x47,0x7,0x3,null,0x1,null,0x38,null],'c':["x","y",0x28,"width","height",0x4,"speed","type","Math","random",0x0,0.23,"bomb",0.54,"double","missile"],'p':0x3,'l':0x1,'j':{0x4:0x9,0x8:0xa,0x1f:0x25,0x24:0x41,0x2e:0x34,0x33:0x41,0x37:0x3d,0x3c:0x41}},{'i':[0x4b,0x0,0x4,null,0x46,0x1,0x0,0x2,0x37,0x0,0x3,null,0x4b,0x0,0x0,0x3,0x47,0x4,0x3,null,0x4b,0x0,0xa0,null,0x46,0x5,0x0,0x6,0x2a,null,0x34,null,0x0,0x7,0x32,null,0x0,0x8,0x47,0x9,0x3,null,0x4b,0x0,0x0,0x8,0x47,0xa,0x3,null,0x4b,0x0,0x0,0xb,0x47,0xc,0x3,null,0xa0,null,0x46,0xd,0xa0,null,0x46,0xe,0xa0,null,0x46,0xf,0xa0,null,0x46,0x10,0x4b,0x0,0x4,null,0x46,0x11,0x0,0x12,0x37,0x4,0x3,null,0x0,0x12,0x7,0x0,0x2,null,0x7,0x1,0xa0,null,0x46,0x5,0x0,0x13,0x2a,null,0x34,null,0x4b,0x14,0x4,null,0x7,0x1,0x3,null,0x32,null,0xa0,null,0x46,0x5,0x0,0x15,0x2a,null,0x34,null,0x4b,0x16,0x4,null,0x7,0x1,0x3,null,0x32,null,0xa0,null,0x46,0x5,0x0,0x17,0x2a,null,0x34,null,0x4b,0x18,0x4,null,0x7,0x1,0x3,null,0x32,null,0xa0,null,0x46,0x5,0x0,0x6,0x2a,null,0x34,null,0x4b,0x19,0x4,null,0x7,0x1,0x3,null,0x6,0x1,0x4,null,0x34,null,0x3,null,0x6,0x1,0x46,0x1a,0x34,null,0x6,0x1,0xa0,null,0x46,0xd,0x6,0x0,0xa,null,0xa0,null,0x46,0xe,0x6,0x0,0xa,null,0xa0,null,0x46,0xf,0x6,0x0,0x0,0x1b,0xc,null,0xb,null,0xa0,null,0x46,0x10,0x6,0x0,0x0,0x1b,0xc,null,0xb,null,0x4b,0x0,0x4,null,0x46,0x1c,0x0,0x1d,0x37,0x5,0x3,null,0x32,null,0xa0,null,0x46,0x5,0x0,0x6,0x2a,null,0x34,null,0x4b,0x0,0x0,0x7,0x47,0x1e,0x3,null,0x4b,0x0,0x0,0x1f,0x47,0x20,0x3,null,0x0,0x21,0xa0,null,0x46,0xd,0x0,0x22,0xa,null,0xa0,null,0x46,0xe,0x0,0x23,0xa,null,0x4b,0x0,0x4,null,0x46,0x24,0x0,0xb,0x37,0x3,0x3,null,0x4b,0x0,0x4,null,0x46,0x25,0x0,0x2,0x37,0x0,0x3,null,0x1,null,0x38,null],'c':["ctx","save",0x0,0xa,"shadowBlur","type","life","#ff3366","#ffffff","shadowColor","strokeStyle",0x3,"lineWidth","x","y","width","height","strokeRect",0x4,"missile","missilePickupImg","double","laserPickupImg","bomb","bombPickupImg","livesImg","complete",0x2,"drawImage",0x5,"fillStyle","24px Arial","font","♥",0x8,0x1c,"fillText","restore"],'p':0x0,'l':0x2,'j':{0xf:0x12,0x11:0x13,0x33:0x39,0x38:0x56,0x3d:0x43,0x42:0x56,0x47:0x4d,0x4c:0x56,0x51:0x56,0x58:0x5c,0x5c:0x79,0x78:0x95,0x7d:0x95}},{'i':[0xa0,null,0x4,null,0x46,0x0,0xa0,null,0x46,0x1,0xb,null,0x47,0x0,0x3,null,0x1,null,0x38,null],'c':["x","speed"],'p':0x0,'l':0x0},{'i':[0x4b,0x0,0x4,null,0x46,0x1,0x0,0x2,0x37,0x0,0x0,0x3,0x2c,null,0x4,null,0x34,null,0x3,null,0x4b,0x4,0x46,0x5,0x0,0x6,0x2c,null,0x34,null,0x4b,0x0,0x4,null,0x46,0x1,0x0,0x2,0x37,0x0,0x4b,0x7,0x0,0x8,0xb,null,0xc,null,0x0,0x9,0xa,null,0x7,0x0,0x4b,0xa,0x4b,0xb,0x0,0xc,0xa,null,0x6,0x0,0x0,0xd,0x68,0x2,0x4b,0x4,0x4,null,0x46,0xe,0x0,0xf,0x37,0x1,0x3,null,0x1,null,0x38,null],'c':["Math","random",0x0,0.002,"abilityTokens","length",0x3,"canvasHeight",0x78,0x3c,"AbilityToken","canvasWidth",0x28,0x2,"push",0x1,"maybeSpawnAbilityToken"],'p':0x0,'l':0x1,'j':{0x8:0xe,0xe:0x28},'ni':0x10},{'i':[0x4b,0x0,0x0,0x1,0x2e,null,0x34,null,0x0,0x2,0x38,null,0x4b,0x3,0x4,null,0x46,0x4,0x0,0x1,0x37,0x0,0x3,null,0x4b,0x5,0x46,0x6,0x4b,0x5,0x46,0x7,0x0,0x8,0xd,null,0xa,null,0x4b,0x5,0x46,0x9,0x4b,0x5,0x46,0xa,0x0,0x8,0xd,null,0xa,null,0x4b,0xb,0x4,null,0x46,0x4,0x0,0x8,0x37,0x2,0x3,null,0x0,0xc,0x4,null,0x4c,0x0,0x3,null,0x3,null,0x0,0xd,0x38,null],'c':["bombCooldown",0x0,![],"spellBombAnimation","activate","player1","x","width",0x2,"y","height","bombSystem",0x82,!![],"useAbility"],'p':0x0,'l':0x0,'j':{0x3:0x6},'ni':0xe},{'i':[0xa0,null,0x8,0x0,0x47,0x0,0x3,null,0xa0,null,0x8,0x1,0x47,0x1,0x3,null,0xa0,null,0x4b,0x2,0x4,null,0x46,0x3,0x0,0x4,0x37,0x0,0x0,0x5,0xb,null,0x0,0x6,0xc,null,0x47,0x7,0x3,null,0xa0,null,0x4b,0x2,0x4,null,0x46,0x3,0x0,0x4,0x37,0x0,0x0,0x5,0xb,null,0x0,0x6,0xc,null,0x47,0x8,0x3,null,0xa0,null,0x0,0x9,0x47,0xa,0x3,null,0xa0,null,0x0,0x9,0x47,0xb,0x3,null,0xa0,null,0x8,0x2,0x47,0xc,0x3,null,0xa0,null,0x4b,0x2,0x4,null,0x46,0x3,0x0,0x4,0x37,0x0,0x0,0xd,0xc,null,0x0,0xe,0xa,null,0x47,0xf,0x3,null,0x1,null,0x38,null],'c':["x","y","Math","random",0x0,0.5,0x8,"vx","vy",0x1e,"life","maxLife","color",0x3,0x2,"size"],'p':0x3,'l':0x0},{'i':[0xa0,null,0x4,null,0x46,0x0,0xa0,null,0x46,0x1,0xa,null,0x47,0x0,0x3,null,0xa0,null,0x4,null,0x46,0x2,0xa0,null,0x46,0x3,0xa,null,0x47,0x2,0x3,null,0xa0,null,0x4,null,0x46,0x1,0x0,0x4,0xc,null,0x47,0x1,0x3,null,0xa0,null,0x4,null,0x46,0x3,0x0,0x4,0xc,null,0x47,0x3,0x3,null,0xa0,null,0x46,0x5,0x4,null,0x0,0x6,0xb,null,0xa0,null,0x5,null,0x47,0x5,0x3,null,0x3,null,0x1,null,0x38,null],'c':["x","vx","y","vy",0.95,"life",0x1],'p':0x0,'l':0x0},{'i':[0xa0,null,0x46,0x0,0xa0,null,0x46,0x1,0xd,null,0x7,0x0,0x4b,0x2,0x4,null,0x46,0x3,0x0,0x4,0x37,0x0,0x3,null,0x4b,0x2,0x6,0x0,0x47,0x5,0x3,null,0x4b,0x2,0x0,0x6,0x47,0x7,0x3,null,0x4b,0x2,0xa0,null,0x46,0x8,0x47,0x9,0x3,null,0x4b,0x2,0x4,null,0x46,0xa,0x0,0x4,0x37,0x0,0x3,null,0xa0,null,0x46,0xb,0xa0,null,0x46,0xc,0xa0,null,0x46,0xd,0x0,0x4,0x4b,0xe,0x46,0xf,0x0,0x10,0xc,null,0x4b,0x2,0x4,null,0x46,0x11,0x0,0x12,0x37,0x5,0x3,null,0x4b,0x2,0x4,null,0x46,0x13,0x0,0x4,0x37,0x0,0x3,null,0x4b,0x2,0x4,null,0x46,0x14,0x0,0x4,0x37,0x0,0x3,null,0x1,null,0x38,null],'c':["life","maxLife","ctx","save",0x0,"globalAlpha","lighter","globalCompositeOperation","color","fillStyle","beginPath","x","y","size","Math","PI",0x2,"arc",0x5,"fill","restore"],'p':0x0,'l':0x1},{'i':[0xa0,null,0x46,0x0,0x0,0x1,0x2d,null,0x38,null],'c':["life",0x0],'p':0x0,'l':0x0},{'i':[0x0,0x0,0x7,0x4,0x6,0x4,0x8,0x2,0x2c,null,0x34,null,0x4b,0x1,0x8,0x0,0x8,0x1,0x8,0x3,0x0,0x2,0x68,0x3,0x4b,0x3,0x4,null,0x46,0x4,0x0,0x5,0x37,0x1,0x3,null,0x6,0x4,0x4,null,0x0,0x5,0xa,null,0x7,0x4,0x3,null,0x32,null,0x1,null,0x38,null],'c':[0x0,"Particle",0x3,"particles","push",0x1,"createParticles"],'p':0x4,'l':0x1,'j':{0x5:0x19,0x18:0x2},'ni':0x6},{'i':[0x4b,0x0,0x46,0x1,0x0,0x2,0xb,null,0x7,0x0,0x6,0x0,0x0,0x3,0x2f,null,0x34,null,0x4b,0x0,0x6,0x0,0x48,null,0x4,null,0x46,0x4,0x0,0x3,0x37,0x0,0x3,null,0x4b,0x0,0x6,0x0,0x48,null,0x46,0x5,0x34,null,0x6,0x0,0x0,0x2,0x4b,0x0,0x4,null,0x46,0x6,0x0,0x7,0x37,0x2,0x3,null,0x6,0x0,0x4,null,0x0,0x2,0xb,null,0x7,0x0,0x3,null,0x32,null,0x1,null,0x38,null],'c':["particles","length",0x1,0x0,"update","isDead","splice",0x2,"updateParticles"],'p':0x0,'l':0x1,'j':{0x8:0x25,0x15:0x1e,0x24:0x5},'ni':0x8},{'i':[0x8,0x0,0x4,null,0x46,0x0,0x0,0x1,0x37,0x0,0x38,null],'c':["draw",0x0],'p':0x1,'l':0x0,'a':0x1},{'i':[0x0,0x0,0x64,null,0x4b,0x1,0x4,null,0x46,0x2,0x0,0x3,0x37,0x1,0x3,null,0x1,null,0x38,null],'c':[0x90,"particles","forEach",0x1,"drawParticles"],'p':0x0,'l':0x0,'ni':0x4},{'i':[0x8,0x0,0x46,0x0,0x8,0x0,0x46,0x1,0xa,null,0x8,0x1,0x46,0x0,0x2e,null,0x4,null,0x34,null,0x3,null,0x8,0x0,0x46,0x0,0x8,0x1,0x46,0x0,0x8,0x1,0x46,0x1,0xa,null,0x2c,null,0x4,null,0x34,null,0x3,null,0x8,0x0,0x46,0x2,0x8,0x0,0x46,0x3,0xa,null,0x8,0x1,0x46,0x2,0x2e,null,0x4,null,0x34,null,0x3,null,0x8,0x0,0x46,0x2,0x8,0x1,0x46,0x2,0x8,0x1,0x46,0x3,0xa,null,0x2c,null,0x38,null],'c':["x","width","y","height"],'p':0x2,'l':0x0,'j':{0x9:0x13,0x14:0x1e,0x1f:0x29},'a':0x1},{'i':[0x0,0x0,0x64,null,0x7,0x2,0x8,0x0,0x46,0x1,0x4,null,0x33,null,0x3,null,0x5a,null,0x8,0x0,0x5b,null,0x7,0x3,0x8,0x1,0x46,0x1,0x4,null,0x33,null,0x3,null,0x5a,null,0x8,0x1,0x5b,null,0x7,0x4,0x6,0x3,0x7f,null,0x7,0x5,0x3,null,0x0,0x2,0x7,0x6,0x3,null,0x0,0x2,0x7,0x6,0x3,null,0x6,0x5,0x7b,null,0x4,null,0x80,null,0x33,null,0x46,0x3,0x7,0x7,0x3,null,0x3a,null,0x6,0x4,0x7f,null,0x7,0x8,0x3,null,0x0,0x2,0x7,0x9,0x3,null,0x0,0x2,0x7,0x9,0x3,null,0x6,0x8,0x7b,null,0x4,null,0x80,null,0x33,null,0x46,0x3,0x7,0xa,0x3,null,0x3a,null,0x6,0x7,0x6,0xa,0x6,0x2,0x0,0x4,0x36,0x2,0x34,null,0x0,0x5,0x38,null,0x3b,null,0x32,null,0x3d,null,0x6,0x9,0x33,null,0x6,0x8,0x7c,null,0x3e,null,0x3,null,0x3b,null,0x32,null,0x3d,null,0x6,0x6,0x33,null,0x6,0x5,0x7c,null,0x3e,null,0x3,null,0x0,0x2,0x38,null],'c':[0x92,"shapes",![],"value",0x2,!![],"Tabrakan"],'p':0x2,'l':0x9,'j':{0x6:0xb,0xf:0x14,0x23:0x54,0x36:0x4b,0x40:0x43,0x44:0x2f,0x47:0x4a,0x4d:0x1c,0x50:0x53},'x':{0x27:[-0x1,0x4e,0x55],0x3a:[-0x1,0x45,0x4c]},'ni':0x6},{'i':[0x8,0x2,0x4,null,0x1,null,0x2a,null,0x34,null,0x3,null,0x0,0x0,0x9,0x2,0x32,null,0x3,null,0xa0,null,0x8,0x0,0x47,0x1,0x3,null,0xa0,null,0x8,0x1,0x47,0x2,0x3,null,0xa0,null,0x0,0x3,0x47,0x4,0x3,null,0xa0,null,0x0,0x5,0x47,0x6,0x3,null,0xa0,null,0x8,0x2,0x47,0x7,0x3,null,0x1,null,0x38,null],'c':[0x1,"x","y",0x0,"frame",0x1e,"maxFrames","scale"],'p':0x3,'l':0x0,'j':{0x4:0x9,0x8:0xa}},{'i':[0xa0,null,0x46,0x0,0x4,null,0x0,0x1,0xa,null,0xa0,null,0x5,null,0x47,0x0,0x3,null,0x3,null,0x1,null,0x38,null],'c':["frame",0x1],'p':0x0,'l':0x0},{'i':[0xa0,null,0x46,0x0,0xa0,null,0x46,0x1,0xd,null,0x7,0x0,0x0,0x2,0x0,0x3,0x6,0x0,0xc,null,0xa,null,0xa0,null,0x46,0x4,0xc,null,0x7,0x1,0x4b,0x5,0x4,null,0x46,0x6,0x0,0x7,0x37,0x0,0x3,null,0x4b,0x5,0x0,0x8,0x6,0x0,0xb,null,0x47,0x9,0x3,null,0xa0,null,0x46,0xa,0xa0,null,0x46,0xb,0x0,0x7,0xa0,null,0x46,0xa,0xa0,null,0x46,0xb,0x6,0x1,0x4b,0x5,0x4,null,0x46,0xc,0x0,0xd,0x37,0x6,0x7,0x2,0x0,0x7,0x0,0xe,0x6,0x2,0x4,null,0x46,0xf,0x0,0x10,0x37,0x2,0x3,null,0x0,0x11,0x0,0x12,0x6,0x2,0x4,null,0x46,0xf,0x0,0x10,0x37,0x2,0x3,null,0x0,0x13,0x0,0x14,0x6,0x2,0x4,null,0x46,0xf,0x0,0x10,0x37,0x2,0x3,null,0x0,0x8,0x0,0x15,0x6,0x2,0x4,null,0x46,0xf,0x0,0x10,0x37,0x2,0x3,null,0x4b,0x5,0x6,0x2,0x47,0x16,0x3,null,0x4b,0x5,0x4,null,0x46,0x17,0x0,0x7,0x37,0x0,0x3,null,0xa0,null,0x46,0xa,0xa0,null,0x46,0xb,0x6,0x1,0x0,0x7,0x4b,0x18,0x46,0x19,0x0,0x10,0xc,null,0x4b,0x5,0x4,null,0x46,0x1a,0x0,0x1b,0x37,0x5,0x3,null,0x4b,0x5,0x4,null,0x46,0x1c,0x0,0x7,0x37,0x0,0x3,null,0x4b,0x5,0x4,null,0x46,0x1d,0x0,0x7,0x37,0x0,0x3,null,0x1,null,0x38,null],'c':["frame","maxFrames",0x14,0x3c,"scale","ctx","save",0x0,0x1,"globalAlpha","x","y","createRadialGradient",0x6,"#ffffff","addColorStop",0x2,0.2,"#ffe066",0.5,"#ff8c42","#ff0000","fillStyle","beginPath","Math","PI","arc",0x5,"fill","restore"],'p':0x0,'l':0x3},{'i':[0xa0,null,0x46,0x0,0xa0,null,0x46,0x1,0x2f,null,0x38,null],'c':["frame","maxFrames"],'p':0x0,'l':0x0},{'i':[0x4b,0x0,0x0,0x1,0x2a,null,0x34,null,0x0,0x2,0x32,null,0x4b,0x3,0x7,0x0,0x4b,0x0,0x0,0x4,0x2a,null,0x34,null,0x0,0x2,0x6,0x0,0xb,null,0x4,null,0x7,0x0,0x3,null,0x0,0x2,0x0,0x2,0x6,0x0,0xb,null,0x0,0x5,0x4b,0x6,0x4,null,0x46,0x7,0x0,0x8,0x37,0x2,0xb,null,0x7,0x1,0x0,0x9,0x0,0x2,0x6,0x1,0x4b,0x6,0x4,null,0x46,0xa,0x0,0x8,0x37,0x2,0x4b,0x6,0x4,null,0x46,0xb,0x0,0x8,0x37,0x2,0x7,0x2,0x4b,0xc,0x4,null,0x46,0xd,0x0,0x9,0x37,0x0,0x3,null,0x4b,0xc,0x0,0xe,0x6,0x2,0xc,null,0x47,0xf,0x3,null,0x4b,0xc,0x0,0x10,0x47,0x11,0x3,null,0x0,0x9,0x0,0x9,0x4b,0x12,0x4b,0x13,0x4b,0xc,0x4,null,0x46,0x14,0x0,0x15,0x37,0x4,0x3,null,0x4b,0xc,0x4,null,0x46,0x16,0x0,0x9,0x37,0x0,0x3,null,0x6,0x2,0x0,0x17,0x2d,null,0x34,null,0x1,null,0x38,null,0x4b,0xc,0x4,null,0x46,0xd,0x0,0x9,0x37,0x0,0x3,null,0x4b,0xc,0x0,0x18,0x47,0x19,0x3,null,0x4b,0xc,0x6,0x2,0x47,0xf,0x3,null,0x4b,0x1a,0x4,null,0x46,0x1b,0x0,0x9,0x37,0x0,0x0,0x1c,0xd,null,0x7,0x3,0x6,0x3,0x0,0x8,0xc,null,0x4b,0x6,0x4,null,0x46,0x1d,0x0,0x2,0x37,0x1,0x0,0x1e,0xc,null,0x0,0x1f,0xa,null,0x7,0x4,0x4b,0xc,0x0,0x20,0x47,0x21,0x3,null,0x0,0x22,0x7,0x5,0x6,0x5,0x0,0x9,0x2e,null,0x34,null,0x4b,0xc,0x0,0x23,0x0,0x22,0x6,0x5,0xb,null,0x0,0x24,0xd,null,0xa,null,0x0,0x25,0xa,null,0x47,0x26,0x3,null,0x4b,0xc,0x6,0x5,0x47,0x27,0x3,null,0x4b,0xc,0x0,0x28,0x0,0x22,0x6,0x5,0xb,null,0x0,0x24,0xd,null,0xa,null,0x0,0x25,0xa,null,0x47,0x11,0x3,null,0x0,0x29,0x4b,0x12,0x0,0x8,0xd,null,0x4b,0x13,0x0,0x8,0xd,null,0x4b,0xc,0x4,null,0x46,0x2a,0x0,0x5,0x37,0x3,0x3,null,0x6,0x5,0x0,0x5,0xb,null,0x4,null,0x7,0x5,0x3,null,0x32,null,0x4b,0x12,0x0,0x8,0xd,null,0x0,0x2b,0xb,null,0x0,0x9,0x4b,0x12,0x0,0x8,0xd,null,0x0,0x2b,0xa,null,0x0,0x9,0x4b,0xc,0x4,null,0x46,0x2c,0x0,0x15,0x37,0x4,0x7,0x6,0x0,0x9,0x0,0x2d,0x6,0x6,0x4,null,0x46,0x2e,0x0,0x8,0x37,0x2,0x3,null,0x0,0x2f,0x0,0x30,0x6,0x6,0x4,null,0x46,0x2e,0x0,0x8,0x37,0x2,0x3,null,0x0,0x2,0x0,0x2d,0x6,0x6,0x4,null,0x46,0x2e,0x0,0x8,0x37,0x2,0x3,null,0x4b,0xc,0x0,0x31,0x47,0x26,0x3,null,0x4b,0xc,0x0,0x32,0x6,0x4,0xc,null,0x47,0x27,0x3,null,0x4b,0xc,0x6,0x6,0x47,0x11,0x3,null,0x0,0x29,0x4b,0x12,0x0,0x8,0xd,null,0x4b,0x13,0x0,0x8,0xd,null,0x4b,0xc,0x4,null,0x46,0x2a,0x0,0x5,0x37,0x3,0x3,null,0x4b,0xc,0x0,0x33,0x47,0x21,0x3,null,0x4b,0xc,0x0,0x34,0x47,0x11,0x3,null,0x0,0x35,0x4b,0x12,0x0,0x8,0xd,null,0x4b,0x13,0x0,0x24,0xb,null,0x4b,0xc,0x4,null,0x46,0x2a,0x0,0x5,0x37,0x3,0x3,null,0x4b,0xc,0x4,null,0x46,0x16,0x0,0x9,0x37,0x0,0x3,null,0x1,null,0x38,null],'c':["pauseFadeState","active",0x1,"pauseFadeTimer","out",0x3,"Math","pow",0x2,0x0,"min","max","ctx","save",0.7,"globalAlpha","black","fillStyle","canvasWidth","canvasHeight","fillRect",0x4,"restore",0.01,"center","textAlign","Date","now",0x3e8,"sin",0.15,0.85,"900 100px Orbitron, Arial","font",0x1e,"rgba(50, 100, 255, ",0x64,")","shadowColor","shadowBlur","rgba(0, 50, 255, ","PAUSED","fillText",0xc8,"createLinearGradient","#0066ff","addColorStop",0.5,"#00eaff","rgba(0, 234, 255, 0.8)",0x28,"20px font1, Arial","rgba(100, 200, 255, 0.8)","Press P or ESC to Resume","drawPauseOverlay"],'p':0x0,'l':0x7,'j':{0x3:0x6,0x5:0x7,0xb:0x12,0x4f:0x52,0x7e:0xaf,0xae:0x7b},'ni':0x36},{'i':[0x4b,0x0,0x46,0x1,0x0,0x2,0x2b,null,0x34,null,0x1,null,0x38,null,0x4b,0x3,0x4,null,0x46,0x4,0x0,0x5,0x37,0x0,0x4b,0x0,0x46,0x6,0xb,null,0x7,0x0,0x0,0x7,0x7,0x1,0x0,0x8,0x7,0x2,0x0,0x7,0x7,0x3,0x0,0x5,0x7,0x4,0x6,0x0,0x6,0x1,0x2c,null,0x34,null,0x6,0x0,0x6,0x1,0xd,null,0x7,0x5,0x6,0x5,0x6,0x5,0xc,null,0x4,null,0x7,0x4,0x3,null,0x32,null,0x6,0x0,0x6,0x1,0x6,0x2,0xa,null,0x2c,null,0x34,null,0x0,0x9,0x4,null,0x7,0x4,0x3,null,0x32,null,0x6,0x0,0x6,0x1,0x6,0x2,0xa,null,0x6,0x3,0xa,null,0x2c,null,0x34,null,0x6,0x0,0x6,0x1,0x6,0x2,0xa,null,0xb,null,0x6,0x3,0xd,null,0x7,0x6,0x0,0x9,0x6,0x6,0x6,0x6,0xc,null,0xb,null,0x4,null,0x7,0x4,0x3,null,0x32,null,0x0,0x5,0x4,null,0x7,0x4,0x3,null,0x6,0x4,0x0,0x5,0x2d,null,0x34,null,0x1,null,0x38,null,0x4b,0xa,0x4,null,0x46,0xb,0x0,0x5,0x37,0x0,0x3,null,0x4b,0xa,0x0,0xc,0x47,0xd,0x3,null,0x4b,0xa,0x0,0xe,0x6,0x4,0xa,null,0x0,0xf,0xa,null,0x47,0x10,0x3,null,0x0,0x5,0x0,0x5,0x4b,0x11,0x4b,0x12,0x4b,0xa,0x4,null,0x46,0x13,0x0,0x14,0x37,0x4,0x3,null,0x4b,0xa,0x0,0x15,0x47,0xd,0x3,null,0x4b,0xa,0x0,0x16,0x6,0x4,0x0,0x17,0xc,null,0xa,null,0x0,0xf,0xa,null,0x47,0x10,0x3,null,0x0,0x5,0x0,0x5,0x4b,0x11,0x4b,0x12,0x4b,0xa,0x4,null,0x46,0x13,0x0,0x14,0x37,0x4,0x3,null,0x4b,0xa,0x0,0x18,0x47,0xd,0x3,null,0x4b,0xa,0x0,0x19,0x47,0x1a,0x3,null,0x4b,0xa,0x0,0x1b,0x47,0x1c,0x3,null,0x4b,0xa,0x0,0x1d,0x47,0x1e,0x3,null,0x4b,0xa,0x0,0x16,0x6,0x4,0xa,null,0x0,0xf,0xa,null,0x47,0x1f,0x3,null,0x4b,0xa,0x0,0x20,0x47,0x21,0x3,null,0x4b,0xa,0x0,0x22,0x6,0x4,0xa,null,0x0,0xf,0xa,null,0x47,0x10,0x3,null,0x0,0x23,0x4b,0x11,0x0,0x24,0xd,null,0x4b,0x12,0x0,0x24,0xd,null,0x4b,0xa,0x4,null,0x46,0x25,0x0,0x26,0x37,0x3,0x3,null,0x4b,0xa,0x0,0x27,0x47,0xd,0x3,null,0x4b,0xa,0x0,0x28,0x47,0x21,0x3,null,0x4b,0xa,0x0,0x16,0x6,0x4,0x0,0x29,0xc,null,0xa,null,0x0,0xf,0xa,null,0x47,0x10,0x3,null,0x0,0x23,0x4b,0x11,0x0,0x24,0xd,null,0x4b,0x12,0x0,0x24,0xd,null,0x4b,0xa,0x4,null,0x46,0x25,0x0,0x26,0x37,0x3,0x3,null,0x4b,0xa,0x4,null,0x46,0x2a,0x0,0x5,0x37,0x0,0x3,null,0x1,null,0x38,null],'c':["game","surgeSchedulerState","WARNING_PHASE","Date","now",0x0,"warningStartTime",0x320,0xfa0,0x1,"ctx","save","multiply","globalCompositeOperation","rgba(180, 0, 0, ",")","fillStyle","canvasWidth","canvasHeight","fillRect",0x4,"overlay","rgba(255, 0, 0, ",0.6,"source-over","center","textAlign","middle","textBaseline","bold 60px Orbitron, Arial","font","shadowColor",0x28,"shadowBlur","rgba(255, 50, 50, ","Here they come...",0x2,"fillText",0x3,"lighter",0x3c,0.5,"restore","drawSurgeWarningOverlay"],'p':0x0,'l':0x6,'j':{0x4:0x7,0x1b:0x27,0x26:0x4f,0x2c:0x32,0x31:0x4f,0x39:0x4b,0x4a:0x4f,0x52:0x55},'ni':0x2b},{'i':[0x4b,0x0,0x20,null,0x34,null,0x0,0x1,0x4b,0x2,0x4,null,0x46,0x3,0x0,0x4,0x37,0x1,0x4,null,0x4c,0x0,0x3,null,0x3,null,0x4b,0x0,0x4b,0x5,0x47,0x6,0x3,null,0x4b,0x0,0x4b,0x7,0x47,0x8,0x3,null,0x0,0x9,0x4b,0x0,0x4,null,0x46,0xa,0x0,0x4,0x37,0x1,0x7,0x0,0x4b,0x5,0x0,0xb,0xd,null,0x4b,0x7,0x0,0xb,0xd,null,0x0,0xc,0x4b,0x5,0x0,0xb,0xd,null,0x4b,0x7,0x0,0xb,0xd,null,0x4b,0x5,0x6,0x0,0x4,null,0x46,0xd,0x0,0xe,0x37,0x6,0x7,0x1,0x0,0xf,0x0,0x10,0x6,0x1,0x4,null,0x46,0x11,0x0,0xb,0x37,0x2,0x3,null,0x0,0x4,0x0,0x12,0x6,0x1,0x4,null,0x46,0x11,0x0,0xb,0x37,0x2,0x3,null,0x6,0x0,0x6,0x1,0x47,0x13,0x3,null,0x0,0xf,0x0,0xf,0x4b,0x5,0x4b,0x7,0x6,0x0,0x4,null,0x46,0x14,0x0,0x15,0x37,0x4,0x3,null,0x4b,0x0,0x0,0xf,0x0,0xf,0x4b,0x16,0x4,null,0x46,0x17,0x0,0x18,0x37,0x3,0x3,null,0x4b,0x19,0x46,0x1a,0x20,null,0x34,null,0x4b,0x19,0x0,0x1,0x4b,0x2,0x4,null,0x46,0x3,0x0,0x4,0x37,0x1,0x47,0x1a,0x3,null,0x4b,0x19,0x46,0x1a,0x0,0xc,0x47,0x6,0x3,null,0x4b,0x19,0x46,0x1a,0x0,0xc,0x47,0x8,0x3,null,0x0,0x9,0x4b,0x19,0x46,0x1a,0x4,null,0x46,0xa,0x0,0x4,0x37,0x1,0x7,0x2,0x0,0xc,0x0,0xc,0x6,0x2,0x4,null,0x46,0x1b,0x0,0xb,0x37,0x2,0x7,0x3,0x0,0xf,0x7,0x4,0x6,0x4,0x6,0x3,0x46,0x1c,0x46,0x1d,0x2c,null,0x34,null,0x4b,0x1e,0x4,null,0x46,0x1f,0x0,0xf,0x37,0x0,0x0,0x20,0xc,null,0x7,0x5,0x6,0x3,0x46,0x1c,0x6,0x4,0x6,0x5,0x49,null,0x3,null,0x6,0x3,0x46,0x1c,0x6,0x4,0x0,0x4,0xa,null,0x6,0x5,0x49,null,0x3,null,0x6,0x3,0x46,0x1c,0x6,0x4,0x0,0xb,0xa,null,0x6,0x5,0x49,null,0x3,null,0x6,0x3,0x46,0x1c,0x6,0x4,0x0,0x18,0xa,null,0x0,0x21,0x49,null,0x3,null,0x6,0x4,0x0,0x15,0xa,null,0x4,null,0x7,0x4,0x3,null,0x32,null,0x6,0x3,0x0,0xf,0x0,0xf,0x6,0x2,0x4,null,0x46,0x22,0x0,0x18,0x37,0x3,0x3,null,0x4b,0x16,0x4,null,0x46,0x23,0x0,0xf,0x37,0x0,0x3,null,0x4b,0x16,0x0,0x24,0x47,0x25,0x3,null,0x4b,0x16,0x0,0x26,0x47,0x27,0x3,null,0x4b,0x19,0x46,0x1a,0x0,0x28,0x4b,0x16,0x4,null,0x46,0x29,0x0,0xb,0x37,0x2,0x7,0x6,0x4b,0x16,0x6,0x6,0x47,0x13,0x3,null,0x4b,0x1e,0x4,null,0x46,0x1f,0x0,0xf,0x37,0x0,0x0,0x2a,0xc,null,0x4b,0x1e,0x4,null,0x46,0x1f,0x0,0xf,0x37,0x0,0x0,0x2a,0xc,null,0x4b,0x16,0x4,null,0x46,0x2b,0x0,0xb,0x37,0x2,0x3,null,0x0,0x2a,0xf,null,0x0,0x2a,0xf,null,0x4b,0x5,0x0,0x2a,0xa,null,0x4b,0x7,0x0,0x2a,0xa,null,0x4b,0x16,0x4,null,0x46,0x14,0x0,0x15,0x37,0x4,0x3,null,0x4b,0x16,0x4,null,0x46,0x2c,0x0,0xf,0x37,0x0,0x3,null,0x4b,0x2d,0x0,0xf,0x2e,null,0x34,null,0x4b,0x2d,0x0,0x21,0xd,null,0x0,0x2e,0xc,null,0x7,0x7,0x4b,0x16,0x0,0x2f,0x0,0xb,0x6,0x7,0x4,null,0x46,0x30,0x0,0x4,0x37,0x1,0xa,null,0x0,0x31,0xa,null,0x47,0x13,0x3,null,0x0,0xf,0x0,0xf,0x4b,0x5,0x4b,0x7,0x4b,0x16,0x4,null,0x46,0x14,0x0,0x15,0x37,0x4,0x3,null,0x4b,0x2d,0x4,null,0x0,0x4,0xb,null,0x4c,0x2d,0x3,null,0x3,null,0x4b,0x19,0x46,0x32,0x0,0x4,0x2e,null,0x34,null,0x4b,0x19,0x46,0x32,0x0,0x4,0xb,null,0x0,0x33,0x0,0x4,0xb,null,0xd,null,0x7,0x8,0x6,0x8,0x0,0xf,0x2e,null,0x34,null,0x4b,0x16,0x4,null,0x46,0x23,0x0,0xf,0x37,0x0,0x3,null,0x4b,0x5,0x0,0xb,0xd,null,0x7,0x9,0x4b,0x7,0x0,0xb,0xd,null,0x7,0xa,0x4b,0x5,0x4b,0x7,0x4b,0x1e,0x4,null,0x46,0x34,0x0,0xb,0x37,0x2,0x0,0x35,0xc,null,0x7,0xb,0x4b,0x36,0x4,null,0x46,0x37,0x0,0xf,0x37,0x0,0x0,0x38,0xc,null,0x7,0xc,0x4b,0x16,0x0,0x39,0x47,0x25,0x3,null,0x6,0x9,0x6,0xa,0x6,0xb,0x0,0x3a,0xc,null,0x6,0x9,0x6,0xa,0x6,0xb,0x4b,0x16,0x4,null,0x46,0xd,0x0,0xe,0x37,0x6,0x7,0xd,0x0,0xf,0x0,0x3b,0x6,0xd,0x4,null,0x46,0x11,0x0,0xb,0x37,0x2,0x3,null,0x0,0x3c,0x0,0x3d,0x6,0x8,0x0,0x3a,0xc,null,0xa,null,0x0,0x31,0xa,null,0x6,0xd,0x4,null,0x46,0x11,0x0,0xb,0x37,0x2,0x3,null,0x0,0x3e,0x0,0x3f,0x6,0x8,0x0,0x3c,0xc,null,0xa,null,0x0,0x31,0xa,null,0x6,0xd,0x4,null,0x46,0x11,0x0,0xb,0x37,0x2,0x3,null,0x0,0x4,0x0,0x40,0x6,0x8,0x0,0x41,0xc,null,0xa,null,0x0,0x31,0xa,null,0x6,0xd,0x4,null,0x46,0x11,0x0,0xb,0x37,0x2,0x3,null,0x4b,0x16,0x6,0xd,0x47,0x13,0x3,null,0x0,0xf,0x0,0xf,0x4b,0x5,0x4b,0x7,0x4b,0x16,0x4,null,0x46,0x14,0x0,0x15,0x37,0x4,0x3,null,0x4b,0x16,0x0,0x39,0x47,0x25,0x3,null,0x0,0x15,0x7,0xe,0x0,0xf,0x7,0xf,0x6,0xf,0x6,0xe,0x2c,null,0x34,null,0x6,0xc,0x6,0xf,0x0,0xb,0xc,null,0xa,null,0x0,0x42,0xe,null,0x7,0x10,0x6,0x10,0x0,0x42,0xd,null,0x6,0xb,0xc,null,0x7,0x11,0x0,0x4,0x6,0x10,0x0,0x42,0xd,null,0xb,null,0x6,0x8,0xc,null,0x0,0x43,0xc,null,0x7,0x12,0x6,0x12,0x0,0x44,0x2e,null,0x34,null,0x4b,0x16,0x4,null,0x46,0x45,0x0,0xf,0x37,0x0,0x3,null,0x6,0x9,0x6,0xa,0x6,0x11,0x0,0xf,0x4b,0x1e,0x46,0x46,0x0,0xb,0xc,null,0x4b,0x16,0x4,null,0x46,0x47,0x0,0x48,0x37,0x5,0x3,null,0x4b,0x16,0x0,0x49,0x6,0x12,0xa,null,0x0,0x31,0xa,null,0x47,0x4a,0x3,null,0x4b,0x16,0x0,0x4b,0x6,0x10,0x0,0x42,0xd,null,0x0,0x4c,0xc,null,0xa,null,0x47,0x4d,0x3,null,0x4b,0x16,0x4,null,0x46,0x4e,0x0,0xf,0x37,0x0,0x3,null,0x6,0xf,0x4,null,0x0,0x4,0xa,null,0x7,0xf,0x3,null,0x32,null,0x4b,0x16,0x0,0x4f,0x47,0x25,0x3,null,0x6,0x9,0x6,0xa,0x0,0xf,0x6,0x9,0x6,0xa,0x6,0xb,0x0,0x2e,0xc,null,0x4b,0x16,0x4,null,0x46,0xd,0x0,0xe,0x37,0x6,0x7,0x13,0x0,0xf,0x0,0x50,0x6,0x8,0x0,0x51,0xc,null,0xa,null,0x0,0x31,0xa,null,0x6,0x13,0x4,null,0x46,0x11,0x0,0xb,0x37,0x2,0x3,null,0x0,0x52,0x0,0x53,0x6,0x8,0x0,0x26,0xc,null,0xa,null,0x0,0x31,0xa,null,0x6,0x13,0x4,null,0x46,0x11,0x0,0xb,0x37,0x2,0x3,null,0x0,0x4,0x0,0x54,0x6,0x13,0x4,null,0x46,0x11,0x0,0xb,0x37,0x2,0x3,null,0x4b,0x16,0x6,0x13,0x47,0x13,0x3,null,0x0,0xf,0x0,0xf,0x4b,0x5,0x4b,0x7,0x4b,0x16,0x4,null,0x46,0x14,0x0,0x15,0x37,0x4,0x3,null,0x4b,0x16,0x4,null,0x46,0x2c,0x0,0xf,0x37,0x0,0x3,null,0x1,null,0x38,null],'c':["vignetteCanvas","canvas","document","createElement",0x1,"canvasWidth","width","canvasHeight","height","2d","getContext",0x2,0xc8,"createRadialGradient",0x6,0x0,"rgba(0,0,0,0)","addColorStop","rgba(0,0,0,0.6)","fillStyle","fillRect",0x4,"ctx","drawImage",0x3,"game","noiseCanvas","createImageData","data","length","Math","random",0xff,0x14,"putImageData","save","overlay","globalCompositeOperation",0.08,"globalAlpha","repeat","createPattern",0x32,"translate","restore","damageFlash",0.6,"rgba(255,0,0,","toFixed",")","surge",0x7,"max",0.9,"Date","now",0.002,"source-over",0.3,"rgba(0, 0, 0, 0)",0.5,"rgba(30, 20, 15, ",0.8,"rgba(50, 35, 25, ","rgba(40, 25, 20, ",0.7,0x8,0.25,0.02,"beginPath","PI","arc",0x5,"rgba(80, 60, 50, ","strokeStyle",0xf,0x1e,"lineWidth","stroke","screen","rgba(255, 220, 180, ",0.15,0.4,"rgba(255, 180, 120, ","rgba(200, 100, 50, 0)","drawScreenShading"],'p':0x0,'l':0x14,'j':{0x2:0x4e,0x5a:0xbc,0x85:0xb3,0xb2:0x80,0x104:0x129,0x12d:0x252,0x13a:0x252,0x1b8:0x208,0x1d4:0x201,0x207:0x1b5},'ni':0x55},{'i':[0xd5,0x0,0xd2,0x0],'c':[],'p':0x0,'l':0x0,'a':0x1},{'i':[0xd5,0x0,0xd2,0x0],'c':[],'p':0x0,'l':0x0,'a':0x1},{'i':[0xd5,0x0,0xd2,0x0],'c':[],'p':0x0,'l':0x0,'a':0x1},{'i':[0x0,0x0,0x7,0x0,0x0,0x1,0x7,0x1,0x0,0x0,0x7,0x2,0x0,0x2,0x7,0x3,0x0,0x3,0x7,0x4,0x0,0x4,0x7,0x5,0x4b,0x5,0x46,0x6,0x0,0x7,0x2a,null,0x34,null,0x4b,0x5,0x46,0x8,0x0,0x9,0x2a,null,0x34,null,0x4b,0x5,0x46,0xa,0x4,null,0x0,0xb,0xb,null,0x4b,0x5,0x5,null,0x47,0xa,0x3,null,0x3,null,0x4b,0x5,0x46,0xa,0x0,0x7,0x2d,null,0x34,null,0x4b,0x5,0x0,0xc,0x47,0x8,0x3,null,0x4b,0x5,0x0,0x7,0x47,0xd,0x3,null,0x4b,0x5,0x4b,0xe,0x4,null,0x46,0xf,0x0,0x7,0x37,0x0,0x6,0x4,0xc,null,0x4b,0xe,0x4,null,0x46,0x10,0x0,0xb,0x37,0x1,0x47,0x11,0x3,null,0x0,0x12,0x4b,0x5,0x46,0x11,0xa,null,0x4b,0x13,0x4,null,0x46,0x14,0x0,0xb,0x37,0x1,0x3,null,0x32,null,0x4b,0x5,0x46,0x8,0x0,0xc,0x2a,null,0x34,null,0x4b,0x5,0x46,0xd,0x4,null,0x0,0xb,0xa,null,0x4b,0x5,0x5,null,0x47,0xd,0x3,null,0x3,null,0x4b,0x5,0x46,0xd,0x4b,0x5,0x46,0x11,0x2f,null,0x34,null,0x0,0x15,0x4b,0x13,0x4,null,0x46,0x14,0x0,0xb,0x37,0x1,0x3,null,0x4b,0x5,0x0,0x16,0x47,0x8,0x3,null,0x4b,0x5,0x4b,0x17,0x4,null,0x46,0x18,0x0,0x7,0x37,0x0,0x47,0x19,0x3,null,0x32,null,0x4b,0x5,0x46,0x8,0x0,0x16,0x2a,null,0x34,null,0xd5,0x0,0xd2,0x0,0xda,0x1a,0xda,0x1b,0x4b,0x17,0x4,null,0x46,0x18,0x0,0x7,0x37,0x0,0x4b,0x5,0x46,0x19,0xb,null,0xd7,0x1c,0x0,0x1d,0xd7,0x1e,0xd3,0x1c,0xd3,0x1e,0x2c,null,0x34,null,0x4b,0x1f,0x0,0xb,0xd3,0x1c,0xd3,0x1e,0xd,null,0xb,null,0xc,null,0x7,0x8,0x6,0x8,0x0,0x7,0x2c,null,0x34,null,0x0,0x7,0x4,null,0x7,0x8,0x3,null,0x4b,0x20,0x6,0x8,0x47,0x21,0x3,null,0x32,null,0x4b,0x20,0x4,null,0x46,0x22,0x0,0x7,0x37,0x0,0x3,null,0x4b,0x20,0x46,0x23,0x4,null,0x4c,0x24,0x3,null,0x3,null,0x4b,0x20,0x4b,0x1f,0x47,0x21,0x3,null,0x0,0x25,0x4b,0x13,0x4,null,0x46,0x14,0x0,0xb,0x37,0x1,0x3,null,0x4b,0x5,0x0,0x26,0x47,0x8,0x3,null,0x4b,0x5,0x4b,0x17,0x4,null,0x46,0x18,0x0,0x7,0x37,0x0,0x47,0x19,0x3,null,0x4b,0x27,0x46,0x28,0x34,null,0x4b,0x29,0x0,0x7,0x47,0x23,0x3,null,0x0,0x2a,0x64,null,0x4b,0x29,0x4,null,0x46,0x2b,0x0,0x7,0x37,0x0,0x4,null,0x46,0x2c,0x0,0xb,0x37,0x1,0x3,null,0xd6,0x0,0x32,null,0x4b,0x5,0x46,0x8,0x0,0x26,0x2a,null,0x34,null,0x4b,0x17,0x4,null,0x46,0x18,0x0,0x7,0x37,0x0,0x4b,0x5,0x46,0x19,0xb,null,0xd7,0x1c,0x0,0x2d,0x0,0x2e,0xa,null,0x0,0x2d,0xa,null,0x0,0x2f,0xc,null,0x7,0xa,0xd3,0x1c,0x6,0xa,0x2f,null,0x34,null,0x0,0x30,0x4b,0x13,0x4,null,0x46,0x14,0x0,0xb,0x37,0x1,0x3,null,0x4b,0x5,0x0,0xb,0x47,0x6,0x3,null,0x4b,0x5,0x0,0xb,0x47,0x31,0x3,null,0x4b,0x5,0x0,0x32,0x47,0x8,0x3,null,0x0,0x33,0x0,0xb,0x4b,0x34,0x0,0x35,0x36,0x2,0x3,null,0x4b,0x36,0x4,null,0x46,0x37,0x0,0x7,0x37,0x0,0x3,null,0x4b,0x38,0x4,null,0x46,0x39,0x0,0x7,0x37,0x0,0x3,null,0x4b,0x3a,0x4,null,0x46,0x3b,0x0,0x7,0x37,0x0,0x3,null,0x0,0x7,0x4,null,0x4c,0x3c,0x3,null,0x3,null,0x32,null,0x4b,0x5,0x46,0x8,0x0,0x3d,0x2a,null,0x34,null,0xd5,0x0,0xd2,0x0,0xda,0x1a,0x4b,0x17,0x4,null,0x46,0x18,0x0,0x7,0x37,0x0,0x4b,0x5,0x46,0x19,0xb,null,0xd7,0x1c,0xd3,0x1c,0x0,0x2f,0x2f,null,0x34,null,0x4b,0x27,0x46,0x3e,0x34,null,0x4b,0x20,0x4b,0x24,0x47,0x23,0x3,null,0x4b,0x20,0x0,0x7,0x47,0x21,0x3,null,0x0,0x3f,0x64,null,0x4b,0x20,0x4,null,0x46,0x2b,0x0,0x7,0x37,0x0,0x4,null,0x46,0x2c,0x0,0xb,0x37,0x1,0x3,null,0x4b,0x5,0x0,0x40,0x47,0x8,0x3,null,0x4b,0x5,0x4b,0x17,0x4,null,0x46,0x18,0x0,0x7,0x37,0x0,0x47,0x41,0x3,null,0x0,0x42,0x4b,0x13,0x4,null,0x46,0x14,0x0,0xb,0x37,0x1,0x3,null,0x32,null,0x4b,0x5,0x0,0x43,0x47,0x8,0x3,null,0x4b,0x5,0x6,0x5,0x47,0xa,0x3,null,0xd6,0x0,0x32,null,0x4b,0x5,0x46,0x8,0x0,0x40,0x2a,null,0x34,null,0x4b,0x17,0x4,null,0x46,0x18,0x0,0x7,0x37,0x0,0x4b,0x5,0x46,0x41,0xb,null,0xd7,0x1c,0x0,0x2f,0xd7,0x1e,0xd3,0x1c,0xd3,0x1e,0x2c,null,0x34,null,0x4b,0x20,0x4b,0x1f,0xd3,0x1c,0xd3,0x1e,0xd,null,0xc,null,0x47,0x21,0x3,null,0x32,null,0x4b,0x20,0x4b,0x1f,0x47,0x21,0x3,null,0x4b,0x5,0x0,0x43,0x47,0x8,0x3,null,0x4b,0x5,0x6,0x5,0x47,0xa,0x3,null,0x0,0x44,0x4b,0x13,0x4,null,0x46,0x14,0x0,0xb,0x37,0x1,0x3,null,0x32,null,0x4b,0x5,0x46,0x8,0x0,0x43,0x2a,null,0x34,null,0x4b,0x5,0x46,0xa,0x4,null,0x0,0xb,0xb,null,0x4b,0x5,0x5,null,0x47,0xa,0x3,null,0x3,null,0x4b,0x5,0x46,0xa,0x0,0x7,0x2d,null,0x34,null,0x4b,0x5,0x0,0xc,0x47,0x8,0x3,null,0x4b,0x5,0x0,0x7,0x47,0xd,0x3,null,0x4b,0x5,0x4b,0xe,0x4,null,0x46,0xf,0x0,0x7,0x37,0x0,0x6,0x4,0xc,null,0x4b,0xe,0x4,null,0x46,0x10,0x0,0xb,0x37,0x1,0x47,0x11,0x3,null,0x0,0x45,0x4b,0x5,0x46,0x11,0xa,null,0x4b,0x13,0x4,null,0x46,0x14,0x0,0xb,0x37,0x1,0x3,null,0x32,null,0x4b,0x5,0x46,0x6,0x0,0xb,0x2a,null,0x34,null,0x6,0x3,0x0,0xb,0xb,null,0x6,0x0,0xd,null,0x7,0xe,0x4b,0x5,0x4,null,0x46,0x31,0x6,0xe,0xa,null,0x47,0x31,0x3,null,0x4b,0x5,0x46,0x31,0x6,0x3,0x2f,null,0x34,null,0x4b,0x5,0x6,0x3,0x47,0x31,0x3,null,0x4b,0x5,0x0,0x35,0x47,0x6,0x3,null,0x4b,0x5,0x6,0x1,0x47,0x46,0x3,null,0x4b,0x5,0x46,0x6,0x0,0xb,0x2a,null,0x4,null,0x33,null,0x3,null,0x4b,0x5,0x46,0x6,0x0,0x35,0x2a,null,0x4,null,0x34,null,0x3,null,0x4b,0x47,0x2,null,0x2a,null,0x34,null,0x4b,0x3c,0x4,null,0x0,0xb,0xa,null,0x4c,0x3c,0x3,null,0x3,null,0x4b,0x3c,0x0,0x48,0x2f,null,0x34,null,0xd5,0x0,0xd2,0x0,0xda,0x49,0x4b,0x4a,0x4b,0xe,0x4,null,0x46,0xf,0x0,0x7,0x37,0x0,0x4b,0x4a,0x46,0x4b,0xc,null,0x4b,0xe,0x4,null,0x46,0x10,0x0,0xb,0x37,0x1,0x48,null,0xd7,0x4c,0x4b,0x27,0x46,0x3e,0x34,null,0x4b,0x4d,0xd3,0x4c,0x0,0xb,0x68,0x1,0x4,null,0x4c,0x47,0x3,null,0x3,null,0x4b,0x47,0x0,0x4e,0x47,0x21,0x3,null,0x0,0x4f,0x64,null,0x4b,0x47,0x4,null,0x46,0x2b,0x0,0x7,0x37,0x0,0x4,null,0x46,0x2c,0x0,0xb,0x37,0x1,0x3,null,0x0,0x50,0xd3,0x4c,0xa,null,0x0,0x51,0xa,null,0x4b,0x47,0x46,0x21,0xa,null,0x4b,0x13,0x4,null,0x46,0x14,0x0,0xb,0x37,0x1,0x3,null,0x4b,0x52,0x4,null,0x46,0x3b,0x0,0x7,0x37,0x0,0x3,null,0x4b,0x53,0x4,null,0x46,0x3b,0x0,0x7,0x37,0x0,0x3,null,0x32,null,0x0,0x54,0x4,null,0x4c,0x47,0x3,null,0x3,null,0xd6,0x0,0x32,null,0x4b,0x5,0x46,0x6,0x0,0x35,0x2a,null,0x34,null,0x4b,0x5,0x46,0x46,0x4,null,0x0,0xb,0xb,null,0x4b,0x5,0x5,null,0x47,0x46,0x3,null,0x3,null,0x4b,0x5,0x46,0x46,0x0,0x7,0x2d,null,0x34,null,0x4b,0x5,0x0,0x55,0x47,0x6,0x3,null,0x32,null,0x4b,0x5,0x46,0x6,0x0,0x55,0x2a,null,0x34,null,0x6,0x3,0x0,0xb,0xb,null,0x6,0x2,0xd,null,0x7,0x10,0x4b,0x5,0x4,null,0x46,0x31,0x6,0x10,0xb,null,0x47,0x31,0x3,null,0x4b,0x5,0x46,0x31,0x0,0xb,0x2d,null,0x34,null,0x4b,0x5,0x0,0xb,0x47,0x31,0x3,null,0x4b,0x5,0x0,0x7,0x47,0x6,0x3,null,0x2,null,0x4,null,0x4c,0x47,0x3,null,0x3,null,0x4b,0x5,0x0,0x3d,0x47,0x8,0x3,null,0x4b,0x5,0x4b,0x17,0x4,null,0x46,0x18,0x0,0x7,0x37,0x0,0x47,0x19,0x3,null,0x0,0x56,0x4b,0x13,0x4,null,0x46,0x14,0x0,0xb,0x37,0x1,0x3,null,0x1,null,0x38,null],'c':[0xf0,0x2d0,0x7,0x1fa4,0x708,"game","surgePhase",0x0,"surgeSchedulerState","INITIAL_COOLDOWN","surgeSchedulerTimer",0x1,"WINDOW_ACTIVE","surgeWindowTimer","Math","random","floor","surgeWindowTargetTime","SURGE SYSTEM: Window Started. Target: ","console","log","SURGE SYSTEM: Fading BGM...","BGM_FADE_OUT","Date","now","warningStartTime","elapsed","duration","elapsed$$2",0x4b0,"duration$$2","BGM_VOLUME","currentBGM","volume","pause","currentTime","savedBgmTime","SURGE SYSTEM: Warning Phase Started!","WARNING_PHASE","gameSettings","sfxEnabled","hordeScreamSound",0x9b,"play","catch",0.8,0x4,0x3e8,"SURGE SYSTEM: Chaos Begins!","surge","EVENT_RUNNING","music/sfx/Warning.wav","playSfxWithVolume",0x2,"surgeSpellCardAnimation","activate","cameraShake","startBomb","wrathClock","start","surgeMusicTimer","POST_SURGE_WAIT","musicEnabled",0x9c,"BGM_FADE_IN","fadeStartTime","BGM RESUMING with Fade In...","POST_EVENT_COOLDOWN","SURGE SYSTEM: Cooldown 20s started.","SURGE SYSTEM: Cycle Restarted. Target: ","surgeTimer","currentSurgeMusic",0x5a,"trackSrc","surgeTracks","length","trackSrc$$2","Audio",0.7,0x9d,"SURGE MUSIC START: "," | Volume: ","surgeShake","surgeFlash","muted",0x3,"SURGE SYSTEM: Event Finished. Waiting 1s before BGM resume...","updateSurge"],'p':0x0,'l':0xc,'j':{0x10:0x1d1,0x15:0x47,0x24:0x46,0x46:0x1d0,0x4b:0x70,0x5b:0x6f,0x6f:0x1d0,0x74:0xd5,0x87:0x9d,0x93:0x98,0x9c:0xd3,0xc2:0xd3,0xd4:0x1d0,0xd9:0x120,0xee:0x11f,0x11f:0x1d0,0x124:0x16a,0x134:0x168,0x137:0x160,0x15f:0x168,0x169:0x1d0,0x16e:0x19b,0x17d:0x187,0x186:0x19a,0x19a:0x1d0,0x19f:0x1d0,0x1ae:0x1d0,0x1d0:0x1f4,0x1d5:0x1f4,0x1e7:0x1f4,0x1f9:0x1ff,0x200:0x205,0x205:0x261,0x210:0x260,0x226:0x25a,0x259:0x25f,0x260:0x2b1,0x265:0x27a,0x274:0x279,0x279:0x2b1,0x27e:0x2b1,0x290:0x2b1},'ni':0x57},{'i':[0x4b,0x0,0x46,0x1,0x4,null,0x33,null,0x3,null,0x4b,0x2,0x20,null,0x34,null,0x1,null,0x38,null,0x4b,0x3,0x20,null,0x34,null,0x0,0x4,0x4,null,0x4c,0x3,0x3,null,0x3,null,0x0,0x5,0x4,null,0x4c,0x6,0x3,null,0x3,null,0x0,0x7,0x4,null,0x4c,0x8,0x3,null,0x3,null,0x4b,0x9,0x4,null,0x46,0xa,0x0,0x7,0x37,0x0,0x3,null,0x4b,0xb,0x46,0xc,0x46,0xd,0x0,0xe,0x47,0xf,0x3,null,0x32,null,0x4b,0x6,0x0,0x10,0x2a,null,0x4,null,0x33,null,0x3,null,0x4b,0x6,0x0,0x5,0x2a,null,0x34,null,0x0,0x11,0x4,null,0x4c,0x6,0x3,null,0x3,null,0x0,0x7,0x4,null,0x4c,0x8,0x3,null,0x3,null,0x1,null,0x38,null],'c':["game","gameOver","gameStarted","gamePaused",!![],"in","pauseFadeState",0x0,"pauseFadeTimer","currentBGM","pause","document","body","style","default","cursor","active","out","togglePause"],'p':0x0,'l':0x0,'j':{0x3:0x7,0x7:0xa,0xc:0x29,0x28:0x3d,0x2d:0x32,0x32:0x3d},'ni':0x12},{'i':[0xd5,0x0,0xd2,0x0,0xd3,0x0,0x20,null,0x4,null,0x33,null,0x3,null,0xd3,0x0,0x46,0x1,0x34,null,0xd3,0x2,0x4b,0x3,0x0,0x4,0x36,0x1,0x3,null,0x1,null,0x38,null,0xd3,0x0,0x46,0x5,0xd3,0x6,0xb,null,0x7,0x0,0x6,0x0,0x0,0x7,0x2e,null,0x34,null,0xd3,0x0,0x6,0x0,0x47,0x5,0x3,null,0x32,null,0xd3,0x0,0x0,0x8,0x47,0x5,0x3,null,0xd3,0x0,0x4,null,0x46,0x9,0x0,0x8,0x37,0x0,0x3,null,0xd3,0x2,0x4b,0x3,0x0,0x4,0x36,0x1,0x3,null],'c':["musicToFade","paused","surgeFadeInterval","clearInterval",0x1,"volume","volStep$$1",0.001,0x0,"pause"],'p':0x0,'l':0x1,'j':{0x5:0x9,0x9:0x11,0x19:0x1f,0x1e:0x2e},'a':0x1},{'i':[0xd5,0x0,0xd2,0x0,0x4b,0x0,0x46,0x1,0xd3,0x2,0xb,null,0x7,0x0,0x6,0x0,0x0,0x3,0x2c,null,0x34,null,0x0,0x3,0x4,null,0x7,0x0,0x3,null,0x4b,0x0,0x6,0x0,0x47,0x1,0x3,null,0x4b,0x4,0x46,0x1,0xd3,0x2,0xa,null,0x7,0x1,0x6,0x1,0x4b,0x5,0x2e,null,0x34,null,0x4b,0x5,0x4,null,0x7,0x1,0x3,null,0x4b,0x4,0x6,0x1,0x47,0x1,0x3,null,0x4b,0x0,0x46,0x1,0x0,0x3,0x2a,null,0x34,null,0x4b,0x0,0x4,null,0x46,0x6,0x0,0x3,0x37,0x0,0x3,null,0xd3,0x7,0x4b,0x8,0x0,0x9,0x36,0x1,0x3,null],'c':["currentBGM","volume","fadeSpeed",0x0,"gameOverBGM","BGM_VOLUME","pause","fadeInterval","clearInterval",0x1],'p':0x0,'l':0x2,'j':{0xa:0xf,0x1b:0x20,0x28:0x34},'a':0x1},{'i':[0xd2,0x0,0xda,0x0,0xda,0x1,0xda,0x2,0x0,0x3,0xd7,0x0,0x4b,0x4,0x0,0x5,0x47,0x6,0x3,null,0x4b,0x4,0x4,null,0x46,0x7,0x0,0x5,0x37,0x0,0x3,null,0x4b,0x8,0xd9,0x1,0xd3,0x1,0x4,null,0x34,null,0x3,null,0xd3,0x1,0x4b,0x9,0x6f,null,0x4,null,0x34,null,0x3,null,0xd3,0x1,0x46,0xa,0x20,null,0x34,null,0xd5,0x0,0xd2,0x0,0xda,0xb,0xda,0xc,0xda,0xd,0xda,0xe,0xda,0xf,0xda,0x10,0x0,0x11,0x4b,0x12,0x4,null,0x46,0x13,0x0,0x14,0x37,0x1,0x3,null,0xd3,0x1,0x46,0x6,0xd9,0x15,0x0,0x16,0xd9,0x17,0x0,0x18,0xd9,0x19,0xd3,0x17,0xd3,0x19,0xd,null,0xd9,0x1a,0xd3,0x15,0xd3,0x1a,0xd,null,0xd9,0x1b,0x0,0x1c,0x64,null,0xd3,0x19,0x4b,0x1d,0x0,0x1e,0x36,0x2,0xd9,0x1f,0xd6,0x0,0x0,0x20,0x64,null,0x0,0x21,0x0,0x22,0xd,null,0x4b,0x1d,0x0,0x1e,0x36,0x2,0xd7,0x2,0xd6,0x0,0x1,null,0x38,null],'c':["fadeSpeed","musicToFade","fadeInterval",0.02,"gameOverBGM",0x0,"volume","play","currentSurgeMusic","Audio","paused","startVol","fadeDuration","fadeIntervalMs","steps","volStep","surgeFadeInterval","Starting Surge Music Fade...","console","log",0x1,"startVol$$1",0x320,"fadeDuration$$1",0x32,"fadeIntervalMs$$1","steps$$1","volStep$$1",0xa0,"setInterval",0x2,"surgeFadeInterval$$1",0xa1,0x3e8,0x1e,"crossfadeToGameOver"],'p':0x0,'l':0x9,'j':{0x14:0x19,0x1a:0x1f,0x1f:0x46},'ni':0x23},{'i':[0x0,0x0,0x4b,0x1,0x4b,0x2,0x4,null,0x46,0x3,0x0,0x4,0x37,0x1,0x4b,0x5,0x4,null,0x46,0x6,0x0,0x7,0x37,0x2,0x3,null,0x1,null,0x38,null],'c':["blockShooterSettings","gameSettings","JSON","stringify",0x1,"localStorage","setItem",0x2,"saveSettings"],'p':0x0,'l':0x0,'ni':0x8},{'i':[0x0,0x0,0x4b,0x1,0x4,null,0x46,0x2,0x0,0x3,0x37,0x1,0x7,0x0,0x6,0x0,0x20,null,0x34,null,0x1,null,0x38,null,0x4b,0x4,0x46,0x5,0x0,0x6,0x2a,null,0x34,null,0x6,0x0,0x0,0x7,0x47,0x8,0x3,null,0x32,null,0x6,0x0,0x0,0x9,0x47,0x8,0x3,null,0x1,null,0x38,null],'c':["controlGuide","document","getElementById",0x1,"gameSettings","inputMode","mouse","\n
\n Mouse Movement\n Move Your Ship\n
\n
\n Left Click\n Fire Main Laser\n
\n
\n SHIFT\n Activate Bomb Ability\n
\n
\n Right Click\n Fire Homing Missile\n
\n
\n P\n Pause Game\n
\n ","innerHTML","\n
\n WASD / Arrow Keys\n Move Your Ship\n
\n
\n SPACE\n Fire Main Laser\n
\n
\n SHIFT\n Activate Bomb Ability\n
\n
\n Q\n Fire Homing Missile\n
\n
\n P\n Pause Game\n
\n ","updateControlsUI"],'p':0x0,'l':0x1,'j':{0x9:0xc,0x10:0x16,0x15:0x1a},'ni':0xa},{'i':[0x0,0x0,0x4,null,0x4c,0x1,0x3,null,0x3,null,0x4b,0x2,0x0,0x3,0x36,0x0,0x3,null,0x1,null,0x38,null],'c':[![],"gameStarted","updateControlsUI",0x0],'p':0x0,'l':0x0},{'i':[0xd5,0x0,0xd2,0x0,0x4b,0x0,0x46,0x1,0xd3,0x2,0x2e,null,0x34,null,0x4b,0x0,0x4,null,0x46,0x1,0xd3,0x2,0xb,null,0x47,0x1,0x3,null,0x32,null,0x4b,0x0,0x0,0x3,0x47,0x1,0x3,null,0x4b,0x0,0x4,null,0x46,0x4,0x0,0x3,0x37,0x0,0x3,null,0x4b,0x0,0x0,0x3,0x47,0x5,0x3,null,0xd3,0x6,0x4b,0x7,0x0,0x8,0x36,0x1,0x3,null],'c':["mainMenuBGM","volume","volumeStep",0x0,"pause","currentTime","musicFadeInterval","clearInterval",0x1],'p':0x0,'l':0x0,'j':{0x6:0xf,0xe:0x22},'a':0x1},{'i':[0xd5,0x0,0xd2,0x0,0xd3,0x0,0x46,0x1,0x0,0x2,0x47,0x3,0x3,null],'c':["loadingOverlay","style","1","opacity"],'p':0x0,'l':0x0,'a':0x1},{'i':[0xd5,0x0,0xd2,0x0,0xd3,0x0,0x4,null,0x46,0x1,0x0,0x2,0x37,0x0,0x3,null,0xd3,0x3,0x4,null,0x46,0x1,0x0,0x2,0x37,0x0,0x3,null,0x4b,0x4,0x0,0x5,0x47,0x6,0x3,null],'c':["loadingOverlay","remove",0x0,"fadeOverlay","startBtn",![],"disabled"],'p':0x0,'l':0x0,'a':0x1},{'i':[0xd5,0x0,0xd2,0x0,0x4b,0x0,0x0,0x1,0x36,0x0,0x3,null,0x4b,0x2,0x46,0x3,0x0,0x4,0x47,0x5,0x3,null,0x4b,0x6,0x46,0x3,0x0,0x7,0x47,0x5,0x3,null,0x4b,0x8,0x46,0x9,0x46,0x3,0x0,0x4,0x47,0xa,0x3,null,0x4b,0xb,0x20,null,0x34,null,0x4b,0xc,0x0,0x1,0x36,0x0,0x3,null,0xd3,0xd,0x46,0x3,0x0,0xe,0x47,0xf,0x3,null,0xd3,0x10,0x46,0x3,0x0,0xe,0x47,0xf,0x3,null,0x0,0x11,0x64,null,0x0,0x12,0x4b,0x13,0x0,0x14,0x36,0x2,0x3,null],'c':["applySettings",0x0,"mainMenu","style","none","display","gameContainer","block","document","body","cursor","gameStarted","init","loadingOverlay","0","opacity","fadeOverlay",0xa8,0x320,"setTimeout",0x2],'p':0x0,'l':0x0,'j':{0x18:0x1d},'a':0x1},{'i':[0xd5,0x0,0xd2,0x0,0xda,0x0,0x0,0x1,0x4b,0x2,0x4,null,0x46,0x3,0x0,0x4,0x37,0x1,0xd9,0x0,0xd3,0x0,0x0,0x0,0x47,0x5,0x3,null,0xd3,0x0,0x0,0x6,0x47,0x7,0x3,null,0xd3,0x0,0x4b,0x2,0x46,0x8,0x4,null,0x46,0x9,0x0,0x4,0x37,0x1,0x3,null,0x0,0xa,0x64,null,0x4b,0xb,0x0,0x4,0x36,0x1,0x3,null,0x0,0xc,0x64,null,0x0,0xd,0x4b,0xe,0x0,0xf,0x36,0x2,0x3,null],'c':["loadingOverlay","div","document","createElement",0x1,"id","
...
","innerHTML","body","appendChild",0xa7,"requestAnimationFrame",0xa9,0x9c4,"setTimeout",0x2],'p':0x0,'l':0x1,'a':0x1},{'i':[0xd5,0x0,0xd2,0x0,0x0,0x0,0x4b,0x1,0x4,null,0x46,0x2,0x0,0x3,0x37,0x1,0x3,null,0xd3,0x4,0x46,0x5,0x0,0x6,0x47,0x7,0x3,null,0x0,0x8,0x64,null,0x0,0x9,0x4b,0xa,0x0,0xb,0x36,0x2,0x3,null],'c':["Launch complete! Fading to black...","console","log",0x1,"fadeOverlay","style","1","opacity",0xaa,0x320,"setTimeout",0x2],'p':0x0,'l':0x0,'a':0x1},{'i':[0xd2,0x0,0xda,0x0,0xda,0x1,0xda,0x2,0x4b,0x3,0x4b,0x4,0x0,0x5,0x36,0x1,0x3,null,0x4b,0x6,0x0,0x7,0x47,0x8,0x3,null,0x0,0x9,0x7,0x0,0x0,0xa,0x7,0x1,0x6,0x0,0x6,0x1,0xd,null,0x7,0x2,0x4b,0xb,0x46,0xc,0x6,0x1,0xd,null,0xd9,0x0,0x0,0xd,0x64,null,0x6,0x2,0x4b,0xe,0x0,0xf,0x36,0x2,0xd9,0x1,0x0,0x10,0x4b,0x11,0x4,null,0x46,0x12,0x0,0x5,0x37,0x1,0xd9,0x2,0xd3,0x2,0x0,0x13,0x47,0x14,0x3,null,0xd3,0x2,0x46,0x15,0x0,0x16,0x47,0x17,0x3,null,0xd3,0x2,0x4b,0x11,0x46,0x18,0x4,null,0x46,0x19,0x0,0x5,0x37,0x1,0x3,null,0x4b,0x1a,0x46,0x1b,0x6e,null,0x0,0x1c,0x2a,null,0x34,null,0x0,0x1d,0x64,null,0x4b,0x1a,0x4,null,0x46,0x1b,0x0,0x5,0x37,0x1,0x3,null,0x32,null,0x0,0x1e,0x4b,0x1f,0x4,null,0x46,0x20,0x0,0x5,0x37,0x1,0x3,null,0x4b,0x21,0x46,0x15,0x0,0x22,0x47,0x23,0x3,null,0x4b,0x24,0x46,0x15,0x0,0x25,0x47,0x23,0x3,null,0x4b,0x11,0x46,0x18,0x46,0x15,0x0,0x22,0x47,0x26,0x3,null,0x4b,0x27,0x0,0x28,0x36,0x0,0x3,null,0x4b,0x29,0x20,null,0x34,null,0x4b,0x2a,0x0,0x28,0x36,0x0,0x3,null,0x4b,0x6,0x0,0x2b,0x47,0x8,0x3,null,0xd3,0x2,0x4,null,0x46,0x2c,0x0,0x28,0x37,0x0,0x3,null,0xd6,0x0,0x1,null,0x38,null],'c':["volumeStep","musicFadeInterval","fadeOverlay","menuClickSound","playMenuSound",0x1,"startBtn",!![],"disabled",0x7d0,0x28,"mainMenuBGM","volume",0xa6,"setInterval",0x2,"div","document","createElement","launchFadeOverlay","id","style","\n position: fixed;\n top: 0;\n left: 0;\n width: 100vw;\n height: 100vh;\n background: black;\n opacity: 0;\n z-index: 9999;\n pointer-events: none;\n transition: opacity 0.8s ease-in;\n ","cssText","body","appendChild","window","launchShip","function",0xab,"launchShip not available, starting normally","console","warn","mainMenu","none","display","gameContainer","block","cursor","applySettings",0x0,"gameStarted","init",![],"remove"],'p':0x0,'l':0x6,'j':{0x3e:0x48,0x47:0x74,0x65:0x6a}},{'i':[0x4b,0x0,0x4b,0x1,0x0,0x2,0x36,0x1,0x3,null,0x4b,0x3,0x46,0x4,0x0,0x5,0x47,0x6,0x3,null,0x4b,0x7,0x46,0x4,0x0,0x8,0x47,0x6,0x3,null,0x1,null,0x38,null],'c':["menuClickSound","playMenuSound",0x1,"mainMenu","style","none","display","optionsMenu","flex"],'p':0x0,'l':0x0},{'i':[0x4b,0x0,0x4b,0x1,0x0,0x2,0x36,0x1,0x3,null,0x4b,0x3,0x46,0x4,0x0,0x5,0x47,0x6,0x3,null,0x4b,0x7,0x46,0x4,0x0,0x8,0x47,0x6,0x3,null,0x1,null,0x38,null],'c':["menuClickSound","playMenuSound",0x1,"mainMenu","style","none","display","howToPlayMenu","flex"],'p':0x0,'l':0x0},{'i':[0x4b,0x0,0x4b,0x1,0x0,0x2,0x36,0x1,0x3,null,0x4b,0x3,0x46,0x4,0x0,0x5,0x47,0x6,0x3,null,0x4b,0x7,0x46,0x4,0x0,0x8,0x47,0x6,0x3,null,0x1,null,0x38,null],'c':["menuClickSound","playMenuSound",0x1,"howToPlayMenu","style","none","display","mainMenu","flex"],'p':0x0,'l':0x0},{'i':[0x4b,0x0,0x4b,0x1,0x0,0x2,0x36,0x1,0x3,null,0x4b,0x3,0x46,0x4,0x0,0x5,0x47,0x6,0x3,null,0x4b,0x7,0x46,0x4,0x0,0x8,0x47,0x6,0x3,null,0x1,null,0x38,null],'c':["menuClickSound","playMenuSound",0x1,"optionsMenu","style","none","display","mainMenu","flex"],'p':0x0,'l':0x0},{'i':[0xd5,0x0,0xd2,0x0,0x0,0x0,0x8,0x0,0x46,0x1,0x4,null,0x46,0x2,0x0,0x3,0x37,0x1,0x38,null],'c':["active","classList","remove",0x1],'p':0x1,'l':0x0,'a':0x1},{'i':[0xd5,0x0,0xd2,0x0],'c':[],'p':0x0,'l':0x0,'a':0x1},{'i':[0xd5,0x0,0xd2,0x0],'c':[],'p':0x0,'l':0x0,'a':0x1},{'i':[0xd5,0x0,0xd2,0x0,0x4b,0x0,0x4b,0x1,0x0,0x2,0x36,0x1,0x3,null,0x0,0x3,0x64,null,0x4b,0x4,0x4,null,0x46,0x5,0x0,0x2,0x37,0x1,0x3,null,0x0,0x6,0xd3,0x7,0x46,0x8,0x4,null,0x46,0x9,0x0,0x2,0x37,0x1,0x3,null,0x4b,0xa,0xd3,0x7,0x46,0xb,0x46,0xc,0x0,0xd,0x2a,null,0x47,0xe,0x3,null,0x4b,0xf,0x0,0x10,0x36,0x0,0x3,null,0x70,0x11,0x0,0x12,0x2b,null,0x34,null,0x4b,0xa,0x46,0xe,0x34,null,0x4b,0x11,0x34,null,0x4b,0x11,0x0,0x2,0x47,0x13,0x3,null,0x4b,0x11,0x0,0x14,0x47,0x15,0x3,null,0x4b,0x16,0x46,0x17,0x34,null,0x4b,0x16,0x46,0x17,0x0,0x2,0x47,0x13,0x3,null,0x4b,0x16,0x46,0x17,0x0,0x14,0x47,0x15,0x3,null,0x4b,0x18,0x20,null,0x4,null,0x34,null,0x3,null,0x4b,0x16,0x46,0x19,0x4,null,0x34,null,0x3,null,0x4b,0x16,0x46,0x19,0x46,0x1a,0x46,0x1b,0x0,0x1c,0x2b,null,0x34,null,0x4b,0x16,0x46,0x17,0x34,null,0x0,0x1d,0x64,null,0x4b,0x16,0x46,0x17,0x4,null,0x46,0x1e,0x0,0x10,0x37,0x0,0x4,null,0x46,0x1f,0x0,0x2,0x37,0x1,0x3,null,0x32,null,0x4b,0x18,0x4,null,0x34,null,0x3,null,0x4b,0x20,0x20,null,0x4,null,0x34,null,0x3,null,0x4b,0x21,0x46,0x22,0x20,null,0x34,null,0x4b,0x11,0x34,null,0x0,0x23,0x64,null,0x4b,0x11,0x4,null,0x46,0x1e,0x0,0x10,0x37,0x0,0x4,null,0x46,0x1f,0x0,0x2,0x37,0x1,0x3,null,0x32,null,0x4b,0x11,0x34,null,0x4b,0x11,0x4,null,0x46,0x24,0x0,0x10,0x37,0x0,0x3,null,0x4b,0x16,0x46,0x17,0x34,null,0x4b,0x16,0x46,0x17,0x4,null,0x46,0x24,0x0,0x10,0x37,0x0,0x3,null],'c':["menuClickSound","playMenuSound",0x1,0xb1,"musicBtns","forEach","active","btn","classList","add","gameSettings","dataset","music","on","musicEnabled","saveSettings",0x0,"currentBGM","undefined","volume",![],"muted","window","mainMenuBGM","gameStarted","mainMenu","style","display","none",0xb2,"play","catch","gamePaused","game","gameOver",0xb3,"pause"],'p':0x0,'l':0x0,'j':{0x26:0x91,0x29:0x7f,0x2b:0x34,0x36:0x41,0x44:0x48,0x49:0x51,0x51:0x63,0x54:0x62,0x62:0x7e,0x65:0x69,0x6a:0x6f,0x6f:0x7e,0x71:0x7e,0x7e:0x91,0x80:0x87,0x89:0x91},'a':0x1},{'i':[0xd2,0x0,0x8,0x0,0xd7,0x0,0x3,null,0x0,0x1,0x0,0x2,0x64,null,0xd3,0x0,0x4,null,0x46,0x3,0x0,0x4,0x37,0x2,0x3,null,0xd6,0x0,0x1,null,0x38,null],'c':["btn","click",0xb4,"addEventListener",0x2],'p':0x1,'l':0x0},{'i':[0xd5,0x0,0xd2,0x0,0x0,0x0,0x8,0x0,0x46,0x1,0x4,null,0x46,0x2,0x0,0x3,0x37,0x1,0x38,null],'c':["active","classList","remove",0x1],'p':0x1,'l':0x0,'a':0x1},{'i':[0xd5,0x0,0xd2,0x0,0x4b,0x0,0x4b,0x1,0x0,0x2,0x36,0x1,0x3,null,0x0,0x3,0x64,null,0x4b,0x4,0x4,null,0x46,0x5,0x0,0x2,0x37,0x1,0x3,null,0x0,0x6,0xd3,0x7,0x46,0x8,0x4,null,0x46,0x9,0x0,0x2,0x37,0x1,0x3,null,0x4b,0xa,0xd3,0x7,0x46,0xb,0x46,0xc,0x0,0xd,0x2a,null,0x47,0xe,0x3,null,0x4b,0xf,0x0,0x10,0x36,0x0,0x3,null],'c':["menuClickSound","playMenuSound",0x1,0xb6,"sfxBtns","forEach","active","btn","classList","add","gameSettings","dataset","sfx","on","sfxEnabled","saveSettings",0x0],'p':0x0,'l':0x0,'a':0x1},{'i':[0xd2,0x0,0x8,0x0,0xd7,0x0,0x3,null,0x0,0x1,0x0,0x2,0x64,null,0xd3,0x0,0x4,null,0x46,0x3,0x0,0x4,0x37,0x2,0x3,null,0xd6,0x0,0x1,null,0x38,null],'c':["btn","click",0xb7,"addEventListener",0x2],'p':0x1,'l':0x0},{'i':[0xd5,0x0,0xd2,0x0,0x0,0x0,0x8,0x0,0x46,0x1,0x4,null,0x46,0x2,0x0,0x3,0x37,0x1,0x38,null],'c':["active","classList","remove",0x1],'p':0x1,'l':0x0,'a':0x1},{'i':[0xd5,0x0,0xd2,0x0,0x4b,0x0,0x4b,0x1,0x0,0x2,0x36,0x1,0x3,null,0x0,0x3,0x64,null,0x4b,0x4,0x4,null,0x46,0x5,0x0,0x2,0x37,0x1,0x3,null,0x0,0x6,0xd3,0x7,0x46,0x8,0x4,null,0x46,0x9,0x0,0x2,0x37,0x1,0x3,null,0x4b,0xa,0xd3,0x7,0x46,0xb,0x46,0xc,0x47,0xd,0x3,null,0x4b,0xe,0x0,0xf,0x36,0x0,0x3,null,0x4b,0x10,0x0,0xf,0x36,0x0,0x3,null],'c':["menuClickSound","playMenuSound",0x1,0xb9,"controlBtns","forEach","active","btn","classList","add","gameSettings","dataset","control","inputMode","saveSettings",0x0,"updateControlsUI"],'p':0x0,'l':0x0,'a':0x1},{'i':[0xd2,0x0,0x8,0x0,0xd7,0x0,0x3,null,0x0,0x1,0x0,0x2,0x64,null,0xd3,0x0,0x4,null,0x46,0x3,0x0,0x4,0x37,0x2,0x3,null,0xd6,0x0,0x1,null,0x38,null],'c':["btn","click",0xba,"addEventListener",0x2],'p':0x1,'l':0x0},{'i':[0x4b,0x0,0x46,0x1,0x34,null,0x4b,0x2,0x4b,0x3,0x0,0x4,0x36,0x1,0x3,null],'c':["gameSettings","sfxEnabled","menuHoverSound","playMenuSound",0x1],'p':0x0,'l':0x0,'j':{0x2:0x8},'a':0x1},{'i':[0x0,0x0,0x0,0x1,0x64,null,0x8,0x0,0x4,null,0x46,0x2,0x0,0x3,0x37,0x2,0x3,null,0x1,null,0x38,null],'c':["mouseenter",0xbc,"addEventListener",0x2],'p':0x1,'l':0x0},{'i':[],'c':[],'p':0x0,'l':0x0,'a':0x1},{'i':[0x70,0x0,0x0,0x1,0x2b,null,0x34,null,0x4b,0x2,0x46,0x3,0x34,null,0x4b,0x0,0x4b,0x4,0x47,0x5,0x3,null,0x4b,0x6,0x4,null,0x34,null,0x3,null,0x4b,0x7,0x46,0x8,0x20,null,0x34,null,0x0,0x9,0x64,null,0x4b,0x0,0x4,null,0x46,0xa,0x0,0xb,0x37,0x0,0x4,null,0x46,0xc,0x0,0xd,0x37,0x1,0x3,null,0x32,null,0x4b,0x0,0x0,0xb,0x47,0x5,0x3,null,0x4b,0x0,0x4,null,0x46,0xe,0x0,0xb,0x37,0x0,0x3,null,0x70,0xf,0x0,0x1,0x2b,null,0x34,null,0x4b,0x2,0x46,0x3,0x34,null,0x4b,0xf,0x4b,0x4,0x47,0x5,0x3,null,0x32,null,0x4b,0xf,0x0,0xb,0x47,0x5,0x3,null,0x1,null,0x38,null],'c':["currentBGM","undefined","gameSettings","musicEnabled","BGM_VOLUME","volume","gameStarted","game","gameOver",0xbe,"play",0x0,"catch",0x1,"pause","gameOverBGM","applySettings"],'p':0x0,'l':0x0,'j':{0x3:0x2a,0x6:0x20,0xd:0x12,0x12:0x1f,0x1f:0x2a,0x2d:0x3a,0x30:0x36,0x35:0x3a},'ni':0x10},{'i':[],'c':[],'p':0x0,'l':0x0,'a':0x1},{'i':[0x8,0x1,0x4,null,0x1,null,0x2a,null,0x34,null,0x3,null,0x0,0x0,0x9,0x1,0x32,null,0x3,null,0x4b,0x1,0x46,0x2,0x34,null,0x8,0x0,0x8,0x1,0x47,0x3,0x3,null,0x8,0x0,0x0,0x4,0x47,0x5,0x3,null,0x0,0x6,0x64,null,0x8,0x0,0x4,null,0x46,0x7,0x0,0x4,0x37,0x0,0x4,null,0x46,0x8,0x0,0x9,0x37,0x1,0x3,null,0x1,null,0x38,null],'c':[0.5,"gameSettings","sfxEnabled","volume",0x0,"currentTime",0xc0,"play","catch",0x1,"playSound"],'p':0x2,'l':0x0,'j':{0x4:0x9,0x8:0xa,0xc:0x21},'ni':0xa},{'i':[0xd5,0x0,0xd2,0x0],'c':[],'p':0x0,'l':0x0,'a':0x1},{'i':[0x4b,0x0,0x46,0x1,0x34,null,0xd5,0x0,0xd2,0x0,0xda,0x2,0x8,0x0,0x4,null,0x46,0x3,0x0,0x4,0x37,0x0,0xd7,0x5,0xd3,0x5,0x0,0x6,0x47,0x7,0x3,null,0x0,0x8,0x64,null,0xd3,0x5,0x4,null,0x46,0x9,0x0,0x4,0x37,0x0,0x4,null,0x46,0xa,0x0,0xb,0x37,0x1,0x3,null,0xd6,0x0,0x1,null,0x38,null],'c':["gameSettings","sfxEnabled","sfx","cloneNode",0x0,"sfx$$1",0.4,"volume",0xc2,"play","catch",0x1,"playMenuSound"],'p':0x1,'l':0x1,'j':{0x2:0x1d},'ni':0xc},{'i':[0x8,0x0,0x46,0x0,0x0,0x1,0x2a,null,0x34,null,0x4b,0x2,0x46,0x3,0x46,0x4,0x0,0x5,0x2a,null,0x34,null,0x4b,0x6,0x4,null,0x46,0x7,0x0,0x8,0x37,0x0,0x3,null,0x32,null,0x4b,0x9,0x46,0x3,0x46,0x4,0x0,0xa,0x2a,null,0x4,null,0x34,null,0x3,null,0x70,0xb,0x0,0xc,0x2b,null,0x34,null,0x4b,0xb,0x0,0x8,0x36,0x0,0x3,null,0x8,0x0,0x46,0x0,0x0,0xd,0x2a,null,0x4,null,0x34,null,0x3,null,0x4b,0xe,0x46,0x3,0x46,0x4,0x0,0x5,0x2a,null,0x34,null,0x4b,0xf,0x4,null,0x46,0x7,0x0,0x8,0x37,0x0,0x3,null,0x1,null,0x38,null],'c':["key","Escape","optionsMenu","style","display","flex","backBtn","click",0x0,"gameContainer","block","togglePause","undefined","Enter","mainMenu","startBtn"],'p':0x1,'l':0x0,'j':{0x4:0x22,0xa:0x12,0x11:0x22,0x18:0x1d,0x1d:0x22,0x27:0x2e,0x2e:0x35}},{'i':[0x0,0x0,0x4b,0x1,0x4,null,0x46,0x2,0x0,0x3,0x37,0x1,0x3,null,0x1,null,0x38,null],'c':["Game Ready - Waiting for menu start...","console","log",0x1],'p':0x0,'l':0x0},{'i':[0x4b,0x0,0x4,null,0x46,0x1,0x0,0x2,0x37,0x0,0x3,null,0x4b,0x3,0x4,null,0x46,0x1,0x0,0x2,0x37,0x0,0x3,null,0x4b,0x0,0x0,0x2,0x47,0x4,0x3,null,0x4b,0x3,0x0,0x2,0x47,0x4,0x3,null,0x4b,0x5,0x0,0x6,0x47,0x7,0x3,null,0x4b,0x5,0x0,0x2,0x47,0x8,0x3,null,0x4b,0x5,0x0,0x9,0x47,0xa,0x3,null,0x4b,0x5,0x0,0x9,0x47,0xb,0x3,null,0x4b,0x5,0x0,0x9,0x47,0xc,0x3,null,0x4b,0x5,0x0,0x2,0x47,0xd,0x3,null,0x4b,0x5,0x0,0x2,0x47,0xe,0x3,null,0x4b,0x5,0x0,0xf,0x47,0x10,0x3,null,0x5a,null,0x4,null,0x4c,0x11,0x3,null,0x3,null,0x5a,null,0x4,null,0x4c,0x12,0x3,null,0x3,null,0x5a,null,0x4,null,0x4c,0x13,0x3,null,0x3,null,0x5a,null,0x4,null,0x4c,0x14,0x3,null,0x3,null,0x5a,null,0x4,null,0x4c,0x15,0x3,null,0x3,null,0x5a,null,0x4,null,0x4c,0x16,0x3,null,0x3,null,0x5a,null,0x4,null,0x4c,0x17,0x3,null,0x3,null,0x4b,0x18,0x0,0x19,0x0,0x1a,0x0,0x1b,0x68,0x2,0x4,null,0x4c,0x1c,0x3,null,0x3,null,0x4b,0x1c,0x0,0x9,0x47,0x1d,0x3,null,0x4b,0x1c,0x0,0x2,0x47,0x1e,0x3,null,0x0,0x2,0x4,null,0x4c,0x1f,0x3,null,0x3,null,0x0,0x2,0x4,null,0x4c,0x20,0x3,null,0x3,null,0x2,null,0x4,null,0x4c,0x21,0x3,null,0x3,null,0x0,0x2,0x4,null,0x4c,0x22,0x3,null,0x3,null,0x0,0x2,0x4,null,0x4c,0x23,0x3,null,0x3,null,0x0,0x2,0x4,null,0x4c,0x24,0x3,null,0x3,null,0x0,0x2,0x4,null,0x4c,0x25,0x3,null,0x3,null,0x0,0x6,0x4,null,0x4c,0x26,0x3,null,0x3,null,0x0,0x6,0x4,null,0x4c,0x27,0x3,null,0x3,null,0x4b,0x28,0x34,null,0x4b,0x28,0x46,0x29,0x0,0x2a,0x47,0x2b,0x3,null,0x4b,0x2c,0x34,null,0x4b,0x2c,0x46,0x29,0x0,0x2d,0x47,0x2b,0x3,null,0x4b,0x2e,0x46,0x2f,0x6e,null,0x0,0x30,0x2a,null,0x34,null,0x4b,0x2e,0x4,null,0x46,0x2f,0x0,0x2,0x37,0x0,0x3,null,0x1,null,0x38,null],'c':["currentBGM","pause",0x0,"gameOverBGM","currentTime","game",![],"gameOver","frames",0x1,"level","speed","surge","surgePhase","surgeTimer",0x960,"surgeCooldown","missilesArray","playerMissilesArray","enemyShipArray","enemyBulletsArray","explosions","abilityTokens","particles","PlayerObject",0x64,0x12c,0x2,"player1","lives","score","respawnCounter","damageFlash","currentWave","waveCooldown","abilityCharges","missileAmmo","cameraY","gameStarted","gamePaused","gameContainer","style","none","display","mainMenu","flex","window","resumeMenu3D","function","returnToMenu"],'p':0x0,'l':0x0,'j':{0x96:0x9c,0x9d:0xa3,0xa8:0xaf},'ni':0x31},{'i':[0x4b,0x0,0x46,0x1,0x4,null,0x34,null,0x3,null,0x8,0x0,0x46,0x2,0x46,0x3,0x0,0x4,0x2a,null,0x34,null,0x0,0x5,0x8,0x0,0x46,0x6,0x4,null,0x46,0x7,0x0,0x8,0x37,0x1,0x3,null,0x32,null,0x4b,0x0,0x46,0x1,0x20,null,0x4,null,0x34,null,0x3,null,0x8,0x0,0x46,0x2,0x46,0x3,0x0,0x9,0x2a,null,0x34,null,0x0,0x5,0x8,0x0,0x46,0x6,0x4,null,0x46,0x7,0x0,0x8,0x37,0x1,0x3,null,0x32,null,0x0,0x5,0x8,0x0,0x46,0x6,0x4,null,0x46,0xa,0x0,0x8,0x37,0x1,0x3,null],'c':["gameSettings","musicEnabled","dataset","music","on","active","classList","add",0x1,"off","remove"],'p':0x1,'l':0x0,'j':{0x3:0xa,0xa:0x14,0x13:0x31,0x18:0x1f,0x1f:0x29,0x28:0x31},'a':0x1},{'i':[0x4b,0x0,0x46,0x1,0x4,null,0x34,null,0x3,null,0x8,0x0,0x46,0x2,0x46,0x3,0x0,0x4,0x2a,null,0x34,null,0x0,0x5,0x8,0x0,0x46,0x6,0x4,null,0x46,0x7,0x0,0x8,0x37,0x1,0x3,null,0x32,null,0x4b,0x0,0x46,0x1,0x20,null,0x4,null,0x34,null,0x3,null,0x8,0x0,0x46,0x2,0x46,0x3,0x0,0x9,0x2a,null,0x34,null,0x0,0x5,0x8,0x0,0x46,0x6,0x4,null,0x46,0x7,0x0,0x8,0x37,0x1,0x3,null,0x32,null,0x0,0x5,0x8,0x0,0x46,0x6,0x4,null,0x46,0xa,0x0,0x8,0x37,0x1,0x3,null],'c':["gameSettings","sfxEnabled","dataset","sfx","on","active","classList","add",0x1,"off","remove"],'p':0x1,'l':0x0,'j':{0x3:0xa,0xa:0x14,0x13:0x31,0x18:0x1f,0x1f:0x29,0x28:0x31},'a':0x1},{'i':[0x4b,0x0,0x46,0x1,0x8,0x0,0x46,0x2,0x46,0x3,0x2a,null,0x34,null,0x0,0x4,0x8,0x0,0x46,0x5,0x4,null,0x46,0x6,0x0,0x7,0x37,0x1,0x3,null,0x32,null,0x0,0x4,0x8,0x0,0x46,0x5,0x4,null,0x46,0x8,0x0,0x7,0x37,0x1,0x3,null],'c':["gameSettings","inputMode","dataset","control","active","classList","add",0x1,"remove"],'p':0x1,'l':0x0,'j':{0x6:0x10,0xf:0x18},'a':0x1},{'i':[0x0,0x0,0x64,null,0x4b,0x1,0x4,null,0x46,0x2,0x0,0x3,0x37,0x1,0x3,null,0x0,0x4,0x64,null,0x4b,0x5,0x4,null,0x46,0x2,0x0,0x3,0x37,0x1,0x3,null,0x0,0x6,0x64,null,0x4b,0x7,0x4,null,0x46,0x2,0x0,0x3,0x37,0x1,0x3,null,0x1,null,0x38,null],'c':[0xc7,"musicBtns","forEach",0x1,0xc8,"sfxBtns",0xc9,"controlBtns","syncUISettings"],'p':0x0,'l':0x0,'ni':0x8},{'i':[0x4b,0x0,0x4b,0x1,0x0,0x2,0x36,0x1,0x3,null,0x4b,0x3,0x46,0x4,0x0,0x5,0x47,0x6,0x3,null,0x4b,0x7,0x46,0x4,0x0,0x8,0x47,0x6,0x3,null,0x4b,0x9,0x0,0xa,0x36,0x0,0x3,null,0x1,null,0x38,null],'c':["menuClickSound","playSound",0x1,"mainMenu","style","none","display","leaderboardMenu","flex","fetchLeaderboard",0x0],'p':0x0,'l':0x0},{'i':[0x4b,0x0,0x4b,0x1,0x0,0x2,0x36,0x1,0x3,null,0x4b,0x3,0x46,0x4,0x0,0x5,0x47,0x6,0x3,null,0x4b,0x7,0x46,0x4,0x0,0x8,0x47,0x6,0x3,null,0x1,null,0x38,null],'c':["menuClickSound","playSound",0x1,"leaderboardMenu","style","none","display","mainMenu","flex"],'p':0x0,'l':0x0},{'i':[0xd5,0x0,0xd2,0x0,0x0,0x0,0x7,0x1,0x8,0x0,0x46,0x1,0x0,0x2,0x2a,null,0x34,null,0x0,0x3,0x4,null,0x7,0x1,0x3,null,0x32,null,0x8,0x0,0x46,0x1,0x0,0x4,0x2a,null,0x34,null,0x0,0x5,0x4,null,0x7,0x1,0x3,null,0x32,null,0x8,0x0,0x46,0x1,0x0,0x6,0x2a,null,0x34,null,0x0,0x7,0x4,null,0x7,0x1,0x3,null,0x0,0x8,0x6,0x1,0xa,null,0x0,0x9,0xa,null,0x8,0x0,0x46,0x1,0xa,null,0x0,0xa,0xa,null,0x8,0x0,0x46,0xb,0xa,null,0x0,0xc,0xa,null,0x8,0x0,0x46,0xd,0xa,null,0x0,0xe,0xa,null,0x8,0x0,0x46,0xf,0x4,null,0x46,0x10,0x0,0x11,0x37,0x0,0xa,null,0x0,0x12,0xa,null,0x7,0x2,0x4b,0x13,0x4,null,0x46,0x14,0x6,0x2,0xa,null,0x47,0x14,0x3,null],'c':["","rank",0x1,"rank-1",0x2,"rank-2",0x3,"rank-3","\n \n #","\n ","username","\n LVL ","level","\n ","score","toLocaleString",0x0,"\n \n ","leaderboardList","innerHTML"],'p':0x1,'l':0x2,'j':{0x8:0xe,0xd:0x21,0x12:0x18,0x17:0x21,0x1c:0x21},'a':0x1},{'i':[0x4b,0x0,0x0,0x1,0x47,0x2,0x3,null,0x3a,null,0xd5,0x0,0xd2,0x0,0xda,0x3,0xda,0x4,0x0,0x5,0x4b,0x6,0x0,0x7,0x36,0x1,0x7a,null,0xd9,0x8,0xd3,0x8,0x4,null,0x46,0x9,0x0,0xa,0x37,0x0,0x7a,null,0xd9,0xb,0xd3,0xb,0x46,0xc,0x4,null,0x34,null,0x3,null,0xd3,0xb,0x46,0xd,0x46,0xe,0x0,0xa,0x2e,null,0x34,null,0x4b,0x0,0x0,0xf,0x47,0x2,0x3,null,0x0,0x10,0x64,null,0xd3,0xb,0x46,0xd,0x4,null,0x46,0x11,0x0,0x7,0x37,0x1,0x3,null,0x32,null,0x4b,0x0,0x0,0x12,0x47,0x2,0x3,null,0xd6,0x0,0x3b,null,0x32,null,0x3c,0x13,0x0,0x14,0xd3,0x13,0x4b,0x15,0x4,null,0x46,0x13,0x0,0x16,0x37,0x2,0x3,null,0x4b,0x0,0x0,0x17,0x47,0x2,0x3,null,0x32,null,0x1,null,0x38,null],'c':["leaderboardList","Scanning Database...","innerHTML","response","result","api/score.php","fetch",0x1,"response$$1","json",0x0,"result$$1","success","data","length","",0xcd,"forEach","No Records Found","error","Leaderboard error:","console",0x2,"Connection Error","fetchLeaderboard"],'p':0x0,'l':0x2,'j':{0x19:0x20,0x20:0x2f,0x2e:0x33,0x35:0x44,0x43:0x44},'x':{0x4:[0x36,-0x1,0x44]},'s':0x1,'ni':0x18},{'i':[0x3a,null,0x0,0x0,0x4d,null,0x4,null,0x0,0x1,0x47,0x2,0x3,null,0x4,null,0x4d,null,0x4,null,0x0,0x3,0x47,0x4,0x3,null,0x47,0x5,0x3,null,0x4,null,0x4d,null,0x4,null,0x8,0x0,0x47,0x6,0x3,null,0x4,null,0x8,0x1,0x47,0x7,0x3,null,0x4b,0x8,0x4,null,0x46,0x9,0x0,0xa,0x37,0x1,0x47,0xb,0x3,null,0x4b,0xc,0x0,0xd,0x36,0x2,0x7a,null,0x7,0x2,0x6,0x2,0x4,null,0x46,0xe,0x0,0xf,0x37,0x0,0x7a,null,0x7,0x3,0x6,0x3,0x46,0x10,0x34,null,0x0,0x11,0x4b,0x12,0x4,null,0x46,0x13,0x0,0xa,0x37,0x1,0x3,null,0x32,null,0x0,0x14,0x6,0x3,0x46,0x15,0x4b,0x12,0x4,null,0x46,0x15,0x0,0xd,0x37,0x2,0x3,null,0x3b,null,0x32,null,0x3c,0x16,0x0,0x17,0xd3,0x16,0x4b,0x12,0x4,null,0x46,0x15,0x0,0xd,0x37,0x2,0x3,null,0x32,null,0x1,null,0x38,null],'c':["api/score.php","POST","method","application/json","Content-Type","headers","score","level","JSON","stringify",0x1,"body","fetch",0x2,"json",0x0,"ok","Score submitted successfully","console","log","Failed to submit score:","error","e","Error submitting score:","submitScore"],'p':0x2,'l':0x2,'j':{0x2e:0x37,0x36:0x40,0x41:0x4c,0x4b:0x4c},'x':{0x0:[0x42,-0x1,0x4c]},'s':0x1,'ni':0x18},{'i':[0x4b,0x0,0x4,null,0x46,0x1,0x0,0x2,0x37,0x0,0x3,null,0x0,0x3,0x0,0x2,0x0,0x2,0x0,0x3,0x0,0x2,0x0,0x2,0x4b,0x0,0x4,null,0x46,0x4,0x0,0x5,0x37,0x6,0x3,null,0x4b,0x0,0x0,0x6,0x47,0x7,0x3,null,0x4b,0x8,0x4,null,0x46,0x9,0x0,0x2,0x37,0x0,0x0,0xa,0xd,null,0x7,0x0,0x4b,0xb,0x0,0xc,0xd,null,0x7,0x1,0x0,0xd,0x7,0x2,0x0,0xe,0x7,0x3,0x4b,0xf,0x0,0xc,0xd,null,0x6,0x2,0x0,0xc,0xd,null,0xb,null,0x7,0x4,0x4b,0x0,0x0,0x10,0x47,0x11,0x3,null,0x4b,0x0,0x0,0x12,0x47,0x13,0x3,null,0x4b,0x0,0x0,0x14,0x47,0x15,0x3,null,0x4b,0x0,0x0,0x16,0x47,0x17,0x3,null,0x6,0x4,0x6,0x1,0x6,0x2,0x6,0x3,0x4b,0x0,0x4,null,0x46,0x18,0x0,0x19,0x37,0x4,0x3,null,0x6,0x4,0x6,0x1,0x6,0x4,0x6,0x1,0x6,0x3,0xa,null,0x4b,0x0,0x4,null,0x46,0x1a,0x0,0x19,0x37,0x4,0x7,0x5,0x0,0x2,0x0,0x1b,0x6,0x5,0x4,null,0x46,0x1c,0x0,0xc,0x37,0x2,0x3,null,0x0,0x3,0x0,0x1d,0x6,0x5,0x4,null,0x46,0x1c,0x0,0xc,0x37,0x2,0x3,null,0x4b,0x0,0x6,0x5,0x47,0x1e,0x3,null,0x6,0x4,0x6,0x1,0x6,0x2,0x6,0x3,0x4b,0x0,0x4,null,0x46,0x1f,0x0,0x19,0x37,0x4,0x3,null,0x4b,0x0,0x0,0x2,0x47,0x17,0x3,null,0x4b,0x0,0x0,0x20,0x47,0x21,0x3,null,0x4b,0x0,0x0,0x22,0x47,0x1e,0x3,null,0x0,0x23,0x4b,0xf,0x0,0xc,0xd,null,0x6,0x1,0x0,0x24,0xa,null,0x4b,0x0,0x4,null,0x46,0x25,0x0,0x12,0x37,0x3,0x3,null,0x4b,0x0,0x0,0x26,0x47,0x21,0x3,null,0x4b,0x0,0x0,0x27,0x47,0x15,0x3,null,0x4b,0x0,0x0,0x28,0x47,0x17,0x3,null,0x4b,0x0,0x0,0x29,0x47,0x1e,0x3,null,0x4b,0x2a,0x46,0x2b,0x4,null,0x46,0x2c,0x0,0x2,0x37,0x0,0x4b,0xf,0x0,0xc,0xd,null,0x6,0x1,0x0,0x2d,0xa,null,0x4b,0x0,0x4,null,0x46,0x25,0x0,0x12,0x37,0x3,0x3,null,0x4b,0x0,0x0,0x2,0x47,0x17,0x3,null,0x0,0xe,0x7,0x6,0x0,0x2e,0x7,0x7,0x4b,0xf,0x0,0xc,0xd,null,0x6,0x6,0x0,0xc,0xd,null,0xb,null,0x7,0x8,0x6,0x1,0x6,0x3,0xa,null,0x0,0x2f,0xa,null,0x7,0x9,0x4b,0x30,0x4d,null,0x4,null,0x6,0x8,0x47,0x31,0x3,null,0x4,null,0x6,0x9,0x47,0x32,0x3,null,0x4,null,0x6,0x6,0x47,0x33,0x3,null,0x4,null,0x6,0x7,0x47,0x34,0x3,null,0x47,0x35,0x3,null,0x6,0x8,0x6,0x9,0x6,0x8,0x6,0x9,0x6,0x7,0xa,null,0x4b,0x0,0x4,null,0x46,0x1a,0x0,0x19,0x37,0x4,0x7,0xa,0x0,0x2,0x0,0x22,0x6,0xa,0x4,null,0x46,0x1c,0x0,0xc,0x37,0x2,0x3,null,0x0,0x3,0x0,0x36,0x6,0xa,0x4,null,0x46,0x1c,0x0,0xc,0x37,0x2,0x3,null,0x4b,0x0,0x6,0xa,0x47,0x1e,0x3,null,0x4b,0x0,0x0,0x22,0x47,0x15,0x3,null,0x4b,0x0,0x0,0x28,0x47,0x17,0x3,null,0x4b,0x0,0x4,null,0x46,0x37,0x0,0x2,0x37,0x0,0x3,null,0x6,0x8,0x6,0x9,0x6,0x6,0x6,0x7,0x0,0x38,0x4b,0x0,0x4,null,0x46,0x39,0x0,0x3a,0x37,0x5,0x3,null,0x4b,0x0,0x4,null,0x46,0x3b,0x0,0x2,0x37,0x0,0x3,null,0x4b,0x0,0x0,0x2,0x47,0x17,0x3,null,0x4b,0x0,0x0,0x3,0x47,0x3c,0x3,null,0x4b,0x0,0x0,0x3d,0x47,0x1e,0x3,null,0x4b,0x0,0x0,0x3e,0x47,0x21,0x3,null,0x4b,0x0,0x0,0x3f,0x47,0x40,0x3,null,0x0,0x41,0x4b,0xf,0x0,0xc,0xd,null,0x6,0x9,0x6,0x7,0x0,0xc,0xd,null,0xa,null,0x4b,0x0,0x4,null,0x46,0x25,0x0,0x12,0x37,0x3,0x3,null,0x4b,0x0,0x4,null,0x46,0x42,0x0,0x2,0x37,0x0,0x3,null,0x1,null,0x38,null],'c':["ctx","save",0x0,0x1,"setTransform",0x6,"center","textAlign","Date","now",0x3e8,"canvasHeight",0x2,0x1f4,0xc8,"canvasWidth","rgba(0, 234, 255, 0.6)","strokeStyle",0x3,"lineWidth","rgba(0, 234, 255, 0.8)","shadowColor",0x14,"shadowBlur","strokeRect",0x4,"createLinearGradient","rgba(10, 10, 30, 0.9)","addColorStop","rgba(20, 20, 40, 0.95)","fillStyle","fillRect","700 34px Orbitron, Arial","font","#00eaff","Your score:",0x46,"fillText","900 64px Orbitron, Arial","rgba(255, 255, 255, 0.5)",0xf,"#ffffff","player1","score","toLocaleString",0x91,0x32,0x1e,"game","x","y","w","h","restartBtn","#0099ff","beginPath",0xa,"roundRect",0x5,"fill","globalAlpha","white","bold 24px Orbitron, Arial","middle","textBaseline","RESTART","restore","drawScoreBoardui"],'p':0x0,'l':0xb,'ni':0x43},{'i':[0x8,0x0,0x8,0x0,0xc,null,0x8,0x0,0xc,null,0x38,null],'c':["easeInCubic"],'p':0x1,'l':0x0,'ni':0x0},{'i':[0x0,0x0,0x0,0x0,0x8,0x0,0xb,null,0x0,0x1,0x4b,0x2,0x4,null,0x46,0x3,0x0,0x4,0x37,0x2,0xb,null,0x38,null],'c':[0x1,0x3,"Math","pow",0x2,"easeOutCubic"],'p':0x1,'l':0x0,'ni':0x5},{'i':[0x8,0x0,0x0,0x0,0x2c,null,0x34,null,0x0,0x1,0x8,0x0,0xc,null,0x8,0x0,0xc,null,0x8,0x0,0xc,null,0x32,null,0x0,0x2,0x0,0x3,0xf,null,0x8,0x0,0xc,null,0x0,0x3,0xa,null,0x0,0x4,0x4b,0x5,0x4,null,0x46,0x6,0x0,0x3,0x37,0x2,0x0,0x3,0xd,null,0xb,null,0x38,null],'c':[0.5,0x4,0x1,0x2,0x3,"Math","pow","easeInOutCubic"],'p':0x1,'l':0x0,'j':{0x3:0xc,0xb:0x1c},'ni':0x7},{'i':[0x0,0x0,0x0,0x0,0x8,0x0,0xb,null,0x0,0x0,0x8,0x0,0xb,null,0xc,null,0xb,null,0x38,null],'c':[0x1,"easeOutQuad"],'p':0x1,'l':0x0,'ni':0x1},{'i':[0x0,0x0,0x7,0x1,0x6,0x1,0x0,0x1,0xa,null,0x7,0x2,0x0,0x1,0x6,0x2,0x8,0x0,0x0,0x1,0xb,null,0x0,0x2,0x4b,0x3,0x4,null,0x46,0x4,0x0,0x5,0x37,0x2,0xc,null,0xa,null,0x6,0x1,0x8,0x0,0x0,0x1,0xb,null,0x0,0x5,0x4b,0x3,0x4,null,0x46,0x4,0x0,0x5,0x37,0x2,0xc,null,0xa,null,0x38,null],'c':[1.70158,0x1,0x3,"Math","pow",0x2,"easeOutBack"],'p':0x1,'l':0x2,'ni':0x6},{'i':[0x4b,0x0,0x4b,0x1,0x0,0x2,0xd,null,0xb,null,0x7,0x0,0x4b,0x3,0x4b,0x4,0x0,0x2,0xd,null,0xb,null,0x7,0x1,0x4b,0x5,0x6,0x0,0xb,null,0x7,0x2,0x4b,0x6,0x6,0x1,0xb,null,0x7,0x3,0x4b,0x7,0x4b,0x1,0xd,null,0x7,0x4,0x4b,0x8,0x4b,0x4,0xd,null,0x7,0x5,0x4d,null,0x4,null,0x6,0x2,0x6,0x4,0xc,null,0x47,0x9,0x3,null,0x4,null,0x6,0x3,0x6,0x5,0xc,null,0x47,0xa,0x3,null,0x38,null],'c':["ZOOM_TARGET_CENTER_X","ZOOM_TARGET_WIDTH",0x2,"ZOOM_TARGET_CENTER_Y","ZOOM_TARGET_HEIGHT","DAD_FACE_SOURCE_X","DAD_FACE_SOURCE_Y","canvasWidth","canvasHeight","x","y","getDadFaceScreenPosition"],'p':0x0,'l':0x6,'ni':0xb},{'i':[0x4b,0x0,0x46,0x1,0x34,null,0x4b,0x2,0x4b,0x3,0x0,0x4,0xd,null,0xb,null,0x7,0x0,0x4b,0x5,0x4b,0x6,0x0,0x4,0xd,null,0xb,null,0x7,0x1,0x4b,0x0,0x6,0x0,0x6,0x1,0x4b,0x3,0x4b,0x6,0x0,0x7,0x0,0x7,0x4b,0x8,0x4b,0x9,0x4b,0xa,0x4,null,0x46,0xb,0x0,0xc,0x37,0x9,0x3,null,0x1,null,0x38,null],'c':["cockpitImg","complete","ZOOM_TARGET_CENTER_X","ZOOM_TARGET_WIDTH",0x2,"ZOOM_TARGET_CENTER_Y","ZOOM_TARGET_HEIGHT",0x0,"canvasWidth","canvasHeight","ctx","drawImage",0x9,"drawZoomedImage"],'p':0x0,'l':0x2,'j':{0x2:0x1e},'ni':0xd},{'i':[0x4b,0x0,0x0,0x1,0x36,0x0,0x7,0x1,0x0,0x2,0x7,0x2,0x8,0x0,0x4b,0x3,0x0,0x4,0x36,0x1,0x7,0x3,0x4b,0x5,0x4,null,0x46,0x6,0x0,0x1,0x37,0x0,0x3,null,0x4b,0x5,0x0,0x7,0x47,0x8,0x3,null,0x4b,0x5,0x0,0x9,0x47,0xa,0x3,null,0x4b,0x5,0x0,0xb,0x47,0xc,0x3,null,0x4b,0x5,0x0,0xd,0x47,0xe,0x3,null,0x4b,0x5,0x0,0xf,0x47,0x10,0x3,null,0x6,0x3,0x0,0x11,0xc,null,0x0,0x4,0x4b,0x12,0x4,null,0x46,0x13,0x0,0x11,0x37,0x2,0x7,0x4,0x6,0x4,0x0,0x1,0x2e,null,0x34,null,0x6,0x1,0x46,0x14,0x6,0x2,0x0,0x11,0xd,null,0xb,null,0x7,0x5,0x6,0x1,0x46,0x15,0x6,0x2,0x0,0x11,0xd,null,0xb,null,0x7,0x6,0x6,0x1,0x46,0x14,0x6,0x2,0x0,0x11,0xd,null,0xa,null,0x7,0x7,0x6,0x1,0x46,0x15,0x6,0x2,0x0,0x11,0xd,null,0xa,null,0x7,0x8,0x4b,0x5,0x4,null,0x46,0x16,0x0,0x1,0x37,0x0,0x3,null,0x6,0x5,0x6,0x6,0x4b,0x5,0x4,null,0x46,0x17,0x0,0x11,0x37,0x2,0x3,null,0x6,0x5,0x6,0x7,0x6,0x5,0xb,null,0x6,0x4,0xc,null,0xa,null,0x6,0x6,0x6,0x8,0x6,0x6,0xb,null,0x6,0x4,0xc,null,0xa,null,0x4b,0x5,0x4,null,0x46,0x18,0x0,0x11,0x37,0x2,0x3,null,0x4b,0x5,0x4,null,0x46,0x19,0x0,0x1,0x37,0x0,0x3,null,0x0,0x1,0x6,0x3,0x0,0x1a,0xb,null,0x0,0x11,0xc,null,0x4b,0x12,0x4,null,0x46,0x1b,0x0,0x11,0x37,0x2,0x7,0x9,0x6,0x9,0x0,0x1,0x2e,null,0x34,null,0x6,0x1,0x46,0x14,0x6,0x2,0x0,0x11,0xd,null,0xa,null,0x7,0xa,0x6,0x1,0x46,0x15,0x6,0x2,0x0,0x11,0xd,null,0xb,null,0x7,0xb,0x6,0x1,0x46,0x14,0x6,0x2,0x0,0x11,0xd,null,0xb,null,0x7,0xc,0x6,0x1,0x46,0x15,0x6,0x2,0x0,0x11,0xd,null,0xa,null,0x7,0xd,0x4b,0x5,0x4,null,0x46,0x16,0x0,0x1,0x37,0x0,0x3,null,0x6,0xa,0x6,0xb,0x4b,0x5,0x4,null,0x46,0x17,0x0,0x11,0x37,0x2,0x3,null,0x6,0xa,0x6,0xc,0x6,0xa,0xb,null,0x6,0x9,0xc,null,0xa,null,0x6,0xb,0x6,0xd,0x6,0xb,0xb,null,0x6,0x9,0xc,null,0xa,null,0x4b,0x5,0x4,null,0x46,0x18,0x0,0x11,0x37,0x2,0x3,null,0x4b,0x5,0x4,null,0x46,0x19,0x0,0x1,0x37,0x0,0x3,null,0x4b,0x5,0x4,null,0x46,0x1c,0x0,0x1,0x37,0x0,0x3,null,0x1,null,0x38,null],'c':["getDadFaceScreenPosition",0x0,0x64,"easeOutCubic",0x1,"ctx","save","#8B0000","strokeStyle",0xe,"lineWidth","round","lineCap","#FF0000","shadowColor",0x1e,"shadowBlur",0x2,"Math","min","x","y","beginPath","moveTo","lineTo","stroke",0.5,"max","restore","drawXMarkLineDraw"],'p':0x1,'l':0xd,'j':{0x32:0x77,0x86:0xcb},'ni':0x1d},{'i':[0x4b,0x0,0x0,0x1,0x36,0x0,0x7,0x0,0x0,0x2,0x7,0x1,0x4b,0x3,0x4,null,0x46,0x4,0x0,0x1,0x37,0x0,0x3,null,0x4b,0x3,0x0,0x5,0x47,0x6,0x3,null,0x4b,0x3,0x0,0x7,0x47,0x8,0x3,null,0x4b,0x3,0x0,0x9,0x47,0xa,0x3,null,0x4b,0x3,0x0,0xb,0x47,0xc,0x3,null,0x4b,0x3,0x0,0xd,0x47,0xe,0x3,null,0x4b,0x3,0x4,null,0x46,0xf,0x0,0x1,0x37,0x0,0x3,null,0x6,0x0,0x46,0x10,0x6,0x1,0x0,0x11,0xd,null,0xb,null,0x6,0x0,0x46,0x12,0x6,0x1,0x0,0x11,0xd,null,0xb,null,0x4b,0x3,0x4,null,0x46,0x13,0x0,0x11,0x37,0x2,0x3,null,0x6,0x0,0x46,0x10,0x6,0x1,0x0,0x11,0xd,null,0xa,null,0x6,0x0,0x46,0x12,0x6,0x1,0x0,0x11,0xd,null,0xa,null,0x4b,0x3,0x4,null,0x46,0x14,0x0,0x11,0x37,0x2,0x3,null,0x4b,0x3,0x4,null,0x46,0x15,0x0,0x1,0x37,0x0,0x3,null,0x4b,0x3,0x4,null,0x46,0xf,0x0,0x1,0x37,0x0,0x3,null,0x6,0x0,0x46,0x10,0x6,0x1,0x0,0x11,0xd,null,0xa,null,0x6,0x0,0x46,0x12,0x6,0x1,0x0,0x11,0xd,null,0xb,null,0x4b,0x3,0x4,null,0x46,0x13,0x0,0x11,0x37,0x2,0x3,null,0x6,0x0,0x46,0x10,0x6,0x1,0x0,0x11,0xd,null,0xb,null,0x6,0x0,0x46,0x12,0x6,0x1,0x0,0x11,0xd,null,0xa,null,0x4b,0x3,0x4,null,0x46,0x14,0x0,0x11,0x37,0x2,0x3,null,0x4b,0x3,0x4,null,0x46,0x15,0x0,0x1,0x37,0x0,0x3,null,0x4b,0x3,0x4,null,0x46,0x16,0x0,0x1,0x37,0x0,0x3,null,0x1,null,0x38,null],'c':["getDadFaceScreenPosition",0x0,0x64,"ctx","save","#8B0000","strokeStyle",0xe,"lineWidth","round","lineCap","#FF0000","shadowColor",0x1e,"shadowBlur","beginPath","x",0x2,"y","moveTo","lineTo","stroke","restore","drawXMarkFull"],'p':0x0,'l':0x2,'ni':0x17},{'i':[0x4b,0x0,0x46,0x1,0x20,null,0x34,null,0x4b,0x0,0x4b,0x2,0x4,null,0x46,0x3,0x0,0x4,0x37,0x0,0x47,0x1,0x3,null,0x4b,0x2,0x4,null,0x46,0x3,0x0,0x4,0x37,0x0,0x7,0x0,0x6,0x0,0x4b,0x0,0x46,0x1,0xb,null,0x0,0x5,0xd,null,0x7,0x1,0x4b,0x6,0x20,null,0x34,null,0x0,0x7,0x4,null,0x4c,0x6,0x3,null,0x3,null,0x4b,0x8,0x0,0x4,0x36,0x0,0x3,null,0x6,0x1,0x4b,0x9,0x2d,null,0x34,null,0x6,0x1,0x4b,0x9,0xd,null,0x7,0x2,0x4b,0xa,0x0,0xb,0x6,0x2,0xa,null,0x0,0xc,0xa,null,0x47,0xd,0x3,null,0x0,0x4,0x0,0x4,0x4b,0xe,0x4b,0xf,0x4b,0xa,0x4,null,0x46,0x10,0x0,0x11,0x37,0x4,0x3,null,0x4b,0x12,0x4b,0x13,0x0,0x14,0x36,0x1,0x3,null,0x1,null,0x38,null,0x6,0x1,0x4b,0x15,0x2d,null,0x34,null,0x4b,0xa,0x0,0x16,0x47,0xd,0x3,null,0x0,0x4,0x0,0x4,0x4b,0xe,0x4b,0xf,0x4b,0xa,0x4,null,0x46,0x10,0x0,0x11,0x37,0x4,0x3,null,0x4b,0x12,0x4b,0x13,0x0,0x14,0x36,0x1,0x3,null,0x1,null,0x38,null,0x6,0x1,0x4b,0x17,0x2d,null,0x34,null,0x4b,0xa,0x0,0x16,0x47,0xd,0x3,null,0x0,0x4,0x0,0x4,0x4b,0xe,0x4b,0xf,0x4b,0xa,0x4,null,0x46,0x10,0x0,0x11,0x37,0x4,0x3,null,0x6,0x1,0x4b,0x15,0xb,null,0x4b,0x17,0x4b,0x15,0xb,null,0xd,null,0x7,0x3,0x6,0x3,0x4b,0x18,0x0,0x14,0x36,0x1,0x7,0x4,0x4b,0xa,0x0,0x4,0x0,0x14,0x6,0x4,0x4b,0x19,0x4,null,0x46,0x1a,0x0,0x1b,0x37,0x2,0x4b,0x19,0x4,null,0x46,0x1c,0x0,0x1b,0x37,0x2,0x47,0x1d,0x3,null,0x4b,0x1e,0x46,0x1f,0x34,null,0x4b,0x1e,0x0,0x4,0x0,0x4,0x4b,0xe,0x4b,0xf,0x4b,0xa,0x4,null,0x46,0x20,0x0,0x21,0x37,0x5,0x3,null,0x4b,0xa,0x0,0x14,0x47,0x1d,0x3,null,0x4b,0x12,0x4b,0x13,0x0,0x14,0x36,0x1,0x3,null,0x1,null,0x38,null,0x6,0x1,0x4b,0x22,0x2d,null,0x34,null,0x4b,0xa,0x0,0x16,0x47,0xd,0x3,null,0x0,0x4,0x0,0x4,0x4b,0xe,0x4b,0xf,0x4b,0xa,0x4,null,0x46,0x10,0x0,0x11,0x37,0x4,0x3,null,0x6,0x1,0x4b,0x17,0xb,null,0x4b,0x22,0x4b,0x17,0xb,null,0xd,null,0x7,0x5,0x6,0x5,0x0,0x14,0x4b,0x19,0x4,null,0x46,0x1a,0x0,0x1b,0x37,0x2,0x4b,0x23,0x0,0x14,0x36,0x1,0x7,0x6,0x0,0x4,0x7,0x7,0x0,0x4,0x7,0x8,0x4b,0x24,0x7,0x9,0x4b,0x25,0x7,0xa,0x4b,0x26,0x4b,0x27,0x0,0x1b,0xd,null,0xb,null,0x7,0xb,0x4b,0x28,0x4b,0x29,0x0,0x1b,0xd,null,0xb,null,0x7,0xc,0x4b,0x27,0x7,0xd,0x4b,0x29,0x7,0xe,0x6,0x7,0x6,0xb,0x6,0x7,0xb,null,0x6,0x6,0xc,null,0xa,null,0x7,0xf,0x6,0x8,0x6,0xc,0x6,0x8,0xb,null,0x6,0x6,0xc,null,0xa,null,0x7,0x10,0x6,0x9,0x6,0xd,0x6,0x9,0xb,null,0x6,0x6,0xc,null,0xa,null,0x7,0x11,0x6,0xa,0x6,0xe,0x6,0xa,0xb,null,0x6,0x6,0xc,null,0xa,null,0x7,0x12,0x4b,0x1e,0x46,0x1f,0x34,null,0x4b,0x1e,0x6,0xf,0x6,0x10,0x6,0x11,0x6,0x12,0x0,0x4,0x0,0x4,0x4b,0xe,0x4b,0xf,0x4b,0xa,0x4,null,0x46,0x20,0x0,0x2a,0x37,0x9,0x3,null,0x4b,0x12,0x4b,0x13,0x0,0x14,0x36,0x1,0x3,null,0x1,null,0x38,null,0x6,0x1,0x4b,0x2b,0x2d,null,0x34,null,0x4b,0xa,0x0,0x16,0x47,0xd,0x3,null,0x0,0x4,0x0,0x4,0x4b,0xe,0x4b,0xf,0x4b,0xa,0x4,null,0x46,0x10,0x0,0x11,0x37,0x4,0x3,null,0x4b,0x2c,0x0,0x4,0x36,0x0,0x3,null,0x4b,0x12,0x4b,0x13,0x0,0x14,0x36,0x1,0x3,null,0x1,null,0x38,null,0x6,0x1,0x4b,0x2d,0x2d,null,0x34,null,0x4b,0xa,0x0,0x16,0x47,0xd,0x3,null,0x0,0x4,0x0,0x4,0x4b,0xe,0x4b,0xf,0x4b,0xa,0x4,null,0x46,0x10,0x0,0x11,0x37,0x4,0x3,null,0x4b,0x2c,0x0,0x4,0x36,0x0,0x3,null,0x6,0x1,0x4b,0x2b,0xb,null,0x4b,0x2d,0x4b,0x2b,0xb,null,0xd,null,0x7,0x13,0x6,0x13,0x4b,0x2e,0x0,0x14,0x36,0x1,0x3,null,0x4b,0x12,0x4b,0x13,0x0,0x14,0x36,0x1,0x3,null,0x1,null,0x38,null,0x6,0x1,0x4b,0x2f,0x2d,null,0x34,null,0x4b,0xa,0x0,0x16,0x47,0xd,0x3,null,0x0,0x4,0x0,0x4,0x4b,0xe,0x4b,0xf,0x4b,0xa,0x4,null,0x46,0x10,0x0,0x11,0x37,0x4,0x3,null,0x4b,0x2c,0x0,0x4,0x36,0x0,0x3,null,0x4b,0x30,0x0,0x4,0x36,0x0,0x3,null,0x4b,0x12,0x4b,0x13,0x0,0x14,0x36,0x1,0x3,null,0x1,null,0x38,null,0x6,0x1,0x4b,0x31,0x2d,null,0x34,null,0x4b,0xa,0x0,0x16,0x47,0xd,0x3,null,0x0,0x4,0x0,0x4,0x4b,0xe,0x4b,0xf,0x4b,0xa,0x4,null,0x46,0x10,0x0,0x11,0x37,0x4,0x3,null,0x4b,0x2c,0x0,0x4,0x36,0x0,0x3,null,0x4b,0x30,0x0,0x4,0x36,0x0,0x3,null,0x6,0x1,0x4b,0x2f,0xb,null,0x4b,0x31,0x4b,0x2f,0xb,null,0xd,null,0x7,0x14,0x6,0x14,0x0,0x14,0x4b,0x19,0x4,null,0x46,0x1a,0x0,0x1b,0x37,0x2,0x4b,0x32,0x0,0x14,0x36,0x1,0x7,0x15,0x4b,0xa,0x0,0xb,0x6,0x15,0x0,0x33,0xc,null,0xa,null,0x0,0xc,0xa,null,0x47,0xd,0x3,null,0x0,0x4,0x0,0x4,0x4b,0xe,0x4b,0xf,0x4b,0xa,0x4,null,0x46,0x10,0x0,0x11,0x37,0x4,0x3,null,0x6,0x15,0x4b,0x34,0x0,0x14,0x36,0x1,0x3,null,0x4b,0x12,0x4b,0x13,0x0,0x14,0x36,0x1,0x3,null,0x1,null,0x38,null,0x6,0x1,0x4b,0x35,0x2d,null,0x34,null,0x4b,0xa,0x0,0x16,0x47,0xd,0x3,null,0x0,0x4,0x0,0x4,0x4b,0xe,0x4b,0xf,0x4b,0xa,0x4,null,0x46,0x10,0x0,0x11,0x37,0x4,0x3,null,0x4b,0x2c,0x0,0x4,0x36,0x0,0x3,null,0x4b,0x30,0x0,0x4,0x36,0x0,0x3,null,0x4b,0xa,0x0,0x36,0x47,0xd,0x3,null,0x0,0x4,0x0,0x4,0x4b,0xe,0x4b,0xf,0x4b,0xa,0x4,null,0x46,0x10,0x0,0x11,0x37,0x4,0x3,null,0x0,0x14,0x4b,0x34,0x0,0x14,0x36,0x1,0x3,null,0x4b,0x12,0x4b,0x13,0x0,0x14,0x36,0x1,0x3,null,0x1,null,0x38,null,0x6,0x1,0x4b,0x37,0x2d,null,0x34,null,0x4b,0xa,0x0,0x16,0x47,0xd,0x3,null,0x0,0x4,0x0,0x4,0x4b,0xe,0x4b,0xf,0x4b,0xa,0x4,null,0x46,0x10,0x0,0x11,0x37,0x4,0x3,null,0x4b,0x2c,0x0,0x4,0x36,0x0,0x3,null,0x4b,0x30,0x0,0x4,0x36,0x0,0x3,null,0x6,0x1,0x4b,0x35,0xb,null,0x4b,0x37,0x4b,0x35,0xb,null,0xd,null,0x7,0x16,0x6,0x16,0x0,0x14,0x4b,0x19,0x4,null,0x46,0x1a,0x0,0x1b,0x37,0x2,0x4b,0x23,0x0,0x14,0x36,0x1,0x7,0x17,0x4b,0xa,0x0,0xb,0x0,0x33,0x6,0x17,0x0,0x38,0xc,null,0xa,null,0xa,null,0x0,0xc,0xa,null,0x47,0xd,0x3,null,0x0,0x4,0x0,0x4,0x4b,0xe,0x4b,0xf,0x4b,0xa,0x4,null,0x46,0x10,0x0,0x11,0x37,0x4,0x3,null,0x0,0x14,0x4b,0x34,0x0,0x14,0x36,0x1,0x3,null,0x6,0x17,0x4b,0x39,0x0,0x14,0x36,0x1,0x3,null,0x6,0x17,0x0,0x3a,0xc,null,0x4b,0x3b,0x0,0x14,0x36,0x1,0x3,null,0x4b,0x12,0x4b,0x13,0x0,0x14,0x36,0x1,0x3,null,0x1,null,0x38,null,0x4b,0xa,0x0,0x16,0x47,0xd,0x3,null,0x0,0x4,0x0,0x4,0x4b,0xe,0x4b,0xf,0x4b,0xa,0x4,null,0x46,0x10,0x0,0x11,0x37,0x4,0x3,null,0x4b,0x2c,0x0,0x4,0x36,0x0,0x3,null,0x4b,0x30,0x0,0x4,0x36,0x0,0x3,null,0x4b,0xa,0x0,0x3c,0x47,0xd,0x3,null,0x0,0x4,0x0,0x4,0x4b,0xe,0x4b,0xf,0x4b,0xa,0x4,null,0x46,0x10,0x0,0x11,0x37,0x4,0x3,null,0x0,0x14,0x4b,0x34,0x0,0x14,0x36,0x1,0x3,null,0x0,0x14,0x4b,0x39,0x0,0x14,0x36,0x1,0x3,null,0x0,0x14,0x4b,0x3b,0x0,0x14,0x36,0x1,0x3,null,0x4b,0x0,0x46,0x3d,0x20,null,0x34,null,0x4b,0x0,0x0,0x7,0x47,0x3d,0x3,null,0x4b,0x3e,0x46,0x3f,0x46,0x40,0x0,0x41,0x47,0x42,0x3,null,0x4b,0x12,0x4b,0x13,0x0,0x14,0x36,0x1,0x3,null,0x1,null,0x38,null],'c':["game","endingStartTime","Date","now",0x0,0x3e8,"triggerOnce",!![],"crossfadeToGameOver","S_FADE_OUT","ctx","rgba(0, 0, 0, ",")","fillStyle","canvasWidth","canvasHeight","fillRect",0x4,"gameLoop","requestAnimationFrame",0x1,"S_HOLD_BLACK","#000000","S_FADE_IN","easeOutQuad","Math","min",0x2,"max","globalAlpha","cockpitImg","complete","drawImage",0x5,"S_ZOOM","easeOutCubic","SOURCE_IMG_WIDTH","SOURCE_IMG_HEIGHT","ZOOM_TARGET_CENTER_X","ZOOM_TARGET_WIDTH","ZOOM_TARGET_CENTER_Y","ZOOM_TARGET_HEIGHT",0x9,"S_HOLD_PHOTO","drawZoomedImage","S_X_DRAW","drawXMarkLineDraw","S_HOLD_X","drawXMarkFull","S_TEXT_APPEAR","easeInOutCubic",0.5,"drawYouAreDeadText","S_TEXT_PAUSE","rgba(0, 0, 0, 0.5)","S_SCORE_APPEAR",0.2,"drawScorePanel",0.8,"drawRestartButton","rgba(0, 0, 0, 0.7)","gameOver","document","body","style","default","cursor","drawEndingSequence"],'p':0x0,'l':0x10,'j':{0x3:0xc,0x1b:0x25,0x28:0x46,0x49:0x5f,0x62:0xa7,0x90:0x9c,0xaa:0x11d,0x106:0x116,0x120:0x13a,0x13d:0x164,0x167:0x185,0x188:0x1d2,0x1d5:0x206,0x209:0x261,0x297:0x2a2},'ni':0x43},{'i':[0x8,0x0,0x4,null,0x1,null,0x2a,null,0x34,null,0x3,null,0x0,0x0,0x9,0x0,0x32,null,0x3,null,0x4b,0x1,0x4,null,0x46,0x2,0x0,0x3,0x37,0x0,0x3,null,0x0,0x0,0x0,0x3,0x0,0x3,0x0,0x0,0x0,0x3,0x0,0x3,0x4b,0x1,0x4,null,0x46,0x4,0x0,0x5,0x37,0x6,0x3,null,0x4b,0x1,0x0,0x6,0x47,0x7,0x3,null,0x4b,0x1,0x8,0x0,0x47,0x8,0x3,null,0x4b,0x9,0x4,null,0x46,0xa,0x0,0x3,0x37,0x0,0x0,0xb,0xd,null,0x7,0x1,0x6,0x1,0x4b,0xc,0x4,null,0x46,0xd,0x0,0x0,0x37,0x1,0x0,0xe,0xc,null,0x0,0x0,0xa,null,0x7,0x2,0x0,0xf,0x7,0x3,0x4b,0x1,0x0,0x10,0x47,0x11,0x3,null,0x0,0x12,0x7,0x4,0x6,0x4,0x0,0x3,0x2e,null,0x34,null,0x4b,0x1,0x0,0x13,0x0,0x12,0x6,0x4,0xb,null,0x0,0x14,0xd,null,0x8,0x0,0xc,null,0xa,null,0x0,0x15,0xa,null,0x47,0x16,0x3,null,0x4b,0x1,0x6,0x4,0x47,0x17,0x3,null,0x4b,0x1,0x0,0x18,0x0,0x12,0x6,0x4,0xb,null,0x0,0x14,0xd,null,0x8,0x0,0xc,null,0xa,null,0x0,0x15,0xa,null,0x47,0x19,0x3,null,0x0,0x1a,0x4b,0x1b,0x0,0x1c,0xd,null,0x6,0x3,0x4b,0x1,0x4,null,0x46,0x1d,0x0,0x1e,0x37,0x3,0x3,null,0x6,0x4,0x0,0x1e,0xb,null,0x4,null,0x7,0x4,0x3,null,0x32,null,0x4b,0x1,0x0,0x18,0x0,0x1f,0x8,0x0,0xc,null,0xa,null,0x0,0x15,0xa,null,0x47,0x16,0x3,null,0x4b,0x1,0x0,0x20,0x6,0x2,0xc,null,0x8,0x0,0xc,null,0x47,0x17,0x3,null,0x4b,0x1,0x0,0x21,0x47,0x19,0x3,null,0x0,0x1a,0x4b,0x1b,0x0,0x1c,0xd,null,0x6,0x3,0x4b,0x1,0x4,null,0x46,0x1d,0x0,0x1e,0x37,0x3,0x3,null,0x4b,0x1,0x0,0x3,0x47,0x17,0x3,null,0x4b,0x1,0x4,null,0x46,0x22,0x0,0x3,0x37,0x0,0x3,null,0x1,null,0x38,null],'c':[0x1,"ctx","save",0x0,"setTransform",0x6,"center","textAlign","globalAlpha","Date","now",0x12c,"Math","sin",0.2,0x78,"900 72px Orbitron, Arial","font",0x1e,"rgba(255, 50, 50, ",0x64,")","shadowColor","shadowBlur","rgba(255, 0, 0, ","fillStyle","YOU ARE DEAD","canvasWidth",0x2,"fillText",0x3,0.8,0x28,"#FFFFFF","restore","drawYouAreDeadText"],'p':0x1,'l':0x4,'j':{0x4:0x9,0x8:0xa,0x42:0x75,0x74:0x3f},'ni':0x23},{'i':[0x8,0x0,0x4,null,0x1,null,0x2a,null,0x34,null,0x3,null,0x0,0x0,0x9,0x0,0x32,null,0x3,null,0x4b,0x1,0x4,null,0x46,0x2,0x0,0x3,0x37,0x0,0x3,null,0x0,0x0,0x0,0x3,0x0,0x3,0x0,0x0,0x0,0x3,0x0,0x3,0x4b,0x1,0x4,null,0x46,0x4,0x0,0x5,0x37,0x6,0x3,null,0x4b,0x1,0x0,0x6,0x47,0x7,0x3,null,0x4b,0x1,0x8,0x0,0x47,0x8,0x3,null,0x4b,0x9,0x0,0xa,0xd,null,0x0,0xb,0xa,null,0x7,0x1,0x0,0xc,0x7,0x2,0x0,0xd,0x7,0x3,0x4b,0xe,0x0,0xa,0xd,null,0x6,0x2,0x0,0xa,0xd,null,0xb,null,0x7,0x4,0x4b,0x1,0x0,0xf,0x0,0x10,0x8,0x0,0xc,null,0xa,null,0x0,0x11,0xa,null,0x47,0x12,0x3,null,0x4b,0x1,0x0,0x13,0x47,0x14,0x3,null,0x4b,0x1,0x0,0xf,0x0,0x15,0x8,0x0,0xc,null,0xa,null,0x0,0x11,0xa,null,0x47,0x16,0x3,null,0x4b,0x1,0x0,0x17,0x8,0x0,0xc,null,0x47,0x18,0x3,null,0x6,0x4,0x6,0x1,0x6,0x2,0x6,0x3,0x4b,0x1,0x4,null,0x46,0x19,0x0,0x1a,0x37,0x4,0x3,null,0x6,0x4,0x6,0x1,0x6,0x4,0x6,0x1,0x6,0x3,0xa,null,0x4b,0x1,0x4,null,0x46,0x1b,0x0,0x1a,0x37,0x4,0x7,0x5,0x0,0x3,0x0,0x1c,0x0,0x1d,0x8,0x0,0xc,null,0xa,null,0x0,0x11,0xa,null,0x6,0x5,0x4,null,0x46,0x1e,0x0,0xa,0x37,0x2,0x3,null,0x0,0x0,0x0,0x1f,0x0,0x20,0x8,0x0,0xc,null,0xa,null,0x0,0x11,0xa,null,0x6,0x5,0x4,null,0x46,0x1e,0x0,0xa,0x37,0x2,0x3,null,0x4b,0x1,0x6,0x5,0x47,0x21,0x3,null,0x6,0x4,0x6,0x1,0x6,0x2,0x6,0x3,0x4b,0x1,0x4,null,0x46,0x22,0x0,0x1a,0x37,0x4,0x3,null,0x4b,0x1,0x0,0x3,0x47,0x18,0x3,null,0x4b,0x1,0x0,0x23,0x47,0x24,0x3,null,0x4b,0x1,0x0,0x25,0x47,0x21,0x3,null,0x0,0x26,0x4b,0xe,0x0,0xa,0xd,null,0x6,0x1,0x0,0x27,0xa,null,0x4b,0x1,0x4,null,0x46,0x28,0x0,0x13,0x37,0x3,0x3,null,0x4b,0x1,0x0,0x29,0x47,0x24,0x3,null,0x4b,0x1,0x0,0x2a,0x0,0x2b,0x8,0x0,0xc,null,0xa,null,0x0,0x11,0xa,null,0x47,0x16,0x3,null,0x4b,0x1,0x0,0x2c,0x8,0x0,0xc,null,0x47,0x18,0x3,null,0x4b,0x1,0x0,0x2d,0x47,0x21,0x3,null,0x4b,0x2e,0x46,0x2f,0x4,null,0x46,0x30,0x0,0x3,0x37,0x0,0x4b,0xe,0x0,0xa,0xd,null,0x6,0x1,0x0,0x31,0xa,null,0x4b,0x1,0x4,null,0x46,0x28,0x0,0x13,0x37,0x3,0x3,null,0x4b,0x1,0x0,0x3,0x47,0x18,0x3,null,0x4b,0x1,0x4,null,0x46,0x32,0x0,0x3,0x37,0x0,0x3,null,0x1,null,0x38,null],'c':[0x1,"ctx","save",0x0,"setTransform",0x6,"center","textAlign","globalAlpha","canvasHeight",0x2,0x32,0x1f4,0xc8,"canvasWidth","rgba(0, 234, 255, ",0.6,")","strokeStyle",0x3,"lineWidth",0.8,"shadowColor",0x14,"shadowBlur","strokeRect",0x4,"createLinearGradient","rgba(10, 10, 30, ",0.85,"addColorStop","rgba(20, 20, 40, ",0.9,"fillStyle","fillRect","700 34px Orbitron, Arial","font","#00eaff","Your score:",0x3c,"fillText","900 64px Orbitron, Arial","rgba(255, 255, 255, ",0.5,0xf,"#ffffff","player1","score","toLocaleString",0x91,"restore","drawScorePanel"],'p':0x1,'l':0x5,'j':{0x4:0x9,0x8:0xa},'ni':0x33},{'i':[0x8,0x0,0x4,null,0x1,null,0x2a,null,0x34,null,0x3,null,0x0,0x0,0x9,0x0,0x32,null,0x3,null,0x4b,0x1,0x4,null,0x46,0x2,0x0,0x3,0x37,0x0,0x3,null,0x0,0x0,0x0,0x3,0x0,0x3,0x0,0x0,0x0,0x3,0x0,0x3,0x4b,0x1,0x4,null,0x46,0x4,0x0,0x5,0x37,0x6,0x3,null,0x4b,0x1,0x0,0x6,0x47,0x7,0x3,null,0x4b,0x8,0x4,null,0x46,0x9,0x0,0x3,0x37,0x0,0x0,0xa,0xd,null,0x7,0x1,0x4b,0xb,0x0,0xc,0xd,null,0x0,0xd,0xa,null,0x7,0x2,0x0,0xe,0x7,0x3,0x0,0xe,0x7,0x4,0x0,0xd,0x7,0x5,0x4b,0xf,0x0,0xc,0xd,null,0x6,0x4,0x0,0xc,0xd,null,0xb,null,0x7,0x6,0x6,0x2,0x6,0x3,0xa,null,0x0,0x10,0xa,null,0x7,0x7,0x8,0x0,0x0,0x11,0x2f,null,0x34,null,0x4b,0x12,0x4d,null,0x4,null,0x6,0x6,0x47,0x13,0x3,null,0x4,null,0x6,0x7,0x47,0x14,0x3,null,0x4,null,0x6,0x4,0x47,0x15,0x3,null,0x4,null,0x6,0x5,0x47,0x16,0x3,null,0x47,0x17,0x3,null,0x6,0x1,0x0,0x18,0xc,null,0x4b,0x19,0x4,null,0x46,0x1a,0x0,0x0,0x37,0x1,0x0,0x1b,0xc,null,0x0,0x1c,0xa,null,0x8,0x0,0xc,null,0x7,0x8,0x4b,0x1,0x6,0x8,0x47,0x1d,0x3,null,0x6,0x6,0x6,0x7,0x6,0x6,0x6,0x7,0x6,0x5,0xa,null,0x4b,0x1,0x4,null,0x46,0x1e,0x0,0x18,0x37,0x4,0x7,0x9,0x0,0x3,0x0,0x1f,0x6,0x9,0x4,null,0x46,0x20,0x0,0xc,0x37,0x2,0x3,null,0x0,0x0,0x0,0x21,0x6,0x9,0x4,null,0x46,0x20,0x0,0xc,0x37,0x2,0x3,null,0x4b,0x1,0x6,0x9,0x47,0x22,0x3,null,0x4b,0x1,0x0,0x1f,0x47,0x23,0x3,null,0x4b,0x1,0x0,0x24,0x47,0x25,0x3,null,0x4b,0x1,0x4,null,0x46,0x26,0x0,0x3,0x37,0x0,0x3,null,0x6,0x6,0x6,0x7,0x6,0x4,0x6,0x5,0x0,0x27,0x4b,0x1,0x4,null,0x46,0x28,0x0,0x29,0x37,0x5,0x3,null,0x4b,0x1,0x4,null,0x46,0x2a,0x0,0x3,0x37,0x0,0x3,null,0x4b,0x1,0x0,0x3,0x47,0x25,0x3,null,0x4b,0x1,0x0,0x2b,0x47,0x22,0x3,null,0x4b,0x1,0x0,0x2c,0x47,0x2d,0x3,null,0x4b,0x1,0x0,0x2e,0x47,0x2f,0x3,null,0x0,0x30,0x4b,0xf,0x0,0xc,0xd,null,0x6,0x7,0x6,0x5,0x0,0xc,0xd,null,0xa,null,0x4b,0x1,0x4,null,0x46,0x31,0x0,0x32,0x37,0x3,0x3,null,0x4b,0x1,0x4,null,0x46,0x33,0x0,0x3,0x37,0x0,0x3,null,0x1,null,0x38,null],'c':[0x1,"ctx","save",0x0,"setTransform",0x6,"center","textAlign","Date","now",0x12c,"canvasHeight",0x2,0x32,0xc8,"canvasWidth",0x1e,0.95,"game","x","y","w","h","restartBtn",0x4,"Math","sin",0.2,0.8,"globalAlpha","createLinearGradient","#00eaff","addColorStop","#0099ff","fillStyle","shadowColor",0xf,"shadowBlur","beginPath",0xa,"roundRect",0x5,"fill","white","bold 24px Orbitron, Arial","font","middle","textBaseline","RESTART","fillText",0x3,"restore","drawRestartButton"],'p':0x1,'l':0x9,'j':{0x4:0x9,0x8:0xa,0x45:0x5a},'ni':0x34}];function Y(O){return S[O];}for(let O=0x0;O0x1&&H[H['length']-0x1]==='n')try{k['c'][b]=BigInt(H['slice'](0x0,-0x1));}catch(v){}}}let o={0x0:0x127,0x1:0x72,0x2:0x14e,0x3:0x11c,0x4:0xdf,0x5:0xbd,0x6:0x1cf,0x7:0x9,0x8:0xe2,0x9:0x79,0xa:0x1fb,0xb:0x21,0xc:0x179,0xd:0x10,0xe:0x126,0xf:0x4,0x10:0x1b5,0x11:0x1b8,0x12:0x97,0x13:0x1a6,0x14:0x18,0x15:0x2a,0x16:0x94,0x17:0xe4,0x18:0xca,0x19:0x147,0x1a:0x9a,0x1b:0x2b,0x20:0x1a5,0x28:0x101,0x29:0x1d2,0x2a:0x180,0x2b:0x31,0x2c:0x12c,0x2d:0x19,0x2e:0x11d,0x2f:0x10d,0x32:0xb5,0x33:0x1de,0x34:0x5a,0x35:0x98,0x36:0x1e5,0x37:0x1df,0x38:0x1d9,0x39:0x5,0x3a:0x1eb,0x3b:0x37,0x3c:0x11,0x3d:0xee,0x3e:0x170,0x3f:0x3a,0x40:0x154,0x41:0xf7,0x46:0xe5,0x47:0x73,0x48:0x1ae,0x49:0x24,0x4a:0xd4,0x4b:0x16,0x4c:0x96,0x4d:0x56,0x4e:0x1f3,0x4f:0x1f,0x50:0x13f,0x51:0x16e,0x52:0x8e,0x5a:0x143,0x5b:0x182,0x5c:0x99,0x5d:0x1d6,0x5e:0x1ce,0x64:0x1bb,0x65:0xb4,0x66:0xfe,0x67:0x1c8,0x68:0x11b,0x69:0x172,0x6a:0x139,0x6b:0x8d,0x6e:0xb3,0x6f:0xa9,0x70:0x13a,0x78:0x1d1,0x79:0xf9,0x7a:0x149,0x7b:0xe6,0x7c:0xc6,0x7d:0x1be,0x7e:0x173,0x7f:0x192,0x80:0xa4,0x81:0xda,0x82:0x148,0x83:0x14,0x84:0x1d8,0x8c:0x132,0x8d:0xf2,0x8e:0x1a8,0x8f:0x81,0x90:0x82,0x91:0x1ba,0x92:0x135,0x93:0x190,0x94:0x49,0x95:0x9f,0x96:0x14a,0x97:0xd3,0x98:0x1e9,0x99:0x9c,0x9a:0x44,0x9b:0x174,0x9c:0x65,0x9d:0x15a,0x9e:0x17,0xa0:0xd0,0xa1:0x46,0xa2:0x1b,0xa3:0xc,0xa4:0x1e,0xa6:0xed,0xa7:0x29,0xa8:0x7b,0xa9:0x138,0xaa:0x117,0xab:0x1d7,0xac:0x4c,0xad:0xac,0xae:0x159,0xaf:0x93,0xc8:0xff,0xc9:0xd7,0xca:0xe3,0xd2:0x64,0xd3:0x146,0xd4:0x13d,0xd5:0x88,0xd6:0x78,0xd7:0x116,0xd8:0xde,0xd9:0x40,0xda:0x122,0xfa:0x28,0xfb:0x137,0xfc:0x9b,0xfd:0xfa,0xfe:0x7c,0xff:0x80,0x100:0x5f,0x101:0x20,0x102:0x10f,0x103:0x1c4,0x104:0x33,0x105:0xcb},L=new WeakSet();function E(F,W){let X=[];for(let C=0x0;C=0x0;g--){X['push'](R[g]);}}else X['push'](K);}return X['reverse'](),X;}function J(F){let W=[];for(let X in F){W['push'](X);}return W;}let t=![],f=0x0,r=0x0,N=![],l=0x1388,I=0x3;function y(){if(!t||N)return;let F=Date['now']();if(f===0x0){f=F;return;}let W=F-f;f=F;if(W>l){r++;if(r>=I){N=!![];for(let X in o){o[X]=o[X]+0x1&0x1ff;}}}else r=0x0;}function T(F,W,X,C,K,R){let g=[],D=0x0,V=new Array((F['p']||0x0)+(F['l']||0x0)),u=0x0,x=F['c'],h=F['i'],G=F['j']||{},c0=F['x']||{},c1=h['length']>>0x1,c2=[],c3=null,c4={'hasReturn':![],'value':undefined},c5={'hasBreak':![],'target':0x0},c6={'hasContinue':![],'target':0x0},c7=F['o']||o;var c8=0x0,c9=null;let cc=F['seKey'],cp,cs,cn,cZ,ca,ce;if(cc!==undefined){let cY=co=>typeof co==='number'&&Number['isFinite'](co)&&Number['isInteger'](co)&&co>=-0x80000000&&co<=0x7fffffff?co^cc|0x0:co;cp=co=>{g[D++]=cY(co);},cs=()=>cY(g[--D]),cn=()=>cY(g[D-0x1]),cZ=co=>{g[D-0x1]=cY(co);},ca=co=>cY(g[D-co]),ce=(co,cL)=>{g[D-co]=cY(cL);};}else cp=co=>{g[D++]=co;},cs=()=>g[--D],cn=()=>g[D-0x1],cZ=co=>{g[D-0x1]=co;},ca=co=>g[D-co],ce=(co,cL)=>{g[D-co]=cL;};let cQ=F['jk']||0x0,cP=F['bk']||0x0,ci=co=>cQ?co^cQ:co,cB={'parent':X,'vars':Object['create'](null)};if(W)for(let co=0x0;co>0x10,cw=x[cy],cm=x[cT];cp(new RegExp(cw,cm)),u++;break;}},function(cI){while(!![]){let cy=cs(),cT=cs(),cw=x[cI],cm=null;if(d_e5e54a['_$rAtjvY']){let cO=d_e5e54a['_$rAtjvY'],ck=cO['get'](cw);ck&&ck['has'](cT)&&(cm=ck['get'](cT));}if(cm===null){let cb='_$u5PXb6'+cw['substring'](0x1)+'_$YAhYMT';cb in cT&&(cm=cT[cb]);}if(cm===null)throw new TypeError("Cannot read private member "+cw+" from an object whose class did not declare it");if(typeof cm!=='function')throw new TypeError(cw+" is not a function");let cq=[];for(let cH=0x0;cH>>0x10;V[cy]>>cy),u++;break;}},function(cI){while(!![]){let cy=cs(),cT=cs();cp(cT in cy),u++;break;}},function(cI){while(!![]){cp([]),u++;break;}},function(cI){while(!![]){let cy=cI&0xffff,cT=cI>>>0x10;cp(V[cy]*x[cT]),u++;break;}},function(cI){while(!![]){let cy=cs(),cT=cs();cp(cT!=cy),u++;break;}},function(cI){while(!![]){cB&&cB['parent']&&(cB=cB['parent']);u++;break;}},function(cI){while(!![]){let cy=cs(),cT=x[cI];if(d_e5e54a['_$rAtjvY']){let cm=d_e5e54a['_$rAtjvY'],cq=cm['get'](cT);if(cq&&cq['has'](cy)){cp(cq['get'](cy)),u++;break;}}let cw='_$KPDlLU'+cT['substring'](0x1)+'_$rHKtj6';if(cw in cy){cp(cy[cw]),u++;break;}throw new TypeError("Cannot read private member "+cT+" from an object whose class did not declare it");break;}},function(cI){while(!![]){let cy=cs(),cT=cs(),cw=d_e5e54a['_$KtYHU0'];d_e5e54a['_$KtYHU0']=undefined;try{let cm=cT['apply'](undefined,E(cs,cy));cp(cm);}finally{d_e5e54a['_$KtYHU0']=cw;}u++;break;}},function(cI){while(!![]){let cy=cs(),cT=cs(),cw=x[cI];!d_e5e54a['_$rAtjvY']&&(d_e5e54a['_$rAtjvY']=new Map());let cm=d_e5e54a['_$rAtjvY'];!cm['has'](cw)&&cm['set'](cw,new WeakMap());let cq=cm['get'](cw);if(cq['has'](cT))throw new TypeError("Cannot initialize "+cw+" twice on the same object");cq['set'](cT,cy),u++;break;}},function(cI){while(!![]){cs(),cp(undefined),u++;break;}},function(cI){while(!![]){let cy=x[cI];if(cy in d_e5e54a)cp(typeof d_e5e54a[cy]);else j&&cy in j?cp(typeof j[cy]):cp(typeof U[cy]);u++;break;}},function(cI){while(!![]){let cy=c0[u];c2['push']({'catchIndex':cy[0x0]>=0x0?ci(cy[0x0]):undefined,'finallyIndex':cy[0x1]>=0x0?ci(cy[0x1]):undefined,'endIndex':cy[0x2]>=0x0?ci(cy[0x2]):undefined,'stackSize':g['length']}),u++;break;}},function(cI){while(!![]){let cy=cs(),cT=cn();cy!==null&&cy!==undefined&&Object['assign'](cT,cy);u++;break;}},function(cI){while(!![]){let cy=x[cI];!cB['tdzVars']&&(cB['tdzVars']={});cB['tdzVars'][cy]=!![],u++;break;}},function(cI){while(!![]){let cy=cs(),cT=x[cI],cw=![];if(d_e5e54a['_$rAtjvY']){let cm=d_e5e54a['_$rAtjvY'],cq=cm['get'](cT);cw=cq&&cq['has'](cy);}cp(cw),u++;break;}},function(cI){while(!![]){let cy=cs(),cT=cs(),cw=cs();if(typeof cT!=='function')throw new TypeError(cT+' is not a function');let cm=d_e5e54a['_$6g5c3M'],cq=cm&&cm['get'](cT),cz=d_e5e54a['_$KtYHU0'];cq&&(d_e5e54a['_$yqYIQN']=!![],d_e5e54a['_$KtYHU0']=cq);try{let cO=cT['apply'](cw,E(cs,cy));cp(cO);}finally{cq&&(d_e5e54a['_$yqYIQN']=![],d_e5e54a['_$KtYHU0']=cz);}u++;break;}},function(cI){while(!![]){let cy=cs(),cT=cs();if(cT===null||cT===undefined)throw new TypeError("Cannot read property '"+String(cy)+"' of "+cT);cp(cT[cy]),u++;break;}},function(cI){while(!![]){let cy=cs();if(cI>=0x0){let cT=x[cI];cB['vars'][cT]=cy;}u++;break;}},function(cI){while(!![]){debugger;u++;break;}},function(cI){while(!![]){let cy=cs(),cT=cs();cp(cT&cy),u++;break;}},function(cI){while(!![]){let cy=cs(),cT=cs(),cw=cn(),cm=typeof cw==='function'&&cw['prototype']?cw['prototype']:cw;Object['defineProperty'](cm,cT,{'get':cy,'enumerable':cm===cw,'configurable':!![]}),u++;break;}},function(cI){while(!![]){cp(typeof cs()),u++;break;}},function(cI){while(!![]){let cy=cs(),cT=x[cI];!d_e5e54a['_$rAtjvY']&&(d_e5e54a['_$rAtjvY']=new Map());let cw=d_e5e54a['_$rAtjvY'],cm=cw['get'](cT);if(cm&&cm['has'](cy)){cp(cm['get'](cy)),u++;break;}let cq='_$KPDlLU'+cT['substring'](0x1)+'_$rHKtj6';if(cq in cy){cp(cy[cq]),u++;break;}throw new TypeError("Cannot read private member "+cT+" from an object whose class did not declare it");break;}},function(cI){while(!![]){let cy=cI&0xffff,cT=cI>>>0x10,cw=cs(),cm=E(cs,cw),cq=V[cy],cz=x[cT],cO=cq[cz];cp(cO['apply'](cq,cm)),u++;break;}},function(cI){while(!![]){let cy=cs(),cT=cs(),cw=cn(),cm=typeof cw==='function'&&cw['prototype']?cw['prototype']:cw;Object['defineProperty'](cm,cT,{'set':cy,'enumerable':cm===cw,'configurable':!![]}),u++;break;}},function(cI){while(!![]){V[cI]=V[cI]-0x1,u++;break;}},function(cI){while(!![]){let cy=cs(),cT=cy['next']();cp(cT),u++;break;}},function(cI){while(!![]){cp({}),u++;break;}},function(cI){while(!![]){let cy=V[cI]-0x1;V[cI]=cy,cp(cy),u++;break;}},function(cI){while(!![]){cd=!![],cj=g['length']>0x0?cs():undefined;return;break;}},function(cI){while(!![]){let cy=cs(),cT=cn(),cw=![];try{let cm=Object['create'](cy['prototype']);cy['apply'](cm,[]);}catch(cq){cq instanceof TypeError&&(cq['message']['includes']("'new'")||cq['message']['includes']('constructor')||cq['message']['includes']('Illegal constructor'))&&(cw=!![]);}if(cw){let cz=cT,cO=d_e5e54a,ck='_$DMJqsk',cb='_$atQs6f',cH='_$superCalled';try{let cv=new Function('ParentClass','vmCtorFunc','vmGlobals','ntKey','ctKey','scKey','let RC = class extends ParentClass {'+' constructor(...args) {'+' super(...args);'+' vmGlobals[scKey] = true;'+' vmGlobals[ctKey] = new.target || RC;'+' let hadNt = ntKey in vmGlobals;'+' if (!hadNt) vmGlobals[ntKey] = new.target;'+' try {'+' vmCtorFunc.apply(this, args);'+' } finally {'+' delete vmGlobals[scKey];'+' delete vmGlobals[ctKey];'+' if (!hadNt) delete vmGlobals[ntKey];'+' }'+' }'+'};'+'return RC;')(cy,cz,cO,ck,cb,cH);Object['getOwnPropertyNames'](cz)['forEach'](function(cF){if(cF!=='prototype'&&cF!=='length'&&cF!=='name')try{Object['defineProperty'](cv,cF,Object['getOwnPropertyDescriptor'](cz,cF));}catch(cW){}}),cs(),cp(cv),cv['_$SWn6Mt']=cy,u++;break;}catch(cF){}}Object['setPrototypeOf'](cT['prototype'],cy['prototype']),Object['setPrototypeOf'](cT,cy),cT['_$SWn6Mt']=cy,u++;break;}},function(cI){while(!![]){let cy=cs(),cT=cs();cp(cT instanceof cy),u++;break;}},function(cI){while(!![]){throw cs();break;}},function(cI){while(!![]){let cy=cs(),cT=cs();cp(cT|cy),u++;break;}},function(cI){while(!![]){let cy=cs(),cT=x[cI],cw=!(cT in d_e5e54a)&&!(j&&cT in j)&&!(cT in U);j&&cT in j?j[cT]=cy:d_e5e54a[cT]=cy;cT in U&&(U[cT]=cy);cw&&(U[cT]=cy);cp(cy),u++;break;}},function(cI){while(!![]){let cy=cI&0xffff,cT=cI>>>0x10;cp(V[cy]-x[cT]),u++;break;}},function(cI){while(!![]){let cy=cs(),cT=cs();cp(cT===cy),u++;break;}},function(cI){while(!![]){let cy=cs(),cT=cs();cp(cT-cy),u++;break;}},function(cI){while(!![]){let cy=cs();cp(!!cy['done']),u++;break;}},function(cI){while(!![]){let cy=cs(),cT=cn(),cw=x[cI];Object['defineProperty'](cT,cw,{'get':cy,'enumerable':![],'configurable':!![]}),u++;break;}},function(cI){while(!![]){cp(undefined),u++;break;}},function(cI){while(!![]){let cy=cs(),cT=cs();cp(cT>>cy),u++;break;}},function(cI){while(!![]){let cy=x[cI],cT=cs(),cw=cB,cm=![];while(cw){if(cy in cw['vars']){if(cw['constVars']&&cy in cw['constVars'])throw new TypeError('Assignment to constant variable.');cw['tdzVars']&&cy in cw['tdzVars']&&delete cw['tdzVars'][cy];cw['vars'][cy]=cT,cm=!![];break;}cw=cw['parent'];}if(!cm){if(cy in d_e5e54a)d_e5e54a[cy]=cT;else{if(j&&cy in j)j[cy]=cT;else cy in U?U[cy]=cT:U[cy]=cT;}}u++;break;}},function(cI){while(!![]){cp(-cs()),u++;break;}},function(cI){while(!![]){cp(x[cI]),u++;break;}},function(cI){while(!![]){let cy=cs();cy&&typeof cy['return']==='function'?cp(Promise['resolve'](cy['return']())):cp(Promise['resolve']());u++;break;}},function(cI){while(!![]){let cy=cs();cp(J(cy)),u++;break;}},function(cI){while(!![]){let cy=cs(),cT=cs();cp(cT^cy),u++;break;}},function(cI){while(!![]){let cy=cs(),cT=cs();cp(cT>=cy),u++;break;}},function(cI){while(!![]){let cy=cs(),cT=E(cs,cy),cw=cs();if(typeof cw!=='function')throw new TypeError(cw+' is not a constructor');let cm=d_e5e54a['_$KtYHU0'];d_e5e54a['_$KtYHU0']=undefined;let cq;try{cq=Reflect['construct'](cw,cT);}finally{d_e5e54a['_$KtYHU0']=cm;}cp(cq),u++;break;}},function(cI){while(!![]){!cs()?u=ci(G[u]):u++;break;}},function(cI){while(!![]){let cy=cs(),cT=cs();cp(cT!==cy),u++;break;}},function(cI){while(!![]){cp(R),u++;break;}},function(cI){while(!![]){let cy=cI&0xffff,cT=cI>>>0x10,cw=V[cy],cm=x[cT];cp(cw[cm]),u++;break;}},function(cI){while(!![]){W[cI]=cs(),u++;break;}},function(cI){while(!![]){let cy=cs();cs();let cT=cn(),cw=x[cI];!d_e5e54a['_$rAtjvY']&&(d_e5e54a['_$rAtjvY']=new Map());let cm=d_e5e54a['_$rAtjvY'];!cm['has'](cw)&&cm['set'](cw,new WeakMap());let cq=cm['get'](cw);cq['set'](cT,cy),u++;break;}},function(cI){while(!![]){if(c2['length']>0x0){let cy=c2[c2['length']-0x1];cy['finallyIndex']===u&&(cy['pendingException']!==undefined&&(c3=cy['pendingException']),c2['pop']());}u++;break;}},function(cI){while(!![]){let cy=cs(),cT=cs();cT===null||cT===undefined?cp(undefined):cp(cT[cy]);u++;break;}},function(cI){while(!![]){let cy=cs(),cT=cn(),cw=x[cI],cm=typeof cT==='function'&&cT['prototype']?cT['prototype']:cT;Object['defineProperty'](cm,cw,{'set':cy,'enumerable':cm===cT,'configurable':!![]}),u++;break;}},function(cI){while(!![]){if(cM===null){let cy=W?W['length']:0x0,cT={};cM=new Proxy([],{'get':function(cw,cm,cq){if(cm==='length')return cy;if(cm==='callee')return C;if(cm===Symbol['iterator'])return function(){let cO=0x0,ck=cy;return{'next':function(){if(cO=0x0){if(cO=0x0){cz=cy)cy=cz+0x1;return!![];}}return!![];},'has':function(cw,cm){if(cm==='length'||cm==='callee')return!![];if(typeof cm==='string'){let cq=parseInt(cm,0xa);if(!isNaN(cq)&&cq>=0x0&&cq0x0){let cy=c2[c2['length']-0x1];if(cy['finallyIndex']!==undefined){c4['hasReturn']=!![],c4['value']=cs(),u=cy['finallyIndex'];break;}}c4['hasReturn']&&(c4['hasReturn']=![],c4['value']=undefined);cd=!![],cj=cs();return;break;}},function(cI){while(!![]){let cy=cs(),cT=cs();cp(cT+cy),u++;break;}},function(cI){while(!![]){let cy=cs(),cT=cs();cp(cT<0x0){let cy=c2[c2['length']-0x1];if(cy['finallyIndex']!==undefined){c5['hasBreak']=!![],c5['target']=ci(G[u]),u=cy['finallyIndex'];break;}}u=ci(G[u]);break;}},function(cI){while(!![]){let cy=cs(),cT=cs();cp(cT==cy),u++;break;}},function(cI){while(!![]){let cy=cs(),cT=cs(),cw=cn();Object['defineProperty'](cw,cT,{'get':cy,'enumerable':![],'configurable':!![]}),u++;break;}},function(cI){while(!![]){let cy=x[cI],cT=cs();if(cB['tdzVars']){cy in cB['tdzVars']&&delete cB['tdzVars'][cy];let cw=cy['split']('$$')[0x0];cw!==cy&&cw in cB['tdzVars']&&delete cB['tdzVars'][cw];}cB['vars'][cy]=cT;!cB['constVars']&&(cB['constVars']={});cB['constVars'][cy]=!![],u++;break;}},function(cI){while(!![]){let cy=x[cI],cT;if(cy in d_e5e54a)cT=d_e5e54a[cy];else{if(j&&cy in j)cT=j[cy];else{if(cy in U)cT=U[cy];else throw new ReferenceError(cy+' is not defined');}}cp(cT),u++;break;}},function(cI){while(!![]){let cy=cs();cy!==null&&cy!==undefined?u=ci(G[u]):u++;break;}},function(cI){while(!![]){cp(~cs()),u++;break;}},function(cI){while(!![]){let cy=cs(),cT=cs(),cw=d_e5e54a['_$KtYHU0'],cm=cw?Object['getPrototypeOf'](cw):Object['getPrototypeOf'](Object['getPrototypeOf'](cT)),cq=null,cz=cm;while(cz!==null){cq=Object['getOwnPropertyDescriptor'](cz,cy);if(cq)break;cz=Object['getPrototypeOf'](cz);}let cO;if(cq&&cq['get'])cO=cq['get']['call'](cT),cp(cO);else{if(cq&&cq['set']&&!('value'in cq))cp(undefined);else{cO=cz?cz[cy]:cm[cy];if(typeof cO==='function'){let ck=cz||cm,cb=cO['bind'](cT),cH=cO['constructor']&&cO['constructor']['name'],cv=cH==='GeneratorFunction'||cH==='AsyncFunction'||cH==='AsyncGeneratorFunction';!cv&&(!d_e5e54a['_$6g5c3M']&&(d_e5e54a['_$6g5c3M']=new WeakMap()),d_e5e54a['_$6g5c3M']['set'](cb,ck)),cp(cb);}else cp(cO);}}u++;break;}},function(cI){while(!![]){let cy=cs(),cT=cs(),cw=cI,cm=function(cq,cz,cO){let ck;return cO?ck=function(){if(cz){d_e5e54a['_$atQs6f']=ck;let cb='_$DMJqsk'in d_e5e54a;!cb&&(d_e5e54a['_$DMJqsk']=new.target);try{let cH=[];for(let cv=0x0;cv>>0x10;cp(V[cy]>>0x10;cp(V[cy]+x[cT]),u++;break;}},function(cI){while(!![]){let cy=x[cI];cp(Symbol['for'](cy)),u++;break;}},function(cI){while(!![]){let cy,cT;cI!==undefined?(cT=cs(),cy=x[cI]):(cy=cs(),cT=cs());let cw=delete cT[cy];cp(cw),u++;break;}},function(cI){while(!![]){c2['pop'](),u++;break;}},function(cI){while(!![]){let cy=cs(),cT=cs(),cw=cs();if(cw===null||cw===undefined)throw new TypeError("Cannot set property '"+String(cT)+"' of "+cw);cw[cT]=cy,cp(cy),u++;break;}},function(cI){while(!![]){let cy=x[cI],cT=cB,cw,cm=![];while(cT){if(cT['tdzVars']&&cy in cT['tdzVars'])throw new ReferenceError("Cannot access '"+cy+"' before initialization");if(cy in cT['vars']){cw=cT['vars'][cy],cm=!![];break;}cT=cT['parent'];}cy==='__this__'&&(cw=R,cm=!![]);if(!cm){if(cy in d_e5e54a)cw=d_e5e54a[cy];else j&&cy in j?cw=j[cy]:cw=U[cy];}cp(cw),u++;break;}},function(cI){while(!![]){let cy=cs(),cT=cn(),cw=x[cI];Object['defineProperty'](cT,cw,{'value':cy,'writable':!![],'enumerable':![],'configurable':!![]}),u++;break;}},function(cI){while(!![]){let cy=cs(),cT=x[cI];if(cy==null){cp(undefined),u++;break;}!d_e5e54a['_$rAtjvY']&&(d_e5e54a['_$rAtjvY']=new Map());let cw=d_e5e54a['_$rAtjvY'],cm=cw['get'](cT);if(!cm||!cm['has'](cy))throw new TypeError("Cannot read private member "+cT+" from an object whose class did not declare it");cp(cm['get'](cy)),u++;break;}},function(cI){while(!![]){if(c2['length']>0x0){let cy=c2[c2['length']-0x1];if(cy['finallyIndex']!==undefined){c6['hasContinue']=!![],c6['target']=ci(G[u]),u=cy['finallyIndex'];break;}}u=ci(G[u]);break;}},function(cI){while(!![]){let cy=cs(),cT=cn();cT['push'](cy),u++;break;}},function(cI){while(!![]){V[cI]=V[cI]+0x1,u++;break;}},function(cI){while(!![]){cp(!cs()),u++;break;}},function(cI){while(!![]){let cy=cs(),cT=cs();cp(cT/cy),u++;break;}},function(cI){while(!![]){let cy=cs(),cT=cs(),cw=cn();Object['defineProperty'](cw['prototype'],cT,{'value':cy,'writable':!![],'enumerable':![],'configurable':!![]}),u++;break;}},function(cI){while(!![]){let cy=cs();cp(cy),cp(cy),u++;break;}},function(cI){while(!![]){let cy=cs(),cT=cn(),cw=x[cI];Object['defineProperty'](cT['prototype'],cw,{'value':cy,'writable':!![],'enumerable':![],'configurable':!![]}),u++;break;}},function(cI){while(!![]){cp(+cs()),u++;break;}},function(cI){while(!![]){let cy=cs();cy&&typeof cy['return']==='function'&&cy['return']();u++;break;}},function(cI){while(!![]){cp(K),u++;break;}},function(cI){while(!![]){let cy=cs(),cT=cn(),cw=x[cI];Object['defineProperty'](cT,cw,{'set':cy,'enumerable':![],'configurable':!![]}),u++;break;}},function(cI){while(!![]){let cy=V[cI]+0x1;V[cI]=cy,cp(cy),u++;break;}},function(cI){while(!![]){let cy=cs(),cT=cs();cp(cTcy),u++;break;}},function(cI){while(!![]){let cy=cs(),cT={'vars':Object['create'](null),'constVars':Object['create'](null),'tdzVars':Object['create'](null),'parent':cy};cB=cT,u++;break;}},function(cI){while(!![]){let cy=cs(),cT=cs(),cw=cn();Object['defineProperty'](cw,cT,{'set':cy,'enumerable':![],'configurable':!![]}),u++;break;}},function(cI){while(!![]){cs()?u=ci(G[u]):u++;break;}},function(cI){while(!![]){let cy=cs();if(cy==null)throw new TypeError('Cannot iterate over '+cy);let cT=cy[Symbol['iterator']];if(typeof cT!=='function')throw new TypeError('Object is not iterable');cp(cT['call'](cy)),u++;break;}},function(cI){while(!![]){let cy=cs(),cT=cn();if(Array['isArray'](cy))Array['prototype']['push']['apply'](cT,cy);else for(let cw of cy){cT['push'](cw);}u++;break;}},function(cI){while(!![]){cp(cB),u++;break;}},function(cI){while(!![]){u=ci(G[u]);break;}},function(cI){while(!![]){let cy=cs(),cT=cs(),cw=x[cI];!d_e5e54a['_$rAtjvY']&&(d_e5e54a['_$rAtjvY']=new Map());let cm=d_e5e54a['_$rAtjvY'],cq=cm['get'](cw);if(cq&&cq['has'](cT)){cq['set'](cT,cy),cp(cy),u++;break;}let cz='_$KPDlLU'+cw['substring'](0x1)+'_$rHKtj6';if(cz in cT){cT[cz]=cy,cp(cy),u++;break;}throw new TypeError("Cannot write private member "+cw+" to an object whose class did not declare it");break;}}];cS[cU[cf]](cl);if(cd)return cd=![],cj;}break;}catch(cI){if(c2['length']>0x0){let cy=c2[c2['length']-0x1];D=cy['stackSize'];if(cy['catchIndex']!==undefined)cp(cI),u=cy['catchIndex'],cy['catchIndex']=undefined,cy['finallyIndex']===undefined&&c2['pop']();else cy['finallyIndex']!==undefined?(u=cy['finallyIndex'],cy['pendingException']=cI):(u=cy['endIndex'],c2['pop']());continue;}throw cI;}}return D>0x0?cs():cA?R:undefined;}function*w(F,W,X,C,K,R){let g=[],D=0x0,V=new Array((F['p']||0x0)+(F['l']||0x0)),u=0x0,x=F['c'],h=F['i'],G=F['j']||{},c0=F['x']||{},c1=h['length']>>0x1,c2=[],c3=null,c4={'hasReturn':![],'value':undefined},c5={'hasBreak':![],'target':0x0},c6={'hasContinue':![],'target':0x0},c7=F['o']||o;var c8=0x0,c9=null;let cc=F['seKey'],cp,cs,cn,cZ,ca,ce;if(cc!==undefined){let cY=co=>typeof co==='number'&&Number['isFinite'](co)&&Number['isInteger'](co)&&co>=-0x80000000&&co<=0x7fffffff?co^cc|0x0:co;cp=co=>{g[D++]=cY(co);},cs=()=>cY(g[--D]),cn=()=>cY(g[D-0x1]),cZ=co=>{g[D-0x1]=cY(co);},ca=co=>cY(g[D-co]),ce=(co,cL)=>{g[D-co]=cY(cL);};}else cp=co=>{g[D++]=co;},cs=()=>g[--D],cn=()=>g[D-0x1],cZ=co=>{g[D-0x1]=co;},ca=co=>g[D-co],ce=(co,cL)=>{g[D-co]=cL;};let cQ=F['jk']||0x0,cP=F['bk']||0x0,ci=co=>cQ?co^cQ:co,cB={'parent':X,'vars':Object['create'](null)};if(W)for(let co=0x0;co0x0){let cq=c2[c2['length']-0x1];if(cq['finallyIndex']!==undefined){c4['hasReturn']=!![],c4['value']=cm,u=cq['finallyIndex'];continue;}}return cm;}cp(cw),u++;continue;}if(cf===0x79){let cz=cs(),cO=yield{'t':0x3,'v':cz};cp(cO),u++;continue;}if(typeof cS==='undefined')var cd=![],cj,cU={0x0:0x38,0x1:0x34,0x2:0x59,0x3:0x48,0x4:0x6b,0x5:0x7d,0x6:0xb,0x7:0x79,0x8:0x6,0x9:0x42,0xa:0x4e,0xb:0x31,0xc:0x73,0xd:0x69,0xe:0x49,0xf:0x37,0x12:0x78,0x13:0x6d,0x14:0x1f,0x15:0x2d,0x16:0x3b,0x17:0x56,0x18:0x4f,0x19:0x35,0x1a:0xc,0x1b:0x80,0x20:0x68,0x28:0x51,0x29:0x10,0x2a:0x30,0x2b:0x3f,0x2c:0x72,0x2d:0x7b,0x2e:0x81,0x2f:0x3c,0x32:0x88,0x33:0x84,0x34:0x3e,0x35:0x55,0x36:0x13,0x37:0x1b,0x38:0x4d,0x39:0x2c,0x3a:0x17,0x3b:0x60,0x3c:0x1d,0x3d:0x44,0x3e:0x4,0x3f:0x50,0x40:0x65,0x46:0x4c,0x47:0x74,0x48:0x1c,0x49:0x61,0x4a:0x5f,0x4b:0x54,0x4c:0x2e,0x4d:0x27,0x4e:0x2,0x4f:0xd,0x51:0x18,0x52:0x45,0x5a:0xe,0x5b:0x66,0x5d:0x7c,0x5e:0x86,0x64:0x77,0x68:0x3d,0x69:0x76,0x6a:0x5,0x6e:0x21,0x6f:0x2b,0x70:0x16,0x7b:0x26,0x7c:0x6e,0x7f:0x85,0x80:0x32,0x81:0x9,0x82:0x4b,0x83:0x39,0x84:0x3a,0x8c:0x58,0x8d:0x2a,0x8e:0x57,0x8f:0x7f,0x90:0x6c,0x91:0x8,0x92:0x46,0x93:0x63,0x94:0x33,0x95:0x70,0x96:0x22,0x97:0x89,0x98:0x14,0x99:0x1a,0x9a:0x1,0x9b:0x64,0x9c:0x43,0x9d:0x12,0x9e:0x5b,0xa0:0x40,0xa1:0x47,0xa2:0x0,0xa3:0x15,0xa4:0x6f,0xa7:0x75,0xa8:0x5e,0xa9:0x4a,0xaa:0x6a,0xab:0x5a,0xac:0x20,0xad:0x24,0xae:0x52,0xaf:0x83,0xc8:0x1e,0xc9:0xa,0xca:0x29,0xd2:0x82,0xd3:0x62,0xd4:0x36,0xd5:0x87,0xd6:0x11,0xd7:0x7,0xd8:0x7a,0xd9:0x53,0xda:0x19,0xfa:0x67,0xfb:0x25,0xfc:0x5d,0xfd:0x2f,0xfe:0xf,0xff:0x41,0x100:0x5c,0x101:0x3,0x102:0x23,0x103:0x7e,0x104:0x71,0x105:0x28},cS=[function(ck){while(!![]){let cb=ck&0xffff,cH=ck>>0x10,cv=x[cb],cF=x[cH];cp(new RegExp(cv,cF)),u++;break;}},function(ck){while(!![]){let cb=cs(),cH=cs(),cv=x[ck],cF=null;if(d_e5e54a['_$rAtjvY']){let cC=d_e5e54a['_$rAtjvY'],cK=cC['get'](cv);cK&&cK['has'](cH)&&(cF=cK['get'](cH));}if(cF===null){let cR='_$u5PXb6'+cv['substring'](0x1)+'_$YAhYMT';cR in cH&&(cF=cH[cR]);}if(cF===null)throw new TypeError("Cannot read private member "+cv+" from an object whose class did not declare it");if(typeof cF!=='function')throw new TypeError(cv+" is not a function");let cW=[];for(let cg=0x0;cg>>0x10;V[cb]>>cb),u++;break;}},function(ck){while(!![]){let cb=cs(),cH=cs();cp(cH in cb),u++;break;}},function(ck){while(!![]){cp([]),u++;break;}},function(ck){while(!![]){let cb=ck&0xffff,cH=ck>>>0x10;cp(V[cb]*x[cH]),u++;break;}},function(ck){while(!![]){let cb=cs(),cH=cs();cp(cH!=cb),u++;break;}},function(ck){while(!![]){cB&&cB['parent']&&(cB=cB['parent']);u++;break;}},function(ck){while(!![]){let cb=cs(),cH=x[ck];if(d_e5e54a['_$rAtjvY']){let cF=d_e5e54a['_$rAtjvY'],cW=cF['get'](cH);if(cW&&cW['has'](cb)){cp(cW['get'](cb)),u++;break;}}let cv='_$KPDlLU'+cH['substring'](0x1)+'_$rHKtj6';if(cv in cb){cp(cb[cv]),u++;break;}throw new TypeError("Cannot read private member "+cH+" from an object whose class did not declare it");break;}},function(ck){while(!![]){let cb=cs(),cH=cs(),cv=d_e5e54a['_$KtYHU0'];d_e5e54a['_$KtYHU0']=undefined;try{let cF=cH['apply'](undefined,E(cs,cb));cp(cF);}finally{d_e5e54a['_$KtYHU0']=cv;}u++;break;}},function(ck){while(!![]){let cb=cs(),cH=cs(),cv=x[ck];!d_e5e54a['_$rAtjvY']&&(d_e5e54a['_$rAtjvY']=new Map());let cF=d_e5e54a['_$rAtjvY'];!cF['has'](cv)&&cF['set'](cv,new WeakMap());let cW=cF['get'](cv);if(cW['has'](cH))throw new TypeError("Cannot initialize "+cv+" twice on the same object");cW['set'](cH,cb),u++;break;}},function(ck){while(!![]){cs(),cp(undefined),u++;break;}},function(ck){while(!![]){let cb=x[ck];if(cb in d_e5e54a)cp(typeof d_e5e54a[cb]);else j&&cb in j?cp(typeof j[cb]):cp(typeof U[cb]);u++;break;}},function(ck){while(!![]){let cb=c0[u];c2['push']({'catchIndex':cb[0x0]>=0x0?ci(cb[0x0]):undefined,'finallyIndex':cb[0x1]>=0x0?ci(cb[0x1]):undefined,'endIndex':cb[0x2]>=0x0?ci(cb[0x2]):undefined,'stackSize':g['length']}),u++;break;}},function(ck){while(!![]){let cb=cs(),cH=cn();cb!==null&&cb!==undefined&&Object['assign'](cH,cb);u++;break;}},function(ck){while(!![]){let cb=x[ck];!cB['tdzVars']&&(cB['tdzVars']={});cB['tdzVars'][cb]=!![],u++;break;}},function(ck){while(!![]){let cb=cs(),cH=x[ck],cv=![];if(d_e5e54a['_$rAtjvY']){let cF=d_e5e54a['_$rAtjvY'],cW=cF['get'](cH);cv=cW&&cW['has'](cb);}cp(cv),u++;break;}},function(ck){while(!![]){let cb=cs(),cH=cs(),cv=cs();if(typeof cH!=='function')throw new TypeError(cH+' is not a function');let cF=d_e5e54a['_$6g5c3M'],cW=cF&&cF['get'](cH),cX=d_e5e54a['_$KtYHU0'];cW&&(d_e5e54a['_$yqYIQN']=!![],d_e5e54a['_$KtYHU0']=cW);try{let cC=cH['apply'](cv,E(cs,cb));cp(cC);}finally{cW&&(d_e5e54a['_$yqYIQN']=![],d_e5e54a['_$KtYHU0']=cX);}u++;break;}},function(ck){while(!![]){let cb=cs(),cH=cs();if(cH===null||cH===undefined)throw new TypeError("Cannot read property '"+String(cb)+"' of "+cH);cp(cH[cb]),u++;break;}},function(ck){while(!![]){let cb=cs();if(ck>=0x0){let cH=x[ck];cB['vars'][cH]=cb;}u++;break;}},function(ck){while(!![]){debugger;u++;break;}},function(ck){while(!![]){let cb=cs(),cH=cs();cp(cH&cb),u++;break;}},function(ck){while(!![]){let cb=cs(),cH=cs(),cv=cn(),cF=typeof cv==='function'&&cv['prototype']?cv['prototype']:cv;Object['defineProperty'](cF,cH,{'get':cb,'enumerable':cF===cv,'configurable':!![]}),u++;break;}},function(ck){while(!![]){cp(typeof cs()),u++;break;}},function(ck){while(!![]){let cb=cs(),cH=x[ck];!d_e5e54a['_$rAtjvY']&&(d_e5e54a['_$rAtjvY']=new Map());let cv=d_e5e54a['_$rAtjvY'],cF=cv['get'](cH);if(cF&&cF['has'](cb)){cp(cF['get'](cb)),u++;break;}let cW='_$KPDlLU'+cH['substring'](0x1)+'_$rHKtj6';if(cW in cb){cp(cb[cW]),u++;break;}throw new TypeError("Cannot read private member "+cH+" from an object whose class did not declare it");break;}},function(ck){while(!![]){let cb=ck&0xffff,cH=ck>>>0x10,cv=cs(),cF=E(cs,cv),cW=V[cb],cX=x[cH],cC=cW[cX];cp(cC['apply'](cW,cF)),u++;break;}},function(ck){while(!![]){let cb=cs(),cH=cs(),cv=cn(),cF=typeof cv==='function'&&cv['prototype']?cv['prototype']:cv;Object['defineProperty'](cF,cH,{'set':cb,'enumerable':cF===cv,'configurable':!![]}),u++;break;}},function(ck){while(!![]){V[ck]=V[ck]-0x1,u++;break;}},function(ck){while(!![]){let cb=cs(),cH=cb['next']();cp(cH),u++;break;}},function(ck){while(!![]){cp({}),u++;break;}},function(ck){while(!![]){let cb=V[ck]-0x1;V[ck]=cb,cp(cb),u++;break;}},function(ck){while(!![]){cd=!![],cj=g['length']>0x0?cs():undefined;return;break;}},function(ck){while(!![]){let cb=cs(),cH=cn(),cv=![];try{let cF=Object['create'](cb['prototype']);cb['apply'](cF,[]);}catch(cW){cW instanceof TypeError&&(cW['message']['includes']("'new'")||cW['message']['includes']('constructor')||cW['message']['includes']('Illegal constructor'))&&(cv=!![]);}if(cv){let cX=cH,cC=d_e5e54a,cK='_$DMJqsk',cR='_$atQs6f',cg='_$superCalled';try{let cD=new Function('ParentClass','vmCtorFunc','vmGlobals','ntKey','ctKey','scKey','let RC = class extends ParentClass {'+' constructor(...args) {'+' super(...args);'+' vmGlobals[scKey] = true;'+' vmGlobals[ctKey] = new.target || RC;'+' let hadNt = ntKey in vmGlobals;'+' if (!hadNt) vmGlobals[ntKey] = new.target;'+' try {'+' vmCtorFunc.apply(this, args);'+' } finally {'+' delete vmGlobals[scKey];'+' delete vmGlobals[ctKey];'+' if (!hadNt) delete vmGlobals[ntKey];'+' }'+' }'+'};'+'return RC;')(cb,cX,cC,cK,cR,cg);Object['getOwnPropertyNames'](cX)['forEach'](function(cV){if(cV!=='prototype'&&cV!=='length'&&cV!=='name')try{Object['defineProperty'](cD,cV,Object['getOwnPropertyDescriptor'](cX,cV));}catch(cu){}}),cs(),cp(cD),cD['_$SWn6Mt']=cb,u++;break;}catch(cV){}}Object['setPrototypeOf'](cH['prototype'],cb['prototype']),Object['setPrototypeOf'](cH,cb),cH['_$SWn6Mt']=cb,u++;break;}},function(ck){while(!![]){let cb=cs(),cH=cs();cp(cH instanceof cb),u++;break;}},function(ck){while(!![]){throw cs();break;}},function(ck){while(!![]){let cb=cs(),cH=cs();cp(cH|cb),u++;break;}},function(ck){while(!![]){let cb=cs(),cH=x[ck],cv=!(cH in d_e5e54a)&&!(j&&cH in j)&&!(cH in U);j&&cH in j?j[cH]=cb:d_e5e54a[cH]=cb;cH in U&&(U[cH]=cb);cv&&(U[cH]=cb);cp(cb),u++;break;}},function(ck){while(!![]){let cb=ck&0xffff,cH=ck>>>0x10;cp(V[cb]-x[cH]),u++;break;}},function(ck){while(!![]){let cb=cs(),cH=cs();cp(cH===cb),u++;break;}},function(ck){while(!![]){let cb=cs(),cH=cs();cp(cH-cb),u++;break;}},function(ck){while(!![]){let cb=cs();cp(!!cb['done']),u++;break;}},function(ck){while(!![]){let cb=cs(),cH=cn(),cv=x[ck];Object['defineProperty'](cH,cv,{'get':cb,'enumerable':![],'configurable':!![]}),u++;break;}},function(ck){while(!![]){cp(undefined),u++;break;}},function(ck){while(!![]){let cb=cs(),cH=cs();cp(cH>>cb),u++;break;}},function(ck){while(!![]){let cb=x[ck],cH=cs(),cv=cB,cF=![];while(cv){if(cb in cv['vars']){if(cv['constVars']&&cb in cv['constVars'])throw new TypeError('Assignment to constant variable.');cv['tdzVars']&&cb in cv['tdzVars']&&delete cv['tdzVars'][cb];cv['vars'][cb]=cH,cF=!![];break;}cv=cv['parent'];}if(!cF){if(cb in d_e5e54a)d_e5e54a[cb]=cH;else{if(j&&cb in j)j[cb]=cH;else cb in U?U[cb]=cH:U[cb]=cH;}}u++;break;}},function(ck){while(!![]){cp(-cs()),u++;break;}},function(ck){while(!![]){cp(x[ck]),u++;break;}},function(ck){while(!![]){let cb=cs();cb&&typeof cb['return']==='function'?cp(Promise['resolve'](cb['return']())):cp(Promise['resolve']());u++;break;}},function(ck){while(!![]){let cb=cs();cp(J(cb)),u++;break;}},function(ck){while(!![]){let cb=cs(),cH=cs();cp(cH^cb),u++;break;}},function(ck){while(!![]){let cb=cs(),cH=cs();cp(cH>=cb),u++;break;}},function(ck){while(!![]){let cb=cs(),cH=E(cs,cb),cv=cs();if(typeof cv!=='function')throw new TypeError(cv+' is not a constructor');let cF=d_e5e54a['_$KtYHU0'];d_e5e54a['_$KtYHU0']=undefined;let cW;try{cW=Reflect['construct'](cv,cH);}finally{d_e5e54a['_$KtYHU0']=cF;}cp(cW),u++;break;}},function(ck){while(!![]){!cs()?u=ci(G[u]):u++;break;}},function(ck){while(!![]){let cb=cs(),cH=cs();cp(cH!==cb),u++;break;}},function(ck){while(!![]){cp(R),u++;break;}},function(ck){while(!![]){let cb=ck&0xffff,cH=ck>>>0x10,cv=V[cb],cF=x[cH];cp(cv[cF]),u++;break;}},function(ck){while(!![]){W[ck]=cs(),u++;break;}},function(ck){while(!![]){let cb=cs();cs();let cH=cn(),cv=x[ck];!d_e5e54a['_$rAtjvY']&&(d_e5e54a['_$rAtjvY']=new Map());let cF=d_e5e54a['_$rAtjvY'];!cF['has'](cv)&&cF['set'](cv,new WeakMap());let cW=cF['get'](cv);cW['set'](cH,cb),u++;break;}},function(ck){while(!![]){if(c2['length']>0x0){let cb=c2[c2['length']-0x1];cb['finallyIndex']===u&&(cb['pendingException']!==undefined&&(c3=cb['pendingException']),c2['pop']());}u++;break;}},function(ck){while(!![]){let cb=cs(),cH=cs();cH===null||cH===undefined?cp(undefined):cp(cH[cb]);u++;break;}},function(ck){while(!![]){let cb=cs(),cH=cn(),cv=x[ck],cF=typeof cH==='function'&&cH['prototype']?cH['prototype']:cH;Object['defineProperty'](cF,cv,{'set':cb,'enumerable':cF===cH,'configurable':!![]}),u++;break;}},function(ck){while(!![]){if(cM===null){let cb=W?W['length']:0x0,cH={};cM=new Proxy([],{'get':function(cv,cF,cW){if(cF==='length')return cb;if(cF==='callee')return C;if(cF===Symbol['iterator'])return function(){let cC=0x0,cK=cb;return{'next':function(){if(cC=0x0){if(cC=0x0){cX=cb)cb=cX+0x1;return!![];}}return!![];},'has':function(cv,cF){if(cF==='length'||cF==='callee')return!![];if(typeof cF==='string'){let cW=parseInt(cF,0xa);if(!isNaN(cW)&&cW>=0x0&&cW0x0){let cb=c2[c2['length']-0x1];if(cb['finallyIndex']!==undefined){c4['hasReturn']=!![],c4['value']=cs(),u=cb['finallyIndex'];break;}}c4['hasReturn']&&(c4['hasReturn']=![],c4['value']=undefined);cd=!![],cj=cs();return;break;}},function(ck){while(!![]){let cb=cs(),cH=cs();cp(cH+cb),u++;break;}},function(ck){while(!![]){let cb=cs(),cH=cs();cp(cH<0x0){let cb=c2[c2['length']-0x1];if(cb['finallyIndex']!==undefined){c5['hasBreak']=!![],c5['target']=ci(G[u]),u=cb['finallyIndex'];break;}}u=ci(G[u]);break;}},function(ck){while(!![]){let cb=cs(),cH=cs();cp(cH==cb),u++;break;}},function(ck){while(!![]){let cb=cs(),cH=cs(),cv=cn();Object['defineProperty'](cv,cH,{'get':cb,'enumerable':![],'configurable':!![]}),u++;break;}},function(ck){while(!![]){let cb=x[ck],cH=cs();if(cB['tdzVars']){cb in cB['tdzVars']&&delete cB['tdzVars'][cb];let cv=cb['split']('$$')[0x0];cv!==cb&&cv in cB['tdzVars']&&delete cB['tdzVars'][cv];}cB['vars'][cb]=cH;!cB['constVars']&&(cB['constVars']={});cB['constVars'][cb]=!![],u++;break;}},function(ck){while(!![]){let cb=x[ck],cH;if(cb in d_e5e54a)cH=d_e5e54a[cb];else{if(j&&cb in j)cH=j[cb];else{if(cb in U)cH=U[cb];else throw new ReferenceError(cb+' is not defined');}}cp(cH),u++;break;}},function(ck){while(!![]){let cb=cs();cb!==null&&cb!==undefined?u=ci(G[u]):u++;break;}},function(ck){while(!![]){cp(~cs()),u++;break;}},function(ck){while(!![]){let cb=cs(),cH=cs(),cv=d_e5e54a['_$KtYHU0'],cF=cv?Object['getPrototypeOf'](cv):Object['getPrototypeOf'](Object['getPrototypeOf'](cH)),cW=null,cX=cF;while(cX!==null){cW=Object['getOwnPropertyDescriptor'](cX,cb);if(cW)break;cX=Object['getPrototypeOf'](cX);}let cC;if(cW&&cW['get'])cC=cW['get']['call'](cH),cp(cC);else{if(cW&&cW['set']&&!('value'in cW))cp(undefined);else{cC=cX?cX[cb]:cF[cb];if(typeof cC==='function'){let cK=cX||cF,cR=cC['bind'](cH),cg=cC['constructor']&&cC['constructor']['name'],cD=cg==='GeneratorFunction'||cg==='AsyncFunction'||cg==='AsyncGeneratorFunction';!cD&&(!d_e5e54a['_$6g5c3M']&&(d_e5e54a['_$6g5c3M']=new WeakMap()),d_e5e54a['_$6g5c3M']['set'](cR,cK)),cp(cR);}else cp(cC);}}u++;break;}},function(ck){while(!![]){let cb=cs(),cH=cs(),cv=ck,cF=function(cW,cX,cC){let cK;return cC?cK=function(){if(cX){d_e5e54a['_$atQs6f']=cK;let cR='_$DMJqsk'in d_e5e54a;!cR&&(d_e5e54a['_$DMJqsk']=new.target);try{let cg=[];for(let cD=0x0;cD>>0x10;cp(V[cb]>>0x10;cp(V[cb]+x[cH]),u++;break;}},function(ck){while(!![]){let cb=x[ck];cp(Symbol['for'](cb)),u++;break;}},function(ck){while(!![]){let cb,cH;ck!==undefined?(cH=cs(),cb=x[ck]):(cb=cs(),cH=cs());let cv=delete cH[cb];cp(cv),u++;break;}},function(ck){while(!![]){c2['pop'](),u++;break;}},function(ck){while(!![]){let cb=cs(),cH=cs(),cv=cs();if(cv===null||cv===undefined)throw new TypeError("Cannot set property '"+String(cH)+"' of "+cv);cv[cH]=cb,cp(cb),u++;break;}},function(ck){while(!![]){let cb=x[ck],cH=cB,cv,cF=![];while(cH){if(cH['tdzVars']&&cb in cH['tdzVars'])throw new ReferenceError("Cannot access '"+cb+"' before initialization");if(cb in cH['vars']){cv=cH['vars'][cb],cF=!![];break;}cH=cH['parent'];}cb==='__this__'&&(cv=R,cF=!![]);if(!cF){if(cb in d_e5e54a)cv=d_e5e54a[cb];else j&&cb in j?cv=j[cb]:cv=U[cb];}cp(cv),u++;break;}},function(ck){while(!![]){let cb=cs(),cH=cn(),cv=x[ck];Object['defineProperty'](cH,cv,{'value':cb,'writable':!![],'enumerable':![],'configurable':!![]}),u++;break;}},function(ck){while(!![]){let cb=cs(),cH=x[ck];if(cb==null){cp(undefined),u++;break;}!d_e5e54a['_$rAtjvY']&&(d_e5e54a['_$rAtjvY']=new Map());let cv=d_e5e54a['_$rAtjvY'],cF=cv['get'](cH);if(!cF||!cF['has'](cb))throw new TypeError("Cannot read private member "+cH+" from an object whose class did not declare it");cp(cF['get'](cb)),u++;break;}},function(ck){while(!![]){if(c2['length']>0x0){let cb=c2[c2['length']-0x1];if(cb['finallyIndex']!==undefined){c6['hasContinue']=!![],c6['target']=ci(G[u]),u=cb['finallyIndex'];break;}}u=ci(G[u]);break;}},function(ck){while(!![]){let cb=cs(),cH=cn();cH['push'](cb),u++;break;}},function(ck){while(!![]){V[ck]=V[ck]+0x1,u++;break;}},function(ck){while(!![]){cp(!cs()),u++;break;}},function(ck){while(!![]){let cb=cs(),cH=cs();cp(cH/cb),u++;break;}},function(ck){while(!![]){let cb=cs(),cH=cs(),cv=cn();Object['defineProperty'](cv['prototype'],cH,{'value':cb,'writable':!![],'enumerable':![],'configurable':!![]}),u++;break;}},function(ck){while(!![]){let cb=cs();cp(cb),cp(cb),u++;break;}},function(ck){while(!![]){let cb=cs(),cH=cn(),cv=x[ck];Object['defineProperty'](cH['prototype'],cv,{'value':cb,'writable':!![],'enumerable':![],'configurable':!![]}),u++;break;}},function(ck){while(!![]){cp(+cs()),u++;break;}},function(ck){while(!![]){let cb=cs();cb&&typeof cb['return']==='function'&&cb['return']();u++;break;}},function(ck){while(!![]){cp(K),u++;break;}},function(ck){while(!![]){let cb=cs(),cH=cn(),cv=x[ck];Object['defineProperty'](cH,cv,{'set':cb,'enumerable':![],'configurable':!![]}),u++;break;}},function(ck){while(!![]){let cb=V[ck]+0x1;V[ck]=cb,cp(cb),u++;break;}},function(ck){while(!![]){let cb=cs(),cH=cs();cp(cHcb),u++;break;}},function(ck){while(!![]){let cb=cs(),cH={'vars':Object['create'](null),'constVars':Object['create'](null),'tdzVars':Object['create'](null),'parent':cb};cB=cH,u++;break;}},function(ck){while(!![]){let cb=cs(),cH=cs(),cv=cn();Object['defineProperty'](cv,cH,{'set':cb,'enumerable':![],'configurable':!![]}),u++;break;}},function(ck){while(!![]){cs()?u=ci(G[u]):u++;break;}},function(ck){while(!![]){let cb=cs();if(cb==null)throw new TypeError('Cannot iterate over '+cb);let cH=cb[Symbol['iterator']];if(typeof cH!=='function')throw new TypeError('Object is not iterable');cp(cH['call'](cb)),u++;break;}},function(ck){while(!![]){let cb=cs(),cH=cn();if(Array['isArray'](cb))Array['prototype']['push']['apply'](cH,cb);else for(let cv of cb){cH['push'](cv);}u++;break;}},function(ck){while(!![]){cp(cB),u++;break;}},function(ck){while(!![]){u=ci(G[u]);break;}},function(ck){while(!![]){let cb=cs(),cH=cs(),cv=x[ck];!d_e5e54a['_$rAtjvY']&&(d_e5e54a['_$rAtjvY']=new Map());let cF=d_e5e54a['_$rAtjvY'],cW=cF['get'](cv);if(cW&&cW['has'](cH)){cW['set'](cH,cb),cp(cb),u++;break;}let cX='_$KPDlLU'+cv['substring'](0x1)+'_$rHKtj6';if(cX in cH){cH[cX]=cb,cp(cb),u++;break;}throw new TypeError("Cannot write private member "+cv+" to an object whose class did not declare it");break;}}];cS[cU[cf]](cl);if(cd)return cd=![],cj;}break;}catch(ck){if(c2['length']>0x0){let cb=c2[c2['length']-0x1];D=cb['stackSize'];if(cb['catchIndex']!==undefined)cp(ck),u=cb['catchIndex'],cb['catchIndex']=undefined,cb['finallyIndex']===undefined&&c2['pop']();else cb['finallyIndex']!==undefined?(u=cb['finallyIndex'],cb['pendingException']=ck):(u=cb['endIndex'],c2['pop']());continue;}throw ck;}}return D>0x0?cs():cA?R:undefined;}let m=function(F,W,X,C,K){d_e5e54a['_$yqYIQN']?d_e5e54a['_$yqYIQN']=![]:d_e5e54a['_$KtYHU0']=undefined;let R=Y(F);return T(R,W,X,C,K,this);},q=async function(F,W,X,C,K,R){let g=Y(F),D=w(g,W,X,C,K,this),V=D['next']();while(!V['done']){if(V['value']['t']===0x1)try{let u=await Promise['resolve'](V['value']['v']);d_e5e54a['_$KtYHU0']=R,V=D['next'](u);}catch(x){d_e5e54a['_$KtYHU0']=R,V=D['throw'](x);}else throw new Error('Unexpected yield in async context');}return V['value'];},z=function(F,W,X,C,K){let R=Y(F),g=w(R,W,X,C,undefined,this),D=![],V=null,u=this,x=undefined,h=![];function G(c4,c5){if(D)return{'value':undefined,'done':!![]};d_e5e54a['_$KtYHU0']=K;if(V){let c7;try{c7=c5?typeof V['throw']==='function'?V['throw'](c4):(V=null,(function(){throw c4;}())):V['next'](c4);}catch(c8){V=null;try{let c9=g['throw'](c8);return c0(c9);}catch(cc){D=!![];throw cc;}}if(!c7['done'])return{'value':c7['value'],'done':![]};V=null,c4=c7['value'],c5=![];}let c6;try{c6=c5?g['throw'](c4):g['next'](c4);}catch(cp){D=!![];throw cp;}return c0(c6);}function c0(c4){if(c4['done']){D=!![];if(h)return h=![],{'value':x,'done':!![]};return{'value':c4['value'],'done':!![]};}let c5=c4['value'];if(c5['t']===0x2)return{'value':c5['v'],'done':![]};if(c5['t']===0x3){let c6=c5['v'],c7=c6;c7&&typeof c7[Symbol['iterator']]==='function'&&(c7=c7[Symbol['iterator']]());if(c7&&typeof c7['next']==='function'){let c8=c7['next']();if(!c8['done'])return V=c7,{'value':c8['value'],'done':![]};return G(c8['value'],![]);}return G(undefined,![]);}throw new Error('Unexpected signal in generator');}let c1=R&&R['s'],c2=async function(c4){if(D)return{'value':c4,'done':!![]};if(V&&typeof V['return']==='function'){try{await V['return']();}catch(c6){}V=null;}let c5;try{d_e5e54a['_$KtYHU0']=K,c5=g['next']({'t':0x4,'v':c4});}catch(c7){D=!![];throw c7;}while(!c5['done']){let c8=c5['value'];if(c8['t']===0x1)try{let c9=await Promise['resolve'](c8['v']);d_e5e54a['_$KtYHU0']=K,c5=g['next'](c9);}catch(cc){d_e5e54a['_$KtYHU0']=K,c5=g['throw'](cc);}else{if(c8['t']===0x2)try{d_e5e54a['_$KtYHU0']=K,c5=g['next']();}catch(cp){D=!![];throw cp;}else break;}}return D=!![],{'value':c5['value'],'done':!![]};},c3=function(c4){if(D)return{'value':c4,'done':!![]};if(V&&typeof V['return']==='function'){try{V['return']();}catch(c6){}V=null;}x=c4,h=!![];let c5;try{d_e5e54a['_$KtYHU0']=K,c5=g['next']({'t':0x4,'v':c4});}catch(c7){D=!![],h=![];throw c7;}if(!c5['done']&&c5['value']&&c5['value']['t']===0x2)return{'value':c5['value']['v'],'done':![]};return D=!![],h=![],{'value':c5['value'],'done':!![]};};return c1?{'next':function(c4){return G(c4,![]);},'return':c2,'throw':function(c4){if(D)throw c4;return G(c4,!![]);},[Symbol['asyncIterator']]:function(){return this;}}:{'next':function(c4){return G(c4,![]);},'return':c3,'throw':function(c4){if(D)throw c4;return G(c4,!![]);},[Symbol['iterator']]:function(){return this;}};};return function(F,W,X,C,K){let R=Y(F);if(R&&R['g']){let g=d_e5e54a['_$KtYHU0'];return z['call'](this,F,W,X,C,g);}else{if(R&&R['s']){let D=d_e5e54a['_$KtYHU0'];return q['call'](this,F,W,X,C,K,D);}else return m['call'](this,F,W,X,C,K);}};}());try{d_e5e54a['localStorage']=localStorage;}catch(pZ){}try{d_e5e54a['JSON']=JSON;}catch(pa){}try{d_e5e54a['console']=console;}catch(pe){}try{d_e5e54a['Image']=Image;}catch(pQ){}try{d_e5e54a['Audio']=Audio;}catch(pP){}try{d_e5e54a['Math']=Math;}catch(pi){}try{d_e5e54a['window']=window;}catch(pB){}try{d_e5e54a['canvas']=canvas;}catch(pM){}try{d_e5e54a['Date']=Date;}catch(pA){}try{d_e5e54a['document']=document;}catch(pd){}try{d_e5e54a['setTimeout']=setTimeout;}catch(pj){}try{d_e5e54a['fetch']=fetch;}catch(pU){}try{d_e5e54a['requestAnimationFrame']=requestAnimationFrame;}catch(pS){}try{d_e5e54a['performance']=performance;}catch(pY){}try{d_e5e54a['setInterval']=setInterval;}catch(po){}try{d_e5e54a['clearInterval']=clearInterval;}catch(pL){}d_e5e54a['drawRestartButton']=drawRestartButton,d_e5e54a['drawScorePanel']=drawScorePanel,d_e5e54a['drawYouAreDeadText']=drawYouAreDeadText,d_e5e54a['drawEndingSequence']=drawEndingSequence,d_e5e54a['drawXMarkFull']=drawXMarkFull,d_e5e54a['drawXMarkLineDraw']=drawXMarkLineDraw,d_e5e54a['drawZoomedImage']=drawZoomedImage,d_e5e54a['getDadFaceScreenPosition']=getDadFaceScreenPosition,d_e5e54a['easeOutBack']=easeOutBack,d_e5e54a['easeOutQuad']=easeOutQuad,d_e5e54a['easeInOutCubic']=easeInOutCubic,d_e5e54a['easeOutCubic']=easeOutCubic,d_e5e54a['easeInCubic']=easeInCubic,d_e5e54a['drawScoreBoardui']=drawScoreBoardui,d_e5e54a['submitScore']=submitScore,d_e5e54a['fetchLeaderboard']=fetchLeaderboard,d_e5e54a['syncUISettings']=syncUISettings,d_e5e54a['returnToMenu']=returnToMenu,d_e5e54a['playMenuSound']=playMenuSound,d_e5e54a['playSound']=playSound,d_e5e54a['applySettings']=applySettings,d_e5e54a['updateControlsUI']=updateControlsUI,d_e5e54a['saveSettings']=saveSettings,d_e5e54a['crossfadeToGameOver']=crossfadeToGameOver,d_e5e54a['togglePause']=togglePause,d_e5e54a['updateSurge']=updateSurge,d_e5e54a['drawScreenShading']=drawScreenShading,d_e5e54a['drawSurgeWarningOverlay']=drawSurgeWarningOverlay,d_e5e54a['drawPauseOverlay']=drawPauseOverlay,d_e5e54a['Tabrakan']=Tabrakan,d_e5e54a['drawParticles']=drawParticles,d_e5e54a['updateParticles']=updateParticles,d_e5e54a['createParticles']=createParticles,d_e5e54a['useAbility']=useAbility,d_e5e54a['maybeSpawnAbilityToken']=maybeSpawnAbilityToken,d_e5e54a['spawnEnemyFromWave']=spawnEnemyFromWave,d_e5e54a['startNewWave']=startNewWave,d_e5e54a['addShips']=addShips,d_e5e54a['spawnPlanet']=spawnPlanet,d_e5e54a['easeInOutCubic']=easeInOutCubic,d_e5e54a['easeOutCubic']=easeOutCubic,d_e5e54a['easeInOutQuad']=easeInOutQuad,d_e5e54a['easeInQuad']=easeInQuad,d_e5e54a['easeOutQuad']=easeOutQuad,d_e5e54a['easeInOutSine']=easeInOutSine,d_e5e54a['updateCamera']=updateCamera,d_e5e54a['drawStarField']=drawStarField,d_e5e54a['updateStarField']=updateStarField,d_e5e54a['drawNewText']=drawNewText,d_e5e54a['handlePlayerHit']=handlePlayerHit,d_e5e54a['drawUI']=drawUI,d_e5e54a['drawDebugHitbox']=drawDebugHitbox,d_e5e54a['drawGame']=drawGame,d_e5e54a['updateGame']=updateGame,d_e5e54a['clearGame']=clearGame,d_e5e54a['firePlayerMissile']=firePlayerMissile,d_e5e54a['fireBullet']=fireBullet,d_e5e54a['keyUpPressed']=keyUpPressed,d_e5e54a['keyDownPressed']=keyDownPressed,d_e5e54a['gameLoop']=gameLoop,d_e5e54a['init']=init,d_e5e54a['preRenderAssets']=preRenderAssets,d_e5e54a['playThrottledSfx']=playThrottledSfx,d_e5e54a['playSfxWithVolume']=playSfxWithVolume,d_e5e54a['pickRandomBGM']=pickRandomBGM;const gameSettings={'musicEnabled':!![],'sfxEnabled':!![],'inputMode':'keyboard'};d_e5e54a['gameSettings']=gameSettings,globalThis['gameSettings']=d_e5e54a['gameSettings'],d_e5e54a['gameSettings']=d_e5e54a['gameSettings'],globalThis['gameSettings']=d_e5e54a['gameSettings'];try{const saved=localStorage['getItem']('blockShooterSettings');if(saved){const parsed=JSON['parse'](saved);gameSettings['musicEnabled']=parsed['musicEnabled'],gameSettings['sfxEnabled']=parsed['sfxEnabled'],gameSettings['inputMode']=parsed['inputMode'];}}catch(pE){console['log']('Could\x20not\x20load\x20settings:',pE);}var planetImages=[];d_e5e54a['planetImages']=planetImages,globalThis['planetImages']=d_e5e54a['planetImages'];var cockpitImg=new Image();d_e5e54a['cockpitImg']=cockpitImg,globalThis['cockpitImg']=d_e5e54a['cockpitImg'],cockpitImg['onload']=function(){return a_5747d7['call'](this,0x0,Array['from'](arguments),undefined,undefined,new.target);},cockpitImg['onerror']=function(){return a_5747d7['call'](this,0x1,Array['from'](arguments),undefined,undefined,new.target);},cockpitImg['src']='img/cockpit_family.png';const DEBUG_HITBOX=![];d_e5e54a['DEBUG_HITBOX']=DEBUG_HITBOX,globalThis['DEBUG_HITBOX']=d_e5e54a['DEBUG_HITBOX'],d_e5e54a['DEBUG_HITBOX']=d_e5e54a['DEBUG_HITBOX'],globalThis['DEBUG_HITBOX']=d_e5e54a['DEBUG_HITBOX'];const BGM_VOLUME=0.34;d_e5e54a['BGM_VOLUME']=BGM_VOLUME,globalThis['BGM_VOLUME']=d_e5e54a['BGM_VOLUME'],d_e5e54a['BGM_VOLUME']=d_e5e54a['BGM_VOLUME'],globalThis['BGM_VOLUME']=d_e5e54a['BGM_VOLUME'];const bgmList=[{'normal':'music/Scary.mp3','gameover':'music/ScaryGO.mp3'},{'normal':'music/Fear.mp3','gameover':'music/FearGO.mp3'},{'normal':'music/Chill.mp3','gameover':'music/ChillGO.mp3'}];d_e5e54a['bgmList']=bgmList,globalThis['bgmList']=d_e5e54a['bgmList'],d_e5e54a['bgmList']=d_e5e54a['bgmList'],globalThis['bgmList']=d_e5e54a['bgmList'];let currentBGM=new Audio();d_e5e54a['currentBGM']=currentBGM,globalThis['currentBGM']=d_e5e54a['currentBGM'],d_e5e54a['currentBGM']=d_e5e54a['currentBGM'],globalThis['currentBGM']=d_e5e54a['currentBGM'];let gameOverBGM=new Audio();d_e5e54a['gameOverBGM']=gameOverBGM,globalThis['gameOverBGM']=d_e5e54a['gameOverBGM'],d_e5e54a['gameOverBGM']=d_e5e54a['gameOverBGM'],globalThis['gameOverBGM']=d_e5e54a['gameOverBGM'],currentBGM['loop']=!![],gameOverBGM['loop']=!![];function pickRandomBGM(){return a_5747d7['call'](this,0x2,Array['from'](arguments),undefined,pickRandomBGM,new.target);}var canvasWidth=0x500;d_e5e54a['canvasWidth']=canvasWidth,globalThis['canvasWidth']=d_e5e54a['canvasWidth'];var canvasHeight=0x2d0;d_e5e54a['canvasHeight']=canvasHeight,globalThis['canvasHeight']=d_e5e54a['canvasHeight'];var worldHeight=0x384;d_e5e54a['worldHeight']=worldHeight,globalThis['worldHeight']=d_e5e54a['worldHeight'];var c,ctx;globalThis['ctx']=d_e5e54a['ctx'],globalThis['c']=d_e5e54a['c'];var gameStarted=![];d_e5e54a['gameStarted']=gameStarted,globalThis['gameStarted']=d_e5e54a['gameStarted'];var musicMuted=![];d_e5e54a['musicMuted']=musicMuted,globalThis['musicMuted']=d_e5e54a['musicMuted'];let vignetteCanvas=null;d_e5e54a['vignetteCanvas']=vignetteCanvas,globalThis['vignetteCanvas']=d_e5e54a['vignetteCanvas'],d_e5e54a['vignetteCanvas']=d_e5e54a['vignetteCanvas'],globalThis['vignetteCanvas']=d_e5e54a['vignetteCanvas'];let lastFrameTime=0x0;d_e5e54a['lastFrameTime']=lastFrameTime,globalThis['lastFrameTime']=d_e5e54a['lastFrameTime'],d_e5e54a['lastFrameTime']=d_e5e54a['lastFrameTime'],globalThis['lastFrameTime']=d_e5e54a['lastFrameTime'];const frameInterval=0x3e8/0x5a;d_e5e54a['frameInterval']=frameInterval,globalThis['frameInterval']=d_e5e54a['frameInterval'],d_e5e54a['frameInterval']=d_e5e54a['frameInterval'],globalThis['frameInterval']=d_e5e54a['frameInterval'];let cameraY=0x0;d_e5e54a['cameraY']=cameraY,globalThis['cameraY']=d_e5e54a['cameraY'],d_e5e54a['cameraY']=d_e5e54a['cameraY'],globalThis['cameraY']=d_e5e54a['cameraY'];let respawnCounter=0x0;d_e5e54a['respawnCounter']=respawnCounter,globalThis['respawnCounter']=d_e5e54a['respawnCounter'],d_e5e54a['respawnCounter']=d_e5e54a['respawnCounter'],globalThis['respawnCounter']=d_e5e54a['respawnCounter'];let damageFlash=0x0;d_e5e54a['damageFlash']=damageFlash,globalThis['damageFlash']=d_e5e54a['damageFlash'],d_e5e54a['damageFlash']=d_e5e54a['damageFlash'],globalThis['damageFlash']=d_e5e54a['damageFlash'];let currentWave=null;d_e5e54a['currentWave']=currentWave,globalThis['currentWave']=d_e5e54a['currentWave'],d_e5e54a['currentWave']=d_e5e54a['currentWave'],globalThis['currentWave']=d_e5e54a['currentWave'];let waveCooldown=0x0;d_e5e54a['waveCooldown']=waveCooldown,globalThis['waveCooldown']=d_e5e54a['waveCooldown'],d_e5e54a['waveCooldown']=d_e5e54a['waveCooldown'],globalThis['waveCooldown']=d_e5e54a['waveCooldown'];let abilityCharges=0x1;d_e5e54a['abilityCharges']=abilityCharges,globalThis['abilityCharges']=d_e5e54a['abilityCharges'],d_e5e54a['abilityCharges']=d_e5e54a['abilityCharges'],globalThis['abilityCharges']=d_e5e54a['abilityCharges'];let bombCooldown=0x0;d_e5e54a['bombCooldown']=bombCooldown,globalThis['bombCooldown']=d_e5e54a['bombCooldown'],d_e5e54a['bombCooldown']=d_e5e54a['bombCooldown'],globalThis['bombCooldown']=d_e5e54a['bombCooldown'];let missileAmmo=0x0;d_e5e54a['missileAmmo']=missileAmmo,globalThis['missileAmmo']=d_e5e54a['missileAmmo'],d_e5e54a['missileAmmo']=d_e5e54a['missileAmmo'],globalThis['missileAmmo']=d_e5e54a['missileAmmo'];let grazeCount=0x0;d_e5e54a['grazeCount']=grazeCount,globalThis['grazeCount']=d_e5e54a['grazeCount'],d_e5e54a['grazeCount']=d_e5e54a['grazeCount'],globalThis['grazeCount']=d_e5e54a['grazeCount'];let grazeScore=0x0;d_e5e54a['grazeScore']=grazeScore,globalThis['grazeScore']=d_e5e54a['grazeScore'],d_e5e54a['grazeScore']=d_e5e54a['grazeScore'],globalThis['grazeScore']=d_e5e54a['grazeScore'];let swarmTimer=0x0;d_e5e54a['swarmTimer']=swarmTimer,globalThis['swarmTimer']=d_e5e54a['swarmTimer'],d_e5e54a['swarmTimer']=d_e5e54a['swarmTimer'],globalThis['swarmTimer']=d_e5e54a['swarmTimer'];const SWARM_INTERVAL=0x384;d_e5e54a['SWARM_INTERVAL']=SWARM_INTERVAL,globalThis['SWARM_INTERVAL']=d_e5e54a['SWARM_INTERVAL'],d_e5e54a['SWARM_INTERVAL']=d_e5e54a['SWARM_INTERVAL'],globalThis['SWARM_INTERVAL']=d_e5e54a['SWARM_INTERVAL'];var game={'level':0x1,'speed':0x1,'gameOver':![],'frames':0x0,'timer':0x0,'surge':0x1,'surgePhase':0x0,'surgeTimer':0x0,'surgeSchedulerState':'INITIAL_COOLDOWN','surgeSchedulerTimer':0x546,'surgeWindowTargetTime':0x0,'surgeWindowTimer':0x0,'surgeCooldown':0x960,'endingSequence':![],'endingTimer':0x0};d_e5e54a['game']=game,globalThis['game']=d_e5e54a['game'];var keys={'up':![],'down':![],'left':![],'right':![],'fire':![]};d_e5e54a['keys']=keys,globalThis['keys']=d_e5e54a['keys'];let mousePos={'x':0x0,'y':0x0};d_e5e54a['mousePos']=mousePos,globalThis['mousePos']=d_e5e54a['mousePos'],d_e5e54a['mousePos']=d_e5e54a['mousePos'],globalThis['mousePos']=d_e5e54a['mousePos'];let mouseButtons={'left':![],'right':![]};d_e5e54a['mouseButtons']=mouseButtons,globalThis['mouseButtons']=d_e5e54a['mouseButtons'],d_e5e54a['mouseButtons']=d_e5e54a['mouseButtons'],globalThis['mouseButtons']=d_e5e54a['mouseButtons'],window['addEventListener']('mousemove',S=>{return a_5747d7['call'](this,0x3,[S],undefined,undefined,undefined);}),window['addEventListener']('mousedown',S=>{return a_5747d7['call'](this,0x4,[S],undefined,undefined,undefined);}),window['addEventListener']('mouseup',S=>{return a_5747d7['call'](this,0x5,[S],undefined,undefined,undefined);});var playerShipImg=new Image();d_e5e54a['playerShipImg']=playerShipImg,globalThis['playerShipImg']=d_e5e54a['playerShipImg'],playerShipImg['src']='img/Player/pesawat22.png';var missilePickupImg=new Image();d_e5e54a['missilePickupImg']=missilePickupImg,globalThis['missilePickupImg']=d_e5e54a['missilePickupImg'],missilePickupImg['src']='img/Skills/missile.png';var laserPickupImg=new Image();d_e5e54a['laserPickupImg']=laserPickupImg,globalThis['laserPickupImg']=d_e5e54a['laserPickupImg'],laserPickupImg['src']='img/Skills/double-missile.png';var bombPickupImg=new Image();d_e5e54a['bombPickupImg']=bombPickupImg,globalThis['bombPickupImg']=d_e5e54a['bombPickupImg'],bombPickupImg['src']='img/Skills/bomb.png?v='+new Date()['getTime']();var livesImg=new Image();d_e5e54a['livesImg']=livesImg,globalThis['livesImg']=d_e5e54a['livesImg'],livesImg['src']='img/Player/lives.png';var spellBombImg=new Image();d_e5e54a['spellBombImg']=spellBombImg,globalThis['spellBombImg']=d_e5e54a['spellBombImg'],spellBombImg['src']='img/SpellBomb.png';var bg0=new Image();d_e5e54a['bg0']=bg0,globalThis['bg0']=d_e5e54a['bg0'],bg0['src']='img/bg_0.png';var bg1=new Image();d_e5e54a['bg1']=bg1,globalThis['bg1']=d_e5e54a['bg1'],bg1['src']='img/bg_1.png';var bg2=new Image();d_e5e54a['bg2']=bg2,globalThis['bg2']=d_e5e54a['bg2'],bg2['src']='img/bg_2.png';var enemyImgArray=[];d_e5e54a['enemyImgArray']=enemyImgArray,globalThis['enemyImgArray']=d_e5e54a['enemyImgArray'],enemyImgArray['length']=0x4;var mainMenuBGM=new Audio();d_e5e54a['mainMenuBGM']=mainMenuBGM,globalThis['mainMenuBGM']=d_e5e54a['mainMenuBGM'],mainMenuBGM['src']='music/MainMenu.mp3',mainMenuBGM['loop']=!![],mainMenuBGM['volume']=0.16,d_e5e54a['mainMenuBGM']['play']()['catch'](()=>{return a_5747d7['call'](this,0x6,[],undefined,undefined,undefined);});let audioStarted=![];d_e5e54a['audioStarted']=audioStarted,globalThis['audioStarted']=d_e5e54a['audioStarted'],d_e5e54a['audioStarted']=d_e5e54a['audioStarted'],globalThis['audioStarted']=d_e5e54a['audioStarted'],window['addEventListener']('keydown',()=>{return a_5747d7['call'](this,0x8,[],undefined,undefined,undefined);}),window['addEventListener']('click',()=>{return a_5747d7['call'](this,0xa,[],undefined,undefined,undefined);}),canvas['addEventListener']('click',S=>{return a_5747d7['call'](this,0xc,[S],undefined,undefined,undefined);});for(var i=0x0;i{return a_5747d7['call'](this,0xa5,[],undefined,undefined,undefined);}),d_e5e54a['startBtn']['addEventListener']('click',()=>{return a_5747d7['call'](this,0xac,[],undefined,undefined,undefined);}),d_e5e54a['optionBtn']['addEventListener']('click',()=>{return a_5747d7['call'](this,0xad,[],undefined,undefined,undefined);});const howToPlayMenu=document['getElementById']('howToPlayMenu');d_e5e54a['howToPlayMenu']=howToPlayMenu,globalThis['howToPlayMenu']=d_e5e54a['howToPlayMenu'],d_e5e54a['howToPlayMenu']=d_e5e54a['howToPlayMenu'],globalThis['howToPlayMenu']=d_e5e54a['howToPlayMenu'];const htpBackBtn=document['getElementById']('htpBackBtn');d_e5e54a['htpBackBtn']=htpBackBtn,globalThis['htpBackBtn']=d_e5e54a['htpBackBtn'],d_e5e54a['htpBackBtn']=d_e5e54a['htpBackBtn'],globalThis['htpBackBtn']=d_e5e54a['htpBackBtn'];d_e5e54a['exitBtn']&&d_e5e54a['exitBtn']['addEventListener']('click',()=>{return a_5747d7['call'](this,0xae,[],undefined,undefined,undefined);});d_e5e54a['htpBackBtn']&&d_e5e54a['htpBackBtn']['addEventListener']('click',()=>{return a_5747d7['call'](this,0xaf,[],undefined,undefined,undefined);});d_e5e54a['backBtn']['addEventListener']('click',()=>{return a_5747d7['call'](this,0xb0,[],undefined,undefined,undefined);}),d_e5e54a['musicBtns']['forEach'](S=>{return a_5747d7['call'](this,0xb5,[S],undefined,undefined,undefined);}),d_e5e54a['sfxBtns']['forEach'](S=>{return a_5747d7['call'](this,0xb8,[S],undefined,undefined,undefined);}),d_e5e54a['controlBtns']['forEach'](S=>{return a_5747d7['call'](this,0xbb,[S],undefined,undefined,undefined);}),document['querySelectorAll']('.menu-btn,\x20.menu-btn-angled,\x20.toggle-btn')['forEach'](S=>{return a_5747d7['call'](this,0xbd,[S],undefined,undefined,undefined);});function applySettings(){return a_5747d7['call'](this,0xbf,Array['from'](arguments),undefined,applySettings,new.target);}function playSound(S,Y=0.5){return a_5747d7['call'](this,0xc1,Array['from'](arguments),undefined,playSound,new.target);}function playMenuSound(S){return a_5747d7['call'](this,0xc3,Array['from'](arguments),undefined,playMenuSound,new.target);}document['addEventListener']('keydown',S=>{return a_5747d7['call'](this,0xc4,[S],undefined,undefined,undefined);}),window['onload']=function(){return a_5747d7['call'](this,0xc5,Array['from'](arguments),undefined,undefined,new.target);};function returnToMenu(){return a_5747d7['call'](this,0xc6,Array['from'](arguments),undefined,returnToMenu,new.target);}console['log']('Menu\x20System\x20Loaded'),console['log']('Settings:',d_e5e54a['gameSettings']);function syncUISettings(){return a_5747d7['call'](this,0xca,Array['from'](arguments),undefined,syncUISettings,new.target);}syncUISettings();const leaderboardMenu=document['getElementById']('leaderboardMenu');d_e5e54a['leaderboardMenu']=leaderboardMenu,globalThis['leaderboardMenu']=d_e5e54a['leaderboardMenu'],d_e5e54a['leaderboardMenu']=d_e5e54a['leaderboardMenu'],globalThis['leaderboardMenu']=d_e5e54a['leaderboardMenu'];const leaderboardBtn=document['getElementById']('leaderboardBtn');d_e5e54a['leaderboardBtn']=leaderboardBtn,globalThis['leaderboardBtn']=d_e5e54a['leaderboardBtn'],d_e5e54a['leaderboardBtn']=d_e5e54a['leaderboardBtn'],globalThis['leaderboardBtn']=d_e5e54a['leaderboardBtn'];const lbBackBtn=document['getElementById']('lbBackBtn');d_e5e54a['lbBackBtn']=lbBackBtn,globalThis['lbBackBtn']=d_e5e54a['lbBackBtn'],d_e5e54a['lbBackBtn']=d_e5e54a['lbBackBtn'],globalThis['lbBackBtn']=d_e5e54a['lbBackBtn'];const leaderboardList=document['getElementById']('leaderboardList');d_e5e54a['leaderboardList']=leaderboardList,globalThis['leaderboardList']=d_e5e54a['leaderboardList'],d_e5e54a['leaderboardList']=d_e5e54a['leaderboardList'],globalThis['leaderboardList']=d_e5e54a['leaderboardList'],d_e5e54a['leaderboardBtn']['addEventListener']('click',()=>{return a_5747d7['call'](this,0xcb,[],undefined,undefined,undefined);}),d_e5e54a['lbBackBtn']['addEventListener']('click',()=>{return a_5747d7['call'](this,0xcc,[],undefined,undefined,undefined);});async function fetchLeaderboard(){return a_5747d7['call'](this,0xce,Array['from'](arguments),undefined,fetchLeaderboard,new.target);}async function submitScore(S,Y){return a_5747d7['call'](this,0xcf,Array['from'](arguments),undefined,submitScore,new.target);}function drawScoreBoardui(){return a_5747d7['call'](this,0xd0,Array['from'](arguments),undefined,drawScoreBoardui,new.target);}const S_FADE_OUT=0x1;d_e5e54a['S_FADE_OUT']=S_FADE_OUT,globalThis['S_FADE_OUT']=d_e5e54a['S_FADE_OUT'],d_e5e54a['S_FADE_OUT']=d_e5e54a['S_FADE_OUT'],globalThis['S_FADE_OUT']=d_e5e54a['S_FADE_OUT'];const S_HOLD_BLACK=0x2;d_e5e54a['S_HOLD_BLACK']=S_HOLD_BLACK,globalThis['S_HOLD_BLACK']=d_e5e54a['S_HOLD_BLACK'],d_e5e54a['S_HOLD_BLACK']=d_e5e54a['S_HOLD_BLACK'],globalThis['S_HOLD_BLACK']=d_e5e54a['S_HOLD_BLACK'];const S_FADE_IN=0x3;d_e5e54a['S_FADE_IN']=S_FADE_IN,globalThis['S_FADE_IN']=d_e5e54a['S_FADE_IN'],d_e5e54a['S_FADE_IN']=d_e5e54a['S_FADE_IN'],globalThis['S_FADE_IN']=d_e5e54a['S_FADE_IN'];const S_ZOOM=5.5;d_e5e54a['S_ZOOM']=S_ZOOM,globalThis['S_ZOOM']=d_e5e54a['S_ZOOM'],d_e5e54a['S_ZOOM']=d_e5e54a['S_ZOOM'],globalThis['S_ZOOM']=d_e5e54a['S_ZOOM'];const S_HOLD_PHOTO=5.8;d_e5e54a['S_HOLD_PHOTO']=S_HOLD_PHOTO,globalThis['S_HOLD_PHOTO']=d_e5e54a['S_HOLD_PHOTO'],d_e5e54a['S_HOLD_PHOTO']=d_e5e54a['S_HOLD_PHOTO'],globalThis['S_HOLD_PHOTO']=d_e5e54a['S_HOLD_PHOTO'];const S_X_DRAW=6.3;d_e5e54a['S_X_DRAW']=S_X_DRAW,globalThis['S_X_DRAW']=d_e5e54a['S_X_DRAW'],d_e5e54a['S_X_DRAW']=d_e5e54a['S_X_DRAW'],globalThis['S_X_DRAW']=d_e5e54a['S_X_DRAW'];const S_HOLD_X=7.1;d_e5e54a['S_HOLD_X']=S_HOLD_X,globalThis['S_HOLD_X']=d_e5e54a['S_HOLD_X'],d_e5e54a['S_HOLD_X']=d_e5e54a['S_HOLD_X'],globalThis['S_HOLD_X']=d_e5e54a['S_HOLD_X'];const S_TEXT_APPEAR=7.9;d_e5e54a['S_TEXT_APPEAR']=S_TEXT_APPEAR,globalThis['S_TEXT_APPEAR']=d_e5e54a['S_TEXT_APPEAR'],d_e5e54a['S_TEXT_APPEAR']=d_e5e54a['S_TEXT_APPEAR'],globalThis['S_TEXT_APPEAR']=d_e5e54a['S_TEXT_APPEAR'];const S_TEXT_PAUSE=8.5;d_e5e54a['S_TEXT_PAUSE']=S_TEXT_PAUSE,globalThis['S_TEXT_PAUSE']=d_e5e54a['S_TEXT_PAUSE'],d_e5e54a['S_TEXT_PAUSE']=d_e5e54a['S_TEXT_PAUSE'],globalThis['S_TEXT_PAUSE']=d_e5e54a['S_TEXT_PAUSE'];const S_SCORE_APPEAR=9.1;d_e5e54a['S_SCORE_APPEAR']=S_SCORE_APPEAR,globalThis['S_SCORE_APPEAR']=d_e5e54a['S_SCORE_APPEAR'],d_e5e54a['S_SCORE_APPEAR']=d_e5e54a['S_SCORE_APPEAR'],globalThis['S_SCORE_APPEAR']=d_e5e54a['S_SCORE_APPEAR'];const ZOOM_TARGET_CENTER_X=0x2b8;d_e5e54a['ZOOM_TARGET_CENTER_X']=ZOOM_TARGET_CENTER_X,globalThis['ZOOM_TARGET_CENTER_X']=d_e5e54a['ZOOM_TARGET_CENTER_X'],d_e5e54a['ZOOM_TARGET_CENTER_X']=d_e5e54a['ZOOM_TARGET_CENTER_X'],globalThis['ZOOM_TARGET_CENTER_X']=d_e5e54a['ZOOM_TARGET_CENTER_X'];const ZOOM_TARGET_CENTER_Y=0xce;d_e5e54a['ZOOM_TARGET_CENTER_Y']=ZOOM_TARGET_CENTER_Y,globalThis['ZOOM_TARGET_CENTER_Y']=d_e5e54a['ZOOM_TARGET_CENTER_Y'],d_e5e54a['ZOOM_TARGET_CENTER_Y']=d_e5e54a['ZOOM_TARGET_CENTER_Y'],globalThis['ZOOM_TARGET_CENTER_Y']=d_e5e54a['ZOOM_TARGET_CENTER_Y'];const ZOOM_TARGET_WIDTH=0x274;d_e5e54a['ZOOM_TARGET_WIDTH']=ZOOM_TARGET_WIDTH,globalThis['ZOOM_TARGET_WIDTH']=d_e5e54a['ZOOM_TARGET_WIDTH'],d_e5e54a['ZOOM_TARGET_WIDTH']=d_e5e54a['ZOOM_TARGET_WIDTH'],globalThis['ZOOM_TARGET_WIDTH']=d_e5e54a['ZOOM_TARGET_WIDTH'];const ZOOM_TARGET_HEIGHT=0x162;d_e5e54a['ZOOM_TARGET_HEIGHT']=ZOOM_TARGET_HEIGHT,globalThis['ZOOM_TARGET_HEIGHT']=d_e5e54a['ZOOM_TARGET_HEIGHT'],d_e5e54a['ZOOM_TARGET_HEIGHT']=d_e5e54a['ZOOM_TARGET_HEIGHT'],globalThis['ZOOM_TARGET_HEIGHT']=d_e5e54a['ZOOM_TARGET_HEIGHT'];const DAD_FACE_SOURCE_X=0x2ef;d_e5e54a['DAD_FACE_SOURCE_X']=DAD_FACE_SOURCE_X,globalThis['DAD_FACE_SOURCE_X']=d_e5e54a['DAD_FACE_SOURCE_X'],d_e5e54a['DAD_FACE_SOURCE_X']=d_e5e54a['DAD_FACE_SOURCE_X'],globalThis['DAD_FACE_SOURCE_X']=d_e5e54a['DAD_FACE_SOURCE_X'];const DAD_FACE_SOURCE_Y=0xbd;d_e5e54a['DAD_FACE_SOURCE_Y']=DAD_FACE_SOURCE_Y,globalThis['DAD_FACE_SOURCE_Y']=d_e5e54a['DAD_FACE_SOURCE_Y'],d_e5e54a['DAD_FACE_SOURCE_Y']=d_e5e54a['DAD_FACE_SOURCE_Y'],globalThis['DAD_FACE_SOURCE_Y']=d_e5e54a['DAD_FACE_SOURCE_Y'];const SOURCE_IMG_WIDTH=0x400;d_e5e54a['SOURCE_IMG_WIDTH']=SOURCE_IMG_WIDTH,globalThis['SOURCE_IMG_WIDTH']=d_e5e54a['SOURCE_IMG_WIDTH'],d_e5e54a['SOURCE_IMG_WIDTH']=d_e5e54a['SOURCE_IMG_WIDTH'],globalThis['SOURCE_IMG_WIDTH']=d_e5e54a['SOURCE_IMG_WIDTH'];const SOURCE_IMG_HEIGHT=0x240;d_e5e54a['SOURCE_IMG_HEIGHT']=SOURCE_IMG_HEIGHT,globalThis['SOURCE_IMG_HEIGHT']=d_e5e54a['SOURCE_IMG_HEIGHT'],d_e5e54a['SOURCE_IMG_HEIGHT']=d_e5e54a['SOURCE_IMG_HEIGHT'],globalThis['SOURCE_IMG_HEIGHT']=d_e5e54a['SOURCE_IMG_HEIGHT'];function easeInCubic(S){return a_5747d7['call'](this,0xd1,Array['from'](arguments),undefined,easeInCubic,new.target);}function easeOutCubic(S){return a_5747d7['call'](this,0xd2,Array['from'](arguments),undefined,easeOutCubic,new.target);}function easeInOutCubic(S){return a_5747d7['call'](this,0xd3,Array['from'](arguments),undefined,easeInOutCubic,new.target);}function easeOutQuad(S){return a_5747d7['call'](this,0xd4,Array['from'](arguments),undefined,easeOutQuad,new.target);}function easeOutBack(S){return a_5747d7['call'](this,0xd5,Array['from'](arguments),undefined,easeOutBack,new.target);}function getDadFaceScreenPosition(){return a_5747d7['call'](this,0xd6,Array['from'](arguments),undefined,getDadFaceScreenPosition,new.target);}function drawZoomedImage(){return a_5747d7['call'](this,0xd7,Array['from'](arguments),undefined,drawZoomedImage,new.target);}function drawXMarkLineDraw(S){return a_5747d7['call'](this,0xd8,Array['from'](arguments),undefined,drawXMarkLineDraw,new.target);}function drawXMarkFull(){return a_5747d7['call'](this,0xd9,Array['from'](arguments),undefined,drawXMarkFull,new.target);}let triggerOnce=![];d_e5e54a['triggerOnce']=triggerOnce,globalThis['triggerOnce']=d_e5e54a['triggerOnce'],d_e5e54a['triggerOnce']=d_e5e54a['triggerOnce'],globalThis['triggerOnce']=d_e5e54a['triggerOnce'];function drawEndingSequence(){return a_5747d7['call'](this,0xda,Array['from'](arguments),undefined,drawEndingSequence,new.target);}function drawYouAreDeadText(S=0x1){return a_5747d7['call'](this,0xdb,Array['from'](arguments),undefined,drawYouAreDeadText,new.target);}function drawScorePanel(S=0x1){return a_5747d7['call'](this,0xdc,Array['from'](arguments),undefined,drawScorePanel,new.target);}function drawRestartButton(S=0x1){return a_5747d7['call'](this,0xdd,Array['from'](arguments),undefined,drawRestartButton,new.target);} \ No newline at end of file diff --git a/Style.css b/Style.css index f1e2051..0ec4e4e 100644 --- a/Style.css +++ b/Style.css @@ -9,34 +9,341 @@ body { padding: 0; background-color: #000; font-family: 'Orbitron', sans-serif; + cursor: default; } -html, body { +a, +button, +input[type="submit"], +input[type="button"], +.menu-btn, +.menu-btn-angled, +.toggle-btn, +.back-btn, +input[type="range"]::-webkit-slider-thumb { + cursor: pointer; +} + +html, +body { height: 100%; overflow: hidden; } -/* === MAIN MENU, OPTIONS, & LEADERBOARD MENU === */ -/* Saya menambahkan #leaderboardMenu disini agar posisinya sama */ -#mainMenu, #optionsMenu, #leaderboardMenu { +/* === MAIN MENU (Angled Layout with Scrolling Background) === */ +#mainMenu { position: absolute; width: 100vw; height: 100vh; top: 0; left: 0; - background: rgba(0, 0, 0, 0.6); - backdrop-filter: blur(6px); + display: flex; + flex-direction: row; + z-index: 10; + animation: fadeIn 1s ease-out; + overflow: hidden; +} + +/* Seamless Scrolling Background Container */ +.scrolling-bg-container { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + z-index: -1; +} + +.bg-tile { + width: 100%; + height: 100vh; + background-image: url('img/Menu.jpg'); + background-size: cover; + background-position: center; + /* Scroll the tiles */ + animation: scrollSeamless 2.5s linear infinite; + /* Adjusted speed */ +} + +/* Reverse every other tile for perfectly matching edges */ +.bg-tile.flipped { + transform: scaleY(-1); +} + +/* + We scroll past 2 tiles (Normal + Flipped) to get back to Normal. + So we move up by 200vh. +*/ +@keyframes scrollSeamless { + 0% { + transform: translateY(-200vh); + } + + 100% { + transform: translateY(0); + } +} + + +/* Left Panel - Reserved for artwork */ +.menu-left-panel { + flex: 1; + display: flex; + align-items: center; + justify-content: center; + /* Empty for now - user will add content later */ +} + + +/* Right Panel - Angled menu container */ +.menu-right-panel { + width: 480px; + height: 100%; + background: linear-gradient(145deg, + rgba(0, 20, 40, 0.95) 0%, + rgba(0, 40, 60, 0.9) 50%, + rgba(0, 30, 50, 0.95) 100%); + transform: skewX(-8deg); + transform-origin: top right; + display: flex; + align-items: center; + justify-content: center; + border-left: 4px solid #00eaff; + border-right: 4px solid #00eaff; + box-shadow: + -20px 0 60px rgba(0, 234, 255, 0.3), + -5px 0 20px rgba(0, 234, 255, 0.5), + inset 5px 0 30px rgba(0, 234, 255, 0.1), + 20px 0 60px rgba(0, 234, 255, 0.3), + 5px 0 20px rgba(0, 234, 255, 0.5), + inset -5px 0 30px rgba(0, 234, 255, 0.1); + position: relative; +} + +/* Un-skew the content inside */ +.menu-content-angled { + transform: skewX(8deg); + text-align: center; + padding: 50px 40px 50px 20px; + /* Adjusted padding: more right, less left */ +} + +/* Main Title (Login1 Style - Gradient) */ +.main-title { + font-size: clamp(40px, 8vw, 70px); + font-weight: 900; + line-height: 0.9; + margin-bottom: 40px; + margin-left: 30px; + transform: translateX(20px); + /* Shift title to the right */ + background: linear-gradient(45deg, #FF006E, #8338EC, #00F5FF); + background-size: 200% 200%; + -webkit-background-clip: text; + -webkit-text-fill-color: transparent; + background-clip: text; + animation: gradientShift 3s ease infinite; + text-shadow: 0 0 80px rgba(255, 0, 110, 0.5); + filter: drop-shadow(0 0 20px rgba(131, 56, 236, 0.8)); +} + +@keyframes gradientShift { + + 0%, + 100% { + background-position: 0% 50%; + } + + 50% { + background-position: 100% 50%; + } +} + +/* Angled Menu Buttons Container */ +.menu-buttons-angled { + display: flex; + flex-direction: column; + gap: 18px; + position: relative; + +} + +/* Angled Menu Button Style */ +.menu-btn-angled { + font-size: 20px; + padding: 18px 50px; + cursor: pointer; + background: linear-gradient(145deg, + rgba(0, 60, 80, 0.8) 0%, + rgba(0, 40, 60, 0.9) 50%, + rgba(0, 50, 70, 0.8) 100%); + color: #00eaff; + border: 2px solid #00eaff; + border-radius: 8px; + box-shadow: + 0 4px 0 #007a8c, + 0 0 15px rgba(0, 234, 255, 0.3), + inset 0 0 20px rgba(0, 234, 255, 0.1); + transition: all 0.25s ease; + font-family: 'Orbitron', sans-serif; + font-weight: 700; + text-transform: uppercase; + letter-spacing: 3px; + min-width: 280px; + position: relative; + overflow: hidden; +} + +.menu-btn-angled:nth-child(1) { + transform: translateX(17px); + min-width: 280px; +} + +.menu-btn-angled:nth-child(2) { + transform: translateX(2px); + min-width: 300px; +} + +.menu-btn-angled:nth-child(3) { + transform: translateX(-13px); + min-width: 320px; +} + +.menu-btn-angled:nth-child(4) { + transform: translateX(-27px); + min-width: 340px; +} + +/* Glow effect on buttons */ +.menu-btn-angled::before { + content: ''; + position: absolute; + top: 0; + left: -100%; + width: 100%; + height: 100%; + background: linear-gradient(90deg, + transparent, + rgba(0, 234, 255, 0.2), + transparent); + transition: left 0.5s ease; +} + +.menu-btn-angled:hover::before { + left: 100%; +} + +.menu-btn-angled:nth-child(1):hover { + transform: translateX(-60px) translateY(-4px) scale(1.02); + background: linear-gradient(145deg, + rgba(0, 234, 255, 0.9) 0%, + rgba(0, 188, 212, 0.95) 50%, + rgba(0, 234, 255, 0.9) 100%); + color: #000; + box-shadow: + 0 8px 0 #007a8c, + 0 0 30px rgba(0, 234, 255, 0.6), + -10px 0 40px rgba(0, 234, 255, 0.4); + border-color: #ffffff; +} + +.menu-btn-angled:nth-child(2):hover { + transform: translateX(-60px) translateY(-4px) scale(1.02); + background: linear-gradient(145deg, + rgba(0, 234, 255, 0.9) 0%, + rgba(0, 188, 212, 0.95) 50%, + rgba(0, 234, 255, 0.9) 100%); + color: #000; + box-shadow: + 0 8px 0 #007a8c, + 0 0 30px rgba(0, 234, 255, 0.6), + -10px 0 40px rgba(0, 234, 255, 0.4); + border-color: #ffffff; +} + +.menu-btn-angled:nth-child(3):hover { + transform: translateX(-60px) translateY(-4px) scale(1.02); + background: linear-gradient(145deg, + rgba(0, 234, 255, 0.9) 0%, + rgba(0, 188, 212, 0.95) 50%, + rgba(0, 234, 255, 0.9) 100%); + color: #000; + box-shadow: + 0 8px 0 #007a8c, + 0 0 30px rgba(0, 234, 255, 0.6), + -10px 0 40px rgba(0, 234, 255, 0.4); + border-color: #ffffff; +} + +.menu-btn-angled:nth-child(4):hover { + transform: translateX(-60px) translateY(-4px) scale(1.02); + background: linear-gradient(145deg, + rgba(0, 234, 255, 0.9) 0%, + rgba(0, 188, 212, 0.95) 50%, + rgba(0, 234, 255, 0.9) 100%); + color: #000; + box-shadow: + 0 8px 0 #007a8c, + 0 0 30px rgba(0, 234, 255, 0.6), + -10px 0 40px rgba(0, 234, 255, 0.4); + border-color: #ffffff; +} + +.menu-btn-angled:nth-child(1):active { + transform: translateX(-60px) translateY(2px) scale(1.01); + box-shadow: + 0 2px 0 #007a8c, + 0 0 20px rgba(0, 234, 255, 0.5); +} + +.menu-btn-angled:nth-child(2):active { + transform: translateX(-60px) translateY(2px) scale(1.01); + box-shadow: + 0 2px 0 #007a8c, + 0 0 20px rgba(0, 234, 255, 0.5); +} + +.menu-btn-angled:nth-child(3):active { + transform: translateX(-60px) translateY(2px) scale(1.01); + box-shadow: + 0 2px 0 #007a8c, + 0 0 20px rgba(0, 234, 255, 0.5); +} + +.menu-btn-angled:nth-child(4):active { + transform: translateX(-60px) translateY(2px) scale(1.01); + box-shadow: + 0 2px 0 #007a8c, + 0 0 20px rgba(0, 234, 255, 0.5); +} + +/* OPTIONS & LEADERBOARD MENU (Keep centered) */ +#optionsMenu, +#leaderboardMenu, +#howToPlayMenu { + position: absolute; + width: 100vw; + height: 100vh; + top: 0; + left: 0; + background: rgba(0, 0, 0, 0.85); + backdrop-filter: blur(10px); display: flex; flex-direction: column; justify-content: center; align-items: center; z-index: 10; - animation: fadeIn 1s ease-out; + animation: fadeIn 0.5s ease-out; } @keyframes fadeIn { - from { opacity: 0; } - to { opacity: 1; } + from { + opacity: 0; + } + + to { + opacity: 1; + } } /* === STARS CONTAINER (hidden by default) === */ @@ -83,6 +390,7 @@ html, body { 10px 10px 14px rgba(0, 234, 255, 0.9), 0 0 35px #00eaff; } + to { text-shadow: 2px 2px 0px #00eaff, @@ -194,7 +502,7 @@ html, body { margin-bottom: 40px; min-width: 600px; backdrop-filter: blur(5px); - box-shadow: + box-shadow: 0 0 20px rgba(0, 234, 255, 0.3), inset 0 0 20px rgba(0, 234, 255, 0.1); } @@ -248,7 +556,7 @@ input[type="range"]::-webkit-slider-thumb { background: linear-gradient(145deg, #00eaff, #00bcd4); border-radius: 50%; cursor: pointer; - box-shadow: + box-shadow: 0 0 10px rgba(0, 234, 255, 0.8), 0 2px 4px rgba(0, 0, 0, 0.5); transition: all 0.2s ease; @@ -257,7 +565,7 @@ input[type="range"]::-webkit-slider-thumb { input[type="range"]::-webkit-slider-thumb:hover { background: #00eaff; - box-shadow: + box-shadow: 0 0 20px rgba(0, 234, 255, 1), 0 4px 8px rgba(0, 0, 0, 0.6); transform: scale(1.15); @@ -284,7 +592,7 @@ input[type="range"]::-webkit-slider-thumb:hover { transition: all 0.3s ease; text-transform: uppercase; letter-spacing: 1px; - box-shadow: + box-shadow: 0 2px 0 rgba(0, 188, 212, 0.3), inset 0 0 10px rgba(0, 234, 255, 0.1); } @@ -293,7 +601,7 @@ input[type="range"]::-webkit-slider-thumb:hover { color: #00eaff; border-color: #00eaff; background: linear-gradient(145deg, #1b1b1b, #2a2a2a); - box-shadow: + box-shadow: 0 2px 0 #00bcd4, 0 0 15px rgba(0, 234, 255, 0.4), inset 0 0 15px rgba(0, 234, 255, 0.2); @@ -303,7 +611,7 @@ input[type="range"]::-webkit-slider-thumb:hover { color: #000; background: #00eaff; border-color: #00eaff; - box-shadow: + box-shadow: 0 4px 0 #00bcd4, 0 0 20px rgba(0, 234, 255, 0.8), inset 0 0 10px rgba(255, 255, 255, 0.3); @@ -316,7 +624,7 @@ input[type="range"]::-webkit-slider-thumb:hover { background: linear-gradient(145deg, #1b1b1b, #111); border-color: #00eaff; color: #00eaff; - box-shadow: + box-shadow: 0 4px 0 #00bcd4, 0 0 12px rgba(0, 234, 255, 0.4), inset 0 0 15px rgba(0, 234, 255, 0.2); @@ -326,7 +634,7 @@ input[type="range"]::-webkit-slider-thumb:hover { background: linear-gradient(145deg, #2a2a2a, #1b1b1b); border-color: #00eaff; color: #ffffff; - box-shadow: + box-shadow: 0 6px 0 #00bcd4, 0 0 25px rgba(0, 234, 255, 0.6), inset 0 0 20px rgba(0, 234, 255, 0.3); @@ -382,14 +690,237 @@ input[type="range"]::-webkit-slider-thumb:hover { } /* Leaderboard Rank Colors */ -.rank-1 td { color: #ffd700; text-shadow: 0 0 10px #ffd700; font-weight: 900; font-size: 20px; } -.rank-2 td { color: #c0c0c0; text-shadow: 0 0 10px #c0c0c0; font-weight: 700; } -.rank-3 td { color: #cd7f32; text-shadow: 0 0 10px #cd7f32; font-weight: 700; } +.rank-1 td { + color: #ffd700; + text-shadow: 0 0 10px #ffd700; + font-weight: 900; + font-size: 20px; +} + +.rank-2 td { + color: #c0c0c0; + text-shadow: 0 0 10px #c0c0c0; + font-weight: 700; +} + +.rank-3 td { + color: #cd7f32; + text-shadow: 0 0 10px #cd7f32; + font-weight: 700; +} /* Custom Scrollbar for Leaderboard */ -.leaderboard-container::-webkit-scrollbar { width: 8px; } -.leaderboard-container::-webkit-scrollbar-thumb { background: #00eaff; border-radius: 4px; } -.leaderboard-container::-webkit-scrollbar-track { background: rgba(0,0,0,0.5); } +.leaderboard-container::-webkit-scrollbar { + width: 8px; +} + +.leaderboard-container::-webkit-scrollbar-thumb { + background: #00eaff; + border-radius: 4px; +} + +.leaderboard-container::-webkit-scrollbar-track { + background: rgba(0, 0, 0, 0.5); +} + +/* === HOW TO PLAY MENU STYLES === */ +.howtoplay-container { + background: rgba(0, 0, 0, 0.7); + border: 2px solid rgba(0, 234, 255, 0.4); + border-radius: 20px; + padding: 30px 40px; + margin-bottom: 30px; + max-height: 500px; + overflow-y: auto; + backdrop-filter: blur(10px); + box-shadow: 0 0 30px rgba(0, 234, 255, 0.15); + text-align: center; +} + +.howtoplay-section { + margin-bottom: 30px; + padding-bottom: 25px; + border-bottom: 1px solid rgba(0, 234, 255, 0.2); +} + +.howtoplay-section:last-child { + border-bottom: none; + margin-bottom: 0; + padding-bottom: 0; +} + +.section-title { + font-size: 24px; + font-weight: 700; + color: #00eaff; + margin-bottom: 15px; + letter-spacing: 2px; + text-shadow: 0 0 10px rgba(0, 234, 255, 0.5); + font-family: 'Orbitron', sans-serif; +} + +/* Control Guide Styles */ +.control-guide { + display: flex; + flex-direction: column; + gap: 12px; +} + +.control-item { + display: flex; + justify-content: space-between; + align-items: center; + padding: 12px 15px; + background: rgba(0, 234, 255, 0.05); + border-left: 3px solid #00eaff; + border-radius: 5px; + transition: all 0.2s ease; +} + +.control-item:hover { + background: rgba(0, 234, 255, 0.1); + transform: translateX(5px); +} + +.control-key { + font-family: 'Orbitron', sans-serif; + font-weight: 700; + font-size: 16px; + color: #00eaff; + background: rgba(0, 234, 255, 0.1); + padding: 8px 15px; + border-radius: 5px; + border: 1px solid rgba(0, 234, 255, 0.3); + min-width: 180px; + text-align: center; +} + +.control-desc { + font-size: 14px; + color: #ffffff; + flex: 1; + margin-left: 20px; +} + +/* Ability Guide Styles */ +.ability-guide { + display: flex; + flex-direction: column; + gap: 15px; +} + +.ability-item { + padding: 15px; + background: rgba(0, 234, 255, 0.05); + border-radius: 8px; + border: 1px solid rgba(0, 234, 255, 0.2); + transition: all 0.2s ease; +} + +.ability-item:hover { + background: rgba(0, 234, 255, 0.08); + border-color: rgba(0, 234, 255, 0.4); +} + +.ability-header { + display: flex; + align-items: center; + gap: 15px; + margin-bottom: 10px; +} + +.ability-icon { + width: 40px; + height: 40px; + object-fit: contain; + filter: drop-shadow(0 0 8px rgba(0, 234, 255, 0.5)); +} + +.ability-name { + display: inline; + font-family: 'Orbitron', sans-serif; + font-weight: 700; + font-size: 16px; + color: #00eaff; + text-shadow: 0 0 5px rgba(0, 234, 255, 0.3); +} + +.ability-desc { + font-size: 14px; + color: rgba(255, 255, 255, 0.9); + line-height: 1.6; + margin: 0; +} + +/* Surge Description */ +.surge-desc { + font-size: 15px; + color: rgba(255, 255, 255, 0.9); + line-height: 1.7; + margin-bottom: 15px; + text-align: center; +} + +.surge-desc strong { + color: #00eaff; + text-shadow: 0 0 5px rgba(0, 234, 255, 0.3); +} + +/* Lists */ +.surge-list, +.tips-list { + list-style: none; + padding: 0; + margin: 0; + text-align: left; + display: inline-block; + max-width: 700px; +} + +.surge-list li, +.tips-list li { + font-size: 14px; + color: rgba(255, 255, 255, 0.9); + line-height: 1.8; + margin-bottom: 10px; + padding-left: 25px; + position: relative; +} + +.surge-list li::before { + content: '⚡'; + position: absolute; + left: 0; + color: #00eaff; +} + +.tips-list li::before { + content: '▸'; + position: absolute; + left: 5px; + color: #00eaff; + font-size: 18px; +} + +.surge-list li strong, +.tips-list li strong { + color: #00eaff; +} + +/* Custom Scrollbar for How to Play */ +.howtoplay-container::-webkit-scrollbar { + width: 8px; +} + +.howtoplay-container::-webkit-scrollbar-thumb { + background: #00eaff; + border-radius: 4px; +} + +.howtoplay-container::-webkit-scrollbar-track { + background: rgba(0, 0, 0, 0.5); +} + /* === GAME CONTAINER === */ #gameContainer { @@ -408,12 +939,130 @@ input[type="range"]::-webkit-slider-thumb:hover { /* === RESPONSIVE === */ @media (max-width: 768px) { - .title-word { font-size: 60px; } - .menu-btn { font-size: 20px; padding: 12px 40px; min-width: 280px; } - .options-container { min-width: 90vw; padding: 30px; } - .options-title { font-size: 50px; } - .footer-info p { font-size: 12px; } - + .title-word { + font-size: 60px; + } + + .menu-btn { + font-size: 20px; + padding: 12px 40px; + min-width: 280px; + } + + .options-container { + min-width: 90vw; + padding: 30px; + } + + .options-title { + font-size: 50px; + } + + .footer-info p { + font-size: 12px; + } + /* Responsive Leaderboard */ - .leaderboard-table th, .leaderboard-table td { font-size: 14px; padding: 10px; } + .leaderboard-table th, + .leaderboard-table td { + font-size: 14px; + padding: 10px; + } +} + +/* === FAKE LOADING SCREEN === */ +#loadingOverlay { + position: fixed; + top: 0; + left: 0; + width: 100vw; + height: 100vh; + background: black; + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + z-index: 10001; + opacity: 0; + transition: opacity 0.5s ease; + pointer-events: none; +} + +.loading-dots { + display: flex; + gap: 20px; +} + +.loading-dots span { + font-size: 80px; + color: #00eaff; + font-family: 'Orbitron', sans-serif; + animation: dotPulse 1.4s infinite linear; + text-shadow: 0 0 20px rgba(0, 234, 255, 0.8); +} + +.loading-dots span:nth-child(2) { + animation-delay: 0.2s; +} + +.loading-dots span:nth-child(3) { + animation-delay: 0.4s; +} + +@keyframes dotPulse { + + 0%, + 100% { + opacity: 0.2; + transform: scale(0.8); + } + + 50% { + opacity: 1; + transform: scale(1.2); + } +} + +/* === CHEAT CODES STYLES === */ +.cheat-guide { + display: flex; + flex-direction: column; + gap: 12px; + margin-top: 15px; +} + +.cheat-item { + display: flex; + justify-content: space-between; + align-items: center; + padding: 12px 15px; + background: rgba(255, 0, 110, 0.05); + border-left: 3px solid #ff006e; + border-radius: 5px; + transition: all 0.2s ease; +} + +.cheat-item:hover { + background: rgba(255, 0, 110, 0.1); + transform: translateX(5px); +} + +.cheat-key { + font-family: 'Orbitron', sans-serif; + font-weight: 700; + font-size: 16px; + color: #ff006e; + background: rgba(255, 0, 110, 0.1); + padding: 8px 15px; + border-radius: 5px; + border: 1px solid rgba(255, 0, 110, 0.3); + min-width: 60px; + text-align: center; +} + +.cheat-desc { + font-size: 14px; + color: rgba(255, 255, 255, 0.9); + font-weight: bold; + letter-spacing: 1px; } \ No newline at end of file diff --git a/api/config.php b/api/config.php deleted file mode 100644 index f23828c..0000000 --- a/api/config.php +++ /dev/null @@ -1,34 +0,0 @@ - PDO::ERRMODE_EXCEPTION, - PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC, - ]); -} catch (Throwable $e) { - json_out(500, ['ok' => false, 'error' => 'DB connection failed']); -} - -function current_user(PDO $pdo): ?array { - if (!isset($_SESSION['user_id'])) return null; - $stmt = $pdo->prepare('SELECT id, username, email, created_at FROM users WHERE id = ? LIMIT 1'); - $stmt->execute([(int)$_SESSION['user_id']]); - $u = $stmt->fetch(); - return $u ?: null; -} diff --git a/api/login.php b/api/login.php index f60d499..8551a4a 100644 --- a/api/login.php +++ b/api/login.php @@ -1,33 +1,28 @@ false, 'error' => 'Invalid JSON']); +$input = json_decode(file_get_contents('php://input'), true); +$username = trim($input['login'] ?? ''); +$password = $input['password'] ?? ''; -$login = isset($data['login']) ? trim((string)$data['login']) : ''; -$password = isset($data['password']) ? (string)$data['password'] : ''; - -if ($login === '' || $password === '') { - json_out(400, ['ok' => false, 'error' => 'Missing login or password']); +if (!$username || !$password) { + http_response_code(400); + echo json_encode(['error' => 'Username and password required']); + exit; } -$stmt = $pdo->prepare('SELECT id, username, email, password_hash, created_at FROM users WHERE username = ? OR email = ? LIMIT 1'); -$stmt->execute([$login, $login]); -$user = $stmt->fetch(); +$stmt = $pdo->prepare("SELECT id, username, password FROM users WHERE username = ?"); +$stmt->execute([$username]); +$user = $stmt->fetch(PDO::FETCH_ASSOC); -if (!$user || !password_verify($password, (string)$user['password_hash'])) { - json_out(401, ['ok' => false, 'error' => 'Invalid credentials']); +if ($user && password_verify($password, $user['password'])) { + $_SESSION['user_id'] = $user['id']; + $_SESSION['username'] = $user['username']; + echo json_encode(['ok' => true, 'user' => ['id' => $user['id'], 'username' => $user['username']]]); +} else { + http_response_code(401); + echo json_encode(['error' => 'Invalid credentials']); } - -$_SESSION['user_id'] = (int)$user['id']; - -json_out(200, [ - 'ok' => true, - 'user' => [ - 'id' => (int)$user['id'], - 'username' => (string)$user['username'], - 'email' => $user['email'], - 'created_at' => $user['created_at'], - ] -]); +?> diff --git a/api/logout.php b/api/logout.php deleted file mode 100644 index aa0f90b..0000000 --- a/api/logout.php +++ /dev/null @@ -1,12 +0,0 @@ - true]); diff --git a/api/me.php b/api/me.php index 5d7388a..7e50501 100644 --- a/api/me.php +++ b/api/me.php @@ -1,6 +1,10 @@ true, 'user' => $u]); +if (isset($_SESSION['user_id'])) { + echo json_encode(['ok' => true, 'user' => ['id' => $_SESSION['user_id'], 'username' => $_SESSION['username']]]); +} else { + echo json_encode(['ok' => false]); +} +?> diff --git a/api/register.php b/api/register.php index efa90fe..bb6142e 100644 --- a/api/register.php +++ b/api/register.php @@ -1,41 +1,40 @@ false, 'error' => 'Invalid JSON']); +$input = json_decode(file_get_contents('php://input'), true); +$username = trim($input['username'] ?? ''); +$password = $input['password'] ?? ''; -$username = isset($data['username']) ? trim((string)$data['username']) : ''; -$email = isset($data['email']) ? trim((string)$data['email']) : ''; -$password = isset($data['password']) ? (string)$data['password'] : ''; - -if ($username === '' || strlen($username) < 3 || strlen($username) > 32) { - json_out(400, ['ok' => false, 'error' => 'Username must be 3-32 chars']); -} -if (!preg_match('/^[A-Za-z0-9_]+$/', $username)) { - json_out(400, ['ok' => false, 'error' => 'Username must be letters/numbers/_ only']); -} -if ($email !== '' && !filter_var($email, FILTER_VALIDATE_EMAIL)) { - json_out(400, ['ok' => false, 'error' => 'Invalid email']); -} -if (strlen($password) < 6) { - json_out(400, ['ok' => false, 'error' => 'Password must be at least 6 chars']); +if (!$username || !$password) { + http_response_code(400); + echo json_encode(['error' => 'Username and password required']); + exit; } +// Check if user exists +$stmt = $pdo->prepare("SELECT id FROM users WHERE username = ?"); +$stmt->execute([$username]); +if ($stmt->fetch()) { + http_response_code(409); + echo json_encode(['error' => 'Username already taken']); + exit; +} + +// Hash password $hash = password_hash($password, PASSWORD_DEFAULT); -try { - $stmt = $pdo->prepare('INSERT INTO users (username, email, password_hash) VALUES (?, ?, ?)'); - $stmt->execute([$username, ($email === '' ? null : $email), $hash]); - - $_SESSION['user_id'] = (int)$pdo->lastInsertId(); - $u = current_user($pdo); - - json_out(201, ['ok' => true, 'user' => $u]); -} catch (Throwable $e) { - $msg = $e->getMessage(); - if (stripos($msg, 'Duplicate') !== false || stripos($msg, 'uq_') !== false) { - json_out(409, ['ok' => false, 'error' => 'Username or email already used']); - } - json_out(500, ['ok' => false, 'error' => 'Register failed']); +// Insert user +$stmt = $pdo->prepare("INSERT INTO users (username, password) VALUES (?, ?)"); +if ($stmt->execute([$username, $hash])) { + $userId = $pdo->lastInsertId(); + $_SESSION['user_id'] = $userId; + $_SESSION['username'] = $username; + + echo json_encode(['ok' => true, 'user' => ['id' => $userId, 'username' => $username]]); +} else { + http_response_code(500); + echo json_encode(['error' => 'Registration failed']); } +?> diff --git a/api/score.php b/api/score.php new file mode 100644 index 0000000..2ca4390 --- /dev/null +++ b/api/score.php @@ -0,0 +1,51 @@ +query($sql); + $data = []; + $rank = 1; + while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) { + $row['rank'] = $rank++; + $data[] = $row; + } + + echo json_encode(['success' => true, 'data' => $data]); + +} elseif ($method === 'POST') { + if (!isset($_SESSION['user_id'])) { + http_response_code(401); + echo json_encode(['error' => 'Not logged in']); + exit; + } + + $input = json_decode(file_get_contents('php://input'), true); + $score = intval($input['score'] ?? 0); + $level = intval($input['level'] ?? 1); + + if ($score <= 0) { + echo json_encode(['ok' => true]); + exit; + } + + $stmt = $pdo->prepare("INSERT INTO scores (user_id, score, level) VALUES (?, ?, ?)"); + if ($stmt->execute([$_SESSION['user_id'], $score, $level])) { + echo json_encode(['ok' => true]); + } else { + http_response_code(500); + echo json_encode(['error' => 'Failed to save score']); + } +} +?> diff --git a/database/README.md b/database/README.md new file mode 100644 index 0000000..95cdef3 --- /dev/null +++ b/database/README.md @@ -0,0 +1,27 @@ +# Database Setup (MySQL/XAMPP) + +This project has been upgraded to use **MySQL** for shared global leaderboards and user accounts. + +## Requirements +- XAMPP (or any WAMP/MAMP stack) +- PHP 7.4 or higher +- MySQL / MariaDB + +## Setup Instructions +1. **Start XAMPP**: Open XAMPP Control Panel and start **Apache** and **MySQL**. +2. **Move Project**: Ensure the project folder is inside `C:\xampp\htdocs\`. +3. **Configure Database**: + - Go to `http://localhost/phpmyadmin` + - Create a new database named `space_odyssey`. +4. **Access Game**: + - Open your browser to `http://localhost/Kelompok09-SPOILER/Main.html`. + +## Structure +- `/database/db_connect.php`: MySQL connection script (configured for default XAMPP). +- `/api/`: Contains the PHP endpoints for the game. + +## Troubleshooting +If you see "Database connection failed", ensure: +1. MySQL is running in XAMPP. +2. The database name in `db_connect.php` matches your phpMyAdmin database name. + diff --git a/database/db_connect.php b/database/db_connect.php new file mode 100644 index 0000000..6e6a5ab --- /dev/null +++ b/database/db_connect.php @@ -0,0 +1,41 @@ + PDO::ERRMODE_EXCEPTION, + PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC, + PDO::ATTR_EMULATE_PREPARES => false, +]; + +try { + $pdo = new PDO($dsn, $user, $pass, $options); + + $pdo->exec("CREATE TABLE IF NOT EXISTS users ( + id INT AUTO_INCREMENT PRIMARY KEY, + username VARCHAR(255) UNIQUE NOT NULL, + password VARCHAR(255) NOT NULL, + created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP + ) ENGINE=InnoDB;"); + + $pdo->exec("CREATE TABLE IF NOT EXISTS scores ( + id INT AUTO_INCREMENT PRIMARY KEY, + user_id INT NOT NULL, + score INT NOT NULL, + level INT NOT NULL, + created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + INDEX (score), + FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE + ) ENGINE=InnoDB;"); + +} catch (\PDOException $e) { + header('Content-Type: application/json'); + echo json_encode(['error' => "Database connection failed: " . $e->getMessage()]); + exit; +} +?> + diff --git a/img/3D.glb b/img/3D.glb new file mode 100644 index 0000000..309789d Binary files /dev/null and b/img/3D.glb differ diff --git a/img/Menu.jpg b/img/Menu.jpg new file mode 100644 index 0000000..1dd77e0 Binary files /dev/null and b/img/Menu.jpg differ diff --git a/img/Player/lives.png b/img/Player/lives.png index aadaa59..0c3b655 100644 Binary files a/img/Player/lives.png and b/img/Player/lives.png differ diff --git a/img/Player/pesawat2.png b/img/Player/pesawat2.png deleted file mode 100644 index 8b154a2..0000000 Binary files a/img/Player/pesawat2.png and /dev/null differ diff --git a/img/Player/pesawat22.png b/img/Player/pesawat22.png index e412bf2..6ab6c01 100644 Binary files a/img/Player/pesawat22.png and b/img/Player/pesawat22.png differ diff --git a/img/Skills/bomb.png b/img/Skills/bomb.png index 8d3bfa2..1813728 100644 Binary files a/img/Skills/bomb.png and b/img/Skills/bomb.png differ diff --git a/img/SpellBomb.png b/img/SpellBomb.png new file mode 100644 index 0000000..f8cf780 Binary files /dev/null and b/img/SpellBomb.png differ diff --git a/img/SpritesPlanet/planet_1.png b/img/SpritesPlanet/planet_1.png index 00dc5bb..ef96fcd 100644 Binary files a/img/SpritesPlanet/planet_1.png and b/img/SpritesPlanet/planet_1.png differ diff --git a/img/SpritesPlanet/planet_2.png b/img/SpritesPlanet/planet_2.png index 4178d85..589f2d1 100644 Binary files a/img/SpritesPlanet/planet_2.png and b/img/SpritesPlanet/planet_2.png differ diff --git a/img/SpritesPlanet/planet_3.png b/img/SpritesPlanet/planet_3.png index 119cb83..7dd4411 100644 Binary files a/img/SpritesPlanet/planet_3.png and b/img/SpritesPlanet/planet_3.png differ diff --git a/img/SpritesPlanet/planet_4.png b/img/SpritesPlanet/planet_4.png index e64f3f6..221cd6d 100644 Binary files a/img/SpritesPlanet/planet_4.png and b/img/SpritesPlanet/planet_4.png differ diff --git a/img/alien_0.png b/img/alien_0.png deleted file mode 100644 index 60406ec..0000000 Binary files a/img/alien_0.png and /dev/null differ diff --git a/img/alien_1.png b/img/alien_1.png deleted file mode 100644 index 3fefd1f..0000000 Binary files a/img/alien_1.png and /dev/null differ diff --git a/img/alien_2.png b/img/alien_2.png deleted file mode 100644 index cef2b5c..0000000 Binary files a/img/alien_2.png and /dev/null differ diff --git a/img/alien_3.png b/img/alien_3.png deleted file mode 100644 index ba5c1ec..0000000 Binary files a/img/alien_3.png and /dev/null differ diff --git a/img/bg_0.png b/img/bg_0.png index 1cffb6c..6f56d86 100644 Binary files a/img/bg_0.png and b/img/bg_0.png differ diff --git a/img/cockpit_family.png b/img/cockpit_family.png new file mode 100644 index 0000000..c03294e Binary files /dev/null and b/img/cockpit_family.png differ diff --git a/img/ships.png b/img/ships.png deleted file mode 100644 index d231204..0000000 Binary files a/img/ships.png and /dev/null differ diff --git a/img/ships2.png b/img/ships2.png deleted file mode 100644 index 09334e0..0000000 Binary files a/img/ships2.png and /dev/null differ diff --git a/img/ships3.png b/img/ships3.png deleted file mode 100644 index 9a27245..0000000 Binary files a/img/ships3.png and /dev/null differ diff --git a/music/ChillGO.mp3 b/music/ChillGO.mp3 index 5da8296..d5de7f6 100644 Binary files a/music/ChillGO.mp3 and b/music/ChillGO.mp3 differ diff --git a/music/MainMenu.mp3 b/music/MainMenu.mp3 new file mode 100644 index 0000000..46080ac Binary files /dev/null and b/music/MainMenu.mp3 differ diff --git a/music/audacity/Hordescream.wav b/music/audacity/Hordescream.wav new file mode 100644 index 0000000..662c66f Binary files /dev/null and b/music/audacity/Hordescream.wav differ diff --git a/music/audacity/LD1edit.wav b/music/audacity/LD1edit.wav new file mode 100644 index 0000000..9648ffa Binary files /dev/null and b/music/audacity/LD1edit.wav differ diff --git a/music/audacity/LD2.wav b/music/audacity/LD2.wav new file mode 100644 index 0000000..4aa4ef8 Binary files /dev/null and b/music/audacity/LD2.wav differ diff --git a/music/audacity/RainH1.wav b/music/audacity/RainH1.wav new file mode 100644 index 0000000..d3d828f Binary files /dev/null and b/music/audacity/RainH1.wav differ diff --git a/music/audacity/RainH2.wav b/music/audacity/RainH2.wav new file mode 100644 index 0000000..393feb1 Binary files /dev/null and b/music/audacity/RainH2.wav differ diff --git a/music/audacity/Scaryfu.wav b/music/audacity/Scaryfu.wav new file mode 100644 index 0000000..86927e1 Binary files /dev/null and b/music/audacity/Scaryfu.wav differ diff --git a/music/laser.mp3 b/music/laser.mp3 deleted file mode 100644 index 3ac6b9b..0000000 Binary files a/music/laser.mp3 and /dev/null differ diff --git a/music/laser2.mp3 b/music/laser2.mp3 deleted file mode 100644 index 483ce59..0000000 Binary files a/music/laser2.mp3 and /dev/null differ diff --git a/music/sfx/BombHIT.wav b/music/sfx/BombHIT.wav new file mode 100644 index 0000000..721744d Binary files /dev/null and b/music/sfx/BombHIT.wav differ diff --git a/music/sfx/BombMerged.wav b/music/sfx/BombMerged.wav new file mode 100644 index 0000000..dc40ad6 Binary files /dev/null and b/music/sfx/BombMerged.wav differ diff --git a/music/sfx/BossAttack.wav b/music/sfx/BossAttack.wav new file mode 100644 index 0000000..d3d6b6e Binary files /dev/null and b/music/sfx/BossAttack.wav differ diff --git a/music/sfx/ClockAura.wav b/music/sfx/ClockAura.wav new file mode 100644 index 0000000..a60278d Binary files /dev/null and b/music/sfx/ClockAura.wav differ diff --git a/music/sfx/DEFEATED.wav b/music/sfx/DEFEATED.wav new file mode 100644 index 0000000..ab7a58d Binary files /dev/null and b/music/sfx/DEFEATED.wav differ diff --git a/music/sfx/SpiralPlayer.wav b/music/sfx/SpiralPlayer.wav new file mode 100644 index 0000000..18d9d73 Binary files /dev/null and b/music/sfx/SpiralPlayer.wav differ diff --git a/music/sfx/Warning.wav b/music/sfx/Warning.wav new file mode 100644 index 0000000..b709596 Binary files /dev/null and b/music/sfx/Warning.wav differ diff --git a/music/sfx/bomb-get.mp3 b/music/sfx/bomb-get.mp3 new file mode 100644 index 0000000..771ed18 Binary files /dev/null and b/music/sfx/bomb-get.mp3 differ diff --git a/music/explosion-small.mp3 b/music/sfx/explosion-small.mp3 similarity index 100% rename from music/explosion-small.mp3 rename to music/sfx/explosion-small.mp3 diff --git a/music/sfx/grazedezpz.wav b/music/sfx/grazedezpz.wav new file mode 100644 index 0000000..440f94a Binary files /dev/null and b/music/sfx/grazedezpz.wav differ diff --git a/music/sfx/laser2.mp3 b/music/sfx/laser2.mp3 new file mode 100644 index 0000000..6d5ab6a Binary files /dev/null and b/music/sfx/laser2.mp3 differ diff --git a/music/sfx/lifeup.wav b/music/sfx/lifeup.wav new file mode 100644 index 0000000..b9e2464 Binary files /dev/null and b/music/sfx/lifeup.wav differ diff --git a/music/sfx/missile-get.mp3 b/music/sfx/missile-get.mp3 new file mode 100644 index 0000000..8a73513 Binary files /dev/null and b/music/sfx/missile-get.mp3 differ diff --git a/music/sfx/missileaway.mp3 b/music/sfx/missileaway.mp3 new file mode 100644 index 0000000..a6651e5 Binary files /dev/null and b/music/sfx/missileaway.mp3 differ diff --git a/music/sfx/playerdeadlol.mp3 b/music/sfx/playerdeadlol.mp3 new file mode 100644 index 0000000..daf8090 Binary files /dev/null and b/music/sfx/playerdeadlol.mp3 differ diff --git a/music/sfx/weapon-get.mp3 b/music/sfx/weapon-get.mp3 new file mode 100644 index 0000000..1a9abcb Binary files /dev/null and b/music/sfx/weapon-get.mp3 differ diff --git a/play_game.bat b/play_game.bat new file mode 100644 index 0000000..09393d0 --- /dev/null +++ b/play_game.bat @@ -0,0 +1,5 @@ + +start "" "http://localhost:8000/Main.html" +python -m http.server 8000 + +pause diff --git a/surge-shake-system.js b/surge-shake-system.js new file mode 100644 index 0000000..f6e2d8c --- /dev/null +++ b/surge-shake-system.js @@ -0,0 +1,126 @@ +const surgeShake = { + active: false, + startTime: 0, + duration: 0, + fadeOutStart: 0, + + amplitude: 10, + frequency: 50, + + offsetX: 0, + offsetY: 0, + offsetRotation: 0, + + directionChangeTimer: 0, + directionChangeInterval: 2, + currentDirectionX: 0, + currentDirectionY: 0, + currentDirectionRot: 0, + + blurIntensity: 0, + + start() { + this.active = true; + this.startTime = Date.now(); + this.duration = 14500; + this.fadeOutStart = this.duration - 1200; + + this.amplitude = 10; + this.frequency = 50; + this.directionChangeTimer = 0; + + console.log("SURGE SHAKE: ACTIVATED"); + }, + + stop() { + this.active = false; + this.offsetX = 0; + this.offsetY = 0; + this.offsetRotation = 0; + this.blurIntensity = 0; + console.log("SURGE SHAKE: DEACTIVATED"); + }, + + update() { + if (!this.active) { + this.offsetX = 0; + this.offsetY = 0; + this.offsetRotation = 0; + this.blurIntensity = 0; + return; + } + + let elapsed = Date.now() - this.startTime; + + if (elapsed >= this.duration) { + this.stop(); + return; + } + + let intensity = 1.0; + if (elapsed >= this.fadeOutStart) { + let fadeProgress = (elapsed - this.fadeOutStart) / 1200; + intensity = 1.0 - fadeProgress; + } + + this.directionChangeTimer++; + if (this.directionChangeTimer >= this.directionChangeInterval) { + this.directionChangeTimer = 0; + this.currentDirectionX = (Math.random() - 0.5) * 2; + this.currentDirectionY = (Math.random() - 0.5) * 2; + this.currentDirectionRot = (Math.random() - 0.5) * 2; + } + + let timeScale = elapsed * 0.001; + let oscillationX = Math.sin(timeScale * this.frequency * (1 + Math.random() * 0.2)); + let oscillationY = Math.cos(timeScale * this.frequency * (1 + Math.random() * 0.2)); + let oscillationRot = Math.sin(timeScale * this.frequency * 0.5) * (Math.random() * 0.4 + 0.8); + + let jitter = 0.8 + Math.random() * 0.4; + let effectiveAmplitude = this.amplitude * intensity * jitter; + + this.offsetX = this.currentDirectionX * oscillationX * effectiveAmplitude; + this.offsetY = this.currentDirectionY * oscillationY * effectiveAmplitude; + this.offsetRotation = this.currentDirectionRot * oscillationRot * 0.015 * intensity; // Small rotation in radians + + this.blurIntensity = intensity * 8; + } +}; + +const surgeFlash = { + active: false, + intensity: 0, + pulseSpeed: 3, + + start() { + this.active = true; + this.intensity = 0; + console.log("SURGE FLASH: ACTIVATED"); + }, + + stop() { + this.active = false; + this.intensity = 0; + console.log("SURGE FLASH: DEACTIVATED"); + }, + + update() { + if (!this.active) { + this.intensity = 0; + return; + } + + let time = Date.now() * 0.001; + this.intensity = 0.15 + Math.sin(time * this.pulseSpeed) * 0.1; + }, + + apply(ctx) { + if (!this.active || this.intensity <= 0) return; + + ctx.save(); + ctx.globalCompositeOperation = "lighter"; + ctx.fillStyle = `rgba(255, 255, 255, ${this.intensity * 0.5})`; + ctx.fillRect(0, 0, canvasWidth, canvasHeight); + ctx.restore(); + } +};