diff --git a/packages/cli/build.gradle.kts b/packages/cli/build.gradle.kts index e108eab06..380ae2466 100644 --- a/packages/cli/build.gradle.kts +++ b/packages/cli/build.gradle.kts @@ -703,6 +703,7 @@ val enabledFeatures = listOfNotNull( "elide.tool.engine.MacLinkageFeature", "elide.tool.feature.ToolingUmbrellaFeature", "elide.runtime.feature.engine.NativeConsoleFeature", + "elide.runtime.feature.js.FetchFeature", onlyIf(enablePython, "elide.runtime.feature.python.PythonFeature"), onlyIf(enableNativeTransportV2, "elide.runtime.feature.engine.NativeTransportFeature"), onlyIf(enableNativeCryptoV2, "elide.runtime.feature.engine.NativeCryptoFeature"), diff --git a/packages/cli/src/main/kotlin/elide/tool/cli/cmd/repl/ToolShellCommand.kt b/packages/cli/src/main/kotlin/elide/tool/cli/cmd/repl/ToolShellCommand.kt index 6d4a02133..0d69b4e24 100644 --- a/packages/cli/src/main/kotlin/elide/tool/cli/cmd/repl/ToolShellCommand.kt +++ b/packages/cli/src/main/kotlin/elide/tool/cli/cmd/repl/ToolShellCommand.kt @@ -905,8 +905,8 @@ private typealias ContextAccessor = () -> PolyglotContext ) else -> displayFormattedError( - exc, - exc.message ?: "A runtime error was thrown", + exc.asHostException(), + exc.asHostException().message ?: "A runtime error was thrown", advice = "This is an error in Elide. Please report this to the Elide Team with `elide bug`", stacktrace = true, internal = true, @@ -914,6 +914,12 @@ private typealias ContextAccessor = () -> PolyglotContext } } + // if this is a guest-side exception, throw it + exc.guestObject != null && exc.guestObject.isException -> { + logging.debug("Detected guest-side exception; throwing") + exc.guestObject.throwException() + } + exc.isGuestException -> displayFormattedError( exc, exc.message ?: "An error was thrown", @@ -931,6 +937,8 @@ private typealias ContextAccessor = () -> PolyglotContext exc.message ?: "An error was thrown", internal = true, ) + + else -> error("Unhandled polyglot error type: $exc") } // in interactive sessions, return `null` if the error is non-fatal; this tells the outer execution loop to ignore // the exception (since it has been printed to the user), and continue with the interactive session. @@ -1229,10 +1237,37 @@ private typealias ContextAccessor = () -> PolyglotContext parsed.execute() } catch (exc: PolyglotException) { + logging.debug("Caught polyglot exception: $exc") + if (logging.isEnabled(LogLevel.DEBUG)) { + logging.debug(StringBuilder().apply { + append("Error Info: ") + append("message{${exc.message}} ") + append("source{${exc.sourceLocation}} ") + append("isGuestException{${exc.isGuestException}} ") + append("isHostException{${exc.isHostException}} ") + append("isCancelled{${exc.isCancelled}} ") + append("isInterrupted{${exc.isInterrupted}} ") + append("isResourceExhausted{${exc.isResourceExhausted}} ") + append("isSyntaxError{${exc.isSyntaxError}} ") + append("isIncompleteSource{${exc.isIncompleteSource}} ") + append("isInternalError{${exc.isInternalError}} ") + append("cause{${exc.cause}}") + val guestObj = exc.guestObject + if (guestObj != null) { + append(" // Guest Object: ") + append("isHostObject{${guestObj.isHostObject}} ") + append("isNull{${guestObj.isNull}} ") + append("isException{${guestObj.isException}} ") + append("isString{${guestObj.isString}}") + } + }.toString()) + } when (val throwable = processUserCodeError(primaryLanguage, exc)) { null -> {} else -> throw throwable } + } catch (exc: Throwable) { + logging.debug("Caught (and re-throwing) exception: $exc") } } diff --git a/packages/cli/src/main/resources/META-INF/native-image/dev/elide/elide-cli/reachability-metadata.json b/packages/cli/src/main/resources/META-INF/native-image/dev/elide/elide-cli/reachability-metadata.json index 8c1a2ea7b..9f78f32a8 100644 --- a/packages/cli/src/main/resources/META-INF/native-image/dev/elide/elide-cli/reachability-metadata.json +++ b/packages/cli/src/main/resources/META-INF/native-image/dev/elide/elide-cli/reachability-metadata.json @@ -1,5 +1,303 @@ { "reflection": [ + { + "type": "java.util.Optional", + "methods": [ + { + "name": "get" + }, + { + "name": "isPresent" + } + ] + }, + { + "type": "jdk.internal.net.http.HttpResponseImpl", + "methods": [ + { + "name": "statusCode" + }, + { + "name": "headers" + }, + { + "name": "body" + } + ] + }, + { + "type": "java.net.http.HttpHeaders", + "methods": [ + { + "name": "firstValue" + }, + { + "name": "allValues" + }, + { + "name": "map" + } + ] + }, + { + "type": "jdk.internal.net.http.HttpClientFacade", + "methods": [ + { + "name": "send" + } + ] + }, + { + "type": "java.net.http.HttpClient", + "methods": [ + { + "name": "send" + } + ] + }, + { + "type": "jdk.internal.net.http.HttpClientBuilderImpl" + }, + { + "type": "jdk.internal.net.http.HttpRequestBuilderImpl" + }, + { + "type": "java.lang.constant.Constable" + }, + { + "type": "java.lang.Throwable", + "methods": [ + { + "name": "toString" + } + ] + }, + { + "type": "java.lang.AutoCloseable" + }, + { + "type": "java.net.URI", + "methods": [ + { + "name": "", + "parameterTypes": [ + "java.lang.String" + ] + }, + { + "name": "isAbsolute" + }, + { + "name": "resolve" + }, + { + "name": "getUserInfo" + }, + { + "name": "getScheme" + }, + { + "name": "getFragment" + }, + { + "name": "getSchemeSpecificPart" + }, + { + "name": "toString" + }, + { + "name": "getHost" + } + ] + }, + { + "type": "org.graalvm.nativeimage.MissingReflectionRegistrationError" + }, + { + "type": "java.io.Serializable" + }, + { + "type": "java.lang.Comparable" + }, + { + "type": "java.net.http.HttpClient", + "methods": [ + { + "name": "newBuilder" + } + ] + }, + { + "type": "java.net.http.HttpClient$Builder", + "methods": [ + { + "name": "followRedirects" + }, + { + "name": "build" + } + ] + }, + { + "type": "java.net.http.HttpClient.Redirect" + }, + { + "type": "java.net.http.HttpClient$Redirect" + }, + { + "type": "java.net.http.HttpRequest", + "methods": [ + { + "name": "newBuilder" + }, + { + "name": "uri" + }, + { + "name": "method" + }, + { + "name": "bodyPublisher" + }, + { + "name": "headers" + } + ] + }, + { + "type": "java.net.http.HttpRequest.Builder", + "methods": [ + { + "name": "setHeader" + }, + { + "name": "header" + }, + { + "name": "headers" + }, + { + "name": "method" + }, + { + "name": "build" + } + ] + }, + { + "type": "java.net.http.HttpRequest$Builder", + "methods": [ + { + "name": "setHeader" + }, + { + "name": "header" + }, + { + "name": "headers" + }, + { + "name": "method" + }, + { + "name": "build" + } + ] + }, + { + "type": "java.net.http.HttpRequest.BodyPublishers", + "methods": [ + { + "name": "ofString" + }, + { + "name": "ofByteArray" + }, + { + "name": "ofInputStream" + }, + { + "name": "ofFile" + }, + { + "name": "ofNone" + } + ] + }, + { + "type": "java.net.http.HttpRequest$BodyPublishers", + "methods": [ + { + "name": "ofString" + }, + { + "name": "ofByteArray" + }, + { + "name": "ofInputStream" + }, + { + "name": "ofFile" + }, + { + "name": "noBody" + } + ] + }, + { + "type": "java.net.http.HttpResponse", + "methods": [ + { + "name": "statusCode" + }, + { + "name": "headers" + }, + { + "name": "body" + } + ] + }, + { + "type": "java.net.http.HttpResponse.BodyHandlers", + "methods": [ + { + "name": "ofString" + }, + { + "name": "ofByteArray" + }, + { + "name": "ofInputStream" + }, + { + "name": "ofFile" + }, + { + "name": "ofDiscard" + } + ] + }, + { + "type": "java.net.http.HttpResponse$BodyHandlers", + "methods": [ + { + "name": "ofString" + }, + { + "name": "ofByteArray" + }, + { + "name": "ofInputStream" + }, + { + "name": "ofFile" + } + ] + }, + { + "type": "java.util.Base64" + }, { "type": "sun.util.logging.resources.logging", "methods": [ @@ -2917,6 +3215,9 @@ } ], "resources": [ + { + "glob": "META-INF/services/java.net.spi.InetAddressResolverProvider" + }, { "glob": "org/jline/utils/*.caps" }, diff --git a/packages/cli/src/test/kotlin/elide/tool/cli/AbstractEntryTest.kt b/packages/cli/src/test/kotlin/elide/tool/cli/AbstractEntryTest.kt new file mode 100644 index 000000000..eadb1fa4b --- /dev/null +++ b/packages/cli/src/test/kotlin/elide/tool/cli/AbstractEntryTest.kt @@ -0,0 +1,59 @@ +package elide.tool.cli + +import io.micronaut.configuration.picocli.PicocliRunner +import org.apache.commons.io.output.ByteArrayOutputStream +import java.io.PrintStream +import java.nio.file.Path +import java.nio.file.Paths +import java.util.concurrent.atomic.AtomicReference +import jakarta.inject.Inject + +abstract class AbstractEntryTest { + val testRuby = false + val testPython = false + + companion object { + @JvmStatic protected val rootProjectPath: Path = Paths.get(System.getProperty("user.dir")) + .parent + .parent + + @JvmStatic protected val testScriptsPath: Path = rootProjectPath + .resolve("tools") + .resolve("scripts") + .toAbsolutePath() + } + + @Inject lateinit var tool: Elide + + protected fun assertToolExitsWithCode(expected: Int, vararg args: String) { + fun block(): Int = + PicocliRunner.execute(Elide::class.java, *args) + + // capture stdout and stderr + val stubbedOut = ByteArrayOutputStream() + val stubbedErr = ByteArrayOutputStream() + val originalOut = System.out + val originalErr = System.err + System.setOut(PrintStream(stubbedOut)) + System.setErr(PrintStream(stubbedErr)) + val capturedOut: AtomicReference = AtomicReference(null) + val capturedErr: AtomicReference = AtomicReference(null) + + val code = try { + block() + } finally { + capturedOut.set(stubbedOut.toByteArray()) + capturedErr.set(stubbedErr.toByteArray()) + System.setOut(originalOut) + System.setErr(originalErr) + } + assert(expected == code) { + "should exit with code $expected, but got $code;\n" + + "stdout: ${String(capturedOut.get())}\nstderr: ${String(capturedErr.get())}" + } + } + + protected fun assertToolRunsWith(vararg args: String) { + assertToolExitsWithCode(0, *args) + } +} diff --git a/packages/cli/src/test/kotlin/elide/tool/cli/ElideSmokeTests.kt b/packages/cli/src/test/kotlin/elide/tool/cli/ElideSmokeTests.kt new file mode 100644 index 000000000..233e358b6 --- /dev/null +++ b/packages/cli/src/test/kotlin/elide/tool/cli/ElideSmokeTests.kt @@ -0,0 +1,93 @@ +/* + * Copyright (c) 2024-2025 Elide Technologies, Inc. + * + * Licensed under the MIT license (the "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * https://opensource.org/license/mit/ + * + * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on + * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under the License. + */ + +package elide.tool.cli + +import org.junit.jupiter.api.Assumptions +import org.junit.jupiter.api.DynamicTest +import org.junit.jupiter.api.TestFactory +import java.nio.file.Path +import java.util.stream.Stream +import kotlin.io.path.absolutePathString +import kotlin.io.path.name +import kotlin.io.path.nameWithoutExtension +import kotlin.streams.asStream +import elide.testing.annotations.TestCase + +@TestCase class ElideSmokeTests : AbstractEntryTest() { + @JvmRecord private data class TestInvocation( + val file: Path, + val extraArgs: List = emptyList(), + ) { + fun args(): List = listOf( + "run", + "--verbose", + "--host:allow-env", + "--env:dotenv" + ) + extraArgs + listOf( + file.absolutePathString(), + ) + } + + private companion object { + @JvmStatic private fun testFile(file: String): TestInvocation = TestInvocation( + file = testScriptsPath.resolve(file) + ) + + // All tests to run. + private val allTests = listOf( + testFile("hello.js"), + testFile("hello.ts"), + testFile("hello.py"), + testFile("paths.cjs"), + testFile("paths.mjs"), + testFile("cpu.js"), + testFile("fs.mjs"), + testFile("brotli.mjs"), + testFile("sqlite.cjs"), + testFile("sqlite.mjs"), + testFile("sqlite.ts"), + testFile("sqlite.mts"), + testFile("stdlib.cjs"), + testFile("stdlib.mjs"), + testFile("simple.js"), + testFile("args.py"), + testFile("env.py"), + testFile("env.js"), + testFile("fetch.mjs"), + ) + + private val knownBroken = sortedSetOf( + "brotli", + "fs", + "stdlib", + ) + } + + @TestFactory fun `smoke test`(): Stream = sequence { + allTests.forEach { + yield(DynamicTest.dynamicTest(it.file.name) { + val isPython = it.file.name.endsWith(".py") + val isRuby = it.file.name.endsWith(".rb") + Assumptions.assumeTrue( + (testPython && isPython) || (testRuby && isRuby) || (!isPython && !isRuby) + ) + Assumptions.assumeTrue( + it.file.nameWithoutExtension !in knownBroken + ) + + assertToolExitsWithCode(0, *it.args().toTypedArray()) + }) + } + }.asStream() +} diff --git a/packages/cli/src/test/kotlin/elide/tool/cli/ElideToolTest.kt b/packages/cli/src/test/kotlin/elide/tool/cli/ElideToolTest.kt index 511fb4e4d..9f30adef2 100644 --- a/packages/cli/src/test/kotlin/elide/tool/cli/ElideToolTest.kt +++ b/packages/cli/src/test/kotlin/elide/tool/cli/ElideToolTest.kt @@ -13,69 +13,15 @@ package elide.tool.cli -import io.micronaut.configuration.picocli.PicocliRunner -import org.apache.commons.io.output.ByteArrayOutputStream import org.junit.jupiter.api.Assumptions import org.junit.jupiter.api.assertDoesNotThrow -import java.io.PrintStream import java.nio.file.Files -import java.nio.file.Paths -import java.util.concurrent.atomic.AtomicReference -import kotlin.test.assertEquals import kotlin.test.assertNotNull -import elide.annotations.Inject import elide.testing.annotations.Test import elide.testing.annotations.TestCase /** Tests for the main CLI tool entrypoint. */ -@TestCase class ElideToolTest { - private val testRuby = false - private val testPython = false - private val rootProjectPath = Paths.get(System.getProperty("user.dir")) - .parent - .parent - - private val testScriptsPath = rootProjectPath - .resolve("tools") - .resolve("scripts") - .toAbsolutePath() - - private fun assertToolExitsWithCode(expected: Int, vararg args: String) { - fun block(): Int = - PicocliRunner.execute(Elide::class.java, *args) - - // capture stdout and stderr - val stubbedOut = ByteArrayOutputStream() - val stubbedErr = ByteArrayOutputStream() - val originalOut = System.out - val originalErr = System.err - System.setOut(PrintStream(stubbedOut)) - System.setErr(PrintStream(stubbedErr)) - val capturedOut: AtomicReference = AtomicReference(null) - val capturedErr: AtomicReference = AtomicReference(null) - - val code = try { - block() - } finally { - capturedOut.set(stubbedOut.toByteArray()) - capturedErr.set(stubbedErr.toByteArray()) - System.setOut(originalOut) - System.setErr(originalErr) - } - assertEquals( - expected, - code, - "should exit with code $expected, but got $code;\n" + - "stdout: ${String(capturedOut.get())}\nstderr: ${String(capturedErr.get())}", - ) - } - - private fun assertToolRunsWith(vararg args: String) { - assertToolExitsWithCode(0, *args) - } - - @Inject lateinit var tool: Elide - +@TestCase class ElideToolTest : AbstractEntryTest() { @Test fun testEntrypoint() { assertNotNull(tool, "should be able to init and inject entrypoint") } diff --git a/packages/engine/api/engine.api b/packages/engine/api/engine.api index ae6862482..9e94d1434 100644 --- a/packages/engine/api/engine.api +++ b/packages/engine/api/engine.api @@ -1003,8 +1003,11 @@ public abstract class elide/runtime/plugins/AbstractLanguagePlugin : elide/runti public fun ()V protected final fun configureLanguageSupport (Lelide/runtime/core/EnginePlugin$InstallationScope;)V protected final fun configureSharedBindings (Lelide/runtime/core/EnginePlugin$InstallationScope;Lelide/runtime/plugins/AbstractLanguageConfig;)V + protected final fun executePreambleScripts (Lelide/runtime/core/PolyglotContext;Lelide/runtime/plugins/AbstractLanguagePlugin$LanguagePluginManifest;Ljava/util/List;)V + public static synthetic fun executePreambleScripts$default (Lelide/runtime/plugins/AbstractLanguagePlugin;Lelide/runtime/core/PolyglotContext;Lelide/runtime/plugins/AbstractLanguagePlugin$LanguagePluginManifest;Ljava/util/List;ILjava/lang/Object;)V protected fun getManifestKey ()Ljava/lang/String; protected final fun initializeEmbeddedScripts (Lelide/runtime/core/PolyglotContext;Lelide/runtime/plugins/AbstractLanguagePlugin$LanguagePluginManifest;)V + protected static final fun initializePreambleScripts (Ljava/lang/String;[Ljava/lang/String;)Ljava/util/List; protected final fun installEmbeddedBundles (Lelide/runtime/core/EnginePlugin$InstallationScope;Lelide/runtime/plugins/AbstractLanguagePlugin$LanguagePluginManifest;)V protected final fun resolveEmbeddedManifest (Lelide/runtime/core/EnginePlugin$InstallationScope;Z)Lelide/runtime/plugins/AbstractLanguagePlugin$LanguagePluginManifest; protected final fun resolveEmbeddedManifest (Lelide/runtime/core/HostPlatform;Z)Lelide/runtime/plugins/AbstractLanguagePlugin$LanguagePluginManifest; @@ -1081,6 +1084,22 @@ public final class elide/runtime/plugins/AbstractLanguagePlugin$LanguagePluginMa public final fun serializer ()Lkotlinx/serialization/KSerializer; } +public final class elide/runtime/plugins/AbstractLanguagePlugin$PreinitScript : java/lang/Record { + public fun (Ljava/lang/String;Lorg/graalvm/polyglot/Source;Lorg/graalvm/polyglot/Value;)V + public synthetic fun (Ljava/lang/String;Lorg/graalvm/polyglot/Source;Lorg/graalvm/polyglot/Value;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Ljava/lang/String; + public final fun component2 ()Lorg/graalvm/polyglot/Source; + public final fun component3 ()Lorg/graalvm/polyglot/Value; + public final fun copy (Ljava/lang/String;Lorg/graalvm/polyglot/Source;Lorg/graalvm/polyglot/Value;)Lelide/runtime/plugins/AbstractLanguagePlugin$PreinitScript; + public static synthetic fun copy$default (Lelide/runtime/plugins/AbstractLanguagePlugin$PreinitScript;Ljava/lang/String;Lorg/graalvm/polyglot/Source;Lorg/graalvm/polyglot/Value;ILjava/lang/Object;)Lelide/runtime/plugins/AbstractLanguagePlugin$PreinitScript; + public final fun entry ()Lorg/graalvm/polyglot/Value; + public fun equals (Ljava/lang/Object;)Z + public fun hashCode ()I + public final fun name ()Ljava/lang/String; + public final fun source ()Lorg/graalvm/polyglot/Source; + public fun toString ()Ljava/lang/String; +} + public final class elide/runtime/plugins/bindings/Bindings { public static final field Plugin Lelide/runtime/plugins/bindings/Bindings$Plugin; public synthetic fun (Ljava/util/List;Lkotlin/jvm/internal/DefaultConstructorMarker;)V diff --git a/packages/engine/src/main/kotlin/elide/runtime/plugins/AbstractLanguagePlugin.kt b/packages/engine/src/main/kotlin/elide/runtime/plugins/AbstractLanguagePlugin.kt index ccb5278f7..32da96f54 100644 --- a/packages/engine/src/main/kotlin/elide/runtime/plugins/AbstractLanguagePlugin.kt +++ b/packages/engine/src/main/kotlin/elide/runtime/plugins/AbstractLanguagePlugin.kt @@ -12,6 +12,11 @@ */ package elide.runtime.plugins +import org.graalvm.polyglot.Context +import org.graalvm.polyglot.Engine +import org.graalvm.polyglot.Source +import org.graalvm.polyglot.Value +import java.nio.charset.StandardCharsets import java.util.zip.GZIPInputStream import kotlinx.serialization.ExperimentalSerializationApi import kotlinx.serialization.KSerializer @@ -23,11 +28,20 @@ import kotlinx.serialization.encoding.Decoder import kotlinx.serialization.encoding.Encoder import kotlinx.serialization.json.Json import kotlinx.serialization.json.decodeFromStream +import kotlin.io.bufferedReader import elide.runtime.core.* import elide.runtime.core.EnginePlugin.InstallationScope import elide.runtime.plugins.AbstractLanguagePlugin.LanguagePluginManifest.EmbeddedResource import elide.runtime.plugins.bindings.Bindings +// Default engine for pre-warming. +private val defaultEngine = Engine.create() + +// Default context for pre-warming. +private val defaultContext = Context.newBuilder() + .engine(defaultEngine) + .build() + /** * Abstract base class for language plugins. */ @@ -40,6 +54,20 @@ import elide.runtime.plugins.bindings.Bindings */ protected open val manifestKey: String get() = languageId + /** + * Pre-initialization script built by [initializePreambleScripts], which returns a suite of sources which are + * initialized at build time; these scripts should be passed verbatim to [executePreambleScripts] at runtime. + * + * @property name Given name of the preamble script. + * @property source The source of the preamble script. + * @property entry Pre-parsed entrypoint for the script. + */ + @JvmRecord public data class PreinitScript( + val name: String, + val source: Source, + val entry: Value? = null, + ) + /** Provides information about resources embedded into the runtime, used by language plugins. */ @Serializable public data class LanguagePluginManifest( /** The engine version these resources are meant to be used with. */ @@ -189,6 +217,32 @@ import elide.runtime.plugins.bindings.Bindings * @param resources The embedded resources for this plugin, providing the script sources. */ @Suppress("TooGenericExceptionCaught") + protected fun executePreambleScripts( + context: PolyglotContext, + resources: LanguagePluginManifest, + sources: List = emptyList(), + ) { + try { + context.enter() + sources.forEach { script -> + context.evaluate(script.source) + } + } finally { + context.leave() + } + } + + /** + * Run the setup scripts specified in this plugin's [resources] in the provided [context]. + * + * This function will typically be called by plugins in response to the + * [ContextInitialized][elide.runtime.core.EngineLifecycleEvent.ContextInitialized] event. + * + * @param context A [PolyglotContext] used to execute the initialization scripts. + * @param resources The embedded resources for this plugin, providing the script sources. + */ + @Deprecated("Use initializePreambleScripts instead.") + @Suppress("TooGenericExceptionCaught") protected fun initializeEmbeddedScripts(context: PolyglotContext, resources: LanguagePluginManifest) { try { context.enter() @@ -230,5 +284,44 @@ import elide.runtime.plugins.bindings.Bindings private val LenientJson by lazy { Json { ignoreUnknownKeys = true } } + + /** + * Run the setup scripts specified in this plugin's [resources] in the provided [context]. + * + * This function will typically be called by plugins in response to the + * [ContextInitialized][elide.runtime.core.EngineLifecycleEvent.ContextInitialized] event. + * + * @param langId ID of the owning language. + * @param resources The embedded resources for this plugin, providing the script sources. + */ + @Suppress("TooGenericExceptionCaught") + @JvmStatic protected fun initializePreambleScripts(langId: String, vararg scripts: String): List { + val path = "META-INF/elide/embedded/runtime/$langId" + defaultContext.enter() + + try { + return scripts.map { script -> + val source = this::class.java.classLoader.getResourceAsStream("$path/$script") + ?: error("Failed to load embedded resource: $script") + + val src = Source.newBuilder( + langId, + source.bufferedReader(StandardCharsets.UTF_8), + script.substringBefore('.') + ).apply { + internal(true) + cached(true) + }.build() + + PreinitScript( + name = script, + source = src, + entry = defaultContext.parse(src), + ) + } + } finally { + defaultContext.leave() + } + } } } diff --git a/packages/graalvm-js/src/main/resources/META-INF/elide/embedded/runtime/js/polyfills.js b/packages/graalvm-js/src/main/resources/META-INF/elide/embedded/runtime/js/polyfills.js index d6c550c41..930ad86f8 100755 --- a/packages/graalvm-js/src/main/resources/META-INF/elide/embedded/runtime/js/polyfills.js +++ b/packages/graalvm-js/src/main/resources/META-INF/elide/embedded/runtime/js/polyfills.js @@ -1 +1 @@ -(()=>{var Xt=(e,t,r)=>{if(!t.has(e))throw TypeError("Cannot "+r)},Nr=(e,t)=>{if(Object(t)!==t)throw TypeError('Cannot use the "in" operator on this value');return e.has(t)},f=(e,t,r)=>(Xt(e,t,"read from private field"),r?r.call(e):t.get(e)),B=(e,t,r)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,r)},P=(e,t,r,n)=>(Xt(e,t,"write to private field"),n?n.call(e,r):t.set(e,r),r);var G=(e,t,r)=>(Xt(e,t,"access private method"),r);var g=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?Symbol:e=>`Symbol(${e})`;function er(){}function _a(){if(typeof self!="undefined")return self;if(typeof window!="undefined")return window;if(typeof global!="undefined")return global}var St=_a();function D(e){return typeof e=="object"&&e!==null||typeof e=="function"}var Ur=er,tr=Promise,Sa=Promise.prototype.then,ga=Promise.resolve.bind(tr),wa=Promise.reject.bind(tr);function j(e){return new tr(e)}function w(e){return ga(e)}function b(e){return wa(e)}function ie(e,t,r){return Sa.call(e,t,r)}function Y(e,t,r){ie(ie(e,t,r),void 0,Ur)}function rr(e,t){Y(e,t)}function nr(e,t){Y(e,void 0,t)}function We(e,t,r){return ie(e,t,r)}function it(e){ie(e,void 0,Ur)}var gt=(()=>{let e=St&&St.queueMicrotask;if(typeof e=="function")return e;let t=w(void 0);return r=>ie(t,r)})();function wt(e,t,r){if(typeof e!="function")throw new TypeError("Argument is not a function");return Function.prototype.apply.call(e,t,r)}function Be(e,t,r){try{return w(wt(e,t,r))}catch(n){return b(n)}}var xr=16384,H=class{constructor(){this._cursor=0,this._size=0,this._front={_elements:[],_next:void 0},this._back=this._front,this._cursor=0,this._size=0}get length(){return this._size}push(t){let r=this._back,n=r;r._elements.length===xr-1&&(n={_elements:[],_next:void 0}),r._elements.push(t),n!==r&&(this._back=n,r._next=n),++this._size}shift(){let t=this._front,r=t,n=this._cursor,a=n+1,i=t._elements,s=i[n];return a===xr&&(r=t._next,a=0),--this._size,this._cursor=a,t!==r&&(this._front=r),i[n]=void 0,s}forEach(t){let r=this._cursor,n=this._front,a=n._elements;for(;(r!==a.length||n._next!==void 0)&&!(r===a.length&&(n=n._next,a=n._elements,r=0,a.length===0));)t(a[r]),++r}peek(){let t=this._front,r=this._cursor;return t._elements[r]}};function Vr(e,t){e._ownerReadableStream=t,t._reader=e,t._state==="readable"?or(e):t._state==="closed"?Ra(e):Qr(e,t._storedError)}function ar(e,t){let r=e._ownerReadableStream;return X(r,t)}function se(e){e._ownerReadableStream._state==="readable"?ir(e,new TypeError("Reader was released and can no longer be used to monitor the stream's closedness")):Ca(e,new TypeError("Reader was released and can no longer be used to monitor the stream's closedness")),e._ownerReadableStream._reader=void 0,e._ownerReadableStream=void 0}function Ke(e){return new TypeError("Cannot "+e+" a stream using a released reader")}function or(e){e._closedPromise=j((t,r)=>{e._closedPromise_resolve=t,e._closedPromise_reject=r})}function Qr(e,t){or(e),ir(e,t)}function Ra(e){or(e),Gr(e)}function ir(e,t){e._closedPromise_reject!==void 0&&(it(e._closedPromise),e._closedPromise_reject(t),e._closedPromise_resolve=void 0,e._closedPromise_reject=void 0)}function Ca(e,t){Qr(e,t)}function Gr(e){e._closedPromise_resolve!==void 0&&(e._closedPromise_resolve(void 0),e._closedPromise_resolve=void 0,e._closedPromise_reject=void 0)}var Yr=g("[[AbortSteps]]"),Jr=g("[[ErrorSteps]]"),sr=g("[[CancelSteps]]"),ur=g("[[PullSteps]]"),Kr=Number.isFinite||function(e){return typeof e=="number"&&isFinite(e)},Ta=Math.trunc||function(e){return e<0?Math.ceil(e):Math.floor(e)};function Pa(e){return typeof e=="object"||typeof e=="function"}function ue(e,t){if(e!==void 0&&!Pa(e))throw new TypeError(`${t} is not an object.`)}function J(e,t){if(typeof e!="function")throw new TypeError(`${t} is not a function.`)}function Ea(e){return typeof e=="object"&&e!==null||typeof e=="function"}function Zr(e,t){if(!Ea(e))throw new TypeError(`${t} is not an object.`)}function le(e,t,r){if(e===void 0)throw new TypeError(`Parameter ${t} is required in '${r}'.`)}function lr(e,t,r){if(e===void 0)throw new TypeError(`${t} is required in '${r}'.`)}function dr(e){return Number(e)}function Xr(e){return e===0?0:e}function va(e){return Xr(Ta(e))}function en(e,t){let r=0,n=Number.MAX_SAFE_INTEGER,a=Number(e);if(a=Xr(a),!Kr(a))throw new TypeError(`${t} is not a finite number`);if(a=va(a),an)throw new TypeError(`${t} is outside the accepted range of ${r} to ${n}, inclusive`);return!Kr(a)||a===0?0:a}function fr(e,t){if(!ge(e))throw new TypeError(`${t} is not a ReadableStream.`)}function Ze(e){return new ke(e)}function tn(e,t){e._reader._readRequests.push(t)}function cr(e,t,r){let a=e._reader._readRequests.shift();r?a._closeSteps():a._chunkSteps(t)}function Rt(e){return e._reader._readRequests.length}function rn(e){let t=e._reader;return!(t===void 0||!he(t))}var ke=class{constructor(t){if(le(t,1,"ReadableStreamDefaultReader"),fr(t,"First parameter"),we(t))throw new TypeError("This stream has already been locked for exclusive reading by another reader");Vr(this,t),this._readRequests=new H}get closed(){return he(this)?this._closedPromise:b(Ct("closed"))}cancel(t=void 0){return he(this)?this._ownerReadableStream===void 0?b(Ke("cancel")):ar(this,t):b(Ct("cancel"))}read(){if(!he(this))return b(Ct("read"));if(this._ownerReadableStream===void 0)return b(Ke("read from"));let t,r,n=j((i,s)=>{t=i,r=s});return st(this,{_chunkSteps:i=>t({value:i,done:!1}),_closeSteps:()=>t({value:void 0,done:!0}),_errorSteps:i=>r(i)}),n}releaseLock(){if(!he(this))throw Ct("releaseLock");if(this._ownerReadableStream!==void 0){if(this._readRequests.length>0)throw new TypeError("Tried to release a reader lock when that reader has pending read() calls un-settled");se(this)}}};Object.defineProperties(ke.prototype,{cancel:{enumerable:!0},read:{enumerable:!0},releaseLock:{enumerable:!0},closed:{enumerable:!0}}),typeof g.toStringTag=="symbol"&&Object.defineProperty(ke.prototype,g.toStringTag,{value:"ReadableStreamDefaultReader",configurable:!0});function he(e){return!D(e)||!Object.prototype.hasOwnProperty.call(e,"_readRequests")?!1:e instanceof ke}function st(e,t){let r=e._ownerReadableStream;r._disturbed=!0,r._state==="closed"?t._closeSteps():r._state==="errored"?t._errorSteps(r._storedError):r._readableStreamController[ur](t)}function Ct(e){return new TypeError(`ReadableStreamDefaultReader.prototype.${e} can only be used on a ReadableStreamDefaultReader`)}var nn=Object.getPrototypeOf(Object.getPrototypeOf(async function*(){}).prototype),hr=class{constructor(t,r){this._ongoingPromise=void 0,this._isFinished=!1,this._reader=t,this._preventCancel=r}next(){let t=()=>this._nextSteps();return this._ongoingPromise=this._ongoingPromise?We(this._ongoingPromise,t,t):t(),this._ongoingPromise}return(t){let r=()=>this._returnSteps(t);return this._ongoingPromise?We(this._ongoingPromise,r,r):r()}_nextSteps(){if(this._isFinished)return Promise.resolve({value:void 0,done:!0});let t=this._reader;if(t._ownerReadableStream===void 0)return b(Ke("iterate"));let r,n,a=j((s,d)=>{r=s,n=d});return st(t,{_chunkSteps:s=>{this._ongoingPromise=void 0,gt(()=>r({value:s,done:!1}))},_closeSteps:()=>{this._ongoingPromise=void 0,this._isFinished=!0,se(t),r({value:void 0,done:!0})},_errorSteps:s=>{this._ongoingPromise=void 0,this._isFinished=!0,se(t),n(s)}}),a}_returnSteps(t){if(this._isFinished)return Promise.resolve({value:t,done:!0});this._isFinished=!0;let r=this._reader;if(r._ownerReadableStream===void 0)return b(Ke("finish iterating"));if(!this._preventCancel){let n=ar(r,t);return se(r),We(n,()=>({value:t,done:!0}))}return se(r),w({value:t,done:!0})}},an={next(){return on(this)?this._asyncIteratorImpl.next():b(sn("next"))},return(e){return on(this)?this._asyncIteratorImpl.return(e):b(sn("return"))}};nn!==void 0&&Object.setPrototypeOf(an,nn);function Aa(e,t){let r=Ze(e),n=new hr(r,t),a=Object.create(an);return a._asyncIteratorImpl=n,a}function on(e){if(!D(e)||!Object.prototype.hasOwnProperty.call(e,"_asyncIteratorImpl"))return!1;try{return e._asyncIteratorImpl instanceof hr}catch{return!1}}function sn(e){return new TypeError(`ReadableStreamAsyncIterator.${e} can only be used on a ReadableSteamAsyncIterator`)}var un=Number.isNaN||function(e){return e!==e};function ut(e){return e.slice()}function ln(e,t,r,n,a){new Uint8Array(e).set(new Uint8Array(r,n,a),t)}function Jo(e){return e}function Tt(e){return!1}function dn(e,t,r){if(e.slice)return e.slice(t,r);let n=r-t,a=new ArrayBuffer(n);return ln(a,0,e,t,n),a}function qa(e){return!(typeof e!="number"||un(e)||e<0)}function fn(e){let t=dn(e.buffer,e.byteOffset,e.byteOffset+e.byteLength);return new Uint8Array(t)}function br(e){let t=e._queue.shift();return e._queueTotalSize-=t.size,e._queueTotalSize<0&&(e._queueTotalSize=0),t.value}function pr(e,t,r){if(!qa(r)||r===1/0)throw new RangeError("Size must be a finite, non-NaN, non-negative number.");e._queue.push({value:t,size:r}),e._queueTotalSize+=r}function Wa(e){return e._queue.peek().value}function be(e){e._queue=new H,e._queueTotalSize=0}var Oe=class{constructor(){throw new TypeError("Illegal constructor")}get view(){if(!mr(this))throw gr("view");return this._view}respond(t){if(!mr(this))throw gr("respond");if(le(t,1,"respond"),t=en(t,"First parameter"),this._associatedReadableByteStreamController===void 0)throw new TypeError("This BYOB request has been invalidated");Tt(this._view.buffer),qt(this._associatedReadableByteStreamController,t)}respondWithNewView(t){if(!mr(this))throw gr("respondWithNewView");if(le(t,1,"respondWithNewView"),!ArrayBuffer.isView(t))throw new TypeError("You can only respond with array buffer views");if(this._associatedReadableByteStreamController===void 0)throw new TypeError("This BYOB request has been invalidated");Tt(t.buffer),Wt(this._associatedReadableByteStreamController,t)}};Object.defineProperties(Oe.prototype,{respond:{enumerable:!0},respondWithNewView:{enumerable:!0},view:{enumerable:!0}}),typeof g.toStringTag=="symbol"&&Object.defineProperty(Oe.prototype,g.toStringTag,{value:"ReadableStreamBYOBRequest",configurable:!0});var pe=class{constructor(){throw new TypeError("Illegal constructor")}get byobRequest(){if(!je(this))throw dt("byobRequest");return Sr(this)}get desiredSize(){if(!je(this))throw dt("desiredSize");return Sn(this)}close(){if(!je(this))throw dt("close");if(this._closeRequested)throw new TypeError("The stream has already been closed; do not close it again!");let t=this._controlledReadableByteStream._state;if(t!=="readable")throw new TypeError(`The stream (in ${t} state) is not in the readable state and cannot be closed`);lt(this)}enqueue(t){if(!je(this))throw dt("enqueue");if(le(t,1,"enqueue"),!ArrayBuffer.isView(t))throw new TypeError("chunk must be an array buffer view");if(t.byteLength===0)throw new TypeError("chunk must have non-zero byteLength");if(t.buffer.byteLength===0)throw new TypeError("chunk's buffer must have non-zero byteLength");if(this._closeRequested)throw new TypeError("stream is closed or draining");let r=this._controlledReadableByteStream._state;if(r!=="readable")throw new TypeError(`The stream (in ${r} state) is not in the readable state and cannot be enqueued to`);At(this,t)}error(t=void 0){if(!je(this))throw dt("error");K(this,t)}[sr](t){cn(this),be(this);let r=this._cancelAlgorithm(t);return vt(this),r}[ur](t){let r=this._controlledReadableByteStream;if(this._queueTotalSize>0){let a=this._queue.shift();this._queueTotalSize-=a.byteLength,mn(this);let i=new Uint8Array(a.buffer,a.byteOffset,a.byteLength);t._chunkSteps(i);return}let n=this._autoAllocateChunkSize;if(n!==void 0){let a;try{a=new ArrayBuffer(n)}catch(s){t._errorSteps(s);return}let i={buffer:a,bufferByteLength:n,byteOffset:0,byteLength:n,bytesFilled:0,elementSize:1,viewConstructor:Uint8Array,readerType:"default"};this._pendingPullIntos.push(i)}tn(r,t),Ie(this)}};Object.defineProperties(pe.prototype,{close:{enumerable:!0},enqueue:{enumerable:!0},error:{enumerable:!0},byobRequest:{enumerable:!0},desiredSize:{enumerable:!0}}),typeof g.toStringTag=="symbol"&&Object.defineProperty(pe.prototype,g.toStringTag,{value:"ReadableByteStreamController",configurable:!0});function je(e){return!D(e)||!Object.prototype.hasOwnProperty.call(e,"_controlledReadableByteStream")?!1:e instanceof pe}function mr(e){return!D(e)||!Object.prototype.hasOwnProperty.call(e,"_associatedReadableByteStreamController")?!1:e instanceof Oe}function Ie(e){if(!ja(e))return;if(e._pulling){e._pullAgain=!0;return}e._pulling=!0;let r=e._pullAlgorithm();Y(r,()=>{e._pulling=!1,e._pullAgain&&(e._pullAgain=!1,Ie(e))},n=>{K(e,n)})}function cn(e){_r(e),e._pendingPullIntos=new H}function yr(e,t){let r=!1;e._state==="closed"&&(r=!0);let n=hn(t);t.readerType==="default"?cr(e,n,r):Fa(e,n,r)}function hn(e){let t=e.bytesFilled,r=e.elementSize;return new e.viewConstructor(e.buffer,e.byteOffset,t/r)}function Pt(e,t,r,n){e._queue.push({buffer:t,byteOffset:r,byteLength:n}),e._queueTotalSize+=n}function bn(e,t){let r=t.elementSize,n=t.bytesFilled-t.bytesFilled%r,a=Math.min(e._queueTotalSize,t.byteLength-t.bytesFilled),i=t.bytesFilled+a,s=i-i%r,d=a,m=!1;s>n&&(d=s-t.bytesFilled,m=!0);let y=e._queue;for(;d>0;){let _=y.peek(),S=Math.min(d,_.byteLength),E=t.byteOffset+t.bytesFilled;ln(t.buffer,E,_.buffer,_.byteOffset,S),_.byteLength===S?y.shift():(_.byteOffset+=S,_.byteLength-=S),e._queueTotalSize-=S,pn(e,S,t),d-=S}return m}function pn(e,t,r){r.bytesFilled+=t}function mn(e){e._queueTotalSize===0&&e._closeRequested?(vt(e),pt(e._controlledReadableByteStream)):Ie(e)}function _r(e){e._byobRequest!==null&&(e._byobRequest._associatedReadableByteStreamController=void 0,e._byobRequest._view=null,e._byobRequest=null)}function yn(e){for(;e._pendingPullIntos.length>0;){if(e._queueTotalSize===0)return;let t=e._pendingPullIntos.peek();bn(e,t)&&(Et(e),yr(e._controlledReadableByteStream,t))}}function Ba(e,t,r){let n=e._controlledReadableByteStream,a=1;t.constructor!==DataView&&(a=t.constructor.BYTES_PER_ELEMENT);let i=t.constructor,s=t.buffer,d={buffer:s,bufferByteLength:s.byteLength,byteOffset:t.byteOffset,byteLength:t.byteLength,bytesFilled:0,elementSize:a,viewConstructor:i,readerType:"byob"};if(e._pendingPullIntos.length>0){e._pendingPullIntos.push(d),Rn(n,r);return}if(n._state==="closed"){let m=new i(d.buffer,d.byteOffset,0);r._closeSteps(m);return}if(e._queueTotalSize>0){if(bn(e,d)){let m=hn(d);mn(e),r._chunkSteps(m);return}if(e._closeRequested){let m=new TypeError("Insufficient bytes to fill elements in the given buffer");K(e,m),r._errorSteps(m);return}}e._pendingPullIntos.push(d),Rn(n,r),Ie(e)}function ka(e,t){let r=e._controlledReadableByteStream;if(wr(r))for(;Cn(r)>0;){let n=Et(e);yr(r,n)}}function Oa(e,t,r){if(pn(e,t,r),r.bytesFilled0){let a=r.byteOffset+r.bytesFilled,i=dn(r.buffer,a-n,a);Pt(e,i,0,i.byteLength)}r.bytesFilled-=n,yr(e._controlledReadableByteStream,r),yn(e)}function _n(e,t){let r=e._pendingPullIntos.peek();_r(e),e._controlledReadableByteStream._state==="closed"?ka(e):Oa(e,t,r),Ie(e)}function Et(e){return e._pendingPullIntos.shift()}function ja(e){let t=e._controlledReadableByteStream;return t._state!=="readable"||e._closeRequested||!e._started?!1:!!(rn(t)&&Rt(t)>0||wr(t)&&Cn(t)>0||Sn(e)>0)}function vt(e){e._pullAlgorithm=void 0,e._cancelAlgorithm=void 0}function lt(e){let t=e._controlledReadableByteStream;if(!(e._closeRequested||t._state!=="readable")){if(e._queueTotalSize>0){e._closeRequested=!0;return}if(e._pendingPullIntos.length>0&&e._pendingPullIntos.peek().bytesFilled>0){let n=new TypeError("Insufficient bytes to fill elements in the given buffer");throw K(e,n),n}vt(e),pt(t)}}function At(e,t){let r=e._controlledReadableByteStream;if(e._closeRequested||r._state!=="readable")return;let n=t.buffer,a=t.byteOffset,i=t.byteLength,s=n;if(e._pendingPullIntos.length>0){let d=e._pendingPullIntos.peek();Tt(d.buffer),d.buffer=d.buffer}if(_r(e),rn(r))if(Rt(r)===0)Pt(e,s,a,i);else{e._pendingPullIntos.length>0&&Et(e);let d=new Uint8Array(s,a,i);cr(r,d,!1)}else wr(r)?(Pt(e,s,a,i),yn(e)):Pt(e,s,a,i);Ie(e)}function K(e,t){let r=e._controlledReadableByteStream;r._state==="readable"&&(cn(e),be(e),vt(e),Qn(r,t))}function Sr(e){if(e._byobRequest===null&&e._pendingPullIntos.length>0){let t=e._pendingPullIntos.peek(),r=new Uint8Array(t.buffer,t.byteOffset+t.bytesFilled,t.byteLength-t.bytesFilled),n=Object.create(Oe.prototype);za(n,e,r),e._byobRequest=n}return e._byobRequest}function Sn(e){let t=e._controlledReadableByteStream._state;return t==="errored"?null:t==="closed"?0:e._strategyHWM-e._queueTotalSize}function qt(e,t){let r=e._pendingPullIntos.peek();if(e._controlledReadableByteStream._state==="closed"){if(t!==0)throw new TypeError("bytesWritten must be 0 when calling respond() on a closed stream")}else{if(t===0)throw new TypeError("bytesWritten must be greater than 0 when calling respond() on a readable stream");if(r.bytesFilled+t>r.byteLength)throw new RangeError("bytesWritten out of range")}r.buffer=r.buffer,_n(e,t)}function Wt(e,t){let r=e._pendingPullIntos.peek();if(e._controlledReadableByteStream._state==="closed"){if(t.byteLength!==0)throw new TypeError("The view's length must be 0 when calling respondWithNewView() on a closed stream")}else if(t.byteLength===0)throw new TypeError("The view's length must be greater than 0 when calling respondWithNewView() on a readable stream");if(r.byteOffset+r.bytesFilled!==t.byteOffset)throw new RangeError("The region specified by view does not match byobRequest");if(r.bufferByteLength!==t.buffer.byteLength)throw new RangeError("The buffer of view has different capacity than byobRequest");if(r.bytesFilled+t.byteLength>r.byteLength)throw new RangeError("The region specified by view is larger than byobRequest");let a=t.byteLength;r.buffer=t.buffer,_n(e,a)}function gn(e,t,r,n,a,i,s){t._controlledReadableByteStream=e,t._pullAgain=!1,t._pulling=!1,t._byobRequest=null,t._queue=t._queueTotalSize=void 0,be(t),t._closeRequested=!1,t._started=!1,t._strategyHWM=i,t._pullAlgorithm=n,t._cancelAlgorithm=a,t._autoAllocateChunkSize=s,t._pendingPullIntos=new H,e._readableStreamController=t;let d=r();Y(w(d),()=>{t._started=!0,Ie(t)},m=>{K(t,m)})}function Ia(e,t,r){let n=Object.create(pe.prototype),a=()=>{},i=()=>w(void 0),s=()=>w(void 0);t.start!==void 0&&(a=()=>t.start(n)),t.pull!==void 0&&(i=()=>t.pull(n)),t.cancel!==void 0&&(s=m=>t.cancel(m));let d=t.autoAllocateChunkSize;if(d===0)throw new TypeError("autoAllocateChunkSize must be greater than 0");gn(e,n,a,i,s,r,d)}function za(e,t,r){e._associatedReadableByteStreamController=t,e._view=r}function gr(e){return new TypeError(`ReadableStreamBYOBRequest.prototype.${e} can only be used on a ReadableStreamBYOBRequest`)}function dt(e){return new TypeError(`ReadableByteStreamController.prototype.${e} can only be used on a ReadableByteStreamController`)}function wn(e){return new ze(e)}function Rn(e,t){e._reader._readIntoRequests.push(t)}function Fa(e,t,r){let a=e._reader._readIntoRequests.shift();r?a._closeSteps(t):a._chunkSteps(t)}function Cn(e){return e._reader._readIntoRequests.length}function wr(e){let t=e._reader;return!(t===void 0||!Fe(t))}var ze=class{constructor(t){if(le(t,1,"ReadableStreamBYOBReader"),fr(t,"First parameter"),we(t))throw new TypeError("This stream has already been locked for exclusive reading by another reader");if(!je(t._readableStreamController))throw new TypeError("Cannot construct a ReadableStreamBYOBReader for a stream not constructed with a byte source");Vr(this,t),this._readIntoRequests=new H}get closed(){return Fe(this)?this._closedPromise:b(Bt("closed"))}cancel(t=void 0){return Fe(this)?this._ownerReadableStream===void 0?b(Ke("cancel")):ar(this,t):b(Bt("cancel"))}read(t){if(!Fe(this))return b(Bt("read"));if(!ArrayBuffer.isView(t))return b(new TypeError("view must be an array buffer view"));if(t.byteLength===0)return b(new TypeError("view must have non-zero byteLength"));if(t.buffer.byteLength===0)return b(new TypeError("view's buffer must have non-zero byteLength"));if(Tt(t.buffer),this._ownerReadableStream===void 0)return b(Ke("read from"));let r,n,a=j((s,d)=>{r=s,n=d});return Tn(this,t,{_chunkSteps:s=>r({value:s,done:!1}),_closeSteps:s=>r({value:s,done:!0}),_errorSteps:s=>n(s)}),a}releaseLock(){if(!Fe(this))throw Bt("releaseLock");if(this._ownerReadableStream!==void 0){if(this._readIntoRequests.length>0)throw new TypeError("Tried to release a reader lock when that reader has pending read() calls un-settled");se(this)}}};Object.defineProperties(ze.prototype,{cancel:{enumerable:!0},read:{enumerable:!0},releaseLock:{enumerable:!0},closed:{enumerable:!0}}),typeof g.toStringTag=="symbol"&&Object.defineProperty(ze.prototype,g.toStringTag,{value:"ReadableStreamBYOBReader",configurable:!0});function Fe(e){return!D(e)||!Object.prototype.hasOwnProperty.call(e,"_readIntoRequests")?!1:e instanceof ze}function Tn(e,t,r){let n=e._ownerReadableStream;n._disturbed=!0,n._state==="errored"?r._errorSteps(n._storedError):Ba(n._readableStreamController,t,r)}function Bt(e){return new TypeError(`ReadableStreamBYOBReader.prototype.${e} can only be used on a ReadableStreamBYOBReader`)}function ft(e,t){let{highWaterMark:r}=e;if(r===void 0)return t;if(un(r)||r<0)throw new RangeError("Invalid highWaterMark");return r}function kt(e){let{size:t}=e;return t||(()=>1)}function Ot(e,t){ue(e,t);let r=e==null?void 0:e.highWaterMark,n=e==null?void 0:e.size;return{highWaterMark:r===void 0?void 0:dr(r),size:n===void 0?void 0:Da(n,`${t} has member 'size' that`)}}function Da(e,t){return J(e,t),r=>dr(e(r))}function La(e,t){ue(e,t);let r=e==null?void 0:e.abort,n=e==null?void 0:e.close,a=e==null?void 0:e.start,i=e==null?void 0:e.type,s=e==null?void 0:e.write;return{abort:r===void 0?void 0:Ma(r,e,`${t} has member 'abort' that`),close:n===void 0?void 0:$a(n,e,`${t} has member 'close' that`),start:a===void 0?void 0:Ha(a,e,`${t} has member 'start' that`),write:s===void 0?void 0:Na(s,e,`${t} has member 'write' that`),type:i}}function Ma(e,t,r){return J(e,r),n=>Be(e,t,[n])}function $a(e,t,r){return J(e,r),()=>Be(e,t,[])}function Ha(e,t,r){return J(e,r),n=>wt(e,t,[n])}function Na(e,t,r){return J(e,r),(n,a)=>Be(e,t,[n,a])}function Pn(e,t){if(!Xe(e))throw new TypeError(`${t} is not a WritableStream.`)}function Ua(e){if(typeof e!="object"||e===null)return!1;try{return typeof e.aborted=="boolean"}catch{return!1}}var xa=typeof AbortController=="function";function Va(){if(xa)return new AbortController}var me=class{constructor(t={},r={}){t===void 0?t=null:Zr(t,"First parameter");let n=Ot(r,"Second parameter"),a=La(t,"First parameter");if(vn(this),a.type!==void 0)throw new RangeError("Invalid type is specified");let s=kt(n),d=ft(n,1);io(this,a,d,s)}get locked(){if(!Xe(this))throw Dt("locked");return et(this)}abort(t=void 0){return Xe(this)?et(this)?b(new TypeError("Cannot abort a stream that already has a writer")):jt(this,t):b(Dt("abort"))}close(){return Xe(this)?et(this)?b(new TypeError("Cannot close a stream that already has a writer")):re(this)?b(new TypeError("Cannot close an already-closing stream")):An(this):b(Dt("close"))}getWriter(){if(!Xe(this))throw Dt("getWriter");return En(this)}};Object.defineProperties(me.prototype,{abort:{enumerable:!0},close:{enumerable:!0},getWriter:{enumerable:!0},locked:{enumerable:!0}}),typeof g.toStringTag=="symbol"&&Object.defineProperty(me.prototype,g.toStringTag,{value:"WritableStream",configurable:!0});function En(e){return new De(e)}function Qa(e,t,r,n,a=1,i=()=>1){let s=Object.create(me.prototype);vn(s);let d=Object.create(ye.prototype);return jn(s,d,e,t,r,n,a,i),s}function vn(e){e._state="writable",e._storedError=void 0,e._writer=void 0,e._writableStreamController=void 0,e._writeRequests=new H,e._inFlightWriteRequest=void 0,e._closeRequest=void 0,e._inFlightCloseRequest=void 0,e._pendingAbortRequest=void 0,e._backpressure=!1}function Xe(e){return!D(e)||!Object.prototype.hasOwnProperty.call(e,"_writableStreamController")?!1:e instanceof me}function et(e){return e._writer!==void 0}function jt(e,t){var r;if(e._state==="closed"||e._state==="errored")return w(void 0);e._writableStreamController._abortReason=t,(r=e._writableStreamController._abortController)===null||r===void 0||r.abort();let n=e._state;if(n==="closed"||n==="errored")return w(void 0);if(e._pendingAbortRequest!==void 0)return e._pendingAbortRequest._promise;let a=!1;n==="erroring"&&(a=!0,t=void 0);let i=j((s,d)=>{e._pendingAbortRequest={_promise:void 0,_resolve:s,_reject:d,_reason:t,_wasAlreadyErroring:a}});return e._pendingAbortRequest._promise=i,a||Cr(e,t),i}function An(e){let t=e._state;if(t==="closed"||t==="errored")return b(new TypeError(`The stream (in ${t} state) is not in the writable state and cannot be closed`));let r=j((a,i)=>{let s={_resolve:a,_reject:i};e._closeRequest=s}),n=e._writer;return n!==void 0&&e._backpressure&&t==="writable"&&kr(n),so(e._writableStreamController),r}function Ga(e){return j((r,n)=>{let a={_resolve:r,_reject:n};e._writeRequests.push(a)})}function Rr(e,t){if(e._state==="writable"){Cr(e,t);return}Tr(e)}function Cr(e,t){let r=e._writableStreamController;e._state="erroring",e._storedError=t;let n=e._writer;n!==void 0&&Wn(n,t),!Xa(e)&&r._started&&Tr(e)}function Tr(e){e._state="errored",e._writableStreamController[Jr]();let t=e._storedError;if(e._writeRequests.forEach(a=>{a._reject(t)}),e._writeRequests=new H,e._pendingAbortRequest===void 0){It(e);return}let r=e._pendingAbortRequest;if(e._pendingAbortRequest=void 0,r._wasAlreadyErroring){r._reject(t),It(e);return}let n=e._writableStreamController[Yr](r._reason);Y(n,()=>{r._resolve(),It(e)},a=>{r._reject(a),It(e)})}function Ya(e){e._inFlightWriteRequest._resolve(void 0),e._inFlightWriteRequest=void 0}function Ja(e,t){e._inFlightWriteRequest._reject(t),e._inFlightWriteRequest=void 0,Rr(e,t)}function Ka(e){e._inFlightCloseRequest._resolve(void 0),e._inFlightCloseRequest=void 0,e._state==="erroring"&&(e._storedError=void 0,e._pendingAbortRequest!==void 0&&(e._pendingAbortRequest._resolve(),e._pendingAbortRequest=void 0)),e._state="closed";let r=e._writer;r!==void 0&&Dn(r)}function Za(e,t){e._inFlightCloseRequest._reject(t),e._inFlightCloseRequest=void 0,e._pendingAbortRequest!==void 0&&(e._pendingAbortRequest._reject(t),e._pendingAbortRequest=void 0),Rr(e,t)}function re(e){return!(e._closeRequest===void 0&&e._inFlightCloseRequest===void 0)}function Xa(e){return!(e._inFlightWriteRequest===void 0&&e._inFlightCloseRequest===void 0)}function eo(e){e._inFlightCloseRequest=e._closeRequest,e._closeRequest=void 0}function to(e){e._inFlightWriteRequest=e._writeRequests.shift()}function It(e){e._closeRequest!==void 0&&(e._closeRequest._reject(e._storedError),e._closeRequest=void 0);let t=e._writer;t!==void 0&&Wr(t,e._storedError)}function Pr(e,t){let r=e._writer;r!==void 0&&t!==e._backpressure&&(t?po(r):kr(r)),e._backpressure=t}var De=class{constructor(t){if(le(t,1,"WritableStreamDefaultWriter"),Pn(t,"First parameter"),et(t))throw new TypeError("This stream has already been locked for exclusive writing by another writer");this._ownerWritableStream=t,t._writer=this;let r=t._state;if(r==="writable")!re(t)&&t._backpressure?Mt(this):Ln(this),Lt(this);else if(r==="erroring")Br(this,t._storedError),Lt(this);else if(r==="closed")Ln(this),ho(this);else{let n=t._storedError;Br(this,n),Fn(this,n)}}get closed(){return Le(this)?this._closedPromise:b(Me("closed"))}get desiredSize(){if(!Le(this))throw Me("desiredSize");if(this._ownerWritableStream===void 0)throw ct("desiredSize");return oo(this)}get ready(){return Le(this)?this._readyPromise:b(Me("ready"))}abort(t=void 0){return Le(this)?this._ownerWritableStream===void 0?b(ct("abort")):ro(this,t):b(Me("abort"))}close(){if(!Le(this))return b(Me("close"));let t=this._ownerWritableStream;return t===void 0?b(ct("close")):re(t)?b(new TypeError("Cannot close an already-closing stream")):qn(this)}releaseLock(){if(!Le(this))throw Me("releaseLock");this._ownerWritableStream!==void 0&&Bn(this)}write(t=void 0){return Le(this)?this._ownerWritableStream===void 0?b(ct("write to")):kn(this,t):b(Me("write"))}};Object.defineProperties(De.prototype,{abort:{enumerable:!0},close:{enumerable:!0},releaseLock:{enumerable:!0},write:{enumerable:!0},closed:{enumerable:!0},desiredSize:{enumerable:!0},ready:{enumerable:!0}}),typeof g.toStringTag=="symbol"&&Object.defineProperty(De.prototype,g.toStringTag,{value:"WritableStreamDefaultWriter",configurable:!0});function Le(e){return!D(e)||!Object.prototype.hasOwnProperty.call(e,"_ownerWritableStream")?!1:e instanceof De}function ro(e,t){let r=e._ownerWritableStream;return jt(r,t)}function qn(e){let t=e._ownerWritableStream;return An(t)}function no(e){let t=e._ownerWritableStream,r=t._state;return re(t)||r==="closed"?w(void 0):r==="errored"?b(t._storedError):qn(e)}function ao(e,t){e._closedPromiseState==="pending"?Wr(e,t):bo(e,t)}function Wn(e,t){e._readyPromiseState==="pending"?Mn(e,t):mo(e,t)}function oo(e){let t=e._ownerWritableStream,r=t._state;return r==="errored"||r==="erroring"?null:r==="closed"?0:In(t._writableStreamController)}function Bn(e){let t=e._ownerWritableStream,r=new TypeError("Writer was released and can no longer be used to monitor the stream's closedness");Wn(e,r),ao(e,r),t._writer=void 0,e._ownerWritableStream=void 0}function kn(e,t){let r=e._ownerWritableStream,n=r._writableStreamController,a=uo(n,t);if(r!==e._ownerWritableStream)return b(ct("write to"));let i=r._state;if(i==="errored")return b(r._storedError);if(re(r)||i==="closed")return b(new TypeError("The stream is closing or closed and cannot be written to"));if(i==="erroring")return b(r._storedError);let s=Ga(r);return lo(n,t,a),s}var On={},ye=class{constructor(){throw new TypeError("Illegal constructor")}get abortReason(){if(!Er(this))throw qr("abortReason");return this._abortReason}get signal(){if(!Er(this))throw qr("signal");if(this._abortController===void 0)throw new TypeError("WritableStreamDefaultController.prototype.signal is not supported");return this._abortController.signal}error(t=void 0){if(!Er(this))throw qr("error");this._controlledWritableStream._state==="writable"&&zn(this,t)}[Yr](t){let r=this._abortAlgorithm(t);return zt(this),r}[Jr](){be(this)}};Object.defineProperties(ye.prototype,{abortReason:{enumerable:!0},signal:{enumerable:!0},error:{enumerable:!0}}),typeof g.toStringTag=="symbol"&&Object.defineProperty(ye.prototype,g.toStringTag,{value:"WritableStreamDefaultController",configurable:!0});function Er(e){return!D(e)||!Object.prototype.hasOwnProperty.call(e,"_controlledWritableStream")?!1:e instanceof ye}function jn(e,t,r,n,a,i,s,d){t._controlledWritableStream=e,e._writableStreamController=t,t._queue=void 0,t._queueTotalSize=void 0,be(t),t._abortReason=void 0,t._abortController=Va(),t._started=!1,t._strategySizeAlgorithm=d,t._strategyHWM=s,t._writeAlgorithm=n,t._closeAlgorithm=a,t._abortAlgorithm=i;let m=Ar(t);Pr(e,m);let y=r(),_=w(y);Y(_,()=>{t._started=!0,Ft(t)},S=>{t._started=!0,Rr(e,S)})}function io(e,t,r,n){let a=Object.create(ye.prototype),i=()=>{},s=()=>w(void 0),d=()=>w(void 0),m=()=>w(void 0);t.start!==void 0&&(i=()=>t.start(a)),t.write!==void 0&&(s=y=>t.write(y,a)),t.close!==void 0&&(d=()=>t.close()),t.abort!==void 0&&(m=y=>t.abort(y)),jn(e,a,i,s,d,m,r,n)}function zt(e){e._writeAlgorithm=void 0,e._closeAlgorithm=void 0,e._abortAlgorithm=void 0,e._strategySizeAlgorithm=void 0}function so(e){pr(e,On,0),Ft(e)}function uo(e,t){try{return e._strategySizeAlgorithm(t)}catch(r){return vr(e,r),1}}function In(e){return e._strategyHWM-e._queueTotalSize}function lo(e,t,r){try{pr(e,t,r)}catch(a){vr(e,a);return}let n=e._controlledWritableStream;if(!re(n)&&n._state==="writable"){let a=Ar(e);Pr(n,a)}Ft(e)}function Ft(e){let t=e._controlledWritableStream;if(!e._started||t._inFlightWriteRequest!==void 0)return;if(t._state==="erroring"){Tr(t);return}if(e._queue.length===0)return;let n=Wa(e);n===On?fo(e):co(e,n)}function vr(e,t){e._controlledWritableStream._state==="writable"&&zn(e,t)}function fo(e){let t=e._controlledWritableStream;eo(t),br(e);let r=e._closeAlgorithm();zt(e),Y(r,()=>{Ka(t)},n=>{Za(t,n)})}function co(e,t){let r=e._controlledWritableStream;to(r);let n=e._writeAlgorithm(t);Y(n,()=>{Ya(r);let a=r._state;if(br(e),!re(r)&&a==="writable"){let i=Ar(e);Pr(r,i)}Ft(e)},a=>{r._state==="writable"&&zt(e),Ja(r,a)})}function Ar(e){return In(e)<=0}function zn(e,t){let r=e._controlledWritableStream;zt(e),Cr(r,t)}function Dt(e){return new TypeError(`WritableStream.prototype.${e} can only be used on a WritableStream`)}function qr(e){return new TypeError(`WritableStreamDefaultController.prototype.${e} can only be used on a WritableStreamDefaultController`)}function Me(e){return new TypeError(`WritableStreamDefaultWriter.prototype.${e} can only be used on a WritableStreamDefaultWriter`)}function ct(e){return new TypeError("Cannot "+e+" a stream using a released writer")}function Lt(e){e._closedPromise=j((t,r)=>{e._closedPromise_resolve=t,e._closedPromise_reject=r,e._closedPromiseState="pending"})}function Fn(e,t){Lt(e),Wr(e,t)}function ho(e){Lt(e),Dn(e)}function Wr(e,t){e._closedPromise_reject!==void 0&&(it(e._closedPromise),e._closedPromise_reject(t),e._closedPromise_resolve=void 0,e._closedPromise_reject=void 0,e._closedPromiseState="rejected")}function bo(e,t){Fn(e,t)}function Dn(e){e._closedPromise_resolve!==void 0&&(e._closedPromise_resolve(void 0),e._closedPromise_resolve=void 0,e._closedPromise_reject=void 0,e._closedPromiseState="resolved")}function Mt(e){e._readyPromise=j((t,r)=>{e._readyPromise_resolve=t,e._readyPromise_reject=r}),e._readyPromiseState="pending"}function Br(e,t){Mt(e),Mn(e,t)}function Ln(e){Mt(e),kr(e)}function Mn(e,t){e._readyPromise_reject!==void 0&&(it(e._readyPromise),e._readyPromise_reject(t),e._readyPromise_resolve=void 0,e._readyPromise_reject=void 0,e._readyPromiseState="rejected")}function po(e){Mt(e)}function mo(e,t){Br(e,t)}function kr(e){e._readyPromise_resolve!==void 0&&(e._readyPromise_resolve(void 0),e._readyPromise_resolve=void 0,e._readyPromise_reject=void 0,e._readyPromiseState="fulfilled")}var $n=typeof DOMException!="undefined"?DOMException:void 0;function yo(e){if(!(typeof e=="function"||typeof e=="object"))return!1;try{return new e,!0}catch{return!1}}function _o(){let e=function(r,n){this.message=r||"",this.name=n||"Error",Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)};return e.prototype=Object.create(Error.prototype),Object.defineProperty(e.prototype,"constructor",{value:e,writable:!0,configurable:!0}),e}var So=yo($n)?$n:_o();function Hn(e,t,r,n,a,i){let s=Ze(e),d=En(t);e._disturbed=!0;let m=!1,y=w(void 0);return j((_,S)=>{let E;if(i!==void 0){if(E=()=>{let h=new So("Aborted","AbortError"),p=[];n||p.push(()=>t._state==="writable"?jt(t,h):w(void 0)),a||p.push(()=>e._state==="readable"?X(e,h):w(void 0)),q(()=>Promise.all(p.map(C=>C())),!0,h)},i.aborted){E();return}i.addEventListener("abort",E)}function I(){return j((h,p)=>{function C(z){z?h():ie(M(),C,p)}C(!1)})}function M(){return m?w(!0):ie(d._readyPromise,()=>j((h,p)=>{st(s,{_chunkSteps:C=>{y=ie(kn(d,C),void 0,er),h(!1)},_closeSteps:()=>h(!0),_errorSteps:p})}))}if($(e,s._closedPromise,h=>{n?A(!0,h):q(()=>jt(t,h),!0,h)}),$(t,d._closedPromise,h=>{a?A(!0,h):q(()=>X(e,h),!0,h)}),v(e,s._closedPromise,()=>{r?A():q(()=>no(d))}),re(t)||t._state==="closed"){let h=new TypeError("the destination writable stream closed before all data could be piped to it");a?A(!0,h):q(()=>X(e,h),!0,h)}it(I());function N(){let h=y;return ie(y,()=>h!==y?N():void 0)}function $(h,p,C){h._state==="errored"?C(h._storedError):nr(p,C)}function v(h,p,C){h._state==="closed"?C():rr(p,C)}function q(h,p,C){if(m)return;m=!0,t._state==="writable"&&!re(t)?rr(N(),z):z();function z(){Y(h(),()=>k(p,C),de=>k(!0,de))}}function A(h,p){m||(m=!0,t._state==="writable"&&!re(t)?rr(N(),()=>k(h,p)):k(h,p))}function k(h,p){Bn(d),se(s),i!==void 0&&i.removeEventListener("abort",E),h?S(p):_(void 0)}})}var _e=class{constructor(){throw new TypeError("Illegal constructor")}get desiredSize(){if(!$t(this))throw Ut("desiredSize");return Or(this)}close(){if(!$t(this))throw Ut("close");if(!tt(this))throw new TypeError("The stream is not in a state that permits close");bt(this)}enqueue(t=void 0){if(!$t(this))throw Ut("enqueue");if(!tt(this))throw new TypeError("The stream is not in a state that permits enqueue");return Nt(this,t)}error(t=void 0){if(!$t(this))throw Ut("error");Se(this,t)}[sr](t){be(this);let r=this._cancelAlgorithm(t);return Ht(this),r}[ur](t){let r=this._controlledReadableStream;if(this._queue.length>0){let n=br(this);this._closeRequested&&this._queue.length===0?(Ht(this),pt(r)):ht(this),t._chunkSteps(n)}else tn(r,t),ht(this)}};Object.defineProperties(_e.prototype,{close:{enumerable:!0},enqueue:{enumerable:!0},error:{enumerable:!0},desiredSize:{enumerable:!0}}),typeof g.toStringTag=="symbol"&&Object.defineProperty(_e.prototype,g.toStringTag,{value:"ReadableStreamDefaultController",configurable:!0});function $t(e){return!D(e)||!Object.prototype.hasOwnProperty.call(e,"_controlledReadableStream")?!1:e instanceof _e}function ht(e){if(!Nn(e))return;if(e._pulling){e._pullAgain=!0;return}e._pulling=!0;let r=e._pullAlgorithm();Y(r,()=>{e._pulling=!1,e._pullAgain&&(e._pullAgain=!1,ht(e))},n=>{Se(e,n)})}function Nn(e){let t=e._controlledReadableStream;return!tt(e)||!e._started?!1:!!(we(t)&&Rt(t)>0||Or(e)>0)}function Ht(e){e._pullAlgorithm=void 0,e._cancelAlgorithm=void 0,e._strategySizeAlgorithm=void 0}function bt(e){if(!tt(e))return;let t=e._controlledReadableStream;e._closeRequested=!0,e._queue.length===0&&(Ht(e),pt(t))}function Nt(e,t){if(!tt(e))return;let r=e._controlledReadableStream;if(we(r)&&Rt(r)>0)cr(r,t,!1);else{let n;try{n=e._strategySizeAlgorithm(t)}catch(a){throw Se(e,a),a}try{pr(e,t,n)}catch(a){throw Se(e,a),a}}ht(e)}function Se(e,t){let r=e._controlledReadableStream;r._state==="readable"&&(be(e),Ht(e),Qn(r,t))}function Or(e){let t=e._controlledReadableStream._state;return t==="errored"?null:t==="closed"?0:e._strategyHWM-e._queueTotalSize}function go(e){return!Nn(e)}function tt(e){let t=e._controlledReadableStream._state;return!e._closeRequested&&t==="readable"}function Un(e,t,r,n,a,i,s){t._controlledReadableStream=e,t._queue=void 0,t._queueTotalSize=void 0,be(t),t._started=!1,t._closeRequested=!1,t._pullAgain=!1,t._pulling=!1,t._strategySizeAlgorithm=s,t._strategyHWM=i,t._pullAlgorithm=n,t._cancelAlgorithm=a,e._readableStreamController=t;let d=r();Y(w(d),()=>{t._started=!0,ht(t)},m=>{Se(t,m)})}function wo(e,t,r,n){let a=Object.create(_e.prototype),i=()=>{},s=()=>w(void 0),d=()=>w(void 0);t.start!==void 0&&(i=()=>t.start(a)),t.pull!==void 0&&(s=()=>t.pull(a)),t.cancel!==void 0&&(d=m=>t.cancel(m)),Un(e,a,i,s,d,r,n)}function Ut(e){return new TypeError(`ReadableStreamDefaultController.prototype.${e} can only be used on a ReadableStreamDefaultController`)}function Ro(e,t){return je(e._readableStreamController)?To(e):Co(e)}function Co(e,t){let r=Ze(e),n=!1,a=!1,i=!1,s=!1,d,m,y,_,S,E=j(v=>{S=v});function I(){return n?(a=!0,w(void 0)):(n=!0,st(r,{_chunkSteps:q=>{gt(()=>{a=!1;let A=q,k=q;i||Nt(y._readableStreamController,A),s||Nt(_._readableStreamController,k),n=!1,a&&I()})},_closeSteps:()=>{n=!1,i||bt(y._readableStreamController),s||bt(_._readableStreamController),(!i||!s)&&S(void 0)},_errorSteps:()=>{n=!1}}),w(void 0))}function M(v){if(i=!0,d=v,s){let q=ut([d,m]),A=X(e,q);S(A)}return E}function N(v){if(s=!0,m=v,i){let q=ut([d,m]),A=X(e,q);S(A)}return E}function $(){}return y=jr($,I,M),_=jr($,I,N),nr(r._closedPromise,v=>{Se(y._readableStreamController,v),Se(_._readableStreamController,v),(!i||!s)&&S(void 0)}),[y,_]}function To(e){let t=Ze(e),r=!1,n=!1,a=!1,i=!1,s=!1,d,m,y,_,S,E=j(h=>{S=h});function I(h){nr(h._closedPromise,p=>{h===t&&(K(y._readableStreamController,p),K(_._readableStreamController,p),(!i||!s)&&S(void 0))})}function M(){Fe(t)&&(se(t),t=Ze(e),I(t)),st(t,{_chunkSteps:p=>{gt(()=>{n=!1,a=!1;let C=p,z=p;if(!i&&!s)try{z=fn(p)}catch(de){K(y._readableStreamController,de),K(_._readableStreamController,de),S(X(e,de));return}i||At(y._readableStreamController,C),s||At(_._readableStreamController,z),r=!1,n?$():a&&v()})},_closeSteps:()=>{r=!1,i||lt(y._readableStreamController),s||lt(_._readableStreamController),y._readableStreamController._pendingPullIntos.length>0&&qt(y._readableStreamController,0),_._readableStreamController._pendingPullIntos.length>0&&qt(_._readableStreamController,0),(!i||!s)&&S(void 0)},_errorSteps:()=>{r=!1}})}function N(h,p){he(t)&&(se(t),t=wn(e),I(t));let C=p?_:y,z=p?y:_;Tn(t,h,{_chunkSteps:ee=>{gt(()=>{n=!1,a=!1;let fe=p?s:i;if(p?i:s)fe||Wt(C._readableStreamController,ee);else{let Re;try{Re=fn(ee)}catch(Ne){K(C._readableStreamController,Ne),K(z._readableStreamController,Ne),S(X(e,Ne));return}fe||Wt(C._readableStreamController,ee),At(z._readableStreamController,Re)}r=!1,n?$():a&&v()})},_closeSteps:ee=>{r=!1;let fe=p?s:i,ne=p?i:s;fe||lt(C._readableStreamController),ne||lt(z._readableStreamController),ee!==void 0&&(fe||Wt(C._readableStreamController,ee),!ne&&z._readableStreamController._pendingPullIntos.length>0&&qt(z._readableStreamController,0)),(!fe||!ne)&&S(void 0)},_errorSteps:()=>{r=!1}})}function $(){if(r)return n=!0,w(void 0);r=!0;let h=Sr(y._readableStreamController);return h===null?M():N(h._view,!1),w(void 0)}function v(){if(r)return a=!0,w(void 0);r=!0;let h=Sr(_._readableStreamController);return h===null?M():N(h._view,!0),w(void 0)}function q(h){if(i=!0,d=h,s){let p=ut([d,m]),C=X(e,p);S(C)}return E}function A(h){if(s=!0,m=h,i){let p=ut([d,m]),C=X(e,p);S(C)}return E}function k(){}return y=Vn(k,$,q),_=Vn(k,v,A),I(t),[y,_]}function Po(e,t){ue(e,t);let r=e,n=r==null?void 0:r.autoAllocateChunkSize,a=r==null?void 0:r.cancel,i=r==null?void 0:r.pull,s=r==null?void 0:r.start,d=r==null?void 0:r.type;return{autoAllocateChunkSize:n===void 0?void 0:en(n,`${t} has member 'autoAllocateChunkSize' that`),cancel:a===void 0?void 0:Eo(a,r,`${t} has member 'cancel' that`),pull:i===void 0?void 0:vo(i,r,`${t} has member 'pull' that`),start:s===void 0?void 0:Ao(s,r,`${t} has member 'start' that`),type:d===void 0?void 0:qo(d,`${t} has member 'type' that`)}}function Eo(e,t,r){return J(e,r),n=>Be(e,t,[n])}function vo(e,t,r){return J(e,r),n=>Be(e,t,[n])}function Ao(e,t,r){return J(e,r),n=>wt(e,t,[n])}function qo(e,t){if(e=`${e}`,e!=="bytes")throw new TypeError(`${t} '${e}' is not a valid enumeration value for ReadableStreamType`);return e}function Wo(e,t){ue(e,t);let r=e==null?void 0:e.mode;return{mode:r===void 0?void 0:Bo(r,`${t} has member 'mode' that`)}}function Bo(e,t){if(e=`${e}`,e!=="byob")throw new TypeError(`${t} '${e}' is not a valid enumeration value for ReadableStreamReaderMode`);return e}function ko(e,t){ue(e,t);let r=e==null?void 0:e.preventCancel;return{preventCancel:Boolean(r)}}function xn(e,t){ue(e,t);let r=e==null?void 0:e.preventAbort,n=e==null?void 0:e.preventCancel,a=e==null?void 0:e.preventClose,i=e==null?void 0:e.signal;return i!==void 0&&Oo(i,`${t} has member 'signal' that`),{preventAbort:Boolean(r),preventCancel:Boolean(n),preventClose:Boolean(a),signal:i}}function Oo(e,t){if(!Ua(e))throw new TypeError(`${t} is not an AbortSignal.`)}function jo(e,t){ue(e,t);let r=e==null?void 0:e.readable;lr(r,"readable","ReadableWritablePair"),fr(r,`${t} has member 'readable' that`);let n=e==null?void 0:e.writable;return lr(n,"writable","ReadableWritablePair"),Pn(n,`${t} has member 'writable' that`),{readable:r,writable:n}}var Z=class{constructor(t={},r={}){t===void 0?t=null:Zr(t,"First parameter");let n=Ot(r,"Second parameter"),a=Po(t,"First parameter");if(Ir(this),a.type==="bytes"){if(n.size!==void 0)throw new RangeError("The strategy for a byte stream cannot have a size function");let i=ft(n,0);Ia(this,a,i)}else{let i=kt(n),s=ft(n,1);wo(this,a,s,i)}}get locked(){if(!ge(this))throw $e("locked");return we(this)}cancel(t=void 0){return ge(this)?we(this)?b(new TypeError("Cannot cancel a stream that already has a reader")):X(this,t):b($e("cancel"))}getReader(t=void 0){if(!ge(this))throw $e("getReader");return Wo(t,"First parameter").mode===void 0?Ze(this):wn(this)}pipeThrough(t,r={}){if(!ge(this))throw $e("pipeThrough");le(t,1,"pipeThrough");let n=jo(t,"First parameter"),a=xn(r,"Second parameter");if(we(this))throw new TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked ReadableStream");if(et(n.writable))throw new TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked WritableStream");let i=Hn(this,n.writable,a.preventClose,a.preventAbort,a.preventCancel,a.signal);return it(i),n.readable}pipeTo(t,r={}){if(!ge(this))return b($e("pipeTo"));if(t===void 0)return b("Parameter 1 is required in 'pipeTo'.");if(!Xe(t))return b(new TypeError("ReadableStream.prototype.pipeTo's first argument must be a WritableStream"));let n;try{n=xn(r,"Second parameter")}catch(a){return b(a)}return we(this)?b(new TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked ReadableStream")):et(t)?b(new TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked WritableStream")):Hn(this,t,n.preventClose,n.preventAbort,n.preventCancel,n.signal)}tee(){if(!ge(this))throw $e("tee");let t=Ro(this);return ut(t)}values(t=void 0){if(!ge(this))throw $e("values");let r=ko(t,"First parameter");return Aa(this,r.preventCancel)}};Object.defineProperties(Z.prototype,{cancel:{enumerable:!0},getReader:{enumerable:!0},pipeThrough:{enumerable:!0},pipeTo:{enumerable:!0},tee:{enumerable:!0},values:{enumerable:!0},locked:{enumerable:!0}}),typeof g.toStringTag=="symbol"&&Object.defineProperty(Z.prototype,g.toStringTag,{value:"ReadableStream",configurable:!0}),typeof g.asyncIterator=="symbol"&&Object.defineProperty(Z.prototype,g.asyncIterator,{value:Z.prototype.values,writable:!0,configurable:!0});function jr(e,t,r,n=1,a=()=>1){let i=Object.create(Z.prototype);Ir(i);let s=Object.create(_e.prototype);return Un(i,s,e,t,r,n,a),i}function Vn(e,t,r){let n=Object.create(Z.prototype);Ir(n);let a=Object.create(pe.prototype);return gn(n,a,e,t,r,0,void 0),n}function Ir(e){e._state="readable",e._reader=void 0,e._storedError=void 0,e._disturbed=!1}function ge(e){return!D(e)||!Object.prototype.hasOwnProperty.call(e,"_readableStreamController")?!1:e instanceof Z}function we(e){return e._reader!==void 0}function X(e,t){if(e._disturbed=!0,e._state==="closed")return w(void 0);if(e._state==="errored")return b(e._storedError);pt(e);let r=e._reader;r!==void 0&&Fe(r)&&(r._readIntoRequests.forEach(a=>{a._closeSteps(void 0)}),r._readIntoRequests=new H);let n=e._readableStreamController[sr](t);return We(n,er)}function pt(e){e._state="closed";let t=e._reader;t!==void 0&&(Gr(t),he(t)&&(t._readRequests.forEach(r=>{r._closeSteps()}),t._readRequests=new H))}function Qn(e,t){e._state="errored",e._storedError=t;let r=e._reader;r!==void 0&&(ir(r,t),he(r)?(r._readRequests.forEach(n=>{n._errorSteps(t)}),r._readRequests=new H):(r._readIntoRequests.forEach(n=>{n._errorSteps(t)}),r._readIntoRequests=new H))}function $e(e){return new TypeError(`ReadableStream.prototype.${e} can only be used on a ReadableStream`)}function Gn(e,t){ue(e,t);let r=e==null?void 0:e.highWaterMark;return lr(r,"highWaterMark","QueuingStrategyInit"),{highWaterMark:dr(r)}}var Yn=e=>e.byteLength;try{Object.defineProperty(Yn,"name",{value:"size",configurable:!0})}catch{}var rt=class{constructor(t){le(t,1,"ByteLengthQueuingStrategy"),t=Gn(t,"First parameter"),this._byteLengthQueuingStrategyHighWaterMark=t.highWaterMark}get highWaterMark(){if(!Kn(this))throw Jn("highWaterMark");return this._byteLengthQueuingStrategyHighWaterMark}get size(){if(!Kn(this))throw Jn("size");return Yn}};Object.defineProperties(rt.prototype,{highWaterMark:{enumerable:!0},size:{enumerable:!0}}),typeof g.toStringTag=="symbol"&&Object.defineProperty(rt.prototype,g.toStringTag,{value:"ByteLengthQueuingStrategy",configurable:!0});function Jn(e){return new TypeError(`ByteLengthQueuingStrategy.prototype.${e} can only be used on a ByteLengthQueuingStrategy`)}function Kn(e){return!D(e)||!Object.prototype.hasOwnProperty.call(e,"_byteLengthQueuingStrategyHighWaterMark")?!1:e instanceof rt}var Zn=()=>1;try{Object.defineProperty(Zn,"name",{value:"size",configurable:!0})}catch{}var nt=class{constructor(t){le(t,1,"CountQueuingStrategy"),t=Gn(t,"First parameter"),this._countQueuingStrategyHighWaterMark=t.highWaterMark}get highWaterMark(){if(!ea(this))throw Xn("highWaterMark");return this._countQueuingStrategyHighWaterMark}get size(){if(!ea(this))throw Xn("size");return Zn}};Object.defineProperties(nt.prototype,{highWaterMark:{enumerable:!0},size:{enumerable:!0}}),typeof g.toStringTag=="symbol"&&Object.defineProperty(nt.prototype,g.toStringTag,{value:"CountQueuingStrategy",configurable:!0});function Xn(e){return new TypeError(`CountQueuingStrategy.prototype.${e} can only be used on a CountQueuingStrategy`)}function ea(e){return!D(e)||!Object.prototype.hasOwnProperty.call(e,"_countQueuingStrategyHighWaterMark")?!1:e instanceof nt}function Io(e,t){ue(e,t);let r=e==null?void 0:e.flush,n=e==null?void 0:e.readableType,a=e==null?void 0:e.start,i=e==null?void 0:e.transform,s=e==null?void 0:e.writableType;return{flush:r===void 0?void 0:zo(r,e,`${t} has member 'flush' that`),readableType:n,start:a===void 0?void 0:Fo(a,e,`${t} has member 'start' that`),transform:i===void 0?void 0:Do(i,e,`${t} has member 'transform' that`),writableType:s}}function zo(e,t,r){return J(e,r),n=>Be(e,t,[n])}function Fo(e,t,r){return J(e,r),n=>wt(e,t,[n])}function Do(e,t,r){return J(e,r),(n,a)=>Be(e,t,[n,a])}var at=class{constructor(t={},r={},n={}){t===void 0&&(t=null);let a=Ot(r,"Second parameter"),i=Ot(n,"Third parameter"),s=Io(t,"First parameter");if(s.readableType!==void 0)throw new RangeError("Invalid readableType specified");if(s.writableType!==void 0)throw new RangeError("Invalid writableType specified");let d=ft(i,0),m=kt(i),y=ft(a,1),_=kt(a),S,E=j(I=>{S=I});Lo(this,E,y,_,d,m),$o(this,s),s.start!==void 0?S(s.start(this._transformStreamController)):S(void 0)}get readable(){if(!ta(this))throw oa("readable");return this._readable}get writable(){if(!ta(this))throw oa("writable");return this._writable}};Object.defineProperties(at.prototype,{readable:{enumerable:!0},writable:{enumerable:!0}}),typeof g.toStringTag=="symbol"&&Object.defineProperty(at.prototype,g.toStringTag,{value:"TransformStream",configurable:!0});function Lo(e,t,r,n,a,i){function s(){return t}function d(E){return Uo(e,E)}function m(E){return xo(e,E)}function y(){return Vo(e)}e._writable=Qa(s,d,y,m,r,n);function _(){return Qo(e)}function S(E){return Vt(e,E),w(void 0)}e._readable=jr(s,_,S,a,i),e._backpressure=void 0,e._backpressureChangePromise=void 0,e._backpressureChangePromise_resolve=void 0,Qt(e,!0),e._transformStreamController=void 0}function ta(e){return!D(e)||!Object.prototype.hasOwnProperty.call(e,"_transformStreamController")?!1:e instanceof at}function xt(e,t){Se(e._readable._readableStreamController,t),Vt(e,t)}function Vt(e,t){ra(e._transformStreamController),vr(e._writable._writableStreamController,t),e._backpressure&&Qt(e,!1)}function Qt(e,t){e._backpressureChangePromise!==void 0&&e._backpressureChangePromise_resolve(),e._backpressureChangePromise=j(r=>{e._backpressureChangePromise_resolve=r}),e._backpressure=t}var He=class{constructor(){throw new TypeError("Illegal constructor")}get desiredSize(){if(!Gt(this))throw Yt("desiredSize");let t=this._controlledTransformStream._readable._readableStreamController;return Or(t)}enqueue(t=void 0){if(!Gt(this))throw Yt("enqueue");na(this,t)}error(t=void 0){if(!Gt(this))throw Yt("error");Ho(this,t)}terminate(){if(!Gt(this))throw Yt("terminate");No(this)}};Object.defineProperties(He.prototype,{enqueue:{enumerable:!0},error:{enumerable:!0},terminate:{enumerable:!0},desiredSize:{enumerable:!0}}),typeof g.toStringTag=="symbol"&&Object.defineProperty(He.prototype,g.toStringTag,{value:"TransformStreamDefaultController",configurable:!0});function Gt(e){return!D(e)||!Object.prototype.hasOwnProperty.call(e,"_controlledTransformStream")?!1:e instanceof He}function Mo(e,t,r,n){t._controlledTransformStream=e,e._transformStreamController=t,t._transformAlgorithm=r,t._flushAlgorithm=n}function $o(e,t){let r=Object.create(He.prototype),n=i=>{try{return na(r,i),w(void 0)}catch(s){return b(s)}},a=()=>w(void 0);t.transform!==void 0&&(n=i=>t.transform(i,r)),t.flush!==void 0&&(a=()=>t.flush(r)),Mo(e,r,n,a)}function ra(e){e._transformAlgorithm=void 0,e._flushAlgorithm=void 0}function na(e,t){let r=e._controlledTransformStream,n=r._readable._readableStreamController;if(!tt(n))throw new TypeError("Readable side is not in a state that permits enqueue");try{Nt(n,t)}catch(i){throw Vt(r,i),r._readable._storedError}go(n)!==r._backpressure&&Qt(r,!0)}function Ho(e,t){xt(e._controlledTransformStream,t)}function aa(e,t){let r=e._transformAlgorithm(t);return We(r,void 0,n=>{throw xt(e._controlledTransformStream,n),n})}function No(e){let t=e._controlledTransformStream,r=t._readable._readableStreamController;bt(r);let n=new TypeError("TransformStream terminated");Vt(t,n)}function Uo(e,t){let r=e._transformStreamController;if(e._backpressure){let n=e._backpressureChangePromise;return We(n,()=>{let a=e._writable;if(a._state==="erroring")throw a._storedError;return aa(r,t)})}return aa(r,t)}function xo(e,t){return xt(e,t),w(void 0)}function Vo(e){let t=e._readable,r=e._transformStreamController,n=r._flushAlgorithm();return ra(r),We(n,()=>{if(t._state==="errored")throw t._storedError;bt(t._readableStreamController)},a=>{throw xt(e,a),t._storedError})}function Qo(e){return Qt(e,!1),e._backpressureChangePromise}function Yt(e){return new TypeError(`TransformStreamDefaultController.prototype.${e} can only be used on a TransformStreamDefaultController`)}function oa(e){return new TypeError(`TransformStream.prototype.${e} can only be used on a TransformStream`)}var zr={ReadableStream:Z,ReadableStreamDefaultController:_e,ReadableByteStreamController:pe,ReadableStreamBYOBRequest:Oe,ReadableStreamDefaultReader:ke,ReadableStreamBYOBReader:ze,WritableStream:me,WritableStreamDefaultController:ye,WritableStreamDefaultWriter:De,ByteLengthQueuingStrategy:rt,CountQueuingStrategy:nt,TransformStream:at,TransformStreamDefaultController:He};if(typeof St!="undefined")for(let e in zr)Object.prototype.hasOwnProperty.call(zr,e)&&Object.defineProperty(St,e,{value:zr[e],writable:!0,configurable:!0});globalThis.ReadableStream=Z,globalThis.WritableStream=me;var te,U,xe,Ve,x,F,ae,Ce,Te,Jt,W,Pe,Qe,Fr,L,Ee,ve,Ge,Dr,mt,yt;yt=class{constructor(){B(this,mt,void 0)}},mt=new WeakMap,(()=>{let t=Java.type("java.net.URI"),r=Java.type("java.net.http.HttpClient"),n=Java.type("java.net.http.HttpClient.Redirect"),a=Java.type("java.net.http.HttpRequest"),i=Java.type("java.net.http.HttpResponse"),s=Java.type("java.net.http.HttpRequest.BodyPublishers"),d=Java.type("java.net.http.HttpResponse.BodyHandlers"),m=Java.type("java.net.ConnectException"),y=Java.type("java.lang.String"),_=Java.type("java.nio.ByteBuffer"),S=Java.type("java.util.Base64"),E=Java.type("java.nio.charset.StandardCharsets");function I(u){try{let o=new t(u);if(!o.isAbsolute())throw new TypeError("URI is not absolute");if(o.getUserInfo()!=null)throw new TypeError(`${u} is an url with embedded credentials`);return o}catch(o){throw new TypeError("Invalid URL: "+o.message)}}function M(u){if(!/^[\^_`a-zA-Z\-0-9!#$%&'*+.|~]+$/.test(u))throw new TypeError(`Header name must be a valid HTTP token: [${u}]`);return u}function N(u,o){if(/[^\t\x20-\x7e\x80-\xff]/.exec(o)!==null)throw new TypeError(`Invalid character in header field [${u}: ${o}]`);return o}function $(u){return u.trim()}function v(u){Object.defineProperty(u.prototype,Symbol.toStringTag,{value:u.name,configurable:!0,writable:!0,enumerable:!1})}class q extends yt{constructor(o){super();P(this,mt,o)}}let Kt=class{constructor(o,{type:l}={}){B(this,te,0);B(this,U,void 0);B(this,xe,void 0);B(this,Ve,void 0);B(this,x,void 0);if(o instanceof Kt)P(this,te,f(o,te)),P(this,U,f(o,U)),P(this,x,f(o,x));else if(o instanceof q){let c=f(o,mt);P(this,te,c.length),P(this,U,c),P(this,x,String(l??"text/plain;charset=utf-8"))}else if(typeof o=="string")P(this,te,o.length),P(this,xe,o),P(this,x,String(l??"text/plain;charset=utf-8"));else if(o instanceof ArrayBuffer)P(this,te,o.byteLength),P(this,Ve,o),P(this,x,String(l??"text/plain;charset=utf-8"));else if(o==null)P(this,te,0),P(this,x,String(l??""));else throw new TypeError("Unsupported array type")}get size(){return f(this,te)}get type(){return f(this,x)}async arrayBuffer(){if(this.size===0)return new ArrayBuffer(0);if(f(this,Ve)!=null)return f(this,Ve);if(f(this,U)!=null)return new ArrayBuffer(_.wrap(f(this,U)));throw new TypeError("Unsupported body type")}async text(){if(this.size===0)return"";if(f(this,xe)!=null)return f(this,xe);if(f(this,U)!=null){let o=/\bcharset=([\w-]+)\b/.exec(f(this,x))?.[1];if(o)try{return String(new y(f(this,U),o))}catch{}return String(new y(f(this,U),E.UTF_8))}else throw new TypeError("Unsupported body type")}},A=Kt;te=new WeakMap,U=new WeakMap,xe=new WeakMap,Ve=new WeakMap,x=new WeakMap,v(A);function k(u){return u instanceof A?u:new A(u)}function h(u,o){if(o instanceof p)o=o.entries();else if(Array.isArray(o))o=o;else if(typeof o=="object"&&o!==null)o=o[Symbol.iterator]?.()??Object.entries(o);else throw new TypeError("Failed to construct 'Headers': The provided value has incorrect type");for(let[l,c]of o)u.append(l,c)}class p{constructor(o={}){B(this,Te);B(this,F,new Map);B(this,ae,!1);B(this,Ce,"");h(this,o)}append(o,l){o=String(o),l=String(l),M(o),N(o,l);let c=o.toLowerCase(),R=$(String(l)),T=f(this,F).get(c);T===void 0&&(T=[],f(this,F).set(c,T),P(this,ae,f(this,ae)||co599)throw new RangeError('init["status"] must be in the range of 200 to 599, inclusive.');return u}let ne,Zt=class{constructor(o,l={}){B(this,Qe);B(this,W,void 0);B(this,Pe,!1);let c,R,T;typeof o=="object"&&Nr(W,o)?(c=f(o,W).url,R=f(o,W).uri,T=f(o,W),ee(l)):(c=String(o),ee(l),R=I(c)),P(this,W,z(l,R,c,T))}get url(){return f(this,W).url}get method(){return f(this,W).method}get referrer(){let o=f(this,W).referrer;return o=="no-referrer"?"":o=="client"?"about:client":o}get referrerPolicy(){return f(this,W).referrerPolicy}get redirect(){return f(this,W).redirect}get headers(){return f(this,W).headers}get body(){return f(this,W).body}get bodyUsed(){return f(this,Pe)}get uri(){return f(this,W).uri}clone(){if(f(this,Pe))throw new TypeError("Body has already been consumed");return new Zt(this)}async text(){let o=G(this,Qe,Fr).call(this);return await k(o).text()}async json(){return JSON.parse(await this.text())}async arrayBuffer(){let o=G(this,Qe,Fr).call(this);return await k(o).arrayBuffer()}async blob(){let o=G(this,Qe,Fr).call(this);return k(o)}},Re=Zt;W=new WeakMap,Pe=new WeakMap,Qe=new WeakSet,Fr=function(){if(f(this,Pe))throw new TypeError("Body already used");return P(this,Pe,!0),f(this,W).body},(()=>{ne=o=>f(o,W)})(),v(Re);function Ne(u){return{type:String(u.type??"default"),status:fe(u.status??200),statusText:String(u.statusText??""),url:String(u.url??""),headers:new p(u.headers),redirectCount:(u.redirectCount??0)|0}}let Ye=class{constructor(o=null,l={}){B(this,Ge);B(this,L,void 0);B(this,Ee,void 0);B(this,ve,!1);de(o),ee(l),P(this,Ee,o),P(this,L,Ne(l))}static error(){return new Ye(null,{type:"error",status:0,statusText:""})}static json(o,l={}){o=JSON.stringify(o);let c=new p({"Content-Type":"application/json"});return l.headers!=null&&h(c,l.headers),new Ye(o,{...l,headers:c})}static redirect(o,l){if(o=String(o),l=l|0,I(o),!$r(l))throw new RangeError(`Invalid status code ${l}`);return new Ye(null,{status:l,statusText:Hr(l),headers:{Location:o}})}get url(){return f(this,L).url}get type(){return f(this,L).type}get status(){return f(this,L).status}get statusText(){return f(this,L).statusText}get ok(){let o=f(this,L).status;return 200<=o&&o<=206}get headers(){return f(this,L).headers}get redirected(){return f(this,L).redirectCount>0}get body(){return f(this,Ee)}get bodyUsed(){return f(this,ve)}clone(){if(f(this,ve))throw new TypeError("Body has already been consumed");let o=new Ye(f(this,Ee));return P(o,L,Ne(f(this,L))),o}async text(){let o=G(this,Ge,Dr).call(this);return await k(o).text()}async json(){return JSON.parse(await this.text())}async arrayBuffer(){let o=G(this,Ge,Dr).call(this);return await k(o).arrayBuffer()}async blob(){let o=G(this,Ge,Dr).call(this);return k(o)}},ot=Ye;L=new WeakMap,Ee=new WeakMap,ve=new WeakMap,Ge=new WeakSet,Dr=function(){if(f(this,ve))throw new TypeError("Body already used");return P(this,ve,!0),f(this,Ee)},v(ot);function Ue(u,o){let l=new TypeError(u);return o&&(l.code=o),l}let ia=["authorization","www-authenticate","cookie","cookie2"],sa=["content-length","content-type","content-location","content-language","content-encoding"],ua=["","no-referrer","no-referrer-when-downgrade","same-origin","origin","strict-origin","origin-when-cross-origin","strict-origin-when-cross-origin","unsafe-url"],la=301,da=302,Lr=303;async function fa(u,o={}){let l=new Re(u,o),R=ne(l).uri.getScheme();switch(R){case"http":case"https":return await Mr(l);case"data":return await ca(l);default:throw new TypeError("fetch cannot load "+l.url+". Scheme not supported: "+R)}}async function ca(u){let o=ne(u),l=o.uri;if(o.uri.getScheme()!=="data")return null;l.getFragment()!=null&&(l=new t(l.getScheme(),l.getSchemeSpecificPart(),null));let c=l.toString();c=c.substring(5);let R=c.indexOf(","),T=c.substring(0,R);T=T.trim();let ce=c.substring(R+1),oe,V=/;\u0020*base64$/i.exec(T);if(V!=null){let Ae=S.getDecoder().decode(ce.trim());oe=new A(new q(Ae)),T=T.slice(0,-V[0].length)}else oe=decodeURI(ce);return T.startsWith(";")&&(T="text/plain"+T),T===""&&(T="text/plain;charset=US-ASCII"),new ot(oe,{status:200,statusText:"OK",url:u.url,headers:{"Content-Type":T}})}function ha(u){return u instanceof ArrayBuffer?!0:!!ArrayBuffer.isView(u)}function ba(u){if(u instanceof ArrayBuffer)return new Int8Array(u);if(ArrayBuffer.isView(u))return u instanceof Int8Array?u:new Int8Array(u.buffer.slice(u.byteOffset,u.byteOffset+u.byteLength));throw new TypeError}async function Mr(u){let o=ne(u),l=r.newBuilder().followRedirects(n.NEVER).build(),c=a.newBuilder(u.uri),R,T=u.body;T==null?R=s.noBody():ha(T)?R=s.ofByteArray(ba(T)):(R=s.ofString(String(T)),c.setHeader("Content-Type","text/plain;charset=UTF-8")),c.method(u.method,R),c.setHeader("Accept","*/*"),c.setHeader("Accept-Encoding",""),c.setHeader("User-Agent","graaljs-fetch"),o.referrer!=="client"&&c.setHeader("Referer",o.referrer);let ce;for(let[O,qe]of u.headers.entries())O!==ce?c.setHeader(O,qe):c.header(O,qe),ce=O;let oe=c.build(),V;try{V=l.send(oe,d.ofByteArray())}catch(O){throw O instanceof m?new Ue("Connection refused","ECONNREFUSED"):new TypeError(O.message)}let Q=V.statusCode();if($r(Q))switch(u.redirect){case"manual":break;case"error":throw new Ue("uri requested responds with a redirect, redirect mode is set to error","no-redirect");case"follow":{let O=null,qe=V.headers().firstValue("Location");try{qe.isPresent()&&(O=new t(o.url).resolve(qe.get()))}catch{throw new Ue("invalid url in location header","unsupported-redirect")}if(O==null)break;if(o.redirectCount>=Math.min(20,o.follow))throw new Ue("maximum redirect reached at: "+u.url,"max-redirect");if(o.redirectCount++,(!pa(O,o.uri)||!ma(O,o.uri))&&ia.forEach(Je=>{u.headers.delete(Je)}),Q!==Lr&&o.body!=null)throw new Ue("Cannot follow redirect with body","unsupported-redirect");(Q===Lr||(Q===la||Q===da)&&u.method==="POST")&&(o.method="GET",o.body=null,sa.forEach(Je=>{u.headers.delete(Je)})),o.uri=O,o.url=O.toString();let _t=V.headers().allValues("referrer-policy");return _t.length>0&&_t.forEach(Je=>{ua.includes(Je)&&(o.referrerPolicy=Je)}),await Mr(u)}default:throw new Ue(`Redirect option ${u.redirect} is not a valid value of RequestRedirect`)}let Ae=new p;for(let[O,qe]of new Map(V.headers().map()))for(let _t of qe)Ae.append(O,_t);let ya=new A(new q(V.body()),{type:Ae.get("content-type")});return new ot(ya,{status:Q,headers:Ae,url:u.url,statusText:Hr(Q),redirectCount:o.redirectCount})}function pa(u,o){return u.getHost()===o.getHost()||o.getHost().endsWith("."+u.getHost())}function ma(u,o){return u.getScheme()===o.getScheme()}function $r(u){switch(u){case 301:case 302:case 303:case 307:case 308:return!0;default:return!1}}function Hr(u){switch(u){case 200:return"OK";case 201:return"Created";case 202:return"Accepted";case 203:return"Non-Authoritative Information";case 204:return"No Content";case 205:return"Reset Content";case 206:return"Partial Content";case 300:return"Multiple Choices";case 301:return"Moved Permanently";case 302:return"Found";case 303:return"See Other";case 304:return"Not Modified";case 305:return"Use Proxy";case 306:return"Switch Proxy";case 307:return"Temporary Redirect";case 308:return"Permanent Redirect";case 400:return"Bad Request";case 401:return"Unauthorized";case 402:return"Payment Required";case 403:return"Forbidden";case 404:return"Not Found";case 405:return"Method Not Allowed";case 406:return"Not Acceptable";case 407:return"Proxy Authentication Required";case 408:return"Request Timeout";case 409:return"Conflict";case 410:return"Gone";case 411:return"Length Required";case 412:return"Precondition Failed";case 413:return"Payload Too Large";case 414:return"URI Too Long";case 415:return"Unsupported Media Type";case 416:return"Range Not Satisfiable";case 417:return"Expectation Failed";case 418:return"I'm a teapot";case 500:return"Internal Server Error";case 501:return"Not Implemented";case 502:return"Bad Gateway";case 503:return"Service Unavailable";case 504:return"Gateway Timeout";case 505:return"HTTP Version Not Supported";default:return""}}Object.entries({fetch:fa,Headers:p,Request:Re,Response:ot}).forEach(u=>{let[o,l]=u;Object.defineProperty(globalThis,o,{value:l,configurable:!0,writable:!0,enumerable:!1})})})();})(); +(()=>{var Jt=(e,t,r)=>{if(!t.has(e))throw TypeError("Cannot "+r)},Nr=(e,t)=>{if(Object(t)!==t)throw TypeError('Cannot use the "in" operator on this value');return e.has(t)},f=(e,t,r)=>(Jt(e,t,"read from private field"),r?r.call(e):t.get(e)),W=(e,t,r)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,r)},P=(e,t,r,n)=>(Jt(e,t,"write to private field"),n?n.call(e,r):t.set(e,r),r);var V=(e,t,r)=>(Jt(e,t,"access private method"),r);var S=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?Symbol:e=>`Symbol(${e})`;function Kt(){}function ho(){if(typeof self!="undefined")return self;if(typeof window!="undefined")return window;if(typeof global!="undefined")return global}var Ur=ho();function D(e){return typeof e=="object"&&e!==null||typeof e=="function"}var xr=Kt,Zt=Promise,bo=Promise.prototype.then,po=Promise.resolve.bind(Zt),mo=Promise.reject.bind(Zt);function j(e){return new Zt(e)}function w(e){return po(e)}function b(e){return mo(e)}function ae(e,t,r){return bo.call(e,t,r)}function Q(e,t,r){ae(ae(e,t,r),void 0,xr)}function Xt(e,t){Q(e,t)}function er(e,t){Q(e,void 0,t)}function Ae(e,t,r){return ae(e,t,r)}function ot(e){ae(e,void 0,xr)}var yt=(()=>{let e=Ur&&Ur.queueMicrotask;if(typeof e=="function")return e;let t=w(void 0);return r=>ae(t,r)})();function _t(e,t,r){if(typeof e!="function")throw new TypeError("Argument is not a function");return Function.prototype.apply.call(e,t,r)}function qe(e,t,r){try{return w(_t(e,t,r))}catch(n){return b(n)}}var Vr=16384,M=class{constructor(){this._cursor=0,this._size=0,this._front={_elements:[],_next:void 0},this._back=this._front,this._cursor=0,this._size=0}get length(){return this._size}push(t){let r=this._back,n=r;r._elements.length===Vr-1&&(n={_elements:[],_next:void 0}),r._elements.push(t),n!==r&&(this._back=n,r._next=n),++this._size}shift(){let t=this._front,r=t,n=this._cursor,o=n+1,i=t._elements,s=i[n];return o===Vr&&(r=t._next,o=0),--this._size,this._cursor=o,t!==r&&(this._front=r),i[n]=void 0,s}forEach(t){let r=this._cursor,n=this._front,o=n._elements;for(;(r!==o.length||n._next!==void 0)&&!(r===o.length&&(n=n._next,o=n._elements,r=0,o.length===0));)t(o[r]),++r}peek(){let t=this._front,r=this._cursor;return t._elements[r]}};function Qr(e,t){e._ownerReadableStream=t,t._reader=e,t._state==="readable"?rr(e):t._state==="closed"?yo(e):Gr(e,t._storedError)}function tr(e,t){let r=e._ownerReadableStream;return J(r,t)}function ie(e){e._ownerReadableStream._state==="readable"?nr(e,new TypeError("Reader was released and can no longer be used to monitor the stream's closedness")):_o(e,new TypeError("Reader was released and can no longer be used to monitor the stream's closedness")),e._ownerReadableStream._reader=void 0,e._ownerReadableStream=void 0}function Ge(e){return new TypeError("Cannot "+e+" a stream using a released reader")}function rr(e){e._closedPromise=j((t,r)=>{e._closedPromise_resolve=t,e._closedPromise_reject=r})}function Gr(e,t){rr(e),nr(e,t)}function yo(e){rr(e),Yr(e)}function nr(e,t){e._closedPromise_reject!==void 0&&(ot(e._closedPromise),e._closedPromise_reject(t),e._closedPromise_resolve=void 0,e._closedPromise_reject=void 0)}function _o(e,t){Gr(e,t)}function Yr(e){e._closedPromise_resolve!==void 0&&(e._closedPromise_resolve(void 0),e._closedPromise_resolve=void 0,e._closedPromise_reject=void 0)}var Jr=S("[[AbortSteps]]"),Kr=S("[[ErrorSteps]]"),or=S("[[CancelSteps]]"),ar=S("[[PullSteps]]"),Zr=Number.isFinite||function(e){return typeof e=="number"&&isFinite(e)},go=Math.trunc||function(e){return e<0?Math.ceil(e):Math.floor(e)};function So(e){return typeof e=="object"||typeof e=="function"}function se(e,t){if(e!==void 0&&!So(e))throw new TypeError(`${t} is not an object.`)}function G(e,t){if(typeof e!="function")throw new TypeError(`${t} is not a function.`)}function wo(e){return typeof e=="object"&&e!==null||typeof e=="function"}function Xr(e,t){if(!wo(e))throw new TypeError(`${t} is not an object.`)}function ue(e,t,r){if(e===void 0)throw new TypeError(`Parameter ${t} is required in '${r}'.`)}function ir(e,t,r){if(e===void 0)throw new TypeError(`${t} is required in '${r}'.`)}function sr(e){return Number(e)}function en(e){return e===0?0:e}function Ro(e){return en(go(e))}function tn(e,t){let r=0,n=Number.MAX_SAFE_INTEGER,o=Number(e);if(o=en(o),!Zr(o))throw new TypeError(`${t} is not a finite number`);if(o=Ro(o),on)throw new TypeError(`${t} is outside the accepted range of ${r} to ${n}, inclusive`);return!Zr(o)||o===0?0:o}function ur(e,t){if(!ge(e))throw new TypeError(`${t} is not a ReadableStream.`)}function Ye(e){return new We(e)}function rn(e,t){e._reader._readRequests.push(t)}function lr(e,t,r){let o=e._reader._readRequests.shift();r?o._closeSteps():o._chunkSteps(t)}function gt(e){return e._reader._readRequests.length}function nn(e){let t=e._reader;return!(t===void 0||!he(t))}var We=class{constructor(t){if(ue(t,1,"ReadableStreamDefaultReader"),ur(t,"First parameter"),Se(t))throw new TypeError("This stream has already been locked for exclusive reading by another reader");Qr(this,t),this._readRequests=new M}get closed(){return he(this)?this._closedPromise:b(St("closed"))}cancel(t=void 0){return he(this)?this._ownerReadableStream===void 0?b(Ge("cancel")):tr(this,t):b(St("cancel"))}read(){if(!he(this))return b(St("read"));if(this._ownerReadableStream===void 0)return b(Ge("read from"));let t,r,n=j((i,s)=>{t=i,r=s});return at(this,{_chunkSteps:i=>t({value:i,done:!1}),_closeSteps:()=>t({value:void 0,done:!0}),_errorSteps:i=>r(i)}),n}releaseLock(){if(!he(this))throw St("releaseLock");if(this._ownerReadableStream!==void 0){if(this._readRequests.length>0)throw new TypeError("Tried to release a reader lock when that reader has pending read() calls un-settled");ie(this)}}};Object.defineProperties(We.prototype,{cancel:{enumerable:!0},read:{enumerable:!0},releaseLock:{enumerable:!0},closed:{enumerable:!0}}),typeof S.toStringTag=="symbol"&&Object.defineProperty(We.prototype,S.toStringTag,{value:"ReadableStreamDefaultReader",configurable:!0});function he(e){return!D(e)||!Object.prototype.hasOwnProperty.call(e,"_readRequests")?!1:e instanceof We}function at(e,t){let r=e._ownerReadableStream;r._disturbed=!0,r._state==="closed"?t._closeSteps():r._state==="errored"?t._errorSteps(r._storedError):r._readableStreamController[ar](t)}function St(e){return new TypeError(`ReadableStreamDefaultReader.prototype.${e} can only be used on a ReadableStreamDefaultReader`)}var on=Object.getPrototypeOf(Object.getPrototypeOf(async function*(){}).prototype),dr=class{constructor(t,r){this._ongoingPromise=void 0,this._isFinished=!1,this._reader=t,this._preventCancel=r}next(){let t=()=>this._nextSteps();return this._ongoingPromise=this._ongoingPromise?Ae(this._ongoingPromise,t,t):t(),this._ongoingPromise}return(t){let r=()=>this._returnSteps(t);return this._ongoingPromise?Ae(this._ongoingPromise,r,r):r()}_nextSteps(){if(this._isFinished)return Promise.resolve({value:void 0,done:!0});let t=this._reader;if(t._ownerReadableStream===void 0)return b(Ge("iterate"));let r,n,o=j((s,d)=>{r=s,n=d});return at(t,{_chunkSteps:s=>{this._ongoingPromise=void 0,yt(()=>r({value:s,done:!1}))},_closeSteps:()=>{this._ongoingPromise=void 0,this._isFinished=!0,ie(t),r({value:void 0,done:!0})},_errorSteps:s=>{this._ongoingPromise=void 0,this._isFinished=!0,ie(t),n(s)}}),o}_returnSteps(t){if(this._isFinished)return Promise.resolve({value:t,done:!0});this._isFinished=!0;let r=this._reader;if(r._ownerReadableStream===void 0)return b(Ge("finish iterating"));if(!this._preventCancel){let n=tr(r,t);return ie(r),Ae(n,()=>({value:t,done:!0}))}return ie(r),w({value:t,done:!0})}},an={next(){return sn(this)?this._asyncIteratorImpl.next():b(un("next"))},return(e){return sn(this)?this._asyncIteratorImpl.return(e):b(un("return"))}};on!==void 0&&Object.setPrototypeOf(an,on);function Co(e,t){let r=Ye(e),n=new dr(r,t),o=Object.create(an);return o._asyncIteratorImpl=n,o}function sn(e){if(!D(e)||!Object.prototype.hasOwnProperty.call(e,"_asyncIteratorImpl"))return!1;try{return e._asyncIteratorImpl instanceof dr}catch{return!1}}function un(e){return new TypeError(`ReadableStreamAsyncIterator.${e} can only be used on a ReadableSteamAsyncIterator`)}var ln=Number.isNaN||function(e){return e!==e};function it(e){return e.slice()}function dn(e,t,r,n,o){new Uint8Array(e).set(new Uint8Array(r,n,o),t)}function Za(e){return e}function wt(e){return!1}function fn(e,t,r){if(e.slice)return e.slice(t,r);let n=r-t,o=new ArrayBuffer(n);return dn(o,0,e,t,n),o}function To(e){return!(typeof e!="number"||ln(e)||e<0)}function cn(e){let t=fn(e.buffer,e.byteOffset,e.byteOffset+e.byteLength);return new Uint8Array(t)}function fr(e){let t=e._queue.shift();return e._queueTotalSize-=t.size,e._queueTotalSize<0&&(e._queueTotalSize=0),t.value}function cr(e,t,r){if(!To(r)||r===1/0)throw new RangeError("Size must be a finite, non-NaN, non-negative number.");e._queue.push({value:t,size:r}),e._queueTotalSize+=r}function Po(e){return e._queue.peek().value}function be(e){e._queue=new M,e._queueTotalSize=0}var ke=class{constructor(){throw new TypeError("Illegal constructor")}get view(){if(!hr(this))throw yr("view");return this._view}respond(t){if(!hr(this))throw yr("respond");if(ue(t,1,"respond"),t=tn(t,"First parameter"),this._associatedReadableByteStreamController===void 0)throw new TypeError("This BYOB request has been invalidated");wt(this._view.buffer),Et(this._associatedReadableByteStreamController,t)}respondWithNewView(t){if(!hr(this))throw yr("respondWithNewView");if(ue(t,1,"respondWithNewView"),!ArrayBuffer.isView(t))throw new TypeError("You can only respond with array buffer views");if(this._associatedReadableByteStreamController===void 0)throw new TypeError("This BYOB request has been invalidated");wt(t.buffer),vt(this._associatedReadableByteStreamController,t)}};Object.defineProperties(ke.prototype,{respond:{enumerable:!0},respondWithNewView:{enumerable:!0},view:{enumerable:!0}}),typeof S.toStringTag=="symbol"&&Object.defineProperty(ke.prototype,S.toStringTag,{value:"ReadableStreamBYOBRequest",configurable:!0});var pe=class{constructor(){throw new TypeError("Illegal constructor")}get byobRequest(){if(!Be(this))throw ut("byobRequest");return mr(this)}get desiredSize(){if(!Be(this))throw ut("desiredSize");return Sn(this)}close(){if(!Be(this))throw ut("close");if(this._closeRequested)throw new TypeError("The stream has already been closed; do not close it again!");let t=this._controlledReadableByteStream._state;if(t!=="readable")throw new TypeError(`The stream (in ${t} state) is not in the readable state and cannot be closed`);st(this)}enqueue(t){if(!Be(this))throw ut("enqueue");if(ue(t,1,"enqueue"),!ArrayBuffer.isView(t))throw new TypeError("chunk must be an array buffer view");if(t.byteLength===0)throw new TypeError("chunk must have non-zero byteLength");if(t.buffer.byteLength===0)throw new TypeError("chunk's buffer must have non-zero byteLength");if(this._closeRequested)throw new TypeError("stream is closed or draining");let r=this._controlledReadableByteStream._state;if(r!=="readable")throw new TypeError(`The stream (in ${r} state) is not in the readable state and cannot be enqueued to`);Pt(this,t)}error(t=void 0){if(!Be(this))throw ut("error");Y(this,t)}[or](t){hn(this),be(this);let r=this._cancelAlgorithm(t);return Tt(this),r}[ar](t){let r=this._controlledReadableByteStream;if(this._queueTotalSize>0){let o=this._queue.shift();this._queueTotalSize-=o.byteLength,yn(this);let i=new Uint8Array(o.buffer,o.byteOffset,o.byteLength);t._chunkSteps(i);return}let n=this._autoAllocateChunkSize;if(n!==void 0){let o;try{o=new ArrayBuffer(n)}catch(s){t._errorSteps(s);return}let i={buffer:o,bufferByteLength:n,byteOffset:0,byteLength:n,bytesFilled:0,elementSize:1,viewConstructor:Uint8Array,readerType:"default"};this._pendingPullIntos.push(i)}rn(r,t),Oe(this)}};Object.defineProperties(pe.prototype,{close:{enumerable:!0},enqueue:{enumerable:!0},error:{enumerable:!0},byobRequest:{enumerable:!0},desiredSize:{enumerable:!0}}),typeof S.toStringTag=="symbol"&&Object.defineProperty(pe.prototype,S.toStringTag,{value:"ReadableByteStreamController",configurable:!0});function Be(e){return!D(e)||!Object.prototype.hasOwnProperty.call(e,"_controlledReadableByteStream")?!1:e instanceof pe}function hr(e){return!D(e)||!Object.prototype.hasOwnProperty.call(e,"_associatedReadableByteStreamController")?!1:e instanceof ke}function Oe(e){if(!qo(e))return;if(e._pulling){e._pullAgain=!0;return}e._pulling=!0;let r=e._pullAlgorithm();Q(r,()=>{e._pulling=!1,e._pullAgain&&(e._pullAgain=!1,Oe(e))},n=>{Y(e,n)})}function hn(e){pr(e),e._pendingPullIntos=new M}function br(e,t){let r=!1;e._state==="closed"&&(r=!0);let n=bn(t);t.readerType==="default"?lr(e,n,r):Bo(e,n,r)}function bn(e){let t=e.bytesFilled,r=e.elementSize;return new e.viewConstructor(e.buffer,e.byteOffset,t/r)}function Rt(e,t,r,n){e._queue.push({buffer:t,byteOffset:r,byteLength:n}),e._queueTotalSize+=n}function pn(e,t){let r=t.elementSize,n=t.bytesFilled-t.bytesFilled%r,o=Math.min(e._queueTotalSize,t.byteLength-t.bytesFilled),i=t.bytesFilled+o,s=i-i%r,d=o,p=!1;s>n&&(d=s-t.bytesFilled,p=!0);let y=e._queue;for(;d>0;){let m=y.peek(),g=Math.min(d,m.byteLength),E=t.byteOffset+t.bytesFilled;dn(t.buffer,E,m.buffer,m.byteOffset,g),m.byteLength===g?y.shift():(m.byteOffset+=g,m.byteLength-=g),e._queueTotalSize-=g,mn(e,g,t),d-=g}return p}function mn(e,t,r){r.bytesFilled+=t}function yn(e){e._queueTotalSize===0&&e._closeRequested?(Tt(e),ht(e._controlledReadableByteStream)):Oe(e)}function pr(e){e._byobRequest!==null&&(e._byobRequest._associatedReadableByteStreamController=void 0,e._byobRequest._view=null,e._byobRequest=null)}function _n(e){for(;e._pendingPullIntos.length>0;){if(e._queueTotalSize===0)return;let t=e._pendingPullIntos.peek();pn(e,t)&&(Ct(e),br(e._controlledReadableByteStream,t))}}function Eo(e,t,r){let n=e._controlledReadableByteStream,o=1;t.constructor!==DataView&&(o=t.constructor.BYTES_PER_ELEMENT);let i=t.constructor,s=t.buffer,d={buffer:s,bufferByteLength:s.byteLength,byteOffset:t.byteOffset,byteLength:t.byteLength,bytesFilled:0,elementSize:o,viewConstructor:i,readerType:"byob"};if(e._pendingPullIntos.length>0){e._pendingPullIntos.push(d),Cn(n,r);return}if(n._state==="closed"){let p=new i(d.buffer,d.byteOffset,0);r._closeSteps(p);return}if(e._queueTotalSize>0){if(pn(e,d)){let p=bn(d);yn(e),r._chunkSteps(p);return}if(e._closeRequested){let p=new TypeError("Insufficient bytes to fill elements in the given buffer");Y(e,p),r._errorSteps(p);return}}e._pendingPullIntos.push(d),Cn(n,r),Oe(e)}function vo(e,t){let r=e._controlledReadableByteStream;if(_r(r))for(;Tn(r)>0;){let n=Ct(e);br(r,n)}}function Ao(e,t,r){if(mn(e,t,r),r.bytesFilled0){let o=r.byteOffset+r.bytesFilled,i=fn(r.buffer,o-n,o);Rt(e,i,0,i.byteLength)}r.bytesFilled-=n,br(e._controlledReadableByteStream,r),_n(e)}function gn(e,t){let r=e._pendingPullIntos.peek();pr(e),e._controlledReadableByteStream._state==="closed"?vo(e):Ao(e,t,r),Oe(e)}function Ct(e){return e._pendingPullIntos.shift()}function qo(e){let t=e._controlledReadableByteStream;return t._state!=="readable"||e._closeRequested||!e._started?!1:!!(nn(t)&>(t)>0||_r(t)&&Tn(t)>0||Sn(e)>0)}function Tt(e){e._pullAlgorithm=void 0,e._cancelAlgorithm=void 0}function st(e){let t=e._controlledReadableByteStream;if(!(e._closeRequested||t._state!=="readable")){if(e._queueTotalSize>0){e._closeRequested=!0;return}if(e._pendingPullIntos.length>0&&e._pendingPullIntos.peek().bytesFilled>0){let n=new TypeError("Insufficient bytes to fill elements in the given buffer");throw Y(e,n),n}Tt(e),ht(t)}}function Pt(e,t){let r=e._controlledReadableByteStream;if(e._closeRequested||r._state!=="readable")return;let n=t.buffer,o=t.byteOffset,i=t.byteLength,s=n;if(e._pendingPullIntos.length>0){let d=e._pendingPullIntos.peek();wt(d.buffer),d.buffer=d.buffer}if(pr(e),nn(r))if(gt(r)===0)Rt(e,s,o,i);else{e._pendingPullIntos.length>0&&Ct(e);let d=new Uint8Array(s,o,i);lr(r,d,!1)}else _r(r)?(Rt(e,s,o,i),_n(e)):Rt(e,s,o,i);Oe(e)}function Y(e,t){let r=e._controlledReadableByteStream;r._state==="readable"&&(hn(e),be(e),Tt(e),Gn(r,t))}function mr(e){if(e._byobRequest===null&&e._pendingPullIntos.length>0){let t=e._pendingPullIntos.peek(),r=new Uint8Array(t.buffer,t.byteOffset+t.bytesFilled,t.byteLength-t.bytesFilled),n=Object.create(ke.prototype);ko(n,e,r),e._byobRequest=n}return e._byobRequest}function Sn(e){let t=e._controlledReadableByteStream._state;return t==="errored"?null:t==="closed"?0:e._strategyHWM-e._queueTotalSize}function Et(e,t){let r=e._pendingPullIntos.peek();if(e._controlledReadableByteStream._state==="closed"){if(t!==0)throw new TypeError("bytesWritten must be 0 when calling respond() on a closed stream")}else{if(t===0)throw new TypeError("bytesWritten must be greater than 0 when calling respond() on a readable stream");if(r.bytesFilled+t>r.byteLength)throw new RangeError("bytesWritten out of range")}r.buffer=r.buffer,gn(e,t)}function vt(e,t){let r=e._pendingPullIntos.peek();if(e._controlledReadableByteStream._state==="closed"){if(t.byteLength!==0)throw new TypeError("The view's length must be 0 when calling respondWithNewView() on a closed stream")}else if(t.byteLength===0)throw new TypeError("The view's length must be greater than 0 when calling respondWithNewView() on a readable stream");if(r.byteOffset+r.bytesFilled!==t.byteOffset)throw new RangeError("The region specified by view does not match byobRequest");if(r.bufferByteLength!==t.buffer.byteLength)throw new RangeError("The buffer of view has different capacity than byobRequest");if(r.bytesFilled+t.byteLength>r.byteLength)throw new RangeError("The region specified by view is larger than byobRequest");let o=t.byteLength;r.buffer=t.buffer,gn(e,o)}function wn(e,t,r,n,o,i,s){t._controlledReadableByteStream=e,t._pullAgain=!1,t._pulling=!1,t._byobRequest=null,t._queue=t._queueTotalSize=void 0,be(t),t._closeRequested=!1,t._started=!1,t._strategyHWM=i,t._pullAlgorithm=n,t._cancelAlgorithm=o,t._autoAllocateChunkSize=s,t._pendingPullIntos=new M,e._readableStreamController=t;let d=r();Q(w(d),()=>{t._started=!0,Oe(t)},p=>{Y(t,p)})}function Wo(e,t,r){let n=Object.create(pe.prototype),o=()=>{},i=()=>w(void 0),s=()=>w(void 0);t.start!==void 0&&(o=()=>t.start(n)),t.pull!==void 0&&(i=()=>t.pull(n)),t.cancel!==void 0&&(s=p=>t.cancel(p));let d=t.autoAllocateChunkSize;if(d===0)throw new TypeError("autoAllocateChunkSize must be greater than 0");wn(e,n,o,i,s,r,d)}function ko(e,t,r){e._associatedReadableByteStreamController=t,e._view=r}function yr(e){return new TypeError(`ReadableStreamBYOBRequest.prototype.${e} can only be used on a ReadableStreamBYOBRequest`)}function ut(e){return new TypeError(`ReadableByteStreamController.prototype.${e} can only be used on a ReadableByteStreamController`)}function Rn(e){return new je(e)}function Cn(e,t){e._reader._readIntoRequests.push(t)}function Bo(e,t,r){let o=e._reader._readIntoRequests.shift();r?o._closeSteps(t):o._chunkSteps(t)}function Tn(e){return e._reader._readIntoRequests.length}function _r(e){let t=e._reader;return!(t===void 0||!Ie(t))}var je=class{constructor(t){if(ue(t,1,"ReadableStreamBYOBReader"),ur(t,"First parameter"),Se(t))throw new TypeError("This stream has already been locked for exclusive reading by another reader");if(!Be(t._readableStreamController))throw new TypeError("Cannot construct a ReadableStreamBYOBReader for a stream not constructed with a byte source");Qr(this,t),this._readIntoRequests=new M}get closed(){return Ie(this)?this._closedPromise:b(At("closed"))}cancel(t=void 0){return Ie(this)?this._ownerReadableStream===void 0?b(Ge("cancel")):tr(this,t):b(At("cancel"))}read(t){if(!Ie(this))return b(At("read"));if(!ArrayBuffer.isView(t))return b(new TypeError("view must be an array buffer view"));if(t.byteLength===0)return b(new TypeError("view must have non-zero byteLength"));if(t.buffer.byteLength===0)return b(new TypeError("view's buffer must have non-zero byteLength"));if(wt(t.buffer),this._ownerReadableStream===void 0)return b(Ge("read from"));let r,n,o=j((s,d)=>{r=s,n=d});return Pn(this,t,{_chunkSteps:s=>r({value:s,done:!1}),_closeSteps:s=>r({value:s,done:!0}),_errorSteps:s=>n(s)}),o}releaseLock(){if(!Ie(this))throw At("releaseLock");if(this._ownerReadableStream!==void 0){if(this._readIntoRequests.length>0)throw new TypeError("Tried to release a reader lock when that reader has pending read() calls un-settled");ie(this)}}};Object.defineProperties(je.prototype,{cancel:{enumerable:!0},read:{enumerable:!0},releaseLock:{enumerable:!0},closed:{enumerable:!0}}),typeof S.toStringTag=="symbol"&&Object.defineProperty(je.prototype,S.toStringTag,{value:"ReadableStreamBYOBReader",configurable:!0});function Ie(e){return!D(e)||!Object.prototype.hasOwnProperty.call(e,"_readIntoRequests")?!1:e instanceof je}function Pn(e,t,r){let n=e._ownerReadableStream;n._disturbed=!0,n._state==="errored"?r._errorSteps(n._storedError):Eo(n._readableStreamController,t,r)}function At(e){return new TypeError(`ReadableStreamBYOBReader.prototype.${e} can only be used on a ReadableStreamBYOBReader`)}function lt(e,t){let{highWaterMark:r}=e;if(r===void 0)return t;if(ln(r)||r<0)throw new RangeError("Invalid highWaterMark");return r}function qt(e){let{size:t}=e;return t||(()=>1)}function Wt(e,t){se(e,t);let r=e==null?void 0:e.highWaterMark,n=e==null?void 0:e.size;return{highWaterMark:r===void 0?void 0:sr(r),size:n===void 0?void 0:Oo(n,`${t} has member 'size' that`)}}function Oo(e,t){return G(e,t),r=>sr(e(r))}function jo(e,t){se(e,t);let r=e==null?void 0:e.abort,n=e==null?void 0:e.close,o=e==null?void 0:e.start,i=e==null?void 0:e.type,s=e==null?void 0:e.write;return{abort:r===void 0?void 0:Io(r,e,`${t} has member 'abort' that`),close:n===void 0?void 0:zo(n,e,`${t} has member 'close' that`),start:o===void 0?void 0:Fo(o,e,`${t} has member 'start' that`),write:s===void 0?void 0:Do(s,e,`${t} has member 'write' that`),type:i}}function Io(e,t,r){return G(e,r),n=>qe(e,t,[n])}function zo(e,t,r){return G(e,r),()=>qe(e,t,[])}function Fo(e,t,r){return G(e,r),n=>_t(e,t,[n])}function Do(e,t,r){return G(e,r),(n,o)=>qe(e,t,[n,o])}function En(e,t){if(!Je(e))throw new TypeError(`${t} is not a WritableStream.`)}function Lo(e){if(typeof e!="object"||e===null)return!1;try{return typeof e.aborted=="boolean"}catch{return!1}}var $o=typeof AbortController=="function";function Mo(){if($o)return new AbortController}var ze=class{constructor(t={},r={}){t===void 0?t=null:Xr(t,"First parameter");let n=Wt(r,"Second parameter"),o=jo(t,"First parameter");if(An(this),o.type!==void 0)throw new RangeError("Invalid type is specified");let s=qt(n),d=lt(n,1);ta(this,o,d,s)}get locked(){if(!Je(this))throw It("locked");return Ke(this)}abort(t=void 0){return Je(this)?Ke(this)?b(new TypeError("Cannot abort a stream that already has a writer")):kt(this,t):b(It("abort"))}close(){return Je(this)?Ke(this)?b(new TypeError("Cannot close a stream that already has a writer")):ee(this)?b(new TypeError("Cannot close an already-closing stream")):qn(this):b(It("close"))}getWriter(){if(!Je(this))throw It("getWriter");return vn(this)}};Object.defineProperties(ze.prototype,{abort:{enumerable:!0},close:{enumerable:!0},getWriter:{enumerable:!0},locked:{enumerable:!0}}),typeof S.toStringTag=="symbol"&&Object.defineProperty(ze.prototype,S.toStringTag,{value:"WritableStream",configurable:!0});function vn(e){return new Fe(e)}function Ho(e,t,r,n,o=1,i=()=>1){let s=Object.create(ze.prototype);An(s);let d=Object.create(me.prototype);return In(s,d,e,t,r,n,o,i),s}function An(e){e._state="writable",e._storedError=void 0,e._writer=void 0,e._writableStreamController=void 0,e._writeRequests=new M,e._inFlightWriteRequest=void 0,e._closeRequest=void 0,e._inFlightCloseRequest=void 0,e._pendingAbortRequest=void 0,e._backpressure=!1}function Je(e){return!D(e)||!Object.prototype.hasOwnProperty.call(e,"_writableStreamController")?!1:e instanceof ze}function Ke(e){return e._writer!==void 0}function kt(e,t){var r;if(e._state==="closed"||e._state==="errored")return w(void 0);e._writableStreamController._abortReason=t,(r=e._writableStreamController._abortController)===null||r===void 0||r.abort();let n=e._state;if(n==="closed"||n==="errored")return w(void 0);if(e._pendingAbortRequest!==void 0)return e._pendingAbortRequest._promise;let o=!1;n==="erroring"&&(o=!0,t=void 0);let i=j((s,d)=>{e._pendingAbortRequest={_promise:void 0,_resolve:s,_reject:d,_reason:t,_wasAlreadyErroring:o}});return e._pendingAbortRequest._promise=i,o||Sr(e,t),i}function qn(e){let t=e._state;if(t==="closed"||t==="errored")return b(new TypeError(`The stream (in ${t} state) is not in the writable state and cannot be closed`));let r=j((o,i)=>{let s={_resolve:o,_reject:i};e._closeRequest=s}),n=e._writer;return n!==void 0&&e._backpressure&&t==="writable"&&qr(n),ra(e._writableStreamController),r}function No(e){return j((r,n)=>{let o={_resolve:r,_reject:n};e._writeRequests.push(o)})}function gr(e,t){if(e._state==="writable"){Sr(e,t);return}wr(e)}function Sr(e,t){let r=e._writableStreamController;e._state="erroring",e._storedError=t;let n=e._writer;n!==void 0&&kn(n,t),!Go(e)&&r._started&&wr(e)}function wr(e){e._state="errored",e._writableStreamController[Kr]();let t=e._storedError;if(e._writeRequests.forEach(o=>{o._reject(t)}),e._writeRequests=new M,e._pendingAbortRequest===void 0){Bt(e);return}let r=e._pendingAbortRequest;if(e._pendingAbortRequest=void 0,r._wasAlreadyErroring){r._reject(t),Bt(e);return}let n=e._writableStreamController[Jr](r._reason);Q(n,()=>{r._resolve(),Bt(e)},o=>{r._reject(o),Bt(e)})}function Uo(e){e._inFlightWriteRequest._resolve(void 0),e._inFlightWriteRequest=void 0}function xo(e,t){e._inFlightWriteRequest._reject(t),e._inFlightWriteRequest=void 0,gr(e,t)}function Vo(e){e._inFlightCloseRequest._resolve(void 0),e._inFlightCloseRequest=void 0,e._state==="erroring"&&(e._storedError=void 0,e._pendingAbortRequest!==void 0&&(e._pendingAbortRequest._resolve(),e._pendingAbortRequest=void 0)),e._state="closed";let r=e._writer;r!==void 0&&Ln(r)}function Qo(e,t){e._inFlightCloseRequest._reject(t),e._inFlightCloseRequest=void 0,e._pendingAbortRequest!==void 0&&(e._pendingAbortRequest._reject(t),e._pendingAbortRequest=void 0),gr(e,t)}function ee(e){return!(e._closeRequest===void 0&&e._inFlightCloseRequest===void 0)}function Go(e){return!(e._inFlightWriteRequest===void 0&&e._inFlightCloseRequest===void 0)}function Yo(e){e._inFlightCloseRequest=e._closeRequest,e._closeRequest=void 0}function Jo(e){e._inFlightWriteRequest=e._writeRequests.shift()}function Bt(e){e._closeRequest!==void 0&&(e._closeRequest._reject(e._storedError),e._closeRequest=void 0);let t=e._writer;t!==void 0&&vr(t,e._storedError)}function Rr(e,t){let r=e._writer;r!==void 0&&t!==e._backpressure&&(t?la(r):qr(r)),e._backpressure=t}var Fe=class{constructor(t){if(ue(t,1,"WritableStreamDefaultWriter"),En(t,"First parameter"),Ke(t))throw new TypeError("This stream has already been locked for exclusive writing by another writer");this._ownerWritableStream=t,t._writer=this;let r=t._state;if(r==="writable")!ee(t)&&t._backpressure?Ft(this):$n(this),zt(this);else if(r==="erroring")Ar(this,t._storedError),zt(this);else if(r==="closed")$n(this),sa(this);else{let n=t._storedError;Ar(this,n),Dn(this,n)}}get closed(){return De(this)?this._closedPromise:b(Le("closed"))}get desiredSize(){if(!De(this))throw Le("desiredSize");if(this._ownerWritableStream===void 0)throw dt("desiredSize");return ea(this)}get ready(){return De(this)?this._readyPromise:b(Le("ready"))}abort(t=void 0){return De(this)?this._ownerWritableStream===void 0?b(dt("abort")):Ko(this,t):b(Le("abort"))}close(){if(!De(this))return b(Le("close"));let t=this._ownerWritableStream;return t===void 0?b(dt("close")):ee(t)?b(new TypeError("Cannot close an already-closing stream")):Wn(this)}releaseLock(){if(!De(this))throw Le("releaseLock");this._ownerWritableStream!==void 0&&Bn(this)}write(t=void 0){return De(this)?this._ownerWritableStream===void 0?b(dt("write to")):On(this,t):b(Le("write"))}};Object.defineProperties(Fe.prototype,{abort:{enumerable:!0},close:{enumerable:!0},releaseLock:{enumerable:!0},write:{enumerable:!0},closed:{enumerable:!0},desiredSize:{enumerable:!0},ready:{enumerable:!0}}),typeof S.toStringTag=="symbol"&&Object.defineProperty(Fe.prototype,S.toStringTag,{value:"WritableStreamDefaultWriter",configurable:!0});function De(e){return!D(e)||!Object.prototype.hasOwnProperty.call(e,"_ownerWritableStream")?!1:e instanceof Fe}function Ko(e,t){let r=e._ownerWritableStream;return kt(r,t)}function Wn(e){let t=e._ownerWritableStream;return qn(t)}function Zo(e){let t=e._ownerWritableStream,r=t._state;return ee(t)||r==="closed"?w(void 0):r==="errored"?b(t._storedError):Wn(e)}function Xo(e,t){e._closedPromiseState==="pending"?vr(e,t):ua(e,t)}function kn(e,t){e._readyPromiseState==="pending"?Mn(e,t):da(e,t)}function ea(e){let t=e._ownerWritableStream,r=t._state;return r==="errored"||r==="erroring"?null:r==="closed"?0:zn(t._writableStreamController)}function Bn(e){let t=e._ownerWritableStream,r=new TypeError("Writer was released and can no longer be used to monitor the stream's closedness");kn(e,r),Xo(e,r),t._writer=void 0,e._ownerWritableStream=void 0}function On(e,t){let r=e._ownerWritableStream,n=r._writableStreamController,o=na(n,t);if(r!==e._ownerWritableStream)return b(dt("write to"));let i=r._state;if(i==="errored")return b(r._storedError);if(ee(r)||i==="closed")return b(new TypeError("The stream is closing or closed and cannot be written to"));if(i==="erroring")return b(r._storedError);let s=No(r);return oa(n,t,o),s}var jn={},me=class{constructor(){throw new TypeError("Illegal constructor")}get abortReason(){if(!Cr(this))throw Er("abortReason");return this._abortReason}get signal(){if(!Cr(this))throw Er("signal");if(this._abortController===void 0)throw new TypeError("WritableStreamDefaultController.prototype.signal is not supported");return this._abortController.signal}error(t=void 0){if(!Cr(this))throw Er("error");this._controlledWritableStream._state==="writable"&&Fn(this,t)}[Jr](t){let r=this._abortAlgorithm(t);return Ot(this),r}[Kr](){be(this)}};Object.defineProperties(me.prototype,{abortReason:{enumerable:!0},signal:{enumerable:!0},error:{enumerable:!0}}),typeof S.toStringTag=="symbol"&&Object.defineProperty(me.prototype,S.toStringTag,{value:"WritableStreamDefaultController",configurable:!0});function Cr(e){return!D(e)||!Object.prototype.hasOwnProperty.call(e,"_controlledWritableStream")?!1:e instanceof me}function In(e,t,r,n,o,i,s,d){t._controlledWritableStream=e,e._writableStreamController=t,t._queue=void 0,t._queueTotalSize=void 0,be(t),t._abortReason=void 0,t._abortController=Mo(),t._started=!1,t._strategySizeAlgorithm=d,t._strategyHWM=s,t._writeAlgorithm=n,t._closeAlgorithm=o,t._abortAlgorithm=i;let p=Pr(t);Rr(e,p);let y=r(),m=w(y);Q(m,()=>{t._started=!0,jt(t)},g=>{t._started=!0,gr(e,g)})}function ta(e,t,r,n){let o=Object.create(me.prototype),i=()=>{},s=()=>w(void 0),d=()=>w(void 0),p=()=>w(void 0);t.start!==void 0&&(i=()=>t.start(o)),t.write!==void 0&&(s=y=>t.write(y,o)),t.close!==void 0&&(d=()=>t.close()),t.abort!==void 0&&(p=y=>t.abort(y)),In(e,o,i,s,d,p,r,n)}function Ot(e){e._writeAlgorithm=void 0,e._closeAlgorithm=void 0,e._abortAlgorithm=void 0,e._strategySizeAlgorithm=void 0}function ra(e){cr(e,jn,0),jt(e)}function na(e,t){try{return e._strategySizeAlgorithm(t)}catch(r){return Tr(e,r),1}}function zn(e){return e._strategyHWM-e._queueTotalSize}function oa(e,t,r){try{cr(e,t,r)}catch(o){Tr(e,o);return}let n=e._controlledWritableStream;if(!ee(n)&&n._state==="writable"){let o=Pr(e);Rr(n,o)}jt(e)}function jt(e){let t=e._controlledWritableStream;if(!e._started||t._inFlightWriteRequest!==void 0)return;if(t._state==="erroring"){wr(t);return}if(e._queue.length===0)return;let n=Po(e);n===jn?aa(e):ia(e,n)}function Tr(e,t){e._controlledWritableStream._state==="writable"&&Fn(e,t)}function aa(e){let t=e._controlledWritableStream;Yo(t),fr(e);let r=e._closeAlgorithm();Ot(e),Q(r,()=>{Vo(t)},n=>{Qo(t,n)})}function ia(e,t){let r=e._controlledWritableStream;Jo(r);let n=e._writeAlgorithm(t);Q(n,()=>{Uo(r);let o=r._state;if(fr(e),!ee(r)&&o==="writable"){let i=Pr(e);Rr(r,i)}jt(e)},o=>{r._state==="writable"&&Ot(e),xo(r,o)})}function Pr(e){return zn(e)<=0}function Fn(e,t){let r=e._controlledWritableStream;Ot(e),Sr(r,t)}function It(e){return new TypeError(`WritableStream.prototype.${e} can only be used on a WritableStream`)}function Er(e){return new TypeError(`WritableStreamDefaultController.prototype.${e} can only be used on a WritableStreamDefaultController`)}function Le(e){return new TypeError(`WritableStreamDefaultWriter.prototype.${e} can only be used on a WritableStreamDefaultWriter`)}function dt(e){return new TypeError("Cannot "+e+" a stream using a released writer")}function zt(e){e._closedPromise=j((t,r)=>{e._closedPromise_resolve=t,e._closedPromise_reject=r,e._closedPromiseState="pending"})}function Dn(e,t){zt(e),vr(e,t)}function sa(e){zt(e),Ln(e)}function vr(e,t){e._closedPromise_reject!==void 0&&(ot(e._closedPromise),e._closedPromise_reject(t),e._closedPromise_resolve=void 0,e._closedPromise_reject=void 0,e._closedPromiseState="rejected")}function ua(e,t){Dn(e,t)}function Ln(e){e._closedPromise_resolve!==void 0&&(e._closedPromise_resolve(void 0),e._closedPromise_resolve=void 0,e._closedPromise_reject=void 0,e._closedPromiseState="resolved")}function Ft(e){e._readyPromise=j((t,r)=>{e._readyPromise_resolve=t,e._readyPromise_reject=r}),e._readyPromiseState="pending"}function Ar(e,t){Ft(e),Mn(e,t)}function $n(e){Ft(e),qr(e)}function Mn(e,t){e._readyPromise_reject!==void 0&&(ot(e._readyPromise),e._readyPromise_reject(t),e._readyPromise_resolve=void 0,e._readyPromise_reject=void 0,e._readyPromiseState="rejected")}function la(e){Ft(e)}function da(e,t){Ar(e,t)}function qr(e){e._readyPromise_resolve!==void 0&&(e._readyPromise_resolve(void 0),e._readyPromise_resolve=void 0,e._readyPromise_reject=void 0,e._readyPromiseState="fulfilled")}var Hn=typeof DOMException!="undefined"?DOMException:void 0;function fa(e){if(!(typeof e=="function"||typeof e=="object"))return!1;try{return new e,!0}catch{return!1}}function ca(){let e=function(r,n){this.message=r||"",this.name=n||"Error",Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)};return e.prototype=Object.create(Error.prototype),Object.defineProperty(e.prototype,"constructor",{value:e,writable:!0,configurable:!0}),e}var ha=fa(Hn)?Hn:ca();function Nn(e,t,r,n,o,i){let s=Ye(e),d=vn(t);e._disturbed=!0;let p=!1,y=w(void 0);return j((m,g)=>{let E;if(i!==void 0){if(E=()=>{let h=new ha("Aborted","AbortError"),_=[];n||_.push(()=>t._state==="writable"?kt(t,h):w(void 0)),o||_.push(()=>e._state==="readable"?J(e,h):w(void 0)),k(()=>Promise.all(_.map(C=>C())),!0,h)},i.aborted){E();return}i.addEventListener("abort",E)}function L(){return j((h,_)=>{function C(I){I?h():ae(K(),C,_)}C(!1)})}function K(){return p?w(!0):ae(d._readyPromise,()=>j((h,_)=>{at(s,{_chunkSteps:C=>{y=ae(On(d,C),void 0,Kt),h(!1)},_closeSteps:()=>h(!0),_errorSteps:_})}))}if(z(e,s._closedPromise,h=>{n?A(!0,h):k(()=>kt(t,h),!0,h)}),z(t,d._closedPromise,h=>{o?A(!0,h):k(()=>J(e,h),!0,h)}),v(e,s._closedPromise,()=>{r?A():k(()=>Zo(d))}),ee(t)||t._state==="closed"){let h=new TypeError("the destination writable stream closed before all data could be piped to it");o?A(!0,h):k(()=>J(e,h),!0,h)}ot(L());function Z(){let h=y;return ae(y,()=>h!==y?Z():void 0)}function z(h,_,C){h._state==="errored"?C(h._storedError):er(_,C)}function v(h,_,C){h._state==="closed"?C():Xt(_,C)}function k(h,_,C){if(p)return;p=!0,t._state==="writable"&&!ee(t)?Xt(Z(),I):I();function I(){Q(h(),()=>B(_,C),le=>B(!0,le))}}function A(h,_){p||(p=!0,t._state==="writable"&&!ee(t)?Xt(Z(),()=>B(h,_)):B(h,_))}function B(h,_){Bn(d),ie(s),i!==void 0&&i.removeEventListener("abort",E),h?g(_):m(void 0)}})}var ye=class{constructor(){throw new TypeError("Illegal constructor")}get desiredSize(){if(!Dt(this))throw Mt("desiredSize");return Wr(this)}close(){if(!Dt(this))throw Mt("close");if(!Ze(this))throw new TypeError("The stream is not in a state that permits close");ct(this)}enqueue(t=void 0){if(!Dt(this))throw Mt("enqueue");if(!Ze(this))throw new TypeError("The stream is not in a state that permits enqueue");return $t(this,t)}error(t=void 0){if(!Dt(this))throw Mt("error");_e(this,t)}[or](t){be(this);let r=this._cancelAlgorithm(t);return Lt(this),r}[ar](t){let r=this._controlledReadableStream;if(this._queue.length>0){let n=fr(this);this._closeRequested&&this._queue.length===0?(Lt(this),ht(r)):ft(this),t._chunkSteps(n)}else rn(r,t),ft(this)}};Object.defineProperties(ye.prototype,{close:{enumerable:!0},enqueue:{enumerable:!0},error:{enumerable:!0},desiredSize:{enumerable:!0}}),typeof S.toStringTag=="symbol"&&Object.defineProperty(ye.prototype,S.toStringTag,{value:"ReadableStreamDefaultController",configurable:!0});function Dt(e){return!D(e)||!Object.prototype.hasOwnProperty.call(e,"_controlledReadableStream")?!1:e instanceof ye}function ft(e){if(!Un(e))return;if(e._pulling){e._pullAgain=!0;return}e._pulling=!0;let r=e._pullAlgorithm();Q(r,()=>{e._pulling=!1,e._pullAgain&&(e._pullAgain=!1,ft(e))},n=>{_e(e,n)})}function Un(e){let t=e._controlledReadableStream;return!Ze(e)||!e._started?!1:!!(Se(t)&>(t)>0||Wr(e)>0)}function Lt(e){e._pullAlgorithm=void 0,e._cancelAlgorithm=void 0,e._strategySizeAlgorithm=void 0}function ct(e){if(!Ze(e))return;let t=e._controlledReadableStream;e._closeRequested=!0,e._queue.length===0&&(Lt(e),ht(t))}function $t(e,t){if(!Ze(e))return;let r=e._controlledReadableStream;if(Se(r)&>(r)>0)lr(r,t,!1);else{let n;try{n=e._strategySizeAlgorithm(t)}catch(o){throw _e(e,o),o}try{cr(e,t,n)}catch(o){throw _e(e,o),o}}ft(e)}function _e(e,t){let r=e._controlledReadableStream;r._state==="readable"&&(be(e),Lt(e),Gn(r,t))}function Wr(e){let t=e._controlledReadableStream._state;return t==="errored"?null:t==="closed"?0:e._strategyHWM-e._queueTotalSize}function ba(e){return!Un(e)}function Ze(e){let t=e._controlledReadableStream._state;return!e._closeRequested&&t==="readable"}function xn(e,t,r,n,o,i,s){t._controlledReadableStream=e,t._queue=void 0,t._queueTotalSize=void 0,be(t),t._started=!1,t._closeRequested=!1,t._pullAgain=!1,t._pulling=!1,t._strategySizeAlgorithm=s,t._strategyHWM=i,t._pullAlgorithm=n,t._cancelAlgorithm=o,e._readableStreamController=t;let d=r();Q(w(d),()=>{t._started=!0,ft(t)},p=>{_e(t,p)})}function pa(e,t,r,n){let o=Object.create(ye.prototype),i=()=>{},s=()=>w(void 0),d=()=>w(void 0);t.start!==void 0&&(i=()=>t.start(o)),t.pull!==void 0&&(s=()=>t.pull(o)),t.cancel!==void 0&&(d=p=>t.cancel(p)),xn(e,o,i,s,d,r,n)}function Mt(e){return new TypeError(`ReadableStreamDefaultController.prototype.${e} can only be used on a ReadableStreamDefaultController`)}function ma(e,t){return Be(e._readableStreamController)?_a(e):ya(e)}function ya(e,t){let r=Ye(e),n=!1,o=!1,i=!1,s=!1,d,p,y,m,g,E=j(v=>{g=v});function L(){return n?(o=!0,w(void 0)):(n=!0,at(r,{_chunkSteps:k=>{yt(()=>{o=!1;let A=k,B=k;i||$t(y._readableStreamController,A),s||$t(m._readableStreamController,B),n=!1,o&&L()})},_closeSteps:()=>{n=!1,i||ct(y._readableStreamController),s||ct(m._readableStreamController),(!i||!s)&&g(void 0)},_errorSteps:()=>{n=!1}}),w(void 0))}function K(v){if(i=!0,d=v,s){let k=it([d,p]),A=J(e,k);g(A)}return E}function Z(v){if(s=!0,p=v,i){let k=it([d,p]),A=J(e,k);g(A)}return E}function z(){}return y=kr(z,L,K),m=kr(z,L,Z),er(r._closedPromise,v=>{_e(y._readableStreamController,v),_e(m._readableStreamController,v),(!i||!s)&&g(void 0)}),[y,m]}function _a(e){let t=Ye(e),r=!1,n=!1,o=!1,i=!1,s=!1,d,p,y,m,g,E=j(h=>{g=h});function L(h){er(h._closedPromise,_=>{h===t&&(Y(y._readableStreamController,_),Y(m._readableStreamController,_),(!i||!s)&&g(void 0))})}function K(){Ie(t)&&(ie(t),t=Ye(e),L(t)),at(t,{_chunkSteps:_=>{yt(()=>{n=!1,o=!1;let C=_,I=_;if(!i&&!s)try{I=cn(_)}catch(le){Y(y._readableStreamController,le),Y(m._readableStreamController,le),g(J(e,le));return}i||Pt(y._readableStreamController,C),s||Pt(m._readableStreamController,I),r=!1,n?z():o&&v()})},_closeSteps:()=>{r=!1,i||st(y._readableStreamController),s||st(m._readableStreamController),y._readableStreamController._pendingPullIntos.length>0&&Et(y._readableStreamController,0),m._readableStreamController._pendingPullIntos.length>0&&Et(m._readableStreamController,0),(!i||!s)&&g(void 0)},_errorSteps:()=>{r=!1}})}function Z(h,_){he(t)&&(ie(t),t=Rn(e),L(t));let C=_?m:y,I=_?y:m;Pn(t,h,{_chunkSteps:re=>{yt(()=>{n=!1,o=!1;let de=_?s:i;if(_?i:s)de||vt(C._readableStreamController,re);else{let pt;try{pt=cn(re)}catch(nt){Y(C._readableStreamController,nt),Y(I._readableStreamController,nt),g(J(e,nt));return}de||vt(C._readableStreamController,re),Pt(I._readableStreamController,pt)}r=!1,n?z():o&&v()})},_closeSteps:re=>{r=!1;let de=_?s:i,He=_?i:s;de||st(C._readableStreamController),He||st(I._readableStreamController),re!==void 0&&(de||vt(C._readableStreamController,re),!He&&I._readableStreamController._pendingPullIntos.length>0&&Et(I._readableStreamController,0)),(!de||!He)&&g(void 0)},_errorSteps:()=>{r=!1}})}function z(){if(r)return n=!0,w(void 0);r=!0;let h=mr(y._readableStreamController);return h===null?K():Z(h._view,!1),w(void 0)}function v(){if(r)return o=!0,w(void 0);r=!0;let h=mr(m._readableStreamController);return h===null?K():Z(h._view,!0),w(void 0)}function k(h){if(i=!0,d=h,s){let _=it([d,p]),C=J(e,_);g(C)}return E}function A(h){if(s=!0,p=h,i){let _=it([d,p]),C=J(e,_);g(C)}return E}function B(){}return y=Qn(B,z,k),m=Qn(B,v,A),L(t),[y,m]}function ga(e,t){se(e,t);let r=e,n=r==null?void 0:r.autoAllocateChunkSize,o=r==null?void 0:r.cancel,i=r==null?void 0:r.pull,s=r==null?void 0:r.start,d=r==null?void 0:r.type;return{autoAllocateChunkSize:n===void 0?void 0:tn(n,`${t} has member 'autoAllocateChunkSize' that`),cancel:o===void 0?void 0:Sa(o,r,`${t} has member 'cancel' that`),pull:i===void 0?void 0:wa(i,r,`${t} has member 'pull' that`),start:s===void 0?void 0:Ra(s,r,`${t} has member 'start' that`),type:d===void 0?void 0:Ca(d,`${t} has member 'type' that`)}}function Sa(e,t,r){return G(e,r),n=>qe(e,t,[n])}function wa(e,t,r){return G(e,r),n=>qe(e,t,[n])}function Ra(e,t,r){return G(e,r),n=>_t(e,t,[n])}function Ca(e,t){if(e=`${e}`,e!=="bytes")throw new TypeError(`${t} '${e}' is not a valid enumeration value for ReadableStreamType`);return e}function Ta(e,t){se(e,t);let r=e==null?void 0:e.mode;return{mode:r===void 0?void 0:Pa(r,`${t} has member 'mode' that`)}}function Pa(e,t){if(e=`${e}`,e!=="byob")throw new TypeError(`${t} '${e}' is not a valid enumeration value for ReadableStreamReaderMode`);return e}function Ea(e,t){se(e,t);let r=e==null?void 0:e.preventCancel;return{preventCancel:Boolean(r)}}function Vn(e,t){se(e,t);let r=e==null?void 0:e.preventAbort,n=e==null?void 0:e.preventCancel,o=e==null?void 0:e.preventClose,i=e==null?void 0:e.signal;return i!==void 0&&va(i,`${t} has member 'signal' that`),{preventAbort:Boolean(r),preventCancel:Boolean(n),preventClose:Boolean(o),signal:i}}function va(e,t){if(!Lo(e))throw new TypeError(`${t} is not an AbortSignal.`)}function Aa(e,t){se(e,t);let r=e==null?void 0:e.readable;ir(r,"readable","ReadableWritablePair"),ur(r,`${t} has member 'readable' that`);let n=e==null?void 0:e.writable;return ir(n,"writable","ReadableWritablePair"),En(n,`${t} has member 'writable' that`),{readable:r,writable:n}}var te=class{constructor(t={},r={}){t===void 0?t=null:Xr(t,"First parameter");let n=Wt(r,"Second parameter"),o=ga(t,"First parameter");if(Br(this),o.type==="bytes"){if(n.size!==void 0)throw new RangeError("The strategy for a byte stream cannot have a size function");let i=lt(n,0);Wo(this,o,i)}else{let i=qt(n),s=lt(n,1);pa(this,o,s,i)}}get locked(){if(!ge(this))throw $e("locked");return Se(this)}cancel(t=void 0){return ge(this)?Se(this)?b(new TypeError("Cannot cancel a stream that already has a reader")):J(this,t):b($e("cancel"))}getReader(t=void 0){if(!ge(this))throw $e("getReader");return Ta(t,"First parameter").mode===void 0?Ye(this):Rn(this)}pipeThrough(t,r={}){if(!ge(this))throw $e("pipeThrough");ue(t,1,"pipeThrough");let n=Aa(t,"First parameter"),o=Vn(r,"Second parameter");if(Se(this))throw new TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked ReadableStream");if(Ke(n.writable))throw new TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked WritableStream");let i=Nn(this,n.writable,o.preventClose,o.preventAbort,o.preventCancel,o.signal);return ot(i),n.readable}pipeTo(t,r={}){if(!ge(this))return b($e("pipeTo"));if(t===void 0)return b("Parameter 1 is required in 'pipeTo'.");if(!Je(t))return b(new TypeError("ReadableStream.prototype.pipeTo's first argument must be a WritableStream"));let n;try{n=Vn(r,"Second parameter")}catch(o){return b(o)}return Se(this)?b(new TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked ReadableStream")):Ke(t)?b(new TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked WritableStream")):Nn(this,t,n.preventClose,n.preventAbort,n.preventCancel,n.signal)}tee(){if(!ge(this))throw $e("tee");let t=ma(this);return it(t)}values(t=void 0){if(!ge(this))throw $e("values");let r=Ea(t,"First parameter");return Co(this,r.preventCancel)}};Object.defineProperties(te.prototype,{cancel:{enumerable:!0},getReader:{enumerable:!0},pipeThrough:{enumerable:!0},pipeTo:{enumerable:!0},tee:{enumerable:!0},values:{enumerable:!0},locked:{enumerable:!0}}),typeof S.toStringTag=="symbol"&&Object.defineProperty(te.prototype,S.toStringTag,{value:"ReadableStream",configurable:!0}),typeof S.asyncIterator=="symbol"&&Object.defineProperty(te.prototype,S.asyncIterator,{value:te.prototype.values,writable:!0,configurable:!0});function kr(e,t,r,n=1,o=()=>1){let i=Object.create(te.prototype);Br(i);let s=Object.create(ye.prototype);return xn(i,s,e,t,r,n,o),i}function Qn(e,t,r){let n=Object.create(te.prototype);Br(n);let o=Object.create(pe.prototype);return wn(n,o,e,t,r,0,void 0),n}function Br(e){e._state="readable",e._reader=void 0,e._storedError=void 0,e._disturbed=!1}function ge(e){return!D(e)||!Object.prototype.hasOwnProperty.call(e,"_readableStreamController")?!1:e instanceof te}function Se(e){return e._reader!==void 0}function J(e,t){if(e._disturbed=!0,e._state==="closed")return w(void 0);if(e._state==="errored")return b(e._storedError);ht(e);let r=e._reader;r!==void 0&&Ie(r)&&(r._readIntoRequests.forEach(o=>{o._closeSteps(void 0)}),r._readIntoRequests=new M);let n=e._readableStreamController[or](t);return Ae(n,Kt)}function ht(e){e._state="closed";let t=e._reader;t!==void 0&&(Yr(t),he(t)&&(t._readRequests.forEach(r=>{r._closeSteps()}),t._readRequests=new M))}function Gn(e,t){e._state="errored",e._storedError=t;let r=e._reader;r!==void 0&&(nr(r,t),he(r)?(r._readRequests.forEach(n=>{n._errorSteps(t)}),r._readRequests=new M):(r._readIntoRequests.forEach(n=>{n._errorSteps(t)}),r._readIntoRequests=new M))}function $e(e){return new TypeError(`ReadableStream.prototype.${e} can only be used on a ReadableStream`)}function Yn(e,t){se(e,t);let r=e==null?void 0:e.highWaterMark;return ir(r,"highWaterMark","QueuingStrategyInit"),{highWaterMark:sr(r)}}var Jn=e=>e.byteLength;try{Object.defineProperty(Jn,"name",{value:"size",configurable:!0})}catch{}var Xe=class{constructor(t){ue(t,1,"ByteLengthQueuingStrategy"),t=Yn(t,"First parameter"),this._byteLengthQueuingStrategyHighWaterMark=t.highWaterMark}get highWaterMark(){if(!Zn(this))throw Kn("highWaterMark");return this._byteLengthQueuingStrategyHighWaterMark}get size(){if(!Zn(this))throw Kn("size");return Jn}};Object.defineProperties(Xe.prototype,{highWaterMark:{enumerable:!0},size:{enumerable:!0}}),typeof S.toStringTag=="symbol"&&Object.defineProperty(Xe.prototype,S.toStringTag,{value:"ByteLengthQueuingStrategy",configurable:!0});function Kn(e){return new TypeError(`ByteLengthQueuingStrategy.prototype.${e} can only be used on a ByteLengthQueuingStrategy`)}function Zn(e){return!D(e)||!Object.prototype.hasOwnProperty.call(e,"_byteLengthQueuingStrategyHighWaterMark")?!1:e instanceof Xe}var Xn=()=>1;try{Object.defineProperty(Xn,"name",{value:"size",configurable:!0})}catch{}var et=class{constructor(t){ue(t,1,"CountQueuingStrategy"),t=Yn(t,"First parameter"),this._countQueuingStrategyHighWaterMark=t.highWaterMark}get highWaterMark(){if(!to(this))throw eo("highWaterMark");return this._countQueuingStrategyHighWaterMark}get size(){if(!to(this))throw eo("size");return Xn}};Object.defineProperties(et.prototype,{highWaterMark:{enumerable:!0},size:{enumerable:!0}}),typeof S.toStringTag=="symbol"&&Object.defineProperty(et.prototype,S.toStringTag,{value:"CountQueuingStrategy",configurable:!0});function eo(e){return new TypeError(`CountQueuingStrategy.prototype.${e} can only be used on a CountQueuingStrategy`)}function to(e){return!D(e)||!Object.prototype.hasOwnProperty.call(e,"_countQueuingStrategyHighWaterMark")?!1:e instanceof et}function qa(e,t){se(e,t);let r=e==null?void 0:e.flush,n=e==null?void 0:e.readableType,o=e==null?void 0:e.start,i=e==null?void 0:e.transform,s=e==null?void 0:e.writableType;return{flush:r===void 0?void 0:Wa(r,e,`${t} has member 'flush' that`),readableType:n,start:o===void 0?void 0:ka(o,e,`${t} has member 'start' that`),transform:i===void 0?void 0:Ba(i,e,`${t} has member 'transform' that`),writableType:s}}function Wa(e,t,r){return G(e,r),n=>qe(e,t,[n])}function ka(e,t,r){return G(e,r),n=>_t(e,t,[n])}function Ba(e,t,r){return G(e,r),(n,o)=>qe(e,t,[n,o])}var tt=class{constructor(t={},r={},n={}){t===void 0&&(t=null);let o=Wt(r,"Second parameter"),i=Wt(n,"Third parameter"),s=qa(t,"First parameter");if(s.readableType!==void 0)throw new RangeError("Invalid readableType specified");if(s.writableType!==void 0)throw new RangeError("Invalid writableType specified");let d=lt(i,0),p=qt(i),y=lt(o,1),m=qt(o),g,E=j(L=>{g=L});Oa(this,E,y,m,d,p),Ia(this,s),s.start!==void 0?g(s.start(this._transformStreamController)):g(void 0)}get readable(){if(!ro(this))throw io("readable");return this._readable}get writable(){if(!ro(this))throw io("writable");return this._writable}};Object.defineProperties(tt.prototype,{readable:{enumerable:!0},writable:{enumerable:!0}}),typeof S.toStringTag=="symbol"&&Object.defineProperty(tt.prototype,S.toStringTag,{value:"TransformStream",configurable:!0});function Oa(e,t,r,n,o,i){function s(){return t}function d(E){return Da(e,E)}function p(E){return La(e,E)}function y(){return $a(e)}e._writable=Ho(s,d,y,p,r,n);function m(){return Ma(e)}function g(E){return Nt(e,E),w(void 0)}e._readable=kr(s,m,g,o,i),e._backpressure=void 0,e._backpressureChangePromise=void 0,e._backpressureChangePromise_resolve=void 0,Ut(e,!0),e._transformStreamController=void 0}function ro(e){return!D(e)||!Object.prototype.hasOwnProperty.call(e,"_transformStreamController")?!1:e instanceof tt}function Ht(e,t){_e(e._readable._readableStreamController,t),Nt(e,t)}function Nt(e,t){no(e._transformStreamController),Tr(e._writable._writableStreamController,t),e._backpressure&&Ut(e,!1)}function Ut(e,t){e._backpressureChangePromise!==void 0&&e._backpressureChangePromise_resolve(),e._backpressureChangePromise=j(r=>{e._backpressureChangePromise_resolve=r}),e._backpressure=t}var Me=class{constructor(){throw new TypeError("Illegal constructor")}get desiredSize(){if(!xt(this))throw Vt("desiredSize");let t=this._controlledTransformStream._readable._readableStreamController;return Wr(t)}enqueue(t=void 0){if(!xt(this))throw Vt("enqueue");oo(this,t)}error(t=void 0){if(!xt(this))throw Vt("error");za(this,t)}terminate(){if(!xt(this))throw Vt("terminate");Fa(this)}};Object.defineProperties(Me.prototype,{enqueue:{enumerable:!0},error:{enumerable:!0},terminate:{enumerable:!0},desiredSize:{enumerable:!0}}),typeof S.toStringTag=="symbol"&&Object.defineProperty(Me.prototype,S.toStringTag,{value:"TransformStreamDefaultController",configurable:!0});function xt(e){return!D(e)||!Object.prototype.hasOwnProperty.call(e,"_controlledTransformStream")?!1:e instanceof Me}function ja(e,t,r,n){t._controlledTransformStream=e,e._transformStreamController=t,t._transformAlgorithm=r,t._flushAlgorithm=n}function Ia(e,t){let r=Object.create(Me.prototype),n=i=>{try{return oo(r,i),w(void 0)}catch(s){return b(s)}},o=()=>w(void 0);t.transform!==void 0&&(n=i=>t.transform(i,r)),t.flush!==void 0&&(o=()=>t.flush(r)),ja(e,r,n,o)}function no(e){e._transformAlgorithm=void 0,e._flushAlgorithm=void 0}function oo(e,t){let r=e._controlledTransformStream,n=r._readable._readableStreamController;if(!Ze(n))throw new TypeError("Readable side is not in a state that permits enqueue");try{$t(n,t)}catch(i){throw Nt(r,i),r._readable._storedError}ba(n)!==r._backpressure&&Ut(r,!0)}function za(e,t){Ht(e._controlledTransformStream,t)}function ao(e,t){let r=e._transformAlgorithm(t);return Ae(r,void 0,n=>{throw Ht(e._controlledTransformStream,n),n})}function Fa(e){let t=e._controlledTransformStream,r=t._readable._readableStreamController;ct(r);let n=new TypeError("TransformStream terminated");Nt(t,n)}function Da(e,t){let r=e._transformStreamController;if(e._backpressure){let n=e._backpressureChangePromise;return Ae(n,()=>{let o=e._writable;if(o._state==="erroring")throw o._storedError;return ao(r,t)})}return ao(r,t)}function La(e,t){return Ht(e,t),w(void 0)}function $a(e){let t=e._readable,r=e._transformStreamController,n=r._flushAlgorithm();return no(r),Ae(n,()=>{if(t._state==="errored")throw t._storedError;ct(t._readableStreamController)},o=>{throw Ht(e,o),t._storedError})}function Ma(e){return Ut(e,!1),e._backpressureChangePromise}function Vt(e){return new TypeError(`TransformStreamDefaultController.prototype.${e} can only be used on a TransformStreamDefaultController`)}function io(e){return new TypeError(`TransformStream.prototype.${e} can only be used on a TransformStream`)}var Or={ReadableStream:te,ReadableStreamDefaultController:ye,ReadableByteStreamController:pe,ReadableStreamBYOBRequest:ke,ReadableStreamDefaultReader:We,ReadableStreamBYOBReader:je,WritableStream:ze,WritableStreamDefaultController:me,WritableStreamDefaultWriter:Fe,ByteLengthQueuingStrategy:Xe,CountQueuingStrategy:et,TransformStream:tt,TransformStreamDefaultController:Me};if(typeof globalThis!="undefined")for(let e in Or)Object.prototype.hasOwnProperty.call(Or,e)&&Object.defineProperty(globalThis,e,{value:Or[e],writable:!0,configurable:!0});var X,H,Ne,Ue,N,F,ne,we,Re,Qt,q,Ce,xe,Fr,$,Te,Pe,Ve,Dr,bt,jr=Java.type("java.net.URI"),Ha=Java.type("java.net.http.HttpClient"),Na=Java.type("java.net.http.HttpClient.Redirect"),Ua=Java.type("java.net.http.HttpRequest"),ei=Java.type("java.net.http.HttpResponse"),Ir=Java.type("java.net.http.HttpRequest.BodyPublishers"),xa=Java.type("java.net.http.HttpResponse.BodyHandlers"),Va=Java.type("java.net.ConnectException"),so=Java.type("java.lang.String"),Qa=Java.type("java.nio.ByteBuffer"),Ga=Java.type("java.util.Base64"),Ya=Java.type("java.nio.charset.StandardCharsets"),rt=new Set;rt.add(":authority"),rt.add(":method"),rt.add(":path"),rt.add(":scheme"),rt.add(":status");var Lr=class{constructor(){W(this,bt,void 0)}},zr=Lr;bt=new WeakMap,(()=>{function t(u){try{let a=new jr(u);if(!a.isAbsolute())throw new TypeError("URI is not absolute");if(a.getUserInfo()!=null)throw new TypeError(`${u} is an url with embedded credentials`);return a}catch(a){throw new TypeError("Invalid URL: "+a.message)}}function r(u){let a=/^[\^_`a-zA-Z\-0-9!#$%&'*+.|~]+$/;if(!rt.has(u)&&!a.test(u))throw new TypeError(`Header name must be a valid HTTP token: [${u}]`);return u}function n(u,a){if(/[^\t\x20-\x7e\x80-\xff]/.exec(a)!==null)throw new TypeError(`Invalid character in header field [${u}: ${a}]`);return a}function o(u){return u.trim()}function i(u){Object.defineProperty(u.prototype,Symbol.toStringTag,{value:u.name,configurable:!0,writable:!0,enumerable:!1})}class s extends Lr{constructor(a){super();P(this,bt,a)}}let Gt=class{constructor(a,{type:l}={}){W(this,X,0);W(this,H,void 0);W(this,Ne,void 0);W(this,Ue,void 0);W(this,N,void 0);if(a instanceof Gt)P(this,X,f(a,X)),P(this,H,f(a,H)),P(this,N,f(a,N));else if(a instanceof s){let c=f(a,bt);P(this,X,c.length),P(this,H,c),P(this,N,String(l??"text/plain;charset=utf-8"))}else if(typeof a=="string")P(this,X,a.length),P(this,Ne,a),P(this,N,String(l??"text/plain;charset=utf-8"));else if(a instanceof ArrayBuffer)P(this,X,a.byteLength),P(this,Ue,a),P(this,N,String(l??"text/plain;charset=utf-8"));else if(a==null)P(this,X,0),P(this,N,String(l??""));else throw new TypeError("Unsupported array type")}get size(){return f(this,X)}get type(){return f(this,N)}async arrayBuffer(){if(this.size===0)return new ArrayBuffer(0);if(f(this,Ue)!=null)return f(this,Ue);if(f(this,H)!=null)return new ArrayBuffer(Qa.wrap(f(this,H)));throw new TypeError("Unsupported body type")}async text(){if(this.size===0)return"";if(f(this,Ne)!=null)return f(this,Ne);if(f(this,H)!=null){let a=/\bcharset=([\w-]+)\b/.exec(f(this,N))?.[1];if(a)try{return String(new so(f(this,H),a))}catch{}return String(new so(f(this,H),Ya.UTF_8))}else throw new TypeError("Unsupported body type")}},d=Gt;X=new WeakMap,H=new WeakMap,Ne=new WeakMap,Ue=new WeakMap,N=new WeakMap,i(d);function p(u){return u instanceof d?u:new d(u)}function y(u,a){if(a instanceof m)a=a.entries();else if(Array.isArray(a))a=a;else if(typeof a=="object"&&a!==null)a=a[Symbol.iterator]?.()??Object.entries(a);else throw new TypeError("Failed to construct 'Headers': The provided value has incorrect type");for(let[l,c]of a)u.append(l,c)}class m{constructor(a={}){W(this,Re);W(this,F,new Map);W(this,ne,!1);W(this,we,"");y(this,a)}append(a,l){a=String(a),l=String(l),r(a),n(a,l);let c=a.toLowerCase(),R=o(String(l)),T=f(this,F).get(c);T===void 0&&(T=[],f(this,F).set(c,T),P(this,ne,f(this,ne)||ca599)throw new RangeError('init["status"] must be in the range of 200 to 599, inclusive.');return u}let z,Yt=class{constructor(a,l={}){W(this,xe);W(this,q,void 0);W(this,Ce,!1);let c,R,T;typeof a=="object"&&Nr(q,a)?(c=f(a,q).url,R=f(a,q).uri,T=f(a,q),K(l)):(c=String(a),K(l),R=t(c)),P(this,q,E(l,R,c,T))}get url(){return f(this,q).url}get method(){return f(this,q).method}get referrer(){let a=f(this,q).referrer;return a=="no-referrer"?"":a=="client"?"about:client":a}get referrerPolicy(){return f(this,q).referrerPolicy}get redirect(){return f(this,q).redirect}get headers(){return f(this,q).headers}get body(){return f(this,q).body}get bodyUsed(){return f(this,Ce)}get uri(){return f(this,q).uri}clone(){if(f(this,Ce))throw new TypeError("Body has already been consumed");return new Yt(this)}async text(){let a=V(this,xe,Fr).call(this);return await p(a).text()}async json(){return JSON.parse(await this.text())}async arrayBuffer(){let a=V(this,xe,Fr).call(this);return await p(a).arrayBuffer()}async blob(){let a=V(this,xe,Fr).call(this);return p(a)}},v=Yt;q=new WeakMap,Ce=new WeakMap,xe=new WeakSet,Fr=function(){if(f(this,Ce))throw new TypeError("Body already used");return P(this,Ce,!0),f(this,q).body},(()=>{z=a=>f(a,q)})(),i(v);function k(u){return{type:String(u.type??"default"),status:Z(u.status??200),statusText:String(u.statusText??""),url:String(u.url??""),headers:new m(u.headers),redirectCount:(u.redirectCount??0)|0}}let Qe=class{constructor(a=null,l={}){W(this,Ve);W(this,$,void 0);W(this,Te,void 0);W(this,Pe,!1);L(a),K(l),P(this,Te,a),P(this,$,k(l))}static error(){return new Qe(null,{type:"error",status:0,statusText:""})}static json(a,l={}){a=JSON.stringify(a);let c=new m({"Content-Type":"application/json"});return l.headers!=null&&y(c,l.headers),new Qe(a,{...l,headers:c})}static redirect(a,l){if(a=String(a),l=l|0,t(a),!Mr(l))throw new RangeError(`Invalid status code ${l}`);return new Qe(null,{status:l,statusText:Hr(l),headers:{Location:a}})}get url(){return f(this,$).url}get type(){return f(this,$).type}get status(){return f(this,$).status}get statusText(){return f(this,$).statusText}get ok(){let a=f(this,$).status;return 200<=a&&a<=206}get headers(){return f(this,$).headers}get redirected(){return f(this,$).redirectCount>0}get body(){return f(this,Te)}get bodyUsed(){return f(this,Pe)}clone(){if(f(this,Pe))throw new TypeError("Body has already been consumed");let a=new Qe(f(this,Te));return P(a,$,k(f(this,$))),a}async text(){let a=V(this,Ve,Dr).call(this);return await p(a).text()}async json(){return JSON.parse(await this.text())}async arrayBuffer(){let a=V(this,Ve,Dr).call(this);return await p(a).arrayBuffer()}async blob(){let a=V(this,Ve,Dr).call(this);return p(a)}},A=Qe;$=new WeakMap,Te=new WeakMap,Pe=new WeakMap,Ve=new WeakSet,Dr=function(){if(f(this,Pe))throw new TypeError("Body already used");return P(this,Pe,!0),f(this,Te)},i(A);function B(u,a){let l=new TypeError(u);return a&&(l.code=a),l}let h=["authorization","www-authenticate","cookie","cookie2"],_=["content-length","content-type","content-location","content-language","content-encoding"],C=["","no-referrer","no-referrer-when-downgrade","same-origin","origin","strict-origin","origin-when-cross-origin","strict-origin-when-cross-origin","unsafe-url"],I=301,le=302,re=303;async function de(u,a={}){let l=new v(u,a),R=z(l).uri.getScheme();switch(R){case"http":case"https":return await $r(l);case"data":return await He(l);default:throw new TypeError("fetch cannot load "+l.url+". Scheme not supported: "+R)}}async function He(u){let a=z(u),l=a.uri;if(a.uri.getScheme()!=="data")return null;l.getFragment()!=null&&(l=new jr(l.getScheme(),l.getSchemeSpecificPart(),null));let c=l.toString();c=c.substring(5);let R=c.indexOf(","),T=c.substring(0,R);T=T.trim();let fe=c.substring(R+1),oe,U=/;\u0020*base64$/i.exec(T);if(U!=null){let Ee=Ga.getDecoder().decode(fe.trim());oe=new d(new s(Ee)),T=T.slice(0,-U[0].length)}else oe=decodeURI(fe);return T.startsWith(";")&&(T="text/plain"+T),T===""&&(T="text/plain;charset=US-ASCII"),new A(oe,{status:200,statusText:"OK",url:u.url,headers:{"Content-Type":T}})}function pt(u){return u instanceof ArrayBuffer?!0:!!ArrayBuffer.isView(u)}function nt(u){if(u instanceof ArrayBuffer)return new Int8Array(u);if(ArrayBuffer.isView(u))return u instanceof Int8Array?u:new Int8Array(u.buffer.slice(u.byteOffset,u.byteOffset+u.byteLength));throw new TypeError}async function $r(u){let a=z(u),l=Ha.newBuilder().followRedirects(Na.NEVER).build(),c=Ua.newBuilder(u.uri),R,T=u.body;T==null?R=Ir.noBody():pt(T)?R=Ir.ofByteArray(nt(T)):(R=Ir.ofString(String(T)),c.setHeader("Content-Type","text/plain;charset=UTF-8")),c.method(u.method,R),c.setHeader("Accept","*/*"),c.setHeader("Accept-Encoding",""),c.setHeader("User-Agent",`${navigator.userAgent}/graaljs-fetch/Node.js`),a.referrer!=="client"&&c.setHeader("Referer",a.referrer);let fe;for(let[O,ve]of u.headers.entries())O!==fe?c.setHeader(O,ve):c.header(O,ve),fe=O;let oe=c.build(),U;try{U=l.send(oe,xa.ofByteArray())}catch(O){throw O instanceof Va?new B("Connection refused","ECONNREFUSED"):new TypeError(O.message)}let x=U.statusCode();if(Mr(x))switch(u.redirect){case"manual":break;case"error":throw new B("uri requested responds with a redirect, redirect mode is set to error","no-redirect");case"follow":{let O=null,ve=U.headers().firstValue("Location");try{if(ve.isPresent()){let ce=new jr(a.url),co=ve.get();O=ce.resolve(co)}}catch{throw new B("invalid url in location header","unsupported-redirect")}if(O==null)break;if(a.redirectCount>=Math.min(20,a.follow))throw new B("maximum redirect reached at: "+u.url,"max-redirect");if(a.redirectCount++,(!uo(O,a.uri)||!lo(O,a.uri))&&h.forEach(ce=>{u.headers.delete(ce)}),x!==re&&a.body!=null)throw new B("Cannot follow redirect with body","unsupported-redirect");(x===re||(x===I||x===le)&&u.method==="POST")&&(a.method="GET",a.body=null,_.forEach(ce=>{u.headers.delete(ce)})),a.uri=O,a.url=O.toString();let mt=U.headers().allValues("referrer-policy");return mt.length>0&&mt.forEach(ce=>{C.includes(ce)&&(a.referrerPolicy=ce)}),await $r(u)}default:throw new B(`Redirect option ${u.redirect} is not a valid value of RequestRedirect`)}let Ee=new m;for(let[O,ve]of new Map(U.headers().map()))for(let mt of ve)Ee.append(O,mt);let fo=new d(new s(U.body()),{type:Ee.get("content-type")});return new A(fo,{status:x,headers:Ee,url:u.url,statusText:Hr(x),redirectCount:a.redirectCount})}function uo(u,a){return u.getHost()===a.getHost()||a.getHost().endsWith("."+u.getHost())}function lo(u,a){return u.getScheme()===a.getScheme()}function Mr(u){switch(u){case 301:case 302:case 303:case 307:case 308:return!0;default:return!1}}function Hr(u){switch(u){case 200:return"OK";case 201:return"Created";case 202:return"Accepted";case 203:return"Non-Authoritative Information";case 204:return"No Content";case 205:return"Reset Content";case 206:return"Partial Content";case 300:return"Multiple Choices";case 301:return"Moved Permanently";case 302:return"Found";case 303:return"See Other";case 304:return"Not Modified";case 305:return"Use Proxy";case 306:return"Switch Proxy";case 307:return"Temporary Redirect";case 308:return"Permanent Redirect";case 400:return"Bad Request";case 401:return"Unauthorized";case 402:return"Payment Required";case 403:return"Forbidden";case 404:return"Not Found";case 405:return"Method Not Allowed";case 406:return"Not Acceptable";case 407:return"Proxy Authentication Required";case 408:return"Request Timeout";case 409:return"Conflict";case 410:return"Gone";case 411:return"Length Required";case 412:return"Precondition Failed";case 413:return"Payload Too Large";case 414:return"URI Too Long";case 415:return"Unsupported Media Type";case 416:return"Range Not Satisfiable";case 417:return"Expectation Failed";case 418:return"I'm a teapot";case 500:return"Internal Server Error";case 501:return"Not Implemented";case 502:return"Bad Gateway";case 503:return"Service Unavailable";case 504:return"Gateway Timeout";case 505:return"HTTP Version Not Supported";default:return""}}Object.entries({fetch:de,Headers:m,Request:v,Response:A}).forEach(u=>{let[a,l]=u;Object.defineProperty(globalThis,a,{value:l,configurable:!0,writable:!0,enumerable:!1})})})(),globalThis.Fetch=zr;})(); diff --git a/packages/graalvm/src/main/kotlin/elide/runtime/feature/js/FetchFeature.kt b/packages/graalvm/src/main/kotlin/elide/runtime/feature/js/FetchFeature.kt new file mode 100644 index 000000000..cc23042ae --- /dev/null +++ b/packages/graalvm/src/main/kotlin/elide/runtime/feature/js/FetchFeature.kt @@ -0,0 +1,54 @@ +/* + * Copyright (c) 2024-2025 Elide Technologies, Inc. + * + * Licensed under the MIT license (the "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * https://opensource.org/license/mit/ + * + * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on + * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under the License. + */ +@file:Suppress("unused") + +package elide.runtime.feature.js + +import org.graalvm.nativeimage.hosted.Feature +import org.graalvm.nativeimage.hosted.RuntimeReflection +import elide.annotations.engine.VMFeature +import elide.runtime.feature.FrameworkFeature + +@VMFeature internal class FetchFeature: FrameworkFeature { + override fun getDescription(): String = "Sets up reflective types for Fetch API support" + + override fun getRequiredFeatures(): List?> = listOf( + JavaScriptFeature::class.java, + ) + + private fun allFetchReflectiveTypes(): List> = listOf( + java.lang.AutoCloseable::class.java, + java.lang.Comparable::class.java, + java.nio.charset.StandardCharsets::class.java, + java.util.Base64::class.java, + java.net.URI::class.java, + java.net.http.HttpClient::class.java, + java.net.http.HttpClient.Redirect::class.java, + java.net.http.HttpRequest::class.java, + java.net.http.HttpRequest.BodyPublishers::class.java, + java.net.http.HttpResponse::class.java, + java.net.http.HttpResponse.BodyHandlers::class.java, + java.net.ConnectException::class.java, + ) + + override fun beforeAnalysis(access: Feature.BeforeAnalysisAccess?) { + allFetchReflectiveTypes().forEach { + RuntimeReflection.register(it) + RuntimeReflection.registerAllClasses(it) + RuntimeReflection.registerAllConstructors(it) + RuntimeReflection.registerAllMethods(it) + RuntimeReflection.registerAllFields(it) + } + super.beforeAnalysis(access) + } +} diff --git a/packages/graalvm/src/main/kotlin/elide/runtime/feature/js/JavaScriptFeature.kt b/packages/graalvm/src/main/kotlin/elide/runtime/feature/js/JavaScriptFeature.kt index a29ec0d0c..730fb9f17 100644 --- a/packages/graalvm/src/main/kotlin/elide/runtime/feature/js/JavaScriptFeature.kt +++ b/packages/graalvm/src/main/kotlin/elide/runtime/feature/js/JavaScriptFeature.kt @@ -78,6 +78,7 @@ import elide.runtime.plugins.js.JavaScript @OptIn(DelicateElideApi::class) override fun beforeAnalysis(access: BeforeAnalysisAccess) { super.beforeAnalysis(access) + PolyglotEngine { install(JavaScript) } diff --git a/packages/graalvm/src/main/kotlin/elide/runtime/plugins/js/JavaScript.kt b/packages/graalvm/src/main/kotlin/elide/runtime/plugins/js/JavaScript.kt index 07226cd67..4f1f0d1e3 100644 --- a/packages/graalvm/src/main/kotlin/elide/runtime/plugins/js/JavaScript.kt +++ b/packages/graalvm/src/main/kotlin/elide/runtime/plugins/js/JavaScript.kt @@ -44,7 +44,7 @@ import elide.runtime.plugins.js.JavaScriptVersion.* // run embedded initialization code if (!config.labsConfig.disablePolyfills) { - initializeEmbeddedScripts(context, resources) + executePreambleScripts(context, resources, javascriptPreamble) } } @@ -160,6 +160,11 @@ import elide.runtime.plugins.js.JavaScriptVersion.* override val languageId: String = JS_LANGUAGE_ID override val key: Key = Key(JS_PLUGIN_ID) + @JvmStatic private val javascriptPreamble = initializePreambleScripts( + JS_LANGUAGE_ID, + "polyfills.js", + ) + override fun install(scope: InstallationScope, configuration: JavaScriptConfig.() -> Unit): JavaScript { JavaScriptLang.initialize() configureLanguageSupport(scope) diff --git a/packages/graalvm/src/main/resources/META-INF/native-image/dev.elide/graalvm/native-image.properties b/packages/graalvm/src/main/resources/META-INF/native-image/dev.elide/graalvm/native-image.properties index 76e7f7b7b..03af0ac6a 100644 --- a/packages/graalvm/src/main/resources/META-INF/native-image/dev.elide/graalvm/native-image.properties +++ b/packages/graalvm/src/main/resources/META-INF/native-image/dev.elide/graalvm/native-image.properties @@ -13,6 +13,7 @@ Args = --features=elide.runtime.feature.VirtualFilesystem \ --features=elide.runtime.feature.js.JavaScriptFeature \ + --features=elide.runtime.feature.js.FetchFeature \ --features=elide.runtime.feature.js.node.NodeJsFeature \ --features=elide.runtime.feature.wasm.WebAssemblyFeature \ -R:StackSize=2000000 diff --git a/creative/artwork/astronaut-banner-linkedin.psd b/project/creative/artwork/astronaut-banner-linkedin.psd similarity index 100% rename from creative/artwork/astronaut-banner-linkedin.psd rename to project/creative/artwork/astronaut-banner-linkedin.psd diff --git a/creative/artwork/astronaut-banner.psd b/project/creative/artwork/astronaut-banner.psd similarity index 100% rename from creative/artwork/astronaut-banner.psd rename to project/creative/artwork/astronaut-banner.psd diff --git a/creative/artwork/astronaut-large.png b/project/creative/artwork/astronaut-large.png similarity index 100% rename from creative/artwork/astronaut-large.png rename to project/creative/artwork/astronaut-large.png diff --git a/creative/artwork/astronaut-mast.psd b/project/creative/artwork/astronaut-mast.psd similarity index 100% rename from creative/artwork/astronaut-mast.psd rename to project/creative/artwork/astronaut-mast.psd diff --git a/creative/logo-wide.psd b/project/creative/logo-wide.psd similarity index 100% rename from creative/logo-wide.psd rename to project/creative/logo-wide.psd diff --git a/creative/logo/gray-elide-symbol-lg.png b/project/creative/logo/gray-elide-symbol-lg.png similarity index 100% rename from creative/logo/gray-elide-symbol-lg.png rename to project/creative/logo/gray-elide-symbol-lg.png diff --git a/creative/logo/logo-v1-d-1200.png b/project/creative/logo/logo-v1-d-1200.png similarity index 100% rename from creative/logo/logo-v1-d-1200.png rename to project/creative/logo/logo-v1-d-1200.png diff --git a/creative/logo/logo-v1-w-1024.png b/project/creative/logo/logo-v1-w-1024.png similarity index 100% rename from creative/logo/logo-v1-w-1024.png rename to project/creative/logo/logo-v1-w-1024.png diff --git a/creative/logo/logo-v1-w-400.png b/project/creative/logo/logo-v1-w-400.png similarity index 100% rename from creative/logo/logo-v1-w-400.png rename to project/creative/logo/logo-v1-w-400.png diff --git a/creative/logo/logo-v1-w-800.png b/project/creative/logo/logo-v1-w-800.png similarity index 100% rename from creative/logo/logo-v1-w-800.png rename to project/creative/logo/logo-v1-w-800.png diff --git a/creative/logo/logo-v1-w.png b/project/creative/logo/logo-v1-w.png similarity index 100% rename from creative/logo/logo-v1-w.png rename to project/creative/logo/logo-v1-w.png diff --git a/creative/logo/logo-wide-1200-tx.png b/project/creative/logo/logo-wide-1200-tx.png similarity index 100% rename from creative/logo/logo-wide-1200-tx.png rename to project/creative/logo/logo-wide-1200-tx.png diff --git a/creative/logo/logo-wide-1200-w-r2.png b/project/creative/logo/logo-wide-1200-w-r2.png similarity index 100% rename from creative/logo/logo-wide-1200-w-r2.png rename to project/creative/logo/logo-wide-1200-w-r2.png diff --git a/creative/logo/logo-wide-1200-w.png b/project/creative/logo/logo-wide-1200-w.png similarity index 100% rename from creative/logo/logo-wide-1200-w.png rename to project/creative/logo/logo-wide-1200-w.png diff --git a/creative/logo/mark-sq-dark/mark-sq-dark-1024p.png b/project/creative/logo/mark-sq-dark/mark-sq-dark-1024p.png similarity index 100% rename from creative/logo/mark-sq-dark/mark-sq-dark-1024p.png rename to project/creative/logo/mark-sq-dark/mark-sq-dark-1024p.png diff --git a/creative/logo/mark-sq-dark/mark-sq-dark-2048p.png b/project/creative/logo/mark-sq-dark/mark-sq-dark-2048p.png similarity index 100% rename from creative/logo/mark-sq-dark/mark-sq-dark-2048p.png rename to project/creative/logo/mark-sq-dark/mark-sq-dark-2048p.png diff --git a/creative/logo/mark-sq-dark/mark-sq-dark.jpg b/project/creative/logo/mark-sq-dark/mark-sq-dark.jpg similarity index 100% rename from creative/logo/mark-sq-dark/mark-sq-dark.jpg rename to project/creative/logo/mark-sq-dark/mark-sq-dark.jpg diff --git a/creative/logo/mark-sq-dark/mark-sq-dark.pdf b/project/creative/logo/mark-sq-dark/mark-sq-dark.pdf similarity index 100% rename from creative/logo/mark-sq-dark/mark-sq-dark.pdf rename to project/creative/logo/mark-sq-dark/mark-sq-dark.pdf diff --git a/creative/logo/mark-sq-dark/mark-sq-dark.png b/project/creative/logo/mark-sq-dark/mark-sq-dark.png similarity index 100% rename from creative/logo/mark-sq-dark/mark-sq-dark.png rename to project/creative/logo/mark-sq-dark/mark-sq-dark.png diff --git a/creative/logo/mark-sq-dark/mark-sq-dark.svg b/project/creative/logo/mark-sq-dark/mark-sq-dark.svg similarity index 100% rename from creative/logo/mark-sq-dark/mark-sq-dark.svg rename to project/creative/logo/mark-sq-dark/mark-sq-dark.svg diff --git a/creative/logo/mark-sq-dark/mark-sq-dark@2x.jpg b/project/creative/logo/mark-sq-dark/mark-sq-dark@2x.jpg similarity index 100% rename from creative/logo/mark-sq-dark/mark-sq-dark@2x.jpg rename to project/creative/logo/mark-sq-dark/mark-sq-dark@2x.jpg diff --git a/creative/logo/mark-sq-dark/mark-sq-dark@2x.png b/project/creative/logo/mark-sq-dark/mark-sq-dark@2x.png similarity index 100% rename from creative/logo/mark-sq-dark/mark-sq-dark@2x.png rename to project/creative/logo/mark-sq-dark/mark-sq-dark@2x.png diff --git a/creative/logo/mark-sq-dark/mark-sq-dark@3x.jpg b/project/creative/logo/mark-sq-dark/mark-sq-dark@3x.jpg similarity index 100% rename from creative/logo/mark-sq-dark/mark-sq-dark@3x.jpg rename to project/creative/logo/mark-sq-dark/mark-sq-dark@3x.jpg diff --git a/creative/logo/mark-sq-dark/mark-sq-dark@3x.png b/project/creative/logo/mark-sq-dark/mark-sq-dark@3x.png similarity index 100% rename from creative/logo/mark-sq-dark/mark-sq-dark@3x.png rename to project/creative/logo/mark-sq-dark/mark-sq-dark@3x.png diff --git a/creative/logo/mark-sq-dark/mark-sq-dark@4x.jpg b/project/creative/logo/mark-sq-dark/mark-sq-dark@4x.jpg similarity index 100% rename from creative/logo/mark-sq-dark/mark-sq-dark@4x.jpg rename to project/creative/logo/mark-sq-dark/mark-sq-dark@4x.jpg diff --git a/creative/logo/mark-sq-dark/mark-sq-dark@4x.png b/project/creative/logo/mark-sq-dark/mark-sq-dark@4x.png similarity index 100% rename from creative/logo/mark-sq-dark/mark-sq-dark@4x.png rename to project/creative/logo/mark-sq-dark/mark-sq-dark@4x.png diff --git a/creative/logo/mark-sq-gray/mark-sq-gray.png b/project/creative/logo/mark-sq-gray/mark-sq-gray.png similarity index 100% rename from creative/logo/mark-sq-gray/mark-sq-gray.png rename to project/creative/logo/mark-sq-gray/mark-sq-gray.png diff --git a/creative/logo/mark-sq-gray/mark-sq-gray.svg b/project/creative/logo/mark-sq-gray/mark-sq-gray.svg similarity index 100% rename from creative/logo/mark-sq-gray/mark-sq-gray.svg rename to project/creative/logo/mark-sq-gray/mark-sq-gray.svg diff --git a/creative/logo/mark-sq-gray/mark-sq-gray@2x.png b/project/creative/logo/mark-sq-gray/mark-sq-gray@2x.png similarity index 100% rename from creative/logo/mark-sq-gray/mark-sq-gray@2x.png rename to project/creative/logo/mark-sq-gray/mark-sq-gray@2x.png diff --git a/creative/logo/mark-sq-gray/mark-sq-gray@3x.png b/project/creative/logo/mark-sq-gray/mark-sq-gray@3x.png similarity index 100% rename from creative/logo/mark-sq-gray/mark-sq-gray@3x.png rename to project/creative/logo/mark-sq-gray/mark-sq-gray@3x.png diff --git a/creative/logo/mark-sq-gray/mark-sq-gray@4x.png b/project/creative/logo/mark-sq-gray/mark-sq-gray@4x.png similarity index 100% rename from creative/logo/mark-sq-gray/mark-sq-gray@4x.png rename to project/creative/logo/mark-sq-gray/mark-sq-gray@4x.png diff --git a/creative/logo/mark-sq/pad/mark-e-pad.pdf b/project/creative/logo/mark-sq/pad/mark-e-pad.pdf similarity index 100% rename from creative/logo/mark-sq/pad/mark-e-pad.pdf rename to project/creative/logo/mark-sq/pad/mark-e-pad.pdf diff --git a/creative/logo/mark-sq/pad/mark-e-pad.svg b/project/creative/logo/mark-sq/pad/mark-e-pad.svg similarity index 100% rename from creative/logo/mark-sq/pad/mark-e-pad.svg rename to project/creative/logo/mark-sq/pad/mark-e-pad.svg diff --git a/creative/logo/mark-sq/pad/mark-e-pad@1x.jpg b/project/creative/logo/mark-sq/pad/mark-e-pad@1x.jpg similarity index 100% rename from creative/logo/mark-sq/pad/mark-e-pad@1x.jpg rename to project/creative/logo/mark-sq/pad/mark-e-pad@1x.jpg diff --git a/creative/logo/mark-sq/pad/mark-e-pad@1x.png b/project/creative/logo/mark-sq/pad/mark-e-pad@1x.png similarity index 100% rename from creative/logo/mark-sq/pad/mark-e-pad@1x.png rename to project/creative/logo/mark-sq/pad/mark-e-pad@1x.png diff --git a/creative/logo/mark-sq/pad/mark-e-pad@2x.jpg b/project/creative/logo/mark-sq/pad/mark-e-pad@2x.jpg similarity index 100% rename from creative/logo/mark-sq/pad/mark-e-pad@2x.jpg rename to project/creative/logo/mark-sq/pad/mark-e-pad@2x.jpg diff --git a/creative/logo/mark-sq/pad/mark-e-pad@2x.png b/project/creative/logo/mark-sq/pad/mark-e-pad@2x.png similarity index 100% rename from creative/logo/mark-sq/pad/mark-e-pad@2x.png rename to project/creative/logo/mark-sq/pad/mark-e-pad@2x.png diff --git a/creative/logo/mark-sq/pad/mark-e-pad@3x.jpg b/project/creative/logo/mark-sq/pad/mark-e-pad@3x.jpg similarity index 100% rename from creative/logo/mark-sq/pad/mark-e-pad@3x.jpg rename to project/creative/logo/mark-sq/pad/mark-e-pad@3x.jpg diff --git a/creative/logo/mark-sq/pad/mark-e-pad@3x.png b/project/creative/logo/mark-sq/pad/mark-e-pad@3x.png similarity index 100% rename from creative/logo/mark-sq/pad/mark-e-pad@3x.png rename to project/creative/logo/mark-sq/pad/mark-e-pad@3x.png diff --git a/creative/logo/mark-sq/pad/mark-e-pad@4x.jpg b/project/creative/logo/mark-sq/pad/mark-e-pad@4x.jpg similarity index 100% rename from creative/logo/mark-sq/pad/mark-e-pad@4x.jpg rename to project/creative/logo/mark-sq/pad/mark-e-pad@4x.jpg diff --git a/creative/logo/mark-sq/pad/mark-e-pad@4x.png b/project/creative/logo/mark-sq/pad/mark-e-pad@4x.png similarity index 100% rename from creative/logo/mark-sq/pad/mark-e-pad@4x.png rename to project/creative/logo/mark-sq/pad/mark-e-pad@4x.png diff --git a/creative/logo/mark-sq/tx/mark-sq-tx-1024p.png b/project/creative/logo/mark-sq/tx/mark-sq-tx-1024p.png similarity index 100% rename from creative/logo/mark-sq/tx/mark-sq-tx-1024p.png rename to project/creative/logo/mark-sq/tx/mark-sq-tx-1024p.png diff --git a/creative/logo/mark-sq/tx/mark-sq-tx-2048p.png b/project/creative/logo/mark-sq/tx/mark-sq-tx-2048p.png similarity index 100% rename from creative/logo/mark-sq/tx/mark-sq-tx-2048p.png rename to project/creative/logo/mark-sq/tx/mark-sq-tx-2048p.png diff --git a/creative/logo/mark-sq/tx/mark-sq-tx.pdf b/project/creative/logo/mark-sq/tx/mark-sq-tx.pdf similarity index 100% rename from creative/logo/mark-sq/tx/mark-sq-tx.pdf rename to project/creative/logo/mark-sq/tx/mark-sq-tx.pdf diff --git a/creative/logo/mark-sq/tx/mark-sq-tx.svg b/project/creative/logo/mark-sq/tx/mark-sq-tx.svg similarity index 100% rename from creative/logo/mark-sq/tx/mark-sq-tx.svg rename to project/creative/logo/mark-sq/tx/mark-sq-tx.svg diff --git a/creative/logo/mark-sq/tx/mark-sq-tx@1x.jpg b/project/creative/logo/mark-sq/tx/mark-sq-tx@1x.jpg similarity index 100% rename from creative/logo/mark-sq/tx/mark-sq-tx@1x.jpg rename to project/creative/logo/mark-sq/tx/mark-sq-tx@1x.jpg diff --git a/creative/logo/mark-sq/tx/mark-sq-tx@1x.png b/project/creative/logo/mark-sq/tx/mark-sq-tx@1x.png similarity index 100% rename from creative/logo/mark-sq/tx/mark-sq-tx@1x.png rename to project/creative/logo/mark-sq/tx/mark-sq-tx@1x.png diff --git a/creative/logo/mark-sq/tx/mark-sq-tx@2x.jpg b/project/creative/logo/mark-sq/tx/mark-sq-tx@2x.jpg similarity index 100% rename from creative/logo/mark-sq/tx/mark-sq-tx@2x.jpg rename to project/creative/logo/mark-sq/tx/mark-sq-tx@2x.jpg diff --git a/creative/logo/mark-sq/tx/mark-sq-tx@2x.png b/project/creative/logo/mark-sq/tx/mark-sq-tx@2x.png similarity index 100% rename from creative/logo/mark-sq/tx/mark-sq-tx@2x.png rename to project/creative/logo/mark-sq/tx/mark-sq-tx@2x.png diff --git a/creative/logo/mark-sq/tx/mark-sq-tx@3x.jpg b/project/creative/logo/mark-sq/tx/mark-sq-tx@3x.jpg similarity index 100% rename from creative/logo/mark-sq/tx/mark-sq-tx@3x.jpg rename to project/creative/logo/mark-sq/tx/mark-sq-tx@3x.jpg diff --git a/creative/logo/mark-sq/tx/mark-sq-tx@3x.png b/project/creative/logo/mark-sq/tx/mark-sq-tx@3x.png similarity index 100% rename from creative/logo/mark-sq/tx/mark-sq-tx@3x.png rename to project/creative/logo/mark-sq/tx/mark-sq-tx@3x.png diff --git a/creative/logo/mark-sq/tx/mark-sq-tx@4x.jpg b/project/creative/logo/mark-sq/tx/mark-sq-tx@4x.jpg similarity index 100% rename from creative/logo/mark-sq/tx/mark-sq-tx@4x.jpg rename to project/creative/logo/mark-sq/tx/mark-sq-tx@4x.jpg diff --git a/creative/logo/mark-sq/tx/mark-sq-tx@4x.png b/project/creative/logo/mark-sq/tx/mark-sq-tx@4x.png similarity index 100% rename from creative/logo/mark-sq/tx/mark-sq-tx@4x.png rename to project/creative/logo/mark-sq/tx/mark-sq-tx@4x.png diff --git a/creative/logo/original/dark/1x/dark.png b/project/creative/logo/original/dark/1x/dark.png similarity index 100% rename from creative/logo/original/dark/1x/dark.png rename to project/creative/logo/original/dark/1x/dark.png diff --git a/creative/logo/original/dark/2x/dark.jpg b/project/creative/logo/original/dark/2x/dark.jpg similarity index 100% rename from creative/logo/original/dark/2x/dark.jpg rename to project/creative/logo/original/dark/2x/dark.jpg diff --git a/creative/logo/original/dark/PDF/dark.pdf b/project/creative/logo/original/dark/PDF/dark.pdf similarity index 100% rename from creative/logo/original/dark/PDF/dark.pdf rename to project/creative/logo/original/dark/PDF/dark.pdf diff --git a/creative/logo/original/dark/SVG/dark.svg b/project/creative/logo/original/dark/SVG/dark.svg similarity index 100% rename from creative/logo/original/dark/SVG/dark.svg rename to project/creative/logo/original/dark/SVG/dark.svg diff --git a/creative/logo/original/light/1x/light.png b/project/creative/logo/original/light/1x/light.png similarity index 100% rename from creative/logo/original/light/1x/light.png rename to project/creative/logo/original/light/1x/light.png diff --git a/creative/logo/original/light/2x/light.jpg b/project/creative/logo/original/light/2x/light.jpg similarity index 100% rename from creative/logo/original/light/2x/light.jpg rename to project/creative/logo/original/light/2x/light.jpg diff --git a/creative/logo/original/light/PDF/light.pdf b/project/creative/logo/original/light/PDF/light.pdf similarity index 100% rename from creative/logo/original/light/PDF/light.pdf rename to project/creative/logo/original/light/PDF/light.pdf diff --git a/creative/logo/original/light/SVG/light.svg b/project/creative/logo/original/light/SVG/light.svg similarity index 100% rename from creative/logo/original/light/SVG/light.svg rename to project/creative/logo/original/light/SVG/light.svg diff --git a/creative/logo/original/tx/SVG/light.svg b/project/creative/logo/original/tx/SVG/light.svg similarity index 100% rename from creative/logo/original/tx/SVG/light.svg rename to project/creative/logo/original/tx/SVG/light.svg diff --git a/creative/logo/tailored/elide-shield.png b/project/creative/logo/tailored/elide-shield.png similarity index 100% rename from creative/logo/tailored/elide-shield.png rename to project/creative/logo/tailored/elide-shield.png diff --git a/creative/logo/tailored/facebook-page.png b/project/creative/logo/tailored/facebook-page.png similarity index 100% rename from creative/logo/tailored/facebook-page.png rename to project/creative/logo/tailored/facebook-page.png diff --git a/creative/logo/tailored/github-org-logo.jpg b/project/creative/logo/tailored/github-org-logo.jpg similarity index 100% rename from creative/logo/tailored/github-org-logo.jpg rename to project/creative/logo/tailored/github-org-logo.jpg diff --git a/creative/logo/tailored/google-pay.png b/project/creative/logo/tailored/google-pay.png similarity index 100% rename from creative/logo/tailored/google-pay.png rename to project/creative/logo/tailored/google-pay.png diff --git a/creative/mark-e-dark.ai b/project/creative/mark-e-dark.ai similarity index 100% rename from creative/mark-e-dark.ai rename to project/creative/mark-e-dark.ai diff --git a/creative/mark-e-favicon-r2.svg b/project/creative/mark-e-favicon-r2.svg similarity index 100% rename from creative/mark-e-favicon-r2.svg rename to project/creative/mark-e-favicon-r2.svg diff --git a/creative/mark-e-favicon.min.svg b/project/creative/mark-e-favicon.min.svg similarity index 100% rename from creative/mark-e-favicon.min.svg rename to project/creative/mark-e-favicon.min.svg diff --git a/creative/mark-e-favicon.svg b/project/creative/mark-e-favicon.svg similarity index 100% rename from creative/mark-e-favicon.svg rename to project/creative/mark-e-favicon.svg diff --git a/creative/mark-e.ai b/project/creative/mark-e.ai similarity index 100% rename from creative/mark-e.ai rename to project/creative/mark-e.ai diff --git a/creative/mark-e.svg b/project/creative/mark-e.svg similarity index 100% rename from creative/mark-e.svg rename to project/creative/mark-e.svg diff --git a/creative/mark-sq-tx.svg b/project/creative/mark-sq-tx.svg similarity index 100% rename from creative/mark-sq-tx.svg rename to project/creative/mark-sq-tx.svg diff --git a/docs/LICENSE b/project/docs/LICENSE similarity index 100% rename from docs/LICENSE rename to project/docs/LICENSE diff --git a/docs/LICENSES.txt b/project/docs/LICENSES.txt similarity index 100% rename from docs/LICENSES.txt rename to project/docs/LICENSES.txt diff --git a/docs/docs.md b/project/docs/docs.md similarity index 100% rename from docs/docs.md rename to project/docs/docs.md diff --git a/docs/includes/resources.md b/project/docs/includes/resources.md similarity index 100% rename from docs/includes/resources.md rename to project/docs/includes/resources.md diff --git a/docs/index.html b/project/docs/index.html similarity index 100% rename from docs/index.html rename to project/docs/index.html diff --git a/docs/kotlin/html/index.html b/project/docs/kotlin/html/index.html similarity index 100% rename from docs/kotlin/html/index.html rename to project/docs/kotlin/html/index.html diff --git a/docs/runtime/nodejs-apis.md b/project/docs/runtime/nodejs-apis.md similarity index 100% rename from docs/runtime/nodejs-apis.md rename to project/docs/runtime/nodejs-apis.md diff --git a/docs/styles.css b/project/docs/styles.css similarity index 100% rename from docs/styles.css rename to project/docs/styles.css diff --git a/docs/styles/logo-styles.css b/project/docs/styles/logo-styles.css similarity index 100% rename from docs/styles/logo-styles.css rename to project/docs/styles/logo-styles.css diff --git a/docs/styles/theme-styles.css b/project/docs/styles/theme-styles.css similarity index 100% rename from docs/styles/theme-styles.css rename to project/docs/styles/theme-styles.css diff --git a/docs/templates/base.ftl b/project/docs/templates/base.ftl similarity index 100% rename from docs/templates/base.ftl rename to project/docs/templates/base.ftl diff --git a/docs/templates/includes/footer.ftl b/project/docs/templates/includes/footer.ftl similarity index 100% rename from docs/templates/includes/footer.ftl rename to project/docs/templates/includes/footer.ftl diff --git a/docs/templates/includes/header.ftl b/project/docs/templates/includes/header.ftl similarity index 100% rename from docs/templates/includes/header.ftl rename to project/docs/templates/includes/header.ftl diff --git a/docs/templates/includes/page_metadata.ftl b/project/docs/templates/includes/page_metadata.ftl similarity index 100% rename from docs/templates/includes/page_metadata.ftl rename to project/docs/templates/includes/page_metadata.ftl diff --git a/docs/templates/includes/source_set_selector.ftl b/project/docs/templates/includes/source_set_selector.ftl similarity index 100% rename from docs/templates/includes/source_set_selector.ftl rename to project/docs/templates/includes/source_set_selector.ftl diff --git a/runtime b/runtime index 4a5880c1a..d342a1b17 160000 --- a/runtime +++ b/runtime @@ -1 +1 @@ -Subproject commit 4a5880c1aa55ec61403413d22930725144e0d04c +Subproject commit d342a1b17f25888e08460e5ea9dc76f5750096b3 diff --git a/tools/scripts/fetch.mjs b/tools/scripts/fetch.mjs new file mode 100644 index 000000000..35c3f4f21 --- /dev/null +++ b/tools/scripts/fetch.mjs @@ -0,0 +1,12 @@ +console.log("Fetch: ", Fetch) +console.log("Headers: ", Headers) +console.log("Request: ", Request) +console.log("Response: ", Response) +console.log("fetch: ", fetch) + +console.log("checkpoint pre") +const resp = await fetch("https://httpbin.org/status/200") +console.log("200: ", resp) + +const goog = await fetch("https://google.com/") +console.log("google: ", goog)