From 6d73d74c3a2289147c0b48e51863c4bd865ea116 Mon Sep 17 00:00:00 2001 From: David Wursteisen Date: Sun, 2 Nov 2025 23:57:36 +0100 Subject: [PATCH 01/17] Fix gfx.pal --- .../minigdx/tiny/graphic/FrameBuffer.kt | 255 ------------------ .../tiny/graphic/FrameBufferParameters.kt | 104 +++++++ .../tiny/render/DefaultVirtualFrameBuffer.kt | 66 ++--- .../minigdx/tiny/render/VirtualFrameBuffer.kt | 4 +- .../tiny/platform/test/HeadlessPlatform.kt | 28 +- .../minigdx/tiny/platform/test/TestHelper.kt | 82 ------ .../kotlin/integration/CoroutineTest.kt | 64 ----- .../commonTest/kotlin/integration/GfxTest.kt | 39 --- .../kotlin/integration/ShapeTest.kt | 133 --------- .../tiny/platform/test/TestHelper.js.kt | 8 - .../tiny/platform/test/TestHelper.jvm.kt | 43 --- 11 files changed, 142 insertions(+), 684 deletions(-) delete mode 100644 tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/graphic/FrameBuffer.kt create mode 100644 tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/graphic/FrameBufferParameters.kt delete mode 100644 tiny-engine/src/commonTest/kotlin/com/github/minigdx/tiny/platform/test/TestHelper.kt delete mode 100644 tiny-engine/src/commonTest/kotlin/integration/CoroutineTest.kt delete mode 100644 tiny-engine/src/commonTest/kotlin/integration/GfxTest.kt delete mode 100644 tiny-engine/src/commonTest/kotlin/integration/ShapeTest.kt delete mode 100644 tiny-engine/src/jsTest/kotlin/com/github/minigdx/tiny/platform/test/TestHelper.js.kt delete mode 100644 tiny-engine/src/jvmTest/kotlin/com/github/minigdx/tiny/platform/test/TestHelper.jvm.kt diff --git a/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/graphic/FrameBuffer.kt b/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/graphic/FrameBuffer.kt deleted file mode 100644 index 9a8982fe..00000000 --- a/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/graphic/FrameBuffer.kt +++ /dev/null @@ -1,255 +0,0 @@ -package com.github.minigdx.tiny.graphic - -import com.github.minigdx.tiny.ColorIndex -import com.github.minigdx.tiny.Pixel -import kotlin.math.max -import kotlin.math.min - -class Blender(internal val gamePalette: ColorPalette) { - internal var switch: Array = Array(gamePalette.size) { index -> index } - - internal var dithering: Int = 0xFFFF - - internal val hasDithering: Boolean - get() { - return dithering != 0xFFFF - } - - fun dither(pattern: Int): Int { - val prec = dithering - dithering = pattern and 0xFFFF - return prec - } - - fun pal() { - switch = Array(gamePalette.size) { index -> index } - } - - fun pal( - source: ColorIndex, - target: ColorIndex, - ) { - switch[gamePalette.check(source)] = gamePalette.check(target) - } - - fun mix( - colors: ByteArray, - x: Pixel, - y: Pixel, - transparency: Array?, - ): ByteArray? { - fun dither(pattern: Int): Boolean { - val a = x % 4 - val b = (y % 4) * 4 - - return (pattern shr (15 - (a + b))) and 0x01 == 0x01 - } - - val color = gamePalette.check(colors[0].toInt()) - colors[0] = switch[color].toByte() - // Return null if transparent - if (transparency == null && gamePalette.isTransparent(colors[0].toInt())) return null - return if (!dither(dithering)) { - null - } else { - colors - } - } -} - -class Camera() { - var x = 0 - internal set - var y = 0 - internal set - - fun set( - x: Int, - y: Int, - ) { - this.x = x - this.y = y - } - - fun cx(x: Int): Int { - return x - this.x - } - - fun cy(y: Int): Int { - return y - this.y - } -} - -class FrameBuffer( - val width: Pixel, - val height: Pixel, - val gamePalette: ColorPalette, -) { - internal val colorIndexBuffer: PixelArray = PixelArray(width, height, PixelFormat.INDEX) - - internal val clipper: Clipper = Clipper(width, height) - - internal val blender = Blender(gamePalette) - - internal val camera = Camera() - - private var tmp = ByteArray(1) { 0 } - - private val transparency = arrayOf(0) - - fun pixel( - x: Pixel, - y: Pixel, - ): ColorIndex { - val cx = camera.cx(x) - val cy = camera.cy(y) - return colorIndexBuffer.getOne(cx, cy) - } - - fun pixel( - x: Pixel, - y: Pixel, - colorIndex: ColorIndex, - ) { - val cx = camera.cx(x) - val cy = camera.cy(y) - if (!clipper.isIn(cx, cy)) return - - tmp[0] = gamePalette.check(colorIndex).toByte() - val index = blender.mix(tmp, cx, cy, transparency) ?: return - colorIndexBuffer.set(cx, cy, index[0].toInt()) - } - - fun fill( - startX: Pixel, - endX: Pixel, - y: Pixel, - colorIndex: ColorIndex, - ) { - val cy = camera.cy(y) - if (cy !in clipper.top..clipper.bottom - 1) return - - val leftX = min(startX, endX) - val rightX = max(startX, endX) - // fill outside the screen? - val left = max(camera.cx(leftX), clipper.left) - val right = min(camera.cx(rightX), clipper.right) - - // nothing to do because out of the screen or no pixel. - if (left == right || left >= clipper.right || right < clipper.left) { - return - } - val color = gamePalette.check(colorIndex) - - // can't optimise if there is some dithering - if (blender.hasDithering) { - // pixel use the clipper and the camera. - // the coordinates need to be the non-translated one - // as it will be translated by pixel if needed. - (startX..endX).forEach { x -> - pixel(x, y, colorIndex) - } - } else { - tmp[0] = color.toByte() - val targetColor = blender.mix(tmp, 0, 0, transparency) ?: return - colorIndexBuffer.fill(left, right, cy, targetColor[0]) - } - } - - /** - * Clear the framebuffer and set the same color on each pixel. - */ - fun clear(clearIndex: ColorIndex = ColorPalette.TRANSPARENT_INDEX) { - val colorIndex = gamePalette.check(clearIndex) - colorIndexBuffer.reset(colorIndex) - } - - fun copyFrom( - /** - * Source to copy. - */ - source: PixelArray, - /** - * X coordinate where the data will be copied in this frame buffer - */ - dstX: Pixel = 0, - /** - * Y coordinate where the data will be copied in this frame buffer - */ - dstY: Pixel = 0, - /** - * X coordinate where the data will be consumed in the source. - */ - sourceX: Pixel = 0, - /** - * Y coordinate where the data will be consumed in the source. - */ - sourceY: Pixel = 0, - /** - * Width of the fragment to copy - */ - width: Pixel = this.width, - /** - * Height of the fragment to copy - */ - height: Pixel = this.height, - /** - * Flip horizontally - */ - reverseX: Boolean = false, - /** - * Flip vertically - */ - reverseY: Boolean = false, - /** - * Blend function - */ - blender: (ByteArray, Pixel, Pixel) -> ByteArray = { colors, _, _ -> colors }, - ) { - val cx = camera.cx(dstX) - val cy = camera.cy(dstY) - - val clippedX = max(cx, clipper.left) - val clippedWidthLeft = width - (clippedX - cx) - val clippedWidth = min(cx + clippedWidthLeft, clipper.right) - cx - - val clippedY = max(cy, clipper.top) - val clippedHeightTop = height - (clippedY - cy) - val clippedHeight = min(cy + clippedHeightTop, clipper.bottom) - cy - - colorIndexBuffer.copyFrom( - source, - clippedX, - clippedY, - sourceX + width - clippedWidthLeft, - sourceY + height - clippedHeightTop, - clippedWidth, - clippedHeight, - reverseX, reverseY, - ) { c, x, y -> this.blender.mix(blender(c, x, y), x, y, null) } - } - - /** - * Create a buffer using the colorIndexBuffer as reference. - */ - fun generateBuffer(): ByteArray { - return this.colorIndexBuffer.pixels - } - - /** - * Fast copy another frame buffer into this frame buffer. - * It's a raw copy of each element. - */ - fun fastCopyFrom(frameBuffer: FrameBuffer) { - // Copying into itself. So there is nothing to do. - if (frameBuffer == this) { - return - } - frameBuffer.colorIndexBuffer.pixels.copyInto( - colorIndexBuffer.pixels, - 0, - 0, - colorIndexBuffer.size, - ) - } -} diff --git a/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/graphic/FrameBufferParameters.kt b/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/graphic/FrameBufferParameters.kt new file mode 100644 index 00000000..9e30280a --- /dev/null +++ b/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/graphic/FrameBufferParameters.kt @@ -0,0 +1,104 @@ +package com.github.minigdx.tiny.graphic + +import com.github.minigdx.tiny.ColorIndex +import com.github.minigdx.tiny.Pixel + +class Blender(internal val gamePalette: ColorPalette) { + private var switch: Array = Array(gamePalette.size) { index -> index } + + private var cachedPaletteReference: Array? = null + + internal var dithering: Int = 0xFFFF + + internal val hasDithering: Boolean + get() { + return dithering != 0xFFFF + } + + fun palette(): Array { + fun cache(): Array { + val copyOf = switch.copyOf() + cachedPaletteReference = copyOf + return copyOf + } + return cachedPaletteReference ?: cache() + } + + fun dither(pattern: Int): Int { + val prec = dithering + dithering = pattern and 0xFFFF + return prec + } + + fun pal() { + cachedPaletteReference = null + switch = Array(gamePalette.size) { index -> index } + } + + fun pal( + source: ColorIndex, + target: ColorIndex, + ) { + cachedPaletteReference = null + switch[gamePalette.check(source)] = gamePalette.check(target) + } + + fun mix( + colors: ByteArray, + x: Pixel, + y: Pixel, + transparency: Array?, + ): ByteArray? { + fun dither(pattern: Int): Boolean { + val a = x % 4 + val b = (y % 4) * 4 + + return (pattern shr (15 - (a + b))) and 0x01 == 0x01 + } + + val color = gamePalette.check(colors[0].toInt()) + colors[0] = switch[color].toByte() + // Return null if transparent + if (transparency == null && gamePalette.isTransparent(colors[0].toInt())) return null + return if (!dither(dithering)) { + null + } else { + colors + } + } +} + +class Camera() { + var x = 0 + internal set + var y = 0 + internal set + + fun set( + x: Int, + y: Int, + ) { + this.x = x + this.y = y + } + + fun cx(x: Int): Int { + return x - this.x + } + + fun cy(y: Int): Int { + return y - this.y + } +} + +class FrameBufferParameters( + val width: Pixel, + val height: Pixel, + val gamePalette: ColorPalette, +) { + internal val clipper: Clipper = Clipper(width, height) + + internal val blender = Blender(gamePalette) + + internal val camera = Camera() +} diff --git a/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/render/DefaultVirtualFrameBuffer.kt b/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/render/DefaultVirtualFrameBuffer.kt index 2578a2fb..c90e522c 100644 --- a/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/render/DefaultVirtualFrameBuffer.kt +++ b/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/render/DefaultVirtualFrameBuffer.kt @@ -35,7 +35,7 @@ import com.danielgergely.kgl.Kgl import com.github.minigdx.tiny.ColorIndex import com.github.minigdx.tiny.Pixel import com.github.minigdx.tiny.engine.GameOptions -import com.github.minigdx.tiny.graphic.FrameBuffer +import com.github.minigdx.tiny.graphic.FrameBufferParameters import com.github.minigdx.tiny.graphic.PixelFormat import com.github.minigdx.tiny.platform.DrawingMode import com.github.minigdx.tiny.platform.WindowManager @@ -82,7 +82,7 @@ class DefaultVirtualFrameBuffer( batchGenerator = { PrimitiveBatch() }, ) - private val primitiveBuffer = FrameBuffer( + private val parameters = FrameBufferParameters( gameOptions.width, gameOptions.height, gameOptions.colors(), @@ -167,13 +167,16 @@ class DefaultVirtualFrameBuffer( ) { invalidateCachedReadFrame() updateDepthIndex(source) + + val palColor = parameters.blender.palette()[color] + val key = spriteBatchManager.createKey() key.set( source, - primitiveBuffer.blender.dithering, - monocolors[color], - primitiveBuffer.camera, - primitiveBuffer.clipper, + parameters.blender.dithering, + monocolors[palColor], + parameters.camera, + parameters.clipper, ) val instance = spriteBatchManager.createInstance() instance.set( @@ -206,11 +209,10 @@ class DefaultVirtualFrameBuffer( val key = spriteBatchManager.createKey() key.set( source, - primitiveBuffer.blender.dithering, - // TODO: changing pal might not be working as the array is the same. - primitiveBuffer.blender.switch, - primitiveBuffer.camera, - primitiveBuffer.clipper, + parameters.blender.dithering, + parameters.blender.palette(), + parameters.camera, + parameters.clipper, ) val instance = spriteBatchManager.createInstance() instance.set( @@ -232,7 +234,7 @@ class DefaultVirtualFrameBuffer( y: Pixel, width: Pixel, height: Pixel, - colorIndex: ColorIndex, + color: ColorIndex, filled: Boolean, ) { invalidateCachedReadFrame() @@ -244,8 +246,8 @@ class DefaultVirtualFrameBuffer( width, height, filled = filled, - color = colorIndex, - dither = primitiveBuffer.blender.dithering, + color = parameters.blender.palette()[color], + dither = parameters.blender.dithering, depth = currentDepth, ) primitiveBatchManager.submit(key, instance) @@ -256,7 +258,7 @@ class DefaultVirtualFrameBuffer( y1: Pixel, x2: Pixel, y2: Pixel, - colorIndex: ColorIndex, + color: ColorIndex, ) { invalidateCachedReadFrame() updateDepthIndex(null) @@ -266,8 +268,8 @@ class DefaultVirtualFrameBuffer( y1, x2, y2, - color = colorIndex, - dither = primitiveBuffer.blender.dithering, + color = parameters.blender.palette()[color], + dither = parameters.blender.dithering, depth = currentDepth, ) primitiveBatchManager.submit(key, instance) @@ -288,8 +290,8 @@ class DefaultVirtualFrameBuffer( centerY, radius, filled = filled, - color = color, - dither = primitiveBuffer.blender.dithering, + color = parameters.blender.palette()[color], + dither = parameters.blender.dithering, depth = currentDepth, ) primitiveBatchManager.submit(key, instance) @@ -306,8 +308,8 @@ class DefaultVirtualFrameBuffer( val instance = primitiveBatchManager.createInstance().setPoint( x, y, - color = color, - dither = primitiveBuffer.blender.dithering, + color = parameters.blender.palette()[color], + dither = parameters.blender.dithering, depth = currentDepth, ) primitiveBatchManager.submit(key, instance) @@ -333,8 +335,8 @@ class DefaultVirtualFrameBuffer( y2, x3, y3, - color, - primitiveBuffer.blender.dithering, + parameters.blender.palette()[color], + parameters.blender.dithering, filled, depth = currentDepth, ) @@ -407,8 +409,8 @@ class DefaultVirtualFrameBuffer( } override fun dithering(dither: Int): Int { - val actual = primitiveBuffer.blender.dithering - primitiveBuffer.blender.dithering = dither + val actual = parameters.blender.dithering + parameters.blender.dithering = dither return actual } @@ -440,29 +442,29 @@ class DefaultVirtualFrameBuffer( } override fun resetPalette() { - primitiveBuffer.blender.pal() + parameters.blender.pal() } override fun swapPalette( source: Int, target: Int, ) { - primitiveBuffer.blender.pal(source, target) + parameters.blender.pal(source, target) } override fun setCamera( x: Int, y: Int, ) { - primitiveBuffer.camera.set(x, y) + parameters.camera.set(x, y) } override fun getCamera(): Pair { - return primitiveBuffer.camera.x to primitiveBuffer.camera.y + return parameters.camera.x to parameters.camera.y } override fun resetCamera() { - primitiveBuffer.camera.set(0, 0) + parameters.camera.set(0, 0) } override fun setClip( @@ -471,11 +473,11 @@ class DefaultVirtualFrameBuffer( width: Int, height: Int, ) { - primitiveBuffer.clipper.set(x, y, width, height) + parameters.clipper.set(x, y, width, height) } override fun resetClip() { - primitiveBuffer.clipper.reset() + parameters.clipper.reset() } override fun setDrawMode(mode: DrawingMode) { diff --git a/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/render/VirtualFrameBuffer.kt b/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/render/VirtualFrameBuffer.kt index fddc727b..7859c266 100644 --- a/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/render/VirtualFrameBuffer.kt +++ b/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/render/VirtualFrameBuffer.kt @@ -61,7 +61,7 @@ interface VirtualFrameBuffer { y: Pixel, width: Pixel, height: Pixel, - colorIndex: ColorIndex, + color: ColorIndex, filled: Boolean, ) @@ -73,7 +73,7 @@ interface VirtualFrameBuffer { y1: Pixel, x2: Pixel, y2: Pixel, - colorIndex: ColorIndex, + color: ColorIndex, ) /** diff --git a/tiny-engine/src/commonTest/kotlin/com/github/minigdx/tiny/platform/test/HeadlessPlatform.kt b/tiny-engine/src/commonTest/kotlin/com/github/minigdx/tiny/platform/test/HeadlessPlatform.kt index 80014e85..4b9dfb47 100644 --- a/tiny-engine/src/commonTest/kotlin/com/github/minigdx/tiny/platform/test/HeadlessPlatform.kt +++ b/tiny-engine/src/commonTest/kotlin/com/github/minigdx/tiny/platform/test/HeadlessPlatform.kt @@ -1,13 +1,10 @@ package com.github.minigdx.tiny.platform.test import com.danielgergely.kgl.Kgl -import com.github.minigdx.tiny.ColorIndex -import com.github.minigdx.tiny.Pixel import com.github.minigdx.tiny.engine.GameLoop import com.github.minigdx.tiny.engine.GameOptions import com.github.minigdx.tiny.file.SourceStream -import com.github.minigdx.tiny.graphic.FrameBuffer -import com.github.minigdx.tiny.graphic.PixelArray +import com.github.minigdx.tiny.graphic.FrameBufferParameters import com.github.minigdx.tiny.input.InputHandler import com.github.minigdx.tiny.input.InputManager import com.github.minigdx.tiny.lua.Note @@ -17,7 +14,6 @@ import com.github.minigdx.tiny.platform.SoundData import com.github.minigdx.tiny.platform.WindowManager import com.github.minigdx.tiny.platform.performance.PerformanceMetrics import com.github.minigdx.tiny.platform.performance.PerformanceMonitor -import com.github.minigdx.tiny.render.RenderFrame import com.github.minigdx.tiny.sound.ChunkGenerator import com.github.minigdx.tiny.sound.Instrument import com.github.minigdx.tiny.sound.SoundHandler @@ -63,7 +59,7 @@ class HeadlessPlatform( ) : Platform { private val input = VirtualInputHandler() - val frames: MutableFixedSizeList = MutableFixedSizeList(frames) + val frames: MutableFixedSizeList = MutableFixedSizeList(frames) private var gameLoop: GameLoop? = null @@ -186,26 +182,6 @@ class HeadlessPlatform( TODO("Not yet implemented") } - fun saveAnimation(name: String) = toGif(name, frames) - - class FrameBufferFrame(frameBuffer: FrameBuffer) : RenderFrame { - private val frameBuffer = - FrameBuffer(frameBuffer.width, frameBuffer.height, frameBuffer.gamePalette).apply { - this.fastCopyFrom(frameBuffer) - } - - override fun copyInto(pixelArray: PixelArray) { - pixelArray.copyFrom(frameBuffer.colorIndexBuffer) - } - - override fun getPixel( - x: Pixel, - y: Pixel, - ): ColorIndex { - return frameBuffer.pixel(x, y) - } - } - override fun saveIntoHome( name: String, content: String, diff --git a/tiny-engine/src/commonTest/kotlin/com/github/minigdx/tiny/platform/test/TestHelper.kt b/tiny-engine/src/commonTest/kotlin/com/github/minigdx/tiny/platform/test/TestHelper.kt deleted file mode 100644 index 8a797a97..00000000 --- a/tiny-engine/src/commonTest/kotlin/com/github/minigdx/tiny/platform/test/TestHelper.kt +++ /dev/null @@ -1,82 +0,0 @@ -package com.github.minigdx.tiny.platform.test - -import com.github.minigdx.tiny.engine.GameEngine -import com.github.minigdx.tiny.engine.GameOptions -import com.github.minigdx.tiny.file.CommonVirtualFileSystem -import com.github.minigdx.tiny.graphic.FrameBuffer -import com.github.minigdx.tiny.log.StdOutLogger -import com.github.minigdx.tiny.platform.ImageData -import kotlinx.coroutines.CoroutineScope -import kotlinx.coroutines.Dispatchers -import kotlinx.coroutines.ExperimentalCoroutinesApi -import kotlinx.coroutines.async -import kotlin.test.assertEquals - -expect fun toGif( - name: String, - animation: List, -) - -object TestHelper { - fun assertEquals( - expected: String, - current: FrameBuffer, - ) { - assertEquals(expected.trim(), current.colorIndexBuffer.toString().trim()) - } - - fun test( - name: String, - script: String, - block: suspend (platform: HeadlessPlatform) -> Unit, - ) { - test(name, script, 10 to 10, block) - } - - val testScope = CoroutineScope(Dispatchers.Unconfined) - - @OptIn(ExperimentalCoroutinesApi::class) - fun test( - name: String, - script: String, - size: Pair, - block: suspend (platform: HeadlessPlatform) -> Unit, - ) { - val colors = - listOf( - "#000000", - "#FFFFFF", - "#FF0000", - ) - - val resources = - mapOf( - "game.lua" to script, - "_boot.lua" to "tiny.exit(0)", - "_engine.lua" to "", - "_boot.png" to ImageData(ByteArray(0), 0, 0), - ) - - val (w, h) = size - val gameOptions = GameOptions(w, h, colors, listOf("game.lua"), emptyList()) - val platform = HeadlessPlatform(gameOptions, resources) - - GameEngine( - gameOptions = gameOptions, - platform = platform, - vfs = CommonVirtualFileSystem(), - logger = StdOutLogger("test"), - ).main() - - val result = - CoroutineScope(Dispatchers.Unconfined).async { - block(platform) - } - - platform.saveAnimation(name) - - if (result.isCancelled) { - throw result.getCompletionExceptionOrNull()!! - } - } -} diff --git a/tiny-engine/src/commonTest/kotlin/integration/CoroutineTest.kt b/tiny-engine/src/commonTest/kotlin/integration/CoroutineTest.kt deleted file mode 100644 index f8d837c5..00000000 --- a/tiny-engine/src/commonTest/kotlin/integration/CoroutineTest.kt +++ /dev/null @@ -1,64 +0,0 @@ -package integration - -import com.github.minigdx.tiny.platform.test.TestHelper -import kotlin.test.Ignore -import kotlin.test.Test - -@Ignore -class CoroutineTest { - //language=Lua - val clsScript = - """ - local co = coroutine.create(function() - gfx.cls(2) - coroutine.yield() - gfx.cls(1) - coroutine.yield() - - end) - - function _draw() - coroutine.resume(co) - end - """.trimIndent() - - @Test - fun cls() = - TestHelper.test("cls", clsScript) { platform -> - platform.advance() - - TestHelper.assertEquals( - """ -2222222222 -2222222222 -2222222222 -2222222222 -2222222222 -2222222222 -2222222222 -2222222222 -2222222222 -2222222222 -""", - platform.frames.last(), - ) - - platform.advance() - - TestHelper.assertEquals( - """ -1111111111 -1111111111 -1111111111 -1111111111 -1111111111 -1111111111 -1111111111 -1111111111 -1111111111 -1111111111 -""", - platform.frames.last(), - ) - } -} diff --git a/tiny-engine/src/commonTest/kotlin/integration/GfxTest.kt b/tiny-engine/src/commonTest/kotlin/integration/GfxTest.kt deleted file mode 100644 index 44d5c94d..00000000 --- a/tiny-engine/src/commonTest/kotlin/integration/GfxTest.kt +++ /dev/null @@ -1,39 +0,0 @@ -package integration - -import com.github.minigdx.tiny.platform.test.TestHelper.assertEquals -import com.github.minigdx.tiny.platform.test.TestHelper.test -import kotlin.test.Ignore -import kotlin.test.Test -import kotlin.test.assertEquals - -@Ignore -class GfxTest { - val clsScript = - """ - function _draw() - gfx.cls(2) - end - """.trimIndent() - - @Test - fun cls() = - test("cls", clsScript) { platform -> - platform.advance() - - assertEquals( - """ -2222222222 -2222222222 -2222222222 -2222222222 -2222222222 -2222222222 -2222222222 -2222222222 -2222222222 -2222222222 -""", - platform.frames.last(), - ) - } -} diff --git a/tiny-engine/src/commonTest/kotlin/integration/ShapeTest.kt b/tiny-engine/src/commonTest/kotlin/integration/ShapeTest.kt deleted file mode 100644 index e628042f..00000000 --- a/tiny-engine/src/commonTest/kotlin/integration/ShapeTest.kt +++ /dev/null @@ -1,133 +0,0 @@ -package integration - -import com.github.minigdx.tiny.platform.test.TestHelper -import com.github.minigdx.tiny.platform.test.TestHelper.test -import kotlin.test.Ignore -import kotlin.test.Test - -@Ignore -class ShapeTest { - //language=Lua - private val circlefScript = - """ - function _draw() - gfx.cls(1) - shape.circlef(5, 5, 3, 2) - end - """.trimIndent() - - @Test - fun circlef() = - test("circlef", circlefScript) { platform -> - platform.advance() - - TestHelper.assertEquals( - """ -1111111111 -1111111111 -1111222111 -1112222211 -1122222221 -1122222221 -1122222221 -1112222211 -1111222111 -1111111111 -""", - platform.frames.last(), - ) - } - - //language=Lua - private val trianglefScript = - """ - function _draw() - gfx.cls(1) - shape.trianglef(0, 0, 0, 10, 10, 0, 2) - end - """.trimIndent() - - @Test - fun trianglef() = - test("trianglef", trianglefScript) { platform -> - platform.advance() - - TestHelper.assertEquals( - """ -2222222222 -2222222221 -2222222211 -2222222111 -2222221111 -2222211111 -2222111111 -2221111111 -2211111111 -2111111111 -""", - platform.frames.last(), - ) - } - - //language=Lua - private val rectfScript = - """ - function _draw() - gfx.cls(1) - shape.rectf(0, 0, 5, 10, 2) - end - """.trimIndent() - - @Test - fun rectf() = - test("rectf", rectfScript) { platform -> - platform.advance() - - TestHelper.assertEquals( - """ -2222211111 -2222211111 -2222211111 -2222211111 -2222211111 -2222211111 -2222211111 -2222211111 -2222211111 -2222211111 -""", - platform.frames.last(), - ) - } - - //language=Lua - private val gradientScript = - """ - function _draw() - gfx.cls(1) - shape.gradient(0, 0, 5, 10, 2, 3) - end - """.trimIndent() - - @Test - fun gradient() = - test("gradient", gradientScript) { platform -> - platform.advance() - - TestHelper.assertEquals( - """ -2222211111 -2322231111 -2232211111 -2323231111 -3232311111 -3323331111 -3232311111 -3333331111 -3332331111 -3333311111 -""", - platform.frames.last(), - ) - } -} diff --git a/tiny-engine/src/jsTest/kotlin/com/github/minigdx/tiny/platform/test/TestHelper.js.kt b/tiny-engine/src/jsTest/kotlin/com/github/minigdx/tiny/platform/test/TestHelper.js.kt deleted file mode 100644 index c9fb3127..00000000 --- a/tiny-engine/src/jsTest/kotlin/com/github/minigdx/tiny/platform/test/TestHelper.js.kt +++ /dev/null @@ -1,8 +0,0 @@ -package com.github.minigdx.tiny.platform.test - -import com.github.minigdx.tiny.graphic.FrameBuffer - -actual fun toGif( - name: String, - animation: List, -) = Unit diff --git a/tiny-engine/src/jvmTest/kotlin/com/github/minigdx/tiny/platform/test/TestHelper.jvm.kt b/tiny-engine/src/jvmTest/kotlin/com/github/minigdx/tiny/platform/test/TestHelper.jvm.kt deleted file mode 100644 index 6b5b84bd..00000000 --- a/tiny-engine/src/jvmTest/kotlin/com/github/minigdx/tiny/platform/test/TestHelper.jvm.kt +++ /dev/null @@ -1,43 +0,0 @@ -package com.github.minigdx.tiny.platform.test - -import com.github.minigdx.tiny.graphic.FrameBuffer -import com.squareup.gifencoder.FastGifEncoder -import com.squareup.gifencoder.ImageOptions -import java.io.FileOutputStream -import java.util.concurrent.TimeUnit - -actual fun toGif( - name: String, - animation: List, -) { - val options = - ImageOptions().apply { - this.setDelay(20, TimeUnit.MILLISECONDS) - } - FileOutputStream("build/test-results/jvmTest/$name.gif").use { out -> - val reference = animation.first() - - fun convert(data: ByteArray): IntArray { - val result = IntArray(data.size) - val colorPalette = reference.gamePalette - data.forEachIndexed { index, byte -> - result[index] = colorPalette.getRGAasInt(byte.toInt()) - } - return result - } - - val encoder = - FastGifEncoder( - out, - reference.width, - reference.height, - 0, - reference.gamePalette, - ) - - animation.forEach { img -> - encoder.addImage(convert(img.generateBuffer()), reference.width, options) - } - encoder.finishEncoding() - } -} From 5bff6c0165b305e83939510c7353768638c705d4 Mon Sep 17 00:00:00 2001 From: David Wursteisen Date: Tue, 4 Nov 2025 00:25:19 +0100 Subject: [PATCH 02/17] Fix gfx.camera --- .../github/minigdx/tiny/graphic/Clipper.kt | 10 + .../minigdx/tiny/input/internal/ObjectPool.kt | 8 +- .../tiny/render/DefaultVirtualFrameBuffer.kt | 188 ++++++++++++++---- .../tiny/render/batch/SpriteBatchKey.kt | 16 +- 4 files changed, 165 insertions(+), 57 deletions(-) diff --git a/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/graphic/Clipper.kt b/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/graphic/Clipper.kt index 3c70d4f4..91eecad3 100644 --- a/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/graphic/Clipper.kt +++ b/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/graphic/Clipper.kt @@ -49,4 +49,14 @@ class Clipper(private val width: Pixel, private val height: Pixel) { left == o.left && right == o.right && top == o.top && bottom == o.bottom } + + override fun hashCode(): Int { + var result = width + result = 31 * result + height + result = 31 * result + left + result = 31 * result + right + result = 31 * result + top + result = 31 * result + bottom + return result + } } diff --git a/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/input/internal/ObjectPool.kt b/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/input/internal/ObjectPool.kt index ddc3927c..dfec7e35 100644 --- a/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/input/internal/ObjectPool.kt +++ b/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/input/internal/ObjectPool.kt @@ -21,9 +21,11 @@ abstract class ObjectPool(private val size: Int) { return result } - fun free(obj: T) { - destroyInstance(obj) - pool.add(obj) + fun free(vararg objs: T) { + objs.forEach { obj -> + destroyInstance(obj) + pool.add(obj) + } } fun free(objs: Iterable) { diff --git a/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/render/DefaultVirtualFrameBuffer.kt b/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/render/DefaultVirtualFrameBuffer.kt index c90e522c..f8225eb5 100644 --- a/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/render/DefaultVirtualFrameBuffer.kt +++ b/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/render/DefaultVirtualFrameBuffer.kt @@ -37,6 +37,7 @@ import com.github.minigdx.tiny.Pixel import com.github.minigdx.tiny.engine.GameOptions import com.github.minigdx.tiny.graphic.FrameBufferParameters import com.github.minigdx.tiny.graphic.PixelFormat +import com.github.minigdx.tiny.input.internal.ObjectPool import com.github.minigdx.tiny.platform.DrawingMode import com.github.minigdx.tiny.platform.WindowManager import com.github.minigdx.tiny.platform.performance.PerformanceMonitor @@ -53,6 +54,9 @@ import com.github.minigdx.tiny.render.gl.OpenGLFrame import com.github.minigdx.tiny.render.gl.PrimitiveBatchStage import com.github.minigdx.tiny.render.gl.SpriteBatchStage import com.github.minigdx.tiny.resources.SpriteSheet +import kotlin.math.abs +import kotlin.math.max +import kotlin.math.min class DefaultVirtualFrameBuffer( private val kgl: Kgl, @@ -90,6 +94,16 @@ class DefaultVirtualFrameBuffer( private val monocolors = createFontPalettes() + private val boundingBoxPool = object : ObjectPool(100) { + override fun newInstance(): BoundingBox { + return BoundingBox(0, 0, 0, 0) + } + + override fun destroyInstance(obj: BoundingBox) { + obj.reset() + } + } + override fun init(windowManager: WindowManager) { spriteBatchStage.init() primitiveBatchStage.init() @@ -164,7 +178,7 @@ class DefaultVirtualFrameBuffer( destinationY: Pixel, flipX: Boolean, flipY: Boolean, - ) { + ) = isInFrame(destinationX, destinationY, sourceWidth, sourceHeight) { invalidateCachedReadFrame() updateDepthIndex(source) @@ -175,8 +189,6 @@ class DefaultVirtualFrameBuffer( source, parameters.blender.dithering, monocolors[palColor], - parameters.camera, - parameters.clipper, ) val instance = spriteBatchManager.createInstance() instance.set( @@ -184,8 +196,8 @@ class DefaultVirtualFrameBuffer( sourceY, sourceWidth, sourceHeight, - destinationX, - destinationY, + destinationX - parameters.camera.x, + destinationY - parameters.camera.y, flipX, flipY, currentDepth, @@ -203,7 +215,7 @@ class DefaultVirtualFrameBuffer( destinationY: Pixel, flipX: Boolean, flipY: Boolean, - ) { + ) = isInFrame(destinationX, destinationY, sourceWidth, sourceHeight) { invalidateCachedReadFrame() updateDepthIndex(source) val key = spriteBatchManager.createKey() @@ -211,8 +223,6 @@ class DefaultVirtualFrameBuffer( source, parameters.blender.dithering, parameters.blender.palette(), - parameters.camera, - parameters.clipper, ) val instance = spriteBatchManager.createInstance() instance.set( @@ -220,8 +230,8 @@ class DefaultVirtualFrameBuffer( sourceY, sourceWidth, sourceHeight, - destinationX, - destinationY, + destinationX - parameters.camera.x, + destinationY - parameters.camera.y, flipX, flipY, currentDepth, @@ -236,13 +246,13 @@ class DefaultVirtualFrameBuffer( height: Pixel, color: ColorIndex, filled: Boolean, - ) { + ) = isInFrame(x, y, width, height) { invalidateCachedReadFrame() updateDepthIndex(null) val key = primitiveBatchManager.createKey() val instance = primitiveBatchManager.createInstance().setRect( - x, - y, + x - parameters.camera.x, + y - parameters.camera.y, width, height, filled = filled, @@ -259,15 +269,20 @@ class DefaultVirtualFrameBuffer( x2: Pixel, y2: Pixel, color: ColorIndex, + ) = isInFrame( + x = min(x1, x2), + y = min(y1, y2), + width = abs(x2 - x1) + 1, + height = abs(y2 - y1) + 1, ) { invalidateCachedReadFrame() updateDepthIndex(null) val key = primitiveBatchManager.createKey() val instance = primitiveBatchManager.createInstance().setLine( - x1, - y1, - x2, - y2, + x1 - parameters.camera.x, + y1 - parameters.camera.y, + x2 - parameters.camera.x, + y2 - parameters.camera.y, color = parameters.blender.palette()[color], dither = parameters.blender.dithering, depth = currentDepth, @@ -281,13 +296,13 @@ class DefaultVirtualFrameBuffer( radius: Pixel, color: ColorIndex, filled: Boolean, - ) { + ) = isInFrame(centerX - radius, centerY - radius, radius * 2, radius * 2) { invalidateCachedReadFrame() updateDepthIndex(null) val key = primitiveBatchManager.createKey() val instance = primitiveBatchManager.createInstance().setCircle( - centerX, - centerY, + centerX - parameters.camera.x, + centerY - parameters.camera.y, radius, filled = filled, color = parameters.blender.palette()[color], @@ -301,13 +316,13 @@ class DefaultVirtualFrameBuffer( x: Pixel, y: Pixel, color: ColorIndex, - ) { + ) = isInFrame(x, y, 1, 1) { invalidateCachedReadFrame() updateDepthIndex(null) val key = primitiveBatchManager.createKey() val instance = primitiveBatchManager.createInstance().setPoint( - x, - y, + x - parameters.camera.x, + y - parameters.camera.y, color = parameters.blender.palette()[color], dither = parameters.blender.dithering, depth = currentDepth, @@ -325,22 +340,33 @@ class DefaultVirtualFrameBuffer( color: ColorIndex, filled: Boolean, ) { - invalidateCachedReadFrame() - updateDepthIndex(null) - val key = primitiveBatchManager.createKey() - val instance = primitiveBatchManager.createInstance().setTriangle( - x1, - y1, - x2, - y2, - x3, - y3, - parameters.blender.palette()[color], - parameters.blender.dithering, - filled, - depth = currentDepth, - ) - primitiveBatchManager.submit(key, instance) + val x = min(min(x1, x2), x3) + val y = min(min(y1, y2), y3) + val width = max(max(x1, x2), x3) - x + val height = max(max(y1, y2), y3) - y + isInFrame( + x = x, + y = y, + width = width, + height = height, + ) { + invalidateCachedReadFrame() + updateDepthIndex(null) + val key = primitiveBatchManager.createKey() + val instance = primitiveBatchManager.createInstance().setTriangle( + x1 - parameters.camera.x, + y1 - parameters.camera.y, + x2 - parameters.camera.x, + y2 - parameters.camera.y, + x3 - parameters.camera.x, + y3 - parameters.camera.y, + parameters.blender.palette()[color], + parameters.blender.dithering, + filled, + depth = currentDepth, + ) + primitiveBatchManager.submit(key, instance) + } } private fun renderAllInFrameBuffer() { @@ -542,6 +568,90 @@ class DefaultVirtualFrameBuffer( kgl.bindFramebuffer(GL_FRAMEBUFFER, null) } + /** + * perform the action if the entity describe by the bounding box (x, y, width, height) + * is in the clip zone of the camera. + * + * Do nothing otherwise. + */ + private fun isInFrame( + x: Int, + y: Int, + width: Int, + height: Int, + action: () -> Unit, + ) { + val obj = boundingBoxPool.obtain().set(x, y, width, height) + val camera = boundingBoxPool.obtain().set( + x = parameters.camera.x, + y = parameters.camera.y, + width = gameOptions.width, + height = gameOptions.height, + ) + val clipper = boundingBoxPool.obtain().set( + x = parameters.camera.x + parameters.clipper.left, + y = parameters.camera.y + parameters.clipper.top, + width = parameters.clipper.right, + height = parameters.clipper.bottom, + ) + + val drawingZone = boundingBoxPool.obtain() + + intersection(camera, clipper, drawingZone) + + if (overlap(obj, drawingZone)) { + action() + } + + boundingBoxPool.free(obj, camera, clipper, drawingZone) + } + + data class BoundingBox(var x: Int, var y: Int, var width: Int, var height: Int) { + fun reset() { + set(0, 0, 0, 0) + } + + fun set( + x: Int, + y: Int, + width: Int, + height: Int, + ): BoundingBox { + this.x = x + this.y = y + this.width = width + this.height = height + return this + } + } + + private fun intersection( + a: BoundingBox, + b: BoundingBox, + result: BoundingBox, + ) { + val x1 = maxOf(a.x, b.x) + val y1 = maxOf(a.y, b.y) + val x2 = minOf(a.x + a.width, b.x + b.width) + val y2 = minOf(a.y + a.height, b.y + b.height) + + result.x = x1 + result.y = y1 + result.width = maxOf(0, x2 - x1) + result.height = maxOf(0, y2 - y1) + } + + private fun overlap( + a: BoundingBox, + b: BoundingBox, + ): Boolean { + val result = boundingBoxPool.obtain() + intersection(a, b, result) + val isOverlap = result.width > 0 && result.height > 0 + boundingBoxPool.free(result) + return isOverlap + } + companion object { private const val DEPTH_STEP = 0.0001f } diff --git a/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/render/batch/SpriteBatchKey.kt b/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/render/batch/SpriteBatchKey.kt index d901a805..8f3dbb71 100644 --- a/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/render/batch/SpriteBatchKey.kt +++ b/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/render/batch/SpriteBatchKey.kt @@ -1,8 +1,6 @@ package com.github.minigdx.tiny.render.batch import com.github.minigdx.tiny.ColorIndex -import com.github.minigdx.tiny.graphic.Camera -import com.github.minigdx.tiny.graphic.Clipper import com.github.minigdx.tiny.resources.SpriteSheet /** @@ -15,8 +13,6 @@ class SpriteBatchKey( var _spriteSheet: SpriteSheet? = null, var dither: Int = 0, var palette: Array = emptyArray(), - var camera: Camera? = null, - var clipper: Clipper? = null, ) : BatchKey { val spriteSheet: SpriteSheet get() = _spriteSheet!! @@ -25,14 +21,10 @@ class SpriteBatchKey( spriteSheet: SpriteSheet, dither: Int, palette: Array, - camera: Camera?, - clipper: Clipper?, ): SpriteBatchKey { this._spriteSheet = spriteSheet this.dither = dither this.palette = palette - this.camera = camera - this.clipper = clipper return this } @@ -41,8 +33,6 @@ class SpriteBatchKey( this._spriteSheet = null this.dither = 0 this.palette = emptyArray() - this.camera = null - this.clipper = null } override fun equals(other: Any?): Boolean { @@ -50,17 +40,13 @@ class SpriteBatchKey( if (other !is SpriteBatchKey) return false return _spriteSheet == other._spriteSheet && dither == other.dither && - palette.contentEquals(other.palette) && - camera == other.camera && - clipper == other.clipper + palette.contentEquals(other.palette) } override fun hashCode(): Int { var result = dither result = 31 * result + (_spriteSheet?.hashCode() ?: 0) result = 31 * result + palette.contentHashCode() - result = 31 * result + (camera?.hashCode() ?: 0) - result = 31 * result + (clipper?.hashCode() ?: 0) return result } } From 8c0216dd70c63d574e3c53b4e60120646bb9f4a3 Mon Sep 17 00:00:00 2001 From: David Wursteisen Date: Tue, 4 Nov 2025 00:51:42 +0100 Subject: [PATCH 03/17] Fix render glitch with triangle: one side was disappearing. --- .../tiny/render/batch/PrimitiveInstance.kt | 33 ++++++++++++------- 1 file changed, 21 insertions(+), 12 deletions(-) diff --git a/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/render/batch/PrimitiveInstance.kt b/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/render/batch/PrimitiveInstance.kt index 72db1214..85e0ffa8 100644 --- a/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/render/batch/PrimitiveInstance.kt +++ b/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/render/batch/PrimitiveInstance.kt @@ -55,21 +55,30 @@ class PrimitiveInstance( type = 1 // Find the most left x coordinate meshX = min(min(x1, x2), x3) - // Find the most botton coordinate + // Find the topmost y coordinate (minimum y value) meshY = min(min(y1, y2), y3) - meshWidth = max(max(x1, x2), x3) - meshX - meshHeight = max(max(y1, y2), y3) - meshY + meshWidth = max(max(x1, x2), x3) - meshX + 1 + meshHeight = max(max(y1, y2), y3) - meshY + 1 - // Set the edges the lines are always from left to right - val (a, b, c) = listOf(x1 to y1, x2 to y2, x3 to y3).sortedBy { it.first } + // The shader creates three edges from vertices: p0→p1, p0→p2, p1→p2 + // We need to arrange the original triangle vertices (v1, v2, v3) as (p0, p1, p2) + // such that all three shader edges go from left to right - // Set the triangle inside the mesh - parameters[0] = a.first - parameters[1] = a.second - parameters[2] = b.first - parameters[3] = b.second - parameters[4] = c.first - parameters[5] = c.second + // Sort vertices by x-coordinate to get leftmost, middle, rightmost + val sortedVertices = listOf(x1 to y1, x2 to y2, x3 to y3).sortedBy { it.first } + val left = sortedVertices[0] + val middle = sortedVertices[1] + val right = sortedVertices[2] + + // Assign p0=leftmost ensures p0→p1 and p0→p2 go left-to-right + // Assign p1=middle, p2=right ensures p1→p2 goes left-to-right + // All three shader edges (p0→p1, p0→p2, p1→p2) now go left-to-right + parameters[0] = left.first + parameters[1] = left.second + parameters[2] = middle.first + parameters[3] = middle.second + parameters[4] = right.first + parameters[5] = right.second this.filled = filled this.color = color From fde79d5ea2fa21c1f0d8be053fd17593cd214ad2 Mon Sep 17 00:00:00 2001 From: David Wursteisen Date: Tue, 4 Nov 2025 00:52:31 +0100 Subject: [PATCH 04/17] Update sample --- tiny-doc/src/docs/asciidoc/sample/index.html | 6 +- .../src/docs/asciidoc/sample/tiny-engine.js | 66 +++++++++---------- 2 files changed, 36 insertions(+), 36 deletions(-) diff --git a/tiny-doc/src/docs/asciidoc/sample/index.html b/tiny-doc/src/docs/asciidoc/sample/index.html index d66aa4db..cb9d2958 100644 --- a/tiny-doc/src/docs/asciidoc/sample/index.html +++ b/tiny-doc/src/docs/asciidoc/sample/index.html @@ -4,9 +4,9 @@ Tiny - Platform game - - - + + +
diff --git a/tiny-doc/src/docs/asciidoc/sample/tiny-engine.js b/tiny-doc/src/docs/asciidoc/sample/tiny-engine.js index 44a887c9..156811bc 100644 --- a/tiny-doc/src/docs/asciidoc/sample/tiny-engine.js +++ b/tiny-doc/src/docs/asciidoc/sample/tiny-engine.js @@ -1,32 +1,32 @@ -import{i as P,I as fr,V as l,a as p,by as zr,ak as Mg,a8 as N,bz as yr,bA as na,b1 as lt,bB as Ht,bC as T,bD as Gs,bq as Ni,bE as C$,bF as x$,bG as N1,bk as sa,aS as Ot,bH as ae,ai as et,bI as ja,bJ as vr,bK as hr,ay as ar,w as j,j as E,m as V,bL as Pr,bM as Mr,bN as Vt,y as H,d as $,aJ as Br,bO as wa,bP as ot,W as gt,n as S,aX as Rt,ae as Kt,bQ as $t,aF as ze,s as Li,b as tn,g as $5,u as bt,bR as S$,bS as Tg,bT as ai,aI as De,bU as Vn,bV as z$,T as m,E as Pe,bW as q$,bX as Js,O as I$,bY as Ct,bZ as ga,L as yt,b_ as Fg,l as nr,o as Ar,D as F,b$ as $$,bn as Dg,c0 as ya,Q as ba,e as Ke,ah as er,c1 as A$,x as O,c2 as E$,f as Pg,c3 as Bm,c4 as N$,c5 as A5,N as Bg,c6 as Og,a3 as Wt,c7 as Rg,b4 as Ug,c8 as E5,t as Wr,c9 as en,c as or,bs as kt,ca as Be,br as ge,av as C,bv as xr,aQ as Tr,aP as Lr,b8 as _r,a$ as ji,cb as Om,aa as On,k as br,h as Je,bx as N5,cc as xt,cd as L$,aW as Ur,a_ as J,ce as Rm,cf as Um,cg as Km,ch as Gm,ci as Mi,cj as Ti,ck as j$,cl as L5,X as sd,cm as Kg,cn as Gg,co as Jg,cp as Wg,b9 as Hg,cq as M$,cr as Vg,cs as Jr,ct as Yg,ax as Z,cu as Ws,cv as ka,cw as qn,cx as ld,cy as j5,cz as In,cA as ud,cB as M5,cC as $n,cD as _d,cE as T5,cF as An,az as od,cG as Zg,cH as T$,cI as Xg,aA as Et,cJ as Qg,cK as lr,cL as ur,aY as oe,aC as ce,cM as Hs,cN as Vs,cO as ry,cP as F$,cQ as D$,cR as P$,cS as ty,aD as Ys,cT as ey,cU as Zs,cV as cd,cW as Xs,al as Qs,cX as B$,cY as F5,cZ as r1,c_ as Fi,c$ as hd,aO as wi,d0 as O$,d1 as ny,d2 as L1,b6 as ay,d3 as j1,d4 as M1,d5 as T1,d6 as fd,d7 as gi,d8 as R$,d9 as U$,da as F1,db as yi,dc as K$,dd as G$,de as D1,df as bi,dg as J$,dh as W$,di as P1,dj as ki,dk as H$,dl as V$,dm as B1,dn as Jm,dp as Wm,dq as Di,dr as Hm,ds as Y$,dt as Pi,du as Vm,dv as Ym,dw as Z$,dx as Bi,dy as Zm,dz as X$,aT as Oi,dA as Xm,dB as Q$,dC as Qm,dD as rw,dE as tw,dF as ew,dG as Ri,dH as D5,dI as t1,dJ as r7,dK as iy,dL as t7,dM as e7,dN as n7,dO as vd,dP as sy,dQ as a7,aN as i7,bw as Nr,dR as nw,dS as aw,dT as s7,ap as iw,dU as ye,aH as l7,bb as ly,dV as u7,ba as Ui,dW as Yt,dX as la,dY as ua,J as Ca,dZ as P5,d_ as pd,d$ as dd,e0 as md,aw as Nn,e1 as uy,e2 as _7,e3 as o7,e4 as c7,aj as at,e5 as h7,e6 as _y,e7 as f7,e8 as v7,e9 as nn,ea as B5,eb as O5,ec as p7,ed as e1,bi as xa,ee as d7,ef as oy,eg as m7,eh as w7,ei as g7,ej as cy,ek as y7,el as b7,em as k7,en as C7,eo as x7,ep as S7,ar as Rr,b3 as an,eq as sw,er as z7,_ as q7,es as I7,a9 as st,et as R5,eu as lw,aE as Xt,ev as U5,ew as $7,ex as Zt,ey as A7,ez as E7,p as n1,eA as Ma,eB as wd,eC as N7,bu as L7,eD as j7,bc as hy,bd as M7,eE as fy,eF as uw,eG as Fe,eH as T7,U as F7,eI as D7,eJ as _w,eK as P7,eL as B7,eM as gd,eN as O7,eO as vy,eP as R7,eQ as U7,eR as We,eS as Sa,eT as K7,eU as G7,eV as J7,eW as ow,eX as cw,eY as W7,eZ as H7,e_ as V7,e$ as Y7,f0 as Z7,f1 as X7,f2 as Q7,f3 as rA,ao as tA,an as hw,bl as eA,f4 as nA,f5 as ii}from"./chunks/kotlin-stdlib-BsT14tOD.js";import{a as yd,D as K5,l as bd,b as kd,f as aA,F as ie,d as fw,o as Ki,c as iA,e as py,g as He,h as sA,_ as lA,i as uA,j as _A}from"./chunks/kotlin-coroutines-Ds1_bjPT.js";import{T as kr,L as sr,C as g,O as pr,a as gr,b as a1,B as oA,c as cA,V as Qt,Z as dy,d as fn,e as Ft,M as hA,G as fA,P as vA,f as pA,g as dA,S as mA,h as wA,i as gA,j as yA}from"./chunks/lua-CGDbY_QJ.js";(function(){const i=document.createElement("link").relList;if(i&&i.supports&&i.supports("modulepreload"))return;for(const n of document.querySelectorAll('link[rel="modulepreload"]'))t(n);new MutationObserver(n=>{for(const a of n)if(a.type==="childList")for(const s of a.addedNodes)s.tagName==="LINK"&&s.rel==="modulepreload"&&t(s)}).observe(document,{childList:!0,subtree:!0});function r(n){const a={};return n.integrity&&(a.integrity=n.integrity),n.referrerPolicy&&(a.referrerPolicy=n.referrerPolicy),n.crossOrigin==="use-credentials"?a.credentials="include":n.crossOrigin==="anonymous"?a.credentials="omit":a.credentials="same-origin",a}function t(n){if(n.ep)return;n.ep=!0;const a=r(n);fetch(n.href,a)}})();var O1;function bA(){if(O1===l){class e{c4c(r,t){if(!r)throw fr().u3(t())}}P(e,"Assert"),O1=e}return O1}var sn;sn=new(bA());var si=Math.imul;function vw(e,i){var r=i[0]&255,t=i[1]&255,n=i[2]&255,a=i[3]&255;return r<<24|t<<16|n<<8|a}function pw(e,i){var r=x$(i,"#",""),t=N1(sa(r,0,2),16),n=N1(sa(r,2,4),16),a=N1(sa(r,4,6),16),s=255;return new Int8Array([Ot(t),Ot(n),Ot(a),Ot(s)])}function kA(e,i,r,t,n,a,s,u,_){var o=Mr(i),c=Mr(a),h=hr(Pr(o)&255),f=hr(Pr(c)&255),v=hr(vr(h)-vr(f)|0),d=Mr(i),y=Mr(a),b=hr(Pr(d)&255),w=hr(Pr(y)&255),x=hr(vr(b)-vr(w)|0),q=hr(si(vr(v),vr(x))),k=Mr(r),A=Mr(s),D=hr(Pr(k)&255),B=hr(Pr(A)&255),R=hr(vr(D)-vr(B)|0),W=Mr(r),G=Mr(s),Q=hr(Pr(W)&255),X=hr(Pr(G)&255),rr=hr(vr(Q)-vr(X)|0),tr=hr(si(vr(R),vr(rr))),ir=Mr(t),dr=Mr(u),cr=hr(Pr(ir)&255),mr=hr(Pr(dr)&255),Dr=hr(vr(cr)-vr(mr)|0),Ir=Mr(t),Or=Mr(u),Yr=hr(Pr(Ir)&255),Gr=hr(Pr(Or)&255),Er=hr(vr(Yr)-vr(Gr)|0),ft=hr(si(vr(Dr),vr(Er))),vt=Mr(n),jt=Mr(_),tt=hr(Pr(vt)&255),qt=hr(Pr(jt)&255),pt=hr(vr(tt)-vr(qt)|0),It=Mr(n),Mt=Mr(_),fe=hr(Pr(It)&255),Tt=hr(Pr(Mt)&255),Ee=hr(vr(fe)-vr(Tt)|0),ve=hr(si(vr(pt),vr(Ee))),Wn=hr(vr(q)+vr(tr)|0),Hn=hr(vr(Wn)+vr(ft)|0),Cn=hr(vr(Hn)+vr(ve)|0);return vr(Cn)}var R1;function CA(){if(R1===l){class e{constructor(){G5=this;var r=this;r.n4b_1=new Int8Array([0,0,0,0]),this.o4b_1=0}}ar(e),R1=e}return R1}var G5;function dw(){return G5===l&&new(CA()),G5}var U1;function xA(){if(U1===l){class e{constructor(r){this.p4b_1=r}hh(r,t){return this.p4b_1(r,t)}compare(r,t){return this.hh(r,t)}o3(){return this.p4b_1}equals(r){var t;if(r!=null&&j(r,ae())){var n;r!=null&&j(r,et())?n=E(this.o3(),r.o3()):n=!1,t=n}else t=!1;return t}hashCode(){return V(this.o3())}}p(e,"sam$kotlin_Comparator$0",l,l,[ae(),et()]),U1=e}return U1}function SA(e,i){var r=e.xd_1,t=i.xd_1;return ja(r,t)}var K1;function zA(){if(K1===l){class e{constructor(r){dw();var t=this;t.t4b_1=zr().va();for(var n=Mg(dw().n4b_1),a=N().d1(yr(r,10)),s=r.e1();s.f1();){var u=s.g1(),_=pw(this,u);a.c1(_)}for(var o=na(n,a),c=this,h=0,f=o.h1(),v=Array(f);h"The color is not a RGBA color as it has "+r.length+" components"),r[3]===0)return 0;for(var a=999999999,s=0,u=0,_=this.q4b_1,o=0,c=_.length;o0)){var d="The width needs to be a positive number.";throw H().u($(d))}if(!(this.b47_1>0)){var y="The height needs to be a positive number.";throw H().u($(y))}if(!(this.c47_1.h1()<256)){var b="The number of colors should be less than 256.";throw H().u($(b))}if(!(this.e47_1.h1()<=256)){var w="The number of spritesheets is limited to 256.";throw H().u($(w))}if(!(this.h47_1>0)){var x="The zoom needs to be a positive non null value.";throw H().u($(x))}this.m47_1=new(zA())(this.c47_1)}n47(){return this.m47_1}o47(r,t){var n=dt(this.j47_1.xd_1,this.h47_1),a=dt(this.j47_1.xd_1+this.a47_1|0,this.h47_1),s=dt(this.j47_1.yd_1,this.h47_1),u=dt(this.j47_1.yd_1+this.b47_1|0,this.h47_1),_,o=Br(r);if(!(n<=o&&o<=a))_=!0;else{var c=Br(t);_=!(s<=c&&c<=u)}if(_)return null;var h=r/this.h47_1-this.j47_1.xd_1,f=t/this.h47_1-this.j47_1.yd_1;return new(jn())(h,f)}toString(){return"GameOptions(width="+this.a47_1+", height="+this.b47_1+", palette="+$(this.c47_1)+", gameScripts="+$(this.d47_1)+", spriteSheets="+$(this.e47_1)+", gameLevels="+$(this.f47_1)+", sounds="+$(this.g47_1)+", zoom="+this.h47_1+", record="+this.i47_1+", gutter="+this.j47_1.toString()+", spriteSize="+this.k47_1.toString()+", hideMouseCursor="+this.l47_1+")"}hashCode(){var r=this.a47_1;return r=dt(r,31)+this.b47_1|0,r=dt(r,31)+V(this.c47_1)|0,r=dt(r,31)+V(this.d47_1)|0,r=dt(r,31)+V(this.e47_1)|0,r=dt(r,31)+V(this.f47_1)|0,r=dt(r,31)+V(this.g47_1)|0,r=dt(r,31)+this.h47_1|0,r=dt(r,31)+Vt(this.i47_1)|0,r=dt(r,31)+this.j47_1.hashCode()|0,r=dt(r,31)+this.k47_1.hashCode()|0,r=dt(r,31)+wa(this.l47_1)|0,r}equals(r){return this===r?!0:!(!(r instanceof my())||this.a47_1!==r.a47_1||this.b47_1!==r.b47_1||!E(this.c47_1,r.c47_1)||!E(this.d47_1,r.d47_1)||!E(this.e47_1,r.e47_1)||!E(this.f47_1,r.f47_1)||!E(this.g47_1,r.g47_1)||this.h47_1!==r.h47_1||!E(this.i47_1,r.i47_1)||!this.j47_1.equals(r.j47_1)||!this.k47_1.equals(r.k47_1)||this.l47_1!==r.l47_1)}}p(e,"GameOptions"),J1=e}return J1}var wy,gy,yy,mw;function Cd(){if(mw)return S;mw=!0,wy=new(Yn())("DEBUG",0),gy=new(Yn())("INFO",1),yy=new(Yn())("WARN",2),new(Yn())("ERROR",3),new(Yn())("NONE",4)}var W1;function Yn(){if(W1===l){class e extends Kt(){}p(e,"LogLevel"),W1=e}return W1}function H1(e,i,r,t,n){if(i.i3_1>=e.b4f_1.i3_1){var a;switch(i.i3_1){case 0:a="🧰";break;case 1:a="ℹ️";break;case 2:a="⚠️";break;case 3:a="💥";break;case 4:return S;default:gt();break}var s=a;Rt(s+" |- "+e.a4f_1+" -| - ["+r+"] : "+n())}}var V1;function IA(){if(V1===l){class e{constructor(r,t){t=t===l?ww():t,this.a4f_1=r,this.b4f_1=t}n45(r,t){H1(this,ww(),r,null,t)}g48(r,t){H1(this,$A(),r,null,t)}w45(r,t){H1(this,AA(),r,null,t)}}p(e,"StdOutLogger"),V1=e}return V1}function ww(){return Cd(),wy}function $A(){return Cd(),gy}function AA(){return Cd(),yy}var Dt=Math.imul,Y1;function Gi(){if(Y1===l){class e{constructor(r,t,n,a,s,u,_,o,c,h,f,v,d){s=s===l?0n:s,u=u===l?0:u,_=_===l?0:_,o=o===l?0n:o,c=c===l?0n:c,h=h===l?0n:h,f=f===l?0n:f,v=v===l?0n:v,d=d===l?0n:d,this.z45_1=r,this.a46_1=t,this.b46_1=n,this.c46_1=a,this.d46_1=s,this.e46_1=u,this.f46_1=_,this.g46_1=o,this.h46_1=c,this.i46_1=h,this.j46_1=f,this.k46_1=v,this.l46_1=d}toString(){return"PerformanceMetrics(frameTime="+this.z45_1+", fps="+this.a46_1+", memoryUsed="+this.b46_1.toString()+", memoryAllocated="+this.c46_1.toString()+", gcCount="+this.d46_1.toString()+", renderTime="+this.e46_1+", cpuTime="+this.f46_1+", drawCalls="+this.g46_1.toString()+", readPixels="+this.h46_1.toString()+", vertexCount="+this.i46_1.toString()+", drawBatchPrimitives="+this.j46_1.toString()+", drawBatchSprites="+this.k46_1.toString()+", drawOnScreen="+this.l46_1.toString()+")"}hashCode(){var r=Vt(this.z45_1);return r=Dt(r,31)+Vt(this.a46_1)|0,r=Dt(r,31)+$t(this.b46_1)|0,r=Dt(r,31)+$t(this.c46_1)|0,r=Dt(r,31)+$t(this.d46_1)|0,r=Dt(r,31)+Vt(this.e46_1)|0,r=Dt(r,31)+Vt(this.f46_1)|0,r=Dt(r,31)+$t(this.g46_1)|0,r=Dt(r,31)+$t(this.h46_1)|0,r=Dt(r,31)+$t(this.i46_1)|0,r=Dt(r,31)+$t(this.j46_1)|0,r=Dt(r,31)+$t(this.k46_1)|0,r=Dt(r,31)+$t(this.l46_1)|0,r}equals(r){return this===r?!0:!(!(r instanceof Gi())||!E(this.z45_1,r.z45_1)||!E(this.a46_1,r.a46_1)||this.b46_1!==r.b46_1||this.c46_1!==r.c46_1||this.d46_1!==r.d46_1||!E(this.e46_1,r.e46_1)||!E(this.f46_1,r.f46_1)||this.g46_1!==r.g46_1||this.h46_1!==r.h46_1||this.i46_1!==r.i46_1||this.j46_1!==r.j46_1||this.k46_1!==r.k46_1||this.l46_1!==r.l46_1)}}p(e,"PerformanceMetrics"),Y1=e}return Y1}var Z1;function EA(){if(Z1===l){class e{constructor(){this.m54_1=0n,this.n54_1=0n,this.o54_1=0n,this.p54_1=0n,this.q54_1=0n,this.r54_1=0n,this.s54_1=0n;var r=this;r.t54_1=N().p1(),this.u54_1=300;var t=this;t.v54_1=zr().va(),this.w54_1=!1}e45(r){this.w54_1=r,r&&this.b1h()}d45(){return this.w54_1}k43(){if(!this.d45())return S;this.m54_1=this.x54()}z46(){if(!this.d45())return new(Gi())(0,0,0n,0n);var r=this.x54(),t=ze(Li(r,this.m54_1)),n=t>0?1e3/t:0,a=this.y54(),s=this.z54(),u=this.a55(t,n,a,s,this.p54_1,this.q54_1,this.s54_1,this.r54_1);return this.t54_1.c1(u),this.t54_1.h1()>this.u54_1&&this.t54_1.w2(0),this.n54_1=r,this.o54_1=a,this.p54_1=0n,this.q54_1=0n,this.r54_1=0n,this.s54_1=0n,u}y44(r){if(!this.d45())return S;var t=this.v54_1,n=this.x54();t.f3(r,n)}b55(r){if(!this.d45())return S;var t=this.p54_1;this.p54_1=tn(t,$5());var n=this,a=this.q54_1;n.q54_1=tn(a,bt(r))}c55(){if(!this.d45())return S;var r=this.r54_1;this.r54_1=tn(r,$5())}b45(r){if(!this.d45())return 0;var t=this.v54_1.g3(r),n;if(t==null)return 0;n=t;var a=n;return ze(Li(this.x54(),a))}y45(r){if(!this.d45()||this.t54_1.m1())return null;var t=S$(this.t54_1,Tg(r,this.t54_1.h1()));if(t.m1())return null;for(var n=N().d1(yr(t,10)),a=t.e1();a.f1();){var s=a.g1(),u=s.z45_1;n.c1(u)}for(var _=ai(n),o=N().d1(yr(t,10)),c=t.e1();c.f1();){var h=c.g1(),f=h.a46_1;o.c1(f)}for(var v=ai(o),d=N().d1(yr(t,10)),y=t.e1();y.f1();){var b=y.g1(),w=b.b46_1;d.c1(w)}for(var x=De(Vn(d)),q=0n,k=t.e1();k.f1();){var A=k.g1(),D=q,B=A.c46_1;q=tn(D,B)}for(var R=q,W=0n,G=t.e1();G.f1();){var Q=G.g1(),X=W,rr=Q.d46_1;W=tn(X,rr)}for(var tr=W,ir=N().d1(yr(t,10)),dr=t.e1();dr.f1();){var cr=dr.g1(),mr=cr.e46_1;ir.c1(mr)}for(var Dr=ai(ir),Ir=N().d1(yr(t,10)),Or=t.e1();Or.f1();){var Yr=Or.g1(),Gr=Yr.f46_1;Ir.c1(Gr)}for(var Er=ai(Ir),ft=N().d1(yr(t,10)),vt=t.e1();vt.f1();){var jt=vt.g1(),tt=jt.g46_1;ft.c1(tt)}for(var qt=De(Vn(ft)),pt=N().d1(yr(t,10)),It=t.e1();It.f1();){var Mt=It.g1(),fe=Mt.i46_1;pt.c1(fe)}for(var Tt=De(Vn(pt)),Ee=N().d1(yr(t,10)),ve=t.e1();ve.f1();){var Wn=ve.g1(),Hn=Wn.h46_1;Ee.c1(Hn)}for(var Cn=De(Vn(Ee)),ti=N().d1(yr(t,10)),Ye=t.e1();Ye.f1();){var ei=Ye.g1(),ni=ei.l46_1;ti.c1(ni)}var E1=De(Vn(ti));return new(Gi())(_,v,x,R,tr,Dr,Er,qt,Cn,Tt,l,l,E1)}b1h(){this.t54_1.v2(),this.v54_1.v2(),this.o54_1=this.y54()}}p(e,"BasePerformanceMonitor"),Z1=e}return Z1}function NA(e){var i;try{var r=typeof window.performance.memory<"u";i=r!=null&&typeof r=="boolean"?r:m()}catch(n){var t;if(n instanceof Pe())t=!1;else throw n;i=t}return i}function LA(e){var i;try{i=!1}catch(t){var r;if(t instanceof Pe())r=!1;else throw t;i=r}return i}function jA(e){return e.m5s_1,0}function MA(e,i,r){return q$(i-r,0)}var X1;function by(){if(X1===l){class e extends EA(){constructor(){super(),this.i5s_1=window.performance,this.j5s_1=0,this.k5s_1=0n,this.l5s_1=!1,this.m5s_1=!1,this.l5s_1=NA(),this.m5s_1=LA(),this.l5s_1&&(this.k5s_1=this.y54()),this.j5s_1=this.i5s_1.now()}y54(){if(!this.d45()||!this.l5s_1)return 0n;var r=window.performance.memory,t=r==null?null:r.usedJSHeapSize,n=t==null?null:t.toLong();return n??0n}z54(){if(!this.d45()||!this.l5s_1)return 0n;var r=this.y54(),t=z$(Li(r,this.k5s_1),0n);return this.k5s_1=r,t}x54(){return De(this.i5s_1.now())}a55(r,t,n,a,s,u,_,o){var c=this.i5s_1.now(),h;this.j5s_1>0?h=c-this.j5s_1:h=r;var f=h;this.j5s_1=c;var v=jA(this),d=MA(this,f,v),y=f>0?1e3/f:t;return new(Gi())(f,y,n,a,0n,v,d,l,_,l,l,l,o)}}p(e,"WebGlPerformanceMonitor",by),X1=e}return X1}var ky,Cy,xy,Q1;function TA(){if(Q1===l){class e{y4e(r){switch(r){case 0:return s1();case 1:return Sd();case 2:return zd();default:return null}}}ar(e),Q1=e}return Q1}var i1;function J5(){return[s1(),Sd(),zd()]}function En(){return rl==null&&(rl=Js(J5())),rl}var gw;function xd(){if(gw)return S;gw=!0,ky=new(el())("TOUCH1",0),Cy=new(el())("TOUCH2",1),xy=new(el())("TOUCH3",2)}var rl,tl;function el(){if(tl===l){class e extends Kt(){}p(e,"TouchSignal"),tl=e}return tl}function s1(){return xd(),ky}function Sd(){return xd(),Cy}function zd(){return xd(),xy}i1=new(TA());var nl;function Ta(){if(nl===l){class e{constructor(r,t){I$(this,t),this.s4d_1=r;var n=this;n.t4d_1=N().p1()}u4d(){if(this.t4d_1.m1()){var r=Ct(0,this.s4d_1),t=r.v1_1,n=r.w1_1;if(t<=n)do{var a=t;t=t+1|0,this.v4d(this.l4d())}while(a!==n)}var s=this.t4d_1.l1(this.t4d_1.h1()-1|0);return this.t4d_1.w2(this.t4d_1.h1()-1|0),s}v4d(r){this.r4d(r),this.t4d_1.c1(r)}w4d(r){for(var t=r.e1();t.f1();){var n=t.g1();this.r4d(n)}ga(this.t4d_1,r)}}p(e,"ObjectPool"),nl=e}return nl}var Sy,zy,qy,yw;function qd(){if(yw)return S;yw=!0,Sy=new(il())("UP",0),zy=new(il())("DOWN",1),qy=new(il())("MOVE",2)}var al;function il(){if(al===l){class e extends Kt(){}p(e,"InternalTouchEventWay"),al=e}return al}function bw(){return qd(),Sy}function W5(){return qd(),zy}function FA(){return qd(),qy}var sl;function H5(){if(sl===l){class e{constructor(r,t,n,a){r=r===l?null:r,t=t===l?s1():t,n=n===l?new(jn())(0,0):n,a=a===l?W5():a,this.n4d_1=r,this.o4d_1=t,this.p4d_1=n,this.q4d_1=a}x4e(){return this.n4d_1==null}}p(e,"InternalTouchEvent",H5),sl=e}return sl}var ll;function DA(){if(ll===l){class e extends Ta(){constructor(r,t){t===l&&(t={}),t.k4d_1=r,super(10,t)}l4d(){return new(H5())}m4d(r){r.n4d_1=null}r4d(r){return this.m4d(r instanceof H5()?r:m())}}p(e,"InternalTouchEventObjectPool"),ll=e}return ll}function PA(e,i,r){return e.z4d_1[r.i3_1]=i,r}function BA(e,i){var r=nr(i.n4d_1);switch(i.q4d_1.i3_1){case 1:e.c4e_1[r]||(e.c4e_1[r]=!0,e.d4e_1[r]=!0,e.e4e_1.c1(r),e.g4e_1=!0,e.f4e_1=e.f4e_1+1|0);break;case 0:e.c4e_1[r]=!1,e.f4e_1=e.f4e_1-1|0;break;case 2:throw H().u(""+i.n4d_1+" is not supposed to move.");default:gt();break}}function OA(e,i){switch(i.q4d_1.i3_1){case 1:e.b4e_1[i.o4d_1.i3_1]=i.p4d_1.l4e(),e.a4e_1[i.o4d_1.i3_1]=i.p4d_1.l4e(),e.y4d_1.m4e(i.p4d_1);break;case 2:e.y4d_1.m4e(i.p4d_1);break;case 0:e.a4e_1[i.o4d_1.i3_1]=null;break;default:gt();break}}var ul;function RA(){if(ul===l){class e{constructor(r){var t=this,n=En();t.x4d_1=lt(n),this.y4d_1=new(jn())(0,0);for(var a=this,s=0,u=En().h1(),_=Array(u);s{var t=e;return L8(t,r),S};return i.callableName="keyDown",i}function T8(e){var i=r=>{var t=e;return j8(t,r),S};return i.callableName="keyUp",i}function F8(e){var i=r=>{var t=e;return A8(t,r),S};return i.callableName="touchStart",i}function D8(e){var i=r=>{var t=e;return E8(t,r),S};return i.callableName="touchEnd",i}function P8(e){var i=r=>{var t=e;return N8(t,r),S};return i.callableName="touchMove",i}function B8(e){var i=r=>{var t=e;return S8(t,r),S};return i.callableName="mouseDown",i}function O8(e){var i=r=>{var t=e;return z8(t,r),S};return i.callableName="mouseUp",i}function R8(e){var i=r=>{var t=e;return q8(t,r),S};return i.callableName="mouseMove",i}function U8(e){var i=r=>{var t=e;return I8(t),S};return i.callableName="mouseLeave",i}function K8(e){var i=r=>{var t=e;return $8(t),S};return i.callableName="mouseEnter",i}var hl;function G8(){if(hl===l){class e{constructor(r,t){this.j5r_1=r,this.k5r_1=t,this.j5r_1.addEventListener("keydown",M8(this),!1),this.j5r_1.addEventListener("keyup",T8(this),!1),this.j5r_1.addEventListener("touchstart",F8(this),!1),this.j5r_1.addEventListener("touchend",D8(this),!1),this.j5r_1.addEventListener("touchmove",P8(this),!1),this.j5r_1.addEventListener("mousedown",B8(this),!1),this.j5r_1.addEventListener("mouseup",O8(this),!1),this.j5r_1.addEventListener("mousemove",R8(this),!1),this.j5r_1.addEventListener("mouseleave",U8(this),!1),this.j5r_1.addEventListener("mouseenter",K8(this),!1),this.l5r_1=1,this.m5r_1=16,this.n5r_1=256;var n=this;n.o5r_1=[this.l5r_1,this.m5r_1,this.n5r_1],this.p5r_1=$$([s1(),Sd(),zd()]),this.q5r_1=new(RA())(257),this.r5r_1=!1,this.s5r_1=new(jn())(0,0),this.t5r_1=null}c4d(r){var t;return r.equals(V5())?t=this.q5r_1.g4e_1:t=this.q5r_1.t4e(kw(r)),t}d4d(r){var t;return r.equals(V5())?t=this.q5r_1.n4e():t=this.q5r_1.s4e(kw(r)),t}e4d(r){return this.q5r_1.e4d(r)}f4d(r){return this.q5r_1.f4d(r)}g4d(){return this.s5r_1}a45(){return S}b1h(){this.q5r_1.w4e()}h4d(r){this.j5r_1.addEventListener("onClick",t=>(r(),S),!1),this.t5r_1=r}}F(e).g45=C8,p(e,"JsInputHandler",l,l,[x8()]),hl=e}return hl}var fl;function J8(){if(fl===l){class e{constructor(r,t,n,a,s,u){s=s===l?n/r|0:s,u=u===l?a/t|0:u,this.g54_1=r,this.h54_1=t,this.i54_1=n,this.j54_1=a,this.k54_1=s,this.l54_1=u}}p(e,"WindowManager"),fl=e}return fl}var vl;function W8(){if(vl===l){class e{constructor(r){this.fs_1=r}gs(r){return this.fs_1.createShader(r)}hs(r,t){return this.fs_1.shaderSource(r,t)}is(r){return this.fs_1.compileShader(r)}js(r){return this.fs_1.deleteShader(r)}ks(r,t){var n=nr(this.fs_1.getShaderParameter(r,t));return typeof n=="boolean"?n?1:0:typeof n=="number"?n:m()}ls(r){return this.fs_1.getProgramInfoLog(r)}ms(r){return this.fs_1.getShaderInfoLog(r)}ns(r,t){var n=nr(this.fs_1.getProgramParameter(r,t));return typeof n=="boolean"?n?1:0:typeof n=="number"?n:m()}os(){return this.fs_1.createProgram()}ps(r,t){var n=r;return this.fs_1.attachShader(n,t)}qs(r){return this.fs_1.linkProgram(r)}rs(r){return this.fs_1.useProgram(r)}ss(r,t){return this.fs_1.getUniformLocation(r,t)}ts(r,t){return this.fs_1.getAttribLocation(r,t)}us(r){return this.fs_1.enableVertexAttribArray(r)}vs(r){return this.fs_1.disableVertexAttribArray(r)}ws(r){return this.fs_1.enable(r)}xs(r){return this.fs_1.disable(r)}ys(){var r=this.fs_1.createBuffer(),t;if(r==null)throw Pe().sc();return t=r,t}zs(r,t){return this.fs_1.bindBuffer(r,t)}at(r,t,n,a){this.fs_1.bufferData(r,t.as(),a)}bt(r,t,n,a,s,u){return this.fs_1.vertexAttribPointer(r,t,n,a,s,u)}ct(r,t){return this.fs_1.uniform1i(r,t)}dt(r,t,n){return this.fs_1.uniform2f(r,t,n)}et(r,t,n){return this.fs_1.uniform2i(r,t,n)}ft(r,t,n,a){return this.fs_1.uniform3i(r,t,n,a)}gt(r,t,n,a){return this.fs_1.viewport(r,t,n,a)}ht(r){return this.fs_1.clear(r)}it(r,t,n,a){return this.fs_1.clearColor(r,t,n,a)}jt(r,t){return this.fs_1.blendFunc(r,t)}kt(){var r=this.fs_1.createTexture(),t;if(r==null)throw Pe().sc();return t=r,t}lt(r,t,n,a,s,u,_,o,c){this.fs_1.texImage2D(r,t,n,a,s,u,_,o,c==null?null:c.as())}mt(r){return this.fs_1.activeTexture(r)}nt(r,t){return this.fs_1.bindTexture(r,t)}ot(r,t,n){return this.fs_1.texParameteri(r,t,n)}pt(){var r=this.fs_1.createVertexArray(),t;if(r==null)throw Pe().sc();return t=r,t}qt(r){return this.fs_1.bindVertexArray(r)}rt(r,t,n){return this.fs_1.drawArrays(r,t,n)}st(r,t,n,a){return this.fs_1.drawArraysInstanced(r,t,n,a)}tt(r,t){return this.fs_1.vertexAttribDivisor(r,t)}ut(r,t){return this.fs_1.pixelStorei(r,t)}vt(r,t,n,a){return this.fs_1.blendFuncSeparate(r,t,n,a)}wt(r){this.fs_1.stencilMask(r)}xt(r,t,n,a){this.fs_1.colorMask(r,t,n,a)}yt(r,t,n){this.fs_1.stencilOp(r,t,n)}zt(r,t,n){this.fs_1.stencilFunc(r,t,n)}au(r,t){return this.fs_1.bindFramebuffer(r,t)}bu(){var r=this.fs_1.createFramebuffer(),t;if(r==null)throw Pe().sc();return t=r,t}cu(r){return this.fs_1.checkFramebufferStatus(r)}du(r,t,n,a,s){return this.fs_1.framebufferTexture2D(r,t,n,a,s)}eu(r,t){return this.fs_1.bindRenderbuffer(r,t)}fu(){var r=this.fs_1.createRenderbuffer(),t;if(r==null)throw Pe().sc();return t=r,t}gu(r,t,n,a){return this.fs_1.framebufferRenderbuffer(r,t,n,a)}hu(r,t,n,a){return this.fs_1.renderbufferStorage(r,t,n,a)}iu(r,t,n,a,s,u,_){this.fs_1.readPixels(r,t,n,a,s,u,_.as())}ju(r){return this.fs_1.depthFunc(r)}}p(e,"KglJs"),vl=e}return vl}function Db(){return!1}var pl;function l1(){if(pl===l){class e{}Ar(e,"SourceStream",l,l,l,[0]),pl=e}return pl}function H8(e,i){return new Int8Array(i)}var dl;function V8(){if(dl===l){class e{constructor(r){this.e5r_1=r}d4a(r){var t=ya().zb(ba(r)),n=t,a=new XMLHttpRequest;return a.responseType="arraybuffer",a.open("GET",this.e5r_1,!0),a.onload=s=>{if(a.readyState===4&&a.status===200){var u=a.response,_=u instanceof ArrayBuffer?u:m(),o=H8(this,_),c=Ke(o);n.ib(c)}return S},a.send(),t.ac()}c4a(r){var t=ya().zb(ba(r)),n=t,a=new XMLHttpRequest;return a.responseType="arraybuffer",a.open("HEAD",this.e5r_1,!0),a.onload=s=>{var u=a.status===200,_=Ke(u);return n.ib(_),S},a.send(),t.ac()}}F(e).f4a=Db,p(e,"AjaxStream",l,l,[l1()],[0]),dl=e}return dl}var ml;function Y8(){if(ml===l){class e{constructor(r,t,n){this.y53_1=r,this.z53_1=t,this.a54_1=n}}p(e,"ImageData"),ml=e}return ml}var wl;function Z8(){if(wl===l){class e{constructor(r,t,n,a){a=a===l?ot():a,this.y4v_1=r,this.z4v_1=t,this.a4w_1=n,this.b4w_1=a}}p(e,"SoundData"),wl=e}return wl}function X8(){return S}function Q8(){return S}function r9(e,i,r){return i=i===l?!0:i,r===l?this.b54(e,i):r.b54.call(this,e,i)}function t9(e,i,r){return i=i===l?!0:i,r===l?this.d54(e,i):r.d54.call(this,e,i)}var gl;function e9(){if(gl===l){class e{}Ar(e,"Platform"),gl=e}return gl}function*n9(e,i){var r=ya().zb(ba(i)),t=new Image;t.addEventListener("load",new(a9())(t,r)),t.src=e.f5r_1;var n=r.ac(),a=A$(n);return a===O()&&(a=yield a),a}var yl;function a9(){if(yl===l){class e{constructor(r,t){this.g5r_1=r,this.h5r_1=t}i5r(r){var t=document.createElement("canvas"),n=t instanceof HTMLCanvasElement?t:m(),a=n.getContext("2d"),s=a instanceof CanvasRenderingContext2D?a:m();n.width=this.g5r_1.width,n.height=this.g5r_1.height,s.drawImage(this.g5r_1,0,0);var u=s.getImageData(0,0,this.g5r_1.width,this.g5r_1.height),_=new Int8Array(u.data.buffer),o=new(Y8())(_,this.g5r_1.width,this.g5r_1.height),c=Ke(o);this.h5r_1.ib(c)}handleEvent(r){return this.i5r(r)}}p(e),yl=e}return yl}var bl;function i9(){if(bl===l){class e{constructor(r){this.f5r_1=r}c4a(r){var t=ya().zb(ba(r)),n=t,a=new XMLHttpRequest;return a.responseType="arraybuffer",a.open("HEAD",this.f5r_1,!0),a.onload=s=>{var u=a.status===200,_=Ke(u);return n.ib(_),S},a.send(),t.ac()}d4a(r){return er(n9.bind(l,this),r)}}F(e).f4a=Db,p(e,"ImageDataStream",l,l,[l1()],[0]),bl=e}return bl}const s9=()=>{class e{constructor(r){this.url=r}}return new e(new URL(""+new URL("assets/SynthesizerAudioWorklet__generated__worklet__module-CfRbTLAr.js",import.meta.url).href,import.meta.url),{type:"module"}).url};function l9(){return Bb(),Pb}var Pb;function u9(e){Bb();var i=E$("Kotlin raw error wrapper. Please check 'cause' for the original error");return i.name=l9(),Reflect.set(i,"cause",e),i}var xw;function Bb(){xw||(xw=!0,Pb="KotlinRawErrorWrapper")}function _9(e){var i=e,r=i instanceof Error?i:null;return r??u9(e)}function o9(e,i){var r=t=>{var n=i,a=Ke(t);return n.ib(a),null};e.then(r,t=>{var n=i,a=_9(t),s=Ke(Pg(a));return n.ib(s),null})}function c9(e,i){var r=ya().zb(ba(i));return o9(e,r),r.ac()}var kl;function h9(){if(kl===l){class e{constructor(r){this.r5q_1=r}o4u(r){var t=this.r5q_1.f4b(r);return this.r5q_1.s5q(t)}f4b(r){var t=this.r5q_1.f4b(r);return t}e4u(r,t){this.r5q_1.e4u(r,t)}f4u(r){this.r5q_1.f4u(r)}}p(e,"DefaultSoundBoard"),kl=e}return kl}function f9(e,i,r,t,n){if(i==null)return new Float32Array([]);if(r.m1())return new Float32Array([]);for(var a=60/t,s=new Float32Array([]),u=r.e1();u.f1();){var _=u.g1(),o=_.b4s_1,c=o??i,h=_.y4r_1*a+c.k4s_1,f=h*44100,v=Bm(f),d=N$(c.l4s_1),y=1/Math.max(1,d),b=new Float32Array(v),w=_.w4r_1,x=w==null?null:w.s4q_1,q=x??0,k=0;if(ks.length&&(s=A5(s,Yr));var Gr=0,Er=Ir;if(Erthis.x5q_1?!1:this.y5q_1.i1(r)}i1(r){return this.a5r(r)}v2(){return this.y5q_1.v2()}l1(r){return this.y5q_1.l1(r)}m1(){return this.y5q_1.m1()}e1(){return this.y5q_1.e1()}n1(r){return this.y5q_1.n1(r)}w2(r){return this.y5q_1.w2(r)}b5r(r,t){return this.y5q_1.r1(r,t)}r1(r,t){return this.b5r(r,t==null||t!=null?t:m())}c5r(r){return this.y5q_1.f2(r)}f2(r){return this.c5r(r)}d5r(r){return this.y5q_1.s2(r)}s2(r){return r==null||r!=null?this.d5r(r==null||r!=null?r:m()):-1}}p(e,"MutableFixedSizeList",l,l,[Bg()]),Sl=e}return Sl}var zl;function y9(){if(zl===l){class e{constructor(r){this.p4q_1=r}hh(r,t){return this.p4q_1(r,t)}compare(r,t){return this.hh(r,t)}o3(){return this.p4q_1}equals(r){var t;if(r!=null&&j(r,ae())){var n;r!=null&&j(r,et())?n=E(this.o3(),r.o3()):n=!1,t=n}else t=!1;return t}hashCode(){return V(this.o3())}}p(e,"sam$kotlin_Comparator$0",l,l,[ae(),et()]),zl=e}return zl}function b9(e,i){var r=e.t4q_1,t=i.t4q_1;return ja(r,t)}var Ob,Rb,Ub,Kb,Gb,Jb,Wb,Hb,Vb,Yb,Zb,Xb,Qb,rk,tk,ek,nk,ak,ik,sk,lk,uk,_k,ok,ck,hk,fk,vk,pk,dk,mk,wk,gk,yk,bk,kk,Ck,xk,Sk,zk,qk,Ik,$k,Ak,Ek,Nk,Lk,jk,Mk,Tk,Fk,Dk,Pk,Bk,Ok,Rk,Uk,Kk,Gk,Jk,Wk,Hk,Vk,Yk,Zk,Xk,Qk,rC,tC,eC,nC,aC,iC,sC,lC,uC,_C,oC,cC,hC,fC,vC,pC,dC,mC,wC,gC,yC,bC,kC,CC,xC,SC,zC,qC,IC,$C,AC,EC,NC,LC,jC,MC,TC,FC,DC,PC,BC,OC,RC,UC,KC,GC,JC,WC,HC,VC,YC,ZC,XC,QC,r6,t6,e6,n6,a6,i6,s6,l6,u6,_6,o6,c6,h6,f6,v6,p6,d6,m6,w6,g6,y6,b6,k6,C6,x6,S6,z6,q6,I6,$6,A6,E6,ql;function k9(){if(ql===l){class e{constructor(){Y5=this;for(var r=this,t=L6(),n=lt(t),a=Wt().u8(),s=N().p1(),u=0,_=n.length;u<_;){var o=n[u];u=u+1|0;var c=o.t4q_1;a.c1(c)&&s.c1(o)}var h=b9,f=new(y9())(h),v=Gs(s,f);r.v4q_1=lt(v)}w4q(r){return this.v4q_1[r]}x4q(r){return C9(r)}}ar(e),ql=e}return ql}var Y5;function qe(){return z(),Y5===l&&new(k9()),Y5}function N6(){return[u1(),j6(),M6(),T6(),F6(),D6(),P6(),B6(),O6(),R6(),U6(),K6(),G6(),J6(),W6(),H6(),V6(),Y6(),Z6(),X6(),Q6(),rx(),tx(),ex(),nx(),ax(),ix(),sx(),lx(),ux(),_x(),ox(),cx(),hx(),fx(),vx(),px(),dx(),mx(),wx(),gx(),yx(),bx(),kx(),Cx(),xx(),Sx(),zx(),qx(),Ix(),$x(),Ax(),Ex(),Nx(),Lx(),jx(),Mx(),Tx(),Fx(),Dx(),Px(),Bx(),Ox(),Rx(),Ux(),Kx(),Gx(),Jx(),Wx(),Hx(),Vx(),Yx(),Zx(),Xx(),Qx(),rS(),tS(),eS(),nS(),aS(),iS(),sS(),lS(),uS(),_S(),$d(),oS(),cS(),hS(),fS(),vS(),pS(),dS(),mS(),wS(),gS(),yS(),bS(),za(),kS(),CS(),xS(),SS(),zS(),qS(),IS(),$S(),AS(),ES(),NS(),LS(),jS(),MS(),TS(),FS(),DS(),PS(),BS(),OS(),RS(),US(),KS(),GS(),JS(),WS(),HS(),VS(),YS(),ZS(),XS(),QS(),rz(),tz(),ez(),nz(),az(),iz(),sz(),lz(),uz(),_z(),oz(),cz(),hz(),fz(),vz(),pz(),dz(),mz(),wz(),gz(),yz(),Ad()]}function C9(e){switch(e){case"C0":return u1();case"Cs0":return j6();case"Db0":return M6();case"D0":return T6();case"Ds0":return F6();case"Eb0":return D6();case"E0":return P6();case"F0":return B6();case"Fs0":return O6();case"Gb0":return R6();case"G0":return U6();case"Gs0":return K6();case"Ab0":return G6();case"A0":return J6();case"As0":return W6();case"Bb0":return H6();case"B0":return V6();case"C1":return Y6();case"Cs1":return Z6();case"Db1":return X6();case"D1":return Q6();case"Ds1":return rx();case"Eb1":return tx();case"E1":return ex();case"F1":return nx();case"Fs1":return ax();case"Gb1":return ix();case"G1":return sx();case"Gs1":return lx();case"Ab1":return ux();case"A1":return _x();case"As1":return ox();case"Bb1":return cx();case"B1":return hx();case"C2":return fx();case"Cs2":return vx();case"Db2":return px();case"D2":return dx();case"Ds2":return mx();case"Eb2":return wx();case"E2":return gx();case"F2":return yx();case"Fs2":return bx();case"Gb2":return kx();case"G2":return Cx();case"Gs2":return xx();case"Ab2":return Sx();case"A2":return zx();case"As2":return qx();case"Bb2":return Ix();case"B2":return $x();case"C3":return Ax();case"Cs3":return Ex();case"Db3":return Nx();case"D3":return Lx();case"Ds3":return jx();case"Eb3":return Mx();case"E3":return Tx();case"F3":return Fx();case"Fs3":return Dx();case"Gb3":return Px();case"G3":return Bx();case"Gs3":return Ox();case"Ab3":return Rx();case"A3":return Ux();case"As3":return Kx();case"Bb3":return Gx();case"B3":return Jx();case"C4":return Wx();case"Cs4":return Hx();case"Db4":return Vx();case"D4":return Yx();case"Ds4":return Zx();case"Eb4":return Xx();case"E4":return Qx();case"F4":return rS();case"Fs4":return tS();case"Gb4":return eS();case"G4":return nS();case"Gs4":return aS();case"Ab4":return iS();case"A4":return sS();case"As4":return lS();case"Bb4":return uS();case"B4":return _S();case"C5":return $d();case"Cs5":return oS();case"Db5":return cS();case"D5":return hS();case"Ds5":return fS();case"Eb5":return vS();case"E5":return pS();case"F5":return dS();case"Fs5":return mS();case"Gb5":return wS();case"G5":return gS();case"Gs5":return yS();case"Ab5":return bS();case"A5":return za();case"As5":return kS();case"Bb5":return CS();case"B5":return xS();case"C6":return SS();case"Cs6":return zS();case"Db6":return qS();case"D6":return IS();case"Ds6":return $S();case"Eb6":return AS();case"E6":return ES();case"F6":return NS();case"Fs6":return LS();case"Gb6":return jS();case"G6":return MS();case"Gs6":return TS();case"Ab6":return FS();case"A6":return DS();case"As6":return PS();case"Bb6":return BS();case"B6":return OS();case"C7":return RS();case"Cs7":return US();case"Db7":return KS();case"D7":return GS();case"Ds7":return JS();case"Eb7":return WS();case"E7":return HS();case"F7":return VS();case"Fs7":return YS();case"Gb7":return ZS();case"G7":return XS();case"Gs7":return QS();case"Ab7":return rz();case"A7":return tz();case"As7":return ez();case"Bb7":return nz();case"B7":return az();case"C8":return iz();case"Cs8":return sz();case"Db8":return lz();case"D8":return uz();case"Ds8":return _z();case"Eb8":return oz();case"E8":return cz();case"F8":return hz();case"Fs8":return fz();case"Gb8":return vz();case"G8":return pz();case"Gs8":return dz();case"Ab8":return mz();case"A8":return wz();case"As8":return gz();case"Bb8":return yz();case"B8":return Ad();default:z(),Rg("No enum constant com.github.minigdx.tiny.lua.Note."+e);break}}function L6(){return Il==null&&(Il=Js(N6())),Il}var Sw;function z(){if(Sw)return S;Sw=!0,Ob=new(I())("C0",0,16.35,1),Rb=new(I())("Cs0",1,17.32,2),Ub=new(I())("Db0",2,17.32,2),Kb=new(I())("D0",3,18.35,3),Gb=new(I())("Ds0",4,19.45,4),Jb=new(I())("Eb0",5,19.45,4),Wb=new(I())("E0",6,20.6,5),Hb=new(I())("F0",7,21.83,6),Vb=new(I())("Fs0",8,23.12,7),Yb=new(I())("Gb0",9,23.12,7),Zb=new(I())("G0",10,24.5,8),Xb=new(I())("Gs0",11,25.96,9),Qb=new(I())("Ab0",12,25.96,9),rk=new(I())("A0",13,27.5,10),tk=new(I())("As0",14,29.14,11),ek=new(I())("Bb0",15,29.14,11),nk=new(I())("B0",16,30.87,12),ak=new(I())("C1",17,32.7,13),ik=new(I())("Cs1",18,34.65,14),sk=new(I())("Db1",19,34.65,14),lk=new(I())("D1",20,36.71,15),uk=new(I())("Ds1",21,38.89,16),_k=new(I())("Eb1",22,38.89,16),ok=new(I())("E1",23,41.2,17),ck=new(I())("F1",24,43.65,18),hk=new(I())("Fs1",25,46.25,19),fk=new(I())("Gb1",26,46.25,19),vk=new(I())("G1",27,49,20),pk=new(I())("Gs1",28,51.91,21),dk=new(I())("Ab1",29,51.91,21),mk=new(I())("A1",30,55,22),wk=new(I())("As1",31,58.27,23),gk=new(I())("Bb1",32,58.27,23),yk=new(I())("B1",33,61.74,24),bk=new(I())("C2",34,65.41,25),kk=new(I())("Cs2",35,69.3,26),Ck=new(I())("Db2",36,69.3,26),xk=new(I())("D2",37,73.42,27),Sk=new(I())("Ds2",38,77.78,28),zk=new(I())("Eb2",39,77.78,28),qk=new(I())("E2",40,82.41,29),Ik=new(I())("F2",41,87.31,30),$k=new(I())("Fs2",42,92.5,31),Ak=new(I())("Gb2",43,92.5,31),Ek=new(I())("G2",44,98,32),Nk=new(I())("Gs2",45,103.83,33),Lk=new(I())("Ab2",46,103.83,33),jk=new(I())("A2",47,110,34),Mk=new(I())("As2",48,116.54,35),Tk=new(I())("Bb2",49,116.54,35),Fk=new(I())("B2",50,123.47,36),Dk=new(I())("C3",51,130.81,37),Pk=new(I())("Cs3",52,138.59,38),Bk=new(I())("Db3",53,138.59,38),Ok=new(I())("D3",54,146.83,39),Rk=new(I())("Ds3",55,155.56,40),Uk=new(I())("Eb3",56,155.56,40),Kk=new(I())("E3",57,164.81,41),Gk=new(I())("F3",58,174.61,42),Jk=new(I())("Fs3",59,185,43),Wk=new(I())("Gb3",60,185,43),Hk=new(I())("G3",61,196,44),Vk=new(I())("Gs3",62,207.65,45),Yk=new(I())("Ab3",63,207.65,45),Zk=new(I())("A3",64,220,46),Xk=new(I())("As3",65,233.08,47),Qk=new(I())("Bb3",66,233.08,47),rC=new(I())("B3",67,246.94,48),tC=new(I())("C4",68,261.63,49),eC=new(I())("Cs4",69,277.18,50),nC=new(I())("Db4",70,277.18,50),aC=new(I())("D4",71,293.66,51),iC=new(I())("Ds4",72,311.13,52),sC=new(I())("Eb4",73,311.13,52),lC=new(I())("E4",74,329.63,53),uC=new(I())("F4",75,349.23,54),_C=new(I())("Fs4",76,369.99,55),oC=new(I())("Gb4",77,369.99,55),cC=new(I())("G4",78,392,56),hC=new(I())("Gs4",79,415.3,57),fC=new(I())("Ab4",80,415.3,57),vC=new(I())("A4",81,440,58),pC=new(I())("As4",82,466.16,59),dC=new(I())("Bb4",83,466.16,59),mC=new(I())("B4",84,493.88,60),wC=new(I())("C5",85,523.25,61),gC=new(I())("Cs5",86,554.37,62),yC=new(I())("Db5",87,554.37,62),bC=new(I())("D5",88,587.33,63),kC=new(I())("Ds5",89,622.25,64),CC=new(I())("Eb5",90,622.25,64),xC=new(I())("E5",91,659.26,65),SC=new(I())("F5",92,698.46,66),zC=new(I())("Fs5",93,739.99,67),qC=new(I())("Gb5",94,739.99,67),IC=new(I())("G5",95,783.99,68),$C=new(I())("Gs5",96,830.61,69),AC=new(I())("Ab5",97,830.61,69),EC=new(I())("A5",98,880,70),NC=new(I())("As5",99,932.33,71),LC=new(I())("Bb5",100,932.33,71),jC=new(I())("B5",101,987.77,72),MC=new(I())("C6",102,1046.5,73),TC=new(I())("Cs6",103,1108.73,74),FC=new(I())("Db6",104,1108.73,74),DC=new(I())("D6",105,1174.66,75),PC=new(I())("Ds6",106,1244.51,76),BC=new(I())("Eb6",107,1244.51,76),OC=new(I())("E6",108,1318.51,77),RC=new(I())("F6",109,1396.91,78),UC=new(I())("Fs6",110,1479.98,79),KC=new(I())("Gb6",111,1479.98,79),GC=new(I())("G6",112,1567.98,80),JC=new(I())("Gs6",113,1661.22,81),WC=new(I())("Ab6",114,1661.22,81),HC=new(I())("A6",115,1760,82),VC=new(I())("As6",116,1864.66,83),YC=new(I())("Bb6",117,1864.66,83),ZC=new(I())("B6",118,1975.53,84),XC=new(I())("C7",119,2093,85),QC=new(I())("Cs7",120,2217.46,86),r6=new(I())("Db7",121,2217.46,86),t6=new(I())("D7",122,2349.32,87),e6=new(I())("Ds7",123,2489.02,88),n6=new(I())("Eb7",124,2489.02,88),a6=new(I())("E7",125,2637.02,89),i6=new(I())("F7",126,2793.83,90),s6=new(I())("Fs7",127,2959.96,91),l6=new(I())("Gb7",128,2959.96,91),u6=new(I())("G7",129,3135.96,92),_6=new(I())("Gs7",130,3322.44,93),o6=new(I())("Ab7",131,3322.44,93),c6=new(I())("A7",132,3520,94),h6=new(I())("As7",133,3729.31,95),f6=new(I())("Bb7",134,3729.31,95),v6=new(I())("B7",135,3951.07,96),p6=new(I())("C8",136,4186.01,97),d6=new(I())("Cs8",137,4434.92,98),m6=new(I())("Db8",138,4434.92,98),w6=new(I())("D8",139,4698.63,99),g6=new(I())("Ds8",140,4978.03,100),y6=new(I())("Eb8",141,4978.03,100),b6=new(I())("E8",142,5274.04,101),k6=new(I())("F8",143,5587.65,102),C6=new(I())("Fs8",144,5919.91,103),x6=new(I())("Gb8",145,5919.91,103),S6=new(I())("G8",146,6271.93,104),z6=new(I())("Gs8",147,6644.88,105),q6=new(I())("Ab8",148,6644.88,105),I6=new(I())("A8",149,7040,106),$6=new(I())("As8",150,7458.62,107),A6=new(I())("Bb8",151,7458.62,107),E6=new(I())("B8",152,7902.13,108),qe()}var Il,$l;function I(){if($l===l){class e extends Kt(){constructor(r,t,n,a){super(r,t),this.s4q_1=n,this.t4q_1=a,this.u4q_1=Og(this.h3_1,1)}y4q(){var r=(this.t4q_1-1|0)%12|0,t=((this.t4q_1-1|0)-r|0)/12|0;return t}}p(e,"Note"),$l=e}return $l}var Al;function x9(){if(Al===l){class e extends pr(){static c4r(r,t){return t===l&&(t={}),t.b4r_1=r,this.g2w(t)}f1q(r){return g().y1u(qe().w4q(r.i1p()).h3_1)}}p(e,"note",l,l,l,[1,0,2,3]),Al=e}return Al}var El;function S9(){if(El===l){class e extends kr(){static f4r(){return this.l2r()}g1q(r,t){for(var n=sr().p1i(),a=L6().e1();a.f1();){var s=a.g1();n.c1n(s.h3_1,g().y1t(s.t4q_1))}return n.c1n("note",x9().c4r(this)),t.c1n("notes",n),t.w1m("package").w1m("loaded").c1n("notes",n),n}}p(e,"NotesLib",e.f4r,l,l,[0,1,2,3]),El=e}return El}function u1(){return z(),Ob}function j6(){return z(),Rb}function M6(){return z(),Ub}function T6(){return z(),Kb}function F6(){return z(),Gb}function D6(){return z(),Jb}function P6(){return z(),Wb}function B6(){return z(),Hb}function O6(){return z(),Vb}function R6(){return z(),Yb}function U6(){return z(),Zb}function K6(){return z(),Xb}function G6(){return z(),Qb}function J6(){return z(),rk}function W6(){return z(),tk}function H6(){return z(),ek}function V6(){return z(),nk}function Y6(){return z(),ak}function Z6(){return z(),ik}function X6(){return z(),sk}function Q6(){return z(),lk}function rx(){return z(),uk}function tx(){return z(),_k}function ex(){return z(),ok}function nx(){return z(),ck}function ax(){return z(),hk}function ix(){return z(),fk}function sx(){return z(),vk}function lx(){return z(),pk}function ux(){return z(),dk}function _x(){return z(),mk}function ox(){return z(),wk}function cx(){return z(),gk}function hx(){return z(),yk}function fx(){return z(),bk}function vx(){return z(),kk}function px(){return z(),Ck}function dx(){return z(),xk}function mx(){return z(),Sk}function wx(){return z(),zk}function gx(){return z(),qk}function yx(){return z(),Ik}function bx(){return z(),$k}function kx(){return z(),Ak}function Cx(){return z(),Ek}function xx(){return z(),Nk}function Sx(){return z(),Lk}function zx(){return z(),jk}function qx(){return z(),Mk}function Ix(){return z(),Tk}function $x(){return z(),Fk}function Ax(){return z(),Dk}function Ex(){return z(),Pk}function Nx(){return z(),Bk}function Lx(){return z(),Ok}function jx(){return z(),Rk}function Mx(){return z(),Uk}function Tx(){return z(),Kk}function Fx(){return z(),Gk}function Dx(){return z(),Jk}function Px(){return z(),Wk}function Bx(){return z(),Hk}function Ox(){return z(),Vk}function Rx(){return z(),Yk}function Ux(){return z(),Zk}function Kx(){return z(),Xk}function Gx(){return z(),Qk}function Jx(){return z(),rC}function Wx(){return z(),tC}function Hx(){return z(),eC}function Vx(){return z(),nC}function Yx(){return z(),aC}function Zx(){return z(),iC}function Xx(){return z(),sC}function Qx(){return z(),lC}function rS(){return z(),uC}function tS(){return z(),_C}function eS(){return z(),oC}function nS(){return z(),cC}function aS(){return z(),hC}function iS(){return z(),fC}function sS(){return z(),vC}function lS(){return z(),pC}function uS(){return z(),dC}function _S(){return z(),mC}function $d(){return z(),wC}function oS(){return z(),gC}function cS(){return z(),yC}function hS(){return z(),bC}function fS(){return z(),kC}function vS(){return z(),CC}function pS(){return z(),xC}function dS(){return z(),SC}function mS(){return z(),zC}function wS(){return z(),qC}function gS(){return z(),IC}function yS(){return z(),$C}function bS(){return z(),AC}function za(){return z(),EC}function kS(){return z(),NC}function CS(){return z(),LC}function xS(){return z(),jC}function SS(){return z(),MC}function zS(){return z(),TC}function qS(){return z(),FC}function IS(){return z(),DC}function $S(){return z(),PC}function AS(){return z(),BC}function ES(){return z(),OC}function NS(){return z(),RC}function LS(){return z(),UC}function jS(){return z(),KC}function MS(){return z(),GC}function TS(){return z(),JC}function FS(){return z(),WC}function DS(){return z(),HC}function PS(){return z(),VC}function BS(){return z(),YC}function OS(){return z(),ZC}function RS(){return z(),XC}function US(){return z(),QC}function KS(){return z(),r6}function GS(){return z(),t6}function JS(){return z(),e6}function WS(){return z(),n6}function HS(){return z(),a6}function VS(){return z(),i6}function YS(){return z(),s6}function ZS(){return z(),l6}function XS(){return z(),u6}function QS(){return z(),_6}function rz(){return z(),o6}function tz(){return z(),c6}function ez(){return z(),h6}function nz(){return z(),f6}function az(){return z(),v6}function iz(){return z(),p6}function sz(){return z(),d6}function lz(){return z(),m6}function uz(){return z(),w6}function _z(){return z(),g6}function oz(){return z(),y6}function cz(){return z(),b6}function hz(){return z(),k6}function fz(){return z(),C6}function vz(){return z(),x6}function pz(){return z(),S6}function dz(){return z(),z6}function mz(){return z(),q6}function wz(){return z(),I6}function gz(){return z(),$6}function yz(){return z(),A6}function Ad(){return z(),E6}var Nl;function z9(){if(Nl===l){class e{constructor(r,t,n,a){this.n5o_1=r,this.o5o_1=t,this.p5o_1=n,this.q5o_1=a}r5o(r){var t=this.n5o_1(),n=this.o5o_1(),a=this.p5o_1(),s;if(r<0)s=0;else if(r<=t){var u;t===0?u=1:u=r/t,s=u}else if(r<=(t+n|0)){var _;if(n===0)_=a;else{var o=r-t|0,c=1-a;_=1-c*o/n}s=_}else s=a;return s}s5o(r){var t=this.p5o_1(),n=this.q5o_1(),a;if(r<=n){var s;n===0||r<0?s=0:s=t*(1-r/n),a=s}else a=0;return a}}p(e,"Envelop"),Nl=e}return Nl}var Ll;function q9(){if(Ll===l){class e{constructor(r){this.t5o_1=r}u5o(r,t,n){for(var a=r.s4q_1,s=this.t5o_1(),u=0,_=0,o=0,c=s.length;o0?1:-1;break;case 0:var f=r*n%1;s=2*f-1;break;case 1:var v=r*n%1,d=.25;s=vr}toString(){return this.c5p_1.toString()+" - "+this.d5p_1+" - "+this.e5p_1}}p(e,"NoteProgress",Ji),Tl=e}return Tl}var Fl;function A9(){if(Fl===l){class e extends Ta(){constructor(){super(100)}l4d(){return new(Ji())}i5p(r){r.d5p_1=0,r.e5p_1=0}r4d(r){return this.i5p(r instanceof Ji()?r:m())}}p(e),Fl=e}return Fl}var Dl;function E9(){if(Dl===l){class e{constructor(r){this.j5p_1=r;var t=this,n=()=>Br(this.j5p_1.h4s_1*44100),a=()=>Br(this.j5p_1.i4s_1*44100),s=()=>this.j5p_1.j4s_1;t.k5p_1=new(z9())(n,a,s,()=>Br(this.j5p_1.k4s_1*44100));var u=this;u.l5p_1=new(q9())(()=>this.j5p_1.l4s_1);var _=this;_.m5p_1=new($9())(()=>this.j5p_1.g4s_1);var o=this;o.n5p_1=yt().o1();var c=this;c.o5p_1=yt().o1();var h=this;h.p5p_1=new(A9())}q5p(r){var t=this.p5p_1.u4d();t.c5p_1=r,this.n5p_1.c1(t)}f4u(r){var t=this.n5p_1,n;r:{for(var a=t.e1();a.f1();){var s=a.g1();if(s.c5p_1.equals(r)){n=s;break r}}n=null}var u=n,_;if(u==null){var o=this.p5p_1.u4d();o.c5p_1=r,_=o}else _=u;var c=_;this.n5p_1.u2(c),this.o5p_1.c1(c)}r5p(){for(var r=0,t=this.n5p_1.e1();t.f1();){var n=t.g1(),a=n.c5p_1,s=n.d5p_1+n.e5p_1|0,u=this.l5p_1.u5o(a,s,(B,R)=>{for(var W=this.j5p_1.m4s_1,G=N().p1(),Q=W.e1();Q.f1();){var X=Q.g1();X.w4t()&&G.c1(X)}for(var rr=B,tr=G.e1();tr.f1();){var ir=tr.g1(),dr=rr;rr=ir.g5o(R/44100,dr)}var cr=rr;return this.m5p_1.w5p(cr,R)});u=u*this.k5p_1.r5o(n.d5p_1),r=r+u,n.d5p_1=n.d5p_1+1|0}for(var _=this.o5p_1.e1();_.f1();){var o=_.g1(),c=o.c5p_1,h=o.d5p_1+o.e5p_1|0,f=this.l5p_1.u5o(c,h,(B,R)=>{for(var W=this.j5p_1.m4s_1,G=N().p1(),Q=W.e1();Q.f1();){var X=Q.g1();X.w4t()&&G.c1(X)}for(var rr=B,tr=G.e1();tr.f1();){var ir=tr.g1(),dr=rr;rr=ir.g5o(R/44100,dr)}var cr=rr;return this.m5p_1.w5p(cr,R)}),v;if(o.d5p_1<=(this.k5p_1.n5o_1()+this.k5p_1.o5o_1()|0)){var d=o.d5p_1;o.d5p_1=d+1|0,v=this.k5p_1.r5o(d)}else{var y=o.e5p_1;o.e5p_1=y+1|0,v=this.k5p_1.s5o(y)}var b=v;f=f*b,r=r+f}for(var w=this.k5p_1.q5o_1(),x=this.o5p_1,q=N().p1(),k=x.e1();k.f1();){var A=k.g1();A.f5p(w)&&q.c1(A)}var D=q;return this.o5p_1.f2(E5(D)),this.p5p_1.w4d(D),r}c1h(){for(var r=this.n5p_1.e1();r.f1();){var t=r.g1();t.d5p_1=0}this.o5p_1.i1(this.n5p_1),this.n5p_1.v2()}}p(e,"InstrumentPlayer"),Dl=e}return Dl}var Pl;function bz(){if(Pl===l){class e{constructor(r,t,n,a,s,u,_,o,c,h,f,v,d,y,b,w,x){r=r===l?!1:r,t=t===l?!1:t,n=n===l?!1:n,a=a===l?!1:a,s=s===l?!1:s,u=u===l?!0:u,_=_===l?" ":_,o=o===l?!1:o,c=c===l?!1:c,h=h===l?"type":h,f=f===l?!1:f,v=v===l?!0:v,d=d===l?null:d,y=y===l?!1:y,b=b===l?!1:b,w=w===l?!1:w,x=x===l?zz():x,this.c3t_1=r,this.d3t_1=t,this.e3t_1=n,this.f3t_1=a,this.g3t_1=s,this.h3t_1=u,this.i3t_1=_,this.j3t_1=o,this.k3t_1=c,this.l3t_1=h,this.m3t_1=f,this.n3t_1=v,this.o3t_1=d,this.p3t_1=y,this.q3t_1=b,this.r3t_1=w,this.s3t_1=x}toString(){return"JsonConfiguration(encodeDefaults="+this.c3t_1+", ignoreUnknownKeys="+this.d3t_1+", isLenient="+this.e3t_1+", "+("allowStructuredMapKeys="+this.f3t_1+", prettyPrint="+this.g3t_1+", explicitNulls="+this.h3t_1+", ")+("prettyPrintIndent='"+this.i3t_1+"', coerceInputValues="+this.j3t_1+", useArrayPolymorphism="+this.k3t_1+", ")+("classDiscriminator='"+this.l3t_1+"', allowSpecialFloatingPointValues="+this.m3t_1+", ")+("useAlternativeNames="+this.n3t_1+", namingStrategy="+Wr(this.o3t_1)+", decodeEnumsCaseInsensitive="+this.p3t_1+", ")+("allowTrailingComma="+this.q3t_1+", allowComments="+this.r3t_1+", classDiscriminatorMode="+this.s3t_1.toString()+")")}}p(e,"JsonConfiguration"),Pl=e}return Pl}var kz,Cz,zw;function xz(){if(zw)return S;zw=!0,kz=new(Ol())("NONE",0),new(Ol())("ALL_JSON_OBJECTS",1),Cz=new(Ol())("POLYMORPHIC",2)}var Bl;function Ol(){if(Bl===l){class e extends Kt(){}p(e,"ClassDiscriminatorMode"),Bl=e}return Bl}function Sz(){return xz(),kz}function zz(){return xz(),Cz}var Rl;function Y(){if(Rl===l){class e{}Ar(e,"KSerializer",l,l,[Rn(),oa()]),Rl=e}return Rl}var Ul;function Rn(){if(Ul===l){class e{}Ar(e,"SerializationStrategy"),Ul=e}return Ul}var Kl;function oa(){if(Kl===l){class e{}Ar(e,"DeserializationStrategy"),Kl=e}return Kl}function N9(){return F9(),qz}var qz,Gl;function L9(){if(Gl===l){class e{g38(r,t,n){return t=t===l?ot():t,n===l?this.h38(r,t):n.h38.call(this,r,t)}}p(e,"SerializersModule"),Gl=e}return Gl}var Jl;function j9(){if(Jl===l){class e extends L9(){constructor(r,t,n,a,s,u){super(),this.x3q_1=r,this.y3q_1=t,this.z3q_1=n,this.a3r_1=a,this.b3r_1=s,this.c3r_1=u}f38(){return this.c3r_1}k3c(r,t){if(!r.de(t))return null;var n=this.y3q_1.b3(r),a=n==null?null:n.b3(or(t)),s=a!=null&&j(a,Rn())?a:null;if(s!=null)return s;var u=this.z3q_1.b3(r),_=u!=null&&typeof u=="function"?u:null;return _==null?null:_(t)}j3c(r,t){var n=this.a3r_1.b3(r),a;n==null?a=null:a=(j(n,kt())?n:m()).b3(t);var s=a,u=s!=null&&j(s,Y())?s:null;if(u!=null)return u;var _=this.b3r_1.b3(r),o=_!=null&&typeof _=="function"?_:null;return o==null?null:o(t)}h38(r,t){var n=this.x3q_1.b3(r),a=n==null?null:n.d3r(t);return a==null||j(a,Y())?a:null}w3q(r){for(var t=this.x3q_1.e3().e1();t.f1();){var n=t.g1(),a=n.x2(),s=n.y2();if(s instanceof M9()){var u=j(a,Be())?a:m(),_=s.g3r_1;r.h3r(u,j(_,Y())?_:m())}else s instanceof T9()?r.f3r(a,s.e3r_1):gt()}for(var o=this.y3q_1.e3().e1();o.f1();)for(var c=o.g1(),h=c.x2(),f=c.y2(),v=f.e3().e1();v.f1();){var d=v.g1(),y=d.x2(),b=d.y2(),w=j(h,Be())?h:m(),x=j(y,Be())?y:m(),q=j(b,Y())?b:m();r.i3r(w,x,q)}for(var k=this.z3q_1.e3().e1();k.f1();){var A=k.g1(),D=A.x2(),B=A.y2(),R=j(D,Be())?D:m();r.j3r(R,typeof B=="function"?B:m())}for(var W=this.b3r_1.e3().e1();W.f1();){var G=W.g1(),Q=G.x2(),X=G.y2(),rr=j(Q,Be())?Q:m();r.k3r(rr,typeof X=="function"?X:m())}}}p(e,"SerialModuleImpl"),Jl=e}return Jl}var Wl;function M9(){if(Wl===l){class e extends Iz(){}p(e,"Argless"),Wl=e}return Wl}var Hl;function T9(){if(Hl===l){class e extends Iz(){}p(e,"WithTypeArguments"),Hl=e}return Hl}var Vl;function Iz(){if(Vl===l){class e{}p(e,"ContextualProvider"),Vl=e}return Vl}var qw;function F9(){qw||(qw=!0,qz=new(j9())(en(),en(),en(),en(),en(),!1))}function Un(){return N9()}function Iw(e){return ge().p7(e)}var Yl;function qa(){if(Yl===l){class e{}p(e,"Key",qa),Yl=e}return Yl}var Zl;function $z(){if(Zl===l){class e{constructor(){this.c3x_1=Iw(16)}p3y(r,t,n){var a=this.c3x_1,s=a.b3(r),u;if(s==null){var _=Iw(2);a.f3(r,_),u=_}else u=s;var o=u,c=t instanceof qa()?t:m(),h=n??m();o.f3(c,h)}d3x(r,t,n){var a=this.q3y(r,t);if(a!=null)return a;var s=n();return this.p3y(r,t,s),s}q3y(r,t){var n=this.c3x_1.b3(r),a;n==null?a=null:a=n.b3(t instanceof qa()?t:m());var s=a;return s??null}}p(e,"DescriptorSchemaCache",$z),Zl=e}return Zl}function Xl(){return _1(),Az}var Az;function li(e){_1();var i=e&15,r;if(i<10){var t=C(48),n=_r(t);r=ji(i+n|0)}else{var a=i-10|0,s=C(97),u=_r(s);r=ji(a+u|0)}return r}function Ed(e,i){_1(),e.ka(C(34));var r=0,t=0,n=xr(i)-1|0;if(t<=n)do{var a=t;t=t+1|0;var s=Tr(i,a),u=_r(s);u>12),n=li(r>>8),a=li(r>>4),s=li(r);e[r]="\\u"+Lr(t)+Lr(n)+Lr(a)+Lr(s)}while(i<=31);var u=C(34);e[_r(u)]='\\"';var _=C(92);e[_r(_)]="\\\\";var o=C(9);e[_r(o)]="\\t";var c=C(8);e[_r(c)]="\\b";var h=C(10);e[_r(h)]="\\n";var f=C(13);e[_r(f)]="\\r",e[12]="\\f",Az=e;var v=new Int8Array(93),d=0;if(d<=31)do{var y=d;d=d+1|0,v[y]=1}while(d<=31);var b=C(34),w=_r(b),x=C(34),q=_r(x);v[w]=Ot(q);var k=C(92),A=_r(k),D=C(92),B=_r(D);v[A]=Ot(B);var R=C(9),W=_r(R),G=C(116),Q=_r(G);v[W]=Ot(Q);var X=C(8),rr=_r(X),tr=C(98),ir=_r(tr);v[rr]=Ot(ir);var dr=C(10),cr=_r(dr),mr=C(110),Dr=_r(mr);v[cr]=Ot(Dr);var Ir=C(13),Or=_r(Ir),Yr=C(114),Gr=_r(Yr);v[Or]=Ot(Gr);var Er=C(102),ft=_r(Er);v[12]=Ot(ft)}}var Ql;function Nz(){if(Ql===l){class e{constructor(){this.v3r_1=On().na(128)}d2b(r){this.v3r_1.vf(r)}o3v(r){this.v3r_1.ka(r)}p3v(r){this.v3r_1.ja(r)}y3v(r){Ed(this.v3r_1,r)}i1b(){this.v3r_1.yf()}toString(){return this.v3r_1.toString()}}p(e,"JsonToStringWriter",Nz),Ql=e}return Ql}var ru;function Nd(){if(ru===l){class e extends Fa(){constructor(){Wi=null,super(),Wi=this}}P(e,"ENUM"),ru=e}return ru}var Wi;function Ie(){return Wi===l&&new(Nd()),Wi}var tu;function D9(){if(tu===l){class e extends Fa(){constructor(){Hi=null,super(),Hi=this}}P(e,"CONTEXTUAL"),tu=e}return tu}var Hi;function o1(){return Hi===l&&new(D9()),Hi}var eu;function Fa(){if(eu===l){class e{toString(){return nr(or(this).ce())}hashCode(){return br(this.toString())}}p(e,"SerialKind"),eu=e}return eu}var nu;function P9(){if(nu===l){class e extends h1(){constructor(){Vi=null,super(),Vi=this}}P(e,"CLASS"),nu=e}return nu}var Vi;function Da(){return Vi===l&&new(P9()),Vi}var au;function B9(){if(au===l){class e extends h1(){constructor(){Yi=null,super(),Yi=this}}P(e,"LIST"),au=e}return au}var Yi;function Pa(){return Yi===l&&new(B9()),Yi}var iu;function O9(){if(iu===l){class e extends h1(){constructor(){Zi=null,super(),Zi=this}}P(e,"MAP"),iu=e}return iu}var Zi;function Ba(){return Zi===l&&new(O9()),Zi}var su;function R9(){if(su===l){class e extends h1(){constructor(){Xi=null,super(),Xi=this}}P(e,"OBJECT"),su=e}return su}var Xi;function c1(){return Xi===l&&new(R9()),Xi}var lu;function h1(){if(lu===l){class e extends Fa(){}p(e,"StructureKind"),lu=e}return lu}var uu;function U9(){if(uu===l){class e extends St(){constructor(){Qi=null,super(),Qi=this}}P(e,"BOOLEAN"),uu=e}return uu}var Qi;function K9(){return Qi===l&&new(U9()),Qi}var _u;function G9(){if(_u===l){class e extends St(){constructor(){rs=null,super(),rs=this}}P(e,"BYTE"),_u=e}return _u}var rs;function J9(){return rs===l&&new(G9()),rs}var ou;function W9(){if(ou===l){class e extends St(){constructor(){ts=null,super(),ts=this}}P(e,"CHAR"),ou=e}return ou}var ts;function H9(){return ts===l&&new(W9()),ts}var cu;function V9(){if(cu===l){class e extends St(){constructor(){es=null,super(),es=this}}P(e,"SHORT"),cu=e}return cu}var es;function Y9(){return es===l&&new(V9()),es}var hu;function Z9(){if(hu===l){class e extends St(){constructor(){ns=null,super(),ns=this}}P(e,"INT"),hu=e}return hu}var ns;function X9(){return ns===l&&new(Z9()),ns}var fu;function Q9(){if(fu===l){class e extends St(){constructor(){as=null,super(),as=this}}P(e,"LONG"),fu=e}return fu}var as;function rN(){return as===l&&new(Q9()),as}var vu;function tN(){if(vu===l){class e extends St(){constructor(){is=null,super(),is=this}}P(e,"FLOAT"),vu=e}return vu}var is;function eN(){return is===l&&new(tN()),is}var pu;function nN(){if(pu===l){class e extends St(){constructor(){ss=null,super(),ss=this}}P(e,"DOUBLE"),pu=e}return pu}var ss;function aN(){return ss===l&&new(nN()),ss}var du;function iN(){if(du===l){class e extends St(){constructor(){ls=null,super(),ls=this}}P(e,"STRING"),du=e}return du}var ls;function vn(){return ls===l&&new(iN()),ls}var mu;function St(){if(mu===l){class e extends Fa(){}p(e,"PrimitiveKind"),mu=e}return mu}var wu;function sN(){if(wu===l){class e extends pn(){constructor(){us=null,super(),us=this}}P(e,"SEALED"),wu=e}return wu}var us;function Lz(){return us===l&&new(sN()),us}var gu;function lN(){if(gu===l){class e extends pn(){constructor(){_s=null,super(),_s=this}}P(e,"OPEN"),gu=e}return gu}var _s;function uN(){return _s===l&&new(lN()),_s}var yu;function pn(){if(yu===l){class e extends Fa(){}p(e,"PolymorphicKind"),yu=e}return yu}function bu(e){Je(e,e.m37_1)}var ku;function jr(){if(ku===l){class e extends H(){static n37(){var r=this.vc();return bu(r),r}static o37(r){var t=this.u(r);return bu(t),t}static p37(r,t){var n=this.xc(r,t);return bu(n),n}}p(e,"SerializationException",e.n37),ku=e}return ku}var Cu;function Xr(){if(Cu===l){class e extends jr(){static v37(r){var t=this.o37(r);return Je(t,t.u37_1),t}static w37(r){return this.v37("An unknown field for index "+r)}}p(e,"UnknownFieldException"),Cu=e}return Cu}var xu;function Z5(){if(xu===l){class e extends jr(){static d38(r,t,n){var a=this.p37(t,n);return Je(a,a.c38_1),a.b38_1=r,a}static e38(r,t){return this.d38(r,r.h1()===1?"Field '"+r.l1(0)+"' is required for type with serial name '"+t+"', but it was missing":"Fields "+$(r)+" are required for type with serial name '"+t+"', but they were missing",null)}}p(e,"MissingFieldException"),xu=e}return xu}var Su;function dn(){if(Su===l){class e extends Ld(){static d3v(r){var t=this.s3w(r);return Je(t,t.c3v_1),t}}p(e,"JsonDecodingException"),Su=e}return Su}function Sr(e,i,r){return jd(e,i+` -JSON input: `+$(Oa(r,e)))}var zu;function Ld(){if(zu===l){class e extends jr(){static s3w(r){var t=this.o37(r);return Je(t,t.r3w_1),t}}p(e,"JsonException"),zu=e}return zu}function jd(e,i){return dn().d3v(e>=0?"Unexpected JSON token at offset "+e+": "+i:i)}function Oa(e,i){if(i=i===l?-1:i,xr(e)<200)return e;if(i===-1){var r=xr(e)-60|0;if(r<=0)return e;var t=xr(e);return"....."+$(N5(e,r,t))}var n=i-30|0,a=i+30|0,s=n<=0?"":".....",u=a>=xr(e)?"":".....",_=xt(n,0),o=Tg(a,xr(e));return s+$(N5(e,_,o))+u}function mn(e,i){i=i===l?"object":i,e.t3w("Trailing comma before the end of JSON "+i,e.e3s_1-1|0,"Trailing commas are non-complaint JSON and not allowed by default. Use 'allowTrailingComma = true' in 'Json {}' builder to support them.")}function Aw(e,i){e.u3w("Unexpected special floating-point value "+$(i)+". By default, non-finite floating point values are prohibited because they do not conform JSON specification",l,"It is possible to deserialize them using 'JsonBuilder.allowSpecialFloatingPointValues = true'")}var qu;function jz(){if(qu===l){class e extends Ld(){static b3x(r){var t=this.s3w(r);return Je(t,t.a3x_1),t}}p(e,"JsonEncodingException"),qu=e}return qu}function Mz(e){return jz().b3x("Value of type '"+e.f37()+"' can't be used in JSON as a key in the map. "+("It should have either primitive or enum kind, but its kind is '"+e.o38().toString()+`'. -`)+"Use 'allowStructuredMapKeys = true' in 'Json {}' builder to convert such maps to [key1, value1, key2, value2,...] arrays.")}function Ew(e,i,r){return jd(-1,_N(e,i,r))}function Nw(e,i){return jz().b3x("Unexpected special floating-point value "+$(e)+`. By default, non-finite floating point values are prohibited because they do not conform JSON specification. It is possible to deserialize them using 'JsonBuilder.allowSpecialFloatingPointValues = true' -`+("Current output: "+$(Oa(i))))}function _N(e,i,r){return"Unexpected special floating-point value "+$(e)+" with key "+i+`. By default, non-finite floating point values are prohibited because they do not conform JSON specification. It is possible to deserialize them using 'JsonBuilder.allowSpecialFloatingPointValues = true' -`+("Current output: "+$(Oa(r)))}function wn(){return!1}function gn(){return!1}function Ra(){return ot()}var Iu;function Lt(){if(Iu===l){class e{}Ar(e,"SerialDescriptor"),Iu=e}return Iu}function oN(e){return new(hN())(e)}function Lw(e){return new(vN())(e)}var $u;function cN(){if($u===l){class e{constructor(r){this.b39_1=r,this.a39_1=r.q38()}f1(){return this.a39_1>0}g1(){var r=this.b39_1.q38(),t=this.a39_1;return this.a39_1=t-1|0,this.b39_1.v38(r-t|0)}}p(e),$u=e}return $u}var Au;function hN(){if(Au===l){class e{constructor(r){this.c39_1=r}e1(){return new(cN())(this.c39_1)}}p(e),Au=e}return Au}var Eu;function fN(){if(Eu===l){class e{constructor(r){this.e39_1=r,this.d39_1=r.q38()}f1(){return this.d39_1>0}g1(){var r=this.e39_1.q38(),t=this.d39_1;return this.d39_1=t-1|0,this.e39_1.s38(r-t|0)}}p(e),Eu=e}return Eu}var Nu;function vN(){if(Nu===l){class e{constructor(r){this.f39_1=r}e1(){return new(fN())(this.f39_1)}}p(e),Nu=e}return Nu}var Lu;function f1(){if(Lu===l){class e{}Ar(e,"CachedNames"),Lu=e}return Lu}function pN(){return yn(),Tz}var Tz;function os(e){if(yn(),j(e,f1()))return e.t39();var i=Wt().k1(e.q38()),r=0,t=e.q38();if(r")}function wN(e){return yn(),"Serializer for class '"+e+`' is not found. +import{i as P,I as fr,V as l,a as p,by as zr,ak as Py,a8 as N,bz as gr,bA as ua,b1 as lt,bB as Ht,bC as T,bD as Ws,bq as Tn,bE as A$,bF as E$,bG as j1,bk as ca,aS as Ot,bH as ae,ai as et,bI as Pa,bJ as vr,bK as hr,ay as ar,w as j,j as E,m as Z,bL as Pr,bM as Mr,bN as Vt,y as H,d as $,aJ as Br,bO as Ca,bP as ot,W as yt,n as S,aX as Rt,ae as Kt,bQ as $t,aF as Se,s as Mi,b as en,g as L5,u as bt,bR as N$,bS as By,bT as ui,aI as De,bU as Qn,bV as L$,T as m,E as Pe,bW as j$,bX as Hs,O as M$,bY as Ct,bZ as xa,L as gt,b_ as Oy,l as nr,o as Ar,D as F,b$ as T$,bn as Ry,c0 as Sa,Q as za,e as Ke,ah as er,c1 as F$,x as O,c2 as D$,f as Uy,c3 as Km,c4 as P$,c5 as j5,N as Ky,c6 as Gy,a3 as Wt,c7 as Jy,b4 as Wy,c8 as M5,t as Wr,c9 as nn,c as or,bs as kt,ca as Be,br as ye,av as C,bv as xr,aQ as Tr,aP as Lr,b8 as _r,a$ as Ti,cb as Gm,aa as Kn,k as br,h as Je,bx as T5,cc as xt,cd as B$,aW as Ur,a_ as J,ce as Jm,cf as Wm,cg as Hm,ch as Vm,ci as Fi,cj as Di,ck as O$,cl as F5,X as cd,cm as Hy,cn as Vy,co as Yy,cp as Zy,b9 as Xy,cq as R$,cr as Qy,cs as Jr,ct as rg,ax as Y,cu as Vs,cv as qa,cw as $n,cx as hd,cy as D5,cz as An,cA as fd,cB as P5,cC as En,cD as vd,cE as B5,cF as Nn,az as pd,cG as tg,cH as U$,cI as eg,aA as Et,cJ as ng,cK as lr,cL as ur,aY as oe,aC as ce,cM as Ys,cN as Zs,cO as ag,cP as K$,cQ as G$,cR as J$,cS as ig,aD as Xs,cT as sg,cU as Qs,cV as dd,cW as r1,al as t1,cX as W$,cY as O5,cZ as e1,c_ as Pi,c$ as md,aO as ki,d0 as H$,d1 as lg,d2 as M1,b6 as ug,d3 as T1,d4 as F1,d5 as D1,d6 as wd,d7 as Ci,d8 as V$,d9 as Y$,da as P1,db as xi,dc as Z$,dd as X$,de as B1,df as Si,dg as Q$,dh as r7,di as O1,dj as zi,dk as t7,dl as e7,dm as R1,dn as Ym,dp as Zm,dq as Bi,dr as Xm,ds as n7,dt as Oi,du as Qm,dv as rw,dw as a7,dx as Ri,dy as tw,dz as i7,aT as Ui,dA as ew,dB as s7,dC as nw,dD as aw,dE as iw,dF as sw,dG as Ki,dH as R5,dI as n1,dJ as l7,dK as _g,dL as u7,dM as _7,dN as o7,dO as yd,dP as og,dQ as cg,aN as c7,bw as Nr,dR as lw,dS as uw,dT as h7,ap as _w,dU as ge,aH as f7,bb as hg,dV as v7,ba as Gi,dW as Yt,dX as ha,dY as fa,J as Ia,dZ as U5,d_ as gd,d$ as bd,e0 as kd,aw as jn,e1 as fg,e2 as p7,e3 as d7,e4 as m7,aj as at,e5 as w7,e6 as vg,e7 as y7,e8 as g7,e9 as an,ea as K5,eb as G5,ec as b7,ed as a1,bi as $a,ee as k7,ef as pg,eg as C7,eh as x7,ei as S7,ej as dg,ek as z7,el as q7,em as I7,en as $7,eo as A7,ep as E7,ar as Rr,b3 as sn,eq as ow,er as N7,_ as L7,es as j7,a9 as st,et as J5,eu as cw,aE as Xt,ev as W5,ew as M7,ex as Zt,ey as T7,ez as F7,p as i1,eA as Ba,eB as Cd,eC as D7,bu as P7,eD as B7,bc as mg,bd as O7,eE as wg,eF as hw,eG as Fe,eH as R7,U as U7,eI as K7,eJ as fw,eK as G7,eL as J7,eM as xd,eN as W7,eO as yg,eP as H7,eQ as V7,eR as We,eS as Aa,eT as Y7,eU as Z7,eV as X7,eW as vw,eX as pw,eY as Q7,eZ as r8,e_ as t8,e$ as e8,f0 as n8,f1 as a8,f2 as i8,f3 as s8,ao as l8,an as dw,bl as u8,f4 as _8,f5 as _i}from"./chunks/kotlin-stdlib-CRdMVpU4.js";import{a as Sd,D as H5,l as zd,b as qd,f as o8,F as ie,d as mw,o as Ji,c as c8,e as gg,g as He,h as h8,_ as f8,i as v8,j as p8}from"./chunks/kotlin-coroutines-Cm4otwNU.js";import{T as kr,L as sr,C as y,O as pr,a as yr,b as s1,B as d8,c as m8,V as Qt,Z as bg,d as pn,e as Ft,M as w8,G as y8,P as g8,f as b8,g as k8,S as C8,h as x8,i as S8,j as z8}from"./chunks/lua-CP4YJkRS.js";(function(){const i=document.createElement("link").relList;if(i&&i.supports&&i.supports("modulepreload"))return;for(const n of document.querySelectorAll('link[rel="modulepreload"]'))t(n);new MutationObserver(n=>{for(const a of n)if(a.type==="childList")for(const s of a.addedNodes)s.tagName==="LINK"&&s.rel==="modulepreload"&&t(s)}).observe(document,{childList:!0,subtree:!0});function r(n){const a={};return n.integrity&&(a.integrity=n.integrity),n.referrerPolicy&&(a.referrerPolicy=n.referrerPolicy),n.crossOrigin==="use-credentials"?a.credentials="include":n.crossOrigin==="anonymous"?a.credentials="omit":a.credentials="same-origin",a}function t(n){if(n.ep)return;n.ep=!0;const a=r(n);fetch(n.href,a)}})();var U1;function q8(){if(U1===l){class e{c4c(r,t){if(!r)throw fr().u3(t())}}P(e,"Assert"),U1=e}return U1}var ln;ln=new(q8());var oi=Math.imul;function ww(e,i){var r=i[0]&255,t=i[1]&255,n=i[2]&255,a=i[3]&255;return r<<24|t<<16|n<<8|a}function yw(e,i){var r=E$(i,"#",""),t=j1(ca(r,0,2),16),n=j1(ca(r,2,4),16),a=j1(ca(r,4,6),16),s=255;return new Int8Array([Ot(t),Ot(n),Ot(a),Ot(s)])}function I8(e,i,r,t,n,a,s,u,_){var o=Mr(i),c=Mr(a),h=hr(Pr(o)&255),f=hr(Pr(c)&255),v=hr(vr(h)-vr(f)|0),d=Mr(i),g=Mr(a),b=hr(Pr(d)&255),w=hr(Pr(g)&255),x=hr(vr(b)-vr(w)|0),z=hr(oi(vr(v),vr(x))),k=Mr(r),A=Mr(s),D=hr(Pr(k)&255),B=hr(Pr(A)&255),R=hr(vr(D)-vr(B)|0),W=Mr(r),G=Mr(s),Q=hr(Pr(W)&255),X=hr(Pr(G)&255),rr=hr(vr(Q)-vr(X)|0),tr=hr(oi(vr(R),vr(rr))),ir=Mr(t),dr=Mr(u),cr=hr(Pr(ir)&255),mr=hr(Pr(dr)&255),Dr=hr(vr(cr)-vr(mr)|0),Ir=Mr(t),Or=Mr(u),Yr=hr(Pr(Ir)&255),Gr=hr(Pr(Or)&255),Er=hr(vr(Yr)-vr(Gr)|0),ft=hr(oi(vr(Dr),vr(Er))),vt=Mr(n),jt=Mr(_),tt=hr(Pr(vt)&255),qt=hr(Pr(jt)&255),pt=hr(vr(tt)-vr(qt)|0),It=Mr(n),Mt=Mr(_),fe=hr(Pr(It)&255),Tt=hr(Pr(Mt)&255),Ee=hr(vr(fe)-vr(Tt)|0),ve=hr(oi(vr(pt),vr(Ee))),Zn=hr(vr(z)+vr(tr)|0),Xn=hr(vr(Zn)+vr(ft)|0),Sn=hr(vr(Xn)+vr(ve)|0);return vr(Sn)}var K1;function $8(){if(K1===l){class e{constructor(){V5=this;var r=this;r.n4b_1=new Int8Array([0,0,0,0]),this.o4b_1=0}}ar(e),K1=e}return K1}var V5;function gw(){return V5===l&&new($8()),V5}var G1;function A8(){if(G1===l){class e{constructor(r){this.p4b_1=r}hh(r,t){return this.p4b_1(r,t)}compare(r,t){return this.hh(r,t)}o3(){return this.p4b_1}equals(r){var t;if(r!=null&&j(r,ae())){var n;r!=null&&j(r,et())?n=E(this.o3(),r.o3()):n=!1,t=n}else t=!1;return t}hashCode(){return Z(this.o3())}}p(e,"sam$kotlin_Comparator$0",l,l,[ae(),et()]),G1=e}return G1}function E8(e,i){var r=e.xd_1,t=i.xd_1;return Pa(r,t)}var J1;function N8(){if(J1===l){class e{constructor(r){gw();var t=this;t.t4b_1=zr().va();for(var n=Py(gw().n4b_1),a=N().d1(gr(r,10)),s=r.e1();s.f1();){var u=s.g1(),_=yw(this,u);a.c1(_)}for(var o=ua(n,a),c=this,h=0,f=o.h1(),v=Array(f);h"The color is not a RGBA color as it has "+r.length+" components"),r[3]===0)return 0;for(var a=999999999,s=0,u=0,_=this.q4b_1,o=0,c=_.length;o0)){var d="The width needs to be a positive number.";throw H().u($(d))}if(!(this.b47_1>0)){var g="The height needs to be a positive number.";throw H().u($(g))}if(!(this.c47_1.h1()<256)){var b="The number of colors should be less than 256.";throw H().u($(b))}if(!(this.e47_1.h1()<=256)){var w="The number of spritesheets is limited to 256.";throw H().u($(w))}if(!(this.h47_1>0)){var x="The zoom needs to be a positive non null value.";throw H().u($(x))}this.m47_1=new(N8())(this.c47_1)}n47(){return this.m47_1}o47(r,t){var n=dt(this.j47_1.xd_1,this.h47_1),a=dt(this.j47_1.xd_1+this.a47_1|0,this.h47_1),s=dt(this.j47_1.yd_1,this.h47_1),u=dt(this.j47_1.yd_1+this.b47_1|0,this.h47_1),_,o=Br(r);if(!(n<=o&&o<=a))_=!0;else{var c=Br(t);_=!(s<=c&&c<=u)}if(_)return null;var h=r/this.h47_1-this.j47_1.xd_1,f=t/this.h47_1-this.j47_1.yd_1;return new(Fn())(h,f)}toString(){return"GameOptions(width="+this.a47_1+", height="+this.b47_1+", palette="+$(this.c47_1)+", gameScripts="+$(this.d47_1)+", spriteSheets="+$(this.e47_1)+", gameLevels="+$(this.f47_1)+", sounds="+$(this.g47_1)+", zoom="+this.h47_1+", record="+this.i47_1+", gutter="+this.j47_1.toString()+", spriteSize="+this.k47_1.toString()+", hideMouseCursor="+this.l47_1+")"}hashCode(){var r=this.a47_1;return r=dt(r,31)+this.b47_1|0,r=dt(r,31)+Z(this.c47_1)|0,r=dt(r,31)+Z(this.d47_1)|0,r=dt(r,31)+Z(this.e47_1)|0,r=dt(r,31)+Z(this.f47_1)|0,r=dt(r,31)+Z(this.g47_1)|0,r=dt(r,31)+this.h47_1|0,r=dt(r,31)+Vt(this.i47_1)|0,r=dt(r,31)+this.j47_1.hashCode()|0,r=dt(r,31)+this.k47_1.hashCode()|0,r=dt(r,31)+Ca(this.l47_1)|0,r}equals(r){return this===r?!0:!(!(r instanceof kg())||this.a47_1!==r.a47_1||this.b47_1!==r.b47_1||!E(this.c47_1,r.c47_1)||!E(this.d47_1,r.d47_1)||!E(this.e47_1,r.e47_1)||!E(this.f47_1,r.f47_1)||!E(this.g47_1,r.g47_1)||this.h47_1!==r.h47_1||!E(this.i47_1,r.i47_1)||!this.j47_1.equals(r.j47_1)||!this.k47_1.equals(r.k47_1)||this.l47_1!==r.l47_1)}}p(e,"GameOptions"),H1=e}return H1}var Cg,xg,Sg,bw;function Id(){if(bw)return S;bw=!0,Cg=new(ra())("DEBUG",0),xg=new(ra())("INFO",1),Sg=new(ra())("WARN",2),new(ra())("ERROR",3),new(ra())("NONE",4)}var V1;function ra(){if(V1===l){class e extends Kt(){}p(e,"LogLevel"),V1=e}return V1}function Y1(e,i,r,t,n){if(i.i3_1>=e.a4f_1.i3_1){var a;switch(i.i3_1){case 0:a="🧰";break;case 1:a="ℹ️";break;case 2:a="⚠️";break;case 3:a="💥";break;case 4:return S;default:yt();break}var s=a;Rt(s+" |- "+e.z4e_1+" -| - ["+r+"] : "+n())}}var Z1;function j8(){if(Z1===l){class e{constructor(r,t){t=t===l?kw():t,this.z4e_1=r,this.a4f_1=t}m45(r,t){Y1(this,kw(),r,null,t)}g48(r,t){Y1(this,M8(),r,null,t)}v45(r,t){Y1(this,T8(),r,null,t)}}p(e,"StdOutLogger"),Z1=e}return Z1}function kw(){return Id(),Cg}function M8(){return Id(),xg}function T8(){return Id(),Sg}var Dt=Math.imul,X1;function Wi(){if(X1===l){class e{constructor(r,t,n,a,s,u,_,o,c,h,f,v,d){s=s===l?0n:s,u=u===l?0:u,_=_===l?0:_,o=o===l?0n:o,c=c===l?0n:c,h=h===l?0n:h,f=f===l?0n:f,v=v===l?0n:v,d=d===l?0n:d,this.y45_1=r,this.z45_1=t,this.a46_1=n,this.b46_1=a,this.c46_1=s,this.d46_1=u,this.e46_1=_,this.f46_1=o,this.g46_1=c,this.h46_1=h,this.i46_1=f,this.j46_1=v,this.k46_1=d}toString(){return"PerformanceMetrics(frameTime="+this.y45_1+", fps="+this.z45_1+", memoryUsed="+this.a46_1.toString()+", memoryAllocated="+this.b46_1.toString()+", gcCount="+this.c46_1.toString()+", renderTime="+this.d46_1+", cpuTime="+this.e46_1+", drawCalls="+this.f46_1.toString()+", readPixels="+this.g46_1.toString()+", vertexCount="+this.h46_1.toString()+", drawBatchPrimitives="+this.i46_1.toString()+", drawBatchSprites="+this.j46_1.toString()+", drawOnScreen="+this.k46_1.toString()+")"}hashCode(){var r=Vt(this.y45_1);return r=Dt(r,31)+Vt(this.z45_1)|0,r=Dt(r,31)+$t(this.a46_1)|0,r=Dt(r,31)+$t(this.b46_1)|0,r=Dt(r,31)+$t(this.c46_1)|0,r=Dt(r,31)+Vt(this.d46_1)|0,r=Dt(r,31)+Vt(this.e46_1)|0,r=Dt(r,31)+$t(this.f46_1)|0,r=Dt(r,31)+$t(this.g46_1)|0,r=Dt(r,31)+$t(this.h46_1)|0,r=Dt(r,31)+$t(this.i46_1)|0,r=Dt(r,31)+$t(this.j46_1)|0,r=Dt(r,31)+$t(this.k46_1)|0,r}equals(r){return this===r?!0:!(!(r instanceof Wi())||!E(this.y45_1,r.y45_1)||!E(this.z45_1,r.z45_1)||this.a46_1!==r.a46_1||this.b46_1!==r.b46_1||this.c46_1!==r.c46_1||!E(this.d46_1,r.d46_1)||!E(this.e46_1,r.e46_1)||this.f46_1!==r.f46_1||this.g46_1!==r.g46_1||this.h46_1!==r.h46_1||this.i46_1!==r.i46_1||this.j46_1!==r.j46_1||this.k46_1!==r.k46_1)}}p(e,"PerformanceMetrics"),X1=e}return X1}var Q1;function F8(){if(Q1===l){class e{constructor(){this.l54_1=0n,this.m54_1=0n,this.n54_1=0n,this.o54_1=0n,this.p54_1=0n,this.q54_1=0n,this.r54_1=0n;var r=this;r.s54_1=N().p1(),this.t54_1=300;var t=this;t.u54_1=zr().va(),this.v54_1=!1}d45(r){this.v54_1=r,r&&this.b1h()}c45(){return this.v54_1}k43(){if(!this.c45())return S;this.l54_1=this.w54()}z46(){if(!this.c45())return new(Wi())(0,0,0n,0n);var r=this.w54(),t=Se(Mi(r,this.l54_1)),n=t>0?1e3/t:0,a=this.x54(),s=this.y54(),u=this.z54(t,n,a,s,this.o54_1,this.p54_1,this.r54_1,this.q54_1);return this.s54_1.c1(u),this.s54_1.h1()>this.t54_1&&this.s54_1.w2(0),this.m54_1=r,this.n54_1=a,this.o54_1=0n,this.p54_1=0n,this.q54_1=0n,this.r54_1=0n,u}x44(r){if(!this.c45())return S;var t=this.u54_1,n=this.w54();t.f3(r,n)}a55(r){if(!this.c45())return S;var t=this.o54_1;this.o54_1=en(t,L5());var n=this,a=this.p54_1;n.p54_1=en(a,bt(r))}b55(){if(!this.c45())return S;var r=this.q54_1;this.q54_1=en(r,L5())}a45(r){if(!this.c45())return 0;var t=this.u54_1.g3(r),n;if(t==null)return 0;n=t;var a=n;return Se(Mi(this.w54(),a))}x45(r){if(!this.c45()||this.s54_1.m1())return null;var t=N$(this.s54_1,By(r,this.s54_1.h1()));if(t.m1())return null;for(var n=N().d1(gr(t,10)),a=t.e1();a.f1();){var s=a.g1(),u=s.y45_1;n.c1(u)}for(var _=ui(n),o=N().d1(gr(t,10)),c=t.e1();c.f1();){var h=c.g1(),f=h.z45_1;o.c1(f)}for(var v=ui(o),d=N().d1(gr(t,10)),g=t.e1();g.f1();){var b=g.g1(),w=b.a46_1;d.c1(w)}for(var x=De(Qn(d)),z=0n,k=t.e1();k.f1();){var A=k.g1(),D=z,B=A.b46_1;z=en(D,B)}for(var R=z,W=0n,G=t.e1();G.f1();){var Q=G.g1(),X=W,rr=Q.c46_1;W=en(X,rr)}for(var tr=W,ir=N().d1(gr(t,10)),dr=t.e1();dr.f1();){var cr=dr.g1(),mr=cr.d46_1;ir.c1(mr)}for(var Dr=ui(ir),Ir=N().d1(gr(t,10)),Or=t.e1();Or.f1();){var Yr=Or.g1(),Gr=Yr.e46_1;Ir.c1(Gr)}for(var Er=ui(Ir),ft=N().d1(gr(t,10)),vt=t.e1();vt.f1();){var jt=vt.g1(),tt=jt.f46_1;ft.c1(tt)}for(var qt=De(Qn(ft)),pt=N().d1(gr(t,10)),It=t.e1();It.f1();){var Mt=It.g1(),fe=Mt.h46_1;pt.c1(fe)}for(var Tt=De(Qn(pt)),Ee=N().d1(gr(t,10)),ve=t.e1();ve.f1();){var Zn=ve.g1(),Xn=Zn.g46_1;Ee.c1(Xn)}for(var Sn=De(Qn(Ee)),ii=N().d1(gr(t,10)),Ye=t.e1();Ye.f1();){var si=Ye.g1(),li=si.k46_1;ii.c1(li)}var L1=De(Qn(ii));return new(Wi())(_,v,x,R,tr,Dr,Er,qt,Sn,Tt,l,l,L1)}b1h(){this.s54_1.v2(),this.u54_1.v2(),this.n54_1=this.x54()}}p(e,"BasePerformanceMonitor"),Q1=e}return Q1}function D8(e){var i;try{var r=typeof window.performance.memory<"u";i=r!=null&&typeof r=="boolean"?r:m()}catch(n){var t;if(n instanceof Pe())t=!1;else throw n;i=t}return i}function P8(e){var i;try{i=!1}catch(t){var r;if(t instanceof Pe())r=!1;else throw t;i=r}return i}function B8(e){return e.s5s_1,0}function O8(e,i,r){return j$(i-r,0)}var rl;function zg(){if(rl===l){class e extends F8(){constructor(){super(),this.o5s_1=window.performance,this.p5s_1=0,this.q5s_1=0n,this.r5s_1=!1,this.s5s_1=!1,this.r5s_1=D8(),this.s5s_1=P8(),this.r5s_1&&(this.q5s_1=this.x54()),this.p5s_1=this.o5s_1.now()}x54(){if(!this.c45()||!this.r5s_1)return 0n;var r=window.performance.memory,t=r==null?null:r.usedJSHeapSize,n=t==null?null:t.toLong();return n??0n}y54(){if(!this.c45()||!this.r5s_1)return 0n;var r=this.x54(),t=L$(Mi(r,this.q5s_1),0n);return this.q5s_1=r,t}w54(){return De(this.o5s_1.now())}z54(r,t,n,a,s,u,_,o){var c=this.o5s_1.now(),h;this.p5s_1>0?h=c-this.p5s_1:h=r;var f=h;this.p5s_1=c;var v=B8(this),d=O8(this,f,v),g=f>0?1e3/f:t;return new(Wi())(f,g,n,a,0n,v,d,l,_,l,l,l,o)}}p(e,"WebGlPerformanceMonitor",zg),rl=e}return rl}var qg,Ig,$g,tl;function R8(){if(tl===l){class e{x4e(r){switch(r){case 0:return u1();case 1:return Ad();case 2:return Ed();default:return null}}}ar(e),tl=e}return tl}var l1;function Y5(){return[u1(),Ad(),Ed()]}function Ln(){return el==null&&(el=Hs(Y5())),el}var Cw;function $d(){if(Cw)return S;Cw=!0,qg=new(al())("TOUCH1",0),Ig=new(al())("TOUCH2",1),$g=new(al())("TOUCH3",2)}var el,nl;function al(){if(nl===l){class e extends Kt(){}p(e,"TouchSignal"),nl=e}return nl}function u1(){return $d(),qg}function Ad(){return $d(),Ig}function Ed(){return $d(),$g}l1=new(R8());var il;function Gn(){if(il===l){class e{constructor(r,t){M$(this,t),this.r4d_1=r;var n=this;n.s4d_1=N().p1()}t4d(){if(this.s4d_1.m1()){var r=Ct(0,this.r4d_1),t=r.v1_1,n=r.w1_1;if(t<=n)do{var a=t;t=t+1|0,this.u4d([this.k4d()])}while(a!==n)}var s=this.s4d_1.l1(this.s4d_1.h1()-1|0);return this.s4d_1.w2(this.s4d_1.h1()-1|0),s}u4d(r){for(var t=0,n=r.length;t{var t=e;return PE(t,r),S};return i.callableName="keyDown",i}function RE(e){var i=r=>{var t=e;return BE(t,r),S};return i.callableName="keyUp",i}function UE(e){var i=r=>{var t=e;return TE(t,r),S};return i.callableName="touchStart",i}function KE(e){var i=r=>{var t=e;return FE(t,r),S};return i.callableName="touchEnd",i}function GE(e){var i=r=>{var t=e;return DE(t,r),S};return i.callableName="touchMove",i}function JE(e){var i=r=>{var t=e;return EE(t,r),S};return i.callableName="mouseDown",i}function WE(e){var i=r=>{var t=e;return NE(t,r),S};return i.callableName="mouseUp",i}function HE(e){var i=r=>{var t=e;return LE(t,r),S};return i.callableName="mouseMove",i}function VE(e){var i=r=>{var t=e;return jE(t),S};return i.callableName="mouseLeave",i}function YE(e){var i=r=>{var t=e;return ME(t),S};return i.callableName="mouseEnter",i}var vl;function ZE(){if(vl===l){class e{constructor(r,t){this.p5r_1=r,this.q5r_1=t,this.p5r_1.addEventListener("keydown",OE(this),!1),this.p5r_1.addEventListener("keyup",RE(this),!1),this.p5r_1.addEventListener("touchstart",UE(this),!1),this.p5r_1.addEventListener("touchend",KE(this),!1),this.p5r_1.addEventListener("touchmove",GE(this),!1),this.p5r_1.addEventListener("mousedown",JE(this),!1),this.p5r_1.addEventListener("mouseup",WE(this),!1),this.p5r_1.addEventListener("mousemove",HE(this),!1),this.p5r_1.addEventListener("mouseleave",VE(this),!1),this.p5r_1.addEventListener("mouseenter",YE(this),!1),this.r5r_1=1,this.s5r_1=16,this.t5r_1=256;var n=this;n.u5r_1=[this.r5r_1,this.s5r_1,this.t5r_1],this.v5r_1=T$([u1(),Ad(),Ed()]),this.w5r_1=new(H8())(257),this.x5r_1=!1,this.y5r_1=new(Fn())(0,0),this.z5r_1=null}b4d(r){var t;return r.equals(Q5())?t=this.w5r_1.f4e_1:t=this.w5r_1.s4e(zw(r)),t}c4d(r){var t;return r.equals(Q5())?t=this.w5r_1.m4e():t=this.w5r_1.r4e(zw(r)),t}d4d(r){return this.w5r_1.d4d(r)}e4d(r){return this.w5r_1.e4d(r)}f4d(){return this.y5r_1}z44(){return S}b1h(){this.w5r_1.v4e()}g4d(r){this.p5r_1.addEventListener("onClick",t=>(r(),S),!1),this.z5r_1=r}}F(e).f45=$E,p(e,"JsInputHandler",l,l,[AE()]),vl=e}return vl}var pl;function XE(){if(pl===l){class e{constructor(r,t,n,a,s,u){s=s===l?n/r|0:s,u=u===l?a/t|0:u,this.f54_1=r,this.g54_1=t,this.h54_1=n,this.i54_1=a,this.j54_1=s,this.k54_1=u}}p(e,"WindowManager"),pl=e}return pl}var dl;function QE(){if(dl===l){class e{constructor(r){this.fs_1=r}gs(r){return this.fs_1.createShader(r)}hs(r,t){return this.fs_1.shaderSource(r,t)}is(r){return this.fs_1.compileShader(r)}js(r){return this.fs_1.deleteShader(r)}ks(r,t){var n=nr(this.fs_1.getShaderParameter(r,t));return typeof n=="boolean"?n?1:0:typeof n=="number"?n:m()}ls(r){return this.fs_1.getProgramInfoLog(r)}ms(r){return this.fs_1.getShaderInfoLog(r)}ns(r,t){var n=nr(this.fs_1.getProgramParameter(r,t));return typeof n=="boolean"?n?1:0:typeof n=="number"?n:m()}os(){return this.fs_1.createProgram()}ps(r,t){var n=r;return this.fs_1.attachShader(n,t)}qs(r){return this.fs_1.linkProgram(r)}rs(r){return this.fs_1.useProgram(r)}ss(r,t){return this.fs_1.getUniformLocation(r,t)}ts(r,t){return this.fs_1.getAttribLocation(r,t)}us(r){return this.fs_1.enableVertexAttribArray(r)}vs(r){return this.fs_1.disableVertexAttribArray(r)}ws(r){return this.fs_1.enable(r)}xs(r){return this.fs_1.disable(r)}ys(){var r=this.fs_1.createBuffer(),t;if(r==null)throw Pe().sc();return t=r,t}zs(r,t){return this.fs_1.bindBuffer(r,t)}at(r,t,n,a){this.fs_1.bufferData(r,t.as(),a)}bt(r,t,n,a,s,u){return this.fs_1.vertexAttribPointer(r,t,n,a,s,u)}ct(r,t){return this.fs_1.uniform1i(r,t)}dt(r,t,n){return this.fs_1.uniform2f(r,t,n)}et(r,t,n){return this.fs_1.uniform2i(r,t,n)}ft(r,t,n,a){return this.fs_1.uniform3i(r,t,n,a)}gt(r,t,n,a){return this.fs_1.viewport(r,t,n,a)}ht(r){return this.fs_1.clear(r)}it(r,t,n,a){return this.fs_1.clearColor(r,t,n,a)}jt(r,t){return this.fs_1.blendFunc(r,t)}kt(){var r=this.fs_1.createTexture(),t;if(r==null)throw Pe().sc();return t=r,t}lt(r,t,n,a,s,u,_,o,c){this.fs_1.texImage2D(r,t,n,a,s,u,_,o,c==null?null:c.as())}mt(r){return this.fs_1.activeTexture(r)}nt(r,t){return this.fs_1.bindTexture(r,t)}ot(r,t,n){return this.fs_1.texParameteri(r,t,n)}pt(){var r=this.fs_1.createVertexArray(),t;if(r==null)throw Pe().sc();return t=r,t}qt(r){return this.fs_1.bindVertexArray(r)}rt(r,t,n){return this.fs_1.drawArrays(r,t,n)}st(r,t,n,a){return this.fs_1.drawArraysInstanced(r,t,n,a)}tt(r,t){return this.fs_1.vertexAttribDivisor(r,t)}ut(r,t){return this.fs_1.pixelStorei(r,t)}vt(r,t,n,a){return this.fs_1.blendFuncSeparate(r,t,n,a)}wt(r){this.fs_1.stencilMask(r)}xt(r,t,n,a){this.fs_1.colorMask(r,t,n,a)}yt(r,t,n){this.fs_1.stencilOp(r,t,n)}zt(r,t,n){this.fs_1.stencilFunc(r,t,n)}au(r,t){return this.fs_1.bindFramebuffer(r,t)}bu(){var r=this.fs_1.createFramebuffer(),t;if(r==null)throw Pe().sc();return t=r,t}cu(r){return this.fs_1.checkFramebufferStatus(r)}du(r,t,n,a,s){return this.fs_1.framebufferTexture2D(r,t,n,a,s)}eu(r,t){return this.fs_1.bindRenderbuffer(r,t)}fu(){var r=this.fs_1.createRenderbuffer(),t;if(r==null)throw Pe().sc();return t=r,t}gu(r,t,n,a){return this.fs_1.framebufferRenderbuffer(r,t,n,a)}hu(r,t,n,a){return this.fs_1.renderbufferStorage(r,t,n,a)}iu(r,t,n,a,s,u,_){this.fs_1.readPixels(r,t,n,a,s,u,_.as())}ju(r){return this.fs_1.depthFunc(r)}}p(e,"KglJs"),dl=e}return dl}function U2(){return!1}var ml;function _1(){if(ml===l){class e{}Ar(e,"SourceStream",l,l,l,[0]),ml=e}return ml}function r9(e,i){return new Int8Array(i)}var wl;function t9(){if(wl===l){class e{constructor(r){this.k5r_1=r}d4a(r){var t=Sa().zb(za(r)),n=t,a=new XMLHttpRequest;return a.responseType="arraybuffer",a.open("GET",this.k5r_1,!0),a.onload=s=>{if(a.readyState===4&&a.status===200){var u=a.response,_=u instanceof ArrayBuffer?u:m(),o=r9(this,_),c=Ke(o);n.ib(c)}return S},a.send(),t.ac()}c4a(r){var t=Sa().zb(za(r)),n=t,a=new XMLHttpRequest;return a.responseType="arraybuffer",a.open("HEAD",this.k5r_1,!0),a.onload=s=>{var u=a.status===200,_=Ke(u);return n.ib(_),S},a.send(),t.ac()}}F(e).f4a=U2,p(e,"AjaxStream",l,l,[_1()],[0]),wl=e}return wl}var yl;function e9(){if(yl===l){class e{constructor(r,t,n){this.x53_1=r,this.y53_1=t,this.z53_1=n}}p(e,"ImageData"),yl=e}return yl}var gl;function n9(){if(gl===l){class e{constructor(r,t,n,a){a=a===l?ot():a,this.x4v_1=r,this.y4v_1=t,this.z4v_1=n,this.a4w_1=a}}p(e,"SoundData"),gl=e}return gl}function a9(){return S}function i9(){return S}function s9(e,i,r){return i=i===l?!0:i,r===l?this.a54(e,i):r.a54.call(this,e,i)}function l9(e,i,r){return i=i===l?!0:i,r===l?this.c54(e,i):r.c54.call(this,e,i)}var bl;function u9(){if(bl===l){class e{}Ar(e,"Platform"),bl=e}return bl}function*_9(e,i){var r=Sa().zb(za(i)),t=new Image;t.addEventListener("load",new(o9())(t,r)),t.src=e.l5r_1;var n=r.ac(),a=F$(n);return a===O()&&(a=yield a),a}var kl;function o9(){if(kl===l){class e{constructor(r,t){this.m5r_1=r,this.n5r_1=t}o5r(r){var t=document.createElement("canvas"),n=t instanceof HTMLCanvasElement?t:m(),a=n.getContext("2d"),s=a instanceof CanvasRenderingContext2D?a:m();n.width=this.m5r_1.width,n.height=this.m5r_1.height,s.drawImage(this.m5r_1,0,0);var u=s.getImageData(0,0,this.m5r_1.width,this.m5r_1.height),_=new Int8Array(u.data.buffer),o=new(e9())(_,this.m5r_1.width,this.m5r_1.height),c=Ke(o);this.n5r_1.ib(c)}handleEvent(r){return this.o5r(r)}}p(e),kl=e}return kl}var Cl;function c9(){if(Cl===l){class e{constructor(r){this.l5r_1=r}c4a(r){var t=Sa().zb(za(r)),n=t,a=new XMLHttpRequest;return a.responseType="arraybuffer",a.open("HEAD",this.l5r_1,!0),a.onload=s=>{var u=a.status===200,_=Ke(u);return n.ib(_),S},a.send(),t.ac()}d4a(r){return er(_9.bind(l,this),r)}}F(e).f4a=U2,p(e,"ImageDataStream",l,l,[_1()],[0]),Cl=e}return Cl}const h9=()=>{class e{constructor(r){this.url=r}}return new e(new URL(""+new URL("assets/SynthesizerAudioWorklet__generated__worklet__module-DSBZntx9.js",import.meta.url).href,import.meta.url),{type:"module"}).url};function f9(){return G2(),K2}var K2;function v9(e){G2();var i=D$("Kotlin raw error wrapper. Please check 'cause' for the original error");return i.name=f9(),Reflect.set(i,"cause",e),i}var Iw;function G2(){Iw||(Iw=!0,K2="KotlinRawErrorWrapper")}function p9(e){var i=e,r=i instanceof Error?i:null;return r??v9(e)}function d9(e,i){var r=t=>{var n=i,a=Ke(t);return n.ib(a),null};e.then(r,t=>{var n=i,a=p9(t),s=Ke(Uy(a));return n.ib(s),null})}function m9(e,i){var r=Sa().zb(za(i));return d9(e,r),r.ac()}var xl;function w9(){if(xl===l){class e{constructor(r){this.x5q_1=r}n4u(r){var t=this.x5q_1.f4b(r);return this.x5q_1.y5q(t)}f4b(r){var t=this.x5q_1.f4b(r);return t}d4u(r,t){this.x5q_1.d4u(r,t)}e4u(r){this.x5q_1.e4u(r)}}p(e,"DefaultSoundBoard"),xl=e}return xl}function y9(e,i,r,t,n){if(i==null)return new Float32Array([]);if(r.m1())return new Float32Array([]);for(var a=60/t,s=new Float32Array([]),u=r.e1();u.f1();){var _=u.g1(),o=_.a4s_1,c=o??i,h=_.x4r_1*a+c.j4s_1,f=h*44100,v=Km(f),d=P$(c.k4s_1),g=1/Math.max(1,d),b=new Float32Array(v),w=_.v4r_1,x=w==null?null:w.r4q_1,z=x??0,k=0;if(ks.length&&(s=j5(s,Yr));var Gr=0,Er=Ir;if(Erthis.d5r_1?!1:this.e5r_1.i1(r)}i1(r){return this.g5r(r)}v2(){return this.e5r_1.v2()}l1(r){return this.e5r_1.l1(r)}m1(){return this.e5r_1.m1()}e1(){return this.e5r_1.e1()}n1(r){return this.e5r_1.n1(r)}w2(r){return this.e5r_1.w2(r)}h5r(r,t){return this.e5r_1.r1(r,t)}r1(r,t){return this.h5r(r,t==null||t!=null?t:m())}i5r(r){return this.e5r_1.f2(r)}f2(r){return this.i5r(r)}j5r(r){return this.e5r_1.s2(r)}s2(r){return r==null||r!=null?this.j5r(r==null||r!=null?r:m()):-1}}p(e,"MutableFixedSizeList",l,l,[Ky()]),ql=e}return ql}var Il;function z9(){if(Il===l){class e{constructor(r){this.o4q_1=r}hh(r,t){return this.o4q_1(r,t)}compare(r,t){return this.hh(r,t)}o3(){return this.o4q_1}equals(r){var t;if(r!=null&&j(r,ae())){var n;r!=null&&j(r,et())?n=E(this.o3(),r.o3()):n=!1,t=n}else t=!1;return t}hashCode(){return Z(this.o3())}}p(e,"sam$kotlin_Comparator$0",l,l,[ae(),et()]),Il=e}return Il}function q9(e,i){var r=e.s4q_1,t=i.s4q_1;return Pa(r,t)}var J2,W2,H2,V2,Y2,Z2,X2,Q2,rk,tk,ek,nk,ak,ik,sk,lk,uk,_k,ok,ck,hk,fk,vk,pk,dk,mk,wk,yk,gk,bk,kk,Ck,xk,Sk,zk,qk,Ik,$k,Ak,Ek,Nk,Lk,jk,Mk,Tk,Fk,Dk,Pk,Bk,Ok,Rk,Uk,Kk,Gk,Jk,Wk,Hk,Vk,Yk,Zk,Xk,Qk,rC,tC,eC,nC,aC,iC,sC,lC,uC,_C,oC,cC,hC,fC,vC,pC,dC,mC,wC,yC,gC,bC,kC,CC,xC,SC,zC,qC,IC,$C,AC,EC,NC,LC,jC,MC,TC,FC,DC,PC,BC,OC,RC,UC,KC,GC,JC,WC,HC,VC,YC,ZC,XC,QC,r6,t6,e6,n6,a6,i6,s6,l6,u6,_6,o6,c6,h6,f6,v6,p6,d6,m6,w6,y6,g6,b6,k6,C6,x6,S6,z6,q6,I6,$6,A6,E6,N6,L6,j6,M6,T6,$l;function I9(){if($l===l){class e{constructor(){rp=this;for(var r=this,t=D6(),n=lt(t),a=Wt().u8(),s=N().p1(),u=0,_=n.length;u<_;){var o=n[u];u=u+1|0;var c=o.s4q_1;a.c1(c)&&s.c1(o)}var h=q9,f=new(z9())(h),v=Ws(s,f);r.u4q_1=lt(v)}v4q(r){return this.u4q_1[r]}w4q(r){return $9(r)}}ar(e),$l=e}return $l}var rp;function qe(){return q(),rp===l&&new(I9()),rp}function F6(){return[o1(),P6(),B6(),O6(),R6(),U6(),K6(),G6(),J6(),W6(),H6(),V6(),Y6(),Z6(),X6(),Q6(),rx(),tx(),ex(),nx(),ax(),ix(),sx(),lx(),ux(),_x(),ox(),cx(),hx(),fx(),vx(),px(),dx(),mx(),wx(),yx(),gx(),bx(),kx(),Cx(),xx(),Sx(),zx(),qx(),Ix(),$x(),Ax(),Ex(),Nx(),Lx(),jx(),Mx(),Tx(),Fx(),Dx(),Px(),Bx(),Ox(),Rx(),Ux(),Kx(),Gx(),Jx(),Wx(),Hx(),Vx(),Yx(),Zx(),Xx(),Qx(),rS(),tS(),eS(),nS(),aS(),iS(),sS(),lS(),uS(),_S(),oS(),cS(),hS(),fS(),vS(),jd(),pS(),dS(),mS(),wS(),yS(),gS(),bS(),kS(),CS(),xS(),SS(),zS(),Ea(),qS(),IS(),$S(),AS(),ES(),NS(),LS(),jS(),MS(),TS(),FS(),DS(),PS(),BS(),OS(),RS(),US(),KS(),GS(),JS(),WS(),HS(),VS(),YS(),ZS(),XS(),QS(),rz(),tz(),ez(),nz(),az(),iz(),sz(),lz(),uz(),_z(),oz(),cz(),hz(),fz(),vz(),pz(),dz(),mz(),wz(),yz(),gz(),bz(),kz(),Cz(),xz(),Sz(),Md()]}function $9(e){switch(e){case"C0":return o1();case"Cs0":return P6();case"Db0":return B6();case"D0":return O6();case"Ds0":return R6();case"Eb0":return U6();case"E0":return K6();case"F0":return G6();case"Fs0":return J6();case"Gb0":return W6();case"G0":return H6();case"Gs0":return V6();case"Ab0":return Y6();case"A0":return Z6();case"As0":return X6();case"Bb0":return Q6();case"B0":return rx();case"C1":return tx();case"Cs1":return ex();case"Db1":return nx();case"D1":return ax();case"Ds1":return ix();case"Eb1":return sx();case"E1":return lx();case"F1":return ux();case"Fs1":return _x();case"Gb1":return ox();case"G1":return cx();case"Gs1":return hx();case"Ab1":return fx();case"A1":return vx();case"As1":return px();case"Bb1":return dx();case"B1":return mx();case"C2":return wx();case"Cs2":return yx();case"Db2":return gx();case"D2":return bx();case"Ds2":return kx();case"Eb2":return Cx();case"E2":return xx();case"F2":return Sx();case"Fs2":return zx();case"Gb2":return qx();case"G2":return Ix();case"Gs2":return $x();case"Ab2":return Ax();case"A2":return Ex();case"As2":return Nx();case"Bb2":return Lx();case"B2":return jx();case"C3":return Mx();case"Cs3":return Tx();case"Db3":return Fx();case"D3":return Dx();case"Ds3":return Px();case"Eb3":return Bx();case"E3":return Ox();case"F3":return Rx();case"Fs3":return Ux();case"Gb3":return Kx();case"G3":return Gx();case"Gs3":return Jx();case"Ab3":return Wx();case"A3":return Hx();case"As3":return Vx();case"Bb3":return Yx();case"B3":return Zx();case"C4":return Xx();case"Cs4":return Qx();case"Db4":return rS();case"D4":return tS();case"Ds4":return eS();case"Eb4":return nS();case"E4":return aS();case"F4":return iS();case"Fs4":return sS();case"Gb4":return lS();case"G4":return uS();case"Gs4":return _S();case"Ab4":return oS();case"A4":return cS();case"As4":return hS();case"Bb4":return fS();case"B4":return vS();case"C5":return jd();case"Cs5":return pS();case"Db5":return dS();case"D5":return mS();case"Ds5":return wS();case"Eb5":return yS();case"E5":return gS();case"F5":return bS();case"Fs5":return kS();case"Gb5":return CS();case"G5":return xS();case"Gs5":return SS();case"Ab5":return zS();case"A5":return Ea();case"As5":return qS();case"Bb5":return IS();case"B5":return $S();case"C6":return AS();case"Cs6":return ES();case"Db6":return NS();case"D6":return LS();case"Ds6":return jS();case"Eb6":return MS();case"E6":return TS();case"F6":return FS();case"Fs6":return DS();case"Gb6":return PS();case"G6":return BS();case"Gs6":return OS();case"Ab6":return RS();case"A6":return US();case"As6":return KS();case"Bb6":return GS();case"B6":return JS();case"C7":return WS();case"Cs7":return HS();case"Db7":return VS();case"D7":return YS();case"Ds7":return ZS();case"Eb7":return XS();case"E7":return QS();case"F7":return rz();case"Fs7":return tz();case"Gb7":return ez();case"G7":return nz();case"Gs7":return az();case"Ab7":return iz();case"A7":return sz();case"As7":return lz();case"Bb7":return uz();case"B7":return _z();case"C8":return oz();case"Cs8":return cz();case"Db8":return hz();case"D8":return fz();case"Ds8":return vz();case"Eb8":return pz();case"E8":return dz();case"F8":return mz();case"Fs8":return wz();case"Gb8":return yz();case"G8":return gz();case"Gs8":return bz();case"Ab8":return kz();case"A8":return Cz();case"As8":return xz();case"Bb8":return Sz();case"B8":return Md();default:q(),Jy("No enum constant com.github.minigdx.tiny.lua.Note."+e);break}}function D6(){return Al==null&&(Al=Hs(F6())),Al}var $w;function q(){if($w)return S;$w=!0,J2=new(I())("C0",0,16.35,1),W2=new(I())("Cs0",1,17.32,2),H2=new(I())("Db0",2,17.32,2),V2=new(I())("D0",3,18.35,3),Y2=new(I())("Ds0",4,19.45,4),Z2=new(I())("Eb0",5,19.45,4),X2=new(I())("E0",6,20.6,5),Q2=new(I())("F0",7,21.83,6),rk=new(I())("Fs0",8,23.12,7),tk=new(I())("Gb0",9,23.12,7),ek=new(I())("G0",10,24.5,8),nk=new(I())("Gs0",11,25.96,9),ak=new(I())("Ab0",12,25.96,9),ik=new(I())("A0",13,27.5,10),sk=new(I())("As0",14,29.14,11),lk=new(I())("Bb0",15,29.14,11),uk=new(I())("B0",16,30.87,12),_k=new(I())("C1",17,32.7,13),ok=new(I())("Cs1",18,34.65,14),ck=new(I())("Db1",19,34.65,14),hk=new(I())("D1",20,36.71,15),fk=new(I())("Ds1",21,38.89,16),vk=new(I())("Eb1",22,38.89,16),pk=new(I())("E1",23,41.2,17),dk=new(I())("F1",24,43.65,18),mk=new(I())("Fs1",25,46.25,19),wk=new(I())("Gb1",26,46.25,19),yk=new(I())("G1",27,49,20),gk=new(I())("Gs1",28,51.91,21),bk=new(I())("Ab1",29,51.91,21),kk=new(I())("A1",30,55,22),Ck=new(I())("As1",31,58.27,23),xk=new(I())("Bb1",32,58.27,23),Sk=new(I())("B1",33,61.74,24),zk=new(I())("C2",34,65.41,25),qk=new(I())("Cs2",35,69.3,26),Ik=new(I())("Db2",36,69.3,26),$k=new(I())("D2",37,73.42,27),Ak=new(I())("Ds2",38,77.78,28),Ek=new(I())("Eb2",39,77.78,28),Nk=new(I())("E2",40,82.41,29),Lk=new(I())("F2",41,87.31,30),jk=new(I())("Fs2",42,92.5,31),Mk=new(I())("Gb2",43,92.5,31),Tk=new(I())("G2",44,98,32),Fk=new(I())("Gs2",45,103.83,33),Dk=new(I())("Ab2",46,103.83,33),Pk=new(I())("A2",47,110,34),Bk=new(I())("As2",48,116.54,35),Ok=new(I())("Bb2",49,116.54,35),Rk=new(I())("B2",50,123.47,36),Uk=new(I())("C3",51,130.81,37),Kk=new(I())("Cs3",52,138.59,38),Gk=new(I())("Db3",53,138.59,38),Jk=new(I())("D3",54,146.83,39),Wk=new(I())("Ds3",55,155.56,40),Hk=new(I())("Eb3",56,155.56,40),Vk=new(I())("E3",57,164.81,41),Yk=new(I())("F3",58,174.61,42),Zk=new(I())("Fs3",59,185,43),Xk=new(I())("Gb3",60,185,43),Qk=new(I())("G3",61,196,44),rC=new(I())("Gs3",62,207.65,45),tC=new(I())("Ab3",63,207.65,45),eC=new(I())("A3",64,220,46),nC=new(I())("As3",65,233.08,47),aC=new(I())("Bb3",66,233.08,47),iC=new(I())("B3",67,246.94,48),sC=new(I())("C4",68,261.63,49),lC=new(I())("Cs4",69,277.18,50),uC=new(I())("Db4",70,277.18,50),_C=new(I())("D4",71,293.66,51),oC=new(I())("Ds4",72,311.13,52),cC=new(I())("Eb4",73,311.13,52),hC=new(I())("E4",74,329.63,53),fC=new(I())("F4",75,349.23,54),vC=new(I())("Fs4",76,369.99,55),pC=new(I())("Gb4",77,369.99,55),dC=new(I())("G4",78,392,56),mC=new(I())("Gs4",79,415.3,57),wC=new(I())("Ab4",80,415.3,57),yC=new(I())("A4",81,440,58),gC=new(I())("As4",82,466.16,59),bC=new(I())("Bb4",83,466.16,59),kC=new(I())("B4",84,493.88,60),CC=new(I())("C5",85,523.25,61),xC=new(I())("Cs5",86,554.37,62),SC=new(I())("Db5",87,554.37,62),zC=new(I())("D5",88,587.33,63),qC=new(I())("Ds5",89,622.25,64),IC=new(I())("Eb5",90,622.25,64),$C=new(I())("E5",91,659.26,65),AC=new(I())("F5",92,698.46,66),EC=new(I())("Fs5",93,739.99,67),NC=new(I())("Gb5",94,739.99,67),LC=new(I())("G5",95,783.99,68),jC=new(I())("Gs5",96,830.61,69),MC=new(I())("Ab5",97,830.61,69),TC=new(I())("A5",98,880,70),FC=new(I())("As5",99,932.33,71),DC=new(I())("Bb5",100,932.33,71),PC=new(I())("B5",101,987.77,72),BC=new(I())("C6",102,1046.5,73),OC=new(I())("Cs6",103,1108.73,74),RC=new(I())("Db6",104,1108.73,74),UC=new(I())("D6",105,1174.66,75),KC=new(I())("Ds6",106,1244.51,76),GC=new(I())("Eb6",107,1244.51,76),JC=new(I())("E6",108,1318.51,77),WC=new(I())("F6",109,1396.91,78),HC=new(I())("Fs6",110,1479.98,79),VC=new(I())("Gb6",111,1479.98,79),YC=new(I())("G6",112,1567.98,80),ZC=new(I())("Gs6",113,1661.22,81),XC=new(I())("Ab6",114,1661.22,81),QC=new(I())("A6",115,1760,82),r6=new(I())("As6",116,1864.66,83),t6=new(I())("Bb6",117,1864.66,83),e6=new(I())("B6",118,1975.53,84),n6=new(I())("C7",119,2093,85),a6=new(I())("Cs7",120,2217.46,86),i6=new(I())("Db7",121,2217.46,86),s6=new(I())("D7",122,2349.32,87),l6=new(I())("Ds7",123,2489.02,88),u6=new(I())("Eb7",124,2489.02,88),_6=new(I())("E7",125,2637.02,89),o6=new(I())("F7",126,2793.83,90),c6=new(I())("Fs7",127,2959.96,91),h6=new(I())("Gb7",128,2959.96,91),f6=new(I())("G7",129,3135.96,92),v6=new(I())("Gs7",130,3322.44,93),p6=new(I())("Ab7",131,3322.44,93),d6=new(I())("A7",132,3520,94),m6=new(I())("As7",133,3729.31,95),w6=new(I())("Bb7",134,3729.31,95),y6=new(I())("B7",135,3951.07,96),g6=new(I())("C8",136,4186.01,97),b6=new(I())("Cs8",137,4434.92,98),k6=new(I())("Db8",138,4434.92,98),C6=new(I())("D8",139,4698.63,99),x6=new(I())("Ds8",140,4978.03,100),S6=new(I())("Eb8",141,4978.03,100),z6=new(I())("E8",142,5274.04,101),q6=new(I())("F8",143,5587.65,102),I6=new(I())("Fs8",144,5919.91,103),$6=new(I())("Gb8",145,5919.91,103),A6=new(I())("G8",146,6271.93,104),E6=new(I())("Gs8",147,6644.88,105),N6=new(I())("Ab8",148,6644.88,105),L6=new(I())("A8",149,7040,106),j6=new(I())("As8",150,7458.62,107),M6=new(I())("Bb8",151,7458.62,107),T6=new(I())("B8",152,7902.13,108),qe()}var Al,El;function I(){if(El===l){class e extends Kt(){constructor(r,t,n,a){super(r,t),this.r4q_1=n,this.s4q_1=a,this.t4q_1=Gy(this.h3_1,1)}x4q(){var r=(this.s4q_1-1|0)%12|0,t=((this.s4q_1-1|0)-r|0)/12|0;return t}}p(e,"Note"),El=e}return El}var Nl;function A9(){if(Nl===l){class e extends pr(){static b4r(r,t){return t===l&&(t={}),t.a4r_1=r,this.g2w(t)}f1q(r){return y().y1u(qe().v4q(r.i1p()).h3_1)}}p(e,"note",l,l,l,[1,0,2,3]),Nl=e}return Nl}var Ll;function E9(){if(Ll===l){class e extends kr(){static e4r(){return this.l2r()}g1q(r,t){for(var n=sr().p1i(),a=D6().e1();a.f1();){var s=a.g1();n.c1n(s.h3_1,y().y1t(s.s4q_1))}return n.c1n("note",A9().b4r(this)),t.c1n("notes",n),t.w1m("package").w1m("loaded").c1n("notes",n),n}}p(e,"NotesLib",e.e4r,l,l,[0,1,2,3]),Ll=e}return Ll}function o1(){return q(),J2}function P6(){return q(),W2}function B6(){return q(),H2}function O6(){return q(),V2}function R6(){return q(),Y2}function U6(){return q(),Z2}function K6(){return q(),X2}function G6(){return q(),Q2}function J6(){return q(),rk}function W6(){return q(),tk}function H6(){return q(),ek}function V6(){return q(),nk}function Y6(){return q(),ak}function Z6(){return q(),ik}function X6(){return q(),sk}function Q6(){return q(),lk}function rx(){return q(),uk}function tx(){return q(),_k}function ex(){return q(),ok}function nx(){return q(),ck}function ax(){return q(),hk}function ix(){return q(),fk}function sx(){return q(),vk}function lx(){return q(),pk}function ux(){return q(),dk}function _x(){return q(),mk}function ox(){return q(),wk}function cx(){return q(),yk}function hx(){return q(),gk}function fx(){return q(),bk}function vx(){return q(),kk}function px(){return q(),Ck}function dx(){return q(),xk}function mx(){return q(),Sk}function wx(){return q(),zk}function yx(){return q(),qk}function gx(){return q(),Ik}function bx(){return q(),$k}function kx(){return q(),Ak}function Cx(){return q(),Ek}function xx(){return q(),Nk}function Sx(){return q(),Lk}function zx(){return q(),jk}function qx(){return q(),Mk}function Ix(){return q(),Tk}function $x(){return q(),Fk}function Ax(){return q(),Dk}function Ex(){return q(),Pk}function Nx(){return q(),Bk}function Lx(){return q(),Ok}function jx(){return q(),Rk}function Mx(){return q(),Uk}function Tx(){return q(),Kk}function Fx(){return q(),Gk}function Dx(){return q(),Jk}function Px(){return q(),Wk}function Bx(){return q(),Hk}function Ox(){return q(),Vk}function Rx(){return q(),Yk}function Ux(){return q(),Zk}function Kx(){return q(),Xk}function Gx(){return q(),Qk}function Jx(){return q(),rC}function Wx(){return q(),tC}function Hx(){return q(),eC}function Vx(){return q(),nC}function Yx(){return q(),aC}function Zx(){return q(),iC}function Xx(){return q(),sC}function Qx(){return q(),lC}function rS(){return q(),uC}function tS(){return q(),_C}function eS(){return q(),oC}function nS(){return q(),cC}function aS(){return q(),hC}function iS(){return q(),fC}function sS(){return q(),vC}function lS(){return q(),pC}function uS(){return q(),dC}function _S(){return q(),mC}function oS(){return q(),wC}function cS(){return q(),yC}function hS(){return q(),gC}function fS(){return q(),bC}function vS(){return q(),kC}function jd(){return q(),CC}function pS(){return q(),xC}function dS(){return q(),SC}function mS(){return q(),zC}function wS(){return q(),qC}function yS(){return q(),IC}function gS(){return q(),$C}function bS(){return q(),AC}function kS(){return q(),EC}function CS(){return q(),NC}function xS(){return q(),LC}function SS(){return q(),jC}function zS(){return q(),MC}function Ea(){return q(),TC}function qS(){return q(),FC}function IS(){return q(),DC}function $S(){return q(),PC}function AS(){return q(),BC}function ES(){return q(),OC}function NS(){return q(),RC}function LS(){return q(),UC}function jS(){return q(),KC}function MS(){return q(),GC}function TS(){return q(),JC}function FS(){return q(),WC}function DS(){return q(),HC}function PS(){return q(),VC}function BS(){return q(),YC}function OS(){return q(),ZC}function RS(){return q(),XC}function US(){return q(),QC}function KS(){return q(),r6}function GS(){return q(),t6}function JS(){return q(),e6}function WS(){return q(),n6}function HS(){return q(),a6}function VS(){return q(),i6}function YS(){return q(),s6}function ZS(){return q(),l6}function XS(){return q(),u6}function QS(){return q(),_6}function rz(){return q(),o6}function tz(){return q(),c6}function ez(){return q(),h6}function nz(){return q(),f6}function az(){return q(),v6}function iz(){return q(),p6}function sz(){return q(),d6}function lz(){return q(),m6}function uz(){return q(),w6}function _z(){return q(),y6}function oz(){return q(),g6}function cz(){return q(),b6}function hz(){return q(),k6}function fz(){return q(),C6}function vz(){return q(),x6}function pz(){return q(),S6}function dz(){return q(),z6}function mz(){return q(),q6}function wz(){return q(),I6}function yz(){return q(),$6}function gz(){return q(),A6}function bz(){return q(),E6}function kz(){return q(),N6}function Cz(){return q(),L6}function xz(){return q(),j6}function Sz(){return q(),M6}function Md(){return q(),T6}var jl;function N9(){if(jl===l){class e{constructor(r,t,n,a){this.t5o_1=r,this.u5o_1=t,this.v5o_1=n,this.w5o_1=a}x5o(r){var t=this.t5o_1(),n=this.u5o_1(),a=this.v5o_1(),s;if(r<0)s=0;else if(r<=t){var u;t===0?u=1:u=r/t,s=u}else if(r<=(t+n|0)){var _;if(n===0)_=a;else{var o=r-t|0,c=1-a;_=1-c*o/n}s=_}else s=a;return s}y5o(r){var t=this.v5o_1(),n=this.w5o_1(),a;if(r<=n){var s;n===0||r<0?s=0:s=t*(1-r/n),a=s}else a=0;return a}}p(e,"Envelop"),jl=e}return jl}var Ml;function L9(){if(Ml===l){class e{constructor(r){this.z5o_1=r}a5p(r,t,n){for(var a=r.r4q_1,s=this.z5o_1(),u=0,_=0,o=0,c=s.length;o0?1:-1;break;case 0:var f=r*n%1;s=2*f-1;break;case 1:var v=r*n%1,d=.25;s=vr}toString(){return this.i5p_1.toString()+" - "+this.j5p_1+" - "+this.k5p_1}}p(e,"NoteProgress",Hi),Dl=e}return Dl}var Pl;function T9(){if(Pl===l){class e extends Gn(){constructor(){super(100)}k4d(){return new(Hi())}o5p(r){r.j5p_1=0,r.k5p_1=0}q4d(r){return this.o5p(r instanceof Hi()?r:m())}}p(e),Pl=e}return Pl}var Bl;function F9(){if(Bl===l){class e{constructor(r){this.p5p_1=r;var t=this,n=()=>Br(this.p5p_1.g4s_1*44100),a=()=>Br(this.p5p_1.h4s_1*44100),s=()=>this.p5p_1.i4s_1;t.q5p_1=new(N9())(n,a,s,()=>Br(this.p5p_1.j4s_1*44100));var u=this;u.r5p_1=new(L9())(()=>this.p5p_1.k4s_1);var _=this;_.s5p_1=new(M9())(()=>this.p5p_1.f4s_1);var o=this;o.t5p_1=gt().o1();var c=this;c.u5p_1=gt().o1();var h=this;h.v5p_1=new(T9())}w5p(r){var t=this.v5p_1.t4d();t.i5p_1=r,this.t5p_1.c1(t)}e4u(r){var t=this.t5p_1,n;r:{for(var a=t.e1();a.f1();){var s=a.g1();if(s.i5p_1.equals(r)){n=s;break r}}n=null}var u=n,_;if(u==null){var o=this.v5p_1.t4d();o.i5p_1=r,_=o}else _=u;var c=_;this.t5p_1.u2(c),this.u5p_1.c1(c)}x5p(){for(var r=0,t=this.t5p_1.e1();t.f1();){var n=t.g1(),a=n.i5p_1,s=n.j5p_1+n.k5p_1|0,u=this.r5p_1.a5p(a,s,(B,R)=>{for(var W=this.p5p_1.l4s_1,G=N().p1(),Q=W.e1();Q.f1();){var X=Q.g1();X.v4t()&&G.c1(X)}for(var rr=B,tr=G.e1();tr.f1();){var ir=tr.g1(),dr=rr;rr=ir.m5o(R/44100,dr)}var cr=rr;return this.s5p_1.c5q(cr,R)});u=u*this.q5p_1.x5o(n.j5p_1),r=r+u,n.j5p_1=n.j5p_1+1|0}for(var _=this.u5p_1.e1();_.f1();){var o=_.g1(),c=o.i5p_1,h=o.j5p_1+o.k5p_1|0,f=this.r5p_1.a5p(c,h,(B,R)=>{for(var W=this.p5p_1.l4s_1,G=N().p1(),Q=W.e1();Q.f1();){var X=Q.g1();X.v4t()&&G.c1(X)}for(var rr=B,tr=G.e1();tr.f1();){var ir=tr.g1(),dr=rr;rr=ir.m5o(R/44100,dr)}var cr=rr;return this.s5p_1.c5q(cr,R)}),v;if(o.j5p_1<=(this.q5p_1.t5o_1()+this.q5p_1.u5o_1()|0)){var d=o.j5p_1;o.j5p_1=d+1|0,v=this.q5p_1.x5o(d)}else{var g=o.k5p_1;o.k5p_1=g+1|0,v=this.q5p_1.y5o(g)}var b=v;f=f*b,r=r+f}for(var w=this.q5p_1.w5o_1(),x=this.u5p_1,z=N().p1(),k=x.e1();k.f1();){var A=k.g1();A.l5p(w)&&z.c1(A)}var D=z;return this.u5p_1.f2(M5(D)),this.v5p_1.v4d(D),r}c1h(){for(var r=this.t5p_1.e1();r.f1();){var t=r.g1();t.j5p_1=0}this.u5p_1.i1(this.t5p_1),this.t5p_1.v2()}}p(e,"InstrumentPlayer"),Bl=e}return Bl}var Ol;function zz(){if(Ol===l){class e{constructor(r,t,n,a,s,u,_,o,c,h,f,v,d,g,b,w,x){r=r===l?!1:r,t=t===l?!1:t,n=n===l?!1:n,a=a===l?!1:a,s=s===l?!1:s,u=u===l?!0:u,_=_===l?" ":_,o=o===l?!1:o,c=c===l?!1:c,h=h===l?"type":h,f=f===l?!1:f,v=v===l?!0:v,d=d===l?null:d,g=g===l?!1:g,b=b===l?!1:b,w=w===l?!1:w,x=x===l?Ez():x,this.c3t_1=r,this.d3t_1=t,this.e3t_1=n,this.f3t_1=a,this.g3t_1=s,this.h3t_1=u,this.i3t_1=_,this.j3t_1=o,this.k3t_1=c,this.l3t_1=h,this.m3t_1=f,this.n3t_1=v,this.o3t_1=d,this.p3t_1=g,this.q3t_1=b,this.r3t_1=w,this.s3t_1=x}toString(){return"JsonConfiguration(encodeDefaults="+this.c3t_1+", ignoreUnknownKeys="+this.d3t_1+", isLenient="+this.e3t_1+", "+("allowStructuredMapKeys="+this.f3t_1+", prettyPrint="+this.g3t_1+", explicitNulls="+this.h3t_1+", ")+("prettyPrintIndent='"+this.i3t_1+"', coerceInputValues="+this.j3t_1+", useArrayPolymorphism="+this.k3t_1+", ")+("classDiscriminator='"+this.l3t_1+"', allowSpecialFloatingPointValues="+this.m3t_1+", ")+("useAlternativeNames="+this.n3t_1+", namingStrategy="+Wr(this.o3t_1)+", decodeEnumsCaseInsensitive="+this.p3t_1+", ")+("allowTrailingComma="+this.q3t_1+", allowComments="+this.r3t_1+", classDiscriminatorMode="+this.s3t_1.toString()+")")}}p(e,"JsonConfiguration"),Ol=e}return Ol}var qz,Iz,Aw;function $z(){if(Aw)return S;Aw=!0,qz=new(Ul())("NONE",0),new(Ul())("ALL_JSON_OBJECTS",1),Iz=new(Ul())("POLYMORPHIC",2)}var Rl;function Ul(){if(Rl===l){class e extends Kt(){}p(e,"ClassDiscriminatorMode"),Rl=e}return Rl}function Az(){return $z(),qz}function Ez(){return $z(),Iz}var Kl;function V(){if(Kl===l){class e{}Ar(e,"KSerializer",l,l,[Jn(),pa()]),Kl=e}return Kl}var Gl;function Jn(){if(Gl===l){class e{}Ar(e,"SerializationStrategy"),Gl=e}return Gl}var Jl;function pa(){if(Jl===l){class e{}Ar(e,"DeserializationStrategy"),Jl=e}return Jl}function D9(){return U9(),Nz}var Nz,Wl;function P9(){if(Wl===l){class e{g38(r,t,n){return t=t===l?ot():t,n===l?this.h38(r,t):n.h38.call(this,r,t)}}p(e,"SerializersModule"),Wl=e}return Wl}var Hl;function B9(){if(Hl===l){class e extends P9(){constructor(r,t,n,a,s,u){super(),this.x3q_1=r,this.y3q_1=t,this.z3q_1=n,this.a3r_1=a,this.b3r_1=s,this.c3r_1=u}f38(){return this.c3r_1}k3c(r,t){if(!r.de(t))return null;var n=this.y3q_1.b3(r),a=n==null?null:n.b3(or(t)),s=a!=null&&j(a,Jn())?a:null;if(s!=null)return s;var u=this.z3q_1.b3(r),_=u!=null&&typeof u=="function"?u:null;return _==null?null:_(t)}j3c(r,t){var n=this.a3r_1.b3(r),a;n==null?a=null:a=(j(n,kt())?n:m()).b3(t);var s=a,u=s!=null&&j(s,V())?s:null;if(u!=null)return u;var _=this.b3r_1.b3(r),o=_!=null&&typeof _=="function"?_:null;return o==null?null:o(t)}h38(r,t){var n=this.x3q_1.b3(r),a=n==null?null:n.d3r(t);return a==null||j(a,V())?a:null}w3q(r){for(var t=this.x3q_1.e3().e1();t.f1();){var n=t.g1(),a=n.x2(),s=n.y2();if(s instanceof O9()){var u=j(a,Be())?a:m(),_=s.g3r_1;r.h3r(u,j(_,V())?_:m())}else s instanceof R9()?r.f3r(a,s.e3r_1):yt()}for(var o=this.y3q_1.e3().e1();o.f1();)for(var c=o.g1(),h=c.x2(),f=c.y2(),v=f.e3().e1();v.f1();){var d=v.g1(),g=d.x2(),b=d.y2(),w=j(h,Be())?h:m(),x=j(g,Be())?g:m(),z=j(b,V())?b:m();r.i3r(w,x,z)}for(var k=this.z3q_1.e3().e1();k.f1();){var A=k.g1(),D=A.x2(),B=A.y2(),R=j(D,Be())?D:m();r.j3r(R,typeof B=="function"?B:m())}for(var W=this.b3r_1.e3().e1();W.f1();){var G=W.g1(),Q=G.x2(),X=G.y2(),rr=j(Q,Be())?Q:m();r.k3r(rr,typeof X=="function"?X:m())}}}p(e,"SerialModuleImpl"),Hl=e}return Hl}var Vl;function O9(){if(Vl===l){class e extends Lz(){}p(e,"Argless"),Vl=e}return Vl}var Yl;function R9(){if(Yl===l){class e extends Lz(){}p(e,"WithTypeArguments"),Yl=e}return Yl}var Zl;function Lz(){if(Zl===l){class e{}p(e,"ContextualProvider"),Zl=e}return Zl}var Ew;function U9(){Ew||(Ew=!0,Nz=new(B9())(nn(),nn(),nn(),nn(),nn(),!1))}function Wn(){return D9()}function Nw(e){return ye().p7(e)}var Xl;function Na(){if(Xl===l){class e{}p(e,"Key",Na),Xl=e}return Xl}var Ql;function jz(){if(Ql===l){class e{constructor(){this.c3x_1=Nw(16)}p3y(r,t,n){var a=this.c3x_1,s=a.b3(r),u;if(s==null){var _=Nw(2);a.f3(r,_),u=_}else u=s;var o=u,c=t instanceof Na()?t:m(),h=n??m();o.f3(c,h)}d3x(r,t,n){var a=this.q3y(r,t);if(a!=null)return a;var s=n();return this.p3y(r,t,s),s}q3y(r,t){var n=this.c3x_1.b3(r),a;n==null?a=null:a=n.b3(t instanceof Na()?t:m());var s=a;return s??null}}p(e,"DescriptorSchemaCache",jz),Ql=e}return Ql}function ru(){return c1(),Mz}var Mz;function ci(e){c1();var i=e&15,r;if(i<10){var t=C(48),n=_r(t);r=Ti(i+n|0)}else{var a=i-10|0,s=C(97),u=_r(s);r=Ti(a+u|0)}return r}function Td(e,i){c1(),e.ka(C(34));var r=0,t=0,n=xr(i)-1|0;if(t<=n)do{var a=t;t=t+1|0;var s=Tr(i,a),u=_r(s);u>12),n=ci(r>>8),a=ci(r>>4),s=ci(r);e[r]="\\u"+Lr(t)+Lr(n)+Lr(a)+Lr(s)}while(i<=31);var u=C(34);e[_r(u)]='\\"';var _=C(92);e[_r(_)]="\\\\";var o=C(9);e[_r(o)]="\\t";var c=C(8);e[_r(c)]="\\b";var h=C(10);e[_r(h)]="\\n";var f=C(13);e[_r(f)]="\\r",e[12]="\\f",Mz=e;var v=new Int8Array(93),d=0;if(d<=31)do{var g=d;d=d+1|0,v[g]=1}while(d<=31);var b=C(34),w=_r(b),x=C(34),z=_r(x);v[w]=Ot(z);var k=C(92),A=_r(k),D=C(92),B=_r(D);v[A]=Ot(B);var R=C(9),W=_r(R),G=C(116),Q=_r(G);v[W]=Ot(Q);var X=C(8),rr=_r(X),tr=C(98),ir=_r(tr);v[rr]=Ot(ir);var dr=C(10),cr=_r(dr),mr=C(110),Dr=_r(mr);v[cr]=Ot(Dr);var Ir=C(13),Or=_r(Ir),Yr=C(114),Gr=_r(Yr);v[Or]=Ot(Gr);var Er=C(102),ft=_r(Er);v[12]=Ot(ft)}}var tu;function Fz(){if(tu===l){class e{constructor(){this.v3r_1=Kn().na(128)}d2b(r){this.v3r_1.vf(r)}o3v(r){this.v3r_1.ka(r)}p3v(r){this.v3r_1.ja(r)}y3v(r){Td(this.v3r_1,r)}i1b(){this.v3r_1.yf()}toString(){return this.v3r_1.toString()}}p(e,"JsonToStringWriter",Fz),tu=e}return tu}var eu;function Fd(){if(eu===l){class e extends Oa(){constructor(){Vi=null,super(),Vi=this}}P(e,"ENUM"),eu=e}return eu}var Vi;function Ie(){return Vi===l&&new(Fd()),Vi}var nu;function K9(){if(nu===l){class e extends Oa(){constructor(){Yi=null,super(),Yi=this}}P(e,"CONTEXTUAL"),nu=e}return nu}var Yi;function h1(){return Yi===l&&new(K9()),Yi}var au;function Oa(){if(au===l){class e{toString(){return nr(or(this).ce())}hashCode(){return br(this.toString())}}p(e,"SerialKind"),au=e}return au}var iu;function G9(){if(iu===l){class e extends v1(){constructor(){Zi=null,super(),Zi=this}}P(e,"CLASS"),iu=e}return iu}var Zi;function Ra(){return Zi===l&&new(G9()),Zi}var su;function J9(){if(su===l){class e extends v1(){constructor(){Xi=null,super(),Xi=this}}P(e,"LIST"),su=e}return su}var Xi;function Ua(){return Xi===l&&new(J9()),Xi}var lu;function W9(){if(lu===l){class e extends v1(){constructor(){Qi=null,super(),Qi=this}}P(e,"MAP"),lu=e}return lu}var Qi;function Ka(){return Qi===l&&new(W9()),Qi}var uu;function H9(){if(uu===l){class e extends v1(){constructor(){rs=null,super(),rs=this}}P(e,"OBJECT"),uu=e}return uu}var rs;function f1(){return rs===l&&new(H9()),rs}var _u;function v1(){if(_u===l){class e extends Oa(){}p(e,"StructureKind"),_u=e}return _u}var ou;function V9(){if(ou===l){class e extends St(){constructor(){ts=null,super(),ts=this}}P(e,"BOOLEAN"),ou=e}return ou}var ts;function Y9(){return ts===l&&new(V9()),ts}var cu;function Z9(){if(cu===l){class e extends St(){constructor(){es=null,super(),es=this}}P(e,"BYTE"),cu=e}return cu}var es;function X9(){return es===l&&new(Z9()),es}var hu;function Q9(){if(hu===l){class e extends St(){constructor(){ns=null,super(),ns=this}}P(e,"CHAR"),hu=e}return hu}var ns;function rN(){return ns===l&&new(Q9()),ns}var fu;function tN(){if(fu===l){class e extends St(){constructor(){as=null,super(),as=this}}P(e,"SHORT"),fu=e}return fu}var as;function eN(){return as===l&&new(tN()),as}var vu;function nN(){if(vu===l){class e extends St(){constructor(){is=null,super(),is=this}}P(e,"INT"),vu=e}return vu}var is;function aN(){return is===l&&new(nN()),is}var pu;function iN(){if(pu===l){class e extends St(){constructor(){ss=null,super(),ss=this}}P(e,"LONG"),pu=e}return pu}var ss;function sN(){return ss===l&&new(iN()),ss}var du;function lN(){if(du===l){class e extends St(){constructor(){ls=null,super(),ls=this}}P(e,"FLOAT"),du=e}return du}var ls;function uN(){return ls===l&&new(lN()),ls}var mu;function _N(){if(mu===l){class e extends St(){constructor(){us=null,super(),us=this}}P(e,"DOUBLE"),mu=e}return mu}var us;function oN(){return us===l&&new(_N()),us}var wu;function cN(){if(wu===l){class e extends St(){constructor(){_s=null,super(),_s=this}}P(e,"STRING"),wu=e}return wu}var _s;function dn(){return _s===l&&new(cN()),_s}var yu;function St(){if(yu===l){class e extends Oa(){}p(e,"PrimitiveKind"),yu=e}return yu}var gu;function hN(){if(gu===l){class e extends mn(){constructor(){os=null,super(),os=this}}P(e,"SEALED"),gu=e}return gu}var os;function Dz(){return os===l&&new(hN()),os}var bu;function fN(){if(bu===l){class e extends mn(){constructor(){cs=null,super(),cs=this}}P(e,"OPEN"),bu=e}return bu}var cs;function vN(){return cs===l&&new(fN()),cs}var ku;function mn(){if(ku===l){class e extends Oa(){}p(e,"PolymorphicKind"),ku=e}return ku}function Cu(e){Je(e,e.m37_1)}var xu;function jr(){if(xu===l){class e extends H(){static n37(){var r=this.vc();return Cu(r),r}static o37(r){var t=this.u(r);return Cu(t),t}static p37(r,t){var n=this.xc(r,t);return Cu(n),n}}p(e,"SerializationException",e.n37),xu=e}return xu}var Su;function Xr(){if(Su===l){class e extends jr(){static v37(r){var t=this.o37(r);return Je(t,t.u37_1),t}static w37(r){return this.v37("An unknown field for index "+r)}}p(e,"UnknownFieldException"),Su=e}return Su}var zu;function tp(){if(zu===l){class e extends jr(){static d38(r,t,n){var a=this.p37(t,n);return Je(a,a.c38_1),a.b38_1=r,a}static e38(r,t){return this.d38(r,r.h1()===1?"Field '"+r.l1(0)+"' is required for type with serial name '"+t+"', but it was missing":"Fields "+$(r)+" are required for type with serial name '"+t+"', but they were missing",null)}}p(e,"MissingFieldException"),zu=e}return zu}var qu;function wn(){if(qu===l){class e extends Dd(){static d3v(r){var t=this.s3w(r);return Je(t,t.c3v_1),t}}p(e,"JsonDecodingException"),qu=e}return qu}function Sr(e,i,r){return Pd(e,i+` +JSON input: `+$(Ga(r,e)))}var Iu;function Dd(){if(Iu===l){class e extends jr(){static s3w(r){var t=this.o37(r);return Je(t,t.r3w_1),t}}p(e,"JsonException"),Iu=e}return Iu}function Pd(e,i){return wn().d3v(e>=0?"Unexpected JSON token at offset "+e+": "+i:i)}function Ga(e,i){if(i=i===l?-1:i,xr(e)<200)return e;if(i===-1){var r=xr(e)-60|0;if(r<=0)return e;var t=xr(e);return"....."+$(T5(e,r,t))}var n=i-30|0,a=i+30|0,s=n<=0?"":".....",u=a>=xr(e)?"":".....",_=xt(n,0),o=By(a,xr(e));return s+$(T5(e,_,o))+u}function yn(e,i){i=i===l?"object":i,e.t3w("Trailing comma before the end of JSON "+i,e.e3s_1-1|0,"Trailing commas are non-complaint JSON and not allowed by default. Use 'allowTrailingComma = true' in 'Json {}' builder to support them.")}function jw(e,i){e.u3w("Unexpected special floating-point value "+$(i)+". By default, non-finite floating point values are prohibited because they do not conform JSON specification",l,"It is possible to deserialize them using 'JsonBuilder.allowSpecialFloatingPointValues = true'")}var $u;function Pz(){if($u===l){class e extends Dd(){static b3x(r){var t=this.s3w(r);return Je(t,t.a3x_1),t}}p(e,"JsonEncodingException"),$u=e}return $u}function Bz(e){return Pz().b3x("Value of type '"+e.f37()+"' can't be used in JSON as a key in the map. "+("It should have either primitive or enum kind, but its kind is '"+e.o38().toString()+`'. +`)+"Use 'allowStructuredMapKeys = true' in 'Json {}' builder to convert such maps to [key1, value1, key2, value2,...] arrays.")}function Mw(e,i,r){return Pd(-1,pN(e,i,r))}function Tw(e,i){return Pz().b3x("Unexpected special floating-point value "+$(e)+`. By default, non-finite floating point values are prohibited because they do not conform JSON specification. It is possible to deserialize them using 'JsonBuilder.allowSpecialFloatingPointValues = true' +`+("Current output: "+$(Ga(i))))}function pN(e,i,r){return"Unexpected special floating-point value "+$(e)+" with key "+i+`. By default, non-finite floating point values are prohibited because they do not conform JSON specification. It is possible to deserialize them using 'JsonBuilder.allowSpecialFloatingPointValues = true' +`+("Current output: "+$(Ga(r)))}function gn(){return!1}function bn(){return!1}function Ja(){return ot()}var Au;function Lt(){if(Au===l){class e{}Ar(e,"SerialDescriptor"),Au=e}return Au}function dN(e){return new(wN())(e)}function Fw(e){return new(gN())(e)}var Eu;function mN(){if(Eu===l){class e{constructor(r){this.b39_1=r,this.a39_1=r.q38()}f1(){return this.a39_1>0}g1(){var r=this.b39_1.q38(),t=this.a39_1;return this.a39_1=t-1|0,this.b39_1.v38(r-t|0)}}p(e),Eu=e}return Eu}var Nu;function wN(){if(Nu===l){class e{constructor(r){this.c39_1=r}e1(){return new(mN())(this.c39_1)}}p(e),Nu=e}return Nu}var Lu;function yN(){if(Lu===l){class e{constructor(r){this.e39_1=r,this.d39_1=r.q38()}f1(){return this.d39_1>0}g1(){var r=this.e39_1.q38(),t=this.d39_1;return this.d39_1=t-1|0,this.e39_1.s38(r-t|0)}}p(e),Lu=e}return Lu}var ju;function gN(){if(ju===l){class e{constructor(r){this.f39_1=r}e1(){return new(yN())(this.f39_1)}}p(e),ju=e}return ju}var Mu;function p1(){if(Mu===l){class e{}Ar(e,"CachedNames"),Mu=e}return Mu}function bN(){return kn(),Oz}var Oz;function hs(e){if(kn(),j(e,p1()))return e.t39();var i=Wt().k1(e.q38()),r=0,t=e.q38();if(r")}function xN(e){return kn(),"Serializer for class '"+e+`' is not found. Please ensure that class is marked as '@Serializable' and that the serialization compiler plugin is applied. -`}var jw;function yn(){jw||(jw=!0,Tz=[])}var gN=Math.imul,ju;function Dz(){if(ju===l){class e{constructor(r){this.v3i_1=r,this.w3i_1=new(Md())(this.v3i_1.c36())}c36(){return this.w3i_1}x3i(r,t){t!=null?(r.g3c(),r.d3c(this.v3i_1,t)):r.g3b()}d36(r,t){return this.x3i(r,t==null||t!=null?t:m())}e36(r){return r.v39()?r.j3a(this.v3i_1):r.w39()}equals(r){return this===r?!0:!(r==null||!or(this).equals(or(r))||(r instanceof Dz()||m(),!E(this.v3i_1,r.v3i_1)))}hashCode(){return V(this.v3i_1)}}p(e,"NullableSerializer",l,l,[Y()]),ju=e}return ju}var Mu;function Md(){if(Mu===l){class e{constructor(r){this.x38_1=r,this.y38_1=this.x38_1.f37()+"?",this.z38_1=os(this.x38_1)}f37(){return this.y38_1}t39(){return this.z38_1}k38(){return!0}equals(r){return this===r?!0:!(!(r instanceof Md())||!E(this.x38_1,r.x38_1))}toString(){return $(this.x38_1)+"?"}hashCode(){return gN(V(this.x38_1),31)}o38(){return this.x38_1.o38()}p38(){return this.x38_1.p38()}q38(){return this.x38_1.q38()}r38(){return this.x38_1.r38()}s38(r){return this.x38_1.s38(r)}t38(r){return this.x38_1.t38(r)}u38(r){return this.x38_1.u38(r)}v38(r){return this.x38_1.v38(r)}w38(r){return this.x38_1.w38(r)}}p(e,"SerialDescriptorForNullable",l,l,[Lt(),f1()]),Mu=e}return Mu}var yN=Math.imul;function bN(e,i){return new(Td())(e,i)}var Tu;function Td(){if(Tu===l){class e{constructor(r,t){this.l38_1=r,this.m38_1=t,this.n38_1=this.l38_1.f37()+"<"+this.m38_1.ce()+">"}f37(){return this.n38_1}equals(r){var t=r instanceof Td()?r:null,n;if(t==null)return!1;n=t;var a=n;return E(this.l38_1,a.l38_1)&&a.m38_1.equals(this.m38_1)}hashCode(){var r=this.m38_1.hashCode();return r=yN(31,r)+br(this.n38_1)|0,r}toString(){return"ContextDescriptor(kClass: "+$(this.m38_1)+", original: "+$(this.l38_1)+")"}o38(){return this.l38_1.o38()}k38(){return this.l38_1.k38()}p38(){return this.l38_1.p38()}q38(){return this.l38_1.q38()}r38(){return this.l38_1.r38()}s38(r){return this.l38_1.s38(r)}t38(r){return this.l38_1.t38(r)}u38(r){return this.l38_1.u38(r)}v38(r){return this.l38_1.v38(r)}w38(r){return this.l38_1.w38(r)}}p(e,"ContextDescriptor",l,l,[Lt()]),Tu=e}return Tu}function kN(e,i){var r=Pz(i),t;if(r==null)t=null;else{var n=e.g38(r);t=n==null?null:n.c36()}return t}function Pz(e){var i;return e instanceof Td()?i=e.m38_1:e instanceof Md()?i=Pz(e.x38_1):i=null,i}var Bz,Oz,Rz,Uz;function CN(){return[p1(),Q5(),hs(),Gz()]}function xN(){return Fu==null&&(Fu=Js(CN())),Fu}var Mw;function v1(){if(Mw)return S;Mw=!0,Bz=new(ui())("OBJ",0,C(123),C(125)),Oz=new(ui())("LIST",1,C(91),C(93)),Rz=new(ui())("MAP",2,C(123),C(125)),Uz=new(ui())("POLY_OBJ",3,C(91),C(93))}var Fu,Du;function ui(){if(Du===l){class e extends Kt(){constructor(r,t,n,a){super(r,t),this.d3z_1=n,this.e3z_1=a}}p(e,"WriteMode"),Du=e}return Du}function Kz(e,i){var r=i.o38(),t;if(r instanceof pn())t=Gz();else if(E(r,Pa()))t=Q5();else if(E(r,Ba())){var n=cs(i.v38(0),e.z3a()),a=n.o38(),s,u;if(a instanceof St()?u=!0:u=E(a,Ie()),u)s=hs();else if(e.o3r_1.f3t_1)s=Q5();else throw Mz(n);t=s}else t=p1();return t}function cs(e,i){var r;if(E(e.o38(),o1())){var t=kN(i,e),n=t==null?null:cs(t,i);r=n??e}else e.p38()?r=cs(e.v38(0),i):r=e;return r}function p1(){return v1(),Bz}function Q5(){return v1(),Oz}function hs(){return v1(),Rz}function Gz(){return v1(),Uz}var Pu;function SN(){if(Pu===l){class e extends rp(){static s3i(){fs=null;var r=this.d3b();return fs=r,r.r3i_1=Un(),r}z3a(){return this.r3i_1}f3b(r){return S}g3b(){return S}h3b(r){return S}i3b(r){return S}j3b(r){return S}k3b(r){return S}l3b(r){return S}m3b(r){return S}n3b(r){return S}o3b(r){return S}p3b(r){return S}q3b(r,t){return S}}P(e,"NoOpEncoder"),Pu=e}return Pu}var fs;function zN(){return fs===l&&SN().s3i(),fs}function qN(){}function IN(e,i){return this.k3a(e)}function $N(e,i){e.d36(this,i)}function AN(e,i){var r=e.c36().k38();if(r)return this.d3c(j(e,Rn())?e:m(),i);i==null?this.g3b():(this.g3c(),this.d3c(e,i))}var Bu;function Jz(){if(Bu===l){class e{}Ar(e,"Encoder"),Bu=e}return Bu}function EN(e,i){return!0}var Ou;function Wz(){if(Ou===l){class e{}Ar(e,"CompositeEncoder"),Ou=e}return Ou}var Ru;function rp(){if(Ru===l){class e{static d3b(){return Ur(this)}k3a(r){return this}l3a(r){}e3b(r,t){return!0}f3b(r){throw jr().o37("Non-serializable "+$(or(r))+" is not supported by "+$(or(this))+" encoder")}g3b(){throw jr().o37("'null' is not supported by default")}h3b(r){return this.f3b(r)}i3b(r){return this.f3b(r)}j3b(r){return this.f3b(r)}k3b(r){return this.f3b(r)}l3b(r){return this.f3b(r)}m3b(r){return this.f3b(r)}n3b(r){return this.f3b(r)}o3b(r){return this.f3b(new(J())(r))}p3b(r){return this.f3b(r)}q3b(r,t){return this.f3b(t)}r3b(r){return this}s3b(r,t,n){this.e3b(r,t)&&this.h3b(n)}t3b(r,t,n){this.e3b(r,t)&&this.i3b(n)}u3b(r,t,n){this.e3b(r,t)&&this.j3b(n)}v3b(r,t,n){this.e3b(r,t)&&this.k3b(n)}w3b(r,t,n){this.e3b(r,t)&&this.l3b(n)}x3b(r,t,n){this.e3b(r,t)&&this.m3b(n)}y3b(r,t,n){this.e3b(r,t)&&this.n3b(n)}z3b(r,t,n){this.e3b(r,t)&&this.o3b(n)}a3c(r,t,n){this.e3b(r,t)&&this.p3b(n)}b3c(r,t){return this.e3b(r,t)?this.r3b(r.v38(t)):zN()}c3c(r,t,n,a){this.e3b(r,t)&&this.d3c(n,a)}e3c(r,t,n,a){this.e3b(r,t)&&this.f3c(n,a)}}F(e).g3c=qN,F(e).h3c=IN,F(e).d3c=$N,F(e).f3c=AN,F(e).i3c=EN,p(e,"AbstractEncoder",l,l,[Jz(),Wz()]),Ru=e}return Ru}var Uu;function d1(){if(Uu===l){class e{constructor(r){this.g3v_1=r,this.h3v_1=!0}i3v(){this.h3v_1=!0}j3v(){return S}k3v(){this.h3v_1=!1}l3v(){this.h3v_1=!1}m3v(){return S}n3v(r){return this.g3v_1.o3v(r)}t2p(r){return this.g3v_1.p3v(r)}q3v(r){return this.g3v_1.p3v(r.toString())}r3v(r){return this.g3v_1.p3v(r.toString())}s3v(r){return this.g3v_1.d2b(bt(r))}t3v(r){return this.g3v_1.d2b(bt(r))}u3v(r){return this.g3v_1.d2b(bt(r))}v3v(r){return this.g3v_1.d2b(r)}w3v(r){return this.g3v_1.p3v(r.toString())}x3v(r){return this.g3v_1.y3v(r)}}p(e,"Composer"),Uu=e}return Uu}function NN(e,i){return i.o3r_1.g3t_1?new(LN())(e,i):new(d1())(e)}var Ku;function Tw(){if(Ku===l){class e extends d1(){constructor(r,t){super(r),this.b3w_1=t}u3v(r){if(this.b3w_1){var t=hr(r);this.x3v(Rm(t))}else{var n=hr(r);this.t2p(Rm(n))}}v3v(r){if(this.b3w_1){var t=Ti(r);this.x3v(Um(t))}else{var n=Ti(r);this.t2p(Um(n))}}s3v(r){if(this.b3w_1){var t=Mr(r);this.x3v(Km(t))}else{var n=Mr(r);this.t2p(Km(n))}}t3v(r){if(this.b3w_1){var t=Mi(r);this.x3v(Gm(t))}else{var n=Mi(r);this.t2p(Gm(n))}}}p(e,"ComposerForUnsignedNumbers"),Ku=e}return Ku}var Gu;function Fw(){if(Gu===l){class e extends d1(){constructor(r,t){super(r),this.e3w_1=t}x3v(r){this.e3w_1?super.x3v(r):super.t2p(r)}}p(e,"ComposerForUnquotedLiterals"),Gu=e}return Gu}var Ju;function LN(){if(Ju===l){class e extends d1(){constructor(r,t){super(r),this.h3w_1=t,this.i3w_1=0}i3v(){this.h3v_1=!0,this.i3w_1=this.i3w_1+1|0}j3v(){this.i3w_1=this.i3w_1-1|0}k3v(){this.h3v_1=!1,this.t2p(` -`);var r=this.i3w_1,t=0;if(tQz(e)}function eL(){return e=>e.z3h()}function nL(){return e=>rq(e)}var n_;function Kr(){if(n_===l){class e{constructor(r,t,n){t=t===l?null:t,this.x3g_1=r,this.y3g_1=t,this.z3g_1=n,this.a3h_1=-1;for(var a=this,s=0,u=this.z3g_1,_=Array(u);s{var w=this.y3g_1,x=w==null?null:w.p3i();return x??Hz()});var v=this,d=lr();v.h3h_1=ur(d,()=>{var w=this.y3g_1,x=w==null?null:w.q3i(),q;if(x==null)q=null;else{for(var k=N().d1(x.length),A=0,D=x.length;Atq(this,this.z3h()))}f37(){return this.x3g_1}q38(){return this.z3g_1}o38(){return Da()}r38(){var r=this.d3h_1;return r??ot()}t39(){return this.f3h_1.c3()}z3h(){var r=this.h3h_1,t=oe();return ce("typeParameterDescriptors",1,t,eL(),null),r.y2()}a3i(r,t){this.a3h_1=this.a3h_1+1|0,this.b3h_1[this.a3h_1]=r,this.e3h_1[this.a3h_1]=t,this.c3h_1[this.a3h_1]=null,this.a3h_1===(this.z3g_1-1|0)&&(this.f3h_1=rL(this))}j3h(r,t,n){t=t===l?!1:t;var a;return n===l?(this.a3i(r,t),a=S):a=n.a3i.call(this,r,t),a}v38(r){return ln(Qz(this),r).c36()}w38(r){return Zz(this.e3h_1,r)}u38(r){var t=ln(this.c3h_1,r);return t??ot()}s38(r){return ln(this.b3h_1,r)}t38(r){var t=this.f3h_1.b3(r);return t??-3}equals(r){var t;r:{if(this===r){t=!0;break r}if(!(r instanceof Kr())){t=!1;break r}if(this.f37()!==r.f37()){t=!1;break r}if(!Hs(this.z3h(),r.z3h())){t=!1;break r}if(this.q38()!==r.q38()){t=!1;break r}var n=0,a=this.q38();if(ne.s38(t)+": "+e.v38(t).f37())}function se(e,i,r,t){var n;if(t===l?n=iL:n=t,t=n,Vs(e)){var a="Blank serial names are prohibited";throw H().u($(a))}if(E(i,Da())){var s="For StructureKind.CLASS please use 'buildClassSerialDescriptor' instead";throw H().u($(s))}var u=new(nq())(e);return t(u),new(Fd())(e,i,u.n36_1.h1(),ry(r),u)}var a_;function nq(){if(a_===l){class e{constructor(r){this.k36_1=r,this.l36_1=!1,this.m36_1=ot(),this.n36_1=N().p1(),this.o36_1=Wt().u8(),this.p36_1=N().p1(),this.q36_1=N().p1(),this.r36_1=N().p1()}g39(r,t,n,a){if(!this.o36_1.c1(r)){var s="Element with name '"+r+"' is already registered in "+this.k36_1;throw H().u($(s))}this.n36_1.c1(r),this.p36_1.c1(t),this.q36_1.c1(n),this.r36_1.c1(a)}s36(r,t,n,a,s){n=n===l?ot():n,a=a===l?!1:a;var u;return s===l?(this.g39(r,t,n,a),u=S):u=s.g39.call(this,r,t,n,a),u}}p(e,"ClassSerialDescriptorBuilder"),a_=e}return a_}function aq(e){var i=e.s39_1,r=oe();return ce("_hashCode",1,r,aL(),null),i.y2()}function aL(){return e=>aq(e)}var i_;function Fd(){if(i_===l){class e{constructor(r,t,n,a,s){this.h39_1=r,this.i39_1=t,this.j39_1=n,this.k39_1=s.m36_1,this.l39_1=F$(s.n36_1);var u=this,_=s.n36_1;u.m39_1=lt(_),this.n39_1=X5(s.p36_1);var o=this,c=s.q36_1;o.o39_1=lt(c),this.p39_1=D$(s.r36_1);for(var h=this,f=P$(this.m39_1),v=N().d1(yr(f,10)),d=f.e1();d.f1();){var y=d.g1(),b=T(y.aj_1,y.zi_1);v.c1(b)}h.q39_1=ty(v),this.r39_1=X5(a);var w=this;w.s39_1=Ys(()=>tq(this,this.r39_1))}f37(){return this.h39_1}o38(){return this.i39_1}q38(){return this.j39_1}r38(){return this.k39_1}t39(){return this.l39_1}s38(r){return ln(this.m39_1,r)}t38(r){var t=this.q39_1.b3(r);return t??-3}u38(r){return ln(this.o39_1,r)}v38(r){return ln(this.n39_1,r)}w38(r){return Zz(this.p39_1,r)}equals(r){var t;r:{if(this===r){t=!0;break r}if(!(r instanceof Fd())){t=!1;break r}if(this.f37()!==r.f37()){t=!1;break r}if(!Hs(this.r39_1,r.r39_1)){t=!1;break r}if(this.q38()!==r.q38()){t=!1;break r}var n=0,a=this.q38();if(ne.c36()}var s_;function uL(){if(s_===l){class e{constructor(r,t){this.y3i_1=t,this.z3i_1=ot();var n=this,a=lr();n.a3j_1=ur(a,()=>{var s=c1();return se(r,s,[],u=>(u.m36_1=this.z3i_1,S))})}c36(){var r=this.a3j_1,t=oe();return ce("descriptor",1,t,lL(),null),r.y2()}u36(r,t){r.k3a(this.c36()).l3a(this.c36())}d36(r,t){return this.u36(r,t??m())}e36(r){var t=this.c36(),n=r.k3a(t);r:{if(n.a3b())break r;var a=n.b3b(this.c36());if(a===-1)break r;throw jr().o37("Unexpected index "+a)}return n.l3a(t),this.y3i_1}}p(e,"ObjectSerializer",l,l,[Y()]),s_=e}return s_}var _L=Math.imul;function sq(){return w1(),lq}var lq,l_;function oL(){if(l_===l){class e{constructor(){lp=this,this.q3n_1=new(zt())("kotlin.String",vn())}c36(){return this.q3n_1}r3n(r,t){return r.p3b(t)}d36(r,t){return this.r3n(r,t!=null&&typeof t=="string"?t:m())}e36(r){return r.f3a()}}P(e,"StringSerializer",l,l,[Y()]),l_=e}return l_}var lp;function qr(){return lp===l&&new(oL()),lp}function Qn(e){throw fr().u3("Primitive descriptor "+e.s3n_1+" does not have elements")}var u_;function zt(){if(u_===l){class e{constructor(r,t){this.s3n_1=r,this.t3n_1=t}f37(){return this.s3n_1}o38(){return this.t3n_1}q38(){return 0}s38(r){Qn(this)}t38(r){Qn(this)}w38(r){Qn(this)}v38(r){Qn(this)}u38(r){Qn(this)}toString(){return"PrimitiveDescriptor("+this.s3n_1+")"}equals(r){return this===r?!0:r instanceof zt()?!!(this.s3n_1===r.s3n_1&&E(this.t3n_1,r.t3n_1)):!1}hashCode(){return br(this.s3n_1)+_L(31,this.t3n_1.hashCode())|0}}F(e).k38=wn,F(e).p38=gn,F(e).r38=Ra,p(e,"PrimitiveSerialDescriptor",l,l,[Lt()]),u_=e}return u_}function cL(e){w1();var i=sq().b3(e);return i==null||j(i,Y())?i:m()}var __;function hL(){if(__===l){class e{constructor(){up=this,this.u3n_1=new(zt())("kotlin.Int",X9())}c36(){return this.u3n_1}v3n(r,t){return r.k3b(t)}d36(r,t){return this.v3n(r,t!=null&&typeof t=="number"?t:m())}e36(r){return r.a3a()}}P(e,"IntSerializer",l,l,[Y()]),__=e}return __}var up;function K(){return up===l&&new(hL()),up}var o_;function fL(){if(o_===l){class e{constructor(){_p=this,this.w3n_1=new(zt())("kotlin.Long",rN())}c36(){return this.w3n_1}x3n(r,t){return r.l3b(t)}d36(r,t){return this.x3n(r,t!=null&&typeof t=="bigint"?t:m())}e36(r){return r.b3a()}}P(e,"LongSerializer",l,l,[Y()]),o_=e}return o_}var _p;function Ua(){return _p===l&&new(fL()),_p}var c_;function vL(){if(c_===l){class e{constructor(){op=this,this.y3n_1=new(zt())("kotlin.Byte",J9())}c36(){return this.y3n_1}z3n(r,t){return r.i3b(t)}d36(r,t){return this.z3n(r,t!=null&&typeof t=="number"?t:m())}e36(r){return r.y39()}}P(e,"ByteSerializer",l,l,[Y()]),c_=e}return c_}var op;function pL(){return op===l&&new(vL()),op}var h_;function dL(){if(h_===l){class e{constructor(){cp=this,this.a3o_1=new(zt())("kotlin.Short",Y9())}c36(){return this.a3o_1}b3o(r,t){return r.j3b(t)}d36(r,t){return this.b3o(r,t!=null&&typeof t=="number"?t:m())}e36(r){return r.z39()}}P(e,"ShortSerializer",l,l,[Y()]),h_=e}return h_}var cp;function mL(){return cp===l&&new(dL()),cp}var f_;function wL(){if(f_===l){class e{constructor(){hp=this,this.c3o_1=new(zt())("kotlin.Char",H9())}c36(){return this.c3o_1}d3o(r,t){return r.o3b(t)}d36(r,t){return this.d3o(r,t instanceof J()?t.g2_1:m())}e3o(r){return r.e3a()}e36(r){return new(J())(this.e3o(r))}}P(e,"CharSerializer",l,l,[Y()]),f_=e}return f_}var hp;function gL(){return hp===l&&new(wL()),hp}var v_;function yL(){if(v_===l){class e{constructor(){fp=this,this.f3o_1=new(zt())("kotlin.Double",aN())}c36(){return this.f3o_1}g3o(r,t){return r.n3b(t)}d36(r,t){return this.g3o(r,t!=null&&typeof t=="number"?t:m())}e36(r){return r.d3a()}}P(e,"DoubleSerializer",l,l,[Y()]),v_=e}return v_}var fp;function bL(){return fp===l&&new(yL()),fp}var p_;function kL(){if(p_===l){class e{constructor(){vp=this,this.h3o_1=new(zt())("kotlin.Float",eN())}c36(){return this.h3o_1}i3o(r,t){return r.m3b(t)}d36(r,t){return this.i3o(r,t!=null&&typeof t=="number"?t:m())}e36(r){return r.c3a()}}P(e,"FloatSerializer",l,l,[Y()]),p_=e}return p_}var vp;function mt(){return vp===l&&new(kL()),vp}var d_;function CL(){if(d_===l){class e{constructor(){pp=this,this.j3o_1=new(zt())("kotlin.Boolean",K9())}c36(){return this.j3o_1}k3o(r,t){return r.h3b(t)}d36(r,t){return this.k3o(r,t!=null&&typeof t=="boolean"?t:m())}e36(r){return r.x39()}}P(e,"BooleanSerializer",l,l,[Y()]),d_=e}return d_}var pp;function Mn(){return pp===l&&new(CL()),pp}var m_;function xL(){if(m_===l){class e{constructor(){dp=this,this.l3o_1=new(uL())("kotlin.Unit",S)}c36(){return this.l3o_1.c36()}m3o(r,t){this.l3o_1.u36(r,S)}d36(r,t){return this.m3o(r,t instanceof od()?t:m())}n3o(r){this.l3o_1.e36(r)}e36(r){return this.n3o(r),S}}P(e,"UnitSerializer",l,l,[Y()]),m_=e}return m_}var dp;function SL(){return dp===l&&new(xL()),dp}function zL(e,i){return w1(),qL(e),new(zt())(e,i)}function qL(e){w1();for(var i=sq().d3(),r=i.e1();r.f1();){var t=r.g1(),n=t.c36().f37();if(e===n)throw H().u(ey(` +`}var Dw;function kn(){Dw||(Dw=!0,Oz=[])}var SN=Math.imul,Tu;function Uz(){if(Tu===l){class e{constructor(r){this.v3i_1=r,this.w3i_1=new(Bd())(this.v3i_1.c36())}c36(){return this.w3i_1}x3i(r,t){t!=null?(r.g3c(),r.d3c(this.v3i_1,t)):r.g3b()}d36(r,t){return this.x3i(r,t==null||t!=null?t:m())}e36(r){return r.v39()?r.j3a(this.v3i_1):r.w39()}equals(r){return this===r?!0:!(r==null||!or(this).equals(or(r))||(r instanceof Uz()||m(),!E(this.v3i_1,r.v3i_1)))}hashCode(){return Z(this.v3i_1)}}p(e,"NullableSerializer",l,l,[V()]),Tu=e}return Tu}var Fu;function Bd(){if(Fu===l){class e{constructor(r){this.x38_1=r,this.y38_1=this.x38_1.f37()+"?",this.z38_1=hs(this.x38_1)}f37(){return this.y38_1}t39(){return this.z38_1}k38(){return!0}equals(r){return this===r?!0:!(!(r instanceof Bd())||!E(this.x38_1,r.x38_1))}toString(){return $(this.x38_1)+"?"}hashCode(){return SN(Z(this.x38_1),31)}o38(){return this.x38_1.o38()}p38(){return this.x38_1.p38()}q38(){return this.x38_1.q38()}r38(){return this.x38_1.r38()}s38(r){return this.x38_1.s38(r)}t38(r){return this.x38_1.t38(r)}u38(r){return this.x38_1.u38(r)}v38(r){return this.x38_1.v38(r)}w38(r){return this.x38_1.w38(r)}}p(e,"SerialDescriptorForNullable",l,l,[Lt(),p1()]),Fu=e}return Fu}var zN=Math.imul;function qN(e,i){return new(Od())(e,i)}var Du;function Od(){if(Du===l){class e{constructor(r,t){this.l38_1=r,this.m38_1=t,this.n38_1=this.l38_1.f37()+"<"+this.m38_1.ce()+">"}f37(){return this.n38_1}equals(r){var t=r instanceof Od()?r:null,n;if(t==null)return!1;n=t;var a=n;return E(this.l38_1,a.l38_1)&&a.m38_1.equals(this.m38_1)}hashCode(){var r=this.m38_1.hashCode();return r=zN(31,r)+br(this.n38_1)|0,r}toString(){return"ContextDescriptor(kClass: "+$(this.m38_1)+", original: "+$(this.l38_1)+")"}o38(){return this.l38_1.o38()}k38(){return this.l38_1.k38()}p38(){return this.l38_1.p38()}q38(){return this.l38_1.q38()}r38(){return this.l38_1.r38()}s38(r){return this.l38_1.s38(r)}t38(r){return this.l38_1.t38(r)}u38(r){return this.l38_1.u38(r)}v38(r){return this.l38_1.v38(r)}w38(r){return this.l38_1.w38(r)}}p(e,"ContextDescriptor",l,l,[Lt()]),Du=e}return Du}function IN(e,i){var r=Kz(i),t;if(r==null)t=null;else{var n=e.g38(r);t=n==null?null:n.c36()}return t}function Kz(e){var i;return e instanceof Od()?i=e.m38_1:e instanceof Bd()?i=Kz(e.x38_1):i=null,i}var Gz,Jz,Wz,Hz;function $N(){return[m1(),np(),vs(),Yz()]}function AN(){return Pu==null&&(Pu=Hs($N())),Pu}var Pw;function d1(){if(Pw)return S;Pw=!0,Gz=new(hi())("OBJ",0,C(123),C(125)),Jz=new(hi())("LIST",1,C(91),C(93)),Wz=new(hi())("MAP",2,C(123),C(125)),Hz=new(hi())("POLY_OBJ",3,C(91),C(93))}var Pu,Bu;function hi(){if(Bu===l){class e extends Kt(){constructor(r,t,n,a){super(r,t),this.d3z_1=n,this.e3z_1=a}}p(e,"WriteMode"),Bu=e}return Bu}function Vz(e,i){var r=i.o38(),t;if(r instanceof mn())t=Yz();else if(E(r,Ua()))t=np();else if(E(r,Ka())){var n=fs(i.v38(0),e.z3a()),a=n.o38(),s,u;if(a instanceof St()?u=!0:u=E(a,Ie()),u)s=vs();else if(e.o3r_1.f3t_1)s=np();else throw Bz(n);t=s}else t=m1();return t}function fs(e,i){var r;if(E(e.o38(),h1())){var t=IN(i,e),n=t==null?null:fs(t,i);r=n??e}else e.p38()?r=fs(e.v38(0),i):r=e;return r}function m1(){return d1(),Gz}function np(){return d1(),Jz}function vs(){return d1(),Wz}function Yz(){return d1(),Hz}var Ou;function EN(){if(Ou===l){class e extends ap(){static s3i(){ps=null;var r=this.d3b();return ps=r,r.r3i_1=Wn(),r}z3a(){return this.r3i_1}f3b(r){return S}g3b(){return S}h3b(r){return S}i3b(r){return S}j3b(r){return S}k3b(r){return S}l3b(r){return S}m3b(r){return S}n3b(r){return S}o3b(r){return S}p3b(r){return S}q3b(r,t){return S}}P(e,"NoOpEncoder"),Ou=e}return Ou}var ps;function NN(){return ps===l&&EN().s3i(),ps}function LN(){}function jN(e,i){return this.k3a(e)}function MN(e,i){e.d36(this,i)}function TN(e,i){var r=e.c36().k38();if(r)return this.d3c(j(e,Jn())?e:m(),i);i==null?this.g3b():(this.g3c(),this.d3c(e,i))}var Ru;function Zz(){if(Ru===l){class e{}Ar(e,"Encoder"),Ru=e}return Ru}function FN(e,i){return!0}var Uu;function Xz(){if(Uu===l){class e{}Ar(e,"CompositeEncoder"),Uu=e}return Uu}var Ku;function ap(){if(Ku===l){class e{static d3b(){return Ur(this)}k3a(r){return this}l3a(r){}e3b(r,t){return!0}f3b(r){throw jr().o37("Non-serializable "+$(or(r))+" is not supported by "+$(or(this))+" encoder")}g3b(){throw jr().o37("'null' is not supported by default")}h3b(r){return this.f3b(r)}i3b(r){return this.f3b(r)}j3b(r){return this.f3b(r)}k3b(r){return this.f3b(r)}l3b(r){return this.f3b(r)}m3b(r){return this.f3b(r)}n3b(r){return this.f3b(r)}o3b(r){return this.f3b(new(J())(r))}p3b(r){return this.f3b(r)}q3b(r,t){return this.f3b(t)}r3b(r){return this}s3b(r,t,n){this.e3b(r,t)&&this.h3b(n)}t3b(r,t,n){this.e3b(r,t)&&this.i3b(n)}u3b(r,t,n){this.e3b(r,t)&&this.j3b(n)}v3b(r,t,n){this.e3b(r,t)&&this.k3b(n)}w3b(r,t,n){this.e3b(r,t)&&this.l3b(n)}x3b(r,t,n){this.e3b(r,t)&&this.m3b(n)}y3b(r,t,n){this.e3b(r,t)&&this.n3b(n)}z3b(r,t,n){this.e3b(r,t)&&this.o3b(n)}a3c(r,t,n){this.e3b(r,t)&&this.p3b(n)}b3c(r,t){return this.e3b(r,t)?this.r3b(r.v38(t)):NN()}c3c(r,t,n,a){this.e3b(r,t)&&this.d3c(n,a)}e3c(r,t,n,a){this.e3b(r,t)&&this.f3c(n,a)}}F(e).g3c=LN,F(e).h3c=jN,F(e).d3c=MN,F(e).f3c=TN,F(e).i3c=FN,p(e,"AbstractEncoder",l,l,[Zz(),Xz()]),Ku=e}return Ku}var Gu;function w1(){if(Gu===l){class e{constructor(r){this.g3v_1=r,this.h3v_1=!0}i3v(){this.h3v_1=!0}j3v(){return S}k3v(){this.h3v_1=!1}l3v(){this.h3v_1=!1}m3v(){return S}n3v(r){return this.g3v_1.o3v(r)}t2p(r){return this.g3v_1.p3v(r)}q3v(r){return this.g3v_1.p3v(r.toString())}r3v(r){return this.g3v_1.p3v(r.toString())}s3v(r){return this.g3v_1.d2b(bt(r))}t3v(r){return this.g3v_1.d2b(bt(r))}u3v(r){return this.g3v_1.d2b(bt(r))}v3v(r){return this.g3v_1.d2b(r)}w3v(r){return this.g3v_1.p3v(r.toString())}x3v(r){return this.g3v_1.y3v(r)}}p(e,"Composer"),Gu=e}return Gu}function DN(e,i){return i.o3r_1.g3t_1?new(PN())(e,i):new(w1())(e)}var Ju;function Bw(){if(Ju===l){class e extends w1(){constructor(r,t){super(r),this.b3w_1=t}u3v(r){if(this.b3w_1){var t=hr(r);this.x3v(Jm(t))}else{var n=hr(r);this.t2p(Jm(n))}}v3v(r){if(this.b3w_1){var t=Di(r);this.x3v(Wm(t))}else{var n=Di(r);this.t2p(Wm(n))}}s3v(r){if(this.b3w_1){var t=Mr(r);this.x3v(Hm(t))}else{var n=Mr(r);this.t2p(Hm(n))}}t3v(r){if(this.b3w_1){var t=Fi(r);this.x3v(Vm(t))}else{var n=Fi(r);this.t2p(Vm(n))}}}p(e,"ComposerForUnsignedNumbers"),Ju=e}return Ju}var Wu;function Ow(){if(Wu===l){class e extends w1(){constructor(r,t){super(r),this.e3w_1=t}x3v(r){this.e3w_1?super.x3v(r):super.t2p(r)}}p(e,"ComposerForUnquotedLiterals"),Wu=e}return Wu}var Hu;function PN(){if(Hu===l){class e extends w1(){constructor(r,t){super(r),this.h3w_1=t,this.i3w_1=0}i3v(){this.h3v_1=!0,this.i3w_1=this.i3w_1+1|0}j3v(){this.i3w_1=this.i3w_1-1|0}k3v(){this.h3v_1=!1,this.t2p(` +`);var r=this.i3w_1,t=0;if(taq(e)}function uL(){return e=>e.z3h()}function _L(){return e=>iq(e)}var i_;function Kr(){if(i_===l){class e{constructor(r,t,n){t=t===l?null:t,this.x3g_1=r,this.y3g_1=t,this.z3g_1=n,this.a3h_1=-1;for(var a=this,s=0,u=this.z3g_1,_=Array(u);s{var w=this.y3g_1,x=w==null?null:w.p3i();return x??Qz()});var v=this,d=lr();v.h3h_1=ur(d,()=>{var w=this.y3g_1,x=w==null?null:w.q3i(),z;if(x==null)z=null;else{for(var k=N().d1(x.length),A=0,D=x.length;Asq(this,this.z3h()))}f37(){return this.x3g_1}q38(){return this.z3g_1}o38(){return Ra()}r38(){var r=this.d3h_1;return r??ot()}t39(){return this.f3h_1.c3()}z3h(){var r=this.h3h_1,t=oe();return ce("typeParameterDescriptors",1,t,uL(),null),r.y2()}a3i(r,t){this.a3h_1=this.a3h_1+1|0,this.b3h_1[this.a3h_1]=r,this.e3h_1[this.a3h_1]=t,this.c3h_1[this.a3h_1]=null,this.a3h_1===(this.z3g_1-1|0)&&(this.f3h_1=sL(this))}j3h(r,t,n){t=t===l?!1:t;var a;return n===l?(this.a3i(r,t),a=S):a=n.a3i.call(this,r,t),a}v38(r){return _n(aq(this),r).c36()}w38(r){return eq(this.e3h_1,r)}u38(r){var t=_n(this.c3h_1,r);return t??ot()}s38(r){return _n(this.b3h_1,r)}t38(r){var t=this.f3h_1.b3(r);return t??-3}equals(r){var t;r:{if(this===r){t=!0;break r}if(!(r instanceof Kr())){t=!1;break r}if(this.f37()!==r.f37()){t=!1;break r}if(!Ys(this.z3h(),r.z3h())){t=!1;break r}if(this.q38()!==r.q38()){t=!1;break r}var n=0,a=this.q38();if(ne.s38(t)+": "+e.v38(t).f37())}function se(e,i,r,t){var n;if(t===l?n=cL:n=t,t=n,Zs(e)){var a="Blank serial names are prohibited";throw H().u($(a))}if(E(i,Ra())){var s="For StructureKind.CLASS please use 'buildClassSerialDescriptor' instead";throw H().u($(s))}var u=new(uq())(e);return t(u),new(Rd())(e,i,u.n36_1.h1(),ag(r),u)}var s_;function uq(){if(s_===l){class e{constructor(r){this.k36_1=r,this.l36_1=!1,this.m36_1=ot(),this.n36_1=N().p1(),this.o36_1=Wt().u8(),this.p36_1=N().p1(),this.q36_1=N().p1(),this.r36_1=N().p1()}g39(r,t,n,a){if(!this.o36_1.c1(r)){var s="Element with name '"+r+"' is already registered in "+this.k36_1;throw H().u($(s))}this.n36_1.c1(r),this.p36_1.c1(t),this.q36_1.c1(n),this.r36_1.c1(a)}s36(r,t,n,a,s){n=n===l?ot():n,a=a===l?!1:a;var u;return s===l?(this.g39(r,t,n,a),u=S):u=s.g39.call(this,r,t,n,a),u}}p(e,"ClassSerialDescriptorBuilder"),s_=e}return s_}function _q(e){var i=e.s39_1,r=oe();return ce("_hashCode",1,r,oL(),null),i.y2()}function oL(){return e=>_q(e)}var l_;function Rd(){if(l_===l){class e{constructor(r,t,n,a,s){this.h39_1=r,this.i39_1=t,this.j39_1=n,this.k39_1=s.m36_1,this.l39_1=K$(s.n36_1);var u=this,_=s.n36_1;u.m39_1=lt(_),this.n39_1=ep(s.p36_1);var o=this,c=s.q36_1;o.o39_1=lt(c),this.p39_1=G$(s.r36_1);for(var h=this,f=J$(this.m39_1),v=N().d1(gr(f,10)),d=f.e1();d.f1();){var g=d.g1(),b=T(g.aj_1,g.zi_1);v.c1(b)}h.q39_1=ig(v),this.r39_1=ep(a);var w=this;w.s39_1=Xs(()=>sq(this,this.r39_1))}f37(){return this.h39_1}o38(){return this.i39_1}q38(){return this.j39_1}r38(){return this.k39_1}t39(){return this.l39_1}s38(r){return _n(this.m39_1,r)}t38(r){var t=this.q39_1.b3(r);return t??-3}u38(r){return _n(this.o39_1,r)}v38(r){return _n(this.n39_1,r)}w38(r){return eq(this.p39_1,r)}equals(r){var t;r:{if(this===r){t=!0;break r}if(!(r instanceof Rd())){t=!1;break r}if(this.f37()!==r.f37()){t=!1;break r}if(!Ys(this.r39_1,r.r39_1)){t=!1;break r}if(this.q38()!==r.q38()){t=!1;break r}var n=0,a=this.q38();if(ne.c36()}var u_;function vL(){if(u_===l){class e{constructor(r,t){this.y3i_1=t,this.z3i_1=ot();var n=this,a=lr();n.a3j_1=ur(a,()=>{var s=f1();return se(r,s,[],u=>(u.m36_1=this.z3i_1,S))})}c36(){var r=this.a3j_1,t=oe();return ce("descriptor",1,t,fL(),null),r.y2()}u36(r,t){r.k3a(this.c36()).l3a(this.c36())}d36(r,t){return this.u36(r,t??m())}e36(r){var t=this.c36(),n=r.k3a(t);r:{if(n.a3b())break r;var a=n.b3b(this.c36());if(a===-1)break r;throw jr().o37("Unexpected index "+a)}return n.l3a(t),this.y3i_1}}p(e,"ObjectSerializer",l,l,[V()]),u_=e}return u_}var pL=Math.imul;function cq(){return g1(),hq}var hq,__;function dL(){if(__===l){class e{constructor(){cp=this,this.q3n_1=new(zt())("kotlin.String",dn())}c36(){return this.q3n_1}r3n(r,t){return r.p3b(t)}d36(r,t){return this.r3n(r,t!=null&&typeof t=="string"?t:m())}e36(r){return r.f3a()}}P(e,"StringSerializer",l,l,[V()]),__=e}return __}var cp;function qr(){return cp===l&&new(dL()),cp}function na(e){throw fr().u3("Primitive descriptor "+e.s3n_1+" does not have elements")}var o_;function zt(){if(o_===l){class e{constructor(r,t){this.s3n_1=r,this.t3n_1=t}f37(){return this.s3n_1}o38(){return this.t3n_1}q38(){return 0}s38(r){na(this)}t38(r){na(this)}w38(r){na(this)}v38(r){na(this)}u38(r){na(this)}toString(){return"PrimitiveDescriptor("+this.s3n_1+")"}equals(r){return this===r?!0:r instanceof zt()?!!(this.s3n_1===r.s3n_1&&E(this.t3n_1,r.t3n_1)):!1}hashCode(){return br(this.s3n_1)+pL(31,this.t3n_1.hashCode())|0}}F(e).k38=gn,F(e).p38=bn,F(e).r38=Ja,p(e,"PrimitiveSerialDescriptor",l,l,[Lt()]),o_=e}return o_}function mL(e){g1();var i=cq().b3(e);return i==null||j(i,V())?i:m()}var c_;function wL(){if(c_===l){class e{constructor(){hp=this,this.u3n_1=new(zt())("kotlin.Int",aN())}c36(){return this.u3n_1}v3n(r,t){return r.k3b(t)}d36(r,t){return this.v3n(r,t!=null&&typeof t=="number"?t:m())}e36(r){return r.a3a()}}P(e,"IntSerializer",l,l,[V()]),c_=e}return c_}var hp;function K(){return hp===l&&new(wL()),hp}var h_;function yL(){if(h_===l){class e{constructor(){fp=this,this.w3n_1=new(zt())("kotlin.Long",sN())}c36(){return this.w3n_1}x3n(r,t){return r.l3b(t)}d36(r,t){return this.x3n(r,t!=null&&typeof t=="bigint"?t:m())}e36(r){return r.b3a()}}P(e,"LongSerializer",l,l,[V()]),h_=e}return h_}var fp;function Wa(){return fp===l&&new(yL()),fp}var f_;function gL(){if(f_===l){class e{constructor(){vp=this,this.y3n_1=new(zt())("kotlin.Byte",X9())}c36(){return this.y3n_1}z3n(r,t){return r.i3b(t)}d36(r,t){return this.z3n(r,t!=null&&typeof t=="number"?t:m())}e36(r){return r.y39()}}P(e,"ByteSerializer",l,l,[V()]),f_=e}return f_}var vp;function bL(){return vp===l&&new(gL()),vp}var v_;function kL(){if(v_===l){class e{constructor(){pp=this,this.a3o_1=new(zt())("kotlin.Short",eN())}c36(){return this.a3o_1}b3o(r,t){return r.j3b(t)}d36(r,t){return this.b3o(r,t!=null&&typeof t=="number"?t:m())}e36(r){return r.z39()}}P(e,"ShortSerializer",l,l,[V()]),v_=e}return v_}var pp;function CL(){return pp===l&&new(kL()),pp}var p_;function xL(){if(p_===l){class e{constructor(){dp=this,this.c3o_1=new(zt())("kotlin.Char",rN())}c36(){return this.c3o_1}d3o(r,t){return r.o3b(t)}d36(r,t){return this.d3o(r,t instanceof J()?t.g2_1:m())}e3o(r){return r.e3a()}e36(r){return new(J())(this.e3o(r))}}P(e,"CharSerializer",l,l,[V()]),p_=e}return p_}var dp;function SL(){return dp===l&&new(xL()),dp}var d_;function zL(){if(d_===l){class e{constructor(){mp=this,this.f3o_1=new(zt())("kotlin.Double",oN())}c36(){return this.f3o_1}g3o(r,t){return r.n3b(t)}d36(r,t){return this.g3o(r,t!=null&&typeof t=="number"?t:m())}e36(r){return r.d3a()}}P(e,"DoubleSerializer",l,l,[V()]),d_=e}return d_}var mp;function qL(){return mp===l&&new(zL()),mp}var m_;function IL(){if(m_===l){class e{constructor(){wp=this,this.h3o_1=new(zt())("kotlin.Float",uN())}c36(){return this.h3o_1}i3o(r,t){return r.m3b(t)}d36(r,t){return this.i3o(r,t!=null&&typeof t=="number"?t:m())}e36(r){return r.c3a()}}P(e,"FloatSerializer",l,l,[V()]),m_=e}return m_}var wp;function mt(){return wp===l&&new(IL()),wp}var w_;function $L(){if(w_===l){class e{constructor(){yp=this,this.j3o_1=new(zt())("kotlin.Boolean",Y9())}c36(){return this.j3o_1}k3o(r,t){return r.h3b(t)}d36(r,t){return this.k3o(r,t!=null&&typeof t=="boolean"?t:m())}e36(r){return r.x39()}}P(e,"BooleanSerializer",l,l,[V()]),w_=e}return w_}var yp;function Dn(){return yp===l&&new($L()),yp}var y_;function AL(){if(y_===l){class e{constructor(){gp=this,this.l3o_1=new(vL())("kotlin.Unit",S)}c36(){return this.l3o_1.c36()}m3o(r,t){this.l3o_1.u36(r,S)}d36(r,t){return this.m3o(r,t instanceof pd()?t:m())}n3o(r){this.l3o_1.e36(r)}e36(r){return this.n3o(r),S}}P(e,"UnitSerializer",l,l,[V()]),y_=e}return y_}var gp;function EL(){return gp===l&&new(AL()),gp}function NL(e,i){return g1(),LL(e),new(zt())(e,i)}function LL(e){g1();for(var i=cq().d3(),r=i.e1();r.f1();){var t=r.g1(),n=t.c36().f37();if(e===n)throw H().u(sg(` The name of serial descriptor should uniquely identify associated serializer. For serial name `+e+" there already exists "+or(t).ce()+`. Please refer to SerialDescriptor documentation for additional information. - `))}}var Ow;function w1(){Ow||(Ow=!0,lq=JN())}var IL=Math.imul;function Ka(e,i){return new(uq())(e,new($L())(i))}var w_;function uq(){if(w_===l){class e extends Kr(){constructor(r,t){super(r,t,1),this.n3i_1=!0}p38(){return this.n3i_1}hashCode(){return IL(super.hashCode(),31)}equals(r){var t;r:{if(this===r){t=!0;break r}if(!(r instanceof uq())){t=!1;break r}if(this.f37()!==r.f37()){t=!1;break r}if(!(r.n3i_1&&Hs(this.z3h(),r.z3h()))){t=!1;break r}if(this.q38()!==r.q38()){t=!1;break r}var n=0,a=this.q38();if(n=0)){var t="Illegal index "+r+", "+this.f37()+" expects only non-negative indices";throw H().u($(t))}return!1}u38(r){if(!(r>=0)){var t="Illegal index "+r+", "+this.f37()+" expects only non-negative indices";throw H().u($(t))}return ot()}v38(r){if(!(r>=0)){var t="Illegal index "+r+", "+this.f37()+" expects only non-negative indices";throw H().u($(t))}return this.w3c_1}equals(r){return this===r?!0:r instanceof Kn()?!!(E(this.w3c_1,r.w3c_1)&&this.f37()===r.f37()):!1}hashCode(){return bp(V(this.w3c_1),31)+br(this.f37())|0}toString(){return this.f37()+"("+$(this.w3c_1)+")"}}F(e).k38=wn,F(e).p38=gn,F(e).r38=Ra,p(e,"ListLikeDescriptor",l,l,[Lt()]),A_=e}return A_}var E_;function Pd(){if(E_===l){class e{constructor(r,t,n){this.c3d_1=r,this.d3d_1=t,this.e3d_1=n,this.f3d_1=2}f37(){return this.c3d_1}o38(){return Ba()}q38(){return this.f3d_1}s38(r){return r.toString()}t38(r){var t=Xs(r),n;if(t==null)throw H().u(r+" is not a valid map index");return n=t,n}w38(r){if(!(r>=0)){var t="Illegal index "+r+", "+this.f37()+" expects only non-negative indices";throw H().u($(t))}return!1}u38(r){if(!(r>=0)){var t="Illegal index "+r+", "+this.f37()+" expects only non-negative indices";throw H().u($(t))}return ot()}v38(r){if(!(r>=0)){var t="Illegal index "+r+", "+this.f37()+" expects only non-negative indices";throw H().u($(t))}var n;switch(r%2|0){case 0:n=this.d3d_1;break;case 1:n=this.e3d_1;break;default:var a="Unreached";throw fr().u3($(a))}return n}equals(r){return this===r?!0:!(!(r instanceof Pd())||this.f37()!==r.f37()||!E(this.d3d_1,r.d3d_1)||!E(this.e3d_1,r.e3d_1))}hashCode(){var r=br(this.f37());return r=bp(31,r)+V(this.d3d_1)|0,r=bp(31,r)+V(this.e3d_1)|0,r}toString(){return this.f37()+"("+$(this.d3d_1)+", "+$(this.e3d_1)+")"}}F(e).k38=wn,F(e).p38=gn,F(e).r38=Ra,p(e,"MapLikeDescriptor",l,l,[Lt()]),E_=e}return E_}var N_;function KL(){if(N_===l){class e extends Kn(){constructor(r){super(r),this.k3d_1=r.f37()+"Array"}f37(){return this.k3d_1}}p(e,"PrimitiveArrayDescriptor"),N_=e}return N_}var Bd=Math.imul,L_;function Cr(){if(L_===l){class e extends Od(){constructor(r){super(r),this.m3d_1=new(DL())(r.c36())}c36(){return this.m3d_1}n3d(){return N().p1()}o3d(r){return r.h1()}p3d(r){return this.o3d(r instanceof N()?r:m())}q3d(r){return r}r3d(r){return this.q3d(r instanceof N()?r:m())}s3d(r){var t=r instanceof N()?r:null;return t??N().y(r)}t3d(r){return this.s3d(r!=null&&j(r,Qs())?r:m())}u3d(r,t){return r.o6(t)}v3d(r,t){return this.u3d(r instanceof N()?r:m(),t)}w3d(r,t,n){r.q5(t,n)}x3d(r,t,n){var a=r instanceof N()?r:m();return this.w3d(a,t,n==null||n!=null?n:m())}}p(e,"ArrayListSerializer"),L_=e}return L_}var j_;function GL(){if(j_===l){class e extends Od(){constructor(r){super(r),this.i3e_1=new(PL())(r.c36())}c36(){return this.i3e_1}n3d(){return Wt().u8()}j3e(r){return r.h1()}p3d(r){return this.j3e(r instanceof Wt()?r:m())}k3e(r){return r}r3d(r){return this.k3e(r instanceof Wt()?r:m())}l3e(r){var t=r instanceof Wt()?r:null;return t??Wt().v8(r)}t3d(r){return this.l3e(r!=null&&j(r,hd())?r:m())}m3e(r,t){}v3d(r,t){return this.m3e(r instanceof Wt()?r:m(),t)}n3e(r,t,n){r.c1(n)}x3d(r,t,n){var a=r instanceof Wt()?r:m();return this.n3e(a,t,n==null||n!=null?n:m())}}p(e,"HashSetSerializer"),j_=e}return j_}var M_;function JL(){if(M_===l){class e extends Od(){constructor(r){super(r),this.p3e_1=new(BL())(r.c36())}c36(){return this.p3e_1}n3d(){return yt().o1()}q3e(r){return r.h1()}p3d(r){return this.q3e(r instanceof yt()?r:m())}r3e(r){return r}r3d(r){return this.r3e(r instanceof yt()?r:m())}l3e(r){var t=r instanceof yt()?r:null;return t??yt().e2(r)}t3d(r){return this.l3e(r!=null&&j(r,hd())?r:m())}s3e(r,t){}v3d(r,t){return this.s3e(r instanceof yt()?r:m(),t)}t3e(r,t,n){r.c1(n)}x3d(r,t,n){var a=r instanceof yt()?r:m();return this.t3e(a,t,n==null||n!=null?n:m())}}p(e,"LinkedHashSetSerializer"),M_=e}return M_}var T_;function WL(){if(T_===l){class e extends oq(){constructor(r,t){super(r,t),this.w3e_1=new(OL())(r.c36(),t.c36())}c36(){return this.w3e_1}x3e(r){return r.h1()}y3e(r){return this.x3e(r!=null&&j(r,kt())?r:m())}z3e(r){return r.e3().e1()}a3f(r){return this.z3e(r!=null&&j(r,kt())?r:m())}n3d(){return ge().b7()}b3f(r){return Bd(r.h1(),2)}p3d(r){return this.b3f(r instanceof ge()?r:m())}c3f(r){return r}r3d(r){return this.c3f(r instanceof ge()?r:m())}d3f(r){var t=r instanceof ge()?r:null;return t??ge().q7(r)}t3d(r){return this.d3f(r!=null&&j(r,kt())?r:m())}e3f(r,t){}v3d(r,t){return this.e3f(r instanceof ge()?r:m(),t)}}p(e,"HashMapSerializer"),T_=e}return T_}var F_;function _q(){if(F_===l){class e extends oq(){constructor(r,t){super(r,t),this.l3f_1=new(RL())(r.c36(),t.c36())}c36(){return this.l3f_1}x3e(r){return r.h1()}y3e(r){return this.x3e(r!=null&&j(r,kt())?r:m())}z3e(r){return r.e3().e1()}a3f(r){return this.z3e(r!=null&&j(r,kt())?r:m())}n3d(){return zr().va()}m3f(r){return Bd(r.h1(),2)}p3d(r){return this.m3f(r instanceof zr()?r:m())}n3f(r){return r}r3d(r){return this.n3f(r instanceof zr()?r:m())}d3f(r){var t=r instanceof zr()?r:null;return t??zr().xa(r)}t3d(r){return this.d3f(r!=null&&j(r,kt())?r:m())}o3f(r,t){}v3d(r,t){return this.o3f(r instanceof zr()?r:m(),t)}}p(e,"LinkedHashMapSerializer"),F_=e}return F_}var D_;function Ga(){if(D_===l){class e extends Rd(){constructor(r,t){super(t),this.q3f_1=r,this.r3f_1=new(UL())(t.c36())}c36(){return this.r3f_1}s3f(r){return r.length}y3e(r){return this.s3f(r!=null&&wi(r)?r:m())}t3f(r){return O$(r)}a3f(r){return this.t3f(r!=null&&wi(r)?r:m())}n3d(){return N().p1()}u3f(r){return r.h1()}p3d(r){return this.u3f(r instanceof N()?r:m())}v3f(r){return ZN(r,this.q3f_1)}r3d(r){return this.v3f(r instanceof N()?r:m())}w3f(r){return N().y(ny(r))}t3d(r){return this.w3f(r!=null&&wi(r)?r:m())}x3f(r,t){return r.o6(t)}v3d(r,t){return this.x3f(r instanceof N()?r:m(),t)}y3f(r,t,n){r.q5(t,n)}x3d(r,t,n){var a=r instanceof N()?r:m();return this.y3f(a,t,n==null||n!=null?n:m())}}p(e,"ReferenceArraySerializer"),D_=e}return D_}var P_;function Od(){if(P_===l){class e extends Rd(){z3d(r){return r.h1()}y3e(r){return this.z3d(r!=null&&j(r,Fi())?r:m())}a3e(r){return r.e1()}a3f(r){return this.a3e(r!=null&&j(r,Fi())?r:m())}}p(e,"CollectionSerializer"),P_=e}return P_}var B_;function oq(){if(B_===l){class e extends cq(){constructor(r,t){super(),this.f3f_1=r,this.g3f_1=t}h3f(r,t,n,a){if(!(a>=0)){var s="Size must be known in advance when using READ_ALL";throw H().u($(s))}var u=B$(Ct(0,Bd(a,2)),2),_=u.v1_1,o=u.w1_1,c=u.x1_1;if(c>0&&_<=o||c<0&&o<=_)do{var h=_;_=_+c|0,this.i3f(r,n+h|0,t,!1)}while(h!==o)}d3e(r,t,n,a){return this.h3f(r,t!=null&&j(t,F5())?t:m(),n,a)}i3f(r,t,n,a){var s=r.x3a(this.c36(),t,this.f3f_1),u;if(a){var _=r.b3b(this.c36());if(_!==(t+1|0)){var o="Value must follow key in a map, index for key: "+t+", returned index for value: "+_;throw H().u($(o))}u=_}else u=t+1|0;var c=u,h,f;if(n.z2(s)){var v=this.g3f_1.c36().o38();f=!(v instanceof St())}else f=!1;f?h=r.w3a(this.c36(),c,this.g3f_1,r1(n,s)):h=r.x3a(this.c36(),c,this.g3f_1);var d=h;n.f3(s,d)}e3e(r,t,n,a){return this.i3f(r,t,n!=null&&j(n,F5())?n:m(),a)}c3e(r,t){for(var n=this.y3e(t),a=this.c36(),s=r.h3c(a,n),u=this.a3f(t),_=0,o=u;o.f1();){var c=o.g1(),h=c.x2(),f=c.y2(),v=this.c36(),d=_;_=d+1|0,s.c3c(v,d,this.f3f_1,h);var y=this.c36(),b=_;_=b+1|0,s.c3c(y,b,this.g3f_1,f)}s.l3a(a)}d36(r,t){return this.c3e(r,t==null||t!=null?t:m())}}p(e,"MapLikeSerializer"),B_=e}return B_}var O_;function Rd(){if(O_===l){class e extends cq(){constructor(r){super(),this.b3e_1=r}c3e(r,t){var n=this.y3e(t),a=this.c36(),s=r.h3c(a,n),u=this.a3f(t),_=0;if(_=0)){var s="Size must be known in advance when using READ_ALL";throw H().u($(s))}var u=0;if(u(s.s36("key",r.c36()),s.s36("value",t.c36()),S))}c36(){return this.r3p_1}s3p(r){return r.x2()}t3p(r){return this.s3p(r!=null&&j(r,Ri())?r:m())}u3p(r){return r.y2()}v3p(r){return this.u3p(r!=null&&j(r,Ri())?r:m())}w3p(r,t){return new(kp())(r,t)}}p(e,"MapEntrySerializer"),$o=e}return $o}var Ao;function yj(){if(Ao===l){class e extends fq(){constructor(r,t){super(r,t);var n=this;n.c3q_1=Dd("kotlin.Pair",[],a=>(a.s36("first",r.c36()),a.s36("second",t.c36()),S))}c36(){return this.c3q_1}d3q(r){return r.xd_1}t3p(r){return this.d3q(r instanceof D5()?r:m())}e3q(r){return r.yd_1}v3p(r){return this.e3q(r instanceof D5()?r:m())}w3p(r,t){return T(r,t)}}p(e,"PairSerializer"),Ao=e}return Ao}function bj(e,i){var r=i.x3a(e.i3q_1,0,e.f3q_1),t=i.x3a(e.i3q_1,1,e.g3q_1),n=i.x3a(e.i3q_1,2,e.h3q_1);return i.l3a(e.i3q_1),new(t1())(r,t,n)}function kj(e,i){var r=re(),t=re(),n=re();r:for(;;){var a=i.b3b(e.i3q_1);switch(a){case-1:break r;case 0:r=i.x3a(e.i3q_1,0,e.f3q_1);break;case 1:t=i.x3a(e.i3q_1,1,e.g3q_1);break;case 2:n=i.x3a(e.i3q_1,2,e.h3q_1);break;default:throw jr().o37("Unexpected index "+a)}}if(i.l3a(e.i3q_1),r===re())throw jr().o37("Element 'first' is missing");if(t===re())throw jr().o37("Element 'second' is missing");if(n===re())throw jr().o37("Element 'third' is missing");var s=r==null||r!=null?r:m(),u=t==null||t!=null?t:m();return new(t1())(s,u,n==null||n!=null?n:m())}var Eo;function Cj(){if(Eo===l){class e{constructor(r,t,n){this.f3q_1=r,this.g3q_1=t,this.h3q_1=n;var a=this;a.i3q_1=Dd("kotlin.Triple",[],s=>(s.s36("first",this.f3q_1.c36()),s.s36("second",this.g3q_1.c36()),s.s36("third",this.h3q_1.c36()),S))}c36(){return this.i3q_1}j3q(r,t){var n=r.k3a(this.i3q_1);n.c3c(this.i3q_1,0,this.f3q_1,t.tp_1),n.c3c(this.i3q_1,1,this.g3q_1,t.up_1),n.c3c(this.i3q_1,2,this.h3q_1,t.vp_1),n.l3a(this.i3q_1)}d36(r,t){return this.j3q(r,t instanceof t1()?t:m())}e36(r){var t=r.k3a(this.i3q_1);return t.a3b()?bj(this,t):kj(this,t)}}p(e,"TripleSerializer",l,l,[Y()]),Eo=e}return Eo}var No;function fq(){if(No===l){class e{constructor(r,t){this.x3p_1=r,this.y3p_1=t}z3p(r,t){var n=r.k3a(this.c36());n.c3c(this.c36(),0,this.x3p_1,this.t3p(t)),n.c3c(this.c36(),1,this.y3p_1,this.v3p(t)),n.l3a(this.c36())}d36(r,t){return this.z3p(r,t==null||t!=null?t:m())}e36(r){var t=this.c36(),n=r.k3a(t),a;r:{if(n.a3b()){var s=n.x3a(this.c36(),0,this.x3p_1),u=n.x3a(this.c36(),1,this.y3p_1);a=this.w3p(s,u);break r}var _=re(),o=re();t:for(;;){var c=n.b3b(this.c36());switch(c){case-1:break t;case 0:_=n.x3a(this.c36(),0,this.x3p_1);break;case 1:o=n.x3a(this.c36(),1,this.y3p_1);break;default:throw jr().o37("Invalid index: "+c)}}if(_===re())throw jr().o37("Element 'key' is missing");if(o===re())throw jr().o37("Element 'value' is missing");var h=_==null||_!=null?_:m();a=this.w3p(h,o==null||o!=null?o:m())}var f=a;return n.l3a(t),f}}p(e,"KeyValueSerializer",l,l,[Y()]),No=e}return No}var Rw;function xj(){Rw||(Rw=!0,hq=new Object)}function _n(e){return qr()}function Ud(e){return EL()}function g1(e){return LL()}function Kd(e){return ML()}function Gd(e){return FL()}function $r(e){var i;return e.c36().k38()?i=j(e,Y())?e:m():i=new(Dz())(e),i}function Jd(e){return K()}function Wd(e){return Ua()}function Hd(e){return pL()}function Vd(e){return mL()}function vq(e){return gL()}function Sj(){return YL()}function pq(e){return bL()}function zj(){return XL()}function dq(e){return mt()}function qj(){return aa()}function Ij(){return tj()}function $j(){return nj()}function Aj(){return ij()}function Ej(){return lj()}function Nj(){return _j()}function Lj(){return cj()}function jj(){return fj()}function Mj(){return pj()}function mq(e){return Mn()}function Tj(){return mj()}function Fj(e){return SL()}function Dj(){return Yz()}function Pj(e){return BN()}function Bj(e){return RN()}function Oj(e){return KN()}function Rj(e,i){return new(gj())(e,i)}function Uj(e,i){return new(yj())(e,i)}function Kj(e,i,r){return new(Cj())(e,i,r)}function Gj(e,i){return new(Ga())(e,i)}function Cp(e,i){return new(_q())(e,i)}function xp(e){return new(Cr())(e)}function Jj(){return e=>e.c36()}var Lo;function zs(){if(Lo===l){class e extends on(){static i36(r){var t=this.j36();t.f36_1=r,t.g36_1=ot();var n=t,a=lr();return n.h36_1=ur(a,()=>{var s=uN();return bN(se("kotlinx.serialization.Polymorphic",s,[],u=>(u.s36("type",_n().c36()),u.s36("value",se("kotlinx.serialization.Polymorphic<"+t.f36_1.ce()+">",o1(),[])),u.m36_1=t.g36_1,S)),t.f36_1)}),t}t36(){return this.f36_1}c36(){var r=this.h36_1,t=oe();return ce("descriptor",1,t,Jj(),null),r.y2()}toString(){return"kotlinx.serialization.PolymorphicSerializer(baseClass: "+$(this.f36_1)+")"}}p(e,"PolymorphicSerializer"),Lo=e}return Lo}function wq(e,i,r){var t=e.w36(i,r),n;return t==null?Hj(or(r),e.t36()):n=t,n}function Ia(e,i,r){var t=e.v36(i,r),n;return t==null?gq(r,e.t36()):n=t,n}function Wj(e,i){var r=i.u3a(e.c36(),0),t=Ia(e,i,r);return i.x3a(e.c36(),1,t)}var jo;function on(){if(jo===l){class e{static j36(){return Ur(this)}u36(r,t){var n=wq(this,r,t),a=this.c36(),s=r.k3a(a);s.a3c(this.c36(),0,n.c36().f37());var u=this.c36(),_=j(n,Rn())?n:m();s.c3c(u,1,_,t),s.l3a(a)}d36(r,t){return this.u36(r,t??m())}e36(r){var t=this.c36(),n=r.k3a(t),a;r:{var s=null,u=null;if(n.a3b()){a=Wj(this,n);break r}t:for(;;){var _=n.b3b(this.c36());switch(_){case-1:break t;case 0:s=n.u3a(this.c36(),_);break;case 1:var o=s,c;e:if(o==null){var h="Cannot read polymorphic value before its type token";throw H().u($(h))}else{c=o;break e}s=c;var f=Ia(this,n,s);u=n.x3a(this.c36(),_,f);break;default:var v=s;throw jr().o37("Invalid index in polymorphic deserialization of "+(v??"unknown class")+(` - Expected 0, 1 or DECODE_DONE(-1), but found `+_))}}var d=u,y;t:if(d==null){var b="Polymorphic value has not been read for class "+s;throw H().u($(b))}else{y=d;break t}var w=y;a=w??m()}var x=a;return n.l3a(t),x}v36(r,t){return r.z3a().j3c(this.t36(),t)}w36(r,t){return r.z3a().k3c(this.t36(),t)}}p(e,"AbstractPolymorphicSerializer",l,l,[Y()]),jo=e}return jo}function Hj(e,i){var r=e.ce();gq(r??$(e),i)}function gq(e,i){var r="in the polymorphic scope of '"+i.ce()+"'";throw jr().o37(e==null?"Class discriminator was missing and no default serializers were registered "+r+".":"Serializer for subclass '"+e+"' is not found "+r+`. + `))}}var Gw;function g1(){Gw||(Gw=!0,hq=XN())}var jL=Math.imul;function Ha(e,i){return new(fq())(e,new(ML())(i))}var g_;function fq(){if(g_===l){class e extends Kr(){constructor(r,t){super(r,t,1),this.n3i_1=!0}p38(){return this.n3i_1}hashCode(){return jL(super.hashCode(),31)}equals(r){var t;r:{if(this===r){t=!0;break r}if(!(r instanceof fq())){t=!1;break r}if(this.f37()!==r.f37()){t=!1;break r}if(!(r.n3i_1&&Ys(this.z3h(),r.z3h()))){t=!1;break r}if(this.q38()!==r.q38()){t=!1;break r}var n=0,a=this.q38();if(n=0)){var t="Illegal index "+r+", "+this.f37()+" expects only non-negative indices";throw H().u($(t))}return!1}u38(r){if(!(r>=0)){var t="Illegal index "+r+", "+this.f37()+" expects only non-negative indices";throw H().u($(t))}return ot()}v38(r){if(!(r>=0)){var t="Illegal index "+r+", "+this.f37()+" expects only non-negative indices";throw H().u($(t))}return this.w3c_1}equals(r){return this===r?!0:r instanceof Hn()?!!(E(this.w3c_1,r.w3c_1)&&this.f37()===r.f37()):!1}hashCode(){return Sp(Z(this.w3c_1),31)+br(this.f37())|0}toString(){return this.f37()+"("+$(this.w3c_1)+")"}}F(e).k38=gn,F(e).p38=bn,F(e).r38=Ja,p(e,"ListLikeDescriptor",l,l,[Lt()]),N_=e}return N_}var L_;function Kd(){if(L_===l){class e{constructor(r,t,n){this.c3d_1=r,this.d3d_1=t,this.e3d_1=n,this.f3d_1=2}f37(){return this.c3d_1}o38(){return Ka()}q38(){return this.f3d_1}s38(r){return r.toString()}t38(r){var t=r1(r),n;if(t==null)throw H().u(r+" is not a valid map index");return n=t,n}w38(r){if(!(r>=0)){var t="Illegal index "+r+", "+this.f37()+" expects only non-negative indices";throw H().u($(t))}return!1}u38(r){if(!(r>=0)){var t="Illegal index "+r+", "+this.f37()+" expects only non-negative indices";throw H().u($(t))}return ot()}v38(r){if(!(r>=0)){var t="Illegal index "+r+", "+this.f37()+" expects only non-negative indices";throw H().u($(t))}var n;switch(r%2|0){case 0:n=this.d3d_1;break;case 1:n=this.e3d_1;break;default:var a="Unreached";throw fr().u3($(a))}return n}equals(r){return this===r?!0:!(!(r instanceof Kd())||this.f37()!==r.f37()||!E(this.d3d_1,r.d3d_1)||!E(this.e3d_1,r.e3d_1))}hashCode(){var r=br(this.f37());return r=Sp(31,r)+Z(this.d3d_1)|0,r=Sp(31,r)+Z(this.e3d_1)|0,r}toString(){return this.f37()+"("+$(this.d3d_1)+", "+$(this.e3d_1)+")"}}F(e).k38=gn,F(e).p38=bn,F(e).r38=Ja,p(e,"MapLikeDescriptor",l,l,[Lt()]),L_=e}return L_}var j_;function YL(){if(j_===l){class e extends Hn(){constructor(r){super(r),this.k3d_1=r.f37()+"Array"}f37(){return this.k3d_1}}p(e,"PrimitiveArrayDescriptor"),j_=e}return j_}var Gd=Math.imul,M_;function Cr(){if(M_===l){class e extends Jd(){constructor(r){super(r),this.m3d_1=new(KL())(r.c36())}c36(){return this.m3d_1}n3d(){return N().p1()}o3d(r){return r.h1()}p3d(r){return this.o3d(r instanceof N()?r:m())}q3d(r){return r}r3d(r){return this.q3d(r instanceof N()?r:m())}s3d(r){var t=r instanceof N()?r:null;return t??N().y(r)}t3d(r){return this.s3d(r!=null&&j(r,t1())?r:m())}u3d(r,t){return r.o6(t)}v3d(r,t){return this.u3d(r instanceof N()?r:m(),t)}w3d(r,t,n){r.q5(t,n)}x3d(r,t,n){var a=r instanceof N()?r:m();return this.w3d(a,t,n==null||n!=null?n:m())}}p(e,"ArrayListSerializer"),M_=e}return M_}var T_;function ZL(){if(T_===l){class e extends Jd(){constructor(r){super(r),this.i3e_1=new(GL())(r.c36())}c36(){return this.i3e_1}n3d(){return Wt().u8()}j3e(r){return r.h1()}p3d(r){return this.j3e(r instanceof Wt()?r:m())}k3e(r){return r}r3d(r){return this.k3e(r instanceof Wt()?r:m())}l3e(r){var t=r instanceof Wt()?r:null;return t??Wt().v8(r)}t3d(r){return this.l3e(r!=null&&j(r,md())?r:m())}m3e(r,t){}v3d(r,t){return this.m3e(r instanceof Wt()?r:m(),t)}n3e(r,t,n){r.c1(n)}x3d(r,t,n){var a=r instanceof Wt()?r:m();return this.n3e(a,t,n==null||n!=null?n:m())}}p(e,"HashSetSerializer"),T_=e}return T_}var F_;function XL(){if(F_===l){class e extends Jd(){constructor(r){super(r),this.p3e_1=new(JL())(r.c36())}c36(){return this.p3e_1}n3d(){return gt().o1()}q3e(r){return r.h1()}p3d(r){return this.q3e(r instanceof gt()?r:m())}r3e(r){return r}r3d(r){return this.r3e(r instanceof gt()?r:m())}l3e(r){var t=r instanceof gt()?r:null;return t??gt().e2(r)}t3d(r){return this.l3e(r!=null&&j(r,md())?r:m())}s3e(r,t){}v3d(r,t){return this.s3e(r instanceof gt()?r:m(),t)}t3e(r,t,n){r.c1(n)}x3d(r,t,n){var a=r instanceof gt()?r:m();return this.t3e(a,t,n==null||n!=null?n:m())}}p(e,"LinkedHashSetSerializer"),F_=e}return F_}var D_;function QL(){if(D_===l){class e extends pq(){constructor(r,t){super(r,t),this.w3e_1=new(WL())(r.c36(),t.c36())}c36(){return this.w3e_1}x3e(r){return r.h1()}y3e(r){return this.x3e(r!=null&&j(r,kt())?r:m())}z3e(r){return r.e3().e1()}a3f(r){return this.z3e(r!=null&&j(r,kt())?r:m())}n3d(){return ye().b7()}b3f(r){return Gd(r.h1(),2)}p3d(r){return this.b3f(r instanceof ye()?r:m())}c3f(r){return r}r3d(r){return this.c3f(r instanceof ye()?r:m())}d3f(r){var t=r instanceof ye()?r:null;return t??ye().q7(r)}t3d(r){return this.d3f(r!=null&&j(r,kt())?r:m())}e3f(r,t){}v3d(r,t){return this.e3f(r instanceof ye()?r:m(),t)}}p(e,"HashMapSerializer"),D_=e}return D_}var P_;function vq(){if(P_===l){class e extends pq(){constructor(r,t){super(r,t),this.l3f_1=new(HL())(r.c36(),t.c36())}c36(){return this.l3f_1}x3e(r){return r.h1()}y3e(r){return this.x3e(r!=null&&j(r,kt())?r:m())}z3e(r){return r.e3().e1()}a3f(r){return this.z3e(r!=null&&j(r,kt())?r:m())}n3d(){return zr().va()}m3f(r){return Gd(r.h1(),2)}p3d(r){return this.m3f(r instanceof zr()?r:m())}n3f(r){return r}r3d(r){return this.n3f(r instanceof zr()?r:m())}d3f(r){var t=r instanceof zr()?r:null;return t??zr().xa(r)}t3d(r){return this.d3f(r!=null&&j(r,kt())?r:m())}o3f(r,t){}v3d(r,t){return this.o3f(r instanceof zr()?r:m(),t)}}p(e,"LinkedHashMapSerializer"),P_=e}return P_}var B_;function Va(){if(B_===l){class e extends Wd(){constructor(r,t){super(t),this.q3f_1=r,this.r3f_1=new(VL())(t.c36())}c36(){return this.r3f_1}s3f(r){return r.length}y3e(r){return this.s3f(r!=null&&ki(r)?r:m())}t3f(r){return H$(r)}a3f(r){return this.t3f(r!=null&&ki(r)?r:m())}n3d(){return N().p1()}u3f(r){return r.h1()}p3d(r){return this.u3f(r instanceof N()?r:m())}v3f(r){return nL(r,this.q3f_1)}r3d(r){return this.v3f(r instanceof N()?r:m())}w3f(r){return N().y(lg(r))}t3d(r){return this.w3f(r!=null&&ki(r)?r:m())}x3f(r,t){return r.o6(t)}v3d(r,t){return this.x3f(r instanceof N()?r:m(),t)}y3f(r,t,n){r.q5(t,n)}x3d(r,t,n){var a=r instanceof N()?r:m();return this.y3f(a,t,n==null||n!=null?n:m())}}p(e,"ReferenceArraySerializer"),B_=e}return B_}var O_;function Jd(){if(O_===l){class e extends Wd(){z3d(r){return r.h1()}y3e(r){return this.z3d(r!=null&&j(r,Pi())?r:m())}a3e(r){return r.e1()}a3f(r){return this.a3e(r!=null&&j(r,Pi())?r:m())}}p(e,"CollectionSerializer"),O_=e}return O_}var R_;function pq(){if(R_===l){class e extends dq(){constructor(r,t){super(),this.f3f_1=r,this.g3f_1=t}h3f(r,t,n,a){if(!(a>=0)){var s="Size must be known in advance when using READ_ALL";throw H().u($(s))}var u=W$(Ct(0,Gd(a,2)),2),_=u.v1_1,o=u.w1_1,c=u.x1_1;if(c>0&&_<=o||c<0&&o<=_)do{var h=_;_=_+c|0,this.i3f(r,n+h|0,t,!1)}while(h!==o)}d3e(r,t,n,a){return this.h3f(r,t!=null&&j(t,O5())?t:m(),n,a)}i3f(r,t,n,a){var s=r.x3a(this.c36(),t,this.f3f_1),u;if(a){var _=r.b3b(this.c36());if(_!==(t+1|0)){var o="Value must follow key in a map, index for key: "+t+", returned index for value: "+_;throw H().u($(o))}u=_}else u=t+1|0;var c=u,h,f;if(n.z2(s)){var v=this.g3f_1.c36().o38();f=!(v instanceof St())}else f=!1;f?h=r.w3a(this.c36(),c,this.g3f_1,e1(n,s)):h=r.x3a(this.c36(),c,this.g3f_1);var d=h;n.f3(s,d)}e3e(r,t,n,a){return this.i3f(r,t,n!=null&&j(n,O5())?n:m(),a)}c3e(r,t){for(var n=this.y3e(t),a=this.c36(),s=r.h3c(a,n),u=this.a3f(t),_=0,o=u;o.f1();){var c=o.g1(),h=c.x2(),f=c.y2(),v=this.c36(),d=_;_=d+1|0,s.c3c(v,d,this.f3f_1,h);var g=this.c36(),b=_;_=b+1|0,s.c3c(g,b,this.g3f_1,f)}s.l3a(a)}d36(r,t){return this.c3e(r,t==null||t!=null?t:m())}}p(e,"MapLikeSerializer"),R_=e}return R_}var U_;function Wd(){if(U_===l){class e extends dq(){constructor(r){super(),this.b3e_1=r}c3e(r,t){var n=this.y3e(t),a=this.c36(),s=r.h3c(a,n),u=this.a3f(t),_=0;if(_=0)){var s="Size must be known in advance when using READ_ALL";throw H().u($(s))}var u=0;if(u(s.s36("key",r.c36()),s.s36("value",t.c36()),S))}c36(){return this.r3p_1}s3p(r){return r.x2()}t3p(r){return this.s3p(r!=null&&j(r,Ki())?r:m())}u3p(r){return r.y2()}v3p(r){return this.u3p(r!=null&&j(r,Ki())?r:m())}w3p(r,t){return new(zp())(r,t)}}p(e,"MapEntrySerializer"),Eo=e}return Eo}var No;function zj(){if(No===l){class e extends wq(){constructor(r,t){super(r,t);var n=this;n.c3q_1=Ud("kotlin.Pair",[],a=>(a.s36("first",r.c36()),a.s36("second",t.c36()),S))}c36(){return this.c3q_1}d3q(r){return r.xd_1}t3p(r){return this.d3q(r instanceof R5()?r:m())}e3q(r){return r.yd_1}v3p(r){return this.e3q(r instanceof R5()?r:m())}w3p(r,t){return T(r,t)}}p(e,"PairSerializer"),No=e}return No}function qj(e,i){var r=i.x3a(e.i3q_1,0,e.f3q_1),t=i.x3a(e.i3q_1,1,e.g3q_1),n=i.x3a(e.i3q_1,2,e.h3q_1);return i.l3a(e.i3q_1),new(n1())(r,t,n)}function Ij(e,i){var r=re(),t=re(),n=re();r:for(;;){var a=i.b3b(e.i3q_1);switch(a){case-1:break r;case 0:r=i.x3a(e.i3q_1,0,e.f3q_1);break;case 1:t=i.x3a(e.i3q_1,1,e.g3q_1);break;case 2:n=i.x3a(e.i3q_1,2,e.h3q_1);break;default:throw jr().o37("Unexpected index "+a)}}if(i.l3a(e.i3q_1),r===re())throw jr().o37("Element 'first' is missing");if(t===re())throw jr().o37("Element 'second' is missing");if(n===re())throw jr().o37("Element 'third' is missing");var s=r==null||r!=null?r:m(),u=t==null||t!=null?t:m();return new(n1())(s,u,n==null||n!=null?n:m())}var Lo;function $j(){if(Lo===l){class e{constructor(r,t,n){this.f3q_1=r,this.g3q_1=t,this.h3q_1=n;var a=this;a.i3q_1=Ud("kotlin.Triple",[],s=>(s.s36("first",this.f3q_1.c36()),s.s36("second",this.g3q_1.c36()),s.s36("third",this.h3q_1.c36()),S))}c36(){return this.i3q_1}j3q(r,t){var n=r.k3a(this.i3q_1);n.c3c(this.i3q_1,0,this.f3q_1,t.tp_1),n.c3c(this.i3q_1,1,this.g3q_1,t.up_1),n.c3c(this.i3q_1,2,this.h3q_1,t.vp_1),n.l3a(this.i3q_1)}d36(r,t){return this.j3q(r,t instanceof n1()?t:m())}e36(r){var t=r.k3a(this.i3q_1);return t.a3b()?qj(this,t):Ij(this,t)}}p(e,"TripleSerializer",l,l,[V()]),Lo=e}return Lo}var jo;function wq(){if(jo===l){class e{constructor(r,t){this.x3p_1=r,this.y3p_1=t}z3p(r,t){var n=r.k3a(this.c36());n.c3c(this.c36(),0,this.x3p_1,this.t3p(t)),n.c3c(this.c36(),1,this.y3p_1,this.v3p(t)),n.l3a(this.c36())}d36(r,t){return this.z3p(r,t==null||t!=null?t:m())}e36(r){var t=this.c36(),n=r.k3a(t),a;r:{if(n.a3b()){var s=n.x3a(this.c36(),0,this.x3p_1),u=n.x3a(this.c36(),1,this.y3p_1);a=this.w3p(s,u);break r}var _=re(),o=re();t:for(;;){var c=n.b3b(this.c36());switch(c){case-1:break t;case 0:_=n.x3a(this.c36(),0,this.x3p_1);break;case 1:o=n.x3a(this.c36(),1,this.y3p_1);break;default:throw jr().o37("Invalid index: "+c)}}if(_===re())throw jr().o37("Element 'key' is missing");if(o===re())throw jr().o37("Element 'value' is missing");var h=_==null||_!=null?_:m();a=this.w3p(h,o==null||o!=null?o:m())}var f=a;return n.l3a(t),f}}p(e,"KeyValueSerializer",l,l,[V()]),jo=e}return jo}var Jw;function Aj(){Jw||(Jw=!0,mq=new Object)}function cn(e){return qr()}function Hd(e){return FL()}function b1(e){return PL()}function Vd(e){return OL()}function Yd(e){return UL()}function $r(e){var i;return e.c36().k38()?i=j(e,V())?e:m():i=new(Uz())(e),i}function Zd(e){return K()}function Xd(e){return Wa()}function Qd(e){return bL()}function rm(e){return CL()}function yq(e){return SL()}function Ej(){return ej()}function gq(e){return qL()}function Nj(){return aj()}function bq(e){return mt()}function Lj(){return _a()}function jj(){return lj()}function Mj(){return _j()}function Tj(){return cj()}function Fj(){return fj()}function Dj(){return pj()}function Pj(){return mj()}function Bj(){return yj()}function Oj(){return bj()}function kq(e){return Dn()}function Rj(){return Cj()}function Uj(e){return EL()}function Kj(){return tq()}function Gj(e){return JN()}function Jj(e){return HN()}function Wj(e){return YN()}function Hj(e,i){return new(Sj())(e,i)}function Vj(e,i){return new(zj())(e,i)}function Yj(e,i,r){return new($j())(e,i,r)}function Zj(e,i){return new(Va())(e,i)}function qp(e,i){return new(vq())(e,i)}function Ip(e){return new(Cr())(e)}function Xj(){return e=>e.c36()}var Mo;function Is(){if(Mo===l){class e extends hn(){static i36(r){var t=this.j36();t.f36_1=r,t.g36_1=ot();var n=t,a=lr();return n.h36_1=ur(a,()=>{var s=vN();return qN(se("kotlinx.serialization.Polymorphic",s,[],u=>(u.s36("type",cn().c36()),u.s36("value",se("kotlinx.serialization.Polymorphic<"+t.f36_1.ce()+">",h1(),[])),u.m36_1=t.g36_1,S)),t.f36_1)}),t}t36(){return this.f36_1}c36(){var r=this.h36_1,t=oe();return ce("descriptor",1,t,Xj(),null),r.y2()}toString(){return"kotlinx.serialization.PolymorphicSerializer(baseClass: "+$(this.f36_1)+")"}}p(e,"PolymorphicSerializer"),Mo=e}return Mo}function Cq(e,i,r){var t=e.w36(i,r),n;return t==null?rM(or(r),e.t36()):n=t,n}function La(e,i,r){var t=e.v36(i,r),n;return t==null?xq(r,e.t36()):n=t,n}function Qj(e,i){var r=i.u3a(e.c36(),0),t=La(e,i,r);return i.x3a(e.c36(),1,t)}var To;function hn(){if(To===l){class e{static j36(){return Ur(this)}u36(r,t){var n=Cq(this,r,t),a=this.c36(),s=r.k3a(a);s.a3c(this.c36(),0,n.c36().f37());var u=this.c36(),_=j(n,Jn())?n:m();s.c3c(u,1,_,t),s.l3a(a)}d36(r,t){return this.u36(r,t??m())}e36(r){var t=this.c36(),n=r.k3a(t),a;r:{var s=null,u=null;if(n.a3b()){a=Qj(this,n);break r}t:for(;;){var _=n.b3b(this.c36());switch(_){case-1:break t;case 0:s=n.u3a(this.c36(),_);break;case 1:var o=s,c;e:if(o==null){var h="Cannot read polymorphic value before its type token";throw H().u($(h))}else{c=o;break e}s=c;var f=La(this,n,s);u=n.x3a(this.c36(),_,f);break;default:var v=s;throw jr().o37("Invalid index in polymorphic deserialization of "+(v??"unknown class")+(` + Expected 0, 1 or DECODE_DONE(-1), but found `+_))}}var d=u,g;t:if(d==null){var b="Polymorphic value has not been read for class "+s;throw H().u($(b))}else{g=d;break t}var w=g;a=w??m()}var x=a;return n.l3a(t),x}v36(r,t){return r.z3a().j3c(this.t36(),t)}w36(r,t){return r.z3a().k3c(this.t36(),t)}}p(e,"AbstractPolymorphicSerializer",l,l,[V()]),To=e}return To}function rM(e,i){var r=e.ce();xq(r??$(e),i)}function xq(e,i){var r="in the polymorphic scope of '"+i.ce()+"'";throw jr().o37(e==null?"Class discriminator was missing and no default serializers were registered "+r+".":"Serializer for subclass '"+e+"' is not found "+r+`. `+("Check if class with serial name '"+e+`' exists and serializer is registered in a corresponding SerializersModule. -`)+("To be registered automatically, class '"+e+"' has to be '@Serializable', and the base class '"+i.ce()+"' has to be sealed and '@Serializable'."))}var Mo;function Vj(){if(Mo===l){class e{}p(e,"JsonClassDiscriminator"),Mo=e}return Mo}var To;function Yj(){if(To===l){class e{}p(e,"JsonIgnoreUnknownKeys"),To=e}return To}var Fo;function Zj(){if(Fo===l){class e{}p(e,"JsonNames"),Fo=e}return Fo}function Xj(){return e=>e.c36()}var Do;function Qj(){if(Do===l){class e{constructor(r){this.c37_1=r}d37(){return this.c37_1.e1()}e37(r){return r.y2().c36().f37()}g37(r){return this.e37(r==null||r!=null?r:m())}}p(e),Do=e}return Do}var Po;function Yd(){if(Po===l){class e extends on(){static h37(r,t,n,a){var s=this.j36();s.x36_1=t,s.y36_1=ot();var u=s,_=lr();if(u.z36_1=ur(_,()=>{var B=Lz();return se(r,B,[],R=>{R.s36("type",_n().c36());var W="kotlinx.serialization.Sealed<"+s.x36_1.ce()+">",G=o1(),Q=se(W,G,[],X=>{for(var rr=s.b37_1.e3().e1();rr.f1();){var tr=rr.g1(),ir=tr.x2(),dr=tr.y2();X.s36(ir,dr.c36())}return S});return R.s36("value",Q),R.m36_1=s.y36_1,S})}),n.length!==a.length)throw H().u("All subclasses of sealed class "+s.x36_1.ce()+" should be marked @Serializable");s.a37_1=ty(r7(n,a));for(var o=s,c=s.a37_1.e3(),h=new(Qj())(c),f=zr().va(),v=h.d37();v.f1();){var d=v.g1(),y=h.g37(d),b=f.b3(y);if(b==null&&f.z2(y),b!=null){var w="Multiple sealed subclasses of '"+$(s.x36_1)+"' have the same serial name '"+y+"':"+(" '"+$(b.x2())+"', '"+$(d.x2())+"'");throw fr().u3($(w))}f.f3(y,d)}for(var x=zr().wa(iy(f.h1())),q=f.e3().e1();q.f1();){var k=q.g1(),A=k.x2(),D=k.y2().y2();x.f3(A,D)}return o.b37_1=x,s}t36(){return this.x36_1}static i37(r,t,n,a,s){var u=this.h37(r,t,n,a);return u.y36_1=ny(s),u}c36(){var r=this.z36_1,t=oe();return ce("descriptor",1,t,Xj(),null),r.y2()}v36(r,t){var n=this.b37_1,a=(j(n,kt())?n:m()).b3(t);return a??super.v36(r,t)}w36(r,t){var n=this.a37_1.b3(or(t)),a=n??super.w36(r,t),s;return a==null?s=null:s=j(a,Rn())?a:m(),s}}p(e,"SealedClassSerializer"),Po=e}return Po}function Sp(e){return os(e)}function qs(e,i){for(var r=e.r38().e1();r.f1();){var t=r.g1();if(t instanceof Vj())return t.o3y_1}return i.o3r_1.l3t_1}function rM(e,i,r){if(!(e instanceof Yd()))return S;if(Sp(i.c36()).d2(r)){var t=e.c36().f37(),n=i.c36().f37(),a="Sealed class '"+n+"' cannot be serialized as base class '"+t+"' because"+(" it has property name that conflicts with JSON class discriminator '"+r+"'. ")+"You can either change class discriminator in JsonConfiguration, rename property with @SerialName annotation or fall back to array polymorphism";throw fr().u3($(a))}}function tM(e){if(e instanceof Nd()){var i="Enums cannot be serialized polymorphically with 'type' parameter. You can use 'JsonBuilder.useArrayPolymorphism' instead";throw fr().u3($(i))}if(e instanceof St()){var r="Primitives cannot be serialized polymorphically with 'type' parameter. You can use 'JsonBuilder.useArrayPolymorphism' instead";throw fr().u3($(r))}if(e instanceof pn()){var t="Actual serializer for polymorphic cannot be polymorphic itself";throw fr().u3($(t))}}function eM(e,i,r){return rM(e,i,r)}function Zd(e){return e.q3r_1}function yq(){return Jt(),bq}var bq;function nM(){return Jt(),kq}var kq;function Xd(e,i){Jt();var r;if(i.o3r_1.d3t_1)r=!0;else{var t=e.r38(),n;r:{var a;if(j(t,Fi())?a=t.m1():a=!1,a){n=!1;break r}for(var s=t.e1();s.f1();){var u=s.g1();if(u instanceof Yj()){n=!0;break r}}n=!1}r=n}return r}function y1(e,i,r){if(Jt(),xq(i,e)){var t=r.toLowerCase();return Bo(e,i,t)}var n=$a(e,i);if(n!=null)return Bo(e,i,r);var a=e.t38(r);return a!==-3||!i.o3r_1.n3t_1?a:Bo(e,i,r)}function Cq(e,i,r,t){t=t===l?"":t,Jt();var n=y1(e,i,r);if(n===-3)throw jr().o37(e.f37()+" does not contain element with name '"+r+"'"+t);return n}function aM(e,i,r){Jt();var t=$a(e,i);return t==null?e.s38(r):iM(e,i,t)[r]}function $a(e,i){return Jt(),E(e.o38(),Da())?i.o3r_1.o3t_1:null}function zp(e,i){Jt();var r=Zd(e),t=yq();return r.d3x(i,t,()=>sM(i,e))}function xq(e,i){return Jt(),e.o3r_1.p3t_1&&E(i.o38(),Ie())}function Bo(e,i,r){Jt();var t=zp(i,e).b3(r);return t??-3}function iM(e,i,r){Jt();var t=Zd(i),n=nM();return t.d3x(e,n,()=>{for(var a=0,s=e.q38(),u=Array(s);awe(e)}var Qo;function SM(){if(Qo===l){class e{constructor(r){this.f3v_1=Ys(r)}f37(){return we(this).f37()}o38(){return we(this).o38()}q38(){return we(this).q38()}s38(r){return we(this).s38(r)}t38(r){return we(this).t38(r)}u38(r){return we(this).u38(r)}v38(r){return we(this).v38(r)}w38(r){return we(this).w38(r)}}F(e).k38=wn,F(e).p38=gn,F(e).r38=Ra,p(e,l,l,l,[Lt()]),Qo=e}return Qo}var zM=Math.imul,rc;function qM(){if(rc===l){class e{}P(e,"Tombstone"),rc=e}return rc}var Mp;function Gw(e){var i=zM(e.i3x_1,2);e.g3x_1=a7(e.g3x_1,i);for(var r=0,t=new Int32Array(i);r=0&&(r.ja("."),r.ja(s.s38(u)))}else s!==Mp&&(r.ja("["),r.ja("'"),r.ia(s),r.ja("'"),r.ja("]"))}while(n=xr(i)?(e.e3s_1=r,e.y41(),(e.e3s_1+4|0)>=xr(i)&&e.u3w("Unexpected EOF during unicode escape"),Nq(e,i,e.e3s_1)):(e.h3s_1.ka(ji((((_i(e,i,r)<<12)+(_i(e,i,r+1|0)<<8)|0)+(_i(e,i,r+2|0)<<4)|0)+_i(e,i,r+3|0)|0)),r+4|0)}function _i(e,i,r){var t=Nr(i,r),n;if(C(48)<=t&&t<=C(57)){var a=_r(t),s=C(48);n=a-_r(s)|0}else if(C(97)<=t&&t<=C(102)){var u=_r(t),_=C(97);n=(u-_r(_)|0)+10|0}else if(C(65)<=t&&t<=C(70)){var o=_r(t),c=C(65);n=(o-_r(c)|0)+10|0}else e.u3w("Invalid toHexChar char '"+Lr(t)+"' in unicode escape");return n}function EM(e,i){var r=e.x41(i);(r>=xr(e.w41())||r===-1)&&e.u3w("EOF");var t=e.w41(),n=r;r=n+1|0;var a=Nr(t,n),s=_r(a)|32,u,_=C(116);if(s===_r(_))Ww(e,"rue",r),u=!0;else{var o=C(102);s===_r(o)?(Ww(e,"alse",r),u=!1):e.u3w("Expected valid boolean literal prefix, but had '"+e.l3y()+"'")}return u}function Ww(e,i,r){(xr(e.w41())-r|0)=xr(t)||r===-1?!1:Nr(t,r)===C(44)?(this.e3s_1=this.e3s_1+1|0,!0):!1}a42(r){return!(r===C(125)||r===C(93)||r===C(58)||r===C(44))}i3s(){var r=this.m3y();r!==10&&this.u3w("Expected EOF after parsing, but had "+Lr(Nr(this.w41(),this.e3s_1-1|0))+" instead")}i3y(r){var t=this.m3y();if(t!==r){var n=$s(r),a=this.e3s_1-1|0,s=this.e3s_1===xr(this.w41())||a<0?"EOF":Lr(Nr(this.w41(),a)),u="Expected "+n+", but had '"+s+"' instead";this.u3w(u,a)}return t}b42(r){if(this.e3s_1>0&&r===C(34)){var t;r:{var n=this.e3s_1;try{this.e3s_1=this.e3s_1-1|0,t=this.l3y();break r}finally{this.e3s_1=n}}var a=t;a==="null"&&this.t3w("Expected string literal but 'null' literal was found",this.e3s_1-1|0,"Use 'coerceInputValues = true' in 'Json {}' builder to coerce nulls if property has a default value.")}var s=be(r),u=$s(s),_=this.e3s_1-1|0,o=this.e3s_1===xr(this.w41())||_<0?"EOF":Lr(Nr(this.w41(),_)),c="Expected "+u+", but had '"+o+"' instead";this.u3w(c,_)}h3y(){var r=this.w41(),t=this.e3s_1;r:for(;;){if(t=this.x41(t),t===-1)break r;var n=Nr(r,t);if(n===C(32)||n===C(10)||n===C(13)||n===C(9)){t=t+1|0;continue r}return this.e3s_1=t,be(n)}return this.e3s_1=t,10}u3y(r){var t=this.z41();t=this.x41(t);var n=xr(this.w41())-t|0;if(n<4||t===-1)return!1;var a=0;if(a<=3)do{var s=a;if(a=a+1|0,Tr("null",s)!==Nr(this.w41(),t+s|0))return!1}while(a<=3);return n>4&&be(Nr(this.w41(),t+4|0))===0?!1:(r&&(this.e3s_1=t+4|0),!0)}f3z(r,t){return r=r===l?!0:r,t===l?this.u3y(r):t.u3y.call(this,r)}v3y(r){var t=this.h3y(),n;if(r){if(t!==1&&t!==0)return null;n=this.l3y()}else{if(t!==1)return null;n=this.k3y()}var a=n;return this.g3s_1=a,a}c42(){this.g3s_1=null}d23(r,t){var n=this.w41();return $(N5(n,r,t))}k3y(){return this.g3s_1!=null?Jw(this):this.y3y()}consumeString2(r,t,n){for(var a=n,s=t,u=Nr(r,a),_=!1;u!==C(34);)u===C(92)?(_=!0,a=this.x41(IM(this,s,a)),a===-1&&this.u3w("Unexpected EOF",a),s=a):(a=a+1|0,a>=xr(r)&&(_=!0,this.v41(s,a),a=this.x41(a),a===-1&&this.u3w("Unexpected EOF",a),s=a)),u=Nr(r,a);var o;_?o=ec(this,s,a):o=this.d23(s,a);var c=o;return this.e3s_1=a+1|0,c}z3y(){var r=this.l3y();return r==="null"&&$M(this)&&this.u3w("Unexpected 'null' value instead of string literal"),r}l3y(){if(this.g3s_1!=null)return Jw(this);var r=this.z41();(r>=xr(this.w41())||r===-1)&&this.u3w("EOF",r);var t=be(Nr(this.w41(),r));if(t===1)return this.k3y();t!==0&&this.u3w("Expected beginning of the string, but got "+Lr(Nr(this.w41(),r)));for(var n=!1;be(Nr(this.w41(),r))===0;)if(r=r+1|0,r>=xr(this.w41())){n=!0,this.v41(this.e3s_1,r);var a=this.x41(r);if(a===-1)return this.e3s_1=r,ec(this,0,0);r=a}var s;n?s=ec(this,this.e3s_1,r):s=this.d23(this.e3s_1,r);var u=s;return this.e3s_1=r,u}v41(r,t){this.h3s_1.qf(this.w41(),r,t)}x3y(r){var t=N().p1(),n=this.h3y();if(n!==8&&n!==6)return this.l3y(),S;r:for(;;){if(n=this.h3y(),n===1){r?this.l3y():this.y3y();continue r}var a=n;if(a===8||a===6)t.c1(n);else if(a===9){if(nw(t)!==8)throw Sr(this.e3s_1,"found ] instead of } at path: "+this.f3s_1.toString(),this.w41());aw(t)}else if(a===7){if(nw(t)!==6)throw Sr(this.e3s_1,"found } instead of ] at path: "+this.f3s_1.toString(),this.w41());aw(t)}else a===10&&this.u3w("Unexpected end of input due to malformed JSON during ignoring unknown keys");if(this.m3y(),t.h1()===0)return S}}toString(){return"JsonReader(source='"+$(this.w41())+"', currentPosition="+this.e3s_1+")"}w3y(r){var t=this.d23(0,this.e3s_1),n=s7(t,r);throw dn().d3v("Encountered an unknown key '"+r+"' at offset "+n+" at path: "+this.f3s_1.o3x()+` +`)+("To be registered automatically, class '"+e+"' has to be '@Serializable', and the base class '"+i.ce()+"' has to be sealed and '@Serializable'."))}var Fo;function tM(){if(Fo===l){class e{}p(e,"JsonClassDiscriminator"),Fo=e}return Fo}var Do;function eM(){if(Do===l){class e{}p(e,"JsonIgnoreUnknownKeys"),Do=e}return Do}var Po;function nM(){if(Po===l){class e{}p(e,"JsonNames"),Po=e}return Po}function aM(){return e=>e.c36()}var Bo;function iM(){if(Bo===l){class e{constructor(r){this.c37_1=r}d37(){return this.c37_1.e1()}e37(r){return r.y2().c36().f37()}g37(r){return this.e37(r==null||r!=null?r:m())}}p(e),Bo=e}return Bo}var Oo;function tm(){if(Oo===l){class e extends hn(){static h37(r,t,n,a){var s=this.j36();s.x36_1=t,s.y36_1=ot();var u=s,_=lr();if(u.z36_1=ur(_,()=>{var B=Dz();return se(r,B,[],R=>{R.s36("type",cn().c36());var W="kotlinx.serialization.Sealed<"+s.x36_1.ce()+">",G=h1(),Q=se(W,G,[],X=>{for(var rr=s.b37_1.e3().e1();rr.f1();){var tr=rr.g1(),ir=tr.x2(),dr=tr.y2();X.s36(ir,dr.c36())}return S});return R.s36("value",Q),R.m36_1=s.y36_1,S})}),n.length!==a.length)throw H().u("All subclasses of sealed class "+s.x36_1.ce()+" should be marked @Serializable");s.a37_1=ig(l7(n,a));for(var o=s,c=s.a37_1.e3(),h=new(iM())(c),f=zr().va(),v=h.d37();v.f1();){var d=v.g1(),g=h.g37(d),b=f.b3(g);if(b==null&&f.z2(g),b!=null){var w="Multiple sealed subclasses of '"+$(s.x36_1)+"' have the same serial name '"+g+"':"+(" '"+$(b.x2())+"', '"+$(d.x2())+"'");throw fr().u3($(w))}f.f3(g,d)}for(var x=zr().wa(_g(f.h1())),z=f.e3().e1();z.f1();){var k=z.g1(),A=k.x2(),D=k.y2().y2();x.f3(A,D)}return o.b37_1=x,s}t36(){return this.x36_1}static i37(r,t,n,a,s){var u=this.h37(r,t,n,a);return u.y36_1=lg(s),u}c36(){var r=this.z36_1,t=oe();return ce("descriptor",1,t,aM(),null),r.y2()}v36(r,t){var n=this.b37_1,a=(j(n,kt())?n:m()).b3(t);return a??super.v36(r,t)}w36(r,t){var n=this.a37_1.b3(or(t)),a=n??super.w36(r,t),s;return a==null?s=null:s=j(a,Jn())?a:m(),s}}p(e,"SealedClassSerializer"),Oo=e}return Oo}function $p(e){return hs(e)}function $s(e,i){for(var r=e.r38().e1();r.f1();){var t=r.g1();if(t instanceof tM())return t.o3y_1}return i.o3r_1.l3t_1}function sM(e,i,r){if(!(e instanceof tm()))return S;if($p(i.c36()).d2(r)){var t=e.c36().f37(),n=i.c36().f37(),a="Sealed class '"+n+"' cannot be serialized as base class '"+t+"' because"+(" it has property name that conflicts with JSON class discriminator '"+r+"'. ")+"You can either change class discriminator in JsonConfiguration, rename property with @SerialName annotation or fall back to array polymorphism";throw fr().u3($(a))}}function lM(e){if(e instanceof Fd()){var i="Enums cannot be serialized polymorphically with 'type' parameter. You can use 'JsonBuilder.useArrayPolymorphism' instead";throw fr().u3($(i))}if(e instanceof St()){var r="Primitives cannot be serialized polymorphically with 'type' parameter. You can use 'JsonBuilder.useArrayPolymorphism' instead";throw fr().u3($(r))}if(e instanceof mn()){var t="Actual serializer for polymorphic cannot be polymorphic itself";throw fr().u3($(t))}}function uM(e,i,r){return sM(e,i,r)}function em(e){return e.q3r_1}function Sq(){return Jt(),zq}var zq;function _M(){return Jt(),qq}var qq;function nm(e,i){Jt();var r;if(i.o3r_1.d3t_1)r=!0;else{var t=e.r38(),n;r:{var a;if(j(t,Pi())?a=t.m1():a=!1,a){n=!1;break r}for(var s=t.e1();s.f1();){var u=s.g1();if(u instanceof eM()){n=!0;break r}}n=!1}r=n}return r}function k1(e,i,r){if(Jt(),$q(i,e)){var t=r.toLowerCase();return Ro(e,i,t)}var n=ja(e,i);if(n!=null)return Ro(e,i,r);var a=e.t38(r);return a!==-3||!i.o3r_1.n3t_1?a:Ro(e,i,r)}function Iq(e,i,r,t){t=t===l?"":t,Jt();var n=k1(e,i,r);if(n===-3)throw jr().o37(e.f37()+" does not contain element with name '"+r+"'"+t);return n}function oM(e,i,r){Jt();var t=ja(e,i);return t==null?e.s38(r):cM(e,i,t)[r]}function ja(e,i){return Jt(),E(e.o38(),Ra())?i.o3r_1.o3t_1:null}function Ap(e,i){Jt();var r=em(e),t=Sq();return r.d3x(i,t,()=>hM(i,e))}function $q(e,i){return Jt(),e.o3r_1.p3t_1&&E(i.o38(),Ie())}function Ro(e,i,r){Jt();var t=Ap(i,e).b3(r);return t??-3}function cM(e,i,r){Jt();var t=em(i),n=_M();return t.d3x(e,n,()=>{for(var a=0,s=e.q38(),u=Array(s);awe(e)}var tc;function EM(){if(tc===l){class e{constructor(r){this.f3v_1=Xs(r)}f37(){return we(this).f37()}o38(){return we(this).o38()}q38(){return we(this).q38()}s38(r){return we(this).s38(r)}t38(r){return we(this).t38(r)}u38(r){return we(this).u38(r)}v38(r){return we(this).v38(r)}w38(r){return we(this).w38(r)}}F(e).k38=gn,F(e).p38=bn,F(e).r38=Ja,p(e,l,l,l,[Lt()]),tc=e}return tc}var NM=Math.imul,ec;function LM(){if(ec===l){class e{}P(e,"Tombstone"),ec=e}return ec}var Pp;function Vw(e){var i=NM(e.i3x_1,2);e.g3x_1=cg(e.g3x_1,i);for(var r=0,t=new Int32Array(i);r=0&&(r.ja("."),r.ja(s.s38(u)))}else s!==Pp&&(r.ja("["),r.ja("'"),r.ia(s),r.ja("'"),r.ja("]"))}while(n=xr(i)?(e.e3s_1=r,e.y41(),(e.e3s_1+4|0)>=xr(i)&&e.u3w("Unexpected EOF during unicode escape"),Fq(e,i,e.e3s_1)):(e.h3s_1.ka(Ti((((fi(e,i,r)<<12)+(fi(e,i,r+1|0)<<8)|0)+(fi(e,i,r+2|0)<<4)|0)+fi(e,i,r+3|0)|0)),r+4|0)}function fi(e,i,r){var t=Nr(i,r),n;if(C(48)<=t&&t<=C(57)){var a=_r(t),s=C(48);n=a-_r(s)|0}else if(C(97)<=t&&t<=C(102)){var u=_r(t),_=C(97);n=(u-_r(_)|0)+10|0}else if(C(65)<=t&&t<=C(70)){var o=_r(t),c=C(65);n=(o-_r(c)|0)+10|0}else e.u3w("Invalid toHexChar char '"+Lr(t)+"' in unicode escape");return n}function FM(e,i){var r=e.x41(i);(r>=xr(e.w41())||r===-1)&&e.u3w("EOF");var t=e.w41(),n=r;r=n+1|0;var a=Nr(t,n),s=_r(a)|32,u,_=C(116);if(s===_r(_))Zw(e,"rue",r),u=!0;else{var o=C(102);s===_r(o)?(Zw(e,"alse",r),u=!1):e.u3w("Expected valid boolean literal prefix, but had '"+e.l3y()+"'")}return u}function Zw(e,i,r){(xr(e.w41())-r|0)=xr(t)||r===-1?!1:Nr(t,r)===C(44)?(this.e3s_1=this.e3s_1+1|0,!0):!1}a42(r){return!(r===C(125)||r===C(93)||r===C(58)||r===C(44))}i3s(){var r=this.m3y();r!==10&&this.u3w("Expected EOF after parsing, but had "+Lr(Nr(this.w41(),this.e3s_1-1|0))+" instead")}i3y(r){var t=this.m3y();if(t!==r){var n=Es(r),a=this.e3s_1-1|0,s=this.e3s_1===xr(this.w41())||a<0?"EOF":Lr(Nr(this.w41(),a)),u="Expected "+n+", but had '"+s+"' instead";this.u3w(u,a)}return t}b42(r){if(this.e3s_1>0&&r===C(34)){var t;r:{var n=this.e3s_1;try{this.e3s_1=this.e3s_1-1|0,t=this.l3y();break r}finally{this.e3s_1=n}}var a=t;a==="null"&&this.t3w("Expected string literal but 'null' literal was found",this.e3s_1-1|0,"Use 'coerceInputValues = true' in 'Json {}' builder to coerce nulls if property has a default value.")}var s=be(r),u=Es(s),_=this.e3s_1-1|0,o=this.e3s_1===xr(this.w41())||_<0?"EOF":Lr(Nr(this.w41(),_)),c="Expected "+u+", but had '"+o+"' instead";this.u3w(c,_)}h3y(){var r=this.w41(),t=this.e3s_1;r:for(;;){if(t=this.x41(t),t===-1)break r;var n=Nr(r,t);if(n===C(32)||n===C(10)||n===C(13)||n===C(9)){t=t+1|0;continue r}return this.e3s_1=t,be(n)}return this.e3s_1=t,10}u3y(r){var t=this.z41();t=this.x41(t);var n=xr(this.w41())-t|0;if(n<4||t===-1)return!1;var a=0;if(a<=3)do{var s=a;if(a=a+1|0,Tr("null",s)!==Nr(this.w41(),t+s|0))return!1}while(a<=3);return n>4&&be(Nr(this.w41(),t+4|0))===0?!1:(r&&(this.e3s_1=t+4|0),!0)}f3z(r,t){return r=r===l?!0:r,t===l?this.u3y(r):t.u3y.call(this,r)}v3y(r){var t=this.h3y(),n;if(r){if(t!==1&&t!==0)return null;n=this.l3y()}else{if(t!==1)return null;n=this.k3y()}var a=n;return this.g3s_1=a,a}c42(){this.g3s_1=null}d23(r,t){var n=this.w41();return $(T5(n,r,t))}k3y(){return this.g3s_1!=null?Yw(this):this.y3y()}consumeString2(r,t,n){for(var a=n,s=t,u=Nr(r,a),_=!1;u!==C(34);)u===C(92)?(_=!0,a=this.x41(jM(this,s,a)),a===-1&&this.u3w("Unexpected EOF",a),s=a):(a=a+1|0,a>=xr(r)&&(_=!0,this.v41(s,a),a=this.x41(a),a===-1&&this.u3w("Unexpected EOF",a),s=a)),u=Nr(r,a);var o;_?o=ac(this,s,a):o=this.d23(s,a);var c=o;return this.e3s_1=a+1|0,c}z3y(){var r=this.l3y();return r==="null"&&MM(this)&&this.u3w("Unexpected 'null' value instead of string literal"),r}l3y(){if(this.g3s_1!=null)return Yw(this);var r=this.z41();(r>=xr(this.w41())||r===-1)&&this.u3w("EOF",r);var t=be(Nr(this.w41(),r));if(t===1)return this.k3y();t!==0&&this.u3w("Expected beginning of the string, but got "+Lr(Nr(this.w41(),r)));for(var n=!1;be(Nr(this.w41(),r))===0;)if(r=r+1|0,r>=xr(this.w41())){n=!0,this.v41(this.e3s_1,r);var a=this.x41(r);if(a===-1)return this.e3s_1=r,ac(this,0,0);r=a}var s;n?s=ac(this,this.e3s_1,r):s=this.d23(this.e3s_1,r);var u=s;return this.e3s_1=r,u}v41(r,t){this.h3s_1.qf(this.w41(),r,t)}x3y(r){var t=N().p1(),n=this.h3y();if(n!==8&&n!==6)return this.l3y(),S;r:for(;;){if(n=this.h3y(),n===1){r?this.l3y():this.y3y();continue r}var a=n;if(a===8||a===6)t.c1(n);else if(a===9){if(lw(t)!==8)throw Sr(this.e3s_1,"found ] instead of } at path: "+this.f3s_1.toString(),this.w41());uw(t)}else if(a===7){if(lw(t)!==6)throw Sr(this.e3s_1,"found } instead of ] at path: "+this.f3s_1.toString(),this.w41());uw(t)}else a===10&&this.u3w("Unexpected end of input due to malformed JSON during ignoring unknown keys");if(this.m3y(),t.h1()===0)return S}}toString(){return"JsonReader(source='"+$(this.w41())+"', currentPosition="+this.e3s_1+")"}w3y(r){var t=this.d23(0,this.e3s_1),n=h7(t,r);throw wn().d3v("Encountered an unknown key '"+r+"' at offset "+n+" at path: "+this.f3s_1.o3x()+` Use 'ignoreUnknownKeys = true' in 'Json {}' builder or '@JsonIgnoreUnknownKeys' annotation to ignore unknown keys. -`+("JSON input: "+$(Oa(this.w41(),n))))}t3w(r,t,n){var a;xr(n)===0?a="":a=` -`+n;var s=a;throw Sr(t,r+" at path: "+this.f3s_1.o3x()+s,this.w41())}u3w(r,t,n,a){return t=t===l?this.e3s_1:t,n=n===l?"":n,a===l?this.t3w(r,t,n):a.t3w.call(this,r,t,n)}h3z(){var r=this.z41();r=this.x41(r),(r>=xr(this.w41())||r===-1)&&this.u3w("EOF");var t;Nr(this.w41(),r)===C(34)?(r=r+1|0,r===xr(this.w41())&&this.u3w("EOF"),t=!0):t=!1;var n=t,a=0n,s=0n,u=!1,_=!1,o=!1,c=r;r:for(;r!==xr(this.w41());){var h=Nr(this.w41(),r);if((h===C(101)||h===C(69))&&!o){r===c&&this.u3w("Unexpected symbol "+Lr(h)+" in numeric literal"),_=!0,o=!0,r=r+1|0;continue r}if(h===C(45)&&o){r===c&&this.u3w("Unexpected symbol '-' in numeric literal"),_=!1,r=r+1|0;continue r}if(h===C(43)&&o){r===c&&this.u3w("Unexpected symbol '+' in numeric literal"),_=!0,r=r+1|0;continue r}if(h===C(45)){r!==c&&this.u3w("Unexpected symbol '-' in numeric literal"),u=!0,r=r+1|0;continue r}var f=be(h);if(f!==0)break r;r=r+1|0;var v=ye(h,C(48));if(0<=v&&v<=9||this.u3w("Unexpected symbol '"+Lr(h)+"' in numeric literal"),o){var d=s,y=iw(d,bt(10));s=tn(y,bt(v));continue r}var b=a,w=iw(b,bt(10));a=Li(w,bt(v)),a>0n&&this.u3w("Numeric value overflow")}var x=r!==c;if((c===r||u&&c===(r-1|0))&&this.u3w("Expected numeric literal"),n&&(x||this.u3w("EOF"),Nr(this.w41(),r)!==C(34)&&this.u3w("Expected closing quotation mark"),r=r+1|0),this.e3s_1=r,o){var q=ze(a)*NM(s,_);(q>ze(9223372036854775807n)||q=r.length||t===-1?10:(this.e3s_1=t+1|0,be(Tr(r,t)))}j3y(){var r=this.z41();return r>=this.w41().length||r===-1?!1:this.a42(Tr(this.w41(),r))}s3y(r){var t=this.w41(),n=this.z41();(n>=t.length||n===-1)&&(this.e3s_1=-1,this.b42(r));var a=Tr(t,n);if(this.e3s_1=n+1|0,a===r)return S;this.b42(r)}h3y(){var r=this.w41(),t=this.z41();return t>=r.length||t===-1?10:(this.e3s_1=t,be(Tr(r,t)))}z41(){var r=this.e3s_1;if(r===-1)return r;var t=this.w41();r:for(;r>>6|0,t=i&63,n=fd(r);return t!==0&&(n[_7(n)]=Nn(-1n,i)),n}function _T(e,i){var r=(i>>>6|0)-1|0,t=i&63;e.s3g_1[r]=e.s3g_1[r]|Nn(1n,t)}function oT(e){var i=0,r=e.s3g_1.length-1|0;if(i<=r)do{var t=i;i=i+1|0;for(var n=sT(t+1|0,64),a=e.s3g_1[t];a!==-1n;){var s=uy(~a);a=a|Nn(1n,s);var u=n+s|0;if(e.q3g_1(e.p3g_1,u))return e.s3g_1[t]=a,u}e.s3g_1[t]=a}while(i<=r);return-1}var kc;function cT(){if(kc===l){class e{constructor(r,t){Yw(),this.p3g_1=r,this.q3g_1=t;var n=this.p3g_1.q38();if(n<=64){var a=this,s;n===64?s=0n:s=Nn(-1n,n),a.r3g_1=s,this.s3g_1=Yw().o3g_1}else this.r3g_1=0n,this.s3g_1=uT(this,n)}a1h(r){r<64?this.r3g_1=this.r3g_1|Nn(1n,r):_T(this,r)}t3g(){for(var r=this.p3g_1.q38();this.r3g_1!==-1n;){var t=uy(~this.r3g_1);if(this.r3g_1=this.r3g_1|Nn(1n,t),this.q3g_1(this.p3g_1,t))return t}return r>64?oT(this):-1}}p(e,"ElementMarker"),kc=e}return kc}function hT(e,i,r){return e.k3w_1=!i.w38(r)&&i.v38(r).k38(),e.k3w_1}function fT(e){var i=(r,t)=>{var n=e;return hT(n,r,t)};return i.callableName="readIfAbsent",i}var Cc;function vT(){if(Cc===l){class e{constructor(r){var t=this;t.j3w_1=new(cT())(r,fT(this)),this.k3w_1=!1}l3w(r){this.j3w_1.a1h(r)}m3w(){return this.j3w_1.t3g()}}p(e,"JsonElementMarker"),Cc=e}return Cc}function*pT(e,i,r,t){var n=e.g3y_1.c3y_1.h3y(),a;if(n===1)a=Es(e.g3y_1,!0);else if(n===0)a=Es(e.g3y_1,!1);else if(n===6){var s=wT(e.g3y_1,i,t);s===O()&&(s=yield s),a=s}else n===8?a=Pq(e.g3y_1):e.g3y_1.c3y_1.u3w("Can't begin reading element, unexpected token");return a}function dT(e){var i=e.c3y_1.i3y(6);e.c3y_1.h3y()===4&&e.c3y_1.u3w("Unexpected leading comma");var r=zr().va();r:for(;e.c3y_1.j3y();){var t=e.d3y_1?e.c3y_1.l3y():e.c3y_1.k3y();e.c3y_1.i3y(5);var n=e.x1g();r.f3(t,n),i=e.c3y_1.m3y();var a=i;if(a!==4){if(a===7)break r;e.c3y_1.u3w("Expected end of the object or comma")}}return i===6?e.c3y_1.i3y(7):i===4&&(e.e3y_1||mn(e.c3y_1),e.c3y_1.i3y(7)),new(Zr())(r)}function*mT(e,i,r){var t=e.c3y_1.i3y(6);e.c3y_1.h3y()===4&&e.c3y_1.u3w("Unexpected leading comma");var n=zr().va();r:for(;e.c3y_1.j3y();){var a=e.d3y_1?e.c3y_1.l3y():e.c3y_1.k3y();e.c3y_1.i3y(5);var s=i.hp(S,r);s===O()&&(s=yield s);var u=s;n.f3(a,u),t=e.c3y_1.m3y();var _=t;if(_!==4){if(_===7)break r;e.c3y_1.u3w("Expected end of the object or comma")}}return t===6?e.c3y_1.i3y(7):t===4&&(e.e3y_1||mn(e.c3y_1),e.c3y_1.i3y(7)),new(Zr())(n)}function wT(e,i,r){return er(mT.bind(l,e,i),r)}function Pq(e){var i=e.c3y_1.m3y();e.c3y_1.h3y()===4&&e.c3y_1.u3w("Unexpected leading comma");for(var r=N().p1();e.c3y_1.j3y();){var t=e.x1g();if(r.c1(t),i=e.c3y_1.m3y(),i!==4){var n=e.c3y_1,a=i===9,s=n.e3s_1;if(!a){var u="Expected end of the array or comma";n.u3w(u,s)}}}return i===8?e.c3y_1.i3y(9):i===4&&(e.e3y_1||mn(e.c3y_1,"array"),e.c3y_1.i3y(9)),new(Ut())(r)}function Es(e,i){var r;e.d3y_1||!i?r=e.c3y_1.l3y():r=e.c3y_1.k3y();var t=r;return!i&&t==="null"?Ae():new(le())(t,i)}function gT(e){return o7(new(c7())(bT(e)),S)}var xc;function yT(){if(xc===l){class e{constructor(r){this.g3y_1=r}n3y(r,t,n){return er(pT.bind(l,this,r,t),n)}qc(r,t,n){var a=r instanceof h7()?r:m();return this.n3y(a,t instanceof od()?t:m(),n)}}at(e,l,l,[2]),xc=e}return xc}function bT(e){var i=new(yT())(e),r=(t,n,a)=>i.n3y(t,n,a);return r.$arity=2,r}var Sc;function kT(){if(Sc===l){class e{constructor(r,t){this.c3y_1=t,this.d3y_1=r.e3t_1,this.e3y_1=r.q3t_1,this.f3y_1=0}x1g(){var r=this.c3y_1.h3y(),t;if(r===1)t=Es(this,!0);else if(r===0)t=Es(this,!1);else if(r===6){var n;this.f3y_1=this.f3y_1+1|0,this.f3y_1===200?n=gT(this):n=dT(this);var a=n;this.f3y_1=this.f3y_1-1|0,t=a}else r===8?t=Pq(this):this.c3y_1.u3w("Cannot read Json element because of unexpected "+$s(r));return t}}p(e,"JsonTreeReader",l,l,l,[1]),Sc=e}return Sc}var zc;function Zw(){if(zc===l){class e extends CT(){q3o(r,t){return this.s3o(this.r3o(r,t))}s3o(r){var t=this.v3o();return this.w3o(t??"",r)}r3o(r,t){return r.s38(t)}w3o(r,t){var n;return xr(r)===0?n=t:n=r+"."+t,n}x3o(){return this.t3o_1.m1()?"$":Et(this.t3o_1,".","$.")}}p(e,"NamedValueDecoder"),zc=e}return zc}function Xw(e,i,r){e.l3p(i);var t=r();return e.u3o_1||e.m3p(),e.u3o_1=!1,t}var qc;function CT(){if(qc===l){class e{constructor(){var r=this;r.t3o_1=N().p1(),this.u3o_1=!1}z3a(){return Un()}y3o(r){throw jr().o37($(or(this))+" can't retrieve untyped values")}z3o(r){return!0}a3p(r){var t=this.y3o(r);return typeof t=="boolean"?t:m()}b3p(r){var t=this.y3o(r);return typeof t=="number"?t:m()}c3p(r){var t=this.y3o(r);return typeof t=="number"?t:m()}d3p(r){var t=this.y3o(r);return typeof t=="number"?t:m()}e3p(r){var t=this.y3o(r);return typeof t=="bigint"?t:m()}f3p(r){var t=this.y3o(r);return typeof t=="number"?t:m()}g3p(r){var t=this.y3o(r);return typeof t=="number"?t:m()}h3p(r){var t=this.y3o(r);return t instanceof J()?t.g2_1:m()}i3p(r){var t=this.y3o(r);return typeof t=="string"?t:m()}j3p(r,t){var n=this.y3o(r);return typeof n=="number"?n:m()}k3p(r,t){return this.l3p(r),this}i3a(r,t){return this.j3a(r)}h3a(r){return this.k3p(this.m3p(),r)}v39(){var r=this.v3o(),t;if(r==null)return!1;t=r;var n=t;return this.z3o(n)}w39(){return null}x39(){return this.a3p(this.m3p())}y39(){return this.b3p(this.m3p())}z39(){return this.c3p(this.m3p())}a3a(){return this.d3p(this.m3p())}b3a(){return this.e3p(this.m3p())}c3a(){return this.f3p(this.m3p())}d3a(){return this.g3p(this.m3p())}e3a(){return this.h3p(this.m3p())}f3a(){return this.i3p(this.m3p())}g3a(r){return this.j3p(this.m3p(),r)}k3a(r){return this}l3a(r){}m3a(r,t){return this.a3p(this.q3o(r,t))}n3a(r,t){return this.b3p(this.q3o(r,t))}o3a(r,t){return this.c3p(this.q3o(r,t))}p3a(r,t){return this.d3p(this.q3o(r,t))}q3a(r,t){return this.e3p(this.q3o(r,t))}r3a(r,t){return this.f3p(this.q3o(r,t))}s3a(r,t){return this.g3p(this.q3o(r,t))}t3a(r,t){return this.h3p(this.q3o(r,t))}u3a(r,t){return this.i3p(this.q3o(r,t))}v3a(r,t){return this.k3p(this.q3o(r,t),r.v38(t))}w3a(r,t,n,a){var s=this.q3o(r,t);return Xw(this,s,()=>this.i3a(n,a))}y3a(r,t,n,a){var s=this.q3o(r,t);return Xw(this,s,()=>{var u=n.c36().k38(),_;return u||this.v39()?_=this.i3a(n,a):_=this.w39(),_})}v3o(){return _y(this.t3o_1)}l3p(r){this.t3o_1.c1(r)}m3p(){var r=this.t3o_1.w2(f7(this.t3o_1));return this.u3o_1=!0,r}}F(e).x3a=$q,F(e).j3a=zq,F(e).a3b=qq,F(e).c3b=Iq,p(e,"TaggedDecoder",l,l,[Qd(),rm()]),qc=e}return qc}var xT=Math.imul;function ST(e,i,r){var t;if(i instanceof Zr())t=new(Ja())(e,i);else if(i instanceof Ut())t=new(Pp())(e,i);else{var n;i instanceof le()?n=!0:n=E(i,Ae()),n?t=new(Bq())(e,i instanceof wr()?i:m()):gt()}var a=t;return a.j3a(r)}function ut(e,i,r,t){var n=xa(r,"i")?"an "+r:"a "+r;throw Sr(-1,"Failed to parse literal '"+i.toString()+"' as "+n+" value at element: "+e.r3z(t),$(e.s3z()))}var Ic;function cm(){if(Ic===l){class e extends Zw(){constructor(r,t,n){n=n===l?null:n,super(),this.n3z_1=r,this.o3z_1=t,this.p3z_1=n,this.q3z_1=this.t3t().o3r_1}t3t(){return this.n3z_1}y2(){return this.o3z_1}z3a(){return this.t3t().z3a()}s3z(){var r=this.v3o(),t;r==null?t=null:t=this.t3z(r);var n=t;return n??this.y2()}r3z(r){return this.x3o()+("."+r)}u3t(){return this.s3z()}j3a(r){var t;r:{var n;if(r instanceof on()?n=this.t3t().o3r_1.k3t_1:n=!0,n){t=r.e36(this);break r}var a=qs(r.c36(),this.t3t()),s=this.u3t(),u=r.c36().f37();if(!(s instanceof Zr())){var _=Z(Zr()).ce(),o=or(s).ce(),c=this.x3o();throw Sr(-1,"Expected "+_+", but had "+o+" as the serialized body of "+u+" at element: "+c,$(s))}var h=s,f=h.w1m(a),v=f==null?null:Ce(f),d=v==null?null:um(v),y;try{y=Ia(r,this,d)}catch(q){if(q instanceof jr()){var b=q;throw Sr(-1,nr(b.message),h.toString())}else throw q}var w=y,x=j(w,oa())?w:m();t=Oq(this.t3t(),a,h,x)}return t}w3o(r,t){return t}k3a(r){var t=this.s3z(),n=r.o38(),a,s;if(E(n,Pa())?s=!0:s=n instanceof pn(),s){var u=this.t3t(),_=r.f37();if(!(t instanceof Ut())){var o=Z(Ut()).ce(),c=or(t).ce(),h=this.x3o();throw Sr(-1,"Expected "+o+", but had "+c+" as the serialized body of "+_+" at element: "+h,$(t))}a=new(Pp())(u,t)}else if(E(n,Ba())){var f=this.t3t(),v=cs(r.v38(0),f.z3a()),d=v.o38(),y,b;if(d instanceof St()?b=!0:b=E(d,Ie()),b){var w=this.t3t(),x=r.f37();if(!(t instanceof Zr())){var q=Z(Zr()).ce(),k=or(t).ce(),A=this.x3o();throw Sr(-1,"Expected "+q+", but had "+k+" as the serialized body of "+x+" at element: "+A,$(t))}y=new(zT())(w,t)}else if(f.o3r_1.f3t_1){var D=this.t3t(),B=r.f37();if(!(t instanceof Ut())){var R=Z(Ut()).ce(),W=or(t).ce(),G=this.x3o();throw Sr(-1,"Expected "+R+", but had "+W+" as the serialized body of "+B+" at element: "+G,$(t))}y=new(Pp())(D,t)}else throw Mz(v);a=y}else{var Q=this.t3t(),X=r.f37();if(!(t instanceof Zr())){var rr=Z(Zr()).ce(),tr=or(t).ce(),ir=this.x3o();throw Sr(-1,"Expected "+rr+", but had "+tr+" as the serialized body of "+X+" at element: "+ir,$(t))}a=new(Ja())(Q,t,this.p3z_1)}return a}l3a(r){}v39(){var r=this.s3z();return!(r instanceof Ge())}u3z(r,t){var n=this.t3t(),a=this.t3z(r),s=t.f37();if(!(a instanceof wr())){var u=Z(wr()).ce(),_=or(a).ce(),o=this.r3z(r);throw Sr(-1,"Expected "+u+", but had "+_+" as the serialized body of "+s+" at element: "+o,$(a))}return Cq(t,n,a.c3u())}j3p(r,t){return this.u3z(r!=null&&typeof r=="string"?r:m(),t)}v3z(r){return this.t3z(r)!==Ae()}z3o(r){return this.v3z(r!=null&&typeof r=="string"?r:m())}w3z(r){var t;r:{var n=this.t3z(r);if(!(n instanceof wr())){var a=Z(wr()).ce(),s=or(n).ce(),u=this.r3z(r);throw Sr(-1,"Expected "+a+", but had "+s+" as the serialized body of boolean at element: "+u,$(n))}var _=n;try{var o=Tq(_),c;o==null?ut(this,_,"boolean",r):c=o,t=c;break r}catch(h){if(h instanceof H())ut(this,_,"boolean",r);else throw h}}return t}a3p(r){return this.w3z(r!=null&&typeof r=="string"?r:m())}x3z(r){var t;r:{var n=this.t3z(r);if(!(n instanceof wr())){var a=Z(wr()).ce(),s=or(n).ce(),u=this.r3z(r);throw Sr(-1,"Expected "+a+", but had "+s+" as the serialized body of byte at element: "+u,$(n))}var _=n;try{var o=Re(_),c,h=Yt(-128,127);la(j(h,ua())?h:m(),o)?c=B5(o):c=null;var f=c,v;f==null?ut(this,_,"byte",r):v=f,t=v;break r}catch(d){if(d instanceof H())ut(this,_,"byte",r);else throw d}}return t}b3p(r){return this.x3z(r!=null&&typeof r=="string"?r:m())}y3z(r){var t;r:{var n=this.t3z(r);if(!(n instanceof wr())){var a=Z(wr()).ce(),s=or(n).ce(),u=this.r3z(r);throw Sr(-1,"Expected "+a+", but had "+s+" as the serialized body of short at element: "+u,$(n))}var _=n;try{var o=Re(_),c,h=Yt(-32768,32767);la(j(h,ua())?h:m(),o)?c=O5(o):c=null;var f=c,v;f==null?ut(this,_,"short",r):v=f,t=v;break r}catch(d){if(d instanceof H())ut(this,_,"short",r);else throw d}}return t}c3p(r){return this.y3z(r!=null&&typeof r=="string"?r:m())}z3z(r){var t;r:{var n=this.t3z(r);if(!(n instanceof wr())){var a=Z(wr()).ce(),s=or(n).ce(),u=this.r3z(r);throw Sr(-1,"Expected "+a+", but had "+s+" as the serialized body of int at element: "+u,$(n))}var _=n;try{var o=Re(_),c,h=Yt(-2147483648,2147483647);la(j(h,ua())?h:m(),o)?c=Ca(o):c=null;var f=c,v;f==null?ut(this,_,"int",r):v=f,t=v;break r}catch(d){if(d instanceof H())ut(this,_,"int",r);else throw d}}return t}d3p(r){return this.z3z(r!=null&&typeof r=="string"?r:m())}a40(r){var t;r:{var n=this.t3z(r);if(!(n instanceof wr())){var a=Z(wr()).ce(),s=or(n).ce(),u=this.r3z(r);throw Sr(-1,"Expected "+a+", but had "+s+" as the serialized body of long at element: "+u,$(n))}var _=n;try{var o=Re(_),c;o==null?ut(this,_,"long",r):c=o,t=c;break r}catch(h){if(h instanceof H())ut(this,_,"long",r);else throw h}}return t}e3p(r){return this.a40(r!=null&&typeof r=="string"?r:m())}b40(r){var t;r:{var n=this.t3z(r);if(!(n instanceof wr())){var a=Z(wr()).ce(),s=or(n).ce(),u=this.r3z(r);throw Sr(-1,"Expected "+a+", but had "+s+" as the serialized body of float at element: "+u,$(n))}var _=n;try{var o=tT(_),c;o==null?ut(this,_,"float",r):c=o,t=c;break r}catch(v){if(v instanceof H())ut(this,_,"float",r);else throw v}}var h=t,f=this.t3t().o3r_1.m3t_1;if(f||pd(h))return h;throw Ew(h,r,$(this.s3z()))}f3p(r){return this.b40(r!=null&&typeof r=="string"?r:m())}c40(r){var t;r:{var n=this.t3z(r);if(!(n instanceof wr())){var a=Z(wr()).ce(),s=or(n).ce(),u=this.r3z(r);throw Sr(-1,"Expected "+a+", but had "+s+" as the serialized body of double at element: "+u,$(n))}var _=n;try{var o=Fq(_),c;o==null?ut(this,_,"double",r):c=o,t=c;break r}catch(v){if(v instanceof H())ut(this,_,"double",r);else throw v}}var h=t,f=this.t3t().o3r_1.m3t_1;if(f||dd(h))return h;throw Ew(h,r,$(this.s3z()))}g3p(r){return this.c40(r!=null&&typeof r=="string"?r:m())}d40(r){var t;r:{var n=this.t3z(r);if(!(n instanceof wr())){var a=Z(wr()).ce(),s=or(n).ce(),u=this.r3z(r);throw Sr(-1,"Expected "+a+", but had "+s+" as the serialized body of char at element: "+u,$(n))}var _=n;try{var o=new(J())(p7(_.c3u())),c;o==null?ut(this,_,"char",r):c=o,t=c.g2_1;break r}catch(h){if(h instanceof H())ut(this,_,"char",r);else throw h}}return t}h3p(r){return this.d40(r!=null&&typeof r=="string"?r:m())}e40(r){var t=this.t3z(r);if(!(t instanceof wr())){var n=Z(wr()).ce(),a=or(t).ce(),s=this.r3z(r);throw Sr(-1,"Expected "+n+", but had "+a+" as the serialized body of string at element: "+s,$(t))}var u=t;if(!(u instanceof le()))throw Sr(-1,"Expected string value for a non-null key '"+r+"', got null literal instead at element: "+this.r3z(r),$(this.s3z()));if(!u.f3u_1&&!this.t3t().o3r_1.e3t_1)throw Sr(-1,"String literal for key '"+r+"' should be quoted at element: "+this.r3z(r)+`. -Use 'isLenient = true' in 'Json {}' builder to accept non-compliant JSON.`,$(this.s3z()));return u.h3u_1}i3p(r){return this.e40(r!=null&&typeof r=="string"?r:m())}f40(r,t){var n;if(_m(t)){var a=this.t3t(),s=this.t3z(r),u=t.f37();if(!(s instanceof wr())){var _=Z(wr()).ce(),o=or(s).ce(),c=this.r3z(r);throw Sr(-1,"Expected "+_+", but had "+o+" as the serialized body of "+u+" at element: "+c,$(s))}var h=jq(a,s.c3u());n=new(Rq())(h,this.t3t())}else n=super.k3p(r,t);return n}k3p(r,t){return this.f40(r!=null&&typeof r=="string"?r:m(),t)}h3a(r){return this.v3o()!=null?super.h3a(r):new(Bq())(this.t3t(),this.y2(),this.p3z_1).h3a(r)}}p(e,"AbstractJsonTreeDecoder",l,l,[Zw(),tm()]),Ic=e}return Ic}function Qw(e,i,r){return e.p40_1=!e.t3t().o3r_1.h3t_1&&!i.w38(r)&&i.v38(r).k38(),e.p40_1}var $c;function Ja(){if($c===l){class e extends cm(){constructor(r,t,n,a){n=n===l?null:n,a=a===l?null:a,super(r,t,n),this.m40_1=t,this.n40_1=a,this.o40_1=0,this.p40_1=!1}y2(){return this.m40_1}b3b(r){r:for(;this.o40_1=xr(this.w41())||r===-1)&&this.u3w("EOF");var t;Nr(this.w41(),r)===C(34)?(r=r+1|0,r===xr(this.w41())&&this.u3w("EOF"),t=!0):t=!1;var n=t,a=0n,s=0n,u=!1,_=!1,o=!1,c=r;r:for(;r!==xr(this.w41());){var h=Nr(this.w41(),r);if((h===C(101)||h===C(69))&&!o){r===c&&this.u3w("Unexpected symbol "+Lr(h)+" in numeric literal"),_=!0,o=!0,r=r+1|0;continue r}if(h===C(45)&&o){r===c&&this.u3w("Unexpected symbol '-' in numeric literal"),_=!1,r=r+1|0;continue r}if(h===C(43)&&o){r===c&&this.u3w("Unexpected symbol '+' in numeric literal"),_=!0,r=r+1|0;continue r}if(h===C(45)){r!==c&&this.u3w("Unexpected symbol '-' in numeric literal"),u=!0,r=r+1|0;continue r}var f=be(h);if(f!==0)break r;r=r+1|0;var v=ge(h,C(48));if(0<=v&&v<=9||this.u3w("Unexpected symbol '"+Lr(h)+"' in numeric literal"),o){var d=s,g=_w(d,bt(10));s=en(g,bt(v));continue r}var b=a,w=_w(b,bt(10));a=Mi(w,bt(v)),a>0n&&this.u3w("Numeric value overflow")}var x=r!==c;if((c===r||u&&c===(r-1|0))&&this.u3w("Expected numeric literal"),n&&(x||this.u3w("EOF"),Nr(this.w41(),r)!==C(34)&&this.u3w("Expected closing quotation mark"),r=r+1|0),this.e3s_1=r,o){var z=Se(a)*DM(s,_);(z>Se(9223372036854775807n)||z=r.length||t===-1?10:(this.e3s_1=t+1|0,be(Tr(r,t)))}j3y(){var r=this.z41();return r>=this.w41().length||r===-1?!1:this.a42(Tr(this.w41(),r))}s3y(r){var t=this.w41(),n=this.z41();(n>=t.length||n===-1)&&(this.e3s_1=-1,this.b42(r));var a=Tr(t,n);if(this.e3s_1=n+1|0,a===r)return S;this.b42(r)}h3y(){var r=this.w41(),t=this.z41();return t>=r.length||t===-1?10:(this.e3s_1=t,be(Tr(r,t)))}z41(){var r=this.e3s_1;if(r===-1)return r;var t=this.w41();r:for(;r>>6|0,t=i&63,n=wd(r);return t!==0&&(n[p7(n)]=jn(-1n,i)),n}function pT(e,i){var r=(i>>>6|0)-1|0,t=i&63;e.s3g_1[r]=e.s3g_1[r]|jn(1n,t)}function dT(e){var i=0,r=e.s3g_1.length-1|0;if(i<=r)do{var t=i;i=i+1|0;for(var n=hT(t+1|0,64),a=e.s3g_1[t];a!==-1n;){var s=fg(~a);a=a|jn(1n,s);var u=n+s|0;if(e.q3g_1(e.p3g_1,u))return e.s3g_1[t]=a,u}e.s3g_1[t]=a}while(i<=r);return-1}var xc;function mT(){if(xc===l){class e{constructor(r,t){ry(),this.p3g_1=r,this.q3g_1=t;var n=this.p3g_1.q38();if(n<=64){var a=this,s;n===64?s=0n:s=jn(-1n,n),a.r3g_1=s,this.s3g_1=ry().o3g_1}else this.r3g_1=0n,this.s3g_1=vT(this,n)}a1h(r){r<64?this.r3g_1=this.r3g_1|jn(1n,r):pT(this,r)}t3g(){for(var r=this.p3g_1.q38();this.r3g_1!==-1n;){var t=fg(~this.r3g_1);if(this.r3g_1=this.r3g_1|jn(1n,t),this.q3g_1(this.p3g_1,t))return t}return r>64?dT(this):-1}}p(e,"ElementMarker"),xc=e}return xc}function wT(e,i,r){return e.k3w_1=!i.w38(r)&&i.v38(r).k38(),e.k3w_1}function yT(e){var i=(r,t)=>{var n=e;return wT(n,r,t)};return i.callableName="readIfAbsent",i}var Sc;function gT(){if(Sc===l){class e{constructor(r){var t=this;t.j3w_1=new(mT())(r,yT(this)),this.k3w_1=!1}l3w(r){this.j3w_1.a1h(r)}m3w(){return this.j3w_1.t3g()}}p(e,"JsonElementMarker"),Sc=e}return Sc}function*bT(e,i,r,t){var n=e.g3y_1.c3y_1.h3y(),a;if(n===1)a=Ls(e.g3y_1,!0);else if(n===0)a=Ls(e.g3y_1,!1);else if(n===6){var s=xT(e.g3y_1,i,t);s===O()&&(s=yield s),a=s}else n===8?a=Kq(e.g3y_1):e.g3y_1.c3y_1.u3w("Can't begin reading element, unexpected token");return a}function kT(e){var i=e.c3y_1.i3y(6);e.c3y_1.h3y()===4&&e.c3y_1.u3w("Unexpected leading comma");var r=zr().va();r:for(;e.c3y_1.j3y();){var t=e.d3y_1?e.c3y_1.l3y():e.c3y_1.k3y();e.c3y_1.i3y(5);var n=e.x1g();r.f3(t,n),i=e.c3y_1.m3y();var a=i;if(a!==4){if(a===7)break r;e.c3y_1.u3w("Expected end of the object or comma")}}return i===6?e.c3y_1.i3y(7):i===4&&(e.e3y_1||yn(e.c3y_1),e.c3y_1.i3y(7)),new(Zr())(r)}function*CT(e,i,r){var t=e.c3y_1.i3y(6);e.c3y_1.h3y()===4&&e.c3y_1.u3w("Unexpected leading comma");var n=zr().va();r:for(;e.c3y_1.j3y();){var a=e.d3y_1?e.c3y_1.l3y():e.c3y_1.k3y();e.c3y_1.i3y(5);var s=i.hp(S,r);s===O()&&(s=yield s);var u=s;n.f3(a,u),t=e.c3y_1.m3y();var _=t;if(_!==4){if(_===7)break r;e.c3y_1.u3w("Expected end of the object or comma")}}return t===6?e.c3y_1.i3y(7):t===4&&(e.e3y_1||yn(e.c3y_1),e.c3y_1.i3y(7)),new(Zr())(n)}function xT(e,i,r){return er(CT.bind(l,e,i),r)}function Kq(e){var i=e.c3y_1.m3y();e.c3y_1.h3y()===4&&e.c3y_1.u3w("Unexpected leading comma");for(var r=N().p1();e.c3y_1.j3y();){var t=e.x1g();if(r.c1(t),i=e.c3y_1.m3y(),i!==4){var n=e.c3y_1,a=i===9,s=n.e3s_1;if(!a){var u="Expected end of the array or comma";n.u3w(u,s)}}}return i===8?e.c3y_1.i3y(9):i===4&&(e.e3y_1||yn(e.c3y_1,"array"),e.c3y_1.i3y(9)),new(Ut())(r)}function Ls(e,i){var r;e.d3y_1||!i?r=e.c3y_1.l3y():r=e.c3y_1.k3y();var t=r;return!i&&t==="null"?Ae():new(le())(t,i)}function ST(e){return d7(new(m7())(qT(e)),S)}var zc;function zT(){if(zc===l){class e{constructor(r){this.g3y_1=r}n3y(r,t,n){return er(bT.bind(l,this,r,t),n)}qc(r,t,n){var a=r instanceof w7()?r:m();return this.n3y(a,t instanceof pd()?t:m(),n)}}at(e,l,l,[2]),zc=e}return zc}function qT(e){var i=new(zT())(e),r=(t,n,a)=>i.n3y(t,n,a);return r.$arity=2,r}var qc;function IT(){if(qc===l){class e{constructor(r,t){this.c3y_1=t,this.d3y_1=r.e3t_1,this.e3y_1=r.q3t_1,this.f3y_1=0}x1g(){var r=this.c3y_1.h3y(),t;if(r===1)t=Ls(this,!0);else if(r===0)t=Ls(this,!1);else if(r===6){var n;this.f3y_1=this.f3y_1+1|0,this.f3y_1===200?n=ST(this):n=kT(this);var a=n;this.f3y_1=this.f3y_1-1|0,t=a}else r===8?t=Kq(this):this.c3y_1.u3w("Cannot read Json element because of unexpected "+Es(r));return t}}p(e,"JsonTreeReader",l,l,l,[1]),qc=e}return qc}var Ic;function ty(){if(Ic===l){class e extends $T(){q3o(r,t){return this.s3o(this.r3o(r,t))}s3o(r){var t=this.v3o();return this.w3o(t??"",r)}r3o(r,t){return r.s38(t)}w3o(r,t){var n;return xr(r)===0?n=t:n=r+"."+t,n}x3o(){return this.t3o_1.m1()?"$":Et(this.t3o_1,".","$.")}}p(e,"NamedValueDecoder"),Ic=e}return Ic}function ey(e,i,r){e.l3p(i);var t=r();return e.u3o_1||e.m3p(),e.u3o_1=!1,t}var $c;function $T(){if($c===l){class e{constructor(){var r=this;r.t3o_1=N().p1(),this.u3o_1=!1}z3a(){return Wn()}y3o(r){throw jr().o37($(or(this))+" can't retrieve untyped values")}z3o(r){return!0}a3p(r){var t=this.y3o(r);return typeof t=="boolean"?t:m()}b3p(r){var t=this.y3o(r);return typeof t=="number"?t:m()}c3p(r){var t=this.y3o(r);return typeof t=="number"?t:m()}d3p(r){var t=this.y3o(r);return typeof t=="number"?t:m()}e3p(r){var t=this.y3o(r);return typeof t=="bigint"?t:m()}f3p(r){var t=this.y3o(r);return typeof t=="number"?t:m()}g3p(r){var t=this.y3o(r);return typeof t=="number"?t:m()}h3p(r){var t=this.y3o(r);return t instanceof J()?t.g2_1:m()}i3p(r){var t=this.y3o(r);return typeof t=="string"?t:m()}j3p(r,t){var n=this.y3o(r);return typeof n=="number"?n:m()}k3p(r,t){return this.l3p(r),this}i3a(r,t){return this.j3a(r)}h3a(r){return this.k3p(this.m3p(),r)}v39(){var r=this.v3o(),t;if(r==null)return!1;t=r;var n=t;return this.z3o(n)}w39(){return null}x39(){return this.a3p(this.m3p())}y39(){return this.b3p(this.m3p())}z39(){return this.c3p(this.m3p())}a3a(){return this.d3p(this.m3p())}b3a(){return this.e3p(this.m3p())}c3a(){return this.f3p(this.m3p())}d3a(){return this.g3p(this.m3p())}e3a(){return this.h3p(this.m3p())}f3a(){return this.i3p(this.m3p())}g3a(r){return this.j3p(this.m3p(),r)}k3a(r){return this}l3a(r){}m3a(r,t){return this.a3p(this.q3o(r,t))}n3a(r,t){return this.b3p(this.q3o(r,t))}o3a(r,t){return this.c3p(this.q3o(r,t))}p3a(r,t){return this.d3p(this.q3o(r,t))}q3a(r,t){return this.e3p(this.q3o(r,t))}r3a(r,t){return this.f3p(this.q3o(r,t))}s3a(r,t){return this.g3p(this.q3o(r,t))}t3a(r,t){return this.h3p(this.q3o(r,t))}u3a(r,t){return this.i3p(this.q3o(r,t))}v3a(r,t){return this.k3p(this.q3o(r,t),r.v38(t))}w3a(r,t,n,a){var s=this.q3o(r,t);return ey(this,s,()=>this.i3a(n,a))}y3a(r,t,n,a){var s=this.q3o(r,t);return ey(this,s,()=>{var u=n.c36().k38(),_;return u||this.v39()?_=this.i3a(n,a):_=this.w39(),_})}v3o(){return vg(this.t3o_1)}l3p(r){this.t3o_1.c1(r)}m3p(){var r=this.t3o_1.w2(y7(this.t3o_1));return this.u3o_1=!0,r}}F(e).x3a=jq,F(e).j3a=Eq,F(e).a3b=Nq,F(e).c3b=Lq,p(e,"TaggedDecoder",l,l,[am(),im()]),$c=e}return $c}var AT=Math.imul;function ET(e,i,r){var t;if(i instanceof Zr())t=new(Ya())(e,i);else if(i instanceof Ut())t=new(Up())(e,i);else{var n;i instanceof le()?n=!0:n=E(i,Ae()),n?t=new(Gq())(e,i instanceof wr()?i:m()):yt()}var a=t;return a.j3a(r)}function ut(e,i,r,t){var n=$a(r,"i")?"an "+r:"a "+r;throw Sr(-1,"Failed to parse literal '"+i.toString()+"' as "+n+" value at element: "+e.r3z(t),$(e.s3z()))}var Ac;function dm(){if(Ac===l){class e extends ty(){constructor(r,t,n){n=n===l?null:n,super(),this.n3z_1=r,this.o3z_1=t,this.p3z_1=n,this.q3z_1=this.t3t().o3r_1}t3t(){return this.n3z_1}y2(){return this.o3z_1}z3a(){return this.t3t().z3a()}s3z(){var r=this.v3o(),t;r==null?t=null:t=this.t3z(r);var n=t;return n??this.y2()}r3z(r){return this.x3o()+("."+r)}u3t(){return this.s3z()}j3a(r){var t;r:{var n;if(r instanceof hn()?n=this.t3t().o3r_1.k3t_1:n=!0,n){t=r.e36(this);break r}var a=$s(r.c36(),this.t3t()),s=this.u3t(),u=r.c36().f37();if(!(s instanceof Zr())){var _=Y(Zr()).ce(),o=or(s).ce(),c=this.x3o();throw Sr(-1,"Expected "+_+", but had "+o+" as the serialized body of "+u+" at element: "+c,$(s))}var h=s,f=h.w1m(a),v=f==null?null:Ce(f),d=v==null?null:fm(v),g;try{g=La(r,this,d)}catch(z){if(z instanceof jr()){var b=z;throw Sr(-1,nr(b.message),h.toString())}else throw z}var w=g,x=j(w,pa())?w:m();t=Jq(this.t3t(),a,h,x)}return t}w3o(r,t){return t}k3a(r){var t=this.s3z(),n=r.o38(),a,s;if(E(n,Ua())?s=!0:s=n instanceof mn(),s){var u=this.t3t(),_=r.f37();if(!(t instanceof Ut())){var o=Y(Ut()).ce(),c=or(t).ce(),h=this.x3o();throw Sr(-1,"Expected "+o+", but had "+c+" as the serialized body of "+_+" at element: "+h,$(t))}a=new(Up())(u,t)}else if(E(n,Ka())){var f=this.t3t(),v=fs(r.v38(0),f.z3a()),d=v.o38(),g,b;if(d instanceof St()?b=!0:b=E(d,Ie()),b){var w=this.t3t(),x=r.f37();if(!(t instanceof Zr())){var z=Y(Zr()).ce(),k=or(t).ce(),A=this.x3o();throw Sr(-1,"Expected "+z+", but had "+k+" as the serialized body of "+x+" at element: "+A,$(t))}g=new(NT())(w,t)}else if(f.o3r_1.f3t_1){var D=this.t3t(),B=r.f37();if(!(t instanceof Ut())){var R=Y(Ut()).ce(),W=or(t).ce(),G=this.x3o();throw Sr(-1,"Expected "+R+", but had "+W+" as the serialized body of "+B+" at element: "+G,$(t))}g=new(Up())(D,t)}else throw Bz(v);a=g}else{var Q=this.t3t(),X=r.f37();if(!(t instanceof Zr())){var rr=Y(Zr()).ce(),tr=or(t).ce(),ir=this.x3o();throw Sr(-1,"Expected "+rr+", but had "+tr+" as the serialized body of "+X+" at element: "+ir,$(t))}a=new(Ya())(Q,t,this.p3z_1)}return a}l3a(r){}v39(){var r=this.s3z();return!(r instanceof Ge())}u3z(r,t){var n=this.t3t(),a=this.t3z(r),s=t.f37();if(!(a instanceof wr())){var u=Y(wr()).ce(),_=or(a).ce(),o=this.r3z(r);throw Sr(-1,"Expected "+u+", but had "+_+" as the serialized body of "+s+" at element: "+o,$(a))}return Iq(t,n,a.c3u())}j3p(r,t){return this.u3z(r!=null&&typeof r=="string"?r:m(),t)}v3z(r){return this.t3z(r)!==Ae()}z3o(r){return this.v3z(r!=null&&typeof r=="string"?r:m())}w3z(r){var t;r:{var n=this.t3z(r);if(!(n instanceof wr())){var a=Y(wr()).ce(),s=or(n).ce(),u=this.r3z(r);throw Sr(-1,"Expected "+a+", but had "+s+" as the serialized body of boolean at element: "+u,$(n))}var _=n;try{var o=Oq(_),c;o==null?ut(this,_,"boolean",r):c=o,t=c;break r}catch(h){if(h instanceof H())ut(this,_,"boolean",r);else throw h}}return t}a3p(r){return this.w3z(r!=null&&typeof r=="string"?r:m())}x3z(r){var t;r:{var n=this.t3z(r);if(!(n instanceof wr())){var a=Y(wr()).ce(),s=or(n).ce(),u=this.r3z(r);throw Sr(-1,"Expected "+a+", but had "+s+" as the serialized body of byte at element: "+u,$(n))}var _=n;try{var o=Re(_),c,h=Yt(-128,127);ha(j(h,fa())?h:m(),o)?c=K5(o):c=null;var f=c,v;f==null?ut(this,_,"byte",r):v=f,t=v;break r}catch(d){if(d instanceof H())ut(this,_,"byte",r);else throw d}}return t}b3p(r){return this.x3z(r!=null&&typeof r=="string"?r:m())}y3z(r){var t;r:{var n=this.t3z(r);if(!(n instanceof wr())){var a=Y(wr()).ce(),s=or(n).ce(),u=this.r3z(r);throw Sr(-1,"Expected "+a+", but had "+s+" as the serialized body of short at element: "+u,$(n))}var _=n;try{var o=Re(_),c,h=Yt(-32768,32767);ha(j(h,fa())?h:m(),o)?c=G5(o):c=null;var f=c,v;f==null?ut(this,_,"short",r):v=f,t=v;break r}catch(d){if(d instanceof H())ut(this,_,"short",r);else throw d}}return t}c3p(r){return this.y3z(r!=null&&typeof r=="string"?r:m())}z3z(r){var t;r:{var n=this.t3z(r);if(!(n instanceof wr())){var a=Y(wr()).ce(),s=or(n).ce(),u=this.r3z(r);throw Sr(-1,"Expected "+a+", but had "+s+" as the serialized body of int at element: "+u,$(n))}var _=n;try{var o=Re(_),c,h=Yt(-2147483648,2147483647);ha(j(h,fa())?h:m(),o)?c=Ia(o):c=null;var f=c,v;f==null?ut(this,_,"int",r):v=f,t=v;break r}catch(d){if(d instanceof H())ut(this,_,"int",r);else throw d}}return t}d3p(r){return this.z3z(r!=null&&typeof r=="string"?r:m())}a40(r){var t;r:{var n=this.t3z(r);if(!(n instanceof wr())){var a=Y(wr()).ce(),s=or(n).ce(),u=this.r3z(r);throw Sr(-1,"Expected "+a+", but had "+s+" as the serialized body of long at element: "+u,$(n))}var _=n;try{var o=Re(_),c;o==null?ut(this,_,"long",r):c=o,t=c;break r}catch(h){if(h instanceof H())ut(this,_,"long",r);else throw h}}return t}e3p(r){return this.a40(r!=null&&typeof r=="string"?r:m())}b40(r){var t;r:{var n=this.t3z(r);if(!(n instanceof wr())){var a=Y(wr()).ce(),s=or(n).ce(),u=this.r3z(r);throw Sr(-1,"Expected "+a+", but had "+s+" as the serialized body of float at element: "+u,$(n))}var _=n;try{var o=lT(_),c;o==null?ut(this,_,"float",r):c=o,t=c;break r}catch(v){if(v instanceof H())ut(this,_,"float",r);else throw v}}var h=t,f=this.t3t().o3r_1.m3t_1;if(f||gd(h))return h;throw Mw(h,r,$(this.s3z()))}f3p(r){return this.b40(r!=null&&typeof r=="string"?r:m())}c40(r){var t;r:{var n=this.t3z(r);if(!(n instanceof wr())){var a=Y(wr()).ce(),s=or(n).ce(),u=this.r3z(r);throw Sr(-1,"Expected "+a+", but had "+s+" as the serialized body of double at element: "+u,$(n))}var _=n;try{var o=Rq(_),c;o==null?ut(this,_,"double",r):c=o,t=c;break r}catch(v){if(v instanceof H())ut(this,_,"double",r);else throw v}}var h=t,f=this.t3t().o3r_1.m3t_1;if(f||bd(h))return h;throw Mw(h,r,$(this.s3z()))}g3p(r){return this.c40(r!=null&&typeof r=="string"?r:m())}d40(r){var t;r:{var n=this.t3z(r);if(!(n instanceof wr())){var a=Y(wr()).ce(),s=or(n).ce(),u=this.r3z(r);throw Sr(-1,"Expected "+a+", but had "+s+" as the serialized body of char at element: "+u,$(n))}var _=n;try{var o=new(J())(b7(_.c3u())),c;o==null?ut(this,_,"char",r):c=o,t=c.g2_1;break r}catch(h){if(h instanceof H())ut(this,_,"char",r);else throw h}}return t}h3p(r){return this.d40(r!=null&&typeof r=="string"?r:m())}e40(r){var t=this.t3z(r);if(!(t instanceof wr())){var n=Y(wr()).ce(),a=or(t).ce(),s=this.r3z(r);throw Sr(-1,"Expected "+n+", but had "+a+" as the serialized body of string at element: "+s,$(t))}var u=t;if(!(u instanceof le()))throw Sr(-1,"Expected string value for a non-null key '"+r+"', got null literal instead at element: "+this.r3z(r),$(this.s3z()));if(!u.f3u_1&&!this.t3t().o3r_1.e3t_1)throw Sr(-1,"String literal for key '"+r+"' should be quoted at element: "+this.r3z(r)+`. +Use 'isLenient = true' in 'Json {}' builder to accept non-compliant JSON.`,$(this.s3z()));return u.h3u_1}i3p(r){return this.e40(r!=null&&typeof r=="string"?r:m())}f40(r,t){var n;if(vm(t)){var a=this.t3t(),s=this.t3z(r),u=t.f37();if(!(s instanceof wr())){var _=Y(wr()).ce(),o=or(s).ce(),c=this.r3z(r);throw Sr(-1,"Expected "+_+", but had "+o+" as the serialized body of "+u+" at element: "+c,$(s))}var h=Pq(a,s.c3u());n=new(Wq())(h,this.t3t())}else n=super.k3p(r,t);return n}k3p(r,t){return this.f40(r!=null&&typeof r=="string"?r:m(),t)}h3a(r){return this.v3o()!=null?super.h3a(r):new(Gq())(this.t3t(),this.y2(),this.p3z_1).h3a(r)}}p(e,"AbstractJsonTreeDecoder",l,l,[ty(),sm()]),Ac=e}return Ac}function ny(e,i,r){return e.p40_1=!e.t3t().o3r_1.h3t_1&&!i.w38(r)&&i.v38(r).k38(),e.p40_1}var Ec;function Ya(){if(Ec===l){class e extends dm(){constructor(r,t,n,a){n=n===l?null:n,a=a===l?null:a,super(r,t,n),this.m40_1=t,this.n40_1=a,this.o40_1=0,this.p40_1=!1}y2(){return this.m40_1}b3b(r){r:for(;this.o40_1i)}var Tc;function DT(){if(Tc===l){class e{}Ar(e,"SerializersModuleCollector"),Tc=e}return Tc}function PT(e,i,r){var t=i.o38(),n;if(t instanceof pn()?n=!0:n=E(t,o1()),n)throw H().u("Serializer for "+r.ce()+" can't be registered as a subclass for polymorphic serialization "+("because its kind "+t.toString()+" is not concrete. To work with multiple hierarchies, register it as a base class."));if(e.q3x_1)return S;if(!e.r3x_1)return S;var a,s;if(E(t,Pa())||E(t,Ba())?s=!0:s=t instanceof St(),s?a=!0:a=t instanceof Nd(),a)throw H().u("Serializer for "+r.ce()+" of kind "+t.toString()+" cannot be serialized polymorphically with class discriminator.")}function BT(e,i,r){var t=0,n=i.q38();if(te.c36()}var Rc;function HT(){if(Rc===l){class e{constructor(r,t){this.u3g_1=t,this.v3g_1=null;var n=this;n.w3g_1=Ys(()=>{var a=this.v3g_1;return a??JT(this,r)})}c36(){var r=this.w3g_1,t=oe();return ce("descriptor",1,t,WT(),null),r.y2()}k3h(r,t){var n=x7(this.u3g_1,t);if(n===-1)throw jr().o37($(t)+" is not a valid enum "+this.c36().f37()+", "+("must be one of "+S7(this.u3g_1)));r.q3b(this.c36(),n)}d36(r,t){return this.k3h(r,t instanceof Kt()?t:m())}e36(r){var t=r.g3a(this.c36());if(!(0<=t&&t<=(this.u3g_1.length-1|0)))throw jr().o37(""+t+" is not among valid "+this.c36().f37()+" enum values, "+("values size is "+this.u3g_1.length));return this.u3g_1[t]}toString(){return"kotlinx.serialization.internal.EnumSerializer<"+this.c36().f37()+">"}}p(e,"EnumSerializer",l,l,[Y()]),Rc=e}return Rc}function Gq(e){var i=e.y3h_1,r=oe();return ce("elementDescriptors",1,r,VT(),null),i.y2()}function VT(){return e=>Gq(e)}var Uc;function YT(){if(Uc===l){class e extends Kr(){constructor(r,t){super(r,l,t),this.x3h_1=Ie();var n=this;n.y3h_1=Ys(()=>{for(var a=0,s=t,u=Array(s);a>>1|0}while(a<32);throw Z5().e38(t,r.f37())}var Kc;function ZT(){if(Kc===l){class e{v3t(){var r=Z(vm()),t=[Z(ee()),Z(ne())],n=[Rp(),Kp()],a=[];return Yd().i37("com.github.minigdx.tiny.sound.Modulation",r,t,n,a)}d3j(r){return this.v3t()}}ar(e,l,[m1()]),Kc=e}return Kc}var fm;function XT(){return fm}var Gc;function vm(){if(Gc===l){class e{}Ar(e,"Modulation",l,l,l,l,l,{0:XT}),Gc=e}return Gc}function QT(e){return e.z4t_1*2-1}var Jc;function rF(){if(Jc===l){class e{}ar(e),Jc=e}return Jc}var Wc;function tF(){if(Wc===l){class e{constructor(){Op=this;var r=new(Kr())("com.github.minigdx.tiny.sound.Sweep",this,3);r.a3i("sweep",!1),r.a3i("acceleration",!1),r.a3i("active",!0),this.h5o_1=r}i5o(r,t){var n=this.h5o_1,a=r.k3a(n);a.x3b(n,0,t.y4t_1),a.x3b(n,1,t.z4t_1),(a.i3c(n,2)||t.a4u_1!==!1)&&a.s3b(n,2,t.a4u_1),a.l3a(n)}d36(r,t){return this.i5o(r,t instanceof ee()?t:m())}e36(r){var t=this.h5o_1,n=!0,a=0,s=0,u=0,_=0,o=!1,c=r.k3a(t);if(c.a3b())u=c.r3a(t,0),s=s|1,_=c.r3a(t,1),s=s|2,o=c.m3a(t,2),s=s|4;else for(;n;)switch(a=c.b3b(t),a){case-1:n=!1;break;case 0:u=c.r3a(t,0),s=s|1;break;case 1:_=c.r3a(t,1),s=s|2;break;case 2:o=c.m3a(t,2),s=s|4;break;default:throw Xr().w37(a)}return c.l3a(t),ee().j5o(s,u,_,o,null)}c36(){return this.h5o_1}p3i(){return[mt(),mt(),Mn()]}}F(e).q3i=Hr,P(e,"$serializer",l,l,[Vr()]),Wc=e}return Wc}var Op;function Rp(){return Op===l&&new(tF()),Op}var Hc;function ee(){if(Hc===l){class e{constructor(r,t){this.y4t_1=r,this.z4t_1=t,this.a4u_1=!1}x4t(r){this.a4u_1=r}w4t(){return this.a4u_1}g5o(r,t){return t+r*(this.y4t_1*QT(this))}static j5o(r,t,n,a,s){(3&r)!==3&&rt(r,3,Rp().h5o_1);var u=Ur(this);return u.y4t_1=t,u.z4t_1=n,(r&4)===0?u.a4u_1=!1:u.a4u_1=a,u}}p(e,"Sweep",l,l,[vm()],l,l,{0:Rp}),Hc=e}return Hc}var Vc;function eF(){if(Vc===l){class e{}ar(e),Vc=e}return Vc}var Yc;function nF(){if(Yc===l){class e{constructor(){Up=this;var r=new(Kr())("com.github.minigdx.tiny.sound.Vibrato",this,3);r.a3i("vibratoFrequency",!1),r.a3i("depth",!1),r.a3i("active",!0),this.k5o_1=r}l5o(r,t){var n=this.k5o_1,a=r.k3a(n);a.x3b(n,0,t.b4u_1),a.x3b(n,1,t.c4u_1),(a.i3c(n,2)||t.d4u_1!==!1)&&a.s3b(n,2,t.d4u_1),a.l3a(n)}d36(r,t){return this.l5o(r,t instanceof ne()?t:m())}e36(r){var t=this.k5o_1,n=!0,a=0,s=0,u=0,_=0,o=!1,c=r.k3a(t);if(c.a3b())u=c.r3a(t,0),s=s|1,_=c.r3a(t,1),s=s|2,o=c.m3a(t,2),s=s|4;else for(;n;)switch(a=c.b3b(t),a){case-1:n=!1;break;case 0:u=c.r3a(t,0),s=s|1;break;case 1:_=c.r3a(t,1),s=s|2;break;case 2:o=c.m3a(t,2),s=s|4;break;default:throw Xr().w37(a)}return c.l3a(t),ne().m5o(s,u,_,o,null)}c36(){return this.k5o_1}p3i(){return[mt(),mt(),Mn()]}}F(e).q3i=Hr,P(e,"$serializer",l,l,[Vr()]),Yc=e}return Yc}var Up;function Kp(){return Up===l&&new(nF()),Up}var Zc;function ne(){if(Zc===l){class e{constructor(r,t){this.b4u_1=r,this.c4u_1=t,this.d4u_1=!1}x4t(r){this.d4u_1=r}w4t(){return this.d4u_1}g5o(r,t){var n=6.2831855*this.b4u_1*r,a=Math.sin(n)*this.c4u_1;return t+a}static m5o(r,t,n,a,s){(3&r)!==3&&rt(r,3,Kp().k5o_1);var u=Ur(this);return u.b4u_1=t,u.c4u_1=n,(r&4)===0?u.d4u_1=!1:u.d4u_1=a,u}}p(e,"Vibrato",l,l,[vm()],l,l,{0:Kp}),Zc=e}return Zc}fm=new(ZT());new(rF());new(eF());var Jq,Wq,Hq,Vq,Yq,Zq;function aF(){return[Ls(),pm(),js(),cn(),dm(),mm()]}function iF(e){switch(e){case"SAW_TOOTH":return Ls();case"PULSE":return pm();case"TRIANGLE":return js();case"SINE":return cn();case"NOISE":return dm();case"SQUARE":return mm();default:bn(),Rg("No enum constant com.github.minigdx.tiny.sound.Instrument.WaveType."+e);break}}var tg;function bn(){if(tg)return S;tg=!0,Jq=new(xn())("SAW_TOOTH",0),Wq=new(xn())("PULSE",1),Hq=new(xn())("TRIANGLE",2),Vq=new(xn())("SINE",3),Yq=new(xn())("NOISE",4),Zq=new(xn())("SQUARE",5)}function sF(){return hm("com.github.minigdx.tiny.sound.Instrument.WaveType",aF())}function lF(){return new(Cr())(fm.v3t())}var Xc;function xn(){if(Xc===l){class e extends Kt(){}p(e,"WaveType"),Xc=e}return Xc}var Qc;function uF(){if(Qc===l){class e{constructor(){Gp=this;var r=this,t=lr(),n=ur(t,sF),a=lr();r.v5o_1=[null,null,n,null,null,null,null,null,ur(a,lF)],this.w5o_1=7,this.x5o_1=6.2831855}}ar(e),Qc=e}return Qc}var Gp;function ha(){return Gp===l&&new(uF()),Gp}var rh;function _F(){if(rh===l){class e{constructor(){Jp=this;var r=new(Kr())("com.github.minigdx.tiny.sound.Instrument",this,9);r.a3i("index",!1),r.a3i("name",!0),r.a3i("wave",!0),r.a3i("attack",!0),r.a3i("decay",!0),r.a3i("sustain",!0),r.a3i("release",!0),r.a3i("harmonics",!0),r.a3i("modulations",!0),this.y5o_1=r}z5o(r,t){var n=this.y5o_1,a=r.k3a(n),s=ha().v5o_1;a.v3b(n,0,t.e4s_1),(a.i3c(n,1)||t.f4s_1!=="Instrument "+t.e4s_1)&&a.e3c(n,1,qr(),t.f4s_1),(a.i3c(n,2)||!t.g4s_1.equals(cn()))&&a.c3c(n,2,s[2].y2(),t.g4s_1),(a.i3c(n,3)||!E(t.h4s_1,0))&&a.x3b(n,3,t.h4s_1),(a.i3c(n,4)||!E(t.i4s_1,0))&&a.x3b(n,4,t.i4s_1),(a.i3c(n,5)||!E(t.j4s_1,0))&&a.x3b(n,5,t.j4s_1),(a.i3c(n,6)||!E(t.k4s_1,0))&&a.x3b(n,6,t.k4s_1),(a.i3c(n,7)||!E(t.l4s_1,new Float32Array(7)))&&a.c3c(n,7,aa(),t.l4s_1),(a.i3c(n,8)||!E(t.m4s_1,Rr([new(ee())(za().s4q_1,1),new(ne())(0,0)])))&&a.c3c(n,8,s[8].y2(),t.m4s_1),a.l3a(n)}d36(r,t){return this.z5o(r,t instanceof At()?t:m())}e36(r){var t=this.y5o_1,n=!0,a=0,s=0,u=0,_=null,o=null,c=0,h=0,f=0,v=0,d=null,y=null,b=r.k3a(t),w=ha().v5o_1;if(b.a3b())u=b.p3a(t,0),s=s|1,_=b.y3a(t,1,qr(),_),s=s|2,o=b.w3a(t,2,w[2].y2(),o),s=s|4,c=b.r3a(t,3),s=s|8,h=b.r3a(t,4),s=s|16,f=b.r3a(t,5),s=s|32,v=b.r3a(t,6),s=s|64,d=b.w3a(t,7,aa(),d),s=s|128,y=b.w3a(t,8,w[8].y2(),y),s=s|256;else for(;n;)switch(a=b.b3b(t),a){case-1:n=!1;break;case 0:u=b.p3a(t,0),s=s|1;break;case 1:_=b.y3a(t,1,qr(),_),s=s|2;break;case 2:o=b.w3a(t,2,w[2].y2(),o),s=s|4;break;case 3:c=b.r3a(t,3),s=s|8;break;case 4:h=b.r3a(t,4),s=s|16;break;case 5:f=b.r3a(t,5),s=s|32;break;case 6:v=b.r3a(t,6),s=s|64;break;case 7:d=b.w3a(t,7,aa(),d),s=s|128;break;case 8:y=b.w3a(t,8,w[8].y2(),y),s=s|256;break;default:throw Xr().w37(a)}return b.l3a(t),At().a5p(s,u,_,o,c,h,f,v,d,y,null)}c36(){return this.y5o_1}p3i(){var r=ha().v5o_1;return[K(),$r(qr()),r[2].y2(),mt(),mt(),mt(),mt(),aa(),r[8].y2()]}}F(e).q3i=Hr,P(e,"$serializer",l,l,[Vr()]),rh=e}return rh}var Jp;function Wp(){return Jp===l&&new(_F()),Jp}function Ls(){return bn(),Jq}function pm(){return bn(),Wq}function js(){return bn(),Hq}function cn(){return bn(),Vq}function dm(){return bn(),Yq}function mm(){return bn(),Zq}var th;function At(){if(th===l){class e{constructor(r,t,n,a,s,u,_,o,c){ha(),t=t===l?"Instrument "+r:t,n=n===l?cn():n,a=a===l?0:a,s=s===l?0:s,u=u===l?0:u,_=_===l?0:_,o=o===l?new Float32Array(7):o,c=c===l?Rr([new(ee())(za().s4q_1,1),new(ne())(0,0)]):c,this.e4s_1=r,this.f4s_1=t,this.g4s_1=n,this.h4s_1=a,this.i4s_1=s,this.j4s_1=u,this.k4s_1=_,this.l4s_1=o,this.m4s_1=c,this.n4s_1=0,this.o4s_1=0,this.p4s_1=0}b5p(r,t){for(var n=this.m4s_1,a=N().p1(),s=n.e1();s.f1();){var u=s.g1();u.w4t()&&a.c1(u)}for(var _=r,o=a.e1();o.f1();){var c=o.g1(),h=_;_=c.g5o(t,h)}var f=_,v;switch(this.g4s_1.i3_1){case 2:var d=6.2831855*f*t,y=Math.sin(d),b=(y+1)%1;return b<.5?4*b-1:3-4*b;case 3:var w=6.2831855*f*t;v=Math.sin(w);break;case 5:var x=6.2831855*f*t,q=Math.sin(x),k;return q>0?k=1:k=-1,k;case 1:var A=6.2831855*f*t,D=Math.sin(A),B=D%1,R=2*(D/128%1)-1,W=Math.abs(R),G=(B+.5*W)%1,Q=4*G-2,X=Math.abs(Q),rr=8*B-4,tr=X-Math.abs(rr);return tr/6;case 0:var ir=6.2831855*f*t,dr=Math.sin(ir);return dr*2-1;case 4:var cr;if(this.o4s_1===f)cr=this.p4s_1;else{var mr=Math.max(1,f),Dr=6.2831855*mr/44100,Ir=-Dr,Or=Math.exp(Ir);this.p4s_1=1-Or,this.o4s_1=f,cr=this.p4s_1}var Yr=cr,Gr=an().el()*2-1,Er=Yr*Gr+(1-Yr)*this.n4s_1;return this.n4s_1=Er,Er;default:gt();break}return v}static a5p(r,t,n,a,s,u,_,o,c,h,f){ha(),(1&r)!==1&&rt(r,1,Wp().y5o_1);var v=Ur(this);return v.e4s_1=t,(r&2)===0?v.f4s_1="Instrument "+v.e4s_1:v.f4s_1=n,(r&4)===0?v.g4s_1=cn():v.g4s_1=a,(r&8)===0?v.h4s_1=0:v.h4s_1=s,(r&16)===0?v.i4s_1=0:v.i4s_1=u,(r&32)===0?v.j4s_1=0:v.j4s_1=_,(r&64)===0?v.k4s_1=0:v.k4s_1=o,(r&128)===0?v.l4s_1=new Float32Array(7):v.l4s_1=c,(r&256)===0?v.m4s_1=Rr([new(ee())(za().s4q_1,1),new(ne())(0,0)]):v.m4s_1=h,v.n4s_1=0,v.o4s_1=0,v.p4s_1=0,v}}p(e,"Instrument",l,l,l,l,l,{0:Wp}),th=e}return th}function oF(){return he(),Xq}var Xq;function cF(){return he(),Qq}var Qq;function hF(){return he(),rI}var rI;function fF(){return he(),tI}var tI;function vF(e,i){he();var r;if(i)r=cF().i38(e);else{var t=oF().i38(e),n;t==null?n=null:n=j(t,Y())?t:m(),r=n}return r}function pF(e,i,r){he();var t;if(r)t=fF().j38(e,i);else{var n=hF().j38(e,i);t=new(sw())(n)instanceof sw()?n:m()}return t}function dF(e){he();var i=wm(e),r;return i==null?r=ca(e)?zs().i36(e):null:r=i,r}function mF(e){he();var i=wm(e),r;i==null?r=ca(e)?zs().i36(e):null:r=i;var t=r,n=t==null?null:$r(t),a;return n==null?a=null:a=j(n,Y())?n:m(),a}function wF(e,i){he();var r=nr(gm(Un(),i));return ym(e,r,()=>i.l1(0).ne())}function gF(e,i){he();var r=nr(gm(Un(),i)),t=ym(e,r,()=>i.l1(0).ne()),n=t==null?null:$r(t),a;return n==null?a=null:a=j(n,Y())?n:m(),a}var eg;function he(){eg||(eg=!0,Xq=Pw(dF),Qq=Pw(mF),rI=Bw(wF),tI=Bw(gF))}function wm(e){var i=HN(e);return i??cL(e)}function gm(e,i,r){var t;{for(var n=N().d1(yr(i,10)),a=i.e1();a.f1();){var s=a.g1(),u=Ms(e,s);n.c1(u)}t=n}var _=t;return _}function ym(e,i,r){var t=yF(e,i,r);return t??bF(e,i)}function Ms(e,i){var r=kF(e,i),t;return r==null?VN(Fz(i)):t=r,t}function yF(e,i,r){var t;if(e.equals(Z(Fi()))||e.equals(Z(Qs()))||e.equals(Z(Bg()))||e.equals(Z(N())))t=new(Cr())(i.l1(0));else if(e.equals(Z(Wt())))t=new(GL())(i.l1(0));else if(e.equals(Z(hd()))||e.equals(Z(I7()))||e.equals(Z(yt())))t=new(JL())(i.l1(0));else if(e.equals(Z(ge())))t=new(WL())(i.l1(0),i.l1(1));else if(e.equals(Z(kt()))||e.equals(Z(F5()))||e.equals(Z(zr())))t=new(_q())(i.l1(0),i.l1(1));else if(e.equals(Z(Ri())))t=Rj(i.l1(0),i.l1(1));else if(e.equals(Z(D5())))t=Uj(i.l1(0),i.l1(1));else if(e.equals(Z(t1())))t=Kj(i.l1(0),i.l1(1),i.l1(2));else{var n;if(YN(e)){var a=r();n=Gj(a!=null&&j(a,Be())?a:m(),i.l1(0))}else n=null;t=n}return t}function bF(e,i){var r=lt(i);return Xz(e,r.slice())}function kF(e,i,r){for(var t=Fz(i),n=i.pe(),a=i.oe(),s=N().d1(yr(a,10)),u=a.e1();u.f1();){var _=u.g1(),o=dN(_);s.c1(o)}var c=s,h;if(c.m1()){var f;ca(t)&&e.g38(t)!=null?f=null:f=vF(t,n),h=f}else{var v;if(e.f38())v=null;else{var d=pF(t,c,n),y;if(z7(d))y=null;else{var b=q7(d);y=b==null||b!=null?b:m()}v=y}h=v}var w=h;if(w!=null)return w;var x;if(c.m1()){var q=wm(t),k=q??e.g38(t),A;k==null?A=ca(t)?zs().i36(t):null:A=k,x=A}else{var D=gm(e,c),B;if(D==null)return null;B=D;var R=B,W=ym(t,R,()=>c.l1(0).ne()),G=W??e.h38(t,R),Q;G==null?Q=ca(t)?zs().i36(t):null:Q=G,x=Q}var X=x,rr;X==null?rr=null:rr=j(X,Y())?X:m();var tr=rr;return tr==null?null:CF(tr,n)}function CF(e,i){return i?$r(e):j(e,Y())?e:m()}function*xF(e,i,r){Rt("Loading audio worklet module...");var t=e.e5t_1.f5t().audioWorklet,n=s9(),a=t.addModule(n),s=c9(a,r);s===O()&&(s=yield s);var u=S;Rt("Audio worklet module loaded successfully "+u.toString()),Rt("Creating AudioWorkletNode for SynthesizerProcessor");var _=e.e5t_1,o=e.e5t_1.f5t(),c="SynthesizerProcessor";_.b5t_1=new AudioWorkletNode(o,c);var h=e.e5t_1.f5t().destination;return Rt("Connecting worklet to destination node: "+$(h)),Hp(e.e5t_1).connect(h),Rt("Audio worklet ready!"),e.e5t_1.y5s_1=!0,S}function Hp(e){var i=e.b5t_1;if(i!=null)return i;st("audioWorkletNode")}function ng(e){e.z5s_1=e.f5t().currentTime,bd(e.c5t_1,l,l,IF(e))}function SF(e,i){var r=i.i3_1+12|0,t=(r-69|0)/12;return 440*Math.pow(2,t)}var eh;function zF(){if(eh===l){class e{constructor(){this.g5t_1=4096,this.h5t_1=8}}ar(e),eh=e}return eh}var nh;function qF(){if(nh===l){class e{constructor(r){this.e5t_1=r}b1b(r,t){return er(xF.bind(l,this,r),t)}oc(r,t){return this.b1b(r!=null&&j(r,kd())?r:m(),t)}}at(e,l,l,[1]),nh=e}return nh}function IF(e){var i=new(qF())(e),r=(t,n)=>i.b1b(t,n);return r.$arity=1,r}var ah;function eI(){if(ah===l){class e extends m9(){constructor(){super(),this.y5s_1=!1,this.z5s_1=0,this.a5t_1=new(g9())(8),this.c5t_1=yd(K5().q14())}f5t(){var r=this.x5s_1;if(r!=null)return r;st("audioContext")}d5t(r){this.x5s_1=new AudioContext,Rt("INIT audio context "+$(this.f5t().state));var t=this.f5t();t.onstatechange=()=>{Rt("audio context "+$(this.f5t().state));var a=this.f5t().state;return E(a,"running")?this.y5s_1=!0:this.f5t().resume(),S};var n=this.f5t().state;E(n,"running")?(Rt("FIRST USER audio context "+$(this.f5t().state)),ng(this)):r.h4d(()=>(Rt("FIRST USER audio context "+$(this.f5t().state)),this.f5t().resume(),ng(this),S))}e4u(r,t){if(Rt("noteOn is ready + "+this.y5s_1),!this.y5s_1)return S;var n=new(E9())(t);this.a5t_1.z5q(n),n.q5p(r);var a=SF(this,r),s=Ue(),u=s.z3a(),_=Ms(u,R5(Z(At()),U5([]),!1)),o=j(_,Y())?_:m(),c=s.r3r(o,t);Rt("Prepare to post message to worklet"),Hp(this).port.postMessage(lw([T("type","noteOn"),T("note",r.i3_1),T("frequency",a),T("instrument",c)]))}f4u(r){if(!this.y5s_1)return S;for(var t=this.a5t_1.e1();t.f1();){var n=t.g1();n.f4u(r)}Hp(this).port.postMessage(lw([T("type","noteOff"),T("note",r.i3_1)]))}s5q(r){throw Xt().nc()}}p(e,"WebSoundManager",eI),ah=e}return ah}new(zF());var Ze=Math.imul;function $F(){return hm("com.github.minigdx.tiny.lua.Note",N6())}var ih;function AF(){if(ih===l){class e{constructor(){Vp=this;var r=this,t=lr();r.e5q_1=[ur(t,$F),null,null,null,null,null,null]}}ar(e),ih=e}return ih}var Vp;function fa(){return Vp===l&&new(AF()),Vp}var sh;function EF(){if(sh===l){class e{constructor(){Yp=this;var r=new(Kr())("com.github.minigdx.tiny.sound.MusicalNote",this,7);r.a3i("note",!1),r.a3i("beat",!1),r.a3i("duration",!1),r.a3i("volume",!1),r.a3i("instrumentIndex",!0),r.a3i("isRepeating",!0),r.a3i("isOffNote",!0),this.f5q_1=r}g5q(r,t){var n=this.f5q_1,a=r.k3a(n),s=fa().e5q_1;a.e3c(n,0,s[0].y2(),t.w4r_1),a.x3b(n,1,t.x4r_1),a.x3b(n,2,t.y4r_1),a.x3b(n,3,t.z4r_1),(a.i3c(n,4)||t.a4s_1!=null)&&a.e3c(n,4,K(),t.a4s_1),(a.i3c(n,5)||t.c4s_1!==!1)&&a.s3b(n,5,t.c4s_1),(a.i3c(n,6)||t.d4s_1!==!1)&&a.s3b(n,6,t.d4s_1),a.l3a(n)}d36(r,t){return this.g5q(r,t instanceof Tn()?t:m())}e36(r){var t=this.f5q_1,n=!0,a=0,s=0,u=null,_=0,o=0,c=0,h=null,f=!1,v=!1,d=r.k3a(t),y=fa().e5q_1;if(d.a3b())u=d.y3a(t,0,y[0].y2(),u),s=s|1,_=d.r3a(t,1),s=s|2,o=d.r3a(t,2),s=s|4,c=d.r3a(t,3),s=s|8,h=d.y3a(t,4,K(),h),s=s|16,f=d.m3a(t,5),s=s|32,v=d.m3a(t,6),s=s|64;else for(;n;)switch(a=d.b3b(t),a){case-1:n=!1;break;case 0:u=d.y3a(t,0,y[0].y2(),u),s=s|1;break;case 1:_=d.r3a(t,1),s=s|2;break;case 2:o=d.r3a(t,2),s=s|4;break;case 3:c=d.r3a(t,3),s=s|8;break;case 4:h=d.y3a(t,4,K(),h),s=s|16;break;case 5:f=d.m3a(t,5),s=s|32;break;case 6:v=d.m3a(t,6),s=s|64;break;default:throw Xr().w37(a)}return d.l3a(t),Tn().h5q(s,u,_,o,c,h,f,v,null)}c36(){return this.f5q_1}p3i(){var r=fa().e5q_1;return[$r(r[0].y2()),mt(),mt(),mt(),$r(K()),Mn(),Mn()]}}F(e).q3i=Hr,P(e,"$serializer",l,l,[Vr()]),sh=e}return sh}var Yp;function Ts(){return Yp===l&&new(EF()),Yp}var lh;function Tn(){if(lh===l){class e{constructor(r,t,n,a,s,u,_,o){fa(),s=s===l?null:s,u=u===l?null:u,_=_===l?!1:_,o=o===l?!1:o,this.w4r_1=r,this.x4r_1=t,this.y4r_1=n,this.z4r_1=a,this.a4s_1=s,this.b4s_1=u,this.c4s_1=_,this.d4s_1=o}toString(){return"MusicalNote(note="+Wr(this.w4r_1)+", beat="+this.x4r_1+", duration="+this.y4r_1+", volume="+this.z4r_1+", instrumentIndex="+this.a4s_1+", instrument="+Wr(this.b4s_1)+", isRepeating="+this.c4s_1+", isOffNote="+this.d4s_1+")"}hashCode(){var r=this.w4r_1==null?0:this.w4r_1.hashCode();return r=Ze(r,31)+Vt(this.x4r_1)|0,r=Ze(r,31)+Vt(this.y4r_1)|0,r=Ze(r,31)+Vt(this.z4r_1)|0,r=Ze(r,31)+(this.a4s_1==null?0:this.a4s_1)|0,r=Ze(r,31)+(this.b4s_1==null?0:V(this.b4s_1))|0,r=Ze(r,31)+wa(this.c4s_1)|0,r=Ze(r,31)+wa(this.d4s_1)|0,r}equals(r){return this===r?!0:!(!(r instanceof Tn())||!E(this.w4r_1,r.w4r_1)||!E(this.x4r_1,r.x4r_1)||!E(this.y4r_1,r.y4r_1)||!E(this.z4r_1,r.z4r_1)||this.a4s_1!=r.a4s_1||!E(this.b4s_1,r.b4s_1)||this.c4s_1!==r.c4s_1||this.d4s_1!==r.d4s_1)}static h5q(r,t,n,a,s,u,_,o,c){fa(),(15&r)!==15&&rt(r,15,Ts().f5q_1);var h=Ur(this);return h.w4r_1=t,h.x4r_1=n,h.y4r_1=a,h.z4r_1=s,(r&16)===0?h.a4s_1=null:h.a4s_1=u,h.b4s_1=null,(r&32)===0?h.c4s_1=!1:h.c4s_1=_,(r&64)===0?h.d4s_1=!1:h.d4s_1=o,h}}p(e,"MusicalNote",l,l,l,l,l,{0:Ts}),lh=e}return lh}function NF(){return new(Cr())(Ts())}function uh(e,i,r){for(var t=e.v4a_1,n=N().p1(),a=t.e1();a.f1();){var s=a.g1();s.x4r_1i&&n.c1(s)}return n}var _h;function LF(){if(_h===l){class e{constructor(){Zp=this;var r=this,t=lr();r.a5q_1=[null,null,null,ur(t,NF)]}}ar(e),_h=e}return _h}var Zp;function va(){return Zp===l&&new(LF()),Zp}var oh;function jF(){if(oh===l){class e{constructor(){Xp=this;var r=new(Kr())("com.github.minigdx.tiny.sound.MusicalBar",this,4);r.a3i("index",!0),r.a3i("instrumentIndex",!0),r.a3i("tempo",!0),r.a3i("beats",!0),this.b5q_1=r}c5q(r,t){var n=this.b5q_1,a=r.k3a(n),s=va().a5q_1;(a.i3c(n,0)||t.r4a_1!==1)&&a.v3b(n,0,t.r4a_1),(a.i3c(n,1)||t.t4a_1!==-1)&&a.v3b(n,1,t.t4a_1),(a.i3c(n,2)||t.u4a_1!==120)&&a.v3b(n,2,t.u4a_1);var u;if(a.i3c(n,3))u=!0;else{var _=N().p1();u=!E(t.v4a_1,_)}u&&a.c3c(n,3,s[3].y2(),t.v4a_1),a.l3a(n)}d36(r,t){return this.c5q(r,t instanceof hn()?t:m())}e36(r){var t=this.b5q_1,n=!0,a=0,s=0,u=0,_=0,o=0,c=null,h=r.k3a(t),f=va().a5q_1;if(h.a3b())u=h.p3a(t,0),s=s|1,_=h.p3a(t,1),s=s|2,o=h.p3a(t,2),s=s|4,c=h.w3a(t,3,f[3].y2(),c),s=s|8;else for(;n;)switch(a=h.b3b(t),a){case-1:n=!1;break;case 0:u=h.p3a(t,0),s=s|1;break;case 1:_=h.p3a(t,1),s=s|2;break;case 2:o=h.p3a(t,2),s=s|4;break;case 3:c=h.w3a(t,3,f[3].y2(),c),s=s|8;break;default:throw Xr().w37(a)}return h.l3a(t),hn().d5q(s,u,_,o,c,null)}c36(){return this.b5q_1}p3i(){var r=va().a5q_1;return[K(),K(),K(),r[3].y2()]}}F(e).q3i=Hr,P(e,"$serializer",l,l,[Vr()]),oh=e}return oh}var Xp;function Qp(){return Xp===l&&new(jF()),Xp}var ch;function hn(){if(ch===l){class e{constructor(r,t,n,a){va(),r=r===l?1:r,t=t===l?null:t,n=n===l?-1:n,a=a===l?120:a,this.r4a_1=r,this.s4a_1=t,this.t4a_1=n,this.u4a_1=a;var s=this;s.v4a_1=N().p1()}m4u(r,t,n,a){for(var s=uh(this,t,n),u=N().p1(),_=s.e1();_.f1();){var o=_.g1();(a||E(o.w4r_1,r))&&u.c1(o)}var c=u,h=$7(c),f=h==null?null:h.z4r_1,v=f??1;this.v4a_1.f2(c),this.v4a_1.c1(new(Tn())(r,t,n,v))}n4u(r,t){for(var n=uh(this,t,.5),a=N().p1(),s=n.e1();s.f1();){var u=s.g1();E(u.w4r_1,r)&&a.c1(u)}for(var _=N().p1(),o=a.e1();o.f1();){var c=o.g1(),h=c.x4r_1;t<=c.x4r_1+c.y4r_1&&h<=t&&_.c1(c)}var f=_;this.v4a_1.f2(f)}l4u(r,t){for(var n=uh(this,r,.5),a=n.e1();a.f1();){var s=a.g1();s.z4r_1=t}}static d5q(r,t,n,a,s,u){va(),(0&r)!==0&&rt(r,0,Qp().b5q_1);var _=Ur(this);if((r&1)===0?_.r4a_1=1:_.r4a_1=t,_.s4a_1=null,(r&2)===0?_.t4a_1=-1:_.t4a_1=n,(r&4)===0?_.u4a_1=120:_.u4a_1=a,(r&8)===0){var o=_;o.v4a_1=N().p1()}else _.v4a_1=s;return _}}p(e,"MusicalBar",hn,l,l,l,l,{0:Qp}),ch=e}return ch}function MF(){return new(Cr())(Ts())}var hh;function TF(){if(hh===l){class e{constructor(){r0=this;var r=this,t=lr();r.i5q_1=[null,null,null,ur(t,MF),null]}}ar(e),hh=e}return hh}var r0;function pa(){return r0===l&&new(TF()),r0}var fh;function FF(){if(fh===l){class e{constructor(){t0=this;var r=new(Kr())("com.github.minigdx.tiny.sound.MusicalSequence.Track",this,5);r.a3i("index",!0),r.a3i("instrumentIndex",!1),r.a3i("mute",!0),r.a3i("beats",!0),r.a3i("volume",!0),this.j5q_1=r}k5q(r,t){var n=this.j5q_1,a=r.k3a(n),s=pa().i5q_1;(a.i3c(n,0)||t.z4a_1!==0)&&a.v3b(n,0,t.z4a_1),a.v3b(n,1,t.a4b_1),(a.i3c(n,2)||t.b4b_1!==!1)&&a.s3b(n,2,t.b4b_1);var u;if(a.i3c(n,3))u=!0;else{var _=N().p1();u=!E(t.d4b_1,_)}u&&a.c3c(n,3,s[3].y2(),t.d4b_1),(a.i3c(n,4)||!E(t.e4b_1,1))&&a.x3b(n,4,t.e4b_1),a.l3a(n)}d36(r,t){return this.k5q(r,t instanceof Fn()?t:m())}e36(r){var t=this.j5q_1,n=!0,a=0,s=0,u=0,_=0,o=!1,c=null,h=0,f=r.k3a(t),v=pa().i5q_1;if(f.a3b())u=f.p3a(t,0),s=s|1,_=f.p3a(t,1),s=s|2,o=f.m3a(t,2),s=s|4,c=f.w3a(t,3,v[3].y2(),c),s=s|8,h=f.r3a(t,4),s=s|16;else for(;n;)switch(a=f.b3b(t),a){case-1:n=!1;break;case 0:u=f.p3a(t,0),s=s|1;break;case 1:_=f.p3a(t,1),s=s|2;break;case 2:o=f.m3a(t,2),s=s|4;break;case 3:c=f.w3a(t,3,v[3].y2(),c),s=s|8;break;case 4:h=f.r3a(t,4),s=s|16;break;default:throw Xr().w37(a)}return f.l3a(t),Fn().l5q(s,u,_,o,c,h,null)}c36(){return this.j5q_1}p3i(){var r=pa().i5q_1;return[K(),K(),Mn(),r[3].y2(),mt()]}}F(e).q3i=Hr,P(e,"$serializer",l,l,[Vr()]),fh=e}return fh}var t0;function e0(){return t0===l&&new(FF()),t0}function DF(){return new(Ga())(Z(Fn()),e0())}var vh;function Fn(){if(vh===l){class e{constructor(r,t,n,a,s,u){pa(),r=r===l?0:r,n=n===l?!1:n,a=a===l?null:a;var _;s===l?_=N().p1():_=s,s=_,u=u===l?1:u,this.z4a_1=r,this.a4b_1=t,this.b4b_1=n,this.c4b_1=a,this.d4b_1=s,this.e4b_1=u;var o=Yt(0,32),c=o.v1_1,h=o.w1_1;if(c<=h)do{var f=c;c=c+1|0;var v=f;this.d4b_1.c1(new(Tn())(null,v,1,1))}while(f!==h)}static l5q(r,t,n,a,s,u,_){pa(),(2&r)!==2&&rt(r,2,e0().j5q_1);var o=Ur(this);if((r&1)===0?o.z4a_1=0:o.z4a_1=t,o.a4b_1=n,(r&4)===0?o.b4b_1=!1:o.b4b_1=a,o.c4b_1=null,(r&8)===0){var c=o;c.d4b_1=N().p1()}else o.d4b_1=s;(r&16)===0?o.e4b_1=1:o.e4b_1=u;var h=Yt(0,32),f=h.v1_1,v=h.w1_1;if(f<=v)do{var d=f;f=f+1|0;var y=d;o.d4b_1.c1(new(Tn())(null,y,1,1))}while(d!==v);return o}}p(e,"Track",l,l,l,l,l,{0:e0}),vh=e}return vh}var ph;function PF(){if(ph===l){class e{constructor(){n0=this;var r=this,t=lr();r.m5q_1=[null,ur(t,DF),null]}}ar(e),ph=e}return ph}var n0;function da(){return n0===l&&new(PF()),n0}var dh;function BF(){if(dh===l){class e{constructor(){a0=this;var r=new(Kr())("com.github.minigdx.tiny.sound.MusicalSequence",this,3);r.a3i("index",!1),r.a3i("tracks",!0),r.a3i("tempo",!0),this.n5q_1=r}o5q(r,t){var n=this.n5q_1,a=r.k3a(n),s=da().m5q_1;a.v3b(n,0,t.w4a_1);var u;if(a.i3c(n,1))u=!0;else{for(var _=0,o=Array(4);_<4;){var c=_;o[c]=new(Fn())(c,0),_=_+1|0}u=!E(t.x4a_1,o)}u&&a.c3c(n,1,s[1].y2(),t.x4a_1),(a.i3c(n,2)||t.y4a_1!==120)&&a.v3b(n,2,t.y4a_1),a.l3a(n)}d36(r,t){return this.o5q(r,t instanceof Dn()?t:m())}e36(r){var t=this.n5q_1,n=!0,a=0,s=0,u=0,_=null,o=0,c=r.k3a(t),h=da().m5q_1;if(c.a3b())u=c.p3a(t,0),s=s|1,_=c.w3a(t,1,h[1].y2(),_),s=s|2,o=c.p3a(t,2),s=s|4;else for(;n;)switch(a=c.b3b(t),a){case-1:n=!1;break;case 0:u=c.p3a(t,0),s=s|1;break;case 1:_=c.w3a(t,1,h[1].y2(),_),s=s|2;break;case 2:o=c.p3a(t,2),s=s|4;break;default:throw Xr().w37(a)}return c.l3a(t),Dn().p5q(s,u,_,o,null)}c36(){return this.n5q_1}p3i(){var r=da().m5q_1;return[K(),r[1].y2(),K()]}}F(e).q3i=Hr,P(e,"$serializer",l,l,[Vr()]),dh=e}return dh}var a0;function i0(){return a0===l&&new(BF()),a0}var mh;function Dn(){if(mh===l){class e{constructor(r,t,n){da();var a;if(t===l){for(var s=0,u=Array(4);s<4;){var _=s;u[_]=new(Fn())(_,0),s=s+1|0}a=u}else a=t;t=a,n=n===l?120:n,this.w4a_1=r,this.x4a_1=t,this.y4a_1=n}static p5q(r,t,n,a,s){da(),(1&r)!==1&&rt(r,1,i0().n5q_1);var u=Ur(this);if(u.w4a_1=t,(r&2)===0){for(var _=u,o=0,c=Array(4);o<4;){var h=o;c[h]=new(Fn())(h,0),o=o+1|0}_.x4a_1=c}else u.x4a_1=n;return(r&4)===0?u.y4a_1=120:u.y4a_1=a,u}}p(e,"MusicalSequence",l,l,l,l,l,{0:i0}),mh=e}return mh}function ke(){return Ve(),nI}var nI;function s0(){return Ve(),aI}var aI;function l0(){return Ve(),iI}var iI;function u0(){return Ve(),sI}var sI;function _0(){return Ve(),lI}var lI;function o0(){return Ve(),uI}var uI;function c0(){return Ve(),_I}var _I;function h0(){return Ve(),oI}var oI;function OF(){return new(Ga())(Z(At()),$r(Wp()))}function RF(){return new(Ga())(Z(hn()),Qp())}function UF(){return new(Ga())(Z(Dn()),i0())}function KF(e){return e.l3s_1=!0,S}var wh;function GF(){if(wh===l){class e{constructor(){f0=this;var r=this,t=lr(),n=ur(t,OF),a=lr(),s=ur(a,RF),u=lr();r.l4a_1=[n,s,ur(u,UF)];var _=this;_.m4a_1=Kq(l,KF)}r4u(r){var t=this.m4a_1,n=t.z3a(),a=Ms(n,R5(Z(Pn()),U5([]),!1)),s=j(a,Y())?a:m(),u=t.r3r(s,r);return u}n4a(r){var t=this.m4a_1,n=t.z3a(),a=Ms(n,R5(Z(Pn()),U5([]),!1)),s=j(a,Y())?a:m(),u=t.s3r(s,r);return u}}ar(e),wh=e}return wh}var f0;function un(){return f0===l&&new(GF()),f0}var gh;function JF(){if(gh===l){class e{constructor(){v0=this;var r=new(Kr())("com.github.minigdx.tiny.sound.Music",this,3);r.a3i("instruments",!0),r.a3i("musicalBars",!0),r.a3i("sequences",!0),this.x5p_1=r}y5p(r,t){var n=this.x5p_1,a=r.k3a(n),s=un().l4a_1,u;if(a.i3c(n,0))u=!0;else{var _=t.o4a_1,o=[ke(),s0(),l0(),u0(),_0(),o0(),c0(),h0(),null,null,null,null,null,null,null,null];u=!E(_,o)}u&&a.c3c(n,0,s[0].y2(),t.o4a_1);var c;if(a.i3c(n,1))c=!0;else{for(var h=0,f=Array(32);h<32;){var v=h;f[v]=new(hn())(v,ke(),ke().e4s_1),h=h+1|0}c=!E(t.p4a_1,f)}c&&a.c3c(n,1,s[1].y2(),t.p4a_1);var d;if(a.i3c(n,2))d=!0;else{for(var y=0,b=Array(8);y<8;){var w=y;b[w]=new(Dn())(w),y=y+1|0}d=!E(t.q4a_1,b)}d&&a.c3c(n,2,s[2].y2(),t.q4a_1),a.l3a(n)}d36(r,t){return this.y5p(r,t instanceof Pn()?t:m())}e36(r){var t=this.x5p_1,n=!0,a=0,s=0,u=null,_=null,o=null,c=r.k3a(t),h=un().l4a_1;if(c.a3b())u=c.w3a(t,0,h[0].y2(),u),s=s|1,_=c.w3a(t,1,h[1].y2(),_),s=s|2,o=c.w3a(t,2,h[2].y2(),o),s=s|4;else for(;n;)switch(a=c.b3b(t),a){case-1:n=!1;break;case 0:u=c.w3a(t,0,h[0].y2(),u),s=s|1;break;case 1:_=c.w3a(t,1,h[1].y2(),_),s=s|2;break;case 2:o=c.w3a(t,2,h[2].y2(),o),s=s|4;break;default:throw Xr().w37(a)}return c.l3a(t),Pn().z5p(s,u,_,o,null)}c36(){return this.x5p_1}p3i(){var r=un().l4a_1;return[r[0].y2(),r[1].y2(),r[2].y2()]}}F(e).q3i=Hr,P(e,"$serializer",l,l,[Vr()]),gh=e}return gh}var v0;function ag(){return v0===l&&new(JF()),v0}var yh;function Pn(){if(yh===l){class e{constructor(r,t,n){un();var a;r===l?a=[ke(),s0(),l0(),u0(),_0(),o0(),c0(),h0(),null,null,null,null,null,null,null,null]:a=r,r=a;var s;if(t===l){for(var u=0,_=Array(32);u<32;){var o=u;_[o]=new(hn())(o,ke(),ke().e4s_1),u=u+1|0}s=_}else s=t;t=s;var c;if(n===l){for(var h=0,f=Array(8);h<8;){var v=h;f[v]=new(Dn())(v),h=h+1|0}c=f}else c=n;n=c,this.o4a_1=r,this.p4a_1=t,this.q4a_1=n}static z5p(r,t,n,a,s){un(),(0&r)!==0&&rt(r,0,ag().x5p_1);var u=Ur(this);if((r&1)===0){var _=u;_.o4a_1=[ke(),s0(),l0(),u0(),_0(),o0(),c0(),h0(),null,null,null,null,null,null,null,null]}else u.o4a_1=t;if((r&2)===0){for(var o=u,c=0,h=Array(32);c<32;){var f=c;h[f]=new(hn())(f,ke(),ke().e4s_1),c=c+1|0}o.p4a_1=h}else u.p4a_1=n;if((r&4)===0){for(var v=u,d=0,y=Array(8);d<8;){var b=d;y[b]=new(Dn())(b),d=d+1|0}v.q4a_1=y}else u.q4a_1=a;return u}}p(e,"Music",Pn,l,l,l,l,{0:ag}),yh=e}return yh}var ig;function Ve(){if(!ig){ig=!0;var e=js(),i=new Float32Array([1.1,.3,.031,.039,.345,.29,.0119]);nI=new(At())(0,"clarinet",e,.01,.1,.8,.5,i);var r=cn(),t=new Float32Array([1,.65,.7,.55,.45,.35,.3]);aI=new(At())(1,"violon",r,.1,.1,.9,.05,t);var n=Ls(),a=new Float32Array([1,.05,.01]);iI=new(At())(2,"obos",n,.1,.1,.9,.05,a);var s=dm(),u=new Float32Array([1]);sI=new(At())(3,"drum",s,.1,.1,.9,.05,u);var _=pm(),o=new Float32Array([1,.05,.01]);lI=new(At())(4,"custom1",_,.1,.1,.9,.05,o);var c=Ls(),h=new Float32Array([1,.05,.01]);uI=new(At())(5,"custom2",c,.1,.1,.9,.05,h);var f=js(),v=new Float32Array([1,.05,.01]);_I=new(At())(6,"custom3",f,.1,.1,.9,.05,v);var d=mm(),y=new Float32Array([1,.05,.01]);oI=new(At())(7,"custom4",d,.1,.1,.9,.05,y)}}function*WF(e,i){var r=e.k4a_1.d4a(i);r===O()&&(r=yield r);for(var t=r,n=un().n4a(Zt(t)),a=n,s=0,u=Array(16);s<16;){var _=s,o;0<=_&&_r.b1b(n,a);return t.$arity=1,t}var Ch;function XF(){if(Ch===l){class e{constructor(r,t,n,a){this.p5s_1=r,this.q5s_1=t,this.r5s_1=n,this.s5s_1=a,this.t5s_1=new(by()),this.u5s_1=new(G8())(this.p5s_1,this.q5s_1),this.v5s_1=0,this.w5s_1=yd(K5().q14())}n46(){return this.t5s_1}q46(){return new(J8())(this.p5s_1.clientWidth,this.p5s_1.clientHeight,this.p5s_1.clientWidth,this.p5s_1.clientHeight)}u46(r){var t=this.p5s_1.getContext("webgl2"),n=t instanceof WebGL2RenderingContext?t:null,a;if(n==null)throw fr().u3("The canvas context is expected to be a webgl2 context. WebGL2 doesn't seems to be supported by your browser. Please update to a compatible browser to run the game in WebGL2.");a=n;var s=a;return new(W8())(s)}w46(r){var t=window;t.requestAnimationFrame(n=>{var a=n*.001,s=a-this.v5s_1;return this.v5s_1=a,bd(this.w5s_1,l,l,ZF(r,s)),r.y46(),this.w46(r),S})}r46(){return this.u5s_1}s46(){return this.u5s_1}q49(){return K5().m14_1}b54(r,t){return new(V8())(this.s5s_1+"/"+r)}d54(r,t){return new(i9())(this.s5s_1+"/"+r)}t46(r){var t=new(eI());return t.d5t(r),t}f54(r,t){return new(HF())(r,t,this.c54(r))}w4g(r,t){localStorage.setItem(this.r5s_1+"-"+r,t)}b4h(r){return localStorage.getItem(this.r5s_1+"-"+r)}y4u(r,t){return S}z4u(r){return S}}F(e).c54=r9,F(e).e54=t9,F(e).a45=X8,F(e).h45=Q8,p(e,"WebGlPlatform",l,l,[e9()]),Ch=e}return Ch}function*QF(e,i,r){var t=e.a4a_1.c4a(r);if(t===O()&&(t=yield t),t){var n=e.a4a_1.d4a(r);n===O()&&(n=yield n);var a=i.l1a(n,r);a===O()&&(a=yield a);var s=fw(e.b4a_1.e4a_1,r);s===O()&&(s=yield s)}for(;;){if(e.a4a_1.f4a()){var u=e.a4a_1.d4a(r);u===O()&&(u=yield u);var _=i.l1a(u,r);_===O()&&(_=yield _)}var o=fw(e.b4a_1.e4a_1,r);o===O()&&(o=yield o)}return S}var xh;function rD(){if(xh===l){class e{constructor(r,t){this.a4a_1=r,this.b4a_1=t}g4a(r,t){return er(QF.bind(l,this,r),t)}oc(r,t){return this.g4a(r!=null&&j(r,ie())?r:m(),t)}}at(e,l,l,[1]),xh=e}return xh}function tD(e,i){var r=new(rD())(e,i),t=(n,a)=>r.g4a(n,a);return t.$arity=1,t}var Sh;function cI(){if(Sh===l){class e{constructor(){var r=this;sd(),r.e4a_1=A7(1,E7())}h4a(r){return aA(tD(r,this))}}p(e,"CommonVirtualFileSystem",cI,l,l,[2]),Sh=e}return Sh}var zh;function bm(){if(zh===l){class e extends n1(){static z49(r,t,n,a,s){var u=this.yc(a,s);Je(u,u.v45_1),u.r45_1=r,u.s45_1=t,u.t45_1=n;var _=u,o=Ma(wd(u.t45_1,[` -`]),u.s45_1-1|0),c;o==null?c=null:c=$(N7(L7(o)?o:m()));var h=c;return _.u45_1=h??"",u}}p(e,"TinyException"),zh=e}return zh}function eD(e){var i=e.q1u_1,r;if(i==null)r=null;else{var t=hy(i,C(58)),n=nn(M7(i,t+1|0)),a;xa(i,"@")?a="into the file "+i:a=fy(i).l1(n-1|0);var s=a;r=T(n,s)}return r}function nD(e){var i=eD(e);return i==null?null:i.xd_1}function aD(e){var i=e.message,r;if(i==null)return null;r=i;var t=r,n="\\[[\\s\\S]*]:(\\d+):.*",a=j7().mg(n),s=a.ng(t),u=s==null?null:s.fh(),_=u==null?null:u.l1(1);return _==null?null:Xs(_)}function C1(e,i){var r=e.r1u_1,t;e.r1u_1!==-1?t=r:t=null;var n=t,a=n??nD(e),s=a??aD(e),u=s??-1,_=e.s1u_1,o=e.message;return bm().z49(_,u,i,o,e)}function sg(e,i){var r=0,t=i.length;if(ri)}var Dc;function KT(){if(Dc===l){class e{}Ar(e,"SerializersModuleCollector"),Dc=e}return Dc}function GT(e,i,r){var t=i.o38(),n;if(t instanceof mn()?n=!0:n=E(t,h1()),n)throw H().u("Serializer for "+r.ce()+" can't be registered as a subclass for polymorphic serialization "+("because its kind "+t.toString()+" is not concrete. To work with multiple hierarchies, register it as a base class."));if(e.q3x_1)return S;if(!e.r3x_1)return S;var a,s;if(E(t,Ua())||E(t,Ka())?s=!0:s=t instanceof St(),s?a=!0:a=t instanceof Fd(),a)throw H().u("Serializer for "+r.ce()+" of kind "+t.toString()+" cannot be serialized polymorphically with class discriminator.")}function JT(e,i,r){var t=0,n=i.q38();if(te.c36()}var Kc;function rF(){if(Kc===l){class e{constructor(r,t){this.u3g_1=t,this.v3g_1=null;var n=this;n.w3g_1=Xs(()=>{var a=this.v3g_1;return a??XT(this,r)})}c36(){var r=this.w3g_1,t=oe();return ce("descriptor",1,t,QT(),null),r.y2()}k3h(r,t){var n=A7(this.u3g_1,t);if(n===-1)throw jr().o37($(t)+" is not a valid enum "+this.c36().f37()+", "+("must be one of "+E7(this.u3g_1)));r.q3b(this.c36(),n)}d36(r,t){return this.k3h(r,t instanceof Kt()?t:m())}e36(r){var t=r.g3a(this.c36());if(!(0<=t&&t<=(this.u3g_1.length-1|0)))throw jr().o37(""+t+" is not among valid "+this.c36().f37()+" enum values, "+("values size is "+this.u3g_1.length));return this.u3g_1[t]}toString(){return"kotlinx.serialization.internal.EnumSerializer<"+this.c36().f37()+">"}}p(e,"EnumSerializer",l,l,[V()]),Kc=e}return Kc}function Yq(e){var i=e.y3h_1,r=oe();return ce("elementDescriptors",1,r,tF(),null),i.y2()}function tF(){return e=>Yq(e)}var Gc;function eF(){if(Gc===l){class e extends Kr(){constructor(r,t){super(r,l,t),this.x3h_1=Ie();var n=this;n.y3h_1=Xs(()=>{for(var a=0,s=t,u=Array(s);a>>1|0}while(a<32);throw tp().e38(t,r.f37())}var Jc;function nF(){if(Jc===l){class e{v3t(){var r=Y(ym()),t=[Y(ee()),Y(ne())],n=[Jp(),Hp()],a=[];return tm().i37("com.github.minigdx.tiny.sound.Modulation",r,t,n,a)}d3j(r){return this.v3t()}}ar(e,l,[y1()]),Jc=e}return Jc}var wm;function aF(){return wm}var Wc;function ym(){if(Wc===l){class e{}Ar(e,"Modulation",l,l,l,l,l,{0:aF}),Wc=e}return Wc}function iF(e){return e.y4t_1*2-1}var Hc;function sF(){if(Hc===l){class e{}ar(e),Hc=e}return Hc}var Vc;function lF(){if(Vc===l){class e{constructor(){Gp=this;var r=new(Kr())("com.github.minigdx.tiny.sound.Sweep",this,3);r.a3i("sweep",!1),r.a3i("acceleration",!1),r.a3i("active",!0),this.n5o_1=r}o5o(r,t){var n=this.n5o_1,a=r.k3a(n);a.x3b(n,0,t.x4t_1),a.x3b(n,1,t.y4t_1),(a.i3c(n,2)||t.z4t_1!==!1)&&a.s3b(n,2,t.z4t_1),a.l3a(n)}d36(r,t){return this.o5o(r,t instanceof ee()?t:m())}e36(r){var t=this.n5o_1,n=!0,a=0,s=0,u=0,_=0,o=!1,c=r.k3a(t);if(c.a3b())u=c.r3a(t,0),s=s|1,_=c.r3a(t,1),s=s|2,o=c.m3a(t,2),s=s|4;else for(;n;)switch(a=c.b3b(t),a){case-1:n=!1;break;case 0:u=c.r3a(t,0),s=s|1;break;case 1:_=c.r3a(t,1),s=s|2;break;case 2:o=c.m3a(t,2),s=s|4;break;default:throw Xr().w37(a)}return c.l3a(t),ee().p5o(s,u,_,o,null)}c36(){return this.n5o_1}p3i(){return[mt(),mt(),Dn()]}}F(e).q3i=Hr,P(e,"$serializer",l,l,[Vr()]),Vc=e}return Vc}var Gp;function Jp(){return Gp===l&&new(lF()),Gp}var Yc;function ee(){if(Yc===l){class e{constructor(r,t){this.x4t_1=r,this.y4t_1=t,this.z4t_1=!1}w4t(r){this.z4t_1=r}v4t(){return this.z4t_1}m5o(r,t){return t+r*(this.x4t_1*iF(this))}static p5o(r,t,n,a,s){(3&r)!==3&&rt(r,3,Jp().n5o_1);var u=Ur(this);return u.x4t_1=t,u.y4t_1=n,(r&4)===0?u.z4t_1=!1:u.z4t_1=a,u}}p(e,"Sweep",l,l,[ym()],l,l,{0:Jp}),Yc=e}return Yc}var Zc;function uF(){if(Zc===l){class e{}ar(e),Zc=e}return Zc}var Xc;function _F(){if(Xc===l){class e{constructor(){Wp=this;var r=new(Kr())("com.github.minigdx.tiny.sound.Vibrato",this,3);r.a3i("vibratoFrequency",!1),r.a3i("depth",!1),r.a3i("active",!0),this.q5o_1=r}r5o(r,t){var n=this.q5o_1,a=r.k3a(n);a.x3b(n,0,t.a4u_1),a.x3b(n,1,t.b4u_1),(a.i3c(n,2)||t.c4u_1!==!1)&&a.s3b(n,2,t.c4u_1),a.l3a(n)}d36(r,t){return this.r5o(r,t instanceof ne()?t:m())}e36(r){var t=this.q5o_1,n=!0,a=0,s=0,u=0,_=0,o=!1,c=r.k3a(t);if(c.a3b())u=c.r3a(t,0),s=s|1,_=c.r3a(t,1),s=s|2,o=c.m3a(t,2),s=s|4;else for(;n;)switch(a=c.b3b(t),a){case-1:n=!1;break;case 0:u=c.r3a(t,0),s=s|1;break;case 1:_=c.r3a(t,1),s=s|2;break;case 2:o=c.m3a(t,2),s=s|4;break;default:throw Xr().w37(a)}return c.l3a(t),ne().s5o(s,u,_,o,null)}c36(){return this.q5o_1}p3i(){return[mt(),mt(),Dn()]}}F(e).q3i=Hr,P(e,"$serializer",l,l,[Vr()]),Xc=e}return Xc}var Wp;function Hp(){return Wp===l&&new(_F()),Wp}var Qc;function ne(){if(Qc===l){class e{constructor(r,t){this.a4u_1=r,this.b4u_1=t,this.c4u_1=!1}w4t(r){this.c4u_1=r}v4t(){return this.c4u_1}m5o(r,t){var n=6.2831855*this.a4u_1*r,a=Math.sin(n)*this.b4u_1;return t+a}static s5o(r,t,n,a,s){(3&r)!==3&&rt(r,3,Hp().q5o_1);var u=Ur(this);return u.a4u_1=t,u.b4u_1=n,(r&4)===0?u.c4u_1=!1:u.c4u_1=a,u}}p(e,"Vibrato",l,l,[ym()],l,l,{0:Hp}),Qc=e}return Qc}wm=new(nF());new(sF());new(uF());var Zq,Xq,Qq,rI,tI,eI;function oF(){return[Ms(),gm(),Ts(),fn(),bm(),km()]}function cF(e){switch(e){case"SAW_TOOTH":return Ms();case"PULSE":return gm();case"TRIANGLE":return Ts();case"SINE":return fn();case"NOISE":return bm();case"SQUARE":return km();default:Cn(),Jy("No enum constant com.github.minigdx.tiny.sound.Instrument.WaveType."+e);break}}var iy;function Cn(){if(iy)return S;iy=!0,Zq=new(zn())("SAW_TOOTH",0),Xq=new(zn())("PULSE",1),Qq=new(zn())("TRIANGLE",2),rI=new(zn())("SINE",3),tI=new(zn())("NOISE",4),eI=new(zn())("SQUARE",5)}function hF(){return mm("com.github.minigdx.tiny.sound.Instrument.WaveType",oF())}function fF(){return new(Cr())(wm.v3t())}var rh;function zn(){if(rh===l){class e extends Kt(){}p(e,"WaveType"),rh=e}return rh}var th;function vF(){if(th===l){class e{constructor(){Vp=this;var r=this,t=lr(),n=ur(t,hF),a=lr();r.b5p_1=[null,null,n,null,null,null,null,null,ur(a,fF)],this.c5p_1=7,this.d5p_1=6.2831855}}ar(e),th=e}return th}var Vp;function ma(){return Vp===l&&new(vF()),Vp}var eh;function pF(){if(eh===l){class e{constructor(){Yp=this;var r=new(Kr())("com.github.minigdx.tiny.sound.Instrument",this,9);r.a3i("index",!1),r.a3i("name",!0),r.a3i("wave",!0),r.a3i("attack",!0),r.a3i("decay",!0),r.a3i("sustain",!0),r.a3i("release",!0),r.a3i("harmonics",!0),r.a3i("modulations",!0),this.e5p_1=r}f5p(r,t){var n=this.e5p_1,a=r.k3a(n),s=ma().b5p_1;a.v3b(n,0,t.d4s_1),(a.i3c(n,1)||t.e4s_1!=="Instrument "+t.d4s_1)&&a.e3c(n,1,qr(),t.e4s_1),(a.i3c(n,2)||!t.f4s_1.equals(fn()))&&a.c3c(n,2,s[2].y2(),t.f4s_1),(a.i3c(n,3)||!E(t.g4s_1,0))&&a.x3b(n,3,t.g4s_1),(a.i3c(n,4)||!E(t.h4s_1,0))&&a.x3b(n,4,t.h4s_1),(a.i3c(n,5)||!E(t.i4s_1,0))&&a.x3b(n,5,t.i4s_1),(a.i3c(n,6)||!E(t.j4s_1,0))&&a.x3b(n,6,t.j4s_1),(a.i3c(n,7)||!E(t.k4s_1,new Float32Array(7)))&&a.c3c(n,7,_a(),t.k4s_1),(a.i3c(n,8)||!E(t.l4s_1,Rr([new(ee())(Ea().r4q_1,1),new(ne())(0,0)])))&&a.c3c(n,8,s[8].y2(),t.l4s_1),a.l3a(n)}d36(r,t){return this.f5p(r,t instanceof At()?t:m())}e36(r){var t=this.e5p_1,n=!0,a=0,s=0,u=0,_=null,o=null,c=0,h=0,f=0,v=0,d=null,g=null,b=r.k3a(t),w=ma().b5p_1;if(b.a3b())u=b.p3a(t,0),s=s|1,_=b.y3a(t,1,qr(),_),s=s|2,o=b.w3a(t,2,w[2].y2(),o),s=s|4,c=b.r3a(t,3),s=s|8,h=b.r3a(t,4),s=s|16,f=b.r3a(t,5),s=s|32,v=b.r3a(t,6),s=s|64,d=b.w3a(t,7,_a(),d),s=s|128,g=b.w3a(t,8,w[8].y2(),g),s=s|256;else for(;n;)switch(a=b.b3b(t),a){case-1:n=!1;break;case 0:u=b.p3a(t,0),s=s|1;break;case 1:_=b.y3a(t,1,qr(),_),s=s|2;break;case 2:o=b.w3a(t,2,w[2].y2(),o),s=s|4;break;case 3:c=b.r3a(t,3),s=s|8;break;case 4:h=b.r3a(t,4),s=s|16;break;case 5:f=b.r3a(t,5),s=s|32;break;case 6:v=b.r3a(t,6),s=s|64;break;case 7:d=b.w3a(t,7,_a(),d),s=s|128;break;case 8:g=b.w3a(t,8,w[8].y2(),g),s=s|256;break;default:throw Xr().w37(a)}return b.l3a(t),At().g5p(s,u,_,o,c,h,f,v,d,g,null)}c36(){return this.e5p_1}p3i(){var r=ma().b5p_1;return[K(),$r(qr()),r[2].y2(),mt(),mt(),mt(),mt(),_a(),r[8].y2()]}}F(e).q3i=Hr,P(e,"$serializer",l,l,[Vr()]),eh=e}return eh}var Yp;function Zp(){return Yp===l&&new(pF()),Yp}function Ms(){return Cn(),Zq}function gm(){return Cn(),Xq}function Ts(){return Cn(),Qq}function fn(){return Cn(),rI}function bm(){return Cn(),tI}function km(){return Cn(),eI}var nh;function At(){if(nh===l){class e{constructor(r,t,n,a,s,u,_,o,c){ma(),t=t===l?"Instrument "+r:t,n=n===l?fn():n,a=a===l?0:a,s=s===l?0:s,u=u===l?0:u,_=_===l?0:_,o=o===l?new Float32Array(7):o,c=c===l?Rr([new(ee())(Ea().r4q_1,1),new(ne())(0,0)]):c,this.d4s_1=r,this.e4s_1=t,this.f4s_1=n,this.g4s_1=a,this.h4s_1=s,this.i4s_1=u,this.j4s_1=_,this.k4s_1=o,this.l4s_1=c,this.m4s_1=0,this.n4s_1=0,this.o4s_1=0}h5p(r,t){for(var n=this.l4s_1,a=N().p1(),s=n.e1();s.f1();){var u=s.g1();u.v4t()&&a.c1(u)}for(var _=r,o=a.e1();o.f1();){var c=o.g1(),h=_;_=c.m5o(t,h)}var f=_,v;switch(this.f4s_1.i3_1){case 2:var d=6.2831855*f*t,g=Math.sin(d),b=(g+1)%1;return b<.5?4*b-1:3-4*b;case 3:var w=6.2831855*f*t;v=Math.sin(w);break;case 5:var x=6.2831855*f*t,z=Math.sin(x),k;return z>0?k=1:k=-1,k;case 1:var A=6.2831855*f*t,D=Math.sin(A),B=D%1,R=2*(D/128%1)-1,W=Math.abs(R),G=(B+.5*W)%1,Q=4*G-2,X=Math.abs(Q),rr=8*B-4,tr=X-Math.abs(rr);return tr/6;case 0:var ir=6.2831855*f*t,dr=Math.sin(ir);return dr*2-1;case 4:var cr;if(this.n4s_1===f)cr=this.o4s_1;else{var mr=Math.max(1,f),Dr=6.2831855*mr/44100,Ir=-Dr,Or=Math.exp(Ir);this.o4s_1=1-Or,this.n4s_1=f,cr=this.o4s_1}var Yr=cr,Gr=sn().el()*2-1,Er=Yr*Gr+(1-Yr)*this.m4s_1;return this.m4s_1=Er,Er;default:yt();break}return v}static g5p(r,t,n,a,s,u,_,o,c,h,f){ma(),(1&r)!==1&&rt(r,1,Zp().e5p_1);var v=Ur(this);return v.d4s_1=t,(r&2)===0?v.e4s_1="Instrument "+v.d4s_1:v.e4s_1=n,(r&4)===0?v.f4s_1=fn():v.f4s_1=a,(r&8)===0?v.g4s_1=0:v.g4s_1=s,(r&16)===0?v.h4s_1=0:v.h4s_1=u,(r&32)===0?v.i4s_1=0:v.i4s_1=_,(r&64)===0?v.j4s_1=0:v.j4s_1=o,(r&128)===0?v.k4s_1=new Float32Array(7):v.k4s_1=c,(r&256)===0?v.l4s_1=Rr([new(ee())(Ea().r4q_1,1),new(ne())(0,0)]):v.l4s_1=h,v.m4s_1=0,v.n4s_1=0,v.o4s_1=0,v}}p(e,"Instrument",l,l,l,l,l,{0:Zp}),nh=e}return nh}function dF(){return he(),nI}var nI;function mF(){return he(),aI}var aI;function wF(){return he(),iI}var iI;function yF(){return he(),sI}var sI;function gF(e,i){he();var r;if(i)r=mF().i38(e);else{var t=dF().i38(e),n;t==null?n=null:n=j(t,V())?t:m(),r=n}return r}function bF(e,i,r){he();var t;if(r)t=yF().j38(e,i);else{var n=wF().j38(e,i);t=new(ow())(n)instanceof ow()?n:m()}return t}function kF(e){he();var i=Cm(e),r;return i==null?r=da(e)?Is().i36(e):null:r=i,r}function CF(e){he();var i=Cm(e),r;i==null?r=da(e)?Is().i36(e):null:r=i;var t=r,n=t==null?null:$r(t),a;return n==null?a=null:a=j(n,V())?n:m(),a}function xF(e,i){he();var r=nr(xm(Wn(),i));return Sm(e,r,()=>i.l1(0).ne())}function SF(e,i){he();var r=nr(xm(Wn(),i)),t=Sm(e,r,()=>i.l1(0).ne()),n=t==null?null:$r(t),a;return n==null?a=null:a=j(n,V())?n:m(),a}var sy;function he(){sy||(sy=!0,nI=Uw(kF),aI=Uw(CF),iI=Kw(xF),sI=Kw(SF))}function Cm(e){var i=rL(e);return i??mL(e)}function xm(e,i,r){var t;{for(var n=N().d1(gr(i,10)),a=i.e1();a.f1();){var s=a.g1(),u=Fs(e,s);n.c1(u)}t=n}var _=t;return _}function Sm(e,i,r){var t=zF(e,i,r);return t??qF(e,i)}function Fs(e,i){var r=IF(e,i),t;return r==null?tL(Rz(i)):t=r,t}function zF(e,i,r){var t;if(e.equals(Y(Pi()))||e.equals(Y(t1()))||e.equals(Y(Ky()))||e.equals(Y(N())))t=new(Cr())(i.l1(0));else if(e.equals(Y(Wt())))t=new(ZL())(i.l1(0));else if(e.equals(Y(md()))||e.equals(Y(j7()))||e.equals(Y(gt())))t=new(XL())(i.l1(0));else if(e.equals(Y(ye())))t=new(QL())(i.l1(0),i.l1(1));else if(e.equals(Y(kt()))||e.equals(Y(O5()))||e.equals(Y(zr())))t=new(vq())(i.l1(0),i.l1(1));else if(e.equals(Y(Ki())))t=Hj(i.l1(0),i.l1(1));else if(e.equals(Y(R5())))t=Vj(i.l1(0),i.l1(1));else if(e.equals(Y(n1())))t=Yj(i.l1(0),i.l1(1),i.l1(2));else{var n;if(eL(e)){var a=r();n=Zj(a!=null&&j(a,Be())?a:m(),i.l1(0))}else n=null;t=n}return t}function qF(e,i){var r=lt(i);return nq(e,r.slice())}function IF(e,i,r){for(var t=Rz(i),n=i.pe(),a=i.oe(),s=N().d1(gr(a,10)),u=a.e1();u.f1();){var _=u.g1(),o=kN(_);s.c1(o)}var c=s,h;if(c.m1()){var f;da(t)&&e.g38(t)!=null?f=null:f=gF(t,n),h=f}else{var v;if(e.f38())v=null;else{var d=bF(t,c,n),g;if(N7(d))g=null;else{var b=L7(d);g=b==null||b!=null?b:m()}v=g}h=v}var w=h;if(w!=null)return w;var x;if(c.m1()){var z=Cm(t),k=z??e.g38(t),A;k==null?A=da(t)?Is().i36(t):null:A=k,x=A}else{var D=xm(e,c),B;if(D==null)return null;B=D;var R=B,W=Sm(t,R,()=>c.l1(0).ne()),G=W??e.h38(t,R),Q;G==null?Q=da(t)?Is().i36(t):null:Q=G,x=Q}var X=x,rr;X==null?rr=null:rr=j(X,V())?X:m();var tr=rr;return tr==null?null:$F(tr,n)}function $F(e,i){return i?$r(e):j(e,V())?e:m()}function*AF(e,i,r){Rt("Loading audio worklet module...");var t=e.k5t_1.l5t().audioWorklet,n=h9(),a=t.addModule(n),s=m9(a,r);s===O()&&(s=yield s);var u=S;Rt("Audio worklet module loaded successfully "+u.toString()),Rt("Creating AudioWorkletNode for SynthesizerProcessor");var _=e.k5t_1,o=e.k5t_1.l5t(),c="SynthesizerProcessor";_.h5t_1=new AudioWorkletNode(o,c);var h=e.k5t_1.l5t().destination;return Rt("Connecting worklet to destination node: "+$(h)),Xp(e.k5t_1).connect(h),Rt("Audio worklet ready!"),e.k5t_1.e5t_1=!0,S}function Xp(e){var i=e.h5t_1;if(i!=null)return i;st("audioWorkletNode")}function ly(e){e.f5t_1=e.l5t().currentTime,zd(e.i5t_1,l,l,jF(e))}function EF(e,i){var r=i.i3_1+12|0,t=(r-69|0)/12;return 440*Math.pow(2,t)}var ah;function NF(){if(ah===l){class e{constructor(){this.m5t_1=4096,this.n5t_1=8}}ar(e),ah=e}return ah}var ih;function LF(){if(ih===l){class e{constructor(r){this.k5t_1=r}b1b(r,t){return er(AF.bind(l,this,r),t)}oc(r,t){return this.b1b(r!=null&&j(r,qd())?r:m(),t)}}at(e,l,l,[1]),ih=e}return ih}function jF(e){var i=new(LF())(e),r=(t,n)=>i.b1b(t,n);return r.$arity=1,r}var sh;function lI(){if(sh===l){class e extends C9(){constructor(){super(),this.e5t_1=!1,this.f5t_1=0,this.g5t_1=new(S9())(8),this.i5t_1=Sd(H5().q14())}l5t(){var r=this.d5t_1;if(r!=null)return r;st("audioContext")}j5t(r){this.d5t_1=new AudioContext,Rt("INIT audio context "+$(this.l5t().state));var t=this.l5t();t.onstatechange=()=>{Rt("audio context "+$(this.l5t().state));var a=this.l5t().state;return E(a,"running")?this.e5t_1=!0:this.l5t().resume(),S};var n=this.l5t().state;E(n,"running")?(Rt("FIRST USER audio context "+$(this.l5t().state)),ly(this)):r.g4d(()=>(Rt("FIRST USER audio context "+$(this.l5t().state)),this.l5t().resume(),ly(this),S))}d4u(r,t){if(Rt("noteOn is ready + "+this.e5t_1),!this.e5t_1)return S;var n=new(F9())(t);this.g5t_1.f5r(n),n.w5p(r);var a=EF(this,r),s=Ue(),u=s.z3a(),_=Fs(u,J5(Y(At()),W5([]),!1)),o=j(_,V())?_:m(),c=s.r3r(o,t);Rt("Prepare to post message to worklet"),Xp(this).port.postMessage(cw([T("type","noteOn"),T("note",r.i3_1),T("frequency",a),T("instrument",c)]))}e4u(r){if(!this.e5t_1)return S;for(var t=this.g5t_1.e1();t.f1();){var n=t.g1();n.e4u(r)}Xp(this).port.postMessage(cw([T("type","noteOff"),T("note",r.i3_1)]))}y5q(r){throw Xt().nc()}}p(e,"WebSoundManager",lI),sh=e}return sh}new(NF());var Ze=Math.imul;function MF(){return mm("com.github.minigdx.tiny.lua.Note",F6())}var lh;function TF(){if(lh===l){class e{constructor(){Qp=this;var r=this,t=lr();r.k5q_1=[ur(t,MF),null,null,null,null,null,null]}}ar(e),lh=e}return lh}var Qp;function wa(){return Qp===l&&new(TF()),Qp}var uh;function FF(){if(uh===l){class e{constructor(){r0=this;var r=new(Kr())("com.github.minigdx.tiny.sound.MusicalNote",this,7);r.a3i("note",!1),r.a3i("beat",!1),r.a3i("duration",!1),r.a3i("volume",!1),r.a3i("instrumentIndex",!0),r.a3i("isRepeating",!0),r.a3i("isOffNote",!0),this.l5q_1=r}m5q(r,t){var n=this.l5q_1,a=r.k3a(n),s=wa().k5q_1;a.e3c(n,0,s[0].y2(),t.v4r_1),a.x3b(n,1,t.w4r_1),a.x3b(n,2,t.x4r_1),a.x3b(n,3,t.y4r_1),(a.i3c(n,4)||t.z4r_1!=null)&&a.e3c(n,4,K(),t.z4r_1),(a.i3c(n,5)||t.b4s_1!==!1)&&a.s3b(n,5,t.b4s_1),(a.i3c(n,6)||t.c4s_1!==!1)&&a.s3b(n,6,t.c4s_1),a.l3a(n)}d36(r,t){return this.m5q(r,t instanceof Pn()?t:m())}e36(r){var t=this.l5q_1,n=!0,a=0,s=0,u=null,_=0,o=0,c=0,h=null,f=!1,v=!1,d=r.k3a(t),g=wa().k5q_1;if(d.a3b())u=d.y3a(t,0,g[0].y2(),u),s=s|1,_=d.r3a(t,1),s=s|2,o=d.r3a(t,2),s=s|4,c=d.r3a(t,3),s=s|8,h=d.y3a(t,4,K(),h),s=s|16,f=d.m3a(t,5),s=s|32,v=d.m3a(t,6),s=s|64;else for(;n;)switch(a=d.b3b(t),a){case-1:n=!1;break;case 0:u=d.y3a(t,0,g[0].y2(),u),s=s|1;break;case 1:_=d.r3a(t,1),s=s|2;break;case 2:o=d.r3a(t,2),s=s|4;break;case 3:c=d.r3a(t,3),s=s|8;break;case 4:h=d.y3a(t,4,K(),h),s=s|16;break;case 5:f=d.m3a(t,5),s=s|32;break;case 6:v=d.m3a(t,6),s=s|64;break;default:throw Xr().w37(a)}return d.l3a(t),Pn().n5q(s,u,_,o,c,h,f,v,null)}c36(){return this.l5q_1}p3i(){var r=wa().k5q_1;return[$r(r[0].y2()),mt(),mt(),mt(),$r(K()),Dn(),Dn()]}}F(e).q3i=Hr,P(e,"$serializer",l,l,[Vr()]),uh=e}return uh}var r0;function Ds(){return r0===l&&new(FF()),r0}var _h;function Pn(){if(_h===l){class e{constructor(r,t,n,a,s,u,_,o){wa(),s=s===l?null:s,u=u===l?null:u,_=_===l?!1:_,o=o===l?!1:o,this.v4r_1=r,this.w4r_1=t,this.x4r_1=n,this.y4r_1=a,this.z4r_1=s,this.a4s_1=u,this.b4s_1=_,this.c4s_1=o}toString(){return"MusicalNote(note="+Wr(this.v4r_1)+", beat="+this.w4r_1+", duration="+this.x4r_1+", volume="+this.y4r_1+", instrumentIndex="+this.z4r_1+", instrument="+Wr(this.a4s_1)+", isRepeating="+this.b4s_1+", isOffNote="+this.c4s_1+")"}hashCode(){var r=this.v4r_1==null?0:this.v4r_1.hashCode();return r=Ze(r,31)+Vt(this.w4r_1)|0,r=Ze(r,31)+Vt(this.x4r_1)|0,r=Ze(r,31)+Vt(this.y4r_1)|0,r=Ze(r,31)+(this.z4r_1==null?0:this.z4r_1)|0,r=Ze(r,31)+(this.a4s_1==null?0:Z(this.a4s_1))|0,r=Ze(r,31)+Ca(this.b4s_1)|0,r=Ze(r,31)+Ca(this.c4s_1)|0,r}equals(r){return this===r?!0:!(!(r instanceof Pn())||!E(this.v4r_1,r.v4r_1)||!E(this.w4r_1,r.w4r_1)||!E(this.x4r_1,r.x4r_1)||!E(this.y4r_1,r.y4r_1)||this.z4r_1!=r.z4r_1||!E(this.a4s_1,r.a4s_1)||this.b4s_1!==r.b4s_1||this.c4s_1!==r.c4s_1)}static n5q(r,t,n,a,s,u,_,o,c){wa(),(15&r)!==15&&rt(r,15,Ds().l5q_1);var h=Ur(this);return h.v4r_1=t,h.w4r_1=n,h.x4r_1=a,h.y4r_1=s,(r&16)===0?h.z4r_1=null:h.z4r_1=u,h.a4s_1=null,(r&32)===0?h.b4s_1=!1:h.b4s_1=_,(r&64)===0?h.c4s_1=!1:h.c4s_1=o,h}}p(e,"MusicalNote",l,l,l,l,l,{0:Ds}),_h=e}return _h}function DF(){return new(Cr())(Ds())}function oh(e,i,r){for(var t=e.v4a_1,n=N().p1(),a=t.e1();a.f1();){var s=a.g1();s.w4r_1i&&n.c1(s)}return n}var ch;function PF(){if(ch===l){class e{constructor(){t0=this;var r=this,t=lr();r.g5q_1=[null,null,null,ur(t,DF)]}}ar(e),ch=e}return ch}var t0;function ya(){return t0===l&&new(PF()),t0}var hh;function BF(){if(hh===l){class e{constructor(){e0=this;var r=new(Kr())("com.github.minigdx.tiny.sound.MusicalBar",this,4);r.a3i("index",!0),r.a3i("instrumentIndex",!0),r.a3i("tempo",!0),r.a3i("beats",!0),this.h5q_1=r}i5q(r,t){var n=this.h5q_1,a=r.k3a(n),s=ya().g5q_1;(a.i3c(n,0)||t.r4a_1!==1)&&a.v3b(n,0,t.r4a_1),(a.i3c(n,1)||t.t4a_1!==-1)&&a.v3b(n,1,t.t4a_1),(a.i3c(n,2)||t.u4a_1!==120)&&a.v3b(n,2,t.u4a_1);var u;if(a.i3c(n,3))u=!0;else{var _=N().p1();u=!E(t.v4a_1,_)}u&&a.c3c(n,3,s[3].y2(),t.v4a_1),a.l3a(n)}d36(r,t){return this.i5q(r,t instanceof vn()?t:m())}e36(r){var t=this.h5q_1,n=!0,a=0,s=0,u=0,_=0,o=0,c=null,h=r.k3a(t),f=ya().g5q_1;if(h.a3b())u=h.p3a(t,0),s=s|1,_=h.p3a(t,1),s=s|2,o=h.p3a(t,2),s=s|4,c=h.w3a(t,3,f[3].y2(),c),s=s|8;else for(;n;)switch(a=h.b3b(t),a){case-1:n=!1;break;case 0:u=h.p3a(t,0),s=s|1;break;case 1:_=h.p3a(t,1),s=s|2;break;case 2:o=h.p3a(t,2),s=s|4;break;case 3:c=h.w3a(t,3,f[3].y2(),c),s=s|8;break;default:throw Xr().w37(a)}return h.l3a(t),vn().j5q(s,u,_,o,c,null)}c36(){return this.h5q_1}p3i(){var r=ya().g5q_1;return[K(),K(),K(),r[3].y2()]}}F(e).q3i=Hr,P(e,"$serializer",l,l,[Vr()]),hh=e}return hh}var e0;function n0(){return e0===l&&new(BF()),e0}var fh;function vn(){if(fh===l){class e{constructor(r,t,n,a){ya(),r=r===l?1:r,t=t===l?null:t,n=n===l?-1:n,a=a===l?120:a,this.r4a_1=r,this.s4a_1=t,this.t4a_1=n,this.u4a_1=a;var s=this;s.v4a_1=N().p1()}l4u(r,t,n,a){for(var s=oh(this,t,n),u=N().p1(),_=s.e1();_.f1();){var o=_.g1();(a||E(o.v4r_1,r))&&u.c1(o)}var c=u,h=M7(c),f=h==null?null:h.y4r_1,v=f??1;this.v4a_1.f2(c),this.v4a_1.c1(new(Pn())(r,t,n,v))}m4u(r,t){for(var n=oh(this,t,.5),a=N().p1(),s=n.e1();s.f1();){var u=s.g1();E(u.v4r_1,r)&&a.c1(u)}for(var _=N().p1(),o=a.e1();o.f1();){var c=o.g1(),h=c.w4r_1;t<=c.w4r_1+c.x4r_1&&h<=t&&_.c1(c)}var f=_;this.v4a_1.f2(f)}k4u(r,t){for(var n=oh(this,r,.5),a=n.e1();a.f1();){var s=a.g1();s.y4r_1=t}}static j5q(r,t,n,a,s,u){ya(),(0&r)!==0&&rt(r,0,n0().h5q_1);var _=Ur(this);if((r&1)===0?_.r4a_1=1:_.r4a_1=t,_.s4a_1=null,(r&2)===0?_.t4a_1=-1:_.t4a_1=n,(r&4)===0?_.u4a_1=120:_.u4a_1=a,(r&8)===0){var o=_;o.v4a_1=N().p1()}else _.v4a_1=s;return _}}p(e,"MusicalBar",vn,l,l,l,l,{0:n0}),fh=e}return fh}function OF(){return new(Cr())(Ds())}var vh;function RF(){if(vh===l){class e{constructor(){a0=this;var r=this,t=lr();r.o5q_1=[null,null,null,ur(t,OF),null]}}ar(e),vh=e}return vh}var a0;function ga(){return a0===l&&new(RF()),a0}var ph;function UF(){if(ph===l){class e{constructor(){i0=this;var r=new(Kr())("com.github.minigdx.tiny.sound.MusicalSequence.Track",this,5);r.a3i("index",!0),r.a3i("instrumentIndex",!1),r.a3i("mute",!0),r.a3i("beats",!0),r.a3i("volume",!0),this.p5q_1=r}q5q(r,t){var n=this.p5q_1,a=r.k3a(n),s=ga().o5q_1;(a.i3c(n,0)||t.z4a_1!==0)&&a.v3b(n,0,t.z4a_1),a.v3b(n,1,t.a4b_1),(a.i3c(n,2)||t.b4b_1!==!1)&&a.s3b(n,2,t.b4b_1);var u;if(a.i3c(n,3))u=!0;else{var _=N().p1();u=!E(t.d4b_1,_)}u&&a.c3c(n,3,s[3].y2(),t.d4b_1),(a.i3c(n,4)||!E(t.e4b_1,1))&&a.x3b(n,4,t.e4b_1),a.l3a(n)}d36(r,t){return this.q5q(r,t instanceof Bn()?t:m())}e36(r){var t=this.p5q_1,n=!0,a=0,s=0,u=0,_=0,o=!1,c=null,h=0,f=r.k3a(t),v=ga().o5q_1;if(f.a3b())u=f.p3a(t,0),s=s|1,_=f.p3a(t,1),s=s|2,o=f.m3a(t,2),s=s|4,c=f.w3a(t,3,v[3].y2(),c),s=s|8,h=f.r3a(t,4),s=s|16;else for(;n;)switch(a=f.b3b(t),a){case-1:n=!1;break;case 0:u=f.p3a(t,0),s=s|1;break;case 1:_=f.p3a(t,1),s=s|2;break;case 2:o=f.m3a(t,2),s=s|4;break;case 3:c=f.w3a(t,3,v[3].y2(),c),s=s|8;break;case 4:h=f.r3a(t,4),s=s|16;break;default:throw Xr().w37(a)}return f.l3a(t),Bn().r5q(s,u,_,o,c,h,null)}c36(){return this.p5q_1}p3i(){var r=ga().o5q_1;return[K(),K(),Dn(),r[3].y2(),mt()]}}F(e).q3i=Hr,P(e,"$serializer",l,l,[Vr()]),ph=e}return ph}var i0;function s0(){return i0===l&&new(UF()),i0}function KF(){return new(Va())(Y(Bn()),s0())}var dh;function Bn(){if(dh===l){class e{constructor(r,t,n,a,s,u){ga(),r=r===l?0:r,n=n===l?!1:n,a=a===l?null:a;var _;s===l?_=N().p1():_=s,s=_,u=u===l?1:u,this.z4a_1=r,this.a4b_1=t,this.b4b_1=n,this.c4b_1=a,this.d4b_1=s,this.e4b_1=u;var o=Yt(0,32),c=o.v1_1,h=o.w1_1;if(c<=h)do{var f=c;c=c+1|0;var v=f;this.d4b_1.c1(new(Pn())(null,v,1,1))}while(f!==h)}static r5q(r,t,n,a,s,u,_){ga(),(2&r)!==2&&rt(r,2,s0().p5q_1);var o=Ur(this);if((r&1)===0?o.z4a_1=0:o.z4a_1=t,o.a4b_1=n,(r&4)===0?o.b4b_1=!1:o.b4b_1=a,o.c4b_1=null,(r&8)===0){var c=o;c.d4b_1=N().p1()}else o.d4b_1=s;(r&16)===0?o.e4b_1=1:o.e4b_1=u;var h=Yt(0,32),f=h.v1_1,v=h.w1_1;if(f<=v)do{var d=f;f=f+1|0;var g=d;o.d4b_1.c1(new(Pn())(null,g,1,1))}while(d!==v);return o}}p(e,"Track",l,l,l,l,l,{0:s0}),dh=e}return dh}var mh;function GF(){if(mh===l){class e{constructor(){l0=this;var r=this,t=lr();r.s5q_1=[null,ur(t,KF),null]}}ar(e),mh=e}return mh}var l0;function ba(){return l0===l&&new(GF()),l0}var wh;function JF(){if(wh===l){class e{constructor(){u0=this;var r=new(Kr())("com.github.minigdx.tiny.sound.MusicalSequence",this,3);r.a3i("index",!1),r.a3i("tracks",!0),r.a3i("tempo",!0),this.t5q_1=r}u5q(r,t){var n=this.t5q_1,a=r.k3a(n),s=ba().s5q_1;a.v3b(n,0,t.w4a_1);var u;if(a.i3c(n,1))u=!0;else{for(var _=0,o=Array(4);_<4;){var c=_;o[c]=new(Bn())(c,0),_=_+1|0}u=!E(t.x4a_1,o)}u&&a.c3c(n,1,s[1].y2(),t.x4a_1),(a.i3c(n,2)||t.y4a_1!==120)&&a.v3b(n,2,t.y4a_1),a.l3a(n)}d36(r,t){return this.u5q(r,t instanceof On()?t:m())}e36(r){var t=this.t5q_1,n=!0,a=0,s=0,u=0,_=null,o=0,c=r.k3a(t),h=ba().s5q_1;if(c.a3b())u=c.p3a(t,0),s=s|1,_=c.w3a(t,1,h[1].y2(),_),s=s|2,o=c.p3a(t,2),s=s|4;else for(;n;)switch(a=c.b3b(t),a){case-1:n=!1;break;case 0:u=c.p3a(t,0),s=s|1;break;case 1:_=c.w3a(t,1,h[1].y2(),_),s=s|2;break;case 2:o=c.p3a(t,2),s=s|4;break;default:throw Xr().w37(a)}return c.l3a(t),On().v5q(s,u,_,o,null)}c36(){return this.t5q_1}p3i(){var r=ba().s5q_1;return[K(),r[1].y2(),K()]}}F(e).q3i=Hr,P(e,"$serializer",l,l,[Vr()]),wh=e}return wh}var u0;function _0(){return u0===l&&new(JF()),u0}var yh;function On(){if(yh===l){class e{constructor(r,t,n){ba();var a;if(t===l){for(var s=0,u=Array(4);s<4;){var _=s;u[_]=new(Bn())(_,0),s=s+1|0}a=u}else a=t;t=a,n=n===l?120:n,this.w4a_1=r,this.x4a_1=t,this.y4a_1=n}static v5q(r,t,n,a,s){ba(),(1&r)!==1&&rt(r,1,_0().t5q_1);var u=Ur(this);if(u.w4a_1=t,(r&2)===0){for(var _=u,o=0,c=Array(4);o<4;){var h=o;c[h]=new(Bn())(h,0),o=o+1|0}_.x4a_1=c}else u.x4a_1=n;return(r&4)===0?u.y4a_1=120:u.y4a_1=a,u}}p(e,"MusicalSequence",l,l,l,l,l,{0:_0}),yh=e}return yh}function ke(){return Ve(),uI}var uI;function o0(){return Ve(),_I}var _I;function c0(){return Ve(),oI}var oI;function h0(){return Ve(),cI}var cI;function f0(){return Ve(),hI}var hI;function v0(){return Ve(),fI}var fI;function p0(){return Ve(),vI}var vI;function d0(){return Ve(),pI}var pI;function WF(){return new(Va())(Y(At()),$r(Zp()))}function HF(){return new(Va())(Y(vn()),n0())}function VF(){return new(Va())(Y(On()),_0())}function YF(e){return e.l3s_1=!0,S}var gh;function ZF(){if(gh===l){class e{constructor(){m0=this;var r=this,t=lr(),n=ur(t,WF),a=lr(),s=ur(a,HF),u=lr();r.l4a_1=[n,s,ur(u,VF)];var _=this;_.m4a_1=Vq(l,YF)}q4u(r){var t=this.m4a_1,n=t.z3a(),a=Fs(n,J5(Y(Rn()),W5([]),!1)),s=j(a,V())?a:m(),u=t.r3r(s,r);return u}n4a(r){var t=this.m4a_1,n=t.z3a(),a=Fs(n,J5(Y(Rn()),W5([]),!1)),s=j(a,V())?a:m(),u=t.s3r(s,r);return u}}ar(e),gh=e}return gh}var m0;function on(){return m0===l&&new(ZF()),m0}var bh;function XF(){if(bh===l){class e{constructor(){w0=this;var r=new(Kr())("com.github.minigdx.tiny.sound.Music",this,3);r.a3i("instruments",!0),r.a3i("musicalBars",!0),r.a3i("sequences",!0),this.d5q_1=r}e5q(r,t){var n=this.d5q_1,a=r.k3a(n),s=on().l4a_1,u;if(a.i3c(n,0))u=!0;else{var _=t.o4a_1,o=[ke(),o0(),c0(),h0(),f0(),v0(),p0(),d0(),null,null,null,null,null,null,null,null];u=!E(_,o)}u&&a.c3c(n,0,s[0].y2(),t.o4a_1);var c;if(a.i3c(n,1))c=!0;else{for(var h=0,f=Array(32);h<32;){var v=h;f[v]=new(vn())(v,ke(),ke().d4s_1),h=h+1|0}c=!E(t.p4a_1,f)}c&&a.c3c(n,1,s[1].y2(),t.p4a_1);var d;if(a.i3c(n,2))d=!0;else{for(var g=0,b=Array(8);g<8;){var w=g;b[w]=new(On())(w),g=g+1|0}d=!E(t.q4a_1,b)}d&&a.c3c(n,2,s[2].y2(),t.q4a_1),a.l3a(n)}d36(r,t){return this.e5q(r,t instanceof Rn()?t:m())}e36(r){var t=this.d5q_1,n=!0,a=0,s=0,u=null,_=null,o=null,c=r.k3a(t),h=on().l4a_1;if(c.a3b())u=c.w3a(t,0,h[0].y2(),u),s=s|1,_=c.w3a(t,1,h[1].y2(),_),s=s|2,o=c.w3a(t,2,h[2].y2(),o),s=s|4;else for(;n;)switch(a=c.b3b(t),a){case-1:n=!1;break;case 0:u=c.w3a(t,0,h[0].y2(),u),s=s|1;break;case 1:_=c.w3a(t,1,h[1].y2(),_),s=s|2;break;case 2:o=c.w3a(t,2,h[2].y2(),o),s=s|4;break;default:throw Xr().w37(a)}return c.l3a(t),Rn().f5q(s,u,_,o,null)}c36(){return this.d5q_1}p3i(){var r=on().l4a_1;return[r[0].y2(),r[1].y2(),r[2].y2()]}}F(e).q3i=Hr,P(e,"$serializer",l,l,[Vr()]),bh=e}return bh}var w0;function uy(){return w0===l&&new(XF()),w0}var kh;function Rn(){if(kh===l){class e{constructor(r,t,n){on();var a;r===l?a=[ke(),o0(),c0(),h0(),f0(),v0(),p0(),d0(),null,null,null,null,null,null,null,null]:a=r,r=a;var s;if(t===l){for(var u=0,_=Array(32);u<32;){var o=u;_[o]=new(vn())(o,ke(),ke().d4s_1),u=u+1|0}s=_}else s=t;t=s;var c;if(n===l){for(var h=0,f=Array(8);h<8;){var v=h;f[v]=new(On())(v),h=h+1|0}c=f}else c=n;n=c,this.o4a_1=r,this.p4a_1=t,this.q4a_1=n}static f5q(r,t,n,a,s){on(),(0&r)!==0&&rt(r,0,uy().d5q_1);var u=Ur(this);if((r&1)===0){var _=u;_.o4a_1=[ke(),o0(),c0(),h0(),f0(),v0(),p0(),d0(),null,null,null,null,null,null,null,null]}else u.o4a_1=t;if((r&2)===0){for(var o=u,c=0,h=Array(32);c<32;){var f=c;h[f]=new(vn())(f,ke(),ke().d4s_1),c=c+1|0}o.p4a_1=h}else u.p4a_1=n;if((r&4)===0){for(var v=u,d=0,g=Array(8);d<8;){var b=d;g[b]=new(On())(b),d=d+1|0}v.q4a_1=g}else u.q4a_1=a;return u}}p(e,"Music",Rn,l,l,l,l,{0:uy}),kh=e}return kh}var _y;function Ve(){if(!_y){_y=!0;var e=Ts(),i=new Float32Array([1.1,.3,.031,.039,.345,.29,.0119]);uI=new(At())(0,"clarinet",e,.01,.1,.8,.5,i);var r=fn(),t=new Float32Array([1,.65,.7,.55,.45,.35,.3]);_I=new(At())(1,"violon",r,.1,.1,.9,.05,t);var n=Ms(),a=new Float32Array([1,.05,.01]);oI=new(At())(2,"obos",n,.1,.1,.9,.05,a);var s=bm(),u=new Float32Array([1]);cI=new(At())(3,"drum",s,.1,.1,.9,.05,u);var _=gm(),o=new Float32Array([1,.05,.01]);hI=new(At())(4,"custom1",_,.1,.1,.9,.05,o);var c=Ms(),h=new Float32Array([1,.05,.01]);fI=new(At())(5,"custom2",c,.1,.1,.9,.05,h);var f=Ts(),v=new Float32Array([1,.05,.01]);vI=new(At())(6,"custom3",f,.1,.1,.9,.05,v);var d=km(),g=new Float32Array([1,.05,.01]);pI=new(At())(7,"custom4",d,.1,.1,.9,.05,g)}}function*QF(e,i){var r=e.k4a_1.d4a(i);r===O()&&(r=yield r);for(var t=r,n=on().n4a(Zt(t)),a=n,s=0,u=Array(16);s<16;){var _=s,o;0<=_&&_r.b1b(n,a);return t.$arity=1,t}var Sh;function aD(){if(Sh===l){class e{constructor(r,t,n,a){this.v5s_1=r,this.w5s_1=t,this.x5s_1=n,this.y5s_1=a,this.z5s_1=new(zg()),this.a5t_1=new(ZE())(this.v5s_1,this.w5s_1),this.b5t_1=0,this.c5t_1=Sd(H5().q14())}m46(){return this.z5s_1}p46(){return new(XE())(this.v5s_1.clientWidth,this.v5s_1.clientHeight,this.v5s_1.clientWidth,this.v5s_1.clientHeight)}t46(r){var t=this.v5s_1.getContext("webgl2"),n=t instanceof WebGL2RenderingContext?t:null,a;if(n==null)throw fr().u3("The canvas context is expected to be a webgl2 context. WebGL2 doesn't seems to be supported by your browser. Please update to a compatible browser to run the game in WebGL2.");a=n;var s=a;return new(QE())(s)}v46(r){var t=window;t.requestAnimationFrame(n=>{var a=n*.001,s=a-this.b5t_1;return this.b5t_1=a,zd(this.c5t_1,l,l,nD(r,s)),r.x46(),this.v46(r),S})}q46(){return this.a5t_1}r46(){return this.a5t_1}q49(){return H5().m14_1}a54(r,t){return new(t9())(this.y5s_1+"/"+r)}c54(r,t){return new(c9())(this.y5s_1+"/"+r)}s46(r){var t=new(lI());return t.j5t(r),t}e54(r,t){return new(rD())(r,t,this.b54(r))}v4g(r,t){localStorage.setItem(this.x5s_1+"-"+r,t)}a4h(r){return localStorage.getItem(this.x5s_1+"-"+r)}x4u(r,t){return S}y4u(r){return S}}F(e).b54=s9,F(e).d54=l9,F(e).z44=a9,F(e).g45=i9,p(e,"WebGlPlatform",l,l,[u9()]),Sh=e}return Sh}function*iD(e,i,r){var t=e.a4a_1.c4a(r);if(t===O()&&(t=yield t),t){var n=e.a4a_1.d4a(r);n===O()&&(n=yield n);var a=i.l1a(n,r);a===O()&&(a=yield a);var s=mw(e.b4a_1.e4a_1,r);s===O()&&(s=yield s)}for(;;){if(e.a4a_1.f4a()){var u=e.a4a_1.d4a(r);u===O()&&(u=yield u);var _=i.l1a(u,r);_===O()&&(_=yield _)}var o=mw(e.b4a_1.e4a_1,r);o===O()&&(o=yield o)}return S}var zh;function sD(){if(zh===l){class e{constructor(r,t){this.a4a_1=r,this.b4a_1=t}g4a(r,t){return er(iD.bind(l,this,r),t)}oc(r,t){return this.g4a(r!=null&&j(r,ie())?r:m(),t)}}at(e,l,l,[1]),zh=e}return zh}function lD(e,i){var r=new(sD())(e,i),t=(n,a)=>r.g4a(n,a);return t.$arity=1,t}var qh;function dI(){if(qh===l){class e{constructor(){var r=this;cd(),r.e4a_1=T7(1,F7())}h4a(r){return o8(lD(r,this))}}p(e,"CommonVirtualFileSystem",dI,l,l,[2]),qh=e}return qh}var Ih;function zm(){if(Ih===l){class e extends i1(){static z49(r,t,n,a,s){var u=this.yc(a,s);Je(u,u.u45_1),u.q45_1=r,u.r45_1=t,u.s45_1=n;var _=u,o=Ba(Cd(u.s45_1,[` +`]),u.r45_1-1|0),c;o==null?c=null:c=$(D7(P7(o)?o:m()));var h=c;return _.t45_1=h??"",u}}p(e,"TinyException"),Ih=e}return Ih}function uD(e){var i=e.q1u_1,r;if(i==null)r=null;else{var t=mg(i,C(58)),n=an(O7(i,t+1|0)),a;$a(i,"@")?a="into the file "+i:a=wg(i).l1(n-1|0);var s=a;r=T(n,s)}return r}function _D(e){var i=uD(e);return i==null?null:i.xd_1}function oD(e){var i=e.message,r;if(i==null)return null;r=i;var t=r,n="\\[[\\s\\S]*]:(\\d+):.*",a=B7().mg(n),s=a.ng(t),u=s==null?null:s.fh(),_=u==null?null:u.l1(1);return _==null?null:r1(_)}function S1(e,i){var r=e.r1u_1,t;e.r1u_1!==-1?t=r:t=null;var n=t,a=n??_D(e),s=a??oD(e),u=s??-1,_=e.s1u_1,o=e.message;return zm().z49(_,u,i,o,e)}function oy(e,i){var r=0,t=i.length;if(r{for(var a=r.e1();a.f1();){var s=a.g1();s.w48_1==null&&(s.w48_1=this.x55_1.kt()),n.d5g_1.i5g(s.t48_1.x4c_1,s.u48_1,s.v48_1,s.w48_1)}return S})}y55(){this.x55_1.c5c()}z55(r,t){var n=r.z56_1,a=new Int8Array(262144),s=0,u=0;if(u<256)do{var _=u;u=u+1|0;var o=n[_%n.length|0],c=this.v55_1.n47().y4b(o),h=s;s=h+1|0,a[h]=c[0];var f=s;s=f+1|0,a[f]=c[1];var v=s;s=v+1|0,a[v]=c[2];var d=s;s=d+1|0,a[d]=c[3]}while(u<256);this.x55_1.c5c(),this.x55_1.r5c((y,b)=>{y.r5f_1.k5f(t.p59_1),y.u5f_1.j5c(t.q59_1),y.s5f_1.i5f(new Float32Array([this.v55_1.a47_1,this.v55_1.b47_1*-1])),y.t5f_1.i5f(new Float32Array([r.c5a().u48_1,r.c5a().v48_1])),b.c5g_1.f5f(a,256,256),b.e5g_1.l5g(new Int32Array([r.y56_1]));var w=r.c5a().w48_1;r:if(w==null){var x="Texture unit should be already initialized!";throw fr().u3($(x))}else break r;return b.d5g_1.q5c(w),S}),this.x55_1.s5c(),this.x55_1.rt(4,0,t.o59_1),this.w55_1.b55(t.o59_1),this.x55_1.t5c()}i56(){return S}}p(e,"SpriteBatchStage"),ff=e}return ff}Nm=new(CD());var vf;function kI(){if(vf===l){class e extends $m(){constructor(){super(Lm.x5c_1),this.d5d_1=this.a5b("a_shapeType").e5e(),this.e5d_1=this.a5b("a_shapeColor").e5e(),this.f5d_1=this.a5b("a_shapeFilled").e5e(),this.g5d_1=this.a5b("a_dither").e5e(),this.h5d_1=this.y5a("a_shapePosition").l5e(),this.i5d_1=this.q5a("a_shapeSize").m5e(),this.j5d_1=this.q5a("a_shapeParams12").m5e(),this.k5d_1=this.q5a("a_shapeParams34").m5e(),this.l5d_1=this.q5a("a_shapeParams56").m5e(),this.m5d_1=this.q5a("a_pos"),this.n5d_1=this.n5e("u_viewport"),this.o5d_1=this.r5a("v_fragPos"),this.p5d_1=this.o5e("v_dither",!0),this.q5d_1=this.b5b("v_shapePosition",!0),this.r5d_1=this.b5b("v_shapeSize",!0),this.s5d_1=this.o5e("v_shapeType",!0),this.t5d_1=this.o5e("v_shapeColor",!0),this.u5d_1=this.o5e("v_shapeFilled",!0),this.v5d_1=this.b5b("v_shapeParams12",!0),this.w5d_1=this.b5b("v_shapeParams34",!0),this.x5d_1=this.b5b("v_shapeParams56",!0)}}p(e,"VShader",kI),vf=e}return vf}var pf;function CI(){if(pf===l){class e extends Am(){constructor(){super(Lm.y5c_1),this.u5e_1=this.f5b("palette_colors"),this.v5e_1=this.q5a("v_fragPos"),this.w5e_1=this.z5a("v_dither",!0),this.x5e_1=this.w5a("v_shapePosition",!0),this.y5e_1=this.w5a("v_shapeSize",!0),this.z5e_1=this.z5a("v_shapeType",!0),this.a5f_1=this.z5a("v_shapeColor",!0),this.b5f_1=this.z5a("v_shapeFilled",!0),this.c5f_1=this.w5a("v_shapeParams12",!0),this.d5f_1=this.w5a("v_shapeParams34",!0),this.e5f_1=this.w5a("v_shapeParams56",!0)}}p(e,"FShader",CI),pf=e}return pf}var df;function SD(){if(df===l){class e{constructor(){this.x5c_1=`void main() { +}`}}ar(e),vf=e}return vf}var Fm,pf;function AD(){if(pf===l){class e{constructor(r,t,n){this.v55_1=t,this.w55_1=n,this.x55_1=new(Tm())(r,new(SI()),new(zI()))}x56(){this.x55_1.h5c()}y46(r){this.x55_1.i5c(),this.x55_1.x5c((t,n)=>{for(var a=r.e1();a.f1();){var s=a.g1();s.w48_1==null&&(s.w48_1=this.x55_1.kt()),n.j5g_1.o5g(s.t48_1.w4c_1,s.u48_1,s.v48_1,s.w48_1)}return S})}y55(){this.x55_1.i5c()}z55(r,t){var n=r.h57_1,a=new Int8Array(262144),s=0,u=0;if(u<256)do{var _=u;u=u+1|0;var o=n[_%n.length|0],c=this.v55_1.n47().y4b(o),h=s;s=h+1|0,a[h]=c[0];var f=s;s=f+1|0,a[f]=c[1];var v=s;s=v+1|0,a[v]=c[2];var d=s;s=d+1|0,a[d]=c[3]}while(u<256);this.x55_1.i5c(),this.x55_1.x5c((g,b)=>{g.x5f_1.q5f(t.v59_1),g.a5g_1.p5c(t.w59_1),g.y5f_1.o5f(new Float32Array([this.v55_1.a47_1,this.v55_1.b47_1*-1])),g.z5f_1.o5f(new Float32Array([r.i5a().u48_1,r.i5a().v48_1])),b.i5g_1.l5f(a,256,256),b.k5g_1.r5g(new Int32Array([r.g57_1]));var w=r.i5a().w48_1;r:if(w==null){var x="Texture unit should be already initialized!";throw fr().u3($(x))}else break r;return b.j5g_1.w5c(w),S}),this.x55_1.y5c(),this.x55_1.rt(4,0,t.u59_1),this.w55_1.a55(t.u59_1),this.x55_1.z5c()}i56(){return S}}p(e,"SpriteBatchStage"),pf=e}return pf}Fm=new($D());var df;function qI(){if(df===l){class e extends jm(){constructor(){super(Dm.d5d_1),this.j5d_1=this.g5b("a_shapeType").k5e(),this.k5d_1=this.g5b("a_shapeColor").k5e(),this.l5d_1=this.g5b("a_shapeFilled").k5e(),this.m5d_1=this.g5b("a_dither").k5e(),this.n5d_1=this.e5b("a_shapePosition").r5e(),this.o5d_1=this.w5a("a_shapeSize").s5e(),this.p5d_1=this.w5a("a_shapeParams12").s5e(),this.q5d_1=this.w5a("a_shapeParams34").s5e(),this.r5d_1=this.w5a("a_shapeParams56").s5e(),this.s5d_1=this.w5a("a_pos"),this.t5d_1=this.t5e("u_viewport"),this.u5d_1=this.x5a("v_fragPos"),this.v5d_1=this.u5e("v_dither",!0),this.w5d_1=this.h5b("v_shapePosition",!0),this.x5d_1=this.h5b("v_shapeSize",!0),this.y5d_1=this.u5e("v_shapeType",!0),this.z5d_1=this.u5e("v_shapeColor",!0),this.a5e_1=this.u5e("v_shapeFilled",!0),this.b5e_1=this.h5b("v_shapeParams12",!0),this.c5e_1=this.h5b("v_shapeParams34",!0),this.d5e_1=this.h5b("v_shapeParams56",!0)}}p(e,"VShader",qI),df=e}return df}var mf;function II(){if(mf===l){class e extends Mm(){constructor(){super(Dm.e5d_1),this.a5f_1=this.l5b("palette_colors"),this.b5f_1=this.w5a("v_fragPos"),this.c5f_1=this.f5b("v_dither",!0),this.d5f_1=this.c5b("v_shapePosition",!0),this.e5f_1=this.c5b("v_shapeSize",!0),this.f5f_1=this.f5b("v_shapeType",!0),this.g5f_1=this.f5b("v_shapeColor",!0),this.h5f_1=this.f5b("v_shapeFilled",!0),this.i5f_1=this.c5b("v_shapeParams12",!0),this.j5f_1=this.c5b("v_shapeParams34",!0),this.k5f_1=this.c5b("v_shapeParams56",!0)}}p(e,"FShader",II),mf=e}return mf}var wf;function ED(){if(wf===l){class e{constructor(){this.d5d_1=`void main() { // Scale the rectangle (mutiply by the size) then translate (add the offset) vec2 vertex_pos = ((a_pos * a_shapeSize) + vec2(a_shapePosition.x, a_shapePosition.y)); // Convert the pixel coordinates into NDC coordinates @@ -133,7 +133,7 @@ void main() { v_shapeParams12 = a_shapeParams12; v_shapeParams34 = a_shapeParams34; v_shapeParams56 = a_shapeParams56; -}`,this.y5c_1=`#define T_RECT 0 +}`,this.e5d_1=`#define T_RECT 0 #define T_TRIANGLE 1 #define T_CIRCLE 2 #define T_LINE 3 @@ -339,19 +339,19 @@ void main() { fragColor = vec4(color.rgb, 1.0); } -}`}}ar(e),df=e}return df}var Lm,mf;function zD(){if(mf===l){class e{constructor(r,t,n){this.j56_1=t,this.k56_1=n,this.l56_1=new(Em())(r,new(kI()),new(CI()));var a=this;a.m56_1=new Float32Array([0,0,1,0,1,1,1,1,0,1,0,0])}p56(){this.l56_1.b5c()}y55(){this.l56_1.c5c();var r=new Int8Array(262144),t=0,n=0;if(n<256)do{var a=n;n=n+1|0;var s=this.j56_1.n47().y4b(a),u=t;t=u+1|0,r[u]=s[0];var _=t;t=_+1|0,r[_]=s[1];var o=t;t=o+1|0,r[o]=s[2];var c=t;t=c+1|0,r[c]=s[3]}while(n<256);this.l56_1.r5c((h,f)=>(h.m5d_1.j5c(this.m56_1),f.u5e_1.f5f(r,256,256),S))}n56(r,t){this.l56_1.c5c(),this.l56_1.r5c((n,a)=>(n.n5d_1.i5f(new Float32Array([this.j56_1.a47_1,this.j56_1.b47_1*-1])),n.g5d_1.j5f(t.f59_1),n.d5d_1.j5f(t.z58_1),n.e5d_1.j5f(t.a59_1),n.f5d_1.j5f(t.b59_1),n.h5d_1.k5f(t.x58_1),n.i5d_1.j5c(t.y58_1),n.j5d_1.j5c(t.c59_1),n.k5d_1.j5c(t.d59_1),n.l5d_1.j5c(t.e59_1),S)),this.l56_1.s5c(),this.l56_1.st(4,0,6,t.w58_1),this.k56_1.b55(6),this.l56_1.t5c()}i56(){return S}}p(e,"PrimitiveBatchStage"),mf=e}return mf}Lm=new(SD());var Le=Math.imul;function hi(e){var i=e.v56_1;if(i!=null)return i;st("windowManager")}var wf;function xI(){if(wf===l){class e extends $m(){constructor(){super(jm.d5a_1),this.j5a_1=this.q5a("position"),this.k5a_1=this.q5a("uvs"),this.l5a_1=this.r5a("viewport")}}p(e,"VShader",xI),wf=e}return wf}var gf;function SI(){if(gf===l){class e extends Am(){constructor(){super(jm.e5a_1),this.l5b_1=this.q5a("viewport"),this.m5b_1=this.e5b("frame_buffer",!0)}}p(e,"FShader",SI),gf=e}return gf}var yf;function qD(){if(yf===l){class e{constructor(){this.d5a_1=`void main() { +}`}}ar(e),wf=e}return wf}var Dm,yf;function ND(){if(yf===l){class e{constructor(r,t,n){this.j56_1=t,this.k56_1=n,this.l56_1=new(Tm())(r,new(qI()),new(II()));var a=this;a.m56_1=new Float32Array([0,0,1,0,1,1,1,1,0,1,0,0])}x56(){this.l56_1.h5c()}y55(){this.l56_1.i5c();var r=new Int8Array(262144),t=0,n=0;if(n<256)do{var a=n;n=n+1|0;var s=this.j56_1.n47().y4b(a),u=t;t=u+1|0,r[u]=s[0];var _=t;t=_+1|0,r[_]=s[1];var o=t;t=o+1|0,r[o]=s[2];var c=t;t=c+1|0,r[c]=s[3]}while(n<256);this.l56_1.x5c((h,f)=>(h.s5d_1.p5c(this.m56_1),f.a5f_1.l5f(r,256,256),S))}n56(r,t){this.l56_1.i5c(),this.l56_1.x5c((n,a)=>(n.t5d_1.o5f(new Float32Array([this.j56_1.a47_1,this.j56_1.b47_1*-1])),n.m5d_1.p5f(t.l59_1),n.j5d_1.p5f(t.f59_1),n.k5d_1.p5f(t.g59_1),n.l5d_1.p5f(t.h59_1),n.n5d_1.q5f(t.d59_1),n.o5d_1.p5c(t.e59_1),n.p5d_1.p5c(t.i59_1),n.q5d_1.p5c(t.j59_1),n.r5d_1.p5c(t.k59_1),S)),this.l56_1.y5c(),this.l56_1.st(4,0,6,t.c59_1),this.k56_1.a55(6),this.l56_1.z5c()}i56(){return S}}p(e,"PrimitiveBatchStage"),yf=e}return yf}Dm=new(ED());var Le=Math.imul;function pi(e){var i=e.d57_1;if(i!=null)return i;st("windowManager")}var gf;function $I(){if(gf===l){class e extends jm(){constructor(){super(Pm.j5a_1),this.p5a_1=this.w5a("position"),this.q5a_1=this.w5a("uvs"),this.r5a_1=this.x5a("viewport")}}p(e,"VShader",$I),gf=e}return gf}var bf;function AI(){if(bf===l){class e extends Mm(){constructor(){super(Pm.k5a_1),this.r5b_1=this.w5a("viewport"),this.s5b_1=this.k5b("frame_buffer",!0)}}p(e,"FShader",AI),bf=e}return bf}var kf;function LD(){if(kf===l){class e{constructor(){this.j5a_1=`void main() { gl_Position = vec4(position, 0.0, 1.0); viewport = uvs; -}`,this.e5a_1=`void main() { +}`,this.k5a_1=`void main() { fragColor = texture(frame_buffer, viewport); -}`}}ar(e),yf=e}return yf}var jm,bf;function ID(){if(bf===l){class e{constructor(r,t,n){this.q56_1=t,this.r56_1=n;var a=this;a.s56_1=new Float32Array([2,-1,0,1,0,-1]);var s=this;s.t56_1=new Float32Array([3,-1,-1,3,-1,-1]),this.u56_1=new(Em())(r,new(xI()),new(SI()))}v46(r){this.u56_1.b5c(),this.v56_1=r}e58(r){this.u56_1.c5c(),this.u56_1.au(36160,null),this.u56_1.gt(Le(Le(this.q56_1.j47_1.xd_1,this.q56_1.h47_1),hi(this).k54_1),Le(Le(this.q56_1.j47_1.yd_1,this.q56_1.h47_1),hi(this).l54_1),Le(Le(this.q56_1.a47_1,this.q56_1.h47_1),hi(this).k54_1),Le(Le(this.q56_1.b47_1,this.q56_1.h47_1),hi(this).l54_1)),this.u56_1.it(0,0,0,1),this.u56_1.ht(16640),this.u56_1.r5c((n,a)=>(n.j5a_1.j5c(this.t56_1),n.k5a_1.j5c(this.s56_1),a.m5b_1.q5c(r),S)),this.u56_1.s5c();var t=3;this.u56_1.rt(4,0,t),this.r56_1.b55(t),this.r56_1.c55(),this.u56_1.t5c()}}p(e,"FrameBufferStage"),bf=e}return bf}jm=new(qD());var kf;function $D(){if(kf===l){class e{constructor(){this.h58_1=1e3,this.i58_1=100}}ar(e),kf=e}return kf}var Cf;function AD(){if(Cf===l){class e extends Ta(){constructor(r,t){t===l&&(t={}),t.l58_1=r,super(1e3,t)}l4d(){return this.l58_1.a56_1()}m58(r){r.b1h()}r4d(r){return this.m58(r!=null&&j(r,km())?r:m())}}p(e),Cf=e}return Cf}var xf;function ED(){if(xf===l){class e extends Ta(){constructor(r,t){t===l&&(t={}),t.p58_1=r,super(1e3,t)}l4d(){return this.p58_1.b56_1()}q58(r){r.b1h()}r4d(r){return this.q58(r!=null&&j(r,Cm())?r:m())}}p(e),xf=e}return xf}var Sf;function ND(){if(Sf===l){class e extends Ta(){constructor(r,t){t===l&&(t={}),t.t58_1=r,super(100,t)}l4d(){return this.t58_1.c56_1()}u58(r){r.b1h()}r4d(r){return this.u58(r!=null&&j(r,Sm())?r:m())}}p(e),Sf=e}return Sf}var zf;function cg(){if(zf===l){class e{constructor(r,t,n){this.a56_1=r,this.b56_1=t,this.c56_1=n;var a=this;a.d56_1=zr().va();var s=this;s.e56_1=new(AD())(this);var u=this;u.f56_1=new(ED())(this);var _=this;_.g56_1=new(ND())(this)}w56(){return this.e56_1.u4d()}d57(){return this.f56_1.u4d()}o57(r,t){var n=this.d56_1,a=n.b3(r),s;if(a==null){var u=N().p1();n.f3(r,u),s=u}else s=a;var _=s,o=_y(_),c;if(o==null)c=null;else{var h;o.f58()?h=o:h=null,c=h}var f=c,v;if(f==null){var d=this.g56_1.u4d();_.c1(d),v=d}else v=f;var y=v;y.g58(t),this.f56_1.v4d(t)}h56(r){for(var t=this.d56_1.e3().e1();t.f1();)for(var n=t.g1(),a=n.x2(),s=n.y2(),u=s.e1();u.f1();){var _=u.g1();r(a,_)}this.v2()}v2(){this.g56_1.w4d(T7(this.d56_1.d3())),this.e56_1.w4d(this.d56_1.c3()),this.d56_1.v2()}}p(e,"BatchManager"),zf=e}return zf}new($D());var me=Math.imul,qf;function Mm(){if(qf===l){class e{constructor(r,t,n){n=n===l?1:n,this.u4c_1=r,this.v4c_1=t,this.w4c_1=n;for(var a=this,s=0,u=me(me(this.u4c_1,this.v4c_1),this.w4c_1),_=new Int8Array(u);s"x ("+r+") has to be between 0 and "+this.u4c_1+" (excluded)");var u=sn,_=0<=t?t"y ("+t+") has to be between 0 and "+this.v4c_1+" (excluded)");var o=sn,c=n.length===this.w4c_1;o.c4c(c,()=>"the assigned pixel needs to conform the pixel format ("+this.w4c_1+")");for(var h=Math.max(0,r),f=this.u4c_1-1|0,v=Math.min(h,f),d=Math.max(0,t),y=this.v4c_1-1|0,b=Math.min(d,y),w=me(v+me(b,this.u4c_1)|0,this.w4c_1),x=0,q=0,k=n.length;q=0&&r"x ("+r+") has to be between 0 and "+this.u4c_1+" (excluded)");var s=sn,u=t>=0&&t"y ("+t+") has to be between 0 and "+this.v4c_1+" (excluded)");var _=me(r+me(t,this.u4c_1)|0,this.w4c_1);switch(this.w4c_1){case 4:this.z4c_1[0]=this.x4c_1[_],this.z4c_1[1]=this.x4c_1[_+1|0],this.z4c_1[2]=this.x4c_1[_+2|0],this.z4c_1[3]=this.x4c_1[_+3|0];break;case 3:this.z4c_1[0]=this.x4c_1[_],this.z4c_1[1]=this.x4c_1[_+1|0],this.z4c_1[2]=this.x4c_1[_+2|0];break;case 1:this.z4c_1[0]=this.x4c_1[_];break}return this.z4c_1}toString(){for(var r=me(this.u4c_1,this.w4c_1),t=0,n=0,a=On().na(this.y4c_1+this.v4c_1|0);t=r&&(n=0,a.ja(` -`));return a.toString()}}p(e,"PixelArray"),qf=e}return qf}var If;function zI(){if(If===l){class e{constructor(r,t){this.g4b_1=r,this.h4b_1=t,this.i4b_1=0,this.j4b_1=this.g4b_1,this.k4b_1=0,this.l4b_1=this.h4b_1}m4b(r,t,n,a){var s=this,u=r+n|0,_=Math.min(r,u);s.i4b_1=Math.max(0,_);var o=this,c=r+n|0,h=Math.max(r,c),f=this.g4b_1;o.j4b_1=Math.min(h,f);var v=this,d=t+a|0,y=Math.min(t,d);v.k4b_1=Math.max(0,y);var b=this,w=t+a|0,x=Math.max(t,w),q=this.h4b_1;b.l4b_1=Math.min(x,q)}b1h(){this.i4b_1=0,this.j4b_1=this.g4b_1,this.k4b_1=0,this.l4b_1=this.h4b_1}equals(r){var t=r instanceof zI()?r:null,n;if(t==null)return!1;n=t;var a=n;return this.g4b_1===a.g4b_1&&this.h4b_1===a.h4b_1&&this.i4b_1===a.i4b_1&&this.j4b_1===a.j4b_1&&this.k4b_1===a.k4b_1&&this.l4b_1===a.l4b_1}}p(e,"Clipper"),If=e}return If}var $f;function LD(){if($f===l){class e{constructor(r){this.d4c_1=r;for(var t=this,n=0,a=this.d4c_1.w4b_1,s=Array(a);n(e.h55_1.z55(i,r),S)),e.h55_1.i56(),e.i55_1.y55(),e.o55_1.h56((i,r)=>(e.i55_1.n56(i,r),S)),e.i55_1.i56(),e.d55_1.xs(2929),e.d55_1.au(36160,null),e.l55_1=1,e.k55_1=null}function je(e){e.m55_1=null}function Xe(e,i){var r=i==null?null:i.y48_1,t=e.k55_1;E(r,t==null?null:t.y48_1)||(e.l55_1=e.l55_1-1e-4,e.k55_1=i)}var Lf;function TD(){if(Lf===l){class e{constructor(){this.o56_1=1e-4}}ar(e),Lf=e}return Lf}function FD(e){return m0(e),e.d55_1.au(36160,e.u55().s55_1),e.d55_1.iu(0,0,e.e55_1.a47_1,e.e55_1.b47_1,6408,5121,e.u55().t55_1),e.d55_1.au(36160,null),new(iD())(e.u55().t55_1,e.e55_1)}function DD(){return new(p0())}function PD(){return new(xm())}function BD(){return new(hI())}function OD(){return fI}function RD(){return new(zm())}function UD(){return new(vI())}var jf;function KD(){if(jf===l){class e{constructor(r,t,n){this.d55_1=r,this.e55_1=t,this.f55_1=n,this.h55_1=new(xD())(this.d55_1,this.e55_1,this.f55_1),this.i55_1=new(zD())(this.d55_1,this.e55_1,this.f55_1),this.j55_1=new(ID())(this.d55_1,this.e55_1,this.f55_1),this.k55_1=null,this.l55_1=1,this.m55_1=null;var a=this,s=DD,u=PD;a.n55_1=new(cg())(s,u,BD);var _=this,o=OD,c=RD;_.o55_1=new(cg())(o,c,UD),this.p55_1=new(jD())(this.e55_1.a47_1,this.e55_1.b47_1,this.e55_1.n47()),this.q55_1=MD(this)}u55(){var r=this.g55_1;if(r!=null)return r;st("frameBufferContext")}v46(r){this.h55_1.p56(),this.i55_1.p56(),this.j55_1.v46(r);var t=d0().yr(fg(fg(this.e55_1.a47_1,this.e55_1.b47_1),4)),n=this.d55_1.fu();this.d55_1.eu(36161,n),this.d55_1.hu(36161,35056,this.e55_1.a47_1,this.e55_1.b47_1);var a=this.d55_1.bu();this.d55_1.au(36160,a),this.d55_1.gu(36160,36128,36161,n),this.d55_1.gu(36160,36096,36161,n);var s=this.d55_1.kt();if(this.d55_1.nt(3553,s),this.d55_1.lt(3553,0,6408,this.e55_1.a47_1,this.e55_1.b47_1,0,6408,5121,t),this.d55_1.ot(3553,10241,9728),this.d55_1.ot(3553,10240,9728),this.d55_1.du(36160,36064,3553,s,0),this.d55_1.cu(36160)!==36053)throw fr().u3("Framebuffer is NOT complete!");this.g55_1=new(II())(s,a,t),this.d55_1.ws(3042),this.d55_1.xs(3089),this.d55_1.nt(3553,null),this.d55_1.au(36160,null)}i50(r,t,n,a,s,u,_,o,c,h){je(this),Xe(this,r);var f=this.n55_1.w56();f.c57(r,this.p55_1.q4c_1.f4c_1,this.q55_1[t],this.p55_1.r4c_1,this.p55_1.p4c_1);var v=this.n55_1.d57();v.n57(n,a,s,u,_,o,c,h,this.l55_1),this.n55_1.o57(f,v)}o4o(r,t,n,a,s,u,_,o,c){je(this),Xe(this,r);var h=this.n55_1.w56();h.c57(r,this.p55_1.q4c_1.f4c_1,this.p55_1.q4c_1.e4c_1,this.p55_1.r4c_1,this.p55_1.p4c_1);var f=this.n55_1.d57();f.n57(t,n,a,s,u,_,o,c,this.l55_1),this.n55_1.o57(h,f)}s4w(r,t,n,a,s,u){je(this),Xe(this,null);var _=this.o55_1.w56(),o=this.o55_1.d57(),c=this.p55_1.q4c_1.f4c_1,h=this.l55_1,f=o.z57(r,t,n,a,s,c,u,h);this.o55_1.o57(_,f)}n4w(r,t,n,a,s){je(this),Xe(this,null);var u=this.o55_1.w56(),_=this.o55_1.d57(),o=this.p55_1.q4c_1.f4c_1,c=this.l55_1,h=_.a58(r,t,n,a,o,s,c);this.o55_1.o57(u,h)}b4x(r,t,n,a,s){je(this),Xe(this,null);var u=this.o55_1.w56(),_=this.o55_1.d57(),o=this.p55_1.q4c_1.f4c_1,c=this.l55_1,h=_.b58(r,t,n,a,o,s,c);this.o55_1.o57(u,h)}e4i(r,t,n){je(this),Xe(this,null);var a=this.o55_1.w56(),s=this.o55_1.d57(),u=this.p55_1.q4c_1.f4c_1,_=this.l55_1,o=s.c58(r,t,u,n,_);this.o55_1.o57(a,o)}l4x(r,t,n,a,s,u,_,o){je(this),Xe(this,null);var c=this.o55_1.w56(),h=this.o55_1.d57().d58(r,t,n,a,s,u,_,this.p55_1.q4c_1.f4c_1,o,this.l55_1);this.o55_1.o57(c,h)}y46(){m0(this),this.j55_1.e58(this.u55().r55_1)}b44(r){this.h55_1.b44(r)}j4i(){var r=this.m55_1,t=r??FD(this);return this.m55_1=t,t}a4j(r){var t=this.p55_1.q4c_1.f4c_1;return this.p55_1.q4c_1.f4c_1=r,t}ht(r){je(this),this.n55_1.v2(),this.o55_1.v2(),this.d55_1.au(36160,this.u55().s55_1);var t=this.e55_1.n47().y4b(r),n=t[0],a=t[1],s=t[2],u=Mr(n),_=(Pr(u)&255)/255,o=Mr(a),c=(Pr(o)&255)/255,h=Mr(s),f=Pr(h)&255;this.d55_1.it(_,c,f/255,1),this.d55_1.ht(16640),this.d55_1.au(36160,null)}r4i(){this.p55_1.q4c_1.g4c()}s4i(r,t){this.p55_1.q4c_1.h4c(r,t)}v4i(r,t){this.p55_1.r4c_1.k4c(r,t)}o4h(){return T(this.p55_1.r4c_1.i4c_1,this.p55_1.r4c_1.j4c_1)}u4i(){this.p55_1.r4c_1.k4c(0,0)}g4j(r,t,n,a){this.p55_1.p4c_1.m4b(r,t,n,a)}f4j(){this.p55_1.p4c_1.b1h()}v4h(r){switch(m0(this),this.d55_1.au(36160,this.u55().s55_1),r.i3_1){case 0:this.d55_1.xs(2960),this.d55_1.ws(3042),this.d55_1.wt(0),this.d55_1.jt(770,771),this.d55_1.xt(!0,!0,!0,!0);break;case 1:this.d55_1.xs(2960),this.d55_1.ws(3042),this.d55_1.vt(0,1,0,771),this.d55_1.xt(!0,!0,!0,!0);break;case 2:this.d55_1.ws(2960),this.d55_1.xs(3042),this.d55_1.wt(255),this.d55_1.ht(1024),this.d55_1.zt(519,1,255),this.d55_1.yt(7680,7680,7681),this.d55_1.xt(!1,!1,!1,!1);break;case 3:this.d55_1.ws(2960),this.d55_1.ws(3042),this.d55_1.wt(0),this.d55_1.zt(514,1,255),this.d55_1.yt(7680,7680,7680),this.d55_1.xt(!0,!0,!0,!0),this.d55_1.jt(770,771);break;case 4:this.d55_1.ws(2960),this.d55_1.ws(3042),this.d55_1.wt(0),this.d55_1.zt(517,1,255),this.d55_1.yt(7680,7680,7680),this.d55_1.xt(!0,!0,!0,!0),this.d55_1.jt(770,771);break;default:gt();break}this.d55_1.au(36160,null)}}p(e,"DefaultVirtualFrameBuffer"),jf=e}return jf}new(TD());var $I,AI,EI,NI,LI,jI,MI,vg;function kn(){if(vg)return S;vg=!0,$I=new(Me())("BOOT_GAMESCRIPT",0),AI=new(Me())("GAME_GAMESCRIPT",1),EI=new(Me())("ENGINE_GAMESCRIPT",2),NI=new(Me())("BOOT_SPRITESHEET",3),LI=new(Me())("GAME_SPRITESHEET",4),jI=new(Me())("GAME_LEVEL",5),MI=new(Me())("GAME_SOUND",6),new(Me())("PRIMITIVE_SPRITESHEET",7)}var Mf;function Me(){if(Mf===l){class e extends Kt(){}p(e,"ResourceType"),Mf=e}return Mf}function Fs(){return kn(),$I}function GD(){return kn(),AI}function Ds(){return kn(),EI}function pg(){return kn(),NI}function Tm(){return kn(),LI}function TI(){return kn(),jI}function JD(){return kn(),MI}var Tf;function Va(){if(Tf===l){class e{}Ar(e,"GameResource"),Tf=e}return Tf}var ta=Math.imul,Ff;function S1(){if(Ff===l){class e{constructor(r,t,n,a,s,u){s=s===l?JD():s,u=u===l?!1:u,this.s4u_1=r,this.t4u_1=t,this.u4u_1=n,this.v4u_1=a,this.w4u_1=s,this.x4u_1=u}f48(){return this.s4u_1}v47(){return this.t4u_1}b48(){return this.u4u_1}u47(){return this.w4u_1}w47(r){this.x4u_1=r}e48(){return this.x4u_1}toString(){return"Sound(version="+this.s4u_1+", index="+this.t4u_1+", name="+this.u4u_1+", data="+$(this.v4u_1)+", type="+this.w4u_1.toString()+", reload="+this.x4u_1+")"}hashCode(){var r=this.s4u_1;return r=ta(r,31)+this.t4u_1|0,r=ta(r,31)+br(this.u4u_1)|0,r=ta(r,31)+V(this.v4u_1)|0,r=ta(r,31)+this.w4u_1.hashCode()|0,r=ta(r,31)+wa(this.x4u_1)|0,r}equals(r){return this===r?!0:!(!(r instanceof S1())||this.s4u_1!==r.s4u_1||this.t4u_1!==r.t4u_1||this.u4u_1!==r.u4u_1||!E(this.v4u_1,r.v4u_1)||!this.w4u_1.equals(r.w4u_1)||this.x4u_1!==r.x4u_1)}}p(e,"Sound",l,l,[Va()]),Ff=e}return Ff}var U=Math.imul,FI,DI,PI,BI;function WD(){return[HP(),VP(),YP(),ZP()]}var dg;function z1(){if(dg)return S;dg=!0,FI=new(fi())("LinearHorizontal",0),DI=new(fi())("LinearVertical",1),PI=new(fi())("Free",2),BI=new(fi())("GridVania",3)}var Df;function fi(){if(Df===l){class e extends Kt(){}p(e,"WorldLayout"),Df=e}return Df}function HD(){return hm("com.github.minigdx.tiny.resources.ldtk.WorldLayout",WD())}function VD(){return new(Cr())(C0())}function YD(e){return e.y3s_1=!0,e.l3s_1=!0,e.q3s_1="__type",S}var Pf;function ZD(){if(Pf===l){class e{constructor(){w0=this;var r=this,t=lr(),n=ur(t,HD),a=lr();r.h5i_1=[null,n,ur(a,VD)]}i5i(r){var t=Kq(l,YD);return t.s3r(this.v3t(),r)}v3t(){return y0()}}ar(e),Pf=e}return Pf}var w0;function ma(){return w0===l&&new(ZD()),w0}var Bf;function XD(){if(Bf===l){class e{constructor(){g0=this;var r=new(Kr())("com.github.minigdx.tiny.resources.ldtk.Ldtk",this,3);r.a3i("iid",!1),r.a3i("worldLayout",!1),r.a3i("levels",!1),this.q5l_1=r}r5l(r,t){var n=this.q5l_1,a=r.k3a(n),s=ma().h5i_1;a.a3c(n,0,t.m4n_1),a.c3c(n,1,s[1].y2(),t.n4n_1),a.c3c(n,2,s[2].y2(),t.o4n_1),a.l3a(n)}d36(r,t){return this.r5l(r,t instanceof Ps()?t:m())}e36(r){var t=this.q5l_1,n=!0,a=0,s=0,u=null,_=null,o=null,c=r.k3a(t),h=ma().h5i_1;if(c.a3b())u=c.u3a(t,0),s=s|1,_=c.w3a(t,1,h[1].y2(),_),s=s|2,o=c.w3a(t,2,h[2].y2(),o),s=s|4;else for(;n;)switch(a=c.b3b(t),a){case-1:n=!1;break;case 0:u=c.u3a(t,0),s=s|1;break;case 1:_=c.w3a(t,1,h[1].y2(),_),s=s|2;break;case 2:o=c.w3a(t,2,h[2].y2(),o),s=s|4;break;default:throw Xr().w37(a)}return c.l3a(t),Ps().s5l(s,u,_,o,null)}c36(){return this.q5l_1}p3i(){var r=ma().h5i_1;return[qr(),r[1].y2(),r[2].y2()]}}F(e).q3i=Hr,P(e,"$serializer",l,l,[Vr()]),Bf=e}return Bf}var g0;function y0(){return g0===l&&new(XD()),g0}var Of;function Ps(){if(Of===l){class e{toString(){return"Ldtk(iid="+this.m4n_1+", worldLayout="+this.n4n_1.toString()+", levels="+$(this.o4n_1)+")"}hashCode(){var r=br(this.m4n_1);return r=U(r,31)+this.n4n_1.hashCode()|0,r=U(r,31)+V(this.o4n_1)|0,r}equals(r){return this===r?!0:!(!(r instanceof Ps())||this.m4n_1!==r.m4n_1||!this.n4n_1.equals(r.n4n_1)||!E(this.o4n_1,r.o4n_1))}static s5l(r,t,n,a,s){ma(),(7&r)!==7&&rt(r,7,y0().q5l_1);var u=Ur(this);return u.m4n_1=t,u.n4n_1=n,u.o4n_1=a,u}}p(e,"Ldtk",l,l,l,l,l,{0:y0}),Of=e}return Of}function QD(){return new(Cr())(Fm.v3t())}function rP(){return new(Cr())(q1())}var Rf;function tP(){if(Rf===l){class e{constructor(){b0=this;var r=this,t=lr(),n=ur(t,QD),a=lr();r.t5l_1=[null,null,null,null,n,ur(a,rP)]}}ar(e),Rf=e}return Rf}var b0;function xi(){return b0===l&&new(tP()),b0}var Uf;function eP(){if(Uf===l){class e{constructor(){k0=this;var r=new(Kr())("com.github.minigdx.tiny.resources.ldtk.Level",this,6);r.a3i("identifier",!1),r.a3i("iid",!1),r.a3i("worldX",!1),r.a3i("worldY",!1),r.a3i("layerInstances",!1),r.a3i("fieldInstances",!1),this.u5l_1=r}v5l(r,t){var n=this.u5l_1,a=r.k3a(n),s=xi().t5l_1;a.a3c(n,0,t.y4l_1),a.a3c(n,1,t.z4l_1),a.v3b(n,2,t.a4m_1),a.v3b(n,3,t.b4m_1),a.c3c(n,4,s[4].y2(),t.c4m_1),a.c3c(n,5,s[5].y2(),t.d4m_1),a.l3a(n)}d36(r,t){return this.v5l(r,t instanceof x0()?t:m())}e36(r){var t=this.u5l_1,n=!0,a=0,s=0,u=null,_=null,o=0,c=0,h=null,f=null,v=r.k3a(t),d=xi().t5l_1;if(v.a3b())u=v.u3a(t,0),s=s|1,_=v.u3a(t,1),s=s|2,o=v.p3a(t,2),s=s|4,c=v.p3a(t,3),s=s|8,h=v.w3a(t,4,d[4].y2(),h),s=s|16,f=v.w3a(t,5,d[5].y2(),f),s=s|32;else for(;n;)switch(a=v.b3b(t),a){case-1:n=!1;break;case 0:u=v.u3a(t,0),s=s|1;break;case 1:_=v.u3a(t,1),s=s|2;break;case 2:o=v.p3a(t,2),s=s|4;break;case 3:c=v.p3a(t,3),s=s|8;break;case 4:h=v.w3a(t,4,d[4].y2(),h),s=s|16;break;case 5:f=v.w3a(t,5,d[5].y2(),f),s=s|32;break;default:throw Xr().w37(a)}return v.l3a(t),x0().w5l(s,u,_,o,c,h,f,null)}c36(){return this.u5l_1}p3i(){var r=xi().t5l_1;return[qr(),qr(),K(),K(),r[4].y2(),r[5].y2()]}}F(e).q3i=Hr,P(e,"$serializer",l,l,[Vr()]),Uf=e}return Uf}var k0;function C0(){return k0===l&&new(eP()),k0}var Kf;function x0(){if(Kf===l){class e{toString(){return"Level(identifier="+this.y4l_1+", iid="+this.z4l_1+", worldX="+this.a4m_1+", worldY="+this.b4m_1+", layerInstances="+$(this.c4m_1)+", fieldInstances="+$(this.d4m_1)+")"}hashCode(){var r=br(this.y4l_1);return r=U(r,31)+br(this.z4l_1)|0,r=U(r,31)+this.a4m_1|0,r=U(r,31)+this.b4m_1|0,r=U(r,31)+V(this.c4m_1)|0,r=U(r,31)+V(this.d4m_1)|0,r}equals(r){return this===r?!0:!(!(r instanceof x0())||this.y4l_1!==r.y4l_1||this.z4l_1!==r.z4l_1||this.a4m_1!==r.a4m_1||this.b4m_1!==r.b4m_1||!E(this.c4m_1,r.c4m_1)||!E(this.d4m_1,r.d4m_1))}static w5l(r,t,n,a,s,u,_,o){xi(),(63&r)!==63&&rt(r,63,C0().u5l_1);var c=Ur(this);return c.y4l_1=t,c.z4l_1=n,c.a4m_1=a,c.b4m_1=s,c.c4m_1=u,c.d4m_1=_,c}}p(e,"Level",l,l,l,l,l,{0:C0}),Kf=e}return Kf}function nP(){return new(Cr())(K())}function aP(){return new(Cr())(Bn())}function iP(){return new(Cr())(ue())}function sP(){return new(Cr())(ue())}var Gf;function lP(){if(Gf===l){class e{constructor(){S0=this;var r=this,t=lr(),n=ur(t,nP),a=lr(),s=ur(a,aP),u=lr(),_=ur(u,iP),o=lr();r.x5l_1=[null,null,null,null,null,null,null,n,null,s,null,_,ur(o,sP)]}}ar(e),Gf=e}return Gf}var S0;function Si(){return S0===l&&new(lP()),S0}var Jf;function uP(){if(Jf===l){class e{constructor(){z0=this;var r=new(Kr())("IntGrid",this,13);r.a3i("__identifier",!1),r.a3i("__cWid",!1),r.a3i("__cHei",!1),r.a3i("__gridSize",!1),r.a3i("pxOffsetX",!1),r.a3i("pxOffsetY",!1),r.a3i("seed",!1),r.a3i("intGridCsv",!1),r.a3i("overrideTilesetUid",!0),r.a3i("entityInstances",!0),r.a3i("__tilesetRelPath",!0),r.a3i("autoLayerTiles",!0),r.a3i("gridTiles",!0),this.y5l_1=r}z5l(r,t){var n=this.y5l_1,a=r.k3a(n),s=Si().x5l_1;a.a3c(n,0,t.a5m_1),a.v3b(n,1,t.b5m_1),a.v3b(n,2,t.c5m_1),a.v3b(n,3,t.d5m_1),a.v3b(n,4,t.e5m_1),a.v3b(n,5,t.f5m_1),a.w3b(n,6,t.g5m_1),a.c3c(n,7,s[7].y2(),t.h5m_1),(a.i3c(n,8)||t.i5m_1!=null)&&a.e3c(n,8,K(),t.i5m_1),(a.i3c(n,9)||t.j5m_1!=null)&&a.e3c(n,9,s[9].y2(),t.j5m_1),(a.i3c(n,10)||t.k5m_1!=null)&&a.e3c(n,10,qr(),t.k5m_1),(a.i3c(n,11)||t.l5m_1!=null)&&a.e3c(n,11,s[11].y2(),t.l5m_1),(a.i3c(n,12)||t.m5m_1!=null)&&a.e3c(n,12,s[12].y2(),t.m5m_1),a.l3a(n)}d36(r,t){return this.z5l(r,t instanceof Aa()?t:m())}e36(r){var t=this.y5l_1,n=!0,a=0,s=0,u=null,_=0,o=0,c=0,h=0,f=0,v=0n,d=null,y=null,b=null,w=null,x=null,q=null,k=r.k3a(t),A=Si().x5l_1;if(k.a3b())u=k.u3a(t,0),s=s|1,_=k.p3a(t,1),s=s|2,o=k.p3a(t,2),s=s|4,c=k.p3a(t,3),s=s|8,h=k.p3a(t,4),s=s|16,f=k.p3a(t,5),s=s|32,v=k.q3a(t,6),s=s|64,d=k.w3a(t,7,A[7].y2(),d),s=s|128,y=k.y3a(t,8,K(),y),s=s|256,b=k.y3a(t,9,A[9].y2(),b),s=s|512,w=k.y3a(t,10,qr(),w),s=s|1024,x=k.y3a(t,11,A[11].y2(),x),s=s|2048,q=k.y3a(t,12,A[12].y2(),q),s=s|4096;else for(;n;)switch(a=k.b3b(t),a){case-1:n=!1;break;case 0:u=k.u3a(t,0),s=s|1;break;case 1:_=k.p3a(t,1),s=s|2;break;case 2:o=k.p3a(t,2),s=s|4;break;case 3:c=k.p3a(t,3),s=s|8;break;case 4:h=k.p3a(t,4),s=s|16;break;case 5:f=k.p3a(t,5),s=s|32;break;case 6:v=k.q3a(t,6),s=s|64;break;case 7:d=k.w3a(t,7,A[7].y2(),d),s=s|128;break;case 8:y=k.y3a(t,8,K(),y),s=s|256;break;case 9:b=k.y3a(t,9,A[9].y2(),b),s=s|512;break;case 10:w=k.y3a(t,10,qr(),w),s=s|1024;break;case 11:x=k.y3a(t,11,A[11].y2(),x),s=s|2048;break;case 12:q=k.y3a(t,12,A[12].y2(),q),s=s|4096;break;default:throw Xr().w37(a)}return k.l3a(t),Aa().n5m(s,u,_,o,c,h,f,v,d,y,b,w,x,q,null)}c36(){return this.y5l_1}p3i(){var r=Si().x5l_1;return[qr(),K(),K(),K(),K(),K(),Ua(),r[7].y2(),$r(K()),$r(r[9].y2()),$r(qr()),$r(r[11].y2()),$r(r[12].y2())]}}F(e).q3i=Hr,P(e,"$serializer",l,l,[Vr()]),Jf=e}return Jf}var z0;function q0(){return z0===l&&new(uP()),z0}function _P(){return new(Cr())(ue())}function oP(){return new(Cr())(K())}function cP(){return new(Cr())(Bn())}function hP(){return new(Cr())(ue())}var Wf;function fP(){if(Wf===l){class e{constructor(){I0=this;var r=this,t=lr(),n=ur(t,_P),a=lr(),s=ur(a,oP),u=lr(),_=ur(u,cP),o=lr();r.o5m_1=[null,null,null,null,null,null,null,n,null,null,s,_,ur(o,hP)]}}ar(e),Wf=e}return Wf}var I0;function zi(){return I0===l&&new(fP()),I0}var Hf;function vP(){if(Hf===l){class e{constructor(){$0=this;var r=new(Kr())("AutoLayer",this,13);r.a3i("__identifier",!1),r.a3i("__cWid",!1),r.a3i("__cHei",!1),r.a3i("__gridSize",!1),r.a3i("pxOffsetX",!1),r.a3i("pxOffsetY",!1),r.a3i("seed",!1),r.a3i("autoLayerTiles",!1),r.a3i("__tilesetRelPath",!1),r.a3i("overrideTilesetUid",!0),r.a3i("intGridCsv",!0),r.a3i("entityInstances",!0),r.a3i("gridTiles",!0),this.p5m_1=r}q5m(r,t){var n=this.p5m_1,a=r.k3a(n),s=zi().o5m_1;a.a3c(n,0,t.n5k_1),a.v3b(n,1,t.o5k_1),a.v3b(n,2,t.p5k_1),a.v3b(n,3,t.q5k_1),a.v3b(n,4,t.r5k_1),a.v3b(n,5,t.s5k_1),a.w3b(n,6,t.t5k_1),a.c3c(n,7,s[7].y2(),t.u5k_1),a.a3c(n,8,t.v5k_1),(a.i3c(n,9)||t.w5k_1!=null)&&a.e3c(n,9,K(),t.w5k_1),(a.i3c(n,10)||t.x5k_1!=null)&&a.e3c(n,10,s[10].y2(),t.x5k_1),(a.i3c(n,11)||t.y5k_1!=null)&&a.e3c(n,11,s[11].y2(),t.y5k_1),(a.i3c(n,12)||t.z5k_1!=null)&&a.e3c(n,12,s[12].y2(),t.z5k_1),a.l3a(n)}d36(r,t){return this.q5m(r,t instanceof Ea()?t:m())}e36(r){var t=this.p5m_1,n=!0,a=0,s=0,u=null,_=0,o=0,c=0,h=0,f=0,v=0n,d=null,y=null,b=null,w=null,x=null,q=null,k=r.k3a(t),A=zi().o5m_1;if(k.a3b())u=k.u3a(t,0),s=s|1,_=k.p3a(t,1),s=s|2,o=k.p3a(t,2),s=s|4,c=k.p3a(t,3),s=s|8,h=k.p3a(t,4),s=s|16,f=k.p3a(t,5),s=s|32,v=k.q3a(t,6),s=s|64,d=k.w3a(t,7,A[7].y2(),d),s=s|128,y=k.u3a(t,8),s=s|256,b=k.y3a(t,9,K(),b),s=s|512,w=k.y3a(t,10,A[10].y2(),w),s=s|1024,x=k.y3a(t,11,A[11].y2(),x),s=s|2048,q=k.y3a(t,12,A[12].y2(),q),s=s|4096;else for(;n;)switch(a=k.b3b(t),a){case-1:n=!1;break;case 0:u=k.u3a(t,0),s=s|1;break;case 1:_=k.p3a(t,1),s=s|2;break;case 2:o=k.p3a(t,2),s=s|4;break;case 3:c=k.p3a(t,3),s=s|8;break;case 4:h=k.p3a(t,4),s=s|16;break;case 5:f=k.p3a(t,5),s=s|32;break;case 6:v=k.q3a(t,6),s=s|64;break;case 7:d=k.w3a(t,7,A[7].y2(),d),s=s|128;break;case 8:y=k.u3a(t,8),s=s|256;break;case 9:b=k.y3a(t,9,K(),b),s=s|512;break;case 10:w=k.y3a(t,10,A[10].y2(),w),s=s|1024;break;case 11:x=k.y3a(t,11,A[11].y2(),x),s=s|2048;break;case 12:q=k.y3a(t,12,A[12].y2(),q),s=s|4096;break;default:throw Xr().w37(a)}return k.l3a(t),Ea().r5m(s,u,_,o,c,h,f,v,d,y,b,w,x,q,null)}c36(){return this.p5m_1}p3i(){var r=zi().o5m_1;return[qr(),K(),K(),K(),K(),K(),Ua(),r[7].y2(),qr(),$r(K()),$r(r[10].y2()),$r(r[11].y2()),$r(r[12].y2())]}}F(e).q3i=Hr,P(e,"$serializer",l,l,[Vr()]),Hf=e}return Hf}var $0;function A0(){return $0===l&&new(vP()),$0}function pP(){return new(Cr())(ue())}function dP(){return new(Cr())(K())}function mP(){return new(Cr())(Bn())}function wP(){return new(Cr())(ue())}var Vf;function gP(){if(Vf===l){class e{constructor(){E0=this;var r=this,t=lr(),n=ur(t,pP),a=lr(),s=ur(a,dP),u=lr(),_=ur(u,mP),o=lr();r.s5m_1=[null,null,null,null,null,null,null,n,null,null,s,_,ur(o,wP)]}}ar(e),Vf=e}return Vf}var E0;function qi(){return E0===l&&new(gP()),E0}var Yf;function yP(){if(Yf===l){class e{constructor(){N0=this;var r=new(Kr())("Tiles",this,13);r.a3i("__identifier",!1),r.a3i("__cWid",!1),r.a3i("__cHei",!1),r.a3i("__gridSize",!1),r.a3i("pxOffsetX",!1),r.a3i("pxOffsetY",!1),r.a3i("seed",!1),r.a3i("gridTiles",!1),r.a3i("__tilesetRelPath",!1),r.a3i("overrideTilesetUid",!0),r.a3i("intGridCsv",!0),r.a3i("entityInstances",!0),r.a3i("autoLayerTiles",!0),this.t5m_1=r}u5m(r,t){var n=this.t5m_1,a=r.k3a(n),s=qi().s5m_1;a.a3c(n,0,t.a5k_1),a.v3b(n,1,t.b5k_1),a.v3b(n,2,t.c5k_1),a.v3b(n,3,t.d5k_1),a.v3b(n,4,t.e5k_1),a.v3b(n,5,t.f5k_1),a.w3b(n,6,t.g5k_1),a.c3c(n,7,s[7].y2(),t.h5k_1),a.a3c(n,8,t.i5k_1),(a.i3c(n,9)||t.j5k_1!=null)&&a.e3c(n,9,K(),t.j5k_1),(a.i3c(n,10)||t.k5k_1!=null)&&a.e3c(n,10,s[10].y2(),t.k5k_1),(a.i3c(n,11)||t.l5k_1!=null)&&a.e3c(n,11,s[11].y2(),t.l5k_1),(a.i3c(n,12)||t.m5k_1!=null)&&a.e3c(n,12,s[12].y2(),t.m5k_1),a.l3a(n)}d36(r,t){return this.u5m(r,t instanceof Na()?t:m())}e36(r){var t=this.t5m_1,n=!0,a=0,s=0,u=null,_=0,o=0,c=0,h=0,f=0,v=0n,d=null,y=null,b=null,w=null,x=null,q=null,k=r.k3a(t),A=qi().s5m_1;if(k.a3b())u=k.u3a(t,0),s=s|1,_=k.p3a(t,1),s=s|2,o=k.p3a(t,2),s=s|4,c=k.p3a(t,3),s=s|8,h=k.p3a(t,4),s=s|16,f=k.p3a(t,5),s=s|32,v=k.q3a(t,6),s=s|64,d=k.w3a(t,7,A[7].y2(),d),s=s|128,y=k.u3a(t,8),s=s|256,b=k.y3a(t,9,K(),b),s=s|512,w=k.y3a(t,10,A[10].y2(),w),s=s|1024,x=k.y3a(t,11,A[11].y2(),x),s=s|2048,q=k.y3a(t,12,A[12].y2(),q),s=s|4096;else for(;n;)switch(a=k.b3b(t),a){case-1:n=!1;break;case 0:u=k.u3a(t,0),s=s|1;break;case 1:_=k.p3a(t,1),s=s|2;break;case 2:o=k.p3a(t,2),s=s|4;break;case 3:c=k.p3a(t,3),s=s|8;break;case 4:h=k.p3a(t,4),s=s|16;break;case 5:f=k.p3a(t,5),s=s|32;break;case 6:v=k.q3a(t,6),s=s|64;break;case 7:d=k.w3a(t,7,A[7].y2(),d),s=s|128;break;case 8:y=k.u3a(t,8),s=s|256;break;case 9:b=k.y3a(t,9,K(),b),s=s|512;break;case 10:w=k.y3a(t,10,A[10].y2(),w),s=s|1024;break;case 11:x=k.y3a(t,11,A[11].y2(),x),s=s|2048;break;case 12:q=k.y3a(t,12,A[12].y2(),q),s=s|4096;break;default:throw Xr().w37(a)}return k.l3a(t),Na().v5m(s,u,_,o,c,h,f,v,d,y,b,w,x,q,null)}c36(){return this.t5m_1}p3i(){var r=qi().s5m_1;return[qr(),K(),K(),K(),K(),K(),Ua(),r[7].y2(),qr(),$r(K()),$r(r[10].y2()),$r(r[11].y2()),$r(r[12].y2())]}}F(e).q3i=Hr,P(e,"$serializer",l,l,[Vr()]),Yf=e}return Yf}var N0;function L0(){return N0===l&&new(yP()),N0}function bP(){return new(Cr())(Bn())}function kP(){return new(Cr())(K())}function CP(){return new(Cr())(ue())}function xP(){return new(Cr())(ue())}var Zf;function SP(){if(Zf===l){class e{constructor(){j0=this;var r=this,t=lr(),n=ur(t,bP),a=lr(),s=ur(a,kP),u=lr(),_=ur(u,CP),o=lr();r.w5m_1=[null,null,null,null,null,null,null,n,s,null,null,_,ur(o,xP)]}}ar(e),Zf=e}return Zf}var j0;function Ii(){return j0===l&&new(SP()),j0}var Xf;function zP(){if(Xf===l){class e{constructor(){M0=this;var r=new(Kr())("Entities",this,13);r.a3i("__identifier",!1),r.a3i("__cWid",!1),r.a3i("__cHei",!1),r.a3i("__gridSize",!1),r.a3i("pxOffsetX",!1),r.a3i("pxOffsetY",!1),r.a3i("seed",!1),r.a3i("entityInstances",!1),r.a3i("intGridCsv",!0),r.a3i("__tilesetRelPath",!0),r.a3i("overrideTilesetUid",!0),r.a3i("autoLayerTiles",!0),r.a3i("gridTiles",!0),this.x5m_1=r}y5m(r,t){var n=this.x5m_1,a=r.k3a(n),s=Ii().w5m_1;a.a3c(n,0,t.z5m_1),a.v3b(n,1,t.a5n_1),a.v3b(n,2,t.b5n_1),a.v3b(n,3,t.c5n_1),a.v3b(n,4,t.d5n_1),a.v3b(n,5,t.e5n_1),a.w3b(n,6,t.f5n_1),a.c3c(n,7,s[7].y2(),t.g5n_1),(a.i3c(n,8)||t.h5n_1!=null)&&a.e3c(n,8,s[8].y2(),t.h5n_1),(a.i3c(n,9)||t.i5n_1!=null)&&a.e3c(n,9,qr(),t.i5n_1),(a.i3c(n,10)||t.j5n_1!=null)&&a.e3c(n,10,K(),t.j5n_1),(a.i3c(n,11)||t.k5n_1!=null)&&a.e3c(n,11,s[11].y2(),t.k5n_1),(a.i3c(n,12)||t.l5n_1!=null)&&a.e3c(n,12,s[12].y2(),t.l5n_1),a.l3a(n)}d36(r,t){return this.y5m(r,t instanceof La()?t:m())}e36(r){var t=this.x5m_1,n=!0,a=0,s=0,u=null,_=0,o=0,c=0,h=0,f=0,v=0n,d=null,y=null,b=null,w=null,x=null,q=null,k=r.k3a(t),A=Ii().w5m_1;if(k.a3b())u=k.u3a(t,0),s=s|1,_=k.p3a(t,1),s=s|2,o=k.p3a(t,2),s=s|4,c=k.p3a(t,3),s=s|8,h=k.p3a(t,4),s=s|16,f=k.p3a(t,5),s=s|32,v=k.q3a(t,6),s=s|64,d=k.w3a(t,7,A[7].y2(),d),s=s|128,y=k.y3a(t,8,A[8].y2(),y),s=s|256,b=k.y3a(t,9,qr(),b),s=s|512,w=k.y3a(t,10,K(),w),s=s|1024,x=k.y3a(t,11,A[11].y2(),x),s=s|2048,q=k.y3a(t,12,A[12].y2(),q),s=s|4096;else for(;n;)switch(a=k.b3b(t),a){case-1:n=!1;break;case 0:u=k.u3a(t,0),s=s|1;break;case 1:_=k.p3a(t,1),s=s|2;break;case 2:o=k.p3a(t,2),s=s|4;break;case 3:c=k.p3a(t,3),s=s|8;break;case 4:h=k.p3a(t,4),s=s|16;break;case 5:f=k.p3a(t,5),s=s|32;break;case 6:v=k.q3a(t,6),s=s|64;break;case 7:d=k.w3a(t,7,A[7].y2(),d),s=s|128;break;case 8:y=k.y3a(t,8,A[8].y2(),y),s=s|256;break;case 9:b=k.y3a(t,9,qr(),b),s=s|512;break;case 10:w=k.y3a(t,10,K(),w),s=s|1024;break;case 11:x=k.y3a(t,11,A[11].y2(),x),s=s|2048;break;case 12:q=k.y3a(t,12,A[12].y2(),q),s=s|4096;break;default:throw Xr().w37(a)}return k.l3a(t),La().m5n(s,u,_,o,c,h,f,v,d,y,b,w,x,q,null)}c36(){return this.x5m_1}p3i(){var r=Ii().w5m_1;return[qr(),K(),K(),K(),K(),K(),Ua(),r[7].y2(),$r(r[8].y2()),$r(qr()),$r(K()),$r(r[11].y2()),$r(r[12].y2())]}}F(e).q3i=Hr,P(e,"$serializer",l,l,[Vr()]),Xf=e}return Xf}var M0;function T0(){return M0===l&&new(zP()),M0}var Qf;function Aa(){if(Qf===l){class e{h4o(){return this.a5m_1}g4m(){return this.b5m_1}f4m(){return this.d5m_1}a4p(){return this.h5m_1}o4m(){return this.j5m_1}c4n(){return this.k5m_1}h4n(){return this.l5m_1}d4n(){return this.m5m_1}toString(){return"IntGrid(__identifier="+this.a5m_1+", __cWid="+this.b5m_1+", __cHei="+this.c5m_1+", __gridSize="+this.d5m_1+", pxOffsetX="+this.e5m_1+", pxOffsetY="+this.f5m_1+", seed="+this.g5m_1.toString()+", intGridCsv="+$(this.h5m_1)+", overrideTilesetUid="+this.i5m_1+", entityInstances="+Wr(this.j5m_1)+", __tilesetRelPath="+this.k5m_1+", autoLayerTiles="+Wr(this.l5m_1)+", gridTiles="+Wr(this.m5m_1)+")"}hashCode(){var r=br(this.a5m_1);return r=U(r,31)+this.b5m_1|0,r=U(r,31)+this.c5m_1|0,r=U(r,31)+this.d5m_1|0,r=U(r,31)+this.e5m_1|0,r=U(r,31)+this.f5m_1|0,r=U(r,31)+$t(this.g5m_1)|0,r=U(r,31)+V(this.h5m_1)|0,r=U(r,31)+(this.i5m_1==null?0:this.i5m_1)|0,r=U(r,31)+(this.j5m_1==null?0:V(this.j5m_1))|0,r=U(r,31)+(this.k5m_1==null?0:br(this.k5m_1))|0,r=U(r,31)+(this.l5m_1==null?0:V(this.l5m_1))|0,r=U(r,31)+(this.m5m_1==null?0:V(this.m5m_1))|0,r}equals(r){return this===r?!0:!(!(r instanceof Aa())||this.a5m_1!==r.a5m_1||this.b5m_1!==r.b5m_1||this.c5m_1!==r.c5m_1||this.d5m_1!==r.d5m_1||this.e5m_1!==r.e5m_1||this.f5m_1!==r.f5m_1||this.g5m_1!==r.g5m_1||!E(this.h5m_1,r.h5m_1)||this.i5m_1!=r.i5m_1||!E(this.j5m_1,r.j5m_1)||this.k5m_1!=r.k5m_1||!E(this.l5m_1,r.l5m_1)||!E(this.m5m_1,r.m5m_1))}static n5m(r,t,n,a,s,u,_,o,c,h,f,v,d,y,b){Si(),(255&r)!==255&&rt(r,255,q0().y5l_1);var w=Ur(this);return w.a5m_1=t,w.b5m_1=n,w.c5m_1=a,w.d5m_1=s,w.e5m_1=u,w.f5m_1=_,w.g5m_1=o,w.h5m_1=c,(r&256)===0?w.i5m_1=null:w.i5m_1=h,(r&512)===0?w.j5m_1=null:w.j5m_1=f,(r&1024)===0?w.k5m_1=null:w.k5m_1=v,(r&2048)===0?w.l5m_1=null:w.l5m_1=d,(r&4096)===0?w.m5m_1=null:w.m5m_1=y,w}}p(e,"IntGrid",l,l,[Ya()],l,l,{0:q0}),Qf=e}return Qf}var rv;function Ea(){if(rv===l){class e{h4o(){return this.n5k_1}g4m(){return this.o5k_1}f4m(){return this.q5k_1}h4n(){return this.u5k_1}c4n(){return this.v5k_1}a4p(){return this.x5k_1}o4m(){return this.y5k_1}d4n(){return this.z5k_1}toString(){return"AutoLayer(__identifier="+this.n5k_1+", __cWid="+this.o5k_1+", __cHei="+this.p5k_1+", __gridSize="+this.q5k_1+", pxOffsetX="+this.r5k_1+", pxOffsetY="+this.s5k_1+", seed="+this.t5k_1.toString()+", autoLayerTiles="+$(this.u5k_1)+", __tilesetRelPath="+this.v5k_1+", overrideTilesetUid="+this.w5k_1+", intGridCsv="+Wr(this.x5k_1)+", entityInstances="+Wr(this.y5k_1)+", gridTiles="+Wr(this.z5k_1)+")"}hashCode(){var r=br(this.n5k_1);return r=U(r,31)+this.o5k_1|0,r=U(r,31)+this.p5k_1|0,r=U(r,31)+this.q5k_1|0,r=U(r,31)+this.r5k_1|0,r=U(r,31)+this.s5k_1|0,r=U(r,31)+$t(this.t5k_1)|0,r=U(r,31)+V(this.u5k_1)|0,r=U(r,31)+br(this.v5k_1)|0,r=U(r,31)+(this.w5k_1==null?0:this.w5k_1)|0,r=U(r,31)+(this.x5k_1==null?0:V(this.x5k_1))|0,r=U(r,31)+(this.y5k_1==null?0:V(this.y5k_1))|0,r=U(r,31)+(this.z5k_1==null?0:V(this.z5k_1))|0,r}equals(r){return this===r?!0:!(!(r instanceof Ea())||this.n5k_1!==r.n5k_1||this.o5k_1!==r.o5k_1||this.p5k_1!==r.p5k_1||this.q5k_1!==r.q5k_1||this.r5k_1!==r.r5k_1||this.s5k_1!==r.s5k_1||this.t5k_1!==r.t5k_1||!E(this.u5k_1,r.u5k_1)||this.v5k_1!==r.v5k_1||this.w5k_1!=r.w5k_1||!E(this.x5k_1,r.x5k_1)||!E(this.y5k_1,r.y5k_1)||!E(this.z5k_1,r.z5k_1))}static r5m(r,t,n,a,s,u,_,o,c,h,f,v,d,y,b){zi(),(511&r)!==511&&rt(r,511,A0().p5m_1);var w=Ur(this);return w.n5k_1=t,w.o5k_1=n,w.p5k_1=a,w.q5k_1=s,w.r5k_1=u,w.s5k_1=_,w.t5k_1=o,w.u5k_1=c,w.v5k_1=h,(r&512)===0?w.w5k_1=null:w.w5k_1=f,(r&1024)===0?w.x5k_1=null:w.x5k_1=v,(r&2048)===0?w.y5k_1=null:w.y5k_1=d,(r&4096)===0?w.z5k_1=null:w.z5k_1=y,w}}p(e,"AutoLayer",l,l,[Ya()],l,l,{0:A0}),rv=e}return rv}var tv;function Na(){if(tv===l){class e{h4o(){return this.a5k_1}g4m(){return this.b5k_1}f4m(){return this.d5k_1}d4n(){return this.h5k_1}c4n(){return this.i5k_1}a4p(){return this.k5k_1}o4m(){return this.l5k_1}h4n(){return this.m5k_1}toString(){return"TilesLayer(__identifier="+this.a5k_1+", __cWid="+this.b5k_1+", __cHei="+this.c5k_1+", __gridSize="+this.d5k_1+", pxOffsetX="+this.e5k_1+", pxOffsetY="+this.f5k_1+", seed="+this.g5k_1.toString()+", gridTiles="+$(this.h5k_1)+", __tilesetRelPath="+this.i5k_1+", overrideTilesetUid="+this.j5k_1+", intGridCsv="+Wr(this.k5k_1)+", entityInstances="+Wr(this.l5k_1)+", autoLayerTiles="+Wr(this.m5k_1)+")"}hashCode(){var r=br(this.a5k_1);return r=U(r,31)+this.b5k_1|0,r=U(r,31)+this.c5k_1|0,r=U(r,31)+this.d5k_1|0,r=U(r,31)+this.e5k_1|0,r=U(r,31)+this.f5k_1|0,r=U(r,31)+$t(this.g5k_1)|0,r=U(r,31)+V(this.h5k_1)|0,r=U(r,31)+br(this.i5k_1)|0,r=U(r,31)+(this.j5k_1==null?0:this.j5k_1)|0,r=U(r,31)+(this.k5k_1==null?0:V(this.k5k_1))|0,r=U(r,31)+(this.l5k_1==null?0:V(this.l5k_1))|0,r=U(r,31)+(this.m5k_1==null?0:V(this.m5k_1))|0,r}equals(r){return this===r?!0:!(!(r instanceof Na())||this.a5k_1!==r.a5k_1||this.b5k_1!==r.b5k_1||this.c5k_1!==r.c5k_1||this.d5k_1!==r.d5k_1||this.e5k_1!==r.e5k_1||this.f5k_1!==r.f5k_1||this.g5k_1!==r.g5k_1||!E(this.h5k_1,r.h5k_1)||this.i5k_1!==r.i5k_1||this.j5k_1!=r.j5k_1||!E(this.k5k_1,r.k5k_1)||!E(this.l5k_1,r.l5k_1)||!E(this.m5k_1,r.m5k_1))}static v5m(r,t,n,a,s,u,_,o,c,h,f,v,d,y,b){qi(),(511&r)!==511&&rt(r,511,L0().t5m_1);var w=Ur(this);return w.a5k_1=t,w.b5k_1=n,w.c5k_1=a,w.d5k_1=s,w.e5k_1=u,w.f5k_1=_,w.g5k_1=o,w.h5k_1=c,w.i5k_1=h,(r&512)===0?w.j5k_1=null:w.j5k_1=f,(r&1024)===0?w.k5k_1=null:w.k5k_1=v,(r&2048)===0?w.l5k_1=null:w.l5k_1=d,(r&4096)===0?w.m5k_1=null:w.m5k_1=y,w}}p(e,"TilesLayer",l,l,[Ya()],l,l,{0:L0}),tv=e}return tv}var ev;function La(){if(ev===l){class e{h4o(){return this.z5m_1}g4m(){return this.a5n_1}f4m(){return this.c5n_1}o4m(){return this.g5n_1}a4p(){return this.h5n_1}c4n(){return this.i5n_1}h4n(){return this.k5n_1}d4n(){return this.l5n_1}toString(){return"EntitiesLayer(__identifier="+this.z5m_1+", __cWid="+this.a5n_1+", __cHei="+this.b5n_1+", __gridSize="+this.c5n_1+", pxOffsetX="+this.d5n_1+", pxOffsetY="+this.e5n_1+", seed="+this.f5n_1.toString()+", entityInstances="+$(this.g5n_1)+", intGridCsv="+Wr(this.h5n_1)+", __tilesetRelPath="+this.i5n_1+", overrideTilesetUid="+this.j5n_1+", autoLayerTiles="+Wr(this.k5n_1)+", gridTiles="+Wr(this.l5n_1)+")"}hashCode(){var r=br(this.z5m_1);return r=U(r,31)+this.a5n_1|0,r=U(r,31)+this.b5n_1|0,r=U(r,31)+this.c5n_1|0,r=U(r,31)+this.d5n_1|0,r=U(r,31)+this.e5n_1|0,r=U(r,31)+$t(this.f5n_1)|0,r=U(r,31)+V(this.g5n_1)|0,r=U(r,31)+(this.h5n_1==null?0:V(this.h5n_1))|0,r=U(r,31)+(this.i5n_1==null?0:br(this.i5n_1))|0,r=U(r,31)+(this.j5n_1==null?0:this.j5n_1)|0,r=U(r,31)+(this.k5n_1==null?0:V(this.k5n_1))|0,r=U(r,31)+(this.l5n_1==null?0:V(this.l5n_1))|0,r}equals(r){return this===r?!0:!(!(r instanceof La())||this.z5m_1!==r.z5m_1||this.a5n_1!==r.a5n_1||this.b5n_1!==r.b5n_1||this.c5n_1!==r.c5n_1||this.d5n_1!==r.d5n_1||this.e5n_1!==r.e5n_1||this.f5n_1!==r.f5n_1||!E(this.g5n_1,r.g5n_1)||!E(this.h5n_1,r.h5n_1)||this.i5n_1!=r.i5n_1||this.j5n_1!=r.j5n_1||!E(this.k5n_1,r.k5n_1)||!E(this.l5n_1,r.l5n_1))}static m5n(r,t,n,a,s,u,_,o,c,h,f,v,d,y,b){Ii(),(255&r)!==255&&rt(r,255,T0().x5m_1);var w=Ur(this);return w.z5m_1=t,w.a5n_1=n,w.b5n_1=a,w.c5n_1=s,w.d5n_1=u,w.e5n_1=_,w.f5n_1=o,w.g5n_1=c,(r&256)===0?w.h5n_1=null:w.h5n_1=h,(r&512)===0?w.i5n_1=null:w.i5n_1=f,(r&1024)===0?w.j5n_1=null:w.j5n_1=v,(r&2048)===0?w.k5n_1=null:w.k5n_1=d,(r&4096)===0?w.l5n_1=null:w.l5n_1=y,w}}p(e,"EntitiesLayer",l,l,[Ya()],l,l,{0:T0}),ev=e}return ev}var nv;function qP(){if(nv===l){class e{v3t(){var r=Z(Ya()),t=[Z(Ea()),Z(La()),Z(Aa()),Z(Na())],n=[A0(),T0(),q0(),L0()],a=[];return Yd().i37("com.github.minigdx.tiny.resources.ldtk.Layer",r,t,n,a)}d3j(r){return this.v3t()}}ar(e,l,[m1()]),nv=e}return nv}var Fm;function IP(){return Fm}var av;function Ya(){if(av===l){class e{}Ar(e,"Layer",l,l,l,l,l,{0:IP}),av=e}return av}function $P(){return new(Cr())(K())}function AP(){return new(Cr())(K())}var iv;function EP(){if(iv===l){class e{constructor(){F0=this;var r=this,t=lr(),n=ur(t,$P),a=lr();r.n5n_1=[null,null,n,ur(a,AP),null]}}ar(e),iv=e}return iv}var F0;function $i(){return F0===l&&new(EP()),F0}var sv;function NP(){if(sv===l){class e{constructor(){D0=this;var r=new(Kr())("com.github.minigdx.tiny.resources.ldtk.Tile",this,5);r.a3i("a",!1),r.a3i("f",!1),r.a3i("px",!1),r.a3i("src",!1),r.a3i("t",!1),this.o5n_1=r}p5n(r,t){var n=this.o5n_1,a=r.k3a(n),s=$i().n5n_1;a.x3b(n,0,t.j4o_1),a.v3b(n,1,t.k4o_1),a.c3c(n,2,s[2].y2(),t.l4o_1),a.c3c(n,3,s[3].y2(),t.m4o_1),a.v3b(n,4,t.n4o_1),a.l3a(n)}d36(r,t){return this.p5n(r,t instanceof P0()?t:m())}e36(r){var t=this.o5n_1,n=!0,a=0,s=0,u=0,_=0,o=null,c=null,h=0,f=r.k3a(t),v=$i().n5n_1;if(f.a3b())u=f.r3a(t,0),s=s|1,_=f.p3a(t,1),s=s|2,o=f.w3a(t,2,v[2].y2(),o),s=s|4,c=f.w3a(t,3,v[3].y2(),c),s=s|8,h=f.p3a(t,4),s=s|16;else for(;n;)switch(a=f.b3b(t),a){case-1:n=!1;break;case 0:u=f.r3a(t,0),s=s|1;break;case 1:_=f.p3a(t,1),s=s|2;break;case 2:o=f.w3a(t,2,v[2].y2(),o),s=s|4;break;case 3:c=f.w3a(t,3,v[3].y2(),c),s=s|8;break;case 4:h=f.p3a(t,4),s=s|16;break;default:throw Xr().w37(a)}return f.l3a(t),P0().q5n(s,u,_,o,c,h,null)}c36(){return this.o5n_1}p3i(){var r=$i().n5n_1;return[mt(),K(),r[2].y2(),r[3].y2(),K()]}}F(e).q3i=Hr,P(e,"$serializer",l,l,[Vr()]),sv=e}return sv}var D0;function ue(){return D0===l&&new(NP()),D0}var lv;function P0(){if(lv===l){class e{toString(){return"Tile(a="+this.j4o_1+", f="+this.k4o_1+", px="+$(this.l4o_1)+", src="+$(this.m4o_1)+", t="+this.n4o_1+")"}hashCode(){var r=Vt(this.j4o_1);return r=U(r,31)+this.k4o_1|0,r=U(r,31)+V(this.l4o_1)|0,r=U(r,31)+V(this.m4o_1)|0,r=U(r,31)+this.n4o_1|0,r}equals(r){return this===r?!0:!(!(r instanceof P0())||!E(this.j4o_1,r.j4o_1)||this.k4o_1!==r.k4o_1||!E(this.l4o_1,r.l4o_1)||!E(this.m4o_1,r.m4o_1)||this.n4o_1!==r.n4o_1)}static q5n(r,t,n,a,s,u,_){$i(),(31&r)!==31&&rt(r,31,ue().o5n_1);var o=Ur(this);return o.j4o_1=t,o.k4o_1=n,o.l4o_1=a,o.m4o_1=s,o.n4o_1=u,o}}p(e,"Tile",l,l,l,l,l,{0:ue}),lv=e}return lv}function LP(){return new(Cr())(K())}function jP(){return new(Cr())(mt())}function MP(){return new(Cr())(q1())}function TP(){return new(Cr())(K())}var uv;function FP(){if(uv===l){class e{constructor(){B0=this;var r=this,t=lr(),n=ur(t,LP),a=lr(),s=ur(a,jP),u=lr(),_=ur(u,MP),o=lr();r.r5n_1=[n,null,s,null,null,_,null,null,null,ur(o,TP)]}}ar(e),uv=e}return uv}var B0;function Ai(){return B0===l&&new(FP()),B0}var _v;function DP(){if(_v===l){class e{constructor(){O0=this;var r=new(Kr())("com.github.minigdx.tiny.resources.ldtk.Entity",this,10);r.a3i("__grid",!1),r.a3i("__identifier",!1),r.a3i("__pivot",!1),r.a3i("__worldX",!0),r.a3i("__worldY",!0),r.a3i("fieldInstances",!1),r.a3i("height",!1),r.a3i("width",!1),r.a3i("iid",!1),r.a3i("px",!1),this.s5n_1=r}t5n(r,t){var n=this.s5n_1,a=r.k3a(n),s=Ai().r5n_1;a.c3c(n,0,s[0].y2(),t.p4m_1),a.a3c(n,1,t.q4m_1),a.c3c(n,2,s[2].y2(),t.r4m_1),(a.i3c(n,3)||t.s4m_1!=null)&&a.e3c(n,3,K(),t.s4m_1),(a.i3c(n,4)||t.t4m_1!=null)&&a.e3c(n,4,K(),t.t4m_1),a.c3c(n,5,s[5].y2(),t.u4m_1),a.v3b(n,6,t.v4m_1),a.v3b(n,7,t.w4m_1),a.a3c(n,8,t.x4m_1),a.c3c(n,9,s[9].y2(),t.y4m_1),a.l3a(n)}d36(r,t){return this.t5n(r,t instanceof R0()?t:m())}e36(r){var t=this.s5n_1,n=!0,a=0,s=0,u=null,_=null,o=null,c=null,h=null,f=null,v=0,d=0,y=null,b=null,w=r.k3a(t),x=Ai().r5n_1;if(w.a3b())u=w.w3a(t,0,x[0].y2(),u),s=s|1,_=w.u3a(t,1),s=s|2,o=w.w3a(t,2,x[2].y2(),o),s=s|4,c=w.y3a(t,3,K(),c),s=s|8,h=w.y3a(t,4,K(),h),s=s|16,f=w.w3a(t,5,x[5].y2(),f),s=s|32,v=w.p3a(t,6),s=s|64,d=w.p3a(t,7),s=s|128,y=w.u3a(t,8),s=s|256,b=w.w3a(t,9,x[9].y2(),b),s=s|512;else for(;n;)switch(a=w.b3b(t),a){case-1:n=!1;break;case 0:u=w.w3a(t,0,x[0].y2(),u),s=s|1;break;case 1:_=w.u3a(t,1),s=s|2;break;case 2:o=w.w3a(t,2,x[2].y2(),o),s=s|4;break;case 3:c=w.y3a(t,3,K(),c),s=s|8;break;case 4:h=w.y3a(t,4,K(),h),s=s|16;break;case 5:f=w.w3a(t,5,x[5].y2(),f),s=s|32;break;case 6:v=w.p3a(t,6),s=s|64;break;case 7:d=w.p3a(t,7),s=s|128;break;case 8:y=w.u3a(t,8),s=s|256;break;case 9:b=w.w3a(t,9,x[9].y2(),b),s=s|512;break;default:throw Xr().w37(a)}return w.l3a(t),R0().u5n(s,u,_,o,c,h,f,v,d,y,b,null)}c36(){return this.s5n_1}p3i(){var r=Ai().r5n_1;return[r[0].y2(),qr(),r[2].y2(),$r(K()),$r(K()),r[5].y2(),K(),K(),qr(),r[9].y2()]}}F(e).q3i=Hr,P(e,"$serializer",l,l,[Vr()]),_v=e}return _v}var O0;function Bn(){return O0===l&&new(DP()),O0}var ov;function R0(){if(ov===l){class e{toString(){return"Entity(__grid="+$(this.p4m_1)+", __identifier="+this.q4m_1+", __pivot="+$(this.r4m_1)+", __worldX="+this.s4m_1+", __worldY="+this.t4m_1+", fieldInstances="+$(this.u4m_1)+", height="+this.v4m_1+", width="+this.w4m_1+", iid="+this.x4m_1+", px="+$(this.y4m_1)+")"}hashCode(){var r=V(this.p4m_1);return r=U(r,31)+br(this.q4m_1)|0,r=U(r,31)+V(this.r4m_1)|0,r=U(r,31)+(this.s4m_1==null?0:this.s4m_1)|0,r=U(r,31)+(this.t4m_1==null?0:this.t4m_1)|0,r=U(r,31)+V(this.u4m_1)|0,r=U(r,31)+this.v4m_1|0,r=U(r,31)+this.w4m_1|0,r=U(r,31)+br(this.x4m_1)|0,r=U(r,31)+V(this.y4m_1)|0,r}equals(r){return this===r?!0:!(!(r instanceof R0())||!E(this.p4m_1,r.p4m_1)||this.q4m_1!==r.q4m_1||!E(this.r4m_1,r.r4m_1)||this.s4m_1!=r.s4m_1||this.t4m_1!=r.t4m_1||!E(this.u4m_1,r.u4m_1)||this.v4m_1!==r.v4m_1||this.w4m_1!==r.w4m_1||this.x4m_1!==r.x4m_1||!E(this.y4m_1,r.y4m_1))}static u5n(r,t,n,a,s,u,_,o,c,h,f,v){Ai(),(999&r)!==999&&rt(r,999,Bn().s5n_1);var d=Ur(this);return d.p4m_1=t,d.q4m_1=n,d.r4m_1=a,(r&8)===0?d.s4m_1=null:d.s4m_1=s,(r&16)===0?d.t4m_1=null:d.t4m_1=u,d.u4m_1=_,d.v4m_1=o,d.w4m_1=c,d.x4m_1=h,d.y4m_1=f,d}}p(e,"Entity",l,l,l,l,l,{0:Bn}),ov=e}return ov}var cv;function PP(){if(cv===l){class e{}ar(e),cv=e}return cv}var hv;function U0(){if(hv===l){class e{constructor(r,t,n){this.z4m_1=r,this.a4n_1=t,this.b4n_1=n}toString(){return"CustomField(__identifier="+this.z4m_1+", __type="+this.a4n_1+", __value="+Wr(this.b4n_1)+")"}hashCode(){var r=br(this.z4m_1);return r=U(r,31)+br(this.a4n_1)|0,r=U(r,31)+(this.b4n_1==null?0:V(this.b4n_1))|0,r}equals(r){return this===r?!0:!(!(r instanceof U0())||this.z4m_1!==r.z4m_1||this.a4n_1!==r.a4n_1||!E(this.b4n_1,r.b4n_1))}}p(e,"CustomField",l,l,l,l,l,{0:q1}),hv=e}return hv}var fv;function BP(){if(fv===l){class e{v3t(){return G0()}}ar(e),fv=e}return fv}var OI,vv;function OP(){if(vv===l){class e{constructor(){K0=this;var r=new(Kr())("com.github.minigdx.tiny.resources.ldtk.EntityRef",this,4);r.a3i("entityIid",!1),r.a3i("layerIid",!1),r.a3i("levelIid",!1),r.a3i("worldIid",!1),this.v5n_1=r}w5n(r,t){var n=this.v5n_1,a=r.k3a(n);a.a3c(n,0,t.p4o_1),a.a3c(n,1,t.q4o_1),a.a3c(n,2,t.r4o_1),a.a3c(n,3,t.s4o_1),a.l3a(n)}d36(r,t){return this.w5n(r,t instanceof Bs()?t:m())}e36(r){var t=this.v5n_1,n=!0,a=0,s=0,u=null,_=null,o=null,c=null,h=r.k3a(t);if(h.a3b())u=h.u3a(t,0),s=s|1,_=h.u3a(t,1),s=s|2,o=h.u3a(t,2),s=s|4,c=h.u3a(t,3),s=s|8;else for(;n;)switch(a=h.b3b(t),a){case-1:n=!1;break;case 0:u=h.u3a(t,0),s=s|1;break;case 1:_=h.u3a(t,1),s=s|2;break;case 2:o=h.u3a(t,2),s=s|4;break;case 3:c=h.u3a(t,3),s=s|8;break;default:throw Xr().w37(a)}return h.l3a(t),Bs().x5n(s,u,_,o,c,null)}c36(){return this.v5n_1}p3i(){return[qr(),qr(),qr(),qr()]}}F(e).q3i=Hr,P(e,"$serializer",l,l,[Vr()]),vv=e}return vv}var K0;function G0(){return K0===l&&new(OP()),K0}var pv;function Bs(){if(pv===l){class e{toString(){return"EntityRef(entityIid="+this.p4o_1+", layerIid="+this.q4o_1+", levelIid="+this.r4o_1+", worldIid="+this.s4o_1+")"}hashCode(){var r=br(this.p4o_1);return r=U(r,31)+br(this.q4o_1)|0,r=U(r,31)+br(this.r4o_1)|0,r=U(r,31)+br(this.s4o_1)|0,r}equals(r){return this===r?!0:!(!(r instanceof Bs())||this.p4o_1!==r.p4o_1||this.q4o_1!==r.q4o_1||this.r4o_1!==r.r4o_1||this.s4o_1!==r.s4o_1)}static x5n(r,t,n,a,s,u){(15&r)!==15&&rt(r,15,G0().v5n_1);var _=Ur(this);return _.p4o_1=t,_.q4o_1=n,_.r4o_1=a,_.s4o_1=s,_}}p(e,"EntityRef",l,l,l,l,l,{0:G0}),pv=e}return pv}var dv;function RP(){if(dv===l){class e{v3t(){return W0()}}ar(e),dv=e}return dv}var RI,mv;function UP(){if(mv===l){class e{constructor(){J0=this;var r=new(Kr())("com.github.minigdx.tiny.resources.ldtk.TilesetRect",this,5);r.a3i("h",!1),r.a3i("tilesetUid",!1),r.a3i("w",!1),r.a3i("x",!1),r.a3i("y",!1),this.y5n_1=r}z5n(r,t){var n=this.y5n_1,a=r.k3a(n);a.v3b(n,0,t.v4o_1),a.v3b(n,1,t.w4o_1),a.v3b(n,2,t.x4o_1),a.v3b(n,3,t.y4o_1),a.v3b(n,4,t.z4o_1),a.l3a(n)}d36(r,t){return this.z5n(r,t instanceof Os()?t:m())}e36(r){var t=this.y5n_1,n=!0,a=0,s=0,u=0,_=0,o=0,c=0,h=0,f=r.k3a(t);if(f.a3b())u=f.p3a(t,0),s=s|1,_=f.p3a(t,1),s=s|2,o=f.p3a(t,2),s=s|4,c=f.p3a(t,3),s=s|8,h=f.p3a(t,4),s=s|16;else for(;n;)switch(a=f.b3b(t),a){case-1:n=!1;break;case 0:u=f.p3a(t,0),s=s|1;break;case 1:_=f.p3a(t,1),s=s|2;break;case 2:o=f.p3a(t,2),s=s|4;break;case 3:c=f.p3a(t,3),s=s|8;break;case 4:h=f.p3a(t,4),s=s|16;break;default:throw Xr().w37(a)}return f.l3a(t),Os().a5o(s,u,_,o,c,h,null)}c36(){return this.y5n_1}p3i(){return[K(),K(),K(),K(),K()]}}F(e).q3i=Hr,P(e,"$serializer",l,l,[Vr()]),mv=e}return mv}var J0;function W0(){return J0===l&&new(UP()),J0}var wv;function Os(){if(wv===l){class e{toString(){return"TilesetRect(h="+this.v4o_1+", tilesetUid="+this.w4o_1+", w="+this.x4o_1+", x="+this.y4o_1+", y="+this.z4o_1+")"}hashCode(){var r=this.v4o_1;return r=U(r,31)+this.w4o_1|0,r=U(r,31)+this.x4o_1|0,r=U(r,31)+this.y4o_1|0,r=U(r,31)+this.z4o_1|0,r}equals(r){return this===r?!0:!(!(r instanceof Os())||this.v4o_1!==r.v4o_1||this.w4o_1!==r.w4o_1||this.x4o_1!==r.x4o_1||this.y4o_1!==r.y4o_1||this.z4o_1!==r.z4o_1)}static a5o(r,t,n,a,s,u,_){(31&r)!==31&&rt(r,31,W0().y5n_1);var o=Ur(this);return o.v4o_1=t,o.w4o_1=n,o.x4o_1=a,o.y4o_1=s,o.z4o_1=u,o}}p(e,"TilesetRect",l,l,l,l,l,{0:W0}),wv=e}return wv}var gv;function KP(){if(gv===l){class e{v3t(){return V0()}}ar(e),gv=e}return gv}var UI,yv;function GP(){if(yv===l){class e{constructor(){H0=this;var r=new(Kr())("com.github.minigdx.tiny.resources.ldtk.GridPoint",this,2);r.a3i("cx",!1),r.a3i("cy",!1),this.b5o_1=r}c5o(r,t){var n=this.b5o_1,a=r.k3a(n);a.v3b(n,0,t.t4o_1),a.v3b(n,1,t.u4o_1),a.l3a(n)}d36(r,t){return this.c5o(r,t instanceof Rs()?t:m())}e36(r){var t=this.b5o_1,n=!0,a=0,s=0,u=0,_=0,o=r.k3a(t);if(o.a3b())u=o.p3a(t,0),s=s|1,_=o.p3a(t,1),s=s|2;else for(;n;)switch(a=o.b3b(t),a){case-1:n=!1;break;case 0:u=o.p3a(t,0),s=s|1;break;case 1:_=o.p3a(t,1),s=s|2;break;default:throw Xr().w37(a)}return o.l3a(t),Rs().d5o(s,u,_,null)}c36(){return this.b5o_1}p3i(){return[K(),K()]}}F(e).q3i=Hr,P(e,"$serializer",l,l,[Vr()]),yv=e}return yv}var H0;function V0(){return H0===l&&new(GP()),H0}var bv;function Rs(){if(bv===l){class e{toString(){return"GridPoint(cx="+this.t4o_1+", cy="+this.u4o_1+")"}hashCode(){var r=this.t4o_1;return r=U(r,31)+this.u4o_1|0,r}equals(r){return this===r?!0:!(!(r instanceof Rs())||this.t4o_1!==r.t4o_1||this.u4o_1!==r.u4o_1)}static d5o(r,t,n,a){(3&r)!==3&&rt(r,3,V0().b5o_1);var s=Ur(this);return s.t4o_1=t,s.u4o_1=n,s}}p(e,"GridPoint",l,l,l,l,l,{0:V0}),bv=e}return bv}function KI(e,i,r){if(r instanceof Ge())return null;var t;switch(i){case"Int":var n=r==null?null:Ce(r),a=n==null?null:n.c3u();t=a==null?null:Xs(a);break;case"Float":var s=r==null?null:Ce(r),u=s==null?null:s.c3u(),_;u==null?_=null:_=vd(u),t=_;break;case"String":case"Multilines":case"Text":case"FilePath":case"Color":var o=r==null?null:Ce(r);t=o==null?null:o.c3u();break;case"Bool":var c=r==null?null:Ce(r),h=c==null?null:c.c3u();t=h==null?null:sy(h);break;case"Point":var f;r==null?f=null:f=Ue().t3r(UI.v3t(),r),t=f;break;case"Tile":var v;r==null?v=null:v=Ue().t3r(RI.v3t(),r),t=v;break;case"EntityRef":var d;r==null?d=null:d=Ue().t3r(OI.v3t(),r),t=d;break;default:var y;if(xa(i,"LocalEnum.")){var b=r==null?null:Ce(r);y=b==null?null:b.c3u()}else if(xa(i,"Array<")){var w=oy(D7(i,"Array<"),">"),x=r==null?null:rT(r),q;if(x==null)q=null;else{for(var k=N().d1(yr(x,10)),A=x.e1();A.f1();){var D=A.g1(),B=KI(q1(),w,D);k.c1(B)}q=k}y=q}else throw H().u(i+" is not supported. Is the type describe exist in LdTK ? (https://ldtk.io/json/#ldtk-FieldInstanceJson) If yes, please fill an issue to support it in Tiny (https://github.com/minigdx/tiny/issues).");t=y;break}return t}function JP(e){return e.s36("__type",iq("__type",vn())),e.s36("__value",k1.v3t().c36()),S}var kv;function WP(){if(kv===l){class e{constructor(){Y0=this;var r=this;r.e5o_1=Dd("CustomField",[],JP)}c36(){return this.e5o_1}f5o(r,t){throw F7().r8("LdTk file is not supposed to be serialized. If you need to update it, Use LdTk instead: https://ldtk.io/")}d36(r,t){return this.f5o(r,t instanceof U0()?t:m())}e36(r){var t=k1.v3t().e36(r),n=QM(t),a=n.w1m("__identifier"),s=a==null?null:Ce(a),u=nr(s==null?null:s.c3u()),_=n.w1m("__type"),o=_==null?null:Ce(_),c=nr(o==null?null:o.c3u()),h=n.w1m("__value");return new(U0())(u,c,KI(this,c,h))}}P(e,"CustomFieldSerializer",l,l,[Y()]),kv=e}return kv}var Y0;function q1(){return Y0===l&&new(WP()),Y0}function HP(){return z1(),FI}function VP(){return z1(),DI}function YP(){return z1(),PI}function ZP(){return z1(),BI}Fm=new(qP());new(PP());OI=new(BP());RI=new(RP());UI=new(KP());var Cv;function GI(){if(Cv===l){class e{constructor(r,t,n,a,s,u,_){a=a===l?TI():a,this.i48_1=r,this.j48_1=t,this.k48_1=n,this.l48_1=a,this.m48_1=s,this.n48_1=u,this.o48_1=_}f48(){return this.i48_1}v47(){return this.j48_1}b48(){return this.k48_1}u47(){return this.l48_1}w47(r){this.m48_1=r}e48(){return this.m48_1}}p(e,"GameLevel",l,l,[Va()]),Cv=e}return Cv}var mg=Math.imul,xv;function XP(){if(xv===l){class e extends kr(){static b4y(r,t){return t===l&&(t={}),t.a4y_1=r,this.l2r(t)}g1q(r,t){var n=this.a4y_1.f4y_1.s49(this.a4y_1.h4y_1),a=n==null?null:n.t48_1,s;if(a==null)return g().c1k_1;s=a;var u=s,_=r.i1p(),o=t.i1p();if(JI(this.a4y_1,u,_,o)){var c=u.b4d(_,o),h=c[0];return g().y1t(h)}else return g().c1k_1}}p(e,"pget",l,l,l,[0,1,2,3]),xv=e}return xv}function JI(e,i,r,t){return(0<=r?r=n.length)return g().f1k_1;var a=this.x4y_1;this.x4y_1=a+1|0;var s=n[a],u=t.v1m(s);return u}}p(e,l,l,l,l,[1,2,0,3]),Ev=e}return Ev}var Nv;function iB(){if(Nv===l){class e extends Qt(){static b4z(){return this.n2q()}q1q(r){var t=nr(r.p1m(1)),n=r.j1p(2)-1|0;if(n<1)return g().f1k_1;var a=t.l1(n);if(a.k1o())return g().f1k_1;var s=g(),u=[g().y1t(n),a];return s.p25(u)}}p(e,l,l,l,l,[1,2,0,3]),Nv=e}return Nv}var Lv;function sB(){if(Lv===l){class e extends kr(){static f4z(r,t){return t===l&&(t={}),t.e4z_1=r,this.l2r(t)}f1q(r){return F(kr()).f1q.call(this,r)}g1q(r,t){var n;t.n1m()?n=Z0(this,nr(t.o1m())):n=sr().p1i();var a=n,s=Z0(this,nr(r.o1m()));return a.u1m(s),s.i1n("__index",s),a}}p(e,"new",l,l,l,[0,1,2,3]),Lv=e}return Lv}var jv;function lB(){if(jv===l){class e extends kr(){static j4z(r,t){return t===l&&(t={}),t.i4z_1=r,this.l2r(t)}g1q(r,t){var n;if(r.n1m()&t.n1m()){r instanceof sr()||m(),t instanceof sr()||m();for(var a=r.v1n(),s=0,u=a.length;sn;a.f3(r,s)}o4t(r,t){var n=dB().n52(t),a=this.j4l_1,s=()=>n;a.f3(r,s)}v1m(r){var t=r.o1p(),n=this.j4l_1,a=(j(n,kt())?n:m()).b3(t),s=a==null?null:a();return s??g().c1k_1}b1n(r,t){var n=r.o1p(),a=this.k4l_1,s=(j(a,kt())?a:m()).b3(n);s?.(t)}}p(e,"WrapperLuaTable",e.l4l,l,l,[0,1,2,3]),Uv=e}return Uv}var Dm=Math.imul;function gg(e,i,r,t){var n=Se().l4l();return n.e4m("toggle",()=>{if(e.x4l_1.u4l_1.length===0){for(var a=e.x4l_1,s=0,u=t.c4m_1.h1(),_=Array(u);syg(this,n.c4m_1))}f1q(r){var t=_e(this.n4m_1),n;if(t==null)return g().f1k_1;n=t;var a=n,s=Za(this.n4m_1,r),u;if(s==null)return g().f1k_1;u=s;var _=u,o=a.c4m_1.l1(_),c=o.h4o();return HI(this,c,()=>yg(this,Mg(o)))}}p(e,"entities",l,l,l,[0,1,2,3]),Yv=e}return Yv}function kg(e,i){if(e.u4l_1.length===0)return!0;var r=e.u4l_1,t;if(0<=i&&i<=(r.length-1|0))t=r[i];else return!0;return t}function _e(e){var i=e.o4l_1.w49(e.s4l_1),r=i==null?null:i.n48_1,t=r==null?null:r.o4n_1;return t==null?null:Ma(t,e.t4l_1)}function Za(e,i){var r=_e(e),t;if(r==null)return null;t=r;var n=t,a;if(i.h1o()){var s=i.i1p(),u;Ma(n.c4m_1,s)!=null?u=s:u=null,a=u}else{var _=i.o1p(),o=n.c4m_1,c;r:{for(var h=0,f=o.e1();f.f1();){var v=f.g1();if(v.h4o()===_){c=h;break r}h=h+1|0}c=-1}var d=c,y;d!==-1?y=d:y=null,a=y}return a}var Zv;function $B(){if(Zv===l){class e extends gr(){static i4o(r,t){return t===l&&(t={}),t.g4n_1=r,this.p2r(t)}e1q(){var r=this.g4n_1.o4l_1.w49(this.g4n_1.s4l_1),t;if(r==null)return g().c1k_1;t=r;var n=t,a=_e(this.g4n_1),s;if(a==null)return g().c1k_1;s=a;for(var u=s,_=u.c4m_1,o=N().p1(),c=0,h=_.e1();h.f1();){var f=h.g1(),v=c;c=v+1|0;var d=Ht(v);kg(this.g4n_1,d)&&f.c4n()!=null&&o.c1(f)}for(var y=gd(O7(o)),b=y.e1();b.f1();){var w=b.g1();bg(this,n,w)}return g().f1k_1}f1q(r){var t=Za(this.g4n_1,r),n;if(t==null)return g().c1k_1;n=t;var a=n;if(!kg(this.g4n_1,a))return g().c1k_1;var s=_e(this.g4n_1),u=s==null?null:s.c4m_1,_=u==null?null:Ma(u,a),o;if(_==null)return g().c1k_1;o=_;var c=o;if(c.c4n()==null)return g().c1k_1;var h=this.g4n_1.o4l_1.w49(this.g4n_1.s4l_1),f;if(h==null)return g().c1k_1;f=h;var v=f;return bg(this,v,c),g().f1k_1}}p(e,"draw",l,l,l,[0,1,2,3]),Zv=e}return Zv}function Cg(e,i,r,t){var n=t.m4o_1,a=n.l1(0),s=n.l1(1),u=t.l4o_1,_=u.l1(0),o=u.l1(1),c=LB(t.k4o_1),h=c.zd(),f=c.ae();e.q4l_1.o4o(i,a,s,r,r,_,o,h,f)}function AB(e,i){var r=sr().p1i();return r.c1n("entityIid",g().y1u(i.p4o_1)),r.c1n("layerIid",g().y1u(i.q4o_1)),r.c1n("levelIid",g().y1u(i.r4o_1)),r.c1n("worldIid",g().y1u(i.s4o_1)),r}function EB(e,i){var r=sr().p1i();return r.c1n("cx",g().y1t(i.t4o_1)),r.c1n("cy",g().y1t(i.u4o_1)),r}function NB(e,i){var r=sr().p1i();return r.c1n("x",g().y1t(i.y4o_1)),r.c1n("y",g().y1t(i.z4o_1)),r.c1n("w",g().y1t(i.x4o_1)),r.c1n("h",g().y1t(i.v4o_1)),r.c1n("tilesetUid",g().y1t(i.w4o_1)),r}function rd(e,i,r,t,n){var a=R7(i,MB),s=U7(a,f=>{var v=n(f,r,t),d=nr(f.a4p()),y;return 0<=v&&v=this.p4f_1.length||t<0)return g().e1k_1;var n=this.p4f_1[t];return g().u26(this.q4f_1.i4f_1.c4d(n))}}p(e,"pressed",l,l,l,[1,0,2,3]),f3=e}return f3}var v3;function tO(){if(v3===l){class e extends pr(){static v4f(r,t){return t===l&&(t={}),t.u4f_1=r,this.g2w(t)}f1q(r){var t=Cb(),n=r.i1p();if(n>=t.length||n<0)return g().e1k_1;var a=t[n];return g().u26(this.u4f_1.i4f_1.d4d(a))}}p(e,"pressing",l,l,l,[1,0,2,3]),v3=e}return v3}var p3;function eO(){if(p3===l){class e extends pr(){static z4f(r,t){return t===l&&(t={}),t.y4f_1=r,this.g2w(t)}f1q(r){var t=J5(),n=r.i1p();if(n>=t.length||n<0)return g().e1k_1;var a=J5()[n],s=this.y4f_1.i4f_1.f4d(a),u;if(s==null)u=null;else{var _=sr().p1i();_.e1n("x",Br(s.j4e_1)),_.e1n("y",Br(s.k4e_1)),u=_}var o=u,c=o??g().c1k_1;return c}}p(e,"touched",l,l,l,[1,0,2,3]),p3=e}return p3}var d3;function nO(){if(d3===l){class e extends pr(){static d4g(r,t){return t===l&&(t={}),t.c4g_1=r,this.g2w(t)}f1q(r){var t=En(),n=lt(t),a=r.i1p();if(a>=n.length||a<0)return g().e1k_1;var s=En().l1(a),u=this.c4g_1.i4f_1.e4d(s),_;if(u==null)_=null;else{var o=sr().p1i();o.e1n("x",Br(u.j4e_1)),o.e1n("y",Br(u.k4e_1)),_=o}var c=_,h=c??g().c1k_1;return h}}p(e,"touching",l,l,l,[1,0,2,3]),d3=e}return d3}var m3;function aO(){if(m3===l){class e extends kr(){static e4g(r,t){var n=this.l2r();return n.i4f_1=r,n.j4f_1=WI().f4g(t),n}g1q(r,t){var n=sr().p1i();return n.c1n("pressed",rO().r4f(this)),n.c1n("pressing",tO().v4f(this)),n.c1n("touch",QB().f4f(this)),n.c1n("touched",eO().z4f(this)),n.c1n("touching",nO().d4g(this)),t.c1n("ctrl",n),t.w1m("package").w1m("loaded").c1n("ctrl",n),n}}p(e,"CtrlLib",l,l,l,[0,1,2,3]),m3=e}return m3}var e$=Math.imul;function iO(e,i,r){var t=Sa(i.q4a_1,e.v4r_1.o4r_1),n=t==null?null:t.x4a_1;return n==null?null:Sa(n,r)}function sO(e){throw Xt().nc("An operation is not implemented: H")}function lO(e){return()=>{var i=e,r=i==null?null:i.u4q_1,t;r==null?t=null:t=g().y1u(r);var n=t;return n??g().c1k_1}}function uO(e,i){return()=>{var r;if(e.d4s_1)r=g().y1t(-1);else{var t=i;(t==null?null:t.t4q_1)!=null?r=g().y1t(i.t4q_1):r=g().c1k_1}return r}}function _O(e){return i=>{if(i.k1o())e.w4r_1=null,e.d4s_1=!1;else if(i.i1p()===-1)e.w4r_1=null,e.d4s_1=!0;else{var r=i.i1p();e.w4r_1=qe().w4q(K7(r,Yt(u1().t4q_1,Ad().t4q_1))-1|0),e.d4s_1=!1}return S}}function oO(e){return()=>{var i=e,r=i==null?null:i.y4q(),t;r==null?t=null:t=g().y1t(r);var n=t;return n??g().c1k_1}}function cO(e,i){return r=>{var t=e,n;return r.k1o()||i==null?n=$d():n=qe().x4q(i.u4q_1+We(r.i1p(),0,8)),t.w4r_1=n,S}}function hO(e){return()=>g().z1t(e.z4r_1*255)}function fO(e){return i=>(e.z4r_1=G7(i.r1o(),0,255)/255,S)}function vO(e){return()=>e.c4s_1?g().y1t(1):g().y1t(0)}function pO(e){return i=>(e.c4s_1=i.i1p()>=1,S)}function dO(e){return()=>{var i=e.a4s_1,r;i==null?r=null:r=g().y1t(i);var t=r;return t??g().c1k_1}}function mO(e){return i=>{var r=e,t;if(i.k1o())t=null;else{var n;i.i1p()<0?n=null:n=We(i.i1p(),0,7),t=n}return r.a4s_1=t,S}}function wO(e,i){return()=>g().z1t(e.l4s_1[i])}function gO(e,i){return r=>(e.l4s_1[i]=r.r1o(),S)}var w3;function yO(){if(w3===l){class e{constructor(r){this.q4s_1=r}hh(r,t){return this.q4s_1(r,t)}compare(r,t){return this.hh(r,t)}o3(){return this.q4s_1}equals(r){var t;if(r!=null&&j(r,ae())){var n;r!=null&&j(r,et())?n=E(this.o3(),r.o3()):n=!1,t=n}else t=!1;return t}hashCode(){return V(this.o3())}}p(e,"sam$kotlin_Comparator$0",l,l,[ae(),et()]),w3=e}return w3}function bO(e){var i=qe().x4q(e.z1f()),r=sr().p1i();return r.c1n("note",g().y1u(i.h3_1)),r.c1n("notei",g().y1t(i.t4q_1)),r.c1n("octave",g().y1t(i.y4q())),r}function kO(e,i){var r=e.x4r_1,t=i.x4r_1;return ja(r,t)}var g3;function n$(){if(g3===l){class e{constructor(r,t){this.r4s_1=r,this.s4s_1=t}toString(){return"SoundKey(soundIndex="+this.r4s_1+", barIndex="+this.s4s_1+")"}hashCode(){var r=this.r4s_1;return r=e$(r,31)+this.s4s_1|0,r}equals(r){return this===r?!0:!(!(r instanceof n$())||this.r4s_1!==r.r4s_1||this.s4s_1!==r.s4s_1)}}p(e,"SoundKey"),g3=e}return g3}var y3;function a$(){if(y3===l){class e{constructor(r,t){this.t4s_1=r,this.u4s_1=t}toString(){return"SequenceKey(soundIndex="+this.t4s_1+", sequenceIndex="+this.u4s_1+")"}hashCode(){var r=this.t4s_1;return r=e$(r,31)+this.u4s_1|0,r}equals(r){return this===r?!0:!(!(r instanceof a$())||this.t4s_1!==r.t4s_1||this.u4s_1!==r.u4s_1)}}p(e,"SequenceKey"),y3=e}return y3}function CO(e){e.r4r_1.v2(),e.s4r_1=e.s4r_1+1|0}var b3;function xO(){if(b3===l){class e extends dy(){static y4s(r,t){return t===l&&(t={}),t.x4s_1=r,this.v35(t)}e1q(){throw Xt().nc("An operation is not implemented: E")}}p(e,"export",l,l,l,[0,1,2,3]),b3=e}return b3}var k3;function SO(){if(k3===l){class e extends pr(){static c4t(r,t){return t===l&&(t={}),t.b4t_1=r,this.g2w(t)}f1q(r){throw Xt().nc("An operation is not implemented: F")}}p(e,"save",l,l,l,[1,0,2,3]),k3=e}return k3}var C3;function zO(){if(C3===l){class e extends pr(){static g4t(r,t){return t===l&&(t={}),t.f4t_1=r,this.g2w(t)}f1q(r){throw Xt().nc()}}p(e,"load",l,l,l,[1,0,2,3]),C3=e}return C3}var x3;function qO(){if(x3===l){class e extends pr(){static k4t(r,t){return t===l&&(t={}),t.j4t_1=r,this.g2w(t)}f1q(r){throw Xt().nc("An operation is not implemented: G")}}p(e,"music",l,l,l,[1,0,2,3]),x3=e}return x3}var S3;function IO(){if(S3===l){class e extends pr(){static l4t(r,t){return t===l&&(t={}),t.v4r_1=r,this.g2w(t)}f1q(r){var t=this.v4r_1.m4t(),n=FO(this.v4r_1,r,t),a;if(n==null)return g().c1k_1;a=n;var s=a,u=iO(this,t,s),_=u==null?null:this.n4t(u);return _??g().c1k_1}n4t(r){var t=Se().l4l();t.o4t("play",sO);var n=()=>g().z1t(r.e4b_1);return t.p4t("volume",n,a=>(r.e4b_1=a.y1o(0),S)),t.q4t("beats",()=>{for(var a=sr().p1i(),s=r.d4b_1,u=N().d1(yr(s,10)),_=s.e1();_.f1();){var o=_.g1(),c=o.w4r_1,h=Se().l4l();h.q4t("note",lO(c));var f=uO(o,c);h.p4t("notei",f,_O(o));var v=oO(c);h.p4t("octave",v,cO(o,c));var d=hO(o);h.p4t("volume",d,fO(o));var y=vO(o);h.p4t("mode",y,pO(o));var b=dO(o);h.p4t("instrument",b,mO(o)),u.c1(h)}for(var w=0,x=u.e1();x.f1();){var q=x.g1(),k=w;w=k+1|0;var A=Ht(k);a.k1n(A+1|0,q)}return a}),t}}p(e,"track",l,l,l,[1,0,2,3]),S3=e}return S3}var z3;function $O(){if(z3===l){class e extends gr(){static u4t(r,t){return t===l&&(t={}),t.t4t_1=r,this.p2r(t)}f1q(r){var t=this.t4t_1.m4t(),n=i$(this.t4t_1,r,t),a;if(n==null)return g().c1k_1;a=n;var s=a,u=this.t4t_1.r4r_1.b3(s),_;if(u==null){var o=Sa(t.o4a_1,s),c=o==null?null:this.v4t(o),h;c==null?h=null:(this.t4t_1.r4r_1.f3(s,c),h=c),_=h}else _=u;var f=_;return f??g().c1k_1}g1q(r,t){var n=this.f1q(r),a;if(n.equals(g().c1k_1)&&t.x1o(!1)){var s=r.s1o(),u=new(At())(s);this.t4t_1.m4t().o4a_1[s]=u,this.t4t_1.r4r_1.g3(s),a=this.v4t(u)}else a=n;return a}v4t(r){var t=Se().l4l();t.q4t("index",()=>g().y1t(r.e4s_1)),t.q4t("all",()=>{for(var f=sr().p1i(),v=this.t4t_1.m4t().o4a_1,d=N().p1(),y=0,b=v.length;y{var f=r.f4s_1,v;f==null?v=null:v=g().y1u(f);var d=v;return d??g().c1k_1};t.p4t("name",n,f=>(r.f4s_1=f.b1p(null),S));var a=()=>g().y1u(r.g4s_1.h3_1);t.p4t("wave",a,f=>{var v=r,d=f.o1p(),y;d==null?y=null:y=iF(d);var b=y;return v.g4s_1=b??cn(),S});var s=()=>g().z1t(r.h4s_1);t.p4t("attack",s,f=>(r.h4s_1=f.y1o(0),S));var u=()=>g().z1t(r.i4s_1);t.p4t("decay",u,f=>(r.i4s_1=f.y1o(0),S));var _=()=>g().z1t(r.j4s_1);t.p4t("sustain",_,f=>(r.j4s_1=f.y1o(0),S));var o=()=>g().z1t(r.k4s_1);t.p4t("release",o,f=>(r.k4s_1=f.y1o(0),S)),t.q4t("sweep",()=>{var f=Se().l4l(),v=()=>{var b=r.m4s_1.l1(0).w4t();return g().u26(b)};f.p4t("active",v,b=>{var w=b.x1o(!1);return r.m4s_1.l1(0).x4t(w),S});var d=()=>{var b=g(),w=r.m4s_1.l1(0);return b.z1t((w instanceof ee()?w:m()).z4t_1)};f.p4t("acceleration",d,b=>{var w=r.m4s_1.l1(0);return(w instanceof ee()?w:m()).z4t_1=b.y1o(0),S});var y=()=>{var b=g(),w=r.m4s_1.l1(0);return b.z1t((w instanceof ee()?w:m()).y4t_1)};return f.p4t("sweep",y,b=>{var w=r.m4s_1.l1(0);return(w instanceof ee()?w:m()).y4t_1=b.y1o(0),S}),f}),t.q4t("vibrato",()=>{var f=Se().l4l(),v=()=>{var b=r.m4s_1.l1(1).w4t();return g().u26(b)};f.p4t("active",v,b=>{var w=b.x1o(!1);return r.m4s_1.l1(1).x4t(w),S});var d=()=>{var b=g(),w=r.m4s_1.l1(1);return b.z1t((w instanceof ne()?w:m()).b4u_1)};f.p4t("frequency",d,b=>{var w=r.m4s_1.l1(1);return(w instanceof ne()?w:m()).b4u_1=b.y1o(0),S});var y=()=>{var b=g(),w=r.m4s_1.l1(1);return b.z1t((w instanceof ne()?w:m()).c4u_1)};return f.p4t("depth",y,b=>{var w=r.m4s_1.l1(1);return(w instanceof ne()?w:m()).c4u_1=b.y1o(0),S}),f}),t.o4t("noteOn",f=>{var v=qe().x4q(f.z1f());return this.t4t_1.j4r_1.e4u(v,r),g().f1k_1}),t.o4t("noteOff",f=>{var v=qe().x4q(f.z1f());return this.t4t_1.j4r_1.f4u(v),g().f1k_1}),t.q4t("harmonics",()=>{var f=Se().l4l(),v=Ct(0,r.l4s_1.length),d=v.v1_1,y=v.w1_1;if(d<=y)do{var b=d;d=d+1|0;var w=b,x=""+(w+1|0),q=wO(r,w);f.p4t(x,q,gO(r,w))}while(b!==y);return f});var c=this.t4t_1.r4r_1,h=r.e4s_1;return c.f3(h,t),t}}p(e,"instrument",l,l,l,[0,1,2,3]),z3=e}return z3}var q3;function AO(){if(q3===l){class e extends pr(){static j4u(r,t){return t===l&&(t={}),t.i4u_1=r,this.g2w(t)}f1q(r){var t=this.i4u_1.m4t(),n=r.i1p(),a=Sa(t.p4a_1,n),s=a==null?null:this.k4u(a,t);return s??g().c1k_1}k4u(r,t){var n=Se().l4l();n.q4t("index",()=>g().y1t(r.r4a_1)),n.q4t("all",()=>{for(var s=sr().p1i(),u=this.i4u_1.m4t().p4a_1,_=N().d1(u.length),o=0,c=u.length;og().y1t(r.u4a_1);return n.p4t("bpm",a,s=>(r.u4a_1=s.i1p(),S)),n.o4t("set_volume",s=>{var u=s.w1m("beat").q1o(),_=s.w1m("volume").q1o();return r.l4u(u,_),g().f1k_1}),n.o4t("set_note",s=>{var u=s.w1m("beat").q1o(),_=qe().x4q(s.w1m("note").z1f()),o=s.w1m("duration").q1o(),c=s.w1m("unique").x1o(!1);return r.m4u(_,u,o,c),g().f1k_1}),n.o4t("remove_note",s=>{var u=s.w1m("beat").q1o(),_=qe().x4q(s.w1m("note").z1f());return r.n4u(_,u),g().f1k_1}),n.o4t("note_data",bO),n.q4t("notes",()=>{for(var s=sr().p1i(),u=r.v4a_1,_=kO,o=new(yO())(_),c=Gs(u,o),h=N().d1(yr(c,10)),f=c.e1();f.f1();){var v=f.g1(),d=sr().p1i(),y=v.w4r_1,b=y==null?null:y.h3_1,w;b==null?w=null:w=g().y1u(b);var x=w;d.c1n("note",x??g().c1k_1);var q=v.w4r_1,k=q==null?null:q.t4q_1,A;k==null?A=null:A=g().y1t(k);var D=A;d.c1n("notei",D??g().c1k_1);var B=v.w4r_1,R=B==null?null:B.y4q(),W;R==null?W=null:W=g().y1t(R);var G=W;d.c1n("octave",G??g().c1k_1),d.c1n("volume",g().z1t(v.z4r_1)),d.c1n("beat",g().z1t(v.x4r_1)),d.c1n("duration",g().z1t(v.y4r_1)),h.c1(d)}for(var Q=0,X=h.e1();X.f1();){var rr=X.g1(),tr=Q;Q=tr+1|0;var ir=Ht(tr);s.k1n(ir+1|0,rr)}return s}),n.e4m("play",()=>{var s=this.i4u_1.j4r_1.o4u(r);s.p4u();var u=s,_=Se().l4l();return _.e4m("stop",()=>(u.q4u(),g().f1k_1)),_}),n.o4t("set_instrument",s=>{var u;if(s.k1o()){var _=r.s4a_1,o;_==null?o=null:o=g().y1t(_.e4s_1);var c=o;u=c??g().c1k_1}else{var h=i$(this.i4u_1,s,t),f;if(h==null)return g().c1k_1;f=h;var v=f,d=Sa(t.o4a_1,v),y;if(d==null)return g().c1k_1;y=d;var b=y;r.s4a_1=b,r.t4a_1=b.e4s_1,u=g().f1k_1}return u}),n.q4t("instrument",()=>{var s=r.s4a_1,u=s==null?null:s.e4s_1,_;u==null?_=null:_=g().y1t(u);var o=_;return o??g().c1k_1}),n.e4m("save",()=>{var s=this.i4u_1.i4r_1.x49(0),u;if(s==null)return g().c1k_1;u=s;var _=u,o=this.i4u_1.m4t(),c=un().r4u(o);return this.i4u_1.k4r_1.y4u(_.u4u_1,c),g().f1k_1}),n.e4m("export",()=>{var s=this.i4u_1.j4r_1.f4b(r);return this.i4u_1.k4r_1.z4u(s),g().f1k_1}),n}}p(e,"bar",l,l,l,[1,0,2,3]),q3=e}return q3}var I3;function EO(){if(I3===l){class e extends pr(){static d4v(r,t){return t===l&&(t={}),t.c4v_1=r,this.g2w(t)}e1q(){return F(pr()).e1q.call(this)}f1q(r){var t=this.c4v_1.m4t().p4a_1;if(t.length===0)return g().c1k_1;if(r.m1o()&&We(r.i1p(),0,t.length-1|0),this.c4v_1.l4r_1)throw Xt().nc("An operation is not implemented: K");return g().c1k_1}}p(e,"play",l,l,l,[1,0,2,3]),I3=e}return I3}var $3;function NO(){if($3===l){class e extends pr(){static h4v(r,t){return t===l&&(t={}),t.g4v_1=r,this.g2w(t)}e1q(){return F(pr()).e1q.call(this)}f1q(r){var t=this.g4v_1.m4t().p4a_1;if(t.length===0)return g().c1k_1;if(r.m1o()&&We(r.i1p(),0,t.length-1|0),this.g4v_1.l4r_1)throw Xt().nc("An operation is not implemented: L");return g().c1k_1}}p(e,"loop",l,l,l,[1,0,2,3]),$3=e}return $3}var A3;function LO(){if(A3===l){class e extends pr(){static l4v(r,t){return t===l&&(t={}),t.k4v_1=r,this.g2w(t)}e1q(){return F(pr()).e1q.call(this)}f1q(r){var t=this.k4v_1.m4t().p4a_1;if(t.length===0)return g().c1k_1;var n;r.m1o()?n=We(r.i1p(),0,t.length-1|0):n=0;var a=n,s=this.k4v_1.p4r_1.b3(new(n$())(this.k4v_1.n4r_1,a)),u;return s==null?u=null:(s.q4u(),u=S),u==null?g().c1k_1:g().f1k_1}}p(e,"stop",l,l,l,[1,0,2,3]),A3=e}return A3}var E3;function jO(){if(E3===l){class e extends pr(){static p4v(r,t){return t===l&&(t={}),t.o4v_1=r,this.g2w(t)}e1q(){return F(pr()).e1q.call(this)}f1q(r){var t=this.o4v_1.m4t().q4a_1;if(t.length===0)return g().c1k_1;if(r.m1o()&&We(r.i1p(),0,t.length-1|0),this.o4v_1.l4r_1)throw Xt().nc("An operation is not implemented: M");return g().c1k_1}}p(e,"mplay",l,l,l,[1,0,2,3]),E3=e}return E3}var N3;function MO(){if(N3===l){class e extends pr(){static t4v(r,t){return t===l&&(t={}),t.s4v_1=r,this.g2w(t)}e1q(){return F(pr()).e1q.call(this)}f1q(r){var t=this.s4v_1.m4t().q4a_1;if(t.length===0)return g().c1k_1;if(r.m1o()&&We(r.i1p(),0,t.length-1|0),this.s4v_1.l4r_1)throw Xt().nc("An operation is not implemented: N");return g().c1k_1}}p(e,"mloop",l,l,l,[1,0,2,3]),N3=e}return N3}var L3;function TO(){if(L3===l){class e extends pr(){static x4v(r,t){return t===l&&(t={}),t.w4v_1=r,this.g2w(t)}e1q(){return F(pr()).e1q.call(this)}f1q(r){var t=this.w4v_1.m4t().q4a_1;if(t.length===0)return g().c1k_1;var n;r.m1o()?n=We(r.i1p(),0,t.length-1|0):n=0;var a=n,s=this.w4v_1.q4r_1.b3(new(a$())(this.w4v_1.n4r_1,a)),u;return s==null?u=null:(s.q4u(),u=S),u==null?g().c1k_1:g().f1k_1}}p(e,"mstop",l,l,l,[1,0,2,3]),L3=e}return L3}function i$(e,i,r){var t;if(i.h1o()){var n=i.i1p(),a=r.o4a_1,s;r:{for(var u=0,_=a.length;u<_;){var o=a[u];if(u=u+1|0,(o==null?null:o.e4s_1)===n){s=o;break r}}s=null}var c=s;t=c==null?null:c.e4s_1}else{var h=r.o4a_1,f;r:{for(var v=0,d=h.length;v]";else{r.c1(V(n));var s=n.v1n(),u=J7(s," ",l,l,l,l,o=>cy(o.b1p("nil"),":")+u$(e,n.v1m(o),r));a="table["+u+"]"}t=a}else if(i.f1o()){var _=Ct(0,i.c1q());t="function("+Et(_,", ",l,l,l,l,ZO)+")"}else t=i.toString();return t}function VO(e,i,r,t){var n;return r===l?n=yt().o1():n=r,r=n,u$(e,i,r)}var J3;function YO(){if(J3===l){class e extends Qt(){static j4g(r,t){return t===l&&(t={}),t.i4g_1=r,this.n2q(t)}q1q(r){var t=r.c1q(),n=Yt(1,t),a=Et(n," ",l,l,l,l,s=>VO(this.i4g_1,r.b1q(s)));return this.i4g_1.m4g_1.n45("🐛",()=>a),g().c1k_1}}p(e,"console",l,l,l,[1,2,0,3]),J3=e}return J3}function ZO(e){return"arg"}var W3;function XO(){if(W3===l){class e extends kr(){static n4g(r){var t=this.l2r();return t.m4g_1=r,t}g1q(r,t){var n=sr().p1i();return n.c1n("console",YO().j4g(this)),t.c1n("debug",n),t.w1m("package").w1m("loaded").c1n("debug",n),n}}p(e,"DebugLib",l,l,l,[0,1,2,3]),W3=e}return W3}var H3;function QO(){if(H3===l){class e extends kr(){static e4l(){return this.l2r()}g1q(r,t){var n=sr().p1i(),a=ow(C(97),C(122)),s=a.xl_1,u=a.yl_1;if(s<=u)do{var _=new(J())(s);s=cw(s,1);var o=_.g2_1,c=ye(o,C(97));n.c1n(Lr(o),Ft().y1t(jb().i3_1+c|0))}while(!E(_,new(J())(u)));var h=ow(C(48),C(57)),f=h.xl_1,v=h.yl_1;if(f<=v)do{var d=new(J())(f);f=cw(f,1);var y=d.g2_1,b=ye(y,C(48));n.c1n(Lr(y),Ft().y1t(Lb().i3_1+b|0))}while(!E(d,new(J())(v)));return n.c1n("up",Ft().y1t(Ab().i3_1)),n.c1n("down",Ft().y1t(Nb().i3_1)),n.c1n("right",Ft().y1t(Eb().i3_1)),n.c1n("left",Ft().y1t($b().i3_1)),n.c1n("space",Ft().y1t(Ib().i3_1)),n.c1n("enter",Ft().y1t(Sb().i3_1)),n.c1n("shift",Ft().y1t(zb().i3_1)),n.c1n("ctrl",Ft().y1t(_a().i3_1)),n.c1n("alt",Ft().y1t(qb().i3_1)),n.c1n("delete",Ft().y1t(xb().i3_1)),t.c1n("keys",n),t.w1m("package").w1m("loaded").c1n("keys",n),n}}p(e,"KeysLib",e.e4l,l,l,[0,1,2,3]),H3=e}return H3}function V3(e,i){return i*i*i*(i*(i*6-15)+10)}function Bt(e,i){return(i+1|0)&255}function Te(e,i,r,t,n){var a=i&15,s=a<8?r:t,u;a<4?u=t:a===12||a===14?u=r:u=n;var _=u;return((a&1)===0?s:-s)+((a&2)===0?_:-_)}function Qe(e,i,r,t){return i+t*(r-i)}var Y3;function rR(){if(Y3===l){class e extends pr(){static f4p(r,t){return t===l&&(t={}),t.e4p_1=r,this.g2w(t)}f1q(r){var t;return r.q1o()>=0?t=g().h1k_1:t=o$().g4p_1,t}}p(e,"sign",l,l,l,[1,0,2,3]),Y3=e}return Y3}var Z3;function tR(){if(Z3===l){class e extends kr(){static k4p(r,t){return t===l&&(t={}),t.j4p_1=r,this.l2r(t)}g1q(r,t){var n=r.q1o(),a=t.q1o(),s=Math.atan2(n,a);return g().z1t(s)}}p(e,"atan2",l,l,l,[0,1,2,3]),Z3=e}return Z3}var X3;function eR(){if(X3===l){class e extends a1(){static o4p(r,t){return t===l&&(t={}),t.n4p_1=r,this.s35(t)}h1q(r,t,n){var a;r.q1o()>t.q1o()?a=r:a=t;var s=a,u;s.q1o()0){var s=an().zk(1,n.n1n()+1|0);a=n.l1(s)}else a=g().c1k_1;t=a}else{var u;if(r.h1o())u=g().y1t(an().q1(Ni(r.s1o())));else{var _=g(),o=an(),c=r.q1o(),h=Math.abs(c);u=_.z1t(o.cl(h))}t=u}return t}g1q(r,t){if(t.k1o())return this.f1q(r);var n=r.s1o(),a=t.s1o(),s;return n===a?s=g().y1t(n):s=g().y1t(an().zk(n,a)),s}}p(e,"rnd",l,l,l,[0,1,2,3]),t4=e}return t4}var e4;function iR(){if(e4===l){class e extends kr(){static f4q(r,t){return t===l&&(t={}),t.e4q_1=r,this.l2r(t)}g1q(r,t){var n=r.w1m("x").s1o(),a=r.w1m("y").s1o(),s=r.w1m("width").s1o(),u=r.w1m("height").s1o(),_=t.w1m("x").s1o(),o=t.w1m("y").s1o(),c=t.w1m("width").s1o(),h=t.w1m("height").s1o();return g().u26(n<(_+c|0)&&(n+s|0)>_&&a<(o+h|0)&&(a+u|0)>o)}}p(e,"roverlap",l,l,l,[0,1,2,3]),e4=e}return e4}var n4;function sR(){if(n4===l){class e extends a1(){static k4q(r,t,n){n===l&&(n={}),n.j4q_1=r;var a=this.s35(n),s=W7(e1(Yt(0,255)),Ug(t)),u=a,_=N().p1(),o=0;if(o<512)do{var c=o;o=o+1|0,_.c1(s.l1(c&255))}while(o<512);return u.i4q_1=_,a}l4q(r,t,n){var a=Math.floor(r),s=Br(a)&255,u=Math.floor(t),_=Br(u)&255,o=Math.floor(n),c=Br(o)&255,h=r-Math.floor(r),f=t-Math.floor(t),v=n-Math.floor(n),d=V3(this,h),y=V3(this,f),b=V3(this,v),w=this.i4q_1.l1(this.i4q_1.l1(this.i4q_1.l1(s)+_|0)+c|0),x=this.i4q_1.l1(this.i4q_1.l1(this.i4q_1.l1(s)+Bt(this,_)|0)+c|0),q=this.i4q_1.l1(this.i4q_1.l1(this.i4q_1.l1(s)+_|0)+Bt(this,c)|0),k=this.i4q_1.l1(this.i4q_1.l1(this.i4q_1.l1(s)+Bt(this,_)|0)+Bt(this,c)|0),A=this.i4q_1.l1(this.i4q_1.l1(this.i4q_1.l1(Bt(this,s))+_|0)+c|0),D=this.i4q_1.l1(this.i4q_1.l1(this.i4q_1.l1(Bt(this,s))+Bt(this,_)|0)+c|0),B=this.i4q_1.l1(this.i4q_1.l1(this.i4q_1.l1(Bt(this,s))+_|0)+Bt(this,c)|0),R=this.i4q_1.l1(this.i4q_1.l1(this.i4q_1.l1(Bt(this,s))+Bt(this,_)|0)+Bt(this,c)|0),W=Qe(this,Te(this,w,h,f,v),Te(this,A,h-1,f,v),d),G=Qe(this,Te(this,x,h,f-1,v),Te(this,D,h-1,f-1,v),d),Q=Qe(this,W,G,y),X=Qe(this,Te(this,q,h,f,v-1),Te(this,B,h-1,f,v-1),d),rr=Qe(this,Te(this,k,h,f-1,v-1),Te(this,R,h-1,f-1,v-1),d),tr=Qe(this,X,rr,y);return(Qe(this,Q,tr,b)+1)/2}h1q(r,t,n){return g().z1t(this.l4q(r.q1o(),t.q1o(),n.q1o()))}}p(e,"perlin",l,l,l,[0,1,2,3]),n4=e}return n4}var a4;function lR(){if(a4===l){class e{constructor(){ed=this,this.g4p_1=g().y1t(-1)}}ar(e),a4=e}return a4}var ed;function o$(){return ed===l&&new(lR()),ed}var i4;function uR(){if(i4===l){class e extends hA(){static o4q(){return o$(),this.c2z()}g1q(r,t){var n=super.g1q(r,t);return n.c1n("rnd",aR().b4q(this)),n.c1n("clamp",eR().o4p(this)),n.c1n("dst",nR().t4p(this)),n.c1n("dst2",_$().x4p(this)),n.c1n("sign",rR().f4p(this)),n.c1n("atan2",tR().k4p(this)),n.c1n("roverlap",iR().f4q(this)),n.c1n("perlin",sR().k4q(this,an().al())),n}}p(e,"MathLib",e.o4q,l,l,[0,1,2,3]),i4=e}return i4}var s4;function _R(){if(s4===l){class e extends kr(){static e51(){return this.l2r()}g1q(r,t){var n=wt.f51(r,t),a=n.l1(0),s=n.l1(1),u;a.k1o()?u=g().g1k_1:u=a;var _=u,o;s.k1o()?o=g().g1k_1:o=s;var c=o;return wt.g51(_,c)}f1q(r){return super.f1q(r)}}p(e,"create",e.e51,l,l,[0,1,2,3]),s4=e}return s4}var l4;function oR(){if(l4===l){class e extends Qt(){static j51(){return this.n2q()}q1q(r){var t=wt.k51(r),n=t.l1(0),a=t.l1(1),s=t.l1(2),u=t.l1(3);return wt.g51(g().z1t(n.q1o()+s.q1o()),g().z1t(a.q1o()+u.q1o()))}g1q(r,t){return super.g1q(r,t)}s2q(r,t,n,a){return super.s2q(r,t,n,a)}}p(e,"add",e.j51,l,l,[1,2,0,3]),l4=e}return l4}var u4;function cR(){if(u4===l){class e extends Qt(){static n51(){return this.n2q()}q1q(r){var t=wt.k51(r),n=t.l1(0),a=t.l1(1),s=t.l1(2),u=t.l1(3);return wt.g51(g().z1t(n.q1o()-s.q1o()),g().z1t(a.q1o()-u.q1o()))}g1q(r,t){return super.g1q(r,t)}s2q(r,t,n,a){return super.s2q(r,t,n,a)}}p(e,"sub",e.n51,l,l,[1,2,0,3]),u4=e}return u4}var _4;function hR(){if(_4===l){class e extends gr(){static q51(){return this.p2r()}q1q(r){var t=wt.k51(r),n=t.l1(0),a=t.l1(1),s=t.l1(2),u=t.l1(3);return g().z1t(n.q1o()*s.q1o()+a.q1o()*u.q1o())}g1q(r,t){return super.g1q(r,t)}s2q(r,t,n,a){return super.s2q(r,t,n,a)}}p(e,"dot",e.q51,l,l,[0,1,2,3]),_4=e}return _4}var o4;function fR(){if(o4===l){class e extends Qt(){static t51(){return this.n2q()}q1q(r){var t=wt.k51(r),n=t.l1(0),a=t.l1(1),s=g(),u=n.q1o()*n.q1o()+a.q1o()*a.q1o(),_=Math.sqrt(u);return s.z1t(_)}g1q(r,t){return super.g1q(r,t)}f1q(r){return super.f1q(r)}}p(e,"mag",e.t51,l,l,[1,2,0,3]),o4=e}return o4}var c4;function vR(){if(c4===l){class e extends Qt(){static w51(){return this.n2q()}q1q(r){var t=wt.k51(r),n=t.l1(0),a=t.l1(1),s=n.q1o()*n.q1o()+a.q1o()*a.q1o(),u=Math.sqrt(s),_;return u!==0?_=wt.g51(g().z1t(n.q1o()/u),g().z1t(a.q1o()/u)):_=wt.g51(g().y1t(0),g().y1t(0)),_}g1q(r,t){return super.g1q(r,t)}f1q(r){return super.f1q(r)}}p(e,"nor",e.w51,l,l,[1,2,0,3]),c4=e}return c4}var h4;function pR(){if(h4===l){class e extends Qt(){static z51(){return this.n2q()}q1q(r){var t=wt.k51(r),n=t.l1(0),a=t.l1(1),s=t.l1(2),u=t.l1(3);return g().z1t(n.q1o()*u.q1o()-a.q1o()*s.q1o())}g1q(r,t){return super.g1q(r,t)}s2q(r,t,n,a){return super.s2q(r,t,n,a)}}p(e,"crs",e.z51,l,l,[1,2,0,3]),h4=e}return h4}var f4;function dR(){if(f4===l){class e extends Qt(){static c52(){return this.n2q()}q1q(r){var t=wt.k51(r),n=t.l1(0),a=t.l1(1),s=t.l1(2);return wt.g51(g().z1t(n.q1o()*s.q1o()),g().z1t(a.q1o()*s.q1o()))}h1q(r,t,n){return super.h1q(r,t,n)}g1q(r,t){return super.g1q(r,t)}}p(e,"scl",e.c52,l,l,[1,2,0,3]),f4=e}return f4}var v4;function mR(){if(v4===l){class e{f51(r,t){var n;return r.n1m()?n=Rr([r.w1m("x"),r.w1m("y")]):n=Rr([r,t]),n}k51(r){for(var t=1,n=N().p1(),a=r.b1q(t);t<=r.c1q();)a.n1m()?(n.c1(a.w1m("x")),n.c1(a.w1m("y")),t=t+1|0):(r.c1q()-t|0)>=0&&(n.c1(a),t=t+1|0,n.c1(r.b1q(t)),t=t+1|0),a=r.b1q(t);return n}g51(r,t){var n=sr().p1i();return n.c1n("x",r),n.c1n("y",t),n}}ar(e),v4=e}return v4}var wt,p4;function wR(){if(p4===l){class e extends kr(){static f52(){return this.l2r()}g1q(r,t){var n=sr().p1i();return n.c1n("create",_R().e51()),n.c1n("add",oR().j51()),n.c1n("sub",cR().n51()),n.c1n("dot",hR().q51()),n.c1n("crs",pR().z51()),n.c1n("mag",fR().t51()),n.c1n("nor",vR().w51()),n.c1n("scl",dR().c52()),t.c1n("vec2",n),t.w1m("package").w1m("loaded").c1n("vec2",n),n}}p(e,"Vec2Lib",e.f52,l,l,[0,1,2,3]),p4=e}return p4}wt=new(mR());function Nt(e,i){return Math.pow(e,i)}function ct(e,i,r){return e+(i-e)*this.n4j(r)}var d4;function ht(){if(d4===l){class e{}Ar(e,"Interpolation"),d4=e}return d4}var m4;function vi(){if(m4===l){class e{constructor(r){this.o52_1=r}n4j(r){var t;return r<=.5?t=Nt(r*2,this.o52_1)/2:t=Nt((r-1)*2,this.o52_1)/((this.o52_1%2|0)===0?-2:2)+1,t}toString(){return"pow"+this.o52_1}}F(e).o4j=ct,p(e,"PowInterpolation",l,l,[ht()]),m4=e}return m4}var w4;function pi(){if(w4===l){class e{constructor(r){this.p52_1=r}n4j(r){return Nt(r,this.p52_1)}toString(){return"powIn"+this.p52_1}}F(e).o4j=ct,p(e,"PowInInterpolation",l,l,[ht()]),w4=e}return w4}var g4;function di(){if(g4===l){class e{constructor(r){this.q52_1=r}n4j(r){return Nt(r-1,this.q52_1)*((this.q52_1%2|0)===0?-1:1)+1}toString(){return"powOut"+this.q52_1}}F(e).o4j=ct,p(e,"PowOutInterpolation",l,l,[ht()]),g4=e}return g4}var y4;function c$(){if(y4===l){class e{n4j(r){var t=r*3.141592653589793;return(1-Math.cos(t))/2}toString(){return"sine"}}F(e).o4j=ct,p(e,"SineInterpolation",c$,l,[ht()]),y4=e}return y4}var b4;function h$(){if(b4===l){class e{n4j(r){var t=r*1.5707964;return 1-Math.cos(t)}toString(){return"sineIn"}}F(e).o4j=ct,p(e,"SineInInterpolation",h$,l,[ht()]),b4=e}return b4}var k4;function f$(){if(k4===l){class e{n4j(r){var t=r*1.5707964;return Math.sin(t)}toString(){return"sineOut"}}F(e).o4j=ct,p(e,"SineOutInterpolation",f$,l,[ht()]),k4=e}return k4}var C4;function v$(){if(C4===l){class e{n4j(r){var t=r;if(t<=.5){t=t*2;var n=1-t*t;return(1-Math.sqrt(n))/2}t=t-1,t=t*2;var a=1-t*t;return(Math.sqrt(a)+1)/2}toString(){return"circle"}}F(e).o4j=ct,p(e,"CircleInterpolation",v$,l,[ht()]),C4=e}return C4}var x4;function p$(){if(x4===l){class e{n4j(r){var t=1-r*r;return 1-Math.sqrt(t)}toString(){return"circleIn"}}F(e).o4j=ct,p(e,"CircleInInterpolation",p$,l,[ht()]),x4=e}return x4}var S4;function d$(){if(S4===l){class e{n4j(r){var t=r;t=t-1;var n=1-t*t;return Math.sqrt(n)}toString(){return"circleOut"}}F(e).o4j=ct,p(e,"CircleOutInterpolation",d$,l,[ht()]),S4=e}return S4}var z4;function Pm(){if(z4===l){class e{constructor(r,t,n,a){this.r52_1=r,this.s52_1=t,this.t52_1=a,this.u52_1=n*3.141592653589793*((n%2|0)===0?1:-1)}n4j(r){var t=r;if(t<=.5){t=t*2;var n=Nt(this.r52_1,this.s52_1*(t-1)),a=t*this.u52_1;return n*Math.sin(a)*this.t52_1/2}t=1-t,t=t*2;var s=Nt(this.r52_1,this.s52_1*(t-1)),u=t*this.u52_1;return 1-s*Math.sin(u)*this.t52_1/2}toString(){return"elastic"}}F(e).o4j=ct,p(e,"ElasticInterpolation",l,l,[ht()]),z4=e}return z4}var q4;function gR(){if(q4===l){class e extends Pm(){n4j(r){var t;if(r>=.99)t=1;else{var n=Nt(this.r52_1,this.s52_1*(r-1)),a=r*this.u52_1;t=n*Math.sin(a)*this.t52_1}return t}toString(){return"elasticIn"}}p(e,"ElasticInInterpolation"),q4=e}return q4}var I4;function yR(){if(I4===l){class e extends Pm(){n4j(r){var t=r;if(t===0)return 0;t=1-t;var n=Nt(this.r52_1,this.s52_1*(t-1)),a=t*this.u52_1;return 1-n*Math.sin(a)*this.t52_1}toString(){return"elasticOut"}}p(e,"ElasticOutInterpolation"),I4=e}return I4}var $4;function m$(){if($4===l){class e{n4j(r){return r}toString(){return"linear"}}F(e).o4j=ct,p(e,"LinearInterpolation",m$,l,[ht()]),$4=e}return $4}var A4;function Us(){if(A4===l){class e{constructor(r,t){this.d53_1=r,this.e53_1=t,this.f53_1=Nt(this.d53_1,-this.e53_1),this.g53_1=1/(1-this.f53_1)}n4j(r){var t;return r<=.5?t=(Nt(this.d53_1,this.e53_1*(r*2-1))-this.f53_1)*this.g53_1/2:t=(2-(Nt(this.d53_1,-this.e53_1*(r*2-1))-this.f53_1)*this.g53_1)/2,t}toString(){return"exp"+Br(this.e53_1)}}F(e).o4j=ct,p(e,"ExpInterpolation",l,l,[ht()]),A4=e}return A4}var E4;function Ig(){if(E4===l){class e extends Us(){n4j(r){return(Nt(this.d53_1,this.e53_1*(r-1))-this.f53_1)*this.g53_1}toString(){return"expIn"+Br(this.e53_1)}}p(e,"ExpInInterpolation"),E4=e}return E4}var N4;function $g(){if(N4===l){class e extends Us(){n4j(r){return 1-(Nt(this.d53_1,-this.e53_1*r)-this.f53_1)*this.g53_1}toString(){return"expOut"+Br(this.e53_1)}}p(e,"ExpOutInterpolation"),N4=e}return N4}function Ag(e,i){var r=i+e.p53_1[0]/2;return r5){var t="bounces cannot be < 2 or > 5: "+r;throw H().u($(t))}switch(this.p53_1=new Float32Array(r),this.q53_1=new Float32Array(r),this.q53_1[0]=1,r){case 2:this.p53_1[0]=.6,this.p53_1[1]=.4,this.q53_1[1]=.33;break;case 3:this.p53_1[0]=.4,this.p53_1[1]=.4,this.p53_1[2]=.2,this.q53_1[1]=.33,this.q53_1[2]=.1;break;case 4:this.p53_1[0]=.34,this.p53_1[1]=.34,this.p53_1[2]=.2,this.p53_1[3]=.15,this.q53_1[1]=.26,this.q53_1[2]=.11,this.q53_1[3]=.03;break;case 5:this.p53_1[0]=.3,this.p53_1[1]=.3,this.p53_1[2]=.2,this.p53_1[3]=.1,this.p53_1[4]=.1,this.q53_1[1]=.45,this.q53_1[2]=.3,this.q53_1[3]=.15,this.q53_1[4]=.06;break}var n=this.p53_1;n[0]=n[0]*2}n4j(r){var t=r;if(t===1)return 1;t=t+this.p53_1[0]/2;var n=0,a=0,s=0,u=this.p53_1.length;r:for(;s(n.p5a_1.p5c(this.b57_1),n.q5a_1.p5c(this.a57_1),a.s5b_1.w5c(r),S)),this.c57_1.y5c();var t=3;this.c57_1.rt(4,0,t),this.z56_1.a55(t),this.z56_1.b55(),this.c57_1.z5c()}}p(e,"FrameBufferStage"),Cf=e}return Cf}Pm=new(LD());var xf;function MD(){if(xf===l){class e{constructor(){this.n58_1=1e3,this.o58_1=100}}ar(e),xf=e}return xf}var Sf;function TD(){if(Sf===l){class e extends Gn(){constructor(r,t){t===l&&(t={}),t.r58_1=r,super(1e3,t)}k4d(){return this.r58_1.a56_1()}s58(r){r.b1h()}q4d(r){return this.s58(r!=null&&j(r,qm())?r:m())}}p(e),Sf=e}return Sf}var zf;function FD(){if(zf===l){class e extends Gn(){constructor(r,t){t===l&&(t={}),t.v58_1=r,super(1e3,t)}k4d(){return this.v58_1.b56_1()}w58(r){r.b1h()}q4d(r){return this.w58(r!=null&&j(r,Im())?r:m())}}p(e),zf=e}return zf}var qf;function DD(){if(qf===l){class e extends Gn(){constructor(r,t){t===l&&(t={}),t.z58_1=r,super(100,t)}k4d(){return this.z58_1.c56_1()}a59(r){r.b1h()}q4d(r){return this.a59(r!=null&&j(r,Am())?r:m())}}p(e),qf=e}return qf}var If;function dy(){if(If===l){class e{constructor(r,t,n){this.a56_1=r,this.b56_1=t,this.c56_1=n;var a=this;a.d56_1=zr().va();var s=this;s.e56_1=new(TD())(this);var u=this;u.f56_1=new(FD())(this);var _=this;_.g56_1=new(DD())(this)}e57(){return this.e56_1.t4d()}j57(){return this.f56_1.t4d()}u57(r,t){var n=this.d56_1,a=n.b3(r),s;if(a==null){var u=N().p1();n.f3(r,u),s=u}else s=a;var _=s,o=vg(_),c;if(o==null)c=null;else{var h;o.l58()?h=o:h=null,c=h}var f=c,v;if(f==null){var d=this.g56_1.t4d();_.c1(d),v=d}else v=f;var g=v;g.m58(t),this.f56_1.u4d([t])}h56(r){for(var t=this.d56_1.e3().e1();t.f1();)for(var n=t.g1(),a=n.x2(),s=n.y2(),u=s.e1();u.f1();){var _=u.g1();r(a,_)}this.v2()}v2(){this.g56_1.v4d(R7(this.d56_1.d3())),this.e56_1.v4d(this.d56_1.c3()),this.d56_1.v2()}}p(e,"BatchManager"),If=e}return If}new(MD());var ia=Math.imul,$f;function EI(){if($f===l){class e{constructor(r,t){this.g4b_1=r,this.h4b_1=t,this.i4b_1=0,this.j4b_1=this.g4b_1,this.k4b_1=0,this.l4b_1=this.h4b_1}m4b(r,t,n,a){var s=this,u=r+n|0,_=Math.min(r,u);s.i4b_1=Math.max(0,_);var o=this,c=r+n|0,h=Math.max(r,c),f=this.g4b_1;o.j4b_1=Math.min(h,f);var v=this,d=t+a|0,g=Math.min(t,d);v.k4b_1=Math.max(0,g);var b=this,w=t+a|0,x=Math.max(t,w),z=this.h4b_1;b.l4b_1=Math.min(x,z)}b1h(){this.i4b_1=0,this.j4b_1=this.g4b_1,this.k4b_1=0,this.l4b_1=this.h4b_1}equals(r){var t=r instanceof EI()?r:null,n;if(t==null)return!1;n=t;var a=n;return this.g4b_1===a.g4b_1&&this.h4b_1===a.h4b_1&&this.i4b_1===a.i4b_1&&this.j4b_1===a.j4b_1&&this.k4b_1===a.k4b_1&&this.l4b_1===a.l4b_1}hashCode(){var r=this.g4b_1;return r=ia(31,r)+this.h4b_1|0,r=ia(31,r)+this.i4b_1|0,r=ia(31,r)+this.j4b_1|0,r=ia(31,r)+this.k4b_1|0,r=ia(31,r)+this.l4b_1|0,r}}p(e,"Clipper"),$f=e}return $f}function PD(e){var i=e.e4c_1.slice();return e.f4c_1=i,i}var Af;function BD(){if(Af===l){class e{constructor(r){this.d4c_1=r;for(var t=this,n=0,a=this.d4c_1.w4b_1,s=Array(a);n(e.g55_1.z55(i,r),S)),e.g55_1.i56(),e.h55_1.y55(),e.n55_1.h56((i,r)=>(e.h55_1.n56(i,r),S)),e.h55_1.i56(),e.c55_1.xs(2929),e.c55_1.au(36160,null),e.k55_1=1,e.j55_1=null}function je(e){e.l55_1=null}function Xe(e,i){var r=i==null?null:i.y48_1,t=e.j55_1;E(r,t==null?null:t.y48_1)||(e.k55_1=e.k55_1-1e-4,e.j55_1=i)}function Qe(e,i,r,t,n,a){var s=e.q55_1.t4d().s56(i,r,t,n),u=e.q55_1.t4d().s56(e.o55_1.s4c_1.k4c_1,e.o55_1.s4c_1.l4c_1,e.d55_1.a47_1,e.d55_1.b47_1),_=e.q55_1.t4d().s56(e.o55_1.s4c_1.k4c_1+e.o55_1.q4c_1.i4b_1|0,e.o55_1.s4c_1.l4c_1+e.o55_1.q4c_1.k4b_1|0,e.o55_1.q4c_1.j4b_1,e.o55_1.q4c_1.l4b_1),o=e.q55_1.t4d();jI(e,u,_,o),UD(e,s,o)&&a(),e.q55_1.u4d([s,u,_,o])}var jf;function k0(){if(jf===l){class e{constructor(r,t,n,a){this.o56_1=r,this.p56_1=t,this.q56_1=n,this.r56_1=a}b1h(){this.s56(0,0,0,0)}s56(r,t,n,a){return this.o56_1=r,this.p56_1=t,this.q56_1=n,this.r56_1=a,this}toString(){return"BoundingBox(x="+this.o56_1+", y="+this.p56_1+", width="+this.q56_1+", height="+this.r56_1+")"}hashCode(){var r=this.o56_1;return r=un(r,31)+this.p56_1|0,r=un(r,31)+this.q56_1|0,r=un(r,31)+this.r56_1|0,r}equals(r){return this===r?!0:!(!(r instanceof k0())||this.o56_1!==r.o56_1||this.p56_1!==r.p56_1||this.q56_1!==r.q56_1||this.r56_1!==r.r56_1)}}p(e,"BoundingBox"),jf=e}return jf}function jI(e,i,r,t){var n=i.o56_1,a=r.o56_1,s=Math.max(n,a),u=i.p56_1,_=r.p56_1,o=Math.max(u,_),c=i.o56_1+i.q56_1|0,h=r.o56_1+r.q56_1|0,f=Math.min(c,h),v=i.p56_1+i.r56_1|0,d=r.p56_1+r.r56_1|0,g=Math.min(v,d);t.o56_1=s,t.p56_1=o;var b=t,w=f-s|0;b.q56_1=Math.max(0,w);var x=t,z=g-o|0;x.r56_1=Math.max(0,z)}function UD(e,i,r){var t=e.q55_1.t4d();jI(e,i,r,t);var n=t.q56_1>0&&t.r56_1>0;return e.q55_1.u4d([t]),n}var Mf;function KD(){if(Mf===l){class e{constructor(){this.t56_1=1e-4}}ar(e),Mf=e}return Mf}function GD(e){return b0(e),e.c55_1.au(36160,e.u55().s55_1),e.c55_1.iu(0,0,e.d55_1.a47_1,e.d55_1.b47_1,6408,5121,e.u55().t55_1),e.c55_1.au(36160,null),new(cD())(e.u55().t55_1,e.d55_1)}function JD(){return new(y0())}function WD(){return new($m())}function HD(){return new(mI())}function VD(){return wI}function YD(){return new(Em())}function ZD(){return new(yI())}var Tf;function XD(){if(Tf===l){class e extends Gn(){constructor(){super(100)}k4d(){return new(k0())(0,0,0,0)}w56(r){r.b1h()}q4d(r){return this.w56(r instanceof k0()?r:m())}}p(e),Tf=e}return Tf}var Ff;function QD(){if(Ff===l){class e{constructor(r,t,n){this.c55_1=r,this.d55_1=t,this.e55_1=n,this.g55_1=new(AD())(this.c55_1,this.d55_1,this.e55_1),this.h55_1=new(ND())(this.c55_1,this.d55_1,this.e55_1),this.i55_1=new(jD())(this.c55_1,this.d55_1,this.e55_1),this.j55_1=null,this.k55_1=1,this.l55_1=null;var a=this,s=JD,u=WD;a.m55_1=new(dy())(s,u,HD);var _=this,o=VD,c=YD;_.n55_1=new(dy())(o,c,ZD),this.o55_1=new(OD())(this.d55_1.a47_1,this.d55_1.b47_1,this.d55_1.n47()),this.p55_1=RD(this);var h=this;h.q55_1=new(XD())}u55(){var r=this.f55_1;if(r!=null)return r;st("frameBufferContext")}u46(r){this.g55_1.x56(),this.h55_1.x56(),this.i55_1.u46(r);var t=g0().yr(un(un(this.d55_1.a47_1,this.d55_1.b47_1),4)),n=this.c55_1.fu();this.c55_1.eu(36161,n),this.c55_1.hu(36161,35056,this.d55_1.a47_1,this.d55_1.b47_1);var a=this.c55_1.bu();this.c55_1.au(36160,a),this.c55_1.gu(36160,36128,36161,n),this.c55_1.gu(36160,36096,36161,n);var s=this.c55_1.kt();if(this.c55_1.nt(3553,s),this.c55_1.lt(3553,0,6408,this.d55_1.a47_1,this.d55_1.b47_1,0,6408,5121,t),this.c55_1.ot(3553,10241,9728),this.c55_1.ot(3553,10240,9728),this.c55_1.du(36160,36064,3553,s,0),this.c55_1.cu(36160)!==36053)throw fr().u3("Framebuffer is NOT complete!");this.f55_1=new(LI())(s,a,t),this.c55_1.ws(3042),this.c55_1.xs(3089),this.c55_1.nt(3553,null),this.c55_1.au(36160,null)}h50(r,t,n,a,s,u,_,o,c,h){return Qe(this,_,o,s,u,()=>{je(this),Xe(this,r);var f=this.o55_1.r4c_1.h4c()[t],v=this.m55_1.e57();v.i57(r,this.o55_1.r4c_1.g4c_1,this.p55_1[f]);var d=this.m55_1.j57();return d.t57(n,a,s,u,_-this.o55_1.s4c_1.k4c_1|0,o-this.o55_1.s4c_1.l4c_1|0,c,h,this.k55_1),this.m55_1.u57(v,d),S})}n4o(r,t,n,a,s,u,_,o,c){return Qe(this,u,_,a,s,()=>{je(this),Xe(this,r);var h=this.m55_1.e57();h.i57(r,this.o55_1.r4c_1.g4c_1,this.o55_1.r4c_1.h4c());var f=this.m55_1.j57();return f.t57(t,n,a,s,u-this.o55_1.s4c_1.k4c_1|0,_-this.o55_1.s4c_1.l4c_1|0,o,c,this.k55_1),this.m55_1.u57(h,f),S})}r4w(r,t,n,a,s,u){return Qe(this,r,t,n,a,()=>{je(this),Xe(this,null);var _=this.n55_1.e57(),o=this.n55_1.j57(),c=r-this.o55_1.s4c_1.k4c_1|0,h=t-this.o55_1.s4c_1.l4c_1|0,f=this.o55_1.r4c_1.h4c()[s],v=this.o55_1.r4c_1.g4c_1,d=this.k55_1,g=o.f58(c,h,n,a,f,v,u,d);return this.n55_1.u57(_,g),S})}m4w(r,t,n,a,s){var u=Math.min(r,n),_=Math.min(t,a),o=Tn(n-r|0)+1|0,c=Tn(a-t|0)+1|0;return Qe(this,u,_,o,c,()=>{je(this),Xe(this,null);var h=this.n55_1.e57(),f=this.n55_1.j57(),v=r-this.o55_1.s4c_1.k4c_1|0,d=t-this.o55_1.s4c_1.l4c_1|0,g=n-this.o55_1.s4c_1.k4c_1|0,b=a-this.o55_1.s4c_1.l4c_1|0,w=this.o55_1.r4c_1.h4c()[s],x=this.o55_1.r4c_1.g4c_1,z=this.k55_1,k=f.g58(v,d,g,b,x,w,z);return this.n55_1.u57(h,k),S})}a4x(r,t,n,a,s){var u=r-n|0,_=t-n|0,o=un(n,2),c=un(n,2);return Qe(this,u,_,o,c,()=>{je(this),Xe(this,null);var h=this.n55_1.e57(),f=this.n55_1.j57(),v=r-this.o55_1.s4c_1.k4c_1|0,d=t-this.o55_1.s4c_1.l4c_1|0,g=this.o55_1.r4c_1.h4c()[a],b=this.o55_1.r4c_1.g4c_1,w=this.k55_1,x=f.h58(v,d,n,g,b,s,w);return this.n55_1.u57(h,x),S})}d4i(r,t,n){return Qe(this,r,t,1,1,()=>{je(this),Xe(this,null);var a=this.n55_1.e57(),s=this.n55_1.j57(),u=r-this.o55_1.s4c_1.k4c_1|0,_=t-this.o55_1.s4c_1.l4c_1|0,o=this.o55_1.r4c_1.h4c()[n],c=this.o55_1.r4c_1.g4c_1,h=this.k55_1,f=s.i58(u,_,c,o,h);return this.n55_1.u57(a,f),S})}k4x(r,t,n,a,s,u,_,o){var c=Math.min(r,n),h=Math.min(c,s),f=Math.min(t,a),v=Math.min(f,u),d=Math.max(r,n),g=Math.max(d,s)-h|0,b=Math.max(t,a),w=Math.max(b,u)-v|0;Qe(this,h,v,g,w,()=>{je(this),Xe(this,null);var x=this.n55_1.e57(),z=this.n55_1.j57().j58(r-this.o55_1.s4c_1.k4c_1|0,t-this.o55_1.s4c_1.l4c_1|0,n-this.o55_1.s4c_1.k4c_1|0,a-this.o55_1.s4c_1.l4c_1|0,s-this.o55_1.s4c_1.k4c_1|0,u-this.o55_1.s4c_1.l4c_1|0,this.o55_1.r4c_1.h4c()[_],this.o55_1.r4c_1.g4c_1,o,this.k55_1);return this.n55_1.u57(x,z),S})}x46(){b0(this),this.i55_1.k58(this.u55().r55_1)}y46(r){this.g55_1.y46(r)}i4i(){var r=this.l55_1,t=r??GD(this);return this.l55_1=t,t}z4i(r){var t=this.o55_1.r4c_1.g4c_1;return this.o55_1.r4c_1.g4c_1=r,t}ht(r){je(this),this.m55_1.v2(),this.n55_1.v2(),this.c55_1.au(36160,this.u55().s55_1);var t=this.d55_1.n47().y4b(r),n=t[0],a=t[1],s=t[2],u=Mr(n),_=(Pr(u)&255)/255,o=Mr(a),c=(Pr(o)&255)/255,h=Mr(s),f=Pr(h)&255;this.c55_1.it(_,c,f/255,1),this.c55_1.ht(16640),this.c55_1.au(36160,null)}q4i(){this.o55_1.r4c_1.i4c()}r4i(r,t){this.o55_1.r4c_1.j4c(r,t)}u4i(r,t){this.o55_1.s4c_1.m4c(r,t)}n4h(){return T(this.o55_1.s4c_1.k4c_1,this.o55_1.s4c_1.l4c_1)}t4i(){this.o55_1.s4c_1.m4c(0,0)}f4j(r,t,n,a){this.o55_1.q4c_1.m4b(r,t,n,a)}e4j(){this.o55_1.q4c_1.b1h()}u4h(r){switch(b0(this),this.c55_1.au(36160,this.u55().s55_1),r.i3_1){case 0:this.c55_1.xs(2960),this.c55_1.ws(3042),this.c55_1.wt(0),this.c55_1.jt(770,771),this.c55_1.xt(!0,!0,!0,!0);break;case 1:this.c55_1.xs(2960),this.c55_1.ws(3042),this.c55_1.vt(0,1,0,771),this.c55_1.xt(!0,!0,!0,!0);break;case 2:this.c55_1.ws(2960),this.c55_1.xs(3042),this.c55_1.wt(255),this.c55_1.ht(1024),this.c55_1.zt(519,1,255),this.c55_1.yt(7680,7680,7681),this.c55_1.xt(!1,!1,!1,!1);break;case 3:this.c55_1.ws(2960),this.c55_1.ws(3042),this.c55_1.wt(0),this.c55_1.zt(514,1,255),this.c55_1.yt(7680,7680,7680),this.c55_1.xt(!0,!0,!0,!0),this.c55_1.jt(770,771);break;case 4:this.c55_1.ws(2960),this.c55_1.ws(3042),this.c55_1.wt(0),this.c55_1.zt(517,1,255),this.c55_1.yt(7680,7680,7680),this.c55_1.xt(!0,!0,!0,!0),this.c55_1.jt(770,771);break;default:yt();break}this.c55_1.au(36160,null)}}p(e,"DefaultVirtualFrameBuffer"),Ff=e}return Ff}new(KD());var MI,TI,FI,DI,PI,BI,OI,wy;function xn(){if(wy)return S;wy=!0,MI=new(Me())("BOOT_GAMESCRIPT",0),TI=new(Me())("GAME_GAMESCRIPT",1),FI=new(Me())("ENGINE_GAMESCRIPT",2),DI=new(Me())("BOOT_SPRITESHEET",3),PI=new(Me())("GAME_SPRITESHEET",4),BI=new(Me())("GAME_LEVEL",5),OI=new(Me())("GAME_SOUND",6),new(Me())("PRIMITIVE_SPRITESHEET",7)}var Df;function Me(){if(Df===l){class e extends Kt(){}p(e,"ResourceType"),Df=e}return Df}function Ps(){return xn(),MI}function rP(){return xn(),TI}function Bs(){return xn(),FI}function yy(){return xn(),DI}function Bm(){return xn(),PI}function RI(){return xn(),BI}function tP(){return xn(),OI}var Pf;function Qa(){if(Pf===l){class e{}Ar(e,"GameResource"),Pf=e}return Pf}var sa=Math.imul,Bf;function q1(){if(Bf===l){class e{constructor(r,t,n,a,s,u){s=s===l?tP():s,u=u===l?!1:u,this.r4u_1=r,this.s4u_1=t,this.t4u_1=n,this.u4u_1=a,this.v4u_1=s,this.w4u_1=u}f48(){return this.r4u_1}v47(){return this.s4u_1}b48(){return this.t4u_1}u47(){return this.v4u_1}w47(r){this.w4u_1=r}e48(){return this.w4u_1}toString(){return"Sound(version="+this.r4u_1+", index="+this.s4u_1+", name="+this.t4u_1+", data="+$(this.u4u_1)+", type="+this.v4u_1.toString()+", reload="+this.w4u_1+")"}hashCode(){var r=this.r4u_1;return r=sa(r,31)+this.s4u_1|0,r=sa(r,31)+br(this.t4u_1)|0,r=sa(r,31)+Z(this.u4u_1)|0,r=sa(r,31)+this.v4u_1.hashCode()|0,r=sa(r,31)+Ca(this.w4u_1)|0,r}equals(r){return this===r?!0:!(!(r instanceof q1())||this.r4u_1!==r.r4u_1||this.s4u_1!==r.s4u_1||this.t4u_1!==r.t4u_1||!E(this.u4u_1,r.u4u_1)||!this.v4u_1.equals(r.v4u_1)||this.w4u_1!==r.w4u_1)}}p(e,"Sound",l,l,[Qa()]),Bf=e}return Bf}var U=Math.imul,UI,KI,GI,JI;function eP(){return[nB(),aB(),iB(),sB()]}var gy;function I1(){if(gy)return S;gy=!0,UI=new(di())("LinearHorizontal",0),KI=new(di())("LinearVertical",1),GI=new(di())("Free",2),JI=new(di())("GridVania",3)}var Of;function di(){if(Of===l){class e extends Kt(){}p(e,"WorldLayout"),Of=e}return Of}function nP(){return mm("com.github.minigdx.tiny.resources.ldtk.WorldLayout",eP())}function aP(){return new(Cr())(I0())}function iP(e){return e.y3s_1=!0,e.l3s_1=!0,e.q3s_1="__type",S}var Rf;function sP(){if(Rf===l){class e{constructor(){C0=this;var r=this,t=lr(),n=ur(t,nP),a=lr();r.n5i_1=[null,n,ur(a,aP)]}o5i(r){var t=Vq(l,iP);return t.s3r(this.v3t(),r)}v3t(){return S0()}}ar(e),Rf=e}return Rf}var C0;function ka(){return C0===l&&new(sP()),C0}var Uf;function lP(){if(Uf===l){class e{constructor(){x0=this;var r=new(Kr())("com.github.minigdx.tiny.resources.ldtk.Ldtk",this,3);r.a3i("iid",!1),r.a3i("worldLayout",!1),r.a3i("levels",!1),this.w5l_1=r}x5l(r,t){var n=this.w5l_1,a=r.k3a(n),s=ka().n5i_1;a.a3c(n,0,t.l4n_1),a.c3c(n,1,s[1].y2(),t.m4n_1),a.c3c(n,2,s[2].y2(),t.n4n_1),a.l3a(n)}d36(r,t){return this.x5l(r,t instanceof Os()?t:m())}e36(r){var t=this.w5l_1,n=!0,a=0,s=0,u=null,_=null,o=null,c=r.k3a(t),h=ka().n5i_1;if(c.a3b())u=c.u3a(t,0),s=s|1,_=c.w3a(t,1,h[1].y2(),_),s=s|2,o=c.w3a(t,2,h[2].y2(),o),s=s|4;else for(;n;)switch(a=c.b3b(t),a){case-1:n=!1;break;case 0:u=c.u3a(t,0),s=s|1;break;case 1:_=c.w3a(t,1,h[1].y2(),_),s=s|2;break;case 2:o=c.w3a(t,2,h[2].y2(),o),s=s|4;break;default:throw Xr().w37(a)}return c.l3a(t),Os().y5l(s,u,_,o,null)}c36(){return this.w5l_1}p3i(){var r=ka().n5i_1;return[qr(),r[1].y2(),r[2].y2()]}}F(e).q3i=Hr,P(e,"$serializer",l,l,[Vr()]),Uf=e}return Uf}var x0;function S0(){return x0===l&&new(lP()),x0}var Kf;function Os(){if(Kf===l){class e{toString(){return"Ldtk(iid="+this.l4n_1+", worldLayout="+this.m4n_1.toString()+", levels="+$(this.n4n_1)+")"}hashCode(){var r=br(this.l4n_1);return r=U(r,31)+this.m4n_1.hashCode()|0,r=U(r,31)+Z(this.n4n_1)|0,r}equals(r){return this===r?!0:!(!(r instanceof Os())||this.l4n_1!==r.l4n_1||!this.m4n_1.equals(r.m4n_1)||!E(this.n4n_1,r.n4n_1))}static y5l(r,t,n,a,s){ka(),(7&r)!==7&&rt(r,7,S0().w5l_1);var u=Ur(this);return u.l4n_1=t,u.m4n_1=n,u.n4n_1=a,u}}p(e,"Ldtk",l,l,l,l,l,{0:S0}),Kf=e}return Kf}function uP(){return new(Cr())(Om.v3t())}function _P(){return new(Cr())($1())}var Gf;function oP(){if(Gf===l){class e{constructor(){z0=this;var r=this,t=lr(),n=ur(t,uP),a=lr();r.z5l_1=[null,null,null,null,n,ur(a,_P)]}}ar(e),Gf=e}return Gf}var z0;function Ii(){return z0===l&&new(oP()),z0}var Jf;function cP(){if(Jf===l){class e{constructor(){q0=this;var r=new(Kr())("com.github.minigdx.tiny.resources.ldtk.Level",this,6);r.a3i("identifier",!1),r.a3i("iid",!1),r.a3i("worldX",!1),r.a3i("worldY",!1),r.a3i("layerInstances",!1),r.a3i("fieldInstances",!1),this.a5m_1=r}b5m(r,t){var n=this.a5m_1,a=r.k3a(n),s=Ii().z5l_1;a.a3c(n,0,t.x4l_1),a.a3c(n,1,t.y4l_1),a.v3b(n,2,t.z4l_1),a.v3b(n,3,t.a4m_1),a.c3c(n,4,s[4].y2(),t.b4m_1),a.c3c(n,5,s[5].y2(),t.c4m_1),a.l3a(n)}d36(r,t){return this.b5m(r,t instanceof $0()?t:m())}e36(r){var t=this.a5m_1,n=!0,a=0,s=0,u=null,_=null,o=0,c=0,h=null,f=null,v=r.k3a(t),d=Ii().z5l_1;if(v.a3b())u=v.u3a(t,0),s=s|1,_=v.u3a(t,1),s=s|2,o=v.p3a(t,2),s=s|4,c=v.p3a(t,3),s=s|8,h=v.w3a(t,4,d[4].y2(),h),s=s|16,f=v.w3a(t,5,d[5].y2(),f),s=s|32;else for(;n;)switch(a=v.b3b(t),a){case-1:n=!1;break;case 0:u=v.u3a(t,0),s=s|1;break;case 1:_=v.u3a(t,1),s=s|2;break;case 2:o=v.p3a(t,2),s=s|4;break;case 3:c=v.p3a(t,3),s=s|8;break;case 4:h=v.w3a(t,4,d[4].y2(),h),s=s|16;break;case 5:f=v.w3a(t,5,d[5].y2(),f),s=s|32;break;default:throw Xr().w37(a)}return v.l3a(t),$0().c5m(s,u,_,o,c,h,f,null)}c36(){return this.a5m_1}p3i(){var r=Ii().z5l_1;return[qr(),qr(),K(),K(),r[4].y2(),r[5].y2()]}}F(e).q3i=Hr,P(e,"$serializer",l,l,[Vr()]),Jf=e}return Jf}var q0;function I0(){return q0===l&&new(cP()),q0}var Wf;function $0(){if(Wf===l){class e{toString(){return"Level(identifier="+this.x4l_1+", iid="+this.y4l_1+", worldX="+this.z4l_1+", worldY="+this.a4m_1+", layerInstances="+$(this.b4m_1)+", fieldInstances="+$(this.c4m_1)+")"}hashCode(){var r=br(this.x4l_1);return r=U(r,31)+br(this.y4l_1)|0,r=U(r,31)+this.z4l_1|0,r=U(r,31)+this.a4m_1|0,r=U(r,31)+Z(this.b4m_1)|0,r=U(r,31)+Z(this.c4m_1)|0,r}equals(r){return this===r?!0:!(!(r instanceof $0())||this.x4l_1!==r.x4l_1||this.y4l_1!==r.y4l_1||this.z4l_1!==r.z4l_1||this.a4m_1!==r.a4m_1||!E(this.b4m_1,r.b4m_1)||!E(this.c4m_1,r.c4m_1))}static c5m(r,t,n,a,s,u,_,o){Ii(),(63&r)!==63&&rt(r,63,I0().a5m_1);var c=Ur(this);return c.x4l_1=t,c.y4l_1=n,c.z4l_1=a,c.a4m_1=s,c.b4m_1=u,c.c4m_1=_,c}}p(e,"Level",l,l,l,l,l,{0:I0}),Wf=e}return Wf}function hP(){return new(Cr())(K())}function fP(){return new(Cr())(Un())}function vP(){return new(Cr())(ue())}function pP(){return new(Cr())(ue())}var Hf;function dP(){if(Hf===l){class e{constructor(){A0=this;var r=this,t=lr(),n=ur(t,hP),a=lr(),s=ur(a,fP),u=lr(),_=ur(u,vP),o=lr();r.d5m_1=[null,null,null,null,null,null,null,n,null,s,null,_,ur(o,pP)]}}ar(e),Hf=e}return Hf}var A0;function $i(){return A0===l&&new(dP()),A0}var Vf;function mP(){if(Vf===l){class e{constructor(){E0=this;var r=new(Kr())("IntGrid",this,13);r.a3i("__identifier",!1),r.a3i("__cWid",!1),r.a3i("__cHei",!1),r.a3i("__gridSize",!1),r.a3i("pxOffsetX",!1),r.a3i("pxOffsetY",!1),r.a3i("seed",!1),r.a3i("intGridCsv",!1),r.a3i("overrideTilesetUid",!0),r.a3i("entityInstances",!0),r.a3i("__tilesetRelPath",!0),r.a3i("autoLayerTiles",!0),r.a3i("gridTiles",!0),this.e5m_1=r}f5m(r,t){var n=this.e5m_1,a=r.k3a(n),s=$i().d5m_1;a.a3c(n,0,t.g5m_1),a.v3b(n,1,t.h5m_1),a.v3b(n,2,t.i5m_1),a.v3b(n,3,t.j5m_1),a.v3b(n,4,t.k5m_1),a.v3b(n,5,t.l5m_1),a.w3b(n,6,t.m5m_1),a.c3c(n,7,s[7].y2(),t.n5m_1),(a.i3c(n,8)||t.o5m_1!=null)&&a.e3c(n,8,K(),t.o5m_1),(a.i3c(n,9)||t.p5m_1!=null)&&a.e3c(n,9,s[9].y2(),t.p5m_1),(a.i3c(n,10)||t.q5m_1!=null)&&a.e3c(n,10,qr(),t.q5m_1),(a.i3c(n,11)||t.r5m_1!=null)&&a.e3c(n,11,s[11].y2(),t.r5m_1),(a.i3c(n,12)||t.s5m_1!=null)&&a.e3c(n,12,s[12].y2(),t.s5m_1),a.l3a(n)}d36(r,t){return this.f5m(r,t instanceof Ma()?t:m())}e36(r){var t=this.e5m_1,n=!0,a=0,s=0,u=null,_=0,o=0,c=0,h=0,f=0,v=0n,d=null,g=null,b=null,w=null,x=null,z=null,k=r.k3a(t),A=$i().d5m_1;if(k.a3b())u=k.u3a(t,0),s=s|1,_=k.p3a(t,1),s=s|2,o=k.p3a(t,2),s=s|4,c=k.p3a(t,3),s=s|8,h=k.p3a(t,4),s=s|16,f=k.p3a(t,5),s=s|32,v=k.q3a(t,6),s=s|64,d=k.w3a(t,7,A[7].y2(),d),s=s|128,g=k.y3a(t,8,K(),g),s=s|256,b=k.y3a(t,9,A[9].y2(),b),s=s|512,w=k.y3a(t,10,qr(),w),s=s|1024,x=k.y3a(t,11,A[11].y2(),x),s=s|2048,z=k.y3a(t,12,A[12].y2(),z),s=s|4096;else for(;n;)switch(a=k.b3b(t),a){case-1:n=!1;break;case 0:u=k.u3a(t,0),s=s|1;break;case 1:_=k.p3a(t,1),s=s|2;break;case 2:o=k.p3a(t,2),s=s|4;break;case 3:c=k.p3a(t,3),s=s|8;break;case 4:h=k.p3a(t,4),s=s|16;break;case 5:f=k.p3a(t,5),s=s|32;break;case 6:v=k.q3a(t,6),s=s|64;break;case 7:d=k.w3a(t,7,A[7].y2(),d),s=s|128;break;case 8:g=k.y3a(t,8,K(),g),s=s|256;break;case 9:b=k.y3a(t,9,A[9].y2(),b),s=s|512;break;case 10:w=k.y3a(t,10,qr(),w),s=s|1024;break;case 11:x=k.y3a(t,11,A[11].y2(),x),s=s|2048;break;case 12:z=k.y3a(t,12,A[12].y2(),z),s=s|4096;break;default:throw Xr().w37(a)}return k.l3a(t),Ma().t5m(s,u,_,o,c,h,f,v,d,g,b,w,x,z,null)}c36(){return this.e5m_1}p3i(){var r=$i().d5m_1;return[qr(),K(),K(),K(),K(),K(),Wa(),r[7].y2(),$r(K()),$r(r[9].y2()),$r(qr()),$r(r[11].y2()),$r(r[12].y2())]}}F(e).q3i=Hr,P(e,"$serializer",l,l,[Vr()]),Vf=e}return Vf}var E0;function N0(){return E0===l&&new(mP()),E0}function wP(){return new(Cr())(ue())}function yP(){return new(Cr())(K())}function gP(){return new(Cr())(Un())}function bP(){return new(Cr())(ue())}var Yf;function kP(){if(Yf===l){class e{constructor(){L0=this;var r=this,t=lr(),n=ur(t,wP),a=lr(),s=ur(a,yP),u=lr(),_=ur(u,gP),o=lr();r.u5m_1=[null,null,null,null,null,null,null,n,null,null,s,_,ur(o,bP)]}}ar(e),Yf=e}return Yf}var L0;function Ai(){return L0===l&&new(kP()),L0}var Zf;function CP(){if(Zf===l){class e{constructor(){j0=this;var r=new(Kr())("AutoLayer",this,13);r.a3i("__identifier",!1),r.a3i("__cWid",!1),r.a3i("__cHei",!1),r.a3i("__gridSize",!1),r.a3i("pxOffsetX",!1),r.a3i("pxOffsetY",!1),r.a3i("seed",!1),r.a3i("autoLayerTiles",!1),r.a3i("__tilesetRelPath",!1),r.a3i("overrideTilesetUid",!0),r.a3i("intGridCsv",!0),r.a3i("entityInstances",!0),r.a3i("gridTiles",!0),this.v5m_1=r}w5m(r,t){var n=this.v5m_1,a=r.k3a(n),s=Ai().u5m_1;a.a3c(n,0,t.t5k_1),a.v3b(n,1,t.u5k_1),a.v3b(n,2,t.v5k_1),a.v3b(n,3,t.w5k_1),a.v3b(n,4,t.x5k_1),a.v3b(n,5,t.y5k_1),a.w3b(n,6,t.z5k_1),a.c3c(n,7,s[7].y2(),t.a5l_1),a.a3c(n,8,t.b5l_1),(a.i3c(n,9)||t.c5l_1!=null)&&a.e3c(n,9,K(),t.c5l_1),(a.i3c(n,10)||t.d5l_1!=null)&&a.e3c(n,10,s[10].y2(),t.d5l_1),(a.i3c(n,11)||t.e5l_1!=null)&&a.e3c(n,11,s[11].y2(),t.e5l_1),(a.i3c(n,12)||t.f5l_1!=null)&&a.e3c(n,12,s[12].y2(),t.f5l_1),a.l3a(n)}d36(r,t){return this.w5m(r,t instanceof Ta()?t:m())}e36(r){var t=this.v5m_1,n=!0,a=0,s=0,u=null,_=0,o=0,c=0,h=0,f=0,v=0n,d=null,g=null,b=null,w=null,x=null,z=null,k=r.k3a(t),A=Ai().u5m_1;if(k.a3b())u=k.u3a(t,0),s=s|1,_=k.p3a(t,1),s=s|2,o=k.p3a(t,2),s=s|4,c=k.p3a(t,3),s=s|8,h=k.p3a(t,4),s=s|16,f=k.p3a(t,5),s=s|32,v=k.q3a(t,6),s=s|64,d=k.w3a(t,7,A[7].y2(),d),s=s|128,g=k.u3a(t,8),s=s|256,b=k.y3a(t,9,K(),b),s=s|512,w=k.y3a(t,10,A[10].y2(),w),s=s|1024,x=k.y3a(t,11,A[11].y2(),x),s=s|2048,z=k.y3a(t,12,A[12].y2(),z),s=s|4096;else for(;n;)switch(a=k.b3b(t),a){case-1:n=!1;break;case 0:u=k.u3a(t,0),s=s|1;break;case 1:_=k.p3a(t,1),s=s|2;break;case 2:o=k.p3a(t,2),s=s|4;break;case 3:c=k.p3a(t,3),s=s|8;break;case 4:h=k.p3a(t,4),s=s|16;break;case 5:f=k.p3a(t,5),s=s|32;break;case 6:v=k.q3a(t,6),s=s|64;break;case 7:d=k.w3a(t,7,A[7].y2(),d),s=s|128;break;case 8:g=k.u3a(t,8),s=s|256;break;case 9:b=k.y3a(t,9,K(),b),s=s|512;break;case 10:w=k.y3a(t,10,A[10].y2(),w),s=s|1024;break;case 11:x=k.y3a(t,11,A[11].y2(),x),s=s|2048;break;case 12:z=k.y3a(t,12,A[12].y2(),z),s=s|4096;break;default:throw Xr().w37(a)}return k.l3a(t),Ta().x5m(s,u,_,o,c,h,f,v,d,g,b,w,x,z,null)}c36(){return this.v5m_1}p3i(){var r=Ai().u5m_1;return[qr(),K(),K(),K(),K(),K(),Wa(),r[7].y2(),qr(),$r(K()),$r(r[10].y2()),$r(r[11].y2()),$r(r[12].y2())]}}F(e).q3i=Hr,P(e,"$serializer",l,l,[Vr()]),Zf=e}return Zf}var j0;function M0(){return j0===l&&new(CP()),j0}function xP(){return new(Cr())(ue())}function SP(){return new(Cr())(K())}function zP(){return new(Cr())(Un())}function qP(){return new(Cr())(ue())}var Xf;function IP(){if(Xf===l){class e{constructor(){T0=this;var r=this,t=lr(),n=ur(t,xP),a=lr(),s=ur(a,SP),u=lr(),_=ur(u,zP),o=lr();r.y5m_1=[null,null,null,null,null,null,null,n,null,null,s,_,ur(o,qP)]}}ar(e),Xf=e}return Xf}var T0;function Ei(){return T0===l&&new(IP()),T0}var Qf;function $P(){if(Qf===l){class e{constructor(){F0=this;var r=new(Kr())("Tiles",this,13);r.a3i("__identifier",!1),r.a3i("__cWid",!1),r.a3i("__cHei",!1),r.a3i("__gridSize",!1),r.a3i("pxOffsetX",!1),r.a3i("pxOffsetY",!1),r.a3i("seed",!1),r.a3i("gridTiles",!1),r.a3i("__tilesetRelPath",!1),r.a3i("overrideTilesetUid",!0),r.a3i("intGridCsv",!0),r.a3i("entityInstances",!0),r.a3i("autoLayerTiles",!0),this.z5m_1=r}a5n(r,t){var n=this.z5m_1,a=r.k3a(n),s=Ei().y5m_1;a.a3c(n,0,t.g5k_1),a.v3b(n,1,t.h5k_1),a.v3b(n,2,t.i5k_1),a.v3b(n,3,t.j5k_1),a.v3b(n,4,t.k5k_1),a.v3b(n,5,t.l5k_1),a.w3b(n,6,t.m5k_1),a.c3c(n,7,s[7].y2(),t.n5k_1),a.a3c(n,8,t.o5k_1),(a.i3c(n,9)||t.p5k_1!=null)&&a.e3c(n,9,K(),t.p5k_1),(a.i3c(n,10)||t.q5k_1!=null)&&a.e3c(n,10,s[10].y2(),t.q5k_1),(a.i3c(n,11)||t.r5k_1!=null)&&a.e3c(n,11,s[11].y2(),t.r5k_1),(a.i3c(n,12)||t.s5k_1!=null)&&a.e3c(n,12,s[12].y2(),t.s5k_1),a.l3a(n)}d36(r,t){return this.a5n(r,t instanceof Fa()?t:m())}e36(r){var t=this.z5m_1,n=!0,a=0,s=0,u=null,_=0,o=0,c=0,h=0,f=0,v=0n,d=null,g=null,b=null,w=null,x=null,z=null,k=r.k3a(t),A=Ei().y5m_1;if(k.a3b())u=k.u3a(t,0),s=s|1,_=k.p3a(t,1),s=s|2,o=k.p3a(t,2),s=s|4,c=k.p3a(t,3),s=s|8,h=k.p3a(t,4),s=s|16,f=k.p3a(t,5),s=s|32,v=k.q3a(t,6),s=s|64,d=k.w3a(t,7,A[7].y2(),d),s=s|128,g=k.u3a(t,8),s=s|256,b=k.y3a(t,9,K(),b),s=s|512,w=k.y3a(t,10,A[10].y2(),w),s=s|1024,x=k.y3a(t,11,A[11].y2(),x),s=s|2048,z=k.y3a(t,12,A[12].y2(),z),s=s|4096;else for(;n;)switch(a=k.b3b(t),a){case-1:n=!1;break;case 0:u=k.u3a(t,0),s=s|1;break;case 1:_=k.p3a(t,1),s=s|2;break;case 2:o=k.p3a(t,2),s=s|4;break;case 3:c=k.p3a(t,3),s=s|8;break;case 4:h=k.p3a(t,4),s=s|16;break;case 5:f=k.p3a(t,5),s=s|32;break;case 6:v=k.q3a(t,6),s=s|64;break;case 7:d=k.w3a(t,7,A[7].y2(),d),s=s|128;break;case 8:g=k.u3a(t,8),s=s|256;break;case 9:b=k.y3a(t,9,K(),b),s=s|512;break;case 10:w=k.y3a(t,10,A[10].y2(),w),s=s|1024;break;case 11:x=k.y3a(t,11,A[11].y2(),x),s=s|2048;break;case 12:z=k.y3a(t,12,A[12].y2(),z),s=s|4096;break;default:throw Xr().w37(a)}return k.l3a(t),Fa().b5n(s,u,_,o,c,h,f,v,d,g,b,w,x,z,null)}c36(){return this.z5m_1}p3i(){var r=Ei().y5m_1;return[qr(),K(),K(),K(),K(),K(),Wa(),r[7].y2(),qr(),$r(K()),$r(r[10].y2()),$r(r[11].y2()),$r(r[12].y2())]}}F(e).q3i=Hr,P(e,"$serializer",l,l,[Vr()]),Qf=e}return Qf}var F0;function D0(){return F0===l&&new($P()),F0}function AP(){return new(Cr())(Un())}function EP(){return new(Cr())(K())}function NP(){return new(Cr())(ue())}function LP(){return new(Cr())(ue())}var rv;function jP(){if(rv===l){class e{constructor(){P0=this;var r=this,t=lr(),n=ur(t,AP),a=lr(),s=ur(a,EP),u=lr(),_=ur(u,NP),o=lr();r.c5n_1=[null,null,null,null,null,null,null,n,s,null,null,_,ur(o,LP)]}}ar(e),rv=e}return rv}var P0;function Ni(){return P0===l&&new(jP()),P0}var tv;function MP(){if(tv===l){class e{constructor(){B0=this;var r=new(Kr())("Entities",this,13);r.a3i("__identifier",!1),r.a3i("__cWid",!1),r.a3i("__cHei",!1),r.a3i("__gridSize",!1),r.a3i("pxOffsetX",!1),r.a3i("pxOffsetY",!1),r.a3i("seed",!1),r.a3i("entityInstances",!1),r.a3i("intGridCsv",!0),r.a3i("__tilesetRelPath",!0),r.a3i("overrideTilesetUid",!0),r.a3i("autoLayerTiles",!0),r.a3i("gridTiles",!0),this.d5n_1=r}e5n(r,t){var n=this.d5n_1,a=r.k3a(n),s=Ni().c5n_1;a.a3c(n,0,t.f5n_1),a.v3b(n,1,t.g5n_1),a.v3b(n,2,t.h5n_1),a.v3b(n,3,t.i5n_1),a.v3b(n,4,t.j5n_1),a.v3b(n,5,t.k5n_1),a.w3b(n,6,t.l5n_1),a.c3c(n,7,s[7].y2(),t.m5n_1),(a.i3c(n,8)||t.n5n_1!=null)&&a.e3c(n,8,s[8].y2(),t.n5n_1),(a.i3c(n,9)||t.o5n_1!=null)&&a.e3c(n,9,qr(),t.o5n_1),(a.i3c(n,10)||t.p5n_1!=null)&&a.e3c(n,10,K(),t.p5n_1),(a.i3c(n,11)||t.q5n_1!=null)&&a.e3c(n,11,s[11].y2(),t.q5n_1),(a.i3c(n,12)||t.r5n_1!=null)&&a.e3c(n,12,s[12].y2(),t.r5n_1),a.l3a(n)}d36(r,t){return this.e5n(r,t instanceof Da()?t:m())}e36(r){var t=this.d5n_1,n=!0,a=0,s=0,u=null,_=0,o=0,c=0,h=0,f=0,v=0n,d=null,g=null,b=null,w=null,x=null,z=null,k=r.k3a(t),A=Ni().c5n_1;if(k.a3b())u=k.u3a(t,0),s=s|1,_=k.p3a(t,1),s=s|2,o=k.p3a(t,2),s=s|4,c=k.p3a(t,3),s=s|8,h=k.p3a(t,4),s=s|16,f=k.p3a(t,5),s=s|32,v=k.q3a(t,6),s=s|64,d=k.w3a(t,7,A[7].y2(),d),s=s|128,g=k.y3a(t,8,A[8].y2(),g),s=s|256,b=k.y3a(t,9,qr(),b),s=s|512,w=k.y3a(t,10,K(),w),s=s|1024,x=k.y3a(t,11,A[11].y2(),x),s=s|2048,z=k.y3a(t,12,A[12].y2(),z),s=s|4096;else for(;n;)switch(a=k.b3b(t),a){case-1:n=!1;break;case 0:u=k.u3a(t,0),s=s|1;break;case 1:_=k.p3a(t,1),s=s|2;break;case 2:o=k.p3a(t,2),s=s|4;break;case 3:c=k.p3a(t,3),s=s|8;break;case 4:h=k.p3a(t,4),s=s|16;break;case 5:f=k.p3a(t,5),s=s|32;break;case 6:v=k.q3a(t,6),s=s|64;break;case 7:d=k.w3a(t,7,A[7].y2(),d),s=s|128;break;case 8:g=k.y3a(t,8,A[8].y2(),g),s=s|256;break;case 9:b=k.y3a(t,9,qr(),b),s=s|512;break;case 10:w=k.y3a(t,10,K(),w),s=s|1024;break;case 11:x=k.y3a(t,11,A[11].y2(),x),s=s|2048;break;case 12:z=k.y3a(t,12,A[12].y2(),z),s=s|4096;break;default:throw Xr().w37(a)}return k.l3a(t),Da().s5n(s,u,_,o,c,h,f,v,d,g,b,w,x,z,null)}c36(){return this.d5n_1}p3i(){var r=Ni().c5n_1;return[qr(),K(),K(),K(),K(),K(),Wa(),r[7].y2(),$r(r[8].y2()),$r(qr()),$r(K()),$r(r[11].y2()),$r(r[12].y2())]}}F(e).q3i=Hr,P(e,"$serializer",l,l,[Vr()]),tv=e}return tv}var B0;function O0(){return B0===l&&new(MP()),B0}var ev;function Ma(){if(ev===l){class e{g4o(){return this.g5m_1}f4m(){return this.h5m_1}e4m(){return this.j5m_1}z4o(){return this.n5m_1}n4m(){return this.p5m_1}b4n(){return this.q5m_1}g4n(){return this.r5m_1}c4n(){return this.s5m_1}toString(){return"IntGrid(__identifier="+this.g5m_1+", __cWid="+this.h5m_1+", __cHei="+this.i5m_1+", __gridSize="+this.j5m_1+", pxOffsetX="+this.k5m_1+", pxOffsetY="+this.l5m_1+", seed="+this.m5m_1.toString()+", intGridCsv="+$(this.n5m_1)+", overrideTilesetUid="+this.o5m_1+", entityInstances="+Wr(this.p5m_1)+", __tilesetRelPath="+this.q5m_1+", autoLayerTiles="+Wr(this.r5m_1)+", gridTiles="+Wr(this.s5m_1)+")"}hashCode(){var r=br(this.g5m_1);return r=U(r,31)+this.h5m_1|0,r=U(r,31)+this.i5m_1|0,r=U(r,31)+this.j5m_1|0,r=U(r,31)+this.k5m_1|0,r=U(r,31)+this.l5m_1|0,r=U(r,31)+$t(this.m5m_1)|0,r=U(r,31)+Z(this.n5m_1)|0,r=U(r,31)+(this.o5m_1==null?0:this.o5m_1)|0,r=U(r,31)+(this.p5m_1==null?0:Z(this.p5m_1))|0,r=U(r,31)+(this.q5m_1==null?0:br(this.q5m_1))|0,r=U(r,31)+(this.r5m_1==null?0:Z(this.r5m_1))|0,r=U(r,31)+(this.s5m_1==null?0:Z(this.s5m_1))|0,r}equals(r){return this===r?!0:!(!(r instanceof Ma())||this.g5m_1!==r.g5m_1||this.h5m_1!==r.h5m_1||this.i5m_1!==r.i5m_1||this.j5m_1!==r.j5m_1||this.k5m_1!==r.k5m_1||this.l5m_1!==r.l5m_1||this.m5m_1!==r.m5m_1||!E(this.n5m_1,r.n5m_1)||this.o5m_1!=r.o5m_1||!E(this.p5m_1,r.p5m_1)||this.q5m_1!=r.q5m_1||!E(this.r5m_1,r.r5m_1)||!E(this.s5m_1,r.s5m_1))}static t5m(r,t,n,a,s,u,_,o,c,h,f,v,d,g,b){$i(),(255&r)!==255&&rt(r,255,N0().e5m_1);var w=Ur(this);return w.g5m_1=t,w.h5m_1=n,w.i5m_1=a,w.j5m_1=s,w.k5m_1=u,w.l5m_1=_,w.m5m_1=o,w.n5m_1=c,(r&256)===0?w.o5m_1=null:w.o5m_1=h,(r&512)===0?w.p5m_1=null:w.p5m_1=f,(r&1024)===0?w.q5m_1=null:w.q5m_1=v,(r&2048)===0?w.r5m_1=null:w.r5m_1=d,(r&4096)===0?w.s5m_1=null:w.s5m_1=g,w}}p(e,"IntGrid",l,l,[ri()],l,l,{0:N0}),ev=e}return ev}var nv;function Ta(){if(nv===l){class e{g4o(){return this.t5k_1}f4m(){return this.u5k_1}e4m(){return this.w5k_1}g4n(){return this.a5l_1}b4n(){return this.b5l_1}z4o(){return this.d5l_1}n4m(){return this.e5l_1}c4n(){return this.f5l_1}toString(){return"AutoLayer(__identifier="+this.t5k_1+", __cWid="+this.u5k_1+", __cHei="+this.v5k_1+", __gridSize="+this.w5k_1+", pxOffsetX="+this.x5k_1+", pxOffsetY="+this.y5k_1+", seed="+this.z5k_1.toString()+", autoLayerTiles="+$(this.a5l_1)+", __tilesetRelPath="+this.b5l_1+", overrideTilesetUid="+this.c5l_1+", intGridCsv="+Wr(this.d5l_1)+", entityInstances="+Wr(this.e5l_1)+", gridTiles="+Wr(this.f5l_1)+")"}hashCode(){var r=br(this.t5k_1);return r=U(r,31)+this.u5k_1|0,r=U(r,31)+this.v5k_1|0,r=U(r,31)+this.w5k_1|0,r=U(r,31)+this.x5k_1|0,r=U(r,31)+this.y5k_1|0,r=U(r,31)+$t(this.z5k_1)|0,r=U(r,31)+Z(this.a5l_1)|0,r=U(r,31)+br(this.b5l_1)|0,r=U(r,31)+(this.c5l_1==null?0:this.c5l_1)|0,r=U(r,31)+(this.d5l_1==null?0:Z(this.d5l_1))|0,r=U(r,31)+(this.e5l_1==null?0:Z(this.e5l_1))|0,r=U(r,31)+(this.f5l_1==null?0:Z(this.f5l_1))|0,r}equals(r){return this===r?!0:!(!(r instanceof Ta())||this.t5k_1!==r.t5k_1||this.u5k_1!==r.u5k_1||this.v5k_1!==r.v5k_1||this.w5k_1!==r.w5k_1||this.x5k_1!==r.x5k_1||this.y5k_1!==r.y5k_1||this.z5k_1!==r.z5k_1||!E(this.a5l_1,r.a5l_1)||this.b5l_1!==r.b5l_1||this.c5l_1!=r.c5l_1||!E(this.d5l_1,r.d5l_1)||!E(this.e5l_1,r.e5l_1)||!E(this.f5l_1,r.f5l_1))}static x5m(r,t,n,a,s,u,_,o,c,h,f,v,d,g,b){Ai(),(511&r)!==511&&rt(r,511,M0().v5m_1);var w=Ur(this);return w.t5k_1=t,w.u5k_1=n,w.v5k_1=a,w.w5k_1=s,w.x5k_1=u,w.y5k_1=_,w.z5k_1=o,w.a5l_1=c,w.b5l_1=h,(r&512)===0?w.c5l_1=null:w.c5l_1=f,(r&1024)===0?w.d5l_1=null:w.d5l_1=v,(r&2048)===0?w.e5l_1=null:w.e5l_1=d,(r&4096)===0?w.f5l_1=null:w.f5l_1=g,w}}p(e,"AutoLayer",l,l,[ri()],l,l,{0:M0}),nv=e}return nv}var av;function Fa(){if(av===l){class e{g4o(){return this.g5k_1}f4m(){return this.h5k_1}e4m(){return this.j5k_1}c4n(){return this.n5k_1}b4n(){return this.o5k_1}z4o(){return this.q5k_1}n4m(){return this.r5k_1}g4n(){return this.s5k_1}toString(){return"TilesLayer(__identifier="+this.g5k_1+", __cWid="+this.h5k_1+", __cHei="+this.i5k_1+", __gridSize="+this.j5k_1+", pxOffsetX="+this.k5k_1+", pxOffsetY="+this.l5k_1+", seed="+this.m5k_1.toString()+", gridTiles="+$(this.n5k_1)+", __tilesetRelPath="+this.o5k_1+", overrideTilesetUid="+this.p5k_1+", intGridCsv="+Wr(this.q5k_1)+", entityInstances="+Wr(this.r5k_1)+", autoLayerTiles="+Wr(this.s5k_1)+")"}hashCode(){var r=br(this.g5k_1);return r=U(r,31)+this.h5k_1|0,r=U(r,31)+this.i5k_1|0,r=U(r,31)+this.j5k_1|0,r=U(r,31)+this.k5k_1|0,r=U(r,31)+this.l5k_1|0,r=U(r,31)+$t(this.m5k_1)|0,r=U(r,31)+Z(this.n5k_1)|0,r=U(r,31)+br(this.o5k_1)|0,r=U(r,31)+(this.p5k_1==null?0:this.p5k_1)|0,r=U(r,31)+(this.q5k_1==null?0:Z(this.q5k_1))|0,r=U(r,31)+(this.r5k_1==null?0:Z(this.r5k_1))|0,r=U(r,31)+(this.s5k_1==null?0:Z(this.s5k_1))|0,r}equals(r){return this===r?!0:!(!(r instanceof Fa())||this.g5k_1!==r.g5k_1||this.h5k_1!==r.h5k_1||this.i5k_1!==r.i5k_1||this.j5k_1!==r.j5k_1||this.k5k_1!==r.k5k_1||this.l5k_1!==r.l5k_1||this.m5k_1!==r.m5k_1||!E(this.n5k_1,r.n5k_1)||this.o5k_1!==r.o5k_1||this.p5k_1!=r.p5k_1||!E(this.q5k_1,r.q5k_1)||!E(this.r5k_1,r.r5k_1)||!E(this.s5k_1,r.s5k_1))}static b5n(r,t,n,a,s,u,_,o,c,h,f,v,d,g,b){Ei(),(511&r)!==511&&rt(r,511,D0().z5m_1);var w=Ur(this);return w.g5k_1=t,w.h5k_1=n,w.i5k_1=a,w.j5k_1=s,w.k5k_1=u,w.l5k_1=_,w.m5k_1=o,w.n5k_1=c,w.o5k_1=h,(r&512)===0?w.p5k_1=null:w.p5k_1=f,(r&1024)===0?w.q5k_1=null:w.q5k_1=v,(r&2048)===0?w.r5k_1=null:w.r5k_1=d,(r&4096)===0?w.s5k_1=null:w.s5k_1=g,w}}p(e,"TilesLayer",l,l,[ri()],l,l,{0:D0}),av=e}return av}var iv;function Da(){if(iv===l){class e{g4o(){return this.f5n_1}f4m(){return this.g5n_1}e4m(){return this.i5n_1}n4m(){return this.m5n_1}z4o(){return this.n5n_1}b4n(){return this.o5n_1}g4n(){return this.q5n_1}c4n(){return this.r5n_1}toString(){return"EntitiesLayer(__identifier="+this.f5n_1+", __cWid="+this.g5n_1+", __cHei="+this.h5n_1+", __gridSize="+this.i5n_1+", pxOffsetX="+this.j5n_1+", pxOffsetY="+this.k5n_1+", seed="+this.l5n_1.toString()+", entityInstances="+$(this.m5n_1)+", intGridCsv="+Wr(this.n5n_1)+", __tilesetRelPath="+this.o5n_1+", overrideTilesetUid="+this.p5n_1+", autoLayerTiles="+Wr(this.q5n_1)+", gridTiles="+Wr(this.r5n_1)+")"}hashCode(){var r=br(this.f5n_1);return r=U(r,31)+this.g5n_1|0,r=U(r,31)+this.h5n_1|0,r=U(r,31)+this.i5n_1|0,r=U(r,31)+this.j5n_1|0,r=U(r,31)+this.k5n_1|0,r=U(r,31)+$t(this.l5n_1)|0,r=U(r,31)+Z(this.m5n_1)|0,r=U(r,31)+(this.n5n_1==null?0:Z(this.n5n_1))|0,r=U(r,31)+(this.o5n_1==null?0:br(this.o5n_1))|0,r=U(r,31)+(this.p5n_1==null?0:this.p5n_1)|0,r=U(r,31)+(this.q5n_1==null?0:Z(this.q5n_1))|0,r=U(r,31)+(this.r5n_1==null?0:Z(this.r5n_1))|0,r}equals(r){return this===r?!0:!(!(r instanceof Da())||this.f5n_1!==r.f5n_1||this.g5n_1!==r.g5n_1||this.h5n_1!==r.h5n_1||this.i5n_1!==r.i5n_1||this.j5n_1!==r.j5n_1||this.k5n_1!==r.k5n_1||this.l5n_1!==r.l5n_1||!E(this.m5n_1,r.m5n_1)||!E(this.n5n_1,r.n5n_1)||this.o5n_1!=r.o5n_1||this.p5n_1!=r.p5n_1||!E(this.q5n_1,r.q5n_1)||!E(this.r5n_1,r.r5n_1))}static s5n(r,t,n,a,s,u,_,o,c,h,f,v,d,g,b){Ni(),(255&r)!==255&&rt(r,255,O0().d5n_1);var w=Ur(this);return w.f5n_1=t,w.g5n_1=n,w.h5n_1=a,w.i5n_1=s,w.j5n_1=u,w.k5n_1=_,w.l5n_1=o,w.m5n_1=c,(r&256)===0?w.n5n_1=null:w.n5n_1=h,(r&512)===0?w.o5n_1=null:w.o5n_1=f,(r&1024)===0?w.p5n_1=null:w.p5n_1=v,(r&2048)===0?w.q5n_1=null:w.q5n_1=d,(r&4096)===0?w.r5n_1=null:w.r5n_1=g,w}}p(e,"EntitiesLayer",l,l,[ri()],l,l,{0:O0}),iv=e}return iv}var sv;function TP(){if(sv===l){class e{v3t(){var r=Y(ri()),t=[Y(Ta()),Y(Da()),Y(Ma()),Y(Fa())],n=[M0(),O0(),N0(),D0()],a=[];return tm().i37("com.github.minigdx.tiny.resources.ldtk.Layer",r,t,n,a)}d3j(r){return this.v3t()}}ar(e,l,[y1()]),sv=e}return sv}var Om;function FP(){return Om}var lv;function ri(){if(lv===l){class e{}Ar(e,"Layer",l,l,l,l,l,{0:FP}),lv=e}return lv}function DP(){return new(Cr())(K())}function PP(){return new(Cr())(K())}var uv;function BP(){if(uv===l){class e{constructor(){R0=this;var r=this,t=lr(),n=ur(t,DP),a=lr();r.t5n_1=[null,null,n,ur(a,PP),null]}}ar(e),uv=e}return uv}var R0;function Li(){return R0===l&&new(BP()),R0}var _v;function OP(){if(_v===l){class e{constructor(){U0=this;var r=new(Kr())("com.github.minigdx.tiny.resources.ldtk.Tile",this,5);r.a3i("a",!1),r.a3i("f",!1),r.a3i("px",!1),r.a3i("src",!1),r.a3i("t",!1),this.u5n_1=r}v5n(r,t){var n=this.u5n_1,a=r.k3a(n),s=Li().t5n_1;a.x3b(n,0,t.i4o_1),a.v3b(n,1,t.j4o_1),a.c3c(n,2,s[2].y2(),t.k4o_1),a.c3c(n,3,s[3].y2(),t.l4o_1),a.v3b(n,4,t.m4o_1),a.l3a(n)}d36(r,t){return this.v5n(r,t instanceof K0()?t:m())}e36(r){var t=this.u5n_1,n=!0,a=0,s=0,u=0,_=0,o=null,c=null,h=0,f=r.k3a(t),v=Li().t5n_1;if(f.a3b())u=f.r3a(t,0),s=s|1,_=f.p3a(t,1),s=s|2,o=f.w3a(t,2,v[2].y2(),o),s=s|4,c=f.w3a(t,3,v[3].y2(),c),s=s|8,h=f.p3a(t,4),s=s|16;else for(;n;)switch(a=f.b3b(t),a){case-1:n=!1;break;case 0:u=f.r3a(t,0),s=s|1;break;case 1:_=f.p3a(t,1),s=s|2;break;case 2:o=f.w3a(t,2,v[2].y2(),o),s=s|4;break;case 3:c=f.w3a(t,3,v[3].y2(),c),s=s|8;break;case 4:h=f.p3a(t,4),s=s|16;break;default:throw Xr().w37(a)}return f.l3a(t),K0().w5n(s,u,_,o,c,h,null)}c36(){return this.u5n_1}p3i(){var r=Li().t5n_1;return[mt(),K(),r[2].y2(),r[3].y2(),K()]}}F(e).q3i=Hr,P(e,"$serializer",l,l,[Vr()]),_v=e}return _v}var U0;function ue(){return U0===l&&new(OP()),U0}var ov;function K0(){if(ov===l){class e{toString(){return"Tile(a="+this.i4o_1+", f="+this.j4o_1+", px="+$(this.k4o_1)+", src="+$(this.l4o_1)+", t="+this.m4o_1+")"}hashCode(){var r=Vt(this.i4o_1);return r=U(r,31)+this.j4o_1|0,r=U(r,31)+Z(this.k4o_1)|0,r=U(r,31)+Z(this.l4o_1)|0,r=U(r,31)+this.m4o_1|0,r}equals(r){return this===r?!0:!(!(r instanceof K0())||!E(this.i4o_1,r.i4o_1)||this.j4o_1!==r.j4o_1||!E(this.k4o_1,r.k4o_1)||!E(this.l4o_1,r.l4o_1)||this.m4o_1!==r.m4o_1)}static w5n(r,t,n,a,s,u,_){Li(),(31&r)!==31&&rt(r,31,ue().u5n_1);var o=Ur(this);return o.i4o_1=t,o.j4o_1=n,o.k4o_1=a,o.l4o_1=s,o.m4o_1=u,o}}p(e,"Tile",l,l,l,l,l,{0:ue}),ov=e}return ov}function RP(){return new(Cr())(K())}function UP(){return new(Cr())(mt())}function KP(){return new(Cr())($1())}function GP(){return new(Cr())(K())}var cv;function JP(){if(cv===l){class e{constructor(){G0=this;var r=this,t=lr(),n=ur(t,RP),a=lr(),s=ur(a,UP),u=lr(),_=ur(u,KP),o=lr();r.x5n_1=[n,null,s,null,null,_,null,null,null,ur(o,GP)]}}ar(e),cv=e}return cv}var G0;function ji(){return G0===l&&new(JP()),G0}var hv;function WP(){if(hv===l){class e{constructor(){J0=this;var r=new(Kr())("com.github.minigdx.tiny.resources.ldtk.Entity",this,10);r.a3i("__grid",!1),r.a3i("__identifier",!1),r.a3i("__pivot",!1),r.a3i("__worldX",!0),r.a3i("__worldY",!0),r.a3i("fieldInstances",!1),r.a3i("height",!1),r.a3i("width",!1),r.a3i("iid",!1),r.a3i("px",!1),this.y5n_1=r}z5n(r,t){var n=this.y5n_1,a=r.k3a(n),s=ji().x5n_1;a.c3c(n,0,s[0].y2(),t.o4m_1),a.a3c(n,1,t.p4m_1),a.c3c(n,2,s[2].y2(),t.q4m_1),(a.i3c(n,3)||t.r4m_1!=null)&&a.e3c(n,3,K(),t.r4m_1),(a.i3c(n,4)||t.s4m_1!=null)&&a.e3c(n,4,K(),t.s4m_1),a.c3c(n,5,s[5].y2(),t.t4m_1),a.v3b(n,6,t.u4m_1),a.v3b(n,7,t.v4m_1),a.a3c(n,8,t.w4m_1),a.c3c(n,9,s[9].y2(),t.x4m_1),a.l3a(n)}d36(r,t){return this.z5n(r,t instanceof W0()?t:m())}e36(r){var t=this.y5n_1,n=!0,a=0,s=0,u=null,_=null,o=null,c=null,h=null,f=null,v=0,d=0,g=null,b=null,w=r.k3a(t),x=ji().x5n_1;if(w.a3b())u=w.w3a(t,0,x[0].y2(),u),s=s|1,_=w.u3a(t,1),s=s|2,o=w.w3a(t,2,x[2].y2(),o),s=s|4,c=w.y3a(t,3,K(),c),s=s|8,h=w.y3a(t,4,K(),h),s=s|16,f=w.w3a(t,5,x[5].y2(),f),s=s|32,v=w.p3a(t,6),s=s|64,d=w.p3a(t,7),s=s|128,g=w.u3a(t,8),s=s|256,b=w.w3a(t,9,x[9].y2(),b),s=s|512;else for(;n;)switch(a=w.b3b(t),a){case-1:n=!1;break;case 0:u=w.w3a(t,0,x[0].y2(),u),s=s|1;break;case 1:_=w.u3a(t,1),s=s|2;break;case 2:o=w.w3a(t,2,x[2].y2(),o),s=s|4;break;case 3:c=w.y3a(t,3,K(),c),s=s|8;break;case 4:h=w.y3a(t,4,K(),h),s=s|16;break;case 5:f=w.w3a(t,5,x[5].y2(),f),s=s|32;break;case 6:v=w.p3a(t,6),s=s|64;break;case 7:d=w.p3a(t,7),s=s|128;break;case 8:g=w.u3a(t,8),s=s|256;break;case 9:b=w.w3a(t,9,x[9].y2(),b),s=s|512;break;default:throw Xr().w37(a)}return w.l3a(t),W0().a5o(s,u,_,o,c,h,f,v,d,g,b,null)}c36(){return this.y5n_1}p3i(){var r=ji().x5n_1;return[r[0].y2(),qr(),r[2].y2(),$r(K()),$r(K()),r[5].y2(),K(),K(),qr(),r[9].y2()]}}F(e).q3i=Hr,P(e,"$serializer",l,l,[Vr()]),hv=e}return hv}var J0;function Un(){return J0===l&&new(WP()),J0}var fv;function W0(){if(fv===l){class e{toString(){return"Entity(__grid="+$(this.o4m_1)+", __identifier="+this.p4m_1+", __pivot="+$(this.q4m_1)+", __worldX="+this.r4m_1+", __worldY="+this.s4m_1+", fieldInstances="+$(this.t4m_1)+", height="+this.u4m_1+", width="+this.v4m_1+", iid="+this.w4m_1+", px="+$(this.x4m_1)+")"}hashCode(){var r=Z(this.o4m_1);return r=U(r,31)+br(this.p4m_1)|0,r=U(r,31)+Z(this.q4m_1)|0,r=U(r,31)+(this.r4m_1==null?0:this.r4m_1)|0,r=U(r,31)+(this.s4m_1==null?0:this.s4m_1)|0,r=U(r,31)+Z(this.t4m_1)|0,r=U(r,31)+this.u4m_1|0,r=U(r,31)+this.v4m_1|0,r=U(r,31)+br(this.w4m_1)|0,r=U(r,31)+Z(this.x4m_1)|0,r}equals(r){return this===r?!0:!(!(r instanceof W0())||!E(this.o4m_1,r.o4m_1)||this.p4m_1!==r.p4m_1||!E(this.q4m_1,r.q4m_1)||this.r4m_1!=r.r4m_1||this.s4m_1!=r.s4m_1||!E(this.t4m_1,r.t4m_1)||this.u4m_1!==r.u4m_1||this.v4m_1!==r.v4m_1||this.w4m_1!==r.w4m_1||!E(this.x4m_1,r.x4m_1))}static a5o(r,t,n,a,s,u,_,o,c,h,f,v){ji(),(999&r)!==999&&rt(r,999,Un().y5n_1);var d=Ur(this);return d.o4m_1=t,d.p4m_1=n,d.q4m_1=a,(r&8)===0?d.r4m_1=null:d.r4m_1=s,(r&16)===0?d.s4m_1=null:d.s4m_1=u,d.t4m_1=_,d.u4m_1=o,d.v4m_1=c,d.w4m_1=h,d.x4m_1=f,d}}p(e,"Entity",l,l,l,l,l,{0:Un}),fv=e}return fv}var vv;function HP(){if(vv===l){class e{}ar(e),vv=e}return vv}var pv;function H0(){if(pv===l){class e{constructor(r,t,n){this.y4m_1=r,this.z4m_1=t,this.a4n_1=n}toString(){return"CustomField(__identifier="+this.y4m_1+", __type="+this.z4m_1+", __value="+Wr(this.a4n_1)+")"}hashCode(){var r=br(this.y4m_1);return r=U(r,31)+br(this.z4m_1)|0,r=U(r,31)+(this.a4n_1==null?0:Z(this.a4n_1))|0,r}equals(r){return this===r?!0:!(!(r instanceof H0())||this.y4m_1!==r.y4m_1||this.z4m_1!==r.z4m_1||!E(this.a4n_1,r.a4n_1))}}p(e,"CustomField",l,l,l,l,l,{0:$1}),pv=e}return pv}var dv;function VP(){if(dv===l){class e{v3t(){return Y0()}}ar(e),dv=e}return dv}var WI,mv;function YP(){if(mv===l){class e{constructor(){V0=this;var r=new(Kr())("com.github.minigdx.tiny.resources.ldtk.EntityRef",this,4);r.a3i("entityIid",!1),r.a3i("layerIid",!1),r.a3i("levelIid",!1),r.a3i("worldIid",!1),this.b5o_1=r}c5o(r,t){var n=this.b5o_1,a=r.k3a(n);a.a3c(n,0,t.o4o_1),a.a3c(n,1,t.p4o_1),a.a3c(n,2,t.q4o_1),a.a3c(n,3,t.r4o_1),a.l3a(n)}d36(r,t){return this.c5o(r,t instanceof Rs()?t:m())}e36(r){var t=this.b5o_1,n=!0,a=0,s=0,u=null,_=null,o=null,c=null,h=r.k3a(t);if(h.a3b())u=h.u3a(t,0),s=s|1,_=h.u3a(t,1),s=s|2,o=h.u3a(t,2),s=s|4,c=h.u3a(t,3),s=s|8;else for(;n;)switch(a=h.b3b(t),a){case-1:n=!1;break;case 0:u=h.u3a(t,0),s=s|1;break;case 1:_=h.u3a(t,1),s=s|2;break;case 2:o=h.u3a(t,2),s=s|4;break;case 3:c=h.u3a(t,3),s=s|8;break;default:throw Xr().w37(a)}return h.l3a(t),Rs().d5o(s,u,_,o,c,null)}c36(){return this.b5o_1}p3i(){return[qr(),qr(),qr(),qr()]}}F(e).q3i=Hr,P(e,"$serializer",l,l,[Vr()]),mv=e}return mv}var V0;function Y0(){return V0===l&&new(YP()),V0}var wv;function Rs(){if(wv===l){class e{toString(){return"EntityRef(entityIid="+this.o4o_1+", layerIid="+this.p4o_1+", levelIid="+this.q4o_1+", worldIid="+this.r4o_1+")"}hashCode(){var r=br(this.o4o_1);return r=U(r,31)+br(this.p4o_1)|0,r=U(r,31)+br(this.q4o_1)|0,r=U(r,31)+br(this.r4o_1)|0,r}equals(r){return this===r?!0:!(!(r instanceof Rs())||this.o4o_1!==r.o4o_1||this.p4o_1!==r.p4o_1||this.q4o_1!==r.q4o_1||this.r4o_1!==r.r4o_1)}static d5o(r,t,n,a,s,u){(15&r)!==15&&rt(r,15,Y0().b5o_1);var _=Ur(this);return _.o4o_1=t,_.p4o_1=n,_.q4o_1=a,_.r4o_1=s,_}}p(e,"EntityRef",l,l,l,l,l,{0:Y0}),wv=e}return wv}var yv;function ZP(){if(yv===l){class e{v3t(){return X0()}}ar(e),yv=e}return yv}var HI,gv;function XP(){if(gv===l){class e{constructor(){Z0=this;var r=new(Kr())("com.github.minigdx.tiny.resources.ldtk.TilesetRect",this,5);r.a3i("h",!1),r.a3i("tilesetUid",!1),r.a3i("w",!1),r.a3i("x",!1),r.a3i("y",!1),this.e5o_1=r}f5o(r,t){var n=this.e5o_1,a=r.k3a(n);a.v3b(n,0,t.u4o_1),a.v3b(n,1,t.v4o_1),a.v3b(n,2,t.w4o_1),a.v3b(n,3,t.x4o_1),a.v3b(n,4,t.y4o_1),a.l3a(n)}d36(r,t){return this.f5o(r,t instanceof Us()?t:m())}e36(r){var t=this.e5o_1,n=!0,a=0,s=0,u=0,_=0,o=0,c=0,h=0,f=r.k3a(t);if(f.a3b())u=f.p3a(t,0),s=s|1,_=f.p3a(t,1),s=s|2,o=f.p3a(t,2),s=s|4,c=f.p3a(t,3),s=s|8,h=f.p3a(t,4),s=s|16;else for(;n;)switch(a=f.b3b(t),a){case-1:n=!1;break;case 0:u=f.p3a(t,0),s=s|1;break;case 1:_=f.p3a(t,1),s=s|2;break;case 2:o=f.p3a(t,2),s=s|4;break;case 3:c=f.p3a(t,3),s=s|8;break;case 4:h=f.p3a(t,4),s=s|16;break;default:throw Xr().w37(a)}return f.l3a(t),Us().g5o(s,u,_,o,c,h,null)}c36(){return this.e5o_1}p3i(){return[K(),K(),K(),K(),K()]}}F(e).q3i=Hr,P(e,"$serializer",l,l,[Vr()]),gv=e}return gv}var Z0;function X0(){return Z0===l&&new(XP()),Z0}var bv;function Us(){if(bv===l){class e{toString(){return"TilesetRect(h="+this.u4o_1+", tilesetUid="+this.v4o_1+", w="+this.w4o_1+", x="+this.x4o_1+", y="+this.y4o_1+")"}hashCode(){var r=this.u4o_1;return r=U(r,31)+this.v4o_1|0,r=U(r,31)+this.w4o_1|0,r=U(r,31)+this.x4o_1|0,r=U(r,31)+this.y4o_1|0,r}equals(r){return this===r?!0:!(!(r instanceof Us())||this.u4o_1!==r.u4o_1||this.v4o_1!==r.v4o_1||this.w4o_1!==r.w4o_1||this.x4o_1!==r.x4o_1||this.y4o_1!==r.y4o_1)}static g5o(r,t,n,a,s,u,_){(31&r)!==31&&rt(r,31,X0().e5o_1);var o=Ur(this);return o.u4o_1=t,o.v4o_1=n,o.w4o_1=a,o.x4o_1=s,o.y4o_1=u,o}}p(e,"TilesetRect",l,l,l,l,l,{0:X0}),bv=e}return bv}var kv;function QP(){if(kv===l){class e{v3t(){return rd()}}ar(e),kv=e}return kv}var VI,Cv;function rB(){if(Cv===l){class e{constructor(){Q0=this;var r=new(Kr())("com.github.minigdx.tiny.resources.ldtk.GridPoint",this,2);r.a3i("cx",!1),r.a3i("cy",!1),this.h5o_1=r}i5o(r,t){var n=this.h5o_1,a=r.k3a(n);a.v3b(n,0,t.s4o_1),a.v3b(n,1,t.t4o_1),a.l3a(n)}d36(r,t){return this.i5o(r,t instanceof Ks()?t:m())}e36(r){var t=this.h5o_1,n=!0,a=0,s=0,u=0,_=0,o=r.k3a(t);if(o.a3b())u=o.p3a(t,0),s=s|1,_=o.p3a(t,1),s=s|2;else for(;n;)switch(a=o.b3b(t),a){case-1:n=!1;break;case 0:u=o.p3a(t,0),s=s|1;break;case 1:_=o.p3a(t,1),s=s|2;break;default:throw Xr().w37(a)}return o.l3a(t),Ks().j5o(s,u,_,null)}c36(){return this.h5o_1}p3i(){return[K(),K()]}}F(e).q3i=Hr,P(e,"$serializer",l,l,[Vr()]),Cv=e}return Cv}var Q0;function rd(){return Q0===l&&new(rB()),Q0}var xv;function Ks(){if(xv===l){class e{toString(){return"GridPoint(cx="+this.s4o_1+", cy="+this.t4o_1+")"}hashCode(){var r=this.s4o_1;return r=U(r,31)+this.t4o_1|0,r}equals(r){return this===r?!0:!(!(r instanceof Ks())||this.s4o_1!==r.s4o_1||this.t4o_1!==r.t4o_1)}static j5o(r,t,n,a){(3&r)!==3&&rt(r,3,rd().h5o_1);var s=Ur(this);return s.s4o_1=t,s.t4o_1=n,s}}p(e,"GridPoint",l,l,l,l,l,{0:rd}),xv=e}return xv}function YI(e,i,r){if(r instanceof Ge())return null;var t;switch(i){case"Int":var n=r==null?null:Ce(r),a=n==null?null:n.c3u();t=a==null?null:r1(a);break;case"Float":var s=r==null?null:Ce(r),u=s==null?null:s.c3u(),_;u==null?_=null:_=yd(u),t=_;break;case"String":case"Multilines":case"Text":case"FilePath":case"Color":var o=r==null?null:Ce(r);t=o==null?null:o.c3u();break;case"Bool":var c=r==null?null:Ce(r),h=c==null?null:c.c3u();t=h==null?null:og(h);break;case"Point":var f;r==null?f=null:f=Ue().t3r(VI.v3t(),r),t=f;break;case"Tile":var v;r==null?v=null:v=Ue().t3r(HI.v3t(),r),t=v;break;case"EntityRef":var d;r==null?d=null:d=Ue().t3r(WI.v3t(),r),t=d;break;default:var g;if($a(i,"LocalEnum.")){var b=r==null?null:Ce(r);g=b==null?null:b.c3u()}else if($a(i,"Array<")){var w=pg(K7(i,"Array<"),">"),x=r==null?null:sT(r),z;if(x==null)z=null;else{for(var k=N().d1(gr(x,10)),A=x.e1();A.f1();){var D=A.g1(),B=YI($1(),w,D);k.c1(B)}z=k}g=z}else throw H().u(i+" is not supported. Is the type describe exist in LdTK ? (https://ldtk.io/json/#ldtk-FieldInstanceJson) If yes, please fill an issue to support it in Tiny (https://github.com/minigdx/tiny/issues).");t=g;break}return t}function tB(e){return e.s36("__type",oq("__type",dn())),e.s36("__value",x1.v3t().c36()),S}var Sv;function eB(){if(Sv===l){class e{constructor(){td=this;var r=this;r.k5o_1=Ud("CustomField",[],tB)}c36(){return this.k5o_1}l5o(r,t){throw U7().r8("LdTk file is not supposed to be serialized. If you need to update it, Use LdTk instead: https://ldtk.io/")}d36(r,t){return this.l5o(r,t instanceof H0()?t:m())}e36(r){var t=x1.v3t().e36(r),n=iT(t),a=n.w1m("__identifier"),s=a==null?null:Ce(a),u=nr(s==null?null:s.c3u()),_=n.w1m("__type"),o=_==null?null:Ce(_),c=nr(o==null?null:o.c3u()),h=n.w1m("__value");return new(H0())(u,c,YI(this,c,h))}}P(e,"CustomFieldSerializer",l,l,[V()]),Sv=e}return Sv}var td;function $1(){return td===l&&new(eB()),td}function nB(){return I1(),UI}function aB(){return I1(),KI}function iB(){return I1(),GI}function sB(){return I1(),JI}Om=new(TP());new(HP());WI=new(VP());HI=new(ZP());VI=new(QP());var zv;function ZI(){if(zv===l){class e{constructor(r,t,n,a,s,u,_){a=a===l?RI():a,this.i48_1=r,this.j48_1=t,this.k48_1=n,this.l48_1=a,this.m48_1=s,this.n48_1=u,this.o48_1=_}f48(){return this.i48_1}v47(){return this.j48_1}b48(){return this.k48_1}u47(){return this.l48_1}w47(r){this.m48_1=r}e48(){return this.m48_1}}p(e,"GameLevel",l,l,[Qa()]),zv=e}return zv}var by=Math.imul,qv;function lB(){if(qv===l){class e extends kr(){static a4y(r,t){return t===l&&(t={}),t.z4x_1=r,this.l2r(t)}g1q(r,t){var n=this.z4x_1.e4y_1.s49(this.z4x_1.g4y_1),a=n==null?null:n.t48_1,s;if(a==null)return y().c1k_1;s=a;var u=s,_=r.i1p(),o=t.i1p();if(XI(this.z4x_1,u,_,o)){var c=u.a4d(_,o),h=c[0];return y().y1t(h)}else return y().c1k_1}}p(e,"pget",l,l,l,[0,1,2,3]),qv=e}return qv}function XI(e,i,r,t){return(0<=r?r=n.length)return y().f1k_1;var a=this.w4y_1;this.w4y_1=a+1|0;var s=n[a],u=t.v1m(s);return u}}p(e,l,l,l,l,[1,2,0,3]),jv=e}return jv}var Mv;function vB(){if(Mv===l){class e extends Qt(){static a4z(){return this.n2q()}q1q(r){var t=nr(r.p1m(1)),n=r.j1p(2)-1|0;if(n<1)return y().f1k_1;var a=t.l1(n);if(a.k1o())return y().f1k_1;var s=y(),u=[y().y1t(n),a];return s.p25(u)}}p(e,l,l,l,l,[1,2,0,3]),Mv=e}return Mv}var Tv;function pB(){if(Tv===l){class e extends kr(){static e4z(r,t){return t===l&&(t={}),t.d4z_1=r,this.l2r(t)}f1q(r){return F(kr()).f1q.call(this,r)}g1q(r,t){var n;t.n1m()?n=ed(this,nr(t.o1m())):n=sr().p1i();var a=n,s=ed(this,nr(r.o1m()));return a.u1m(s),s.i1n("__index",s),a}}p(e,"new",l,l,l,[0,1,2,3]),Tv=e}return Tv}var Fv;function dB(){if(Fv===l){class e extends kr(){static i4z(r,t){return t===l&&(t={}),t.h4z_1=r,this.l2r(t)}g1q(r,t){var n;if(r.n1m()&t.n1m()){r instanceof sr()||m(),t instanceof sr()||m();for(var a=r.v1n(),s=0,u=a.length;sn;a.f3(r,s)}n4t(r,t){var n=SB().m52(t),a=this.i4l_1,s=()=>n;a.f3(r,s)}v1m(r){var t=r.o1p(),n=this.i4l_1,a=(j(n,kt())?n:m()).b3(t),s=a==null?null:a();return s??y().c1k_1}b1n(r,t){var n=r.o1p(),a=this.j4l_1,s=(j(a,kt())?a:m()).b3(n);s?.(t)}}p(e,"WrapperLuaTable",e.k4l,l,l,[0,1,2,3]),Jv=e}return Jv}var Rm=Math.imul;function Cy(e,i,r,t){var n=xe().k4l();return n.d4m("toggle",()=>{if(e.w4l_1.t4l_1.length===0){for(var a=e.w4l_1,s=0,u=t.b4m_1.h1(),_=Array(u);sxy(this,n.b4m_1))}f1q(r){var t=_e(this.m4m_1),n;if(t==null)return y().f1k_1;n=t;var a=n,s=ti(this.m4m_1,r),u;if(s==null)return y().f1k_1;u=s;var _=u,o=a.b4m_1.l1(_),c=o.g4o();return r$(this,c,()=>xy(this,Py(o)))}}p(e,"entities",l,l,l,[0,1,2,3]),Qv=e}return Qv}function zy(e,i){if(e.t4l_1.length===0)return!0;var r=e.t4l_1,t;if(0<=i&&i<=(r.length-1|0))t=r[i];else return!0;return t}function _e(e){var i=e.n4l_1.w49(e.r4l_1),r=i==null?null:i.n48_1,t=r==null?null:r.n4n_1;return t==null?null:Ba(t,e.s4l_1)}function ti(e,i){var r=_e(e),t;if(r==null)return null;t=r;var n=t,a;if(i.h1o()){var s=i.i1p(),u;Ba(n.b4m_1,s)!=null?u=s:u=null,a=u}else{var _=i.o1p(),o=n.b4m_1,c;r:{for(var h=0,f=o.e1();f.f1();){var v=f.g1();if(v.g4o()===_){c=h;break r}h=h+1|0}c=-1}var d=c,g;d!==-1?g=d:g=null,a=g}return a}var r3;function DB(){if(r3===l){class e extends yr(){static h4o(r,t){return t===l&&(t={}),t.f4n_1=r,this.p2r(t)}e1q(){var r=this.f4n_1.n4l_1.w49(this.f4n_1.r4l_1),t;if(r==null)return y().c1k_1;t=r;var n=t,a=_e(this.f4n_1),s;if(a==null)return y().c1k_1;s=a;for(var u=s,_=u.b4m_1,o=N().p1(),c=0,h=_.e1();h.f1();){var f=h.g1(),v=c;c=v+1|0;var d=Ht(v);zy(this.f4n_1,d)&&f.b4n()!=null&&o.c1(f)}for(var g=xd(W7(o)),b=g.e1();b.f1();){var w=b.g1();Sy(this,n,w)}return y().f1k_1}f1q(r){var t=ti(this.f4n_1,r),n;if(t==null)return y().c1k_1;n=t;var a=n;if(!zy(this.f4n_1,a))return y().c1k_1;var s=_e(this.f4n_1),u=s==null?null:s.b4m_1,_=u==null?null:Ba(u,a),o;if(_==null)return y().c1k_1;o=_;var c=o;if(c.b4n()==null)return y().c1k_1;var h=this.f4n_1.n4l_1.w49(this.f4n_1.r4l_1),f;if(h==null)return y().c1k_1;f=h;var v=f;return Sy(this,v,c),y().f1k_1}}p(e,"draw",l,l,l,[0,1,2,3]),r3=e}return r3}function qy(e,i,r,t){var n=t.l4o_1,a=n.l1(0),s=n.l1(1),u=t.k4o_1,_=u.l1(0),o=u.l1(1),c=RB(t.j4o_1),h=c.zd(),f=c.ae();e.p4l_1.n4o(i,a,s,r,r,_,o,h,f)}function PB(e,i){var r=sr().p1i();return r.c1n("entityIid",y().y1u(i.o4o_1)),r.c1n("layerIid",y().y1u(i.p4o_1)),r.c1n("levelIid",y().y1u(i.q4o_1)),r.c1n("worldIid",y().y1u(i.r4o_1)),r}function BB(e,i){var r=sr().p1i();return r.c1n("cx",y().y1t(i.s4o_1)),r.c1n("cy",y().y1t(i.t4o_1)),r}function OB(e,i){var r=sr().p1i();return r.c1n("x",y().y1t(i.x4o_1)),r.c1n("y",y().y1t(i.y4o_1)),r.c1n("w",y().y1t(i.w4o_1)),r.c1n("h",y().y1t(i.u4o_1)),r.c1n("tilesetUid",y().y1t(i.v4o_1)),r}function id(e,i,r,t,n){var a=H7(i,KB),s=V7(a,f=>{var v=n(f,r,t),d=nr(f.z4o()),g;return 0<=v&&v"x ("+r+") has to be between 0 and "+this.t4c_1+" (excluded)");var u=ln,_=0<=t?t"y ("+t+") has to be between 0 and "+this.u4c_1+" (excluded)");var o=ln,c=n.length===this.v4c_1;o.c4c(c,()=>"the assigned pixel needs to conform the pixel format ("+this.v4c_1+")");for(var h=Math.max(0,r),f=this.t4c_1-1|0,v=Math.min(h,f),d=Math.max(0,t),g=this.u4c_1-1|0,b=Math.min(d,g),w=me(v+me(b,this.t4c_1)|0,this.v4c_1),x=0,z=0,k=n.length;z=0&&r"x ("+r+") has to be between 0 and "+this.t4c_1+" (excluded)");var s=ln,u=t>=0&&t"y ("+t+") has to be between 0 and "+this.u4c_1+" (excluded)");var _=me(r+me(t,this.t4c_1)|0,this.v4c_1);switch(this.v4c_1){case 4:this.y4c_1[0]=this.w4c_1[_],this.y4c_1[1]=this.w4c_1[_+1|0],this.y4c_1[2]=this.w4c_1[_+2|0],this.y4c_1[3]=this.w4c_1[_+3|0];break;case 3:this.y4c_1[0]=this.w4c_1[_],this.y4c_1[1]=this.w4c_1[_+1|0],this.y4c_1[2]=this.w4c_1[_+2|0];break;case 1:this.y4c_1[0]=this.w4c_1[_];break}return this.y4c_1}toString(){for(var r=me(this.t4c_1,this.v4c_1),t=0,n=0,a=Kn().na(this.x4c_1+this.u4c_1|0);t=r&&(n=0,a.ja(` +`));return a.toString()}}p(e,"PixelArray"),n3=e}return n3}var YB=Math.imul,a3;function u$(){if(a3===l){class e{constructor(r,t){this.u5l_1=r,this.v5l_1=t}toString(){return"SpriteSheetKey(index="+this.u5l_1+", type="+this.v5l_1.toString()+")"}hashCode(){var r=this.u5l_1;return r=YB(r,31)+this.v5l_1.hashCode()|0,r}equals(r){return this===r?!0:!(!(r instanceof u$())||this.u5l_1!==r.u5l_1||!this.v5l_1.equals(r.v5l_1))}}p(e,"SpriteSheetKey"),a3=e}return a3}var i3;function Yn(){if(i3===l){class e{constructor(r,t,n,a,s,u,_,o,c){o=o===l?null:o,c=c===l?!1:c,this.p48_1=r,this.q48_1=t,this.r48_1=n,this.s48_1=a,this.t48_1=s,this.u48_1=u,this.v48_1=_,this.w48_1=o,this.x48_1=c,this.y48_1=new(u$())(this.q48_1,this.s48_1)}f48(){return this.p48_1}v47(){return this.q48_1}b48(){return this.r48_1}u47(){return this.s48_1}w47(r){this.x48_1=r}e48(){return this.x48_1}}p(e,"SpriteSheet",l,l,[Qa()]),i3=e}return i3}function ZB(e,i){var r;if(i.o1g()){var t=i.z1f(),n=e.j4h_1.e4h_1.t49(t),a=n==null?null:n.q48_1,s=a??e.j4h_1.e4h_1.u49();r=T(s,t)}else{var u=i.s1o(),_=e.j4h_1.e4h_1.s49(u),o=_==null?null:_.r48_1;r=T(u,o??"frame_buffer_"+u)}return r}function Ey(e){var i=e.m4h_1.g4h_1.n4h(),r=i.zd(),t=i.ae(),n=sr().p1i();return n.e1n("x",r),n.e1n("y",t),n}var s3;function XB(){if(s3===l){class e extends yr(){static t4h(r,t){t===l&&(t={}),t.s4h_1=r;var n=this.p2r(t);n.q4h_1=0;var a=n;return a.r4h_1=[Ay(),JB(),WB(),HB(),VB()],n}e1q(){var r=y().y1t(this.q4h_1);return this.q4h_1=0,this.s4h_1.g4h_1.u4h(Ay()),r}f1q(r){var t=this.q4h_1,n=r.i1p();if(!(0<=n&&n=this.o4f_1.length||t<0)return y().e1k_1;var n=this.o4f_1[t];return y().u26(this.p4f_1.h4f_1.b4d(n))}}p(e,"pressed",l,l,l,[1,0,2,3]),m3=e}return m3}var w3;function oO(){if(w3===l){class e extends pr(){static u4f(r,t){return t===l&&(t={}),t.t4f_1=r,this.g2w(t)}f1q(r){var t=I2(),n=r.i1p();if(n>=t.length||n<0)return y().e1k_1;var a=t[n];return y().u26(this.t4f_1.h4f_1.c4d(a))}}p(e,"pressing",l,l,l,[1,0,2,3]),w3=e}return w3}var y3;function cO(){if(y3===l){class e extends pr(){static y4f(r,t){return t===l&&(t={}),t.x4f_1=r,this.g2w(t)}f1q(r){var t=Y5(),n=r.i1p();if(n>=t.length||n<0)return y().e1k_1;var a=Y5()[n],s=this.x4f_1.h4f_1.e4d(a),u;if(s==null)u=null;else{var _=sr().p1i();_.e1n("x",Br(s.i4e_1)),_.e1n("y",Br(s.j4e_1)),u=_}var o=u,c=o??y().c1k_1;return c}}p(e,"touched",l,l,l,[1,0,2,3]),y3=e}return y3}var g3;function hO(){if(g3===l){class e extends pr(){static c4g(r,t){return t===l&&(t={}),t.b4g_1=r,this.g2w(t)}f1q(r){var t=Ln(),n=lt(t),a=r.i1p();if(a>=n.length||a<0)return y().e1k_1;var s=Ln().l1(a),u=this.b4g_1.h4f_1.d4d(s),_;if(u==null)_=null;else{var o=sr().p1i();o.e1n("x",Br(u.i4e_1)),o.e1n("y",Br(u.j4e_1)),_=o}var c=_,h=c??y().c1k_1;return h}}p(e,"touching",l,l,l,[1,0,2,3]),g3=e}return g3}var b3;function fO(){if(b3===l){class e extends kr(){static d4g(r,t){var n=this.l2r();return n.h4f_1=r,n.i4f_1=QI().e4g(t),n}g1q(r,t){var n=sr().p1i();return n.c1n("pressed",_O().q4f(this)),n.c1n("pressing",oO().u4f(this)),n.c1n("touch",uO().e4f(this)),n.c1n("touched",cO().y4f(this)),n.c1n("touching",hO().c4g(this)),t.c1n("ctrl",n),t.w1m("package").w1m("loaded").c1n("ctrl",n),n}}p(e,"CtrlLib",l,l,l,[0,1,2,3]),b3=e}return b3}var _$=Math.imul;function vO(e,i,r){var t=Aa(i.q4a_1,e.u4r_1.n4r_1),n=t==null?null:t.x4a_1;return n==null?null:Aa(n,r)}function pO(e){throw Xt().nc("An operation is not implemented: H")}function dO(e){return()=>{var i=e,r=i==null?null:i.t4q_1,t;r==null?t=null:t=y().y1u(r);var n=t;return n??y().c1k_1}}function mO(e,i){return()=>{var r;if(e.c4s_1)r=y().y1t(-1);else{var t=i;(t==null?null:t.s4q_1)!=null?r=y().y1t(i.s4q_1):r=y().c1k_1}return r}}function wO(e){return i=>{if(i.k1o())e.v4r_1=null,e.c4s_1=!1;else if(i.i1p()===-1)e.v4r_1=null,e.c4s_1=!0;else{var r=i.i1p();e.v4r_1=qe().v4q(Y7(r,Yt(o1().s4q_1,Md().s4q_1))-1|0),e.c4s_1=!1}return S}}function yO(e){return()=>{var i=e,r=i==null?null:i.x4q(),t;r==null?t=null:t=y().y1t(r);var n=t;return n??y().c1k_1}}function gO(e,i){return r=>{var t=e,n;return r.k1o()||i==null?n=jd():n=qe().w4q(i.t4q_1+We(r.i1p(),0,8)),t.v4r_1=n,S}}function bO(e){return()=>y().z1t(e.y4r_1*255)}function kO(e){return i=>(e.y4r_1=Z7(i.r1o(),0,255)/255,S)}function CO(e){return()=>e.b4s_1?y().y1t(1):y().y1t(0)}function xO(e){return i=>(e.b4s_1=i.i1p()>=1,S)}function SO(e){return()=>{var i=e.z4r_1,r;i==null?r=null:r=y().y1t(i);var t=r;return t??y().c1k_1}}function zO(e){return i=>{var r=e,t;if(i.k1o())t=null;else{var n;i.i1p()<0?n=null:n=We(i.i1p(),0,7),t=n}return r.z4r_1=t,S}}function qO(e,i){return()=>y().z1t(e.k4s_1[i])}function IO(e,i){return r=>(e.k4s_1[i]=r.r1o(),S)}var k3;function $O(){if(k3===l){class e{constructor(r){this.p4s_1=r}hh(r,t){return this.p4s_1(r,t)}compare(r,t){return this.hh(r,t)}o3(){return this.p4s_1}equals(r){var t;if(r!=null&&j(r,ae())){var n;r!=null&&j(r,et())?n=E(this.o3(),r.o3()):n=!1,t=n}else t=!1;return t}hashCode(){return Z(this.o3())}}p(e,"sam$kotlin_Comparator$0",l,l,[ae(),et()]),k3=e}return k3}function AO(e){var i=qe().w4q(e.z1f()),r=sr().p1i();return r.c1n("note",y().y1u(i.h3_1)),r.c1n("notei",y().y1t(i.s4q_1)),r.c1n("octave",y().y1t(i.x4q())),r}function EO(e,i){var r=e.w4r_1,t=i.w4r_1;return Pa(r,t)}var C3;function o$(){if(C3===l){class e{constructor(r,t){this.q4s_1=r,this.r4s_1=t}toString(){return"SoundKey(soundIndex="+this.q4s_1+", barIndex="+this.r4s_1+")"}hashCode(){var r=this.q4s_1;return r=_$(r,31)+this.r4s_1|0,r}equals(r){return this===r?!0:!(!(r instanceof o$())||this.q4s_1!==r.q4s_1||this.r4s_1!==r.r4s_1)}}p(e,"SoundKey"),C3=e}return C3}var x3;function c$(){if(x3===l){class e{constructor(r,t){this.s4s_1=r,this.t4s_1=t}toString(){return"SequenceKey(soundIndex="+this.s4s_1+", sequenceIndex="+this.t4s_1+")"}hashCode(){var r=this.s4s_1;return r=_$(r,31)+this.t4s_1|0,r}equals(r){return this===r?!0:!(!(r instanceof c$())||this.s4s_1!==r.s4s_1||this.t4s_1!==r.t4s_1)}}p(e,"SequenceKey"),x3=e}return x3}function NO(e){e.q4r_1.v2(),e.r4r_1=e.r4r_1+1|0}var S3;function LO(){if(S3===l){class e extends bg(){static x4s(r,t){return t===l&&(t={}),t.w4s_1=r,this.v35(t)}e1q(){throw Xt().nc("An operation is not implemented: E")}}p(e,"export",l,l,l,[0,1,2,3]),S3=e}return S3}var z3;function jO(){if(z3===l){class e extends pr(){static b4t(r,t){return t===l&&(t={}),t.a4t_1=r,this.g2w(t)}f1q(r){throw Xt().nc("An operation is not implemented: F")}}p(e,"save",l,l,l,[1,0,2,3]),z3=e}return z3}var q3;function MO(){if(q3===l){class e extends pr(){static f4t(r,t){return t===l&&(t={}),t.e4t_1=r,this.g2w(t)}f1q(r){throw Xt().nc()}}p(e,"load",l,l,l,[1,0,2,3]),q3=e}return q3}var I3;function TO(){if(I3===l){class e extends pr(){static j4t(r,t){return t===l&&(t={}),t.i4t_1=r,this.g2w(t)}f1q(r){throw Xt().nc("An operation is not implemented: G")}}p(e,"music",l,l,l,[1,0,2,3]),I3=e}return I3}var $3;function FO(){if($3===l){class e extends pr(){static k4t(r,t){return t===l&&(t={}),t.u4r_1=r,this.g2w(t)}f1q(r){var t=this.u4r_1.l4t(),n=JO(this.u4r_1,r,t),a;if(n==null)return y().c1k_1;a=n;var s=a,u=vO(this,t,s),_=u==null?null:this.m4t(u);return _??y().c1k_1}m4t(r){var t=xe().k4l();t.n4t("play",pO);var n=()=>y().z1t(r.e4b_1);return t.o4t("volume",n,a=>(r.e4b_1=a.y1o(0),S)),t.p4t("beats",()=>{for(var a=sr().p1i(),s=r.d4b_1,u=N().d1(gr(s,10)),_=s.e1();_.f1();){var o=_.g1(),c=o.v4r_1,h=xe().k4l();h.p4t("note",dO(c));var f=mO(o,c);h.o4t("notei",f,wO(o));var v=yO(c);h.o4t("octave",v,gO(o,c));var d=bO(o);h.o4t("volume",d,kO(o));var g=CO(o);h.o4t("mode",g,xO(o));var b=SO(o);h.o4t("instrument",b,zO(o)),u.c1(h)}for(var w=0,x=u.e1();x.f1();){var z=x.g1(),k=w;w=k+1|0;var A=Ht(k);a.k1n(A+1|0,z)}return a}),t}}p(e,"track",l,l,l,[1,0,2,3]),$3=e}return $3}var A3;function DO(){if(A3===l){class e extends yr(){static t4t(r,t){return t===l&&(t={}),t.s4t_1=r,this.p2r(t)}f1q(r){var t=this.s4t_1.l4t(),n=h$(this.s4t_1,r,t),a;if(n==null)return y().c1k_1;a=n;var s=a,u=this.s4t_1.q4r_1.b3(s),_;if(u==null){var o=Aa(t.o4a_1,s),c=o==null?null:this.u4t(o),h;c==null?h=null:(this.s4t_1.q4r_1.f3(s,c),h=c),_=h}else _=u;var f=_;return f??y().c1k_1}g1q(r,t){var n=this.f1q(r),a;if(n.equals(y().c1k_1)&&t.x1o(!1)){var s=r.s1o(),u=new(At())(s);this.s4t_1.l4t().o4a_1[s]=u,this.s4t_1.q4r_1.g3(s),a=this.u4t(u)}else a=n;return a}u4t(r){var t=xe().k4l();t.p4t("index",()=>y().y1t(r.d4s_1)),t.p4t("all",()=>{for(var f=sr().p1i(),v=this.s4t_1.l4t().o4a_1,d=N().p1(),g=0,b=v.length;g{var f=r.e4s_1,v;f==null?v=null:v=y().y1u(f);var d=v;return d??y().c1k_1};t.o4t("name",n,f=>(r.e4s_1=f.b1p(null),S));var a=()=>y().y1u(r.f4s_1.h3_1);t.o4t("wave",a,f=>{var v=r,d=f.o1p(),g;d==null?g=null:g=cF(d);var b=g;return v.f4s_1=b??fn(),S});var s=()=>y().z1t(r.g4s_1);t.o4t("attack",s,f=>(r.g4s_1=f.y1o(0),S));var u=()=>y().z1t(r.h4s_1);t.o4t("decay",u,f=>(r.h4s_1=f.y1o(0),S));var _=()=>y().z1t(r.i4s_1);t.o4t("sustain",_,f=>(r.i4s_1=f.y1o(0),S));var o=()=>y().z1t(r.j4s_1);t.o4t("release",o,f=>(r.j4s_1=f.y1o(0),S)),t.p4t("sweep",()=>{var f=xe().k4l(),v=()=>{var b=r.l4s_1.l1(0).v4t();return y().u26(b)};f.o4t("active",v,b=>{var w=b.x1o(!1);return r.l4s_1.l1(0).w4t(w),S});var d=()=>{var b=y(),w=r.l4s_1.l1(0);return b.z1t((w instanceof ee()?w:m()).y4t_1)};f.o4t("acceleration",d,b=>{var w=r.l4s_1.l1(0);return(w instanceof ee()?w:m()).y4t_1=b.y1o(0),S});var g=()=>{var b=y(),w=r.l4s_1.l1(0);return b.z1t((w instanceof ee()?w:m()).x4t_1)};return f.o4t("sweep",g,b=>{var w=r.l4s_1.l1(0);return(w instanceof ee()?w:m()).x4t_1=b.y1o(0),S}),f}),t.p4t("vibrato",()=>{var f=xe().k4l(),v=()=>{var b=r.l4s_1.l1(1).v4t();return y().u26(b)};f.o4t("active",v,b=>{var w=b.x1o(!1);return r.l4s_1.l1(1).w4t(w),S});var d=()=>{var b=y(),w=r.l4s_1.l1(1);return b.z1t((w instanceof ne()?w:m()).a4u_1)};f.o4t("frequency",d,b=>{var w=r.l4s_1.l1(1);return(w instanceof ne()?w:m()).a4u_1=b.y1o(0),S});var g=()=>{var b=y(),w=r.l4s_1.l1(1);return b.z1t((w instanceof ne()?w:m()).b4u_1)};return f.o4t("depth",g,b=>{var w=r.l4s_1.l1(1);return(w instanceof ne()?w:m()).b4u_1=b.y1o(0),S}),f}),t.n4t("noteOn",f=>{var v=qe().w4q(f.z1f());return this.s4t_1.i4r_1.d4u(v,r),y().f1k_1}),t.n4t("noteOff",f=>{var v=qe().w4q(f.z1f());return this.s4t_1.i4r_1.e4u(v),y().f1k_1}),t.p4t("harmonics",()=>{var f=xe().k4l(),v=Ct(0,r.k4s_1.length),d=v.v1_1,g=v.w1_1;if(d<=g)do{var b=d;d=d+1|0;var w=b,x=""+(w+1|0),z=qO(r,w);f.o4t(x,z,IO(r,w))}while(b!==g);return f});var c=this.s4t_1.q4r_1,h=r.d4s_1;return c.f3(h,t),t}}p(e,"instrument",l,l,l,[0,1,2,3]),A3=e}return A3}var E3;function PO(){if(E3===l){class e extends pr(){static i4u(r,t){return t===l&&(t={}),t.h4u_1=r,this.g2w(t)}f1q(r){var t=this.h4u_1.l4t(),n=r.i1p(),a=Aa(t.p4a_1,n),s=a==null?null:this.j4u(a,t);return s??y().c1k_1}j4u(r,t){var n=xe().k4l();n.p4t("index",()=>y().y1t(r.r4a_1)),n.p4t("all",()=>{for(var s=sr().p1i(),u=this.h4u_1.l4t().p4a_1,_=N().d1(u.length),o=0,c=u.length;oy().y1t(r.u4a_1);return n.o4t("bpm",a,s=>(r.u4a_1=s.i1p(),S)),n.n4t("set_volume",s=>{var u=s.w1m("beat").q1o(),_=s.w1m("volume").q1o();return r.k4u(u,_),y().f1k_1}),n.n4t("set_note",s=>{var u=s.w1m("beat").q1o(),_=qe().w4q(s.w1m("note").z1f()),o=s.w1m("duration").q1o(),c=s.w1m("unique").x1o(!1);return r.l4u(_,u,o,c),y().f1k_1}),n.n4t("remove_note",s=>{var u=s.w1m("beat").q1o(),_=qe().w4q(s.w1m("note").z1f());return r.m4u(_,u),y().f1k_1}),n.n4t("note_data",AO),n.p4t("notes",()=>{for(var s=sr().p1i(),u=r.v4a_1,_=EO,o=new($O())(_),c=Ws(u,o),h=N().d1(gr(c,10)),f=c.e1();f.f1();){var v=f.g1(),d=sr().p1i(),g=v.v4r_1,b=g==null?null:g.h3_1,w;b==null?w=null:w=y().y1u(b);var x=w;d.c1n("note",x??y().c1k_1);var z=v.v4r_1,k=z==null?null:z.s4q_1,A;k==null?A=null:A=y().y1t(k);var D=A;d.c1n("notei",D??y().c1k_1);var B=v.v4r_1,R=B==null?null:B.x4q(),W;R==null?W=null:W=y().y1t(R);var G=W;d.c1n("octave",G??y().c1k_1),d.c1n("volume",y().z1t(v.y4r_1)),d.c1n("beat",y().z1t(v.w4r_1)),d.c1n("duration",y().z1t(v.x4r_1)),h.c1(d)}for(var Q=0,X=h.e1();X.f1();){var rr=X.g1(),tr=Q;Q=tr+1|0;var ir=Ht(tr);s.k1n(ir+1|0,rr)}return s}),n.d4m("play",()=>{var s=this.h4u_1.i4r_1.n4u(r);s.o4u();var u=s,_=xe().k4l();return _.d4m("stop",()=>(u.p4u(),y().f1k_1)),_}),n.n4t("set_instrument",s=>{var u;if(s.k1o()){var _=r.s4a_1,o;_==null?o=null:o=y().y1t(_.d4s_1);var c=o;u=c??y().c1k_1}else{var h=h$(this.h4u_1,s,t),f;if(h==null)return y().c1k_1;f=h;var v=f,d=Aa(t.o4a_1,v),g;if(d==null)return y().c1k_1;g=d;var b=g;r.s4a_1=b,r.t4a_1=b.d4s_1,u=y().f1k_1}return u}),n.p4t("instrument",()=>{var s=r.s4a_1,u=s==null?null:s.d4s_1,_;u==null?_=null:_=y().y1t(u);var o=_;return o??y().c1k_1}),n.d4m("save",()=>{var s=this.h4u_1.h4r_1.x49(0),u;if(s==null)return y().c1k_1;u=s;var _=u,o=this.h4u_1.l4t(),c=on().q4u(o);return this.h4u_1.j4r_1.x4u(_.t4u_1,c),y().f1k_1}),n.d4m("export",()=>{var s=this.h4u_1.i4r_1.f4b(r);return this.h4u_1.j4r_1.y4u(s),y().f1k_1}),n}}p(e,"bar",l,l,l,[1,0,2,3]),E3=e}return E3}var N3;function BO(){if(N3===l){class e extends pr(){static c4v(r,t){return t===l&&(t={}),t.b4v_1=r,this.g2w(t)}e1q(){return F(pr()).e1q.call(this)}f1q(r){var t=this.b4v_1.l4t().p4a_1;if(t.length===0)return y().c1k_1;if(r.m1o()&&We(r.i1p(),0,t.length-1|0),this.b4v_1.k4r_1)throw Xt().nc("An operation is not implemented: K");return y().c1k_1}}p(e,"play",l,l,l,[1,0,2,3]),N3=e}return N3}var L3;function OO(){if(L3===l){class e extends pr(){static g4v(r,t){return t===l&&(t={}),t.f4v_1=r,this.g2w(t)}e1q(){return F(pr()).e1q.call(this)}f1q(r){var t=this.f4v_1.l4t().p4a_1;if(t.length===0)return y().c1k_1;if(r.m1o()&&We(r.i1p(),0,t.length-1|0),this.f4v_1.k4r_1)throw Xt().nc("An operation is not implemented: L");return y().c1k_1}}p(e,"loop",l,l,l,[1,0,2,3]),L3=e}return L3}var j3;function RO(){if(j3===l){class e extends pr(){static k4v(r,t){return t===l&&(t={}),t.j4v_1=r,this.g2w(t)}e1q(){return F(pr()).e1q.call(this)}f1q(r){var t=this.j4v_1.l4t().p4a_1;if(t.length===0)return y().c1k_1;var n;r.m1o()?n=We(r.i1p(),0,t.length-1|0):n=0;var a=n,s=this.j4v_1.o4r_1.b3(new(o$())(this.j4v_1.m4r_1,a)),u;return s==null?u=null:(s.p4u(),u=S),u==null?y().c1k_1:y().f1k_1}}p(e,"stop",l,l,l,[1,0,2,3]),j3=e}return j3}var M3;function UO(){if(M3===l){class e extends pr(){static o4v(r,t){return t===l&&(t={}),t.n4v_1=r,this.g2w(t)}e1q(){return F(pr()).e1q.call(this)}f1q(r){var t=this.n4v_1.l4t().q4a_1;if(t.length===0)return y().c1k_1;if(r.m1o()&&We(r.i1p(),0,t.length-1|0),this.n4v_1.k4r_1)throw Xt().nc("An operation is not implemented: M");return y().c1k_1}}p(e,"mplay",l,l,l,[1,0,2,3]),M3=e}return M3}var T3;function KO(){if(T3===l){class e extends pr(){static s4v(r,t){return t===l&&(t={}),t.r4v_1=r,this.g2w(t)}e1q(){return F(pr()).e1q.call(this)}f1q(r){var t=this.r4v_1.l4t().q4a_1;if(t.length===0)return y().c1k_1;if(r.m1o()&&We(r.i1p(),0,t.length-1|0),this.r4v_1.k4r_1)throw Xt().nc("An operation is not implemented: N");return y().c1k_1}}p(e,"mloop",l,l,l,[1,0,2,3]),T3=e}return T3}var F3;function GO(){if(F3===l){class e extends pr(){static w4v(r,t){return t===l&&(t={}),t.v4v_1=r,this.g2w(t)}e1q(){return F(pr()).e1q.call(this)}f1q(r){var t=this.v4v_1.l4t().q4a_1;if(t.length===0)return y().c1k_1;var n;r.m1o()?n=We(r.i1p(),0,t.length-1|0):n=0;var a=n,s=this.v4v_1.p4r_1.b3(new(c$())(this.v4v_1.m4r_1,a)),u;return s==null?u=null:(s.p4u(),u=S),u==null?y().c1k_1:y().f1k_1}}p(e,"mstop",l,l,l,[1,0,2,3]),F3=e}return F3}function h$(e,i,r){var t;if(i.h1o()){var n=i.i1p(),a=r.o4a_1,s;r:{for(var u=0,_=a.length;u<_;){var o=a[u];if(u=u+1|0,(o==null?null:o.d4s_1)===n){s=o;break r}}s=null}var c=s;t=c==null?null:c.d4s_1}else{var h=r.o4a_1,f;r:{for(var v=0,d=h.length;v]";else{r.c1(Z(n));var s=n.v1n(),u=X7(s," ",l,l,l,l,o=>dg(o.b1p("nil"),":")+p$(e,n.v1m(o),r));a="table["+u+"]"}t=a}else if(i.f1o()){var _=Ct(0,i.c1q());t="function("+Et(_,", ",l,l,l,l,sR)+")"}else t=i.toString();return t}function aR(e,i,r,t){var n;return r===l?n=gt().o1():n=r,r=n,p$(e,i,r)}var Y3;function iR(){if(Y3===l){class e extends Qt(){static i4g(r,t){return t===l&&(t={}),t.h4g_1=r,this.n2q(t)}q1q(r){var t=r.c1q(),n=Yt(1,t),a=Et(n," ",l,l,l,l,s=>aR(this.h4g_1,r.b1q(s)));return this.h4g_1.l4g_1.m45("🐛",()=>a),y().c1k_1}}p(e,"console",l,l,l,[1,2,0,3]),Y3=e}return Y3}function sR(e){return"arg"}var Z3;function lR(){if(Z3===l){class e extends kr(){static m4g(r){var t=this.l2r();return t.l4g_1=r,t}g1q(r,t){var n=sr().p1i();return n.c1n("console",iR().i4g(this)),t.c1n("debug",n),t.w1m("package").w1m("loaded").c1n("debug",n),n}}p(e,"DebugLib",l,l,l,[0,1,2,3]),Z3=e}return Z3}var X3;function uR(){if(X3===l){class e extends kr(){static d4l(){return this.l2r()}g1q(r,t){var n=sr().p1i(),a=vw(C(97),C(122)),s=a.xl_1,u=a.yl_1;if(s<=u)do{var _=new(J())(s);s=pw(s,1);var o=_.g2_1,c=ge(o,C(97));n.c1n(Lr(o),Ft().y1t(P2().i3_1+c|0))}while(!E(_,new(J())(u)));var h=vw(C(48),C(57)),f=h.xl_1,v=h.yl_1;if(f<=v)do{var d=new(J())(f);f=pw(f,1);var g=d.g2_1,b=ge(g,C(48));n.c1n(Lr(g),Ft().y1t(D2().i3_1+b|0))}while(!E(d,new(J())(v)));return n.c1n("up",Ft().y1t(M2().i3_1)),n.c1n("down",Ft().y1t(F2().i3_1)),n.c1n("right",Ft().y1t(T2().i3_1)),n.c1n("left",Ft().y1t(j2().i3_1)),n.c1n("space",Ft().y1t(L2().i3_1)),n.c1n("enter",Ft().y1t(A2().i3_1)),n.c1n("shift",Ft().y1t(E2().i3_1)),n.c1n("ctrl",Ft().y1t(va().i3_1)),n.c1n("alt",Ft().y1t(N2().i3_1)),n.c1n("delete",Ft().y1t($2().i3_1)),t.c1n("keys",n),t.w1m("package").w1m("loaded").c1n("keys",n),n}}p(e,"KeysLib",e.d4l,l,l,[0,1,2,3]),X3=e}return X3}function Q3(e,i){return i*i*i*(i*(i*6-15)+10)}function Bt(e,i){return(i+1|0)&255}function Te(e,i,r,t,n){var a=i&15,s=a<8?r:t,u;a<4?u=t:a===12||a===14?u=r:u=n;var _=u;return((a&1)===0?s:-s)+((a&2)===0?_:-_)}function rn(e,i,r,t){return i+t*(r-i)}var r4;function _R(){if(r4===l){class e extends pr(){static e4p(r,t){return t===l&&(t={}),t.d4p_1=r,this.g2w(t)}f1q(r){var t;return r.q1o()>=0?t=y().h1k_1:t=m$().f4p_1,t}}p(e,"sign",l,l,l,[1,0,2,3]),r4=e}return r4}var t4;function oR(){if(t4===l){class e extends kr(){static j4p(r,t){return t===l&&(t={}),t.i4p_1=r,this.l2r(t)}g1q(r,t){var n=r.q1o(),a=t.q1o(),s=Math.atan2(n,a);return y().z1t(s)}}p(e,"atan2",l,l,l,[0,1,2,3]),t4=e}return t4}var e4;function cR(){if(e4===l){class e extends s1(){static n4p(r,t){return t===l&&(t={}),t.m4p_1=r,this.s35(t)}h1q(r,t,n){var a;r.q1o()>t.q1o()?a=r:a=t;var s=a,u;s.q1o()0){var s=sn().zk(1,n.n1n()+1|0);a=n.l1(s)}else a=y().c1k_1;t=a}else{var u;if(r.h1o())u=y().y1t(sn().q1(Tn(r.s1o())));else{var _=y(),o=sn(),c=r.q1o(),h=Math.abs(c);u=_.z1t(o.cl(h))}t=u}return t}g1q(r,t){if(t.k1o())return this.f1q(r);var n=r.s1o(),a=t.s1o(),s;return n===a?s=y().y1t(n):s=y().y1t(sn().zk(n,a)),s}}p(e,"rnd",l,l,l,[0,1,2,3]),i4=e}return i4}var s4;function vR(){if(s4===l){class e extends kr(){static e4q(r,t){return t===l&&(t={}),t.d4q_1=r,this.l2r(t)}g1q(r,t){var n=r.w1m("x").s1o(),a=r.w1m("y").s1o(),s=r.w1m("width").s1o(),u=r.w1m("height").s1o(),_=t.w1m("x").s1o(),o=t.w1m("y").s1o(),c=t.w1m("width").s1o(),h=t.w1m("height").s1o();return y().u26(n<(_+c|0)&&(n+s|0)>_&&a<(o+h|0)&&(a+u|0)>o)}}p(e,"roverlap",l,l,l,[0,1,2,3]),s4=e}return s4}var l4;function pR(){if(l4===l){class e extends s1(){static j4q(r,t,n){n===l&&(n={}),n.i4q_1=r;var a=this.s35(n),s=Q7(a1(Yt(0,255)),Wy(t)),u=a,_=N().p1(),o=0;if(o<512)do{var c=o;o=o+1|0,_.c1(s.l1(c&255))}while(o<512);return u.h4q_1=_,a}k4q(r,t,n){var a=Math.floor(r),s=Br(a)&255,u=Math.floor(t),_=Br(u)&255,o=Math.floor(n),c=Br(o)&255,h=r-Math.floor(r),f=t-Math.floor(t),v=n-Math.floor(n),d=Q3(this,h),g=Q3(this,f),b=Q3(this,v),w=this.h4q_1.l1(this.h4q_1.l1(this.h4q_1.l1(s)+_|0)+c|0),x=this.h4q_1.l1(this.h4q_1.l1(this.h4q_1.l1(s)+Bt(this,_)|0)+c|0),z=this.h4q_1.l1(this.h4q_1.l1(this.h4q_1.l1(s)+_|0)+Bt(this,c)|0),k=this.h4q_1.l1(this.h4q_1.l1(this.h4q_1.l1(s)+Bt(this,_)|0)+Bt(this,c)|0),A=this.h4q_1.l1(this.h4q_1.l1(this.h4q_1.l1(Bt(this,s))+_|0)+c|0),D=this.h4q_1.l1(this.h4q_1.l1(this.h4q_1.l1(Bt(this,s))+Bt(this,_)|0)+c|0),B=this.h4q_1.l1(this.h4q_1.l1(this.h4q_1.l1(Bt(this,s))+_|0)+Bt(this,c)|0),R=this.h4q_1.l1(this.h4q_1.l1(this.h4q_1.l1(Bt(this,s))+Bt(this,_)|0)+Bt(this,c)|0),W=rn(this,Te(this,w,h,f,v),Te(this,A,h-1,f,v),d),G=rn(this,Te(this,x,h,f-1,v),Te(this,D,h-1,f-1,v),d),Q=rn(this,W,G,g),X=rn(this,Te(this,z,h,f,v-1),Te(this,B,h-1,f,v-1),d),rr=rn(this,Te(this,k,h,f-1,v-1),Te(this,R,h-1,f-1,v-1),d),tr=rn(this,X,rr,g);return(rn(this,Q,tr,b)+1)/2}h1q(r,t,n){return y().z1t(this.k4q(r.q1o(),t.q1o(),n.q1o()))}}p(e,"perlin",l,l,l,[0,1,2,3]),l4=e}return l4}var u4;function dR(){if(u4===l){class e{constructor(){ld=this,this.f4p_1=y().y1t(-1)}}ar(e),u4=e}return u4}var ld;function m$(){return ld===l&&new(dR()),ld}var _4;function mR(){if(_4===l){class e extends w8(){static n4q(){return m$(),this.c2z()}g1q(r,t){var n=super.g1q(r,t);return n.c1n("rnd",fR().a4q(this)),n.c1n("clamp",cR().n4p(this)),n.c1n("dst",hR().s4p(this)),n.c1n("dst2",d$().w4p(this)),n.c1n("sign",_R().e4p(this)),n.c1n("atan2",oR().j4p(this)),n.c1n("roverlap",vR().e4q(this)),n.c1n("perlin",pR().j4q(this,sn().al())),n}}p(e,"MathLib",e.n4q,l,l,[0,1,2,3]),_4=e}return _4}var o4;function wR(){if(o4===l){class e extends kr(){static d51(){return this.l2r()}g1q(r,t){var n=wt.e51(r,t),a=n.l1(0),s=n.l1(1),u;a.k1o()?u=y().g1k_1:u=a;var _=u,o;s.k1o()?o=y().g1k_1:o=s;var c=o;return wt.f51(_,c)}f1q(r){return super.f1q(r)}}p(e,"create",e.d51,l,l,[0,1,2,3]),o4=e}return o4}var c4;function yR(){if(c4===l){class e extends Qt(){static i51(){return this.n2q()}q1q(r){var t=wt.j51(r),n=t.l1(0),a=t.l1(1),s=t.l1(2),u=t.l1(3);return wt.f51(y().z1t(n.q1o()+s.q1o()),y().z1t(a.q1o()+u.q1o()))}g1q(r,t){return super.g1q(r,t)}s2q(r,t,n,a){return super.s2q(r,t,n,a)}}p(e,"add",e.i51,l,l,[1,2,0,3]),c4=e}return c4}var h4;function gR(){if(h4===l){class e extends Qt(){static m51(){return this.n2q()}q1q(r){var t=wt.j51(r),n=t.l1(0),a=t.l1(1),s=t.l1(2),u=t.l1(3);return wt.f51(y().z1t(n.q1o()-s.q1o()),y().z1t(a.q1o()-u.q1o()))}g1q(r,t){return super.g1q(r,t)}s2q(r,t,n,a){return super.s2q(r,t,n,a)}}p(e,"sub",e.m51,l,l,[1,2,0,3]),h4=e}return h4}var f4;function bR(){if(f4===l){class e extends yr(){static p51(){return this.p2r()}q1q(r){var t=wt.j51(r),n=t.l1(0),a=t.l1(1),s=t.l1(2),u=t.l1(3);return y().z1t(n.q1o()*s.q1o()+a.q1o()*u.q1o())}g1q(r,t){return super.g1q(r,t)}s2q(r,t,n,a){return super.s2q(r,t,n,a)}}p(e,"dot",e.p51,l,l,[0,1,2,3]),f4=e}return f4}var v4;function kR(){if(v4===l){class e extends Qt(){static s51(){return this.n2q()}q1q(r){var t=wt.j51(r),n=t.l1(0),a=t.l1(1),s=y(),u=n.q1o()*n.q1o()+a.q1o()*a.q1o(),_=Math.sqrt(u);return s.z1t(_)}g1q(r,t){return super.g1q(r,t)}f1q(r){return super.f1q(r)}}p(e,"mag",e.s51,l,l,[1,2,0,3]),v4=e}return v4}var p4;function CR(){if(p4===l){class e extends Qt(){static v51(){return this.n2q()}q1q(r){var t=wt.j51(r),n=t.l1(0),a=t.l1(1),s=n.q1o()*n.q1o()+a.q1o()*a.q1o(),u=Math.sqrt(s),_;return u!==0?_=wt.f51(y().z1t(n.q1o()/u),y().z1t(a.q1o()/u)):_=wt.f51(y().y1t(0),y().y1t(0)),_}g1q(r,t){return super.g1q(r,t)}f1q(r){return super.f1q(r)}}p(e,"nor",e.v51,l,l,[1,2,0,3]),p4=e}return p4}var d4;function xR(){if(d4===l){class e extends Qt(){static y51(){return this.n2q()}q1q(r){var t=wt.j51(r),n=t.l1(0),a=t.l1(1),s=t.l1(2),u=t.l1(3);return y().z1t(n.q1o()*u.q1o()-a.q1o()*s.q1o())}g1q(r,t){return super.g1q(r,t)}s2q(r,t,n,a){return super.s2q(r,t,n,a)}}p(e,"crs",e.y51,l,l,[1,2,0,3]),d4=e}return d4}var m4;function SR(){if(m4===l){class e extends Qt(){static b52(){return this.n2q()}q1q(r){var t=wt.j51(r),n=t.l1(0),a=t.l1(1),s=t.l1(2);return wt.f51(y().z1t(n.q1o()*s.q1o()),y().z1t(a.q1o()*s.q1o()))}h1q(r,t,n){return super.h1q(r,t,n)}g1q(r,t){return super.g1q(r,t)}}p(e,"scl",e.b52,l,l,[1,2,0,3]),m4=e}return m4}var w4;function zR(){if(w4===l){class e{e51(r,t){var n;return r.n1m()?n=Rr([r.w1m("x"),r.w1m("y")]):n=Rr([r,t]),n}j51(r){for(var t=1,n=N().p1(),a=r.b1q(t);t<=r.c1q();)a.n1m()?(n.c1(a.w1m("x")),n.c1(a.w1m("y")),t=t+1|0):(r.c1q()-t|0)>=0&&(n.c1(a),t=t+1|0,n.c1(r.b1q(t)),t=t+1|0),a=r.b1q(t);return n}f51(r,t){var n=sr().p1i();return n.c1n("x",r),n.c1n("y",t),n}}ar(e),w4=e}return w4}var wt,y4;function qR(){if(y4===l){class e extends kr(){static e52(){return this.l2r()}g1q(r,t){var n=sr().p1i();return n.c1n("create",wR().d51()),n.c1n("add",yR().i51()),n.c1n("sub",gR().m51()),n.c1n("dot",bR().p51()),n.c1n("crs",xR().y51()),n.c1n("mag",kR().s51()),n.c1n("nor",CR().v51()),n.c1n("scl",SR().b52()),t.c1n("vec2",n),t.w1m("package").w1m("loaded").c1n("vec2",n),n}}p(e,"Vec2Lib",e.e52,l,l,[0,1,2,3]),y4=e}return y4}wt=new(zR());function Nt(e,i){return Math.pow(e,i)}function ct(e,i,r){return e+(i-e)*this.m4j(r)}var g4;function ht(){if(g4===l){class e{}Ar(e,"Interpolation"),g4=e}return g4}var b4;function mi(){if(b4===l){class e{constructor(r){this.n52_1=r}m4j(r){var t;return r<=.5?t=Nt(r*2,this.n52_1)/2:t=Nt((r-1)*2,this.n52_1)/((this.n52_1%2|0)===0?-2:2)+1,t}toString(){return"pow"+this.n52_1}}F(e).n4j=ct,p(e,"PowInterpolation",l,l,[ht()]),b4=e}return b4}var k4;function wi(){if(k4===l){class e{constructor(r){this.o52_1=r}m4j(r){return Nt(r,this.o52_1)}toString(){return"powIn"+this.o52_1}}F(e).n4j=ct,p(e,"PowInInterpolation",l,l,[ht()]),k4=e}return k4}var C4;function yi(){if(C4===l){class e{constructor(r){this.p52_1=r}m4j(r){return Nt(r-1,this.p52_1)*((this.p52_1%2|0)===0?-1:1)+1}toString(){return"powOut"+this.p52_1}}F(e).n4j=ct,p(e,"PowOutInterpolation",l,l,[ht()]),C4=e}return C4}var x4;function w$(){if(x4===l){class e{m4j(r){var t=r*3.141592653589793;return(1-Math.cos(t))/2}toString(){return"sine"}}F(e).n4j=ct,p(e,"SineInterpolation",w$,l,[ht()]),x4=e}return x4}var S4;function y$(){if(S4===l){class e{m4j(r){var t=r*1.5707964;return 1-Math.cos(t)}toString(){return"sineIn"}}F(e).n4j=ct,p(e,"SineInInterpolation",y$,l,[ht()]),S4=e}return S4}var z4;function g$(){if(z4===l){class e{m4j(r){var t=r*1.5707964;return Math.sin(t)}toString(){return"sineOut"}}F(e).n4j=ct,p(e,"SineOutInterpolation",g$,l,[ht()]),z4=e}return z4}var q4;function b$(){if(q4===l){class e{m4j(r){var t=r;if(t<=.5){t=t*2;var n=1-t*t;return(1-Math.sqrt(n))/2}t=t-1,t=t*2;var a=1-t*t;return(Math.sqrt(a)+1)/2}toString(){return"circle"}}F(e).n4j=ct,p(e,"CircleInterpolation",b$,l,[ht()]),q4=e}return q4}var I4;function k$(){if(I4===l){class e{m4j(r){var t=1-r*r;return 1-Math.sqrt(t)}toString(){return"circleIn"}}F(e).n4j=ct,p(e,"CircleInInterpolation",k$,l,[ht()]),I4=e}return I4}var $4;function C$(){if($4===l){class e{m4j(r){var t=r;t=t-1;var n=1-t*t;return Math.sqrt(n)}toString(){return"circleOut"}}F(e).n4j=ct,p(e,"CircleOutInterpolation",C$,l,[ht()]),$4=e}return $4}var A4;function Um(){if(A4===l){class e{constructor(r,t,n,a){this.q52_1=r,this.r52_1=t,this.s52_1=a,this.t52_1=n*3.141592653589793*((n%2|0)===0?1:-1)}m4j(r){var t=r;if(t<=.5){t=t*2;var n=Nt(this.q52_1,this.r52_1*(t-1)),a=t*this.t52_1;return n*Math.sin(a)*this.s52_1/2}t=1-t,t=t*2;var s=Nt(this.q52_1,this.r52_1*(t-1)),u=t*this.t52_1;return 1-s*Math.sin(u)*this.s52_1/2}toString(){return"elastic"}}F(e).n4j=ct,p(e,"ElasticInterpolation",l,l,[ht()]),A4=e}return A4}var E4;function IR(){if(E4===l){class e extends Um(){m4j(r){var t;if(r>=.99)t=1;else{var n=Nt(this.q52_1,this.r52_1*(r-1)),a=r*this.t52_1;t=n*Math.sin(a)*this.s52_1}return t}toString(){return"elasticIn"}}p(e,"ElasticInInterpolation"),E4=e}return E4}var N4;function $R(){if(N4===l){class e extends Um(){m4j(r){var t=r;if(t===0)return 0;t=1-t;var n=Nt(this.q52_1,this.r52_1*(t-1)),a=t*this.t52_1;return 1-n*Math.sin(a)*this.s52_1}toString(){return"elasticOut"}}p(e,"ElasticOutInterpolation"),N4=e}return N4}var L4;function x$(){if(L4===l){class e{m4j(r){return r}toString(){return"linear"}}F(e).n4j=ct,p(e,"LinearInterpolation",x$,l,[ht()]),L4=e}return L4}var j4;function Gs(){if(j4===l){class e{constructor(r,t){this.c53_1=r,this.d53_1=t,this.e53_1=Nt(this.c53_1,-this.d53_1),this.f53_1=1/(1-this.e53_1)}m4j(r){var t;return r<=.5?t=(Nt(this.c53_1,this.d53_1*(r*2-1))-this.e53_1)*this.f53_1/2:t=(2-(Nt(this.c53_1,-this.d53_1*(r*2-1))-this.e53_1)*this.f53_1)/2,t}toString(){return"exp"+Br(this.d53_1)}}F(e).n4j=ct,p(e,"ExpInterpolation",l,l,[ht()]),j4=e}return j4}var M4;function Ny(){if(M4===l){class e extends Gs(){m4j(r){return(Nt(this.c53_1,this.d53_1*(r-1))-this.e53_1)*this.f53_1}toString(){return"expIn"+Br(this.d53_1)}}p(e,"ExpInInterpolation"),M4=e}return M4}var T4;function Ly(){if(T4===l){class e extends Gs(){m4j(r){return 1-(Nt(this.c53_1,-this.d53_1*r)-this.e53_1)*this.f53_1}toString(){return"expOut"+Br(this.d53_1)}}p(e,"ExpOutInterpolation"),T4=e}return T4}function jy(e,i){var r=i+e.o53_1[0]/2;return r5){var t="bounces cannot be < 2 or > 5: "+r;throw H().u($(t))}switch(this.o53_1=new Float32Array(r),this.p53_1=new Float32Array(r),this.p53_1[0]=1,r){case 2:this.o53_1[0]=.6,this.o53_1[1]=.4,this.p53_1[1]=.33;break;case 3:this.o53_1[0]=.4,this.o53_1[1]=.4,this.o53_1[2]=.2,this.p53_1[1]=.33,this.p53_1[2]=.1;break;case 4:this.o53_1[0]=.34,this.o53_1[1]=.34,this.o53_1[2]=.2,this.o53_1[3]=.15,this.p53_1[1]=.26,this.p53_1[2]=.11,this.p53_1[3]=.03;break;case 5:this.o53_1[0]=.3,this.o53_1[1]=.3,this.o53_1[2]=.2,this.o53_1[3]=.1,this.o53_1[4]=.1,this.p53_1[1]=.45,this.p53_1[2]=.3,this.p53_1[3]=.15,this.p53_1[4]=.06;break}var n=this.o53_1;n[0]=n[0]*2}m4j(r){var t=r;if(t===1)return 1;t=t+this.o53_1[0]/2;var n=0,a=0,s=0,u=this.o53_1.length;r:for(;sn.c1c(s,u);return a.$arity=1,a}function*YR(e,i,r){var t=e.c5i_1,n=e.d5i_1.b49_1.c54(i),a=t.l1a(n,r);return a===O()&&(a=yield a),S}function*ZR(e,i,r){var t=QR(i,e.f5i_1),n=e.e5i_1.j1a(new($1())(t),r);return n===O()&&(n=yield n),S}var Z4;function XR(){if(Z4===l){class e{constructor(r,t){this.c5i_1=r,this.d5i_1=t}c1c(r,t){return er(YR.bind(l,this,r),t)}oc(r,t){return this.c1c(r==null||r!=null?r:m(),t)}}at(e,l,l,[1]),Z4=e}return Z4}function QR(e,i){var r=new(XR())(e,i),t=(n,a)=>r.c1c(n,a);return t.$arity=1,t}function*rU(e,i,r){var t=e.g5i_1,n=ma().i5i(Zt(i)),a=t.l1a(n,r);return a===O()&&(a=yield a),S}function*tU(e,i,r){var t=nU(i),n=e.j5i_1.j1a(new($1())(t),r);return n===O()&&(n=yield n),S}var X4;function eU(){if(X4===l){class e{constructor(r){this.g5i_1=r}c1c(r,t){return er(rU.bind(l,this,r),t)}oc(r,t){return this.c1c(r==null||r!=null?r:m(),t)}}at(e,l,l,[1]),X4=e}return X4}function nU(e){var i=new(eU())(e),r=(t,n)=>i.c1c(t,n);return r.$arity=1,r}function aU(e){return e.y4l_1}function*iU(e,i,r){var t=e.k5i_1,n=SU(e.l5i_1,e.m5i_1,i,r);n===O()&&(n=yield n);var a=T(i,n),s=t.l1a(a,r);return s===O()&&(s=yield s),S}function*sU(e,i,r){var t=uU(i,e.o5i_1,e.p5i_1),n=e.n5i_1.j1a(new($1())(t),r);return n===O()&&(n=yield n),S}var Q4;function lU(){if(Q4===l){class e{constructor(r,t,n){this.k5i_1=r,this.l5i_1=t,this.m5i_1=n}c1c(r,t){return er(iU.bind(l,this,r),t)}oc(r,t){return this.c1c(r==null||r!=null?r:m(),t)}}at(e,l,l,[1]),Q4=e}return Q4}function uU(e,i,r){var t=new(lU())(e,i,r),n=(a,s)=>t.c1c(a,s);return n.$arity=1,n}function*_U(e,i,r){var t=e.q5i_1,n=i.zd(),a=i.ae(),s=e.r5i_1._v;e.r5i_1._v=s+1|0;var u=new(GI())(s,e.s5i_1,e.t5i_1,TI(),!1,n,a),_=t.l1a(u,r);return _===O()&&(_=yield _),S}function*oU(e,i,r){var t=hU(i,e.v5i_1,e.w5i_1,e.x5i_1),n=e.u5i_1.j1a(new($1())(t),r);return n===O()&&(n=yield n),S}var r5;function cU(){if(r5===l){class e{constructor(r,t,n,a){this.q5i_1=r,this.r5i_1=t,this.s5i_1=n,this.t5i_1=a}c1c(r,t){return er(_U.bind(l,this,r),t)}oc(r,t){return this.c1c(r==null||r!=null?r:m(),t)}}at(e,l,l,[1]),r5=e}return r5}function hU(e,i,r,t){var n=new(cU())(e,i,r,t),a=(s,u)=>n.c1c(s,u);return a.$arity=1,a}function*fU(e,i,r){var t=e.y5i_1,n=e.z5i_1._v;e.z5i_1._v=n+1|0;var a=e.a5j_1.g49_1,s=e.a5j_1.d49_1,u=e.a5j_1.e49_1,_=e.a5j_1.b49_1,o=e.a5j_1.h49_1,c=e.a5j_1.c49_1,h=new(ri())(n,e.b5j_1,e.c5j_1,a,s,u,c,_,o,e.d5j_1);h.q44_1=i;var f=t.l1a(h,r);return f===O()&&(f=yield f),S}function*vU(e,i,r){var t=dU(i,e.f5j_1,e.g5j_1,e.h5j_1,e.i5j_1,e.j5j_1),n=e.e5j_1.j1a(new(kU())(t),r);return n===O()&&(n=yield n),S}var t5;function pU(){if(t5===l){class e{constructor(r,t,n,a,s,u){this.y5i_1=r,this.z5i_1=t,this.a5j_1=n,this.b5j_1=a,this.c5j_1=s,this.d5j_1=u}c1c(r,t){return er(fU.bind(l,this,r),t)}oc(r,t){return this.c1c(r==null||r!=null?r:m(),t)}}at(e,l,l,[1]),t5=e}return t5}function dU(e,i,r,t,n,a){var s=new(pU())(e,i,r,t,n,a),u=(_,o)=>s.c1c(_,o);return u.$arity=1,u}function*mU(e,i,r){var t=e.k5j_1,n=g$(e.l5j_1,i.y53_1,i.z53_1,i.a54_1),a=e.m5j_1._v;e.m5j_1._v=a+1|0;var s=new(Jn())(a,e.n5j_1,e.o5j_1,e.p5j_1,n,i.z53_1,i.a54_1),u=t.l1a(s,r);return u===O()&&(u=yield u),S}function*wU(e,i,r){var t=yU(i,e.r5j_1,e.s5j_1,e.t5j_1,e.u5j_1,e.v5j_1),n=e.q5j_1.j1a(new(CU())(t),r);return n===O()&&(n=yield n),S}var e5;function gU(){if(e5===l){class e{constructor(r,t,n,a,s,u){this.k5j_1=r,this.l5j_1=t,this.m5j_1=n,this.n5j_1=a,this.o5j_1=s,this.p5j_1=u}c1c(r,t){return er(mU.bind(l,this,r),t)}oc(r,t){return this.c1c(r==null||r!=null?r:m(),t)}}at(e,l,l,[1]),e5=e}return e5}function yU(e,i,r,t,n,a){var s=new(gU())(e,i,r,t,n,a),u=(_,o)=>s.c1c(_,o);return u.$arity=1,u}function n5(e,i,r,t){var n={_v:0},a=e.a49_1.h4a(e.b49_1.b54(r,!e.i49_1.d2(t))),s=new(FU())(a,n,e,i,r,t);return Ki(s,PU(e,r))}function Ng(e,i,r,t){var n={_v:0},a=e.a49_1.h4a(e.b49_1.d54(r,!e.i49_1.d2(t))),s=new(BU())(a,e,n,i,r,t);return Ki(s,RU(e,r,t))}function g$(e,i,r,t){var n=new(Mm())(r,t),a=Ct(0,r),s=a.v1_1,u=a.w1_1;if(s<=u)do{var _=s;s=s+1|0;var o=_,c=Ct(0,t),h=c.v1_1,f=c.w1_1;if(h<=f)do{var v=h;h=h+1|0;var d=v,y=Eg(o+Eg(d,r)|0,4),b=e.g49_1.n47(),w=new Int8Array([i[y+0|0],i[y+1|0],i[y+2|0],i[y+3|0]]),x=b.a4c(w);n.a4d(o,d,new Int32Array([x]))}while(v!==f)}while(_!==u);return n}var a5;function bU(){if(a5===l){class e{constructor(r){this.w5j_1=r}l1a(r,t){return this.w5j_1(r,t)}o3(){return this.w5j_1}equals(r){var t;if(r!=null&&j(r,ie())){var n;r!=null&&j(r,et())?n=E(this.o3(),r.o3()):n=!1,t=n}else t=!1;return t}hashCode(){return V(this.o3())}}p(e,"sam$kotlinx_coroutines_flow_FlowCollector$0",l,l,[ie(),et()],[1]),a5=e}return a5}var i5;function $1(){if(i5===l){class e{constructor(r){this.x5j_1=r}l1a(r,t){return this.x5j_1(r,t)}o3(){return this.x5j_1}equals(r){var t;if(r!=null&&j(r,ie())){var n;r!=null&&j(r,et())?n=E(this.o3(),r.o3()):n=!1,t=n}else t=!1;return t}hashCode(){return V(this.o3())}}p(e,"sam$kotlinx_coroutines_flow_FlowCollector$0",l,l,[ie(),et()],[1]),i5=e}return i5}var s5;function kU(){if(s5===l){class e{constructor(r){this.y5j_1=r}l1a(r,t){return this.y5j_1(r,t)}o3(){return this.y5j_1}equals(r){var t;if(r!=null&&j(r,ie())){var n;r!=null&&j(r,et())?n=E(this.o3(),r.o3()):n=!1,t=n}else t=!1;return t}hashCode(){return V(this.o3())}}p(e,"sam$kotlinx_coroutines_flow_FlowCollector$0",l,l,[ie(),et()],[1]),s5=e}return s5}var l5;function CU(){if(l5===l){class e{constructor(r){this.z5j_1=r}l1a(r,t){return this.z5j_1(r,t)}o3(){return this.z5j_1}equals(r){var t;if(r!=null&&j(r,ie())){var n;r!=null&&j(r,et())?n=E(this.o3(),r.o3()):n=!1,t=n}else t=!1;return t}hashCode(){return V(this.o3())}}p(e,"sam$kotlinx_coroutines_flow_FlowCollector$0",l,l,[ie(),et()],[1]),l5=e}return l5}function*xU(e,i,r,t){for(var n=r.o4n_1,a=N().p1(),s=n.e1();s.f1();){var u=s.g1(),_=u.c4m_1;ga(a,_)}for(var o=N().p1(),c=a.e1();c.f1();){var h=c.g1(),f;h instanceof Ea()?f=h.v5k_1:h instanceof La()||h instanceof Aa()?f=null:h instanceof Na()?f=h.i5k_1:gt();var v=f;v==null||o.c1(v)}for(var d=N().d1(yr(o,10)),y=o.e1();y.f1();){var b=y.g1(),w=e.b49_1.e54(b),x,q=w.c4a(t);q===O()&&(q=yield q),q?x=w:x=null;var k=x,A;if(k==null)A=null;else{var D=k.d4a(t);D===O()&&(D=yield D),A=D}var B=T(b,A);d.c1(B)}for(var R=N().p1(),W=d.e1();W.f1();){var G=W.g1();G.yd_1!=null&&R.c1(G)}for(var Q=xt(iy(yr(R,10)),16),X=zr().wa(Q),rr=R.e1();rr.f1();){var tr=rr.g1(),ir=tr.zd(),dr=tr.ae(),cr=g$(e,nr(dr).y53_1,dr.z53_1,dr.a54_1),mr=new(Jn())(0,0,"__level-"+i,Tm(),cr,cr.u4c_1,cr.v4c_1),Dr=T(ir,mr);X.f3(Dr.xd_1,Dr.yd_1)}return X}function SU(e,i,r,t){return er(xU.bind(l,e,i,r),t)}var u5;function zU(){if(u5===l){class e{constructor(r,t,n,a){this.y5h_1=r,this.z5h_1=t,this.a5i_1=n,this.b5i_1=a}m1a(r,t){return er(WR.bind(l,this,r),t)}j1a(r,t){return this.m1a(r,t)}}p(e,l,l,l,[He()],[1]),u5=e}return u5}var _5;function qU(){if(_5===l){class e{constructor(r,t){this.a5l_1=r,this.b5l_1=t}c5l(r,t){this.a5l_1.h49_1.n45("RESOURCE_FACTORY",()=>"Loading sound '"+this.b5l_1+"'")}oc(r,t){return this.c5l(r instanceof S1()?r:m(),t)}}at(e,l,l,[1]),_5=e}return _5}function IU(e,i){var r=new(qU())(e,i),t=(n,a)=>r.c5l(n,a);return t.$arity=1,t}var o5;function $U(){if(o5===l){class e{constructor(r,t){this.e5i_1=r,this.f5i_1=t}m1a(r,t){return er(ZR.bind(l,this,r),t)}j1a(r,t){return this.m1a(r,t)}}p(e,l,l,l,[He()],[1]),o5=e}return o5}var c5;function AU(){if(c5===l){class e{constructor(r){this.d5l_1=r}e5l(r,t){return this.d5l_1.a49_1.h4a(r)}oc(r,t){return this.e5l(r!=null&&j(r,l1())?r:m(),t)}}at(e,l,l,[1]),c5=e}return c5}function EU(e){var i=new(AU())(e),r=(t,n)=>i.e5l(t,n);return r.$arity=1,r}var h5;function NU(){if(h5===l){class e{constructor(r){this.j5i_1=r}m1a(r,t){return er(tU.bind(l,this,r),t)}j1a(r,t){return this.m1a(r,t)}}p(e,l,l,l,[He()],[1]),h5=e}return h5}var f5;function LU(){if(f5===l){class e{constructor(r){this.f5l_1=r}g5l(r,t){this.f5l_1.h49_1.n45("RESOURCE_FACTORY",()=>{var n="Loading world "+r.m4n_1+" with levels ";return n+Et(r.o4n_1,", ",l,l,l,l,aU)})}oc(r,t){return this.g5l(r instanceof Ps()?r:m(),t)}}at(e,l,l,[1]),f5=e}return f5}function jU(e){var i=new(LU())(e),r=(t,n)=>i.g5l(t,n);return r.$arity=1,r}var v5;function MU(){if(v5===l){class e{constructor(r,t,n){this.n5i_1=r,this.o5i_1=t,this.p5i_1=n}m1a(r,t){return er(sU.bind(l,this,r),t)}j1a(r,t){return this.m1a(r,t)}}p(e,l,l,l,[He()],[1]),v5=e}return v5}var p5;function TU(){if(p5===l){class e{constructor(r,t,n,a){this.u5i_1=r,this.v5i_1=t,this.w5i_1=n,this.x5i_1=a}m1a(r,t){return er(oU.bind(l,this,r),t)}j1a(r,t){return this.m1a(r,t)}}p(e,l,l,l,[He()],[1]),p5=e}return p5}var d5;function FU(){if(d5===l){class e{constructor(r,t,n,a,s,u){this.e5j_1=r,this.f5j_1=t,this.g5j_1=n,this.h5j_1=a,this.i5j_1=s,this.j5j_1=u}m1a(r,t){return er(vU.bind(l,this,r),t)}j1a(r,t){return this.m1a(r,t)}}p(e,l,l,l,[He()],[1]),d5=e}return d5}var m5;function DU(){if(m5===l){class e{constructor(r,t){this.h5l_1=r,this.i5l_1=t}j5l(r,t){this.h5l_1.h49_1.n45("RESOURCE_FACTORY",()=>"Loading script '"+this.i5l_1+"'")}oc(r,t){return this.j5l(r instanceof ri()?r:m(),t)}}at(e,l,l,[1]),m5=e}return m5}function PU(e,i){var r=new(DU())(e,i),t=(n,a)=>r.j5l(n,a);return t.$arity=1,t}var w5;function BU(){if(w5===l){class e{constructor(r,t,n,a,s,u){this.q5j_1=r,this.r5j_1=t,this.s5j_1=n,this.t5j_1=a,this.u5j_1=s,this.v5j_1=u}m1a(r,t){return er(wU.bind(l,this,r),t)}j1a(r,t){return this.m1a(r,t)}}p(e,l,l,l,[He()],[1]),w5=e}return w5}var g5;function OU(){if(g5===l){class e{constructor(r,t,n){this.k5l_1=r,this.l5l_1=t,this.m5l_1=n}n5l(r,t){this.k5l_1.h49_1.n45("RESOURCE_FACTORY",()=>"Loading spritesheet '"+this.l5l_1+"' ("+this.m5l_1.toString()+")")}oc(r,t){return this.n5l(r instanceof Jn()?r:m(),t)}}at(e,l,l,[1]),g5=e}return g5}function RU(e,i,r){var t=new(OU())(e,i,r),n=(a,s)=>t.n5l(a,s);return n.$arity=1,n}var y5;function UU(){if(y5===l){class e{constructor(r,t,n,a,s,u,_,o){this.a49_1=r,this.b49_1=t,this.c49_1=n,this.d49_1=a,this.e49_1=s,this.f49_1=u,this.g49_1=_,this.h49_1=o,this.i49_1=md([Fs(),Ds(),pg()])}m49(r,t){var n={_v:0},a=this.a49_1.h4a(this.b49_1.f54(t,this.f49_1)),s=new(zU())(a,n,r,t);return Ki(s,IU(this,t))}l49(r,t){var n={_v:0},a=iA(t),s=new($U())(a,this),u=py(s,l,EU(this)),_=new(NU())(u),o=Ki(_,jU(this)),c=new(MU())(o,this,t);return new(TU())(c,n,r,t)}j49(r,t){return n5(this,r,t,GD())}o49(r){return n5(this,0,r,Ds())}n49(r){return n5(this,0,r,Fs())}k49(r,t){return Ng(this,r,t,Tm())}p49(r){return Ng(this,0,r,pg())}}p(e,"ResourceFactory",l,l,l,[3]),y5=e}return y5}function*KU(e,i,r){var t=Q7(e.s47_1),n=i.u47();if(e.s47_1.u2(n),t==null){Lg(e,i);var a=e.p47_1.l18(i,r);a===O()&&(a=yield a)}else if(e.s47_1.m1()){e.q47_1.c1(i);var s=GU(e,e.q47_1);e.q47_1.v2();for(var u=s.e1();u.f1();){var _=u.g1();Lg(e,_);var o=e.p47_1.l18(_,r);o===O()&&(o=yield o)}}else e.s47_1.m1()||e.q47_1.c1(i);return S}function Lg(e,i){var r=i.u47(),t=e.r47_1,n=t.b3(r),a;if(n==null){var s=zr().va();t.f3(r,s),a=s}else a=n;var u=a,_=u.b3(i.v47()),o=i.v47();u.f3(o,i),i.w47(_!=null)}function GU(e,i){var r=N().p1();if(r.i1(i),r.h1()>1){var t=(a,s)=>{var u=e.t47_1.s2(a.u47()),_=u===-1?e.t47_1.h1():u,o=e.t47_1.s2(s.u47()),c=o===-1?e.t47_1.h1():o;return ja(_,c)},n=new(JU())(t);rA(r,n)}return r}var b5;function JU(){if(b5===l){class e{constructor(r){this.x47_1=r}hh(r,t){return this.x47_1(r,t)}compare(r,t){return this.hh(r,t)}o3(){return this.x47_1}equals(r){var t;if(r!=null&&j(r,ae())){var n;r!=null&&j(r,et())?n=E(this.o3(),r.o3()):n=!1,t=n}else t=!1;return t}hashCode(){return V(this.o3())}}p(e,"sam$kotlin_Comparator$0",l,l,[ae(),et()]),b5=e}return b5}var k5;function WU(){if(k5===l){class e{constructor(r){this.p47_1=r;var t=this;t.q47_1=N().p1();var n=this;n.r47_1=zr().va(),this.s47_1=X7([Fs(),Ds()]),this.t47_1=Rr([Fs(),Ds()])}y47(r,t){return er(KU.bind(l,this,r),t)}l1a(r,t){return this.y47(r!=null&&j(r,Va())?r:m(),t)}}p(e,"GameResourceCollector",l,l,[ie()],[1]),k5=e}return k5}function*HU(e,i,r){var t=_A(e.z47_1.u43_1),n=py(t,128,YU()).j1a(e.z47_1.y43_1,r);return n===O()&&(n=yield n),S}var C5;function VU(){if(C5===l){class e{a48(r,t){return r}oc(r,t){return this.a48(r!=null&&j(r,He())?r:m(),t)}}at(e,l,l,[1]),C5=e}return C5}function YU(){var e=new(VU()),i=(r,t)=>e.a48(r,t);return i.$arity=1,i}function*ZU(e,i){r:for(;;){var r=e.x43_1.p18();if(lA(r))break r;var t=uA(r),n;if(t==null)continue r;n=t;var a=n;if(e.z43_1.u2(a.b48()),a.e48()){var s=e.d48(a,i);s===O()&&(s=yield s)}else{var u=e.c48(a,i);u===O()&&(u=yield u)}}return S}function*XU(e,i,r){e.l43_1.g48("GAME_ENGINE",()=>"Loaded "+i.b48()+" "+i.u47().toString()+" (version: "+i.f48()+")");var t=y$(e,i,r);if(t===O()&&(t=yield t),e.t43_1=e.t43_1-1|0,e.l43_1.n45("GAME_ENGINE",()=>"Remaining resources to load: "+e.t43_1+". ("+Et(e.z43_1,", ")+")"),e.t43_1===0){e.l43_1.n45("GAME_ENGINE",fK);var n=nr(e.m43_1[0]).h48(r);n===O()&&(n=yield n)}return S}function*QU(e,i,r){e.l43_1.g48("GAME_ENGINE",()=>"Reload "+i.b48()+" "+i.u47().toString()+" (version: "+i.f48()+")");var t=y$(e,i,r);return t===O()&&(t=yield t),S}function*rK(e,i,r){switch(i.u47().i3_1){case 0:var t=oK(e,i,r);t===O()&&(t=yield t);break;case 1:var n=uK(e,i,r);n===O()&&(n=yield n);break;case 2:var a=sK(e,i,r);a===O()&&(a=yield a);break;case 3:aK(e,i);break;case 4:nK(e,i);break;case 5:eK(e,i);break;case 6:tK(e,i);break;case 7:break;default:gt();break}return S}function y$(e,i,r){return er(rK.bind(l,e,i),r)}function tK(e,i){var r=i.v47();e.p43_1[r]=i instanceof S1()?i:m()}function eK(e,i){for(var r=i instanceof GI()?i:m(),t=r.o48_1.e3().e1();t.f1();){var n=t.g1(),a=n.x2(),s=n.y2(),u=s,_=e.o43_1[i.j48_1],o=_==null?null:_.o48_1.b3(a);u.w48_1=o==null?null:o.w48_1}if(e.o43_1[i.j48_1]=r,e.v43_1>0){var c=e.m43_1[e.v43_1];c==null||(c.p44_1=!0)}e.w43_1.i1(r.o48_1.d3())}function nK(e,i){var r=i instanceof Jn()?i:m(),t=r,n=e.n43_1[i.q48_1];t.w48_1=n==null?null:n.w48_1,e.n43_1[i.q48_1]=r,e.w43_1.c1(r)}function aK(e,i){var r=i instanceof Jn()?i:m(),t=r,n=e.q43_1;t.w48_1=n==null?null:n.w48_1,e.q43_1=r,e.w43_1.c1(r)}function*iK(e,i,r){var t=e;t.s43_1=i instanceof ri()?i:m();var n=e.s43_1;n==null||(n.o44_1=e);var a=e.s43_1;if(a!=null){var s=a.j45(r);s===O()&&(s=yield s)}return S}function sK(e,i,r){return er(iK.bind(l,e,i),r)}function*lK(e,i,r){i instanceof ri()||m(),i.o44_1=e;try{var t;if(i.p44_1){var n=i.z48(r);n===O()&&(n=yield n),t=!n}else t=!1;if(t)return S}catch(u){if(u instanceof fn()){var a=u;throw C1(a,Zt(i.q44_1))}else throw u}if(e.m43_1[i.d44_1]=i,e.v43_1===i.d44_1)e.r43_1=i;else if(e.v43_1>0){var s=e.r43_1;s==null||(s.p44_1=!0)}return S}function uK(e,i,r){return er(lK.bind(l,e,i),r)}function*_K(e,i,r){var t=i instanceof ri()?i:m();t.o44_1=e;var n=t.j45(r);return n===O()&&(n=yield n),e.m43_1[0]=t,e.r43_1=t,e.v43_1=0,S}function oK(e,i,r){return er(_K.bind(l,e,i),r)}function x5(e,i,r){return i.length===0?null:i[r%i.length|0]}var S5;function cK(){if(S5===l){class e{constructor(r){this.z47_1=r}b1b(r,t){return er(HU.bind(l,this,r),t)}oc(r,t){return this.b1b(r!=null&&j(r,kd())?r:m(),t)}}at(e,l,l,[1]),S5=e}return S5}function hK(e){var i=new(cK())(e),r=(t,n)=>i.b1b(t,n);return r.$arity=1,r}function fK(){return"All resources are loaded. Notify the boot script."}var z5;function vK(){if(z5===l){class e{constructor(r,t,n,a){this.l43_1=a,this.q43_1=null,this.r43_1=null,this.s43_1=null,this.t43_1=0,this.v43_1=0;var s=this;s.w43_1=N().p1(),this.x43_1=sA(2147483647),this.y43_1=new(WU())(this.x43_1);var u=this;u.z43_1=yt().o1();for(var _=t.d47_1,o=N().d1(yr(_,10)),c=0,h=_.e1();h.f1();){var f=h.g1(),v=c;c=v+1|0;var d=Ht(v),y=r.j49(d+1|0,f);o.c1(y)}for(var b=o,w=this,x=0,q=b.h1()+1|0,k=Array(q);x"Number of resources to load: "+this.t43_1);var E1=yd(n.q49());bd(E1,l,l,hK(this))}r49(){return this.q43_1}a44(r){return er(ZU.bind(l,this),r)}c48(r,t){return er(XU.bind(l,this,r),t)}d48(r,t){return er(QU.bind(l,this,r),t)}m45(r){var t=this.m43_1[this.v43_1];return this.v43_1=1+(r%this.m43_1.length|0)|0,this.r43_1=this.m43_1[this.v43_1],T(t,nr(this.r43_1))}s49(r){return x5(this,this.n43_1,r)}t49(r){var t=this.n43_1,n;r:{for(var a=0,s=t.length;a=0){var o=zK(e,_,r);o===O()&&(o=yield o)}else if(_.p44_1){var c=xK(e,_,r);c===O()&&(c=yield c)}if(e.a43_1=e.a43_1+i,e.a43_1>=.016666668){e.i43_1.y44("game_update"),e.z44().a45();var h=yK(e,xe(e).r43_1,r);h===O()&&(h=yield h);var f=wK(e,r);f===O()&&(f=yield f),e.a43_1=e.a43_1-.016666668;var v=e.b43_1;e.b43_1=tn(v,$5());var d=kK(e,r);d===O()&&(d=yield d);var y=e.c43_1;if(y!=null){var b=LK(e,y,r);b===O()&&(b=yield b)}e.z44().b1h();var w=e.i43_1.b45("game_update");EK(e,w)}return S}function*mK(e,i){var r=xe(e).s43_1;if(r!=null){var t=r.c45(i);t===O()&&(t=yield t)}return S}function wK(e,i){return er(mK.bind(l,e),i)}function*gK(e,i,r){var t=e,n;try{if(i!=null){var a=i.c45(r);a===O()&&(a=yield a)}n=!1}catch(o){var s;if(o instanceof bm()){var u=o;if(!e.z42_1){var _=A1(e,e,u,r);_===O()&&(_=yield _)}s=!0}else throw o;n=s}return t.z42_1=n,S}function yK(e,i,r){return er(gK.bind(l,e,i),r)}function*bK(e,i){if(e.f45().g45(_a(),Tb())){var r=Ln(e,"recording GIF","#00FF00",l,i);r===O()&&(r=yield r),e.v42_1.a45()}else if(e.f45().g45(_a(),Fb())){var t=Ln(e,"screenshot PNG","#00FF00",l,i);t===O()&&(t=yield t),e.v42_1.h45()}else if(e.f45().g45(_a(),Mb())){e.i43_1.e45(!e.i43_1.d45());var n;e.i43_1.d45()?n="enable the profiler (Ctrl+P to disabled)":n="disabled the profiler";var a=n,s=Ln(e,a,"#00FF00",l,i);s===O()&&(s=yield s)}return S}function kK(e,i){return er(bK.bind(l,e),i)}function*CK(e,i,r){var t=AK(e,r);t===O()&&(t=yield t);try{var n=i.i45(r);n===O()&&(n=yield n);var a=n,s=i.j45(r);s===O()&&(s=yield s);var u=i.k45(a,r);u===O()&&(u=yield u);var _=e.y42_1;_?.l45(i),e.z42_1=!1}catch(h){if(h instanceof fn()){var o=h,c=A1(e,e,C1(o,Zt(i.q44_1)),r);c===O()&&(c=yield c)}else throw h}return S}function xK(e,i,r){return er(CK.bind(l,e,i),r)}function*SK(e,i,r){var t=xe(e).m45(i.m44_1),n=t.zd(),a=t.ae();try{var s=i.i45(r);s===O()&&(s=yield s);var u=s;e.x42_1.n45("GAME_ENGINE",()=>"Stop "+i.e44_1+" to switch the next game script "+a.e44_1);var _=a.j45(r);_===O()&&(_=yield _);var o=a.k45(u,r);o===O()&&(o=yield o);var c=e.y42_1;c?.o45(n,a)}catch(v){if(v instanceof fn()){var h=v,f=A1(e,e,C1(h,Zt(i.q44_1)),r);f===O()&&(f=yield f)}else throw v}return S}function zK(e,i,r){return er(SK.bind(l,e,i),r)}function*qK(e,i,r,t){i.x42_1.w45("TINY",()=>{var s="line "+r.s45_1+":"+r.u45_1+" <-- the 🐞 is around here ("+r.message+")";return"The line "+r.s45_1+" trigger an execution error ("+r.message+"). "+("Please fix the script "+r.r45_1+`! -`)+s});var n="error line "+r.s45_1+":"+r.u45_1+" ("+r.message+")",a=b$(i,n,"#FF0000",!0,t);return a===O()&&(a=yield a),S}function A1(e,i,r,t){return er(qK.bind(l,e,i,r),t)}function*IK(e,i,r,t,n){var a=xe(e).s43_1;if(a!=null){var s=a.x45("popup",[g().y1t(0),g().y1u(i),g().y1u(r),g().u26(t)],n);s===O()&&(s=yield s)}return S}function b$(e,i,r,t,n){return er(IK.bind(l,e,i,r,t),n)}function Ln(e,i,r,t,n,a){return t=t===l?!1:t,b$(e,i,r,t,n)}function*$K(e,i){var r=xe(e).s43_1;if(r!=null){var t=r.x45("clear",[],i);t===O()&&(t=yield t)}return S}function AK(e,i){return er($K.bind(l,e),i)}function EK(e,i){var r;if(e.i43_1.d45()){var t=e.b43_1;r=tA(t,bt(60))===0n}else r=!1;if(r){var n=e.i43_1.y45(60);n!=null&&e.x42_1.n45("PERFORMANCE",()=>{var a=Fe((Br(n.a46_1*10)/10).toString(),6),s=Fe((Br(n.z45_1*100)/100).toString(),6),u=Fe((Br(i*100)/100).toString(),6),_=n.b46_1,o=ze(_)/1024,c=Fe((Br(o/1024*10)/10).toString(),6),h=Fe(n.g46_1.toString(),6),f=Fe(n.h46_1.toString(),6),v=Fe(n.l46_1.toString(),6);return` + `+Zt(this.p44_1)+` +`}}p(e,"GameScript",l,l,[Qa()],[0,2,1]),Q4=e}return Q4}var My=Math.imul;function*tU(e,i,r){var t=e.a5i_1,n=e.b5i_1._v;e.b5i_1._v=n+1|0;var a=new(q1())(n,e.c5i_1,e.d5i_1,i),s=t.l1a(a,r);return s===O()&&(s=yield s),S}function*eU(e,i,r){var t=aU(i,e.f5i_1,e.g5i_1,e.h5i_1),n=e.e5i_1.j1a(new(AU())(t),r);return n===O()&&(n=yield n),S}var r5;function nU(){if(r5===l){class e{constructor(r,t,n,a){this.a5i_1=r,this.b5i_1=t,this.c5i_1=n,this.d5i_1=a}c1c(r,t){return er(tU.bind(l,this,r),t)}oc(r,t){return this.c1c(r==null||r!=null?r:m(),t)}}at(e,l,l,[1]),r5=e}return r5}function aU(e,i,r,t){var n=new(nU())(e,i,r,t),a=(s,u)=>n.c1c(s,u);return a.$arity=1,a}function*iU(e,i,r){var t=e.i5i_1,n=e.j5i_1.b49_1.b54(i),a=t.l1a(n,r);return a===O()&&(a=yield a),S}function*sU(e,i,r){var t=uU(i,e.l5i_1),n=e.k5i_1.j1a(new(E1())(t),r);return n===O()&&(n=yield n),S}var t5;function lU(){if(t5===l){class e{constructor(r,t){this.i5i_1=r,this.j5i_1=t}c1c(r,t){return er(iU.bind(l,this,r),t)}oc(r,t){return this.c1c(r==null||r!=null?r:m(),t)}}at(e,l,l,[1]),t5=e}return t5}function uU(e,i){var r=new(lU())(e,i),t=(n,a)=>r.c1c(n,a);return t.$arity=1,t}function*_U(e,i,r){var t=e.m5i_1,n=ka().o5i(Zt(i)),a=t.l1a(n,r);return a===O()&&(a=yield a),S}function*oU(e,i,r){var t=hU(i),n=e.p5i_1.j1a(new(E1())(t),r);return n===O()&&(n=yield n),S}var e5;function cU(){if(e5===l){class e{constructor(r){this.m5i_1=r}c1c(r,t){return er(_U.bind(l,this,r),t)}oc(r,t){return this.c1c(r==null||r!=null?r:m(),t)}}at(e,l,l,[1]),e5=e}return e5}function hU(e){var i=new(cU())(e),r=(t,n)=>i.c1c(t,n);return r.$arity=1,r}function fU(e){return e.x4l_1}function*vU(e,i,r){var t=e.q5i_1,n=jU(e.r5i_1,e.s5i_1,i,r);n===O()&&(n=yield n);var a=T(i,n),s=t.l1a(a,r);return s===O()&&(s=yield s),S}function*pU(e,i,r){var t=mU(i,e.u5i_1,e.v5i_1),n=e.t5i_1.j1a(new(E1())(t),r);return n===O()&&(n=yield n),S}var n5;function dU(){if(n5===l){class e{constructor(r,t,n){this.q5i_1=r,this.r5i_1=t,this.s5i_1=n}c1c(r,t){return er(vU.bind(l,this,r),t)}oc(r,t){return this.c1c(r==null||r!=null?r:m(),t)}}at(e,l,l,[1]),n5=e}return n5}function mU(e,i,r){var t=new(dU())(e,i,r),n=(a,s)=>t.c1c(a,s);return n.$arity=1,n}function*wU(e,i,r){var t=e.w5i_1,n=i.zd(),a=i.ae(),s=e.x5i_1._v;e.x5i_1._v=s+1|0;var u=new(ZI())(s,e.y5i_1,e.z5i_1,RI(),!1,n,a),_=t.l1a(u,r);return _===O()&&(_=yield _),S}function*yU(e,i,r){var t=bU(i,e.b5j_1,e.c5j_1,e.d5j_1),n=e.a5j_1.j1a(new(E1())(t),r);return n===O()&&(n=yield n),S}var a5;function gU(){if(a5===l){class e{constructor(r,t,n,a){this.w5i_1=r,this.x5i_1=t,this.y5i_1=n,this.z5i_1=a}c1c(r,t){return er(wU.bind(l,this,r),t)}oc(r,t){return this.c1c(r==null||r!=null?r:m(),t)}}at(e,l,l,[1]),a5=e}return a5}function bU(e,i,r,t){var n=new(gU())(e,i,r,t),a=(s,u)=>n.c1c(s,u);return a.$arity=1,a}function*kU(e,i,r){var t=e.e5j_1,n=e.f5j_1._v;e.f5j_1._v=n+1|0;var a=e.g5j_1.g49_1,s=e.g5j_1.d49_1,u=e.g5j_1.e49_1,_=e.g5j_1.b49_1,o=e.g5j_1.h49_1,c=e.g5j_1.c49_1,h=new(ai())(n,e.h5j_1,e.i5j_1,a,s,u,c,_,o,e.j5j_1);h.p44_1=i;var f=t.l1a(h,r);return f===O()&&(f=yield f),S}function*CU(e,i,r){var t=SU(i,e.l5j_1,e.m5j_1,e.n5j_1,e.o5j_1,e.p5j_1),n=e.k5j_1.j1a(new(EU())(t),r);return n===O()&&(n=yield n),S}var i5;function xU(){if(i5===l){class e{constructor(r,t,n,a,s,u){this.e5j_1=r,this.f5j_1=t,this.g5j_1=n,this.h5j_1=a,this.i5j_1=s,this.j5j_1=u}c1c(r,t){return er(kU.bind(l,this,r),t)}oc(r,t){return this.c1c(r==null||r!=null?r:m(),t)}}at(e,l,l,[1]),i5=e}return i5}function SU(e,i,r,t,n,a){var s=new(xU())(e,i,r,t,n,a),u=(_,o)=>s.c1c(_,o);return u.$arity=1,u}function*zU(e,i,r){var t=e.q5j_1,n=z$(e.r5j_1,i.x53_1,i.y53_1,i.z53_1),a=e.s5j_1._v;e.s5j_1._v=a+1|0;var s=new(Yn())(a,e.t5j_1,e.u5j_1,e.v5j_1,n,i.y53_1,i.z53_1),u=t.l1a(s,r);return u===O()&&(u=yield u),S}function*qU(e,i,r){var t=$U(i,e.x5j_1,e.y5j_1,e.z5j_1,e.a5k_1,e.b5k_1),n=e.w5j_1.j1a(new(NU())(t),r);return n===O()&&(n=yield n),S}var s5;function IU(){if(s5===l){class e{constructor(r,t,n,a,s,u){this.q5j_1=r,this.r5j_1=t,this.s5j_1=n,this.t5j_1=a,this.u5j_1=s,this.v5j_1=u}c1c(r,t){return er(zU.bind(l,this,r),t)}oc(r,t){return this.c1c(r==null||r!=null?r:m(),t)}}at(e,l,l,[1]),s5=e}return s5}function $U(e,i,r,t,n,a){var s=new(IU())(e,i,r,t,n,a),u=(_,o)=>s.c1c(_,o);return u.$arity=1,u}function l5(e,i,r,t){var n={_v:0},a=e.a49_1.h4a(e.b49_1.a54(r,!e.i49_1.d2(t))),s=new(JU())(a,n,e,i,r,t);return Ji(s,HU(e,r))}function Ty(e,i,r,t){var n={_v:0},a=e.a49_1.h4a(e.b49_1.c54(r,!e.i49_1.d2(t))),s=new(VU())(a,e,n,i,r,t);return Ji(s,ZU(e,r,t))}function z$(e,i,r,t){var n=new(l$())(r,t),a=Ct(0,r),s=a.v1_1,u=a.w1_1;if(s<=u)do{var _=s;s=s+1|0;var o=_,c=Ct(0,t),h=c.v1_1,f=c.w1_1;if(h<=f)do{var v=h;h=h+1|0;var d=v,g=My(o+My(d,r)|0,4),b=e.g49_1.n47(),w=new Int8Array([i[g+0|0],i[g+1|0],i[g+2|0],i[g+3|0]]),x=b.a4c(w);n.z4c(o,d,new Int32Array([x]))}while(v!==f)}while(_!==u);return n}var u5;function AU(){if(u5===l){class e{constructor(r){this.c5k_1=r}l1a(r,t){return this.c5k_1(r,t)}o3(){return this.c5k_1}equals(r){var t;if(r!=null&&j(r,ie())){var n;r!=null&&j(r,et())?n=E(this.o3(),r.o3()):n=!1,t=n}else t=!1;return t}hashCode(){return Z(this.o3())}}p(e,"sam$kotlinx_coroutines_flow_FlowCollector$0",l,l,[ie(),et()],[1]),u5=e}return u5}var _5;function E1(){if(_5===l){class e{constructor(r){this.d5k_1=r}l1a(r,t){return this.d5k_1(r,t)}o3(){return this.d5k_1}equals(r){var t;if(r!=null&&j(r,ie())){var n;r!=null&&j(r,et())?n=E(this.o3(),r.o3()):n=!1,t=n}else t=!1;return t}hashCode(){return Z(this.o3())}}p(e,"sam$kotlinx_coroutines_flow_FlowCollector$0",l,l,[ie(),et()],[1]),_5=e}return _5}var o5;function EU(){if(o5===l){class e{constructor(r){this.e5k_1=r}l1a(r,t){return this.e5k_1(r,t)}o3(){return this.e5k_1}equals(r){var t;if(r!=null&&j(r,ie())){var n;r!=null&&j(r,et())?n=E(this.o3(),r.o3()):n=!1,t=n}else t=!1;return t}hashCode(){return Z(this.o3())}}p(e,"sam$kotlinx_coroutines_flow_FlowCollector$0",l,l,[ie(),et()],[1]),o5=e}return o5}var c5;function NU(){if(c5===l){class e{constructor(r){this.f5k_1=r}l1a(r,t){return this.f5k_1(r,t)}o3(){return this.f5k_1}equals(r){var t;if(r!=null&&j(r,ie())){var n;r!=null&&j(r,et())?n=E(this.o3(),r.o3()):n=!1,t=n}else t=!1;return t}hashCode(){return Z(this.o3())}}p(e,"sam$kotlinx_coroutines_flow_FlowCollector$0",l,l,[ie(),et()],[1]),c5=e}return c5}function*LU(e,i,r,t){for(var n=r.n4n_1,a=N().p1(),s=n.e1();s.f1();){var u=s.g1(),_=u.b4m_1;xa(a,_)}for(var o=N().p1(),c=a.e1();c.f1();){var h=c.g1(),f;h instanceof Ta()?f=h.b5l_1:h instanceof Da()||h instanceof Ma()?f=null:h instanceof Fa()?f=h.o5k_1:yt();var v=f;v==null||o.c1(v)}for(var d=N().d1(gr(o,10)),g=o.e1();g.f1();){var b=g.g1(),w=e.b49_1.d54(b),x,z=w.c4a(t);z===O()&&(z=yield z),z?x=w:x=null;var k=x,A;if(k==null)A=null;else{var D=k.d4a(t);D===O()&&(D=yield D),A=D}var B=T(b,A);d.c1(B)}for(var R=N().p1(),W=d.e1();W.f1();){var G=W.g1();G.yd_1!=null&&R.c1(G)}for(var Q=xt(_g(gr(R,10)),16),X=zr().wa(Q),rr=R.e1();rr.f1();){var tr=rr.g1(),ir=tr.zd(),dr=tr.ae(),cr=z$(e,nr(dr).x53_1,dr.y53_1,dr.z53_1),mr=new(Yn())(0,0,"__level-"+i,Bm(),cr,cr.t4c_1,cr.u4c_1),Dr=T(ir,mr);X.f3(Dr.xd_1,Dr.yd_1)}return X}function jU(e,i,r,t){return er(LU.bind(l,e,i,r),t)}var h5;function MU(){if(h5===l){class e{constructor(r,t,n,a){this.e5i_1=r,this.f5i_1=t,this.g5i_1=n,this.h5i_1=a}m1a(r,t){return er(eU.bind(l,this,r),t)}j1a(r,t){return this.m1a(r,t)}}p(e,l,l,l,[He()],[1]),h5=e}return h5}var f5;function TU(){if(f5===l){class e{constructor(r,t){this.g5l_1=r,this.h5l_1=t}i5l(r,t){this.g5l_1.h49_1.m45("RESOURCE_FACTORY",()=>"Loading sound '"+this.h5l_1+"'")}oc(r,t){return this.i5l(r instanceof q1()?r:m(),t)}}at(e,l,l,[1]),f5=e}return f5}function FU(e,i){var r=new(TU())(e,i),t=(n,a)=>r.i5l(n,a);return t.$arity=1,t}var v5;function DU(){if(v5===l){class e{constructor(r,t){this.k5i_1=r,this.l5i_1=t}m1a(r,t){return er(sU.bind(l,this,r),t)}j1a(r,t){return this.m1a(r,t)}}p(e,l,l,l,[He()],[1]),v5=e}return v5}var p5;function PU(){if(p5===l){class e{constructor(r){this.j5l_1=r}k5l(r,t){return this.j5l_1.a49_1.h4a(r)}oc(r,t){return this.k5l(r!=null&&j(r,_1())?r:m(),t)}}at(e,l,l,[1]),p5=e}return p5}function BU(e){var i=new(PU())(e),r=(t,n)=>i.k5l(t,n);return r.$arity=1,r}var d5;function OU(){if(d5===l){class e{constructor(r){this.p5i_1=r}m1a(r,t){return er(oU.bind(l,this,r),t)}j1a(r,t){return this.m1a(r,t)}}p(e,l,l,l,[He()],[1]),d5=e}return d5}var m5;function RU(){if(m5===l){class e{constructor(r){this.l5l_1=r}m5l(r,t){this.l5l_1.h49_1.m45("RESOURCE_FACTORY",()=>{var n="Loading world "+r.l4n_1+" with levels ";return n+Et(r.n4n_1,", ",l,l,l,l,fU)})}oc(r,t){return this.m5l(r instanceof Os()?r:m(),t)}}at(e,l,l,[1]),m5=e}return m5}function UU(e){var i=new(RU())(e),r=(t,n)=>i.m5l(t,n);return r.$arity=1,r}var w5;function KU(){if(w5===l){class e{constructor(r,t,n){this.t5i_1=r,this.u5i_1=t,this.v5i_1=n}m1a(r,t){return er(pU.bind(l,this,r),t)}j1a(r,t){return this.m1a(r,t)}}p(e,l,l,l,[He()],[1]),w5=e}return w5}var y5;function GU(){if(y5===l){class e{constructor(r,t,n,a){this.a5j_1=r,this.b5j_1=t,this.c5j_1=n,this.d5j_1=a}m1a(r,t){return er(yU.bind(l,this,r),t)}j1a(r,t){return this.m1a(r,t)}}p(e,l,l,l,[He()],[1]),y5=e}return y5}var g5;function JU(){if(g5===l){class e{constructor(r,t,n,a,s,u){this.k5j_1=r,this.l5j_1=t,this.m5j_1=n,this.n5j_1=a,this.o5j_1=s,this.p5j_1=u}m1a(r,t){return er(CU.bind(l,this,r),t)}j1a(r,t){return this.m1a(r,t)}}p(e,l,l,l,[He()],[1]),g5=e}return g5}var b5;function WU(){if(b5===l){class e{constructor(r,t){this.n5l_1=r,this.o5l_1=t}p5l(r,t){this.n5l_1.h49_1.m45("RESOURCE_FACTORY",()=>"Loading script '"+this.o5l_1+"'")}oc(r,t){return this.p5l(r instanceof ai()?r:m(),t)}}at(e,l,l,[1]),b5=e}return b5}function HU(e,i){var r=new(WU())(e,i),t=(n,a)=>r.p5l(n,a);return t.$arity=1,t}var k5;function VU(){if(k5===l){class e{constructor(r,t,n,a,s,u){this.w5j_1=r,this.x5j_1=t,this.y5j_1=n,this.z5j_1=a,this.a5k_1=s,this.b5k_1=u}m1a(r,t){return er(qU.bind(l,this,r),t)}j1a(r,t){return this.m1a(r,t)}}p(e,l,l,l,[He()],[1]),k5=e}return k5}var C5;function YU(){if(C5===l){class e{constructor(r,t,n){this.q5l_1=r,this.r5l_1=t,this.s5l_1=n}t5l(r,t){this.q5l_1.h49_1.m45("RESOURCE_FACTORY",()=>"Loading spritesheet '"+this.r5l_1+"' ("+this.s5l_1.toString()+")")}oc(r,t){return this.t5l(r instanceof Yn()?r:m(),t)}}at(e,l,l,[1]),C5=e}return C5}function ZU(e,i,r){var t=new(YU())(e,i,r),n=(a,s)=>t.t5l(a,s);return n.$arity=1,n}var x5;function XU(){if(x5===l){class e{constructor(r,t,n,a,s,u,_,o){this.a49_1=r,this.b49_1=t,this.c49_1=n,this.d49_1=a,this.e49_1=s,this.f49_1=u,this.g49_1=_,this.h49_1=o,this.i49_1=kd([Ps(),Bs(),yy()])}m49(r,t){var n={_v:0},a=this.a49_1.h4a(this.b49_1.e54(t,this.f49_1)),s=new(MU())(a,n,r,t);return Ji(s,FU(this,t))}l49(r,t){var n={_v:0},a=c8(t),s=new(DU())(a,this),u=gg(s,l,BU(this)),_=new(OU())(u),o=Ji(_,UU(this)),c=new(KU())(o,this,t);return new(GU())(c,n,r,t)}j49(r,t){return l5(this,r,t,rP())}o49(r){return l5(this,0,r,Bs())}n49(r){return l5(this,0,r,Ps())}k49(r,t){return Ty(this,r,t,Bm())}p49(r){return Ty(this,0,r,yy())}}p(e,"ResourceFactory",l,l,l,[3]),x5=e}return x5}function*QU(e,i,r){var t=i8(e.s47_1),n=i.u47();if(e.s47_1.u2(n),t==null){Fy(e,i);var a=e.p47_1.l18(i,r);a===O()&&(a=yield a)}else if(e.s47_1.m1()){e.q47_1.c1(i);var s=rK(e,e.q47_1);e.q47_1.v2();for(var u=s.e1();u.f1();){var _=u.g1();Fy(e,_);var o=e.p47_1.l18(_,r);o===O()&&(o=yield o)}}else e.s47_1.m1()||e.q47_1.c1(i);return S}function Fy(e,i){var r=i.u47(),t=e.r47_1,n=t.b3(r),a;if(n==null){var s=zr().va();t.f3(r,s),a=s}else a=n;var u=a,_=u.b3(i.v47()),o=i.v47();u.f3(o,i),i.w47(_!=null)}function rK(e,i){var r=N().p1();if(r.i1(i),r.h1()>1){var t=(a,s)=>{var u=e.t47_1.s2(a.u47()),_=u===-1?e.t47_1.h1():u,o=e.t47_1.s2(s.u47()),c=o===-1?e.t47_1.h1():o;return Pa(_,c)},n=new(tK())(t);s8(r,n)}return r}var S5;function tK(){if(S5===l){class e{constructor(r){this.x47_1=r}hh(r,t){return this.x47_1(r,t)}compare(r,t){return this.hh(r,t)}o3(){return this.x47_1}equals(r){var t;if(r!=null&&j(r,ae())){var n;r!=null&&j(r,et())?n=E(this.o3(),r.o3()):n=!1,t=n}else t=!1;return t}hashCode(){return Z(this.o3())}}p(e,"sam$kotlin_Comparator$0",l,l,[ae(),et()]),S5=e}return S5}var z5;function eK(){if(z5===l){class e{constructor(r){this.p47_1=r;var t=this;t.q47_1=N().p1();var n=this;n.r47_1=zr().va(),this.s47_1=a8([Ps(),Bs()]),this.t47_1=Rr([Ps(),Bs()])}y47(r,t){return er(QU.bind(l,this,r),t)}l1a(r,t){return this.y47(r!=null&&j(r,Qa())?r:m(),t)}}p(e,"GameResourceCollector",l,l,[ie()],[1]),z5=e}return z5}function*nK(e,i,r){var t=p8(e.z47_1.u43_1),n=gg(t,128,iK()).j1a(e.z47_1.y43_1,r);return n===O()&&(n=yield n),S}var q5;function aK(){if(q5===l){class e{a48(r,t){return r}oc(r,t){return this.a48(r!=null&&j(r,He())?r:m(),t)}}at(e,l,l,[1]),q5=e}return q5}function iK(){var e=new(aK()),i=(r,t)=>e.a48(r,t);return i.$arity=1,i}function*sK(e,i){r:for(;;){var r=e.x43_1.p18();if(f8(r))break r;var t=v8(r),n;if(t==null)continue r;n=t;var a=n;if(e.z43_1.u2(a.b48()),a.e48()){var s=e.d48(a,i);s===O()&&(s=yield s)}else{var u=e.c48(a,i);u===O()&&(u=yield u)}}return S}function*lK(e,i,r){e.l43_1.g48("GAME_ENGINE",()=>"Loaded "+i.b48()+" "+i.u47().toString()+" (version: "+i.f48()+")");var t=q$(e,i,r);if(t===O()&&(t=yield t),e.t43_1=e.t43_1-1|0,e.l43_1.m45("GAME_ENGINE",()=>"Remaining resources to load: "+e.t43_1+". ("+Et(e.z43_1,", ")+")"),e.t43_1===0){e.l43_1.m45("GAME_ENGINE",kK);var n=nr(e.m43_1[0]).h48(r);n===O()&&(n=yield n)}return S}function*uK(e,i,r){e.l43_1.g48("GAME_ENGINE",()=>"Reload "+i.b48()+" "+i.u47().toString()+" (version: "+i.f48()+")");var t=q$(e,i,r);return t===O()&&(t=yield t),S}function*_K(e,i,r){switch(i.u47().i3_1){case 0:var t=yK(e,i,r);t===O()&&(t=yield t);break;case 1:var n=mK(e,i,r);n===O()&&(n=yield n);break;case 2:var a=pK(e,i,r);a===O()&&(a=yield a);break;case 3:fK(e,i);break;case 4:hK(e,i);break;case 5:cK(e,i);break;case 6:oK(e,i);break;case 7:break;default:yt();break}return S}function q$(e,i,r){return er(_K.bind(l,e,i),r)}function oK(e,i){var r=i.v47();e.p43_1[r]=i instanceof q1()?i:m()}function cK(e,i){for(var r=i instanceof ZI()?i:m(),t=r.o48_1.e3().e1();t.f1();){var n=t.g1(),a=n.x2(),s=n.y2(),u=s,_=e.o43_1[i.j48_1],o=_==null?null:_.o48_1.b3(a);u.w48_1=o==null?null:o.w48_1}if(e.o43_1[i.j48_1]=r,e.v43_1>0){var c=e.m43_1[e.v43_1];c==null||(c.o44_1=!0)}e.w43_1.i1(r.o48_1.d3())}function hK(e,i){var r=i instanceof Yn()?i:m(),t=r,n=e.n43_1[i.q48_1];t.w48_1=n==null?null:n.w48_1,e.n43_1[i.q48_1]=r,e.w43_1.c1(r)}function fK(e,i){var r=i instanceof Yn()?i:m(),t=r,n=e.q43_1;t.w48_1=n==null?null:n.w48_1,e.q43_1=r,e.w43_1.c1(r)}function*vK(e,i,r){var t=e;t.s43_1=i instanceof ai()?i:m();var n=e.s43_1;n==null||(n.n44_1=e);var a=e.s43_1;if(a!=null){var s=a.i45(r);s===O()&&(s=yield s)}return S}function pK(e,i,r){return er(vK.bind(l,e,i),r)}function*dK(e,i,r){i instanceof ai()||m(),i.n44_1=e;try{var t;if(i.o44_1){var n=i.z48(r);n===O()&&(n=yield n),t=!n}else t=!1;if(t)return S}catch(u){if(u instanceof pn()){var a=u;throw S1(a,Zt(i.p44_1))}else throw u}if(e.m43_1[i.c44_1]=i,e.v43_1===i.c44_1)e.r43_1=i;else if(e.v43_1>0){var s=e.r43_1;s==null||(s.o44_1=!0)}return S}function mK(e,i,r){return er(dK.bind(l,e,i),r)}function*wK(e,i,r){var t=i instanceof ai()?i:m();t.n44_1=e;var n=t.i45(r);return n===O()&&(n=yield n),e.m43_1[0]=t,e.r43_1=t,e.v43_1=0,S}function yK(e,i,r){return er(wK.bind(l,e,i),r)}function I5(e,i,r){return i.length===0?null:i[r%i.length|0]}var $5;function gK(){if($5===l){class e{constructor(r){this.z47_1=r}b1b(r,t){return er(nK.bind(l,this,r),t)}oc(r,t){return this.b1b(r!=null&&j(r,qd())?r:m(),t)}}at(e,l,l,[1]),$5=e}return $5}function bK(e){var i=new(gK())(e),r=(t,n)=>i.b1b(t,n);return r.$arity=1,r}function kK(){return"All resources are loaded. Notify the boot script."}var A5;function CK(){if(A5===l){class e{constructor(r,t,n,a){this.l43_1=a,this.q43_1=null,this.r43_1=null,this.s43_1=null,this.t43_1=0,this.v43_1=0;var s=this;s.w43_1=N().p1(),this.x43_1=h8(2147483647),this.y43_1=new(eK())(this.x43_1);var u=this;u.z43_1=gt().o1();for(var _=t.d47_1,o=N().d1(gr(_,10)),c=0,h=_.e1();h.f1();){var f=h.g1(),v=c;c=v+1|0;var d=Ht(v),g=r.j49(d+1|0,f);o.c1(g)}for(var b=o,w=this,x=0,z=b.h1()+1|0,k=Array(z);x"Number of resources to load: "+this.t43_1);var L1=Sd(n.q49());zd(L1,l,l,bK(this))}r49(){return this.q43_1}a44(r){return er(sK.bind(l,this),r)}c48(r,t){return er(lK.bind(l,this,r),t)}d48(r,t){return er(uK.bind(l,this,r),t)}l45(r){var t=this.m43_1[this.v43_1];return this.v43_1=1+(r%this.m43_1.length|0)|0,this.r43_1=this.m43_1[this.v43_1],T(t,nr(this.r43_1))}s49(r){return I5(this,this.n43_1,r)}t49(r){var t=this.n43_1,n;r:{for(var a=0,s=t.length;a=this.n43_1.length&&(this.n43_1=cg(this.n43_1,r.q48_1+1|0)),this.n43_1[r.q48_1]=r}w49(r){return I5(this,this.o43_1,r)}x49(r){return I5(this,this.p43_1,r)}y49(r){var t=this.m43_1,n;r:{for(var a=0,s=t.length;a=0){var o=MK(e,_,r);o===O()&&(o=yield o)}else if(_.o44_1){var c=LK(e,_,r);c===O()&&(c=yield c)}if(e.a43_1=e.a43_1+i,e.a43_1>=.016666668){e.i43_1.x44("game_update"),e.y44().z44();var h=$K(e,ze(e).r43_1,r);h===O()&&(h=yield h);var f=qK(e,r);f===O()&&(f=yield f),e.a43_1=e.a43_1-.016666668;var v=e.b43_1;e.b43_1=en(v,L5());var d=EK(e,r);d===O()&&(d=yield d);var g=e.c43_1;if(g!=null){var b=RK(e,g,r);b===O()&&(b=yield b)}e.y44().b1h();var w=e.i43_1.a45("game_update");BK(e,w)}return S}function*zK(e,i){var r=ze(e).s43_1;if(r!=null){var t=r.b45(i);t===O()&&(t=yield t)}return S}function qK(e,i){return er(zK.bind(l,e),i)}function*IK(e,i,r){var t=e,n;try{if(i!=null){var a=i.b45(r);a===O()&&(a=yield a)}n=!1}catch(o){var s;if(o instanceof zm()){var u=o;if(!e.z42_1){var _=N1(e,e,u,r);_===O()&&(_=yield _)}s=!0}else throw o;n=s}return t.z42_1=n,S}function $K(e,i,r){return er(IK.bind(l,e,i),r)}function*AK(e,i){if(e.e45().f45(va(),O2())){var r=Mn(e,"recording GIF","#00FF00",l,i);r===O()&&(r=yield r),e.v42_1.z44()}else if(e.e45().f45(va(),R2())){var t=Mn(e,"screenshot PNG","#00FF00",l,i);t===O()&&(t=yield t),e.v42_1.g45()}else if(e.e45().f45(va(),B2())){e.i43_1.d45(!e.i43_1.c45());var n;e.i43_1.c45()?n="enable the profiler (Ctrl+P to disabled)":n="disabled the profiler";var a=n,s=Mn(e,a,"#00FF00",l,i);s===O()&&(s=yield s)}return S}function EK(e,i){return er(AK.bind(l,e),i)}function*NK(e,i,r){var t=PK(e,r);t===O()&&(t=yield t);try{var n=i.h45(r);n===O()&&(n=yield n);var a=n,s=i.i45(r);s===O()&&(s=yield s);var u=i.j45(a,r);u===O()&&(u=yield u);var _=e.y42_1;_?.k45(i),e.z42_1=!1}catch(h){if(h instanceof pn()){var o=h,c=N1(e,e,S1(o,Zt(i.p44_1)),r);c===O()&&(c=yield c)}else throw h}return S}function LK(e,i,r){return er(NK.bind(l,e,i),r)}function*jK(e,i,r){var t=ze(e).l45(i.l44_1),n=t.zd(),a=t.ae();try{var s=i.h45(r);s===O()&&(s=yield s);var u=s;e.x42_1.m45("GAME_ENGINE",()=>"Stop "+i.d44_1+" to switch the next game script "+a.d44_1);var _=a.i45(r);_===O()&&(_=yield _);var o=a.j45(u,r);o===O()&&(o=yield o);var c=e.y42_1;c?.n45(n,a)}catch(v){if(v instanceof pn()){var h=v,f=N1(e,e,S1(h,Zt(i.p44_1)),r);f===O()&&(f=yield f)}else throw v}return S}function MK(e,i,r){return er(jK.bind(l,e,i),r)}function*TK(e,i,r,t){i.x42_1.v45("TINY",()=>{var s="line "+r.r45_1+":"+r.t45_1+" <-- the 🐞 is around here ("+r.message+")";return"The line "+r.r45_1+" trigger an execution error ("+r.message+"). "+("Please fix the script "+r.q45_1+`! +`)+s});var n="error line "+r.r45_1+":"+r.t45_1+" ("+r.message+")",a=I$(i,n,"#FF0000",!0,t);return a===O()&&(a=yield a),S}function N1(e,i,r,t){return er(TK.bind(l,e,i,r),t)}function*FK(e,i,r,t,n){var a=ze(e).s43_1;if(a!=null){var s=a.w45("popup",[y().y1t(0),y().y1u(i),y().y1u(r),y().u26(t)],n);s===O()&&(s=yield s)}return S}function I$(e,i,r,t,n){return er(FK.bind(l,e,i,r,t),n)}function Mn(e,i,r,t,n,a){return t=t===l?!1:t,I$(e,i,r,t,n)}function*DK(e,i){var r=ze(e).s43_1;if(r!=null){var t=r.w45("clear",[],i);t===O()&&(t=yield t)}return S}function PK(e,i){return er(DK.bind(l,e),i)}function BK(e,i){var r;if(e.i43_1.c45()){var t=e.b43_1;r=l8(t,bt(60))===0n}else r=!1;if(r){var n=e.i43_1.x45(60);n!=null&&e.x42_1.m45("PERFORMANCE",()=>{var a=Fe((Br(n.z45_1*10)/10).toString(),6),s=Fe((Br(n.y45_1*100)/100).toString(),6),u=Fe((Br(i*100)/100).toString(),6),_=n.a46_1,o=Se(_)/1024,c=Fe((Br(o/1024*10)/10).toString(),6),h=Fe(n.f46_1.toString(),6),f=Fe(n.g46_1.toString(),6),v=Fe(n.k46_1.toString(),6);return` ┌─────────────────┬────────┐ `+("│ FPS │ "+a+` │ `)+("│ Frame Time │ "+s+`ms │ @@ -360,4 +360,4 @@ init: `+(this.r44_1!=null)+" | update: "+(this.s44_1!=null)+" | draw: "+(this.t4 `)+("│ Draw Calls │ "+h+` │ `)+("│ Read Pixels │ "+f+` │ `)+("│ Draw On Screen │ "+v+` │ -`)+"└─────────────────┴────────┘"})}}function*NK(e,i,r){if(!e.i43_1.d45())return S;if(i.a46_1<30){var t=Ln(e,"LOW FPS: "+i.a46_1,"#FF0000",l,r);t===O()&&(t=yield t)}if(i.c46_1>1048576n){var n=i.c46_1,a=hw(n,bt(1024)),s=hw(a,bt(1024)),u=Ln(e,"HIGH ALLOC: "+s.toString()+"MB","#FFAA00",l,r);u===O()&&(u=yield u)}if(i.z45_1>16.67){var _=Ln(e,"Frame: "+i.z45_1+"ms","#AAAA00",l,r);_===O()&&(_=yield _)}return S}function LK(e,i,r){return er(NK.bind(l,e,i),r)}var q5;function jK(){if(q5===l){class e{constructor(){this.m46_1=.016666668}}ar(e),q5=e}return q5}var I5;function MK(){if(I5===l){class e{constructor(r,t,n,a,s){s=s===l?null:s,this.u42_1=r,this.v42_1=t,this.w42_1=n,this.x42_1=a,this.y42_1=s,this.z42_1=!1,this.a43_1=0,this.b43_1=0n,this.c43_1=null,this.i43_1=this.v42_1.n46()}f45(){var r=this.d43_1;if(r!=null)return r;st("inputHandler")}z44(){var r=this.e43_1;if(r!=null)return r;st("inputManager")}o46(){var r=this.f43_1;if(r!=null)return r;st("soundManager")}p46(){var r=this.v42_1.q46();this.d43_1=this.v42_1.r46(),this.e43_1=this.v42_1.s46(),this.f43_1=this.v42_1.t46(this.f45());var t=this.v42_1.u46(r);this.h43_1=new(KD())(t,this.u42_1,this.i43_1),Ei(this).v46(r);var n=new(h9())(this.o46()),a=this,s=this.w42_1,u=this.v42_1,_=this.f45(),o=this.x42_1,c=this.u42_1,h=Ei(this),f=this.o46();a.g43_1=new(UU())(s,u,_,h,n,f,c,o),this.j43_1=new(vK())(pK(this),this.u42_1,this.v42_1,this.x42_1),this.v42_1.w46(this)}x46(r,t){return er(dK.bind(l,this,r),t)}y46(){this.i43_1.y44("draw"),Ei(this).y46(),this.i43_1.b45("draw"),this.c43_1=this.i43_1.z46()}}p(e,"GameEngine",l,l,l,[1,0,2,3]),I5=e}return I5}new(jK());function TK(e,i){return e.appendChild(nr(e.ownerDocument).createTextNode(i)),e}var jg=Math.imul;function FK(){var e=window.location.protocol+"//"+window.location.host+window.location.pathname;return e=sa(e,0,hy(e,C(47))),eA(e,"/")&&Og(e,1),e}function DK(){var e=FK(),i=document.getElementsByTagName("tiny-game");PK(e,i)}function PK(e,i){if(i.length===0)throw H().u("No has been found in the current page. Check that the page including your javascript gamehas a least one tag to render the game in.");if(xa(e,"file://"))throw k$(i,OK),H().u("Tiny can't run without a webserver.Please run a webserver to serve the files so you can acess it through http://localhost instead of file://some/path.");BK(i,(r,t)=>{var n=nr(t.getAttribute("id")),a=t.getAttribute("width"),s=a==null?null:nn(a),u=s??128,_=t.getAttribute("height"),o=_==null?null:nn(_),c=o??128,h=t.getAttribute("zoom"),f=h==null?null:nn(h),v=f??1,d=t.getAttribute("mouse"),y=d==null?null:nA(d),b=y??!1,w=t.getAttribute("spritew"),x=w==null?null:nn(w),q=x??16,k=t.getAttribute("spriteh"),A=k==null?null:nn(k),D=A??16,B=t.getElementsByTagName("tiny-script"),R=ii(mi(B,RK)),W=t.getElementsByTagName("tiny-level"),G=ii(mi(W,UK)),Q=t.getElementsByTagName("tiny-sound"),X=ii(mi(Q,KK)),rr=t.getElementsByTagName("tiny-spritesheet"),tr=ii(mi(rr,GK)),ir=t.getElementsByTagName("tiny-colors")[0],dr=ir==null?null:ir.getAttribute("name"),cr=dr==null?null:wd(dr,[","]),mr=cr==null?null:e1(cr),Dr=mr??ot(),Ir=document.createElement("canvas");Ir.setAttribute("width",jg(u,v).toString()),Ir.setAttribute("height",jg(c,v).toString()),Ir.setAttribute("tabindex","1"),b&&Ir.setAttribute("style","cursor: none;"),t.appendChild(Ir);var Or;Dr.m1()?Or=Rr(["#FFFFFF","#000000"]):Or=Dr;var Yr=Or,Gr=new(my())(u,c,Yr,R,tr,G,X,v,l,T(0,0),T(q,D),b),Er=new(IA())("game-"+r);return Er.n45("TINY-JS",()=>"Boot the game using the URL '"+e+"'."),new(MK())(Gr,new(XF())(Ir instanceof HTMLCanvasElement?Ir:m(),Gr,n,e),new(cI()),Er).p46(),S})}function mi(e,i){var r=N().p1();return k$(e,t=>(r.c1(i(t)),S)),r}function k$(e,i){var r=Ct(0,e.length),t=r.v1_1,n=r.w1_1;if(t<=n)do{var a=t;t=t+1|0;var s=e[a];s!=null&&i(s)}while(a!==n)}function BK(e,i){var r=Ct(0,e.length),t=r.v1_1,n=r.w1_1;if(t<=n)do{var a=t;t=t+1|0;var s=a,u=e[s];u!=null&&i(s,u)}while(a!==n)}function OK(e){var i=document.createElement("h1");return TK(i,"🚨 You're accessing the page without a webserver (ie: file:// as URL). Tiny can't run without a webserver. Please start a webserver to serve HTML pages and access it through a valid URL (ie: http://localhost) 🚨"),e.appendChild(i),S}function RK(e){return e.getAttribute("name")}function UK(e){return e.getAttribute("name")}function KK(e){return e.getAttribute("name")}function GK(e){return e.getAttribute("name")}function JK(){DK()}JK(); +`)+"└─────────────────┴────────┘"})}}function*OK(e,i,r){if(!e.i43_1.c45())return S;if(i.z45_1<30){var t=Mn(e,"LOW FPS: "+i.z45_1,"#FF0000",l,r);t===O()&&(t=yield t)}if(i.b46_1>1048576n){var n=i.b46_1,a=dw(n,bt(1024)),s=dw(a,bt(1024)),u=Mn(e,"HIGH ALLOC: "+s.toString()+"MB","#FFAA00",l,r);u===O()&&(u=yield u)}if(i.y45_1>16.67){var _=Mn(e,"Frame: "+i.y45_1+"ms","#AAAA00",l,r);_===O()&&(_=yield _)}return S}function RK(e,i,r){return er(OK.bind(l,e,i),r)}var E5;function UK(){if(E5===l){class e{constructor(){this.l46_1=.016666668}}ar(e),E5=e}return E5}var N5;function KK(){if(N5===l){class e{constructor(r,t,n,a,s){s=s===l?null:s,this.u42_1=r,this.v42_1=t,this.w42_1=n,this.x42_1=a,this.y42_1=s,this.z42_1=!1,this.a43_1=0,this.b43_1=0n,this.c43_1=null,this.i43_1=this.v42_1.m46()}e45(){var r=this.d43_1;if(r!=null)return r;st("inputHandler")}y44(){var r=this.e43_1;if(r!=null)return r;st("inputManager")}n46(){var r=this.f43_1;if(r!=null)return r;st("soundManager")}o46(){var r=this.v42_1.p46();this.d43_1=this.v42_1.q46(),this.e43_1=this.v42_1.r46(),this.f43_1=this.v42_1.s46(this.e45());var t=this.v42_1.t46(r);this.h43_1=new(QD())(t,this.u42_1,this.i43_1),gi(this).u46(r);var n=new(w9())(this.n46()),a=this,s=this.w42_1,u=this.v42_1,_=this.e45(),o=this.x42_1,c=this.u42_1,h=gi(this),f=this.n46();a.g43_1=new(XU())(s,u,_,h,n,f,c,o),this.j43_1=new(CK())(xK(this),this.u42_1,this.v42_1,this.x42_1),this.v42_1.v46(this)}w46(r,t){return er(SK.bind(l,this,r),t)}x46(){this.i43_1.x44("draw"),gi(this).y46(ze(this).w43_1),ze(this).w43_1.v2(),gi(this).x46(),this.i43_1.a45("draw"),this.c43_1=this.i43_1.z46()}}p(e,"GameEngine",l,l,l,[1,0,2,3]),N5=e}return N5}new(UK());function GK(e,i){return e.appendChild(nr(e.ownerDocument).createTextNode(i)),e}var Dy=Math.imul;function JK(){var e=window.location.protocol+"//"+window.location.host+window.location.pathname;return e=ca(e,0,mg(e,C(47))),u8(e,"/")&&Gy(e,1),e}function WK(){var e=JK(),i=document.getElementsByTagName("tiny-game");HK(e,i)}function HK(e,i){if(i.length===0)throw H().u("No has been found in the current page. Check that the page including your javascript gamehas a least one tag to render the game in.");if($a(e,"file://"))throw $$(i,YK),H().u("Tiny can't run without a webserver.Please run a webserver to serve the files so you can acess it through http://localhost instead of file://some/path.");VK(i,(r,t)=>{var n=nr(t.getAttribute("id")),a=t.getAttribute("width"),s=a==null?null:an(a),u=s??128,_=t.getAttribute("height"),o=_==null?null:an(_),c=o??128,h=t.getAttribute("zoom"),f=h==null?null:an(h),v=f??1,d=t.getAttribute("mouse"),g=d==null?null:_8(d),b=g??!1,w=t.getAttribute("spritew"),x=w==null?null:an(w),z=x??16,k=t.getAttribute("spriteh"),A=k==null?null:an(k),D=A??16,B=t.getElementsByTagName("tiny-script"),R=_i(bi(B,ZK)),W=t.getElementsByTagName("tiny-level"),G=_i(bi(W,XK)),Q=t.getElementsByTagName("tiny-sound"),X=_i(bi(Q,QK)),rr=t.getElementsByTagName("tiny-spritesheet"),tr=_i(bi(rr,rG)),ir=t.getElementsByTagName("tiny-colors")[0],dr=ir==null?null:ir.getAttribute("name"),cr=dr==null?null:Cd(dr,[","]),mr=cr==null?null:a1(cr),Dr=mr??ot(),Ir=document.createElement("canvas");Ir.setAttribute("width",Dy(u,v).toString()),Ir.setAttribute("height",Dy(c,v).toString()),Ir.setAttribute("tabindex","1"),b&&Ir.setAttribute("style","cursor: none;"),t.appendChild(Ir);var Or;Dr.m1()?Or=Rr(["#FFFFFF","#000000"]):Or=Dr;var Yr=Or,Gr=new(kg())(u,c,Yr,R,tr,G,X,v,l,T(0,0),T(z,D),b),Er=new(j8())("game-"+r);return Er.m45("TINY-JS",()=>"Boot the game using the URL '"+e+"'."),new(KK())(Gr,new(aD())(Ir instanceof HTMLCanvasElement?Ir:m(),Gr,n,e),new(dI()),Er).o46(),S})}function bi(e,i){var r=N().p1();return $$(e,t=>(r.c1(i(t)),S)),r}function $$(e,i){var r=Ct(0,e.length),t=r.v1_1,n=r.w1_1;if(t<=n)do{var a=t;t=t+1|0;var s=e[a];s!=null&&i(s)}while(a!==n)}function VK(e,i){var r=Ct(0,e.length),t=r.v1_1,n=r.w1_1;if(t<=n)do{var a=t;t=t+1|0;var s=a,u=e[s];u!=null&&i(s,u)}while(a!==n)}function YK(e){var i=document.createElement("h1");return GK(i,"🚨 You're accessing the page without a webserver (ie: file:// as URL). Tiny can't run without a webserver. Please start a webserver to serve HTML pages and access it through a valid URL (ie: http://localhost) 🚨"),e.appendChild(i),S}function ZK(e){return e.getAttribute("name")}function XK(e){return e.getAttribute("name")}function QK(e){return e.getAttribute("name")}function rG(e){return e.getAttribute("name")}function tG(){WK()}tG(); From 09b340506e60ce3f74fafb28bebf82b086e9dda9 Mon Sep 17 00:00:00 2001 From: David Wursteisen Date: Tue, 4 Nov 2025 13:01:38 +0100 Subject: [PATCH 05/17] Fix gfx.clip --- .../github/minigdx/tiny/graphic/Clipper.kt | 46 ++++++++++---- .../tiny/graphic/FrameBufferParameters.kt | 15 +++++ .../com/github/minigdx/tiny/lua/SprLib.kt | 60 +++++++++---------- .../tiny/render/DefaultVirtualFrameBuffer.kt | 22 +++---- .../minigdx/tiny/render/batch/PrimitiveKey.kt | 24 +++++++- .../tiny/render/batch/SpriteBatchKey.kt | 10 +++- .../tiny/render/gl/PrimitiveBatchStage.kt | 17 +++++- .../tiny/render/gl/SpriteBatchStage.kt | 17 +++++- 8 files changed, 154 insertions(+), 57 deletions(-) diff --git a/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/graphic/Clipper.kt b/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/graphic/Clipper.kt index 91eecad3..65aaf09b 100644 --- a/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/graphic/Clipper.kt +++ b/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/graphic/Clipper.kt @@ -7,26 +7,45 @@ import kotlin.math.min /** * Limit the part of the screen that can be drawn. */ -class Clipper(private val width: Pixel, private val height: Pixel) { +class Clipper(private val screenWidth: Pixel, private val screenHeight: Pixel) { var left = 0 private set - var right = width + var right = screenWidth private set var top = 0 private set - var bottom = height + var bottom = screenHeight private set + var width = screenWidth + private set + + var height = screenHeight + private set + + internal var updated: Boolean = true + fun set( x: Pixel, y: Pixel, width: Pixel, height: Pixel, - ) { + ): Clipper { + // Left corner of the screen area left = max(0, min(x, x + width)) - right = min(max(x, x + width), this.width) + // Right corner of the screen area + right = min(max(x, x + width), this.screenWidth) + // Top corner of the screen area (bottom of the screen) top = max(0, min(y, y + height)) - bottom = min(max(y, y + height), this.height) + // Bottom corner of the screen area + bottom = min(max(y, y + height), this.screenHeight) + + this.width = right - left + this.height = bottom - top + + updated = true + + return this } fun isIn( @@ -38,21 +57,26 @@ class Clipper(private val width: Pixel, private val height: Pixel) { fun reset() { left = 0 - right = width + right = screenWidth top = 0 - bottom = height + bottom = screenHeight + + width = screenWidth + height = screenHeight + + updated = true } override fun equals(other: Any?): Boolean { val o = other as? Clipper ?: return false - return width == o.width && height == o.height && + return screenWidth == o.screenWidth && screenHeight == o.screenHeight && left == o.left && right == o.right && top == o.top && bottom == o.bottom } override fun hashCode(): Int { - var result = width - result = 31 * result + height + var result = screenWidth + result = 31 * result + screenHeight result = 31 * result + left result = 31 * result + right result = 31 * result + top diff --git a/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/graphic/FrameBufferParameters.kt b/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/graphic/FrameBufferParameters.kt index 9e30280a..28b42d4d 100644 --- a/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/graphic/FrameBufferParameters.kt +++ b/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/graphic/FrameBufferParameters.kt @@ -101,4 +101,19 @@ class FrameBufferParameters( internal val blender = Blender(gamePalette) internal val camera = Camera() + + private var currentClipper: Clipper? = null + + fun clipper(): Clipper { + val currentInstance = currentClipper + val result = if (clipper.updated || currentInstance == null) { + clipper.updated = false + val newInstance = Clipper(width, height).set(clipper.left, clipper.top, clipper.width, clipper.height) + currentClipper = newInstance + newInstance + } else { + currentInstance + } + return result + } } diff --git a/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/lua/SprLib.kt b/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/lua/SprLib.kt index 182fd744..0ebe739d 100644 --- a/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/lua/SprLib.kt +++ b/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/lua/SprLib.kt @@ -83,9 +83,9 @@ class SprLib( private inner class pset : ThreeArgFunction() { @TinyCall("Set the color index at the coordinate (x,y) in the current spritesheet.") override fun call( - @TinyArg("x") arg1: LuaValue, - @TinyArg("y") arg2: LuaValue, - @TinyArg("color") arg3: LuaValue, + @TinyArg("x", type = LuaType.NUMBER) arg1: LuaValue, + @TinyArg("y", type = LuaType.NUMBER) arg2: LuaValue, + @TinyArg("color", type = LuaType.NUMBER) arg3: LuaValue, ): LuaValue { val x = arg1.checkint() val y = arg2.checkint() @@ -143,18 +143,18 @@ class SprLib( @TinyCall("Draw the full spritesheet at coordinate (x, y)") override fun call( - @TinyArg("x") a: LuaValue, - @TinyArg("y") b: LuaValue, + @TinyArg("x", type = LuaType.NUMBER) a: LuaValue, + @TinyArg("y", type = LuaType.NUMBER) b: LuaValue, ): LuaValue { return invoke(varargsOf(arrayOf(a, b, NIL, NIL, NIL, NIL, NIL, NIL))).arg1() } @TinyCall("Draw the full spritesheet at coordinate (x, y) from the sprite (sprX, sprY)") override fun call( - @TinyArg("x") a: LuaValue, - @TinyArg("y") b: LuaValue, - @TinyArg("sprX") c: LuaValue, - @TinyArg("sprY") d: LuaValue, + @TinyArg("x", type = LuaType.NUMBER) a: LuaValue, + @TinyArg("y", type = LuaType.NUMBER) b: LuaValue, + @TinyArg("sprX", type = LuaType.NUMBER) c: LuaValue, + @TinyArg("sprY", type = LuaType.NUMBER) d: LuaValue, ): LuaValue { return invoke(varargsOf(arrayOf(a, b, c, d, NIL, NIL, NIL, NIL))).arg1() } @@ -162,27 +162,27 @@ class SprLib( @TinyCall("Draw a fragment from the spritesheet at the coordinate (x, y) from the sprite (sprX, sprY) with the width and height.") override fun invoke( @TinyArgs( - arrayOf( - "x", - "y", - "sprX", - "sprY", - "width", - "height", - "flipX", - "flipY", - ), - documentations = - arrayOf( - "screen x coordinate to draw the sprite (default 0)", - "screen y coordinate to draw the sprite (default 0)", - "x coordinate from the spritesheet (default 0)", - "y coordinate from the spritesheet (default 0)", - "width of the spritesheet to copy (default width of the spritesheet)", - "height of the spritesheet to copy (default height of the spritesheet)", - "flip on the x axis (default: false)", - "flip on the y axis (default: false)", - ), + ["x", "y", "sprX", "sprY", "width", "height", "flipX", "flipY"], + documentations = [ + "screen x coordinate to draw the sprite (default 0)", + "screen y coordinate to draw the sprite (default 0)", + "x coordinate from the spritesheet (default 0)", + "y coordinate from the spritesheet (default 0)", + "width of the spritesheet to copy (default width of the spritesheet)", + "height of the spritesheet to copy (default height of the spritesheet)", + "flip on the x axis (default: false)", + "flip on the y axis (default: false)", + ], + types = [ + LuaType.NUMBER, + LuaType.NUMBER, + LuaType.NUMBER, + LuaType.NUMBER, + LuaType.NUMBER, + LuaType.NUMBER, + LuaType.BOOLEAN, + LuaType.BOOLEAN, + ], ) args: Varargs, ): Varargs { val spritesheet = resourceAccess.findSpritesheet(currentSpritesheet) ?: return NIL diff --git a/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/render/DefaultVirtualFrameBuffer.kt b/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/render/DefaultVirtualFrameBuffer.kt index f8225eb5..7c8ef024 100644 --- a/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/render/DefaultVirtualFrameBuffer.kt +++ b/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/render/DefaultVirtualFrameBuffer.kt @@ -81,7 +81,7 @@ class DefaultVirtualFrameBuffer( ) private val primitiveBatchManager = BatchManager( - keyGenerator = { PrimitiveKey }, + keyGenerator = { PrimitiveKey() }, instanceGenerator = { PrimitiveInstance() }, batchGenerator = { PrimitiveBatch() }, ) @@ -189,6 +189,7 @@ class DefaultVirtualFrameBuffer( source, parameters.blender.dithering, monocolors[palColor], + parameters.clipper(), ) val instance = spriteBatchManager.createInstance() instance.set( @@ -223,6 +224,7 @@ class DefaultVirtualFrameBuffer( source, parameters.blender.dithering, parameters.blender.palette(), + parameters.clipper(), ) val instance = spriteBatchManager.createInstance() instance.set( @@ -249,7 +251,7 @@ class DefaultVirtualFrameBuffer( ) = isInFrame(x, y, width, height) { invalidateCachedReadFrame() updateDepthIndex(null) - val key = primitiveBatchManager.createKey() + val key = primitiveBatchManager.createKey().set(parameters.clipper()) val instance = primitiveBatchManager.createInstance().setRect( x - parameters.camera.x, y - parameters.camera.y, @@ -277,7 +279,7 @@ class DefaultVirtualFrameBuffer( ) { invalidateCachedReadFrame() updateDepthIndex(null) - val key = primitiveBatchManager.createKey() + val key = primitiveBatchManager.createKey().set(parameters.clipper()) val instance = primitiveBatchManager.createInstance().setLine( x1 - parameters.camera.x, y1 - parameters.camera.y, @@ -299,7 +301,7 @@ class DefaultVirtualFrameBuffer( ) = isInFrame(centerX - radius, centerY - radius, radius * 2, radius * 2) { invalidateCachedReadFrame() updateDepthIndex(null) - val key = primitiveBatchManager.createKey() + val key = primitiveBatchManager.createKey().set(parameters.clipper()) val instance = primitiveBatchManager.createInstance().setCircle( centerX - parameters.camera.x, centerY - parameters.camera.y, @@ -319,7 +321,7 @@ class DefaultVirtualFrameBuffer( ) = isInFrame(x, y, 1, 1) { invalidateCachedReadFrame() updateDepthIndex(null) - val key = primitiveBatchManager.createKey() + val key = primitiveBatchManager.createKey().set(parameters.clipper()) val instance = primitiveBatchManager.createInstance().setPoint( x - parameters.camera.x, y - parameters.camera.y, @@ -352,7 +354,7 @@ class DefaultVirtualFrameBuffer( ) { invalidateCachedReadFrame() updateDepthIndex(null) - val key = primitiveBatchManager.createKey() + val key = primitiveBatchManager.createKey().set(parameters.clipper()) val instance = primitiveBatchManager.createInstance().setTriangle( x1 - parameters.camera.x, y1 - parameters.camera.y, @@ -589,10 +591,10 @@ class DefaultVirtualFrameBuffer( height = gameOptions.height, ) val clipper = boundingBoxPool.obtain().set( - x = parameters.camera.x + parameters.clipper.left, - y = parameters.camera.y + parameters.clipper.top, - width = parameters.clipper.right, - height = parameters.clipper.bottom, + x = parameters.clipper.left, + y = parameters.clipper.top, + width = parameters.clipper.width, + height = parameters.clipper.height, ) val drawingZone = boundingBoxPool.obtain() diff --git a/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/render/batch/PrimitiveKey.kt b/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/render/batch/PrimitiveKey.kt index 8cc198c7..288b0579 100644 --- a/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/render/batch/PrimitiveKey.kt +++ b/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/render/batch/PrimitiveKey.kt @@ -1,5 +1,25 @@ package com.github.minigdx.tiny.render.batch -object PrimitiveKey : BatchKey { - override fun reset() = Unit +import com.github.minigdx.tiny.graphic.Clipper + +class PrimitiveKey(var clipper: Clipper? = null) : BatchKey { + override fun reset() { + clipper = null + } + + override fun equals(other: Any?): Boolean { + if (this === other) return true + if (other !is SpriteBatchKey) return false + return clipper == other.clipper + } + + override fun hashCode(): Int { + val result = clipper.hashCode() + return result + } + + fun set(clipper: Clipper): PrimitiveKey { + this.clipper = clipper + return this + } } diff --git a/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/render/batch/SpriteBatchKey.kt b/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/render/batch/SpriteBatchKey.kt index 8f3dbb71..0c0a19a2 100644 --- a/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/render/batch/SpriteBatchKey.kt +++ b/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/render/batch/SpriteBatchKey.kt @@ -1,6 +1,7 @@ package com.github.minigdx.tiny.render.batch import com.github.minigdx.tiny.ColorIndex +import com.github.minigdx.tiny.graphic.Clipper import com.github.minigdx.tiny.resources.SpriteSheet /** @@ -13,6 +14,7 @@ class SpriteBatchKey( var _spriteSheet: SpriteSheet? = null, var dither: Int = 0, var palette: Array = emptyArray(), + var clipper: Clipper? = null, ) : BatchKey { val spriteSheet: SpriteSheet get() = _spriteSheet!! @@ -21,11 +23,12 @@ class SpriteBatchKey( spriteSheet: SpriteSheet, dither: Int, palette: Array, + clipper: Clipper, ): SpriteBatchKey { this._spriteSheet = spriteSheet this.dither = dither this.palette = palette - + this.clipper = clipper return this } @@ -33,6 +36,7 @@ class SpriteBatchKey( this._spriteSheet = null this.dither = 0 this.palette = emptyArray() + this.clipper = null } override fun equals(other: Any?): Boolean { @@ -40,13 +44,15 @@ class SpriteBatchKey( if (other !is SpriteBatchKey) return false return _spriteSheet == other._spriteSheet && dither == other.dither && - palette.contentEquals(other.palette) + palette.contentEquals(other.palette) && + clipper == other.clipper } override fun hashCode(): Int { var result = dither result = 31 * result + (_spriteSheet?.hashCode() ?: 0) result = 31 * result + palette.contentHashCode() + result = 31 * result + clipper.hashCode() return result } } diff --git a/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/render/gl/PrimitiveBatchStage.kt b/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/render/gl/PrimitiveBatchStage.kt index 6dcaee19..3701c3bc 100644 --- a/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/render/gl/PrimitiveBatchStage.kt +++ b/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/render/gl/PrimitiveBatchStage.kt @@ -1,5 +1,6 @@ package com.github.minigdx.tiny.render.gl +import com.danielgergely.kgl.GL_SCISSOR_TEST import com.danielgergely.kgl.GL_TRIANGLES import com.danielgergely.kgl.Kgl import com.github.minigdx.tiny.engine.GameOptions @@ -49,6 +50,9 @@ class PrimitiveBatchStage( fragmentShader.paletteColors.applyRGBA(colorPaletteBuffer, 256, 256) } + + // Enable scissor test to restrict drawing area + program.enable(GL_SCISSOR_TEST) } fun execute( @@ -78,13 +82,24 @@ class PrimitiveBatchStage( vertexShader.aShadeParams56.apply(batch.parameters56) } + val clipper = key.clipper!! + + val scissorX = clipper.left + val scissorY = gameOptions.height - clipper.bottom + val scissorWidth = clipper.width + val scissorHeight = clipper.height + + program.scissor(scissorX, scissorY, scissorWidth, scissorHeight) + program.bind() program.drawArraysInstanced(GL_TRIANGLES, 0, 6, batch.parametersIndex) performanceMonitor.drawCall(6) program.unbind() } - override fun endStage() = Unit + override fun endStage() { + program.disable(GL_SCISSOR_TEST) + } class VShader : VertexShader(VERTEX_SHADER) { val aShapeType = diff --git a/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/render/gl/SpriteBatchStage.kt b/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/render/gl/SpriteBatchStage.kt index bb4f9ccd..bf242302 100644 --- a/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/render/gl/SpriteBatchStage.kt +++ b/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/render/gl/SpriteBatchStage.kt @@ -1,5 +1,6 @@ package com.github.minigdx.tiny.render.gl +import com.danielgergely.kgl.GL_SCISSOR_TEST import com.danielgergely.kgl.GL_TRIANGLES import com.danielgergely.kgl.Kgl import com.github.minigdx.tiny.engine.GameOptions @@ -42,12 +43,23 @@ class SpriteBatchStage( override fun startStage() { program.use() + // Enable scissor test to restrict drawing area + program.enable(GL_SCISSOR_TEST) } fun execute( key: SpriteBatchKey, batch: SpriteBatch, ) { + val clipper = key.clipper!! + + val scissorX = clipper.left + val scissorY = gameOptions.height - clipper.bottom + val scissorWidth = clipper.width + val scissorHeight = clipper.height + + program.scissor(scissorX, scissorY, scissorWidth, scissorHeight) + val colorsSwitch = key.palette val colorPaletteBuffer = ByteArray(256 * 256 * PixelFormat.RGBA) var pos = 0 @@ -90,7 +102,10 @@ class SpriteBatchStage( program.unbind() } - override fun endStage() = Unit + override fun endStage() { + // Disable scissor test after rendering + program.disable(GL_SCISSOR_TEST) + } class VShader : VertexShader(VERTEX_SHADER) { val aPos = inVec3("a_pos") // position of the sprite in the viewport From 4ad0f04517ed04ae6ee192b8c7e1de13d331745f Mon Sep 17 00:00:00 2001 From: David Wursteisen Date: Tue, 4 Nov 2025 13:21:22 +0100 Subject: [PATCH 06/17] Fix shape.gradiant --- .../com/github/minigdx/tiny/lua/ShapeLib.kt | 111 ++++++++---------- 1 file changed, 52 insertions(+), 59 deletions(-) diff --git a/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/lua/ShapeLib.kt b/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/lua/ShapeLib.kt index baf29555..d5514a93 100644 --- a/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/lua/ShapeLib.kt +++ b/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/lua/ShapeLib.kt @@ -341,70 +341,63 @@ class ShapeLib( 0xEFBF, 0xEFFF, 0xFFFF, - ).map { v -> valueOf(v) } - - private val rectf = rectf() - - // private val dither = GfxLib(resourceAccess, gameOptions).dither() + ) @TinyCall("Draw a gradient using dithering, only from color c1 to color c2.") override fun invoke( @TinyArgs(["x", "y", "width", "height", "color1", "color2", "is_horizontal"]) args: Varargs, ): Varargs { - // FIXME: - TODO("O") - /* - if (args.narg() < 6) throw LuaError("Expected 6 args") - - val x = args.checkint(1) - val y = args.checkint(2) - val width = args.checkint(3) - val height = args.checkint(4) - - val color2 = args.arg(6).checkColorIndex() - - val isHorizontal = args.optboolean(7, false) - - // Draw the background color - rectf.invoke(arrayOf(args.arg(1), args.arg(2), args.arg(3), args.arg(4), args.arg(5))) - - val previous = dither.call() - dithering.forEachIndexed { index, pattern -> - if (isHorizontal) { - val xx = x + width * index / dithering.size - val xx2 = x + width * (index + 1) / dithering.size - dither.call(pattern) - rectf.invoke( - arrayOf( - valueOf(xx), - valueOf(y), - valueOf(xx2 - xx), - valueOf(height), - valueOf(color2), - ), - ) - } else { - val yy = y + height * index / dithering.size - val yy2 = y + height * (index + 1) / dithering.size - dither.call(pattern) - rectf.invoke( - arrayOf( - valueOf(x), - valueOf(yy), - valueOf(width), - valueOf(yy2 - yy), - valueOf(color2), - ), - ) - } - } - dither.call(previous) - - resourceAccess.addOp(FrameBufferOperation) - - return NIL - - */ + if (args.narg() < 6) throw LuaError("Expected 6 args") + + val x = args.checkint(1) + val y = args.checkint(2) + val width = args.checkint(3) + val height = args.checkint(4) + + val color2 = args.arg(6).checkColorIndex() + + val isHorizontal = args.optboolean(7, false) + + // Draw the background color + virtualFrameBuffer.drawRect( + args.arg(1).checkint(), + args.arg(2).checkint(), + args.arg(3).checkint(), + args.arg(4).checkint(), + args.arg(5).checkint(), + filled = true, + ) + + val previous = virtualFrameBuffer.dithering(0xFFFF) + dithering.forEachIndexed { index, pattern -> + if (isHorizontal) { + val xx = x + width * index / dithering.size + val xx2 = x + width * (index + 1) / dithering.size + virtualFrameBuffer.dithering(pattern) + virtualFrameBuffer.drawRect( + xx, + y, + xx2 - xx, + height, + color2, + filled = true, + ) + } else { + val yy = y + height * index / dithering.size + val yy2 = y + height * (index + 1) / dithering.size + virtualFrameBuffer.dithering(pattern) + virtualFrameBuffer.drawRect( + x, + yy, + width, + yy2 - yy, + color2, + filled = true, + ) + } + } + virtualFrameBuffer.dithering(previous) + return NIL } } } From cc34268db1fc151a7da818a305926fa5b9224a9c Mon Sep 17 00:00:00 2001 From: David Wursteisen Date: Tue, 4 Nov 2025 18:12:47 +0100 Subject: [PATCH 07/17] Add types for parameters of lua lib for the documentation --- .../com/github/minigdx/tiny/lua/CtrlLib.kt | 8 +- .../com/github/minigdx/tiny/lua/DebugLib.kt | 3 +- .../com/github/minigdx/tiny/lua/FloppyLib.kt | 7 +- .../com/github/minigdx/tiny/lua/GfxLib.kt | 31 ++++---- .../com/github/minigdx/tiny/lua/JuiceLib.kt | 8 +- .../com/github/minigdx/tiny/lua/MapLib.kt | 31 ++++---- .../com/github/minigdx/tiny/lua/MathLib.kt | 45 +++++------ .../com/github/minigdx/tiny/lua/NotesLib.kt | 3 +- .../com/github/minigdx/tiny/lua/SfxLib.kt | 11 +-- .../com/github/minigdx/tiny/lua/ShapeLib.kt | 16 +++- .../com/github/minigdx/tiny/lua/SprLib.kt | 7 +- .../com/github/minigdx/tiny/lua/StdLib.kt | 35 +++++---- .../com/github/minigdx/tiny/lua/TinyLib.kt | 3 +- .../com/github/minigdx/tiny/lua/Vec2Lib.kt | 77 ++++++++++--------- 14 files changed, 155 insertions(+), 130 deletions(-) diff --git a/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/lua/CtrlLib.kt b/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/lua/CtrlLib.kt index 659154b8..0916b3c7 100644 --- a/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/lua/CtrlLib.kt +++ b/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/lua/CtrlLib.kt @@ -54,7 +54,7 @@ class CtrlLib( @TinyCall("Get the mouse coordinate and draw a sprite on those coordinates.") override fun call( - @TinyArg("sprN") arg: LuaValue, + @TinyArg("sprN", type = LuaType.NUMBER) arg: LuaValue, ): LuaValue { val pos = inputHandler.currentTouch @@ -86,7 +86,7 @@ class CtrlLib( @TinyCall("Is the key was pressed?") override fun call( - @TinyArg("key") arg: LuaValue, + @TinyArg("key", type = LuaType.NUMBER) arg: LuaValue, ): LuaValue { val int = arg.checkint() if (int >= values.size || int < 0) return BFALSE @@ -104,7 +104,7 @@ class CtrlLib( inner class pressing : OneArgFunction() { @TinyCall("Is the key is still pressed?") override fun call( - @TinyArg("key") arg: LuaValue, + @TinyArg("key", type = LuaType.NUMBER) arg: LuaValue, ): LuaValue { val values = Key.values() val int = arg.checkint() @@ -129,7 +129,7 @@ class CtrlLib( inner class touched : OneArgFunction() { @TinyCall("Is the screen was touched or mouse button was pressed?") override fun call( - @TinyArg("touch") arg: LuaValue, + @TinyArg("touch", type = LuaType.NUMBER) arg: LuaValue, ): LuaValue { val values = TouchSignal.values() val int = arg.checkint() diff --git a/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/lua/DebugLib.kt b/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/lua/DebugLib.kt index 6d6347bb..db357bf1 100644 --- a/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/lua/DebugLib.kt +++ b/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/lua/DebugLib.kt @@ -1,5 +1,6 @@ package com.github.minigdx.tiny.lua +import com.github.mingdx.tiny.doc.LuaType import com.github.mingdx.tiny.doc.TinyArg import com.github.mingdx.tiny.doc.TinyCall import com.github.mingdx.tiny.doc.TinyFunction @@ -54,7 +55,7 @@ class DebugLib(private val logger: Logger) : TwoArgFunction() { internal inner class console : VarArgFunction() { @TinyCall("Log a message into the console.") override fun invoke( - @TinyArg("str") args: Varargs, + @TinyArg("str", type = LuaType.ANY) args: Varargs, ): Varargs { val nbArgs = args.narg() val message = (1..nbArgs).joinToString(" ") { diff --git a/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/lua/FloppyLib.kt b/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/lua/FloppyLib.kt index 25b32d76..9a8cfb84 100644 --- a/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/lua/FloppyLib.kt +++ b/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/lua/FloppyLib.kt @@ -1,5 +1,6 @@ package com.github.minigdx.tiny.lua +import com.github.mingdx.tiny.doc.LuaType import com.github.mingdx.tiny.doc.TinyArg import com.github.mingdx.tiny.doc.TinyCall import com.github.mingdx.tiny.doc.TinyFunction @@ -50,8 +51,8 @@ class FloppyLib( internal inner class put : TwoArgFunction() { @TinyCall("Save the content into the file name.") override fun call( - @TinyArg("name") arg1: LuaValue, - @TinyArg("content") arg2: LuaValue, + @TinyArg("name", type = LuaType.STRING) arg1: LuaValue, + @TinyArg("content", type = LuaType.ANY) arg2: LuaValue, ): LuaValue { val filename = arg1.checkjstring() ?: return NIL val jsonElement = luaValueToJson(arg2, mutableSetOf()) @@ -65,7 +66,7 @@ class FloppyLib( internal inner class get : OneArgFunction() { @TinyCall("Load and get the content of the file name") override fun call( - @TinyArg("name") arg: LuaValue, + @TinyArg("name", type = LuaType.STRING) arg: LuaValue, ): LuaValue { val filename = arg.checkjstring() ?: return NIL val content = platform.getFromHome(filename) ?: return NIL diff --git a/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/lua/GfxLib.kt b/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/lua/GfxLib.kt index 411558c0..ffa0441e 100644 --- a/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/lua/GfxLib.kt +++ b/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/lua/GfxLib.kt @@ -1,5 +1,6 @@ package com.github.minigdx.tiny.lua +import com.github.mingdx.tiny.doc.LuaType import com.github.mingdx.tiny.doc.TinyArg import com.github.mingdx.tiny.doc.TinyCall import com.github.mingdx.tiny.doc.TinyFunction @@ -81,7 +82,7 @@ class GfxLib( @TinyCall("Switch to another draw mode. Return the previous mode.") override fun call( - @TinyArg("mode") a: LuaValue, + @TinyArg("mode", type = LuaType.NUMBER) a: LuaValue, ): LuaValue { val before = current val index = a.checkint() @@ -105,7 +106,7 @@ class GfxLib( @TinyCall("Clear the screen with a color.") override fun call( - @TinyArg("color") arg: LuaValue, + @TinyArg("color", type = LuaType.NUMBER) arg: LuaValue, ): LuaValue { val color = if (arg.isnil()) { valueOf("#000000").checkColorIndex() @@ -123,9 +124,9 @@ class GfxLib( internal inner class pset : ThreeArgFunction() { @TinyCall("set the color index at the coordinate (x,y).") override fun call( - @TinyArg("x") arg1: LuaValue, - @TinyArg("y") arg2: LuaValue, - @TinyArg("color") arg3: LuaValue, + @TinyArg("x", type = LuaType.NUMBER) arg1: LuaValue, + @TinyArg("y", type = LuaType.NUMBER) arg2: LuaValue, + @TinyArg("color", type = LuaType.NUMBER) arg3: LuaValue, ): LuaValue { virtualFrameBuffer.drawPoint( arg1.toint(), @@ -140,8 +141,8 @@ class GfxLib( internal inner class pget : TwoArgFunction() { @TinyCall("get the color index at the coordinate (x,y).") override fun call( - @TinyArg("x") arg1: LuaValue, - @TinyArg("y") arg2: LuaValue, + @TinyArg("x", type = LuaType.NUMBER) arg1: LuaValue, + @TinyArg("y", type = LuaType.NUMBER) arg2: LuaValue, ): LuaValue { val x = min(max(0, arg1.checkint()), gameOptions.width - 1) val y = min(max(0, arg2.checkint()), gameOptions.height - 1) @@ -165,7 +166,7 @@ class GfxLib( inner class toSheet : LibFunction() { @TinyCall("Copy the current frame buffer to an new or existing sheet index.") override fun call( - @TinyArg("sheet") a: LuaValue, + @TinyArg("sheet", type = LuaType.ANY) a: LuaValue, ): LuaValue { val (index, name) = getIndexAndName(a) @@ -234,8 +235,8 @@ class GfxLib( @TinyCall("Set game camera to the position x, y.") override fun call( - @TinyArg("x") arg1: LuaValue, - @TinyArg("y") arg2: LuaValue, + @TinyArg("x", type = LuaType.NUMBER) arg1: LuaValue, + @TinyArg("y", type = LuaType.NUMBER) arg2: LuaValue, ): LuaValue { val previous = coordinates() virtualFrameBuffer.setCamera(arg1.toint(), arg2.toint()) @@ -267,7 +268,7 @@ class GfxLib( @TinyCall("Apply dithering pattern. The previous dithering pattern is returned.") override fun call( - @TinyArg("pattern", "Dither pattern. For example: 0xA5A5 or 0x3030") a: LuaValue, + @TinyArg("pattern", "Dither pattern. For example: 0xA5A5 or 0x3030", type = LuaType.NUMBER) a: LuaValue, ): LuaValue { val actual = virtualFrameBuffer.dithering(a.checkint()) return valueOf(actual) @@ -287,10 +288,10 @@ class GfxLib( @TinyCall("Clip and limit the drawing area.") override fun call( - @TinyArg("x") a: LuaValue, - @TinyArg("y") b: LuaValue, - @TinyArg("width") c: LuaValue, - @TinyArg("height") d: LuaValue, + @TinyArg("x", type = LuaType.NUMBER) a: LuaValue, + @TinyArg("y", type = LuaType.NUMBER) b: LuaValue, + @TinyArg("width", type = LuaType.NUMBER) c: LuaValue, + @TinyArg("height", type = LuaType.NUMBER) d: LuaValue, ): LuaValue { virtualFrameBuffer.setClip(a.checkint(), b.checkint(), c.checkint(), d.checkint()) return NONE diff --git a/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/lua/JuiceLib.kt b/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/lua/JuiceLib.kt index c3c4a43e..b1e56d85 100644 --- a/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/lua/JuiceLib.kt +++ b/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/lua/JuiceLib.kt @@ -1,5 +1,6 @@ package com.github.minigdx.tiny.lua +import com.github.mingdx.tiny.doc.LuaType import com.github.mingdx.tiny.doc.TinyArg import com.github.mingdx.tiny.doc.TinyCall import com.github.mingdx.tiny.doc.TinyFunction @@ -67,20 +68,21 @@ class JuiceLib : TwoArgFunction() { inner class InterpolationLib(private val interpolation: Interpolation) : LibFunction() { @TinyCall("Give a percentage (progress) of the interpolation") override fun call( - @TinyArg("progress") a: LuaValue, + @TinyArg("progress", type = LuaType.NUMBER) a: LuaValue, ): LuaValue { return valueOf(interpolation.interpolate(a.tofloat()).toDouble()) } @TinyCall("Interpolate the value given a start and an end value.") override fun call( - @TinyArg("start") a: LuaValue, - @TinyArg("end") b: LuaValue, + @TinyArg("start", type = LuaType.NUMBER) a: LuaValue, + @TinyArg("end", type = LuaType.NUMBER) b: LuaValue, @TinyArg( "progress", "Progress value. " + "Needs to be between 0 (start of the interpolation) " + "and 1 (end of the interpolation)", + type = LuaType.NUMBER, ) c: LuaValue, ): LuaValue { diff --git a/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/lua/MapLib.kt b/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/lua/MapLib.kt index 2f42a807..7b37ff7d 100644 --- a/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/lua/MapLib.kt +++ b/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/lua/MapLib.kt @@ -1,5 +1,6 @@ package com.github.minigdx.tiny.lua +import com.github.mingdx.tiny.doc.LuaType import com.github.mingdx.tiny.doc.TinyArg import com.github.mingdx.tiny.doc.TinyCall import com.github.mingdx.tiny.doc.TinyFunction @@ -96,7 +97,7 @@ class MapLib( "Return the previous index level or NIL if the new level is invalid.", ) override fun call( - @TinyArg("level") a: LuaValue, + @TinyArg("level", type = LuaType.ANY) a: LuaValue, ): LuaValue { // The parameter is an index. Let's check if the index is valid. if (a.isint()) { @@ -136,7 +137,7 @@ class MapLib( "The layer in the front is 0.", ) override fun call( - @TinyArg("layer_index") arg: LuaValue, + @TinyArg("layer_index", type = LuaType.ANY) arg: LuaValue, ): LuaValue { val level = activeLevel() @@ -195,7 +196,7 @@ class MapLib( @TinyCall("Convert the cell coordinates from a table {cx,cy} into screen coordinates as a table {x,y}.") override fun call( - @TinyArg("cell") arg: LuaValue, + @TinyArg("cell", type = LuaType.TABLE) arg: LuaValue, ): LuaValue = super.call(arg) } @@ -225,7 +226,7 @@ class MapLib( @TinyCall("Convert the coordinates from a table {x,y} into cell coordinates as a table {cx,cy}.") override fun call( - @TinyArg("coordinates") arg: LuaValue, + @TinyArg("coordinates", type = LuaType.TABLE) arg: LuaValue, ) = super.call(arg) } @@ -233,8 +234,8 @@ class MapLib( inner class cflag : LibFunction() { @TinyCall("Get the flag from the tile at the coordinate cx,cy.") override fun call( - @TinyArg("cx") a: LuaValue, - @TinyArg("cy") b: LuaValue, + @TinyArg("cx", type = LuaType.NUMBER) a: LuaValue, + @TinyArg("cy", type = LuaType.NUMBER) b: LuaValue, ): LuaValue { val level = activeLevel() ?: return NIL return getCell(level.layerInstances.asSequence(), a.checkint(), b.checkint()) @@ -242,9 +243,9 @@ class MapLib( @TinyCall("Get the flag from the tile at the coordinate cx,cy from a specific layer.") override fun call( - @TinyArg("cx") a: LuaValue, - @TinyArg("cy") b: LuaValue, - @TinyArg("layer") c: LuaValue, + @TinyArg("cx", type = LuaType.NUMBER) a: LuaValue, + @TinyArg("cy", type = LuaType.NUMBER) b: LuaValue, + @TinyArg("layer", type = LuaType.ANY) c: LuaValue, ): LuaValue { val level = activeLevel() ?: return NIL val layer = layerIndex(c) ?: return NIL @@ -256,8 +257,8 @@ class MapLib( inner class flag : LibFunction() { @TinyCall("Get the flag from the tile at the coordinate x,y.") override fun call( - @TinyArg("x") a: LuaValue, - @TinyArg("y") b: LuaValue, + @TinyArg("x", type = LuaType.NUMBER) a: LuaValue, + @TinyArg("y", type = LuaType.NUMBER) b: LuaValue, ): LuaValue { val level = activeLevel() ?: return NIL @@ -274,9 +275,9 @@ class MapLib( @TinyCall("Get the flag from the tile at the coordinate x,y from a specific layer.") override fun call( - @TinyArg("x") a: LuaValue, - @TinyArg("y") b: LuaValue, - @TinyArg("layer") c: LuaValue, + @TinyArg("x", type = LuaType.NUMBER) a: LuaValue, + @TinyArg("y", type = LuaType.NUMBER) b: LuaValue, + @TinyArg("layer", type = LuaType.ANY) c: LuaValue, ): LuaValue { val level = activeLevel() ?: return NIL val layer = layerIndex(c) ?: return NIL @@ -466,7 +467,7 @@ entity.fields -- access custom field of the entity description = "Draw the layer with the name or the index on the screen.", ) override fun call( - @TinyArg("index") a: LuaValue, + @TinyArg("index", type = LuaType.ANY) a: LuaValue, ): LuaValue { val layerIndex = layerIndex(a) ?: return NIL if (!isActiveLayer(layerIndex)) { diff --git a/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/lua/MathLib.kt b/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/lua/MathLib.kt index ed6165bc..a1faea5a 100644 --- a/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/lua/MathLib.kt +++ b/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/lua/MathLib.kt @@ -1,5 +1,6 @@ package com.github.minigdx.tiny.lua +import com.github.mingdx.tiny.doc.LuaType import com.github.mingdx.tiny.doc.TinyArg import com.github.mingdx.tiny.doc.TinyCall import com.github.mingdx.tiny.doc.TinyFunction @@ -41,7 +42,7 @@ class MathLib : org.luaj.vm2.lib.MathLib() { internal inner class sign : OneArgFunction() { @TinyCall("Return the sign of the number.") override fun call( - @TinyArg("number") arg: LuaValue, + @TinyArg("number", type = LuaType.NUMBER) arg: LuaValue, ): LuaValue { return if (arg.todouble() >= 0) { ONE @@ -57,8 +58,8 @@ class MathLib : org.luaj.vm2.lib.MathLib() { internal inner class atan2 : TwoArgFunction() { @TinyCall("Calculate the angle for the point (x, y). Please note the argument order: y then x.") override fun call( - @TinyArg("y") arg1: LuaValue, - @TinyArg("x") arg2: LuaValue, + @TinyArg("y", type = LuaType.NUMBER) arg1: LuaValue, + @TinyArg("x", type = LuaType.NUMBER) arg2: LuaValue, ): LuaValue { val y = arg1.todouble() val x = arg2.todouble() @@ -73,9 +74,9 @@ class MathLib : org.luaj.vm2.lib.MathLib() { internal inner class clamp : ThreeArgFunction() { @TinyCall("Clamp the value between a and b. If a is greater than b, then b will be returned.") override fun call( - @TinyArg("a", "The minimum value.") arg1: LuaValue, - @TinyArg("value", "The value to be clamped.") arg2: LuaValue, - @TinyArg("b", "The maximum value.") arg3: LuaValue, + @TinyArg("a", "The minimum value.", type = LuaType.NUMBER) arg1: LuaValue, + @TinyArg("value", "The value to be clamped.", type = LuaType.NUMBER) arg2: LuaValue, + @TinyArg("b", "The maximum value.", type = LuaType.NUMBER) arg3: LuaValue, ): LuaValue { val max = if (arg1.todouble() > arg2.todouble()) { @@ -101,10 +102,10 @@ class MathLib : org.luaj.vm2.lib.MathLib() { description = "Distance between (x1, y1) and (x2, y2).", ) override fun call( - @TinyArg("x1") a: LuaValue, - @TinyArg("y1") b: LuaValue, - @TinyArg("x2") c: LuaValue, - @TinyArg("y2") d: LuaValue, + @TinyArg("x1", type = LuaType.NUMBER) a: LuaValue, + @TinyArg("y1", type = LuaType.NUMBER) b: LuaValue, + @TinyArg("x2", type = LuaType.NUMBER) c: LuaValue, + @TinyArg("y2", type = LuaType.NUMBER) d: LuaValue, ): LuaValue { val luaValue = dst2.call(a, b, c, d) return valueOf(sqrt(luaValue.todouble())) @@ -121,10 +122,10 @@ class MathLib : org.luaj.vm2.lib.MathLib() { description = "Distance not squared between (x1, y1) and (x2, y2).", ) override fun call( - @TinyArg("x1") a: LuaValue, - @TinyArg("y1") b: LuaValue, - @TinyArg("x2") c: LuaValue, - @TinyArg("y2") d: LuaValue, + @TinyArg("x1", type = LuaType.NUMBER) a: LuaValue, + @TinyArg("y1", type = LuaType.NUMBER) b: LuaValue, + @TinyArg("x2", type = LuaType.NUMBER) c: LuaValue, + @TinyArg("y2", type = LuaType.NUMBER) d: LuaValue, ): LuaValue { val xDiff = c.todouble() - a.todouble() val yDiff = d.todouble() - b.todouble() @@ -144,7 +145,7 @@ class MathLib : org.luaj.vm2.lib.MathLib() { "If a table is passed, it'll return a random element of the table.", ) override fun call( - @TinyArg("until") arg: LuaValue, + @TinyArg("until", type = LuaType.ANY) arg: LuaValue, ): LuaValue { if (arg.isnil()) return call() return if (arg.istable()) { @@ -166,8 +167,8 @@ class MathLib : org.luaj.vm2.lib.MathLib() { @TinyCall("Generate a random value between a and b.") override fun call( - @TinyArg("a") arg1: LuaValue, - @TinyArg("b") arg2: LuaValue, + @TinyArg("a", type = LuaType.NUMBER) arg1: LuaValue, + @TinyArg("b", type = LuaType.NUMBER) arg2: LuaValue, ): LuaValue { if (arg2.isnil()) { return call(arg1) @@ -186,8 +187,8 @@ class MathLib : org.luaj.vm2.lib.MathLib() { inner class roverlap() : TwoArgFunction() { @TinyCall("Check if the rectangle rect1 overlaps with the rectangle rect2.") override fun call( - @TinyArg("rect1", "Rectangle as a table {x, y, with, height}.") arg1: LuaValue, - @TinyArg("rect2", "Rectangle as a table {x, y, with, height}.") arg2: LuaValue, + @TinyArg("rect1", "Rectangle as a table {x, y, with, height}.", type = LuaType.TABLE) arg1: LuaValue, + @TinyArg("rect2", "Rectangle as a table {x, y, with, height}.", type = LuaType.TABLE) arg2: LuaValue, ): LuaValue { val ax = arg1["x"].toint() val ay = arg1["y"].toint() @@ -291,9 +292,9 @@ class MathLib : org.luaj.vm2.lib.MathLib() { @TinyCall("Generate a random value regarding the parameters x,y and z.") override fun call( - @TinyArg("x", description = "A value between 0.0 and 1.0.") arg1: LuaValue, - @TinyArg("y", description = "A value between 0.0 and 1.0.") arg2: LuaValue, - @TinyArg("z", description = "A value between 0.0 and 1.0.") arg3: LuaValue, + @TinyArg("x", description = "A value between 0.0 and 1.0.", type = LuaType.NUMBER) arg1: LuaValue, + @TinyArg("y", description = "A value between 0.0 and 1.0.", type = LuaType.NUMBER) arg2: LuaValue, + @TinyArg("z", description = "A value between 0.0 and 1.0.", type = LuaType.NUMBER) arg3: LuaValue, ): LuaValue { return valueOf(noise(arg1.todouble(), arg2.todouble(), arg3.todouble())) } diff --git a/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/lua/NotesLib.kt b/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/lua/NotesLib.kt index 56b7d0b8..655407df 100644 --- a/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/lua/NotesLib.kt +++ b/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/lua/NotesLib.kt @@ -1,5 +1,6 @@ package com.github.minigdx.tiny.lua +import com.github.mingdx.tiny.doc.LuaType import com.github.mingdx.tiny.doc.TinyArg import com.github.mingdx.tiny.doc.TinyCall import com.github.mingdx.tiny.doc.TinyFunction @@ -240,7 +241,7 @@ class NotesLib : TwoArgFunction() { inner class note : OneArgFunction() { @TinyCall("Get the name of a note regarding the note index (ie: C0 = 0, Cs0 = 1, ...)") override fun call( - @TinyArg("note_index") arg: LuaValue, + @TinyArg("note_index", type = LuaType.NUMBER) arg: LuaValue, ): LuaValue { return valueOf(Note.fromIndex(arg.checkint()).name) } diff --git a/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/lua/SfxLib.kt b/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/lua/SfxLib.kt index 3d74cf4f..271656e6 100644 --- a/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/lua/SfxLib.kt +++ b/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/lua/SfxLib.kt @@ -1,5 +1,6 @@ package com.github.minigdx.tiny.lua +import com.github.mingdx.tiny.doc.LuaType import com.github.mingdx.tiny.doc.TinyArg import com.github.mingdx.tiny.doc.TinyCall import com.github.mingdx.tiny.doc.TinyFunction @@ -153,7 +154,7 @@ class SfxLib( inner class save : OneArgFunction() { @TinyCall("Save the actual music using the filename") override fun call( - @TinyArg("filename") arg: LuaValue, + @TinyArg("filename", type = LuaType.STRING) arg: LuaValue, ): LuaValue { // FIXME: TODO("F") @@ -171,7 +172,7 @@ class SfxLib( inner class load : OneArgFunction() { @TinyCall("Load the actual SFX sound as the actual music using filename or its index") override fun call( - @TinyArg("filename") arg: LuaValue, + @TinyArg("filename", type = LuaType.ANY) arg: LuaValue, ): LuaValue { // FIXME: TODO() @@ -666,7 +667,7 @@ class SfxLib( @TinyCall("Play the sound by it's index.") override fun call( - @TinyArg("sound") arg: LuaValue, + @TinyArg("sound", type = LuaType.NUMBER) arg: LuaValue, ): LuaValue { val bars = getCurrentMusic().musicalBars if (bars.isEmpty()) return NIL @@ -707,7 +708,7 @@ class SfxLib( @TinyCall("Loop the sound by it's index.") override fun call( - @TinyArg("sound") arg: LuaValue, + @TinyArg("sound", type = LuaType.NUMBER) arg: LuaValue, ): LuaValue { val bars = getCurrentMusic().musicalBars if (bars.isEmpty()) return NIL @@ -748,7 +749,7 @@ class SfxLib( @TinyCall("Stop the sound by it's index.") override fun call( - @TinyArg("sound") arg: LuaValue, + @TinyArg("sound", type = LuaType.NUMBER) arg: LuaValue, ): LuaValue { val bars = getCurrentMusic().musicalBars if (bars.isEmpty()) return NIL diff --git a/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/lua/ShapeLib.kt b/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/lua/ShapeLib.kt index d5514a93..aade6249 100644 --- a/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/lua/ShapeLib.kt +++ b/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/lua/ShapeLib.kt @@ -1,5 +1,6 @@ package com.github.minigdx.tiny.lua +import com.github.mingdx.tiny.doc.LuaType import com.github.mingdx.tiny.doc.TinyArg import com.github.mingdx.tiny.doc.TinyArgs import com.github.mingdx.tiny.doc.TinyCall @@ -101,7 +102,10 @@ class ShapeLib( internal inner class rect : LibFunction() { @TinyCall("Draw a rectangle.") override fun invoke( - @TinyArgs(["x", "y", "width", "height", "color"]) args: Varargs, + @TinyArgs( + names = ["x", "y", "width", "height", "color"], + types = [LuaType.NUMBER, LuaType.NUMBER, LuaType.NUMBER, LuaType.NUMBER, LuaType.NUMBER], + ) args: Varargs, ): Varargs { val (x, y, width, height, color) = shape.rectArgs(args) ?: return NIL @@ -136,7 +140,10 @@ class ShapeLib( // cornerX: Int, cornerY: Int, width: Int, height: Int, color: Int @TinyCall("Draw a filled rectangle.") override fun invoke( - @TinyArgs(["x", "y", "width", "height", "color"]) args: Varargs, + @TinyArgs( + names = ["x", "y", "width", "height", "color"], + types = [LuaType.NUMBER, LuaType.NUMBER, LuaType.NUMBER, LuaType.NUMBER, LuaType.NUMBER], + ) args: Varargs, ): Varargs { val (x, y, width, height, color) = shape.rectArgs(args) ?: return NIL @@ -190,7 +197,10 @@ class ShapeLib( internal inner class line : LibFunction() { @TinyCall("Draw a line.") override fun invoke( - @TinyArgs(["x0", "y0", "x1", "y1", "color"]) + @TinyArgs( + names = ["x0", "y0", "x1", "y1", "color"], + types = [LuaType.NUMBER, LuaType.NUMBER, LuaType.NUMBER, LuaType.NUMBER, LuaType.NUMBER], + ) args: Varargs, ): Varargs { return when (args.narg()) { diff --git a/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/lua/SprLib.kt b/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/lua/SprLib.kt index 0ebe739d..9206915e 100644 --- a/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/lua/SprLib.kt +++ b/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/lua/SprLib.kt @@ -115,7 +115,7 @@ class SprLib( @TinyCall("Switch to the N spritesheet") override fun call( - @TinyArg("spritesheetN") arg: LuaValue, + @TinyArg("spritesheetN", type = LuaType.ANY) arg: LuaValue, ): LuaValue { val previousSpriteSheet = currentSpritesheet currentSpritesheet = if (arg.isnil()) { @@ -228,7 +228,10 @@ class SprLib( @TinyCall("Draw a sprite and allow flip on x or y axis.") override fun invoke( - @TinyArgs(["sprN", "x", "y", "flipX", "flipY"]) args: Varargs, + @TinyArgs( + names = ["sprN", "x", "y", "flipX", "flipY"], + types = [LuaType.NUMBER, LuaType.NUMBER, LuaType.NUMBER, LuaType.BOOLEAN, LuaType.BOOLEAN], + ) args: Varargs, ): Varargs { if (args.narg() < 1) return NIL val sprN = args.arg(1).checkint() diff --git a/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/lua/StdLib.kt b/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/lua/StdLib.kt index db8b9a6a..4cdc41a6 100644 --- a/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/lua/StdLib.kt +++ b/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/lua/StdLib.kt @@ -1,5 +1,6 @@ package com.github.minigdx.tiny.lua +import com.github.mingdx.tiny.doc.LuaType import com.github.mingdx.tiny.doc.TinyArg import com.github.mingdx.tiny.doc.TinyArgs import com.github.mingdx.tiny.doc.TinyCall @@ -43,15 +44,15 @@ class StdLib( inner class new : TwoArgFunction() { @TinyCall("Create new instance of class.") override fun call( - @TinyArg("class") arg: LuaValue, + @TinyArg("class", type = LuaType.TABLE) arg: LuaValue, ): LuaValue { return super.call(arg) } @TinyCall("Create new instance of class using default values.") override fun call( - @TinyArg("class") arg1: LuaValue, - @TinyArg("default") arg2: LuaValue, + @TinyArg("class", type = LuaType.TABLE) arg1: LuaValue, + @TinyArg("default", type = LuaType.TABLE) arg2: LuaValue, ): LuaValue { val default = if (arg2.istable()) { @@ -88,8 +89,8 @@ class StdLib( inner class merge : TwoArgFunction() { @TinyCall("Merge source into dest.") override fun call( - @TinyArg("source") arg1: LuaValue, - @TinyArg("dest") arg2: LuaValue, + @TinyArg("source", type = LuaType.TABLE) arg1: LuaValue, + @TinyArg("dest", type = LuaType.TABLE) arg2: LuaValue, ): LuaValue { return if (arg1.istable() and arg2.istable()) { arg1 as LuaTable @@ -114,8 +115,8 @@ class StdLib( inner class append : TwoArgFunction() { @TinyCall("Copy source into dest.") override fun call( - @TinyArg("source") arg1: LuaValue, - @TinyArg("dest") arg2: LuaValue, + @TinyArg("source", type = LuaType.TABLE) arg1: LuaValue, + @TinyArg("dest", type = LuaType.TABLE) arg2: LuaValue, ): LuaValue { return if (arg1.istable() and arg2.istable()) { arg1 as LuaTable @@ -141,7 +142,7 @@ class StdLib( internal inner class all : VarArgFunction() { @TinyCall("Iterate over the values of the table") override fun invoke( - @TinyArgs(["table"]) args: Varargs, + @TinyArgs(names = ["table"], types = [LuaType.TABLE]) args: Varargs, ): Varargs { val iterator = object : VarArgFunction() { @@ -179,7 +180,7 @@ class StdLib( internal inner class rpairs : VarArgFunction() { @TinyCall("Iterate over the values of the table") override fun invoke( - @TinyArgs(["table"]) args: Varargs, + @TinyArgs(names = ["table"], types = [LuaType.TABLE]) args: Varargs, ): Varargs { val iterator = object : VarArgFunction() { @@ -208,7 +209,7 @@ class StdLib( description = "print on the screen a string at (0,0) with a default color.", ) override fun call( - @TinyArg("str") a: LuaValue, + @TinyArg("str", type = LuaType.STRING) a: LuaValue, ): LuaValue { return call(a, valueOf(0), valueOf(0), valueOf("#FFFFFF")) } @@ -217,9 +218,9 @@ class StdLib( description = "print on the screen a string with a default color.", ) override fun call( - @TinyArg("str") a: LuaValue, - @TinyArg("x") b: LuaValue, - @TinyArg("y") c: LuaValue, + @TinyArg("str", type = LuaType.STRING) a: LuaValue, + @TinyArg("x", type = LuaType.NUMBER) b: LuaValue, + @TinyArg("y", type = LuaType.NUMBER) c: LuaValue, ): LuaValue { return call(a, b, c, valueOf("#FFFFFF")) } @@ -228,10 +229,10 @@ class StdLib( description = "print on the screen a string with a specific color.", ) override fun call( - @TinyArg("str") a: LuaValue, - @TinyArg("x") b: LuaValue, - @TinyArg("y") c: LuaValue, - @TinyArg("color") d: LuaValue, + @TinyArg("str", type = LuaType.STRING) a: LuaValue, + @TinyArg("x", type = LuaType.NUMBER) b: LuaValue, + @TinyArg("y", type = LuaType.NUMBER) c: LuaValue, + @TinyArg("color", type = LuaType.ANY) d: LuaValue, ): LuaValue { val spritesheet = resourceAccess.bootSpritesheet ?: return NONE val str = a.tojstring() diff --git a/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/lua/TinyLib.kt b/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/lua/TinyLib.kt index 04e6bc6a..36fe3487 100644 --- a/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/lua/TinyLib.kt +++ b/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/lua/TinyLib.kt @@ -1,5 +1,6 @@ package com.github.minigdx.tiny.lua +import com.github.mingdx.tiny.doc.LuaType import com.github.mingdx.tiny.doc.TinyArg import com.github.mingdx.tiny.doc.TinyCall import com.github.mingdx.tiny.doc.TinyFunction @@ -75,7 +76,7 @@ class TinyLib( internal inner class exit : OneArgFunction() { @TinyCall("Exit the actual script to switch to another one.") override fun call( - @TinyArg("scriptIndex") arg: LuaValue, + @TinyArg("scriptIndex", type = LuaType.ANY) arg: LuaValue, ): LuaValue { if (arg.isint()) { throw Exit(arg.toint()) diff --git a/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/lua/Vec2Lib.kt b/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/lua/Vec2Lib.kt index fd36b6b7..64b21fd3 100644 --- a/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/lua/Vec2Lib.kt +++ b/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/lua/Vec2Lib.kt @@ -1,5 +1,6 @@ package com.github.minigdx.tiny.lua +import com.github.mingdx.tiny.doc.LuaType import com.github.mingdx.tiny.doc.TinyArg import com.github.mingdx.tiny.doc.TinyCall import com.github.mingdx.tiny.doc.TinyFunction @@ -35,8 +36,8 @@ class Vec2Lib : TwoArgFunction() { class create : TwoArgFunction() { @TinyCall("Create a vector 2 as a table { x, y }.") override fun call( - @TinyArg("x") arg1: LuaValue, - @TinyArg("y") arg2: LuaValue, + @TinyArg("x", type = LuaType.NUMBER) arg1: LuaValue, + @TinyArg("y", type = LuaType.NUMBER) arg2: LuaValue, ): LuaValue { val (x, y) = extract(arg1, arg2) val defaultX = @@ -57,7 +58,7 @@ class Vec2Lib : TwoArgFunction() { @TinyCall("Create a vector 2 as a table { x, y } using another vector 2.") override fun call( - @TinyArg("vec2") arg: LuaValue, + @TinyArg("vec2", type = LuaType.TABLE) arg: LuaValue, ): LuaValue = super.call(arg) } @@ -73,16 +74,16 @@ class Vec2Lib : TwoArgFunction() { @TinyCall("Add a vector 2 {x, y} to another vector 2 {x, y}") override fun call( - @TinyArg("v1", "vector 2 as a table {x, y}") arg1: LuaValue, - @TinyArg("v2", "vector 2 as a table {x, y}") arg2: LuaValue, + @TinyArg("v1", "vector 2 as a table {x, y}", type = LuaType.TABLE) arg1: LuaValue, + @TinyArg("v2", "vector 2 as a table {x, y}", type = LuaType.TABLE) arg2: LuaValue, ): LuaValue = super.call(arg1, arg2) @TinyCall("Add a destructured vector 2 to another destructured vector 2") override fun call( - @TinyArg("x1") a: LuaValue, - @TinyArg("y1") b: LuaValue, - @TinyArg("x2") c: LuaValue, - @TinyArg("y2") d: LuaValue, + @TinyArg("x1", type = LuaType.NUMBER) a: LuaValue, + @TinyArg("y1", type = LuaType.NUMBER) b: LuaValue, + @TinyArg("x2", type = LuaType.NUMBER) c: LuaValue, + @TinyArg("y2", type = LuaType.NUMBER) d: LuaValue, ): LuaValue = super.call(a, b, c, d) } @@ -98,16 +99,16 @@ class Vec2Lib : TwoArgFunction() { @TinyCall("Subtract a vector 2 {x, y} from another vector 2 {x, y}") override fun call( - @TinyArg("v1", "vector 2 as a table {x, y}") arg1: LuaValue, - @TinyArg("v2", "vector 2 as a table {x, y}") arg2: LuaValue, + @TinyArg("v1", "vector 2 as a table {x, y}", type = LuaType.TABLE) arg1: LuaValue, + @TinyArg("v2", "vector 2 as a table {x, y}", type = LuaType.TABLE) arg2: LuaValue, ): LuaValue = super.call(arg1, arg2) @TinyCall("Subtract a destructured vector 2 from another destructured vector 2") override fun call( - @TinyArg("x1") a: LuaValue, - @TinyArg("y1") b: LuaValue, - @TinyArg("x2") c: LuaValue, - @TinyArg("y2") d: LuaValue, + @TinyArg("x1", type = LuaType.NUMBER) a: LuaValue, + @TinyArg("y1", type = LuaType.NUMBER) b: LuaValue, + @TinyArg("x2", type = LuaType.NUMBER) c: LuaValue, + @TinyArg("y2", type = LuaType.NUMBER) d: LuaValue, ): LuaValue = super.call(a, b, c, d) } @@ -120,16 +121,16 @@ class Vec2Lib : TwoArgFunction() { @TinyCall("Dot product between a vector 2 {x, y} and another vector 2 {x, y}") override fun call( - @TinyArg("v1", "vector 2 as a table {x, y}") a: LuaValue, - @TinyArg("v2", "vector 2 as a table {x, y}") b: LuaValue, + @TinyArg("v1", "vector 2 as a table {x, y}", type = LuaType.TABLE) a: LuaValue, + @TinyArg("v2", "vector 2 as a table {x, y}", type = LuaType.TABLE) b: LuaValue, ): LuaValue = super.call(a, b) @TinyCall("Dot product between a destructured vector 2 and another destructured vector 2") override fun call( - @TinyArg("x1") a: LuaValue, - @TinyArg("y1") b: LuaValue, - @TinyArg("x2") c: LuaValue, - @TinyArg("y2") d: LuaValue, + @TinyArg("x1", type = LuaType.NUMBER) a: LuaValue, + @TinyArg("y1", type = LuaType.NUMBER) b: LuaValue, + @TinyArg("x2", type = LuaType.NUMBER) c: LuaValue, + @TinyArg("y2", type = LuaType.NUMBER) d: LuaValue, ): LuaValue = super.call(a, b, c, d) } @@ -142,13 +143,13 @@ class Vec2Lib : TwoArgFunction() { @TinyCall("Calculate the magnitude (length) of a vector 2 {x, y}") override fun call( - @TinyArg("x") arg1: LuaValue, - @TinyArg("y") arg2: LuaValue, + @TinyArg("x", type = LuaType.NUMBER) arg1: LuaValue, + @TinyArg("y", type = LuaType.NUMBER) arg2: LuaValue, ): LuaValue = super.call(arg1, arg2) @TinyCall("Calculate the magnitude (length) of a vector 2 {x, y}") override fun call( - @TinyArg("v1", "vector 2 as a table {x, y}") arg: LuaValue, + @TinyArg("v1", "vector 2 as a table {x, y}", type = LuaType.TABLE) arg: LuaValue, ): LuaValue = super.call(arg) } @@ -166,13 +167,13 @@ class Vec2Lib : TwoArgFunction() { @TinyCall("Normalize a vector 2 {x, y}") override fun call( - @TinyArg("x") arg1: LuaValue, - @TinyArg("y") arg2: LuaValue, + @TinyArg("x", type = LuaType.NUMBER) arg1: LuaValue, + @TinyArg("y", type = LuaType.NUMBER) arg2: LuaValue, ): LuaValue = super.call(arg1, arg2) @TinyCall("Normalize a vector 2 {x, y}") override fun call( - @TinyArg("v1", "vector 2 as a table {x, y}") arg: LuaValue, + @TinyArg("v1", "vector 2 as a table {x, y}", type = LuaType.TABLE) arg: LuaValue, ): LuaValue = super.call(arg) } @@ -187,16 +188,16 @@ class Vec2Lib : TwoArgFunction() { @TinyCall("Cross product between a vector 2 {x, y} and another vector 2 {x, y}") override fun call( - @TinyArg("v1", "vector 2 as a table {x, y}") arg1: LuaValue, - @TinyArg("v2", "vector 2 as a table {x, y}") arg2: LuaValue, + @TinyArg("v1", "vector 2 as a table {x, y}", type = LuaType.TABLE) arg1: LuaValue, + @TinyArg("v2", "vector 2 as a table {x, y}", type = LuaType.TABLE) arg2: LuaValue, ): LuaValue = super.call(arg1, arg2) @TinyCall("Cross product between a destructured vector 2 and another destructured vector 2") override fun call( - @TinyArg("x1") a: LuaValue, - @TinyArg("y1") b: LuaValue, - @TinyArg("x2") c: LuaValue, - @TinyArg("y2") d: LuaValue, + @TinyArg("x1", type = LuaType.NUMBER) a: LuaValue, + @TinyArg("y1", type = LuaType.NUMBER) b: LuaValue, + @TinyArg("x2", type = LuaType.NUMBER) c: LuaValue, + @TinyArg("y2", type = LuaType.NUMBER) d: LuaValue, ): LuaValue = super.call(a, b, c, d) } @@ -209,15 +210,15 @@ class Vec2Lib : TwoArgFunction() { @TinyCall("Scale a vector 2 {x, y} using the factor scl") override fun call( - @TinyArg("x") arg1: LuaValue, - @TinyArg("y") arg2: LuaValue, - @TinyArg("scl") arg3: LuaValue, + @TinyArg("x", type = LuaType.NUMBER) arg1: LuaValue, + @TinyArg("y", type = LuaType.NUMBER) arg2: LuaValue, + @TinyArg("scl", type = LuaType.NUMBER) arg3: LuaValue, ): LuaValue = super.call(arg1, arg2, arg3) @TinyCall("Scale a vector 2 {x, y} using the factor scl") override fun call( - @TinyArg("v1", "vector 2 as a table {x, y}") arg1: LuaValue, - @TinyArg("scl") arg2: LuaValue, + @TinyArg("v1", "vector 2 as a table {x, y}", type = LuaType.TABLE) arg1: LuaValue, + @TinyArg("scl", type = LuaType.NUMBER) arg2: LuaValue, ): LuaValue = super.call(arg1, arg2) } From 60b145e350ac5b9e26d891ddd9ea08208d3d046f Mon Sep 17 00:00:00 2001 From: David Wursteisen Date: Wed, 5 Nov 2025 15:02:57 +0100 Subject: [PATCH 08/17] Fix SfxLib and introduce SoundLib: - SfxLib: for the SFX Editor. - SoundLib: for game creator. --- .../main/resources/sfx/instrument-editor.lua | 16 +- .../src/main/resources/sfx/sfx-editor.lua | 2 +- .../com/github/minigdx/tiny/lua/SfxLib.kt | 816 +----------------- .../com/github/minigdx/tiny/lua/SoundLib.kt | 181 ++++ .../minigdx/tiny/lua/WrapperLuaTable.kt | 2 +- .../tiny/lua/sfx/InstrumentLuaWrapper.kt | 147 ++++ .../minigdx/tiny/lua/sfx/SfxLuaWrapper.kt | 129 +++ .../minigdx/tiny/resources/GameScript.kt | 2 + 8 files changed, 501 insertions(+), 794 deletions(-) create mode 100644 tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/lua/SoundLib.kt create mode 100644 tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/lua/sfx/InstrumentLuaWrapper.kt create mode 100644 tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/lua/sfx/SfxLuaWrapper.kt diff --git a/tiny-cli/src/main/resources/sfx/instrument-editor.lua b/tiny-cli/src/main/resources/sfx/instrument-editor.lua index 6fbeb815..18532a3c 100644 --- a/tiny-cli/src/main/resources/sfx/instrument-editor.lua +++ b/tiny-cli/src/main/resources/sfx/instrument-editor.lua @@ -15,11 +15,11 @@ local state = { } local on_press = function() - state.instrument.noteOn("C4") + state.instrument.note_on("C4") end local on_release = function() - state.instrument.noteOff("C4") + state.instrument.note_off("C4") end local on_press_repeat = function() @@ -35,7 +35,7 @@ local on_repeat_update = function() if state.next_note_off then state.next_note_off = state.next_note_off - tiny.dt if state.next_note_off < 0 then - state.instrument.noteOff("C4") + state.instrument.note_off("C4") state.next_note_off = nil if state.next_note_on then @@ -47,7 +47,7 @@ local on_repeat_update = function() if state.next_note_on and state.next_note_on >= 0 then state.next_note_on = state.next_note_on - tiny.dt if state.next_note_on < 0 then - state.instrument.noteOn("C4") + state.instrument.note_on("C4") state.next_note_off = state.instrument.attack + state.instrument.decay end end @@ -145,14 +145,14 @@ function _init_keyboard(entities) local currentNote local playNote = function(_, value) if value and currentNote == nil then - state.instrument.noteOn(value) + state.instrument.note_on(value) currentNote = value elseif value and currentNote ~= nil then - state.instrument.noteOn(value) - state.instrument.noteOff(currentNote) + state.instrument.note_on(value) + state.instrument.note_off(currentNote) currentNote = value elseif not value then - state.instrument.noteOff(currentNote) + state.instrument.note_off(currentNote) currentNote = nil end end diff --git a/tiny-cli/src/main/resources/sfx/sfx-editor.lua b/tiny-cli/src/main/resources/sfx/sfx-editor.lua index e55ad094..26e73c11 100644 --- a/tiny-cli/src/main/resources/sfx/sfx-editor.lua +++ b/tiny-cli/src/main/resources/sfx/sfx-editor.lua @@ -502,7 +502,7 @@ function _init() state = new(State) - state.sfx = sfx.bar(0) + state.sfx = sfx.sfx(0) map.level("SfxEditor") diff --git a/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/lua/SfxLib.kt b/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/lua/SfxLib.kt index 271656e6..e6853fb4 100644 --- a/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/lua/SfxLib.kt +++ b/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/lua/SfxLib.kt @@ -1,20 +1,16 @@ package com.github.minigdx.tiny.lua -import com.github.mingdx.tiny.doc.LuaType -import com.github.mingdx.tiny.doc.TinyArg import com.github.mingdx.tiny.doc.TinyCall import com.github.mingdx.tiny.doc.TinyFunction import com.github.mingdx.tiny.doc.TinyLib import com.github.minigdx.tiny.engine.GameResourceAccess +import com.github.minigdx.tiny.lua.sfx.InstrumentLuaWrapper +import com.github.minigdx.tiny.lua.sfx.SfxLuaWrapper import com.github.minigdx.tiny.platform.Platform import com.github.minigdx.tiny.sound.Instrument import com.github.minigdx.tiny.sound.Music -import com.github.minigdx.tiny.sound.MusicalBar -import com.github.minigdx.tiny.sound.MusicalSequence -import com.github.minigdx.tiny.sound.SoundHandler -import com.github.minigdx.tiny.sound.Sweep -import com.github.minigdx.tiny.sound.Vibrato import com.github.minigdx.tiny.sound.VirtualSoundBoard +import kotlinx.serialization.json.Json import org.luaj.vm2.LuaTable import org.luaj.vm2.LuaValue import org.luaj.vm2.lib.LibFunction @@ -22,52 +18,9 @@ import org.luaj.vm2.lib.OneArgFunction import org.luaj.vm2.lib.TwoArgFunction import org.luaj.vm2.lib.ZeroArgFunction -/** - * - * envelope(attack, delay, substain, release) - * instrument(List, envelope) - * - * note (pitch, duration) - * bars (List, instrument) - * track (List) - * sequence(List) - * music(List`. -WARNING: Because of browser behaviour, a sound can *only* be played only after the first -user interaction. - -Avoid to start a music or a sound at the beginning of the game. -Before it, force the player to hit a key or click by adding an interactive menu -or by starting the sound as soon as the player is moving. -""", + """TODO""", ) class SfxLib( private val resourceAccess: GameResourceAccess, @@ -81,268 +34,30 @@ class SfxLib( arg2: LuaValue, ): LuaValue { val ctrl = LuaTable() - ctrl.set("play", play()) - ctrl.set("loop", loop()) - ctrl.set("stop", stop()) - - ctrl.set("mplay", mplay()) - ctrl.set("mloop", mloop()) - ctrl.set("mstop", mstop()) - - ctrl.set("music", music()) ctrl.set("instrument", instrument()) - ctrl.set("bar", bar()) - ctrl.set("track", track()) + ctrl.set("sfx", sfx()) - ctrl.set("load", load()) ctrl.set("save", save()) - ctrl.set("export", export()) - arg2.set("sfx", ctrl) arg2.get("package").get("loaded").set("sfx", ctrl) return ctrl } - private data class SoundKey(val soundIndex: Int, val barIndex: Int) - - private data class SequenceKey(val soundIndex: Int, val sequenceIndex: Int) - - private var currentMusic: Music? = null - private var currentSound: Int = 0 - private var currentSequence: Int = 0 - - private val handlers = mutableMapOf() - private val sequenceHandlers = mutableMapOf() - // Cache for instrument Lua wrappers private val instrumentWrapperCache = mutableMapOf() - private var lastMusicVersion = 0 - - fun getCurrentMusic(): Music { - fun findCurrentMusic(): Music { - val defaultMusic = resourceAccess.findSound(0)?.data?.music ?: Music() - currentMusic = defaultMusic - invalidateInstrumentCache() - return defaultMusic - } - return currentMusic ?: findCurrentMusic() - } - private fun invalidateInstrumentCache() { - instrumentWrapperCache.clear() - lastMusicVersion++ - } - - inner class export : ZeroArgFunction() { + @TinyFunction("Save the actual music in the current sfx file.") + inner class save : ZeroArgFunction() { + @TinyCall("Save the actual music in the current sfx file.") override fun call(): LuaValue { - // FIXME: - TODO("E") - /* - val music = getCurrentMusic() - val sequence = music.sequences.getOrNull(currentSequence) - sequence?.run { resourceAccess.exportAsSound(sequence) } - - return NIL - - */ - } - } - - @TinyFunction("Save the actual music using the filename.") - inner class save : OneArgFunction() { - @TinyCall("Save the actual music using the filename") - override fun call( - @TinyArg("filename", type = LuaType.STRING) arg: LuaValue, - ): LuaValue { - // FIXME: - TODO("F") - /* - val music = getCurrentMusic() - val content = Json.encodeToString(music) - resourceAccess.save(arg.checkjstring()!!, content) - return NONE - - */ - } - } - - @TinyFunction("Load the actual SFX sound as the actual music.") - inner class load : OneArgFunction() { - @TinyCall("Load the actual SFX sound as the actual music using filename or its index") - override fun call( - @TinyArg("filename", type = LuaType.ANY) arg: LuaValue, - ): LuaValue { - // FIXME: - TODO() - /* - val sound = if (arg.isint()) { - resourceAccess.sound(arg.checkint()) - } else { - resourceAccess.sound(arg.checkjstring()!!) - } - return if (sound == null) { - valueOf(currentSound) - } else { - val soundIndex = currentSound - currentMusic = sound.data.music - currentSound = sound.index - // Clear cache when music changes - invalidateInstrumentCache() - valueOf(soundIndex) - } - - */ - } - } - - inner class music() : OneArgFunction() { - override fun call(arg: LuaValue): LuaValue { - // FIXME: - TODO("G") - /* - val music = getCurrentMusic() - val index = arg.checkint().coerceIn(0, music.sequences.size) - val sequence = music.sequences.getOrNull(index) ?: return NIL - resourceAccess.play(sequence) - return NONE - - */ - } - } - - @TinyFunction("Access track using its index or its name.") - inner class track : OneArgFunction() { - private fun getTrack( - music: Music, - index: Int, - ): MusicalSequence.Track? { - return music.sequences - .getOrNull(currentSequence) - ?.tracks - ?.getOrNull(index) - } - - @TinyCall("Access instrument using its index or its name.") - override fun call(arg: LuaValue): LuaValue { - val music = getCurrentMusic() - val index = arg.asTrackIndex(music) ?: return NIL - return getTrack(music, index) - ?.toLua() - ?: NIL - } - - fun MusicalSequence.Track.toLua(): LuaValue { - val obj = WrapperLuaTable() - - obj.function1("play") { - // FIXME: - TODO("H") - /* - resourceAccess.play(this) - NONE - - */ - } - - obj.wrap( - "volume", - { valueOf(this.volume.toDouble()) }, - { this.volume = it.optdouble(0.0).toFloat() }, - ) - - obj.wrap("beats") { - val result = LuaTable() - this.beats.map { b -> - val note = b.note - WrapperLuaTable().apply { - this.wrap("note") { - note?.note?.let { valueOf(it) } ?: NIL - } - this.wrap( - "notei", - { - when { - b.isOffNote -> valueOf(-1) // Special value for note off - note?.index != null -> valueOf(note.index) - else -> NIL - } - }, - { arg -> - when { - arg.isnil() -> { - // Set to repeat previous note (null) - b.note = null - b.isOffNote = false - } + val soundFile = resourceAccess.findSound(0) ?: return NIL - arg.checkint() == -1 -> { - // Set to note off (silence) - b.note = null - b.isOffNote = true - } + val content = Json.encodeToString(soundFile.data) + platform.saveIntoGameDirectory(soundFile.name, content) - else -> { - // Set to specific note - val noteIndex = arg.checkint() - b.note = Note.fromIndex(noteIndex.coerceIn(Note.C0.index..Note.B8.index) - 1) - b.isOffNote = false - } - } - }, - ) - this.wrap( - "octave", - { - note?.octave?.let { valueOf(it) } ?: NIL - }, - { arg -> - b.note = if (arg.isnil() || note == null) { - Note.C5 - } else { - Note.fromName(note.note + arg.checkint().coerceIn(0, 8)) - } - }, - ) - this.wrap( - "volume", - { - valueOf(b.volume.toDouble() * 255.0) - }, - { b.volume = it.tofloat().coerceIn(0f, 255f) / 255f }, - ) - this.wrap( - "mode", - { - if (b.isRepeating) valueOf(1) else valueOf(0) - }, - { b.isRepeating = it.checkint() >= 1 }, - ) - this.wrap( - "instrument", - { - b.instrumentIndex?.let { valueOf(it) } ?: NIL - }, - { arg -> - b.instrumentIndex = if (arg.isnil()) { - null - } else { - if (arg.checkint() < 0) { - null - } else { - arg.checkint().coerceIn(0, 7) - } - } - }, - ) - } - }.forEachIndexed { index, value -> - result.insert(index + 1, value) - } - result - } - return obj + return NONE } } @@ -350,15 +65,18 @@ class SfxLib( inner class instrument : LibFunction() { @TinyCall("Access instrument using its index or its name.") override fun call(a: LuaValue): LuaValue { - val music = getCurrentMusic() + val music = resourceAccess.findSound(0)?.data?.music ?: return NIL + val index = a.asInstrumentIndex(music) ?: return NIL // Check cache first return instrumentWrapperCache[index] // Check music - ?: music.instruments.getOrNull(index)?.toLua()?.also { - // Cache the result of [toLua]. - instrumentWrapperCache[index] = it + ?: music.instruments.getOrNull(index)?.let { instrument -> + createInstrumentWrapper(music, instrument).also { + // Cache the wrapper + instrumentWrapperCache[index] = it + } } // Give up ?: NIL @@ -373,503 +91,37 @@ class SfxLib( b: LuaValue, ): LuaValue { val instrument = call(a) + val music = resourceAccess.findSound(0)?.data?.music ?: return NIL return if (instrument == NIL && b.optboolean(false)) { val index = a.toint() val newInstrument = Instrument(index) - getCurrentMusic().instruments[index] = newInstrument + music.instruments[index] = newInstrument // Clear cache for this index since we're creating new instrument instrumentWrapperCache.remove(index) - newInstrument.toLua() + createInstrumentWrapper(music, newInstrument) } else { instrument } } - fun Instrument.toLua(): LuaValue { - val obj = WrapperLuaTable() - - obj.wrap( - "index", - { valueOf(this.index) }, - ) - obj.wrap("all") { - val luaTable = LuaTable() - getCurrentMusic().instruments.mapNotNull { it?.index }.forEach { - luaTable.insert(0, valueOf(it)) - } - luaTable - } - obj.wrap( - "name", - { this.name?.let { valueOf(it) } ?: NIL }, - { this.name = it.optjstring(null) }, - ) - obj.wrap( - "wave", - { valueOf(this.wave.name) }, - { - this.wave = it.checkjstring() - ?.let { Instrument.WaveType.valueOf(it) } - ?: Instrument.WaveType.SINE - }, - ) - obj.wrap( - "attack", - { valueOf(this.attack.toDouble()) }, - { this.attack = it.optdouble(0.0).toFloat() }, - ) - obj.wrap( - "decay", - { valueOf(this.decay.toDouble()) }, - { this.decay = it.optdouble(0.0).toFloat() }, - ) - obj.wrap( - "sustain", - { valueOf(this.sustain.toDouble()) }, - { this.sustain = it.optdouble(0.0).toFloat() }, - ) - obj.wrap( - "release", - { valueOf(this.release.toDouble()) }, - { this.release = it.optdouble(0.0).toFloat() }, - ) - obj.wrap("sweep") { - // FIXME: to be cached - val sweep = WrapperLuaTable() - sweep.wrap( - "active", - { - val value = this.modulations[0].active - valueOf(value) - }, - { - val newValue = it.optboolean(false) - this.modulations[0].active = newValue - }, - ) - sweep.wrap( - "acceleration", - { valueOf((this.modulations[0] as Sweep).acceleration.toDouble()) }, - { (this.modulations[0] as Sweep).acceleration = it.optdouble(0.0).toFloat() }, - ) - sweep.wrap( - "sweep", - { valueOf((this.modulations[0] as Sweep).sweep.toDouble()) }, - { (this.modulations[0] as Sweep).sweep = it.optdouble(0.0).toFloat() }, - ) - sweep - } - obj.wrap("vibrato") { - // FIXME: to be cached - val vibrato = WrapperLuaTable() - vibrato.wrap( - "active", - { - val value = this.modulations[1].active - valueOf(value) - }, - { - val newValue = it.optboolean(false) - this.modulations[1].active = newValue - }, - ) - vibrato.wrap( - "frequency", - { valueOf((this.modulations[1] as Vibrato).vibratoFrequency.toDouble()) }, - { (this.modulations[1] as Vibrato).vibratoFrequency = it.optdouble(0.0).toFloat() }, - ) - vibrato.wrap( - "depth", - { valueOf((this.modulations[1] as Vibrato).depth.toDouble()) }, - { (this.modulations[1] as Vibrato).depth = it.optdouble(0.0).toFloat() }, - ) - vibrato - } - - obj.function1("noteOn") { noteName -> - val note = Note.fromName(noteName.tojstring()) - soundBoard.noteOn(note, this) - NONE - } - - obj.function1("noteOff") { noteName -> - val note = Note.fromName(noteName.tojstring()) - soundBoard.noteOff(note) - NONE - } - - obj.wrap("harmonics") { - WrapperLuaTable().apply { - (0 until this@toLua.harmonics.size).forEach { index -> - wrap( - "${index + 1}", - { valueOf(this@toLua.harmonics[index].toDouble()) }, - { this@toLua.harmonics[index] = it.tofloat() }, - ) - } - } - } - - // Cache the wrapper before returning - instrumentWrapperCache[index] = obj - return obj + private fun createInstrumentWrapper( + music: Music, + instrument: Instrument, + ): InstrumentLuaWrapper { + return InstrumentLuaWrapper(music, instrument, soundBoard) } } @TinyFunction("Access sfx using its index or its name.") - inner class bar : OneArgFunction() { + inner class sfx : OneArgFunction() { @TinyCall("Access sfx using its index or its name.") override fun call(arg: LuaValue): LuaValue { - val music = getCurrentMusic() + val sound = resourceAccess.findSound(0) ?: return NIL + val index = arg.checkint() - return music.musicalBars + return sound.data.music.musicalBars .getOrNull(index) - ?.toLua(music) ?: NIL - } - - fun MusicalBar.toLua(music: Music): LuaValue { - val obj = WrapperLuaTable() - - obj.wrap( - "index", - { valueOf(this.index) }, - ) - - obj.wrap( - "all", - { - val luaTable = LuaTable() - getCurrentMusic().musicalBars.map { it.index }.forEach { - luaTable.insert(0, valueOf(it)) - } - luaTable - }, - ) - - obj.wrap( - "bpm", - { valueOf(this.tempo) }, - { this.tempo = it.checkint() }, - ) - - obj.function1("set_volume") { arg -> - val beat = arg["beat"].todouble().toFloat() - val volume = arg["volume"].todouble().toFloat() - - this.setVolume(beat, volume) - - NONE - } - - obj.function1("set_note") { arg -> - val beat = arg["beat"].todouble().toFloat() - val note = Note.fromName(arg["note"].tojstring()) - val duration = arg["duration"].todouble().toFloat() - val uniqueOnBeat = arg["unique"].optboolean(false) - - this.setNote(note, beat, duration, uniqueOnBeat) - - NONE - } - - obj.function1("remove_note") { arg -> - val beat = arg["beat"].todouble().toFloat() - val note = Note.fromName(arg["note"].tojstring()) - - this.removeNote(note, beat) - - NONE - } - - obj.function1("note_data") { arg -> - val note = Note.fromName(arg.tojstring()) - - LuaTable().apply { - this.set("note", valueOf(note.name)) - this.set("notei", valueOf(note.index)) - this.set("octave", valueOf(note.octave)) - } - } - - obj.wrap("notes") { - val result = LuaTable() - this.beats.sortedBy { it.beat } - .map { - LuaTable().apply { - this.set("note", it.note?.name?.let { valueOf(it) } ?: NIL) - this.set("notei", it.note?.index?.let { valueOf(it) } ?: NIL) - this.set("octave", it.note?.octave?.let { valueOf(it) } ?: NIL) - this.set("volume", valueOf(it.volume.toDouble())) - this.set("beat", valueOf(it.beat.toDouble())) - this.set("duration", valueOf(it.duration.toDouble())) - } - }.forEachIndexed { index, value -> - result.insert(index + 1, value) - } - result - } - - obj.function0("play") { - val handler = soundBoard.prepare(this).also { it.play() } - val result = WrapperLuaTable() - result.function0("stop") { - handler.stop() - NONE - } - result - } - - obj.function1("set_instrument") { arg -> - if (arg.isnil()) { - this.instrument?.let { valueOf(it.index) } ?: NIL - } else { - // Set the instrument for the bar. - val index = arg.asInstrumentIndex(music) ?: return@function1 NIL - val instrument = music.instruments.getOrNull(index) ?: return@function1 NIL - this.instrument = instrument - this.instrumentIndex = instrument.index - NONE - } - } - obj.wrap("instrument") { - this.instrument?.index?.let { valueOf(it) } ?: NIL - } - - obj.function0("save") { - val sound = resourceAccess.findSound(0) ?: return@function0 NIL - val currentMusic = getCurrentMusic() - val data = Music.serialize(currentMusic) - - platform.saveIntoGameDirectory( - sound.name, - data, - ) - NONE - } - - obj.function0("export") { - val sound = soundBoard.convert(this) - platform.saveWave(sound) - NONE - } - - return obj - } - } - - @TinyFunction( - "Play the bar by it's index of the current sound. " + - "The index of a bar of the current music.", - ) - inner class play : OneArgFunction() { - @TinyCall("Play the sound at the index 0.") - override fun call(): LuaValue = super.call() - - @TinyCall("Play the sound by it's index.") - override fun call( - @TinyArg("sound", type = LuaType.NUMBER) arg: LuaValue, - ): LuaValue { - val bars = getCurrentMusic().musicalBars - if (bars.isEmpty()) return NIL - - val index = if (arg.isnumber()) { - arg.checkint().coerceIn(0, bars.size - 1) - } else { - 0 - } - - if (playSound) { - // FIXME: - TODO("K") - /* - val soundData = resourceAccess.sound(currentSound)?.data - val sfx = soundData?.musicalBars?.getOrNull(index) ?: return NIL - - val handler = soundData.soundManager.createSoundHandler(sfx, sfx.size.toLong()) - handlers[SoundKey(currentSound, index)] = handler - handler.play() - - return NONE - - */ - } else { - return NIL - } - } - } - - @TinyFunction( - "Loop the bar by it's index of the current sound. " + - "The index of a bar of the current music.", - ) - inner class loop : OneArgFunction() { - @TinyCall("Loop the sound at the index 0.") - override fun call(): LuaValue = super.call() - - @TinyCall("Loop the sound by it's index.") - override fun call( - @TinyArg("sound", type = LuaType.NUMBER) arg: LuaValue, - ): LuaValue { - val bars = getCurrentMusic().musicalBars - if (bars.isEmpty()) return NIL - - val index = if (arg.isnumber()) { - arg.checkint().coerceIn(0, bars.size - 1) - } else { - 0 - } - - if (playSound) { - // FIXME: - TODO("L") - /* - val soundData = resourceAccess.sound(currentSound)?.data - val sfx = soundData?.musicalBars?.getOrNull(index) ?: return NIL - - val handler = soundData.soundManager.createSoundHandler(sfx, sfx.size.toLong()) - handlers[SoundKey(currentSound, index)] = handler - handler.loop() - - return NONE - - */ - } else { - return NIL - } - } - } - - @TinyFunction( - "Stop the bar by it's index of the current sound. " + - "The index of a bar of the current music.", - ) - inner class stop : OneArgFunction() { - @TinyCall("Stop the sound at the index 0.") - override fun call(): LuaValue = super.call() - - @TinyCall("Stop the sound by it's index.") - override fun call( - @TinyArg("sound", type = LuaType.NUMBER) arg: LuaValue, - ): LuaValue { - val bars = getCurrentMusic().musicalBars - if (bars.isEmpty()) return NIL - - val index = if (arg.isnumber()) { - arg.checkint().coerceIn(0, bars.size - 1) - } else { - 0 - } - - handlers[SoundKey(currentSound, index)]?.stop() ?: return NIL - return NONE - } - } - - @TinyFunction( - "Play the sequence by it's index of the current sound. " + - "The index of a sequence of the current music.", - ) - inner class mplay : OneArgFunction() { - @TinyCall("Play the sequence at the index 0.") - override fun call(): LuaValue = super.call() - - @TinyCall("Play the sequence by it's index.") - override fun call( - @TinyArg("sequence") arg: LuaValue, - ): LuaValue { - val sequences = getCurrentMusic().sequences - if (sequences.isEmpty()) return NIL - - val index = if (arg.isnumber()) { - arg.checkint().coerceIn(0, sequences.size - 1) - } else { - 0 - } - - if (playSound) { - // FIXME: - TODO("M") - /* - val soundData = resourceAccess.sound(currentSound)?.data - val sfx = soundData?.musicalSequences?.getOrNull(index) ?: return NIL - - val handler = soundData.soundManager.createSoundHandler(sfx, sfx.size.toLong()) - sequenceHandlers[SequenceKey(currentSound, index)] = handler - handler.play() - - return NONE - - */ - } else { - return NIL - } - } - } - - @TinyFunction( - "Loop the sequence by it's index of the current sound. " + - "The index of a sequence of the current music.", - ) - inner class mloop : OneArgFunction() { - @TinyCall("Loop the sequence at the index 0.") - override fun call(): LuaValue = super.call() - - @TinyCall("Loop the sequence by it's index.") - override fun call( - @TinyArg("sequence") arg: LuaValue, - ): LuaValue { - val sequences = getCurrentMusic().sequences - if (sequences.isEmpty()) return NIL - - val index = if (arg.isnumber()) { - arg.checkint().coerceIn(0, sequences.size - 1) - } else { - 0 - } - - if (playSound) { - // FIXME: - TODO("N") - /* - val soundData = resourceAccess.sound(currentSound)?.data - val sfx = soundData?.musicalSequences?.getOrNull(index) ?: return NIL - - val handler = soundData.soundManager.createSoundHandler(sfx, sfx.size.toLong()) - sequenceHandlers[SequenceKey(currentSound, index)] = handler - handler.loop() - - return NONE - - */ - } else { - return NIL - } - } - } - - @TinyFunction( - "Stop the sequence by it's index of the current sound. " + - "The index of a sequence of the current music.", - ) - inner class mstop : OneArgFunction() { - @TinyCall("Stop the sequence at the index 0.") - override fun call(): LuaValue = super.call() - - @TinyCall("Stop the sequence by it's index.") - override fun call( - @TinyArg("sequence") arg: LuaValue, - ): LuaValue { - val sequences = getCurrentMusic().sequences - if (sequences.isEmpty()) return NIL - - val index = if (arg.isnumber()) { - arg.checkint().coerceIn(0, sequences.size - 1) - } else { - 0 - } - - sequenceHandlers[SequenceKey(currentSound, index)]?.stop() ?: return NIL - return NONE + ?.let { SfxLuaWrapper(sound, it, soundBoard, platform) } ?: NIL } } @@ -885,8 +137,4 @@ class SfxLib( ?.index } } - - private fun LuaValue.asTrackIndex(music: Music): Int { - return this.checkint() % music.sequences[currentSequence].tracks.size - } } diff --git a/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/lua/SoundLib.kt b/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/lua/SoundLib.kt new file mode 100644 index 00000000..65e0cd74 --- /dev/null +++ b/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/lua/SoundLib.kt @@ -0,0 +1,181 @@ +package com.github.minigdx.tiny.lua + +import com.github.mingdx.tiny.doc.LuaType +import com.github.mingdx.tiny.doc.TinyArg +import com.github.mingdx.tiny.doc.TinyCall +import com.github.mingdx.tiny.doc.TinyFunction +import com.github.mingdx.tiny.doc.TinyLib +import com.github.minigdx.tiny.engine.GameResourceAccess +import com.github.minigdx.tiny.sound.Instrument +import com.github.minigdx.tiny.sound.MusicalBar +import com.github.minigdx.tiny.sound.MusicalSequence +import com.github.minigdx.tiny.sound.VirtualSoundBoard +import org.luaj.vm2.LuaTable +import org.luaj.vm2.LuaValue +import org.luaj.vm2.lib.TwoArgFunction + +@TinyLib( + "sfx", + """Sound API to play/loop/stop a sound. +A sound can be created using the sound editor, using the command line `tiny-cli sfx `. + +WARNING: Because of browser behaviour, a sound can *only* be played only after the first +user interaction. + +Avoid to start a music or a sound at the beginning of the game. +Before it, force the player to hit a key or click by adding an interactive menu +or by starting the sound as soon as the player is moving. +""", +) +class SoundLib( + private val resourceAccess: GameResourceAccess, + private val soundBoard: VirtualSoundBoard, + // When validating the script, don't play sound + private val playSound: Boolean = true, +) : TwoArgFunction() { + override fun call( + arg1: LuaValue, + arg2: LuaValue, + ): LuaValue { + val ctrl = LuaTable() + + ctrl.set("sfx", sfx()) + ctrl.set("music", music()) + ctrl.set("note", note()) + + arg2.set("sound", ctrl) + arg2.get("package").get("loaded").set("sound", ctrl) + return ctrl + } + + @TinyFunction("Play a sfx.") + inner class sfx() : TwoArgFunction() { + @TinyCall("Play a sfx at sfx_index. The sfx can be looped.") + override fun call( + @TinyArg("sfx_index", type = LuaType.NUMBER) + arg1: LuaValue, + @TinyArg("loop", type = LuaType.BOOLEAN) + arg2: LuaValue, + ): LuaValue { + val loop = arg2.optboolean(false) + val sfx = getSfx(arg1.checkint()) + + val result = WrapperLuaTable() + if (playSound && sfx != null) { + val handler = soundBoard.prepare(sfx) + + result.function0("stop") { + handler.stop() + NONE + } + + if (loop) { + handler.loop() + } else { + handler.play() + } + } else { + result.function0("stop") { + NONE + } + } + return result + } + } + + @TinyFunction("Play a music") + inner class music() : TwoArgFunction() { + @TinyCall("Play the music at the index music_index. The music can be looped.") + override fun call( + @TinyArg("music_index", type = LuaType.NUMBER) + arg1: LuaValue, + @TinyArg("loop", type = LuaType.BOOLEAN) + arg2: LuaValue, + ): LuaValue { + val loop = arg2.optboolean(false) + val music = getMusic(arg1.checkint()) + val result = WrapperLuaTable() + if (playSound && music != null) { + val handler = soundBoard.prepare(music) + result.function0("stop") { + handler.stop() + NONE + } + + if (loop) { + handler.loop() + } else { + handler.play() + } + } else { + result.function0("stop") { + NONE + } + } + + return result + } + } + + @TinyFunction("Play a note by an instrument until it's stopped.") + inner class note() : TwoArgFunction() { + @TinyCall("Play the note note_name using the instrument at instrument_index") + override fun call( + @TinyArg("note_name", type = LuaType.STRING) + arg1: LuaValue, + @TinyArg("instrument_index", type = LuaType.NUMBER) + arg2: LuaValue, + ): LuaValue { + val note = Note.fromName(arg1.checkjstring()!!) + val instrumentIndex = arg2.optint(0) + val result = WrapperLuaTable() + result.function0("stop") { + soundBoard.noteOff(note) + NONE + } + val instrument = getInstrument(instrumentIndex) + if (playSound && instrument != null) { + soundBoard.noteOn(note, instrument) + } + return result + } + } + + private fun getInstrument(index: Int): Instrument? { + val instruments = resourceAccess.findSound(0) + ?.data + ?.music + ?.instruments ?: return null + return if (index in 0 until instruments.size) { + instruments[index] + } else { + null + } + } + + private fun getSfx(index: Int): MusicalBar? { + val sfx = resourceAccess.findSound(0) + ?.data + ?.music + ?.musicalBars ?: return null + + return if (index in 0 until sfx.size) { + sfx[index] + } else { + null + } + } + + private fun getMusic(index: Int): MusicalSequence? { + val music = resourceAccess.findSound(0) + ?.data + ?.music + ?.sequences ?: return null + + return if (index in 0 until music.size) { + music[index] + } else { + null + } + } +} diff --git a/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/lua/WrapperLuaTable.kt b/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/lua/WrapperLuaTable.kt index aa912694..d1245033 100644 --- a/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/lua/WrapperLuaTable.kt +++ b/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/lua/WrapperLuaTable.kt @@ -13,7 +13,7 @@ typealias Setter = (LuaValue) -> Unit /** * LuaTable that give convenient methods to "wrap" a Kotlin object */ -class WrapperLuaTable : LuaTable() { +open class WrapperLuaTable : LuaTable() { private val getters: MutableMap = mutableMapOf() private val setters: MutableMap = mutableMapOf() diff --git a/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/lua/sfx/InstrumentLuaWrapper.kt b/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/lua/sfx/InstrumentLuaWrapper.kt new file mode 100644 index 00000000..3aa5d976 --- /dev/null +++ b/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/lua/sfx/InstrumentLuaWrapper.kt @@ -0,0 +1,147 @@ +package com.github.minigdx.tiny.lua.sfx + +import com.github.minigdx.tiny.lua.Note +import com.github.minigdx.tiny.lua.WrapperLuaTable +import com.github.minigdx.tiny.sound.Instrument +import com.github.minigdx.tiny.sound.Music +import com.github.minigdx.tiny.sound.Sweep +import com.github.minigdx.tiny.sound.Vibrato +import com.github.minigdx.tiny.sound.VirtualSoundBoard +import org.luaj.vm2.LuaTable + +class InstrumentLuaWrapper( + private val music: Music, + private val instrument: Instrument, + private val soundBoard: VirtualSoundBoard, +) : WrapperLuaTable() { + init { + wrap( + "index", + { valueOf(instrument.index) }, + ) + + wrap("all") { + val luaTable = LuaTable() + music.instruments.mapNotNull { it?.index }.forEach { + luaTable.insert(0, valueOf(it)) + } + luaTable + } + + wrap( + "name", + { instrument.name?.let { valueOf(it) } ?: NIL }, + { instrument.name = it.optjstring(null) }, + ) + + wrap( + "wave", + { valueOf(instrument.wave.name) }, + { + instrument.wave = it.checkjstring() + ?.let { Instrument.WaveType.valueOf(it) } + ?: Instrument.WaveType.SINE + }, + ) + + wrap( + "attack", + { valueOf(instrument.attack.toDouble()) }, + { instrument.attack = it.optdouble(0.0).toFloat() }, + ) + + wrap( + "decay", + { valueOf(instrument.decay.toDouble()) }, + { instrument.decay = it.optdouble(0.0).toFloat() }, + ) + + wrap( + "sustain", + { valueOf(instrument.sustain.toDouble()) }, + { instrument.sustain = it.optdouble(0.0).toFloat() }, + ) + + wrap( + "release", + { valueOf(instrument.release.toDouble()) }, + { instrument.release = it.optdouble(0.0).toFloat() }, + ) + + wrap("sweep") { + val sweep = WrapperLuaTable() + sweep.wrap( + "active", + { + val value = instrument.modulations[0].active + valueOf(value) + }, + { + val newValue = it.optboolean(false) + instrument.modulations[0].active = newValue + }, + ) + sweep.wrap( + "acceleration", + { valueOf((instrument.modulations[0] as Sweep).acceleration.toDouble()) }, + { (instrument.modulations[0] as Sweep).acceleration = it.optdouble(0.0).toFloat() }, + ) + sweep.wrap( + "sweep", + { valueOf((instrument.modulations[0] as Sweep).sweep.toDouble()) }, + { (instrument.modulations[0] as Sweep).sweep = it.optdouble(0.0).toFloat() }, + ) + sweep + } + + wrap("vibrato") { + val vibrato = WrapperLuaTable() + vibrato.wrap( + "active", + { + val value = instrument.modulations[1].active + valueOf(value) + }, + { + val newValue = it.optboolean(false) + instrument.modulations[1].active = newValue + }, + ) + vibrato.wrap( + "frequency", + { valueOf((instrument.modulations[1] as Vibrato).vibratoFrequency.toDouble()) }, + { (instrument.modulations[1] as Vibrato).vibratoFrequency = it.optdouble(0.0).toFloat() }, + ) + vibrato.wrap( + "depth", + { valueOf((instrument.modulations[1] as Vibrato).depth.toDouble()) }, + { (instrument.modulations[1] as Vibrato).depth = it.optdouble(0.0).toFloat() }, + ) + vibrato + } + + function1("note_on") { noteName -> + val note = Note.fromName(noteName.tojstring()) + soundBoard.noteOn(note, instrument) + NONE + } + + function1("note_off") { noteName -> + val note = Note.fromName(noteName.tojstring()) + soundBoard.noteOff(note) + NONE + } + + wrap("harmonics") { + WrapperLuaTable().apply { + (0 until instrument.harmonics.size).forEach { index -> + wrap( + "${index + 1}", + { valueOf(instrument.harmonics[index].toDouble()) }, + { instrument.harmonics[index] = it.tofloat() }, + ) + } + } + } + } +} diff --git a/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/lua/sfx/SfxLuaWrapper.kt b/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/lua/sfx/SfxLuaWrapper.kt new file mode 100644 index 00000000..e736d60d --- /dev/null +++ b/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/lua/sfx/SfxLuaWrapper.kt @@ -0,0 +1,129 @@ +package com.github.minigdx.tiny.lua.sfx + +import com.github.minigdx.tiny.lua.Note +import com.github.minigdx.tiny.lua.WrapperLuaTable +import com.github.minigdx.tiny.platform.Platform +import com.github.minigdx.tiny.resources.Sound +import com.github.minigdx.tiny.sound.MusicalBar +import com.github.minigdx.tiny.sound.VirtualSoundBoard +import org.luaj.vm2.LuaTable + +class SfxLuaWrapper( + private val origin: Sound, + private val sfx: MusicalBar, + private val soundBoard: VirtualSoundBoard, + private val platform: Platform, +) : WrapperLuaTable() { + init { + wrap( + "index", + { valueOf(sfx.index) }, + ) + + wrap( + "all", + { + val luaTable = LuaTable() + origin.data.music.musicalBars.map { it.index }.forEach { + luaTable.insert(0, valueOf(it)) + } + luaTable + }, + ) + + wrap( + "bpm", + { valueOf(sfx.tempo) }, + { sfx.tempo = it.checkint() }, + ) + + function1("set_volume") { arg -> + val beat = arg["beat"].todouble().toFloat() + val volume = arg["volume"].todouble().toFloat() + + sfx.setVolume(beat, volume) + + NONE + } + + function1("set_note") { arg -> + val beat = arg["beat"].todouble().toFloat() + val note = Note.Companion.fromName(arg["note"].tojstring()) + val duration = arg["duration"].todouble().toFloat() + val uniqueOnBeat = arg["unique"].optboolean(false) + + sfx.setNote(note, beat, duration, uniqueOnBeat) + + NONE + } + + function1("remove_note") { arg -> + val beat = arg["beat"].todouble().toFloat() + val note = Note.Companion.fromName(arg["note"].tojstring()) + + sfx.removeNote(note, beat) + + NONE + } + + function1("note_data") { arg -> + val note = Note.Companion.fromName(arg.tojstring()) + + LuaTable().apply { + this.set("note", valueOf(note.name)) + this.set("notei", valueOf(note.index)) + this.set("octave", valueOf(note.octave)) + } + } + + wrap("notes") { + val result = LuaTable() + sfx.beats.sortedBy { it.beat } + .map { + LuaTable().apply { + this.set("note", it.note?.name?.let { valueOf(it) } ?: NIL) + this.set("notei", it.note?.index?.let { valueOf(it) } ?: NIL) + this.set("octave", it.note?.octave?.let { valueOf(it) } ?: NIL) + this.set("volume", valueOf(it.volume.toDouble())) + this.set("beat", valueOf(it.beat.toDouble())) + this.set("duration", valueOf(it.duration.toDouble())) + } + }.forEachIndexed { index, value -> + result.insert(index + 1, value) + } + result + } + + function0("play") { + val handler = soundBoard.prepare(sfx).also { it.play() } + val result = WrapperLuaTable() + result.function0("stop") { + handler.stop() + NONE + } + result + } + + function1("set_instrument") { arg -> + if (arg.isnil()) { + sfx.instrument?.let { valueOf(it.index) } ?: NIL + } else { + val index = arg.checkint() + val instrument = origin.data.music.instruments.getOrNull(index) ?: return@function1 NIL + sfx.instrument = instrument + sfx.instrumentIndex = instrument.index + NONE + } + } + + wrap("instrument") { + sfx.instrument?.index?.let { valueOf(it) } ?: NIL + } + + function0("export") { + val sound = soundBoard.convert(sfx) + platform.saveWave(sound) + NONE + } + } +} diff --git a/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/resources/GameScript.kt b/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/resources/GameScript.kt index 52bf7c88..48c02b1c 100644 --- a/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/resources/GameScript.kt +++ b/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/resources/GameScript.kt @@ -16,6 +16,7 @@ import com.github.minigdx.tiny.lua.MathLib import com.github.minigdx.tiny.lua.NotesLib import com.github.minigdx.tiny.lua.SfxLib import com.github.minigdx.tiny.lua.ShapeLib +import com.github.minigdx.tiny.lua.SoundLib import com.github.minigdx.tiny.lua.SprLib import com.github.minigdx.tiny.lua.StdLib import com.github.minigdx.tiny.lua.TinyBaseLib @@ -95,6 +96,7 @@ class GameScript( load(GfxLib(resourceAccess, gameOptions, virtualFrameBuffer)) load(CtrlLib(inputHandler, sprLib)) load(SfxLib(resourceAccess, virtualSoundBoard, platform, playSound = !forValidation)) + load(SoundLib(resourceAccess, virtualSoundBoard, playSound = !forValidation)) load(ShapeLib(gameOptions, virtualFrameBuffer)) load(DebugLib(logger)) load(KeysLib()) From 6ff28cc90cfabeeaa72fa2729d9c9b86b706113b Mon Sep 17 00:00:00 2001 From: David Wursteisen Date: Wed, 5 Nov 2025 15:03:51 +0100 Subject: [PATCH 09/17] Files cleanup --- .gitignore | 2 ++ tiny-cli/src/main/resources/sfx/data/sfx-0.sfx | 7 ------- tiny-cli/src/main/resources/sfx/data/sfx-1.sfx | 7 ------- 3 files changed, 2 insertions(+), 14 deletions(-) delete mode 100644 tiny-cli/src/main/resources/sfx/data/sfx-0.sfx delete mode 100644 tiny-cli/src/main/resources/sfx/data/sfx-1.sfx diff --git a/.gitignore b/.gitignore index c58a4831..f7e0920f 100644 --- a/.gitignore +++ b/.gitignore @@ -42,3 +42,5 @@ bin/ ### Mac OS ### .DS_Store /tiny-doc/src/docs/asciidoc/dependencies/ + +.kotlin \ No newline at end of file diff --git a/tiny-cli/src/main/resources/sfx/data/sfx-0.sfx b/tiny-cli/src/main/resources/sfx/data/sfx-0.sfx deleted file mode 100644 index 48af0765..00000000 --- a/tiny-cli/src/main/resources/sfx/data/sfx-0.sfx +++ /dev/null @@ -1,7 +0,0 @@ -tiny-sfx 120 127 -1 01 19 00 FF 19 00 00 00 00 00 -010EFF 0110FF 0115FF 011DFF 0124FF 012AFF 0131FF 0139FF 0134FF 013BFF 0139FF 0134FF 012EFF 012EFF 0136FF 000100 -1 -0 01 19 00 FF 19 00 00 00 00 00 -0 01 19 00 FF 19 00 00 00 00 00 -0 01 19 00 FF 19 00 00 00 00 00 \ No newline at end of file diff --git a/tiny-cli/src/main/resources/sfx/data/sfx-1.sfx b/tiny-cli/src/main/resources/sfx/data/sfx-1.sfx deleted file mode 100644 index 145c5506..00000000 --- a/tiny-cli/src/main/resources/sfx/data/sfx-1.sfx +++ /dev/null @@ -1,7 +0,0 @@ -tiny-sfx 120 127 -1 01 19 00 FF 19 00 00 00 00 00 -01383F 014074 014394 0145AA 0145AA 013E9F 01368A 01246A 012A55 011B4A 01185F 01158A 0115AA 0116FF 011BFF 0127FF -1 -0 01 19 00 FF 19 00 00 00 00 00 -0 01 19 00 FF 19 00 00 00 00 00 -0 01 19 00 FF 19 00 00 00 00 00 \ No newline at end of file From d1bbd38b376a6dc7ca646894f812ba2f203fdd96 Mon Sep 17 00:00:00 2001 From: David Wursteisen Date: Wed, 5 Nov 2025 22:30:06 +0100 Subject: [PATCH 10/17] Add an example for sound lib and use one sound max per game. A sound can include multiple instruments, sfx or musics --- .../minigdx/tiny/cli/command/ExportCommand.kt | 15 ++---- .../tiny/cli/command/ResourcesCommand.kt | 6 +-- .../minigdx/tiny/cli/command/SfxCommand.kt | 40 ++++++++------- .../minigdx/tiny/cli/command/UpdateCommand.kt | 3 +- .../minigdx/tiny/cli/config/GameParameters.kt | 43 ++++++---------- .../github/minigdx/tiny/engine/GameOptions.kt | 2 +- .../tiny/engine/GameResourceProcessor.kt | 13 +++-- .../com/github/minigdx/tiny/lua/SoundLib.kt | 4 +- .../minigdx/tiny/lua/SoundLibExamples.kt | 51 +++++++++++++++++++ .../minigdx/tiny/lua/Vec2LibExamples.kt | 10 ++-- .../github/minigdx/tiny/platform/ImageData.kt | 12 +++++ .../github/minigdx/tiny/platform/Platform.kt | 22 -------- .../github/minigdx/tiny/platform/SoundData.kt | 22 ++++++++ .../kotlin/com/github/minigdx/tiny/Main.kt | 2 +- 14 files changed, 147 insertions(+), 98 deletions(-) create mode 100644 tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/lua/SoundLibExamples.kt create mode 100644 tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/platform/ImageData.kt create mode 100644 tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/platform/SoundData.kt diff --git a/tiny-cli/src/main/kotlin/com/github/minigdx/tiny/cli/command/ExportCommand.kt b/tiny-cli/src/main/kotlin/com/github/minigdx/tiny/cli/command/ExportCommand.kt index 0e266b62..b132b41f 100644 --- a/tiny-cli/src/main/kotlin/com/github/minigdx/tiny/cli/command/ExportCommand.kt +++ b/tiny-cli/src/main/kotlin/com/github/minigdx/tiny/cli/command/ExportCommand.kt @@ -495,15 +495,6 @@ class GameExporter { when (gameParameters) { is GameParametersV1 -> { - (gameParameters.scripts + gameParameters.libraries.map { "$it.lua" }) - .filterNot { exportedFile.contains(it) } - .forEach { name -> - exportedGame.putNextEntry(ZipEntry(name)) - exportedGame.write(gameDirectory.resolve(name).readBytes()) - exportedGame.closeEntry() - - exportedFile += name - } gameParameters.spritesheets .filterNot { exportedFile.contains(it) } .forEach { name -> @@ -513,7 +504,7 @@ class GameExporter { exportedFile += name } - gameParameters.sounds + listOfNotNull(gameParameters.sound) .filterNot { exportedFile.contains(it) } .forEach { name -> exportedGame.putNextEntry(ZipEntry(name)) @@ -560,7 +551,7 @@ class GameExporter { template = replaceList( template, - (gameParameters.scripts + gameParameters.libraries.map { "$it.lua" }), + gameParameters.scripts, "{GAME_SCRIPT}", "GAME_SCRIPT", ) @@ -571,7 +562,7 @@ class GameExporter { "GAME_SPRITESHEET", ) template = replaceList(template, gameParameters.levels, "{GAME_LEVEL}", "GAME_LEVEL") - template = replaceList(template, gameParameters.sounds, "{GAME_SOUND}", "GAME_SOUND") + template = replaceList(template, listOfNotNull(gameParameters.sound), "{GAME_SOUND}", "GAME_SOUND") template = template.replace("{GAME_COLORS}", gameParameters.colors.joinToString(",")) diff --git a/tiny-cli/src/main/kotlin/com/github/minigdx/tiny/cli/command/ResourcesCommand.kt b/tiny-cli/src/main/kotlin/com/github/minigdx/tiny/cli/command/ResourcesCommand.kt index 87f449c1..2afa59fe 100644 --- a/tiny-cli/src/main/kotlin/com/github/minigdx/tiny/cli/command/ResourcesCommand.kt +++ b/tiny-cli/src/main/kotlin/com/github/minigdx/tiny/cli/command/ResourcesCommand.kt @@ -119,9 +119,9 @@ class ResourcesCommand : CliktCommand(name = "resources") { parameters.copy(levels = updatedLevels) } "\uD83D\uDD08 sounds" -> { - val updatedSounds = parameters.sounds.toMutableList() + val updatedSounds = listOfNotNull(parameters.sound).toMutableList() updatedSounds.removeAt(indexInCategory) - parameters.copy(sounds = updatedSounds) + parameters.copy(sound = updatedSounds.firstOrNull()) } else -> throw IllegalStateException("Unknown category: $categoryName") } @@ -178,7 +178,7 @@ class ResourcesCommand : CliktCommand(name = "resources") { "\uD83D\uDCDD scripts" to gameParameters.scripts, "\uD83D\uDDBC\uFE0F spritesheets" to gameParameters.spritesheets, "\uD83D\uDDFA\uFE0F levels" to gameParameters.levels, - "\uD83D\uDD08 sounds" to gameParameters.sounds, + "\uD83D\uDD08 sound" to listOfNotNull(gameParameters.sound), ).filter { it.second.isNotEmpty() } .toMap() } diff --git a/tiny-cli/src/main/kotlin/com/github/minigdx/tiny/cli/command/SfxCommand.kt b/tiny-cli/src/main/kotlin/com/github/minigdx/tiny/cli/command/SfxCommand.kt index bd9c8f95..7b33a22d 100644 --- a/tiny-cli/src/main/kotlin/com/github/minigdx/tiny/cli/command/SfxCommand.kt +++ b/tiny-cli/src/main/kotlin/com/github/minigdx/tiny/cli/command/SfxCommand.kt @@ -3,7 +3,7 @@ package com.github.minigdx.tiny.cli.command import com.github.ajalt.clikt.core.Abort import com.github.ajalt.clikt.core.CliktCommand import com.github.ajalt.clikt.core.Context -import com.github.ajalt.clikt.parameters.arguments.argument +import com.github.ajalt.clikt.parameters.options.option import com.github.ajalt.clikt.parameters.types.file import com.github.minigdx.tiny.cli.config.GameParameters import com.github.minigdx.tiny.engine.GameEngine @@ -19,7 +19,7 @@ import org.luaj.vm2.LuaError import java.io.File class SfxCommand : CliktCommand(name = "sfx") { - val filename by argument(help = "The sound file to create/edit").file( + val filename by option(help = "The sound file to create/edit").file( mustExist = false, canBeDir = false, canBeFile = true, @@ -53,30 +53,34 @@ class SfxCommand : CliktCommand(name = "sfx") { ) throw Abort() } - val commandParameters = GameParameters.JSON.decodeFromStream(configFile) - - if (!filename.exists()) { - val json = Json.encodeToString(Music()) - filename.writeBytes(json.encodeToByteArray()) - } + val commandParameters = GameParameters.read(configFile) val logger = StdOutLogger("tiny-cli") val vfs = CommonVirtualFileSystem() - val commandOptions = commandParameters.toGameOptions() - .copy(sounds = listOf(filename.name)) + val sfxFileName = filename val homeDirectory = findHomeDirectory(commandParameters) + val commandOptions = commandParameters.toGameOptions() + .copy(sound = sfxFileName?.name) + + val platform = GlfwPlatform( + commandOptions, + logger, + vfs, + File("."), + homeDirectory, + jarResourcePrefix = "/sfx", + ) + + if (sfxFileName?.exists() == false) { + val json = Json.encodeToString(Music()) + platform.saveIntoHome(sfxFileName.name, json) + } + val gameEngine = GameEngine( gameOptions = commandOptions, - platform = GlfwPlatform( - commandOptions, - logger, - vfs, - File("."), - homeDirectory, - jarResourcePrefix = "/sfx", - ), + platform = platform, vfs = vfs, logger = logger, ) diff --git a/tiny-cli/src/main/kotlin/com/github/minigdx/tiny/cli/command/UpdateCommand.kt b/tiny-cli/src/main/kotlin/com/github/minigdx/tiny/cli/command/UpdateCommand.kt index 35508a8c..b6e63314 100644 --- a/tiny-cli/src/main/kotlin/com/github/minigdx/tiny/cli/command/UpdateCommand.kt +++ b/tiny-cli/src/main/kotlin/com/github/minigdx/tiny/cli/command/UpdateCommand.kt @@ -69,8 +69,7 @@ class UpdateCommand : CliktCommand(name = "update") { editableParameters.add(EditableParameter("scripts", params.scripts.joinToString(", "), false)) editableParameters.add(EditableParameter("spritesheets", params.spritesheets.joinToString(", "), false)) editableParameters.add(EditableParameter("levels", params.levels.joinToString(", "), false)) - editableParameters.add(EditableParameter("sounds", params.sounds.joinToString(", "), false)) - editableParameters.add(EditableParameter("libraries", params.libraries.joinToString(", "), false)) + editableParameters.add(EditableParameter("sounds", listOfNotNull(params.sound).joinToString(", "), false)) editableParameters.add(EditableParameter("hideMouseCursor", if (params.hideMouseCursor) "Yes" else "No", true)) } diff --git a/tiny-cli/src/main/kotlin/com/github/minigdx/tiny/cli/config/GameParameters.kt b/tiny-cli/src/main/kotlin/com/github/minigdx/tiny/cli/config/GameParameters.kt index d692ce99..5faaf3b3 100644 --- a/tiny-cli/src/main/kotlin/com/github/minigdx/tiny/cli/config/GameParameters.kt +++ b/tiny-cli/src/main/kotlin/com/github/minigdx/tiny/cli/config/GameParameters.kt @@ -1,6 +1,8 @@ package com.github.minigdx.tiny.cli.config import com.github.minigdx.tiny.engine.GameOptions +import io.ktor.utils.io.core.Input +import kotlinx.serialization.ExperimentalSerializationApi import kotlinx.serialization.SerialName import kotlinx.serialization.Serializable import kotlinx.serialization.json.Json @@ -10,6 +12,7 @@ import kotlinx.serialization.json.encodeToStream import java.io.File import java.io.FileInputStream import java.io.FileOutputStream +import java.io.InputStream @Serializable @JsonClassDiscriminator("version") @@ -19,6 +22,7 @@ sealed class GameParameters { abstract fun toGameOptions(): GameOptions + @OptIn(ExperimentalSerializationApi::class) fun write(output: File) { FileOutputStream(output).use { JSON.encodeToStream(this, it) @@ -40,19 +44,18 @@ sealed class GameParameters { */ abstract fun getAllScripts(): List - /** - * Add library. - */ - abstract fun addLibrary(lib: String): GameParameters - companion object { - val JSON = - Json { + val JSON = Json { ignoreUnknownKeys = true } + @OptIn(ExperimentalSerializationApi::class) + fun read(inputStream: InputStream): GameParameters { + return JSON.decodeFromStream(inputStream) + } + fun read(file: File): GameParameters { - return JSON.decodeFromStream(FileInputStream(file)) + return read(FileInputStream(file)) } } } @@ -89,16 +92,9 @@ data class GameParametersV1( */ val levels: List = emptyList(), /** - * List of MIDI sounds. + * List of sounds. */ - val sounds: List = emptyList(), - /** - * Libraries configured. It will contain the name of the library and the version (optional). - * The file name still has to be computed from the name (ie: particules@commitHash -> particules.lua) - * - * The libraries will be added at the end of the scripts lists. - */ - val libraries: List = emptyList(), + val sound: String? = null, /** * Is the default mouse cursor should be hidden? * If true, the mouse cursor will not be displayed. @@ -116,7 +112,7 @@ data class GameParametersV1( spriteSheets = spritesheets, gameLevels = levels, zoom = zoom, - sounds = sounds, + sound = sound, hideMouseCursor = hideMouseCursor, ) } @@ -131,10 +127,7 @@ data class GameParametersV1( } } - return scripts + - libraries.map { lib -> - extractName(lib) + ".lua" - } + return scripts } override fun addLevel(level: String): GameParameters { @@ -150,11 +143,7 @@ data class GameParametersV1( } override fun addSound(sound: String): GameParameters { - return copy(sounds = sounds + sound) - } - - override fun addLibrary(lib: String): GameParameters { - return copy(libraries = libraries + lib) + return copy(sound = this@GameParametersV1.sound + sound) } override fun setPalette(colors: List): GameParameters { diff --git a/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/engine/GameOptions.kt b/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/engine/GameOptions.kt index b49dc7c1..ef6dd2c3 100644 --- a/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/engine/GameOptions.kt +++ b/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/engine/GameOptions.kt @@ -13,7 +13,7 @@ data class GameOptions( val gameScripts: List, val spriteSheets: List, val gameLevels: List = emptyList(), - val sounds: List = emptyList(), + val sound: String? = null, val zoom: Int = 2, val record: Seconds = 8f, val gutter: Pair = 10 to 10, diff --git a/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/engine/GameResourceProcessor.kt b/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/engine/GameResourceProcessor.kt index e2803c8d..020c53e0 100644 --- a/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/engine/GameResourceProcessor.kt +++ b/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/engine/GameResourceProcessor.kt @@ -3,6 +3,7 @@ package com.github.minigdx.tiny.engine import com.github.minigdx.tiny.log.Logger import com.github.minigdx.tiny.lua.toTinyException import com.github.minigdx.tiny.platform.Platform +import com.github.minigdx.tiny.platform.SoundData import com.github.minigdx.tiny.resources.GameLevel import com.github.minigdx.tiny.resources.GameResource import com.github.minigdx.tiny.resources.GameScript @@ -80,16 +81,18 @@ class GameResourceProcessor( } this.levels = Array(gameLevels.size) { null } - val sounds = gameOptions.sounds.mapIndexed { index, sound -> - resourceFactory.soundEffect(index, sound) + val sounds = gameOptions.sound?.let { sound -> + resourceFactory.soundEffect(0, sound) + } + this.sounds = Array(1) { + Sound(0, 0, "default-sound", SoundData.DEFAULT) } - this.sounds = Array(sounds.size) { null } resources = listOf( resourceFactory.bootscript("_boot.lua"), resourceFactory.enginescript("_engine.lua"), resourceFactory.bootSpritesheet("_boot.png"), - ) + gameScripts + spriteSheets + gameLevels + sounds + ) + gameScripts + spriteSheets + gameLevels + listOfNotNull(sounds) toBeLoaded.addAll( setOf("_boot.lua", "_engine.lua", "_boot.png"), @@ -97,7 +100,7 @@ class GameResourceProcessor( toBeLoaded.addAll(gameOptions.gameLevels) toBeLoaded.addAll(gameOptions.gameScripts) toBeLoaded.addAll(gameOptions.spriteSheets) - toBeLoaded.addAll(gameOptions.sounds) + gameOptions.sound?.let { toBeLoaded.add(it) } numberOfResources = resources.size logger.debug("GAME_ENGINE") { "Number of resources to load: $numberOfResources" } diff --git a/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/lua/SoundLib.kt b/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/lua/SoundLib.kt index 65e0cd74..cda3ab82 100644 --- a/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/lua/SoundLib.kt +++ b/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/lua/SoundLib.kt @@ -15,7 +15,7 @@ import org.luaj.vm2.LuaValue import org.luaj.vm2.lib.TwoArgFunction @TinyLib( - "sfx", + "sound", """Sound API to play/loop/stop a sound. A sound can be created using the sound editor, using the command line `tiny-cli sfx `. @@ -117,7 +117,7 @@ class SoundLib( } } - @TinyFunction("Play a note by an instrument until it's stopped.") + @TinyFunction("Play a note by an instrument until it's stopped", example = NOTE_EXAMPLE) inner class note() : TwoArgFunction() { @TinyCall("Play the note note_name using the instrument at instrument_index") override fun call( diff --git a/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/lua/SoundLibExamples.kt b/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/lua/SoundLibExamples.kt new file mode 100644 index 00000000..26bdc8cb --- /dev/null +++ b/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/lua/SoundLibExamples.kt @@ -0,0 +1,51 @@ +package com.github.minigdx.tiny.lua + +//language=Lua +const val NOTE_EXAMPLE = """ +function _init() + keys = { + {note="E4", x=57, y=100, w=16, h=50}, + {note="Fs4", x=75, y=100, w=16, h=50}, + {note="Gs4", x=93, y=100, w=16, h=50}, + {note="A4", x=111, y=100, w=16, h=50}, + {note="B4", x=129, y=100, w=16, h=50}, + {note="Cs5", x=147, y=100, w=16, h=50}, + {note="Ds5", x=165, y=100, w=16, h=50}, + {note="E5", x=183, y=100, w=16, h=50} + } + active_notes = {} +end + +function _update() + local touch = ctrl.touching(0) + + for i, key in ipairs(keys) do + if in_bounds(touch, key) then + active_notes[i] = active_notes[i] or sound.note(key.note, 1) + else + active_notes[i] = active_notes[i] and active_notes[i].stop() + end + end +end + +function _draw() + gfx.cls() + print("E MAJOR SCALE", 57, 84, 15) + print("Click keys to play", 57, 92, 14) + + for i, key in ipairs(keys) do + if active_notes[i] then + shape.rectf(key.x, key.y, key.w, key.h, 15) + else + shape.rect(key.x, key.y, key.w, key.h, 14) + end + end + local pos = ctrl.touch() + shape.circlef(pos.x, pos.y, 2, 2) +end + +function in_bounds(touch, key) + return touch and touch.x >= key.x and touch.x < key.x + key.w and + touch.y >= key.y and touch.y < key.y + key.h +end +""" \ No newline at end of file diff --git a/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/lua/Vec2LibExamples.kt b/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/lua/Vec2LibExamples.kt index b074d191..c56a0820 100644 --- a/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/lua/Vec2LibExamples.kt +++ b/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/lua/Vec2LibExamples.kt @@ -8,7 +8,7 @@ function _init() local v1 = vec2.create(32, 38) local v2 = vec2.create(20, 2) - gfx.cls() + gfx.cls(1) print("v1", 2, 15, 10) shape.line(0, 0, v1.x, v1.y, 10) print("v2", 23, 3, 9) @@ -31,7 +31,7 @@ function _init() local v1 = vec2.create(32, 38) local v2 = vec2.create(20, 2) - gfx.cls() + gfx.cls(1) print("v1", 18, 15, 10) shape.line(0, 0, v1.x, v1.y, 10) print("v2", 23, 3, 9) @@ -54,7 +54,7 @@ function _init() local v1 = vec2.create(32, 38) local v2 = vec2.scl(v1, 2) - gfx.cls() + gfx.cls(1) print("v1 scaled", 8, 60, 11) gfx.dither(0xAAAA) shape.line(0, 0, v2.x, v2.y, 11) @@ -83,7 +83,7 @@ function _update() local scl = vec2.scl(v1, dot) - gfx.cls() + gfx.cls(1) local scaledv1 = vec2.scl(v1, 64) local scaledv2 = vec2.scl(v2, 64) @@ -102,7 +102,7 @@ end //language=Lua const val VECTOR_NOR = """ function _update() - gfx.cls() + gfx.cls(1) local v0 = vec2.create(43, 64) local v1 = vec2.nor(v0) diff --git a/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/platform/ImageData.kt b/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/platform/ImageData.kt new file mode 100644 index 00000000..0051dbb7 --- /dev/null +++ b/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/platform/ImageData.kt @@ -0,0 +1,12 @@ +package com.github.minigdx.tiny.platform + +import com.github.minigdx.tiny.Pixel + +class ImageData( + // Array of byte of RGBA color + val data: ByteArray, + // Width of the Image + val width: Pixel, + // Height of the Image + val height: Pixel, +) diff --git a/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/platform/Platform.kt b/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/platform/Platform.kt index b71c9cf4..edc829a6 100644 --- a/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/platform/Platform.kt +++ b/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/platform/Platform.kt @@ -1,37 +1,15 @@ package com.github.minigdx.tiny.platform import com.danielgergely.kgl.Kgl -import com.github.minigdx.tiny.Pixel import com.github.minigdx.tiny.engine.GameLoop import com.github.minigdx.tiny.engine.GameOptions import com.github.minigdx.tiny.file.SourceStream import com.github.minigdx.tiny.input.InputHandler import com.github.minigdx.tiny.input.InputManager import com.github.minigdx.tiny.platform.performance.PerformanceMonitor -import com.github.minigdx.tiny.sound.Music import com.github.minigdx.tiny.sound.SoundManager import kotlinx.coroutines.CoroutineDispatcher -class ImageData( - // Array of byte of RGBA color - val data: ByteArray, - // Width of the Image - val width: Pixel, - // Height of the Image - val height: Pixel, -) - -class SoundData( - // Name of the file. - val name: String, - // Deserialized data of the file. - val music: Music, - // Ready to play musical bars. (sfx) - val musicalBars: List, - // Ready to play musical sequences (music) - val musicalSequences: List = emptyList(), -) - interface Platform { /** * Game Option from the game. diff --git a/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/platform/SoundData.kt b/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/platform/SoundData.kt new file mode 100644 index 00000000..2950935c --- /dev/null +++ b/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/platform/SoundData.kt @@ -0,0 +1,22 @@ +package com.github.minigdx.tiny.platform + +import com.github.minigdx.tiny.sound.Music + +class SoundData( + // Name of the file. + val name: String, + // Deserialized data of the file. + val music: Music, + // Ready to play musical bars. (sfx) + val musicalBars: List, + // Ready to play musical sequences (music) + val musicalSequences: List = emptyList(), +) { + companion object { + val DEFAULT = SoundData( + "default", + Music(), + emptyList(), + ) + } +} diff --git a/tiny-engine/src/jsMain/kotlin/com/github/minigdx/tiny/Main.kt b/tiny-engine/src/jsMain/kotlin/com/github/minigdx/tiny/Main.kt index dce23de6..6456000c 100644 --- a/tiny-engine/src/jsMain/kotlin/com/github/minigdx/tiny/Main.kt +++ b/tiny-engine/src/jsMain/kotlin/com/github/minigdx/tiny/Main.kt @@ -110,7 +110,7 @@ fun setupGames( gameScripts = scripts, spriteSheets = spritesheets, gameLevels = levels, - sounds = sounds, + sound = sounds.firstOrNull(), zoom = gameZoom, gutter = 0 to 0, spriteSize = sprWidth to sprHeight, From 089faad2924075ef1613c14634b4a40c45360e1c Mon Sep 17 00:00:00 2001 From: David Wursteisen Date: Wed, 5 Nov 2025 22:36:44 +0100 Subject: [PATCH 11/17] Order APIs by name in the documentation --- .../tiny/doc/TinyToAsciidocKspProcessor.kt | 94 ++++++++++--------- 1 file changed, 50 insertions(+), 44 deletions(-) diff --git a/tiny-annotation-processors/tiny-api-to-asciidoc-generator/src/jvmMain/kotlin/com/github/minigdx/tiny/doc/TinyToAsciidocKspProcessor.kt b/tiny-annotation-processors/tiny-api-to-asciidoc-generator/src/jvmMain/kotlin/com/github/minigdx/tiny/doc/TinyToAsciidocKspProcessor.kt index 0cf0fb27..7656edcd 100644 --- a/tiny-annotation-processors/tiny-api-to-asciidoc-generator/src/jvmMain/kotlin/com/github/minigdx/tiny/doc/TinyToAsciidocKspProcessor.kt +++ b/tiny-annotation-processors/tiny-api-to-asciidoc-generator/src/jvmMain/kotlin/com/github/minigdx/tiny/doc/TinyToAsciidocKspProcessor.kt @@ -44,62 +44,68 @@ class TinyToAsciidocKspProcessor( val result = asciidoc { title = "Tiny API" - libs.forEach { lib -> - section(lib.name.ifBlank { "std" }, lib.description) { - lib.variables.filterNot { it.hidden }.forEach { variable -> - val prefix = - if (lib.name.isBlank()) { - variable.name - } else { - "${lib.name}.${variable.name}" - } - lib(prefix) { - paragraph(variable.description) - example( - prefix, - """ + libs.sortedBy { it.name } + .forEach { lib -> + section(lib.name.ifBlank { "std" }, lib.description) { + lib.variables + .sortedBy { it.name } + .filterNot { it.hidden } + .forEach { variable -> + val prefix = + if (lib.name.isBlank()) { + variable.name + } else { + "${lib.name}.${variable.name}" + } + lib(prefix) { + paragraph(variable.description) + example( + prefix, + """ function _update() gfx.cls() print($prefix, 10, 10) -- ${variable.description} end """.trimIndent(), - ) - } - } - lib.functions.forEach { func -> - val prefix = - if (lib.name.isBlank()) { - func.name - } else { - "${lib.name}.${func.name}" - } - lib("$prefix()") { - paragraph(func.description) - - if (func.calls.isNotEmpty()) { - val result = func.calls.joinToString("\n") { call -> - "$prefix(${call.args.joinToString(", ") { it.name }}) -- ${call.description}" + ) } - code(result) } + lib.functions + .sortedBy { it.name } + .forEach { func -> + val prefix = + if (lib.name.isBlank()) { + func.name + } else { + "${lib.name}.${func.name}" + } + lib("$prefix()") { + paragraph(func.description) - val args = func.calls.flatMap { it.args } - .filter { it.description.isNotBlank() } - .sortedBy { it.name } + if (func.calls.isNotEmpty()) { + val result = func.calls.joinToString("\n") { call -> + "$prefix(${call.args.joinToString(", ") { it.name }}) -- ${call.description}" + } + code(result) + } - if (args.isNotEmpty()) { - tableArgs( - args.map { - it.name to it.description - }, - ) - } + val args = func.calls.flatMap { it.args } + .filter { it.description.isNotBlank() } + .sortedBy { it.name } + + if (args.isNotEmpty()) { + tableArgs( + args.map { + it.name to it.description + }, + ) + } - example(func.name, func.example, func.spritePath, func.levelPath) - } + example(func.name, func.example, func.spritePath, func.levelPath) + } + } } } - } }.generate() file.write(result.toByteArray()) From 174a7b7b4b4309f0f0ec5cc02379debd48250264 Mon Sep 17 00:00:00 2001 From: David Wursteisen Date: Wed, 5 Nov 2025 22:42:27 +0100 Subject: [PATCH 12/17] lintfix --- .../github/minigdx/tiny/doc/TinyToAsciidocKspProcessor.kt | 2 +- .../kotlin/com/github/minigdx/tiny/cli/command/SfxCommand.kt | 1 - .../com/github/minigdx/tiny/cli/config/GameParameters.kt | 5 ++--- .../kotlin/com/github/minigdx/tiny/lua/SoundLib.kt | 3 ++- .../kotlin/com/github/minigdx/tiny/lua/SoundLibExamples.kt | 2 +- 5 files changed, 6 insertions(+), 7 deletions(-) diff --git a/tiny-annotation-processors/tiny-api-to-asciidoc-generator/src/jvmMain/kotlin/com/github/minigdx/tiny/doc/TinyToAsciidocKspProcessor.kt b/tiny-annotation-processors/tiny-api-to-asciidoc-generator/src/jvmMain/kotlin/com/github/minigdx/tiny/doc/TinyToAsciidocKspProcessor.kt index 7656edcd..ec17c41b 100644 --- a/tiny-annotation-processors/tiny-api-to-asciidoc-generator/src/jvmMain/kotlin/com/github/minigdx/tiny/doc/TinyToAsciidocKspProcessor.kt +++ b/tiny-annotation-processors/tiny-api-to-asciidoc-generator/src/jvmMain/kotlin/com/github/minigdx/tiny/doc/TinyToAsciidocKspProcessor.kt @@ -66,7 +66,7 @@ class TinyToAsciidocKspProcessor( gfx.cls() print($prefix, 10, 10) -- ${variable.description} end - """.trimIndent(), + """.trimIndent(), ) } } diff --git a/tiny-cli/src/main/kotlin/com/github/minigdx/tiny/cli/command/SfxCommand.kt b/tiny-cli/src/main/kotlin/com/github/minigdx/tiny/cli/command/SfxCommand.kt index 7b33a22d..a714c4f3 100644 --- a/tiny-cli/src/main/kotlin/com/github/minigdx/tiny/cli/command/SfxCommand.kt +++ b/tiny-cli/src/main/kotlin/com/github/minigdx/tiny/cli/command/SfxCommand.kt @@ -14,7 +14,6 @@ import com.github.minigdx.tiny.lua.errorLine import com.github.minigdx.tiny.platform.glfw.GlfwPlatform import com.github.minigdx.tiny.sound.Music import kotlinx.serialization.json.Json -import kotlinx.serialization.json.decodeFromStream import org.luaj.vm2.LuaError import java.io.File diff --git a/tiny-cli/src/main/kotlin/com/github/minigdx/tiny/cli/config/GameParameters.kt b/tiny-cli/src/main/kotlin/com/github/minigdx/tiny/cli/config/GameParameters.kt index 5faaf3b3..15cc909f 100644 --- a/tiny-cli/src/main/kotlin/com/github/minigdx/tiny/cli/config/GameParameters.kt +++ b/tiny-cli/src/main/kotlin/com/github/minigdx/tiny/cli/config/GameParameters.kt @@ -1,7 +1,6 @@ package com.github.minigdx.tiny.cli.config import com.github.minigdx.tiny.engine.GameOptions -import io.ktor.utils.io.core.Input import kotlinx.serialization.ExperimentalSerializationApi import kotlinx.serialization.SerialName import kotlinx.serialization.Serializable @@ -46,8 +45,8 @@ sealed class GameParameters { companion object { val JSON = Json { - ignoreUnknownKeys = true - } + ignoreUnknownKeys = true + } @OptIn(ExperimentalSerializationApi::class) fun read(inputStream: InputStream): GameParameters { diff --git a/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/lua/SoundLib.kt b/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/lua/SoundLib.kt index cda3ab82..e563956c 100644 --- a/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/lua/SoundLib.kt +++ b/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/lua/SoundLib.kt @@ -40,7 +40,8 @@ class SoundLib( val ctrl = LuaTable() ctrl.set("sfx", sfx()) - ctrl.set("music", music()) + // TODO later :P + // ctrl.set("music", music()) ctrl.set("note", note()) arg2.set("sound", ctrl) diff --git a/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/lua/SoundLibExamples.kt b/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/lua/SoundLibExamples.kt index 26bdc8cb..aa9c6fcc 100644 --- a/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/lua/SoundLibExamples.kt +++ b/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/lua/SoundLibExamples.kt @@ -48,4 +48,4 @@ function in_bounds(touch, key) return touch and touch.x >= key.x and touch.x < key.x + key.w and touch.y >= key.y and touch.y < key.y + key.h end -""" \ No newline at end of file +""" From 349f1e162a8da7f089a1e7c84f2f3b3f6f6bdee7 Mon Sep 17 00:00:00 2001 From: David Wursteisen Date: Thu, 6 Nov 2025 20:13:17 +0100 Subject: [PATCH 13/17] Use default sound when create a game or run sfx command. --- .../minigdx/tiny/cli/command/CreateCommand.kt | 12 ++--- .../minigdx/tiny/cli/command/SfxCommand.kt | 11 ++++- .../minigdx/tiny/cli/config/GameParameters.kt | 1 + .../tiny/engine/GameResourceProcessor.kt | 2 +- .../github/minigdx/tiny/platform/SoundData.kt | 12 ++++- .../com/github/minigdx/tiny/sound/Music.kt | 4 ++ .../github/minigdx/tiny/sound/SoundHandler.kt | 46 ------------------- .../github/minigdx/tiny/sound/SoundManager.kt | 8 ---- .../minigdx/tiny/sound/VirtualSoundBoard.kt | 2 - .../tiny/platform/test/HeadlessPlatform.kt | 9 ---- .../minigdx/tiny/sound/SoundManagerTest.kt | 8 ---- .../platform/webgl/SynthesizerProcessor.kt | 16 +++---- .../tiny/platform/webgl/WebSoundHandler.kt | 11 +---- .../tiny/platform/webgl/WebSoundManager.kt | 23 ---------- .../minigdx/tiny/sound/JavaSoundManager.kt | 8 ---- 15 files changed, 39 insertions(+), 134 deletions(-) diff --git a/tiny-cli/src/main/kotlin/com/github/minigdx/tiny/cli/command/CreateCommand.kt b/tiny-cli/src/main/kotlin/com/github/minigdx/tiny/cli/command/CreateCommand.kt index 04548ac5..9ddb7b41 100644 --- a/tiny-cli/src/main/kotlin/com/github/minigdx/tiny/cli/command/CreateCommand.kt +++ b/tiny-cli/src/main/kotlin/com/github/minigdx/tiny/cli/command/CreateCommand.kt @@ -15,13 +15,11 @@ import com.github.minigdx.tiny.cli.command.utils.ColorUtils import com.github.minigdx.tiny.cli.command.utils.ColorUtils.brightness import com.github.minigdx.tiny.cli.command.utils.PaletteImageGenerator import com.github.minigdx.tiny.cli.config.GameParameters -import com.github.minigdx.tiny.cli.config.GameParameters.Companion.JSON import com.github.minigdx.tiny.cli.config.GameParametersV1 import com.github.minigdx.tiny.cli.config.Size -import kotlinx.serialization.json.encodeToStream +import com.github.minigdx.tiny.platform.SoundData import org.intellij.lang.annotations.Language import java.io.File -import java.io.FileOutputStream import java.util.UUID @Language("Lua") @@ -109,15 +107,17 @@ ${ zoom = zoom, colors = GamePalette.ALL[palette - 1].colors.sortedBy { brightness(it) }, scripts = listOf(gameScript), + sound = "default-sound.sfx", hideMouseCursor = hideMouseCursor == "yes".lowercase(), ) as GameParameters if (!gameDirectory.exists()) gameDirectory.mkdirs() val configurationFile = gameDirectory.resolve("_tiny.json") - FileOutputStream(configurationFile).use { - JSON.encodeToStream(configuration, it) - } + configuration.write(configurationFile) + + val soundFile = gameDirectory.resolve("default-sound.sfx") + soundFile.writeText(SoundData.DEFAULT_SFX.music.serialize()) gameDirectory.resolve(gameScript).writeText(DEFAULT_GAME_SCRIPT) diff --git a/tiny-cli/src/main/kotlin/com/github/minigdx/tiny/cli/command/SfxCommand.kt b/tiny-cli/src/main/kotlin/com/github/minigdx/tiny/cli/command/SfxCommand.kt index a714c4f3..639300ec 100644 --- a/tiny-cli/src/main/kotlin/com/github/minigdx/tiny/cli/command/SfxCommand.kt +++ b/tiny-cli/src/main/kotlin/com/github/minigdx/tiny/cli/command/SfxCommand.kt @@ -54,14 +54,21 @@ class SfxCommand : CliktCommand(name = "sfx") { } val commandParameters = GameParameters.read(configFile) + val defaultFile = File("default-sound.sfx") + val logger = StdOutLogger("tiny-cli") val vfs = CommonVirtualFileSystem() + // get the file passed as parameter val sfxFileName = filename + // otherwise try the one from the game + ?: commandParameters.toGameOptions().sound?.let { File(it) } + // Let's create a file then. + ?: defaultFile val homeDirectory = findHomeDirectory(commandParameters) val commandOptions = commandParameters.toGameOptions() - .copy(sound = sfxFileName?.name) + .copy(sound = sfxFileName.name) val platform = GlfwPlatform( commandOptions, @@ -72,7 +79,7 @@ class SfxCommand : CliktCommand(name = "sfx") { jarResourcePrefix = "/sfx", ) - if (sfxFileName?.exists() == false) { + if (!sfxFileName.exists()) { val json = Json.encodeToString(Music()) platform.saveIntoHome(sfxFileName.name, json) } diff --git a/tiny-cli/src/main/kotlin/com/github/minigdx/tiny/cli/config/GameParameters.kt b/tiny-cli/src/main/kotlin/com/github/minigdx/tiny/cli/config/GameParameters.kt index 15cc909f..fb2eb936 100644 --- a/tiny-cli/src/main/kotlin/com/github/minigdx/tiny/cli/config/GameParameters.kt +++ b/tiny-cli/src/main/kotlin/com/github/minigdx/tiny/cli/config/GameParameters.kt @@ -13,6 +13,7 @@ import java.io.FileInputStream import java.io.FileOutputStream import java.io.InputStream +@OptIn(ExperimentalSerializationApi::class) @Serializable @JsonClassDiscriminator("version") sealed class GameParameters { diff --git a/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/engine/GameResourceProcessor.kt b/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/engine/GameResourceProcessor.kt index 020c53e0..fd19fdcc 100644 --- a/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/engine/GameResourceProcessor.kt +++ b/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/engine/GameResourceProcessor.kt @@ -85,7 +85,7 @@ class GameResourceProcessor( resourceFactory.soundEffect(0, sound) } this.sounds = Array(1) { - Sound(0, 0, "default-sound", SoundData.DEFAULT) + Sound(0, 0, "default-sound", SoundData.DEFAULT_EMPTY) } resources = listOf( diff --git a/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/platform/SoundData.kt b/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/platform/SoundData.kt index 2950935c..6d3ced8d 100644 --- a/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/platform/SoundData.kt +++ b/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/platform/SoundData.kt @@ -1,5 +1,6 @@ package com.github.minigdx.tiny.platform +import com.github.minigdx.tiny.lua.Note import com.github.minigdx.tiny.sound.Music class SoundData( @@ -13,10 +14,19 @@ class SoundData( val musicalSequences: List = emptyList(), ) { companion object { - val DEFAULT = SoundData( + val DEFAULT_EMPTY = SoundData( "default", Music(), emptyList(), ) + + val DEFAULT_SFX = SoundData( + "default", + Music().apply { + musicalBars[0].setNote(Note.E4, 0f, 0.5f) + musicalBars[0].setNote(Note.G4, 1f, 0.5f) + }, + emptyList(), + ) } } diff --git a/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/sound/Music.kt b/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/sound/Music.kt index c7d51633..4d875fb6 100644 --- a/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/sound/Music.kt +++ b/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/sound/Music.kt @@ -34,6 +34,10 @@ class Music( MusicalSequence(it) }, ) { + fun serialize(): String { + return serialize(this) + } + companion object { private val json = Json { ignoreUnknownKeys = true } diff --git a/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/sound/SoundHandler.kt b/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/sound/SoundHandler.kt index a299160a..f9d631e7 100644 --- a/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/sound/SoundHandler.kt +++ b/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/sound/SoundHandler.kt @@ -1,7 +1,5 @@ package com.github.minigdx.tiny.sound -import com.github.minigdx.tiny.Sample -import com.github.minigdx.tiny.sound.SoundManager.Companion.SAMPLE_RATE import com.github.minigdx.tiny.util.FloatData import kotlin.math.min @@ -45,47 +43,3 @@ class BufferedChunkGenerator(private val data: FloatArray) : ChunkGenerator { return chunk } } - -class RealTimeChunkGenerator(private val generator: (progress: Sample, samples: Int) -> FloatArray) : ChunkGenerator { - private var position: Sample = 0 - - // Up to 4 seconds - private val chunk = FloatData(SAMPLE_RATE) - - override fun generateChunk(samples: Int): FloatData { - val data = generator.invoke(position, samples).also { - position += samples - } - - chunk.copyFrom(data, 0, samples) - return chunk - } -} - -class SequencedChunkGenerator(data: Sequence) : ChunkGenerator { - private var position: Int = 0 - private var currentChunk: FloatArray = floatArrayOf() - - private val iterator = data.iterator() - - // Up to 4 seconds - private val chunk = FloatData(SAMPLE_RATE * 4) - - override fun generateChunk(samples: Int): FloatData { - if (iterator.hasNext()) { - currentChunk = iterator.next() - position = 0 - } else { - if (position >= currentChunk.size) { - currentChunk = floatArrayOf() - position = 0 - } - } - - chunk.copyFrom(currentChunk, position, position + samples) - - position += samples - - return chunk - } -} diff --git a/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/sound/SoundManager.kt b/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/sound/SoundManager.kt index 3165631e..64bd952c 100644 --- a/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/sound/SoundManager.kt +++ b/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/sound/SoundManager.kt @@ -25,10 +25,6 @@ class DefaultSoundBoard(private val soundManager: SoundManager) : VirtualSoundBo return soundManager.createSoundHandler(buffer) } - override fun prepare(chunkGenerator: ChunkGenerator): SoundHandler { - return soundManager.createSoundHandler(chunkGenerator) - } - override fun convert(bar: MusicalBar): FloatArray { val buffer = soundManager.convert(bar) return buffer @@ -56,10 +52,6 @@ abstract class SoundManager { */ abstract fun createSoundHandler(buffer: FloatArray): SoundHandler - abstract fun createSoundHandler(buffer: Sequence): SoundHandler - - abstract fun createSoundHandler(chunkGenerator: ChunkGenerator): SoundHandler - /** * Convert the MusicBar into a playable sound. */ diff --git a/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/sound/VirtualSoundBoard.kt b/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/sound/VirtualSoundBoard.kt index 1fbb5e29..39bce05c 100644 --- a/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/sound/VirtualSoundBoard.kt +++ b/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/sound/VirtualSoundBoard.kt @@ -18,8 +18,6 @@ interface VirtualSoundBoard { */ fun prepare(track: MusicalSequence.Track): SoundHandler - fun prepare(chunkGenerator: ChunkGenerator): SoundHandler - fun convert(bar: MusicalBar): FloatArray fun noteOn( diff --git a/tiny-engine/src/commonTest/kotlin/com/github/minigdx/tiny/platform/test/HeadlessPlatform.kt b/tiny-engine/src/commonTest/kotlin/com/github/minigdx/tiny/platform/test/HeadlessPlatform.kt index 4b9dfb47..e3eb8d6a 100644 --- a/tiny-engine/src/commonTest/kotlin/com/github/minigdx/tiny/platform/test/HeadlessPlatform.kt +++ b/tiny-engine/src/commonTest/kotlin/com/github/minigdx/tiny/platform/test/HeadlessPlatform.kt @@ -14,7 +14,6 @@ import com.github.minigdx.tiny.platform.SoundData import com.github.minigdx.tiny.platform.WindowManager import com.github.minigdx.tiny.platform.performance.PerformanceMetrics import com.github.minigdx.tiny.platform.performance.PerformanceMonitor -import com.github.minigdx.tiny.sound.ChunkGenerator import com.github.minigdx.tiny.sound.Instrument import com.github.minigdx.tiny.sound.SoundHandler import com.github.minigdx.tiny.sound.SoundManager @@ -127,14 +126,6 @@ class HeadlessPlatform( } } - override fun createSoundHandler(buffer: Sequence): SoundHandler { - TODO("Not yet implemented") - } - - override fun createSoundHandler(chunkGenerator: ChunkGenerator): SoundHandler { - TODO("Not yet implemented") - } - override fun noteOn( note: Note, instrument: Instrument, diff --git a/tiny-engine/src/commonTest/kotlin/com/github/minigdx/tiny/sound/SoundManagerTest.kt b/tiny-engine/src/commonTest/kotlin/com/github/minigdx/tiny/sound/SoundManagerTest.kt index caa02db3..8f372fde 100644 --- a/tiny-engine/src/commonTest/kotlin/com/github/minigdx/tiny/sound/SoundManagerTest.kt +++ b/tiny-engine/src/commonTest/kotlin/com/github/minigdx/tiny/sound/SoundManagerTest.kt @@ -30,14 +30,6 @@ class SoundManagerTest { } } - override fun createSoundHandler(buffer: Sequence): SoundHandler { - TODO("Not yet implemented") - } - - override fun createSoundHandler(chunkGenerator: ChunkGenerator): SoundHandler { - TODO("Not yet implemented") - } - override fun noteOn( note: Note, instrument: Instrument, diff --git a/tiny-engine/src/jsMain/kotlin/com/github/minigdx/tiny/platform/webgl/SynthesizerProcessor.kt b/tiny-engine/src/jsMain/kotlin/com/github/minigdx/tiny/platform/webgl/SynthesizerProcessor.kt index 68f3dd77..afb8b2d1 100644 --- a/tiny-engine/src/jsMain/kotlin/com/github/minigdx/tiny/platform/webgl/SynthesizerProcessor.kt +++ b/tiny-engine/src/jsMain/kotlin/com/github/minigdx/tiny/platform/webgl/SynthesizerProcessor.kt @@ -1,12 +1,12 @@ package com.github.minigdx.tiny.platform.webgl +import com.github.minigdx.tiny.log.StdOutLogger import com.github.minigdx.tiny.lua.Note import com.github.minigdx.tiny.sound.Instrument import com.github.minigdx.tiny.sound.InstrumentPlayer import js.array.ReadonlyArray import js.objects.ReadonlyRecord import js.typedarrays.Float32Array -import kotlinx.serialization.decodeFromString import kotlinx.serialization.json.Json import web.audio.AudioParamName import web.audio.AudioWorkletProcessor @@ -16,19 +16,17 @@ import web.events.EventHandler class SynthesizerProcessor : AudioWorkletProcessor() { private var currentInstrumentPlayer: InstrumentPlayer? = null + private val logger = StdOutLogger("SynthesizerProcessor") + init { - println("SynthesizerProcessor initialized!") port.onmessage = EventHandler { event -> val data = event.data.unsafeCast() val type = data.type as? String - println("EVENT RECEIVED - Type: $type, Data: $data") when (type) { "noteOn" -> { val note = data.note as? Int - val frequency = data.frequency as? Double val instrumentJson = data.instrument as? String - println("Note ON: note=$note, frequency=$frequency Hz") if (instrumentJson != null && note != null) { try { @@ -38,21 +36,19 @@ class SynthesizerProcessor : AudioWorkletProcessor() { // Create new player and start note currentInstrumentPlayer = InstrumentPlayer(instrument) currentInstrumentPlayer?.noteOn(Note.entries[note]) - println("Created InstrumentPlayer and started note") } catch (e: Exception) { - println("Error deserializing instrument: ${e.message}") + logger.error("AUDIO", e) { "Error while processing audio" } } } } "noteOff" -> { val note = data.note as? Int - println("Note OFF: note=$note") if (note != null) { currentInstrumentPlayer?.noteOff(Note.entries[note]) } } else -> { - println("Unknown message type: $type") + logger.error("AUDIO") { "Unknown type: $type" } } } } @@ -64,7 +60,7 @@ class SynthesizerProcessor : AudioWorkletProcessor() { parameters: ReadonlyRecord>, ): Boolean { // Get the first output channel (mono output) - val output = outputs[0]?.get(0) ?: return true + val output = outputs[0][0] // Generate audio samples val player = currentInstrumentPlayer diff --git a/tiny-engine/src/jsMain/kotlin/com/github/minigdx/tiny/platform/webgl/WebSoundHandler.kt b/tiny-engine/src/jsMain/kotlin/com/github/minigdx/tiny/platform/webgl/WebSoundHandler.kt index 5f2892b4..49dc2a5b 100644 --- a/tiny-engine/src/jsMain/kotlin/com/github/minigdx/tiny/platform/webgl/WebSoundHandler.kt +++ b/tiny-engine/src/jsMain/kotlin/com/github/minigdx/tiny/platform/webgl/WebSoundHandler.kt @@ -1,6 +1,5 @@ package com.github.minigdx.tiny.platform.webgl -import com.github.minigdx.tiny.sound.BufferedChunkGenerator import com.github.minigdx.tiny.sound.ChunkGenerator import com.github.minigdx.tiny.sound.SoundHandler import com.github.minigdx.tiny.util.FloatData @@ -8,18 +7,10 @@ import web.audio.AudioBufferSourceNode class WebSoundHandler( private val chunkGenerator: ChunkGenerator, - private val soundMananger: WebSoundManager, + private val soundManager: WebSoundManager, ) : SoundHandler { private var audioNode: AudioBufferSourceNode? = null - constructor( - data: FloatArray, - soundMananger: WebSoundManager, - ) : this( - BufferedChunkGenerator(data), - soundMananger, - ) - override fun play() { // FIXME: replace // audioNode = soundMananger.playSfxBuffer(data) diff --git a/tiny-engine/src/jsMain/kotlin/com/github/minigdx/tiny/platform/webgl/WebSoundManager.kt b/tiny-engine/src/jsMain/kotlin/com/github/minigdx/tiny/platform/webgl/WebSoundManager.kt index d2c0d972..3201bff1 100644 --- a/tiny-engine/src/jsMain/kotlin/com/github/minigdx/tiny/platform/webgl/WebSoundManager.kt +++ b/tiny-engine/src/jsMain/kotlin/com/github/minigdx/tiny/platform/webgl/WebSoundManager.kt @@ -2,7 +2,6 @@ package com.github.minigdx.tiny.platform.webgl import com.github.minigdx.tiny.input.InputHandler import com.github.minigdx.tiny.lua.Note -import com.github.minigdx.tiny.sound.ChunkGenerator import com.github.minigdx.tiny.sound.Instrument import com.github.minigdx.tiny.sound.InstrumentPlayer import com.github.minigdx.tiny.sound.SoundHandler @@ -11,7 +10,6 @@ import com.github.minigdx.tiny.util.MutableFixedSizeList import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch -import kotlinx.serialization.encodeToString import kotlinx.serialization.json.Json import web.audio.AudioContext import web.audio.AudioContextState @@ -36,9 +34,7 @@ class WebSoundManager : SoundManager() { override fun initSoundManager(inputHandler: InputHandler) { audioContext = AudioContext() - println("INIT audio context " + audioContext.state) audioContext.onstatechange = EventHandler { - println("audio context " + audioContext.state) // See: https://developer.mozilla.org/en-US/docs/Web/API/BaseAudioContext/state#resuming_interrupted_play_states_in_ios_safari // Resume the audio context if interrupted, only on iOS if (audioContext.state != AudioContextState.running) { @@ -49,12 +45,10 @@ class WebSoundManager : SoundManager() { } if (audioContext.state != AudioContextState.running) { inputHandler.onFirstUserInteraction { - println("FIRST USER audio context " + audioContext.state) audioContext.resumeAsync() initializeAudioWorklet() } } else { - println("FIRST USER audio context " + audioContext.state) initializeAudioWorklet() } } @@ -66,16 +60,10 @@ class WebSoundManager : SoundManager() { soundContext.launch { // Load the bundled worklet from Vite assets - println("Loading audio worklet module...") val result = audioContext.audioWorklet.addModule(SynthesizerAudioWorklet) - println("Audio worklet module loaded successfully $result") - - println("Creating AudioWorkletNode for SynthesizerProcessor") audioWorkletNode = AudioWorkletNode(audioContext, AudioWorkletProcessorName("SynthesizerProcessor")) val destinationNode = audioContext.destination - println("Connecting worklet to destination node: $destinationNode") audioWorkletNode.connect(destinationNode) - println("Audio worklet ready!") ready = true } } @@ -84,7 +72,6 @@ class WebSoundManager : SoundManager() { note: Note, instrument: Instrument, ) { - println("noteOn is ready + $ready") if (!ready) return // Get or create instrument player for this note @@ -98,7 +85,6 @@ class WebSoundManager : SoundManager() { val frequency = noteToFrequency(note) val instrumentJson = Json.encodeToString(instrument) - println("Prepare to post message to worklet") audioWorkletNode.port.postMessage( json( "type" to "noteOn", @@ -135,16 +121,7 @@ class WebSoundManager : SoundManager() { TODO() } - override fun createSoundHandler(buffer: Sequence): SoundHandler { - TODO("Not yet implemented") - } - - override fun createSoundHandler(chunkGenerator: ChunkGenerator): SoundHandler { - TODO("Not yet implemented") - } - companion object { - private const val BUFFER = 4096 // Larger buffer for better stability private const val MAX_INSTRUMENTS = 8 } } diff --git a/tiny-engine/src/jvmMain/kotlin/com/github/minigdx/tiny/sound/JavaSoundManager.kt b/tiny-engine/src/jvmMain/kotlin/com/github/minigdx/tiny/sound/JavaSoundManager.kt index 23a52369..ed6b727b 100644 --- a/tiny-engine/src/jvmMain/kotlin/com/github/minigdx/tiny/sound/JavaSoundManager.kt +++ b/tiny-engine/src/jvmMain/kotlin/com/github/minigdx/tiny/sound/JavaSoundManager.kt @@ -186,14 +186,6 @@ class JavaSoundManager : SoundManager() { ) } - override fun createSoundHandler(buffer: Sequence): SoundHandler { - return JavaSoundHandler(SequencedChunkGenerator(buffer), mixerGateway = mixer) - } - - override fun createSoundHandler(chunkGenerator: ChunkGenerator): SoundHandler { - return JavaSoundHandler(chunkGenerator, mixerGateway = mixer) - } - override fun destroy() { soundPort.alive = false mixer.add(JavaSoundHandler(FloatArray(0), mixer)) // unlock the sound port From 48cbd57eee22f58f4e5caa5c3144687879088a5c Mon Sep 17 00:00:00 2001 From: David Wursteisen Date: Thu, 6 Nov 2025 22:30:32 +0100 Subject: [PATCH 14/17] Fix sound playback --- .../minigdx/tiny/cli/command/ExportCommand.kt | 11 +++ .../src/main/resources/sfx/sfx-editor.lua | 2 +- .../github/minigdx/tiny/engine/GameEngine.kt | 1 + .../github/minigdx/tiny/sound/SoundHandler.kt | 3 + .../github/minigdx/tiny/sound/SoundManager.kt | 48 +++++++---- .../tiny/platform/webgl/WebSoundHandler.kt | 7 +- .../tiny/platform/webgl/WebSoundManager.kt | 84 ++++++++++++++++++- .../minigdx/tiny/sound/JavaSoundHandler.kt | 9 +- .../minigdx/tiny/sound/JavaSoundManager.kt | 7 +- 9 files changed, 145 insertions(+), 27 deletions(-) diff --git a/tiny-cli/src/main/kotlin/com/github/minigdx/tiny/cli/command/ExportCommand.kt b/tiny-cli/src/main/kotlin/com/github/minigdx/tiny/cli/command/ExportCommand.kt index b132b41f..ea714614 100644 --- a/tiny-cli/src/main/kotlin/com/github/minigdx/tiny/cli/command/ExportCommand.kt +++ b/tiny-cli/src/main/kotlin/com/github/minigdx/tiny/cli/command/ExportCommand.kt @@ -13,6 +13,7 @@ import com.github.minigdx.tiny.cli.config.GameParameters import com.github.minigdx.tiny.cli.config.GameParameters.Companion.JSON import com.github.minigdx.tiny.cli.config.GameParametersV1 import com.github.minigdx.tiny.resources.ldtk.Ldtk +import kotlinx.serialization.ExperimentalSerializationApi import kotlinx.serialization.json.Json import kotlinx.serialization.json.decodeFromStream import java.io.File @@ -441,6 +442,7 @@ class ExportCommand : CliktCommand(name = "export") { } } +@OptIn(ExperimentalSerializationApi::class) class GameExporter { fun export( gameDirectory: File, @@ -495,6 +497,15 @@ class GameExporter { when (gameParameters) { is GameParametersV1 -> { + (gameParameters.scripts) + .filterNot { exportedFile.contains(it) } + .forEach { name -> + exportedGame.putNextEntry(ZipEntry(name)) + exportedGame.write(gameDirectory.resolve(name).readBytes()) + exportedGame.closeEntry() + + exportedFile += name + } gameParameters.spritesheets .filterNot { exportedFile.contains(it) } .forEach { name -> diff --git a/tiny-cli/src/main/resources/sfx/sfx-editor.lua b/tiny-cli/src/main/resources/sfx/sfx-editor.lua index 26e73c11..341ded42 100644 --- a/tiny-cli/src/main/resources/sfx/sfx-editor.lua +++ b/tiny-cli/src/main/resources/sfx/sfx-editor.lua @@ -478,7 +478,7 @@ function _init_player(entities) local saveButton = wire.find_widget(m.widgets, widget.fields.SaveButton) saveButton.on_change = function() - state.sfx.save() + sfx.save() end local exportButton = wire.find_widget(m.widgets, widget.fields.ExportButton) diff --git a/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/engine/GameEngine.kt b/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/engine/GameEngine.kt index 66478f09..bbeef9d2 100644 --- a/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/engine/GameEngine.kt +++ b/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/engine/GameEngine.kt @@ -99,6 +99,7 @@ class GameEngine( if (currentGameScript.exited >= 0) { exitCurrentGameScript(currentGameScript) } else if (currentGameScript.reload) { + soundManager.stopAll() reloadCurrentGameScript(currentGameScript) } diff --git a/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/sound/SoundHandler.kt b/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/sound/SoundHandler.kt index f9d631e7..ae0a7b08 100644 --- a/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/sound/SoundHandler.kt +++ b/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/sound/SoundHandler.kt @@ -40,6 +40,9 @@ class BufferedChunkGenerator(private val data: FloatArray) : ChunkGenerator { override fun generateChunk(samples: Int): FloatData { chunk.copyFrom(data, position, position + samples) position = min(position + samples, data.size) + if (chunk.size == 0) { + position = 0 + } return chunk } } diff --git a/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/sound/SoundManager.kt b/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/sound/SoundManager.kt index 64bd952c..5b5ca11a 100644 --- a/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/sound/SoundManager.kt +++ b/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/sound/SoundManager.kt @@ -231,23 +231,21 @@ abstract class SoundManager { val attackEndSample = min(attackSamples, releaseStartSample) val decayEndSample = min(attackEndSample + decaySamples, releaseStartSample) - // FIXME: le changement de niveau sonore pourrait ne pas être linéaire. (cf juice) - val multiplier = - if (currentSample < attackEndSample) { - // Attack: going from 0 to 1.0 - currentSample.toFloat() / attackSamples - } else if (currentSample < decayEndSample) { - // Decay: going from 1.0 to sustain level - val decayProgress = (currentSample - attackEndSample) / decaySamples - 1.0f - decayProgress * (1.0f - sustainLevel) - } else if (currentSample < releaseStartSample) { - // Sustain level - sustainLevel - } else { - // Release: going from sustain to 0f - val releaseProgress = (currentSample - releaseStartSample) / releaseSamples - sustainLevel * (1.0f - min(1.0f, releaseProgress)) - } + val multiplier = if (currentSample < attackEndSample) { + // Attack: going from 0 to 1.0 + currentSample.toFloat() / attackSamples + } else if (currentSample < decayEndSample) { + // Decay: going from 1.0 to sustain level + val decayProgress = (currentSample - attackEndSample) / decaySamples + 1.0f - decayProgress * (1.0f - sustainLevel) + } else if (currentSample < releaseStartSample) { + // Sustain level + sustainLevel + } else { + // Release: going from sustain to 0f + val releaseProgress = (currentSample - releaseStartSample) / releaseSamples + sustainLevel * (1.0f - min(1.0f, releaseProgress)) + } return max(0.0f, min(1.0f, multiplier)) } @@ -259,6 +257,22 @@ abstract class SoundManager { abstract fun noteOff(note: Note) + private val currentHandlers = mutableListOf() + + fun stopAll() { + val toBeRemoved = currentHandlers.toList() + toBeRemoved.forEach { it.stop() } + currentHandlers.clear() + } + + internal fun addSoundHandler(handler: SoundHandler) { + currentHandlers.add(handler) + } + + internal fun removeSoundHandler(handler: SoundHandler) { + currentHandlers.remove(handler) + } + companion object { const val SAMPLE_RATE = 44100 const val MASTER_VOLUME = 0.5f diff --git a/tiny-engine/src/jsMain/kotlin/com/github/minigdx/tiny/platform/webgl/WebSoundHandler.kt b/tiny-engine/src/jsMain/kotlin/com/github/minigdx/tiny/platform/webgl/WebSoundHandler.kt index 49dc2a5b..c5b8bf2d 100644 --- a/tiny-engine/src/jsMain/kotlin/com/github/minigdx/tiny/platform/webgl/WebSoundHandler.kt +++ b/tiny-engine/src/jsMain/kotlin/com/github/minigdx/tiny/platform/webgl/WebSoundHandler.kt @@ -12,17 +12,16 @@ class WebSoundHandler( private var audioNode: AudioBufferSourceNode? = null override fun play() { - // FIXME: replace - // audioNode = soundMananger.playSfxBuffer(data) + audioNode = soundManager.playChunkGenerator(chunkGenerator) } override fun loop() { - // FIXME: replace - // audioNode = soundMananger.playSfxBuffer(data, loop = true) + audioNode = soundManager.playChunkGenerator(chunkGenerator, loop = true) } override fun stop() { audioNode?.stop() + soundManager.removeSoundHandler(this) } override fun nextChunk(samples: Int): FloatData { diff --git a/tiny-engine/src/jsMain/kotlin/com/github/minigdx/tiny/platform/webgl/WebSoundManager.kt b/tiny-engine/src/jsMain/kotlin/com/github/minigdx/tiny/platform/webgl/WebSoundManager.kt index 3201bff1..c1045f46 100644 --- a/tiny-engine/src/jsMain/kotlin/com/github/minigdx/tiny/platform/webgl/WebSoundManager.kt +++ b/tiny-engine/src/jsMain/kotlin/com/github/minigdx/tiny/platform/webgl/WebSoundManager.kt @@ -2,6 +2,8 @@ package com.github.minigdx.tiny.platform.webgl import com.github.minigdx.tiny.input.InputHandler import com.github.minigdx.tiny.lua.Note +import com.github.minigdx.tiny.sound.BufferedChunkGenerator +import com.github.minigdx.tiny.sound.ChunkGenerator import com.github.minigdx.tiny.sound.Instrument import com.github.minigdx.tiny.sound.InstrumentPlayer import com.github.minigdx.tiny.sound.SoundHandler @@ -117,8 +119,88 @@ class WebSoundManager : SoundManager() { ) } + /** + * Play audio data from a ChunkGenerator using standard Web Audio API nodes. + * This method extracts all audio data from the generator, creates an AudioBuffer, + * and plays it using an AudioBufferSourceNode (bypassing the AudioWorklet). + * + * @param chunkGenerator The generator containing the audio sample data + * @param loop Whether to loop the audio playback + * @return AudioBufferSourceNode that can be used to control playback (e.g., stop()) + * @throws IllegalStateException if the AudioContext is not ready + * @throws IllegalArgumentException if the ChunkGenerator produces no audio data + */ + fun playChunkGenerator( + chunkGenerator: ChunkGenerator, + loop: Boolean = false, + ): web.audio.AudioBufferSourceNode { + if (!ready) { + throw IllegalStateException("AudioContext is not ready") + } + + // Extract all audio data from the chunk generator + val audioData = mutableListOf() + val chunkSizeToRequest = 2205 // ~50ms at 44.1kHz (SAMPLE_RATE * 0.05) + + // Generate chunks until we've extracted all data + var continueReading = true + while (continueReading) { + val chunk = chunkGenerator.generateChunk(chunkSizeToRequest) + + if (chunk.size == 0) { + // No more data available + continueReading = false + } else { + // Copy chunk data to our accumulator + for (i in 0 until chunk.size) { + audioData.add(chunk[i]) + } + + // If we got less than requested, we're likely at the end + if (chunk.size < chunkSizeToRequest) { + continueReading = false + } + } + } + + if (audioData.isEmpty()) { + throw IllegalArgumentException("ChunkGenerator produced no audio data") + } + + // Create AudioBuffer + val sampleCount = audioData.size + val audioBuffer = audioContext.createBuffer( + // Mono + numberOfChannels = 1, + length = sampleCount, + // 44.1 kHz + sampleRate = SAMPLE_RATE.toFloat(), + ) + + // Get the channel data and copy our float samples + val channelData = audioBuffer.getChannelData(0) + for (i in 0 until sampleCount) { + channelData[i] = audioData[i] + } + + // Create buffer source node + val sourceNode = audioContext.createBufferSource() + sourceNode.buffer = audioBuffer + sourceNode.loop = loop + + // Connect directly to destination (bypass AudioWorklet) + sourceNode.connect(audioContext.destination) + + // Start playback immediately + sourceNode.start() + + return sourceNode + } + override fun createSoundHandler(buffer: FloatArray): SoundHandler { - TODO() + val handler = WebSoundHandler(BufferedChunkGenerator(buffer), this) + addSoundHandler(handler) + return handler } companion object { diff --git a/tiny-engine/src/jvmMain/kotlin/com/github/minigdx/tiny/sound/JavaSoundHandler.kt b/tiny-engine/src/jvmMain/kotlin/com/github/minigdx/tiny/sound/JavaSoundHandler.kt index c1d7c585..e3f180bb 100644 --- a/tiny-engine/src/jvmMain/kotlin/com/github/minigdx/tiny/sound/JavaSoundHandler.kt +++ b/tiny-engine/src/jvmMain/kotlin/com/github/minigdx/tiny/sound/JavaSoundHandler.kt @@ -5,13 +5,15 @@ import com.github.minigdx.tiny.util.FloatData class JavaSoundHandler( val chunkGenerator: ChunkGenerator, private val mixerGateway: MixerGateway, + private val soundManager: SoundManager, ) : SoundHandler { /** * Legacy constructor */ - constructor(data: FloatArray, mixerGateway: MixerGateway) : this( + constructor(data: FloatArray, mixerGateway: MixerGateway, soundManager: SoundManager) : this( BufferedChunkGenerator(data), mixerGateway, + soundManager, ) var loop: Boolean = false @@ -29,12 +31,15 @@ class JavaSoundHandler( override fun stop() { stop = true + soundManager.removeSoundHandler(this) } override fun nextChunk(samples: Int): FloatData { val chunk = chunkGenerator.generateChunk(samples) if (chunk.size == 0) { - stop() + if (!loop) { + stop() + } } return chunk } diff --git a/tiny-engine/src/jvmMain/kotlin/com/github/minigdx/tiny/sound/JavaSoundManager.kt b/tiny-engine/src/jvmMain/kotlin/com/github/minigdx/tiny/sound/JavaSoundManager.kt index ed6b727b..ce6286c5 100644 --- a/tiny-engine/src/jvmMain/kotlin/com/github/minigdx/tiny/sound/JavaSoundManager.kt +++ b/tiny-engine/src/jvmMain/kotlin/com/github/minigdx/tiny/sound/JavaSoundManager.kt @@ -180,15 +180,18 @@ class JavaSoundManager : SoundManager() { } override fun createSoundHandler(buffer: FloatArray): SoundHandler { - return JavaSoundHandler( + val handler = JavaSoundHandler( data = buffer, mixerGateway = mixer, + this, ) + addSoundHandler(handler) + return handler } override fun destroy() { soundPort.alive = false - mixer.add(JavaSoundHandler(FloatArray(0), mixer)) // unlock the sound port + mixer.add(JavaSoundHandler(FloatArray(0), mixer, this)) // unlock the sound port mixer.alive = false } } From 33b36ec4adc216091cc3969a84b03b3eb4637870 Mon Sep 17 00:00:00 2001 From: David Wursteisen Date: Thu, 6 Nov 2025 22:49:20 +0100 Subject: [PATCH 15/17] Add sound to the sample --- .idea/misc.xml | 2 + .../src/main/resources/sfx/sfx-editor.lua | 2 +- tiny-doc/src/docs/asciidoc/sample/_tiny.json | 3 +- tiny-doc/src/docs/asciidoc/sample/index.html | 10 ++- tiny-doc/src/docs/asciidoc/sample/pong.lua | 4 +- .../src/docs/asciidoc/sample/tiny-engine.js | 86 +++++++++---------- .../com/github/minigdx/tiny/lua/SfxLib.kt | 2 +- tiny-sample/_tiny.json | 3 +- tiny-sample/default-sound.sfx | 1 + tiny-sample/pong.lua | 4 +- 10 files changed, 64 insertions(+), 53 deletions(-) create mode 100644 tiny-sample/default-sound.sfx diff --git a/.idea/misc.xml b/.idea/misc.xml index 2304d430..0476299f 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -1,6 +1,8 @@ + + diff --git a/tiny-cli/src/main/resources/sfx/sfx-editor.lua b/tiny-cli/src/main/resources/sfx/sfx-editor.lua index 341ded42..b5411ad1 100644 --- a/tiny-cli/src/main/resources/sfx/sfx-editor.lua +++ b/tiny-cli/src/main/resources/sfx/sfx-editor.lua @@ -448,7 +448,7 @@ function _init_sfx_editor(entities) wire.sync(state, "sfx.index", selector, "value") -- set the instrument to the bar wire.listen(selector, "value", function(source, value) - state.sfx = sfx.bar(value) + state.sfx = sfx.sfx(value) end) -- set the list of instruments wire.sync(state, "sfx.all", selector, "active_indices") diff --git a/tiny-doc/src/docs/asciidoc/sample/_tiny.json b/tiny-doc/src/docs/asciidoc/sample/_tiny.json index c04db15e..d8d4d998 100644 --- a/tiny-doc/src/docs/asciidoc/sample/_tiny.json +++ b/tiny-doc/src/docs/asciidoc/sample/_tiny.json @@ -34,5 +34,6 @@ ], "spritesheets": [ "game.png" - ] + ], + "sound": "default-sound.sfx" } diff --git a/tiny-doc/src/docs/asciidoc/sample/index.html b/tiny-doc/src/docs/asciidoc/sample/index.html index cb9d2958..fba5c5b4 100644 --- a/tiny-doc/src/docs/asciidoc/sample/index.html +++ b/tiny-doc/src/docs/asciidoc/sample/index.html @@ -4,9 +4,9 @@ Tiny - Platform game - - - + + +
@@ -18,7 +18,9 @@ - + + +
diff --git a/tiny-doc/src/docs/asciidoc/sample/pong.lua b/tiny-doc/src/docs/asciidoc/sample/pong.lua index be49dc75..9b3e8b1c 100644 --- a/tiny-doc/src/docs/asciidoc/sample/pong.lua +++ b/tiny-doc/src/docs/asciidoc/sample/pong.lua @@ -195,7 +195,7 @@ Brick.update = function(self) if collisionX or collisionY then self.hit = 6 - + sound.sfx(1) table.insert(particles, new(Particle, { x = self.x, @@ -299,6 +299,8 @@ Ball.update = function(self) if collision then self.speed.y = -self.speed.y self.accept_move_y = false + sound.sfx(0) + end end diff --git a/tiny-doc/src/docs/asciidoc/sample/tiny-engine.js b/tiny-doc/src/docs/asciidoc/sample/tiny-engine.js index 156811bc..f4eb5c61 100644 --- a/tiny-doc/src/docs/asciidoc/sample/tiny-engine.js +++ b/tiny-doc/src/docs/asciidoc/sample/tiny-engine.js @@ -1,50 +1,50 @@ -import{i as P,I as fr,V as l,a as p,by as zr,ak as Py,a8 as N,bz as gr,bA as ua,b1 as lt,bB as Ht,bC as T,bD as Ws,bq as Tn,bE as A$,bF as E$,bG as j1,bk as ca,aS as Ot,bH as ae,ai as et,bI as Pa,bJ as vr,bK as hr,ay as ar,w as j,j as E,m as Z,bL as Pr,bM as Mr,bN as Vt,y as H,d as $,aJ as Br,bO as Ca,bP as ot,W as yt,n as S,aX as Rt,ae as Kt,bQ as $t,aF as Se,s as Mi,b as en,g as L5,u as bt,bR as N$,bS as By,bT as ui,aI as De,bU as Qn,bV as L$,T as m,E as Pe,bW as j$,bX as Hs,O as M$,bY as Ct,bZ as xa,L as gt,b_ as Oy,l as nr,o as Ar,D as F,b$ as T$,bn as Ry,c0 as Sa,Q as za,e as Ke,ah as er,c1 as F$,x as O,c2 as D$,f as Uy,c3 as Km,c4 as P$,c5 as j5,N as Ky,c6 as Gy,a3 as Wt,c7 as Jy,b4 as Wy,c8 as M5,t as Wr,c9 as nn,c as or,bs as kt,ca as Be,br as ye,av as C,bv as xr,aQ as Tr,aP as Lr,b8 as _r,a$ as Ti,cb as Gm,aa as Kn,k as br,h as Je,bx as T5,cc as xt,cd as B$,aW as Ur,a_ as J,ce as Jm,cf as Wm,cg as Hm,ch as Vm,ci as Fi,cj as Di,ck as O$,cl as F5,X as cd,cm as Hy,cn as Vy,co as Yy,cp as Zy,b9 as Xy,cq as R$,cr as Qy,cs as Jr,ct as rg,ax as Y,cu as Vs,cv as qa,cw as $n,cx as hd,cy as D5,cz as An,cA as fd,cB as P5,cC as En,cD as vd,cE as B5,cF as Nn,az as pd,cG as tg,cH as U$,cI as eg,aA as Et,cJ as ng,cK as lr,cL as ur,aY as oe,aC as ce,cM as Ys,cN as Zs,cO as ag,cP as K$,cQ as G$,cR as J$,cS as ig,aD as Xs,cT as sg,cU as Qs,cV as dd,cW as r1,al as t1,cX as W$,cY as O5,cZ as e1,c_ as Pi,c$ as md,aO as ki,d0 as H$,d1 as lg,d2 as M1,b6 as ug,d3 as T1,d4 as F1,d5 as D1,d6 as wd,d7 as Ci,d8 as V$,d9 as Y$,da as P1,db as xi,dc as Z$,dd as X$,de as B1,df as Si,dg as Q$,dh as r7,di as O1,dj as zi,dk as t7,dl as e7,dm as R1,dn as Ym,dp as Zm,dq as Bi,dr as Xm,ds as n7,dt as Oi,du as Qm,dv as rw,dw as a7,dx as Ri,dy as tw,dz as i7,aT as Ui,dA as ew,dB as s7,dC as nw,dD as aw,dE as iw,dF as sw,dG as Ki,dH as R5,dI as n1,dJ as l7,dK as _g,dL as u7,dM as _7,dN as o7,dO as yd,dP as og,dQ as cg,aN as c7,bw as Nr,dR as lw,dS as uw,dT as h7,ap as _w,dU as ge,aH as f7,bb as hg,dV as v7,ba as Gi,dW as Yt,dX as ha,dY as fa,J as Ia,dZ as U5,d_ as gd,d$ as bd,e0 as kd,aw as jn,e1 as fg,e2 as p7,e3 as d7,e4 as m7,aj as at,e5 as w7,e6 as vg,e7 as y7,e8 as g7,e9 as an,ea as K5,eb as G5,ec as b7,ed as a1,bi as $a,ee as k7,ef as pg,eg as C7,eh as x7,ei as S7,ej as dg,ek as z7,el as q7,em as I7,en as $7,eo as A7,ep as E7,ar as Rr,b3 as sn,eq as ow,er as N7,_ as L7,es as j7,a9 as st,et as J5,eu as cw,aE as Xt,ev as W5,ew as M7,ex as Zt,ey as T7,ez as F7,p as i1,eA as Ba,eB as Cd,eC as D7,bu as P7,eD as B7,bc as mg,bd as O7,eE as wg,eF as hw,eG as Fe,eH as R7,U as U7,eI as K7,eJ as fw,eK as G7,eL as J7,eM as xd,eN as W7,eO as yg,eP as H7,eQ as V7,eR as We,eS as Aa,eT as Y7,eU as Z7,eV as X7,eW as vw,eX as pw,eY as Q7,eZ as r8,e_ as t8,e$ as e8,f0 as n8,f1 as a8,f2 as i8,f3 as s8,ao as l8,an as dw,bl as u8,f4 as _8,f5 as _i}from"./chunks/kotlin-stdlib-CRdMVpU4.js";import{a as Sd,D as H5,l as zd,b as qd,f as o8,F as ie,d as mw,o as Ji,c as c8,e as gg,g as He,h as h8,_ as f8,i as v8,j as p8}from"./chunks/kotlin-coroutines-Cm4otwNU.js";import{T as kr,L as sr,C as y,O as pr,a as yr,b as s1,B as d8,c as m8,V as Qt,Z as bg,d as pn,e as Ft,M as w8,G as y8,P as g8,f as b8,g as k8,S as C8,h as x8,i as S8,j as z8}from"./chunks/lua-CP4YJkRS.js";(function(){const i=document.createElement("link").relList;if(i&&i.supports&&i.supports("modulepreload"))return;for(const n of document.querySelectorAll('link[rel="modulepreload"]'))t(n);new MutationObserver(n=>{for(const a of n)if(a.type==="childList")for(const s of a.addedNodes)s.tagName==="LINK"&&s.rel==="modulepreload"&&t(s)}).observe(document,{childList:!0,subtree:!0});function r(n){const a={};return n.integrity&&(a.integrity=n.integrity),n.referrerPolicy&&(a.referrerPolicy=n.referrerPolicy),n.crossOrigin==="use-credentials"?a.credentials="include":n.crossOrigin==="anonymous"?a.credentials="omit":a.credentials="same-origin",a}function t(n){if(n.ep)return;n.ep=!0;const a=r(n);fetch(n.href,a)}})();var U1;function q8(){if(U1===l){class e{c4c(r,t){if(!r)throw fr().u3(t())}}P(e,"Assert"),U1=e}return U1}var ln;ln=new(q8());var oi=Math.imul;function ww(e,i){var r=i[0]&255,t=i[1]&255,n=i[2]&255,a=i[3]&255;return r<<24|t<<16|n<<8|a}function yw(e,i){var r=E$(i,"#",""),t=j1(ca(r,0,2),16),n=j1(ca(r,2,4),16),a=j1(ca(r,4,6),16),s=255;return new Int8Array([Ot(t),Ot(n),Ot(a),Ot(s)])}function I8(e,i,r,t,n,a,s,u,_){var o=Mr(i),c=Mr(a),h=hr(Pr(o)&255),f=hr(Pr(c)&255),v=hr(vr(h)-vr(f)|0),d=Mr(i),g=Mr(a),b=hr(Pr(d)&255),w=hr(Pr(g)&255),x=hr(vr(b)-vr(w)|0),z=hr(oi(vr(v),vr(x))),k=Mr(r),A=Mr(s),D=hr(Pr(k)&255),B=hr(Pr(A)&255),R=hr(vr(D)-vr(B)|0),W=Mr(r),G=Mr(s),Q=hr(Pr(W)&255),X=hr(Pr(G)&255),rr=hr(vr(Q)-vr(X)|0),tr=hr(oi(vr(R),vr(rr))),ir=Mr(t),dr=Mr(u),cr=hr(Pr(ir)&255),mr=hr(Pr(dr)&255),Dr=hr(vr(cr)-vr(mr)|0),Ir=Mr(t),Or=Mr(u),Yr=hr(Pr(Ir)&255),Gr=hr(Pr(Or)&255),Er=hr(vr(Yr)-vr(Gr)|0),ft=hr(oi(vr(Dr),vr(Er))),vt=Mr(n),jt=Mr(_),tt=hr(Pr(vt)&255),qt=hr(Pr(jt)&255),pt=hr(vr(tt)-vr(qt)|0),It=Mr(n),Mt=Mr(_),fe=hr(Pr(It)&255),Tt=hr(Pr(Mt)&255),Ee=hr(vr(fe)-vr(Tt)|0),ve=hr(oi(vr(pt),vr(Ee))),Zn=hr(vr(z)+vr(tr)|0),Xn=hr(vr(Zn)+vr(ft)|0),Sn=hr(vr(Xn)+vr(ve)|0);return vr(Sn)}var K1;function $8(){if(K1===l){class e{constructor(){V5=this;var r=this;r.n4b_1=new Int8Array([0,0,0,0]),this.o4b_1=0}}ar(e),K1=e}return K1}var V5;function gw(){return V5===l&&new($8()),V5}var G1;function A8(){if(G1===l){class e{constructor(r){this.p4b_1=r}hh(r,t){return this.p4b_1(r,t)}compare(r,t){return this.hh(r,t)}o3(){return this.p4b_1}equals(r){var t;if(r!=null&&j(r,ae())){var n;r!=null&&j(r,et())?n=E(this.o3(),r.o3()):n=!1,t=n}else t=!1;return t}hashCode(){return Z(this.o3())}}p(e,"sam$kotlin_Comparator$0",l,l,[ae(),et()]),G1=e}return G1}function E8(e,i){var r=e.xd_1,t=i.xd_1;return Pa(r,t)}var J1;function N8(){if(J1===l){class e{constructor(r){gw();var t=this;t.t4b_1=zr().va();for(var n=Py(gw().n4b_1),a=N().d1(gr(r,10)),s=r.e1();s.f1();){var u=s.g1(),_=yw(this,u);a.c1(_)}for(var o=ua(n,a),c=this,h=0,f=o.h1(),v=Array(f);h"The color is not a RGBA color as it has "+r.length+" components"),r[3]===0)return 0;for(var a=999999999,s=0,u=0,_=this.q4b_1,o=0,c=_.length;o0)){var d="The width needs to be a positive number.";throw H().u($(d))}if(!(this.b47_1>0)){var g="The height needs to be a positive number.";throw H().u($(g))}if(!(this.c47_1.h1()<256)){var b="The number of colors should be less than 256.";throw H().u($(b))}if(!(this.e47_1.h1()<=256)){var w="The number of spritesheets is limited to 256.";throw H().u($(w))}if(!(this.h47_1>0)){var x="The zoom needs to be a positive non null value.";throw H().u($(x))}this.m47_1=new(N8())(this.c47_1)}n47(){return this.m47_1}o47(r,t){var n=dt(this.j47_1.xd_1,this.h47_1),a=dt(this.j47_1.xd_1+this.a47_1|0,this.h47_1),s=dt(this.j47_1.yd_1,this.h47_1),u=dt(this.j47_1.yd_1+this.b47_1|0,this.h47_1),_,o=Br(r);if(!(n<=o&&o<=a))_=!0;else{var c=Br(t);_=!(s<=c&&c<=u)}if(_)return null;var h=r/this.h47_1-this.j47_1.xd_1,f=t/this.h47_1-this.j47_1.yd_1;return new(Fn())(h,f)}toString(){return"GameOptions(width="+this.a47_1+", height="+this.b47_1+", palette="+$(this.c47_1)+", gameScripts="+$(this.d47_1)+", spriteSheets="+$(this.e47_1)+", gameLevels="+$(this.f47_1)+", sounds="+$(this.g47_1)+", zoom="+this.h47_1+", record="+this.i47_1+", gutter="+this.j47_1.toString()+", spriteSize="+this.k47_1.toString()+", hideMouseCursor="+this.l47_1+")"}hashCode(){var r=this.a47_1;return r=dt(r,31)+this.b47_1|0,r=dt(r,31)+Z(this.c47_1)|0,r=dt(r,31)+Z(this.d47_1)|0,r=dt(r,31)+Z(this.e47_1)|0,r=dt(r,31)+Z(this.f47_1)|0,r=dt(r,31)+Z(this.g47_1)|0,r=dt(r,31)+this.h47_1|0,r=dt(r,31)+Vt(this.i47_1)|0,r=dt(r,31)+this.j47_1.hashCode()|0,r=dt(r,31)+this.k47_1.hashCode()|0,r=dt(r,31)+Ca(this.l47_1)|0,r}equals(r){return this===r?!0:!(!(r instanceof kg())||this.a47_1!==r.a47_1||this.b47_1!==r.b47_1||!E(this.c47_1,r.c47_1)||!E(this.d47_1,r.d47_1)||!E(this.e47_1,r.e47_1)||!E(this.f47_1,r.f47_1)||!E(this.g47_1,r.g47_1)||this.h47_1!==r.h47_1||!E(this.i47_1,r.i47_1)||!this.j47_1.equals(r.j47_1)||!this.k47_1.equals(r.k47_1)||this.l47_1!==r.l47_1)}}p(e,"GameOptions"),H1=e}return H1}var Cg,xg,Sg,bw;function Id(){if(bw)return S;bw=!0,Cg=new(ra())("DEBUG",0),xg=new(ra())("INFO",1),Sg=new(ra())("WARN",2),new(ra())("ERROR",3),new(ra())("NONE",4)}var V1;function ra(){if(V1===l){class e extends Kt(){}p(e,"LogLevel"),V1=e}return V1}function Y1(e,i,r,t,n){if(i.i3_1>=e.a4f_1.i3_1){var a;switch(i.i3_1){case 0:a="🧰";break;case 1:a="ℹ️";break;case 2:a="⚠️";break;case 3:a="💥";break;case 4:return S;default:yt();break}var s=a;Rt(s+" |- "+e.z4e_1+" -| - ["+r+"] : "+n())}}var Z1;function j8(){if(Z1===l){class e{constructor(r,t){t=t===l?kw():t,this.z4e_1=r,this.a4f_1=t}m45(r,t){Y1(this,kw(),r,null,t)}g48(r,t){Y1(this,M8(),r,null,t)}v45(r,t){Y1(this,T8(),r,null,t)}}p(e,"StdOutLogger"),Z1=e}return Z1}function kw(){return Id(),Cg}function M8(){return Id(),xg}function T8(){return Id(),Sg}var Dt=Math.imul,X1;function Wi(){if(X1===l){class e{constructor(r,t,n,a,s,u,_,o,c,h,f,v,d){s=s===l?0n:s,u=u===l?0:u,_=_===l?0:_,o=o===l?0n:o,c=c===l?0n:c,h=h===l?0n:h,f=f===l?0n:f,v=v===l?0n:v,d=d===l?0n:d,this.y45_1=r,this.z45_1=t,this.a46_1=n,this.b46_1=a,this.c46_1=s,this.d46_1=u,this.e46_1=_,this.f46_1=o,this.g46_1=c,this.h46_1=h,this.i46_1=f,this.j46_1=v,this.k46_1=d}toString(){return"PerformanceMetrics(frameTime="+this.y45_1+", fps="+this.z45_1+", memoryUsed="+this.a46_1.toString()+", memoryAllocated="+this.b46_1.toString()+", gcCount="+this.c46_1.toString()+", renderTime="+this.d46_1+", cpuTime="+this.e46_1+", drawCalls="+this.f46_1.toString()+", readPixels="+this.g46_1.toString()+", vertexCount="+this.h46_1.toString()+", drawBatchPrimitives="+this.i46_1.toString()+", drawBatchSprites="+this.j46_1.toString()+", drawOnScreen="+this.k46_1.toString()+")"}hashCode(){var r=Vt(this.y45_1);return r=Dt(r,31)+Vt(this.z45_1)|0,r=Dt(r,31)+$t(this.a46_1)|0,r=Dt(r,31)+$t(this.b46_1)|0,r=Dt(r,31)+$t(this.c46_1)|0,r=Dt(r,31)+Vt(this.d46_1)|0,r=Dt(r,31)+Vt(this.e46_1)|0,r=Dt(r,31)+$t(this.f46_1)|0,r=Dt(r,31)+$t(this.g46_1)|0,r=Dt(r,31)+$t(this.h46_1)|0,r=Dt(r,31)+$t(this.i46_1)|0,r=Dt(r,31)+$t(this.j46_1)|0,r=Dt(r,31)+$t(this.k46_1)|0,r}equals(r){return this===r?!0:!(!(r instanceof Wi())||!E(this.y45_1,r.y45_1)||!E(this.z45_1,r.z45_1)||this.a46_1!==r.a46_1||this.b46_1!==r.b46_1||this.c46_1!==r.c46_1||!E(this.d46_1,r.d46_1)||!E(this.e46_1,r.e46_1)||this.f46_1!==r.f46_1||this.g46_1!==r.g46_1||this.h46_1!==r.h46_1||this.i46_1!==r.i46_1||this.j46_1!==r.j46_1||this.k46_1!==r.k46_1)}}p(e,"PerformanceMetrics"),X1=e}return X1}var Q1;function F8(){if(Q1===l){class e{constructor(){this.l54_1=0n,this.m54_1=0n,this.n54_1=0n,this.o54_1=0n,this.p54_1=0n,this.q54_1=0n,this.r54_1=0n;var r=this;r.s54_1=N().p1(),this.t54_1=300;var t=this;t.u54_1=zr().va(),this.v54_1=!1}d45(r){this.v54_1=r,r&&this.b1h()}c45(){return this.v54_1}k43(){if(!this.c45())return S;this.l54_1=this.w54()}z46(){if(!this.c45())return new(Wi())(0,0,0n,0n);var r=this.w54(),t=Se(Mi(r,this.l54_1)),n=t>0?1e3/t:0,a=this.x54(),s=this.y54(),u=this.z54(t,n,a,s,this.o54_1,this.p54_1,this.r54_1,this.q54_1);return this.s54_1.c1(u),this.s54_1.h1()>this.t54_1&&this.s54_1.w2(0),this.m54_1=r,this.n54_1=a,this.o54_1=0n,this.p54_1=0n,this.q54_1=0n,this.r54_1=0n,u}x44(r){if(!this.c45())return S;var t=this.u54_1,n=this.w54();t.f3(r,n)}a55(r){if(!this.c45())return S;var t=this.o54_1;this.o54_1=en(t,L5());var n=this,a=this.p54_1;n.p54_1=en(a,bt(r))}b55(){if(!this.c45())return S;var r=this.q54_1;this.q54_1=en(r,L5())}a45(r){if(!this.c45())return 0;var t=this.u54_1.g3(r),n;if(t==null)return 0;n=t;var a=n;return Se(Mi(this.w54(),a))}x45(r){if(!this.c45()||this.s54_1.m1())return null;var t=N$(this.s54_1,By(r,this.s54_1.h1()));if(t.m1())return null;for(var n=N().d1(gr(t,10)),a=t.e1();a.f1();){var s=a.g1(),u=s.y45_1;n.c1(u)}for(var _=ui(n),o=N().d1(gr(t,10)),c=t.e1();c.f1();){var h=c.g1(),f=h.z45_1;o.c1(f)}for(var v=ui(o),d=N().d1(gr(t,10)),g=t.e1();g.f1();){var b=g.g1(),w=b.a46_1;d.c1(w)}for(var x=De(Qn(d)),z=0n,k=t.e1();k.f1();){var A=k.g1(),D=z,B=A.b46_1;z=en(D,B)}for(var R=z,W=0n,G=t.e1();G.f1();){var Q=G.g1(),X=W,rr=Q.c46_1;W=en(X,rr)}for(var tr=W,ir=N().d1(gr(t,10)),dr=t.e1();dr.f1();){var cr=dr.g1(),mr=cr.d46_1;ir.c1(mr)}for(var Dr=ui(ir),Ir=N().d1(gr(t,10)),Or=t.e1();Or.f1();){var Yr=Or.g1(),Gr=Yr.e46_1;Ir.c1(Gr)}for(var Er=ui(Ir),ft=N().d1(gr(t,10)),vt=t.e1();vt.f1();){var jt=vt.g1(),tt=jt.f46_1;ft.c1(tt)}for(var qt=De(Qn(ft)),pt=N().d1(gr(t,10)),It=t.e1();It.f1();){var Mt=It.g1(),fe=Mt.h46_1;pt.c1(fe)}for(var Tt=De(Qn(pt)),Ee=N().d1(gr(t,10)),ve=t.e1();ve.f1();){var Zn=ve.g1(),Xn=Zn.g46_1;Ee.c1(Xn)}for(var Sn=De(Qn(Ee)),ii=N().d1(gr(t,10)),Ye=t.e1();Ye.f1();){var si=Ye.g1(),li=si.k46_1;ii.c1(li)}var L1=De(Qn(ii));return new(Wi())(_,v,x,R,tr,Dr,Er,qt,Sn,Tt,l,l,L1)}b1h(){this.s54_1.v2(),this.u54_1.v2(),this.n54_1=this.x54()}}p(e,"BasePerformanceMonitor"),Q1=e}return Q1}function D8(e){var i;try{var r=typeof window.performance.memory<"u";i=r!=null&&typeof r=="boolean"?r:m()}catch(n){var t;if(n instanceof Pe())t=!1;else throw n;i=t}return i}function P8(e){var i;try{i=!1}catch(t){var r;if(t instanceof Pe())r=!1;else throw t;i=r}return i}function B8(e){return e.s5s_1,0}function O8(e,i,r){return j$(i-r,0)}var rl;function zg(){if(rl===l){class e extends F8(){constructor(){super(),this.o5s_1=window.performance,this.p5s_1=0,this.q5s_1=0n,this.r5s_1=!1,this.s5s_1=!1,this.r5s_1=D8(),this.s5s_1=P8(),this.r5s_1&&(this.q5s_1=this.x54()),this.p5s_1=this.o5s_1.now()}x54(){if(!this.c45()||!this.r5s_1)return 0n;var r=window.performance.memory,t=r==null?null:r.usedJSHeapSize,n=t==null?null:t.toLong();return n??0n}y54(){if(!this.c45()||!this.r5s_1)return 0n;var r=this.x54(),t=L$(Mi(r,this.q5s_1),0n);return this.q5s_1=r,t}w54(){return De(this.o5s_1.now())}z54(r,t,n,a,s,u,_,o){var c=this.o5s_1.now(),h;this.p5s_1>0?h=c-this.p5s_1:h=r;var f=h;this.p5s_1=c;var v=B8(this),d=O8(this,f,v),g=f>0?1e3/f:t;return new(Wi())(f,g,n,a,0n,v,d,l,_,l,l,l,o)}}p(e,"WebGlPerformanceMonitor",zg),rl=e}return rl}var qg,Ig,$g,tl;function R8(){if(tl===l){class e{x4e(r){switch(r){case 0:return u1();case 1:return Ad();case 2:return Ed();default:return null}}}ar(e),tl=e}return tl}var l1;function Y5(){return[u1(),Ad(),Ed()]}function Ln(){return el==null&&(el=Hs(Y5())),el}var Cw;function $d(){if(Cw)return S;Cw=!0,qg=new(al())("TOUCH1",0),Ig=new(al())("TOUCH2",1),$g=new(al())("TOUCH3",2)}var el,nl;function al(){if(nl===l){class e extends Kt(){}p(e,"TouchSignal"),nl=e}return nl}function u1(){return $d(),qg}function Ad(){return $d(),Ig}function Ed(){return $d(),$g}l1=new(R8());var il;function Gn(){if(il===l){class e{constructor(r,t){M$(this,t),this.r4d_1=r;var n=this;n.s4d_1=N().p1()}t4d(){if(this.s4d_1.m1()){var r=Ct(0,this.r4d_1),t=r.v1_1,n=r.w1_1;if(t<=n)do{var a=t;t=t+1|0,this.u4d([this.k4d()])}while(a!==n)}var s=this.s4d_1.l1(this.s4d_1.h1()-1|0);return this.s4d_1.w2(this.s4d_1.h1()-1|0),s}u4d(r){for(var t=0,n=r.length;t{var t=e;return PE(t,r),S};return i.callableName="keyDown",i}function RE(e){var i=r=>{var t=e;return BE(t,r),S};return i.callableName="keyUp",i}function UE(e){var i=r=>{var t=e;return TE(t,r),S};return i.callableName="touchStart",i}function KE(e){var i=r=>{var t=e;return FE(t,r),S};return i.callableName="touchEnd",i}function GE(e){var i=r=>{var t=e;return DE(t,r),S};return i.callableName="touchMove",i}function JE(e){var i=r=>{var t=e;return EE(t,r),S};return i.callableName="mouseDown",i}function WE(e){var i=r=>{var t=e;return NE(t,r),S};return i.callableName="mouseUp",i}function HE(e){var i=r=>{var t=e;return LE(t,r),S};return i.callableName="mouseMove",i}function VE(e){var i=r=>{var t=e;return jE(t),S};return i.callableName="mouseLeave",i}function YE(e){var i=r=>{var t=e;return ME(t),S};return i.callableName="mouseEnter",i}var vl;function ZE(){if(vl===l){class e{constructor(r,t){this.p5r_1=r,this.q5r_1=t,this.p5r_1.addEventListener("keydown",OE(this),!1),this.p5r_1.addEventListener("keyup",RE(this),!1),this.p5r_1.addEventListener("touchstart",UE(this),!1),this.p5r_1.addEventListener("touchend",KE(this),!1),this.p5r_1.addEventListener("touchmove",GE(this),!1),this.p5r_1.addEventListener("mousedown",JE(this),!1),this.p5r_1.addEventListener("mouseup",WE(this),!1),this.p5r_1.addEventListener("mousemove",HE(this),!1),this.p5r_1.addEventListener("mouseleave",VE(this),!1),this.p5r_1.addEventListener("mouseenter",YE(this),!1),this.r5r_1=1,this.s5r_1=16,this.t5r_1=256;var n=this;n.u5r_1=[this.r5r_1,this.s5r_1,this.t5r_1],this.v5r_1=T$([u1(),Ad(),Ed()]),this.w5r_1=new(H8())(257),this.x5r_1=!1,this.y5r_1=new(Fn())(0,0),this.z5r_1=null}b4d(r){var t;return r.equals(Q5())?t=this.w5r_1.f4e_1:t=this.w5r_1.s4e(zw(r)),t}c4d(r){var t;return r.equals(Q5())?t=this.w5r_1.m4e():t=this.w5r_1.r4e(zw(r)),t}d4d(r){return this.w5r_1.d4d(r)}e4d(r){return this.w5r_1.e4d(r)}f4d(){return this.y5r_1}z44(){return S}b1h(){this.w5r_1.v4e()}g4d(r){this.p5r_1.addEventListener("onClick",t=>(r(),S),!1),this.z5r_1=r}}F(e).f45=$E,p(e,"JsInputHandler",l,l,[AE()]),vl=e}return vl}var pl;function XE(){if(pl===l){class e{constructor(r,t,n,a,s,u){s=s===l?n/r|0:s,u=u===l?a/t|0:u,this.f54_1=r,this.g54_1=t,this.h54_1=n,this.i54_1=a,this.j54_1=s,this.k54_1=u}}p(e,"WindowManager"),pl=e}return pl}var dl;function QE(){if(dl===l){class e{constructor(r){this.fs_1=r}gs(r){return this.fs_1.createShader(r)}hs(r,t){return this.fs_1.shaderSource(r,t)}is(r){return this.fs_1.compileShader(r)}js(r){return this.fs_1.deleteShader(r)}ks(r,t){var n=nr(this.fs_1.getShaderParameter(r,t));return typeof n=="boolean"?n?1:0:typeof n=="number"?n:m()}ls(r){return this.fs_1.getProgramInfoLog(r)}ms(r){return this.fs_1.getShaderInfoLog(r)}ns(r,t){var n=nr(this.fs_1.getProgramParameter(r,t));return typeof n=="boolean"?n?1:0:typeof n=="number"?n:m()}os(){return this.fs_1.createProgram()}ps(r,t){var n=r;return this.fs_1.attachShader(n,t)}qs(r){return this.fs_1.linkProgram(r)}rs(r){return this.fs_1.useProgram(r)}ss(r,t){return this.fs_1.getUniformLocation(r,t)}ts(r,t){return this.fs_1.getAttribLocation(r,t)}us(r){return this.fs_1.enableVertexAttribArray(r)}vs(r){return this.fs_1.disableVertexAttribArray(r)}ws(r){return this.fs_1.enable(r)}xs(r){return this.fs_1.disable(r)}ys(){var r=this.fs_1.createBuffer(),t;if(r==null)throw Pe().sc();return t=r,t}zs(r,t){return this.fs_1.bindBuffer(r,t)}at(r,t,n,a){this.fs_1.bufferData(r,t.as(),a)}bt(r,t,n,a,s,u){return this.fs_1.vertexAttribPointer(r,t,n,a,s,u)}ct(r,t){return this.fs_1.uniform1i(r,t)}dt(r,t,n){return this.fs_1.uniform2f(r,t,n)}et(r,t,n){return this.fs_1.uniform2i(r,t,n)}ft(r,t,n,a){return this.fs_1.uniform3i(r,t,n,a)}gt(r,t,n,a){return this.fs_1.viewport(r,t,n,a)}ht(r){return this.fs_1.clear(r)}it(r,t,n,a){return this.fs_1.clearColor(r,t,n,a)}jt(r,t){return this.fs_1.blendFunc(r,t)}kt(){var r=this.fs_1.createTexture(),t;if(r==null)throw Pe().sc();return t=r,t}lt(r,t,n,a,s,u,_,o,c){this.fs_1.texImage2D(r,t,n,a,s,u,_,o,c==null?null:c.as())}mt(r){return this.fs_1.activeTexture(r)}nt(r,t){return this.fs_1.bindTexture(r,t)}ot(r,t,n){return this.fs_1.texParameteri(r,t,n)}pt(){var r=this.fs_1.createVertexArray(),t;if(r==null)throw Pe().sc();return t=r,t}qt(r){return this.fs_1.bindVertexArray(r)}rt(r,t,n){return this.fs_1.drawArrays(r,t,n)}st(r,t,n,a){return this.fs_1.drawArraysInstanced(r,t,n,a)}tt(r,t){return this.fs_1.vertexAttribDivisor(r,t)}ut(r,t){return this.fs_1.pixelStorei(r,t)}vt(r,t,n,a){return this.fs_1.blendFuncSeparate(r,t,n,a)}wt(r){this.fs_1.stencilMask(r)}xt(r,t,n,a){this.fs_1.colorMask(r,t,n,a)}yt(r,t,n){this.fs_1.stencilOp(r,t,n)}zt(r,t,n){this.fs_1.stencilFunc(r,t,n)}au(r,t){return this.fs_1.bindFramebuffer(r,t)}bu(){var r=this.fs_1.createFramebuffer(),t;if(r==null)throw Pe().sc();return t=r,t}cu(r){return this.fs_1.checkFramebufferStatus(r)}du(r,t,n,a,s){return this.fs_1.framebufferTexture2D(r,t,n,a,s)}eu(r,t){return this.fs_1.bindRenderbuffer(r,t)}fu(){var r=this.fs_1.createRenderbuffer(),t;if(r==null)throw Pe().sc();return t=r,t}gu(r,t,n,a){return this.fs_1.framebufferRenderbuffer(r,t,n,a)}hu(r,t,n,a){return this.fs_1.renderbufferStorage(r,t,n,a)}iu(r,t,n,a,s,u,_){this.fs_1.readPixels(r,t,n,a,s,u,_.as())}ju(r){return this.fs_1.depthFunc(r)}}p(e,"KglJs"),dl=e}return dl}function U2(){return!1}var ml;function _1(){if(ml===l){class e{}Ar(e,"SourceStream",l,l,l,[0]),ml=e}return ml}function r9(e,i){return new Int8Array(i)}var wl;function t9(){if(wl===l){class e{constructor(r){this.k5r_1=r}d4a(r){var t=Sa().zb(za(r)),n=t,a=new XMLHttpRequest;return a.responseType="arraybuffer",a.open("GET",this.k5r_1,!0),a.onload=s=>{if(a.readyState===4&&a.status===200){var u=a.response,_=u instanceof ArrayBuffer?u:m(),o=r9(this,_),c=Ke(o);n.ib(c)}return S},a.send(),t.ac()}c4a(r){var t=Sa().zb(za(r)),n=t,a=new XMLHttpRequest;return a.responseType="arraybuffer",a.open("HEAD",this.k5r_1,!0),a.onload=s=>{var u=a.status===200,_=Ke(u);return n.ib(_),S},a.send(),t.ac()}}F(e).f4a=U2,p(e,"AjaxStream",l,l,[_1()],[0]),wl=e}return wl}var yl;function e9(){if(yl===l){class e{constructor(r,t,n){this.x53_1=r,this.y53_1=t,this.z53_1=n}}p(e,"ImageData"),yl=e}return yl}var gl;function n9(){if(gl===l){class e{constructor(r,t,n,a){a=a===l?ot():a,this.x4v_1=r,this.y4v_1=t,this.z4v_1=n,this.a4w_1=a}}p(e,"SoundData"),gl=e}return gl}function a9(){return S}function i9(){return S}function s9(e,i,r){return i=i===l?!0:i,r===l?this.a54(e,i):r.a54.call(this,e,i)}function l9(e,i,r){return i=i===l?!0:i,r===l?this.c54(e,i):r.c54.call(this,e,i)}var bl;function u9(){if(bl===l){class e{}Ar(e,"Platform"),bl=e}return bl}function*_9(e,i){var r=Sa().zb(za(i)),t=new Image;t.addEventListener("load",new(o9())(t,r)),t.src=e.l5r_1;var n=r.ac(),a=F$(n);return a===O()&&(a=yield a),a}var kl;function o9(){if(kl===l){class e{constructor(r,t){this.m5r_1=r,this.n5r_1=t}o5r(r){var t=document.createElement("canvas"),n=t instanceof HTMLCanvasElement?t:m(),a=n.getContext("2d"),s=a instanceof CanvasRenderingContext2D?a:m();n.width=this.m5r_1.width,n.height=this.m5r_1.height,s.drawImage(this.m5r_1,0,0);var u=s.getImageData(0,0,this.m5r_1.width,this.m5r_1.height),_=new Int8Array(u.data.buffer),o=new(e9())(_,this.m5r_1.width,this.m5r_1.height),c=Ke(o);this.n5r_1.ib(c)}handleEvent(r){return this.o5r(r)}}p(e),kl=e}return kl}var Cl;function c9(){if(Cl===l){class e{constructor(r){this.l5r_1=r}c4a(r){var t=Sa().zb(za(r)),n=t,a=new XMLHttpRequest;return a.responseType="arraybuffer",a.open("HEAD",this.l5r_1,!0),a.onload=s=>{var u=a.status===200,_=Ke(u);return n.ib(_),S},a.send(),t.ac()}d4a(r){return er(_9.bind(l,this),r)}}F(e).f4a=U2,p(e,"ImageDataStream",l,l,[_1()],[0]),Cl=e}return Cl}const h9=()=>{class e{constructor(r){this.url=r}}return new e(new URL(""+new URL("assets/SynthesizerAudioWorklet__generated__worklet__module-DSBZntx9.js",import.meta.url).href,import.meta.url),{type:"module"}).url};function f9(){return G2(),K2}var K2;function v9(e){G2();var i=D$("Kotlin raw error wrapper. Please check 'cause' for the original error");return i.name=f9(),Reflect.set(i,"cause",e),i}var Iw;function G2(){Iw||(Iw=!0,K2="KotlinRawErrorWrapper")}function p9(e){var i=e,r=i instanceof Error?i:null;return r??v9(e)}function d9(e,i){var r=t=>{var n=i,a=Ke(t);return n.ib(a),null};e.then(r,t=>{var n=i,a=p9(t),s=Ke(Uy(a));return n.ib(s),null})}function m9(e,i){var r=Sa().zb(za(i));return d9(e,r),r.ac()}var xl;function w9(){if(xl===l){class e{constructor(r){this.x5q_1=r}n4u(r){var t=this.x5q_1.f4b(r);return this.x5q_1.y5q(t)}f4b(r){var t=this.x5q_1.f4b(r);return t}d4u(r,t){this.x5q_1.d4u(r,t)}e4u(r){this.x5q_1.e4u(r)}}p(e,"DefaultSoundBoard"),xl=e}return xl}function y9(e,i,r,t,n){if(i==null)return new Float32Array([]);if(r.m1())return new Float32Array([]);for(var a=60/t,s=new Float32Array([]),u=r.e1();u.f1();){var _=u.g1(),o=_.a4s_1,c=o??i,h=_.x4r_1*a+c.j4s_1,f=h*44100,v=Km(f),d=P$(c.k4s_1),g=1/Math.max(1,d),b=new Float32Array(v),w=_.v4r_1,x=w==null?null:w.r4q_1,z=x??0,k=0;if(ks.length&&(s=j5(s,Yr));var Gr=0,Er=Ir;if(Erthis.d5r_1?!1:this.e5r_1.i1(r)}i1(r){return this.g5r(r)}v2(){return this.e5r_1.v2()}l1(r){return this.e5r_1.l1(r)}m1(){return this.e5r_1.m1()}e1(){return this.e5r_1.e1()}n1(r){return this.e5r_1.n1(r)}w2(r){return this.e5r_1.w2(r)}h5r(r,t){return this.e5r_1.r1(r,t)}r1(r,t){return this.h5r(r,t==null||t!=null?t:m())}i5r(r){return this.e5r_1.f2(r)}f2(r){return this.i5r(r)}j5r(r){return this.e5r_1.s2(r)}s2(r){return r==null||r!=null?this.j5r(r==null||r!=null?r:m()):-1}}p(e,"MutableFixedSizeList",l,l,[Ky()]),ql=e}return ql}var Il;function z9(){if(Il===l){class e{constructor(r){this.o4q_1=r}hh(r,t){return this.o4q_1(r,t)}compare(r,t){return this.hh(r,t)}o3(){return this.o4q_1}equals(r){var t;if(r!=null&&j(r,ae())){var n;r!=null&&j(r,et())?n=E(this.o3(),r.o3()):n=!1,t=n}else t=!1;return t}hashCode(){return Z(this.o3())}}p(e,"sam$kotlin_Comparator$0",l,l,[ae(),et()]),Il=e}return Il}function q9(e,i){var r=e.s4q_1,t=i.s4q_1;return Pa(r,t)}var J2,W2,H2,V2,Y2,Z2,X2,Q2,rk,tk,ek,nk,ak,ik,sk,lk,uk,_k,ok,ck,hk,fk,vk,pk,dk,mk,wk,yk,gk,bk,kk,Ck,xk,Sk,zk,qk,Ik,$k,Ak,Ek,Nk,Lk,jk,Mk,Tk,Fk,Dk,Pk,Bk,Ok,Rk,Uk,Kk,Gk,Jk,Wk,Hk,Vk,Yk,Zk,Xk,Qk,rC,tC,eC,nC,aC,iC,sC,lC,uC,_C,oC,cC,hC,fC,vC,pC,dC,mC,wC,yC,gC,bC,kC,CC,xC,SC,zC,qC,IC,$C,AC,EC,NC,LC,jC,MC,TC,FC,DC,PC,BC,OC,RC,UC,KC,GC,JC,WC,HC,VC,YC,ZC,XC,QC,r6,t6,e6,n6,a6,i6,s6,l6,u6,_6,o6,c6,h6,f6,v6,p6,d6,m6,w6,y6,g6,b6,k6,C6,x6,S6,z6,q6,I6,$6,A6,E6,N6,L6,j6,M6,T6,$l;function I9(){if($l===l){class e{constructor(){rp=this;for(var r=this,t=D6(),n=lt(t),a=Wt().u8(),s=N().p1(),u=0,_=n.length;u<_;){var o=n[u];u=u+1|0;var c=o.s4q_1;a.c1(c)&&s.c1(o)}var h=q9,f=new(z9())(h),v=Ws(s,f);r.u4q_1=lt(v)}v4q(r){return this.u4q_1[r]}w4q(r){return $9(r)}}ar(e),$l=e}return $l}var rp;function qe(){return q(),rp===l&&new(I9()),rp}function F6(){return[o1(),P6(),B6(),O6(),R6(),U6(),K6(),G6(),J6(),W6(),H6(),V6(),Y6(),Z6(),X6(),Q6(),rx(),tx(),ex(),nx(),ax(),ix(),sx(),lx(),ux(),_x(),ox(),cx(),hx(),fx(),vx(),px(),dx(),mx(),wx(),yx(),gx(),bx(),kx(),Cx(),xx(),Sx(),zx(),qx(),Ix(),$x(),Ax(),Ex(),Nx(),Lx(),jx(),Mx(),Tx(),Fx(),Dx(),Px(),Bx(),Ox(),Rx(),Ux(),Kx(),Gx(),Jx(),Wx(),Hx(),Vx(),Yx(),Zx(),Xx(),Qx(),rS(),tS(),eS(),nS(),aS(),iS(),sS(),lS(),uS(),_S(),oS(),cS(),hS(),fS(),vS(),jd(),pS(),dS(),mS(),wS(),yS(),gS(),bS(),kS(),CS(),xS(),SS(),zS(),Ea(),qS(),IS(),$S(),AS(),ES(),NS(),LS(),jS(),MS(),TS(),FS(),DS(),PS(),BS(),OS(),RS(),US(),KS(),GS(),JS(),WS(),HS(),VS(),YS(),ZS(),XS(),QS(),rz(),tz(),ez(),nz(),az(),iz(),sz(),lz(),uz(),_z(),oz(),cz(),hz(),fz(),vz(),pz(),dz(),mz(),wz(),yz(),gz(),bz(),kz(),Cz(),xz(),Sz(),Md()]}function $9(e){switch(e){case"C0":return o1();case"Cs0":return P6();case"Db0":return B6();case"D0":return O6();case"Ds0":return R6();case"Eb0":return U6();case"E0":return K6();case"F0":return G6();case"Fs0":return J6();case"Gb0":return W6();case"G0":return H6();case"Gs0":return V6();case"Ab0":return Y6();case"A0":return Z6();case"As0":return X6();case"Bb0":return Q6();case"B0":return rx();case"C1":return tx();case"Cs1":return ex();case"Db1":return nx();case"D1":return ax();case"Ds1":return ix();case"Eb1":return sx();case"E1":return lx();case"F1":return ux();case"Fs1":return _x();case"Gb1":return ox();case"G1":return cx();case"Gs1":return hx();case"Ab1":return fx();case"A1":return vx();case"As1":return px();case"Bb1":return dx();case"B1":return mx();case"C2":return wx();case"Cs2":return yx();case"Db2":return gx();case"D2":return bx();case"Ds2":return kx();case"Eb2":return Cx();case"E2":return xx();case"F2":return Sx();case"Fs2":return zx();case"Gb2":return qx();case"G2":return Ix();case"Gs2":return $x();case"Ab2":return Ax();case"A2":return Ex();case"As2":return Nx();case"Bb2":return Lx();case"B2":return jx();case"C3":return Mx();case"Cs3":return Tx();case"Db3":return Fx();case"D3":return Dx();case"Ds3":return Px();case"Eb3":return Bx();case"E3":return Ox();case"F3":return Rx();case"Fs3":return Ux();case"Gb3":return Kx();case"G3":return Gx();case"Gs3":return Jx();case"Ab3":return Wx();case"A3":return Hx();case"As3":return Vx();case"Bb3":return Yx();case"B3":return Zx();case"C4":return Xx();case"Cs4":return Qx();case"Db4":return rS();case"D4":return tS();case"Ds4":return eS();case"Eb4":return nS();case"E4":return aS();case"F4":return iS();case"Fs4":return sS();case"Gb4":return lS();case"G4":return uS();case"Gs4":return _S();case"Ab4":return oS();case"A4":return cS();case"As4":return hS();case"Bb4":return fS();case"B4":return vS();case"C5":return jd();case"Cs5":return pS();case"Db5":return dS();case"D5":return mS();case"Ds5":return wS();case"Eb5":return yS();case"E5":return gS();case"F5":return bS();case"Fs5":return kS();case"Gb5":return CS();case"G5":return xS();case"Gs5":return SS();case"Ab5":return zS();case"A5":return Ea();case"As5":return qS();case"Bb5":return IS();case"B5":return $S();case"C6":return AS();case"Cs6":return ES();case"Db6":return NS();case"D6":return LS();case"Ds6":return jS();case"Eb6":return MS();case"E6":return TS();case"F6":return FS();case"Fs6":return DS();case"Gb6":return PS();case"G6":return BS();case"Gs6":return OS();case"Ab6":return RS();case"A6":return US();case"As6":return KS();case"Bb6":return GS();case"B6":return JS();case"C7":return WS();case"Cs7":return HS();case"Db7":return VS();case"D7":return YS();case"Ds7":return ZS();case"Eb7":return XS();case"E7":return QS();case"F7":return rz();case"Fs7":return tz();case"Gb7":return ez();case"G7":return nz();case"Gs7":return az();case"Ab7":return iz();case"A7":return sz();case"As7":return lz();case"Bb7":return uz();case"B7":return _z();case"C8":return oz();case"Cs8":return cz();case"Db8":return hz();case"D8":return fz();case"Ds8":return vz();case"Eb8":return pz();case"E8":return dz();case"F8":return mz();case"Fs8":return wz();case"Gb8":return yz();case"G8":return gz();case"Gs8":return bz();case"Ab8":return kz();case"A8":return Cz();case"As8":return xz();case"Bb8":return Sz();case"B8":return Md();default:q(),Jy("No enum constant com.github.minigdx.tiny.lua.Note."+e);break}}function D6(){return Al==null&&(Al=Hs(F6())),Al}var $w;function q(){if($w)return S;$w=!0,J2=new(I())("C0",0,16.35,1),W2=new(I())("Cs0",1,17.32,2),H2=new(I())("Db0",2,17.32,2),V2=new(I())("D0",3,18.35,3),Y2=new(I())("Ds0",4,19.45,4),Z2=new(I())("Eb0",5,19.45,4),X2=new(I())("E0",6,20.6,5),Q2=new(I())("F0",7,21.83,6),rk=new(I())("Fs0",8,23.12,7),tk=new(I())("Gb0",9,23.12,7),ek=new(I())("G0",10,24.5,8),nk=new(I())("Gs0",11,25.96,9),ak=new(I())("Ab0",12,25.96,9),ik=new(I())("A0",13,27.5,10),sk=new(I())("As0",14,29.14,11),lk=new(I())("Bb0",15,29.14,11),uk=new(I())("B0",16,30.87,12),_k=new(I())("C1",17,32.7,13),ok=new(I())("Cs1",18,34.65,14),ck=new(I())("Db1",19,34.65,14),hk=new(I())("D1",20,36.71,15),fk=new(I())("Ds1",21,38.89,16),vk=new(I())("Eb1",22,38.89,16),pk=new(I())("E1",23,41.2,17),dk=new(I())("F1",24,43.65,18),mk=new(I())("Fs1",25,46.25,19),wk=new(I())("Gb1",26,46.25,19),yk=new(I())("G1",27,49,20),gk=new(I())("Gs1",28,51.91,21),bk=new(I())("Ab1",29,51.91,21),kk=new(I())("A1",30,55,22),Ck=new(I())("As1",31,58.27,23),xk=new(I())("Bb1",32,58.27,23),Sk=new(I())("B1",33,61.74,24),zk=new(I())("C2",34,65.41,25),qk=new(I())("Cs2",35,69.3,26),Ik=new(I())("Db2",36,69.3,26),$k=new(I())("D2",37,73.42,27),Ak=new(I())("Ds2",38,77.78,28),Ek=new(I())("Eb2",39,77.78,28),Nk=new(I())("E2",40,82.41,29),Lk=new(I())("F2",41,87.31,30),jk=new(I())("Fs2",42,92.5,31),Mk=new(I())("Gb2",43,92.5,31),Tk=new(I())("G2",44,98,32),Fk=new(I())("Gs2",45,103.83,33),Dk=new(I())("Ab2",46,103.83,33),Pk=new(I())("A2",47,110,34),Bk=new(I())("As2",48,116.54,35),Ok=new(I())("Bb2",49,116.54,35),Rk=new(I())("B2",50,123.47,36),Uk=new(I())("C3",51,130.81,37),Kk=new(I())("Cs3",52,138.59,38),Gk=new(I())("Db3",53,138.59,38),Jk=new(I())("D3",54,146.83,39),Wk=new(I())("Ds3",55,155.56,40),Hk=new(I())("Eb3",56,155.56,40),Vk=new(I())("E3",57,164.81,41),Yk=new(I())("F3",58,174.61,42),Zk=new(I())("Fs3",59,185,43),Xk=new(I())("Gb3",60,185,43),Qk=new(I())("G3",61,196,44),rC=new(I())("Gs3",62,207.65,45),tC=new(I())("Ab3",63,207.65,45),eC=new(I())("A3",64,220,46),nC=new(I())("As3",65,233.08,47),aC=new(I())("Bb3",66,233.08,47),iC=new(I())("B3",67,246.94,48),sC=new(I())("C4",68,261.63,49),lC=new(I())("Cs4",69,277.18,50),uC=new(I())("Db4",70,277.18,50),_C=new(I())("D4",71,293.66,51),oC=new(I())("Ds4",72,311.13,52),cC=new(I())("Eb4",73,311.13,52),hC=new(I())("E4",74,329.63,53),fC=new(I())("F4",75,349.23,54),vC=new(I())("Fs4",76,369.99,55),pC=new(I())("Gb4",77,369.99,55),dC=new(I())("G4",78,392,56),mC=new(I())("Gs4",79,415.3,57),wC=new(I())("Ab4",80,415.3,57),yC=new(I())("A4",81,440,58),gC=new(I())("As4",82,466.16,59),bC=new(I())("Bb4",83,466.16,59),kC=new(I())("B4",84,493.88,60),CC=new(I())("C5",85,523.25,61),xC=new(I())("Cs5",86,554.37,62),SC=new(I())("Db5",87,554.37,62),zC=new(I())("D5",88,587.33,63),qC=new(I())("Ds5",89,622.25,64),IC=new(I())("Eb5",90,622.25,64),$C=new(I())("E5",91,659.26,65),AC=new(I())("F5",92,698.46,66),EC=new(I())("Fs5",93,739.99,67),NC=new(I())("Gb5",94,739.99,67),LC=new(I())("G5",95,783.99,68),jC=new(I())("Gs5",96,830.61,69),MC=new(I())("Ab5",97,830.61,69),TC=new(I())("A5",98,880,70),FC=new(I())("As5",99,932.33,71),DC=new(I())("Bb5",100,932.33,71),PC=new(I())("B5",101,987.77,72),BC=new(I())("C6",102,1046.5,73),OC=new(I())("Cs6",103,1108.73,74),RC=new(I())("Db6",104,1108.73,74),UC=new(I())("D6",105,1174.66,75),KC=new(I())("Ds6",106,1244.51,76),GC=new(I())("Eb6",107,1244.51,76),JC=new(I())("E6",108,1318.51,77),WC=new(I())("F6",109,1396.91,78),HC=new(I())("Fs6",110,1479.98,79),VC=new(I())("Gb6",111,1479.98,79),YC=new(I())("G6",112,1567.98,80),ZC=new(I())("Gs6",113,1661.22,81),XC=new(I())("Ab6",114,1661.22,81),QC=new(I())("A6",115,1760,82),r6=new(I())("As6",116,1864.66,83),t6=new(I())("Bb6",117,1864.66,83),e6=new(I())("B6",118,1975.53,84),n6=new(I())("C7",119,2093,85),a6=new(I())("Cs7",120,2217.46,86),i6=new(I())("Db7",121,2217.46,86),s6=new(I())("D7",122,2349.32,87),l6=new(I())("Ds7",123,2489.02,88),u6=new(I())("Eb7",124,2489.02,88),_6=new(I())("E7",125,2637.02,89),o6=new(I())("F7",126,2793.83,90),c6=new(I())("Fs7",127,2959.96,91),h6=new(I())("Gb7",128,2959.96,91),f6=new(I())("G7",129,3135.96,92),v6=new(I())("Gs7",130,3322.44,93),p6=new(I())("Ab7",131,3322.44,93),d6=new(I())("A7",132,3520,94),m6=new(I())("As7",133,3729.31,95),w6=new(I())("Bb7",134,3729.31,95),y6=new(I())("B7",135,3951.07,96),g6=new(I())("C8",136,4186.01,97),b6=new(I())("Cs8",137,4434.92,98),k6=new(I())("Db8",138,4434.92,98),C6=new(I())("D8",139,4698.63,99),x6=new(I())("Ds8",140,4978.03,100),S6=new(I())("Eb8",141,4978.03,100),z6=new(I())("E8",142,5274.04,101),q6=new(I())("F8",143,5587.65,102),I6=new(I())("Fs8",144,5919.91,103),$6=new(I())("Gb8",145,5919.91,103),A6=new(I())("G8",146,6271.93,104),E6=new(I())("Gs8",147,6644.88,105),N6=new(I())("Ab8",148,6644.88,105),L6=new(I())("A8",149,7040,106),j6=new(I())("As8",150,7458.62,107),M6=new(I())("Bb8",151,7458.62,107),T6=new(I())("B8",152,7902.13,108),qe()}var Al,El;function I(){if(El===l){class e extends Kt(){constructor(r,t,n,a){super(r,t),this.r4q_1=n,this.s4q_1=a,this.t4q_1=Gy(this.h3_1,1)}x4q(){var r=(this.s4q_1-1|0)%12|0,t=((this.s4q_1-1|0)-r|0)/12|0;return t}}p(e,"Note"),El=e}return El}var Nl;function A9(){if(Nl===l){class e extends pr(){static b4r(r,t){return t===l&&(t={}),t.a4r_1=r,this.g2w(t)}f1q(r){return y().y1u(qe().v4q(r.i1p()).h3_1)}}p(e,"note",l,l,l,[1,0,2,3]),Nl=e}return Nl}var Ll;function E9(){if(Ll===l){class e extends kr(){static e4r(){return this.l2r()}g1q(r,t){for(var n=sr().p1i(),a=D6().e1();a.f1();){var s=a.g1();n.c1n(s.h3_1,y().y1t(s.s4q_1))}return n.c1n("note",A9().b4r(this)),t.c1n("notes",n),t.w1m("package").w1m("loaded").c1n("notes",n),n}}p(e,"NotesLib",e.e4r,l,l,[0,1,2,3]),Ll=e}return Ll}function o1(){return q(),J2}function P6(){return q(),W2}function B6(){return q(),H2}function O6(){return q(),V2}function R6(){return q(),Y2}function U6(){return q(),Z2}function K6(){return q(),X2}function G6(){return q(),Q2}function J6(){return q(),rk}function W6(){return q(),tk}function H6(){return q(),ek}function V6(){return q(),nk}function Y6(){return q(),ak}function Z6(){return q(),ik}function X6(){return q(),sk}function Q6(){return q(),lk}function rx(){return q(),uk}function tx(){return q(),_k}function ex(){return q(),ok}function nx(){return q(),ck}function ax(){return q(),hk}function ix(){return q(),fk}function sx(){return q(),vk}function lx(){return q(),pk}function ux(){return q(),dk}function _x(){return q(),mk}function ox(){return q(),wk}function cx(){return q(),yk}function hx(){return q(),gk}function fx(){return q(),bk}function vx(){return q(),kk}function px(){return q(),Ck}function dx(){return q(),xk}function mx(){return q(),Sk}function wx(){return q(),zk}function yx(){return q(),qk}function gx(){return q(),Ik}function bx(){return q(),$k}function kx(){return q(),Ak}function Cx(){return q(),Ek}function xx(){return q(),Nk}function Sx(){return q(),Lk}function zx(){return q(),jk}function qx(){return q(),Mk}function Ix(){return q(),Tk}function $x(){return q(),Fk}function Ax(){return q(),Dk}function Ex(){return q(),Pk}function Nx(){return q(),Bk}function Lx(){return q(),Ok}function jx(){return q(),Rk}function Mx(){return q(),Uk}function Tx(){return q(),Kk}function Fx(){return q(),Gk}function Dx(){return q(),Jk}function Px(){return q(),Wk}function Bx(){return q(),Hk}function Ox(){return q(),Vk}function Rx(){return q(),Yk}function Ux(){return q(),Zk}function Kx(){return q(),Xk}function Gx(){return q(),Qk}function Jx(){return q(),rC}function Wx(){return q(),tC}function Hx(){return q(),eC}function Vx(){return q(),nC}function Yx(){return q(),aC}function Zx(){return q(),iC}function Xx(){return q(),sC}function Qx(){return q(),lC}function rS(){return q(),uC}function tS(){return q(),_C}function eS(){return q(),oC}function nS(){return q(),cC}function aS(){return q(),hC}function iS(){return q(),fC}function sS(){return q(),vC}function lS(){return q(),pC}function uS(){return q(),dC}function _S(){return q(),mC}function oS(){return q(),wC}function cS(){return q(),yC}function hS(){return q(),gC}function fS(){return q(),bC}function vS(){return q(),kC}function jd(){return q(),CC}function pS(){return q(),xC}function dS(){return q(),SC}function mS(){return q(),zC}function wS(){return q(),qC}function yS(){return q(),IC}function gS(){return q(),$C}function bS(){return q(),AC}function kS(){return q(),EC}function CS(){return q(),NC}function xS(){return q(),LC}function SS(){return q(),jC}function zS(){return q(),MC}function Ea(){return q(),TC}function qS(){return q(),FC}function IS(){return q(),DC}function $S(){return q(),PC}function AS(){return q(),BC}function ES(){return q(),OC}function NS(){return q(),RC}function LS(){return q(),UC}function jS(){return q(),KC}function MS(){return q(),GC}function TS(){return q(),JC}function FS(){return q(),WC}function DS(){return q(),HC}function PS(){return q(),VC}function BS(){return q(),YC}function OS(){return q(),ZC}function RS(){return q(),XC}function US(){return q(),QC}function KS(){return q(),r6}function GS(){return q(),t6}function JS(){return q(),e6}function WS(){return q(),n6}function HS(){return q(),a6}function VS(){return q(),i6}function YS(){return q(),s6}function ZS(){return q(),l6}function XS(){return q(),u6}function QS(){return q(),_6}function rz(){return q(),o6}function tz(){return q(),c6}function ez(){return q(),h6}function nz(){return q(),f6}function az(){return q(),v6}function iz(){return q(),p6}function sz(){return q(),d6}function lz(){return q(),m6}function uz(){return q(),w6}function _z(){return q(),y6}function oz(){return q(),g6}function cz(){return q(),b6}function hz(){return q(),k6}function fz(){return q(),C6}function vz(){return q(),x6}function pz(){return q(),S6}function dz(){return q(),z6}function mz(){return q(),q6}function wz(){return q(),I6}function yz(){return q(),$6}function gz(){return q(),A6}function bz(){return q(),E6}function kz(){return q(),N6}function Cz(){return q(),L6}function xz(){return q(),j6}function Sz(){return q(),M6}function Md(){return q(),T6}var jl;function N9(){if(jl===l){class e{constructor(r,t,n,a){this.t5o_1=r,this.u5o_1=t,this.v5o_1=n,this.w5o_1=a}x5o(r){var t=this.t5o_1(),n=this.u5o_1(),a=this.v5o_1(),s;if(r<0)s=0;else if(r<=t){var u;t===0?u=1:u=r/t,s=u}else if(r<=(t+n|0)){var _;if(n===0)_=a;else{var o=r-t|0,c=1-a;_=1-c*o/n}s=_}else s=a;return s}y5o(r){var t=this.v5o_1(),n=this.w5o_1(),a;if(r<=n){var s;n===0||r<0?s=0:s=t*(1-r/n),a=s}else a=0;return a}}p(e,"Envelop"),jl=e}return jl}var Ml;function L9(){if(Ml===l){class e{constructor(r){this.z5o_1=r}a5p(r,t,n){for(var a=r.r4q_1,s=this.z5o_1(),u=0,_=0,o=0,c=s.length;o0?1:-1;break;case 0:var f=r*n%1;s=2*f-1;break;case 1:var v=r*n%1,d=.25;s=vr}toString(){return this.i5p_1.toString()+" - "+this.j5p_1+" - "+this.k5p_1}}p(e,"NoteProgress",Hi),Dl=e}return Dl}var Pl;function T9(){if(Pl===l){class e extends Gn(){constructor(){super(100)}k4d(){return new(Hi())}o5p(r){r.j5p_1=0,r.k5p_1=0}q4d(r){return this.o5p(r instanceof Hi()?r:m())}}p(e),Pl=e}return Pl}var Bl;function F9(){if(Bl===l){class e{constructor(r){this.p5p_1=r;var t=this,n=()=>Br(this.p5p_1.g4s_1*44100),a=()=>Br(this.p5p_1.h4s_1*44100),s=()=>this.p5p_1.i4s_1;t.q5p_1=new(N9())(n,a,s,()=>Br(this.p5p_1.j4s_1*44100));var u=this;u.r5p_1=new(L9())(()=>this.p5p_1.k4s_1);var _=this;_.s5p_1=new(M9())(()=>this.p5p_1.f4s_1);var o=this;o.t5p_1=gt().o1();var c=this;c.u5p_1=gt().o1();var h=this;h.v5p_1=new(T9())}w5p(r){var t=this.v5p_1.t4d();t.i5p_1=r,this.t5p_1.c1(t)}e4u(r){var t=this.t5p_1,n;r:{for(var a=t.e1();a.f1();){var s=a.g1();if(s.i5p_1.equals(r)){n=s;break r}}n=null}var u=n,_;if(u==null){var o=this.v5p_1.t4d();o.i5p_1=r,_=o}else _=u;var c=_;this.t5p_1.u2(c),this.u5p_1.c1(c)}x5p(){for(var r=0,t=this.t5p_1.e1();t.f1();){var n=t.g1(),a=n.i5p_1,s=n.j5p_1+n.k5p_1|0,u=this.r5p_1.a5p(a,s,(B,R)=>{for(var W=this.p5p_1.l4s_1,G=N().p1(),Q=W.e1();Q.f1();){var X=Q.g1();X.v4t()&&G.c1(X)}for(var rr=B,tr=G.e1();tr.f1();){var ir=tr.g1(),dr=rr;rr=ir.m5o(R/44100,dr)}var cr=rr;return this.s5p_1.c5q(cr,R)});u=u*this.q5p_1.x5o(n.j5p_1),r=r+u,n.j5p_1=n.j5p_1+1|0}for(var _=this.u5p_1.e1();_.f1();){var o=_.g1(),c=o.i5p_1,h=o.j5p_1+o.k5p_1|0,f=this.r5p_1.a5p(c,h,(B,R)=>{for(var W=this.p5p_1.l4s_1,G=N().p1(),Q=W.e1();Q.f1();){var X=Q.g1();X.v4t()&&G.c1(X)}for(var rr=B,tr=G.e1();tr.f1();){var ir=tr.g1(),dr=rr;rr=ir.m5o(R/44100,dr)}var cr=rr;return this.s5p_1.c5q(cr,R)}),v;if(o.j5p_1<=(this.q5p_1.t5o_1()+this.q5p_1.u5o_1()|0)){var d=o.j5p_1;o.j5p_1=d+1|0,v=this.q5p_1.x5o(d)}else{var g=o.k5p_1;o.k5p_1=g+1|0,v=this.q5p_1.y5o(g)}var b=v;f=f*b,r=r+f}for(var w=this.q5p_1.w5o_1(),x=this.u5p_1,z=N().p1(),k=x.e1();k.f1();){var A=k.g1();A.l5p(w)&&z.c1(A)}var D=z;return this.u5p_1.f2(M5(D)),this.v5p_1.v4d(D),r}c1h(){for(var r=this.t5p_1.e1();r.f1();){var t=r.g1();t.j5p_1=0}this.u5p_1.i1(this.t5p_1),this.t5p_1.v2()}}p(e,"InstrumentPlayer"),Bl=e}return Bl}var Ol;function zz(){if(Ol===l){class e{constructor(r,t,n,a,s,u,_,o,c,h,f,v,d,g,b,w,x){r=r===l?!1:r,t=t===l?!1:t,n=n===l?!1:n,a=a===l?!1:a,s=s===l?!1:s,u=u===l?!0:u,_=_===l?" ":_,o=o===l?!1:o,c=c===l?!1:c,h=h===l?"type":h,f=f===l?!1:f,v=v===l?!0:v,d=d===l?null:d,g=g===l?!1:g,b=b===l?!1:b,w=w===l?!1:w,x=x===l?Ez():x,this.c3t_1=r,this.d3t_1=t,this.e3t_1=n,this.f3t_1=a,this.g3t_1=s,this.h3t_1=u,this.i3t_1=_,this.j3t_1=o,this.k3t_1=c,this.l3t_1=h,this.m3t_1=f,this.n3t_1=v,this.o3t_1=d,this.p3t_1=g,this.q3t_1=b,this.r3t_1=w,this.s3t_1=x}toString(){return"JsonConfiguration(encodeDefaults="+this.c3t_1+", ignoreUnknownKeys="+this.d3t_1+", isLenient="+this.e3t_1+", "+("allowStructuredMapKeys="+this.f3t_1+", prettyPrint="+this.g3t_1+", explicitNulls="+this.h3t_1+", ")+("prettyPrintIndent='"+this.i3t_1+"', coerceInputValues="+this.j3t_1+", useArrayPolymorphism="+this.k3t_1+", ")+("classDiscriminator='"+this.l3t_1+"', allowSpecialFloatingPointValues="+this.m3t_1+", ")+("useAlternativeNames="+this.n3t_1+", namingStrategy="+Wr(this.o3t_1)+", decodeEnumsCaseInsensitive="+this.p3t_1+", ")+("allowTrailingComma="+this.q3t_1+", allowComments="+this.r3t_1+", classDiscriminatorMode="+this.s3t_1.toString()+")")}}p(e,"JsonConfiguration"),Ol=e}return Ol}var qz,Iz,Aw;function $z(){if(Aw)return S;Aw=!0,qz=new(Ul())("NONE",0),new(Ul())("ALL_JSON_OBJECTS",1),Iz=new(Ul())("POLYMORPHIC",2)}var Rl;function Ul(){if(Rl===l){class e extends Kt(){}p(e,"ClassDiscriminatorMode"),Rl=e}return Rl}function Az(){return $z(),qz}function Ez(){return $z(),Iz}var Kl;function V(){if(Kl===l){class e{}Ar(e,"KSerializer",l,l,[Jn(),pa()]),Kl=e}return Kl}var Gl;function Jn(){if(Gl===l){class e{}Ar(e,"SerializationStrategy"),Gl=e}return Gl}var Jl;function pa(){if(Jl===l){class e{}Ar(e,"DeserializationStrategy"),Jl=e}return Jl}function D9(){return U9(),Nz}var Nz,Wl;function P9(){if(Wl===l){class e{g38(r,t,n){return t=t===l?ot():t,n===l?this.h38(r,t):n.h38.call(this,r,t)}}p(e,"SerializersModule"),Wl=e}return Wl}var Hl;function B9(){if(Hl===l){class e extends P9(){constructor(r,t,n,a,s,u){super(),this.x3q_1=r,this.y3q_1=t,this.z3q_1=n,this.a3r_1=a,this.b3r_1=s,this.c3r_1=u}f38(){return this.c3r_1}k3c(r,t){if(!r.de(t))return null;var n=this.y3q_1.b3(r),a=n==null?null:n.b3(or(t)),s=a!=null&&j(a,Jn())?a:null;if(s!=null)return s;var u=this.z3q_1.b3(r),_=u!=null&&typeof u=="function"?u:null;return _==null?null:_(t)}j3c(r,t){var n=this.a3r_1.b3(r),a;n==null?a=null:a=(j(n,kt())?n:m()).b3(t);var s=a,u=s!=null&&j(s,V())?s:null;if(u!=null)return u;var _=this.b3r_1.b3(r),o=_!=null&&typeof _=="function"?_:null;return o==null?null:o(t)}h38(r,t){var n=this.x3q_1.b3(r),a=n==null?null:n.d3r(t);return a==null||j(a,V())?a:null}w3q(r){for(var t=this.x3q_1.e3().e1();t.f1();){var n=t.g1(),a=n.x2(),s=n.y2();if(s instanceof O9()){var u=j(a,Be())?a:m(),_=s.g3r_1;r.h3r(u,j(_,V())?_:m())}else s instanceof R9()?r.f3r(a,s.e3r_1):yt()}for(var o=this.y3q_1.e3().e1();o.f1();)for(var c=o.g1(),h=c.x2(),f=c.y2(),v=f.e3().e1();v.f1();){var d=v.g1(),g=d.x2(),b=d.y2(),w=j(h,Be())?h:m(),x=j(g,Be())?g:m(),z=j(b,V())?b:m();r.i3r(w,x,z)}for(var k=this.z3q_1.e3().e1();k.f1();){var A=k.g1(),D=A.x2(),B=A.y2(),R=j(D,Be())?D:m();r.j3r(R,typeof B=="function"?B:m())}for(var W=this.b3r_1.e3().e1();W.f1();){var G=W.g1(),Q=G.x2(),X=G.y2(),rr=j(Q,Be())?Q:m();r.k3r(rr,typeof X=="function"?X:m())}}}p(e,"SerialModuleImpl"),Hl=e}return Hl}var Vl;function O9(){if(Vl===l){class e extends Lz(){}p(e,"Argless"),Vl=e}return Vl}var Yl;function R9(){if(Yl===l){class e extends Lz(){}p(e,"WithTypeArguments"),Yl=e}return Yl}var Zl;function Lz(){if(Zl===l){class e{}p(e,"ContextualProvider"),Zl=e}return Zl}var Ew;function U9(){Ew||(Ew=!0,Nz=new(B9())(nn(),nn(),nn(),nn(),nn(),!1))}function Wn(){return D9()}function Nw(e){return ye().p7(e)}var Xl;function Na(){if(Xl===l){class e{}p(e,"Key",Na),Xl=e}return Xl}var Ql;function jz(){if(Ql===l){class e{constructor(){this.c3x_1=Nw(16)}p3y(r,t,n){var a=this.c3x_1,s=a.b3(r),u;if(s==null){var _=Nw(2);a.f3(r,_),u=_}else u=s;var o=u,c=t instanceof Na()?t:m(),h=n??m();o.f3(c,h)}d3x(r,t,n){var a=this.q3y(r,t);if(a!=null)return a;var s=n();return this.p3y(r,t,s),s}q3y(r,t){var n=this.c3x_1.b3(r),a;n==null?a=null:a=n.b3(t instanceof Na()?t:m());var s=a;return s??null}}p(e,"DescriptorSchemaCache",jz),Ql=e}return Ql}function ru(){return c1(),Mz}var Mz;function ci(e){c1();var i=e&15,r;if(i<10){var t=C(48),n=_r(t);r=Ti(i+n|0)}else{var a=i-10|0,s=C(97),u=_r(s);r=Ti(a+u|0)}return r}function Td(e,i){c1(),e.ka(C(34));var r=0,t=0,n=xr(i)-1|0;if(t<=n)do{var a=t;t=t+1|0;var s=Tr(i,a),u=_r(s);u>12),n=ci(r>>8),a=ci(r>>4),s=ci(r);e[r]="\\u"+Lr(t)+Lr(n)+Lr(a)+Lr(s)}while(i<=31);var u=C(34);e[_r(u)]='\\"';var _=C(92);e[_r(_)]="\\\\";var o=C(9);e[_r(o)]="\\t";var c=C(8);e[_r(c)]="\\b";var h=C(10);e[_r(h)]="\\n";var f=C(13);e[_r(f)]="\\r",e[12]="\\f",Mz=e;var v=new Int8Array(93),d=0;if(d<=31)do{var g=d;d=d+1|0,v[g]=1}while(d<=31);var b=C(34),w=_r(b),x=C(34),z=_r(x);v[w]=Ot(z);var k=C(92),A=_r(k),D=C(92),B=_r(D);v[A]=Ot(B);var R=C(9),W=_r(R),G=C(116),Q=_r(G);v[W]=Ot(Q);var X=C(8),rr=_r(X),tr=C(98),ir=_r(tr);v[rr]=Ot(ir);var dr=C(10),cr=_r(dr),mr=C(110),Dr=_r(mr);v[cr]=Ot(Dr);var Ir=C(13),Or=_r(Ir),Yr=C(114),Gr=_r(Yr);v[Or]=Ot(Gr);var Er=C(102),ft=_r(Er);v[12]=Ot(ft)}}var tu;function Fz(){if(tu===l){class e{constructor(){this.v3r_1=Kn().na(128)}d2b(r){this.v3r_1.vf(r)}o3v(r){this.v3r_1.ka(r)}p3v(r){this.v3r_1.ja(r)}y3v(r){Td(this.v3r_1,r)}i1b(){this.v3r_1.yf()}toString(){return this.v3r_1.toString()}}p(e,"JsonToStringWriter",Fz),tu=e}return tu}var eu;function Fd(){if(eu===l){class e extends Oa(){constructor(){Vi=null,super(),Vi=this}}P(e,"ENUM"),eu=e}return eu}var Vi;function Ie(){return Vi===l&&new(Fd()),Vi}var nu;function K9(){if(nu===l){class e extends Oa(){constructor(){Yi=null,super(),Yi=this}}P(e,"CONTEXTUAL"),nu=e}return nu}var Yi;function h1(){return Yi===l&&new(K9()),Yi}var au;function Oa(){if(au===l){class e{toString(){return nr(or(this).ce())}hashCode(){return br(this.toString())}}p(e,"SerialKind"),au=e}return au}var iu;function G9(){if(iu===l){class e extends v1(){constructor(){Zi=null,super(),Zi=this}}P(e,"CLASS"),iu=e}return iu}var Zi;function Ra(){return Zi===l&&new(G9()),Zi}var su;function J9(){if(su===l){class e extends v1(){constructor(){Xi=null,super(),Xi=this}}P(e,"LIST"),su=e}return su}var Xi;function Ua(){return Xi===l&&new(J9()),Xi}var lu;function W9(){if(lu===l){class e extends v1(){constructor(){Qi=null,super(),Qi=this}}P(e,"MAP"),lu=e}return lu}var Qi;function Ka(){return Qi===l&&new(W9()),Qi}var uu;function H9(){if(uu===l){class e extends v1(){constructor(){rs=null,super(),rs=this}}P(e,"OBJECT"),uu=e}return uu}var rs;function f1(){return rs===l&&new(H9()),rs}var _u;function v1(){if(_u===l){class e extends Oa(){}p(e,"StructureKind"),_u=e}return _u}var ou;function V9(){if(ou===l){class e extends St(){constructor(){ts=null,super(),ts=this}}P(e,"BOOLEAN"),ou=e}return ou}var ts;function Y9(){return ts===l&&new(V9()),ts}var cu;function Z9(){if(cu===l){class e extends St(){constructor(){es=null,super(),es=this}}P(e,"BYTE"),cu=e}return cu}var es;function X9(){return es===l&&new(Z9()),es}var hu;function Q9(){if(hu===l){class e extends St(){constructor(){ns=null,super(),ns=this}}P(e,"CHAR"),hu=e}return hu}var ns;function rN(){return ns===l&&new(Q9()),ns}var fu;function tN(){if(fu===l){class e extends St(){constructor(){as=null,super(),as=this}}P(e,"SHORT"),fu=e}return fu}var as;function eN(){return as===l&&new(tN()),as}var vu;function nN(){if(vu===l){class e extends St(){constructor(){is=null,super(),is=this}}P(e,"INT"),vu=e}return vu}var is;function aN(){return is===l&&new(nN()),is}var pu;function iN(){if(pu===l){class e extends St(){constructor(){ss=null,super(),ss=this}}P(e,"LONG"),pu=e}return pu}var ss;function sN(){return ss===l&&new(iN()),ss}var du;function lN(){if(du===l){class e extends St(){constructor(){ls=null,super(),ls=this}}P(e,"FLOAT"),du=e}return du}var ls;function uN(){return ls===l&&new(lN()),ls}var mu;function _N(){if(mu===l){class e extends St(){constructor(){us=null,super(),us=this}}P(e,"DOUBLE"),mu=e}return mu}var us;function oN(){return us===l&&new(_N()),us}var wu;function cN(){if(wu===l){class e extends St(){constructor(){_s=null,super(),_s=this}}P(e,"STRING"),wu=e}return wu}var _s;function dn(){return _s===l&&new(cN()),_s}var yu;function St(){if(yu===l){class e extends Oa(){}p(e,"PrimitiveKind"),yu=e}return yu}var gu;function hN(){if(gu===l){class e extends mn(){constructor(){os=null,super(),os=this}}P(e,"SEALED"),gu=e}return gu}var os;function Dz(){return os===l&&new(hN()),os}var bu;function fN(){if(bu===l){class e extends mn(){constructor(){cs=null,super(),cs=this}}P(e,"OPEN"),bu=e}return bu}var cs;function vN(){return cs===l&&new(fN()),cs}var ku;function mn(){if(ku===l){class e extends Oa(){}p(e,"PolymorphicKind"),ku=e}return ku}function Cu(e){Je(e,e.m37_1)}var xu;function jr(){if(xu===l){class e extends H(){static n37(){var r=this.vc();return Cu(r),r}static o37(r){var t=this.u(r);return Cu(t),t}static p37(r,t){var n=this.xc(r,t);return Cu(n),n}}p(e,"SerializationException",e.n37),xu=e}return xu}var Su;function Xr(){if(Su===l){class e extends jr(){static v37(r){var t=this.o37(r);return Je(t,t.u37_1),t}static w37(r){return this.v37("An unknown field for index "+r)}}p(e,"UnknownFieldException"),Su=e}return Su}var zu;function tp(){if(zu===l){class e extends jr(){static d38(r,t,n){var a=this.p37(t,n);return Je(a,a.c38_1),a.b38_1=r,a}static e38(r,t){return this.d38(r,r.h1()===1?"Field '"+r.l1(0)+"' is required for type with serial name '"+t+"', but it was missing":"Fields "+$(r)+" are required for type with serial name '"+t+"', but they were missing",null)}}p(e,"MissingFieldException"),zu=e}return zu}var qu;function wn(){if(qu===l){class e extends Dd(){static d3v(r){var t=this.s3w(r);return Je(t,t.c3v_1),t}}p(e,"JsonDecodingException"),qu=e}return qu}function Sr(e,i,r){return Pd(e,i+` -JSON input: `+$(Ga(r,e)))}var Iu;function Dd(){if(Iu===l){class e extends jr(){static s3w(r){var t=this.o37(r);return Je(t,t.r3w_1),t}}p(e,"JsonException"),Iu=e}return Iu}function Pd(e,i){return wn().d3v(e>=0?"Unexpected JSON token at offset "+e+": "+i:i)}function Ga(e,i){if(i=i===l?-1:i,xr(e)<200)return e;if(i===-1){var r=xr(e)-60|0;if(r<=0)return e;var t=xr(e);return"....."+$(T5(e,r,t))}var n=i-30|0,a=i+30|0,s=n<=0?"":".....",u=a>=xr(e)?"":".....",_=xt(n,0),o=By(a,xr(e));return s+$(T5(e,_,o))+u}function yn(e,i){i=i===l?"object":i,e.t3w("Trailing comma before the end of JSON "+i,e.e3s_1-1|0,"Trailing commas are non-complaint JSON and not allowed by default. Use 'allowTrailingComma = true' in 'Json {}' builder to support them.")}function jw(e,i){e.u3w("Unexpected special floating-point value "+$(i)+". By default, non-finite floating point values are prohibited because they do not conform JSON specification",l,"It is possible to deserialize them using 'JsonBuilder.allowSpecialFloatingPointValues = true'")}var $u;function Pz(){if($u===l){class e extends Dd(){static b3x(r){var t=this.s3w(r);return Je(t,t.a3x_1),t}}p(e,"JsonEncodingException"),$u=e}return $u}function Bz(e){return Pz().b3x("Value of type '"+e.f37()+"' can't be used in JSON as a key in the map. "+("It should have either primitive or enum kind, but its kind is '"+e.o38().toString()+`'. -`)+"Use 'allowStructuredMapKeys = true' in 'Json {}' builder to convert such maps to [key1, value1, key2, value2,...] arrays.")}function Mw(e,i,r){return Pd(-1,pN(e,i,r))}function Tw(e,i){return Pz().b3x("Unexpected special floating-point value "+$(e)+`. By default, non-finite floating point values are prohibited because they do not conform JSON specification. It is possible to deserialize them using 'JsonBuilder.allowSpecialFloatingPointValues = true' -`+("Current output: "+$(Ga(i))))}function pN(e,i,r){return"Unexpected special floating-point value "+$(e)+" with key "+i+`. By default, non-finite floating point values are prohibited because they do not conform JSON specification. It is possible to deserialize them using 'JsonBuilder.allowSpecialFloatingPointValues = true' -`+("Current output: "+$(Ga(r)))}function gn(){return!1}function bn(){return!1}function Ja(){return ot()}var Au;function Lt(){if(Au===l){class e{}Ar(e,"SerialDescriptor"),Au=e}return Au}function dN(e){return new(wN())(e)}function Fw(e){return new(gN())(e)}var Eu;function mN(){if(Eu===l){class e{constructor(r){this.b39_1=r,this.a39_1=r.q38()}f1(){return this.a39_1>0}g1(){var r=this.b39_1.q38(),t=this.a39_1;return this.a39_1=t-1|0,this.b39_1.v38(r-t|0)}}p(e),Eu=e}return Eu}var Nu;function wN(){if(Nu===l){class e{constructor(r){this.c39_1=r}e1(){return new(mN())(this.c39_1)}}p(e),Nu=e}return Nu}var Lu;function yN(){if(Lu===l){class e{constructor(r){this.e39_1=r,this.d39_1=r.q38()}f1(){return this.d39_1>0}g1(){var r=this.e39_1.q38(),t=this.d39_1;return this.d39_1=t-1|0,this.e39_1.s38(r-t|0)}}p(e),Lu=e}return Lu}var ju;function gN(){if(ju===l){class e{constructor(r){this.f39_1=r}e1(){return new(yN())(this.f39_1)}}p(e),ju=e}return ju}var Mu;function p1(){if(Mu===l){class e{}Ar(e,"CachedNames"),Mu=e}return Mu}function bN(){return kn(),Oz}var Oz;function hs(e){if(kn(),j(e,p1()))return e.t39();var i=Wt().k1(e.q38()),r=0,t=e.q38();if(r")}function xN(e){return kn(),"Serializer for class '"+e+`' is not found. +import{i as B,I as vr,V as u,a as d,by as jr,ak as Tw,a8 as j,bz as Cr,bA as ia,b1 as ut,bB as te,bC as T,bD as Us,bq as Nn,bE as I7,bF as $7,bG as I1,bk as _a,aS as Bt,bH as ne,ai as tt,bI as Ma,bJ as dr,bK as fr,ay as ar,w as L,j as A,m as Z,bL as Fr,bM as Lr,bN as Ht,y as W,d as $,aJ as Pr,k as br,bO as ba,bP as _t,W as wt,n as z,aX as E7,be as A7,ae as Ot,bQ as Et,aF as xe,s as Ei,b as Qe,g as C5,u as yt,bR as j7,bS as Dw,bT as ei,aI as Me,bU as Vn,bV as N7,T as m,E as Te,bW as L7,bX as Ks,O as M7,bY as xt,bZ as ya,L as bt,b_ as Fw,l as tr,o as Ir,D as F,b$ as T7,bn as Pw,c0 as ka,Q as xa,e as Re,ah as nr,c1 as D7,x as R,c2 as F7,f as Bw,c3 as Ta,c4 as Bm,c5 as P7,c6 as z5,N as Rw,c7 as Ow,a3 as Wt,c8 as Uw,b4 as Kw,c9 as S5,t as Jr,ca as rn,c as cr,bs as kt,cb as De,br as me,av as x,bv as kr,aQ as Mr,aP as Ar,b8 as lr,a$ as Ai,cc as Rm,aa as Bn,h as Ke,bx as q5,cd as Ct,ce as B7,aW as Or,a_ as J,cf as Om,cg as Um,ch as Km,ci as Gm,cj as ji,ck as Ni,cl as R7,cm as I5,X as a0,cn as Gw,co as Jw,cp as Ww,cq as Hw,b9 as Vw,cr as O7,cs as Yw,ct as Gr,cu as Zw,ax as Y,cv as Gs,cw as Ca,cx as Sn,cy as i0,cz as $5,cA as qn,cB as s0,cC as E5,cD as In,cE as u0,cF as A5,cG as $n,az as _0,cH as Xw,cI as U7,cJ as Qw,aA as jt,cK as rb,cL as ur,cM as _r,aY as le,aC as oe,cN as Js,cO as Ws,cP as tb,cQ as K7,cR as G7,cS as J7,cT as eb,aD as Hs,cU as nb,cV as Vs,cW as l0,cX as Ys,al as Zs,cY as W7,cZ as j5,c_ as Xs,c$ as Li,d0 as o0,aO as mi,d1 as H7,d2 as ab,d3 as $1,b6 as ib,d4 as E1,d5 as A1,d6 as j1,d7 as c0,d8 as gi,d9 as V7,da as Y7,db as N1,dc as wi,dd as Z7,de as X7,df as L1,dg as bi,dh as Q7,di as r$,dj as M1,dk as yi,dl as t$,dm as e$,dn as T1,dp as Jm,dq as Wm,dr as Mi,ds as Hm,dt as n$,du as Ti,dv as Vm,dw as Ym,dx as a$,dy as Di,dz as Zm,dA as i$,aT as Fi,dB as Xm,dC as s$,dD as Qm,dE as rg,dF as tg,dG as eg,dH as Pi,dI as N5,dJ as Qs,dK as u$,dL as sb,dM as _$,dN as l$,dO as o$,dP as h0,dQ as ub,dR as _b,aN as lb,bw as Er,dS as ng,dT as ag,dU as c$,ap as ig,dV as ge,aH as h$,bb as ob,dW as v$,ba as Bi,dX as ee,dY as la,dZ as oa,J as za,d_ as L5,d$ as v0,e0 as f0,e1 as d0,aw as An,e2 as cb,e3 as f$,e4 as d$,e5 as p$,aj as at,e6 as m$,e7 as hb,e8 as g$,e9 as w$,ea as tn,eb as M5,ec as T5,ed as b$,bi as Sa,ee as y$,ef as vb,eg as k$,eh as x$,ei as C$,ej as fb,ek as z$,el as S$,em as q$,en as I$,eo as $$,ep as E$,ar as Rr,b3 as en,eq as sg,er as A$,_ as j$,es as N$,a9 as st,et as D5,eu as ug,ev as F5,ew as db,ex as Vt,ey as L$,ez as M$,p as r1,eA as Da,eB as p0,eC as T$,bu as D$,eD as F$,bc as pb,bd as P$,eE as mb,eF as _g,eG as Le,eH as B$,U as R$,eI as O$,eJ as lg,eK as U$,eL as K$,eM as m0,eN as G$,eO as gb,eP as J$,eQ as W$,eR as g0,eS as H$,eT as og,eU as cg,eV as V$,eW as Y$,eX as Z$,eY as X$,eZ as Q$,e_ as r8,e$ as t8,f0 as e8,f1 as n8,ao as a8,an as hg,bl as i8,f2 as s8,f3 as ni}from"./chunks/kotlin-stdlib-CXTWXi-f.js";import{a as w0,D as P5,l as b0,b as y0,f as u8,F as ae,d as vg,o as Ri,c as _8,e as wb,g as Ge,h as l8,_ as o8,i as c8,j as h8}from"./chunks/kotlin-coroutines-D92OHDDL.js";import{T as mr,L as sr,C as y,O as et,a as wr,b as t1,B as v8,c as f8,V as Yt,Z as bb,d as Je,e as Tt,M as d8,G as p8,P as m8,f as g8,g as w8,S as b8,h as y8,i as k8,j as x8}from"./chunks/lua-CAEp5Ilj.js";(function(){const i=document.createElement("link").relList;if(i&&i.supports&&i.supports("modulepreload"))return;for(const n of document.querySelectorAll('link[rel="modulepreload"]'))t(n);new MutationObserver(n=>{for(const a of n)if(a.type==="childList")for(const s of a.addedNodes)s.tagName==="LINK"&&s.rel==="modulepreload"&&t(s)}).observe(document,{childList:!0,subtree:!0});function r(n){const a={};return n.integrity&&(a.integrity=n.integrity),n.referrerPolicy&&(a.referrerPolicy=n.referrerPolicy),n.crossOrigin==="use-credentials"?a.credentials="include":n.crossOrigin==="anonymous"?a.credentials="omit":a.credentials="same-origin",a}function t(n){if(n.ep)return;n.ep=!0;const a=r(n);fetch(n.href,a)}})();var D1;function C8(){if(D1===u){class e{l4c(r,t){if(!r)throw vr().r3(t())}}B(e,"Assert"),D1=e}return D1}var nn;nn=new(C8());var ai=Math.imul;function fg(e,i){var r=i[0]&255,t=i[1]&255,n=i[2]&255,a=i[3]&255;return r<<24|t<<16|n<<8|a}function dg(e,i){var r=$7(i,"#",""),t=I1(_a(r,0,2),16),n=I1(_a(r,2,4),16),a=I1(_a(r,4,6),16),s=255;return new Int8Array([Bt(t),Bt(n),Bt(a),Bt(s)])}function z8(e,i,r,t,n,a,s,_,l){var o=Lr(i),c=Lr(a),h=fr(Fr(o)&255),v=fr(Fr(c)&255),f=fr(dr(h)-dr(v)|0),p=Lr(i),w=Lr(a),b=fr(Fr(p)&255),g=fr(Fr(w)&255),C=fr(dr(b)-dr(g)|0),S=fr(ai(dr(f),dr(C))),k=Lr(r),E=Lr(s),D=fr(Fr(k)&255),P=fr(Fr(E)&255),O=fr(dr(D)-dr(P)|0),H=Lr(r),G=Lr(s),X=fr(Fr(H)&255),Q=fr(Fr(G)&255),rr=fr(dr(X)-dr(Q)|0),er=fr(ai(dr(O),dr(rr))),ir=Lr(t),hr=Lr(_),or=fr(Fr(ir)&255),pr=fr(Fr(hr)&255),Dr=fr(dr(or)-dr(pr)|0),Sr=Lr(t),Br=Lr(_),Vr=fr(Fr(Sr)&255),Kr=fr(Fr(Br)&255),$r=fr(dr(Vr)-dr(Kr)|0),vt=fr(ai(dr(Dr),dr($r))),ft=Lr(n),Mt=Lr(l),rt=fr(Fr(ft)&255),qt=fr(Fr(Mt)&255),dt=fr(dr(rt)-dr(qt)|0),It=Lr(n),$t=Lr(l),Ie=fr(Fr(It)&255),Gt=fr(Fr($t)&255),Jt=fr(dr(Ie)-dr(Gt)|0),he=fr(ai(dr(dt),dr(Jt))),kn=fr(dr(S)+dr(er)|0),Hn=fr(dr(kn)+dr(vt)|0),q1=fr(dr(Hn)+dr(he)|0);return dr(q1)}var F1;function S8(){if(F1===u){class e{constructor(){B5=this;var r=this;r.w4b_1=new Int8Array([0,0,0,0]),this.x4b_1=0}}ar(e),F1=e}return F1}var B5;function pg(){return B5===u&&new(S8()),B5}var P1;function q8(){if(P1===u){class e{constructor(r){this.y4b_1=r}eh(r,t){return this.y4b_1(r,t)}compare(r,t){return this.eh(r,t)}l3(){return this.y4b_1}equals(r){var t;if(r!=null&&L(r,ne())){var n;r!=null&&L(r,tt())?n=A(this.l3(),r.l3()):n=!1,t=n}else t=!1;return t}hashCode(){return Z(this.l3())}}d(e,"sam$kotlin_Comparator$0",u,u,[ne(),tt()]),P1=e}return P1}function I8(e,i){var r=e.ud_1,t=i.ud_1;return Ma(r,t)}var B1;function $8(){if(B1===u){class e{constructor(r){pg();var t=this;t.c4c_1=jr().sa();for(var n=Tw(pg().w4b_1),a=j().d1(Cr(r,10)),s=r.e1();s.f1();){var _=s.g1(),l=dg(this,_);a.c1(l)}for(var o=ia(n,a),c=this,h=0,v=o.h1(),f=Array(v);h"The color is not a RGBA color as it has "+r.length+" components"),r[3]===0)return 0;for(var a=999999999,s=0,_=0,l=this.z4b_1,o=0,c=l.length;o0)){var p="The width needs to be a positive number.";throw W().u($(p))}if(!(this.f47_1>0)){var w="The height needs to be a positive number.";throw W().u($(w))}if(!(this.g47_1.h1()<256)){var b="The number of colors should be less than 256.";throw W().u($(b))}if(!(this.i47_1.h1()<=256)){var g="The number of spritesheets is limited to 256.";throw W().u($(g))}if(!(this.l47_1>0)){var C="The zoom needs to be a positive non null value.";throw W().u($(C))}this.q47_1=new($8())(this.g47_1)}r47(){return this.q47_1}s47(r,t){var n=pt(this.n47_1.ud_1,this.l47_1),a=pt(this.n47_1.ud_1+this.e47_1|0,this.l47_1),s=pt(this.n47_1.vd_1,this.l47_1),_=pt(this.n47_1.vd_1+this.f47_1|0,this.l47_1),l,o=Pr(r);if(!(n<=o&&o<=a))l=!0;else{var c=Pr(t);l=!(s<=c&&c<=_)}if(l)return null;var h=r/this.l47_1-this.n47_1.ud_1,v=t/this.l47_1-this.n47_1.vd_1;return new(Ln())(h,v)}toString(){return"GameOptions(width="+this.e47_1+", height="+this.f47_1+", palette="+$(this.g47_1)+", gameScripts="+$(this.h47_1)+", spriteSheets="+$(this.i47_1)+", gameLevels="+$(this.j47_1)+", sound="+this.k47_1+", zoom="+this.l47_1+", record="+this.m47_1+", gutter="+this.n47_1.toString()+", spriteSize="+this.o47_1.toString()+", hideMouseCursor="+this.p47_1+")"}hashCode(){var r=this.e47_1;return r=pt(r,31)+this.f47_1|0,r=pt(r,31)+Z(this.g47_1)|0,r=pt(r,31)+Z(this.h47_1)|0,r=pt(r,31)+Z(this.i47_1)|0,r=pt(r,31)+Z(this.j47_1)|0,r=pt(r,31)+(this.k47_1==null?0:br(this.k47_1))|0,r=pt(r,31)+this.l47_1|0,r=pt(r,31)+Ht(this.m47_1)|0,r=pt(r,31)+this.n47_1.hashCode()|0,r=pt(r,31)+this.o47_1.hashCode()|0,r=pt(r,31)+ba(this.p47_1)|0,r}equals(r){return this===r?!0:!(!(r instanceof yb())||this.e47_1!==r.e47_1||this.f47_1!==r.f47_1||!A(this.g47_1,r.g47_1)||!A(this.h47_1,r.h47_1)||!A(this.i47_1,r.i47_1)||!A(this.j47_1,r.j47_1)||this.k47_1!=r.k47_1||this.l47_1!==r.l47_1||!A(this.m47_1,r.m47_1)||!this.n47_1.equals(r.n47_1)||!this.o47_1.equals(r.o47_1)||this.p47_1!==r.p47_1)}}d(e,"GameOptions"),O1=e}return O1}var kb,xb,Cb,zb,mg;function e1(){if(mg)return z;mg=!0,kb=new(Yn())("DEBUG",0),xb=new(Yn())("INFO",1),Cb=new(Yn())("WARN",2),zb=new(Yn())("ERROR",3),new(Yn())("NONE",4)}var U1;function Yn(){if(U1===u){class e extends Ot(){}d(e,"LogLevel"),U1=e}return U1}function Zn(e,i,r,t,n){if(i.f3_1>=e.l4f_1.f3_1){var a;switch(i.f3_1){case 0:a="🧰";break;case 1:a="ℹ️";break;case 2:a="⚠️";break;case 3:a="💥";break;case 4:return z;default:wt();break}var s=a;E7(s+" |- "+e.k4f_1+" -| - ["+r+"] : "+n()),t==null||A7(t)}}var K1;function A8(){if(K1===u){class e{constructor(r,t){t=t===u?gg():t,this.k4f_1=r,this.l4f_1=t}r45(r,t){Zn(this,gg(),r,null,t)}k48(r,t){Zn(this,j8(),r,null,t)}a46(r,t){Zn(this,N8(),r,null,t)}m4f(r,t){Zn(this,wg(),r,null,t)}n4f(r,t,n){Zn(this,wg(),r,t,n)}}d(e,"StdOutLogger"),K1=e}return K1}function gg(){return e1(),kb}function j8(){return e1(),xb}function N8(){return e1(),Cb}function wg(){return e1(),zb}var Dt=Math.imul,G1;function Oi(){if(G1===u){class e{constructor(r,t,n,a,s,_,l,o,c,h,v,f,p){s=s===u?0n:s,_=_===u?0:_,l=l===u?0:l,o=o===u?0n:o,c=c===u?0n:c,h=h===u?0n:h,v=v===u?0n:v,f=f===u?0n:f,p=p===u?0n:p,this.d46_1=r,this.e46_1=t,this.f46_1=n,this.g46_1=a,this.h46_1=s,this.i46_1=_,this.j46_1=l,this.k46_1=o,this.l46_1=c,this.m46_1=h,this.n46_1=v,this.o46_1=f,this.p46_1=p}toString(){return"PerformanceMetrics(frameTime="+this.d46_1+", fps="+this.e46_1+", memoryUsed="+this.f46_1.toString()+", memoryAllocated="+this.g46_1.toString()+", gcCount="+this.h46_1.toString()+", renderTime="+this.i46_1+", cpuTime="+this.j46_1+", drawCalls="+this.k46_1.toString()+", readPixels="+this.l46_1.toString()+", vertexCount="+this.m46_1.toString()+", drawBatchPrimitives="+this.n46_1.toString()+", drawBatchSprites="+this.o46_1.toString()+", drawOnScreen="+this.p46_1.toString()+")"}hashCode(){var r=Ht(this.d46_1);return r=Dt(r,31)+Ht(this.e46_1)|0,r=Dt(r,31)+Et(this.f46_1)|0,r=Dt(r,31)+Et(this.g46_1)|0,r=Dt(r,31)+Et(this.h46_1)|0,r=Dt(r,31)+Ht(this.i46_1)|0,r=Dt(r,31)+Ht(this.j46_1)|0,r=Dt(r,31)+Et(this.k46_1)|0,r=Dt(r,31)+Et(this.l46_1)|0,r=Dt(r,31)+Et(this.m46_1)|0,r=Dt(r,31)+Et(this.n46_1)|0,r=Dt(r,31)+Et(this.o46_1)|0,r=Dt(r,31)+Et(this.p46_1)|0,r}equals(r){return this===r?!0:!(!(r instanceof Oi())||!A(this.d46_1,r.d46_1)||!A(this.e46_1,r.e46_1)||this.f46_1!==r.f46_1||this.g46_1!==r.g46_1||this.h46_1!==r.h46_1||!A(this.i46_1,r.i46_1)||!A(this.j46_1,r.j46_1)||this.k46_1!==r.k46_1||this.l46_1!==r.l46_1||this.m46_1!==r.m46_1||this.n46_1!==r.n46_1||this.o46_1!==r.o46_1||this.p46_1!==r.p46_1)}}d(e,"PerformanceMetrics"),G1=e}return G1}var J1;function L8(){if(J1===u){class e{constructor(){this.g54_1=0n,this.h54_1=0n,this.i54_1=0n,this.j54_1=0n,this.k54_1=0n,this.l54_1=0n,this.m54_1=0n;var r=this;r.n54_1=j().p1(),this.o54_1=300;var t=this;t.p54_1=jr().sa(),this.q54_1=!1}i45(r){this.q54_1=r,r&&this.c1h()}h45(){return this.q54_1}m43(){if(!this.h45())return z;this.g54_1=this.r54()}d47(){if(!this.h45())return new(Oi())(0,0,0n,0n);var r=this.r54(),t=xe(Ei(r,this.g54_1)),n=t>0?1e3/t:0,a=this.s54(),s=this.t54(),_=this.u54(t,n,a,s,this.j54_1,this.k54_1,this.m54_1,this.l54_1);return this.n54_1.c1(_),this.n54_1.h1()>this.o54_1&&this.n54_1.t2(0),this.h54_1=r,this.i54_1=a,this.j54_1=0n,this.k54_1=0n,this.l54_1=0n,this.m54_1=0n,_}c45(r){if(!this.h45())return z;var t=this.p54_1,n=this.r54();t.c3(r,n)}v54(r){if(!this.h45())return z;var t=this.j54_1;this.j54_1=Qe(t,C5());var n=this,a=this.k54_1;n.k54_1=Qe(a,yt(r))}w54(){if(!this.h45())return z;var r=this.l54_1;this.l54_1=Qe(r,C5())}f45(r){if(!this.h45())return 0;var t=this.p54_1.d3(r),n;if(t==null)return 0;n=t;var a=n;return xe(Ei(this.r54(),a))}c46(r){if(!this.h45()||this.n54_1.m1())return null;var t=j7(this.n54_1,Dw(r,this.n54_1.h1()));if(t.m1())return null;for(var n=j().d1(Cr(t,10)),a=t.e1();a.f1();){var s=a.g1(),_=s.d46_1;n.c1(_)}for(var l=ei(n),o=j().d1(Cr(t,10)),c=t.e1();c.f1();){var h=c.g1(),v=h.e46_1;o.c1(v)}for(var f=ei(o),p=j().d1(Cr(t,10)),w=t.e1();w.f1();){var b=w.g1(),g=b.f46_1;p.c1(g)}for(var C=Me(Vn(p)),S=0n,k=t.e1();k.f1();){var E=k.g1(),D=S,P=E.g46_1;S=Qe(D,P)}for(var O=S,H=0n,G=t.e1();G.f1();){var X=G.g1(),Q=H,rr=X.h46_1;H=Qe(Q,rr)}for(var er=H,ir=j().d1(Cr(t,10)),hr=t.e1();hr.f1();){var or=hr.g1(),pr=or.i46_1;ir.c1(pr)}for(var Dr=ei(ir),Sr=j().d1(Cr(t,10)),Br=t.e1();Br.f1();){var Vr=Br.g1(),Kr=Vr.j46_1;Sr.c1(Kr)}for(var $r=ei(Sr),vt=j().d1(Cr(t,10)),ft=t.e1();ft.f1();){var Mt=ft.g1(),rt=Mt.k46_1;vt.c1(rt)}for(var qt=Me(Vn(vt)),dt=j().d1(Cr(t,10)),It=t.e1();It.f1();){var $t=It.g1(),Ie=$t.m46_1;dt.c1(Ie)}for(var Gt=Me(Vn(dt)),Jt=j().d1(Cr(t,10)),he=t.e1();he.f1();){var kn=he.g1(),Hn=kn.l46_1;Jt.c1(Hn)}for(var q1=Me(Vn(Jt)),Fm=j().d1(Cr(t,10)),Pm=t.e1();Pm.f1();){var z7=Pm.g1(),S7=z7.p46_1;Fm.c1(S7)}var q7=Me(Vn(Fm));return new(Oi())(l,f,C,O,er,Dr,$r,qt,q1,Gt,u,u,q7)}c1h(){this.n54_1.s2(),this.p54_1.s2(),this.i54_1=this.s54()}}d(e,"BasePerformanceMonitor"),J1=e}return J1}function M8(e){var i;try{var r=typeof window.performance.memory<"u";i=r!=null&&typeof r=="boolean"?r:m()}catch(n){var t;if(n instanceof Te())t=!1;else throw n;i=t}return i}function T8(e){var i;try{i=!1}catch(t){var r;if(t instanceof Te())r=!1;else throw t;i=r}return i}function D8(e){return e.b5t_1,0}function F8(e,i,r){return L7(i-r,0)}var W1;function Sb(){if(W1===u){class e extends L8(){constructor(){super(),this.x5s_1=window.performance,this.y5s_1=0,this.z5s_1=0n,this.a5t_1=!1,this.b5t_1=!1,this.a5t_1=M8(),this.b5t_1=T8(),this.a5t_1&&(this.z5s_1=this.s54()),this.y5s_1=this.x5s_1.now()}s54(){if(!this.h45()||!this.a5t_1)return 0n;var r=window.performance.memory,t=r==null?null:r.usedJSHeapSize,n=t==null?null:t.toLong();return n??0n}t54(){if(!this.h45()||!this.a5t_1)return 0n;var r=this.s54(),t=N7(Ei(r,this.z5s_1),0n);return this.z5s_1=r,t}r54(){return Me(this.x5s_1.now())}u54(r,t,n,a,s,_,l,o){var c=this.x5s_1.now(),h;this.y5s_1>0?h=c-this.y5s_1:h=r;var v=h;this.y5s_1=c;var f=D8(this),p=F8(this,v,f),w=v>0?1e3/v:t;return new(Oi())(v,w,n,a,0n,f,p,u,l,u,u,u,o)}}d(e,"WebGlPerformanceMonitor",Sb),W1=e}return W1}var qb,Ib,$b,H1;function P8(){if(H1===u){class e{i4f(r){switch(r){case 0:return a1();case 1:return x0();case 2:return C0();default:return null}}}ar(e),H1=e}return H1}var n1;function R5(){return[a1(),x0(),C0()]}function En(){return V1==null&&(V1=Ks(R5())),V1}var bg;function k0(){if(bg)return z;bg=!0,qb=new(Z1())("TOUCH1",0),Ib=new(Z1())("TOUCH2",1),$b=new(Z1())("TOUCH3",2)}var V1,Y1;function Z1(){if(Y1===u){class e extends Ot(){}d(e,"TouchSignal"),Y1=e}return Y1}function a1(){return k0(),qb}function x0(){return k0(),Ib}function C0(){return k0(),$b}n1=new(P8());var X1;function Rn(){if(X1===u){class e{constructor(r,t){M7(this,t),this.c4e_1=r;var n=this;n.d4e_1=j().p1()}e4e(){if(this.d4e_1.m1()){var r=xt(0,this.c4e_1),t=r.v1_1,n=r.w1_1;if(t<=n)do{var a=t;t=t+1|0,this.f4e([this.v4d()])}while(a!==n)}var s=this.d4e_1.l1(this.d4e_1.h1()-1|0);return this.d4e_1.t2(this.d4e_1.h1()-1|0),s}f4e(r){for(var t=0,n=r.length;t{var t=e;return TA(t,r),z};return i.callableName="keyDown",i}function PA(e){var i=r=>{var t=e;return DA(t,r),z};return i.callableName="keyUp",i}function BA(e){var i=r=>{var t=e;return NA(t,r),z};return i.callableName="touchStart",i}function RA(e){var i=r=>{var t=e;return LA(t,r),z};return i.callableName="touchEnd",i}function OA(e){var i=r=>{var t=e;return MA(t,r),z};return i.callableName="touchMove",i}function UA(e){var i=r=>{var t=e;return IA(t,r),z};return i.callableName="mouseDown",i}function KA(e){var i=r=>{var t=e;return $A(t,r),z};return i.callableName="mouseUp",i}function GA(e){var i=r=>{var t=e;return EA(t,r),z};return i.callableName="mouseMove",i}function JA(e){var i=r=>{var t=e;return AA(t),z};return i.callableName="mouseLeave",i}function WA(e){var i=r=>{var t=e;return jA(t),z};return i.callableName="mouseEnter",i}var uu;function HA(){if(uu===u){class e{constructor(r,t){this.x5r_1=r,this.y5r_1=t,this.x5r_1.addEventListener("keydown",FA(this),!1),this.x5r_1.addEventListener("keyup",PA(this),!1),this.x5r_1.addEventListener("touchstart",BA(this),!1),this.x5r_1.addEventListener("touchend",RA(this),!1),this.x5r_1.addEventListener("touchmove",OA(this),!1),this.x5r_1.addEventListener("mousedown",UA(this),!1),this.x5r_1.addEventListener("mouseup",KA(this),!1),this.x5r_1.addEventListener("mousemove",GA(this),!1),this.x5r_1.addEventListener("mouseleave",JA(this),!1),this.x5r_1.addEventListener("mouseenter",WA(this),!1),this.z5r_1=1,this.a5s_1=16,this.b5s_1=256;var n=this;n.c5s_1=[this.z5r_1,this.a5s_1,this.b5s_1],this.d5s_1=T7([a1(),x0(),C0()]),this.e5s_1=new(G8())(257),this.f5s_1=!1,this.g5s_1=new(Ln())(0,0),this.h5s_1=null}m4d(r){var t;return r.equals(K5())?t=this.e5s_1.q4e_1:t=this.e5s_1.d4f(xg(r)),t}n4d(r){var t;return r.equals(K5())?t=this.e5s_1.x4e():t=this.e5s_1.c4f(xg(r)),t}o4d(r){return this.e5s_1.o4d(r)}p4d(r){return this.e5s_1.p4d(r)}q4d(){return this.g5s_1}e45(){return z}c1h(){this.e5s_1.g4f()}r4d(r){this.x5r_1.addEventListener("onClick",t=>(r(),z),!1),this.h5s_1=r}}F(e).k45=SA,d(e,"JsInputHandler",u,u,[qA()]),uu=e}return uu}var _u;function VA(){if(_u===u){class e{constructor(r,t,n,a,s,_){s=s===u?n/r|0:s,_=_===u?a/t|0:_,this.a54_1=r,this.b54_1=t,this.c54_1=n,this.d54_1=a,this.e54_1=s,this.f54_1=_}}d(e,"WindowManager"),_u=e}return _u}var lu;function YA(){if(lu===u){class e{constructor(r){this.es_1=r}fs(r){return this.es_1.createShader(r)}gs(r,t){return this.es_1.shaderSource(r,t)}hs(r){return this.es_1.compileShader(r)}is(r){return this.es_1.deleteShader(r)}js(r,t){var n=tr(this.es_1.getShaderParameter(r,t));return typeof n=="boolean"?n?1:0:typeof n=="number"?n:m()}ks(r){return this.es_1.getProgramInfoLog(r)}ls(r){return this.es_1.getShaderInfoLog(r)}ms(r,t){var n=tr(this.es_1.getProgramParameter(r,t));return typeof n=="boolean"?n?1:0:typeof n=="number"?n:m()}ns(){return this.es_1.createProgram()}os(r,t){var n=r;return this.es_1.attachShader(n,t)}ps(r){return this.es_1.linkProgram(r)}qs(r){return this.es_1.useProgram(r)}rs(r,t){return this.es_1.getUniformLocation(r,t)}ss(r,t){return this.es_1.getAttribLocation(r,t)}ts(r){return this.es_1.enableVertexAttribArray(r)}us(r){return this.es_1.disableVertexAttribArray(r)}vs(r){return this.es_1.enable(r)}ws(r){return this.es_1.disable(r)}xs(){var r=this.es_1.createBuffer(),t;if(r==null)throw Te().pc();return t=r,t}ys(r,t){return this.es_1.bindBuffer(r,t)}zs(r,t,n,a){this.es_1.bufferData(r,t.zr(),a)}at(r,t,n,a,s,_){return this.es_1.vertexAttribPointer(r,t,n,a,s,_)}bt(r,t){return this.es_1.uniform1i(r,t)}ct(r,t,n){return this.es_1.uniform2f(r,t,n)}dt(r,t,n){return this.es_1.uniform2i(r,t,n)}et(r,t,n,a){return this.es_1.uniform3i(r,t,n,a)}ft(r,t,n,a){return this.es_1.viewport(r,t,n,a)}gt(r){return this.es_1.clear(r)}ht(r,t,n,a){return this.es_1.clearColor(r,t,n,a)}it(r,t){return this.es_1.blendFunc(r,t)}jt(){var r=this.es_1.createTexture(),t;if(r==null)throw Te().pc();return t=r,t}kt(r,t,n,a,s,_,l,o,c){this.es_1.texImage2D(r,t,n,a,s,_,l,o,c==null?null:c.zr())}lt(r){return this.es_1.activeTexture(r)}mt(r,t){return this.es_1.bindTexture(r,t)}nt(r,t,n){return this.es_1.texParameteri(r,t,n)}ot(){var r=this.es_1.createVertexArray(),t;if(r==null)throw Te().pc();return t=r,t}pt(r){return this.es_1.bindVertexArray(r)}qt(r,t,n){return this.es_1.drawArrays(r,t,n)}rt(r,t,n,a){return this.es_1.drawArraysInstanced(r,t,n,a)}st(r,t){return this.es_1.vertexAttribDivisor(r,t)}tt(r,t,n,a){return this.es_1.scissor(r,t,n,a)}ut(r,t){return this.es_1.pixelStorei(r,t)}vt(r,t,n,a){return this.es_1.blendFuncSeparate(r,t,n,a)}wt(r){this.es_1.stencilMask(r)}xt(r,t,n,a){this.es_1.colorMask(r,t,n,a)}yt(r,t,n){this.es_1.stencilOp(r,t,n)}zt(r,t,n){this.es_1.stencilFunc(r,t,n)}au(r,t){return this.es_1.bindFramebuffer(r,t)}bu(){var r=this.es_1.createFramebuffer(),t;if(r==null)throw Te().pc();return t=r,t}cu(r){return this.es_1.checkFramebufferStatus(r)}du(r,t,n,a,s){return this.es_1.framebufferTexture2D(r,t,n,a,s)}eu(r,t){return this.es_1.bindRenderbuffer(r,t)}fu(){var r=this.es_1.createRenderbuffer(),t;if(r==null)throw Te().pc();return t=r,t}gu(r,t,n,a){return this.es_1.framebufferRenderbuffer(r,t,n,a)}hu(r,t,n,a){return this.es_1.renderbufferStorage(r,t,n,a)}iu(r,t,n,a,s,_,l){this.es_1.readPixels(r,t,n,a,s,_,l.zr())}ju(r){return this.es_1.depthFunc(r)}}d(e,"KglJs"),lu=e}return lu}function Uy(){return!1}var ou;function i1(){if(ou===u){class e{}Ir(e,"SourceStream",u,u,u,[0]),ou=e}return ou}function ZA(e,i){return new Int8Array(i)}var cu;function XA(){if(cu===u){class e{constructor(r){this.s5r_1=r}j4a(r){var t=ka().wb(xa(r)),n=t,a=new XMLHttpRequest;return a.responseType="arraybuffer",a.open("GET",this.s5r_1,!0),a.onload=s=>{if(a.readyState===4&&a.status===200){var _=a.response,l=_ instanceof ArrayBuffer?_:m(),o=ZA(this,l),c=Re(o);n.fb(c)}return z},a.send(),t.xb()}i4a(r){var t=ka().wb(xa(r)),n=t,a=new XMLHttpRequest;return a.responseType="arraybuffer",a.open("HEAD",this.s5r_1,!0),a.onload=s=>{var _=a.status===200,l=Re(_);return n.fb(l),z},a.send(),t.xb()}}F(e).l4a=Uy,d(e,"AjaxStream",u,u,[i1()],[0]),cu=e}return cu}function QA(){return z}function rj(){return z}function tj(e,i,r){return i=i===u?!0:i,r===u?this.u53(e,i):r.u53.call(this,e,i)}function ej(e,i,r){return i=i===u?!0:i,r===u?this.w53(e,i):r.w53.call(this,e,i)}var hu;function nj(){if(hu===u){class e{}Ir(e,"Platform"),hu=e}return hu}var vu;function aj(){if(vu===u){class e{constructor(r,t,n){this.r53_1=r,this.s53_1=t,this.t53_1=n}}d(e,"ImageData"),vu=e}return vu}function*ij(e,i){var r=ka().wb(xa(i)),t=new Image;t.addEventListener("load",new(sj())(t,r)),t.src=e.t5r_1;var n=r.xb(),a=D7(n);return a===R()&&(a=yield a),a}var fu;function sj(){if(fu===u){class e{constructor(r,t){this.u5r_1=r,this.v5r_1=t}w5r(r){var t=document.createElement("canvas"),n=t instanceof HTMLCanvasElement?t:m(),a=n.getContext("2d"),s=a instanceof CanvasRenderingContext2D?a:m();n.width=this.u5r_1.width,n.height=this.u5r_1.height,s.drawImage(this.u5r_1,0,0);var _=s.getImageData(0,0,this.u5r_1.width,this.u5r_1.height),l=new Int8Array(_.data.buffer),o=new(aj())(l,this.u5r_1.width,this.u5r_1.height),c=Re(o);this.v5r_1.fb(c)}handleEvent(r){return this.w5r(r)}}d(e),fu=e}return fu}var du;function uj(){if(du===u){class e{constructor(r){this.t5r_1=r}i4a(r){var t=ka().wb(xa(r)),n=t,a=new XMLHttpRequest;return a.responseType="arraybuffer",a.open("HEAD",this.t5r_1,!0),a.onload=s=>{var _=a.status===200,l=Re(_);return n.fb(l),z},a.send(),t.xb()}j4a(r){return nr(ij.bind(u,this),r)}}F(e).l4a=Uy,d(e,"ImageDataStream",u,u,[i1()],[0]),du=e}return du}const _j=()=>{class e{constructor(r){this.url=r}}return new e(new URL(""+new URL("assets/SynthesizerAudioWorklet__generated__worklet__module-DCPWCBre.js",import.meta.url).href,import.meta.url),{type:"module"}).url};function lj(){return Gy(),Ky}var Ky;function oj(e){Gy();var i=F7("Kotlin raw error wrapper. Please check 'cause' for the original error");return i.name=lj(),Reflect.set(i,"cause",e),i}var zg;function Gy(){zg||(zg=!0,Ky="KotlinRawErrorWrapper")}function cj(e){var i=e,r=i instanceof Error?i:null;return r??oj(e)}function hj(e,i){var r=t=>{var n=i,a=Re(t);return n.fb(a),null};e.then(r,t=>{var n=i,a=cj(t),s=Re(Bw(a));return n.fb(s),null})}function vj(e,i){var r=ka().wb(xa(i));return hj(e,r),r.xb()}var pu;function fj(){if(pu===u){class e{constructor(r){this.c5r_1=r}i4w(r){var t=this.c5r_1.l4b(r);return this.c5r_1.d5r(t)}l4b(r){var t=this.c5r_1.l4b(r);return t}r4w(r,t){this.c5r_1.r4w(r,t)}q4w(r){this.c5r_1.q4w(r)}}d(e,"DefaultSoundBoard"),pu=e}return pu}function dj(e,i,r,t,n){if(i==null)return new Float32Array([]);if(r.m1())return new Float32Array([]);for(var a=60/t,s=new Float32Array([]),_=r.e1();_.f1();){var l=_.g1(),o=l.a52_1,c=o??i,h=l.x51_1*a+c.y4t_1,v=h*44100,f=Bm(v),p=P7(c.z4t_1),w=1/Math.max(1,p),b=new Float32Array(f),g=l.v51_1,C=g==null?null:g.e4r_1,S=C??0,k=0;if(ks.length&&(s=z5(s,Vr));var Kr=0,$r=Sr;if($rthis.k5r_1?!1:this.l5r_1.i1(r)}i1(r){return this.n5r(r)}s2(){return this.l5r_1.s2()}l1(r){return this.l5r_1.l1(r)}m1(){return this.l5r_1.m1()}e1(){return this.l5r_1.e1()}n1(r){return this.l5r_1.n1(r)}t2(r){return this.l5r_1.t2(r)}o5r(r,t){return this.l5r_1.r1(r,t)}r1(r,t){return this.o5r(r,t==null||t!=null?t:m())}p5r(r){return this.l5r_1.c2(r)}c2(r){return this.p5r(r)}q5r(r){return this.l5r_1.r2(r)}r2(r){return r==null||r!=null?this.q5r(r==null||r!=null?r:m()):!1}r5r(r){return this.l5r_1.p2(r)}p2(r){return r==null||r!=null?this.r5r(r==null||r!=null?r:m()):-1}}d(e,"MutableFixedSizeList",u,u,[Rw()]),wu=e}return wu}var bu;function kj(){if(bu===u){class e{constructor(r){this.b4r_1=r}eh(r,t){return this.b4r_1(r,t)}compare(r,t){return this.eh(r,t)}l3(){return this.b4r_1}equals(r){var t;if(r!=null&&L(r,ne())){var n;r!=null&&L(r,tt())?n=A(this.l3(),r.l3()):n=!1,t=n}else t=!1;return t}hashCode(){return Z(this.l3())}}d(e,"sam$kotlin_Comparator$0",u,u,[ne(),tt()]),bu=e}return bu}function xj(e,i){var r=e.f4r_1,t=i.f4r_1;return Ma(r,t)}var Jy,Wy,Hy,Vy,Yy,Zy,Xy,Qy,rk,tk,ek,nk,ak,ik,sk,uk,_k,lk,ok,ck,hk,vk,fk,dk,pk,mk,gk,wk,bk,yk,kk,xk,Ck,zk,Sk,qk,Ik,$k,Ek,Ak,jk,Nk,Lk,Mk,Tk,Dk,Fk,Pk,Bk,Rk,Ok,Uk,Kk,Gk,Jk,Wk,Hk,Vk,Yk,Zk,Xk,Qk,rx,tx,ex,nx,ax,ix,sx,ux,_x,lx,ox,cx,hx,vx,fx,dx,px,mx,gx,wx,bx,yx,kx,xx,Cx,zx,Sx,qx,Ix,$x,Ex,Ax,jx,Nx,Lx,Mx,Tx,Dx,Fx,Px,Bx,Rx,Ox,Ux,Kx,Gx,Jx,Wx,Hx,Vx,Yx,Zx,Xx,Qx,rC,tC,eC,nC,aC,iC,sC,uC,_C,lC,oC,cC,hC,vC,fC,dC,pC,mC,gC,wC,bC,yC,kC,xC,CC,zC,SC,qC,IC,$C,EC,AC,jC,NC,LC,MC,TC,yu;function Cj(){if(yu===u){class e{constructor(){G5=this;for(var r=this,t=FC(),n=ut(t),a=Wt().r8(),s=j().p1(),_=0,l=n.length;_0?1:-1;break;case 0:var v=r*n%1;s=2*v-1;break;case 1:var f=r*n%1,p=.25;s=fr}toString(){return this.f5p_1.toString()+" - "+this.g5p_1+" - "+this.h5p_1}}d(e,"NoteProgress",Ui),Eu=e}return Eu}var Au;function jj(){if(Au===u){class e extends Rn(){constructor(){super(100)}v4d(){return new(Ui())}l5p(r){r.g5p_1=0,r.h5p_1=0}b4e(r){return this.l5p(r instanceof Ui()?r:m())}}d(e),Au=e}return Au}var ju;function Nj(){if(ju===u){class e{constructor(r){this.m5p_1=r;var t=this,n=()=>Pr(this.m5p_1.v4t_1*44100),a=()=>Pr(this.m5p_1.w4t_1*44100),s=()=>this.m5p_1.x4t_1;t.n5p_1=new(Ij())(n,a,s,()=>Pr(this.m5p_1.y4t_1*44100));var _=this;_.o5p_1=new($j())(()=>this.m5p_1.z4t_1);var l=this;l.p5p_1=new(Aj())(()=>this.m5p_1.u4t_1);var o=this;o.q5p_1=bt().o1();var c=this;c.r5p_1=bt().o1();var h=this;h.s5p_1=new(jj())}t5p(r){var t=this.s5p_1.e4e();t.f5p_1=r,this.q5p_1.c1(t)}q4w(r){var t=this.q5p_1,n;r:{for(var a=t.e1();a.f1();){var s=a.g1();if(s.f5p_1.equals(r)){n=s;break r}}n=null}var _=n,l;if(_==null){var o=this.s5p_1.e4e();o.f5p_1=r,l=o}else l=_;var c=l;this.q5p_1.r2(c),this.r5p_1.c1(c)}u5p(){for(var r=0,t=this.q5p_1.e1();t.f1();){var n=t.g1(),a=n.f5p_1,s=n.g5p_1+n.h5p_1|0,_=this.o5p_1.x5o(a,s,(P,O)=>{for(var H=this.m5p_1.a4u_1,G=j().p1(),X=H.e1();X.f1();){var Q=X.g1();Q.m51()&&G.c1(Q)}for(var rr=P,er=G.e1();er.f1();){var ir=er.g1(),hr=rr;rr=ir.j5o(O/44100,hr)}var or=rr;return this.p5p_1.z5p(or,O)});_=_*this.n5p_1.u5o(n.g5p_1),r=r+_,n.g5p_1=n.g5p_1+1|0}for(var l=this.r5p_1.e1();l.f1();){var o=l.g1(),c=o.f5p_1,h=o.g5p_1+o.h5p_1|0,v=this.o5p_1.x5o(c,h,(P,O)=>{for(var H=this.m5p_1.a4u_1,G=j().p1(),X=H.e1();X.f1();){var Q=X.g1();Q.m51()&&G.c1(Q)}for(var rr=P,er=G.e1();er.f1();){var ir=er.g1(),hr=rr;rr=ir.j5o(O/44100,hr)}var or=rr;return this.p5p_1.z5p(or,O)}),f;if(o.g5p_1<=(this.n5p_1.q5o_1()+this.n5p_1.r5o_1()|0)){var p=o.g5p_1;o.g5p_1=p+1|0,f=this.n5p_1.u5o(p)}else{var w=o.h5p_1;o.h5p_1=w+1|0,f=this.n5p_1.v5o(w)}var b=f;v=v*b,r=r+v}for(var g=this.n5p_1.t5o_1(),C=this.r5p_1,S=j().p1(),k=C.e1();k.f1();){var E=k.g1();E.i5p(g)&&S.c1(E)}var D=S;return this.r5p_1.c2(S5(D)),this.s5p_1.g4e(D),r}d1h(){for(var r=this.q5p_1.e1();r.f1();){var t=r.g1();t.g5p_1=0}this.r5p_1.i1(this.q5p_1),this.q5p_1.s2()}}d(e,"InstrumentPlayer"),ju=e}return ju}var Nu;function SS(){if(Nu===u){class e{constructor(r,t,n,a,s,_,l,o,c,h,v,f,p,w,b,g,C){r=r===u?!1:r,t=t===u?!1:t,n=n===u?!1:n,a=a===u?!1:a,s=s===u?!1:s,_=_===u?!0:_,l=l===u?" ":l,o=o===u?!1:o,c=c===u?!1:c,h=h===u?"type":h,v=v===u?!1:v,f=f===u?!0:f,p=p===u?null:p,w=w===u?!1:w,b=b===u?!1:b,g=g===u?!1:g,C=C===u?AS():C,this.e3t_1=r,this.f3t_1=t,this.g3t_1=n,this.h3t_1=a,this.i3t_1=s,this.j3t_1=_,this.k3t_1=l,this.l3t_1=o,this.m3t_1=c,this.n3t_1=h,this.o3t_1=v,this.p3t_1=f,this.q3t_1=p,this.r3t_1=w,this.s3t_1=b,this.t3t_1=g,this.u3t_1=C}toString(){return"JsonConfiguration(encodeDefaults="+this.e3t_1+", ignoreUnknownKeys="+this.f3t_1+", isLenient="+this.g3t_1+", "+("allowStructuredMapKeys="+this.h3t_1+", prettyPrint="+this.i3t_1+", explicitNulls="+this.j3t_1+", ")+("prettyPrintIndent='"+this.k3t_1+"', coerceInputValues="+this.l3t_1+", useArrayPolymorphism="+this.m3t_1+", ")+("classDiscriminator='"+this.n3t_1+"', allowSpecialFloatingPointValues="+this.o3t_1+", ")+("useAlternativeNames="+this.p3t_1+", namingStrategy="+Jr(this.q3t_1)+", decodeEnumsCaseInsensitive="+this.r3t_1+", ")+("allowTrailingComma="+this.s3t_1+", allowComments="+this.t3t_1+", classDiscriminatorMode="+this.u3t_1.toString()+")")}}d(e,"JsonConfiguration"),Nu=e}return Nu}var qS,IS,qg;function $S(){if(qg)return z;qg=!0,qS=new(Mu())("NONE",0),new(Mu())("ALL_JSON_OBJECTS",1),IS=new(Mu())("POLYMORPHIC",2)}var Lu;function Mu(){if(Lu===u){class e extends Ot(){}d(e,"ClassDiscriminatorMode"),Lu=e}return Lu}function ES(){return $S(),qS}function AS(){return $S(),IS}var Tu;function V(){if(Tu===u){class e{}Ir(e,"KSerializer",u,u,[On(),ha()]),Tu=e}return Tu}var Du;function On(){if(Du===u){class e{}Ir(e,"SerializationStrategy"),Du=e}return Du}var Fu;function ha(){if(Fu===u){class e{}Ir(e,"DeserializationStrategy"),Fu=e}return Fu}function Lj(){return Pj(),jS}var jS,Pu;function Mj(){if(Pu===u){class e{i38(r,t,n){return t=t===u?_t():t,n===u?this.j38(r,t):n.j38.call(this,r,t)}}d(e,"SerializersModule"),Pu=e}return Pu}var Bu;function Tj(){if(Bu===u){class e extends Mj(){constructor(r,t,n,a,s,_){super(),this.z3q_1=r,this.a3r_1=t,this.b3r_1=n,this.c3r_1=a,this.d3r_1=s,this.e3r_1=_}h38(){return this.e3r_1}m3c(r,t){if(!r.ae(t))return null;var n=this.a3r_1.y2(r),a=n==null?null:n.y2(cr(t)),s=a!=null&&L(a,On())?a:null;if(s!=null)return s;var _=this.b3r_1.y2(r),l=_!=null&&typeof _=="function"?_:null;return l==null?null:l(t)}l3c(r,t){var n=this.c3r_1.y2(r),a;n==null?a=null:a=(L(n,kt())?n:m()).y2(t);var s=a,_=s!=null&&L(s,V())?s:null;if(_!=null)return _;var l=this.d3r_1.y2(r),o=l!=null&&typeof l=="function"?l:null;return o==null?null:o(t)}j38(r,t){var n=this.z3q_1.y2(r),a=n==null?null:n.f3r(t);return a==null||L(a,V())?a:null}y3q(r){for(var t=this.z3q_1.b3().e1();t.f1();){var n=t.g1(),a=n.u2(),s=n.v2();if(s instanceof Dj()){var _=L(a,De())?a:m(),l=s.i3r_1;r.j3r(_,L(l,V())?l:m())}else s instanceof Fj()?r.h3r(a,s.g3r_1):wt()}for(var o=this.a3r_1.b3().e1();o.f1();)for(var c=o.g1(),h=c.u2(),v=c.v2(),f=v.b3().e1();f.f1();){var p=f.g1(),w=p.u2(),b=p.v2(),g=L(h,De())?h:m(),C=L(w,De())?w:m(),S=L(b,V())?b:m();r.k3r(g,C,S)}for(var k=this.b3r_1.b3().e1();k.f1();){var E=k.g1(),D=E.u2(),P=E.v2(),O=L(D,De())?D:m();r.l3r(O,typeof P=="function"?P:m())}for(var H=this.d3r_1.b3().e1();H.f1();){var G=H.g1(),X=G.u2(),Q=G.v2(),rr=L(X,De())?X:m();r.m3r(rr,typeof Q=="function"?Q:m())}}}d(e,"SerialModuleImpl"),Bu=e}return Bu}var Ru;function Dj(){if(Ru===u){class e extends NS(){}d(e,"Argless"),Ru=e}return Ru}var Ou;function Fj(){if(Ou===u){class e extends NS(){}d(e,"WithTypeArguments"),Ou=e}return Ou}var Uu;function NS(){if(Uu===u){class e{}d(e,"ContextualProvider"),Uu=e}return Uu}var Ig;function Pj(){Ig||(Ig=!0,jS=new(Tj())(rn(),rn(),rn(),rn(),rn(),!1))}function Un(){return Lj()}function $g(e){return me().m7(e)}var Ku;function Ia(){if(Ku===u){class e{}d(e,"Key",Ia),Ku=e}return Ku}var Gu;function LS(){if(Gu===u){class e{constructor(){this.e3x_1=$g(16)}r3y(r,t,n){var a=this.e3x_1,s=a.y2(r),_;if(s==null){var l=$g(2);a.c3(r,l),_=l}else _=s;var o=_,c=t instanceof Ia()?t:m(),h=n??m();o.c3(c,h)}f3x(r,t,n){var a=this.s3y(r,t);if(a!=null)return a;var s=n();return this.r3y(r,t,s),s}s3y(r,t){var n=this.e3x_1.y2(r),a;n==null?a=null:a=n.y2(t instanceof Ia()?t:m());var s=a;return s??null}}d(e,"DescriptorSchemaCache",LS),Gu=e}return Gu}function Ju(){return s1(),MS}var MS;function ii(e){s1();var i=e&15,r;if(i<10){var t=x(48),n=lr(t);r=Ai(i+n|0)}else{var a=i-10|0,s=x(97),_=lr(s);r=Ai(a+_|0)}return r}function E0(e,i){s1(),e.ha(x(34));var r=0,t=0,n=kr(i)-1|0;if(t<=n)do{var a=t;t=t+1|0;var s=Mr(i,a),_=lr(s);_>12),n=ii(r>>8),a=ii(r>>4),s=ii(r);e[r]="\\u"+Ar(t)+Ar(n)+Ar(a)+Ar(s)}while(i<=31);var _=x(34);e[lr(_)]='\\"';var l=x(92);e[lr(l)]="\\\\";var o=x(9);e[lr(o)]="\\t";var c=x(8);e[lr(c)]="\\b";var h=x(10);e[lr(h)]="\\n";var v=x(13);e[lr(v)]="\\r",e[12]="\\f",MS=e;var f=new Int8Array(93),p=0;if(p<=31)do{var w=p;p=p+1|0,f[w]=1}while(p<=31);var b=x(34),g=lr(b),C=x(34),S=lr(C);f[g]=Bt(S);var k=x(92),E=lr(k),D=x(92),P=lr(D);f[E]=Bt(P);var O=x(9),H=lr(O),G=x(116),X=lr(G);f[H]=Bt(X);var Q=x(8),rr=lr(Q),er=x(98),ir=lr(er);f[rr]=Bt(ir);var hr=x(10),or=lr(hr),pr=x(110),Dr=lr(pr);f[or]=Bt(Dr);var Sr=x(13),Br=lr(Sr),Vr=x(114),Kr=lr(Vr);f[Br]=Bt(Kr);var $r=x(102),vt=lr($r);f[12]=Bt(vt)}}var Wu;function DS(){if(Wu===u){class e{constructor(){this.x3r_1=Bn().ka(128)}f2b(r){this.x3r_1.sf(r)}q3v(r){this.x3r_1.ha(r)}r3v(r){this.x3r_1.ga(r)}a3w(r){E0(this.x3r_1,r)}i1b(){this.x3r_1.vf()}toString(){return this.x3r_1.toString()}}d(e,"JsonToStringWriter",DS),Wu=e}return Wu}var Hu;function A0(){if(Hu===u){class e extends Fa(){constructor(){Ki=null,super(),Ki=this}}B(e,"ENUM"),Hu=e}return Hu}var Ki;function ze(){return Ki===u&&new(A0()),Ki}var Vu;function Bj(){if(Vu===u){class e extends Fa(){constructor(){Gi=null,super(),Gi=this}}B(e,"CONTEXTUAL"),Vu=e}return Vu}var Gi;function u1(){return Gi===u&&new(Bj()),Gi}var Yu;function Fa(){if(Yu===u){class e{toString(){return tr(cr(this).zd())}hashCode(){return br(this.toString())}}d(e,"SerialKind"),Yu=e}return Yu}var Zu;function Rj(){if(Zu===u){class e extends l1(){constructor(){Ji=null,super(),Ji=this}}B(e,"CLASS"),Zu=e}return Zu}var Ji;function Pa(){return Ji===u&&new(Rj()),Ji}var Xu;function Oj(){if(Xu===u){class e extends l1(){constructor(){Wi=null,super(),Wi=this}}B(e,"LIST"),Xu=e}return Xu}var Wi;function Ba(){return Wi===u&&new(Oj()),Wi}var Qu;function Uj(){if(Qu===u){class e extends l1(){constructor(){Hi=null,super(),Hi=this}}B(e,"MAP"),Qu=e}return Qu}var Hi;function Ra(){return Hi===u&&new(Uj()),Hi}var r_;function Kj(){if(r_===u){class e extends l1(){constructor(){Vi=null,super(),Vi=this}}B(e,"OBJECT"),r_=e}return r_}var Vi;function _1(){return Vi===u&&new(Kj()),Vi}var t_;function l1(){if(t_===u){class e extends Fa(){}d(e,"StructureKind"),t_=e}return t_}var e_;function Gj(){if(e_===u){class e extends zt(){constructor(){Yi=null,super(),Yi=this}}B(e,"BOOLEAN"),e_=e}return e_}var Yi;function Jj(){return Yi===u&&new(Gj()),Yi}var n_;function Wj(){if(n_===u){class e extends zt(){constructor(){Zi=null,super(),Zi=this}}B(e,"BYTE"),n_=e}return n_}var Zi;function Hj(){return Zi===u&&new(Wj()),Zi}var a_;function Vj(){if(a_===u){class e extends zt(){constructor(){Xi=null,super(),Xi=this}}B(e,"CHAR"),a_=e}return a_}var Xi;function Yj(){return Xi===u&&new(Vj()),Xi}var i_;function Zj(){if(i_===u){class e extends zt(){constructor(){Qi=null,super(),Qi=this}}B(e,"SHORT"),i_=e}return i_}var Qi;function Xj(){return Qi===u&&new(Zj()),Qi}var s_;function Qj(){if(s_===u){class e extends zt(){constructor(){rs=null,super(),rs=this}}B(e,"INT"),s_=e}return s_}var rs;function r9(){return rs===u&&new(Qj()),rs}var u_;function t9(){if(u_===u){class e extends zt(){constructor(){ts=null,super(),ts=this}}B(e,"LONG"),u_=e}return u_}var ts;function e9(){return ts===u&&new(t9()),ts}var __;function n9(){if(__===u){class e extends zt(){constructor(){es=null,super(),es=this}}B(e,"FLOAT"),__=e}return __}var es;function a9(){return es===u&&new(n9()),es}var l_;function i9(){if(l_===u){class e extends zt(){constructor(){ns=null,super(),ns=this}}B(e,"DOUBLE"),l_=e}return l_}var ns;function s9(){return ns===u&&new(i9()),ns}var o_;function u9(){if(o_===u){class e extends zt(){constructor(){as=null,super(),as=this}}B(e,"STRING"),o_=e}return o_}var as;function vn(){return as===u&&new(u9()),as}var c_;function zt(){if(c_===u){class e extends Fa(){}d(e,"PrimitiveKind"),c_=e}return c_}var h_;function _9(){if(h_===u){class e extends fn(){constructor(){is=null,super(),is=this}}B(e,"SEALED"),h_=e}return h_}var is;function FS(){return is===u&&new(_9()),is}var v_;function l9(){if(v_===u){class e extends fn(){constructor(){ss=null,super(),ss=this}}B(e,"OPEN"),v_=e}return v_}var ss;function o9(){return ss===u&&new(l9()),ss}var f_;function fn(){if(f_===u){class e extends Fa(){}d(e,"PolymorphicKind"),f_=e}return f_}function d_(e){Ke(e,e.o37_1)}var p_;function Nr(){if(p_===u){class e extends W(){static p37(){var r=this.sc();return d_(r),r}static q37(r){var t=this.u(r);return d_(t),t}static r37(r,t){var n=this.uc(r,t);return d_(n),n}}d(e,"SerializationException",e.p37),p_=e}return p_}var m_;function Zr(){if(m_===u){class e extends Nr(){static x37(r){var t=this.q37(r);return Ke(t,t.w37_1),t}static y37(r){return this.x37("An unknown field for index "+r)}}d(e,"UnknownFieldException"),m_=e}return m_}var g_;function J5(){if(g_===u){class e extends Nr(){static f38(r,t,n){var a=this.r37(t,n);return Ke(a,a.e38_1),a.d38_1=r,a}static g38(r,t){return this.f38(r,r.h1()===1?"Field '"+r.l1(0)+"' is required for type with serial name '"+t+"', but it was missing":"Fields "+$(r)+" are required for type with serial name '"+t+"', but they were missing",null)}}d(e,"MissingFieldException"),g_=e}return g_}var w_;function dn(){if(w_===u){class e extends j0(){static f3v(r){var t=this.u3w(r);return Ke(t,t.e3v_1),t}}d(e,"JsonDecodingException"),w_=e}return w_}function xr(e,i,r){return N0(e,i+` +JSON input: `+$(Oa(r,e)))}var b_;function j0(){if(b_===u){class e extends Nr(){static u3w(r){var t=this.q37(r);return Ke(t,t.t3w_1),t}}d(e,"JsonException"),b_=e}return b_}function N0(e,i){return dn().f3v(e>=0?"Unexpected JSON token at offset "+e+": "+i:i)}function Oa(e,i){if(i=i===u?-1:i,kr(e)<200)return e;if(i===-1){var r=kr(e)-60|0;if(r<=0)return e;var t=kr(e);return"....."+$(q5(e,r,t))}var n=i-30|0,a=i+30|0,s=n<=0?"":".....",_=a>=kr(e)?"":".....",l=Ct(n,0),o=Dw(a,kr(e));return s+$(q5(e,l,o))+_}function pn(e,i){i=i===u?"object":i,e.v3w("Trailing comma before the end of JSON "+i,e.g3s_1-1|0,"Trailing commas are non-complaint JSON and not allowed by default. Use 'allowTrailingComma = true' in 'Json {}' builder to support them.")}function Ag(e,i){e.w3w("Unexpected special floating-point value "+$(i)+". By default, non-finite floating point values are prohibited because they do not conform JSON specification",u,"It is possible to deserialize them using 'JsonBuilder.allowSpecialFloatingPointValues = true'")}var y_;function PS(){if(y_===u){class e extends j0(){static d3x(r){var t=this.u3w(r);return Ke(t,t.c3x_1),t}}d(e,"JsonEncodingException"),y_=e}return y_}function BS(e){return PS().d3x("Value of type '"+e.h37()+"' can't be used in JSON as a key in the map. "+("It should have either primitive or enum kind, but its kind is '"+e.q38().toString()+`'. +`)+"Use 'allowStructuredMapKeys = true' in 'Json {}' builder to convert such maps to [key1, value1, key2, value2,...] arrays.")}function jg(e,i,r){return N0(-1,c9(e,i,r))}function Ng(e,i){return PS().d3x("Unexpected special floating-point value "+$(e)+`. By default, non-finite floating point values are prohibited because they do not conform JSON specification. It is possible to deserialize them using 'JsonBuilder.allowSpecialFloatingPointValues = true' +`+("Current output: "+$(Oa(i))))}function c9(e,i,r){return"Unexpected special floating-point value "+$(e)+" with key "+i+`. By default, non-finite floating point values are prohibited because they do not conform JSON specification. It is possible to deserialize them using 'JsonBuilder.allowSpecialFloatingPointValues = true' +`+("Current output: "+$(Oa(r)))}function mn(){return!1}function gn(){return!1}function Ua(){return _t()}var k_;function Lt(){if(k_===u){class e{}Ir(e,"SerialDescriptor"),k_=e}return k_}function h9(e){return new(f9())(e)}function Lg(e){return new(p9())(e)}var x_;function v9(){if(x_===u){class e{constructor(r){this.d39_1=r,this.c39_1=r.s38()}f1(){return this.c39_1>0}g1(){var r=this.d39_1.s38(),t=this.c39_1;return this.c39_1=t-1|0,this.d39_1.x38(r-t|0)}}d(e),x_=e}return x_}var C_;function f9(){if(C_===u){class e{constructor(r){this.e39_1=r}e1(){return new(v9())(this.e39_1)}}d(e),C_=e}return C_}var z_;function d9(){if(z_===u){class e{constructor(r){this.g39_1=r,this.f39_1=r.s38()}f1(){return this.f39_1>0}g1(){var r=this.g39_1.s38(),t=this.f39_1;return this.f39_1=t-1|0,this.g39_1.u38(r-t|0)}}d(e),z_=e}return z_}var S_;function p9(){if(S_===u){class e{constructor(r){this.h39_1=r}e1(){return new(d9())(this.h39_1)}}d(e),S_=e}return S_}var q_;function o1(){if(q_===u){class e{}Ir(e,"CachedNames"),q_=e}return q_}function m9(){return wn(),RS}var RS;function us(e){if(wn(),L(e,o1()))return e.v39();var i=Wt().k1(e.s38()),r=0,t=e.s38();if(r")}function b9(e){return wn(),"Serializer for class '"+e+`' is not found. Please ensure that class is marked as '@Serializable' and that the serialization compiler plugin is applied. -`}var Dw;function kn(){Dw||(Dw=!0,Oz=[])}var SN=Math.imul,Tu;function Uz(){if(Tu===l){class e{constructor(r){this.v3i_1=r,this.w3i_1=new(Bd())(this.v3i_1.c36())}c36(){return this.w3i_1}x3i(r,t){t!=null?(r.g3c(),r.d3c(this.v3i_1,t)):r.g3b()}d36(r,t){return this.x3i(r,t==null||t!=null?t:m())}e36(r){return r.v39()?r.j3a(this.v3i_1):r.w39()}equals(r){return this===r?!0:!(r==null||!or(this).equals(or(r))||(r instanceof Uz()||m(),!E(this.v3i_1,r.v3i_1)))}hashCode(){return Z(this.v3i_1)}}p(e,"NullableSerializer",l,l,[V()]),Tu=e}return Tu}var Fu;function Bd(){if(Fu===l){class e{constructor(r){this.x38_1=r,this.y38_1=this.x38_1.f37()+"?",this.z38_1=hs(this.x38_1)}f37(){return this.y38_1}t39(){return this.z38_1}k38(){return!0}equals(r){return this===r?!0:!(!(r instanceof Bd())||!E(this.x38_1,r.x38_1))}toString(){return $(this.x38_1)+"?"}hashCode(){return SN(Z(this.x38_1),31)}o38(){return this.x38_1.o38()}p38(){return this.x38_1.p38()}q38(){return this.x38_1.q38()}r38(){return this.x38_1.r38()}s38(r){return this.x38_1.s38(r)}t38(r){return this.x38_1.t38(r)}u38(r){return this.x38_1.u38(r)}v38(r){return this.x38_1.v38(r)}w38(r){return this.x38_1.w38(r)}}p(e,"SerialDescriptorForNullable",l,l,[Lt(),p1()]),Fu=e}return Fu}var zN=Math.imul;function qN(e,i){return new(Od())(e,i)}var Du;function Od(){if(Du===l){class e{constructor(r,t){this.l38_1=r,this.m38_1=t,this.n38_1=this.l38_1.f37()+"<"+this.m38_1.ce()+">"}f37(){return this.n38_1}equals(r){var t=r instanceof Od()?r:null,n;if(t==null)return!1;n=t;var a=n;return E(this.l38_1,a.l38_1)&&a.m38_1.equals(this.m38_1)}hashCode(){var r=this.m38_1.hashCode();return r=zN(31,r)+br(this.n38_1)|0,r}toString(){return"ContextDescriptor(kClass: "+$(this.m38_1)+", original: "+$(this.l38_1)+")"}o38(){return this.l38_1.o38()}k38(){return this.l38_1.k38()}p38(){return this.l38_1.p38()}q38(){return this.l38_1.q38()}r38(){return this.l38_1.r38()}s38(r){return this.l38_1.s38(r)}t38(r){return this.l38_1.t38(r)}u38(r){return this.l38_1.u38(r)}v38(r){return this.l38_1.v38(r)}w38(r){return this.l38_1.w38(r)}}p(e,"ContextDescriptor",l,l,[Lt()]),Du=e}return Du}function IN(e,i){var r=Kz(i),t;if(r==null)t=null;else{var n=e.g38(r);t=n==null?null:n.c36()}return t}function Kz(e){var i;return e instanceof Od()?i=e.m38_1:e instanceof Bd()?i=Kz(e.x38_1):i=null,i}var Gz,Jz,Wz,Hz;function $N(){return[m1(),np(),vs(),Yz()]}function AN(){return Pu==null&&(Pu=Hs($N())),Pu}var Pw;function d1(){if(Pw)return S;Pw=!0,Gz=new(hi())("OBJ",0,C(123),C(125)),Jz=new(hi())("LIST",1,C(91),C(93)),Wz=new(hi())("MAP",2,C(123),C(125)),Hz=new(hi())("POLY_OBJ",3,C(91),C(93))}var Pu,Bu;function hi(){if(Bu===l){class e extends Kt(){constructor(r,t,n,a){super(r,t),this.d3z_1=n,this.e3z_1=a}}p(e,"WriteMode"),Bu=e}return Bu}function Vz(e,i){var r=i.o38(),t;if(r instanceof mn())t=Yz();else if(E(r,Ua()))t=np();else if(E(r,Ka())){var n=fs(i.v38(0),e.z3a()),a=n.o38(),s,u;if(a instanceof St()?u=!0:u=E(a,Ie()),u)s=vs();else if(e.o3r_1.f3t_1)s=np();else throw Bz(n);t=s}else t=m1();return t}function fs(e,i){var r;if(E(e.o38(),h1())){var t=IN(i,e),n=t==null?null:fs(t,i);r=n??e}else e.p38()?r=fs(e.v38(0),i):r=e;return r}function m1(){return d1(),Gz}function np(){return d1(),Jz}function vs(){return d1(),Wz}function Yz(){return d1(),Hz}var Ou;function EN(){if(Ou===l){class e extends ap(){static s3i(){ps=null;var r=this.d3b();return ps=r,r.r3i_1=Wn(),r}z3a(){return this.r3i_1}f3b(r){return S}g3b(){return S}h3b(r){return S}i3b(r){return S}j3b(r){return S}k3b(r){return S}l3b(r){return S}m3b(r){return S}n3b(r){return S}o3b(r){return S}p3b(r){return S}q3b(r,t){return S}}P(e,"NoOpEncoder"),Ou=e}return Ou}var ps;function NN(){return ps===l&&EN().s3i(),ps}function LN(){}function jN(e,i){return this.k3a(e)}function MN(e,i){e.d36(this,i)}function TN(e,i){var r=e.c36().k38();if(r)return this.d3c(j(e,Jn())?e:m(),i);i==null?this.g3b():(this.g3c(),this.d3c(e,i))}var Ru;function Zz(){if(Ru===l){class e{}Ar(e,"Encoder"),Ru=e}return Ru}function FN(e,i){return!0}var Uu;function Xz(){if(Uu===l){class e{}Ar(e,"CompositeEncoder"),Uu=e}return Uu}var Ku;function ap(){if(Ku===l){class e{static d3b(){return Ur(this)}k3a(r){return this}l3a(r){}e3b(r,t){return!0}f3b(r){throw jr().o37("Non-serializable "+$(or(r))+" is not supported by "+$(or(this))+" encoder")}g3b(){throw jr().o37("'null' is not supported by default")}h3b(r){return this.f3b(r)}i3b(r){return this.f3b(r)}j3b(r){return this.f3b(r)}k3b(r){return this.f3b(r)}l3b(r){return this.f3b(r)}m3b(r){return this.f3b(r)}n3b(r){return this.f3b(r)}o3b(r){return this.f3b(new(J())(r))}p3b(r){return this.f3b(r)}q3b(r,t){return this.f3b(t)}r3b(r){return this}s3b(r,t,n){this.e3b(r,t)&&this.h3b(n)}t3b(r,t,n){this.e3b(r,t)&&this.i3b(n)}u3b(r,t,n){this.e3b(r,t)&&this.j3b(n)}v3b(r,t,n){this.e3b(r,t)&&this.k3b(n)}w3b(r,t,n){this.e3b(r,t)&&this.l3b(n)}x3b(r,t,n){this.e3b(r,t)&&this.m3b(n)}y3b(r,t,n){this.e3b(r,t)&&this.n3b(n)}z3b(r,t,n){this.e3b(r,t)&&this.o3b(n)}a3c(r,t,n){this.e3b(r,t)&&this.p3b(n)}b3c(r,t){return this.e3b(r,t)?this.r3b(r.v38(t)):NN()}c3c(r,t,n,a){this.e3b(r,t)&&this.d3c(n,a)}e3c(r,t,n,a){this.e3b(r,t)&&this.f3c(n,a)}}F(e).g3c=LN,F(e).h3c=jN,F(e).d3c=MN,F(e).f3c=TN,F(e).i3c=FN,p(e,"AbstractEncoder",l,l,[Zz(),Xz()]),Ku=e}return Ku}var Gu;function w1(){if(Gu===l){class e{constructor(r){this.g3v_1=r,this.h3v_1=!0}i3v(){this.h3v_1=!0}j3v(){return S}k3v(){this.h3v_1=!1}l3v(){this.h3v_1=!1}m3v(){return S}n3v(r){return this.g3v_1.o3v(r)}t2p(r){return this.g3v_1.p3v(r)}q3v(r){return this.g3v_1.p3v(r.toString())}r3v(r){return this.g3v_1.p3v(r.toString())}s3v(r){return this.g3v_1.d2b(bt(r))}t3v(r){return this.g3v_1.d2b(bt(r))}u3v(r){return this.g3v_1.d2b(bt(r))}v3v(r){return this.g3v_1.d2b(r)}w3v(r){return this.g3v_1.p3v(r.toString())}x3v(r){return this.g3v_1.y3v(r)}}p(e,"Composer"),Gu=e}return Gu}function DN(e,i){return i.o3r_1.g3t_1?new(PN())(e,i):new(w1())(e)}var Ju;function Bw(){if(Ju===l){class e extends w1(){constructor(r,t){super(r),this.b3w_1=t}u3v(r){if(this.b3w_1){var t=hr(r);this.x3v(Jm(t))}else{var n=hr(r);this.t2p(Jm(n))}}v3v(r){if(this.b3w_1){var t=Di(r);this.x3v(Wm(t))}else{var n=Di(r);this.t2p(Wm(n))}}s3v(r){if(this.b3w_1){var t=Mr(r);this.x3v(Hm(t))}else{var n=Mr(r);this.t2p(Hm(n))}}t3v(r){if(this.b3w_1){var t=Fi(r);this.x3v(Vm(t))}else{var n=Fi(r);this.t2p(Vm(n))}}}p(e,"ComposerForUnsignedNumbers"),Ju=e}return Ju}var Wu;function Ow(){if(Wu===l){class e extends w1(){constructor(r,t){super(r),this.e3w_1=t}x3v(r){this.e3w_1?super.x3v(r):super.t2p(r)}}p(e,"ComposerForUnquotedLiterals"),Wu=e}return Wu}var Hu;function PN(){if(Hu===l){class e extends w1(){constructor(r,t){super(r),this.h3w_1=t,this.i3w_1=0}i3v(){this.h3v_1=!0,this.i3w_1=this.i3w_1+1|0}j3v(){this.i3w_1=this.i3w_1-1|0}k3v(){this.h3v_1=!1,this.t2p(` -`);var r=this.i3w_1,t=0;if(taq(e)}function uL(){return e=>e.z3h()}function _L(){return e=>iq(e)}var i_;function Kr(){if(i_===l){class e{constructor(r,t,n){t=t===l?null:t,this.x3g_1=r,this.y3g_1=t,this.z3g_1=n,this.a3h_1=-1;for(var a=this,s=0,u=this.z3g_1,_=Array(u);s{var w=this.y3g_1,x=w==null?null:w.p3i();return x??Qz()});var v=this,d=lr();v.h3h_1=ur(d,()=>{var w=this.y3g_1,x=w==null?null:w.q3i(),z;if(x==null)z=null;else{for(var k=N().d1(x.length),A=0,D=x.length;Asq(this,this.z3h()))}f37(){return this.x3g_1}q38(){return this.z3g_1}o38(){return Ra()}r38(){var r=this.d3h_1;return r??ot()}t39(){return this.f3h_1.c3()}z3h(){var r=this.h3h_1,t=oe();return ce("typeParameterDescriptors",1,t,uL(),null),r.y2()}a3i(r,t){this.a3h_1=this.a3h_1+1|0,this.b3h_1[this.a3h_1]=r,this.e3h_1[this.a3h_1]=t,this.c3h_1[this.a3h_1]=null,this.a3h_1===(this.z3g_1-1|0)&&(this.f3h_1=sL(this))}j3h(r,t,n){t=t===l?!1:t;var a;return n===l?(this.a3i(r,t),a=S):a=n.a3i.call(this,r,t),a}v38(r){return _n(aq(this),r).c36()}w38(r){return eq(this.e3h_1,r)}u38(r){var t=_n(this.c3h_1,r);return t??ot()}s38(r){return _n(this.b3h_1,r)}t38(r){var t=this.f3h_1.b3(r);return t??-3}equals(r){var t;r:{if(this===r){t=!0;break r}if(!(r instanceof Kr())){t=!1;break r}if(this.f37()!==r.f37()){t=!1;break r}if(!Ys(this.z3h(),r.z3h())){t=!1;break r}if(this.q38()!==r.q38()){t=!1;break r}var n=0,a=this.q38();if(ne.s38(t)+": "+e.v38(t).f37())}function se(e,i,r,t){var n;if(t===l?n=cL:n=t,t=n,Zs(e)){var a="Blank serial names are prohibited";throw H().u($(a))}if(E(i,Ra())){var s="For StructureKind.CLASS please use 'buildClassSerialDescriptor' instead";throw H().u($(s))}var u=new(uq())(e);return t(u),new(Rd())(e,i,u.n36_1.h1(),ag(r),u)}var s_;function uq(){if(s_===l){class e{constructor(r){this.k36_1=r,this.l36_1=!1,this.m36_1=ot(),this.n36_1=N().p1(),this.o36_1=Wt().u8(),this.p36_1=N().p1(),this.q36_1=N().p1(),this.r36_1=N().p1()}g39(r,t,n,a){if(!this.o36_1.c1(r)){var s="Element with name '"+r+"' is already registered in "+this.k36_1;throw H().u($(s))}this.n36_1.c1(r),this.p36_1.c1(t),this.q36_1.c1(n),this.r36_1.c1(a)}s36(r,t,n,a,s){n=n===l?ot():n,a=a===l?!1:a;var u;return s===l?(this.g39(r,t,n,a),u=S):u=s.g39.call(this,r,t,n,a),u}}p(e,"ClassSerialDescriptorBuilder"),s_=e}return s_}function _q(e){var i=e.s39_1,r=oe();return ce("_hashCode",1,r,oL(),null),i.y2()}function oL(){return e=>_q(e)}var l_;function Rd(){if(l_===l){class e{constructor(r,t,n,a,s){this.h39_1=r,this.i39_1=t,this.j39_1=n,this.k39_1=s.m36_1,this.l39_1=K$(s.n36_1);var u=this,_=s.n36_1;u.m39_1=lt(_),this.n39_1=ep(s.p36_1);var o=this,c=s.q36_1;o.o39_1=lt(c),this.p39_1=G$(s.r36_1);for(var h=this,f=J$(this.m39_1),v=N().d1(gr(f,10)),d=f.e1();d.f1();){var g=d.g1(),b=T(g.aj_1,g.zi_1);v.c1(b)}h.q39_1=ig(v),this.r39_1=ep(a);var w=this;w.s39_1=Xs(()=>sq(this,this.r39_1))}f37(){return this.h39_1}o38(){return this.i39_1}q38(){return this.j39_1}r38(){return this.k39_1}t39(){return this.l39_1}s38(r){return _n(this.m39_1,r)}t38(r){var t=this.q39_1.b3(r);return t??-3}u38(r){return _n(this.o39_1,r)}v38(r){return _n(this.n39_1,r)}w38(r){return eq(this.p39_1,r)}equals(r){var t;r:{if(this===r){t=!0;break r}if(!(r instanceof Rd())){t=!1;break r}if(this.f37()!==r.f37()){t=!1;break r}if(!Ys(this.r39_1,r.r39_1)){t=!1;break r}if(this.q38()!==r.q38()){t=!1;break r}var n=0,a=this.q38();if(ne.c36()}var u_;function vL(){if(u_===l){class e{constructor(r,t){this.y3i_1=t,this.z3i_1=ot();var n=this,a=lr();n.a3j_1=ur(a,()=>{var s=f1();return se(r,s,[],u=>(u.m36_1=this.z3i_1,S))})}c36(){var r=this.a3j_1,t=oe();return ce("descriptor",1,t,fL(),null),r.y2()}u36(r,t){r.k3a(this.c36()).l3a(this.c36())}d36(r,t){return this.u36(r,t??m())}e36(r){var t=this.c36(),n=r.k3a(t);r:{if(n.a3b())break r;var a=n.b3b(this.c36());if(a===-1)break r;throw jr().o37("Unexpected index "+a)}return n.l3a(t),this.y3i_1}}p(e,"ObjectSerializer",l,l,[V()]),u_=e}return u_}var pL=Math.imul;function cq(){return g1(),hq}var hq,__;function dL(){if(__===l){class e{constructor(){cp=this,this.q3n_1=new(zt())("kotlin.String",dn())}c36(){return this.q3n_1}r3n(r,t){return r.p3b(t)}d36(r,t){return this.r3n(r,t!=null&&typeof t=="string"?t:m())}e36(r){return r.f3a()}}P(e,"StringSerializer",l,l,[V()]),__=e}return __}var cp;function qr(){return cp===l&&new(dL()),cp}function na(e){throw fr().u3("Primitive descriptor "+e.s3n_1+" does not have elements")}var o_;function zt(){if(o_===l){class e{constructor(r,t){this.s3n_1=r,this.t3n_1=t}f37(){return this.s3n_1}o38(){return this.t3n_1}q38(){return 0}s38(r){na(this)}t38(r){na(this)}w38(r){na(this)}v38(r){na(this)}u38(r){na(this)}toString(){return"PrimitiveDescriptor("+this.s3n_1+")"}equals(r){return this===r?!0:r instanceof zt()?!!(this.s3n_1===r.s3n_1&&E(this.t3n_1,r.t3n_1)):!1}hashCode(){return br(this.s3n_1)+pL(31,this.t3n_1.hashCode())|0}}F(e).k38=gn,F(e).p38=bn,F(e).r38=Ja,p(e,"PrimitiveSerialDescriptor",l,l,[Lt()]),o_=e}return o_}function mL(e){g1();var i=cq().b3(e);return i==null||j(i,V())?i:m()}var c_;function wL(){if(c_===l){class e{constructor(){hp=this,this.u3n_1=new(zt())("kotlin.Int",aN())}c36(){return this.u3n_1}v3n(r,t){return r.k3b(t)}d36(r,t){return this.v3n(r,t!=null&&typeof t=="number"?t:m())}e36(r){return r.a3a()}}P(e,"IntSerializer",l,l,[V()]),c_=e}return c_}var hp;function K(){return hp===l&&new(wL()),hp}var h_;function yL(){if(h_===l){class e{constructor(){fp=this,this.w3n_1=new(zt())("kotlin.Long",sN())}c36(){return this.w3n_1}x3n(r,t){return r.l3b(t)}d36(r,t){return this.x3n(r,t!=null&&typeof t=="bigint"?t:m())}e36(r){return r.b3a()}}P(e,"LongSerializer",l,l,[V()]),h_=e}return h_}var fp;function Wa(){return fp===l&&new(yL()),fp}var f_;function gL(){if(f_===l){class e{constructor(){vp=this,this.y3n_1=new(zt())("kotlin.Byte",X9())}c36(){return this.y3n_1}z3n(r,t){return r.i3b(t)}d36(r,t){return this.z3n(r,t!=null&&typeof t=="number"?t:m())}e36(r){return r.y39()}}P(e,"ByteSerializer",l,l,[V()]),f_=e}return f_}var vp;function bL(){return vp===l&&new(gL()),vp}var v_;function kL(){if(v_===l){class e{constructor(){pp=this,this.a3o_1=new(zt())("kotlin.Short",eN())}c36(){return this.a3o_1}b3o(r,t){return r.j3b(t)}d36(r,t){return this.b3o(r,t!=null&&typeof t=="number"?t:m())}e36(r){return r.z39()}}P(e,"ShortSerializer",l,l,[V()]),v_=e}return v_}var pp;function CL(){return pp===l&&new(kL()),pp}var p_;function xL(){if(p_===l){class e{constructor(){dp=this,this.c3o_1=new(zt())("kotlin.Char",rN())}c36(){return this.c3o_1}d3o(r,t){return r.o3b(t)}d36(r,t){return this.d3o(r,t instanceof J()?t.g2_1:m())}e3o(r){return r.e3a()}e36(r){return new(J())(this.e3o(r))}}P(e,"CharSerializer",l,l,[V()]),p_=e}return p_}var dp;function SL(){return dp===l&&new(xL()),dp}var d_;function zL(){if(d_===l){class e{constructor(){mp=this,this.f3o_1=new(zt())("kotlin.Double",oN())}c36(){return this.f3o_1}g3o(r,t){return r.n3b(t)}d36(r,t){return this.g3o(r,t!=null&&typeof t=="number"?t:m())}e36(r){return r.d3a()}}P(e,"DoubleSerializer",l,l,[V()]),d_=e}return d_}var mp;function qL(){return mp===l&&new(zL()),mp}var m_;function IL(){if(m_===l){class e{constructor(){wp=this,this.h3o_1=new(zt())("kotlin.Float",uN())}c36(){return this.h3o_1}i3o(r,t){return r.m3b(t)}d36(r,t){return this.i3o(r,t!=null&&typeof t=="number"?t:m())}e36(r){return r.c3a()}}P(e,"FloatSerializer",l,l,[V()]),m_=e}return m_}var wp;function mt(){return wp===l&&new(IL()),wp}var w_;function $L(){if(w_===l){class e{constructor(){yp=this,this.j3o_1=new(zt())("kotlin.Boolean",Y9())}c36(){return this.j3o_1}k3o(r,t){return r.h3b(t)}d36(r,t){return this.k3o(r,t!=null&&typeof t=="boolean"?t:m())}e36(r){return r.x39()}}P(e,"BooleanSerializer",l,l,[V()]),w_=e}return w_}var yp;function Dn(){return yp===l&&new($L()),yp}var y_;function AL(){if(y_===l){class e{constructor(){gp=this,this.l3o_1=new(vL())("kotlin.Unit",S)}c36(){return this.l3o_1.c36()}m3o(r,t){this.l3o_1.u36(r,S)}d36(r,t){return this.m3o(r,t instanceof pd()?t:m())}n3o(r){this.l3o_1.e36(r)}e36(r){return this.n3o(r),S}}P(e,"UnitSerializer",l,l,[V()]),y_=e}return y_}var gp;function EL(){return gp===l&&new(AL()),gp}function NL(e,i){return g1(),LL(e),new(zt())(e,i)}function LL(e){g1();for(var i=cq().d3(),r=i.e1();r.f1();){var t=r.g1(),n=t.c36().f37();if(e===n)throw H().u(sg(` +`}var Mg;function wn(){Mg||(Mg=!0,RS=[])}var y9=Math.imul,I_;function US(){if(I_===u){class e{constructor(r){this.x3i_1=r,this.y3i_1=new(L0())(this.x3i_1.e36())}e36(){return this.y3i_1}z3i(r,t){t!=null?(r.i3c(),r.f3c(this.x3i_1,t)):r.i3b()}f36(r,t){return this.z3i(r,t==null||t!=null?t:m())}g36(r){return r.x39()?r.l3a(this.x3i_1):r.y39()}equals(r){return this===r?!0:!(r==null||!cr(this).equals(cr(r))||(r instanceof US()||m(),!A(this.x3i_1,r.x3i_1)))}hashCode(){return Z(this.x3i_1)}}d(e,"NullableSerializer",u,u,[V()]),I_=e}return I_}var $_;function L0(){if($_===u){class e{constructor(r){this.z38_1=r,this.a39_1=this.z38_1.h37()+"?",this.b39_1=us(this.z38_1)}h37(){return this.a39_1}v39(){return this.b39_1}m38(){return!0}equals(r){return this===r?!0:!(!(r instanceof L0())||!A(this.z38_1,r.z38_1))}toString(){return $(this.z38_1)+"?"}hashCode(){return y9(Z(this.z38_1),31)}q38(){return this.z38_1.q38()}r38(){return this.z38_1.r38()}s38(){return this.z38_1.s38()}t38(){return this.z38_1.t38()}u38(r){return this.z38_1.u38(r)}v38(r){return this.z38_1.v38(r)}w38(r){return this.z38_1.w38(r)}x38(r){return this.z38_1.x38(r)}y38(r){return this.z38_1.y38(r)}}d(e,"SerialDescriptorForNullable",u,u,[Lt(),o1()]),$_=e}return $_}var k9=Math.imul;function x9(e,i){return new(M0())(e,i)}var E_;function M0(){if(E_===u){class e{constructor(r,t){this.n38_1=r,this.o38_1=t,this.p38_1=this.n38_1.h37()+"<"+this.o38_1.zd()+">"}h37(){return this.p38_1}equals(r){var t=r instanceof M0()?r:null,n;if(t==null)return!1;n=t;var a=n;return A(this.n38_1,a.n38_1)&&a.o38_1.equals(this.o38_1)}hashCode(){var r=this.o38_1.hashCode();return r=k9(31,r)+br(this.p38_1)|0,r}toString(){return"ContextDescriptor(kClass: "+$(this.o38_1)+", original: "+$(this.n38_1)+")"}q38(){return this.n38_1.q38()}m38(){return this.n38_1.m38()}r38(){return this.n38_1.r38()}s38(){return this.n38_1.s38()}t38(){return this.n38_1.t38()}u38(r){return this.n38_1.u38(r)}v38(r){return this.n38_1.v38(r)}w38(r){return this.n38_1.w38(r)}x38(r){return this.n38_1.x38(r)}y38(r){return this.n38_1.y38(r)}}d(e,"ContextDescriptor",u,u,[Lt()]),E_=e}return E_}function C9(e,i){var r=KS(i),t;if(r==null)t=null;else{var n=e.i38(r);t=n==null?null:n.e36()}return t}function KS(e){var i;return e instanceof M0()?i=e.o38_1:e instanceof L0()?i=KS(e.z38_1):i=null,i}var GS,JS,WS,HS;function z9(){return[h1(),H5(),ls(),YS()]}function S9(){return A_==null&&(A_=Ks(z9())),A_}var Tg;function c1(){if(Tg)return z;Tg=!0,GS=new(si())("OBJ",0,x(123),x(125)),JS=new(si())("LIST",1,x(91),x(93)),WS=new(si())("MAP",2,x(123),x(125)),HS=new(si())("POLY_OBJ",3,x(91),x(93))}var A_,j_;function si(){if(j_===u){class e extends Ot(){constructor(r,t,n,a){super(r,t),this.f3z_1=n,this.g3z_1=a}}d(e,"WriteMode"),j_=e}return j_}function VS(e,i){var r=i.q38(),t;if(r instanceof fn())t=YS();else if(A(r,Ba()))t=H5();else if(A(r,Ra())){var n=_s(i.x38(0),e.b3b()),a=n.q38(),s,_;if(a instanceof zt()?_=!0:_=A(a,ze()),_)s=ls();else if(e.q3r_1.h3t_1)s=H5();else throw BS(n);t=s}else t=h1();return t}function _s(e,i){var r;if(A(e.q38(),u1())){var t=C9(i,e),n=t==null?null:_s(t,i);r=n??e}else e.r38()?r=_s(e.x38(0),i):r=e;return r}function h1(){return c1(),GS}function H5(){return c1(),JS}function ls(){return c1(),WS}function YS(){return c1(),HS}var N_;function q9(){if(N_===u){class e extends V5(){static u3i(){os=null;var r=this.f3b();return os=r,r.t3i_1=Un(),r}b3b(){return this.t3i_1}h3b(r){return z}i3b(){return z}j3b(r){return z}k3b(r){return z}l3b(r){return z}m3b(r){return z}n3b(r){return z}o3b(r){return z}p3b(r){return z}q3b(r){return z}r3b(r){return z}s3b(r,t){return z}}B(e,"NoOpEncoder"),N_=e}return N_}var os;function I9(){return os===u&&q9().u3i(),os}function $9(){}function E9(e,i){return this.m3a(e)}function A9(e,i){e.f36(this,i)}function j9(e,i){var r=e.e36().m38();if(r)return this.f3c(L(e,On())?e:m(),i);i==null?this.i3b():(this.i3c(),this.f3c(e,i))}var L_;function ZS(){if(L_===u){class e{}Ir(e,"Encoder"),L_=e}return L_}function N9(e,i){return!0}var M_;function XS(){if(M_===u){class e{}Ir(e,"CompositeEncoder"),M_=e}return M_}var T_;function V5(){if(T_===u){class e{static f3b(){return Or(this)}m3a(r){return this}n3a(r){}g3b(r,t){return!0}h3b(r){throw Nr().q37("Non-serializable "+$(cr(r))+" is not supported by "+$(cr(this))+" encoder")}i3b(){throw Nr().q37("'null' is not supported by default")}j3b(r){return this.h3b(r)}k3b(r){return this.h3b(r)}l3b(r){return this.h3b(r)}m3b(r){return this.h3b(r)}n3b(r){return this.h3b(r)}o3b(r){return this.h3b(r)}p3b(r){return this.h3b(r)}q3b(r){return this.h3b(new(J())(r))}r3b(r){return this.h3b(r)}s3b(r,t){return this.h3b(t)}t3b(r){return this}u3b(r,t,n){this.g3b(r,t)&&this.j3b(n)}v3b(r,t,n){this.g3b(r,t)&&this.k3b(n)}w3b(r,t,n){this.g3b(r,t)&&this.l3b(n)}x3b(r,t,n){this.g3b(r,t)&&this.m3b(n)}y3b(r,t,n){this.g3b(r,t)&&this.n3b(n)}z3b(r,t,n){this.g3b(r,t)&&this.o3b(n)}a3c(r,t,n){this.g3b(r,t)&&this.p3b(n)}b3c(r,t,n){this.g3b(r,t)&&this.q3b(n)}c3c(r,t,n){this.g3b(r,t)&&this.r3b(n)}d3c(r,t){return this.g3b(r,t)?this.t3b(r.x38(t)):I9()}e3c(r,t,n,a){this.g3b(r,t)&&this.f3c(n,a)}g3c(r,t,n,a){this.g3b(r,t)&&this.h3c(n,a)}}F(e).i3c=$9,F(e).j3c=E9,F(e).f3c=A9,F(e).h3c=j9,F(e).k3c=N9,d(e,"AbstractEncoder",u,u,[ZS(),XS()]),T_=e}return T_}var D_;function v1(){if(D_===u){class e{constructor(r){this.i3v_1=r,this.j3v_1=!0}k3v(){this.j3v_1=!0}l3v(){return z}m3v(){this.j3v_1=!1}n3v(){this.j3v_1=!1}o3v(){return z}p3v(r){return this.i3v_1.q3v(r)}v2p(r){return this.i3v_1.r3v(r)}s3v(r){return this.i3v_1.r3v(r.toString())}t3v(r){return this.i3v_1.r3v(r.toString())}u3v(r){return this.i3v_1.f2b(yt(r))}v3v(r){return this.i3v_1.f2b(yt(r))}w3v(r){return this.i3v_1.f2b(yt(r))}x3v(r){return this.i3v_1.f2b(r)}y3v(r){return this.i3v_1.r3v(r.toString())}z3v(r){return this.i3v_1.a3w(r)}}d(e,"Composer"),D_=e}return D_}function L9(e,i){return i.q3r_1.i3t_1?new(M9())(e,i):new(v1())(e)}var F_;function Dg(){if(F_===u){class e extends v1(){constructor(r,t){super(r),this.d3w_1=t}w3v(r){if(this.d3w_1){var t=fr(r);this.z3v(Om(t))}else{var n=fr(r);this.v2p(Om(n))}}x3v(r){if(this.d3w_1){var t=Ni(r);this.z3v(Um(t))}else{var n=Ni(r);this.v2p(Um(n))}}u3v(r){if(this.d3w_1){var t=Lr(r);this.z3v(Km(t))}else{var n=Lr(r);this.v2p(Km(n))}}v3v(r){if(this.d3w_1){var t=ji(r);this.z3v(Gm(t))}else{var n=ji(r);this.v2p(Gm(n))}}}d(e,"ComposerForUnsignedNumbers"),F_=e}return F_}var P_;function Fg(){if(P_===u){class e extends v1(){constructor(r,t){super(r),this.g3w_1=t}z3v(r){this.g3w_1?super.z3v(r):super.v2p(r)}}d(e,"ComposerForUnquotedLiterals"),P_=e}return P_}var B_;function M9(){if(B_===u){class e extends v1(){constructor(r,t){super(r),this.j3w_1=t,this.k3w_1=0}k3v(){this.j3v_1=!0,this.k3w_1=this.k3w_1+1|0}l3v(){this.k3w_1=this.k3w_1-1|0}m3v(){this.j3v_1=!1,this.v2p(` +`);var r=this.k3w_1,t=0;if(taq(e)}function aN(){return e=>e.b3i()}function iN(){return e=>iq(e)}var Z_;function Ur(){if(Z_===u){class e{constructor(r,t,n){t=t===u?null:t,this.z3g_1=r,this.a3h_1=t,this.b3h_1=n,this.c3h_1=-1;for(var a=this,s=0,_=this.b3h_1,l=Array(_);s<_;)l[s]="[UNINITIALIZED]",s=s+1|0;a.d3h_1=l;var o=this,c=this.b3h_1;o.e3h_1=Array(c),this.f3h_1=null,this.g3h_1=rb(this.b3h_1),this.h3h_1=rn();var h=this,v=ur();h.i3h_1=_r(v,()=>{var g=this.a3h_1,C=g==null?null:g.r3i();return C??QS()});var f=this,p=ur();f.j3h_1=_r(p,()=>{var g=this.a3h_1,C=g==null?null:g.s3i(),S;if(C==null)S=null;else{for(var k=j().d1(C.length),E=0,D=C.length;Esq(this,this.b3i()))}h37(){return this.z3g_1}s38(){return this.b3h_1}q38(){return Pa()}t38(){var r=this.f3h_1;return r??_t()}v39(){return this.h3h_1.z2()}b3i(){var r=this.j3h_1,t=le();return oe("typeParameterDescriptors",1,t,aN(),null),r.v2()}c3i(r,t){this.c3h_1=this.c3h_1+1|0,this.d3h_1[this.c3h_1]=r,this.g3h_1[this.c3h_1]=t,this.e3h_1[this.c3h_1]=null,this.c3h_1===(this.b3h_1-1|0)&&(this.h3h_1=eN(this))}l3h(r,t,n){t=t===u?!1:t;var a;return n===u?(this.c3i(r,t),a=z):a=n.c3i.call(this,r,t),a}x38(r){return sn(aq(this),r).e36()}y38(r){return eq(this.g3h_1,r)}w38(r){var t=sn(this.e3h_1,r);return t??_t()}u38(r){return sn(this.d3h_1,r)}v38(r){var t=this.h3h_1.y2(r);return t??-3}equals(r){var t;r:{if(this===r){t=!0;break r}if(!(r instanceof Ur())){t=!1;break r}if(this.h37()!==r.h37()){t=!1;break r}if(!Js(this.b3i(),r.b3i())){t=!1;break r}if(this.s38()!==r.s38()){t=!1;break r}var n=0,a=this.s38();if(ne.u38(t)+": "+e.x38(t).h37())}function ie(e,i,r,t){var n;if(t===u?n=uN:n=t,t=n,Ws(e)){var a="Blank serial names are prohibited";throw W().u($(a))}if(A(i,Pa())){var s="For StructureKind.CLASS please use 'buildClassSerialDescriptor' instead";throw W().u($(s))}var _=new(_q())(e);return t(_),new(T0())(e,i,_.p36_1.h1(),tb(r),_)}var X_;function _q(){if(X_===u){class e{constructor(r){this.m36_1=r,this.n36_1=!1,this.o36_1=_t(),this.p36_1=j().p1(),this.q36_1=Wt().r8(),this.r36_1=j().p1(),this.s36_1=j().p1(),this.t36_1=j().p1()}i39(r,t,n,a){if(!this.q36_1.c1(r)){var s="Element with name '"+r+"' is already registered in "+this.m36_1;throw W().u($(s))}this.p36_1.c1(r),this.r36_1.c1(t),this.s36_1.c1(n),this.t36_1.c1(a)}u36(r,t,n,a,s){n=n===u?_t():n,a=a===u?!1:a;var _;return s===u?(this.i39(r,t,n,a),_=z):_=s.i39.call(this,r,t,n,a),_}}d(e,"ClassSerialDescriptorBuilder"),X_=e}return X_}function lq(e){var i=e.u39_1,r=le();return oe("_hashCode",1,r,sN(),null),i.v2()}function sN(){return e=>lq(e)}var Q_;function T0(){if(Q_===u){class e{constructor(r,t,n,a,s){this.j39_1=r,this.k39_1=t,this.l39_1=n,this.m39_1=s.o36_1,this.n39_1=K7(s.p36_1);var _=this,l=s.p36_1;_.o39_1=ut(l),this.p39_1=W5(s.r36_1);var o=this,c=s.s36_1;o.q39_1=ut(c),this.r39_1=G7(s.t36_1);for(var h=this,v=J7(this.o39_1),f=j().d1(Cr(v,10)),p=v.e1();p.f1();){var w=p.g1(),b=T(w.xi_1,w.wi_1);f.c1(b)}h.s39_1=eb(f),this.t39_1=W5(a);var g=this;g.u39_1=Hs(()=>sq(this,this.t39_1))}h37(){return this.j39_1}q38(){return this.k39_1}s38(){return this.l39_1}t38(){return this.m39_1}v39(){return this.n39_1}u38(r){return sn(this.o39_1,r)}v38(r){var t=this.s39_1.y2(r);return t??-3}w38(r){return sn(this.q39_1,r)}x38(r){return sn(this.p39_1,r)}y38(r){return eq(this.r39_1,r)}equals(r){var t;r:{if(this===r){t=!0;break r}if(!(r instanceof T0())){t=!1;break r}if(this.h37()!==r.h37()){t=!1;break r}if(!Js(this.t39_1,r.t39_1)){t=!1;break r}if(this.s38()!==r.s38()){t=!1;break r}var n=0,a=this.s38();if(ne.e36()}var rl;function oN(){if(rl===u){class e{constructor(r,t){this.a3j_1=t,this.b3j_1=_t();var n=this,a=ur();n.c3j_1=_r(a,()=>{var s=_1();return ie(r,s,[],_=>(_.o36_1=this.b3j_1,z))})}e36(){var r=this.c3j_1,t=le();return oe("descriptor",1,t,lN(),null),r.v2()}w36(r,t){r.m3a(this.e36()).n3a(this.e36())}f36(r,t){return this.w36(r,t??m())}g36(r){var t=this.e36(),n=r.m3a(t);r:{if(n.c3b())break r;var a=n.d3b(this.e36());if(a===-1)break r;throw Nr().q37("Unexpected index "+a)}return n.n3a(t),this.a3j_1}}d(e,"ObjectSerializer",u,u,[V()]),rl=e}return rl}var cN=Math.imul;function cq(){return d1(),hq}var hq,tl;function hN(){if(tl===u){class e{constructor(){ed=this,this.s3n_1=new(St())("kotlin.String",vn())}e36(){return this.s3n_1}t3n(r,t){return r.r3b(t)}f36(r,t){return this.t3n(r,t!=null&&typeof t=="string"?t:m())}g36(r){return r.h3a()}}B(e,"StringSerializer",u,u,[V()]),tl=e}return tl}var ed;function zr(){return ed===u&&new(hN()),ed}function ra(e){throw vr().r3("Primitive descriptor "+e.u3n_1+" does not have elements")}var el;function St(){if(el===u){class e{constructor(r,t){this.u3n_1=r,this.v3n_1=t}h37(){return this.u3n_1}q38(){return this.v3n_1}s38(){return 0}u38(r){ra(this)}v38(r){ra(this)}y38(r){ra(this)}x38(r){ra(this)}w38(r){ra(this)}toString(){return"PrimitiveDescriptor("+this.u3n_1+")"}equals(r){return this===r?!0:r instanceof St()?!!(this.u3n_1===r.u3n_1&&A(this.v3n_1,r.v3n_1)):!1}hashCode(){return br(this.u3n_1)+cN(31,this.v3n_1.hashCode())|0}}F(e).m38=mn,F(e).r38=gn,F(e).t38=Ua,d(e,"PrimitiveSerialDescriptor",u,u,[Lt()]),el=e}return el}function vN(e){d1();var i=cq().y2(e);return i==null||L(i,V())?i:m()}var nl;function fN(){if(nl===u){class e{constructor(){nd=this,this.w3n_1=new(St())("kotlin.Int",r9())}e36(){return this.w3n_1}x3n(r,t){return r.m3b(t)}f36(r,t){return this.x3n(r,t!=null&&typeof t=="number"?t:m())}g36(r){return r.c3a()}}B(e,"IntSerializer",u,u,[V()]),nl=e}return nl}var nd;function K(){return nd===u&&new(fN()),nd}var al;function dN(){if(al===u){class e{constructor(){ad=this,this.y3n_1=new(St())("kotlin.Long",e9())}e36(){return this.y3n_1}z3n(r,t){return r.n3b(t)}f36(r,t){return this.z3n(r,t!=null&&typeof t=="bigint"?t:m())}g36(r){return r.d3a()}}B(e,"LongSerializer",u,u,[V()]),al=e}return al}var ad;function Ka(){return ad===u&&new(dN()),ad}var il;function pN(){if(il===u){class e{constructor(){id=this,this.a3o_1=new(St())("kotlin.Byte",Hj())}e36(){return this.a3o_1}b3o(r,t){return r.k3b(t)}f36(r,t){return this.b3o(r,t!=null&&typeof t=="number"?t:m())}g36(r){return r.a3a()}}B(e,"ByteSerializer",u,u,[V()]),il=e}return il}var id;function mN(){return id===u&&new(pN()),id}var sl;function gN(){if(sl===u){class e{constructor(){sd=this,this.c3o_1=new(St())("kotlin.Short",Xj())}e36(){return this.c3o_1}d3o(r,t){return r.l3b(t)}f36(r,t){return this.d3o(r,t!=null&&typeof t=="number"?t:m())}g36(r){return r.b3a()}}B(e,"ShortSerializer",u,u,[V()]),sl=e}return sl}var sd;function wN(){return sd===u&&new(gN()),sd}var ul;function bN(){if(ul===u){class e{constructor(){ud=this,this.e3o_1=new(St())("kotlin.Char",Yj())}e36(){return this.e3o_1}f3o(r,t){return r.q3b(t)}f36(r,t){return this.f3o(r,t instanceof J()?t.d2_1:m())}g3o(r){return r.g3a()}g36(r){return new(J())(this.g3o(r))}}B(e,"CharSerializer",u,u,[V()]),ul=e}return ul}var ud;function yN(){return ud===u&&new(bN()),ud}var _l;function kN(){if(_l===u){class e{constructor(){_d=this,this.h3o_1=new(St())("kotlin.Double",s9())}e36(){return this.h3o_1}i3o(r,t){return r.p3b(t)}f36(r,t){return this.i3o(r,t!=null&&typeof t=="number"?t:m())}g36(r){return r.f3a()}}B(e,"DoubleSerializer",u,u,[V()]),_l=e}return _l}var _d;function xN(){return _d===u&&new(kN()),_d}var ll;function CN(){if(ll===u){class e{constructor(){ld=this,this.j3o_1=new(St())("kotlin.Float",a9())}e36(){return this.j3o_1}k3o(r,t){return r.o3b(t)}f36(r,t){return this.k3o(r,t!=null&&typeof t=="number"?t:m())}g36(r){return r.e3a()}}B(e,"FloatSerializer",u,u,[V()]),ll=e}return ll}var ld;function mt(){return ld===u&&new(CN()),ld}var ol;function zN(){if(ol===u){class e{constructor(){od=this,this.l3o_1=new(St())("kotlin.Boolean",Jj())}e36(){return this.l3o_1}m3o(r,t){return r.j3b(t)}f36(r,t){return this.m3o(r,t!=null&&typeof t=="boolean"?t:m())}g36(r){return r.z39()}}B(e,"BooleanSerializer",u,u,[V()]),ol=e}return ol}var od;function Mn(){return od===u&&new(zN()),od}var cl;function SN(){if(cl===u){class e{constructor(){cd=this,this.n3o_1=new(oN())("kotlin.Unit",z)}e36(){return this.n3o_1.e36()}o3o(r,t){this.n3o_1.w36(r,z)}f36(r,t){return this.o3o(r,t instanceof _0()?t:m())}p3o(r){this.n3o_1.g36(r)}g36(r){return this.p3o(r),z}}B(e,"UnitSerializer",u,u,[V()]),cl=e}return cl}var cd;function qN(){return cd===u&&new(SN()),cd}function IN(e,i){return d1(),$N(e),new(St())(e,i)}function $N(e){d1();for(var i=cq().a3(),r=i.e1();r.f1();){var t=r.g1(),n=t.e36().h37();if(e===n)throw W().u(nb(` The name of serial descriptor should uniquely identify associated serializer. - For serial name `+e+" there already exists "+or(t).ce()+`. + For serial name `+e+" there already exists "+cr(t).zd()+`. Please refer to SerialDescriptor documentation for additional information. - `))}}var Gw;function g1(){Gw||(Gw=!0,hq=XN())}var jL=Math.imul;function Ha(e,i){return new(fq())(e,new(ML())(i))}var g_;function fq(){if(g_===l){class e extends Kr(){constructor(r,t){super(r,t,1),this.n3i_1=!0}p38(){return this.n3i_1}hashCode(){return jL(super.hashCode(),31)}equals(r){var t;r:{if(this===r){t=!0;break r}if(!(r instanceof fq())){t=!1;break r}if(this.f37()!==r.f37()){t=!1;break r}if(!(r.n3i_1&&Ys(this.z3h(),r.z3h()))){t=!1;break r}if(this.q38()!==r.q38()){t=!1;break r}var n=0,a=this.q38();if(n=0)){var t="Illegal index "+r+", "+this.f37()+" expects only non-negative indices";throw H().u($(t))}return!1}u38(r){if(!(r>=0)){var t="Illegal index "+r+", "+this.f37()+" expects only non-negative indices";throw H().u($(t))}return ot()}v38(r){if(!(r>=0)){var t="Illegal index "+r+", "+this.f37()+" expects only non-negative indices";throw H().u($(t))}return this.w3c_1}equals(r){return this===r?!0:r instanceof Hn()?!!(E(this.w3c_1,r.w3c_1)&&this.f37()===r.f37()):!1}hashCode(){return Sp(Z(this.w3c_1),31)+br(this.f37())|0}toString(){return this.f37()+"("+$(this.w3c_1)+")"}}F(e).k38=gn,F(e).p38=bn,F(e).r38=Ja,p(e,"ListLikeDescriptor",l,l,[Lt()]),N_=e}return N_}var L_;function Kd(){if(L_===l){class e{constructor(r,t,n){this.c3d_1=r,this.d3d_1=t,this.e3d_1=n,this.f3d_1=2}f37(){return this.c3d_1}o38(){return Ka()}q38(){return this.f3d_1}s38(r){return r.toString()}t38(r){var t=r1(r),n;if(t==null)throw H().u(r+" is not a valid map index");return n=t,n}w38(r){if(!(r>=0)){var t="Illegal index "+r+", "+this.f37()+" expects only non-negative indices";throw H().u($(t))}return!1}u38(r){if(!(r>=0)){var t="Illegal index "+r+", "+this.f37()+" expects only non-negative indices";throw H().u($(t))}return ot()}v38(r){if(!(r>=0)){var t="Illegal index "+r+", "+this.f37()+" expects only non-negative indices";throw H().u($(t))}var n;switch(r%2|0){case 0:n=this.d3d_1;break;case 1:n=this.e3d_1;break;default:var a="Unreached";throw fr().u3($(a))}return n}equals(r){return this===r?!0:!(!(r instanceof Kd())||this.f37()!==r.f37()||!E(this.d3d_1,r.d3d_1)||!E(this.e3d_1,r.e3d_1))}hashCode(){var r=br(this.f37());return r=Sp(31,r)+Z(this.d3d_1)|0,r=Sp(31,r)+Z(this.e3d_1)|0,r}toString(){return this.f37()+"("+$(this.d3d_1)+", "+$(this.e3d_1)+")"}}F(e).k38=gn,F(e).p38=bn,F(e).r38=Ja,p(e,"MapLikeDescriptor",l,l,[Lt()]),L_=e}return L_}var j_;function YL(){if(j_===l){class e extends Hn(){constructor(r){super(r),this.k3d_1=r.f37()+"Array"}f37(){return this.k3d_1}}p(e,"PrimitiveArrayDescriptor"),j_=e}return j_}var Gd=Math.imul,M_;function Cr(){if(M_===l){class e extends Jd(){constructor(r){super(r),this.m3d_1=new(KL())(r.c36())}c36(){return this.m3d_1}n3d(){return N().p1()}o3d(r){return r.h1()}p3d(r){return this.o3d(r instanceof N()?r:m())}q3d(r){return r}r3d(r){return this.q3d(r instanceof N()?r:m())}s3d(r){var t=r instanceof N()?r:null;return t??N().y(r)}t3d(r){return this.s3d(r!=null&&j(r,t1())?r:m())}u3d(r,t){return r.o6(t)}v3d(r,t){return this.u3d(r instanceof N()?r:m(),t)}w3d(r,t,n){r.q5(t,n)}x3d(r,t,n){var a=r instanceof N()?r:m();return this.w3d(a,t,n==null||n!=null?n:m())}}p(e,"ArrayListSerializer"),M_=e}return M_}var T_;function ZL(){if(T_===l){class e extends Jd(){constructor(r){super(r),this.i3e_1=new(GL())(r.c36())}c36(){return this.i3e_1}n3d(){return Wt().u8()}j3e(r){return r.h1()}p3d(r){return this.j3e(r instanceof Wt()?r:m())}k3e(r){return r}r3d(r){return this.k3e(r instanceof Wt()?r:m())}l3e(r){var t=r instanceof Wt()?r:null;return t??Wt().v8(r)}t3d(r){return this.l3e(r!=null&&j(r,md())?r:m())}m3e(r,t){}v3d(r,t){return this.m3e(r instanceof Wt()?r:m(),t)}n3e(r,t,n){r.c1(n)}x3d(r,t,n){var a=r instanceof Wt()?r:m();return this.n3e(a,t,n==null||n!=null?n:m())}}p(e,"HashSetSerializer"),T_=e}return T_}var F_;function XL(){if(F_===l){class e extends Jd(){constructor(r){super(r),this.p3e_1=new(JL())(r.c36())}c36(){return this.p3e_1}n3d(){return gt().o1()}q3e(r){return r.h1()}p3d(r){return this.q3e(r instanceof gt()?r:m())}r3e(r){return r}r3d(r){return this.r3e(r instanceof gt()?r:m())}l3e(r){var t=r instanceof gt()?r:null;return t??gt().e2(r)}t3d(r){return this.l3e(r!=null&&j(r,md())?r:m())}s3e(r,t){}v3d(r,t){return this.s3e(r instanceof gt()?r:m(),t)}t3e(r,t,n){r.c1(n)}x3d(r,t,n){var a=r instanceof gt()?r:m();return this.t3e(a,t,n==null||n!=null?n:m())}}p(e,"LinkedHashSetSerializer"),F_=e}return F_}var D_;function QL(){if(D_===l){class e extends pq(){constructor(r,t){super(r,t),this.w3e_1=new(WL())(r.c36(),t.c36())}c36(){return this.w3e_1}x3e(r){return r.h1()}y3e(r){return this.x3e(r!=null&&j(r,kt())?r:m())}z3e(r){return r.e3().e1()}a3f(r){return this.z3e(r!=null&&j(r,kt())?r:m())}n3d(){return ye().b7()}b3f(r){return Gd(r.h1(),2)}p3d(r){return this.b3f(r instanceof ye()?r:m())}c3f(r){return r}r3d(r){return this.c3f(r instanceof ye()?r:m())}d3f(r){var t=r instanceof ye()?r:null;return t??ye().q7(r)}t3d(r){return this.d3f(r!=null&&j(r,kt())?r:m())}e3f(r,t){}v3d(r,t){return this.e3f(r instanceof ye()?r:m(),t)}}p(e,"HashMapSerializer"),D_=e}return D_}var P_;function vq(){if(P_===l){class e extends pq(){constructor(r,t){super(r,t),this.l3f_1=new(HL())(r.c36(),t.c36())}c36(){return this.l3f_1}x3e(r){return r.h1()}y3e(r){return this.x3e(r!=null&&j(r,kt())?r:m())}z3e(r){return r.e3().e1()}a3f(r){return this.z3e(r!=null&&j(r,kt())?r:m())}n3d(){return zr().va()}m3f(r){return Gd(r.h1(),2)}p3d(r){return this.m3f(r instanceof zr()?r:m())}n3f(r){return r}r3d(r){return this.n3f(r instanceof zr()?r:m())}d3f(r){var t=r instanceof zr()?r:null;return t??zr().xa(r)}t3d(r){return this.d3f(r!=null&&j(r,kt())?r:m())}o3f(r,t){}v3d(r,t){return this.o3f(r instanceof zr()?r:m(),t)}}p(e,"LinkedHashMapSerializer"),P_=e}return P_}var B_;function Va(){if(B_===l){class e extends Wd(){constructor(r,t){super(t),this.q3f_1=r,this.r3f_1=new(VL())(t.c36())}c36(){return this.r3f_1}s3f(r){return r.length}y3e(r){return this.s3f(r!=null&&ki(r)?r:m())}t3f(r){return H$(r)}a3f(r){return this.t3f(r!=null&&ki(r)?r:m())}n3d(){return N().p1()}u3f(r){return r.h1()}p3d(r){return this.u3f(r instanceof N()?r:m())}v3f(r){return nL(r,this.q3f_1)}r3d(r){return this.v3f(r instanceof N()?r:m())}w3f(r){return N().y(lg(r))}t3d(r){return this.w3f(r!=null&&ki(r)?r:m())}x3f(r,t){return r.o6(t)}v3d(r,t){return this.x3f(r instanceof N()?r:m(),t)}y3f(r,t,n){r.q5(t,n)}x3d(r,t,n){var a=r instanceof N()?r:m();return this.y3f(a,t,n==null||n!=null?n:m())}}p(e,"ReferenceArraySerializer"),B_=e}return B_}var O_;function Jd(){if(O_===l){class e extends Wd(){z3d(r){return r.h1()}y3e(r){return this.z3d(r!=null&&j(r,Pi())?r:m())}a3e(r){return r.e1()}a3f(r){return this.a3e(r!=null&&j(r,Pi())?r:m())}}p(e,"CollectionSerializer"),O_=e}return O_}var R_;function pq(){if(R_===l){class e extends dq(){constructor(r,t){super(),this.f3f_1=r,this.g3f_1=t}h3f(r,t,n,a){if(!(a>=0)){var s="Size must be known in advance when using READ_ALL";throw H().u($(s))}var u=W$(Ct(0,Gd(a,2)),2),_=u.v1_1,o=u.w1_1,c=u.x1_1;if(c>0&&_<=o||c<0&&o<=_)do{var h=_;_=_+c|0,this.i3f(r,n+h|0,t,!1)}while(h!==o)}d3e(r,t,n,a){return this.h3f(r,t!=null&&j(t,O5())?t:m(),n,a)}i3f(r,t,n,a){var s=r.x3a(this.c36(),t,this.f3f_1),u;if(a){var _=r.b3b(this.c36());if(_!==(t+1|0)){var o="Value must follow key in a map, index for key: "+t+", returned index for value: "+_;throw H().u($(o))}u=_}else u=t+1|0;var c=u,h,f;if(n.z2(s)){var v=this.g3f_1.c36().o38();f=!(v instanceof St())}else f=!1;f?h=r.w3a(this.c36(),c,this.g3f_1,e1(n,s)):h=r.x3a(this.c36(),c,this.g3f_1);var d=h;n.f3(s,d)}e3e(r,t,n,a){return this.i3f(r,t,n!=null&&j(n,O5())?n:m(),a)}c3e(r,t){for(var n=this.y3e(t),a=this.c36(),s=r.h3c(a,n),u=this.a3f(t),_=0,o=u;o.f1();){var c=o.g1(),h=c.x2(),f=c.y2(),v=this.c36(),d=_;_=d+1|0,s.c3c(v,d,this.f3f_1,h);var g=this.c36(),b=_;_=b+1|0,s.c3c(g,b,this.g3f_1,f)}s.l3a(a)}d36(r,t){return this.c3e(r,t==null||t!=null?t:m())}}p(e,"MapLikeSerializer"),R_=e}return R_}var U_;function Wd(){if(U_===l){class e extends dq(){constructor(r){super(),this.b3e_1=r}c3e(r,t){var n=this.y3e(t),a=this.c36(),s=r.h3c(a,n),u=this.a3f(t),_=0;if(_=0)){var s="Size must be known in advance when using READ_ALL";throw H().u($(s))}var u=0;if(u(s.s36("key",r.c36()),s.s36("value",t.c36()),S))}c36(){return this.r3p_1}s3p(r){return r.x2()}t3p(r){return this.s3p(r!=null&&j(r,Ki())?r:m())}u3p(r){return r.y2()}v3p(r){return this.u3p(r!=null&&j(r,Ki())?r:m())}w3p(r,t){return new(zp())(r,t)}}p(e,"MapEntrySerializer"),Eo=e}return Eo}var No;function zj(){if(No===l){class e extends wq(){constructor(r,t){super(r,t);var n=this;n.c3q_1=Ud("kotlin.Pair",[],a=>(a.s36("first",r.c36()),a.s36("second",t.c36()),S))}c36(){return this.c3q_1}d3q(r){return r.xd_1}t3p(r){return this.d3q(r instanceof R5()?r:m())}e3q(r){return r.yd_1}v3p(r){return this.e3q(r instanceof R5()?r:m())}w3p(r,t){return T(r,t)}}p(e,"PairSerializer"),No=e}return No}function qj(e,i){var r=i.x3a(e.i3q_1,0,e.f3q_1),t=i.x3a(e.i3q_1,1,e.g3q_1),n=i.x3a(e.i3q_1,2,e.h3q_1);return i.l3a(e.i3q_1),new(n1())(r,t,n)}function Ij(e,i){var r=re(),t=re(),n=re();r:for(;;){var a=i.b3b(e.i3q_1);switch(a){case-1:break r;case 0:r=i.x3a(e.i3q_1,0,e.f3q_1);break;case 1:t=i.x3a(e.i3q_1,1,e.g3q_1);break;case 2:n=i.x3a(e.i3q_1,2,e.h3q_1);break;default:throw jr().o37("Unexpected index "+a)}}if(i.l3a(e.i3q_1),r===re())throw jr().o37("Element 'first' is missing");if(t===re())throw jr().o37("Element 'second' is missing");if(n===re())throw jr().o37("Element 'third' is missing");var s=r==null||r!=null?r:m(),u=t==null||t!=null?t:m();return new(n1())(s,u,n==null||n!=null?n:m())}var Lo;function $j(){if(Lo===l){class e{constructor(r,t,n){this.f3q_1=r,this.g3q_1=t,this.h3q_1=n;var a=this;a.i3q_1=Ud("kotlin.Triple",[],s=>(s.s36("first",this.f3q_1.c36()),s.s36("second",this.g3q_1.c36()),s.s36("third",this.h3q_1.c36()),S))}c36(){return this.i3q_1}j3q(r,t){var n=r.k3a(this.i3q_1);n.c3c(this.i3q_1,0,this.f3q_1,t.tp_1),n.c3c(this.i3q_1,1,this.g3q_1,t.up_1),n.c3c(this.i3q_1,2,this.h3q_1,t.vp_1),n.l3a(this.i3q_1)}d36(r,t){return this.j3q(r,t instanceof n1()?t:m())}e36(r){var t=r.k3a(this.i3q_1);return t.a3b()?qj(this,t):Ij(this,t)}}p(e,"TripleSerializer",l,l,[V()]),Lo=e}return Lo}var jo;function wq(){if(jo===l){class e{constructor(r,t){this.x3p_1=r,this.y3p_1=t}z3p(r,t){var n=r.k3a(this.c36());n.c3c(this.c36(),0,this.x3p_1,this.t3p(t)),n.c3c(this.c36(),1,this.y3p_1,this.v3p(t)),n.l3a(this.c36())}d36(r,t){return this.z3p(r,t==null||t!=null?t:m())}e36(r){var t=this.c36(),n=r.k3a(t),a;r:{if(n.a3b()){var s=n.x3a(this.c36(),0,this.x3p_1),u=n.x3a(this.c36(),1,this.y3p_1);a=this.w3p(s,u);break r}var _=re(),o=re();t:for(;;){var c=n.b3b(this.c36());switch(c){case-1:break t;case 0:_=n.x3a(this.c36(),0,this.x3p_1);break;case 1:o=n.x3a(this.c36(),1,this.y3p_1);break;default:throw jr().o37("Invalid index: "+c)}}if(_===re())throw jr().o37("Element 'key' is missing");if(o===re())throw jr().o37("Element 'value' is missing");var h=_==null||_!=null?_:m();a=this.w3p(h,o==null||o!=null?o:m())}var f=a;return n.l3a(t),f}}p(e,"KeyValueSerializer",l,l,[V()]),jo=e}return jo}var Jw;function Aj(){Jw||(Jw=!0,mq=new Object)}function cn(e){return qr()}function Hd(e){return FL()}function b1(e){return PL()}function Vd(e){return OL()}function Yd(e){return UL()}function $r(e){var i;return e.c36().k38()?i=j(e,V())?e:m():i=new(Uz())(e),i}function Zd(e){return K()}function Xd(e){return Wa()}function Qd(e){return bL()}function rm(e){return CL()}function yq(e){return SL()}function Ej(){return ej()}function gq(e){return qL()}function Nj(){return aj()}function bq(e){return mt()}function Lj(){return _a()}function jj(){return lj()}function Mj(){return _j()}function Tj(){return cj()}function Fj(){return fj()}function Dj(){return pj()}function Pj(){return mj()}function Bj(){return yj()}function Oj(){return bj()}function kq(e){return Dn()}function Rj(){return Cj()}function Uj(e){return EL()}function Kj(){return tq()}function Gj(e){return JN()}function Jj(e){return HN()}function Wj(e){return YN()}function Hj(e,i){return new(Sj())(e,i)}function Vj(e,i){return new(zj())(e,i)}function Yj(e,i,r){return new($j())(e,i,r)}function Zj(e,i){return new(Va())(e,i)}function qp(e,i){return new(vq())(e,i)}function Ip(e){return new(Cr())(e)}function Xj(){return e=>e.c36()}var Mo;function Is(){if(Mo===l){class e extends hn(){static i36(r){var t=this.j36();t.f36_1=r,t.g36_1=ot();var n=t,a=lr();return n.h36_1=ur(a,()=>{var s=vN();return qN(se("kotlinx.serialization.Polymorphic",s,[],u=>(u.s36("type",cn().c36()),u.s36("value",se("kotlinx.serialization.Polymorphic<"+t.f36_1.ce()+">",h1(),[])),u.m36_1=t.g36_1,S)),t.f36_1)}),t}t36(){return this.f36_1}c36(){var r=this.h36_1,t=oe();return ce("descriptor",1,t,Xj(),null),r.y2()}toString(){return"kotlinx.serialization.PolymorphicSerializer(baseClass: "+$(this.f36_1)+")"}}p(e,"PolymorphicSerializer"),Mo=e}return Mo}function Cq(e,i,r){var t=e.w36(i,r),n;return t==null?rM(or(r),e.t36()):n=t,n}function La(e,i,r){var t=e.v36(i,r),n;return t==null?xq(r,e.t36()):n=t,n}function Qj(e,i){var r=i.u3a(e.c36(),0),t=La(e,i,r);return i.x3a(e.c36(),1,t)}var To;function hn(){if(To===l){class e{static j36(){return Ur(this)}u36(r,t){var n=Cq(this,r,t),a=this.c36(),s=r.k3a(a);s.a3c(this.c36(),0,n.c36().f37());var u=this.c36(),_=j(n,Jn())?n:m();s.c3c(u,1,_,t),s.l3a(a)}d36(r,t){return this.u36(r,t??m())}e36(r){var t=this.c36(),n=r.k3a(t),a;r:{var s=null,u=null;if(n.a3b()){a=Qj(this,n);break r}t:for(;;){var _=n.b3b(this.c36());switch(_){case-1:break t;case 0:s=n.u3a(this.c36(),_);break;case 1:var o=s,c;e:if(o==null){var h="Cannot read polymorphic value before its type token";throw H().u($(h))}else{c=o;break e}s=c;var f=La(this,n,s);u=n.x3a(this.c36(),_,f);break;default:var v=s;throw jr().o37("Invalid index in polymorphic deserialization of "+(v??"unknown class")+(` - Expected 0, 1 or DECODE_DONE(-1), but found `+_))}}var d=u,g;t:if(d==null){var b="Polymorphic value has not been read for class "+s;throw H().u($(b))}else{g=d;break t}var w=g;a=w??m()}var x=a;return n.l3a(t),x}v36(r,t){return r.z3a().j3c(this.t36(),t)}w36(r,t){return r.z3a().k3c(this.t36(),t)}}p(e,"AbstractPolymorphicSerializer",l,l,[V()]),To=e}return To}function rM(e,i){var r=e.ce();xq(r??$(e),i)}function xq(e,i){var r="in the polymorphic scope of '"+i.ce()+"'";throw jr().o37(e==null?"Class discriminator was missing and no default serializers were registered "+r+".":"Serializer for subclass '"+e+"' is not found "+r+`. + `))}}var Og;function d1(){Og||(Og=!0,hq=H9())}var EN=Math.imul;function Ga(e,i){return new(vq())(e,new(AN())(i))}var hl;function vq(){if(hl===u){class e extends Ur(){constructor(r,t){super(r,t,1),this.p3i_1=!0}r38(){return this.p3i_1}hashCode(){return EN(super.hashCode(),31)}equals(r){var t;r:{if(this===r){t=!0;break r}if(!(r instanceof vq())){t=!1;break r}if(this.h37()!==r.h37()){t=!1;break r}if(!(r.p3i_1&&Js(this.b3i(),r.b3i()))){t=!1;break r}if(this.s38()!==r.s38()){t=!1;break r}var n=0,a=this.s38();if(n=0)){var t="Illegal index "+r+", "+this.h37()+" expects only non-negative indices";throw W().u($(t))}return!1}w38(r){if(!(r>=0)){var t="Illegal index "+r+", "+this.h37()+" expects only non-negative indices";throw W().u($(t))}return _t()}x38(r){if(!(r>=0)){var t="Illegal index "+r+", "+this.h37()+" expects only non-negative indices";throw W().u($(t))}return this.y3c_1}equals(r){return this===r?!0:r instanceof Kn()?!!(A(this.y3c_1,r.y3c_1)&&this.h37()===r.h37()):!1}hashCode(){return pd(Z(this.y3c_1),31)+br(this.h37())|0}toString(){return this.h37()+"("+$(this.y3c_1)+")"}}F(e).m38=mn,F(e).r38=gn,F(e).t38=Ua,d(e,"ListLikeDescriptor",u,u,[Lt()]),Cl=e}return Cl}var zl;function F0(){if(zl===u){class e{constructor(r,t,n){this.e3d_1=r,this.f3d_1=t,this.g3d_1=n,this.h3d_1=2}h37(){return this.e3d_1}q38(){return Ra()}s38(){return this.h3d_1}u38(r){return r.toString()}v38(r){var t=Ys(r),n;if(t==null)throw W().u(r+" is not a valid map index");return n=t,n}y38(r){if(!(r>=0)){var t="Illegal index "+r+", "+this.h37()+" expects only non-negative indices";throw W().u($(t))}return!1}w38(r){if(!(r>=0)){var t="Illegal index "+r+", "+this.h37()+" expects only non-negative indices";throw W().u($(t))}return _t()}x38(r){if(!(r>=0)){var t="Illegal index "+r+", "+this.h37()+" expects only non-negative indices";throw W().u($(t))}var n;switch(r%2|0){case 0:n=this.f3d_1;break;case 1:n=this.g3d_1;break;default:var a="Unreached";throw vr().r3($(a))}return n}equals(r){return this===r?!0:!(!(r instanceof F0())||this.h37()!==r.h37()||!A(this.f3d_1,r.f3d_1)||!A(this.g3d_1,r.g3d_1))}hashCode(){var r=br(this.h37());return r=pd(31,r)+Z(this.f3d_1)|0,r=pd(31,r)+Z(this.g3d_1)|0,r}toString(){return this.h37()+"("+$(this.f3d_1)+", "+$(this.g3d_1)+")"}}F(e).m38=mn,F(e).r38=gn,F(e).t38=Ua,d(e,"MapLikeDescriptor",u,u,[Lt()]),zl=e}return zl}var Sl;function JN(){if(Sl===u){class e extends Kn(){constructor(r){super(r),this.m3d_1=r.h37()+"Array"}h37(){return this.m3d_1}}d(e,"PrimitiveArrayDescriptor"),Sl=e}return Sl}var P0=Math.imul,ql;function yr(){if(ql===u){class e extends B0(){constructor(r){super(r),this.o3d_1=new(BN())(r.e36())}e36(){return this.o3d_1}p3d(){return j().p1()}q3d(r){return r.h1()}r3d(r){return this.q3d(r instanceof j()?r:m())}s3d(r){return r}t3d(r){return this.s3d(r instanceof j()?r:m())}u3d(r){var t=r instanceof j()?r:null;return t??j().y(r)}v3d(r){return this.u3d(r!=null&&L(r,Zs())?r:m())}w3d(r,t){return r.l6(t)}x3d(r,t){return this.w3d(r instanceof j()?r:m(),t)}y3d(r,t,n){r.n5(t,n)}z3d(r,t,n){var a=r instanceof j()?r:m();return this.y3d(a,t,n==null||n!=null?n:m())}}d(e,"ArrayListSerializer"),ql=e}return ql}var Il;function WN(){if(Il===u){class e extends B0(){constructor(r){super(r),this.k3e_1=new(RN())(r.e36())}e36(){return this.k3e_1}p3d(){return Wt().r8()}l3e(r){return r.h1()}r3d(r){return this.l3e(r instanceof Wt()?r:m())}m3e(r){return r}t3d(r){return this.m3e(r instanceof Wt()?r:m())}n3e(r){var t=r instanceof Wt()?r:null;return t??Wt().s8(r)}v3d(r){return this.n3e(r!=null&&L(r,o0())?r:m())}o3e(r,t){}x3d(r,t){return this.o3e(r instanceof Wt()?r:m(),t)}p3e(r,t,n){r.c1(n)}z3d(r,t,n){var a=r instanceof Wt()?r:m();return this.p3e(a,t,n==null||n!=null?n:m())}}d(e,"HashSetSerializer"),Il=e}return Il}var $l;function HN(){if($l===u){class e extends B0(){constructor(r){super(r),this.r3e_1=new(ON())(r.e36())}e36(){return this.r3e_1}p3d(){return bt().o1()}s3e(r){return r.h1()}r3d(r){return this.s3e(r instanceof bt()?r:m())}t3e(r){return r}t3d(r){return this.t3e(r instanceof bt()?r:m())}n3e(r){var t=r instanceof bt()?r:null;return t??bt().b2(r)}v3d(r){return this.n3e(r!=null&&L(r,o0())?r:m())}u3e(r,t){}x3d(r,t){return this.u3e(r instanceof bt()?r:m(),t)}v3e(r,t,n){r.c1(n)}z3d(r,t,n){var a=r instanceof bt()?r:m();return this.v3e(a,t,n==null||n!=null?n:m())}}d(e,"LinkedHashSetSerializer"),$l=e}return $l}var El;function VN(){if(El===u){class e extends dq(){constructor(r,t){super(r,t),this.y3e_1=new(UN())(r.e36(),t.e36())}e36(){return this.y3e_1}z3e(r){return r.h1()}a3f(r){return this.z3e(r!=null&&L(r,kt())?r:m())}b3f(r){return r.b3().e1()}c3f(r){return this.b3f(r!=null&&L(r,kt())?r:m())}p3d(){return me().y6()}d3f(r){return P0(r.h1(),2)}r3d(r){return this.d3f(r instanceof me()?r:m())}e3f(r){return r}t3d(r){return this.e3f(r instanceof me()?r:m())}f3f(r){var t=r instanceof me()?r:null;return t??me().n7(r)}v3d(r){return this.f3f(r!=null&&L(r,kt())?r:m())}g3f(r,t){}x3d(r,t){return this.g3f(r instanceof me()?r:m(),t)}}d(e,"HashMapSerializer"),El=e}return El}var Al;function fq(){if(Al===u){class e extends dq(){constructor(r,t){super(r,t),this.n3f_1=new(KN())(r.e36(),t.e36())}e36(){return this.n3f_1}z3e(r){return r.h1()}a3f(r){return this.z3e(r!=null&&L(r,kt())?r:m())}b3f(r){return r.b3().e1()}c3f(r){return this.b3f(r!=null&&L(r,kt())?r:m())}p3d(){return jr().sa()}o3f(r){return P0(r.h1(),2)}r3d(r){return this.o3f(r instanceof jr()?r:m())}p3f(r){return r}t3d(r){return this.p3f(r instanceof jr()?r:m())}f3f(r){var t=r instanceof jr()?r:null;return t??jr().ua(r)}v3d(r){return this.f3f(r!=null&&L(r,kt())?r:m())}q3f(r,t){}x3d(r,t){return this.q3f(r instanceof jr()?r:m(),t)}}d(e,"LinkedHashMapSerializer"),Al=e}return Al}var jl;function Ja(){if(jl===u){class e extends R0(){constructor(r,t){super(t),this.s3f_1=r,this.t3f_1=new(GN())(t.e36())}e36(){return this.t3f_1}u3f(r){return r.length}a3f(r){return this.u3f(r!=null&&mi(r)?r:m())}v3f(r){return H7(r)}c3f(r){return this.v3f(r!=null&&mi(r)?r:m())}p3d(){return j().p1()}w3f(r){return r.h1()}r3d(r){return this.w3f(r instanceof j()?r:m())}x3f(r){return Q9(r,this.s3f_1)}t3d(r){return this.x3f(r instanceof j()?r:m())}y3f(r){return j().y(ab(r))}v3d(r){return this.y3f(r!=null&&mi(r)?r:m())}z3f(r,t){return r.l6(t)}x3d(r,t){return this.z3f(r instanceof j()?r:m(),t)}a3g(r,t,n){r.n5(t,n)}z3d(r,t,n){var a=r instanceof j()?r:m();return this.a3g(a,t,n==null||n!=null?n:m())}}d(e,"ReferenceArraySerializer"),jl=e}return jl}var Nl;function B0(){if(Nl===u){class e extends R0(){b3e(r){return r.h1()}a3f(r){return this.b3e(r!=null&&L(r,Li())?r:m())}c3e(r){return r.e1()}c3f(r){return this.c3e(r!=null&&L(r,Li())?r:m())}}d(e,"CollectionSerializer"),Nl=e}return Nl}var Ll;function dq(){if(Ll===u){class e extends pq(){constructor(r,t){super(),this.h3f_1=r,this.i3f_1=t}j3f(r,t,n,a){if(!(a>=0)){var s="Size must be known in advance when using READ_ALL";throw W().u($(s))}var _=W7(xt(0,P0(a,2)),2),l=_.v1_1,o=_.w1_1,c=_.x1_1;if(c>0&&l<=o||c<0&&o<=l)do{var h=l;l=l+c|0,this.k3f(r,n+h|0,t,!1)}while(h!==o)}f3e(r,t,n,a){return this.j3f(r,t!=null&&L(t,j5())?t:m(),n,a)}k3f(r,t,n,a){var s=r.z3a(this.e36(),t,this.h3f_1),_;if(a){var l=r.d3b(this.e36());if(l!==(t+1|0)){var o="Value must follow key in a map, index for key: "+t+", returned index for value: "+l;throw W().u($(o))}_=l}else _=t+1|0;var c=_,h,v;if(n.w2(s)){var f=this.i3f_1.e36().q38();v=!(f instanceof zt())}else v=!1;v?h=r.y3a(this.e36(),c,this.i3f_1,Xs(n,s)):h=r.z3a(this.e36(),c,this.i3f_1);var p=h;n.c3(s,p)}g3e(r,t,n,a){return this.k3f(r,t,n!=null&&L(n,j5())?n:m(),a)}e3e(r,t){for(var n=this.a3f(t),a=this.e36(),s=r.j3c(a,n),_=this.c3f(t),l=0,o=_;o.f1();){var c=o.g1(),h=c.u2(),v=c.v2(),f=this.e36(),p=l;l=p+1|0,s.e3c(f,p,this.h3f_1,h);var w=this.e36(),b=l;l=b+1|0,s.e3c(w,b,this.i3f_1,v)}s.n3a(a)}f36(r,t){return this.e3e(r,t==null||t!=null?t:m())}}d(e,"MapLikeSerializer"),Ll=e}return Ll}var Ml;function R0(){if(Ml===u){class e extends pq(){constructor(r){super(),this.d3e_1=r}e3e(r,t){var n=this.a3f(t),a=this.e36(),s=r.j3c(a,n),_=this.c3f(t),l=0;if(l=0)){var s="Size must be known in advance when using READ_ALL";throw W().u($(s))}var _=0;if(_(s.u36("key",r.e36()),s.u36("value",t.e36()),z))}e36(){return this.t3p_1}u3p(r){return r.u2()}v3p(r){return this.u3p(r!=null&&L(r,Pi())?r:m())}w3p(r){return r.v2()}x3p(r){return this.w3p(r!=null&&L(r,Pi())?r:m())}y3p(r,t){return new(md())(r,t)}}d(e,"MapEntrySerializer"),xo=e}return xo}var Co;function kL(){if(Co===u){class e extends gq(){constructor(r,t){super(r,t);var n=this;n.e3q_1=D0("kotlin.Pair",[],a=>(a.u36("first",r.e36()),a.u36("second",t.e36()),z))}e36(){return this.e3q_1}f3q(r){return r.ud_1}v3p(r){return this.f3q(r instanceof N5()?r:m())}g3q(r){return r.vd_1}x3p(r){return this.g3q(r instanceof N5()?r:m())}y3p(r,t){return T(r,t)}}d(e,"PairSerializer"),Co=e}return Co}function xL(e,i){var r=i.z3a(e.k3q_1,0,e.h3q_1),t=i.z3a(e.k3q_1,1,e.i3q_1),n=i.z3a(e.k3q_1,2,e.j3q_1);return i.n3a(e.k3q_1),new(Qs())(r,t,n)}function CL(e,i){var r=Zt(),t=Zt(),n=Zt();r:for(;;){var a=i.d3b(e.k3q_1);switch(a){case-1:break r;case 0:r=i.z3a(e.k3q_1,0,e.h3q_1);break;case 1:t=i.z3a(e.k3q_1,1,e.i3q_1);break;case 2:n=i.z3a(e.k3q_1,2,e.j3q_1);break;default:throw Nr().q37("Unexpected index "+a)}}if(i.n3a(e.k3q_1),r===Zt())throw Nr().q37("Element 'first' is missing");if(t===Zt())throw Nr().q37("Element 'second' is missing");if(n===Zt())throw Nr().q37("Element 'third' is missing");var s=r==null||r!=null?r:m(),_=t==null||t!=null?t:m();return new(Qs())(s,_,n==null||n!=null?n:m())}var zo;function zL(){if(zo===u){class e{constructor(r,t,n){this.h3q_1=r,this.i3q_1=t,this.j3q_1=n;var a=this;a.k3q_1=D0("kotlin.Triple",[],s=>(s.u36("first",this.h3q_1.e36()),s.u36("second",this.i3q_1.e36()),s.u36("third",this.j3q_1.e36()),z))}e36(){return this.k3q_1}l3q(r,t){var n=r.m3a(this.k3q_1);n.e3c(this.k3q_1,0,this.h3q_1,t.sp_1),n.e3c(this.k3q_1,1,this.i3q_1,t.tp_1),n.e3c(this.k3q_1,2,this.j3q_1,t.up_1),n.n3a(this.k3q_1)}f36(r,t){return this.l3q(r,t instanceof Qs()?t:m())}g36(r){var t=r.m3a(this.k3q_1);return t.c3b()?xL(this,t):CL(this,t)}}d(e,"TripleSerializer",u,u,[V()]),zo=e}return zo}var So;function gq(){if(So===u){class e{constructor(r,t){this.z3p_1=r,this.a3q_1=t}b3q(r,t){var n=r.m3a(this.e36());n.e3c(this.e36(),0,this.z3p_1,this.v3p(t)),n.e3c(this.e36(),1,this.a3q_1,this.x3p(t)),n.n3a(this.e36())}f36(r,t){return this.b3q(r,t==null||t!=null?t:m())}g36(r){var t=this.e36(),n=r.m3a(t),a;r:{if(n.c3b()){var s=n.z3a(this.e36(),0,this.z3p_1),_=n.z3a(this.e36(),1,this.a3q_1);a=this.y3p(s,_);break r}var l=Zt(),o=Zt();t:for(;;){var c=n.d3b(this.e36());switch(c){case-1:break t;case 0:l=n.z3a(this.e36(),0,this.z3p_1);break;case 1:o=n.z3a(this.e36(),1,this.a3q_1);break;default:throw Nr().q37("Invalid index: "+c)}}if(l===Zt())throw Nr().q37("Element 'key' is missing");if(o===Zt())throw Nr().q37("Element 'value' is missing");var h=l==null||l!=null?l:m();a=this.y3p(h,o==null||o!=null?o:m())}var v=a;return n.n3a(t),v}}d(e,"KeyValueSerializer",u,u,[V()]),So=e}return So}var Ug;function SL(){Ug||(Ug=!0,mq=new Object)}function _n(e){return zr()}function O0(e){return NN()}function p1(e){return MN()}function U0(e){return DN()}function K0(e){return PN()}function qr(e){var i;return e.e36().m38()?i=L(e,V())?e:m():i=new(US())(e),i}function G0(e){return K()}function J0(e){return Ka()}function W0(e){return mN()}function H0(e){return wN()}function wq(e){return yN()}function qL(){return XN()}function bq(e){return xN()}function IL(){return rL()}function yq(e){return mt()}function $L(){return sa()}function EL(){return nL()}function AL(){return iL()}function jL(){return uL()}function NL(){return lL()}function LL(){return cL()}function ML(){return vL()}function TL(){return dL()}function DL(){return mL()}function kq(e){return Mn()}function FL(){return wL()}function PL(e){return qN()}function BL(){return tq()}function RL(e){return O9()}function OL(e){return K9()}function UL(e){return J9()}function KL(e,i){return new(yL())(e,i)}function GL(e,i){return new(kL())(e,i)}function JL(e,i,r){return new(zL())(e,i,r)}function WL(e,i){return new(Ja())(e,i)}function gd(e,i){return new(fq())(e,i)}function wd(e){return new(yr())(e)}function HL(){return e=>e.e36()}var qo;function xs(){if(qo===u){class e extends ln(){static k36(r){var t=this.l36();t.h36_1=r,t.i36_1=_t();var n=t,a=ur();return n.j36_1=_r(a,()=>{var s=o9();return x9(ie("kotlinx.serialization.Polymorphic",s,[],_=>(_.u36("type",_n().e36()),_.u36("value",ie("kotlinx.serialization.Polymorphic<"+t.h36_1.zd()+">",u1(),[])),_.o36_1=t.i36_1,z)),t.h36_1)}),t}v36(){return this.h36_1}e36(){var r=this.j36_1,t=le();return oe("descriptor",1,t,HL(),null),r.v2()}toString(){return"kotlinx.serialization.PolymorphicSerializer(baseClass: "+$(this.h36_1)+")"}}d(e,"PolymorphicSerializer"),qo=e}return qo}function xq(e,i,r){var t=e.y36(i,r),n;return t==null?YL(cr(r),e.v36()):n=t,n}function $a(e,i,r){var t=e.x36(i,r),n;return t==null?Cq(r,e.v36()):n=t,n}function VL(e,i){var r=i.w3a(e.e36(),0),t=$a(e,i,r);return i.z3a(e.e36(),1,t)}var Io;function ln(){if(Io===u){class e{static l36(){return Or(this)}w36(r,t){var n=xq(this,r,t),a=this.e36(),s=r.m3a(a);s.c3c(this.e36(),0,n.e36().h37());var _=this.e36(),l=L(n,On())?n:m();s.e3c(_,1,l,t),s.n3a(a)}f36(r,t){return this.w36(r,t??m())}g36(r){var t=this.e36(),n=r.m3a(t),a;r:{var s=null,_=null;if(n.c3b()){a=VL(this,n);break r}t:for(;;){var l=n.d3b(this.e36());switch(l){case-1:break t;case 0:s=n.w3a(this.e36(),l);break;case 1:var o=s,c;e:if(o==null){var h="Cannot read polymorphic value before its type token";throw W().u($(h))}else{c=o;break e}s=c;var v=$a(this,n,s);_=n.z3a(this.e36(),l,v);break;default:var f=s;throw Nr().q37("Invalid index in polymorphic deserialization of "+(f??"unknown class")+(` + Expected 0, 1 or DECODE_DONE(-1), but found `+l))}}var p=_,w;t:if(p==null){var b="Polymorphic value has not been read for class "+s;throw W().u($(b))}else{w=p;break t}var g=w;a=g??m()}var C=a;return n.n3a(t),C}x36(r,t){return r.b3b().l3c(this.v36(),t)}y36(r,t){return r.b3b().m3c(this.v36(),t)}}d(e,"AbstractPolymorphicSerializer",u,u,[V()]),Io=e}return Io}function YL(e,i){var r=e.zd();Cq(r??$(e),i)}function Cq(e,i){var r="in the polymorphic scope of '"+i.zd()+"'";throw Nr().q37(e==null?"Class discriminator was missing and no default serializers were registered "+r+".":"Serializer for subclass '"+e+"' is not found "+r+`. `+("Check if class with serial name '"+e+`' exists and serializer is registered in a corresponding SerializersModule. -`)+("To be registered automatically, class '"+e+"' has to be '@Serializable', and the base class '"+i.ce()+"' has to be sealed and '@Serializable'."))}var Fo;function tM(){if(Fo===l){class e{}p(e,"JsonClassDiscriminator"),Fo=e}return Fo}var Do;function eM(){if(Do===l){class e{}p(e,"JsonIgnoreUnknownKeys"),Do=e}return Do}var Po;function nM(){if(Po===l){class e{}p(e,"JsonNames"),Po=e}return Po}function aM(){return e=>e.c36()}var Bo;function iM(){if(Bo===l){class e{constructor(r){this.c37_1=r}d37(){return this.c37_1.e1()}e37(r){return r.y2().c36().f37()}g37(r){return this.e37(r==null||r!=null?r:m())}}p(e),Bo=e}return Bo}var Oo;function tm(){if(Oo===l){class e extends hn(){static h37(r,t,n,a){var s=this.j36();s.x36_1=t,s.y36_1=ot();var u=s,_=lr();if(u.z36_1=ur(_,()=>{var B=Dz();return se(r,B,[],R=>{R.s36("type",cn().c36());var W="kotlinx.serialization.Sealed<"+s.x36_1.ce()+">",G=h1(),Q=se(W,G,[],X=>{for(var rr=s.b37_1.e3().e1();rr.f1();){var tr=rr.g1(),ir=tr.x2(),dr=tr.y2();X.s36(ir,dr.c36())}return S});return R.s36("value",Q),R.m36_1=s.y36_1,S})}),n.length!==a.length)throw H().u("All subclasses of sealed class "+s.x36_1.ce()+" should be marked @Serializable");s.a37_1=ig(l7(n,a));for(var o=s,c=s.a37_1.e3(),h=new(iM())(c),f=zr().va(),v=h.d37();v.f1();){var d=v.g1(),g=h.g37(d),b=f.b3(g);if(b==null&&f.z2(g),b!=null){var w="Multiple sealed subclasses of '"+$(s.x36_1)+"' have the same serial name '"+g+"':"+(" '"+$(b.x2())+"', '"+$(d.x2())+"'");throw fr().u3($(w))}f.f3(g,d)}for(var x=zr().wa(_g(f.h1())),z=f.e3().e1();z.f1();){var k=z.g1(),A=k.x2(),D=k.y2().y2();x.f3(A,D)}return o.b37_1=x,s}t36(){return this.x36_1}static i37(r,t,n,a,s){var u=this.h37(r,t,n,a);return u.y36_1=lg(s),u}c36(){var r=this.z36_1,t=oe();return ce("descriptor",1,t,aM(),null),r.y2()}v36(r,t){var n=this.b37_1,a=(j(n,kt())?n:m()).b3(t);return a??super.v36(r,t)}w36(r,t){var n=this.a37_1.b3(or(t)),a=n??super.w36(r,t),s;return a==null?s=null:s=j(a,Jn())?a:m(),s}}p(e,"SealedClassSerializer"),Oo=e}return Oo}function $p(e){return hs(e)}function $s(e,i){for(var r=e.r38().e1();r.f1();){var t=r.g1();if(t instanceof tM())return t.o3y_1}return i.o3r_1.l3t_1}function sM(e,i,r){if(!(e instanceof tm()))return S;if($p(i.c36()).d2(r)){var t=e.c36().f37(),n=i.c36().f37(),a="Sealed class '"+n+"' cannot be serialized as base class '"+t+"' because"+(" it has property name that conflicts with JSON class discriminator '"+r+"'. ")+"You can either change class discriminator in JsonConfiguration, rename property with @SerialName annotation or fall back to array polymorphism";throw fr().u3($(a))}}function lM(e){if(e instanceof Fd()){var i="Enums cannot be serialized polymorphically with 'type' parameter. You can use 'JsonBuilder.useArrayPolymorphism' instead";throw fr().u3($(i))}if(e instanceof St()){var r="Primitives cannot be serialized polymorphically with 'type' parameter. You can use 'JsonBuilder.useArrayPolymorphism' instead";throw fr().u3($(r))}if(e instanceof mn()){var t="Actual serializer for polymorphic cannot be polymorphic itself";throw fr().u3($(t))}}function uM(e,i,r){return sM(e,i,r)}function em(e){return e.q3r_1}function Sq(){return Jt(),zq}var zq;function _M(){return Jt(),qq}var qq;function nm(e,i){Jt();var r;if(i.o3r_1.d3t_1)r=!0;else{var t=e.r38(),n;r:{var a;if(j(t,Pi())?a=t.m1():a=!1,a){n=!1;break r}for(var s=t.e1();s.f1();){var u=s.g1();if(u instanceof eM()){n=!0;break r}}n=!1}r=n}return r}function k1(e,i,r){if(Jt(),$q(i,e)){var t=r.toLowerCase();return Ro(e,i,t)}var n=ja(e,i);if(n!=null)return Ro(e,i,r);var a=e.t38(r);return a!==-3||!i.o3r_1.n3t_1?a:Ro(e,i,r)}function Iq(e,i,r,t){t=t===l?"":t,Jt();var n=k1(e,i,r);if(n===-3)throw jr().o37(e.f37()+" does not contain element with name '"+r+"'"+t);return n}function oM(e,i,r){Jt();var t=ja(e,i);return t==null?e.s38(r):cM(e,i,t)[r]}function ja(e,i){return Jt(),E(e.o38(),Ra())?i.o3r_1.o3t_1:null}function Ap(e,i){Jt();var r=em(e),t=Sq();return r.d3x(i,t,()=>hM(i,e))}function $q(e,i){return Jt(),e.o3r_1.p3t_1&&E(i.o38(),Ie())}function Ro(e,i,r){Jt();var t=Ap(i,e).b3(r);return t??-3}function cM(e,i,r){Jt();var t=em(i),n=_M();return t.d3x(e,n,()=>{for(var a=0,s=e.q38(),u=Array(s);awe(e)}var tc;function EM(){if(tc===l){class e{constructor(r){this.f3v_1=Xs(r)}f37(){return we(this).f37()}o38(){return we(this).o38()}q38(){return we(this).q38()}s38(r){return we(this).s38(r)}t38(r){return we(this).t38(r)}u38(r){return we(this).u38(r)}v38(r){return we(this).v38(r)}w38(r){return we(this).w38(r)}}F(e).k38=gn,F(e).p38=bn,F(e).r38=Ja,p(e,l,l,l,[Lt()]),tc=e}return tc}var NM=Math.imul,ec;function LM(){if(ec===l){class e{}P(e,"Tombstone"),ec=e}return ec}var Pp;function Vw(e){var i=NM(e.i3x_1,2);e.g3x_1=cg(e.g3x_1,i);for(var r=0,t=new Int32Array(i);r=0&&(r.ja("."),r.ja(s.s38(u)))}else s!==Pp&&(r.ja("["),r.ja("'"),r.ia(s),r.ja("'"),r.ja("]"))}while(n=xr(i)?(e.e3s_1=r,e.y41(),(e.e3s_1+4|0)>=xr(i)&&e.u3w("Unexpected EOF during unicode escape"),Fq(e,i,e.e3s_1)):(e.h3s_1.ka(Ti((((fi(e,i,r)<<12)+(fi(e,i,r+1|0)<<8)|0)+(fi(e,i,r+2|0)<<4)|0)+fi(e,i,r+3|0)|0)),r+4|0)}function fi(e,i,r){var t=Nr(i,r),n;if(C(48)<=t&&t<=C(57)){var a=_r(t),s=C(48);n=a-_r(s)|0}else if(C(97)<=t&&t<=C(102)){var u=_r(t),_=C(97);n=(u-_r(_)|0)+10|0}else if(C(65)<=t&&t<=C(70)){var o=_r(t),c=C(65);n=(o-_r(c)|0)+10|0}else e.u3w("Invalid toHexChar char '"+Lr(t)+"' in unicode escape");return n}function FM(e,i){var r=e.x41(i);(r>=xr(e.w41())||r===-1)&&e.u3w("EOF");var t=e.w41(),n=r;r=n+1|0;var a=Nr(t,n),s=_r(a)|32,u,_=C(116);if(s===_r(_))Zw(e,"rue",r),u=!0;else{var o=C(102);s===_r(o)?(Zw(e,"alse",r),u=!1):e.u3w("Expected valid boolean literal prefix, but had '"+e.l3y()+"'")}return u}function Zw(e,i,r){(xr(e.w41())-r|0)=xr(t)||r===-1?!1:Nr(t,r)===C(44)?(this.e3s_1=this.e3s_1+1|0,!0):!1}a42(r){return!(r===C(125)||r===C(93)||r===C(58)||r===C(44))}i3s(){var r=this.m3y();r!==10&&this.u3w("Expected EOF after parsing, but had "+Lr(Nr(this.w41(),this.e3s_1-1|0))+" instead")}i3y(r){var t=this.m3y();if(t!==r){var n=Es(r),a=this.e3s_1-1|0,s=this.e3s_1===xr(this.w41())||a<0?"EOF":Lr(Nr(this.w41(),a)),u="Expected "+n+", but had '"+s+"' instead";this.u3w(u,a)}return t}b42(r){if(this.e3s_1>0&&r===C(34)){var t;r:{var n=this.e3s_1;try{this.e3s_1=this.e3s_1-1|0,t=this.l3y();break r}finally{this.e3s_1=n}}var a=t;a==="null"&&this.t3w("Expected string literal but 'null' literal was found",this.e3s_1-1|0,"Use 'coerceInputValues = true' in 'Json {}' builder to coerce nulls if property has a default value.")}var s=be(r),u=Es(s),_=this.e3s_1-1|0,o=this.e3s_1===xr(this.w41())||_<0?"EOF":Lr(Nr(this.w41(),_)),c="Expected "+u+", but had '"+o+"' instead";this.u3w(c,_)}h3y(){var r=this.w41(),t=this.e3s_1;r:for(;;){if(t=this.x41(t),t===-1)break r;var n=Nr(r,t);if(n===C(32)||n===C(10)||n===C(13)||n===C(9)){t=t+1|0;continue r}return this.e3s_1=t,be(n)}return this.e3s_1=t,10}u3y(r){var t=this.z41();t=this.x41(t);var n=xr(this.w41())-t|0;if(n<4||t===-1)return!1;var a=0;if(a<=3)do{var s=a;if(a=a+1|0,Tr("null",s)!==Nr(this.w41(),t+s|0))return!1}while(a<=3);return n>4&&be(Nr(this.w41(),t+4|0))===0?!1:(r&&(this.e3s_1=t+4|0),!0)}f3z(r,t){return r=r===l?!0:r,t===l?this.u3y(r):t.u3y.call(this,r)}v3y(r){var t=this.h3y(),n;if(r){if(t!==1&&t!==0)return null;n=this.l3y()}else{if(t!==1)return null;n=this.k3y()}var a=n;return this.g3s_1=a,a}c42(){this.g3s_1=null}d23(r,t){var n=this.w41();return $(T5(n,r,t))}k3y(){return this.g3s_1!=null?Yw(this):this.y3y()}consumeString2(r,t,n){for(var a=n,s=t,u=Nr(r,a),_=!1;u!==C(34);)u===C(92)?(_=!0,a=this.x41(jM(this,s,a)),a===-1&&this.u3w("Unexpected EOF",a),s=a):(a=a+1|0,a>=xr(r)&&(_=!0,this.v41(s,a),a=this.x41(a),a===-1&&this.u3w("Unexpected EOF",a),s=a)),u=Nr(r,a);var o;_?o=ac(this,s,a):o=this.d23(s,a);var c=o;return this.e3s_1=a+1|0,c}z3y(){var r=this.l3y();return r==="null"&&MM(this)&&this.u3w("Unexpected 'null' value instead of string literal"),r}l3y(){if(this.g3s_1!=null)return Yw(this);var r=this.z41();(r>=xr(this.w41())||r===-1)&&this.u3w("EOF",r);var t=be(Nr(this.w41(),r));if(t===1)return this.k3y();t!==0&&this.u3w("Expected beginning of the string, but got "+Lr(Nr(this.w41(),r)));for(var n=!1;be(Nr(this.w41(),r))===0;)if(r=r+1|0,r>=xr(this.w41())){n=!0,this.v41(this.e3s_1,r);var a=this.x41(r);if(a===-1)return this.e3s_1=r,ac(this,0,0);r=a}var s;n?s=ac(this,this.e3s_1,r):s=this.d23(this.e3s_1,r);var u=s;return this.e3s_1=r,u}v41(r,t){this.h3s_1.qf(this.w41(),r,t)}x3y(r){var t=N().p1(),n=this.h3y();if(n!==8&&n!==6)return this.l3y(),S;r:for(;;){if(n=this.h3y(),n===1){r?this.l3y():this.y3y();continue r}var a=n;if(a===8||a===6)t.c1(n);else if(a===9){if(lw(t)!==8)throw Sr(this.e3s_1,"found ] instead of } at path: "+this.f3s_1.toString(),this.w41());uw(t)}else if(a===7){if(lw(t)!==6)throw Sr(this.e3s_1,"found } instead of ] at path: "+this.f3s_1.toString(),this.w41());uw(t)}else a===10&&this.u3w("Unexpected end of input due to malformed JSON during ignoring unknown keys");if(this.m3y(),t.h1()===0)return S}}toString(){return"JsonReader(source='"+$(this.w41())+"', currentPosition="+this.e3s_1+")"}w3y(r){var t=this.d23(0,this.e3s_1),n=h7(t,r);throw wn().d3v("Encountered an unknown key '"+r+"' at offset "+n+" at path: "+this.f3s_1.o3x()+` +`)+("To be registered automatically, class '"+e+"' has to be '@Serializable', and the base class '"+i.zd()+"' has to be sealed and '@Serializable'."))}var $o;function ZL(){if($o===u){class e{}d(e,"JsonClassDiscriminator"),$o=e}return $o}var Eo;function XL(){if(Eo===u){class e{}d(e,"JsonIgnoreUnknownKeys"),Eo=e}return Eo}var Ao;function QL(){if(Ao===u){class e{}d(e,"JsonNames"),Ao=e}return Ao}function rM(){return e=>e.e36()}var jo;function tM(){if(jo===u){class e{constructor(r){this.e37_1=r}f37(){return this.e37_1.e1()}g37(r){return r.v2().e36().h37()}i37(r){return this.g37(r==null||r!=null?r:m())}}d(e),jo=e}return jo}var No;function V0(){if(No===u){class e extends ln(){static j37(r,t,n,a){var s=this.l36();s.z36_1=t,s.a37_1=_t();var _=s,l=ur();if(_.b37_1=_r(l,()=>{var P=FS();return ie(r,P,[],O=>{O.u36("type",_n().e36());var H="kotlinx.serialization.Sealed<"+s.z36_1.zd()+">",G=u1(),X=ie(H,G,[],Q=>{for(var rr=s.d37_1.b3().e1();rr.f1();){var er=rr.g1(),ir=er.u2(),hr=er.v2();Q.u36(ir,hr.e36())}return z});return O.u36("value",X),O.o36_1=s.a37_1,z})}),n.length!==a.length)throw W().u("All subclasses of sealed class "+s.z36_1.zd()+" should be marked @Serializable");s.c37_1=eb(u$(n,a));for(var o=s,c=s.c37_1.b3(),h=new(tM())(c),v=jr().sa(),f=h.f37();f.f1();){var p=f.g1(),w=h.i37(p),b=v.y2(w);if(b==null&&v.w2(w),b!=null){var g="Multiple sealed subclasses of '"+$(s.z36_1)+"' have the same serial name '"+w+"':"+(" '"+$(b.u2())+"', '"+$(p.u2())+"'");throw vr().r3($(g))}v.c3(w,p)}for(var C=jr().ta(sb(v.h1())),S=v.b3().e1();S.f1();){var k=S.g1(),E=k.u2(),D=k.v2().v2();C.c3(E,D)}return o.d37_1=C,s}v36(){return this.z36_1}static k37(r,t,n,a,s){var _=this.j37(r,t,n,a);return _.a37_1=ab(s),_}e36(){var r=this.b37_1,t=le();return oe("descriptor",1,t,rM(),null),r.v2()}x36(r,t){var n=this.d37_1,a=(L(n,kt())?n:m()).y2(t);return a??super.x36(r,t)}y36(r,t){var n=this.c37_1.y2(cr(t)),a=n??super.y36(r,t),s;return a==null?s=null:s=L(a,On())?a:m(),s}}d(e,"SealedClassSerializer"),No=e}return No}function bd(e){return us(e)}function Cs(e,i){for(var r=e.t38().e1();r.f1();){var t=r.g1();if(t instanceof ZL())return t.q3y_1}return i.q3r_1.n3t_1}function eM(e,i,r){if(!(e instanceof V0()))return z;if(bd(i.e36()).a2(r)){var t=e.e36().h37(),n=i.e36().h37(),a="Sealed class '"+n+"' cannot be serialized as base class '"+t+"' because"+(" it has property name that conflicts with JSON class discriminator '"+r+"'. ")+"You can either change class discriminator in JsonConfiguration, rename property with @SerialName annotation or fall back to array polymorphism";throw vr().r3($(a))}}function nM(e){if(e instanceof A0()){var i="Enums cannot be serialized polymorphically with 'type' parameter. You can use 'JsonBuilder.useArrayPolymorphism' instead";throw vr().r3($(i))}if(e instanceof zt()){var r="Primitives cannot be serialized polymorphically with 'type' parameter. You can use 'JsonBuilder.useArrayPolymorphism' instead";throw vr().r3($(r))}if(e instanceof fn()){var t="Actual serializer for polymorphic cannot be polymorphic itself";throw vr().r3($(t))}}function aM(e,i,r){return eM(e,i,r)}function Y0(e){return e.s3r_1}function zq(){return Kt(),Sq}var Sq;function iM(){return Kt(),qq}var qq;function Z0(e,i){Kt();var r;if(i.q3r_1.f3t_1)r=!0;else{var t=e.t38(),n;r:{var a;if(L(t,Li())?a=t.m1():a=!1,a){n=!1;break r}for(var s=t.e1();s.f1();){var _=s.g1();if(_ instanceof XL()){n=!0;break r}}n=!1}r=n}return r}function m1(e,i,r){if(Kt(),$q(i,e)){var t=r.toLowerCase();return Lo(e,i,t)}var n=Ea(e,i);if(n!=null)return Lo(e,i,r);var a=e.v38(r);return a!==-3||!i.q3r_1.p3t_1?a:Lo(e,i,r)}function Iq(e,i,r,t){t=t===u?"":t,Kt();var n=m1(e,i,r);if(n===-3)throw Nr().q37(e.h37()+" does not contain element with name '"+r+"'"+t);return n}function sM(e,i,r){Kt();var t=Ea(e,i);return t==null?e.u38(r):uM(e,i,t)[r]}function Ea(e,i){return Kt(),A(e.q38(),Pa())?i.q3r_1.q3t_1:null}function yd(e,i){Kt();var r=Y0(e),t=zq();return r.f3x(i,t,()=>_M(i,e))}function $q(e,i){return Kt(),e.q3r_1.r3t_1&&A(i.q38(),ze())}function Lo(e,i,r){Kt();var t=yd(i,e).y2(r);return t??-3}function uM(e,i,r){Kt();var t=Y0(i),n=iM();return t.f3x(e,n,()=>{for(var a=0,s=e.s38(),_=Array(s);ape(e)}var Wo;function qM(){if(Wo===u){class e{constructor(r){this.h3v_1=Hs(r)}h37(){return pe(this).h37()}q38(){return pe(this).q38()}s38(){return pe(this).s38()}u38(r){return pe(this).u38(r)}v38(r){return pe(this).v38(r)}w38(r){return pe(this).w38(r)}x38(r){return pe(this).x38(r)}y38(r){return pe(this).y38(r)}}F(e).m38=mn,F(e).r38=gn,F(e).t38=Ua,d(e,u,u,u,[Lt()]),Wo=e}return Wo}var IM=Math.imul,Ho;function $M(){if(Ho===u){class e{}B(e,"Tombstone"),Ho=e}return Ho}var Ed;function Jg(e){var i=IM(e.k3x_1,2);e.i3x_1=_b(e.i3x_1,i);for(var r=0,t=new Int32Array(i);r=0&&(r.ga("."),r.ga(s.u38(_)))}else s!==Ed&&(r.ga("["),r.ga("'"),r.fa(s),r.ga("'"),r.ga("]"))}while(n=kr(i)?(e.g3s_1=r,e.a42(),(e.g3s_1+4|0)>=kr(i)&&e.w3w("Unexpected EOF during unicode escape"),Dq(e,i,e.g3s_1)):(e.j3s_1.ha(Ai((((ui(e,i,r)<<12)+(ui(e,i,r+1|0)<<8)|0)+(ui(e,i,r+2|0)<<4)|0)+ui(e,i,r+3|0)|0)),r+4|0)}function ui(e,i,r){var t=Er(i,r),n;if(x(48)<=t&&t<=x(57)){var a=lr(t),s=x(48);n=a-lr(s)|0}else if(x(97)<=t&&t<=x(102)){var _=lr(t),l=x(97);n=(_-lr(l)|0)+10|0}else if(x(65)<=t&&t<=x(70)){var o=lr(t),c=x(65);n=(o-lr(c)|0)+10|0}else e.w3w("Invalid toHexChar char '"+Ar(t)+"' in unicode escape");return n}function NM(e,i){var r=e.z41(i);(r>=kr(e.y41())||r===-1)&&e.w3w("EOF");var t=e.y41(),n=r;r=n+1|0;var a=Er(t,n),s=lr(a)|32,_,l=x(116);if(s===lr(l))Hg(e,"rue",r),_=!0;else{var o=x(102);s===lr(o)?(Hg(e,"alse",r),_=!1):e.w3w("Expected valid boolean literal prefix, but had '"+e.n3y()+"'")}return _}function Hg(e,i,r){(kr(e.y41())-r|0)=kr(t)||r===-1?!1:Er(t,r)===x(44)?(this.g3s_1=this.g3s_1+1|0,!0):!1}c42(r){return!(r===x(125)||r===x(93)||r===x(58)||r===x(44))}k3s(){var r=this.o3y();r!==10&&this.w3w("Expected EOF after parsing, but had "+Ar(Er(this.y41(),this.g3s_1-1|0))+" instead")}k3y(r){var t=this.o3y();if(t!==r){var n=Ss(r),a=this.g3s_1-1|0,s=this.g3s_1===kr(this.y41())||a<0?"EOF":Ar(Er(this.y41(),a)),_="Expected "+n+", but had '"+s+"' instead";this.w3w(_,a)}return t}d42(r){if(this.g3s_1>0&&r===x(34)){var t;r:{var n=this.g3s_1;try{this.g3s_1=this.g3s_1-1|0,t=this.n3y();break r}finally{this.g3s_1=n}}var a=t;a==="null"&&this.v3w("Expected string literal but 'null' literal was found",this.g3s_1-1|0,"Use 'coerceInputValues = true' in 'Json {}' builder to coerce nulls if property has a default value.")}var s=we(r),_=Ss(s),l=this.g3s_1-1|0,o=this.g3s_1===kr(this.y41())||l<0?"EOF":Ar(Er(this.y41(),l)),c="Expected "+_+", but had '"+o+"' instead";this.w3w(c,l)}j3y(){var r=this.y41(),t=this.g3s_1;r:for(;;){if(t=this.z41(t),t===-1)break r;var n=Er(r,t);if(n===x(32)||n===x(10)||n===x(13)||n===x(9)){t=t+1|0;continue r}return this.g3s_1=t,we(n)}return this.g3s_1=t,10}w3y(r){var t=this.b42();t=this.z41(t);var n=kr(this.y41())-t|0;if(n<4||t===-1)return!1;var a=0;if(a<=3)do{var s=a;if(a=a+1|0,Mr("null",s)!==Er(this.y41(),t+s|0))return!1}while(a<=3);return n>4&&we(Er(this.y41(),t+4|0))===0?!1:(r&&(this.g3s_1=t+4|0),!0)}h3z(r,t){return r=r===u?!0:r,t===u?this.w3y(r):t.w3y.call(this,r)}x3y(r){var t=this.j3y(),n;if(r){if(t!==1&&t!==0)return null;n=this.n3y()}else{if(t!==1)return null;n=this.m3y()}var a=n;return this.i3s_1=a,a}e42(){this.i3s_1=null}f23(r,t){var n=this.y41();return $(q5(n,r,t))}m3y(){return this.i3s_1!=null?Wg(this):this.a3z()}consumeString2(r,t,n){for(var a=n,s=t,_=Er(r,a),l=!1;_!==x(34);)_===x(92)?(l=!0,a=this.z41(EM(this,s,a)),a===-1&&this.w3w("Unexpected EOF",a),s=a):(a=a+1|0,a>=kr(r)&&(l=!0,this.x41(s,a),a=this.z41(a),a===-1&&this.w3w("Unexpected EOF",a),s=a)),_=Er(r,a);var o;l?o=Yo(this,s,a):o=this.f23(s,a);var c=o;return this.g3s_1=a+1|0,c}b3z(){var r=this.n3y();return r==="null"&&AM(this)&&this.w3w("Unexpected 'null' value instead of string literal"),r}n3y(){if(this.i3s_1!=null)return Wg(this);var r=this.b42();(r>=kr(this.y41())||r===-1)&&this.w3w("EOF",r);var t=we(Er(this.y41(),r));if(t===1)return this.m3y();t!==0&&this.w3w("Expected beginning of the string, but got "+Ar(Er(this.y41(),r)));for(var n=!1;we(Er(this.y41(),r))===0;)if(r=r+1|0,r>=kr(this.y41())){n=!0,this.x41(this.g3s_1,r);var a=this.z41(r);if(a===-1)return this.g3s_1=r,Yo(this,0,0);r=a}var s;n?s=Yo(this,this.g3s_1,r):s=this.f23(this.g3s_1,r);var _=s;return this.g3s_1=r,_}x41(r,t){this.j3s_1.nf(this.y41(),r,t)}z3y(r){var t=j().p1(),n=this.j3y();if(n!==8&&n!==6)return this.n3y(),z;r:for(;;){if(n=this.j3y(),n===1){r?this.n3y():this.a3z();continue r}var a=n;if(a===8||a===6)t.c1(n);else if(a===9){if(ng(t)!==8)throw xr(this.g3s_1,"found ] instead of } at path: "+this.h3s_1.toString(),this.y41());ag(t)}else if(a===7){if(ng(t)!==6)throw xr(this.g3s_1,"found } instead of ] at path: "+this.h3s_1.toString(),this.y41());ag(t)}else a===10&&this.w3w("Unexpected end of input due to malformed JSON during ignoring unknown keys");if(this.o3y(),t.h1()===0)return z}}toString(){return"JsonReader(source='"+$(this.y41())+"', currentPosition="+this.g3s_1+")"}y3y(r){var t=this.f23(0,this.g3s_1),n=c$(t,r);throw dn().f3v("Encountered an unknown key '"+r+"' at offset "+n+" at path: "+this.h3s_1.q3x()+` Use 'ignoreUnknownKeys = true' in 'Json {}' builder or '@JsonIgnoreUnknownKeys' annotation to ignore unknown keys. -`+("JSON input: "+$(Ga(this.w41(),n))))}t3w(r,t,n){var a;xr(n)===0?a="":a=` -`+n;var s=a;throw Sr(t,r+" at path: "+this.f3s_1.o3x()+s,this.w41())}u3w(r,t,n,a){return t=t===l?this.e3s_1:t,n=n===l?"":n,a===l?this.t3w(r,t,n):a.t3w.call(this,r,t,n)}h3z(){var r=this.z41();r=this.x41(r),(r>=xr(this.w41())||r===-1)&&this.u3w("EOF");var t;Nr(this.w41(),r)===C(34)?(r=r+1|0,r===xr(this.w41())&&this.u3w("EOF"),t=!0):t=!1;var n=t,a=0n,s=0n,u=!1,_=!1,o=!1,c=r;r:for(;r!==xr(this.w41());){var h=Nr(this.w41(),r);if((h===C(101)||h===C(69))&&!o){r===c&&this.u3w("Unexpected symbol "+Lr(h)+" in numeric literal"),_=!0,o=!0,r=r+1|0;continue r}if(h===C(45)&&o){r===c&&this.u3w("Unexpected symbol '-' in numeric literal"),_=!1,r=r+1|0;continue r}if(h===C(43)&&o){r===c&&this.u3w("Unexpected symbol '+' in numeric literal"),_=!0,r=r+1|0;continue r}if(h===C(45)){r!==c&&this.u3w("Unexpected symbol '-' in numeric literal"),u=!0,r=r+1|0;continue r}var f=be(h);if(f!==0)break r;r=r+1|0;var v=ge(h,C(48));if(0<=v&&v<=9||this.u3w("Unexpected symbol '"+Lr(h)+"' in numeric literal"),o){var d=s,g=_w(d,bt(10));s=en(g,bt(v));continue r}var b=a,w=_w(b,bt(10));a=Mi(w,bt(v)),a>0n&&this.u3w("Numeric value overflow")}var x=r!==c;if((c===r||u&&c===(r-1|0))&&this.u3w("Expected numeric literal"),n&&(x||this.u3w("EOF"),Nr(this.w41(),r)!==C(34)&&this.u3w("Expected closing quotation mark"),r=r+1|0),this.e3s_1=r,o){var z=Se(a)*DM(s,_);(z>Se(9223372036854775807n)||z=r.length||t===-1?10:(this.e3s_1=t+1|0,be(Tr(r,t)))}j3y(){var r=this.z41();return r>=this.w41().length||r===-1?!1:this.a42(Tr(this.w41(),r))}s3y(r){var t=this.w41(),n=this.z41();(n>=t.length||n===-1)&&(this.e3s_1=-1,this.b42(r));var a=Tr(t,n);if(this.e3s_1=n+1|0,a===r)return S;this.b42(r)}h3y(){var r=this.w41(),t=this.z41();return t>=r.length||t===-1?10:(this.e3s_1=t,be(Tr(r,t)))}z41(){var r=this.e3s_1;if(r===-1)return r;var t=this.w41();r:for(;r>>6|0,t=i&63,n=wd(r);return t!==0&&(n[p7(n)]=jn(-1n,i)),n}function pT(e,i){var r=(i>>>6|0)-1|0,t=i&63;e.s3g_1[r]=e.s3g_1[r]|jn(1n,t)}function dT(e){var i=0,r=e.s3g_1.length-1|0;if(i<=r)do{var t=i;i=i+1|0;for(var n=hT(t+1|0,64),a=e.s3g_1[t];a!==-1n;){var s=fg(~a);a=a|jn(1n,s);var u=n+s|0;if(e.q3g_1(e.p3g_1,u))return e.s3g_1[t]=a,u}e.s3g_1[t]=a}while(i<=r);return-1}var xc;function mT(){if(xc===l){class e{constructor(r,t){ry(),this.p3g_1=r,this.q3g_1=t;var n=this.p3g_1.q38();if(n<=64){var a=this,s;n===64?s=0n:s=jn(-1n,n),a.r3g_1=s,this.s3g_1=ry().o3g_1}else this.r3g_1=0n,this.s3g_1=vT(this,n)}a1h(r){r<64?this.r3g_1=this.r3g_1|jn(1n,r):pT(this,r)}t3g(){for(var r=this.p3g_1.q38();this.r3g_1!==-1n;){var t=fg(~this.r3g_1);if(this.r3g_1=this.r3g_1|jn(1n,t),this.q3g_1(this.p3g_1,t))return t}return r>64?dT(this):-1}}p(e,"ElementMarker"),xc=e}return xc}function wT(e,i,r){return e.k3w_1=!i.w38(r)&&i.v38(r).k38(),e.k3w_1}function yT(e){var i=(r,t)=>{var n=e;return wT(n,r,t)};return i.callableName="readIfAbsent",i}var Sc;function gT(){if(Sc===l){class e{constructor(r){var t=this;t.j3w_1=new(mT())(r,yT(this)),this.k3w_1=!1}l3w(r){this.j3w_1.a1h(r)}m3w(){return this.j3w_1.t3g()}}p(e,"JsonElementMarker"),Sc=e}return Sc}function*bT(e,i,r,t){var n=e.g3y_1.c3y_1.h3y(),a;if(n===1)a=Ls(e.g3y_1,!0);else if(n===0)a=Ls(e.g3y_1,!1);else if(n===6){var s=xT(e.g3y_1,i,t);s===O()&&(s=yield s),a=s}else n===8?a=Kq(e.g3y_1):e.g3y_1.c3y_1.u3w("Can't begin reading element, unexpected token");return a}function kT(e){var i=e.c3y_1.i3y(6);e.c3y_1.h3y()===4&&e.c3y_1.u3w("Unexpected leading comma");var r=zr().va();r:for(;e.c3y_1.j3y();){var t=e.d3y_1?e.c3y_1.l3y():e.c3y_1.k3y();e.c3y_1.i3y(5);var n=e.x1g();r.f3(t,n),i=e.c3y_1.m3y();var a=i;if(a!==4){if(a===7)break r;e.c3y_1.u3w("Expected end of the object or comma")}}return i===6?e.c3y_1.i3y(7):i===4&&(e.e3y_1||yn(e.c3y_1),e.c3y_1.i3y(7)),new(Zr())(r)}function*CT(e,i,r){var t=e.c3y_1.i3y(6);e.c3y_1.h3y()===4&&e.c3y_1.u3w("Unexpected leading comma");var n=zr().va();r:for(;e.c3y_1.j3y();){var a=e.d3y_1?e.c3y_1.l3y():e.c3y_1.k3y();e.c3y_1.i3y(5);var s=i.hp(S,r);s===O()&&(s=yield s);var u=s;n.f3(a,u),t=e.c3y_1.m3y();var _=t;if(_!==4){if(_===7)break r;e.c3y_1.u3w("Expected end of the object or comma")}}return t===6?e.c3y_1.i3y(7):t===4&&(e.e3y_1||yn(e.c3y_1),e.c3y_1.i3y(7)),new(Zr())(n)}function xT(e,i,r){return er(CT.bind(l,e,i),r)}function Kq(e){var i=e.c3y_1.m3y();e.c3y_1.h3y()===4&&e.c3y_1.u3w("Unexpected leading comma");for(var r=N().p1();e.c3y_1.j3y();){var t=e.x1g();if(r.c1(t),i=e.c3y_1.m3y(),i!==4){var n=e.c3y_1,a=i===9,s=n.e3s_1;if(!a){var u="Expected end of the array or comma";n.u3w(u,s)}}}return i===8?e.c3y_1.i3y(9):i===4&&(e.e3y_1||yn(e.c3y_1,"array"),e.c3y_1.i3y(9)),new(Ut())(r)}function Ls(e,i){var r;e.d3y_1||!i?r=e.c3y_1.l3y():r=e.c3y_1.k3y();var t=r;return!i&&t==="null"?Ae():new(le())(t,i)}function ST(e){return d7(new(m7())(qT(e)),S)}var zc;function zT(){if(zc===l){class e{constructor(r){this.g3y_1=r}n3y(r,t,n){return er(bT.bind(l,this,r,t),n)}qc(r,t,n){var a=r instanceof w7()?r:m();return this.n3y(a,t instanceof pd()?t:m(),n)}}at(e,l,l,[2]),zc=e}return zc}function qT(e){var i=new(zT())(e),r=(t,n,a)=>i.n3y(t,n,a);return r.$arity=2,r}var qc;function IT(){if(qc===l){class e{constructor(r,t){this.c3y_1=t,this.d3y_1=r.e3t_1,this.e3y_1=r.q3t_1,this.f3y_1=0}x1g(){var r=this.c3y_1.h3y(),t;if(r===1)t=Ls(this,!0);else if(r===0)t=Ls(this,!1);else if(r===6){var n;this.f3y_1=this.f3y_1+1|0,this.f3y_1===200?n=ST(this):n=kT(this);var a=n;this.f3y_1=this.f3y_1-1|0,t=a}else r===8?t=Kq(this):this.c3y_1.u3w("Cannot read Json element because of unexpected "+Es(r));return t}}p(e,"JsonTreeReader",l,l,l,[1]),qc=e}return qc}var Ic;function ty(){if(Ic===l){class e extends $T(){q3o(r,t){return this.s3o(this.r3o(r,t))}s3o(r){var t=this.v3o();return this.w3o(t??"",r)}r3o(r,t){return r.s38(t)}w3o(r,t){var n;return xr(r)===0?n=t:n=r+"."+t,n}x3o(){return this.t3o_1.m1()?"$":Et(this.t3o_1,".","$.")}}p(e,"NamedValueDecoder"),Ic=e}return Ic}function ey(e,i,r){e.l3p(i);var t=r();return e.u3o_1||e.m3p(),e.u3o_1=!1,t}var $c;function $T(){if($c===l){class e{constructor(){var r=this;r.t3o_1=N().p1(),this.u3o_1=!1}z3a(){return Wn()}y3o(r){throw jr().o37($(or(this))+" can't retrieve untyped values")}z3o(r){return!0}a3p(r){var t=this.y3o(r);return typeof t=="boolean"?t:m()}b3p(r){var t=this.y3o(r);return typeof t=="number"?t:m()}c3p(r){var t=this.y3o(r);return typeof t=="number"?t:m()}d3p(r){var t=this.y3o(r);return typeof t=="number"?t:m()}e3p(r){var t=this.y3o(r);return typeof t=="bigint"?t:m()}f3p(r){var t=this.y3o(r);return typeof t=="number"?t:m()}g3p(r){var t=this.y3o(r);return typeof t=="number"?t:m()}h3p(r){var t=this.y3o(r);return t instanceof J()?t.g2_1:m()}i3p(r){var t=this.y3o(r);return typeof t=="string"?t:m()}j3p(r,t){var n=this.y3o(r);return typeof n=="number"?n:m()}k3p(r,t){return this.l3p(r),this}i3a(r,t){return this.j3a(r)}h3a(r){return this.k3p(this.m3p(),r)}v39(){var r=this.v3o(),t;if(r==null)return!1;t=r;var n=t;return this.z3o(n)}w39(){return null}x39(){return this.a3p(this.m3p())}y39(){return this.b3p(this.m3p())}z39(){return this.c3p(this.m3p())}a3a(){return this.d3p(this.m3p())}b3a(){return this.e3p(this.m3p())}c3a(){return this.f3p(this.m3p())}d3a(){return this.g3p(this.m3p())}e3a(){return this.h3p(this.m3p())}f3a(){return this.i3p(this.m3p())}g3a(r){return this.j3p(this.m3p(),r)}k3a(r){return this}l3a(r){}m3a(r,t){return this.a3p(this.q3o(r,t))}n3a(r,t){return this.b3p(this.q3o(r,t))}o3a(r,t){return this.c3p(this.q3o(r,t))}p3a(r,t){return this.d3p(this.q3o(r,t))}q3a(r,t){return this.e3p(this.q3o(r,t))}r3a(r,t){return this.f3p(this.q3o(r,t))}s3a(r,t){return this.g3p(this.q3o(r,t))}t3a(r,t){return this.h3p(this.q3o(r,t))}u3a(r,t){return this.i3p(this.q3o(r,t))}v3a(r,t){return this.k3p(this.q3o(r,t),r.v38(t))}w3a(r,t,n,a){var s=this.q3o(r,t);return ey(this,s,()=>this.i3a(n,a))}y3a(r,t,n,a){var s=this.q3o(r,t);return ey(this,s,()=>{var u=n.c36().k38(),_;return u||this.v39()?_=this.i3a(n,a):_=this.w39(),_})}v3o(){return vg(this.t3o_1)}l3p(r){this.t3o_1.c1(r)}m3p(){var r=this.t3o_1.w2(y7(this.t3o_1));return this.u3o_1=!0,r}}F(e).x3a=jq,F(e).j3a=Eq,F(e).a3b=Nq,F(e).c3b=Lq,p(e,"TaggedDecoder",l,l,[am(),im()]),$c=e}return $c}var AT=Math.imul;function ET(e,i,r){var t;if(i instanceof Zr())t=new(Ya())(e,i);else if(i instanceof Ut())t=new(Up())(e,i);else{var n;i instanceof le()?n=!0:n=E(i,Ae()),n?t=new(Gq())(e,i instanceof wr()?i:m()):yt()}var a=t;return a.j3a(r)}function ut(e,i,r,t){var n=$a(r,"i")?"an "+r:"a "+r;throw Sr(-1,"Failed to parse literal '"+i.toString()+"' as "+n+" value at element: "+e.r3z(t),$(e.s3z()))}var Ac;function dm(){if(Ac===l){class e extends ty(){constructor(r,t,n){n=n===l?null:n,super(),this.n3z_1=r,this.o3z_1=t,this.p3z_1=n,this.q3z_1=this.t3t().o3r_1}t3t(){return this.n3z_1}y2(){return this.o3z_1}z3a(){return this.t3t().z3a()}s3z(){var r=this.v3o(),t;r==null?t=null:t=this.t3z(r);var n=t;return n??this.y2()}r3z(r){return this.x3o()+("."+r)}u3t(){return this.s3z()}j3a(r){var t;r:{var n;if(r instanceof hn()?n=this.t3t().o3r_1.k3t_1:n=!0,n){t=r.e36(this);break r}var a=$s(r.c36(),this.t3t()),s=this.u3t(),u=r.c36().f37();if(!(s instanceof Zr())){var _=Y(Zr()).ce(),o=or(s).ce(),c=this.x3o();throw Sr(-1,"Expected "+_+", but had "+o+" as the serialized body of "+u+" at element: "+c,$(s))}var h=s,f=h.w1m(a),v=f==null?null:Ce(f),d=v==null?null:fm(v),g;try{g=La(r,this,d)}catch(z){if(z instanceof jr()){var b=z;throw Sr(-1,nr(b.message),h.toString())}else throw z}var w=g,x=j(w,pa())?w:m();t=Jq(this.t3t(),a,h,x)}return t}w3o(r,t){return t}k3a(r){var t=this.s3z(),n=r.o38(),a,s;if(E(n,Ua())?s=!0:s=n instanceof mn(),s){var u=this.t3t(),_=r.f37();if(!(t instanceof Ut())){var o=Y(Ut()).ce(),c=or(t).ce(),h=this.x3o();throw Sr(-1,"Expected "+o+", but had "+c+" as the serialized body of "+_+" at element: "+h,$(t))}a=new(Up())(u,t)}else if(E(n,Ka())){var f=this.t3t(),v=fs(r.v38(0),f.z3a()),d=v.o38(),g,b;if(d instanceof St()?b=!0:b=E(d,Ie()),b){var w=this.t3t(),x=r.f37();if(!(t instanceof Zr())){var z=Y(Zr()).ce(),k=or(t).ce(),A=this.x3o();throw Sr(-1,"Expected "+z+", but had "+k+" as the serialized body of "+x+" at element: "+A,$(t))}g=new(NT())(w,t)}else if(f.o3r_1.f3t_1){var D=this.t3t(),B=r.f37();if(!(t instanceof Ut())){var R=Y(Ut()).ce(),W=or(t).ce(),G=this.x3o();throw Sr(-1,"Expected "+R+", but had "+W+" as the serialized body of "+B+" at element: "+G,$(t))}g=new(Up())(D,t)}else throw Bz(v);a=g}else{var Q=this.t3t(),X=r.f37();if(!(t instanceof Zr())){var rr=Y(Zr()).ce(),tr=or(t).ce(),ir=this.x3o();throw Sr(-1,"Expected "+rr+", but had "+tr+" as the serialized body of "+X+" at element: "+ir,$(t))}a=new(Ya())(Q,t,this.p3z_1)}return a}l3a(r){}v39(){var r=this.s3z();return!(r instanceof Ge())}u3z(r,t){var n=this.t3t(),a=this.t3z(r),s=t.f37();if(!(a instanceof wr())){var u=Y(wr()).ce(),_=or(a).ce(),o=this.r3z(r);throw Sr(-1,"Expected "+u+", but had "+_+" as the serialized body of "+s+" at element: "+o,$(a))}return Iq(t,n,a.c3u())}j3p(r,t){return this.u3z(r!=null&&typeof r=="string"?r:m(),t)}v3z(r){return this.t3z(r)!==Ae()}z3o(r){return this.v3z(r!=null&&typeof r=="string"?r:m())}w3z(r){var t;r:{var n=this.t3z(r);if(!(n instanceof wr())){var a=Y(wr()).ce(),s=or(n).ce(),u=this.r3z(r);throw Sr(-1,"Expected "+a+", but had "+s+" as the serialized body of boolean at element: "+u,$(n))}var _=n;try{var o=Oq(_),c;o==null?ut(this,_,"boolean",r):c=o,t=c;break r}catch(h){if(h instanceof H())ut(this,_,"boolean",r);else throw h}}return t}a3p(r){return this.w3z(r!=null&&typeof r=="string"?r:m())}x3z(r){var t;r:{var n=this.t3z(r);if(!(n instanceof wr())){var a=Y(wr()).ce(),s=or(n).ce(),u=this.r3z(r);throw Sr(-1,"Expected "+a+", but had "+s+" as the serialized body of byte at element: "+u,$(n))}var _=n;try{var o=Re(_),c,h=Yt(-128,127);ha(j(h,fa())?h:m(),o)?c=K5(o):c=null;var f=c,v;f==null?ut(this,_,"byte",r):v=f,t=v;break r}catch(d){if(d instanceof H())ut(this,_,"byte",r);else throw d}}return t}b3p(r){return this.x3z(r!=null&&typeof r=="string"?r:m())}y3z(r){var t;r:{var n=this.t3z(r);if(!(n instanceof wr())){var a=Y(wr()).ce(),s=or(n).ce(),u=this.r3z(r);throw Sr(-1,"Expected "+a+", but had "+s+" as the serialized body of short at element: "+u,$(n))}var _=n;try{var o=Re(_),c,h=Yt(-32768,32767);ha(j(h,fa())?h:m(),o)?c=G5(o):c=null;var f=c,v;f==null?ut(this,_,"short",r):v=f,t=v;break r}catch(d){if(d instanceof H())ut(this,_,"short",r);else throw d}}return t}c3p(r){return this.y3z(r!=null&&typeof r=="string"?r:m())}z3z(r){var t;r:{var n=this.t3z(r);if(!(n instanceof wr())){var a=Y(wr()).ce(),s=or(n).ce(),u=this.r3z(r);throw Sr(-1,"Expected "+a+", but had "+s+" as the serialized body of int at element: "+u,$(n))}var _=n;try{var o=Re(_),c,h=Yt(-2147483648,2147483647);ha(j(h,fa())?h:m(),o)?c=Ia(o):c=null;var f=c,v;f==null?ut(this,_,"int",r):v=f,t=v;break r}catch(d){if(d instanceof H())ut(this,_,"int",r);else throw d}}return t}d3p(r){return this.z3z(r!=null&&typeof r=="string"?r:m())}a40(r){var t;r:{var n=this.t3z(r);if(!(n instanceof wr())){var a=Y(wr()).ce(),s=or(n).ce(),u=this.r3z(r);throw Sr(-1,"Expected "+a+", but had "+s+" as the serialized body of long at element: "+u,$(n))}var _=n;try{var o=Re(_),c;o==null?ut(this,_,"long",r):c=o,t=c;break r}catch(h){if(h instanceof H())ut(this,_,"long",r);else throw h}}return t}e3p(r){return this.a40(r!=null&&typeof r=="string"?r:m())}b40(r){var t;r:{var n=this.t3z(r);if(!(n instanceof wr())){var a=Y(wr()).ce(),s=or(n).ce(),u=this.r3z(r);throw Sr(-1,"Expected "+a+", but had "+s+" as the serialized body of float at element: "+u,$(n))}var _=n;try{var o=lT(_),c;o==null?ut(this,_,"float",r):c=o,t=c;break r}catch(v){if(v instanceof H())ut(this,_,"float",r);else throw v}}var h=t,f=this.t3t().o3r_1.m3t_1;if(f||gd(h))return h;throw Mw(h,r,$(this.s3z()))}f3p(r){return this.b40(r!=null&&typeof r=="string"?r:m())}c40(r){var t;r:{var n=this.t3z(r);if(!(n instanceof wr())){var a=Y(wr()).ce(),s=or(n).ce(),u=this.r3z(r);throw Sr(-1,"Expected "+a+", but had "+s+" as the serialized body of double at element: "+u,$(n))}var _=n;try{var o=Rq(_),c;o==null?ut(this,_,"double",r):c=o,t=c;break r}catch(v){if(v instanceof H())ut(this,_,"double",r);else throw v}}var h=t,f=this.t3t().o3r_1.m3t_1;if(f||bd(h))return h;throw Mw(h,r,$(this.s3z()))}g3p(r){return this.c40(r!=null&&typeof r=="string"?r:m())}d40(r){var t;r:{var n=this.t3z(r);if(!(n instanceof wr())){var a=Y(wr()).ce(),s=or(n).ce(),u=this.r3z(r);throw Sr(-1,"Expected "+a+", but had "+s+" as the serialized body of char at element: "+u,$(n))}var _=n;try{var o=new(J())(b7(_.c3u())),c;o==null?ut(this,_,"char",r):c=o,t=c.g2_1;break r}catch(h){if(h instanceof H())ut(this,_,"char",r);else throw h}}return t}h3p(r){return this.d40(r!=null&&typeof r=="string"?r:m())}e40(r){var t=this.t3z(r);if(!(t instanceof wr())){var n=Y(wr()).ce(),a=or(t).ce(),s=this.r3z(r);throw Sr(-1,"Expected "+n+", but had "+a+" as the serialized body of string at element: "+s,$(t))}var u=t;if(!(u instanceof le()))throw Sr(-1,"Expected string value for a non-null key '"+r+"', got null literal instead at element: "+this.r3z(r),$(this.s3z()));if(!u.f3u_1&&!this.t3t().o3r_1.e3t_1)throw Sr(-1,"String literal for key '"+r+"' should be quoted at element: "+this.r3z(r)+`. -Use 'isLenient = true' in 'Json {}' builder to accept non-compliant JSON.`,$(this.s3z()));return u.h3u_1}i3p(r){return this.e40(r!=null&&typeof r=="string"?r:m())}f40(r,t){var n;if(vm(t)){var a=this.t3t(),s=this.t3z(r),u=t.f37();if(!(s instanceof wr())){var _=Y(wr()).ce(),o=or(s).ce(),c=this.r3z(r);throw Sr(-1,"Expected "+_+", but had "+o+" as the serialized body of "+u+" at element: "+c,$(s))}var h=Pq(a,s.c3u());n=new(Wq())(h,this.t3t())}else n=super.k3p(r,t);return n}k3p(r,t){return this.f40(r!=null&&typeof r=="string"?r:m(),t)}h3a(r){return this.v3o()!=null?super.h3a(r):new(Gq())(this.t3t(),this.y2(),this.p3z_1).h3a(r)}}p(e,"AbstractJsonTreeDecoder",l,l,[ty(),sm()]),Ac=e}return Ac}function ny(e,i,r){return e.p40_1=!e.t3t().o3r_1.h3t_1&&!i.w38(r)&&i.v38(r).k38(),e.p40_1}var Ec;function Ya(){if(Ec===l){class e extends dm(){constructor(r,t,n,a){n=n===l?null:n,a=a===l?null:a,super(r,t,n),this.m40_1=t,this.n40_1=a,this.o40_1=0,this.p40_1=!1}y2(){return this.m40_1}b3b(r){r:for(;this.o40_1=kr(this.y41())||r===-1)&&this.w3w("EOF");var t;Er(this.y41(),r)===x(34)?(r=r+1|0,r===kr(this.y41())&&this.w3w("EOF"),t=!0):t=!1;var n=t,a=0n,s=0n,_=!1,l=!1,o=!1,c=r;r:for(;r!==kr(this.y41());){var h=Er(this.y41(),r);if((h===x(101)||h===x(69))&&!o){r===c&&this.w3w("Unexpected symbol "+Ar(h)+" in numeric literal"),l=!0,o=!0,r=r+1|0;continue r}if(h===x(45)&&o){r===c&&this.w3w("Unexpected symbol '-' in numeric literal"),l=!1,r=r+1|0;continue r}if(h===x(43)&&o){r===c&&this.w3w("Unexpected symbol '+' in numeric literal"),l=!0,r=r+1|0;continue r}if(h===x(45)){r!==c&&this.w3w("Unexpected symbol '-' in numeric literal"),_=!0,r=r+1|0;continue r}var v=we(h);if(v!==0)break r;r=r+1|0;var f=ge(h,x(48));if(0<=f&&f<=9||this.w3w("Unexpected symbol '"+Ar(h)+"' in numeric literal"),o){var p=s,w=ig(p,yt(10));s=Qe(w,yt(f));continue r}var b=a,g=ig(b,yt(10));a=Ei(g,yt(f)),a>0n&&this.w3w("Numeric value overflow")}var C=r!==c;if((c===r||_&&c===(r-1|0))&&this.w3w("Expected numeric literal"),n&&(C||this.w3w("EOF"),Er(this.y41(),r)!==x(34)&&this.w3w("Expected closing quotation mark"),r=r+1|0),this.g3s_1=r,o){var S=xe(a)*LM(s,l);(S>xe(9223372036854775807n)||S=r.length||t===-1?10:(this.g3s_1=t+1|0,we(Mr(r,t)))}l3y(){var r=this.b42();return r>=this.y41().length||r===-1?!1:this.c42(Mr(this.y41(),r))}u3y(r){var t=this.y41(),n=this.b42();(n>=t.length||n===-1)&&(this.g3s_1=-1,this.d42(r));var a=Mr(t,n);if(this.g3s_1=n+1|0,a===r)return z;this.d42(r)}j3y(){var r=this.y41(),t=this.b42();return t>=r.length||t===-1?10:(this.g3s_1=t,we(Mr(r,t)))}b42(){var r=this.g3s_1;if(r===-1)return r;var t=this.y41();r:for(;r>>6|0,t=i&63,n=c0(r);return t!==0&&(n[f$(n)]=An(-1n,i)),n}function cT(e,i){var r=(i>>>6|0)-1|0,t=i&63;e.u3g_1[r]=e.u3g_1[r]|An(1n,t)}function hT(e){var i=0,r=e.u3g_1.length-1|0;if(i<=r)do{var t=i;i=i+1|0;for(var n=_T(t+1|0,64),a=e.u3g_1[t];a!==-1n;){var s=cb(~a);a=a|An(1n,s);var _=n+s|0;if(e.s3g_1(e.r3g_1,_))return e.u3g_1[t]=a,_}e.u3g_1[t]=a}while(i<=r);return-1}var pc;function vT(){if(pc===u){class e{constructor(r,t){Zg(),this.r3g_1=r,this.s3g_1=t;var n=this.r3g_1.s38();if(n<=64){var a=this,s;n===64?s=0n:s=An(-1n,n),a.t3g_1=s,this.u3g_1=Zg().q3g_1}else this.t3g_1=0n,this.u3g_1=oT(this,n)}b1h(r){r<64?this.t3g_1=this.t3g_1|An(1n,r):cT(this,r)}v3g(){for(var r=this.r3g_1.s38();this.t3g_1!==-1n;){var t=cb(~this.t3g_1);if(this.t3g_1=this.t3g_1|An(1n,t),this.s3g_1(this.r3g_1,t))return t}return r>64?hT(this):-1}}d(e,"ElementMarker"),pc=e}return pc}function fT(e,i,r){return e.m3w_1=!i.y38(r)&&i.x38(r).m38(),e.m3w_1}function dT(e){var i=(r,t)=>{var n=e;return fT(n,r,t)};return i.callableName="readIfAbsent",i}var mc;function pT(){if(mc===u){class e{constructor(r){var t=this;t.l3w_1=new(vT())(r,dT(this)),this.m3w_1=!1}n3w(r){this.l3w_1.b1h(r)}o3w(){return this.l3w_1.v3g()}}d(e,"JsonElementMarker"),mc=e}return mc}function*mT(e,i,r,t){var n=e.i3y_1.e3y_1.j3y(),a;if(n===1)a=Is(e.i3y_1,!0);else if(n===0)a=Is(e.i3y_1,!1);else if(n===6){var s=bT(e.i3y_1,i,t);s===R()&&(s=yield s),a=s}else n===8?a=Kq(e.i3y_1):e.i3y_1.e3y_1.w3w("Can't begin reading element, unexpected token");return a}function gT(e){var i=e.e3y_1.k3y(6);e.e3y_1.j3y()===4&&e.e3y_1.w3w("Unexpected leading comma");var r=jr().sa();r:for(;e.e3y_1.l3y();){var t=e.f3y_1?e.e3y_1.n3y():e.e3y_1.m3y();e.e3y_1.k3y(5);var n=e.y1g();r.c3(t,n),i=e.e3y_1.o3y();var a=i;if(a!==4){if(a===7)break r;e.e3y_1.w3w("Expected end of the object or comma")}}return i===6?e.e3y_1.k3y(7):i===4&&(e.g3y_1||pn(e.e3y_1),e.e3y_1.k3y(7)),new(Yr())(r)}function*wT(e,i,r){var t=e.e3y_1.k3y(6);e.e3y_1.j3y()===4&&e.e3y_1.w3w("Unexpected leading comma");var n=jr().sa();r:for(;e.e3y_1.l3y();){var a=e.f3y_1?e.e3y_1.n3y():e.e3y_1.m3y();e.e3y_1.k3y(5);var s=i.gp(z,r);s===R()&&(s=yield s);var _=s;n.c3(a,_),t=e.e3y_1.o3y();var l=t;if(l!==4){if(l===7)break r;e.e3y_1.w3w("Expected end of the object or comma")}}return t===6?e.e3y_1.k3y(7):t===4&&(e.g3y_1||pn(e.e3y_1),e.e3y_1.k3y(7)),new(Yr())(n)}function bT(e,i,r){return nr(wT.bind(u,e,i),r)}function Kq(e){var i=e.e3y_1.o3y();e.e3y_1.j3y()===4&&e.e3y_1.w3w("Unexpected leading comma");for(var r=j().p1();e.e3y_1.l3y();){var t=e.y1g();if(r.c1(t),i=e.e3y_1.o3y(),i!==4){var n=e.e3y_1,a=i===9,s=n.g3s_1;if(!a){var _="Expected end of the array or comma";n.w3w(_,s)}}}return i===8?e.e3y_1.k3y(9):i===4&&(e.g3y_1||pn(e.e3y_1,"array"),e.e3y_1.k3y(9)),new(Rt())(r)}function Is(e,i){var r;e.f3y_1||!i?r=e.e3y_1.n3y():r=e.e3y_1.m3y();var t=r;return!i&&t==="null"?qe():new(se())(t,i)}function yT(e){return d$(new(p$())(xT(e)),z)}var gc;function kT(){if(gc===u){class e{constructor(r){this.i3y_1=r}p3y(r,t,n){return nr(mT.bind(u,this,r,t),n)}nc(r,t,n){var a=r instanceof m$()?r:m();return this.p3y(a,t instanceof _0()?t:m(),n)}}at(e,u,u,[2]),gc=e}return gc}function xT(e){var i=new(kT())(e),r=(t,n,a)=>i.p3y(t,n,a);return r.$arity=2,r}var wc;function CT(){if(wc===u){class e{constructor(r,t){this.e3y_1=t,this.f3y_1=r.g3t_1,this.g3y_1=r.s3t_1,this.h3y_1=0}y1g(){var r=this.e3y_1.j3y(),t;if(r===1)t=Is(this,!0);else if(r===0)t=Is(this,!1);else if(r===6){var n;this.h3y_1=this.h3y_1+1|0,this.h3y_1===200?n=yT(this):n=gT(this);var a=n;this.h3y_1=this.h3y_1-1|0,t=a}else r===8?t=Kq(this):this.e3y_1.w3w("Cannot read Json element because of unexpected "+Ss(r));return t}}d(e,"JsonTreeReader",u,u,u,[1]),wc=e}return wc}var bc;function Xg(){if(bc===u){class e extends zT(){s3o(r,t){return this.u3o(this.t3o(r,t))}u3o(r){var t=this.x3o();return this.y3o(t??"",r)}t3o(r,t){return r.u38(t)}y3o(r,t){var n;return kr(r)===0?n=t:n=r+"."+t,n}z3o(){return this.v3o_1.m1()?"$":jt(this.v3o_1,".","$.")}}d(e,"NamedValueDecoder"),bc=e}return bc}function Qg(e,i,r){e.n3p(i);var t=r();return e.w3o_1||e.o3p(),e.w3o_1=!1,t}var yc;function zT(){if(yc===u){class e{constructor(){var r=this;r.v3o_1=j().p1(),this.w3o_1=!1}b3b(){return Un()}a3p(r){throw Nr().q37($(cr(this))+" can't retrieve untyped values")}b3p(r){return!0}c3p(r){var t=this.a3p(r);return typeof t=="boolean"?t:m()}d3p(r){var t=this.a3p(r);return typeof t=="number"?t:m()}e3p(r){var t=this.a3p(r);return typeof t=="number"?t:m()}f3p(r){var t=this.a3p(r);return typeof t=="number"?t:m()}g3p(r){var t=this.a3p(r);return typeof t=="bigint"?t:m()}h3p(r){var t=this.a3p(r);return typeof t=="number"?t:m()}i3p(r){var t=this.a3p(r);return typeof t=="number"?t:m()}j3p(r){var t=this.a3p(r);return t instanceof J()?t.d2_1:m()}k3p(r){var t=this.a3p(r);return typeof t=="string"?t:m()}l3p(r,t){var n=this.a3p(r);return typeof n=="number"?n:m()}m3p(r,t){return this.n3p(r),this}k3a(r,t){return this.l3a(r)}j3a(r){return this.m3p(this.o3p(),r)}x39(){var r=this.x3o(),t;if(r==null)return!1;t=r;var n=t;return this.b3p(n)}y39(){return null}z39(){return this.c3p(this.o3p())}a3a(){return this.d3p(this.o3p())}b3a(){return this.e3p(this.o3p())}c3a(){return this.f3p(this.o3p())}d3a(){return this.g3p(this.o3p())}e3a(){return this.h3p(this.o3p())}f3a(){return this.i3p(this.o3p())}g3a(){return this.j3p(this.o3p())}h3a(){return this.k3p(this.o3p())}i3a(r){return this.l3p(this.o3p(),r)}m3a(r){return this}n3a(r){}o3a(r,t){return this.c3p(this.s3o(r,t))}p3a(r,t){return this.d3p(this.s3o(r,t))}q3a(r,t){return this.e3p(this.s3o(r,t))}r3a(r,t){return this.f3p(this.s3o(r,t))}s3a(r,t){return this.g3p(this.s3o(r,t))}t3a(r,t){return this.h3p(this.s3o(r,t))}u3a(r,t){return this.i3p(this.s3o(r,t))}v3a(r,t){return this.j3p(this.s3o(r,t))}w3a(r,t){return this.k3p(this.s3o(r,t))}x3a(r,t){return this.m3p(this.s3o(r,t),r.x38(t))}y3a(r,t,n,a){var s=this.s3o(r,t);return Qg(this,s,()=>this.k3a(n,a))}a3b(r,t,n,a){var s=this.s3o(r,t);return Qg(this,s,()=>{var _=n.e36().m38(),l;return _||this.x39()?l=this.k3a(n,a):l=this.y39(),l})}x3o(){return hb(this.v3o_1)}n3p(r){this.v3o_1.c1(r)}o3p(){var r=this.v3o_1.t2(g$(this.v3o_1));return this.w3o_1=!0,r}}F(e).z3a=Lq,F(e).l3a=Aq,F(e).c3b=jq,F(e).e3b=Nq,d(e,"TaggedDecoder",u,u,[X0(),Q0()]),yc=e}return yc}var ST=Math.imul;function qT(e,i,r){var t;if(i instanceof Yr())t=new(Wa())(e,i);else if(i instanceof Rt())t=new(Ld())(e,i);else{var n;i instanceof se()?n=!0:n=A(i,qe()),n?t=new(Gq())(e,i instanceof gr()?i:m()):wt()}var a=t;return a.l3a(r)}function lt(e,i,r,t){var n=Sa(r,"i")?"an "+r:"a "+r;throw xr(-1,"Failed to parse literal '"+i.toString()+"' as "+n+" value at element: "+e.t3z(t),$(e.u3z()))}var kc;function om(){if(kc===u){class e extends Xg(){constructor(r,t,n){n=n===u?null:n,super(),this.p3z_1=r,this.q3z_1=t,this.r3z_1=n,this.s3z_1=this.v3t().q3r_1}v3t(){return this.p3z_1}v2(){return this.q3z_1}b3b(){return this.v3t().b3b()}u3z(){var r=this.x3o(),t;r==null?t=null:t=this.v3z(r);var n=t;return n??this.v2()}t3z(r){return this.z3o()+("."+r)}w3t(){return this.u3z()}l3a(r){var t;r:{var n;if(r instanceof ln()?n=this.v3t().q3r_1.m3t_1:n=!0,n){t=r.g36(this);break r}var a=Cs(r.e36(),this.v3t()),s=this.w3t(),_=r.e36().h37();if(!(s instanceof Yr())){var l=Y(Yr()).zd(),o=cr(s).zd(),c=this.z3o();throw xr(-1,"Expected "+l+", but had "+o+" as the serialized body of "+_+" at element: "+c,$(s))}var h=s,v=h.x1m(a),f=v==null?null:ye(v),p=f==null?null:um(f),w;try{w=$a(r,this,p)}catch(S){if(S instanceof Nr()){var b=S;throw xr(-1,tr(b.message),h.toString())}else throw S}var g=w,C=L(g,ha())?g:m();t=Jq(this.v3t(),a,h,C)}return t}y3o(r,t){return t}m3a(r){var t=this.u3z(),n=r.q38(),a,s;if(A(n,Ba())?s=!0:s=n instanceof fn(),s){var _=this.v3t(),l=r.h37();if(!(t instanceof Rt())){var o=Y(Rt()).zd(),c=cr(t).zd(),h=this.z3o();throw xr(-1,"Expected "+o+", but had "+c+" as the serialized body of "+l+" at element: "+h,$(t))}a=new(Ld())(_,t)}else if(A(n,Ra())){var v=this.v3t(),f=_s(r.x38(0),v.b3b()),p=f.q38(),w,b;if(p instanceof zt()?b=!0:b=A(p,ze()),b){var g=this.v3t(),C=r.h37();if(!(t instanceof Yr())){var S=Y(Yr()).zd(),k=cr(t).zd(),E=this.z3o();throw xr(-1,"Expected "+S+", but had "+k+" as the serialized body of "+C+" at element: "+E,$(t))}w=new(IT())(g,t)}else if(v.q3r_1.h3t_1){var D=this.v3t(),P=r.h37();if(!(t instanceof Rt())){var O=Y(Rt()).zd(),H=cr(t).zd(),G=this.z3o();throw xr(-1,"Expected "+O+", but had "+H+" as the serialized body of "+P+" at element: "+G,$(t))}w=new(Ld())(D,t)}else throw BS(f);a=w}else{var X=this.v3t(),Q=r.h37();if(!(t instanceof Yr())){var rr=Y(Yr()).zd(),er=cr(t).zd(),ir=this.z3o();throw xr(-1,"Expected "+rr+", but had "+er+" as the serialized body of "+Q+" at element: "+ir,$(t))}a=new(Wa())(X,t,this.r3z_1)}return a}n3a(r){}x39(){var r=this.u3z();return!(r instanceof Ue())}w3z(r,t){var n=this.v3t(),a=this.v3z(r),s=t.h37();if(!(a instanceof gr())){var _=Y(gr()).zd(),l=cr(a).zd(),o=this.t3z(r);throw xr(-1,"Expected "+_+", but had "+l+" as the serialized body of "+s+" at element: "+o,$(a))}return Iq(t,n,a.e3u())}l3p(r,t){return this.w3z(r!=null&&typeof r=="string"?r:m(),t)}x3z(r){return this.v3z(r)!==qe()}b3p(r){return this.x3z(r!=null&&typeof r=="string"?r:m())}y3z(r){var t;r:{var n=this.v3z(r);if(!(n instanceof gr())){var a=Y(gr()).zd(),s=cr(n).zd(),_=this.t3z(r);throw xr(-1,"Expected "+a+", but had "+s+" as the serialized body of boolean at element: "+_,$(n))}var l=n;try{var o=Rq(l),c;o==null?lt(this,l,"boolean",r):c=o,t=c;break r}catch(h){if(h instanceof W())lt(this,l,"boolean",r);else throw h}}return t}c3p(r){return this.y3z(r!=null&&typeof r=="string"?r:m())}z3z(r){var t;r:{var n=this.v3z(r);if(!(n instanceof gr())){var a=Y(gr()).zd(),s=cr(n).zd(),_=this.t3z(r);throw xr(-1,"Expected "+a+", but had "+s+" as the serialized body of byte at element: "+_,$(n))}var l=n;try{var o=Pe(l),c,h=ee(-128,127);la(L(h,oa())?h:m(),o)?c=M5(o):c=null;var v=c,f;v==null?lt(this,l,"byte",r):f=v,t=f;break r}catch(p){if(p instanceof W())lt(this,l,"byte",r);else throw p}}return t}d3p(r){return this.z3z(r!=null&&typeof r=="string"?r:m())}a40(r){var t;r:{var n=this.v3z(r);if(!(n instanceof gr())){var a=Y(gr()).zd(),s=cr(n).zd(),_=this.t3z(r);throw xr(-1,"Expected "+a+", but had "+s+" as the serialized body of short at element: "+_,$(n))}var l=n;try{var o=Pe(l),c,h=ee(-32768,32767);la(L(h,oa())?h:m(),o)?c=T5(o):c=null;var v=c,f;v==null?lt(this,l,"short",r):f=v,t=f;break r}catch(p){if(p instanceof W())lt(this,l,"short",r);else throw p}}return t}e3p(r){return this.a40(r!=null&&typeof r=="string"?r:m())}b40(r){var t;r:{var n=this.v3z(r);if(!(n instanceof gr())){var a=Y(gr()).zd(),s=cr(n).zd(),_=this.t3z(r);throw xr(-1,"Expected "+a+", but had "+s+" as the serialized body of int at element: "+_,$(n))}var l=n;try{var o=Pe(l),c,h=ee(-2147483648,2147483647);la(L(h,oa())?h:m(),o)?c=za(o):c=null;var v=c,f;v==null?lt(this,l,"int",r):f=v,t=f;break r}catch(p){if(p instanceof W())lt(this,l,"int",r);else throw p}}return t}f3p(r){return this.b40(r!=null&&typeof r=="string"?r:m())}c40(r){var t;r:{var n=this.v3z(r);if(!(n instanceof gr())){var a=Y(gr()).zd(),s=cr(n).zd(),_=this.t3z(r);throw xr(-1,"Expected "+a+", but had "+s+" as the serialized body of long at element: "+_,$(n))}var l=n;try{var o=Pe(l),c;o==null?lt(this,l,"long",r):c=o,t=c;break r}catch(h){if(h instanceof W())lt(this,l,"long",r);else throw h}}return t}g3p(r){return this.c40(r!=null&&typeof r=="string"?r:m())}d40(r){var t;r:{var n=this.v3z(r);if(!(n instanceof gr())){var a=Y(gr()).zd(),s=cr(n).zd(),_=this.t3z(r);throw xr(-1,"Expected "+a+", but had "+s+" as the serialized body of float at element: "+_,$(n))}var l=n;try{var o=nT(l),c;o==null?lt(this,l,"float",r):c=o,t=c;break r}catch(f){if(f instanceof W())lt(this,l,"float",r);else throw f}}var h=t,v=this.v3t().q3r_1.o3t_1;if(v||v0(h))return h;throw jg(h,r,$(this.u3z()))}h3p(r){return this.d40(r!=null&&typeof r=="string"?r:m())}e40(r){var t;r:{var n=this.v3z(r);if(!(n instanceof gr())){var a=Y(gr()).zd(),s=cr(n).zd(),_=this.t3z(r);throw xr(-1,"Expected "+a+", but had "+s+" as the serialized body of double at element: "+_,$(n))}var l=n;try{var o=Oq(l),c;o==null?lt(this,l,"double",r):c=o,t=c;break r}catch(f){if(f instanceof W())lt(this,l,"double",r);else throw f}}var h=t,v=this.v3t().q3r_1.o3t_1;if(v||f0(h))return h;throw jg(h,r,$(this.u3z()))}i3p(r){return this.e40(r!=null&&typeof r=="string"?r:m())}f40(r){var t;r:{var n=this.v3z(r);if(!(n instanceof gr())){var a=Y(gr()).zd(),s=cr(n).zd(),_=this.t3z(r);throw xr(-1,"Expected "+a+", but had "+s+" as the serialized body of char at element: "+_,$(n))}var l=n;try{var o=new(J())(b$(l.e3u())),c;o==null?lt(this,l,"char",r):c=o,t=c.d2_1;break r}catch(h){if(h instanceof W())lt(this,l,"char",r);else throw h}}return t}j3p(r){return this.f40(r!=null&&typeof r=="string"?r:m())}g40(r){var t=this.v3z(r);if(!(t instanceof gr())){var n=Y(gr()).zd(),a=cr(t).zd(),s=this.t3z(r);throw xr(-1,"Expected "+n+", but had "+a+" as the serialized body of string at element: "+s,$(t))}var _=t;if(!(_ instanceof se()))throw xr(-1,"Expected string value for a non-null key '"+r+"', got null literal instead at element: "+this.t3z(r),$(this.u3z()));if(!_.h3u_1&&!this.v3t().q3r_1.g3t_1)throw xr(-1,"String literal for key '"+r+"' should be quoted at element: "+this.t3z(r)+`. +Use 'isLenient = true' in 'Json {}' builder to accept non-compliant JSON.`,$(this.u3z()));return _.j3u_1}k3p(r){return this.g40(r!=null&&typeof r=="string"?r:m())}h40(r,t){var n;if(_m(t)){var a=this.v3t(),s=this.v3z(r),_=t.h37();if(!(s instanceof gr())){var l=Y(gr()).zd(),o=cr(s).zd(),c=this.t3z(r);throw xr(-1,"Expected "+l+", but had "+o+" as the serialized body of "+_+" at element: "+c,$(s))}var h=Pq(a,s.e3u());n=new(Wq())(h,this.v3t())}else n=super.m3p(r,t);return n}m3p(r,t){return this.h40(r!=null&&typeof r=="string"?r:m(),t)}j3a(r){return this.x3o()!=null?super.j3a(r):new(Gq())(this.v3t(),this.v2(),this.r3z_1).j3a(r)}}d(e,"AbstractJsonTreeDecoder",u,u,[Xg(),rm()]),kc=e}return kc}function rw(e,i,r){return e.r40_1=!e.v3t().q3r_1.j3t_1&&!i.y38(r)&&i.x38(r).m38(),e.r40_1}var xc;function Wa(){if(xc===u){class e extends om(){constructor(r,t,n,a){n=n===u?null:n,a=a===u?null:a,super(r,t,n),this.o40_1=t,this.p40_1=a,this.q40_1=0,this.r40_1=!1}v2(){return this.o40_1}d3b(r){r:for(;this.q40_1i)}var Dc;function KT(){if(Dc===l){class e{}Ar(e,"SerializersModuleCollector"),Dc=e}return Dc}function GT(e,i,r){var t=i.o38(),n;if(t instanceof mn()?n=!0:n=E(t,h1()),n)throw H().u("Serializer for "+r.ce()+" can't be registered as a subclass for polymorphic serialization "+("because its kind "+t.toString()+" is not concrete. To work with multiple hierarchies, register it as a base class."));if(e.q3x_1)return S;if(!e.r3x_1)return S;var a,s;if(E(t,Ua())||E(t,Ka())?s=!0:s=t instanceof St(),s?a=!0:a=t instanceof Fd(),a)throw H().u("Serializer for "+r.ce()+" of kind "+t.toString()+" cannot be serialized polymorphically with class discriminator.")}function JT(e,i,r){var t=0,n=i.q38();if(te.c36()}var Kc;function rF(){if(Kc===l){class e{constructor(r,t){this.u3g_1=t,this.v3g_1=null;var n=this;n.w3g_1=Xs(()=>{var a=this.v3g_1;return a??XT(this,r)})}c36(){var r=this.w3g_1,t=oe();return ce("descriptor",1,t,QT(),null),r.y2()}k3h(r,t){var n=A7(this.u3g_1,t);if(n===-1)throw jr().o37($(t)+" is not a valid enum "+this.c36().f37()+", "+("must be one of "+E7(this.u3g_1)));r.q3b(this.c36(),n)}d36(r,t){return this.k3h(r,t instanceof Kt()?t:m())}e36(r){var t=r.g3a(this.c36());if(!(0<=t&&t<=(this.u3g_1.length-1|0)))throw jr().o37(""+t+" is not among valid "+this.c36().f37()+" enum values, "+("values size is "+this.u3g_1.length));return this.u3g_1[t]}toString(){return"kotlinx.serialization.internal.EnumSerializer<"+this.c36().f37()+">"}}p(e,"EnumSerializer",l,l,[V()]),Kc=e}return Kc}function Yq(e){var i=e.y3h_1,r=oe();return ce("elementDescriptors",1,r,tF(),null),i.y2()}function tF(){return e=>Yq(e)}var Gc;function eF(){if(Gc===l){class e extends Kr(){constructor(r,t){super(r,l,t),this.x3h_1=Ie();var n=this;n.y3h_1=Xs(()=>{for(var a=0,s=t,u=Array(s);a>>1|0}while(a<32);throw tp().e38(t,r.f37())}var Jc;function nF(){if(Jc===l){class e{v3t(){var r=Y(ym()),t=[Y(ee()),Y(ne())],n=[Jp(),Hp()],a=[];return tm().i37("com.github.minigdx.tiny.sound.Modulation",r,t,n,a)}d3j(r){return this.v3t()}}ar(e,l,[y1()]),Jc=e}return Jc}var wm;function aF(){return wm}var Wc;function ym(){if(Wc===l){class e{}Ar(e,"Modulation",l,l,l,l,l,{0:aF}),Wc=e}return Wc}function iF(e){return e.y4t_1*2-1}var Hc;function sF(){if(Hc===l){class e{}ar(e),Hc=e}return Hc}var Vc;function lF(){if(Vc===l){class e{constructor(){Gp=this;var r=new(Kr())("com.github.minigdx.tiny.sound.Sweep",this,3);r.a3i("sweep",!1),r.a3i("acceleration",!1),r.a3i("active",!0),this.n5o_1=r}o5o(r,t){var n=this.n5o_1,a=r.k3a(n);a.x3b(n,0,t.x4t_1),a.x3b(n,1,t.y4t_1),(a.i3c(n,2)||t.z4t_1!==!1)&&a.s3b(n,2,t.z4t_1),a.l3a(n)}d36(r,t){return this.o5o(r,t instanceof ee()?t:m())}e36(r){var t=this.n5o_1,n=!0,a=0,s=0,u=0,_=0,o=!1,c=r.k3a(t);if(c.a3b())u=c.r3a(t,0),s=s|1,_=c.r3a(t,1),s=s|2,o=c.m3a(t,2),s=s|4;else for(;n;)switch(a=c.b3b(t),a){case-1:n=!1;break;case 0:u=c.r3a(t,0),s=s|1;break;case 1:_=c.r3a(t,1),s=s|2;break;case 2:o=c.m3a(t,2),s=s|4;break;default:throw Xr().w37(a)}return c.l3a(t),ee().p5o(s,u,_,o,null)}c36(){return this.n5o_1}p3i(){return[mt(),mt(),Dn()]}}F(e).q3i=Hr,P(e,"$serializer",l,l,[Vr()]),Vc=e}return Vc}var Gp;function Jp(){return Gp===l&&new(lF()),Gp}var Yc;function ee(){if(Yc===l){class e{constructor(r,t){this.x4t_1=r,this.y4t_1=t,this.z4t_1=!1}w4t(r){this.z4t_1=r}v4t(){return this.z4t_1}m5o(r,t){return t+r*(this.x4t_1*iF(this))}static p5o(r,t,n,a,s){(3&r)!==3&&rt(r,3,Jp().n5o_1);var u=Ur(this);return u.x4t_1=t,u.y4t_1=n,(r&4)===0?u.z4t_1=!1:u.z4t_1=a,u}}p(e,"Sweep",l,l,[ym()],l,l,{0:Jp}),Yc=e}return Yc}var Zc;function uF(){if(Zc===l){class e{}ar(e),Zc=e}return Zc}var Xc;function _F(){if(Xc===l){class e{constructor(){Wp=this;var r=new(Kr())("com.github.minigdx.tiny.sound.Vibrato",this,3);r.a3i("vibratoFrequency",!1),r.a3i("depth",!1),r.a3i("active",!0),this.q5o_1=r}r5o(r,t){var n=this.q5o_1,a=r.k3a(n);a.x3b(n,0,t.a4u_1),a.x3b(n,1,t.b4u_1),(a.i3c(n,2)||t.c4u_1!==!1)&&a.s3b(n,2,t.c4u_1),a.l3a(n)}d36(r,t){return this.r5o(r,t instanceof ne()?t:m())}e36(r){var t=this.q5o_1,n=!0,a=0,s=0,u=0,_=0,o=!1,c=r.k3a(t);if(c.a3b())u=c.r3a(t,0),s=s|1,_=c.r3a(t,1),s=s|2,o=c.m3a(t,2),s=s|4;else for(;n;)switch(a=c.b3b(t),a){case-1:n=!1;break;case 0:u=c.r3a(t,0),s=s|1;break;case 1:_=c.r3a(t,1),s=s|2;break;case 2:o=c.m3a(t,2),s=s|4;break;default:throw Xr().w37(a)}return c.l3a(t),ne().s5o(s,u,_,o,null)}c36(){return this.q5o_1}p3i(){return[mt(),mt(),Dn()]}}F(e).q3i=Hr,P(e,"$serializer",l,l,[Vr()]),Xc=e}return Xc}var Wp;function Hp(){return Wp===l&&new(_F()),Wp}var Qc;function ne(){if(Qc===l){class e{constructor(r,t){this.a4u_1=r,this.b4u_1=t,this.c4u_1=!1}w4t(r){this.c4u_1=r}v4t(){return this.c4u_1}m5o(r,t){var n=6.2831855*this.a4u_1*r,a=Math.sin(n)*this.b4u_1;return t+a}static s5o(r,t,n,a,s){(3&r)!==3&&rt(r,3,Hp().q5o_1);var u=Ur(this);return u.a4u_1=t,u.b4u_1=n,(r&4)===0?u.c4u_1=!1:u.c4u_1=a,u}}p(e,"Vibrato",l,l,[ym()],l,l,{0:Hp}),Qc=e}return Qc}wm=new(nF());new(sF());new(uF());var Zq,Xq,Qq,rI,tI,eI;function oF(){return[Ms(),gm(),Ts(),fn(),bm(),km()]}function cF(e){switch(e){case"SAW_TOOTH":return Ms();case"PULSE":return gm();case"TRIANGLE":return Ts();case"SINE":return fn();case"NOISE":return bm();case"SQUARE":return km();default:Cn(),Jy("No enum constant com.github.minigdx.tiny.sound.Instrument.WaveType."+e);break}}var iy;function Cn(){if(iy)return S;iy=!0,Zq=new(zn())("SAW_TOOTH",0),Xq=new(zn())("PULSE",1),Qq=new(zn())("TRIANGLE",2),rI=new(zn())("SINE",3),tI=new(zn())("NOISE",4),eI=new(zn())("SQUARE",5)}function hF(){return mm("com.github.minigdx.tiny.sound.Instrument.WaveType",oF())}function fF(){return new(Cr())(wm.v3t())}var rh;function zn(){if(rh===l){class e extends Kt(){}p(e,"WaveType"),rh=e}return rh}var th;function vF(){if(th===l){class e{constructor(){Vp=this;var r=this,t=lr(),n=ur(t,hF),a=lr();r.b5p_1=[null,null,n,null,null,null,null,null,ur(a,fF)],this.c5p_1=7,this.d5p_1=6.2831855}}ar(e),th=e}return th}var Vp;function ma(){return Vp===l&&new(vF()),Vp}var eh;function pF(){if(eh===l){class e{constructor(){Yp=this;var r=new(Kr())("com.github.minigdx.tiny.sound.Instrument",this,9);r.a3i("index",!1),r.a3i("name",!0),r.a3i("wave",!0),r.a3i("attack",!0),r.a3i("decay",!0),r.a3i("sustain",!0),r.a3i("release",!0),r.a3i("harmonics",!0),r.a3i("modulations",!0),this.e5p_1=r}f5p(r,t){var n=this.e5p_1,a=r.k3a(n),s=ma().b5p_1;a.v3b(n,0,t.d4s_1),(a.i3c(n,1)||t.e4s_1!=="Instrument "+t.d4s_1)&&a.e3c(n,1,qr(),t.e4s_1),(a.i3c(n,2)||!t.f4s_1.equals(fn()))&&a.c3c(n,2,s[2].y2(),t.f4s_1),(a.i3c(n,3)||!E(t.g4s_1,0))&&a.x3b(n,3,t.g4s_1),(a.i3c(n,4)||!E(t.h4s_1,0))&&a.x3b(n,4,t.h4s_1),(a.i3c(n,5)||!E(t.i4s_1,0))&&a.x3b(n,5,t.i4s_1),(a.i3c(n,6)||!E(t.j4s_1,0))&&a.x3b(n,6,t.j4s_1),(a.i3c(n,7)||!E(t.k4s_1,new Float32Array(7)))&&a.c3c(n,7,_a(),t.k4s_1),(a.i3c(n,8)||!E(t.l4s_1,Rr([new(ee())(Ea().r4q_1,1),new(ne())(0,0)])))&&a.c3c(n,8,s[8].y2(),t.l4s_1),a.l3a(n)}d36(r,t){return this.f5p(r,t instanceof At()?t:m())}e36(r){var t=this.e5p_1,n=!0,a=0,s=0,u=0,_=null,o=null,c=0,h=0,f=0,v=0,d=null,g=null,b=r.k3a(t),w=ma().b5p_1;if(b.a3b())u=b.p3a(t,0),s=s|1,_=b.y3a(t,1,qr(),_),s=s|2,o=b.w3a(t,2,w[2].y2(),o),s=s|4,c=b.r3a(t,3),s=s|8,h=b.r3a(t,4),s=s|16,f=b.r3a(t,5),s=s|32,v=b.r3a(t,6),s=s|64,d=b.w3a(t,7,_a(),d),s=s|128,g=b.w3a(t,8,w[8].y2(),g),s=s|256;else for(;n;)switch(a=b.b3b(t),a){case-1:n=!1;break;case 0:u=b.p3a(t,0),s=s|1;break;case 1:_=b.y3a(t,1,qr(),_),s=s|2;break;case 2:o=b.w3a(t,2,w[2].y2(),o),s=s|4;break;case 3:c=b.r3a(t,3),s=s|8;break;case 4:h=b.r3a(t,4),s=s|16;break;case 5:f=b.r3a(t,5),s=s|32;break;case 6:v=b.r3a(t,6),s=s|64;break;case 7:d=b.w3a(t,7,_a(),d),s=s|128;break;case 8:g=b.w3a(t,8,w[8].y2(),g),s=s|256;break;default:throw Xr().w37(a)}return b.l3a(t),At().g5p(s,u,_,o,c,h,f,v,d,g,null)}c36(){return this.e5p_1}p3i(){var r=ma().b5p_1;return[K(),$r(qr()),r[2].y2(),mt(),mt(),mt(),mt(),_a(),r[8].y2()]}}F(e).q3i=Hr,P(e,"$serializer",l,l,[Vr()]),eh=e}return eh}var Yp;function Zp(){return Yp===l&&new(pF()),Yp}function Ms(){return Cn(),Zq}function gm(){return Cn(),Xq}function Ts(){return Cn(),Qq}function fn(){return Cn(),rI}function bm(){return Cn(),tI}function km(){return Cn(),eI}var nh;function At(){if(nh===l){class e{constructor(r,t,n,a,s,u,_,o,c){ma(),t=t===l?"Instrument "+r:t,n=n===l?fn():n,a=a===l?0:a,s=s===l?0:s,u=u===l?0:u,_=_===l?0:_,o=o===l?new Float32Array(7):o,c=c===l?Rr([new(ee())(Ea().r4q_1,1),new(ne())(0,0)]):c,this.d4s_1=r,this.e4s_1=t,this.f4s_1=n,this.g4s_1=a,this.h4s_1=s,this.i4s_1=u,this.j4s_1=_,this.k4s_1=o,this.l4s_1=c,this.m4s_1=0,this.n4s_1=0,this.o4s_1=0}h5p(r,t){for(var n=this.l4s_1,a=N().p1(),s=n.e1();s.f1();){var u=s.g1();u.v4t()&&a.c1(u)}for(var _=r,o=a.e1();o.f1();){var c=o.g1(),h=_;_=c.m5o(t,h)}var f=_,v;switch(this.f4s_1.i3_1){case 2:var d=6.2831855*f*t,g=Math.sin(d),b=(g+1)%1;return b<.5?4*b-1:3-4*b;case 3:var w=6.2831855*f*t;v=Math.sin(w);break;case 5:var x=6.2831855*f*t,z=Math.sin(x),k;return z>0?k=1:k=-1,k;case 1:var A=6.2831855*f*t,D=Math.sin(A),B=D%1,R=2*(D/128%1)-1,W=Math.abs(R),G=(B+.5*W)%1,Q=4*G-2,X=Math.abs(Q),rr=8*B-4,tr=X-Math.abs(rr);return tr/6;case 0:var ir=6.2831855*f*t,dr=Math.sin(ir);return dr*2-1;case 4:var cr;if(this.n4s_1===f)cr=this.o4s_1;else{var mr=Math.max(1,f),Dr=6.2831855*mr/44100,Ir=-Dr,Or=Math.exp(Ir);this.o4s_1=1-Or,this.n4s_1=f,cr=this.o4s_1}var Yr=cr,Gr=sn().el()*2-1,Er=Yr*Gr+(1-Yr)*this.m4s_1;return this.m4s_1=Er,Er;default:yt();break}return v}static g5p(r,t,n,a,s,u,_,o,c,h,f){ma(),(1&r)!==1&&rt(r,1,Zp().e5p_1);var v=Ur(this);return v.d4s_1=t,(r&2)===0?v.e4s_1="Instrument "+v.d4s_1:v.e4s_1=n,(r&4)===0?v.f4s_1=fn():v.f4s_1=a,(r&8)===0?v.g4s_1=0:v.g4s_1=s,(r&16)===0?v.h4s_1=0:v.h4s_1=u,(r&32)===0?v.i4s_1=0:v.i4s_1=_,(r&64)===0?v.j4s_1=0:v.j4s_1=o,(r&128)===0?v.k4s_1=new Float32Array(7):v.k4s_1=c,(r&256)===0?v.l4s_1=Rr([new(ee())(Ea().r4q_1,1),new(ne())(0,0)]):v.l4s_1=h,v.m4s_1=0,v.n4s_1=0,v.o4s_1=0,v}}p(e,"Instrument",l,l,l,l,l,{0:Zp}),nh=e}return nh}function dF(){return he(),nI}var nI;function mF(){return he(),aI}var aI;function wF(){return he(),iI}var iI;function yF(){return he(),sI}var sI;function gF(e,i){he();var r;if(i)r=mF().i38(e);else{var t=dF().i38(e),n;t==null?n=null:n=j(t,V())?t:m(),r=n}return r}function bF(e,i,r){he();var t;if(r)t=yF().j38(e,i);else{var n=wF().j38(e,i);t=new(ow())(n)instanceof ow()?n:m()}return t}function kF(e){he();var i=Cm(e),r;return i==null?r=da(e)?Is().i36(e):null:r=i,r}function CF(e){he();var i=Cm(e),r;i==null?r=da(e)?Is().i36(e):null:r=i;var t=r,n=t==null?null:$r(t),a;return n==null?a=null:a=j(n,V())?n:m(),a}function xF(e,i){he();var r=nr(xm(Wn(),i));return Sm(e,r,()=>i.l1(0).ne())}function SF(e,i){he();var r=nr(xm(Wn(),i)),t=Sm(e,r,()=>i.l1(0).ne()),n=t==null?null:$r(t),a;return n==null?a=null:a=j(n,V())?n:m(),a}var sy;function he(){sy||(sy=!0,nI=Uw(kF),aI=Uw(CF),iI=Kw(xF),sI=Kw(SF))}function Cm(e){var i=rL(e);return i??mL(e)}function xm(e,i,r){var t;{for(var n=N().d1(gr(i,10)),a=i.e1();a.f1();){var s=a.g1(),u=Fs(e,s);n.c1(u)}t=n}var _=t;return _}function Sm(e,i,r){var t=zF(e,i,r);return t??qF(e,i)}function Fs(e,i){var r=IF(e,i),t;return r==null?tL(Rz(i)):t=r,t}function zF(e,i,r){var t;if(e.equals(Y(Pi()))||e.equals(Y(t1()))||e.equals(Y(Ky()))||e.equals(Y(N())))t=new(Cr())(i.l1(0));else if(e.equals(Y(Wt())))t=new(ZL())(i.l1(0));else if(e.equals(Y(md()))||e.equals(Y(j7()))||e.equals(Y(gt())))t=new(XL())(i.l1(0));else if(e.equals(Y(ye())))t=new(QL())(i.l1(0),i.l1(1));else if(e.equals(Y(kt()))||e.equals(Y(O5()))||e.equals(Y(zr())))t=new(vq())(i.l1(0),i.l1(1));else if(e.equals(Y(Ki())))t=Hj(i.l1(0),i.l1(1));else if(e.equals(Y(R5())))t=Vj(i.l1(0),i.l1(1));else if(e.equals(Y(n1())))t=Yj(i.l1(0),i.l1(1),i.l1(2));else{var n;if(eL(e)){var a=r();n=Zj(a!=null&&j(a,Be())?a:m(),i.l1(0))}else n=null;t=n}return t}function qF(e,i){var r=lt(i);return nq(e,r.slice())}function IF(e,i,r){for(var t=Rz(i),n=i.pe(),a=i.oe(),s=N().d1(gr(a,10)),u=a.e1();u.f1();){var _=u.g1(),o=kN(_);s.c1(o)}var c=s,h;if(c.m1()){var f;da(t)&&e.g38(t)!=null?f=null:f=gF(t,n),h=f}else{var v;if(e.f38())v=null;else{var d=bF(t,c,n),g;if(N7(d))g=null;else{var b=L7(d);g=b==null||b!=null?b:m()}v=g}h=v}var w=h;if(w!=null)return w;var x;if(c.m1()){var z=Cm(t),k=z??e.g38(t),A;k==null?A=da(t)?Is().i36(t):null:A=k,x=A}else{var D=xm(e,c),B;if(D==null)return null;B=D;var R=B,W=Sm(t,R,()=>c.l1(0).ne()),G=W??e.h38(t,R),Q;G==null?Q=da(t)?Is().i36(t):null:Q=G,x=Q}var X=x,rr;X==null?rr=null:rr=j(X,V())?X:m();var tr=rr;return tr==null?null:$F(tr,n)}function $F(e,i){return i?$r(e):j(e,V())?e:m()}function*AF(e,i,r){Rt("Loading audio worklet module...");var t=e.k5t_1.l5t().audioWorklet,n=h9(),a=t.addModule(n),s=m9(a,r);s===O()&&(s=yield s);var u=S;Rt("Audio worklet module loaded successfully "+u.toString()),Rt("Creating AudioWorkletNode for SynthesizerProcessor");var _=e.k5t_1,o=e.k5t_1.l5t(),c="SynthesizerProcessor";_.h5t_1=new AudioWorkletNode(o,c);var h=e.k5t_1.l5t().destination;return Rt("Connecting worklet to destination node: "+$(h)),Xp(e.k5t_1).connect(h),Rt("Audio worklet ready!"),e.k5t_1.e5t_1=!0,S}function Xp(e){var i=e.h5t_1;if(i!=null)return i;st("audioWorkletNode")}function ly(e){e.f5t_1=e.l5t().currentTime,zd(e.i5t_1,l,l,jF(e))}function EF(e,i){var r=i.i3_1+12|0,t=(r-69|0)/12;return 440*Math.pow(2,t)}var ah;function NF(){if(ah===l){class e{constructor(){this.m5t_1=4096,this.n5t_1=8}}ar(e),ah=e}return ah}var ih;function LF(){if(ih===l){class e{constructor(r){this.k5t_1=r}b1b(r,t){return er(AF.bind(l,this,r),t)}oc(r,t){return this.b1b(r!=null&&j(r,qd())?r:m(),t)}}at(e,l,l,[1]),ih=e}return ih}function jF(e){var i=new(LF())(e),r=(t,n)=>i.b1b(t,n);return r.$arity=1,r}var sh;function lI(){if(sh===l){class e extends C9(){constructor(){super(),this.e5t_1=!1,this.f5t_1=0,this.g5t_1=new(S9())(8),this.i5t_1=Sd(H5().q14())}l5t(){var r=this.d5t_1;if(r!=null)return r;st("audioContext")}j5t(r){this.d5t_1=new AudioContext,Rt("INIT audio context "+$(this.l5t().state));var t=this.l5t();t.onstatechange=()=>{Rt("audio context "+$(this.l5t().state));var a=this.l5t().state;return E(a,"running")?this.e5t_1=!0:this.l5t().resume(),S};var n=this.l5t().state;E(n,"running")?(Rt("FIRST USER audio context "+$(this.l5t().state)),ly(this)):r.g4d(()=>(Rt("FIRST USER audio context "+$(this.l5t().state)),this.l5t().resume(),ly(this),S))}d4u(r,t){if(Rt("noteOn is ready + "+this.e5t_1),!this.e5t_1)return S;var n=new(F9())(t);this.g5t_1.f5r(n),n.w5p(r);var a=EF(this,r),s=Ue(),u=s.z3a(),_=Fs(u,J5(Y(At()),W5([]),!1)),o=j(_,V())?_:m(),c=s.r3r(o,t);Rt("Prepare to post message to worklet"),Xp(this).port.postMessage(cw([T("type","noteOn"),T("note",r.i3_1),T("frequency",a),T("instrument",c)]))}e4u(r){if(!this.e5t_1)return S;for(var t=this.g5t_1.e1();t.f1();){var n=t.g1();n.e4u(r)}Xp(this).port.postMessage(cw([T("type","noteOff"),T("note",r.i3_1)]))}y5q(r){throw Xt().nc()}}p(e,"WebSoundManager",lI),sh=e}return sh}new(NF());var Ze=Math.imul;function MF(){return mm("com.github.minigdx.tiny.lua.Note",F6())}var lh;function TF(){if(lh===l){class e{constructor(){Qp=this;var r=this,t=lr();r.k5q_1=[ur(t,MF),null,null,null,null,null,null]}}ar(e),lh=e}return lh}var Qp;function wa(){return Qp===l&&new(TF()),Qp}var uh;function FF(){if(uh===l){class e{constructor(){r0=this;var r=new(Kr())("com.github.minigdx.tiny.sound.MusicalNote",this,7);r.a3i("note",!1),r.a3i("beat",!1),r.a3i("duration",!1),r.a3i("volume",!1),r.a3i("instrumentIndex",!0),r.a3i("isRepeating",!0),r.a3i("isOffNote",!0),this.l5q_1=r}m5q(r,t){var n=this.l5q_1,a=r.k3a(n),s=wa().k5q_1;a.e3c(n,0,s[0].y2(),t.v4r_1),a.x3b(n,1,t.w4r_1),a.x3b(n,2,t.x4r_1),a.x3b(n,3,t.y4r_1),(a.i3c(n,4)||t.z4r_1!=null)&&a.e3c(n,4,K(),t.z4r_1),(a.i3c(n,5)||t.b4s_1!==!1)&&a.s3b(n,5,t.b4s_1),(a.i3c(n,6)||t.c4s_1!==!1)&&a.s3b(n,6,t.c4s_1),a.l3a(n)}d36(r,t){return this.m5q(r,t instanceof Pn()?t:m())}e36(r){var t=this.l5q_1,n=!0,a=0,s=0,u=null,_=0,o=0,c=0,h=null,f=!1,v=!1,d=r.k3a(t),g=wa().k5q_1;if(d.a3b())u=d.y3a(t,0,g[0].y2(),u),s=s|1,_=d.r3a(t,1),s=s|2,o=d.r3a(t,2),s=s|4,c=d.r3a(t,3),s=s|8,h=d.y3a(t,4,K(),h),s=s|16,f=d.m3a(t,5),s=s|32,v=d.m3a(t,6),s=s|64;else for(;n;)switch(a=d.b3b(t),a){case-1:n=!1;break;case 0:u=d.y3a(t,0,g[0].y2(),u),s=s|1;break;case 1:_=d.r3a(t,1),s=s|2;break;case 2:o=d.r3a(t,2),s=s|4;break;case 3:c=d.r3a(t,3),s=s|8;break;case 4:h=d.y3a(t,4,K(),h),s=s|16;break;case 5:f=d.m3a(t,5),s=s|32;break;case 6:v=d.m3a(t,6),s=s|64;break;default:throw Xr().w37(a)}return d.l3a(t),Pn().n5q(s,u,_,o,c,h,f,v,null)}c36(){return this.l5q_1}p3i(){var r=wa().k5q_1;return[$r(r[0].y2()),mt(),mt(),mt(),$r(K()),Dn(),Dn()]}}F(e).q3i=Hr,P(e,"$serializer",l,l,[Vr()]),uh=e}return uh}var r0;function Ds(){return r0===l&&new(FF()),r0}var _h;function Pn(){if(_h===l){class e{constructor(r,t,n,a,s,u,_,o){wa(),s=s===l?null:s,u=u===l?null:u,_=_===l?!1:_,o=o===l?!1:o,this.v4r_1=r,this.w4r_1=t,this.x4r_1=n,this.y4r_1=a,this.z4r_1=s,this.a4s_1=u,this.b4s_1=_,this.c4s_1=o}toString(){return"MusicalNote(note="+Wr(this.v4r_1)+", beat="+this.w4r_1+", duration="+this.x4r_1+", volume="+this.y4r_1+", instrumentIndex="+this.z4r_1+", instrument="+Wr(this.a4s_1)+", isRepeating="+this.b4s_1+", isOffNote="+this.c4s_1+")"}hashCode(){var r=this.v4r_1==null?0:this.v4r_1.hashCode();return r=Ze(r,31)+Vt(this.w4r_1)|0,r=Ze(r,31)+Vt(this.x4r_1)|0,r=Ze(r,31)+Vt(this.y4r_1)|0,r=Ze(r,31)+(this.z4r_1==null?0:this.z4r_1)|0,r=Ze(r,31)+(this.a4s_1==null?0:Z(this.a4s_1))|0,r=Ze(r,31)+Ca(this.b4s_1)|0,r=Ze(r,31)+Ca(this.c4s_1)|0,r}equals(r){return this===r?!0:!(!(r instanceof Pn())||!E(this.v4r_1,r.v4r_1)||!E(this.w4r_1,r.w4r_1)||!E(this.x4r_1,r.x4r_1)||!E(this.y4r_1,r.y4r_1)||this.z4r_1!=r.z4r_1||!E(this.a4s_1,r.a4s_1)||this.b4s_1!==r.b4s_1||this.c4s_1!==r.c4s_1)}static n5q(r,t,n,a,s,u,_,o,c){wa(),(15&r)!==15&&rt(r,15,Ds().l5q_1);var h=Ur(this);return h.v4r_1=t,h.w4r_1=n,h.x4r_1=a,h.y4r_1=s,(r&16)===0?h.z4r_1=null:h.z4r_1=u,h.a4s_1=null,(r&32)===0?h.b4s_1=!1:h.b4s_1=_,(r&64)===0?h.c4s_1=!1:h.c4s_1=o,h}}p(e,"MusicalNote",l,l,l,l,l,{0:Ds}),_h=e}return _h}function DF(){return new(Cr())(Ds())}function oh(e,i,r){for(var t=e.v4a_1,n=N().p1(),a=t.e1();a.f1();){var s=a.g1();s.w4r_1i&&n.c1(s)}return n}var ch;function PF(){if(ch===l){class e{constructor(){t0=this;var r=this,t=lr();r.g5q_1=[null,null,null,ur(t,DF)]}}ar(e),ch=e}return ch}var t0;function ya(){return t0===l&&new(PF()),t0}var hh;function BF(){if(hh===l){class e{constructor(){e0=this;var r=new(Kr())("com.github.minigdx.tiny.sound.MusicalBar",this,4);r.a3i("index",!0),r.a3i("instrumentIndex",!0),r.a3i("tempo",!0),r.a3i("beats",!0),this.h5q_1=r}i5q(r,t){var n=this.h5q_1,a=r.k3a(n),s=ya().g5q_1;(a.i3c(n,0)||t.r4a_1!==1)&&a.v3b(n,0,t.r4a_1),(a.i3c(n,1)||t.t4a_1!==-1)&&a.v3b(n,1,t.t4a_1),(a.i3c(n,2)||t.u4a_1!==120)&&a.v3b(n,2,t.u4a_1);var u;if(a.i3c(n,3))u=!0;else{var _=N().p1();u=!E(t.v4a_1,_)}u&&a.c3c(n,3,s[3].y2(),t.v4a_1),a.l3a(n)}d36(r,t){return this.i5q(r,t instanceof vn()?t:m())}e36(r){var t=this.h5q_1,n=!0,a=0,s=0,u=0,_=0,o=0,c=null,h=r.k3a(t),f=ya().g5q_1;if(h.a3b())u=h.p3a(t,0),s=s|1,_=h.p3a(t,1),s=s|2,o=h.p3a(t,2),s=s|4,c=h.w3a(t,3,f[3].y2(),c),s=s|8;else for(;n;)switch(a=h.b3b(t),a){case-1:n=!1;break;case 0:u=h.p3a(t,0),s=s|1;break;case 1:_=h.p3a(t,1),s=s|2;break;case 2:o=h.p3a(t,2),s=s|4;break;case 3:c=h.w3a(t,3,f[3].y2(),c),s=s|8;break;default:throw Xr().w37(a)}return h.l3a(t),vn().j5q(s,u,_,o,c,null)}c36(){return this.h5q_1}p3i(){var r=ya().g5q_1;return[K(),K(),K(),r[3].y2()]}}F(e).q3i=Hr,P(e,"$serializer",l,l,[Vr()]),hh=e}return hh}var e0;function n0(){return e0===l&&new(BF()),e0}var fh;function vn(){if(fh===l){class e{constructor(r,t,n,a){ya(),r=r===l?1:r,t=t===l?null:t,n=n===l?-1:n,a=a===l?120:a,this.r4a_1=r,this.s4a_1=t,this.t4a_1=n,this.u4a_1=a;var s=this;s.v4a_1=N().p1()}l4u(r,t,n,a){for(var s=oh(this,t,n),u=N().p1(),_=s.e1();_.f1();){var o=_.g1();(a||E(o.v4r_1,r))&&u.c1(o)}var c=u,h=M7(c),f=h==null?null:h.y4r_1,v=f??1;this.v4a_1.f2(c),this.v4a_1.c1(new(Pn())(r,t,n,v))}m4u(r,t){for(var n=oh(this,t,.5),a=N().p1(),s=n.e1();s.f1();){var u=s.g1();E(u.v4r_1,r)&&a.c1(u)}for(var _=N().p1(),o=a.e1();o.f1();){var c=o.g1(),h=c.w4r_1;t<=c.w4r_1+c.x4r_1&&h<=t&&_.c1(c)}var f=_;this.v4a_1.f2(f)}k4u(r,t){for(var n=oh(this,r,.5),a=n.e1();a.f1();){var s=a.g1();s.y4r_1=t}}static j5q(r,t,n,a,s,u){ya(),(0&r)!==0&&rt(r,0,n0().h5q_1);var _=Ur(this);if((r&1)===0?_.r4a_1=1:_.r4a_1=t,_.s4a_1=null,(r&2)===0?_.t4a_1=-1:_.t4a_1=n,(r&4)===0?_.u4a_1=120:_.u4a_1=a,(r&8)===0){var o=_;o.v4a_1=N().p1()}else _.v4a_1=s;return _}}p(e,"MusicalBar",vn,l,l,l,l,{0:n0}),fh=e}return fh}function OF(){return new(Cr())(Ds())}var vh;function RF(){if(vh===l){class e{constructor(){a0=this;var r=this,t=lr();r.o5q_1=[null,null,null,ur(t,OF),null]}}ar(e),vh=e}return vh}var a0;function ga(){return a0===l&&new(RF()),a0}var ph;function UF(){if(ph===l){class e{constructor(){i0=this;var r=new(Kr())("com.github.minigdx.tiny.sound.MusicalSequence.Track",this,5);r.a3i("index",!0),r.a3i("instrumentIndex",!1),r.a3i("mute",!0),r.a3i("beats",!0),r.a3i("volume",!0),this.p5q_1=r}q5q(r,t){var n=this.p5q_1,a=r.k3a(n),s=ga().o5q_1;(a.i3c(n,0)||t.z4a_1!==0)&&a.v3b(n,0,t.z4a_1),a.v3b(n,1,t.a4b_1),(a.i3c(n,2)||t.b4b_1!==!1)&&a.s3b(n,2,t.b4b_1);var u;if(a.i3c(n,3))u=!0;else{var _=N().p1();u=!E(t.d4b_1,_)}u&&a.c3c(n,3,s[3].y2(),t.d4b_1),(a.i3c(n,4)||!E(t.e4b_1,1))&&a.x3b(n,4,t.e4b_1),a.l3a(n)}d36(r,t){return this.q5q(r,t instanceof Bn()?t:m())}e36(r){var t=this.p5q_1,n=!0,a=0,s=0,u=0,_=0,o=!1,c=null,h=0,f=r.k3a(t),v=ga().o5q_1;if(f.a3b())u=f.p3a(t,0),s=s|1,_=f.p3a(t,1),s=s|2,o=f.m3a(t,2),s=s|4,c=f.w3a(t,3,v[3].y2(),c),s=s|8,h=f.r3a(t,4),s=s|16;else for(;n;)switch(a=f.b3b(t),a){case-1:n=!1;break;case 0:u=f.p3a(t,0),s=s|1;break;case 1:_=f.p3a(t,1),s=s|2;break;case 2:o=f.m3a(t,2),s=s|4;break;case 3:c=f.w3a(t,3,v[3].y2(),c),s=s|8;break;case 4:h=f.r3a(t,4),s=s|16;break;default:throw Xr().w37(a)}return f.l3a(t),Bn().r5q(s,u,_,o,c,h,null)}c36(){return this.p5q_1}p3i(){var r=ga().o5q_1;return[K(),K(),Dn(),r[3].y2(),mt()]}}F(e).q3i=Hr,P(e,"$serializer",l,l,[Vr()]),ph=e}return ph}var i0;function s0(){return i0===l&&new(UF()),i0}function KF(){return new(Va())(Y(Bn()),s0())}var dh;function Bn(){if(dh===l){class e{constructor(r,t,n,a,s,u){ga(),r=r===l?0:r,n=n===l?!1:n,a=a===l?null:a;var _;s===l?_=N().p1():_=s,s=_,u=u===l?1:u,this.z4a_1=r,this.a4b_1=t,this.b4b_1=n,this.c4b_1=a,this.d4b_1=s,this.e4b_1=u;var o=Yt(0,32),c=o.v1_1,h=o.w1_1;if(c<=h)do{var f=c;c=c+1|0;var v=f;this.d4b_1.c1(new(Pn())(null,v,1,1))}while(f!==h)}static r5q(r,t,n,a,s,u,_){ga(),(2&r)!==2&&rt(r,2,s0().p5q_1);var o=Ur(this);if((r&1)===0?o.z4a_1=0:o.z4a_1=t,o.a4b_1=n,(r&4)===0?o.b4b_1=!1:o.b4b_1=a,o.c4b_1=null,(r&8)===0){var c=o;c.d4b_1=N().p1()}else o.d4b_1=s;(r&16)===0?o.e4b_1=1:o.e4b_1=u;var h=Yt(0,32),f=h.v1_1,v=h.w1_1;if(f<=v)do{var d=f;f=f+1|0;var g=d;o.d4b_1.c1(new(Pn())(null,g,1,1))}while(d!==v);return o}}p(e,"Track",l,l,l,l,l,{0:s0}),dh=e}return dh}var mh;function GF(){if(mh===l){class e{constructor(){l0=this;var r=this,t=lr();r.s5q_1=[null,ur(t,KF),null]}}ar(e),mh=e}return mh}var l0;function ba(){return l0===l&&new(GF()),l0}var wh;function JF(){if(wh===l){class e{constructor(){u0=this;var r=new(Kr())("com.github.minigdx.tiny.sound.MusicalSequence",this,3);r.a3i("index",!1),r.a3i("tracks",!0),r.a3i("tempo",!0),this.t5q_1=r}u5q(r,t){var n=this.t5q_1,a=r.k3a(n),s=ba().s5q_1;a.v3b(n,0,t.w4a_1);var u;if(a.i3c(n,1))u=!0;else{for(var _=0,o=Array(4);_<4;){var c=_;o[c]=new(Bn())(c,0),_=_+1|0}u=!E(t.x4a_1,o)}u&&a.c3c(n,1,s[1].y2(),t.x4a_1),(a.i3c(n,2)||t.y4a_1!==120)&&a.v3b(n,2,t.y4a_1),a.l3a(n)}d36(r,t){return this.u5q(r,t instanceof On()?t:m())}e36(r){var t=this.t5q_1,n=!0,a=0,s=0,u=0,_=null,o=0,c=r.k3a(t),h=ba().s5q_1;if(c.a3b())u=c.p3a(t,0),s=s|1,_=c.w3a(t,1,h[1].y2(),_),s=s|2,o=c.p3a(t,2),s=s|4;else for(;n;)switch(a=c.b3b(t),a){case-1:n=!1;break;case 0:u=c.p3a(t,0),s=s|1;break;case 1:_=c.w3a(t,1,h[1].y2(),_),s=s|2;break;case 2:o=c.p3a(t,2),s=s|4;break;default:throw Xr().w37(a)}return c.l3a(t),On().v5q(s,u,_,o,null)}c36(){return this.t5q_1}p3i(){var r=ba().s5q_1;return[K(),r[1].y2(),K()]}}F(e).q3i=Hr,P(e,"$serializer",l,l,[Vr()]),wh=e}return wh}var u0;function _0(){return u0===l&&new(JF()),u0}var yh;function On(){if(yh===l){class e{constructor(r,t,n){ba();var a;if(t===l){for(var s=0,u=Array(4);s<4;){var _=s;u[_]=new(Bn())(_,0),s=s+1|0}a=u}else a=t;t=a,n=n===l?120:n,this.w4a_1=r,this.x4a_1=t,this.y4a_1=n}static v5q(r,t,n,a,s){ba(),(1&r)!==1&&rt(r,1,_0().t5q_1);var u=Ur(this);if(u.w4a_1=t,(r&2)===0){for(var _=u,o=0,c=Array(4);o<4;){var h=o;c[h]=new(Bn())(h,0),o=o+1|0}_.x4a_1=c}else u.x4a_1=n;return(r&4)===0?u.y4a_1=120:u.y4a_1=a,u}}p(e,"MusicalSequence",l,l,l,l,l,{0:_0}),yh=e}return yh}function ke(){return Ve(),uI}var uI;function o0(){return Ve(),_I}var _I;function c0(){return Ve(),oI}var oI;function h0(){return Ve(),cI}var cI;function f0(){return Ve(),hI}var hI;function v0(){return Ve(),fI}var fI;function p0(){return Ve(),vI}var vI;function d0(){return Ve(),pI}var pI;function WF(){return new(Va())(Y(At()),$r(Zp()))}function HF(){return new(Va())(Y(vn()),n0())}function VF(){return new(Va())(Y(On()),_0())}function YF(e){return e.l3s_1=!0,S}var gh;function ZF(){if(gh===l){class e{constructor(){m0=this;var r=this,t=lr(),n=ur(t,WF),a=lr(),s=ur(a,HF),u=lr();r.l4a_1=[n,s,ur(u,VF)];var _=this;_.m4a_1=Vq(l,YF)}q4u(r){var t=this.m4a_1,n=t.z3a(),a=Fs(n,J5(Y(Rn()),W5([]),!1)),s=j(a,V())?a:m(),u=t.r3r(s,r);return u}n4a(r){var t=this.m4a_1,n=t.z3a(),a=Fs(n,J5(Y(Rn()),W5([]),!1)),s=j(a,V())?a:m(),u=t.s3r(s,r);return u}}ar(e),gh=e}return gh}var m0;function on(){return m0===l&&new(ZF()),m0}var bh;function XF(){if(bh===l){class e{constructor(){w0=this;var r=new(Kr())("com.github.minigdx.tiny.sound.Music",this,3);r.a3i("instruments",!0),r.a3i("musicalBars",!0),r.a3i("sequences",!0),this.d5q_1=r}e5q(r,t){var n=this.d5q_1,a=r.k3a(n),s=on().l4a_1,u;if(a.i3c(n,0))u=!0;else{var _=t.o4a_1,o=[ke(),o0(),c0(),h0(),f0(),v0(),p0(),d0(),null,null,null,null,null,null,null,null];u=!E(_,o)}u&&a.c3c(n,0,s[0].y2(),t.o4a_1);var c;if(a.i3c(n,1))c=!0;else{for(var h=0,f=Array(32);h<32;){var v=h;f[v]=new(vn())(v,ke(),ke().d4s_1),h=h+1|0}c=!E(t.p4a_1,f)}c&&a.c3c(n,1,s[1].y2(),t.p4a_1);var d;if(a.i3c(n,2))d=!0;else{for(var g=0,b=Array(8);g<8;){var w=g;b[w]=new(On())(w),g=g+1|0}d=!E(t.q4a_1,b)}d&&a.c3c(n,2,s[2].y2(),t.q4a_1),a.l3a(n)}d36(r,t){return this.e5q(r,t instanceof Rn()?t:m())}e36(r){var t=this.d5q_1,n=!0,a=0,s=0,u=null,_=null,o=null,c=r.k3a(t),h=on().l4a_1;if(c.a3b())u=c.w3a(t,0,h[0].y2(),u),s=s|1,_=c.w3a(t,1,h[1].y2(),_),s=s|2,o=c.w3a(t,2,h[2].y2(),o),s=s|4;else for(;n;)switch(a=c.b3b(t),a){case-1:n=!1;break;case 0:u=c.w3a(t,0,h[0].y2(),u),s=s|1;break;case 1:_=c.w3a(t,1,h[1].y2(),_),s=s|2;break;case 2:o=c.w3a(t,2,h[2].y2(),o),s=s|4;break;default:throw Xr().w37(a)}return c.l3a(t),Rn().f5q(s,u,_,o,null)}c36(){return this.d5q_1}p3i(){var r=on().l4a_1;return[r[0].y2(),r[1].y2(),r[2].y2()]}}F(e).q3i=Hr,P(e,"$serializer",l,l,[Vr()]),bh=e}return bh}var w0;function uy(){return w0===l&&new(XF()),w0}var kh;function Rn(){if(kh===l){class e{constructor(r,t,n){on();var a;r===l?a=[ke(),o0(),c0(),h0(),f0(),v0(),p0(),d0(),null,null,null,null,null,null,null,null]:a=r,r=a;var s;if(t===l){for(var u=0,_=Array(32);u<32;){var o=u;_[o]=new(vn())(o,ke(),ke().d4s_1),u=u+1|0}s=_}else s=t;t=s;var c;if(n===l){for(var h=0,f=Array(8);h<8;){var v=h;f[v]=new(On())(v),h=h+1|0}c=f}else c=n;n=c,this.o4a_1=r,this.p4a_1=t,this.q4a_1=n}static f5q(r,t,n,a,s){on(),(0&r)!==0&&rt(r,0,uy().d5q_1);var u=Ur(this);if((r&1)===0){var _=u;_.o4a_1=[ke(),o0(),c0(),h0(),f0(),v0(),p0(),d0(),null,null,null,null,null,null,null,null]}else u.o4a_1=t;if((r&2)===0){for(var o=u,c=0,h=Array(32);c<32;){var f=c;h[f]=new(vn())(f,ke(),ke().d4s_1),c=c+1|0}o.p4a_1=h}else u.p4a_1=n;if((r&4)===0){for(var v=u,d=0,g=Array(8);d<8;){var b=d;g[b]=new(On())(b),d=d+1|0}v.q4a_1=g}else u.q4a_1=a;return u}}p(e,"Music",Rn,l,l,l,l,{0:uy}),kh=e}return kh}var _y;function Ve(){if(!_y){_y=!0;var e=Ts(),i=new Float32Array([1.1,.3,.031,.039,.345,.29,.0119]);uI=new(At())(0,"clarinet",e,.01,.1,.8,.5,i);var r=fn(),t=new Float32Array([1,.65,.7,.55,.45,.35,.3]);_I=new(At())(1,"violon",r,.1,.1,.9,.05,t);var n=Ms(),a=new Float32Array([1,.05,.01]);oI=new(At())(2,"obos",n,.1,.1,.9,.05,a);var s=bm(),u=new Float32Array([1]);cI=new(At())(3,"drum",s,.1,.1,.9,.05,u);var _=gm(),o=new Float32Array([1,.05,.01]);hI=new(At())(4,"custom1",_,.1,.1,.9,.05,o);var c=Ms(),h=new Float32Array([1,.05,.01]);fI=new(At())(5,"custom2",c,.1,.1,.9,.05,h);var f=Ts(),v=new Float32Array([1,.05,.01]);vI=new(At())(6,"custom3",f,.1,.1,.9,.05,v);var d=km(),g=new Float32Array([1,.05,.01]);pI=new(At())(7,"custom4",d,.1,.1,.9,.05,g)}}function*QF(e,i){var r=e.k4a_1.d4a(i);r===O()&&(r=yield r);for(var t=r,n=on().n4a(Zt(t)),a=n,s=0,u=Array(16);s<16;){var _=s,o;0<=_&&_r.b1b(n,a);return t.$arity=1,t}var Sh;function aD(){if(Sh===l){class e{constructor(r,t,n,a){this.v5s_1=r,this.w5s_1=t,this.x5s_1=n,this.y5s_1=a,this.z5s_1=new(zg()),this.a5t_1=new(ZE())(this.v5s_1,this.w5s_1),this.b5t_1=0,this.c5t_1=Sd(H5().q14())}m46(){return this.z5s_1}p46(){return new(XE())(this.v5s_1.clientWidth,this.v5s_1.clientHeight,this.v5s_1.clientWidth,this.v5s_1.clientHeight)}t46(r){var t=this.v5s_1.getContext("webgl2"),n=t instanceof WebGL2RenderingContext?t:null,a;if(n==null)throw fr().u3("The canvas context is expected to be a webgl2 context. WebGL2 doesn't seems to be supported by your browser. Please update to a compatible browser to run the game in WebGL2.");a=n;var s=a;return new(QE())(s)}v46(r){var t=window;t.requestAnimationFrame(n=>{var a=n*.001,s=a-this.b5t_1;return this.b5t_1=a,zd(this.c5t_1,l,l,nD(r,s)),r.x46(),this.v46(r),S})}q46(){return this.a5t_1}r46(){return this.a5t_1}q49(){return H5().m14_1}a54(r,t){return new(t9())(this.y5s_1+"/"+r)}c54(r,t){return new(c9())(this.y5s_1+"/"+r)}s46(r){var t=new(lI());return t.j5t(r),t}e54(r,t){return new(rD())(r,t,this.b54(r))}v4g(r,t){localStorage.setItem(this.x5s_1+"-"+r,t)}a4h(r){return localStorage.getItem(this.x5s_1+"-"+r)}x4u(r,t){return S}y4u(r){return S}}F(e).b54=s9,F(e).d54=l9,F(e).z44=a9,F(e).g45=i9,p(e,"WebGlPlatform",l,l,[u9()]),Sh=e}return Sh}function*iD(e,i,r){var t=e.a4a_1.c4a(r);if(t===O()&&(t=yield t),t){var n=e.a4a_1.d4a(r);n===O()&&(n=yield n);var a=i.l1a(n,r);a===O()&&(a=yield a);var s=mw(e.b4a_1.e4a_1,r);s===O()&&(s=yield s)}for(;;){if(e.a4a_1.f4a()){var u=e.a4a_1.d4a(r);u===O()&&(u=yield u);var _=i.l1a(u,r);_===O()&&(_=yield _)}var o=mw(e.b4a_1.e4a_1,r);o===O()&&(o=yield o)}return S}var zh;function sD(){if(zh===l){class e{constructor(r,t){this.a4a_1=r,this.b4a_1=t}g4a(r,t){return er(iD.bind(l,this,r),t)}oc(r,t){return this.g4a(r!=null&&j(r,ie())?r:m(),t)}}at(e,l,l,[1]),zh=e}return zh}function lD(e,i){var r=new(sD())(e,i),t=(n,a)=>r.g4a(n,a);return t.$arity=1,t}var qh;function dI(){if(qh===l){class e{constructor(){var r=this;cd(),r.e4a_1=T7(1,F7())}h4a(r){return o8(lD(r,this))}}p(e,"CommonVirtualFileSystem",dI,l,l,[2]),qh=e}return qh}var Ih;function zm(){if(Ih===l){class e extends i1(){static z49(r,t,n,a,s){var u=this.yc(a,s);Je(u,u.u45_1),u.q45_1=r,u.r45_1=t,u.s45_1=n;var _=u,o=Ba(Cd(u.s45_1,[` -`]),u.r45_1-1|0),c;o==null?c=null:c=$(D7(P7(o)?o:m()));var h=c;return _.t45_1=h??"",u}}p(e,"TinyException"),Ih=e}return Ih}function uD(e){var i=e.q1u_1,r;if(i==null)r=null;else{var t=mg(i,C(58)),n=an(O7(i,t+1|0)),a;$a(i,"@")?a="into the file "+i:a=wg(i).l1(n-1|0);var s=a;r=T(n,s)}return r}function _D(e){var i=uD(e);return i==null?null:i.xd_1}function oD(e){var i=e.message,r;if(i==null)return null;r=i;var t=r,n="\\[[\\s\\S]*]:(\\d+):.*",a=B7().mg(n),s=a.ng(t),u=s==null?null:s.fh(),_=u==null?null:u.l1(1);return _==null?null:r1(_)}function S1(e,i){var r=e.r1u_1,t;e.r1u_1!==-1?t=r:t=null;var n=t,a=n??_D(e),s=a??oD(e),u=s??-1,_=e.s1u_1,o=e.message;return zm().z49(_,u,i,o,e)}function oy(e,i){var r=0,t=i.length;if(ri)}var Ec;function BT(){if(Ec===u){class e{}Ir(e,"SerializersModuleCollector"),Ec=e}return Ec}function RT(e,i,r){var t=i.q38(),n;if(t instanceof fn()?n=!0:n=A(t,u1()),n)throw W().u("Serializer for "+r.zd()+" can't be registered as a subclass for polymorphic serialization "+("because its kind "+t.toString()+" is not concrete. To work with multiple hierarchies, register it as a base class."));if(e.s3x_1)return z;if(!e.t3x_1)return z;var a,s;if(A(t,Ba())||A(t,Ra())?s=!0:s=t instanceof zt(),s?a=!0:a=t instanceof A0(),a)throw W().u("Serializer for "+r.zd()+" of kind "+t.toString()+" cannot be serialized polymorphically with class discriminator.")}function OT(e,i,r){var t=0,n=i.s38();if(te.e36()}var Tc;function YT(){if(Tc===u){class e{constructor(r,t){this.w3g_1=t,this.x3g_1=null;var n=this;n.y3g_1=Hs(()=>{var a=this.x3g_1;return a??HT(this,r)})}e36(){var r=this.y3g_1,t=le();return oe("descriptor",1,t,VT(),null),r.v2()}m3h(r,t){var n=$$(this.w3g_1,t);if(n===-1)throw Nr().q37($(t)+" is not a valid enum "+this.e36().h37()+", "+("must be one of "+E$(this.w3g_1)));r.s3b(this.e36(),n)}f36(r,t){return this.m3h(r,t instanceof Ot()?t:m())}g36(r){var t=r.i3a(this.e36());if(!(0<=t&&t<=(this.w3g_1.length-1|0)))throw Nr().q37(""+t+" is not among valid "+this.e36().h37()+" enum values, "+("values size is "+this.w3g_1.length));return this.w3g_1[t]}toString(){return"kotlinx.serialization.internal.EnumSerializer<"+this.e36().h37()+">"}}d(e,"EnumSerializer",u,u,[V()]),Tc=e}return Tc}function Yq(e){var i=e.a3i_1,r=le();return oe("elementDescriptors",1,r,ZT(),null),i.v2()}function ZT(){return e=>Yq(e)}var Dc;function XT(){if(Dc===u){class e extends Ur(){constructor(r,t){super(r,u,t),this.z3h_1=ze();var n=this;n.a3i_1=Hs(()=>{for(var a=0,s=t,_=Array(s);a>>1|0}while(a<32);throw J5().g38(t,r.h37())}var Fc;function QT(){if(Fc===u){class e{x3t(){var r=Y(vm()),t=[Y(Qt()),Y(re())],n=[Dd(),Pd()],a=[];return V0().k37("com.github.minigdx.tiny.sound.Modulation",r,t,n,a)}f3j(r){return this.x3t()}}ar(e,u,[f1()]),Fc=e}return Fc}var hm;function rD(){return hm}var Pc;function vm(){if(Pc===u){class e{}Ir(e,"Modulation",u,u,u,u,u,{0:rD}),Pc=e}return Pc}function tD(e){return e.p51_1*2-1}var Bc;function eD(){if(Bc===u){class e{}ar(e),Bc=e}return Bc}var Rc;function nD(){if(Rc===u){class e{constructor(){Td=this;var r=new(Ur())("com.github.minigdx.tiny.sound.Sweep",this,3);r.c3i("sweep",!1),r.c3i("acceleration",!1),r.c3i("active",!0),this.k5o_1=r}l5o(r,t){var n=this.k5o_1,a=r.m3a(n);a.z3b(n,0,t.o51_1),a.z3b(n,1,t.p51_1),(a.k3c(n,2)||t.q51_1!==!1)&&a.u3b(n,2,t.q51_1),a.n3a(n)}f36(r,t){return this.l5o(r,t instanceof Qt()?t:m())}g36(r){var t=this.k5o_1,n=!0,a=0,s=0,_=0,l=0,o=!1,c=r.m3a(t);if(c.c3b())_=c.t3a(t,0),s=s|1,l=c.t3a(t,1),s=s|2,o=c.o3a(t,2),s=s|4;else for(;n;)switch(a=c.d3b(t),a){case-1:n=!1;break;case 0:_=c.t3a(t,0),s=s|1;break;case 1:l=c.t3a(t,1),s=s|2;break;case 2:o=c.o3a(t,2),s=s|4;break;default:throw Zr().y37(a)}return c.n3a(t),Qt().m5o(s,_,l,o,null)}e36(){return this.k5o_1}r3i(){return[mt(),mt(),Mn()]}}F(e).s3i=Wr,B(e,"$serializer",u,u,[Hr()]),Rc=e}return Rc}var Td;function Dd(){return Td===u&&new(nD()),Td}var Oc;function Qt(){if(Oc===u){class e{constructor(r,t){this.o51_1=r,this.p51_1=t,this.q51_1=!1}n51(r){this.q51_1=r}m51(){return this.q51_1}j5o(r,t){return t+r*(this.o51_1*tD(this))}static m5o(r,t,n,a,s){(3&r)!==3&&Qr(r,3,Dd().k5o_1);var _=Or(this);return _.o51_1=t,_.p51_1=n,(r&4)===0?_.q51_1=!1:_.q51_1=a,_}}d(e,"Sweep",u,u,[vm()],u,u,{0:Dd}),Oc=e}return Oc}var Uc;function aD(){if(Uc===u){class e{}ar(e),Uc=e}return Uc}var Kc;function iD(){if(Kc===u){class e{constructor(){Fd=this;var r=new(Ur())("com.github.minigdx.tiny.sound.Vibrato",this,3);r.c3i("vibratoFrequency",!1),r.c3i("depth",!1),r.c3i("active",!0),this.n5o_1=r}o5o(r,t){var n=this.n5o_1,a=r.m3a(n);a.z3b(n,0,t.r51_1),a.z3b(n,1,t.s51_1),(a.k3c(n,2)||t.t51_1!==!1)&&a.u3b(n,2,t.t51_1),a.n3a(n)}f36(r,t){return this.o5o(r,t instanceof re()?t:m())}g36(r){var t=this.n5o_1,n=!0,a=0,s=0,_=0,l=0,o=!1,c=r.m3a(t);if(c.c3b())_=c.t3a(t,0),s=s|1,l=c.t3a(t,1),s=s|2,o=c.o3a(t,2),s=s|4;else for(;n;)switch(a=c.d3b(t),a){case-1:n=!1;break;case 0:_=c.t3a(t,0),s=s|1;break;case 1:l=c.t3a(t,1),s=s|2;break;case 2:o=c.o3a(t,2),s=s|4;break;default:throw Zr().y37(a)}return c.n3a(t),re().p5o(s,_,l,o,null)}e36(){return this.n5o_1}r3i(){return[mt(),mt(),Mn()]}}F(e).s3i=Wr,B(e,"$serializer",u,u,[Hr()]),Kc=e}return Kc}var Fd;function Pd(){return Fd===u&&new(iD()),Fd}var Gc;function re(){if(Gc===u){class e{constructor(r,t){this.r51_1=r,this.s51_1=t,this.t51_1=!1}n51(r){this.t51_1=r}m51(){return this.t51_1}j5o(r,t){var n=6.2831855*this.r51_1*r,a=Math.sin(n)*this.s51_1;return t+a}static p5o(r,t,n,a,s){(3&r)!==3&&Qr(r,3,Pd().n5o_1);var _=Or(this);return _.r51_1=t,_.s51_1=n,(r&4)===0?_.t51_1=!1:_.t51_1=a,_}}d(e,"Vibrato",u,u,[vm()],u,u,{0:Pd}),Gc=e}return Gc}hm=new(QT());new(eD());new(aD());var Zq,Xq,Qq,rI,tI,eI;function sD(){return[Es(),fm(),As(),on(),dm(),pm()]}function uD(e){switch(e){case"SAW_TOOTH":return Es();case"PULSE":return fm();case"TRIANGLE":return As();case"SINE":return on();case"NOISE":return dm();case"SQUARE":return pm();default:bn(),Uw("No enum constant com.github.minigdx.tiny.sound.Instrument.WaveType."+e);break}}var ew;function bn(){if(ew)return z;ew=!0,Zq=new(xn())("SAW_TOOTH",0),Xq=new(xn())("PULSE",1),Qq=new(xn())("TRIANGLE",2),rI=new(xn())("SINE",3),tI=new(xn())("NOISE",4),eI=new(xn())("SQUARE",5)}function _D(){return cm("com.github.minigdx.tiny.sound.Instrument.WaveType",sD())}function lD(){return new(yr())(hm.x3t())}var Jc;function xn(){if(Jc===u){class e extends Ot(){}d(e,"WaveType"),Jc=e}return Jc}var Wc;function oD(){if(Wc===u){class e{constructor(){Bd=this;var r=this,t=ur(),n=_r(t,_D),a=ur();r.y5o_1=[null,null,n,null,null,null,null,null,_r(a,lD)],this.z5o_1=7,this.a5p_1=6.2831855}}ar(e),Wc=e}return Wc}var Bd;function fa(){return Bd===u&&new(oD()),Bd}var Hc;function cD(){if(Hc===u){class e{constructor(){Rd=this;var r=new(Ur())("com.github.minigdx.tiny.sound.Instrument",this,9);r.c3i("index",!1),r.c3i("name",!0),r.c3i("wave",!0),r.c3i("attack",!0),r.c3i("decay",!0),r.c3i("sustain",!0),r.c3i("release",!0),r.c3i("harmonics",!0),r.c3i("modulations",!0),this.b5p_1=r}c5p(r,t){var n=this.b5p_1,a=r.m3a(n),s=fa().y5o_1;a.x3b(n,0,t.s4t_1),(a.k3c(n,1)||t.t4t_1!=="Instrument "+t.s4t_1)&&a.g3c(n,1,zr(),t.t4t_1),(a.k3c(n,2)||!t.u4t_1.equals(on()))&&a.e3c(n,2,s[2].v2(),t.u4t_1),(a.k3c(n,3)||!A(t.v4t_1,0))&&a.z3b(n,3,t.v4t_1),(a.k3c(n,4)||!A(t.w4t_1,0))&&a.z3b(n,4,t.w4t_1),(a.k3c(n,5)||!A(t.x4t_1,0))&&a.z3b(n,5,t.x4t_1),(a.k3c(n,6)||!A(t.y4t_1,0))&&a.z3b(n,6,t.y4t_1),(a.k3c(n,7)||!A(t.z4t_1,new Float32Array(7)))&&a.e3c(n,7,sa(),t.z4t_1),(a.k3c(n,8)||!A(t.a4u_1,Rr([new(Qt())(qa().e4r_1,1),new(re())(0,0)])))&&a.e3c(n,8,s[8].v2(),t.a4u_1),a.n3a(n)}f36(r,t){return this.c5p(r,t instanceof At()?t:m())}g36(r){var t=this.b5p_1,n=!0,a=0,s=0,_=0,l=null,o=null,c=0,h=0,v=0,f=0,p=null,w=null,b=r.m3a(t),g=fa().y5o_1;if(b.c3b())_=b.r3a(t,0),s=s|1,l=b.a3b(t,1,zr(),l),s=s|2,o=b.y3a(t,2,g[2].v2(),o),s=s|4,c=b.t3a(t,3),s=s|8,h=b.t3a(t,4),s=s|16,v=b.t3a(t,5),s=s|32,f=b.t3a(t,6),s=s|64,p=b.y3a(t,7,sa(),p),s=s|128,w=b.y3a(t,8,g[8].v2(),w),s=s|256;else for(;n;)switch(a=b.d3b(t),a){case-1:n=!1;break;case 0:_=b.r3a(t,0),s=s|1;break;case 1:l=b.a3b(t,1,zr(),l),s=s|2;break;case 2:o=b.y3a(t,2,g[2].v2(),o),s=s|4;break;case 3:c=b.t3a(t,3),s=s|8;break;case 4:h=b.t3a(t,4),s=s|16;break;case 5:v=b.t3a(t,5),s=s|32;break;case 6:f=b.t3a(t,6),s=s|64;break;case 7:p=b.y3a(t,7,sa(),p),s=s|128;break;case 8:w=b.y3a(t,8,g[8].v2(),w),s=s|256;break;default:throw Zr().y37(a)}return b.n3a(t),At().d5p(s,_,l,o,c,h,v,f,p,w,null)}e36(){return this.b5p_1}r3i(){var r=fa().y5o_1;return[K(),qr(zr()),r[2].v2(),mt(),mt(),mt(),mt(),sa(),r[8].v2()]}}F(e).s3i=Wr,B(e,"$serializer",u,u,[Hr()]),Hc=e}return Hc}var Rd;function Od(){return Rd===u&&new(cD()),Rd}function Es(){return bn(),Zq}function fm(){return bn(),Xq}function As(){return bn(),Qq}function on(){return bn(),rI}function dm(){return bn(),tI}function pm(){return bn(),eI}var Vc;function At(){if(Vc===u){class e{constructor(r,t,n,a,s,_,l,o,c){fa(),t=t===u?"Instrument "+r:t,n=n===u?on():n,a=a===u?0:a,s=s===u?0:s,_=_===u?0:_,l=l===u?0:l,o=o===u?new Float32Array(7):o,c=c===u?Rr([new(Qt())(qa().e4r_1,1),new(re())(0,0)]):c,this.s4t_1=r,this.t4t_1=t,this.u4t_1=n,this.v4t_1=a,this.w4t_1=s,this.x4t_1=_,this.y4t_1=l,this.z4t_1=o,this.a4u_1=c,this.b4u_1=0,this.c4u_1=0,this.d4u_1=0}e5p(r,t){for(var n=this.a4u_1,a=j().p1(),s=n.e1();s.f1();){var _=s.g1();_.m51()&&a.c1(_)}for(var l=r,o=a.e1();o.f1();){var c=o.g1(),h=l;l=c.j5o(t,h)}var v=l,f;switch(this.u4t_1.f3_1){case 2:var p=6.2831855*v*t,w=Math.sin(p),b=(w+1)%1;return b<.5?4*b-1:3-4*b;case 3:var g=6.2831855*v*t;f=Math.sin(g);break;case 5:var C=6.2831855*v*t,S=Math.sin(C),k;return S>0?k=1:k=-1,k;case 1:var E=6.2831855*v*t,D=Math.sin(E),P=D%1,O=2*(D/128%1)-1,H=Math.abs(O),G=(P+.5*H)%1,X=4*G-2,Q=Math.abs(X),rr=8*P-4,er=Q-Math.abs(rr);return er/6;case 0:var ir=6.2831855*v*t,hr=Math.sin(ir);return hr*2-1;case 4:var or;if(this.c4u_1===v)or=this.d4u_1;else{var pr=Math.max(1,v),Dr=6.2831855*pr/44100,Sr=-Dr,Br=Math.exp(Sr);this.d4u_1=1-Br,this.c4u_1=v,or=this.d4u_1}var Vr=or,Kr=en().bl()*2-1,$r=Vr*Kr+(1-Vr)*this.b4u_1;return this.b4u_1=$r,$r;default:wt();break}return f}static d5p(r,t,n,a,s,_,l,o,c,h,v){fa(),(1&r)!==1&&Qr(r,1,Od().b5p_1);var f=Or(this);return f.s4t_1=t,(r&2)===0?f.t4t_1="Instrument "+f.s4t_1:f.t4t_1=n,(r&4)===0?f.u4t_1=on():f.u4t_1=a,(r&8)===0?f.v4t_1=0:f.v4t_1=s,(r&16)===0?f.w4t_1=0:f.w4t_1=_,(r&32)===0?f.x4t_1=0:f.x4t_1=l,(r&64)===0?f.y4t_1=0:f.y4t_1=o,(r&128)===0?f.z4t_1=new Float32Array(7):f.z4t_1=c,(r&256)===0?f.a4u_1=Rr([new(Qt())(qa().e4r_1,1),new(re())(0,0)]):f.a4u_1=h,f.b4u_1=0,f.c4u_1=0,f.d4u_1=0,f}}d(e,"Instrument",u,u,u,u,u,{0:Od}),Vc=e}return Vc}function hD(){return ce(),nI}var nI;function vD(){return ce(),aI}var aI;function fD(){return ce(),iI}var iI;function dD(){return ce(),sI}var sI;function pD(e,i){ce();var r;if(i)r=vD().k38(e);else{var t=hD().k38(e),n;t==null?n=null:n=L(t,V())?t:m(),r=n}return r}function mD(e,i,r){ce();var t;if(r)t=dD().l38(e,i);else{var n=fD().l38(e,i);t=new(sg())(n)instanceof sg()?n:m()}return t}function gD(e){ce();var i=mm(e),r;return i==null?r=va(e)?xs().k36(e):null:r=i,r}function wD(e){ce();var i=mm(e),r;i==null?r=va(e)?xs().k36(e):null:r=i;var t=r,n=t==null?null:qr(t),a;return n==null?a=null:a=L(n,V())?n:m(),a}function bD(e,i){ce();var r=tr(gm(Un(),i));return wm(e,r,()=>i.l1(0).ke())}function yD(e,i){ce();var r=tr(gm(Un(),i)),t=wm(e,r,()=>i.l1(0).ke()),n=t==null?null:qr(t),a;return n==null?a=null:a=L(n,V())?n:m(),a}var nw;function ce(){nw||(nw=!0,nI=Bg(gD),aI=Bg(wD),iI=Rg(bD),sI=Rg(yD))}function mm(e){var i=Y9(e);return i??vN(e)}function gm(e,i,r){var t;{for(var n=j().d1(Cr(i,10)),a=i.e1();a.f1();){var s=a.g1(),_=js(e,s);n.c1(_)}t=n}var l=t;return l}function wm(e,i,r){var t=kD(e,i,r);return t??xD(e,i)}function js(e,i){var r=CD(e,i),t;return r==null?Z9(OS(i)):t=r,t}function kD(e,i,r){var t;if(e.equals(Y(Li()))||e.equals(Y(Zs()))||e.equals(Y(Rw()))||e.equals(Y(j())))t=new(yr())(i.l1(0));else if(e.equals(Y(Wt())))t=new(WN())(i.l1(0));else if(e.equals(Y(o0()))||e.equals(Y(N$()))||e.equals(Y(bt())))t=new(HN())(i.l1(0));else if(e.equals(Y(me())))t=new(VN())(i.l1(0),i.l1(1));else if(e.equals(Y(kt()))||e.equals(Y(j5()))||e.equals(Y(jr())))t=new(fq())(i.l1(0),i.l1(1));else if(e.equals(Y(Pi())))t=KL(i.l1(0),i.l1(1));else if(e.equals(Y(N5())))t=GL(i.l1(0),i.l1(1));else if(e.equals(Y(Qs())))t=JL(i.l1(0),i.l1(1),i.l1(2));else{var n;if(X9(e)){var a=r();n=WL(a!=null&&L(a,De())?a:m(),i.l1(0))}else n=null;t=n}return t}function xD(e,i){var r=ut(i);return nq(e,r.slice())}function CD(e,i,r){for(var t=OS(i),n=i.me(),a=i.le(),s=j().d1(Cr(a,10)),_=a.e1();_.f1();){var l=_.g1(),o=g9(l);s.c1(o)}var c=s,h;if(c.m1()){var v;va(t)&&e.i38(t)!=null?v=null:v=pD(t,n),h=v}else{var f;if(e.h38())f=null;else{var p=mD(t,c,n),w;if(A$(p))w=null;else{var b=j$(p);w=b==null||b!=null?b:m()}f=w}h=f}var g=h;if(g!=null)return g;var C;if(c.m1()){var S=mm(t),k=S??e.i38(t),E;k==null?E=va(t)?xs().k36(t):null:E=k,C=E}else{var D=gm(e,c),P;if(D==null)return null;P=D;var O=P,H=wm(t,O,()=>c.l1(0).ke()),G=H??e.j38(t,O),X;G==null?X=va(t)?xs().k36(t):null:X=G,C=X}var Q=C,rr;Q==null?rr=null:rr=L(Q,V())?Q:m();var er=rr;return er==null?null:zD(er,n)}function zD(e,i){return i?qr(e):L(e,V())?e:m()}var Yc;function SD(){if(Yc===u){class e{constructor(r){this.z5q_1=new Float32Array(r),this.a5r_1=0}l1(r){return this.z5q_1[r]}b5r(r,t,n){var a=r.length,s=Math.min(a,n),_=this.z5q_1,l=r;lb(l,_,0,t,s),this.a5r_1=s-t|0}}d(e,"FloatData"),Yc=e}return Yc}var Zc;function qD(){if(Zc===u){class e{constructor(r){this.v5q_1=r,this.w5q_1=0,this.x5q_1=new(SD())(this.v5q_1.length)}y5q(r){this.x5q_1.b5r(this.v5q_1,this.w5q_1,this.w5q_1+r|0);var t=this,n=this.w5q_1+r|0,a=this.v5q_1.length;return t.w5q_1=Math.min(n,a),this.x5q_1.a5r_1===0&&(this.w5q_1=0),this.x5q_1}}d(e,"BufferedChunkGenerator"),Zc=e}return Zc}var Xc;function ID(){if(Xc===u){class e{constructor(r,t){this.u5t_1=r,this.v5t_1=t,this.w5t_1=null}k4w(){this.w5t_1=this.v5t_1.x5t(this.u5t_1)}l4w(){this.w5t_1=this.v5t_1.y5t(this.u5t_1,!0)}j4w(){var r=this.w5t_1;r?.stop(),this.v5t_1.j5r(this)}}d(e,"WebSoundHandler"),Xc=e}return Xc}function*$D(e,i,r){var t=e.z5t_1.a5u().audioWorklet,n=_j(),a=t.addModule(n),s=vj(a,r);s===R()&&(s=yield s);var _=e.z5t_1,l=e.z5t_1.a5u(),o="SynthesizerProcessor";_.r5t_1=new AudioWorkletNode(l,o);var c=e.z5t_1.a5u().destination;return Ud(e.z5t_1).connect(c),e.z5t_1.o5t_1=!0,z}function Ud(e){var i=e.r5t_1;if(i!=null)return i;st("audioWorkletNode")}function aw(e){e.p5t_1=e.a5u().currentTime,b0(e.s5t_1,u,u,ND(e))}function ED(e,i){var r=i.f3_1+12|0,t=(r-69|0)/12;return 440*Math.pow(2,t)}var Qc;function AD(){if(Qc===u){class e{constructor(){this.b5u_1=8}}ar(e),Qc=e}return Qc}var rh;function jD(){if(rh===u){class e{constructor(r){this.z5t_1=r}b1b(r,t){return nr($D.bind(u,this,r),t)}lc(r,t){return this.b1b(r!=null&&L(r,y0())?r:m(),t)}}at(e,u,u,[1]),rh=e}return rh}function ND(e){var i=new(jD())(e),r=(t,n)=>i.b1b(t,n);return r.$arity=1,r}var th;function uI(){if(th===u){class e extends wj(){constructor(){super(),this.o5t_1=!1,this.p5t_1=0,this.q5t_1=new(yj())(8),this.s5t_1=w0(P5().q14())}a5u(){var r=this.n5t_1;if(r!=null)return r;st("audioContext")}t5t(r){this.n5t_1=new AudioContext;var t=this.a5u();t.onstatechange=()=>{var a=this.a5u().state;return A(a,"running")?this.o5t_1=!0:this.a5u().resume(),z};var n=this.a5u().state;A(n,"running")?aw(this):r.r4d(()=>(this.a5u().resume(),aw(this),z))}r4w(r,t){if(!this.o5t_1)return z;var n=new(Nj())(t);this.q5t_1.m5r(n),n.t5p(r);var a=ED(this,r),s=Be(),_=s.b3b(),l=js(_,D5(Y(At()),F5([]),!1)),o=L(l,V())?l:m(),c=s.t3r(o,t);Ud(this).port.postMessage(ug([T("type","noteOn"),T("note",r.f3_1),T("frequency",a),T("instrument",c)]))}q4w(r){if(!this.o5t_1)return z;for(var t=this.q5t_1.e1();t.f1();){var n=t.g1();n.q4w(r)}Ud(this).port.postMessage(ug([T("type","noteOff"),T("note",r.f3_1)]))}y5t(r,t){if(!this.o5t_1)throw vr().r3("AudioContext is not ready");for(var n=j().p1(),a=2205,s=!0;s;){var _=r.y5q(a);if(_.a5r_1===0)s=!1;else{var l=0,o=_.a5r_1;if(li&&n.c1(s)}return n}var sh;function FD(){if(sh===u){class e{constructor(){Jd=this;var r=this,t=ur();r.e5q_1=[null,null,null,_r(t,DD)]}}ar(e),sh=e}return sh}var Jd;function pa(){return Jd===u&&new(FD()),Jd}var uh;function PD(){if(uh===u){class e{constructor(){Wd=this;var r=new(Ur())("com.github.minigdx.tiny.sound.MusicalBar",this,4);r.c3i("index",!0),r.c3i("instrumentIndex",!0),r.c3i("tempo",!0),r.c3i("beats",!0),this.f5q_1=r}g5q(r,t){var n=this.f5q_1,a=r.m3a(n),s=pa().e5q_1;(a.k3c(n,0)||t.x4a_1!==1)&&a.x3b(n,0,t.x4a_1),(a.k3c(n,1)||t.z4a_1!==-1)&&a.x3b(n,1,t.z4a_1),(a.k3c(n,2)||t.a4b_1!==120)&&a.x3b(n,2,t.a4b_1);var _;if(a.k3c(n,3))_=!0;else{var l=j().p1();_=!A(t.b4b_1,l)}_&&a.e3c(n,3,s[3].v2(),t.b4b_1),a.n3a(n)}f36(r,t){return this.g5q(r,t instanceof cn()?t:m())}g36(r){var t=this.f5q_1,n=!0,a=0,s=0,_=0,l=0,o=0,c=null,h=r.m3a(t),v=pa().e5q_1;if(h.c3b())_=h.r3a(t,0),s=s|1,l=h.r3a(t,1),s=s|2,o=h.r3a(t,2),s=s|4,c=h.y3a(t,3,v[3].v2(),c),s=s|8;else for(;n;)switch(a=h.d3b(t),a){case-1:n=!1;break;case 0:_=h.r3a(t,0),s=s|1;break;case 1:l=h.r3a(t,1),s=s|2;break;case 2:o=h.r3a(t,2),s=s|4;break;case 3:c=h.y3a(t,3,v[3].v2(),c),s=s|8;break;default:throw Zr().y37(a)}return h.n3a(t),cn().h5q(s,_,l,o,c,null)}e36(){return this.f5q_1}r3i(){var r=pa().e5q_1;return[K(),K(),K(),r[3].v2()]}}F(e).s3i=Wr,B(e,"$serializer",u,u,[Hr()]),uh=e}return uh}var Wd;function Hd(){return Wd===u&&new(PD()),Wd}var _h;function cn(){if(_h===u){class e{constructor(r,t,n,a){pa(),r=r===u?1:r,t=t===u?null:t,n=n===u?-1:n,a=a===u?120:a,this.x4a_1=r,this.y4a_1=t,this.z4a_1=n,this.a4b_1=a;var s=this;s.b4b_1=j().p1()}e52(r,t,n,a){for(var s=ih(this,t,n),_=j().p1(),l=s.e1();l.f1();){var o=l.g1();(a||A(o.v51_1,r))&&_.c1(o)}var c=_,h=db(c),v=h==null?null:h.y51_1,f=v??1;this.b4b_1.c2(c),this.b4b_1.c1(new(Tn())(r,t,n,f))}z53(r,t,n,a,s){a=a===u?!1:a;var _;return s===u?(this.e52(r,t,n,a),_=z):_=s.e52.call(this,r,t,n,a),_}f52(r,t){for(var n=ih(this,t,.5),a=j().p1(),s=n.e1();s.f1();){var _=s.g1();A(_.v51_1,r)&&a.c1(_)}for(var l=j().p1(),o=a.e1();o.f1();){var c=o.g1(),h=c.w51_1;t<=c.w51_1+c.x51_1&&h<=t&&l.c1(c)}var v=l;this.b4b_1.c2(v)}d52(r,t){for(var n=ih(this,r,.5),a=n.e1();a.f1();){var s=a.g1();s.y51_1=t}}static h5q(r,t,n,a,s,_){pa(),(0&r)!==0&&Qr(r,0,Hd().f5q_1);var l=Or(this);if((r&1)===0?l.x4a_1=1:l.x4a_1=t,l.y4a_1=null,(r&2)===0?l.z4a_1=-1:l.z4a_1=n,(r&4)===0?l.a4b_1=120:l.a4b_1=a,(r&8)===0){var o=l;o.b4b_1=j().p1()}else l.b4b_1=s;return l}}d(e,"MusicalBar",cn,u,u,u,u,{0:Hd}),_h=e}return _h}function BD(){return new(yr())(Ns())}var lh;function RD(){if(lh===u){class e{constructor(){Vd=this;var r=this,t=ur();r.m5q_1=[null,null,null,_r(t,BD),null]}}ar(e),lh=e}return lh}var Vd;function ma(){return Vd===u&&new(RD()),Vd}var oh;function OD(){if(oh===u){class e{constructor(){Yd=this;var r=new(Ur())("com.github.minigdx.tiny.sound.MusicalSequence.Track",this,5);r.c3i("index",!0),r.c3i("instrumentIndex",!1),r.c3i("mute",!0),r.c3i("beats",!0),r.c3i("volume",!0),this.n5q_1=r}o5q(r,t){var n=this.n5q_1,a=r.m3a(n),s=ma().m5q_1;(a.k3c(n,0)||t.f4b_1!==0)&&a.x3b(n,0,t.f4b_1),a.x3b(n,1,t.g4b_1),(a.k3c(n,2)||t.h4b_1!==!1)&&a.u3b(n,2,t.h4b_1);var _;if(a.k3c(n,3))_=!0;else{var l=j().p1();_=!A(t.j4b_1,l)}_&&a.e3c(n,3,s[3].v2(),t.j4b_1),(a.k3c(n,4)||!A(t.k4b_1,1))&&a.z3b(n,4,t.k4b_1),a.n3a(n)}f36(r,t){return this.o5q(r,t instanceof Dn()?t:m())}g36(r){var t=this.n5q_1,n=!0,a=0,s=0,_=0,l=0,o=!1,c=null,h=0,v=r.m3a(t),f=ma().m5q_1;if(v.c3b())_=v.r3a(t,0),s=s|1,l=v.r3a(t,1),s=s|2,o=v.o3a(t,2),s=s|4,c=v.y3a(t,3,f[3].v2(),c),s=s|8,h=v.t3a(t,4),s=s|16;else for(;n;)switch(a=v.d3b(t),a){case-1:n=!1;break;case 0:_=v.r3a(t,0),s=s|1;break;case 1:l=v.r3a(t,1),s=s|2;break;case 2:o=v.o3a(t,2),s=s|4;break;case 3:c=v.y3a(t,3,f[3].v2(),c),s=s|8;break;case 4:h=v.t3a(t,4),s=s|16;break;default:throw Zr().y37(a)}return v.n3a(t),Dn().p5q(s,_,l,o,c,h,null)}e36(){return this.n5q_1}r3i(){var r=ma().m5q_1;return[K(),K(),Mn(),r[3].v2(),mt()]}}F(e).s3i=Wr,B(e,"$serializer",u,u,[Hr()]),oh=e}return oh}var Yd;function Zd(){return Yd===u&&new(OD()),Yd}function UD(){return new(Ja())(Y(Dn()),Zd())}var ch;function Dn(){if(ch===u){class e{constructor(r,t,n,a,s,_){ma(),r=r===u?0:r,n=n===u?!1:n,a=a===u?null:a;var l;s===u?l=j().p1():l=s,s=l,_=_===u?1:_,this.f4b_1=r,this.g4b_1=t,this.h4b_1=n,this.i4b_1=a,this.j4b_1=s,this.k4b_1=_;var o=ee(0,32),c=o.v1_1,h=o.w1_1;if(c<=h)do{var v=c;c=c+1|0;var f=v;this.j4b_1.c1(new(Tn())(null,f,1,1))}while(v!==h)}static p5q(r,t,n,a,s,_,l){ma(),(2&r)!==2&&Qr(r,2,Zd().n5q_1);var o=Or(this);if((r&1)===0?o.f4b_1=0:o.f4b_1=t,o.g4b_1=n,(r&4)===0?o.h4b_1=!1:o.h4b_1=a,o.i4b_1=null,(r&8)===0){var c=o;c.j4b_1=j().p1()}else o.j4b_1=s;(r&16)===0?o.k4b_1=1:o.k4b_1=_;var h=ee(0,32),v=h.v1_1,f=h.w1_1;if(v<=f)do{var p=v;v=v+1|0;var w=p;o.j4b_1.c1(new(Tn())(null,w,1,1))}while(p!==f);return o}}d(e,"Track",u,u,u,u,u,{0:Zd}),ch=e}return ch}var hh;function KD(){if(hh===u){class e{constructor(){Xd=this;var r=this,t=ur();r.q5q_1=[null,_r(t,UD),null]}}ar(e),hh=e}return hh}var Xd;function ga(){return Xd===u&&new(KD()),Xd}var vh;function GD(){if(vh===u){class e{constructor(){Qd=this;var r=new(Ur())("com.github.minigdx.tiny.sound.MusicalSequence",this,3);r.c3i("index",!1),r.c3i("tracks",!0),r.c3i("tempo",!0),this.r5q_1=r}s5q(r,t){var n=this.r5q_1,a=r.m3a(n),s=ga().q5q_1;a.x3b(n,0,t.c4b_1);var _;if(a.k3c(n,1))_=!0;else{for(var l=0,o=Array(4);l<4;){var c=l;o[c]=new(Dn())(c,0),l=l+1|0}_=!A(t.d4b_1,o)}_&&a.e3c(n,1,s[1].v2(),t.d4b_1),(a.k3c(n,2)||t.e4b_1!==120)&&a.x3b(n,2,t.e4b_1),a.n3a(n)}f36(r,t){return this.s5q(r,t instanceof Fn()?t:m())}g36(r){var t=this.r5q_1,n=!0,a=0,s=0,_=0,l=null,o=0,c=r.m3a(t),h=ga().q5q_1;if(c.c3b())_=c.r3a(t,0),s=s|1,l=c.y3a(t,1,h[1].v2(),l),s=s|2,o=c.r3a(t,2),s=s|4;else for(;n;)switch(a=c.d3b(t),a){case-1:n=!1;break;case 0:_=c.r3a(t,0),s=s|1;break;case 1:l=c.y3a(t,1,h[1].v2(),l),s=s|2;break;case 2:o=c.r3a(t,2),s=s|4;break;default:throw Zr().y37(a)}return c.n3a(t),Fn().t5q(s,_,l,o,null)}e36(){return this.r5q_1}r3i(){var r=ga().q5q_1;return[K(),r[1].v2(),K()]}}F(e).s3i=Wr,B(e,"$serializer",u,u,[Hr()]),vh=e}return vh}var Qd;function rp(){return Qd===u&&new(GD()),Qd}var fh;function Fn(){if(fh===u){class e{constructor(r,t,n){ga();var a;if(t===u){for(var s=0,_=Array(4);s<4;){var l=s;_[l]=new(Dn())(l,0),s=s+1|0}a=_}else a=t;t=a,n=n===u?120:n,this.c4b_1=r,this.d4b_1=t,this.e4b_1=n}static t5q(r,t,n,a,s){ga(),(1&r)!==1&&Qr(r,1,rp().r5q_1);var _=Or(this);if(_.c4b_1=t,(r&2)===0){for(var l=_,o=0,c=Array(4);o<4;){var h=o;c[h]=new(Dn())(h,0),o=o+1|0}l.d4b_1=c}else _.d4b_1=n;return(r&4)===0?_.e4b_1=120:_.e4b_1=a,_}}d(e,"MusicalSequence",u,u,u,u,u,{0:rp}),fh=e}return fh}function be(){return We(),_I}var _I;function tp(){return We(),lI}var lI;function ep(){return We(),oI}var oI;function np(){return We(),cI}var cI;function ap(){return We(),hI}var hI;function ip(){return We(),vI}var vI;function sp(){return We(),fI}var fI;function up(){return We(),dI}var dI;function JD(){return new(Ja())(Y(At()),qr(Od()))}function WD(){return new(Ja())(Y(cn()),Hd())}function HD(){return new(Ja())(Y(Fn()),rp())}function VD(e){return e.n3s_1=!0,z}var dh;function YD(){if(dh===u){class e{constructor(){_p=this;var r=this,t=ur(),n=_r(t,JD),a=ur(),s=_r(a,WD),_=ur();r.r4a_1=[n,s,_r(_,HD)];var l=this;l.s4a_1=Vq(u,VD)}a5q(r){var t=this.s4a_1,n=t.b3b(),a=js(n,D5(Y(hn()),F5([]),!1)),s=L(a,V())?a:m(),_=t.t3r(s,r);return _}t4a(r){var t=this.s4a_1,n=t.b3b(),a=js(n,D5(Y(hn()),F5([]),!1)),s=L(a,V())?a:m(),_=t.u3r(s,r);return _}}ar(e),dh=e}return dh}var _p;function un(){return _p===u&&new(YD()),_p}var ph;function ZD(){if(ph===u){class e{constructor(){lp=this;var r=new(Ur())("com.github.minigdx.tiny.sound.Music",this,3);r.c3i("instruments",!0),r.c3i("musicalBars",!0),r.c3i("sequences",!0),this.b5q_1=r}c5q(r,t){var n=this.b5q_1,a=r.m3a(n),s=un().r4a_1,_;if(a.k3c(n,0))_=!0;else{var l=t.u4a_1,o=[be(),tp(),ep(),np(),ap(),ip(),sp(),up(),null,null,null,null,null,null,null,null];_=!A(l,o)}_&&a.e3c(n,0,s[0].v2(),t.u4a_1);var c;if(a.k3c(n,1))c=!0;else{for(var h=0,v=Array(32);h<32;){var f=h;v[f]=new(cn())(f,be(),be().s4t_1),h=h+1|0}c=!A(t.v4a_1,v)}c&&a.e3c(n,1,s[1].v2(),t.v4a_1);var p;if(a.k3c(n,2))p=!0;else{for(var w=0,b=Array(8);w<8;){var g=w;b[g]=new(Fn())(g),w=w+1|0}p=!A(t.w4a_1,b)}p&&a.e3c(n,2,s[2].v2(),t.w4a_1),a.n3a(n)}f36(r,t){return this.c5q(r,t instanceof hn()?t:m())}g36(r){var t=this.b5q_1,n=!0,a=0,s=0,_=null,l=null,o=null,c=r.m3a(t),h=un().r4a_1;if(c.c3b())_=c.y3a(t,0,h[0].v2(),_),s=s|1,l=c.y3a(t,1,h[1].v2(),l),s=s|2,o=c.y3a(t,2,h[2].v2(),o),s=s|4;else for(;n;)switch(a=c.d3b(t),a){case-1:n=!1;break;case 0:_=c.y3a(t,0,h[0].v2(),_),s=s|1;break;case 1:l=c.y3a(t,1,h[1].v2(),l),s=s|2;break;case 2:o=c.y3a(t,2,h[2].v2(),o),s=s|4;break;default:throw Zr().y37(a)}return c.n3a(t),hn().d5q(s,_,l,o,null)}e36(){return this.b5q_1}r3i(){var r=un().r4a_1;return[r[0].v2(),r[1].v2(),r[2].v2()]}}F(e).s3i=Wr,B(e,"$serializer",u,u,[Hr()]),ph=e}return ph}var lp;function iw(){return lp===u&&new(ZD()),lp}var mh;function hn(){if(mh===u){class e{constructor(r,t,n){un();var a;r===u?a=[be(),tp(),ep(),np(),ap(),ip(),sp(),up(),null,null,null,null,null,null,null,null]:a=r,r=a;var s;if(t===u){for(var _=0,l=Array(32);_<32;){var o=_;l[o]=new(cn())(o,be(),be().s4t_1),_=_+1|0}s=l}else s=t;t=s;var c;if(n===u){for(var h=0,v=Array(8);h<8;){var f=h;v[f]=new(Fn())(f),h=h+1|0}c=v}else c=n;n=c,this.u4a_1=r,this.v4a_1=t,this.w4a_1=n}a4t(){return un().a5q(this)}static d5q(r,t,n,a,s){un(),(0&r)!==0&&Qr(r,0,iw().b5q_1);var _=Or(this);if((r&1)===0){var l=_;l.u4a_1=[be(),tp(),ep(),np(),ap(),ip(),sp(),up(),null,null,null,null,null,null,null,null]}else _.u4a_1=t;if((r&2)===0){for(var o=_,c=0,h=Array(32);c<32;){var v=c;h[v]=new(cn())(v,be(),be().s4t_1),c=c+1|0}o.v4a_1=h}else _.v4a_1=n;if((r&4)===0){for(var f=_,p=0,w=Array(8);p<8;){var b=p;w[b]=new(Fn())(b),p=p+1|0}f.w4a_1=w}else _.w4a_1=a;return _}}d(e,"Music",hn,u,u,u,u,{0:iw}),mh=e}return mh}var sw;function We(){if(!sw){sw=!0;var e=As(),i=new Float32Array([1.1,.3,.031,.039,.345,.29,.0119]);_I=new(At())(0,"clarinet",e,.01,.1,.8,.5,i);var r=on(),t=new Float32Array([1,.65,.7,.55,.45,.35,.3]);lI=new(At())(1,"violon",r,.1,.1,.9,.05,t);var n=Es(),a=new Float32Array([1,.05,.01]);oI=new(At())(2,"obos",n,.1,.1,.9,.05,a);var s=dm(),_=new Float32Array([1]);cI=new(At())(3,"drum",s,.1,.1,.9,.05,_);var l=fm(),o=new Float32Array([1,.05,.01]);hI=new(At())(4,"custom1",l,.1,.1,.9,.05,o);var c=Es(),h=new Float32Array([1,.05,.01]);vI=new(At())(5,"custom2",c,.1,.1,.9,.05,h);var v=As(),f=new Float32Array([1,.05,.01]);fI=new(At())(6,"custom3",v,.1,.1,.9,.05,f);var p=pm(),w=new Float32Array([1,.05,.01]);dI=new(At())(7,"custom4",p,.1,.1,.9,.05,w)}}var gh;function XD(){if(gh===u){class e{constructor(){op=this,this.r49_1=new(cp())("default",new(hn()),_t());var r=this,t=new(hn());t.v4a_1[0].z53(I0(),0,.5),t.v4a_1[0].z53($0(),1,.5),r.s49_1=new(cp())("default",t,_t())}}ar(e),gh=e}return gh}var op;function pI(){return op===u&&new(XD()),op}var wh;function cp(){if(wh===u){class e{constructor(r,t,n,a){pI(),a=a===u?_t():a,this.q4s_1=r,this.r4s_1=t,this.s4s_1=n,this.t4s_1=a}}d(e,"SoundData"),wh=e}return wh}function*QD(e,i){var r=e.q4a_1.j4a(i);r===R()&&(r=yield r);for(var t=r,n=un().t4a(Vt(t)),a=n,s=0,_=Array(16);s<16;){var l=s,o;0<=l&&lr.b1b(n,a);return t.$arity=1,t}var kh;function aF(){if(kh===u){class e{constructor(r,t,n,a){this.e5t_1=r,this.f5t_1=t,this.g5t_1=n,this.h5t_1=a,this.i5t_1=new(Sb()),this.j5t_1=new(HA())(this.e5t_1,this.f5t_1),this.k5t_1=0,this.l5t_1=w0(P5().q14())}r46(){return this.i5t_1}t46(){return new(VA())(this.e5t_1.clientWidth,this.e5t_1.clientHeight,this.e5t_1.clientWidth,this.e5t_1.clientHeight)}x46(r){var t=this.e5t_1.getContext("webgl2"),n=t instanceof WebGL2RenderingContext?t:null,a;if(n==null)throw vr().r3("The canvas context is expected to be a webgl2 context. WebGL2 doesn't seems to be supported by your browser. Please update to a compatible browser to run the game in WebGL2.");a=n;var s=a;return new(YA())(s)}z46(r){var t=window;t.requestAnimationFrame(n=>{var a=n*.001,s=a-this.k5t_1;return this.k5t_1=a,b0(this.l5t_1,u,u,nF(r,s)),r.b47(),this.z46(r),z})}u46(){return this.j5t_1}v46(){return this.j5t_1}w49(){return P5().m14_1}u53(r,t){return new(XA())(this.h5t_1+"/"+r)}w53(r,t){return new(uj())(this.h5t_1+"/"+r)}w46(r){var t=new(uI());return t.t5t(r),t}y53(r,t){return new(rF())(r,t,this.v53(r))}i4h(r,t){localStorage.setItem(this.g5t_1+"-"+r,t)}n4h(r){return localStorage.getItem(this.g5t_1+"-"+r)}b4t(r,t){return z}g52(r){return z}}F(e).v53=tj,F(e).x53=ej,F(e).e45=QA,F(e).l45=rj,d(e,"WebGlPlatform",u,u,[nj()]),kh=e}return kh}function*iF(e,i,r){var t=e.g4a_1.i4a(r);if(t===R()&&(t=yield t),t){var n=e.g4a_1.j4a(r);n===R()&&(n=yield n);var a=i.l1a(n,r);a===R()&&(a=yield a);var s=vg(e.h4a_1.k4a_1,r);s===R()&&(s=yield s)}for(;;){if(e.g4a_1.l4a()){var _=e.g4a_1.j4a(r);_===R()&&(_=yield _);var l=i.l1a(_,r);l===R()&&(l=yield l)}var o=vg(e.h4a_1.k4a_1,r);o===R()&&(o=yield o)}return z}var xh;function sF(){if(xh===u){class e{constructor(r,t){this.g4a_1=r,this.h4a_1=t}m4a(r,t){return nr(iF.bind(u,this,r),t)}lc(r,t){return this.m4a(r!=null&&L(r,ae())?r:m(),t)}}at(e,u,u,[1]),xh=e}return xh}function uF(e,i){var r=new(sF())(e,i),t=(n,a)=>r.m4a(n,a);return t.$arity=1,t}var Ch;function mI(){if(Ch===u){class e{constructor(){var r=this;a0(),r.k4a_1=L$(1,M$())}n4a(r){return u8(uF(r,this))}}d(e,"CommonVirtualFileSystem",mI,u,u,[2]),Ch=e}return Ch}var zh;function bm(){if(zh===u){class e extends r1(){static f4a(r,t,n,a,s){var _=this.vc(a,s);Ke(_,_.z45_1),_.v45_1=r,_.w45_1=t,_.x45_1=n;var l=_,o=Da(p0(_.x45_1,[` +`]),_.w45_1-1|0),c;o==null?c=null:c=$(T$(D$(o)?o:m()));var h=c;return l.y45_1=h??"",_}}d(e,"TinyException"),zh=e}return zh}function _F(e){var i=e.s1u_1,r;if(i==null)r=null;else{var t=pb(i,x(58)),n=tn(P$(i,t+1|0)),a;Sa(i,"@")?a="into the file "+i:a=mb(i).l1(n-1|0);var s=a;r=T(n,s)}return r}function lF(e){var i=_F(e);return i==null?null:i.ud_1}function oF(e){var i=e.message,r;if(i==null)return null;r=i;var t=r,n="\\[[\\s\\S]*]:(\\d+):.*",a=F$().jg(n),s=a.kg(t),_=s==null?null:s.ch(),l=_==null?null:_.l1(1);return l==null?null:Ys(l)}function b1(e,i){var r=e.t1u_1,t;e.t1u_1!==-1?t=r:t=null;var n=t,a=n??lF(e),s=a??oF(e),_=s??-1,l=e.u1u_1,o=e.message;return bm().f4a(l,_,i,o,e)}function uw(e,i){var r=0,t=i.length;if(r{for(var a=r.e1();a.f1();){var s=a.g1();s.w48_1==null&&(s.w48_1=this.x55_1.kt()),n.j5g_1.o5g(s.t48_1.w4c_1,s.u48_1,s.v48_1,s.w48_1)}return S})}y55(){this.x55_1.i5c()}z55(r,t){var n=r.h57_1,a=new Int8Array(262144),s=0,u=0;if(u<256)do{var _=u;u=u+1|0;var o=n[_%n.length|0],c=this.v55_1.n47().y4b(o),h=s;s=h+1|0,a[h]=c[0];var f=s;s=f+1|0,a[f]=c[1];var v=s;s=v+1|0,a[v]=c[2];var d=s;s=d+1|0,a[d]=c[3]}while(u<256);this.x55_1.i5c(),this.x55_1.x5c((g,b)=>{g.x5f_1.q5f(t.v59_1),g.a5g_1.p5c(t.w59_1),g.y5f_1.o5f(new Float32Array([this.v55_1.a47_1,this.v55_1.b47_1*-1])),g.z5f_1.o5f(new Float32Array([r.i5a().u48_1,r.i5a().v48_1])),b.i5g_1.l5f(a,256,256),b.k5g_1.r5g(new Int32Array([r.g57_1]));var w=r.i5a().w48_1;r:if(w==null){var x="Texture unit should be already initialized!";throw fr().u3($(x))}else break r;return b.j5g_1.w5c(w),S}),this.x55_1.y5c(),this.x55_1.rt(4,0,t.u59_1),this.w55_1.a55(t.u59_1),this.x55_1.z5c()}i56(){return S}}p(e,"SpriteBatchStage"),pf=e}return pf}Fm=new($D());var df;function qI(){if(df===l){class e extends jm(){constructor(){super(Dm.d5d_1),this.j5d_1=this.g5b("a_shapeType").k5e(),this.k5d_1=this.g5b("a_shapeColor").k5e(),this.l5d_1=this.g5b("a_shapeFilled").k5e(),this.m5d_1=this.g5b("a_dither").k5e(),this.n5d_1=this.e5b("a_shapePosition").r5e(),this.o5d_1=this.w5a("a_shapeSize").s5e(),this.p5d_1=this.w5a("a_shapeParams12").s5e(),this.q5d_1=this.w5a("a_shapeParams34").s5e(),this.r5d_1=this.w5a("a_shapeParams56").s5e(),this.s5d_1=this.w5a("a_pos"),this.t5d_1=this.t5e("u_viewport"),this.u5d_1=this.x5a("v_fragPos"),this.v5d_1=this.u5e("v_dither",!0),this.w5d_1=this.h5b("v_shapePosition",!0),this.x5d_1=this.h5b("v_shapeSize",!0),this.y5d_1=this.u5e("v_shapeType",!0),this.z5d_1=this.u5e("v_shapeColor",!0),this.a5e_1=this.u5e("v_shapeFilled",!0),this.b5e_1=this.h5b("v_shapeParams12",!0),this.c5e_1=this.h5b("v_shapeParams34",!0),this.d5e_1=this.h5b("v_shapeParams56",!0)}}p(e,"VShader",qI),df=e}return df}var mf;function II(){if(mf===l){class e extends Mm(){constructor(){super(Dm.e5d_1),this.a5f_1=this.l5b("palette_colors"),this.b5f_1=this.w5a("v_fragPos"),this.c5f_1=this.f5b("v_dither",!0),this.d5f_1=this.c5b("v_shapePosition",!0),this.e5f_1=this.c5b("v_shapeSize",!0),this.f5f_1=this.f5b("v_shapeType",!0),this.g5f_1=this.f5b("v_shapeColor",!0),this.h5f_1=this.f5b("v_shapeFilled",!0),this.i5f_1=this.c5b("v_shapeParams12",!0),this.j5f_1=this.c5b("v_shapeParams34",!0),this.k5f_1=this.c5b("v_shapeParams56",!0)}}p(e,"FShader",II),mf=e}return mf}var wf;function ED(){if(wf===l){class e{constructor(){this.d5d_1=`void main() { +}`}}ar(e),cv=e}return cv}var Am,hv;function $F(){if(hv===u){class e{constructor(r,t,n){this.q55_1=t,this.r55_1=n,this.s55_1=new(Em())(r,new(SI()),new(qI()))}r56(){this.s55_1.e5c()}c47(r){this.s55_1.f5c(),this.s55_1.u5c((t,n)=>{for(var a=r.e1();a.f1();){var s=a.g1();s.a49_1==null&&(s.a49_1=this.s55_1.jt()),n.g5g_1.l5g(s.x48_1.h4d_1,s.y48_1,s.z48_1,s.a49_1)}return z})}t55(){this.s55_1.f5c(),this.s55_1.vs(3089)}u55(r,t){var n=tr(r.c57_1),a=n.o4b_1,s=this.q55_1.f47_1-n.r4b_1|0,_=n.s4b_1,l=n.t4b_1;this.s55_1.tt(a,s,_,l);var o=r.b57_1,c=new Int8Array(262144),h=0,v=0;if(v<256)do{var f=v;v=v+1|0;var p=o[f%o.length|0],w=this.q55_1.r47().h4c(p),b=h;h=b+1|0,c[b]=w[0];var g=h;h=g+1|0,c[g]=w[1];var C=h;h=C+1|0,c[C]=w[2];var S=h;h=S+1|0,c[S]=w[3]}while(v<256);this.s55_1.f5c(),this.s55_1.u5c((k,E)=>{k.u5f_1.n5f(t.s59_1),k.x5f_1.m5c(t.t59_1),k.v5f_1.l5f(new Float32Array([this.q55_1.e47_1,this.q55_1.f47_1*-1])),k.w5f_1.l5f(new Float32Array([r.f5a().y48_1,r.f5a().z48_1])),E.f5g_1.i5f(c,256,256),E.h5g_1.o5g(new Int32Array([r.a57_1]));var D=r.f5a().a49_1;r:if(D==null){var P="Texture unit should be already initialized!";throw vr().r3($(P))}else break r;return E.g5g_1.t5c(D),z}),this.s55_1.v5c(),this.s55_1.qt(4,0,t.r59_1),this.r55_1.v54(t.r59_1),this.s55_1.w5c()}d56(){this.s55_1.ws(3089)}}d(e,"SpriteBatchStage"),hv=e}return hv}Am=new(IF());var vv;function II(){if(vv===u){class e extends Im(){constructor(){super(jm.a5d_1),this.g5d_1=this.d5b("a_shapeType").h5e(),this.h5d_1=this.d5b("a_shapeColor").h5e(),this.i5d_1=this.d5b("a_shapeFilled").h5e(),this.j5d_1=this.d5b("a_dither").h5e(),this.k5d_1=this.b5b("a_shapePosition").o5e(),this.l5d_1=this.t5a("a_shapeSize").p5e(),this.m5d_1=this.t5a("a_shapeParams12").p5e(),this.n5d_1=this.t5a("a_shapeParams34").p5e(),this.o5d_1=this.t5a("a_shapeParams56").p5e(),this.p5d_1=this.t5a("a_pos"),this.q5d_1=this.q5e("u_viewport"),this.r5d_1=this.u5a("v_fragPos"),this.s5d_1=this.r5e("v_dither",!0),this.t5d_1=this.e5b("v_shapePosition",!0),this.u5d_1=this.e5b("v_shapeSize",!0),this.v5d_1=this.r5e("v_shapeType",!0),this.w5d_1=this.r5e("v_shapeColor",!0),this.x5d_1=this.r5e("v_shapeFilled",!0),this.y5d_1=this.e5b("v_shapeParams12",!0),this.z5d_1=this.e5b("v_shapeParams34",!0),this.a5e_1=this.e5b("v_shapeParams56",!0)}}d(e,"VShader",II),vv=e}return vv}var fv;function $I(){if(fv===u){class e extends $m(){constructor(){super(jm.b5d_1),this.x5e_1=this.i5b("palette_colors"),this.y5e_1=this.t5a("v_fragPos"),this.z5e_1=this.c5b("v_dither",!0),this.a5f_1=this.z5a("v_shapePosition",!0),this.b5f_1=this.z5a("v_shapeSize",!0),this.c5f_1=this.c5b("v_shapeType",!0),this.d5f_1=this.c5b("v_shapeColor",!0),this.e5f_1=this.c5b("v_shapeFilled",!0),this.f5f_1=this.z5a("v_shapeParams12",!0),this.g5f_1=this.z5a("v_shapeParams34",!0),this.h5f_1=this.z5a("v_shapeParams56",!0)}}d(e,"FShader",$I),fv=e}return fv}var dv;function EF(){if(dv===u){class e{constructor(){this.a5d_1=`void main() { // Scale the rectangle (mutiply by the size) then translate (add the offset) vec2 vertex_pos = ((a_pos * a_shapeSize) + vec2(a_shapePosition.x, a_shapePosition.y)); // Convert the pixel coordinates into NDC coordinates @@ -133,7 +133,7 @@ void main() { v_shapeParams12 = a_shapeParams12; v_shapeParams34 = a_shapeParams34; v_shapeParams56 = a_shapeParams56; -}`,this.e5d_1=`#define T_RECT 0 +}`,this.b5d_1=`#define T_RECT 0 #define T_TRIANGLE 1 #define T_CIRCLE 2 #define T_LINE 3 @@ -339,25 +339,25 @@ void main() { fragColor = vec4(color.rgb, 1.0); } -}`}}ar(e),wf=e}return wf}var Dm,yf;function ND(){if(yf===l){class e{constructor(r,t,n){this.j56_1=t,this.k56_1=n,this.l56_1=new(Tm())(r,new(qI()),new(II()));var a=this;a.m56_1=new Float32Array([0,0,1,0,1,1,1,1,0,1,0,0])}x56(){this.l56_1.h5c()}y55(){this.l56_1.i5c();var r=new Int8Array(262144),t=0,n=0;if(n<256)do{var a=n;n=n+1|0;var s=this.j56_1.n47().y4b(a),u=t;t=u+1|0,r[u]=s[0];var _=t;t=_+1|0,r[_]=s[1];var o=t;t=o+1|0,r[o]=s[2];var c=t;t=c+1|0,r[c]=s[3]}while(n<256);this.l56_1.x5c((h,f)=>(h.s5d_1.p5c(this.m56_1),f.a5f_1.l5f(r,256,256),S))}n56(r,t){this.l56_1.i5c(),this.l56_1.x5c((n,a)=>(n.t5d_1.o5f(new Float32Array([this.j56_1.a47_1,this.j56_1.b47_1*-1])),n.m5d_1.p5f(t.l59_1),n.j5d_1.p5f(t.f59_1),n.k5d_1.p5f(t.g59_1),n.l5d_1.p5f(t.h59_1),n.n5d_1.q5f(t.d59_1),n.o5d_1.p5c(t.e59_1),n.p5d_1.p5c(t.i59_1),n.q5d_1.p5c(t.j59_1),n.r5d_1.p5c(t.k59_1),S)),this.l56_1.y5c(),this.l56_1.st(4,0,6,t.c59_1),this.k56_1.a55(6),this.l56_1.z5c()}i56(){return S}}p(e,"PrimitiveBatchStage"),yf=e}return yf}Dm=new(ED());var Le=Math.imul;function pi(e){var i=e.d57_1;if(i!=null)return i;st("windowManager")}var gf;function $I(){if(gf===l){class e extends jm(){constructor(){super(Pm.j5a_1),this.p5a_1=this.w5a("position"),this.q5a_1=this.w5a("uvs"),this.r5a_1=this.x5a("viewport")}}p(e,"VShader",$I),gf=e}return gf}var bf;function AI(){if(bf===l){class e extends Mm(){constructor(){super(Pm.k5a_1),this.r5b_1=this.w5a("viewport"),this.s5b_1=this.k5b("frame_buffer",!0)}}p(e,"FShader",AI),bf=e}return bf}var kf;function LD(){if(kf===l){class e{constructor(){this.j5a_1=`void main() { +}`}}ar(e),dv=e}return dv}var jm,pv;function AF(){if(pv===u){class e{constructor(r,t,n){this.e56_1=t,this.f56_1=n,this.g56_1=new(Em())(r,new(II()),new($I()));var a=this;a.h56_1=new Float32Array([0,0,1,0,1,1,1,1,0,1,0,0])}r56(){this.g56_1.e5c()}t55(){this.g56_1.f5c();var r=new Int8Array(262144),t=0,n=0;if(n<256)do{var a=n;n=n+1|0;var s=this.e56_1.r47().h4c(a),_=t;t=_+1|0,r[_]=s[0];var l=t;t=l+1|0,r[l]=s[1];var o=t;t=o+1|0,r[o]=s[2];var c=t;t=c+1|0,r[c]=s[3]}while(n<256);this.g56_1.u5c((h,v)=>(h.p5d_1.m5c(this.h56_1),v.x5e_1.i5f(r,256,256),z)),this.g56_1.vs(3089)}i56(r,t){this.g56_1.f5c(),this.g56_1.u5c((o,c)=>(o.q5d_1.l5f(new Float32Array([this.e56_1.e47_1,this.e56_1.f47_1*-1])),o.j5d_1.m5f(t.i59_1),o.g5d_1.m5f(t.c59_1),o.h5d_1.m5f(t.d59_1),o.i5d_1.m5f(t.e59_1),o.k5d_1.n5f(t.a59_1),o.l5d_1.m5c(t.b59_1),o.m5d_1.m5c(t.f59_1),o.n5d_1.m5c(t.g59_1),o.o5d_1.m5c(t.h59_1),z));var n=tr(r.q57_1),a=n.o4b_1,s=this.e56_1.f47_1-n.r4b_1|0,_=n.s4b_1,l=n.t4b_1;this.g56_1.tt(a,s,_,l),this.g56_1.v5c(),this.g56_1.rt(4,0,6,t.z58_1),this.f56_1.v54(6),this.g56_1.w5c()}d56(){this.g56_1.ws(3089)}}d(e,"PrimitiveBatchStage"),pv=e}return pv}jm=new(EF());var Ee=Math.imul;function li(e){var i=e.x56_1;if(i!=null)return i;st("windowManager")}var mv;function EI(){if(mv===u){class e extends Im(){constructor(){super(Nm.g5a_1),this.m5a_1=this.t5a("position"),this.n5a_1=this.t5a("uvs"),this.o5a_1=this.u5a("viewport")}}d(e,"VShader",EI),mv=e}return mv}var gv;function AI(){if(gv===u){class e extends $m(){constructor(){super(Nm.h5a_1),this.o5b_1=this.t5a("viewport"),this.p5b_1=this.h5b("frame_buffer",!0)}}d(e,"FShader",AI),gv=e}return gv}var wv;function jF(){if(wv===u){class e{constructor(){this.g5a_1=`void main() { gl_Position = vec4(position, 0.0, 1.0); viewport = uvs; -}`,this.k5a_1=`void main() { +}`,this.h5a_1=`void main() { fragColor = texture(frame_buffer, viewport); -}`}}ar(e),kf=e}return kf}var Pm,Cf;function jD(){if(Cf===l){class e{constructor(r,t,n){this.y56_1=t,this.z56_1=n;var a=this;a.a57_1=new Float32Array([2,-1,0,1,0,-1]);var s=this;s.b57_1=new Float32Array([3,-1,-1,3,-1,-1]),this.c57_1=new(Tm())(r,new($I()),new(AI()))}u46(r){this.c57_1.h5c(),this.d57_1=r}k58(r){this.c57_1.i5c(),this.c57_1.au(36160,null),this.c57_1.gt(Le(Le(this.y56_1.j47_1.xd_1,this.y56_1.h47_1),pi(this).j54_1),Le(Le(this.y56_1.j47_1.yd_1,this.y56_1.h47_1),pi(this).k54_1),Le(Le(this.y56_1.a47_1,this.y56_1.h47_1),pi(this).j54_1),Le(Le(this.y56_1.b47_1,this.y56_1.h47_1),pi(this).k54_1)),this.c57_1.it(0,0,0,1),this.c57_1.ht(16640),this.c57_1.x5c((n,a)=>(n.p5a_1.p5c(this.b57_1),n.q5a_1.p5c(this.a57_1),a.s5b_1.w5c(r),S)),this.c57_1.y5c();var t=3;this.c57_1.rt(4,0,t),this.z56_1.a55(t),this.z56_1.b55(),this.c57_1.z5c()}}p(e,"FrameBufferStage"),Cf=e}return Cf}Pm=new(LD());var xf;function MD(){if(xf===l){class e{constructor(){this.n58_1=1e3,this.o58_1=100}}ar(e),xf=e}return xf}var Sf;function TD(){if(Sf===l){class e extends Gn(){constructor(r,t){t===l&&(t={}),t.r58_1=r,super(1e3,t)}k4d(){return this.r58_1.a56_1()}s58(r){r.b1h()}q4d(r){return this.s58(r!=null&&j(r,qm())?r:m())}}p(e),Sf=e}return Sf}var zf;function FD(){if(zf===l){class e extends Gn(){constructor(r,t){t===l&&(t={}),t.v58_1=r,super(1e3,t)}k4d(){return this.v58_1.b56_1()}w58(r){r.b1h()}q4d(r){return this.w58(r!=null&&j(r,Im())?r:m())}}p(e),zf=e}return zf}var qf;function DD(){if(qf===l){class e extends Gn(){constructor(r,t){t===l&&(t={}),t.z58_1=r,super(100,t)}k4d(){return this.z58_1.c56_1()}a59(r){r.b1h()}q4d(r){return this.a59(r!=null&&j(r,Am())?r:m())}}p(e),qf=e}return qf}var If;function dy(){if(If===l){class e{constructor(r,t,n){this.a56_1=r,this.b56_1=t,this.c56_1=n;var a=this;a.d56_1=zr().va();var s=this;s.e56_1=new(TD())(this);var u=this;u.f56_1=new(FD())(this);var _=this;_.g56_1=new(DD())(this)}e57(){return this.e56_1.t4d()}j57(){return this.f56_1.t4d()}u57(r,t){var n=this.d56_1,a=n.b3(r),s;if(a==null){var u=N().p1();n.f3(r,u),s=u}else s=a;var _=s,o=vg(_),c;if(o==null)c=null;else{var h;o.l58()?h=o:h=null,c=h}var f=c,v;if(f==null){var d=this.g56_1.t4d();_.c1(d),v=d}else v=f;var g=v;g.m58(t),this.f56_1.u4d([t])}h56(r){for(var t=this.d56_1.e3().e1();t.f1();)for(var n=t.g1(),a=n.x2(),s=n.y2(),u=s.e1();u.f1();){var _=u.g1();r(a,_)}this.v2()}v2(){this.g56_1.v4d(R7(this.d56_1.d3())),this.e56_1.v4d(this.d56_1.c3()),this.d56_1.v2()}}p(e,"BatchManager"),If=e}return If}new(MD());var ia=Math.imul,$f;function EI(){if($f===l){class e{constructor(r,t){this.g4b_1=r,this.h4b_1=t,this.i4b_1=0,this.j4b_1=this.g4b_1,this.k4b_1=0,this.l4b_1=this.h4b_1}m4b(r,t,n,a){var s=this,u=r+n|0,_=Math.min(r,u);s.i4b_1=Math.max(0,_);var o=this,c=r+n|0,h=Math.max(r,c),f=this.g4b_1;o.j4b_1=Math.min(h,f);var v=this,d=t+a|0,g=Math.min(t,d);v.k4b_1=Math.max(0,g);var b=this,w=t+a|0,x=Math.max(t,w),z=this.h4b_1;b.l4b_1=Math.min(x,z)}b1h(){this.i4b_1=0,this.j4b_1=this.g4b_1,this.k4b_1=0,this.l4b_1=this.h4b_1}equals(r){var t=r instanceof EI()?r:null,n;if(t==null)return!1;n=t;var a=n;return this.g4b_1===a.g4b_1&&this.h4b_1===a.h4b_1&&this.i4b_1===a.i4b_1&&this.j4b_1===a.j4b_1&&this.k4b_1===a.k4b_1&&this.l4b_1===a.l4b_1}hashCode(){var r=this.g4b_1;return r=ia(31,r)+this.h4b_1|0,r=ia(31,r)+this.i4b_1|0,r=ia(31,r)+this.j4b_1|0,r=ia(31,r)+this.k4b_1|0,r=ia(31,r)+this.l4b_1|0,r}}p(e,"Clipper"),$f=e}return $f}function PD(e){var i=e.e4c_1.slice();return e.f4c_1=i,i}var Af;function BD(){if(Af===l){class e{constructor(r){this.d4c_1=r;for(var t=this,n=0,a=this.d4c_1.w4b_1,s=Array(a);n(e.g55_1.z55(i,r),S)),e.g55_1.i56(),e.h55_1.y55(),e.n55_1.h56((i,r)=>(e.h55_1.n56(i,r),S)),e.h55_1.i56(),e.c55_1.xs(2929),e.c55_1.au(36160,null),e.k55_1=1,e.j55_1=null}function je(e){e.l55_1=null}function Xe(e,i){var r=i==null?null:i.y48_1,t=e.j55_1;E(r,t==null?null:t.y48_1)||(e.k55_1=e.k55_1-1e-4,e.j55_1=i)}function Qe(e,i,r,t,n,a){var s=e.q55_1.t4d().s56(i,r,t,n),u=e.q55_1.t4d().s56(e.o55_1.s4c_1.k4c_1,e.o55_1.s4c_1.l4c_1,e.d55_1.a47_1,e.d55_1.b47_1),_=e.q55_1.t4d().s56(e.o55_1.s4c_1.k4c_1+e.o55_1.q4c_1.i4b_1|0,e.o55_1.s4c_1.l4c_1+e.o55_1.q4c_1.k4b_1|0,e.o55_1.q4c_1.j4b_1,e.o55_1.q4c_1.l4b_1),o=e.q55_1.t4d();jI(e,u,_,o),UD(e,s,o)&&a(),e.q55_1.u4d([s,u,_,o])}var jf;function k0(){if(jf===l){class e{constructor(r,t,n,a){this.o56_1=r,this.p56_1=t,this.q56_1=n,this.r56_1=a}b1h(){this.s56(0,0,0,0)}s56(r,t,n,a){return this.o56_1=r,this.p56_1=t,this.q56_1=n,this.r56_1=a,this}toString(){return"BoundingBox(x="+this.o56_1+", y="+this.p56_1+", width="+this.q56_1+", height="+this.r56_1+")"}hashCode(){var r=this.o56_1;return r=un(r,31)+this.p56_1|0,r=un(r,31)+this.q56_1|0,r=un(r,31)+this.r56_1|0,r}equals(r){return this===r?!0:!(!(r instanceof k0())||this.o56_1!==r.o56_1||this.p56_1!==r.p56_1||this.q56_1!==r.q56_1||this.r56_1!==r.r56_1)}}p(e,"BoundingBox"),jf=e}return jf}function jI(e,i,r,t){var n=i.o56_1,a=r.o56_1,s=Math.max(n,a),u=i.p56_1,_=r.p56_1,o=Math.max(u,_),c=i.o56_1+i.q56_1|0,h=r.o56_1+r.q56_1|0,f=Math.min(c,h),v=i.p56_1+i.r56_1|0,d=r.p56_1+r.r56_1|0,g=Math.min(v,d);t.o56_1=s,t.p56_1=o;var b=t,w=f-s|0;b.q56_1=Math.max(0,w);var x=t,z=g-o|0;x.r56_1=Math.max(0,z)}function UD(e,i,r){var t=e.q55_1.t4d();jI(e,i,r,t);var n=t.q56_1>0&&t.r56_1>0;return e.q55_1.u4d([t]),n}var Mf;function KD(){if(Mf===l){class e{constructor(){this.t56_1=1e-4}}ar(e),Mf=e}return Mf}function GD(e){return b0(e),e.c55_1.au(36160,e.u55().s55_1),e.c55_1.iu(0,0,e.d55_1.a47_1,e.d55_1.b47_1,6408,5121,e.u55().t55_1),e.c55_1.au(36160,null),new(cD())(e.u55().t55_1,e.d55_1)}function JD(){return new(y0())}function WD(){return new($m())}function HD(){return new(mI())}function VD(){return wI}function YD(){return new(Em())}function ZD(){return new(yI())}var Tf;function XD(){if(Tf===l){class e extends Gn(){constructor(){super(100)}k4d(){return new(k0())(0,0,0,0)}w56(r){r.b1h()}q4d(r){return this.w56(r instanceof k0()?r:m())}}p(e),Tf=e}return Tf}var Ff;function QD(){if(Ff===l){class e{constructor(r,t,n){this.c55_1=r,this.d55_1=t,this.e55_1=n,this.g55_1=new(AD())(this.c55_1,this.d55_1,this.e55_1),this.h55_1=new(ND())(this.c55_1,this.d55_1,this.e55_1),this.i55_1=new(jD())(this.c55_1,this.d55_1,this.e55_1),this.j55_1=null,this.k55_1=1,this.l55_1=null;var a=this,s=JD,u=WD;a.m55_1=new(dy())(s,u,HD);var _=this,o=VD,c=YD;_.n55_1=new(dy())(o,c,ZD),this.o55_1=new(OD())(this.d55_1.a47_1,this.d55_1.b47_1,this.d55_1.n47()),this.p55_1=RD(this);var h=this;h.q55_1=new(XD())}u55(){var r=this.f55_1;if(r!=null)return r;st("frameBufferContext")}u46(r){this.g55_1.x56(),this.h55_1.x56(),this.i55_1.u46(r);var t=g0().yr(un(un(this.d55_1.a47_1,this.d55_1.b47_1),4)),n=this.c55_1.fu();this.c55_1.eu(36161,n),this.c55_1.hu(36161,35056,this.d55_1.a47_1,this.d55_1.b47_1);var a=this.c55_1.bu();this.c55_1.au(36160,a),this.c55_1.gu(36160,36128,36161,n),this.c55_1.gu(36160,36096,36161,n);var s=this.c55_1.kt();if(this.c55_1.nt(3553,s),this.c55_1.lt(3553,0,6408,this.d55_1.a47_1,this.d55_1.b47_1,0,6408,5121,t),this.c55_1.ot(3553,10241,9728),this.c55_1.ot(3553,10240,9728),this.c55_1.du(36160,36064,3553,s,0),this.c55_1.cu(36160)!==36053)throw fr().u3("Framebuffer is NOT complete!");this.f55_1=new(LI())(s,a,t),this.c55_1.ws(3042),this.c55_1.xs(3089),this.c55_1.nt(3553,null),this.c55_1.au(36160,null)}h50(r,t,n,a,s,u,_,o,c,h){return Qe(this,_,o,s,u,()=>{je(this),Xe(this,r);var f=this.o55_1.r4c_1.h4c()[t],v=this.m55_1.e57();v.i57(r,this.o55_1.r4c_1.g4c_1,this.p55_1[f]);var d=this.m55_1.j57();return d.t57(n,a,s,u,_-this.o55_1.s4c_1.k4c_1|0,o-this.o55_1.s4c_1.l4c_1|0,c,h,this.k55_1),this.m55_1.u57(v,d),S})}n4o(r,t,n,a,s,u,_,o,c){return Qe(this,u,_,a,s,()=>{je(this),Xe(this,r);var h=this.m55_1.e57();h.i57(r,this.o55_1.r4c_1.g4c_1,this.o55_1.r4c_1.h4c());var f=this.m55_1.j57();return f.t57(t,n,a,s,u-this.o55_1.s4c_1.k4c_1|0,_-this.o55_1.s4c_1.l4c_1|0,o,c,this.k55_1),this.m55_1.u57(h,f),S})}r4w(r,t,n,a,s,u){return Qe(this,r,t,n,a,()=>{je(this),Xe(this,null);var _=this.n55_1.e57(),o=this.n55_1.j57(),c=r-this.o55_1.s4c_1.k4c_1|0,h=t-this.o55_1.s4c_1.l4c_1|0,f=this.o55_1.r4c_1.h4c()[s],v=this.o55_1.r4c_1.g4c_1,d=this.k55_1,g=o.f58(c,h,n,a,f,v,u,d);return this.n55_1.u57(_,g),S})}m4w(r,t,n,a,s){var u=Math.min(r,n),_=Math.min(t,a),o=Tn(n-r|0)+1|0,c=Tn(a-t|0)+1|0;return Qe(this,u,_,o,c,()=>{je(this),Xe(this,null);var h=this.n55_1.e57(),f=this.n55_1.j57(),v=r-this.o55_1.s4c_1.k4c_1|0,d=t-this.o55_1.s4c_1.l4c_1|0,g=n-this.o55_1.s4c_1.k4c_1|0,b=a-this.o55_1.s4c_1.l4c_1|0,w=this.o55_1.r4c_1.h4c()[s],x=this.o55_1.r4c_1.g4c_1,z=this.k55_1,k=f.g58(v,d,g,b,x,w,z);return this.n55_1.u57(h,k),S})}a4x(r,t,n,a,s){var u=r-n|0,_=t-n|0,o=un(n,2),c=un(n,2);return Qe(this,u,_,o,c,()=>{je(this),Xe(this,null);var h=this.n55_1.e57(),f=this.n55_1.j57(),v=r-this.o55_1.s4c_1.k4c_1|0,d=t-this.o55_1.s4c_1.l4c_1|0,g=this.o55_1.r4c_1.h4c()[a],b=this.o55_1.r4c_1.g4c_1,w=this.k55_1,x=f.h58(v,d,n,g,b,s,w);return this.n55_1.u57(h,x),S})}d4i(r,t,n){return Qe(this,r,t,1,1,()=>{je(this),Xe(this,null);var a=this.n55_1.e57(),s=this.n55_1.j57(),u=r-this.o55_1.s4c_1.k4c_1|0,_=t-this.o55_1.s4c_1.l4c_1|0,o=this.o55_1.r4c_1.h4c()[n],c=this.o55_1.r4c_1.g4c_1,h=this.k55_1,f=s.i58(u,_,c,o,h);return this.n55_1.u57(a,f),S})}k4x(r,t,n,a,s,u,_,o){var c=Math.min(r,n),h=Math.min(c,s),f=Math.min(t,a),v=Math.min(f,u),d=Math.max(r,n),g=Math.max(d,s)-h|0,b=Math.max(t,a),w=Math.max(b,u)-v|0;Qe(this,h,v,g,w,()=>{je(this),Xe(this,null);var x=this.n55_1.e57(),z=this.n55_1.j57().j58(r-this.o55_1.s4c_1.k4c_1|0,t-this.o55_1.s4c_1.l4c_1|0,n-this.o55_1.s4c_1.k4c_1|0,a-this.o55_1.s4c_1.l4c_1|0,s-this.o55_1.s4c_1.k4c_1|0,u-this.o55_1.s4c_1.l4c_1|0,this.o55_1.r4c_1.h4c()[_],this.o55_1.r4c_1.g4c_1,o,this.k55_1);return this.n55_1.u57(x,z),S})}x46(){b0(this),this.i55_1.k58(this.u55().r55_1)}y46(r){this.g55_1.y46(r)}i4i(){var r=this.l55_1,t=r??GD(this);return this.l55_1=t,t}z4i(r){var t=this.o55_1.r4c_1.g4c_1;return this.o55_1.r4c_1.g4c_1=r,t}ht(r){je(this),this.m55_1.v2(),this.n55_1.v2(),this.c55_1.au(36160,this.u55().s55_1);var t=this.d55_1.n47().y4b(r),n=t[0],a=t[1],s=t[2],u=Mr(n),_=(Pr(u)&255)/255,o=Mr(a),c=(Pr(o)&255)/255,h=Mr(s),f=Pr(h)&255;this.c55_1.it(_,c,f/255,1),this.c55_1.ht(16640),this.c55_1.au(36160,null)}q4i(){this.o55_1.r4c_1.i4c()}r4i(r,t){this.o55_1.r4c_1.j4c(r,t)}u4i(r,t){this.o55_1.s4c_1.m4c(r,t)}n4h(){return T(this.o55_1.s4c_1.k4c_1,this.o55_1.s4c_1.l4c_1)}t4i(){this.o55_1.s4c_1.m4c(0,0)}f4j(r,t,n,a){this.o55_1.q4c_1.m4b(r,t,n,a)}e4j(){this.o55_1.q4c_1.b1h()}u4h(r){switch(b0(this),this.c55_1.au(36160,this.u55().s55_1),r.i3_1){case 0:this.c55_1.xs(2960),this.c55_1.ws(3042),this.c55_1.wt(0),this.c55_1.jt(770,771),this.c55_1.xt(!0,!0,!0,!0);break;case 1:this.c55_1.xs(2960),this.c55_1.ws(3042),this.c55_1.vt(0,1,0,771),this.c55_1.xt(!0,!0,!0,!0);break;case 2:this.c55_1.ws(2960),this.c55_1.xs(3042),this.c55_1.wt(255),this.c55_1.ht(1024),this.c55_1.zt(519,1,255),this.c55_1.yt(7680,7680,7681),this.c55_1.xt(!1,!1,!1,!1);break;case 3:this.c55_1.ws(2960),this.c55_1.ws(3042),this.c55_1.wt(0),this.c55_1.zt(514,1,255),this.c55_1.yt(7680,7680,7680),this.c55_1.xt(!0,!0,!0,!0),this.c55_1.jt(770,771);break;case 4:this.c55_1.ws(2960),this.c55_1.ws(3042),this.c55_1.wt(0),this.c55_1.zt(517,1,255),this.c55_1.yt(7680,7680,7680),this.c55_1.xt(!0,!0,!0,!0),this.c55_1.jt(770,771);break;default:yt();break}this.c55_1.au(36160,null)}}p(e,"DefaultVirtualFrameBuffer"),Ff=e}return Ff}new(KD());var MI,TI,FI,DI,PI,BI,OI,wy;function xn(){if(wy)return S;wy=!0,MI=new(Me())("BOOT_GAMESCRIPT",0),TI=new(Me())("GAME_GAMESCRIPT",1),FI=new(Me())("ENGINE_GAMESCRIPT",2),DI=new(Me())("BOOT_SPRITESHEET",3),PI=new(Me())("GAME_SPRITESHEET",4),BI=new(Me())("GAME_LEVEL",5),OI=new(Me())("GAME_SOUND",6),new(Me())("PRIMITIVE_SPRITESHEET",7)}var Df;function Me(){if(Df===l){class e extends Kt(){}p(e,"ResourceType"),Df=e}return Df}function Ps(){return xn(),MI}function rP(){return xn(),TI}function Bs(){return xn(),FI}function yy(){return xn(),DI}function Bm(){return xn(),PI}function RI(){return xn(),BI}function tP(){return xn(),OI}var Pf;function Qa(){if(Pf===l){class e{}Ar(e,"GameResource"),Pf=e}return Pf}var sa=Math.imul,Bf;function q1(){if(Bf===l){class e{constructor(r,t,n,a,s,u){s=s===l?tP():s,u=u===l?!1:u,this.r4u_1=r,this.s4u_1=t,this.t4u_1=n,this.u4u_1=a,this.v4u_1=s,this.w4u_1=u}f48(){return this.r4u_1}v47(){return this.s4u_1}b48(){return this.t4u_1}u47(){return this.v4u_1}w47(r){this.w4u_1=r}e48(){return this.w4u_1}toString(){return"Sound(version="+this.r4u_1+", index="+this.s4u_1+", name="+this.t4u_1+", data="+$(this.u4u_1)+", type="+this.v4u_1.toString()+", reload="+this.w4u_1+")"}hashCode(){var r=this.r4u_1;return r=sa(r,31)+this.s4u_1|0,r=sa(r,31)+br(this.t4u_1)|0,r=sa(r,31)+Z(this.u4u_1)|0,r=sa(r,31)+this.v4u_1.hashCode()|0,r=sa(r,31)+Ca(this.w4u_1)|0,r}equals(r){return this===r?!0:!(!(r instanceof q1())||this.r4u_1!==r.r4u_1||this.s4u_1!==r.s4u_1||this.t4u_1!==r.t4u_1||!E(this.u4u_1,r.u4u_1)||!this.v4u_1.equals(r.v4u_1)||this.w4u_1!==r.w4u_1)}}p(e,"Sound",l,l,[Qa()]),Bf=e}return Bf}var U=Math.imul,UI,KI,GI,JI;function eP(){return[nB(),aB(),iB(),sB()]}var gy;function I1(){if(gy)return S;gy=!0,UI=new(di())("LinearHorizontal",0),KI=new(di())("LinearVertical",1),GI=new(di())("Free",2),JI=new(di())("GridVania",3)}var Of;function di(){if(Of===l){class e extends Kt(){}p(e,"WorldLayout"),Of=e}return Of}function nP(){return mm("com.github.minigdx.tiny.resources.ldtk.WorldLayout",eP())}function aP(){return new(Cr())(I0())}function iP(e){return e.y3s_1=!0,e.l3s_1=!0,e.q3s_1="__type",S}var Rf;function sP(){if(Rf===l){class e{constructor(){C0=this;var r=this,t=lr(),n=ur(t,nP),a=lr();r.n5i_1=[null,n,ur(a,aP)]}o5i(r){var t=Vq(l,iP);return t.s3r(this.v3t(),r)}v3t(){return S0()}}ar(e),Rf=e}return Rf}var C0;function ka(){return C0===l&&new(sP()),C0}var Uf;function lP(){if(Uf===l){class e{constructor(){x0=this;var r=new(Kr())("com.github.minigdx.tiny.resources.ldtk.Ldtk",this,3);r.a3i("iid",!1),r.a3i("worldLayout",!1),r.a3i("levels",!1),this.w5l_1=r}x5l(r,t){var n=this.w5l_1,a=r.k3a(n),s=ka().n5i_1;a.a3c(n,0,t.l4n_1),a.c3c(n,1,s[1].y2(),t.m4n_1),a.c3c(n,2,s[2].y2(),t.n4n_1),a.l3a(n)}d36(r,t){return this.x5l(r,t instanceof Os()?t:m())}e36(r){var t=this.w5l_1,n=!0,a=0,s=0,u=null,_=null,o=null,c=r.k3a(t),h=ka().n5i_1;if(c.a3b())u=c.u3a(t,0),s=s|1,_=c.w3a(t,1,h[1].y2(),_),s=s|2,o=c.w3a(t,2,h[2].y2(),o),s=s|4;else for(;n;)switch(a=c.b3b(t),a){case-1:n=!1;break;case 0:u=c.u3a(t,0),s=s|1;break;case 1:_=c.w3a(t,1,h[1].y2(),_),s=s|2;break;case 2:o=c.w3a(t,2,h[2].y2(),o),s=s|4;break;default:throw Xr().w37(a)}return c.l3a(t),Os().y5l(s,u,_,o,null)}c36(){return this.w5l_1}p3i(){var r=ka().n5i_1;return[qr(),r[1].y2(),r[2].y2()]}}F(e).q3i=Hr,P(e,"$serializer",l,l,[Vr()]),Uf=e}return Uf}var x0;function S0(){return x0===l&&new(lP()),x0}var Kf;function Os(){if(Kf===l){class e{toString(){return"Ldtk(iid="+this.l4n_1+", worldLayout="+this.m4n_1.toString()+", levels="+$(this.n4n_1)+")"}hashCode(){var r=br(this.l4n_1);return r=U(r,31)+this.m4n_1.hashCode()|0,r=U(r,31)+Z(this.n4n_1)|0,r}equals(r){return this===r?!0:!(!(r instanceof Os())||this.l4n_1!==r.l4n_1||!this.m4n_1.equals(r.m4n_1)||!E(this.n4n_1,r.n4n_1))}static y5l(r,t,n,a,s){ka(),(7&r)!==7&&rt(r,7,S0().w5l_1);var u=Ur(this);return u.l4n_1=t,u.m4n_1=n,u.n4n_1=a,u}}p(e,"Ldtk",l,l,l,l,l,{0:S0}),Kf=e}return Kf}function uP(){return new(Cr())(Om.v3t())}function _P(){return new(Cr())($1())}var Gf;function oP(){if(Gf===l){class e{constructor(){z0=this;var r=this,t=lr(),n=ur(t,uP),a=lr();r.z5l_1=[null,null,null,null,n,ur(a,_P)]}}ar(e),Gf=e}return Gf}var z0;function Ii(){return z0===l&&new(oP()),z0}var Jf;function cP(){if(Jf===l){class e{constructor(){q0=this;var r=new(Kr())("com.github.minigdx.tiny.resources.ldtk.Level",this,6);r.a3i("identifier",!1),r.a3i("iid",!1),r.a3i("worldX",!1),r.a3i("worldY",!1),r.a3i("layerInstances",!1),r.a3i("fieldInstances",!1),this.a5m_1=r}b5m(r,t){var n=this.a5m_1,a=r.k3a(n),s=Ii().z5l_1;a.a3c(n,0,t.x4l_1),a.a3c(n,1,t.y4l_1),a.v3b(n,2,t.z4l_1),a.v3b(n,3,t.a4m_1),a.c3c(n,4,s[4].y2(),t.b4m_1),a.c3c(n,5,s[5].y2(),t.c4m_1),a.l3a(n)}d36(r,t){return this.b5m(r,t instanceof $0()?t:m())}e36(r){var t=this.a5m_1,n=!0,a=0,s=0,u=null,_=null,o=0,c=0,h=null,f=null,v=r.k3a(t),d=Ii().z5l_1;if(v.a3b())u=v.u3a(t,0),s=s|1,_=v.u3a(t,1),s=s|2,o=v.p3a(t,2),s=s|4,c=v.p3a(t,3),s=s|8,h=v.w3a(t,4,d[4].y2(),h),s=s|16,f=v.w3a(t,5,d[5].y2(),f),s=s|32;else for(;n;)switch(a=v.b3b(t),a){case-1:n=!1;break;case 0:u=v.u3a(t,0),s=s|1;break;case 1:_=v.u3a(t,1),s=s|2;break;case 2:o=v.p3a(t,2),s=s|4;break;case 3:c=v.p3a(t,3),s=s|8;break;case 4:h=v.w3a(t,4,d[4].y2(),h),s=s|16;break;case 5:f=v.w3a(t,5,d[5].y2(),f),s=s|32;break;default:throw Xr().w37(a)}return v.l3a(t),$0().c5m(s,u,_,o,c,h,f,null)}c36(){return this.a5m_1}p3i(){var r=Ii().z5l_1;return[qr(),qr(),K(),K(),r[4].y2(),r[5].y2()]}}F(e).q3i=Hr,P(e,"$serializer",l,l,[Vr()]),Jf=e}return Jf}var q0;function I0(){return q0===l&&new(cP()),q0}var Wf;function $0(){if(Wf===l){class e{toString(){return"Level(identifier="+this.x4l_1+", iid="+this.y4l_1+", worldX="+this.z4l_1+", worldY="+this.a4m_1+", layerInstances="+$(this.b4m_1)+", fieldInstances="+$(this.c4m_1)+")"}hashCode(){var r=br(this.x4l_1);return r=U(r,31)+br(this.y4l_1)|0,r=U(r,31)+this.z4l_1|0,r=U(r,31)+this.a4m_1|0,r=U(r,31)+Z(this.b4m_1)|0,r=U(r,31)+Z(this.c4m_1)|0,r}equals(r){return this===r?!0:!(!(r instanceof $0())||this.x4l_1!==r.x4l_1||this.y4l_1!==r.y4l_1||this.z4l_1!==r.z4l_1||this.a4m_1!==r.a4m_1||!E(this.b4m_1,r.b4m_1)||!E(this.c4m_1,r.c4m_1))}static c5m(r,t,n,a,s,u,_,o){Ii(),(63&r)!==63&&rt(r,63,I0().a5m_1);var c=Ur(this);return c.x4l_1=t,c.y4l_1=n,c.z4l_1=a,c.a4m_1=s,c.b4m_1=u,c.c4m_1=_,c}}p(e,"Level",l,l,l,l,l,{0:I0}),Wf=e}return Wf}function hP(){return new(Cr())(K())}function fP(){return new(Cr())(Un())}function vP(){return new(Cr())(ue())}function pP(){return new(Cr())(ue())}var Hf;function dP(){if(Hf===l){class e{constructor(){A0=this;var r=this,t=lr(),n=ur(t,hP),a=lr(),s=ur(a,fP),u=lr(),_=ur(u,vP),o=lr();r.d5m_1=[null,null,null,null,null,null,null,n,null,s,null,_,ur(o,pP)]}}ar(e),Hf=e}return Hf}var A0;function $i(){return A0===l&&new(dP()),A0}var Vf;function mP(){if(Vf===l){class e{constructor(){E0=this;var r=new(Kr())("IntGrid",this,13);r.a3i("__identifier",!1),r.a3i("__cWid",!1),r.a3i("__cHei",!1),r.a3i("__gridSize",!1),r.a3i("pxOffsetX",!1),r.a3i("pxOffsetY",!1),r.a3i("seed",!1),r.a3i("intGridCsv",!1),r.a3i("overrideTilesetUid",!0),r.a3i("entityInstances",!0),r.a3i("__tilesetRelPath",!0),r.a3i("autoLayerTiles",!0),r.a3i("gridTiles",!0),this.e5m_1=r}f5m(r,t){var n=this.e5m_1,a=r.k3a(n),s=$i().d5m_1;a.a3c(n,0,t.g5m_1),a.v3b(n,1,t.h5m_1),a.v3b(n,2,t.i5m_1),a.v3b(n,3,t.j5m_1),a.v3b(n,4,t.k5m_1),a.v3b(n,5,t.l5m_1),a.w3b(n,6,t.m5m_1),a.c3c(n,7,s[7].y2(),t.n5m_1),(a.i3c(n,8)||t.o5m_1!=null)&&a.e3c(n,8,K(),t.o5m_1),(a.i3c(n,9)||t.p5m_1!=null)&&a.e3c(n,9,s[9].y2(),t.p5m_1),(a.i3c(n,10)||t.q5m_1!=null)&&a.e3c(n,10,qr(),t.q5m_1),(a.i3c(n,11)||t.r5m_1!=null)&&a.e3c(n,11,s[11].y2(),t.r5m_1),(a.i3c(n,12)||t.s5m_1!=null)&&a.e3c(n,12,s[12].y2(),t.s5m_1),a.l3a(n)}d36(r,t){return this.f5m(r,t instanceof Ma()?t:m())}e36(r){var t=this.e5m_1,n=!0,a=0,s=0,u=null,_=0,o=0,c=0,h=0,f=0,v=0n,d=null,g=null,b=null,w=null,x=null,z=null,k=r.k3a(t),A=$i().d5m_1;if(k.a3b())u=k.u3a(t,0),s=s|1,_=k.p3a(t,1),s=s|2,o=k.p3a(t,2),s=s|4,c=k.p3a(t,3),s=s|8,h=k.p3a(t,4),s=s|16,f=k.p3a(t,5),s=s|32,v=k.q3a(t,6),s=s|64,d=k.w3a(t,7,A[7].y2(),d),s=s|128,g=k.y3a(t,8,K(),g),s=s|256,b=k.y3a(t,9,A[9].y2(),b),s=s|512,w=k.y3a(t,10,qr(),w),s=s|1024,x=k.y3a(t,11,A[11].y2(),x),s=s|2048,z=k.y3a(t,12,A[12].y2(),z),s=s|4096;else for(;n;)switch(a=k.b3b(t),a){case-1:n=!1;break;case 0:u=k.u3a(t,0),s=s|1;break;case 1:_=k.p3a(t,1),s=s|2;break;case 2:o=k.p3a(t,2),s=s|4;break;case 3:c=k.p3a(t,3),s=s|8;break;case 4:h=k.p3a(t,4),s=s|16;break;case 5:f=k.p3a(t,5),s=s|32;break;case 6:v=k.q3a(t,6),s=s|64;break;case 7:d=k.w3a(t,7,A[7].y2(),d),s=s|128;break;case 8:g=k.y3a(t,8,K(),g),s=s|256;break;case 9:b=k.y3a(t,9,A[9].y2(),b),s=s|512;break;case 10:w=k.y3a(t,10,qr(),w),s=s|1024;break;case 11:x=k.y3a(t,11,A[11].y2(),x),s=s|2048;break;case 12:z=k.y3a(t,12,A[12].y2(),z),s=s|4096;break;default:throw Xr().w37(a)}return k.l3a(t),Ma().t5m(s,u,_,o,c,h,f,v,d,g,b,w,x,z,null)}c36(){return this.e5m_1}p3i(){var r=$i().d5m_1;return[qr(),K(),K(),K(),K(),K(),Wa(),r[7].y2(),$r(K()),$r(r[9].y2()),$r(qr()),$r(r[11].y2()),$r(r[12].y2())]}}F(e).q3i=Hr,P(e,"$serializer",l,l,[Vr()]),Vf=e}return Vf}var E0;function N0(){return E0===l&&new(mP()),E0}function wP(){return new(Cr())(ue())}function yP(){return new(Cr())(K())}function gP(){return new(Cr())(Un())}function bP(){return new(Cr())(ue())}var Yf;function kP(){if(Yf===l){class e{constructor(){L0=this;var r=this,t=lr(),n=ur(t,wP),a=lr(),s=ur(a,yP),u=lr(),_=ur(u,gP),o=lr();r.u5m_1=[null,null,null,null,null,null,null,n,null,null,s,_,ur(o,bP)]}}ar(e),Yf=e}return Yf}var L0;function Ai(){return L0===l&&new(kP()),L0}var Zf;function CP(){if(Zf===l){class e{constructor(){j0=this;var r=new(Kr())("AutoLayer",this,13);r.a3i("__identifier",!1),r.a3i("__cWid",!1),r.a3i("__cHei",!1),r.a3i("__gridSize",!1),r.a3i("pxOffsetX",!1),r.a3i("pxOffsetY",!1),r.a3i("seed",!1),r.a3i("autoLayerTiles",!1),r.a3i("__tilesetRelPath",!1),r.a3i("overrideTilesetUid",!0),r.a3i("intGridCsv",!0),r.a3i("entityInstances",!0),r.a3i("gridTiles",!0),this.v5m_1=r}w5m(r,t){var n=this.v5m_1,a=r.k3a(n),s=Ai().u5m_1;a.a3c(n,0,t.t5k_1),a.v3b(n,1,t.u5k_1),a.v3b(n,2,t.v5k_1),a.v3b(n,3,t.w5k_1),a.v3b(n,4,t.x5k_1),a.v3b(n,5,t.y5k_1),a.w3b(n,6,t.z5k_1),a.c3c(n,7,s[7].y2(),t.a5l_1),a.a3c(n,8,t.b5l_1),(a.i3c(n,9)||t.c5l_1!=null)&&a.e3c(n,9,K(),t.c5l_1),(a.i3c(n,10)||t.d5l_1!=null)&&a.e3c(n,10,s[10].y2(),t.d5l_1),(a.i3c(n,11)||t.e5l_1!=null)&&a.e3c(n,11,s[11].y2(),t.e5l_1),(a.i3c(n,12)||t.f5l_1!=null)&&a.e3c(n,12,s[12].y2(),t.f5l_1),a.l3a(n)}d36(r,t){return this.w5m(r,t instanceof Ta()?t:m())}e36(r){var t=this.v5m_1,n=!0,a=0,s=0,u=null,_=0,o=0,c=0,h=0,f=0,v=0n,d=null,g=null,b=null,w=null,x=null,z=null,k=r.k3a(t),A=Ai().u5m_1;if(k.a3b())u=k.u3a(t,0),s=s|1,_=k.p3a(t,1),s=s|2,o=k.p3a(t,2),s=s|4,c=k.p3a(t,3),s=s|8,h=k.p3a(t,4),s=s|16,f=k.p3a(t,5),s=s|32,v=k.q3a(t,6),s=s|64,d=k.w3a(t,7,A[7].y2(),d),s=s|128,g=k.u3a(t,8),s=s|256,b=k.y3a(t,9,K(),b),s=s|512,w=k.y3a(t,10,A[10].y2(),w),s=s|1024,x=k.y3a(t,11,A[11].y2(),x),s=s|2048,z=k.y3a(t,12,A[12].y2(),z),s=s|4096;else for(;n;)switch(a=k.b3b(t),a){case-1:n=!1;break;case 0:u=k.u3a(t,0),s=s|1;break;case 1:_=k.p3a(t,1),s=s|2;break;case 2:o=k.p3a(t,2),s=s|4;break;case 3:c=k.p3a(t,3),s=s|8;break;case 4:h=k.p3a(t,4),s=s|16;break;case 5:f=k.p3a(t,5),s=s|32;break;case 6:v=k.q3a(t,6),s=s|64;break;case 7:d=k.w3a(t,7,A[7].y2(),d),s=s|128;break;case 8:g=k.u3a(t,8),s=s|256;break;case 9:b=k.y3a(t,9,K(),b),s=s|512;break;case 10:w=k.y3a(t,10,A[10].y2(),w),s=s|1024;break;case 11:x=k.y3a(t,11,A[11].y2(),x),s=s|2048;break;case 12:z=k.y3a(t,12,A[12].y2(),z),s=s|4096;break;default:throw Xr().w37(a)}return k.l3a(t),Ta().x5m(s,u,_,o,c,h,f,v,d,g,b,w,x,z,null)}c36(){return this.v5m_1}p3i(){var r=Ai().u5m_1;return[qr(),K(),K(),K(),K(),K(),Wa(),r[7].y2(),qr(),$r(K()),$r(r[10].y2()),$r(r[11].y2()),$r(r[12].y2())]}}F(e).q3i=Hr,P(e,"$serializer",l,l,[Vr()]),Zf=e}return Zf}var j0;function M0(){return j0===l&&new(CP()),j0}function xP(){return new(Cr())(ue())}function SP(){return new(Cr())(K())}function zP(){return new(Cr())(Un())}function qP(){return new(Cr())(ue())}var Xf;function IP(){if(Xf===l){class e{constructor(){T0=this;var r=this,t=lr(),n=ur(t,xP),a=lr(),s=ur(a,SP),u=lr(),_=ur(u,zP),o=lr();r.y5m_1=[null,null,null,null,null,null,null,n,null,null,s,_,ur(o,qP)]}}ar(e),Xf=e}return Xf}var T0;function Ei(){return T0===l&&new(IP()),T0}var Qf;function $P(){if(Qf===l){class e{constructor(){F0=this;var r=new(Kr())("Tiles",this,13);r.a3i("__identifier",!1),r.a3i("__cWid",!1),r.a3i("__cHei",!1),r.a3i("__gridSize",!1),r.a3i("pxOffsetX",!1),r.a3i("pxOffsetY",!1),r.a3i("seed",!1),r.a3i("gridTiles",!1),r.a3i("__tilesetRelPath",!1),r.a3i("overrideTilesetUid",!0),r.a3i("intGridCsv",!0),r.a3i("entityInstances",!0),r.a3i("autoLayerTiles",!0),this.z5m_1=r}a5n(r,t){var n=this.z5m_1,a=r.k3a(n),s=Ei().y5m_1;a.a3c(n,0,t.g5k_1),a.v3b(n,1,t.h5k_1),a.v3b(n,2,t.i5k_1),a.v3b(n,3,t.j5k_1),a.v3b(n,4,t.k5k_1),a.v3b(n,5,t.l5k_1),a.w3b(n,6,t.m5k_1),a.c3c(n,7,s[7].y2(),t.n5k_1),a.a3c(n,8,t.o5k_1),(a.i3c(n,9)||t.p5k_1!=null)&&a.e3c(n,9,K(),t.p5k_1),(a.i3c(n,10)||t.q5k_1!=null)&&a.e3c(n,10,s[10].y2(),t.q5k_1),(a.i3c(n,11)||t.r5k_1!=null)&&a.e3c(n,11,s[11].y2(),t.r5k_1),(a.i3c(n,12)||t.s5k_1!=null)&&a.e3c(n,12,s[12].y2(),t.s5k_1),a.l3a(n)}d36(r,t){return this.a5n(r,t instanceof Fa()?t:m())}e36(r){var t=this.z5m_1,n=!0,a=0,s=0,u=null,_=0,o=0,c=0,h=0,f=0,v=0n,d=null,g=null,b=null,w=null,x=null,z=null,k=r.k3a(t),A=Ei().y5m_1;if(k.a3b())u=k.u3a(t,0),s=s|1,_=k.p3a(t,1),s=s|2,o=k.p3a(t,2),s=s|4,c=k.p3a(t,3),s=s|8,h=k.p3a(t,4),s=s|16,f=k.p3a(t,5),s=s|32,v=k.q3a(t,6),s=s|64,d=k.w3a(t,7,A[7].y2(),d),s=s|128,g=k.u3a(t,8),s=s|256,b=k.y3a(t,9,K(),b),s=s|512,w=k.y3a(t,10,A[10].y2(),w),s=s|1024,x=k.y3a(t,11,A[11].y2(),x),s=s|2048,z=k.y3a(t,12,A[12].y2(),z),s=s|4096;else for(;n;)switch(a=k.b3b(t),a){case-1:n=!1;break;case 0:u=k.u3a(t,0),s=s|1;break;case 1:_=k.p3a(t,1),s=s|2;break;case 2:o=k.p3a(t,2),s=s|4;break;case 3:c=k.p3a(t,3),s=s|8;break;case 4:h=k.p3a(t,4),s=s|16;break;case 5:f=k.p3a(t,5),s=s|32;break;case 6:v=k.q3a(t,6),s=s|64;break;case 7:d=k.w3a(t,7,A[7].y2(),d),s=s|128;break;case 8:g=k.u3a(t,8),s=s|256;break;case 9:b=k.y3a(t,9,K(),b),s=s|512;break;case 10:w=k.y3a(t,10,A[10].y2(),w),s=s|1024;break;case 11:x=k.y3a(t,11,A[11].y2(),x),s=s|2048;break;case 12:z=k.y3a(t,12,A[12].y2(),z),s=s|4096;break;default:throw Xr().w37(a)}return k.l3a(t),Fa().b5n(s,u,_,o,c,h,f,v,d,g,b,w,x,z,null)}c36(){return this.z5m_1}p3i(){var r=Ei().y5m_1;return[qr(),K(),K(),K(),K(),K(),Wa(),r[7].y2(),qr(),$r(K()),$r(r[10].y2()),$r(r[11].y2()),$r(r[12].y2())]}}F(e).q3i=Hr,P(e,"$serializer",l,l,[Vr()]),Qf=e}return Qf}var F0;function D0(){return F0===l&&new($P()),F0}function AP(){return new(Cr())(Un())}function EP(){return new(Cr())(K())}function NP(){return new(Cr())(ue())}function LP(){return new(Cr())(ue())}var rv;function jP(){if(rv===l){class e{constructor(){P0=this;var r=this,t=lr(),n=ur(t,AP),a=lr(),s=ur(a,EP),u=lr(),_=ur(u,NP),o=lr();r.c5n_1=[null,null,null,null,null,null,null,n,s,null,null,_,ur(o,LP)]}}ar(e),rv=e}return rv}var P0;function Ni(){return P0===l&&new(jP()),P0}var tv;function MP(){if(tv===l){class e{constructor(){B0=this;var r=new(Kr())("Entities",this,13);r.a3i("__identifier",!1),r.a3i("__cWid",!1),r.a3i("__cHei",!1),r.a3i("__gridSize",!1),r.a3i("pxOffsetX",!1),r.a3i("pxOffsetY",!1),r.a3i("seed",!1),r.a3i("entityInstances",!1),r.a3i("intGridCsv",!0),r.a3i("__tilesetRelPath",!0),r.a3i("overrideTilesetUid",!0),r.a3i("autoLayerTiles",!0),r.a3i("gridTiles",!0),this.d5n_1=r}e5n(r,t){var n=this.d5n_1,a=r.k3a(n),s=Ni().c5n_1;a.a3c(n,0,t.f5n_1),a.v3b(n,1,t.g5n_1),a.v3b(n,2,t.h5n_1),a.v3b(n,3,t.i5n_1),a.v3b(n,4,t.j5n_1),a.v3b(n,5,t.k5n_1),a.w3b(n,6,t.l5n_1),a.c3c(n,7,s[7].y2(),t.m5n_1),(a.i3c(n,8)||t.n5n_1!=null)&&a.e3c(n,8,s[8].y2(),t.n5n_1),(a.i3c(n,9)||t.o5n_1!=null)&&a.e3c(n,9,qr(),t.o5n_1),(a.i3c(n,10)||t.p5n_1!=null)&&a.e3c(n,10,K(),t.p5n_1),(a.i3c(n,11)||t.q5n_1!=null)&&a.e3c(n,11,s[11].y2(),t.q5n_1),(a.i3c(n,12)||t.r5n_1!=null)&&a.e3c(n,12,s[12].y2(),t.r5n_1),a.l3a(n)}d36(r,t){return this.e5n(r,t instanceof Da()?t:m())}e36(r){var t=this.d5n_1,n=!0,a=0,s=0,u=null,_=0,o=0,c=0,h=0,f=0,v=0n,d=null,g=null,b=null,w=null,x=null,z=null,k=r.k3a(t),A=Ni().c5n_1;if(k.a3b())u=k.u3a(t,0),s=s|1,_=k.p3a(t,1),s=s|2,o=k.p3a(t,2),s=s|4,c=k.p3a(t,3),s=s|8,h=k.p3a(t,4),s=s|16,f=k.p3a(t,5),s=s|32,v=k.q3a(t,6),s=s|64,d=k.w3a(t,7,A[7].y2(),d),s=s|128,g=k.y3a(t,8,A[8].y2(),g),s=s|256,b=k.y3a(t,9,qr(),b),s=s|512,w=k.y3a(t,10,K(),w),s=s|1024,x=k.y3a(t,11,A[11].y2(),x),s=s|2048,z=k.y3a(t,12,A[12].y2(),z),s=s|4096;else for(;n;)switch(a=k.b3b(t),a){case-1:n=!1;break;case 0:u=k.u3a(t,0),s=s|1;break;case 1:_=k.p3a(t,1),s=s|2;break;case 2:o=k.p3a(t,2),s=s|4;break;case 3:c=k.p3a(t,3),s=s|8;break;case 4:h=k.p3a(t,4),s=s|16;break;case 5:f=k.p3a(t,5),s=s|32;break;case 6:v=k.q3a(t,6),s=s|64;break;case 7:d=k.w3a(t,7,A[7].y2(),d),s=s|128;break;case 8:g=k.y3a(t,8,A[8].y2(),g),s=s|256;break;case 9:b=k.y3a(t,9,qr(),b),s=s|512;break;case 10:w=k.y3a(t,10,K(),w),s=s|1024;break;case 11:x=k.y3a(t,11,A[11].y2(),x),s=s|2048;break;case 12:z=k.y3a(t,12,A[12].y2(),z),s=s|4096;break;default:throw Xr().w37(a)}return k.l3a(t),Da().s5n(s,u,_,o,c,h,f,v,d,g,b,w,x,z,null)}c36(){return this.d5n_1}p3i(){var r=Ni().c5n_1;return[qr(),K(),K(),K(),K(),K(),Wa(),r[7].y2(),$r(r[8].y2()),$r(qr()),$r(K()),$r(r[11].y2()),$r(r[12].y2())]}}F(e).q3i=Hr,P(e,"$serializer",l,l,[Vr()]),tv=e}return tv}var B0;function O0(){return B0===l&&new(MP()),B0}var ev;function Ma(){if(ev===l){class e{g4o(){return this.g5m_1}f4m(){return this.h5m_1}e4m(){return this.j5m_1}z4o(){return this.n5m_1}n4m(){return this.p5m_1}b4n(){return this.q5m_1}g4n(){return this.r5m_1}c4n(){return this.s5m_1}toString(){return"IntGrid(__identifier="+this.g5m_1+", __cWid="+this.h5m_1+", __cHei="+this.i5m_1+", __gridSize="+this.j5m_1+", pxOffsetX="+this.k5m_1+", pxOffsetY="+this.l5m_1+", seed="+this.m5m_1.toString()+", intGridCsv="+$(this.n5m_1)+", overrideTilesetUid="+this.o5m_1+", entityInstances="+Wr(this.p5m_1)+", __tilesetRelPath="+this.q5m_1+", autoLayerTiles="+Wr(this.r5m_1)+", gridTiles="+Wr(this.s5m_1)+")"}hashCode(){var r=br(this.g5m_1);return r=U(r,31)+this.h5m_1|0,r=U(r,31)+this.i5m_1|0,r=U(r,31)+this.j5m_1|0,r=U(r,31)+this.k5m_1|0,r=U(r,31)+this.l5m_1|0,r=U(r,31)+$t(this.m5m_1)|0,r=U(r,31)+Z(this.n5m_1)|0,r=U(r,31)+(this.o5m_1==null?0:this.o5m_1)|0,r=U(r,31)+(this.p5m_1==null?0:Z(this.p5m_1))|0,r=U(r,31)+(this.q5m_1==null?0:br(this.q5m_1))|0,r=U(r,31)+(this.r5m_1==null?0:Z(this.r5m_1))|0,r=U(r,31)+(this.s5m_1==null?0:Z(this.s5m_1))|0,r}equals(r){return this===r?!0:!(!(r instanceof Ma())||this.g5m_1!==r.g5m_1||this.h5m_1!==r.h5m_1||this.i5m_1!==r.i5m_1||this.j5m_1!==r.j5m_1||this.k5m_1!==r.k5m_1||this.l5m_1!==r.l5m_1||this.m5m_1!==r.m5m_1||!E(this.n5m_1,r.n5m_1)||this.o5m_1!=r.o5m_1||!E(this.p5m_1,r.p5m_1)||this.q5m_1!=r.q5m_1||!E(this.r5m_1,r.r5m_1)||!E(this.s5m_1,r.s5m_1))}static t5m(r,t,n,a,s,u,_,o,c,h,f,v,d,g,b){$i(),(255&r)!==255&&rt(r,255,N0().e5m_1);var w=Ur(this);return w.g5m_1=t,w.h5m_1=n,w.i5m_1=a,w.j5m_1=s,w.k5m_1=u,w.l5m_1=_,w.m5m_1=o,w.n5m_1=c,(r&256)===0?w.o5m_1=null:w.o5m_1=h,(r&512)===0?w.p5m_1=null:w.p5m_1=f,(r&1024)===0?w.q5m_1=null:w.q5m_1=v,(r&2048)===0?w.r5m_1=null:w.r5m_1=d,(r&4096)===0?w.s5m_1=null:w.s5m_1=g,w}}p(e,"IntGrid",l,l,[ri()],l,l,{0:N0}),ev=e}return ev}var nv;function Ta(){if(nv===l){class e{g4o(){return this.t5k_1}f4m(){return this.u5k_1}e4m(){return this.w5k_1}g4n(){return this.a5l_1}b4n(){return this.b5l_1}z4o(){return this.d5l_1}n4m(){return this.e5l_1}c4n(){return this.f5l_1}toString(){return"AutoLayer(__identifier="+this.t5k_1+", __cWid="+this.u5k_1+", __cHei="+this.v5k_1+", __gridSize="+this.w5k_1+", pxOffsetX="+this.x5k_1+", pxOffsetY="+this.y5k_1+", seed="+this.z5k_1.toString()+", autoLayerTiles="+$(this.a5l_1)+", __tilesetRelPath="+this.b5l_1+", overrideTilesetUid="+this.c5l_1+", intGridCsv="+Wr(this.d5l_1)+", entityInstances="+Wr(this.e5l_1)+", gridTiles="+Wr(this.f5l_1)+")"}hashCode(){var r=br(this.t5k_1);return r=U(r,31)+this.u5k_1|0,r=U(r,31)+this.v5k_1|0,r=U(r,31)+this.w5k_1|0,r=U(r,31)+this.x5k_1|0,r=U(r,31)+this.y5k_1|0,r=U(r,31)+$t(this.z5k_1)|0,r=U(r,31)+Z(this.a5l_1)|0,r=U(r,31)+br(this.b5l_1)|0,r=U(r,31)+(this.c5l_1==null?0:this.c5l_1)|0,r=U(r,31)+(this.d5l_1==null?0:Z(this.d5l_1))|0,r=U(r,31)+(this.e5l_1==null?0:Z(this.e5l_1))|0,r=U(r,31)+(this.f5l_1==null?0:Z(this.f5l_1))|0,r}equals(r){return this===r?!0:!(!(r instanceof Ta())||this.t5k_1!==r.t5k_1||this.u5k_1!==r.u5k_1||this.v5k_1!==r.v5k_1||this.w5k_1!==r.w5k_1||this.x5k_1!==r.x5k_1||this.y5k_1!==r.y5k_1||this.z5k_1!==r.z5k_1||!E(this.a5l_1,r.a5l_1)||this.b5l_1!==r.b5l_1||this.c5l_1!=r.c5l_1||!E(this.d5l_1,r.d5l_1)||!E(this.e5l_1,r.e5l_1)||!E(this.f5l_1,r.f5l_1))}static x5m(r,t,n,a,s,u,_,o,c,h,f,v,d,g,b){Ai(),(511&r)!==511&&rt(r,511,M0().v5m_1);var w=Ur(this);return w.t5k_1=t,w.u5k_1=n,w.v5k_1=a,w.w5k_1=s,w.x5k_1=u,w.y5k_1=_,w.z5k_1=o,w.a5l_1=c,w.b5l_1=h,(r&512)===0?w.c5l_1=null:w.c5l_1=f,(r&1024)===0?w.d5l_1=null:w.d5l_1=v,(r&2048)===0?w.e5l_1=null:w.e5l_1=d,(r&4096)===0?w.f5l_1=null:w.f5l_1=g,w}}p(e,"AutoLayer",l,l,[ri()],l,l,{0:M0}),nv=e}return nv}var av;function Fa(){if(av===l){class e{g4o(){return this.g5k_1}f4m(){return this.h5k_1}e4m(){return this.j5k_1}c4n(){return this.n5k_1}b4n(){return this.o5k_1}z4o(){return this.q5k_1}n4m(){return this.r5k_1}g4n(){return this.s5k_1}toString(){return"TilesLayer(__identifier="+this.g5k_1+", __cWid="+this.h5k_1+", __cHei="+this.i5k_1+", __gridSize="+this.j5k_1+", pxOffsetX="+this.k5k_1+", pxOffsetY="+this.l5k_1+", seed="+this.m5k_1.toString()+", gridTiles="+$(this.n5k_1)+", __tilesetRelPath="+this.o5k_1+", overrideTilesetUid="+this.p5k_1+", intGridCsv="+Wr(this.q5k_1)+", entityInstances="+Wr(this.r5k_1)+", autoLayerTiles="+Wr(this.s5k_1)+")"}hashCode(){var r=br(this.g5k_1);return r=U(r,31)+this.h5k_1|0,r=U(r,31)+this.i5k_1|0,r=U(r,31)+this.j5k_1|0,r=U(r,31)+this.k5k_1|0,r=U(r,31)+this.l5k_1|0,r=U(r,31)+$t(this.m5k_1)|0,r=U(r,31)+Z(this.n5k_1)|0,r=U(r,31)+br(this.o5k_1)|0,r=U(r,31)+(this.p5k_1==null?0:this.p5k_1)|0,r=U(r,31)+(this.q5k_1==null?0:Z(this.q5k_1))|0,r=U(r,31)+(this.r5k_1==null?0:Z(this.r5k_1))|0,r=U(r,31)+(this.s5k_1==null?0:Z(this.s5k_1))|0,r}equals(r){return this===r?!0:!(!(r instanceof Fa())||this.g5k_1!==r.g5k_1||this.h5k_1!==r.h5k_1||this.i5k_1!==r.i5k_1||this.j5k_1!==r.j5k_1||this.k5k_1!==r.k5k_1||this.l5k_1!==r.l5k_1||this.m5k_1!==r.m5k_1||!E(this.n5k_1,r.n5k_1)||this.o5k_1!==r.o5k_1||this.p5k_1!=r.p5k_1||!E(this.q5k_1,r.q5k_1)||!E(this.r5k_1,r.r5k_1)||!E(this.s5k_1,r.s5k_1))}static b5n(r,t,n,a,s,u,_,o,c,h,f,v,d,g,b){Ei(),(511&r)!==511&&rt(r,511,D0().z5m_1);var w=Ur(this);return w.g5k_1=t,w.h5k_1=n,w.i5k_1=a,w.j5k_1=s,w.k5k_1=u,w.l5k_1=_,w.m5k_1=o,w.n5k_1=c,w.o5k_1=h,(r&512)===0?w.p5k_1=null:w.p5k_1=f,(r&1024)===0?w.q5k_1=null:w.q5k_1=v,(r&2048)===0?w.r5k_1=null:w.r5k_1=d,(r&4096)===0?w.s5k_1=null:w.s5k_1=g,w}}p(e,"TilesLayer",l,l,[ri()],l,l,{0:D0}),av=e}return av}var iv;function Da(){if(iv===l){class e{g4o(){return this.f5n_1}f4m(){return this.g5n_1}e4m(){return this.i5n_1}n4m(){return this.m5n_1}z4o(){return this.n5n_1}b4n(){return this.o5n_1}g4n(){return this.q5n_1}c4n(){return this.r5n_1}toString(){return"EntitiesLayer(__identifier="+this.f5n_1+", __cWid="+this.g5n_1+", __cHei="+this.h5n_1+", __gridSize="+this.i5n_1+", pxOffsetX="+this.j5n_1+", pxOffsetY="+this.k5n_1+", seed="+this.l5n_1.toString()+", entityInstances="+$(this.m5n_1)+", intGridCsv="+Wr(this.n5n_1)+", __tilesetRelPath="+this.o5n_1+", overrideTilesetUid="+this.p5n_1+", autoLayerTiles="+Wr(this.q5n_1)+", gridTiles="+Wr(this.r5n_1)+")"}hashCode(){var r=br(this.f5n_1);return r=U(r,31)+this.g5n_1|0,r=U(r,31)+this.h5n_1|0,r=U(r,31)+this.i5n_1|0,r=U(r,31)+this.j5n_1|0,r=U(r,31)+this.k5n_1|0,r=U(r,31)+$t(this.l5n_1)|0,r=U(r,31)+Z(this.m5n_1)|0,r=U(r,31)+(this.n5n_1==null?0:Z(this.n5n_1))|0,r=U(r,31)+(this.o5n_1==null?0:br(this.o5n_1))|0,r=U(r,31)+(this.p5n_1==null?0:this.p5n_1)|0,r=U(r,31)+(this.q5n_1==null?0:Z(this.q5n_1))|0,r=U(r,31)+(this.r5n_1==null?0:Z(this.r5n_1))|0,r}equals(r){return this===r?!0:!(!(r instanceof Da())||this.f5n_1!==r.f5n_1||this.g5n_1!==r.g5n_1||this.h5n_1!==r.h5n_1||this.i5n_1!==r.i5n_1||this.j5n_1!==r.j5n_1||this.k5n_1!==r.k5n_1||this.l5n_1!==r.l5n_1||!E(this.m5n_1,r.m5n_1)||!E(this.n5n_1,r.n5n_1)||this.o5n_1!=r.o5n_1||this.p5n_1!=r.p5n_1||!E(this.q5n_1,r.q5n_1)||!E(this.r5n_1,r.r5n_1))}static s5n(r,t,n,a,s,u,_,o,c,h,f,v,d,g,b){Ni(),(255&r)!==255&&rt(r,255,O0().d5n_1);var w=Ur(this);return w.f5n_1=t,w.g5n_1=n,w.h5n_1=a,w.i5n_1=s,w.j5n_1=u,w.k5n_1=_,w.l5n_1=o,w.m5n_1=c,(r&256)===0?w.n5n_1=null:w.n5n_1=h,(r&512)===0?w.o5n_1=null:w.o5n_1=f,(r&1024)===0?w.p5n_1=null:w.p5n_1=v,(r&2048)===0?w.q5n_1=null:w.q5n_1=d,(r&4096)===0?w.r5n_1=null:w.r5n_1=g,w}}p(e,"EntitiesLayer",l,l,[ri()],l,l,{0:O0}),iv=e}return iv}var sv;function TP(){if(sv===l){class e{v3t(){var r=Y(ri()),t=[Y(Ta()),Y(Da()),Y(Ma()),Y(Fa())],n=[M0(),O0(),N0(),D0()],a=[];return tm().i37("com.github.minigdx.tiny.resources.ldtk.Layer",r,t,n,a)}d3j(r){return this.v3t()}}ar(e,l,[y1()]),sv=e}return sv}var Om;function FP(){return Om}var lv;function ri(){if(lv===l){class e{}Ar(e,"Layer",l,l,l,l,l,{0:FP}),lv=e}return lv}function DP(){return new(Cr())(K())}function PP(){return new(Cr())(K())}var uv;function BP(){if(uv===l){class e{constructor(){R0=this;var r=this,t=lr(),n=ur(t,DP),a=lr();r.t5n_1=[null,null,n,ur(a,PP),null]}}ar(e),uv=e}return uv}var R0;function Li(){return R0===l&&new(BP()),R0}var _v;function OP(){if(_v===l){class e{constructor(){U0=this;var r=new(Kr())("com.github.minigdx.tiny.resources.ldtk.Tile",this,5);r.a3i("a",!1),r.a3i("f",!1),r.a3i("px",!1),r.a3i("src",!1),r.a3i("t",!1),this.u5n_1=r}v5n(r,t){var n=this.u5n_1,a=r.k3a(n),s=Li().t5n_1;a.x3b(n,0,t.i4o_1),a.v3b(n,1,t.j4o_1),a.c3c(n,2,s[2].y2(),t.k4o_1),a.c3c(n,3,s[3].y2(),t.l4o_1),a.v3b(n,4,t.m4o_1),a.l3a(n)}d36(r,t){return this.v5n(r,t instanceof K0()?t:m())}e36(r){var t=this.u5n_1,n=!0,a=0,s=0,u=0,_=0,o=null,c=null,h=0,f=r.k3a(t),v=Li().t5n_1;if(f.a3b())u=f.r3a(t,0),s=s|1,_=f.p3a(t,1),s=s|2,o=f.w3a(t,2,v[2].y2(),o),s=s|4,c=f.w3a(t,3,v[3].y2(),c),s=s|8,h=f.p3a(t,4),s=s|16;else for(;n;)switch(a=f.b3b(t),a){case-1:n=!1;break;case 0:u=f.r3a(t,0),s=s|1;break;case 1:_=f.p3a(t,1),s=s|2;break;case 2:o=f.w3a(t,2,v[2].y2(),o),s=s|4;break;case 3:c=f.w3a(t,3,v[3].y2(),c),s=s|8;break;case 4:h=f.p3a(t,4),s=s|16;break;default:throw Xr().w37(a)}return f.l3a(t),K0().w5n(s,u,_,o,c,h,null)}c36(){return this.u5n_1}p3i(){var r=Li().t5n_1;return[mt(),K(),r[2].y2(),r[3].y2(),K()]}}F(e).q3i=Hr,P(e,"$serializer",l,l,[Vr()]),_v=e}return _v}var U0;function ue(){return U0===l&&new(OP()),U0}var ov;function K0(){if(ov===l){class e{toString(){return"Tile(a="+this.i4o_1+", f="+this.j4o_1+", px="+$(this.k4o_1)+", src="+$(this.l4o_1)+", t="+this.m4o_1+")"}hashCode(){var r=Vt(this.i4o_1);return r=U(r,31)+this.j4o_1|0,r=U(r,31)+Z(this.k4o_1)|0,r=U(r,31)+Z(this.l4o_1)|0,r=U(r,31)+this.m4o_1|0,r}equals(r){return this===r?!0:!(!(r instanceof K0())||!E(this.i4o_1,r.i4o_1)||this.j4o_1!==r.j4o_1||!E(this.k4o_1,r.k4o_1)||!E(this.l4o_1,r.l4o_1)||this.m4o_1!==r.m4o_1)}static w5n(r,t,n,a,s,u,_){Li(),(31&r)!==31&&rt(r,31,ue().u5n_1);var o=Ur(this);return o.i4o_1=t,o.j4o_1=n,o.k4o_1=a,o.l4o_1=s,o.m4o_1=u,o}}p(e,"Tile",l,l,l,l,l,{0:ue}),ov=e}return ov}function RP(){return new(Cr())(K())}function UP(){return new(Cr())(mt())}function KP(){return new(Cr())($1())}function GP(){return new(Cr())(K())}var cv;function JP(){if(cv===l){class e{constructor(){G0=this;var r=this,t=lr(),n=ur(t,RP),a=lr(),s=ur(a,UP),u=lr(),_=ur(u,KP),o=lr();r.x5n_1=[n,null,s,null,null,_,null,null,null,ur(o,GP)]}}ar(e),cv=e}return cv}var G0;function ji(){return G0===l&&new(JP()),G0}var hv;function WP(){if(hv===l){class e{constructor(){J0=this;var r=new(Kr())("com.github.minigdx.tiny.resources.ldtk.Entity",this,10);r.a3i("__grid",!1),r.a3i("__identifier",!1),r.a3i("__pivot",!1),r.a3i("__worldX",!0),r.a3i("__worldY",!0),r.a3i("fieldInstances",!1),r.a3i("height",!1),r.a3i("width",!1),r.a3i("iid",!1),r.a3i("px",!1),this.y5n_1=r}z5n(r,t){var n=this.y5n_1,a=r.k3a(n),s=ji().x5n_1;a.c3c(n,0,s[0].y2(),t.o4m_1),a.a3c(n,1,t.p4m_1),a.c3c(n,2,s[2].y2(),t.q4m_1),(a.i3c(n,3)||t.r4m_1!=null)&&a.e3c(n,3,K(),t.r4m_1),(a.i3c(n,4)||t.s4m_1!=null)&&a.e3c(n,4,K(),t.s4m_1),a.c3c(n,5,s[5].y2(),t.t4m_1),a.v3b(n,6,t.u4m_1),a.v3b(n,7,t.v4m_1),a.a3c(n,8,t.w4m_1),a.c3c(n,9,s[9].y2(),t.x4m_1),a.l3a(n)}d36(r,t){return this.z5n(r,t instanceof W0()?t:m())}e36(r){var t=this.y5n_1,n=!0,a=0,s=0,u=null,_=null,o=null,c=null,h=null,f=null,v=0,d=0,g=null,b=null,w=r.k3a(t),x=ji().x5n_1;if(w.a3b())u=w.w3a(t,0,x[0].y2(),u),s=s|1,_=w.u3a(t,1),s=s|2,o=w.w3a(t,2,x[2].y2(),o),s=s|4,c=w.y3a(t,3,K(),c),s=s|8,h=w.y3a(t,4,K(),h),s=s|16,f=w.w3a(t,5,x[5].y2(),f),s=s|32,v=w.p3a(t,6),s=s|64,d=w.p3a(t,7),s=s|128,g=w.u3a(t,8),s=s|256,b=w.w3a(t,9,x[9].y2(),b),s=s|512;else for(;n;)switch(a=w.b3b(t),a){case-1:n=!1;break;case 0:u=w.w3a(t,0,x[0].y2(),u),s=s|1;break;case 1:_=w.u3a(t,1),s=s|2;break;case 2:o=w.w3a(t,2,x[2].y2(),o),s=s|4;break;case 3:c=w.y3a(t,3,K(),c),s=s|8;break;case 4:h=w.y3a(t,4,K(),h),s=s|16;break;case 5:f=w.w3a(t,5,x[5].y2(),f),s=s|32;break;case 6:v=w.p3a(t,6),s=s|64;break;case 7:d=w.p3a(t,7),s=s|128;break;case 8:g=w.u3a(t,8),s=s|256;break;case 9:b=w.w3a(t,9,x[9].y2(),b),s=s|512;break;default:throw Xr().w37(a)}return w.l3a(t),W0().a5o(s,u,_,o,c,h,f,v,d,g,b,null)}c36(){return this.y5n_1}p3i(){var r=ji().x5n_1;return[r[0].y2(),qr(),r[2].y2(),$r(K()),$r(K()),r[5].y2(),K(),K(),qr(),r[9].y2()]}}F(e).q3i=Hr,P(e,"$serializer",l,l,[Vr()]),hv=e}return hv}var J0;function Un(){return J0===l&&new(WP()),J0}var fv;function W0(){if(fv===l){class e{toString(){return"Entity(__grid="+$(this.o4m_1)+", __identifier="+this.p4m_1+", __pivot="+$(this.q4m_1)+", __worldX="+this.r4m_1+", __worldY="+this.s4m_1+", fieldInstances="+$(this.t4m_1)+", height="+this.u4m_1+", width="+this.v4m_1+", iid="+this.w4m_1+", px="+$(this.x4m_1)+")"}hashCode(){var r=Z(this.o4m_1);return r=U(r,31)+br(this.p4m_1)|0,r=U(r,31)+Z(this.q4m_1)|0,r=U(r,31)+(this.r4m_1==null?0:this.r4m_1)|0,r=U(r,31)+(this.s4m_1==null?0:this.s4m_1)|0,r=U(r,31)+Z(this.t4m_1)|0,r=U(r,31)+this.u4m_1|0,r=U(r,31)+this.v4m_1|0,r=U(r,31)+br(this.w4m_1)|0,r=U(r,31)+Z(this.x4m_1)|0,r}equals(r){return this===r?!0:!(!(r instanceof W0())||!E(this.o4m_1,r.o4m_1)||this.p4m_1!==r.p4m_1||!E(this.q4m_1,r.q4m_1)||this.r4m_1!=r.r4m_1||this.s4m_1!=r.s4m_1||!E(this.t4m_1,r.t4m_1)||this.u4m_1!==r.u4m_1||this.v4m_1!==r.v4m_1||this.w4m_1!==r.w4m_1||!E(this.x4m_1,r.x4m_1))}static a5o(r,t,n,a,s,u,_,o,c,h,f,v){ji(),(999&r)!==999&&rt(r,999,Un().y5n_1);var d=Ur(this);return d.o4m_1=t,d.p4m_1=n,d.q4m_1=a,(r&8)===0?d.r4m_1=null:d.r4m_1=s,(r&16)===0?d.s4m_1=null:d.s4m_1=u,d.t4m_1=_,d.u4m_1=o,d.v4m_1=c,d.w4m_1=h,d.x4m_1=f,d}}p(e,"Entity",l,l,l,l,l,{0:Un}),fv=e}return fv}var vv;function HP(){if(vv===l){class e{}ar(e),vv=e}return vv}var pv;function H0(){if(pv===l){class e{constructor(r,t,n){this.y4m_1=r,this.z4m_1=t,this.a4n_1=n}toString(){return"CustomField(__identifier="+this.y4m_1+", __type="+this.z4m_1+", __value="+Wr(this.a4n_1)+")"}hashCode(){var r=br(this.y4m_1);return r=U(r,31)+br(this.z4m_1)|0,r=U(r,31)+(this.a4n_1==null?0:Z(this.a4n_1))|0,r}equals(r){return this===r?!0:!(!(r instanceof H0())||this.y4m_1!==r.y4m_1||this.z4m_1!==r.z4m_1||!E(this.a4n_1,r.a4n_1))}}p(e,"CustomField",l,l,l,l,l,{0:$1}),pv=e}return pv}var dv;function VP(){if(dv===l){class e{v3t(){return Y0()}}ar(e),dv=e}return dv}var WI,mv;function YP(){if(mv===l){class e{constructor(){V0=this;var r=new(Kr())("com.github.minigdx.tiny.resources.ldtk.EntityRef",this,4);r.a3i("entityIid",!1),r.a3i("layerIid",!1),r.a3i("levelIid",!1),r.a3i("worldIid",!1),this.b5o_1=r}c5o(r,t){var n=this.b5o_1,a=r.k3a(n);a.a3c(n,0,t.o4o_1),a.a3c(n,1,t.p4o_1),a.a3c(n,2,t.q4o_1),a.a3c(n,3,t.r4o_1),a.l3a(n)}d36(r,t){return this.c5o(r,t instanceof Rs()?t:m())}e36(r){var t=this.b5o_1,n=!0,a=0,s=0,u=null,_=null,o=null,c=null,h=r.k3a(t);if(h.a3b())u=h.u3a(t,0),s=s|1,_=h.u3a(t,1),s=s|2,o=h.u3a(t,2),s=s|4,c=h.u3a(t,3),s=s|8;else for(;n;)switch(a=h.b3b(t),a){case-1:n=!1;break;case 0:u=h.u3a(t,0),s=s|1;break;case 1:_=h.u3a(t,1),s=s|2;break;case 2:o=h.u3a(t,2),s=s|4;break;case 3:c=h.u3a(t,3),s=s|8;break;default:throw Xr().w37(a)}return h.l3a(t),Rs().d5o(s,u,_,o,c,null)}c36(){return this.b5o_1}p3i(){return[qr(),qr(),qr(),qr()]}}F(e).q3i=Hr,P(e,"$serializer",l,l,[Vr()]),mv=e}return mv}var V0;function Y0(){return V0===l&&new(YP()),V0}var wv;function Rs(){if(wv===l){class e{toString(){return"EntityRef(entityIid="+this.o4o_1+", layerIid="+this.p4o_1+", levelIid="+this.q4o_1+", worldIid="+this.r4o_1+")"}hashCode(){var r=br(this.o4o_1);return r=U(r,31)+br(this.p4o_1)|0,r=U(r,31)+br(this.q4o_1)|0,r=U(r,31)+br(this.r4o_1)|0,r}equals(r){return this===r?!0:!(!(r instanceof Rs())||this.o4o_1!==r.o4o_1||this.p4o_1!==r.p4o_1||this.q4o_1!==r.q4o_1||this.r4o_1!==r.r4o_1)}static d5o(r,t,n,a,s,u){(15&r)!==15&&rt(r,15,Y0().b5o_1);var _=Ur(this);return _.o4o_1=t,_.p4o_1=n,_.q4o_1=a,_.r4o_1=s,_}}p(e,"EntityRef",l,l,l,l,l,{0:Y0}),wv=e}return wv}var yv;function ZP(){if(yv===l){class e{v3t(){return X0()}}ar(e),yv=e}return yv}var HI,gv;function XP(){if(gv===l){class e{constructor(){Z0=this;var r=new(Kr())("com.github.minigdx.tiny.resources.ldtk.TilesetRect",this,5);r.a3i("h",!1),r.a3i("tilesetUid",!1),r.a3i("w",!1),r.a3i("x",!1),r.a3i("y",!1),this.e5o_1=r}f5o(r,t){var n=this.e5o_1,a=r.k3a(n);a.v3b(n,0,t.u4o_1),a.v3b(n,1,t.v4o_1),a.v3b(n,2,t.w4o_1),a.v3b(n,3,t.x4o_1),a.v3b(n,4,t.y4o_1),a.l3a(n)}d36(r,t){return this.f5o(r,t instanceof Us()?t:m())}e36(r){var t=this.e5o_1,n=!0,a=0,s=0,u=0,_=0,o=0,c=0,h=0,f=r.k3a(t);if(f.a3b())u=f.p3a(t,0),s=s|1,_=f.p3a(t,1),s=s|2,o=f.p3a(t,2),s=s|4,c=f.p3a(t,3),s=s|8,h=f.p3a(t,4),s=s|16;else for(;n;)switch(a=f.b3b(t),a){case-1:n=!1;break;case 0:u=f.p3a(t,0),s=s|1;break;case 1:_=f.p3a(t,1),s=s|2;break;case 2:o=f.p3a(t,2),s=s|4;break;case 3:c=f.p3a(t,3),s=s|8;break;case 4:h=f.p3a(t,4),s=s|16;break;default:throw Xr().w37(a)}return f.l3a(t),Us().g5o(s,u,_,o,c,h,null)}c36(){return this.e5o_1}p3i(){return[K(),K(),K(),K(),K()]}}F(e).q3i=Hr,P(e,"$serializer",l,l,[Vr()]),gv=e}return gv}var Z0;function X0(){return Z0===l&&new(XP()),Z0}var bv;function Us(){if(bv===l){class e{toString(){return"TilesetRect(h="+this.u4o_1+", tilesetUid="+this.v4o_1+", w="+this.w4o_1+", x="+this.x4o_1+", y="+this.y4o_1+")"}hashCode(){var r=this.u4o_1;return r=U(r,31)+this.v4o_1|0,r=U(r,31)+this.w4o_1|0,r=U(r,31)+this.x4o_1|0,r=U(r,31)+this.y4o_1|0,r}equals(r){return this===r?!0:!(!(r instanceof Us())||this.u4o_1!==r.u4o_1||this.v4o_1!==r.v4o_1||this.w4o_1!==r.w4o_1||this.x4o_1!==r.x4o_1||this.y4o_1!==r.y4o_1)}static g5o(r,t,n,a,s,u,_){(31&r)!==31&&rt(r,31,X0().e5o_1);var o=Ur(this);return o.u4o_1=t,o.v4o_1=n,o.w4o_1=a,o.x4o_1=s,o.y4o_1=u,o}}p(e,"TilesetRect",l,l,l,l,l,{0:X0}),bv=e}return bv}var kv;function QP(){if(kv===l){class e{v3t(){return rd()}}ar(e),kv=e}return kv}var VI,Cv;function rB(){if(Cv===l){class e{constructor(){Q0=this;var r=new(Kr())("com.github.minigdx.tiny.resources.ldtk.GridPoint",this,2);r.a3i("cx",!1),r.a3i("cy",!1),this.h5o_1=r}i5o(r,t){var n=this.h5o_1,a=r.k3a(n);a.v3b(n,0,t.s4o_1),a.v3b(n,1,t.t4o_1),a.l3a(n)}d36(r,t){return this.i5o(r,t instanceof Ks()?t:m())}e36(r){var t=this.h5o_1,n=!0,a=0,s=0,u=0,_=0,o=r.k3a(t);if(o.a3b())u=o.p3a(t,0),s=s|1,_=o.p3a(t,1),s=s|2;else for(;n;)switch(a=o.b3b(t),a){case-1:n=!1;break;case 0:u=o.p3a(t,0),s=s|1;break;case 1:_=o.p3a(t,1),s=s|2;break;default:throw Xr().w37(a)}return o.l3a(t),Ks().j5o(s,u,_,null)}c36(){return this.h5o_1}p3i(){return[K(),K()]}}F(e).q3i=Hr,P(e,"$serializer",l,l,[Vr()]),Cv=e}return Cv}var Q0;function rd(){return Q0===l&&new(rB()),Q0}var xv;function Ks(){if(xv===l){class e{toString(){return"GridPoint(cx="+this.s4o_1+", cy="+this.t4o_1+")"}hashCode(){var r=this.s4o_1;return r=U(r,31)+this.t4o_1|0,r}equals(r){return this===r?!0:!(!(r instanceof Ks())||this.s4o_1!==r.s4o_1||this.t4o_1!==r.t4o_1)}static j5o(r,t,n,a){(3&r)!==3&&rt(r,3,rd().h5o_1);var s=Ur(this);return s.s4o_1=t,s.t4o_1=n,s}}p(e,"GridPoint",l,l,l,l,l,{0:rd}),xv=e}return xv}function YI(e,i,r){if(r instanceof Ge())return null;var t;switch(i){case"Int":var n=r==null?null:Ce(r),a=n==null?null:n.c3u();t=a==null?null:r1(a);break;case"Float":var s=r==null?null:Ce(r),u=s==null?null:s.c3u(),_;u==null?_=null:_=yd(u),t=_;break;case"String":case"Multilines":case"Text":case"FilePath":case"Color":var o=r==null?null:Ce(r);t=o==null?null:o.c3u();break;case"Bool":var c=r==null?null:Ce(r),h=c==null?null:c.c3u();t=h==null?null:og(h);break;case"Point":var f;r==null?f=null:f=Ue().t3r(VI.v3t(),r),t=f;break;case"Tile":var v;r==null?v=null:v=Ue().t3r(HI.v3t(),r),t=v;break;case"EntityRef":var d;r==null?d=null:d=Ue().t3r(WI.v3t(),r),t=d;break;default:var g;if($a(i,"LocalEnum.")){var b=r==null?null:Ce(r);g=b==null?null:b.c3u()}else if($a(i,"Array<")){var w=pg(K7(i,"Array<"),">"),x=r==null?null:sT(r),z;if(x==null)z=null;else{for(var k=N().d1(gr(x,10)),A=x.e1();A.f1();){var D=A.g1(),B=YI($1(),w,D);k.c1(B)}z=k}g=z}else throw H().u(i+" is not supported. Is the type describe exist in LdTK ? (https://ldtk.io/json/#ldtk-FieldInstanceJson) If yes, please fill an issue to support it in Tiny (https://github.com/minigdx/tiny/issues).");t=g;break}return t}function tB(e){return e.s36("__type",oq("__type",dn())),e.s36("__value",x1.v3t().c36()),S}var Sv;function eB(){if(Sv===l){class e{constructor(){td=this;var r=this;r.k5o_1=Ud("CustomField",[],tB)}c36(){return this.k5o_1}l5o(r,t){throw U7().r8("LdTk file is not supposed to be serialized. If you need to update it, Use LdTk instead: https://ldtk.io/")}d36(r,t){return this.l5o(r,t instanceof H0()?t:m())}e36(r){var t=x1.v3t().e36(r),n=iT(t),a=n.w1m("__identifier"),s=a==null?null:Ce(a),u=nr(s==null?null:s.c3u()),_=n.w1m("__type"),o=_==null?null:Ce(_),c=nr(o==null?null:o.c3u()),h=n.w1m("__value");return new(H0())(u,c,YI(this,c,h))}}P(e,"CustomFieldSerializer",l,l,[V()]),Sv=e}return Sv}var td;function $1(){return td===l&&new(eB()),td}function nB(){return I1(),UI}function aB(){return I1(),KI}function iB(){return I1(),GI}function sB(){return I1(),JI}Om=new(TP());new(HP());WI=new(VP());HI=new(ZP());VI=new(QP());var zv;function ZI(){if(zv===l){class e{constructor(r,t,n,a,s,u,_){a=a===l?RI():a,this.i48_1=r,this.j48_1=t,this.k48_1=n,this.l48_1=a,this.m48_1=s,this.n48_1=u,this.o48_1=_}f48(){return this.i48_1}v47(){return this.j48_1}b48(){return this.k48_1}u47(){return this.l48_1}w47(r){this.m48_1=r}e48(){return this.m48_1}}p(e,"GameLevel",l,l,[Qa()]),zv=e}return zv}var by=Math.imul,qv;function lB(){if(qv===l){class e extends kr(){static a4y(r,t){return t===l&&(t={}),t.z4x_1=r,this.l2r(t)}g1q(r,t){var n=this.z4x_1.e4y_1.s49(this.z4x_1.g4y_1),a=n==null?null:n.t48_1,s;if(a==null)return y().c1k_1;s=a;var u=s,_=r.i1p(),o=t.i1p();if(XI(this.z4x_1,u,_,o)){var c=u.a4d(_,o),h=c[0];return y().y1t(h)}else return y().c1k_1}}p(e,"pget",l,l,l,[0,1,2,3]),qv=e}return qv}function XI(e,i,r,t){return(0<=r?r=n.length)return y().f1k_1;var a=this.w4y_1;this.w4y_1=a+1|0;var s=n[a],u=t.v1m(s);return u}}p(e,l,l,l,l,[1,2,0,3]),jv=e}return jv}var Mv;function vB(){if(Mv===l){class e extends Qt(){static a4z(){return this.n2q()}q1q(r){var t=nr(r.p1m(1)),n=r.j1p(2)-1|0;if(n<1)return y().f1k_1;var a=t.l1(n);if(a.k1o())return y().f1k_1;var s=y(),u=[y().y1t(n),a];return s.p25(u)}}p(e,l,l,l,l,[1,2,0,3]),Mv=e}return Mv}var Tv;function pB(){if(Tv===l){class e extends kr(){static e4z(r,t){return t===l&&(t={}),t.d4z_1=r,this.l2r(t)}f1q(r){return F(kr()).f1q.call(this,r)}g1q(r,t){var n;t.n1m()?n=ed(this,nr(t.o1m())):n=sr().p1i();var a=n,s=ed(this,nr(r.o1m()));return a.u1m(s),s.i1n("__index",s),a}}p(e,"new",l,l,l,[0,1,2,3]),Tv=e}return Tv}var Fv;function dB(){if(Fv===l){class e extends kr(){static i4z(r,t){return t===l&&(t={}),t.h4z_1=r,this.l2r(t)}g1q(r,t){var n;if(r.n1m()&t.n1m()){r instanceof sr()||m(),t instanceof sr()||m();for(var a=r.v1n(),s=0,u=a.length;sn;a.f3(r,s)}n4t(r,t){var n=SB().m52(t),a=this.i4l_1,s=()=>n;a.f3(r,s)}v1m(r){var t=r.o1p(),n=this.i4l_1,a=(j(n,kt())?n:m()).b3(t),s=a==null?null:a();return s??y().c1k_1}b1n(r,t){var n=r.o1p(),a=this.j4l_1,s=(j(a,kt())?a:m()).b3(n);s?.(t)}}p(e,"WrapperLuaTable",e.k4l,l,l,[0,1,2,3]),Jv=e}return Jv}var Rm=Math.imul;function Cy(e,i,r,t){var n=xe().k4l();return n.d4m("toggle",()=>{if(e.w4l_1.t4l_1.length===0){for(var a=e.w4l_1,s=0,u=t.b4m_1.h1(),_=Array(u);sxy(this,n.b4m_1))}f1q(r){var t=_e(this.m4m_1),n;if(t==null)return y().f1k_1;n=t;var a=n,s=ti(this.m4m_1,r),u;if(s==null)return y().f1k_1;u=s;var _=u,o=a.b4m_1.l1(_),c=o.g4o();return r$(this,c,()=>xy(this,Py(o)))}}p(e,"entities",l,l,l,[0,1,2,3]),Qv=e}return Qv}function zy(e,i){if(e.t4l_1.length===0)return!0;var r=e.t4l_1,t;if(0<=i&&i<=(r.length-1|0))t=r[i];else return!0;return t}function _e(e){var i=e.n4l_1.w49(e.r4l_1),r=i==null?null:i.n48_1,t=r==null?null:r.n4n_1;return t==null?null:Ba(t,e.s4l_1)}function ti(e,i){var r=_e(e),t;if(r==null)return null;t=r;var n=t,a;if(i.h1o()){var s=i.i1p(),u;Ba(n.b4m_1,s)!=null?u=s:u=null,a=u}else{var _=i.o1p(),o=n.b4m_1,c;r:{for(var h=0,f=o.e1();f.f1();){var v=f.g1();if(v.g4o()===_){c=h;break r}h=h+1|0}c=-1}var d=c,g;d!==-1?g=d:g=null,a=g}return a}var r3;function DB(){if(r3===l){class e extends yr(){static h4o(r,t){return t===l&&(t={}),t.f4n_1=r,this.p2r(t)}e1q(){var r=this.f4n_1.n4l_1.w49(this.f4n_1.r4l_1),t;if(r==null)return y().c1k_1;t=r;var n=t,a=_e(this.f4n_1),s;if(a==null)return y().c1k_1;s=a;for(var u=s,_=u.b4m_1,o=N().p1(),c=0,h=_.e1();h.f1();){var f=h.g1(),v=c;c=v+1|0;var d=Ht(v);zy(this.f4n_1,d)&&f.b4n()!=null&&o.c1(f)}for(var g=xd(W7(o)),b=g.e1();b.f1();){var w=b.g1();Sy(this,n,w)}return y().f1k_1}f1q(r){var t=ti(this.f4n_1,r),n;if(t==null)return y().c1k_1;n=t;var a=n;if(!zy(this.f4n_1,a))return y().c1k_1;var s=_e(this.f4n_1),u=s==null?null:s.b4m_1,_=u==null?null:Ba(u,a),o;if(_==null)return y().c1k_1;o=_;var c=o;if(c.b4n()==null)return y().c1k_1;var h=this.f4n_1.n4l_1.w49(this.f4n_1.r4l_1),f;if(h==null)return y().c1k_1;f=h;var v=f;return Sy(this,v,c),y().f1k_1}}p(e,"draw",l,l,l,[0,1,2,3]),r3=e}return r3}function qy(e,i,r,t){var n=t.l4o_1,a=n.l1(0),s=n.l1(1),u=t.k4o_1,_=u.l1(0),o=u.l1(1),c=RB(t.j4o_1),h=c.zd(),f=c.ae();e.p4l_1.n4o(i,a,s,r,r,_,o,h,f)}function PB(e,i){var r=sr().p1i();return r.c1n("entityIid",y().y1u(i.o4o_1)),r.c1n("layerIid",y().y1u(i.p4o_1)),r.c1n("levelIid",y().y1u(i.q4o_1)),r.c1n("worldIid",y().y1u(i.r4o_1)),r}function BB(e,i){var r=sr().p1i();return r.c1n("cx",y().y1t(i.s4o_1)),r.c1n("cy",y().y1t(i.t4o_1)),r}function OB(e,i){var r=sr().p1i();return r.c1n("x",y().y1t(i.x4o_1)),r.c1n("y",y().y1t(i.y4o_1)),r.c1n("w",y().y1t(i.w4o_1)),r.c1n("h",y().y1t(i.u4o_1)),r.c1n("tilesetUid",y().y1t(i.v4o_1)),r}function id(e,i,r,t,n){var a=H7(i,KB),s=V7(a,f=>{var v=n(f,r,t),d=nr(f.z4o()),g;return 0<=v&&v"x ("+r+") has to be between 0 and "+this.t4c_1+" (excluded)");var u=ln,_=0<=t?t"y ("+t+") has to be between 0 and "+this.u4c_1+" (excluded)");var o=ln,c=n.length===this.v4c_1;o.c4c(c,()=>"the assigned pixel needs to conform the pixel format ("+this.v4c_1+")");for(var h=Math.max(0,r),f=this.t4c_1-1|0,v=Math.min(h,f),d=Math.max(0,t),g=this.u4c_1-1|0,b=Math.min(d,g),w=me(v+me(b,this.t4c_1)|0,this.v4c_1),x=0,z=0,k=n.length;z=0&&r"x ("+r+") has to be between 0 and "+this.t4c_1+" (excluded)");var s=ln,u=t>=0&&t"y ("+t+") has to be between 0 and "+this.u4c_1+" (excluded)");var _=me(r+me(t,this.t4c_1)|0,this.v4c_1);switch(this.v4c_1){case 4:this.y4c_1[0]=this.w4c_1[_],this.y4c_1[1]=this.w4c_1[_+1|0],this.y4c_1[2]=this.w4c_1[_+2|0],this.y4c_1[3]=this.w4c_1[_+3|0];break;case 3:this.y4c_1[0]=this.w4c_1[_],this.y4c_1[1]=this.w4c_1[_+1|0],this.y4c_1[2]=this.w4c_1[_+2|0];break;case 1:this.y4c_1[0]=this.w4c_1[_];break}return this.y4c_1}toString(){for(var r=me(this.t4c_1,this.v4c_1),t=0,n=0,a=Kn().na(this.x4c_1+this.u4c_1|0);t=r&&(n=0,a.ja(` -`));return a.toString()}}p(e,"PixelArray"),n3=e}return n3}var YB=Math.imul,a3;function u$(){if(a3===l){class e{constructor(r,t){this.u5l_1=r,this.v5l_1=t}toString(){return"SpriteSheetKey(index="+this.u5l_1+", type="+this.v5l_1.toString()+")"}hashCode(){var r=this.u5l_1;return r=YB(r,31)+this.v5l_1.hashCode()|0,r}equals(r){return this===r?!0:!(!(r instanceof u$())||this.u5l_1!==r.u5l_1||!this.v5l_1.equals(r.v5l_1))}}p(e,"SpriteSheetKey"),a3=e}return a3}var i3;function Yn(){if(i3===l){class e{constructor(r,t,n,a,s,u,_,o,c){o=o===l?null:o,c=c===l?!1:c,this.p48_1=r,this.q48_1=t,this.r48_1=n,this.s48_1=a,this.t48_1=s,this.u48_1=u,this.v48_1=_,this.w48_1=o,this.x48_1=c,this.y48_1=new(u$())(this.q48_1,this.s48_1)}f48(){return this.p48_1}v47(){return this.q48_1}b48(){return this.r48_1}u47(){return this.s48_1}w47(r){this.x48_1=r}e48(){return this.x48_1}}p(e,"SpriteSheet",l,l,[Qa()]),i3=e}return i3}function ZB(e,i){var r;if(i.o1g()){var t=i.z1f(),n=e.j4h_1.e4h_1.t49(t),a=n==null?null:n.q48_1,s=a??e.j4h_1.e4h_1.u49();r=T(s,t)}else{var u=i.s1o(),_=e.j4h_1.e4h_1.s49(u),o=_==null?null:_.r48_1;r=T(u,o??"frame_buffer_"+u)}return r}function Ey(e){var i=e.m4h_1.g4h_1.n4h(),r=i.zd(),t=i.ae(),n=sr().p1i();return n.e1n("x",r),n.e1n("y",t),n}var s3;function XB(){if(s3===l){class e extends yr(){static t4h(r,t){t===l&&(t={}),t.s4h_1=r;var n=this.p2r(t);n.q4h_1=0;var a=n;return a.r4h_1=[Ay(),JB(),WB(),HB(),VB()],n}e1q(){var r=y().y1t(this.q4h_1);return this.q4h_1=0,this.s4h_1.g4h_1.u4h(Ay()),r}f1q(r){var t=this.q4h_1,n=r.i1p();if(!(0<=n&&n=this.o4f_1.length||t<0)return y().e1k_1;var n=this.o4f_1[t];return y().u26(this.p4f_1.h4f_1.b4d(n))}}p(e,"pressed",l,l,l,[1,0,2,3]),m3=e}return m3}var w3;function oO(){if(w3===l){class e extends pr(){static u4f(r,t){return t===l&&(t={}),t.t4f_1=r,this.g2w(t)}f1q(r){var t=I2(),n=r.i1p();if(n>=t.length||n<0)return y().e1k_1;var a=t[n];return y().u26(this.t4f_1.h4f_1.c4d(a))}}p(e,"pressing",l,l,l,[1,0,2,3]),w3=e}return w3}var y3;function cO(){if(y3===l){class e extends pr(){static y4f(r,t){return t===l&&(t={}),t.x4f_1=r,this.g2w(t)}f1q(r){var t=Y5(),n=r.i1p();if(n>=t.length||n<0)return y().e1k_1;var a=Y5()[n],s=this.x4f_1.h4f_1.e4d(a),u;if(s==null)u=null;else{var _=sr().p1i();_.e1n("x",Br(s.i4e_1)),_.e1n("y",Br(s.j4e_1)),u=_}var o=u,c=o??y().c1k_1;return c}}p(e,"touched",l,l,l,[1,0,2,3]),y3=e}return y3}var g3;function hO(){if(g3===l){class e extends pr(){static c4g(r,t){return t===l&&(t={}),t.b4g_1=r,this.g2w(t)}f1q(r){var t=Ln(),n=lt(t),a=r.i1p();if(a>=n.length||a<0)return y().e1k_1;var s=Ln().l1(a),u=this.b4g_1.h4f_1.d4d(s),_;if(u==null)_=null;else{var o=sr().p1i();o.e1n("x",Br(u.i4e_1)),o.e1n("y",Br(u.j4e_1)),_=o}var c=_,h=c??y().c1k_1;return h}}p(e,"touching",l,l,l,[1,0,2,3]),g3=e}return g3}var b3;function fO(){if(b3===l){class e extends kr(){static d4g(r,t){var n=this.l2r();return n.h4f_1=r,n.i4f_1=QI().e4g(t),n}g1q(r,t){var n=sr().p1i();return n.c1n("pressed",_O().q4f(this)),n.c1n("pressing",oO().u4f(this)),n.c1n("touch",uO().e4f(this)),n.c1n("touched",cO().y4f(this)),n.c1n("touching",hO().c4g(this)),t.c1n("ctrl",n),t.w1m("package").w1m("loaded").c1n("ctrl",n),n}}p(e,"CtrlLib",l,l,l,[0,1,2,3]),b3=e}return b3}var _$=Math.imul;function vO(e,i,r){var t=Aa(i.q4a_1,e.u4r_1.n4r_1),n=t==null?null:t.x4a_1;return n==null?null:Aa(n,r)}function pO(e){throw Xt().nc("An operation is not implemented: H")}function dO(e){return()=>{var i=e,r=i==null?null:i.t4q_1,t;r==null?t=null:t=y().y1u(r);var n=t;return n??y().c1k_1}}function mO(e,i){return()=>{var r;if(e.c4s_1)r=y().y1t(-1);else{var t=i;(t==null?null:t.s4q_1)!=null?r=y().y1t(i.s4q_1):r=y().c1k_1}return r}}function wO(e){return i=>{if(i.k1o())e.v4r_1=null,e.c4s_1=!1;else if(i.i1p()===-1)e.v4r_1=null,e.c4s_1=!0;else{var r=i.i1p();e.v4r_1=qe().v4q(Y7(r,Yt(o1().s4q_1,Md().s4q_1))-1|0),e.c4s_1=!1}return S}}function yO(e){return()=>{var i=e,r=i==null?null:i.x4q(),t;r==null?t=null:t=y().y1t(r);var n=t;return n??y().c1k_1}}function gO(e,i){return r=>{var t=e,n;return r.k1o()||i==null?n=jd():n=qe().w4q(i.t4q_1+We(r.i1p(),0,8)),t.v4r_1=n,S}}function bO(e){return()=>y().z1t(e.y4r_1*255)}function kO(e){return i=>(e.y4r_1=Z7(i.r1o(),0,255)/255,S)}function CO(e){return()=>e.b4s_1?y().y1t(1):y().y1t(0)}function xO(e){return i=>(e.b4s_1=i.i1p()>=1,S)}function SO(e){return()=>{var i=e.z4r_1,r;i==null?r=null:r=y().y1t(i);var t=r;return t??y().c1k_1}}function zO(e){return i=>{var r=e,t;if(i.k1o())t=null;else{var n;i.i1p()<0?n=null:n=We(i.i1p(),0,7),t=n}return r.z4r_1=t,S}}function qO(e,i){return()=>y().z1t(e.k4s_1[i])}function IO(e,i){return r=>(e.k4s_1[i]=r.r1o(),S)}var k3;function $O(){if(k3===l){class e{constructor(r){this.p4s_1=r}hh(r,t){return this.p4s_1(r,t)}compare(r,t){return this.hh(r,t)}o3(){return this.p4s_1}equals(r){var t;if(r!=null&&j(r,ae())){var n;r!=null&&j(r,et())?n=E(this.o3(),r.o3()):n=!1,t=n}else t=!1;return t}hashCode(){return Z(this.o3())}}p(e,"sam$kotlin_Comparator$0",l,l,[ae(),et()]),k3=e}return k3}function AO(e){var i=qe().w4q(e.z1f()),r=sr().p1i();return r.c1n("note",y().y1u(i.h3_1)),r.c1n("notei",y().y1t(i.s4q_1)),r.c1n("octave",y().y1t(i.x4q())),r}function EO(e,i){var r=e.w4r_1,t=i.w4r_1;return Pa(r,t)}var C3;function o$(){if(C3===l){class e{constructor(r,t){this.q4s_1=r,this.r4s_1=t}toString(){return"SoundKey(soundIndex="+this.q4s_1+", barIndex="+this.r4s_1+")"}hashCode(){var r=this.q4s_1;return r=_$(r,31)+this.r4s_1|0,r}equals(r){return this===r?!0:!(!(r instanceof o$())||this.q4s_1!==r.q4s_1||this.r4s_1!==r.r4s_1)}}p(e,"SoundKey"),C3=e}return C3}var x3;function c$(){if(x3===l){class e{constructor(r,t){this.s4s_1=r,this.t4s_1=t}toString(){return"SequenceKey(soundIndex="+this.s4s_1+", sequenceIndex="+this.t4s_1+")"}hashCode(){var r=this.s4s_1;return r=_$(r,31)+this.t4s_1|0,r}equals(r){return this===r?!0:!(!(r instanceof c$())||this.s4s_1!==r.s4s_1||this.t4s_1!==r.t4s_1)}}p(e,"SequenceKey"),x3=e}return x3}function NO(e){e.q4r_1.v2(),e.r4r_1=e.r4r_1+1|0}var S3;function LO(){if(S3===l){class e extends bg(){static x4s(r,t){return t===l&&(t={}),t.w4s_1=r,this.v35(t)}e1q(){throw Xt().nc("An operation is not implemented: E")}}p(e,"export",l,l,l,[0,1,2,3]),S3=e}return S3}var z3;function jO(){if(z3===l){class e extends pr(){static b4t(r,t){return t===l&&(t={}),t.a4t_1=r,this.g2w(t)}f1q(r){throw Xt().nc("An operation is not implemented: F")}}p(e,"save",l,l,l,[1,0,2,3]),z3=e}return z3}var q3;function MO(){if(q3===l){class e extends pr(){static f4t(r,t){return t===l&&(t={}),t.e4t_1=r,this.g2w(t)}f1q(r){throw Xt().nc()}}p(e,"load",l,l,l,[1,0,2,3]),q3=e}return q3}var I3;function TO(){if(I3===l){class e extends pr(){static j4t(r,t){return t===l&&(t={}),t.i4t_1=r,this.g2w(t)}f1q(r){throw Xt().nc("An operation is not implemented: G")}}p(e,"music",l,l,l,[1,0,2,3]),I3=e}return I3}var $3;function FO(){if($3===l){class e extends pr(){static k4t(r,t){return t===l&&(t={}),t.u4r_1=r,this.g2w(t)}f1q(r){var t=this.u4r_1.l4t(),n=JO(this.u4r_1,r,t),a;if(n==null)return y().c1k_1;a=n;var s=a,u=vO(this,t,s),_=u==null?null:this.m4t(u);return _??y().c1k_1}m4t(r){var t=xe().k4l();t.n4t("play",pO);var n=()=>y().z1t(r.e4b_1);return t.o4t("volume",n,a=>(r.e4b_1=a.y1o(0),S)),t.p4t("beats",()=>{for(var a=sr().p1i(),s=r.d4b_1,u=N().d1(gr(s,10)),_=s.e1();_.f1();){var o=_.g1(),c=o.v4r_1,h=xe().k4l();h.p4t("note",dO(c));var f=mO(o,c);h.o4t("notei",f,wO(o));var v=yO(c);h.o4t("octave",v,gO(o,c));var d=bO(o);h.o4t("volume",d,kO(o));var g=CO(o);h.o4t("mode",g,xO(o));var b=SO(o);h.o4t("instrument",b,zO(o)),u.c1(h)}for(var w=0,x=u.e1();x.f1();){var z=x.g1(),k=w;w=k+1|0;var A=Ht(k);a.k1n(A+1|0,z)}return a}),t}}p(e,"track",l,l,l,[1,0,2,3]),$3=e}return $3}var A3;function DO(){if(A3===l){class e extends yr(){static t4t(r,t){return t===l&&(t={}),t.s4t_1=r,this.p2r(t)}f1q(r){var t=this.s4t_1.l4t(),n=h$(this.s4t_1,r,t),a;if(n==null)return y().c1k_1;a=n;var s=a,u=this.s4t_1.q4r_1.b3(s),_;if(u==null){var o=Aa(t.o4a_1,s),c=o==null?null:this.u4t(o),h;c==null?h=null:(this.s4t_1.q4r_1.f3(s,c),h=c),_=h}else _=u;var f=_;return f??y().c1k_1}g1q(r,t){var n=this.f1q(r),a;if(n.equals(y().c1k_1)&&t.x1o(!1)){var s=r.s1o(),u=new(At())(s);this.s4t_1.l4t().o4a_1[s]=u,this.s4t_1.q4r_1.g3(s),a=this.u4t(u)}else a=n;return a}u4t(r){var t=xe().k4l();t.p4t("index",()=>y().y1t(r.d4s_1)),t.p4t("all",()=>{for(var f=sr().p1i(),v=this.s4t_1.l4t().o4a_1,d=N().p1(),g=0,b=v.length;g{var f=r.e4s_1,v;f==null?v=null:v=y().y1u(f);var d=v;return d??y().c1k_1};t.o4t("name",n,f=>(r.e4s_1=f.b1p(null),S));var a=()=>y().y1u(r.f4s_1.h3_1);t.o4t("wave",a,f=>{var v=r,d=f.o1p(),g;d==null?g=null:g=cF(d);var b=g;return v.f4s_1=b??fn(),S});var s=()=>y().z1t(r.g4s_1);t.o4t("attack",s,f=>(r.g4s_1=f.y1o(0),S));var u=()=>y().z1t(r.h4s_1);t.o4t("decay",u,f=>(r.h4s_1=f.y1o(0),S));var _=()=>y().z1t(r.i4s_1);t.o4t("sustain",_,f=>(r.i4s_1=f.y1o(0),S));var o=()=>y().z1t(r.j4s_1);t.o4t("release",o,f=>(r.j4s_1=f.y1o(0),S)),t.p4t("sweep",()=>{var f=xe().k4l(),v=()=>{var b=r.l4s_1.l1(0).v4t();return y().u26(b)};f.o4t("active",v,b=>{var w=b.x1o(!1);return r.l4s_1.l1(0).w4t(w),S});var d=()=>{var b=y(),w=r.l4s_1.l1(0);return b.z1t((w instanceof ee()?w:m()).y4t_1)};f.o4t("acceleration",d,b=>{var w=r.l4s_1.l1(0);return(w instanceof ee()?w:m()).y4t_1=b.y1o(0),S});var g=()=>{var b=y(),w=r.l4s_1.l1(0);return b.z1t((w instanceof ee()?w:m()).x4t_1)};return f.o4t("sweep",g,b=>{var w=r.l4s_1.l1(0);return(w instanceof ee()?w:m()).x4t_1=b.y1o(0),S}),f}),t.p4t("vibrato",()=>{var f=xe().k4l(),v=()=>{var b=r.l4s_1.l1(1).v4t();return y().u26(b)};f.o4t("active",v,b=>{var w=b.x1o(!1);return r.l4s_1.l1(1).w4t(w),S});var d=()=>{var b=y(),w=r.l4s_1.l1(1);return b.z1t((w instanceof ne()?w:m()).a4u_1)};f.o4t("frequency",d,b=>{var w=r.l4s_1.l1(1);return(w instanceof ne()?w:m()).a4u_1=b.y1o(0),S});var g=()=>{var b=y(),w=r.l4s_1.l1(1);return b.z1t((w instanceof ne()?w:m()).b4u_1)};return f.o4t("depth",g,b=>{var w=r.l4s_1.l1(1);return(w instanceof ne()?w:m()).b4u_1=b.y1o(0),S}),f}),t.n4t("noteOn",f=>{var v=qe().w4q(f.z1f());return this.s4t_1.i4r_1.d4u(v,r),y().f1k_1}),t.n4t("noteOff",f=>{var v=qe().w4q(f.z1f());return this.s4t_1.i4r_1.e4u(v),y().f1k_1}),t.p4t("harmonics",()=>{var f=xe().k4l(),v=Ct(0,r.k4s_1.length),d=v.v1_1,g=v.w1_1;if(d<=g)do{var b=d;d=d+1|0;var w=b,x=""+(w+1|0),z=qO(r,w);f.o4t(x,z,IO(r,w))}while(b!==g);return f});var c=this.s4t_1.q4r_1,h=r.d4s_1;return c.f3(h,t),t}}p(e,"instrument",l,l,l,[0,1,2,3]),A3=e}return A3}var E3;function PO(){if(E3===l){class e extends pr(){static i4u(r,t){return t===l&&(t={}),t.h4u_1=r,this.g2w(t)}f1q(r){var t=this.h4u_1.l4t(),n=r.i1p(),a=Aa(t.p4a_1,n),s=a==null?null:this.j4u(a,t);return s??y().c1k_1}j4u(r,t){var n=xe().k4l();n.p4t("index",()=>y().y1t(r.r4a_1)),n.p4t("all",()=>{for(var s=sr().p1i(),u=this.h4u_1.l4t().p4a_1,_=N().d1(u.length),o=0,c=u.length;oy().y1t(r.u4a_1);return n.o4t("bpm",a,s=>(r.u4a_1=s.i1p(),S)),n.n4t("set_volume",s=>{var u=s.w1m("beat").q1o(),_=s.w1m("volume").q1o();return r.k4u(u,_),y().f1k_1}),n.n4t("set_note",s=>{var u=s.w1m("beat").q1o(),_=qe().w4q(s.w1m("note").z1f()),o=s.w1m("duration").q1o(),c=s.w1m("unique").x1o(!1);return r.l4u(_,u,o,c),y().f1k_1}),n.n4t("remove_note",s=>{var u=s.w1m("beat").q1o(),_=qe().w4q(s.w1m("note").z1f());return r.m4u(_,u),y().f1k_1}),n.n4t("note_data",AO),n.p4t("notes",()=>{for(var s=sr().p1i(),u=r.v4a_1,_=EO,o=new($O())(_),c=Ws(u,o),h=N().d1(gr(c,10)),f=c.e1();f.f1();){var v=f.g1(),d=sr().p1i(),g=v.v4r_1,b=g==null?null:g.h3_1,w;b==null?w=null:w=y().y1u(b);var x=w;d.c1n("note",x??y().c1k_1);var z=v.v4r_1,k=z==null?null:z.s4q_1,A;k==null?A=null:A=y().y1t(k);var D=A;d.c1n("notei",D??y().c1k_1);var B=v.v4r_1,R=B==null?null:B.x4q(),W;R==null?W=null:W=y().y1t(R);var G=W;d.c1n("octave",G??y().c1k_1),d.c1n("volume",y().z1t(v.y4r_1)),d.c1n("beat",y().z1t(v.w4r_1)),d.c1n("duration",y().z1t(v.x4r_1)),h.c1(d)}for(var Q=0,X=h.e1();X.f1();){var rr=X.g1(),tr=Q;Q=tr+1|0;var ir=Ht(tr);s.k1n(ir+1|0,rr)}return s}),n.d4m("play",()=>{var s=this.h4u_1.i4r_1.n4u(r);s.o4u();var u=s,_=xe().k4l();return _.d4m("stop",()=>(u.p4u(),y().f1k_1)),_}),n.n4t("set_instrument",s=>{var u;if(s.k1o()){var _=r.s4a_1,o;_==null?o=null:o=y().y1t(_.d4s_1);var c=o;u=c??y().c1k_1}else{var h=h$(this.h4u_1,s,t),f;if(h==null)return y().c1k_1;f=h;var v=f,d=Aa(t.o4a_1,v),g;if(d==null)return y().c1k_1;g=d;var b=g;r.s4a_1=b,r.t4a_1=b.d4s_1,u=y().f1k_1}return u}),n.p4t("instrument",()=>{var s=r.s4a_1,u=s==null?null:s.d4s_1,_;u==null?_=null:_=y().y1t(u);var o=_;return o??y().c1k_1}),n.d4m("save",()=>{var s=this.h4u_1.h4r_1.x49(0),u;if(s==null)return y().c1k_1;u=s;var _=u,o=this.h4u_1.l4t(),c=on().q4u(o);return this.h4u_1.j4r_1.x4u(_.t4u_1,c),y().f1k_1}),n.d4m("export",()=>{var s=this.h4u_1.i4r_1.f4b(r);return this.h4u_1.j4r_1.y4u(s),y().f1k_1}),n}}p(e,"bar",l,l,l,[1,0,2,3]),E3=e}return E3}var N3;function BO(){if(N3===l){class e extends pr(){static c4v(r,t){return t===l&&(t={}),t.b4v_1=r,this.g2w(t)}e1q(){return F(pr()).e1q.call(this)}f1q(r){var t=this.b4v_1.l4t().p4a_1;if(t.length===0)return y().c1k_1;if(r.m1o()&&We(r.i1p(),0,t.length-1|0),this.b4v_1.k4r_1)throw Xt().nc("An operation is not implemented: K");return y().c1k_1}}p(e,"play",l,l,l,[1,0,2,3]),N3=e}return N3}var L3;function OO(){if(L3===l){class e extends pr(){static g4v(r,t){return t===l&&(t={}),t.f4v_1=r,this.g2w(t)}e1q(){return F(pr()).e1q.call(this)}f1q(r){var t=this.f4v_1.l4t().p4a_1;if(t.length===0)return y().c1k_1;if(r.m1o()&&We(r.i1p(),0,t.length-1|0),this.f4v_1.k4r_1)throw Xt().nc("An operation is not implemented: L");return y().c1k_1}}p(e,"loop",l,l,l,[1,0,2,3]),L3=e}return L3}var j3;function RO(){if(j3===l){class e extends pr(){static k4v(r,t){return t===l&&(t={}),t.j4v_1=r,this.g2w(t)}e1q(){return F(pr()).e1q.call(this)}f1q(r){var t=this.j4v_1.l4t().p4a_1;if(t.length===0)return y().c1k_1;var n;r.m1o()?n=We(r.i1p(),0,t.length-1|0):n=0;var a=n,s=this.j4v_1.o4r_1.b3(new(o$())(this.j4v_1.m4r_1,a)),u;return s==null?u=null:(s.p4u(),u=S),u==null?y().c1k_1:y().f1k_1}}p(e,"stop",l,l,l,[1,0,2,3]),j3=e}return j3}var M3;function UO(){if(M3===l){class e extends pr(){static o4v(r,t){return t===l&&(t={}),t.n4v_1=r,this.g2w(t)}e1q(){return F(pr()).e1q.call(this)}f1q(r){var t=this.n4v_1.l4t().q4a_1;if(t.length===0)return y().c1k_1;if(r.m1o()&&We(r.i1p(),0,t.length-1|0),this.n4v_1.k4r_1)throw Xt().nc("An operation is not implemented: M");return y().c1k_1}}p(e,"mplay",l,l,l,[1,0,2,3]),M3=e}return M3}var T3;function KO(){if(T3===l){class e extends pr(){static s4v(r,t){return t===l&&(t={}),t.r4v_1=r,this.g2w(t)}e1q(){return F(pr()).e1q.call(this)}f1q(r){var t=this.r4v_1.l4t().q4a_1;if(t.length===0)return y().c1k_1;if(r.m1o()&&We(r.i1p(),0,t.length-1|0),this.r4v_1.k4r_1)throw Xt().nc("An operation is not implemented: N");return y().c1k_1}}p(e,"mloop",l,l,l,[1,0,2,3]),T3=e}return T3}var F3;function GO(){if(F3===l){class e extends pr(){static w4v(r,t){return t===l&&(t={}),t.v4v_1=r,this.g2w(t)}e1q(){return F(pr()).e1q.call(this)}f1q(r){var t=this.v4v_1.l4t().q4a_1;if(t.length===0)return y().c1k_1;var n;r.m1o()?n=We(r.i1p(),0,t.length-1|0):n=0;var a=n,s=this.v4v_1.p4r_1.b3(new(c$())(this.v4v_1.m4r_1,a)),u;return s==null?u=null:(s.p4u(),u=S),u==null?y().c1k_1:y().f1k_1}}p(e,"mstop",l,l,l,[1,0,2,3]),F3=e}return F3}function h$(e,i,r){var t;if(i.h1o()){var n=i.i1p(),a=r.o4a_1,s;r:{for(var u=0,_=a.length;u<_;){var o=a[u];if(u=u+1|0,(o==null?null:o.d4s_1)===n){s=o;break r}}s=null}var c=s;t=c==null?null:c.d4s_1}else{var h=r.o4a_1,f;r:{for(var v=0,d=h.length;v]";else{r.c1(Z(n));var s=n.v1n(),u=X7(s," ",l,l,l,l,o=>dg(o.b1p("nil"),":")+p$(e,n.v1m(o),r));a="table["+u+"]"}t=a}else if(i.f1o()){var _=Ct(0,i.c1q());t="function("+Et(_,", ",l,l,l,l,sR)+")"}else t=i.toString();return t}function aR(e,i,r,t){var n;return r===l?n=gt().o1():n=r,r=n,p$(e,i,r)}var Y3;function iR(){if(Y3===l){class e extends Qt(){static i4g(r,t){return t===l&&(t={}),t.h4g_1=r,this.n2q(t)}q1q(r){var t=r.c1q(),n=Yt(1,t),a=Et(n," ",l,l,l,l,s=>aR(this.h4g_1,r.b1q(s)));return this.h4g_1.l4g_1.m45("🐛",()=>a),y().c1k_1}}p(e,"console",l,l,l,[1,2,0,3]),Y3=e}return Y3}function sR(e){return"arg"}var Z3;function lR(){if(Z3===l){class e extends kr(){static m4g(r){var t=this.l2r();return t.l4g_1=r,t}g1q(r,t){var n=sr().p1i();return n.c1n("console",iR().i4g(this)),t.c1n("debug",n),t.w1m("package").w1m("loaded").c1n("debug",n),n}}p(e,"DebugLib",l,l,l,[0,1,2,3]),Z3=e}return Z3}var X3;function uR(){if(X3===l){class e extends kr(){static d4l(){return this.l2r()}g1q(r,t){var n=sr().p1i(),a=vw(C(97),C(122)),s=a.xl_1,u=a.yl_1;if(s<=u)do{var _=new(J())(s);s=pw(s,1);var o=_.g2_1,c=ge(o,C(97));n.c1n(Lr(o),Ft().y1t(P2().i3_1+c|0))}while(!E(_,new(J())(u)));var h=vw(C(48),C(57)),f=h.xl_1,v=h.yl_1;if(f<=v)do{var d=new(J())(f);f=pw(f,1);var g=d.g2_1,b=ge(g,C(48));n.c1n(Lr(g),Ft().y1t(D2().i3_1+b|0))}while(!E(d,new(J())(v)));return n.c1n("up",Ft().y1t(M2().i3_1)),n.c1n("down",Ft().y1t(F2().i3_1)),n.c1n("right",Ft().y1t(T2().i3_1)),n.c1n("left",Ft().y1t(j2().i3_1)),n.c1n("space",Ft().y1t(L2().i3_1)),n.c1n("enter",Ft().y1t(A2().i3_1)),n.c1n("shift",Ft().y1t(E2().i3_1)),n.c1n("ctrl",Ft().y1t(va().i3_1)),n.c1n("alt",Ft().y1t(N2().i3_1)),n.c1n("delete",Ft().y1t($2().i3_1)),t.c1n("keys",n),t.w1m("package").w1m("loaded").c1n("keys",n),n}}p(e,"KeysLib",e.d4l,l,l,[0,1,2,3]),X3=e}return X3}function Q3(e,i){return i*i*i*(i*(i*6-15)+10)}function Bt(e,i){return(i+1|0)&255}function Te(e,i,r,t,n){var a=i&15,s=a<8?r:t,u;a<4?u=t:a===12||a===14?u=r:u=n;var _=u;return((a&1)===0?s:-s)+((a&2)===0?_:-_)}function rn(e,i,r,t){return i+t*(r-i)}var r4;function _R(){if(r4===l){class e extends pr(){static e4p(r,t){return t===l&&(t={}),t.d4p_1=r,this.g2w(t)}f1q(r){var t;return r.q1o()>=0?t=y().h1k_1:t=m$().f4p_1,t}}p(e,"sign",l,l,l,[1,0,2,3]),r4=e}return r4}var t4;function oR(){if(t4===l){class e extends kr(){static j4p(r,t){return t===l&&(t={}),t.i4p_1=r,this.l2r(t)}g1q(r,t){var n=r.q1o(),a=t.q1o(),s=Math.atan2(n,a);return y().z1t(s)}}p(e,"atan2",l,l,l,[0,1,2,3]),t4=e}return t4}var e4;function cR(){if(e4===l){class e extends s1(){static n4p(r,t){return t===l&&(t={}),t.m4p_1=r,this.s35(t)}h1q(r,t,n){var a;r.q1o()>t.q1o()?a=r:a=t;var s=a,u;s.q1o()0){var s=sn().zk(1,n.n1n()+1|0);a=n.l1(s)}else a=y().c1k_1;t=a}else{var u;if(r.h1o())u=y().y1t(sn().q1(Tn(r.s1o())));else{var _=y(),o=sn(),c=r.q1o(),h=Math.abs(c);u=_.z1t(o.cl(h))}t=u}return t}g1q(r,t){if(t.k1o())return this.f1q(r);var n=r.s1o(),a=t.s1o(),s;return n===a?s=y().y1t(n):s=y().y1t(sn().zk(n,a)),s}}p(e,"rnd",l,l,l,[0,1,2,3]),i4=e}return i4}var s4;function vR(){if(s4===l){class e extends kr(){static e4q(r,t){return t===l&&(t={}),t.d4q_1=r,this.l2r(t)}g1q(r,t){var n=r.w1m("x").s1o(),a=r.w1m("y").s1o(),s=r.w1m("width").s1o(),u=r.w1m("height").s1o(),_=t.w1m("x").s1o(),o=t.w1m("y").s1o(),c=t.w1m("width").s1o(),h=t.w1m("height").s1o();return y().u26(n<(_+c|0)&&(n+s|0)>_&&a<(o+h|0)&&(a+u|0)>o)}}p(e,"roverlap",l,l,l,[0,1,2,3]),s4=e}return s4}var l4;function pR(){if(l4===l){class e extends s1(){static j4q(r,t,n){n===l&&(n={}),n.i4q_1=r;var a=this.s35(n),s=Q7(a1(Yt(0,255)),Wy(t)),u=a,_=N().p1(),o=0;if(o<512)do{var c=o;o=o+1|0,_.c1(s.l1(c&255))}while(o<512);return u.h4q_1=_,a}k4q(r,t,n){var a=Math.floor(r),s=Br(a)&255,u=Math.floor(t),_=Br(u)&255,o=Math.floor(n),c=Br(o)&255,h=r-Math.floor(r),f=t-Math.floor(t),v=n-Math.floor(n),d=Q3(this,h),g=Q3(this,f),b=Q3(this,v),w=this.h4q_1.l1(this.h4q_1.l1(this.h4q_1.l1(s)+_|0)+c|0),x=this.h4q_1.l1(this.h4q_1.l1(this.h4q_1.l1(s)+Bt(this,_)|0)+c|0),z=this.h4q_1.l1(this.h4q_1.l1(this.h4q_1.l1(s)+_|0)+Bt(this,c)|0),k=this.h4q_1.l1(this.h4q_1.l1(this.h4q_1.l1(s)+Bt(this,_)|0)+Bt(this,c)|0),A=this.h4q_1.l1(this.h4q_1.l1(this.h4q_1.l1(Bt(this,s))+_|0)+c|0),D=this.h4q_1.l1(this.h4q_1.l1(this.h4q_1.l1(Bt(this,s))+Bt(this,_)|0)+c|0),B=this.h4q_1.l1(this.h4q_1.l1(this.h4q_1.l1(Bt(this,s))+_|0)+Bt(this,c)|0),R=this.h4q_1.l1(this.h4q_1.l1(this.h4q_1.l1(Bt(this,s))+Bt(this,_)|0)+Bt(this,c)|0),W=rn(this,Te(this,w,h,f,v),Te(this,A,h-1,f,v),d),G=rn(this,Te(this,x,h,f-1,v),Te(this,D,h-1,f-1,v),d),Q=rn(this,W,G,g),X=rn(this,Te(this,z,h,f,v-1),Te(this,B,h-1,f,v-1),d),rr=rn(this,Te(this,k,h,f-1,v-1),Te(this,R,h-1,f-1,v-1),d),tr=rn(this,X,rr,g);return(rn(this,Q,tr,b)+1)/2}h1q(r,t,n){return y().z1t(this.k4q(r.q1o(),t.q1o(),n.q1o()))}}p(e,"perlin",l,l,l,[0,1,2,3]),l4=e}return l4}var u4;function dR(){if(u4===l){class e{constructor(){ld=this,this.f4p_1=y().y1t(-1)}}ar(e),u4=e}return u4}var ld;function m$(){return ld===l&&new(dR()),ld}var _4;function mR(){if(_4===l){class e extends w8(){static n4q(){return m$(),this.c2z()}g1q(r,t){var n=super.g1q(r,t);return n.c1n("rnd",fR().a4q(this)),n.c1n("clamp",cR().n4p(this)),n.c1n("dst",hR().s4p(this)),n.c1n("dst2",d$().w4p(this)),n.c1n("sign",_R().e4p(this)),n.c1n("atan2",oR().j4p(this)),n.c1n("roverlap",vR().e4q(this)),n.c1n("perlin",pR().j4q(this,sn().al())),n}}p(e,"MathLib",e.n4q,l,l,[0,1,2,3]),_4=e}return _4}var o4;function wR(){if(o4===l){class e extends kr(){static d51(){return this.l2r()}g1q(r,t){var n=wt.e51(r,t),a=n.l1(0),s=n.l1(1),u;a.k1o()?u=y().g1k_1:u=a;var _=u,o;s.k1o()?o=y().g1k_1:o=s;var c=o;return wt.f51(_,c)}f1q(r){return super.f1q(r)}}p(e,"create",e.d51,l,l,[0,1,2,3]),o4=e}return o4}var c4;function yR(){if(c4===l){class e extends Qt(){static i51(){return this.n2q()}q1q(r){var t=wt.j51(r),n=t.l1(0),a=t.l1(1),s=t.l1(2),u=t.l1(3);return wt.f51(y().z1t(n.q1o()+s.q1o()),y().z1t(a.q1o()+u.q1o()))}g1q(r,t){return super.g1q(r,t)}s2q(r,t,n,a){return super.s2q(r,t,n,a)}}p(e,"add",e.i51,l,l,[1,2,0,3]),c4=e}return c4}var h4;function gR(){if(h4===l){class e extends Qt(){static m51(){return this.n2q()}q1q(r){var t=wt.j51(r),n=t.l1(0),a=t.l1(1),s=t.l1(2),u=t.l1(3);return wt.f51(y().z1t(n.q1o()-s.q1o()),y().z1t(a.q1o()-u.q1o()))}g1q(r,t){return super.g1q(r,t)}s2q(r,t,n,a){return super.s2q(r,t,n,a)}}p(e,"sub",e.m51,l,l,[1,2,0,3]),h4=e}return h4}var f4;function bR(){if(f4===l){class e extends yr(){static p51(){return this.p2r()}q1q(r){var t=wt.j51(r),n=t.l1(0),a=t.l1(1),s=t.l1(2),u=t.l1(3);return y().z1t(n.q1o()*s.q1o()+a.q1o()*u.q1o())}g1q(r,t){return super.g1q(r,t)}s2q(r,t,n,a){return super.s2q(r,t,n,a)}}p(e,"dot",e.p51,l,l,[0,1,2,3]),f4=e}return f4}var v4;function kR(){if(v4===l){class e extends Qt(){static s51(){return this.n2q()}q1q(r){var t=wt.j51(r),n=t.l1(0),a=t.l1(1),s=y(),u=n.q1o()*n.q1o()+a.q1o()*a.q1o(),_=Math.sqrt(u);return s.z1t(_)}g1q(r,t){return super.g1q(r,t)}f1q(r){return super.f1q(r)}}p(e,"mag",e.s51,l,l,[1,2,0,3]),v4=e}return v4}var p4;function CR(){if(p4===l){class e extends Qt(){static v51(){return this.n2q()}q1q(r){var t=wt.j51(r),n=t.l1(0),a=t.l1(1),s=n.q1o()*n.q1o()+a.q1o()*a.q1o(),u=Math.sqrt(s),_;return u!==0?_=wt.f51(y().z1t(n.q1o()/u),y().z1t(a.q1o()/u)):_=wt.f51(y().y1t(0),y().y1t(0)),_}g1q(r,t){return super.g1q(r,t)}f1q(r){return super.f1q(r)}}p(e,"nor",e.v51,l,l,[1,2,0,3]),p4=e}return p4}var d4;function xR(){if(d4===l){class e extends Qt(){static y51(){return this.n2q()}q1q(r){var t=wt.j51(r),n=t.l1(0),a=t.l1(1),s=t.l1(2),u=t.l1(3);return y().z1t(n.q1o()*u.q1o()-a.q1o()*s.q1o())}g1q(r,t){return super.g1q(r,t)}s2q(r,t,n,a){return super.s2q(r,t,n,a)}}p(e,"crs",e.y51,l,l,[1,2,0,3]),d4=e}return d4}var m4;function SR(){if(m4===l){class e extends Qt(){static b52(){return this.n2q()}q1q(r){var t=wt.j51(r),n=t.l1(0),a=t.l1(1),s=t.l1(2);return wt.f51(y().z1t(n.q1o()*s.q1o()),y().z1t(a.q1o()*s.q1o()))}h1q(r,t,n){return super.h1q(r,t,n)}g1q(r,t){return super.g1q(r,t)}}p(e,"scl",e.b52,l,l,[1,2,0,3]),m4=e}return m4}var w4;function zR(){if(w4===l){class e{e51(r,t){var n;return r.n1m()?n=Rr([r.w1m("x"),r.w1m("y")]):n=Rr([r,t]),n}j51(r){for(var t=1,n=N().p1(),a=r.b1q(t);t<=r.c1q();)a.n1m()?(n.c1(a.w1m("x")),n.c1(a.w1m("y")),t=t+1|0):(r.c1q()-t|0)>=0&&(n.c1(a),t=t+1|0,n.c1(r.b1q(t)),t=t+1|0),a=r.b1q(t);return n}f51(r,t){var n=sr().p1i();return n.c1n("x",r),n.c1n("y",t),n}}ar(e),w4=e}return w4}var wt,y4;function qR(){if(y4===l){class e extends kr(){static e52(){return this.l2r()}g1q(r,t){var n=sr().p1i();return n.c1n("create",wR().d51()),n.c1n("add",yR().i51()),n.c1n("sub",gR().m51()),n.c1n("dot",bR().p51()),n.c1n("crs",xR().y51()),n.c1n("mag",kR().s51()),n.c1n("nor",CR().v51()),n.c1n("scl",SR().b52()),t.c1n("vec2",n),t.w1m("package").w1m("loaded").c1n("vec2",n),n}}p(e,"Vec2Lib",e.e52,l,l,[0,1,2,3]),y4=e}return y4}wt=new(zR());function Nt(e,i){return Math.pow(e,i)}function ct(e,i,r){return e+(i-e)*this.m4j(r)}var g4;function ht(){if(g4===l){class e{}Ar(e,"Interpolation"),g4=e}return g4}var b4;function mi(){if(b4===l){class e{constructor(r){this.n52_1=r}m4j(r){var t;return r<=.5?t=Nt(r*2,this.n52_1)/2:t=Nt((r-1)*2,this.n52_1)/((this.n52_1%2|0)===0?-2:2)+1,t}toString(){return"pow"+this.n52_1}}F(e).n4j=ct,p(e,"PowInterpolation",l,l,[ht()]),b4=e}return b4}var k4;function wi(){if(k4===l){class e{constructor(r){this.o52_1=r}m4j(r){return Nt(r,this.o52_1)}toString(){return"powIn"+this.o52_1}}F(e).n4j=ct,p(e,"PowInInterpolation",l,l,[ht()]),k4=e}return k4}var C4;function yi(){if(C4===l){class e{constructor(r){this.p52_1=r}m4j(r){return Nt(r-1,this.p52_1)*((this.p52_1%2|0)===0?-1:1)+1}toString(){return"powOut"+this.p52_1}}F(e).n4j=ct,p(e,"PowOutInterpolation",l,l,[ht()]),C4=e}return C4}var x4;function w$(){if(x4===l){class e{m4j(r){var t=r*3.141592653589793;return(1-Math.cos(t))/2}toString(){return"sine"}}F(e).n4j=ct,p(e,"SineInterpolation",w$,l,[ht()]),x4=e}return x4}var S4;function y$(){if(S4===l){class e{m4j(r){var t=r*1.5707964;return 1-Math.cos(t)}toString(){return"sineIn"}}F(e).n4j=ct,p(e,"SineInInterpolation",y$,l,[ht()]),S4=e}return S4}var z4;function g$(){if(z4===l){class e{m4j(r){var t=r*1.5707964;return Math.sin(t)}toString(){return"sineOut"}}F(e).n4j=ct,p(e,"SineOutInterpolation",g$,l,[ht()]),z4=e}return z4}var q4;function b$(){if(q4===l){class e{m4j(r){var t=r;if(t<=.5){t=t*2;var n=1-t*t;return(1-Math.sqrt(n))/2}t=t-1,t=t*2;var a=1-t*t;return(Math.sqrt(a)+1)/2}toString(){return"circle"}}F(e).n4j=ct,p(e,"CircleInterpolation",b$,l,[ht()]),q4=e}return q4}var I4;function k$(){if(I4===l){class e{m4j(r){var t=1-r*r;return 1-Math.sqrt(t)}toString(){return"circleIn"}}F(e).n4j=ct,p(e,"CircleInInterpolation",k$,l,[ht()]),I4=e}return I4}var $4;function C$(){if($4===l){class e{m4j(r){var t=r;t=t-1;var n=1-t*t;return Math.sqrt(n)}toString(){return"circleOut"}}F(e).n4j=ct,p(e,"CircleOutInterpolation",C$,l,[ht()]),$4=e}return $4}var A4;function Um(){if(A4===l){class e{constructor(r,t,n,a){this.q52_1=r,this.r52_1=t,this.s52_1=a,this.t52_1=n*3.141592653589793*((n%2|0)===0?1:-1)}m4j(r){var t=r;if(t<=.5){t=t*2;var n=Nt(this.q52_1,this.r52_1*(t-1)),a=t*this.t52_1;return n*Math.sin(a)*this.s52_1/2}t=1-t,t=t*2;var s=Nt(this.q52_1,this.r52_1*(t-1)),u=t*this.t52_1;return 1-s*Math.sin(u)*this.s52_1/2}toString(){return"elastic"}}F(e).n4j=ct,p(e,"ElasticInterpolation",l,l,[ht()]),A4=e}return A4}var E4;function IR(){if(E4===l){class e extends Um(){m4j(r){var t;if(r>=.99)t=1;else{var n=Nt(this.q52_1,this.r52_1*(r-1)),a=r*this.t52_1;t=n*Math.sin(a)*this.s52_1}return t}toString(){return"elasticIn"}}p(e,"ElasticInInterpolation"),E4=e}return E4}var N4;function $R(){if(N4===l){class e extends Um(){m4j(r){var t=r;if(t===0)return 0;t=1-t;var n=Nt(this.q52_1,this.r52_1*(t-1)),a=t*this.t52_1;return 1-n*Math.sin(a)*this.s52_1}toString(){return"elasticOut"}}p(e,"ElasticOutInterpolation"),N4=e}return N4}var L4;function x$(){if(L4===l){class e{m4j(r){return r}toString(){return"linear"}}F(e).n4j=ct,p(e,"LinearInterpolation",x$,l,[ht()]),L4=e}return L4}var j4;function Gs(){if(j4===l){class e{constructor(r,t){this.c53_1=r,this.d53_1=t,this.e53_1=Nt(this.c53_1,-this.d53_1),this.f53_1=1/(1-this.e53_1)}m4j(r){var t;return r<=.5?t=(Nt(this.c53_1,this.d53_1*(r*2-1))-this.e53_1)*this.f53_1/2:t=(2-(Nt(this.c53_1,-this.d53_1*(r*2-1))-this.e53_1)*this.f53_1)/2,t}toString(){return"exp"+Br(this.d53_1)}}F(e).n4j=ct,p(e,"ExpInterpolation",l,l,[ht()]),j4=e}return j4}var M4;function Ny(){if(M4===l){class e extends Gs(){m4j(r){return(Nt(this.c53_1,this.d53_1*(r-1))-this.e53_1)*this.f53_1}toString(){return"expIn"+Br(this.d53_1)}}p(e,"ExpInInterpolation"),M4=e}return M4}var T4;function Ly(){if(T4===l){class e extends Gs(){m4j(r){return 1-(Nt(this.c53_1,-this.d53_1*r)-this.e53_1)*this.f53_1}toString(){return"expOut"+Br(this.d53_1)}}p(e,"ExpOutInterpolation"),T4=e}return T4}function jy(e,i){var r=i+e.o53_1[0]/2;return r5){var t="bounces cannot be < 2 or > 5: "+r;throw H().u($(t))}switch(this.o53_1=new Float32Array(r),this.p53_1=new Float32Array(r),this.p53_1[0]=1,r){case 2:this.o53_1[0]=.6,this.o53_1[1]=.4,this.p53_1[1]=.33;break;case 3:this.o53_1[0]=.4,this.o53_1[1]=.4,this.o53_1[2]=.2,this.p53_1[1]=.33,this.p53_1[2]=.1;break;case 4:this.o53_1[0]=.34,this.o53_1[1]=.34,this.o53_1[2]=.2,this.o53_1[3]=.15,this.p53_1[1]=.26,this.p53_1[2]=.11,this.p53_1[3]=.03;break;case 5:this.o53_1[0]=.3,this.o53_1[1]=.3,this.o53_1[2]=.2,this.o53_1[3]=.1,this.o53_1[4]=.1,this.p53_1[1]=.45,this.p53_1[2]=.3,this.p53_1[3]=.15,this.p53_1[4]=.06;break}var n=this.o53_1;n[0]=n[0]*2}m4j(r){var t=r;if(t===1)return 1;t=t+this.o53_1[0]/2;var n=0,a=0,s=0,u=this.o53_1.length;r:for(;s(n.m5a_1.m5c(this.v56_1),n.n5a_1.m5c(this.u56_1),a.p5b_1.t5c(r),z)),this.w56_1.v5c();var t=3;this.w56_1.qt(4,0,t),this.t56_1.v54(t),this.t56_1.w54(),this.w56_1.w5c()}}d(e,"FrameBufferStage"),bv=e}return bv}Nm=new(jF());var yv;function LF(){if(yv===u){class e{constructor(){this.k58_1=1e3,this.l58_1=100}}ar(e),yv=e}return yv}var kv;function MF(){if(kv===u){class e extends Rn(){constructor(r,t){t===u&&(t={}),t.o58_1=r,super(1e3,t)}v4d(){return this.o58_1.v55_1()}p58(r){r.c1h()}b4e(r){return this.p58(r!=null&&L(r,ym())?r:m())}}d(e),kv=e}return kv}var xv;function TF(){if(xv===u){class e extends Rn(){constructor(r,t){t===u&&(t={}),t.s58_1=r,super(1e3,t)}v4d(){return this.s58_1.w55_1()}t58(r){r.c1h()}b4e(r){return this.t58(r!=null&&L(r,km())?r:m())}}d(e),xv=e}return xv}var Cv;function DF(){if(Cv===u){class e extends Rn(){constructor(r,t){t===u&&(t={}),t.w58_1=r,super(100,t)}v4d(){return this.w58_1.x55_1()}x58(r){r.c1h()}b4e(r){return this.x58(r!=null&&L(r,Cm())?r:m())}}d(e),Cv=e}return Cv}var zv;function hw(){if(zv===u){class e{constructor(r,t,n){this.v55_1=r,this.w55_1=t,this.x55_1=n;var a=this;a.y55_1=jr().sa();var s=this;s.z55_1=new(MF())(this);var _=this;_.a56_1=new(TF())(this);var l=this;l.b56_1=new(DF())(this)}y56(){return this.z55_1.e4e()}e57(){return this.a56_1.e4e()}p57(r,t){var n=this.y55_1,a=n.y2(r),s;if(a==null){var _=j().p1();n.c3(r,_),s=_}else s=a;var l=s,o=hb(l),c;if(o==null)c=null;else{var h;o.i58()?h=o:h=null,c=h}var v=c,f;if(v==null){var p=this.b56_1.e4e();l.c1(p),f=p}else f=v;var w=f;w.j58(t),this.a56_1.f4e([t])}c56(r){for(var t=this.y55_1.b3().e1();t.f1();)for(var n=t.g1(),a=n.u2(),s=n.v2(),_=s.e1();_.f1();){var l=_.g1();r(a,l)}this.s2()}s2(){this.b56_1.g4e(B$(this.y55_1.a3())),this.z55_1.g4e(this.y55_1.z2()),this.y55_1.s2()}}d(e,"BatchManager"),zv=e}return zv}new(LF());var ea=Math.imul,Sv;function vp(){if(Sv===u){class e{constructor(r,t){this.m4b_1=r,this.n4b_1=t,this.o4b_1=0,this.p4b_1=this.m4b_1,this.q4b_1=0,this.r4b_1=this.n4b_1,this.s4b_1=this.m4b_1,this.t4b_1=this.n4b_1,this.u4b_1=!0}v4b(r,t,n,a){var s=this,_=r+n|0,l=Math.min(r,_);s.o4b_1=Math.max(0,l);var o=this,c=r+n|0,h=Math.max(r,c),v=this.m4b_1;o.p4b_1=Math.min(h,v);var f=this,p=t+a|0,w=Math.min(t,p);f.q4b_1=Math.max(0,w);var b=this,g=t+a|0,C=Math.max(t,g),S=this.n4b_1;return b.r4b_1=Math.min(C,S),this.s4b_1=this.p4b_1-this.o4b_1|0,this.t4b_1=this.r4b_1-this.q4b_1|0,this.u4b_1=!0,this}c1h(){this.o4b_1=0,this.p4b_1=this.m4b_1,this.q4b_1=0,this.r4b_1=this.n4b_1,this.s4b_1=this.m4b_1,this.t4b_1=this.n4b_1,this.u4b_1=!0}equals(r){var t=r instanceof vp()?r:null,n;if(t==null)return!1;n=t;var a=n;return this.m4b_1===a.m4b_1&&this.n4b_1===a.n4b_1&&this.o4b_1===a.o4b_1&&this.p4b_1===a.p4b_1&&this.q4b_1===a.q4b_1&&this.r4b_1===a.r4b_1}hashCode(){var r=this.m4b_1;return r=ea(31,r)+this.n4b_1|0,r=ea(31,r)+this.o4b_1|0,r=ea(31,r)+this.p4b_1|0,r=ea(31,r)+this.q4b_1|0,r=ea(31,r)+this.r4b_1|0,r}}d(e,"Clipper"),Sv=e}return Sv}function FF(e){var i=e.n4c_1.slice();return e.o4c_1=i,i}var qv;function PF(){if(qv===u){class e{constructor(r){this.m4c_1=r;for(var t=this,n=0,a=this.m4c_1.f4c_1,s=Array(a);n(e.b55_1.u55(i,r),z)),e.b55_1.d56(),e.c55_1.t55(),e.i55_1.c56((i,r)=>(e.c55_1.i56(i,r),z)),e.c55_1.d56(),e.x54_1.ws(2929),e.x54_1.au(36160,null),e.f55_1=1,e.e55_1=null}function Ae(e){e.g55_1=null}function Ve(e,i){var r=i==null?null:i.c49_1,t=e.e55_1;A(r,t==null?null:t.c49_1)||(e.f55_1=e.f55_1-1e-4,e.e55_1=i)}function Ye(e,i,r,t,n,a){var s=e.l55_1.e4e().v4b(i,r,t,n),_=e.l55_1.e4e().v4b(e.j55_1.b4d_1.t4c_1,e.j55_1.b4d_1.u4c_1,e.y54_1.e47_1,e.y54_1.f47_1),l=e.l55_1.e4e().v4b(e.j55_1.z4c_1.o4b_1,e.j55_1.z4c_1.q4b_1,e.j55_1.z4c_1.s4b_1,e.j55_1.z4c_1.t4b_1),o=e.l55_1.e4e();LI(e,_,l,o),OF(e,s,o)&&a(),e.l55_1.f4e([s,_,l,o])}var Av;function dp(){if(Av===u){class e{constructor(r,t,n,a){this.j56_1=r,this.k56_1=t,this.l56_1=n,this.m56_1=a}c1h(){this.v4b(0,0,0,0)}v4b(r,t,n,a){return this.j56_1=r,this.k56_1=t,this.l56_1=n,this.m56_1=a,this}toString(){return"BoundingBox(x="+this.j56_1+", y="+this.k56_1+", width="+this.l56_1+", height="+this.m56_1+")"}hashCode(){var r=this.j56_1;return r=an(r,31)+this.k56_1|0,r=an(r,31)+this.l56_1|0,r=an(r,31)+this.m56_1|0,r}equals(r){return this===r?!0:!(!(r instanceof dp())||this.j56_1!==r.j56_1||this.k56_1!==r.k56_1||this.l56_1!==r.l56_1||this.m56_1!==r.m56_1)}}d(e,"BoundingBox"),Av=e}return Av}function LI(e,i,r,t){var n=i.j56_1,a=r.j56_1,s=Math.max(n,a),_=i.k56_1,l=r.k56_1,o=Math.max(_,l),c=i.j56_1+i.l56_1|0,h=r.j56_1+r.l56_1|0,v=Math.min(c,h),f=i.k56_1+i.m56_1|0,p=r.k56_1+r.m56_1|0,w=Math.min(f,p);t.j56_1=s,t.k56_1=o;var b=t,g=v-s|0;b.l56_1=Math.max(0,g);var C=t,S=w-o|0;C.m56_1=Math.max(0,S)}function OF(e,i,r){var t=e.l55_1.e4e();LI(e,i,r,t);var n=t.l56_1>0&&t.m56_1>0;return e.l55_1.f4e([t]),n}var jv;function UF(){if(jv===u){class e{constructor(){this.n56_1=1e-4}}ar(e),jv=e}return jv}function KF(e){return fp(e),e.x54_1.au(36160,e.p55().n55_1),e.x54_1.iu(0,0,e.y54_1.e47_1,e.y54_1.f47_1,6408,5121,e.p55().o55_1),e.x54_1.au(36160,null),new(cF())(e.p55().o55_1,e.y54_1)}function GF(){return new(Ls())}function JF(){return new(xm())}function WF(){return new(gI())}function HF(){return new(wI())}function VF(){return new(zm())}function YF(){return new(bI())}var Nv;function ZF(){if(Nv===u){class e extends Rn(){constructor(){super(100)}v4d(){return new(dp())(0,0,0,0)}q56(r){r.c1h()}b4e(r){return this.q56(r instanceof dp()?r:m())}}d(e),Nv=e}return Nv}var Lv;function XF(){if(Lv===u){class e{constructor(r,t,n){this.x54_1=r,this.y54_1=t,this.z54_1=n,this.b55_1=new($F())(this.x54_1,this.y54_1,this.z54_1),this.c55_1=new(AF())(this.x54_1,this.y54_1,this.z54_1),this.d55_1=new(NF())(this.x54_1,this.y54_1,this.z54_1),this.e55_1=null,this.f55_1=1,this.g55_1=null;var a=this,s=GF,_=JF;a.h55_1=new(hw())(s,_,WF);var l=this,o=HF,c=VF;l.i55_1=new(hw())(o,c,YF),this.j55_1=new(BF())(this.y54_1.e47_1,this.y54_1.f47_1,this.y54_1.r47()),this.k55_1=RF(this);var h=this;h.l55_1=new(ZF())}p55(){var r=this.a55_1;if(r!=null)return r;st("frameBufferContext")}y46(r){this.b55_1.r56(),this.c55_1.r56(),this.d55_1.y46(r);var t=hp().xr(an(an(this.y54_1.e47_1,this.y54_1.f47_1),4)),n=this.x54_1.fu();this.x54_1.eu(36161,n),this.x54_1.hu(36161,35056,this.y54_1.e47_1,this.y54_1.f47_1);var a=this.x54_1.bu();this.x54_1.au(36160,a),this.x54_1.gu(36160,36128,36161,n),this.x54_1.gu(36160,36096,36161,n);var s=this.x54_1.jt();if(this.x54_1.mt(3553,s),this.x54_1.kt(3553,0,6408,this.y54_1.e47_1,this.y54_1.f47_1,0,6408,5121,t),this.x54_1.nt(3553,10241,9728),this.x54_1.nt(3553,10240,9728),this.x54_1.du(36160,36064,3553,s,0),this.x54_1.cu(36160)!==36053)throw vr().r3("Framebuffer is NOT complete!");this.a55_1=new(NI())(s,a,t),this.x54_1.vs(3042),this.x54_1.ws(3089),this.x54_1.mt(3553,null),this.x54_1.au(36160,null)}d4z(r,t,n,a,s,_,l,o,c,h){return Ye(this,l,o,s,_,()=>{Ae(this),Ve(this,r);var v=this.j55_1.a4d_1.q4c()[t],f=this.h55_1.y56();f.d57(r,this.j55_1.a4d_1.p4c_1,this.k55_1[v],this.j55_1.d4d());var p=this.h55_1.e57();return p.o57(n,a,s,_,l-this.j55_1.b4d_1.t4c_1|0,o-this.j55_1.b4d_1.u4c_1|0,c,h,this.f55_1),this.h55_1.p57(f,p),z})}a4p(r,t,n,a,s,_,l,o,c){return Ye(this,_,l,a,s,()=>{Ae(this),Ve(this,r);var h=this.h55_1.y56();h.d57(r,this.j55_1.a4d_1.p4c_1,this.j55_1.a4d_1.q4c(),this.j55_1.d4d());var v=this.h55_1.e57();return v.o57(t,n,a,s,_-this.j55_1.b4d_1.t4c_1|0,l-this.j55_1.b4d_1.u4c_1|0,o,c,this.f55_1),this.h55_1.p57(h,v),z})}u4u(r,t,n,a,s,_){return Ye(this,r,t,n,a,()=>{Ae(this),Ve(this,null);var l=this.i55_1.y56().r57(this.j55_1.d4d()),o=this.i55_1.e57(),c=r-this.j55_1.b4d_1.t4c_1|0,h=t-this.j55_1.b4d_1.u4c_1|0,v=this.j55_1.a4d_1.q4c()[s],f=this.j55_1.a4d_1.p4c_1,p=this.f55_1,w=o.c58(c,h,n,a,v,f,_,p);return this.i55_1.p57(l,w),z})}p4u(r,t,n,a,s){var _=Math.min(r,n),l=Math.min(t,a),o=Nn(n-r|0)+1|0,c=Nn(a-t|0)+1|0;return Ye(this,_,l,o,c,()=>{Ae(this),Ve(this,null);var h=this.i55_1.y56().r57(this.j55_1.d4d()),v=this.i55_1.e57(),f=r-this.j55_1.b4d_1.t4c_1|0,p=t-this.j55_1.b4d_1.u4c_1|0,w=n-this.j55_1.b4d_1.t4c_1|0,b=a-this.j55_1.b4d_1.u4c_1|0,g=this.j55_1.a4d_1.q4c()[s],C=this.j55_1.a4d_1.p4c_1,S=this.f55_1,k=v.d58(f,p,w,b,C,g,S);return this.i55_1.p57(h,k),z})}d4v(r,t,n,a,s){var _=r-n|0,l=t-n|0,o=an(n,2),c=an(n,2);return Ye(this,_,l,o,c,()=>{Ae(this),Ve(this,null);var h=this.i55_1.y56().r57(this.j55_1.d4d()),v=this.i55_1.e57(),f=r-this.j55_1.b4d_1.t4c_1|0,p=t-this.j55_1.b4d_1.u4c_1|0,w=this.j55_1.a4d_1.q4c()[a],b=this.j55_1.a4d_1.p4c_1,g=this.f55_1,C=v.e58(f,p,n,w,b,s,g);return this.i55_1.p57(h,C),z})}q4i(r,t,n){return Ye(this,r,t,1,1,()=>{Ae(this),Ve(this,null);var a=this.i55_1.y56().r57(this.j55_1.d4d()),s=this.i55_1.e57(),_=r-this.j55_1.b4d_1.t4c_1|0,l=t-this.j55_1.b4d_1.u4c_1|0,o=this.j55_1.a4d_1.q4c()[n],c=this.j55_1.a4d_1.p4c_1,h=this.f55_1,v=s.f58(_,l,c,o,h);return this.i55_1.p57(a,v),z})}n4v(r,t,n,a,s,_,l,o){var c=Math.min(r,n),h=Math.min(c,s),v=Math.min(t,a),f=Math.min(v,_),p=Math.max(r,n),w=Math.max(p,s)-h|0,b=Math.max(t,a),g=Math.max(b,_)-f|0;Ye(this,h,f,w,g,()=>{Ae(this),Ve(this,null);var C=this.i55_1.y56().r57(this.j55_1.d4d()),S=this.i55_1.e57().g58(r-this.j55_1.b4d_1.t4c_1|0,t-this.j55_1.b4d_1.u4c_1|0,n-this.j55_1.b4d_1.t4c_1|0,a-this.j55_1.b4d_1.u4c_1|0,s-this.j55_1.b4d_1.t4c_1|0,_-this.j55_1.b4d_1.u4c_1|0,this.j55_1.a4d_1.q4c()[l],this.j55_1.a4d_1.p4c_1,o,this.f55_1);return this.i55_1.p57(C,S),z})}b47(){fp(this),this.d55_1.h58(this.p55().m55_1)}c47(r){this.b55_1.c47(r)}v4i(){var r=this.g55_1,t=r??KF(this);return this.g55_1=t,t}m4j(r){var t=this.j55_1.a4d_1.p4c_1;return this.j55_1.a4d_1.p4c_1=r,t}gt(r){Ae(this),this.h55_1.s2(),this.i55_1.s2(),this.x54_1.au(36160,this.p55().n55_1);var t=this.y54_1.r47().h4c(r),n=t[0],a=t[1],s=t[2],_=Lr(n),l=(Fr(_)&255)/255,o=Lr(a),c=(Fr(o)&255)/255,h=Lr(s),v=Fr(h)&255;this.x54_1.ht(l,c,v/255,1),this.x54_1.gt(16640),this.x54_1.au(36160,null)}d4j(){this.j55_1.a4d_1.r4c()}e4j(r,t){this.j55_1.a4d_1.s4c(r,t)}h4j(r,t){this.j55_1.b4d_1.v4c(r,t)}a4i(){return T(this.j55_1.b4d_1.t4c_1,this.j55_1.b4d_1.u4c_1)}g4j(){this.j55_1.b4d_1.v4c(0,0)}s4j(r,t,n,a){this.j55_1.z4c_1.v4b(r,t,n,a)}r4j(){this.j55_1.z4c_1.c1h()}h4i(r){switch(fp(this),this.x54_1.au(36160,this.p55().n55_1),r.f3_1){case 0:this.x54_1.ws(2960),this.x54_1.vs(3042),this.x54_1.wt(0),this.x54_1.it(770,771),this.x54_1.xt(!0,!0,!0,!0);break;case 1:this.x54_1.ws(2960),this.x54_1.vs(3042),this.x54_1.vt(0,1,0,771),this.x54_1.xt(!0,!0,!0,!0);break;case 2:this.x54_1.vs(2960),this.x54_1.ws(3042),this.x54_1.wt(255),this.x54_1.gt(1024),this.x54_1.zt(519,1,255),this.x54_1.yt(7680,7680,7681),this.x54_1.xt(!1,!1,!1,!1);break;case 3:this.x54_1.vs(2960),this.x54_1.vs(3042),this.x54_1.wt(0),this.x54_1.zt(514,1,255),this.x54_1.yt(7680,7680,7680),this.x54_1.xt(!0,!0,!0,!0),this.x54_1.it(770,771);break;case 4:this.x54_1.vs(2960),this.x54_1.vs(3042),this.x54_1.wt(0),this.x54_1.zt(517,1,255),this.x54_1.yt(7680,7680,7680),this.x54_1.xt(!0,!0,!0,!0),this.x54_1.it(770,771);break;default:wt();break}this.x54_1.au(36160,null)}}d(e,"DefaultVirtualFrameBuffer"),Lv=e}return Lv}new(UF());var MI,TI,DI,FI,PI,BI,RI,fw;function yn(){if(fw)return z;fw=!0,MI=new(je())("BOOT_GAMESCRIPT",0),TI=new(je())("GAME_GAMESCRIPT",1),DI=new(je())("ENGINE_GAMESCRIPT",2),FI=new(je())("BOOT_SPRITESHEET",3),PI=new(je())("GAME_SPRITESHEET",4),BI=new(je())("GAME_LEVEL",5),RI=new(je())("GAME_SOUND",6),new(je())("PRIMITIVE_SPRITESHEET",7)}var Mv;function je(){if(Mv===u){class e extends Ot(){}d(e,"ResourceType"),Mv=e}return Mv}function Ms(){return yn(),MI}function QF(){return yn(),TI}function Ts(){return yn(),DI}function dw(){return yn(),FI}function Lm(){return yn(),PI}function OI(){return yn(),BI}function rP(){return yn(),RI}var Tv;function Ya(){if(Tv===u){class e{}Ir(e,"GameResource"),Tv=e}return Tv}var na=Math.imul,Dv;function Za(){if(Dv===u){class e{constructor(r,t,n,a,s,_){s=s===u?rP():s,_=_===u?!1:_,this.u4s_1=r,this.v4s_1=t,this.w4s_1=n,this.x4s_1=a,this.y4s_1=s,this.z4s_1=_}j48(){return this.u4s_1}z47(){return this.v4s_1}f48(){return this.w4s_1}y47(){return this.y4s_1}a48(r){this.z4s_1=r}i48(){return this.z4s_1}toString(){return"Sound(version="+this.u4s_1+", index="+this.v4s_1+", name="+this.w4s_1+", data="+$(this.x4s_1)+", type="+this.y4s_1.toString()+", reload="+this.z4s_1+")"}hashCode(){var r=this.u4s_1;return r=na(r,31)+this.v4s_1|0,r=na(r,31)+br(this.w4s_1)|0,r=na(r,31)+Z(this.x4s_1)|0,r=na(r,31)+this.y4s_1.hashCode()|0,r=na(r,31)+ba(this.z4s_1)|0,r}equals(r){return this===r?!0:!(!(r instanceof Za())||this.u4s_1!==r.u4s_1||this.v4s_1!==r.v4s_1||this.w4s_1!==r.w4s_1||!A(this.x4s_1,r.x4s_1)||!this.y4s_1.equals(r.y4s_1)||this.z4s_1!==r.z4s_1)}}d(e,"Sound",u,u,[Ya()]),Dv=e}return Dv}var U=Math.imul,UI,KI,GI,JI;function tP(){return[eB(),nB(),aB(),iB()]}var pw;function k1(){if(pw)return z;pw=!0,UI=new(oi())("LinearHorizontal",0),KI=new(oi())("LinearVertical",1),GI=new(oi())("Free",2),JI=new(oi())("GridVania",3)}var Fv;function oi(){if(Fv===u){class e extends Ot(){}d(e,"WorldLayout"),Fv=e}return Fv}function eP(){return cm("com.github.minigdx.tiny.resources.ldtk.WorldLayout",tP())}function nP(){return new(yr())(yp())}function aP(e){return e.a3t_1=!0,e.n3s_1=!0,e.s3s_1="__type",z}var Pv;function iP(){if(Pv===u){class e{constructor(){pp=this;var r=this,t=ur(),n=_r(t,eP),a=ur();r.k5i_1=[null,n,_r(a,nP)]}l5i(r){var t=Vq(u,aP);return t.u3r(this.x3t(),r)}x3t(){return gp()}}ar(e),Pv=e}return Pv}var pp;function wa(){return pp===u&&new(iP()),pp}var Bv;function sP(){if(Bv===u){class e{constructor(){mp=this;var r=new(Ur())("com.github.minigdx.tiny.resources.ldtk.Ldtk",this,3);r.c3i("iid",!1),r.c3i("worldLayout",!1),r.c3i("levels",!1),this.t5l_1=r}u5l(r,t){var n=this.t5l_1,a=r.m3a(n),s=wa().k5i_1;a.c3c(n,0,t.y4n_1),a.e3c(n,1,s[1].v2(),t.z4n_1),a.e3c(n,2,s[2].v2(),t.a4o_1),a.n3a(n)}f36(r,t){return this.u5l(r,t instanceof Ds()?t:m())}g36(r){var t=this.t5l_1,n=!0,a=0,s=0,_=null,l=null,o=null,c=r.m3a(t),h=wa().k5i_1;if(c.c3b())_=c.w3a(t,0),s=s|1,l=c.y3a(t,1,h[1].v2(),l),s=s|2,o=c.y3a(t,2,h[2].v2(),o),s=s|4;else for(;n;)switch(a=c.d3b(t),a){case-1:n=!1;break;case 0:_=c.w3a(t,0),s=s|1;break;case 1:l=c.y3a(t,1,h[1].v2(),l),s=s|2;break;case 2:o=c.y3a(t,2,h[2].v2(),o),s=s|4;break;default:throw Zr().y37(a)}return c.n3a(t),Ds().v5l(s,_,l,o,null)}e36(){return this.t5l_1}r3i(){var r=wa().k5i_1;return[zr(),r[1].v2(),r[2].v2()]}}F(e).s3i=Wr,B(e,"$serializer",u,u,[Hr()]),Bv=e}return Bv}var mp;function gp(){return mp===u&&new(sP()),mp}var Rv;function Ds(){if(Rv===u){class e{toString(){return"Ldtk(iid="+this.y4n_1+", worldLayout="+this.z4n_1.toString()+", levels="+$(this.a4o_1)+")"}hashCode(){var r=br(this.y4n_1);return r=U(r,31)+this.z4n_1.hashCode()|0,r=U(r,31)+Z(this.a4o_1)|0,r}equals(r){return this===r?!0:!(!(r instanceof Ds())||this.y4n_1!==r.y4n_1||!this.z4n_1.equals(r.z4n_1)||!A(this.a4o_1,r.a4o_1))}static v5l(r,t,n,a,s){wa(),(7&r)!==7&&Qr(r,7,gp().t5l_1);var _=Or(this);return _.y4n_1=t,_.z4n_1=n,_.a4o_1=a,_}}d(e,"Ldtk",u,u,u,u,u,{0:gp}),Rv=e}return Rv}function uP(){return new(yr())(Mm.x3t())}function _P(){return new(yr())(x1())}var Ov;function lP(){if(Ov===u){class e{constructor(){wp=this;var r=this,t=ur(),n=_r(t,uP),a=ur();r.w5l_1=[null,null,null,null,n,_r(a,_P)]}}ar(e),Ov=e}return Ov}var wp;function xi(){return wp===u&&new(lP()),wp}var Uv;function oP(){if(Uv===u){class e{constructor(){bp=this;var r=new(Ur())("com.github.minigdx.tiny.resources.ldtk.Level",this,6);r.c3i("identifier",!1),r.c3i("iid",!1),r.c3i("worldX",!1),r.c3i("worldY",!1),r.c3i("layerInstances",!1),r.c3i("fieldInstances",!1),this.x5l_1=r}y5l(r,t){var n=this.x5l_1,a=r.m3a(n),s=xi().w5l_1;a.c3c(n,0,t.k4m_1),a.c3c(n,1,t.l4m_1),a.x3b(n,2,t.m4m_1),a.x3b(n,3,t.n4m_1),a.e3c(n,4,s[4].v2(),t.o4m_1),a.e3c(n,5,s[5].v2(),t.p4m_1),a.n3a(n)}f36(r,t){return this.y5l(r,t instanceof kp()?t:m())}g36(r){var t=this.x5l_1,n=!0,a=0,s=0,_=null,l=null,o=0,c=0,h=null,v=null,f=r.m3a(t),p=xi().w5l_1;if(f.c3b())_=f.w3a(t,0),s=s|1,l=f.w3a(t,1),s=s|2,o=f.r3a(t,2),s=s|4,c=f.r3a(t,3),s=s|8,h=f.y3a(t,4,p[4].v2(),h),s=s|16,v=f.y3a(t,5,p[5].v2(),v),s=s|32;else for(;n;)switch(a=f.d3b(t),a){case-1:n=!1;break;case 0:_=f.w3a(t,0),s=s|1;break;case 1:l=f.w3a(t,1),s=s|2;break;case 2:o=f.r3a(t,2),s=s|4;break;case 3:c=f.r3a(t,3),s=s|8;break;case 4:h=f.y3a(t,4,p[4].v2(),h),s=s|16;break;case 5:v=f.y3a(t,5,p[5].v2(),v),s=s|32;break;default:throw Zr().y37(a)}return f.n3a(t),kp().z5l(s,_,l,o,c,h,v,null)}e36(){return this.x5l_1}r3i(){var r=xi().w5l_1;return[zr(),zr(),K(),K(),r[4].v2(),r[5].v2()]}}F(e).s3i=Wr,B(e,"$serializer",u,u,[Hr()]),Uv=e}return Uv}var bp;function yp(){return bp===u&&new(oP()),bp}var Kv;function kp(){if(Kv===u){class e{toString(){return"Level(identifier="+this.k4m_1+", iid="+this.l4m_1+", worldX="+this.m4m_1+", worldY="+this.n4m_1+", layerInstances="+$(this.o4m_1)+", fieldInstances="+$(this.p4m_1)+")"}hashCode(){var r=br(this.k4m_1);return r=U(r,31)+br(this.l4m_1)|0,r=U(r,31)+this.m4m_1|0,r=U(r,31)+this.n4m_1|0,r=U(r,31)+Z(this.o4m_1)|0,r=U(r,31)+Z(this.p4m_1)|0,r}equals(r){return this===r?!0:!(!(r instanceof kp())||this.k4m_1!==r.k4m_1||this.l4m_1!==r.l4m_1||this.m4m_1!==r.m4m_1||this.n4m_1!==r.n4m_1||!A(this.o4m_1,r.o4m_1)||!A(this.p4m_1,r.p4m_1))}static z5l(r,t,n,a,s,_,l,o){xi(),(63&r)!==63&&Qr(r,63,yp().x5l_1);var c=Or(this);return c.k4m_1=t,c.l4m_1=n,c.m4m_1=a,c.n4m_1=s,c.o4m_1=_,c.p4m_1=l,c}}d(e,"Level",u,u,u,u,u,{0:yp}),Kv=e}return Kv}function cP(){return new(yr())(K())}function hP(){return new(yr())(Pn())}function vP(){return new(yr())(ue())}function fP(){return new(yr())(ue())}var Gv;function dP(){if(Gv===u){class e{constructor(){xp=this;var r=this,t=ur(),n=_r(t,cP),a=ur(),s=_r(a,hP),_=ur(),l=_r(_,vP),o=ur();r.a5m_1=[null,null,null,null,null,null,null,n,null,s,null,l,_r(o,fP)]}}ar(e),Gv=e}return Gv}var xp;function Ci(){return xp===u&&new(dP()),xp}var Jv;function pP(){if(Jv===u){class e{constructor(){Cp=this;var r=new(Ur())("IntGrid",this,13);r.c3i("__identifier",!1),r.c3i("__cWid",!1),r.c3i("__cHei",!1),r.c3i("__gridSize",!1),r.c3i("pxOffsetX",!1),r.c3i("pxOffsetY",!1),r.c3i("seed",!1),r.c3i("intGridCsv",!1),r.c3i("overrideTilesetUid",!0),r.c3i("entityInstances",!0),r.c3i("__tilesetRelPath",!0),r.c3i("autoLayerTiles",!0),r.c3i("gridTiles",!0),this.b5m_1=r}c5m(r,t){var n=this.b5m_1,a=r.m3a(n),s=Ci().a5m_1;a.c3c(n,0,t.d5m_1),a.x3b(n,1,t.e5m_1),a.x3b(n,2,t.f5m_1),a.x3b(n,3,t.g5m_1),a.x3b(n,4,t.h5m_1),a.x3b(n,5,t.i5m_1),a.y3b(n,6,t.j5m_1),a.e3c(n,7,s[7].v2(),t.k5m_1),(a.k3c(n,8)||t.l5m_1!=null)&&a.g3c(n,8,K(),t.l5m_1),(a.k3c(n,9)||t.m5m_1!=null)&&a.g3c(n,9,s[9].v2(),t.m5m_1),(a.k3c(n,10)||t.n5m_1!=null)&&a.g3c(n,10,zr(),t.n5m_1),(a.k3c(n,11)||t.o5m_1!=null)&&a.g3c(n,11,s[11].v2(),t.o5m_1),(a.k3c(n,12)||t.p5m_1!=null)&&a.g3c(n,12,s[12].v2(),t.p5m_1),a.n3a(n)}f36(r,t){return this.c5m(r,t instanceof Aa()?t:m())}g36(r){var t=this.b5m_1,n=!0,a=0,s=0,_=null,l=0,o=0,c=0,h=0,v=0,f=0n,p=null,w=null,b=null,g=null,C=null,S=null,k=r.m3a(t),E=Ci().a5m_1;if(k.c3b())_=k.w3a(t,0),s=s|1,l=k.r3a(t,1),s=s|2,o=k.r3a(t,2),s=s|4,c=k.r3a(t,3),s=s|8,h=k.r3a(t,4),s=s|16,v=k.r3a(t,5),s=s|32,f=k.s3a(t,6),s=s|64,p=k.y3a(t,7,E[7].v2(),p),s=s|128,w=k.a3b(t,8,K(),w),s=s|256,b=k.a3b(t,9,E[9].v2(),b),s=s|512,g=k.a3b(t,10,zr(),g),s=s|1024,C=k.a3b(t,11,E[11].v2(),C),s=s|2048,S=k.a3b(t,12,E[12].v2(),S),s=s|4096;else for(;n;)switch(a=k.d3b(t),a){case-1:n=!1;break;case 0:_=k.w3a(t,0),s=s|1;break;case 1:l=k.r3a(t,1),s=s|2;break;case 2:o=k.r3a(t,2),s=s|4;break;case 3:c=k.r3a(t,3),s=s|8;break;case 4:h=k.r3a(t,4),s=s|16;break;case 5:v=k.r3a(t,5),s=s|32;break;case 6:f=k.s3a(t,6),s=s|64;break;case 7:p=k.y3a(t,7,E[7].v2(),p),s=s|128;break;case 8:w=k.a3b(t,8,K(),w),s=s|256;break;case 9:b=k.a3b(t,9,E[9].v2(),b),s=s|512;break;case 10:g=k.a3b(t,10,zr(),g),s=s|1024;break;case 11:C=k.a3b(t,11,E[11].v2(),C),s=s|2048;break;case 12:S=k.a3b(t,12,E[12].v2(),S),s=s|4096;break;default:throw Zr().y37(a)}return k.n3a(t),Aa().q5m(s,_,l,o,c,h,v,f,p,w,b,g,C,S,null)}e36(){return this.b5m_1}r3i(){var r=Ci().a5m_1;return[zr(),K(),K(),K(),K(),K(),Ka(),r[7].v2(),qr(K()),qr(r[9].v2()),qr(zr()),qr(r[11].v2()),qr(r[12].v2())]}}F(e).s3i=Wr,B(e,"$serializer",u,u,[Hr()]),Jv=e}return Jv}var Cp;function zp(){return Cp===u&&new(pP()),Cp}function mP(){return new(yr())(ue())}function gP(){return new(yr())(K())}function wP(){return new(yr())(Pn())}function bP(){return new(yr())(ue())}var Wv;function yP(){if(Wv===u){class e{constructor(){Sp=this;var r=this,t=ur(),n=_r(t,mP),a=ur(),s=_r(a,gP),_=ur(),l=_r(_,wP),o=ur();r.r5m_1=[null,null,null,null,null,null,null,n,null,null,s,l,_r(o,bP)]}}ar(e),Wv=e}return Wv}var Sp;function zi(){return Sp===u&&new(yP()),Sp}var Hv;function kP(){if(Hv===u){class e{constructor(){qp=this;var r=new(Ur())("AutoLayer",this,13);r.c3i("__identifier",!1),r.c3i("__cWid",!1),r.c3i("__cHei",!1),r.c3i("__gridSize",!1),r.c3i("pxOffsetX",!1),r.c3i("pxOffsetY",!1),r.c3i("seed",!1),r.c3i("autoLayerTiles",!1),r.c3i("__tilesetRelPath",!1),r.c3i("overrideTilesetUid",!0),r.c3i("intGridCsv",!0),r.c3i("entityInstances",!0),r.c3i("gridTiles",!0),this.s5m_1=r}t5m(r,t){var n=this.s5m_1,a=r.m3a(n),s=zi().r5m_1;a.c3c(n,0,t.q5k_1),a.x3b(n,1,t.r5k_1),a.x3b(n,2,t.s5k_1),a.x3b(n,3,t.t5k_1),a.x3b(n,4,t.u5k_1),a.x3b(n,5,t.v5k_1),a.y3b(n,6,t.w5k_1),a.e3c(n,7,s[7].v2(),t.x5k_1),a.c3c(n,8,t.y5k_1),(a.k3c(n,9)||t.z5k_1!=null)&&a.g3c(n,9,K(),t.z5k_1),(a.k3c(n,10)||t.a5l_1!=null)&&a.g3c(n,10,s[10].v2(),t.a5l_1),(a.k3c(n,11)||t.b5l_1!=null)&&a.g3c(n,11,s[11].v2(),t.b5l_1),(a.k3c(n,12)||t.c5l_1!=null)&&a.g3c(n,12,s[12].v2(),t.c5l_1),a.n3a(n)}f36(r,t){return this.t5m(r,t instanceof ja()?t:m())}g36(r){var t=this.s5m_1,n=!0,a=0,s=0,_=null,l=0,o=0,c=0,h=0,v=0,f=0n,p=null,w=null,b=null,g=null,C=null,S=null,k=r.m3a(t),E=zi().r5m_1;if(k.c3b())_=k.w3a(t,0),s=s|1,l=k.r3a(t,1),s=s|2,o=k.r3a(t,2),s=s|4,c=k.r3a(t,3),s=s|8,h=k.r3a(t,4),s=s|16,v=k.r3a(t,5),s=s|32,f=k.s3a(t,6),s=s|64,p=k.y3a(t,7,E[7].v2(),p),s=s|128,w=k.w3a(t,8),s=s|256,b=k.a3b(t,9,K(),b),s=s|512,g=k.a3b(t,10,E[10].v2(),g),s=s|1024,C=k.a3b(t,11,E[11].v2(),C),s=s|2048,S=k.a3b(t,12,E[12].v2(),S),s=s|4096;else for(;n;)switch(a=k.d3b(t),a){case-1:n=!1;break;case 0:_=k.w3a(t,0),s=s|1;break;case 1:l=k.r3a(t,1),s=s|2;break;case 2:o=k.r3a(t,2),s=s|4;break;case 3:c=k.r3a(t,3),s=s|8;break;case 4:h=k.r3a(t,4),s=s|16;break;case 5:v=k.r3a(t,5),s=s|32;break;case 6:f=k.s3a(t,6),s=s|64;break;case 7:p=k.y3a(t,7,E[7].v2(),p),s=s|128;break;case 8:w=k.w3a(t,8),s=s|256;break;case 9:b=k.a3b(t,9,K(),b),s=s|512;break;case 10:g=k.a3b(t,10,E[10].v2(),g),s=s|1024;break;case 11:C=k.a3b(t,11,E[11].v2(),C),s=s|2048;break;case 12:S=k.a3b(t,12,E[12].v2(),S),s=s|4096;break;default:throw Zr().y37(a)}return k.n3a(t),ja().u5m(s,_,l,o,c,h,v,f,p,w,b,g,C,S,null)}e36(){return this.s5m_1}r3i(){var r=zi().r5m_1;return[zr(),K(),K(),K(),K(),K(),Ka(),r[7].v2(),zr(),qr(K()),qr(r[10].v2()),qr(r[11].v2()),qr(r[12].v2())]}}F(e).s3i=Wr,B(e,"$serializer",u,u,[Hr()]),Hv=e}return Hv}var qp;function Ip(){return qp===u&&new(kP()),qp}function xP(){return new(yr())(ue())}function CP(){return new(yr())(K())}function zP(){return new(yr())(Pn())}function SP(){return new(yr())(ue())}var Vv;function qP(){if(Vv===u){class e{constructor(){$p=this;var r=this,t=ur(),n=_r(t,xP),a=ur(),s=_r(a,CP),_=ur(),l=_r(_,zP),o=ur();r.v5m_1=[null,null,null,null,null,null,null,n,null,null,s,l,_r(o,SP)]}}ar(e),Vv=e}return Vv}var $p;function Si(){return $p===u&&new(qP()),$p}var Yv;function IP(){if(Yv===u){class e{constructor(){Ep=this;var r=new(Ur())("Tiles",this,13);r.c3i("__identifier",!1),r.c3i("__cWid",!1),r.c3i("__cHei",!1),r.c3i("__gridSize",!1),r.c3i("pxOffsetX",!1),r.c3i("pxOffsetY",!1),r.c3i("seed",!1),r.c3i("gridTiles",!1),r.c3i("__tilesetRelPath",!1),r.c3i("overrideTilesetUid",!0),r.c3i("intGridCsv",!0),r.c3i("entityInstances",!0),r.c3i("autoLayerTiles",!0),this.w5m_1=r}x5m(r,t){var n=this.w5m_1,a=r.m3a(n),s=Si().v5m_1;a.c3c(n,0,t.d5k_1),a.x3b(n,1,t.e5k_1),a.x3b(n,2,t.f5k_1),a.x3b(n,3,t.g5k_1),a.x3b(n,4,t.h5k_1),a.x3b(n,5,t.i5k_1),a.y3b(n,6,t.j5k_1),a.e3c(n,7,s[7].v2(),t.k5k_1),a.c3c(n,8,t.l5k_1),(a.k3c(n,9)||t.m5k_1!=null)&&a.g3c(n,9,K(),t.m5k_1),(a.k3c(n,10)||t.n5k_1!=null)&&a.g3c(n,10,s[10].v2(),t.n5k_1),(a.k3c(n,11)||t.o5k_1!=null)&&a.g3c(n,11,s[11].v2(),t.o5k_1),(a.k3c(n,12)||t.p5k_1!=null)&&a.g3c(n,12,s[12].v2(),t.p5k_1),a.n3a(n)}f36(r,t){return this.x5m(r,t instanceof Na()?t:m())}g36(r){var t=this.w5m_1,n=!0,a=0,s=0,_=null,l=0,o=0,c=0,h=0,v=0,f=0n,p=null,w=null,b=null,g=null,C=null,S=null,k=r.m3a(t),E=Si().v5m_1;if(k.c3b())_=k.w3a(t,0),s=s|1,l=k.r3a(t,1),s=s|2,o=k.r3a(t,2),s=s|4,c=k.r3a(t,3),s=s|8,h=k.r3a(t,4),s=s|16,v=k.r3a(t,5),s=s|32,f=k.s3a(t,6),s=s|64,p=k.y3a(t,7,E[7].v2(),p),s=s|128,w=k.w3a(t,8),s=s|256,b=k.a3b(t,9,K(),b),s=s|512,g=k.a3b(t,10,E[10].v2(),g),s=s|1024,C=k.a3b(t,11,E[11].v2(),C),s=s|2048,S=k.a3b(t,12,E[12].v2(),S),s=s|4096;else for(;n;)switch(a=k.d3b(t),a){case-1:n=!1;break;case 0:_=k.w3a(t,0),s=s|1;break;case 1:l=k.r3a(t,1),s=s|2;break;case 2:o=k.r3a(t,2),s=s|4;break;case 3:c=k.r3a(t,3),s=s|8;break;case 4:h=k.r3a(t,4),s=s|16;break;case 5:v=k.r3a(t,5),s=s|32;break;case 6:f=k.s3a(t,6),s=s|64;break;case 7:p=k.y3a(t,7,E[7].v2(),p),s=s|128;break;case 8:w=k.w3a(t,8),s=s|256;break;case 9:b=k.a3b(t,9,K(),b),s=s|512;break;case 10:g=k.a3b(t,10,E[10].v2(),g),s=s|1024;break;case 11:C=k.a3b(t,11,E[11].v2(),C),s=s|2048;break;case 12:S=k.a3b(t,12,E[12].v2(),S),s=s|4096;break;default:throw Zr().y37(a)}return k.n3a(t),Na().y5m(s,_,l,o,c,h,v,f,p,w,b,g,C,S,null)}e36(){return this.w5m_1}r3i(){var r=Si().v5m_1;return[zr(),K(),K(),K(),K(),K(),Ka(),r[7].v2(),zr(),qr(K()),qr(r[10].v2()),qr(r[11].v2()),qr(r[12].v2())]}}F(e).s3i=Wr,B(e,"$serializer",u,u,[Hr()]),Yv=e}return Yv}var Ep;function Ap(){return Ep===u&&new(IP()),Ep}function $P(){return new(yr())(Pn())}function EP(){return new(yr())(K())}function AP(){return new(yr())(ue())}function jP(){return new(yr())(ue())}var Zv;function NP(){if(Zv===u){class e{constructor(){jp=this;var r=this,t=ur(),n=_r(t,$P),a=ur(),s=_r(a,EP),_=ur(),l=_r(_,AP),o=ur();r.z5m_1=[null,null,null,null,null,null,null,n,s,null,null,l,_r(o,jP)]}}ar(e),Zv=e}return Zv}var jp;function qi(){return jp===u&&new(NP()),jp}var Xv;function LP(){if(Xv===u){class e{constructor(){Np=this;var r=new(Ur())("Entities",this,13);r.c3i("__identifier",!1),r.c3i("__cWid",!1),r.c3i("__cHei",!1),r.c3i("__gridSize",!1),r.c3i("pxOffsetX",!1),r.c3i("pxOffsetY",!1),r.c3i("seed",!1),r.c3i("entityInstances",!1),r.c3i("intGridCsv",!0),r.c3i("__tilesetRelPath",!0),r.c3i("overrideTilesetUid",!0),r.c3i("autoLayerTiles",!0),r.c3i("gridTiles",!0),this.a5n_1=r}b5n(r,t){var n=this.a5n_1,a=r.m3a(n),s=qi().z5m_1;a.c3c(n,0,t.c5n_1),a.x3b(n,1,t.d5n_1),a.x3b(n,2,t.e5n_1),a.x3b(n,3,t.f5n_1),a.x3b(n,4,t.g5n_1),a.x3b(n,5,t.h5n_1),a.y3b(n,6,t.i5n_1),a.e3c(n,7,s[7].v2(),t.j5n_1),(a.k3c(n,8)||t.k5n_1!=null)&&a.g3c(n,8,s[8].v2(),t.k5n_1),(a.k3c(n,9)||t.l5n_1!=null)&&a.g3c(n,9,zr(),t.l5n_1),(a.k3c(n,10)||t.m5n_1!=null)&&a.g3c(n,10,K(),t.m5n_1),(a.k3c(n,11)||t.n5n_1!=null)&&a.g3c(n,11,s[11].v2(),t.n5n_1),(a.k3c(n,12)||t.o5n_1!=null)&&a.g3c(n,12,s[12].v2(),t.o5n_1),a.n3a(n)}f36(r,t){return this.b5n(r,t instanceof La()?t:m())}g36(r){var t=this.a5n_1,n=!0,a=0,s=0,_=null,l=0,o=0,c=0,h=0,v=0,f=0n,p=null,w=null,b=null,g=null,C=null,S=null,k=r.m3a(t),E=qi().z5m_1;if(k.c3b())_=k.w3a(t,0),s=s|1,l=k.r3a(t,1),s=s|2,o=k.r3a(t,2),s=s|4,c=k.r3a(t,3),s=s|8,h=k.r3a(t,4),s=s|16,v=k.r3a(t,5),s=s|32,f=k.s3a(t,6),s=s|64,p=k.y3a(t,7,E[7].v2(),p),s=s|128,w=k.a3b(t,8,E[8].v2(),w),s=s|256,b=k.a3b(t,9,zr(),b),s=s|512,g=k.a3b(t,10,K(),g),s=s|1024,C=k.a3b(t,11,E[11].v2(),C),s=s|2048,S=k.a3b(t,12,E[12].v2(),S),s=s|4096;else for(;n;)switch(a=k.d3b(t),a){case-1:n=!1;break;case 0:_=k.w3a(t,0),s=s|1;break;case 1:l=k.r3a(t,1),s=s|2;break;case 2:o=k.r3a(t,2),s=s|4;break;case 3:c=k.r3a(t,3),s=s|8;break;case 4:h=k.r3a(t,4),s=s|16;break;case 5:v=k.r3a(t,5),s=s|32;break;case 6:f=k.s3a(t,6),s=s|64;break;case 7:p=k.y3a(t,7,E[7].v2(),p),s=s|128;break;case 8:w=k.a3b(t,8,E[8].v2(),w),s=s|256;break;case 9:b=k.a3b(t,9,zr(),b),s=s|512;break;case 10:g=k.a3b(t,10,K(),g),s=s|1024;break;case 11:C=k.a3b(t,11,E[11].v2(),C),s=s|2048;break;case 12:S=k.a3b(t,12,E[12].v2(),S),s=s|4096;break;default:throw Zr().y37(a)}return k.n3a(t),La().p5n(s,_,l,o,c,h,v,f,p,w,b,g,C,S,null)}e36(){return this.a5n_1}r3i(){var r=qi().z5m_1;return[zr(),K(),K(),K(),K(),K(),Ka(),r[7].v2(),qr(r[8].v2()),qr(zr()),qr(K()),qr(r[11].v2()),qr(r[12].v2())]}}F(e).s3i=Wr,B(e,"$serializer",u,u,[Hr()]),Xv=e}return Xv}var Np;function Lp(){return Np===u&&new(LP()),Np}var Qv;function Aa(){if(Qv===u){class e{t4o(){return this.d5m_1}s4m(){return this.e5m_1}r4m(){return this.g5m_1}m4p(){return this.k5m_1}a4n(){return this.m5m_1}o4n(){return this.n5m_1}t4n(){return this.o5m_1}p4n(){return this.p5m_1}toString(){return"IntGrid(__identifier="+this.d5m_1+", __cWid="+this.e5m_1+", __cHei="+this.f5m_1+", __gridSize="+this.g5m_1+", pxOffsetX="+this.h5m_1+", pxOffsetY="+this.i5m_1+", seed="+this.j5m_1.toString()+", intGridCsv="+$(this.k5m_1)+", overrideTilesetUid="+this.l5m_1+", entityInstances="+Jr(this.m5m_1)+", __tilesetRelPath="+this.n5m_1+", autoLayerTiles="+Jr(this.o5m_1)+", gridTiles="+Jr(this.p5m_1)+")"}hashCode(){var r=br(this.d5m_1);return r=U(r,31)+this.e5m_1|0,r=U(r,31)+this.f5m_1|0,r=U(r,31)+this.g5m_1|0,r=U(r,31)+this.h5m_1|0,r=U(r,31)+this.i5m_1|0,r=U(r,31)+Et(this.j5m_1)|0,r=U(r,31)+Z(this.k5m_1)|0,r=U(r,31)+(this.l5m_1==null?0:this.l5m_1)|0,r=U(r,31)+(this.m5m_1==null?0:Z(this.m5m_1))|0,r=U(r,31)+(this.n5m_1==null?0:br(this.n5m_1))|0,r=U(r,31)+(this.o5m_1==null?0:Z(this.o5m_1))|0,r=U(r,31)+(this.p5m_1==null?0:Z(this.p5m_1))|0,r}equals(r){return this===r?!0:!(!(r instanceof Aa())||this.d5m_1!==r.d5m_1||this.e5m_1!==r.e5m_1||this.f5m_1!==r.f5m_1||this.g5m_1!==r.g5m_1||this.h5m_1!==r.h5m_1||this.i5m_1!==r.i5m_1||this.j5m_1!==r.j5m_1||!A(this.k5m_1,r.k5m_1)||this.l5m_1!=r.l5m_1||!A(this.m5m_1,r.m5m_1)||this.n5m_1!=r.n5m_1||!A(this.o5m_1,r.o5m_1)||!A(this.p5m_1,r.p5m_1))}static q5m(r,t,n,a,s,_,l,o,c,h,v,f,p,w,b){Ci(),(255&r)!==255&&Qr(r,255,zp().b5m_1);var g=Or(this);return g.d5m_1=t,g.e5m_1=n,g.f5m_1=a,g.g5m_1=s,g.h5m_1=_,g.i5m_1=l,g.j5m_1=o,g.k5m_1=c,(r&256)===0?g.l5m_1=null:g.l5m_1=h,(r&512)===0?g.m5m_1=null:g.m5m_1=v,(r&1024)===0?g.n5m_1=null:g.n5m_1=f,(r&2048)===0?g.o5m_1=null:g.o5m_1=p,(r&4096)===0?g.p5m_1=null:g.p5m_1=w,g}}d(e,"IntGrid",u,u,[Xa()],u,u,{0:zp}),Qv=e}return Qv}var rf;function ja(){if(rf===u){class e{t4o(){return this.q5k_1}s4m(){return this.r5k_1}r4m(){return this.t5k_1}t4n(){return this.x5k_1}o4n(){return this.y5k_1}m4p(){return this.a5l_1}a4n(){return this.b5l_1}p4n(){return this.c5l_1}toString(){return"AutoLayer(__identifier="+this.q5k_1+", __cWid="+this.r5k_1+", __cHei="+this.s5k_1+", __gridSize="+this.t5k_1+", pxOffsetX="+this.u5k_1+", pxOffsetY="+this.v5k_1+", seed="+this.w5k_1.toString()+", autoLayerTiles="+$(this.x5k_1)+", __tilesetRelPath="+this.y5k_1+", overrideTilesetUid="+this.z5k_1+", intGridCsv="+Jr(this.a5l_1)+", entityInstances="+Jr(this.b5l_1)+", gridTiles="+Jr(this.c5l_1)+")"}hashCode(){var r=br(this.q5k_1);return r=U(r,31)+this.r5k_1|0,r=U(r,31)+this.s5k_1|0,r=U(r,31)+this.t5k_1|0,r=U(r,31)+this.u5k_1|0,r=U(r,31)+this.v5k_1|0,r=U(r,31)+Et(this.w5k_1)|0,r=U(r,31)+Z(this.x5k_1)|0,r=U(r,31)+br(this.y5k_1)|0,r=U(r,31)+(this.z5k_1==null?0:this.z5k_1)|0,r=U(r,31)+(this.a5l_1==null?0:Z(this.a5l_1))|0,r=U(r,31)+(this.b5l_1==null?0:Z(this.b5l_1))|0,r=U(r,31)+(this.c5l_1==null?0:Z(this.c5l_1))|0,r}equals(r){return this===r?!0:!(!(r instanceof ja())||this.q5k_1!==r.q5k_1||this.r5k_1!==r.r5k_1||this.s5k_1!==r.s5k_1||this.t5k_1!==r.t5k_1||this.u5k_1!==r.u5k_1||this.v5k_1!==r.v5k_1||this.w5k_1!==r.w5k_1||!A(this.x5k_1,r.x5k_1)||this.y5k_1!==r.y5k_1||this.z5k_1!=r.z5k_1||!A(this.a5l_1,r.a5l_1)||!A(this.b5l_1,r.b5l_1)||!A(this.c5l_1,r.c5l_1))}static u5m(r,t,n,a,s,_,l,o,c,h,v,f,p,w,b){zi(),(511&r)!==511&&Qr(r,511,Ip().s5m_1);var g=Or(this);return g.q5k_1=t,g.r5k_1=n,g.s5k_1=a,g.t5k_1=s,g.u5k_1=_,g.v5k_1=l,g.w5k_1=o,g.x5k_1=c,g.y5k_1=h,(r&512)===0?g.z5k_1=null:g.z5k_1=v,(r&1024)===0?g.a5l_1=null:g.a5l_1=f,(r&2048)===0?g.b5l_1=null:g.b5l_1=p,(r&4096)===0?g.c5l_1=null:g.c5l_1=w,g}}d(e,"AutoLayer",u,u,[Xa()],u,u,{0:Ip}),rf=e}return rf}var tf;function Na(){if(tf===u){class e{t4o(){return this.d5k_1}s4m(){return this.e5k_1}r4m(){return this.g5k_1}p4n(){return this.k5k_1}o4n(){return this.l5k_1}m4p(){return this.n5k_1}a4n(){return this.o5k_1}t4n(){return this.p5k_1}toString(){return"TilesLayer(__identifier="+this.d5k_1+", __cWid="+this.e5k_1+", __cHei="+this.f5k_1+", __gridSize="+this.g5k_1+", pxOffsetX="+this.h5k_1+", pxOffsetY="+this.i5k_1+", seed="+this.j5k_1.toString()+", gridTiles="+$(this.k5k_1)+", __tilesetRelPath="+this.l5k_1+", overrideTilesetUid="+this.m5k_1+", intGridCsv="+Jr(this.n5k_1)+", entityInstances="+Jr(this.o5k_1)+", autoLayerTiles="+Jr(this.p5k_1)+")"}hashCode(){var r=br(this.d5k_1);return r=U(r,31)+this.e5k_1|0,r=U(r,31)+this.f5k_1|0,r=U(r,31)+this.g5k_1|0,r=U(r,31)+this.h5k_1|0,r=U(r,31)+this.i5k_1|0,r=U(r,31)+Et(this.j5k_1)|0,r=U(r,31)+Z(this.k5k_1)|0,r=U(r,31)+br(this.l5k_1)|0,r=U(r,31)+(this.m5k_1==null?0:this.m5k_1)|0,r=U(r,31)+(this.n5k_1==null?0:Z(this.n5k_1))|0,r=U(r,31)+(this.o5k_1==null?0:Z(this.o5k_1))|0,r=U(r,31)+(this.p5k_1==null?0:Z(this.p5k_1))|0,r}equals(r){return this===r?!0:!(!(r instanceof Na())||this.d5k_1!==r.d5k_1||this.e5k_1!==r.e5k_1||this.f5k_1!==r.f5k_1||this.g5k_1!==r.g5k_1||this.h5k_1!==r.h5k_1||this.i5k_1!==r.i5k_1||this.j5k_1!==r.j5k_1||!A(this.k5k_1,r.k5k_1)||this.l5k_1!==r.l5k_1||this.m5k_1!=r.m5k_1||!A(this.n5k_1,r.n5k_1)||!A(this.o5k_1,r.o5k_1)||!A(this.p5k_1,r.p5k_1))}static y5m(r,t,n,a,s,_,l,o,c,h,v,f,p,w,b){Si(),(511&r)!==511&&Qr(r,511,Ap().w5m_1);var g=Or(this);return g.d5k_1=t,g.e5k_1=n,g.f5k_1=a,g.g5k_1=s,g.h5k_1=_,g.i5k_1=l,g.j5k_1=o,g.k5k_1=c,g.l5k_1=h,(r&512)===0?g.m5k_1=null:g.m5k_1=v,(r&1024)===0?g.n5k_1=null:g.n5k_1=f,(r&2048)===0?g.o5k_1=null:g.o5k_1=p,(r&4096)===0?g.p5k_1=null:g.p5k_1=w,g}}d(e,"TilesLayer",u,u,[Xa()],u,u,{0:Ap}),tf=e}return tf}var ef;function La(){if(ef===u){class e{t4o(){return this.c5n_1}s4m(){return this.d5n_1}r4m(){return this.f5n_1}a4n(){return this.j5n_1}m4p(){return this.k5n_1}o4n(){return this.l5n_1}t4n(){return this.n5n_1}p4n(){return this.o5n_1}toString(){return"EntitiesLayer(__identifier="+this.c5n_1+", __cWid="+this.d5n_1+", __cHei="+this.e5n_1+", __gridSize="+this.f5n_1+", pxOffsetX="+this.g5n_1+", pxOffsetY="+this.h5n_1+", seed="+this.i5n_1.toString()+", entityInstances="+$(this.j5n_1)+", intGridCsv="+Jr(this.k5n_1)+", __tilesetRelPath="+this.l5n_1+", overrideTilesetUid="+this.m5n_1+", autoLayerTiles="+Jr(this.n5n_1)+", gridTiles="+Jr(this.o5n_1)+")"}hashCode(){var r=br(this.c5n_1);return r=U(r,31)+this.d5n_1|0,r=U(r,31)+this.e5n_1|0,r=U(r,31)+this.f5n_1|0,r=U(r,31)+this.g5n_1|0,r=U(r,31)+this.h5n_1|0,r=U(r,31)+Et(this.i5n_1)|0,r=U(r,31)+Z(this.j5n_1)|0,r=U(r,31)+(this.k5n_1==null?0:Z(this.k5n_1))|0,r=U(r,31)+(this.l5n_1==null?0:br(this.l5n_1))|0,r=U(r,31)+(this.m5n_1==null?0:this.m5n_1)|0,r=U(r,31)+(this.n5n_1==null?0:Z(this.n5n_1))|0,r=U(r,31)+(this.o5n_1==null?0:Z(this.o5n_1))|0,r}equals(r){return this===r?!0:!(!(r instanceof La())||this.c5n_1!==r.c5n_1||this.d5n_1!==r.d5n_1||this.e5n_1!==r.e5n_1||this.f5n_1!==r.f5n_1||this.g5n_1!==r.g5n_1||this.h5n_1!==r.h5n_1||this.i5n_1!==r.i5n_1||!A(this.j5n_1,r.j5n_1)||!A(this.k5n_1,r.k5n_1)||this.l5n_1!=r.l5n_1||this.m5n_1!=r.m5n_1||!A(this.n5n_1,r.n5n_1)||!A(this.o5n_1,r.o5n_1))}static p5n(r,t,n,a,s,_,l,o,c,h,v,f,p,w,b){qi(),(255&r)!==255&&Qr(r,255,Lp().a5n_1);var g=Or(this);return g.c5n_1=t,g.d5n_1=n,g.e5n_1=a,g.f5n_1=s,g.g5n_1=_,g.h5n_1=l,g.i5n_1=o,g.j5n_1=c,(r&256)===0?g.k5n_1=null:g.k5n_1=h,(r&512)===0?g.l5n_1=null:g.l5n_1=v,(r&1024)===0?g.m5n_1=null:g.m5n_1=f,(r&2048)===0?g.n5n_1=null:g.n5n_1=p,(r&4096)===0?g.o5n_1=null:g.o5n_1=w,g}}d(e,"EntitiesLayer",u,u,[Xa()],u,u,{0:Lp}),ef=e}return ef}var nf;function MP(){if(nf===u){class e{x3t(){var r=Y(Xa()),t=[Y(ja()),Y(La()),Y(Aa()),Y(Na())],n=[Ip(),Lp(),zp(),Ap()],a=[];return V0().k37("com.github.minigdx.tiny.resources.ldtk.Layer",r,t,n,a)}f3j(r){return this.x3t()}}ar(e,u,[f1()]),nf=e}return nf}var Mm;function TP(){return Mm}var af;function Xa(){if(af===u){class e{}Ir(e,"Layer",u,u,u,u,u,{0:TP}),af=e}return af}function DP(){return new(yr())(K())}function FP(){return new(yr())(K())}var sf;function PP(){if(sf===u){class e{constructor(){Mp=this;var r=this,t=ur(),n=_r(t,DP),a=ur();r.q5n_1=[null,null,n,_r(a,FP),null]}}ar(e),sf=e}return sf}var Mp;function Ii(){return Mp===u&&new(PP()),Mp}var uf;function BP(){if(uf===u){class e{constructor(){Tp=this;var r=new(Ur())("com.github.minigdx.tiny.resources.ldtk.Tile",this,5);r.c3i("a",!1),r.c3i("f",!1),r.c3i("px",!1),r.c3i("src",!1),r.c3i("t",!1),this.r5n_1=r}s5n(r,t){var n=this.r5n_1,a=r.m3a(n),s=Ii().q5n_1;a.z3b(n,0,t.v4o_1),a.x3b(n,1,t.w4o_1),a.e3c(n,2,s[2].v2(),t.x4o_1),a.e3c(n,3,s[3].v2(),t.y4o_1),a.x3b(n,4,t.z4o_1),a.n3a(n)}f36(r,t){return this.s5n(r,t instanceof Dp()?t:m())}g36(r){var t=this.r5n_1,n=!0,a=0,s=0,_=0,l=0,o=null,c=null,h=0,v=r.m3a(t),f=Ii().q5n_1;if(v.c3b())_=v.t3a(t,0),s=s|1,l=v.r3a(t,1),s=s|2,o=v.y3a(t,2,f[2].v2(),o),s=s|4,c=v.y3a(t,3,f[3].v2(),c),s=s|8,h=v.r3a(t,4),s=s|16;else for(;n;)switch(a=v.d3b(t),a){case-1:n=!1;break;case 0:_=v.t3a(t,0),s=s|1;break;case 1:l=v.r3a(t,1),s=s|2;break;case 2:o=v.y3a(t,2,f[2].v2(),o),s=s|4;break;case 3:c=v.y3a(t,3,f[3].v2(),c),s=s|8;break;case 4:h=v.r3a(t,4),s=s|16;break;default:throw Zr().y37(a)}return v.n3a(t),Dp().t5n(s,_,l,o,c,h,null)}e36(){return this.r5n_1}r3i(){var r=Ii().q5n_1;return[mt(),K(),r[2].v2(),r[3].v2(),K()]}}F(e).s3i=Wr,B(e,"$serializer",u,u,[Hr()]),uf=e}return uf}var Tp;function ue(){return Tp===u&&new(BP()),Tp}var _f;function Dp(){if(_f===u){class e{toString(){return"Tile(a="+this.v4o_1+", f="+this.w4o_1+", px="+$(this.x4o_1)+", src="+$(this.y4o_1)+", t="+this.z4o_1+")"}hashCode(){var r=Ht(this.v4o_1);return r=U(r,31)+this.w4o_1|0,r=U(r,31)+Z(this.x4o_1)|0,r=U(r,31)+Z(this.y4o_1)|0,r=U(r,31)+this.z4o_1|0,r}equals(r){return this===r?!0:!(!(r instanceof Dp())||!A(this.v4o_1,r.v4o_1)||this.w4o_1!==r.w4o_1||!A(this.x4o_1,r.x4o_1)||!A(this.y4o_1,r.y4o_1)||this.z4o_1!==r.z4o_1)}static t5n(r,t,n,a,s,_,l){Ii(),(31&r)!==31&&Qr(r,31,ue().r5n_1);var o=Or(this);return o.v4o_1=t,o.w4o_1=n,o.x4o_1=a,o.y4o_1=s,o.z4o_1=_,o}}d(e,"Tile",u,u,u,u,u,{0:ue}),_f=e}return _f}function RP(){return new(yr())(K())}function OP(){return new(yr())(mt())}function UP(){return new(yr())(x1())}function KP(){return new(yr())(K())}var lf;function GP(){if(lf===u){class e{constructor(){Fp=this;var r=this,t=ur(),n=_r(t,RP),a=ur(),s=_r(a,OP),_=ur(),l=_r(_,UP),o=ur();r.u5n_1=[n,null,s,null,null,l,null,null,null,_r(o,KP)]}}ar(e),lf=e}return lf}var Fp;function $i(){return Fp===u&&new(GP()),Fp}var of;function JP(){if(of===u){class e{constructor(){Pp=this;var r=new(Ur())("com.github.minigdx.tiny.resources.ldtk.Entity",this,10);r.c3i("__grid",!1),r.c3i("__identifier",!1),r.c3i("__pivot",!1),r.c3i("__worldX",!0),r.c3i("__worldY",!0),r.c3i("fieldInstances",!1),r.c3i("height",!1),r.c3i("width",!1),r.c3i("iid",!1),r.c3i("px",!1),this.v5n_1=r}w5n(r,t){var n=this.v5n_1,a=r.m3a(n),s=$i().u5n_1;a.e3c(n,0,s[0].v2(),t.b4n_1),a.c3c(n,1,t.c4n_1),a.e3c(n,2,s[2].v2(),t.d4n_1),(a.k3c(n,3)||t.e4n_1!=null)&&a.g3c(n,3,K(),t.e4n_1),(a.k3c(n,4)||t.f4n_1!=null)&&a.g3c(n,4,K(),t.f4n_1),a.e3c(n,5,s[5].v2(),t.g4n_1),a.x3b(n,6,t.h4n_1),a.x3b(n,7,t.i4n_1),a.c3c(n,8,t.j4n_1),a.e3c(n,9,s[9].v2(),t.k4n_1),a.n3a(n)}f36(r,t){return this.w5n(r,t instanceof Bp()?t:m())}g36(r){var t=this.v5n_1,n=!0,a=0,s=0,_=null,l=null,o=null,c=null,h=null,v=null,f=0,p=0,w=null,b=null,g=r.m3a(t),C=$i().u5n_1;if(g.c3b())_=g.y3a(t,0,C[0].v2(),_),s=s|1,l=g.w3a(t,1),s=s|2,o=g.y3a(t,2,C[2].v2(),o),s=s|4,c=g.a3b(t,3,K(),c),s=s|8,h=g.a3b(t,4,K(),h),s=s|16,v=g.y3a(t,5,C[5].v2(),v),s=s|32,f=g.r3a(t,6),s=s|64,p=g.r3a(t,7),s=s|128,w=g.w3a(t,8),s=s|256,b=g.y3a(t,9,C[9].v2(),b),s=s|512;else for(;n;)switch(a=g.d3b(t),a){case-1:n=!1;break;case 0:_=g.y3a(t,0,C[0].v2(),_),s=s|1;break;case 1:l=g.w3a(t,1),s=s|2;break;case 2:o=g.y3a(t,2,C[2].v2(),o),s=s|4;break;case 3:c=g.a3b(t,3,K(),c),s=s|8;break;case 4:h=g.a3b(t,4,K(),h),s=s|16;break;case 5:v=g.y3a(t,5,C[5].v2(),v),s=s|32;break;case 6:f=g.r3a(t,6),s=s|64;break;case 7:p=g.r3a(t,7),s=s|128;break;case 8:w=g.w3a(t,8),s=s|256;break;case 9:b=g.y3a(t,9,C[9].v2(),b),s=s|512;break;default:throw Zr().y37(a)}return g.n3a(t),Bp().x5n(s,_,l,o,c,h,v,f,p,w,b,null)}e36(){return this.v5n_1}r3i(){var r=$i().u5n_1;return[r[0].v2(),zr(),r[2].v2(),qr(K()),qr(K()),r[5].v2(),K(),K(),zr(),r[9].v2()]}}F(e).s3i=Wr,B(e,"$serializer",u,u,[Hr()]),of=e}return of}var Pp;function Pn(){return Pp===u&&new(JP()),Pp}var cf;function Bp(){if(cf===u){class e{toString(){return"Entity(__grid="+$(this.b4n_1)+", __identifier="+this.c4n_1+", __pivot="+$(this.d4n_1)+", __worldX="+this.e4n_1+", __worldY="+this.f4n_1+", fieldInstances="+$(this.g4n_1)+", height="+this.h4n_1+", width="+this.i4n_1+", iid="+this.j4n_1+", px="+$(this.k4n_1)+")"}hashCode(){var r=Z(this.b4n_1);return r=U(r,31)+br(this.c4n_1)|0,r=U(r,31)+Z(this.d4n_1)|0,r=U(r,31)+(this.e4n_1==null?0:this.e4n_1)|0,r=U(r,31)+(this.f4n_1==null?0:this.f4n_1)|0,r=U(r,31)+Z(this.g4n_1)|0,r=U(r,31)+this.h4n_1|0,r=U(r,31)+this.i4n_1|0,r=U(r,31)+br(this.j4n_1)|0,r=U(r,31)+Z(this.k4n_1)|0,r}equals(r){return this===r?!0:!(!(r instanceof Bp())||!A(this.b4n_1,r.b4n_1)||this.c4n_1!==r.c4n_1||!A(this.d4n_1,r.d4n_1)||this.e4n_1!=r.e4n_1||this.f4n_1!=r.f4n_1||!A(this.g4n_1,r.g4n_1)||this.h4n_1!==r.h4n_1||this.i4n_1!==r.i4n_1||this.j4n_1!==r.j4n_1||!A(this.k4n_1,r.k4n_1))}static x5n(r,t,n,a,s,_,l,o,c,h,v,f){$i(),(999&r)!==999&&Qr(r,999,Pn().v5n_1);var p=Or(this);return p.b4n_1=t,p.c4n_1=n,p.d4n_1=a,(r&8)===0?p.e4n_1=null:p.e4n_1=s,(r&16)===0?p.f4n_1=null:p.f4n_1=_,p.g4n_1=l,p.h4n_1=o,p.i4n_1=c,p.j4n_1=h,p.k4n_1=v,p}}d(e,"Entity",u,u,u,u,u,{0:Pn}),cf=e}return cf}var hf;function WP(){if(hf===u){class e{}ar(e),hf=e}return hf}var vf;function Rp(){if(vf===u){class e{constructor(r,t,n){this.l4n_1=r,this.m4n_1=t,this.n4n_1=n}toString(){return"CustomField(__identifier="+this.l4n_1+", __type="+this.m4n_1+", __value="+Jr(this.n4n_1)+")"}hashCode(){var r=br(this.l4n_1);return r=U(r,31)+br(this.m4n_1)|0,r=U(r,31)+(this.n4n_1==null?0:Z(this.n4n_1))|0,r}equals(r){return this===r?!0:!(!(r instanceof Rp())||this.l4n_1!==r.l4n_1||this.m4n_1!==r.m4n_1||!A(this.n4n_1,r.n4n_1))}}d(e,"CustomField",u,u,u,u,u,{0:x1}),vf=e}return vf}var ff;function HP(){if(ff===u){class e{x3t(){return Up()}}ar(e),ff=e}return ff}var WI,df;function VP(){if(df===u){class e{constructor(){Op=this;var r=new(Ur())("com.github.minigdx.tiny.resources.ldtk.EntityRef",this,4);r.c3i("entityIid",!1),r.c3i("layerIid",!1),r.c3i("levelIid",!1),r.c3i("worldIid",!1),this.y5n_1=r}z5n(r,t){var n=this.y5n_1,a=r.m3a(n);a.c3c(n,0,t.b4p_1),a.c3c(n,1,t.c4p_1),a.c3c(n,2,t.d4p_1),a.c3c(n,3,t.e4p_1),a.n3a(n)}f36(r,t){return this.z5n(r,t instanceof Fs()?t:m())}g36(r){var t=this.y5n_1,n=!0,a=0,s=0,_=null,l=null,o=null,c=null,h=r.m3a(t);if(h.c3b())_=h.w3a(t,0),s=s|1,l=h.w3a(t,1),s=s|2,o=h.w3a(t,2),s=s|4,c=h.w3a(t,3),s=s|8;else for(;n;)switch(a=h.d3b(t),a){case-1:n=!1;break;case 0:_=h.w3a(t,0),s=s|1;break;case 1:l=h.w3a(t,1),s=s|2;break;case 2:o=h.w3a(t,2),s=s|4;break;case 3:c=h.w3a(t,3),s=s|8;break;default:throw Zr().y37(a)}return h.n3a(t),Fs().a5o(s,_,l,o,c,null)}e36(){return this.y5n_1}r3i(){return[zr(),zr(),zr(),zr()]}}F(e).s3i=Wr,B(e,"$serializer",u,u,[Hr()]),df=e}return df}var Op;function Up(){return Op===u&&new(VP()),Op}var pf;function Fs(){if(pf===u){class e{toString(){return"EntityRef(entityIid="+this.b4p_1+", layerIid="+this.c4p_1+", levelIid="+this.d4p_1+", worldIid="+this.e4p_1+")"}hashCode(){var r=br(this.b4p_1);return r=U(r,31)+br(this.c4p_1)|0,r=U(r,31)+br(this.d4p_1)|0,r=U(r,31)+br(this.e4p_1)|0,r}equals(r){return this===r?!0:!(!(r instanceof Fs())||this.b4p_1!==r.b4p_1||this.c4p_1!==r.c4p_1||this.d4p_1!==r.d4p_1||this.e4p_1!==r.e4p_1)}static a5o(r,t,n,a,s,_){(15&r)!==15&&Qr(r,15,Up().y5n_1);var l=Or(this);return l.b4p_1=t,l.c4p_1=n,l.d4p_1=a,l.e4p_1=s,l}}d(e,"EntityRef",u,u,u,u,u,{0:Up}),pf=e}return pf}var mf;function YP(){if(mf===u){class e{x3t(){return Gp()}}ar(e),mf=e}return mf}var HI,gf;function ZP(){if(gf===u){class e{constructor(){Kp=this;var r=new(Ur())("com.github.minigdx.tiny.resources.ldtk.TilesetRect",this,5);r.c3i("h",!1),r.c3i("tilesetUid",!1),r.c3i("w",!1),r.c3i("x",!1),r.c3i("y",!1),this.b5o_1=r}c5o(r,t){var n=this.b5o_1,a=r.m3a(n);a.x3b(n,0,t.h4p_1),a.x3b(n,1,t.i4p_1),a.x3b(n,2,t.j4p_1),a.x3b(n,3,t.k4p_1),a.x3b(n,4,t.l4p_1),a.n3a(n)}f36(r,t){return this.c5o(r,t instanceof Ps()?t:m())}g36(r){var t=this.b5o_1,n=!0,a=0,s=0,_=0,l=0,o=0,c=0,h=0,v=r.m3a(t);if(v.c3b())_=v.r3a(t,0),s=s|1,l=v.r3a(t,1),s=s|2,o=v.r3a(t,2),s=s|4,c=v.r3a(t,3),s=s|8,h=v.r3a(t,4),s=s|16;else for(;n;)switch(a=v.d3b(t),a){case-1:n=!1;break;case 0:_=v.r3a(t,0),s=s|1;break;case 1:l=v.r3a(t,1),s=s|2;break;case 2:o=v.r3a(t,2),s=s|4;break;case 3:c=v.r3a(t,3),s=s|8;break;case 4:h=v.r3a(t,4),s=s|16;break;default:throw Zr().y37(a)}return v.n3a(t),Ps().d5o(s,_,l,o,c,h,null)}e36(){return this.b5o_1}r3i(){return[K(),K(),K(),K(),K()]}}F(e).s3i=Wr,B(e,"$serializer",u,u,[Hr()]),gf=e}return gf}var Kp;function Gp(){return Kp===u&&new(ZP()),Kp}var wf;function Ps(){if(wf===u){class e{toString(){return"TilesetRect(h="+this.h4p_1+", tilesetUid="+this.i4p_1+", w="+this.j4p_1+", x="+this.k4p_1+", y="+this.l4p_1+")"}hashCode(){var r=this.h4p_1;return r=U(r,31)+this.i4p_1|0,r=U(r,31)+this.j4p_1|0,r=U(r,31)+this.k4p_1|0,r=U(r,31)+this.l4p_1|0,r}equals(r){return this===r?!0:!(!(r instanceof Ps())||this.h4p_1!==r.h4p_1||this.i4p_1!==r.i4p_1||this.j4p_1!==r.j4p_1||this.k4p_1!==r.k4p_1||this.l4p_1!==r.l4p_1)}static d5o(r,t,n,a,s,_,l){(31&r)!==31&&Qr(r,31,Gp().b5o_1);var o=Or(this);return o.h4p_1=t,o.i4p_1=n,o.j4p_1=a,o.k4p_1=s,o.l4p_1=_,o}}d(e,"TilesetRect",u,u,u,u,u,{0:Gp}),wf=e}return wf}var bf;function XP(){if(bf===u){class e{x3t(){return Wp()}}ar(e),bf=e}return bf}var VI,yf;function QP(){if(yf===u){class e{constructor(){Jp=this;var r=new(Ur())("com.github.minigdx.tiny.resources.ldtk.GridPoint",this,2);r.c3i("cx",!1),r.c3i("cy",!1),this.e5o_1=r}f5o(r,t){var n=this.e5o_1,a=r.m3a(n);a.x3b(n,0,t.f4p_1),a.x3b(n,1,t.g4p_1),a.n3a(n)}f36(r,t){return this.f5o(r,t instanceof Bs()?t:m())}g36(r){var t=this.e5o_1,n=!0,a=0,s=0,_=0,l=0,o=r.m3a(t);if(o.c3b())_=o.r3a(t,0),s=s|1,l=o.r3a(t,1),s=s|2;else for(;n;)switch(a=o.d3b(t),a){case-1:n=!1;break;case 0:_=o.r3a(t,0),s=s|1;break;case 1:l=o.r3a(t,1),s=s|2;break;default:throw Zr().y37(a)}return o.n3a(t),Bs().g5o(s,_,l,null)}e36(){return this.e5o_1}r3i(){return[K(),K()]}}F(e).s3i=Wr,B(e,"$serializer",u,u,[Hr()]),yf=e}return yf}var Jp;function Wp(){return Jp===u&&new(QP()),Jp}var kf;function Bs(){if(kf===u){class e{toString(){return"GridPoint(cx="+this.f4p_1+", cy="+this.g4p_1+")"}hashCode(){var r=this.f4p_1;return r=U(r,31)+this.g4p_1|0,r}equals(r){return this===r?!0:!(!(r instanceof Bs())||this.f4p_1!==r.f4p_1||this.g4p_1!==r.g4p_1)}static g5o(r,t,n,a){(3&r)!==3&&Qr(r,3,Wp().e5o_1);var s=Or(this);return s.f4p_1=t,s.g4p_1=n,s}}d(e,"GridPoint",u,u,u,u,u,{0:Wp}),kf=e}return kf}function YI(e,i,r){if(r instanceof Ue())return null;var t;switch(i){case"Int":var n=r==null?null:ye(r),a=n==null?null:n.e3u();t=a==null?null:Ys(a);break;case"Float":var s=r==null?null:ye(r),_=s==null?null:s.e3u(),l;_==null?l=null:l=h0(_),t=l;break;case"String":case"Multilines":case"Text":case"FilePath":case"Color":var o=r==null?null:ye(r);t=o==null?null:o.e3u();break;case"Bool":var c=r==null?null:ye(r),h=c==null?null:c.e3u();t=h==null?null:ub(h);break;case"Point":var v;r==null?v=null:v=Be().v3r(VI.x3t(),r),t=v;break;case"Tile":var f;r==null?f=null:f=Be().v3r(HI.x3t(),r),t=f;break;case"EntityRef":var p;r==null?p=null:p=Be().v3r(WI.x3t(),r),t=p;break;default:var w;if(Sa(i,"LocalEnum.")){var b=r==null?null:ye(r);w=b==null?null:b.e3u()}else if(Sa(i,"Array<")){var g=vb(O$(i,"Array<"),">"),C=r==null?null:eT(r),S;if(C==null)S=null;else{for(var k=j().d1(Cr(C,10)),E=C.e1();E.f1();){var D=E.g1(),P=YI(x1(),g,D);k.c1(P)}S=k}w=S}else throw W().u(i+" is not supported. Is the type describe exist in LdTK ? (https://ldtk.io/json/#ldtk-FieldInstanceJson) If yes, please fill an issue to support it in Tiny (https://github.com/minigdx/tiny/issues).");t=w;break}return t}function rB(e){return e.u36("__type",oq("__type",vn())),e.u36("__value",w1.x3t().e36()),z}var xf;function tB(){if(xf===u){class e{constructor(){Hp=this;var r=this;r.h5o_1=D0("CustomField",[],rB)}e36(){return this.h5o_1}i5o(r,t){throw R$().o8("LdTk file is not supposed to be serialized. If you need to update it, Use LdTk instead: https://ldtk.io/")}f36(r,t){return this.i5o(r,t instanceof Rp()?t:m())}g36(r){var t=w1.x3t().g36(r),n=tT(t),a=n.x1m("__identifier"),s=a==null?null:ye(a),_=tr(s==null?null:s.e3u()),l=n.x1m("__type"),o=l==null?null:ye(l),c=tr(o==null?null:o.e3u()),h=n.x1m("__value");return new(Rp())(_,c,YI(this,c,h))}}B(e,"CustomFieldSerializer",u,u,[V()]),xf=e}return xf}var Hp;function x1(){return Hp===u&&new(tB()),Hp}function eB(){return k1(),UI}function nB(){return k1(),KI}function aB(){return k1(),GI}function iB(){return k1(),JI}Mm=new(MP());new(WP());WI=new(HP());HI=new(YP());VI=new(XP());var Cf;function ZI(){if(Cf===u){class e{constructor(r,t,n,a,s,_,l){a=a===u?OI():a,this.m48_1=r,this.n48_1=t,this.o48_1=n,this.p48_1=a,this.q48_1=s,this.r48_1=_,this.s48_1=l}j48(){return this.m48_1}z47(){return this.n48_1}f48(){return this.o48_1}y47(){return this.p48_1}a48(r){this.q48_1=r}i48(){return this.q48_1}}d(e,"GameLevel",u,u,[Ya()]),Cf=e}return Cf}var mw=Math.imul,zf;function sB(){if(zf===u){class e extends mr(){static w4w(r,t){return t===u&&(t={}),t.v4w_1=r,this.n2r(t)}i1q(r,t){var n=this.v4w_1.a4x_1.y49(this.v4w_1.c4x_1),a=n==null?null:n.x48_1,s;if(a==null)return y().d1k_1;s=a;var _=s,l=r.k1p(),o=t.k1p();if(XI(this.v4w_1,_,l,o)){var c=_.l4d(l,o),h=c[0];return y().a1u(h)}else return y().d1k_1}}d(e,"pget",u,u,u,[0,1,2,3]),zf=e}return zf}function XI(e,i,r,t){return(0<=r?r=n.length)return y().g1k_1;var a=this.s4x_1;this.s4x_1=a+1|0;var s=n[a],_=t.w1m(s);return _}}d(e,u,u,u,u,[1,2,0,3]),jf=e}return jf}var Nf;function vB(){if(Nf===u){class e extends Yt(){static w4x(){return this.p2q()}s1q(r){var t=tr(r.q1m(1)),n=r.l1p(2)-1|0;if(n<1)return y().g1k_1;var a=t.l1(n);if(a.l1o())return y().g1k_1;var s=y(),_=[y().a1u(n),a];return s.r25(_)}}d(e,u,u,u,u,[1,2,0,3]),Nf=e}return Nf}var Lf;function fB(){if(Lf===u){class e extends mr(){static a4y(r,t){return t===u&&(t={}),t.z4x_1=r,this.n2r(t)}h1q(r){return F(mr()).h1q.call(this,r)}i1q(r,t){var n;t.o1m()?n=Vp(this,tr(t.p1m())):n=sr().q1i();var a=n,s=Vp(this,tr(r.p1m()));return a.v1m(s),s.j1n("__index",s),a}}d(e,"new",u,u,u,[0,1,2,3]),Lf=e}return Lf}var Mf;function dB(){if(Mf===u){class e extends mr(){static e4y(r,t){return t===u&&(t={}),t.d4y_1=r,this.n2r(t)}i1q(r,t){var n;if(r.o1m()&t.o1m()){r instanceof sr()||m(),t instanceof sr()||m();for(var a=r.w1n(),s=0,_=a.length;s<_;){var l=a[s];s=s+1|0;var o=r.w1m(l);t.c1n(l,o)}return t}else n=y().d1k_1;return n}}d(e,"merge",u,u,u,[0,1,2,3]),Mf=e}return Mf}var Tf;function pB(){if(Tf===u){class e extends mr(){static i4y(r,t){return t===u&&(t={}),t.h4y_1=r,this.n2r(t)}i1q(r,t){var n;if(r.o1m()&t.o1m()){r instanceof sr()||m(),t instanceof sr()||m();for(var a=r.w1n(),s=0,_=a.length;s<_;){var l=a[s];s=s+1|0;var o=r.w1m(l);t.l1n(0,o)}n=t}else n=y().d1k_1;return n}}d(e,"append",u,u,u,[0,1,2,3]),Tf=e}return Tf}var Df;function mB(){if(Df===u){class e extends Yt(){static m4y(r,t){return t===u&&(t={}),t.l4y_1=r,this.p2q(t)}s1q(r){var t=hB().t4x(),n;r.m1o(1)?n=sr().q1i():n=tr(r.q1m(1));var a=n;return y().z20(t,a)}}d(e,"all",u,u,u,[1,2,0,3]),Df=e}return Df}var Ff;function gB(){if(Ff===u){class e extends Yt(){static q4y(r,t){return t===u&&(t={}),t.p4y_1=r,this.p2q(t)}s1q(r){var t=vB().w4x(),n=tr(r.q1m(1));return y().a21(t,n,y().a1u(n.o1n()+1|0))}}d(e,"rpairs",u,u,u,[1,2,0,3]),Ff=e}return Ff}var Pf;function wB(){if(Pf===u){class e extends wr(){static u4y(r,t){return t===u&&(t={}),t.t4y_1=r,this.r2r(t)}h1q(r){return this.u2q(r,y().a1u(0),y().a1u(0),y().a1v("#FFFFFF"))}j1q(r,t,n){return this.u2q(r,t,n,y().a1v("#FFFFFF"))}u2q(r,t,n,a){var s=this.t4y_1.y4y_1.x49(),_;if(s==null)return y().g1k_1;_=s;for(var l=_,o=r.a1g(),c=t.k1p(),h=n.k1p(),v=bB(this.t4y_1,a),f=4,p=c,w=h,b=0;bn;a.c3(r,s)}l51(r,t){var n=CB().i51(t),a=this.v4l_1,s=()=>n;a.c3(r,s)}w1m(r){var t=r.q1p(),n=this.v4l_1,a=(L(n,kt())?n:m()).y2(t),s=a==null?null:a();return s??y().d1k_1}c1n(r,t){var n=r.q1p(),a=this.w4l_1,s=(L(a,kt())?a:m()).y2(n);s?.(t)}}d(e,"WrapperLuaTable",e.x4l,u,u,[0,1,2,3]),Kf=e}return Kf}var Tm=Math.imul;function ww(e,i,r,t){var n=ke().x4l();return n.q4m("toggle",()=>{if(e.j4m_1.g4m_1.length===0){for(var a=e.j4m_1,s=0,_=t.o4m_1.h1(),l=Array(_);s<_;)l[s]=!0,s=s+1|0;a.g4m_1=l}var o=e.j4m_1.g4m_1[r];return e.j4m_1.g4m_1[r]=!o,y().w26(o)}),n}function zB(e,i,r){var t=i/e.r4m()|0,n=r/e.r4m()|0;return t+Tm(n,e.s4m())|0}function SB(e,i,r){var t=i/e.r4m()|0,n=r/e.r4m()|0;return t+Tm(n,e.s4m())|0}function r7(e,i,r){var t=e.y4m_1.y2(i),n,a,s;if(t==null||e.w4m_1!==e.z4m_1.e4m_1)s=!0;else{var _=e.v4m_1,l=e.z4m_1.a4m_1.c4a(e.z4m_1.e4m_1);s=_!==(l==null?null:l.m48_1)}if(s?a=!0:a=e.x4m_1!==e.z4m_1.f4m_1,a){e.w4m_1=e.z4m_1.e4m_1;var o=e,c=e.z4m_1.a4m_1.c4a(e.z4m_1.e4m_1),h=c==null?null:c.m48_1;o.v4m_1=h??-1,e.x4m_1=e.z4m_1.f4m_1;var v=r();e.y4m_1.c3(i,v),n=v}else n=t;return n}function qB(e,i,r,t){return i=i===u?null:i,r7(e,i,r)}function bw(e,i){for(var r=j().p1(),t=i.e1();t.f1();){var n=t.g1();n.a4n()!=null&&r.c1(n)}for(var a=j().p1(),s=r.e1();s.f1();){var _=s.g1(),l=_.a4n(),o=l??_t();ya(a,o)}for(var c=jr().sa(),h=a.e1();h.f1();){var v=h.g1(),f=v.c4n_1,p=c.y2(f),w;if(p==null){var b=j().p1();c.c3(f,b),w=b}else w=p;var g=w;g.c1(v)}for(var C=j().p1(),S=c.b3().e1();S.f1();){for(var k=S.g1(),E=k.u2(),D=k.v2(),P=y().a1v(E),O=y(),H=j().d1(Cr(D,10)),G=D.e1();G.f1();){var X=G.g1(),Q=IB(e,X);H.c1(Q)}var rr=ut(H),er=Rr([P,O.z26(rr)]);ya(C,er)}var ir=ut(C);return y().a27(ir)}function IB(e,i){var r=sr().q1i(),t=i.k4n_1,n=t.l1(0),a=t.l1(1);r.d1n("x",y().a1u(n)),r.d1n("y",y().a1u(a));var s=i.b4n_1,_=s.l1(0),l=s.l1(1);r.d1n("cx",y().a1u(_)),r.d1n("cy",y().a1u(l));var o=i.e4n_1;o==null||r.d1n("world_x",y().a1u(o));var c=i.f4n_1;c==null||r.d1n("world_y",y().a1u(c)),r.d1n("iid",y().a1v(i.j4n_1)),r.d1n("width",y().a1u(i.i4n_1)),r.d1n("height",y().a1u(i.h4n_1));for(var h=y(),v=i.g4n_1,f=j().p1(),p=v.e1();p.f1();){var w=p.g1(),b=$B(e,w);ya(f,b)}var g=ut(f);return r.d1n("fields",h.a27(g)),r}function $B(e,i){return Rr([y().a1v(i.l4n_1),t7(e.z4m_1,i.n4n_1)])}function t7(e,i){var r;if(i!=null&&typeof i=="number")r=y().a1u(i);else if(i!=null&&typeof i=="number")r=y().b1u(i);else if(i!=null&&typeof i=="string")r=y().a1v(i);else if(i!=null&&typeof i=="boolean")r=y().w26(i);else if(i instanceof Fs())r=FB(e,i);else if(i instanceof Bs())r=PB(e,i);else if(i instanceof Ps())r=BB(e,i);else if(i!=null&&L(i,Zs())){for(var t=y(),n=j().d1(Cr(i,10)),a=i.e1();a.f1();){var s=a.g1(),_=t7(e,s);n.c1(_)}var l=ut(n);r=t.z26(l)}else if(i==null)r=y().d1k_1;else throw W().u("Field of type "+$(cr(i))+" cannot be converted to LuaValue. It's a missing feature: the game engine needs to be updated.");return r}function yw(e,i,r){var t=tr(i.s48_1.y2(tr(r.o4n()))),n=r.p4n();if(n!=null)for(var a=n.e1();a.f1();){var s=a.g1();xw(e.s4n_1,t,r.r4m(),s)}var _=r.t4n();if(_!=null)for(var l=_.e1();l.f1();){var o=l.g1();xw(e.s4n_1,t,r.r4m(),o)}}var Gf;function EB(){if(Gf===u){class e extends wr(){static x4n(r,t){return t===u&&(t={}),t.w4n_1=r,this.r2r(t)}g1q(){return y().a1u(this.w4n_1.f4m_1)}h1q(r){if(r.i1o()){var t=r.k1p(),n=this.w4n_1.a4m_1.c4a(this.w4n_1.e4m_1),a;if(n==null)return y().d1k_1;a=n;var s=a;if(0<=t&&t<=s.r48_1.a4o_1.h1()){var _=y().a1u(this.w4n_1.f4m_1);return this.w4n_1.f4m_1=t,_}else return y().d1k_1}else{var l=r.a1g(),o=this.w4n_1.a4m_1.c4a(this.w4n_1.e4m_1),c;if(o==null)return y().d1k_1;c=o;var h=c,v=h.r48_1.a4o_1,f;r:{for(var p=0,w=v.e1();w.f1();){var b=w.g1();if(b.l4m_1===l||b.k4m_1===l){f=p;break r}p=p+1|0}f=-1}var g=f;if(g!==-1){var C=y().a1u(this.w4n_1.f4m_1);return this.w4n_1.f4m_1=g,C}else return y().d1k_1}}}d(e,"level",u,u,u,[0,1,2,3]),Gf=e}return Gf}var Jf;function AB(){if(Jf===u){class e extends et(){static b4o(r,t){return t===u&&(t={}),t.j4m_1=r,this.i2w(t)}h1q(r){var t=_e(this.j4m_1);if(r.l1o()){var n;if(t==null)return y().d1k_1;n=t;for(var a=n,s=a.o4m_1,_=j().d1(Cr(s,10)),l=0,o=s.e1();o.f1();){var c=o.g1(),h=l;l=h+1|0;var v=te(h),f=ww(this,c,v,a);_.c1(f)}var p=_,w=y(),b=ut(p);return w.z26(b)}var g=Qa(this.j4m_1,r),C;if(g==null)return y().d1k_1;C=g;var S=C,k=t==null?null:t.o4m_1,E=k==null?null:Da(k,S),D=E==null?null:ww(this,E,S,t);return D??y().d1k_1}g1q(){return F(et()).g1q.call(this)}}d(e,"layer",u,u,u,[1,0,2,3]),Jf=e}return Jf}var Wf;function jB(){if(Wf===u){class e extends mr(){static f4o(r,t){return t===u&&(t={}),t.e4o_1=r,this.n2r(t)}i1q(r,t){var n;r.o1m()?n=T(r.x1m("cx").t1o(),r.x1m("cy").t1o()):n=T(r.k1p(),t.k1p());var a=n,s=a.wd(),_=a.xd(),l=sr().s20(2,2);return l.d1n("x",y().b1u(s*this.e4o_1.d4m_1.ud_1)),l.d1n("y",y().b1u(_*this.e4o_1.d4m_1.vd_1)),l}h1q(r){return F(mr()).h1q.call(this,r)}}d(e,"from",u,u,u,[0,1,2,3]),Wf=e}return Wf}var Hf;function NB(){if(Hf===u){class e extends mr(){static j4o(r,t){return t===u&&(t={}),t.i4o_1=r,this.n2r(t)}i1q(r,t){var n;r.o1m()?n=T(r.x1m("x").t1o(),r.x1m("y").t1o()):n=T(r.k1p(),t.k1p());var a=n,s=a.wd(),_=a.xd(),l=sr().s20(2,2),o=y(),c=s/this.i4o_1.d4m_1.ud_1,h=Math.floor(c);l.d1n("cx",o.b1u(h));var v=y(),f=_/this.i4o_1.d4m_1.vd_1,p=Math.floor(f);return l.d1n("cy",v.b1u(p)),l}h1q(r){return F(mr()).h1q.call(this,r)}}d(e,"to",u,u,u,[0,1,2,3]),Hf=e}return Hf}var Vf;function LB(){if(Vf===u){class e extends wr(){static n4o(r,t){return t===u&&(t={}),t.m4o_1=r,this.r2r(t)}i1q(r,t){var n=_e(this.m4o_1),a;if(n==null)return y().d1k_1;a=n;var s=a;return Cw(this.m4o_1,m0(s.o4m_1),r.k1p(),t.k1p())}j1q(r,t,n){var a=_e(this.m4o_1),s;if(a==null)return y().d1k_1;s=a;var _=s,l=Qa(this.m4o_1,n),o;if(l==null)return y().d1k_1;o=l;var c=o;return Cw(this.m4o_1,gb(_.o4m_1.l1(c)),r.k1p(),t.k1p())}}d(e,"cflag",u,u,u,[0,1,2,3]),Vf=e}return Vf}var Yf;function MB(){if(Yf===u){class e extends wr(){static r4o(r,t){return t===u&&(t={}),t.q4o_1=r,this.r2r(t)}i1q(r,t){var n=_e(this.q4o_1),a;if(n==null)return y().d1k_1;a=n;var s=a,_=m0(s.o4m_1),l=r.k1p(),o=t.k1p();return Xp(this.q4o_1,_,l,o,zB)}j1q(r,t,n){var a=_e(this.q4o_1),s;if(a==null)return y().d1k_1;s=a;var _=s,l=Qa(this.q4o_1,n),o;if(l==null)return y().d1k_1;o=l;var c=o,h=gb(_.o4m_1.l1(c)),v=r.k1p(),f=t.k1p();return Xp(this.q4o_1,h,v,f,SB)}}d(e,"flag",u,u,u,[0,1,2,3]),Yf=e}return Yf}var Zf;function TB(){if(Zf===u){class e extends wr(){static s4o(r,t){t===u&&(t={}),t.z4m_1=r;var n=this.r2r(t);n.v4m_1=-1,n.w4m_1=-1,n.x4m_1=-1;var a=n;return a.y4m_1=jr().sa(),n}g1q(){var r=_e(this.z4m_1),t;if(r==null)return y().g1k_1;t=r;var n=t;return qB(this,u,()=>bw(this,n.o4m_1))}h1q(r){var t=_e(this.z4m_1),n;if(t==null)return y().g1k_1;n=t;var a=n,s=Qa(this.z4m_1,r),_;if(s==null)return y().g1k_1;_=s;var l=_,o=a.o4m_1.l1(l),c=o.t4o();return r7(this,c,()=>bw(this,Tw(o)))}}d(e,"entities",u,u,u,[0,1,2,3]),Zf=e}return Zf}function kw(e,i){if(e.g4m_1.length===0)return!0;var r=e.g4m_1,t;if(0<=i&&i<=(r.length-1|0))t=r[i];else return!0;return t}function _e(e){var i=e.a4m_1.c4a(e.e4m_1),r=i==null?null:i.r48_1,t=r==null?null:r.a4o_1;return t==null?null:Da(t,e.f4m_1)}function Qa(e,i){var r=_e(e),t;if(r==null)return null;t=r;var n=t,a;if(i.i1o()){var s=i.k1p(),_;Da(n.o4m_1,s)!=null?_=s:_=null,a=_}else{var l=i.q1p(),o=n.o4m_1,c;r:{for(var h=0,v=o.e1();v.f1();){var f=v.g1();if(f.t4o()===l){c=h;break r}h=h+1|0}c=-1}var p=c,w;p!==-1?w=p:w=null,a=w}return a}var Xf;function DB(){if(Xf===u){class e extends wr(){static u4o(r,t){return t===u&&(t={}),t.s4n_1=r,this.r2r(t)}g1q(){var r=this.s4n_1.a4m_1.c4a(this.s4n_1.e4m_1),t;if(r==null)return y().d1k_1;t=r;var n=t,a=_e(this.s4n_1),s;if(a==null)return y().d1k_1;s=a;for(var _=s,l=_.o4m_1,o=j().p1(),c=0,h=l.e1();h.f1();){var v=h.g1(),f=c;c=f+1|0;var p=te(f);kw(this.s4n_1,p)&&v.o4n()!=null&&o.c1(v)}for(var w=m0(G$(o)),b=w.e1();b.f1();){var g=b.g1();yw(this,n,g)}return y().g1k_1}h1q(r){var t=Qa(this.s4n_1,r),n;if(t==null)return y().d1k_1;n=t;var a=n;if(!kw(this.s4n_1,a))return y().d1k_1;var s=_e(this.s4n_1),_=s==null?null:s.o4m_1,l=_==null?null:Da(_,a),o;if(l==null)return y().d1k_1;o=l;var c=o;if(c.o4n()==null)return y().d1k_1;var h=this.s4n_1.a4m_1.c4a(this.s4n_1.e4m_1),v;if(h==null)return y().d1k_1;v=h;var f=v;return yw(this,f,c),y().g1k_1}}d(e,"draw",u,u,u,[0,1,2,3]),Xf=e}return Xf}function xw(e,i,r,t){var n=t.y4o_1,a=n.l1(0),s=n.l1(1),_=t.x4o_1,l=_.l1(0),o=_.l1(1),c=RB(t.w4o_1),h=c.wd(),v=c.xd();e.c4m_1.a4p(i,a,s,r,r,l,o,h,v)}function FB(e,i){var r=sr().q1i();return r.d1n("entityIid",y().a1v(i.b4p_1)),r.d1n("layerIid",y().a1v(i.c4p_1)),r.d1n("levelIid",y().a1v(i.d4p_1)),r.d1n("worldIid",y().a1v(i.e4p_1)),r}function PB(e,i){var r=sr().q1i();return r.d1n("cx",y().a1u(i.f4p_1)),r.d1n("cy",y().a1u(i.g4p_1)),r}function BB(e,i){var r=sr().q1i();return r.d1n("x",y().a1u(i.k4p_1)),r.d1n("y",y().a1u(i.l4p_1)),r.d1n("w",y().a1u(i.j4p_1)),r.d1n("h",y().a1u(i.h4p_1)),r.d1n("tilesetUid",y().a1u(i.i4p_1)),r}function Xp(e,i,r,t,n){var a=J$(i,UB),s=W$(a,v=>{var f=n(v,r,t),p=tr(v.m4p()),w;return 0<=f&&f"x ("+r+") has to be between 0 and "+this.e4d_1+" (excluded)");var _=nn,l=0<=t?t"y ("+t+") has to be between 0 and "+this.f4d_1+" (excluded)");var o=nn,c=n.length===this.g4d_1;o.l4c(c,()=>"the assigned pixel needs to conform the pixel format ("+this.g4d_1+")");for(var h=Math.max(0,r),v=this.e4d_1-1|0,f=Math.min(h,v),p=Math.max(0,t),w=this.f4d_1-1|0,b=Math.min(p,w),g=de(f+de(b,this.e4d_1)|0,this.g4d_1),C=0,S=0,k=n.length;S=0&&r"x ("+r+") has to be between 0 and "+this.e4d_1+" (excluded)");var s=nn,_=t>=0&&t"y ("+t+") has to be between 0 and "+this.f4d_1+" (excluded)");var l=de(r+de(t,this.e4d_1)|0,this.g4d_1);switch(this.g4d_1){case 4:this.j4d_1[0]=this.h4d_1[l],this.j4d_1[1]=this.h4d_1[l+1|0],this.j4d_1[2]=this.h4d_1[l+2|0],this.j4d_1[3]=this.h4d_1[l+3|0];break;case 3:this.j4d_1[0]=this.h4d_1[l],this.j4d_1[1]=this.h4d_1[l+1|0],this.j4d_1[2]=this.h4d_1[l+2|0];break;case 1:this.j4d_1[0]=this.h4d_1[l];break}return this.j4d_1}toString(){for(var r=de(this.e4d_1,this.g4d_1),t=0,n=0,a=Bn().ka(this.i4d_1+this.f4d_1|0);t=r&&(n=0,a.ga(` +`));return a.toString()}}d(e,"PixelArray"),t3=e}return t3}var VB=Math.imul,e3;function _7(){if(e3===u){class e{constructor(r,t){this.r5l_1=r,this.s5l_1=t}toString(){return"SpriteSheetKey(index="+this.r5l_1+", type="+this.s5l_1.toString()+")"}hashCode(){var r=this.r5l_1;return r=VB(r,31)+this.s5l_1.hashCode()|0,r}equals(r){return this===r?!0:!(!(r instanceof _7())||this.r5l_1!==r.r5l_1||!this.s5l_1.equals(r.s5l_1))}}d(e,"SpriteSheetKey"),e3=e}return e3}var n3;function Jn(){if(n3===u){class e{constructor(r,t,n,a,s,_,l,o,c){o=o===u?null:o,c=c===u?!1:c,this.t48_1=r,this.u48_1=t,this.v48_1=n,this.w48_1=a,this.x48_1=s,this.y48_1=_,this.z48_1=l,this.a49_1=o,this.b49_1=c,this.c49_1=new(_7())(this.u48_1,this.w48_1)}j48(){return this.t48_1}z47(){return this.u48_1}f48(){return this.v48_1}y47(){return this.w48_1}a48(r){this.b49_1=r}i48(){return this.b49_1}}d(e,"SpriteSheet",u,u,[Ya()]),n3=e}return n3}function YB(e,i){var r;if(i.p1g()){var t=i.a1g(),n=e.w4h_1.r4h_1.z49(t),a=n==null?null:n.u48_1,s=a??e.w4h_1.r4h_1.a4a();r=T(s,t)}else{var _=i.t1o(),l=e.w4h_1.r4h_1.y49(_),o=l==null?null:l.v48_1;r=T(_,o??"frame_buffer_"+_)}return r}function qw(e){var i=e.z4h_1.t4h_1.a4i(),r=i.wd(),t=i.xd(),n=sr().q1i();return n.f1n("x",r),n.f1n("y",t),n}var a3;function ZB(){if(a3===u){class e extends wr(){static g4i(r,t){t===u&&(t={}),t.f4i_1=r;var n=this.r2r(t);n.d4i_1=0;var a=n;return a.e4i_1=[Sw(),GB(),JB(),WB(),HB()],n}g1q(){var r=y().a1u(this.d4i_1);return this.d4i_1=0,this.f4i_1.t4h_1.h4i(Sw()),r}h1q(r){var t=this.d4i_1,n=r.k1p();if(!(0<=n&&n=this.b4g_1.length||t<0)return y().f1k_1;var n=this.b4g_1[t];return y().w26(this.c4g_1.u4f_1.m4d(n))}}d(e,"pressed",u,u,u,[1,0,2,3]),d3=e}return d3}var p3;function lR(){if(p3===u){class e extends et(){static h4g(r,t){return t===u&&(t={}),t.g4g_1=r,this.i2w(t)}h1q(r){var t=Iy(),n=r.k1p();if(n>=t.length||n<0)return y().f1k_1;var a=t[n];return y().w26(this.g4g_1.u4f_1.n4d(a))}}d(e,"pressing",u,u,u,[1,0,2,3]),p3=e}return p3}var m3;function oR(){if(m3===u){class e extends et(){static l4g(r,t){return t===u&&(t={}),t.k4g_1=r,this.i2w(t)}h1q(r){var t=R5(),n=r.k1p();if(n>=t.length||n<0)return y().f1k_1;var a=R5()[n],s=this.k4g_1.u4f_1.p4d(a),_;if(s==null)_=null;else{var l=sr().q1i();l.f1n("x",Pr(s.t4e_1)),l.f1n("y",Pr(s.u4e_1)),_=l}var o=_,c=o??y().d1k_1;return c}}d(e,"touched",u,u,u,[1,0,2,3]),m3=e}return m3}var g3;function cR(){if(g3===u){class e extends et(){static p4g(r,t){return t===u&&(t={}),t.o4g_1=r,this.i2w(t)}h1q(r){var t=En(),n=ut(t),a=r.k1p();if(a>=n.length||a<0)return y().f1k_1;var s=En().l1(a),_=this.o4g_1.u4f_1.o4d(s),l;if(_==null)l=null;else{var o=sr().q1i();o.f1n("x",Pr(_.t4e_1)),o.f1n("y",Pr(_.u4e_1)),l=o}var c=l,h=c??y().d1k_1;return h}}d(e,"touching",u,u,u,[1,0,2,3]),g3=e}return g3}var w3;function hR(){if(w3===u){class e extends mr(){static q4g(r,t){var n=this.n2r();return n.u4f_1=r,n.v4f_1=QI().r4g(t),n}i1q(r,t){var n=sr().q1i();return n.d1n("pressed",_R().d4g(this)),n.d1n("pressing",lR().h4g(this)),n.d1n("touch",uR().r4f(this)),n.d1n("touched",oR().l4g(this)),n.d1n("touching",cR().p4g(this)),t.d1n("ctrl",n),t.x1m("package").x1m("loaded").d1n("ctrl",n),n}}d(e,"CtrlLib",u,u,u,[0,1,2,3]),w3=e}return w3}function vR(e,i){return()=>y().b1u(e.j4s_1.z4t_1[i])}function fR(e,i){return r=>(e.j4s_1.z4t_1[i]=r.s1o(),z)}var b3;function dR(){if(b3===u){class e extends ke(){static l4s(r,t,n){var a=this.x4l();a.i4s_1=r,a.j4s_1=t,a.k4s_1=n,a.j51("index",()=>y().a1u(a.j4s_1.s4t_1)),a.j51("all",()=>{for(var v=sr().q1i(),f=a.i4s_1.u4a_1,p=j().p1(),w=0,b=f.length;w{var v=a.j4s_1.t4t_1,f;v==null?f=null:f=y().a1v(v);var p=f;return p??y().d1k_1};a.k51("name",s,v=>(a.j4s_1.t4t_1=v.d1p(null),z));var _=()=>y().a1v(a.j4s_1.u4t_1.e3_1);a.k51("wave",_,v=>{var f=a.j4s_1,p=v.q1p(),w;p==null?w=null:w=uD(p);var b=w;return f.u4t_1=b??on(),z});var l=()=>y().b1u(a.j4s_1.v4t_1);a.k51("attack",l,v=>(a.j4s_1.v4t_1=v.a1p(0),z));var o=()=>y().b1u(a.j4s_1.w4t_1);a.k51("decay",o,v=>(a.j4s_1.w4t_1=v.a1p(0),z));var c=()=>y().b1u(a.j4s_1.x4t_1);a.k51("sustain",c,v=>(a.j4s_1.x4t_1=v.a1p(0),z));var h=()=>y().b1u(a.j4s_1.y4t_1);return a.k51("release",h,v=>(a.j4s_1.y4t_1=v.a1p(0),z)),a.j51("sweep",()=>{var v=ke().x4l(),f=()=>{var b=a.j4s_1.a4u_1.l1(0).m51();return y().w26(b)};v.k51("active",f,b=>{var g=b.y1o(!1);return a.j4s_1.a4u_1.l1(0).n51(g),z});var p=()=>{var b=y(),g=a.j4s_1.a4u_1.l1(0);return b.b1u((g instanceof Qt()?g:m()).p51_1)};v.k51("acceleration",p,b=>{var g=a.j4s_1.a4u_1.l1(0);return(g instanceof Qt()?g:m()).p51_1=b.a1p(0),z});var w=()=>{var b=y(),g=a.j4s_1.a4u_1.l1(0);return b.b1u((g instanceof Qt()?g:m()).o51_1)};return v.k51("sweep",w,b=>{var g=a.j4s_1.a4u_1.l1(0);return(g instanceof Qt()?g:m()).o51_1=b.a1p(0),z}),v}),a.j51("vibrato",()=>{var v=ke().x4l(),f=()=>{var b=a.j4s_1.a4u_1.l1(1).m51();return y().w26(b)};v.k51("active",f,b=>{var g=b.y1o(!1);return a.j4s_1.a4u_1.l1(1).n51(g),z});var p=()=>{var b=y(),g=a.j4s_1.a4u_1.l1(1);return b.b1u((g instanceof re()?g:m()).r51_1)};v.k51("frequency",p,b=>{var g=a.j4s_1.a4u_1.l1(1);return(g instanceof re()?g:m()).r51_1=b.a1p(0),z});var w=()=>{var b=y(),g=a.j4s_1.a4u_1.l1(1);return b.b1u((g instanceof re()?g:m()).s51_1)};return v.k51("depth",w,b=>{var g=a.j4s_1.a4u_1.l1(1);return(g instanceof re()?g:m()).s51_1=b.a1p(0),z}),v}),a.l51("note_on",v=>{var f=Oe().j4r(v.a1g());return a.k4s_1.r4w(f,a.j4s_1),y().g1k_1}),a.l51("note_off",v=>{var f=Oe().j4r(v.a1g());return a.k4s_1.q4w(f),y().g1k_1}),a.j51("harmonics",()=>{var v=ke().x4l(),f=xt(0,a.j4s_1.z4t_1.length),p=f.v1_1,w=f.w1_1;if(p<=w)do{var b=p;p=p+1|0;var g=b,C=""+(g+1|0),S=vR(a,g);v.k51(C,S,fR(a,g))}while(b!==w);return v}),a}}d(e,"InstrumentLuaWrapper",u,u,u,[0,1,2,3]),b3=e}return b3}var y3;function pR(){if(y3===u){class e{constructor(r){this.u51_1=r}eh(r,t){return this.u51_1(r,t)}compare(r,t){return this.eh(r,t)}l3(){return this.u51_1}equals(r){var t;if(r!=null&&L(r,ne())){var n;r!=null&&L(r,tt())?n=A(this.l3(),r.l3()):n=!1,t=n}else t=!1;return t}hashCode(){return Z(this.l3())}}d(e,"sam$kotlin_Comparator$0",u,u,[ne(),tt()]),y3=e}return y3}function mR(e){var i=Oe().j4r(e.a1g()),r=sr().q1i();return r.d1n("note",y().a1v(i.e3_1)),r.d1n("notei",y().a1u(i.f4r_1)),r.d1n("octave",y().a1u(i.k4r())),r}function gR(e,i){var r=e.w51_1,t=i.w51_1;return Ma(r,t)}var k3;function wR(){if(k3===u){class e extends ke(){static r4t(r,t,n,a){var s=this.x4l();s.n4t_1=r,s.o4t_1=t,s.p4t_1=n,s.q4t_1=a,s.j51("index",()=>y().a1u(s.o4t_1.x4a_1)),s.j51("all",()=>{for(var l=sr().q1i(),o=s.n4t_1.x4s_1.r4s_1.v4a_1,c=j().d1(o.length),h=0,v=o.length;hy().a1u(s.o4t_1.a4b_1);return s.k51("bpm",_,l=>(s.o4t_1.a4b_1=l.k1p(),z)),s.l51("set_volume",l=>{var o=l.x1m("beat").r1o(),c=l.x1m("volume").r1o();return s.o4t_1.d52(o,c),y().g1k_1}),s.l51("set_note",l=>{var o=l.x1m("beat").r1o(),c=Oe().j4r(l.x1m("note").a1g()),h=l.x1m("duration").r1o(),v=l.x1m("unique").y1o(!1);return s.o4t_1.e52(c,o,h,v),y().g1k_1}),s.l51("remove_note",l=>{var o=l.x1m("beat").r1o(),c=Oe().j4r(l.x1m("note").a1g());return s.o4t_1.f52(c,o),y().g1k_1}),s.l51("note_data",mR),s.j51("notes",()=>{for(var l=sr().q1i(),o=s.o4t_1.b4b_1,c=gR,h=new(pR())(c),v=Us(o,h),f=j().d1(Cr(v,10)),p=v.e1();p.f1();){var w=p.g1(),b=sr().q1i(),g=w.v51_1,C=g==null?null:g.e3_1,S;C==null?S=null:S=y().a1v(C);var k=S;b.d1n("note",k??y().d1k_1);var E=w.v51_1,D=E==null?null:E.f4r_1,P;D==null?P=null:P=y().a1u(D);var O=P;b.d1n("notei",O??y().d1k_1);var H=w.v51_1,G=H==null?null:H.k4r(),X;G==null?X=null:X=y().a1u(G);var Q=X;b.d1n("octave",Q??y().d1k_1),b.d1n("volume",y().b1u(w.y51_1)),b.d1n("beat",y().b1u(w.w51_1)),b.d1n("duration",y().b1u(w.x51_1)),f.c1(b)}for(var rr=0,er=f.e1();er.f1();){var ir=er.g1(),hr=rr;rr=hr+1|0;var or=te(hr);l.l1n(or+1|0,ir)}return l}),s.q4m("play",()=>{var l=s.p4t_1.i4w(s.o4t_1);l.k4w();var o=l,c=ke().x4l();return c.q4m("stop",()=>(o.j4w(),y().g1k_1)),c}),s.l51("set_instrument",l=>{var o;if(l.l1o()){var c=s.o4t_1.y4a_1,h;c==null?h=null:h=y().a1u(c.s4t_1);var v=h;o=v??y().d1k_1}else{var f=l.k1p(),p=g0(s.n4t_1.x4s_1.r4s_1.u4a_1,f),w;if(p==null)return y().d1k_1;w=p;var b=w;s.o4t_1.y4a_1=b,s.o4t_1.z4a_1=b.s4t_1,o=y().g1k_1}return o}),s.j51("instrument",()=>{var l=s.o4t_1.y4a_1,o=l==null?null:l.s4t_1,c;o==null?c=null:c=y().a1u(o);var h=c;return h??y().d1k_1}),s.q4m("export",()=>{var l=s.p4t_1.l4b(s.o4t_1);return s.q4t_1.g52(l),y().g1k_1}),s}}d(e,"SfxLuaWrapper",u,u,u,[0,1,2,3]),k3=e}return k3}function Iw(e,i,r){return dR().l4s(i,r,e.b4s_1.v4r_1)}var x3;function bR(){if(x3===u){class e extends bb(){static p4s(r,t){return t===u&&(t={}),t.o4s_1=r,this.x35(t)}g1q(){var r=this.o4s_1.u4r_1.d4a(0),t;if(r==null)return y().d1k_1;t=r;var n=t,a=n.x4s_1.r4s_1.a4t();return this.o4s_1.w4r_1.b4t(n.w4s_1,a),y().g1k_1}}d(e,"save",u,u,u,[0,1,2,3]),x3=e}return x3}var C3;function yR(){if(C3===u){class e extends wr(){static c4t(r,t){return t===u&&(t={}),t.b4s_1=r,this.r2r(t)}h1q(r){var t=this.b4s_1.u4r_1.d4a(0),n=t==null?null:t.x4s_1,a=n==null?null:n.r4s_1,s;if(a==null)return y().d1k_1;s=a;var _=s,l=xR(this.b4s_1,r,_),o;if(l==null)return y().d1k_1;o=l;var c=o,h=this.b4s_1.y4r_1.y2(c),v;if(h==null){var f=g0(_.u4a_1,c),p;if(f==null)p=null;else{var w=Iw(this,_,f);this.b4s_1.y4r_1.c3(c,w),p=w}v=p}else v=h;var b=v;return b??y().d1k_1}i1q(r,t){var n=this.h1q(r),a=this.b4s_1.u4r_1.d4a(0),s=a==null?null:a.x4s_1,_=s==null?null:s.r4s_1,l;if(_==null)return y().d1k_1;l=_;var o=l,c;if(n.equals(y().d1k_1)&&t.y1o(!1)){var h=r.t1o(),v=new(At())(h);o.u4a_1[h]=v,this.b4s_1.y4r_1.d3(h),c=Iw(this,o,v)}else c=n;return c}}d(e,"instrument",u,u,u,[0,1,2,3]),C3=e}return C3}var z3;function kR(){if(z3===u){class e extends et(){static g4t(r,t){return t===u&&(t={}),t.f4t_1=r,this.i2w(t)}h1q(r){var t=this.f4t_1.u4r_1.d4a(0),n;if(t==null)return y().d1k_1;n=t;var a=n,s=r.k1p(),_=g0(a.x4s_1.r4s_1.v4a_1,s),l;_==null?l=null:l=wR().r4t(a,_,this.f4t_1.v4r_1,this.f4t_1.w4r_1);var o=l;return o??y().d1k_1}}d(e,"sfx",u,u,u,[1,0,2,3]),z3=e}return z3}function xR(e,i,r){var t;if(i.i1o()){var n=i.k1p(),a=r.u4a_1,s;r:{for(var _=0,l=a.length;_(_.j4w(),y().g1k_1)),n?_.l4w():_.k4w()}else s.q4m("stop",zR);return s}}d(e,"sfx",u,u,u,[0,1,2,3]),q3=e}return q3}var I3;function qR(){if(I3===u){class e extends mr(){static p4w(r,t){return t===u&&(t={}),t.o4w_1=r,this.n2r(t)}i1q(r,t){var n=Oe().j4r(tr(r.q1p())),a=t.b1p(0),s=ke().x4l();s.q4m("stop",()=>(this.o4w_1.g4w_1.q4w(n),y().g1k_1));var _=IR(this.o4w_1,a);return this.o4w_1.h4w_1&&_!=null&&this.o4w_1.g4w_1.r4w(n,_),s}}d(e,"note",u,u,u,[0,1,2,3]),I3=e}return I3}function IR(e,i){var r=e.f4w_1.d4a(0),t=r==null?null:r.x4s_1,n=t==null?null:t.r4s_1,a=n==null?null:n.u4a_1,s;if(a==null)return null;s=a;var _=s,l;return 0<=i&&i<_.length?l=_[i]:l=null,l}function $R(e,i){var r=e.f4w_1.d4a(0),t=r==null?null:r.x4s_1,n=t==null?null:t.r4s_1,a=n==null?null:n.v4a_1,s;if(a==null)return null;s=a;var _=s,l;return 0<=i&&i<_.length?l=_[i]:l=null,l}var $3;function ER(){if($3===u){class e extends mr(){static s4w(r,t,n){n=n===u?!0:n;var a=this.n2r();return a.f4w_1=r,a.g4w_1=t,a.h4w_1=n,a}i1q(r,t){var n=sr().q1i();return n.d1n("sfx",SR().c4w(this)),n.d1n("note",qR().p4w(this)),t.d1n("sound",n),t.x1m("package").x1m("loaded").d1n("sound",n),n}}d(e,"SoundLib",u,u,u,[0,1,2,3]),$3=e}return $3}var ci=Math.imul;function E3(e,i){var r;return i.n1o()?r=i.k1p():r=e.f4u_1.r47().i4c(tr(i.q1p())),r}var A3;function AR(){if(A3===u){class e{constructor(r){this.f4u_1=r}g4u(r){var t=r.e1q();if(1<=t&&t<=1){var n=r.f1q().r1m(null),a;if(n==null)return null;a=n;var s=a;return Rr([s.x1m("x").k1p(),s.x1m("y").k1p(),s.x1m("width").k1p(),s.x1m("height").k1p(),E3(this,s.x1m("color"))])}else if(2<=t&&t<=2){var _=r.f1q().r1m(null),l;if(_==null)return null;l=_;var o=l;return Rr([o.x1m("x").k1p(),o.x1m("y").k1p(),o.x1m("width").k1p(),o.x1m("height").k1p(),E3(this,r.d1q(2))])}else{if(3<=t&&t<=4)return null;var c=r.d1q(1).k1p(),h=r.d1q(2).k1p(),v=r.d1q(3).k1p(),f=r.d1q(4).k1p(),p=E3(this,r.d1q(5));return Rr([c,h,v,f,p])}}}d(e,"Shape"),A3=e}return A3}function jR(e,i,r,t,n,a){return i===t&&r===n?y().g1k_1:(e.o4u_1.k4u_1.p4u(i,r,t,n,a),y().g1k_1)}var j3;function NR(){if(j3===u){class e extends wr(){static t4u(r,t){return t===u&&(t={}),t.s4u_1=r,this.r2r(t)}s1q(r){var t=this.s4u_1.l4u_1.g4u(r),n;if(t==null)return y().d1k_1;n=t;var a=n,s=a.l1(0),_=a.l1(1),l=a.l1(2),o=a.l1(3),c=a.l1(4);return this.s4u_1.k4u_1.u4u(s,_,l,o,c,!1),y().d1k_1}h1q(r){return F(wr()).h1q.call(this,r)}i1q(r,t){return F(wr()).i1q.call(this,r,t)}}d(e,"rect",u,u,u,[0,1,2,3]),j3=e}return j3}var N3;function LR(){if(N3===u){class e extends wr(){static y4u(r,t){return t===u&&(t={}),t.x4u_1=r,this.r2r(t)}s1q(r){var t=this.x4u_1.l4u_1.g4u(r),n;if(t==null)return y().d1k_1;n=t;var a=n,s=a.l1(0),_=a.l1(1),l=a.l1(2),o=a.l1(3),c=a.l1(4);return this.x4u_1.k4u_1.u4u(s,_,l,o,c,!0),y().d1k_1}h1q(r){return F(wr()).h1q.call(this,r)}i1q(r,t){return F(wr()).i1q.call(this,r,t)}}d(e,"rectf",u,u,u,[0,1,2,3]),N3=e}return N3}function Wn(e,i){var r;return i.n1o()?r=i.k1p():r=e.j4u_1.r47().i4c(tr(i.q1p())),r}var L3;function MR(){if(L3===u){class e extends wr(){static c4v(r,t){return t===u&&(t={}),t.b4v_1=r,this.r2r(t)}u2q(r,t,n,a){var s=r.k1p(),_=t.k1p(),l=n.k1p(),o=Wn(this.b4v_1,a);return this.b4v_1.k4u_1.d4v(s,_,l,o,!0),y().g1k_1}}d(e,"circlef",u,u,u,[0,1,2,3]),L3=e}return L3}var M3;function l7(){if(M3===u){class e extends wr(){static e4v(r,t){return t===u&&(t={}),t.o4u_1=r,this.r2r(t)}s1q(r){switch(r.e1q()){case 0:return this.g1q();case 1:return this.h1q(r.f1q());case 2:return this.i1q(r.f1q(),r.d1q(2));case 3:return this.j1q(r.f1q(),r.d1q(2),r.d1q(3));case 4:return this.u2q(r.f1q(),r.d1q(2),r.d1q(3),r.d1q(4));default:return jR(this,r.f1q().k1p(),r.d1q(2).k1p(),r.d1q(3).k1p(),r.d1q(4).k1p(),Wn(this.o4u_1,r.d1q(5)))}}u2q(r,t,n,a){var s=[r,t,n,a,y().a1v("#FFFFFF")];return this.u1q(s),y().g1k_1}}d(e,"line",u,u,u,[0,1,2,3]),M3=e}return M3}var T3;function TR(){if(T3===u){class e extends wr(){static i4v(r,t){return t===u&&(t={}),t.h4v_1=r,this.r2r(t)}j1q(r,t,n){return this.u2q(r,t,n,y().a1v("#FFFFFF"))}u2q(r,t,n,a){var s=r.k1p(),_=t.k1p(),l=n.k1p(),o=Wn(this.h4v_1,a);return this.h4v_1.k4u_1.d4v(s,_,l,o,!1),y().g1k_1}}d(e,"circle",u,u,u,[0,1,2,3]),T3=e}return T3}var D3;function DR(){if(D3===u){class e extends wr(){static m4v(r,t){return t===u&&(t={}),t.l4v_1=r,this.r2r(t)}s1q(r){if(r.e1q()<7)throw Je().z1u("Expected 7 args");var t=r.l1p(1),n=r.l1p(2),a=r.l1p(3),s=r.l1p(4),_=r.l1p(5),l=r.l1p(6),o=Wn(this.l4v_1,r.d1q(7));return this.l4v_1.k4u_1.n4v(t,n,a,s,_,l,o,!0),y().g1k_1}}d(e,"trianglef",u,u,u,[0,1,2,3]),D3=e}return D3}var F3;function FR(){if(F3===u){class e extends wr(){static s4v(r,t){t===u&&(t={}),t.r4v_1=r;var n=this.r2r(t);return n.q4v_1=l7().e4v(n.r4v_1),n}s1q(r){if(r.e1q()<7)throw Je().z1u("Expected 7 args");var t=r.l1p(1),n=r.l1p(2),a=r.l1p(3),s=r.l1p(4),_=r.l1p(5),l=r.l1p(6),o=Wn(this.r4v_1,r.d1q(7));return this.r4v_1.k4u_1.n4v(t,n,a,s,_,l,o,!1),y().g1k_1}}d(e,"triangle",u,u,u,[0,1,2,3]),F3=e}return F3}var P3;function PR(){if(P3===u){class e extends wr(){static x4v(r,t){t===u&&(t={}),t.w4v_1=r;var n=this.r2r(t);return n.v4v_1=Rr([0,1,1025,1029,1285,1317,34085,34213,42405,42407,44455,44463,44975,44991,61375,61439,65535]),n}s1q(r){if(r.e1q()<6)throw Je().z1u("Expected 6 args");var t=r.l1p(1),n=r.l1p(2),a=r.l1p(3),s=r.l1p(4),_=Wn(this.w4v_1,r.d1q(6)),l=r.z1o(7,!1);this.w4v_1.k4u_1.u4u(r.d1q(1).k1p(),r.d1q(2).k1p(),r.d1q(3).k1p(),r.d1q(4).k1p(),r.d1q(5).k1p(),!0);for(var o=this.w4v_1.k4u_1.m4j(65535),c=0,h=this.v4v_1.e1();h.f1();){var v=h.g1(),f=c;c=f+1|0;var p=te(f);if(l){var w=t+(ci(a,p)/this.v4v_1.h1()|0)|0,b=t+(ci(a,p+1|0)/this.v4v_1.h1()|0)|0;this.w4v_1.k4u_1.m4j(v),this.w4v_1.k4u_1.u4u(w,n,b-w|0,s,_,!0)}else{var g=n+(ci(s,p)/this.v4v_1.h1()|0)|0,C=n+(ci(s,p+1|0)/this.v4v_1.h1()|0)|0;this.w4v_1.k4u_1.m4j(v),this.w4v_1.k4u_1.u4u(t,g,a,C-g|0,_,!0)}}return this.w4v_1.k4u_1.m4j(o),y().d1k_1}}d(e,"gradient",u,u,u,[0,1,2,3]),P3=e}return P3}var B3;function BR(){if(B3===u){class e extends mr(){static y4v(r,t){var n=this.n2r();return n.j4u_1=r,n.k4u_1=t,n.l4u_1=new(AR())(n.j4u_1),n}i1q(r,t){var n=sr().q1i();return n.d1n("line",l7().e4v(this)),n.d1n("rect",NR().t4u(this)),n.d1n("rectf",LR().y4u(this)),n.d1n("circle",TR().i4v(this)),n.d1n("circlef",MR().c4v(this)),n.d1n("trianglef",DR().m4v(this)),n.d1n("triangle",FR().s4v(this)),n.d1n("gradient",PR().x4v(this)),t.d1n("shape",n),t.x1m("package").x1m("loaded").d1n("shape",n),n}}d(e,"ShapeLib",u,u,u,[0,1,2,3]),B3=e}return B3}function o7(e,i,r){var t;if(i.o1m()){var n=i instanceof sr()?i:m(),a;if(r.a2(Z(n)))a="table[<"+Z(n)+">]";else{r.c1(Z(n));var s=n.w1n(),_=H$(s," ",u,u,u,u,o=>fb(o.d1p("nil"),":")+o7(e,n.w1m(o),r));a="table["+_+"]"}t=a}else if(i.g1o()){var l=xt(0,i.e1q());t="function("+jt(l,", ",u,u,u,u,UR)+")"}else t=i.toString();return t}function RR(e,i,r,t){var n;return r===u?n=bt().o1():n=r,r=n,o7(e,i,r)}var R3;function OR(){if(R3===u){class e extends Yt(){static v4g(r,t){return t===u&&(t={}),t.u4g_1=r,this.p2q(t)}s1q(r){var t=r.e1q(),n=ee(1,t),a=jt(n," ",u,u,u,u,s=>RR(this.u4g_1,r.d1q(s)));return this.u4g_1.y4g_1.r45("🐛",()=>a),y().d1k_1}}d(e,"console",u,u,u,[1,2,0,3]),R3=e}return R3}function UR(e){return"arg"}var O3;function KR(){if(O3===u){class e extends mr(){static z4g(r){var t=this.n2r();return t.y4g_1=r,t}i1q(r,t){var n=sr().q1i();return n.d1n("console",OR().v4g(this)),t.d1n("debug",n),t.x1m("package").x1m("loaded").d1n("debug",n),n}}d(e,"DebugLib",u,u,u,[0,1,2,3]),O3=e}return O3}var U3;function GR(){if(U3===u){class e extends mr(){static q4l(){return this.n2r()}i1q(r,t){var n=sr().q1i(),a=og(x(97),x(122)),s=a.wl_1,_=a.xl_1;if(s<=_)do{var l=new(J())(s);s=cg(s,1);var o=l.d2_1,c=ge(o,x(97));n.d1n(Ar(o),Tt().a1u(Py().f3_1+c|0))}while(!A(l,new(J())(_)));var h=og(x(48),x(57)),v=h.wl_1,f=h.xl_1;if(v<=f)do{var p=new(J())(v);v=cg(v,1);var w=p.d2_1,b=ge(w,x(48));n.d1n(Ar(w),Tt().a1u(Fy().f3_1+b|0))}while(!A(p,new(J())(f)));return n.d1n("up",Tt().a1u(My().f3_1)),n.d1n("down",Tt().a1u(Dy().f3_1)),n.d1n("right",Tt().a1u(Ty().f3_1)),n.d1n("left",Tt().a1u(Ly().f3_1)),n.d1n("space",Tt().a1u(Ny().f3_1)),n.d1n("enter",Tt().a1u(Ey().f3_1)),n.d1n("shift",Tt().a1u(Ay().f3_1)),n.d1n("ctrl",Tt().a1u(ca().f3_1)),n.d1n("alt",Tt().a1u(jy().f3_1)),n.d1n("delete",Tt().a1u($y().f3_1)),t.d1n("keys",n),t.x1m("package").x1m("loaded").d1n("keys",n),n}}d(e,"KeysLib",e.q4l,u,u,[0,1,2,3]),U3=e}return U3}function K3(e,i){return i*i*i*(i*(i*6-15)+10)}function Pt(e,i){return(i+1|0)&255}function Ne(e,i,r,t,n){var a=i&15,s=a<8?r:t,_;a<4?_=t:a===12||a===14?_=r:_=n;var l=_;return((a&1)===0?s:-s)+((a&2)===0?l:-l)}function Ze(e,i,r,t){return i+t*(r-i)}var G3;function JR(){if(G3===u){class e extends et(){static r4p(r,t){return t===u&&(t={}),t.q4p_1=r,this.i2w(t)}h1q(r){var t;return r.r1o()>=0?t=y().i1k_1:t=h7().s4p_1,t}}d(e,"sign",u,u,u,[1,0,2,3]),G3=e}return G3}var J3;function WR(){if(J3===u){class e extends mr(){static w4p(r,t){return t===u&&(t={}),t.v4p_1=r,this.n2r(t)}i1q(r,t){var n=r.r1o(),a=t.r1o(),s=Math.atan2(n,a);return y().b1u(s)}}d(e,"atan2",u,u,u,[0,1,2,3]),J3=e}return J3}var W3;function HR(){if(W3===u){class e extends t1(){static a4q(r,t){return t===u&&(t={}),t.z4p_1=r,this.u35(t)}j1q(r,t,n){var a;r.r1o()>t.r1o()?a=r:a=t;var s=a,_;s.r1o()0){var s=en().wk(1,n.o1n()+1|0);a=n.l1(s)}else a=y().d1k_1;t=a}else{var _;if(r.i1o())_=y().a1u(en().q1(Nn(r.t1o())));else{var l=y(),o=en(),c=r.r1o(),h=Math.abs(c);_=l.b1u(o.zk(h))}t=_}return t}i1q(r,t){if(t.l1o())return this.h1q(r);var n=r.t1o(),a=t.t1o(),s;return n===a?s=y().a1u(n):s=y().a1u(en().wk(n,a)),s}}d(e,"rnd",u,u,u,[0,1,2,3]),Y3=e}return Y3}var Z3;function ZR(){if(Z3===u){class e extends mr(){static r4q(r,t){return t===u&&(t={}),t.q4q_1=r,this.n2r(t)}i1q(r,t){var n=r.x1m("x").t1o(),a=r.x1m("y").t1o(),s=r.x1m("width").t1o(),_=r.x1m("height").t1o(),l=t.x1m("x").t1o(),o=t.x1m("y").t1o(),c=t.x1m("width").t1o(),h=t.x1m("height").t1o();return y().w26(n<(l+c|0)&&(n+s|0)>l&&a<(o+h|0)&&(a+_|0)>o)}}d(e,"roverlap",u,u,u,[0,1,2,3]),Z3=e}return Z3}var X3;function XR(){if(X3===u){class e extends t1(){static w4q(r,t,n){n===u&&(n={}),n.v4q_1=r;var a=this.u35(n),s=V$(Ta(ee(0,255)),Kw(t)),_=a,l=j().p1(),o=0;if(o<512)do{var c=o;o=o+1|0,l.c1(s.l1(c&255))}while(o<512);return _.u4q_1=l,a}x4q(r,t,n){var a=Math.floor(r),s=Pr(a)&255,_=Math.floor(t),l=Pr(_)&255,o=Math.floor(n),c=Pr(o)&255,h=r-Math.floor(r),v=t-Math.floor(t),f=n-Math.floor(n),p=K3(this,h),w=K3(this,v),b=K3(this,f),g=this.u4q_1.l1(this.u4q_1.l1(this.u4q_1.l1(s)+l|0)+c|0),C=this.u4q_1.l1(this.u4q_1.l1(this.u4q_1.l1(s)+Pt(this,l)|0)+c|0),S=this.u4q_1.l1(this.u4q_1.l1(this.u4q_1.l1(s)+l|0)+Pt(this,c)|0),k=this.u4q_1.l1(this.u4q_1.l1(this.u4q_1.l1(s)+Pt(this,l)|0)+Pt(this,c)|0),E=this.u4q_1.l1(this.u4q_1.l1(this.u4q_1.l1(Pt(this,s))+l|0)+c|0),D=this.u4q_1.l1(this.u4q_1.l1(this.u4q_1.l1(Pt(this,s))+Pt(this,l)|0)+c|0),P=this.u4q_1.l1(this.u4q_1.l1(this.u4q_1.l1(Pt(this,s))+l|0)+Pt(this,c)|0),O=this.u4q_1.l1(this.u4q_1.l1(this.u4q_1.l1(Pt(this,s))+Pt(this,l)|0)+Pt(this,c)|0),H=Ze(this,Ne(this,g,h,v,f),Ne(this,E,h-1,v,f),p),G=Ze(this,Ne(this,C,h,v-1,f),Ne(this,D,h-1,v-1,f),p),X=Ze(this,H,G,w),Q=Ze(this,Ne(this,S,h,v,f-1),Ne(this,P,h-1,v,f-1),p),rr=Ze(this,Ne(this,k,h,v-1,f-1),Ne(this,O,h-1,v-1,f-1),p),er=Ze(this,Q,rr,w);return(Ze(this,X,er,b)+1)/2}j1q(r,t,n){return y().b1u(this.x4q(r.r1o(),t.r1o(),n.r1o()))}}d(e,"perlin",u,u,u,[0,1,2,3]),X3=e}return X3}var Q3;function QR(){if(Q3===u){class e{constructor(){r0=this,this.s4p_1=y().a1u(-1)}}ar(e),Q3=e}return Q3}var r0;function h7(){return r0===u&&new(QR()),r0}var r4;function rO(){if(r4===u){class e extends d8(){static a4r(){return h7(),this.e2z()}i1q(r,t){var n=super.i1q(r,t);return n.d1n("rnd",YR().n4q(this)),n.d1n("clamp",HR().a4q(this)),n.d1n("dst",VR().f4q(this)),n.d1n("dst2",c7().j4q(this)),n.d1n("sign",JR().r4p(this)),n.d1n("atan2",WR().w4p(this)),n.d1n("roverlap",ZR().r4q(this)),n.d1n("perlin",XR().w4q(this,en().xk())),n}}d(e,"MathLib",e.a4r,u,u,[0,1,2,3]),r4=e}return r4}var t4;function tO(){if(t4===u){class e extends mr(){static z4z(){return this.n2r()}i1q(r,t){var n=gt.a50(r,t),a=n.l1(0),s=n.l1(1),_;a.l1o()?_=y().h1k_1:_=a;var l=_,o;s.l1o()?o=y().h1k_1:o=s;var c=o;return gt.b50(l,c)}h1q(r){return super.h1q(r)}}d(e,"create",e.z4z,u,u,[0,1,2,3]),t4=e}return t4}var e4;function eO(){if(e4===u){class e extends Yt(){static e50(){return this.p2q()}s1q(r){var t=gt.f50(r),n=t.l1(0),a=t.l1(1),s=t.l1(2),_=t.l1(3);return gt.b50(y().b1u(n.r1o()+s.r1o()),y().b1u(a.r1o()+_.r1o()))}i1q(r,t){return super.i1q(r,t)}u2q(r,t,n,a){return super.u2q(r,t,n,a)}}d(e,"add",e.e50,u,u,[1,2,0,3]),e4=e}return e4}var n4;function nO(){if(n4===u){class e extends Yt(){static i50(){return this.p2q()}s1q(r){var t=gt.f50(r),n=t.l1(0),a=t.l1(1),s=t.l1(2),_=t.l1(3);return gt.b50(y().b1u(n.r1o()-s.r1o()),y().b1u(a.r1o()-_.r1o()))}i1q(r,t){return super.i1q(r,t)}u2q(r,t,n,a){return super.u2q(r,t,n,a)}}d(e,"sub",e.i50,u,u,[1,2,0,3]),n4=e}return n4}var a4;function aO(){if(a4===u){class e extends wr(){static l50(){return this.r2r()}s1q(r){var t=gt.f50(r),n=t.l1(0),a=t.l1(1),s=t.l1(2),_=t.l1(3);return y().b1u(n.r1o()*s.r1o()+a.r1o()*_.r1o())}i1q(r,t){return super.i1q(r,t)}u2q(r,t,n,a){return super.u2q(r,t,n,a)}}d(e,"dot",e.l50,u,u,[0,1,2,3]),a4=e}return a4}var i4;function iO(){if(i4===u){class e extends Yt(){static o50(){return this.p2q()}s1q(r){var t=gt.f50(r),n=t.l1(0),a=t.l1(1),s=y(),_=n.r1o()*n.r1o()+a.r1o()*a.r1o(),l=Math.sqrt(_);return s.b1u(l)}i1q(r,t){return super.i1q(r,t)}h1q(r){return super.h1q(r)}}d(e,"mag",e.o50,u,u,[1,2,0,3]),i4=e}return i4}var s4;function sO(){if(s4===u){class e extends Yt(){static r50(){return this.p2q()}s1q(r){var t=gt.f50(r),n=t.l1(0),a=t.l1(1),s=n.r1o()*n.r1o()+a.r1o()*a.r1o(),_=Math.sqrt(s),l;return _!==0?l=gt.b50(y().b1u(n.r1o()/_),y().b1u(a.r1o()/_)):l=gt.b50(y().a1u(0),y().a1u(0)),l}i1q(r,t){return super.i1q(r,t)}h1q(r){return super.h1q(r)}}d(e,"nor",e.r50,u,u,[1,2,0,3]),s4=e}return s4}var u4;function uO(){if(u4===u){class e extends Yt(){static u50(){return this.p2q()}s1q(r){var t=gt.f50(r),n=t.l1(0),a=t.l1(1),s=t.l1(2),_=t.l1(3);return y().b1u(n.r1o()*_.r1o()-a.r1o()*s.r1o())}i1q(r,t){return super.i1q(r,t)}u2q(r,t,n,a){return super.u2q(r,t,n,a)}}d(e,"crs",e.u50,u,u,[1,2,0,3]),u4=e}return u4}var _4;function _O(){if(_4===u){class e extends Yt(){static x50(){return this.p2q()}s1q(r){var t=gt.f50(r),n=t.l1(0),a=t.l1(1),s=t.l1(2);return gt.b50(y().b1u(n.r1o()*s.r1o()),y().b1u(a.r1o()*s.r1o()))}j1q(r,t,n){return super.j1q(r,t,n)}i1q(r,t){return super.i1q(r,t)}}d(e,"scl",e.x50,u,u,[1,2,0,3]),_4=e}return _4}var l4;function lO(){if(l4===u){class e{a50(r,t){var n;return r.o1m()?n=Rr([r.x1m("x"),r.x1m("y")]):n=Rr([r,t]),n}f50(r){for(var t=1,n=j().p1(),a=r.d1q(t);t<=r.e1q();)a.o1m()?(n.c1(a.x1m("x")),n.c1(a.x1m("y")),t=t+1|0):(r.e1q()-t|0)>=0&&(n.c1(a),t=t+1|0,n.c1(r.d1q(t)),t=t+1|0),a=r.d1q(t);return n}b50(r,t){var n=sr().q1i();return n.d1n("x",r),n.d1n("y",t),n}}ar(e),l4=e}return l4}var gt,o4;function oO(){if(o4===u){class e extends mr(){static a51(){return this.n2r()}i1q(r,t){var n=sr().q1i();return n.d1n("create",tO().z4z()),n.d1n("add",eO().e50()),n.d1n("sub",nO().i50()),n.d1n("dot",aO().l50()),n.d1n("crs",uO().u50()),n.d1n("mag",iO().o50()),n.d1n("nor",sO().r50()),n.d1n("scl",_O().x50()),t.d1n("vec2",n),t.x1m("package").x1m("loaded").d1n("vec2",n),n}}d(e,"Vec2Lib",e.a51,u,u,[0,1,2,3]),o4=e}return o4}gt=new(lO());function Nt(e,i){return Math.pow(e,i)}function ct(e,i,r){return e+(i-e)*this.z4j(r)}var c4;function ht(){if(c4===u){class e{}Ir(e,"Interpolation"),c4=e}return c4}var h4;function hi(){if(h4===u){class e{constructor(r){this.h52_1=r}z4j(r){var t;return r<=.5?t=Nt(r*2,this.h52_1)/2:t=Nt((r-1)*2,this.h52_1)/((this.h52_1%2|0)===0?-2:2)+1,t}toString(){return"pow"+this.h52_1}}F(e).a4k=ct,d(e,"PowInterpolation",u,u,[ht()]),h4=e}return h4}var v4;function vi(){if(v4===u){class e{constructor(r){this.i52_1=r}z4j(r){return Nt(r,this.i52_1)}toString(){return"powIn"+this.i52_1}}F(e).a4k=ct,d(e,"PowInInterpolation",u,u,[ht()]),v4=e}return v4}var f4;function fi(){if(f4===u){class e{constructor(r){this.j52_1=r}z4j(r){return Nt(r-1,this.j52_1)*((this.j52_1%2|0)===0?-1:1)+1}toString(){return"powOut"+this.j52_1}}F(e).a4k=ct,d(e,"PowOutInterpolation",u,u,[ht()]),f4=e}return f4}var d4;function v7(){if(d4===u){class e{z4j(r){var t=r*3.141592653589793;return(1-Math.cos(t))/2}toString(){return"sine"}}F(e).a4k=ct,d(e,"SineInterpolation",v7,u,[ht()]),d4=e}return d4}var p4;function f7(){if(p4===u){class e{z4j(r){var t=r*1.5707964;return 1-Math.cos(t)}toString(){return"sineIn"}}F(e).a4k=ct,d(e,"SineInInterpolation",f7,u,[ht()]),p4=e}return p4}var m4;function d7(){if(m4===u){class e{z4j(r){var t=r*1.5707964;return Math.sin(t)}toString(){return"sineOut"}}F(e).a4k=ct,d(e,"SineOutInterpolation",d7,u,[ht()]),m4=e}return m4}var g4;function p7(){if(g4===u){class e{z4j(r){var t=r;if(t<=.5){t=t*2;var n=1-t*t;return(1-Math.sqrt(n))/2}t=t-1,t=t*2;var a=1-t*t;return(Math.sqrt(a)+1)/2}toString(){return"circle"}}F(e).a4k=ct,d(e,"CircleInterpolation",p7,u,[ht()]),g4=e}return g4}var w4;function m7(){if(w4===u){class e{z4j(r){var t=1-r*r;return 1-Math.sqrt(t)}toString(){return"circleIn"}}F(e).a4k=ct,d(e,"CircleInInterpolation",m7,u,[ht()]),w4=e}return w4}var b4;function g7(){if(b4===u){class e{z4j(r){var t=r;t=t-1;var n=1-t*t;return Math.sqrt(n)}toString(){return"circleOut"}}F(e).a4k=ct,d(e,"CircleOutInterpolation",g7,u,[ht()]),b4=e}return b4}var y4;function Dm(){if(y4===u){class e{constructor(r,t,n,a){this.k52_1=r,this.l52_1=t,this.m52_1=a,this.n52_1=n*3.141592653589793*((n%2|0)===0?1:-1)}z4j(r){var t=r;if(t<=.5){t=t*2;var n=Nt(this.k52_1,this.l52_1*(t-1)),a=t*this.n52_1;return n*Math.sin(a)*this.m52_1/2}t=1-t,t=t*2;var s=Nt(this.k52_1,this.l52_1*(t-1)),_=t*this.n52_1;return 1-s*Math.sin(_)*this.m52_1/2}toString(){return"elastic"}}F(e).a4k=ct,d(e,"ElasticInterpolation",u,u,[ht()]),y4=e}return y4}var k4;function cO(){if(k4===u){class e extends Dm(){z4j(r){var t;if(r>=.99)t=1;else{var n=Nt(this.k52_1,this.l52_1*(r-1)),a=r*this.n52_1;t=n*Math.sin(a)*this.m52_1}return t}toString(){return"elasticIn"}}d(e,"ElasticInInterpolation"),k4=e}return k4}var x4;function hO(){if(x4===u){class e extends Dm(){z4j(r){var t=r;if(t===0)return 0;t=1-t;var n=Nt(this.k52_1,this.l52_1*(t-1)),a=t*this.n52_1;return 1-n*Math.sin(a)*this.m52_1}toString(){return"elasticOut"}}d(e,"ElasticOutInterpolation"),x4=e}return x4}var C4;function w7(){if(C4===u){class e{z4j(r){return r}toString(){return"linear"}}F(e).a4k=ct,d(e,"LinearInterpolation",w7,u,[ht()]),C4=e}return C4}var z4;function Rs(){if(z4===u){class e{constructor(r,t){this.w52_1=r,this.x52_1=t,this.y52_1=Nt(this.w52_1,-this.x52_1),this.z52_1=1/(1-this.y52_1)}z4j(r){var t;return r<=.5?t=(Nt(this.w52_1,this.x52_1*(r*2-1))-this.y52_1)*this.z52_1/2:t=(2-(Nt(this.w52_1,-this.x52_1*(r*2-1))-this.y52_1)*this.z52_1)/2,t}toString(){return"exp"+Pr(this.x52_1)}}F(e).a4k=ct,d(e,"ExpInterpolation",u,u,[ht()]),z4=e}return z4}var S4;function $w(){if(S4===u){class e extends Rs(){z4j(r){return(Nt(this.w52_1,this.x52_1*(r-1))-this.y52_1)*this.z52_1}toString(){return"expIn"+Pr(this.x52_1)}}d(e,"ExpInInterpolation"),S4=e}return S4}var q4;function Ew(){if(q4===u){class e extends Rs(){z4j(r){return 1-(Nt(this.w52_1,-this.x52_1*r)-this.y52_1)*this.z52_1}toString(){return"expOut"+Pr(this.x52_1)}}d(e,"ExpOutInterpolation"),q4=e}return q4}function Aw(e,i){var r=i+e.i53_1[0]/2;return r5){var t="bounces cannot be < 2 or > 5: "+r;throw W().u($(t))}switch(this.i53_1=new Float32Array(r),this.j53_1=new Float32Array(r),this.j53_1[0]=1,r){case 2:this.i53_1[0]=.6,this.i53_1[1]=.4,this.j53_1[1]=.33;break;case 3:this.i53_1[0]=.4,this.i53_1[1]=.4,this.i53_1[2]=.2,this.j53_1[1]=.33,this.j53_1[2]=.1;break;case 4:this.i53_1[0]=.34,this.i53_1[1]=.34,this.i53_1[2]=.2,this.i53_1[3]=.15,this.j53_1[1]=.26,this.j53_1[2]=.11,this.j53_1[3]=.03;break;case 5:this.i53_1[0]=.3,this.i53_1[1]=.3,this.i53_1[2]=.2,this.i53_1[3]=.1,this.i53_1[4]=.1,this.j53_1[1]=.45,this.j53_1[2]=.3,this.j53_1[3]=.15,this.j53_1[4]=.06;break}var n=this.i53_1;n[0]=n[0]*2}z4j(r){var t=r;if(t===1)return 1;t=t+this.i53_1[0]/2;var n=0,a=0,s=0,_=this.i53_1.length;r:for(;s<_;){if(n=this.i53_1[s],t<=n){a=this.j53_1[s];break r}t=t-n,s=s+1|0}t=t/n;var l=4/n*a*t;return 1-(l-l*t)*n}toString(){return"bounceOut"}}F(e).a4k=ct,d(e,"BounceOut",u,u,[ht()]),$4=e}return $4}var E4;function fO(){if(E4===u){class e extends C1(){z4j(r){return 1-super.z4j(1-r)}toString(){return"bounceIn"}}d(e,"BounceIn"),E4=e}return E4}var A4;function dO(){if(A4===u){class e{constructor(r){this.o53_1=r*2}z4j(r){var t=r;return t<=.5?(t=t*2,t*t*((this.o53_1+1)*t-this.o53_1)/2):(t=t-1,t=t*2,t*t*((this.o53_1+1)*t+this.o53_1)/2+1)}toString(){return"swing"}}F(e).a4k=ct,d(e,"SwingInterpolation",u,u,[ht()]),A4=e}return A4}var j4;function pO(){if(j4===u){class e{constructor(r){this.p53_1=r}z4j(r){var t=r;return t=t-1,t*t*((this.p53_1+1)*t+this.p53_1)+1}toString(){return"swingOut"}}F(e).a4k=ct,d(e,"SwingOutInterpolation",u,u,[ht()]),j4=e}return j4}var N4;function mO(){if(N4===u){class e{constructor(r){this.q53_1=r}z4j(r){return r*r*((this.q53_1+1)*r-this.q53_1)}toString(){return"swingIn"}}F(e).a4k=ct,d(e,"SwingInInterpolation",u,u,[ht()]),N4=e}return N4}var L4;function gO(){if(L4===u){class e{constructor(){t0=this,this.e4k_1=1.5707964,this.f4k_1=new(hi())(2),this.g4k_1=new(hi())(3),this.h4k_1=new(hi())(4),this.i4k_1=new(hi())(5),this.j4k_1=new(vi())(2),this.k4k_1=new(vi())(3),this.l4k_1=new(vi())(4),this.m4k_1=new(vi())(5),this.n4k_1=new(fi())(2),this.o4k_1=new(fi())(3),this.p4k_1=new(fi())(4),this.q4k_1=new(fi())(5),this.r4k_1=new(v7()),this.s4k_1=new(f7()),this.t4k_1=new(d7()),this.u4k_1=new(p7()),this.v4k_1=new(m7()),this.w4k_1=new(g7()),this.x4k_1=new(Dm())(2,10,7,1),this.y4k_1=new(cO())(2,10,6,1),this.z4k_1=new(hO())(2,10,7,1),this.a4l_1=new(dO())(1.5),this.b4l_1=new(mO())(2),this.c4l_1=new(pO())(2),this.d4l_1=new(vO())(4),this.e4l_1=new(fO())(4),this.f4l_1=new(C1())(4),this.g4l_1=new(Rs())(2,10),this.h4l_1=new($w())(2,10),this.i4l_1=new(Ew())(2,10),this.j4l_1=new(Rs())(2,5),this.k4l_1=new($w())(2,5),this.l4l_1=new(Ew())(2,5),this.m4l_1=new(w7()),this.n4l_1=Rr([this.f4k_1,this.g4k_1,this.h4k_1,this.i4k_1,this.j4k_1,this.k4k_1,this.l4k_1,this.m4k_1,this.n4k_1,this.o4k_1,this.p4k_1,this.q4k_1,this.r4k_1,this.s4k_1,this.t4k_1,this.u4k_1,this.v4k_1,this.w4k_1,this.x4k_1,this.y4k_1,this.z4k_1,this.a4l_1,this.b4l_1,this.c4l_1,this.d4l_1,this.e4l_1,this.f4l_1,this.g4l_1,this.h4l_1,this.i4l_1,this.j4l_1,this.k4l_1,this.l4l_1,this.m4l_1])}}B(e,"Interpolations"),L4=e}return L4}var t0;function wO(){return t0===u&&new(gO()),t0}var M4;function bO(){if(M4===u){class e extends wr(){static y4j(r,t,n){n===u&&(n={}),n.x4j_1=r;var a=this.r2r(n);return a.w4j_1=t,a}h1q(r){return y().b1u(this.w4j_1.z4j(r.s1o()))}j1q(r,t,n){return y().b1u(this.w4j_1.a4k(r.s1o(),t.s1o(),n.s1o()))}}d(e,"InterpolationLib",u,u,u,[0,1,2,3]),M4=e}return M4}var T4;function yO(){if(T4===u){class e extends mr(){static d4k(){return this.n2r()}i1q(r,t){for(var n=sr().q1i(),a=wO().n4l_1.e1();a.f1();){var s=a.g1();n.d1n($(s),bO().y4j(this,s))}return t.d1n("juice",n),t.x1m("package").x1m("loaded").d1n("juice",n),n}}d(e,"JuiceLib",e.d4k,u,u,[0,1,2,3]),T4=e}return T4}var D4;function kO(){if(D4===u){class e extends mr(){static d4h(r,t){return t===u&&(t={}),t.c4h_1=r,this.n2r(t)}i1q(r,t){var n=r.q1p(),a;if(n==null)return y().d1k_1;a=n;var s=a,_=bt().o1(),l=n0(this.c4h_1,t,_),o=Be().t3r(w1.x3t(),l);return this.c4h_1.g4h_1.i4h(s,o),y().d1k_1}}d(e,"put",u,u,u,[0,1,2,3]),D4=e}return D4}var F4;function xO(){if(F4===u){class e extends et(){static m4h(r,t){return t===u&&(t={}),t.l4h_1=r,this.i2w(t)}h1q(r){var t=r.q1p(),n;if(t==null)return y().d1k_1;n=t;var a=n,s=this.l4h_1.g4h_1.n4h(a),_;if(s==null)return y().d1k_1;_=s;var l=_,o;try{var c=Be().w3r(l);o=e0(this.l4h_1,c)}catch(v){var h;if(v instanceof Te())h=y().d1k_1;else throw v;o=h}return o}}d(e,"get",u,u,u,[1,0,2,3]),F4=e}return F4}function e0(e,i){var r;if(i instanceof Yr()){for(var t=sr().q1i(),n=i.b3().e1();n.f1();){var a=n.g1(),s=a.u2(),_=a.v2();t.d1n(s,e0(e,_))}r=t}else if(i instanceof Rt()){for(var l=sr().q1i(),o=0,c=i.e1();c.f1();){var h=c.g1(),v=o;o=v+1|0;var f=te(v);l.b1n(f+1|0,e0(e,h))}r=l}else i instanceof gr()?r=i.d3u()?y().a1v(i.e3u()):Rq(i)!=null?y().w26(HM(i)):VM(i)!=null?y().a1u(YM(i)):ZM(i)!=null?y().b1u(xe(XM(i))):QM(i)!=null?y().b1u(Oq(i)):y().d1k_1:wt();return r}function n0(e,i,r){var t;if(i.l1o())t=ua(null);else if(i.f1o())t=rT(i.q1o());else if(i.i1o())t=oc(i.t1o());else if(i.k1o())t=oc(i.u1o());else if(i.n1o())t=oc(i.r1o());else if(i.p1g())t=ua(i.a1g());else if(i.o1m()){var n;if(r.a2(i))e.h4h_1.a46("FLOPPY",CO),n=qe();else{var a=i.p1m(),s;if(a==null)return ua(i.a1g());s=a;var _=s,l=_.w1n(),o,c;r:{for(var h=0,v=l.length;hn.c1c(s,u);return a.$arity=1,a}function*iU(e,i,r){var t=e.i5i_1,n=e.j5i_1.b49_1.b54(i),a=t.l1a(n,r);return a===O()&&(a=yield a),S}function*sU(e,i,r){var t=uU(i,e.l5i_1),n=e.k5i_1.j1a(new(E1())(t),r);return n===O()&&(n=yield n),S}var t5;function lU(){if(t5===l){class e{constructor(r,t){this.i5i_1=r,this.j5i_1=t}c1c(r,t){return er(iU.bind(l,this,r),t)}oc(r,t){return this.c1c(r==null||r!=null?r:m(),t)}}at(e,l,l,[1]),t5=e}return t5}function uU(e,i){var r=new(lU())(e,i),t=(n,a)=>r.c1c(n,a);return t.$arity=1,t}function*_U(e,i,r){var t=e.m5i_1,n=ka().o5i(Zt(i)),a=t.l1a(n,r);return a===O()&&(a=yield a),S}function*oU(e,i,r){var t=hU(i),n=e.p5i_1.j1a(new(E1())(t),r);return n===O()&&(n=yield n),S}var e5;function cU(){if(e5===l){class e{constructor(r){this.m5i_1=r}c1c(r,t){return er(_U.bind(l,this,r),t)}oc(r,t){return this.c1c(r==null||r!=null?r:m(),t)}}at(e,l,l,[1]),e5=e}return e5}function hU(e){var i=new(cU())(e),r=(t,n)=>i.c1c(t,n);return r.$arity=1,r}function fU(e){return e.x4l_1}function*vU(e,i,r){var t=e.q5i_1,n=jU(e.r5i_1,e.s5i_1,i,r);n===O()&&(n=yield n);var a=T(i,n),s=t.l1a(a,r);return s===O()&&(s=yield s),S}function*pU(e,i,r){var t=mU(i,e.u5i_1,e.v5i_1),n=e.t5i_1.j1a(new(E1())(t),r);return n===O()&&(n=yield n),S}var n5;function dU(){if(n5===l){class e{constructor(r,t,n){this.q5i_1=r,this.r5i_1=t,this.s5i_1=n}c1c(r,t){return er(vU.bind(l,this,r),t)}oc(r,t){return this.c1c(r==null||r!=null?r:m(),t)}}at(e,l,l,[1]),n5=e}return n5}function mU(e,i,r){var t=new(dU())(e,i,r),n=(a,s)=>t.c1c(a,s);return n.$arity=1,n}function*wU(e,i,r){var t=e.w5i_1,n=i.zd(),a=i.ae(),s=e.x5i_1._v;e.x5i_1._v=s+1|0;var u=new(ZI())(s,e.y5i_1,e.z5i_1,RI(),!1,n,a),_=t.l1a(u,r);return _===O()&&(_=yield _),S}function*yU(e,i,r){var t=bU(i,e.b5j_1,e.c5j_1,e.d5j_1),n=e.a5j_1.j1a(new(E1())(t),r);return n===O()&&(n=yield n),S}var a5;function gU(){if(a5===l){class e{constructor(r,t,n,a){this.w5i_1=r,this.x5i_1=t,this.y5i_1=n,this.z5i_1=a}c1c(r,t){return er(wU.bind(l,this,r),t)}oc(r,t){return this.c1c(r==null||r!=null?r:m(),t)}}at(e,l,l,[1]),a5=e}return a5}function bU(e,i,r,t){var n=new(gU())(e,i,r,t),a=(s,u)=>n.c1c(s,u);return a.$arity=1,a}function*kU(e,i,r){var t=e.e5j_1,n=e.f5j_1._v;e.f5j_1._v=n+1|0;var a=e.g5j_1.g49_1,s=e.g5j_1.d49_1,u=e.g5j_1.e49_1,_=e.g5j_1.b49_1,o=e.g5j_1.h49_1,c=e.g5j_1.c49_1,h=new(ai())(n,e.h5j_1,e.i5j_1,a,s,u,c,_,o,e.j5j_1);h.p44_1=i;var f=t.l1a(h,r);return f===O()&&(f=yield f),S}function*CU(e,i,r){var t=SU(i,e.l5j_1,e.m5j_1,e.n5j_1,e.o5j_1,e.p5j_1),n=e.k5j_1.j1a(new(EU())(t),r);return n===O()&&(n=yield n),S}var i5;function xU(){if(i5===l){class e{constructor(r,t,n,a,s,u){this.e5j_1=r,this.f5j_1=t,this.g5j_1=n,this.h5j_1=a,this.i5j_1=s,this.j5j_1=u}c1c(r,t){return er(kU.bind(l,this,r),t)}oc(r,t){return this.c1c(r==null||r!=null?r:m(),t)}}at(e,l,l,[1]),i5=e}return i5}function SU(e,i,r,t,n,a){var s=new(xU())(e,i,r,t,n,a),u=(_,o)=>s.c1c(_,o);return u.$arity=1,u}function*zU(e,i,r){var t=e.q5j_1,n=z$(e.r5j_1,i.x53_1,i.y53_1,i.z53_1),a=e.s5j_1._v;e.s5j_1._v=a+1|0;var s=new(Yn())(a,e.t5j_1,e.u5j_1,e.v5j_1,n,i.y53_1,i.z53_1),u=t.l1a(s,r);return u===O()&&(u=yield u),S}function*qU(e,i,r){var t=$U(i,e.x5j_1,e.y5j_1,e.z5j_1,e.a5k_1,e.b5k_1),n=e.w5j_1.j1a(new(NU())(t),r);return n===O()&&(n=yield n),S}var s5;function IU(){if(s5===l){class e{constructor(r,t,n,a,s,u){this.q5j_1=r,this.r5j_1=t,this.s5j_1=n,this.t5j_1=a,this.u5j_1=s,this.v5j_1=u}c1c(r,t){return er(zU.bind(l,this,r),t)}oc(r,t){return this.c1c(r==null||r!=null?r:m(),t)}}at(e,l,l,[1]),s5=e}return s5}function $U(e,i,r,t,n,a){var s=new(IU())(e,i,r,t,n,a),u=(_,o)=>s.c1c(_,o);return u.$arity=1,u}function l5(e,i,r,t){var n={_v:0},a=e.a49_1.h4a(e.b49_1.a54(r,!e.i49_1.d2(t))),s=new(JU())(a,n,e,i,r,t);return Ji(s,HU(e,r))}function Ty(e,i,r,t){var n={_v:0},a=e.a49_1.h4a(e.b49_1.c54(r,!e.i49_1.d2(t))),s=new(VU())(a,e,n,i,r,t);return Ji(s,ZU(e,r,t))}function z$(e,i,r,t){var n=new(l$())(r,t),a=Ct(0,r),s=a.v1_1,u=a.w1_1;if(s<=u)do{var _=s;s=s+1|0;var o=_,c=Ct(0,t),h=c.v1_1,f=c.w1_1;if(h<=f)do{var v=h;h=h+1|0;var d=v,g=My(o+My(d,r)|0,4),b=e.g49_1.n47(),w=new Int8Array([i[g+0|0],i[g+1|0],i[g+2|0],i[g+3|0]]),x=b.a4c(w);n.z4c(o,d,new Int32Array([x]))}while(v!==f)}while(_!==u);return n}var u5;function AU(){if(u5===l){class e{constructor(r){this.c5k_1=r}l1a(r,t){return this.c5k_1(r,t)}o3(){return this.c5k_1}equals(r){var t;if(r!=null&&j(r,ie())){var n;r!=null&&j(r,et())?n=E(this.o3(),r.o3()):n=!1,t=n}else t=!1;return t}hashCode(){return Z(this.o3())}}p(e,"sam$kotlinx_coroutines_flow_FlowCollector$0",l,l,[ie(),et()],[1]),u5=e}return u5}var _5;function E1(){if(_5===l){class e{constructor(r){this.d5k_1=r}l1a(r,t){return this.d5k_1(r,t)}o3(){return this.d5k_1}equals(r){var t;if(r!=null&&j(r,ie())){var n;r!=null&&j(r,et())?n=E(this.o3(),r.o3()):n=!1,t=n}else t=!1;return t}hashCode(){return Z(this.o3())}}p(e,"sam$kotlinx_coroutines_flow_FlowCollector$0",l,l,[ie(),et()],[1]),_5=e}return _5}var o5;function EU(){if(o5===l){class e{constructor(r){this.e5k_1=r}l1a(r,t){return this.e5k_1(r,t)}o3(){return this.e5k_1}equals(r){var t;if(r!=null&&j(r,ie())){var n;r!=null&&j(r,et())?n=E(this.o3(),r.o3()):n=!1,t=n}else t=!1;return t}hashCode(){return Z(this.o3())}}p(e,"sam$kotlinx_coroutines_flow_FlowCollector$0",l,l,[ie(),et()],[1]),o5=e}return o5}var c5;function NU(){if(c5===l){class e{constructor(r){this.f5k_1=r}l1a(r,t){return this.f5k_1(r,t)}o3(){return this.f5k_1}equals(r){var t;if(r!=null&&j(r,ie())){var n;r!=null&&j(r,et())?n=E(this.o3(),r.o3()):n=!1,t=n}else t=!1;return t}hashCode(){return Z(this.o3())}}p(e,"sam$kotlinx_coroutines_flow_FlowCollector$0",l,l,[ie(),et()],[1]),c5=e}return c5}function*LU(e,i,r,t){for(var n=r.n4n_1,a=N().p1(),s=n.e1();s.f1();){var u=s.g1(),_=u.b4m_1;xa(a,_)}for(var o=N().p1(),c=a.e1();c.f1();){var h=c.g1(),f;h instanceof Ta()?f=h.b5l_1:h instanceof Da()||h instanceof Ma()?f=null:h instanceof Fa()?f=h.o5k_1:yt();var v=f;v==null||o.c1(v)}for(var d=N().d1(gr(o,10)),g=o.e1();g.f1();){var b=g.g1(),w=e.b49_1.d54(b),x,z=w.c4a(t);z===O()&&(z=yield z),z?x=w:x=null;var k=x,A;if(k==null)A=null;else{var D=k.d4a(t);D===O()&&(D=yield D),A=D}var B=T(b,A);d.c1(B)}for(var R=N().p1(),W=d.e1();W.f1();){var G=W.g1();G.yd_1!=null&&R.c1(G)}for(var Q=xt(_g(gr(R,10)),16),X=zr().wa(Q),rr=R.e1();rr.f1();){var tr=rr.g1(),ir=tr.zd(),dr=tr.ae(),cr=z$(e,nr(dr).x53_1,dr.y53_1,dr.z53_1),mr=new(Yn())(0,0,"__level-"+i,Bm(),cr,cr.t4c_1,cr.u4c_1),Dr=T(ir,mr);X.f3(Dr.xd_1,Dr.yd_1)}return X}function jU(e,i,r,t){return er(LU.bind(l,e,i,r),t)}var h5;function MU(){if(h5===l){class e{constructor(r,t,n,a){this.e5i_1=r,this.f5i_1=t,this.g5i_1=n,this.h5i_1=a}m1a(r,t){return er(eU.bind(l,this,r),t)}j1a(r,t){return this.m1a(r,t)}}p(e,l,l,l,[He()],[1]),h5=e}return h5}var f5;function TU(){if(f5===l){class e{constructor(r,t){this.g5l_1=r,this.h5l_1=t}i5l(r,t){this.g5l_1.h49_1.m45("RESOURCE_FACTORY",()=>"Loading sound '"+this.h5l_1+"'")}oc(r,t){return this.i5l(r instanceof q1()?r:m(),t)}}at(e,l,l,[1]),f5=e}return f5}function FU(e,i){var r=new(TU())(e,i),t=(n,a)=>r.i5l(n,a);return t.$arity=1,t}var v5;function DU(){if(v5===l){class e{constructor(r,t){this.k5i_1=r,this.l5i_1=t}m1a(r,t){return er(sU.bind(l,this,r),t)}j1a(r,t){return this.m1a(r,t)}}p(e,l,l,l,[He()],[1]),v5=e}return v5}var p5;function PU(){if(p5===l){class e{constructor(r){this.j5l_1=r}k5l(r,t){return this.j5l_1.a49_1.h4a(r)}oc(r,t){return this.k5l(r!=null&&j(r,_1())?r:m(),t)}}at(e,l,l,[1]),p5=e}return p5}function BU(e){var i=new(PU())(e),r=(t,n)=>i.k5l(t,n);return r.$arity=1,r}var d5;function OU(){if(d5===l){class e{constructor(r){this.p5i_1=r}m1a(r,t){return er(oU.bind(l,this,r),t)}j1a(r,t){return this.m1a(r,t)}}p(e,l,l,l,[He()],[1]),d5=e}return d5}var m5;function RU(){if(m5===l){class e{constructor(r){this.l5l_1=r}m5l(r,t){this.l5l_1.h49_1.m45("RESOURCE_FACTORY",()=>{var n="Loading world "+r.l4n_1+" with levels ";return n+Et(r.n4n_1,", ",l,l,l,l,fU)})}oc(r,t){return this.m5l(r instanceof Os()?r:m(),t)}}at(e,l,l,[1]),m5=e}return m5}function UU(e){var i=new(RU())(e),r=(t,n)=>i.m5l(t,n);return r.$arity=1,r}var w5;function KU(){if(w5===l){class e{constructor(r,t,n){this.t5i_1=r,this.u5i_1=t,this.v5i_1=n}m1a(r,t){return er(pU.bind(l,this,r),t)}j1a(r,t){return this.m1a(r,t)}}p(e,l,l,l,[He()],[1]),w5=e}return w5}var y5;function GU(){if(y5===l){class e{constructor(r,t,n,a){this.a5j_1=r,this.b5j_1=t,this.c5j_1=n,this.d5j_1=a}m1a(r,t){return er(yU.bind(l,this,r),t)}j1a(r,t){return this.m1a(r,t)}}p(e,l,l,l,[He()],[1]),y5=e}return y5}var g5;function JU(){if(g5===l){class e{constructor(r,t,n,a,s,u){this.k5j_1=r,this.l5j_1=t,this.m5j_1=n,this.n5j_1=a,this.o5j_1=s,this.p5j_1=u}m1a(r,t){return er(CU.bind(l,this,r),t)}j1a(r,t){return this.m1a(r,t)}}p(e,l,l,l,[He()],[1]),g5=e}return g5}var b5;function WU(){if(b5===l){class e{constructor(r,t){this.n5l_1=r,this.o5l_1=t}p5l(r,t){this.n5l_1.h49_1.m45("RESOURCE_FACTORY",()=>"Loading script '"+this.o5l_1+"'")}oc(r,t){return this.p5l(r instanceof ai()?r:m(),t)}}at(e,l,l,[1]),b5=e}return b5}function HU(e,i){var r=new(WU())(e,i),t=(n,a)=>r.p5l(n,a);return t.$arity=1,t}var k5;function VU(){if(k5===l){class e{constructor(r,t,n,a,s,u){this.w5j_1=r,this.x5j_1=t,this.y5j_1=n,this.z5j_1=a,this.a5k_1=s,this.b5k_1=u}m1a(r,t){return er(qU.bind(l,this,r),t)}j1a(r,t){return this.m1a(r,t)}}p(e,l,l,l,[He()],[1]),k5=e}return k5}var C5;function YU(){if(C5===l){class e{constructor(r,t,n){this.q5l_1=r,this.r5l_1=t,this.s5l_1=n}t5l(r,t){this.q5l_1.h49_1.m45("RESOURCE_FACTORY",()=>"Loading spritesheet '"+this.r5l_1+"' ("+this.s5l_1.toString()+")")}oc(r,t){return this.t5l(r instanceof Yn()?r:m(),t)}}at(e,l,l,[1]),C5=e}return C5}function ZU(e,i,r){var t=new(YU())(e,i,r),n=(a,s)=>t.t5l(a,s);return n.$arity=1,n}var x5;function XU(){if(x5===l){class e{constructor(r,t,n,a,s,u,_,o){this.a49_1=r,this.b49_1=t,this.c49_1=n,this.d49_1=a,this.e49_1=s,this.f49_1=u,this.g49_1=_,this.h49_1=o,this.i49_1=kd([Ps(),Bs(),yy()])}m49(r,t){var n={_v:0},a=this.a49_1.h4a(this.b49_1.e54(t,this.f49_1)),s=new(MU())(a,n,r,t);return Ji(s,FU(this,t))}l49(r,t){var n={_v:0},a=c8(t),s=new(DU())(a,this),u=gg(s,l,BU(this)),_=new(OU())(u),o=Ji(_,UU(this)),c=new(KU())(o,this,t);return new(GU())(c,n,r,t)}j49(r,t){return l5(this,r,t,rP())}o49(r){return l5(this,0,r,Bs())}n49(r){return l5(this,0,r,Ps())}k49(r,t){return Ty(this,r,t,Bm())}p49(r){return Ty(this,0,r,yy())}}p(e,"ResourceFactory",l,l,l,[3]),x5=e}return x5}function*QU(e,i,r){var t=i8(e.s47_1),n=i.u47();if(e.s47_1.u2(n),t==null){Fy(e,i);var a=e.p47_1.l18(i,r);a===O()&&(a=yield a)}else if(e.s47_1.m1()){e.q47_1.c1(i);var s=rK(e,e.q47_1);e.q47_1.v2();for(var u=s.e1();u.f1();){var _=u.g1();Fy(e,_);var o=e.p47_1.l18(_,r);o===O()&&(o=yield o)}}else e.s47_1.m1()||e.q47_1.c1(i);return S}function Fy(e,i){var r=i.u47(),t=e.r47_1,n=t.b3(r),a;if(n==null){var s=zr().va();t.f3(r,s),a=s}else a=n;var u=a,_=u.b3(i.v47()),o=i.v47();u.f3(o,i),i.w47(_!=null)}function rK(e,i){var r=N().p1();if(r.i1(i),r.h1()>1){var t=(a,s)=>{var u=e.t47_1.s2(a.u47()),_=u===-1?e.t47_1.h1():u,o=e.t47_1.s2(s.u47()),c=o===-1?e.t47_1.h1():o;return Pa(_,c)},n=new(tK())(t);s8(r,n)}return r}var S5;function tK(){if(S5===l){class e{constructor(r){this.x47_1=r}hh(r,t){return this.x47_1(r,t)}compare(r,t){return this.hh(r,t)}o3(){return this.x47_1}equals(r){var t;if(r!=null&&j(r,ae())){var n;r!=null&&j(r,et())?n=E(this.o3(),r.o3()):n=!1,t=n}else t=!1;return t}hashCode(){return Z(this.o3())}}p(e,"sam$kotlin_Comparator$0",l,l,[ae(),et()]),S5=e}return S5}var z5;function eK(){if(z5===l){class e{constructor(r){this.p47_1=r;var t=this;t.q47_1=N().p1();var n=this;n.r47_1=zr().va(),this.s47_1=a8([Ps(),Bs()]),this.t47_1=Rr([Ps(),Bs()])}y47(r,t){return er(QU.bind(l,this,r),t)}l1a(r,t){return this.y47(r!=null&&j(r,Qa())?r:m(),t)}}p(e,"GameResourceCollector",l,l,[ie()],[1]),z5=e}return z5}function*nK(e,i,r){var t=p8(e.z47_1.u43_1),n=gg(t,128,iK()).j1a(e.z47_1.y43_1,r);return n===O()&&(n=yield n),S}var q5;function aK(){if(q5===l){class e{a48(r,t){return r}oc(r,t){return this.a48(r!=null&&j(r,He())?r:m(),t)}}at(e,l,l,[1]),q5=e}return q5}function iK(){var e=new(aK()),i=(r,t)=>e.a48(r,t);return i.$arity=1,i}function*sK(e,i){r:for(;;){var r=e.x43_1.p18();if(f8(r))break r;var t=v8(r),n;if(t==null)continue r;n=t;var a=n;if(e.z43_1.u2(a.b48()),a.e48()){var s=e.d48(a,i);s===O()&&(s=yield s)}else{var u=e.c48(a,i);u===O()&&(u=yield u)}}return S}function*lK(e,i,r){e.l43_1.g48("GAME_ENGINE",()=>"Loaded "+i.b48()+" "+i.u47().toString()+" (version: "+i.f48()+")");var t=q$(e,i,r);if(t===O()&&(t=yield t),e.t43_1=e.t43_1-1|0,e.l43_1.m45("GAME_ENGINE",()=>"Remaining resources to load: "+e.t43_1+". ("+Et(e.z43_1,", ")+")"),e.t43_1===0){e.l43_1.m45("GAME_ENGINE",kK);var n=nr(e.m43_1[0]).h48(r);n===O()&&(n=yield n)}return S}function*uK(e,i,r){e.l43_1.g48("GAME_ENGINE",()=>"Reload "+i.b48()+" "+i.u47().toString()+" (version: "+i.f48()+")");var t=q$(e,i,r);return t===O()&&(t=yield t),S}function*_K(e,i,r){switch(i.u47().i3_1){case 0:var t=yK(e,i,r);t===O()&&(t=yield t);break;case 1:var n=mK(e,i,r);n===O()&&(n=yield n);break;case 2:var a=pK(e,i,r);a===O()&&(a=yield a);break;case 3:fK(e,i);break;case 4:hK(e,i);break;case 5:cK(e,i);break;case 6:oK(e,i);break;case 7:break;default:yt();break}return S}function q$(e,i,r){return er(_K.bind(l,e,i),r)}function oK(e,i){var r=i.v47();e.p43_1[r]=i instanceof q1()?i:m()}function cK(e,i){for(var r=i instanceof ZI()?i:m(),t=r.o48_1.e3().e1();t.f1();){var n=t.g1(),a=n.x2(),s=n.y2(),u=s,_=e.o43_1[i.j48_1],o=_==null?null:_.o48_1.b3(a);u.w48_1=o==null?null:o.w48_1}if(e.o43_1[i.j48_1]=r,e.v43_1>0){var c=e.m43_1[e.v43_1];c==null||(c.o44_1=!0)}e.w43_1.i1(r.o48_1.d3())}function hK(e,i){var r=i instanceof Yn()?i:m(),t=r,n=e.n43_1[i.q48_1];t.w48_1=n==null?null:n.w48_1,e.n43_1[i.q48_1]=r,e.w43_1.c1(r)}function fK(e,i){var r=i instanceof Yn()?i:m(),t=r,n=e.q43_1;t.w48_1=n==null?null:n.w48_1,e.q43_1=r,e.w43_1.c1(r)}function*vK(e,i,r){var t=e;t.s43_1=i instanceof ai()?i:m();var n=e.s43_1;n==null||(n.n44_1=e);var a=e.s43_1;if(a!=null){var s=a.i45(r);s===O()&&(s=yield s)}return S}function pK(e,i,r){return er(vK.bind(l,e,i),r)}function*dK(e,i,r){i instanceof ai()||m(),i.n44_1=e;try{var t;if(i.o44_1){var n=i.z48(r);n===O()&&(n=yield n),t=!n}else t=!1;if(t)return S}catch(u){if(u instanceof pn()){var a=u;throw S1(a,Zt(i.p44_1))}else throw u}if(e.m43_1[i.c44_1]=i,e.v43_1===i.c44_1)e.r43_1=i;else if(e.v43_1>0){var s=e.r43_1;s==null||(s.o44_1=!0)}return S}function mK(e,i,r){return er(dK.bind(l,e,i),r)}function*wK(e,i,r){var t=i instanceof ai()?i:m();t.n44_1=e;var n=t.i45(r);return n===O()&&(n=yield n),e.m43_1[0]=t,e.r43_1=t,e.v43_1=0,S}function yK(e,i,r){return er(wK.bind(l,e,i),r)}function I5(e,i,r){return i.length===0?null:i[r%i.length|0]}var $5;function gK(){if($5===l){class e{constructor(r){this.z47_1=r}b1b(r,t){return er(nK.bind(l,this,r),t)}oc(r,t){return this.b1b(r!=null&&j(r,qd())?r:m(),t)}}at(e,l,l,[1]),$5=e}return $5}function bK(e){var i=new(gK())(e),r=(t,n)=>i.b1b(t,n);return r.$arity=1,r}function kK(){return"All resources are loaded. Notify the boot script."}var A5;function CK(){if(A5===l){class e{constructor(r,t,n,a){this.l43_1=a,this.q43_1=null,this.r43_1=null,this.s43_1=null,this.t43_1=0,this.v43_1=0;var s=this;s.w43_1=N().p1(),this.x43_1=h8(2147483647),this.y43_1=new(eK())(this.x43_1);var u=this;u.z43_1=gt().o1();for(var _=t.d47_1,o=N().d1(gr(_,10)),c=0,h=_.e1();h.f1();){var f=h.g1(),v=c;c=v+1|0;var d=Ht(v),g=r.j49(d+1|0,f);o.c1(g)}for(var b=o,w=this,x=0,z=b.h1()+1|0,k=Array(z);x"Number of resources to load: "+this.t43_1);var L1=Sd(n.q49());zd(L1,l,l,bK(this))}r49(){return this.q43_1}a44(r){return er(sK.bind(l,this),r)}c48(r,t){return er(lK.bind(l,this,r),t)}d48(r,t){return er(uK.bind(l,this,r),t)}l45(r){var t=this.m43_1[this.v43_1];return this.v43_1=1+(r%this.m43_1.length|0)|0,this.r43_1=this.m43_1[this.v43_1],T(t,nr(this.r43_1))}s49(r){return I5(this,this.n43_1,r)}t49(r){var t=this.n43_1,n;r:{for(var a=0,s=t.length;a=this.n43_1.length&&(this.n43_1=cg(this.n43_1,r.q48_1+1|0)),this.n43_1[r.q48_1]=r}w49(r){return I5(this,this.o43_1,r)}x49(r){return I5(this,this.p43_1,r)}y49(r){var t=this.m43_1,n;r:{for(var a=0,s=t.length;a=0){var o=MK(e,_,r);o===O()&&(o=yield o)}else if(_.o44_1){var c=LK(e,_,r);c===O()&&(c=yield c)}if(e.a43_1=e.a43_1+i,e.a43_1>=.016666668){e.i43_1.x44("game_update"),e.y44().z44();var h=$K(e,ze(e).r43_1,r);h===O()&&(h=yield h);var f=qK(e,r);f===O()&&(f=yield f),e.a43_1=e.a43_1-.016666668;var v=e.b43_1;e.b43_1=en(v,L5());var d=EK(e,r);d===O()&&(d=yield d);var g=e.c43_1;if(g!=null){var b=RK(e,g,r);b===O()&&(b=yield b)}e.y44().b1h();var w=e.i43_1.a45("game_update");BK(e,w)}return S}function*zK(e,i){var r=ze(e).s43_1;if(r!=null){var t=r.b45(i);t===O()&&(t=yield t)}return S}function qK(e,i){return er(zK.bind(l,e),i)}function*IK(e,i,r){var t=e,n;try{if(i!=null){var a=i.b45(r);a===O()&&(a=yield a)}n=!1}catch(o){var s;if(o instanceof zm()){var u=o;if(!e.z42_1){var _=N1(e,e,u,r);_===O()&&(_=yield _)}s=!0}else throw o;n=s}return t.z42_1=n,S}function $K(e,i,r){return er(IK.bind(l,e,i),r)}function*AK(e,i){if(e.e45().f45(va(),O2())){var r=Mn(e,"recording GIF","#00FF00",l,i);r===O()&&(r=yield r),e.v42_1.z44()}else if(e.e45().f45(va(),R2())){var t=Mn(e,"screenshot PNG","#00FF00",l,i);t===O()&&(t=yield t),e.v42_1.g45()}else if(e.e45().f45(va(),B2())){e.i43_1.d45(!e.i43_1.c45());var n;e.i43_1.c45()?n="enable the profiler (Ctrl+P to disabled)":n="disabled the profiler";var a=n,s=Mn(e,a,"#00FF00",l,i);s===O()&&(s=yield s)}return S}function EK(e,i){return er(AK.bind(l,e),i)}function*NK(e,i,r){var t=PK(e,r);t===O()&&(t=yield t);try{var n=i.h45(r);n===O()&&(n=yield n);var a=n,s=i.i45(r);s===O()&&(s=yield s);var u=i.j45(a,r);u===O()&&(u=yield u);var _=e.y42_1;_?.k45(i),e.z42_1=!1}catch(h){if(h instanceof pn()){var o=h,c=N1(e,e,S1(o,Zt(i.p44_1)),r);c===O()&&(c=yield c)}else throw h}return S}function LK(e,i,r){return er(NK.bind(l,e,i),r)}function*jK(e,i,r){var t=ze(e).l45(i.l44_1),n=t.zd(),a=t.ae();try{var s=i.h45(r);s===O()&&(s=yield s);var u=s;e.x42_1.m45("GAME_ENGINE",()=>"Stop "+i.d44_1+" to switch the next game script "+a.d44_1);var _=a.i45(r);_===O()&&(_=yield _);var o=a.j45(u,r);o===O()&&(o=yield o);var c=e.y42_1;c?.n45(n,a)}catch(v){if(v instanceof pn()){var h=v,f=N1(e,e,S1(h,Zt(i.p44_1)),r);f===O()&&(f=yield f)}else throw v}return S}function MK(e,i,r){return er(jK.bind(l,e,i),r)}function*TK(e,i,r,t){i.x42_1.v45("TINY",()=>{var s="line "+r.r45_1+":"+r.t45_1+" <-- the 🐞 is around here ("+r.message+")";return"The line "+r.r45_1+" trigger an execution error ("+r.message+"). "+("Please fix the script "+r.q45_1+`! -`)+s});var n="error line "+r.r45_1+":"+r.t45_1+" ("+r.message+")",a=I$(i,n,"#FF0000",!0,t);return a===O()&&(a=yield a),S}function N1(e,i,r,t){return er(TK.bind(l,e,i,r),t)}function*FK(e,i,r,t,n){var a=ze(e).s43_1;if(a!=null){var s=a.w45("popup",[y().y1t(0),y().y1u(i),y().y1u(r),y().u26(t)],n);s===O()&&(s=yield s)}return S}function I$(e,i,r,t,n){return er(FK.bind(l,e,i,r,t),n)}function Mn(e,i,r,t,n,a){return t=t===l?!1:t,I$(e,i,r,t,n)}function*DK(e,i){var r=ze(e).s43_1;if(r!=null){var t=r.w45("clear",[],i);t===O()&&(t=yield t)}return S}function PK(e,i){return er(DK.bind(l,e),i)}function BK(e,i){var r;if(e.i43_1.c45()){var t=e.b43_1;r=l8(t,bt(60))===0n}else r=!1;if(r){var n=e.i43_1.x45(60);n!=null&&e.x42_1.m45("PERFORMANCE",()=>{var a=Fe((Br(n.z45_1*10)/10).toString(),6),s=Fe((Br(n.y45_1*100)/100).toString(),6),u=Fe((Br(i*100)/100).toString(),6),_=n.a46_1,o=Se(_)/1024,c=Fe((Br(o/1024*10)/10).toString(),6),h=Fe(n.f46_1.toString(),6),f=Fe(n.g46_1.toString(),6),v=Fe(n.k46_1.toString(),6);return` + `+Vt(this.u44_1)+` +`}}d(e,"GameScript",u,u,[Ya()],[0,2,1]),K4=e}return K4}var jw=Math.imul;function*FO(e,i,r){var t=e.x5h_1,n=e.y5h_1._v;e.y5h_1._v=n+1|0;var a=new(Za())(n,e.z5h_1,e.a5i_1,i),s=t.l1a(a,r);return s===R()&&(s=yield s),z}function*PO(e,i,r){var t=RO(i,e.c5i_1,e.d5i_1,e.e5i_1),n=e.b5i_1.j1a(new(vU())(t),r);return n===R()&&(n=yield n),z}var G4;function BO(){if(G4===u){class e{constructor(r,t,n,a){this.x5h_1=r,this.y5h_1=t,this.z5h_1=n,this.a5i_1=a}c1c(r,t){return nr(FO.bind(u,this,r),t)}lc(r,t){return this.c1c(r==null||r!=null?r:m(),t)}}at(e,u,u,[1]),G4=e}return G4}function RO(e,i,r,t){var n=new(BO())(e,i,r,t),a=(s,_)=>n.c1c(s,_);return a.$arity=1,a}function*OO(e,i,r){var t=e.f5i_1,n=e.g5i_1.f49_1.v53(i),a=t.l1a(n,r);return a===R()&&(a=yield a),z}function*UO(e,i,r){var t=GO(i,e.i5i_1),n=e.h5i_1.j1a(new(z1())(t),r);return n===R()&&(n=yield n),z}var J4;function KO(){if(J4===u){class e{constructor(r,t){this.f5i_1=r,this.g5i_1=t}c1c(r,t){return nr(OO.bind(u,this,r),t)}lc(r,t){return this.c1c(r==null||r!=null?r:m(),t)}}at(e,u,u,[1]),J4=e}return J4}function GO(e,i){var r=new(KO())(e,i),t=(n,a)=>r.c1c(n,a);return t.$arity=1,t}function*JO(e,i,r){var t=e.j5i_1,n=wa().l5i(Vt(i)),a=t.l1a(n,r);return a===R()&&(a=yield a),z}function*WO(e,i,r){var t=VO(i),n=e.m5i_1.j1a(new(z1())(t),r);return n===R()&&(n=yield n),z}var W4;function HO(){if(W4===u){class e{constructor(r){this.j5i_1=r}c1c(r,t){return nr(JO.bind(u,this,r),t)}lc(r,t){return this.c1c(r==null||r!=null?r:m(),t)}}at(e,u,u,[1]),W4=e}return W4}function VO(e){var i=new(HO())(e),r=(t,n)=>i.c1c(t,n);return r.$arity=1,r}function YO(e){return e.k4m_1}function*ZO(e,i,r){var t=e.n5i_1,n=mU(e.o5i_1,e.p5i_1,i,r);n===R()&&(n=yield n);var a=T(i,n),s=t.l1a(a,r);return s===R()&&(s=yield s),z}function*XO(e,i,r){var t=rU(i,e.r5i_1,e.s5i_1),n=e.q5i_1.j1a(new(z1())(t),r);return n===R()&&(n=yield n),z}var H4;function QO(){if(H4===u){class e{constructor(r,t,n){this.n5i_1=r,this.o5i_1=t,this.p5i_1=n}c1c(r,t){return nr(ZO.bind(u,this,r),t)}lc(r,t){return this.c1c(r==null||r!=null?r:m(),t)}}at(e,u,u,[1]),H4=e}return H4}function rU(e,i,r){var t=new(QO())(e,i,r),n=(a,s)=>t.c1c(a,s);return n.$arity=1,n}function*tU(e,i,r){var t=e.t5i_1,n=i.wd(),a=i.xd(),s=e.u5i_1._v;e.u5i_1._v=s+1|0;var _=new(ZI())(s,e.v5i_1,e.w5i_1,OI(),!1,n,a),l=t.l1a(_,r);return l===R()&&(l=yield l),z}function*eU(e,i,r){var t=aU(i,e.y5i_1,e.z5i_1,e.a5j_1),n=e.x5i_1.j1a(new(z1())(t),r);return n===R()&&(n=yield n),z}var V4;function nU(){if(V4===u){class e{constructor(r,t,n,a){this.t5i_1=r,this.u5i_1=t,this.v5i_1=n,this.w5i_1=a}c1c(r,t){return nr(tU.bind(u,this,r),t)}lc(r,t){return this.c1c(r==null||r!=null?r:m(),t)}}at(e,u,u,[1]),V4=e}return V4}function aU(e,i,r,t){var n=new(nU())(e,i,r,t),a=(s,_)=>n.c1c(s,_);return a.$arity=1,a}function*iU(e,i,r){var t=e.b5j_1,n=e.c5j_1._v;e.c5j_1._v=n+1|0;var a=e.d5j_1.k49_1,s=e.d5j_1.h49_1,_=e.d5j_1.i49_1,l=e.d5j_1.f49_1,o=e.d5j_1.l49_1,c=e.d5j_1.g49_1,h=new(ti())(n,e.e5j_1,e.f5j_1,a,s,_,c,l,o,e.g5j_1);h.u44_1=i;var v=t.l1a(h,r);return v===R()&&(v=yield v),z}function*sU(e,i,r){var t=_U(i,e.i5j_1,e.j5j_1,e.k5j_1,e.l5j_1,e.m5j_1),n=e.h5j_1.j1a(new(fU())(t),r);return n===R()&&(n=yield n),z}var Y4;function uU(){if(Y4===u){class e{constructor(r,t,n,a,s,_){this.b5j_1=r,this.c5j_1=t,this.d5j_1=n,this.e5j_1=a,this.f5j_1=s,this.g5j_1=_}c1c(r,t){return nr(iU.bind(u,this,r),t)}lc(r,t){return this.c1c(r==null||r!=null?r:m(),t)}}at(e,u,u,[1]),Y4=e}return Y4}function _U(e,i,r,t,n,a){var s=new(uU())(e,i,r,t,n,a),_=(l,o)=>s.c1c(l,o);return _.$arity=1,_}function*lU(e,i,r){var t=e.n5j_1,n=y7(e.o5j_1,i.r53_1,i.s53_1,i.t53_1),a=e.p5j_1._v;e.p5j_1._v=a+1|0;var s=new(Jn())(a,e.q5j_1,e.r5j_1,e.s5j_1,n,i.s53_1,i.t53_1),_=t.l1a(s,r);return _===R()&&(_=yield _),z}function*oU(e,i,r){var t=hU(i,e.u5j_1,e.v5j_1,e.w5j_1,e.x5j_1,e.y5j_1),n=e.t5j_1.j1a(new(dU())(t),r);return n===R()&&(n=yield n),z}var Z4;function cU(){if(Z4===u){class e{constructor(r,t,n,a,s,_){this.n5j_1=r,this.o5j_1=t,this.p5j_1=n,this.q5j_1=a,this.r5j_1=s,this.s5j_1=_}c1c(r,t){return nr(lU.bind(u,this,r),t)}lc(r,t){return this.c1c(r==null||r!=null?r:m(),t)}}at(e,u,u,[1]),Z4=e}return Z4}function hU(e,i,r,t,n,a){var s=new(cU())(e,i,r,t,n,a),_=(l,o)=>s.c1c(l,o);return _.$arity=1,_}function X4(e,i,r,t){var n={_v:0},a=e.e49_1.n4a(e.f49_1.u53(r,!e.m49_1.a2(t))),s=new($U())(a,n,e,i,r,t);return Ri(s,AU(e,r))}function Nw(e,i,r,t){var n={_v:0},a=e.e49_1.n4a(e.f49_1.w53(r,!e.m49_1.a2(t))),s=new(jU())(a,e,n,i,r,t);return Ri(s,LU(e,r,t))}function y7(e,i,r,t){var n=new(u7())(r,t),a=xt(0,r),s=a.v1_1,_=a.w1_1;if(s<=_)do{var l=s;s=s+1|0;var o=l,c=xt(0,t),h=c.v1_1,v=c.w1_1;if(h<=v)do{var f=h;h=h+1|0;var p=f,w=jw(o+jw(p,r)|0,4),b=e.k49_1.r47(),g=new Int8Array([i[w+0|0],i[w+1|0],i[w+2|0],i[w+3|0]]),C=b.j4c(g);n.k4d(o,p,new Int32Array([C]))}while(f!==v)}while(l!==_);return n}var Q4;function vU(){if(Q4===u){class e{constructor(r){this.z5j_1=r}l1a(r,t){return this.z5j_1(r,t)}l3(){return this.z5j_1}equals(r){var t;if(r!=null&&L(r,ae())){var n;r!=null&&L(r,tt())?n=A(this.l3(),r.l3()):n=!1,t=n}else t=!1;return t}hashCode(){return Z(this.l3())}}d(e,"sam$kotlinx_coroutines_flow_FlowCollector$0",u,u,[ae(),tt()],[1]),Q4=e}return Q4}var r5;function z1(){if(r5===u){class e{constructor(r){this.a5k_1=r}l1a(r,t){return this.a5k_1(r,t)}l3(){return this.a5k_1}equals(r){var t;if(r!=null&&L(r,ae())){var n;r!=null&&L(r,tt())?n=A(this.l3(),r.l3()):n=!1,t=n}else t=!1;return t}hashCode(){return Z(this.l3())}}d(e,"sam$kotlinx_coroutines_flow_FlowCollector$0",u,u,[ae(),tt()],[1]),r5=e}return r5}var t5;function fU(){if(t5===u){class e{constructor(r){this.b5k_1=r}l1a(r,t){return this.b5k_1(r,t)}l3(){return this.b5k_1}equals(r){var t;if(r!=null&&L(r,ae())){var n;r!=null&&L(r,tt())?n=A(this.l3(),r.l3()):n=!1,t=n}else t=!1;return t}hashCode(){return Z(this.l3())}}d(e,"sam$kotlinx_coroutines_flow_FlowCollector$0",u,u,[ae(),tt()],[1]),t5=e}return t5}var e5;function dU(){if(e5===u){class e{constructor(r){this.c5k_1=r}l1a(r,t){return this.c5k_1(r,t)}l3(){return this.c5k_1}equals(r){var t;if(r!=null&&L(r,ae())){var n;r!=null&&L(r,tt())?n=A(this.l3(),r.l3()):n=!1,t=n}else t=!1;return t}hashCode(){return Z(this.l3())}}d(e,"sam$kotlinx_coroutines_flow_FlowCollector$0",u,u,[ae(),tt()],[1]),e5=e}return e5}function*pU(e,i,r,t){for(var n=r.a4o_1,a=j().p1(),s=n.e1();s.f1();){var _=s.g1(),l=_.o4m_1;ya(a,l)}for(var o=j().p1(),c=a.e1();c.f1();){var h=c.g1(),v;h instanceof ja()?v=h.y5k_1:h instanceof La()||h instanceof Aa()?v=null:h instanceof Na()?v=h.l5k_1:wt();var f=v;f==null||o.c1(f)}for(var p=j().d1(Cr(o,10)),w=o.e1();w.f1();){var b=w.g1(),g=e.f49_1.x53(b),C,S=g.i4a(t);S===R()&&(S=yield S),S?C=g:C=null;var k=C,E;if(k==null)E=null;else{var D=k.j4a(t);D===R()&&(D=yield D),E=D}var P=T(b,E);p.c1(P)}for(var O=j().p1(),H=p.e1();H.f1();){var G=H.g1();G.vd_1!=null&&O.c1(G)}for(var X=Ct(sb(Cr(O,10)),16),Q=jr().ta(X),rr=O.e1();rr.f1();){var er=rr.g1(),ir=er.wd(),hr=er.xd(),or=y7(e,tr(hr).r53_1,hr.s53_1,hr.t53_1),pr=new(Jn())(0,0,"__level-"+i,Lm(),or,or.e4d_1,or.f4d_1),Dr=T(ir,pr);Q.c3(Dr.ud_1,Dr.vd_1)}return Q}function mU(e,i,r,t){return nr(pU.bind(u,e,i,r),t)}var n5;function gU(){if(n5===u){class e{constructor(r,t,n,a){this.b5i_1=r,this.c5i_1=t,this.d5i_1=n,this.e5i_1=a}m1a(r,t){return nr(PO.bind(u,this,r),t)}j1a(r,t){return this.m1a(r,t)}}d(e,u,u,u,[Ge()],[1]),n5=e}return n5}var a5;function wU(){if(a5===u){class e{constructor(r,t){this.d5l_1=r,this.e5l_1=t}f5l(r,t){this.d5l_1.l49_1.r45("RESOURCE_FACTORY",()=>"Loading sound '"+this.e5l_1+"'")}lc(r,t){return this.f5l(r instanceof Za()?r:m(),t)}}at(e,u,u,[1]),a5=e}return a5}function bU(e,i){var r=new(wU())(e,i),t=(n,a)=>r.f5l(n,a);return t.$arity=1,t}var i5;function yU(){if(i5===u){class e{constructor(r,t){this.h5i_1=r,this.i5i_1=t}m1a(r,t){return nr(UO.bind(u,this,r),t)}j1a(r,t){return this.m1a(r,t)}}d(e,u,u,u,[Ge()],[1]),i5=e}return i5}var s5;function kU(){if(s5===u){class e{constructor(r){this.g5l_1=r}h5l(r,t){return this.g5l_1.e49_1.n4a(r)}lc(r,t){return this.h5l(r!=null&&L(r,i1())?r:m(),t)}}at(e,u,u,[1]),s5=e}return s5}function xU(e){var i=new(kU())(e),r=(t,n)=>i.h5l(t,n);return r.$arity=1,r}var u5;function CU(){if(u5===u){class e{constructor(r){this.m5i_1=r}m1a(r,t){return nr(WO.bind(u,this,r),t)}j1a(r,t){return this.m1a(r,t)}}d(e,u,u,u,[Ge()],[1]),u5=e}return u5}var _5;function zU(){if(_5===u){class e{constructor(r){this.i5l_1=r}j5l(r,t){this.i5l_1.l49_1.r45("RESOURCE_FACTORY",()=>{var n="Loading world "+r.y4n_1+" with levels ";return n+jt(r.a4o_1,", ",u,u,u,u,YO)})}lc(r,t){return this.j5l(r instanceof Ds()?r:m(),t)}}at(e,u,u,[1]),_5=e}return _5}function SU(e){var i=new(zU())(e),r=(t,n)=>i.j5l(t,n);return r.$arity=1,r}var l5;function qU(){if(l5===u){class e{constructor(r,t,n){this.q5i_1=r,this.r5i_1=t,this.s5i_1=n}m1a(r,t){return nr(XO.bind(u,this,r),t)}j1a(r,t){return this.m1a(r,t)}}d(e,u,u,u,[Ge()],[1]),l5=e}return l5}var o5;function IU(){if(o5===u){class e{constructor(r,t,n,a){this.x5i_1=r,this.y5i_1=t,this.z5i_1=n,this.a5j_1=a}m1a(r,t){return nr(eU.bind(u,this,r),t)}j1a(r,t){return this.m1a(r,t)}}d(e,u,u,u,[Ge()],[1]),o5=e}return o5}var c5;function $U(){if(c5===u){class e{constructor(r,t,n,a,s,_){this.h5j_1=r,this.i5j_1=t,this.j5j_1=n,this.k5j_1=a,this.l5j_1=s,this.m5j_1=_}m1a(r,t){return nr(sU.bind(u,this,r),t)}j1a(r,t){return this.m1a(r,t)}}d(e,u,u,u,[Ge()],[1]),c5=e}return c5}var h5;function EU(){if(h5===u){class e{constructor(r,t){this.k5l_1=r,this.l5l_1=t}m5l(r,t){this.k5l_1.l49_1.r45("RESOURCE_FACTORY",()=>"Loading script '"+this.l5l_1+"'")}lc(r,t){return this.m5l(r instanceof ti()?r:m(),t)}}at(e,u,u,[1]),h5=e}return h5}function AU(e,i){var r=new(EU())(e,i),t=(n,a)=>r.m5l(n,a);return t.$arity=1,t}var v5;function jU(){if(v5===u){class e{constructor(r,t,n,a,s,_){this.t5j_1=r,this.u5j_1=t,this.v5j_1=n,this.w5j_1=a,this.x5j_1=s,this.y5j_1=_}m1a(r,t){return nr(oU.bind(u,this,r),t)}j1a(r,t){return this.m1a(r,t)}}d(e,u,u,u,[Ge()],[1]),v5=e}return v5}var f5;function NU(){if(f5===u){class e{constructor(r,t,n){this.n5l_1=r,this.o5l_1=t,this.p5l_1=n}q5l(r,t){this.n5l_1.l49_1.r45("RESOURCE_FACTORY",()=>"Loading spritesheet '"+this.o5l_1+"' ("+this.p5l_1.toString()+")")}lc(r,t){return this.q5l(r instanceof Jn()?r:m(),t)}}at(e,u,u,[1]),f5=e}return f5}function LU(e,i,r){var t=new(NU())(e,i,r),n=(a,s)=>t.q5l(a,s);return n.$arity=1,n}var d5;function MU(){if(d5===u){class e{constructor(r,t,n,a,s,_,l,o){this.e49_1=r,this.f49_1=t,this.g49_1=n,this.h49_1=a,this.i49_1=s,this.j49_1=_,this.k49_1=l,this.l49_1=o,this.m49_1=d0([Ms(),Ts(),dw()])}q49(r,t){var n={_v:0},a=this.e49_1.n4a(this.f49_1.y53(t,this.j49_1)),s=new(gU())(a,n,r,t);return Ri(s,bU(this,t))}p49(r,t){var n={_v:0},a=_8(t),s=new(yU())(a,this),_=wb(s,u,xU(this)),l=new(CU())(_),o=Ri(l,SU(this)),c=new(qU())(o,this,t);return new(IU())(c,n,r,t)}n49(r,t){return X4(this,r,t,QF())}u49(r){return X4(this,0,r,Ts())}t49(r){return X4(this,0,r,Ms())}o49(r,t){return Nw(this,r,t,Lm())}v49(r){return Nw(this,0,r,dw())}}d(e,"ResourceFactory",u,u,u,[3]),d5=e}return d5}function*TU(e,i,r){var t=t8(e.w47_1),n=i.y47();if(e.w47_1.r2(n),t==null){Lw(e,i);var a=e.t47_1.l18(i,r);a===R()&&(a=yield a)}else if(e.w47_1.m1()){e.u47_1.c1(i);var s=DU(e,e.u47_1);e.u47_1.s2();for(var _=s.e1();_.f1();){var l=_.g1();Lw(e,l);var o=e.t47_1.l18(l,r);o===R()&&(o=yield o)}}else e.w47_1.m1()||e.u47_1.c1(i);return z}function Lw(e,i){var r=i.y47(),t=e.v47_1,n=t.y2(r),a;if(n==null){var s=jr().sa();t.c3(r,s),a=s}else a=n;var _=a,l=_.y2(i.z47()),o=i.z47();_.c3(o,i),i.a48(l!=null)}function DU(e,i){var r=j().p1();if(r.i1(i),r.h1()>1){var t=(a,s)=>{var _=e.x47_1.p2(a.y47()),l=_===-1?e.x47_1.h1():_,o=e.x47_1.p2(s.y47()),c=o===-1?e.x47_1.h1():o;return Ma(l,c)},n=new(FU())(t);e8(r,n)}return r}var p5;function FU(){if(p5===u){class e{constructor(r){this.b48_1=r}eh(r,t){return this.b48_1(r,t)}compare(r,t){return this.eh(r,t)}l3(){return this.b48_1}equals(r){var t;if(r!=null&&L(r,ne())){var n;r!=null&&L(r,tt())?n=A(this.l3(),r.l3()):n=!1,t=n}else t=!1;return t}hashCode(){return Z(this.l3())}}d(e,"sam$kotlin_Comparator$0",u,u,[ne(),tt()]),p5=e}return p5}var m5;function PU(){if(m5===u){class e{constructor(r){this.t47_1=r;var t=this;t.u47_1=j().p1();var n=this;n.v47_1=jr().sa(),this.w47_1=r8([Ms(),Ts()]),this.x47_1=Rr([Ms(),Ts()])}c48(r,t){return nr(TU.bind(u,this,r),t)}l1a(r,t){return this.c48(r!=null&&L(r,Ya())?r:m(),t)}}d(e,"GameResourceCollector",u,u,[ae()],[1]),m5=e}return m5}function*BU(e,i,r){var t=h8(e.d48_1.w43_1),n=wb(t,128,OU()).j1a(e.d48_1.a44_1,r);return n===R()&&(n=yield n),z}var g5;function RU(){if(g5===u){class e{e48(r,t){return r}lc(r,t){return this.e48(r!=null&&L(r,Ge())?r:m(),t)}}at(e,u,u,[1]),g5=e}return g5}function OU(){var e=new(RU()),i=(r,t)=>e.e48(r,t);return i.$arity=1,i}function*UU(e,i){r:for(;;){var r=e.z43_1.p18();if(o8(r))break r;var t=c8(r),n;if(t==null)continue r;n=t;var a=n;if(e.b44_1.r2(a.f48()),a.i48()){var s=e.h48(a,i);s===R()&&(s=yield s)}else{var _=e.g48(a,i);_===R()&&(_=yield _)}}return z}function*KU(e,i,r){e.n43_1.k48("GAME_ENGINE",()=>"Loaded "+i.f48()+" "+i.y47().toString()+" (version: "+i.j48()+")");var t=k7(e,i,r);if(t===R()&&(t=yield t),e.v43_1=e.v43_1-1|0,e.n43_1.r45("GAME_ENGINE",()=>"Remaining resources to load: "+e.v43_1+". ("+jt(e.b44_1,", ")+")"),e.v43_1===0){e.n43_1.r45("GAME_ENGINE",iK);var n=tr(e.o43_1[0]).l48(r);n===R()&&(n=yield n)}return z}function*GU(e,i,r){e.n43_1.k48("GAME_ENGINE",()=>"Reload "+i.f48()+" "+i.y47().toString()+" (version: "+i.j48()+")");var t=k7(e,i,r);return t===R()&&(t=yield t),z}function*JU(e,i,r){switch(i.y47().f3_1){case 0:var t=eK(e,i,r);t===R()&&(t=yield t);break;case 1:var n=rK(e,i,r);n===R()&&(n=yield n);break;case 2:var a=XU(e,i,r);a===R()&&(a=yield a);break;case 3:YU(e,i);break;case 4:VU(e,i);break;case 5:HU(e,i);break;case 6:WU(e,i);break;case 7:break;default:wt();break}return z}function k7(e,i,r){return nr(JU.bind(u,e,i),r)}function WU(e,i){var r=i.z47();e.r43_1[r]=i instanceof Za()?i:m()}function HU(e,i){for(var r=i instanceof ZI()?i:m(),t=r.s48_1.b3().e1();t.f1();){var n=t.g1(),a=n.u2(),s=n.v2(),_=s,l=e.q43_1[i.n48_1],o=l==null?null:l.s48_1.y2(a);_.a49_1=o==null?null:o.a49_1}if(e.q43_1[i.n48_1]=r,e.x43_1>0){var c=e.o43_1[e.x43_1];c==null||(c.t44_1=!0)}e.y43_1.i1(r.s48_1.a3())}function VU(e,i){var r=i instanceof Jn()?i:m(),t=r,n=e.p43_1[i.u48_1];t.a49_1=n==null?null:n.a49_1,e.p43_1[i.u48_1]=r,e.y43_1.c1(r)}function YU(e,i){var r=i instanceof Jn()?i:m(),t=r,n=e.s43_1;t.a49_1=n==null?null:n.a49_1,e.s43_1=r,e.y43_1.c1(r)}function*ZU(e,i,r){var t=e;t.u43_1=i instanceof ti()?i:m();var n=e.u43_1;n==null||(n.s44_1=e);var a=e.u43_1;if(a!=null){var s=a.n45(r);s===R()&&(s=yield s)}return z}function XU(e,i,r){return nr(ZU.bind(u,e,i),r)}function*QU(e,i,r){i instanceof ti()||m(),i.s44_1=e;try{var t;if(i.t44_1){var n=i.d49(r);n===R()&&(n=yield n),t=!n}else t=!1;if(t)return z}catch(_){if(_ instanceof Je()){var a=_;throw b1(a,Vt(i.u44_1))}else throw _}if(e.o43_1[i.h44_1]=i,e.x43_1===i.h44_1)e.t43_1=i;else if(e.x43_1>0){var s=e.t43_1;s==null||(s.t44_1=!0)}return z}function rK(e,i,r){return nr(QU.bind(u,e,i),r)}function*tK(e,i,r){var t=i instanceof ti()?i:m();t.s44_1=e;var n=t.n45(r);return n===R()&&(n=yield n),e.o43_1[0]=t,e.t43_1=t,e.x43_1=0,z}function eK(e,i,r){return nr(tK.bind(u,e,i),r)}function w5(e,i,r){return i.length===0?null:i[r%i.length|0]}var b5;function nK(){if(b5===u){class e{constructor(r){this.d48_1=r}b1b(r,t){return nr(BU.bind(u,this,r),t)}lc(r,t){return this.b1b(r!=null&&L(r,y0())?r:m(),t)}}at(e,u,u,[1]),b5=e}return b5}function aK(e){var i=new(nK())(e),r=(t,n)=>i.b1b(t,n);return r.$arity=1,r}function iK(){return"All resources are loaded. Notify the boot script."}var y5;function sK(){if(y5===u){class e{constructor(r,t,n,a){this.n43_1=a,this.s43_1=null,this.t43_1=null,this.u43_1=null,this.v43_1=0,this.x43_1=0;var s=this;s.y43_1=j().p1(),this.z43_1=l8(2147483647),this.a44_1=new(PU())(this.z43_1);var _=this;_.b44_1=bt().o1();for(var l=t.h47_1,o=j().d1(Cr(l,10)),c=0,h=l.e1();h.f1();){var v=h.g1(),f=c;c=f+1|0;var p=te(f),w=r.n49(p+1|0,v);o.c1(w)}for(var b=o,g=this,C=0,S=b.h1()+1|0,k=Array(S);C"Number of resources to load: "+this.v43_1);var Hn=w0(n.w49());b0(Hn,u,u,aK(this))}x49(){return this.s43_1}c44(r){return nr(UU.bind(u,this),r)}g48(r,t){return nr(KU.bind(u,this,r),t)}h48(r,t){return nr(GU.bind(u,this,r),t)}q45(r){var t=this.o43_1[this.x43_1];return this.x43_1=1+(r%this.o43_1.length|0)|0,this.t43_1=this.o43_1[this.x43_1],T(t,tr(this.t43_1))}y49(r){return w5(this,this.p43_1,r)}z49(r){var t=this.p43_1,n;r:{for(var a=0,s=t.length;a=this.p43_1.length&&(this.p43_1=_b(this.p43_1,r.u48_1+1|0)),this.p43_1[r.u48_1]=r}c4a(r){return w5(this,this.q43_1,r)}d4a(r){return w5(this,this.r43_1,r)}e4a(r){var t=this.o43_1,n;r:{for(var a=0,s=t.length;a=0){var o=gK(e,l,r);o===R()&&(o=yield o)}else if(l.t44_1){e.d44().f44();var c=pK(e,l,r);c===R()&&(c=yield c)}if(e.c43_1=e.c43_1+i,e.c43_1>=.016666668){e.k43_1.c45("game_update"),e.d45().e45();var h=hK(e,Ce(e).t43_1,r);h===R()&&(h=yield h);var v=oK(e,r);v===R()&&(v=yield v),e.c43_1=e.c43_1-.016666668;var f=e.d43_1;e.d43_1=Qe(f,C5());var p=fK(e,r);p===R()&&(p=yield p);var w=e.e43_1;if(w!=null){var b=zK(e,w,r);b===R()&&(b=yield b)}e.d45().c1h();var g=e.k43_1.f45("game_update");xK(e,g)}return z}function*lK(e,i){var r=Ce(e).u43_1;if(r!=null){var t=r.g45(i);t===R()&&(t=yield t)}return z}function oK(e,i){return nr(lK.bind(u,e),i)}function*cK(e,i,r){var t=e,n;try{if(i!=null){var a=i.g45(r);a===R()&&(a=yield a)}n=!1}catch(o){var s;if(o instanceof bm()){var _=o;if(!e.b43_1){var l=S1(e,e,_,r);l===R()&&(l=yield l)}s=!0}else throw o;n=s}return t.b43_1=n,z}function hK(e,i,r){return nr(cK.bind(u,e,i),r)}function*vK(e,i){if(e.j45().k45(ca(),Ry())){var r=jn(e,"recording GIF","#00FF00",u,i);r===R()&&(r=yield r),e.x42_1.e45()}else if(e.j45().k45(ca(),Oy())){var t=jn(e,"screenshot PNG","#00FF00",u,i);t===R()&&(t=yield t),e.x42_1.l45()}else if(e.j45().k45(ca(),By())){e.k43_1.i45(!e.k43_1.h45());var n;e.k43_1.h45()?n="enable the profiler (Ctrl+P to disabled)":n="disabled the profiler";var a=n,s=jn(e,a,"#00FF00",u,i);s===R()&&(s=yield s)}return z}function fK(e,i){return nr(vK.bind(u,e),i)}function*dK(e,i,r){var t=kK(e,r);t===R()&&(t=yield t);try{var n=i.m45(r);n===R()&&(n=yield n);var a=n,s=i.n45(r);s===R()&&(s=yield s);var _=i.o45(a,r);_===R()&&(_=yield _);var l=e.a43_1;l?.p45(i),e.b43_1=!1}catch(h){if(h instanceof Je()){var o=h,c=S1(e,e,b1(o,Vt(i.u44_1)),r);c===R()&&(c=yield c)}else throw h}return z}function pK(e,i,r){return nr(dK.bind(u,e,i),r)}function*mK(e,i,r){var t=Ce(e).q45(i.q44_1),n=t.wd(),a=t.xd();try{var s=i.m45(r);s===R()&&(s=yield s);var _=s;e.z42_1.r45("GAME_ENGINE",()=>"Stop "+i.i44_1+" to switch the next game script "+a.i44_1);var l=a.n45(r);l===R()&&(l=yield l);var o=a.o45(_,r);o===R()&&(o=yield o);var c=e.a43_1;c?.s45(n,a)}catch(f){if(f instanceof Je()){var h=f,v=S1(e,e,b1(h,Vt(i.u44_1)),r);v===R()&&(v=yield v)}else throw f}return z}function gK(e,i,r){return nr(mK.bind(u,e,i),r)}function*wK(e,i,r,t){i.z42_1.a46("TINY",()=>{var s="line "+r.w45_1+":"+r.y45_1+" <-- the 🐞 is around here ("+r.message+")";return"The line "+r.w45_1+" trigger an execution error ("+r.message+"). "+("Please fix the script "+r.v45_1+`! +`)+s});var n="error line "+r.w45_1+":"+r.y45_1+" ("+r.message+")",a=x7(i,n,"#FF0000",!0,t);return a===R()&&(a=yield a),z}function S1(e,i,r,t){return nr(wK.bind(u,e,i,r),t)}function*bK(e,i,r,t,n){var a=Ce(e).u43_1;if(a!=null){var s=a.b46("popup",[y().a1u(0),y().a1v(i),y().a1v(r),y().w26(t)],n);s===R()&&(s=yield s)}return z}function x7(e,i,r,t,n){return nr(bK.bind(u,e,i,r,t),n)}function jn(e,i,r,t,n,a){return t=t===u?!1:t,x7(e,i,r,t,n)}function*yK(e,i){var r=Ce(e).u43_1;if(r!=null){var t=r.b46("clear",[],i);t===R()&&(t=yield t)}return z}function kK(e,i){return nr(yK.bind(u,e),i)}function xK(e,i){var r;if(e.k43_1.h45()){var t=e.d43_1;r=a8(t,yt(60))===0n}else r=!1;if(r){var n=e.k43_1.c46(60);n!=null&&e.z42_1.r45("PERFORMANCE",()=>{var a=Le((Pr(n.e46_1*10)/10).toString(),6),s=Le((Pr(n.d46_1*100)/100).toString(),6),_=Le((Pr(i*100)/100).toString(),6),l=n.f46_1,o=xe(l)/1024,c=Le((Pr(o/1024*10)/10).toString(),6),h=Le(n.k46_1.toString(),6),v=Le(n.l46_1.toString(),6),f=Le(n.p46_1.toString(),6);return` ┌─────────────────┬────────┐ `+("│ FPS │ "+a+` │ `)+("│ Frame Time │ "+s+`ms │ -`)+("│ Update Time │ "+u+`ms │ +`)+("│ Update Time │ "+_+`ms │ `)+("│ Memory │ "+c+`MB │ `)+("│ Draw Calls │ "+h+` │ -`)+("│ Read Pixels │ "+f+` │ -`)+("│ Draw On Screen │ "+v+` │ -`)+"└─────────────────┴────────┘"})}}function*OK(e,i,r){if(!e.i43_1.c45())return S;if(i.z45_1<30){var t=Mn(e,"LOW FPS: "+i.z45_1,"#FF0000",l,r);t===O()&&(t=yield t)}if(i.b46_1>1048576n){var n=i.b46_1,a=dw(n,bt(1024)),s=dw(a,bt(1024)),u=Mn(e,"HIGH ALLOC: "+s.toString()+"MB","#FFAA00",l,r);u===O()&&(u=yield u)}if(i.y45_1>16.67){var _=Mn(e,"Frame: "+i.y45_1+"ms","#AAAA00",l,r);_===O()&&(_=yield _)}return S}function RK(e,i,r){return er(OK.bind(l,e,i),r)}var E5;function UK(){if(E5===l){class e{constructor(){this.l46_1=.016666668}}ar(e),E5=e}return E5}var N5;function KK(){if(N5===l){class e{constructor(r,t,n,a,s){s=s===l?null:s,this.u42_1=r,this.v42_1=t,this.w42_1=n,this.x42_1=a,this.y42_1=s,this.z42_1=!1,this.a43_1=0,this.b43_1=0n,this.c43_1=null,this.i43_1=this.v42_1.m46()}e45(){var r=this.d43_1;if(r!=null)return r;st("inputHandler")}y44(){var r=this.e43_1;if(r!=null)return r;st("inputManager")}n46(){var r=this.f43_1;if(r!=null)return r;st("soundManager")}o46(){var r=this.v42_1.p46();this.d43_1=this.v42_1.q46(),this.e43_1=this.v42_1.r46(),this.f43_1=this.v42_1.s46(this.e45());var t=this.v42_1.t46(r);this.h43_1=new(QD())(t,this.u42_1,this.i43_1),gi(this).u46(r);var n=new(w9())(this.n46()),a=this,s=this.w42_1,u=this.v42_1,_=this.e45(),o=this.x42_1,c=this.u42_1,h=gi(this),f=this.n46();a.g43_1=new(XU())(s,u,_,h,n,f,c,o),this.j43_1=new(CK())(xK(this),this.u42_1,this.v42_1,this.x42_1),this.v42_1.v46(this)}w46(r,t){return er(SK.bind(l,this,r),t)}x46(){this.i43_1.x44("draw"),gi(this).y46(ze(this).w43_1),ze(this).w43_1.v2(),gi(this).x46(),this.i43_1.a45("draw"),this.c43_1=this.i43_1.z46()}}p(e,"GameEngine",l,l,l,[1,0,2,3]),N5=e}return N5}new(UK());function GK(e,i){return e.appendChild(nr(e.ownerDocument).createTextNode(i)),e}var Dy=Math.imul;function JK(){var e=window.location.protocol+"//"+window.location.host+window.location.pathname;return e=ca(e,0,mg(e,C(47))),u8(e,"/")&&Gy(e,1),e}function WK(){var e=JK(),i=document.getElementsByTagName("tiny-game");HK(e,i)}function HK(e,i){if(i.length===0)throw H().u("No has been found in the current page. Check that the page including your javascript gamehas a least one tag to render the game in.");if($a(e,"file://"))throw $$(i,YK),H().u("Tiny can't run without a webserver.Please run a webserver to serve the files so you can acess it through http://localhost instead of file://some/path.");VK(i,(r,t)=>{var n=nr(t.getAttribute("id")),a=t.getAttribute("width"),s=a==null?null:an(a),u=s??128,_=t.getAttribute("height"),o=_==null?null:an(_),c=o??128,h=t.getAttribute("zoom"),f=h==null?null:an(h),v=f??1,d=t.getAttribute("mouse"),g=d==null?null:_8(d),b=g??!1,w=t.getAttribute("spritew"),x=w==null?null:an(w),z=x??16,k=t.getAttribute("spriteh"),A=k==null?null:an(k),D=A??16,B=t.getElementsByTagName("tiny-script"),R=_i(bi(B,ZK)),W=t.getElementsByTagName("tiny-level"),G=_i(bi(W,XK)),Q=t.getElementsByTagName("tiny-sound"),X=_i(bi(Q,QK)),rr=t.getElementsByTagName("tiny-spritesheet"),tr=_i(bi(rr,rG)),ir=t.getElementsByTagName("tiny-colors")[0],dr=ir==null?null:ir.getAttribute("name"),cr=dr==null?null:Cd(dr,[","]),mr=cr==null?null:a1(cr),Dr=mr??ot(),Ir=document.createElement("canvas");Ir.setAttribute("width",Dy(u,v).toString()),Ir.setAttribute("height",Dy(c,v).toString()),Ir.setAttribute("tabindex","1"),b&&Ir.setAttribute("style","cursor: none;"),t.appendChild(Ir);var Or;Dr.m1()?Or=Rr(["#FFFFFF","#000000"]):Or=Dr;var Yr=Or,Gr=new(kg())(u,c,Yr,R,tr,G,X,v,l,T(0,0),T(z,D),b),Er=new(j8())("game-"+r);return Er.m45("TINY-JS",()=>"Boot the game using the URL '"+e+"'."),new(KK())(Gr,new(aD())(Ir instanceof HTMLCanvasElement?Ir:m(),Gr,n,e),new(dI()),Er).o46(),S})}function bi(e,i){var r=N().p1();return $$(e,t=>(r.c1(i(t)),S)),r}function $$(e,i){var r=Ct(0,e.length),t=r.v1_1,n=r.w1_1;if(t<=n)do{var a=t;t=t+1|0;var s=e[a];s!=null&&i(s)}while(a!==n)}function VK(e,i){var r=Ct(0,e.length),t=r.v1_1,n=r.w1_1;if(t<=n)do{var a=t;t=t+1|0;var s=a,u=e[s];u!=null&&i(s,u)}while(a!==n)}function YK(e){var i=document.createElement("h1");return GK(i,"🚨 You're accessing the page without a webserver (ie: file:// as URL). Tiny can't run without a webserver. Please start a webserver to serve HTML pages and access it through a valid URL (ie: http://localhost) 🚨"),e.appendChild(i),S}function ZK(e){return e.getAttribute("name")}function XK(e){return e.getAttribute("name")}function QK(e){return e.getAttribute("name")}function rG(e){return e.getAttribute("name")}function tG(){WK()}tG(); +`)+("│ Read Pixels │ "+v+` │ +`)+("│ Draw On Screen │ "+f+` │ +`)+"└─────────────────┴────────┘"})}}function*CK(e,i,r){if(!e.k43_1.h45())return z;if(i.e46_1<30){var t=jn(e,"LOW FPS: "+i.e46_1,"#FF0000",u,r);t===R()&&(t=yield t)}if(i.g46_1>1048576n){var n=i.g46_1,a=hg(n,yt(1024)),s=hg(a,yt(1024)),_=jn(e,"HIGH ALLOC: "+s.toString()+"MB","#FFAA00",u,r);_===R()&&(_=yield _)}if(i.d46_1>16.67){var l=jn(e,"Frame: "+i.d46_1+"ms","#AAAA00",u,r);l===R()&&(l=yield l)}return z}function zK(e,i,r){return nr(CK.bind(u,e,i),r)}var k5;function SK(){if(k5===u){class e{constructor(){this.q46_1=.016666668}}ar(e),k5=e}return k5}var x5;function qK(){if(x5===u){class e{constructor(r,t,n,a,s){s=s===u?null:s,this.w42_1=r,this.x42_1=t,this.y42_1=n,this.z42_1=a,this.a43_1=s,this.b43_1=!1,this.c43_1=0,this.d43_1=0n,this.e43_1=null,this.k43_1=this.x42_1.r46()}j45(){var r=this.f43_1;if(r!=null)return r;st("inputHandler")}d45(){var r=this.g43_1;if(r!=null)return r;st("inputManager")}d44(){var r=this.h43_1;if(r!=null)return r;st("soundManager")}s46(){var r=this.x42_1.t46();this.f43_1=this.x42_1.u46(),this.g43_1=this.x42_1.v46(),this.h43_1=this.x42_1.w46(this.j45());var t=this.x42_1.x46(r);this.j43_1=new(XF())(t,this.w42_1,this.k43_1),di(this).y46(r);var n=new(fj())(this.d44()),a=this,s=this.y42_1,_=this.x42_1,l=this.j45(),o=this.z42_1,c=this.w42_1,h=di(this),v=this.d44();a.i43_1=new(MU())(s,_,l,h,n,v,c,o),this.l43_1=new(sK())(uK(this),this.w42_1,this.x42_1,this.z42_1),this.x42_1.z46(this)}a47(r,t){return nr(_K.bind(u,this,r),t)}b47(){this.k43_1.c45("draw"),di(this).c47(Ce(this).y43_1),Ce(this).y43_1.s2(),di(this).b47(),this.k43_1.f45("draw"),this.e43_1=this.k43_1.d47()}}d(e,"GameEngine",u,u,u,[1,0,2,3]),x5=e}return x5}new(SK());function IK(e,i){return e.appendChild(tr(e.ownerDocument).createTextNode(i)),e}var Mw=Math.imul;function $K(){var e=window.location.protocol+"//"+window.location.host+window.location.pathname;return e=_a(e,0,pb(e,x(47))),i8(e,"/")&&Ow(e,1),e}function EK(){var e=$K(),i=document.getElementsByTagName("tiny-game");AK(e,i)}function AK(e,i){if(i.length===0)throw W().u("No has been found in the current page. Check that the page including your javascript gamehas a least one tag to render the game in.");if(Sa(e,"file://"))throw C7(i,NK),W().u("Tiny can't run without a webserver.Please run a webserver to serve the files so you can acess it through http://localhost instead of file://some/path.");jK(i,(r,t)=>{var n=tr(t.getAttribute("id")),a=t.getAttribute("width"),s=a==null?null:tn(a),_=s??128,l=t.getAttribute("height"),o=l==null?null:tn(l),c=o??128,h=t.getAttribute("zoom"),v=h==null?null:tn(h),f=v??1,p=t.getAttribute("mouse"),w=p==null?null:s8(p),b=w??!1,g=t.getAttribute("spritew"),C=g==null?null:tn(g),S=C??16,k=t.getAttribute("spriteh"),E=k==null?null:tn(k),D=E??16,P=t.getElementsByTagName("tiny-script"),O=ni(pi(P,LK)),H=t.getElementsByTagName("tiny-level"),G=ni(pi(H,MK)),X=t.getElementsByTagName("tiny-sound"),Q=ni(pi(X,TK)),rr=t.getElementsByTagName("tiny-spritesheet"),er=ni(pi(rr,DK)),ir=t.getElementsByTagName("tiny-colors")[0],hr=ir==null?null:ir.getAttribute("name"),or=hr==null?null:p0(hr,[","]),pr=or==null?null:Ta(or),Dr=pr??_t(),Sr=document.createElement("canvas");Sr.setAttribute("width",Mw(_,f).toString()),Sr.setAttribute("height",Mw(c,f).toString()),Sr.setAttribute("tabindex","1"),b&&Sr.setAttribute("style","cursor: none;"),t.appendChild(Sr);var Br;Dr.m1()?Br=Rr(["#FFFFFF","#000000"]):Br=Dr;var Vr=Br,Kr=new(yb())(_,c,Vr,O,er,G,db(Q),f,u,T(0,0),T(S,D),b),$r=new(A8())("game-"+r);return $r.r45("TINY-JS",()=>"Boot the game using the URL '"+e+"'."),new(qK())(Kr,new(aF())(Sr instanceof HTMLCanvasElement?Sr:m(),Kr,n,e),new(mI()),$r).s46(),z})}function pi(e,i){var r=j().p1();return C7(e,t=>(r.c1(i(t)),z)),r}function C7(e,i){var r=xt(0,e.length),t=r.v1_1,n=r.w1_1;if(t<=n)do{var a=t;t=t+1|0;var s=e[a];s!=null&&i(s)}while(a!==n)}function jK(e,i){var r=xt(0,e.length),t=r.v1_1,n=r.w1_1;if(t<=n)do{var a=t;t=t+1|0;var s=a,_=e[s];_!=null&&i(s,_)}while(a!==n)}function NK(e){var i=document.createElement("h1");return IK(i,"🚨 You're accessing the page without a webserver (ie: file:// as URL). Tiny can't run without a webserver. Please start a webserver to serve HTML pages and access it through a valid URL (ie: http://localhost) 🚨"),e.appendChild(i),z}function LK(e){return e.getAttribute("name")}function MK(e){return e.getAttribute("name")}function TK(e){return e.getAttribute("name")}function DK(e){return e.getAttribute("name")}function FK(){EK()}FK(); diff --git a/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/lua/SfxLib.kt b/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/lua/SfxLib.kt index e6853fb4..efcbaba9 100644 --- a/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/lua/SfxLib.kt +++ b/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/lua/SfxLib.kt @@ -54,7 +54,7 @@ class SfxLib( override fun call(): LuaValue { val soundFile = resourceAccess.findSound(0) ?: return NIL - val content = Json.encodeToString(soundFile.data) + val content = soundFile.data.music.serialize() platform.saveIntoGameDirectory(soundFile.name, content) return NONE diff --git a/tiny-sample/_tiny.json b/tiny-sample/_tiny.json index c04db15e..d8d4d998 100644 --- a/tiny-sample/_tiny.json +++ b/tiny-sample/_tiny.json @@ -34,5 +34,6 @@ ], "spritesheets": [ "game.png" - ] + ], + "sound": "default-sound.sfx" } diff --git a/tiny-sample/default-sound.sfx b/tiny-sample/default-sound.sfx new file mode 100644 index 00000000..48997785 --- /dev/null +++ b/tiny-sample/default-sound.sfx @@ -0,0 +1 @@ +{"instruments":[{"index":0,"name":"clarinet","wave":"NOISE","attack":0.01,"decay":0.0375,"sustain":0.76875,"release":0.03125,"harmonics":[1.1,0.3,0.031,0.039,0.345,0.29,0.0119],"modulations":[{"type":"com.github.minigdx.tiny.sound.Sweep","sweep":880.0,"acceleration":1.0},{"type":"com.github.minigdx.tiny.sound.Vibrato","vibratoFrequency":0.0,"depth":0.0}]},{"index":1,"name":"violon","attack":0.1,"decay":0.1,"sustain":0.9,"release":0.05,"harmonics":[1.0,0.65,0.7,0.55,0.45,0.35,0.3],"modulations":[{"type":"com.github.minigdx.tiny.sound.Sweep","sweep":880.0,"acceleration":1.0},{"type":"com.github.minigdx.tiny.sound.Vibrato","vibratoFrequency":0.0,"depth":0.0}]},{"index":2,"name":"obos","wave":"SAW_TOOTH","attack":0.1,"decay":0.1,"sustain":0.9,"release":0.05,"harmonics":[1.0,0.05,0.01],"modulations":[{"type":"com.github.minigdx.tiny.sound.Sweep","sweep":880.0,"acceleration":1.0},{"type":"com.github.minigdx.tiny.sound.Vibrato","vibratoFrequency":0.0,"depth":0.0}]},{"index":3,"name":"drum","wave":"NOISE","attack":0.1,"decay":0.1,"sustain":0.9,"release":0.05,"harmonics":[1.0],"modulations":[{"type":"com.github.minigdx.tiny.sound.Sweep","sweep":880.0,"acceleration":1.0},{"type":"com.github.minigdx.tiny.sound.Vibrato","vibratoFrequency":0.0,"depth":0.0}]},{"index":4,"name":"custom1","wave":"TRIANGLE","attack":0.0062500015,"decay":0.1,"sustain":0.9,"harmonics":[1.0,0.05,0.01],"modulations":[{"type":"com.github.minigdx.tiny.sound.Sweep","sweep":880.0,"acceleration":1.0},{"type":"com.github.minigdx.tiny.sound.Vibrato","vibratoFrequency":0.0,"depth":0.0}]},{"index":5,"name":"custom2","wave":"SAW_TOOTH","attack":0.1,"decay":0.1,"sustain":0.9,"release":0.05,"harmonics":[1.0,0.05,0.01],"modulations":[{"type":"com.github.minigdx.tiny.sound.Sweep","sweep":880.0,"acceleration":1.0},{"type":"com.github.minigdx.tiny.sound.Vibrato","vibratoFrequency":0.0,"depth":0.0}]},{"index":6,"name":"custom3","wave":"TRIANGLE","attack":0.1,"decay":0.1,"sustain":0.9,"release":0.05,"harmonics":[1.0,0.05,0.01],"modulations":[{"type":"com.github.minigdx.tiny.sound.Sweep","sweep":880.0,"acceleration":1.0},{"type":"com.github.minigdx.tiny.sound.Vibrato","vibratoFrequency":0.0,"depth":0.0}]},{"index":7,"name":"custom4","wave":"SQUARE","attack":0.1,"decay":0.1,"sustain":0.9,"release":0.05,"harmonics":[1.0,0.05,0.01],"modulations":[{"type":"com.github.minigdx.tiny.sound.Sweep","sweep":880.0,"acceleration":1.0},{"type":"com.github.minigdx.tiny.sound.Vibrato","vibratoFrequency":0.0,"depth":0.0}]},null,null,null,null,null,null,null,null],"musicalBars":[{"index":0,"instrumentIndex":4,"tempo":420,"beats":[{"note":"E4","beat":0.0,"duration":0.5,"volume":1.0},{"note":"G4","beat":1.0,"duration":0.5,"volume":1.0}]},{"instrumentIndex":0,"beats":[{"note":"Cs3","beat":0.0,"duration":0.5,"volume":1.0}]},{"index":2,"instrumentIndex":0},{"index":3,"instrumentIndex":0},{"index":4,"instrumentIndex":0},{"index":5,"instrumentIndex":0},{"index":6,"instrumentIndex":0},{"index":7,"instrumentIndex":0},{"index":8,"instrumentIndex":0},{"index":9,"instrumentIndex":0},{"index":10,"instrumentIndex":0},{"index":11,"instrumentIndex":0},{"index":12,"instrumentIndex":0},{"index":13,"instrumentIndex":0},{"index":14,"instrumentIndex":0},{"index":15,"instrumentIndex":0},{"index":16,"instrumentIndex":0},{"index":17,"instrumentIndex":0},{"index":18,"instrumentIndex":0},{"index":19,"instrumentIndex":0},{"index":20,"instrumentIndex":0},{"index":21,"instrumentIndex":0},{"index":22,"instrumentIndex":0},{"index":23,"instrumentIndex":0},{"index":24,"instrumentIndex":0},{"index":25,"instrumentIndex":0},{"index":26,"instrumentIndex":0},{"index":27,"instrumentIndex":0},{"index":28,"instrumentIndex":0},{"index":29,"instrumentIndex":0},{"index":30,"instrumentIndex":0},{"index":31,"instrumentIndex":0}],"sequences":[{"index":0,"tracks":[{"instrumentIndex":0,"beats":[{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0},{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0},{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0},{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0},{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0}]},{"index":1,"instrumentIndex":0,"beats":[{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0},{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0},{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0},{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0},{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0}]},{"index":2,"instrumentIndex":0,"beats":[{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0},{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0},{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0},{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0},{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0}]},{"index":3,"instrumentIndex":0,"beats":[{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0},{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0},{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0},{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0},{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0}]}]},{"index":1,"tracks":[{"instrumentIndex":0,"beats":[{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0},{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0},{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0},{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0},{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0}]},{"index":1,"instrumentIndex":0,"beats":[{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0},{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0},{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0},{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0},{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0}]},{"index":2,"instrumentIndex":0,"beats":[{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0},{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0},{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0},{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0},{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0}]},{"index":3,"instrumentIndex":0,"beats":[{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0},{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0},{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0},{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0},{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0}]}]},{"index":2,"tracks":[{"instrumentIndex":0,"beats":[{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0},{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0},{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0},{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0},{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0}]},{"index":1,"instrumentIndex":0,"beats":[{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0},{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0},{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0},{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0},{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0}]},{"index":2,"instrumentIndex":0,"beats":[{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0},{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0},{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0},{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0},{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0}]},{"index":3,"instrumentIndex":0,"beats":[{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0},{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0},{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0},{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0},{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0}]}]},{"index":3,"tracks":[{"instrumentIndex":0,"beats":[{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0},{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0},{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0},{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0},{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0}]},{"index":1,"instrumentIndex":0,"beats":[{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0},{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0},{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0},{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0},{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0}]},{"index":2,"instrumentIndex":0,"beats":[{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0},{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0},{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0},{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0},{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0}]},{"index":3,"instrumentIndex":0,"beats":[{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0},{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0},{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0},{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0},{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0}]}]},{"index":4,"tracks":[{"instrumentIndex":0,"beats":[{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0},{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0},{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0},{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0},{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0}]},{"index":1,"instrumentIndex":0,"beats":[{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0},{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0},{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0},{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0},{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0}]},{"index":2,"instrumentIndex":0,"beats":[{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0},{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0},{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0},{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0},{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0}]},{"index":3,"instrumentIndex":0,"beats":[{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0},{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0},{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0},{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0},{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0}]}]},{"index":5,"tracks":[{"instrumentIndex":0,"beats":[{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0},{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0},{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0},{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0},{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0}]},{"index":1,"instrumentIndex":0,"beats":[{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0},{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0},{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0},{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0},{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0}]},{"index":2,"instrumentIndex":0,"beats":[{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0},{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0},{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0},{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0},{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0}]},{"index":3,"instrumentIndex":0,"beats":[{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0},{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0},{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0},{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0},{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0}]}]},{"index":6,"tracks":[{"instrumentIndex":0,"beats":[{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0},{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0},{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0},{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0},{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0}]},{"index":1,"instrumentIndex":0,"beats":[{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0},{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0},{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0},{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0},{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0}]},{"index":2,"instrumentIndex":0,"beats":[{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0},{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0},{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0},{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0},{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0}]},{"index":3,"instrumentIndex":0,"beats":[{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0},{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0},{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0},{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0},{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0}]}]},{"index":7,"tracks":[{"instrumentIndex":0,"beats":[{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0},{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0},{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0},{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0},{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0}]},{"index":1,"instrumentIndex":0,"beats":[{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0},{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0},{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0},{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0},{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0}]},{"index":2,"instrumentIndex":0,"beats":[{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0},{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0},{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0},{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0},{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0}]},{"index":3,"instrumentIndex":0,"beats":[{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0},{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0},{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0},{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0},{"note":null,"beat":0.0,"duration":1.0,"volume":1.0},{"note":null,"beat":1.0,"duration":1.0,"volume":1.0},{"note":null,"beat":2.0,"duration":1.0,"volume":1.0},{"note":null,"beat":3.0,"duration":1.0,"volume":1.0},{"note":null,"beat":4.0,"duration":1.0,"volume":1.0},{"note":null,"beat":5.0,"duration":1.0,"volume":1.0},{"note":null,"beat":6.0,"duration":1.0,"volume":1.0},{"note":null,"beat":7.0,"duration":1.0,"volume":1.0},{"note":null,"beat":8.0,"duration":1.0,"volume":1.0},{"note":null,"beat":9.0,"duration":1.0,"volume":1.0},{"note":null,"beat":10.0,"duration":1.0,"volume":1.0},{"note":null,"beat":11.0,"duration":1.0,"volume":1.0},{"note":null,"beat":12.0,"duration":1.0,"volume":1.0},{"note":null,"beat":13.0,"duration":1.0,"volume":1.0},{"note":null,"beat":14.0,"duration":1.0,"volume":1.0},{"note":null,"beat":15.0,"duration":1.0,"volume":1.0},{"note":null,"beat":16.0,"duration":1.0,"volume":1.0},{"note":null,"beat":17.0,"duration":1.0,"volume":1.0},{"note":null,"beat":18.0,"duration":1.0,"volume":1.0},{"note":null,"beat":19.0,"duration":1.0,"volume":1.0},{"note":null,"beat":20.0,"duration":1.0,"volume":1.0},{"note":null,"beat":21.0,"duration":1.0,"volume":1.0},{"note":null,"beat":22.0,"duration":1.0,"volume":1.0},{"note":null,"beat":23.0,"duration":1.0,"volume":1.0},{"note":null,"beat":24.0,"duration":1.0,"volume":1.0},{"note":null,"beat":25.0,"duration":1.0,"volume":1.0},{"note":null,"beat":26.0,"duration":1.0,"volume":1.0},{"note":null,"beat":27.0,"duration":1.0,"volume":1.0},{"note":null,"beat":28.0,"duration":1.0,"volume":1.0},{"note":null,"beat":29.0,"duration":1.0,"volume":1.0},{"note":null,"beat":30.0,"duration":1.0,"volume":1.0},{"note":null,"beat":31.0,"duration":1.0,"volume":1.0},{"note":null,"beat":32.0,"duration":1.0,"volume":1.0}]}]}]} \ No newline at end of file diff --git a/tiny-sample/pong.lua b/tiny-sample/pong.lua index be49dc75..9b3e8b1c 100644 --- a/tiny-sample/pong.lua +++ b/tiny-sample/pong.lua @@ -195,7 +195,7 @@ Brick.update = function(self) if collisionX or collisionY then self.hit = 6 - + sound.sfx(1) table.insert(particles, new(Particle, { x = self.x, @@ -299,6 +299,8 @@ Ball.update = function(self) if collision then self.speed.y = -self.speed.y self.accept_move_y = false + sound.sfx(0) + end end From f40aa7bece48a31dd5b04dfdd8a0c243d7264153 Mon Sep 17 00:00:00 2001 From: David Wursteisen Date: Thu, 6 Nov 2025 23:54:34 +0100 Subject: [PATCH 16/17] Add sfx editor straight into the documentation --- .gitignore | 2 + Makefile | 4 +- tiny-doc/src/docs/asciidoc/index.adoc | 4 +- tiny-doc/src/docs/asciidoc/sample/_boot.lua | 61 -- tiny-doc/src/docs/asciidoc/sample/_boot.png | Bin 864 -> 0 bytes tiny-doc/src/docs/asciidoc/sample/_engine.lua | 50 -- tiny-doc/src/docs/asciidoc/sample/_tiny.json | 39 -- tiny-doc/src/docs/asciidoc/sample/game.png | Bin 1591 -> 0 bytes tiny-doc/src/docs/asciidoc/sample/index.html | 28 - tiny-doc/src/docs/asciidoc/sample/pong.lua | 540 ------------------ tiny-doc/src/docs/asciidoc/sample/test.mid | Bin 209 -> 0 bytes .../src/docs/asciidoc/sample/tiny-engine.js | 363 ------------ .../src/docs/asciidoc/tiny-sfx-editor.adoc | 11 + .../tiny/platform/webgl/WebSoundManager.kt | 3 +- 14 files changed, 20 insertions(+), 1085 deletions(-) delete mode 100644 tiny-doc/src/docs/asciidoc/sample/_boot.lua delete mode 100644 tiny-doc/src/docs/asciidoc/sample/_boot.png delete mode 100644 tiny-doc/src/docs/asciidoc/sample/_engine.lua delete mode 100644 tiny-doc/src/docs/asciidoc/sample/_tiny.json delete mode 100644 tiny-doc/src/docs/asciidoc/sample/game.png delete mode 100644 tiny-doc/src/docs/asciidoc/sample/index.html delete mode 100644 tiny-doc/src/docs/asciidoc/sample/pong.lua delete mode 100644 tiny-doc/src/docs/asciidoc/sample/test.mid delete mode 100644 tiny-doc/src/docs/asciidoc/sample/tiny-engine.js create mode 100644 tiny-doc/src/docs/asciidoc/tiny-sfx-editor.adoc diff --git a/.gitignore b/.gitignore index f7e0920f..ee365118 100644 --- a/.gitignore +++ b/.gitignore @@ -42,5 +42,7 @@ bin/ ### Mac OS ### .DS_Store /tiny-doc/src/docs/asciidoc/dependencies/ +/tiny-doc/src/docs/asciidoc/sample/game-example +/tiny-doc/src/docs/asciidoc/sample/sfx-editor .kotlin \ No newline at end of file diff --git a/Makefile b/Makefile index 60424233..194a531f 100644 --- a/Makefile +++ b/Makefile @@ -20,5 +20,7 @@ install: docs: install ./gradlew tiny-web-editor:tinyWebEditor tiny-cli export tiny-sample - unzip -o -d tiny-doc/src/docs/asciidoc/sample tiny-sample/tiny-export.zip + unzip -o -d tiny-doc/src/docs/asciidoc/sample/game-example tiny-sample/tiny-export.zip + tiny-cli export tiny-cli/src/main/resources/sfx + unzip -o -d tiny-doc/src/docs/asciidoc/sample/sfx-editor tiny-cli/src/main/resources/sfx/tiny-export.zip ./gradlew asciidoctor -Pversion=$(uuidgen) diff --git a/tiny-doc/src/docs/asciidoc/index.adoc b/tiny-doc/src/docs/asciidoc/index.adoc index 78390ca7..a68110cf 100644 --- a/tiny-doc/src/docs/asciidoc/index.adoc +++ b/tiny-doc/src/docs/asciidoc/index.adoc @@ -20,7 +20,7 @@ With `🧸 Tiny`, you'll be able to get started right away and see your progress > _Let's get started and unleash your creativity!_ ++++ - + ++++ NOTE: The code source of this sample is available in the https://github.com/minigdx/tiny/tree/main/tiny-sample[Tiny git repository]. @@ -64,6 +64,8 @@ include::tiny-showcase.adoc[] include::dependencies/tiny-cli-commands.adoc[] +include::tiny-sfx-editor.adoc[] + include::dependencies/tiny-api.adoc[] == Links diff --git a/tiny-doc/src/docs/asciidoc/sample/_boot.lua b/tiny-doc/src/docs/asciidoc/sample/_boot.lua deleted file mode 100644 index 98b82b38..00000000 --- a/tiny-doc/src/docs/asciidoc/sample/_boot.lua +++ /dev/null @@ -1,61 +0,0 @@ -function _init() - ready = false - dt = 0 - - prefix = {"b", "u", "i", "l", "d"," ", "w", "i", "t", "h", " "} - txt = { "t", "i", "n", "y" } - waiting = 3 -end - -function _update() - dt = dt + 1 / 60 - if ready then - waiting = waiting - 1 / 60 - end - - if (waiting < 0) then - gfx.cls("#000000") - tiny.exit(0) -- start the first script in the game script stack - end -end - -function letter(x, l, index, move) - local offset = 3 - if move then - offset = math.abs(math.cos(dt * math.pi * 2 + index) * 4) - end - if ((not ready) and (l ~= " ")) then - shape.rectf( - x + index * 4 + 1, - 1 + 8 + offset, - 4, 4, - "#5f574f" - ) - shape.rectf( - x + index * 4, - 8 + offset, - 4, 4, - "#FFFFFF" - ) - else - print(l, x + index * 4 + 1, 1 + 8 + offset, "#5f574f") - print(l, x + index * 4, 8 + offset, "#FFFFFF") - end -end -function _draw() - gfx.cls("#000000") - - for index = 1, #prefix do - letter(2, prefix[index], index, false) - end - - for index = 1, #txt do - letter(46, txt[index], index, true) - end - - -end - -function _resources() - ready = true -end diff --git a/tiny-doc/src/docs/asciidoc/sample/_boot.png b/tiny-doc/src/docs/asciidoc/sample/_boot.png deleted file mode 100644 index df2a310b34a7e1b5218d2a7f4b2b8f778ade6916..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 864 zcmeAS@N?(olHy`uVBq!ia0y~yU<5K5893O0R7}x|G!U;i$lZxy-8q?;3=GUto-U3d z6?5L+ecSg+L4YA3>)YS>o4=3eah&E^5WW5DyvY*38e3=ZC3$b067=rsYLnAXTmRmy zn!WDXdfCAJFC?_TR;%WoZg;*T_ww4!@c9kVlhd_-a^5-}zkd7iyvy6{zAxyD{JGa? z)1QmK;>y;~JAdP~*)N+11=Y+K*gn7VoWWX=f7|%Dys5?Nswk&s}EhfHsRh3`8yMBvZ^`DC$8{)rx^>9BZ z_E+V^r@n2jzgg|}MCvoRi@&=So;fZ3RL3{w`~vCpmu!{q=lyuI_m{@~x}G@ZFVelu zY;5xcSW`@-^rSqmN7pS|6L;@ouJJ+s&YSP*B$os-8wAId1r|JITG-vWA))Mo=M~%j zPfX$)iX8ov8RXNx+0{=I-?89D;)0-KkFUOddu-j|*3|H~)xR701NxayynE>G|2U`v)?N54^<2wfzM0uNfg{baaR&wB6cKiwUsReTD+R~LNdJiwW9|H9_aOy_cD-(&}yIIM^Rt#?+3 zue@|A=d~`g_;v0VYa9jsd{E5mFVX(oxK}nr{6YWL`yY1w1^Kz4@IS-DswfTf(!B2= NzNf37%Q~loCICDOJqG{) diff --git a/tiny-doc/src/docs/asciidoc/sample/_engine.lua b/tiny-doc/src/docs/asciidoc/sample/_engine.lua deleted file mode 100644 index f459b9ba..00000000 --- a/tiny-doc/src/docs/asciidoc/sample/_engine.lua +++ /dev/null @@ -1,50 +0,0 @@ -function _init(w, h) - dt = 0 - msg = { logo = 0, text = "", color = 0 } - width = w - forever = false - letter_split = math.ceil(width / 6) -end - -function _add_return_line(text) - local msg = string.gsub(text, "\n", "") - local new_msg = "" - - for i = 1, #msg, letter_split do - new_msg = new_msg .. msg:sub(i, i + letter_split) .."\n" - end - return new_msg -end - -function popup(logo, text, color, keep) - msg = { logo = logo, text = _add_return_line(text), color = color, lines = (math.ceil( #text / letter_split) + 1)} - dt = 2 - forever = keep -end - -function printDebug(index, text, color) - local prev = gfx.camera() - shape.rectf(0, index * 6, #text * 6 + 6, 6, color) - print(text, 6, index * 6 + 1, "#FFFFFF") - gfx.camera(prev.x, prev.y) -end - -function clear() - dt = 0 - forever = false -end - -function _update() - if dt > 0 then - dt = dt - 1 / 60 - end -end - -function _draw() - if forever or dt > 0 then - local prev = gfx.camera() - shape.rectf(0, 0, width, 6 * msg.lines, msg.color) - print(msg.text, 6, 1, "#FFFFFF") - gfx.camera(prev.x, prev.y) - end -end diff --git a/tiny-doc/src/docs/asciidoc/sample/_tiny.json b/tiny-doc/src/docs/asciidoc/sample/_tiny.json deleted file mode 100644 index d8d4d998..00000000 --- a/tiny-doc/src/docs/asciidoc/sample/_tiny.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "version": "V1", - "id": "71c3108e-090b-4d8a-b3fe-0974db6a82bc", - "name": "Platform game", - "resolution": { - "width": 256, - "height": 256 - }, - "sprites": { - "width": 16, - "height": 16 - }, - "zoom": 2, - "colors": [ - "#000000", - "#1D2B53", - "#7E2553", - "#008751", - "#AB5236", - "#5F574F", - "#C2C3C7", - "#FFF1E8", - "#FF004D", - "#FFA300", - "#FFEC27", - "#00E436", - "#29ADFF", - "#83769C", - "#FF77A8", - "#FFCCAA" - ], - "scripts": [ - "pong.lua" - ], - "spritesheets": [ - "game.png" - ], - "sound": "default-sound.sfx" -} diff --git a/tiny-doc/src/docs/asciidoc/sample/game.png b/tiny-doc/src/docs/asciidoc/sample/game.png deleted file mode 100644 index 69b56519c8c7db05ff76bbbdff4963b568b14efb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1591 zcmd6mdo&by6vuz_5DiU=wpdZy$*YyZNf9G!8joqbpM%mKh9yLtGRBN7o25Dx<+TRY zk}zAFS7OLYrN$$KnK9(mU}g->3^T*5_MF{Qdrp7se|!JAkMBSCp6};oy5TUJ5ZVX; zz$Pb02M+)s>m>xJY*rLEPiOxoM>zn54pCslz zZeD8$m-WW(f|q=Qe}j38bWMqq@@1~R+8g@Y2lIDdsGIIgPni+Nlq1$&{dN%o%ZVgP z4GH6}tj1O5J&u1nMLHB5QnaY4rd1NC2Q7IY-N;S~zr$l(W-~rSr6AEv*Z?x)G;IC}xCU2o;uNDVNWh$@7u1rYOD9r?qomTaLX@I8Fh6O}G>cY>g8z!N6X4LpI8UwCkG8wh-o z?hDcH5NzG~htl&naVT1jLeWo_!MJq;$RwE&vyYxKpeE>ClP zjY4%M^jKETL|048?^~x$)F{oq*4(l27bwY)Od6$9WrlQ%QH70-jW_3v@)<`_ST3)3 zWCDolmUUXOA*RVKvxn`fO>C48G&1OjCPmLt7Xi#~rZ81Y`Gp?qkfk>;~SdM8wMi2|<=dzx0ejL8wSI-WcR++uMplj!I_5>ol zrDvv-;~>16k;aIk&waI&j1RHHPa!E)8WF!M*_>o${T!jukuaKE)n^+S(4*hD8Ny&* zcP;K#Fto{@i(+$f9`sEA>3-f#1nNE{*s$>yuIz|O0T3tLc%Gimow7ze0jH-a~!Nub8xw$pha*wfFDX`W>!D6 zf)!vsW1-F^@7Z>vyQsk(iX>;Q|Hjor)dDl`MwWM^>>>I3LAfM*Jbkd;3_2$0ja>*E zxYpFXhS~dJxS_?xXDZIOdZ4SgHi{jLy6;pf>e>A%S5?_JD70HeC4Q6T-hB7y5KeyF zE6)hhjMtP5mpKpl7mq$21c)tPELDvO(%GbJd59&UN8;$OTDrVMs|(&Of}D!VZfKxs zDd#AOGcT5sO_EGHLo1(Cl`0lV - - - - Tiny - Platform game - - - - - - -
- - - - - - - - - - - - - -
- - diff --git a/tiny-doc/src/docs/asciidoc/sample/pong.lua b/tiny-doc/src/docs/asciidoc/sample/pong.lua deleted file mode 100644 index 9b3e8b1c..00000000 --- a/tiny-doc/src/docs/asciidoc/sample/pong.lua +++ /dev/null @@ -1,540 +0,0 @@ -player = nil -bricks = {} -balls = {} - -local draw_stencil = 2 -local draw_inside_stencil = 3 -local draw_outside_stencil = 4 - --- TRANSITIONS -- -local Nope = { - update = function() - end, - draw_start = function() - end, - draw_end = function() - end -} - - --- Transition when the game start. --- It will erase the title screen using a growing circle -local GameOut = { - progress = 0, - speed = 5, - start = false, - y = 0 -} - -GameOut.update = function(self) - if (self.start) then - self.progress = self.progress + self.speed - - if (self.progress > 300) then - transition = new(Nope) - end - self.y = juice.powIn2(self.y, -200, self.progress / 500) - end -end - -GameOut.draw_start = function(self) -end - -GameOut.draw_end = function(self) - gfx.draw_mode(draw_stencil) - shape.circlef(128, 128, self.progress, 0) - gfx.draw_mode(draw_outside_stencil) - - local y = 0 -- self.y - - -- title - spr.sdraw(0, 100 + y, 0, 208, 256, 3 * 16) - -- space - spr.sdraw(80, 150 + y, 0, 128, 3 * 16, 16) - -- left and right - spr.sdraw(88, 150 + 16 + y, 4 * 16, 128, 16, 16) - spr.sdraw(88 + 16, 150 + 16 + y, 3 * 16, 128, 16, 16) - print("launch the ball", 80 + 3 * 16, 154 + y, 2) - print("move the paddle", 80 + 3 * 16, 154 + 16 + y, 2) - - -- go back to normal drawing mode - gfx.draw_mode() -end - -local EndOut = { - start_radius = 40, - radius = 0, - target_radius = 300, - duration = 1, - t = 0 -} - -EndOut.update = function(self) - self.t = self.t + 1 / 60 - self.radius = juice.powIn5(self.start_radius, self.target_radius, self.t / self.duration) - - if (self.radius >= 300) then - for b in all(balls) do - b:reset() - end - transition = new(GameOut) - game.started = false - end -end - -EndOut.draw_start = function(self) - gfx.cls(1) - gfx.draw_mode(draw_stencil) - shape.circlef(player.x, player.y, self.radius, 3) - gfx.draw_mode(draw_inside_stencil) - -- fake cls - shape.rectf(0, 0, 256, 256, 13) -end - -EndOut.draw_end = function(self) - gfx.draw_mode() -end - --- Transition when the player just lost. --- Will draw a circle that will close on the player position -local EndIn = { - start_radius = 256, - radius = 256, - target_radius = 40, - duration = 1, - t = 0 -} - -EndIn.update = function(self) - self.t = self.t + tiny.dt - self.radius = juice.powOut5(self.start_radius, self.target_radius, self.t / self.duration) - - if (self.radius <= 40) then - transition = new(EndOut, { start_radius = self.radius }) - end -end - -EndIn.draw_start = function(self) - gfx.cls(1) - gfx.draw_mode(draw_stencil) - shape.circlef(player.x, player.y, self.radius, 3) - gfx.draw_mode(draw_inside_stencil) - -- fake cls - shape.rectf(0, 0, 256, 256, 13) -end - -EndIn.draw_end = function(self) - gfx.draw_mode() -end - - --- PARTICLES -- -local Particle = { - x = 0, - y = 0, - dir = { x = 0, y = 0, r = 0 }, - radius = 1, - ttl = 0.5, - color = 1 -} - -Particle.update = function(self) - self.x = self.x + self.dir.x - self.y = self.y + self.dir.y - self.radius = self.radius + self.dir.r - self.ttl = self.ttl - 1 / 60 - return self.ttl < 0 -end - -Particle.draw = function(self) - shape.circlef(self.x, self.y, self.radius, self.color) -end - --- Bricks -local Brick = { - -- position - x = 0, - y = 0, - start_y = 0, - -- size - width = 16, - height = 8, - -- sprite - color = 0, - hit = nil, - offset = -4, - progress = 0, -} - -Brick.update = function(self) - self.progress = self.progress + 1 / 20 - self.y = juice.pow2(self.start_y - 20, self.start_y, math.min(1.0, self.progress)) - - if self.hit then - self.hit = self.hit - 1 - return self.hit <= 0 -- is the brick should be destroyed? - end - for ball in all(balls) do - local collisionX = check_collision( - { x = self.x, y = self.y, width = 16, height = 8 }, - { x = ball.new_x, y = ball.y, width = ball.width, height = ball.height } - ) - local collisionY = check_collision( - { x = self.x, y = self.y, width = 16, height = 8 }, - { x = ball.x, y = ball.new_y, width = ball.width, height = ball.height } - ) - if collisionX then - ball.accept_move_x = false - ball.speed.x = ball.speed.x * -1 - end - - if collisionY then - ball.accept_move_y = false - ball.speed.y = ball.speed.y * -1 - end - - if collisionX or collisionY then - self.hit = 6 - sound.sfx(1) - table.insert(particles, new(Particle, - { - x = self.x, - y = self.y, - dir = { x = 0, y = -0.2, r = 0 }, - draw = function(self) - local c = 2 - print("+1", self.x + 1, self.y, c) - print("+1", self.x - 1, self.y, c) - print("+1", self.x, self.y + 1, c) - print("+1", self.x, self.y - 1, c) - print("+1", self.x, self.y, math.rnd({ 8, 7, 14 })) - end - } - )) - end - end - return false -end - -local Ball = { - x = 0, - y = 0, - width = 7, - height = 7, - speed = { x = 3, y = -3 }, - glue_to = true, - new_x = 0, - new_y = 0, - accept_move_x = true, - accept_move_y = true, -} - -Ball.reset = function(self) - local r = player - - self.x = r.x + r.width * 0.5 - 7 * 0.5 - self.y = r.y - 7 - self.speed = { x = 3, y = -3 } - self.new_x = r.x + r.width * 0.5 - 7 * 0.5 - self.new_y = r.y - 7 - self.accept_move_x = true - self.accept_move_y = true - self.glue_to = true - - return self -end - -Ball.update = function(self) - self.accept_move_x = true - self.accept_move_y = true - - if (ctrl.touched(0) or ctrl.pressed(keys.space)) then - -- release the ball - self.glue_to = false - end - - if self.glue_to then - local r = player - self.new_x = r.x + r.width * 0.5 - 7 * 0.5 - self.new_y = r.y - 7 - - if ctrl.pressing(keys.left) then - self.speed.x = -1 - elseif ctrl.pressing(keys.right) then - self.speed.x = 1 - end - - local touch = ctrl.touching(0) - if touch then - if touch.x < (r.x + r.width * 0.5) then - self.speed.x = -1 - else - self.speed.x = 1 - end - end - else - self.new_x = self.x + self.speed.x - self.new_y = self.y + self.speed.y - - -- hit walls? - if self.new_x > 256 then - self.speed.x = -self.speed.x - self.accept_move_x = false - elseif self.new_x < 0 then - self.speed.x = -self.speed.x - self.accept_move_x = false - end - - if self.new_y < 0 then - self.speed.y = -self.speed.y - self.accept_move_y = false - end - - -- hit paddles ? - if self.new_y >= player.y then - local collision = check_collision( - { x = player.x, y = player.y, width = 32, height = 8 }, - { x = self.new_x, y = self.new_y, width = self.width, height = self.height } - ) - if collision then - self.speed.y = -self.speed.y - self.accept_move_y = false - sound.sfx(0) - - end - - end - - table.insert(particles, new(Particle, { - x = self.x + 3 + math.rnd(-2, 2), - y = self.y + 3 + math.rnd(-2, 2), - ttl = 0.4, - dir = { x = 0, y = 0, r = -0.3 }, - radius = 4, - color = 8 - })) - end -end - -Ball.valid_move = function(self) - if self.accept_move_x then - self.x = self.new_x - end - if self.accept_move_y then - self.y = self.new_y - end - - if not self.accept_move_x or not self.accept_move_y then - for i = 1, 3 do - table.insert(particles, new(Particle, { - x = self.x + 3 + math.rnd(-1, 1), - y = self.y + 3 + math.rnd(-1, 1), - ttl = 1.5, - dir = { x = -self.speed.x * 0.1, y = -self.speed.y * 0.1, r = -0.1 }, - radius = 5, - color = math.rnd({ 8, 7, 14 }) - })) - end - end - return self.y > 256 -end - -local Paddle = { - x = 0, - y = 0, - height = 8, - width = 24 -} -local Player = { - x = 128 - 16, - y = 216, - width = 24, - height = 8, - color = 8, - speed = 6, - direction = 1, - paddles = {} -} - -Player.createPaddle = function(self, y) - table.insert(self.paddles, new(Paddle, { x = self.x, y = y })) -end - -Player.update = function(self) - local touching = ctrl.touching(0) - local touch = ctrl.touch() - local mleft = touching and touch.x < (self.x + self.width * 0.5) - local mright = touching and touch.x >= (self.x + self.width * 0.5) - - if ctrl.pressing(keys.left) or mleft then - self.x = math.max(0, self.x - self.speed) - self.direction = 0 - elseif ctrl.pressing(keys.right) or mright then - self.x = math.min(self.x + self.speed, 256 - self.width) - self.direction = 1 - end - self.y = 216 - - self.paddles[1].x = self.x - self.paddles[1].y = self.y - - self.paddles[2].x = self.x - - for i = 3, #self.paddles do - local prev = self.paddles[i - 1] - local current = self.paddles[i] - - current.x = juice.linear(current.x, prev.x, 0.2) - end -end - -Player.draw = function(self) - -- head - shape.rectf(player.x + player.width, player.y + 3, 1, player.height - 3, 2) - spr.sdraw(player.x, player.y, 0, 32, player.width, player.height, player.direction == 1) - - for i = 2, (#self.paddles - 1) do - local current = self.paddles[i] - local next = self.paddles[i + 1] - - for h = 0, current.height do - local x = juice.pow2(current.x, next.x, h / current.height) - local y = current.y + h - spr.sdraw(x, y, 0, 32 + (i - 1) * 8 + h, current.width + 1, 1) - end - end -end - -function _init() - transition = new(GameOut) - - game = { - radius_title = 0, - started = false, - lost = false, - cooldown = 0 - } - - player = new(Player) - for y = 216, 256, 8 do - player:createPaddle(y) - end - - balls = { - new(Ball):reset() - } - - bricks = {} - for y = 1, 6 do - for x = 1, 14 do - table.insert(bricks, new(Brick, { - x = x * 16, - y = y * 8, - start_y = y * 8, - color = math.rnd(2), - progress = x * -0.2 + y * -0.08, - })) - end - end - - particles = {} -end - -function check_collision(rect1, rect2) - local rect1Right = rect1.x + rect1.width - local rect1Bottom = rect1.y + rect1.height - local rect2Right = rect2.x + rect2.width - local rect2Bottom = rect2.y + rect2.height - - -- Check if rectangles overlap - if rect1.x < rect2Right and rect1Right > rect2.x and rect1.y < rect2Bottom and rect1Bottom > rect2.y then - -- Calculate overlap on each side - local overlapLeft = rect2Right - rect1.x - local overlapRight = rect1Right - rect2.x - local overlapTop = rect2Bottom - rect1.y - local overlapBottom = rect1Bottom - rect2.y - - -- Determine which side was hit based on the smallest overlap - local smallestOverlap = math.min(overlapLeft, overlapRight, overlapTop, overlapBottom) - - if smallestOverlap == overlapLeft then - return "left" - elseif smallestOverlap == overlapRight then - return "right" - elseif smallestOverlap == overlapTop then - return "top" - elseif smallestOverlap == overlapBottom then - return "bottom" - end - end - - return nil -- No collision -end - -function _update() - if ((ctrl.touched(0) or ctrl.pressed(keys.space)) and not game.started) then - game.started = true - transition.start = true - end - - transition:update() - - player:update() - - for index, b in rpairs(balls) do - b:update() - end - - for index, b in rpairs(bricks) do - if b:update() then - table.remove(bricks, index) - end - end - - for index, b in rpairs(balls) do - if b:valid_move() then - b:reset() - game.lost = true - transition = new(EndIn) - end - end - - for index, p in rpairs(particles) do - if p:update() then - table.remove(particles, index) - end - end -end - -function _draw() - -- game - gfx.cls(13) - transition:draw_start() - - for b in all(bricks) do - spr.sdraw(b.x, b.y, 16, b.color * 8, 16, 8) - if b.hit then - shape.rectf(b.x, b.y, 16, 8, 8 + b.hit) - end - end - - for p in all(particles) do - p:draw() - end - - for b in all(balls) do - if b.glue_to then - local x = math.sign(b.speed.x) * 8 - local y = math.sign(b.speed.y) * 8 - - local centerX = b.x + 3 - local centerY = b.y + 2 - shape.line(centerX, centerY, centerX + x, centerY + y, 11) - end - spr.sdraw(b.x, b.y, 0, 16, 8, 8) - end - - player:draw() - - transition:draw_end() -end diff --git a/tiny-doc/src/docs/asciidoc/sample/test.mid b/tiny-doc/src/docs/asciidoc/sample/test.mid deleted file mode 100644 index 70b0366e3bf67be022ab7ba315d7cb2b88f646d3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 209 zcmeYb$w*;fU|?flWMF1|;2Tnu4de+k{10SiU#P(FKZ1pYNrHpnzdi$0Dwkn`s}I8j z2Ooz2%zTc?`K84rnaK(PnTdJ%30W8VxX}b*w`u>Tpbu192^)XI0LnL t_*67F1Nk06KFAm^ARi>}<{for(const a of n)if(a.type==="childList")for(const s of a.addedNodes)s.tagName==="LINK"&&s.rel==="modulepreload"&&t(s)}).observe(document,{childList:!0,subtree:!0});function r(n){const a={};return n.integrity&&(a.integrity=n.integrity),n.referrerPolicy&&(a.referrerPolicy=n.referrerPolicy),n.crossOrigin==="use-credentials"?a.credentials="include":n.crossOrigin==="anonymous"?a.credentials="omit":a.credentials="same-origin",a}function t(n){if(n.ep)return;n.ep=!0;const a=r(n);fetch(n.href,a)}})();var D1;function C8(){if(D1===u){class e{l4c(r,t){if(!r)throw vr().r3(t())}}B(e,"Assert"),D1=e}return D1}var nn;nn=new(C8());var ai=Math.imul;function fg(e,i){var r=i[0]&255,t=i[1]&255,n=i[2]&255,a=i[3]&255;return r<<24|t<<16|n<<8|a}function dg(e,i){var r=$7(i,"#",""),t=I1(_a(r,0,2),16),n=I1(_a(r,2,4),16),a=I1(_a(r,4,6),16),s=255;return new Int8Array([Bt(t),Bt(n),Bt(a),Bt(s)])}function z8(e,i,r,t,n,a,s,_,l){var o=Lr(i),c=Lr(a),h=fr(Fr(o)&255),v=fr(Fr(c)&255),f=fr(dr(h)-dr(v)|0),p=Lr(i),w=Lr(a),b=fr(Fr(p)&255),g=fr(Fr(w)&255),C=fr(dr(b)-dr(g)|0),S=fr(ai(dr(f),dr(C))),k=Lr(r),E=Lr(s),D=fr(Fr(k)&255),P=fr(Fr(E)&255),O=fr(dr(D)-dr(P)|0),H=Lr(r),G=Lr(s),X=fr(Fr(H)&255),Q=fr(Fr(G)&255),rr=fr(dr(X)-dr(Q)|0),er=fr(ai(dr(O),dr(rr))),ir=Lr(t),hr=Lr(_),or=fr(Fr(ir)&255),pr=fr(Fr(hr)&255),Dr=fr(dr(or)-dr(pr)|0),Sr=Lr(t),Br=Lr(_),Vr=fr(Fr(Sr)&255),Kr=fr(Fr(Br)&255),$r=fr(dr(Vr)-dr(Kr)|0),vt=fr(ai(dr(Dr),dr($r))),ft=Lr(n),Mt=Lr(l),rt=fr(Fr(ft)&255),qt=fr(Fr(Mt)&255),dt=fr(dr(rt)-dr(qt)|0),It=Lr(n),$t=Lr(l),Ie=fr(Fr(It)&255),Gt=fr(Fr($t)&255),Jt=fr(dr(Ie)-dr(Gt)|0),he=fr(ai(dr(dt),dr(Jt))),kn=fr(dr(S)+dr(er)|0),Hn=fr(dr(kn)+dr(vt)|0),q1=fr(dr(Hn)+dr(he)|0);return dr(q1)}var F1;function S8(){if(F1===u){class e{constructor(){B5=this;var r=this;r.w4b_1=new Int8Array([0,0,0,0]),this.x4b_1=0}}ar(e),F1=e}return F1}var B5;function pg(){return B5===u&&new(S8()),B5}var P1;function q8(){if(P1===u){class e{constructor(r){this.y4b_1=r}eh(r,t){return this.y4b_1(r,t)}compare(r,t){return this.eh(r,t)}l3(){return this.y4b_1}equals(r){var t;if(r!=null&&L(r,ne())){var n;r!=null&&L(r,tt())?n=A(this.l3(),r.l3()):n=!1,t=n}else t=!1;return t}hashCode(){return Z(this.l3())}}d(e,"sam$kotlin_Comparator$0",u,u,[ne(),tt()]),P1=e}return P1}function I8(e,i){var r=e.ud_1,t=i.ud_1;return Ma(r,t)}var B1;function $8(){if(B1===u){class e{constructor(r){pg();var t=this;t.c4c_1=jr().sa();for(var n=Tw(pg().w4b_1),a=j().d1(Cr(r,10)),s=r.e1();s.f1();){var _=s.g1(),l=dg(this,_);a.c1(l)}for(var o=ia(n,a),c=this,h=0,v=o.h1(),f=Array(v);h"The color is not a RGBA color as it has "+r.length+" components"),r[3]===0)return 0;for(var a=999999999,s=0,_=0,l=this.z4b_1,o=0,c=l.length;o0)){var p="The width needs to be a positive number.";throw W().u($(p))}if(!(this.f47_1>0)){var w="The height needs to be a positive number.";throw W().u($(w))}if(!(this.g47_1.h1()<256)){var b="The number of colors should be less than 256.";throw W().u($(b))}if(!(this.i47_1.h1()<=256)){var g="The number of spritesheets is limited to 256.";throw W().u($(g))}if(!(this.l47_1>0)){var C="The zoom needs to be a positive non null value.";throw W().u($(C))}this.q47_1=new($8())(this.g47_1)}r47(){return this.q47_1}s47(r,t){var n=pt(this.n47_1.ud_1,this.l47_1),a=pt(this.n47_1.ud_1+this.e47_1|0,this.l47_1),s=pt(this.n47_1.vd_1,this.l47_1),_=pt(this.n47_1.vd_1+this.f47_1|0,this.l47_1),l,o=Pr(r);if(!(n<=o&&o<=a))l=!0;else{var c=Pr(t);l=!(s<=c&&c<=_)}if(l)return null;var h=r/this.l47_1-this.n47_1.ud_1,v=t/this.l47_1-this.n47_1.vd_1;return new(Ln())(h,v)}toString(){return"GameOptions(width="+this.e47_1+", height="+this.f47_1+", palette="+$(this.g47_1)+", gameScripts="+$(this.h47_1)+", spriteSheets="+$(this.i47_1)+", gameLevels="+$(this.j47_1)+", sound="+this.k47_1+", zoom="+this.l47_1+", record="+this.m47_1+", gutter="+this.n47_1.toString()+", spriteSize="+this.o47_1.toString()+", hideMouseCursor="+this.p47_1+")"}hashCode(){var r=this.e47_1;return r=pt(r,31)+this.f47_1|0,r=pt(r,31)+Z(this.g47_1)|0,r=pt(r,31)+Z(this.h47_1)|0,r=pt(r,31)+Z(this.i47_1)|0,r=pt(r,31)+Z(this.j47_1)|0,r=pt(r,31)+(this.k47_1==null?0:br(this.k47_1))|0,r=pt(r,31)+this.l47_1|0,r=pt(r,31)+Ht(this.m47_1)|0,r=pt(r,31)+this.n47_1.hashCode()|0,r=pt(r,31)+this.o47_1.hashCode()|0,r=pt(r,31)+ba(this.p47_1)|0,r}equals(r){return this===r?!0:!(!(r instanceof yb())||this.e47_1!==r.e47_1||this.f47_1!==r.f47_1||!A(this.g47_1,r.g47_1)||!A(this.h47_1,r.h47_1)||!A(this.i47_1,r.i47_1)||!A(this.j47_1,r.j47_1)||this.k47_1!=r.k47_1||this.l47_1!==r.l47_1||!A(this.m47_1,r.m47_1)||!this.n47_1.equals(r.n47_1)||!this.o47_1.equals(r.o47_1)||this.p47_1!==r.p47_1)}}d(e,"GameOptions"),O1=e}return O1}var kb,xb,Cb,zb,mg;function e1(){if(mg)return z;mg=!0,kb=new(Yn())("DEBUG",0),xb=new(Yn())("INFO",1),Cb=new(Yn())("WARN",2),zb=new(Yn())("ERROR",3),new(Yn())("NONE",4)}var U1;function Yn(){if(U1===u){class e extends Ot(){}d(e,"LogLevel"),U1=e}return U1}function Zn(e,i,r,t,n){if(i.f3_1>=e.l4f_1.f3_1){var a;switch(i.f3_1){case 0:a="🧰";break;case 1:a="ℹ️";break;case 2:a="⚠️";break;case 3:a="💥";break;case 4:return z;default:wt();break}var s=a;E7(s+" |- "+e.k4f_1+" -| - ["+r+"] : "+n()),t==null||A7(t)}}var K1;function A8(){if(K1===u){class e{constructor(r,t){t=t===u?gg():t,this.k4f_1=r,this.l4f_1=t}r45(r,t){Zn(this,gg(),r,null,t)}k48(r,t){Zn(this,j8(),r,null,t)}a46(r,t){Zn(this,N8(),r,null,t)}m4f(r,t){Zn(this,wg(),r,null,t)}n4f(r,t,n){Zn(this,wg(),r,t,n)}}d(e,"StdOutLogger"),K1=e}return K1}function gg(){return e1(),kb}function j8(){return e1(),xb}function N8(){return e1(),Cb}function wg(){return e1(),zb}var Dt=Math.imul,G1;function Oi(){if(G1===u){class e{constructor(r,t,n,a,s,_,l,o,c,h,v,f,p){s=s===u?0n:s,_=_===u?0:_,l=l===u?0:l,o=o===u?0n:o,c=c===u?0n:c,h=h===u?0n:h,v=v===u?0n:v,f=f===u?0n:f,p=p===u?0n:p,this.d46_1=r,this.e46_1=t,this.f46_1=n,this.g46_1=a,this.h46_1=s,this.i46_1=_,this.j46_1=l,this.k46_1=o,this.l46_1=c,this.m46_1=h,this.n46_1=v,this.o46_1=f,this.p46_1=p}toString(){return"PerformanceMetrics(frameTime="+this.d46_1+", fps="+this.e46_1+", memoryUsed="+this.f46_1.toString()+", memoryAllocated="+this.g46_1.toString()+", gcCount="+this.h46_1.toString()+", renderTime="+this.i46_1+", cpuTime="+this.j46_1+", drawCalls="+this.k46_1.toString()+", readPixels="+this.l46_1.toString()+", vertexCount="+this.m46_1.toString()+", drawBatchPrimitives="+this.n46_1.toString()+", drawBatchSprites="+this.o46_1.toString()+", drawOnScreen="+this.p46_1.toString()+")"}hashCode(){var r=Ht(this.d46_1);return r=Dt(r,31)+Ht(this.e46_1)|0,r=Dt(r,31)+Et(this.f46_1)|0,r=Dt(r,31)+Et(this.g46_1)|0,r=Dt(r,31)+Et(this.h46_1)|0,r=Dt(r,31)+Ht(this.i46_1)|0,r=Dt(r,31)+Ht(this.j46_1)|0,r=Dt(r,31)+Et(this.k46_1)|0,r=Dt(r,31)+Et(this.l46_1)|0,r=Dt(r,31)+Et(this.m46_1)|0,r=Dt(r,31)+Et(this.n46_1)|0,r=Dt(r,31)+Et(this.o46_1)|0,r=Dt(r,31)+Et(this.p46_1)|0,r}equals(r){return this===r?!0:!(!(r instanceof Oi())||!A(this.d46_1,r.d46_1)||!A(this.e46_1,r.e46_1)||this.f46_1!==r.f46_1||this.g46_1!==r.g46_1||this.h46_1!==r.h46_1||!A(this.i46_1,r.i46_1)||!A(this.j46_1,r.j46_1)||this.k46_1!==r.k46_1||this.l46_1!==r.l46_1||this.m46_1!==r.m46_1||this.n46_1!==r.n46_1||this.o46_1!==r.o46_1||this.p46_1!==r.p46_1)}}d(e,"PerformanceMetrics"),G1=e}return G1}var J1;function L8(){if(J1===u){class e{constructor(){this.g54_1=0n,this.h54_1=0n,this.i54_1=0n,this.j54_1=0n,this.k54_1=0n,this.l54_1=0n,this.m54_1=0n;var r=this;r.n54_1=j().p1(),this.o54_1=300;var t=this;t.p54_1=jr().sa(),this.q54_1=!1}i45(r){this.q54_1=r,r&&this.c1h()}h45(){return this.q54_1}m43(){if(!this.h45())return z;this.g54_1=this.r54()}d47(){if(!this.h45())return new(Oi())(0,0,0n,0n);var r=this.r54(),t=xe(Ei(r,this.g54_1)),n=t>0?1e3/t:0,a=this.s54(),s=this.t54(),_=this.u54(t,n,a,s,this.j54_1,this.k54_1,this.m54_1,this.l54_1);return this.n54_1.c1(_),this.n54_1.h1()>this.o54_1&&this.n54_1.t2(0),this.h54_1=r,this.i54_1=a,this.j54_1=0n,this.k54_1=0n,this.l54_1=0n,this.m54_1=0n,_}c45(r){if(!this.h45())return z;var t=this.p54_1,n=this.r54();t.c3(r,n)}v54(r){if(!this.h45())return z;var t=this.j54_1;this.j54_1=Qe(t,C5());var n=this,a=this.k54_1;n.k54_1=Qe(a,yt(r))}w54(){if(!this.h45())return z;var r=this.l54_1;this.l54_1=Qe(r,C5())}f45(r){if(!this.h45())return 0;var t=this.p54_1.d3(r),n;if(t==null)return 0;n=t;var a=n;return xe(Ei(this.r54(),a))}c46(r){if(!this.h45()||this.n54_1.m1())return null;var t=j7(this.n54_1,Dw(r,this.n54_1.h1()));if(t.m1())return null;for(var n=j().d1(Cr(t,10)),a=t.e1();a.f1();){var s=a.g1(),_=s.d46_1;n.c1(_)}for(var l=ei(n),o=j().d1(Cr(t,10)),c=t.e1();c.f1();){var h=c.g1(),v=h.e46_1;o.c1(v)}for(var f=ei(o),p=j().d1(Cr(t,10)),w=t.e1();w.f1();){var b=w.g1(),g=b.f46_1;p.c1(g)}for(var C=Me(Vn(p)),S=0n,k=t.e1();k.f1();){var E=k.g1(),D=S,P=E.g46_1;S=Qe(D,P)}for(var O=S,H=0n,G=t.e1();G.f1();){var X=G.g1(),Q=H,rr=X.h46_1;H=Qe(Q,rr)}for(var er=H,ir=j().d1(Cr(t,10)),hr=t.e1();hr.f1();){var or=hr.g1(),pr=or.i46_1;ir.c1(pr)}for(var Dr=ei(ir),Sr=j().d1(Cr(t,10)),Br=t.e1();Br.f1();){var Vr=Br.g1(),Kr=Vr.j46_1;Sr.c1(Kr)}for(var $r=ei(Sr),vt=j().d1(Cr(t,10)),ft=t.e1();ft.f1();){var Mt=ft.g1(),rt=Mt.k46_1;vt.c1(rt)}for(var qt=Me(Vn(vt)),dt=j().d1(Cr(t,10)),It=t.e1();It.f1();){var $t=It.g1(),Ie=$t.m46_1;dt.c1(Ie)}for(var Gt=Me(Vn(dt)),Jt=j().d1(Cr(t,10)),he=t.e1();he.f1();){var kn=he.g1(),Hn=kn.l46_1;Jt.c1(Hn)}for(var q1=Me(Vn(Jt)),Fm=j().d1(Cr(t,10)),Pm=t.e1();Pm.f1();){var z7=Pm.g1(),S7=z7.p46_1;Fm.c1(S7)}var q7=Me(Vn(Fm));return new(Oi())(l,f,C,O,er,Dr,$r,qt,q1,Gt,u,u,q7)}c1h(){this.n54_1.s2(),this.p54_1.s2(),this.i54_1=this.s54()}}d(e,"BasePerformanceMonitor"),J1=e}return J1}function M8(e){var i;try{var r=typeof window.performance.memory<"u";i=r!=null&&typeof r=="boolean"?r:m()}catch(n){var t;if(n instanceof Te())t=!1;else throw n;i=t}return i}function T8(e){var i;try{i=!1}catch(t){var r;if(t instanceof Te())r=!1;else throw t;i=r}return i}function D8(e){return e.b5t_1,0}function F8(e,i,r){return L7(i-r,0)}var W1;function Sb(){if(W1===u){class e extends L8(){constructor(){super(),this.x5s_1=window.performance,this.y5s_1=0,this.z5s_1=0n,this.a5t_1=!1,this.b5t_1=!1,this.a5t_1=M8(),this.b5t_1=T8(),this.a5t_1&&(this.z5s_1=this.s54()),this.y5s_1=this.x5s_1.now()}s54(){if(!this.h45()||!this.a5t_1)return 0n;var r=window.performance.memory,t=r==null?null:r.usedJSHeapSize,n=t==null?null:t.toLong();return n??0n}t54(){if(!this.h45()||!this.a5t_1)return 0n;var r=this.s54(),t=N7(Ei(r,this.z5s_1),0n);return this.z5s_1=r,t}r54(){return Me(this.x5s_1.now())}u54(r,t,n,a,s,_,l,o){var c=this.x5s_1.now(),h;this.y5s_1>0?h=c-this.y5s_1:h=r;var v=h;this.y5s_1=c;var f=D8(this),p=F8(this,v,f),w=v>0?1e3/v:t;return new(Oi())(v,w,n,a,0n,f,p,u,l,u,u,u,o)}}d(e,"WebGlPerformanceMonitor",Sb),W1=e}return W1}var qb,Ib,$b,H1;function P8(){if(H1===u){class e{i4f(r){switch(r){case 0:return a1();case 1:return x0();case 2:return C0();default:return null}}}ar(e),H1=e}return H1}var n1;function R5(){return[a1(),x0(),C0()]}function En(){return V1==null&&(V1=Ks(R5())),V1}var bg;function k0(){if(bg)return z;bg=!0,qb=new(Z1())("TOUCH1",0),Ib=new(Z1())("TOUCH2",1),$b=new(Z1())("TOUCH3",2)}var V1,Y1;function Z1(){if(Y1===u){class e extends Ot(){}d(e,"TouchSignal"),Y1=e}return Y1}function a1(){return k0(),qb}function x0(){return k0(),Ib}function C0(){return k0(),$b}n1=new(P8());var X1;function Rn(){if(X1===u){class e{constructor(r,t){M7(this,t),this.c4e_1=r;var n=this;n.d4e_1=j().p1()}e4e(){if(this.d4e_1.m1()){var r=xt(0,this.c4e_1),t=r.v1_1,n=r.w1_1;if(t<=n)do{var a=t;t=t+1|0,this.f4e([this.v4d()])}while(a!==n)}var s=this.d4e_1.l1(this.d4e_1.h1()-1|0);return this.d4e_1.t2(this.d4e_1.h1()-1|0),s}f4e(r){for(var t=0,n=r.length;t{var t=e;return TA(t,r),z};return i.callableName="keyDown",i}function PA(e){var i=r=>{var t=e;return DA(t,r),z};return i.callableName="keyUp",i}function BA(e){var i=r=>{var t=e;return NA(t,r),z};return i.callableName="touchStart",i}function RA(e){var i=r=>{var t=e;return LA(t,r),z};return i.callableName="touchEnd",i}function OA(e){var i=r=>{var t=e;return MA(t,r),z};return i.callableName="touchMove",i}function UA(e){var i=r=>{var t=e;return IA(t,r),z};return i.callableName="mouseDown",i}function KA(e){var i=r=>{var t=e;return $A(t,r),z};return i.callableName="mouseUp",i}function GA(e){var i=r=>{var t=e;return EA(t,r),z};return i.callableName="mouseMove",i}function JA(e){var i=r=>{var t=e;return AA(t),z};return i.callableName="mouseLeave",i}function WA(e){var i=r=>{var t=e;return jA(t),z};return i.callableName="mouseEnter",i}var uu;function HA(){if(uu===u){class e{constructor(r,t){this.x5r_1=r,this.y5r_1=t,this.x5r_1.addEventListener("keydown",FA(this),!1),this.x5r_1.addEventListener("keyup",PA(this),!1),this.x5r_1.addEventListener("touchstart",BA(this),!1),this.x5r_1.addEventListener("touchend",RA(this),!1),this.x5r_1.addEventListener("touchmove",OA(this),!1),this.x5r_1.addEventListener("mousedown",UA(this),!1),this.x5r_1.addEventListener("mouseup",KA(this),!1),this.x5r_1.addEventListener("mousemove",GA(this),!1),this.x5r_1.addEventListener("mouseleave",JA(this),!1),this.x5r_1.addEventListener("mouseenter",WA(this),!1),this.z5r_1=1,this.a5s_1=16,this.b5s_1=256;var n=this;n.c5s_1=[this.z5r_1,this.a5s_1,this.b5s_1],this.d5s_1=T7([a1(),x0(),C0()]),this.e5s_1=new(G8())(257),this.f5s_1=!1,this.g5s_1=new(Ln())(0,0),this.h5s_1=null}m4d(r){var t;return r.equals(K5())?t=this.e5s_1.q4e_1:t=this.e5s_1.d4f(xg(r)),t}n4d(r){var t;return r.equals(K5())?t=this.e5s_1.x4e():t=this.e5s_1.c4f(xg(r)),t}o4d(r){return this.e5s_1.o4d(r)}p4d(r){return this.e5s_1.p4d(r)}q4d(){return this.g5s_1}e45(){return z}c1h(){this.e5s_1.g4f()}r4d(r){this.x5r_1.addEventListener("onClick",t=>(r(),z),!1),this.h5s_1=r}}F(e).k45=SA,d(e,"JsInputHandler",u,u,[qA()]),uu=e}return uu}var _u;function VA(){if(_u===u){class e{constructor(r,t,n,a,s,_){s=s===u?n/r|0:s,_=_===u?a/t|0:_,this.a54_1=r,this.b54_1=t,this.c54_1=n,this.d54_1=a,this.e54_1=s,this.f54_1=_}}d(e,"WindowManager"),_u=e}return _u}var lu;function YA(){if(lu===u){class e{constructor(r){this.es_1=r}fs(r){return this.es_1.createShader(r)}gs(r,t){return this.es_1.shaderSource(r,t)}hs(r){return this.es_1.compileShader(r)}is(r){return this.es_1.deleteShader(r)}js(r,t){var n=tr(this.es_1.getShaderParameter(r,t));return typeof n=="boolean"?n?1:0:typeof n=="number"?n:m()}ks(r){return this.es_1.getProgramInfoLog(r)}ls(r){return this.es_1.getShaderInfoLog(r)}ms(r,t){var n=tr(this.es_1.getProgramParameter(r,t));return typeof n=="boolean"?n?1:0:typeof n=="number"?n:m()}ns(){return this.es_1.createProgram()}os(r,t){var n=r;return this.es_1.attachShader(n,t)}ps(r){return this.es_1.linkProgram(r)}qs(r){return this.es_1.useProgram(r)}rs(r,t){return this.es_1.getUniformLocation(r,t)}ss(r,t){return this.es_1.getAttribLocation(r,t)}ts(r){return this.es_1.enableVertexAttribArray(r)}us(r){return this.es_1.disableVertexAttribArray(r)}vs(r){return this.es_1.enable(r)}ws(r){return this.es_1.disable(r)}xs(){var r=this.es_1.createBuffer(),t;if(r==null)throw Te().pc();return t=r,t}ys(r,t){return this.es_1.bindBuffer(r,t)}zs(r,t,n,a){this.es_1.bufferData(r,t.zr(),a)}at(r,t,n,a,s,_){return this.es_1.vertexAttribPointer(r,t,n,a,s,_)}bt(r,t){return this.es_1.uniform1i(r,t)}ct(r,t,n){return this.es_1.uniform2f(r,t,n)}dt(r,t,n){return this.es_1.uniform2i(r,t,n)}et(r,t,n,a){return this.es_1.uniform3i(r,t,n,a)}ft(r,t,n,a){return this.es_1.viewport(r,t,n,a)}gt(r){return this.es_1.clear(r)}ht(r,t,n,a){return this.es_1.clearColor(r,t,n,a)}it(r,t){return this.es_1.blendFunc(r,t)}jt(){var r=this.es_1.createTexture(),t;if(r==null)throw Te().pc();return t=r,t}kt(r,t,n,a,s,_,l,o,c){this.es_1.texImage2D(r,t,n,a,s,_,l,o,c==null?null:c.zr())}lt(r){return this.es_1.activeTexture(r)}mt(r,t){return this.es_1.bindTexture(r,t)}nt(r,t,n){return this.es_1.texParameteri(r,t,n)}ot(){var r=this.es_1.createVertexArray(),t;if(r==null)throw Te().pc();return t=r,t}pt(r){return this.es_1.bindVertexArray(r)}qt(r,t,n){return this.es_1.drawArrays(r,t,n)}rt(r,t,n,a){return this.es_1.drawArraysInstanced(r,t,n,a)}st(r,t){return this.es_1.vertexAttribDivisor(r,t)}tt(r,t,n,a){return this.es_1.scissor(r,t,n,a)}ut(r,t){return this.es_1.pixelStorei(r,t)}vt(r,t,n,a){return this.es_1.blendFuncSeparate(r,t,n,a)}wt(r){this.es_1.stencilMask(r)}xt(r,t,n,a){this.es_1.colorMask(r,t,n,a)}yt(r,t,n){this.es_1.stencilOp(r,t,n)}zt(r,t,n){this.es_1.stencilFunc(r,t,n)}au(r,t){return this.es_1.bindFramebuffer(r,t)}bu(){var r=this.es_1.createFramebuffer(),t;if(r==null)throw Te().pc();return t=r,t}cu(r){return this.es_1.checkFramebufferStatus(r)}du(r,t,n,a,s){return this.es_1.framebufferTexture2D(r,t,n,a,s)}eu(r,t){return this.es_1.bindRenderbuffer(r,t)}fu(){var r=this.es_1.createRenderbuffer(),t;if(r==null)throw Te().pc();return t=r,t}gu(r,t,n,a){return this.es_1.framebufferRenderbuffer(r,t,n,a)}hu(r,t,n,a){return this.es_1.renderbufferStorage(r,t,n,a)}iu(r,t,n,a,s,_,l){this.es_1.readPixels(r,t,n,a,s,_,l.zr())}ju(r){return this.es_1.depthFunc(r)}}d(e,"KglJs"),lu=e}return lu}function Uy(){return!1}var ou;function i1(){if(ou===u){class e{}Ir(e,"SourceStream",u,u,u,[0]),ou=e}return ou}function ZA(e,i){return new Int8Array(i)}var cu;function XA(){if(cu===u){class e{constructor(r){this.s5r_1=r}j4a(r){var t=ka().wb(xa(r)),n=t,a=new XMLHttpRequest;return a.responseType="arraybuffer",a.open("GET",this.s5r_1,!0),a.onload=s=>{if(a.readyState===4&&a.status===200){var _=a.response,l=_ instanceof ArrayBuffer?_:m(),o=ZA(this,l),c=Re(o);n.fb(c)}return z},a.send(),t.xb()}i4a(r){var t=ka().wb(xa(r)),n=t,a=new XMLHttpRequest;return a.responseType="arraybuffer",a.open("HEAD",this.s5r_1,!0),a.onload=s=>{var _=a.status===200,l=Re(_);return n.fb(l),z},a.send(),t.xb()}}F(e).l4a=Uy,d(e,"AjaxStream",u,u,[i1()],[0]),cu=e}return cu}function QA(){return z}function rj(){return z}function tj(e,i,r){return i=i===u?!0:i,r===u?this.u53(e,i):r.u53.call(this,e,i)}function ej(e,i,r){return i=i===u?!0:i,r===u?this.w53(e,i):r.w53.call(this,e,i)}var hu;function nj(){if(hu===u){class e{}Ir(e,"Platform"),hu=e}return hu}var vu;function aj(){if(vu===u){class e{constructor(r,t,n){this.r53_1=r,this.s53_1=t,this.t53_1=n}}d(e,"ImageData"),vu=e}return vu}function*ij(e,i){var r=ka().wb(xa(i)),t=new Image;t.addEventListener("load",new(sj())(t,r)),t.src=e.t5r_1;var n=r.xb(),a=D7(n);return a===R()&&(a=yield a),a}var fu;function sj(){if(fu===u){class e{constructor(r,t){this.u5r_1=r,this.v5r_1=t}w5r(r){var t=document.createElement("canvas"),n=t instanceof HTMLCanvasElement?t:m(),a=n.getContext("2d"),s=a instanceof CanvasRenderingContext2D?a:m();n.width=this.u5r_1.width,n.height=this.u5r_1.height,s.drawImage(this.u5r_1,0,0);var _=s.getImageData(0,0,this.u5r_1.width,this.u5r_1.height),l=new Int8Array(_.data.buffer),o=new(aj())(l,this.u5r_1.width,this.u5r_1.height),c=Re(o);this.v5r_1.fb(c)}handleEvent(r){return this.w5r(r)}}d(e),fu=e}return fu}var du;function uj(){if(du===u){class e{constructor(r){this.t5r_1=r}i4a(r){var t=ka().wb(xa(r)),n=t,a=new XMLHttpRequest;return a.responseType="arraybuffer",a.open("HEAD",this.t5r_1,!0),a.onload=s=>{var _=a.status===200,l=Re(_);return n.fb(l),z},a.send(),t.xb()}j4a(r){return nr(ij.bind(u,this),r)}}F(e).l4a=Uy,d(e,"ImageDataStream",u,u,[i1()],[0]),du=e}return du}const _j=()=>{class e{constructor(r){this.url=r}}return new e(new URL(""+new URL("assets/SynthesizerAudioWorklet__generated__worklet__module-DCPWCBre.js",import.meta.url).href,import.meta.url),{type:"module"}).url};function lj(){return Gy(),Ky}var Ky;function oj(e){Gy();var i=F7("Kotlin raw error wrapper. Please check 'cause' for the original error");return i.name=lj(),Reflect.set(i,"cause",e),i}var zg;function Gy(){zg||(zg=!0,Ky="KotlinRawErrorWrapper")}function cj(e){var i=e,r=i instanceof Error?i:null;return r??oj(e)}function hj(e,i){var r=t=>{var n=i,a=Re(t);return n.fb(a),null};e.then(r,t=>{var n=i,a=cj(t),s=Re(Bw(a));return n.fb(s),null})}function vj(e,i){var r=ka().wb(xa(i));return hj(e,r),r.xb()}var pu;function fj(){if(pu===u){class e{constructor(r){this.c5r_1=r}i4w(r){var t=this.c5r_1.l4b(r);return this.c5r_1.d5r(t)}l4b(r){var t=this.c5r_1.l4b(r);return t}r4w(r,t){this.c5r_1.r4w(r,t)}q4w(r){this.c5r_1.q4w(r)}}d(e,"DefaultSoundBoard"),pu=e}return pu}function dj(e,i,r,t,n){if(i==null)return new Float32Array([]);if(r.m1())return new Float32Array([]);for(var a=60/t,s=new Float32Array([]),_=r.e1();_.f1();){var l=_.g1(),o=l.a52_1,c=o??i,h=l.x51_1*a+c.y4t_1,v=h*44100,f=Bm(v),p=P7(c.z4t_1),w=1/Math.max(1,p),b=new Float32Array(f),g=l.v51_1,C=g==null?null:g.e4r_1,S=C??0,k=0;if(ks.length&&(s=z5(s,Vr));var Kr=0,$r=Sr;if($rthis.k5r_1?!1:this.l5r_1.i1(r)}i1(r){return this.n5r(r)}s2(){return this.l5r_1.s2()}l1(r){return this.l5r_1.l1(r)}m1(){return this.l5r_1.m1()}e1(){return this.l5r_1.e1()}n1(r){return this.l5r_1.n1(r)}t2(r){return this.l5r_1.t2(r)}o5r(r,t){return this.l5r_1.r1(r,t)}r1(r,t){return this.o5r(r,t==null||t!=null?t:m())}p5r(r){return this.l5r_1.c2(r)}c2(r){return this.p5r(r)}q5r(r){return this.l5r_1.r2(r)}r2(r){return r==null||r!=null?this.q5r(r==null||r!=null?r:m()):!1}r5r(r){return this.l5r_1.p2(r)}p2(r){return r==null||r!=null?this.r5r(r==null||r!=null?r:m()):-1}}d(e,"MutableFixedSizeList",u,u,[Rw()]),wu=e}return wu}var bu;function kj(){if(bu===u){class e{constructor(r){this.b4r_1=r}eh(r,t){return this.b4r_1(r,t)}compare(r,t){return this.eh(r,t)}l3(){return this.b4r_1}equals(r){var t;if(r!=null&&L(r,ne())){var n;r!=null&&L(r,tt())?n=A(this.l3(),r.l3()):n=!1,t=n}else t=!1;return t}hashCode(){return Z(this.l3())}}d(e,"sam$kotlin_Comparator$0",u,u,[ne(),tt()]),bu=e}return bu}function xj(e,i){var r=e.f4r_1,t=i.f4r_1;return Ma(r,t)}var Jy,Wy,Hy,Vy,Yy,Zy,Xy,Qy,rk,tk,ek,nk,ak,ik,sk,uk,_k,lk,ok,ck,hk,vk,fk,dk,pk,mk,gk,wk,bk,yk,kk,xk,Ck,zk,Sk,qk,Ik,$k,Ek,Ak,jk,Nk,Lk,Mk,Tk,Dk,Fk,Pk,Bk,Rk,Ok,Uk,Kk,Gk,Jk,Wk,Hk,Vk,Yk,Zk,Xk,Qk,rx,tx,ex,nx,ax,ix,sx,ux,_x,lx,ox,cx,hx,vx,fx,dx,px,mx,gx,wx,bx,yx,kx,xx,Cx,zx,Sx,qx,Ix,$x,Ex,Ax,jx,Nx,Lx,Mx,Tx,Dx,Fx,Px,Bx,Rx,Ox,Ux,Kx,Gx,Jx,Wx,Hx,Vx,Yx,Zx,Xx,Qx,rC,tC,eC,nC,aC,iC,sC,uC,_C,lC,oC,cC,hC,vC,fC,dC,pC,mC,gC,wC,bC,yC,kC,xC,CC,zC,SC,qC,IC,$C,EC,AC,jC,NC,LC,MC,TC,yu;function Cj(){if(yu===u){class e{constructor(){G5=this;for(var r=this,t=FC(),n=ut(t),a=Wt().r8(),s=j().p1(),_=0,l=n.length;_0?1:-1;break;case 0:var v=r*n%1;s=2*v-1;break;case 1:var f=r*n%1,p=.25;s=fr}toString(){return this.f5p_1.toString()+" - "+this.g5p_1+" - "+this.h5p_1}}d(e,"NoteProgress",Ui),Eu=e}return Eu}var Au;function jj(){if(Au===u){class e extends Rn(){constructor(){super(100)}v4d(){return new(Ui())}l5p(r){r.g5p_1=0,r.h5p_1=0}b4e(r){return this.l5p(r instanceof Ui()?r:m())}}d(e),Au=e}return Au}var ju;function Nj(){if(ju===u){class e{constructor(r){this.m5p_1=r;var t=this,n=()=>Pr(this.m5p_1.v4t_1*44100),a=()=>Pr(this.m5p_1.w4t_1*44100),s=()=>this.m5p_1.x4t_1;t.n5p_1=new(Ij())(n,a,s,()=>Pr(this.m5p_1.y4t_1*44100));var _=this;_.o5p_1=new($j())(()=>this.m5p_1.z4t_1);var l=this;l.p5p_1=new(Aj())(()=>this.m5p_1.u4t_1);var o=this;o.q5p_1=bt().o1();var c=this;c.r5p_1=bt().o1();var h=this;h.s5p_1=new(jj())}t5p(r){var t=this.s5p_1.e4e();t.f5p_1=r,this.q5p_1.c1(t)}q4w(r){var t=this.q5p_1,n;r:{for(var a=t.e1();a.f1();){var s=a.g1();if(s.f5p_1.equals(r)){n=s;break r}}n=null}var _=n,l;if(_==null){var o=this.s5p_1.e4e();o.f5p_1=r,l=o}else l=_;var c=l;this.q5p_1.r2(c),this.r5p_1.c1(c)}u5p(){for(var r=0,t=this.q5p_1.e1();t.f1();){var n=t.g1(),a=n.f5p_1,s=n.g5p_1+n.h5p_1|0,_=this.o5p_1.x5o(a,s,(P,O)=>{for(var H=this.m5p_1.a4u_1,G=j().p1(),X=H.e1();X.f1();){var Q=X.g1();Q.m51()&&G.c1(Q)}for(var rr=P,er=G.e1();er.f1();){var ir=er.g1(),hr=rr;rr=ir.j5o(O/44100,hr)}var or=rr;return this.p5p_1.z5p(or,O)});_=_*this.n5p_1.u5o(n.g5p_1),r=r+_,n.g5p_1=n.g5p_1+1|0}for(var l=this.r5p_1.e1();l.f1();){var o=l.g1(),c=o.f5p_1,h=o.g5p_1+o.h5p_1|0,v=this.o5p_1.x5o(c,h,(P,O)=>{for(var H=this.m5p_1.a4u_1,G=j().p1(),X=H.e1();X.f1();){var Q=X.g1();Q.m51()&&G.c1(Q)}for(var rr=P,er=G.e1();er.f1();){var ir=er.g1(),hr=rr;rr=ir.j5o(O/44100,hr)}var or=rr;return this.p5p_1.z5p(or,O)}),f;if(o.g5p_1<=(this.n5p_1.q5o_1()+this.n5p_1.r5o_1()|0)){var p=o.g5p_1;o.g5p_1=p+1|0,f=this.n5p_1.u5o(p)}else{var w=o.h5p_1;o.h5p_1=w+1|0,f=this.n5p_1.v5o(w)}var b=f;v=v*b,r=r+v}for(var g=this.n5p_1.t5o_1(),C=this.r5p_1,S=j().p1(),k=C.e1();k.f1();){var E=k.g1();E.i5p(g)&&S.c1(E)}var D=S;return this.r5p_1.c2(S5(D)),this.s5p_1.g4e(D),r}d1h(){for(var r=this.q5p_1.e1();r.f1();){var t=r.g1();t.g5p_1=0}this.r5p_1.i1(this.q5p_1),this.q5p_1.s2()}}d(e,"InstrumentPlayer"),ju=e}return ju}var Nu;function SS(){if(Nu===u){class e{constructor(r,t,n,a,s,_,l,o,c,h,v,f,p,w,b,g,C){r=r===u?!1:r,t=t===u?!1:t,n=n===u?!1:n,a=a===u?!1:a,s=s===u?!1:s,_=_===u?!0:_,l=l===u?" ":l,o=o===u?!1:o,c=c===u?!1:c,h=h===u?"type":h,v=v===u?!1:v,f=f===u?!0:f,p=p===u?null:p,w=w===u?!1:w,b=b===u?!1:b,g=g===u?!1:g,C=C===u?AS():C,this.e3t_1=r,this.f3t_1=t,this.g3t_1=n,this.h3t_1=a,this.i3t_1=s,this.j3t_1=_,this.k3t_1=l,this.l3t_1=o,this.m3t_1=c,this.n3t_1=h,this.o3t_1=v,this.p3t_1=f,this.q3t_1=p,this.r3t_1=w,this.s3t_1=b,this.t3t_1=g,this.u3t_1=C}toString(){return"JsonConfiguration(encodeDefaults="+this.e3t_1+", ignoreUnknownKeys="+this.f3t_1+", isLenient="+this.g3t_1+", "+("allowStructuredMapKeys="+this.h3t_1+", prettyPrint="+this.i3t_1+", explicitNulls="+this.j3t_1+", ")+("prettyPrintIndent='"+this.k3t_1+"', coerceInputValues="+this.l3t_1+", useArrayPolymorphism="+this.m3t_1+", ")+("classDiscriminator='"+this.n3t_1+"', allowSpecialFloatingPointValues="+this.o3t_1+", ")+("useAlternativeNames="+this.p3t_1+", namingStrategy="+Jr(this.q3t_1)+", decodeEnumsCaseInsensitive="+this.r3t_1+", ")+("allowTrailingComma="+this.s3t_1+", allowComments="+this.t3t_1+", classDiscriminatorMode="+this.u3t_1.toString()+")")}}d(e,"JsonConfiguration"),Nu=e}return Nu}var qS,IS,qg;function $S(){if(qg)return z;qg=!0,qS=new(Mu())("NONE",0),new(Mu())("ALL_JSON_OBJECTS",1),IS=new(Mu())("POLYMORPHIC",2)}var Lu;function Mu(){if(Lu===u){class e extends Ot(){}d(e,"ClassDiscriminatorMode"),Lu=e}return Lu}function ES(){return $S(),qS}function AS(){return $S(),IS}var Tu;function V(){if(Tu===u){class e{}Ir(e,"KSerializer",u,u,[On(),ha()]),Tu=e}return Tu}var Du;function On(){if(Du===u){class e{}Ir(e,"SerializationStrategy"),Du=e}return Du}var Fu;function ha(){if(Fu===u){class e{}Ir(e,"DeserializationStrategy"),Fu=e}return Fu}function Lj(){return Pj(),jS}var jS,Pu;function Mj(){if(Pu===u){class e{i38(r,t,n){return t=t===u?_t():t,n===u?this.j38(r,t):n.j38.call(this,r,t)}}d(e,"SerializersModule"),Pu=e}return Pu}var Bu;function Tj(){if(Bu===u){class e extends Mj(){constructor(r,t,n,a,s,_){super(),this.z3q_1=r,this.a3r_1=t,this.b3r_1=n,this.c3r_1=a,this.d3r_1=s,this.e3r_1=_}h38(){return this.e3r_1}m3c(r,t){if(!r.ae(t))return null;var n=this.a3r_1.y2(r),a=n==null?null:n.y2(cr(t)),s=a!=null&&L(a,On())?a:null;if(s!=null)return s;var _=this.b3r_1.y2(r),l=_!=null&&typeof _=="function"?_:null;return l==null?null:l(t)}l3c(r,t){var n=this.c3r_1.y2(r),a;n==null?a=null:a=(L(n,kt())?n:m()).y2(t);var s=a,_=s!=null&&L(s,V())?s:null;if(_!=null)return _;var l=this.d3r_1.y2(r),o=l!=null&&typeof l=="function"?l:null;return o==null?null:o(t)}j38(r,t){var n=this.z3q_1.y2(r),a=n==null?null:n.f3r(t);return a==null||L(a,V())?a:null}y3q(r){for(var t=this.z3q_1.b3().e1();t.f1();){var n=t.g1(),a=n.u2(),s=n.v2();if(s instanceof Dj()){var _=L(a,De())?a:m(),l=s.i3r_1;r.j3r(_,L(l,V())?l:m())}else s instanceof Fj()?r.h3r(a,s.g3r_1):wt()}for(var o=this.a3r_1.b3().e1();o.f1();)for(var c=o.g1(),h=c.u2(),v=c.v2(),f=v.b3().e1();f.f1();){var p=f.g1(),w=p.u2(),b=p.v2(),g=L(h,De())?h:m(),C=L(w,De())?w:m(),S=L(b,V())?b:m();r.k3r(g,C,S)}for(var k=this.b3r_1.b3().e1();k.f1();){var E=k.g1(),D=E.u2(),P=E.v2(),O=L(D,De())?D:m();r.l3r(O,typeof P=="function"?P:m())}for(var H=this.d3r_1.b3().e1();H.f1();){var G=H.g1(),X=G.u2(),Q=G.v2(),rr=L(X,De())?X:m();r.m3r(rr,typeof Q=="function"?Q:m())}}}d(e,"SerialModuleImpl"),Bu=e}return Bu}var Ru;function Dj(){if(Ru===u){class e extends NS(){}d(e,"Argless"),Ru=e}return Ru}var Ou;function Fj(){if(Ou===u){class e extends NS(){}d(e,"WithTypeArguments"),Ou=e}return Ou}var Uu;function NS(){if(Uu===u){class e{}d(e,"ContextualProvider"),Uu=e}return Uu}var Ig;function Pj(){Ig||(Ig=!0,jS=new(Tj())(rn(),rn(),rn(),rn(),rn(),!1))}function Un(){return Lj()}function $g(e){return me().m7(e)}var Ku;function Ia(){if(Ku===u){class e{}d(e,"Key",Ia),Ku=e}return Ku}var Gu;function LS(){if(Gu===u){class e{constructor(){this.e3x_1=$g(16)}r3y(r,t,n){var a=this.e3x_1,s=a.y2(r),_;if(s==null){var l=$g(2);a.c3(r,l),_=l}else _=s;var o=_,c=t instanceof Ia()?t:m(),h=n??m();o.c3(c,h)}f3x(r,t,n){var a=this.s3y(r,t);if(a!=null)return a;var s=n();return this.r3y(r,t,s),s}s3y(r,t){var n=this.e3x_1.y2(r),a;n==null?a=null:a=n.y2(t instanceof Ia()?t:m());var s=a;return s??null}}d(e,"DescriptorSchemaCache",LS),Gu=e}return Gu}function Ju(){return s1(),MS}var MS;function ii(e){s1();var i=e&15,r;if(i<10){var t=x(48),n=lr(t);r=Ai(i+n|0)}else{var a=i-10|0,s=x(97),_=lr(s);r=Ai(a+_|0)}return r}function E0(e,i){s1(),e.ha(x(34));var r=0,t=0,n=kr(i)-1|0;if(t<=n)do{var a=t;t=t+1|0;var s=Mr(i,a),_=lr(s);_>12),n=ii(r>>8),a=ii(r>>4),s=ii(r);e[r]="\\u"+Ar(t)+Ar(n)+Ar(a)+Ar(s)}while(i<=31);var _=x(34);e[lr(_)]='\\"';var l=x(92);e[lr(l)]="\\\\";var o=x(9);e[lr(o)]="\\t";var c=x(8);e[lr(c)]="\\b";var h=x(10);e[lr(h)]="\\n";var v=x(13);e[lr(v)]="\\r",e[12]="\\f",MS=e;var f=new Int8Array(93),p=0;if(p<=31)do{var w=p;p=p+1|0,f[w]=1}while(p<=31);var b=x(34),g=lr(b),C=x(34),S=lr(C);f[g]=Bt(S);var k=x(92),E=lr(k),D=x(92),P=lr(D);f[E]=Bt(P);var O=x(9),H=lr(O),G=x(116),X=lr(G);f[H]=Bt(X);var Q=x(8),rr=lr(Q),er=x(98),ir=lr(er);f[rr]=Bt(ir);var hr=x(10),or=lr(hr),pr=x(110),Dr=lr(pr);f[or]=Bt(Dr);var Sr=x(13),Br=lr(Sr),Vr=x(114),Kr=lr(Vr);f[Br]=Bt(Kr);var $r=x(102),vt=lr($r);f[12]=Bt(vt)}}var Wu;function DS(){if(Wu===u){class e{constructor(){this.x3r_1=Bn().ka(128)}f2b(r){this.x3r_1.sf(r)}q3v(r){this.x3r_1.ha(r)}r3v(r){this.x3r_1.ga(r)}a3w(r){E0(this.x3r_1,r)}i1b(){this.x3r_1.vf()}toString(){return this.x3r_1.toString()}}d(e,"JsonToStringWriter",DS),Wu=e}return Wu}var Hu;function A0(){if(Hu===u){class e extends Fa(){constructor(){Ki=null,super(),Ki=this}}B(e,"ENUM"),Hu=e}return Hu}var Ki;function ze(){return Ki===u&&new(A0()),Ki}var Vu;function Bj(){if(Vu===u){class e extends Fa(){constructor(){Gi=null,super(),Gi=this}}B(e,"CONTEXTUAL"),Vu=e}return Vu}var Gi;function u1(){return Gi===u&&new(Bj()),Gi}var Yu;function Fa(){if(Yu===u){class e{toString(){return tr(cr(this).zd())}hashCode(){return br(this.toString())}}d(e,"SerialKind"),Yu=e}return Yu}var Zu;function Rj(){if(Zu===u){class e extends l1(){constructor(){Ji=null,super(),Ji=this}}B(e,"CLASS"),Zu=e}return Zu}var Ji;function Pa(){return Ji===u&&new(Rj()),Ji}var Xu;function Oj(){if(Xu===u){class e extends l1(){constructor(){Wi=null,super(),Wi=this}}B(e,"LIST"),Xu=e}return Xu}var Wi;function Ba(){return Wi===u&&new(Oj()),Wi}var Qu;function Uj(){if(Qu===u){class e extends l1(){constructor(){Hi=null,super(),Hi=this}}B(e,"MAP"),Qu=e}return Qu}var Hi;function Ra(){return Hi===u&&new(Uj()),Hi}var r_;function Kj(){if(r_===u){class e extends l1(){constructor(){Vi=null,super(),Vi=this}}B(e,"OBJECT"),r_=e}return r_}var Vi;function _1(){return Vi===u&&new(Kj()),Vi}var t_;function l1(){if(t_===u){class e extends Fa(){}d(e,"StructureKind"),t_=e}return t_}var e_;function Gj(){if(e_===u){class e extends zt(){constructor(){Yi=null,super(),Yi=this}}B(e,"BOOLEAN"),e_=e}return e_}var Yi;function Jj(){return Yi===u&&new(Gj()),Yi}var n_;function Wj(){if(n_===u){class e extends zt(){constructor(){Zi=null,super(),Zi=this}}B(e,"BYTE"),n_=e}return n_}var Zi;function Hj(){return Zi===u&&new(Wj()),Zi}var a_;function Vj(){if(a_===u){class e extends zt(){constructor(){Xi=null,super(),Xi=this}}B(e,"CHAR"),a_=e}return a_}var Xi;function Yj(){return Xi===u&&new(Vj()),Xi}var i_;function Zj(){if(i_===u){class e extends zt(){constructor(){Qi=null,super(),Qi=this}}B(e,"SHORT"),i_=e}return i_}var Qi;function Xj(){return Qi===u&&new(Zj()),Qi}var s_;function Qj(){if(s_===u){class e extends zt(){constructor(){rs=null,super(),rs=this}}B(e,"INT"),s_=e}return s_}var rs;function r9(){return rs===u&&new(Qj()),rs}var u_;function t9(){if(u_===u){class e extends zt(){constructor(){ts=null,super(),ts=this}}B(e,"LONG"),u_=e}return u_}var ts;function e9(){return ts===u&&new(t9()),ts}var __;function n9(){if(__===u){class e extends zt(){constructor(){es=null,super(),es=this}}B(e,"FLOAT"),__=e}return __}var es;function a9(){return es===u&&new(n9()),es}var l_;function i9(){if(l_===u){class e extends zt(){constructor(){ns=null,super(),ns=this}}B(e,"DOUBLE"),l_=e}return l_}var ns;function s9(){return ns===u&&new(i9()),ns}var o_;function u9(){if(o_===u){class e extends zt(){constructor(){as=null,super(),as=this}}B(e,"STRING"),o_=e}return o_}var as;function vn(){return as===u&&new(u9()),as}var c_;function zt(){if(c_===u){class e extends Fa(){}d(e,"PrimitiveKind"),c_=e}return c_}var h_;function _9(){if(h_===u){class e extends fn(){constructor(){is=null,super(),is=this}}B(e,"SEALED"),h_=e}return h_}var is;function FS(){return is===u&&new(_9()),is}var v_;function l9(){if(v_===u){class e extends fn(){constructor(){ss=null,super(),ss=this}}B(e,"OPEN"),v_=e}return v_}var ss;function o9(){return ss===u&&new(l9()),ss}var f_;function fn(){if(f_===u){class e extends Fa(){}d(e,"PolymorphicKind"),f_=e}return f_}function d_(e){Ke(e,e.o37_1)}var p_;function Nr(){if(p_===u){class e extends W(){static p37(){var r=this.sc();return d_(r),r}static q37(r){var t=this.u(r);return d_(t),t}static r37(r,t){var n=this.uc(r,t);return d_(n),n}}d(e,"SerializationException",e.p37),p_=e}return p_}var m_;function Zr(){if(m_===u){class e extends Nr(){static x37(r){var t=this.q37(r);return Ke(t,t.w37_1),t}static y37(r){return this.x37("An unknown field for index "+r)}}d(e,"UnknownFieldException"),m_=e}return m_}var g_;function J5(){if(g_===u){class e extends Nr(){static f38(r,t,n){var a=this.r37(t,n);return Ke(a,a.e38_1),a.d38_1=r,a}static g38(r,t){return this.f38(r,r.h1()===1?"Field '"+r.l1(0)+"' is required for type with serial name '"+t+"', but it was missing":"Fields "+$(r)+" are required for type with serial name '"+t+"', but they were missing",null)}}d(e,"MissingFieldException"),g_=e}return g_}var w_;function dn(){if(w_===u){class e extends j0(){static f3v(r){var t=this.u3w(r);return Ke(t,t.e3v_1),t}}d(e,"JsonDecodingException"),w_=e}return w_}function xr(e,i,r){return N0(e,i+` -JSON input: `+$(Oa(r,e)))}var b_;function j0(){if(b_===u){class e extends Nr(){static u3w(r){var t=this.q37(r);return Ke(t,t.t3w_1),t}}d(e,"JsonException"),b_=e}return b_}function N0(e,i){return dn().f3v(e>=0?"Unexpected JSON token at offset "+e+": "+i:i)}function Oa(e,i){if(i=i===u?-1:i,kr(e)<200)return e;if(i===-1){var r=kr(e)-60|0;if(r<=0)return e;var t=kr(e);return"....."+$(q5(e,r,t))}var n=i-30|0,a=i+30|0,s=n<=0?"":".....",_=a>=kr(e)?"":".....",l=Ct(n,0),o=Dw(a,kr(e));return s+$(q5(e,l,o))+_}function pn(e,i){i=i===u?"object":i,e.v3w("Trailing comma before the end of JSON "+i,e.g3s_1-1|0,"Trailing commas are non-complaint JSON and not allowed by default. Use 'allowTrailingComma = true' in 'Json {}' builder to support them.")}function Ag(e,i){e.w3w("Unexpected special floating-point value "+$(i)+". By default, non-finite floating point values are prohibited because they do not conform JSON specification",u,"It is possible to deserialize them using 'JsonBuilder.allowSpecialFloatingPointValues = true'")}var y_;function PS(){if(y_===u){class e extends j0(){static d3x(r){var t=this.u3w(r);return Ke(t,t.c3x_1),t}}d(e,"JsonEncodingException"),y_=e}return y_}function BS(e){return PS().d3x("Value of type '"+e.h37()+"' can't be used in JSON as a key in the map. "+("It should have either primitive or enum kind, but its kind is '"+e.q38().toString()+`'. -`)+"Use 'allowStructuredMapKeys = true' in 'Json {}' builder to convert such maps to [key1, value1, key2, value2,...] arrays.")}function jg(e,i,r){return N0(-1,c9(e,i,r))}function Ng(e,i){return PS().d3x("Unexpected special floating-point value "+$(e)+`. By default, non-finite floating point values are prohibited because they do not conform JSON specification. It is possible to deserialize them using 'JsonBuilder.allowSpecialFloatingPointValues = true' -`+("Current output: "+$(Oa(i))))}function c9(e,i,r){return"Unexpected special floating-point value "+$(e)+" with key "+i+`. By default, non-finite floating point values are prohibited because they do not conform JSON specification. It is possible to deserialize them using 'JsonBuilder.allowSpecialFloatingPointValues = true' -`+("Current output: "+$(Oa(r)))}function mn(){return!1}function gn(){return!1}function Ua(){return _t()}var k_;function Lt(){if(k_===u){class e{}Ir(e,"SerialDescriptor"),k_=e}return k_}function h9(e){return new(f9())(e)}function Lg(e){return new(p9())(e)}var x_;function v9(){if(x_===u){class e{constructor(r){this.d39_1=r,this.c39_1=r.s38()}f1(){return this.c39_1>0}g1(){var r=this.d39_1.s38(),t=this.c39_1;return this.c39_1=t-1|0,this.d39_1.x38(r-t|0)}}d(e),x_=e}return x_}var C_;function f9(){if(C_===u){class e{constructor(r){this.e39_1=r}e1(){return new(v9())(this.e39_1)}}d(e),C_=e}return C_}var z_;function d9(){if(z_===u){class e{constructor(r){this.g39_1=r,this.f39_1=r.s38()}f1(){return this.f39_1>0}g1(){var r=this.g39_1.s38(),t=this.f39_1;return this.f39_1=t-1|0,this.g39_1.u38(r-t|0)}}d(e),z_=e}return z_}var S_;function p9(){if(S_===u){class e{constructor(r){this.h39_1=r}e1(){return new(d9())(this.h39_1)}}d(e),S_=e}return S_}var q_;function o1(){if(q_===u){class e{}Ir(e,"CachedNames"),q_=e}return q_}function m9(){return wn(),RS}var RS;function us(e){if(wn(),L(e,o1()))return e.v39();var i=Wt().k1(e.s38()),r=0,t=e.s38();if(r")}function b9(e){return wn(),"Serializer for class '"+e+`' is not found. -Please ensure that class is marked as '@Serializable' and that the serialization compiler plugin is applied. -`}var Mg;function wn(){Mg||(Mg=!0,RS=[])}var y9=Math.imul,I_;function US(){if(I_===u){class e{constructor(r){this.x3i_1=r,this.y3i_1=new(L0())(this.x3i_1.e36())}e36(){return this.y3i_1}z3i(r,t){t!=null?(r.i3c(),r.f3c(this.x3i_1,t)):r.i3b()}f36(r,t){return this.z3i(r,t==null||t!=null?t:m())}g36(r){return r.x39()?r.l3a(this.x3i_1):r.y39()}equals(r){return this===r?!0:!(r==null||!cr(this).equals(cr(r))||(r instanceof US()||m(),!A(this.x3i_1,r.x3i_1)))}hashCode(){return Z(this.x3i_1)}}d(e,"NullableSerializer",u,u,[V()]),I_=e}return I_}var $_;function L0(){if($_===u){class e{constructor(r){this.z38_1=r,this.a39_1=this.z38_1.h37()+"?",this.b39_1=us(this.z38_1)}h37(){return this.a39_1}v39(){return this.b39_1}m38(){return!0}equals(r){return this===r?!0:!(!(r instanceof L0())||!A(this.z38_1,r.z38_1))}toString(){return $(this.z38_1)+"?"}hashCode(){return y9(Z(this.z38_1),31)}q38(){return this.z38_1.q38()}r38(){return this.z38_1.r38()}s38(){return this.z38_1.s38()}t38(){return this.z38_1.t38()}u38(r){return this.z38_1.u38(r)}v38(r){return this.z38_1.v38(r)}w38(r){return this.z38_1.w38(r)}x38(r){return this.z38_1.x38(r)}y38(r){return this.z38_1.y38(r)}}d(e,"SerialDescriptorForNullable",u,u,[Lt(),o1()]),$_=e}return $_}var k9=Math.imul;function x9(e,i){return new(M0())(e,i)}var E_;function M0(){if(E_===u){class e{constructor(r,t){this.n38_1=r,this.o38_1=t,this.p38_1=this.n38_1.h37()+"<"+this.o38_1.zd()+">"}h37(){return this.p38_1}equals(r){var t=r instanceof M0()?r:null,n;if(t==null)return!1;n=t;var a=n;return A(this.n38_1,a.n38_1)&&a.o38_1.equals(this.o38_1)}hashCode(){var r=this.o38_1.hashCode();return r=k9(31,r)+br(this.p38_1)|0,r}toString(){return"ContextDescriptor(kClass: "+$(this.o38_1)+", original: "+$(this.n38_1)+")"}q38(){return this.n38_1.q38()}m38(){return this.n38_1.m38()}r38(){return this.n38_1.r38()}s38(){return this.n38_1.s38()}t38(){return this.n38_1.t38()}u38(r){return this.n38_1.u38(r)}v38(r){return this.n38_1.v38(r)}w38(r){return this.n38_1.w38(r)}x38(r){return this.n38_1.x38(r)}y38(r){return this.n38_1.y38(r)}}d(e,"ContextDescriptor",u,u,[Lt()]),E_=e}return E_}function C9(e,i){var r=KS(i),t;if(r==null)t=null;else{var n=e.i38(r);t=n==null?null:n.e36()}return t}function KS(e){var i;return e instanceof M0()?i=e.o38_1:e instanceof L0()?i=KS(e.z38_1):i=null,i}var GS,JS,WS,HS;function z9(){return[h1(),H5(),ls(),YS()]}function S9(){return A_==null&&(A_=Ks(z9())),A_}var Tg;function c1(){if(Tg)return z;Tg=!0,GS=new(si())("OBJ",0,x(123),x(125)),JS=new(si())("LIST",1,x(91),x(93)),WS=new(si())("MAP",2,x(123),x(125)),HS=new(si())("POLY_OBJ",3,x(91),x(93))}var A_,j_;function si(){if(j_===u){class e extends Ot(){constructor(r,t,n,a){super(r,t),this.f3z_1=n,this.g3z_1=a}}d(e,"WriteMode"),j_=e}return j_}function VS(e,i){var r=i.q38(),t;if(r instanceof fn())t=YS();else if(A(r,Ba()))t=H5();else if(A(r,Ra())){var n=_s(i.x38(0),e.b3b()),a=n.q38(),s,_;if(a instanceof zt()?_=!0:_=A(a,ze()),_)s=ls();else if(e.q3r_1.h3t_1)s=H5();else throw BS(n);t=s}else t=h1();return t}function _s(e,i){var r;if(A(e.q38(),u1())){var t=C9(i,e),n=t==null?null:_s(t,i);r=n??e}else e.r38()?r=_s(e.x38(0),i):r=e;return r}function h1(){return c1(),GS}function H5(){return c1(),JS}function ls(){return c1(),WS}function YS(){return c1(),HS}var N_;function q9(){if(N_===u){class e extends V5(){static u3i(){os=null;var r=this.f3b();return os=r,r.t3i_1=Un(),r}b3b(){return this.t3i_1}h3b(r){return z}i3b(){return z}j3b(r){return z}k3b(r){return z}l3b(r){return z}m3b(r){return z}n3b(r){return z}o3b(r){return z}p3b(r){return z}q3b(r){return z}r3b(r){return z}s3b(r,t){return z}}B(e,"NoOpEncoder"),N_=e}return N_}var os;function I9(){return os===u&&q9().u3i(),os}function $9(){}function E9(e,i){return this.m3a(e)}function A9(e,i){e.f36(this,i)}function j9(e,i){var r=e.e36().m38();if(r)return this.f3c(L(e,On())?e:m(),i);i==null?this.i3b():(this.i3c(),this.f3c(e,i))}var L_;function ZS(){if(L_===u){class e{}Ir(e,"Encoder"),L_=e}return L_}function N9(e,i){return!0}var M_;function XS(){if(M_===u){class e{}Ir(e,"CompositeEncoder"),M_=e}return M_}var T_;function V5(){if(T_===u){class e{static f3b(){return Or(this)}m3a(r){return this}n3a(r){}g3b(r,t){return!0}h3b(r){throw Nr().q37("Non-serializable "+$(cr(r))+" is not supported by "+$(cr(this))+" encoder")}i3b(){throw Nr().q37("'null' is not supported by default")}j3b(r){return this.h3b(r)}k3b(r){return this.h3b(r)}l3b(r){return this.h3b(r)}m3b(r){return this.h3b(r)}n3b(r){return this.h3b(r)}o3b(r){return this.h3b(r)}p3b(r){return this.h3b(r)}q3b(r){return this.h3b(new(J())(r))}r3b(r){return this.h3b(r)}s3b(r,t){return this.h3b(t)}t3b(r){return this}u3b(r,t,n){this.g3b(r,t)&&this.j3b(n)}v3b(r,t,n){this.g3b(r,t)&&this.k3b(n)}w3b(r,t,n){this.g3b(r,t)&&this.l3b(n)}x3b(r,t,n){this.g3b(r,t)&&this.m3b(n)}y3b(r,t,n){this.g3b(r,t)&&this.n3b(n)}z3b(r,t,n){this.g3b(r,t)&&this.o3b(n)}a3c(r,t,n){this.g3b(r,t)&&this.p3b(n)}b3c(r,t,n){this.g3b(r,t)&&this.q3b(n)}c3c(r,t,n){this.g3b(r,t)&&this.r3b(n)}d3c(r,t){return this.g3b(r,t)?this.t3b(r.x38(t)):I9()}e3c(r,t,n,a){this.g3b(r,t)&&this.f3c(n,a)}g3c(r,t,n,a){this.g3b(r,t)&&this.h3c(n,a)}}F(e).i3c=$9,F(e).j3c=E9,F(e).f3c=A9,F(e).h3c=j9,F(e).k3c=N9,d(e,"AbstractEncoder",u,u,[ZS(),XS()]),T_=e}return T_}var D_;function v1(){if(D_===u){class e{constructor(r){this.i3v_1=r,this.j3v_1=!0}k3v(){this.j3v_1=!0}l3v(){return z}m3v(){this.j3v_1=!1}n3v(){this.j3v_1=!1}o3v(){return z}p3v(r){return this.i3v_1.q3v(r)}v2p(r){return this.i3v_1.r3v(r)}s3v(r){return this.i3v_1.r3v(r.toString())}t3v(r){return this.i3v_1.r3v(r.toString())}u3v(r){return this.i3v_1.f2b(yt(r))}v3v(r){return this.i3v_1.f2b(yt(r))}w3v(r){return this.i3v_1.f2b(yt(r))}x3v(r){return this.i3v_1.f2b(r)}y3v(r){return this.i3v_1.r3v(r.toString())}z3v(r){return this.i3v_1.a3w(r)}}d(e,"Composer"),D_=e}return D_}function L9(e,i){return i.q3r_1.i3t_1?new(M9())(e,i):new(v1())(e)}var F_;function Dg(){if(F_===u){class e extends v1(){constructor(r,t){super(r),this.d3w_1=t}w3v(r){if(this.d3w_1){var t=fr(r);this.z3v(Om(t))}else{var n=fr(r);this.v2p(Om(n))}}x3v(r){if(this.d3w_1){var t=Ni(r);this.z3v(Um(t))}else{var n=Ni(r);this.v2p(Um(n))}}u3v(r){if(this.d3w_1){var t=Lr(r);this.z3v(Km(t))}else{var n=Lr(r);this.v2p(Km(n))}}v3v(r){if(this.d3w_1){var t=ji(r);this.z3v(Gm(t))}else{var n=ji(r);this.v2p(Gm(n))}}}d(e,"ComposerForUnsignedNumbers"),F_=e}return F_}var P_;function Fg(){if(P_===u){class e extends v1(){constructor(r,t){super(r),this.g3w_1=t}z3v(r){this.g3w_1?super.z3v(r):super.v2p(r)}}d(e,"ComposerForUnquotedLiterals"),P_=e}return P_}var B_;function M9(){if(B_===u){class e extends v1(){constructor(r,t){super(r),this.j3w_1=t,this.k3w_1=0}k3v(){this.j3v_1=!0,this.k3w_1=this.k3w_1+1|0}l3v(){this.k3w_1=this.k3w_1-1|0}m3v(){this.j3v_1=!1,this.v2p(` -`);var r=this.k3w_1,t=0;if(taq(e)}function aN(){return e=>e.b3i()}function iN(){return e=>iq(e)}var Z_;function Ur(){if(Z_===u){class e{constructor(r,t,n){t=t===u?null:t,this.z3g_1=r,this.a3h_1=t,this.b3h_1=n,this.c3h_1=-1;for(var a=this,s=0,_=this.b3h_1,l=Array(_);s<_;)l[s]="[UNINITIALIZED]",s=s+1|0;a.d3h_1=l;var o=this,c=this.b3h_1;o.e3h_1=Array(c),this.f3h_1=null,this.g3h_1=rb(this.b3h_1),this.h3h_1=rn();var h=this,v=ur();h.i3h_1=_r(v,()=>{var g=this.a3h_1,C=g==null?null:g.r3i();return C??QS()});var f=this,p=ur();f.j3h_1=_r(p,()=>{var g=this.a3h_1,C=g==null?null:g.s3i(),S;if(C==null)S=null;else{for(var k=j().d1(C.length),E=0,D=C.length;Esq(this,this.b3i()))}h37(){return this.z3g_1}s38(){return this.b3h_1}q38(){return Pa()}t38(){var r=this.f3h_1;return r??_t()}v39(){return this.h3h_1.z2()}b3i(){var r=this.j3h_1,t=le();return oe("typeParameterDescriptors",1,t,aN(),null),r.v2()}c3i(r,t){this.c3h_1=this.c3h_1+1|0,this.d3h_1[this.c3h_1]=r,this.g3h_1[this.c3h_1]=t,this.e3h_1[this.c3h_1]=null,this.c3h_1===(this.b3h_1-1|0)&&(this.h3h_1=eN(this))}l3h(r,t,n){t=t===u?!1:t;var a;return n===u?(this.c3i(r,t),a=z):a=n.c3i.call(this,r,t),a}x38(r){return sn(aq(this),r).e36()}y38(r){return eq(this.g3h_1,r)}w38(r){var t=sn(this.e3h_1,r);return t??_t()}u38(r){return sn(this.d3h_1,r)}v38(r){var t=this.h3h_1.y2(r);return t??-3}equals(r){var t;r:{if(this===r){t=!0;break r}if(!(r instanceof Ur())){t=!1;break r}if(this.h37()!==r.h37()){t=!1;break r}if(!Js(this.b3i(),r.b3i())){t=!1;break r}if(this.s38()!==r.s38()){t=!1;break r}var n=0,a=this.s38();if(ne.u38(t)+": "+e.x38(t).h37())}function ie(e,i,r,t){var n;if(t===u?n=uN:n=t,t=n,Ws(e)){var a="Blank serial names are prohibited";throw W().u($(a))}if(A(i,Pa())){var s="For StructureKind.CLASS please use 'buildClassSerialDescriptor' instead";throw W().u($(s))}var _=new(_q())(e);return t(_),new(T0())(e,i,_.p36_1.h1(),tb(r),_)}var X_;function _q(){if(X_===u){class e{constructor(r){this.m36_1=r,this.n36_1=!1,this.o36_1=_t(),this.p36_1=j().p1(),this.q36_1=Wt().r8(),this.r36_1=j().p1(),this.s36_1=j().p1(),this.t36_1=j().p1()}i39(r,t,n,a){if(!this.q36_1.c1(r)){var s="Element with name '"+r+"' is already registered in "+this.m36_1;throw W().u($(s))}this.p36_1.c1(r),this.r36_1.c1(t),this.s36_1.c1(n),this.t36_1.c1(a)}u36(r,t,n,a,s){n=n===u?_t():n,a=a===u?!1:a;var _;return s===u?(this.i39(r,t,n,a),_=z):_=s.i39.call(this,r,t,n,a),_}}d(e,"ClassSerialDescriptorBuilder"),X_=e}return X_}function lq(e){var i=e.u39_1,r=le();return oe("_hashCode",1,r,sN(),null),i.v2()}function sN(){return e=>lq(e)}var Q_;function T0(){if(Q_===u){class e{constructor(r,t,n,a,s){this.j39_1=r,this.k39_1=t,this.l39_1=n,this.m39_1=s.o36_1,this.n39_1=K7(s.p36_1);var _=this,l=s.p36_1;_.o39_1=ut(l),this.p39_1=W5(s.r36_1);var o=this,c=s.s36_1;o.q39_1=ut(c),this.r39_1=G7(s.t36_1);for(var h=this,v=J7(this.o39_1),f=j().d1(Cr(v,10)),p=v.e1();p.f1();){var w=p.g1(),b=T(w.xi_1,w.wi_1);f.c1(b)}h.s39_1=eb(f),this.t39_1=W5(a);var g=this;g.u39_1=Hs(()=>sq(this,this.t39_1))}h37(){return this.j39_1}q38(){return this.k39_1}s38(){return this.l39_1}t38(){return this.m39_1}v39(){return this.n39_1}u38(r){return sn(this.o39_1,r)}v38(r){var t=this.s39_1.y2(r);return t??-3}w38(r){return sn(this.q39_1,r)}x38(r){return sn(this.p39_1,r)}y38(r){return eq(this.r39_1,r)}equals(r){var t;r:{if(this===r){t=!0;break r}if(!(r instanceof T0())){t=!1;break r}if(this.h37()!==r.h37()){t=!1;break r}if(!Js(this.t39_1,r.t39_1)){t=!1;break r}if(this.s38()!==r.s38()){t=!1;break r}var n=0,a=this.s38();if(ne.e36()}var rl;function oN(){if(rl===u){class e{constructor(r,t){this.a3j_1=t,this.b3j_1=_t();var n=this,a=ur();n.c3j_1=_r(a,()=>{var s=_1();return ie(r,s,[],_=>(_.o36_1=this.b3j_1,z))})}e36(){var r=this.c3j_1,t=le();return oe("descriptor",1,t,lN(),null),r.v2()}w36(r,t){r.m3a(this.e36()).n3a(this.e36())}f36(r,t){return this.w36(r,t??m())}g36(r){var t=this.e36(),n=r.m3a(t);r:{if(n.c3b())break r;var a=n.d3b(this.e36());if(a===-1)break r;throw Nr().q37("Unexpected index "+a)}return n.n3a(t),this.a3j_1}}d(e,"ObjectSerializer",u,u,[V()]),rl=e}return rl}var cN=Math.imul;function cq(){return d1(),hq}var hq,tl;function hN(){if(tl===u){class e{constructor(){ed=this,this.s3n_1=new(St())("kotlin.String",vn())}e36(){return this.s3n_1}t3n(r,t){return r.r3b(t)}f36(r,t){return this.t3n(r,t!=null&&typeof t=="string"?t:m())}g36(r){return r.h3a()}}B(e,"StringSerializer",u,u,[V()]),tl=e}return tl}var ed;function zr(){return ed===u&&new(hN()),ed}function ra(e){throw vr().r3("Primitive descriptor "+e.u3n_1+" does not have elements")}var el;function St(){if(el===u){class e{constructor(r,t){this.u3n_1=r,this.v3n_1=t}h37(){return this.u3n_1}q38(){return this.v3n_1}s38(){return 0}u38(r){ra(this)}v38(r){ra(this)}y38(r){ra(this)}x38(r){ra(this)}w38(r){ra(this)}toString(){return"PrimitiveDescriptor("+this.u3n_1+")"}equals(r){return this===r?!0:r instanceof St()?!!(this.u3n_1===r.u3n_1&&A(this.v3n_1,r.v3n_1)):!1}hashCode(){return br(this.u3n_1)+cN(31,this.v3n_1.hashCode())|0}}F(e).m38=mn,F(e).r38=gn,F(e).t38=Ua,d(e,"PrimitiveSerialDescriptor",u,u,[Lt()]),el=e}return el}function vN(e){d1();var i=cq().y2(e);return i==null||L(i,V())?i:m()}var nl;function fN(){if(nl===u){class e{constructor(){nd=this,this.w3n_1=new(St())("kotlin.Int",r9())}e36(){return this.w3n_1}x3n(r,t){return r.m3b(t)}f36(r,t){return this.x3n(r,t!=null&&typeof t=="number"?t:m())}g36(r){return r.c3a()}}B(e,"IntSerializer",u,u,[V()]),nl=e}return nl}var nd;function K(){return nd===u&&new(fN()),nd}var al;function dN(){if(al===u){class e{constructor(){ad=this,this.y3n_1=new(St())("kotlin.Long",e9())}e36(){return this.y3n_1}z3n(r,t){return r.n3b(t)}f36(r,t){return this.z3n(r,t!=null&&typeof t=="bigint"?t:m())}g36(r){return r.d3a()}}B(e,"LongSerializer",u,u,[V()]),al=e}return al}var ad;function Ka(){return ad===u&&new(dN()),ad}var il;function pN(){if(il===u){class e{constructor(){id=this,this.a3o_1=new(St())("kotlin.Byte",Hj())}e36(){return this.a3o_1}b3o(r,t){return r.k3b(t)}f36(r,t){return this.b3o(r,t!=null&&typeof t=="number"?t:m())}g36(r){return r.a3a()}}B(e,"ByteSerializer",u,u,[V()]),il=e}return il}var id;function mN(){return id===u&&new(pN()),id}var sl;function gN(){if(sl===u){class e{constructor(){sd=this,this.c3o_1=new(St())("kotlin.Short",Xj())}e36(){return this.c3o_1}d3o(r,t){return r.l3b(t)}f36(r,t){return this.d3o(r,t!=null&&typeof t=="number"?t:m())}g36(r){return r.b3a()}}B(e,"ShortSerializer",u,u,[V()]),sl=e}return sl}var sd;function wN(){return sd===u&&new(gN()),sd}var ul;function bN(){if(ul===u){class e{constructor(){ud=this,this.e3o_1=new(St())("kotlin.Char",Yj())}e36(){return this.e3o_1}f3o(r,t){return r.q3b(t)}f36(r,t){return this.f3o(r,t instanceof J()?t.d2_1:m())}g3o(r){return r.g3a()}g36(r){return new(J())(this.g3o(r))}}B(e,"CharSerializer",u,u,[V()]),ul=e}return ul}var ud;function yN(){return ud===u&&new(bN()),ud}var _l;function kN(){if(_l===u){class e{constructor(){_d=this,this.h3o_1=new(St())("kotlin.Double",s9())}e36(){return this.h3o_1}i3o(r,t){return r.p3b(t)}f36(r,t){return this.i3o(r,t!=null&&typeof t=="number"?t:m())}g36(r){return r.f3a()}}B(e,"DoubleSerializer",u,u,[V()]),_l=e}return _l}var _d;function xN(){return _d===u&&new(kN()),_d}var ll;function CN(){if(ll===u){class e{constructor(){ld=this,this.j3o_1=new(St())("kotlin.Float",a9())}e36(){return this.j3o_1}k3o(r,t){return r.o3b(t)}f36(r,t){return this.k3o(r,t!=null&&typeof t=="number"?t:m())}g36(r){return r.e3a()}}B(e,"FloatSerializer",u,u,[V()]),ll=e}return ll}var ld;function mt(){return ld===u&&new(CN()),ld}var ol;function zN(){if(ol===u){class e{constructor(){od=this,this.l3o_1=new(St())("kotlin.Boolean",Jj())}e36(){return this.l3o_1}m3o(r,t){return r.j3b(t)}f36(r,t){return this.m3o(r,t!=null&&typeof t=="boolean"?t:m())}g36(r){return r.z39()}}B(e,"BooleanSerializer",u,u,[V()]),ol=e}return ol}var od;function Mn(){return od===u&&new(zN()),od}var cl;function SN(){if(cl===u){class e{constructor(){cd=this,this.n3o_1=new(oN())("kotlin.Unit",z)}e36(){return this.n3o_1.e36()}o3o(r,t){this.n3o_1.w36(r,z)}f36(r,t){return this.o3o(r,t instanceof _0()?t:m())}p3o(r){this.n3o_1.g36(r)}g36(r){return this.p3o(r),z}}B(e,"UnitSerializer",u,u,[V()]),cl=e}return cl}var cd;function qN(){return cd===u&&new(SN()),cd}function IN(e,i){return d1(),$N(e),new(St())(e,i)}function $N(e){d1();for(var i=cq().a3(),r=i.e1();r.f1();){var t=r.g1(),n=t.e36().h37();if(e===n)throw W().u(nb(` - The name of serial descriptor should uniquely identify associated serializer. - For serial name `+e+" there already exists "+cr(t).zd()+`. - Please refer to SerialDescriptor documentation for additional information. - `))}}var Og;function d1(){Og||(Og=!0,hq=H9())}var EN=Math.imul;function Ga(e,i){return new(vq())(e,new(AN())(i))}var hl;function vq(){if(hl===u){class e extends Ur(){constructor(r,t){super(r,t,1),this.p3i_1=!0}r38(){return this.p3i_1}hashCode(){return EN(super.hashCode(),31)}equals(r){var t;r:{if(this===r){t=!0;break r}if(!(r instanceof vq())){t=!1;break r}if(this.h37()!==r.h37()){t=!1;break r}if(!(r.p3i_1&&Js(this.b3i(),r.b3i()))){t=!1;break r}if(this.s38()!==r.s38()){t=!1;break r}var n=0,a=this.s38();if(n=0)){var t="Illegal index "+r+", "+this.h37()+" expects only non-negative indices";throw W().u($(t))}return!1}w38(r){if(!(r>=0)){var t="Illegal index "+r+", "+this.h37()+" expects only non-negative indices";throw W().u($(t))}return _t()}x38(r){if(!(r>=0)){var t="Illegal index "+r+", "+this.h37()+" expects only non-negative indices";throw W().u($(t))}return this.y3c_1}equals(r){return this===r?!0:r instanceof Kn()?!!(A(this.y3c_1,r.y3c_1)&&this.h37()===r.h37()):!1}hashCode(){return pd(Z(this.y3c_1),31)+br(this.h37())|0}toString(){return this.h37()+"("+$(this.y3c_1)+")"}}F(e).m38=mn,F(e).r38=gn,F(e).t38=Ua,d(e,"ListLikeDescriptor",u,u,[Lt()]),Cl=e}return Cl}var zl;function F0(){if(zl===u){class e{constructor(r,t,n){this.e3d_1=r,this.f3d_1=t,this.g3d_1=n,this.h3d_1=2}h37(){return this.e3d_1}q38(){return Ra()}s38(){return this.h3d_1}u38(r){return r.toString()}v38(r){var t=Ys(r),n;if(t==null)throw W().u(r+" is not a valid map index");return n=t,n}y38(r){if(!(r>=0)){var t="Illegal index "+r+", "+this.h37()+" expects only non-negative indices";throw W().u($(t))}return!1}w38(r){if(!(r>=0)){var t="Illegal index "+r+", "+this.h37()+" expects only non-negative indices";throw W().u($(t))}return _t()}x38(r){if(!(r>=0)){var t="Illegal index "+r+", "+this.h37()+" expects only non-negative indices";throw W().u($(t))}var n;switch(r%2|0){case 0:n=this.f3d_1;break;case 1:n=this.g3d_1;break;default:var a="Unreached";throw vr().r3($(a))}return n}equals(r){return this===r?!0:!(!(r instanceof F0())||this.h37()!==r.h37()||!A(this.f3d_1,r.f3d_1)||!A(this.g3d_1,r.g3d_1))}hashCode(){var r=br(this.h37());return r=pd(31,r)+Z(this.f3d_1)|0,r=pd(31,r)+Z(this.g3d_1)|0,r}toString(){return this.h37()+"("+$(this.f3d_1)+", "+$(this.g3d_1)+")"}}F(e).m38=mn,F(e).r38=gn,F(e).t38=Ua,d(e,"MapLikeDescriptor",u,u,[Lt()]),zl=e}return zl}var Sl;function JN(){if(Sl===u){class e extends Kn(){constructor(r){super(r),this.m3d_1=r.h37()+"Array"}h37(){return this.m3d_1}}d(e,"PrimitiveArrayDescriptor"),Sl=e}return Sl}var P0=Math.imul,ql;function yr(){if(ql===u){class e extends B0(){constructor(r){super(r),this.o3d_1=new(BN())(r.e36())}e36(){return this.o3d_1}p3d(){return j().p1()}q3d(r){return r.h1()}r3d(r){return this.q3d(r instanceof j()?r:m())}s3d(r){return r}t3d(r){return this.s3d(r instanceof j()?r:m())}u3d(r){var t=r instanceof j()?r:null;return t??j().y(r)}v3d(r){return this.u3d(r!=null&&L(r,Zs())?r:m())}w3d(r,t){return r.l6(t)}x3d(r,t){return this.w3d(r instanceof j()?r:m(),t)}y3d(r,t,n){r.n5(t,n)}z3d(r,t,n){var a=r instanceof j()?r:m();return this.y3d(a,t,n==null||n!=null?n:m())}}d(e,"ArrayListSerializer"),ql=e}return ql}var Il;function WN(){if(Il===u){class e extends B0(){constructor(r){super(r),this.k3e_1=new(RN())(r.e36())}e36(){return this.k3e_1}p3d(){return Wt().r8()}l3e(r){return r.h1()}r3d(r){return this.l3e(r instanceof Wt()?r:m())}m3e(r){return r}t3d(r){return this.m3e(r instanceof Wt()?r:m())}n3e(r){var t=r instanceof Wt()?r:null;return t??Wt().s8(r)}v3d(r){return this.n3e(r!=null&&L(r,o0())?r:m())}o3e(r,t){}x3d(r,t){return this.o3e(r instanceof Wt()?r:m(),t)}p3e(r,t,n){r.c1(n)}z3d(r,t,n){var a=r instanceof Wt()?r:m();return this.p3e(a,t,n==null||n!=null?n:m())}}d(e,"HashSetSerializer"),Il=e}return Il}var $l;function HN(){if($l===u){class e extends B0(){constructor(r){super(r),this.r3e_1=new(ON())(r.e36())}e36(){return this.r3e_1}p3d(){return bt().o1()}s3e(r){return r.h1()}r3d(r){return this.s3e(r instanceof bt()?r:m())}t3e(r){return r}t3d(r){return this.t3e(r instanceof bt()?r:m())}n3e(r){var t=r instanceof bt()?r:null;return t??bt().b2(r)}v3d(r){return this.n3e(r!=null&&L(r,o0())?r:m())}u3e(r,t){}x3d(r,t){return this.u3e(r instanceof bt()?r:m(),t)}v3e(r,t,n){r.c1(n)}z3d(r,t,n){var a=r instanceof bt()?r:m();return this.v3e(a,t,n==null||n!=null?n:m())}}d(e,"LinkedHashSetSerializer"),$l=e}return $l}var El;function VN(){if(El===u){class e extends dq(){constructor(r,t){super(r,t),this.y3e_1=new(UN())(r.e36(),t.e36())}e36(){return this.y3e_1}z3e(r){return r.h1()}a3f(r){return this.z3e(r!=null&&L(r,kt())?r:m())}b3f(r){return r.b3().e1()}c3f(r){return this.b3f(r!=null&&L(r,kt())?r:m())}p3d(){return me().y6()}d3f(r){return P0(r.h1(),2)}r3d(r){return this.d3f(r instanceof me()?r:m())}e3f(r){return r}t3d(r){return this.e3f(r instanceof me()?r:m())}f3f(r){var t=r instanceof me()?r:null;return t??me().n7(r)}v3d(r){return this.f3f(r!=null&&L(r,kt())?r:m())}g3f(r,t){}x3d(r,t){return this.g3f(r instanceof me()?r:m(),t)}}d(e,"HashMapSerializer"),El=e}return El}var Al;function fq(){if(Al===u){class e extends dq(){constructor(r,t){super(r,t),this.n3f_1=new(KN())(r.e36(),t.e36())}e36(){return this.n3f_1}z3e(r){return r.h1()}a3f(r){return this.z3e(r!=null&&L(r,kt())?r:m())}b3f(r){return r.b3().e1()}c3f(r){return this.b3f(r!=null&&L(r,kt())?r:m())}p3d(){return jr().sa()}o3f(r){return P0(r.h1(),2)}r3d(r){return this.o3f(r instanceof jr()?r:m())}p3f(r){return r}t3d(r){return this.p3f(r instanceof jr()?r:m())}f3f(r){var t=r instanceof jr()?r:null;return t??jr().ua(r)}v3d(r){return this.f3f(r!=null&&L(r,kt())?r:m())}q3f(r,t){}x3d(r,t){return this.q3f(r instanceof jr()?r:m(),t)}}d(e,"LinkedHashMapSerializer"),Al=e}return Al}var jl;function Ja(){if(jl===u){class e extends R0(){constructor(r,t){super(t),this.s3f_1=r,this.t3f_1=new(GN())(t.e36())}e36(){return this.t3f_1}u3f(r){return r.length}a3f(r){return this.u3f(r!=null&&mi(r)?r:m())}v3f(r){return H7(r)}c3f(r){return this.v3f(r!=null&&mi(r)?r:m())}p3d(){return j().p1()}w3f(r){return r.h1()}r3d(r){return this.w3f(r instanceof j()?r:m())}x3f(r){return Q9(r,this.s3f_1)}t3d(r){return this.x3f(r instanceof j()?r:m())}y3f(r){return j().y(ab(r))}v3d(r){return this.y3f(r!=null&&mi(r)?r:m())}z3f(r,t){return r.l6(t)}x3d(r,t){return this.z3f(r instanceof j()?r:m(),t)}a3g(r,t,n){r.n5(t,n)}z3d(r,t,n){var a=r instanceof j()?r:m();return this.a3g(a,t,n==null||n!=null?n:m())}}d(e,"ReferenceArraySerializer"),jl=e}return jl}var Nl;function B0(){if(Nl===u){class e extends R0(){b3e(r){return r.h1()}a3f(r){return this.b3e(r!=null&&L(r,Li())?r:m())}c3e(r){return r.e1()}c3f(r){return this.c3e(r!=null&&L(r,Li())?r:m())}}d(e,"CollectionSerializer"),Nl=e}return Nl}var Ll;function dq(){if(Ll===u){class e extends pq(){constructor(r,t){super(),this.h3f_1=r,this.i3f_1=t}j3f(r,t,n,a){if(!(a>=0)){var s="Size must be known in advance when using READ_ALL";throw W().u($(s))}var _=W7(xt(0,P0(a,2)),2),l=_.v1_1,o=_.w1_1,c=_.x1_1;if(c>0&&l<=o||c<0&&o<=l)do{var h=l;l=l+c|0,this.k3f(r,n+h|0,t,!1)}while(h!==o)}f3e(r,t,n,a){return this.j3f(r,t!=null&&L(t,j5())?t:m(),n,a)}k3f(r,t,n,a){var s=r.z3a(this.e36(),t,this.h3f_1),_;if(a){var l=r.d3b(this.e36());if(l!==(t+1|0)){var o="Value must follow key in a map, index for key: "+t+", returned index for value: "+l;throw W().u($(o))}_=l}else _=t+1|0;var c=_,h,v;if(n.w2(s)){var f=this.i3f_1.e36().q38();v=!(f instanceof zt())}else v=!1;v?h=r.y3a(this.e36(),c,this.i3f_1,Xs(n,s)):h=r.z3a(this.e36(),c,this.i3f_1);var p=h;n.c3(s,p)}g3e(r,t,n,a){return this.k3f(r,t,n!=null&&L(n,j5())?n:m(),a)}e3e(r,t){for(var n=this.a3f(t),a=this.e36(),s=r.j3c(a,n),_=this.c3f(t),l=0,o=_;o.f1();){var c=o.g1(),h=c.u2(),v=c.v2(),f=this.e36(),p=l;l=p+1|0,s.e3c(f,p,this.h3f_1,h);var w=this.e36(),b=l;l=b+1|0,s.e3c(w,b,this.i3f_1,v)}s.n3a(a)}f36(r,t){return this.e3e(r,t==null||t!=null?t:m())}}d(e,"MapLikeSerializer"),Ll=e}return Ll}var Ml;function R0(){if(Ml===u){class e extends pq(){constructor(r){super(),this.d3e_1=r}e3e(r,t){var n=this.a3f(t),a=this.e36(),s=r.j3c(a,n),_=this.c3f(t),l=0;if(l=0)){var s="Size must be known in advance when using READ_ALL";throw W().u($(s))}var _=0;if(_(s.u36("key",r.e36()),s.u36("value",t.e36()),z))}e36(){return this.t3p_1}u3p(r){return r.u2()}v3p(r){return this.u3p(r!=null&&L(r,Pi())?r:m())}w3p(r){return r.v2()}x3p(r){return this.w3p(r!=null&&L(r,Pi())?r:m())}y3p(r,t){return new(md())(r,t)}}d(e,"MapEntrySerializer"),xo=e}return xo}var Co;function kL(){if(Co===u){class e extends gq(){constructor(r,t){super(r,t);var n=this;n.e3q_1=D0("kotlin.Pair",[],a=>(a.u36("first",r.e36()),a.u36("second",t.e36()),z))}e36(){return this.e3q_1}f3q(r){return r.ud_1}v3p(r){return this.f3q(r instanceof N5()?r:m())}g3q(r){return r.vd_1}x3p(r){return this.g3q(r instanceof N5()?r:m())}y3p(r,t){return T(r,t)}}d(e,"PairSerializer"),Co=e}return Co}function xL(e,i){var r=i.z3a(e.k3q_1,0,e.h3q_1),t=i.z3a(e.k3q_1,1,e.i3q_1),n=i.z3a(e.k3q_1,2,e.j3q_1);return i.n3a(e.k3q_1),new(Qs())(r,t,n)}function CL(e,i){var r=Zt(),t=Zt(),n=Zt();r:for(;;){var a=i.d3b(e.k3q_1);switch(a){case-1:break r;case 0:r=i.z3a(e.k3q_1,0,e.h3q_1);break;case 1:t=i.z3a(e.k3q_1,1,e.i3q_1);break;case 2:n=i.z3a(e.k3q_1,2,e.j3q_1);break;default:throw Nr().q37("Unexpected index "+a)}}if(i.n3a(e.k3q_1),r===Zt())throw Nr().q37("Element 'first' is missing");if(t===Zt())throw Nr().q37("Element 'second' is missing");if(n===Zt())throw Nr().q37("Element 'third' is missing");var s=r==null||r!=null?r:m(),_=t==null||t!=null?t:m();return new(Qs())(s,_,n==null||n!=null?n:m())}var zo;function zL(){if(zo===u){class e{constructor(r,t,n){this.h3q_1=r,this.i3q_1=t,this.j3q_1=n;var a=this;a.k3q_1=D0("kotlin.Triple",[],s=>(s.u36("first",this.h3q_1.e36()),s.u36("second",this.i3q_1.e36()),s.u36("third",this.j3q_1.e36()),z))}e36(){return this.k3q_1}l3q(r,t){var n=r.m3a(this.k3q_1);n.e3c(this.k3q_1,0,this.h3q_1,t.sp_1),n.e3c(this.k3q_1,1,this.i3q_1,t.tp_1),n.e3c(this.k3q_1,2,this.j3q_1,t.up_1),n.n3a(this.k3q_1)}f36(r,t){return this.l3q(r,t instanceof Qs()?t:m())}g36(r){var t=r.m3a(this.k3q_1);return t.c3b()?xL(this,t):CL(this,t)}}d(e,"TripleSerializer",u,u,[V()]),zo=e}return zo}var So;function gq(){if(So===u){class e{constructor(r,t){this.z3p_1=r,this.a3q_1=t}b3q(r,t){var n=r.m3a(this.e36());n.e3c(this.e36(),0,this.z3p_1,this.v3p(t)),n.e3c(this.e36(),1,this.a3q_1,this.x3p(t)),n.n3a(this.e36())}f36(r,t){return this.b3q(r,t==null||t!=null?t:m())}g36(r){var t=this.e36(),n=r.m3a(t),a;r:{if(n.c3b()){var s=n.z3a(this.e36(),0,this.z3p_1),_=n.z3a(this.e36(),1,this.a3q_1);a=this.y3p(s,_);break r}var l=Zt(),o=Zt();t:for(;;){var c=n.d3b(this.e36());switch(c){case-1:break t;case 0:l=n.z3a(this.e36(),0,this.z3p_1);break;case 1:o=n.z3a(this.e36(),1,this.a3q_1);break;default:throw Nr().q37("Invalid index: "+c)}}if(l===Zt())throw Nr().q37("Element 'key' is missing");if(o===Zt())throw Nr().q37("Element 'value' is missing");var h=l==null||l!=null?l:m();a=this.y3p(h,o==null||o!=null?o:m())}var v=a;return n.n3a(t),v}}d(e,"KeyValueSerializer",u,u,[V()]),So=e}return So}var Ug;function SL(){Ug||(Ug=!0,mq=new Object)}function _n(e){return zr()}function O0(e){return NN()}function p1(e){return MN()}function U0(e){return DN()}function K0(e){return PN()}function qr(e){var i;return e.e36().m38()?i=L(e,V())?e:m():i=new(US())(e),i}function G0(e){return K()}function J0(e){return Ka()}function W0(e){return mN()}function H0(e){return wN()}function wq(e){return yN()}function qL(){return XN()}function bq(e){return xN()}function IL(){return rL()}function yq(e){return mt()}function $L(){return sa()}function EL(){return nL()}function AL(){return iL()}function jL(){return uL()}function NL(){return lL()}function LL(){return cL()}function ML(){return vL()}function TL(){return dL()}function DL(){return mL()}function kq(e){return Mn()}function FL(){return wL()}function PL(e){return qN()}function BL(){return tq()}function RL(e){return O9()}function OL(e){return K9()}function UL(e){return J9()}function KL(e,i){return new(yL())(e,i)}function GL(e,i){return new(kL())(e,i)}function JL(e,i,r){return new(zL())(e,i,r)}function WL(e,i){return new(Ja())(e,i)}function gd(e,i){return new(fq())(e,i)}function wd(e){return new(yr())(e)}function HL(){return e=>e.e36()}var qo;function xs(){if(qo===u){class e extends ln(){static k36(r){var t=this.l36();t.h36_1=r,t.i36_1=_t();var n=t,a=ur();return n.j36_1=_r(a,()=>{var s=o9();return x9(ie("kotlinx.serialization.Polymorphic",s,[],_=>(_.u36("type",_n().e36()),_.u36("value",ie("kotlinx.serialization.Polymorphic<"+t.h36_1.zd()+">",u1(),[])),_.o36_1=t.i36_1,z)),t.h36_1)}),t}v36(){return this.h36_1}e36(){var r=this.j36_1,t=le();return oe("descriptor",1,t,HL(),null),r.v2()}toString(){return"kotlinx.serialization.PolymorphicSerializer(baseClass: "+$(this.h36_1)+")"}}d(e,"PolymorphicSerializer"),qo=e}return qo}function xq(e,i,r){var t=e.y36(i,r),n;return t==null?YL(cr(r),e.v36()):n=t,n}function $a(e,i,r){var t=e.x36(i,r),n;return t==null?Cq(r,e.v36()):n=t,n}function VL(e,i){var r=i.w3a(e.e36(),0),t=$a(e,i,r);return i.z3a(e.e36(),1,t)}var Io;function ln(){if(Io===u){class e{static l36(){return Or(this)}w36(r,t){var n=xq(this,r,t),a=this.e36(),s=r.m3a(a);s.c3c(this.e36(),0,n.e36().h37());var _=this.e36(),l=L(n,On())?n:m();s.e3c(_,1,l,t),s.n3a(a)}f36(r,t){return this.w36(r,t??m())}g36(r){var t=this.e36(),n=r.m3a(t),a;r:{var s=null,_=null;if(n.c3b()){a=VL(this,n);break r}t:for(;;){var l=n.d3b(this.e36());switch(l){case-1:break t;case 0:s=n.w3a(this.e36(),l);break;case 1:var o=s,c;e:if(o==null){var h="Cannot read polymorphic value before its type token";throw W().u($(h))}else{c=o;break e}s=c;var v=$a(this,n,s);_=n.z3a(this.e36(),l,v);break;default:var f=s;throw Nr().q37("Invalid index in polymorphic deserialization of "+(f??"unknown class")+(` - Expected 0, 1 or DECODE_DONE(-1), but found `+l))}}var p=_,w;t:if(p==null){var b="Polymorphic value has not been read for class "+s;throw W().u($(b))}else{w=p;break t}var g=w;a=g??m()}var C=a;return n.n3a(t),C}x36(r,t){return r.b3b().l3c(this.v36(),t)}y36(r,t){return r.b3b().m3c(this.v36(),t)}}d(e,"AbstractPolymorphicSerializer",u,u,[V()]),Io=e}return Io}function YL(e,i){var r=e.zd();Cq(r??$(e),i)}function Cq(e,i){var r="in the polymorphic scope of '"+i.zd()+"'";throw Nr().q37(e==null?"Class discriminator was missing and no default serializers were registered "+r+".":"Serializer for subclass '"+e+"' is not found "+r+`. -`+("Check if class with serial name '"+e+`' exists and serializer is registered in a corresponding SerializersModule. -`)+("To be registered automatically, class '"+e+"' has to be '@Serializable', and the base class '"+i.zd()+"' has to be sealed and '@Serializable'."))}var $o;function ZL(){if($o===u){class e{}d(e,"JsonClassDiscriminator"),$o=e}return $o}var Eo;function XL(){if(Eo===u){class e{}d(e,"JsonIgnoreUnknownKeys"),Eo=e}return Eo}var Ao;function QL(){if(Ao===u){class e{}d(e,"JsonNames"),Ao=e}return Ao}function rM(){return e=>e.e36()}var jo;function tM(){if(jo===u){class e{constructor(r){this.e37_1=r}f37(){return this.e37_1.e1()}g37(r){return r.v2().e36().h37()}i37(r){return this.g37(r==null||r!=null?r:m())}}d(e),jo=e}return jo}var No;function V0(){if(No===u){class e extends ln(){static j37(r,t,n,a){var s=this.l36();s.z36_1=t,s.a37_1=_t();var _=s,l=ur();if(_.b37_1=_r(l,()=>{var P=FS();return ie(r,P,[],O=>{O.u36("type",_n().e36());var H="kotlinx.serialization.Sealed<"+s.z36_1.zd()+">",G=u1(),X=ie(H,G,[],Q=>{for(var rr=s.d37_1.b3().e1();rr.f1();){var er=rr.g1(),ir=er.u2(),hr=er.v2();Q.u36(ir,hr.e36())}return z});return O.u36("value",X),O.o36_1=s.a37_1,z})}),n.length!==a.length)throw W().u("All subclasses of sealed class "+s.z36_1.zd()+" should be marked @Serializable");s.c37_1=eb(u$(n,a));for(var o=s,c=s.c37_1.b3(),h=new(tM())(c),v=jr().sa(),f=h.f37();f.f1();){var p=f.g1(),w=h.i37(p),b=v.y2(w);if(b==null&&v.w2(w),b!=null){var g="Multiple sealed subclasses of '"+$(s.z36_1)+"' have the same serial name '"+w+"':"+(" '"+$(b.u2())+"', '"+$(p.u2())+"'");throw vr().r3($(g))}v.c3(w,p)}for(var C=jr().ta(sb(v.h1())),S=v.b3().e1();S.f1();){var k=S.g1(),E=k.u2(),D=k.v2().v2();C.c3(E,D)}return o.d37_1=C,s}v36(){return this.z36_1}static k37(r,t,n,a,s){var _=this.j37(r,t,n,a);return _.a37_1=ab(s),_}e36(){var r=this.b37_1,t=le();return oe("descriptor",1,t,rM(),null),r.v2()}x36(r,t){var n=this.d37_1,a=(L(n,kt())?n:m()).y2(t);return a??super.x36(r,t)}y36(r,t){var n=this.c37_1.y2(cr(t)),a=n??super.y36(r,t),s;return a==null?s=null:s=L(a,On())?a:m(),s}}d(e,"SealedClassSerializer"),No=e}return No}function bd(e){return us(e)}function Cs(e,i){for(var r=e.t38().e1();r.f1();){var t=r.g1();if(t instanceof ZL())return t.q3y_1}return i.q3r_1.n3t_1}function eM(e,i,r){if(!(e instanceof V0()))return z;if(bd(i.e36()).a2(r)){var t=e.e36().h37(),n=i.e36().h37(),a="Sealed class '"+n+"' cannot be serialized as base class '"+t+"' because"+(" it has property name that conflicts with JSON class discriminator '"+r+"'. ")+"You can either change class discriminator in JsonConfiguration, rename property with @SerialName annotation or fall back to array polymorphism";throw vr().r3($(a))}}function nM(e){if(e instanceof A0()){var i="Enums cannot be serialized polymorphically with 'type' parameter. You can use 'JsonBuilder.useArrayPolymorphism' instead";throw vr().r3($(i))}if(e instanceof zt()){var r="Primitives cannot be serialized polymorphically with 'type' parameter. You can use 'JsonBuilder.useArrayPolymorphism' instead";throw vr().r3($(r))}if(e instanceof fn()){var t="Actual serializer for polymorphic cannot be polymorphic itself";throw vr().r3($(t))}}function aM(e,i,r){return eM(e,i,r)}function Y0(e){return e.s3r_1}function zq(){return Kt(),Sq}var Sq;function iM(){return Kt(),qq}var qq;function Z0(e,i){Kt();var r;if(i.q3r_1.f3t_1)r=!0;else{var t=e.t38(),n;r:{var a;if(L(t,Li())?a=t.m1():a=!1,a){n=!1;break r}for(var s=t.e1();s.f1();){var _=s.g1();if(_ instanceof XL()){n=!0;break r}}n=!1}r=n}return r}function m1(e,i,r){if(Kt(),$q(i,e)){var t=r.toLowerCase();return Lo(e,i,t)}var n=Ea(e,i);if(n!=null)return Lo(e,i,r);var a=e.v38(r);return a!==-3||!i.q3r_1.p3t_1?a:Lo(e,i,r)}function Iq(e,i,r,t){t=t===u?"":t,Kt();var n=m1(e,i,r);if(n===-3)throw Nr().q37(e.h37()+" does not contain element with name '"+r+"'"+t);return n}function sM(e,i,r){Kt();var t=Ea(e,i);return t==null?e.u38(r):uM(e,i,t)[r]}function Ea(e,i){return Kt(),A(e.q38(),Pa())?i.q3r_1.q3t_1:null}function yd(e,i){Kt();var r=Y0(e),t=zq();return r.f3x(i,t,()=>_M(i,e))}function $q(e,i){return Kt(),e.q3r_1.r3t_1&&A(i.q38(),ze())}function Lo(e,i,r){Kt();var t=yd(i,e).y2(r);return t??-3}function uM(e,i,r){Kt();var t=Y0(i),n=iM();return t.f3x(e,n,()=>{for(var a=0,s=e.s38(),_=Array(s);ape(e)}var Wo;function qM(){if(Wo===u){class e{constructor(r){this.h3v_1=Hs(r)}h37(){return pe(this).h37()}q38(){return pe(this).q38()}s38(){return pe(this).s38()}u38(r){return pe(this).u38(r)}v38(r){return pe(this).v38(r)}w38(r){return pe(this).w38(r)}x38(r){return pe(this).x38(r)}y38(r){return pe(this).y38(r)}}F(e).m38=mn,F(e).r38=gn,F(e).t38=Ua,d(e,u,u,u,[Lt()]),Wo=e}return Wo}var IM=Math.imul,Ho;function $M(){if(Ho===u){class e{}B(e,"Tombstone"),Ho=e}return Ho}var Ed;function Jg(e){var i=IM(e.k3x_1,2);e.i3x_1=_b(e.i3x_1,i);for(var r=0,t=new Int32Array(i);r=0&&(r.ga("."),r.ga(s.u38(_)))}else s!==Ed&&(r.ga("["),r.ga("'"),r.fa(s),r.ga("'"),r.ga("]"))}while(n=kr(i)?(e.g3s_1=r,e.a42(),(e.g3s_1+4|0)>=kr(i)&&e.w3w("Unexpected EOF during unicode escape"),Dq(e,i,e.g3s_1)):(e.j3s_1.ha(Ai((((ui(e,i,r)<<12)+(ui(e,i,r+1|0)<<8)|0)+(ui(e,i,r+2|0)<<4)|0)+ui(e,i,r+3|0)|0)),r+4|0)}function ui(e,i,r){var t=Er(i,r),n;if(x(48)<=t&&t<=x(57)){var a=lr(t),s=x(48);n=a-lr(s)|0}else if(x(97)<=t&&t<=x(102)){var _=lr(t),l=x(97);n=(_-lr(l)|0)+10|0}else if(x(65)<=t&&t<=x(70)){var o=lr(t),c=x(65);n=(o-lr(c)|0)+10|0}else e.w3w("Invalid toHexChar char '"+Ar(t)+"' in unicode escape");return n}function NM(e,i){var r=e.z41(i);(r>=kr(e.y41())||r===-1)&&e.w3w("EOF");var t=e.y41(),n=r;r=n+1|0;var a=Er(t,n),s=lr(a)|32,_,l=x(116);if(s===lr(l))Hg(e,"rue",r),_=!0;else{var o=x(102);s===lr(o)?(Hg(e,"alse",r),_=!1):e.w3w("Expected valid boolean literal prefix, but had '"+e.n3y()+"'")}return _}function Hg(e,i,r){(kr(e.y41())-r|0)=kr(t)||r===-1?!1:Er(t,r)===x(44)?(this.g3s_1=this.g3s_1+1|0,!0):!1}c42(r){return!(r===x(125)||r===x(93)||r===x(58)||r===x(44))}k3s(){var r=this.o3y();r!==10&&this.w3w("Expected EOF after parsing, but had "+Ar(Er(this.y41(),this.g3s_1-1|0))+" instead")}k3y(r){var t=this.o3y();if(t!==r){var n=Ss(r),a=this.g3s_1-1|0,s=this.g3s_1===kr(this.y41())||a<0?"EOF":Ar(Er(this.y41(),a)),_="Expected "+n+", but had '"+s+"' instead";this.w3w(_,a)}return t}d42(r){if(this.g3s_1>0&&r===x(34)){var t;r:{var n=this.g3s_1;try{this.g3s_1=this.g3s_1-1|0,t=this.n3y();break r}finally{this.g3s_1=n}}var a=t;a==="null"&&this.v3w("Expected string literal but 'null' literal was found",this.g3s_1-1|0,"Use 'coerceInputValues = true' in 'Json {}' builder to coerce nulls if property has a default value.")}var s=we(r),_=Ss(s),l=this.g3s_1-1|0,o=this.g3s_1===kr(this.y41())||l<0?"EOF":Ar(Er(this.y41(),l)),c="Expected "+_+", but had '"+o+"' instead";this.w3w(c,l)}j3y(){var r=this.y41(),t=this.g3s_1;r:for(;;){if(t=this.z41(t),t===-1)break r;var n=Er(r,t);if(n===x(32)||n===x(10)||n===x(13)||n===x(9)){t=t+1|0;continue r}return this.g3s_1=t,we(n)}return this.g3s_1=t,10}w3y(r){var t=this.b42();t=this.z41(t);var n=kr(this.y41())-t|0;if(n<4||t===-1)return!1;var a=0;if(a<=3)do{var s=a;if(a=a+1|0,Mr("null",s)!==Er(this.y41(),t+s|0))return!1}while(a<=3);return n>4&&we(Er(this.y41(),t+4|0))===0?!1:(r&&(this.g3s_1=t+4|0),!0)}h3z(r,t){return r=r===u?!0:r,t===u?this.w3y(r):t.w3y.call(this,r)}x3y(r){var t=this.j3y(),n;if(r){if(t!==1&&t!==0)return null;n=this.n3y()}else{if(t!==1)return null;n=this.m3y()}var a=n;return this.i3s_1=a,a}e42(){this.i3s_1=null}f23(r,t){var n=this.y41();return $(q5(n,r,t))}m3y(){return this.i3s_1!=null?Wg(this):this.a3z()}consumeString2(r,t,n){for(var a=n,s=t,_=Er(r,a),l=!1;_!==x(34);)_===x(92)?(l=!0,a=this.z41(EM(this,s,a)),a===-1&&this.w3w("Unexpected EOF",a),s=a):(a=a+1|0,a>=kr(r)&&(l=!0,this.x41(s,a),a=this.z41(a),a===-1&&this.w3w("Unexpected EOF",a),s=a)),_=Er(r,a);var o;l?o=Yo(this,s,a):o=this.f23(s,a);var c=o;return this.g3s_1=a+1|0,c}b3z(){var r=this.n3y();return r==="null"&&AM(this)&&this.w3w("Unexpected 'null' value instead of string literal"),r}n3y(){if(this.i3s_1!=null)return Wg(this);var r=this.b42();(r>=kr(this.y41())||r===-1)&&this.w3w("EOF",r);var t=we(Er(this.y41(),r));if(t===1)return this.m3y();t!==0&&this.w3w("Expected beginning of the string, but got "+Ar(Er(this.y41(),r)));for(var n=!1;we(Er(this.y41(),r))===0;)if(r=r+1|0,r>=kr(this.y41())){n=!0,this.x41(this.g3s_1,r);var a=this.z41(r);if(a===-1)return this.g3s_1=r,Yo(this,0,0);r=a}var s;n?s=Yo(this,this.g3s_1,r):s=this.f23(this.g3s_1,r);var _=s;return this.g3s_1=r,_}x41(r,t){this.j3s_1.nf(this.y41(),r,t)}z3y(r){var t=j().p1(),n=this.j3y();if(n!==8&&n!==6)return this.n3y(),z;r:for(;;){if(n=this.j3y(),n===1){r?this.n3y():this.a3z();continue r}var a=n;if(a===8||a===6)t.c1(n);else if(a===9){if(ng(t)!==8)throw xr(this.g3s_1,"found ] instead of } at path: "+this.h3s_1.toString(),this.y41());ag(t)}else if(a===7){if(ng(t)!==6)throw xr(this.g3s_1,"found } instead of ] at path: "+this.h3s_1.toString(),this.y41());ag(t)}else a===10&&this.w3w("Unexpected end of input due to malformed JSON during ignoring unknown keys");if(this.o3y(),t.h1()===0)return z}}toString(){return"JsonReader(source='"+$(this.y41())+"', currentPosition="+this.g3s_1+")"}y3y(r){var t=this.f23(0,this.g3s_1),n=c$(t,r);throw dn().f3v("Encountered an unknown key '"+r+"' at offset "+n+" at path: "+this.h3s_1.q3x()+` -Use 'ignoreUnknownKeys = true' in 'Json {}' builder or '@JsonIgnoreUnknownKeys' annotation to ignore unknown keys. -`+("JSON input: "+$(Oa(this.y41(),n))))}v3w(r,t,n){var a;kr(n)===0?a="":a=` -`+n;var s=a;throw xr(t,r+" at path: "+this.h3s_1.q3x()+s,this.y41())}w3w(r,t,n,a){return t=t===u?this.g3s_1:t,n=n===u?"":n,a===u?this.v3w(r,t,n):a.v3w.call(this,r,t,n)}j3z(){var r=this.b42();r=this.z41(r),(r>=kr(this.y41())||r===-1)&&this.w3w("EOF");var t;Er(this.y41(),r)===x(34)?(r=r+1|0,r===kr(this.y41())&&this.w3w("EOF"),t=!0):t=!1;var n=t,a=0n,s=0n,_=!1,l=!1,o=!1,c=r;r:for(;r!==kr(this.y41());){var h=Er(this.y41(),r);if((h===x(101)||h===x(69))&&!o){r===c&&this.w3w("Unexpected symbol "+Ar(h)+" in numeric literal"),l=!0,o=!0,r=r+1|0;continue r}if(h===x(45)&&o){r===c&&this.w3w("Unexpected symbol '-' in numeric literal"),l=!1,r=r+1|0;continue r}if(h===x(43)&&o){r===c&&this.w3w("Unexpected symbol '+' in numeric literal"),l=!0,r=r+1|0;continue r}if(h===x(45)){r!==c&&this.w3w("Unexpected symbol '-' in numeric literal"),_=!0,r=r+1|0;continue r}var v=we(h);if(v!==0)break r;r=r+1|0;var f=ge(h,x(48));if(0<=f&&f<=9||this.w3w("Unexpected symbol '"+Ar(h)+"' in numeric literal"),o){var p=s,w=ig(p,yt(10));s=Qe(w,yt(f));continue r}var b=a,g=ig(b,yt(10));a=Ei(g,yt(f)),a>0n&&this.w3w("Numeric value overflow")}var C=r!==c;if((c===r||_&&c===(r-1|0))&&this.w3w("Expected numeric literal"),n&&(C||this.w3w("EOF"),Er(this.y41(),r)!==x(34)&&this.w3w("Expected closing quotation mark"),r=r+1|0),this.g3s_1=r,o){var S=xe(a)*LM(s,l);(S>xe(9223372036854775807n)||S=r.length||t===-1?10:(this.g3s_1=t+1|0,we(Mr(r,t)))}l3y(){var r=this.b42();return r>=this.y41().length||r===-1?!1:this.c42(Mr(this.y41(),r))}u3y(r){var t=this.y41(),n=this.b42();(n>=t.length||n===-1)&&(this.g3s_1=-1,this.d42(r));var a=Mr(t,n);if(this.g3s_1=n+1|0,a===r)return z;this.d42(r)}j3y(){var r=this.y41(),t=this.b42();return t>=r.length||t===-1?10:(this.g3s_1=t,we(Mr(r,t)))}b42(){var r=this.g3s_1;if(r===-1)return r;var t=this.y41();r:for(;r>>6|0,t=i&63,n=c0(r);return t!==0&&(n[f$(n)]=An(-1n,i)),n}function cT(e,i){var r=(i>>>6|0)-1|0,t=i&63;e.u3g_1[r]=e.u3g_1[r]|An(1n,t)}function hT(e){var i=0,r=e.u3g_1.length-1|0;if(i<=r)do{var t=i;i=i+1|0;for(var n=_T(t+1|0,64),a=e.u3g_1[t];a!==-1n;){var s=cb(~a);a=a|An(1n,s);var _=n+s|0;if(e.s3g_1(e.r3g_1,_))return e.u3g_1[t]=a,_}e.u3g_1[t]=a}while(i<=r);return-1}var pc;function vT(){if(pc===u){class e{constructor(r,t){Zg(),this.r3g_1=r,this.s3g_1=t;var n=this.r3g_1.s38();if(n<=64){var a=this,s;n===64?s=0n:s=An(-1n,n),a.t3g_1=s,this.u3g_1=Zg().q3g_1}else this.t3g_1=0n,this.u3g_1=oT(this,n)}b1h(r){r<64?this.t3g_1=this.t3g_1|An(1n,r):cT(this,r)}v3g(){for(var r=this.r3g_1.s38();this.t3g_1!==-1n;){var t=cb(~this.t3g_1);if(this.t3g_1=this.t3g_1|An(1n,t),this.s3g_1(this.r3g_1,t))return t}return r>64?hT(this):-1}}d(e,"ElementMarker"),pc=e}return pc}function fT(e,i,r){return e.m3w_1=!i.y38(r)&&i.x38(r).m38(),e.m3w_1}function dT(e){var i=(r,t)=>{var n=e;return fT(n,r,t)};return i.callableName="readIfAbsent",i}var mc;function pT(){if(mc===u){class e{constructor(r){var t=this;t.l3w_1=new(vT())(r,dT(this)),this.m3w_1=!1}n3w(r){this.l3w_1.b1h(r)}o3w(){return this.l3w_1.v3g()}}d(e,"JsonElementMarker"),mc=e}return mc}function*mT(e,i,r,t){var n=e.i3y_1.e3y_1.j3y(),a;if(n===1)a=Is(e.i3y_1,!0);else if(n===0)a=Is(e.i3y_1,!1);else if(n===6){var s=bT(e.i3y_1,i,t);s===R()&&(s=yield s),a=s}else n===8?a=Kq(e.i3y_1):e.i3y_1.e3y_1.w3w("Can't begin reading element, unexpected token");return a}function gT(e){var i=e.e3y_1.k3y(6);e.e3y_1.j3y()===4&&e.e3y_1.w3w("Unexpected leading comma");var r=jr().sa();r:for(;e.e3y_1.l3y();){var t=e.f3y_1?e.e3y_1.n3y():e.e3y_1.m3y();e.e3y_1.k3y(5);var n=e.y1g();r.c3(t,n),i=e.e3y_1.o3y();var a=i;if(a!==4){if(a===7)break r;e.e3y_1.w3w("Expected end of the object or comma")}}return i===6?e.e3y_1.k3y(7):i===4&&(e.g3y_1||pn(e.e3y_1),e.e3y_1.k3y(7)),new(Yr())(r)}function*wT(e,i,r){var t=e.e3y_1.k3y(6);e.e3y_1.j3y()===4&&e.e3y_1.w3w("Unexpected leading comma");var n=jr().sa();r:for(;e.e3y_1.l3y();){var a=e.f3y_1?e.e3y_1.n3y():e.e3y_1.m3y();e.e3y_1.k3y(5);var s=i.gp(z,r);s===R()&&(s=yield s);var _=s;n.c3(a,_),t=e.e3y_1.o3y();var l=t;if(l!==4){if(l===7)break r;e.e3y_1.w3w("Expected end of the object or comma")}}return t===6?e.e3y_1.k3y(7):t===4&&(e.g3y_1||pn(e.e3y_1),e.e3y_1.k3y(7)),new(Yr())(n)}function bT(e,i,r){return nr(wT.bind(u,e,i),r)}function Kq(e){var i=e.e3y_1.o3y();e.e3y_1.j3y()===4&&e.e3y_1.w3w("Unexpected leading comma");for(var r=j().p1();e.e3y_1.l3y();){var t=e.y1g();if(r.c1(t),i=e.e3y_1.o3y(),i!==4){var n=e.e3y_1,a=i===9,s=n.g3s_1;if(!a){var _="Expected end of the array or comma";n.w3w(_,s)}}}return i===8?e.e3y_1.k3y(9):i===4&&(e.g3y_1||pn(e.e3y_1,"array"),e.e3y_1.k3y(9)),new(Rt())(r)}function Is(e,i){var r;e.f3y_1||!i?r=e.e3y_1.n3y():r=e.e3y_1.m3y();var t=r;return!i&&t==="null"?qe():new(se())(t,i)}function yT(e){return d$(new(p$())(xT(e)),z)}var gc;function kT(){if(gc===u){class e{constructor(r){this.i3y_1=r}p3y(r,t,n){return nr(mT.bind(u,this,r,t),n)}nc(r,t,n){var a=r instanceof m$()?r:m();return this.p3y(a,t instanceof _0()?t:m(),n)}}at(e,u,u,[2]),gc=e}return gc}function xT(e){var i=new(kT())(e),r=(t,n,a)=>i.p3y(t,n,a);return r.$arity=2,r}var wc;function CT(){if(wc===u){class e{constructor(r,t){this.e3y_1=t,this.f3y_1=r.g3t_1,this.g3y_1=r.s3t_1,this.h3y_1=0}y1g(){var r=this.e3y_1.j3y(),t;if(r===1)t=Is(this,!0);else if(r===0)t=Is(this,!1);else if(r===6){var n;this.h3y_1=this.h3y_1+1|0,this.h3y_1===200?n=yT(this):n=gT(this);var a=n;this.h3y_1=this.h3y_1-1|0,t=a}else r===8?t=Kq(this):this.e3y_1.w3w("Cannot read Json element because of unexpected "+Ss(r));return t}}d(e,"JsonTreeReader",u,u,u,[1]),wc=e}return wc}var bc;function Xg(){if(bc===u){class e extends zT(){s3o(r,t){return this.u3o(this.t3o(r,t))}u3o(r){var t=this.x3o();return this.y3o(t??"",r)}t3o(r,t){return r.u38(t)}y3o(r,t){var n;return kr(r)===0?n=t:n=r+"."+t,n}z3o(){return this.v3o_1.m1()?"$":jt(this.v3o_1,".","$.")}}d(e,"NamedValueDecoder"),bc=e}return bc}function Qg(e,i,r){e.n3p(i);var t=r();return e.w3o_1||e.o3p(),e.w3o_1=!1,t}var yc;function zT(){if(yc===u){class e{constructor(){var r=this;r.v3o_1=j().p1(),this.w3o_1=!1}b3b(){return Un()}a3p(r){throw Nr().q37($(cr(this))+" can't retrieve untyped values")}b3p(r){return!0}c3p(r){var t=this.a3p(r);return typeof t=="boolean"?t:m()}d3p(r){var t=this.a3p(r);return typeof t=="number"?t:m()}e3p(r){var t=this.a3p(r);return typeof t=="number"?t:m()}f3p(r){var t=this.a3p(r);return typeof t=="number"?t:m()}g3p(r){var t=this.a3p(r);return typeof t=="bigint"?t:m()}h3p(r){var t=this.a3p(r);return typeof t=="number"?t:m()}i3p(r){var t=this.a3p(r);return typeof t=="number"?t:m()}j3p(r){var t=this.a3p(r);return t instanceof J()?t.d2_1:m()}k3p(r){var t=this.a3p(r);return typeof t=="string"?t:m()}l3p(r,t){var n=this.a3p(r);return typeof n=="number"?n:m()}m3p(r,t){return this.n3p(r),this}k3a(r,t){return this.l3a(r)}j3a(r){return this.m3p(this.o3p(),r)}x39(){var r=this.x3o(),t;if(r==null)return!1;t=r;var n=t;return this.b3p(n)}y39(){return null}z39(){return this.c3p(this.o3p())}a3a(){return this.d3p(this.o3p())}b3a(){return this.e3p(this.o3p())}c3a(){return this.f3p(this.o3p())}d3a(){return this.g3p(this.o3p())}e3a(){return this.h3p(this.o3p())}f3a(){return this.i3p(this.o3p())}g3a(){return this.j3p(this.o3p())}h3a(){return this.k3p(this.o3p())}i3a(r){return this.l3p(this.o3p(),r)}m3a(r){return this}n3a(r){}o3a(r,t){return this.c3p(this.s3o(r,t))}p3a(r,t){return this.d3p(this.s3o(r,t))}q3a(r,t){return this.e3p(this.s3o(r,t))}r3a(r,t){return this.f3p(this.s3o(r,t))}s3a(r,t){return this.g3p(this.s3o(r,t))}t3a(r,t){return this.h3p(this.s3o(r,t))}u3a(r,t){return this.i3p(this.s3o(r,t))}v3a(r,t){return this.j3p(this.s3o(r,t))}w3a(r,t){return this.k3p(this.s3o(r,t))}x3a(r,t){return this.m3p(this.s3o(r,t),r.x38(t))}y3a(r,t,n,a){var s=this.s3o(r,t);return Qg(this,s,()=>this.k3a(n,a))}a3b(r,t,n,a){var s=this.s3o(r,t);return Qg(this,s,()=>{var _=n.e36().m38(),l;return _||this.x39()?l=this.k3a(n,a):l=this.y39(),l})}x3o(){return hb(this.v3o_1)}n3p(r){this.v3o_1.c1(r)}o3p(){var r=this.v3o_1.t2(g$(this.v3o_1));return this.w3o_1=!0,r}}F(e).z3a=Lq,F(e).l3a=Aq,F(e).c3b=jq,F(e).e3b=Nq,d(e,"TaggedDecoder",u,u,[X0(),Q0()]),yc=e}return yc}var ST=Math.imul;function qT(e,i,r){var t;if(i instanceof Yr())t=new(Wa())(e,i);else if(i instanceof Rt())t=new(Ld())(e,i);else{var n;i instanceof se()?n=!0:n=A(i,qe()),n?t=new(Gq())(e,i instanceof gr()?i:m()):wt()}var a=t;return a.l3a(r)}function lt(e,i,r,t){var n=Sa(r,"i")?"an "+r:"a "+r;throw xr(-1,"Failed to parse literal '"+i.toString()+"' as "+n+" value at element: "+e.t3z(t),$(e.u3z()))}var kc;function om(){if(kc===u){class e extends Xg(){constructor(r,t,n){n=n===u?null:n,super(),this.p3z_1=r,this.q3z_1=t,this.r3z_1=n,this.s3z_1=this.v3t().q3r_1}v3t(){return this.p3z_1}v2(){return this.q3z_1}b3b(){return this.v3t().b3b()}u3z(){var r=this.x3o(),t;r==null?t=null:t=this.v3z(r);var n=t;return n??this.v2()}t3z(r){return this.z3o()+("."+r)}w3t(){return this.u3z()}l3a(r){var t;r:{var n;if(r instanceof ln()?n=this.v3t().q3r_1.m3t_1:n=!0,n){t=r.g36(this);break r}var a=Cs(r.e36(),this.v3t()),s=this.w3t(),_=r.e36().h37();if(!(s instanceof Yr())){var l=Y(Yr()).zd(),o=cr(s).zd(),c=this.z3o();throw xr(-1,"Expected "+l+", but had "+o+" as the serialized body of "+_+" at element: "+c,$(s))}var h=s,v=h.x1m(a),f=v==null?null:ye(v),p=f==null?null:um(f),w;try{w=$a(r,this,p)}catch(S){if(S instanceof Nr()){var b=S;throw xr(-1,tr(b.message),h.toString())}else throw S}var g=w,C=L(g,ha())?g:m();t=Jq(this.v3t(),a,h,C)}return t}y3o(r,t){return t}m3a(r){var t=this.u3z(),n=r.q38(),a,s;if(A(n,Ba())?s=!0:s=n instanceof fn(),s){var _=this.v3t(),l=r.h37();if(!(t instanceof Rt())){var o=Y(Rt()).zd(),c=cr(t).zd(),h=this.z3o();throw xr(-1,"Expected "+o+", but had "+c+" as the serialized body of "+l+" at element: "+h,$(t))}a=new(Ld())(_,t)}else if(A(n,Ra())){var v=this.v3t(),f=_s(r.x38(0),v.b3b()),p=f.q38(),w,b;if(p instanceof zt()?b=!0:b=A(p,ze()),b){var g=this.v3t(),C=r.h37();if(!(t instanceof Yr())){var S=Y(Yr()).zd(),k=cr(t).zd(),E=this.z3o();throw xr(-1,"Expected "+S+", but had "+k+" as the serialized body of "+C+" at element: "+E,$(t))}w=new(IT())(g,t)}else if(v.q3r_1.h3t_1){var D=this.v3t(),P=r.h37();if(!(t instanceof Rt())){var O=Y(Rt()).zd(),H=cr(t).zd(),G=this.z3o();throw xr(-1,"Expected "+O+", but had "+H+" as the serialized body of "+P+" at element: "+G,$(t))}w=new(Ld())(D,t)}else throw BS(f);a=w}else{var X=this.v3t(),Q=r.h37();if(!(t instanceof Yr())){var rr=Y(Yr()).zd(),er=cr(t).zd(),ir=this.z3o();throw xr(-1,"Expected "+rr+", but had "+er+" as the serialized body of "+Q+" at element: "+ir,$(t))}a=new(Wa())(X,t,this.r3z_1)}return a}n3a(r){}x39(){var r=this.u3z();return!(r instanceof Ue())}w3z(r,t){var n=this.v3t(),a=this.v3z(r),s=t.h37();if(!(a instanceof gr())){var _=Y(gr()).zd(),l=cr(a).zd(),o=this.t3z(r);throw xr(-1,"Expected "+_+", but had "+l+" as the serialized body of "+s+" at element: "+o,$(a))}return Iq(t,n,a.e3u())}l3p(r,t){return this.w3z(r!=null&&typeof r=="string"?r:m(),t)}x3z(r){return this.v3z(r)!==qe()}b3p(r){return this.x3z(r!=null&&typeof r=="string"?r:m())}y3z(r){var t;r:{var n=this.v3z(r);if(!(n instanceof gr())){var a=Y(gr()).zd(),s=cr(n).zd(),_=this.t3z(r);throw xr(-1,"Expected "+a+", but had "+s+" as the serialized body of boolean at element: "+_,$(n))}var l=n;try{var o=Rq(l),c;o==null?lt(this,l,"boolean",r):c=o,t=c;break r}catch(h){if(h instanceof W())lt(this,l,"boolean",r);else throw h}}return t}c3p(r){return this.y3z(r!=null&&typeof r=="string"?r:m())}z3z(r){var t;r:{var n=this.v3z(r);if(!(n instanceof gr())){var a=Y(gr()).zd(),s=cr(n).zd(),_=this.t3z(r);throw xr(-1,"Expected "+a+", but had "+s+" as the serialized body of byte at element: "+_,$(n))}var l=n;try{var o=Pe(l),c,h=ee(-128,127);la(L(h,oa())?h:m(),o)?c=M5(o):c=null;var v=c,f;v==null?lt(this,l,"byte",r):f=v,t=f;break r}catch(p){if(p instanceof W())lt(this,l,"byte",r);else throw p}}return t}d3p(r){return this.z3z(r!=null&&typeof r=="string"?r:m())}a40(r){var t;r:{var n=this.v3z(r);if(!(n instanceof gr())){var a=Y(gr()).zd(),s=cr(n).zd(),_=this.t3z(r);throw xr(-1,"Expected "+a+", but had "+s+" as the serialized body of short at element: "+_,$(n))}var l=n;try{var o=Pe(l),c,h=ee(-32768,32767);la(L(h,oa())?h:m(),o)?c=T5(o):c=null;var v=c,f;v==null?lt(this,l,"short",r):f=v,t=f;break r}catch(p){if(p instanceof W())lt(this,l,"short",r);else throw p}}return t}e3p(r){return this.a40(r!=null&&typeof r=="string"?r:m())}b40(r){var t;r:{var n=this.v3z(r);if(!(n instanceof gr())){var a=Y(gr()).zd(),s=cr(n).zd(),_=this.t3z(r);throw xr(-1,"Expected "+a+", but had "+s+" as the serialized body of int at element: "+_,$(n))}var l=n;try{var o=Pe(l),c,h=ee(-2147483648,2147483647);la(L(h,oa())?h:m(),o)?c=za(o):c=null;var v=c,f;v==null?lt(this,l,"int",r):f=v,t=f;break r}catch(p){if(p instanceof W())lt(this,l,"int",r);else throw p}}return t}f3p(r){return this.b40(r!=null&&typeof r=="string"?r:m())}c40(r){var t;r:{var n=this.v3z(r);if(!(n instanceof gr())){var a=Y(gr()).zd(),s=cr(n).zd(),_=this.t3z(r);throw xr(-1,"Expected "+a+", but had "+s+" as the serialized body of long at element: "+_,$(n))}var l=n;try{var o=Pe(l),c;o==null?lt(this,l,"long",r):c=o,t=c;break r}catch(h){if(h instanceof W())lt(this,l,"long",r);else throw h}}return t}g3p(r){return this.c40(r!=null&&typeof r=="string"?r:m())}d40(r){var t;r:{var n=this.v3z(r);if(!(n instanceof gr())){var a=Y(gr()).zd(),s=cr(n).zd(),_=this.t3z(r);throw xr(-1,"Expected "+a+", but had "+s+" as the serialized body of float at element: "+_,$(n))}var l=n;try{var o=nT(l),c;o==null?lt(this,l,"float",r):c=o,t=c;break r}catch(f){if(f instanceof W())lt(this,l,"float",r);else throw f}}var h=t,v=this.v3t().q3r_1.o3t_1;if(v||v0(h))return h;throw jg(h,r,$(this.u3z()))}h3p(r){return this.d40(r!=null&&typeof r=="string"?r:m())}e40(r){var t;r:{var n=this.v3z(r);if(!(n instanceof gr())){var a=Y(gr()).zd(),s=cr(n).zd(),_=this.t3z(r);throw xr(-1,"Expected "+a+", but had "+s+" as the serialized body of double at element: "+_,$(n))}var l=n;try{var o=Oq(l),c;o==null?lt(this,l,"double",r):c=o,t=c;break r}catch(f){if(f instanceof W())lt(this,l,"double",r);else throw f}}var h=t,v=this.v3t().q3r_1.o3t_1;if(v||f0(h))return h;throw jg(h,r,$(this.u3z()))}i3p(r){return this.e40(r!=null&&typeof r=="string"?r:m())}f40(r){var t;r:{var n=this.v3z(r);if(!(n instanceof gr())){var a=Y(gr()).zd(),s=cr(n).zd(),_=this.t3z(r);throw xr(-1,"Expected "+a+", but had "+s+" as the serialized body of char at element: "+_,$(n))}var l=n;try{var o=new(J())(b$(l.e3u())),c;o==null?lt(this,l,"char",r):c=o,t=c.d2_1;break r}catch(h){if(h instanceof W())lt(this,l,"char",r);else throw h}}return t}j3p(r){return this.f40(r!=null&&typeof r=="string"?r:m())}g40(r){var t=this.v3z(r);if(!(t instanceof gr())){var n=Y(gr()).zd(),a=cr(t).zd(),s=this.t3z(r);throw xr(-1,"Expected "+n+", but had "+a+" as the serialized body of string at element: "+s,$(t))}var _=t;if(!(_ instanceof se()))throw xr(-1,"Expected string value for a non-null key '"+r+"', got null literal instead at element: "+this.t3z(r),$(this.u3z()));if(!_.h3u_1&&!this.v3t().q3r_1.g3t_1)throw xr(-1,"String literal for key '"+r+"' should be quoted at element: "+this.t3z(r)+`. -Use 'isLenient = true' in 'Json {}' builder to accept non-compliant JSON.`,$(this.u3z()));return _.j3u_1}k3p(r){return this.g40(r!=null&&typeof r=="string"?r:m())}h40(r,t){var n;if(_m(t)){var a=this.v3t(),s=this.v3z(r),_=t.h37();if(!(s instanceof gr())){var l=Y(gr()).zd(),o=cr(s).zd(),c=this.t3z(r);throw xr(-1,"Expected "+l+", but had "+o+" as the serialized body of "+_+" at element: "+c,$(s))}var h=Pq(a,s.e3u());n=new(Wq())(h,this.v3t())}else n=super.m3p(r,t);return n}m3p(r,t){return this.h40(r!=null&&typeof r=="string"?r:m(),t)}j3a(r){return this.x3o()!=null?super.j3a(r):new(Gq())(this.v3t(),this.v2(),this.r3z_1).j3a(r)}}d(e,"AbstractJsonTreeDecoder",u,u,[Xg(),rm()]),kc=e}return kc}function rw(e,i,r){return e.r40_1=!e.v3t().q3r_1.j3t_1&&!i.y38(r)&&i.x38(r).m38(),e.r40_1}var xc;function Wa(){if(xc===u){class e extends om(){constructor(r,t,n,a){n=n===u?null:n,a=a===u?null:a,super(r,t,n),this.o40_1=t,this.p40_1=a,this.q40_1=0,this.r40_1=!1}v2(){return this.o40_1}d3b(r){r:for(;this.q40_1i)}var Ec;function BT(){if(Ec===u){class e{}Ir(e,"SerializersModuleCollector"),Ec=e}return Ec}function RT(e,i,r){var t=i.q38(),n;if(t instanceof fn()?n=!0:n=A(t,u1()),n)throw W().u("Serializer for "+r.zd()+" can't be registered as a subclass for polymorphic serialization "+("because its kind "+t.toString()+" is not concrete. To work with multiple hierarchies, register it as a base class."));if(e.s3x_1)return z;if(!e.t3x_1)return z;var a,s;if(A(t,Ba())||A(t,Ra())?s=!0:s=t instanceof zt(),s?a=!0:a=t instanceof A0(),a)throw W().u("Serializer for "+r.zd()+" of kind "+t.toString()+" cannot be serialized polymorphically with class discriminator.")}function OT(e,i,r){var t=0,n=i.s38();if(te.e36()}var Tc;function YT(){if(Tc===u){class e{constructor(r,t){this.w3g_1=t,this.x3g_1=null;var n=this;n.y3g_1=Hs(()=>{var a=this.x3g_1;return a??HT(this,r)})}e36(){var r=this.y3g_1,t=le();return oe("descriptor",1,t,VT(),null),r.v2()}m3h(r,t){var n=$$(this.w3g_1,t);if(n===-1)throw Nr().q37($(t)+" is not a valid enum "+this.e36().h37()+", "+("must be one of "+E$(this.w3g_1)));r.s3b(this.e36(),n)}f36(r,t){return this.m3h(r,t instanceof Ot()?t:m())}g36(r){var t=r.i3a(this.e36());if(!(0<=t&&t<=(this.w3g_1.length-1|0)))throw Nr().q37(""+t+" is not among valid "+this.e36().h37()+" enum values, "+("values size is "+this.w3g_1.length));return this.w3g_1[t]}toString(){return"kotlinx.serialization.internal.EnumSerializer<"+this.e36().h37()+">"}}d(e,"EnumSerializer",u,u,[V()]),Tc=e}return Tc}function Yq(e){var i=e.a3i_1,r=le();return oe("elementDescriptors",1,r,ZT(),null),i.v2()}function ZT(){return e=>Yq(e)}var Dc;function XT(){if(Dc===u){class e extends Ur(){constructor(r,t){super(r,u,t),this.z3h_1=ze();var n=this;n.a3i_1=Hs(()=>{for(var a=0,s=t,_=Array(s);a>>1|0}while(a<32);throw J5().g38(t,r.h37())}var Fc;function QT(){if(Fc===u){class e{x3t(){var r=Y(vm()),t=[Y(Qt()),Y(re())],n=[Dd(),Pd()],a=[];return V0().k37("com.github.minigdx.tiny.sound.Modulation",r,t,n,a)}f3j(r){return this.x3t()}}ar(e,u,[f1()]),Fc=e}return Fc}var hm;function rD(){return hm}var Pc;function vm(){if(Pc===u){class e{}Ir(e,"Modulation",u,u,u,u,u,{0:rD}),Pc=e}return Pc}function tD(e){return e.p51_1*2-1}var Bc;function eD(){if(Bc===u){class e{}ar(e),Bc=e}return Bc}var Rc;function nD(){if(Rc===u){class e{constructor(){Td=this;var r=new(Ur())("com.github.minigdx.tiny.sound.Sweep",this,3);r.c3i("sweep",!1),r.c3i("acceleration",!1),r.c3i("active",!0),this.k5o_1=r}l5o(r,t){var n=this.k5o_1,a=r.m3a(n);a.z3b(n,0,t.o51_1),a.z3b(n,1,t.p51_1),(a.k3c(n,2)||t.q51_1!==!1)&&a.u3b(n,2,t.q51_1),a.n3a(n)}f36(r,t){return this.l5o(r,t instanceof Qt()?t:m())}g36(r){var t=this.k5o_1,n=!0,a=0,s=0,_=0,l=0,o=!1,c=r.m3a(t);if(c.c3b())_=c.t3a(t,0),s=s|1,l=c.t3a(t,1),s=s|2,o=c.o3a(t,2),s=s|4;else for(;n;)switch(a=c.d3b(t),a){case-1:n=!1;break;case 0:_=c.t3a(t,0),s=s|1;break;case 1:l=c.t3a(t,1),s=s|2;break;case 2:o=c.o3a(t,2),s=s|4;break;default:throw Zr().y37(a)}return c.n3a(t),Qt().m5o(s,_,l,o,null)}e36(){return this.k5o_1}r3i(){return[mt(),mt(),Mn()]}}F(e).s3i=Wr,B(e,"$serializer",u,u,[Hr()]),Rc=e}return Rc}var Td;function Dd(){return Td===u&&new(nD()),Td}var Oc;function Qt(){if(Oc===u){class e{constructor(r,t){this.o51_1=r,this.p51_1=t,this.q51_1=!1}n51(r){this.q51_1=r}m51(){return this.q51_1}j5o(r,t){return t+r*(this.o51_1*tD(this))}static m5o(r,t,n,a,s){(3&r)!==3&&Qr(r,3,Dd().k5o_1);var _=Or(this);return _.o51_1=t,_.p51_1=n,(r&4)===0?_.q51_1=!1:_.q51_1=a,_}}d(e,"Sweep",u,u,[vm()],u,u,{0:Dd}),Oc=e}return Oc}var Uc;function aD(){if(Uc===u){class e{}ar(e),Uc=e}return Uc}var Kc;function iD(){if(Kc===u){class e{constructor(){Fd=this;var r=new(Ur())("com.github.minigdx.tiny.sound.Vibrato",this,3);r.c3i("vibratoFrequency",!1),r.c3i("depth",!1),r.c3i("active",!0),this.n5o_1=r}o5o(r,t){var n=this.n5o_1,a=r.m3a(n);a.z3b(n,0,t.r51_1),a.z3b(n,1,t.s51_1),(a.k3c(n,2)||t.t51_1!==!1)&&a.u3b(n,2,t.t51_1),a.n3a(n)}f36(r,t){return this.o5o(r,t instanceof re()?t:m())}g36(r){var t=this.n5o_1,n=!0,a=0,s=0,_=0,l=0,o=!1,c=r.m3a(t);if(c.c3b())_=c.t3a(t,0),s=s|1,l=c.t3a(t,1),s=s|2,o=c.o3a(t,2),s=s|4;else for(;n;)switch(a=c.d3b(t),a){case-1:n=!1;break;case 0:_=c.t3a(t,0),s=s|1;break;case 1:l=c.t3a(t,1),s=s|2;break;case 2:o=c.o3a(t,2),s=s|4;break;default:throw Zr().y37(a)}return c.n3a(t),re().p5o(s,_,l,o,null)}e36(){return this.n5o_1}r3i(){return[mt(),mt(),Mn()]}}F(e).s3i=Wr,B(e,"$serializer",u,u,[Hr()]),Kc=e}return Kc}var Fd;function Pd(){return Fd===u&&new(iD()),Fd}var Gc;function re(){if(Gc===u){class e{constructor(r,t){this.r51_1=r,this.s51_1=t,this.t51_1=!1}n51(r){this.t51_1=r}m51(){return this.t51_1}j5o(r,t){var n=6.2831855*this.r51_1*r,a=Math.sin(n)*this.s51_1;return t+a}static p5o(r,t,n,a,s){(3&r)!==3&&Qr(r,3,Pd().n5o_1);var _=Or(this);return _.r51_1=t,_.s51_1=n,(r&4)===0?_.t51_1=!1:_.t51_1=a,_}}d(e,"Vibrato",u,u,[vm()],u,u,{0:Pd}),Gc=e}return Gc}hm=new(QT());new(eD());new(aD());var Zq,Xq,Qq,rI,tI,eI;function sD(){return[Es(),fm(),As(),on(),dm(),pm()]}function uD(e){switch(e){case"SAW_TOOTH":return Es();case"PULSE":return fm();case"TRIANGLE":return As();case"SINE":return on();case"NOISE":return dm();case"SQUARE":return pm();default:bn(),Uw("No enum constant com.github.minigdx.tiny.sound.Instrument.WaveType."+e);break}}var ew;function bn(){if(ew)return z;ew=!0,Zq=new(xn())("SAW_TOOTH",0),Xq=new(xn())("PULSE",1),Qq=new(xn())("TRIANGLE",2),rI=new(xn())("SINE",3),tI=new(xn())("NOISE",4),eI=new(xn())("SQUARE",5)}function _D(){return cm("com.github.minigdx.tiny.sound.Instrument.WaveType",sD())}function lD(){return new(yr())(hm.x3t())}var Jc;function xn(){if(Jc===u){class e extends Ot(){}d(e,"WaveType"),Jc=e}return Jc}var Wc;function oD(){if(Wc===u){class e{constructor(){Bd=this;var r=this,t=ur(),n=_r(t,_D),a=ur();r.y5o_1=[null,null,n,null,null,null,null,null,_r(a,lD)],this.z5o_1=7,this.a5p_1=6.2831855}}ar(e),Wc=e}return Wc}var Bd;function fa(){return Bd===u&&new(oD()),Bd}var Hc;function cD(){if(Hc===u){class e{constructor(){Rd=this;var r=new(Ur())("com.github.minigdx.tiny.sound.Instrument",this,9);r.c3i("index",!1),r.c3i("name",!0),r.c3i("wave",!0),r.c3i("attack",!0),r.c3i("decay",!0),r.c3i("sustain",!0),r.c3i("release",!0),r.c3i("harmonics",!0),r.c3i("modulations",!0),this.b5p_1=r}c5p(r,t){var n=this.b5p_1,a=r.m3a(n),s=fa().y5o_1;a.x3b(n,0,t.s4t_1),(a.k3c(n,1)||t.t4t_1!=="Instrument "+t.s4t_1)&&a.g3c(n,1,zr(),t.t4t_1),(a.k3c(n,2)||!t.u4t_1.equals(on()))&&a.e3c(n,2,s[2].v2(),t.u4t_1),(a.k3c(n,3)||!A(t.v4t_1,0))&&a.z3b(n,3,t.v4t_1),(a.k3c(n,4)||!A(t.w4t_1,0))&&a.z3b(n,4,t.w4t_1),(a.k3c(n,5)||!A(t.x4t_1,0))&&a.z3b(n,5,t.x4t_1),(a.k3c(n,6)||!A(t.y4t_1,0))&&a.z3b(n,6,t.y4t_1),(a.k3c(n,7)||!A(t.z4t_1,new Float32Array(7)))&&a.e3c(n,7,sa(),t.z4t_1),(a.k3c(n,8)||!A(t.a4u_1,Rr([new(Qt())(qa().e4r_1,1),new(re())(0,0)])))&&a.e3c(n,8,s[8].v2(),t.a4u_1),a.n3a(n)}f36(r,t){return this.c5p(r,t instanceof At()?t:m())}g36(r){var t=this.b5p_1,n=!0,a=0,s=0,_=0,l=null,o=null,c=0,h=0,v=0,f=0,p=null,w=null,b=r.m3a(t),g=fa().y5o_1;if(b.c3b())_=b.r3a(t,0),s=s|1,l=b.a3b(t,1,zr(),l),s=s|2,o=b.y3a(t,2,g[2].v2(),o),s=s|4,c=b.t3a(t,3),s=s|8,h=b.t3a(t,4),s=s|16,v=b.t3a(t,5),s=s|32,f=b.t3a(t,6),s=s|64,p=b.y3a(t,7,sa(),p),s=s|128,w=b.y3a(t,8,g[8].v2(),w),s=s|256;else for(;n;)switch(a=b.d3b(t),a){case-1:n=!1;break;case 0:_=b.r3a(t,0),s=s|1;break;case 1:l=b.a3b(t,1,zr(),l),s=s|2;break;case 2:o=b.y3a(t,2,g[2].v2(),o),s=s|4;break;case 3:c=b.t3a(t,3),s=s|8;break;case 4:h=b.t3a(t,4),s=s|16;break;case 5:v=b.t3a(t,5),s=s|32;break;case 6:f=b.t3a(t,6),s=s|64;break;case 7:p=b.y3a(t,7,sa(),p),s=s|128;break;case 8:w=b.y3a(t,8,g[8].v2(),w),s=s|256;break;default:throw Zr().y37(a)}return b.n3a(t),At().d5p(s,_,l,o,c,h,v,f,p,w,null)}e36(){return this.b5p_1}r3i(){var r=fa().y5o_1;return[K(),qr(zr()),r[2].v2(),mt(),mt(),mt(),mt(),sa(),r[8].v2()]}}F(e).s3i=Wr,B(e,"$serializer",u,u,[Hr()]),Hc=e}return Hc}var Rd;function Od(){return Rd===u&&new(cD()),Rd}function Es(){return bn(),Zq}function fm(){return bn(),Xq}function As(){return bn(),Qq}function on(){return bn(),rI}function dm(){return bn(),tI}function pm(){return bn(),eI}var Vc;function At(){if(Vc===u){class e{constructor(r,t,n,a,s,_,l,o,c){fa(),t=t===u?"Instrument "+r:t,n=n===u?on():n,a=a===u?0:a,s=s===u?0:s,_=_===u?0:_,l=l===u?0:l,o=o===u?new Float32Array(7):o,c=c===u?Rr([new(Qt())(qa().e4r_1,1),new(re())(0,0)]):c,this.s4t_1=r,this.t4t_1=t,this.u4t_1=n,this.v4t_1=a,this.w4t_1=s,this.x4t_1=_,this.y4t_1=l,this.z4t_1=o,this.a4u_1=c,this.b4u_1=0,this.c4u_1=0,this.d4u_1=0}e5p(r,t){for(var n=this.a4u_1,a=j().p1(),s=n.e1();s.f1();){var _=s.g1();_.m51()&&a.c1(_)}for(var l=r,o=a.e1();o.f1();){var c=o.g1(),h=l;l=c.j5o(t,h)}var v=l,f;switch(this.u4t_1.f3_1){case 2:var p=6.2831855*v*t,w=Math.sin(p),b=(w+1)%1;return b<.5?4*b-1:3-4*b;case 3:var g=6.2831855*v*t;f=Math.sin(g);break;case 5:var C=6.2831855*v*t,S=Math.sin(C),k;return S>0?k=1:k=-1,k;case 1:var E=6.2831855*v*t,D=Math.sin(E),P=D%1,O=2*(D/128%1)-1,H=Math.abs(O),G=(P+.5*H)%1,X=4*G-2,Q=Math.abs(X),rr=8*P-4,er=Q-Math.abs(rr);return er/6;case 0:var ir=6.2831855*v*t,hr=Math.sin(ir);return hr*2-1;case 4:var or;if(this.c4u_1===v)or=this.d4u_1;else{var pr=Math.max(1,v),Dr=6.2831855*pr/44100,Sr=-Dr,Br=Math.exp(Sr);this.d4u_1=1-Br,this.c4u_1=v,or=this.d4u_1}var Vr=or,Kr=en().bl()*2-1,$r=Vr*Kr+(1-Vr)*this.b4u_1;return this.b4u_1=$r,$r;default:wt();break}return f}static d5p(r,t,n,a,s,_,l,o,c,h,v){fa(),(1&r)!==1&&Qr(r,1,Od().b5p_1);var f=Or(this);return f.s4t_1=t,(r&2)===0?f.t4t_1="Instrument "+f.s4t_1:f.t4t_1=n,(r&4)===0?f.u4t_1=on():f.u4t_1=a,(r&8)===0?f.v4t_1=0:f.v4t_1=s,(r&16)===0?f.w4t_1=0:f.w4t_1=_,(r&32)===0?f.x4t_1=0:f.x4t_1=l,(r&64)===0?f.y4t_1=0:f.y4t_1=o,(r&128)===0?f.z4t_1=new Float32Array(7):f.z4t_1=c,(r&256)===0?f.a4u_1=Rr([new(Qt())(qa().e4r_1,1),new(re())(0,0)]):f.a4u_1=h,f.b4u_1=0,f.c4u_1=0,f.d4u_1=0,f}}d(e,"Instrument",u,u,u,u,u,{0:Od}),Vc=e}return Vc}function hD(){return ce(),nI}var nI;function vD(){return ce(),aI}var aI;function fD(){return ce(),iI}var iI;function dD(){return ce(),sI}var sI;function pD(e,i){ce();var r;if(i)r=vD().k38(e);else{var t=hD().k38(e),n;t==null?n=null:n=L(t,V())?t:m(),r=n}return r}function mD(e,i,r){ce();var t;if(r)t=dD().l38(e,i);else{var n=fD().l38(e,i);t=new(sg())(n)instanceof sg()?n:m()}return t}function gD(e){ce();var i=mm(e),r;return i==null?r=va(e)?xs().k36(e):null:r=i,r}function wD(e){ce();var i=mm(e),r;i==null?r=va(e)?xs().k36(e):null:r=i;var t=r,n=t==null?null:qr(t),a;return n==null?a=null:a=L(n,V())?n:m(),a}function bD(e,i){ce();var r=tr(gm(Un(),i));return wm(e,r,()=>i.l1(0).ke())}function yD(e,i){ce();var r=tr(gm(Un(),i)),t=wm(e,r,()=>i.l1(0).ke()),n=t==null?null:qr(t),a;return n==null?a=null:a=L(n,V())?n:m(),a}var nw;function ce(){nw||(nw=!0,nI=Bg(gD),aI=Bg(wD),iI=Rg(bD),sI=Rg(yD))}function mm(e){var i=Y9(e);return i??vN(e)}function gm(e,i,r){var t;{for(var n=j().d1(Cr(i,10)),a=i.e1();a.f1();){var s=a.g1(),_=js(e,s);n.c1(_)}t=n}var l=t;return l}function wm(e,i,r){var t=kD(e,i,r);return t??xD(e,i)}function js(e,i){var r=CD(e,i),t;return r==null?Z9(OS(i)):t=r,t}function kD(e,i,r){var t;if(e.equals(Y(Li()))||e.equals(Y(Zs()))||e.equals(Y(Rw()))||e.equals(Y(j())))t=new(yr())(i.l1(0));else if(e.equals(Y(Wt())))t=new(WN())(i.l1(0));else if(e.equals(Y(o0()))||e.equals(Y(N$()))||e.equals(Y(bt())))t=new(HN())(i.l1(0));else if(e.equals(Y(me())))t=new(VN())(i.l1(0),i.l1(1));else if(e.equals(Y(kt()))||e.equals(Y(j5()))||e.equals(Y(jr())))t=new(fq())(i.l1(0),i.l1(1));else if(e.equals(Y(Pi())))t=KL(i.l1(0),i.l1(1));else if(e.equals(Y(N5())))t=GL(i.l1(0),i.l1(1));else if(e.equals(Y(Qs())))t=JL(i.l1(0),i.l1(1),i.l1(2));else{var n;if(X9(e)){var a=r();n=WL(a!=null&&L(a,De())?a:m(),i.l1(0))}else n=null;t=n}return t}function xD(e,i){var r=ut(i);return nq(e,r.slice())}function CD(e,i,r){for(var t=OS(i),n=i.me(),a=i.le(),s=j().d1(Cr(a,10)),_=a.e1();_.f1();){var l=_.g1(),o=g9(l);s.c1(o)}var c=s,h;if(c.m1()){var v;va(t)&&e.i38(t)!=null?v=null:v=pD(t,n),h=v}else{var f;if(e.h38())f=null;else{var p=mD(t,c,n),w;if(A$(p))w=null;else{var b=j$(p);w=b==null||b!=null?b:m()}f=w}h=f}var g=h;if(g!=null)return g;var C;if(c.m1()){var S=mm(t),k=S??e.i38(t),E;k==null?E=va(t)?xs().k36(t):null:E=k,C=E}else{var D=gm(e,c),P;if(D==null)return null;P=D;var O=P,H=wm(t,O,()=>c.l1(0).ke()),G=H??e.j38(t,O),X;G==null?X=va(t)?xs().k36(t):null:X=G,C=X}var Q=C,rr;Q==null?rr=null:rr=L(Q,V())?Q:m();var er=rr;return er==null?null:zD(er,n)}function zD(e,i){return i?qr(e):L(e,V())?e:m()}var Yc;function SD(){if(Yc===u){class e{constructor(r){this.z5q_1=new Float32Array(r),this.a5r_1=0}l1(r){return this.z5q_1[r]}b5r(r,t,n){var a=r.length,s=Math.min(a,n),_=this.z5q_1,l=r;lb(l,_,0,t,s),this.a5r_1=s-t|0}}d(e,"FloatData"),Yc=e}return Yc}var Zc;function qD(){if(Zc===u){class e{constructor(r){this.v5q_1=r,this.w5q_1=0,this.x5q_1=new(SD())(this.v5q_1.length)}y5q(r){this.x5q_1.b5r(this.v5q_1,this.w5q_1,this.w5q_1+r|0);var t=this,n=this.w5q_1+r|0,a=this.v5q_1.length;return t.w5q_1=Math.min(n,a),this.x5q_1.a5r_1===0&&(this.w5q_1=0),this.x5q_1}}d(e,"BufferedChunkGenerator"),Zc=e}return Zc}var Xc;function ID(){if(Xc===u){class e{constructor(r,t){this.u5t_1=r,this.v5t_1=t,this.w5t_1=null}k4w(){this.w5t_1=this.v5t_1.x5t(this.u5t_1)}l4w(){this.w5t_1=this.v5t_1.y5t(this.u5t_1,!0)}j4w(){var r=this.w5t_1;r?.stop(),this.v5t_1.j5r(this)}}d(e,"WebSoundHandler"),Xc=e}return Xc}function*$D(e,i,r){var t=e.z5t_1.a5u().audioWorklet,n=_j(),a=t.addModule(n),s=vj(a,r);s===R()&&(s=yield s);var _=e.z5t_1,l=e.z5t_1.a5u(),o="SynthesizerProcessor";_.r5t_1=new AudioWorkletNode(l,o);var c=e.z5t_1.a5u().destination;return Ud(e.z5t_1).connect(c),e.z5t_1.o5t_1=!0,z}function Ud(e){var i=e.r5t_1;if(i!=null)return i;st("audioWorkletNode")}function aw(e){e.p5t_1=e.a5u().currentTime,b0(e.s5t_1,u,u,ND(e))}function ED(e,i){var r=i.f3_1+12|0,t=(r-69|0)/12;return 440*Math.pow(2,t)}var Qc;function AD(){if(Qc===u){class e{constructor(){this.b5u_1=8}}ar(e),Qc=e}return Qc}var rh;function jD(){if(rh===u){class e{constructor(r){this.z5t_1=r}b1b(r,t){return nr($D.bind(u,this,r),t)}lc(r,t){return this.b1b(r!=null&&L(r,y0())?r:m(),t)}}at(e,u,u,[1]),rh=e}return rh}function ND(e){var i=new(jD())(e),r=(t,n)=>i.b1b(t,n);return r.$arity=1,r}var th;function uI(){if(th===u){class e extends wj(){constructor(){super(),this.o5t_1=!1,this.p5t_1=0,this.q5t_1=new(yj())(8),this.s5t_1=w0(P5().q14())}a5u(){var r=this.n5t_1;if(r!=null)return r;st("audioContext")}t5t(r){this.n5t_1=new AudioContext;var t=this.a5u();t.onstatechange=()=>{var a=this.a5u().state;return A(a,"running")?this.o5t_1=!0:this.a5u().resume(),z};var n=this.a5u().state;A(n,"running")?aw(this):r.r4d(()=>(this.a5u().resume(),aw(this),z))}r4w(r,t){if(!this.o5t_1)return z;var n=new(Nj())(t);this.q5t_1.m5r(n),n.t5p(r);var a=ED(this,r),s=Be(),_=s.b3b(),l=js(_,D5(Y(At()),F5([]),!1)),o=L(l,V())?l:m(),c=s.t3r(o,t);Ud(this).port.postMessage(ug([T("type","noteOn"),T("note",r.f3_1),T("frequency",a),T("instrument",c)]))}q4w(r){if(!this.o5t_1)return z;for(var t=this.q5t_1.e1();t.f1();){var n=t.g1();n.q4w(r)}Ud(this).port.postMessage(ug([T("type","noteOff"),T("note",r.f3_1)]))}y5t(r,t){if(!this.o5t_1)throw vr().r3("AudioContext is not ready");for(var n=j().p1(),a=2205,s=!0;s;){var _=r.y5q(a);if(_.a5r_1===0)s=!1;else{var l=0,o=_.a5r_1;if(li&&n.c1(s)}return n}var sh;function FD(){if(sh===u){class e{constructor(){Jd=this;var r=this,t=ur();r.e5q_1=[null,null,null,_r(t,DD)]}}ar(e),sh=e}return sh}var Jd;function pa(){return Jd===u&&new(FD()),Jd}var uh;function PD(){if(uh===u){class e{constructor(){Wd=this;var r=new(Ur())("com.github.minigdx.tiny.sound.MusicalBar",this,4);r.c3i("index",!0),r.c3i("instrumentIndex",!0),r.c3i("tempo",!0),r.c3i("beats",!0),this.f5q_1=r}g5q(r,t){var n=this.f5q_1,a=r.m3a(n),s=pa().e5q_1;(a.k3c(n,0)||t.x4a_1!==1)&&a.x3b(n,0,t.x4a_1),(a.k3c(n,1)||t.z4a_1!==-1)&&a.x3b(n,1,t.z4a_1),(a.k3c(n,2)||t.a4b_1!==120)&&a.x3b(n,2,t.a4b_1);var _;if(a.k3c(n,3))_=!0;else{var l=j().p1();_=!A(t.b4b_1,l)}_&&a.e3c(n,3,s[3].v2(),t.b4b_1),a.n3a(n)}f36(r,t){return this.g5q(r,t instanceof cn()?t:m())}g36(r){var t=this.f5q_1,n=!0,a=0,s=0,_=0,l=0,o=0,c=null,h=r.m3a(t),v=pa().e5q_1;if(h.c3b())_=h.r3a(t,0),s=s|1,l=h.r3a(t,1),s=s|2,o=h.r3a(t,2),s=s|4,c=h.y3a(t,3,v[3].v2(),c),s=s|8;else for(;n;)switch(a=h.d3b(t),a){case-1:n=!1;break;case 0:_=h.r3a(t,0),s=s|1;break;case 1:l=h.r3a(t,1),s=s|2;break;case 2:o=h.r3a(t,2),s=s|4;break;case 3:c=h.y3a(t,3,v[3].v2(),c),s=s|8;break;default:throw Zr().y37(a)}return h.n3a(t),cn().h5q(s,_,l,o,c,null)}e36(){return this.f5q_1}r3i(){var r=pa().e5q_1;return[K(),K(),K(),r[3].v2()]}}F(e).s3i=Wr,B(e,"$serializer",u,u,[Hr()]),uh=e}return uh}var Wd;function Hd(){return Wd===u&&new(PD()),Wd}var _h;function cn(){if(_h===u){class e{constructor(r,t,n,a){pa(),r=r===u?1:r,t=t===u?null:t,n=n===u?-1:n,a=a===u?120:a,this.x4a_1=r,this.y4a_1=t,this.z4a_1=n,this.a4b_1=a;var s=this;s.b4b_1=j().p1()}e52(r,t,n,a){for(var s=ih(this,t,n),_=j().p1(),l=s.e1();l.f1();){var o=l.g1();(a||A(o.v51_1,r))&&_.c1(o)}var c=_,h=db(c),v=h==null?null:h.y51_1,f=v??1;this.b4b_1.c2(c),this.b4b_1.c1(new(Tn())(r,t,n,f))}z53(r,t,n,a,s){a=a===u?!1:a;var _;return s===u?(this.e52(r,t,n,a),_=z):_=s.e52.call(this,r,t,n,a),_}f52(r,t){for(var n=ih(this,t,.5),a=j().p1(),s=n.e1();s.f1();){var _=s.g1();A(_.v51_1,r)&&a.c1(_)}for(var l=j().p1(),o=a.e1();o.f1();){var c=o.g1(),h=c.w51_1;t<=c.w51_1+c.x51_1&&h<=t&&l.c1(c)}var v=l;this.b4b_1.c2(v)}d52(r,t){for(var n=ih(this,r,.5),a=n.e1();a.f1();){var s=a.g1();s.y51_1=t}}static h5q(r,t,n,a,s,_){pa(),(0&r)!==0&&Qr(r,0,Hd().f5q_1);var l=Or(this);if((r&1)===0?l.x4a_1=1:l.x4a_1=t,l.y4a_1=null,(r&2)===0?l.z4a_1=-1:l.z4a_1=n,(r&4)===0?l.a4b_1=120:l.a4b_1=a,(r&8)===0){var o=l;o.b4b_1=j().p1()}else l.b4b_1=s;return l}}d(e,"MusicalBar",cn,u,u,u,u,{0:Hd}),_h=e}return _h}function BD(){return new(yr())(Ns())}var lh;function RD(){if(lh===u){class e{constructor(){Vd=this;var r=this,t=ur();r.m5q_1=[null,null,null,_r(t,BD),null]}}ar(e),lh=e}return lh}var Vd;function ma(){return Vd===u&&new(RD()),Vd}var oh;function OD(){if(oh===u){class e{constructor(){Yd=this;var r=new(Ur())("com.github.minigdx.tiny.sound.MusicalSequence.Track",this,5);r.c3i("index",!0),r.c3i("instrumentIndex",!1),r.c3i("mute",!0),r.c3i("beats",!0),r.c3i("volume",!0),this.n5q_1=r}o5q(r,t){var n=this.n5q_1,a=r.m3a(n),s=ma().m5q_1;(a.k3c(n,0)||t.f4b_1!==0)&&a.x3b(n,0,t.f4b_1),a.x3b(n,1,t.g4b_1),(a.k3c(n,2)||t.h4b_1!==!1)&&a.u3b(n,2,t.h4b_1);var _;if(a.k3c(n,3))_=!0;else{var l=j().p1();_=!A(t.j4b_1,l)}_&&a.e3c(n,3,s[3].v2(),t.j4b_1),(a.k3c(n,4)||!A(t.k4b_1,1))&&a.z3b(n,4,t.k4b_1),a.n3a(n)}f36(r,t){return this.o5q(r,t instanceof Dn()?t:m())}g36(r){var t=this.n5q_1,n=!0,a=0,s=0,_=0,l=0,o=!1,c=null,h=0,v=r.m3a(t),f=ma().m5q_1;if(v.c3b())_=v.r3a(t,0),s=s|1,l=v.r3a(t,1),s=s|2,o=v.o3a(t,2),s=s|4,c=v.y3a(t,3,f[3].v2(),c),s=s|8,h=v.t3a(t,4),s=s|16;else for(;n;)switch(a=v.d3b(t),a){case-1:n=!1;break;case 0:_=v.r3a(t,0),s=s|1;break;case 1:l=v.r3a(t,1),s=s|2;break;case 2:o=v.o3a(t,2),s=s|4;break;case 3:c=v.y3a(t,3,f[3].v2(),c),s=s|8;break;case 4:h=v.t3a(t,4),s=s|16;break;default:throw Zr().y37(a)}return v.n3a(t),Dn().p5q(s,_,l,o,c,h,null)}e36(){return this.n5q_1}r3i(){var r=ma().m5q_1;return[K(),K(),Mn(),r[3].v2(),mt()]}}F(e).s3i=Wr,B(e,"$serializer",u,u,[Hr()]),oh=e}return oh}var Yd;function Zd(){return Yd===u&&new(OD()),Yd}function UD(){return new(Ja())(Y(Dn()),Zd())}var ch;function Dn(){if(ch===u){class e{constructor(r,t,n,a,s,_){ma(),r=r===u?0:r,n=n===u?!1:n,a=a===u?null:a;var l;s===u?l=j().p1():l=s,s=l,_=_===u?1:_,this.f4b_1=r,this.g4b_1=t,this.h4b_1=n,this.i4b_1=a,this.j4b_1=s,this.k4b_1=_;var o=ee(0,32),c=o.v1_1,h=o.w1_1;if(c<=h)do{var v=c;c=c+1|0;var f=v;this.j4b_1.c1(new(Tn())(null,f,1,1))}while(v!==h)}static p5q(r,t,n,a,s,_,l){ma(),(2&r)!==2&&Qr(r,2,Zd().n5q_1);var o=Or(this);if((r&1)===0?o.f4b_1=0:o.f4b_1=t,o.g4b_1=n,(r&4)===0?o.h4b_1=!1:o.h4b_1=a,o.i4b_1=null,(r&8)===0){var c=o;c.j4b_1=j().p1()}else o.j4b_1=s;(r&16)===0?o.k4b_1=1:o.k4b_1=_;var h=ee(0,32),v=h.v1_1,f=h.w1_1;if(v<=f)do{var p=v;v=v+1|0;var w=p;o.j4b_1.c1(new(Tn())(null,w,1,1))}while(p!==f);return o}}d(e,"Track",u,u,u,u,u,{0:Zd}),ch=e}return ch}var hh;function KD(){if(hh===u){class e{constructor(){Xd=this;var r=this,t=ur();r.q5q_1=[null,_r(t,UD),null]}}ar(e),hh=e}return hh}var Xd;function ga(){return Xd===u&&new(KD()),Xd}var vh;function GD(){if(vh===u){class e{constructor(){Qd=this;var r=new(Ur())("com.github.minigdx.tiny.sound.MusicalSequence",this,3);r.c3i("index",!1),r.c3i("tracks",!0),r.c3i("tempo",!0),this.r5q_1=r}s5q(r,t){var n=this.r5q_1,a=r.m3a(n),s=ga().q5q_1;a.x3b(n,0,t.c4b_1);var _;if(a.k3c(n,1))_=!0;else{for(var l=0,o=Array(4);l<4;){var c=l;o[c]=new(Dn())(c,0),l=l+1|0}_=!A(t.d4b_1,o)}_&&a.e3c(n,1,s[1].v2(),t.d4b_1),(a.k3c(n,2)||t.e4b_1!==120)&&a.x3b(n,2,t.e4b_1),a.n3a(n)}f36(r,t){return this.s5q(r,t instanceof Fn()?t:m())}g36(r){var t=this.r5q_1,n=!0,a=0,s=0,_=0,l=null,o=0,c=r.m3a(t),h=ga().q5q_1;if(c.c3b())_=c.r3a(t,0),s=s|1,l=c.y3a(t,1,h[1].v2(),l),s=s|2,o=c.r3a(t,2),s=s|4;else for(;n;)switch(a=c.d3b(t),a){case-1:n=!1;break;case 0:_=c.r3a(t,0),s=s|1;break;case 1:l=c.y3a(t,1,h[1].v2(),l),s=s|2;break;case 2:o=c.r3a(t,2),s=s|4;break;default:throw Zr().y37(a)}return c.n3a(t),Fn().t5q(s,_,l,o,null)}e36(){return this.r5q_1}r3i(){var r=ga().q5q_1;return[K(),r[1].v2(),K()]}}F(e).s3i=Wr,B(e,"$serializer",u,u,[Hr()]),vh=e}return vh}var Qd;function rp(){return Qd===u&&new(GD()),Qd}var fh;function Fn(){if(fh===u){class e{constructor(r,t,n){ga();var a;if(t===u){for(var s=0,_=Array(4);s<4;){var l=s;_[l]=new(Dn())(l,0),s=s+1|0}a=_}else a=t;t=a,n=n===u?120:n,this.c4b_1=r,this.d4b_1=t,this.e4b_1=n}static t5q(r,t,n,a,s){ga(),(1&r)!==1&&Qr(r,1,rp().r5q_1);var _=Or(this);if(_.c4b_1=t,(r&2)===0){for(var l=_,o=0,c=Array(4);o<4;){var h=o;c[h]=new(Dn())(h,0),o=o+1|0}l.d4b_1=c}else _.d4b_1=n;return(r&4)===0?_.e4b_1=120:_.e4b_1=a,_}}d(e,"MusicalSequence",u,u,u,u,u,{0:rp}),fh=e}return fh}function be(){return We(),_I}var _I;function tp(){return We(),lI}var lI;function ep(){return We(),oI}var oI;function np(){return We(),cI}var cI;function ap(){return We(),hI}var hI;function ip(){return We(),vI}var vI;function sp(){return We(),fI}var fI;function up(){return We(),dI}var dI;function JD(){return new(Ja())(Y(At()),qr(Od()))}function WD(){return new(Ja())(Y(cn()),Hd())}function HD(){return new(Ja())(Y(Fn()),rp())}function VD(e){return e.n3s_1=!0,z}var dh;function YD(){if(dh===u){class e{constructor(){_p=this;var r=this,t=ur(),n=_r(t,JD),a=ur(),s=_r(a,WD),_=ur();r.r4a_1=[n,s,_r(_,HD)];var l=this;l.s4a_1=Vq(u,VD)}a5q(r){var t=this.s4a_1,n=t.b3b(),a=js(n,D5(Y(hn()),F5([]),!1)),s=L(a,V())?a:m(),_=t.t3r(s,r);return _}t4a(r){var t=this.s4a_1,n=t.b3b(),a=js(n,D5(Y(hn()),F5([]),!1)),s=L(a,V())?a:m(),_=t.u3r(s,r);return _}}ar(e),dh=e}return dh}var _p;function un(){return _p===u&&new(YD()),_p}var ph;function ZD(){if(ph===u){class e{constructor(){lp=this;var r=new(Ur())("com.github.minigdx.tiny.sound.Music",this,3);r.c3i("instruments",!0),r.c3i("musicalBars",!0),r.c3i("sequences",!0),this.b5q_1=r}c5q(r,t){var n=this.b5q_1,a=r.m3a(n),s=un().r4a_1,_;if(a.k3c(n,0))_=!0;else{var l=t.u4a_1,o=[be(),tp(),ep(),np(),ap(),ip(),sp(),up(),null,null,null,null,null,null,null,null];_=!A(l,o)}_&&a.e3c(n,0,s[0].v2(),t.u4a_1);var c;if(a.k3c(n,1))c=!0;else{for(var h=0,v=Array(32);h<32;){var f=h;v[f]=new(cn())(f,be(),be().s4t_1),h=h+1|0}c=!A(t.v4a_1,v)}c&&a.e3c(n,1,s[1].v2(),t.v4a_1);var p;if(a.k3c(n,2))p=!0;else{for(var w=0,b=Array(8);w<8;){var g=w;b[g]=new(Fn())(g),w=w+1|0}p=!A(t.w4a_1,b)}p&&a.e3c(n,2,s[2].v2(),t.w4a_1),a.n3a(n)}f36(r,t){return this.c5q(r,t instanceof hn()?t:m())}g36(r){var t=this.b5q_1,n=!0,a=0,s=0,_=null,l=null,o=null,c=r.m3a(t),h=un().r4a_1;if(c.c3b())_=c.y3a(t,0,h[0].v2(),_),s=s|1,l=c.y3a(t,1,h[1].v2(),l),s=s|2,o=c.y3a(t,2,h[2].v2(),o),s=s|4;else for(;n;)switch(a=c.d3b(t),a){case-1:n=!1;break;case 0:_=c.y3a(t,0,h[0].v2(),_),s=s|1;break;case 1:l=c.y3a(t,1,h[1].v2(),l),s=s|2;break;case 2:o=c.y3a(t,2,h[2].v2(),o),s=s|4;break;default:throw Zr().y37(a)}return c.n3a(t),hn().d5q(s,_,l,o,null)}e36(){return this.b5q_1}r3i(){var r=un().r4a_1;return[r[0].v2(),r[1].v2(),r[2].v2()]}}F(e).s3i=Wr,B(e,"$serializer",u,u,[Hr()]),ph=e}return ph}var lp;function iw(){return lp===u&&new(ZD()),lp}var mh;function hn(){if(mh===u){class e{constructor(r,t,n){un();var a;r===u?a=[be(),tp(),ep(),np(),ap(),ip(),sp(),up(),null,null,null,null,null,null,null,null]:a=r,r=a;var s;if(t===u){for(var _=0,l=Array(32);_<32;){var o=_;l[o]=new(cn())(o,be(),be().s4t_1),_=_+1|0}s=l}else s=t;t=s;var c;if(n===u){for(var h=0,v=Array(8);h<8;){var f=h;v[f]=new(Fn())(f),h=h+1|0}c=v}else c=n;n=c,this.u4a_1=r,this.v4a_1=t,this.w4a_1=n}a4t(){return un().a5q(this)}static d5q(r,t,n,a,s){un(),(0&r)!==0&&Qr(r,0,iw().b5q_1);var _=Or(this);if((r&1)===0){var l=_;l.u4a_1=[be(),tp(),ep(),np(),ap(),ip(),sp(),up(),null,null,null,null,null,null,null,null]}else _.u4a_1=t;if((r&2)===0){for(var o=_,c=0,h=Array(32);c<32;){var v=c;h[v]=new(cn())(v,be(),be().s4t_1),c=c+1|0}o.v4a_1=h}else _.v4a_1=n;if((r&4)===0){for(var f=_,p=0,w=Array(8);p<8;){var b=p;w[b]=new(Fn())(b),p=p+1|0}f.w4a_1=w}else _.w4a_1=a;return _}}d(e,"Music",hn,u,u,u,u,{0:iw}),mh=e}return mh}var sw;function We(){if(!sw){sw=!0;var e=As(),i=new Float32Array([1.1,.3,.031,.039,.345,.29,.0119]);_I=new(At())(0,"clarinet",e,.01,.1,.8,.5,i);var r=on(),t=new Float32Array([1,.65,.7,.55,.45,.35,.3]);lI=new(At())(1,"violon",r,.1,.1,.9,.05,t);var n=Es(),a=new Float32Array([1,.05,.01]);oI=new(At())(2,"obos",n,.1,.1,.9,.05,a);var s=dm(),_=new Float32Array([1]);cI=new(At())(3,"drum",s,.1,.1,.9,.05,_);var l=fm(),o=new Float32Array([1,.05,.01]);hI=new(At())(4,"custom1",l,.1,.1,.9,.05,o);var c=Es(),h=new Float32Array([1,.05,.01]);vI=new(At())(5,"custom2",c,.1,.1,.9,.05,h);var v=As(),f=new Float32Array([1,.05,.01]);fI=new(At())(6,"custom3",v,.1,.1,.9,.05,f);var p=pm(),w=new Float32Array([1,.05,.01]);dI=new(At())(7,"custom4",p,.1,.1,.9,.05,w)}}var gh;function XD(){if(gh===u){class e{constructor(){op=this,this.r49_1=new(cp())("default",new(hn()),_t());var r=this,t=new(hn());t.v4a_1[0].z53(I0(),0,.5),t.v4a_1[0].z53($0(),1,.5),r.s49_1=new(cp())("default",t,_t())}}ar(e),gh=e}return gh}var op;function pI(){return op===u&&new(XD()),op}var wh;function cp(){if(wh===u){class e{constructor(r,t,n,a){pI(),a=a===u?_t():a,this.q4s_1=r,this.r4s_1=t,this.s4s_1=n,this.t4s_1=a}}d(e,"SoundData"),wh=e}return wh}function*QD(e,i){var r=e.q4a_1.j4a(i);r===R()&&(r=yield r);for(var t=r,n=un().t4a(Vt(t)),a=n,s=0,_=Array(16);s<16;){var l=s,o;0<=l&&lr.b1b(n,a);return t.$arity=1,t}var kh;function aF(){if(kh===u){class e{constructor(r,t,n,a){this.e5t_1=r,this.f5t_1=t,this.g5t_1=n,this.h5t_1=a,this.i5t_1=new(Sb()),this.j5t_1=new(HA())(this.e5t_1,this.f5t_1),this.k5t_1=0,this.l5t_1=w0(P5().q14())}r46(){return this.i5t_1}t46(){return new(VA())(this.e5t_1.clientWidth,this.e5t_1.clientHeight,this.e5t_1.clientWidth,this.e5t_1.clientHeight)}x46(r){var t=this.e5t_1.getContext("webgl2"),n=t instanceof WebGL2RenderingContext?t:null,a;if(n==null)throw vr().r3("The canvas context is expected to be a webgl2 context. WebGL2 doesn't seems to be supported by your browser. Please update to a compatible browser to run the game in WebGL2.");a=n;var s=a;return new(YA())(s)}z46(r){var t=window;t.requestAnimationFrame(n=>{var a=n*.001,s=a-this.k5t_1;return this.k5t_1=a,b0(this.l5t_1,u,u,nF(r,s)),r.b47(),this.z46(r),z})}u46(){return this.j5t_1}v46(){return this.j5t_1}w49(){return P5().m14_1}u53(r,t){return new(XA())(this.h5t_1+"/"+r)}w53(r,t){return new(uj())(this.h5t_1+"/"+r)}w46(r){var t=new(uI());return t.t5t(r),t}y53(r,t){return new(rF())(r,t,this.v53(r))}i4h(r,t){localStorage.setItem(this.g5t_1+"-"+r,t)}n4h(r){return localStorage.getItem(this.g5t_1+"-"+r)}b4t(r,t){return z}g52(r){return z}}F(e).v53=tj,F(e).x53=ej,F(e).e45=QA,F(e).l45=rj,d(e,"WebGlPlatform",u,u,[nj()]),kh=e}return kh}function*iF(e,i,r){var t=e.g4a_1.i4a(r);if(t===R()&&(t=yield t),t){var n=e.g4a_1.j4a(r);n===R()&&(n=yield n);var a=i.l1a(n,r);a===R()&&(a=yield a);var s=vg(e.h4a_1.k4a_1,r);s===R()&&(s=yield s)}for(;;){if(e.g4a_1.l4a()){var _=e.g4a_1.j4a(r);_===R()&&(_=yield _);var l=i.l1a(_,r);l===R()&&(l=yield l)}var o=vg(e.h4a_1.k4a_1,r);o===R()&&(o=yield o)}return z}var xh;function sF(){if(xh===u){class e{constructor(r,t){this.g4a_1=r,this.h4a_1=t}m4a(r,t){return nr(iF.bind(u,this,r),t)}lc(r,t){return this.m4a(r!=null&&L(r,ae())?r:m(),t)}}at(e,u,u,[1]),xh=e}return xh}function uF(e,i){var r=new(sF())(e,i),t=(n,a)=>r.m4a(n,a);return t.$arity=1,t}var Ch;function mI(){if(Ch===u){class e{constructor(){var r=this;a0(),r.k4a_1=L$(1,M$())}n4a(r){return u8(uF(r,this))}}d(e,"CommonVirtualFileSystem",mI,u,u,[2]),Ch=e}return Ch}var zh;function bm(){if(zh===u){class e extends r1(){static f4a(r,t,n,a,s){var _=this.vc(a,s);Ke(_,_.z45_1),_.v45_1=r,_.w45_1=t,_.x45_1=n;var l=_,o=Da(p0(_.x45_1,[` -`]),_.w45_1-1|0),c;o==null?c=null:c=$(T$(D$(o)?o:m()));var h=c;return l.y45_1=h??"",_}}d(e,"TinyException"),zh=e}return zh}function _F(e){var i=e.s1u_1,r;if(i==null)r=null;else{var t=pb(i,x(58)),n=tn(P$(i,t+1|0)),a;Sa(i,"@")?a="into the file "+i:a=mb(i).l1(n-1|0);var s=a;r=T(n,s)}return r}function lF(e){var i=_F(e);return i==null?null:i.ud_1}function oF(e){var i=e.message,r;if(i==null)return null;r=i;var t=r,n="\\[[\\s\\S]*]:(\\d+):.*",a=F$().jg(n),s=a.kg(t),_=s==null?null:s.ch(),l=_==null?null:_.l1(1);return l==null?null:Ys(l)}function b1(e,i){var r=e.t1u_1,t;e.t1u_1!==-1?t=r:t=null;var n=t,a=n??lF(e),s=a??oF(e),_=s??-1,l=e.u1u_1,o=e.message;return bm().f4a(l,_,i,o,e)}function uw(e,i){var r=0,t=i.length;if(r 0; -} - -void main() { - if(!dither(u_dither, int(v_pos.x), int(v_pos.y))) { - discard; - } - // Read the index color from the current texture. - int pixel = readPixel(v_uvs); - // Read the RGBA color from the index color. - vec4 color = readColor(pixel); - if(color.a <= 0.1) { - discard; - } else { - fragColor = color; - } -}`}}ar(e),cv=e}return cv}var Am,hv;function $F(){if(hv===u){class e{constructor(r,t,n){this.q55_1=t,this.r55_1=n,this.s55_1=new(Em())(r,new(SI()),new(qI()))}r56(){this.s55_1.e5c()}c47(r){this.s55_1.f5c(),this.s55_1.u5c((t,n)=>{for(var a=r.e1();a.f1();){var s=a.g1();s.a49_1==null&&(s.a49_1=this.s55_1.jt()),n.g5g_1.l5g(s.x48_1.h4d_1,s.y48_1,s.z48_1,s.a49_1)}return z})}t55(){this.s55_1.f5c(),this.s55_1.vs(3089)}u55(r,t){var n=tr(r.c57_1),a=n.o4b_1,s=this.q55_1.f47_1-n.r4b_1|0,_=n.s4b_1,l=n.t4b_1;this.s55_1.tt(a,s,_,l);var o=r.b57_1,c=new Int8Array(262144),h=0,v=0;if(v<256)do{var f=v;v=v+1|0;var p=o[f%o.length|0],w=this.q55_1.r47().h4c(p),b=h;h=b+1|0,c[b]=w[0];var g=h;h=g+1|0,c[g]=w[1];var C=h;h=C+1|0,c[C]=w[2];var S=h;h=S+1|0,c[S]=w[3]}while(v<256);this.s55_1.f5c(),this.s55_1.u5c((k,E)=>{k.u5f_1.n5f(t.s59_1),k.x5f_1.m5c(t.t59_1),k.v5f_1.l5f(new Float32Array([this.q55_1.e47_1,this.q55_1.f47_1*-1])),k.w5f_1.l5f(new Float32Array([r.f5a().y48_1,r.f5a().z48_1])),E.f5g_1.i5f(c,256,256),E.h5g_1.o5g(new Int32Array([r.a57_1]));var D=r.f5a().a49_1;r:if(D==null){var P="Texture unit should be already initialized!";throw vr().r3($(P))}else break r;return E.g5g_1.t5c(D),z}),this.s55_1.v5c(),this.s55_1.qt(4,0,t.r59_1),this.r55_1.v54(t.r59_1),this.s55_1.w5c()}d56(){this.s55_1.ws(3089)}}d(e,"SpriteBatchStage"),hv=e}return hv}Am=new(IF());var vv;function II(){if(vv===u){class e extends Im(){constructor(){super(jm.a5d_1),this.g5d_1=this.d5b("a_shapeType").h5e(),this.h5d_1=this.d5b("a_shapeColor").h5e(),this.i5d_1=this.d5b("a_shapeFilled").h5e(),this.j5d_1=this.d5b("a_dither").h5e(),this.k5d_1=this.b5b("a_shapePosition").o5e(),this.l5d_1=this.t5a("a_shapeSize").p5e(),this.m5d_1=this.t5a("a_shapeParams12").p5e(),this.n5d_1=this.t5a("a_shapeParams34").p5e(),this.o5d_1=this.t5a("a_shapeParams56").p5e(),this.p5d_1=this.t5a("a_pos"),this.q5d_1=this.q5e("u_viewport"),this.r5d_1=this.u5a("v_fragPos"),this.s5d_1=this.r5e("v_dither",!0),this.t5d_1=this.e5b("v_shapePosition",!0),this.u5d_1=this.e5b("v_shapeSize",!0),this.v5d_1=this.r5e("v_shapeType",!0),this.w5d_1=this.r5e("v_shapeColor",!0),this.x5d_1=this.r5e("v_shapeFilled",!0),this.y5d_1=this.e5b("v_shapeParams12",!0),this.z5d_1=this.e5b("v_shapeParams34",!0),this.a5e_1=this.e5b("v_shapeParams56",!0)}}d(e,"VShader",II),vv=e}return vv}var fv;function $I(){if(fv===u){class e extends $m(){constructor(){super(jm.b5d_1),this.x5e_1=this.i5b("palette_colors"),this.y5e_1=this.t5a("v_fragPos"),this.z5e_1=this.c5b("v_dither",!0),this.a5f_1=this.z5a("v_shapePosition",!0),this.b5f_1=this.z5a("v_shapeSize",!0),this.c5f_1=this.c5b("v_shapeType",!0),this.d5f_1=this.c5b("v_shapeColor",!0),this.e5f_1=this.c5b("v_shapeFilled",!0),this.f5f_1=this.z5a("v_shapeParams12",!0),this.g5f_1=this.z5a("v_shapeParams34",!0),this.h5f_1=this.z5a("v_shapeParams56",!0)}}d(e,"FShader",$I),fv=e}return fv}var dv;function EF(){if(dv===u){class e{constructor(){this.a5d_1=`void main() { - // Scale the rectangle (mutiply by the size) then translate (add the offset) - vec2 vertex_pos = ((a_pos * a_shapeSize) + vec2(a_shapePosition.x, a_shapePosition.y)); - // Convert the pixel coordinates into NDC coordinates - vec2 ndc_pos = vertex_pos / u_viewport; - // Move the origin to the left/up corner - vec2 origin_pos = vec2(-1.0, 1.0) + ndc_pos * 2.0; - - gl_Position = vec4(origin_pos, a_shapePosition.z, 1.0); - - v_fragPos = vertex_pos; - v_dither = a_dither; - v_shapeType = a_shapeType; - v_shapeSize = a_shapeSize; - v_shapePosition = vec2(a_shapePosition.x, a_shapePosition.y); - v_shapeColor = a_shapeColor; - v_shapeFilled = a_shapeFilled; - v_shapeParams12 = a_shapeParams12; - v_shapeParams34 = a_shapeParams34; - v_shapeParams56 = a_shapeParams56; -}`,this.b5d_1=`#define T_RECT 0 -#define T_TRIANGLE 1 -#define T_CIRCLE 2 -#define T_LINE 3 -#define T_POINT 4 - -int imod(int value, int limit) { - return value - limit * (value / limit); -} - -vec4 readData(sampler2D txt, int index, int textureWidth, int textureHeight) { - int x = imod(index, textureWidth); - int y = index / textureWidth; - vec2 uv = vec2((float(x) + 0.5) / float(textureWidth), (float(y) + 0.5) / float(textureHeight)); - return texture(txt, uv); -} - -vec4 readColor(int index) { - int icolor = imod(index, 256); - return readData(palette_colors, icolor, 255, 255); -} - -float sdfRectangle(vec2 fragCoord, vec2 position, vec2 size) { - // Position of the center of the rectangle - vec2 center = position + size * 0.5; - // Position of the frag regarding the center - vec2 pos = abs(fragCoord - center); - // Distance from the edge to the pos. - vec2 d = pos - (size * 0.5); - - // > 1.0 is outside the rectangle. - // < 1.0 is inside the rectangle. - // 0 = is on the rectangle. - return max(d.x, d.y); -} - -float sdfLine(vec2 fragCoord, vec2 startLine, vec2 endLine) { - vec2 p = fragCoord; - - // Position of the start of the line in pixel - vec2 p0 = startLine; - // Position of the end of the line in pixel - vec2 p1 = endLine; - - // The frag is outsine the line on the horizontal side - if (int(fragCoord.x) < int(startLine.x) || int(fragCoord.x) > int(endLine.x)) { - return 2.0; - } - - // The frag is outside the line on the vertical side - if(int(fragCoord.y) > int((max(startLine.y, endLine.y))) || int(fragCoord.y) < int((min(startLine.y, endLine.y)))) { - return 2.0; - } - - // Check for vertical or horizontal line - if ((int(p.x) == int(p0.x) && int(p0.x) == int(p1.x)) || - (int(p.y) == int(p0.y) && int(p0.y) == int(p1.y)) - ) { - return 0.0; - } - - // Bresenham algorithm - // See: https://en.wikipedia.org/wiki/Bresenham%27s_line_algorithm#Method - vec2 d = p1 - p0; - - float slope; - // the frag position from the start point (~ progress of the slope) - float a; - // other axis of the start line - float b; - // other axis for the frag - float c; - if (abs(d.x) > abs(d.y)) { - slope = (d.y / d.x); - a = p.x - p0.x; - b = p0.y; - c = p.y; - } else { - slope = (d.x / d.y); - a = p.y - p0.y; - b = p0.x; - c = p.x; - } - - float expected = slope * a + b; - - float sdf; - // Is the current y match the expected y of the algo ? - if (int(expected) == int(c)) { - // It's on the line - sdf = 0.0; - } else { - // It's NOT on the line - sdf = 2.0; - } - return sdf; -} - -float sdfPoint(vec2 frag, vec2 pos) { - return 0.0; -} - -float sdfCircle(vec2 frag, vec2 center, float radius) { - vec2 p = frag - center; - - // Distance between the frag and the border of the circle - float dist = length(p + vec2(0.5)) - radius; - - // Is on the line? - if (abs(dist) < 0.5) { - return 0.0; - } - - return dist * 4.0; -} - - -/** -* Is the point p inside the triangle(a,b,c) ? -* @return true if inside the triangle. false otherwise -*/ -bool pointInTriangle(vec2 p, vec2 a, vec2 b, vec2 c) { - vec2 v0 = c - a; - vec2 v1 = b - a; - vec2 v2 = p - a; - - float dot00 = dot(v0, v0); - float dot01 = dot(v0, v1); - float dot02 = dot(v0, v2); - float dot11 = dot(v1, v1); - float dot12 = dot(v1, v2); - - float invDenom = 1.0 / (dot00 * dot11 - dot01 * dot01); - float u = (dot11 * dot02 - dot01 * dot12) * invDenom; - float v = (dot00 * dot12 - dot01 * dot02) * invDenom; - - return (u >= 0.0 && v >= 0.0 && u + v <= 1.0); -} - -float sdfTriangle(vec2 frag, vec2 p0, vec2 p1, vec2 p2) { - - // BUG: maybe the line should not assume that it's only from left to right - float a = sdfLine(frag, p0, p1); - float b = sdfLine(frag, p0, p2); - float c = sdfLine(frag, p1, p2); - // is the frag on a line? - if (a + b + c < 6.0) { - return 0.0; - } - bool isInside = pointInTriangle(frag, p0, p1, p2); - if (isInside) { - // is inside the triangle - return -2.0; - } else { - // is outside the triangle - return 2.0; - } -} - -/** -* Return true if the pixel x,y pass the pattern mask -*/ -bool dither(int pattern, int x, int y) { - int a = imod(x, 4); - int b = imod(y, 4) * 4; - int bitPosition = a + b; - - float powerOfTwo = pow(2.0, float(bitPosition)); - int bit = int(floor(mod(float(pattern) / powerOfTwo, 2.0))); - - return bit > 0; -} - -void main() { - if(!dither(int(v_dither), int(v_fragPos.x), int(v_fragPos.y))) { - discard; - } - - float sdf; - int type = int(v_shapeType); - if (type == T_LINE) { - sdf = sdfLine(v_fragPos, v_shapeParams12, v_shapeParams34); - } else if (type == T_POINT) { - sdf = sdfPoint(v_fragPos, v_shapePosition); - } else if (type == T_CIRCLE) { - sdf = sdfCircle(v_fragPos, v_shapeParams12, v_shapeParams34.x); - } else if (type == T_TRIANGLE) { - sdf = sdfTriangle(v_fragPos, v_shapeParams12, v_shapeParams34, v_shapeParams56); - } else { - sdf = sdfRectangle(v_fragPos, v_shapePosition, v_shapeSize); - } - - // The distance is more than one pixel away (ie: it's out of the border) - if (sdf >= 1.0) { - discard; - // If the frag is inside the shape and the shape should NOT be filled. - } else if (sdf <= -1.0 && v_shapeFilled < 1.0) { - discard; - } else { - // If the frag is on the border OR inside the shape AND should be filled - // Get color from palette - vec4 color = readColor(int(v_shapeColor)); - - fragColor = vec4(color.rgb, 1.0); - } - -}`}}ar(e),dv=e}return dv}var jm,pv;function AF(){if(pv===u){class e{constructor(r,t,n){this.e56_1=t,this.f56_1=n,this.g56_1=new(Em())(r,new(II()),new($I()));var a=this;a.h56_1=new Float32Array([0,0,1,0,1,1,1,1,0,1,0,0])}r56(){this.g56_1.e5c()}t55(){this.g56_1.f5c();var r=new Int8Array(262144),t=0,n=0;if(n<256)do{var a=n;n=n+1|0;var s=this.e56_1.r47().h4c(a),_=t;t=_+1|0,r[_]=s[0];var l=t;t=l+1|0,r[l]=s[1];var o=t;t=o+1|0,r[o]=s[2];var c=t;t=c+1|0,r[c]=s[3]}while(n<256);this.g56_1.u5c((h,v)=>(h.p5d_1.m5c(this.h56_1),v.x5e_1.i5f(r,256,256),z)),this.g56_1.vs(3089)}i56(r,t){this.g56_1.f5c(),this.g56_1.u5c((o,c)=>(o.q5d_1.l5f(new Float32Array([this.e56_1.e47_1,this.e56_1.f47_1*-1])),o.j5d_1.m5f(t.i59_1),o.g5d_1.m5f(t.c59_1),o.h5d_1.m5f(t.d59_1),o.i5d_1.m5f(t.e59_1),o.k5d_1.n5f(t.a59_1),o.l5d_1.m5c(t.b59_1),o.m5d_1.m5c(t.f59_1),o.n5d_1.m5c(t.g59_1),o.o5d_1.m5c(t.h59_1),z));var n=tr(r.q57_1),a=n.o4b_1,s=this.e56_1.f47_1-n.r4b_1|0,_=n.s4b_1,l=n.t4b_1;this.g56_1.tt(a,s,_,l),this.g56_1.v5c(),this.g56_1.rt(4,0,6,t.z58_1),this.f56_1.v54(6),this.g56_1.w5c()}d56(){this.g56_1.ws(3089)}}d(e,"PrimitiveBatchStage"),pv=e}return pv}jm=new(EF());var Ee=Math.imul;function li(e){var i=e.x56_1;if(i!=null)return i;st("windowManager")}var mv;function EI(){if(mv===u){class e extends Im(){constructor(){super(Nm.g5a_1),this.m5a_1=this.t5a("position"),this.n5a_1=this.t5a("uvs"),this.o5a_1=this.u5a("viewport")}}d(e,"VShader",EI),mv=e}return mv}var gv;function AI(){if(gv===u){class e extends $m(){constructor(){super(Nm.h5a_1),this.o5b_1=this.t5a("viewport"),this.p5b_1=this.h5b("frame_buffer",!0)}}d(e,"FShader",AI),gv=e}return gv}var wv;function jF(){if(wv===u){class e{constructor(){this.g5a_1=`void main() { - gl_Position = vec4(position, 0.0, 1.0); - viewport = uvs; -}`,this.h5a_1=`void main() { - fragColor = texture(frame_buffer, viewport); -}`}}ar(e),wv=e}return wv}var Nm,bv;function NF(){if(bv===u){class e{constructor(r,t,n){this.s56_1=t,this.t56_1=n;var a=this;a.u56_1=new Float32Array([2,-1,0,1,0,-1]);var s=this;s.v56_1=new Float32Array([3,-1,-1,3,-1,-1]),this.w56_1=new(Em())(r,new(EI()),new(AI()))}y46(r){this.w56_1.e5c(),this.x56_1=r}h58(r){this.w56_1.f5c(),this.w56_1.au(36160,null),this.w56_1.ft(Ee(Ee(this.s56_1.n47_1.ud_1,this.s56_1.l47_1),li(this).e54_1),Ee(Ee(this.s56_1.n47_1.vd_1,this.s56_1.l47_1),li(this).f54_1),Ee(Ee(this.s56_1.e47_1,this.s56_1.l47_1),li(this).e54_1),Ee(Ee(this.s56_1.f47_1,this.s56_1.l47_1),li(this).f54_1)),this.w56_1.ht(0,0,0,1),this.w56_1.gt(16640),this.w56_1.u5c((n,a)=>(n.m5a_1.m5c(this.v56_1),n.n5a_1.m5c(this.u56_1),a.p5b_1.t5c(r),z)),this.w56_1.v5c();var t=3;this.w56_1.qt(4,0,t),this.t56_1.v54(t),this.t56_1.w54(),this.w56_1.w5c()}}d(e,"FrameBufferStage"),bv=e}return bv}Nm=new(jF());var yv;function LF(){if(yv===u){class e{constructor(){this.k58_1=1e3,this.l58_1=100}}ar(e),yv=e}return yv}var kv;function MF(){if(kv===u){class e extends Rn(){constructor(r,t){t===u&&(t={}),t.o58_1=r,super(1e3,t)}v4d(){return this.o58_1.v55_1()}p58(r){r.c1h()}b4e(r){return this.p58(r!=null&&L(r,ym())?r:m())}}d(e),kv=e}return kv}var xv;function TF(){if(xv===u){class e extends Rn(){constructor(r,t){t===u&&(t={}),t.s58_1=r,super(1e3,t)}v4d(){return this.s58_1.w55_1()}t58(r){r.c1h()}b4e(r){return this.t58(r!=null&&L(r,km())?r:m())}}d(e),xv=e}return xv}var Cv;function DF(){if(Cv===u){class e extends Rn(){constructor(r,t){t===u&&(t={}),t.w58_1=r,super(100,t)}v4d(){return this.w58_1.x55_1()}x58(r){r.c1h()}b4e(r){return this.x58(r!=null&&L(r,Cm())?r:m())}}d(e),Cv=e}return Cv}var zv;function hw(){if(zv===u){class e{constructor(r,t,n){this.v55_1=r,this.w55_1=t,this.x55_1=n;var a=this;a.y55_1=jr().sa();var s=this;s.z55_1=new(MF())(this);var _=this;_.a56_1=new(TF())(this);var l=this;l.b56_1=new(DF())(this)}y56(){return this.z55_1.e4e()}e57(){return this.a56_1.e4e()}p57(r,t){var n=this.y55_1,a=n.y2(r),s;if(a==null){var _=j().p1();n.c3(r,_),s=_}else s=a;var l=s,o=hb(l),c;if(o==null)c=null;else{var h;o.i58()?h=o:h=null,c=h}var v=c,f;if(v==null){var p=this.b56_1.e4e();l.c1(p),f=p}else f=v;var w=f;w.j58(t),this.a56_1.f4e([t])}c56(r){for(var t=this.y55_1.b3().e1();t.f1();)for(var n=t.g1(),a=n.u2(),s=n.v2(),_=s.e1();_.f1();){var l=_.g1();r(a,l)}this.s2()}s2(){this.b56_1.g4e(B$(this.y55_1.a3())),this.z55_1.g4e(this.y55_1.z2()),this.y55_1.s2()}}d(e,"BatchManager"),zv=e}return zv}new(LF());var ea=Math.imul,Sv;function vp(){if(Sv===u){class e{constructor(r,t){this.m4b_1=r,this.n4b_1=t,this.o4b_1=0,this.p4b_1=this.m4b_1,this.q4b_1=0,this.r4b_1=this.n4b_1,this.s4b_1=this.m4b_1,this.t4b_1=this.n4b_1,this.u4b_1=!0}v4b(r,t,n,a){var s=this,_=r+n|0,l=Math.min(r,_);s.o4b_1=Math.max(0,l);var o=this,c=r+n|0,h=Math.max(r,c),v=this.m4b_1;o.p4b_1=Math.min(h,v);var f=this,p=t+a|0,w=Math.min(t,p);f.q4b_1=Math.max(0,w);var b=this,g=t+a|0,C=Math.max(t,g),S=this.n4b_1;return b.r4b_1=Math.min(C,S),this.s4b_1=this.p4b_1-this.o4b_1|0,this.t4b_1=this.r4b_1-this.q4b_1|0,this.u4b_1=!0,this}c1h(){this.o4b_1=0,this.p4b_1=this.m4b_1,this.q4b_1=0,this.r4b_1=this.n4b_1,this.s4b_1=this.m4b_1,this.t4b_1=this.n4b_1,this.u4b_1=!0}equals(r){var t=r instanceof vp()?r:null,n;if(t==null)return!1;n=t;var a=n;return this.m4b_1===a.m4b_1&&this.n4b_1===a.n4b_1&&this.o4b_1===a.o4b_1&&this.p4b_1===a.p4b_1&&this.q4b_1===a.q4b_1&&this.r4b_1===a.r4b_1}hashCode(){var r=this.m4b_1;return r=ea(31,r)+this.n4b_1|0,r=ea(31,r)+this.o4b_1|0,r=ea(31,r)+this.p4b_1|0,r=ea(31,r)+this.q4b_1|0,r=ea(31,r)+this.r4b_1|0,r}}d(e,"Clipper"),Sv=e}return Sv}function FF(e){var i=e.n4c_1.slice();return e.o4c_1=i,i}var qv;function PF(){if(qv===u){class e{constructor(r){this.m4c_1=r;for(var t=this,n=0,a=this.m4c_1.f4c_1,s=Array(a);n(e.b55_1.u55(i,r),z)),e.b55_1.d56(),e.c55_1.t55(),e.i55_1.c56((i,r)=>(e.c55_1.i56(i,r),z)),e.c55_1.d56(),e.x54_1.ws(2929),e.x54_1.au(36160,null),e.f55_1=1,e.e55_1=null}function Ae(e){e.g55_1=null}function Ve(e,i){var r=i==null?null:i.c49_1,t=e.e55_1;A(r,t==null?null:t.c49_1)||(e.f55_1=e.f55_1-1e-4,e.e55_1=i)}function Ye(e,i,r,t,n,a){var s=e.l55_1.e4e().v4b(i,r,t,n),_=e.l55_1.e4e().v4b(e.j55_1.b4d_1.t4c_1,e.j55_1.b4d_1.u4c_1,e.y54_1.e47_1,e.y54_1.f47_1),l=e.l55_1.e4e().v4b(e.j55_1.z4c_1.o4b_1,e.j55_1.z4c_1.q4b_1,e.j55_1.z4c_1.s4b_1,e.j55_1.z4c_1.t4b_1),o=e.l55_1.e4e();LI(e,_,l,o),OF(e,s,o)&&a(),e.l55_1.f4e([s,_,l,o])}var Av;function dp(){if(Av===u){class e{constructor(r,t,n,a){this.j56_1=r,this.k56_1=t,this.l56_1=n,this.m56_1=a}c1h(){this.v4b(0,0,0,0)}v4b(r,t,n,a){return this.j56_1=r,this.k56_1=t,this.l56_1=n,this.m56_1=a,this}toString(){return"BoundingBox(x="+this.j56_1+", y="+this.k56_1+", width="+this.l56_1+", height="+this.m56_1+")"}hashCode(){var r=this.j56_1;return r=an(r,31)+this.k56_1|0,r=an(r,31)+this.l56_1|0,r=an(r,31)+this.m56_1|0,r}equals(r){return this===r?!0:!(!(r instanceof dp())||this.j56_1!==r.j56_1||this.k56_1!==r.k56_1||this.l56_1!==r.l56_1||this.m56_1!==r.m56_1)}}d(e,"BoundingBox"),Av=e}return Av}function LI(e,i,r,t){var n=i.j56_1,a=r.j56_1,s=Math.max(n,a),_=i.k56_1,l=r.k56_1,o=Math.max(_,l),c=i.j56_1+i.l56_1|0,h=r.j56_1+r.l56_1|0,v=Math.min(c,h),f=i.k56_1+i.m56_1|0,p=r.k56_1+r.m56_1|0,w=Math.min(f,p);t.j56_1=s,t.k56_1=o;var b=t,g=v-s|0;b.l56_1=Math.max(0,g);var C=t,S=w-o|0;C.m56_1=Math.max(0,S)}function OF(e,i,r){var t=e.l55_1.e4e();LI(e,i,r,t);var n=t.l56_1>0&&t.m56_1>0;return e.l55_1.f4e([t]),n}var jv;function UF(){if(jv===u){class e{constructor(){this.n56_1=1e-4}}ar(e),jv=e}return jv}function KF(e){return fp(e),e.x54_1.au(36160,e.p55().n55_1),e.x54_1.iu(0,0,e.y54_1.e47_1,e.y54_1.f47_1,6408,5121,e.p55().o55_1),e.x54_1.au(36160,null),new(cF())(e.p55().o55_1,e.y54_1)}function GF(){return new(Ls())}function JF(){return new(xm())}function WF(){return new(gI())}function HF(){return new(wI())}function VF(){return new(zm())}function YF(){return new(bI())}var Nv;function ZF(){if(Nv===u){class e extends Rn(){constructor(){super(100)}v4d(){return new(dp())(0,0,0,0)}q56(r){r.c1h()}b4e(r){return this.q56(r instanceof dp()?r:m())}}d(e),Nv=e}return Nv}var Lv;function XF(){if(Lv===u){class e{constructor(r,t,n){this.x54_1=r,this.y54_1=t,this.z54_1=n,this.b55_1=new($F())(this.x54_1,this.y54_1,this.z54_1),this.c55_1=new(AF())(this.x54_1,this.y54_1,this.z54_1),this.d55_1=new(NF())(this.x54_1,this.y54_1,this.z54_1),this.e55_1=null,this.f55_1=1,this.g55_1=null;var a=this,s=GF,_=JF;a.h55_1=new(hw())(s,_,WF);var l=this,o=HF,c=VF;l.i55_1=new(hw())(o,c,YF),this.j55_1=new(BF())(this.y54_1.e47_1,this.y54_1.f47_1,this.y54_1.r47()),this.k55_1=RF(this);var h=this;h.l55_1=new(ZF())}p55(){var r=this.a55_1;if(r!=null)return r;st("frameBufferContext")}y46(r){this.b55_1.r56(),this.c55_1.r56(),this.d55_1.y46(r);var t=hp().xr(an(an(this.y54_1.e47_1,this.y54_1.f47_1),4)),n=this.x54_1.fu();this.x54_1.eu(36161,n),this.x54_1.hu(36161,35056,this.y54_1.e47_1,this.y54_1.f47_1);var a=this.x54_1.bu();this.x54_1.au(36160,a),this.x54_1.gu(36160,36128,36161,n),this.x54_1.gu(36160,36096,36161,n);var s=this.x54_1.jt();if(this.x54_1.mt(3553,s),this.x54_1.kt(3553,0,6408,this.y54_1.e47_1,this.y54_1.f47_1,0,6408,5121,t),this.x54_1.nt(3553,10241,9728),this.x54_1.nt(3553,10240,9728),this.x54_1.du(36160,36064,3553,s,0),this.x54_1.cu(36160)!==36053)throw vr().r3("Framebuffer is NOT complete!");this.a55_1=new(NI())(s,a,t),this.x54_1.vs(3042),this.x54_1.ws(3089),this.x54_1.mt(3553,null),this.x54_1.au(36160,null)}d4z(r,t,n,a,s,_,l,o,c,h){return Ye(this,l,o,s,_,()=>{Ae(this),Ve(this,r);var v=this.j55_1.a4d_1.q4c()[t],f=this.h55_1.y56();f.d57(r,this.j55_1.a4d_1.p4c_1,this.k55_1[v],this.j55_1.d4d());var p=this.h55_1.e57();return p.o57(n,a,s,_,l-this.j55_1.b4d_1.t4c_1|0,o-this.j55_1.b4d_1.u4c_1|0,c,h,this.f55_1),this.h55_1.p57(f,p),z})}a4p(r,t,n,a,s,_,l,o,c){return Ye(this,_,l,a,s,()=>{Ae(this),Ve(this,r);var h=this.h55_1.y56();h.d57(r,this.j55_1.a4d_1.p4c_1,this.j55_1.a4d_1.q4c(),this.j55_1.d4d());var v=this.h55_1.e57();return v.o57(t,n,a,s,_-this.j55_1.b4d_1.t4c_1|0,l-this.j55_1.b4d_1.u4c_1|0,o,c,this.f55_1),this.h55_1.p57(h,v),z})}u4u(r,t,n,a,s,_){return Ye(this,r,t,n,a,()=>{Ae(this),Ve(this,null);var l=this.i55_1.y56().r57(this.j55_1.d4d()),o=this.i55_1.e57(),c=r-this.j55_1.b4d_1.t4c_1|0,h=t-this.j55_1.b4d_1.u4c_1|0,v=this.j55_1.a4d_1.q4c()[s],f=this.j55_1.a4d_1.p4c_1,p=this.f55_1,w=o.c58(c,h,n,a,v,f,_,p);return this.i55_1.p57(l,w),z})}p4u(r,t,n,a,s){var _=Math.min(r,n),l=Math.min(t,a),o=Nn(n-r|0)+1|0,c=Nn(a-t|0)+1|0;return Ye(this,_,l,o,c,()=>{Ae(this),Ve(this,null);var h=this.i55_1.y56().r57(this.j55_1.d4d()),v=this.i55_1.e57(),f=r-this.j55_1.b4d_1.t4c_1|0,p=t-this.j55_1.b4d_1.u4c_1|0,w=n-this.j55_1.b4d_1.t4c_1|0,b=a-this.j55_1.b4d_1.u4c_1|0,g=this.j55_1.a4d_1.q4c()[s],C=this.j55_1.a4d_1.p4c_1,S=this.f55_1,k=v.d58(f,p,w,b,C,g,S);return this.i55_1.p57(h,k),z})}d4v(r,t,n,a,s){var _=r-n|0,l=t-n|0,o=an(n,2),c=an(n,2);return Ye(this,_,l,o,c,()=>{Ae(this),Ve(this,null);var h=this.i55_1.y56().r57(this.j55_1.d4d()),v=this.i55_1.e57(),f=r-this.j55_1.b4d_1.t4c_1|0,p=t-this.j55_1.b4d_1.u4c_1|0,w=this.j55_1.a4d_1.q4c()[a],b=this.j55_1.a4d_1.p4c_1,g=this.f55_1,C=v.e58(f,p,n,w,b,s,g);return this.i55_1.p57(h,C),z})}q4i(r,t,n){return Ye(this,r,t,1,1,()=>{Ae(this),Ve(this,null);var a=this.i55_1.y56().r57(this.j55_1.d4d()),s=this.i55_1.e57(),_=r-this.j55_1.b4d_1.t4c_1|0,l=t-this.j55_1.b4d_1.u4c_1|0,o=this.j55_1.a4d_1.q4c()[n],c=this.j55_1.a4d_1.p4c_1,h=this.f55_1,v=s.f58(_,l,c,o,h);return this.i55_1.p57(a,v),z})}n4v(r,t,n,a,s,_,l,o){var c=Math.min(r,n),h=Math.min(c,s),v=Math.min(t,a),f=Math.min(v,_),p=Math.max(r,n),w=Math.max(p,s)-h|0,b=Math.max(t,a),g=Math.max(b,_)-f|0;Ye(this,h,f,w,g,()=>{Ae(this),Ve(this,null);var C=this.i55_1.y56().r57(this.j55_1.d4d()),S=this.i55_1.e57().g58(r-this.j55_1.b4d_1.t4c_1|0,t-this.j55_1.b4d_1.u4c_1|0,n-this.j55_1.b4d_1.t4c_1|0,a-this.j55_1.b4d_1.u4c_1|0,s-this.j55_1.b4d_1.t4c_1|0,_-this.j55_1.b4d_1.u4c_1|0,this.j55_1.a4d_1.q4c()[l],this.j55_1.a4d_1.p4c_1,o,this.f55_1);return this.i55_1.p57(C,S),z})}b47(){fp(this),this.d55_1.h58(this.p55().m55_1)}c47(r){this.b55_1.c47(r)}v4i(){var r=this.g55_1,t=r??KF(this);return this.g55_1=t,t}m4j(r){var t=this.j55_1.a4d_1.p4c_1;return this.j55_1.a4d_1.p4c_1=r,t}gt(r){Ae(this),this.h55_1.s2(),this.i55_1.s2(),this.x54_1.au(36160,this.p55().n55_1);var t=this.y54_1.r47().h4c(r),n=t[0],a=t[1],s=t[2],_=Lr(n),l=(Fr(_)&255)/255,o=Lr(a),c=(Fr(o)&255)/255,h=Lr(s),v=Fr(h)&255;this.x54_1.ht(l,c,v/255,1),this.x54_1.gt(16640),this.x54_1.au(36160,null)}d4j(){this.j55_1.a4d_1.r4c()}e4j(r,t){this.j55_1.a4d_1.s4c(r,t)}h4j(r,t){this.j55_1.b4d_1.v4c(r,t)}a4i(){return T(this.j55_1.b4d_1.t4c_1,this.j55_1.b4d_1.u4c_1)}g4j(){this.j55_1.b4d_1.v4c(0,0)}s4j(r,t,n,a){this.j55_1.z4c_1.v4b(r,t,n,a)}r4j(){this.j55_1.z4c_1.c1h()}h4i(r){switch(fp(this),this.x54_1.au(36160,this.p55().n55_1),r.f3_1){case 0:this.x54_1.ws(2960),this.x54_1.vs(3042),this.x54_1.wt(0),this.x54_1.it(770,771),this.x54_1.xt(!0,!0,!0,!0);break;case 1:this.x54_1.ws(2960),this.x54_1.vs(3042),this.x54_1.vt(0,1,0,771),this.x54_1.xt(!0,!0,!0,!0);break;case 2:this.x54_1.vs(2960),this.x54_1.ws(3042),this.x54_1.wt(255),this.x54_1.gt(1024),this.x54_1.zt(519,1,255),this.x54_1.yt(7680,7680,7681),this.x54_1.xt(!1,!1,!1,!1);break;case 3:this.x54_1.vs(2960),this.x54_1.vs(3042),this.x54_1.wt(0),this.x54_1.zt(514,1,255),this.x54_1.yt(7680,7680,7680),this.x54_1.xt(!0,!0,!0,!0),this.x54_1.it(770,771);break;case 4:this.x54_1.vs(2960),this.x54_1.vs(3042),this.x54_1.wt(0),this.x54_1.zt(517,1,255),this.x54_1.yt(7680,7680,7680),this.x54_1.xt(!0,!0,!0,!0),this.x54_1.it(770,771);break;default:wt();break}this.x54_1.au(36160,null)}}d(e,"DefaultVirtualFrameBuffer"),Lv=e}return Lv}new(UF());var MI,TI,DI,FI,PI,BI,RI,fw;function yn(){if(fw)return z;fw=!0,MI=new(je())("BOOT_GAMESCRIPT",0),TI=new(je())("GAME_GAMESCRIPT",1),DI=new(je())("ENGINE_GAMESCRIPT",2),FI=new(je())("BOOT_SPRITESHEET",3),PI=new(je())("GAME_SPRITESHEET",4),BI=new(je())("GAME_LEVEL",5),RI=new(je())("GAME_SOUND",6),new(je())("PRIMITIVE_SPRITESHEET",7)}var Mv;function je(){if(Mv===u){class e extends Ot(){}d(e,"ResourceType"),Mv=e}return Mv}function Ms(){return yn(),MI}function QF(){return yn(),TI}function Ts(){return yn(),DI}function dw(){return yn(),FI}function Lm(){return yn(),PI}function OI(){return yn(),BI}function rP(){return yn(),RI}var Tv;function Ya(){if(Tv===u){class e{}Ir(e,"GameResource"),Tv=e}return Tv}var na=Math.imul,Dv;function Za(){if(Dv===u){class e{constructor(r,t,n,a,s,_){s=s===u?rP():s,_=_===u?!1:_,this.u4s_1=r,this.v4s_1=t,this.w4s_1=n,this.x4s_1=a,this.y4s_1=s,this.z4s_1=_}j48(){return this.u4s_1}z47(){return this.v4s_1}f48(){return this.w4s_1}y47(){return this.y4s_1}a48(r){this.z4s_1=r}i48(){return this.z4s_1}toString(){return"Sound(version="+this.u4s_1+", index="+this.v4s_1+", name="+this.w4s_1+", data="+$(this.x4s_1)+", type="+this.y4s_1.toString()+", reload="+this.z4s_1+")"}hashCode(){var r=this.u4s_1;return r=na(r,31)+this.v4s_1|0,r=na(r,31)+br(this.w4s_1)|0,r=na(r,31)+Z(this.x4s_1)|0,r=na(r,31)+this.y4s_1.hashCode()|0,r=na(r,31)+ba(this.z4s_1)|0,r}equals(r){return this===r?!0:!(!(r instanceof Za())||this.u4s_1!==r.u4s_1||this.v4s_1!==r.v4s_1||this.w4s_1!==r.w4s_1||!A(this.x4s_1,r.x4s_1)||!this.y4s_1.equals(r.y4s_1)||this.z4s_1!==r.z4s_1)}}d(e,"Sound",u,u,[Ya()]),Dv=e}return Dv}var U=Math.imul,UI,KI,GI,JI;function tP(){return[eB(),nB(),aB(),iB()]}var pw;function k1(){if(pw)return z;pw=!0,UI=new(oi())("LinearHorizontal",0),KI=new(oi())("LinearVertical",1),GI=new(oi())("Free",2),JI=new(oi())("GridVania",3)}var Fv;function oi(){if(Fv===u){class e extends Ot(){}d(e,"WorldLayout"),Fv=e}return Fv}function eP(){return cm("com.github.minigdx.tiny.resources.ldtk.WorldLayout",tP())}function nP(){return new(yr())(yp())}function aP(e){return e.a3t_1=!0,e.n3s_1=!0,e.s3s_1="__type",z}var Pv;function iP(){if(Pv===u){class e{constructor(){pp=this;var r=this,t=ur(),n=_r(t,eP),a=ur();r.k5i_1=[null,n,_r(a,nP)]}l5i(r){var t=Vq(u,aP);return t.u3r(this.x3t(),r)}x3t(){return gp()}}ar(e),Pv=e}return Pv}var pp;function wa(){return pp===u&&new(iP()),pp}var Bv;function sP(){if(Bv===u){class e{constructor(){mp=this;var r=new(Ur())("com.github.minigdx.tiny.resources.ldtk.Ldtk",this,3);r.c3i("iid",!1),r.c3i("worldLayout",!1),r.c3i("levels",!1),this.t5l_1=r}u5l(r,t){var n=this.t5l_1,a=r.m3a(n),s=wa().k5i_1;a.c3c(n,0,t.y4n_1),a.e3c(n,1,s[1].v2(),t.z4n_1),a.e3c(n,2,s[2].v2(),t.a4o_1),a.n3a(n)}f36(r,t){return this.u5l(r,t instanceof Ds()?t:m())}g36(r){var t=this.t5l_1,n=!0,a=0,s=0,_=null,l=null,o=null,c=r.m3a(t),h=wa().k5i_1;if(c.c3b())_=c.w3a(t,0),s=s|1,l=c.y3a(t,1,h[1].v2(),l),s=s|2,o=c.y3a(t,2,h[2].v2(),o),s=s|4;else for(;n;)switch(a=c.d3b(t),a){case-1:n=!1;break;case 0:_=c.w3a(t,0),s=s|1;break;case 1:l=c.y3a(t,1,h[1].v2(),l),s=s|2;break;case 2:o=c.y3a(t,2,h[2].v2(),o),s=s|4;break;default:throw Zr().y37(a)}return c.n3a(t),Ds().v5l(s,_,l,o,null)}e36(){return this.t5l_1}r3i(){var r=wa().k5i_1;return[zr(),r[1].v2(),r[2].v2()]}}F(e).s3i=Wr,B(e,"$serializer",u,u,[Hr()]),Bv=e}return Bv}var mp;function gp(){return mp===u&&new(sP()),mp}var Rv;function Ds(){if(Rv===u){class e{toString(){return"Ldtk(iid="+this.y4n_1+", worldLayout="+this.z4n_1.toString()+", levels="+$(this.a4o_1)+")"}hashCode(){var r=br(this.y4n_1);return r=U(r,31)+this.z4n_1.hashCode()|0,r=U(r,31)+Z(this.a4o_1)|0,r}equals(r){return this===r?!0:!(!(r instanceof Ds())||this.y4n_1!==r.y4n_1||!this.z4n_1.equals(r.z4n_1)||!A(this.a4o_1,r.a4o_1))}static v5l(r,t,n,a,s){wa(),(7&r)!==7&&Qr(r,7,gp().t5l_1);var _=Or(this);return _.y4n_1=t,_.z4n_1=n,_.a4o_1=a,_}}d(e,"Ldtk",u,u,u,u,u,{0:gp}),Rv=e}return Rv}function uP(){return new(yr())(Mm.x3t())}function _P(){return new(yr())(x1())}var Ov;function lP(){if(Ov===u){class e{constructor(){wp=this;var r=this,t=ur(),n=_r(t,uP),a=ur();r.w5l_1=[null,null,null,null,n,_r(a,_P)]}}ar(e),Ov=e}return Ov}var wp;function xi(){return wp===u&&new(lP()),wp}var Uv;function oP(){if(Uv===u){class e{constructor(){bp=this;var r=new(Ur())("com.github.minigdx.tiny.resources.ldtk.Level",this,6);r.c3i("identifier",!1),r.c3i("iid",!1),r.c3i("worldX",!1),r.c3i("worldY",!1),r.c3i("layerInstances",!1),r.c3i("fieldInstances",!1),this.x5l_1=r}y5l(r,t){var n=this.x5l_1,a=r.m3a(n),s=xi().w5l_1;a.c3c(n,0,t.k4m_1),a.c3c(n,1,t.l4m_1),a.x3b(n,2,t.m4m_1),a.x3b(n,3,t.n4m_1),a.e3c(n,4,s[4].v2(),t.o4m_1),a.e3c(n,5,s[5].v2(),t.p4m_1),a.n3a(n)}f36(r,t){return this.y5l(r,t instanceof kp()?t:m())}g36(r){var t=this.x5l_1,n=!0,a=0,s=0,_=null,l=null,o=0,c=0,h=null,v=null,f=r.m3a(t),p=xi().w5l_1;if(f.c3b())_=f.w3a(t,0),s=s|1,l=f.w3a(t,1),s=s|2,o=f.r3a(t,2),s=s|4,c=f.r3a(t,3),s=s|8,h=f.y3a(t,4,p[4].v2(),h),s=s|16,v=f.y3a(t,5,p[5].v2(),v),s=s|32;else for(;n;)switch(a=f.d3b(t),a){case-1:n=!1;break;case 0:_=f.w3a(t,0),s=s|1;break;case 1:l=f.w3a(t,1),s=s|2;break;case 2:o=f.r3a(t,2),s=s|4;break;case 3:c=f.r3a(t,3),s=s|8;break;case 4:h=f.y3a(t,4,p[4].v2(),h),s=s|16;break;case 5:v=f.y3a(t,5,p[5].v2(),v),s=s|32;break;default:throw Zr().y37(a)}return f.n3a(t),kp().z5l(s,_,l,o,c,h,v,null)}e36(){return this.x5l_1}r3i(){var r=xi().w5l_1;return[zr(),zr(),K(),K(),r[4].v2(),r[5].v2()]}}F(e).s3i=Wr,B(e,"$serializer",u,u,[Hr()]),Uv=e}return Uv}var bp;function yp(){return bp===u&&new(oP()),bp}var Kv;function kp(){if(Kv===u){class e{toString(){return"Level(identifier="+this.k4m_1+", iid="+this.l4m_1+", worldX="+this.m4m_1+", worldY="+this.n4m_1+", layerInstances="+$(this.o4m_1)+", fieldInstances="+$(this.p4m_1)+")"}hashCode(){var r=br(this.k4m_1);return r=U(r,31)+br(this.l4m_1)|0,r=U(r,31)+this.m4m_1|0,r=U(r,31)+this.n4m_1|0,r=U(r,31)+Z(this.o4m_1)|0,r=U(r,31)+Z(this.p4m_1)|0,r}equals(r){return this===r?!0:!(!(r instanceof kp())||this.k4m_1!==r.k4m_1||this.l4m_1!==r.l4m_1||this.m4m_1!==r.m4m_1||this.n4m_1!==r.n4m_1||!A(this.o4m_1,r.o4m_1)||!A(this.p4m_1,r.p4m_1))}static z5l(r,t,n,a,s,_,l,o){xi(),(63&r)!==63&&Qr(r,63,yp().x5l_1);var c=Or(this);return c.k4m_1=t,c.l4m_1=n,c.m4m_1=a,c.n4m_1=s,c.o4m_1=_,c.p4m_1=l,c}}d(e,"Level",u,u,u,u,u,{0:yp}),Kv=e}return Kv}function cP(){return new(yr())(K())}function hP(){return new(yr())(Pn())}function vP(){return new(yr())(ue())}function fP(){return new(yr())(ue())}var Gv;function dP(){if(Gv===u){class e{constructor(){xp=this;var r=this,t=ur(),n=_r(t,cP),a=ur(),s=_r(a,hP),_=ur(),l=_r(_,vP),o=ur();r.a5m_1=[null,null,null,null,null,null,null,n,null,s,null,l,_r(o,fP)]}}ar(e),Gv=e}return Gv}var xp;function Ci(){return xp===u&&new(dP()),xp}var Jv;function pP(){if(Jv===u){class e{constructor(){Cp=this;var r=new(Ur())("IntGrid",this,13);r.c3i("__identifier",!1),r.c3i("__cWid",!1),r.c3i("__cHei",!1),r.c3i("__gridSize",!1),r.c3i("pxOffsetX",!1),r.c3i("pxOffsetY",!1),r.c3i("seed",!1),r.c3i("intGridCsv",!1),r.c3i("overrideTilesetUid",!0),r.c3i("entityInstances",!0),r.c3i("__tilesetRelPath",!0),r.c3i("autoLayerTiles",!0),r.c3i("gridTiles",!0),this.b5m_1=r}c5m(r,t){var n=this.b5m_1,a=r.m3a(n),s=Ci().a5m_1;a.c3c(n,0,t.d5m_1),a.x3b(n,1,t.e5m_1),a.x3b(n,2,t.f5m_1),a.x3b(n,3,t.g5m_1),a.x3b(n,4,t.h5m_1),a.x3b(n,5,t.i5m_1),a.y3b(n,6,t.j5m_1),a.e3c(n,7,s[7].v2(),t.k5m_1),(a.k3c(n,8)||t.l5m_1!=null)&&a.g3c(n,8,K(),t.l5m_1),(a.k3c(n,9)||t.m5m_1!=null)&&a.g3c(n,9,s[9].v2(),t.m5m_1),(a.k3c(n,10)||t.n5m_1!=null)&&a.g3c(n,10,zr(),t.n5m_1),(a.k3c(n,11)||t.o5m_1!=null)&&a.g3c(n,11,s[11].v2(),t.o5m_1),(a.k3c(n,12)||t.p5m_1!=null)&&a.g3c(n,12,s[12].v2(),t.p5m_1),a.n3a(n)}f36(r,t){return this.c5m(r,t instanceof Aa()?t:m())}g36(r){var t=this.b5m_1,n=!0,a=0,s=0,_=null,l=0,o=0,c=0,h=0,v=0,f=0n,p=null,w=null,b=null,g=null,C=null,S=null,k=r.m3a(t),E=Ci().a5m_1;if(k.c3b())_=k.w3a(t,0),s=s|1,l=k.r3a(t,1),s=s|2,o=k.r3a(t,2),s=s|4,c=k.r3a(t,3),s=s|8,h=k.r3a(t,4),s=s|16,v=k.r3a(t,5),s=s|32,f=k.s3a(t,6),s=s|64,p=k.y3a(t,7,E[7].v2(),p),s=s|128,w=k.a3b(t,8,K(),w),s=s|256,b=k.a3b(t,9,E[9].v2(),b),s=s|512,g=k.a3b(t,10,zr(),g),s=s|1024,C=k.a3b(t,11,E[11].v2(),C),s=s|2048,S=k.a3b(t,12,E[12].v2(),S),s=s|4096;else for(;n;)switch(a=k.d3b(t),a){case-1:n=!1;break;case 0:_=k.w3a(t,0),s=s|1;break;case 1:l=k.r3a(t,1),s=s|2;break;case 2:o=k.r3a(t,2),s=s|4;break;case 3:c=k.r3a(t,3),s=s|8;break;case 4:h=k.r3a(t,4),s=s|16;break;case 5:v=k.r3a(t,5),s=s|32;break;case 6:f=k.s3a(t,6),s=s|64;break;case 7:p=k.y3a(t,7,E[7].v2(),p),s=s|128;break;case 8:w=k.a3b(t,8,K(),w),s=s|256;break;case 9:b=k.a3b(t,9,E[9].v2(),b),s=s|512;break;case 10:g=k.a3b(t,10,zr(),g),s=s|1024;break;case 11:C=k.a3b(t,11,E[11].v2(),C),s=s|2048;break;case 12:S=k.a3b(t,12,E[12].v2(),S),s=s|4096;break;default:throw Zr().y37(a)}return k.n3a(t),Aa().q5m(s,_,l,o,c,h,v,f,p,w,b,g,C,S,null)}e36(){return this.b5m_1}r3i(){var r=Ci().a5m_1;return[zr(),K(),K(),K(),K(),K(),Ka(),r[7].v2(),qr(K()),qr(r[9].v2()),qr(zr()),qr(r[11].v2()),qr(r[12].v2())]}}F(e).s3i=Wr,B(e,"$serializer",u,u,[Hr()]),Jv=e}return Jv}var Cp;function zp(){return Cp===u&&new(pP()),Cp}function mP(){return new(yr())(ue())}function gP(){return new(yr())(K())}function wP(){return new(yr())(Pn())}function bP(){return new(yr())(ue())}var Wv;function yP(){if(Wv===u){class e{constructor(){Sp=this;var r=this,t=ur(),n=_r(t,mP),a=ur(),s=_r(a,gP),_=ur(),l=_r(_,wP),o=ur();r.r5m_1=[null,null,null,null,null,null,null,n,null,null,s,l,_r(o,bP)]}}ar(e),Wv=e}return Wv}var Sp;function zi(){return Sp===u&&new(yP()),Sp}var Hv;function kP(){if(Hv===u){class e{constructor(){qp=this;var r=new(Ur())("AutoLayer",this,13);r.c3i("__identifier",!1),r.c3i("__cWid",!1),r.c3i("__cHei",!1),r.c3i("__gridSize",!1),r.c3i("pxOffsetX",!1),r.c3i("pxOffsetY",!1),r.c3i("seed",!1),r.c3i("autoLayerTiles",!1),r.c3i("__tilesetRelPath",!1),r.c3i("overrideTilesetUid",!0),r.c3i("intGridCsv",!0),r.c3i("entityInstances",!0),r.c3i("gridTiles",!0),this.s5m_1=r}t5m(r,t){var n=this.s5m_1,a=r.m3a(n),s=zi().r5m_1;a.c3c(n,0,t.q5k_1),a.x3b(n,1,t.r5k_1),a.x3b(n,2,t.s5k_1),a.x3b(n,3,t.t5k_1),a.x3b(n,4,t.u5k_1),a.x3b(n,5,t.v5k_1),a.y3b(n,6,t.w5k_1),a.e3c(n,7,s[7].v2(),t.x5k_1),a.c3c(n,8,t.y5k_1),(a.k3c(n,9)||t.z5k_1!=null)&&a.g3c(n,9,K(),t.z5k_1),(a.k3c(n,10)||t.a5l_1!=null)&&a.g3c(n,10,s[10].v2(),t.a5l_1),(a.k3c(n,11)||t.b5l_1!=null)&&a.g3c(n,11,s[11].v2(),t.b5l_1),(a.k3c(n,12)||t.c5l_1!=null)&&a.g3c(n,12,s[12].v2(),t.c5l_1),a.n3a(n)}f36(r,t){return this.t5m(r,t instanceof ja()?t:m())}g36(r){var t=this.s5m_1,n=!0,a=0,s=0,_=null,l=0,o=0,c=0,h=0,v=0,f=0n,p=null,w=null,b=null,g=null,C=null,S=null,k=r.m3a(t),E=zi().r5m_1;if(k.c3b())_=k.w3a(t,0),s=s|1,l=k.r3a(t,1),s=s|2,o=k.r3a(t,2),s=s|4,c=k.r3a(t,3),s=s|8,h=k.r3a(t,4),s=s|16,v=k.r3a(t,5),s=s|32,f=k.s3a(t,6),s=s|64,p=k.y3a(t,7,E[7].v2(),p),s=s|128,w=k.w3a(t,8),s=s|256,b=k.a3b(t,9,K(),b),s=s|512,g=k.a3b(t,10,E[10].v2(),g),s=s|1024,C=k.a3b(t,11,E[11].v2(),C),s=s|2048,S=k.a3b(t,12,E[12].v2(),S),s=s|4096;else for(;n;)switch(a=k.d3b(t),a){case-1:n=!1;break;case 0:_=k.w3a(t,0),s=s|1;break;case 1:l=k.r3a(t,1),s=s|2;break;case 2:o=k.r3a(t,2),s=s|4;break;case 3:c=k.r3a(t,3),s=s|8;break;case 4:h=k.r3a(t,4),s=s|16;break;case 5:v=k.r3a(t,5),s=s|32;break;case 6:f=k.s3a(t,6),s=s|64;break;case 7:p=k.y3a(t,7,E[7].v2(),p),s=s|128;break;case 8:w=k.w3a(t,8),s=s|256;break;case 9:b=k.a3b(t,9,K(),b),s=s|512;break;case 10:g=k.a3b(t,10,E[10].v2(),g),s=s|1024;break;case 11:C=k.a3b(t,11,E[11].v2(),C),s=s|2048;break;case 12:S=k.a3b(t,12,E[12].v2(),S),s=s|4096;break;default:throw Zr().y37(a)}return k.n3a(t),ja().u5m(s,_,l,o,c,h,v,f,p,w,b,g,C,S,null)}e36(){return this.s5m_1}r3i(){var r=zi().r5m_1;return[zr(),K(),K(),K(),K(),K(),Ka(),r[7].v2(),zr(),qr(K()),qr(r[10].v2()),qr(r[11].v2()),qr(r[12].v2())]}}F(e).s3i=Wr,B(e,"$serializer",u,u,[Hr()]),Hv=e}return Hv}var qp;function Ip(){return qp===u&&new(kP()),qp}function xP(){return new(yr())(ue())}function CP(){return new(yr())(K())}function zP(){return new(yr())(Pn())}function SP(){return new(yr())(ue())}var Vv;function qP(){if(Vv===u){class e{constructor(){$p=this;var r=this,t=ur(),n=_r(t,xP),a=ur(),s=_r(a,CP),_=ur(),l=_r(_,zP),o=ur();r.v5m_1=[null,null,null,null,null,null,null,n,null,null,s,l,_r(o,SP)]}}ar(e),Vv=e}return Vv}var $p;function Si(){return $p===u&&new(qP()),$p}var Yv;function IP(){if(Yv===u){class e{constructor(){Ep=this;var r=new(Ur())("Tiles",this,13);r.c3i("__identifier",!1),r.c3i("__cWid",!1),r.c3i("__cHei",!1),r.c3i("__gridSize",!1),r.c3i("pxOffsetX",!1),r.c3i("pxOffsetY",!1),r.c3i("seed",!1),r.c3i("gridTiles",!1),r.c3i("__tilesetRelPath",!1),r.c3i("overrideTilesetUid",!0),r.c3i("intGridCsv",!0),r.c3i("entityInstances",!0),r.c3i("autoLayerTiles",!0),this.w5m_1=r}x5m(r,t){var n=this.w5m_1,a=r.m3a(n),s=Si().v5m_1;a.c3c(n,0,t.d5k_1),a.x3b(n,1,t.e5k_1),a.x3b(n,2,t.f5k_1),a.x3b(n,3,t.g5k_1),a.x3b(n,4,t.h5k_1),a.x3b(n,5,t.i5k_1),a.y3b(n,6,t.j5k_1),a.e3c(n,7,s[7].v2(),t.k5k_1),a.c3c(n,8,t.l5k_1),(a.k3c(n,9)||t.m5k_1!=null)&&a.g3c(n,9,K(),t.m5k_1),(a.k3c(n,10)||t.n5k_1!=null)&&a.g3c(n,10,s[10].v2(),t.n5k_1),(a.k3c(n,11)||t.o5k_1!=null)&&a.g3c(n,11,s[11].v2(),t.o5k_1),(a.k3c(n,12)||t.p5k_1!=null)&&a.g3c(n,12,s[12].v2(),t.p5k_1),a.n3a(n)}f36(r,t){return this.x5m(r,t instanceof Na()?t:m())}g36(r){var t=this.w5m_1,n=!0,a=0,s=0,_=null,l=0,o=0,c=0,h=0,v=0,f=0n,p=null,w=null,b=null,g=null,C=null,S=null,k=r.m3a(t),E=Si().v5m_1;if(k.c3b())_=k.w3a(t,0),s=s|1,l=k.r3a(t,1),s=s|2,o=k.r3a(t,2),s=s|4,c=k.r3a(t,3),s=s|8,h=k.r3a(t,4),s=s|16,v=k.r3a(t,5),s=s|32,f=k.s3a(t,6),s=s|64,p=k.y3a(t,7,E[7].v2(),p),s=s|128,w=k.w3a(t,8),s=s|256,b=k.a3b(t,9,K(),b),s=s|512,g=k.a3b(t,10,E[10].v2(),g),s=s|1024,C=k.a3b(t,11,E[11].v2(),C),s=s|2048,S=k.a3b(t,12,E[12].v2(),S),s=s|4096;else for(;n;)switch(a=k.d3b(t),a){case-1:n=!1;break;case 0:_=k.w3a(t,0),s=s|1;break;case 1:l=k.r3a(t,1),s=s|2;break;case 2:o=k.r3a(t,2),s=s|4;break;case 3:c=k.r3a(t,3),s=s|8;break;case 4:h=k.r3a(t,4),s=s|16;break;case 5:v=k.r3a(t,5),s=s|32;break;case 6:f=k.s3a(t,6),s=s|64;break;case 7:p=k.y3a(t,7,E[7].v2(),p),s=s|128;break;case 8:w=k.w3a(t,8),s=s|256;break;case 9:b=k.a3b(t,9,K(),b),s=s|512;break;case 10:g=k.a3b(t,10,E[10].v2(),g),s=s|1024;break;case 11:C=k.a3b(t,11,E[11].v2(),C),s=s|2048;break;case 12:S=k.a3b(t,12,E[12].v2(),S),s=s|4096;break;default:throw Zr().y37(a)}return k.n3a(t),Na().y5m(s,_,l,o,c,h,v,f,p,w,b,g,C,S,null)}e36(){return this.w5m_1}r3i(){var r=Si().v5m_1;return[zr(),K(),K(),K(),K(),K(),Ka(),r[7].v2(),zr(),qr(K()),qr(r[10].v2()),qr(r[11].v2()),qr(r[12].v2())]}}F(e).s3i=Wr,B(e,"$serializer",u,u,[Hr()]),Yv=e}return Yv}var Ep;function Ap(){return Ep===u&&new(IP()),Ep}function $P(){return new(yr())(Pn())}function EP(){return new(yr())(K())}function AP(){return new(yr())(ue())}function jP(){return new(yr())(ue())}var Zv;function NP(){if(Zv===u){class e{constructor(){jp=this;var r=this,t=ur(),n=_r(t,$P),a=ur(),s=_r(a,EP),_=ur(),l=_r(_,AP),o=ur();r.z5m_1=[null,null,null,null,null,null,null,n,s,null,null,l,_r(o,jP)]}}ar(e),Zv=e}return Zv}var jp;function qi(){return jp===u&&new(NP()),jp}var Xv;function LP(){if(Xv===u){class e{constructor(){Np=this;var r=new(Ur())("Entities",this,13);r.c3i("__identifier",!1),r.c3i("__cWid",!1),r.c3i("__cHei",!1),r.c3i("__gridSize",!1),r.c3i("pxOffsetX",!1),r.c3i("pxOffsetY",!1),r.c3i("seed",!1),r.c3i("entityInstances",!1),r.c3i("intGridCsv",!0),r.c3i("__tilesetRelPath",!0),r.c3i("overrideTilesetUid",!0),r.c3i("autoLayerTiles",!0),r.c3i("gridTiles",!0),this.a5n_1=r}b5n(r,t){var n=this.a5n_1,a=r.m3a(n),s=qi().z5m_1;a.c3c(n,0,t.c5n_1),a.x3b(n,1,t.d5n_1),a.x3b(n,2,t.e5n_1),a.x3b(n,3,t.f5n_1),a.x3b(n,4,t.g5n_1),a.x3b(n,5,t.h5n_1),a.y3b(n,6,t.i5n_1),a.e3c(n,7,s[7].v2(),t.j5n_1),(a.k3c(n,8)||t.k5n_1!=null)&&a.g3c(n,8,s[8].v2(),t.k5n_1),(a.k3c(n,9)||t.l5n_1!=null)&&a.g3c(n,9,zr(),t.l5n_1),(a.k3c(n,10)||t.m5n_1!=null)&&a.g3c(n,10,K(),t.m5n_1),(a.k3c(n,11)||t.n5n_1!=null)&&a.g3c(n,11,s[11].v2(),t.n5n_1),(a.k3c(n,12)||t.o5n_1!=null)&&a.g3c(n,12,s[12].v2(),t.o5n_1),a.n3a(n)}f36(r,t){return this.b5n(r,t instanceof La()?t:m())}g36(r){var t=this.a5n_1,n=!0,a=0,s=0,_=null,l=0,o=0,c=0,h=0,v=0,f=0n,p=null,w=null,b=null,g=null,C=null,S=null,k=r.m3a(t),E=qi().z5m_1;if(k.c3b())_=k.w3a(t,0),s=s|1,l=k.r3a(t,1),s=s|2,o=k.r3a(t,2),s=s|4,c=k.r3a(t,3),s=s|8,h=k.r3a(t,4),s=s|16,v=k.r3a(t,5),s=s|32,f=k.s3a(t,6),s=s|64,p=k.y3a(t,7,E[7].v2(),p),s=s|128,w=k.a3b(t,8,E[8].v2(),w),s=s|256,b=k.a3b(t,9,zr(),b),s=s|512,g=k.a3b(t,10,K(),g),s=s|1024,C=k.a3b(t,11,E[11].v2(),C),s=s|2048,S=k.a3b(t,12,E[12].v2(),S),s=s|4096;else for(;n;)switch(a=k.d3b(t),a){case-1:n=!1;break;case 0:_=k.w3a(t,0),s=s|1;break;case 1:l=k.r3a(t,1),s=s|2;break;case 2:o=k.r3a(t,2),s=s|4;break;case 3:c=k.r3a(t,3),s=s|8;break;case 4:h=k.r3a(t,4),s=s|16;break;case 5:v=k.r3a(t,5),s=s|32;break;case 6:f=k.s3a(t,6),s=s|64;break;case 7:p=k.y3a(t,7,E[7].v2(),p),s=s|128;break;case 8:w=k.a3b(t,8,E[8].v2(),w),s=s|256;break;case 9:b=k.a3b(t,9,zr(),b),s=s|512;break;case 10:g=k.a3b(t,10,K(),g),s=s|1024;break;case 11:C=k.a3b(t,11,E[11].v2(),C),s=s|2048;break;case 12:S=k.a3b(t,12,E[12].v2(),S),s=s|4096;break;default:throw Zr().y37(a)}return k.n3a(t),La().p5n(s,_,l,o,c,h,v,f,p,w,b,g,C,S,null)}e36(){return this.a5n_1}r3i(){var r=qi().z5m_1;return[zr(),K(),K(),K(),K(),K(),Ka(),r[7].v2(),qr(r[8].v2()),qr(zr()),qr(K()),qr(r[11].v2()),qr(r[12].v2())]}}F(e).s3i=Wr,B(e,"$serializer",u,u,[Hr()]),Xv=e}return Xv}var Np;function Lp(){return Np===u&&new(LP()),Np}var Qv;function Aa(){if(Qv===u){class e{t4o(){return this.d5m_1}s4m(){return this.e5m_1}r4m(){return this.g5m_1}m4p(){return this.k5m_1}a4n(){return this.m5m_1}o4n(){return this.n5m_1}t4n(){return this.o5m_1}p4n(){return this.p5m_1}toString(){return"IntGrid(__identifier="+this.d5m_1+", __cWid="+this.e5m_1+", __cHei="+this.f5m_1+", __gridSize="+this.g5m_1+", pxOffsetX="+this.h5m_1+", pxOffsetY="+this.i5m_1+", seed="+this.j5m_1.toString()+", intGridCsv="+$(this.k5m_1)+", overrideTilesetUid="+this.l5m_1+", entityInstances="+Jr(this.m5m_1)+", __tilesetRelPath="+this.n5m_1+", autoLayerTiles="+Jr(this.o5m_1)+", gridTiles="+Jr(this.p5m_1)+")"}hashCode(){var r=br(this.d5m_1);return r=U(r,31)+this.e5m_1|0,r=U(r,31)+this.f5m_1|0,r=U(r,31)+this.g5m_1|0,r=U(r,31)+this.h5m_1|0,r=U(r,31)+this.i5m_1|0,r=U(r,31)+Et(this.j5m_1)|0,r=U(r,31)+Z(this.k5m_1)|0,r=U(r,31)+(this.l5m_1==null?0:this.l5m_1)|0,r=U(r,31)+(this.m5m_1==null?0:Z(this.m5m_1))|0,r=U(r,31)+(this.n5m_1==null?0:br(this.n5m_1))|0,r=U(r,31)+(this.o5m_1==null?0:Z(this.o5m_1))|0,r=U(r,31)+(this.p5m_1==null?0:Z(this.p5m_1))|0,r}equals(r){return this===r?!0:!(!(r instanceof Aa())||this.d5m_1!==r.d5m_1||this.e5m_1!==r.e5m_1||this.f5m_1!==r.f5m_1||this.g5m_1!==r.g5m_1||this.h5m_1!==r.h5m_1||this.i5m_1!==r.i5m_1||this.j5m_1!==r.j5m_1||!A(this.k5m_1,r.k5m_1)||this.l5m_1!=r.l5m_1||!A(this.m5m_1,r.m5m_1)||this.n5m_1!=r.n5m_1||!A(this.o5m_1,r.o5m_1)||!A(this.p5m_1,r.p5m_1))}static q5m(r,t,n,a,s,_,l,o,c,h,v,f,p,w,b){Ci(),(255&r)!==255&&Qr(r,255,zp().b5m_1);var g=Or(this);return g.d5m_1=t,g.e5m_1=n,g.f5m_1=a,g.g5m_1=s,g.h5m_1=_,g.i5m_1=l,g.j5m_1=o,g.k5m_1=c,(r&256)===0?g.l5m_1=null:g.l5m_1=h,(r&512)===0?g.m5m_1=null:g.m5m_1=v,(r&1024)===0?g.n5m_1=null:g.n5m_1=f,(r&2048)===0?g.o5m_1=null:g.o5m_1=p,(r&4096)===0?g.p5m_1=null:g.p5m_1=w,g}}d(e,"IntGrid",u,u,[Xa()],u,u,{0:zp}),Qv=e}return Qv}var rf;function ja(){if(rf===u){class e{t4o(){return this.q5k_1}s4m(){return this.r5k_1}r4m(){return this.t5k_1}t4n(){return this.x5k_1}o4n(){return this.y5k_1}m4p(){return this.a5l_1}a4n(){return this.b5l_1}p4n(){return this.c5l_1}toString(){return"AutoLayer(__identifier="+this.q5k_1+", __cWid="+this.r5k_1+", __cHei="+this.s5k_1+", __gridSize="+this.t5k_1+", pxOffsetX="+this.u5k_1+", pxOffsetY="+this.v5k_1+", seed="+this.w5k_1.toString()+", autoLayerTiles="+$(this.x5k_1)+", __tilesetRelPath="+this.y5k_1+", overrideTilesetUid="+this.z5k_1+", intGridCsv="+Jr(this.a5l_1)+", entityInstances="+Jr(this.b5l_1)+", gridTiles="+Jr(this.c5l_1)+")"}hashCode(){var r=br(this.q5k_1);return r=U(r,31)+this.r5k_1|0,r=U(r,31)+this.s5k_1|0,r=U(r,31)+this.t5k_1|0,r=U(r,31)+this.u5k_1|0,r=U(r,31)+this.v5k_1|0,r=U(r,31)+Et(this.w5k_1)|0,r=U(r,31)+Z(this.x5k_1)|0,r=U(r,31)+br(this.y5k_1)|0,r=U(r,31)+(this.z5k_1==null?0:this.z5k_1)|0,r=U(r,31)+(this.a5l_1==null?0:Z(this.a5l_1))|0,r=U(r,31)+(this.b5l_1==null?0:Z(this.b5l_1))|0,r=U(r,31)+(this.c5l_1==null?0:Z(this.c5l_1))|0,r}equals(r){return this===r?!0:!(!(r instanceof ja())||this.q5k_1!==r.q5k_1||this.r5k_1!==r.r5k_1||this.s5k_1!==r.s5k_1||this.t5k_1!==r.t5k_1||this.u5k_1!==r.u5k_1||this.v5k_1!==r.v5k_1||this.w5k_1!==r.w5k_1||!A(this.x5k_1,r.x5k_1)||this.y5k_1!==r.y5k_1||this.z5k_1!=r.z5k_1||!A(this.a5l_1,r.a5l_1)||!A(this.b5l_1,r.b5l_1)||!A(this.c5l_1,r.c5l_1))}static u5m(r,t,n,a,s,_,l,o,c,h,v,f,p,w,b){zi(),(511&r)!==511&&Qr(r,511,Ip().s5m_1);var g=Or(this);return g.q5k_1=t,g.r5k_1=n,g.s5k_1=a,g.t5k_1=s,g.u5k_1=_,g.v5k_1=l,g.w5k_1=o,g.x5k_1=c,g.y5k_1=h,(r&512)===0?g.z5k_1=null:g.z5k_1=v,(r&1024)===0?g.a5l_1=null:g.a5l_1=f,(r&2048)===0?g.b5l_1=null:g.b5l_1=p,(r&4096)===0?g.c5l_1=null:g.c5l_1=w,g}}d(e,"AutoLayer",u,u,[Xa()],u,u,{0:Ip}),rf=e}return rf}var tf;function Na(){if(tf===u){class e{t4o(){return this.d5k_1}s4m(){return this.e5k_1}r4m(){return this.g5k_1}p4n(){return this.k5k_1}o4n(){return this.l5k_1}m4p(){return this.n5k_1}a4n(){return this.o5k_1}t4n(){return this.p5k_1}toString(){return"TilesLayer(__identifier="+this.d5k_1+", __cWid="+this.e5k_1+", __cHei="+this.f5k_1+", __gridSize="+this.g5k_1+", pxOffsetX="+this.h5k_1+", pxOffsetY="+this.i5k_1+", seed="+this.j5k_1.toString()+", gridTiles="+$(this.k5k_1)+", __tilesetRelPath="+this.l5k_1+", overrideTilesetUid="+this.m5k_1+", intGridCsv="+Jr(this.n5k_1)+", entityInstances="+Jr(this.o5k_1)+", autoLayerTiles="+Jr(this.p5k_1)+")"}hashCode(){var r=br(this.d5k_1);return r=U(r,31)+this.e5k_1|0,r=U(r,31)+this.f5k_1|0,r=U(r,31)+this.g5k_1|0,r=U(r,31)+this.h5k_1|0,r=U(r,31)+this.i5k_1|0,r=U(r,31)+Et(this.j5k_1)|0,r=U(r,31)+Z(this.k5k_1)|0,r=U(r,31)+br(this.l5k_1)|0,r=U(r,31)+(this.m5k_1==null?0:this.m5k_1)|0,r=U(r,31)+(this.n5k_1==null?0:Z(this.n5k_1))|0,r=U(r,31)+(this.o5k_1==null?0:Z(this.o5k_1))|0,r=U(r,31)+(this.p5k_1==null?0:Z(this.p5k_1))|0,r}equals(r){return this===r?!0:!(!(r instanceof Na())||this.d5k_1!==r.d5k_1||this.e5k_1!==r.e5k_1||this.f5k_1!==r.f5k_1||this.g5k_1!==r.g5k_1||this.h5k_1!==r.h5k_1||this.i5k_1!==r.i5k_1||this.j5k_1!==r.j5k_1||!A(this.k5k_1,r.k5k_1)||this.l5k_1!==r.l5k_1||this.m5k_1!=r.m5k_1||!A(this.n5k_1,r.n5k_1)||!A(this.o5k_1,r.o5k_1)||!A(this.p5k_1,r.p5k_1))}static y5m(r,t,n,a,s,_,l,o,c,h,v,f,p,w,b){Si(),(511&r)!==511&&Qr(r,511,Ap().w5m_1);var g=Or(this);return g.d5k_1=t,g.e5k_1=n,g.f5k_1=a,g.g5k_1=s,g.h5k_1=_,g.i5k_1=l,g.j5k_1=o,g.k5k_1=c,g.l5k_1=h,(r&512)===0?g.m5k_1=null:g.m5k_1=v,(r&1024)===0?g.n5k_1=null:g.n5k_1=f,(r&2048)===0?g.o5k_1=null:g.o5k_1=p,(r&4096)===0?g.p5k_1=null:g.p5k_1=w,g}}d(e,"TilesLayer",u,u,[Xa()],u,u,{0:Ap}),tf=e}return tf}var ef;function La(){if(ef===u){class e{t4o(){return this.c5n_1}s4m(){return this.d5n_1}r4m(){return this.f5n_1}a4n(){return this.j5n_1}m4p(){return this.k5n_1}o4n(){return this.l5n_1}t4n(){return this.n5n_1}p4n(){return this.o5n_1}toString(){return"EntitiesLayer(__identifier="+this.c5n_1+", __cWid="+this.d5n_1+", __cHei="+this.e5n_1+", __gridSize="+this.f5n_1+", pxOffsetX="+this.g5n_1+", pxOffsetY="+this.h5n_1+", seed="+this.i5n_1.toString()+", entityInstances="+$(this.j5n_1)+", intGridCsv="+Jr(this.k5n_1)+", __tilesetRelPath="+this.l5n_1+", overrideTilesetUid="+this.m5n_1+", autoLayerTiles="+Jr(this.n5n_1)+", gridTiles="+Jr(this.o5n_1)+")"}hashCode(){var r=br(this.c5n_1);return r=U(r,31)+this.d5n_1|0,r=U(r,31)+this.e5n_1|0,r=U(r,31)+this.f5n_1|0,r=U(r,31)+this.g5n_1|0,r=U(r,31)+this.h5n_1|0,r=U(r,31)+Et(this.i5n_1)|0,r=U(r,31)+Z(this.j5n_1)|0,r=U(r,31)+(this.k5n_1==null?0:Z(this.k5n_1))|0,r=U(r,31)+(this.l5n_1==null?0:br(this.l5n_1))|0,r=U(r,31)+(this.m5n_1==null?0:this.m5n_1)|0,r=U(r,31)+(this.n5n_1==null?0:Z(this.n5n_1))|0,r=U(r,31)+(this.o5n_1==null?0:Z(this.o5n_1))|0,r}equals(r){return this===r?!0:!(!(r instanceof La())||this.c5n_1!==r.c5n_1||this.d5n_1!==r.d5n_1||this.e5n_1!==r.e5n_1||this.f5n_1!==r.f5n_1||this.g5n_1!==r.g5n_1||this.h5n_1!==r.h5n_1||this.i5n_1!==r.i5n_1||!A(this.j5n_1,r.j5n_1)||!A(this.k5n_1,r.k5n_1)||this.l5n_1!=r.l5n_1||this.m5n_1!=r.m5n_1||!A(this.n5n_1,r.n5n_1)||!A(this.o5n_1,r.o5n_1))}static p5n(r,t,n,a,s,_,l,o,c,h,v,f,p,w,b){qi(),(255&r)!==255&&Qr(r,255,Lp().a5n_1);var g=Or(this);return g.c5n_1=t,g.d5n_1=n,g.e5n_1=a,g.f5n_1=s,g.g5n_1=_,g.h5n_1=l,g.i5n_1=o,g.j5n_1=c,(r&256)===0?g.k5n_1=null:g.k5n_1=h,(r&512)===0?g.l5n_1=null:g.l5n_1=v,(r&1024)===0?g.m5n_1=null:g.m5n_1=f,(r&2048)===0?g.n5n_1=null:g.n5n_1=p,(r&4096)===0?g.o5n_1=null:g.o5n_1=w,g}}d(e,"EntitiesLayer",u,u,[Xa()],u,u,{0:Lp}),ef=e}return ef}var nf;function MP(){if(nf===u){class e{x3t(){var r=Y(Xa()),t=[Y(ja()),Y(La()),Y(Aa()),Y(Na())],n=[Ip(),Lp(),zp(),Ap()],a=[];return V0().k37("com.github.minigdx.tiny.resources.ldtk.Layer",r,t,n,a)}f3j(r){return this.x3t()}}ar(e,u,[f1()]),nf=e}return nf}var Mm;function TP(){return Mm}var af;function Xa(){if(af===u){class e{}Ir(e,"Layer",u,u,u,u,u,{0:TP}),af=e}return af}function DP(){return new(yr())(K())}function FP(){return new(yr())(K())}var sf;function PP(){if(sf===u){class e{constructor(){Mp=this;var r=this,t=ur(),n=_r(t,DP),a=ur();r.q5n_1=[null,null,n,_r(a,FP),null]}}ar(e),sf=e}return sf}var Mp;function Ii(){return Mp===u&&new(PP()),Mp}var uf;function BP(){if(uf===u){class e{constructor(){Tp=this;var r=new(Ur())("com.github.minigdx.tiny.resources.ldtk.Tile",this,5);r.c3i("a",!1),r.c3i("f",!1),r.c3i("px",!1),r.c3i("src",!1),r.c3i("t",!1),this.r5n_1=r}s5n(r,t){var n=this.r5n_1,a=r.m3a(n),s=Ii().q5n_1;a.z3b(n,0,t.v4o_1),a.x3b(n,1,t.w4o_1),a.e3c(n,2,s[2].v2(),t.x4o_1),a.e3c(n,3,s[3].v2(),t.y4o_1),a.x3b(n,4,t.z4o_1),a.n3a(n)}f36(r,t){return this.s5n(r,t instanceof Dp()?t:m())}g36(r){var t=this.r5n_1,n=!0,a=0,s=0,_=0,l=0,o=null,c=null,h=0,v=r.m3a(t),f=Ii().q5n_1;if(v.c3b())_=v.t3a(t,0),s=s|1,l=v.r3a(t,1),s=s|2,o=v.y3a(t,2,f[2].v2(),o),s=s|4,c=v.y3a(t,3,f[3].v2(),c),s=s|8,h=v.r3a(t,4),s=s|16;else for(;n;)switch(a=v.d3b(t),a){case-1:n=!1;break;case 0:_=v.t3a(t,0),s=s|1;break;case 1:l=v.r3a(t,1),s=s|2;break;case 2:o=v.y3a(t,2,f[2].v2(),o),s=s|4;break;case 3:c=v.y3a(t,3,f[3].v2(),c),s=s|8;break;case 4:h=v.r3a(t,4),s=s|16;break;default:throw Zr().y37(a)}return v.n3a(t),Dp().t5n(s,_,l,o,c,h,null)}e36(){return this.r5n_1}r3i(){var r=Ii().q5n_1;return[mt(),K(),r[2].v2(),r[3].v2(),K()]}}F(e).s3i=Wr,B(e,"$serializer",u,u,[Hr()]),uf=e}return uf}var Tp;function ue(){return Tp===u&&new(BP()),Tp}var _f;function Dp(){if(_f===u){class e{toString(){return"Tile(a="+this.v4o_1+", f="+this.w4o_1+", px="+$(this.x4o_1)+", src="+$(this.y4o_1)+", t="+this.z4o_1+")"}hashCode(){var r=Ht(this.v4o_1);return r=U(r,31)+this.w4o_1|0,r=U(r,31)+Z(this.x4o_1)|0,r=U(r,31)+Z(this.y4o_1)|0,r=U(r,31)+this.z4o_1|0,r}equals(r){return this===r?!0:!(!(r instanceof Dp())||!A(this.v4o_1,r.v4o_1)||this.w4o_1!==r.w4o_1||!A(this.x4o_1,r.x4o_1)||!A(this.y4o_1,r.y4o_1)||this.z4o_1!==r.z4o_1)}static t5n(r,t,n,a,s,_,l){Ii(),(31&r)!==31&&Qr(r,31,ue().r5n_1);var o=Or(this);return o.v4o_1=t,o.w4o_1=n,o.x4o_1=a,o.y4o_1=s,o.z4o_1=_,o}}d(e,"Tile",u,u,u,u,u,{0:ue}),_f=e}return _f}function RP(){return new(yr())(K())}function OP(){return new(yr())(mt())}function UP(){return new(yr())(x1())}function KP(){return new(yr())(K())}var lf;function GP(){if(lf===u){class e{constructor(){Fp=this;var r=this,t=ur(),n=_r(t,RP),a=ur(),s=_r(a,OP),_=ur(),l=_r(_,UP),o=ur();r.u5n_1=[n,null,s,null,null,l,null,null,null,_r(o,KP)]}}ar(e),lf=e}return lf}var Fp;function $i(){return Fp===u&&new(GP()),Fp}var of;function JP(){if(of===u){class e{constructor(){Pp=this;var r=new(Ur())("com.github.minigdx.tiny.resources.ldtk.Entity",this,10);r.c3i("__grid",!1),r.c3i("__identifier",!1),r.c3i("__pivot",!1),r.c3i("__worldX",!0),r.c3i("__worldY",!0),r.c3i("fieldInstances",!1),r.c3i("height",!1),r.c3i("width",!1),r.c3i("iid",!1),r.c3i("px",!1),this.v5n_1=r}w5n(r,t){var n=this.v5n_1,a=r.m3a(n),s=$i().u5n_1;a.e3c(n,0,s[0].v2(),t.b4n_1),a.c3c(n,1,t.c4n_1),a.e3c(n,2,s[2].v2(),t.d4n_1),(a.k3c(n,3)||t.e4n_1!=null)&&a.g3c(n,3,K(),t.e4n_1),(a.k3c(n,4)||t.f4n_1!=null)&&a.g3c(n,4,K(),t.f4n_1),a.e3c(n,5,s[5].v2(),t.g4n_1),a.x3b(n,6,t.h4n_1),a.x3b(n,7,t.i4n_1),a.c3c(n,8,t.j4n_1),a.e3c(n,9,s[9].v2(),t.k4n_1),a.n3a(n)}f36(r,t){return this.w5n(r,t instanceof Bp()?t:m())}g36(r){var t=this.v5n_1,n=!0,a=0,s=0,_=null,l=null,o=null,c=null,h=null,v=null,f=0,p=0,w=null,b=null,g=r.m3a(t),C=$i().u5n_1;if(g.c3b())_=g.y3a(t,0,C[0].v2(),_),s=s|1,l=g.w3a(t,1),s=s|2,o=g.y3a(t,2,C[2].v2(),o),s=s|4,c=g.a3b(t,3,K(),c),s=s|8,h=g.a3b(t,4,K(),h),s=s|16,v=g.y3a(t,5,C[5].v2(),v),s=s|32,f=g.r3a(t,6),s=s|64,p=g.r3a(t,7),s=s|128,w=g.w3a(t,8),s=s|256,b=g.y3a(t,9,C[9].v2(),b),s=s|512;else for(;n;)switch(a=g.d3b(t),a){case-1:n=!1;break;case 0:_=g.y3a(t,0,C[0].v2(),_),s=s|1;break;case 1:l=g.w3a(t,1),s=s|2;break;case 2:o=g.y3a(t,2,C[2].v2(),o),s=s|4;break;case 3:c=g.a3b(t,3,K(),c),s=s|8;break;case 4:h=g.a3b(t,4,K(),h),s=s|16;break;case 5:v=g.y3a(t,5,C[5].v2(),v),s=s|32;break;case 6:f=g.r3a(t,6),s=s|64;break;case 7:p=g.r3a(t,7),s=s|128;break;case 8:w=g.w3a(t,8),s=s|256;break;case 9:b=g.y3a(t,9,C[9].v2(),b),s=s|512;break;default:throw Zr().y37(a)}return g.n3a(t),Bp().x5n(s,_,l,o,c,h,v,f,p,w,b,null)}e36(){return this.v5n_1}r3i(){var r=$i().u5n_1;return[r[0].v2(),zr(),r[2].v2(),qr(K()),qr(K()),r[5].v2(),K(),K(),zr(),r[9].v2()]}}F(e).s3i=Wr,B(e,"$serializer",u,u,[Hr()]),of=e}return of}var Pp;function Pn(){return Pp===u&&new(JP()),Pp}var cf;function Bp(){if(cf===u){class e{toString(){return"Entity(__grid="+$(this.b4n_1)+", __identifier="+this.c4n_1+", __pivot="+$(this.d4n_1)+", __worldX="+this.e4n_1+", __worldY="+this.f4n_1+", fieldInstances="+$(this.g4n_1)+", height="+this.h4n_1+", width="+this.i4n_1+", iid="+this.j4n_1+", px="+$(this.k4n_1)+")"}hashCode(){var r=Z(this.b4n_1);return r=U(r,31)+br(this.c4n_1)|0,r=U(r,31)+Z(this.d4n_1)|0,r=U(r,31)+(this.e4n_1==null?0:this.e4n_1)|0,r=U(r,31)+(this.f4n_1==null?0:this.f4n_1)|0,r=U(r,31)+Z(this.g4n_1)|0,r=U(r,31)+this.h4n_1|0,r=U(r,31)+this.i4n_1|0,r=U(r,31)+br(this.j4n_1)|0,r=U(r,31)+Z(this.k4n_1)|0,r}equals(r){return this===r?!0:!(!(r instanceof Bp())||!A(this.b4n_1,r.b4n_1)||this.c4n_1!==r.c4n_1||!A(this.d4n_1,r.d4n_1)||this.e4n_1!=r.e4n_1||this.f4n_1!=r.f4n_1||!A(this.g4n_1,r.g4n_1)||this.h4n_1!==r.h4n_1||this.i4n_1!==r.i4n_1||this.j4n_1!==r.j4n_1||!A(this.k4n_1,r.k4n_1))}static x5n(r,t,n,a,s,_,l,o,c,h,v,f){$i(),(999&r)!==999&&Qr(r,999,Pn().v5n_1);var p=Or(this);return p.b4n_1=t,p.c4n_1=n,p.d4n_1=a,(r&8)===0?p.e4n_1=null:p.e4n_1=s,(r&16)===0?p.f4n_1=null:p.f4n_1=_,p.g4n_1=l,p.h4n_1=o,p.i4n_1=c,p.j4n_1=h,p.k4n_1=v,p}}d(e,"Entity",u,u,u,u,u,{0:Pn}),cf=e}return cf}var hf;function WP(){if(hf===u){class e{}ar(e),hf=e}return hf}var vf;function Rp(){if(vf===u){class e{constructor(r,t,n){this.l4n_1=r,this.m4n_1=t,this.n4n_1=n}toString(){return"CustomField(__identifier="+this.l4n_1+", __type="+this.m4n_1+", __value="+Jr(this.n4n_1)+")"}hashCode(){var r=br(this.l4n_1);return r=U(r,31)+br(this.m4n_1)|0,r=U(r,31)+(this.n4n_1==null?0:Z(this.n4n_1))|0,r}equals(r){return this===r?!0:!(!(r instanceof Rp())||this.l4n_1!==r.l4n_1||this.m4n_1!==r.m4n_1||!A(this.n4n_1,r.n4n_1))}}d(e,"CustomField",u,u,u,u,u,{0:x1}),vf=e}return vf}var ff;function HP(){if(ff===u){class e{x3t(){return Up()}}ar(e),ff=e}return ff}var WI,df;function VP(){if(df===u){class e{constructor(){Op=this;var r=new(Ur())("com.github.minigdx.tiny.resources.ldtk.EntityRef",this,4);r.c3i("entityIid",!1),r.c3i("layerIid",!1),r.c3i("levelIid",!1),r.c3i("worldIid",!1),this.y5n_1=r}z5n(r,t){var n=this.y5n_1,a=r.m3a(n);a.c3c(n,0,t.b4p_1),a.c3c(n,1,t.c4p_1),a.c3c(n,2,t.d4p_1),a.c3c(n,3,t.e4p_1),a.n3a(n)}f36(r,t){return this.z5n(r,t instanceof Fs()?t:m())}g36(r){var t=this.y5n_1,n=!0,a=0,s=0,_=null,l=null,o=null,c=null,h=r.m3a(t);if(h.c3b())_=h.w3a(t,0),s=s|1,l=h.w3a(t,1),s=s|2,o=h.w3a(t,2),s=s|4,c=h.w3a(t,3),s=s|8;else for(;n;)switch(a=h.d3b(t),a){case-1:n=!1;break;case 0:_=h.w3a(t,0),s=s|1;break;case 1:l=h.w3a(t,1),s=s|2;break;case 2:o=h.w3a(t,2),s=s|4;break;case 3:c=h.w3a(t,3),s=s|8;break;default:throw Zr().y37(a)}return h.n3a(t),Fs().a5o(s,_,l,o,c,null)}e36(){return this.y5n_1}r3i(){return[zr(),zr(),zr(),zr()]}}F(e).s3i=Wr,B(e,"$serializer",u,u,[Hr()]),df=e}return df}var Op;function Up(){return Op===u&&new(VP()),Op}var pf;function Fs(){if(pf===u){class e{toString(){return"EntityRef(entityIid="+this.b4p_1+", layerIid="+this.c4p_1+", levelIid="+this.d4p_1+", worldIid="+this.e4p_1+")"}hashCode(){var r=br(this.b4p_1);return r=U(r,31)+br(this.c4p_1)|0,r=U(r,31)+br(this.d4p_1)|0,r=U(r,31)+br(this.e4p_1)|0,r}equals(r){return this===r?!0:!(!(r instanceof Fs())||this.b4p_1!==r.b4p_1||this.c4p_1!==r.c4p_1||this.d4p_1!==r.d4p_1||this.e4p_1!==r.e4p_1)}static a5o(r,t,n,a,s,_){(15&r)!==15&&Qr(r,15,Up().y5n_1);var l=Or(this);return l.b4p_1=t,l.c4p_1=n,l.d4p_1=a,l.e4p_1=s,l}}d(e,"EntityRef",u,u,u,u,u,{0:Up}),pf=e}return pf}var mf;function YP(){if(mf===u){class e{x3t(){return Gp()}}ar(e),mf=e}return mf}var HI,gf;function ZP(){if(gf===u){class e{constructor(){Kp=this;var r=new(Ur())("com.github.minigdx.tiny.resources.ldtk.TilesetRect",this,5);r.c3i("h",!1),r.c3i("tilesetUid",!1),r.c3i("w",!1),r.c3i("x",!1),r.c3i("y",!1),this.b5o_1=r}c5o(r,t){var n=this.b5o_1,a=r.m3a(n);a.x3b(n,0,t.h4p_1),a.x3b(n,1,t.i4p_1),a.x3b(n,2,t.j4p_1),a.x3b(n,3,t.k4p_1),a.x3b(n,4,t.l4p_1),a.n3a(n)}f36(r,t){return this.c5o(r,t instanceof Ps()?t:m())}g36(r){var t=this.b5o_1,n=!0,a=0,s=0,_=0,l=0,o=0,c=0,h=0,v=r.m3a(t);if(v.c3b())_=v.r3a(t,0),s=s|1,l=v.r3a(t,1),s=s|2,o=v.r3a(t,2),s=s|4,c=v.r3a(t,3),s=s|8,h=v.r3a(t,4),s=s|16;else for(;n;)switch(a=v.d3b(t),a){case-1:n=!1;break;case 0:_=v.r3a(t,0),s=s|1;break;case 1:l=v.r3a(t,1),s=s|2;break;case 2:o=v.r3a(t,2),s=s|4;break;case 3:c=v.r3a(t,3),s=s|8;break;case 4:h=v.r3a(t,4),s=s|16;break;default:throw Zr().y37(a)}return v.n3a(t),Ps().d5o(s,_,l,o,c,h,null)}e36(){return this.b5o_1}r3i(){return[K(),K(),K(),K(),K()]}}F(e).s3i=Wr,B(e,"$serializer",u,u,[Hr()]),gf=e}return gf}var Kp;function Gp(){return Kp===u&&new(ZP()),Kp}var wf;function Ps(){if(wf===u){class e{toString(){return"TilesetRect(h="+this.h4p_1+", tilesetUid="+this.i4p_1+", w="+this.j4p_1+", x="+this.k4p_1+", y="+this.l4p_1+")"}hashCode(){var r=this.h4p_1;return r=U(r,31)+this.i4p_1|0,r=U(r,31)+this.j4p_1|0,r=U(r,31)+this.k4p_1|0,r=U(r,31)+this.l4p_1|0,r}equals(r){return this===r?!0:!(!(r instanceof Ps())||this.h4p_1!==r.h4p_1||this.i4p_1!==r.i4p_1||this.j4p_1!==r.j4p_1||this.k4p_1!==r.k4p_1||this.l4p_1!==r.l4p_1)}static d5o(r,t,n,a,s,_,l){(31&r)!==31&&Qr(r,31,Gp().b5o_1);var o=Or(this);return o.h4p_1=t,o.i4p_1=n,o.j4p_1=a,o.k4p_1=s,o.l4p_1=_,o}}d(e,"TilesetRect",u,u,u,u,u,{0:Gp}),wf=e}return wf}var bf;function XP(){if(bf===u){class e{x3t(){return Wp()}}ar(e),bf=e}return bf}var VI,yf;function QP(){if(yf===u){class e{constructor(){Jp=this;var r=new(Ur())("com.github.minigdx.tiny.resources.ldtk.GridPoint",this,2);r.c3i("cx",!1),r.c3i("cy",!1),this.e5o_1=r}f5o(r,t){var n=this.e5o_1,a=r.m3a(n);a.x3b(n,0,t.f4p_1),a.x3b(n,1,t.g4p_1),a.n3a(n)}f36(r,t){return this.f5o(r,t instanceof Bs()?t:m())}g36(r){var t=this.e5o_1,n=!0,a=0,s=0,_=0,l=0,o=r.m3a(t);if(o.c3b())_=o.r3a(t,0),s=s|1,l=o.r3a(t,1),s=s|2;else for(;n;)switch(a=o.d3b(t),a){case-1:n=!1;break;case 0:_=o.r3a(t,0),s=s|1;break;case 1:l=o.r3a(t,1),s=s|2;break;default:throw Zr().y37(a)}return o.n3a(t),Bs().g5o(s,_,l,null)}e36(){return this.e5o_1}r3i(){return[K(),K()]}}F(e).s3i=Wr,B(e,"$serializer",u,u,[Hr()]),yf=e}return yf}var Jp;function Wp(){return Jp===u&&new(QP()),Jp}var kf;function Bs(){if(kf===u){class e{toString(){return"GridPoint(cx="+this.f4p_1+", cy="+this.g4p_1+")"}hashCode(){var r=this.f4p_1;return r=U(r,31)+this.g4p_1|0,r}equals(r){return this===r?!0:!(!(r instanceof Bs())||this.f4p_1!==r.f4p_1||this.g4p_1!==r.g4p_1)}static g5o(r,t,n,a){(3&r)!==3&&Qr(r,3,Wp().e5o_1);var s=Or(this);return s.f4p_1=t,s.g4p_1=n,s}}d(e,"GridPoint",u,u,u,u,u,{0:Wp}),kf=e}return kf}function YI(e,i,r){if(r instanceof Ue())return null;var t;switch(i){case"Int":var n=r==null?null:ye(r),a=n==null?null:n.e3u();t=a==null?null:Ys(a);break;case"Float":var s=r==null?null:ye(r),_=s==null?null:s.e3u(),l;_==null?l=null:l=h0(_),t=l;break;case"String":case"Multilines":case"Text":case"FilePath":case"Color":var o=r==null?null:ye(r);t=o==null?null:o.e3u();break;case"Bool":var c=r==null?null:ye(r),h=c==null?null:c.e3u();t=h==null?null:ub(h);break;case"Point":var v;r==null?v=null:v=Be().v3r(VI.x3t(),r),t=v;break;case"Tile":var f;r==null?f=null:f=Be().v3r(HI.x3t(),r),t=f;break;case"EntityRef":var p;r==null?p=null:p=Be().v3r(WI.x3t(),r),t=p;break;default:var w;if(Sa(i,"LocalEnum.")){var b=r==null?null:ye(r);w=b==null?null:b.e3u()}else if(Sa(i,"Array<")){var g=vb(O$(i,"Array<"),">"),C=r==null?null:eT(r),S;if(C==null)S=null;else{for(var k=j().d1(Cr(C,10)),E=C.e1();E.f1();){var D=E.g1(),P=YI(x1(),g,D);k.c1(P)}S=k}w=S}else throw W().u(i+" is not supported. Is the type describe exist in LdTK ? (https://ldtk.io/json/#ldtk-FieldInstanceJson) If yes, please fill an issue to support it in Tiny (https://github.com/minigdx/tiny/issues).");t=w;break}return t}function rB(e){return e.u36("__type",oq("__type",vn())),e.u36("__value",w1.x3t().e36()),z}var xf;function tB(){if(xf===u){class e{constructor(){Hp=this;var r=this;r.h5o_1=D0("CustomField",[],rB)}e36(){return this.h5o_1}i5o(r,t){throw R$().o8("LdTk file is not supposed to be serialized. If you need to update it, Use LdTk instead: https://ldtk.io/")}f36(r,t){return this.i5o(r,t instanceof Rp()?t:m())}g36(r){var t=w1.x3t().g36(r),n=tT(t),a=n.x1m("__identifier"),s=a==null?null:ye(a),_=tr(s==null?null:s.e3u()),l=n.x1m("__type"),o=l==null?null:ye(l),c=tr(o==null?null:o.e3u()),h=n.x1m("__value");return new(Rp())(_,c,YI(this,c,h))}}B(e,"CustomFieldSerializer",u,u,[V()]),xf=e}return xf}var Hp;function x1(){return Hp===u&&new(tB()),Hp}function eB(){return k1(),UI}function nB(){return k1(),KI}function aB(){return k1(),GI}function iB(){return k1(),JI}Mm=new(MP());new(WP());WI=new(HP());HI=new(YP());VI=new(XP());var Cf;function ZI(){if(Cf===u){class e{constructor(r,t,n,a,s,_,l){a=a===u?OI():a,this.m48_1=r,this.n48_1=t,this.o48_1=n,this.p48_1=a,this.q48_1=s,this.r48_1=_,this.s48_1=l}j48(){return this.m48_1}z47(){return this.n48_1}f48(){return this.o48_1}y47(){return this.p48_1}a48(r){this.q48_1=r}i48(){return this.q48_1}}d(e,"GameLevel",u,u,[Ya()]),Cf=e}return Cf}var mw=Math.imul,zf;function sB(){if(zf===u){class e extends mr(){static w4w(r,t){return t===u&&(t={}),t.v4w_1=r,this.n2r(t)}i1q(r,t){var n=this.v4w_1.a4x_1.y49(this.v4w_1.c4x_1),a=n==null?null:n.x48_1,s;if(a==null)return y().d1k_1;s=a;var _=s,l=r.k1p(),o=t.k1p();if(XI(this.v4w_1,_,l,o)){var c=_.l4d(l,o),h=c[0];return y().a1u(h)}else return y().d1k_1}}d(e,"pget",u,u,u,[0,1,2,3]),zf=e}return zf}function XI(e,i,r,t){return(0<=r?r=n.length)return y().g1k_1;var a=this.s4x_1;this.s4x_1=a+1|0;var s=n[a],_=t.w1m(s);return _}}d(e,u,u,u,u,[1,2,0,3]),jf=e}return jf}var Nf;function vB(){if(Nf===u){class e extends Yt(){static w4x(){return this.p2q()}s1q(r){var t=tr(r.q1m(1)),n=r.l1p(2)-1|0;if(n<1)return y().g1k_1;var a=t.l1(n);if(a.l1o())return y().g1k_1;var s=y(),_=[y().a1u(n),a];return s.r25(_)}}d(e,u,u,u,u,[1,2,0,3]),Nf=e}return Nf}var Lf;function fB(){if(Lf===u){class e extends mr(){static a4y(r,t){return t===u&&(t={}),t.z4x_1=r,this.n2r(t)}h1q(r){return F(mr()).h1q.call(this,r)}i1q(r,t){var n;t.o1m()?n=Vp(this,tr(t.p1m())):n=sr().q1i();var a=n,s=Vp(this,tr(r.p1m()));return a.v1m(s),s.j1n("__index",s),a}}d(e,"new",u,u,u,[0,1,2,3]),Lf=e}return Lf}var Mf;function dB(){if(Mf===u){class e extends mr(){static e4y(r,t){return t===u&&(t={}),t.d4y_1=r,this.n2r(t)}i1q(r,t){var n;if(r.o1m()&t.o1m()){r instanceof sr()||m(),t instanceof sr()||m();for(var a=r.w1n(),s=0,_=a.length;s<_;){var l=a[s];s=s+1|0;var o=r.w1m(l);t.c1n(l,o)}return t}else n=y().d1k_1;return n}}d(e,"merge",u,u,u,[0,1,2,3]),Mf=e}return Mf}var Tf;function pB(){if(Tf===u){class e extends mr(){static i4y(r,t){return t===u&&(t={}),t.h4y_1=r,this.n2r(t)}i1q(r,t){var n;if(r.o1m()&t.o1m()){r instanceof sr()||m(),t instanceof sr()||m();for(var a=r.w1n(),s=0,_=a.length;s<_;){var l=a[s];s=s+1|0;var o=r.w1m(l);t.l1n(0,o)}n=t}else n=y().d1k_1;return n}}d(e,"append",u,u,u,[0,1,2,3]),Tf=e}return Tf}var Df;function mB(){if(Df===u){class e extends Yt(){static m4y(r,t){return t===u&&(t={}),t.l4y_1=r,this.p2q(t)}s1q(r){var t=hB().t4x(),n;r.m1o(1)?n=sr().q1i():n=tr(r.q1m(1));var a=n;return y().z20(t,a)}}d(e,"all",u,u,u,[1,2,0,3]),Df=e}return Df}var Ff;function gB(){if(Ff===u){class e extends Yt(){static q4y(r,t){return t===u&&(t={}),t.p4y_1=r,this.p2q(t)}s1q(r){var t=vB().w4x(),n=tr(r.q1m(1));return y().a21(t,n,y().a1u(n.o1n()+1|0))}}d(e,"rpairs",u,u,u,[1,2,0,3]),Ff=e}return Ff}var Pf;function wB(){if(Pf===u){class e extends wr(){static u4y(r,t){return t===u&&(t={}),t.t4y_1=r,this.r2r(t)}h1q(r){return this.u2q(r,y().a1u(0),y().a1u(0),y().a1v("#FFFFFF"))}j1q(r,t,n){return this.u2q(r,t,n,y().a1v("#FFFFFF"))}u2q(r,t,n,a){var s=this.t4y_1.y4y_1.x49(),_;if(s==null)return y().g1k_1;_=s;for(var l=_,o=r.a1g(),c=t.k1p(),h=n.k1p(),v=bB(this.t4y_1,a),f=4,p=c,w=h,b=0;bn;a.c3(r,s)}l51(r,t){var n=CB().i51(t),a=this.v4l_1,s=()=>n;a.c3(r,s)}w1m(r){var t=r.q1p(),n=this.v4l_1,a=(L(n,kt())?n:m()).y2(t),s=a==null?null:a();return s??y().d1k_1}c1n(r,t){var n=r.q1p(),a=this.w4l_1,s=(L(a,kt())?a:m()).y2(n);s?.(t)}}d(e,"WrapperLuaTable",e.x4l,u,u,[0,1,2,3]),Kf=e}return Kf}var Tm=Math.imul;function ww(e,i,r,t){var n=ke().x4l();return n.q4m("toggle",()=>{if(e.j4m_1.g4m_1.length===0){for(var a=e.j4m_1,s=0,_=t.o4m_1.h1(),l=Array(_);s<_;)l[s]=!0,s=s+1|0;a.g4m_1=l}var o=e.j4m_1.g4m_1[r];return e.j4m_1.g4m_1[r]=!o,y().w26(o)}),n}function zB(e,i,r){var t=i/e.r4m()|0,n=r/e.r4m()|0;return t+Tm(n,e.s4m())|0}function SB(e,i,r){var t=i/e.r4m()|0,n=r/e.r4m()|0;return t+Tm(n,e.s4m())|0}function r7(e,i,r){var t=e.y4m_1.y2(i),n,a,s;if(t==null||e.w4m_1!==e.z4m_1.e4m_1)s=!0;else{var _=e.v4m_1,l=e.z4m_1.a4m_1.c4a(e.z4m_1.e4m_1);s=_!==(l==null?null:l.m48_1)}if(s?a=!0:a=e.x4m_1!==e.z4m_1.f4m_1,a){e.w4m_1=e.z4m_1.e4m_1;var o=e,c=e.z4m_1.a4m_1.c4a(e.z4m_1.e4m_1),h=c==null?null:c.m48_1;o.v4m_1=h??-1,e.x4m_1=e.z4m_1.f4m_1;var v=r();e.y4m_1.c3(i,v),n=v}else n=t;return n}function qB(e,i,r,t){return i=i===u?null:i,r7(e,i,r)}function bw(e,i){for(var r=j().p1(),t=i.e1();t.f1();){var n=t.g1();n.a4n()!=null&&r.c1(n)}for(var a=j().p1(),s=r.e1();s.f1();){var _=s.g1(),l=_.a4n(),o=l??_t();ya(a,o)}for(var c=jr().sa(),h=a.e1();h.f1();){var v=h.g1(),f=v.c4n_1,p=c.y2(f),w;if(p==null){var b=j().p1();c.c3(f,b),w=b}else w=p;var g=w;g.c1(v)}for(var C=j().p1(),S=c.b3().e1();S.f1();){for(var k=S.g1(),E=k.u2(),D=k.v2(),P=y().a1v(E),O=y(),H=j().d1(Cr(D,10)),G=D.e1();G.f1();){var X=G.g1(),Q=IB(e,X);H.c1(Q)}var rr=ut(H),er=Rr([P,O.z26(rr)]);ya(C,er)}var ir=ut(C);return y().a27(ir)}function IB(e,i){var r=sr().q1i(),t=i.k4n_1,n=t.l1(0),a=t.l1(1);r.d1n("x",y().a1u(n)),r.d1n("y",y().a1u(a));var s=i.b4n_1,_=s.l1(0),l=s.l1(1);r.d1n("cx",y().a1u(_)),r.d1n("cy",y().a1u(l));var o=i.e4n_1;o==null||r.d1n("world_x",y().a1u(o));var c=i.f4n_1;c==null||r.d1n("world_y",y().a1u(c)),r.d1n("iid",y().a1v(i.j4n_1)),r.d1n("width",y().a1u(i.i4n_1)),r.d1n("height",y().a1u(i.h4n_1));for(var h=y(),v=i.g4n_1,f=j().p1(),p=v.e1();p.f1();){var w=p.g1(),b=$B(e,w);ya(f,b)}var g=ut(f);return r.d1n("fields",h.a27(g)),r}function $B(e,i){return Rr([y().a1v(i.l4n_1),t7(e.z4m_1,i.n4n_1)])}function t7(e,i){var r;if(i!=null&&typeof i=="number")r=y().a1u(i);else if(i!=null&&typeof i=="number")r=y().b1u(i);else if(i!=null&&typeof i=="string")r=y().a1v(i);else if(i!=null&&typeof i=="boolean")r=y().w26(i);else if(i instanceof Fs())r=FB(e,i);else if(i instanceof Bs())r=PB(e,i);else if(i instanceof Ps())r=BB(e,i);else if(i!=null&&L(i,Zs())){for(var t=y(),n=j().d1(Cr(i,10)),a=i.e1();a.f1();){var s=a.g1(),_=t7(e,s);n.c1(_)}var l=ut(n);r=t.z26(l)}else if(i==null)r=y().d1k_1;else throw W().u("Field of type "+$(cr(i))+" cannot be converted to LuaValue. It's a missing feature: the game engine needs to be updated.");return r}function yw(e,i,r){var t=tr(i.s48_1.y2(tr(r.o4n()))),n=r.p4n();if(n!=null)for(var a=n.e1();a.f1();){var s=a.g1();xw(e.s4n_1,t,r.r4m(),s)}var _=r.t4n();if(_!=null)for(var l=_.e1();l.f1();){var o=l.g1();xw(e.s4n_1,t,r.r4m(),o)}}var Gf;function EB(){if(Gf===u){class e extends wr(){static x4n(r,t){return t===u&&(t={}),t.w4n_1=r,this.r2r(t)}g1q(){return y().a1u(this.w4n_1.f4m_1)}h1q(r){if(r.i1o()){var t=r.k1p(),n=this.w4n_1.a4m_1.c4a(this.w4n_1.e4m_1),a;if(n==null)return y().d1k_1;a=n;var s=a;if(0<=t&&t<=s.r48_1.a4o_1.h1()){var _=y().a1u(this.w4n_1.f4m_1);return this.w4n_1.f4m_1=t,_}else return y().d1k_1}else{var l=r.a1g(),o=this.w4n_1.a4m_1.c4a(this.w4n_1.e4m_1),c;if(o==null)return y().d1k_1;c=o;var h=c,v=h.r48_1.a4o_1,f;r:{for(var p=0,w=v.e1();w.f1();){var b=w.g1();if(b.l4m_1===l||b.k4m_1===l){f=p;break r}p=p+1|0}f=-1}var g=f;if(g!==-1){var C=y().a1u(this.w4n_1.f4m_1);return this.w4n_1.f4m_1=g,C}else return y().d1k_1}}}d(e,"level",u,u,u,[0,1,2,3]),Gf=e}return Gf}var Jf;function AB(){if(Jf===u){class e extends et(){static b4o(r,t){return t===u&&(t={}),t.j4m_1=r,this.i2w(t)}h1q(r){var t=_e(this.j4m_1);if(r.l1o()){var n;if(t==null)return y().d1k_1;n=t;for(var a=n,s=a.o4m_1,_=j().d1(Cr(s,10)),l=0,o=s.e1();o.f1();){var c=o.g1(),h=l;l=h+1|0;var v=te(h),f=ww(this,c,v,a);_.c1(f)}var p=_,w=y(),b=ut(p);return w.z26(b)}var g=Qa(this.j4m_1,r),C;if(g==null)return y().d1k_1;C=g;var S=C,k=t==null?null:t.o4m_1,E=k==null?null:Da(k,S),D=E==null?null:ww(this,E,S,t);return D??y().d1k_1}g1q(){return F(et()).g1q.call(this)}}d(e,"layer",u,u,u,[1,0,2,3]),Jf=e}return Jf}var Wf;function jB(){if(Wf===u){class e extends mr(){static f4o(r,t){return t===u&&(t={}),t.e4o_1=r,this.n2r(t)}i1q(r,t){var n;r.o1m()?n=T(r.x1m("cx").t1o(),r.x1m("cy").t1o()):n=T(r.k1p(),t.k1p());var a=n,s=a.wd(),_=a.xd(),l=sr().s20(2,2);return l.d1n("x",y().b1u(s*this.e4o_1.d4m_1.ud_1)),l.d1n("y",y().b1u(_*this.e4o_1.d4m_1.vd_1)),l}h1q(r){return F(mr()).h1q.call(this,r)}}d(e,"from",u,u,u,[0,1,2,3]),Wf=e}return Wf}var Hf;function NB(){if(Hf===u){class e extends mr(){static j4o(r,t){return t===u&&(t={}),t.i4o_1=r,this.n2r(t)}i1q(r,t){var n;r.o1m()?n=T(r.x1m("x").t1o(),r.x1m("y").t1o()):n=T(r.k1p(),t.k1p());var a=n,s=a.wd(),_=a.xd(),l=sr().s20(2,2),o=y(),c=s/this.i4o_1.d4m_1.ud_1,h=Math.floor(c);l.d1n("cx",o.b1u(h));var v=y(),f=_/this.i4o_1.d4m_1.vd_1,p=Math.floor(f);return l.d1n("cy",v.b1u(p)),l}h1q(r){return F(mr()).h1q.call(this,r)}}d(e,"to",u,u,u,[0,1,2,3]),Hf=e}return Hf}var Vf;function LB(){if(Vf===u){class e extends wr(){static n4o(r,t){return t===u&&(t={}),t.m4o_1=r,this.r2r(t)}i1q(r,t){var n=_e(this.m4o_1),a;if(n==null)return y().d1k_1;a=n;var s=a;return Cw(this.m4o_1,m0(s.o4m_1),r.k1p(),t.k1p())}j1q(r,t,n){var a=_e(this.m4o_1),s;if(a==null)return y().d1k_1;s=a;var _=s,l=Qa(this.m4o_1,n),o;if(l==null)return y().d1k_1;o=l;var c=o;return Cw(this.m4o_1,gb(_.o4m_1.l1(c)),r.k1p(),t.k1p())}}d(e,"cflag",u,u,u,[0,1,2,3]),Vf=e}return Vf}var Yf;function MB(){if(Yf===u){class e extends wr(){static r4o(r,t){return t===u&&(t={}),t.q4o_1=r,this.r2r(t)}i1q(r,t){var n=_e(this.q4o_1),a;if(n==null)return y().d1k_1;a=n;var s=a,_=m0(s.o4m_1),l=r.k1p(),o=t.k1p();return Xp(this.q4o_1,_,l,o,zB)}j1q(r,t,n){var a=_e(this.q4o_1),s;if(a==null)return y().d1k_1;s=a;var _=s,l=Qa(this.q4o_1,n),o;if(l==null)return y().d1k_1;o=l;var c=o,h=gb(_.o4m_1.l1(c)),v=r.k1p(),f=t.k1p();return Xp(this.q4o_1,h,v,f,SB)}}d(e,"flag",u,u,u,[0,1,2,3]),Yf=e}return Yf}var Zf;function TB(){if(Zf===u){class e extends wr(){static s4o(r,t){t===u&&(t={}),t.z4m_1=r;var n=this.r2r(t);n.v4m_1=-1,n.w4m_1=-1,n.x4m_1=-1;var a=n;return a.y4m_1=jr().sa(),n}g1q(){var r=_e(this.z4m_1),t;if(r==null)return y().g1k_1;t=r;var n=t;return qB(this,u,()=>bw(this,n.o4m_1))}h1q(r){var t=_e(this.z4m_1),n;if(t==null)return y().g1k_1;n=t;var a=n,s=Qa(this.z4m_1,r),_;if(s==null)return y().g1k_1;_=s;var l=_,o=a.o4m_1.l1(l),c=o.t4o();return r7(this,c,()=>bw(this,Tw(o)))}}d(e,"entities",u,u,u,[0,1,2,3]),Zf=e}return Zf}function kw(e,i){if(e.g4m_1.length===0)return!0;var r=e.g4m_1,t;if(0<=i&&i<=(r.length-1|0))t=r[i];else return!0;return t}function _e(e){var i=e.a4m_1.c4a(e.e4m_1),r=i==null?null:i.r48_1,t=r==null?null:r.a4o_1;return t==null?null:Da(t,e.f4m_1)}function Qa(e,i){var r=_e(e),t;if(r==null)return null;t=r;var n=t,a;if(i.i1o()){var s=i.k1p(),_;Da(n.o4m_1,s)!=null?_=s:_=null,a=_}else{var l=i.q1p(),o=n.o4m_1,c;r:{for(var h=0,v=o.e1();v.f1();){var f=v.g1();if(f.t4o()===l){c=h;break r}h=h+1|0}c=-1}var p=c,w;p!==-1?w=p:w=null,a=w}return a}var Xf;function DB(){if(Xf===u){class e extends wr(){static u4o(r,t){return t===u&&(t={}),t.s4n_1=r,this.r2r(t)}g1q(){var r=this.s4n_1.a4m_1.c4a(this.s4n_1.e4m_1),t;if(r==null)return y().d1k_1;t=r;var n=t,a=_e(this.s4n_1),s;if(a==null)return y().d1k_1;s=a;for(var _=s,l=_.o4m_1,o=j().p1(),c=0,h=l.e1();h.f1();){var v=h.g1(),f=c;c=f+1|0;var p=te(f);kw(this.s4n_1,p)&&v.o4n()!=null&&o.c1(v)}for(var w=m0(G$(o)),b=w.e1();b.f1();){var g=b.g1();yw(this,n,g)}return y().g1k_1}h1q(r){var t=Qa(this.s4n_1,r),n;if(t==null)return y().d1k_1;n=t;var a=n;if(!kw(this.s4n_1,a))return y().d1k_1;var s=_e(this.s4n_1),_=s==null?null:s.o4m_1,l=_==null?null:Da(_,a),o;if(l==null)return y().d1k_1;o=l;var c=o;if(c.o4n()==null)return y().d1k_1;var h=this.s4n_1.a4m_1.c4a(this.s4n_1.e4m_1),v;if(h==null)return y().d1k_1;v=h;var f=v;return yw(this,f,c),y().g1k_1}}d(e,"draw",u,u,u,[0,1,2,3]),Xf=e}return Xf}function xw(e,i,r,t){var n=t.y4o_1,a=n.l1(0),s=n.l1(1),_=t.x4o_1,l=_.l1(0),o=_.l1(1),c=RB(t.w4o_1),h=c.wd(),v=c.xd();e.c4m_1.a4p(i,a,s,r,r,l,o,h,v)}function FB(e,i){var r=sr().q1i();return r.d1n("entityIid",y().a1v(i.b4p_1)),r.d1n("layerIid",y().a1v(i.c4p_1)),r.d1n("levelIid",y().a1v(i.d4p_1)),r.d1n("worldIid",y().a1v(i.e4p_1)),r}function PB(e,i){var r=sr().q1i();return r.d1n("cx",y().a1u(i.f4p_1)),r.d1n("cy",y().a1u(i.g4p_1)),r}function BB(e,i){var r=sr().q1i();return r.d1n("x",y().a1u(i.k4p_1)),r.d1n("y",y().a1u(i.l4p_1)),r.d1n("w",y().a1u(i.j4p_1)),r.d1n("h",y().a1u(i.h4p_1)),r.d1n("tilesetUid",y().a1u(i.i4p_1)),r}function Xp(e,i,r,t,n){var a=J$(i,UB),s=W$(a,v=>{var f=n(v,r,t),p=tr(v.m4p()),w;return 0<=f&&f"x ("+r+") has to be between 0 and "+this.e4d_1+" (excluded)");var _=nn,l=0<=t?t"y ("+t+") has to be between 0 and "+this.f4d_1+" (excluded)");var o=nn,c=n.length===this.g4d_1;o.l4c(c,()=>"the assigned pixel needs to conform the pixel format ("+this.g4d_1+")");for(var h=Math.max(0,r),v=this.e4d_1-1|0,f=Math.min(h,v),p=Math.max(0,t),w=this.f4d_1-1|0,b=Math.min(p,w),g=de(f+de(b,this.e4d_1)|0,this.g4d_1),C=0,S=0,k=n.length;S=0&&r"x ("+r+") has to be between 0 and "+this.e4d_1+" (excluded)");var s=nn,_=t>=0&&t"y ("+t+") has to be between 0 and "+this.f4d_1+" (excluded)");var l=de(r+de(t,this.e4d_1)|0,this.g4d_1);switch(this.g4d_1){case 4:this.j4d_1[0]=this.h4d_1[l],this.j4d_1[1]=this.h4d_1[l+1|0],this.j4d_1[2]=this.h4d_1[l+2|0],this.j4d_1[3]=this.h4d_1[l+3|0];break;case 3:this.j4d_1[0]=this.h4d_1[l],this.j4d_1[1]=this.h4d_1[l+1|0],this.j4d_1[2]=this.h4d_1[l+2|0];break;case 1:this.j4d_1[0]=this.h4d_1[l];break}return this.j4d_1}toString(){for(var r=de(this.e4d_1,this.g4d_1),t=0,n=0,a=Bn().ka(this.i4d_1+this.f4d_1|0);t=r&&(n=0,a.ga(` -`));return a.toString()}}d(e,"PixelArray"),t3=e}return t3}var VB=Math.imul,e3;function _7(){if(e3===u){class e{constructor(r,t){this.r5l_1=r,this.s5l_1=t}toString(){return"SpriteSheetKey(index="+this.r5l_1+", type="+this.s5l_1.toString()+")"}hashCode(){var r=this.r5l_1;return r=VB(r,31)+this.s5l_1.hashCode()|0,r}equals(r){return this===r?!0:!(!(r instanceof _7())||this.r5l_1!==r.r5l_1||!this.s5l_1.equals(r.s5l_1))}}d(e,"SpriteSheetKey"),e3=e}return e3}var n3;function Jn(){if(n3===u){class e{constructor(r,t,n,a,s,_,l,o,c){o=o===u?null:o,c=c===u?!1:c,this.t48_1=r,this.u48_1=t,this.v48_1=n,this.w48_1=a,this.x48_1=s,this.y48_1=_,this.z48_1=l,this.a49_1=o,this.b49_1=c,this.c49_1=new(_7())(this.u48_1,this.w48_1)}j48(){return this.t48_1}z47(){return this.u48_1}f48(){return this.v48_1}y47(){return this.w48_1}a48(r){this.b49_1=r}i48(){return this.b49_1}}d(e,"SpriteSheet",u,u,[Ya()]),n3=e}return n3}function YB(e,i){var r;if(i.p1g()){var t=i.a1g(),n=e.w4h_1.r4h_1.z49(t),a=n==null?null:n.u48_1,s=a??e.w4h_1.r4h_1.a4a();r=T(s,t)}else{var _=i.t1o(),l=e.w4h_1.r4h_1.y49(_),o=l==null?null:l.v48_1;r=T(_,o??"frame_buffer_"+_)}return r}function qw(e){var i=e.z4h_1.t4h_1.a4i(),r=i.wd(),t=i.xd(),n=sr().q1i();return n.f1n("x",r),n.f1n("y",t),n}var a3;function ZB(){if(a3===u){class e extends wr(){static g4i(r,t){t===u&&(t={}),t.f4i_1=r;var n=this.r2r(t);n.d4i_1=0;var a=n;return a.e4i_1=[Sw(),GB(),JB(),WB(),HB()],n}g1q(){var r=y().a1u(this.d4i_1);return this.d4i_1=0,this.f4i_1.t4h_1.h4i(Sw()),r}h1q(r){var t=this.d4i_1,n=r.k1p();if(!(0<=n&&n=this.b4g_1.length||t<0)return y().f1k_1;var n=this.b4g_1[t];return y().w26(this.c4g_1.u4f_1.m4d(n))}}d(e,"pressed",u,u,u,[1,0,2,3]),d3=e}return d3}var p3;function lR(){if(p3===u){class e extends et(){static h4g(r,t){return t===u&&(t={}),t.g4g_1=r,this.i2w(t)}h1q(r){var t=Iy(),n=r.k1p();if(n>=t.length||n<0)return y().f1k_1;var a=t[n];return y().w26(this.g4g_1.u4f_1.n4d(a))}}d(e,"pressing",u,u,u,[1,0,2,3]),p3=e}return p3}var m3;function oR(){if(m3===u){class e extends et(){static l4g(r,t){return t===u&&(t={}),t.k4g_1=r,this.i2w(t)}h1q(r){var t=R5(),n=r.k1p();if(n>=t.length||n<0)return y().f1k_1;var a=R5()[n],s=this.k4g_1.u4f_1.p4d(a),_;if(s==null)_=null;else{var l=sr().q1i();l.f1n("x",Pr(s.t4e_1)),l.f1n("y",Pr(s.u4e_1)),_=l}var o=_,c=o??y().d1k_1;return c}}d(e,"touched",u,u,u,[1,0,2,3]),m3=e}return m3}var g3;function cR(){if(g3===u){class e extends et(){static p4g(r,t){return t===u&&(t={}),t.o4g_1=r,this.i2w(t)}h1q(r){var t=En(),n=ut(t),a=r.k1p();if(a>=n.length||a<0)return y().f1k_1;var s=En().l1(a),_=this.o4g_1.u4f_1.o4d(s),l;if(_==null)l=null;else{var o=sr().q1i();o.f1n("x",Pr(_.t4e_1)),o.f1n("y",Pr(_.u4e_1)),l=o}var c=l,h=c??y().d1k_1;return h}}d(e,"touching",u,u,u,[1,0,2,3]),g3=e}return g3}var w3;function hR(){if(w3===u){class e extends mr(){static q4g(r,t){var n=this.n2r();return n.u4f_1=r,n.v4f_1=QI().r4g(t),n}i1q(r,t){var n=sr().q1i();return n.d1n("pressed",_R().d4g(this)),n.d1n("pressing",lR().h4g(this)),n.d1n("touch",uR().r4f(this)),n.d1n("touched",oR().l4g(this)),n.d1n("touching",cR().p4g(this)),t.d1n("ctrl",n),t.x1m("package").x1m("loaded").d1n("ctrl",n),n}}d(e,"CtrlLib",u,u,u,[0,1,2,3]),w3=e}return w3}function vR(e,i){return()=>y().b1u(e.j4s_1.z4t_1[i])}function fR(e,i){return r=>(e.j4s_1.z4t_1[i]=r.s1o(),z)}var b3;function dR(){if(b3===u){class e extends ke(){static l4s(r,t,n){var a=this.x4l();a.i4s_1=r,a.j4s_1=t,a.k4s_1=n,a.j51("index",()=>y().a1u(a.j4s_1.s4t_1)),a.j51("all",()=>{for(var v=sr().q1i(),f=a.i4s_1.u4a_1,p=j().p1(),w=0,b=f.length;w{var v=a.j4s_1.t4t_1,f;v==null?f=null:f=y().a1v(v);var p=f;return p??y().d1k_1};a.k51("name",s,v=>(a.j4s_1.t4t_1=v.d1p(null),z));var _=()=>y().a1v(a.j4s_1.u4t_1.e3_1);a.k51("wave",_,v=>{var f=a.j4s_1,p=v.q1p(),w;p==null?w=null:w=uD(p);var b=w;return f.u4t_1=b??on(),z});var l=()=>y().b1u(a.j4s_1.v4t_1);a.k51("attack",l,v=>(a.j4s_1.v4t_1=v.a1p(0),z));var o=()=>y().b1u(a.j4s_1.w4t_1);a.k51("decay",o,v=>(a.j4s_1.w4t_1=v.a1p(0),z));var c=()=>y().b1u(a.j4s_1.x4t_1);a.k51("sustain",c,v=>(a.j4s_1.x4t_1=v.a1p(0),z));var h=()=>y().b1u(a.j4s_1.y4t_1);return a.k51("release",h,v=>(a.j4s_1.y4t_1=v.a1p(0),z)),a.j51("sweep",()=>{var v=ke().x4l(),f=()=>{var b=a.j4s_1.a4u_1.l1(0).m51();return y().w26(b)};v.k51("active",f,b=>{var g=b.y1o(!1);return a.j4s_1.a4u_1.l1(0).n51(g),z});var p=()=>{var b=y(),g=a.j4s_1.a4u_1.l1(0);return b.b1u((g instanceof Qt()?g:m()).p51_1)};v.k51("acceleration",p,b=>{var g=a.j4s_1.a4u_1.l1(0);return(g instanceof Qt()?g:m()).p51_1=b.a1p(0),z});var w=()=>{var b=y(),g=a.j4s_1.a4u_1.l1(0);return b.b1u((g instanceof Qt()?g:m()).o51_1)};return v.k51("sweep",w,b=>{var g=a.j4s_1.a4u_1.l1(0);return(g instanceof Qt()?g:m()).o51_1=b.a1p(0),z}),v}),a.j51("vibrato",()=>{var v=ke().x4l(),f=()=>{var b=a.j4s_1.a4u_1.l1(1).m51();return y().w26(b)};v.k51("active",f,b=>{var g=b.y1o(!1);return a.j4s_1.a4u_1.l1(1).n51(g),z});var p=()=>{var b=y(),g=a.j4s_1.a4u_1.l1(1);return b.b1u((g instanceof re()?g:m()).r51_1)};v.k51("frequency",p,b=>{var g=a.j4s_1.a4u_1.l1(1);return(g instanceof re()?g:m()).r51_1=b.a1p(0),z});var w=()=>{var b=y(),g=a.j4s_1.a4u_1.l1(1);return b.b1u((g instanceof re()?g:m()).s51_1)};return v.k51("depth",w,b=>{var g=a.j4s_1.a4u_1.l1(1);return(g instanceof re()?g:m()).s51_1=b.a1p(0),z}),v}),a.l51("note_on",v=>{var f=Oe().j4r(v.a1g());return a.k4s_1.r4w(f,a.j4s_1),y().g1k_1}),a.l51("note_off",v=>{var f=Oe().j4r(v.a1g());return a.k4s_1.q4w(f),y().g1k_1}),a.j51("harmonics",()=>{var v=ke().x4l(),f=xt(0,a.j4s_1.z4t_1.length),p=f.v1_1,w=f.w1_1;if(p<=w)do{var b=p;p=p+1|0;var g=b,C=""+(g+1|0),S=vR(a,g);v.k51(C,S,fR(a,g))}while(b!==w);return v}),a}}d(e,"InstrumentLuaWrapper",u,u,u,[0,1,2,3]),b3=e}return b3}var y3;function pR(){if(y3===u){class e{constructor(r){this.u51_1=r}eh(r,t){return this.u51_1(r,t)}compare(r,t){return this.eh(r,t)}l3(){return this.u51_1}equals(r){var t;if(r!=null&&L(r,ne())){var n;r!=null&&L(r,tt())?n=A(this.l3(),r.l3()):n=!1,t=n}else t=!1;return t}hashCode(){return Z(this.l3())}}d(e,"sam$kotlin_Comparator$0",u,u,[ne(),tt()]),y3=e}return y3}function mR(e){var i=Oe().j4r(e.a1g()),r=sr().q1i();return r.d1n("note",y().a1v(i.e3_1)),r.d1n("notei",y().a1u(i.f4r_1)),r.d1n("octave",y().a1u(i.k4r())),r}function gR(e,i){var r=e.w51_1,t=i.w51_1;return Ma(r,t)}var k3;function wR(){if(k3===u){class e extends ke(){static r4t(r,t,n,a){var s=this.x4l();s.n4t_1=r,s.o4t_1=t,s.p4t_1=n,s.q4t_1=a,s.j51("index",()=>y().a1u(s.o4t_1.x4a_1)),s.j51("all",()=>{for(var l=sr().q1i(),o=s.n4t_1.x4s_1.r4s_1.v4a_1,c=j().d1(o.length),h=0,v=o.length;hy().a1u(s.o4t_1.a4b_1);return s.k51("bpm",_,l=>(s.o4t_1.a4b_1=l.k1p(),z)),s.l51("set_volume",l=>{var o=l.x1m("beat").r1o(),c=l.x1m("volume").r1o();return s.o4t_1.d52(o,c),y().g1k_1}),s.l51("set_note",l=>{var o=l.x1m("beat").r1o(),c=Oe().j4r(l.x1m("note").a1g()),h=l.x1m("duration").r1o(),v=l.x1m("unique").y1o(!1);return s.o4t_1.e52(c,o,h,v),y().g1k_1}),s.l51("remove_note",l=>{var o=l.x1m("beat").r1o(),c=Oe().j4r(l.x1m("note").a1g());return s.o4t_1.f52(c,o),y().g1k_1}),s.l51("note_data",mR),s.j51("notes",()=>{for(var l=sr().q1i(),o=s.o4t_1.b4b_1,c=gR,h=new(pR())(c),v=Us(o,h),f=j().d1(Cr(v,10)),p=v.e1();p.f1();){var w=p.g1(),b=sr().q1i(),g=w.v51_1,C=g==null?null:g.e3_1,S;C==null?S=null:S=y().a1v(C);var k=S;b.d1n("note",k??y().d1k_1);var E=w.v51_1,D=E==null?null:E.f4r_1,P;D==null?P=null:P=y().a1u(D);var O=P;b.d1n("notei",O??y().d1k_1);var H=w.v51_1,G=H==null?null:H.k4r(),X;G==null?X=null:X=y().a1u(G);var Q=X;b.d1n("octave",Q??y().d1k_1),b.d1n("volume",y().b1u(w.y51_1)),b.d1n("beat",y().b1u(w.w51_1)),b.d1n("duration",y().b1u(w.x51_1)),f.c1(b)}for(var rr=0,er=f.e1();er.f1();){var ir=er.g1(),hr=rr;rr=hr+1|0;var or=te(hr);l.l1n(or+1|0,ir)}return l}),s.q4m("play",()=>{var l=s.p4t_1.i4w(s.o4t_1);l.k4w();var o=l,c=ke().x4l();return c.q4m("stop",()=>(o.j4w(),y().g1k_1)),c}),s.l51("set_instrument",l=>{var o;if(l.l1o()){var c=s.o4t_1.y4a_1,h;c==null?h=null:h=y().a1u(c.s4t_1);var v=h;o=v??y().d1k_1}else{var f=l.k1p(),p=g0(s.n4t_1.x4s_1.r4s_1.u4a_1,f),w;if(p==null)return y().d1k_1;w=p;var b=w;s.o4t_1.y4a_1=b,s.o4t_1.z4a_1=b.s4t_1,o=y().g1k_1}return o}),s.j51("instrument",()=>{var l=s.o4t_1.y4a_1,o=l==null?null:l.s4t_1,c;o==null?c=null:c=y().a1u(o);var h=c;return h??y().d1k_1}),s.q4m("export",()=>{var l=s.p4t_1.l4b(s.o4t_1);return s.q4t_1.g52(l),y().g1k_1}),s}}d(e,"SfxLuaWrapper",u,u,u,[0,1,2,3]),k3=e}return k3}function Iw(e,i,r){return dR().l4s(i,r,e.b4s_1.v4r_1)}var x3;function bR(){if(x3===u){class e extends bb(){static p4s(r,t){return t===u&&(t={}),t.o4s_1=r,this.x35(t)}g1q(){var r=this.o4s_1.u4r_1.d4a(0),t;if(r==null)return y().d1k_1;t=r;var n=t,a=n.x4s_1.r4s_1.a4t();return this.o4s_1.w4r_1.b4t(n.w4s_1,a),y().g1k_1}}d(e,"save",u,u,u,[0,1,2,3]),x3=e}return x3}var C3;function yR(){if(C3===u){class e extends wr(){static c4t(r,t){return t===u&&(t={}),t.b4s_1=r,this.r2r(t)}h1q(r){var t=this.b4s_1.u4r_1.d4a(0),n=t==null?null:t.x4s_1,a=n==null?null:n.r4s_1,s;if(a==null)return y().d1k_1;s=a;var _=s,l=xR(this.b4s_1,r,_),o;if(l==null)return y().d1k_1;o=l;var c=o,h=this.b4s_1.y4r_1.y2(c),v;if(h==null){var f=g0(_.u4a_1,c),p;if(f==null)p=null;else{var w=Iw(this,_,f);this.b4s_1.y4r_1.c3(c,w),p=w}v=p}else v=h;var b=v;return b??y().d1k_1}i1q(r,t){var n=this.h1q(r),a=this.b4s_1.u4r_1.d4a(0),s=a==null?null:a.x4s_1,_=s==null?null:s.r4s_1,l;if(_==null)return y().d1k_1;l=_;var o=l,c;if(n.equals(y().d1k_1)&&t.y1o(!1)){var h=r.t1o(),v=new(At())(h);o.u4a_1[h]=v,this.b4s_1.y4r_1.d3(h),c=Iw(this,o,v)}else c=n;return c}}d(e,"instrument",u,u,u,[0,1,2,3]),C3=e}return C3}var z3;function kR(){if(z3===u){class e extends et(){static g4t(r,t){return t===u&&(t={}),t.f4t_1=r,this.i2w(t)}h1q(r){var t=this.f4t_1.u4r_1.d4a(0),n;if(t==null)return y().d1k_1;n=t;var a=n,s=r.k1p(),_=g0(a.x4s_1.r4s_1.v4a_1,s),l;_==null?l=null:l=wR().r4t(a,_,this.f4t_1.v4r_1,this.f4t_1.w4r_1);var o=l;return o??y().d1k_1}}d(e,"sfx",u,u,u,[1,0,2,3]),z3=e}return z3}function xR(e,i,r){var t;if(i.i1o()){var n=i.k1p(),a=r.u4a_1,s;r:{for(var _=0,l=a.length;_(_.j4w(),y().g1k_1)),n?_.l4w():_.k4w()}else s.q4m("stop",zR);return s}}d(e,"sfx",u,u,u,[0,1,2,3]),q3=e}return q3}var I3;function qR(){if(I3===u){class e extends mr(){static p4w(r,t){return t===u&&(t={}),t.o4w_1=r,this.n2r(t)}i1q(r,t){var n=Oe().j4r(tr(r.q1p())),a=t.b1p(0),s=ke().x4l();s.q4m("stop",()=>(this.o4w_1.g4w_1.q4w(n),y().g1k_1));var _=IR(this.o4w_1,a);return this.o4w_1.h4w_1&&_!=null&&this.o4w_1.g4w_1.r4w(n,_),s}}d(e,"note",u,u,u,[0,1,2,3]),I3=e}return I3}function IR(e,i){var r=e.f4w_1.d4a(0),t=r==null?null:r.x4s_1,n=t==null?null:t.r4s_1,a=n==null?null:n.u4a_1,s;if(a==null)return null;s=a;var _=s,l;return 0<=i&&i<_.length?l=_[i]:l=null,l}function $R(e,i){var r=e.f4w_1.d4a(0),t=r==null?null:r.x4s_1,n=t==null?null:t.r4s_1,a=n==null?null:n.v4a_1,s;if(a==null)return null;s=a;var _=s,l;return 0<=i&&i<_.length?l=_[i]:l=null,l}var $3;function ER(){if($3===u){class e extends mr(){static s4w(r,t,n){n=n===u?!0:n;var a=this.n2r();return a.f4w_1=r,a.g4w_1=t,a.h4w_1=n,a}i1q(r,t){var n=sr().q1i();return n.d1n("sfx",SR().c4w(this)),n.d1n("note",qR().p4w(this)),t.d1n("sound",n),t.x1m("package").x1m("loaded").d1n("sound",n),n}}d(e,"SoundLib",u,u,u,[0,1,2,3]),$3=e}return $3}var ci=Math.imul;function E3(e,i){var r;return i.n1o()?r=i.k1p():r=e.f4u_1.r47().i4c(tr(i.q1p())),r}var A3;function AR(){if(A3===u){class e{constructor(r){this.f4u_1=r}g4u(r){var t=r.e1q();if(1<=t&&t<=1){var n=r.f1q().r1m(null),a;if(n==null)return null;a=n;var s=a;return Rr([s.x1m("x").k1p(),s.x1m("y").k1p(),s.x1m("width").k1p(),s.x1m("height").k1p(),E3(this,s.x1m("color"))])}else if(2<=t&&t<=2){var _=r.f1q().r1m(null),l;if(_==null)return null;l=_;var o=l;return Rr([o.x1m("x").k1p(),o.x1m("y").k1p(),o.x1m("width").k1p(),o.x1m("height").k1p(),E3(this,r.d1q(2))])}else{if(3<=t&&t<=4)return null;var c=r.d1q(1).k1p(),h=r.d1q(2).k1p(),v=r.d1q(3).k1p(),f=r.d1q(4).k1p(),p=E3(this,r.d1q(5));return Rr([c,h,v,f,p])}}}d(e,"Shape"),A3=e}return A3}function jR(e,i,r,t,n,a){return i===t&&r===n?y().g1k_1:(e.o4u_1.k4u_1.p4u(i,r,t,n,a),y().g1k_1)}var j3;function NR(){if(j3===u){class e extends wr(){static t4u(r,t){return t===u&&(t={}),t.s4u_1=r,this.r2r(t)}s1q(r){var t=this.s4u_1.l4u_1.g4u(r),n;if(t==null)return y().d1k_1;n=t;var a=n,s=a.l1(0),_=a.l1(1),l=a.l1(2),o=a.l1(3),c=a.l1(4);return this.s4u_1.k4u_1.u4u(s,_,l,o,c,!1),y().d1k_1}h1q(r){return F(wr()).h1q.call(this,r)}i1q(r,t){return F(wr()).i1q.call(this,r,t)}}d(e,"rect",u,u,u,[0,1,2,3]),j3=e}return j3}var N3;function LR(){if(N3===u){class e extends wr(){static y4u(r,t){return t===u&&(t={}),t.x4u_1=r,this.r2r(t)}s1q(r){var t=this.x4u_1.l4u_1.g4u(r),n;if(t==null)return y().d1k_1;n=t;var a=n,s=a.l1(0),_=a.l1(1),l=a.l1(2),o=a.l1(3),c=a.l1(4);return this.x4u_1.k4u_1.u4u(s,_,l,o,c,!0),y().d1k_1}h1q(r){return F(wr()).h1q.call(this,r)}i1q(r,t){return F(wr()).i1q.call(this,r,t)}}d(e,"rectf",u,u,u,[0,1,2,3]),N3=e}return N3}function Wn(e,i){var r;return i.n1o()?r=i.k1p():r=e.j4u_1.r47().i4c(tr(i.q1p())),r}var L3;function MR(){if(L3===u){class e extends wr(){static c4v(r,t){return t===u&&(t={}),t.b4v_1=r,this.r2r(t)}u2q(r,t,n,a){var s=r.k1p(),_=t.k1p(),l=n.k1p(),o=Wn(this.b4v_1,a);return this.b4v_1.k4u_1.d4v(s,_,l,o,!0),y().g1k_1}}d(e,"circlef",u,u,u,[0,1,2,3]),L3=e}return L3}var M3;function l7(){if(M3===u){class e extends wr(){static e4v(r,t){return t===u&&(t={}),t.o4u_1=r,this.r2r(t)}s1q(r){switch(r.e1q()){case 0:return this.g1q();case 1:return this.h1q(r.f1q());case 2:return this.i1q(r.f1q(),r.d1q(2));case 3:return this.j1q(r.f1q(),r.d1q(2),r.d1q(3));case 4:return this.u2q(r.f1q(),r.d1q(2),r.d1q(3),r.d1q(4));default:return jR(this,r.f1q().k1p(),r.d1q(2).k1p(),r.d1q(3).k1p(),r.d1q(4).k1p(),Wn(this.o4u_1,r.d1q(5)))}}u2q(r,t,n,a){var s=[r,t,n,a,y().a1v("#FFFFFF")];return this.u1q(s),y().g1k_1}}d(e,"line",u,u,u,[0,1,2,3]),M3=e}return M3}var T3;function TR(){if(T3===u){class e extends wr(){static i4v(r,t){return t===u&&(t={}),t.h4v_1=r,this.r2r(t)}j1q(r,t,n){return this.u2q(r,t,n,y().a1v("#FFFFFF"))}u2q(r,t,n,a){var s=r.k1p(),_=t.k1p(),l=n.k1p(),o=Wn(this.h4v_1,a);return this.h4v_1.k4u_1.d4v(s,_,l,o,!1),y().g1k_1}}d(e,"circle",u,u,u,[0,1,2,3]),T3=e}return T3}var D3;function DR(){if(D3===u){class e extends wr(){static m4v(r,t){return t===u&&(t={}),t.l4v_1=r,this.r2r(t)}s1q(r){if(r.e1q()<7)throw Je().z1u("Expected 7 args");var t=r.l1p(1),n=r.l1p(2),a=r.l1p(3),s=r.l1p(4),_=r.l1p(5),l=r.l1p(6),o=Wn(this.l4v_1,r.d1q(7));return this.l4v_1.k4u_1.n4v(t,n,a,s,_,l,o,!0),y().g1k_1}}d(e,"trianglef",u,u,u,[0,1,2,3]),D3=e}return D3}var F3;function FR(){if(F3===u){class e extends wr(){static s4v(r,t){t===u&&(t={}),t.r4v_1=r;var n=this.r2r(t);return n.q4v_1=l7().e4v(n.r4v_1),n}s1q(r){if(r.e1q()<7)throw Je().z1u("Expected 7 args");var t=r.l1p(1),n=r.l1p(2),a=r.l1p(3),s=r.l1p(4),_=r.l1p(5),l=r.l1p(6),o=Wn(this.r4v_1,r.d1q(7));return this.r4v_1.k4u_1.n4v(t,n,a,s,_,l,o,!1),y().g1k_1}}d(e,"triangle",u,u,u,[0,1,2,3]),F3=e}return F3}var P3;function PR(){if(P3===u){class e extends wr(){static x4v(r,t){t===u&&(t={}),t.w4v_1=r;var n=this.r2r(t);return n.v4v_1=Rr([0,1,1025,1029,1285,1317,34085,34213,42405,42407,44455,44463,44975,44991,61375,61439,65535]),n}s1q(r){if(r.e1q()<6)throw Je().z1u("Expected 6 args");var t=r.l1p(1),n=r.l1p(2),a=r.l1p(3),s=r.l1p(4),_=Wn(this.w4v_1,r.d1q(6)),l=r.z1o(7,!1);this.w4v_1.k4u_1.u4u(r.d1q(1).k1p(),r.d1q(2).k1p(),r.d1q(3).k1p(),r.d1q(4).k1p(),r.d1q(5).k1p(),!0);for(var o=this.w4v_1.k4u_1.m4j(65535),c=0,h=this.v4v_1.e1();h.f1();){var v=h.g1(),f=c;c=f+1|0;var p=te(f);if(l){var w=t+(ci(a,p)/this.v4v_1.h1()|0)|0,b=t+(ci(a,p+1|0)/this.v4v_1.h1()|0)|0;this.w4v_1.k4u_1.m4j(v),this.w4v_1.k4u_1.u4u(w,n,b-w|0,s,_,!0)}else{var g=n+(ci(s,p)/this.v4v_1.h1()|0)|0,C=n+(ci(s,p+1|0)/this.v4v_1.h1()|0)|0;this.w4v_1.k4u_1.m4j(v),this.w4v_1.k4u_1.u4u(t,g,a,C-g|0,_,!0)}}return this.w4v_1.k4u_1.m4j(o),y().d1k_1}}d(e,"gradient",u,u,u,[0,1,2,3]),P3=e}return P3}var B3;function BR(){if(B3===u){class e extends mr(){static y4v(r,t){var n=this.n2r();return n.j4u_1=r,n.k4u_1=t,n.l4u_1=new(AR())(n.j4u_1),n}i1q(r,t){var n=sr().q1i();return n.d1n("line",l7().e4v(this)),n.d1n("rect",NR().t4u(this)),n.d1n("rectf",LR().y4u(this)),n.d1n("circle",TR().i4v(this)),n.d1n("circlef",MR().c4v(this)),n.d1n("trianglef",DR().m4v(this)),n.d1n("triangle",FR().s4v(this)),n.d1n("gradient",PR().x4v(this)),t.d1n("shape",n),t.x1m("package").x1m("loaded").d1n("shape",n),n}}d(e,"ShapeLib",u,u,u,[0,1,2,3]),B3=e}return B3}function o7(e,i,r){var t;if(i.o1m()){var n=i instanceof sr()?i:m(),a;if(r.a2(Z(n)))a="table[<"+Z(n)+">]";else{r.c1(Z(n));var s=n.w1n(),_=H$(s," ",u,u,u,u,o=>fb(o.d1p("nil"),":")+o7(e,n.w1m(o),r));a="table["+_+"]"}t=a}else if(i.g1o()){var l=xt(0,i.e1q());t="function("+jt(l,", ",u,u,u,u,UR)+")"}else t=i.toString();return t}function RR(e,i,r,t){var n;return r===u?n=bt().o1():n=r,r=n,o7(e,i,r)}var R3;function OR(){if(R3===u){class e extends Yt(){static v4g(r,t){return t===u&&(t={}),t.u4g_1=r,this.p2q(t)}s1q(r){var t=r.e1q(),n=ee(1,t),a=jt(n," ",u,u,u,u,s=>RR(this.u4g_1,r.d1q(s)));return this.u4g_1.y4g_1.r45("🐛",()=>a),y().d1k_1}}d(e,"console",u,u,u,[1,2,0,3]),R3=e}return R3}function UR(e){return"arg"}var O3;function KR(){if(O3===u){class e extends mr(){static z4g(r){var t=this.n2r();return t.y4g_1=r,t}i1q(r,t){var n=sr().q1i();return n.d1n("console",OR().v4g(this)),t.d1n("debug",n),t.x1m("package").x1m("loaded").d1n("debug",n),n}}d(e,"DebugLib",u,u,u,[0,1,2,3]),O3=e}return O3}var U3;function GR(){if(U3===u){class e extends mr(){static q4l(){return this.n2r()}i1q(r,t){var n=sr().q1i(),a=og(x(97),x(122)),s=a.wl_1,_=a.xl_1;if(s<=_)do{var l=new(J())(s);s=cg(s,1);var o=l.d2_1,c=ge(o,x(97));n.d1n(Ar(o),Tt().a1u(Py().f3_1+c|0))}while(!A(l,new(J())(_)));var h=og(x(48),x(57)),v=h.wl_1,f=h.xl_1;if(v<=f)do{var p=new(J())(v);v=cg(v,1);var w=p.d2_1,b=ge(w,x(48));n.d1n(Ar(w),Tt().a1u(Fy().f3_1+b|0))}while(!A(p,new(J())(f)));return n.d1n("up",Tt().a1u(My().f3_1)),n.d1n("down",Tt().a1u(Dy().f3_1)),n.d1n("right",Tt().a1u(Ty().f3_1)),n.d1n("left",Tt().a1u(Ly().f3_1)),n.d1n("space",Tt().a1u(Ny().f3_1)),n.d1n("enter",Tt().a1u(Ey().f3_1)),n.d1n("shift",Tt().a1u(Ay().f3_1)),n.d1n("ctrl",Tt().a1u(ca().f3_1)),n.d1n("alt",Tt().a1u(jy().f3_1)),n.d1n("delete",Tt().a1u($y().f3_1)),t.d1n("keys",n),t.x1m("package").x1m("loaded").d1n("keys",n),n}}d(e,"KeysLib",e.q4l,u,u,[0,1,2,3]),U3=e}return U3}function K3(e,i){return i*i*i*(i*(i*6-15)+10)}function Pt(e,i){return(i+1|0)&255}function Ne(e,i,r,t,n){var a=i&15,s=a<8?r:t,_;a<4?_=t:a===12||a===14?_=r:_=n;var l=_;return((a&1)===0?s:-s)+((a&2)===0?l:-l)}function Ze(e,i,r,t){return i+t*(r-i)}var G3;function JR(){if(G3===u){class e extends et(){static r4p(r,t){return t===u&&(t={}),t.q4p_1=r,this.i2w(t)}h1q(r){var t;return r.r1o()>=0?t=y().i1k_1:t=h7().s4p_1,t}}d(e,"sign",u,u,u,[1,0,2,3]),G3=e}return G3}var J3;function WR(){if(J3===u){class e extends mr(){static w4p(r,t){return t===u&&(t={}),t.v4p_1=r,this.n2r(t)}i1q(r,t){var n=r.r1o(),a=t.r1o(),s=Math.atan2(n,a);return y().b1u(s)}}d(e,"atan2",u,u,u,[0,1,2,3]),J3=e}return J3}var W3;function HR(){if(W3===u){class e extends t1(){static a4q(r,t){return t===u&&(t={}),t.z4p_1=r,this.u35(t)}j1q(r,t,n){var a;r.r1o()>t.r1o()?a=r:a=t;var s=a,_;s.r1o()0){var s=en().wk(1,n.o1n()+1|0);a=n.l1(s)}else a=y().d1k_1;t=a}else{var _;if(r.i1o())_=y().a1u(en().q1(Nn(r.t1o())));else{var l=y(),o=en(),c=r.r1o(),h=Math.abs(c);_=l.b1u(o.zk(h))}t=_}return t}i1q(r,t){if(t.l1o())return this.h1q(r);var n=r.t1o(),a=t.t1o(),s;return n===a?s=y().a1u(n):s=y().a1u(en().wk(n,a)),s}}d(e,"rnd",u,u,u,[0,1,2,3]),Y3=e}return Y3}var Z3;function ZR(){if(Z3===u){class e extends mr(){static r4q(r,t){return t===u&&(t={}),t.q4q_1=r,this.n2r(t)}i1q(r,t){var n=r.x1m("x").t1o(),a=r.x1m("y").t1o(),s=r.x1m("width").t1o(),_=r.x1m("height").t1o(),l=t.x1m("x").t1o(),o=t.x1m("y").t1o(),c=t.x1m("width").t1o(),h=t.x1m("height").t1o();return y().w26(n<(l+c|0)&&(n+s|0)>l&&a<(o+h|0)&&(a+_|0)>o)}}d(e,"roverlap",u,u,u,[0,1,2,3]),Z3=e}return Z3}var X3;function XR(){if(X3===u){class e extends t1(){static w4q(r,t,n){n===u&&(n={}),n.v4q_1=r;var a=this.u35(n),s=V$(Ta(ee(0,255)),Kw(t)),_=a,l=j().p1(),o=0;if(o<512)do{var c=o;o=o+1|0,l.c1(s.l1(c&255))}while(o<512);return _.u4q_1=l,a}x4q(r,t,n){var a=Math.floor(r),s=Pr(a)&255,_=Math.floor(t),l=Pr(_)&255,o=Math.floor(n),c=Pr(o)&255,h=r-Math.floor(r),v=t-Math.floor(t),f=n-Math.floor(n),p=K3(this,h),w=K3(this,v),b=K3(this,f),g=this.u4q_1.l1(this.u4q_1.l1(this.u4q_1.l1(s)+l|0)+c|0),C=this.u4q_1.l1(this.u4q_1.l1(this.u4q_1.l1(s)+Pt(this,l)|0)+c|0),S=this.u4q_1.l1(this.u4q_1.l1(this.u4q_1.l1(s)+l|0)+Pt(this,c)|0),k=this.u4q_1.l1(this.u4q_1.l1(this.u4q_1.l1(s)+Pt(this,l)|0)+Pt(this,c)|0),E=this.u4q_1.l1(this.u4q_1.l1(this.u4q_1.l1(Pt(this,s))+l|0)+c|0),D=this.u4q_1.l1(this.u4q_1.l1(this.u4q_1.l1(Pt(this,s))+Pt(this,l)|0)+c|0),P=this.u4q_1.l1(this.u4q_1.l1(this.u4q_1.l1(Pt(this,s))+l|0)+Pt(this,c)|0),O=this.u4q_1.l1(this.u4q_1.l1(this.u4q_1.l1(Pt(this,s))+Pt(this,l)|0)+Pt(this,c)|0),H=Ze(this,Ne(this,g,h,v,f),Ne(this,E,h-1,v,f),p),G=Ze(this,Ne(this,C,h,v-1,f),Ne(this,D,h-1,v-1,f),p),X=Ze(this,H,G,w),Q=Ze(this,Ne(this,S,h,v,f-1),Ne(this,P,h-1,v,f-1),p),rr=Ze(this,Ne(this,k,h,v-1,f-1),Ne(this,O,h-1,v-1,f-1),p),er=Ze(this,Q,rr,w);return(Ze(this,X,er,b)+1)/2}j1q(r,t,n){return y().b1u(this.x4q(r.r1o(),t.r1o(),n.r1o()))}}d(e,"perlin",u,u,u,[0,1,2,3]),X3=e}return X3}var Q3;function QR(){if(Q3===u){class e{constructor(){r0=this,this.s4p_1=y().a1u(-1)}}ar(e),Q3=e}return Q3}var r0;function h7(){return r0===u&&new(QR()),r0}var r4;function rO(){if(r4===u){class e extends d8(){static a4r(){return h7(),this.e2z()}i1q(r,t){var n=super.i1q(r,t);return n.d1n("rnd",YR().n4q(this)),n.d1n("clamp",HR().a4q(this)),n.d1n("dst",VR().f4q(this)),n.d1n("dst2",c7().j4q(this)),n.d1n("sign",JR().r4p(this)),n.d1n("atan2",WR().w4p(this)),n.d1n("roverlap",ZR().r4q(this)),n.d1n("perlin",XR().w4q(this,en().xk())),n}}d(e,"MathLib",e.a4r,u,u,[0,1,2,3]),r4=e}return r4}var t4;function tO(){if(t4===u){class e extends mr(){static z4z(){return this.n2r()}i1q(r,t){var n=gt.a50(r,t),a=n.l1(0),s=n.l1(1),_;a.l1o()?_=y().h1k_1:_=a;var l=_,o;s.l1o()?o=y().h1k_1:o=s;var c=o;return gt.b50(l,c)}h1q(r){return super.h1q(r)}}d(e,"create",e.z4z,u,u,[0,1,2,3]),t4=e}return t4}var e4;function eO(){if(e4===u){class e extends Yt(){static e50(){return this.p2q()}s1q(r){var t=gt.f50(r),n=t.l1(0),a=t.l1(1),s=t.l1(2),_=t.l1(3);return gt.b50(y().b1u(n.r1o()+s.r1o()),y().b1u(a.r1o()+_.r1o()))}i1q(r,t){return super.i1q(r,t)}u2q(r,t,n,a){return super.u2q(r,t,n,a)}}d(e,"add",e.e50,u,u,[1,2,0,3]),e4=e}return e4}var n4;function nO(){if(n4===u){class e extends Yt(){static i50(){return this.p2q()}s1q(r){var t=gt.f50(r),n=t.l1(0),a=t.l1(1),s=t.l1(2),_=t.l1(3);return gt.b50(y().b1u(n.r1o()-s.r1o()),y().b1u(a.r1o()-_.r1o()))}i1q(r,t){return super.i1q(r,t)}u2q(r,t,n,a){return super.u2q(r,t,n,a)}}d(e,"sub",e.i50,u,u,[1,2,0,3]),n4=e}return n4}var a4;function aO(){if(a4===u){class e extends wr(){static l50(){return this.r2r()}s1q(r){var t=gt.f50(r),n=t.l1(0),a=t.l1(1),s=t.l1(2),_=t.l1(3);return y().b1u(n.r1o()*s.r1o()+a.r1o()*_.r1o())}i1q(r,t){return super.i1q(r,t)}u2q(r,t,n,a){return super.u2q(r,t,n,a)}}d(e,"dot",e.l50,u,u,[0,1,2,3]),a4=e}return a4}var i4;function iO(){if(i4===u){class e extends Yt(){static o50(){return this.p2q()}s1q(r){var t=gt.f50(r),n=t.l1(0),a=t.l1(1),s=y(),_=n.r1o()*n.r1o()+a.r1o()*a.r1o(),l=Math.sqrt(_);return s.b1u(l)}i1q(r,t){return super.i1q(r,t)}h1q(r){return super.h1q(r)}}d(e,"mag",e.o50,u,u,[1,2,0,3]),i4=e}return i4}var s4;function sO(){if(s4===u){class e extends Yt(){static r50(){return this.p2q()}s1q(r){var t=gt.f50(r),n=t.l1(0),a=t.l1(1),s=n.r1o()*n.r1o()+a.r1o()*a.r1o(),_=Math.sqrt(s),l;return _!==0?l=gt.b50(y().b1u(n.r1o()/_),y().b1u(a.r1o()/_)):l=gt.b50(y().a1u(0),y().a1u(0)),l}i1q(r,t){return super.i1q(r,t)}h1q(r){return super.h1q(r)}}d(e,"nor",e.r50,u,u,[1,2,0,3]),s4=e}return s4}var u4;function uO(){if(u4===u){class e extends Yt(){static u50(){return this.p2q()}s1q(r){var t=gt.f50(r),n=t.l1(0),a=t.l1(1),s=t.l1(2),_=t.l1(3);return y().b1u(n.r1o()*_.r1o()-a.r1o()*s.r1o())}i1q(r,t){return super.i1q(r,t)}u2q(r,t,n,a){return super.u2q(r,t,n,a)}}d(e,"crs",e.u50,u,u,[1,2,0,3]),u4=e}return u4}var _4;function _O(){if(_4===u){class e extends Yt(){static x50(){return this.p2q()}s1q(r){var t=gt.f50(r),n=t.l1(0),a=t.l1(1),s=t.l1(2);return gt.b50(y().b1u(n.r1o()*s.r1o()),y().b1u(a.r1o()*s.r1o()))}j1q(r,t,n){return super.j1q(r,t,n)}i1q(r,t){return super.i1q(r,t)}}d(e,"scl",e.x50,u,u,[1,2,0,3]),_4=e}return _4}var l4;function lO(){if(l4===u){class e{a50(r,t){var n;return r.o1m()?n=Rr([r.x1m("x"),r.x1m("y")]):n=Rr([r,t]),n}f50(r){for(var t=1,n=j().p1(),a=r.d1q(t);t<=r.e1q();)a.o1m()?(n.c1(a.x1m("x")),n.c1(a.x1m("y")),t=t+1|0):(r.e1q()-t|0)>=0&&(n.c1(a),t=t+1|0,n.c1(r.d1q(t)),t=t+1|0),a=r.d1q(t);return n}b50(r,t){var n=sr().q1i();return n.d1n("x",r),n.d1n("y",t),n}}ar(e),l4=e}return l4}var gt,o4;function oO(){if(o4===u){class e extends mr(){static a51(){return this.n2r()}i1q(r,t){var n=sr().q1i();return n.d1n("create",tO().z4z()),n.d1n("add",eO().e50()),n.d1n("sub",nO().i50()),n.d1n("dot",aO().l50()),n.d1n("crs",uO().u50()),n.d1n("mag",iO().o50()),n.d1n("nor",sO().r50()),n.d1n("scl",_O().x50()),t.d1n("vec2",n),t.x1m("package").x1m("loaded").d1n("vec2",n),n}}d(e,"Vec2Lib",e.a51,u,u,[0,1,2,3]),o4=e}return o4}gt=new(lO());function Nt(e,i){return Math.pow(e,i)}function ct(e,i,r){return e+(i-e)*this.z4j(r)}var c4;function ht(){if(c4===u){class e{}Ir(e,"Interpolation"),c4=e}return c4}var h4;function hi(){if(h4===u){class e{constructor(r){this.h52_1=r}z4j(r){var t;return r<=.5?t=Nt(r*2,this.h52_1)/2:t=Nt((r-1)*2,this.h52_1)/((this.h52_1%2|0)===0?-2:2)+1,t}toString(){return"pow"+this.h52_1}}F(e).a4k=ct,d(e,"PowInterpolation",u,u,[ht()]),h4=e}return h4}var v4;function vi(){if(v4===u){class e{constructor(r){this.i52_1=r}z4j(r){return Nt(r,this.i52_1)}toString(){return"powIn"+this.i52_1}}F(e).a4k=ct,d(e,"PowInInterpolation",u,u,[ht()]),v4=e}return v4}var f4;function fi(){if(f4===u){class e{constructor(r){this.j52_1=r}z4j(r){return Nt(r-1,this.j52_1)*((this.j52_1%2|0)===0?-1:1)+1}toString(){return"powOut"+this.j52_1}}F(e).a4k=ct,d(e,"PowOutInterpolation",u,u,[ht()]),f4=e}return f4}var d4;function v7(){if(d4===u){class e{z4j(r){var t=r*3.141592653589793;return(1-Math.cos(t))/2}toString(){return"sine"}}F(e).a4k=ct,d(e,"SineInterpolation",v7,u,[ht()]),d4=e}return d4}var p4;function f7(){if(p4===u){class e{z4j(r){var t=r*1.5707964;return 1-Math.cos(t)}toString(){return"sineIn"}}F(e).a4k=ct,d(e,"SineInInterpolation",f7,u,[ht()]),p4=e}return p4}var m4;function d7(){if(m4===u){class e{z4j(r){var t=r*1.5707964;return Math.sin(t)}toString(){return"sineOut"}}F(e).a4k=ct,d(e,"SineOutInterpolation",d7,u,[ht()]),m4=e}return m4}var g4;function p7(){if(g4===u){class e{z4j(r){var t=r;if(t<=.5){t=t*2;var n=1-t*t;return(1-Math.sqrt(n))/2}t=t-1,t=t*2;var a=1-t*t;return(Math.sqrt(a)+1)/2}toString(){return"circle"}}F(e).a4k=ct,d(e,"CircleInterpolation",p7,u,[ht()]),g4=e}return g4}var w4;function m7(){if(w4===u){class e{z4j(r){var t=1-r*r;return 1-Math.sqrt(t)}toString(){return"circleIn"}}F(e).a4k=ct,d(e,"CircleInInterpolation",m7,u,[ht()]),w4=e}return w4}var b4;function g7(){if(b4===u){class e{z4j(r){var t=r;t=t-1;var n=1-t*t;return Math.sqrt(n)}toString(){return"circleOut"}}F(e).a4k=ct,d(e,"CircleOutInterpolation",g7,u,[ht()]),b4=e}return b4}var y4;function Dm(){if(y4===u){class e{constructor(r,t,n,a){this.k52_1=r,this.l52_1=t,this.m52_1=a,this.n52_1=n*3.141592653589793*((n%2|0)===0?1:-1)}z4j(r){var t=r;if(t<=.5){t=t*2;var n=Nt(this.k52_1,this.l52_1*(t-1)),a=t*this.n52_1;return n*Math.sin(a)*this.m52_1/2}t=1-t,t=t*2;var s=Nt(this.k52_1,this.l52_1*(t-1)),_=t*this.n52_1;return 1-s*Math.sin(_)*this.m52_1/2}toString(){return"elastic"}}F(e).a4k=ct,d(e,"ElasticInterpolation",u,u,[ht()]),y4=e}return y4}var k4;function cO(){if(k4===u){class e extends Dm(){z4j(r){var t;if(r>=.99)t=1;else{var n=Nt(this.k52_1,this.l52_1*(r-1)),a=r*this.n52_1;t=n*Math.sin(a)*this.m52_1}return t}toString(){return"elasticIn"}}d(e,"ElasticInInterpolation"),k4=e}return k4}var x4;function hO(){if(x4===u){class e extends Dm(){z4j(r){var t=r;if(t===0)return 0;t=1-t;var n=Nt(this.k52_1,this.l52_1*(t-1)),a=t*this.n52_1;return 1-n*Math.sin(a)*this.m52_1}toString(){return"elasticOut"}}d(e,"ElasticOutInterpolation"),x4=e}return x4}var C4;function w7(){if(C4===u){class e{z4j(r){return r}toString(){return"linear"}}F(e).a4k=ct,d(e,"LinearInterpolation",w7,u,[ht()]),C4=e}return C4}var z4;function Rs(){if(z4===u){class e{constructor(r,t){this.w52_1=r,this.x52_1=t,this.y52_1=Nt(this.w52_1,-this.x52_1),this.z52_1=1/(1-this.y52_1)}z4j(r){var t;return r<=.5?t=(Nt(this.w52_1,this.x52_1*(r*2-1))-this.y52_1)*this.z52_1/2:t=(2-(Nt(this.w52_1,-this.x52_1*(r*2-1))-this.y52_1)*this.z52_1)/2,t}toString(){return"exp"+Pr(this.x52_1)}}F(e).a4k=ct,d(e,"ExpInterpolation",u,u,[ht()]),z4=e}return z4}var S4;function $w(){if(S4===u){class e extends Rs(){z4j(r){return(Nt(this.w52_1,this.x52_1*(r-1))-this.y52_1)*this.z52_1}toString(){return"expIn"+Pr(this.x52_1)}}d(e,"ExpInInterpolation"),S4=e}return S4}var q4;function Ew(){if(q4===u){class e extends Rs(){z4j(r){return 1-(Nt(this.w52_1,-this.x52_1*r)-this.y52_1)*this.z52_1}toString(){return"expOut"+Pr(this.x52_1)}}d(e,"ExpOutInterpolation"),q4=e}return q4}function Aw(e,i){var r=i+e.i53_1[0]/2;return r5){var t="bounces cannot be < 2 or > 5: "+r;throw W().u($(t))}switch(this.i53_1=new Float32Array(r),this.j53_1=new Float32Array(r),this.j53_1[0]=1,r){case 2:this.i53_1[0]=.6,this.i53_1[1]=.4,this.j53_1[1]=.33;break;case 3:this.i53_1[0]=.4,this.i53_1[1]=.4,this.i53_1[2]=.2,this.j53_1[1]=.33,this.j53_1[2]=.1;break;case 4:this.i53_1[0]=.34,this.i53_1[1]=.34,this.i53_1[2]=.2,this.i53_1[3]=.15,this.j53_1[1]=.26,this.j53_1[2]=.11,this.j53_1[3]=.03;break;case 5:this.i53_1[0]=.3,this.i53_1[1]=.3,this.i53_1[2]=.2,this.i53_1[3]=.1,this.i53_1[4]=.1,this.j53_1[1]=.45,this.j53_1[2]=.3,this.j53_1[3]=.15,this.j53_1[4]=.06;break}var n=this.i53_1;n[0]=n[0]*2}z4j(r){var t=r;if(t===1)return 1;t=t+this.i53_1[0]/2;var n=0,a=0,s=0,_=this.i53_1.length;r:for(;s<_;){if(n=this.i53_1[s],t<=n){a=this.j53_1[s];break r}t=t-n,s=s+1|0}t=t/n;var l=4/n*a*t;return 1-(l-l*t)*n}toString(){return"bounceOut"}}F(e).a4k=ct,d(e,"BounceOut",u,u,[ht()]),$4=e}return $4}var E4;function fO(){if(E4===u){class e extends C1(){z4j(r){return 1-super.z4j(1-r)}toString(){return"bounceIn"}}d(e,"BounceIn"),E4=e}return E4}var A4;function dO(){if(A4===u){class e{constructor(r){this.o53_1=r*2}z4j(r){var t=r;return t<=.5?(t=t*2,t*t*((this.o53_1+1)*t-this.o53_1)/2):(t=t-1,t=t*2,t*t*((this.o53_1+1)*t+this.o53_1)/2+1)}toString(){return"swing"}}F(e).a4k=ct,d(e,"SwingInterpolation",u,u,[ht()]),A4=e}return A4}var j4;function pO(){if(j4===u){class e{constructor(r){this.p53_1=r}z4j(r){var t=r;return t=t-1,t*t*((this.p53_1+1)*t+this.p53_1)+1}toString(){return"swingOut"}}F(e).a4k=ct,d(e,"SwingOutInterpolation",u,u,[ht()]),j4=e}return j4}var N4;function mO(){if(N4===u){class e{constructor(r){this.q53_1=r}z4j(r){return r*r*((this.q53_1+1)*r-this.q53_1)}toString(){return"swingIn"}}F(e).a4k=ct,d(e,"SwingInInterpolation",u,u,[ht()]),N4=e}return N4}var L4;function gO(){if(L4===u){class e{constructor(){t0=this,this.e4k_1=1.5707964,this.f4k_1=new(hi())(2),this.g4k_1=new(hi())(3),this.h4k_1=new(hi())(4),this.i4k_1=new(hi())(5),this.j4k_1=new(vi())(2),this.k4k_1=new(vi())(3),this.l4k_1=new(vi())(4),this.m4k_1=new(vi())(5),this.n4k_1=new(fi())(2),this.o4k_1=new(fi())(3),this.p4k_1=new(fi())(4),this.q4k_1=new(fi())(5),this.r4k_1=new(v7()),this.s4k_1=new(f7()),this.t4k_1=new(d7()),this.u4k_1=new(p7()),this.v4k_1=new(m7()),this.w4k_1=new(g7()),this.x4k_1=new(Dm())(2,10,7,1),this.y4k_1=new(cO())(2,10,6,1),this.z4k_1=new(hO())(2,10,7,1),this.a4l_1=new(dO())(1.5),this.b4l_1=new(mO())(2),this.c4l_1=new(pO())(2),this.d4l_1=new(vO())(4),this.e4l_1=new(fO())(4),this.f4l_1=new(C1())(4),this.g4l_1=new(Rs())(2,10),this.h4l_1=new($w())(2,10),this.i4l_1=new(Ew())(2,10),this.j4l_1=new(Rs())(2,5),this.k4l_1=new($w())(2,5),this.l4l_1=new(Ew())(2,5),this.m4l_1=new(w7()),this.n4l_1=Rr([this.f4k_1,this.g4k_1,this.h4k_1,this.i4k_1,this.j4k_1,this.k4k_1,this.l4k_1,this.m4k_1,this.n4k_1,this.o4k_1,this.p4k_1,this.q4k_1,this.r4k_1,this.s4k_1,this.t4k_1,this.u4k_1,this.v4k_1,this.w4k_1,this.x4k_1,this.y4k_1,this.z4k_1,this.a4l_1,this.b4l_1,this.c4l_1,this.d4l_1,this.e4l_1,this.f4l_1,this.g4l_1,this.h4l_1,this.i4l_1,this.j4l_1,this.k4l_1,this.l4l_1,this.m4l_1])}}B(e,"Interpolations"),L4=e}return L4}var t0;function wO(){return t0===u&&new(gO()),t0}var M4;function bO(){if(M4===u){class e extends wr(){static y4j(r,t,n){n===u&&(n={}),n.x4j_1=r;var a=this.r2r(n);return a.w4j_1=t,a}h1q(r){return y().b1u(this.w4j_1.z4j(r.s1o()))}j1q(r,t,n){return y().b1u(this.w4j_1.a4k(r.s1o(),t.s1o(),n.s1o()))}}d(e,"InterpolationLib",u,u,u,[0,1,2,3]),M4=e}return M4}var T4;function yO(){if(T4===u){class e extends mr(){static d4k(){return this.n2r()}i1q(r,t){for(var n=sr().q1i(),a=wO().n4l_1.e1();a.f1();){var s=a.g1();n.d1n($(s),bO().y4j(this,s))}return t.d1n("juice",n),t.x1m("package").x1m("loaded").d1n("juice",n),n}}d(e,"JuiceLib",e.d4k,u,u,[0,1,2,3]),T4=e}return T4}var D4;function kO(){if(D4===u){class e extends mr(){static d4h(r,t){return t===u&&(t={}),t.c4h_1=r,this.n2r(t)}i1q(r,t){var n=r.q1p(),a;if(n==null)return y().d1k_1;a=n;var s=a,_=bt().o1(),l=n0(this.c4h_1,t,_),o=Be().t3r(w1.x3t(),l);return this.c4h_1.g4h_1.i4h(s,o),y().d1k_1}}d(e,"put",u,u,u,[0,1,2,3]),D4=e}return D4}var F4;function xO(){if(F4===u){class e extends et(){static m4h(r,t){return t===u&&(t={}),t.l4h_1=r,this.i2w(t)}h1q(r){var t=r.q1p(),n;if(t==null)return y().d1k_1;n=t;var a=n,s=this.l4h_1.g4h_1.n4h(a),_;if(s==null)return y().d1k_1;_=s;var l=_,o;try{var c=Be().w3r(l);o=e0(this.l4h_1,c)}catch(v){var h;if(v instanceof Te())h=y().d1k_1;else throw v;o=h}return o}}d(e,"get",u,u,u,[1,0,2,3]),F4=e}return F4}function e0(e,i){var r;if(i instanceof Yr()){for(var t=sr().q1i(),n=i.b3().e1();n.f1();){var a=n.g1(),s=a.u2(),_=a.v2();t.d1n(s,e0(e,_))}r=t}else if(i instanceof Rt()){for(var l=sr().q1i(),o=0,c=i.e1();c.f1();){var h=c.g1(),v=o;o=v+1|0;var f=te(v);l.b1n(f+1|0,e0(e,h))}r=l}else i instanceof gr()?r=i.d3u()?y().a1v(i.e3u()):Rq(i)!=null?y().w26(HM(i)):VM(i)!=null?y().a1u(YM(i)):ZM(i)!=null?y().b1u(xe(XM(i))):QM(i)!=null?y().b1u(Oq(i)):y().d1k_1:wt();return r}function n0(e,i,r){var t;if(i.l1o())t=ua(null);else if(i.f1o())t=rT(i.q1o());else if(i.i1o())t=oc(i.t1o());else if(i.k1o())t=oc(i.u1o());else if(i.n1o())t=oc(i.r1o());else if(i.p1g())t=ua(i.a1g());else if(i.o1m()){var n;if(r.a2(i))e.h4h_1.a46("FLOPPY",CO),n=qe();else{var a=i.p1m(),s;if(a==null)return ua(i.a1g());s=a;var _=s,l=_.w1n(),o,c;r:{for(var h=0,v=l.length;hn.c1c(s,_);return a.$arity=1,a}function*OO(e,i,r){var t=e.f5i_1,n=e.g5i_1.f49_1.v53(i),a=t.l1a(n,r);return a===R()&&(a=yield a),z}function*UO(e,i,r){var t=GO(i,e.i5i_1),n=e.h5i_1.j1a(new(z1())(t),r);return n===R()&&(n=yield n),z}var J4;function KO(){if(J4===u){class e{constructor(r,t){this.f5i_1=r,this.g5i_1=t}c1c(r,t){return nr(OO.bind(u,this,r),t)}lc(r,t){return this.c1c(r==null||r!=null?r:m(),t)}}at(e,u,u,[1]),J4=e}return J4}function GO(e,i){var r=new(KO())(e,i),t=(n,a)=>r.c1c(n,a);return t.$arity=1,t}function*JO(e,i,r){var t=e.j5i_1,n=wa().l5i(Vt(i)),a=t.l1a(n,r);return a===R()&&(a=yield a),z}function*WO(e,i,r){var t=VO(i),n=e.m5i_1.j1a(new(z1())(t),r);return n===R()&&(n=yield n),z}var W4;function HO(){if(W4===u){class e{constructor(r){this.j5i_1=r}c1c(r,t){return nr(JO.bind(u,this,r),t)}lc(r,t){return this.c1c(r==null||r!=null?r:m(),t)}}at(e,u,u,[1]),W4=e}return W4}function VO(e){var i=new(HO())(e),r=(t,n)=>i.c1c(t,n);return r.$arity=1,r}function YO(e){return e.k4m_1}function*ZO(e,i,r){var t=e.n5i_1,n=mU(e.o5i_1,e.p5i_1,i,r);n===R()&&(n=yield n);var a=T(i,n),s=t.l1a(a,r);return s===R()&&(s=yield s),z}function*XO(e,i,r){var t=rU(i,e.r5i_1,e.s5i_1),n=e.q5i_1.j1a(new(z1())(t),r);return n===R()&&(n=yield n),z}var H4;function QO(){if(H4===u){class e{constructor(r,t,n){this.n5i_1=r,this.o5i_1=t,this.p5i_1=n}c1c(r,t){return nr(ZO.bind(u,this,r),t)}lc(r,t){return this.c1c(r==null||r!=null?r:m(),t)}}at(e,u,u,[1]),H4=e}return H4}function rU(e,i,r){var t=new(QO())(e,i,r),n=(a,s)=>t.c1c(a,s);return n.$arity=1,n}function*tU(e,i,r){var t=e.t5i_1,n=i.wd(),a=i.xd(),s=e.u5i_1._v;e.u5i_1._v=s+1|0;var _=new(ZI())(s,e.v5i_1,e.w5i_1,OI(),!1,n,a),l=t.l1a(_,r);return l===R()&&(l=yield l),z}function*eU(e,i,r){var t=aU(i,e.y5i_1,e.z5i_1,e.a5j_1),n=e.x5i_1.j1a(new(z1())(t),r);return n===R()&&(n=yield n),z}var V4;function nU(){if(V4===u){class e{constructor(r,t,n,a){this.t5i_1=r,this.u5i_1=t,this.v5i_1=n,this.w5i_1=a}c1c(r,t){return nr(tU.bind(u,this,r),t)}lc(r,t){return this.c1c(r==null||r!=null?r:m(),t)}}at(e,u,u,[1]),V4=e}return V4}function aU(e,i,r,t){var n=new(nU())(e,i,r,t),a=(s,_)=>n.c1c(s,_);return a.$arity=1,a}function*iU(e,i,r){var t=e.b5j_1,n=e.c5j_1._v;e.c5j_1._v=n+1|0;var a=e.d5j_1.k49_1,s=e.d5j_1.h49_1,_=e.d5j_1.i49_1,l=e.d5j_1.f49_1,o=e.d5j_1.l49_1,c=e.d5j_1.g49_1,h=new(ti())(n,e.e5j_1,e.f5j_1,a,s,_,c,l,o,e.g5j_1);h.u44_1=i;var v=t.l1a(h,r);return v===R()&&(v=yield v),z}function*sU(e,i,r){var t=_U(i,e.i5j_1,e.j5j_1,e.k5j_1,e.l5j_1,e.m5j_1),n=e.h5j_1.j1a(new(fU())(t),r);return n===R()&&(n=yield n),z}var Y4;function uU(){if(Y4===u){class e{constructor(r,t,n,a,s,_){this.b5j_1=r,this.c5j_1=t,this.d5j_1=n,this.e5j_1=a,this.f5j_1=s,this.g5j_1=_}c1c(r,t){return nr(iU.bind(u,this,r),t)}lc(r,t){return this.c1c(r==null||r!=null?r:m(),t)}}at(e,u,u,[1]),Y4=e}return Y4}function _U(e,i,r,t,n,a){var s=new(uU())(e,i,r,t,n,a),_=(l,o)=>s.c1c(l,o);return _.$arity=1,_}function*lU(e,i,r){var t=e.n5j_1,n=y7(e.o5j_1,i.r53_1,i.s53_1,i.t53_1),a=e.p5j_1._v;e.p5j_1._v=a+1|0;var s=new(Jn())(a,e.q5j_1,e.r5j_1,e.s5j_1,n,i.s53_1,i.t53_1),_=t.l1a(s,r);return _===R()&&(_=yield _),z}function*oU(e,i,r){var t=hU(i,e.u5j_1,e.v5j_1,e.w5j_1,e.x5j_1,e.y5j_1),n=e.t5j_1.j1a(new(dU())(t),r);return n===R()&&(n=yield n),z}var Z4;function cU(){if(Z4===u){class e{constructor(r,t,n,a,s,_){this.n5j_1=r,this.o5j_1=t,this.p5j_1=n,this.q5j_1=a,this.r5j_1=s,this.s5j_1=_}c1c(r,t){return nr(lU.bind(u,this,r),t)}lc(r,t){return this.c1c(r==null||r!=null?r:m(),t)}}at(e,u,u,[1]),Z4=e}return Z4}function hU(e,i,r,t,n,a){var s=new(cU())(e,i,r,t,n,a),_=(l,o)=>s.c1c(l,o);return _.$arity=1,_}function X4(e,i,r,t){var n={_v:0},a=e.e49_1.n4a(e.f49_1.u53(r,!e.m49_1.a2(t))),s=new($U())(a,n,e,i,r,t);return Ri(s,AU(e,r))}function Nw(e,i,r,t){var n={_v:0},a=e.e49_1.n4a(e.f49_1.w53(r,!e.m49_1.a2(t))),s=new(jU())(a,e,n,i,r,t);return Ri(s,LU(e,r,t))}function y7(e,i,r,t){var n=new(u7())(r,t),a=xt(0,r),s=a.v1_1,_=a.w1_1;if(s<=_)do{var l=s;s=s+1|0;var o=l,c=xt(0,t),h=c.v1_1,v=c.w1_1;if(h<=v)do{var f=h;h=h+1|0;var p=f,w=jw(o+jw(p,r)|0,4),b=e.k49_1.r47(),g=new Int8Array([i[w+0|0],i[w+1|0],i[w+2|0],i[w+3|0]]),C=b.j4c(g);n.k4d(o,p,new Int32Array([C]))}while(f!==v)}while(l!==_);return n}var Q4;function vU(){if(Q4===u){class e{constructor(r){this.z5j_1=r}l1a(r,t){return this.z5j_1(r,t)}l3(){return this.z5j_1}equals(r){var t;if(r!=null&&L(r,ae())){var n;r!=null&&L(r,tt())?n=A(this.l3(),r.l3()):n=!1,t=n}else t=!1;return t}hashCode(){return Z(this.l3())}}d(e,"sam$kotlinx_coroutines_flow_FlowCollector$0",u,u,[ae(),tt()],[1]),Q4=e}return Q4}var r5;function z1(){if(r5===u){class e{constructor(r){this.a5k_1=r}l1a(r,t){return this.a5k_1(r,t)}l3(){return this.a5k_1}equals(r){var t;if(r!=null&&L(r,ae())){var n;r!=null&&L(r,tt())?n=A(this.l3(),r.l3()):n=!1,t=n}else t=!1;return t}hashCode(){return Z(this.l3())}}d(e,"sam$kotlinx_coroutines_flow_FlowCollector$0",u,u,[ae(),tt()],[1]),r5=e}return r5}var t5;function fU(){if(t5===u){class e{constructor(r){this.b5k_1=r}l1a(r,t){return this.b5k_1(r,t)}l3(){return this.b5k_1}equals(r){var t;if(r!=null&&L(r,ae())){var n;r!=null&&L(r,tt())?n=A(this.l3(),r.l3()):n=!1,t=n}else t=!1;return t}hashCode(){return Z(this.l3())}}d(e,"sam$kotlinx_coroutines_flow_FlowCollector$0",u,u,[ae(),tt()],[1]),t5=e}return t5}var e5;function dU(){if(e5===u){class e{constructor(r){this.c5k_1=r}l1a(r,t){return this.c5k_1(r,t)}l3(){return this.c5k_1}equals(r){var t;if(r!=null&&L(r,ae())){var n;r!=null&&L(r,tt())?n=A(this.l3(),r.l3()):n=!1,t=n}else t=!1;return t}hashCode(){return Z(this.l3())}}d(e,"sam$kotlinx_coroutines_flow_FlowCollector$0",u,u,[ae(),tt()],[1]),e5=e}return e5}function*pU(e,i,r,t){for(var n=r.a4o_1,a=j().p1(),s=n.e1();s.f1();){var _=s.g1(),l=_.o4m_1;ya(a,l)}for(var o=j().p1(),c=a.e1();c.f1();){var h=c.g1(),v;h instanceof ja()?v=h.y5k_1:h instanceof La()||h instanceof Aa()?v=null:h instanceof Na()?v=h.l5k_1:wt();var f=v;f==null||o.c1(f)}for(var p=j().d1(Cr(o,10)),w=o.e1();w.f1();){var b=w.g1(),g=e.f49_1.x53(b),C,S=g.i4a(t);S===R()&&(S=yield S),S?C=g:C=null;var k=C,E;if(k==null)E=null;else{var D=k.j4a(t);D===R()&&(D=yield D),E=D}var P=T(b,E);p.c1(P)}for(var O=j().p1(),H=p.e1();H.f1();){var G=H.g1();G.vd_1!=null&&O.c1(G)}for(var X=Ct(sb(Cr(O,10)),16),Q=jr().ta(X),rr=O.e1();rr.f1();){var er=rr.g1(),ir=er.wd(),hr=er.xd(),or=y7(e,tr(hr).r53_1,hr.s53_1,hr.t53_1),pr=new(Jn())(0,0,"__level-"+i,Lm(),or,or.e4d_1,or.f4d_1),Dr=T(ir,pr);Q.c3(Dr.ud_1,Dr.vd_1)}return Q}function mU(e,i,r,t){return nr(pU.bind(u,e,i,r),t)}var n5;function gU(){if(n5===u){class e{constructor(r,t,n,a){this.b5i_1=r,this.c5i_1=t,this.d5i_1=n,this.e5i_1=a}m1a(r,t){return nr(PO.bind(u,this,r),t)}j1a(r,t){return this.m1a(r,t)}}d(e,u,u,u,[Ge()],[1]),n5=e}return n5}var a5;function wU(){if(a5===u){class e{constructor(r,t){this.d5l_1=r,this.e5l_1=t}f5l(r,t){this.d5l_1.l49_1.r45("RESOURCE_FACTORY",()=>"Loading sound '"+this.e5l_1+"'")}lc(r,t){return this.f5l(r instanceof Za()?r:m(),t)}}at(e,u,u,[1]),a5=e}return a5}function bU(e,i){var r=new(wU())(e,i),t=(n,a)=>r.f5l(n,a);return t.$arity=1,t}var i5;function yU(){if(i5===u){class e{constructor(r,t){this.h5i_1=r,this.i5i_1=t}m1a(r,t){return nr(UO.bind(u,this,r),t)}j1a(r,t){return this.m1a(r,t)}}d(e,u,u,u,[Ge()],[1]),i5=e}return i5}var s5;function kU(){if(s5===u){class e{constructor(r){this.g5l_1=r}h5l(r,t){return this.g5l_1.e49_1.n4a(r)}lc(r,t){return this.h5l(r!=null&&L(r,i1())?r:m(),t)}}at(e,u,u,[1]),s5=e}return s5}function xU(e){var i=new(kU())(e),r=(t,n)=>i.h5l(t,n);return r.$arity=1,r}var u5;function CU(){if(u5===u){class e{constructor(r){this.m5i_1=r}m1a(r,t){return nr(WO.bind(u,this,r),t)}j1a(r,t){return this.m1a(r,t)}}d(e,u,u,u,[Ge()],[1]),u5=e}return u5}var _5;function zU(){if(_5===u){class e{constructor(r){this.i5l_1=r}j5l(r,t){this.i5l_1.l49_1.r45("RESOURCE_FACTORY",()=>{var n="Loading world "+r.y4n_1+" with levels ";return n+jt(r.a4o_1,", ",u,u,u,u,YO)})}lc(r,t){return this.j5l(r instanceof Ds()?r:m(),t)}}at(e,u,u,[1]),_5=e}return _5}function SU(e){var i=new(zU())(e),r=(t,n)=>i.j5l(t,n);return r.$arity=1,r}var l5;function qU(){if(l5===u){class e{constructor(r,t,n){this.q5i_1=r,this.r5i_1=t,this.s5i_1=n}m1a(r,t){return nr(XO.bind(u,this,r),t)}j1a(r,t){return this.m1a(r,t)}}d(e,u,u,u,[Ge()],[1]),l5=e}return l5}var o5;function IU(){if(o5===u){class e{constructor(r,t,n,a){this.x5i_1=r,this.y5i_1=t,this.z5i_1=n,this.a5j_1=a}m1a(r,t){return nr(eU.bind(u,this,r),t)}j1a(r,t){return this.m1a(r,t)}}d(e,u,u,u,[Ge()],[1]),o5=e}return o5}var c5;function $U(){if(c5===u){class e{constructor(r,t,n,a,s,_){this.h5j_1=r,this.i5j_1=t,this.j5j_1=n,this.k5j_1=a,this.l5j_1=s,this.m5j_1=_}m1a(r,t){return nr(sU.bind(u,this,r),t)}j1a(r,t){return this.m1a(r,t)}}d(e,u,u,u,[Ge()],[1]),c5=e}return c5}var h5;function EU(){if(h5===u){class e{constructor(r,t){this.k5l_1=r,this.l5l_1=t}m5l(r,t){this.k5l_1.l49_1.r45("RESOURCE_FACTORY",()=>"Loading script '"+this.l5l_1+"'")}lc(r,t){return this.m5l(r instanceof ti()?r:m(),t)}}at(e,u,u,[1]),h5=e}return h5}function AU(e,i){var r=new(EU())(e,i),t=(n,a)=>r.m5l(n,a);return t.$arity=1,t}var v5;function jU(){if(v5===u){class e{constructor(r,t,n,a,s,_){this.t5j_1=r,this.u5j_1=t,this.v5j_1=n,this.w5j_1=a,this.x5j_1=s,this.y5j_1=_}m1a(r,t){return nr(oU.bind(u,this,r),t)}j1a(r,t){return this.m1a(r,t)}}d(e,u,u,u,[Ge()],[1]),v5=e}return v5}var f5;function NU(){if(f5===u){class e{constructor(r,t,n){this.n5l_1=r,this.o5l_1=t,this.p5l_1=n}q5l(r,t){this.n5l_1.l49_1.r45("RESOURCE_FACTORY",()=>"Loading spritesheet '"+this.o5l_1+"' ("+this.p5l_1.toString()+")")}lc(r,t){return this.q5l(r instanceof Jn()?r:m(),t)}}at(e,u,u,[1]),f5=e}return f5}function LU(e,i,r){var t=new(NU())(e,i,r),n=(a,s)=>t.q5l(a,s);return n.$arity=1,n}var d5;function MU(){if(d5===u){class e{constructor(r,t,n,a,s,_,l,o){this.e49_1=r,this.f49_1=t,this.g49_1=n,this.h49_1=a,this.i49_1=s,this.j49_1=_,this.k49_1=l,this.l49_1=o,this.m49_1=d0([Ms(),Ts(),dw()])}q49(r,t){var n={_v:0},a=this.e49_1.n4a(this.f49_1.y53(t,this.j49_1)),s=new(gU())(a,n,r,t);return Ri(s,bU(this,t))}p49(r,t){var n={_v:0},a=_8(t),s=new(yU())(a,this),_=wb(s,u,xU(this)),l=new(CU())(_),o=Ri(l,SU(this)),c=new(qU())(o,this,t);return new(IU())(c,n,r,t)}n49(r,t){return X4(this,r,t,QF())}u49(r){return X4(this,0,r,Ts())}t49(r){return X4(this,0,r,Ms())}o49(r,t){return Nw(this,r,t,Lm())}v49(r){return Nw(this,0,r,dw())}}d(e,"ResourceFactory",u,u,u,[3]),d5=e}return d5}function*TU(e,i,r){var t=t8(e.w47_1),n=i.y47();if(e.w47_1.r2(n),t==null){Lw(e,i);var a=e.t47_1.l18(i,r);a===R()&&(a=yield a)}else if(e.w47_1.m1()){e.u47_1.c1(i);var s=DU(e,e.u47_1);e.u47_1.s2();for(var _=s.e1();_.f1();){var l=_.g1();Lw(e,l);var o=e.t47_1.l18(l,r);o===R()&&(o=yield o)}}else e.w47_1.m1()||e.u47_1.c1(i);return z}function Lw(e,i){var r=i.y47(),t=e.v47_1,n=t.y2(r),a;if(n==null){var s=jr().sa();t.c3(r,s),a=s}else a=n;var _=a,l=_.y2(i.z47()),o=i.z47();_.c3(o,i),i.a48(l!=null)}function DU(e,i){var r=j().p1();if(r.i1(i),r.h1()>1){var t=(a,s)=>{var _=e.x47_1.p2(a.y47()),l=_===-1?e.x47_1.h1():_,o=e.x47_1.p2(s.y47()),c=o===-1?e.x47_1.h1():o;return Ma(l,c)},n=new(FU())(t);e8(r,n)}return r}var p5;function FU(){if(p5===u){class e{constructor(r){this.b48_1=r}eh(r,t){return this.b48_1(r,t)}compare(r,t){return this.eh(r,t)}l3(){return this.b48_1}equals(r){var t;if(r!=null&&L(r,ne())){var n;r!=null&&L(r,tt())?n=A(this.l3(),r.l3()):n=!1,t=n}else t=!1;return t}hashCode(){return Z(this.l3())}}d(e,"sam$kotlin_Comparator$0",u,u,[ne(),tt()]),p5=e}return p5}var m5;function PU(){if(m5===u){class e{constructor(r){this.t47_1=r;var t=this;t.u47_1=j().p1();var n=this;n.v47_1=jr().sa(),this.w47_1=r8([Ms(),Ts()]),this.x47_1=Rr([Ms(),Ts()])}c48(r,t){return nr(TU.bind(u,this,r),t)}l1a(r,t){return this.c48(r!=null&&L(r,Ya())?r:m(),t)}}d(e,"GameResourceCollector",u,u,[ae()],[1]),m5=e}return m5}function*BU(e,i,r){var t=h8(e.d48_1.w43_1),n=wb(t,128,OU()).j1a(e.d48_1.a44_1,r);return n===R()&&(n=yield n),z}var g5;function RU(){if(g5===u){class e{e48(r,t){return r}lc(r,t){return this.e48(r!=null&&L(r,Ge())?r:m(),t)}}at(e,u,u,[1]),g5=e}return g5}function OU(){var e=new(RU()),i=(r,t)=>e.e48(r,t);return i.$arity=1,i}function*UU(e,i){r:for(;;){var r=e.z43_1.p18();if(o8(r))break r;var t=c8(r),n;if(t==null)continue r;n=t;var a=n;if(e.b44_1.r2(a.f48()),a.i48()){var s=e.h48(a,i);s===R()&&(s=yield s)}else{var _=e.g48(a,i);_===R()&&(_=yield _)}}return z}function*KU(e,i,r){e.n43_1.k48("GAME_ENGINE",()=>"Loaded "+i.f48()+" "+i.y47().toString()+" (version: "+i.j48()+")");var t=k7(e,i,r);if(t===R()&&(t=yield t),e.v43_1=e.v43_1-1|0,e.n43_1.r45("GAME_ENGINE",()=>"Remaining resources to load: "+e.v43_1+". ("+jt(e.b44_1,", ")+")"),e.v43_1===0){e.n43_1.r45("GAME_ENGINE",iK);var n=tr(e.o43_1[0]).l48(r);n===R()&&(n=yield n)}return z}function*GU(e,i,r){e.n43_1.k48("GAME_ENGINE",()=>"Reload "+i.f48()+" "+i.y47().toString()+" (version: "+i.j48()+")");var t=k7(e,i,r);return t===R()&&(t=yield t),z}function*JU(e,i,r){switch(i.y47().f3_1){case 0:var t=eK(e,i,r);t===R()&&(t=yield t);break;case 1:var n=rK(e,i,r);n===R()&&(n=yield n);break;case 2:var a=XU(e,i,r);a===R()&&(a=yield a);break;case 3:YU(e,i);break;case 4:VU(e,i);break;case 5:HU(e,i);break;case 6:WU(e,i);break;case 7:break;default:wt();break}return z}function k7(e,i,r){return nr(JU.bind(u,e,i),r)}function WU(e,i){var r=i.z47();e.r43_1[r]=i instanceof Za()?i:m()}function HU(e,i){for(var r=i instanceof ZI()?i:m(),t=r.s48_1.b3().e1();t.f1();){var n=t.g1(),a=n.u2(),s=n.v2(),_=s,l=e.q43_1[i.n48_1],o=l==null?null:l.s48_1.y2(a);_.a49_1=o==null?null:o.a49_1}if(e.q43_1[i.n48_1]=r,e.x43_1>0){var c=e.o43_1[e.x43_1];c==null||(c.t44_1=!0)}e.y43_1.i1(r.s48_1.a3())}function VU(e,i){var r=i instanceof Jn()?i:m(),t=r,n=e.p43_1[i.u48_1];t.a49_1=n==null?null:n.a49_1,e.p43_1[i.u48_1]=r,e.y43_1.c1(r)}function YU(e,i){var r=i instanceof Jn()?i:m(),t=r,n=e.s43_1;t.a49_1=n==null?null:n.a49_1,e.s43_1=r,e.y43_1.c1(r)}function*ZU(e,i,r){var t=e;t.u43_1=i instanceof ti()?i:m();var n=e.u43_1;n==null||(n.s44_1=e);var a=e.u43_1;if(a!=null){var s=a.n45(r);s===R()&&(s=yield s)}return z}function XU(e,i,r){return nr(ZU.bind(u,e,i),r)}function*QU(e,i,r){i instanceof ti()||m(),i.s44_1=e;try{var t;if(i.t44_1){var n=i.d49(r);n===R()&&(n=yield n),t=!n}else t=!1;if(t)return z}catch(_){if(_ instanceof Je()){var a=_;throw b1(a,Vt(i.u44_1))}else throw _}if(e.o43_1[i.h44_1]=i,e.x43_1===i.h44_1)e.t43_1=i;else if(e.x43_1>0){var s=e.t43_1;s==null||(s.t44_1=!0)}return z}function rK(e,i,r){return nr(QU.bind(u,e,i),r)}function*tK(e,i,r){var t=i instanceof ti()?i:m();t.s44_1=e;var n=t.n45(r);return n===R()&&(n=yield n),e.o43_1[0]=t,e.t43_1=t,e.x43_1=0,z}function eK(e,i,r){return nr(tK.bind(u,e,i),r)}function w5(e,i,r){return i.length===0?null:i[r%i.length|0]}var b5;function nK(){if(b5===u){class e{constructor(r){this.d48_1=r}b1b(r,t){return nr(BU.bind(u,this,r),t)}lc(r,t){return this.b1b(r!=null&&L(r,y0())?r:m(),t)}}at(e,u,u,[1]),b5=e}return b5}function aK(e){var i=new(nK())(e),r=(t,n)=>i.b1b(t,n);return r.$arity=1,r}function iK(){return"All resources are loaded. Notify the boot script."}var y5;function sK(){if(y5===u){class e{constructor(r,t,n,a){this.n43_1=a,this.s43_1=null,this.t43_1=null,this.u43_1=null,this.v43_1=0,this.x43_1=0;var s=this;s.y43_1=j().p1(),this.z43_1=l8(2147483647),this.a44_1=new(PU())(this.z43_1);var _=this;_.b44_1=bt().o1();for(var l=t.h47_1,o=j().d1(Cr(l,10)),c=0,h=l.e1();h.f1();){var v=h.g1(),f=c;c=f+1|0;var p=te(f),w=r.n49(p+1|0,v);o.c1(w)}for(var b=o,g=this,C=0,S=b.h1()+1|0,k=Array(S);C"Number of resources to load: "+this.v43_1);var Hn=w0(n.w49());b0(Hn,u,u,aK(this))}x49(){return this.s43_1}c44(r){return nr(UU.bind(u,this),r)}g48(r,t){return nr(KU.bind(u,this,r),t)}h48(r,t){return nr(GU.bind(u,this,r),t)}q45(r){var t=this.o43_1[this.x43_1];return this.x43_1=1+(r%this.o43_1.length|0)|0,this.t43_1=this.o43_1[this.x43_1],T(t,tr(this.t43_1))}y49(r){return w5(this,this.p43_1,r)}z49(r){var t=this.p43_1,n;r:{for(var a=0,s=t.length;a=this.p43_1.length&&(this.p43_1=_b(this.p43_1,r.u48_1+1|0)),this.p43_1[r.u48_1]=r}c4a(r){return w5(this,this.q43_1,r)}d4a(r){return w5(this,this.r43_1,r)}e4a(r){var t=this.o43_1,n;r:{for(var a=0,s=t.length;a=0){var o=gK(e,l,r);o===R()&&(o=yield o)}else if(l.t44_1){e.d44().f44();var c=pK(e,l,r);c===R()&&(c=yield c)}if(e.c43_1=e.c43_1+i,e.c43_1>=.016666668){e.k43_1.c45("game_update"),e.d45().e45();var h=hK(e,Ce(e).t43_1,r);h===R()&&(h=yield h);var v=oK(e,r);v===R()&&(v=yield v),e.c43_1=e.c43_1-.016666668;var f=e.d43_1;e.d43_1=Qe(f,C5());var p=fK(e,r);p===R()&&(p=yield p);var w=e.e43_1;if(w!=null){var b=zK(e,w,r);b===R()&&(b=yield b)}e.d45().c1h();var g=e.k43_1.f45("game_update");xK(e,g)}return z}function*lK(e,i){var r=Ce(e).u43_1;if(r!=null){var t=r.g45(i);t===R()&&(t=yield t)}return z}function oK(e,i){return nr(lK.bind(u,e),i)}function*cK(e,i,r){var t=e,n;try{if(i!=null){var a=i.g45(r);a===R()&&(a=yield a)}n=!1}catch(o){var s;if(o instanceof bm()){var _=o;if(!e.b43_1){var l=S1(e,e,_,r);l===R()&&(l=yield l)}s=!0}else throw o;n=s}return t.b43_1=n,z}function hK(e,i,r){return nr(cK.bind(u,e,i),r)}function*vK(e,i){if(e.j45().k45(ca(),Ry())){var r=jn(e,"recording GIF","#00FF00",u,i);r===R()&&(r=yield r),e.x42_1.e45()}else if(e.j45().k45(ca(),Oy())){var t=jn(e,"screenshot PNG","#00FF00",u,i);t===R()&&(t=yield t),e.x42_1.l45()}else if(e.j45().k45(ca(),By())){e.k43_1.i45(!e.k43_1.h45());var n;e.k43_1.h45()?n="enable the profiler (Ctrl+P to disabled)":n="disabled the profiler";var a=n,s=jn(e,a,"#00FF00",u,i);s===R()&&(s=yield s)}return z}function fK(e,i){return nr(vK.bind(u,e),i)}function*dK(e,i,r){var t=kK(e,r);t===R()&&(t=yield t);try{var n=i.m45(r);n===R()&&(n=yield n);var a=n,s=i.n45(r);s===R()&&(s=yield s);var _=i.o45(a,r);_===R()&&(_=yield _);var l=e.a43_1;l?.p45(i),e.b43_1=!1}catch(h){if(h instanceof Je()){var o=h,c=S1(e,e,b1(o,Vt(i.u44_1)),r);c===R()&&(c=yield c)}else throw h}return z}function pK(e,i,r){return nr(dK.bind(u,e,i),r)}function*mK(e,i,r){var t=Ce(e).q45(i.q44_1),n=t.wd(),a=t.xd();try{var s=i.m45(r);s===R()&&(s=yield s);var _=s;e.z42_1.r45("GAME_ENGINE",()=>"Stop "+i.i44_1+" to switch the next game script "+a.i44_1);var l=a.n45(r);l===R()&&(l=yield l);var o=a.o45(_,r);o===R()&&(o=yield o);var c=e.a43_1;c?.s45(n,a)}catch(f){if(f instanceof Je()){var h=f,v=S1(e,e,b1(h,Vt(i.u44_1)),r);v===R()&&(v=yield v)}else throw f}return z}function gK(e,i,r){return nr(mK.bind(u,e,i),r)}function*wK(e,i,r,t){i.z42_1.a46("TINY",()=>{var s="line "+r.w45_1+":"+r.y45_1+" <-- the 🐞 is around here ("+r.message+")";return"The line "+r.w45_1+" trigger an execution error ("+r.message+"). "+("Please fix the script "+r.v45_1+`! -`)+s});var n="error line "+r.w45_1+":"+r.y45_1+" ("+r.message+")",a=x7(i,n,"#FF0000",!0,t);return a===R()&&(a=yield a),z}function S1(e,i,r,t){return nr(wK.bind(u,e,i,r),t)}function*bK(e,i,r,t,n){var a=Ce(e).u43_1;if(a!=null){var s=a.b46("popup",[y().a1u(0),y().a1v(i),y().a1v(r),y().w26(t)],n);s===R()&&(s=yield s)}return z}function x7(e,i,r,t,n){return nr(bK.bind(u,e,i,r,t),n)}function jn(e,i,r,t,n,a){return t=t===u?!1:t,x7(e,i,r,t,n)}function*yK(e,i){var r=Ce(e).u43_1;if(r!=null){var t=r.b46("clear",[],i);t===R()&&(t=yield t)}return z}function kK(e,i){return nr(yK.bind(u,e),i)}function xK(e,i){var r;if(e.k43_1.h45()){var t=e.d43_1;r=a8(t,yt(60))===0n}else r=!1;if(r){var n=e.k43_1.c46(60);n!=null&&e.z42_1.r45("PERFORMANCE",()=>{var a=Le((Pr(n.e46_1*10)/10).toString(),6),s=Le((Pr(n.d46_1*100)/100).toString(),6),_=Le((Pr(i*100)/100).toString(),6),l=n.f46_1,o=xe(l)/1024,c=Le((Pr(o/1024*10)/10).toString(),6),h=Le(n.k46_1.toString(),6),v=Le(n.l46_1.toString(),6),f=Le(n.p46_1.toString(),6);return` -┌─────────────────┬────────┐ -`+("│ FPS │ "+a+` │ -`)+("│ Frame Time │ "+s+`ms │ -`)+("│ Update Time │ "+_+`ms │ -`)+("│ Memory │ "+c+`MB │ -`)+("│ Draw Calls │ "+h+` │ -`)+("│ Read Pixels │ "+v+` │ -`)+("│ Draw On Screen │ "+f+` │ -`)+"└─────────────────┴────────┘"})}}function*CK(e,i,r){if(!e.k43_1.h45())return z;if(i.e46_1<30){var t=jn(e,"LOW FPS: "+i.e46_1,"#FF0000",u,r);t===R()&&(t=yield t)}if(i.g46_1>1048576n){var n=i.g46_1,a=hg(n,yt(1024)),s=hg(a,yt(1024)),_=jn(e,"HIGH ALLOC: "+s.toString()+"MB","#FFAA00",u,r);_===R()&&(_=yield _)}if(i.d46_1>16.67){var l=jn(e,"Frame: "+i.d46_1+"ms","#AAAA00",u,r);l===R()&&(l=yield l)}return z}function zK(e,i,r){return nr(CK.bind(u,e,i),r)}var k5;function SK(){if(k5===u){class e{constructor(){this.q46_1=.016666668}}ar(e),k5=e}return k5}var x5;function qK(){if(x5===u){class e{constructor(r,t,n,a,s){s=s===u?null:s,this.w42_1=r,this.x42_1=t,this.y42_1=n,this.z42_1=a,this.a43_1=s,this.b43_1=!1,this.c43_1=0,this.d43_1=0n,this.e43_1=null,this.k43_1=this.x42_1.r46()}j45(){var r=this.f43_1;if(r!=null)return r;st("inputHandler")}d45(){var r=this.g43_1;if(r!=null)return r;st("inputManager")}d44(){var r=this.h43_1;if(r!=null)return r;st("soundManager")}s46(){var r=this.x42_1.t46();this.f43_1=this.x42_1.u46(),this.g43_1=this.x42_1.v46(),this.h43_1=this.x42_1.w46(this.j45());var t=this.x42_1.x46(r);this.j43_1=new(XF())(t,this.w42_1,this.k43_1),di(this).y46(r);var n=new(fj())(this.d44()),a=this,s=this.y42_1,_=this.x42_1,l=this.j45(),o=this.z42_1,c=this.w42_1,h=di(this),v=this.d44();a.i43_1=new(MU())(s,_,l,h,n,v,c,o),this.l43_1=new(sK())(uK(this),this.w42_1,this.x42_1,this.z42_1),this.x42_1.z46(this)}a47(r,t){return nr(_K.bind(u,this,r),t)}b47(){this.k43_1.c45("draw"),di(this).c47(Ce(this).y43_1),Ce(this).y43_1.s2(),di(this).b47(),this.k43_1.f45("draw"),this.e43_1=this.k43_1.d47()}}d(e,"GameEngine",u,u,u,[1,0,2,3]),x5=e}return x5}new(SK());function IK(e,i){return e.appendChild(tr(e.ownerDocument).createTextNode(i)),e}var Mw=Math.imul;function $K(){var e=window.location.protocol+"//"+window.location.host+window.location.pathname;return e=_a(e,0,pb(e,x(47))),i8(e,"/")&&Ow(e,1),e}function EK(){var e=$K(),i=document.getElementsByTagName("tiny-game");AK(e,i)}function AK(e,i){if(i.length===0)throw W().u("No has been found in the current page. Check that the page including your javascript gamehas a least one tag to render the game in.");if(Sa(e,"file://"))throw C7(i,NK),W().u("Tiny can't run without a webserver.Please run a webserver to serve the files so you can acess it through http://localhost instead of file://some/path.");jK(i,(r,t)=>{var n=tr(t.getAttribute("id")),a=t.getAttribute("width"),s=a==null?null:tn(a),_=s??128,l=t.getAttribute("height"),o=l==null?null:tn(l),c=o??128,h=t.getAttribute("zoom"),v=h==null?null:tn(h),f=v??1,p=t.getAttribute("mouse"),w=p==null?null:s8(p),b=w??!1,g=t.getAttribute("spritew"),C=g==null?null:tn(g),S=C??16,k=t.getAttribute("spriteh"),E=k==null?null:tn(k),D=E??16,P=t.getElementsByTagName("tiny-script"),O=ni(pi(P,LK)),H=t.getElementsByTagName("tiny-level"),G=ni(pi(H,MK)),X=t.getElementsByTagName("tiny-sound"),Q=ni(pi(X,TK)),rr=t.getElementsByTagName("tiny-spritesheet"),er=ni(pi(rr,DK)),ir=t.getElementsByTagName("tiny-colors")[0],hr=ir==null?null:ir.getAttribute("name"),or=hr==null?null:p0(hr,[","]),pr=or==null?null:Ta(or),Dr=pr??_t(),Sr=document.createElement("canvas");Sr.setAttribute("width",Mw(_,f).toString()),Sr.setAttribute("height",Mw(c,f).toString()),Sr.setAttribute("tabindex","1"),b&&Sr.setAttribute("style","cursor: none;"),t.appendChild(Sr);var Br;Dr.m1()?Br=Rr(["#FFFFFF","#000000"]):Br=Dr;var Vr=Br,Kr=new(yb())(_,c,Vr,O,er,G,db(Q),f,u,T(0,0),T(S,D),b),$r=new(A8())("game-"+r);return $r.r45("TINY-JS",()=>"Boot the game using the URL '"+e+"'."),new(qK())(Kr,new(aF())(Sr instanceof HTMLCanvasElement?Sr:m(),Kr,n,e),new(mI()),$r).s46(),z})}function pi(e,i){var r=j().p1();return C7(e,t=>(r.c1(i(t)),z)),r}function C7(e,i){var r=xt(0,e.length),t=r.v1_1,n=r.w1_1;if(t<=n)do{var a=t;t=t+1|0;var s=e[a];s!=null&&i(s)}while(a!==n)}function jK(e,i){var r=xt(0,e.length),t=r.v1_1,n=r.w1_1;if(t<=n)do{var a=t;t=t+1|0;var s=a,_=e[s];_!=null&&i(s,_)}while(a!==n)}function NK(e){var i=document.createElement("h1");return IK(i,"🚨 You're accessing the page without a webserver (ie: file:// as URL). Tiny can't run without a webserver. Please start a webserver to serve HTML pages and access it through a valid URL (ie: http://localhost) 🚨"),e.appendChild(i),z}function LK(e){return e.getAttribute("name")}function MK(e){return e.getAttribute("name")}function TK(e){return e.getAttribute("name")}function DK(e){return e.getAttribute("name")}function FK(){EK()}FK(); diff --git a/tiny-doc/src/docs/asciidoc/tiny-sfx-editor.adoc b/tiny-doc/src/docs/asciidoc/tiny-sfx-editor.adoc new file mode 100644 index 00000000..f8e2991a --- /dev/null +++ b/tiny-doc/src/docs/asciidoc/tiny-sfx-editor.adoc @@ -0,0 +1,11 @@ +== Tiny Sfx Editor + +`🧸 Tiny` is bundle with a small sfx editor, that you can start using the command `tiny-cli sfx`, within your game directory. + +This editor can design an instrument and the notes played by this instrument, that generate a sfx. + +The editor can be tested below: + +++++ + +++++ diff --git a/tiny-engine/src/jsMain/kotlin/com/github/minigdx/tiny/platform/webgl/WebSoundManager.kt b/tiny-engine/src/jsMain/kotlin/com/github/minigdx/tiny/platform/webgl/WebSoundManager.kt index c1045f46..9dded803 100644 --- a/tiny-engine/src/jsMain/kotlin/com/github/minigdx/tiny/platform/webgl/WebSoundManager.kt +++ b/tiny-engine/src/jsMain/kotlin/com/github/minigdx/tiny/platform/webgl/WebSoundManager.kt @@ -41,9 +41,8 @@ class WebSoundManager : SoundManager() { // Resume the audio context if interrupted, only on iOS if (audioContext.state != AudioContextState.running) { audioContext.resumeAsync() - } else { - ready = true } + // Note: ready flag is set in initializeAudioWorklet() after audioWorkletNode is initialized } if (audioContext.state != AudioContextState.running) { inputHandler.onFirstUserInteraction { From 39690b29c9e3695a961df4e5b5daaba99dc6c31b Mon Sep 17 00:00:00 2001 From: David Wursteisen Date: Fri, 7 Nov 2025 10:18:22 +0100 Subject: [PATCH 17/17] Change the strategy to render documentations of command line. --- Makefile | 1 + settings.gradle.kts | 1 - .../build.gradle.kts | 9 - .../tiny/doc/CliToAsciidocKspProcessor.kt | 454 ------------------ ...ols.ksp.processing.SymbolProcessorProvider | 1 - tiny-cli/build.gradle.kts | 17 - .../minigdx/tiny/cli/command/DocsCommand.kt | 85 ++++ .../minigdx/tiny/cli/command/MainCommand.kt | 1 + .../command/utils/AsciidocHelpFormatter.kt | 100 ++++ tiny-doc/build.gradle.kts | 10 - .../com/github/minigdx/tiny/lua/SfxLib.kt | 1 - 11 files changed, 187 insertions(+), 493 deletions(-) delete mode 100644 tiny-annotation-processors/tiny-cli-to-asciidoc-generator/build.gradle.kts delete mode 100644 tiny-annotation-processors/tiny-cli-to-asciidoc-generator/src/jvmMain/kotlin/com/github/minigdx/tiny/doc/CliToAsciidocKspProcessor.kt delete mode 100644 tiny-annotation-processors/tiny-cli-to-asciidoc-generator/src/jvmMain/resources/META-INF/services/com.google.devtools.ksp.processing.SymbolProcessorProvider create mode 100644 tiny-cli/src/main/kotlin/com/github/minigdx/tiny/cli/command/DocsCommand.kt create mode 100644 tiny-cli/src/main/kotlin/com/github/minigdx/tiny/cli/command/utils/AsciidocHelpFormatter.kt diff --git a/Makefile b/Makefile index 194a531f..fb013225 100644 --- a/Makefile +++ b/Makefile @@ -19,6 +19,7 @@ install: docs: install ./gradlew tiny-web-editor:tinyWebEditor + tiny-cli docs --output tiny-doc/src/docs/asciidoc/dependencies/tiny-cli-commands.adoc tiny-cli export tiny-sample unzip -o -d tiny-doc/src/docs/asciidoc/sample/game-example tiny-sample/tiny-export.zip tiny-cli export tiny-cli/src/main/resources/sfx diff --git a/settings.gradle.kts b/settings.gradle.kts index c70322f9..bca41059 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -36,7 +36,6 @@ include("tiny-doc") include("tiny-doc-annotations") include("tiny-annotation-processors:tiny-api-to-asciidoc-generator") include("tiny-annotation-processors:tiny-asciidoctor-dsl") -include("tiny-annotation-processors:tiny-cli-to-asciidoc-generator") include("tiny-annotation-processors:tiny-lua-dsl") include("tiny-annotation-processors:tiny-lua-stub-generator") include("tiny-engine") diff --git a/tiny-annotation-processors/tiny-cli-to-asciidoc-generator/build.gradle.kts b/tiny-annotation-processors/tiny-cli-to-asciidoc-generator/build.gradle.kts deleted file mode 100644 index 45d68ade..00000000 --- a/tiny-annotation-processors/tiny-cli-to-asciidoc-generator/build.gradle.kts +++ /dev/null @@ -1,9 +0,0 @@ -plugins { - alias(libs.plugins.minigdx.mpp) -} - -dependencies { - jvmMainImplementation(libs.ksp.symbol.processing.api) - jvmMainImplementation(project(":tiny-doc-annotations")) - jvmMainImplementation(project(":tiny-annotation-processors:tiny-asciidoctor-dsl")) -} diff --git a/tiny-annotation-processors/tiny-cli-to-asciidoc-generator/src/jvmMain/kotlin/com/github/minigdx/tiny/doc/CliToAsciidocKspProcessor.kt b/tiny-annotation-processors/tiny-cli-to-asciidoc-generator/src/jvmMain/kotlin/com/github/minigdx/tiny/doc/CliToAsciidocKspProcessor.kt deleted file mode 100644 index e5756d08..00000000 --- a/tiny-annotation-processors/tiny-cli-to-asciidoc-generator/src/jvmMain/kotlin/com/github/minigdx/tiny/doc/CliToAsciidocKspProcessor.kt +++ /dev/null @@ -1,454 +0,0 @@ -package com.github.minigdx.tiny.doc - -import com.github.mingdx.tiny.doc.CliAnnotation -import com.google.devtools.ksp.KspExperimental -import com.google.devtools.ksp.getAnnotationsByType -import com.google.devtools.ksp.processing.Dependencies -import com.google.devtools.ksp.processing.Resolver -import com.google.devtools.ksp.processing.SymbolProcessor -import com.google.devtools.ksp.processing.SymbolProcessorEnvironment -import com.google.devtools.ksp.processing.SymbolProcessorProvider -import com.google.devtools.ksp.symbol.FileLocation -import com.google.devtools.ksp.symbol.KSAnnotated -import com.google.devtools.ksp.symbol.KSClassDeclaration -import com.google.devtools.ksp.symbol.KSFunctionDeclaration -import java.io.File - -class CliToAsciidocKspProcessor( - val env: SymbolProcessorEnvironment, -) : SymbolProcessor { - val logger = env.logger - - @OptIn(KspExperimental::class) - override fun process(resolver: Resolver): List { - // Skip last KSP round. Everything should be done in one round - resolver.getNewFiles().firstOrNull() ?: return emptyList() - - // Find all classes that extend CliktCommand - val cliktCommandClasses = resolver - .getAllFiles() - .flatMap { it.declarations } - .filterIsInstance() - .filter { classDecl -> - classDecl.superTypes.any { superType -> - superType.resolve().declaration.qualifiedName?.asString() == "com.github.ajalt.clikt.core.CliktCommand" - } - } - // Skip commands to be hidden - .filterNot { classDecl -> classDecl.getAnnotationsByType(CliAnnotation::class).any { it.hidden } } - .toList() - - if (cliktCommandClasses.isEmpty()) { - return emptyList() - } - - val sourceFiles = cliktCommandClasses - .mapNotNull { it.containingFile } - .toList() - .toTypedArray() - - val file = env.codeGenerator.createNewFile( - Dependencies(true, *sourceFiles), - "/", - "tiny-cli-commands", - "adoc", - ) - - val commands = cliktCommandClasses.map { classDecl -> - CliCommandDescriptor( - name = extractCommandName(classDecl), - className = classDecl.simpleName.asString(), - description = extractHelpDescription(classDecl), - arguments = extractArguments(classDecl), - options = extractOptions(classDecl), - ) - }.sortedBy { it.name } - - val result = asciidoc { - title = "Tiny CLI Commands" - - commands.forEach { command -> - section(command.name ?: command.className) { - lib { - paragraph(command.description ?: "No description available.") - - if (command.arguments.isNotEmpty()) { - paragraph("*Arguments:*") - tableArgs(command.arguments.map { it.name to (it.description ?: "No description") }) - } - - if (command.options.isNotEmpty()) { - paragraph("*Options:*") - tableArgs(command.options.map { "--${it.name}" to (it.description ?: "No description") }) - } - - // Generate usage example - val usage = buildString { - append("tiny-cli ${command.name ?: command.className.lowercase()}") - command.arguments.forEach { arg -> - append(" <${arg.name}>") - } - if (command.options.isNotEmpty()) { - append(" [options]") - } - } - - code("# Usage\n$usage", "bash") - } - } - } - }.generate() - - file.write(result.toByteArray()) - return emptyList() - } - - private fun extractCommandName(classDecl: KSClassDeclaration): String? { - // Use reflection to extract the command name from the CliktCommand constructor - // Look for the primary constructor and its arguments - val primaryConstructor = classDecl.primaryConstructor - - primaryConstructor?.let { constructor -> - // Look for the supertype call to CliktCommand - classDecl.superTypes.forEach { superType -> - val resolved = superType.resolve() - if (resolved.declaration.qualifiedName?.asString() == "com.github.ajalt.clikt.core.CliktCommand") { - // Try to find the name argument in the constructor call - superType.element?.typeArguments?.forEach { typeArg -> - // This approach might not work directly, let's try a different approach - } - } - } - } - - // For now, let's use a simpler approach by examining the class source - // and looking for constructor parameters in a more structured way - val classString = classDecl.toString() - - // Look for CliktCommand(name = "commandname") pattern - val namePattern = """CliktCommand\([^)]*name\s*=\s*"([^"]+)"""".toRegex() - val nameMatch = namePattern.find(classString) - if (nameMatch != null) { - return nameMatch.groupValues[1] - } - - // Fallback: derive from class name - val className = classDecl.simpleName.asString() - return if (className.endsWith("Command")) { - className.removeSuffix("Command").lowercase() - } else { - className.lowercase() - } - } - - private fun extractHelpDescription(classDecl: KSClassDeclaration): String? { - // Use reflection to find the help() method override in this class (not inherited) - val helpFunction = classDecl.declarations - .filterIsInstance() - .find { func -> - func.simpleName.asString() == "help" && - func.parentDeclaration == classDecl // Only methods declared in this class - } - - helpFunction?.let { func -> - // Get the source file location - val location = func.location - if (location is FileLocation) { - try { - val sourceFile = File(location.filePath) - if (sourceFile.exists()) { - val lines = sourceFile.readLines() - - // Get the line where the function is declared (KSP uses 1-based line numbers) - val functionLineIndex = location.lineNumber - 1 - - if (functionLineIndex >= 0 && functionLineIndex < lines.size) { - val functionLine = lines[functionLineIndex] - - // Look for patterns like: override fun help(context: Context) = "Some description" - val singleExpressionPattern = """fun\s+help\s*\([^)]*\)\s*=\s*"([^"]+)"""".toRegex() - val match = singleExpressionPattern.find(functionLine) - if (match != null) { - return match.groupValues[1] - } - - // Look for multi-line function declarations - // Check if the function continues on the next line - if (functionLine.contains("fun help") && !functionLine.contains("=")) { - // Look for the return statement in subsequent lines - for (i in (functionLineIndex + 1) until minOf(functionLineIndex + 10, lines.size)) { - val line = lines[i].trim() - - // Look for return "..." pattern - val returnPattern = """return\s+"([^"]+)"""".toRegex() - val returnMatch = returnPattern.find(line) - if (returnMatch != null) { - return returnMatch.groupValues[1] - } - - // Look for = "..." pattern - val assignmentPattern = """=\s+"([^"]+)"""".toRegex() - val assignmentMatch = assignmentPattern.find(line) - if (assignmentMatch != null) { - return assignmentMatch.groupValues[1] - } - - // Stop if we hit a closing brace (end of function) - if (line.contains("}")) { - break - } - } - } - } - } - } catch (e: Exception) { - logger.warn("Error reading source file for function ${func.simpleName.asString()}: ${e.message}") - } - } - } - - // Fallback: return null to indicate no description found - return null - } - - private fun extractArguments(classDecl: KSClassDeclaration): List { - val arguments = mutableListOf() - - // Use reflection to get all properties declared in this class (not inherited from CliktCommand) - val allProperties = classDecl.getAllProperties() - - allProperties - .filter { property -> - // Only include properties declared in the project classes, not from CliktCommand - property.parentDeclaration == classDecl - } - .forEach { property -> - val propertyName = property.simpleName.asString() - - // Read the property declaration from source code to capture chained method calls - val location = property.location - if (location is FileLocation) { - try { - val sourceFile = File(location.filePath) - if (sourceFile.exists()) { - val lines = sourceFile.readLines() - val propertyLineIndex = location.lineNumber - 1 - - if (propertyLineIndex >= 0 && propertyLineIndex < lines.size) { - // Read the complete property declaration including chained methods - val propertyDeclaration = readCompletePropertyDeclaration(lines, propertyLineIndex) - - if (propertyDeclaration.contains("by argument(")) { - // Extract help text from argument(help = "...") pattern - handle both single and multi-line strings - val helpPattern = - """argument\s*\(\s*help\s*=\s*"([^"]+(?:\s*\+\s*"[^"]*")*?)"""".toRegex() - val helpMatch = helpPattern.find(propertyDeclaration) - var helpText = helpMatch?.groupValues?.get(1) - - // Clean up multi-line help text by removing string concatenation artifacts - helpText = helpText?.replace("""\s*\+\s*""".toRegex(), " ")?.trim() - - // Extract default value from .default(...) pattern - improved to handle nested parentheses - val defaultValue = extractDefaultValue(propertyDeclaration) - - // Create enhanced description including default value if present - val enhancedDescription = if (defaultValue != null) { - "${helpText ?: "No description available"} (default: $defaultValue)" - } else { - helpText - } - - arguments.add(CliParameterDescriptor(propertyName, enhancedDescription)) - } - } - } - } catch (e: Exception) { - logger.warn("Error reading source file for property ${property.simpleName.asString()}: ${e.message}") - - // Fallback to the old method if source reading fails - val propertyString = property.toString() - if (propertyString.contains("argument(")) { - val helpPattern = """argument\([^)]*help\s*=\s*"([^"]+)"""".toRegex() - val helpMatch = helpPattern.find(propertyString) - val helpText = helpMatch?.groupValues?.get(1) - arguments.add(CliParameterDescriptor(propertyName, helpText)) - } - } - } - } - - return arguments - } - - private fun readCompletePropertyDeclaration( - lines: List, - startLineIndex: Int, - ): String { - val declaration = StringBuilder() - var currentLineIndex = startLineIndex - var foundByClause = false - - while (currentLineIndex < lines.size) { - val line = lines[currentLineIndex].trim() - - // If we're past the first line and hit a new property/method declaration, stop - if (currentLineIndex > startLineIndex && - ( - line.startsWith("val ") || line.startsWith("var ") || - line.startsWith("private val ") || line.startsWith("private var ") || - line.startsWith("override fun ") || line.startsWith("fun ") || - line.startsWith("class ") || line.startsWith("}") - ) - ) { - break - } - - declaration.append(line).append(" ") - - // Check if this line contains "by argument" or "by option" - if (line.contains("by argument") || line.contains("by option")) { - foundByClause = true - } - - currentLineIndex++ - - // After finding the "by" clause, continue reading lines that start with "." (chained methods) - // or are continuation lines (indented and not starting new declarations) - if (foundByClause) { - while (currentLineIndex < lines.size) { - val nextLine = lines[currentLineIndex].trim() - - // Stop if we hit a new property/method declaration - if (nextLine.startsWith("val ") || nextLine.startsWith("var ") || - nextLine.startsWith("private val ") || nextLine.startsWith("private var ") || - nextLine.startsWith("override fun ") || nextLine.startsWith("fun ") || - nextLine.startsWith("class ") || nextLine.startsWith("}") - ) { - break - } - - // Continue if the line starts with "." (chained method) or is empty - if (nextLine.startsWith(".") || nextLine.isEmpty()) { - declaration.append(nextLine).append(" ") - currentLineIndex++ - } else { - // Stop if it's not a chained method and not empty - break - } - } - break - } - } - - return declaration.toString().trim() - } - - private fun extractDefaultValue(propertyDeclaration: String): String? { - val defaultIndex = propertyDeclaration.indexOf(".default(") - if (defaultIndex == -1) return null - - val startIndex = defaultIndex + ".default(".length - var openParentheses = 1 - var currentIndex = startIndex - - while (currentIndex < propertyDeclaration.length && openParentheses > 0) { - when (propertyDeclaration[currentIndex]) { - '(' -> openParentheses++ - ')' -> openParentheses-- - } - currentIndex++ - } - - return if (openParentheses == 0) { - propertyDeclaration.substring(startIndex, currentIndex - 1).trim() - } else { - null - } - } - - private fun extractOptions(classDecl: KSClassDeclaration): List { - val options = mutableListOf() - - // Use reflection to get all properties declared in this class (not inherited from CliktCommand) - val allProperties = classDecl.getAllProperties() - - allProperties - .filter { property -> - // Only include properties declared in the project classes, not from CliktCommand - property.parentDeclaration == classDecl - } - .forEach { property -> - val propertyName = property.simpleName.asString() - - // Read the property declaration from source code to capture chained method calls - val location = property.location - if (location is FileLocation) { - try { - val sourceFile = File(location.filePath) - if (sourceFile.exists()) { - val lines = sourceFile.readLines() - val propertyLineIndex = location.lineNumber - 1 - - if (propertyLineIndex >= 0 && propertyLineIndex < lines.size) { - // Read the complete property declaration including chained methods - val propertyDeclaration = readCompletePropertyDeclaration(lines, propertyLineIndex) - - if (propertyDeclaration.contains("by option(")) { - // Extract help text from option(help = "...") pattern - handle both single and multi-line strings - val helpPattern = - """option\s*\([^)]*help\s*=\s*"([^"]+(?:\s*\+\s*"[^"]*")*?)"""".toRegex() - val helpMatch = helpPattern.find(propertyDeclaration) - var helpText = helpMatch?.groupValues?.get(1) - - // Clean up multi-line help text by removing string concatenation artifacts - helpText = helpText?.replace("""\s*\+\s*""".toRegex(), " ")?.trim() - - // Extract default value from .default(...) pattern - improved to handle nested parentheses - val defaultValue = extractDefaultValue(propertyDeclaration) - - // Create enhanced description including default value if present - val enhancedDescription = if (defaultValue != null) { - "${helpText ?: "No description available"} (default: $defaultValue)" - } else { - helpText - } - - options.add(CliParameterDescriptor(propertyName, enhancedDescription)) - } - } - } - } catch (e: Exception) { - logger.warn("Error reading source file for property ${property.simpleName.asString()}: ${e.message}") - - // Fallback to the old method if source reading fails - val propertyString = property.toString() - if (propertyString.contains("option(")) { - val helpPattern = """option\([^)]*help\s*=\s*"([^"]+)"""".toRegex() - val helpMatch = helpPattern.find(propertyString) - val helpText = helpMatch?.groupValues?.get(1) - options.add(CliParameterDescriptor(propertyName, helpText)) - } - } - } - } - - return options - } -} - -data class CliCommandDescriptor( - val name: String?, - val className: String, - val description: String?, - val arguments: List, - val options: List, -) - -data class CliParameterDescriptor( - val name: String, - val description: String?, -) - -class CliKspProcessorProvider : SymbolProcessorProvider { - override fun create(environment: SymbolProcessorEnvironment) = CliToAsciidocKspProcessor(environment) -} diff --git a/tiny-annotation-processors/tiny-cli-to-asciidoc-generator/src/jvmMain/resources/META-INF/services/com.google.devtools.ksp.processing.SymbolProcessorProvider b/tiny-annotation-processors/tiny-cli-to-asciidoc-generator/src/jvmMain/resources/META-INF/services/com.google.devtools.ksp.processing.SymbolProcessorProvider deleted file mode 100644 index d53fed0a..00000000 --- a/tiny-annotation-processors/tiny-cli-to-asciidoc-generator/src/jvmMain/resources/META-INF/services/com.google.devtools.ksp.processing.SymbolProcessorProvider +++ /dev/null @@ -1 +0,0 @@ -com.github.minigdx.tiny.doc.CliKspProcessorProvider diff --git a/tiny-cli/build.gradle.kts b/tiny-cli/build.gradle.kts index ca63b5ef..ed516420 100644 --- a/tiny-cli/build.gradle.kts +++ b/tiny-cli/build.gradle.kts @@ -3,7 +3,6 @@ plugins { alias(libs.plugins.minigdx.jvm) alias(libs.plugins.kotlin.serialization) - alias(libs.plugins.kotlin.ksp) application } @@ -46,10 +45,6 @@ dependencies { "Embed the JS engine in the CLI " + "so it can be included when the game is exported.", ) - - add("ksp", project(":tiny-annotation-processors:tiny-cli-to-asciidoc-generator")) { - because("KSP will generate the asciidoctor documentation of all Lua libs from Tiny.") - } } application { @@ -79,15 +74,3 @@ project.tasks.withType(JavaExec::class.java).configureEach { classpath(jar, runtimeClasspath, externalDependencies) } - -val tinyCliApiAsciidoctor = configurations.create("tinyCliApiAsciidoctor") { - isCanBeResolved = false - isCanBeConsumed = true -} - -artifacts { - // CLI as Asciidoctor. - add(tinyCliApiAsciidoctor.name, project.layout.buildDirectory.file("generated/ksp/main/resources/tiny-cli-commands.adoc")) { - builtBy("kspKotlin") - } -} diff --git a/tiny-cli/src/main/kotlin/com/github/minigdx/tiny/cli/command/DocsCommand.kt b/tiny-cli/src/main/kotlin/com/github/minigdx/tiny/cli/command/DocsCommand.kt new file mode 100644 index 00000000..aa70194e --- /dev/null +++ b/tiny-cli/src/main/kotlin/com/github/minigdx/tiny/cli/command/DocsCommand.kt @@ -0,0 +1,85 @@ +package com.github.minigdx.tiny.cli.command + +import com.github.ajalt.clikt.core.CliktCommand +import com.github.ajalt.clikt.core.CliktError +import com.github.ajalt.clikt.core.Context +import com.github.ajalt.clikt.core.context +import com.github.ajalt.clikt.core.parse +import com.github.ajalt.clikt.parameters.options.default +import com.github.ajalt.clikt.parameters.options.option +import com.github.ajalt.clikt.parameters.types.file +import com.github.mingdx.tiny.doc.CliAnnotation +import com.github.minigdx.tiny.cli.command.utils.AsciidocHelpFormatter +import java.io.File + +/** + * Command to generate AsciiDoc documentation for all CLI commands. + * + * This command iterates through all registered Tiny CLI commands and generates + * comprehensive AsciiDoc documentation including arguments, options, defaults, + * and usage examples. + */ +@CliAnnotation(hidden = true) +class DocsCommand : CliktCommand(name = "docs") { + private val outputFile by option( + "--output", + "-o", + help = "Output file path for the generated AsciiDoc documentation", + ) + .file(mustExist = false, canBeDir = false, canBeFile = true) + .default(File("tiny-cli-commands.adoc")) + + override fun help(context: Context) = "Generate AsciiDoc documentation for all CLI commands" + + override fun run() { + echo("📚 Generating CLI documentation...") + + val documentation = buildString { + // Document header (level 2 since this will be included in main docs) + appendLine("== Tiny CLI Commands Reference") + appendLine() + appendLine("=== Commands") + appendLine() + + // Get all command classes to document + val commands = listOf( + CreateCommand(), + RunCommand(), + DebugCommand(), + AddCommand(), + ExportCommand(), + ServeCommand(), + PaletteCommand(), + SfxCommand(), + UpdateCommand(), + ResourcesCommand(), + ) + + // Generate documentation for each command + commands.forEach { command -> + try { + command.context { helpFormatter = { AsciidocHelpFormatter } } + command.parse(arrayOf("-h")) + } catch (e: CliktError) { + val asciidocHelp = command.getFormattedHelp(e) + appendLine(asciidocHelp) + // Use AsciidocHelpFormatter to convert help to AsciiDoc + appendLine() + } catch (e: Exception) { + echo("⚠️ Warning: Could not generate docs for ${command.commandName}: ${e.message}", err = true) + e.printStackTrace() + } + } + } + + // Write to output file + try { + outputFile.parentFile?.mkdirs() + outputFile.writeText(documentation) + echo("✅ Documentation generated successfully: ${outputFile.absolutePath}") + } catch (e: Exception) { + echo("❌ Error writing documentation file: ${e.message}", err = true) + throw e + } + } +} diff --git a/tiny-cli/src/main/kotlin/com/github/minigdx/tiny/cli/command/MainCommand.kt b/tiny-cli/src/main/kotlin/com/github/minigdx/tiny/cli/command/MainCommand.kt index a50f573e..edbdb29e 100644 --- a/tiny-cli/src/main/kotlin/com/github/minigdx/tiny/cli/command/MainCommand.kt +++ b/tiny-cli/src/main/kotlin/com/github/minigdx/tiny/cli/command/MainCommand.kt @@ -18,6 +18,7 @@ class MainCommand : CliktCommand() { SfxCommand(), UpdateCommand(), ResourcesCommand(), + DocsCommand(), ) } diff --git a/tiny-cli/src/main/kotlin/com/github/minigdx/tiny/cli/command/utils/AsciidocHelpFormatter.kt b/tiny-cli/src/main/kotlin/com/github/minigdx/tiny/cli/command/utils/AsciidocHelpFormatter.kt new file mode 100644 index 00000000..27327ff5 --- /dev/null +++ b/tiny-cli/src/main/kotlin/com/github/minigdx/tiny/cli/command/utils/AsciidocHelpFormatter.kt @@ -0,0 +1,100 @@ +package com.github.minigdx.tiny.cli.command.utils + +import com.github.ajalt.clikt.core.UsageError +import com.github.ajalt.clikt.output.HelpFormatter +import com.github.ajalt.clikt.output.HelpFormatter.ParameterHelp + +/** + * Utility object for converting CLI command help to AsciiDoc format. + * + * This converts standard Clikt help output to properly structured AsciiDoc + * documentation including command sections, usage examples, and parameter tables. + */ +object AsciidocHelpFormatter : HelpFormatter { + override fun formatHelp( + error: UsageError?, + prolog: String, + epilog: String, + parameters: List, + programName: String, + ): String { + val optionParameters = parameters.filterIsInstance() + val argumentParameters = parameters.filterIsInstance() + + return buildString { + appendSection3Title(programName) + appendEmptyLine() + appendLine(prolog) + appendEmptyLine() + appendUsageExample(programName, optionParameters, argumentParameters) + appendEmptyLine() + appendOptionsSection(optionParameters) + appendEmptyLine() + appendArgumentsSection(argumentParameters) + }.trim() + } + + private fun StringBuilder.appendSection3Title(title: String) { + appendLine("=== $title") + } + + private fun StringBuilder.appendEmptyLine() { + appendLine() + } + + private fun StringBuilder.appendUsageExample( + programName: String, + optionParameters: List, + argumentParameters: List, + ) { + val firstOption = optionParameters + .firstOrNull() + ?.names + ?.firstOrNull() + ?.let { "$it=" } + ?: "" + + val firstArgument = argumentParameters + .firstOrNull() + ?.name + ?.lowercase() + ?.let { "<$it>" } + ?: "" + + appendLine("[source]") + appendLine("----") + appendLine("tiny-cli $programName $firstOption $firstArgument".trim()) + appendLine("----") + } + + private fun StringBuilder.appendOptionsSection(options: List) { + if (options.isEmpty()) return + + appendLine("==== Options") + appendEmptyLine() + options.forEach { option -> + appendOptionDefinition(option) + } + } + + private fun StringBuilder.appendOptionDefinition(option: ParameterHelp.Option) { + val names = option.names.joinToString(", ") + appendLine("`$names=`::") + appendLine(option.help) + } + + private fun StringBuilder.appendOptionDefinition(argument: ParameterHelp.Argument) { + appendLine("`<${argument.name.lowercase()}>`::") + appendLine(argument.help) + } + + private fun StringBuilder.appendArgumentsSection(arguments: List) { + if (arguments.isEmpty()) return + + appendLine("==== Arguments") + appendEmptyLine() + arguments.forEach { argument -> + appendOptionDefinition(argument) + } + } +} diff --git a/tiny-doc/build.gradle.kts b/tiny-doc/build.gradle.kts index 926ac05a..dac18896 100644 --- a/tiny-doc/build.gradle.kts +++ b/tiny-doc/build.gradle.kts @@ -36,16 +36,6 @@ dependencies { ), ), ) - - add( - asciidoctorDependencies.name, - project( - mapOf( - "path" to ":tiny-cli", - "configuration" to "tinyCliApiAsciidoctor", - ), - ), - ) } val unzipAsciidoctorResources = diff --git a/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/lua/SfxLib.kt b/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/lua/SfxLib.kt index efcbaba9..8436b6c9 100644 --- a/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/lua/SfxLib.kt +++ b/tiny-engine/src/commonMain/kotlin/com/github/minigdx/tiny/lua/SfxLib.kt @@ -10,7 +10,6 @@ import com.github.minigdx.tiny.platform.Platform import com.github.minigdx.tiny.sound.Instrument import com.github.minigdx.tiny.sound.Music import com.github.minigdx.tiny.sound.VirtualSoundBoard -import kotlinx.serialization.json.Json import org.luaj.vm2.LuaTable import org.luaj.vm2.LuaValue import org.luaj.vm2.lib.LibFunction