From 0ed39c721ee7b5482c83ef25b0ff10934da3dc75 Mon Sep 17 00:00:00 2001 From: dave caruso Date: Mon, 24 Jul 2023 17:45:39 -0700 Subject: [PATCH] stfdsafsd sadffdsa stuff finish commonjs stuff asdf not done but work not done but work not done yet but this is how far i am remove files lol update built files uncomment everything in events lol export default stuff --- .gitignore | 4 +- .vscode/launch.json | 3 +- Makefile | 8 +- src/bun.js/bindings/BunJSCModule.h | 7 - src/bun.js/bindings/CommonJSModuleRecord.cpp | 99 +- src/bun.js/bindings/CommonJSModuleRecord.h | 18 +- .../bindings/InternalModuleRegistry.cpp | 127 ++ src/bun.js/bindings/InternalModuleRegistry.h | 44 + src/bun.js/bindings/ModuleLoader.cpp | 167 +- src/bun.js/bindings/ModuleLoader.h | 6 +- src/bun.js/bindings/ZigGlobalObject.cpp | 122 +- src/bun.js/bindings/ZigGlobalObject.h | 4 +- src/bun.js/bindings/ZigSourceProvider.cpp | 2 +- src/bun.js/bindings/exports.zig | 17 +- src/bun.js/bindings/generated.zig | 13 + src/bun.js/bindings/headers-handwritten.h | 13 +- src/bun.js/bindings/node_util_types.h | 11 - src/bun.js/module_loader.zig | 179 +- src/bun.js/modules/BunEventsNativeModule.h | 18 + .../BunJSCModule.h} | 89 +- src/bun.js/modules/ConstantsModule.h | 262 --- src/bun.js/modules/EventsModule.h | 58 - .../{BufferModule.h => NodeBufferModule.h} | 92 +- src/bun.js/modules/NodeConstantsModule.h | 304 +++ src/bun.js/modules/NodeModuleModule.cpp | 297 --- src/bun.js/modules/NodeModuleModule.h | 259 ++- .../{ProcessModule.h => NodeProcessModule.h} | 10 +- src/bun.js/modules/NodeStringDecoderModule.h | 16 + src/bun.js/modules/NodeTTYModule.h | 50 + .../NodeUtilTypesModule.h} | 115 +- src/bun.js/modules/StringDecoderModule.h | 36 - src/bun.js/modules/TTYModule.h | 81 - src/bun.js/modules/_NativeModule.h | 90 + src/bun.js/node/node_fs_constant.zig | 3 +- src/js/README.md | 115 +- .../index.ts => _codegen/build-functions.ts} | 12 +- src/js/_codegen/build-modules.ts | 369 ++++ src/js/_codegen/builtin-parser.ts | 174 ++ src/js/_codegen/client-js.ts | 37 + .../{builtins/codegen => _codegen}/helpers.ts | 19 + src/js/_codegen/index.ts | 2 + .../codegen => _codegen}/replacements.ts | 46 +- src/js/build-builtins.ts | 1 - src/js/build-esm.ts | 133 -- src/js/{builtins => }/builtins.d.ts | 17 +- src/js/builtins/AsyncContext.ts | 9 - src/js/builtins/BunBuiltinNames.h | 12 +- src/js/builtins/EventSource.ts | 2 - src/js/builtins/ImportMetaObject.ts | 13 +- src/js/builtins/Module.ts | 38 +- src/js/builtins/ProcessObjectInternals.ts | 21 +- src/js/builtins/README.md | 53 - src/js/builtins/codegen/builtin-parser.ts | 89 - src/js/builtins/tsconfig.json | 5 +- src/js/bun/ffi.ts | 43 +- src/js/bun/jsc.ts | 38 - src/js/bun/{sqlite.js => sqlite.ts} | 27 +- src/js/{ => internal}/shared.ts | 12 +- src/js/node/assert.js | 26 +- src/js/node/assert.strict.ts | 49 +- src/js/node/async_hooks.ts | 22 +- src/js/node/child_process.js | 58 +- src/js/node/cluster.ts | 52 +- src/js/node/crypto.js | 83 +- src/js/node/dgram.ts | 7 +- ...tics_channel.js => diagnostics_channel.ts} | 7 +- src/js/node/dns.js | 41 +- src/js/node/dns.promises.js | 47 - src/js/node/dns.promises.ts | 2 + src/js/node/events.js | 127 +- src/js/node/fs.js | 29 +- src/js/node/fs.promises.ts | 124 +- src/js/node/http.ts | 42 +- src/js/node/http2.ts | 19 +- src/js/node/https.ts | 47 +- src/js/node/inspector.ts | 8 +- src/js/node/net.js | 10 +- src/js/node/{os.js => os.ts} | 32 +- src/js/node/path.posix.ts | 37 +- src/js/node/path.ts | 54 +- src/js/node/path.win32.ts | 36 +- src/js/node/perf_hooks.js | 43 - src/js/node/perf_hooks.ts | 59 + src/js/node/readline.js | 32 +- src/js/node/readline.promises.js | 11 - src/js/node/readline.promises.ts | 2 + src/js/node/repl.ts | 7 +- src/js/node/stream.consumers.js | 13 +- src/js/node/stream.js | 263 +-- src/js/node/stream.promises.js | 10 - src/js/node/stream.promises.ts | 2 + src/js/node/stream.web.js | 28 +- src/js/node/timers.js | 9 +- src/js/node/timers.promises.js | 11 +- src/js/node/tls.js | 35 +- src/js/node/trace_events.ts | 5 +- src/js/node/url.js | 18 +- src/js/node/util.js | 82 +- src/js/node/v8.ts | 34 +- src/js/node/vm.ts | 40 +- src/js/node/wasi.js | 10 +- src/js/node/zlib.js | 103 +- src/js/out/InternalModuleRegistry+create.h | 193 ++ src/js/out/InternalModuleRegistry+enum.h | 48 + .../InternalModuleRegistry+numberOfModules.h | 1 + src/js/out/InternalModuleRegistry+visitImpl.h | 48 + src/js/out/InternalModuleRegistryConstants.h | 157 ++ src/js/out/NativeModuleImpl.h | 8 + src/js/out/ResolvedSourceTag.zig | 70 + src/js/out/SyntheticModuleType.h | 73 + src/js/out/WebCoreJSBuiltins.cpp | 1374 +++++++------- src/js/out/WebCoreJSBuiltins.h | 11 + src/js/out/modules/bun/ffi.js | 268 --- src/js/out/modules/bun/jsc.js | 37 - src/js/out/modules/bun/sqlite.js | 278 --- src/js/out/modules/bun/wasi-runner.js | 26 - src/js/out/modules/node/assert.js | 53 - src/js/out/modules/node/assert.strict.js | 66 - src/js/out/modules/node/async_hooks.js | 229 --- src/js/out/modules/node/child_process.js | 761 -------- src/js/out/modules/node/cluster.js | 63 - src/js/out/modules/node/crypto.js | 4 - src/js/out/modules/node/dgram.js | 38 - .../out/modules/node/diagnostics_channel.js | 51 - src/js/out/modules/node/dns.js | 535 ------ src/js/out/modules/node/dns.promises.js | 65 - src/js/out/modules/node/events.js | 364 ---- src/js/out/modules/node/fs.js | 775 -------- src/js/out/modules/node/fs.promises.js | 1 - src/js/out/modules/node/http.js | 1147 ------------ src/js/out/modules/node/http2.js | 321 ---- src/js/out/modules/node/https.js | 54 - src/js/out/modules/node/inspector.js | 60 - src/js/out/modules/node/net.js | 553 ------ src/js/out/modules/node/os.js | 136 -- src/js/out/modules/node/path.js | 59 - src/js/out/modules/node/path.posix.js | 49 - src/js/out/modules/node/path.win32.js | 47 - src/js/out/modules/node/perf_hooks.js | 65 - src/js/out/modules/node/readline.js | 1665 ----------------- src/js/out/modules/node/readline.promises.js | 13 - src/js/out/modules/node/repl.js | 90 - src/js/out/modules/node/stream.consumers.js | 1 - src/js/out/modules/node/stream.js | 2 - src/js/out/modules/node/stream.promises.js | 1 - src/js/out/modules/node/stream.web.js | 1 - src/js/out/modules/node/timers.js | 17 - src/js/out/modules/node/timers.promises.js | 182 -- src/js/out/modules/node/tls.js | 460 ----- src/js/out/modules/node/trace_events.js | 25 - src/js/out/modules/node/url.js | 1 - src/js/out/modules/node/util.js | 454 ----- src/js/out/modules/node/v8.js | 140 -- src/js/out/modules/node/vm.js | 47 - src/js/out/modules/node/wasi.js | 1102 ----------- src/js/out/modules/node/zlib.js | 1 - src/js/out/modules/thirdparty/depd.js | 23 - src/js/out/modules/thirdparty/detect-libc.js | 29 - .../modules/thirdparty/detect-libc.linux.js | 29 - src/js/out/modules/thirdparty/undici.js | 231 --- src/js/out/modules/thirdparty/ws.js | 734 -------- src/js/private.d.ts | 6 +- src/js/thirdparty/depd.js | 5 +- src/js/thirdparty/detect-libc.js | 27 +- src/js/thirdparty/detect-libc.linux.js | 39 +- src/js/thirdparty/undici.js | 39 +- src/js/thirdparty/ws.js | 30 +- src/js/tsconfig.json | 18 +- src/js/{bun => }/wasi-runner.js | 2 +- src/node-fallbacks/node-fetch.js | 1 - test/cli/run/run-cjs.test.ts | 23 - test/js/node/path/path.test.js | 4 - test/js/node/stubs.test.js | 11 - test2.js | 3 + tsconfig.json | 2 +- 175 files changed, 3985 insertions(+), 15248 deletions(-) delete mode 100644 src/bun.js/bindings/BunJSCModule.h create mode 100644 src/bun.js/bindings/InternalModuleRegistry.cpp create mode 100644 src/bun.js/bindings/InternalModuleRegistry.h create mode 100644 src/bun.js/bindings/generated.zig delete mode 100644 src/bun.js/bindings/node_util_types.h create mode 100644 src/bun.js/modules/BunEventsNativeModule.h rename src/bun.js/{bindings/BunJSCModule.cpp => modules/BunJSCModule.h} (73%) delete mode 100644 src/bun.js/modules/ConstantsModule.h delete mode 100644 src/bun.js/modules/EventsModule.h rename src/bun.js/modules/{BufferModule.h => NodeBufferModule.h} (65%) create mode 100644 src/bun.js/modules/NodeConstantsModule.h delete mode 100644 src/bun.js/modules/NodeModuleModule.cpp rename src/bun.js/modules/{ProcessModule.h => NodeProcessModule.h} (84%) create mode 100644 src/bun.js/modules/NodeStringDecoderModule.h create mode 100644 src/bun.js/modules/NodeTTYModule.h rename src/bun.js/{bindings/node_util_types.cpp => modules/NodeUtilTypesModule.h} (73%) delete mode 100644 src/bun.js/modules/StringDecoderModule.h delete mode 100644 src/bun.js/modules/TTYModule.h create mode 100644 src/bun.js/modules/_NativeModule.h rename src/js/{builtins/codegen/index.ts => _codegen/build-functions.ts} (98%) create mode 100644 src/js/_codegen/build-modules.ts create mode 100644 src/js/_codegen/builtin-parser.ts create mode 100644 src/js/_codegen/client-js.ts rename src/js/{builtins/codegen => _codegen}/helpers.ts (52%) create mode 100644 src/js/_codegen/index.ts rename src/js/{builtins/codegen => _codegen}/replacements.ts (61%) delete mode 100644 src/js/build-builtins.ts delete mode 100644 src/js/build-esm.ts rename src/js/{builtins => }/builtins.d.ts (96%) delete mode 100644 src/js/builtins/AsyncContext.ts delete mode 100644 src/js/builtins/README.md delete mode 100644 src/js/builtins/codegen/builtin-parser.ts delete mode 100644 src/js/bun/jsc.ts rename src/js/bun/{sqlite.js => sqlite.ts} (97%) rename src/js/{ => internal}/shared.ts (75%) rename src/js/node/{diagnostics_channel.js => diagnostics_channel.ts} (76%) delete mode 100644 src/js/node/dns.promises.js create mode 100644 src/js/node/dns.promises.ts rename src/js/node/{os.js => os.ts} (86%) delete mode 100644 src/js/node/perf_hooks.js create mode 100644 src/js/node/perf_hooks.ts delete mode 100644 src/js/node/readline.promises.js create mode 100644 src/js/node/readline.promises.ts delete mode 100644 src/js/node/stream.promises.js create mode 100644 src/js/node/stream.promises.ts create mode 100644 src/js/out/InternalModuleRegistry+create.h create mode 100644 src/js/out/InternalModuleRegistry+enum.h create mode 100644 src/js/out/InternalModuleRegistry+numberOfModules.h create mode 100644 src/js/out/InternalModuleRegistry+visitImpl.h create mode 100644 src/js/out/InternalModuleRegistryConstants.h create mode 100644 src/js/out/NativeModuleImpl.h create mode 100644 src/js/out/ResolvedSourceTag.zig create mode 100644 src/js/out/SyntheticModuleType.h delete mode 100644 src/js/out/modules/bun/ffi.js delete mode 100644 src/js/out/modules/bun/jsc.js delete mode 100644 src/js/out/modules/bun/sqlite.js delete mode 100644 src/js/out/modules/bun/wasi-runner.js delete mode 100644 src/js/out/modules/node/assert.js delete mode 100644 src/js/out/modules/node/assert.strict.js delete mode 100644 src/js/out/modules/node/async_hooks.js delete mode 100644 src/js/out/modules/node/child_process.js delete mode 100644 src/js/out/modules/node/cluster.js delete mode 100644 src/js/out/modules/node/crypto.js delete mode 100644 src/js/out/modules/node/dgram.js delete mode 100644 src/js/out/modules/node/diagnostics_channel.js delete mode 100644 src/js/out/modules/node/dns.js delete mode 100644 src/js/out/modules/node/dns.promises.js delete mode 100644 src/js/out/modules/node/events.js delete mode 100644 src/js/out/modules/node/fs.js delete mode 100644 src/js/out/modules/node/fs.promises.js delete mode 100644 src/js/out/modules/node/http.js delete mode 100644 src/js/out/modules/node/http2.js delete mode 100644 src/js/out/modules/node/https.js delete mode 100644 src/js/out/modules/node/inspector.js delete mode 100644 src/js/out/modules/node/net.js delete mode 100644 src/js/out/modules/node/os.js delete mode 100644 src/js/out/modules/node/path.js delete mode 100644 src/js/out/modules/node/path.posix.js delete mode 100644 src/js/out/modules/node/path.win32.js delete mode 100644 src/js/out/modules/node/perf_hooks.js delete mode 100644 src/js/out/modules/node/readline.js delete mode 100644 src/js/out/modules/node/readline.promises.js delete mode 100644 src/js/out/modules/node/repl.js delete mode 100644 src/js/out/modules/node/stream.consumers.js delete mode 100644 src/js/out/modules/node/stream.js delete mode 100644 src/js/out/modules/node/stream.promises.js delete mode 100644 src/js/out/modules/node/stream.web.js delete mode 100644 src/js/out/modules/node/timers.js delete mode 100644 src/js/out/modules/node/timers.promises.js delete mode 100644 src/js/out/modules/node/tls.js delete mode 100644 src/js/out/modules/node/trace_events.js delete mode 100644 src/js/out/modules/node/url.js delete mode 100644 src/js/out/modules/node/util.js delete mode 100644 src/js/out/modules/node/v8.js delete mode 100644 src/js/out/modules/node/vm.js delete mode 100644 src/js/out/modules/node/wasi.js delete mode 100644 src/js/out/modules/node/zlib.js delete mode 100644 src/js/out/modules/thirdparty/depd.js delete mode 100644 src/js/out/modules/thirdparty/detect-libc.js delete mode 100644 src/js/out/modules/thirdparty/detect-libc.linux.js delete mode 100644 src/js/out/modules/thirdparty/undici.js delete mode 100644 src/js/out/modules/thirdparty/ws.js rename src/js/{bun => }/wasi-runner.js (92%) create mode 100644 test2.js diff --git a/.gitignore b/.gitignore index eb970e815ce90..e64d49f6329a3 100644 --- a/.gitignore +++ b/.gitignore @@ -122,6 +122,8 @@ cold-jsc-start.d /test.ts -src/js/out/modules_dev +src/js/out/modules* +src/js/out/functions* +src/js/out/tmp make-dev-stats.csv diff --git a/.vscode/launch.json b/.vscode/launch.json index 4a4cad0ef6ddf..d473b3b9517ee 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -138,7 +138,8 @@ "cwd": "${fileDirname}", "env": { "FORCE_COLOR": "1", - "BUN_DEBUG_QUIET_LOGS": "1" + "BUN_DEBUG_QUIET_LOGS": "1", + "BUN_JSC_useDollarVM": "1" }, "initCommands": ["process handle -p false -s false -n false SIGHUP"], "console": "internalConsole" diff --git a/Makefile b/Makefile index 3de9de27695d0..f16610eeb64cc 100644 --- a/Makefile +++ b/Makefile @@ -6,8 +6,6 @@ BUN_AUTO_UPDATER_REPO = Jarred-Sumner/bun-releases-for-updater CMAKE_CXX_COMPILER_LAUNCHER_FLAG := - - # 'make' command will trigger the help target .DEFAULT_GOAL := help @@ -561,8 +559,8 @@ builtins: NODE_ENV=production bun src/js/builtins/codegen/index.ts --minify .PHONY: esm -esm: - NODE_ENV=production bun src/js/build-esm.ts +js: + NODE_ENV=production bun src/js/_codegen/index.ts esm-debug: BUN_DEBUG_QUIET_LOGS=1 NODE_ENV=production bun-debug src/js/build-esm.ts @@ -1118,7 +1116,7 @@ dev-obj-linux: $(ZIG) build obj -Dtarget=x86_64-linux-gnu -Dcpu="$(CPU_TARGET)" .PHONY: dev -dev: mkdir-dev esm dev-obj link ## compile zig changes + link bun +dev: mkdir-dev dev-obj link ## compile zig changes + link bun mkdir-dev: mkdir -p $(DEBUG_PACKAGE_DIR) diff --git a/src/bun.js/bindings/BunJSCModule.h b/src/bun.js/bindings/BunJSCModule.h deleted file mode 100644 index d2ddcf6a75653..0000000000000 --- a/src/bun.js/bindings/BunJSCModule.h +++ /dev/null @@ -1,7 +0,0 @@ -#pragma once - -#include "root.h" -#include "JavaScriptCore/JSObject.h" - -JSC::JSObject* createJSCModule(JSC::JSGlobalObject* globalObject); -JSC::Structure* createMemoryFootprintStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject); \ No newline at end of file diff --git a/src/bun.js/bindings/CommonJSModuleRecord.cpp b/src/bun.js/bindings/CommonJSModuleRecord.cpp index bcae04500393b..d366c1f9a7d1b 100644 --- a/src/bun.js/bindings/CommonJSModuleRecord.cpp +++ b/src/bun.js/bindings/CommonJSModuleRecord.cpp @@ -487,62 +487,12 @@ bool JSCommonJSModule::evaluate( JSC::MarkedArgumentBuffer arguments; auto& vm = globalObject->vm(); auto throwScope = DECLARE_THROW_SCOPE(vm); + // TODO: remove second arg, we do not use it ??? + // was it object loader? generator(globalObject, JSC::Identifier::fromString(vm, key), propertyNames, arguments); RETURN_IF_EXCEPTION(throwScope, false); - - bool needsPut = false; - auto getDefaultValue = [&]() -> JSValue { - size_t defaultValueIndex = propertyNames.find(vm.propertyNames->defaultKeyword); - auto cjsSymbol = Identifier::fromUid(vm.symbolRegistry().symbolForKey("CommonJS"_s)); - - if (defaultValueIndex != notFound && propertyNames.contains(cjsSymbol)) { - JSValue current = arguments.at(defaultValueIndex); - needsPut = true; - return current; - } - - size_t count = propertyNames.size(); - JSValue existingDefaultObject = this->getIfPropertyExists(globalObject, WebCore::clientData(vm)->builtinNames().exportsPublicName()); - JSObject* defaultObject; - - if (existingDefaultObject && existingDefaultObject.isObject()) { - defaultObject = jsCast(existingDefaultObject); - } else { - defaultObject = JSC::constructEmptyObject(globalObject, globalObject->objectPrototype()); - needsPut = true; - } - - for (size_t i = 0; i < count; ++i) { - auto prop = propertyNames[i]; - unsigned attributes = 0; - - JSValue value = arguments.at(i); - - if (prop.isSymbol()) { - attributes |= JSC::PropertyAttribute::DontEnum; - } - - if (value.isCell() && value.isCallable()) { - attributes |= JSC::PropertyAttribute::Function; - } - - defaultObject->putDirect(vm, prop, value, attributes); - } - - return defaultObject; - }; - - JSValue defaultValue = getDefaultValue(); - if (needsPut) { - unsigned attributes = 0; - - if (defaultValue.isCell() && defaultValue.isCallable()) { - attributes |= JSC::PropertyAttribute::Function; - } - - this->putDirect(vm, WebCore::clientData(vm)->builtinNames().exportsPublicName(), defaultValue, attributes); - } - + JSValue defaultValue = arguments.at(0); + this->putDirect(vm, WebCore::clientData(vm)->builtinNames().exportsPublicName(), defaultValue, 0); this->hasEvaluated = true; RELEASE_AND_RETURN(throwScope, true); } @@ -556,10 +506,6 @@ void JSCommonJSModule::toSyntheticSource(JSC::JSGlobalObject* globalObject, auto& vm = globalObject->vm(); - // This exists to tell ImportMetaObject.ts that this is a CommonJS module. - exportNames.append(Identifier::fromUid(vm.symbolRegistry().symbolForKey("CommonJS"_s))); - exportValues.append(jsNumber(0)); - // Bun's intepretation of the "__esModule" annotation: // // - If a "default" export does not exist OR the __esModule annotation is not present, then we @@ -808,6 +754,33 @@ JSC_DEFINE_HOST_FUNCTION(jsFunctionRequireCommonJS, (JSGlobalObject * lexicalGlo RELEASE_AND_RETURN(throwScope, JSValue::encode(fetchResult)); } +// Used by $requireBuiltin(...) (Module.ts) +JSC_DEFINE_HOST_FUNCTION(jsFunctionCreateAndLoadBuiltinModule, (JSGlobalObject * lexicalGlobalObject, CallFrame* callframe)) +{ + auto* globalObject = jsCast(lexicalGlobalObject); + auto& vm = globalObject->vm(); + auto throwScope = DECLARE_THROW_SCOPE(vm); + + JSValue specifierValue = callframe->argument(0); + WTF::String specifier = specifierValue.toWTFString(globalObject); + RETURN_IF_EXCEPTION(throwScope, {}); + + BunString specifierStr = Bun::toString(specifier); + BunString referrerStr = Bun::toString(""_s); + + JSValue fetchResult = Bun::fetchCommonJSModule( + globalObject, + JSCommonJSModule::create( + jsCast(globalObject), + specifier, + constructEmptyObject(globalObject), false), + specifierValue, + &specifierStr, + &referrerStr); + + RELEASE_AND_RETURN(throwScope, JSValue::encode(fetchResult)); +} + void RequireResolveFunctionPrototype::finishCreation(JSC::VM& vm) { Base::finishCreation(vm); @@ -820,10 +793,11 @@ void RequireResolveFunctionPrototype::finishCreation(JSC::VM& vm) bool JSCommonJSModule::evaluate( Zig::GlobalObject* globalObject, const WTF::String& key, - ResolvedSource source) + ResolvedSource source, + bool isBuiltIn) { auto& vm = globalObject->vm(); - auto sourceProvider = Zig::SourceProvider::create(jsCast(globalObject), source, JSC::SourceProviderSourceType::Program); + auto sourceProvider = Zig::SourceProvider::create(jsCast(globalObject), source, JSC::SourceProviderSourceType::Program, isBuiltIn); this->ignoreESModuleAnnotation = source.tag == ResolvedSourceTagPackageJSONTypeModule; JSC::SourceCode rawInputSource( WTFMove(sourceProvider)); @@ -854,7 +828,8 @@ bool JSCommonJSModule::evaluate( std::optional createCommonJSModule( Zig::GlobalObject* globalObject, - ResolvedSource source) + ResolvedSource source, + bool isBuiltIn) { JSCommonJSModule* moduleObject; WTF::String sourceURL = toStringCopy(source.source_url); @@ -862,7 +837,7 @@ std::optional createCommonJSModule( JSValue specifierValue = Bun::toJS(globalObject, source.specifier); JSValue entry = globalObject->requireMap()->get(globalObject, specifierValue); - auto sourceProvider = Zig::SourceProvider::create(jsCast(globalObject), source, JSC::SourceProviderSourceType::Program); + auto sourceProvider = Zig::SourceProvider::create(jsCast(globalObject), source, JSC::SourceProviderSourceType::Program, isBuiltIn); bool ignoreESModuleAnnotation = source.tag == ResolvedSourceTagPackageJSONTypeModule; SourceOrigin sourceOrigin = sourceProvider->sourceOrigin(); diff --git a/src/bun.js/bindings/CommonJSModuleRecord.h b/src/bun.js/bindings/CommonJSModuleRecord.h index 20941f45418bf..31137a406b3a9 100644 --- a/src/bun.js/bindings/CommonJSModuleRecord.h +++ b/src/bun.js/bindings/CommonJSModuleRecord.h @@ -1,3 +1,4 @@ +#pragma once #include "root.h" #include "headers-handwritten.h" @@ -15,6 +16,7 @@ namespace Bun { JSC_DECLARE_HOST_FUNCTION(jsFunctionCreateCommonJSModule); JSC_DECLARE_HOST_FUNCTION(jsFunctionLoadModule); +JSC_DECLARE_HOST_FUNCTION(jsFunctionCreateAndLoadBuiltinModule); class JSCommonJSModule final : public JSC::JSDestructibleObject { public: @@ -37,7 +39,11 @@ class JSCommonJSModule final : public JSC::JSDestructibleObject { static JSC::Structure* createStructure(JSC::JSGlobalObject* globalObject); - bool evaluate(Zig::GlobalObject* globalObject, const WTF::String& sourceURL, ResolvedSource resolvedSource); + bool evaluate(Zig::GlobalObject* globalObject, const WTF::String& sourceURL, ResolvedSource resolvedSource, bool isBuiltIn); + inline bool evaluate(Zig::GlobalObject* globalObject, const WTF::String& sourceURL, ResolvedSource resolvedSource) + { + return evaluate(globalObject, sourceURL, resolvedSource, false); + } bool evaluate(Zig::GlobalObject* globalObject, const WTF::String& key, const SyntheticSourceProvider::SyntheticSourceGenerator& generator); bool evaluate(Zig::GlobalObject* globalObject, const WTF::String& key, JSSourceCode* sourceCode); @@ -96,7 +102,15 @@ JSC::Structure* createCommonJSModuleStructure( std::optional createCommonJSModule( Zig::GlobalObject* globalObject, - ResolvedSource source); + ResolvedSource source, + bool isBuiltIn); + +inline std::optional createCommonJSModule( + Zig::GlobalObject* globalObject, + ResolvedSource source) +{ + return createCommonJSModule(globalObject, source, false); +} class RequireResolveFunctionPrototype final : public JSC::JSNonFinalObject { public: diff --git a/src/bun.js/bindings/InternalModuleRegistry.cpp b/src/bun.js/bindings/InternalModuleRegistry.cpp new file mode 100644 index 0000000000000..8d413d6c6bf17 --- /dev/null +++ b/src/bun.js/bindings/InternalModuleRegistry.cpp @@ -0,0 +1,127 @@ +#include "InternalModuleRegistry.h" + +#include "ZigGlobalObject.h" +#include "JavaScriptCore/BuiltinUtils.h" +#include "JavaScriptCore/JSFunction.h" +#include "JavaScriptCore/LazyProperty.h" +#include "JavaScriptCore/LazyPropertyInlines.h" +#include "JavaScriptCore/VMTrapsInlines.h" + +#include "InternalModuleRegistryConstants.h" + +namespace Bun { + +#define INTERNAL_MODULE_REGISTRY_GENERATE_(init, SOURCE) \ + SourceCode source = JSC::makeSource(SOURCE, {}); \ + \ + JSFunction* func \ + = JSFunction::create( \ + init.vm, \ + createBuiltinExecutable( \ + init.vm, source, \ + Identifier(), \ + ImplementationVisibility::Public, \ + ConstructorKind::None, \ + ConstructAbility::CannotConstruct) \ + ->link(init.vm, nullptr, source), \ + static_cast(init.owner)); \ + \ + JSC::MarkedArgumentBuffer argList; \ + \ + auto scope = DECLARE_CATCH_SCOPE(init.vm); \ + \ + JSValue result = JSC::call( \ + init.owner, \ + func, \ + JSC::getCallData(func), \ + init.owner, JSC::MarkedArgumentBuffer()); \ + \ + if (UNLIKELY(scope.exception())) { \ + init.set(scope.exception()); \ + } else { \ + init.set(result.asCell()); \ + } + +#if BUN_DEBUG +void initializeInternalModuleFromDisk( + const JSC::LazyProperty::Initializer& init, + WTF::String moduleId, + WTF::String file, + WTF::String source) +{ + if (auto contents = WTF::FileSystemImpl::readEntireFile(file)) { + auto string = WTF::String::fromUTF8(contents.value()); + INTERNAL_MODULE_REGISTRY_GENERATE_(init, string); + } else { + printf("bun-debug failed to load bundled version of \"%s\" (was it deleted?)\n" file.utf8().data(), + moduleId.utf8().data()); + INTERNAL_MODULE_REGISTRY_GENERATE_(init, source); + } +} +#define INTERNAL_MODULE_REGISTRY_GENERATE(init, moduleId, filename, SOURCE) \ + initializeInternalModuleFromDisk(init, moduleId, filename, SOURCE) +#else +#define INTERNAL_MODULE_REGISTRY_GENERATE(init, moduleId, filename, SOURCE) \ + INTERNAL_MODULE_REGISTRY_GENERATE_(init, SOURCE) +#endif + +const ClassInfo InternalModuleRegistry::s_info = { "InternalModuleRegistry"_s, &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(InternalModuleRegistry) }; + +InternalModuleRegistry::InternalModuleRegistry(VM& vm, Structure* structure) + : Base(vm, structure) +{ +} + +template +void InternalModuleRegistry::visitChildrenImpl(JSCell* cell, Visitor& visitor) +{ + auto* thisObject = jsCast(cell); + ASSERT_GC_OBJECT_INHERITS(thisObject, info()); + Base::visitChildren(thisObject, visitor); +} + +DEFINE_VISIT_CHILDREN_WITH_MODIFIER(JS_EXPORT_PRIVATE, InternalFieldTuple); + +InternalModuleRegistry* InternalModuleRegistry::create(VM& vm, Structure* structure) +{ + InternalModuleRegistry* registry = new (NotNull, allocateCell(vm)) InternalModuleRegistry(vm, structure); +#include "../../../src/js/out/InternalModuleRegistry+create.h" + return registry; +} + +JSCell* InternalModuleRegistry::get(JSGlobalObject* globalObject, ModuleID id) +{ + return m_internalModule[id].get(globalObject); +} + +JSCell* InternalModuleRegistry::get(JSGlobalObject* globalObject, unsigned id) +{ + return m_internalModule[id].get(globalObject); +} + +template +void InternalModuleRegistry::visitImpl(Visitor& visitor) +{ +#include "../../../src/js/out/InternalModuleRegistry+visitImpl.h" +} + +void InternalModuleRegistry::visit(AbstractSlotVisitor& visitor) +{ + this->visitImpl(visitor); +} +void InternalModuleRegistry::visit(SlotVisitor& visitor) +{ + this->visitImpl(visitor); +} + +JSC_DEFINE_HOST_FUNCTION(InternalModuleRegistry::jsRequireId, (JSGlobalObject * lexicalGlobalObject, CallFrame* callframe)) +{ + auto id = callframe->argument(0).toUInt32(lexicalGlobalObject); + auto module = static_cast(lexicalGlobalObject)->internalModuleRegistry.get(lexicalGlobalObject, id); + return JSValue::encode(module); +} + +} // namespace Bun + +#undef INTERNAL_MODULE_REGISTRY_GENERATE_ +#undef INTERNAL_MODULE_REGISTRY_GENERATE diff --git a/src/bun.js/bindings/InternalModuleRegistry.h b/src/bun.js/bindings/InternalModuleRegistry.h new file mode 100644 index 0000000000000..b845b3d883057 --- /dev/null +++ b/src/bun.js/bindings/InternalModuleRegistry.h @@ -0,0 +1,44 @@ +#pragma once +#include "root.h" +#include "JavaScriptCore/JSInternalFieldObjectImpl.h" +#include "JavaScriptCore/JSInternalFieldObjectImplInlines.h" +#include "../../../src/js/out/InternalModuleRegistry+numberOfModules.h" + +namespace Bun { +using namespace JSC; + +class InternalModuleRegistry : public JSInternalFieldObjectImpl { +protected: + JS_EXPORT_PRIVATE InternalModuleRegistry(VM&, Structure*); + DECLARE_DEFAULT_FINISH_CREATION; + DECLARE_VISIT_CHILDREN_WITH_MODIFIER(JS_EXPORT_PRIVATE); + + LazyProperty m_internalModule[BUN_INTERNAL_MODULE_COUNT]; + +public: + using Base = JSInternalFieldObjectImpl; + + enum Field : uint8_t { +#include "../../../src/js/out/InternalModuleRegistry+enum.h" + }; + const WriteBarrier& internalField(Field field) const { return Base::internalField(static_cast(field)); } + WriteBarrier& internalField(Field field) { return Base::internalField(static_cast(field)); } + + template + static GCClient::IsoSubspace* subspaceFor(VM& vm) + { + return &vm.internalFieldTupleSpace(); + } + + static InternalModuleRegistry* create(VM& vm, Structure* structure); + static Structure* createStructure(VM& vm, JSGlobalObject* globalObject); + + // This is like `require` but for internal modules present in `src/js/*` + JSCell* require(JSGlobalObject* globalObject, Field id); + // This is the js version of InternalModuleRegistry::require + static JSC_DECLARE_HOST_FUNCTION(jsRequireId); + + DECLARE_EXPORT_INFO; +}; + +} // namespace Bun diff --git a/src/bun.js/bindings/ModuleLoader.cpp b/src/bun.js/bindings/ModuleLoader.cpp index 20c2be2a2df80..75e9147c67bd6 100644 --- a/src/bun.js/bindings/ModuleLoader.cpp +++ b/src/bun.js/bindings/ModuleLoader.cpp @@ -27,15 +27,6 @@ #include "EventEmitter.h" #include "JSEventEmitter.h" -#include "../modules/BufferModule.h" -#include "../modules/EventsModule.h" -#include "../modules/ProcessModule.h" -#include "../modules/StringDecoderModule.h" -#include "../modules/ObjectModule.h" -#include "../modules/NodeModuleModule.h" -#include "../modules/TTYModule.h" -#include "../modules/ConstantsModule.h" -#include "node_util_types.h" #include "CommonJSModuleRecord.h" #include #include @@ -43,6 +34,11 @@ #include #include +#include "../modules/_NativeModule.h" +#include "../../js/out/NativeModuleImpl.h" + +#include "../modules/ObjectModule.h" + namespace Bun { using namespace Zig; using namespace WebCore; @@ -389,45 +385,33 @@ JSValue fetchCommonJSModule( return JSValue(); } - switch (res->result.value.tag) { - case SyntheticModuleType::Module: { - target->evaluate(globalObject, Bun::toWTFString(*specifier), generateNodeModuleModule); - RETURN_IF_EXCEPTION(scope, {}); - RELEASE_AND_RETURN(scope, target); - } + auto tag = res->result.value.tag; + switch (tag) { + // Generated native module cases + // #define CASE(str, name, id) \ +// case SyntheticModuleType::name: { \ +// target->evaluate(globalObject, Bun::toWTFString(*specifier), generateNativeModule_##name); \ +// RETURN_IF_EXCEPTION(scope, {}); \ +// RELEASE_AND_RETURN(scope, target); \ +// } + // BUN_FOREACH_NATIVE_MODULE(CASE) + // #undef CASE - case SyntheticModuleType::Buffer: { - target->evaluate(globalObject, Bun::toWTFString(*specifier), generateBufferSourceCode); - RETURN_IF_EXCEPTION(scope, {}); - RELEASE_AND_RETURN(scope, target); - } - case SyntheticModuleType::TTY: { - target->evaluate(globalObject, Bun::toWTFString(*specifier), generateTTYSourceCode); - RETURN_IF_EXCEPTION(scope, {}); - RELEASE_AND_RETURN(scope, target); - } - case SyntheticModuleType::NodeUtilTypes: { - target->evaluate(globalObject, Bun::toWTFString(*specifier), Bun::generateNodeUtilTypesSourceCode); - RETURN_IF_EXCEPTION(scope, {}); - RELEASE_AND_RETURN(scope, target); - } - case SyntheticModuleType::Process: { - target->evaluate(globalObject, Bun::toWTFString(*specifier), generateProcessSourceCode); - RETURN_IF_EXCEPTION(scope, {}); - RELEASE_AND_RETURN(scope, target); - } - case SyntheticModuleType::Events: { - target->evaluate(globalObject, Bun::toWTFString(*specifier), generateEventsSourceCode); - RETURN_IF_EXCEPTION(scope, {}); - RELEASE_AND_RETURN(scope, target); - } - case SyntheticModuleType::StringDecoder: { - target->evaluate(globalObject, Bun::toWTFString(*specifier), generateStringDecoderSourceCode); - RETURN_IF_EXCEPTION(scope, {}); - RELEASE_AND_RETURN(scope, target); + case SyntheticModuleType::ESM: { + RELEASE_AND_RETURN(scope, jsNumber(-1)); } + default: { - RELEASE_AND_RETURN(scope, jsNumber(-1)); + if (tag & SyntheticModuleType::InternalModuleRegistryFlag) { + constexpr auto mask = (SyntheticModuleType::InternalModuleRegistryFlag - 1); + target->putDirect( + vm, + builtinNames.exportsPublicName(), + globalObject->internalModuleRegistry.get(globalObject, tag & mask), + JSC::PropertyAttribute::ReadOnly | 0); + RETURN_IF_EXCEPTION(scope, {}); + RELEASE_AND_RETURN(scope, target); + } } } } @@ -496,7 +480,7 @@ JSValue fetchCommonJSModule( } template -static JSValue fetchSourceCode( +static JSValue fetchESMSourceCode( Zig::GlobalObject* globalObject, ErrorableResolvedSource* res, BunString* specifier, @@ -555,67 +539,38 @@ static JSValue fetchSourceCode( auto moduleKey = Bun::toWTFString(*specifier); - switch (res->result.value.tag) { - case SyntheticModuleType::Module: { - auto source = JSC::SourceCode( - JSC::SyntheticSourceProvider::create(generateNodeModuleModule, - JSC::SourceOrigin(), WTFMove(moduleKey))); - - return rejectOrResolve(JSSourceCode::create(vm, WTFMove(source))); - } - - case SyntheticModuleType::Buffer: { - auto source = JSC::SourceCode( - JSC::SyntheticSourceProvider::create(generateBufferSourceCode, - JSC::SourceOrigin(), WTFMove(moduleKey))); - - return rejectOrResolve(JSSourceCode::create(vm, WTFMove(source))); - } - case SyntheticModuleType::TTY: { - auto source = JSC::SourceCode( - JSC::SyntheticSourceProvider::create(generateTTYSourceCode, - JSC::SourceOrigin(), WTFMove(moduleKey))); - - return rejectOrResolve(JSSourceCode::create(vm, WTFMove(source))); - } - case SyntheticModuleType::NodeUtilTypes: { - auto source = JSC::SourceCode( - JSC::SyntheticSourceProvider::create(Bun::generateNodeUtilTypesSourceCode, - JSC::SourceOrigin(), WTFMove(moduleKey))); - - return rejectOrResolve(JSSourceCode::create(vm, WTFMove(source))); + auto tag = res->result.value.tag; + switch (tag) { + case SyntheticModuleType::ESM: { + auto&& provider = Zig::SourceProvider::create(globalObject, res->result.value, JSC::SourceProviderSourceType::Module, true); + return rejectOrResolve(JSSourceCode::create(vm, JSC::SourceCode(provider))); } - case SyntheticModuleType::Process: { - auto source = JSC::SourceCode( - JSC::SyntheticSourceProvider::create(generateProcessSourceCode, - JSC::SourceOrigin(), WTFMove(moduleKey))); - return rejectOrResolve(JSSourceCode::create(vm, WTFMove(source))); - } - case SyntheticModuleType::Events: { - auto source = JSC::SourceCode( - JSC::SyntheticSourceProvider::create(generateEventsSourceCode, - JSC::SourceOrigin(), WTFMove(moduleKey))); + // #define CASE(str, name, id) \ +// case SyntheticModuleType::name: { \ +// auto source = JSC::SourceCode(JSC::SyntheticSourceProvider::create(generateNativeModule_##name, JSC::SourceOrigin(), WTFMove(moduleKey))); \ +// return rejectOrResolve(JSSourceCode::create(vm, WTFMove(source))); \ +// } + // BUN_FOREACH_NATIVE_MODULE(CASE) + // #undef CASE - return rejectOrResolve(JSSourceCode::create(vm, WTFMove(source))); - } - case SyntheticModuleType::StringDecoder: { - auto source = JSC::SourceCode( - JSC::SyntheticSourceProvider::create(generateStringDecoderSourceCode, - JSC::SourceOrigin(), WTFMove(moduleKey))); + // CommonJS modules from src/js/* + default: { + if (tag & SyntheticModuleType::InternalModuleRegistryFlag) { + auto created = Bun::createCommonJSModule(globalObject, res->result.value, true); - return rejectOrResolve(JSSourceCode::create(vm, WTFMove(source))); - } - case SyntheticModuleType::Constants: { - auto source = JSC::SourceCode( - JSC::SyntheticSourceProvider::create(generateConstantsSourceCode, - JSC::SourceOrigin(), WTFMove(moduleKey))); + if (created.has_value()) { + return rejectOrResolve(JSSourceCode::create(vm, WTFMove(created.value()))); + } - return rejectOrResolve(JSSourceCode::create(vm, WTFMove(source))); - } - default: { - auto&& provider = Zig::SourceProvider::create(globalObject, res->result.value, JSC::SourceProviderSourceType::Module, true); - return rejectOrResolve(JSC::JSSourceCode::create(vm, JSC::SourceCode(provider))); + if constexpr (allowPromise) { + auto* exception = scope.exception(); + scope.clearException(); + return rejectedInternalPromise(globalObject, exception); + } else { + return JSC::jsUndefined(); + } + } } } } @@ -715,22 +670,22 @@ extern "C" JSC::EncodedJSValue jsFunctionOnLoadObjectResultReject(JSC::JSGlobalO return JSValue::encode(reason); } -JSValue fetchSourceCodeSync( +JSValue fetchESMSourceCodeSync( Zig::GlobalObject* globalObject, ErrorableResolvedSource* res, BunString* specifier, BunString* referrer) { - return fetchSourceCode(globalObject, res, specifier, referrer); + return fetchESMSourceCode(globalObject, res, specifier, referrer); } -JSValue fetchSourceCodeAsync( +JSValue fetchESMSourceCodeAsync( Zig::GlobalObject* globalObject, ErrorableResolvedSource* res, BunString* specifier, BunString* referrer) { - return fetchSourceCode(globalObject, res, specifier, referrer); + return fetchESMSourceCode(globalObject, res, specifier, referrer); } } namespace JSC { diff --git a/src/bun.js/bindings/ModuleLoader.h b/src/bun.js/bindings/ModuleLoader.h index 6eb04bf409f34..ee726ebcfe961 100644 --- a/src/bun.js/bindings/ModuleLoader.h +++ b/src/bun.js/bindings/ModuleLoader.h @@ -81,13 +81,13 @@ class PendingVirtualModuleResult : public JSC::JSInternalFieldObjectImpl<3> { }; OnLoadResult handleOnLoadResultNotPromise(Zig::GlobalObject* globalObject, JSC::JSValue objectValue); -JSValue fetchSourceCodeSync( +JSValue fetchESMSourceCodeSync( Zig::GlobalObject* globalObject, ErrorableResolvedSource* res, BunString* specifier, BunString* referrer); -JSValue fetchSourceCodeAsync( +JSValue fetchESMSourceCodeAsync( Zig::GlobalObject* globalObject, ErrorableResolvedSource* res, BunString* specifier, @@ -100,4 +100,4 @@ JSValue fetchCommonJSModule( BunString* specifier, BunString* referrer); -} // namespace Bun \ No newline at end of file +} // namespace Bun diff --git a/src/bun.js/bindings/ZigGlobalObject.cpp b/src/bun.js/bindings/ZigGlobalObject.cpp index 3776adb2b279d..91d1fb9739357 100644 --- a/src/bun.js/bindings/ZigGlobalObject.cpp +++ b/src/bun.js/bindings/ZigGlobalObject.cpp @@ -105,7 +105,6 @@ #include "JavaScriptCore/FunctionPrototype.h" #include "napi.h" #include "JSSQLStatement.h" -#include "BunJSCModule.h" #include "ModuleLoader.h" #include "NodeVMScript.h" #include "ProcessIdentifier.h" @@ -491,7 +490,7 @@ JSC_DEFINE_HOST_FUNCTION(functionFulfillModuleSync, res.result.err.code = 0; res.result.err.ptr = nullptr; - JSValue result = Bun::fetchSourceCodeSync( + JSValue result = Bun::fetchESMSourceCodeSync( reinterpret_cast(globalObject), &res, &specifier, @@ -723,6 +722,7 @@ GlobalObject::GlobalObject(JSC::VM& vm, JSC::Structure* structure) { // m_scriptExecutionContext = globalEventScope.m_context; mockModule = Bun::JSMockModule::create(this); + internalModuleRegistry = Bun::InternalModuleRegistry::create(); globalEventScope.m_context = m_scriptExecutionContext; } @@ -738,6 +738,7 @@ GlobalObject::GlobalObject(JSC::VM& vm, JSC::Structure* structure, WebCore::Scri { // m_scriptExecutionContext = globalEventScope.m_context; mockModule = Bun::JSMockModule::create(this); + internalModuleRegistry = Bun::InternalModuleRegistry::create(); globalEventScope.m_context = m_scriptExecutionContext; } @@ -1642,10 +1643,6 @@ static JSC_DEFINE_HOST_FUNCTION(functionLazyLoad, return JSC::JSValue::encode(JSSQLStatementConstructor::create(vm, globalObject, JSSQLStatementConstructor::createStructure(vm, globalObject, globalObject->m_functionPrototype.get()))); } - if (string == "bun:jsc"_s) { - return JSC::JSValue::encode(createJSCModule(globalObject)); - } - if (string == "pathToFileURL"_s) { return JSValue::encode( JSFunction::create(vm, globalObject, 1, pathToFileURLString, functionPathToFileURL, ImplementationVisibility::Public, NoIntrinsic)); @@ -1675,6 +1672,7 @@ static JSC_DEFINE_HOST_FUNCTION(functionLazyLoad, return JSValue::encode(obj); } +<<<<<<< HEAD if (string == "createImportMeta"_s) { Zig::ImportMetaObject* obj = Zig::ImportMetaObject::create(globalObject, callFrame->argument(1)); return JSValue::encode(obj); @@ -1683,6 +1681,9 @@ static JSC_DEFINE_HOST_FUNCTION(functionLazyLoad, if (string == "internal/tls"_s) { auto* obj = constructEmptyObject(globalObject); +======= + if (string == "rootCertificates"_s) { +>>>>>>> 02e082171 (finish commonjs stuff) auto sourceOrigin = callFrame->callerSourceOrigin(vm).url(); // expose for tests in debug mode only #ifndef BUN_DEBUG @@ -1735,25 +1736,8 @@ static JSC_DEFINE_HOST_FUNCTION(functionLazyLoad, return JSValue::encode(obj); } - if (string == "primordials"_s) { - auto sourceOrigin = callFrame->callerSourceOrigin(vm).url(); - bool isBuiltin = sourceOrigin.protocolIs("builtin"_s); - if (!isBuiltin) { - return JSC::JSValue::encode(JSC::jsUndefined()); - } - - auto* obj = globalObject->primordialsObject(); - return JSValue::encode(obj); - } - if (string == "async_hooks"_s) { auto* obj = constructEmptyObject(globalObject); - obj->putDirect( - vm, JSC::PropertyName(JSC::Identifier::fromString(vm, "get"_s)), - JSC::JSFunction::create(vm, asyncContextGetAsyncContextCodeGenerator(vm), globalObject), 0); - obj->putDirect( - vm, JSC::PropertyName(JSC::Identifier::fromString(vm, "set"_s)), - JSC::JSFunction::create(vm, asyncContextSetAsyncContextCodeGenerator(vm), globalObject), 0); obj->putDirect( vm, JSC::PropertyName(JSC::Identifier::fromString(vm, "cleanupLater"_s)), JSC::JSFunction::create(vm, globalObject, 0, "cleanupLater"_s, asyncHooksCleanupLater, ImplementationVisibility::Public), 0); @@ -2762,81 +2746,6 @@ JSC_DEFINE_HOST_FUNCTION(functionReadableStreamToArrayBuffer, (JSGlobalObject * return ZigGlobalObject__readableStreamToArrayBufferBody(reinterpret_cast(globalObject), JSValue::encode(readableStreamValue)); } -class BunPrimordialsObject final : public JSNonFinalObject { -public: - using Base = JSC::JSNonFinalObject; - static constexpr unsigned StructureFlags = Base::StructureFlags | OverridesGetOwnPropertySlot | GetOwnPropertySlotMayBeWrongAboutDontEnum; - static BunPrimordialsObject* create(JSC::VM& vm, JSDOMGlobalObject* globalObject, JSC::Structure* structure) - { - BunPrimordialsObject* ptr = new (NotNull, JSC::allocateCell(vm)) BunPrimordialsObject(vm, globalObject, structure); - ptr->finishCreation(vm); - return ptr; - } - - template - static JSC::GCClient::IsoSubspace* subspaceFor(JSC::VM& vm) - { - STATIC_ASSERT_ISO_SUBSPACE_SHARABLE(BunPrimordialsObject, Base); - return &vm.plainObjectSpace(); - } - - static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype) - { - return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info()); - } - - static bool getOwnPropertySlot(JSObject* object, JSGlobalObject* globalObject, PropertyName propertyName, PropertySlot& slot) - { - JSC::VM& vm = globalObject->vm(); - - auto str = String(propertyName.publicName()); - SymbolImpl* symbol = vm.propertyNames->builtinNames().lookUpPrivateName(str); - if (!symbol) { - return false; - } - - auto identifier = JSC::Identifier::fromUid(vm, symbol); - if (auto value = globalObject->getIfPropertyExists(globalObject, identifier)) { - slot.setValue(globalObject, PropertyAttribute::DontDelete | PropertyAttribute::ReadOnly, value); - return true; - } else if (auto value = vm.bytecodeIntrinsicRegistry().lookup(identifier)) { - auto name = identifier.string(); - String functionText; - bool isFunction = false; - // this is...terrible code - if (name.characters8()[0] >= 'A' && name.characters8()[0] <= 'Z') { - functionText = makeString("(function () { return @"_s, name, ";\n})\n"_s); - } else if (name.characters8()[0] == 'p' || name.characters8()[0] == 't' || name.characters8()[0] == 'g') { - isFunction = true; - functionText = makeString("(function (arg1, arg2) { return @"_s, name, "(arg1, arg2);\n})\n"_s); - } else { - isFunction = true; - functionText = makeString("(function (arg1) { return @"_s, name, "(arg1);\n})\n"_s); - } - - SourceCode source = makeSource(WTFMove(functionText), {}); - JSFunction* func = JSFunction::create(vm, createBuiltinExecutable(vm, source, Identifier::fromString(vm, name), ImplementationVisibility::Public, ConstructorKind::None, ConstructAbility::CannotConstruct)->link(vm, nullptr, source), globalObject); - - slot.setValue( - globalObject, - PropertyAttribute::ReadOnly | PropertyAttribute::DontDelete | 0, - isFunction ? JSValue(func) : JSC::call(globalObject, func, JSC::getCallData(func), globalObject, JSC::MarkedArgumentBuffer())); - - return true; - } - return false; - } - - DECLARE_INFO - - BunPrimordialsObject(JSC::VM& vm, JSC::JSGlobalObject*, JSC::Structure* structure) - : JSC::JSNonFinalObject(vm, structure) - { - } -}; - -const ClassInfo BunPrimordialsObject::s_info = { "Primordials"_s, &Base::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(BunPrimordialsObject) }; - JSC_DEFINE_HOST_FUNCTION(jsFunctionPerformMicrotask, (JSGlobalObject * globalObject, CallFrame* callframe)) { auto& vm = globalObject->vm(); @@ -3399,14 +3308,6 @@ void GlobalObject::finishCreation(VM& vm) toJS>(*init.owner, global, global.crypto).getObject()); }); - m_primordialsObject.initLater( - [](const JSC::LazyProperty::Initializer& init) { - auto& global = *reinterpret_cast(init.owner); - BunPrimordialsObject* object = BunPrimordialsObject::create(init.vm, reinterpret_cast(init.owner), - BunPrimordialsObject::createStructure(init.vm, init.owner, init.owner->objectPrototype())); - init.set(object); - }); - m_NapiClassStructure.initLater( [](LazyClassStructure::Initializer& init) { init.setStructure(Zig::NapiClass::createStructure(init.vm, init.global, init.global->functionPrototype())); @@ -4107,7 +4008,6 @@ void GlobalObject::addBuiltinGlobals(JSC::VM& vm) JSC::PropertyAttribute::Function | JSC::PropertyAttribute::DontDelete | 0 }); static NeverDestroyed BunLazyString(MAKE_STATIC_STRING_IMPL("Bun.lazy")); - static NeverDestroyed CommonJSSymbolKey(MAKE_STATIC_STRING_IMPL("CommonJS")); JSC::Identifier BunLazyIdentifier = JSC::Identifier::fromUid(vm.symbolRegistry().symbolForKey(BunLazyString)); JSC::JSFunction* lazyLoadFunction = JSC::JSFunction::create(vm, this, 0, BunLazyString, functionLazyLoad, ImplementationVisibility::Public); @@ -4137,7 +4037,6 @@ void GlobalObject::addBuiltinGlobals(JSC::VM& vm) extraStaticGlobals.uncheckedAppend(GlobalPropertyInfo(builtinNames.getInternalWritableStreamPrivateName(), JSFunction::create(vm, this, 1, String(), getInternalWritableStream, ImplementationVisibility::Public), PropertyAttribute::DontDelete | PropertyAttribute::ReadOnly)); extraStaticGlobals.uncheckedAppend(GlobalPropertyInfo(builtinNames.createWritableStreamFromInternalPrivateName(), JSFunction::create(vm, this, 1, String(), createWritableStreamFromInternal, ImplementationVisibility::Public), PropertyAttribute::DontDelete | PropertyAttribute::ReadOnly)); extraStaticGlobals.uncheckedAppend(GlobalPropertyInfo(builtinNames.fulfillModuleSyncPrivateName(), JSFunction::create(vm, this, 1, String(), functionFulfillModuleSync, ImplementationVisibility::Public), PropertyAttribute::DontDelete | PropertyAttribute::ReadOnly | PropertyAttribute::Function)); - extraStaticGlobals.uncheckedAppend(GlobalPropertyInfo(builtinNames.commonJSSymbolPrivateName(), JSC::Symbol::create(vm, vm.symbolRegistry().symbolForKey(CommonJSSymbolKey)), PropertyAttribute::DontDelete | PropertyAttribute::ReadOnly)); extraStaticGlobals.uncheckedAppend(GlobalPropertyInfo(builtinNames.directPrivateName(), JSFunction::create(vm, this, 1, String(), functionGetDirectStreamDetails, ImplementationVisibility::Public), PropertyAttribute::DontDelete | PropertyAttribute::ReadOnly | PropertyAttribute::Function)); extraStaticGlobals.uncheckedAppend(GlobalPropertyInfo(vm.propertyNames->builtinNames().ArrayBufferPrivateName(), arrayBufferConstructor(), PropertyAttribute::DontDelete | PropertyAttribute::ReadOnly)); @@ -4157,6 +4056,8 @@ void GlobalObject::addBuiltinGlobals(JSC::VM& vm) putDirectBuiltinFunction(vm, this, builtinNames.internalRequirePrivateName(), importMetaObjectInternalRequireCodeGenerator(vm), PropertyAttribute::Builtin | PropertyAttribute::DontDelete | PropertyAttribute::ReadOnly); putDirectNativeFunction(vm, this, builtinNames.createUninitializedArrayBufferPrivateName(), 1, functionCreateUninitializedArrayBuffer, ImplementationVisibility::Public, NoIntrinsic, PropertyAttribute::DontDelete | PropertyAttribute::ReadOnly | PropertyAttribute::Function); putDirectNativeFunction(vm, this, builtinNames.resolveSyncPrivateName(), 1, functionImportMeta__resolveSyncPrivate, ImplementationVisibility::Public, NoIntrinsic, PropertyAttribute::DontDelete | PropertyAttribute::ReadOnly | PropertyAttribute::Function); + putDirectNativeFunction(vm, this, builtinNames.createAndLoadBuiltinModulePrivateName(), 1, jsFunctionCreateAndLoadBuiltinModule, ImplementationVisibility::Public, NoIntrinsic, PropertyAttribute::DontDelete | PropertyAttribute::ReadOnly | PropertyAttribute::Function); + putDirectNativeFunction(vm, this, builtinNames.requireIdPrivateName(), 1, InternalModuleRegistry::jsRequireId, ImplementationVisibility::Public, NoIntrinsic, PropertyAttribute::DontDelete | PropertyAttribute::ReadOnly | PropertyAttribute::Function); putDirectCustomAccessor(vm, JSC::Identifier::fromString(vm, "process"_s), JSC::CustomGetterSetter::create(vm, property_lazyProcessGetter, property_lazyProcessSetter), JSC::PropertyAttribute::CustomAccessor | 0); @@ -4674,7 +4575,6 @@ void GlobalObject::visitChildrenImpl(JSCell* cell, Visitor& visitor) thisObject->m_navigatorObject.visit(visitor); thisObject->m_nativeMicrotaskTrampoline.visit(visitor); thisObject->m_performanceObject.visit(visitor); - thisObject->m_primordialsObject.visit(visitor); thisObject->m_processEnvObject.visit(visitor); thisObject->m_processObject.visit(visitor); thisObject->m_subtleCryptoObject.visit(visitor); @@ -4701,6 +4601,8 @@ void GlobalObject::visitChildrenImpl(JSCell* cell, Visitor& visitor) thisObject->m_cachedGlobalObjectStructure.visit(visitor); thisObject->m_cachedGlobalProxyStructure.visit(visitor); + thisObject->internalModuleRegistry.visit(visitor); + thisObject->mockModule.mockFunctionStructure.visit(visitor); thisObject->mockModule.mockResultStructure.visit(visitor); thisObject->mockModule.mockImplementationStructure.visit(visitor); @@ -4963,7 +4865,7 @@ JSC::JSInternalPromise* GlobalObject::moduleLoaderFetch(JSGlobalObject* globalOb res.result.err.code = 0; res.result.err.ptr = nullptr; - JSValue result = Bun::fetchSourceCodeAsync( + JSValue result = Bun::fetchESMSourceCodeAsync( reinterpret_cast(globalObject), &res, &moduleKeyBun, diff --git a/src/bun.js/bindings/ZigGlobalObject.h b/src/bun.js/bindings/ZigGlobalObject.h index 12f5d9d32349b..3a8f30194626e 100644 --- a/src/bun.js/bindings/ZigGlobalObject.h +++ b/src/bun.js/bindings/ZigGlobalObject.h @@ -42,6 +42,7 @@ class DOMWrapperWorld; #include "DOMConstructors.h" #include "BunPlugin.h" #include "JSMockFunction.h" +#include "InternalModuleRegistry.h" namespace WebCore { class GlobalScope; @@ -252,7 +253,6 @@ class GlobalObject : public JSC::JSGlobalObject { JSC::Structure* callSiteStructure() const { return m_callSiteStructure.getInitializedOnMainThread(this); } JSC::JSObject* performanceObject() { return m_performanceObject.getInitializedOnMainThread(this); } - JSC::JSObject* primordialsObject() { return m_primordialsObject.getInitializedOnMainThread(this); } JSC::JSFunction* performMicrotaskFunction() { return m_performMicrotaskFunction.getInitializedOnMainThread(this); } JSC::JSFunction* performMicrotaskVariadicFunction() { return m_performMicrotaskVariadicFunction.getInitializedOnMainThread(this); } @@ -446,6 +446,7 @@ class GlobalObject : public JSC::JSGlobalObject { void* napiInstanceDataFinalizerHint = nullptr; Bun::JSMockModule mockModule; + Bun::InternalModuleRegistry internalModuleRegistry; #include "ZigGeneratedClasses+lazyStructureHeader.h" @@ -509,7 +510,6 @@ class GlobalObject : public JSC::JSGlobalObject { LazyProperty m_JSHTTPSResponseControllerPrototype; LazyProperty m_navigatorObject; LazyProperty m_performanceObject; - LazyProperty m_primordialsObject; LazyProperty m_processEnvObject; LazyProperty m_processObject; LazyProperty m_subtleCryptoObject; diff --git a/src/bun.js/bindings/ZigSourceProvider.cpp b/src/bun.js/bindings/ZigSourceProvider.cpp index a71e946deb524..2c448b5a61eca 100644 --- a/src/bun.js/bindings/ZigSourceProvider.cpp +++ b/src/bun.js/bindings/ZigSourceProvider.cpp @@ -198,4 +198,4 @@ int SourceProvider::readCache(JSC::VM& vm, const JSC::SourceCode& sourceCode) // return 0; // } } -}; // namespace Zig \ No newline at end of file +}; // namespace Zig diff --git a/src/bun.js/bindings/exports.zig b/src/bun.js/bindings/exports.zig index 20c110d52d014..6d57798fdcac7 100644 --- a/src/bun.js/bindings/exports.zig +++ b/src/bun.js/bindings/exports.zig @@ -221,22 +221,7 @@ pub const ResolvedSource = extern struct { tag: Tag = Tag.javascript, - pub const Tag = enum(u64) { - javascript = 0, - package_json_type_module = 1, - wasm = 2, - object = 3, - file = 4, - - @"node:buffer" = 1024, - @"node:process" = 1025, - @"bun:events_native" = 1026, // native version of EventEmitter used for streams - @"node:string_decoder" = 1027, - @"node:module" = 1028, - @"node:tty" = 1029, - @"node:util/types" = 1030, - @"node:constants" = 1031, - }; + pub const Tag = @import("../../js/out/ResolvedSourceTag.zig").ResolvedSourceTag; }; const Mimalloc = @import("../../allocators/mimalloc.zig"); diff --git a/src/bun.js/bindings/generated.zig b/src/bun.js/bindings/generated.zig new file mode 100644 index 0000000000000..75872662e4c54 --- /dev/null +++ b/src/bun.js/bindings/generated.zig @@ -0,0 +1,13 @@ +pub const ResolvedSourceTag = enum(u64) { + // + javascript = 0, + package_json_type_module = 1, + wasm = 2, + object = 3, + file = 4, + esm = 5, + // Built in modules are loaded through InternalModuleRegistry by numerical ID. + // In this enum are represented as `(1 << 8) & id` + + // Native modules are loaded ... TODO, but we'll use 1024 and up +}; diff --git a/src/bun.js/bindings/headers-handwritten.h b/src/bun.js/bindings/headers-handwritten.h index df1bec554bbb0..fb45df35a2e82 100644 --- a/src/bun.js/bindings/headers-handwritten.h +++ b/src/bun.js/bindings/headers-handwritten.h @@ -264,18 +264,7 @@ typedef struct { bool shared; } Bun__ArrayBuffer; -enum SyntheticModuleType : uint64_t { - ObjectModule = 2, - - Buffer = 1024, - Process = 1025, - Events = 1026, - StringDecoder = 1027, - Module = 1028, - TTY = 1029, - NodeUtilTypes = 1030, - Constants = 1031, -}; +#include "../../../js/out/SyntheticModuleType.h" extern "C" const char* Bun__userAgent; diff --git a/src/bun.js/bindings/node_util_types.h b/src/bun.js/bindings/node_util_types.h deleted file mode 100644 index adf0cd0eaaa38..0000000000000 --- a/src/bun.js/bindings/node_util_types.h +++ /dev/null @@ -1,11 +0,0 @@ -#include "JavaScriptCore/JSGlobalObject.h" -#include "ZigGlobalObject.h" - -namespace Bun { -using namespace WebCore; - -void generateNodeUtilTypesSourceCode(JSC::JSGlobalObject* lexicalGlobalObject, - JSC::Identifier moduleKey, - Vector& exportNames, - JSC::MarkedArgumentBuffer& exportValues); -} diff --git a/src/bun.js/module_loader.zig b/src/bun.js/module_loader.zig index 65f9bbf26acc1..8cb5011532061 100644 --- a/src/bun.js/module_loader.zig +++ b/src/bun.js/module_loader.zig @@ -1634,7 +1634,7 @@ pub const ModuleLoader = struct { if (has_bun_plugin) { return ResolvedSource{ .allocator = null, - .source_code = String.static("// auto-generated plugin stub\nexport default undefined\n"), + .source_code = String.static("module.exports=undefined"), .specifier = input_specifier, .source_url = ZigString.init(path.text), // // TODO: change hash to a bitfield @@ -1785,12 +1785,14 @@ pub const ModuleLoader = struct { strings.append3( bun.default_allocator, JSC.Node.fs.constants_string, - @as(string, jsModuleFromFile(jsc_vm.load_builtins_from_path, "node/wasi.js")), - @as(string, jsModuleFromFile(jsc_vm.load_builtins_from_path, "bun/wasi-runner.js")), + // @as(string, jsModuleFromFile(jsc_vm.load_builtins_from_path, "node/wasi.js")), + "TODO:", + @embedFile("../js/wasi-runner.js"), ) catch unreachable, ), .specifier = input_specifier, .source_url = ZigString.init(path.text), + .tag = .esm, .hash = 0, }; } @@ -2190,88 +2192,92 @@ pub const ModuleLoader = struct { .specifier = specifier, .source_url = ZigString.init(bun.asByteSlice(JSC.VirtualMachine.main_file_name)), .hash = 0, + .tag = .esm, }; }, + + // Native modules .@"node:buffer" => return jsSyntheticModule(.@"node:buffer", specifier), .@"node:string_decoder" => return jsSyntheticModule(.@"node:string_decoder", specifier), .@"node:module" => return jsSyntheticModule(.@"node:module", specifier), .@"node:process" => return jsSyntheticModule(.@"node:process", specifier), .@"node:tty" => return jsSyntheticModule(.@"node:tty", specifier), .@"node:util/types" => return jsSyntheticModule(.@"node:util/types", specifier), - .@"bun:events_native" => return jsSyntheticModule(.@"bun:events_native", specifier), .@"node:constants" => return jsSyntheticModule(.@"node:constants", specifier), - .@"node:fs/promises" => { - return ResolvedSource{ - .allocator = null, - .source_code = bun.String.static(comptime JSC.Node.fs.constants_string ++ @embedFile("../js/out/modules/node/fs.promises.js")), - .specifier = specifier, - .source_url = ZigString.init("node:fs/promises"), - .hash = 0, - }; - }, - .@"bun:ffi" => { - const shared_library_suffix = if (Environment.isMac) "dylib" else if (Environment.isLinux) "so" else if (Environment.isWindows) "dll" else ""; - return ResolvedSource{ - .allocator = null, - .source_code = bun.String.static( - comptime "export const FFIType=" ++ - JSC.FFI.ABIType.map_to_js_object ++ - ";export const suffix='" ++ shared_library_suffix ++ "';" ++ - @embedFile("../js/out/modules/bun/ffi.js"), - ), - .specifier = specifier, - .source_url = ZigString.init("bun:ffi"), - .hash = 0, - }; - }, - - .@"bun:jsc" => return jsResolvedSource(jsc_vm, jsc_vm.load_builtins_from_path, .@"bun:jsc", "bun/jsc.js", specifier), - .@"bun:sqlite" => return jsResolvedSource(jsc_vm, jsc_vm.load_builtins_from_path, .@"bun:sqlite", "bun/sqlite.js", specifier), - - .@"node:assert" => return jsResolvedSource(jsc_vm, jsc_vm.load_builtins_from_path, .@"node:assert", "node/assert.js", specifier), - .@"node:assert/strict" => return jsResolvedSource(jsc_vm, jsc_vm.load_builtins_from_path, .@"node:assert/strict", "node/assert.strict.js", specifier), - .@"node:async_hooks" => return jsResolvedSource(jsc_vm, jsc_vm.load_builtins_from_path, .@"node:async_hooks", "node/async_hooks.js", specifier), - .@"node:child_process" => return jsResolvedSource(jsc_vm, jsc_vm.load_builtins_from_path, .@"node:child_process", "node/child_process.js", specifier), - .@"node:crypto" => return jsResolvedSource(jsc_vm, jsc_vm.load_builtins_from_path, .@"node:crypto", "node/crypto.js", specifier), - .@"node:dns" => return jsResolvedSource(jsc_vm, jsc_vm.load_builtins_from_path, .@"node:dns", "node/dns.js", specifier), - .@"node:dns/promises" => return jsResolvedSource(jsc_vm, jsc_vm.load_builtins_from_path, .@"node:dns/promises", "node/dns.promises.js", specifier), - .@"node:events" => return jsResolvedSource(jsc_vm, jsc_vm.load_builtins_from_path, .@"node:child_process", "node/events.js", specifier), - .@"node:fs" => return jsResolvedSource(jsc_vm, jsc_vm.load_builtins_from_path, .@"node:fs", "node/fs.js", specifier), - .@"node:http" => return jsResolvedSource(jsc_vm, jsc_vm.load_builtins_from_path, .@"node:http", "node/http.js", specifier), - .@"node:https" => return jsResolvedSource(jsc_vm, jsc_vm.load_builtins_from_path, .@"node:https", "node/https.js", specifier), - .@"node:net" => return jsResolvedSource(jsc_vm, jsc_vm.load_builtins_from_path, .@"node:net", "node/net.js", specifier), - .@"node:os" => return jsResolvedSource(jsc_vm, jsc_vm.load_builtins_from_path, .@"node:os", "node/os.js", specifier), - .@"node:path" => return jsResolvedSource(jsc_vm, jsc_vm.load_builtins_from_path, .@"node:path", "node/path.js", specifier), - .@"node:path/posix" => return jsResolvedSource(jsc_vm, jsc_vm.load_builtins_from_path, .@"node:path/posix", "node/path.posix.js", specifier), - .@"node:path/win32" => return jsResolvedSource(jsc_vm, jsc_vm.load_builtins_from_path, .@"node:path/win32", "node/path.win32.js", specifier), - .@"node:perf_hooks" => return jsResolvedSource(jsc_vm, jsc_vm.load_builtins_from_path, .@"node:perf_hooks", "node/perf_hooks.js", specifier), - .@"node:readline" => return jsResolvedSource(jsc_vm, jsc_vm.load_builtins_from_path, .@"node:readline", "node/readline.js", specifier), - .@"node:readline/promises" => return jsResolvedSource(jsc_vm, jsc_vm.load_builtins_from_path, .@"node:readline/promises", "node/readline.promises.js", specifier), - .@"node:stream" => return jsResolvedSource(jsc_vm, jsc_vm.load_builtins_from_path, .@"node:stream", "node/stream.js", specifier), - .@"node:stream/consumers" => return jsResolvedSource(jsc_vm, jsc_vm.load_builtins_from_path, .@"node:stream/consumers", "node/stream.consumers.js", specifier), - .@"node:stream/promises" => return jsResolvedSource(jsc_vm, jsc_vm.load_builtins_from_path, .@"node:stream/promises", "node/stream.promises.js", specifier), - .@"node:stream/web" => return jsResolvedSource(jsc_vm, jsc_vm.load_builtins_from_path, .@"node:stream/web", "node/stream.web.js", specifier), - .@"node:timers" => return jsResolvedSource(jsc_vm, jsc_vm.load_builtins_from_path, .@"node:timers", "node/timers.js", specifier), - .@"node:timers/promises" => return jsResolvedSource(jsc_vm, jsc_vm.load_builtins_from_path, .@"node:timers/promises", "node/timers.promises.js", specifier), - .@"node:tls" => return jsResolvedSource(jsc_vm, jsc_vm.load_builtins_from_path, .@"node:tls", "node/tls.js", specifier), - .@"node:url" => return jsResolvedSource(jsc_vm, jsc_vm.load_builtins_from_path, .@"node:url", "node/url.js", specifier), - .@"node:util" => return jsResolvedSource(jsc_vm, jsc_vm.load_builtins_from_path, .@"node:util", "node/util.js", specifier), - .@"node:vm" => return jsResolvedSource(jsc_vm, jsc_vm.load_builtins_from_path, .@"node:vm", "node/vm.js", specifier), - .@"node:wasi" => return jsResolvedSource(jsc_vm, jsc_vm.load_builtins_from_path, .@"node:wasi", "node/wasi.js", specifier), - .@"node:zlib" => return jsResolvedSource(jsc_vm, jsc_vm.load_builtins_from_path, .@"node:zlib", "node/zlib.js", specifier), - - .@"detect-libc" => return jsResolvedSource(jsc_vm, jsc_vm.load_builtins_from_path, .@"detect-libc", if (Environment.isLinux) "thirdparty/detect-libc.linux.js" else "thirdparty/detect-libc.js", specifier), - .undici => return jsResolvedSource(jsc_vm, jsc_vm.load_builtins_from_path, .undici, "thirdparty/undici.js", specifier), - .ws => return jsResolvedSource(jsc_vm, jsc_vm.load_builtins_from_path, .ws, "thirdparty/ws.js", specifier), - - .@"node:cluster" => return jsResolvedSource(jsc_vm, jsc_vm.load_builtins_from_path, .@"node:cluster", "node/cluster.js", specifier), - .@"node:dgram" => return jsResolvedSource(jsc_vm, jsc_vm.load_builtins_from_path, .@"node:dgram", "node/dgram.js", specifier), - .@"node:diagnostics_channel" => return jsResolvedSource(jsc_vm, jsc_vm.load_builtins_from_path, .@"node:diagnostics_channel", "node/diagnostics_channel.js", specifier), - .@"node:http2" => return jsResolvedSource(jsc_vm, jsc_vm.load_builtins_from_path, .@"node:http2", "node/http2.js", specifier), - .@"node:inspector" => return jsResolvedSource(jsc_vm, jsc_vm.load_builtins_from_path, .@"node:inspector", "node/inspector.js", specifier), - .@"node:repl" => return jsResolvedSource(jsc_vm, jsc_vm.load_builtins_from_path, .@"node:repl", "node/repl.js", specifier), - .@"node:trace_events" => return jsResolvedSource(jsc_vm, jsc_vm.load_builtins_from_path, .@"node:trace_events", "node/trace_events.js", specifier), - .@"node:v8" => return jsResolvedSource(jsc_vm, jsc_vm.load_builtins_from_path, .@"node:v8", "node/v8.js", specifier), + .@"bun:jsc" => return jsSyntheticModule(.@"bun:jsc", specifier), + + // TODO: + // .@"node:fs/promises" => { + // return ResolvedSource{ + // .allocator = null, + // .source_code = bun.String.static(comptime "(()=>{\"use strict\";" ++ JSC.Node.fs.constants_string ++ @embedFile("../js/out/modules/node/fs.promises.js")[19..]), + // .specifier = specifier, + // .source_url = ZigString.init("node:fs/promises"), + // .hash = 0, + // }; + // }, + // .@"bun:ffi" => { + // const shared_library_suffix = if (Environment.isMac) "dylib" else if (Environment.isLinux) "so" else if (Environment.isWindows) "dll" else ""; + // return ResolvedSource{ + // .allocator = null, + // .source_code = bun.String.static( + // comptime ("(()=>{\"use strict\";var FFIType=" ++ + // JSC.FFI.ABIType.map_to_js_object ++ + // ",suffix='" ++ shared_library_suffix ++ "';" ++ + // @embedFile("../js/out/modules/bun/ffi.js")[19..]), + // ), + // .specifier = specifier, + // .source_url = ZigString.init("bun:ffi"), + // .hash = 0, + // }; + // }, + + // These are defined in src/js/* + .@"bun:ffi" => return jsSyntheticModule(.@"bun:ffi", specifier), + .@"bun:sqlite" => return jsSyntheticModule(.@"bun:sqlite", specifier), + .@"node:assert" => return jsSyntheticModule(.@"node:assert", specifier), + .@"node:assert/strict" => return jsSyntheticModule(.@"node:assert/strict", specifier), + .@"node:async_hooks" => return jsSyntheticModule(.@"node:async_hooks", specifier), + .@"node:child_process" => return jsSyntheticModule(.@"node:child_process", specifier), + .@"node:cluster" => return jsSyntheticModule(.@"node:cluster", specifier), + .@"node:crypto" => return jsSyntheticModule(.@"node:crypto", specifier), + .@"node:dgram" => return jsSyntheticModule(.@"node:dgram", specifier), + .@"node:diagnostics_channel" => return jsSyntheticModule(.@"node:diagnostics_channel", specifier), + .@"node:dns" => return jsSyntheticModule(.@"node:dns", specifier), + .@"node:dns/promises" => return jsSyntheticModule(.@"node:dns/promises", specifier), + .@"node:events" => return jsSyntheticModule(.@"node:child_process", specifier), + .@"node:fs" => return jsSyntheticModule(.@"node:fs", specifier), + .@"node:http" => return jsSyntheticModule(.@"node:http", specifier), + .@"node:http2" => return jsSyntheticModule(.@"node:http2", specifier), + .@"node:https" => return jsSyntheticModule(.@"node:https", specifier), + .@"node:inspector" => return jsSyntheticModule(.@"node:inspector", specifier), + .@"node:net" => return jsSyntheticModule(.@"node:net", specifier), + .@"node:os" => return jsSyntheticModule(.@"node:os", specifier), + .@"node:path" => return jsSyntheticModule(.@"node:path", specifier), + .@"node:path/posix" => return jsSyntheticModule(.@"node:path/posix", specifier), + .@"node:fs/promises" => return jsSyntheticModule(.@"node:fs/promises", specifier), + .@"node:path/win32" => return jsSyntheticModule(.@"node:path/win32", specifier), + .@"node:perf_hooks" => return jsSyntheticModule(.@"node:perf_hooks", specifier), + .@"node:readline" => return jsSyntheticModule(.@"node:readline", specifier), + .@"node:readline/promises" => return jsSyntheticModule(.@"node:readline/promises", specifier), + .@"node:repl" => return jsSyntheticModule(.@"node:repl", specifier), + .@"node:stream" => return jsSyntheticModule(.@"node:stream", specifier), + .@"node:stream/consumers" => return jsSyntheticModule(.@"node:stream/consumers", specifier), + .@"node:stream/promises" => return jsSyntheticModule(.@"node:stream/promises", specifier), + .@"node:stream/web" => return jsSyntheticModule(.@"node:stream/web", specifier), + .@"node:timers" => return jsSyntheticModule(.@"node:timers", specifier), + .@"node:timers/promises" => return jsSyntheticModule(.@"node:timers/promises", specifier), + .@"node:tls" => return jsSyntheticModule(.@"node:tls", specifier), + .@"node:trace_events" => return jsSyntheticModule(.@"node:trace_events", specifier), + .@"node:url" => return jsSyntheticModule(.@"node:url", specifier), + .@"node:util" => return jsSyntheticModule(.@"node:util", specifier), + .@"node:v8" => return jsSyntheticModule(.@"node:v8", specifier), + .@"node:vm" => return jsSyntheticModule(.@"node:vm", specifier), + .@"node:wasi" => return jsSyntheticModule(.@"node:wasi", specifier), + .@"node:zlib" => return jsSyntheticModule(.@"node:zlib", specifier), + .@"detect-libc" => return jsSyntheticModule(if (Environment.isLinux) .@"detect-libc/linux" else .@"detect-libc", specifier), + .undici => return jsSyntheticModule(.undici, specifier), + .ws => return jsSyntheticModule(.ws, specifier), } } else if (specifier.hasPrefixComptime(js_ast.Macro.namespaceWithColon)) { const spec = specifier.toUTF8(bun.default_allocator); @@ -2289,11 +2295,7 @@ pub const ModuleLoader = struct { return ResolvedSource{ .allocator = null, .source_code = bun.String.static( - \\var masqueradesAsUndefined=globalThis[Symbol.for("Bun.lazy")]("masqueradesAsUndefined"); - \\masqueradesAsUndefined[Symbol.for("CommonJS")]=0; - \\masqueradesAsUndefined.default=masqueradesAsUndefined; - \\export default masqueradesAsUndefined; - \\ + \\$_BunCommonJSModule_$.module.exports=globalThis[Symbol.for("Bun.lazy")]("masqueradesAsUndefined") ), .specifier = specifier, .source_url = specifier.toZigString(), @@ -2470,7 +2472,6 @@ pub const HardcodedModule = enum { .{ "bun:jsc", HardcodedModule.@"bun:jsc" }, .{ "bun:main", HardcodedModule.@"bun:main" }, .{ "bun:sqlite", HardcodedModule.@"bun:sqlite" }, - .{ "bun:events_native", HardcodedModule.@"bun:events_native" }, .{ "detect-libc", HardcodedModule.@"detect-libc" }, .{ "node:assert", HardcodedModule.@"node:assert" }, .{ "node:assert/strict", HardcodedModule.@"node:assert/strict" }, @@ -2679,17 +2680,3 @@ pub const DisabledModule = bun.ComptimeStringMap( .{"node:worker_threads"}, }, ); - -fn jsResolvedSource(vm: *JSC.VirtualMachine, builtins: []const u8, comptime module: HardcodedModule, comptime input: []const u8, specifier: bun.String) ResolvedSource { - // We use RefCountedResolvedSource because we want a stable StringImpl* - // pointer so that the SourceProviderCache has the maximum hit rate - return vm.refCountedResolvedSource( - jsModuleFromFile(builtins, input), - specifier, - @tagName(module), - null, - - // we never want to free these - true, - ); -} diff --git a/src/bun.js/modules/BunEventsNativeModule.h b/src/bun.js/modules/BunEventsNativeModule.h new file mode 100644 index 0000000000000..0c7d47112c435 --- /dev/null +++ b/src/bun.js/modules/BunEventsNativeModule.h @@ -0,0 +1,18 @@ +#include "JSEventEmitter.h" +#include "_NativeModule.h" + +namespace Zig { +using namespace WebCore; + +// TODO: remove this module. it is only used by streams. but it's arguable if +// streams should be using it at all. +DEFINE_NATIVE_MODULE(BunEventsNative) { + INIT_NATIVE_MODULE(1); + + put(JSC::Identifier::fromString(vm, "EventEmitter"_s), + WebCore::JSEventEmitter::getConstructor(vm, globalObject)); + + RETURN_NATIVE_MODULE(); +} + +} // namespace Zig diff --git a/src/bun.js/bindings/BunJSCModule.cpp b/src/bun.js/modules/BunJSCModule.h similarity index 73% rename from src/bun.js/bindings/BunJSCModule.cpp rename to src/bun.js/modules/BunJSCModule.h index 44431863203b1..74fa2d32f3726 100644 --- a/src/bun.js/bindings/BunJSCModule.cpp +++ b/src/bun.js/modules/BunJSCModule.h @@ -1,4 +1,4 @@ -#include "root.h" +#include "_NativeModule.h" #include "JavaScriptCore/JavaScript.h" #include "wtf/FileSystem.h" @@ -571,45 +571,48 @@ JSC_DEFINE_HOST_FUNCTION(functionDeserialize, (JSGlobalObject * globalObject, Ca RELEASE_AND_RETURN(throwScope, JSValue::encode(result)); } -JSC::JSObject* createJSCModule(JSC::JSGlobalObject* globalObject) -{ - VM& vm = globalObject->vm(); - JSC::JSObject* object = nullptr; - - { - JSC::ObjectInitializationScope initializationScope(vm); - object = JSC::constructEmptyObject(globalObject, globalObject->objectPrototype(), 23); - object->putDirectNativeFunction(vm, globalObject, JSC::Identifier::fromString(vm, "callerSourceOrigin"_s), 1, functionCallerSourceOrigin, ImplementationVisibility::Public, NoIntrinsic, JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::DontDelete | 0); - object->putDirectNativeFunction(vm, globalObject, JSC::Identifier::fromString(vm, "describe"_s), 1, functionDescribe, ImplementationVisibility::Public, NoIntrinsic, JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::DontDelete | 0); - object->putDirectNativeFunction(vm, globalObject, JSC::Identifier::fromString(vm, "describeArray"_s), 1, functionDescribeArray, ImplementationVisibility::Public, NoIntrinsic, JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::DontDelete | 0); - object->putDirectNativeFunction(vm, globalObject, JSC::Identifier::fromString(vm, "drainMicrotasks"_s), 1, functionDrainMicrotasks, ImplementationVisibility::Public, NoIntrinsic, JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::DontDelete | 0); - object->putDirectNativeFunction(vm, globalObject, JSC::Identifier::fromString(vm, "edenGC"_s), 1, functionEdenGC, ImplementationVisibility::Public, NoIntrinsic, JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::DontDelete | 0); - object->putDirectNativeFunction(vm, globalObject, JSC::Identifier::fromString(vm, "fullGC"_s), 1, functionFullGC, ImplementationVisibility::Public, NoIntrinsic, JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::DontDelete | 0); - object->putDirectNativeFunction(vm, globalObject, JSC::Identifier::fromString(vm, "gcAndSweep"_s), 1, functionGCAndSweep, ImplementationVisibility::Public, NoIntrinsic, JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::DontDelete | 0); - object->putDirectNativeFunction(vm, globalObject, JSC::Identifier::fromString(vm, "getRandomSeed"_s), 1, functionGetRandomSeed, ImplementationVisibility::Public, NoIntrinsic, JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::DontDelete | 0); - object->putDirectNativeFunction(vm, globalObject, JSC::Identifier::fromString(vm, "heapSize"_s), 1, functionHeapSize, ImplementationVisibility::Public, NoIntrinsic, JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::DontDelete | 0); - object->putDirectNativeFunction(vm, globalObject, JSC::Identifier::fromString(vm, "heapStats"_s), 1, functionMemoryUsageStatistics, ImplementationVisibility::Public, NoIntrinsic, JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::DontDelete | 0); - object->putDirectNativeFunction(vm, globalObject, JSC::Identifier::fromString(vm, "startSamplingProfiler"_s), 1, functionStartSamplingProfiler, ImplementationVisibility::Public, NoIntrinsic, JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::DontDelete | 0); - object->putDirectNativeFunction(vm, globalObject, JSC::Identifier::fromString(vm, "samplingProfilerStackTraces"_s), 1, functionSamplingProfilerStackTraces, ImplementationVisibility::Public, NoIntrinsic, JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::DontDelete | 0); - object->putDirectNativeFunction(vm, globalObject, JSC::Identifier::fromString(vm, "noInline"_s), 1, functionNeverInlineFunction, ImplementationVisibility::Public, NoIntrinsic, JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::DontDelete | 0); - object->putDirectNativeFunction(vm, globalObject, JSC::Identifier::fromString(vm, "isRope"_s), 1, functionIsRope, ImplementationVisibility::Public, NoIntrinsic, JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::DontDelete | 0); - object->putDirectNativeFunction(vm, globalObject, JSC::Identifier::fromString(vm, "memoryUsage"_s), 1, functionCreateMemoryFootprint, ImplementationVisibility::Public, NoIntrinsic, JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::DontDelete | 0); - object->putDirectNativeFunction(vm, globalObject, JSC::Identifier::fromString(vm, "noFTL"_s), 1, functionNoFTL, ImplementationVisibility::Public, NoIntrinsic, JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::DontDelete | 0); - object->putDirectNativeFunction(vm, globalObject, JSC::Identifier::fromString(vm, "noOSRExitFuzzing"_s), 1, functionNoOSRExitFuzzing, ImplementationVisibility::Public, NoIntrinsic, JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::DontDelete | 0); - object->putDirectNativeFunction(vm, globalObject, JSC::Identifier::fromString(vm, "numberOfDFGCompiles"_s), 1, functionNumberOfDFGCompiles, ImplementationVisibility::Public, NoIntrinsic, JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::DontDelete | 0); - object->putDirectNativeFunction(vm, globalObject, JSC::Identifier::fromString(vm, "optimizeNextInvocation"_s), 1, functionOptimizeNextInvocation, ImplementationVisibility::Public, NoIntrinsic, JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::DontDelete | 0); - object->putDirectNativeFunction(vm, globalObject, JSC::Identifier::fromString(vm, "releaseWeakRefs"_s), 1, functionReleaseWeakRefs, ImplementationVisibility::Public, NoIntrinsic, JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::DontDelete | 0); - object->putDirectNativeFunction(vm, globalObject, JSC::Identifier::fromString(vm, "reoptimizationRetryCount"_s), 1, functionReoptimizationRetryCount, ImplementationVisibility::Public, NoIntrinsic, JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::DontDelete | 0); - object->putDirectNativeFunction(vm, globalObject, JSC::Identifier::fromString(vm, "setRandomSeed"_s), 1, functionSetRandomSeed, ImplementationVisibility::Public, NoIntrinsic, JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::DontDelete | 0); - object->putDirectNativeFunction(vm, globalObject, JSC::Identifier::fromString(vm, "startRemoteDebugger"_s), 2, functionStartRemoteDebugger, ImplementationVisibility::Public, NoIntrinsic, JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::DontDelete | 0); - object->putDirectNativeFunction(vm, globalObject, JSC::Identifier::fromString(vm, "totalCompileTime"_s), 1, functionTotalCompileTime, ImplementationVisibility::Public, NoIntrinsic, JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::DontDelete | 0); - object->putDirectNativeFunction(vm, globalObject, JSC::Identifier::fromString(vm, "getProtectedObjects"_s), 1, functionGetProtectedObjects, ImplementationVisibility::Public, NoIntrinsic, JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::DontDelete | 0); - object->putDirectNativeFunction(vm, globalObject, JSC::Identifier::fromString(vm, "generateHeapSnapshotForDebugging"_s), 0, functionGenerateHeapSnapshotForDebugging, ImplementationVisibility::Public, NoIntrinsic, JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::DontDelete | 0); - object->putDirectNativeFunction(vm, globalObject, JSC::Identifier::fromString(vm, "profile"_s), 0, functionRunProfiler, ImplementationVisibility::Public, NoIntrinsic, JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::DontDelete | 0); - object->putDirectNativeFunction(vm, globalObject, JSC::Identifier::fromString(vm, "setTimeZone"_s), 0, functionSetTimeZone, ImplementationVisibility::Public, NoIntrinsic, JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::DontDelete | 0); - object->putDirectNativeFunction(vm, globalObject, JSC::Identifier::fromString(vm, "serialize"_s), 0, functionSerialize, ImplementationVisibility::Public, NoIntrinsic, JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::DontDelete | 0); - object->putDirectNativeFunction(vm, globalObject, JSC::Identifier::fromString(vm, "deserialize"_s), 0, functionDeserialize, ImplementationVisibility::Public, NoIntrinsic, JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::DontDelete | 0); - } - - return object; -} +namespace Zig { +DEFINE_NATIVE_MODULE(BunJSC) +{ + INIT_NATIVE_MODULE(42); + + putNativeFn(Identifier::fromString(vm, "callerSourceOrigin"_s), functionCallerSourceOrigin); + putNativeFn(Identifier::fromString(vm, "jscDescribe"_s), functionDescribe); + putNativeFn(Identifier::fromString(vm, "jscDescribeArray"_s), functionDescribeArray); + putNativeFn(Identifier::fromString(vm, "drainMicrotasks"_s), functionDrainMicrotasks); + putNativeFn(Identifier::fromString(vm, "edenGC"_s), functionEdenGC); + putNativeFn(Identifier::fromString(vm, "fullGC"_s), functionFullGC); + putNativeFn(Identifier::fromString(vm, "gcAndSweep"_s), functionGCAndSweep); + putNativeFn(Identifier::fromString(vm, "getRandomSeed"_s), functionGetRandomSeed); + putNativeFn(Identifier::fromString(vm, "heapSize"_s), functionHeapSize); + putNativeFn(Identifier::fromString(vm, "heapStats"_s), functionMemoryUsageStatistics); + putNativeFn(Identifier::fromString(vm, "startSamplingProfiler"_s), functionStartSamplingProfiler); + putNativeFn(Identifier::fromString(vm, "samplingProfilerStackTraces"_s), functionSamplingProfilerStackTraces); + putNativeFn(Identifier::fromString(vm, "noInline"_s), functionNeverInlineFunction); + putNativeFn(Identifier::fromString(vm, "isRope"_s), functionIsRope); + putNativeFn(Identifier::fromString(vm, "memoryUsage"_s), functionCreateMemoryFootprint); + putNativeFn(Identifier::fromString(vm, "noFTL"_s), functionNoFTL); + putNativeFn(Identifier::fromString(vm, "noOSRExitFuzzing"_s), functionNoOSRExitFuzzing); + putNativeFn(Identifier::fromString(vm, "numberOfDFGCompiles"_s), functionNumberOfDFGCompiles); + putNativeFn(Identifier::fromString(vm, "optimizeNextInvocation"_s), functionOptimizeNextInvocation); + putNativeFn(Identifier::fromString(vm, "releaseWeakRefs"_s), functionReleaseWeakRefs); + putNativeFn(Identifier::fromString(vm, "reoptimizationRetryCount"_s), functionReoptimizationRetryCount); + putNativeFn(Identifier::fromString(vm, "setRandomSeed"_s), functionSetRandomSeed); + putNativeFn(Identifier::fromString(vm, "startRemoteDebugger"_s), functionStartRemoteDebugger); + putNativeFn(Identifier::fromString(vm, "totalCompileTime"_s), functionTotalCompileTime); + putNativeFn(Identifier::fromString(vm, "getProtectedObjects"_s), functionGetProtectedObjects); + putNativeFn(Identifier::fromString(vm, "generateHeapSnapshotForDebugging"_s), functionGenerateHeapSnapshotForDebugging); + putNativeFn(Identifier::fromString(vm, "profile"_s), functionRunProfiler); + putNativeFn(Identifier::fromString(vm, "setTimeZone"_s), functionSetTimeZone); + putNativeFn(Identifier::fromString(vm, "serialize"_s), functionSerialize); + putNativeFn(Identifier::fromString(vm, "deserialize"_s), functionDeserialize); + + // Deprecated + putNativeFn(Identifier::fromString(vm, "describe"_s), functionDescribe); + putNativeFn(Identifier::fromString(vm, "describeArray"_s), functionDescribeArray); + putNativeFn(Identifier::fromString(vm, "setTimezone"_s), functionSetTimeZone); + + RETURN_NATIVE_MODULE(); +} + +} // namespace Zig diff --git a/src/bun.js/modules/ConstantsModule.h b/src/bun.js/modules/ConstantsModule.h deleted file mode 100644 index 8d7c1602b6382..0000000000000 --- a/src/bun.js/modules/ConstantsModule.h +++ /dev/null @@ -1,262 +0,0 @@ -#include "JavaScriptCore/JSGlobalObject.h" -#include "ZigGlobalObject.h" - -namespace Zig { -using namespace WebCore; - -inline void generateConstantsSourceCode(JSC::JSGlobalObject *lexicalGlobalObject, - JSC::Identifier moduleKey, - Vector &exportNames, - JSC::MarkedArgumentBuffer &exportValues) { - JSC::VM &vm = lexicalGlobalObject->vm(); - GlobalObject *globalObject = reinterpret_cast(lexicalGlobalObject); - - auto* defaultObject = JSC::constructEmptyObject(globalObject); - - - auto exportProperty = [&](JSC::Identifier name, JSC::JSValue value) { - exportNames.append(name); - exportValues.append(value); - defaultObject->putDirect(vm, name, value, PropertyAttribute::DontDelete | PropertyAttribute::ReadOnly | 0); - }; - - exportProperty(JSC::Identifier::fromString(vm, "RTLD_LAZY"_s), JSC::jsNumber(1)); - exportProperty(JSC::Identifier::fromString(vm, "RTLD_NOW"_s), JSC::jsNumber(2)); - exportProperty(JSC::Identifier::fromString(vm, "RTLD_GLOBAL"_s), JSC::jsNumber(256)); - exportProperty(JSC::Identifier::fromString(vm, "RTLD_LOCAL"_s), JSC::jsNumber(0)); - exportProperty(JSC::Identifier::fromString(vm, "RTLD_DEEPBIND"_s), JSC::jsNumber(8)); - exportProperty(JSC::Identifier::fromString(vm, "E2BIG"_s), JSC::jsNumber(7)); - exportProperty(JSC::Identifier::fromString(vm, "EACCES"_s), JSC::jsNumber(13)); - exportProperty(JSC::Identifier::fromString(vm, "EADDRINUSE"_s), JSC::jsNumber(98)); - exportProperty(JSC::Identifier::fromString(vm, "EADDRNOTAVAIL"_s), JSC::jsNumber(99)); - exportProperty(JSC::Identifier::fromString(vm, "EAFNOSUPPORT"_s), JSC::jsNumber(97)); - exportProperty(JSC::Identifier::fromString(vm, "EAGAIN"_s), JSC::jsNumber(11)); - exportProperty(JSC::Identifier::fromString(vm, "EALREADY"_s), JSC::jsNumber(114)); - exportProperty(JSC::Identifier::fromString(vm, "EBADF"_s), JSC::jsNumber(9)); - exportProperty(JSC::Identifier::fromString(vm, "EBADMSG"_s), JSC::jsNumber(74)); - exportProperty(JSC::Identifier::fromString(vm, "EBUSY"_s), JSC::jsNumber(16)); - exportProperty(JSC::Identifier::fromString(vm, "ECANCELED"_s), JSC::jsNumber(125)); - exportProperty(JSC::Identifier::fromString(vm, "ECHILD"_s), JSC::jsNumber(10)); - exportProperty(JSC::Identifier::fromString(vm, "ECONNABORTED"_s), JSC::jsNumber(103)); - exportProperty(JSC::Identifier::fromString(vm, "ECONNREFUSED"_s), JSC::jsNumber(111)); - exportProperty(JSC::Identifier::fromString(vm, "ECONNRESET"_s), JSC::jsNumber(104)); - exportProperty(JSC::Identifier::fromString(vm, "EDEADLK"_s), JSC::jsNumber(35)); - exportProperty(JSC::Identifier::fromString(vm, "EDESTADDRREQ"_s), JSC::jsNumber(89)); - exportProperty(JSC::Identifier::fromString(vm, "EDOM"_s), JSC::jsNumber(33)); - exportProperty(JSC::Identifier::fromString(vm, "EDQUOT"_s), JSC::jsNumber(122)); - exportProperty(JSC::Identifier::fromString(vm, "EEXIST"_s), JSC::jsNumber(17)); - exportProperty(JSC::Identifier::fromString(vm, "EFAULT"_s), JSC::jsNumber(14)); - exportProperty(JSC::Identifier::fromString(vm, "EFBIG"_s), JSC::jsNumber(27)); - exportProperty(JSC::Identifier::fromString(vm, "EHOSTUNREACH"_s), JSC::jsNumber(113)); - exportProperty(JSC::Identifier::fromString(vm, "EIDRM"_s), JSC::jsNumber(43)); - exportProperty(JSC::Identifier::fromString(vm, "EILSEQ"_s), JSC::jsNumber(84)); - exportProperty(JSC::Identifier::fromString(vm, "EINPROGRESS"_s), JSC::jsNumber(115)); - exportProperty(JSC::Identifier::fromString(vm, "EINTR"_s), JSC::jsNumber(4)); - exportProperty(JSC::Identifier::fromString(vm, "EINVAL"_s), JSC::jsNumber(22)); - exportProperty(JSC::Identifier::fromString(vm, "EIO"_s), JSC::jsNumber(5)); - exportProperty(JSC::Identifier::fromString(vm, "EISCONN"_s), JSC::jsNumber(106)); - exportProperty(JSC::Identifier::fromString(vm, "EISDIR"_s), JSC::jsNumber(21)); - exportProperty(JSC::Identifier::fromString(vm, "ELOOP"_s), JSC::jsNumber(40)); - exportProperty(JSC::Identifier::fromString(vm, "EMFILE"_s), JSC::jsNumber(24)); - exportProperty(JSC::Identifier::fromString(vm, "EMLINK"_s), JSC::jsNumber(31)); - exportProperty(JSC::Identifier::fromString(vm, "EMSGSIZE"_s), JSC::jsNumber(90)); - exportProperty(JSC::Identifier::fromString(vm, "EMULTIHOP"_s), JSC::jsNumber(72)); - exportProperty(JSC::Identifier::fromString(vm, "ENAMETOOLONG"_s), JSC::jsNumber(36)); - exportProperty(JSC::Identifier::fromString(vm, "ENETDOWN"_s), JSC::jsNumber(100)); - exportProperty(JSC::Identifier::fromString(vm, "ENETRESET"_s), JSC::jsNumber(102)); - exportProperty(JSC::Identifier::fromString(vm, "ENETUNREACH"_s), JSC::jsNumber(101)); - exportProperty(JSC::Identifier::fromString(vm, "ENFILE"_s), JSC::jsNumber(23)); - exportProperty(JSC::Identifier::fromString(vm, "ENOBUFS"_s), JSC::jsNumber(105)); - exportProperty(JSC::Identifier::fromString(vm, "ENODATA"_s), JSC::jsNumber(61)); - exportProperty(JSC::Identifier::fromString(vm, "ENODEV"_s), JSC::jsNumber(19)); - exportProperty(JSC::Identifier::fromString(vm, "ENOENT"_s), JSC::jsNumber(2)); - exportProperty(JSC::Identifier::fromString(vm, "ENOEXEC"_s), JSC::jsNumber(8)); - exportProperty(JSC::Identifier::fromString(vm, "ENOLCK"_s), JSC::jsNumber(37)); - exportProperty(JSC::Identifier::fromString(vm, "ENOLINK"_s), JSC::jsNumber(67)); - exportProperty(JSC::Identifier::fromString(vm, "ENOMEM"_s), JSC::jsNumber(12)); - exportProperty(JSC::Identifier::fromString(vm, "ENOMSG"_s), JSC::jsNumber(42)); - exportProperty(JSC::Identifier::fromString(vm, "ENOPROTOOPT"_s), JSC::jsNumber(92)); - exportProperty(JSC::Identifier::fromString(vm, "ENOSPC"_s), JSC::jsNumber(28)); - exportProperty(JSC::Identifier::fromString(vm, "ENOSR"_s), JSC::jsNumber(63)); - exportProperty(JSC::Identifier::fromString(vm, "ENOSTR"_s), JSC::jsNumber(60)); - exportProperty(JSC::Identifier::fromString(vm, "ENOSYS"_s), JSC::jsNumber(38)); - exportProperty(JSC::Identifier::fromString(vm, "ENOTCONN"_s), JSC::jsNumber(107)); - exportProperty(JSC::Identifier::fromString(vm, "ENOTDIR"_s), JSC::jsNumber(20)); - exportProperty(JSC::Identifier::fromString(vm, "ENOTEMPTY"_s), JSC::jsNumber(39)); - exportProperty(JSC::Identifier::fromString(vm, "ENOTSOCK"_s), JSC::jsNumber(88)); - exportProperty(JSC::Identifier::fromString(vm, "ENOTSUP"_s), JSC::jsNumber(95)); - exportProperty(JSC::Identifier::fromString(vm, "ENOTTY"_s), JSC::jsNumber(25)); - exportProperty(JSC::Identifier::fromString(vm, "ENXIO"_s), JSC::jsNumber(6)); - exportProperty(JSC::Identifier::fromString(vm, "EOPNOTSUPP"_s), JSC::jsNumber(95)); - exportProperty(JSC::Identifier::fromString(vm, "EOVERFLOW"_s), JSC::jsNumber(75)); - exportProperty(JSC::Identifier::fromString(vm, "EPERM"_s), JSC::jsNumber(1)); - exportProperty(JSC::Identifier::fromString(vm, "EPIPE"_s), JSC::jsNumber(32)); - exportProperty(JSC::Identifier::fromString(vm, "EPROTO"_s), JSC::jsNumber(71)); - exportProperty(JSC::Identifier::fromString(vm, "EPROTONOSUPPORT"_s), JSC::jsNumber(93)); - exportProperty(JSC::Identifier::fromString(vm, "EPROTOTYPE"_s), JSC::jsNumber(91)); - exportProperty(JSC::Identifier::fromString(vm, "ERANGE"_s), JSC::jsNumber(34)); - exportProperty(JSC::Identifier::fromString(vm, "EROFS"_s), JSC::jsNumber(30)); - exportProperty(JSC::Identifier::fromString(vm, "ESPIPE"_s), JSC::jsNumber(29)); - exportProperty(JSC::Identifier::fromString(vm, "ESRCH"_s), JSC::jsNumber(3)); - exportProperty(JSC::Identifier::fromString(vm, "ESTALE"_s), JSC::jsNumber(116)); - exportProperty(JSC::Identifier::fromString(vm, "ETIME"_s), JSC::jsNumber(62)); - exportProperty(JSC::Identifier::fromString(vm, "ETIMEDOUT"_s), JSC::jsNumber(110)); - exportProperty(JSC::Identifier::fromString(vm, "ETXTBSY"_s), JSC::jsNumber(26)); - exportProperty(JSC::Identifier::fromString(vm, "EWOULDBLOCK"_s), JSC::jsNumber(11)); - exportProperty(JSC::Identifier::fromString(vm, "EXDEV"_s), JSC::jsNumber(18)); - exportProperty(JSC::Identifier::fromString(vm, "PRIORITY_LOW"_s), JSC::jsNumber(19)); - exportProperty(JSC::Identifier::fromString(vm, "PRIORITY_BELOW_NORMAL"_s), JSC::jsNumber(10)); - exportProperty(JSC::Identifier::fromString(vm, "PRIORITY_NORMAL"_s), JSC::jsNumber(0)); - exportProperty(JSC::Identifier::fromString(vm, "PRIORITY_ABOVE_NORMAL"_s), JSC::jsNumber(-7)); - exportProperty(JSC::Identifier::fromString(vm, "PRIORITY_HIGH"_s), JSC::jsNumber(-14)); - exportProperty(JSC::Identifier::fromString(vm, "PRIORITY_HIGHEST"_s), JSC::jsNumber(-20)); - exportProperty(JSC::Identifier::fromString(vm, "SIGHUP"_s), JSC::jsNumber(1)); - exportProperty(JSC::Identifier::fromString(vm, "SIGINT"_s), JSC::jsNumber(2)); - exportProperty(JSC::Identifier::fromString(vm, "SIGQUIT"_s), JSC::jsNumber(3)); - exportProperty(JSC::Identifier::fromString(vm, "SIGILL"_s), JSC::jsNumber(4)); - exportProperty(JSC::Identifier::fromString(vm, "SIGTRAP"_s), JSC::jsNumber(5)); - exportProperty(JSC::Identifier::fromString(vm, "SIGABRT"_s), JSC::jsNumber(6)); - exportProperty(JSC::Identifier::fromString(vm, "SIGIOT"_s), JSC::jsNumber(6)); - exportProperty(JSC::Identifier::fromString(vm, "SIGBUS"_s), JSC::jsNumber(7)); - exportProperty(JSC::Identifier::fromString(vm, "SIGFPE"_s), JSC::jsNumber(8)); - exportProperty(JSC::Identifier::fromString(vm, "SIGKILL"_s), JSC::jsNumber(9)); - exportProperty(JSC::Identifier::fromString(vm, "SIGUSR1"_s), JSC::jsNumber(10)); - exportProperty(JSC::Identifier::fromString(vm, "SIGSEGV"_s), JSC::jsNumber(11)); - exportProperty(JSC::Identifier::fromString(vm, "SIGUSR2"_s), JSC::jsNumber(12)); - exportProperty(JSC::Identifier::fromString(vm, "SIGPIPE"_s), JSC::jsNumber(13)); - exportProperty(JSC::Identifier::fromString(vm, "SIGALRM"_s), JSC::jsNumber(14)); - exportProperty(JSC::Identifier::fromString(vm, "SIGTERM"_s), JSC::jsNumber(15)); - exportProperty(JSC::Identifier::fromString(vm, "SIGCHLD"_s), JSC::jsNumber(17)); - exportProperty(JSC::Identifier::fromString(vm, "SIGSTKFLT"_s), JSC::jsNumber(16)); - exportProperty(JSC::Identifier::fromString(vm, "SIGCONT"_s), JSC::jsNumber(18)); - exportProperty(JSC::Identifier::fromString(vm, "SIGSTOP"_s), JSC::jsNumber(19)); - exportProperty(JSC::Identifier::fromString(vm, "SIGTSTP"_s), JSC::jsNumber(20)); - exportProperty(JSC::Identifier::fromString(vm, "SIGTTIN"_s), JSC::jsNumber(21)); - exportProperty(JSC::Identifier::fromString(vm, "SIGTTOU"_s), JSC::jsNumber(22)); - exportProperty(JSC::Identifier::fromString(vm, "SIGURG"_s), JSC::jsNumber(23)); - exportProperty(JSC::Identifier::fromString(vm, "SIGXCPU"_s), JSC::jsNumber(24)); - exportProperty(JSC::Identifier::fromString(vm, "SIGXFSZ"_s), JSC::jsNumber(25)); - exportProperty(JSC::Identifier::fromString(vm, "SIGVTALRM"_s), JSC::jsNumber(26)); - exportProperty(JSC::Identifier::fromString(vm, "SIGPROF"_s), JSC::jsNumber(27)); - exportProperty(JSC::Identifier::fromString(vm, "SIGWINCH"_s), JSC::jsNumber(28)); - exportProperty(JSC::Identifier::fromString(vm, "SIGIO"_s), JSC::jsNumber(29)); - exportProperty(JSC::Identifier::fromString(vm, "SIGPOLL"_s), JSC::jsNumber(29)); - exportProperty(JSC::Identifier::fromString(vm, "SIGPWR"_s), JSC::jsNumber(30)); - exportProperty(JSC::Identifier::fromString(vm, "SIGSYS"_s), JSC::jsNumber(31)); - exportProperty(JSC::Identifier::fromString(vm, "UV_FS_SYMLINK_DIR"_s), JSC::jsNumber(1)); - exportProperty(JSC::Identifier::fromString(vm, "UV_FS_SYMLINK_JUNCTION"_s), JSC::jsNumber(2)); - exportProperty(JSC::Identifier::fromString(vm, "O_RDONLY"_s), JSC::jsNumber(0)); - exportProperty(JSC::Identifier::fromString(vm, "O_WRONLY"_s), JSC::jsNumber(1)); - exportProperty(JSC::Identifier::fromString(vm, "O_RDWR"_s), JSC::jsNumber(2)); - exportProperty(JSC::Identifier::fromString(vm, "UV_DIRENT_UNKNOWN"_s), JSC::jsNumber(0)); - exportProperty(JSC::Identifier::fromString(vm, "UV_DIRENT_FILE"_s), JSC::jsNumber(1)); - exportProperty(JSC::Identifier::fromString(vm, "UV_DIRENT_DIR"_s), JSC::jsNumber(2)); - exportProperty(JSC::Identifier::fromString(vm, "UV_DIRENT_LINK"_s), JSC::jsNumber(3)); - exportProperty(JSC::Identifier::fromString(vm, "UV_DIRENT_FIFO"_s), JSC::jsNumber(4)); - exportProperty(JSC::Identifier::fromString(vm, "UV_DIRENT_SOCKET"_s), JSC::jsNumber(5)); - exportProperty(JSC::Identifier::fromString(vm, "UV_DIRENT_CHAR"_s), JSC::jsNumber(6)); - exportProperty(JSC::Identifier::fromString(vm, "UV_DIRENT_BLOCK"_s), JSC::jsNumber(7)); - exportProperty(JSC::Identifier::fromString(vm, "S_IFMT"_s), JSC::jsNumber(61440)); - exportProperty(JSC::Identifier::fromString(vm, "S_IFREG"_s), JSC::jsNumber(32768)); - exportProperty(JSC::Identifier::fromString(vm, "S_IFDIR"_s), JSC::jsNumber(16384)); - exportProperty(JSC::Identifier::fromString(vm, "S_IFCHR"_s), JSC::jsNumber(8192)); - exportProperty(JSC::Identifier::fromString(vm, "S_IFBLK"_s), JSC::jsNumber(24576)); - exportProperty(JSC::Identifier::fromString(vm, "S_IFIFO"_s), JSC::jsNumber(4096)); - exportProperty(JSC::Identifier::fromString(vm, "S_IFLNK"_s), JSC::jsNumber(40960)); - exportProperty(JSC::Identifier::fromString(vm, "S_IFSOCK"_s), JSC::jsNumber(49152)); - exportProperty(JSC::Identifier::fromString(vm, "O_CREAT"_s), JSC::jsNumber(64)); - exportProperty(JSC::Identifier::fromString(vm, "O_EXCL"_s), JSC::jsNumber(128)); - exportProperty(JSC::Identifier::fromString(vm, "UV_FS_O_FILEMAP"_s), JSC::jsNumber(0)); - exportProperty(JSC::Identifier::fromString(vm, "O_NOCTTY"_s), JSC::jsNumber(256)); - exportProperty(JSC::Identifier::fromString(vm, "O_TRUNC"_s), JSC::jsNumber(512)); - exportProperty(JSC::Identifier::fromString(vm, "O_APPEND"_s), JSC::jsNumber(1024)); - exportProperty(JSC::Identifier::fromString(vm, "O_DIRECTORY"_s), JSC::jsNumber(65536)); - exportProperty(JSC::Identifier::fromString(vm, "O_NOATIME"_s), JSC::jsNumber(262144)); - exportProperty(JSC::Identifier::fromString(vm, "O_NOFOLLOW"_s), JSC::jsNumber(131072)); - exportProperty(JSC::Identifier::fromString(vm, "O_SYNC"_s), JSC::jsNumber(1052672)); - exportProperty(JSC::Identifier::fromString(vm, "O_DSYNC"_s), JSC::jsNumber(4096)); - exportProperty(JSC::Identifier::fromString(vm, "O_DIRECT"_s), JSC::jsNumber(16384)); - exportProperty(JSC::Identifier::fromString(vm, "O_NONBLOCK"_s), JSC::jsNumber(2048)); - exportProperty(JSC::Identifier::fromString(vm, "S_IRWXU"_s), JSC::jsNumber(448)); - exportProperty(JSC::Identifier::fromString(vm, "S_IRUSR"_s), JSC::jsNumber(256)); - exportProperty(JSC::Identifier::fromString(vm, "S_IWUSR"_s), JSC::jsNumber(128)); - exportProperty(JSC::Identifier::fromString(vm, "S_IXUSR"_s), JSC::jsNumber(64)); - exportProperty(JSC::Identifier::fromString(vm, "S_IRWXG"_s), JSC::jsNumber(56)); - exportProperty(JSC::Identifier::fromString(vm, "S_IRGRP"_s), JSC::jsNumber(32)); - exportProperty(JSC::Identifier::fromString(vm, "S_IWGRP"_s), JSC::jsNumber(16)); - exportProperty(JSC::Identifier::fromString(vm, "S_IXGRP"_s), JSC::jsNumber(8)); - exportProperty(JSC::Identifier::fromString(vm, "S_IRWXO"_s), JSC::jsNumber(7)); - exportProperty(JSC::Identifier::fromString(vm, "S_IROTH"_s), JSC::jsNumber(4)); - exportProperty(JSC::Identifier::fromString(vm, "S_IWOTH"_s), JSC::jsNumber(2)); - exportProperty(JSC::Identifier::fromString(vm, "S_IXOTH"_s), JSC::jsNumber(1)); - exportProperty(JSC::Identifier::fromString(vm, "F_OK"_s), JSC::jsNumber(0)); - exportProperty(JSC::Identifier::fromString(vm, "R_OK"_s), JSC::jsNumber(4)); - exportProperty(JSC::Identifier::fromString(vm, "W_OK"_s), JSC::jsNumber(2)); - exportProperty(JSC::Identifier::fromString(vm, "X_OK"_s), JSC::jsNumber(1)); - exportProperty(JSC::Identifier::fromString(vm, "UV_FS_COPYFILE_EXCL"_s), JSC::jsNumber(1)); - exportProperty(JSC::Identifier::fromString(vm, "COPYFILE_EXCL"_s), JSC::jsNumber(1)); - exportProperty(JSC::Identifier::fromString(vm, "UV_FS_COPYFILE_FICLONE"_s), JSC::jsNumber(2)); - exportProperty(JSC::Identifier::fromString(vm, "COPYFILE_FICLONE"_s), JSC::jsNumber(2)); - exportProperty(JSC::Identifier::fromString(vm, "UV_FS_COPYFILE_FICLONE_FORCE"_s), JSC::jsNumber(4)); - exportProperty(JSC::Identifier::fromString(vm, "COPYFILE_FICLONE_FORCE"_s), JSC::jsNumber(4)); - exportProperty(JSC::Identifier::fromString(vm, "OPENSSL_VERSION_NUMBER"_s), JSC::jsNumber(805306496)); - exportProperty(JSC::Identifier::fromString(vm, "SSL_OP_ALL"_s), JSC::jsNumber(2147485776)); - exportProperty(JSC::Identifier::fromString(vm, "SSL_OP_ALLOW_NO_DHE_KEX"_s), JSC::jsNumber(1024)); - exportProperty(JSC::Identifier::fromString(vm, "SSL_OP_ALLOW_UNSAFE_LEGACY_RENEGOTIATION"_s), JSC::jsNumber(262144)); - exportProperty(JSC::Identifier::fromString(vm, "SSL_OP_CIPHER_SERVER_PREFERENCE"_s), JSC::jsNumber(4194304)); - exportProperty(JSC::Identifier::fromString(vm, "SSL_OP_CISCO_ANYCONNECT"_s), JSC::jsNumber(32768)); - exportProperty(JSC::Identifier::fromString(vm, "SSL_OP_COOKIE_EXCHANGE"_s), JSC::jsNumber(8192)); - exportProperty(JSC::Identifier::fromString(vm, "SSL_OP_CRYPTOPRO_TLSEXT_BUG"_s), JSC::jsNumber(2147483648)); - exportProperty(JSC::Identifier::fromString(vm, "SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS"_s), JSC::jsNumber(2048)); - exportProperty(JSC::Identifier::fromString(vm, "SSL_OP_LEGACY_SERVER_CONNECT"_s), JSC::jsNumber(4)); - exportProperty(JSC::Identifier::fromString(vm, "SSL_OP_NO_COMPRESSION"_s), JSC::jsNumber(131072)); - exportProperty(JSC::Identifier::fromString(vm, "SSL_OP_NO_ENCRYPT_THEN_MAC"_s), JSC::jsNumber(524288)); - exportProperty(JSC::Identifier::fromString(vm, "SSL_OP_NO_QUERY_MTU"_s), JSC::jsNumber(4096)); - exportProperty(JSC::Identifier::fromString(vm, "SSL_OP_NO_RENEGOTIATION"_s), JSC::jsNumber(1073741824)); - exportProperty(JSC::Identifier::fromString(vm, "SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION"_s), JSC::jsNumber(65536)); - exportProperty(JSC::Identifier::fromString(vm, "SSL_OP_NO_SSLv2"_s), JSC::jsNumber(0)); - exportProperty(JSC::Identifier::fromString(vm, "SSL_OP_NO_SSLv3"_s), JSC::jsNumber(33554432)); - exportProperty(JSC::Identifier::fromString(vm, "SSL_OP_NO_TICKET"_s), JSC::jsNumber(16384)); - exportProperty(JSC::Identifier::fromString(vm, "SSL_OP_NO_TLSv1"_s), JSC::jsNumber(67108864)); - exportProperty(JSC::Identifier::fromString(vm, "SSL_OP_NO_TLSv1_1"_s), JSC::jsNumber(268435456)); - exportProperty(JSC::Identifier::fromString(vm, "SSL_OP_NO_TLSv1_2"_s), JSC::jsNumber(134217728)); - exportProperty(JSC::Identifier::fromString(vm, "SSL_OP_NO_TLSv1_3"_s), JSC::jsNumber(536870912)); - exportProperty(JSC::Identifier::fromString(vm, "SSL_OP_PRIORITIZE_CHACHA"_s), JSC::jsNumber(2097152)); - exportProperty(JSC::Identifier::fromString(vm, "SSL_OP_TLS_ROLLBACK_BUG"_s), JSC::jsNumber(8388608)); - exportProperty(JSC::Identifier::fromString(vm, "ENGINE_METHOD_RSA"_s), JSC::jsNumber(1)); - exportProperty(JSC::Identifier::fromString(vm, "ENGINE_METHOD_DSA"_s), JSC::jsNumber(2)); - exportProperty(JSC::Identifier::fromString(vm, "ENGINE_METHOD_DH"_s), JSC::jsNumber(4)); - exportProperty(JSC::Identifier::fromString(vm, "ENGINE_METHOD_RAND"_s), JSC::jsNumber(8)); - exportProperty(JSC::Identifier::fromString(vm, "ENGINE_METHOD_EC"_s), JSC::jsNumber(2048)); - exportProperty(JSC::Identifier::fromString(vm, "ENGINE_METHOD_CIPHERS"_s), JSC::jsNumber(64)); - exportProperty(JSC::Identifier::fromString(vm, "ENGINE_METHOD_DIGESTS"_s), JSC::jsNumber(128)); - exportProperty(JSC::Identifier::fromString(vm, "ENGINE_METHOD_PKEY_METHS"_s), JSC::jsNumber(512)); - exportProperty(JSC::Identifier::fromString(vm, "ENGINE_METHOD_PKEY_ASN1_METHS"_s), JSC::jsNumber(1024)); - exportProperty(JSC::Identifier::fromString(vm, "ENGINE_METHOD_ALL"_s), JSC::jsNumber(65535)); - exportProperty(JSC::Identifier::fromString(vm, "ENGINE_METHOD_NONE"_s), JSC::jsNumber(0)); - exportProperty(JSC::Identifier::fromString(vm, "DH_CHECK_P_NOT_SAFE_PRIME"_s), JSC::jsNumber(2)); - exportProperty(JSC::Identifier::fromString(vm, "DH_CHECK_P_NOT_PRIME"_s), JSC::jsNumber(1)); - exportProperty(JSC::Identifier::fromString(vm, "DH_UNABLE_TO_CHECK_GENERATOR"_s), JSC::jsNumber(4)); - exportProperty(JSC::Identifier::fromString(vm, "DH_NOT_SUITABLE_GENERATOR"_s), JSC::jsNumber(8)); - exportProperty(JSC::Identifier::fromString(vm, "RSA_PKCS1_PADDING"_s), JSC::jsNumber(1)); - exportProperty(JSC::Identifier::fromString(vm, "RSA_NO_PADDING"_s), JSC::jsNumber(3)); - exportProperty(JSC::Identifier::fromString(vm, "RSA_PKCS1_OAEP_PADDING"_s), JSC::jsNumber(4)); - exportProperty(JSC::Identifier::fromString(vm, "RSA_X931_PADDING"_s), JSC::jsNumber(5)); - exportProperty(JSC::Identifier::fromString(vm, "RSA_PKCS1_PSS_PADDING"_s), JSC::jsNumber(6)); - exportProperty(JSC::Identifier::fromString(vm, "RSA_PSS_SALTLEN_DIGEST"_s), JSC::jsNumber(-1)); - exportProperty(JSC::Identifier::fromString(vm, "RSA_PSS_SALTLEN_MAX_SIGN"_s), JSC::jsNumber(-2)); - exportProperty(JSC::Identifier::fromString(vm, "RSA_PSS_SALTLEN_AUTO"_s), JSC::jsNumber(-2)); - exportProperty(JSC::Identifier::fromString(vm, "defaultCoreCipherList"_s), JSC::jsString(vm, WTF::String::fromUTF8("DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256"))); - exportProperty(JSC::Identifier::fromString(vm, "TLS1_VERSION"_s), JSC::jsNumber(769)); - exportProperty(JSC::Identifier::fromString(vm, "TLS1_1_VERSION"_s), JSC::jsNumber(770)); - exportProperty(JSC::Identifier::fromString(vm, "TLS1_2_VERSION"_s), JSC::jsNumber(771)); - exportProperty(JSC::Identifier::fromString(vm, "TLS1_3_VERSION"_s), JSC::jsNumber(772)); - exportProperty(JSC::Identifier::fromString(vm, "POINT_CONVERSION_COMPRESSED"_s), JSC::jsNumber(2)); - exportProperty(JSC::Identifier::fromString(vm, "POINT_CONVERSION_UNCOMPRESSED"_s), JSC::jsNumber(4)); - exportProperty(JSC::Identifier::fromString(vm, "POINT_CONVERSION_HYBRID"_s), JSC::jsNumber(6)); - - exportNames.append(vm.propertyNames->defaultKeyword); - exportValues.append(defaultObject); -} - -} // namespace Zig diff --git a/src/bun.js/modules/EventsModule.h b/src/bun.js/modules/EventsModule.h deleted file mode 100644 index 7d53ff838fe92..0000000000000 --- a/src/bun.js/modules/EventsModule.h +++ /dev/null @@ -1,58 +0,0 @@ -#include "JavaScriptCore/JSGlobalObject.h" -#include "ZigGlobalObject.h" - -namespace Zig { -using namespace WebCore; - -inline void generateEventsSourceCode(JSC::JSGlobalObject *lexicalGlobalObject, - JSC::Identifier moduleKey, - Vector &exportNames, - JSC::MarkedArgumentBuffer &exportValues) { - JSC::VM &vm = lexicalGlobalObject->vm(); - GlobalObject *globalObject = - reinterpret_cast(lexicalGlobalObject); - - exportNames.append(JSC::Identifier::fromString(vm, "EventEmitter"_s)); - exportValues.append( - WebCore::JSEventEmitter::getConstructor(vm, globalObject)); - - exportNames.append(JSC::Identifier::fromString(vm, "getEventListeners"_s)); - exportValues.append(JSC::JSFunction::create( - vm, lexicalGlobalObject, 0, MAKE_STATIC_STRING_IMPL("getEventListeners"), - Events_functionGetEventListeners, ImplementationVisibility::Public)); - exportNames.append(JSC::Identifier::fromString(vm, "listenerCount"_s)); - exportValues.append(JSC::JSFunction::create( - vm, lexicalGlobalObject, 0, MAKE_STATIC_STRING_IMPL("listenerCount"), - Events_functionListenerCount, ImplementationVisibility::Public)); - exportNames.append(JSC::Identifier::fromString(vm, "once"_s)); - exportValues.append(JSC::JSFunction::create( - vm, lexicalGlobalObject, 0, MAKE_STATIC_STRING_IMPL("once"), - Events_functionOnce, ImplementationVisibility::Public)); - exportNames.append(JSC::Identifier::fromString(vm, "on"_s)); - exportValues.append(JSC::JSFunction::create( - vm, lexicalGlobalObject, 0, MAKE_STATIC_STRING_IMPL("on"), - Events_functionOn, ImplementationVisibility::Public)); - exportNames.append( - JSC::Identifier::fromString(vm, "captureRejectionSymbol"_s)); - exportValues.append(Symbol::create( - vm, vm.symbolRegistry().symbolForKey("nodejs.rejection"_s))); - - JSFunction *eventEmitterModuleCJS = - jsCast(WebCore::JSEventEmitter::getConstructor( - vm, reinterpret_cast(globalObject))); - - eventEmitterModuleCJS->putDirect( - vm, - PropertyName( - Identifier::fromUid(vm.symbolRegistry().symbolForKey("CommonJS"_s))), - jsNumber(0), 0); - - for (size_t i = 0; i < exportNames.size(); i++) { - eventEmitterModuleCJS->putDirect(vm, exportNames[i], exportValues.at(i), 0); - } - - exportNames.append(JSC::Identifier::fromString(vm, "default"_s)); - exportValues.append(eventEmitterModuleCJS); -} - -} // namespace Zig diff --git a/src/bun.js/modules/BufferModule.h b/src/bun.js/modules/NodeBufferModule.h similarity index 65% rename from src/bun.js/modules/BufferModule.h rename to src/bun.js/modules/NodeBufferModule.h index 6e6e39e9cf1b3..5c6acd48e8886 100644 --- a/src/bun.js/modules/BufferModule.h +++ b/src/bun.js/modules/NodeBufferModule.h @@ -1,7 +1,5 @@ #include "../bindings/JSBuffer.h" -#include "../bindings/ZigGlobalObject.h" -#include "JavaScriptCore/JSGlobalObject.h" -#include "JavaScriptCore/ObjectConstructor.h" +#include "_NativeModule.h" #include "simdutf.h" namespace Zig { @@ -134,33 +132,11 @@ JSC_DEFINE_HOST_FUNCTION(jsFunctionNotImplemented, return JSValue::encode(jsUndefined()); } -inline void generateBufferSourceCode(JSC::JSGlobalObject *lexicalGlobalObject, - JSC::Identifier moduleKey, - Vector &exportNames, - JSC::MarkedArgumentBuffer &exportValues) { - JSC::VM &vm = lexicalGlobalObject->vm(); - GlobalObject *globalObject = - reinterpret_cast(lexicalGlobalObject); +DEFINE_NATIVE_MODULE(NodeBuffer) { + INIT_NATIVE_MODULE(12); - JSC::JSObject *defaultObject = JSC::constructEmptyObject( - globalObject, globalObject->objectPrototype(), 12); - - auto CommonJS = - Identifier::fromUid(vm.symbolRegistry().symbolForKey("CommonJS"_s)); - - defaultObject->putDirect(vm, PropertyName(CommonJS), jsNumber(0), 0); - - exportNames.append(CommonJS); - exportValues.append(jsNumber(0)); - - auto exportProperty = [&](JSC::Identifier name, JSC::JSValue value) { - exportNames.append(name); - exportValues.append(value); - defaultObject->putDirect(vm, name, value, 0); - }; - - exportProperty(JSC::Identifier::fromString(vm, "Buffer"_s), - globalObject->JSBufferConstructor()); + put(JSC::Identifier::fromString(vm, "Buffer"_s), + globalObject->JSBufferConstructor()); auto *slowBuffer = JSC::JSFunction::create( vm, globalObject, 0, "SlowBuffer"_s, WebCore::constructSlowBuffer, @@ -170,24 +146,24 @@ inline void generateBufferSourceCode(JSC::JSGlobalObject *lexicalGlobalObject, vm, vm.propertyNames->prototype, globalObject->JSBufferPrototype(), JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::DontEnum | JSC::PropertyAttribute::DontDelete); - exportProperty(JSC::Identifier::fromString(vm, "SlowBuffer"_s), slowBuffer); + put(JSC::Identifier::fromString(vm, "SlowBuffer"_s), slowBuffer); auto blobIdent = JSC::Identifier::fromString(vm, "Blob"_s); JSValue blobValue = lexicalGlobalObject->get(globalObject, PropertyName(blobIdent)); - exportProperty(blobIdent, blobValue); + put(blobIdent, blobValue); // TODO: implement File - exportProperty(JSC::Identifier::fromString(vm, "File"_s), blobValue); + put(JSC::Identifier::fromString(vm, "File"_s), blobValue); - exportProperty(JSC::Identifier::fromString(vm, "INSPECT_MAX_BYTES"_s), - JSC::jsNumber(50)); + put(JSC::Identifier::fromString(vm, "INSPECT_MAX_BYTES"_s), + JSC::jsNumber(50)); - exportProperty(JSC::Identifier::fromString(vm, "kMaxLength"_s), - JSC::jsNumber(4294967296LL)); + put(JSC::Identifier::fromString(vm, "kMaxLength"_s), + JSC::jsNumber(4294967296LL)); - exportProperty(JSC::Identifier::fromString(vm, "kStringMaxLength"_s), - JSC::jsNumber(536870888)); + put(JSC::Identifier::fromString(vm, "kStringMaxLength"_s), + JSC::jsNumber(536870888)); JSC::JSObject *constants = JSC::constructEmptyObject( lexicalGlobalObject, globalObject->objectPrototype(), 2); @@ -197,7 +173,7 @@ inline void generateBufferSourceCode(JSC::JSGlobalObject *lexicalGlobalObject, JSC::Identifier::fromString(vm, "MAX_STRING_LENGTH"_s), JSC::jsNumber(536870888)); - exportProperty(JSC::Identifier::fromString(vm, "constants"_s), constants); + put(JSC::Identifier::fromString(vm, "constants"_s), constants); JSC::Identifier atobI = JSC::Identifier::fromString(vm, "atob"_s); JSC::JSValue atobV = @@ -207,37 +183,31 @@ inline void generateBufferSourceCode(JSC::JSGlobalObject *lexicalGlobalObject, JSC::JSValue btoaV = lexicalGlobalObject->get(globalObject, PropertyName(btoaI)); - exportProperty(atobI, atobV); - exportProperty(btoaI, btoaV); + put(atobI, atobV); + put(btoaI, btoaV); auto *transcode = InternalFunction::createFunctionThatMasqueradesAsUndefined( vm, globalObject, 1, "transcode"_s, jsFunctionNotImplemented); - exportProperty(JSC::Identifier::fromString(vm, "transcode"_s), transcode); + put(JSC::Identifier::fromString(vm, "transcode"_s), transcode); auto *resolveObjectURL = InternalFunction::createFunctionThatMasqueradesAsUndefined( vm, globalObject, 1, "resolveObjectURL"_s, jsFunctionNotImplemented); - exportProperty(JSC::Identifier::fromString(vm, "resolveObjectURL"_s), - resolveObjectURL); - - exportProperty(JSC::Identifier::fromString(vm, "isAscii"_s), - JSC::JSFunction::create(vm, globalObject, 1, "isAscii"_s, - jsBufferConstructorFunction_isAscii, - ImplementationVisibility::Public, - NoIntrinsic, - jsBufferConstructorFunction_isUtf8)); - - exportProperty(JSC::Identifier::fromString(vm, "isUtf8"_s), - JSC::JSFunction::create(vm, globalObject, 1, "isUtf8"_s, - jsBufferConstructorFunction_isUtf8, - ImplementationVisibility::Public, - NoIntrinsic, - jsBufferConstructorFunction_isUtf8)); - - exportNames.append(vm.propertyNames->defaultKeyword); - exportValues.append(defaultObject); + put(JSC::Identifier::fromString(vm, "resolveObjectURL"_s), resolveObjectURL); + + put(JSC::Identifier::fromString(vm, "isAscii"_s), + JSC::JSFunction::create(vm, globalObject, 1, "isAscii"_s, + jsBufferConstructorFunction_isAscii, + ImplementationVisibility::Public, NoIntrinsic, + jsBufferConstructorFunction_isUtf8)); + + put(JSC::Identifier::fromString(vm, "isUtf8"_s), + JSC::JSFunction::create(vm, globalObject, 1, "isUtf8"_s, + jsBufferConstructorFunction_isUtf8, + ImplementationVisibility::Public, NoIntrinsic, + jsBufferConstructorFunction_isUtf8)); } } // namespace Zig diff --git a/src/bun.js/modules/NodeConstantsModule.h b/src/bun.js/modules/NodeConstantsModule.h new file mode 100644 index 0000000000000..a06a09f8fe78d --- /dev/null +++ b/src/bun.js/modules/NodeConstantsModule.h @@ -0,0 +1,304 @@ +#include "_NativeModule.h" + +namespace Zig { +using namespace WebCore; + +DEFINE_NATIVE_MODULE(NodeConstants) { + INIT_NATIVE_MODULE(5); + + put(JSC::Identifier::fromString(vm, "RTLD_LAZY"_s), JSC::jsNumber(1)); + put(JSC::Identifier::fromString(vm, "RTLD_NOW"_s), JSC::jsNumber(2)); + put(JSC::Identifier::fromString(vm, "RTLD_GLOBAL"_s), JSC::jsNumber(256)); + put(JSC::Identifier::fromString(vm, "RTLD_LOCAL"_s), JSC::jsNumber(0)); + put(JSC::Identifier::fromString(vm, "RTLD_DEEPBIND"_s), JSC::jsNumber(8)); + put(JSC::Identifier::fromString(vm, "E2BIG"_s), JSC::jsNumber(7)); + put(JSC::Identifier::fromString(vm, "EACCES"_s), JSC::jsNumber(13)); + put(JSC::Identifier::fromString(vm, "EADDRINUSE"_s), JSC::jsNumber(98)); + put(JSC::Identifier::fromString(vm, "EADDRNOTAVAIL"_s), JSC::jsNumber(99)); + put(JSC::Identifier::fromString(vm, "EAFNOSUPPORT"_s), JSC::jsNumber(97)); + put(JSC::Identifier::fromString(vm, "EAGAIN"_s), JSC::jsNumber(11)); + put(JSC::Identifier::fromString(vm, "EALREADY"_s), JSC::jsNumber(114)); + put(JSC::Identifier::fromString(vm, "EBADF"_s), JSC::jsNumber(9)); + put(JSC::Identifier::fromString(vm, "EBADMSG"_s), JSC::jsNumber(74)); + put(JSC::Identifier::fromString(vm, "EBUSY"_s), JSC::jsNumber(16)); + put(JSC::Identifier::fromString(vm, "ECANCELED"_s), JSC::jsNumber(125)); + put(JSC::Identifier::fromString(vm, "ECHILD"_s), JSC::jsNumber(10)); + put(JSC::Identifier::fromString(vm, "ECONNABORTED"_s), JSC::jsNumber(103)); + put(JSC::Identifier::fromString(vm, "ECONNREFUSED"_s), JSC::jsNumber(111)); + put(JSC::Identifier::fromString(vm, "ECONNRESET"_s), JSC::jsNumber(104)); + put(JSC::Identifier::fromString(vm, "EDEADLK"_s), JSC::jsNumber(35)); + put(JSC::Identifier::fromString(vm, "EDESTADDRREQ"_s), JSC::jsNumber(89)); + put(JSC::Identifier::fromString(vm, "EDOM"_s), JSC::jsNumber(33)); + put(JSC::Identifier::fromString(vm, "EDQUOT"_s), JSC::jsNumber(122)); + put(JSC::Identifier::fromString(vm, "EEXIST"_s), JSC::jsNumber(17)); + put(JSC::Identifier::fromString(vm, "EFAULT"_s), JSC::jsNumber(14)); + put(JSC::Identifier::fromString(vm, "EFBIG"_s), JSC::jsNumber(27)); + put(JSC::Identifier::fromString(vm, "EHOSTUNREACH"_s), JSC::jsNumber(113)); + put(JSC::Identifier::fromString(vm, "EIDRM"_s), JSC::jsNumber(43)); + put(JSC::Identifier::fromString(vm, "EILSEQ"_s), JSC::jsNumber(84)); + put(JSC::Identifier::fromString(vm, "EINPROGRESS"_s), JSC::jsNumber(115)); + put(JSC::Identifier::fromString(vm, "EINTR"_s), JSC::jsNumber(4)); + put(JSC::Identifier::fromString(vm, "EINVAL"_s), JSC::jsNumber(22)); + put(JSC::Identifier::fromString(vm, "EIO"_s), JSC::jsNumber(5)); + put(JSC::Identifier::fromString(vm, "EISCONN"_s), JSC::jsNumber(106)); + put(JSC::Identifier::fromString(vm, "EISDIR"_s), JSC::jsNumber(21)); + put(JSC::Identifier::fromString(vm, "ELOOP"_s), JSC::jsNumber(40)); + put(JSC::Identifier::fromString(vm, "EMFILE"_s), JSC::jsNumber(24)); + put(JSC::Identifier::fromString(vm, "EMLINK"_s), JSC::jsNumber(31)); + put(JSC::Identifier::fromString(vm, "EMSGSIZE"_s), JSC::jsNumber(90)); + put(JSC::Identifier::fromString(vm, "EMULTIHOP"_s), JSC::jsNumber(72)); + put(JSC::Identifier::fromString(vm, "ENAMETOOLONG"_s), JSC::jsNumber(36)); + put(JSC::Identifier::fromString(vm, "ENETDOWN"_s), JSC::jsNumber(100)); + put(JSC::Identifier::fromString(vm, "ENETRESET"_s), JSC::jsNumber(102)); + put(JSC::Identifier::fromString(vm, "ENETUNREACH"_s), JSC::jsNumber(101)); + put(JSC::Identifier::fromString(vm, "ENFILE"_s), JSC::jsNumber(23)); + put(JSC::Identifier::fromString(vm, "ENOBUFS"_s), JSC::jsNumber(105)); + put(JSC::Identifier::fromString(vm, "ENODATA"_s), JSC::jsNumber(61)); + put(JSC::Identifier::fromString(vm, "ENODEV"_s), JSC::jsNumber(19)); + put(JSC::Identifier::fromString(vm, "ENOENT"_s), JSC::jsNumber(2)); + put(JSC::Identifier::fromString(vm, "ENOEXEC"_s), JSC::jsNumber(8)); + put(JSC::Identifier::fromString(vm, "ENOLCK"_s), JSC::jsNumber(37)); + put(JSC::Identifier::fromString(vm, "ENOLINK"_s), JSC::jsNumber(67)); + put(JSC::Identifier::fromString(vm, "ENOMEM"_s), JSC::jsNumber(12)); + put(JSC::Identifier::fromString(vm, "ENOMSG"_s), JSC::jsNumber(42)); + put(JSC::Identifier::fromString(vm, "ENOPROTOOPT"_s), JSC::jsNumber(92)); + put(JSC::Identifier::fromString(vm, "ENOSPC"_s), JSC::jsNumber(28)); + put(JSC::Identifier::fromString(vm, "ENOSR"_s), JSC::jsNumber(63)); + put(JSC::Identifier::fromString(vm, "ENOSTR"_s), JSC::jsNumber(60)); + put(JSC::Identifier::fromString(vm, "ENOSYS"_s), JSC::jsNumber(38)); + put(JSC::Identifier::fromString(vm, "ENOTCONN"_s), JSC::jsNumber(107)); + put(JSC::Identifier::fromString(vm, "ENOTDIR"_s), JSC::jsNumber(20)); + put(JSC::Identifier::fromString(vm, "ENOTEMPTY"_s), JSC::jsNumber(39)); + put(JSC::Identifier::fromString(vm, "ENOTSOCK"_s), JSC::jsNumber(88)); + put(JSC::Identifier::fromString(vm, "ENOTSUP"_s), JSC::jsNumber(95)); + put(JSC::Identifier::fromString(vm, "ENOTTY"_s), JSC::jsNumber(25)); + put(JSC::Identifier::fromString(vm, "ENXIO"_s), JSC::jsNumber(6)); + put(JSC::Identifier::fromString(vm, "EOPNOTSUPP"_s), JSC::jsNumber(95)); + put(JSC::Identifier::fromString(vm, "EOVERFLOW"_s), JSC::jsNumber(75)); + put(JSC::Identifier::fromString(vm, "EPERM"_s), JSC::jsNumber(1)); + put(JSC::Identifier::fromString(vm, "EPIPE"_s), JSC::jsNumber(32)); + put(JSC::Identifier::fromString(vm, "EPROTO"_s), JSC::jsNumber(71)); + put(JSC::Identifier::fromString(vm, "EPROTONOSUPPORT"_s), JSC::jsNumber(93)); + put(JSC::Identifier::fromString(vm, "EPROTOTYPE"_s), JSC::jsNumber(91)); + put(JSC::Identifier::fromString(vm, "ERANGE"_s), JSC::jsNumber(34)); + put(JSC::Identifier::fromString(vm, "EROFS"_s), JSC::jsNumber(30)); + put(JSC::Identifier::fromString(vm, "ESPIPE"_s), JSC::jsNumber(29)); + put(JSC::Identifier::fromString(vm, "ESRCH"_s), JSC::jsNumber(3)); + put(JSC::Identifier::fromString(vm, "ESTALE"_s), JSC::jsNumber(116)); + put(JSC::Identifier::fromString(vm, "ETIME"_s), JSC::jsNumber(62)); + put(JSC::Identifier::fromString(vm, "ETIMEDOUT"_s), JSC::jsNumber(110)); + put(JSC::Identifier::fromString(vm, "ETXTBSY"_s), JSC::jsNumber(26)); + put(JSC::Identifier::fromString(vm, "EWOULDBLOCK"_s), JSC::jsNumber(11)); + put(JSC::Identifier::fromString(vm, "EXDEV"_s), JSC::jsNumber(18)); + put(JSC::Identifier::fromString(vm, "PRIORITY_LOW"_s), JSC::jsNumber(19)); + put(JSC::Identifier::fromString(vm, "PRIORITY_BELOW_NORMAL"_s), + JSC::jsNumber(10)); + put(JSC::Identifier::fromString(vm, "PRIORITY_NORMAL"_s), JSC::jsNumber(0)); + put(JSC::Identifier::fromString(vm, "PRIORITY_ABOVE_NORMAL"_s), + JSC::jsNumber(-7)); + put(JSC::Identifier::fromString(vm, "PRIORITY_HIGH"_s), JSC::jsNumber(-14)); + put(JSC::Identifier::fromString(vm, "PRIORITY_HIGHEST"_s), + JSC::jsNumber(-20)); + put(JSC::Identifier::fromString(vm, "SIGHUP"_s), JSC::jsNumber(1)); + put(JSC::Identifier::fromString(vm, "SIGINT"_s), JSC::jsNumber(2)); + put(JSC::Identifier::fromString(vm, "SIGQUIT"_s), JSC::jsNumber(3)); + put(JSC::Identifier::fromString(vm, "SIGILL"_s), JSC::jsNumber(4)); + put(JSC::Identifier::fromString(vm, "SIGTRAP"_s), JSC::jsNumber(5)); + put(JSC::Identifier::fromString(vm, "SIGABRT"_s), JSC::jsNumber(6)); + put(JSC::Identifier::fromString(vm, "SIGIOT"_s), JSC::jsNumber(6)); + put(JSC::Identifier::fromString(vm, "SIGBUS"_s), JSC::jsNumber(7)); + put(JSC::Identifier::fromString(vm, "SIGFPE"_s), JSC::jsNumber(8)); + put(JSC::Identifier::fromString(vm, "SIGKILL"_s), JSC::jsNumber(9)); + put(JSC::Identifier::fromString(vm, "SIGUSR1"_s), JSC::jsNumber(10)); + put(JSC::Identifier::fromString(vm, "SIGSEGV"_s), JSC::jsNumber(11)); + put(JSC::Identifier::fromString(vm, "SIGUSR2"_s), JSC::jsNumber(12)); + put(JSC::Identifier::fromString(vm, "SIGPIPE"_s), JSC::jsNumber(13)); + put(JSC::Identifier::fromString(vm, "SIGALRM"_s), JSC::jsNumber(14)); + put(JSC::Identifier::fromString(vm, "SIGTERM"_s), JSC::jsNumber(15)); + put(JSC::Identifier::fromString(vm, "SIGCHLD"_s), JSC::jsNumber(17)); + put(JSC::Identifier::fromString(vm, "SIGSTKFLT"_s), JSC::jsNumber(16)); + put(JSC::Identifier::fromString(vm, "SIGCONT"_s), JSC::jsNumber(18)); + put(JSC::Identifier::fromString(vm, "SIGSTOP"_s), JSC::jsNumber(19)); + put(JSC::Identifier::fromString(vm, "SIGTSTP"_s), JSC::jsNumber(20)); + put(JSC::Identifier::fromString(vm, "SIGTTIN"_s), JSC::jsNumber(21)); + put(JSC::Identifier::fromString(vm, "SIGTTOU"_s), JSC::jsNumber(22)); + put(JSC::Identifier::fromString(vm, "SIGURG"_s), JSC::jsNumber(23)); + put(JSC::Identifier::fromString(vm, "SIGXCPU"_s), JSC::jsNumber(24)); + put(JSC::Identifier::fromString(vm, "SIGXFSZ"_s), JSC::jsNumber(25)); + put(JSC::Identifier::fromString(vm, "SIGVTALRM"_s), JSC::jsNumber(26)); + put(JSC::Identifier::fromString(vm, "SIGPROF"_s), JSC::jsNumber(27)); + put(JSC::Identifier::fromString(vm, "SIGWINCH"_s), JSC::jsNumber(28)); + put(JSC::Identifier::fromString(vm, "SIGIO"_s), JSC::jsNumber(29)); + put(JSC::Identifier::fromString(vm, "SIGPOLL"_s), JSC::jsNumber(29)); + put(JSC::Identifier::fromString(vm, "SIGPWR"_s), JSC::jsNumber(30)); + put(JSC::Identifier::fromString(vm, "SIGSYS"_s), JSC::jsNumber(31)); + put(JSC::Identifier::fromString(vm, "UV_FS_SYMLINK_DIR"_s), JSC::jsNumber(1)); + put(JSC::Identifier::fromString(vm, "UV_FS_SYMLINK_JUNCTION"_s), + JSC::jsNumber(2)); + put(JSC::Identifier::fromString(vm, "O_RDONLY"_s), JSC::jsNumber(0)); + put(JSC::Identifier::fromString(vm, "O_WRONLY"_s), JSC::jsNumber(1)); + put(JSC::Identifier::fromString(vm, "O_RDWR"_s), JSC::jsNumber(2)); + put(JSC::Identifier::fromString(vm, "UV_DIRENT_UNKNOWN"_s), JSC::jsNumber(0)); + put(JSC::Identifier::fromString(vm, "UV_DIRENT_FILE"_s), JSC::jsNumber(1)); + put(JSC::Identifier::fromString(vm, "UV_DIRENT_DIR"_s), JSC::jsNumber(2)); + put(JSC::Identifier::fromString(vm, "UV_DIRENT_LINK"_s), JSC::jsNumber(3)); + put(JSC::Identifier::fromString(vm, "UV_DIRENT_FIFO"_s), JSC::jsNumber(4)); + put(JSC::Identifier::fromString(vm, "UV_DIRENT_SOCKET"_s), JSC::jsNumber(5)); + put(JSC::Identifier::fromString(vm, "UV_DIRENT_CHAR"_s), JSC::jsNumber(6)); + put(JSC::Identifier::fromString(vm, "UV_DIRENT_BLOCK"_s), JSC::jsNumber(7)); + put(JSC::Identifier::fromString(vm, "S_IFMT"_s), JSC::jsNumber(61440)); + put(JSC::Identifier::fromString(vm, "S_IFREG"_s), JSC::jsNumber(32768)); + put(JSC::Identifier::fromString(vm, "S_IFDIR"_s), JSC::jsNumber(16384)); + put(JSC::Identifier::fromString(vm, "S_IFCHR"_s), JSC::jsNumber(8192)); + put(JSC::Identifier::fromString(vm, "S_IFBLK"_s), JSC::jsNumber(24576)); + put(JSC::Identifier::fromString(vm, "S_IFIFO"_s), JSC::jsNumber(4096)); + put(JSC::Identifier::fromString(vm, "S_IFLNK"_s), JSC::jsNumber(40960)); + put(JSC::Identifier::fromString(vm, "S_IFSOCK"_s), JSC::jsNumber(49152)); + put(JSC::Identifier::fromString(vm, "O_CREAT"_s), JSC::jsNumber(64)); + put(JSC::Identifier::fromString(vm, "O_EXCL"_s), JSC::jsNumber(128)); + put(JSC::Identifier::fromString(vm, "UV_FS_O_FILEMAP"_s), JSC::jsNumber(0)); + put(JSC::Identifier::fromString(vm, "O_NOCTTY"_s), JSC::jsNumber(256)); + put(JSC::Identifier::fromString(vm, "O_TRUNC"_s), JSC::jsNumber(512)); + put(JSC::Identifier::fromString(vm, "O_APPEND"_s), JSC::jsNumber(1024)); + put(JSC::Identifier::fromString(vm, "O_DIRECTORY"_s), JSC::jsNumber(65536)); + put(JSC::Identifier::fromString(vm, "O_NOATIME"_s), JSC::jsNumber(262144)); + put(JSC::Identifier::fromString(vm, "O_NOFOLLOW"_s), JSC::jsNumber(131072)); + put(JSC::Identifier::fromString(vm, "O_SYNC"_s), JSC::jsNumber(1052672)); + put(JSC::Identifier::fromString(vm, "O_DSYNC"_s), JSC::jsNumber(4096)); + put(JSC::Identifier::fromString(vm, "O_DIRECT"_s), JSC::jsNumber(16384)); + put(JSC::Identifier::fromString(vm, "O_NONBLOCK"_s), JSC::jsNumber(2048)); + put(JSC::Identifier::fromString(vm, "S_IRWXU"_s), JSC::jsNumber(448)); + put(JSC::Identifier::fromString(vm, "S_IRUSR"_s), JSC::jsNumber(256)); + put(JSC::Identifier::fromString(vm, "S_IWUSR"_s), JSC::jsNumber(128)); + put(JSC::Identifier::fromString(vm, "S_IXUSR"_s), JSC::jsNumber(64)); + put(JSC::Identifier::fromString(vm, "S_IRWXG"_s), JSC::jsNumber(56)); + put(JSC::Identifier::fromString(vm, "S_IRGRP"_s), JSC::jsNumber(32)); + put(JSC::Identifier::fromString(vm, "S_IWGRP"_s), JSC::jsNumber(16)); + put(JSC::Identifier::fromString(vm, "S_IXGRP"_s), JSC::jsNumber(8)); + put(JSC::Identifier::fromString(vm, "S_IRWXO"_s), JSC::jsNumber(7)); + put(JSC::Identifier::fromString(vm, "S_IROTH"_s), JSC::jsNumber(4)); + put(JSC::Identifier::fromString(vm, "S_IWOTH"_s), JSC::jsNumber(2)); + put(JSC::Identifier::fromString(vm, "S_IXOTH"_s), JSC::jsNumber(1)); + put(JSC::Identifier::fromString(vm, "F_OK"_s), JSC::jsNumber(0)); + put(JSC::Identifier::fromString(vm, "R_OK"_s), JSC::jsNumber(4)); + put(JSC::Identifier::fromString(vm, "W_OK"_s), JSC::jsNumber(2)); + put(JSC::Identifier::fromString(vm, "X_OK"_s), JSC::jsNumber(1)); + put(JSC::Identifier::fromString(vm, "UV_FS_COPYFILE_EXCL"_s), + JSC::jsNumber(1)); + put(JSC::Identifier::fromString(vm, "COPYFILE_EXCL"_s), JSC::jsNumber(1)); + put(JSC::Identifier::fromString(vm, "UV_FS_COPYFILE_FICLONE"_s), + JSC::jsNumber(2)); + put(JSC::Identifier::fromString(vm, "COPYFILE_FICLONE"_s), JSC::jsNumber(2)); + put(JSC::Identifier::fromString(vm, "UV_FS_COPYFILE_FICLONE_FORCE"_s), + JSC::jsNumber(4)); + put(JSC::Identifier::fromString(vm, "COPYFILE_FICLONE_FORCE"_s), + JSC::jsNumber(4)); + put(JSC::Identifier::fromString(vm, "OPENSSL_VERSION_NUMBER"_s), + JSC::jsNumber(805306496)); + put(JSC::Identifier::fromString(vm, "SSL_OP_ALL"_s), + JSC::jsNumber(2147485776)); + put(JSC::Identifier::fromString(vm, "SSL_OP_ALLOW_NO_DHE_KEX"_s), + JSC::jsNumber(1024)); + put(JSC::Identifier::fromString(vm, + "SSL_OP_ALLOW_UNSAFE_LEGACY_RENEGOTIATION"_s), + JSC::jsNumber(262144)); + put(JSC::Identifier::fromString(vm, "SSL_OP_CIPHER_SERVER_PREFERENCE"_s), + JSC::jsNumber(4194304)); + put(JSC::Identifier::fromString(vm, "SSL_OP_CISCO_ANYCONNECT"_s), + JSC::jsNumber(32768)); + put(JSC::Identifier::fromString(vm, "SSL_OP_COOKIE_EXCHANGE"_s), + JSC::jsNumber(8192)); + put(JSC::Identifier::fromString(vm, "SSL_OP_CRYPTOPRO_TLSEXT_BUG"_s), + JSC::jsNumber(2147483648)); + put(JSC::Identifier::fromString(vm, "SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS"_s), + JSC::jsNumber(2048)); + put(JSC::Identifier::fromString(vm, "SSL_OP_LEGACY_SERVER_CONNECT"_s), + JSC::jsNumber(4)); + put(JSC::Identifier::fromString(vm, "SSL_OP_NO_COMPRESSION"_s), + JSC::jsNumber(131072)); + put(JSC::Identifier::fromString(vm, "SSL_OP_NO_ENCRYPT_THEN_MAC"_s), + JSC::jsNumber(524288)); + put(JSC::Identifier::fromString(vm, "SSL_OP_NO_QUERY_MTU"_s), + JSC::jsNumber(4096)); + put(JSC::Identifier::fromString(vm, "SSL_OP_NO_RENEGOTIATION"_s), + JSC::jsNumber(1073741824)); + put(JSC::Identifier::fromString( + vm, "SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION"_s), + JSC::jsNumber(65536)); + put(JSC::Identifier::fromString(vm, "SSL_OP_NO_SSLv2"_s), JSC::jsNumber(0)); + put(JSC::Identifier::fromString(vm, "SSL_OP_NO_SSLv3"_s), + JSC::jsNumber(33554432)); + put(JSC::Identifier::fromString(vm, "SSL_OP_NO_TICKET"_s), + JSC::jsNumber(16384)); + put(JSC::Identifier::fromString(vm, "SSL_OP_NO_TLSv1"_s), + JSC::jsNumber(67108864)); + put(JSC::Identifier::fromString(vm, "SSL_OP_NO_TLSv1_1"_s), + JSC::jsNumber(268435456)); + put(JSC::Identifier::fromString(vm, "SSL_OP_NO_TLSv1_2"_s), + JSC::jsNumber(134217728)); + put(JSC::Identifier::fromString(vm, "SSL_OP_NO_TLSv1_3"_s), + JSC::jsNumber(536870912)); + put(JSC::Identifier::fromString(vm, "SSL_OP_PRIORITIZE_CHACHA"_s), + JSC::jsNumber(2097152)); + put(JSC::Identifier::fromString(vm, "SSL_OP_TLS_ROLLBACK_BUG"_s), + JSC::jsNumber(8388608)); + put(JSC::Identifier::fromString(vm, "ENGINE_METHOD_RSA"_s), JSC::jsNumber(1)); + put(JSC::Identifier::fromString(vm, "ENGINE_METHOD_DSA"_s), JSC::jsNumber(2)); + put(JSC::Identifier::fromString(vm, "ENGINE_METHOD_DH"_s), JSC::jsNumber(4)); + put(JSC::Identifier::fromString(vm, "ENGINE_METHOD_RAND"_s), + JSC::jsNumber(8)); + put(JSC::Identifier::fromString(vm, "ENGINE_METHOD_EC"_s), + JSC::jsNumber(2048)); + put(JSC::Identifier::fromString(vm, "ENGINE_METHOD_CIPHERS"_s), + JSC::jsNumber(64)); + put(JSC::Identifier::fromString(vm, "ENGINE_METHOD_DIGESTS"_s), + JSC::jsNumber(128)); + put(JSC::Identifier::fromString(vm, "ENGINE_METHOD_PKEY_METHS"_s), + JSC::jsNumber(512)); + put(JSC::Identifier::fromString(vm, "ENGINE_METHOD_PKEY_ASN1_METHS"_s), + JSC::jsNumber(1024)); + put(JSC::Identifier::fromString(vm, "ENGINE_METHOD_ALL"_s), + JSC::jsNumber(65535)); + put(JSC::Identifier::fromString(vm, "ENGINE_METHOD_NONE"_s), + JSC::jsNumber(0)); + put(JSC::Identifier::fromString(vm, "DH_CHECK_P_NOT_SAFE_PRIME"_s), + JSC::jsNumber(2)); + put(JSC::Identifier::fromString(vm, "DH_CHECK_P_NOT_PRIME"_s), + JSC::jsNumber(1)); + put(JSC::Identifier::fromString(vm, "DH_UNABLE_TO_CHECK_GENERATOR"_s), + JSC::jsNumber(4)); + put(JSC::Identifier::fromString(vm, "DH_NOT_SUITABLE_GENERATOR"_s), + JSC::jsNumber(8)); + put(JSC::Identifier::fromString(vm, "RSA_PKCS1_PADDING"_s), JSC::jsNumber(1)); + put(JSC::Identifier::fromString(vm, "RSA_NO_PADDING"_s), JSC::jsNumber(3)); + put(JSC::Identifier::fromString(vm, "RSA_PKCS1_OAEP_PADDING"_s), + JSC::jsNumber(4)); + put(JSC::Identifier::fromString(vm, "RSA_X931_PADDING"_s), JSC::jsNumber(5)); + put(JSC::Identifier::fromString(vm, "RSA_PKCS1_PSS_PADDING"_s), + JSC::jsNumber(6)); + put(JSC::Identifier::fromString(vm, "RSA_PSS_SALTLEN_DIGEST"_s), + JSC::jsNumber(-1)); + put(JSC::Identifier::fromString(vm, "RSA_PSS_SALTLEN_MAX_SIGN"_s), + JSC::jsNumber(-2)); + put(JSC::Identifier::fromString(vm, "RSA_PSS_SALTLEN_AUTO"_s), + JSC::jsNumber(-2)); + put(JSC::Identifier::fromString(vm, "defaultCoreCipherList"_s), + JSC::jsString( + vm, WTF::String::fromUTF8( + "DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-" + "RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256"))); + put(JSC::Identifier::fromString(vm, "TLS1_VERSION"_s), JSC::jsNumber(769)); + put(JSC::Identifier::fromString(vm, "TLS1_1_VERSION"_s), JSC::jsNumber(770)); + put(JSC::Identifier::fromString(vm, "TLS1_2_VERSION"_s), JSC::jsNumber(771)); + put(JSC::Identifier::fromString(vm, "TLS1_3_VERSION"_s), JSC::jsNumber(772)); + put(JSC::Identifier::fromString(vm, "POINT_CONVERSION_COMPRESSED"_s), + JSC::jsNumber(2)); + put(JSC::Identifier::fromString(vm, "POINT_CONVERSION_UNCOMPRESSED"_s), + JSC::jsNumber(4)); + put(JSC::Identifier::fromString(vm, "POINT_CONVERSION_HYBRID"_s), + JSC::jsNumber(6)); + + RETURN_NATIVE_MODULE(); +} + +} // namespace Zig diff --git a/src/bun.js/modules/NodeModuleModule.cpp b/src/bun.js/modules/NodeModuleModule.cpp deleted file mode 100644 index 476ee95dce279..0000000000000 --- a/src/bun.js/modules/NodeModuleModule.cpp +++ /dev/null @@ -1,297 +0,0 @@ -#include "root.h" - -#include "./NodeModuleModule.h" - -#include "CommonJSModuleRecord.h" -#include "ImportMetaObject.h" -#include "JavaScriptCore/JSBoundFunction.h" -#include "JavaScriptCore/ObjectConstructor.h" -using namespace Zig; -using namespace JSC; - -// This is a mix of bun's builtin module names and also the ones reported by -// node v20.4.0 -static constexpr ASCIILiteral builtinModuleNames[] = { - "_http_agent"_s, - "_http_client"_s, - "_http_common"_s, - "_http_incoming"_s, - "_http_outgoing"_s, - "_http_server"_s, - "_stream_duplex"_s, - "_stream_passthrough"_s, - "_stream_readable"_s, - "_stream_transform"_s, - "_stream_wrap"_s, - "_stream_writable"_s, - "_tls_common"_s, - "_tls_wrap"_s, - "assert"_s, - "assert/strict"_s, - "async_hooks"_s, - "buffer"_s, - "bun"_s, - "bun:events_native"_s, - "bun:ffi"_s, - "bun:jsc"_s, - "bun:sqlite"_s, - "bun:wrap"_s, - "child_process"_s, - "cluster"_s, - "console"_s, - "constants"_s, - "crypto"_s, - "detect-libc"_s, - "dgram"_s, - "diagnostics_channel"_s, - "dns"_s, - "dns/promises"_s, - "domain"_s, - "events"_s, - "fs"_s, - "fs/promises"_s, - "http"_s, - "http2"_s, - "https"_s, - "inspector"_s, - "inspector/promises"_s, - "module"_s, - "net"_s, - "os"_s, - "path"_s, - "path/posix"_s, - "path/win32"_s, - "perf_hooks"_s, - "process"_s, - "punycode"_s, - "querystring"_s, - "readline"_s, - "readline/promises"_s, - "repl"_s, - "stream"_s, - "stream/consumers"_s, - "stream/promises"_s, - "stream/web"_s, - "string_decoder"_s, - "sys"_s, - "timers"_s, - "timers/promises"_s, - "tls"_s, - "trace_events"_s, - "tty"_s, - "undici"_s, - "url"_s, - "util"_s, - "util/types"_s, - "v8"_s, - "vm"_s, - "wasi"_s, - "worker_threads"_s, - "ws"_s, - "zlib"_s, -}; - -static bool isBuiltinModule(const String &namePossiblyWithNodePrefix) { - String name = namePossiblyWithNodePrefix; - if (name.startsWith("node:"_s)) - name = name.substringSharingImpl(5); - - for (auto &builtinModule : builtinModuleNames) { - if (name == builtinModule) - return true; - } - return false; -} - -JSC_DEFINE_HOST_FUNCTION(jsFunctionIsBuiltinModule, - (JSC::JSGlobalObject * globalObject, - JSC::CallFrame *callFrame)) { - JSC::VM &vm = globalObject->vm(); - auto scope = DECLARE_THROW_SCOPE(vm); - JSValue moduleName = callFrame->argument(0); - if (!moduleName.isString()) { - return JSValue::encode(jsBoolean(false)); - } - - auto moduleStr = moduleName.toWTFString(globalObject); - RETURN_IF_EXCEPTION(scope, JSValue::encode(jsBoolean(false))); - - return JSValue::encode(jsBoolean(isBuiltinModule(moduleStr))); -} - -JSC_DEFINE_HOST_FUNCTION(jsFunctionNodeModuleCreateRequire, - (JSC::JSGlobalObject * globalObject, - JSC::CallFrame *callFrame)) { - JSC::VM &vm = globalObject->vm(); - auto scope = DECLARE_THROW_SCOPE(vm); - if (callFrame->argumentCount() < 1) { - throwTypeError(globalObject, scope, - "createRequire() requires at least one argument"_s); - RELEASE_AND_RETURN(scope, JSC::JSValue::encode(JSC::jsUndefined())); - } - - auto val = callFrame->uncheckedArgument(0).toWTFString(globalObject); - RETURN_IF_EXCEPTION(scope, JSC::JSValue::encode(JSC::jsUndefined())); - RELEASE_AND_RETURN( - scope, JSValue::encode(Bun::JSCommonJSModule::createBoundRequireFunction( - vm, globalObject, val))); -} -extern "C" EncodedJSValue Resolver__nodeModulePathsForJS(JSGlobalObject *, - CallFrame *); - -JSC_DEFINE_HOST_FUNCTION(jsFunctionFindSourceMap, - (JSGlobalObject * globalObject, - CallFrame *callFrame)) { - auto &vm = globalObject->vm(); - auto scope = DECLARE_THROW_SCOPE(vm); - throwException(globalObject, scope, - createError(globalObject, "Not implemented"_s)); - return JSValue::encode(jsUndefined()); -} - -JSC_DEFINE_HOST_FUNCTION(jsFunctionSyncBuiltinExports, - (JSGlobalObject * globalObject, - CallFrame *callFrame)) { - return JSValue::encode(jsUndefined()); -} - -JSC_DEFINE_HOST_FUNCTION(jsFunctionSourceMap, (JSGlobalObject * globalObject, - CallFrame *callFrame)) { - auto &vm = globalObject->vm(); - auto scope = DECLARE_THROW_SCOPE(vm); - throwException(globalObject, scope, - createError(globalObject, "Not implemented"_s)); - return JSValue::encode(jsUndefined()); -} - -JSC_DEFINE_HOST_FUNCTION(jsFunctionResolveFileName, - (JSC::JSGlobalObject * globalObject, - JSC::CallFrame *callFrame)) { - JSC::VM &vm = globalObject->vm(); - - switch (callFrame->argumentCount()) { - case 0: { - auto scope = DECLARE_THROW_SCOPE(globalObject->vm()); - // not "requires" because "require" could be confusing - JSC::throwTypeError( - globalObject, scope, - "Module._resolveFileName needs 2+ arguments (a string)"_s); - scope.release(); - return JSC::JSValue::encode(JSC::JSValue{}); - } - default: { - JSC::JSValue moduleName = callFrame->argument(0); - - if (moduleName.isUndefinedOrNull()) { - auto scope = DECLARE_THROW_SCOPE(globalObject->vm()); - JSC::throwTypeError(globalObject, scope, - "Module._resolveFileName expects a string"_s); - scope.release(); - return JSC::JSValue::encode(JSC::JSValue{}); - } - - auto result = - Bun__resolveSync(globalObject, JSC::JSValue::encode(moduleName), - JSValue::encode(callFrame->argument(1)), false); - auto scope = DECLARE_THROW_SCOPE(globalObject->vm()); - - if (!JSC::JSValue::decode(result).isString()) { - JSC::throwException(globalObject, scope, JSC::JSValue::decode(result)); - return JSC::JSValue::encode(JSC::JSValue{}); - } - - scope.release(); - return result; - } - } -} -template consteval std::size_t countof(T (&)[N]) { - return N; -} - -namespace Zig { -void generateNodeModuleModule(JSC::JSGlobalObject *globalObject, - JSC::Identifier moduleKey, - Vector &exportNames, - JSC::MarkedArgumentBuffer &exportValues) { - JSC::VM &vm = globalObject->vm(); - - JSObject *defaultObject = JSC::constructEmptyObject( - vm, globalObject->nullPrototypeObjectStructure()); - auto append = [&](Identifier name, JSValue value) { - defaultObject->putDirect(vm, name, value); - exportNames.append(name); - exportValues.append(value); - }; - - append(Identifier::fromString(vm, "createRequire"_s), - JSFunction::create(vm, globalObject, 1, String("createRequire"_s), - jsFunctionNodeModuleCreateRequire, - ImplementationVisibility::Public)); - - append(Identifier::fromString(vm, "paths"_s), - JSFunction::create(vm, globalObject, 1, String("paths"_s), - Resolver__nodeModulePathsForJS, - ImplementationVisibility::Public)); - - append(Identifier::fromString(vm, "findSourceMap"_s), - JSFunction::create(vm, globalObject, 1, String("findSourceMap"_s), - jsFunctionFindSourceMap, - ImplementationVisibility::Public)); - append(Identifier::fromString(vm, "syncBuiltinExports"_s), - JSFunction::create(vm, globalObject, 0, String("syncBuiltinExports"_s), - jsFunctionSyncBuiltinExports, - ImplementationVisibility::Public)); - append(Identifier::fromString(vm, "SourceMap"_s), - JSFunction::create(vm, globalObject, 1, String("SourceMap"_s), - jsFunctionSourceMap, - ImplementationVisibility::Public, NoIntrinsic, - jsFunctionSourceMap, nullptr)); - - append(Identifier::fromString(vm, "isBuiltin"_s), - JSFunction::create(vm, globalObject, 1, String("isBuiltin"_s), - jsFunctionIsBuiltinModule, - ImplementationVisibility::Public, NoIntrinsic, - jsFunctionIsBuiltinModule, nullptr)); - - append(JSC::Identifier::fromString(vm, "_resolveFilename"_s), - JSFunction::create(vm, globalObject, 3, String("_resolveFilename"_s), - jsFunctionResolveFileName, - ImplementationVisibility::Public)); - - append(JSC::Identifier::fromString(vm, "_nodeModulePaths"_s), - JSFunction::create(vm, globalObject, 0, String("_nodeModulePaths"_s), - Resolver__nodeModulePathsForJS, - ImplementationVisibility::Public)); - - append(JSC::Identifier::fromString(vm, "_cache"_s), - jsCast(globalObject)->lazyRequireCacheObject()); - - append(JSC::Identifier::fromString(vm, "globalPaths"_s), - JSC::constructEmptyArray(globalObject, nullptr, 0)); - - append(JSC::Identifier::fromString(vm, "prototype"_s), - JSC::constructEmptyObject(globalObject)); - - JSC::JSArray *builtinModules = JSC::JSArray::create( - vm, - globalObject->arrayStructureForIndexingTypeDuringAllocation( - ArrayWithContiguous), - countof(builtinModuleNames)); - - for (unsigned i = 0; i < countof(builtinModuleNames); ++i) { - builtinModules->putDirectIndex( - globalObject, i, JSC::jsString(vm, String(builtinModuleNames[i]))); - } - - append(JSC::Identifier::fromString(vm, "builtinModules"_s), builtinModules); - - defaultObject->putDirect(vm, - JSC::PropertyName(Identifier::fromUid( - vm.symbolRegistry().symbolForKey("CommonJS"_s))), - jsNumber(0), 0); - - exportNames.append(vm.propertyNames->defaultKeyword); - exportValues.append(defaultObject); -} -} // namespace Zig diff --git a/src/bun.js/modules/NodeModuleModule.h b/src/bun.js/modules/NodeModuleModule.h index 0aefdef1222e3..633d840cc83c3 100644 --- a/src/bun.js/modules/NodeModuleModule.h +++ b/src/bun.js/modules/NodeModuleModule.h @@ -1,12 +1,255 @@ -#include "../bindings/ZigGlobalObject.h" -#include "JavaScriptCore/JSGlobalObject.h" +#include "CommonJSModuleRecord.h" +#include "ImportMetaObject.h" +#include "JavaScriptCore/JSBoundFunction.h" +#include "JavaScriptCore/ObjectConstructor.h" +#include "_NativeModule.h" + +using namespace Zig; +using namespace JSC; + +// This is a mix of bun's builtin module names and also the ones reported by +// node v20.4.0 +static constexpr ASCIILiteral builtinModuleNames[] = { + "_http_agent"_s, + "_http_client"_s, + "_http_common"_s, + "_http_incoming"_s, + "_http_outgoing"_s, + "_http_server"_s, + "_stream_duplex"_s, + "_stream_passthrough"_s, + "_stream_readable"_s, + "_stream_transform"_s, + "_stream_wrap"_s, + "_stream_writable"_s, + "_tls_common"_s, + "_tls_wrap"_s, + "assert"_s, + "assert/strict"_s, + "async_hooks"_s, + "buffer"_s, + "bun"_s, + "bun:ffi"_s, + "bun:jsc"_s, + "bun:sqlite"_s, + "bun:wrap"_s, + "child_process"_s, + "cluster"_s, + "console"_s, + "constants"_s, + "crypto"_s, + "detect-libc"_s, + "dgram"_s, + "diagnostics_channel"_s, + "dns"_s, + "dns/promises"_s, + "domain"_s, + "events"_s, + "fs"_s, + "fs/promises"_s, + "http"_s, + "http2"_s, + "https"_s, + "inspector"_s, + "inspector/promises"_s, + "module"_s, + "net"_s, + "os"_s, + "path"_s, + "path/posix"_s, + "path/win32"_s, + "perf_hooks"_s, + "process"_s, + "punycode"_s, + "querystring"_s, + "readline"_s, + "readline/promises"_s, + "repl"_s, + "stream"_s, + "stream/consumers"_s, + "stream/promises"_s, + "stream/web"_s, + "string_decoder"_s, + "sys"_s, + "timers"_s, + "timers/promises"_s, + "tls"_s, + "trace_events"_s, + "tty"_s, + "undici"_s, + "url"_s, + "util"_s, + "util/types"_s, + "v8"_s, + "vm"_s, + "wasi"_s, + "worker_threads"_s, + "ws"_s, + "zlib"_s, +}; + +static bool isBuiltinModule(const String &namePossiblyWithNodePrefix) { + String name = namePossiblyWithNodePrefix; + if (name.startsWith("node:"_s)) + name = name.substringSharingImpl(5); + + for (auto &builtinModule : builtinModuleNames) { + if (name == builtinModule) + return true; + } + return false; +} + +JSC_DEFINE_HOST_FUNCTION(jsFunctionIsBuiltinModule, + (JSC::JSGlobalObject * globalObject, + JSC::CallFrame *callFrame)) { + JSC::VM &vm = globalObject->vm(); + auto scope = DECLARE_THROW_SCOPE(vm); + JSValue moduleName = callFrame->argument(0); + if (!moduleName.isString()) { + return JSValue::encode(jsBoolean(false)); + } + + auto moduleStr = moduleName.toWTFString(globalObject); + RETURN_IF_EXCEPTION(scope, JSValue::encode(jsBoolean(false))); + + return JSValue::encode(jsBoolean(isBuiltinModule(moduleStr))); +} + +JSC_DEFINE_HOST_FUNCTION(jsFunctionNodeModuleCreateRequire, + (JSC::JSGlobalObject * globalObject, + JSC::CallFrame *callFrame)) { + JSC::VM &vm = globalObject->vm(); + auto scope = DECLARE_THROW_SCOPE(vm); + if (callFrame->argumentCount() < 1) { + throwTypeError(globalObject, scope, + "createRequire() requires at least one argument"_s); + RELEASE_AND_RETURN(scope, JSC::JSValue::encode(JSC::jsUndefined())); + } + + auto val = callFrame->uncheckedArgument(0).toWTFString(globalObject); + RETURN_IF_EXCEPTION(scope, JSC::JSValue::encode(JSC::jsUndefined())); + RELEASE_AND_RETURN( + scope, JSValue::encode(Bun::JSCommonJSModule::createBoundRequireFunction( + vm, globalObject, val))); +} +extern "C" EncodedJSValue Resolver__nodeModulePathsForJS(JSGlobalObject *, + CallFrame *); + +JSC_DEFINE_HOST_FUNCTION(jsFunctionFindSourceMap, + (JSGlobalObject * globalObject, + CallFrame *callFrame)) { + auto &vm = globalObject->vm(); + auto scope = DECLARE_THROW_SCOPE(vm); + throwException(globalObject, scope, + createError(globalObject, "Not implemented"_s)); + return JSValue::encode(jsUndefined()); +} + +JSC_DEFINE_HOST_FUNCTION(jsFunctionSyncBuiltinExports, + (JSGlobalObject * globalObject, + CallFrame *callFrame)) { + return JSValue::encode(jsUndefined()); +} + +JSC_DEFINE_HOST_FUNCTION(jsFunctionSourceMap, (JSGlobalObject * globalObject, + CallFrame *callFrame)) { + auto &vm = globalObject->vm(); + auto scope = DECLARE_THROW_SCOPE(vm); + throwException(globalObject, scope, + createError(globalObject, "Not implemented"_s)); + return JSValue::encode(jsUndefined()); +} + +JSC_DEFINE_HOST_FUNCTION(jsFunctionResolveFileName, + (JSC::JSGlobalObject * globalObject, + JSC::CallFrame *callFrame)) { + JSC::VM &vm = globalObject->vm(); + + switch (callFrame->argumentCount()) { + case 0: { + auto scope = DECLARE_THROW_SCOPE(globalObject->vm()); + // not "requires" because "require" could be confusing + JSC::throwTypeError( + globalObject, scope, + "Module._resolveFileName needs 2+ arguments (a string)"_s); + scope.release(); + return JSC::JSValue::encode(JSC::JSValue{}); + } + default: { + JSC::JSValue moduleName = callFrame->argument(0); + + if (moduleName.isUndefinedOrNull()) { + auto scope = DECLARE_THROW_SCOPE(globalObject->vm()); + JSC::throwTypeError(globalObject, scope, + "Module._resolveFileName expects a string"_s); + scope.release(); + return JSC::JSValue::encode(JSC::JSValue{}); + } + + auto result = + Bun__resolveSync(globalObject, JSC::JSValue::encode(moduleName), + JSValue::encode(callFrame->argument(1)), false); + auto scope = DECLARE_THROW_SCOPE(globalObject->vm()); + + if (!JSC::JSValue::decode(result).isString()) { + JSC::throwException(globalObject, scope, JSC::JSValue::decode(result)); + return JSC::JSValue::encode(JSC::JSValue{}); + } + + scope.release(); + return result; + } + } +} +template consteval std::size_t countof(T (&)[N]) { + return N; +} namespace Zig { -// node:module -void generateNodeModuleModule(JSC::JSGlobalObject *globalObject, - JSC::Identifier moduleKey, - Vector &exportNames, - JSC::MarkedArgumentBuffer &exportValues); +DEFINE_NATIVE_MODULE(NodeModule) { + INIT_NATIVE_MODULE(10); + + putNativeFn(Identifier::fromString(vm, "createRequire"_s), + jsFunctionNodeModuleCreateRequire); + putNativeFn(Identifier::fromString(vm, "paths"_s), + Resolver__nodeModulePathsForJS); + putNativeFn(Identifier::fromString(vm, "findSourceMap"_s), + jsFunctionFindSourceMap); + putNativeFn(Identifier::fromString(vm, "syncBuiltinExports"_s), + jsFunctionSyncBuiltinExports); + putNativeFn(Identifier::fromString(vm, "SourceMap"_s), jsFunctionSourceMap); + putNativeFn(Identifier::fromString(vm, "isBuiltin"_s), + jsFunctionIsBuiltinModule); + putNativeFn(Identifier::fromString(vm, "_resolveFilename"_s), + jsFunctionResolveFileName); + putNativeFn(Identifier::fromString(vm, "_nodeModulePaths"_s), + Resolver__nodeModulePathsForJS); + + put(Identifier::fromString(vm, "_cache"_s), + jsCast(globalObject)->lazyRequireCacheObject()); + + put(Identifier::fromString(vm, "globalPaths"_s), + constructEmptyArray(globalObject, nullptr, 0)); + + put(Identifier::fromString(vm, "prototype"_s), + constructEmptyObject(globalObject)); + + JSC::JSArray *builtinModules = JSC::JSArray::create( + vm, + globalObject->arrayStructureForIndexingTypeDuringAllocation( + ArrayWithContiguous), + countof(builtinModuleNames)); + + for (unsigned i = 0; i < countof(builtinModuleNames); ++i) { + builtinModules->putDirectIndex( + globalObject, i, JSC::jsString(vm, String(builtinModuleNames[i]))); + } + + put(JSC::Identifier::fromString(vm, "builtinModules"_s), builtinModules); + + RETURN_NATIVE_MODULE(); +} -} // namespace Zig \ No newline at end of file +} // namespace Zig diff --git a/src/bun.js/modules/ProcessModule.h b/src/bun.js/modules/NodeProcessModule.h similarity index 84% rename from src/bun.js/modules/ProcessModule.h rename to src/bun.js/modules/NodeProcessModule.h index fab0298aec5ce..6c3db073112cc 100644 --- a/src/bun.js/modules/ProcessModule.h +++ b/src/bun.js/modules/NodeProcessModule.h @@ -1,6 +1,7 @@ #include "../bindings/ZigGlobalObject.h" #include "JavaScriptCore/CustomGetterSetter.h" #include "JavaScriptCore/JSGlobalObject.h" +#include "_NativeModule.h" namespace Zig { @@ -35,10 +36,7 @@ JSC_DEFINE_CUSTOM_SETTER(jsFunctionProcessModuleCommonJSSetter, ->putDirect(vm, propertyName, JSValue::decode(encodedValue), 0); } -inline void generateProcessSourceCode(JSC::JSGlobalObject *lexicalGlobalObject, - JSC::Identifier moduleKey, - Vector &exportNames, - JSC::MarkedArgumentBuffer &exportValues) { +DEFINE_NATIVE_MODULE(NodeProcess) { JSC::VM &vm = lexicalGlobalObject->vm(); GlobalObject *globalObject = reinterpret_cast(lexicalGlobalObject); @@ -61,10 +59,6 @@ inline void generateProcessSourceCode(JSC::JSGlobalObject *lexicalGlobalObject, exportNames.append(vm.propertyNames->defaultKeyword); exportValues.append(process); - exportNames.append( - Identifier::fromUid(vm.symbolRegistry().symbolForKey("CommonJS"_s))); - exportValues.append(jsNumber(0)); - for (auto &entry : properties) { exportNames.append(entry); auto catchScope = DECLARE_CATCH_SCOPE(vm); diff --git a/src/bun.js/modules/NodeStringDecoderModule.h b/src/bun.js/modules/NodeStringDecoderModule.h new file mode 100644 index 0000000000000..3f5258cc1d851 --- /dev/null +++ b/src/bun.js/modules/NodeStringDecoderModule.h @@ -0,0 +1,16 @@ +#include "../bindings/JSStringDecoder.h" +#include "../bindings/ZigGlobalObject.h" +#include "JavaScriptCore/JSGlobalObject.h" + +namespace Zig { + +DEFINE_NATIVE_MODULE(NodeStringDecoder) { + INIT_NATIVE_MODULE(1); + + put(JSC::Identifier::fromString(vm, "StringDecoder"_s), + globalObject->JSStringDecoder()); + + RETURN_NATIVE_MODULE(); +} + +} // namespace Zig diff --git a/src/bun.js/modules/NodeTTYModule.h b/src/bun.js/modules/NodeTTYModule.h new file mode 100644 index 0000000000000..18a8f59a9a32d --- /dev/null +++ b/src/bun.js/modules/NodeTTYModule.h @@ -0,0 +1,50 @@ +#include "JSBuffer.h" +#include "_NativeModule.h" + +namespace Zig { +using namespace WebCore; + +JSC_DEFINE_HOST_FUNCTION(jsFunctionTty_isatty, (JSGlobalObject * globalObject, + CallFrame *callFrame)) { + VM &vm = globalObject->vm(); + if (callFrame->argumentCount() < 1) { + return JSValue::encode(jsBoolean(false)); + } + + auto scope = DECLARE_CATCH_SCOPE(vm); + int fd = callFrame->argument(0).toInt32(globalObject); + RETURN_IF_EXCEPTION(scope, encodedJSValue()); + + return JSValue::encode(jsBoolean(isatty(fd))); +} + +JSC_DEFINE_HOST_FUNCTION(jsFunctionNotImplementedYet, + (JSGlobalObject * globalObject, + CallFrame *callFrame)) { + VM &vm = globalObject->vm(); + auto throwScope = DECLARE_THROW_SCOPE(vm); + throwException(globalObject, throwScope, + createError(globalObject, "Not implemented yet"_s)); + return JSValue::encode(jsUndefined()); +} + +DEFINE_NATIVE_MODULE(NodeTTY) { + INIT_NATIVE_MODULE(3); + + auto *isattyFunction = + JSFunction::create(vm, globalObject, 1, "isatty"_s, jsFunctionTty_isatty, + ImplementationVisibility::Public); + + auto *notimpl = JSFunction::create(vm, globalObject, 0, "notimpl"_s, + jsFunctionNotImplementedYet, + ImplementationVisibility::Public, + NoIntrinsic, jsFunctionNotImplementedYet); + + putNativeFn(Identifier::fromString(vm, "isatty"_s), jsFunctionTty_isatty); + put(Identifier::fromString(vm, "ReadStream"_s), notimpl); + put(Identifier::fromString(vm, "WriteStream"_s), notimpl); + + RETURN_NATIVE_MODULE(); +} + +} // namespace Zig diff --git a/src/bun.js/bindings/node_util_types.cpp b/src/bun.js/modules/NodeUtilTypesModule.h similarity index 73% rename from src/bun.js/bindings/node_util_types.cpp rename to src/bun.js/modules/NodeUtilTypesModule.h index f7ae3949e2e61..586743feaca2a 100644 --- a/src/bun.js/bindings/node_util_types.cpp +++ b/src/bun.js/modules/NodeUtilTypesModule.h @@ -1,5 +1,4 @@ -#include "root.h" -#include "node_util_types.h" +#include "_NativeModule.h" #include "webcrypto/JSCryptoKey.h" #include "napi_external.h" @@ -312,72 +311,54 @@ JSC_DEFINE_HOST_FUNCTION(jsFunctionIsCryptoKey, (JSC::JSGlobalObject * globalObj return JSValue::encode(jsBoolean(cell->inherits())); } -namespace Bun { -void generateNodeUtilTypesSourceCode(JSC::JSGlobalObject* lexicalGlobalObject, - JSC::Identifier moduleKey, - Vector& exportNames, - JSC::MarkedArgumentBuffer& exportValues) +namespace Zig { +DEFINE_NATIVE_MODULE(NodeUtilTypes) { - Zig::GlobalObject* globalObject = reinterpret_cast(lexicalGlobalObject); + INIT_NATIVE_MODULE(42); - JSC::VM& vm = globalObject->vm(); + putNativeFn(Identifier::fromString(vm, "isExternal"_s), jsFunctionIsExternal); + putNativeFn(Identifier::fromString(vm, "isDate"_s), jsFunctionIsDate); + putNativeFn(Identifier::fromString(vm, "isArgumentsObject"_s), jsFunctionIsArgumentsObject); + putNativeFn(Identifier::fromString(vm, "isBigIntObject"_s), jsFunctionIsBigIntObject); + putNativeFn(Identifier::fromString(vm, "isBooleanObject"_s), jsFunctionIsBooleanObject); + putNativeFn(Identifier::fromString(vm, "isNumberObject"_s), jsFunctionIsNumberObject); + putNativeFn(Identifier::fromString(vm, "isStringObject"_s), jsFunctionIsStringObject); + putNativeFn(Identifier::fromString(vm, "isSymbolObject"_s), jsFunctionIsSymbolObject); + putNativeFn(Identifier::fromString(vm, "isNativeError"_s), jsFunctionIsNativeError); + putNativeFn(Identifier::fromString(vm, "isRegExp"_s), jsFunctionIsRegExp); + putNativeFn(Identifier::fromString(vm, "isAsyncFunction"_s), jsFunctionIsAsyncFunction); + putNativeFn(Identifier::fromString(vm, "isGeneratorFunction"_s), jsFunctionIsGeneratorFunction); + putNativeFn(Identifier::fromString(vm, "isGeneratorObject"_s), jsFunctionIsGeneratorObject); + putNativeFn(Identifier::fromString(vm, "isPromise"_s), jsFunctionIsPromise); + putNativeFn(Identifier::fromString(vm, "isMap"_s), jsFunctionIsMap); + putNativeFn(Identifier::fromString(vm, "isSet"_s), jsFunctionIsSet); + putNativeFn(Identifier::fromString(vm, "isMapIterator"_s), jsFunctionIsMapIterator); + putNativeFn(Identifier::fromString(vm, "isSetIterator"_s), jsFunctionIsSetIterator); + putNativeFn(Identifier::fromString(vm, "isWeakMap"_s), jsFunctionIsWeakMap); + putNativeFn(Identifier::fromString(vm, "isWeakSet"_s), jsFunctionIsWeakSet); + putNativeFn(Identifier::fromString(vm, "isArrayBuffer"_s), jsFunctionIsArrayBuffer); + putNativeFn(Identifier::fromString(vm, "isDataView"_s), jsFunctionIsDataView); + putNativeFn(Identifier::fromString(vm, "isSharedArrayBuffer"_s), jsFunctionIsSharedArrayBuffer); + putNativeFn(Identifier::fromString(vm, "isProxy"_s), jsFunctionIsProxy); + putNativeFn(Identifier::fromString(vm, "isModuleNamespaceObject"_s), jsFunctionIsModuleNamespaceObject); + putNativeFn(Identifier::fromString(vm, "isAnyArrayBuffer"_s), jsFunctionIsAnyArrayBuffer); + putNativeFn(Identifier::fromString(vm, "isBoxedPrimitive"_s), jsFunctionIsBoxedPrimitive); + putNativeFn(Identifier::fromString(vm, "isArrayBufferView"_s), jsFunctionIsArrayBufferView); + putNativeFn(Identifier::fromString(vm, "isTypedArray"_s), jsFunctionIsTypedArray); + putNativeFn(Identifier::fromString(vm, "isUint8Array"_s), jsFunctionIsUint8Array); + putNativeFn(Identifier::fromString(vm, "isUint8ClampedArray"_s), jsFunctionIsUint8ClampedArray); + putNativeFn(Identifier::fromString(vm, "isUint16Array"_s), jsFunctionIsUint16Array); + putNativeFn(Identifier::fromString(vm, "isUint32Array"_s), jsFunctionIsUint32Array); + putNativeFn(Identifier::fromString(vm, "isInt8Array"_s), jsFunctionIsInt8Array); + putNativeFn(Identifier::fromString(vm, "isInt16Array"_s), jsFunctionIsInt16Array); + putNativeFn(Identifier::fromString(vm, "isInt32Array"_s), jsFunctionIsInt32Array); + putNativeFn(Identifier::fromString(vm, "isFloat32Array"_s), jsFunctionIsFloat32Array); + putNativeFn(Identifier::fromString(vm, "isFloat64Array"_s), jsFunctionIsFloat64Array); + putNativeFn(Identifier::fromString(vm, "isBigInt64Array"_s), jsFunctionIsBigInt64Array); + putNativeFn(Identifier::fromString(vm, "isBigUint64Array"_s), jsFunctionIsBigUint64Array); + putNativeFn(Identifier::fromString(vm, "isKeyObject"_s), jsFunctionIsKeyObject); + putNativeFn(Identifier::fromString(vm, "isCryptoKey"_s), jsFunctionIsCryptoKey); - JSC::JSObject* defaultObject = constructEmptyObject(globalObject, globalObject->objectPrototype(), 42); - exportNames.reserveCapacity(43); - exportValues.ensureCapacity(43); - - auto putBoth = [&](JSC::Identifier identifier, NativeFunction functionPtr) { - JSC::JSFunction* function = JSC::JSFunction::create(vm, globalObject, 1, identifier.string(), functionPtr, ImplementationVisibility::Public, NoIntrinsic, functionPtr); - defaultObject->putDirect(vm, identifier, function, 0); - exportNames.append(identifier); - exportValues.append(function); - }; - - putBoth(Identifier::fromString(vm, "isExternal"_s), jsFunctionIsExternal); - putBoth(Identifier::fromString(vm, "isDate"_s), jsFunctionIsDate); - putBoth(Identifier::fromString(vm, "isArgumentsObject"_s), jsFunctionIsArgumentsObject); - putBoth(Identifier::fromString(vm, "isBigIntObject"_s), jsFunctionIsBigIntObject); - putBoth(Identifier::fromString(vm, "isBooleanObject"_s), jsFunctionIsBooleanObject); - putBoth(Identifier::fromString(vm, "isNumberObject"_s), jsFunctionIsNumberObject); - putBoth(Identifier::fromString(vm, "isStringObject"_s), jsFunctionIsStringObject); - putBoth(Identifier::fromString(vm, "isSymbolObject"_s), jsFunctionIsSymbolObject); - putBoth(Identifier::fromString(vm, "isNativeError"_s), jsFunctionIsNativeError); - putBoth(Identifier::fromString(vm, "isRegExp"_s), jsFunctionIsRegExp); - putBoth(Identifier::fromString(vm, "isAsyncFunction"_s), jsFunctionIsAsyncFunction); - putBoth(Identifier::fromString(vm, "isGeneratorFunction"_s), jsFunctionIsGeneratorFunction); - putBoth(Identifier::fromString(vm, "isGeneratorObject"_s), jsFunctionIsGeneratorObject); - putBoth(Identifier::fromString(vm, "isPromise"_s), jsFunctionIsPromise); - putBoth(Identifier::fromString(vm, "isMap"_s), jsFunctionIsMap); - putBoth(Identifier::fromString(vm, "isSet"_s), jsFunctionIsSet); - putBoth(Identifier::fromString(vm, "isMapIterator"_s), jsFunctionIsMapIterator); - putBoth(Identifier::fromString(vm, "isSetIterator"_s), jsFunctionIsSetIterator); - putBoth(Identifier::fromString(vm, "isWeakMap"_s), jsFunctionIsWeakMap); - putBoth(Identifier::fromString(vm, "isWeakSet"_s), jsFunctionIsWeakSet); - putBoth(Identifier::fromString(vm, "isArrayBuffer"_s), jsFunctionIsArrayBuffer); - putBoth(Identifier::fromString(vm, "isDataView"_s), jsFunctionIsDataView); - putBoth(Identifier::fromString(vm, "isSharedArrayBuffer"_s), jsFunctionIsSharedArrayBuffer); - putBoth(Identifier::fromString(vm, "isProxy"_s), jsFunctionIsProxy); - putBoth(Identifier::fromString(vm, "isModuleNamespaceObject"_s), jsFunctionIsModuleNamespaceObject); - putBoth(Identifier::fromString(vm, "isAnyArrayBuffer"_s), jsFunctionIsAnyArrayBuffer); - putBoth(Identifier::fromString(vm, "isBoxedPrimitive"_s), jsFunctionIsBoxedPrimitive); - putBoth(Identifier::fromString(vm, "isArrayBufferView"_s), jsFunctionIsArrayBufferView); - putBoth(Identifier::fromString(vm, "isTypedArray"_s), jsFunctionIsTypedArray); - putBoth(Identifier::fromString(vm, "isUint8Array"_s), jsFunctionIsUint8Array); - putBoth(Identifier::fromString(vm, "isUint8ClampedArray"_s), jsFunctionIsUint8ClampedArray); - putBoth(Identifier::fromString(vm, "isUint16Array"_s), jsFunctionIsUint16Array); - putBoth(Identifier::fromString(vm, "isUint32Array"_s), jsFunctionIsUint32Array); - putBoth(Identifier::fromString(vm, "isInt8Array"_s), jsFunctionIsInt8Array); - putBoth(Identifier::fromString(vm, "isInt16Array"_s), jsFunctionIsInt16Array); - putBoth(Identifier::fromString(vm, "isInt32Array"_s), jsFunctionIsInt32Array); - putBoth(Identifier::fromString(vm, "isFloat32Array"_s), jsFunctionIsFloat32Array); - putBoth(Identifier::fromString(vm, "isFloat64Array"_s), jsFunctionIsFloat64Array); - putBoth(Identifier::fromString(vm, "isBigInt64Array"_s), jsFunctionIsBigInt64Array); - putBoth(Identifier::fromString(vm, "isBigUint64Array"_s), jsFunctionIsBigUint64Array); - putBoth(Identifier::fromString(vm, "isKeyObject"_s), jsFunctionIsKeyObject); - putBoth(Identifier::fromString(vm, "isCryptoKey"_s), jsFunctionIsCryptoKey); - defaultObject->putDirect(vm, JSC::PropertyName(Identifier::fromUid(vm.symbolRegistry().symbolForKey("CommonJS"_s))), jsNumber(0), 0); - - exportNames.append(JSC::Identifier::fromString(vm, "default"_s)); - exportValues.append(defaultObject); -} + RETURN_NATIVE_MODULE(); } +} // namespace Zig diff --git a/src/bun.js/modules/StringDecoderModule.h b/src/bun.js/modules/StringDecoderModule.h deleted file mode 100644 index 1dbf5ef8e24c1..0000000000000 --- a/src/bun.js/modules/StringDecoderModule.h +++ /dev/null @@ -1,36 +0,0 @@ -#include "../bindings/JSStringDecoder.h" -#include "../bindings/ZigGlobalObject.h" -#include "JavaScriptCore/JSGlobalObject.h" - -namespace Zig { - -inline void -generateStringDecoderSourceCode(JSC::JSGlobalObject *lexicalGlobalObject, - JSC::Identifier moduleKey, - Vector &exportNames, - JSC::MarkedArgumentBuffer &exportValues) { - JSC::VM &vm = lexicalGlobalObject->vm(); - GlobalObject *globalObject = - reinterpret_cast(lexicalGlobalObject); - - exportNames.append(JSC::Identifier::fromString(vm, "StringDecoder"_s)); - exportValues.append(globalObject->JSStringDecoder()); - - auto CommonJS = - Identifier::fromUid(vm.symbolRegistry().symbolForKey("CommonJS"_s)); - - JSC::JSObject *defaultObject = constructEmptyObject(globalObject); - defaultObject->putDirect(vm, PropertyName(CommonJS), jsNumber(0), 0); - - for (size_t i = 0; i < exportNames.size(); i++) { - defaultObject->putDirect(vm, exportNames[i], exportValues.at(i), 0); - } - - exportNames.append(vm.propertyNames->defaultKeyword); - exportValues.append(defaultObject); - - exportNames.append(CommonJS); - exportValues.append(jsNumber(0)); -} - -} // namespace Zig diff --git a/src/bun.js/modules/TTYModule.h b/src/bun.js/modules/TTYModule.h deleted file mode 100644 index 79bc8c8711d83..0000000000000 --- a/src/bun.js/modules/TTYModule.h +++ /dev/null @@ -1,81 +0,0 @@ -#include "../bindings/JSBuffer.h" -#include "../bindings/ZigGlobalObject.h" -#include "JavaScriptCore/JSGlobalObject.h" - -#include "JavaScriptCore/ObjectConstructor.h" - -namespace Zig { -using namespace WebCore; - -JSC_DEFINE_HOST_FUNCTION(jsFunctionTty_isatty, (JSGlobalObject * globalObject, - CallFrame *callFrame)) { - VM &vm = globalObject->vm(); - if (callFrame->argumentCount() < 1) { - return JSValue::encode(jsBoolean(false)); - } - - auto scope = DECLARE_CATCH_SCOPE(vm); - int fd = callFrame->argument(0).toInt32(globalObject); - RETURN_IF_EXCEPTION(scope, encodedJSValue()); - - return JSValue::encode(jsBoolean(isatty(fd))); -} - -JSC_DEFINE_HOST_FUNCTION(jsFunctionNotImplementedYet, - (JSGlobalObject * globalObject, - CallFrame *callFrame)) { - VM &vm = globalObject->vm(); - auto throwScope = DECLARE_THROW_SCOPE(vm); - throwException(globalObject, throwScope, - createError(globalObject, "Not implemented yet"_s)); - return JSValue::encode(jsUndefined()); -} - -inline void generateTTYSourceCode(JSC::JSGlobalObject *lexicalGlobalObject, - JSC::Identifier moduleKey, - Vector &exportNames, - JSC::MarkedArgumentBuffer &exportValues) { - JSC::VM &vm = lexicalGlobalObject->vm(); - GlobalObject *globalObject = - reinterpret_cast(lexicalGlobalObject); - - auto *tty = JSC::constructEmptyObject(globalObject, - globalObject->objectPrototype(), 3); - - auto *isattyFunction = - JSFunction::create(vm, globalObject, 1, "isatty"_s, jsFunctionTty_isatty, - ImplementationVisibility::Public); - - auto *notimpl = JSFunction::create(vm, globalObject, 0, "notimpl"_s, - jsFunctionNotImplementedYet, - ImplementationVisibility::Public, - NoIntrinsic, jsFunctionNotImplementedYet); - - exportNames.append(JSC::Identifier::fromString(vm, "isatty"_s)); - exportValues.append(isattyFunction); - - exportNames.append(JSC::Identifier::fromString(vm, "ReadStream"_s)); - tty->putDirect(vm, JSC::Identifier::fromString(vm, "ReadStream"_s), notimpl); - exportValues.append(notimpl); - - exportNames.append(JSC::Identifier::fromString(vm, "WriteStream"_s)); - tty->putDirect(vm, JSC::Identifier::fromString(vm, "WriteStream"_s), notimpl); - exportValues.append(notimpl); - - for (size_t i = 0; i < exportNames.size(); i++) { - tty->putDirect(vm, exportNames[i], exportValues.at(i), 0); - } - - exportNames.append(vm.propertyNames->defaultKeyword); - exportValues.append(tty); - - auto CommonJS = - Identifier::fromUid(vm.symbolRegistry().symbolForKey("CommonJS"_s)); - - exportNames.append(CommonJS); - exportValues.append(jsNumber(0)); - - tty->putDirect(vm, PropertyName(CommonJS), jsNumber(0), 0); -} - -} // namespace Zig diff --git a/src/bun.js/modules/_NativeModule.h b/src/bun.js/modules/_NativeModule.h new file mode 100644 index 0000000000000..01a112d0b3581 --- /dev/null +++ b/src/bun.js/modules/_NativeModule.h @@ -0,0 +1,90 @@ +// clang-format off +#pragma once +#include "JSBuffer.h" +#include "JavaScriptCore/JSGlobalObject.h" +#include "JavaScriptCore/ObjectConstructor.h" +#include "ZigGlobalObject.h" + +// These modules are implemented in native code as a function which writes ESM +// export key+value pairs. The following macros help simplify the implementation +// of these functions. + +// To add a new native module +// 1. Add a new line to `BUN_FOREACH_NATIVE_MODULE` +// 2. Add a case to `module_loader.zig` that resolves the import. +// 3. Add a new file in this folder named after the module, camelcase and suffixed with Module, +// like "NodeBufferModule.h" or "BunJSCModule.h". It should call DEFINE_NATIVE_MODULE(name). +// +// The native module function is called to create the module object: +// - INIT_NATIVE_MODULE(n) is called with the number of exports +// - put(id, jsvalue) adds an export +// - putNativeFn(id, nativefn) lets you quickly add from `JSC_DEFINE_HOST_FUNCTION` +// - NATIVE_MODULE_FINISH() do asserts and finalize everything. +// If you decide to not use INIT_NATIVE_MODULE. make sure the first property +// given is the default export + +#define BUN_FOREACH_NATIVE_MODULE(macro) \ + macro("bun:jsc"_s, BunJSC) \ + macro("node:buffer"_s, NodeBuffer) \ + macro("node:constants"_s, NodeConstants) \ + macro("node:module"_s, NodeModule) \ + macro("node:process"_s, NodeProcess) \ + macro("node:string_decoder"_s, NodeStringDecoder) \ + macro("node:tty"_s, NodeTTY) \ + macro("node:util/types"_s, NodeUtilTypes) \ + +#if ASSERT_ENABLED + +// This function is a lie. It doesnt return, but rather it performs an assertion +// that what you passed to INIT_NATIVE_MODULE is indeed correct. +#define RETURN_NATIVE_MODULE() \ + ASSERT_WITH_MESSAGE(numberOfActualExportNames == passedNumberOfExportNames, \ + "NATIVE_MODULE_START() was given the incorrect value."); + +#define __NATIVE_MODULE_ASSERT_DECL \ + int numberOfActualExportNames = 0; \ + int passedNumberOfExportNames = numberOfExportNames; \ +#define __NATIVE_MODULE_ASSERT_INCR numberOfActualExportNames++; + +#else + +#define RETURN_NATIVE_MODULE() ; +#define __NATIVE_MODULE_ASSERT_INCR ; +#define __NATIVE_MODULE_ASSERT_DECL ; + +#endif + +#define DEFINE_NATIVE_MODULE(name) \ + inline void generateNativeModule_##name( \ + JSC::JSGlobalObject *lexicalGlobalObject, JSC::Identifier moduleKey, \ + Vector &exportNames, \ + JSC::MarkedArgumentBuffer &exportValues) + +#define INIT_NATIVE_MODULE(numberOfExportNames) \ + Zig::GlobalObject *globalObject = \ + reinterpret_cast(lexicalGlobalObject); \ + JSC::VM &vm = globalObject->vm(); \ + JSC::JSObject *defaultObject = JSC::constructEmptyObject( \ + globalObject, globalObject->objectPrototype(), numberOfExportNames); \ + __NATIVE_MODULE_ASSERT_DECL \ + auto put = [&](JSC::Identifier name, JSC::JSValue value) { \ + defaultObject->putDirect(vm, name, value); \ + exportNames.append(name); \ + exportValues.append(value); \ + __NATIVE_MODULE_ASSERT_INCR \ + }; \ + auto putNativeFn = [&](JSC::Identifier name, JSC::NativeFunction ptr) { \ + JSC::JSFunction *value = JSC::JSFunction::create( \ + vm, globalObject, 1, name.string(), ptr, \ + JSC::ImplementationVisibility::Public, JSC::NoIntrinsic, ptr); \ + defaultObject->putDirect(vm, name, value); \ + exportNames.append(name); \ + exportValues.append(value); \ + __NATIVE_MODULE_ASSERT_INCR \ + }; \ + exportNames.reserveCapacity(numberOfExportNames + 1); \ + exportValues.ensureCapacity(numberOfExportNames + 1); \ + exportNames.append(vm.propertyNames->defaultKeyword); \ + exportValues.append(defaultObject); \ + while (0) { \ + } diff --git a/src/bun.js/node/node_fs_constant.zig b/src/bun.js/node/node_fs_constant.zig index 8e642ebad167c..0d8ec66c5d7f5 100644 --- a/src/bun.js/node/node_fs_constant.zig +++ b/src/bun.js/node/node_fs_constant.zig @@ -146,8 +146,7 @@ pub const Constants = struct { // Due to zig's format support max 32 arguments, we need to split // here. const constants_string_format1 = - \\ - \\export var constants = {{ + \\var constants = {{ \\ F_OK: {d}, \\ R_OK: {d}, \\ W_OK: {d}, diff --git a/src/js/README.md b/src/js/README.md index c5f75eeecd9d5..8f270ed2ae0f6 100644 --- a/src/js/README.md +++ b/src/js/README.md @@ -1,30 +1,119 @@ # JS Modules +**TLDR**: If anything here changes, re-run `make js`. If you add/remove files, `make regenerate-bindings`. + - `./node` contains all `node:*` modules - `./bun` contains all `bun:*` modules - `./thirdparty` contains npm modules we replace like `ws` +- `./internal` contains modules that aren't assigned to the module resolver + +Each `.ts`/`.js` file above is assigned a numeric id at compile time and inlined into an array of lazily initialized modules. Internal modules referencing each other is extremely optimized, skipping the module resolver entirely. + +## Builtins Syntax + +Within these files, the `$` prefix on variables can be used to access private property names as well as JSC intrinsics. -When you change any of those folders, run this to bundle and minify them: +```ts +// Many globals have private versions which are impossible for the user to +// tamper with. Though, these global variables are auto-prefixed by the bundler. +const hello = $Array.from(...); -```bash -$ make esm +// Similar situation with prototype values. These aren't autoprefixed since it depends on type. +something.$then(...); +map.$set(...); + +// Internal variables we define +$requireMap.$has("elysia"); + +// JSC engine intrinsics. These usually translate directly to bytecode instructions. +const arr = $newArrayWithSize(5); +// A side effect of this is that using an intrinsic incorrectly like +// this will fail to parse and cause a segfault. +console.log($getInternalField) ``` -These modules are bundled into the binary, but in debug mode they are loaded from the filesystem, so you do not need to rerun `make dev`. If you want to override the modules in a release build, you can set `BUN_OVERRIDE_MODULE_PATH` to the path to the repo: +V8 has a [similar feature](https://v8.dev/blog/embedded-builtins) to this syntax (they use `%` instead) + +On top of this, we have some special functions that are handled by the bundle preprocessor: + +- `require` works, but it must be a string literal that resolves to a module within src/js. This call gets replaced with `$requireId(id)`, which is a special function that skips the module resolver and directly loads the module by it's generated numerical ID. -```bash -$ BUN_OVERRIDE_MODULE_PATH=/path/to/bun-repo bun ... +- `$debug` is exactly like console.log, but is stripped in release builds. It is disabled by default, requiring you to pass one of: `BUN_DEBUG_MODULE_NAME=1`, `BUN_DEBUG_JS=1`, or `BUN_DEBUG_ALL=1`. You can also do `if($debug) {}` to check if debug env var is set. + +- `IS_BUN_DEVELOPMENT` is inlined to be `true` in all development builds. + +- `process.platform` is properly inlined and DCE'd. Do use this to run different code on different platforms. + +- `$bundleError()` is like Zig's `@compileError`. It will stop a compile from succeeding. + +## Builtin Modules + +In module files, instead of using `module.exports`, use the `export default` variable. Due to the internal implementation, these must be `JSCell` types (function / object). + +```ts +export default { + hello: 2, + world: 3, +}; ``` -For any private types like `Bun.fs()`, add them to `./private.d.ts` +Keep in mind that **these are not ES modules**. `export default` is only syntax sugar to assign to the variable `$exports`, which is actually how the module exports it's contents. `export var` and `export function` are banned syntax, and so is `import` (use `require` instead) -# Builtins +To actually wire up one of these modules to the resolver, that is done separately in `module_resolver.zig`. Maybe in the future we can do codegen for it. -- `./builtins` contains builtins that use intrinsics. They're inlined into generated C++ code. It's a separate system, see the readme in that folder. +## Builtin Functions -When anything in that is changed, run this to regenerate the code: +`./functions` contains isolated functions. Each function within is bundled separately, meaning you may not use global variables, non-type `import`s, and even directly referencing the other functions in these files. `require` is still resolved the same way it does in the modules. -```make -$ make regenerate-bindings -$ make bun-link-lld-debug +In function files, these are accessible in C++ by using `CodeGenerator(vm)`, for example: + +```cpp +object->putDirectBuiltinFunction( + vm, + globalObject, + identifier, + // ReadableStream.ts, `function readableStreamToJSON()` + // This returns a FunctionExecutable* (extends JSCell*, but not JSFunction*). + readableStreamReadableStreamToJSONCodeGenerator(vm), + JSC::PropertyAttribute::Function | JSC::PropertyAttribute::DontDelete | 0 +); ``` + +## Extra Features + +`require` is replaced with `$requireId(id)` which allows these modules to import each other in a way that skips the module resolver. Being written in a syncronous format also makes this faster than ESM. All calls to `require` must be statically known or else this transformation is not possible. + +## Building + +Run `make js` to bundle all the builtins. The output is placed in `src/js/out/{modules,functions}/`, where these files are loaded dynamically by `bun-debug` (an exact filepath is inlined into the binary pointing at where you cloned bun, so moving the binary to another machine may not work). In a release build, these get minified and inlined into the binary (Please commit those generated headers). + +If you change the list of files or functions, you will have to run `make regenerate-bindings`, but otherwise any change can be done with just `make js`. + +## Notes on how the build process works + +_This isn't really required knowledge to use it, but a rough overview of how ./\_codegen/\* works_ + +The build process is built on top of Bun's bundler. The first step is scanning all modules and assigning each a numerical ID. The order is determined by an A-Z sort. + +The `$` for private names is actually a lie, and in JSC it actually uses `@`; though that is a syntax error in regular JS/TS, so we opted for better IDE support. So first we have to pre-process the files to spot all instances of `$` at the start of an identifier and we convert it to `__intrinsic__`. We also scan for `require(string)` and replace it with `$requireId(n)` after resolving it to the integer id, which is defined in `./functions/Module.ts`. `export default` is transformed into `return ...;`, however this transform is a little more complicated that a string replace because it supports that not being the final statement, and access to the underlying variable `$exports`, etc. + +The preprocessor is smart enough to not replace `$` in strings, comments, regex, etc. However, it is not a real JS parser and instead a recursive regex-based nightmare, so may hit some edge cases. Yell at Dave if it breaks. + +The module is then printed like: + +```ts +// @ts-nocheck +$$capture_start$$(function () { + const path = __intrinsic__requireId(23); + // user code is pasted here + return { + cool: path, + }; +}).$$capture_end$$; +``` + +This capture thing is used to extract the function declaration afterwards, this is more useful in the functions case where functions can have arguments, or be async functions. + +After bundling, the inner part is extracted, and then `__intrinsic__` is replaced to `@`. + +These can then be inlined into C++ headers and loaded with `createBuiltin`. This is done in `InternalModuleRegistry.cpp`. diff --git a/src/js/builtins/codegen/index.ts b/src/js/_codegen/build-functions.ts similarity index 98% rename from src/js/builtins/codegen/index.ts rename to src/js/_codegen/build-functions.ts index 564b6968958f9..0072d678b3efd 100644 --- a/src/js/builtins/codegen/index.ts +++ b/src/js/_codegen/build-functions.ts @@ -8,7 +8,7 @@ import { spawn } from "bun"; async function createStaticHashtables() { const STATIC_HASH_TABLES = ["src/bun.js/bindings/Process.cpp"]; console.time("Creating static hash tables..."); - const create_hash_table = path.join(import.meta.dir, "../../../../src/bun.js/scripts/create_hash_table"); + const create_hash_table = path.join(import.meta.dir, "../../../src/bun.js/scripts/create_hash_table"); if (!create_hash_table) { console.warn( "Could not find create_hash_table executable. Run `bun i` or clone webkit to build static hash tables", @@ -16,7 +16,7 @@ async function createStaticHashtables() { return; } for (let cpp of STATIC_HASH_TABLES) { - cpp = path.join(import.meta.dir, "../../../../", cpp); + cpp = path.join(import.meta.dir, "../../../", cpp); const { stdout, exited } = spawn({ cmd: [create_hash_table, cpp], stdout: "pipe", @@ -41,12 +41,12 @@ const MINIFY = process.argv.includes("--minify") || process.argv.includes("-m"); const PARALLEL = process.argv.includes("--parallel") || process.argv.includes("-p"); const KEEP_TMP = process.argv.includes("--keep-tmp") || process.argv.includes("-k") || true; -const SRC_DIR = path.join(import.meta.dir, "../"); +const SRC_DIR = path.join(import.meta.dir, "../builtins"); const OUT_DIR = path.join(SRC_DIR, "../out"); -const TMP_DIR = path.join(SRC_DIR, "../out/tmp"); +const TMP_DIR = path.join(SRC_DIR, "../out/tmp/builtins"); if (existsSync(TMP_DIR)) rmSync(TMP_DIR, { recursive: true }); -mkdirSync(TMP_DIR); +mkdirSync(TMP_DIR, { recursive: true }); const define = { "process.env.NODE_ENV": "development", @@ -216,7 +216,7 @@ $$capture_start$$(${fn.async ? "async " : ""}${ const build = await Bun.build({ entrypoints: [tmpFile], define, - minify: true, + minify: false, }); if (!build.success) { throw new AggregateError(build.logs, "Failed bundling builtin function " + fn.name + " from " + basename + ".ts"); diff --git a/src/js/_codegen/build-modules.ts b/src/js/_codegen/build-modules.ts new file mode 100644 index 0000000000000..b75f197176bbc --- /dev/null +++ b/src/js/_codegen/build-modules.ts @@ -0,0 +1,369 @@ +import fs from "fs"; +import path from "path"; +import { sliceSourceCode } from "./builtin-parser"; +import { cap, fmtCPPString, readdirRecursive, resolveSyncOrNull } from "./helpers"; +import { createAssertClientJS, createLogClientJS } from "./client-js"; + +let start = performance.now(); +function mark(log: string) { + const now = performance.now(); + console.log(`${log} (${(now - start).toFixed(0)}ms)`); + start = now; +} + +const BASE = path.join(import.meta.dir, "../"); +const TMP = path.join(BASE, "out/tmp"); + +const moduleList = ["bun", "node", "thirdparty", "internal"] + .flatMap(dir => readdirRecursive(path.join(BASE, dir))) + .filter(file => file.endsWith(".js") || (file.endsWith(".ts") && !file.endsWith(".d.ts"))) + .map(file => file.slice(BASE.length)) + .sort(); + +const internalRegistry = new Map(); + +// Build Registry +for (let i = 0; i < moduleList.length; i++) { + const prefix = moduleList[i].startsWith("node/") ? "node:" : moduleList[i].startsWith("bun:") ? "bun/" : undefined; + if (prefix) { + const id = prefix + moduleList[i].slice(prefix.length).replaceAll(".", "/").slice(0, -3); + internalRegistry.set(id, i); + } +} + +// Native Module registry +const nativeModuleH = fs.readFileSync(path.join(BASE, "../bun.js/modules/_NativeModule.h"), "utf8"); +const nativeModuleDefine = nativeModuleH.match(/BUN_FOREACH_NATIVE_MODULE\(macro\)\s*\\\n((.*\\\n)*\n)/); +if (!nativeModuleDefine) { + throw new Error( + "Could not find BUN_FOREACH_NATIVE_MODULE in _NativeModule.h. Knowing native module IDs is a part of the codegen process.", + ); +} +let nextNativeModuleId = moduleList.length; +const nativeModuleIds: Record = {}; +const nativeModuleEnums: Record = {}; +const nativeModuleEnumToId: Record = {}; +for (const [_, idString, enumValue] of nativeModuleDefine[0].matchAll(/macro\((.*?),(.*?)\)/g)) { + const processedIdString = JSON.parse(idString.trim().replace(/_s$/, "")); + const processedEnumValue = enumValue.trim(); + const processedNumericId = nextNativeModuleId++; + nativeModuleIds[processedIdString] = processedNumericId; + nativeModuleEnums[processedIdString] = processedEnumValue; + nativeModuleEnumToId[processedEnumValue] = processedNumericId; +} + +mark("Scan internal registry"); + +// Preprocess builtins +const bundledEntryPoints: string[] = []; +for (let i = 0; i < moduleList.length; i++) { + try { + const input = fs.readFileSync(path.join(BASE, moduleList[i]), "utf8"); + const processed = sliceSourceCode("{" + input.replace(/export\s*{\s*}\s*;/g, ""), true, specifier => { + // this one is deprecated + if (specifier === "$shared") specifier = "./internal/shared.ts"; + + const directMatch = internalRegistry.get(specifier); + if (directMatch) return `__intrinsic__requireId(${directMatch}/*${specifier}*/)`; + + if (specifier in nativeModuleIds) + return `__intrinsic__requireBuiltin(${nativeModuleIds[specifier]}/* native ${nativeModuleEnums[specifier]}*/)`; + + const relativeMatch = + resolveSyncOrNull(specifier, path.join(BASE, path.dirname(moduleList[i]))) ?? + resolveSyncOrNull(specifier, BASE); + + if (relativeMatch) { + const found = moduleList.indexOf(path.relative(BASE, relativeMatch)); + if (found === -1) { + throw new Error( + `Builtin Bundler: "${specifier}" cannot be imported here because it doesn't get a module ID. Only files in "src/js" besides "src/js/builtins" can be used here.`, + ); + } + return `__intrinsic__requireId(${found}/*${path.relative(BASE, relativeMatch)}*/)`; + } + + throw new Error( + `Builtin Bundler: Could not resolve "${specifier}" in ${moduleList[i]}. These cannot be relative.`, + ); + }); + let fileToTranspile = `// @ts-nocheck +// GENERATED TEMP FILE - DO NOT EDIT +// Sourced from src/js/${moduleList[i]} + +$$capture_start$$(function() { +${processed.result.slice(1)} +return __intrinsic__exports; +}).$$capture_end$$;`; + + // Attempt to optimize "$exports = ..." to a variableless return + // otherwise, declare $exports so it works. + let exportOptimization = false; + fileToTranspile = fileToTranspile.replace( + /__intrinsic__exports\s*=\s*(.*|.*\{[^\}]*}|.*\([^\)]*\));?\n\s*return\s*__intrinsic__exports;/g, + (_, a) => { + exportOptimization = true; + return "return " + a + ";"; + }, + ); + if (!exportOptimization) { + fileToTranspile = fileToTranspile + .replaceAll("__intrinsic__exports", "$") + .replace("$$capture_start$$(function() {", "$$$$capture_start$$$$(function() {var $;"); + } + const outputPath = path.join(TMP, moduleList[i].slice(0, -3) + ".ts"); + fs.mkdirSync(path.dirname(outputPath), { recursive: true }); + fs.writeFileSync(outputPath, fileToTranspile); + bundledEntryPoints.push(outputPath); + } catch (error) { + console.error(error); + console.error(`While processing: ${moduleList[i]}`); + process.exit(1); + } +} + +mark("Preprocess modules"); + +const config = ({ platform, debug }: { platform: typeof process.platform; debug?: boolean }) => ({ + entrypoints: bundledEntryPoints, + minify: { syntax: true, whitespace: !debug }, + root: TMP, + define: { + IS_BUN_DEVELOPMENT: String(!!debug), + __intrinsic__debug: debug ? "$debug_log_enabled" : "false", + "process.platform": `"${platform}"`, + }, +}); +const bundled_host = await Bun.build(config({ platform: process.platform, debug: true })); +const bundled_linux = await Bun.build(config({ platform: "linux" })); +const bundled_darwin = await Bun.build(config({ platform: "darwin" })); +const bundled_win32 = await Bun.build(config({ platform: "win32" })); +for (const bundled of [bundled_host /*, bundled_linux, bundled_darwin, bundled_win32*/]) { + if (!bundled.success) { + console.error(bundled.logs); + process.exit(1); + } +} + +mark("Bundle modules"); + +const bundledOutputs = { + host: new Map(), + linux: new Map(), + darwin: new Map(), + win32: new Map(), +}; + +for (const [name, bundle, outputs] of [ + ["modules_dev", bundled_host, bundledOutputs.host], + ["modules_linux", bundled_linux, bundledOutputs.linux], + ["modules_darwin", bundled_darwin, bundledOutputs.darwin], + ["modules_win32", bundled_win32, bundledOutputs.win32], +] as const) { + for (const file of bundle.outputs) { + const output = await file.text(); + let captured = output.match(/\$\$capture_start\$\$([\s\S]+)\.\$\$capture_end\$\$/)![1]; + let usesDebug = output.includes("$debug_log"); + let usesAssert = output.includes("$assert"); + captured = + captured + .replace(/^\((async )?function\(/, "($1function (") + .replace(/]\s*,\s*__(debug|assert)_end__\)/g, ")") + .replace(/]\s*,\s*__debug_end__\)/g, ")") + .replace(/__intrinsic__lazy\(/g, "globalThis[globalThis.Symbol.for('Bun.lazy')](") + .replace(/__intrinsic__/g, "@") + "\n"; + captured = captured.replace( + /function\s*\(.*?\)\s*{/, + '$&"use strict";' + + (usesDebug + ? createLogClientJS( + file.path.replace(".js", ""), + idToPublicSpecifierOrEnumName(file.path).replace(/^node:|^bun:/, ""), + ) + : "") + + (usesAssert ? createAssertClientJS(idToPublicSpecifierOrEnumName(file.path).replace(/^node:|^bun:/, "")) : ""), + ); + const outputPath = path.join(BASE, "out", name, file.path); + fs.mkdirSync(path.dirname(outputPath), { recursive: true }); + fs.writeFileSync(outputPath, captured); + outputs.set(file.path.replace(".js", ""), captured); + } +} + +mark("Postprocesss modules"); + +function idToEnumName(id: string) { + return id + .replace(/\.[mc]?[tj]s$/, "") + .replace(/[^a-zA-Z0-9]+/g, " ") + .split(" ") + .map(x => (["jsc", "ffi", "vm", "tls", "os", "ws", "fs", "dns"].includes(x) ? x.toUpperCase() : cap(x))) + .join(""); +} + +function idToPublicSpecifierOrEnumName(id: string) { + id = id.replace(/\.[mc]?[tj]s$/, ""); + if (id.startsWith("node/")) { + return "node:" + id.slice(5).replaceAll(".", "/"); + } else if (id.startsWith("bun/")) { + return "bun:" + id.slice(4).replaceAll(".", "/"); + } else if (id.startsWith("internal/")) { + return "internal:" + id.slice(9).replaceAll(".", "/"); + } else if (id.startsWith("thirdparty/")) { + return id.slice(11).replaceAll(".", "/"); + } + return idToEnumName(id); +} + +// This is a file with a single macro that is used in defining InternalModuleRegistry.h +fs.writeFileSync( + path.join(BASE, "out/InternalModuleRegistry+numberOfModules.h"), + `#define BUN_INTERNAL_MODULE_COUNT ${moduleList.length}\n`, +); + +// This code slice is used in InternalModuleRegistry.h for inlining the enum. I dont think we +// actually use this enum but it's probably a good thing to include. +fs.writeFileSync( + path.join(BASE, "out/InternalModuleRegistry+enum.h"), + moduleList + .map((id, n) => { + return `${idToEnumName(id)} = ${n},`; + }) + .join("\n") + "\n", +); + +// This code slice is used in InternalModuleRegistry.cpp. It calls initLater a ton of times with inlined code. +// It expects a macro defined in InternalModuleRegistry.cpp +fs.writeFileSync( + path.join(BASE, "out/InternalModuleRegistry+create.h"), + `${moduleList + .map((id, n) => { + return `registry->m_internalModule[${n}].initLater([](const JSC::LazyProperty::Initializer& init) { + INTERNAL_MODULE_REGISTRY_GENERATE(init, "${idToPublicSpecifierOrEnumName(id)}"_s, ${JSON.stringify( + path.join(BASE, "out/modules", id.replace(/\.[mc]?[tj]s$/, ".js")), + )}_s, InternalModuleRegistryConstants::${idToEnumName(id)}Code); +}); +`; + }) + .join("")} +${moduleList + .map((id, n) => { + return `registry->m_internalFields[${n}].set(vm, this, jsUndefined()) +`; + }) + .join("")}`, +); + +// This code slice is used in InternalModuleRegistry.cpp and calls .visit for each module. +fs.writeFileSync( + path.join(BASE, "out/InternalModuleRegistry+visitImpl.h"), + moduleList + .map((id, n) => { + return `m_internalModule[${n}].visit(visitor);`; + }) + .join("\n") + "\n", +); + +// This header is used by InternalModuleRegistry.cpp, and should only be included in that file. +// It inlines all the strings for the module IDs. +fs.writeFileSync( + path.join(BASE, "out/InternalModuleRegistryConstants.h"), + `#pragma once + +namespace Bun { +namespace InternalModuleRegistryConstants { + +#if __APPLE__ +${moduleList + .map( + (id, n) => + `static constexpr ASCIILiteral ${idToEnumName(id)}Code = ${fmtCPPString( + bundledOutputs.darwin.get(id.slice(0, -3)), + )}_s;`, + ) + .join("\n")} +#elif _WIN32 +${moduleList + .map( + (id, n) => + `static constexpr ASCIILiteral ${idToEnumName(id)}Code = ${fmtCPPString( + bundledOutputs.win32.get(id.slice(0, -3)), + )}_s;`, + ) + .join("\n")} +#else +// Not 100% accurate, but basically inlining linux on non-windows non-mac platforms. +${moduleList + .map( + (id, n) => + `static constexpr ASCIILiteral ${idToEnumName(id)}Code = ${fmtCPPString( + bundledOutputs.linux.get(id.slice(0, -3)), + )}_s;`, + ) + .join("\n")} +#endif + +} +}`, +); + +// This is a generated enum for zig code (exports.zig) +fs.writeFileSync( + path.join(BASE, "out/ResolvedSourceTag.zig"), + `pub const ResolvedSourceTag = enum(u32) { + // Predefined + javascript = 0, + package_json_type_module = 1, + wasm = 2, + object = 3, + file = 4, + esm = 5, + + // Built in modules are loaded through InternalModuleRegistry by numerical ID. + // In this enum are represented as \`(1 << 9) & id\` +${moduleList.map((id, n) => ` @"${idToPublicSpecifierOrEnumName(id)}" = ${(1 << 9) | n},`).join("\n")} + // Native modules run through the same system, but with different underlying initializers. + // They also have bit 10 set to differentiate them from JS builtins. +${Object.entries(nativeModuleIds) + .map(([id, n]) => ` @"${id}" = ${(1 << 10) | (1 << 9) | n},`) + .join("\n")} +}; +`, +); + +// This is a generated enum for c++ code (headers-handwritten.h) +fs.writeFileSync( + path.join(BASE, "out/SyntheticModuleType.h"), + `enum SyntheticModuleType : uint32_t { + JavaScript = 0, + PackageJSONTypeModule = 1, + Wasm = 2, + ObjectModule = 3, + File = 4, + ESM = 5, + + // Built in modules are loaded through InternalModuleRegistry by numerical ID. + // In this enum are represented as \`(1 << 9) & id\` + InternalModuleRegistryFlag = 1 << 9, +${moduleList.map((id, n) => ` ${idToEnumName(id)} = ${(1 << 9) | n},`).join("\n")} + + // Native modules run through the same system, but with different underlying initializers. + // They also have bit 10 set to differentiate them from JS builtins. + NativeModuleFlag = 1 << 10, +${Object.entries(nativeModuleEnumToId) + .map(([id, n]) => ` ${id} = ${(1 << 10) | (1 << 9) | n},`) + .join("\n")} +}; + +`, +); + +// This is used in ModuleLoader.cpp to link to all the headers for native modules. +fs.writeFileSync( + path.join(BASE, "out/NativeModuleImpl.h"), + Object.values(nativeModuleEnums) + .map(value => `#include "../../bun.js/modules/${value}Module.h"`) + .join("\n") + "\n", +); + +mark("Generate Code"); diff --git a/src/js/_codegen/builtin-parser.ts b/src/js/_codegen/builtin-parser.ts new file mode 100644 index 0000000000000..c823bceac8cc0 --- /dev/null +++ b/src/js/_codegen/builtin-parser.ts @@ -0,0 +1,174 @@ +import { applyReplacements } from "./replacements"; + +/** + * Slices a string until it hits a }, but keeping in mind JS comments, + * regex, template literals, comments, and matching { + * + * Used to extract function bodies without parsing the code. + * + * If you pass replace=true, it will run replacements on the code + */ +export function sliceSourceCode( + contents: string, + replace: boolean, + replaceRequire?: (specifier: string) => string, + endOnComma = false, +): { result: string; rest: string } { + let bracketCount = 0; + let i = 0; + let result = ""; + while (contents.length) { + const match = contents.match( + endOnComma && bracketCount <= 1 + ? /([(,=;:{]\s*)\/[^\/\*]|\/\*|\/\/|['"}`\),]|(? ( + // The rationale for checking all these variables is just so you don't have to exactly remember which one you set. + (env.BUN_DEBUG_ALL && env.BUN_DEBUG_ALL !== '0') + || (env.BUN_DEBUG_${filepath + .replace(/^.*?:/, "") + .split(/[-_./]/g) + .join("_") + .toUpperCase()}) + || (env.DEBUG_${filepath + .replace(/^.*?:/, "") + .split(/[-_./]/g) + .join("_") + .toUpperCase()}) +))(@Bun.env); +let $debug_log = $debug_log_enabled ? (...args) => { + // warn goes to stderr without colorizing + console.warn(Bun.enableANSIColors ? '\\x1b[90m[${publicName}]\\x1b[0m' : '[${publicName}]', ...args); +} : () => {}; +`; +} + +export function createAssertClientJS(publicName: string) { + return ` +let $assert = function(check, sourceString, ...message) { + if (!check) { + console.error('[${publicName}] ASSERTION FAILED: ' + sourceString); + if(message.length)console.warn (' ${" ".repeat(publicName.length)}', ...message); + const e = new Error(sourceString); + e.name = 'AssertionError'; + throw e; + } +} +`; +} diff --git a/src/js/builtins/codegen/helpers.ts b/src/js/_codegen/helpers.ts similarity index 52% rename from src/js/builtins/codegen/helpers.ts rename to src/js/_codegen/helpers.ts index 6345f8ffada10..7f0c29ba0e248 100644 --- a/src/js/builtins/codegen/helpers.ts +++ b/src/js/_codegen/helpers.ts @@ -1,3 +1,6 @@ +import fs from "fs"; +import path from "path"; + export function fmtCPPString(str: string) { return ( '"' + @@ -23,3 +26,19 @@ export function low(str: string) { return str[0].toLowerCase() + str.slice(1); } + +export function readdirRecursive(root: string): string[] { + const files = fs.readdirSync(root, { withFileTypes: true }); + return files.flatMap(file => { + const fullPath = path.join(root, file.name); + return file.isDirectory() ? readdirRecursive(fullPath) : fullPath; + }); +} + +export function resolveSyncOrNull(specifier: string, from: string) { + try { + return Bun.resolveSync(specifier, from); + } catch { + return null; + } +} diff --git a/src/js/_codegen/index.ts b/src/js/_codegen/index.ts new file mode 100644 index 0000000000000..bcf11238e3ce8 --- /dev/null +++ b/src/js/_codegen/index.ts @@ -0,0 +1,2 @@ +import "./build-modules"; +// import "./build-functions"; diff --git a/src/js/builtins/codegen/replacements.ts b/src/js/_codegen/replacements.ts similarity index 61% rename from src/js/builtins/codegen/replacements.ts rename to src/js/_codegen/replacements.ts index 87157a587d3e1..815d3b5cd52f2 100644 --- a/src/js/builtins/codegen/replacements.ts +++ b/src/js/_codegen/replacements.ts @@ -1,4 +1,5 @@ -import { LoaderKeys } from "../../../api/schema"; +import { LoaderKeys } from "../../api/schema"; +import { sliceSourceCode } from "./builtin-parser"; // This is a list of extra syntax replacements to do. Kind of like macros // These are only run on code itself, not string contents or comments. @@ -7,6 +8,7 @@ export const replacements: ReplacementRule[] = [ { from: /\bthrow new RangeError\b/g, to: "$throwRangeError" }, { from: /\bthrow new OutOfMemoryError\b/g, to: "$throwOutOfMemoryError" }, { from: /\bnew TypeError\b/g, to: "$makeTypeError" }, + { from: /\bexport\s*default/g, to: "$exports =" }, ]; // These rules are run on the entire file, including within strings. @@ -41,6 +43,9 @@ export const globalsToPrefix = [ "TransformStream", "TransformStreamDefaultController", "Uint8Array", + "String", + "Buffer", + "RegExp", "WritableStream", "WritableStreamDefaultController", "WritableStreamDefaultWriter", @@ -81,12 +86,43 @@ export interface ReplacementRule { } /** Applies source code replacements as defined in `replacements` */ -export function applyReplacements(src: string) { - let result = src.replace(/\$([a-zA-Z0-9_]+)\b/gm, `__intrinsic__$1`); +export function applyReplacements(src: string, length: number) { + let slice = src.slice(0, length); + let rest = src.slice(length); + slice = slice.replace(/([^a-zA-Z0-9_\$])\$([a-zA-Z0-9_]+\b)/gm, `$1__intrinsic__$2`); for (const replacement of replacements) { - result = result.replace(replacement.from, replacement.to.replaceAll("$", "__intrinsic__")); + slice = slice.replace(replacement.from, replacement.to.replaceAll("$", "__intrinsic__")); } - return result; + let match; + if ((match = slice.match(/__intrinsic__(debug|assert)\(/))) { + const name = match[1]; + const combined = slice + rest; + if (name === "debug") { + const innerSlice = sliceSourceCode("(" + combined.slice(match.index + match[0].length), true); + return [ + slice.slice(0, match.index) + "(IS_BUN_DEVELOPMENT?$debug_log" + innerSlice.result + ":void 0)", + innerSlice.rest.slice(1), + true, + ]; + } else if (name === "assert") { + const checkSlice = sliceSourceCode("(" + combined.slice(match.index + match[0].length), true, undefined, true); + const messageSlice = + !checkSlice.result.endsWith(")") && + sliceSourceCode("(" + combined.slice(match.index + match[0].length + checkSlice.result.length), true); + return [ + slice.slice(0, match.index) + + "(IS_BUN_DEVELOPMENT?$assert(" + + checkSlice.result.slice(1, -1) + + "," + + JSON.stringify(checkSlice.result.slice(1, -1).replace(/__intrinsic__/g, "$")) + + (messageSlice ? "," + messageSlice.result.slice(1, -1) : "") + + "):void 0)", + (messageSlice || checkSlice).rest, + true, + ]; + } + } + return [slice, rest, false]; } /** Applies source code replacements as defined in `globalReplacements` */ diff --git a/src/js/build-builtins.ts b/src/js/build-builtins.ts deleted file mode 100644 index 596b92270bee9..0000000000000 --- a/src/js/build-builtins.ts +++ /dev/null @@ -1 +0,0 @@ -import "./builtins/codegen"; diff --git a/src/js/build-esm.ts b/src/js/build-esm.ts deleted file mode 100644 index 762fc1e566aeb..0000000000000 --- a/src/js/build-esm.ts +++ /dev/null @@ -1,133 +0,0 @@ -import { BuildConfig } from "bun"; -import fs from "fs"; -import path from "path"; - -const OUT_DIR = path.join(import.meta.dir, "out/"); -const TMP_DIR = path.join(import.meta.dir, "out/tmp"); - -// Because we do not load sourcemaps, we are not enabling identifiers + whitespace -// minification on all files, just on the ones without logic or were already bundled -const minifyList = [ - "node/stream.js", - "node/crypto.js", - "node/assert.js", - "node/assert.strict.js", - "node/fs.promises.ts", - "node/path.js", - "node/path.posix.js", - "node/path.win32.js", - "node/stream.promises.js", - "node/stream.consumers.js", - "node/stream.web.js", - "node/url.js", - "node/zlib.js", -]; - -if (fs.existsSync(OUT_DIR + "/modules")) { - fs.rmSync(OUT_DIR + "/modules", { recursive: true }); -} -if (fs.existsSync(OUT_DIR + "/modules_dev")) { - fs.rmSync(OUT_DIR + "/modules_dev", { recursive: true }); -} - -function readdirRecursive(root: string): string[] { - const files = fs.readdirSync(root, { withFileTypes: true }); - return files.flatMap(file => { - const fullPath = path.join(root, file.name); - return file.isDirectory() ? readdirRecursive(fullPath) : fullPath; - }); -} - -const entrypoints = ["./bun", "./node", "./thirdparty"] - .flatMap(dir => readdirRecursive(path.join(import.meta.dir, dir))) - .filter(file => file.endsWith(".js") || (file.endsWith(".ts") && !file.endsWith(".d.ts"))); - -const opts = { - target: "bun", - naming: { - entry: "[dir]/[name].[ext]", - }, - root: import.meta.dir, - define: { - "process.platform": JSON.stringify(process.platform), - "process.arch": JSON.stringify(process.arch), - "$lazy": "$$BUN_LAZY$$", - }, -} as const; - -const productionOpts = { - ...opts, - define: { - ...opts.define, - "IS_BUN_DEVELOPMENT": "false", - }, -}; - -const devOpts = { - ...opts, - define: { - ...opts.define, - "IS_BUN_DEVELOPMENT": "true", - }, -}; - -const build_prod_minified = await Bun.build({ - entrypoints: entrypoints.filter(file => minifyList.includes(file.slice(import.meta.dir.length + 1))), - minify: true, - ...productionOpts, -}); - -const build_prod_unminified = await Bun.build({ - entrypoints: entrypoints.filter(file => !minifyList.includes(file.slice(import.meta.dir.length + 1))), - minify: { syntax: true }, - ...productionOpts, -}); - -const build_dev = await Bun.build({ - entrypoints: entrypoints, - minify: { syntax: false }, - sourcemap: "external", - ...devOpts, -}); - -for (const [build, outdir] of [ - [build_dev, path.join(OUT_DIR, "modules_dev")], - [build_prod_minified, path.join(OUT_DIR, "modules")], - [build_prod_unminified, path.join(OUT_DIR, "modules")], -] as const) { - if (!build.success) { - console.error("Build failed"); - throw new AggregateError(build.logs); - } - - if (build.logs.length) { - console.log("Build has warnings:"); - for (const log of build.logs) { - console.log(log); - } - } - - for (const output of build.outputs) { - fs.mkdirSync(path.join(outdir, path.dirname(output.path)), { recursive: true }); - - if (output.kind === "entry-point" || output.kind === "chunk") { - const transformedOutput = (await output.text()) - .replace(/^(\/\/.*?\n)+/g, "") - .replace(/\$\$BUN_LAZY\$\$/g, 'globalThis[Symbol.for("Bun.lazy")]'); - - if (transformedOutput.includes("$bundleError")) { - // attempt to find the string that was passed to $bundleError - const match = transformedOutput.match(/(?<=\$bundleError\(")(?:[^"\\]|\\.)*?(?="\))/); - console.error(`Build ${output.path} $bundleError: ${match?.[0] ?? "unknown"}`); - console.error(`DCE should have removed this function call, but it was not.`); - process.exit(1); - } - - Bun.write(path.join(outdir, output.path), transformedOutput); - } else { - Bun.write(path.join(outdir, output.path), output); - } - } -} - -console.log(`Bundled esm modules in ${performance.now().toFixed(2)}ms`); diff --git a/src/js/builtins/builtins.d.ts b/src/js/builtins.d.ts similarity index 96% rename from src/js/builtins/builtins.d.ts rename to src/js/builtins.d.ts index 1b585ae7ab19e..75bd77c53ec72 100644 --- a/src/js/builtins/builtins.d.ts +++ b/src/js/builtins.d.ts @@ -1,6 +1,19 @@ // Typedefs for JSC intrinsics. Instead of @, we use $ type TODO = any; +/** $debug is a preprocessor macro that works like a templated console.log, and only runs in debug mode if you pass + * BUN_DEBUG_JS= + * + * So to get node stream to log, you pass BUN_DEBUG_JS=stream or BUN_DEBUG_JS=node:stream + * + * This only works in debug builds, the log fn is completely removed in release builds. + */ +declare function $debug(...args: any[]): void; +/** $assert is a preprocessor macro that only runs in debug mode. it throws an error if the first argument is falsy. + * The source code passed to `check` is inlined in the message, but in addition you can pass additional messages. + */ +declare function $assert(check: any, ...message: any[]): void; + /** Place this directly above a function declaration (like a decorator) to make it a getter. */ declare const $getter: never; /** Assign to this directly above a function declaration (like a decorator) to override the function's display name. */ @@ -25,8 +38,6 @@ declare function $extractHighWaterMarkFromQueuingStrategyInit(obj: any): any; // And implemented here: (search for "emit_intrinsic_", like "emit_intrinsic_arrayPush") // https://github.com/WebKit/WebKit/blob/main/Source/JavaScriptCore/bytecompiler/NodesCodegen.cpp -/** Assert a value is true */ -declare function $assert(index: any): void; /** returns `arguments[index]` */ declare function $argument(index: number): any; /** returns number of arguments */ @@ -231,7 +242,6 @@ declare function $closed(): TODO; declare function $closedPromise(): TODO; declare function $closedPromiseCapability(): TODO; declare function $code(): TODO; -declare const $commonJSSymbol: unique symbol; declare function $connect(): TODO; declare function $consumeReadableStream(): TODO; declare function $controlledReadableStream(): TODO; @@ -356,6 +366,7 @@ declare function $removeEventListener(): TODO; declare function $require(): TODO; declare function $requireESM(path: string): any; declare const $requireMap: Map; +declare const $internalModuleRegistry: InternalFieldObject; declare function $resolve(name: string, from: string): Promise; declare function $resolveSync(name: string, from: string, isESM?: boolean): string; declare function $resume(): TODO; diff --git a/src/js/builtins/AsyncContext.ts b/src/js/builtins/AsyncContext.ts deleted file mode 100644 index 1c55feeba8261..0000000000000 --- a/src/js/builtins/AsyncContext.ts +++ /dev/null @@ -1,9 +0,0 @@ -// Used by async_hooks to manipulate the async context - -export function getAsyncContext(): ReadonlyArray | undefined { - return $getInternalField($asyncContext, 0); -} - -export function setAsyncContext(contextValue: ReadonlyArray | undefined) { - return $putInternalField($asyncContext, 0, contextValue); -} diff --git a/src/js/builtins/BunBuiltinNames.h b/src/js/builtins/BunBuiltinNames.h index 1897f939e5881..7f0ba7dbcfb8f 100644 --- a/src/js/builtins/BunBuiltinNames.h +++ b/src/js/builtins/BunBuiltinNames.h @@ -1,6 +1,6 @@ +// clang-format off #pragma once - #ifdef ASSERT_ENABLED #if ASSERT_ENABLED #define ORIGINAL_ASSERT_ENABLED 1 @@ -9,7 +9,6 @@ #endif #endif - #include "JavaScriptCore/BuiltinUtils.h" #include "root.h" @@ -17,10 +16,6 @@ namespace WebCore { using namespace JSC; -#if !defined(BUN_ADDITIONAL_PRIVATE_IDENTIFIERS) -#define BUN_ADDITIONAL_PRIVATE_IDENTIFIERS(macro) -#endif - #define BUN_COMMON_PRIVATE_IDENTIFIERS_EACH_PROPERTY_NAME(macro) \ macro(AbortSignal) \ macro(Buffer) \ @@ -66,7 +61,6 @@ using namespace JSC; macro(closedPromise) \ macro(closedPromiseCapability) \ macro(code) \ - macro(commonJSSymbol) \ macro(connect) \ macro(consumeReadableStream) \ macro(controlledReadableStream) \ @@ -250,7 +244,9 @@ using namespace JSC; macro(writer) \ macro(writing) \ macro(written) \ - BUN_ADDITIONAL_PRIVATE_IDENTIFIERS(macro) \ + macro(requireBuiltin) \ + macro(requireId) \ + macro(createAndLoadBuiltinModule) \ class BunBuiltinNames { public: diff --git a/src/js/builtins/EventSource.ts b/src/js/builtins/EventSource.ts index a26c8d4ce275b..5a65643237f4b 100644 --- a/src/js/builtins/EventSource.ts +++ b/src/js/builtins/EventSource.ts @@ -494,7 +494,5 @@ export function getEventSource() { value: 2, }); - EventSource[Symbol.for("CommonJS")] = 0; - return EventSource; } diff --git a/src/js/builtins/ImportMetaObject.ts b/src/js/builtins/ImportMetaObject.ts index 4a08524c67d98..9409bb0f1c49a 100644 --- a/src/js/builtins/ImportMetaObject.ts +++ b/src/js/builtins/ImportMetaObject.ts @@ -103,11 +103,6 @@ export function requireESM(this: ImportMetaObject, resolved) { throw new TypeError(`require() failed to evaluate module "${resolved}". This is an internal consistentency error.`); } var exports = Loader.getModuleNamespaceObject(entry.module); - if (exports[$commonJSSymbol] === 0) { - // CommonJS module created via `Bun::CommonJSModuleRecord` - // We will refer to the requireMap to get the exports - return; - } return exports; } @@ -141,10 +136,6 @@ export function internalRequire(this: ImportMetaObject, id) { if (cachedModule) { return cachedModule.exports; } - var defaultExport = exports?.default; - if (defaultExport?.[$commonJSSymbol] === 0) { - exports = defaultExport; - } $requireMap.$set(id, $createCommonJSModule(id, exports, true)); return exports; } @@ -161,9 +152,7 @@ export function createRequireCache() { const esm = Loader.registry.$get(key); if (esm?.evaluated) { const namespace = Loader.getModuleNamespaceObject(esm.module); - const exports = - namespace[$commonJSSymbol] === 0 || namespace.default?.[$commonJSSymbol] ? namespace.default : namespace; - const mod = $createCommonJSModule(key, exports, true); + const mod = $createCommonJSModule(key, namespace, true); $requireMap.$set(key, mod); return mod; } diff --git a/src/js/builtins/Module.ts b/src/js/builtins/Module.ts index 0b5fcafe8d806..bfe8a39de4c30 100644 --- a/src/js/builtins/Module.ts +++ b/src/js/builtins/Module.ts @@ -1,9 +1,13 @@ -interface Module { +interface CommonJSModuleRecord { + $require(id: string, mod: any): any; + children: CommonJSModuleRecord[]; + exports: any; id: string; + loaded: boolean; + parent: undefined; path: string; - - $require(id: string, mod: any): any; - children: Module[]; + paths: string[]; + require: typeof require; } $getter; @@ -11,7 +15,7 @@ export function main() { return $requireMap.$get(Bun.main); } -export function require(this: Module, id: string) { +export function require(this: CommonJSModuleRecord, id: string) { const existing = $requireMap.$get(id) || $requireMap.$get((id = $resolveSync(id, this.path, false))); if (existing) { // Scenario where this is necessary: @@ -43,12 +47,7 @@ export function require(this: Module, id: string) { if (esm?.evaluated && (esm.state ?? 0) >= $ModuleReady) { const mod = esm.module; const namespace = Loader.getModuleNamespaceObject(mod); - const exports = - namespace?.[$commonJSSymbol] === 0 || namespace?.default?.[$commonJSSymbol] === 0 - ? namespace.default - : namespace.__esModule - ? namespace - : Object.create(namespace, { __esModule: { value: true } }); + const exports = namespace.__esModule ? namespace : Object.create(namespace, { __esModule: { value: true } }); $requireMap.$set(id, $createCommonJSModule(id, exports, true)); return exports; } @@ -83,11 +82,7 @@ export function require(this: Module, id: string) { const namespace = Loader.getModuleNamespaceObject(esm!.module); return (mod.exports = // if they choose a module - namespace?.[$commonJSSymbol] === 0 || namespace?.default?.[$commonJSSymbol] === 0 - ? namespace.default - : namespace.__esModule - ? namespace - : Object.create(namespace, { __esModule: { value: true } })); + namespace.__esModule ? namespace : Object.create(namespace, { __esModule: { value: true } })); } } @@ -95,6 +90,15 @@ export function require(this: Module, id: string) { return mod.exports; } -export function requireResolve(this: Module, id: string) { +export function requireId(id: number) { + let module = $getInternalField($internalModuleRegistry, id); + if (!module) { + module = $loadInternalModuleById(id); + $putInternalField($internalModuleRegistry, id, module); + } + return module; +} + +export function requireResolve(this: CommonJSModuleRecord, id: string) { return $resolveSync(id, this.path, false); } diff --git a/src/js/builtins/ProcessObjectInternals.ts b/src/js/builtins/ProcessObjectInternals.ts index f6990dc5e5154..d9bc75ae51a4c 100644 --- a/src/js/builtins/ProcessObjectInternals.ts +++ b/src/js/builtins/ProcessObjectInternals.ts @@ -32,10 +32,7 @@ export function binding(bindingName) { var cache = globalThis.Symbol.for("process.bindings.constants"); var constants = globalThis[cache]; if (!constants) { - // TODO: make this less hacky. - // This calls require("node:fs").constants - // except, outside an ESM module. - const { constants: fs } = $lazy("createImportMeta", "node:process").require("node:fs"); + const { constants: fs } = $requireBuiltin("node:fs"); constants = { fs, zlib: {}, @@ -48,16 +45,10 @@ export function binding(bindingName) { } export function getStdioWriteStream(fd_, getWindowSize) { - var require = path => { - var existing = $requireMap.get(path); - if (existing) return existing.exports; - - return $internalRequire(path); - }; - var module = { path: "node:process", require }; + var EventEmitter = $requireBuiltin("node:events"); function createStdioWriteStream(fd_) { - var { Duplex, eos, destroy } = require("node:stream"); + var { Duplex, eos, destroy } = $requireBuiltin("node:stream"); var StdioWriteStream = class StdioWriteStream extends Duplex { #writeStream; #readStream; @@ -73,7 +64,7 @@ export function getStdioWriteStream(fd_, getWindowSize) { #isTTY; get isTTY() { - return (this.#isTTY ??= require("node:tty").isatty(fd_)); + return (this.#isTTY ??= $requireBuiltin("node:tty").isatty(fd_)); } get fd() { @@ -213,8 +204,6 @@ export function getStdioWriteStream(fd_, getWindowSize) { return new StdioWriteStream(fd_); } - var { EventEmitter } = require("node:events"); - function isFastEncoding(encoding) { if (!encoding) return true; @@ -502,11 +491,9 @@ export function getStdinStream(fd_) { var require = path => { var existing = $requireMap.get(path); if (existing) return existing.exports; - return $internalRequire(path); }; - var module = { path: "node:process", require: require }; var { Duplex, eos, destroy } = require("node:stream"); var StdinStream = class StdinStream extends Duplex { diff --git a/src/js/builtins/README.md b/src/js/builtins/README.md deleted file mode 100644 index 67b8882ee21e2..0000000000000 --- a/src/js/builtins/README.md +++ /dev/null @@ -1,53 +0,0 @@ -# JavaScript Builtins - -**TLDR** — When files in this directory change, run: - -```bash -# Delete the built files -$ make regenerate-bindings -# Re-link the binary without compiling zig (so it's faster) -$ make bun-link-lld-debug -``` - -TypeScript files in [./ts](./ts) are bundled into C++ Headers that can access JavaScriptCore intrinsics. These files use special globals that are prefixed with `$`. - -```js -$getter -export function foo() { - return $getByIdDirectPrivate(this, "superSecret"); -} -``` - -It looks kind of like decorators but they're not. They let you directly call engine intrinsics and help with avoiding prototype pollution issues. - -V8 has a [similar feature](https://v8.dev/blog/embedded-builtins) (they use `%` instead of `@`) - -They usually are accompanied by a C++ file. - -We use a custom code generator located in `./codegen` which contains a regex-based parser that separates each function into it's own bundling context, so syntax like top level variables / functions will not work. - -You can also use `process.platform` and `process.arch` in these files. The values are inlined and DCE'd. - -## Generating builtins - -To regenerate the builtins, run this from Bun's project root (where the `Makefile` is) - -```bash -$ make builtins -``` - -You'll want to also rebuild all the C++ bindings or you will get strange crashes on start - -```bash -$ make clean-bindings -``` - -The `make regenerate-bindings` command will clean and rebuild the bindings. - -Also, you can run the code generator manually. - -```bash -$ bun ./codegen/index.ts -# pass --minify to minify (make passes this by default) -# pass --keep-tmp to keep the temporary ./tmp folder, which contains processed pre-bundled .ts files -``` diff --git a/src/js/builtins/codegen/builtin-parser.ts b/src/js/builtins/codegen/builtin-parser.ts deleted file mode 100644 index e96d79c63e19e..0000000000000 --- a/src/js/builtins/codegen/builtin-parser.ts +++ /dev/null @@ -1,89 +0,0 @@ -import { applyReplacements } from "./replacements"; - -/** - * Slices a string until it hits a }, but keeping in mind JS comments, - * regex, template literals, comments, and matching { - * - * Used to extract function bodies without parsing the code. - * - * If you pass replace=true, it will run replacements on the code - */ -export function sliceSourceCode( - contents: string, - replace: boolean, -): { result: string; rest: string; usesThis: boolean } { - let bracketCount = 0; - let i = 0; - let result = ""; - let usesThis = false; - while (contents.length) { - // TODO: template literal, regexp - // these are important because our replacement logic would replace intrinsics - // within these, when it should remain as the literal dollar. - // but this isn't used in the codebase - i = contents.match(/\/\*|\/\/|'|"|{|}|`/)?.index ?? contents.length; - const chunk = replace ? applyReplacements(contents.slice(0, i)) : contents.slice(0, i); - if (chunk.includes("this")) usesThis = true; - result += chunk; - contents = contents.slice(i); - if (!contents.length) break; - if (contents.startsWith("/*")) { - i = contents.slice(2).indexOf("*/") + 2; - } else if (contents.startsWith("//")) { - i = contents.slice(2).indexOf("\n") + 2; - } else if (contents.startsWith("'")) { - i = contents.slice(1).match(/(? (typeof arg2 === "undefined" ? ffi.ptr(arg1) : ffi.ptr(arg1, arg2)); -export const toBuffer = ffi.toBuffer; -export const toArrayBuffer = ffi.toArrayBuffer; -export const viewSource = ffi.viewSource; +const ptr = (arg1, arg2) => (typeof arg2 === "undefined" ? ffi.ptr(arg1) : ffi.ptr(arg1, arg2)); +const toBuffer = ffi.toBuffer; +const toArrayBuffer = ffi.toArrayBuffer; +const viewSource = ffi.viewSource; const BunCString = ffi.CString; const nativeLinkSymbols = ffi.linkSymbols; @@ -16,7 +19,7 @@ const closeCallback = ffi.closeCallback; delete ffi.callback; delete ffi.closeCallback; -export class JSCallback { +class JSCallback { constructor(cb, options) { const { ctx, ptr } = nativeCallback(options, cb); this.#ctx = ctx; @@ -48,8 +51,8 @@ export class JSCallback { } } -export class CString extends String { - constructor(ptr, byteOffset, byteLength) { +class CString extends String { + constructor(ptr, byteOffset?, byteLength?) { super( ptr ? typeof byteLength === "number" && Number.isSafeInteger(byteLength) @@ -316,14 +319,14 @@ function FFIBuilder(params, returnType, functionToCall, name) { return wrap; } -export const native = { +const native = { dlopen: nativeDLOpen, callback: () => { throw new Error("Deprecated. Use new JSCallback(options, fn) instead"); }, }; -export function dlopen(path, options) { +function dlopen(path, options) { const result = nativeDLOpen(path, options); for (let key in result.symbols) { @@ -349,7 +352,7 @@ export function dlopen(path, options) { return result; } -export function linkSymbols(options) { +function linkSymbols(options) { const result = nativeLinkSymbols(options); for (let key in result.symbols) { @@ -370,7 +373,7 @@ var cFunctionRegistry; function onCloseCFunction(close) { close(); } -export function CFunction(options) { +function CFunction(options) { const identifier = `CFunction${cFunctionI++}`; var result = linkSymbols({ [identifier]: options, @@ -390,4 +393,20 @@ export function CFunction(options) { return result.symbols[identifier]; } -export const read = ffi.read; +const read = ffi.read; + +export default { + CFunction, + CString, + FFIType, + JSCallback, + dlopen, + linkSymbols, + native, + ptr, + read, + suffix, + toArrayBuffer, + toBuffer, + viewSource, +}; diff --git a/src/js/bun/jsc.ts b/src/js/bun/jsc.ts deleted file mode 100644 index 8063da9484611..0000000000000 --- a/src/js/bun/jsc.ts +++ /dev/null @@ -1,38 +0,0 @@ -// Hardcoded module "bun:jsc" -const jsc = $lazy("bun:jsc"); - -export const callerSourceOrigin = jsc.callerSourceOrigin; -export const jscDescribe = jsc.describe; -export const jscDescribeArray = jsc.describeArray; -/** Too easy to confuse with test describe */ -export const describe = jscDescribe; -export const describeArray = jscDescribeArray; -export const drainMicrotasks = jsc.drainMicrotasks; -export const edenGC = jsc.edenGC; -export const fullGC = jsc.fullGC; -export const gcAndSweep = jsc.gcAndSweep; -export const getRandomSeed = jsc.getRandomSeed; -export const heapSize = jsc.heapSize; -export const heapStats = jsc.heapStats; -export const startSamplingProfiler = jsc.startSamplingProfiler; -export const samplingProfilerStackTraces = jsc.samplingProfilerStackTraces; -export const isRope = jsc.isRope; -export const memoryUsage = jsc.memoryUsage; -export const noInline = jsc.noInline; -export const noFTL = jsc.noFTL; -export const noOSRExitFuzzing = jsc.noOSRExitFuzzing; -export const numberOfDFGCompiles = jsc.numberOfDFGCompiles; -export const optimizeNextInvocation = jsc.optimizeNextInvocation; -export const releaseWeakRefs = jsc.releaseWeakRefs; -export const reoptimizationRetryCount = jsc.reoptimizationRetryCount; -export const setRandomSeed = jsc.setRandomSeed; -export const startRemoteDebugger = jsc.startRemoteDebugger; -export const totalCompileTime = jsc.totalCompileTime; -export const getProtectedObjects = jsc.getProtectedObjects; -export const generateHeapSnapshotForDebugging = jsc.generateHeapSnapshotForDebugging; -export const profile = jsc.profile; -export default jsc; -export const setTimeZone = jsc.setTimeZone; -export const setTimezone = setTimeZone; -export const serialize = jsc.serialize; -export const deserialize = jsc.deserialize; diff --git a/src/js/bun/sqlite.js b/src/js/bun/sqlite.ts similarity index 97% rename from src/js/bun/sqlite.js rename to src/js/bun/sqlite.ts index 7d1416a9082d9..7218e0e6bfb2b 100644 --- a/src/js/bun/sqlite.js +++ b/src/js/bun/sqlite.ts @@ -4,10 +4,10 @@ const lazy = $lazy; var defineProperties = Object.defineProperties; var toStringTag = Symbol.toStringTag; -var apply = Function.prototype.apply; var isArray = Array.isArray; var isTypedArray = ArrayBuffer.isView; -export const constants = { + +const constants = { SQLITE_OPEN_READONLY: 0x00000001 /* Ok for sqlite3_open_v2() */, SQLITE_OPEN_READWRITE: 0x00000002 /* Ok for sqlite3_open_v2() */, SQLITE_OPEN_CREATE: 0x00000004 /* Ok for sqlite3_open_v2() */, @@ -36,11 +36,10 @@ export const constants = { }; var SQL; -var _SQL; var controllers; -export class Statement { +class Statement { constructor(raw) { this.#raw = raw; @@ -167,7 +166,7 @@ export class Statement { } var cachedCount = Symbol.for("Bun.Database.cache.count"); -export class Database { +class Database { constructor(filenameGiven, options) { if (typeof filenameGiven === "undefined") { } else if (typeof filenameGiven !== "string") { @@ -213,7 +212,7 @@ export class Database { } if (!SQL) { - _SQL = SQL = lazy("sqlite"); + SQL = lazy("sqlite"); } this.#handle = SQL.open(anonymous ? ":memory:" : filename, flags); @@ -248,7 +247,7 @@ export class Database { static deserialize(serialized, isReadOnly = false) { if (!SQL) { - _SQL = SQL = lazy("sqlite"); + SQL = lazy("sqlite"); } return SQL.deserialize(serialized, isReadOnly); @@ -256,7 +255,7 @@ export class Database { static setCustomSQLite(path) { if (!SQL) { - _SQL = SQL = lazy("sqlite"); + SQL = lazy("sqlite"); } return SQL.setCustomSQLite(path); @@ -370,6 +369,7 @@ export class Database { } } +// @ts-expect-error Database.prototype.exec = Database.prototype.run; // Return the database's cached transaction controller, or create a new one @@ -399,7 +399,7 @@ const getController = (db, self) => { // Return a new transaction function by wrapping the given function const wrapTransaction = (fn, db, { begin, commit, rollback, savepoint, release, rollbackTo }) => - function transaction(...args) { + function transaction(this, ...args) { let before, after, undo; if (db.inTransaction) { before = savepoint; @@ -424,5 +424,10 @@ const wrapTransaction = (fn, db, { begin, commit, rollback, savepoint, release, } }; -export { _SQL as native }; -export { Database as default }; +export default { + __esModule: true, + Database, + Statement, + constants, + default: Database, +}; diff --git a/src/js/shared.ts b/src/js/internal/shared.ts similarity index 75% rename from src/js/shared.ts rename to src/js/internal/shared.ts index 1e3da7d51d10c..98a5b0a713b81 100644 --- a/src/js/shared.ts +++ b/src/js/internal/shared.ts @@ -1,4 +1,4 @@ -export class NotImplementedError extends Error { +class NotImplementedError extends Error { code: string; constructor(feature: string, issue?: number) { super( @@ -14,17 +14,23 @@ export class NotImplementedError extends Error { } } -export function throwNotImplemented(feature: string, issue?: number): never { +function throwNotImplemented(feature: string, issue?: number): never { // in the definition so that it isn't bundled unless used hideFromStack(throwNotImplemented); throw new NotImplementedError(feature, issue); } -export function hideFromStack(...fns) { +function hideFromStack(...fns) { for (const fn of fns) { Object.defineProperty(fn, "name", { value: "::bunternal::", }); } } + +export default { + NotImplementedError, + throwNotImplemented, + hideFromStack, +}; diff --git a/src/js/node/assert.js b/src/js/node/assert.js index a00a845095f4b..eb823b1eed8a7 100644 --- a/src/js/node/assert.js +++ b/src/js/node/assert.js @@ -1,6 +1,5 @@ // Hardcoded module "node:assert" -var { Bun } = $lazy("primordials"); -import util from "node:util"; +const util = require("node:util"); var isDeepEqual = Bun.deepEquals; var __commonJS = (cb, mod) => @@ -781,6 +780,7 @@ should equal _possibleConstructorReturn(_this) ); } + AssertionError2.prototype = {}; return ( _createClass(AssertionError2, [ { @@ -1256,26 +1256,6 @@ function CallTracker() { throw new Error("CallTracker is not supported yet"); } -assert_module[Symbol.for("CommonJS")] = 0; assert_module["CallTracker"] = CallTracker; -export var { - AssertionError, - assert, - deepEqual, - deepStrictEqual, - doesNotReject, - doesNotThrow, - equal, - fail, - ifError, - notDeepEqual, - notDeepStrictEqual, - notEqual, - notStrictEqual, - ok, - rejects, - strict, - strictEqual, - throws, -} = assert_module; + export default assert_module; diff --git a/src/js/node/assert.strict.ts b/src/js/node/assert.strict.ts index f512c3c91bea9..f12edbff18644 100644 --- a/src/js/node/assert.strict.ts +++ b/src/js/node/assert.strict.ts @@ -1,49 +1,2 @@ // Hardcoded module "node:assert/strict" -import { strict as strictBase } from "node:assert"; - -export var { - fail, - AssertionError, - ok, - equal, - notEqual, - deepEqual, - notDeepEqual, - deepStrictEqual, - notDeepStrictEqual, - strictEqual, - notStrictEqual, - throws, - rejects, - doesNotThrow, - doesNotReject, - ifError, - match, - doesNotMatch, - CallTracker, -} = strictBase; - -const defaultObject = { - fail, - AssertionError, - ok, - equal, - notEqual, - deepEqual, - notDeepEqual, - deepStrictEqual, - notDeepStrictEqual, - strictEqual, - notStrictEqual, - throws, - rejects, - doesNotThrow, - doesNotReject, - ifError, - match, - doesNotMatch, - CallTracker, - [Symbol.for("CommonJS")]: 0, -}; - -export { defaultObject as default, strictBase as strict }; +export default require("node:assert").strict; diff --git a/src/js/node/async_hooks.ts b/src/js/node/async_hooks.ts index da9f6c136e33e..9f2c8fe04e55a 100644 --- a/src/js/node/async_hooks.ts +++ b/src/js/node/async_hooks.ts @@ -21,7 +21,15 @@ // AsyncContextData is an immutable array managed in here, formatted [key, value, key, value] where // each key is an AsyncLocalStorage object and the value is the associated value. // -const { get, set, cleanupLater } = $lazy("async_hooks"); +const { cleanupLater } = $lazy("async_hooks"); + +function get(): ReadonlyArray | undefined { + return $getInternalField($asyncContext, 0); +} + +function set(contextValue: ReadonlyArray | undefined) { + return $putInternalField($asyncContext, 0, contextValue); +} class AsyncLocalStorage { #disableCalled = false; @@ -92,6 +100,7 @@ class AsyncLocalStorage { set(context); } try { + $debug("Running with context value", get()); return callback(...args); } catch (e) { throw e; @@ -298,16 +307,6 @@ const asyncWrapProviders = { INSPECTORJSBINDING: 57, }; -export { - AsyncLocalStorage, - createHook, - executionAsyncId, - triggerAsyncId, - executionAsyncResource, - asyncWrapProviders, - AsyncResource, -}; - export default { AsyncLocalStorage, createHook, @@ -316,5 +315,4 @@ export default { executionAsyncResource, asyncWrapProviders, AsyncResource, - [Symbol.for("CommonJS")]: 0, }; diff --git a/src/js/node/child_process.js b/src/js/node/child_process.js index edcb51cef451c..ef96dbce5c225 100644 --- a/src/js/node/child_process.js +++ b/src/js/node/child_process.js @@ -1,13 +1,11 @@ // Hardcoded module "node:child_process" -import { EventEmitter } from "node:events"; -import * as StreamModule from "node:stream"; -import { constants } from "node:os"; -import { promisify } from "node:util"; -const signals = constants.signals; +const EventEmitter = require("node:events"); +const StreamModule = require("node:stream"); +const { + constants: { signals }, +} = require("node:os"); +const { promisify } = require("node:util"); -const { ArrayBuffer, Uint8Array, String, Object, Buffer, Promise } = $lazy("primordials"); - -var ObjectPrototypeHasOwnProperty = Object.prototype.hasOwnProperty; var ObjectCreate = Object.create; var ObjectAssign = Object.assign; var ObjectDefineProperty = Object.defineProperty; @@ -39,17 +37,9 @@ var Uint8ArrayPrototypeIncludes = Uint8Array.prototype.includes; const MAX_BUFFER = 1024 * 1024; -// General debug vs tracking stdio streams. Useful for stream debugging in particular -const __DEBUG__ = process.env.DEBUG || false; - -// You can use this env var along with `process.env.DEBUG_TRACK_EE` to debug stdio streams -// Just set `DEBUG_TRACK_EE=PARENT_STDOUT-0, PARENT_STDOUT-1`, etc. and `DEBUG_STDIO=1` and you will be able to track particular stdio streams -// TODO: Add ability to track a range of IDs rather than just enumerated ones -const __TRACK_STDIO__ = process.env.DEBUG_STDIO; -const debug = __DEBUG__ ? console.log : () => {}; - -if (__TRACK_STDIO__) { - debug("child_process: debug mode on"); +// Pass DEBUG_CHILD_PROCESS=1 to enable debug output +if ($debug) { + $debug("child_process: debug mode on"); globalThis.__lastId = null; globalThis.__getId = () => { return globalThis.__lastId !== null ? globalThis.__lastId++ : 0; @@ -156,14 +146,14 @@ function spawnTimeoutFunction(child, timeoutHolder) { * }} [options] * @returns {ChildProcess} */ -export function spawn(file, args, options) { +function spawn(file, args, options) { options = normalizeSpawnArguments(file, args, options); validateTimeout(options.timeout); validateAbortSignal(options.signal, "options.signal"); const killSignal = sanitizeKillSignal(options.killSignal); const child = new ChildProcess(); - debug("spawn", options); + $debug("spawn", options); child.spawn(options); if (options.timeout > 0) { @@ -227,7 +217,7 @@ export function spawn(file, args, options) { * ) => any} [callback] * @returns {ChildProcess} */ -export function execFile(file, args, options, callback) { +function execFile(file, args, options, callback) { ({ file, args, options, callback } = normalizeExecFileArgs(file, args, options, callback)); options = { @@ -481,7 +471,7 @@ export function execFile(file, args, options, callback) { * ) => any} [callback] * @returns {ChildProcess} */ -export function exec(command, options, callback) { +function exec(command, options, callback) { const opts = normalizeExecArgs(command, options, callback); return execFile(opts.file, opts.options, opts.callback); } @@ -543,7 +533,7 @@ ObjectDefineProperty(exec, promisify.custom, { * error: Error; * }} */ -export function spawnSync(file, args, options) { +function spawnSync(file, args, options) { options = { maxBuffer: MAX_BUFFER, ...normalizeSpawnArguments(file, args, options), @@ -552,7 +542,7 @@ export function spawnSync(file, args, options) { const maxBuffer = options.maxBuffer; const encoding = options.encoding; - debug("spawnSync", options); + $debug("spawnSync", options); // Validate the timeout, if present. validateTimeout(options.timeout); @@ -631,7 +621,7 @@ export function spawnSync(file, args, options) { * }} [options] * @returns {Buffer | string} */ -export function execFileSync(file, args, options) { +function execFileSync(file, args, options) { ({ file, args, options } = normalizeExecFileArgs(file, args, options)); // const inheritStderr = !options.stdio; @@ -667,7 +657,7 @@ export function execFileSync(file, args, options) { * }} [options] * @returns {Buffer | string} */ -export function execSync(command, options) { +function execSync(command, options) { const opts = normalizeExecArgs(command, options, null); // const inheritStderr = !opts.options.stdio; @@ -725,7 +715,7 @@ function stdioStringToArray(stdio, channel) { * }} [options] * @returns {ChildProcess} */ -export function fork(modulePath, args = [], options) { +function fork(modulePath, args = [], options) { modulePath = getValidatedPath(modulePath, "modulePath"); // Get options and args arguments. @@ -975,7 +965,7 @@ function checkExecSyncError(ret, args, cmd) { //------------------------------------------------------------------------------ // Section 3. ChildProcess class //------------------------------------------------------------------------------ -export class ChildProcess extends EventEmitter { +class ChildProcess extends EventEmitter { #handle; #exited = false; #closesNeeded = 1; @@ -1045,11 +1035,11 @@ export class ChildProcess extends EventEmitter { } #getBunSpawnIo(i, encoding) { - if (__DEBUG__ && !this.#handle) { + if ($debug && !this.#handle) { if (this.#handle === null) { - debug("ChildProcess: getBunSpawnIo: this.#handle is null. This means the subprocess already exited"); + $debug("ChildProcess: getBunSpawnIo: this.#handle is null. This means the subprocess already exited"); } else { - debug("ChildProcess: getBunSpawnIo: this.#handle is undefined"); + $debug("ChildProcess: getBunSpawnIo: this.#handle is undefined"); } } @@ -1253,7 +1243,7 @@ export class ChildProcess extends EventEmitter { } #maybeClose() { - debug("Attempting to maybe close..."); + $debug("Attempting to maybe close..."); this.#closesGot++; if (this.#closesGot === this.#closesNeeded) { this.emit("close", this.exitCode, this.signalCode); @@ -1836,6 +1826,4 @@ export default { spawnSync, execFileSync, execSync, - - [Symbol.for("CommonJS")]: 0, }; diff --git a/src/js/node/cluster.ts b/src/js/node/cluster.ts index 1be94eeb2172e..8c1ebdd0976b4 100644 --- a/src/js/node/cluster.ts +++ b/src/js/node/cluster.ts @@ -2,51 +2,39 @@ // This is a stub // We leave it in here to provide a better error message // TODO: implement node cluster -import EventEmitter from "node:events"; -import { throwNotImplemented } from "../shared"; - -export var SCHED_NONE = 0, - SCHED_RR = 1, - Worker, - schedulingPolicy = 2, - isWorker = false, - isPrimary = true, - isMaster = true, - cluster; - -Worker = function Worker() { - throwNotImplemented("node:cluster Worker", 2428); -}; +const EventEmitter = require("node:events"); +const { throwNotImplemented } = require("$shared"); // TODO: is it okay for this to be a class? class Cluster extends EventEmitter { - static isWorker = false; - static isPrimary = true; - static isMaster = true; + isWorker = false; + isPrimary = true; + isMaster = true; + workers = {}; + settings = {}; + SCHED_NONE = 1; + SCHED_RR = 2; + schedulingPolicy = 2; - static Worker = Worker; + Worker = function Worker() { + throwNotImplemented("node:cluster Worker", 2428); + }; - fork() { + setupPrimary() { throwNotImplemented("node:cluster", 2428); } - disconnect() { + setupMaster() { throwNotImplemented("node:cluster", 2428); } - setupMaster() { + fork() { throwNotImplemented("node:cluster", 2428); } - settings = {}; - workers = {}; - SCHED_NONE = 0; - SCHED_RR = 1; - schedulingPolicy = 2; - // @ts-expect-error - [Symbol.for("CommonJS")] = 0; + disconnect() { + throwNotImplemented("node:cluster", 2428); + } } -cluster = new Cluster(); - -export { cluster as default }; +export default new Cluster(); diff --git a/src/js/node/crypto.js b/src/js/node/crypto.js index 0e4840d385383..24f3bb7dbf93a 100644 --- a/src/js/node/crypto.js +++ b/src/js/node/crypto.js @@ -5,14 +5,14 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __getProtoOf = Object.getPrototypeOf, __hasOwnProp = Object.prototype.hasOwnProperty; -import { StringDecoder } from "node:string_decoder"; -import * as BufferModule from "node:buffer"; -import * as StreamModule from "node:stream"; +const BufferModule = require("node:buffer"); +const StreamModule = require("node:stream"); +const StringDecoder = require("node:string_decoder").StringDecoder; const MAX_STRING_LENGTH = 536870888; var Buffer = globalThis.Buffer; const EMPTY_BUFFER = Buffer.alloc(0); -const { isAnyArrayBuffer, isArrayBufferView } = require("util/types"); +const { isAnyArrayBuffer, isArrayBufferView } = require("node:util/types"); function getArrayBufferOrView(buffer, name, encoding) { if (isAnyArrayBuffer(buffer)) return buffer; @@ -34,10 +34,6 @@ function getArrayBufferOrView(buffer, name, encoding) { const crypto = globalThis.crypto; const globalCrypto = crypto; -var __esm = (fn, res) => - function () { - return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])((fn = 0))), res; - }; var __commonJS = (cb, mod) => function () { return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; @@ -55,17 +51,7 @@ var __export = (target, all) => { enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable, }); return to; - }, - __reExport = (target, mod, secondTarget) => ( - __copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default") - ), - __toESM = (mod, isNodeMode, target) => ( - (target = mod != null ? __create(__getProtoOf(mod)) : {}), - __copyProps( - isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: !0 }) : target, - mod, - ) - ); + }; // node_modules/safe-buffer/index.js var require_safe_buffer = __commonJS({ @@ -23789,10 +23775,8 @@ var require_crypto_browserify2 = __commonJS({ }); // crypto.js -var crypto_exports = { - ...require_crypto_browserify2(), - [Symbol.for("CommonJS")]: 0, -}; +var crypto_exports = require_crypto_browserify2(); + var DEFAULT_ENCODING = "buffer", getRandomValues = array => crypto.getRandomValues(array), randomUUID = () => crypto.randomUUID(), @@ -23882,58 +23866,5 @@ __export(crypto_exports, { subtle: () => webcrypto.subtle, }); -export const { - randomBytes, - rng, - pseudoRandomBytes, - prng, - Hash, - createHash, - createHmac, - Hmac, - getHashes, - pbkdf2, - pbkdf2Sync, - Cipher, - createCipher, - Cipheriv, - createCipheriv, - Decipher, - createDecipher, - Decipheriv, - createDecipheriv, - getCiphers, - listCiphers, - DiffieHellmanGroup, - createDiffieHellmanGroup, - getDiffieHellman, - createDiffieHellman, - DiffieHellman, - createSign, - Sign, - createVerify, - Verify, - createECDH, - publicEncrypt, - privateEncrypt, - publicDecrypt, - privateDecrypt, - randomFill, - randomFillSync, - createCredentials, - constants, -} = crypto_exports; - -export { - DEFAULT_ENCODING, - getRandomValues, - getCurves, - randomUUID, - randomInt, - scrypt, - scryptSync, - timingSafeEqual, - webcrypto, -}; export default crypto_exports; /*! safe-buffer. MIT License. Feross Aboukhadijeh */ diff --git a/src/js/node/dgram.ts b/src/js/node/dgram.ts index ba5a058a3b1a0..dd6f2895d44a7 100644 --- a/src/js/node/dgram.ts +++ b/src/js/node/dgram.ts @@ -1,6 +1,6 @@ // Hardcoded module "node:dgram" // This is a stub! None of this is actually implemented yet. -import { hideFromStack, throwNotImplemented } from "../shared"; +const { hideFromStack, throwNotImplemented } = require("$shared"); function createSocket() { throwNotImplemented("node:dgram createSocket", 1630); @@ -14,13 +14,10 @@ function _createSocketHandle() { throwNotImplemented("node:dgram _createSocketHandle", 1630); } -const defaultObject = { +export default { createSocket, Socket, _createSocketHandle, - [Symbol.for("CommonJS")]: 0, }; -export { defaultObject as default, Socket, createSocket, _createSocketHandle }; - hideFromStack(createSocket, Socket, _createSocketHandle); diff --git a/src/js/node/diagnostics_channel.js b/src/js/node/diagnostics_channel.ts similarity index 76% rename from src/js/node/diagnostics_channel.js rename to src/js/node/diagnostics_channel.ts index 72eb47d2e7ada..45816bdc46d2e 100644 --- a/src/js/node/diagnostics_channel.js +++ b/src/js/node/diagnostics_channel.ts @@ -1,7 +1,7 @@ // Hardcoded module "node:diagnostics_channel" // This is a stub! None of this is actually implemented yet. -import { hideFromStack, throwNotImplemented } from "../shared"; +const { hideFromStack, throwNotImplemented } = require("$shared"); class Channel { constructor(name) { @@ -24,15 +24,12 @@ function unsubscribe() { throwNotImplemented("node:diagnostics_channel", 2688); } -const defaultObject = { +export default { channel, hasSubscribers, subscribe, unsubscribe, Channel, - [Symbol.for("CommonJS")]: 0, }; -export { defaultObject as default, Channel, channel, hasSubscribers, subscribe, unsubscribe }; - hideFromStack([channel, hasSubscribers, subscribe, unsubscribe, Channel]); diff --git a/src/js/node/dns.js b/src/js/node/dns.js index 17621f1a589fc..55676fdafc583 100644 --- a/src/js/node/dns.js +++ b/src/js/node/dns.js @@ -1,7 +1,6 @@ // Hardcoded module "node:dns" // only resolve4, resolve, lookup, resolve6 and resolveSrv are implemented. - -const { dns } = globalThis.Bun; +const dns = Bun.dns; function lookup(domain, options, callback) { if (typeof options == "function") { @@ -435,7 +434,7 @@ function Resolver(options) { Object.setPrototypeOf(Resolver.prototype, InternalResolver.prototype); Object.setPrototypeOf(Resolver, InternalResolver); -export var { +var { resolve, resolve4, resolve6, @@ -478,7 +477,7 @@ const promisifyResolveX = res => { }; // promisified versions -export const promises = { +const promises = { lookup(domain, options) { if (options?.all) { return dns.lookup(domain, options).then(promisifyLookupAll); @@ -633,7 +632,7 @@ for (const key of ["resolveAny", "reverse"]) { promises[key] = () => Promise.resolve(undefined); } -const exports = { +export default { // these are wrong ADDRCONFIG: 0, ALL: 1, @@ -685,36 +684,4 @@ const exports = { resolveTxt, resolveNaptr, promises, - [Symbol.for("CommonJS")]: 0, }; -export default exports; -export const { - ADDRCONFIG, - ALL, - V4MAPPED, - NODATA, - FORMERR, - SERVFAIL, - NOTFOUND, - NOTIMP, - REFUSED, - BADQUERY, - BADNAME, - BADFAMILY, - BADRESP, - CONNREFUSED, - TIMEOUT, - EOF, - FILE, - NOMEM, - DESTRUCTION, - BADSTR, - BADFLAGS, - NONAME, - BADHINTS, - NOTINITIALIZED, - LOADIPHLPAPI, - ADDRGETNETWORKPARAMS, - CANCELLED, -} = exports; -export { lookup, lookupService, Resolver, setServers, setDefaultResultOrder }; diff --git a/src/js/node/dns.promises.js b/src/js/node/dns.promises.js deleted file mode 100644 index bcc47faee73ab..0000000000000 --- a/src/js/node/dns.promises.js +++ /dev/null @@ -1,47 +0,0 @@ -// Hardcoded module "node:dns/promises" -import { promises } from "node:dns"; - -export const { - lookup, - lookupService, - resolve, - resolve4, - resolve6, - resolveAny, - resolveCname, - resolveCaa, - resolveMx, - resolveNaptr, - resolveNs, - resolvePtr, - resolveSoa, - resolveSrv, - resolveTxt, - reverse, - Resolver, - setServers, - setDefaultResultOrder, -} = promises; - -export default { - lookup, - lookupService, - resolve, - resolve4, - resolve6, - resolveAny, - resolveCname, - resolveCaa, - resolveMx, - resolveNaptr, - resolveNs, - resolvePtr, - resolveSoa, - resolveSrv, - resolveTxt, - reverse, - Resolver, - setServers, - setDefaultResultOrder, - [Symbol.for("CommonJS")]: 0, -}; diff --git a/src/js/node/dns.promises.ts b/src/js/node/dns.promises.ts new file mode 100644 index 0000000000000..e0bfbc123f429 --- /dev/null +++ b/src/js/node/dns.promises.ts @@ -0,0 +1,2 @@ +// Hardcoded module "node:dns/promises" +export default require("node:dns").promises; diff --git a/src/js/node/events.js b/src/js/node/events.js index 09f89084a22c8..da7cfd57ca20d 100644 --- a/src/js/node/events.js +++ b/src/js/node/events.js @@ -1,10 +1,8 @@ // Reimplementation of https://nodejs.org/api/events.html // Reference: https://github.com/nodejs/node/blob/main/lib/events.js -import { throwNotImplemented } from "../shared"; +const { throwNotImplemented } = require("$shared"); -var { isPromise, Array, Object } = $lazy("primordials"); const SymbolFor = Symbol.for; -const ObjectDefineProperty = Object.defineProperty; const kCapture = Symbol("kCapture"); const kErrorMonitor = SymbolFor("events.errorMonitor"); const kMaxEventTargetListeners = Symbol("events.maxEventTargetListeners"); @@ -17,7 +15,7 @@ const ArrayPrototypeSlice = Array.prototype.slice; var defaultMaxListeners = 10; // EventEmitter must be a standard function because some old code will do weird tricks like `EventEmitter.apply(this)`. -function EventEmitter(opts) { +const EventEmitter = function EventEmitter(opts) { if (this._events === undefined || this._events === this.__proto__._events) { this._events = { __proto__: null }; this._eventsCount = 0; @@ -27,8 +25,9 @@ function EventEmitter(opts) { if ((this[kCapture] = opts?.captureRejections ? Boolean(opts?.captureRejections) : EventEmitterPrototype[kCapture])) { this.emit = emitWithRejectionCapture; } -} -const EventEmitterPrototype = EventEmitter.prototype; +}; +const EventEmitterPrototype = (EventEmitter.prototype = {}); + EventEmitterPrototype._events = undefined; EventEmitterPrototype._eventsCount = 0; EventEmitterPrototype._maxListeners = undefined; @@ -108,7 +107,7 @@ const emitWithRejectionCapture = function emit(type, ...args) { if (handlers === undefined) return false; for (var handler of [...handlers]) { var result = handler.apply(this, args); - if (result !== undefined && isPromise(result)) { + if (result !== undefined && $isPromise(result)) { addCatch(this, result, type, args); } } @@ -308,13 +307,11 @@ function once(emitter, type, options) { } }); } -EventEmitter.once = once; function on(emitter, type, options) { var { signal, close, highWatermark = Number.MAX_SAFE_INTEGER, lowWatermark = 1 } = options || {}; throwNotImplemented("events.on", 2679); } -EventEmitter.on = on; function getEventListeners(emitter, type) { if (emitter instanceof EventTarget) { @@ -322,7 +319,6 @@ function getEventListeners(emitter, type) { } return emitter.listeners(type); } -EventEmitter.getEventListeners = getEventListeners; function setMaxListeners(n, ...eventTargets) { validateNumber(n, "setMaxListeners", 0); @@ -335,57 +331,10 @@ function setMaxListeners(n, ...eventTargets) { defaultMaxListeners = n; } } -EventEmitter.setMaxListeners = setMaxListeners; function listenerCount(emitter, type) { return emitter.listenerCount(type); } -EventEmitter.listenerCount = listenerCount; - -EventEmitter.EventEmitter = EventEmitter; -EventEmitter.usingDomains = false; -EventEmitter.captureRejectionSymbol = captureRejectionSymbol; -ObjectDefineProperty(EventEmitter, "captureRejections", { - __proto__: null, - get() { - return EventEmitterPrototype[kCapture]; - }, - set(value) { - validateBoolean(value, "EventEmitter.captureRejections"); - - EventEmitterPrototype[kCapture] = value; - }, - enumerable: true, -}); -EventEmitter.errorMonitor = kErrorMonitor; -Object.defineProperties(EventEmitter, { - defaultMaxListeners: { - enumerable: true, - get: () => { - return defaultMaxListeners; - }, - set: arg => { - validateNumber(arg, "defaultMaxListeners", 0); - defaultMaxListeners = arg; - }, - }, - kMaxEventTargetListeners: { - __proto__: null, - value: kMaxEventTargetListeners, - enumerable: false, - configurable: false, - writable: false, - }, - kMaxEventTargetListenersWarned: { - __proto__: null, - value: kMaxEventTargetListenersWarned, - enumerable: false, - configurable: false, - writable: false, - }, -}); -EventEmitter.init = EventEmitter; -EventEmitter[Symbol.for("CommonJS")] = 0; function eventTargetAgnosticRemoveListener(emitter, name, listener, flags) { if (typeof emitter.removeListener === "function") { @@ -460,7 +409,9 @@ class EventEmitterAsyncResource extends EventEmitter { asyncResource; constructor(options) { - if (!AsyncResource) AsyncResource = import.meta.require("async_hooks").AsyncResource; + if (!AsyncResource) { + AsyncResource = require("node:async_hooks").AsyncResource; + } var { captureRejections = false, triggerAsyncId, name = new.target.name, requireManualDestroy } = options || {}; super({ captureRejections }); this.triggerAsyncId = triggerAsyncId ?? 0; @@ -476,19 +427,55 @@ class EventEmitterAsyncResource extends EventEmitter { } } -const usingDomains = false; -// EventEmitter[Symbol.for("CommonJS")] = 0; -Object.assign(EventEmitter, { once, on, getEventListeners, setMaxListeners, listenerCount, EventEmitterAsyncResource }); -export { - EventEmitter, - captureRejectionSymbol, - kErrorMonitor as errorMonitor, - getEventListeners, - listenerCount, - on, +Object.defineProperties(EventEmitter, { + captureRejections: { + get() { + return EventEmitterPrototype[kCapture]; + }, + set(value) { + validateBoolean(value, "EventEmitter.captureRejections"); + + EventEmitterPrototype[kCapture] = value; + }, + enumerable: true, + }, + defaultMaxListeners: { + enumerable: true, + get: () => { + return defaultMaxListeners; + }, + set: arg => { + validateNumber(arg, "defaultMaxListeners", 0); + defaultMaxListeners = arg; + }, + }, + kMaxEventTargetListeners: { + value: kMaxEventTargetListeners, + enumerable: false, + configurable: false, + writable: false, + }, + kMaxEventTargetListenersWarned: { + value: kMaxEventTargetListenersWarned, + enumerable: false, + configurable: false, + writable: false, + }, +}); +Object.assign(EventEmitter, { once, + on, + getEventListeners, + // getMaxListeners, setMaxListeners, - usingDomains, + EventEmitter, + usingDomains: false, + captureRejectionSymbol, EventEmitterAsyncResource, -}; + errorMonitor: kErrorMonitor, + setMaxListeners, + init: EventEmitter, + listenerCount, +}); + export default EventEmitter; diff --git a/src/js/node/fs.js b/src/js/node/fs.js index d287809c6b4f6..2c08e19d04d20 100644 --- a/src/js/node/fs.js +++ b/src/js/node/fs.js @@ -1,13 +1,9 @@ -export var ReadStream; -export var WriteStream; - -import { EventEmitter } from "node:events"; - // Hardcoded module "node:fs" -var { direct, isPromise, isCallable } = $lazy("primordials"); -import promises from "node:fs/promises"; -export { default as promises } from "node:fs/promises"; -import * as Stream from "node:stream"; +var ReadStream; +var WriteStream; +const EventEmitter = require("node:events"); +const promises = require("node:fs/promises"); +const Stream = require("node:stream"); var fs = Bun.fs(); var debug = process.env.DEBUG ? console.log : () => {}; @@ -68,7 +64,7 @@ class FSWatcher extends EventEmitter { this.#watcher?.unref(); } } -export var access = function access(...args) { +var access = function access(...args) { callbackify(fs.accessSync, args); }, appendFile = function appendFile(...args) { @@ -419,7 +415,7 @@ ReadStream = (function (InternalReadStream) { // Get the stream controller // We need the pointer to the underlying stream controller for the NativeReadable var stream = fileRef.stream(); - var native = direct(stream); + var native = $direct(stream); if (!native) { debug("no native readable stream"); throw new Error("no native readable stream"); @@ -600,9 +596,9 @@ ReadStream = (function (InternalReadStream) { this[kIoDone] = false; var res = super._read(n); debug("res -- undefined? why?", res); - if (isPromise(res)) { + if ($isPromise(res)) { var then = res?.then; - if (then && isCallable(then)) { + if (then && $isCallable(then)) { then( () => { this[kIoDone] = true; @@ -671,7 +667,7 @@ ReadStream = (function (InternalReadStream) { }, ); -export function createReadStream(path, options) { +function createReadStream(path, options) { return new ReadStream(path, options); } @@ -993,7 +989,7 @@ WriteStream = (function (InternalWriteStream) { }, ); -export function createWriteStream(path, options) { +function createWriteStream(path, options) { // const WriteStream = getLazyWriteStream(); return new WriteStream(path, options); } @@ -1043,7 +1039,6 @@ realpath.native = realpath; realpathSync.native = realpathSync; export default { - [Symbol.for("CommonJS")]: 0, access, accessSync, appendFile, @@ -1141,5 +1136,3 @@ export default { // return getLazyReadStream(); // }, }; - -export { constants } from "node:fs/promises"; diff --git a/src/js/node/fs.promises.ts b/src/js/node/fs.promises.ts index bdbacd27d6817..db9d6b5841e60 100644 --- a/src/js/node/fs.promises.ts +++ b/src/js/node/fs.promises.ts @@ -19,7 +19,7 @@ var promisify = { }, }[notrace]; -export function watch( +function watch( filename: string | Buffer | URL, options: { encoding?: BufferEncoding; persistent?: boolean; recursive?: boolean; signal?: AbortSignal } = {}, ) { @@ -91,43 +91,44 @@ export function watch( }, }; } -export var access = promisify(fs.accessSync), - appendFile = promisify(fs.appendFileSync), - close = promisify(fs.closeSync), - copyFile = promisify(fs.copyFileSync), - exists = promisify(fs.existsSync), - chown = promisify(fs.chownSync), - chmod = promisify(fs.chmodSync), - fchmod = promisify(fs.fchmodSync), - fchown = promisify(fs.fchownSync), - fstat = promisify(fs.fstatSync), - fsync = promisify(fs.fsyncSync), - ftruncate = promisify(fs.ftruncateSync), - futimes = promisify(fs.futimesSync), - lchmod = promisify(fs.lchmodSync), - lchown = promisify(fs.lchownSync), - link = promisify(fs.linkSync), - lstat = fs.lstat.bind(fs), - mkdir = promisify(fs.mkdirSync), - mkdtemp = promisify(fs.mkdtempSync), - open = promisify(fs.openSync), - read = promisify(fs.readSync), - write = promisify(fs.writeSync), - readdir = fs.readdir.bind(fs), - readFile = fs.readFile.bind(fs), - writeFile = promisify(fs.writeFileSync), - readlink = promisify(fs.readlinkSync), - realpath = promisify(fs.realpathSync), - rename = promisify(fs.renameSync), - stat = fs.stat.bind(fs), - symlink = promisify(fs.symlinkSync), - truncate = promisify(fs.truncateSync), - unlink = promisify(fs.unlinkSync), - utimes = promisify(fs.utimesSync), - lutimes = promisify(fs.lutimesSync), - rm = promisify(fs.rmSync), - rmdir = promisify(fs.rmdirSync), - writev = (fd, buffers, position) => { +module.exports = { + access: promisify(fs.accessSync), + appendFile: promisify(fs.appendFileSync), + close: promisify(fs.closeSync), + copyFile: promisify(fs.copyFileSync), + exists: promisify(fs.existsSync), + chown: promisify(fs.chownSync), + chmod: promisify(fs.chmodSync), + fchmod: promisify(fs.fchmodSync), + fchown: promisify(fs.fchownSync), + fstat: promisify(fs.fstatSync), + fsync: promisify(fs.fsyncSync), + ftruncate: promisify(fs.ftruncateSync), + futimes: promisify(fs.futimesSync), + lchmod: promisify(fs.lchmodSync), + lchown: promisify(fs.lchownSync), + link: promisify(fs.linkSync), + lstat: fs.lstat.bind(fs), + mkdir: promisify(fs.mkdirSync), + mkdtemp: promisify(fs.mkdtempSync), + open: promisify(fs.openSync), + read: promisify(fs.readSync), + write: promisify(fs.writeSync), + readdir: fs.readdir.bind(fs), + readFile: fs.readFile.bind(fs), + writeFile: promisify(fs.writeFileSync), + readlink: promisify(fs.readlinkSync), + realpath: promisify(fs.realpathSync), + rename: promisify(fs.renameSync), + stat: fs.stat.bind(fs), + symlink: promisify(fs.symlinkSync), + truncate: promisify(fs.truncateSync), + unlink: promisify(fs.unlinkSync), + utimes: promisify(fs.utimesSync), + lutimes: promisify(fs.lutimesSync), + rm: promisify(fs.rmSync), + rmdir: promisify(fs.rmdirSync), + writev: (fd, buffers, position) => { return new Promise((resolve, reject) => { try { var bytesWritten = fs.writevSync(fd, buffers, position); @@ -142,7 +143,7 @@ export var access = promisify(fs.accessSync), }); }); }, - readv = (fd, buffers, position) => { + readv: (fd, buffers, position) => { return new Promise((resolve, reject) => { try { var bytesRead = fs.readvSync(fd, buffers, position); @@ -156,48 +157,7 @@ export var access = promisify(fs.accessSync), buffers, }); }); - }; - -export default { - access, - appendFile, - close, - copyFile, - exists, - chown, - chmod, - fchmod, - fchown, - fstat, - fsync, - ftruncate, - futimes, - lchmod, - lchown, - link, - lstat, - mkdir, - mkdtemp, - open, - read, - write, - readdir, - readFile, - writeFile, - readlink, - realpath, - rename, - stat, - symlink, - truncate, - unlink, - utimes, - lutimes, - rm, - rmdir, - watch, - writev, - readv, + }, constants, - [Symbol.for("CommonJS")]: 0, + watch, }; diff --git a/src/js/node/http.ts b/src/js/node/http.ts index 2eb5231d58ae4..de3fb0622035d 100644 --- a/src/js/node/http.ts +++ b/src/js/node/http.ts @@ -1,7 +1,6 @@ // Hardcoded module "node:http" -import { EventEmitter } from "node:events"; -import { Readable, Writable, Duplex } from "node:stream"; -import { isTypedArray } from "util/types"; +const EventEmitter = require("node:events"); +const { isTypedArray } = require("node:util/types"); const headerCharRegex = /[^\t\x20-\x7e\x80-\xff]/; /** @@ -14,14 +13,14 @@ function checkInvalidHeaderChar(val: string) { return RegExpPrototypeExec.call(headerCharRegex, val) !== null; } -export const validateHeaderName = (name, label) => { +const validateHeaderName = (name, label) => { if (typeof name !== "string" || !name || !checkIsHttpToken(name)) { // throw new ERR_INVALID_HTTP_TOKEN(label || "Header name", name); throw new Error("ERR_INVALID_HTTP_TOKEN"); } }; -export const validateHeaderValue = (name, value) => { +const validateHeaderValue = (name, value) => { if (value === undefined) { // throw new ERR_HTTP_INVALID_HEADER_VALUE(value, name); throw new Error("ERR_HTTP_INVALID_HEADER_VALUE"); @@ -57,8 +56,6 @@ function isIPv6(input) { // Importing from node:url is unnecessary const { URL } = globalThis; -const { newArrayWithSize, String, Object, Array } = $lazy("primordials"); - const globalReportError = globalThis.reportError; const setTimeout = globalThis.setTimeout; const fetch = Bun.fetch; @@ -218,11 +215,11 @@ var FakeSocket = class Socket extends Duplex { _write(chunk, encoding, callback) {} }; -export function createServer(options, callback) { +function createServer(options, callback) { return new Server(options, callback); } -export class Agent extends EventEmitter { +class Agent extends EventEmitter { defaultPort = 80; protocol = "http:"; options; @@ -331,7 +328,7 @@ function emitListeningNextTick(self, onListen, err, hostname, port) { } } -export class Server extends EventEmitter { +class Server extends EventEmitter { #server; #options; #tls; @@ -558,7 +555,7 @@ export class Server extends EventEmitter { function assignHeaders(object, req) { var headers = req.headers.toJSON(); - const rawHeaders = newArrayWithSize(req.headers.count * 2); + const rawHeaders = $newArrayWithSize(req.headers.count * 2); var i = 0; for (const key in headers) { rawHeaders[i++] = key; @@ -577,7 +574,7 @@ function getDefaultHTTPSAgent() { return (_defaultHTTPSAgent ??= new Agent({ defaultPort: 443, protocol: "https:" })); } -export class IncomingMessage extends Readable { +class IncomingMessage extends Readable { method: string; complete: boolean; @@ -809,7 +806,7 @@ function write_(msg, chunk, encoding, callback, fromEnd) { return true; } -export class OutgoingMessage extends Writable { +class OutgoingMessage extends Writable { #headers; headersSent = false; sendDate = true; @@ -958,7 +955,7 @@ export class OutgoingMessage extends Writable { } let OriginalWriteHeadFn, OriginalImplicitHeadFn; -export class ServerResponse extends Writable { +class ServerResponse extends Writable { declare _writableState: any; constructor({ req, reply }) { @@ -1196,7 +1193,7 @@ export class ServerResponse extends Writable { OriginalWriteHeadFn = ServerResponse.prototype.writeHead; OriginalImplicitHeadFn = ServerResponse.prototype._implicitHeader; -export class ClientRequest extends OutgoingMessage { +class ClientRequest extends OutgoingMessage { #timeout; #res: IncomingMessage | null = null; #upgradeOrConnect = false; @@ -1666,7 +1663,7 @@ function checkIsHttpToken(val) { // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE // USE OR OTHER DEALINGS IN THE SOFTWARE. -export const METHODS = [ +const METHODS = [ "ACL", "BIND", "CHECKOUT", @@ -1703,7 +1700,7 @@ export const METHODS = [ "UNSUBSCRIBE", ]; -export const STATUS_CODES = { +const STATUS_CODES = { 100: "Continue", 101: "Switching Protocols", 102: "Processing", @@ -1863,7 +1860,7 @@ function _writeHead(statusCode, reason, obj, response) { * @param {Function} [cb] * @returns {ClientRequest} */ -export function request(url, options, cb) { +function request(url, options, cb) { return new ClientRequest(url, options, cb); } @@ -1874,14 +1871,14 @@ export function request(url, options, cb) { * @param {Function} [cb] * @returns {ClientRequest} */ -export function get(url, options, cb) { +function get(url, options, cb) { const req = request(url, options, cb); req.end(); return req; } -export var globalAgent = new Agent(); -var defaultObject = { +var globalAgent = new Agent(); +export default { Agent, Server, METHODS, @@ -1900,7 +1897,4 @@ var defaultObject = { globalAgent, ClientRequest, OutgoingMessage, - [Symbol.for("CommonJS")]: 0, }; - -export default defaultObject; diff --git a/src/js/node/http2.ts b/src/js/node/http2.ts index b19e38a6d7bb1..fce1a8c7286f0 100644 --- a/src/js/node/http2.ts +++ b/src/js/node/http2.ts @@ -1,6 +1,6 @@ // Hardcoded module "node:http2" // This is a stub! None of this is actually implemented yet. -import { hideFromStack, throwNotImplemented } from "../shared"; +const { hideFromStack, throwNotImplemented } = require("$shared"); function connect() { throwNotImplemented("node:http2 connect", 887); @@ -280,7 +280,7 @@ function Http2ServerResponse() { throwNotImplemented("node:http2 Http2ServerResponse", 887); } -const defaultObject = { +export default { constants, createServer, createSecureServer, @@ -290,21 +290,6 @@ const defaultObject = { sensitiveHeaders, Http2ServerRequest, Http2ServerResponse, - [Symbol.for("CommonJS")]: 0, - connect, -}; - -export { - constants, - createServer, - createSecureServer, - getDefaultSettings, - getPackedSettings, - getUnpackedSettings, - sensitiveHeaders, - Http2ServerRequest, - Http2ServerResponse, - defaultObject as default, connect, }; diff --git a/src/js/node/https.ts b/src/js/node/https.ts index 08eb89a01a03c..d75fb3132ea7b 100644 --- a/src/js/node/https.ts +++ b/src/js/node/https.ts @@ -1,19 +1,5 @@ // Hardcoded module "node:https" -import * as http from "node:http"; - -var { - Agent, - Server, - METHODS, - STATUS_CODES, - createServer, - ServerResponse, - IncomingMessage, - maxHeaderSize, - validateHeaderName, - validateHeaderValue, - globalAgent, -} = http; +const http = require("node:http"); function request(input, options, cb) { if (input && typeof input === "object" && !(input instanceof URL)) { @@ -31,35 +17,8 @@ function get(input, options, cb) { return req; } -var defaultExport = { - Agent, - Server, - METHODS, - STATUS_CODES, - createServer, - ServerResponse, - IncomingMessage, - request, +export default { + ...http, get, - maxHeaderSize, - validateHeaderName, - validateHeaderValue, - globalAgent, -}; - -export { - Agent, - Server, - METHODS, - STATUS_CODES, - createServer, - ServerResponse, - IncomingMessage, request, - get, - maxHeaderSize, - validateHeaderName, - validateHeaderValue, - globalAgent, }; -export default defaultExport; diff --git a/src/js/node/inspector.ts b/src/js/node/inspector.ts index f81084274ed6c..1fd7316f74936 100644 --- a/src/js/node/inspector.ts +++ b/src/js/node/inspector.ts @@ -1,7 +1,7 @@ // Hardcoded module "node:inspector" and "node:inspector/promises" // This is a stub! None of this is actually implemented yet. -import { hideFromStack, throwNotImplemented } from "../shared"; -import EventEmitter from "node:events"; +const { hideFromStack, throwNotImplemented } = require("$shared"); +const EventEmitter = require("node:events"); function open() { throwNotImplemented("node:inspector open", 2445); @@ -33,15 +33,13 @@ const console = { }, }; -var defaultObject = { +export default { console, open, close, url, waitForDebugger, Session, - [Symbol.for("CommonJS")]: 0, }; -export { console, open, close, url, waitForDebugger, Session, defaultObject as default }; hideFromStack(open, close, url, waitForDebugger, Session.prototype.constructor); diff --git a/src/js/node/net.js b/src/js/node/net.js index 5501d327b64be..0513f44d3f112 100644 --- a/src/js/node/net.js +++ b/src/js/node/net.js @@ -19,8 +19,8 @@ // DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE // USE OR OTHER DEALINGS IN THE SOFTWARE. -import { Duplex } from "node:stream"; -import { EventEmitter } from "node:events"; +const { Duplex } = require("node:stream"); +const EventEmitter = require("node:events"); // IPv4 Segment const v4Seg = "(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])"; @@ -56,7 +56,6 @@ function isIP(s) { return 0; } -const { Bun, createFIFO, Object } = $lazy("primordials"); const { connect: bunConnect } = Bun; var { setTimeout } = globalThis; @@ -294,7 +293,7 @@ const Socket = (function (InternalSocket) { #closed = false; connecting = false; localAddress = "127.0.0.1"; - #readQueue = createFIFO(); + #readQueue = $createFIFO(); remotePort; [bunSocketInternal] = null; [bunTLSConnectOptions] = null; @@ -891,8 +890,5 @@ export default { isIPv4, isIPv6, Socket, - [Symbol.for("CommonJS")]: 0, [Symbol.for("::bunternal::")]: SocketClass, }; - -export { createServer, Server, createConnection, connect, isIP, isIPv4, isIPv6, Socket }; diff --git a/src/js/node/os.js b/src/js/node/os.ts similarity index 86% rename from src/js/node/os.js rename to src/js/node/os.ts index 40250ef9af75c..bb43563797654 100644 --- a/src/js/node/os.js +++ b/src/js/node/os.ts @@ -1,7 +1,6 @@ // Hardcoded module "node:os" -export var tmpdir = function () { - var { Bun } = $lazy("primordials"); +var tmpdir = function () { var env = Bun.env; tmpdir = function () { @@ -102,34 +101,7 @@ function bound(obj) { devNull: obj.devNull, EOL: obj.EOL, constants: obj.constants, - [Symbol.for("CommonJS")]: 0, }; } -var os = bound(Bun._Os()); - -export var { - arch, - cpus, - endianness, - freemem, - getPriority, - homedir, - hostname, - loadavg, - networkInterfaces, - platform, - release, - setPriority, - totalmem, - type, - uptime, - userInfo, - version, - machine, - devNull, - EOL, - constants, -} = os; - -export default os; +export default bound(Bun._Os()); diff --git a/src/js/node/path.posix.ts b/src/js/node/path.posix.ts index e94da9cea44fd..d4aeddd859fec 100644 --- a/src/js/node/path.posix.ts +++ b/src/js/node/path.posix.ts @@ -1,37 +1,2 @@ // Hardcoded module "node:path/posix" -function bound(obj) { - return { - basename: obj.basename.bind(obj), - dirname: obj.dirname.bind(obj), - extname: obj.extname.bind(obj), - format: obj.format.bind(obj), - isAbsolute: obj.isAbsolute.bind(obj), - join: obj.join.bind(obj), - normalize: obj.normalize.bind(obj), - parse: obj.parse.bind(obj), - relative: obj.relative.bind(obj), - resolve: obj.resolve.bind(obj), - toNamespacedPath: obj.toNamespacedPath.bind(obj), - sep: obj.sep, - delimiter: obj.delimiter, - }; -} -var path = bound(Bun._Path(false)); -path[Symbol.for("CommonJS")] = 0; - -export var { - basename, - dirname, - extname, - format, - isAbsolute, - join, - normalize, - parse, - relative, - resolve, - toNamespacedPath, - sep, - delimiter, -} = path; -export default path; +export default require("node:path").posix; diff --git a/src/js/node/path.ts b/src/js/node/path.ts index 7c20d520b2592..ba797774011ae 100644 --- a/src/js/node/path.ts +++ b/src/js/node/path.ts @@ -1,49 +1,31 @@ // Hardcoded module "node:path" -export const createModule = obj => Object.assign(Object.create(null), obj); function bound(obj) { - var result = createModule({ - basename: obj.basename.bind(obj), + const toNamespacedPath = obj.toNamespacedPath.bind(obj); + const result = { + resolve: obj.resolve.bind(obj), + normalize: obj.normalize.bind(obj), + isAbsolute: obj.isAbsolute.bind(obj), + join: obj.join.bind(obj), + relative: obj.relative.bind(obj), + toNamespacedPath, dirname: obj.dirname.bind(obj), + basename: obj.basename.bind(obj), extname: obj.extname.bind(obj), format: obj.format.bind(obj), - isAbsolute: obj.isAbsolute.bind(obj), - join: obj.join.bind(obj), - normalize: obj.normalize.bind(obj), parse: obj.parse.bind(obj), - relative: obj.relative.bind(obj), - resolve: obj.resolve.bind(obj), - toNamespacedPath: obj.toNamespacedPath.bind(obj), sep: obj.sep, delimiter: obj.delimiter, - }); - result.default = result; + win32: undefined, + posix: undefined, + _makeLong: toNamespacedPath, + }; return result; } -var path = bound(Bun._Path()); - -export var posix = bound(Bun._Path(false)); -export var win32 = bound(Bun._Path(true)); -path.win32 = win32; -path.posix = posix; +const posix: any = bound(Bun._Path(false)); +const win32: any = bound(Bun._Path(true)); -export var { - basename, - dirname, - extname, - format, - isAbsolute, - join, - normalize, - parse, - relative, - resolve, - toNamespacedPath, - sep, - delimiter, - __esModule, -} = path; +posix.win32 = win32.win32 = win32; +posix.posix = win32.posix = posix; -path[Symbol.for("CommonJS")] = 0; -path.__esModule = true; -export default path; +export default process.platform === "win32" ? win32 : posix; diff --git a/src/js/node/path.win32.ts b/src/js/node/path.win32.ts index 1c8bda4baae3f..a8a74fbb2378f 100644 --- a/src/js/node/path.win32.ts +++ b/src/js/node/path.win32.ts @@ -1,36 +1,2 @@ // Hardcoded module "node:path/win32" -function bound(obj) { - return { - basename: obj.basename.bind(obj), - dirname: obj.dirname.bind(obj), - extname: obj.extname.bind(obj), - format: obj.format.bind(obj), - isAbsolute: obj.isAbsolute.bind(obj), - join: obj.join.bind(obj), - normalize: obj.normalize.bind(obj), - parse: obj.parse.bind(obj), - relative: obj.relative.bind(obj), - resolve: obj.resolve.bind(obj), - toNamespacedPath: obj.toNamespacedPath.bind(obj), - sep: obj.sep, - delimiter: obj.delimiter, - }; -} -var path = bound(Bun._Path(true)); - -export var { - basename, - dirname, - extname, - format, - isAbsolute, - join, - normalize, - parse, - relative, - resolve, - toNamespacedPath, - sep, - delimiter, -} = path; -export default path; +export default require("node:path").win32; diff --git a/src/js/node/perf_hooks.js b/src/js/node/perf_hooks.js deleted file mode 100644 index 592868ab5c6cc..0000000000000 --- a/src/js/node/perf_hooks.js +++ /dev/null @@ -1,43 +0,0 @@ -// Hardcoded module "node:perf_hooks" -import { throwNotImplemented } from "../shared"; - -export var constants = { - NODE_PERFORMANCE_GC_MAJOR: 4, - NODE_PERFORMANCE_GC_MINOR: 1, - NODE_PERFORMANCE_GC_INCREMENTAL: 8, - NODE_PERFORMANCE_GC_WEAKCB: 16, - NODE_PERFORMANCE_GC_FLAGS_NO: 0, - NODE_PERFORMANCE_GC_FLAGS_CONSTRUCT_RETAINED: 2, - NODE_PERFORMANCE_GC_FLAGS_FORCED: 4, - NODE_PERFORMANCE_GC_FLAGS_SYNCHRONOUS_PHANTOM_PROCESSING: 8, - NODE_PERFORMANCE_GC_FLAGS_ALL_AVAILABLE_GARBAGE: 16, - NODE_PERFORMANCE_GC_FLAGS_ALL_EXTERNAL_MEMORY: 32, - NODE_PERFORMANCE_GC_FLAGS_SCHEDULE_IDLE: 64, -}; - -export var performance = globalThis.performance; - -export class PerformanceObserver { - constructor() { - throwNotImplemented("PerformanceObserver"); - } -} - -export class PerformanceEntry { - constructor() { - throwNotImplemented("PerformanceEntry"); - } -} -export class PerformanceNodeTiming { - constructor() { - throw new Error("PerformanceNodeTiming is not supported in this environment."); - } -} - -export default { - performance, - constants, - PerformanceEntry, - PerformanceNodeTiming, - [Symbol.for("CommonJS")]: 0, -}; diff --git a/src/js/node/perf_hooks.ts b/src/js/node/perf_hooks.ts new file mode 100644 index 0000000000000..c40d335aed4b4 --- /dev/null +++ b/src/js/node/perf_hooks.ts @@ -0,0 +1,59 @@ +// Hardcoded module "node:perf_hooks" +const { throwNotImplemented } = require("$shared"); + +var constants = { + NODE_PERFORMANCE_GC_MAJOR: 4, + NODE_PERFORMANCE_GC_MINOR: 1, + NODE_PERFORMANCE_GC_INCREMENTAL: 8, + NODE_PERFORMANCE_GC_WEAKCB: 16, + NODE_PERFORMANCE_GC_FLAGS_NO: 0, + NODE_PERFORMANCE_GC_FLAGS_CONSTRUCT_RETAINED: 2, + NODE_PERFORMANCE_GC_FLAGS_FORCED: 4, + NODE_PERFORMANCE_GC_FLAGS_SYNCHRONOUS_PHANTOM_PROCESSING: 8, + NODE_PERFORMANCE_GC_FLAGS_ALL_AVAILABLE_GARBAGE: 16, + NODE_PERFORMANCE_GC_FLAGS_ALL_EXTERNAL_MEMORY: 32, + NODE_PERFORMANCE_GC_FLAGS_SCHEDULE_IDLE: 64, +}; + +var performance = globalThis.performance; + +class PerformanceObserver { + constructor() { + throwNotImplemented("PerformanceObserver"); + } +} + +class PerformanceEntry { + constructor() { + throwNotImplemented("PerformanceEntry"); + } +} + +export default { + performance, + // performance: { + // clearMarks: [Function: clearMarks], + // clearMeasures: [Function: clearMeasures], + // clearResourceTimings: [Function: clearResourceTimings], + // getEntries: [Function: getEntries], + // getEntriesByName: [Function: getEntriesByName], + // getEntriesByType: [Function: getEntriesByType], + // mark: [Function: mark], + // measure: [Function: measure], + // now: performance.now, + // setResourceTimingBufferSize: [Function: setResourceTimingBufferSize], + // timeOrigin: performance.timeOrigin, + // toJSON: [Function: toJSON], + // onresourcetimingbufferfull: [Getter/Setter] + // }, + constants, + // Performance: [class Performance extends EventTarget], + PerformanceEntry, + // PerformanceMark: [class PerformanceMark extends PerformanceEntry], + // PerformanceMeasure: [class PerformanceMeasure extends PerformanceEntry], + PerformanceObserver, + // PerformanceObserverEntryList: [class PerformanceObserverEntryList], + // PerformanceResourceTiming: [class PerformanceResourceTiming extends PerformanceEntry], + // monitorEventLoopDelay: [Function: monitorEventLoopDelay], + // createHistogram: [Function: createHistogram], +}; diff --git a/src/js/node/readline.js b/src/js/node/readline.js index b1613e34d71f9..421251db53ff4 100644 --- a/src/js/node/readline.js +++ b/src/js/node/readline.js @@ -25,10 +25,8 @@ // ---------------------------------------------------------------------------- // Section: Imports // ---------------------------------------------------------------------------- -var { Array, RegExp, String, Bun } = $lazy("primordials"); -import { EventEmitter } from "node:events"; -import { clearTimeout, setTimeout } from "timers"; -import { StringDecoder } from "string_decoder"; +const EventEmitter = require("node:events"); +const { StringDecoder } = require("node:string_decoder"); var isWritable; var { inspect } = Bun; @@ -2957,7 +2955,7 @@ class Readline { #todo = []; constructor(stream, options = undefined) { - isWritable ??= import.meta.require("node:stream").isWritable; + isWritable ??= require("node:stream").isWritable; if (!isWritable(stream)) throw new ERR_INVALID_ARG_TYPE("stream", "Writable", stream); this.#stream = stream; if (options?.autoCommit != null) { @@ -3101,21 +3099,6 @@ var PromisesInterface = class Interface extends _Interface { // ---------------------------------------------------------------------------- // Exports // ---------------------------------------------------------------------------- -export var Interface = Interface; -export var clearLine = clearLine; -export var clearScreenDown = clearScreenDown; -export var createInterface = createInterface; -export var cursorTo = cursorTo; -export var emitKeypressEvents = emitKeypressEvents; -export var moveCursor = moveCursor; -export var promises = { - Readline, - Interface: PromisesInterface, - createInterface(input, output, completer, terminal) { - return new PromisesInterface(input, output, completer, terminal); - }, -}; - export default { Interface, clearLine, @@ -3124,7 +3107,13 @@ export default { cursorTo, emitKeypressEvents, moveCursor, - promises, + promises: { + Readline, + Interface: PromisesInterface, + createInterface(input, output, completer, terminal) { + return new PromisesInterface(input, output, completer, terminal); + }, + }, [SymbolFor("__BUN_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED__")]: { CSI, @@ -3133,5 +3122,4 @@ export default { stripVTControlCharacters, }, }, - [SymbolFor("CommonJS")]: 0, }; diff --git a/src/js/node/readline.promises.js b/src/js/node/readline.promises.js deleted file mode 100644 index 6890235b4fa07..0000000000000 --- a/src/js/node/readline.promises.js +++ /dev/null @@ -1,11 +0,0 @@ -// Hardcoded module "node:readline/promises" -import { promises } from "node:readline"; - -export const { Readline, Interface, createInterface } = promises; - -export default { - Readline, - Interface, - createInterface, - [Symbol.for("CommonJS")]: 0, -}; diff --git a/src/js/node/readline.promises.ts b/src/js/node/readline.promises.ts new file mode 100644 index 0000000000000..6ab60f0b2b988 --- /dev/null +++ b/src/js/node/readline.promises.ts @@ -0,0 +1,2 @@ +// Hardcoded module "node:readline/promises" +export default require("node:readline").promises; diff --git a/src/js/node/repl.ts b/src/js/node/repl.ts index 33065e2ed2d56..ff1474a47bd3e 100644 --- a/src/js/node/repl.ts +++ b/src/js/node/repl.ts @@ -1,7 +1,7 @@ // Hardcoded module "node:repl" // This is a stub! None of this is actually implemented yet. // It only exists to make some packages which import this module work. -import { throwNotImplemented } from "../shared"; +const { throwNotImplemented } = require("$shared"); function REPLServer() { throwNotImplemented("node:repl REPLServer"); @@ -18,8 +18,7 @@ function start() { throwNotImplemented("node:repl"); } -var repl = { - [Symbol.for("CommonJS")]: 0, +export default { lines: [], context: globalThis, historyIndex: -1, @@ -76,5 +75,3 @@ var repl = { }, ), }; - -export { repl as default, repl, REPLServer, Recoverable, REPL_MODE_SLOPPY, REPL_MODE_STRICT, start }; diff --git a/src/js/node/stream.consumers.js b/src/js/node/stream.consumers.js index 8dbe2920a06d2..4df51d1bf075d 100644 --- a/src/js/node/stream.consumers.js +++ b/src/js/node/stream.consumers.js @@ -1,18 +1,15 @@ // Hardcoded module "node:stream/consumers" / "readable-stream/consumer" -const { Bun } = $lazy("primordials"); +const arrayBuffer = Bun.readableStreamToArrayBuffer; +const text = Bun.readableStreamToText; +const json = stream => Bun.readableStreamToText(stream).then(JSON.parse); -export const arrayBuffer = Bun.readableStreamToArrayBuffer; -export const text = Bun.readableStreamToText; -export const json = stream => Bun.readableStreamToText(stream).then(JSON.parse); - -export const buffer = async readableStream => { +const buffer = async readableStream => { return new Buffer(await arrayBuffer(readableStream)); }; -export const blob = Bun.readableStreamToBlob; +const blob = Bun.readableStreamToBlob; export default { - [Symbol.for("CommonJS")]: 0, arrayBuffer, text, json, diff --git a/src/js/node/stream.js b/src/js/node/stream.js index 474ada8d86d6a..e533cd7d980df 100644 --- a/src/js/node/stream.js +++ b/src/js/node/stream.js @@ -1,50 +1,14 @@ // Hardcoded module "node:stream" / "readable-stream" // "readable-stream" npm package -// just transpiled - -// This must go at the top of the file, before any side effects. -// IS_BUN_DEVELOPMENT is a bundle-only global variable that is set to true when -// building a development bundle. -const __TRACK_EE__ = IS_BUN_DEVELOPMENT && !!process.env.DEBUG_TRACK_EE; -const __DEBUG__ = IS_BUN_DEVELOPMENT && !!(process.env.DEBUG || process.env.DEBUG_STREAMS || __TRACK_EE__); - -if (__DEBUG__) { - globalThis.__IDS_TO_TRACK = process.env.DEBUG_TRACK_EE?.length - ? process.env.DEBUG_TRACK_EE.split(",") - : process.env.DEBUG_STREAMS?.length - ? process.env.DEBUG_STREAMS.split(",") - : null; -} - -// Separating DEBUG, DEBUG_STREAMS and DEBUG_TRACK_EE env vars makes it easier to focus on the -// events in this file rather than all debug output across all files - -// You can include comma-delimited IDs as the value to either DEBUG_STREAMS or DEBUG_TRACK_EE and it will track -// The events and/or all of the outputs for the given stream IDs assigned at stream construction -// By default, child_process gives - -var debug = __DEBUG__ - ? globalThis.__IDS_TO_TRACK - ? // If we are tracking IDs for debug event emitters, we should prefix the debug output with the ID - (...args) => { - const lastItem = args[args.length - 1]; - if (!globalThis.__IDS_TO_TRACK.includes(lastItem)) return; - console.log(`ID: ${lastItem}`, ...args.slice(0, -1)); - } - : (...args) => console.log(...args.slice(0, -1)) - : () => {}; +// just transpiled and debug logs added. -var { isPromise, isCallable, direct, Object } = $lazy("primordials"); -import { EventEmitter as EE } from "bun:events_native"; -import { StringDecoder } from "node:string_decoder"; +const { EventEmitter: EE } = $lazy("events"); +const StringDecoder = require("node:string_decoder").StringDecoder; -var __create = Object.create; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; -var __getProtoOf = Object.getPrototypeOf; var __hasOwnProp = Object.prototype.hasOwnProperty; -var __ObjectSetPrototypeOf = Object.setPrototypeOf; var __commonJS = (cb, mod) => function __require2() { @@ -2340,19 +2304,19 @@ var require_readable = __commonJS({ if (ev === "data") { state.readableListening = this.listenerCount("readable") > 0; if (state.flowing !== false) { - __DEBUG__ && debug("in flowing mode!", this.__id); + $debug("in flowing mode!", this.__id); this.resume(); } else { - __DEBUG__ && debug("in readable mode!", this.__id); + $debug("in readable mode!", this.__id); } } else if (ev === "readable") { - __DEBUG__ && debug("readable listener added!", this.__id); + $debug("readable listener added!", this.__id); if (!state.endEmitted && !state.readableListening) { state.readableListening = state.needReadable = true; state.flowing = false; state.emittedReadable = false; __DEBUG__ && - debug( + $debug( "on readable - state.length, reading, emittedReadable", state.length, state.reading, @@ -2365,7 +2329,7 @@ var require_readable = __commonJS({ runOnNextTick(nReadingNextTick, this); } } else if (state.endEmitted) { - __DEBUG__ && debug("end already emitted...", this.__id); + $debug("end already emitted...", this.__id); } } return res; @@ -2421,7 +2385,7 @@ var require_readable = __commonJS({ } async _read() { - __DEBUG__ && debug("ReadableFromWeb _read()", this.__id); + $debug("ReadableFromWeb _read()", this.__id); var stream = this.#stream, reader = this.#reader; if (stream) { @@ -2438,7 +2402,7 @@ var require_readable = __commonJS({ value; const firstResult = reader.readMany(); - if (isPromise(firstResult)) { + if ($isPromise(firstResult)) { ({ done, value } = await firstResult); if (this.#closed) { @@ -2565,7 +2529,7 @@ var require_readable = __commonJS({ } // REVERT ME function emitReadable(stream, state) { - __DEBUG__ && debug("NativeReadable - emitReadable", stream.__id); + $debug("NativeReadable - emitReadable", stream.__id); _emitReadable(stream, state); } var destroyImpl = require_destroy(); @@ -2599,7 +2563,7 @@ var require_readable = __commonJS({ return readableAddChunk(this, chunk, encoding, true); }; function readableAddChunk(stream, chunk, encoding, addToFront) { - __DEBUG__ && debug("readableAddChunk", chunk, stream.__id); + $debug("readableAddChunk", chunk, stream.__id); const state = stream._readableState; let err; if (!state.objectMode) { @@ -2655,8 +2619,8 @@ var require_readable = __commonJS({ return !state.ended && (state.length < state.highWaterMark || state.length === 0); } function addChunk(stream, state, chunk, addToFront) { - __DEBUG__ && debug("adding chunk", stream.__id); - __DEBUG__ && debug("chunk", chunk.toString(), stream.__id); + $debug("adding chunk", stream.__id); + $debug("chunk", chunk.toString(), stream.__id); if (state.flowing && state.length === 0 && !state.sync && stream.listenerCount("data") > 0) { if (state.multiAwaitDrain) { state.awaitDrainWriters.clear(); @@ -2669,7 +2633,7 @@ var require_readable = __commonJS({ state.length += state.objectMode ? 1 : chunk.length; if (addToFront) state.buffer.unshift(chunk); else state.buffer.push(chunk); - __DEBUG__ && debug("needReadable @ addChunk", state.needReadable, stream.__id); + $debug("needReadable @ addChunk", state.needReadable, stream.__id); if (state.needReadable) emitReadable(stream, state); } maybeReadMore(stream, state); @@ -2723,7 +2687,7 @@ var require_readable = __commonJS({ } // You can override either this method, or the async _read(n) below. Readable.prototype.read = function (n) { - __DEBUG__ && debug("read - n =", n, this.__id); + $debug("read - n =", n, this.__id); if (!NumberIsInteger(n)) { n = NumberParseInt(n, 10); } @@ -2743,7 +2707,7 @@ var require_readable = __commonJS({ state.needReadable && ((state.highWaterMark !== 0 ? state.length >= state.highWaterMark : state.length > 0) || state.ended) ) { - __DEBUG__ && debug("read: emitReadable or endReadable", state.length, state.ended, this.__id); + $debug("read: emitReadable or endReadable", state.length, state.ended, this.__id); if (state.length === 0 && state.ended) endReadable(this); else emitReadable(this, state); return null; @@ -2754,7 +2718,7 @@ var require_readable = __commonJS({ // If we've ended, and we're now clear, then finish it up. if (n === 0 && state.ended) { __DEBUG__ && - debug("read: calling endReadable if length 0 -- length, state.ended", state.length, state.ended, this.__id); + $debug("read: calling endReadable if length 0 -- length, state.ended", state.length, state.ended, this.__id); if (state.length === 0) endReadable(this); return null; } @@ -2783,23 +2747,23 @@ var require_readable = __commonJS({ // if we need a readable event, then we need to do some reading. let doRead = state.needReadable; - __DEBUG__ && debug("need readable", doRead, this.__id); + $debug("need readable", doRead, this.__id); // If we currently have less than the highWaterMark, then also read some. if (state.length === 0 || state.length - n < state.highWaterMark) { doRead = true; - __DEBUG__ && debug("length less than watermark", doRead, this.__id); + $debug("length less than watermark", doRead, this.__id); } // However, if we've ended, then there's no point, if we're already // reading, then it's unnecessary, if we're constructing we have to wait, // and if we're destroyed or errored, then it's not allowed, if (state.ended || state.reading || state.destroyed || state.errored || !state.constructed) { - __DEBUG__ && debug("state.constructed?", state.constructed, this.__id); + $debug("state.constructed?", state.constructed, this.__id); doRead = false; - __DEBUG__ && debug("reading, ended or constructing", doRead, this.__id); + $debug("reading, ended or constructing", doRead, this.__id); } else if (doRead) { - __DEBUG__ && debug("do read", this.__id); + $debug("do read", this.__id); state.reading = true; state.sync = true; // If the length is currently zero, then we *need* a readable event. @@ -2809,16 +2773,16 @@ var require_readable = __commonJS({ try { var result = this._read(state.highWaterMark); if (isPromise(result)) { - __DEBUG__ && debug("async _read", this.__id); + $debug("async _read", this.__id); const peeked = Bun.peek(result); - __DEBUG__ && debug("peeked promise", peeked, this.__id); + $debug("peeked promise", peeked, this.__id); if (peeked !== result) { result = peeked; } } - if (isPromise(result) && result?.then && isCallable(result.then)) { - __DEBUG__ && debug("async _read result.then setup", this.__id); + if ($isPromise(result) && result?.then && $isCallable(result.then)) { + $debug("async _read result.then setup", this.__id); result.then(nop, function (err) { errorOrDestroy(this, err); }); @@ -2833,16 +2797,16 @@ var require_readable = __commonJS({ if (!state.reading) n = howMuchToRead(nOrig, state); } - __DEBUG__ && debug("n @ fromList", n, this.__id); + $debug("n @ fromList", n, this.__id); let ret; if (n > 0) ret = fromList(n, state); else ret = null; - __DEBUG__ && debug("ret @ read", ret, this.__id); + $debug("ret @ read", ret, this.__id); if (ret === null) { state.needReadable = state.length <= state.highWaterMark; - __DEBUG__ && debug("state.length while ret = null", state.length, this.__id); + $debug("state.length while ret = null", state.length, this.__id); n = 0; } else { state.length -= n; @@ -2882,14 +2846,14 @@ var require_readable = __commonJS({ } } state.pipes.push(dest); - __DEBUG__ && debug("pipe count=%d opts=%j", state.pipes.length, pipeOpts, src.__id); + $debug("pipe count=%d opts=%j", state.pipes.length, pipeOpts, src.__id); const doEnd = (!pipeOpts || pipeOpts.end !== false) && dest !== process.stdout && dest !== process.stderr; const endFn = doEnd ? onend : unpipe; if (state.endEmitted) runOnNextTick(endFn); else src.once("end", endFn); dest.on("unpipe", onunpipe); function onunpipe(readable, unpipeInfo) { - __DEBUG__ && debug("onunpipe", src.__id); + $debug("onunpipe", src.__id); if (readable === src) { if (unpipeInfo && unpipeInfo.hasUnpiped === false) { unpipeInfo.hasUnpiped = true; @@ -2898,13 +2862,13 @@ var require_readable = __commonJS({ } } function onend() { - __DEBUG__ && debug("onend", src.__id); + $debug("onend", src.__id); dest.end(); } let ondrain; let cleanedUp = false; function cleanup() { - __DEBUG__ && debug("cleanup", src.__id); + $debug("cleanup", src.__id); dest.removeListener("close", onclose); dest.removeListener("finish", onfinish); if (ondrain) { @@ -2921,11 +2885,11 @@ var require_readable = __commonJS({ function pause() { if (!cleanedUp) { if (state.pipes.length === 1 && state.pipes[0] === dest) { - __DEBUG__ && debug("false write response, pause", 0, src.__id); + $debug("false write response, pause", 0, src.__id); state.awaitDrainWriters = dest; state.multiAwaitDrain = false; } else if (state.pipes.length > 1 && state.pipes.includes(dest)) { - __DEBUG__ && debug("false write response, pause", state.awaitDrainWriters.size, src.__id); + $debug("false write response, pause", state.awaitDrainWriters.size, src.__id); state.awaitDrainWriters.add(dest); } src.pause(); @@ -2937,15 +2901,15 @@ var require_readable = __commonJS({ } src.on("data", ondata); function ondata(chunk) { - __DEBUG__ && debug("ondata", src.__id); + $debug("ondata", src.__id); const ret = dest.write(chunk); - __DEBUG__ && debug("dest.write", ret, src.__id); + $debug("dest.write", ret, src.__id); if (ret === false) { pause(); } } function onerror(er) { - debug("onerror", er); + $debug("onerror", er); unpipe(); dest.removeListener("error", onerror); if (dest.listenerCount("error") === 0) { @@ -2964,13 +2928,13 @@ var require_readable = __commonJS({ } dest.once("close", onclose); function onfinish() { - debug("onfinish"); + $debug("onfinish"); dest.removeListener("close", onclose); unpipe(); } dest.once("finish", onfinish); function unpipe() { - debug("unpipe"); + $debug("unpipe"); src.unpipe(dest); } dest.emit("pipe", src); @@ -2979,7 +2943,7 @@ var require_readable = __commonJS({ pause(); } } else if (!state.flowing) { - debug("pipe resume"); + $debug("pipe resume"); src.resume(); } return dest; @@ -2988,10 +2952,10 @@ var require_readable = __commonJS({ return function pipeOnDrainFunctionResult() { const state = src._readableState; if (state.awaitDrainWriters === dest) { - debug("pipeOnDrain", 1); + $debug("pipeOnDrain", 1); state.awaitDrainWriters = null; } else if (state.multiAwaitDrain) { - debug("pipeOnDrain", state.awaitDrainWriters.size); + $debug("pipeOnDrain", state.awaitDrainWriters.size); state.awaitDrainWriters.delete(dest); } if ((!state.awaitDrainWriters || state.awaitDrainWriters.size === 0) && src.listenerCount("data")) { @@ -3050,13 +3014,13 @@ var require_readable = __commonJS({ } } function nReadingNextTick(self) { - __DEBUG__ && debug("on readable nextTick, calling read(0)", self.__id); + $debug("on readable nextTick, calling read(0)", self.__id); self.read(0); } Readable.prototype.resume = function () { const state = this._readableState; if (!state.flowing) { - __DEBUG__ && debug("resume", this.__id); + $debug("resume", this.__id); state.flowing = !state.readableListening; resume(this, state); } @@ -3064,9 +3028,9 @@ var require_readable = __commonJS({ return this; }; Readable.prototype.pause = function () { - __DEBUG__ && debug("call pause flowing=%j", this._readableState.flowing, this.__id); + $debug("call pause flowing=%j", this._readableState.flowing, this.__id); if (this._readableState.flowing !== false) { - __DEBUG__ && debug("pause", this.__id); + $debug("pause", this.__id); this._readableState.flowing = false; this.emit("pause"); } @@ -3294,18 +3258,18 @@ var require_readable = __commonJS({ } function endReadable(stream) { const state = stream._readableState; - __DEBUG__ && debug("endEmitted @ endReadable", state.endEmitted, stream.__id); + $debug("endEmitted @ endReadable", state.endEmitted, stream.__id); if (!state.endEmitted) { state.ended = true; runOnNextTick(endReadableNT, state, stream); } } function endReadableNT(state, stream) { - __DEBUG__ && debug("endReadableNT -- endEmitted, state.length", state.endEmitted, state.length, stream.__id); + $debug("endReadableNT -- endEmitted, state.length", state.endEmitted, state.length, stream.__id); if (!state.errored && !state.closeEmitted && !state.endEmitted && state.length === 0) { state.endEmitted = true; stream.emit("end"); - __DEBUG__ && debug("end emitted @ endReadableNT", stream.__id); + $debug("end emitted @ endReadableNT", stream.__id); if (stream.writable && stream.allowHalfOpen === false) { runOnNextTick(endWritableNT, stream); } else if (state.autoDestroy) { @@ -3736,7 +3700,7 @@ var require_writable = __commonJS({ Writable.prototype._writev = null; Writable.prototype.end = function (chunk, encoding, cb, native = false) { const state = this._writableState; - __DEBUG__ && debug("end", state, this.__id); + $debug("end", state, this.__id); if (typeof chunk === "function") { cb = chunk; chunk = null; @@ -3793,7 +3757,7 @@ var require_writable = __commonJS({ !state.writing && !state.errorEmitted && !state.closeEmitted; - debug("needFinish", needFinish, tag); + $debug("needFinish", needFinish, tag); return needFinish; } function callFinal(stream, state) { @@ -3839,7 +3803,7 @@ var require_writable = __commonJS({ } } function finishMaybe(stream, state, sync) { - __DEBUG__ && debug("finishMaybe -- state, sync", state, sync, stream.__id); + $debug("finishMaybe -- state, sync", state, sync, stream.__id); if (!needFinish(state, stream.__id)) return; @@ -5162,47 +5126,6 @@ var require_stream = __commonJS({ }, }); -// node_modules/readable-stream/lib/ours/index.js -var require_ours = __commonJS({ - "node_modules/readable-stream/lib/ours/index.js"(exports, module) { - "use strict"; - const CustomStream = require_stream(); - const promises = require_promises(); - const originalDestroy = CustomStream.Readable.destroy; - module.exports = CustomStream; - module.exports._uint8ArrayToBuffer = CustomStream._uint8ArrayToBuffer; - module.exports._isUint8Array = CustomStream._isUint8Array; - module.exports.isDisturbed = CustomStream.isDisturbed; - module.exports.isErrored = CustomStream.isErrored; - module.exports.isWritable = CustomStream.isWritable; - module.exports.isReadable = CustomStream.isReadable; - module.exports.Readable = CustomStream.Readable; - module.exports.Writable = CustomStream.Writable; - module.exports.Duplex = CustomStream.Duplex; - module.exports.Transform = CustomStream.Transform; - module.exports.PassThrough = CustomStream.PassThrough; - module.exports.addAbortSignal = CustomStream.addAbortSignal; - module.exports.finished = CustomStream.finished; - module.exports.destroy = CustomStream.destroy; - module.exports.destroy = originalDestroy; - module.exports.pipeline = CustomStream.pipeline; - module.exports.compose = CustomStream.compose; - - module.exports._getNativeReadableStreamPrototype = getNativeReadableStreamPrototype; - module.exports.NativeWritable = NativeWritable; - - Object.defineProperty(CustomStream, "promises", { - configurable: true, - enumerable: true, - get() { - return promises; - }, - }); - module.exports.Stream = CustomStream.Stream; - module.exports.default = module.exports; - }, -}); - /** * Bun native stream wrapper * @@ -5279,21 +5202,21 @@ function createNativeStreamReadable(nativeType, Readable) { // However, in the case of an fs.ReadStream, we can pass the number of bytes we want to read // which may be significantly less than the actual highWaterMark _read(maxToRead) { - __DEBUG__ && debug("NativeReadable._read", this.__id); + $debug("NativeReadable._read", this.__id); if (this.#pendingRead) { - __DEBUG__ && debug("pendingRead is true", this.__id); + $debug("pendingRead is true", this.__id); return; } var ptr = this.#bunNativePtr; - __DEBUG__ && debug("ptr @ NativeReadable._read", ptr, this.__id); + $debug("ptr @ NativeReadable._read", ptr, this.__id); if (ptr === 0) { this.push(null); return; } if (!this.#constructed) { - __DEBUG__ && debug("NativeReadable not constructed yet", this.__id); + $debug("NativeReadable not constructed yet", this.__id); this.#internalConstruct(ptr); } @@ -5320,18 +5243,18 @@ function createNativeStreamReadable(nativeType, Readable) { #internalConstruct(ptr) { this.#constructed = true; const result = start(ptr, this.#highWaterMark); - __DEBUG__ && debug("NativeReadable internal `start` result", result, this.__id); + $debug("NativeReadable internal `start` result", result, this.__id); if (typeof result === "number" && result > 1) { this.#hasResized = true; - __DEBUG__ && debug("NativeReadable resized", this.__id); + $debug("NativeReadable resized", this.__id); this.#highWaterMark = Math.min(this.#highWaterMark, result); } if (drainFn) { const drainResult = drainFn(ptr); - __DEBUG__ && debug("NativeReadable drain result", drainResult, this.__id); + $debug("NativeReadable drain result", drainResult, this.__id); if ((drainResult?.byteLength ?? 0) > 0) { this.push(drainResult); } @@ -5343,7 +5266,7 @@ function createNativeStreamReadable(nativeType, Readable) { // how many bytes they want to read (ie. when reading only part of a file) #getRemainingChunk(maxToRead = this.#highWaterMark) { var chunk = this.#remainingChunk; - __DEBUG__ && debug("chunk @ #getRemainingChunk", chunk, this.__id); + $debug("chunk @ #getRemainingChunk", chunk, this.__id); if (chunk?.byteLength ?? 0 < MIN_BUFFER_SIZE) { var size = maxToRead > MIN_BUFFER_SIZE ? maxToRead : MIN_BUFFER_SIZE; this.#remainingChunk = chunk = new Buffer(size); @@ -5352,12 +5275,12 @@ function createNativeStreamReadable(nativeType, Readable) { } // push(result, encoding) { - // __DEBUG__ && debug("NativeReadable push -- result, encoding", result, encoding, this.__id); + // debug("NativeReadable push -- result, encoding", result, encoding, this.__id); // return super.push(...arguments); // } #handleResult(result, view, isClosed) { - __DEBUG__ && debug("result, isClosed @ #handleResult", result, isClosed, this.__id); + $debug("result, isClosed @ #handleResult", result, isClosed, this.__id); if (typeof result === "number") { if (result >= this.#highWaterMark && !this.#hasResized && !isClosed) { @@ -5375,18 +5298,18 @@ function createNativeStreamReadable(nativeType, Readable) { if (result.byteLength >= this.#highWaterMark && !this.#hasResized && !isClosed) { this.#highWaterMark *= 2; this.#hasResized = true; - __DEBUG__ && debug("Resized", this.__id); + $debug("Resized", this.__id); } return handleArrayBufferViewResult(this, result, view, isClosed); } else { - __DEBUG__ && debug("Unknown result type", result, this.__id); + $debug("Unknown result type", result, this.__id); throw new Error("Invalid result from pull"); } } #internalRead(view, ptr) { - __DEBUG__ && debug("#internalRead()", this.__id); + $debug("#internalRead()", this.__id); closer[0] = false; var result = pull(ptr, view, closer); if (isPromise(result)) { @@ -5394,11 +5317,11 @@ function createNativeStreamReadable(nativeType, Readable) { return result.then( result => { this.#pendingRead = false; - __DEBUG__ && debug("pending no longerrrrrrrr (result returned from pull)", this.__id); + $debug("pending no longerrrrrrrr (result returned from pull)", this.__id); this.#remainingChunk = this.#handleResult(result, view, closer[0]); }, reason => { - __DEBUG__ && debug("error from pull", reason, this.__id); + $debug("error from pull", reason, this.__id); errorOrDestroy(this, reason); }, ); @@ -5419,7 +5342,7 @@ function createNativeStreamReadable(nativeType, Readable) { if (updateRef) { updateRef(ptr, false); } - __DEBUG__ && debug("NativeReadable destroyed", this.__id); + $debug("NativeReadable destroyed", this.__id); cancel(ptr, error); callback(error); } @@ -5466,9 +5389,9 @@ function getNativeReadableStream(Readable, stream, options) { return undefined; } - const native = direct(stream); + const native = $direct(stream); if (!native) { - debug("no native readable stream"); + $debug("no native readable stream"); return undefined; } const { stream: ptr, data: type } = native; @@ -5580,28 +5503,20 @@ var NativeWritable = class NativeWritable extends Writable { } }; -const stream_exports = require_ours(); -stream_exports[Symbol.for("CommonJS")] = 0; -stream_exports[Symbol.for("::bunternal::")] = { _ReadableFromWeb, _ReadableFromWebForUndici }; -export default stream_exports; -export var _uint8ArrayToBuffer = stream_exports._uint8ArrayToBuffer; -export var _isUint8Array = stream_exports._isUint8Array; -export var isDisturbed = stream_exports.isDisturbed; -export var isErrored = stream_exports.isErrored; -export var isWritable = stream_exports.isWritable; -export var isReadable = stream_exports.isReadable; -export var Readable = stream_exports.Readable; -export var Writable = stream_exports.Writable; -export var Duplex = stream_exports.Duplex; -export var Transform = stream_exports.Transform; -export var PassThrough = stream_exports.PassThrough; -export var addAbortSignal = stream_exports.addAbortSignal; -export var finished = stream_exports.finished; -export var destroy = stream_exports.destroy; -export var pipeline = stream_exports.pipeline; -export var compose = stream_exports.compose; -export var Stream = stream_exports.Stream; -export var eos = (stream_exports["eos"] = require_end_of_stream); -export var _getNativeReadableStreamPrototype = stream_exports._getNativeReadableStreamPrototype; -export var NativeWritable = stream_exports.NativeWritable; -export var promises = Stream.promises; +const exports = require_stream(); +const promises = require_promises(); +const originalDestroy = exports.Readable.destroy; +exports._getNativeReadableStreamPrototype = getNativeReadableStreamPrototype; +exports.NativeWritable = NativeWritable; +Object.defineProperty(exports, "promises", { + configurable: true, + enumerable: true, + get() { + return promises; + }, +}); + +exports[Symbol.for("::bunternal::")] = { _ReadableFromWeb, _ReadableFromWebForUndici }; +exports.eos = require_end_of_stream(); + +export default exports; diff --git a/src/js/node/stream.promises.js b/src/js/node/stream.promises.js deleted file mode 100644 index 323785a4c1ca5..0000000000000 --- a/src/js/node/stream.promises.js +++ /dev/null @@ -1,10 +0,0 @@ -// Hardcoded module "node:stream/promises" -import { promises } from "node:stream"; - -export var { pipeline, finished } = promises; - -export default { - pipeline, - finished, - [Symbol.for("CommonJS")]: 0, -}; diff --git a/src/js/node/stream.promises.ts b/src/js/node/stream.promises.ts new file mode 100644 index 0000000000000..04aaf0b0c5a90 --- /dev/null +++ b/src/js/node/stream.promises.ts @@ -0,0 +1,2 @@ +// Hardcoded module "node:stream/promises" +export default require("node:stream").promises; diff --git a/src/js/node/stream.web.js b/src/js/node/stream.web.js index b7b947af9c4f9..ab3458d2d24c1 100644 --- a/src/js/node/stream.web.js +++ b/src/js/node/stream.web.js @@ -1,23 +1,4 @@ // Hardcoded module "node:stream/web" / "readable-stream/web" -export const { - ReadableStream, - ReadableStreamDefaultReader, - ReadableStreamBYOBReader, - ReadableStreamBYOBRequest, - ReadableByteStreamController, - ReadableStreamDefaultController, - TransformStream, - TransformStreamDefaultController, - WritableStream, - WritableStreamDefaultWriter, - WritableStreamDefaultController, - ByteLengthQueuingStrategy, - CountQueuingStrategy, - TextEncoderStream, - TextDecoderStream, - CompressionStream, - DecompressionStream, -} = globalThis; export default { ReadableStream, ReadableStreamDefaultReader, @@ -32,9 +13,8 @@ export default { WritableStreamDefaultController, ByteLengthQueuingStrategy, CountQueuingStrategy, - TextEncoderStream, - TextDecoderStream, - CompressionStream, - DecompressionStream, - [Symbol.for("CommonJS")]: 0, + // TextEncoderStream, + // TextDecoderStream, + // CompressionStream, + // DecompressionStream, }; diff --git a/src/js/node/timers.js b/src/js/node/timers.js index 4e907a7ab262b..221fa181a0aaf 100644 --- a/src/js/node/timers.js +++ b/src/js/node/timers.js @@ -1,14 +1,11 @@ // Hardcoded module "node:timers" // This implementation isn't 100% correct // Ref/unref does not impact whether the process is kept alive - -export var { setTimeout, clearTimeout, setInterval, setImmediate, clearInterval, clearImmediate } = globalThis; - export default { + setTimeout, + clearTimeout, setInterval, setImmediate, - setTimeout, clearInterval, - clearTimeout, - [Symbol.for("CommonJS")]: 0, + clearImmediate, }; diff --git a/src/js/node/timers.promises.js b/src/js/node/timers.promises.js index 3e2e7bcd57fda..eb171941a597d 100644 --- a/src/js/node/timers.promises.js +++ b/src/js/node/timers.promises.js @@ -232,5 +232,12 @@ function setIntervalPromise(after = 1, value, options = {}) { } } -export { setTimeoutPromise as setTimeout, setImmediatePromise as setImmediate, setIntervalPromise as setInterval }; -export default { setTimeout: setTimeoutPromise, setImmediate: setImmediatePromise, setInterval: setIntervalPromise }; +export default { + setTimeout: setTimeoutPromise, + setImmediate: setImmediatePromise, + setInterval: setIntervalPromise, + scheduler: { + wait: (delay, options) => setTimeoutPromise(delay, undefined, options), + yield: setImmediatePromise, + }, +}; diff --git a/src/js/node/tls.js b/src/js/node/tls.js index 567baddc1249d..29aaef01d4b0f 100644 --- a/src/js/node/tls.js +++ b/src/js/node/tls.js @@ -1,11 +1,8 @@ // Hardcoded module "node:tls" -import { isArrayBufferView, isTypedArray } from "util/types"; -import net, { Server as NetServer } from "node:net"; -const InternalTCPSocket = net[Symbol.for("::bunternal::")]; +const { isArrayBufferView, isTypedArray } = require("node:util/types"); +const net = require("node:net"); +const { Server: NetServer, [Symbol.for("::bunternal::")]: InternalTCPSocket } = net; const bunSocketInternal = Symbol.for("::bunnetsocketinternal::"); - -const { RegExp, Array, String } = $lazy("primordials"); - const { rootCertificates, canonicalizeIP } = $lazy("internal/tls"); const SymbolReplace = Symbol.replace; @@ -682,8 +679,7 @@ function convertALPNProtocols(protocols, out) { } } -var exports = { - [Symbol.for("CommonJS")]: 0, +export default { CLIENT_RENEG_LIMIT, CLIENT_RENEG_WINDOW, connect, @@ -704,26 +700,3 @@ var exports = { checkServerIdentity, rootCertificates, }; - -export { - CLIENT_RENEG_LIMIT, - CLIENT_RENEG_WINDOW, - connect, - convertALPNProtocols, - createConnection, - createSecureContext, - createServer, - DEFAULT_CIPHERS, - DEFAULT_ECDH_CURVE, - DEFAULT_MAX_VERSION, - DEFAULT_MIN_VERSION, - getCiphers, - getCurves, - parseCertString, - SecureContext, - checkServerIdentity, - Server, - TLSSocket, - rootCertificates, - exports as default, -}; diff --git a/src/js/node/trace_events.ts b/src/js/node/trace_events.ts index 7edcc57d0c166..e0cb82f344489 100644 --- a/src/js/node/trace_events.ts +++ b/src/js/node/trace_events.ts @@ -26,10 +26,7 @@ function getEnabledCategories() { return ""; } -var defaultObject = { +export default { createTracing, getEnabledCategories, - [Symbol.for("CommonJS")]: 0, }; - -export { defaultObject as default, createTracing, getEnabledCategories }; diff --git a/src/js/node/url.js b/src/js/node/url.js index 9275434054919..d38fe51ced612 100644 --- a/src/js/node/url.js +++ b/src/js/node/url.js @@ -823,7 +823,8 @@ function urlToHttpOptions(url) { const lazy = $lazy; const pathToFileURL = lazy("pathToFileURL"); const fileURLToPath = lazy("fileURLToPath"); -const defaultObject = { + +export default { parse: urlParse, resolve: urlResolve, resolveObject: urlResolveObject, @@ -834,19 +835,4 @@ const defaultObject = { pathToFileURL, fileURLToPath, urlToHttpOptions, - [Symbol.for("CommonJS")]: 0, -}; - -export { - defaultObject as default, - urlParse as parse, - urlResolve as resolve, - urlResolveObject as resolveObject, - urlFormat as format, - Url, - URLSearchParams, - URL, - pathToFileURL, - fileURLToPath, - urlToHttpOptions, }; diff --git a/src/js/node/util.js b/src/js/node/util.js index 2ec4aadb9dc04..92d77701eb11b 100644 --- a/src/js/node/util.js +++ b/src/js/node/util.js @@ -1,22 +1,13 @@ // Hardcoded module "node:util" -import * as types from "node:util/types"; -export { default as types } from "node:util/types"; +const types = require("node:util/types"); var cjs_exports = {}; -export default cjs_exports; - -var __getOwnPropNames = Object.getOwnPropertyNames; -var __commonJS = (cb, mod) => - function __require() { - return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; - }; - function isBufferInterface({ copy, fill, readUint8 }) { return typeof copy === "function" && typeof fill === "function" && typeof readUint8 === "function"; } -export function isBuffer(value) { +function isBuffer(value) { return ( Buffer.isBuffer(value) || // incase it ends up as a browserify buffer @@ -28,22 +19,6 @@ function isFunction(value) { return typeof value === "function"; } -// node_modules/inherits/inherits_browser.js -var require_inherits_browser = __commonJS({ - "node_modules/inherits/inherits_browser.js"(exports, module2) { - module2.exports = function inherits(ctor, superCtor) { - ctor.super_ = superCtor; - ctor.prototype = Object.create(superCtor.prototype, { - constructor: { - value: ctor, - enumerable: false, - writable: true, - configurable: true, - }, - }); - }; - }, -}); const deepEquals = Bun.deepEquals; const isDeepStrictEqual = (a, b) => deepEquals(a, b, true); var getOwnPropertyDescriptors = Object.getOwnPropertyDescriptors; @@ -244,7 +219,7 @@ function formatValue(ctx, value, recurseTimes) { var base = "", array = false, braces = ["{", "}"]; - if (isArray(value)) { + if ($isArray(value)) { array = true; braces = ["[", "]"]; } @@ -393,10 +368,6 @@ function reduceToSingleString(output, base, braces) { return braces[0] + base + " " + output.join(", ") + " " + braces[1]; } -function isArray(ar) { - return Array.isArray(ar); -} - function isBoolean(arg) { return typeof arg === "boolean"; } @@ -416,6 +387,7 @@ function isNumber(arg) { function isString(arg) { return typeof arg === "string"; } + function isSymbol(arg) { return typeof arg === "symbol"; } @@ -450,7 +422,17 @@ function timestamp() { var log = function log() { console.log("%s - %s", timestamp(), format.apply(cjs_exports, arguments)); }; -var inherits = (inherits = require_inherits_browser()); +var inherits = function inherits(ctor, superCtor) { + ctor.super_ = superCtor; + ctor.prototype = Object.create(superCtor.prototype, { + constructor: { + value: ctor, + enumerable: false, + writable: true, + configurable: true, + }, + }); +}; var _extend = function (origin, add) { if (!add || !isObject(add)) return origin; var keys = Object.keys(add); @@ -550,20 +532,18 @@ function callbackify(original) { Object.defineProperties(callbackified, getOwnPropertyDescriptors(original)); return callbackified; } -export var TextDecoder = globalThis.TextDecoder; -export var TextEncoder = globalThis.TextEncoder; var toUSVString = input => { return (input + "").toWellFormed(); }; -Object.assign(cjs_exports, { +export default Object.assign(cjs_exports, { format, deprecate, debuglog, _extend, inspect, types, - isArray, + isArray: $isArray, isBoolean, isNull, isNullOrUndefined, @@ -586,32 +566,4 @@ Object.assign(cjs_exports, { isDeepStrictEqual, TextDecoder, TextEncoder, - [Symbol.for("CommonJS")]: 0, }); - -export { - format, - deprecate, - debuglog, - inspect, - isArray, - isBoolean, - isNull, - isNullOrUndefined, - isNumber, - isString, - isSymbol, - isUndefined, - isRegExp, - isObject, - isDate, - isError, - isFunction, - isPrimitive, - log, - inherits, - promisify, - callbackify, - isDeepStrictEqual, - toUSVString, -}; diff --git a/src/js/node/v8.ts b/src/js/node/v8.ts index b043e10fe9e26..f74422de812fa 100644 --- a/src/js/node/v8.ts +++ b/src/js/node/v8.ts @@ -1,7 +1,7 @@ // Hardcoded module "node:v8" // This is a stub! None of this is actually implemented yet. -import { hideFromStack, throwNotImplemented } from "../shared"; -import { serialize as jscSerialize, deserialize as jscDeserialize } from "bun:jsc"; +const { hideFromStack, throwNotImplemented } = require("$shared"); +const jsc = require("bun:jsc"); function notimpl(message) { throwNotImplemented("node:v8 " + message); @@ -44,7 +44,7 @@ function setFlagsFromString() { notimpl("setFlagsFromString"); } function deserialize(value) { - return jscDeserialize(value); + return jsc.deserialize(value); } function takeCoverage() { notimpl("takeCoverage"); @@ -53,7 +53,7 @@ function stopCoverage() { notimpl("stopCoverage"); } function serialize(arg1) { - return jscSerialize(arg1, { binaryType: "nodebuffer" }); + return jsc.serialize(arg1, { binaryType: "nodebuffer" }); } function writeHeapSnapshot() { notimpl("writeHeapSnapshot"); @@ -85,7 +85,7 @@ const promiseHooks = { isBuildingSnapshot: () => notimpl("isBuildingSnapshot"), }; -const defaultObject = { +export default { cachedDataVersionTag, getHeapSnapshot, getHeapStatistics, @@ -102,30 +102,6 @@ const defaultObject = { startupSnapshot, Deserializer, Serializer, - [Symbol.for("CommonJS")]: 0, -}; - -export { - cachedDataVersionTag, - getHeapSnapshot, - getHeapStatistics, - getHeapSpaceStatistics, - getHeapCodeStatistics, - setFlagsFromString, - deserialize, - takeCoverage, - stopCoverage, - serialize, - writeHeapSnapshot, - setHeapSnapshotNearHeapLimit, - promiseHooks, - startupSnapshot, - Deserializer, - Serializer, - DefaultDeserializer, - DefaultSerializer, - GCProfiler, - defaultObject as default, }; hideFromStack( diff --git a/src/js/node/vm.ts b/src/js/node/vm.ts index 331f4fbc69a52..e3058780ae103 100644 --- a/src/js/node/vm.ts +++ b/src/js/node/vm.ts @@ -1,5 +1,5 @@ // Hardcoded module "node:vm" -import { throwNotImplemented } from "../shared"; +const { throwNotImplemented } = require("$shared"); const vm = $lazy("vm"); @@ -10,26 +10,31 @@ function runInContext(code, context, options) { } function compileFunction() { - throwNotImplemented("node:vm compileFunction", 401); + throwNotImplemented("node:vm compileFunction"); } function measureMemory() { - throwNotImplemented("node:vm measureMemory", 401); + throwNotImplemented("node:vm measureMemory"); } -const defaultObject = { - createContext, - runInContext, - runInNewContext, - runInThisContext, - isContext, - compileFunction, - measureMemory, - Script, - [Symbol.for("CommonJS")]: 0, -}; +class Module { + constructor() { + throwNotImplemented("node:vm Module"); + } +} + +class SourceTextModule { + constructor() { + throwNotImplemented("node:vm Module"); + } +} + +class SyntheticModule { + constructor() { + throwNotImplemented("node:vm Module"); + } +} -export { - defaultObject as default, +export default { createContext, runInContext, runInNewContext, @@ -38,4 +43,7 @@ export { compileFunction, measureMemory, Script, + Module, + SourceTextModule, + SyntheticModule, }; diff --git a/src/js/node/wasi.js b/src/js/node/wasi.js index ea693585a1b2e..f4dacb1c82698 100644 --- a/src/js/node/wasi.js +++ b/src/js/node/wasi.js @@ -769,9 +769,9 @@ var require_wasi = __commonJS({ process.kill(process.pid, signal); }, randomFillSync: array => crypto.getRandomValues(array), - isTTY: fd => import.meta.require("node:tty").isatty(fd), + isTTY: fd => require("node:tty").isatty(fd), fs: Bun.fs(), - path: import.meta.require("node:path"), + path: require("node:path"), }; return (defaultConfig = { @@ -1936,8 +1936,4 @@ var require_wasi = __commonJS({ exports.default = WASI; }, }); -const WASIExport = require_wasi(); -const WASI = WASIExport.default; -WASIExport[Symbol.for("CommonJS")] = 0; -export { WASIExport as WASI }; -export default WASIExport; +export default require_wasi(); diff --git a/src/js/node/zlib.js b/src/js/node/zlib.js index 77a9e80899356..eccd88cd064b5 100644 --- a/src/js/node/zlib.js +++ b/src/js/node/zlib.js @@ -3,76 +3,17 @@ // This is a very slow module! // It should really be fixed. It will show up in benchmarking. It also loads // slowly. We need to fix it! -import { default as assert } from "node:assert"; -import * as AssertModule from "node:assert"; -import * as BufferModule from "node:buffer"; -import * as StreamModule from "node:stream"; -import * as Util from "node:util"; +const assert = require("node:assert"); +const BufferModule = require("node:buffer"); +const StreamModule = require("node:stream"); +const Util = require("node:util"); -export var Deflate, - Inflate, - Gzip, - Gunzip, - DeflateRaw, - InflateRaw, - Unzip, - createDeflate, - createInflate, - createDeflateRaw, - createInflateRaw, - createGzip, - createGunzip, - createUnzip, - deflate, - deflateSync, - gzip, - gzipSync, - deflateRaw, - deflateRawSync, - unzip, - unzipSync, - inflate, - inflateSync, - gunzip, - gunzipSync, - inflateRaw, - inflateRawSync, - constants; - -var __create = Object.create; -var __defProp = Object.defineProperty; -var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; -var __getProtoOf = Object.getPrototypeOf; -var __hasOwnProp = Object.prototype.hasOwnProperty; var __commonJS = (cb, mod) => function __require() { return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; }; -var __copyProps = (to, from, except, desc) => { - if ((from && typeof from === "object") || typeof from === "function") { - for (let key of __getOwnPropNames(from)) - if (!__hasOwnProp.call(to, key) && key !== except) - __defProp(to, key, { - get: () => from[key], - enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable, - }); - } - return to; -}; -var __reExport = (target, mod, secondTarget) => ( - __copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default") -); -var __toESM = (mod, isNodeMode, target) => ( - (target = mod != null ? __create(__getProtoOf(mod)) : {}), - __copyProps( - isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, - mod, - ) -); -var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", { value: true }), mod); - // node_modules/pako/lib/zlib/zstream.js var require_zstream = __commonJS({ "node_modules/pako/lib/zlib/zstream.js"(exports, module2) { @@ -3974,7 +3915,6 @@ var require_lib = __commonJS({ var Transform = StreamModule.Transform; var binding = require_binding(); var util = Util; - var assert = AssertModule.ok; var kMaxLength = BufferModule.kMaxLength; var kRangeErrorMessage = "Cannot create final Buffer. It would be larger than 0x" + kMaxLength.toString(16) + " bytes"; @@ -4468,37 +4408,4 @@ var require_lib = __commonJS({ }); // zlib.js -var zlib_exports = require_lib(); -zlib_exports[Symbol.for("CommonJS")] = 0; - -export default zlib_exports; - -Deflate = zlib_exports.Deflate; -Inflate = zlib_exports.Inflate; -Gzip = zlib_exports.Gzip; -Gunzip = zlib_exports.Gunzip; -DeflateRaw = zlib_exports.DeflateRaw; -InflateRaw = zlib_exports.InflateRaw; -Unzip = zlib_exports.Unzip; -createDeflate = zlib_exports.createDeflate; -createInflate = zlib_exports.createInflate; -createDeflateRaw = zlib_exports.createDeflateRaw; -createInflateRaw = zlib_exports.createInflateRaw; -createGzip = zlib_exports.createGzip; -createGunzip = zlib_exports.createGunzip; -createUnzip = zlib_exports.createUnzip; -deflate = zlib_exports.deflate; -deflateSync = zlib_exports.deflateSync; -gzip = zlib_exports.gzip; -gzipSync = zlib_exports.gzipSync; -deflateRaw = zlib_exports.deflateRaw; -deflateRawSync = zlib_exports.deflateRawSync; -unzip = zlib_exports.unzip; -unzipSync = zlib_exports.unzipSync; -inflate = zlib_exports.inflate; -inflateSync = zlib_exports.inflateSync; -gunzip = zlib_exports.gunzip; -gunzipSync = zlib_exports.gunzipSync; -inflateRaw = zlib_exports.inflateRaw; -inflateRawSync = zlib_exports.inflateRawSync; -constants = zlib_exports.constants; +export default require_lib(); diff --git a/src/js/out/InternalModuleRegistry+create.h b/src/js/out/InternalModuleRegistry+create.h new file mode 100644 index 0000000000000..7804dd395144a --- /dev/null +++ b/src/js/out/InternalModuleRegistry+create.h @@ -0,0 +1,193 @@ +registry->m_internalModule[0].initLater([](const JSC::LazyProperty::Initializer& init) { + INTERNAL_MODULE_REGISTRY_GENERATE(init, "bun:ffi"_s, "/Users/dave/code/bun/src/js/out/modules/bun/ffi.js"_s, InternalModuleRegistryConstants::BunFFICode); +}); +registry->m_internalModule[1].initLater([](const JSC::LazyProperty::Initializer& init) { + INTERNAL_MODULE_REGISTRY_GENERATE(init, "bun:sqlite"_s, "/Users/dave/code/bun/src/js/out/modules/bun/sqlite.js"_s, InternalModuleRegistryConstants::BunSqliteCode); +}); +registry->m_internalModule[2].initLater([](const JSC::LazyProperty::Initializer& init) { + INTERNAL_MODULE_REGISTRY_GENERATE(init, "internal:shared"_s, "/Users/dave/code/bun/src/js/out/modules/internal/shared.js"_s, InternalModuleRegistryConstants::InternalSharedCode); +}); +registry->m_internalModule[3].initLater([](const JSC::LazyProperty::Initializer& init) { + INTERNAL_MODULE_REGISTRY_GENERATE(init, "node:assert"_s, "/Users/dave/code/bun/src/js/out/modules/node/assert.js"_s, InternalModuleRegistryConstants::NodeAssertCode); +}); +registry->m_internalModule[4].initLater([](const JSC::LazyProperty::Initializer& init) { + INTERNAL_MODULE_REGISTRY_GENERATE(init, "node:assert/strict"_s, "/Users/dave/code/bun/src/js/out/modules/node/assert.strict.js"_s, InternalModuleRegistryConstants::NodeAssertStrictCode); +}); +registry->m_internalModule[5].initLater([](const JSC::LazyProperty::Initializer& init) { + INTERNAL_MODULE_REGISTRY_GENERATE(init, "node:async_hooks"_s, "/Users/dave/code/bun/src/js/out/modules/node/async_hooks.js"_s, InternalModuleRegistryConstants::NodeAsyncHooksCode); +}); +registry->m_internalModule[6].initLater([](const JSC::LazyProperty::Initializer& init) { + INTERNAL_MODULE_REGISTRY_GENERATE(init, "node:child_process"_s, "/Users/dave/code/bun/src/js/out/modules/node/child_process.js"_s, InternalModuleRegistryConstants::NodeChildProcessCode); +}); +registry->m_internalModule[7].initLater([](const JSC::LazyProperty::Initializer& init) { + INTERNAL_MODULE_REGISTRY_GENERATE(init, "node:cluster"_s, "/Users/dave/code/bun/src/js/out/modules/node/cluster.js"_s, InternalModuleRegistryConstants::NodeClusterCode); +}); +registry->m_internalModule[8].initLater([](const JSC::LazyProperty::Initializer& init) { + INTERNAL_MODULE_REGISTRY_GENERATE(init, "node:crypto"_s, "/Users/dave/code/bun/src/js/out/modules/node/crypto.js"_s, InternalModuleRegistryConstants::NodeCryptoCode); +}); +registry->m_internalModule[9].initLater([](const JSC::LazyProperty::Initializer& init) { + INTERNAL_MODULE_REGISTRY_GENERATE(init, "node:dgram"_s, "/Users/dave/code/bun/src/js/out/modules/node/dgram.js"_s, InternalModuleRegistryConstants::NodeDgramCode); +}); +registry->m_internalModule[10].initLater([](const JSC::LazyProperty::Initializer& init) { + INTERNAL_MODULE_REGISTRY_GENERATE(init, "node:diagnostics_channel"_s, "/Users/dave/code/bun/src/js/out/modules/node/diagnostics_channel.js"_s, InternalModuleRegistryConstants::NodeDiagnosticsChannelCode); +}); +registry->m_internalModule[11].initLater([](const JSC::LazyProperty::Initializer& init) { + INTERNAL_MODULE_REGISTRY_GENERATE(init, "node:dns"_s, "/Users/dave/code/bun/src/js/out/modules/node/dns.js"_s, InternalModuleRegistryConstants::NodeDNSCode); +}); +registry->m_internalModule[12].initLater([](const JSC::LazyProperty::Initializer& init) { + INTERNAL_MODULE_REGISTRY_GENERATE(init, "node:dns/promises"_s, "/Users/dave/code/bun/src/js/out/modules/node/dns.promises.js"_s, InternalModuleRegistryConstants::NodeDNSPromisesCode); +}); +registry->m_internalModule[13].initLater([](const JSC::LazyProperty::Initializer& init) { + INTERNAL_MODULE_REGISTRY_GENERATE(init, "node:events"_s, "/Users/dave/code/bun/src/js/out/modules/node/events.js"_s, InternalModuleRegistryConstants::NodeEventsCode); +}); +registry->m_internalModule[14].initLater([](const JSC::LazyProperty::Initializer& init) { + INTERNAL_MODULE_REGISTRY_GENERATE(init, "node:fs"_s, "/Users/dave/code/bun/src/js/out/modules/node/fs.js"_s, InternalModuleRegistryConstants::NodeFSCode); +}); +registry->m_internalModule[15].initLater([](const JSC::LazyProperty::Initializer& init) { + INTERNAL_MODULE_REGISTRY_GENERATE(init, "node:fs/promises"_s, "/Users/dave/code/bun/src/js/out/modules/node/fs.promises.js"_s, InternalModuleRegistryConstants::NodeFSPromisesCode); +}); +registry->m_internalModule[16].initLater([](const JSC::LazyProperty::Initializer& init) { + INTERNAL_MODULE_REGISTRY_GENERATE(init, "node:http"_s, "/Users/dave/code/bun/src/js/out/modules/node/http.js"_s, InternalModuleRegistryConstants::NodeHttpCode); +}); +registry->m_internalModule[17].initLater([](const JSC::LazyProperty::Initializer& init) { + INTERNAL_MODULE_REGISTRY_GENERATE(init, "node:http2"_s, "/Users/dave/code/bun/src/js/out/modules/node/http2.js"_s, InternalModuleRegistryConstants::NodeHttp2Code); +}); +registry->m_internalModule[18].initLater([](const JSC::LazyProperty::Initializer& init) { + INTERNAL_MODULE_REGISTRY_GENERATE(init, "node:https"_s, "/Users/dave/code/bun/src/js/out/modules/node/https.js"_s, InternalModuleRegistryConstants::NodeHttpsCode); +}); +registry->m_internalModule[19].initLater([](const JSC::LazyProperty::Initializer& init) { + INTERNAL_MODULE_REGISTRY_GENERATE(init, "node:inspector"_s, "/Users/dave/code/bun/src/js/out/modules/node/inspector.js"_s, InternalModuleRegistryConstants::NodeInspectorCode); +}); +registry->m_internalModule[20].initLater([](const JSC::LazyProperty::Initializer& init) { + INTERNAL_MODULE_REGISTRY_GENERATE(init, "node:net"_s, "/Users/dave/code/bun/src/js/out/modules/node/net.js"_s, InternalModuleRegistryConstants::NodeNetCode); +}); +registry->m_internalModule[21].initLater([](const JSC::LazyProperty::Initializer& init) { + INTERNAL_MODULE_REGISTRY_GENERATE(init, "node:os"_s, "/Users/dave/code/bun/src/js/out/modules/node/os.js"_s, InternalModuleRegistryConstants::NodeOSCode); +}); +registry->m_internalModule[22].initLater([](const JSC::LazyProperty::Initializer& init) { + INTERNAL_MODULE_REGISTRY_GENERATE(init, "node:path/posix"_s, "/Users/dave/code/bun/src/js/out/modules/node/path.posix.js"_s, InternalModuleRegistryConstants::NodePathPosixCode); +}); +registry->m_internalModule[23].initLater([](const JSC::LazyProperty::Initializer& init) { + INTERNAL_MODULE_REGISTRY_GENERATE(init, "node:path"_s, "/Users/dave/code/bun/src/js/out/modules/node/path.js"_s, InternalModuleRegistryConstants::NodePathCode); +}); +registry->m_internalModule[24].initLater([](const JSC::LazyProperty::Initializer& init) { + INTERNAL_MODULE_REGISTRY_GENERATE(init, "node:path/win32"_s, "/Users/dave/code/bun/src/js/out/modules/node/path.win32.js"_s, InternalModuleRegistryConstants::NodePathWin32Code); +}); +registry->m_internalModule[25].initLater([](const JSC::LazyProperty::Initializer& init) { + INTERNAL_MODULE_REGISTRY_GENERATE(init, "node:perf_hooks"_s, "/Users/dave/code/bun/src/js/out/modules/node/perf_hooks.js"_s, InternalModuleRegistryConstants::NodePerfHooksCode); +}); +registry->m_internalModule[26].initLater([](const JSC::LazyProperty::Initializer& init) { + INTERNAL_MODULE_REGISTRY_GENERATE(init, "node:readline"_s, "/Users/dave/code/bun/src/js/out/modules/node/readline.js"_s, InternalModuleRegistryConstants::NodeReadlineCode); +}); +registry->m_internalModule[27].initLater([](const JSC::LazyProperty::Initializer& init) { + INTERNAL_MODULE_REGISTRY_GENERATE(init, "node:readline/promises"_s, "/Users/dave/code/bun/src/js/out/modules/node/readline.promises.js"_s, InternalModuleRegistryConstants::NodeReadlinePromisesCode); +}); +registry->m_internalModule[28].initLater([](const JSC::LazyProperty::Initializer& init) { + INTERNAL_MODULE_REGISTRY_GENERATE(init, "node:repl"_s, "/Users/dave/code/bun/src/js/out/modules/node/repl.js"_s, InternalModuleRegistryConstants::NodeReplCode); +}); +registry->m_internalModule[29].initLater([](const JSC::LazyProperty::Initializer& init) { + INTERNAL_MODULE_REGISTRY_GENERATE(init, "node:stream/consumers"_s, "/Users/dave/code/bun/src/js/out/modules/node/stream.consumers.js"_s, InternalModuleRegistryConstants::NodeStreamConsumersCode); +}); +registry->m_internalModule[30].initLater([](const JSC::LazyProperty::Initializer& init) { + INTERNAL_MODULE_REGISTRY_GENERATE(init, "node:stream"_s, "/Users/dave/code/bun/src/js/out/modules/node/stream.js"_s, InternalModuleRegistryConstants::NodeStreamCode); +}); +registry->m_internalModule[31].initLater([](const JSC::LazyProperty::Initializer& init) { + INTERNAL_MODULE_REGISTRY_GENERATE(init, "node:stream/promises"_s, "/Users/dave/code/bun/src/js/out/modules/node/stream.promises.js"_s, InternalModuleRegistryConstants::NodeStreamPromisesCode); +}); +registry->m_internalModule[32].initLater([](const JSC::LazyProperty::Initializer& init) { + INTERNAL_MODULE_REGISTRY_GENERATE(init, "node:stream/web"_s, "/Users/dave/code/bun/src/js/out/modules/node/stream.web.js"_s, InternalModuleRegistryConstants::NodeStreamWebCode); +}); +registry->m_internalModule[33].initLater([](const JSC::LazyProperty::Initializer& init) { + INTERNAL_MODULE_REGISTRY_GENERATE(init, "node:timers"_s, "/Users/dave/code/bun/src/js/out/modules/node/timers.js"_s, InternalModuleRegistryConstants::NodeTimersCode); +}); +registry->m_internalModule[34].initLater([](const JSC::LazyProperty::Initializer& init) { + INTERNAL_MODULE_REGISTRY_GENERATE(init, "node:timers/promises"_s, "/Users/dave/code/bun/src/js/out/modules/node/timers.promises.js"_s, InternalModuleRegistryConstants::NodeTimersPromisesCode); +}); +registry->m_internalModule[35].initLater([](const JSC::LazyProperty::Initializer& init) { + INTERNAL_MODULE_REGISTRY_GENERATE(init, "node:tls"_s, "/Users/dave/code/bun/src/js/out/modules/node/tls.js"_s, InternalModuleRegistryConstants::NodeTLSCode); +}); +registry->m_internalModule[36].initLater([](const JSC::LazyProperty::Initializer& init) { + INTERNAL_MODULE_REGISTRY_GENERATE(init, "node:trace_events"_s, "/Users/dave/code/bun/src/js/out/modules/node/trace_events.js"_s, InternalModuleRegistryConstants::NodeTraceEventsCode); +}); +registry->m_internalModule[37].initLater([](const JSC::LazyProperty::Initializer& init) { + INTERNAL_MODULE_REGISTRY_GENERATE(init, "node:url"_s, "/Users/dave/code/bun/src/js/out/modules/node/url.js"_s, InternalModuleRegistryConstants::NodeUrlCode); +}); +registry->m_internalModule[38].initLater([](const JSC::LazyProperty::Initializer& init) { + INTERNAL_MODULE_REGISTRY_GENERATE(init, "node:util"_s, "/Users/dave/code/bun/src/js/out/modules/node/util.js"_s, InternalModuleRegistryConstants::NodeUtilCode); +}); +registry->m_internalModule[39].initLater([](const JSC::LazyProperty::Initializer& init) { + INTERNAL_MODULE_REGISTRY_GENERATE(init, "node:v8"_s, "/Users/dave/code/bun/src/js/out/modules/node/v8.js"_s, InternalModuleRegistryConstants::NodeV8Code); +}); +registry->m_internalModule[40].initLater([](const JSC::LazyProperty::Initializer& init) { + INTERNAL_MODULE_REGISTRY_GENERATE(init, "node:vm"_s, "/Users/dave/code/bun/src/js/out/modules/node/vm.js"_s, InternalModuleRegistryConstants::NodeVMCode); +}); +registry->m_internalModule[41].initLater([](const JSC::LazyProperty::Initializer& init) { + INTERNAL_MODULE_REGISTRY_GENERATE(init, "node:wasi"_s, "/Users/dave/code/bun/src/js/out/modules/node/wasi.js"_s, InternalModuleRegistryConstants::NodeWasiCode); +}); +registry->m_internalModule[42].initLater([](const JSC::LazyProperty::Initializer& init) { + INTERNAL_MODULE_REGISTRY_GENERATE(init, "node:zlib"_s, "/Users/dave/code/bun/src/js/out/modules/node/zlib.js"_s, InternalModuleRegistryConstants::NodeZlibCode); +}); +registry->m_internalModule[43].initLater([](const JSC::LazyProperty::Initializer& init) { + INTERNAL_MODULE_REGISTRY_GENERATE(init, "depd"_s, "/Users/dave/code/bun/src/js/out/modules/thirdparty/depd.js"_s, InternalModuleRegistryConstants::ThirdpartyDepdCode); +}); +registry->m_internalModule[44].initLater([](const JSC::LazyProperty::Initializer& init) { + INTERNAL_MODULE_REGISTRY_GENERATE(init, "detect-libc"_s, "/Users/dave/code/bun/src/js/out/modules/thirdparty/detect-libc.js"_s, InternalModuleRegistryConstants::ThirdpartyDetectLibcCode); +}); +registry->m_internalModule[45].initLater([](const JSC::LazyProperty::Initializer& init) { + INTERNAL_MODULE_REGISTRY_GENERATE(init, "detect-libc/linux"_s, "/Users/dave/code/bun/src/js/out/modules/thirdparty/detect-libc.linux.js"_s, InternalModuleRegistryConstants::ThirdpartyDetectLibcLinuxCode); +}); +registry->m_internalModule[46].initLater([](const JSC::LazyProperty::Initializer& init) { + INTERNAL_MODULE_REGISTRY_GENERATE(init, "undici"_s, "/Users/dave/code/bun/src/js/out/modules/thirdparty/undici.js"_s, InternalModuleRegistryConstants::ThirdpartyUndiciCode); +}); +registry->m_internalModule[47].initLater([](const JSC::LazyProperty::Initializer& init) { + INTERNAL_MODULE_REGISTRY_GENERATE(init, "ws"_s, "/Users/dave/code/bun/src/js/out/modules/thirdparty/ws.js"_s, InternalModuleRegistryConstants::ThirdpartyWSCode); +}); + +registry->m_internalFields[0].set(vm, this, jsUndefined()) +registry->m_internalFields[1].set(vm, this, jsUndefined()) +registry->m_internalFields[2].set(vm, this, jsUndefined()) +registry->m_internalFields[3].set(vm, this, jsUndefined()) +registry->m_internalFields[4].set(vm, this, jsUndefined()) +registry->m_internalFields[5].set(vm, this, jsUndefined()) +registry->m_internalFields[6].set(vm, this, jsUndefined()) +registry->m_internalFields[7].set(vm, this, jsUndefined()) +registry->m_internalFields[8].set(vm, this, jsUndefined()) +registry->m_internalFields[9].set(vm, this, jsUndefined()) +registry->m_internalFields[10].set(vm, this, jsUndefined()) +registry->m_internalFields[11].set(vm, this, jsUndefined()) +registry->m_internalFields[12].set(vm, this, jsUndefined()) +registry->m_internalFields[13].set(vm, this, jsUndefined()) +registry->m_internalFields[14].set(vm, this, jsUndefined()) +registry->m_internalFields[15].set(vm, this, jsUndefined()) +registry->m_internalFields[16].set(vm, this, jsUndefined()) +registry->m_internalFields[17].set(vm, this, jsUndefined()) +registry->m_internalFields[18].set(vm, this, jsUndefined()) +registry->m_internalFields[19].set(vm, this, jsUndefined()) +registry->m_internalFields[20].set(vm, this, jsUndefined()) +registry->m_internalFields[21].set(vm, this, jsUndefined()) +registry->m_internalFields[22].set(vm, this, jsUndefined()) +registry->m_internalFields[23].set(vm, this, jsUndefined()) +registry->m_internalFields[24].set(vm, this, jsUndefined()) +registry->m_internalFields[25].set(vm, this, jsUndefined()) +registry->m_internalFields[26].set(vm, this, jsUndefined()) +registry->m_internalFields[27].set(vm, this, jsUndefined()) +registry->m_internalFields[28].set(vm, this, jsUndefined()) +registry->m_internalFields[29].set(vm, this, jsUndefined()) +registry->m_internalFields[30].set(vm, this, jsUndefined()) +registry->m_internalFields[31].set(vm, this, jsUndefined()) +registry->m_internalFields[32].set(vm, this, jsUndefined()) +registry->m_internalFields[33].set(vm, this, jsUndefined()) +registry->m_internalFields[34].set(vm, this, jsUndefined()) +registry->m_internalFields[35].set(vm, this, jsUndefined()) +registry->m_internalFields[36].set(vm, this, jsUndefined()) +registry->m_internalFields[37].set(vm, this, jsUndefined()) +registry->m_internalFields[38].set(vm, this, jsUndefined()) +registry->m_internalFields[39].set(vm, this, jsUndefined()) +registry->m_internalFields[40].set(vm, this, jsUndefined()) +registry->m_internalFields[41].set(vm, this, jsUndefined()) +registry->m_internalFields[42].set(vm, this, jsUndefined()) +registry->m_internalFields[43].set(vm, this, jsUndefined()) +registry->m_internalFields[44].set(vm, this, jsUndefined()) +registry->m_internalFields[45].set(vm, this, jsUndefined()) +registry->m_internalFields[46].set(vm, this, jsUndefined()) +registry->m_internalFields[47].set(vm, this, jsUndefined()) diff --git a/src/js/out/InternalModuleRegistry+enum.h b/src/js/out/InternalModuleRegistry+enum.h new file mode 100644 index 0000000000000..a4f003758013e --- /dev/null +++ b/src/js/out/InternalModuleRegistry+enum.h @@ -0,0 +1,48 @@ +BunFFI = 0, +BunSqlite = 1, +InternalShared = 2, +NodeAssert = 3, +NodeAssertStrict = 4, +NodeAsyncHooks = 5, +NodeChildProcess = 6, +NodeCluster = 7, +NodeCrypto = 8, +NodeDgram = 9, +NodeDiagnosticsChannel = 10, +NodeDNS = 11, +NodeDNSPromises = 12, +NodeEvents = 13, +NodeFS = 14, +NodeFSPromises = 15, +NodeHttp = 16, +NodeHttp2 = 17, +NodeHttps = 18, +NodeInspector = 19, +NodeNet = 20, +NodeOS = 21, +NodePathPosix = 22, +NodePath = 23, +NodePathWin32 = 24, +NodePerfHooks = 25, +NodeReadline = 26, +NodeReadlinePromises = 27, +NodeRepl = 28, +NodeStreamConsumers = 29, +NodeStream = 30, +NodeStreamPromises = 31, +NodeStreamWeb = 32, +NodeTimers = 33, +NodeTimersPromises = 34, +NodeTLS = 35, +NodeTraceEvents = 36, +NodeUrl = 37, +NodeUtil = 38, +NodeV8 = 39, +NodeVM = 40, +NodeWasi = 41, +NodeZlib = 42, +ThirdpartyDepd = 43, +ThirdpartyDetectLibc = 44, +ThirdpartyDetectLibcLinux = 45, +ThirdpartyUndici = 46, +ThirdpartyWS = 47, diff --git a/src/js/out/InternalModuleRegistry+numberOfModules.h b/src/js/out/InternalModuleRegistry+numberOfModules.h new file mode 100644 index 0000000000000..c1eeb2bf80291 --- /dev/null +++ b/src/js/out/InternalModuleRegistry+numberOfModules.h @@ -0,0 +1 @@ +#define BUN_INTERNAL_MODULE_COUNT 48 diff --git a/src/js/out/InternalModuleRegistry+visitImpl.h b/src/js/out/InternalModuleRegistry+visitImpl.h new file mode 100644 index 0000000000000..0c4a8f7659246 --- /dev/null +++ b/src/js/out/InternalModuleRegistry+visitImpl.h @@ -0,0 +1,48 @@ +m_internalModule[0].visit(visitor); +m_internalModule[1].visit(visitor); +m_internalModule[2].visit(visitor); +m_internalModule[3].visit(visitor); +m_internalModule[4].visit(visitor); +m_internalModule[5].visit(visitor); +m_internalModule[6].visit(visitor); +m_internalModule[7].visit(visitor); +m_internalModule[8].visit(visitor); +m_internalModule[9].visit(visitor); +m_internalModule[10].visit(visitor); +m_internalModule[11].visit(visitor); +m_internalModule[12].visit(visitor); +m_internalModule[13].visit(visitor); +m_internalModule[14].visit(visitor); +m_internalModule[15].visit(visitor); +m_internalModule[16].visit(visitor); +m_internalModule[17].visit(visitor); +m_internalModule[18].visit(visitor); +m_internalModule[19].visit(visitor); +m_internalModule[20].visit(visitor); +m_internalModule[21].visit(visitor); +m_internalModule[22].visit(visitor); +m_internalModule[23].visit(visitor); +m_internalModule[24].visit(visitor); +m_internalModule[25].visit(visitor); +m_internalModule[26].visit(visitor); +m_internalModule[27].visit(visitor); +m_internalModule[28].visit(visitor); +m_internalModule[29].visit(visitor); +m_internalModule[30].visit(visitor); +m_internalModule[31].visit(visitor); +m_internalModule[32].visit(visitor); +m_internalModule[33].visit(visitor); +m_internalModule[34].visit(visitor); +m_internalModule[35].visit(visitor); +m_internalModule[36].visit(visitor); +m_internalModule[37].visit(visitor); +m_internalModule[38].visit(visitor); +m_internalModule[39].visit(visitor); +m_internalModule[40].visit(visitor); +m_internalModule[41].visit(visitor); +m_internalModule[42].visit(visitor); +m_internalModule[43].visit(visitor); +m_internalModule[44].visit(visitor); +m_internalModule[45].visit(visitor); +m_internalModule[46].visit(visitor); +m_internalModule[47].visit(visitor); diff --git a/src/js/out/InternalModuleRegistryConstants.h b/src/js/out/InternalModuleRegistryConstants.h new file mode 100644 index 0000000000000..d29c74a32197b --- /dev/null +++ b/src/js/out/InternalModuleRegistryConstants.h @@ -0,0 +1,157 @@ +#pragma once + +namespace Bun { +namespace InternalModuleRegistryConstants { + +#if __APPLE__ +static constexpr ASCIILiteral BunFFICode = "(function (){\"use strict\";var ffi=globalThis.Bun.FFI;const ptr=(arg1,arg2)=>typeof arg2===\"undefined\"\?ffi.ptr(arg1):ffi.ptr(arg1,arg2),toBuffer=ffi.toBuffer,toArrayBuffer=ffi.toArrayBuffer,viewSource=ffi.viewSource,BunCString=ffi.CString,nativeLinkSymbols=ffi.linkSymbols,nativeDLOpen=ffi.dlopen,nativeCallback=ffi.callback,closeCallback=ffi.closeCallback;delete ffi.callback,delete ffi.closeCallback;class JSCallback{constructor(cb,options){const{ctx,ptr:ptr2}=nativeCallback(options,cb);this.#ctx=ctx,this.ptr=ptr2,this.#threadsafe=!!options\?.threadsafe}ptr;#ctx;#threadsafe;get threadsafe(){return this.#threadsafe}[Symbol.toPrimitive](){const{ptr:ptr2}=this;return typeof ptr2===\"number\"\?ptr2:0}close(){const ctx=this.#ctx;if(this.ptr=null,this.#ctx=null,ctx)closeCallback(ctx)}}class CString extends String{constructor(ptr2,byteOffset,byteLength){super(ptr2\?typeof byteLength===\"number\"&&Number.isSafeInteger(byteLength)\?new BunCString(ptr2,byteOffset||0,byteLength):new BunCString(ptr2):\"\");if(this.ptr=typeof ptr2===\"number\"\?ptr2:0,typeof byteOffset!==\"undefined\")this.byteOffset=byteOffset;if(typeof byteLength!==\"undefined\")this.byteLength=byteLength}ptr;byteOffset;byteLength;#cachedArrayBuffer;get arrayBuffer(){if(this.#cachedArrayBuffer)return this.#cachedArrayBuffer;if(!this.ptr)return this.#cachedArrayBuffer=new ArrayBuffer(0);return this.#cachedArrayBuffer=toArrayBuffer(this.ptr,this.byteOffset,this.byteLength)}}Object.defineProperty(globalThis,\"__GlobalBunCString\",{value:CString,enumerable:!1,configurable:!1});const ffiWrappers=new Array(18);var char=(val)=>val|0;ffiWrappers.fill(char),ffiWrappers[FFIType.uint8_t]=function uint8(val){return val<0\?0:val>=255\?255:val|0},ffiWrappers[FFIType.int16_t]=function int16(val){return val<=-32768\?-32768:val>=32768\?32768:val|0},ffiWrappers[FFIType.uint16_t]=function uint16(val){return val<=0\?0:val>=65536\?65536:val|0},ffiWrappers[FFIType.int32_t]=function int32(val){return val|0},ffiWrappers[FFIType.uint32_t]=function uint32(val){return val<=0\?0:val>=4294967295\?4294967295:+val||0},ffiWrappers[FFIType.i64_fast]=function int64(val){if(typeof val===\"bigint\"){if(val<=BigInt(Number.MAX_SAFE_INTEGER)&&val>=BigInt(-Number.MAX_SAFE_INTEGER))return Number(val).valueOf()||0;return val}return!val\?0:+val||0},ffiWrappers[FFIType.u64_fast]=function u64_fast(val){if(typeof val===\"bigint\"){if(val<=BigInt(Number.MAX_SAFE_INTEGER)&&val>=0)return Number(val).valueOf()||0;return val}return!val\?0:+val||0},ffiWrappers[FFIType.int64_t]=function int64(val){if(typeof val===\"bigint\")return val;if(typeof val===\"number\")return BigInt(val||0);return BigInt(+val||0)},ffiWrappers[FFIType.uint64_t]=function uint64(val){if(typeof val===\"bigint\")return val;if(typeof val===\"number\")return val<=0\?BigInt(0):BigInt(val||0);return BigInt(+val||0)},ffiWrappers[FFIType.u64_fast]=function u64_fast(val){if(typeof val===\"bigint\"){if(val<=BigInt(Number.MAX_SAFE_INTEGER)&&val>=BigInt(0))return Number(val);return val}return typeof val===\"number\"\?val<=0\?0:+val||0:+val||0},ffiWrappers[FFIType.uint16_t]=function uint16(val){const ret=(typeof val===\"bigint\"\?Number(val):val)|0;return ret<=0\?0:ret>65535\?65535:ret},ffiWrappers[FFIType.double]=function double(val){if(typeof val===\"bigint\"){if(val.valueOf()func(functionToCall);break;case 1:wrap=(arg1)=>func(functionToCall,arg1);break;case 2:wrap=(arg1,arg2)=>func(functionToCall,arg1,arg2);break;case 3:wrap=(arg1,arg2,arg3)=>func(functionToCall,arg1,arg2,arg3);break;case 4:wrap=(arg1,arg2,arg3,arg4)=>func(functionToCall,arg1,arg2,arg3,arg4);break;case 5:wrap=(arg1,arg2,arg3,arg4,arg5)=>func(functionToCall,arg1,arg2,arg3,arg4,arg5);break;case 6:wrap=(arg1,arg2,arg3,arg4,arg5,arg6)=>func(functionToCall,arg1,arg2,arg3,arg4,arg5,arg6);break;case 7:wrap=(arg1,arg2,arg3,arg4,arg5,arg6,arg7)=>func(functionToCall,arg1,arg2,arg3,arg4,arg5,arg6,arg7);break;case 8:wrap=(arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8)=>func(functionToCall,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8);break;case 9:wrap=(arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9)=>func(functionToCall,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9);break;default:{wrap=(...args2)=>func(functionToCall,...args2);break}}return wrap.native=functionToCall,wrap.ptr=functionToCall.ptr,wrap}const native={dlopen:nativeDLOpen,callback:()=>{throw new Error(\"Deprecated. Use new JSCallback(options, fn) instead\")}};function dlopen(path,options){const result=nativeDLOpen(path,options);for(let key in result.symbols){var symbol=result.symbols[key];if(options[key]\?.args\?.length||FFIType[options[key]\?.returns]===FFIType.cstring)result.symbols[key]=FFIBuilder(options[key].args\?\?[],options[key].returns\?\?FFIType.void,symbol,path.includes(\"/\")\?`${key} (${path.split(\"/\").pop()})`:`${key} (${path})`);else result.symbols[key].native=result.symbols[key]}return result}function linkSymbols(options){const result=nativeLinkSymbols(options);for(let key in result.symbols){var symbol=result.symbols[key];if(options[key]\?.args\?.length||FFIType[options[key]\?.returns]===FFIType.cstring)result.symbols[key]=FFIBuilder(options[key].args\?\?[],options[key].returns\?\?FFIType.void,symbol,key);else result.symbols[key].native=result.symbols[key]}return result}var cFunctionI=0,cFunctionRegistry;function onCloseCFunction(close){close()}function CFunction(options){const identifier=`CFunction${cFunctionI++}`;var result=linkSymbols({[identifier]:options}),hasClosed=!1,close=result.close;return result.symbols[identifier].close=()=>{if(hasClosed||!close)return;hasClosed=!0,close(),close=void 0},cFunctionRegistry||=new FinalizationRegistry(onCloseCFunction),cFunctionRegistry.register(result.symbols[identifier],result.symbols[identifier].close),result.symbols[identifier]}const read=ffi.read;return{CFunction,CString,FFIType,JSCallback,dlopen,linkSymbols,native,ptr,read,suffix,toArrayBuffer,toBuffer,viewSource}})\n"_s; +static constexpr ASCIILiteral BunSqliteCode = "(function (){\"use strict\";const lazy=@lazy;var defineProperties=Object.defineProperties,toStringTag=Symbol.toStringTag,isArray=Array.isArray,isTypedArray=ArrayBuffer.isView;const constants={SQLITE_OPEN_READONLY:1,SQLITE_OPEN_READWRITE:2,SQLITE_OPEN_CREATE:4,SQLITE_OPEN_DELETEONCLOSE:8,SQLITE_OPEN_EXCLUSIVE:16,SQLITE_OPEN_AUTOPROXY:32,SQLITE_OPEN_URI:64,SQLITE_OPEN_MEMORY:128,SQLITE_OPEN_MAIN_DB:256,SQLITE_OPEN_TEMP_DB:512,SQLITE_OPEN_TRANSIENT_DB:1024,SQLITE_OPEN_MAIN_JOURNAL:2048,SQLITE_OPEN_TEMP_JOURNAL:4096,SQLITE_OPEN_SUBJOURNAL:8192,SQLITE_OPEN_SUPER_JOURNAL:16384,SQLITE_OPEN_NOMUTEX:32768,SQLITE_OPEN_FULLMUTEX:65536,SQLITE_OPEN_SHAREDCACHE:131072,SQLITE_OPEN_PRIVATECACHE:262144,SQLITE_OPEN_WAL:524288,SQLITE_OPEN_NOFOLLOW:16777216,SQLITE_OPEN_EXRESCODE:33554432,SQLITE_PREPARE_PERSISTENT:1,SQLITE_PREPARE_NORMALIZE:2,SQLITE_PREPARE_NO_VTAB:4};var SQL,controllers;class Statement{constructor(raw){switch(this.#raw=raw,raw.paramsCount){case 0:{this.get=this.#getNoArgs,this.all=this.#allNoArgs,this.values=this.#valuesNoArgs,this.run=this.#runNoArgs;break}default:{this.get=this.#get,this.all=this.#all,this.values=this.#values,this.run=this.#run;break}}}#raw;get;all;values;run;isFinalized=!1;toJSON(){return{sql:this.native.toString(),isFinalized:this.isFinalized,paramsCount:this.paramsCount,columnNames:this.columnNames}}get[toStringTag](){return`\"${this.native.toString()}\"`}toString(){return this.native.toString()}get native(){return this.#raw}#getNoArgs(){return this.#raw.get()}#allNoArgs(){return this.#raw.all()}#valuesNoArgs(){return this.#raw.values()}#runNoArgs(){this.#raw.run()}#get(...args){if(args.length===0)return this.#getNoArgs();var arg0=args[0];return!isArray(arg0)&&(!arg0||typeof arg0!==\"object\"||isTypedArray(arg0))\?this.#raw.get(args):this.#raw.get(...args)}#all(...args){if(args.length===0)return this.#allNoArgs();var arg0=args[0];return!isArray(arg0)&&(!arg0||typeof arg0!==\"object\"||isTypedArray(arg0))\?this.#raw.all(args):this.#raw.all(...args)}#values(...args){if(args.length===0)return this.#valuesNoArgs();var arg0=args[0];return!isArray(arg0)&&(!arg0||typeof arg0!==\"object\"||isTypedArray(arg0))\?this.#raw.values(args):this.#raw.values(...args)}#run(...args){if(args.length===0)return this.#runNoArgs();var arg0=args[0];!isArray(arg0)&&(!arg0||typeof arg0!==\"object\"||isTypedArray(arg0))\?this.#raw.run(args):this.#raw.run(...args)}get columnNames(){return this.#raw.columns}get paramsCount(){return this.#raw.paramsCount}finalize(...args){return this.isFinalized=!0,this.#raw.finalize(...args)}}var cachedCount=Symbol.for(\"Bun.Database.cache.count\");class Database{constructor(filenameGiven,options){if(typeof filenameGiven===\"undefined\");else if(typeof filenameGiven!==\"string\"){if(isTypedArray(filenameGiven)){this.#handle=Database.deserialize(filenameGiven,typeof options===\"object\"&&options\?!!options.readonly:((options|0)&constants.SQLITE_OPEN_READONLY)!=0),this.filename=\":memory:\";return}@throwTypeError(`Expected 'filename' to be a string, got '${typeof filenameGiven}'`)}var filename=typeof filenameGiven===\"string\"\?filenameGiven.trim():\":memory:\",flags=constants.SQLITE_OPEN_READWRITE|constants.SQLITE_OPEN_CREATE;if(typeof options===\"object\"&&options){if(flags=0,options.readonly)flags=constants.SQLITE_OPEN_READONLY;if(\"readOnly\"in options)@throwTypeError('Misspelled option \"readOnly\" should be \"readonly\"');if(options.create)flags=constants.SQLITE_OPEN_READWRITE|constants.SQLITE_OPEN_CREATE;if(options.readwrite)flags|=constants.SQLITE_OPEN_READWRITE}else if(typeof options===\"number\")flags=options;const anonymous=filename===\"\"||filename===\":memory:\";if(anonymous&&(flags&constants.SQLITE_OPEN_READONLY)!==0)throw new Error(\"Cannot open an anonymous database in read-only mode.\");if(!SQL)SQL=lazy(\"sqlite\");this.#handle=SQL.open(anonymous\?\":memory:\":filename,flags),this.filename=filename}#handle;#cachedQueriesKeys=[];#cachedQueriesLengths=[];#cachedQueriesValues=[];filename;get handle(){return this.#handle}get inTransaction(){return SQL.isInTransaction(this.#handle)}static open(filename,options){return new Database(filename,options)}loadExtension(name,entryPoint){return SQL.loadExtension(this.#handle,name,entryPoint)}serialize(optionalName){return SQL.serialize(this.#handle,optionalName||\"main\")}static deserialize(serialized,isReadOnly=!1){if(!SQL)SQL=lazy(\"sqlite\");return SQL.deserialize(serialized,isReadOnly)}static setCustomSQLite(path){if(!SQL)SQL=lazy(\"sqlite\");return SQL.setCustomSQLite(path)}close(){return this.clearQueryCache(),SQL.close(this.#handle)}clearQueryCache(){for(let item of this.#cachedQueriesValues)item.finalize();this.#cachedQueriesKeys.length=0,this.#cachedQueriesValues.length=0,this.#cachedQueriesLengths.length=0}run(query,...params){if(params.length===0){SQL.run(this.#handle,query);return}var arg0=params[0];return!isArray(arg0)&&(!arg0||typeof arg0!==\"object\"||isTypedArray(arg0))\?SQL.run(this.#handle,query,params):SQL.run(this.#handle,query,...params)}prepare(query,params,flags){return new Statement(SQL.prepare(this.#handle,query,params,flags||0))}static MAX_QUERY_CACHE_SIZE=20;get[cachedCount](){return this.#cachedQueriesKeys.length}query(query){if(typeof query!==\"string\")@throwTypeError(`Expected 'query' to be a string, got '${typeof query}'`);if(query.length===0)throw new Error(\"SQL query cannot be empty.\");var index=this.#cachedQueriesLengths.indexOf(query.length);while(index!==-1){if(this.#cachedQueriesKeys[index]!==query){index=this.#cachedQueriesLengths.indexOf(query.length,index+1);continue}var stmt=this.#cachedQueriesValues[index];if(stmt.isFinalized)return this.#cachedQueriesValues[index]=this.prepare(query,void 0,willCache\?constants.SQLITE_PREPARE_PERSISTENT:0);return stmt}const willCache=this.#cachedQueriesKeys.length{let controller=(controllers||=new WeakMap).get(db);if(!controller){const shared={commit:db.prepare(\"COMMIT\",void 0,0),rollback:db.prepare(\"ROLLBACK\",void 0,0),savepoint:db.prepare(\"SAVEPOINT `\\t_bs3.\\t`\",void 0,0),release:db.prepare(\"RELEASE `\\t_bs3.\\t`\",void 0,0),rollbackTo:db.prepare(\"ROLLBACK TO `\\t_bs3.\\t`\",void 0,0)};controllers.set(db,controller={default:Object.assign({begin:db.prepare(\"BEGIN\",void 0,0)},shared),deferred:Object.assign({begin:db.prepare(\"BEGIN DEFERRED\",void 0,0)},shared),immediate:Object.assign({begin:db.prepare(\"BEGIN IMMEDIATE\",void 0,0)},shared),exclusive:Object.assign({begin:db.prepare(\"BEGIN EXCLUSIVE\",void 0,0)},shared)})}return controller},wrapTransaction=(fn,db,{begin,commit,rollback,savepoint,release,rollbackTo})=>function transaction(...args){let before,after,undo;if(db.inTransaction)before=savepoint,after=release,undo=rollbackTo;else before=begin,after=commit,undo=rollback;try{before.run();const result=fn.apply(this,args);return after.run(),result}catch(ex){if(db.inTransaction){if(undo.run(),undo!==rollback)after.run()}throw ex}};return{__esModule:!0,Database,Statement,constants,default:Database}})\n"_s; +static constexpr ASCIILiteral InternalSharedCode = "(function (){\"use strict\";class NotImplementedError extends Error{code;constructor(feature,issue){super(feature+\" is not yet implemented in Bun.\"+(issue\?\" Track the status & thumbs up the issue: https://github.com/oven-sh/bun/issues/\"+issue:\"\"));this.name=\"NotImplementedError\",this.code=\"ERR_NOT_IMPLEMENTED\",hideFromStack(NotImplementedError)}}function throwNotImplemented(feature,issue){throw hideFromStack(throwNotImplemented),new NotImplementedError(feature,issue)}function hideFromStack(...fns){for(let fn of fns)Object.defineProperty(fn,\"name\",{value:\"::bunternal::\"})}return{NotImplementedError,throwNotImplemented,hideFromStack}})\n"_s; +static constexpr ASCIILiteral NodeAssertCode = "(function (){\"use strict\";const util=@requireId(38);var isDeepEqual=Bun.deepEquals,__commonJS=(cb,mod)=>function(){return mod||(0,cb[Object.keys(cb)[0]])((mod={exports:{}}).exports,mod),mod.exports},require_errors=__commonJS({\"assert/build/internal/errors.js\"(exports,module2){function _typeof(obj){return typeof Symbol==\"function\"&&typeof Symbol.iterator==\"symbol\"\?_typeof=function(obj2){return typeof obj2}:_typeof=function(obj2){return obj2&&typeof Symbol==\"function\"&&obj2.constructor===Symbol&&obj2!==Symbol.prototype\?\"symbol\":typeof obj2},_typeof(obj)}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))@throwTypeError(\"Cannot call a class as a function\")}function _possibleConstructorReturn(self,call){return call&&(_typeof(call)===\"object\"||typeof call==\"function\")\?call:_assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return self}function _getPrototypeOf(o){return _getPrototypeOf=Object.setPrototypeOf\?Object.getPrototypeOf:function(o2){return o2.__proto__||Object.getPrototypeOf(o2)},_getPrototypeOf(o)}function _inherits(subClass,superClass){if(typeof superClass!=\"function\"&&superClass!==null)@throwTypeError(\"Super expression must either be null or a function\");subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:!0,configurable:!0}}),superClass&&_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){return _setPrototypeOf=Object.setPrototypeOf||function(o2,p2){return o2.__proto__=p2,o2},_setPrototypeOf(o,p)}var codes={},assert,util2;function createErrorType(code,message,Base){Base||(Base=Error);function getMessage(arg1,arg2,arg3){return typeof message==\"string\"\?message:message(arg1,arg2,arg3)}var NodeError=function(_Base){_inherits(NodeError2,_Base);function NodeError2(arg1,arg2,arg3){var _this;return _classCallCheck(this,NodeError2),_this=_possibleConstructorReturn(this,_getPrototypeOf(NodeError2).call(this,getMessage(arg1,arg2,arg3))),_this.code=code,_this}return NodeError2}(Base);codes[code]=NodeError}function oneOf(expected,thing){if(Array.isArray(expected)){var len=expected.length;return expected=expected.map(function(i){return String(i)}),len>2\?\"one of \".concat(thing,\" \").concat(expected.slice(0,len-1).join(\", \"),\", or \")+expected[len-1]:len===2\?\"one of \".concat(thing,\" \").concat(expected[0],\" or \").concat(expected[1]):\"of \".concat(thing,\" \").concat(expected[0])}else return\"of \".concat(thing,\" \").concat(String(expected))}function startsWith(str,search,pos){return str.substr(!pos||pos<0\?0:+pos,search.length)===search}function endsWith(str,search,this_len){return(this_len===void 0||this_len>str.length)&&(this_len=str.length),str.substring(this_len-search.length,this_len)===search}function includes(str,search,start){return typeof start!=\"number\"&&(start=0),start+search.length>str.length\?!1:str.indexOf(search,start)!==-1}createErrorType(\"ERR_AMBIGUOUS_ARGUMENT\",'The \"%s\" argument is ambiguous. %s',TypeError),createErrorType(\"ERR_INVALID_ARG_TYPE\",function(name,expected,actual){assert===void 0&&(assert=require_assert()),assert(typeof name==\"string\",\"'name' must be a string\");var determiner;typeof expected==\"string\"&&startsWith(expected,\"not \")\?(determiner=\"must not be\",expected=expected.replace(/^not /,\"\")):determiner=\"must be\";var msg;if(endsWith(name,\" argument\"))msg=\"The \".concat(name,\" \").concat(determiner,\" \").concat(oneOf(expected,\"type\"));else{var type=includes(name,\".\")\?\"property\":\"argument\";msg='The \"'.concat(name,'\" ').concat(type,\" \").concat(determiner,\" \").concat(oneOf(expected,\"type\"))}return msg+=\". Received type \".concat(_typeof(actual)),msg},TypeError),createErrorType(\"ERR_INVALID_ARG_VALUE\",function(name,value){var reason=arguments.length>2&&arguments[2]!==void 0\?arguments[2]:\"is invalid\",inspected=util2.inspect(value);return inspected.length>128&&(inspected=\"\".concat(inspected.slice(0,128),\"...\")),\"The argument '\".concat(name,\"' \").concat(reason,\". Received \").concat(inspected)},TypeError,RangeError),createErrorType(\"ERR_INVALID_RETURN_VALUE\",function(input,name,value){var type;return value&&value.constructor&&value.constructor.name\?type=\"instance of \".concat(value.constructor.name):type=\"type \".concat(_typeof(value)),\"Expected \".concat(input,' to be returned from the \"').concat(name,'\"')+\" function but got \".concat(type,\".\")},TypeError),createErrorType(\"ERR_MISSING_ARGS\",function(){for(var _len=arguments.length,args=new Array(_len),_key=0;_key<_len;_key++)args[_key]=arguments[_key];assert===void 0&&(assert=require_assert()),assert(args.length>0,\"At least one arg needs to be specified\");var msg=\"The \",len=args.length;switch(args=args.map(function(a){return'\"'.concat(a,'\"')}),len){case 1:msg+=\"\".concat(args[0],\" argument\");break;case 2:msg+=\"\".concat(args[0],\" and \").concat(args[1],\" arguments\");break;default:msg+=args.slice(0,len-1).join(\", \"),msg+=\", and \".concat(args[len-1],\" arguments\");break}return\"\".concat(msg,\" must be specified\")},TypeError),module2.exports.codes=codes}}),require_assertion_error=__commonJS({\"assert/build/internal/assert/assertion_error.js\"(exports,module2){function _objectSpread(target){for(var i=1;istr.length)&&(this_len=str.length),str.substring(this_len-search.length,this_len)===search}function repeat(str,count){if(count=Math.floor(count),str.length==0||count==0)return\"\";var maxCount=str.length*count;for(count=Math.floor(Math.log(count)/Math.log(2));count;)str+=str,count--;return str+=str.substring(0,maxCount-str.length),str}var blue=\"\",green=\"\",red=\"\",white=\"\",kReadableOperator={deepStrictEqual:\"Expected values to be strictly deep-equal:\",strictEqual:\"Expected values to be strictly equal:\",strictEqualObject:'Expected \"actual\" to be reference-equal to \"expected\":',deepEqual:\"Expected values to be loosely deep-equal:\",equal:\"Expected values to be loosely equal:\",notDeepStrictEqual:'Expected \"actual\" not to be strictly deep-equal to:',notStrictEqual:'Expected \"actual\" to be strictly unequal to:',notStrictEqualObject:'Expected \"actual\" not to be reference-equal to \"expected\":',notDeepEqual:'Expected \"actual\" not to be loosely deep-equal to:',notEqual:'Expected \"actual\" to be loosely unequal to:',notIdentical:\"Values identical but not reference-equal:\"},kMaxShortLength=10;function copyError(source){var keys=Object.keys(source),target=Object.create(Object.getPrototypeOf(source));return keys.forEach(function(key){target[key]=source[key]}),Object.defineProperty(target,\"message\",{value:source.message}),target}function inspectValue(val){return inspect(val,{compact:!1,customInspect:!1,depth:1000,maxArrayLength:Infinity,showHidden:!1,breakLength:Infinity,showProxy:!1,sorted:!0,getters:!0})}function createErrDiff(actual,expected,operator){var other=\"\",res=\"\",lastPos=0,end=\"\",skipped=!1,actualInspected=inspectValue(actual),actualLines=actualInspected.split(`\n`),expectedLines=inspectValue(expected).split(`\n`),i=0,indicator=\"\";if(operator===\"strictEqual\"&&_typeof(actual)===\"object\"&&_typeof(expected)===\"object\"&&actual!==null&&expected!==null&&(operator=\"strictEqualObject\"),actualLines.length===1&&expectedLines.length===1&&actualLines[0]!==expectedLines[0]){var inputLength=actualLines[0].length+expectedLines[0].length;if(inputLength<=kMaxShortLength){if((_typeof(actual)!==\"object\"||actual===null)&&(_typeof(expected)!==\"object\"||expected===null)&&(actual!==0||expected!==0))return\"\".concat(kReadableOperator[operator],`\n\n`)+\"\".concat(actualLines[0],\" !== \").concat(expectedLines[0],`\n`)}else if(operator!==\"strictEqualObject\"){var maxLength=process.stderr&&process.stderr.isTTY\?process.stderr.columns:80;if(inputLength2&&(indicator=`\n `.concat(repeat(\" \",i),\"^\"),i=0)}}}for(var a=actualLines[actualLines.length-1],b=expectedLines[expectedLines.length-1];a===b&&(i++<2\?end=`\n `.concat(a).concat(end):other=a,actualLines.pop(),expectedLines.pop(),!(actualLines.length===0||expectedLines.length===0));)a=actualLines[actualLines.length-1],b=expectedLines[expectedLines.length-1];var maxLines=Math.max(actualLines.length,expectedLines.length);if(maxLines===0){var _actualLines=actualInspected.split(`\n`);if(_actualLines.length>30)for(_actualLines[26]=\"\".concat(blue,\"...\").concat(white);_actualLines.length>27;)_actualLines.pop();return\"\".concat(kReadableOperator.notIdentical,`\n\n`).concat(_actualLines.join(`\n`),`\n`)}i>3&&(end=`\n`.concat(blue,\"...\").concat(white).concat(end),skipped=!0),other!==\"\"&&(end=`\n `.concat(other).concat(end),other=\"\");var printedLines=0,msg=kReadableOperator[operator]+`\n`.concat(green,\"+ actual\").concat(white,\" \").concat(red,\"- expected\").concat(white),skippedMsg=\" \".concat(blue,\"...\").concat(white,\" Lines skipped\");for(i=0;i1&&i>2&&(cur>4\?(res+=`\n`.concat(blue,\"...\").concat(white),skipped=!0):cur>3&&(res+=`\n `.concat(expectedLines[i-2]),printedLines++),res+=`\n `.concat(expectedLines[i-1]),printedLines++),lastPos=i,other+=`\n`.concat(red,\"-\").concat(white,\" \").concat(expectedLines[i]),printedLines++;else if(expectedLines.length1&&i>2&&(cur>4\?(res+=`\n`.concat(blue,\"...\").concat(white),skipped=!0):cur>3&&(res+=`\n `.concat(actualLines[i-2]),printedLines++),res+=`\n `.concat(actualLines[i-1]),printedLines++),lastPos=i,res+=`\n`.concat(green,\"+\").concat(white,\" \").concat(actualLines[i]),printedLines++;else{var expectedLine=expectedLines[i],actualLine=actualLines[i],divergingLines=actualLine!==expectedLine&&(!endsWith(actualLine,\",\")||actualLine.slice(0,-1)!==expectedLine);divergingLines&&endsWith(expectedLine,\",\")&&expectedLine.slice(0,-1)===actualLine&&(divergingLines=!1,actualLine+=\",\"),divergingLines\?(cur>1&&i>2&&(cur>4\?(res+=`\n`.concat(blue,\"...\").concat(white),skipped=!0):cur>3&&(res+=`\n `.concat(actualLines[i-2]),printedLines++),res+=`\n `.concat(actualLines[i-1]),printedLines++),lastPos=i,res+=`\n`.concat(green,\"+\").concat(white,\" \").concat(actualLine),other+=`\n`.concat(red,\"-\").concat(white,\" \").concat(expectedLine),printedLines+=2):(res+=other,other=\"\",(cur===1||i===0)&&(res+=`\n `.concat(actualLine),printedLines++))}if(printedLines>20&&i30)for(res[26]=\"\".concat(blue,\"...\").concat(white);res.length>27;)res.pop();res.length===1\?_this=_possibleConstructorReturn(this,_getPrototypeOf(AssertionError2).call(this,\"\".concat(base,\" \").concat(res[0]))):_this=_possibleConstructorReturn(this,_getPrototypeOf(AssertionError2).call(this,\"\".concat(base,`\n\n`).concat(res.join(`\n`),`\n`)))}else{var _res=inspectValue(actual),other=\"\",knownOperators=kReadableOperator[operator];operator===\"notDeepEqual\"||operator===\"notEqual\"\?(_res=\"\".concat(kReadableOperator[operator],`\n\n`).concat(_res),_res.length>1024&&(_res=\"\".concat(_res.slice(0,1021),\"...\"))):(other=\"\".concat(inspectValue(expected)),_res.length>512&&(_res=\"\".concat(_res.slice(0,509),\"...\")),other.length>512&&(other=\"\".concat(other.slice(0,509),\"...\")),operator===\"deepEqual\"||operator===\"equal\"\?_res=\"\".concat(knownOperators,`\n\n`).concat(_res,`\n\nshould equal\n\n`):other=\" \".concat(operator,\" \").concat(other)),_this=_possibleConstructorReturn(this,_getPrototypeOf(AssertionError2).call(this,\"\".concat(_res).concat(other)))}return Error.stackTraceLimit=limit,_this.generatedMessage=!message,Object.defineProperty(_assertThisInitialized(_this),\"name\",{value:\"AssertionError [ERR_ASSERTION]\",enumerable:!1,writable:!0,configurable:!0}),_this.code=\"ERR_ASSERTION\",_this.actual=actual,_this.expected=expected,_this.operator=operator,Error.captureStackTrace&&Error.captureStackTrace(_assertThisInitialized(_this),stackStartFn),_this.stack,_this.name=\"AssertionError\",_possibleConstructorReturn(_this)}return AssertionError2.prototype={},_createClass(AssertionError2,[{key:\"toString\",value:function(){return\"\".concat(this.name,\" [\").concat(this.code,\"]: \").concat(this.message)}},{key:inspect.custom,value:function(recurseTimes,ctx){return inspect(this,_objectSpread({},ctx,{customInspect:!1,depth:0}))}}]),AssertionError2}(_wrapNativeSuper(Error));module2.exports=AssertionError}}),require_assert=__commonJS({\"assert/build/assert.js\"(exports,module2){function _typeof(obj){return typeof Symbol==\"function\"&&typeof Symbol.iterator==\"symbol\"\?_typeof=function(obj2){return typeof obj2}:_typeof=function(obj2){return obj2&&typeof Symbol==\"function\"&&obj2.constructor===Symbol&&obj2!==Symbol.prototype\?\"symbol\":typeof obj2},_typeof(obj)}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))@throwTypeError(\"Cannot call a class as a function\")}var _require=require_errors(),_require$codes=_require.codes,ERR_AMBIGUOUS_ARGUMENT=_require$codes.ERR_AMBIGUOUS_ARGUMENT,ERR_INVALID_ARG_TYPE=_require$codes.ERR_INVALID_ARG_TYPE,ERR_INVALID_ARG_VALUE=_require$codes.ERR_INVALID_ARG_VALUE,ERR_INVALID_RETURN_VALUE=_require$codes.ERR_INVALID_RETURN_VALUE,ERR_MISSING_ARGS=_require$codes.ERR_MISSING_ARGS,AssertionError=require_assertion_error(),_require2=util,inspect=_require2.inspect,_require$types=util.types,isPromise=_require$types.isPromise,isRegExp=_require$types.isRegExp,objectAssign=Object.assign,objectIs=Object.is,errorCache=new Map,warned=!1,assert=module2.exports=ok,NO_EXCEPTION_SENTINEL={};function innerFail(obj){throw obj.message instanceof Error\?obj.message:new AssertionError(obj)}function fail(actual,expected,message,operator,stackStartFn){var argsLen=arguments.length,internalMessage;if(argsLen===0)internalMessage=\"Failed\";else if(argsLen===1)message=actual,actual=void 0;else{if(warned===!1){warned=!0;var warn=process.emitWarning\?process.emitWarning:console.warn.bind(console);warn(\"assert.fail() with more than one argument is deprecated. Please use assert.strictEqual() instead or only pass a message.\",\"DeprecationWarning\",\"DEP0094\")}argsLen===2&&(operator=\"!=\")}if(message instanceof Error)throw message;var errArgs={actual,expected,operator:operator===void 0\?\"fail\":operator,stackStartFn:stackStartFn||fail};message!==void 0&&(errArgs.message=message);var err=new AssertionError(errArgs);throw internalMessage&&(err.message=internalMessage,err.generatedMessage=!0),err}assert.fail=fail,assert.AssertionError=AssertionError;function innerOk(fn,argLen,value,message){if(!value){var generatedMessage=!1;if(argLen===0)generatedMessage=!0,message=\"No value argument passed to `assert.ok()`\";else if(message instanceof Error)throw message;var err=new AssertionError({actual:value,expected:!0,message,operator:\"==\",stackStartFn:fn});throw err.generatedMessage=generatedMessage,err}}function ok(){for(var _len=arguments.length,args=new Array(_len),_key=0;_key<_len;_key++)args[_key]=arguments[_key];innerOk.apply(void 0,[ok,args.length].concat(args))}assert.ok=ok,assert.equal=function equal(actual,expected,message){if(arguments.length<2)throw new ERR_MISSING_ARGS(\"actual\",\"expected\");actual!=expected&&innerFail({actual,expected,message,operator:\"==\",stackStartFn:equal})},assert.notEqual=function notEqual(actual,expected,message){if(arguments.length<2)throw new ERR_MISSING_ARGS(\"actual\",\"expected\");actual==expected&&innerFail({actual,expected,message,operator:\"!=\",stackStartFn:notEqual})},assert.deepEqual=function deepEqual(actual,expected,message){if(arguments.length<2)throw new ERR_MISSING_ARGS(\"actual\",\"expected\");isDeepEqual(actual,expected,!1)||innerFail({actual,expected,message,operator:\"deepEqual\",stackStartFn:deepEqual})},assert.notDeepEqual=function notDeepEqual(actual,expected,message){if(arguments.length<2)throw new ERR_MISSING_ARGS(\"actual\",\"expected\");isDeepEqual(actual,expected,!1)&&innerFail({actual,expected,message,operator:\"notDeepEqual\",stackStartFn:notDeepEqual})},assert.deepStrictEqual=function deepStrictEqual(actual,expected,message){if(arguments.length<2)throw new ERR_MISSING_ARGS(\"actual\",\"expected\");isDeepEqual(actual,expected,!0)||innerFail({actual,expected,message,operator:\"deepStrictEqual\",stackStartFn:deepStrictEqual})},assert.notDeepStrictEqual=notDeepStrictEqual;function notDeepStrictEqual(actual,expected,message){if(arguments.length<2)throw new ERR_MISSING_ARGS(\"actual\",\"expected\");isDeepEqual(actual,expected,!0)&&innerFail({actual,expected,message,operator:\"notDeepStrictEqual\",stackStartFn:notDeepStrictEqual})}assert.strictEqual=function strictEqual(actual,expected,message){if(arguments.length<2)throw new ERR_MISSING_ARGS(\"actual\",\"expected\");objectIs(actual,expected)||innerFail({actual,expected,message,operator:\"strictEqual\",stackStartFn:strictEqual})},assert.notStrictEqual=function notStrictEqual(actual,expected,message){if(arguments.length<2)throw new ERR_MISSING_ARGS(\"actual\",\"expected\");objectIs(actual,expected)&&innerFail({actual,expected,message,operator:\"notStrictEqual\",stackStartFn:notStrictEqual})},assert.match=function match(actual,expected,message){if(arguments.length<2)throw new ERR_MISSING_ARGS(\"actual\",\"expected\");if(!isRegExp(expected))throw new ERR_INVALID_ARG_TYPE(\"expected\",\"RegExp\",expected);expected.test(actual)||innerFail({actual,expected,message,operator:\"match\",stackStartFn:match})};var Comparison=function Comparison2(obj,keys,actual){var _this=this;_classCallCheck(this,Comparison2),keys.forEach(function(key){(key in obj)&&(actual!==void 0&&typeof actual[key]==\"string\"&&isRegExp(obj[key])&&obj[key].test(actual[key])\?_this[key]=actual[key]:_this[key]=obj[key])})};function compareExceptionKey(actual,expected,key,message,keys,fn){if(!(key in actual)||!isDeepEqual(actual[key],expected[key],!0)){if(!message){var a=new Comparison(actual,keys),b=new Comparison(expected,keys,actual),err=new AssertionError({actual:a,expected:b,operator:\"deepStrictEqual\",stackStartFn:fn});throw err.actual=actual,err.expected=expected,err.operator=fn.name,err}innerFail({actual,expected,message,operator:fn.name,stackStartFn:fn})}}function expectedException(actual,expected,msg,fn){if(typeof expected!=\"function\"){if(isRegExp(expected))return expected.test(actual);if(arguments.length===2)throw new ERR_INVALID_ARG_TYPE(\"expected\",[\"Function\",\"RegExp\"],expected);if(_typeof(actual)!==\"object\"||actual===null){var err=new AssertionError({actual,expected,message:msg,operator:\"deepStrictEqual\",stackStartFn:fn});throw err.operator=fn.name,err}var keys=Object.keys(expected);if(expected instanceof Error)keys.push(\"name\",\"message\");else if(keys.length===0)throw new ERR_INVALID_ARG_VALUE(\"error\",expected,\"may not be an empty object\");return keys.forEach(function(key){return typeof actual[key]==\"string\"&&isRegExp(expected[key])&&expected[key].test(actual[key])||compareExceptionKey(actual,expected,key,msg,keys,fn)}),!0}return expected.prototype!==void 0&&actual instanceof expected\?!0:Error.isPrototypeOf(expected)\?!1:expected.call({},actual)===!0}function getActual(fn){if(typeof fn!=\"function\")throw new ERR_INVALID_ARG_TYPE(\"fn\",\"Function\",fn);try{fn()}catch(e){return e}return NO_EXCEPTION_SENTINEL}function checkIsPromise(obj){return isPromise(obj)||obj!==null&&_typeof(obj)===\"object\"&&typeof obj.then==\"function\"&&typeof obj.catch==\"function\"}function waitForActual(promiseFn){return Promise.resolve().then(function(){var resultPromise;if(typeof promiseFn==\"function\"){if(resultPromise=promiseFn(),!checkIsPromise(resultPromise))throw new ERR_INVALID_RETURN_VALUE(\"instance of Promise\",\"promiseFn\",resultPromise)}else if(checkIsPromise(promiseFn))resultPromise=promiseFn;else throw new ERR_INVALID_ARG_TYPE(\"promiseFn\",[\"Function\",\"Promise\"],promiseFn);return Promise.resolve().then(function(){return resultPromise}).then(function(){return NO_EXCEPTION_SENTINEL}).catch(function(e){return e})})}function expectsError(stackStartFn,actual,error,message){if(typeof error==\"string\"){if(arguments.length===4)throw new ERR_INVALID_ARG_TYPE(\"error\",[\"Object\",\"Error\",\"Function\",\"RegExp\"],error);if(_typeof(actual)===\"object\"&&actual!==null){if(actual.message===error)throw new ERR_AMBIGUOUS_ARGUMENT(\"error/message\",'The error message \"'.concat(actual.message,'\" is identical to the message.'))}else if(actual===error)throw new ERR_AMBIGUOUS_ARGUMENT(\"error/message\",'The error \"'.concat(actual,'\" is identical to the message.'));message=error,error=void 0}else if(error!=null&&_typeof(error)!==\"object\"&&typeof error!=\"function\")throw new ERR_INVALID_ARG_TYPE(\"error\",[\"Object\",\"Error\",\"Function\",\"RegExp\"],error);if(actual===NO_EXCEPTION_SENTINEL){var details=\"\";error&&error.name&&(details+=\" (\".concat(error.name,\")\")),details+=message\?\": \".concat(message):\".\";var fnType=stackStartFn.name===\"rejects\"\?\"rejection\":\"exception\";innerFail({actual:void 0,expected:error,operator:stackStartFn.name,message:\"Missing expected \".concat(fnType).concat(details),stackStartFn})}if(error&&!expectedException(actual,error,message,stackStartFn))throw actual}function expectsNoError(stackStartFn,actual,error,message){if(actual!==NO_EXCEPTION_SENTINEL){if(typeof error==\"string\"&&(message=error,error=void 0),!error||expectedException(actual,error)){var details=message\?\": \".concat(message):\".\",fnType=stackStartFn.name===\"doesNotReject\"\?\"rejection\":\"exception\";innerFail({actual,expected:error,operator:stackStartFn.name,message:\"Got unwanted \".concat(fnType).concat(details,`\n`)+'Actual message: \"'.concat(actual&&actual.message,'\"'),stackStartFn})}throw actual}}assert.throws=function throws(promiseFn){for(var _len2=arguments.length,args=new Array(_len2>1\?_len2-1:0),_key2=1;_key2<_len2;_key2++)args[_key2-1]=arguments[_key2];expectsError.apply(void 0,[throws,getActual(promiseFn)].concat(args))},assert.rejects=function rejects(promiseFn){for(var _len3=arguments.length,args=new Array(_len3>1\?_len3-1:0),_key3=1;_key3<_len3;_key3++)args[_key3-1]=arguments[_key3];return waitForActual(promiseFn).then(function(result){return expectsError.apply(void 0,[rejects,result].concat(args))})},assert.doesNotThrow=function doesNotThrow(fn){for(var _len4=arguments.length,args=new Array(_len4>1\?_len4-1:0),_key4=1;_key4<_len4;_key4++)args[_key4-1]=arguments[_key4];expectsNoError.apply(void 0,[doesNotThrow,getActual(fn)].concat(args))},assert.doesNotReject=function doesNotReject(fn){for(var _len5=arguments.length,args=new Array(_len5>1\?_len5-1:0),_key5=1;_key5<_len5;_key5++)args[_key5-1]=arguments[_key5];return waitForActual(fn).then(function(result){return expectsNoError.apply(void 0,[doesNotReject,result].concat(args))})},assert.ifError=function ifError(err){if(err!=null){var message=\"ifError got unwanted exception: \";_typeof(err)===\"object\"&&typeof err.message==\"string\"\?err.message.length===0&&err.constructor\?message+=err.constructor.name:message+=err.message:message+=inspect(err);var newErr=new AssertionError({actual:err,expected:null,operator:\"ifError\",message,stackStartFn:ifError}),origStack=err.stack;if(typeof origStack==\"string\"){var tmp2=origStack.split(`\n`);tmp2.shift();for(var tmp1=newErr.stack.split(`\n`),i=0;i{var prev=get();set(context);try{return fn(...args)}catch(error){throw error}finally{set(prev)}}}enterWith(store){cleanupLater();var context=get();if(!context){set([this,store]);return}var{length}=context;for(var i=0;i-1)hasPrevious=!0,previous=context[i+1],context[i+1]=store;else context.push(this,store);set(context)}try{return callback(...args)}catch(e){throw e}finally{if(!this.#disableCalled){var context2=get();if(context2===context&&contextWasInit)set(void 0);else if(context2=context2.slice(),hasPrevious)context2[i+1]=previous,set(context2);else context2.splice(i,2),set(context2.length\?context2:void 0)}}}disable(){if(!this.#disableCalled){var context=get();if(context){var{length}=context;for(var i=0;i-1){try{child.kill(killSignal)}catch(err){child.emit(\"error\",err)}timeoutHolder.timeoutId=-1}}function spawn(file,args,options){options=normalizeSpawnArguments(file,args,options),validateTimeout(options.timeout),validateAbortSignal(options.signal,\"options.signal\");const killSignal2=sanitizeKillSignal(options.killSignal),child=new ChildProcess;if(child.spawn(options),options.timeout>0){let timeoutId=setTimeout(()=>{if(timeoutId){try{child.kill(killSignal2)}catch(err){child.emit(\"error\",err)}timeoutId=null}});child.once(\"exit\",()=>{if(timeoutId)clearTimeout(timeoutId),timeoutId=null})}if(options.signal){let onAbortListener2=function(){abortChildProcess(child,killSignal2)};var onAbortListener=onAbortListener2;const signal=options.signal;if(signal.aborted)process.nextTick(onAbortListener2);else signal.addEventListener(\"abort\",onAbortListener2,{once:!0}),child.once(\"exit\",()=>signal.removeEventListener(\"abort\",onAbortListener2))}return child}function execFile(file,args,options,callback){({file,args,options,callback}=normalizeExecFileArgs(file,args,options,callback)),options={encoding:\"utf8\",timeout:0,maxBuffer:MAX_BUFFER,killSignal:\"SIGTERM\",cwd:null,env:null,shell:!1,...options};const maxBuffer=options.maxBuffer;validateTimeout(options.timeout),validateMaxBuffer(maxBuffer),options.killSignal=sanitizeKillSignal(options.killSignal);const child=spawn(file,args,{cwd:options.cwd,env:options.env,shell:options.shell,signal:options.signal});let encoding;const _stdout=[],_stderr=[];if(options.encoding!==\"buffer\"&&BufferIsEncoding(options.encoding))encoding=options.encoding;else encoding=null;let stdoutLen=0,stderrLen=0,killed=!1,exited=!1,timeoutId,encodedStdoutLen,encodedStderrLen,ex=null,cmd=file;function exitHandler(code,signal){if(exited)return;if(exited=!0,timeoutId)clearTimeout(timeoutId),timeoutId=null;if(!callback)return;const readableEncoding=child\?.stdout\?.readableEncoding;let stdout,stderr;if(encoding||child.stdout&&readableEncoding)stdout=ArrayPrototypeJoin.call(_stdout,\"\");else stdout=BufferConcat(_stdout);if(encoding||child.stderr&&readableEncoding)stderr=ArrayPrototypeJoin.call(_stderr,\"\");else stderr=BufferConcat(_stderr);if(!ex&&code===0&&signal===null){callback(null,stdout,stderr);return}if(args\?.length)cmd+=` ${ArrayPrototypeJoin.call(args,\" \")}`;if(!ex){let message=`Command failed: ${cmd}`;if(stderr)message+=`\\n${stderr}`;ex=genericNodeError(message,{code,killed:child.killed||killed,signal})}ex.cmd=cmd,callback(ex,stdout,stderr)}function errorHandler(e){if(ex=e,child.stdout)child.stdout.destroy();if(child.stderr)child.stderr.destroy();exitHandler()}function kill(){if(child.stdout)child.stdout.destroy();if(child.stderr)child.stderr.destroy();killed=!0;try{child.kill(options.killSignal)}catch(e){ex=e,exitHandler()}}if(options.timeout>0)timeoutId=setTimeout(function delayedKill(){kill(),timeoutId=null},options.timeout);if(child.stdout){if(encoding)child.stdout.setEncoding(encoding);child.stdout.on(\"data\",maxBuffer===Infinity\?function onUnlimitedSizeBufferedData(chunk){ArrayPrototypePush.call(_stdout,chunk)}:encoding\?function onChildStdoutEncoded(chunk){if(stdoutLen+=chunk.length,stdoutLen*4>maxBuffer){const encoding2=child.stdout.readableEncoding,actualLen=Buffer.byteLength(chunk,encoding2);if(encodedStdoutLen===void 0)for(let i=0;i<_stdout.length;i++)encodedStdoutLen+=Buffer.byteLength(_stdout[i],encoding2);else encodedStdoutLen+=actualLen;const truncatedLen=maxBuffer-(encodedStdoutLen-actualLen);ArrayPrototypePush.call(_stdout,StringPrototypeSlice.apply(chunk,0,truncatedLen)),ex=new ERR_CHILD_PROCESS_STDIO_MAXBUFFER(\"stdout\"),kill()}else ArrayPrototypePush.call(_stdout,chunk)}:function onChildStdoutRaw(chunk){if(stdoutLen+=chunk.length,stdoutLen>maxBuffer){const truncatedLen=maxBuffer-(stdoutLen-chunk.length);ArrayPrototypePush.call(_stdout,chunk.slice(0,truncatedLen)),ex=new ERR_CHILD_PROCESS_STDIO_MAXBUFFER(\"stdout\"),kill()}else ArrayPrototypePush.call(_stdout,chunk)})}if(child.stderr){if(encoding)child.stderr.setEncoding(encoding);child.stderr.on(\"data\",maxBuffer===Infinity\?function onUnlimitedSizeBufferedData(chunk){ArrayPrototypePush.call(_stderr,chunk)}:encoding\?function onChildStderrEncoded(chunk){if(stderrLen+=chunk.length,stderrLen*4>maxBuffer){const encoding2=child.stderr.readableEncoding,actualLen=Buffer.byteLength(chunk,encoding2);if(encodedStderrLen===void 0)for(let i=0;i<_stderr.length;i++)encodedStderrLen+=Buffer.byteLength(_stderr[i],encoding2);else encodedStderrLen+=actualLen;const truncatedLen=maxBuffer-(encodedStderrLen-actualLen);ArrayPrototypePush.call(_stderr,StringPrototypeSlice.call(chunk,0,truncatedLen)),ex=new ERR_CHILD_PROCESS_STDIO_MAXBUFFER(\"stderr\"),kill()}else ArrayPrototypePush.call(_stderr,chunk)}:function onChildStderrRaw(chunk){if(stderrLen+=chunk.length,stderrLen>maxBuffer){const truncatedLen=maxBuffer-(stderrLen-chunk.length);ArrayPrototypePush.call(_stderr,StringPrototypeSlice.call(chunk,0,truncatedLen)),ex=new ERR_CHILD_PROCESS_STDIO_MAXBUFFER(\"stderr\"),kill()}else ArrayPrototypePush.call(_stderr,chunk)})}return child.addListener(\"close\",exitHandler),child.addListener(\"error\",errorHandler),child}function exec(command,options,callback){const opts=normalizeExecArgs(command,options,callback);return execFile(opts.file,opts.options,opts.callback)}const customPromiseExecFunction=(orig)=>{return(...args)=>{let resolve,reject;const promise=new Promise((res,rej)=>{resolve=res,reject=rej});return promise.child=orig(...args,(err,stdout,stderr)=>{if(err!==null)err.stdout=stdout,err.stderr=stderr,reject(err);else resolve({stdout,stderr})}),promise}};ObjectDefineProperty(exec,promisify.custom,{__proto__:null,enumerable:!1,value:customPromiseExecFunction(exec)});function spawnSync(file,args,options){options={maxBuffer:MAX_BUFFER,...normalizeSpawnArguments(file,args,options)};const{maxBuffer,encoding}=options;validateTimeout(options.timeout),validateMaxBuffer(maxBuffer),options.killSignal=sanitizeKillSignal(options.killSignal);const stdio=options.stdio||\"pipe\",bunStdio=getBunStdioFromOptions(stdio);var{input}=options;if(input)if(ArrayBufferIsView(input))bunStdio[0]=input;else if(typeof input===\"string\")bunStdio[0]=Buffer.from(input,encoding||\"utf8\");else throw new ERR_INVALID_ARG_TYPE(\"options.stdio[0]\",[\"Buffer\",\"TypedArray\",\"DataView\",\"string\"],input);const{stdout,stderr,success,exitCode}=Bun.spawnSync({cmd:options.args,env:options.env||void 0,cwd:options.cwd||void 0,stdin:bunStdio[0],stdout:bunStdio[1],stderr:bunStdio[2]}),result={signal:null,status:exitCode,output:[null,stdout,stderr]};if(stdout&&encoding&&encoding!==\"buffer\")result.output[1]=result.output[1]\?.toString(encoding);if(stderr&&encoding&&encoding!==\"buffer\")result.output[2]=result.output[2]\?.toString(encoding);if(result.stdout=result.output[1],result.stderr=result.output[2],!success)result.error=new SystemError(result.output[2],options.file,\"spawnSync\",-1,result.status),result.error.spawnargs=ArrayPrototypeSlice.call(options.args,1);return result}function execFileSync(file,args,options){({file,args,options}=normalizeExecFileArgs(file,args,options));const ret=spawnSync(file,args,options),errArgs=[options.argv0||file];ArrayPrototypePush.apply(errArgs,args);const err=checkExecSyncError(ret,errArgs);if(err)throw err;return ret.stdout}function execSync(command,options){const opts=normalizeExecArgs(command,options,null),ret=spawnSync(opts.file,opts.options),err=checkExecSyncError(ret,void 0,command);if(err)throw err;return ret.stdout}function fork(){throw new Error(\"Not implemented\")}function convertToValidSignal(signal){if(typeof signal===\"number\"&&getSignalsToNamesMapping()[signal])return signal;if(typeof signal===\"string\"){const signalName=signals[StringPrototypeToUpperCase.call(signal)];if(signalName)return signalName}throw new ERR_UNKNOWN_SIGNAL(signal)}function sanitizeKillSignal(killSignal2){if(typeof killSignal2===\"string\"||typeof killSignal2===\"number\")return convertToValidSignal(killSignal2);else if(killSignal2!=null)throw new ERR_INVALID_ARG_TYPE(\"options.killSignal\",[\"string\",\"number\"],killSignal2)}let signalsToNamesMapping;function getSignalsToNamesMapping(){if(signalsToNamesMapping!==void 0)return signalsToNamesMapping;signalsToNamesMapping=ObjectCreate(null);for(let key in signals)signalsToNamesMapping[signals[key]]=key;return signalsToNamesMapping}function normalizeExecFileArgs(file,args,options,callback){if(ArrayIsArray(args))args=ArrayPrototypeSlice.call(args);else if(args!=null&&typeof args===\"object\")callback=options,options=args,args=null;else if(typeof args===\"function\")callback=args,options=null,args=null;if(args==null)args=[];if(typeof options===\"function\")callback=options;else if(options!=null)validateObject(options,\"options\");if(options==null)options=kEmptyObject;if(callback!=null)validateFunction(callback,\"callback\");if(options.argv0!=null)validateString(options.argv0,\"options.argv0\"),validateArgumentNullCheck(options.argv0,\"options.argv0\");return{file,args,options,callback}}function normalizeExecArgs(command,options,callback){if(validateString(command,\"command\"),validateArgumentNullCheck(command,\"command\"),typeof options===\"function\")callback=options,options=void 0;return options={...options},options.shell=typeof options.shell===\"string\"\?options.shell:!0,{file:command,options,callback}}function normalizeSpawnArguments(file,args,options){if(validateString(file,\"file\"),validateArgumentNullCheck(file,\"file\"),file.length===0)throw new ERR_INVALID_ARG_VALUE(\"file\",file,\"cannot be empty\");if(ArrayIsArray(args))args=ArrayPrototypeSlice.call(args);else if(args==null)args=[];else if(typeof args!==\"object\")throw new ERR_INVALID_ARG_TYPE(\"args\",\"object\",args);else options=args,args=[];if(validateArgumentsNullCheck(args,\"args\"),options===void 0)options={};else validateObject(options,\"options\");let cwd=options.cwd;if(cwd!=null)cwd=getValidatedPath(cwd,\"options.cwd\");if(options.shell!=null&&typeof options.shell!==\"boolean\"&&typeof options.shell!==\"string\")throw new ERR_INVALID_ARG_TYPE(\"options.shell\",[\"boolean\",\"string\"],options.shell);if(options.argv0!=null)validateString(options.argv0,\"options.argv0\"),validateArgumentNullCheck(options.argv0,\"options.argv0\");if(options.shell){validateArgumentNullCheck(options.shell,\"options.shell\");const command=ArrayPrototypeJoin.call([file,...args],\" \");if(typeof options.shell===\"string\")file=options.shell;else file=\"sh\";args=[\"-c\",command]}if(typeof options.argv0===\"string\")ArrayPrototypeUnshift.call(args,options.argv0);else ArrayPrototypeUnshift.call(args,file);const envPairs=options.env||process.env;return{...options,file,args,cwd,envPairs}}function checkExecSyncError(ret,args,cmd){let err;if(ret.error)err=ret.error,ObjectAssign(err,ret);else if(ret.status!==0){let msg=\"Command failed: \";if(msg+=cmd||ArrayPrototypeJoin.call(args,\" \"),ret.stderr&&ret.stderr.length>0)msg+=`\\n${ret.stderr.toString()}`;err=genericNodeError(msg,ret)}return err}class ChildProcess extends EventEmitter{constructor(){super(...arguments)}#handle;#exited=!1;#closesNeeded=1;#closesGot=0;connected=!1;signalCode=null;exitCode=null;spawnfile;spawnargs;pid;channel;get killed(){if(this.#handle==null)return!1}#handleOnExit(exitCode,signalCode,err){if(this.#exited)return;if(this.exitCode=this.#handle.exitCode,this.signalCode=exitCode>0\?signalCode:null,this.#stdin)this.#stdin.destroy();if(this.#handle)this.#handle=null;if(exitCode<0){const err2=new SystemError(`Spawned process exited with error code: ${exitCode}`,void 0,\"spawn\",\"EUNKNOWN\",\"ERR_CHILD_PROCESS_UNKNOWN_ERROR\");if(this.spawnfile)err2.path=this.spawnfile;err2.spawnargs=ArrayPrototypeSlice.call(this.spawnargs,1),this.emit(\"error\",err2)}else this.emit(\"exit\",this.exitCode,this.signalCode);process.nextTick(flushStdio,this),this.#maybeClose(),this.#exited=!0,this.#stdioOptions=[\"destroyed\",\"destroyed\",\"destroyed\"]}#getBunSpawnIo(i,encoding){NativeWritable||=StreamModule.NativeWritable,ReadableFromWeb||=StreamModule.Readable.fromWeb;const io=this.#stdioOptions[i];switch(i){case 0:switch(io){case\"pipe\":return new NativeWritable(this.#handle.stdin);case\"inherit\":return process.stdin||null;case\"destroyed\":return new ShimmedStdin;default:return null}case 2:case 1:switch(io){case\"pipe\":return ReadableFromWeb(this.#handle[fdToStdioName(i)],{encoding});case\"inherit\":return process[fdToStdioName(i)]||null;case\"destroyed\":return new ShimmedStdioOutStream;default:return null}}}#stdin;#stdout;#stderr;#stdioObject;#encoding;#stdioOptions;#createStdioObject(){return Object.create(null,{0:{get:()=>this.stdin},1:{get:()=>this.stdout},2:{get:()=>this.stderr}})}get stdin(){return this.#stdin\?\?=this.#getBunSpawnIo(0,this.#encoding)}get stdout(){return this.#stdout\?\?=this.#getBunSpawnIo(1,this.#encoding)}get stderr(){return this.#stderr\?\?=this.#getBunSpawnIo(2,this.#encoding)}get stdio(){return this.#stdioObject\?\?=this.#createStdioObject()}spawn(options){validateObject(options,\"options\"),validateString(options.file,\"options.file\");var file=this.spawnfile=options.file,spawnargs;if(options.args==null)spawnargs=this.spawnargs=[];else validateArray(options.args,\"options.args\"),spawnargs=this.spawnargs=options.args;const stdio=options.stdio||[\"pipe\",\"pipe\",\"pipe\"],bunStdio=getBunStdioFromOptions(stdio);var env=options.envPairs||void 0;this.#encoding=options.encoding||void 0,this.#stdioOptions=bunStdio,this.#handle=Bun.spawn({cmd:spawnargs,stdin:bunStdio[0],stdout:bunStdio[1],stderr:bunStdio[2],cwd:options.cwd||void 0,env:env||process.env,onExit:(handle,exitCode,signalCode,err)=>{this.#handle=handle,this.pid=this.#handle.pid,process.nextTick((exitCode2,signalCode2,err2)=>this.#handleOnExit(exitCode2,signalCode2,err2),exitCode,signalCode,err)},lazy:!0}),this.pid=this.#handle.pid,onSpawnNT(this)}send(){console.log(\"ChildProcess.prototype.send() - Sorry! Not implemented yet\")}disconnect(){console.log(\"ChildProcess.prototype.disconnect() - Sorry! Not implemented yet\")}kill(sig){const signal=sig===0\?sig:convertToValidSignal(sig===void 0\?\"SIGTERM\":sig);if(this.#handle)this.#handle.kill(signal);return this.#maybeClose(),!0}#maybeClose(){if(this.#closesGot++,this.#closesGot===this.#closesNeeded)this.emit(\"close\",this.exitCode,this.signalCode)}ref(){if(this.#handle)this.#handle.ref()}unref(){if(this.#handle)this.#handle.unref()}}const nodeToBunLookup={ignore:null,pipe:\"pipe\",overlapped:\"pipe\",inherit:\"inherit\"};function nodeToBun(item){if(typeof item===\"number\")return item;else{const result=nodeToBunLookup[item];if(result===void 0)throw new Error(\"Invalid stdio option\");return result}}function fdToStdioName(fd){switch(fd){case 0:return\"stdin\";case 1:return\"stdout\";case 2:return\"stderr\";default:return null}}function getBunStdioFromOptions(stdio){return normalizeStdio(stdio).map((item)=>nodeToBun(item))}function normalizeStdio(stdio){if(typeof stdio===\"string\")switch(stdio){case\"ignore\":return[\"ignore\",\"ignore\",\"ignore\"];case\"pipe\":return[\"pipe\",\"pipe\",\"pipe\"];case\"inherit\":return[\"inherit\",\"inherit\",\"inherit\"];default:throw new ERR_INVALID_OPT_VALUE(\"stdio\",stdio)}else if(ArrayIsArray(stdio)){let processedStdio;if(stdio.length===0)processedStdio=[\"pipe\",\"pipe\",\"pipe\"];else if(stdio.length===1)processedStdio=[stdio[0],\"pipe\",\"pipe\"];else if(stdio.length===2)processedStdio=[stdio[0],stdio[1],\"pipe\"];else if(stdio.length>=3)processedStdio=[stdio[0],stdio[1],stdio[2]];return processedStdio.map((item)=>!item\?\"pipe\":item)}else throw new ERR_INVALID_OPT_VALUE(\"stdio\",stdio)}function flushStdio(subprocess){const stdio=subprocess.stdio;if(stdio==null)return;for(let i=0;i=0))throw new ERR_OUT_OF_RANGE(\"options.maxBuffer\",\"a positive number\",maxBuffer)}function validateArgumentNullCheck(arg,propName){if(typeof arg===\"string\"&&StringPrototypeIncludes.call(arg,\"\\0\"))throw new ERR_INVALID_ARG_VALUE(propName,arg,\"must be a string without null bytes\")}function validateArgumentsNullCheck(args,propName){for(let i=0;i=0))throw new ERR_OUT_OF_RANGE(\"timeout\",\"an unsigned integer\",timeout)}function validateBoolean(value,name){if(typeof value!==\"boolean\")throw new ERR_INVALID_ARG_TYPE(name,\"boolean\",value)}function validateFunction(value,name){if(typeof value!==\"function\")throw new ERR_INVALID_ARG_TYPE(name,\"Function\",value)}const validateAbortSignal=(signal,name)=>{if(signal!==void 0&&(signal===null||typeof signal!==\"object\"||!(\"aborted\"in signal)))throw new ERR_INVALID_ARG_TYPE(name,\"AbortSignal\",signal)},validateOneOf=(value,name,oneOf)=>{if(!ArrayPrototypeIncludes.call(oneOf,value)){const reason=\"must be one of: \"+ArrayPrototypeJoin.call(ArrayPrototypeMap.call(oneOf,(v)=>typeof v===\"string\"\?`'${v}'`:String(v)),\", \");throw new ERR_INVALID_ARG_VALUE(name,value,reason)}},validateObject=(value,name,options=null)=>{const allowArray=options\?.allowArray\?\?!1,allowFunction=options\?.allowFunction\?\?!1;if(!(options\?.nullable\?\?!1)&&value===null||!allowArray&&ArrayIsArray.call(value)||typeof value!==\"object\"&&(!allowFunction||typeof value!==\"function\"))throw new ERR_INVALID_ARG_TYPE(name,\"object\",value)},validateArray=(value,name,minLength=0)=>{if(!ArrayIsArray(value))throw new ERR_INVALID_ARG_TYPE(name,\"Array\",value);if(value.lengthfunction(){return mod||(0,cb[__getOwnPropNames(cb)[0]])((mod={exports:{}}).exports,mod),mod.exports},__export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&typeof from==\"object\"||typeof from==\"function\")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to},require_safe_buffer=__commonJS({\"node_modules/safe-buffer/index.js\"(exports,module){var buffer=BufferModule,Buffer2=buffer.Buffer;function copyProps(src,dst){for(var key in src)dst[key]=src[key]}Buffer2.from&&Buffer2.alloc&&Buffer2.allocUnsafe&&Buffer2.allocUnsafeSlow\?module.exports=buffer:(copyProps(buffer,exports),exports.Buffer=SafeBuffer);function SafeBuffer(arg,encodingOrOffset,length){return Buffer2(arg,encodingOrOffset,length)}SafeBuffer.prototype=Object.create(Buffer2.prototype),copyProps(Buffer2,SafeBuffer),SafeBuffer.from=function(arg,encodingOrOffset,length){if(typeof arg==\"number\")@throwTypeError(\"Argument must not be a number\");return Buffer2(arg,encodingOrOffset,length)},SafeBuffer.alloc=function(size,fill,encoding){if(typeof size!=\"number\")@throwTypeError(\"Argument must be a number\");var buf=Buffer2(size);return fill!==void 0\?typeof encoding==\"string\"\?buf.fill(fill,encoding):buf.fill(fill):buf.fill(0),buf},SafeBuffer.allocUnsafe=function(size){if(typeof size!=\"number\")@throwTypeError(\"Argument must be a number\");return Buffer2(size)},SafeBuffer.allocUnsafeSlow=function(size){if(typeof size!=\"number\")@throwTypeError(\"Argument must be a number\");return buffer.SlowBuffer(size)}}}),require_browser=__commonJS({\"node_modules/randombytes/browser.js\"(exports,module){var MAX_BYTES=65536,MAX_UINT32=4294967295;function oldBrowser(){throw new Error(`Secure random number generation is not supported by this browser.\nUse Chrome, Firefox or Internet Explorer 11`)}var Buffer2=require_safe_buffer().Buffer,crypto2=globalCrypto;crypto2&&crypto2.getRandomValues\?module.exports=randomBytes:module.exports=oldBrowser;function randomBytes(size,cb){if(size>MAX_UINT32)@throwRangeError(\"requested too many random bytes\");var bytes=Buffer2.allocUnsafe(size);if(size>0)if(size>MAX_BYTES)for(var generated=0;generated=this._blockSize;){for(var i=this._blockOffset;i0;++j)this._length[j]+=carry,carry=this._length[j]/4294967296|0,carry>0&&(this._length[j]-=4294967296*carry);return this},HashBase.prototype._update=function(){throw new Error(\"_update is not implemented\")},HashBase.prototype.digest=function(encoding){if(this._finalized)throw new Error(\"Digest already called\");this._finalized=!0;var digest=this._digest();encoding!==void 0&&(digest=digest.toString(encoding)),this._block.fill(0),this._blockOffset=0;for(var i=0;i<4;++i)this._length[i]=0;return digest},HashBase.prototype._digest=function(){throw new Error(\"_digest is not implemented\")},module.exports=HashBase}}),require_md5=__commonJS({\"node_modules/md5.js/index.js\"(exports,module){var inherits=require_inherits_browser(),HashBase=require_hash_base(),Buffer2=require_safe_buffer().Buffer,ARRAY16=new Array(16);function MD5(){HashBase.call(this,64),this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878}inherits(MD5,HashBase),MD5.prototype._update=function(){for(var M=ARRAY16,i=0;i<16;++i)M[i]=this._block.readInt32LE(i*4);var a=this._a,b=this._b,c=this._c,d=this._d;a=fnF(a,b,c,d,M[0],3614090360,7),d=fnF(d,a,b,c,M[1],3905402710,12),c=fnF(c,d,a,b,M[2],606105819,17),b=fnF(b,c,d,a,M[3],3250441966,22),a=fnF(a,b,c,d,M[4],4118548399,7),d=fnF(d,a,b,c,M[5],1200080426,12),c=fnF(c,d,a,b,M[6],2821735955,17),b=fnF(b,c,d,a,M[7],4249261313,22),a=fnF(a,b,c,d,M[8],1770035416,7),d=fnF(d,a,b,c,M[9],2336552879,12),c=fnF(c,d,a,b,M[10],4294925233,17),b=fnF(b,c,d,a,M[11],2304563134,22),a=fnF(a,b,c,d,M[12],1804603682,7),d=fnF(d,a,b,c,M[13],4254626195,12),c=fnF(c,d,a,b,M[14],2792965006,17),b=fnF(b,c,d,a,M[15],1236535329,22),a=fnG(a,b,c,d,M[1],4129170786,5),d=fnG(d,a,b,c,M[6],3225465664,9),c=fnG(c,d,a,b,M[11],643717713,14),b=fnG(b,c,d,a,M[0],3921069994,20),a=fnG(a,b,c,d,M[5],3593408605,5),d=fnG(d,a,b,c,M[10],38016083,9),c=fnG(c,d,a,b,M[15],3634488961,14),b=fnG(b,c,d,a,M[4],3889429448,20),a=fnG(a,b,c,d,M[9],568446438,5),d=fnG(d,a,b,c,M[14],3275163606,9),c=fnG(c,d,a,b,M[3],4107603335,14),b=fnG(b,c,d,a,M[8],1163531501,20),a=fnG(a,b,c,d,M[13],2850285829,5),d=fnG(d,a,b,c,M[2],4243563512,9),c=fnG(c,d,a,b,M[7],1735328473,14),b=fnG(b,c,d,a,M[12],2368359562,20),a=fnH(a,b,c,d,M[5],4294588738,4),d=fnH(d,a,b,c,M[8],2272392833,11),c=fnH(c,d,a,b,M[11],1839030562,16),b=fnH(b,c,d,a,M[14],4259657740,23),a=fnH(a,b,c,d,M[1],2763975236,4),d=fnH(d,a,b,c,M[4],1272893353,11),c=fnH(c,d,a,b,M[7],4139469664,16),b=fnH(b,c,d,a,M[10],3200236656,23),a=fnH(a,b,c,d,M[13],681279174,4),d=fnH(d,a,b,c,M[0],3936430074,11),c=fnH(c,d,a,b,M[3],3572445317,16),b=fnH(b,c,d,a,M[6],76029189,23),a=fnH(a,b,c,d,M[9],3654602809,4),d=fnH(d,a,b,c,M[12],3873151461,11),c=fnH(c,d,a,b,M[15],530742520,16),b=fnH(b,c,d,a,M[2],3299628645,23),a=fnI(a,b,c,d,M[0],4096336452,6),d=fnI(d,a,b,c,M[7],1126891415,10),c=fnI(c,d,a,b,M[14],2878612391,15),b=fnI(b,c,d,a,M[5],4237533241,21),a=fnI(a,b,c,d,M[12],1700485571,6),d=fnI(d,a,b,c,M[3],2399980690,10),c=fnI(c,d,a,b,M[10],4293915773,15),b=fnI(b,c,d,a,M[1],2240044497,21),a=fnI(a,b,c,d,M[8],1873313359,6),d=fnI(d,a,b,c,M[15],4264355552,10),c=fnI(c,d,a,b,M[6],2734768916,15),b=fnI(b,c,d,a,M[13],1309151649,21),a=fnI(a,b,c,d,M[4],4149444226,6),d=fnI(d,a,b,c,M[11],3174756917,10),c=fnI(c,d,a,b,M[2],718787259,15),b=fnI(b,c,d,a,M[9],3951481745,21),this._a=this._a+a|0,this._b=this._b+b|0,this._c=this._c+c|0,this._d=this._d+d|0},MD5.prototype._digest=function(){this._block[this._blockOffset++]=128,this._blockOffset>56&&(this._block.fill(0,this._blockOffset,64),this._update(),this._blockOffset=0),this._block.fill(0,this._blockOffset,56),this._block.writeUInt32LE(this._length[0],56),this._block.writeUInt32LE(this._length[1],60),this._update();var buffer=Buffer2.allocUnsafe(16);return buffer.writeInt32LE(this._a,0),buffer.writeInt32LE(this._b,4),buffer.writeInt32LE(this._c,8),buffer.writeInt32LE(this._d,12),buffer};function rotl(x,n){return x<>>32-n}function fnF(a,b,c,d,m,k,s){return rotl(a+(b&c|~b&d)+m+k|0,s)+b|0}function fnG(a,b,c,d,m,k,s){return rotl(a+(b&d|c&~d)+m+k|0,s)+b|0}function fnH(a,b,c,d,m,k,s){return rotl(a+(b^c^d)+m+k|0,s)+b|0}function fnI(a,b,c,d,m,k,s){return rotl(a+(c^(b|~d))+m+k|0,s)+b|0}module.exports=MD5}}),require_ripemd160=__commonJS({\"node_modules/ripemd160/index.js\"(exports,module){var Buffer2=Buffer,inherits=require_inherits_browser(),HashBase=require_hash_base(),ARRAY16=new Array(16),zl=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13],zr=[5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11],sl=[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6],sr=[8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11],hl=[0,1518500249,1859775393,2400959708,2840853838],hr=[1352829926,1548603684,1836072691,2053994217,0];function RIPEMD160(){HashBase.call(this,64),this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520}inherits(RIPEMD160,HashBase),RIPEMD160.prototype._update=function(){for(var words=ARRAY16,j=0;j<16;++j)words[j]=this._block.readInt32LE(j*4);for(var al=this._a|0,bl=this._b|0,cl=this._c|0,dl=this._d|0,el=this._e|0,ar=this._a|0,br=this._b|0,cr=this._c|0,dr=this._d|0,er=this._e|0,i=0;i<80;i+=1){var tl,tr;i<16\?(tl=fn1(al,bl,cl,dl,el,words[zl[i]],hl[0],sl[i]),tr=fn5(ar,br,cr,dr,er,words[zr[i]],hr[0],sr[i])):i<32\?(tl=fn2(al,bl,cl,dl,el,words[zl[i]],hl[1],sl[i]),tr=fn4(ar,br,cr,dr,er,words[zr[i]],hr[1],sr[i])):i<48\?(tl=fn3(al,bl,cl,dl,el,words[zl[i]],hl[2],sl[i]),tr=fn3(ar,br,cr,dr,er,words[zr[i]],hr[2],sr[i])):i<64\?(tl=fn4(al,bl,cl,dl,el,words[zl[i]],hl[3],sl[i]),tr=fn2(ar,br,cr,dr,er,words[zr[i]],hr[3],sr[i])):(tl=fn5(al,bl,cl,dl,el,words[zl[i]],hl[4],sl[i]),tr=fn1(ar,br,cr,dr,er,words[zr[i]],hr[4],sr[i])),al=el,el=dl,dl=rotl(cl,10),cl=bl,bl=tl,ar=er,er=dr,dr=rotl(cr,10),cr=br,br=tr}var t=this._b+cl+dr|0;this._b=this._c+dl+er|0,this._c=this._d+el+ar|0,this._d=this._e+al+br|0,this._e=this._a+bl+cr|0,this._a=t},RIPEMD160.prototype._digest=function(){this._block[this._blockOffset++]=128,this._blockOffset>56&&(this._block.fill(0,this._blockOffset,64),this._update(),this._blockOffset=0),this._block.fill(0,this._blockOffset,56),this._block.writeUInt32LE(this._length[0],56),this._block.writeUInt32LE(this._length[1],60),this._update();var buffer=Buffer2.alloc\?Buffer2.alloc(20):new Buffer2(20);return buffer.writeInt32LE(this._a,0),buffer.writeInt32LE(this._b,4),buffer.writeInt32LE(this._c,8),buffer.writeInt32LE(this._d,12),buffer.writeInt32LE(this._e,16),buffer};function rotl(x,n){return x<>>32-n}function fn1(a,b,c,d,e,m,k,s){return rotl(a+(b^c^d)+m+k|0,s)+e|0}function fn2(a,b,c,d,e,m,k,s){return rotl(a+(b&c|~b&d)+m+k|0,s)+e|0}function fn3(a,b,c,d,e,m,k,s){return rotl(a+((b|~c)^d)+m+k|0,s)+e|0}function fn4(a,b,c,d,e,m,k,s){return rotl(a+(b&d|c&~d)+m+k|0,s)+e|0}function fn5(a,b,c,d,e,m,k,s){return rotl(a+(b^(c|~d))+m+k|0,s)+e|0}module.exports=RIPEMD160}}),require_hash=__commonJS({\"node_modules/sha.js/hash.js\"(exports,module){var Buffer2=require_safe_buffer().Buffer;function Hash(blockSize,finalSize){this._block=Buffer2.alloc(blockSize),this._finalSize=finalSize,this._blockSize=blockSize,this._len=0}Hash.prototype.update=function(data,enc){typeof data==\"string\"&&(enc=enc||\"utf8\",data=Buffer2.from(data,enc));for(var block=this._block,blockSize=this._blockSize,length=data.length,accum=this._len,offset=0;offset=this._finalSize&&(this._update(this._block),this._block.fill(0));var bits=this._len*8;if(bits<=4294967295)this._block.writeUInt32BE(bits,this._blockSize-4);else{var lowBits=(bits&4294967295)>>>0,highBits=(bits-lowBits)/4294967296;this._block.writeUInt32BE(highBits,this._blockSize-8),this._block.writeUInt32BE(lowBits,this._blockSize-4)}this._update(this._block);var hash=this._hash();return enc\?hash.toString(enc):hash},Hash.prototype._update=function(){throw new Error(\"_update must be implemented by subclass\")},module.exports=Hash}}),require_sha=__commonJS({\"node_modules/sha.js/sha.js\"(exports,module){var inherits=require_inherits_browser(),Hash=require_hash(),Buffer2=require_safe_buffer().Buffer,K=[1518500249,1859775393,-1894007588,-899497514],W=new Array(80);function Sha(){this.init(),this._w=W,Hash.call(this,64,56)}inherits(Sha,Hash),Sha.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this};function rotl5(num){return num<<5|num>>>27}function rotl30(num){return num<<30|num>>>2}function ft(s,b,c,d){return s===0\?b&c|~b&d:s===2\?b&c|b&d|c&d:b^c^d}Sha.prototype._update=function(M){for(var W2=this._w,a=this._a|0,b=this._b|0,c=this._c|0,d=this._d|0,e=this._e|0,i=0;i<16;++i)W2[i]=M.readInt32BE(i*4);for(;i<80;++i)W2[i]=W2[i-3]^W2[i-8]^W2[i-14]^W2[i-16];for(var j=0;j<80;++j){var s=~~(j/20),t=rotl5(a)+ft(s,b,c,d)+e+W2[j]+K[s]|0;e=d,d=c,c=rotl30(b),b=a,a=t}this._a=a+this._a|0,this._b=b+this._b|0,this._c=c+this._c|0,this._d=d+this._d|0,this._e=e+this._e|0},Sha.prototype._hash=function(){var H=Buffer2.allocUnsafe(20);return H.writeInt32BE(this._a|0,0),H.writeInt32BE(this._b|0,4),H.writeInt32BE(this._c|0,8),H.writeInt32BE(this._d|0,12),H.writeInt32BE(this._e|0,16),H},module.exports=Sha}}),require_sha1=__commonJS({\"node_modules/sha.js/sha1.js\"(exports,module){var inherits=require_inherits_browser(),Hash=require_hash(),Buffer2=require_safe_buffer().Buffer,K=[1518500249,1859775393,-1894007588,-899497514],W=new Array(80);function Sha1(){this.init(),this._w=W,Hash.call(this,64,56)}inherits(Sha1,Hash),Sha1.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this};function rotl1(num){return num<<1|num>>>31}function rotl5(num){return num<<5|num>>>27}function rotl30(num){return num<<30|num>>>2}function ft(s,b,c,d){return s===0\?b&c|~b&d:s===2\?b&c|b&d|c&d:b^c^d}Sha1.prototype._update=function(M){for(var W2=this._w,a=this._a|0,b=this._b|0,c=this._c|0,d=this._d|0,e=this._e|0,i=0;i<16;++i)W2[i]=M.readInt32BE(i*4);for(;i<80;++i)W2[i]=rotl1(W2[i-3]^W2[i-8]^W2[i-14]^W2[i-16]);for(var j=0;j<80;++j){var s=~~(j/20),t=rotl5(a)+ft(s,b,c,d)+e+W2[j]+K[s]|0;e=d,d=c,c=rotl30(b),b=a,a=t}this._a=a+this._a|0,this._b=b+this._b|0,this._c=c+this._c|0,this._d=d+this._d|0,this._e=e+this._e|0},Sha1.prototype._hash=function(){var H=Buffer2.allocUnsafe(20);return H.writeInt32BE(this._a|0,0),H.writeInt32BE(this._b|0,4),H.writeInt32BE(this._c|0,8),H.writeInt32BE(this._d|0,12),H.writeInt32BE(this._e|0,16),H},module.exports=Sha1}}),require_sha256=__commonJS({\"node_modules/sha.js/sha256.js\"(exports,module){var inherits=require_inherits_browser(),Hash=require_hash(),Buffer2=require_safe_buffer().Buffer,K=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298],W=new Array(64);function Sha256(){this.init(),this._w=W,Hash.call(this,64,56)}inherits(Sha256,Hash),Sha256.prototype.init=function(){return this._a=1779033703,this._b=3144134277,this._c=1013904242,this._d=2773480762,this._e=1359893119,this._f=2600822924,this._g=528734635,this._h=1541459225,this};function ch(x,y,z){return z^x&(y^z)}function maj(x,y,z){return x&y|z&(x|y)}function sigma0(x){return(x>>>2|x<<30)^(x>>>13|x<<19)^(x>>>22|x<<10)}function sigma1(x){return(x>>>6|x<<26)^(x>>>11|x<<21)^(x>>>25|x<<7)}function gamma0(x){return(x>>>7|x<<25)^(x>>>18|x<<14)^x>>>3}function gamma1(x){return(x>>>17|x<<15)^(x>>>19|x<<13)^x>>>10}Sha256.prototype._update=function(M){for(var W2=this._w,a=this._a|0,b=this._b|0,c=this._c|0,d=this._d|0,e=this._e|0,f=this._f|0,g=this._g|0,h=this._h|0,i=0;i<16;++i)W2[i]=M.readInt32BE(i*4);for(;i<64;++i)W2[i]=gamma1(W2[i-2])+W2[i-7]+gamma0(W2[i-15])+W2[i-16]|0;for(var j=0;j<64;++j){var T1=h+sigma1(e)+ch(e,f,g)+K[j]+W2[j]|0,T2=sigma0(a)+maj(a,b,c)|0;h=g,g=f,f=e,e=d+T1|0,d=c,c=b,b=a,a=T1+T2|0}this._a=a+this._a|0,this._b=b+this._b|0,this._c=c+this._c|0,this._d=d+this._d|0,this._e=e+this._e|0,this._f=f+this._f|0,this._g=g+this._g|0,this._h=h+this._h|0},Sha256.prototype._hash=function(){var H=Buffer2.allocUnsafe(32);return H.writeInt32BE(this._a,0),H.writeInt32BE(this._b,4),H.writeInt32BE(this._c,8),H.writeInt32BE(this._d,12),H.writeInt32BE(this._e,16),H.writeInt32BE(this._f,20),H.writeInt32BE(this._g,24),H.writeInt32BE(this._h,28),H},module.exports=Sha256}}),require_sha224=__commonJS({\"node_modules/sha.js/sha224.js\"(exports,module){var inherits=require_inherits_browser(),Sha256=require_sha256(),Hash=require_hash(),Buffer2=require_safe_buffer().Buffer,W=new Array(64);function Sha224(){this.init(),this._w=W,Hash.call(this,64,56)}inherits(Sha224,Sha256),Sha224.prototype.init=function(){return this._a=3238371032,this._b=914150663,this._c=812702999,this._d=4144912697,this._e=4290775857,this._f=1750603025,this._g=1694076839,this._h=3204075428,this},Sha224.prototype._hash=function(){var H=Buffer2.allocUnsafe(28);return H.writeInt32BE(this._a,0),H.writeInt32BE(this._b,4),H.writeInt32BE(this._c,8),H.writeInt32BE(this._d,12),H.writeInt32BE(this._e,16),H.writeInt32BE(this._f,20),H.writeInt32BE(this._g,24),H},module.exports=Sha224}}),require_sha512=__commonJS({\"node_modules/sha.js/sha512.js\"(exports,module){var inherits=require_inherits_browser(),Hash=require_hash(),Buffer2=require_safe_buffer().Buffer,K=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591],W=new Array(160);function Sha512(){this.init(),this._w=W,Hash.call(this,128,112)}inherits(Sha512,Hash),Sha512.prototype.init=function(){return this._ah=1779033703,this._bh=3144134277,this._ch=1013904242,this._dh=2773480762,this._eh=1359893119,this._fh=2600822924,this._gh=528734635,this._hh=1541459225,this._al=4089235720,this._bl=2227873595,this._cl=4271175723,this._dl=1595750129,this._el=2917565137,this._fl=725511199,this._gl=4215389547,this._hl=327033209,this};function Ch(x,y,z){return z^x&(y^z)}function maj(x,y,z){return x&y|z&(x|y)}function sigma0(x,xl){return(x>>>28|xl<<4)^(xl>>>2|x<<30)^(xl>>>7|x<<25)}function sigma1(x,xl){return(x>>>14|xl<<18)^(x>>>18|xl<<14)^(xl>>>9|x<<23)}function Gamma0(x,xl){return(x>>>1|xl<<31)^(x>>>8|xl<<24)^x>>>7}function Gamma0l(x,xl){return(x>>>1|xl<<31)^(x>>>8|xl<<24)^(x>>>7|xl<<25)}function Gamma1(x,xl){return(x>>>19|xl<<13)^(xl>>>29|x<<3)^x>>>6}function Gamma1l(x,xl){return(x>>>19|xl<<13)^(xl>>>29|x<<3)^(x>>>6|xl<<26)}function getCarry(a,b){return a>>>0>>0\?1:0}Sha512.prototype._update=function(M){for(var W2=this._w,ah=this._ah|0,bh=this._bh|0,ch=this._ch|0,dh=this._dh|0,eh=this._eh|0,fh=this._fh|0,gh=this._gh|0,hh=this._hh|0,al=this._al|0,bl=this._bl|0,cl=this._cl|0,dl=this._dl|0,el=this._el|0,fl=this._fl|0,gl=this._gl|0,hl=this._hl|0,i=0;i<32;i+=2)W2[i]=M.readInt32BE(i*4),W2[i+1]=M.readInt32BE(i*4+4);for(;i<160;i+=2){var xh=W2[i-30],xl=W2[i-30+1],gamma0=Gamma0(xh,xl),gamma0l=Gamma0l(xl,xh);xh=W2[i-4],xl=W2[i-4+1];var gamma1=Gamma1(xh,xl),gamma1l=Gamma1l(xl,xh),Wi7h=W2[i-14],Wi7l=W2[i-14+1],Wi16h=W2[i-32],Wi16l=W2[i-32+1],Wil=gamma0l+Wi7l|0,Wih=gamma0+Wi7h+getCarry(Wil,gamma0l)|0;Wil=Wil+gamma1l|0,Wih=Wih+gamma1+getCarry(Wil,gamma1l)|0,Wil=Wil+Wi16l|0,Wih=Wih+Wi16h+getCarry(Wil,Wi16l)|0,W2[i]=Wih,W2[i+1]=Wil}for(var j=0;j<160;j+=2){Wih=W2[j],Wil=W2[j+1];var majh=maj(ah,bh,ch),majl=maj(al,bl,cl),sigma0h=sigma0(ah,al),sigma0l=sigma0(al,ah),sigma1h=sigma1(eh,el),sigma1l=sigma1(el,eh),Kih=K[j],Kil=K[j+1],chh=Ch(eh,fh,gh),chl=Ch(el,fl,gl),t1l=hl+sigma1l|0,t1h=hh+sigma1h+getCarry(t1l,hl)|0;t1l=t1l+chl|0,t1h=t1h+chh+getCarry(t1l,chl)|0,t1l=t1l+Kil|0,t1h=t1h+Kih+getCarry(t1l,Kil)|0,t1l=t1l+Wil|0,t1h=t1h+Wih+getCarry(t1l,Wil)|0;var t2l=sigma0l+majl|0,t2h=sigma0h+majh+getCarry(t2l,sigma0l)|0;hh=gh,hl=gl,gh=fh,gl=fl,fh=eh,fl=el,el=dl+t1l|0,eh=dh+t1h+getCarry(el,dl)|0,dh=ch,dl=cl,ch=bh,cl=bl,bh=ah,bl=al,al=t1l+t2l|0,ah=t1h+t2h+getCarry(al,t1l)|0}this._al=this._al+al|0,this._bl=this._bl+bl|0,this._cl=this._cl+cl|0,this._dl=this._dl+dl|0,this._el=this._el+el|0,this._fl=this._fl+fl|0,this._gl=this._gl+gl|0,this._hl=this._hl+hl|0,this._ah=this._ah+ah+getCarry(this._al,al)|0,this._bh=this._bh+bh+getCarry(this._bl,bl)|0,this._ch=this._ch+ch+getCarry(this._cl,cl)|0,this._dh=this._dh+dh+getCarry(this._dl,dl)|0,this._eh=this._eh+eh+getCarry(this._el,el)|0,this._fh=this._fh+fh+getCarry(this._fl,fl)|0,this._gh=this._gh+gh+getCarry(this._gl,gl)|0,this._hh=this._hh+hh+getCarry(this._hl,hl)|0},Sha512.prototype._hash=function(){var H=Buffer2.allocUnsafe(64);function writeInt64BE(h,l,offset){H.writeInt32BE(h,offset),H.writeInt32BE(l,offset+4)}return writeInt64BE(this._ah,this._al,0),writeInt64BE(this._bh,this._bl,8),writeInt64BE(this._ch,this._cl,16),writeInt64BE(this._dh,this._dl,24),writeInt64BE(this._eh,this._el,32),writeInt64BE(this._fh,this._fl,40),writeInt64BE(this._gh,this._gl,48),writeInt64BE(this._hh,this._hl,56),H},module.exports=Sha512}}),require_sha384=__commonJS({\"node_modules/sha.js/sha384.js\"(exports,module){var inherits=require_inherits_browser(),SHA512=require_sha512(),Hash=require_hash(),Buffer2=require_safe_buffer().Buffer,W=new Array(160);function Sha384(){this.init(),this._w=W,Hash.call(this,128,112)}inherits(Sha384,SHA512),Sha384.prototype.init=function(){return this._ah=3418070365,this._bh=1654270250,this._ch=2438529370,this._dh=355462360,this._eh=1731405415,this._fh=2394180231,this._gh=3675008525,this._hh=1203062813,this._al=3238371032,this._bl=914150663,this._cl=812702999,this._dl=4144912697,this._el=4290775857,this._fl=1750603025,this._gl=1694076839,this._hl=3204075428,this},Sha384.prototype._hash=function(){var H=Buffer2.allocUnsafe(48);function writeInt64BE(h,l,offset){H.writeInt32BE(h,offset),H.writeInt32BE(l,offset+4)}return writeInt64BE(this._ah,this._al,0),writeInt64BE(this._bh,this._bl,8),writeInt64BE(this._ch,this._cl,16),writeInt64BE(this._dh,this._dl,24),writeInt64BE(this._eh,this._el,32),writeInt64BE(this._fh,this._fl,40),H},module.exports=Sha384}}),require_sha2=__commonJS({\"node_modules/sha.js/index.js\"(exports,module){var exports=module.exports=function(algorithm){algorithm=algorithm.toLowerCase();var Algorithm=exports[algorithm];if(!Algorithm)throw new Error(algorithm+\" is not supported (we accept pull requests)\");return new Algorithm};exports.sha=require_sha(),exports.sha1=require_sha1(),exports.sha224=require_sha224(),exports.sha256=require_sha256(),exports.sha384=require_sha384(),exports.sha512=require_sha512()}}),require_cipher_base=__commonJS({\"node_modules/cipher-base/index.js\"(exports,module){var Buffer2=require_safe_buffer().Buffer,inherits=require_inherits_browser();function CipherBase(hashMode){StreamModule.Transform.call(this),this.hashMode=typeof hashMode==\"string\",this.hashMode\?this[hashMode]=this._finalOrDigest:this.final=this._finalOrDigest,this._final&&(this.__final=this._final,this._final=null),this._decoder=null,this._encoding=null}inherits(CipherBase,StreamModule.Transform),CipherBase.prototype.update=function(data,inputEnc,outputEnc){typeof data==\"string\"&&(data=Buffer2.from(data,inputEnc));var outData=this._update(data);return this.hashMode\?this:(outputEnc&&(outData=this._toString(outData,outputEnc)),outData)},CipherBase.prototype.setAutoPadding=function(){},CipherBase.prototype.getAuthTag=function(){throw new Error(\"trying to get auth tag in unsupported state\")},CipherBase.prototype.setAuthTag=function(){throw new Error(\"trying to set auth tag in unsupported state\")},CipherBase.prototype.setAAD=function(){throw new Error(\"trying to set aad in unsupported state\")},CipherBase.prototype._transform=function(data,_,next){var err;try{this.hashMode\?this._update(data):this.push(this._update(data))}catch(e){err=e}finally{next(err)}},CipherBase.prototype._flush=function(done){var err;try{this.push(this.__final())}catch(e){err=e}done(err)},CipherBase.prototype._finalOrDigest=function(outputEnc){var outData=this.__final()||Buffer2.alloc(0);return outputEnc&&(outData=this._toString(outData,outputEnc,!0)),outData},CipherBase.prototype._toString=function(value,enc,fin){if(this._decoder||(this._decoder=new StringDecoder(enc),this._encoding=enc),this._encoding!==enc)throw new Error(\"can't switch encodings\");var out=this._decoder.write(value);return fin&&(out+=this._decoder.end()),out},module.exports=CipherBase}}),require_browser2=__commonJS({\"node_modules/create-hash/browser.js\"(exports,module){const LazyHash=function Hash(algorithm,options){this._options=options,this._hasher=new CryptoHasher(algorithm,options),this._finalized=!1};LazyHash.prototype=Object.create(StreamModule.Transform.prototype),LazyHash.prototype.update=function update(data,encoding){return this._checkFinalized(),this._hasher.update(data,encoding),this},LazyHash.prototype.digest=function update(data,encoding){return this._checkFinalized(),this._finalized=!0,this._hasher.digest(data,encoding)},LazyHash.prototype._checkFinalized=function _checkFinalized(){if(this._finalized){var err=new Error(\"Digest already called\");throw err.code=\"ERR_CRYPTO_HASH_FINALIZED\",err}},LazyHash.prototype.copy=function copy(){const copy=Object.create(LazyHash.prototype);return copy._options=this._options,copy._hasher=this._hasher.copy(),copy._finalized=this._finalized,copy};const lazyHashFullInitProto={__proto__:StreamModule.Transform.prototype,...LazyHash.prototype,_transform(data,encoding,callback){this.update(data,encoding),callback&&callback()},_flush(callback){this.push(this.digest()),callback()}},triggerMethods=[\"_events\",\"_eventsCount\",\"_final\",\"_maxListeners\",\"_maxListeners\",\"_read\",\"_undestroy\",\"_writableState\",\"_write\",\"_writev\",\"addListener\",\"asIndexedPairs\",\"closed\",\"compose\",\"constructor\",\"cork\",\"destroy\",\"destroyed\",\"drop\",\"emit\",\"end\",\"errored\",\"eventNames\",\"every\",\"filter\",\"find\",\"flatMap\",\"forEach\",\"getMaxListeners\",\"hasOwnProperty\",\"isPaused\",\"isPrototypeOf\",\"iterator\",\"listenerCount\",\"listeners\",\"map\",\"off\",\"on\",\"once\",\"pause\",\"pipe\",\"prependListener\",\"prependOnceListener\",\"propertyIsEnumerable\",\"push\",\"rawListeners\",\"read\",\"readable\",\"readableAborted\",\"readableBuffer\",\"readableDidRead\",\"readableEncoding\",\"readableEnded\",\"readableFlowing\",\"readableHighWaterMark\",\"readableLength\",\"readableObjectMode\",\"reduce\",\"removeAllListeners\",\"removeListener\",\"resume\",\"setDefaultEncoding\",\"setEncoding\",\"setMaxListeners\",\"some\",\"take\",\"toArray\",\"toLocaleString\",\"toString\",\"uncork\",\"unpipe\",\"unshift\",\"valueOf\",\"wrap\",\"writable\",\"writableBuffer\",\"writableCorked\",\"writableEnded\",\"writableFinished\",\"writableHighWaterMark\",\"writableLength\",\"writableNeedDrain\",\"writableObjectMode\",\"write\"];for(let method of triggerMethods)Object.defineProperty(LazyHash.prototype,method,{get(){return Object.setPrototypeOf(this,lazyHashFullInitProto),StreamModule.Transform.call(this,this._options),this[method]},enumerable:!1,configurable:!0});module.exports=function createHash(algorithm){return new LazyHash(algorithm)},module.exports.createHash=module.exports,module.exports.Hash=LazyHash}}),require_legacy=__commonJS({\"node_modules/create-hmac/legacy.js\"(exports,module){var inherits=require_inherits_browser(),Buffer2=require_safe_buffer().Buffer,Base=require_cipher_base(),ZEROS=Buffer2.alloc(128),blocksize=64;function Hmac(alg,key){Base.call(this,\"digest\"),typeof key==\"string\"&&(key=Buffer2.from(key)),this._alg=alg,this._key=key,key.length>blocksize\?key=alg(key):key.lengthblocksize){var hash=alg===\"rmd160\"\?new RIPEMD160:sha(alg);key=hash.update(key).digest()}else key.lengthMAX_ALLOC||keylen!==keylen)@throwTypeError(\"Bad key length\")}}}),require_default_encoding=__commonJS({\"node_modules/pbkdf2/lib/default-encoding.js\"(exports,module){var defaultEncoding;global.process&&global.process.browser\?defaultEncoding=\"utf-8\":global.process&&global.process.version\?(pVersionMajor=parseInt(process.version.split(\".\")[0].slice(1),10),defaultEncoding=pVersionMajor>=6\?\"utf-8\":\"binary\"):defaultEncoding=\"utf-8\";var pVersionMajor;module.exports=defaultEncoding}}),require_to_buffer=__commonJS({\"node_modules/pbkdf2/lib/to-buffer.js\"(exports,module){var Buffer2=require_safe_buffer().Buffer;module.exports=function(thing,encoding,name){if(Buffer2.isBuffer(thing))return thing;if(typeof thing==\"string\")return Buffer2.from(thing,encoding);if(ArrayBuffer.isView(thing))return Buffer2.from(thing.buffer);@throwTypeError(name+\" must be a string, a Buffer, a typed array or a DataView\")}}}),require_sync_browser=__commonJS({\"node_modules/pbkdf2/lib/sync-browser.js\"(exports,module){var md5=require_md52(),RIPEMD160=require_ripemd160(),sha=require_sha2(),Buffer2=require_safe_buffer().Buffer,checkParameters=require_precondition(),defaultEncoding=require_default_encoding(),toBuffer=require_to_buffer(),ZEROS=Buffer2.alloc(128),sizes={md5:16,sha1:20,sha224:28,sha256:32,sha384:48,sha512:64,rmd160:20,ripemd160:20};function Hmac(alg,key,saltLen){var hash=getDigest(alg),blocksize=alg===\"sha512\"||alg===\"sha384\"\?128:64;key.length>blocksize\?key=hash(key):key.length>>0},exports.writeUInt32BE=function(bytes,value,off){bytes[0+off]=value>>>24,bytes[1+off]=value>>>16&255,bytes[2+off]=value>>>8&255,bytes[3+off]=value&255},exports.ip=function(inL,inR,out,off){for(var outL=0,outR=0,i=6;i>=0;i-=2){for(var j=0;j<=24;j+=8)outL<<=1,outL|=inR>>>j+i&1;for(var j=0;j<=24;j+=8)outL<<=1,outL|=inL>>>j+i&1}for(var i=6;i>=0;i-=2){for(var j=1;j<=25;j+=8)outR<<=1,outR|=inR>>>j+i&1;for(var j=1;j<=25;j+=8)outR<<=1,outR|=inL>>>j+i&1}out[off+0]=outL>>>0,out[off+1]=outR>>>0},exports.rip=function(inL,inR,out,off){for(var outL=0,outR=0,i=0;i<4;i++)for(var j=24;j>=0;j-=8)outL<<=1,outL|=inR>>>j+i&1,outL<<=1,outL|=inL>>>j+i&1;for(var i=4;i<8;i++)for(var j=24;j>=0;j-=8)outR<<=1,outR|=inR>>>j+i&1,outR<<=1,outR|=inL>>>j+i&1;out[off+0]=outL>>>0,out[off+1]=outR>>>0},exports.pc1=function(inL,inR,out,off){for(var outL=0,outR=0,i=7;i>=5;i--){for(var j=0;j<=24;j+=8)outL<<=1,outL|=inR>>j+i&1;for(var j=0;j<=24;j+=8)outL<<=1,outL|=inL>>j+i&1}for(var j=0;j<=24;j+=8)outL<<=1,outL|=inR>>j+i&1;for(var i=1;i<=3;i++){for(var j=0;j<=24;j+=8)outR<<=1,outR|=inR>>j+i&1;for(var j=0;j<=24;j+=8)outR<<=1,outR|=inL>>j+i&1}for(var j=0;j<=24;j+=8)outR<<=1,outR|=inL>>j+i&1;out[off+0]=outL>>>0,out[off+1]=outR>>>0},exports.r28shl=function(num,shift){return num<>>28-shift};var pc2table=[14,11,17,4,27,23,25,0,13,22,7,18,5,9,16,24,2,20,12,21,1,8,15,26,15,4,25,19,9,1,26,16,5,11,23,8,12,7,17,0,22,3,10,14,6,20,27,24];exports.pc2=function(inL,inR,out,off){for(var outL=0,outR=0,len=pc2table.length>>>1,i=0;i>>pc2table[i]&1;for(var i=len;i>>pc2table[i]&1;out[off+0]=outL>>>0,out[off+1]=outR>>>0},exports.expand=function(r,out,off){var outL=0,outR=0;outL=(r&1)<<5|r>>>27;for(var i=23;i>=15;i-=4)outL<<=6,outL|=r>>>i&63;for(var i=11;i>=3;i-=4)outR|=r>>>i&63,outR<<=6;outR|=(r&31)<<1|r>>>31,out[off+0]=outL>>>0,out[off+1]=outR>>>0};var sTable=[14,0,4,15,13,7,1,4,2,14,15,2,11,13,8,1,3,10,10,6,6,12,12,11,5,9,9,5,0,3,7,8,4,15,1,12,14,8,8,2,13,4,6,9,2,1,11,7,15,5,12,11,9,3,7,14,3,10,10,0,5,6,0,13,15,3,1,13,8,4,14,7,6,15,11,2,3,8,4,14,9,12,7,0,2,1,13,10,12,6,0,9,5,11,10,5,0,13,14,8,7,10,11,1,10,3,4,15,13,4,1,2,5,11,8,6,12,7,6,12,9,0,3,5,2,14,15,9,10,13,0,7,9,0,14,9,6,3,3,4,15,6,5,10,1,2,13,8,12,5,7,14,11,12,4,11,2,15,8,1,13,1,6,10,4,13,9,0,8,6,15,9,3,8,0,7,11,4,1,15,2,14,12,3,5,11,10,5,14,2,7,12,7,13,13,8,14,11,3,5,0,6,6,15,9,0,10,3,1,4,2,7,8,2,5,12,11,1,12,10,4,14,15,9,10,3,6,15,9,0,0,6,12,10,11,1,7,13,13,8,15,9,1,4,3,5,14,11,5,12,2,7,8,2,4,14,2,14,12,11,4,2,1,12,7,4,10,7,11,13,6,1,8,5,5,0,3,15,15,10,13,3,0,9,14,8,9,6,4,11,2,8,1,12,11,7,10,1,13,14,7,2,8,13,15,6,9,15,12,0,5,9,6,10,3,4,0,5,14,3,12,10,1,15,10,4,15,2,9,7,2,12,6,9,8,5,0,6,13,1,3,13,4,14,14,0,7,11,5,3,11,8,9,4,14,3,15,2,5,12,2,9,8,5,12,15,3,10,7,11,0,14,4,1,10,7,1,6,13,0,11,8,6,13,4,13,11,0,2,11,14,7,15,4,0,9,8,1,13,10,3,14,12,3,9,5,7,12,5,2,10,15,6,8,1,6,1,6,4,11,11,13,13,8,12,1,3,4,7,10,14,7,10,9,15,5,6,0,8,15,0,14,5,2,9,3,2,12,13,1,2,15,8,13,4,8,6,10,15,3,11,7,1,4,10,12,9,5,3,6,14,11,5,0,0,14,12,9,7,2,7,2,11,1,4,14,1,7,9,4,12,10,14,8,2,13,0,15,6,12,10,9,13,0,15,3,3,5,5,6,8,11];exports.substitute=function(inL,inR){for(var out=0,i=0;i<4;i++){var b=inL>>>18-i*6&63,sb=sTable[i*64+b];out<<=4,out|=sb}for(var i=0;i<4;i++){var b=inR>>>18-i*6&63,sb=sTable[256+i*64+b];out<<=4,out|=sb}return out>>>0};var permuteTable=[16,25,12,11,3,20,4,15,31,17,9,6,27,14,1,22,30,24,8,18,0,5,29,23,13,19,2,26,10,21,28,7];exports.permute=function(num){for(var out=0,i=0;i>>permuteTable[i]&1;return out>>>0},exports.padSplit=function(num,size,group){for(var str=num.toString(2);str.length0;count--)inputOff+=this._buffer(data,inputOff),outputOff+=this._flushBuffer(out,outputOff);return inputOff+=this._buffer(data,inputOff),out},Cipher.prototype.final=function(buffer){var first;buffer&&(first=this.update(buffer));var last;return this.type===\"encrypt\"\?last=this._finalEncrypt():last=this._finalDecrypt(),first\?first.concat(last):last},Cipher.prototype._pad=function(buffer,off){if(off===0)return!1;for(;off>>1];kL=utils.r28shl(kL,shift),kR=utils.r28shl(kR,shift),utils.pc2(kL,kR,state.keys,i)}},DES.prototype._update=function(inp,inOff,out,outOff){var state=this._desState,l=utils.readUInt32BE(inp,inOff),r=utils.readUInt32BE(inp,inOff+4);utils.ip(l,r,state.tmp,0),l=state.tmp[0],r=state.tmp[1],this.type===\"encrypt\"\?this._encrypt(state,l,r,state.tmp,0):this._decrypt(state,l,r,state.tmp,0),l=state.tmp[0],r=state.tmp[1],utils.writeUInt32BE(out,l,outOff),utils.writeUInt32BE(out,r,outOff+4)},DES.prototype._pad=function(buffer,off){for(var value=buffer.length-off,i=off;i>>0,l=t}utils.rip(r,l,out,off)},DES.prototype._decrypt=function(state,lStart,rStart,out,off){for(var l=rStart,r=lStart,i=state.keys.length-2;i>=0;i-=2){var keyL=state.keys[i],keyR=state.keys[i+1];utils.expand(l,state.tmp,0),keyL^=state.tmp[0],keyR^=state.tmp[1];var s=utils.substitute(keyL,keyR),f=utils.permute(s),t=l;l=(r^f)>>>0,r=t}utils.rip(l,r,out,off)}}}),require_cbc=__commonJS({\"node_modules/des.js/lib/des/cbc.js\"(exports){var assert=require_minimalistic_assert(),inherits=require_inherits_browser(),proto={};function CBCState(iv){assert.equal(iv.length,8,\"Invalid IV length\"),this.iv=new Array(8);for(var i=0;i>i%8,self2._prev=shiftIn(self2._prev,decrypt\?bit:value);return out}function shiftIn(buffer,value){var len=buffer.length,i=-1,out=Buffer2.allocUnsafe(buffer.length);for(buffer=Buffer2.concat([buffer,Buffer2.from([value])]);++i>7;return out}exports.encrypt=function(self2,chunk,decrypt){for(var len=chunk.length,out=Buffer2.allocUnsafe(len),i=-1;++i>>24]^SUB_MIX1[s1>>>16&255]^SUB_MIX2[s2>>>8&255]^SUB_MIX3[s3&255]^keySchedule[ksRow++],t1=SUB_MIX0[s1>>>24]^SUB_MIX1[s2>>>16&255]^SUB_MIX2[s3>>>8&255]^SUB_MIX3[s0&255]^keySchedule[ksRow++],t2=SUB_MIX0[s2>>>24]^SUB_MIX1[s3>>>16&255]^SUB_MIX2[s0>>>8&255]^SUB_MIX3[s1&255]^keySchedule[ksRow++],t3=SUB_MIX0[s3>>>24]^SUB_MIX1[s0>>>16&255]^SUB_MIX2[s1>>>8&255]^SUB_MIX3[s2&255]^keySchedule[ksRow++],s0=t0,s1=t1,s2=t2,s3=t3;return t0=(SBOX[s0>>>24]<<24|SBOX[s1>>>16&255]<<16|SBOX[s2>>>8&255]<<8|SBOX[s3&255])^keySchedule[ksRow++],t1=(SBOX[s1>>>24]<<24|SBOX[s2>>>16&255]<<16|SBOX[s3>>>8&255]<<8|SBOX[s0&255])^keySchedule[ksRow++],t2=(SBOX[s2>>>24]<<24|SBOX[s3>>>16&255]<<16|SBOX[s0>>>8&255]<<8|SBOX[s1&255])^keySchedule[ksRow++],t3=(SBOX[s3>>>24]<<24|SBOX[s0>>>16&255]<<16|SBOX[s1>>>8&255]<<8|SBOX[s2&255])^keySchedule[ksRow++],t0=t0>>>0,t1=t1>>>0,t2=t2>>>0,t3=t3>>>0,[t0,t1,t2,t3]}var RCON=[0,1,2,4,8,16,32,64,128,27,54],G=function(){for(var d=new Array(256),j=0;j<256;j++)j<128\?d[j]=j<<1:d[j]=j<<1^283;for(var SBOX=[],INV_SBOX=[],SUB_MIX=[[],[],[],[]],INV_SUB_MIX=[[],[],[],[]],x=0,xi=0,i=0;i<256;++i){var sx=xi^xi<<1^xi<<2^xi<<3^xi<<4;sx=sx>>>8^sx&255^99,SBOX[x]=sx,INV_SBOX[sx]=x;var x2=d[x],x4=d[x2],x8=d[x4],t=d[sx]*257^sx*16843008;SUB_MIX[0][x]=t<<24|t>>>8,SUB_MIX[1][x]=t<<16|t>>>16,SUB_MIX[2][x]=t<<8|t>>>24,SUB_MIX[3][x]=t,t=x8*16843009^x4*65537^x2*257^x*16843008,INV_SUB_MIX[0][sx]=t<<24|t>>>8,INV_SUB_MIX[1][sx]=t<<16|t>>>16,INV_SUB_MIX[2][sx]=t<<8|t>>>24,INV_SUB_MIX[3][sx]=t,x===0\?x=xi=1:(x=x2^d[d[d[x8^x2]]],xi^=d[d[xi]])}return{SBOX,INV_SBOX,SUB_MIX,INV_SUB_MIX}}();function AES(key){this._key=asUInt32Array(key),this._reset()}AES.blockSize=16,AES.keySize=32,AES.prototype.blockSize=AES.blockSize,AES.prototype.keySize=AES.keySize,AES.prototype._reset=function(){for(var keyWords=this._key,keySize=keyWords.length,nRounds=keySize+6,ksRows=(nRounds+1)*4,keySchedule=[],k=0;k>>24,t=G.SBOX[t>>>24]<<24|G.SBOX[t>>>16&255]<<16|G.SBOX[t>>>8&255]<<8|G.SBOX[t&255],t^=RCON[k/keySize|0]<<24):keySize>6&&k%keySize===4&&(t=G.SBOX[t>>>24]<<24|G.SBOX[t>>>16&255]<<16|G.SBOX[t>>>8&255]<<8|G.SBOX[t&255]),keySchedule[k]=keySchedule[k-keySize]^t}for(var invKeySchedule=[],ik=0;ik>>24]]^G.INV_SUB_MIX[1][G.SBOX[tt>>>16&255]]^G.INV_SUB_MIX[2][G.SBOX[tt>>>8&255]]^G.INV_SUB_MIX[3][G.SBOX[tt&255]]}this._nRounds=nRounds,this._keySchedule=keySchedule,this._invKeySchedule=invKeySchedule},AES.prototype.encryptBlockRaw=function(M){return M=asUInt32Array(M),cryptBlock(M,this._keySchedule,G.SUB_MIX,G.SBOX,this._nRounds)},AES.prototype.encryptBlock=function(M){var out=this.encryptBlockRaw(M),buf=Buffer2.allocUnsafe(16);return buf.writeUInt32BE(out[0],0),buf.writeUInt32BE(out[1],4),buf.writeUInt32BE(out[2],8),buf.writeUInt32BE(out[3],12),buf},AES.prototype.decryptBlock=function(M){M=asUInt32Array(M);var m1=M[1];M[1]=M[3],M[3]=m1;var out=cryptBlock(M,this._invKeySchedule,G.INV_SUB_MIX,G.INV_SBOX,this._nRounds),buf=Buffer2.allocUnsafe(16);return buf.writeUInt32BE(out[0],0),buf.writeUInt32BE(out[3],4),buf.writeUInt32BE(out[2],8),buf.writeUInt32BE(out[1],12),buf},AES.prototype.scrub=function(){scrubVec(this._keySchedule),scrubVec(this._invKeySchedule),scrubVec(this._key)},module.exports.AES=AES}}),require_ghash=__commonJS({\"node_modules/browserify-aes/ghash.js\"(exports,module){var Buffer2=require_safe_buffer().Buffer,ZEROES=Buffer2.alloc(16,0);function toArray(buf){return[buf.readUInt32BE(0),buf.readUInt32BE(4),buf.readUInt32BE(8),buf.readUInt32BE(12)]}function fromArray(out){var buf=Buffer2.allocUnsafe(16);return buf.writeUInt32BE(out[0]>>>0,0),buf.writeUInt32BE(out[1]>>>0,4),buf.writeUInt32BE(out[2]>>>0,8),buf.writeUInt32BE(out[3]>>>0,12),buf}function GHASH(key){this.h=key,this.state=Buffer2.alloc(16,0),this.cache=Buffer2.allocUnsafe(0)}GHASH.prototype.ghash=function(block){for(var i=-1;++i0;j--)Vi[j]=Vi[j]>>>1|(Vi[j-1]&1)<<31;Vi[0]=Vi[0]>>>1,lsbVi&&(Vi[0]=Vi[0]^225<<24)}this.state=fromArray(Zi)},GHASH.prototype.update=function(buf){this.cache=Buffer2.concat([this.cache,buf]);for(var chunk;this.cache.length>=16;)chunk=this.cache.slice(0,16),this.cache=this.cache.slice(16),this.ghash(chunk)},GHASH.prototype.final=function(abl,bl){return this.cache.length&&this.ghash(Buffer2.concat([this.cache,ZEROES],16)),this.ghash(fromArray([0,abl,0,bl])),this.state},module.exports=GHASH}}),require_authCipher=__commonJS({\"node_modules/browserify-aes/authCipher.js\"(exports,module){var aes=require_aes(),Buffer2=require_safe_buffer().Buffer,Transform=require_cipher_base(),inherits=require_inherits_browser(),GHASH=require_ghash(),xor=require_buffer_xor(),incr32=require_incr32();function xorTest(a,b){var out=0;a.length!==b.length&&out++;for(var len=Math.min(a.length,b.length),i=0;i0||ivLen>0;){var hash=new MD5;hash.update(tmp),hash.update(password),salt&&hash.update(salt),tmp=hash.digest();var used=0;if(keyLen>0){var keyStart=key.length-keyLen;used=Math.min(keyLen,tmp.length),tmp.copy(key,keyStart,0,used),keyLen-=used}if(used0){var ivStart=iv.length-ivLen,length=Math.min(ivLen,tmp.length-used);tmp.copy(iv,ivStart,used,used+length),ivLen-=length}}return tmp.fill(0),{key,iv}}module.exports=EVP_BytesToKey}}),require_encrypter=__commonJS({\"node_modules/browserify-aes/encrypter.js\"(exports){var MODES=require_modes(),AuthCipher=require_authCipher(),Buffer2=require_safe_buffer().Buffer,StreamCipher=require_streamCipher(),Transform=require_cipher_base(),aes=require_aes(),ebtk=require_evp_bytestokey(),inherits=require_inherits_browser();function Cipher(mode,key,iv){Transform.call(this),this._cache=new Splitter,this._cipher=new aes.AES(key),this._prev=Buffer2.from(iv),this._mode=mode,this._autopadding=!0}inherits(Cipher,Transform),Cipher.prototype._update=function(data){this._cache.add(data);for(var chunk,thing,out=[];chunk=this._cache.get();)thing=this._mode.encrypt(this,chunk),out.push(thing);return Buffer2.concat(out)};var PADDING=Buffer2.alloc(16,16);Cipher.prototype._final=function(){var chunk=this._cache.flush();if(this._autopadding)return chunk=this._mode.encrypt(this,chunk),this._cipher.scrub(),chunk;if(!chunk.equals(PADDING))throw this._cipher.scrub(),new Error(\"data not multiple of block length\")},Cipher.prototype.setAutoPadding=function(setTo){return this._autopadding=!!setTo,this};function Splitter(){this.cache=Buffer2.allocUnsafe(0)}Splitter.prototype.add=function(data){this.cache=Buffer2.concat([this.cache,data])},Splitter.prototype.get=function(){if(this.cache.length>15){var out=this.cache.slice(0,16);return this.cache=this.cache.slice(16),out}return null},Splitter.prototype.flush=function(){for(var len=16-this.cache.length,padBuff=Buffer2.allocUnsafe(len),i=-1;++i16)return out=this.cache.slice(0,16),this.cache=this.cache.slice(16),out}else if(this.cache.length>=16)return out=this.cache.slice(0,16),this.cache=this.cache.slice(16),out;return null},Splitter.prototype.flush=function(){if(this.cache.length)return this.cache};function unpad(last){var padded=last[15];if(padded<1||padded>16)throw new Error(\"unable to decrypt data\");for(var i=-1;++i0\?left:right},BN.min=function(left,right){return left.cmp(right)<0\?left:right},BN.prototype._init=function(number,base,endian){if(typeof number==\"number\")return this._initNumber(number,base,endian);if(typeof number==\"object\")return this._initArray(number,base,endian);base===\"hex\"&&(base=16),assert(base===(base|0)&&base>=2&&base<=36),number=number.toString().replace(/\\s+/g,\"\");var start=0;number[0]===\"-\"&&(start++,this.negative=1),start=0;i-=3)w=number[i]|number[i-1]<<8|number[i-2]<<16,this.words[j]|=w<>>26-off&67108863,off+=24,off>=26&&(off-=26,j++);else if(endian===\"le\")for(i=0,j=0;i>>26-off&67108863,off+=24,off>=26&&(off-=26,j++);return this.strip()};function parseHex4Bits(string,index){var c=string.charCodeAt(index);return c>=65&&c<=70\?c-55:c>=97&&c<=102\?c-87:c-48&15}function parseHexByte(string,lowerBound,index){var r=parseHex4Bits(string,index);return index-1>=lowerBound&&(r|=parseHex4Bits(string,index-1)<<4),r}BN.prototype._parseHex=function(number,start,endian){this.length=Math.ceil((number.length-start)/6),this.words=new Array(this.length);for(var i=0;i=start;i-=2)w=parseHexByte(number,start,i)<=18\?(off-=18,j+=1,this.words[j]|=w>>>26):off+=8;else{var parseLength=number.length-start;for(i=parseLength%2===0\?start+1:start;i=18\?(off-=18,j+=1,this.words[j]|=w>>>26):off+=8}this.strip()};function parseBase(str,start,end,mul){for(var r=0,len=Math.min(str.length,end),i=start;i=49\?r+=c-49+10:c>=17\?r+=c-17+10:r+=c}return r}BN.prototype._parseBase=function(number,base,start){this.words=[0],this.length=1;for(var limbLen=0,limbPow=1;limbPow<=67108863;limbPow*=base)limbLen++;limbLen--,limbPow=limbPow/base|0;for(var total=number.length-start,mod=total%limbLen,end=Math.min(total,total-mod)+start,word=0,i=start;i1&&this.words[this.length-1]===0;)this.length--;return this._normSign()},BN.prototype._normSign=function(){return this.length===1&&this.words[0]===0&&(this.negative=0),this},BN.prototype.inspect=function(){return(this.red\?\"\"};var zeros=[\"\",\"0\",\"00\",\"000\",\"0000\",\"00000\",\"000000\",\"0000000\",\"00000000\",\"000000000\",\"0000000000\",\"00000000000\",\"000000000000\",\"0000000000000\",\"00000000000000\",\"000000000000000\",\"0000000000000000\",\"00000000000000000\",\"000000000000000000\",\"0000000000000000000\",\"00000000000000000000\",\"000000000000000000000\",\"0000000000000000000000\",\"00000000000000000000000\",\"000000000000000000000000\",\"0000000000000000000000000\"],groupSizes=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],groupBases=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64000000,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,24300000,28629151,33554432,39135393,45435424,52521875,60466176];BN.prototype.toString=function(base,padding){base=base||10,padding=padding|0||1;var out;if(base===16||base===\"hex\"){out=\"\";for(var off=0,carry=0,i=0;i>>24-off&16777215,carry!==0||i!==this.length-1\?out=zeros[6-word.length]+word+out:out=word+out,off+=2,off>=26&&(off-=26,i--)}for(carry!==0&&(out=carry.toString(16)+out);out.length%padding!==0;)out=\"0\"+out;return this.negative!==0&&(out=\"-\"+out),out}if(base===(base|0)&&base>=2&&base<=36){var groupSize=groupSizes[base],groupBase=groupBases[base];out=\"\";var c=this.clone();for(c.negative=0;!c.isZero();){var r=c.modn(groupBase).toString(base);c=c.idivn(groupBase),c.isZero()\?out=r+out:out=zeros[groupSize-r.length]+r+out}for(this.isZero()&&(out=\"0\"+out);out.length%padding!==0;)out=\"0\"+out;return this.negative!==0&&(out=\"-\"+out),out}assert(!1,\"Base should be between 2 and 36\")},BN.prototype.toNumber=function(){var ret=this.words[0];return this.length===2\?ret+=this.words[1]*67108864:this.length===3&&this.words[2]===1\?ret+=4503599627370496+this.words[1]*67108864:this.length>2&&assert(!1,\"Number can only safely store up to 53 bits\"),this.negative!==0\?-ret:ret},BN.prototype.toJSON=function(){return this.toString(16)},BN.prototype.toBuffer=function(endian,length){return assert(typeof Buffer2<\"u\"),this.toArrayLike(Buffer2,endian,length)},BN.prototype.toArray=function(endian,length){return this.toArrayLike(Array,endian,length)},BN.prototype.toArrayLike=function(ArrayType,endian,length){var byteLength=this.byteLength(),reqLength=length||Math.max(1,byteLength);assert(byteLength<=reqLength,\"byte array longer than desired length\"),assert(reqLength>0,\"Requested array length <= 0\"),this.strip();var littleEndian=endian===\"le\",res=new ArrayType(reqLength),b,i,q=this.clone();if(littleEndian){for(i=0;!q.isZero();i++)b=q.andln(255),q.iushrn(8),res[i]=b;for(;i=4096&&(r+=13,t>>>=13),t>=64&&(r+=7,t>>>=7),t>=8&&(r+=4,t>>>=4),t>=2&&(r+=2,t>>>=2),r+t},BN.prototype._zeroBits=function(w){if(w===0)return 26;var t=w,r=0;return(t&8191)===0&&(r+=13,t>>>=13),(t&127)===0&&(r+=7,t>>>=7),(t&15)===0&&(r+=4,t>>>=4),(t&3)===0&&(r+=2,t>>>=2),(t&1)===0&&r++,r},BN.prototype.bitLength=function(){var w=this.words[this.length-1],hi=this._countBits(w);return(this.length-1)*26+hi};function toBitArray(num){for(var w=new Array(num.bitLength()),bit=0;bit>>wbit}return w}BN.prototype.zeroBits=function(){if(this.isZero())return 0;for(var r=0,i=0;inum.length\?this.clone().ior(num):num.clone().ior(this)},BN.prototype.uor=function(num){return this.length>num.length\?this.clone().iuor(num):num.clone().iuor(this)},BN.prototype.iuand=function(num){var b;this.length>num.length\?b=num:b=this;for(var i=0;inum.length\?this.clone().iand(num):num.clone().iand(this)},BN.prototype.uand=function(num){return this.length>num.length\?this.clone().iuand(num):num.clone().iuand(this)},BN.prototype.iuxor=function(num){var a,b;this.length>num.length\?(a=this,b=num):(a=num,b=this);for(var i=0;inum.length\?this.clone().ixor(num):num.clone().ixor(this)},BN.prototype.uxor=function(num){return this.length>num.length\?this.clone().iuxor(num):num.clone().iuxor(this)},BN.prototype.inotn=function(width){assert(typeof width==\"number\"&&width>=0);var bytesNeeded=Math.ceil(width/26)|0,bitsLeft=width%26;this._expand(bytesNeeded),bitsLeft>0&&bytesNeeded--;for(var i=0;i0&&(this.words[i]=~this.words[i]&67108863>>26-bitsLeft),this.strip()},BN.prototype.notn=function(width){return this.clone().inotn(width)},BN.prototype.setn=function(bit,val){assert(typeof bit==\"number\"&&bit>=0);var off=bit/26|0,wbit=bit%26;return this._expand(off+1),val\?this.words[off]=this.words[off]|1<num.length\?(a=this,b=num):(a=num,b=this);for(var carry=0,i=0;i>>26;for(;carry!==0&&i>>26;if(this.length=a.length,carry!==0)this.words[this.length]=carry,this.length++;else if(a!==this)for(;inum.length\?this.clone().iadd(num):num.clone().iadd(this)},BN.prototype.isub=function(num){if(num.negative!==0){num.negative=0;var r=this.iadd(num);return num.negative=1,r._normSign()}else if(this.negative!==0)return this.negative=0,this.iadd(num),this.negative=1,this._normSign();var cmp=this.cmp(num);if(cmp===0)return this.negative=0,this.length=1,this.words[0]=0,this;var a,b;cmp>0\?(a=this,b=num):(a=num,b=this);for(var carry=0,i=0;i>26,this.words[i]=r&67108863;for(;carry!==0&&i>26,this.words[i]=r&67108863;if(carry===0&&i>>26,rword=carry&67108863,maxJ=Math.min(k,num.length-1),j=Math.max(0,k-self2.length+1);j<=maxJ;j++){var i=k-j|0;a=self2.words[i]|0,b=num.words[j]|0,r=a*b+rword,ncarry+=r/67108864|0,rword=r&67108863}out.words[k]=rword|0,carry=ncarry|0}return carry!==0\?out.words[k]=carry|0:out.length--,out.strip()}var comb10MulTo=function(self2,num,out){var a=self2.words,b=num.words,o=out.words,c=0,lo,mid,hi,a0=a[0]|0,al0=a0&8191,ah0=a0>>>13,a1=a[1]|0,al1=a1&8191,ah1=a1>>>13,a2=a[2]|0,al2=a2&8191,ah2=a2>>>13,a3=a[3]|0,al3=a3&8191,ah3=a3>>>13,a4=a[4]|0,al4=a4&8191,ah4=a4>>>13,a5=a[5]|0,al5=a5&8191,ah5=a5>>>13,a6=a[6]|0,al6=a6&8191,ah6=a6>>>13,a7=a[7]|0,al7=a7&8191,ah7=a7>>>13,a8=a[8]|0,al8=a8&8191,ah8=a8>>>13,a9=a[9]|0,al9=a9&8191,ah9=a9>>>13,b0=b[0]|0,bl0=b0&8191,bh0=b0>>>13,b1=b[1]|0,bl1=b1&8191,bh1=b1>>>13,b2=b[2]|0,bl2=b2&8191,bh2=b2>>>13,b3=b[3]|0,bl3=b3&8191,bh3=b3>>>13,b4=b[4]|0,bl4=b4&8191,bh4=b4>>>13,b5=b[5]|0,bl5=b5&8191,bh5=b5>>>13,b6=b[6]|0,bl6=b6&8191,bh6=b6>>>13,b7=b[7]|0,bl7=b7&8191,bh7=b7>>>13,b8=b[8]|0,bl8=b8&8191,bh8=b8>>>13,b9=b[9]|0,bl9=b9&8191,bh9=b9>>>13;out.negative=self2.negative^num.negative,out.length=19,lo=Math.imul(al0,bl0),mid=Math.imul(al0,bh0),mid=mid+Math.imul(ah0,bl0)|0,hi=Math.imul(ah0,bh0);var w0=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w0>>>26)|0,w0&=67108863,lo=Math.imul(al1,bl0),mid=Math.imul(al1,bh0),mid=mid+Math.imul(ah1,bl0)|0,hi=Math.imul(ah1,bh0),lo=lo+Math.imul(al0,bl1)|0,mid=mid+Math.imul(al0,bh1)|0,mid=mid+Math.imul(ah0,bl1)|0,hi=hi+Math.imul(ah0,bh1)|0;var w1=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w1>>>26)|0,w1&=67108863,lo=Math.imul(al2,bl0),mid=Math.imul(al2,bh0),mid=mid+Math.imul(ah2,bl0)|0,hi=Math.imul(ah2,bh0),lo=lo+Math.imul(al1,bl1)|0,mid=mid+Math.imul(al1,bh1)|0,mid=mid+Math.imul(ah1,bl1)|0,hi=hi+Math.imul(ah1,bh1)|0,lo=lo+Math.imul(al0,bl2)|0,mid=mid+Math.imul(al0,bh2)|0,mid=mid+Math.imul(ah0,bl2)|0,hi=hi+Math.imul(ah0,bh2)|0;var w2=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w2>>>26)|0,w2&=67108863,lo=Math.imul(al3,bl0),mid=Math.imul(al3,bh0),mid=mid+Math.imul(ah3,bl0)|0,hi=Math.imul(ah3,bh0),lo=lo+Math.imul(al2,bl1)|0,mid=mid+Math.imul(al2,bh1)|0,mid=mid+Math.imul(ah2,bl1)|0,hi=hi+Math.imul(ah2,bh1)|0,lo=lo+Math.imul(al1,bl2)|0,mid=mid+Math.imul(al1,bh2)|0,mid=mid+Math.imul(ah1,bl2)|0,hi=hi+Math.imul(ah1,bh2)|0,lo=lo+Math.imul(al0,bl3)|0,mid=mid+Math.imul(al0,bh3)|0,mid=mid+Math.imul(ah0,bl3)|0,hi=hi+Math.imul(ah0,bh3)|0;var w3=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w3>>>26)|0,w3&=67108863,lo=Math.imul(al4,bl0),mid=Math.imul(al4,bh0),mid=mid+Math.imul(ah4,bl0)|0,hi=Math.imul(ah4,bh0),lo=lo+Math.imul(al3,bl1)|0,mid=mid+Math.imul(al3,bh1)|0,mid=mid+Math.imul(ah3,bl1)|0,hi=hi+Math.imul(ah3,bh1)|0,lo=lo+Math.imul(al2,bl2)|0,mid=mid+Math.imul(al2,bh2)|0,mid=mid+Math.imul(ah2,bl2)|0,hi=hi+Math.imul(ah2,bh2)|0,lo=lo+Math.imul(al1,bl3)|0,mid=mid+Math.imul(al1,bh3)|0,mid=mid+Math.imul(ah1,bl3)|0,hi=hi+Math.imul(ah1,bh3)|0,lo=lo+Math.imul(al0,bl4)|0,mid=mid+Math.imul(al0,bh4)|0,mid=mid+Math.imul(ah0,bl4)|0,hi=hi+Math.imul(ah0,bh4)|0;var w4=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w4>>>26)|0,w4&=67108863,lo=Math.imul(al5,bl0),mid=Math.imul(al5,bh0),mid=mid+Math.imul(ah5,bl0)|0,hi=Math.imul(ah5,bh0),lo=lo+Math.imul(al4,bl1)|0,mid=mid+Math.imul(al4,bh1)|0,mid=mid+Math.imul(ah4,bl1)|0,hi=hi+Math.imul(ah4,bh1)|0,lo=lo+Math.imul(al3,bl2)|0,mid=mid+Math.imul(al3,bh2)|0,mid=mid+Math.imul(ah3,bl2)|0,hi=hi+Math.imul(ah3,bh2)|0,lo=lo+Math.imul(al2,bl3)|0,mid=mid+Math.imul(al2,bh3)|0,mid=mid+Math.imul(ah2,bl3)|0,hi=hi+Math.imul(ah2,bh3)|0,lo=lo+Math.imul(al1,bl4)|0,mid=mid+Math.imul(al1,bh4)|0,mid=mid+Math.imul(ah1,bl4)|0,hi=hi+Math.imul(ah1,bh4)|0,lo=lo+Math.imul(al0,bl5)|0,mid=mid+Math.imul(al0,bh5)|0,mid=mid+Math.imul(ah0,bl5)|0,hi=hi+Math.imul(ah0,bh5)|0;var w5=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w5>>>26)|0,w5&=67108863,lo=Math.imul(al6,bl0),mid=Math.imul(al6,bh0),mid=mid+Math.imul(ah6,bl0)|0,hi=Math.imul(ah6,bh0),lo=lo+Math.imul(al5,bl1)|0,mid=mid+Math.imul(al5,bh1)|0,mid=mid+Math.imul(ah5,bl1)|0,hi=hi+Math.imul(ah5,bh1)|0,lo=lo+Math.imul(al4,bl2)|0,mid=mid+Math.imul(al4,bh2)|0,mid=mid+Math.imul(ah4,bl2)|0,hi=hi+Math.imul(ah4,bh2)|0,lo=lo+Math.imul(al3,bl3)|0,mid=mid+Math.imul(al3,bh3)|0,mid=mid+Math.imul(ah3,bl3)|0,hi=hi+Math.imul(ah3,bh3)|0,lo=lo+Math.imul(al2,bl4)|0,mid=mid+Math.imul(al2,bh4)|0,mid=mid+Math.imul(ah2,bl4)|0,hi=hi+Math.imul(ah2,bh4)|0,lo=lo+Math.imul(al1,bl5)|0,mid=mid+Math.imul(al1,bh5)|0,mid=mid+Math.imul(ah1,bl5)|0,hi=hi+Math.imul(ah1,bh5)|0,lo=lo+Math.imul(al0,bl6)|0,mid=mid+Math.imul(al0,bh6)|0,mid=mid+Math.imul(ah0,bl6)|0,hi=hi+Math.imul(ah0,bh6)|0;var w6=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w6>>>26)|0,w6&=67108863,lo=Math.imul(al7,bl0),mid=Math.imul(al7,bh0),mid=mid+Math.imul(ah7,bl0)|0,hi=Math.imul(ah7,bh0),lo=lo+Math.imul(al6,bl1)|0,mid=mid+Math.imul(al6,bh1)|0,mid=mid+Math.imul(ah6,bl1)|0,hi=hi+Math.imul(ah6,bh1)|0,lo=lo+Math.imul(al5,bl2)|0,mid=mid+Math.imul(al5,bh2)|0,mid=mid+Math.imul(ah5,bl2)|0,hi=hi+Math.imul(ah5,bh2)|0,lo=lo+Math.imul(al4,bl3)|0,mid=mid+Math.imul(al4,bh3)|0,mid=mid+Math.imul(ah4,bl3)|0,hi=hi+Math.imul(ah4,bh3)|0,lo=lo+Math.imul(al3,bl4)|0,mid=mid+Math.imul(al3,bh4)|0,mid=mid+Math.imul(ah3,bl4)|0,hi=hi+Math.imul(ah3,bh4)|0,lo=lo+Math.imul(al2,bl5)|0,mid=mid+Math.imul(al2,bh5)|0,mid=mid+Math.imul(ah2,bl5)|0,hi=hi+Math.imul(ah2,bh5)|0,lo=lo+Math.imul(al1,bl6)|0,mid=mid+Math.imul(al1,bh6)|0,mid=mid+Math.imul(ah1,bl6)|0,hi=hi+Math.imul(ah1,bh6)|0,lo=lo+Math.imul(al0,bl7)|0,mid=mid+Math.imul(al0,bh7)|0,mid=mid+Math.imul(ah0,bl7)|0,hi=hi+Math.imul(ah0,bh7)|0;var w7=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w7>>>26)|0,w7&=67108863,lo=Math.imul(al8,bl0),mid=Math.imul(al8,bh0),mid=mid+Math.imul(ah8,bl0)|0,hi=Math.imul(ah8,bh0),lo=lo+Math.imul(al7,bl1)|0,mid=mid+Math.imul(al7,bh1)|0,mid=mid+Math.imul(ah7,bl1)|0,hi=hi+Math.imul(ah7,bh1)|0,lo=lo+Math.imul(al6,bl2)|0,mid=mid+Math.imul(al6,bh2)|0,mid=mid+Math.imul(ah6,bl2)|0,hi=hi+Math.imul(ah6,bh2)|0,lo=lo+Math.imul(al5,bl3)|0,mid=mid+Math.imul(al5,bh3)|0,mid=mid+Math.imul(ah5,bl3)|0,hi=hi+Math.imul(ah5,bh3)|0,lo=lo+Math.imul(al4,bl4)|0,mid=mid+Math.imul(al4,bh4)|0,mid=mid+Math.imul(ah4,bl4)|0,hi=hi+Math.imul(ah4,bh4)|0,lo=lo+Math.imul(al3,bl5)|0,mid=mid+Math.imul(al3,bh5)|0,mid=mid+Math.imul(ah3,bl5)|0,hi=hi+Math.imul(ah3,bh5)|0,lo=lo+Math.imul(al2,bl6)|0,mid=mid+Math.imul(al2,bh6)|0,mid=mid+Math.imul(ah2,bl6)|0,hi=hi+Math.imul(ah2,bh6)|0,lo=lo+Math.imul(al1,bl7)|0,mid=mid+Math.imul(al1,bh7)|0,mid=mid+Math.imul(ah1,bl7)|0,hi=hi+Math.imul(ah1,bh7)|0,lo=lo+Math.imul(al0,bl8)|0,mid=mid+Math.imul(al0,bh8)|0,mid=mid+Math.imul(ah0,bl8)|0,hi=hi+Math.imul(ah0,bh8)|0;var w8=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w8>>>26)|0,w8&=67108863,lo=Math.imul(al9,bl0),mid=Math.imul(al9,bh0),mid=mid+Math.imul(ah9,bl0)|0,hi=Math.imul(ah9,bh0),lo=lo+Math.imul(al8,bl1)|0,mid=mid+Math.imul(al8,bh1)|0,mid=mid+Math.imul(ah8,bl1)|0,hi=hi+Math.imul(ah8,bh1)|0,lo=lo+Math.imul(al7,bl2)|0,mid=mid+Math.imul(al7,bh2)|0,mid=mid+Math.imul(ah7,bl2)|0,hi=hi+Math.imul(ah7,bh2)|0,lo=lo+Math.imul(al6,bl3)|0,mid=mid+Math.imul(al6,bh3)|0,mid=mid+Math.imul(ah6,bl3)|0,hi=hi+Math.imul(ah6,bh3)|0,lo=lo+Math.imul(al5,bl4)|0,mid=mid+Math.imul(al5,bh4)|0,mid=mid+Math.imul(ah5,bl4)|0,hi=hi+Math.imul(ah5,bh4)|0,lo=lo+Math.imul(al4,bl5)|0,mid=mid+Math.imul(al4,bh5)|0,mid=mid+Math.imul(ah4,bl5)|0,hi=hi+Math.imul(ah4,bh5)|0,lo=lo+Math.imul(al3,bl6)|0,mid=mid+Math.imul(al3,bh6)|0,mid=mid+Math.imul(ah3,bl6)|0,hi=hi+Math.imul(ah3,bh6)|0,lo=lo+Math.imul(al2,bl7)|0,mid=mid+Math.imul(al2,bh7)|0,mid=mid+Math.imul(ah2,bl7)|0,hi=hi+Math.imul(ah2,bh7)|0,lo=lo+Math.imul(al1,bl8)|0,mid=mid+Math.imul(al1,bh8)|0,mid=mid+Math.imul(ah1,bl8)|0,hi=hi+Math.imul(ah1,bh8)|0,lo=lo+Math.imul(al0,bl9)|0,mid=mid+Math.imul(al0,bh9)|0,mid=mid+Math.imul(ah0,bl9)|0,hi=hi+Math.imul(ah0,bh9)|0;var w9=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w9>>>26)|0,w9&=67108863,lo=Math.imul(al9,bl1),mid=Math.imul(al9,bh1),mid=mid+Math.imul(ah9,bl1)|0,hi=Math.imul(ah9,bh1),lo=lo+Math.imul(al8,bl2)|0,mid=mid+Math.imul(al8,bh2)|0,mid=mid+Math.imul(ah8,bl2)|0,hi=hi+Math.imul(ah8,bh2)|0,lo=lo+Math.imul(al7,bl3)|0,mid=mid+Math.imul(al7,bh3)|0,mid=mid+Math.imul(ah7,bl3)|0,hi=hi+Math.imul(ah7,bh3)|0,lo=lo+Math.imul(al6,bl4)|0,mid=mid+Math.imul(al6,bh4)|0,mid=mid+Math.imul(ah6,bl4)|0,hi=hi+Math.imul(ah6,bh4)|0,lo=lo+Math.imul(al5,bl5)|0,mid=mid+Math.imul(al5,bh5)|0,mid=mid+Math.imul(ah5,bl5)|0,hi=hi+Math.imul(ah5,bh5)|0,lo=lo+Math.imul(al4,bl6)|0,mid=mid+Math.imul(al4,bh6)|0,mid=mid+Math.imul(ah4,bl6)|0,hi=hi+Math.imul(ah4,bh6)|0,lo=lo+Math.imul(al3,bl7)|0,mid=mid+Math.imul(al3,bh7)|0,mid=mid+Math.imul(ah3,bl7)|0,hi=hi+Math.imul(ah3,bh7)|0,lo=lo+Math.imul(al2,bl8)|0,mid=mid+Math.imul(al2,bh8)|0,mid=mid+Math.imul(ah2,bl8)|0,hi=hi+Math.imul(ah2,bh8)|0,lo=lo+Math.imul(al1,bl9)|0,mid=mid+Math.imul(al1,bh9)|0,mid=mid+Math.imul(ah1,bl9)|0,hi=hi+Math.imul(ah1,bh9)|0;var w10=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w10>>>26)|0,w10&=67108863,lo=Math.imul(al9,bl2),mid=Math.imul(al9,bh2),mid=mid+Math.imul(ah9,bl2)|0,hi=Math.imul(ah9,bh2),lo=lo+Math.imul(al8,bl3)|0,mid=mid+Math.imul(al8,bh3)|0,mid=mid+Math.imul(ah8,bl3)|0,hi=hi+Math.imul(ah8,bh3)|0,lo=lo+Math.imul(al7,bl4)|0,mid=mid+Math.imul(al7,bh4)|0,mid=mid+Math.imul(ah7,bl4)|0,hi=hi+Math.imul(ah7,bh4)|0,lo=lo+Math.imul(al6,bl5)|0,mid=mid+Math.imul(al6,bh5)|0,mid=mid+Math.imul(ah6,bl5)|0,hi=hi+Math.imul(ah6,bh5)|0,lo=lo+Math.imul(al5,bl6)|0,mid=mid+Math.imul(al5,bh6)|0,mid=mid+Math.imul(ah5,bl6)|0,hi=hi+Math.imul(ah5,bh6)|0,lo=lo+Math.imul(al4,bl7)|0,mid=mid+Math.imul(al4,bh7)|0,mid=mid+Math.imul(ah4,bl7)|0,hi=hi+Math.imul(ah4,bh7)|0,lo=lo+Math.imul(al3,bl8)|0,mid=mid+Math.imul(al3,bh8)|0,mid=mid+Math.imul(ah3,bl8)|0,hi=hi+Math.imul(ah3,bh8)|0,lo=lo+Math.imul(al2,bl9)|0,mid=mid+Math.imul(al2,bh9)|0,mid=mid+Math.imul(ah2,bl9)|0,hi=hi+Math.imul(ah2,bh9)|0;var w11=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w11>>>26)|0,w11&=67108863,lo=Math.imul(al9,bl3),mid=Math.imul(al9,bh3),mid=mid+Math.imul(ah9,bl3)|0,hi=Math.imul(ah9,bh3),lo=lo+Math.imul(al8,bl4)|0,mid=mid+Math.imul(al8,bh4)|0,mid=mid+Math.imul(ah8,bl4)|0,hi=hi+Math.imul(ah8,bh4)|0,lo=lo+Math.imul(al7,bl5)|0,mid=mid+Math.imul(al7,bh5)|0,mid=mid+Math.imul(ah7,bl5)|0,hi=hi+Math.imul(ah7,bh5)|0,lo=lo+Math.imul(al6,bl6)|0,mid=mid+Math.imul(al6,bh6)|0,mid=mid+Math.imul(ah6,bl6)|0,hi=hi+Math.imul(ah6,bh6)|0,lo=lo+Math.imul(al5,bl7)|0,mid=mid+Math.imul(al5,bh7)|0,mid=mid+Math.imul(ah5,bl7)|0,hi=hi+Math.imul(ah5,bh7)|0,lo=lo+Math.imul(al4,bl8)|0,mid=mid+Math.imul(al4,bh8)|0,mid=mid+Math.imul(ah4,bl8)|0,hi=hi+Math.imul(ah4,bh8)|0,lo=lo+Math.imul(al3,bl9)|0,mid=mid+Math.imul(al3,bh9)|0,mid=mid+Math.imul(ah3,bl9)|0,hi=hi+Math.imul(ah3,bh9)|0;var w12=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w12>>>26)|0,w12&=67108863,lo=Math.imul(al9,bl4),mid=Math.imul(al9,bh4),mid=mid+Math.imul(ah9,bl4)|0,hi=Math.imul(ah9,bh4),lo=lo+Math.imul(al8,bl5)|0,mid=mid+Math.imul(al8,bh5)|0,mid=mid+Math.imul(ah8,bl5)|0,hi=hi+Math.imul(ah8,bh5)|0,lo=lo+Math.imul(al7,bl6)|0,mid=mid+Math.imul(al7,bh6)|0,mid=mid+Math.imul(ah7,bl6)|0,hi=hi+Math.imul(ah7,bh6)|0,lo=lo+Math.imul(al6,bl7)|0,mid=mid+Math.imul(al6,bh7)|0,mid=mid+Math.imul(ah6,bl7)|0,hi=hi+Math.imul(ah6,bh7)|0,lo=lo+Math.imul(al5,bl8)|0,mid=mid+Math.imul(al5,bh8)|0,mid=mid+Math.imul(ah5,bl8)|0,hi=hi+Math.imul(ah5,bh8)|0,lo=lo+Math.imul(al4,bl9)|0,mid=mid+Math.imul(al4,bh9)|0,mid=mid+Math.imul(ah4,bl9)|0,hi=hi+Math.imul(ah4,bh9)|0;var w13=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w13>>>26)|0,w13&=67108863,lo=Math.imul(al9,bl5),mid=Math.imul(al9,bh5),mid=mid+Math.imul(ah9,bl5)|0,hi=Math.imul(ah9,bh5),lo=lo+Math.imul(al8,bl6)|0,mid=mid+Math.imul(al8,bh6)|0,mid=mid+Math.imul(ah8,bl6)|0,hi=hi+Math.imul(ah8,bh6)|0,lo=lo+Math.imul(al7,bl7)|0,mid=mid+Math.imul(al7,bh7)|0,mid=mid+Math.imul(ah7,bl7)|0,hi=hi+Math.imul(ah7,bh7)|0,lo=lo+Math.imul(al6,bl8)|0,mid=mid+Math.imul(al6,bh8)|0,mid=mid+Math.imul(ah6,bl8)|0,hi=hi+Math.imul(ah6,bh8)|0,lo=lo+Math.imul(al5,bl9)|0,mid=mid+Math.imul(al5,bh9)|0,mid=mid+Math.imul(ah5,bl9)|0,hi=hi+Math.imul(ah5,bh9)|0;var w14=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w14>>>26)|0,w14&=67108863,lo=Math.imul(al9,bl6),mid=Math.imul(al9,bh6),mid=mid+Math.imul(ah9,bl6)|0,hi=Math.imul(ah9,bh6),lo=lo+Math.imul(al8,bl7)|0,mid=mid+Math.imul(al8,bh7)|0,mid=mid+Math.imul(ah8,bl7)|0,hi=hi+Math.imul(ah8,bh7)|0,lo=lo+Math.imul(al7,bl8)|0,mid=mid+Math.imul(al7,bh8)|0,mid=mid+Math.imul(ah7,bl8)|0,hi=hi+Math.imul(ah7,bh8)|0,lo=lo+Math.imul(al6,bl9)|0,mid=mid+Math.imul(al6,bh9)|0,mid=mid+Math.imul(ah6,bl9)|0,hi=hi+Math.imul(ah6,bh9)|0;var w15=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w15>>>26)|0,w15&=67108863,lo=Math.imul(al9,bl7),mid=Math.imul(al9,bh7),mid=mid+Math.imul(ah9,bl7)|0,hi=Math.imul(ah9,bh7),lo=lo+Math.imul(al8,bl8)|0,mid=mid+Math.imul(al8,bh8)|0,mid=mid+Math.imul(ah8,bl8)|0,hi=hi+Math.imul(ah8,bh8)|0,lo=lo+Math.imul(al7,bl9)|0,mid=mid+Math.imul(al7,bh9)|0,mid=mid+Math.imul(ah7,bl9)|0,hi=hi+Math.imul(ah7,bh9)|0;var w16=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w16>>>26)|0,w16&=67108863,lo=Math.imul(al9,bl8),mid=Math.imul(al9,bh8),mid=mid+Math.imul(ah9,bl8)|0,hi=Math.imul(ah9,bh8),lo=lo+Math.imul(al8,bl9)|0,mid=mid+Math.imul(al8,bh9)|0,mid=mid+Math.imul(ah8,bl9)|0,hi=hi+Math.imul(ah8,bh9)|0;var w17=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w17>>>26)|0,w17&=67108863,lo=Math.imul(al9,bl9),mid=Math.imul(al9,bh9),mid=mid+Math.imul(ah9,bl9)|0,hi=Math.imul(ah9,bh9);var w18=(c+lo|0)+((mid&8191)<<13)|0;return c=(hi+(mid>>>13)|0)+(w18>>>26)|0,w18&=67108863,o[0]=w0,o[1]=w1,o[2]=w2,o[3]=w3,o[4]=w4,o[5]=w5,o[6]=w6,o[7]=w7,o[8]=w8,o[9]=w9,o[10]=w10,o[11]=w11,o[12]=w12,o[13]=w13,o[14]=w14,o[15]=w15,o[16]=w16,o[17]=w17,o[18]=w18,c!==0&&(o[19]=c,out.length++),out};Math.imul||(comb10MulTo=smallMulTo);function bigMulTo(self2,num,out){out.negative=num.negative^self2.negative,out.length=self2.length+num.length;for(var carry=0,hncarry=0,k=0;k>>26)|0,hncarry+=ncarry>>>26,ncarry&=67108863}out.words[k]=rword,carry=ncarry,ncarry=hncarry}return carry!==0\?out.words[k]=carry:out.length--,out.strip()}function jumboMulTo(self2,num,out){var fftm=new FFTM;return fftm.mulp(self2,num,out)}BN.prototype.mulTo=function(num,out){var res,len=this.length+num.length;return this.length===10&&num.length===10\?res=comb10MulTo(this,num,out):len<63\?res=smallMulTo(this,num,out):len<1024\?res=bigMulTo(this,num,out):res=jumboMulTo(this,num,out),res};function FFTM(x,y){this.x=x,this.y=y}FFTM.prototype.makeRBT=function(N){for(var t=new Array(N),l=BN.prototype._countBits(N)-1,i=0;i>=1;return rb},FFTM.prototype.permute=function(rbt,rws,iws,rtws,itws,N){for(var i=0;i>>1)i++;return 1<>>13,rws[2*i+1]=carry&8191,carry=carry>>>13;for(i=2*len;i>=26,carry+=w/67108864|0,carry+=lo>>>26,this.words[i]=lo&67108863}return carry!==0&&(this.words[i]=carry,this.length++),this},BN.prototype.muln=function(num){return this.clone().imuln(num)},BN.prototype.sqr=function(){return this.mul(this)},BN.prototype.isqr=function(){return this.imul(this.clone())},BN.prototype.pow=function(num){var w=toBitArray(num);if(w.length===0)return new BN(1);for(var res=this,i=0;i=0);var r=bits%26,s=(bits-r)/26,carryMask=67108863>>>26-r<<26-r,i;if(r!==0){var carry=0;for(i=0;i>>26-r}carry&&(this.words[i]=carry,this.length++)}if(s!==0){for(i=this.length-1;i>=0;i--)this.words[i+s]=this.words[i];for(i=0;i=0);var h;hint\?h=(hint-hint%26)/26:h=0;var r=bits%26,s=Math.min((bits-r)/26,this.length),mask=67108863^67108863>>>r<s)for(this.length-=s,i=0;i=0&&(carry!==0||i>=h);i--){var word=this.words[i]|0;this.words[i]=carry<<26-r|word>>>r,carry=word&mask}return maskedWords&&carry!==0&&(maskedWords.words[maskedWords.length++]=carry),this.length===0&&(this.words[0]=0,this.length=1),this.strip()},BN.prototype.ishrn=function(bits,hint,extended){return assert(this.negative===0),this.iushrn(bits,hint,extended)},BN.prototype.shln=function(bits){return this.clone().ishln(bits)},BN.prototype.ushln=function(bits){return this.clone().iushln(bits)},BN.prototype.shrn=function(bits){return this.clone().ishrn(bits)},BN.prototype.ushrn=function(bits){return this.clone().iushrn(bits)},BN.prototype.testn=function(bit){assert(typeof bit==\"number\"&&bit>=0);var r=bit%26,s=(bit-r)/26,q=1<=0);var r=bits%26,s=(bits-r)/26;if(assert(this.negative===0,\"imaskn works only with positive numbers\"),this.length<=s)return this;if(r!==0&&s++,this.length=Math.min(s,this.length),r!==0){var mask=67108863^67108863>>>r<=67108864;i++)this.words[i]-=67108864,i===this.length-1\?this.words[i+1]=1:this.words[i+1]++;return this.length=Math.max(this.length,i+1),this},BN.prototype.isubn=function(num){if(assert(typeof num==\"number\"),assert(num<67108864),num<0)return this.iaddn(-num);if(this.negative!==0)return this.negative=0,this.iaddn(num),this.negative=1,this;if(this.words[0]-=num,this.length===1&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var i=0;i>26)-(right/67108864|0),this.words[i+shift]=w&67108863}for(;i>26,this.words[i+shift]=w&67108863;if(carry===0)return this.strip();for(assert(carry===-1),carry=0,i=0;i>26,this.words[i]=w&67108863;return this.negative=1,this.strip()},BN.prototype._wordDiv=function(num,mode){var shift=this.length-num.length,a=this.clone(),b=num,bhi=b.words[b.length-1]|0,bhiBits=this._countBits(bhi);shift=26-bhiBits,shift!==0&&(b=b.ushln(shift),a.iushln(shift),bhi=b.words[b.length-1]|0);var m=a.length-b.length,q;if(mode!==\"mod\"){q=new BN(null),q.length=m+1,q.words=new Array(q.length);for(var i=0;i=0;j--){var qj=(a.words[b.length+j]|0)*67108864+(a.words[b.length+j-1]|0);for(qj=Math.min(qj/bhi|0,67108863),a._ishlnsubmul(b,qj,j);a.negative!==0;)qj--,a.negative=0,a._ishlnsubmul(b,1,j),a.isZero()||(a.negative^=1);q&&(q.words[j]=qj)}return q&&q.strip(),a.strip(),mode!==\"div\"&&shift!==0&&a.iushrn(shift),{div:q||null,mod:a}},BN.prototype.divmod=function(num,mode,positive){if(assert(!num.isZero()),this.isZero())return{div:new BN(0),mod:new BN(0)};var div,mod,res;return this.negative!==0&&num.negative===0\?(res=this.neg().divmod(num,mode),mode!==\"mod\"&&(div=res.div.neg()),mode!==\"div\"&&(mod=res.mod.neg(),positive&&mod.negative!==0&&mod.iadd(num)),{div,mod}):this.negative===0&&num.negative!==0\?(res=this.divmod(num.neg(),mode),mode!==\"mod\"&&(div=res.div.neg()),{div,mod:res.mod}):(this.negative&num.negative)!==0\?(res=this.neg().divmod(num.neg(),mode),mode!==\"div\"&&(mod=res.mod.neg(),positive&&mod.negative!==0&&mod.isub(num)),{div:res.div,mod}):num.length>this.length||this.cmp(num)<0\?{div:new BN(0),mod:this}:num.length===1\?mode===\"div\"\?{div:this.divn(num.words[0]),mod:null}:mode===\"mod\"\?{div:null,mod:new BN(this.modn(num.words[0]))}:{div:this.divn(num.words[0]),mod:new BN(this.modn(num.words[0]))}:this._wordDiv(num,mode)},BN.prototype.div=function(num){return this.divmod(num,\"div\",!1).div},BN.prototype.mod=function(num){return this.divmod(num,\"mod\",!1).mod},BN.prototype.umod=function(num){return this.divmod(num,\"mod\",!0).mod},BN.prototype.divRound=function(num){var dm=this.divmod(num);if(dm.mod.isZero())return dm.div;var mod=dm.div.negative!==0\?dm.mod.isub(num):dm.mod,half=num.ushrn(1),r2=num.andln(1),cmp=mod.cmp(half);return cmp<0||r2===1&&cmp===0\?dm.div:dm.div.negative!==0\?dm.div.isubn(1):dm.div.iaddn(1)},BN.prototype.modn=function(num){assert(num<=67108863);for(var p=(1<<26)%num,acc=0,i=this.length-1;i>=0;i--)acc=(p*acc+(this.words[i]|0))%num;return acc},BN.prototype.idivn=function(num){assert(num<=67108863);for(var carry=0,i=this.length-1;i>=0;i--){var w=(this.words[i]|0)+carry*67108864;this.words[i]=w/num|0,carry=w%num}return this.strip()},BN.prototype.divn=function(num){return this.clone().idivn(num)},BN.prototype.egcd=function(p){assert(p.negative===0),assert(!p.isZero());var x=this,y=p.clone();x.negative!==0\?x=x.umod(p):x=x.clone();for(var A=new BN(1),B=new BN(0),C=new BN(0),D=new BN(1),g=0;x.isEven()&&y.isEven();)x.iushrn(1),y.iushrn(1),++g;for(var yp=y.clone(),xp=x.clone();!x.isZero();){for(var i=0,im=1;(x.words[0]&im)===0&&i<26;++i,im<<=1);if(i>0)for(x.iushrn(i);i-- >0;)(A.isOdd()||B.isOdd())&&(A.iadd(yp),B.isub(xp)),A.iushrn(1),B.iushrn(1);for(var j=0,jm=1;(y.words[0]&jm)===0&&j<26;++j,jm<<=1);if(j>0)for(y.iushrn(j);j-- >0;)(C.isOdd()||D.isOdd())&&(C.iadd(yp),D.isub(xp)),C.iushrn(1),D.iushrn(1);x.cmp(y)>=0\?(x.isub(y),A.isub(C),B.isub(D)):(y.isub(x),C.isub(A),D.isub(B))}return{a:C,b:D,gcd:y.iushln(g)}},BN.prototype._invmp=function(p){assert(p.negative===0),assert(!p.isZero());var a=this,b=p.clone();a.negative!==0\?a=a.umod(p):a=a.clone();for(var x1=new BN(1),x2=new BN(0),delta=b.clone();a.cmpn(1)>0&&b.cmpn(1)>0;){for(var i=0,im=1;(a.words[0]&im)===0&&i<26;++i,im<<=1);if(i>0)for(a.iushrn(i);i-- >0;)x1.isOdd()&&x1.iadd(delta),x1.iushrn(1);for(var j=0,jm=1;(b.words[0]&jm)===0&&j<26;++j,jm<<=1);if(j>0)for(b.iushrn(j);j-- >0;)x2.isOdd()&&x2.iadd(delta),x2.iushrn(1);a.cmp(b)>=0\?(a.isub(b),x1.isub(x2)):(b.isub(a),x2.isub(x1))}var res;return a.cmpn(1)===0\?res=x1:res=x2,res.cmpn(0)<0&&res.iadd(p),res},BN.prototype.gcd=function(num){if(this.isZero())return num.abs();if(num.isZero())return this.abs();var a=this.clone(),b=num.clone();a.negative=0,b.negative=0;for(var shift=0;a.isEven()&&b.isEven();shift++)a.iushrn(1),b.iushrn(1);do{for(;a.isEven();)a.iushrn(1);for(;b.isEven();)b.iushrn(1);var r=a.cmp(b);if(r<0){var t=a;a=b,b=t}else if(r===0||b.cmpn(1)===0)break;a.isub(b)}while(!0);return b.iushln(shift)},BN.prototype.invm=function(num){return this.egcd(num).a.umod(num)},BN.prototype.isEven=function(){return(this.words[0]&1)===0},BN.prototype.isOdd=function(){return(this.words[0]&1)===1},BN.prototype.andln=function(num){return this.words[0]&num},BN.prototype.bincn=function(bit){assert(typeof bit==\"number\");var r=bit%26,s=(bit-r)/26,q=1<>>26,w&=67108863,this.words[i]=w}return carry!==0&&(this.words[i]=carry,this.length++),this},BN.prototype.isZero=function(){return this.length===1&&this.words[0]===0},BN.prototype.cmpn=function(num){var negative=num<0;if(this.negative!==0&&!negative)return-1;if(this.negative===0&&negative)return 1;this.strip();var res;if(this.length>1)res=1;else{negative&&(num=-num),assert(num<=67108863,\"Number is too big\");var w=this.words[0]|0;res=w===num\?0:wnum.length)return 1;if(this.length=0;i--){var a=this.words[i]|0,b=num.words[i]|0;if(a!==b){ab&&(res=1);break}}return res},BN.prototype.gtn=function(num){return this.cmpn(num)===1},BN.prototype.gt=function(num){return this.cmp(num)===1},BN.prototype.gten=function(num){return this.cmpn(num)>=0},BN.prototype.gte=function(num){return this.cmp(num)>=0},BN.prototype.ltn=function(num){return this.cmpn(num)===-1},BN.prototype.lt=function(num){return this.cmp(num)===-1},BN.prototype.lten=function(num){return this.cmpn(num)<=0},BN.prototype.lte=function(num){return this.cmp(num)<=0},BN.prototype.eqn=function(num){return this.cmpn(num)===0},BN.prototype.eq=function(num){return this.cmp(num)===0},BN.red=function(num){return new Red(num)},BN.prototype.toRed=function(ctx){return assert(!this.red,\"Already a number in reduction context\"),assert(this.negative===0,\"red works only with positives\"),ctx.convertTo(this)._forceRed(ctx)},BN.prototype.fromRed=function(){return assert(this.red,\"fromRed works only with numbers in reduction context\"),this.red.convertFrom(this)},BN.prototype._forceRed=function(ctx){return this.red=ctx,this},BN.prototype.forceRed=function(ctx){return assert(!this.red,\"Already a number in reduction context\"),this._forceRed(ctx)},BN.prototype.redAdd=function(num){return assert(this.red,\"redAdd works only with red numbers\"),this.red.add(this,num)},BN.prototype.redIAdd=function(num){return assert(this.red,\"redIAdd works only with red numbers\"),this.red.iadd(this,num)},BN.prototype.redSub=function(num){return assert(this.red,\"redSub works only with red numbers\"),this.red.sub(this,num)},BN.prototype.redISub=function(num){return assert(this.red,\"redISub works only with red numbers\"),this.red.isub(this,num)},BN.prototype.redShl=function(num){return assert(this.red,\"redShl works only with red numbers\"),this.red.shl(this,num)},BN.prototype.redMul=function(num){return assert(this.red,\"redMul works only with red numbers\"),this.red._verify2(this,num),this.red.mul(this,num)},BN.prototype.redIMul=function(num){return assert(this.red,\"redMul works only with red numbers\"),this.red._verify2(this,num),this.red.imul(this,num)},BN.prototype.redSqr=function(){return assert(this.red,\"redSqr works only with red numbers\"),this.red._verify1(this),this.red.sqr(this)},BN.prototype.redISqr=function(){return assert(this.red,\"redISqr works only with red numbers\"),this.red._verify1(this),this.red.isqr(this)},BN.prototype.redSqrt=function(){return assert(this.red,\"redSqrt works only with red numbers\"),this.red._verify1(this),this.red.sqrt(this)},BN.prototype.redInvm=function(){return assert(this.red,\"redInvm works only with red numbers\"),this.red._verify1(this),this.red.invm(this)},BN.prototype.redNeg=function(){return assert(this.red,\"redNeg works only with red numbers\"),this.red._verify1(this),this.red.neg(this)},BN.prototype.redPow=function(num){return assert(this.red&&!num.red,\"redPow(normalNum)\"),this.red._verify1(this),this.red.pow(this,num)};var primes={k256:null,p224:null,p192:null,p25519:null};function MPrime(name,p){this.name=name,this.p=new BN(p,16),this.n=this.p.bitLength(),this.k=new BN(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}MPrime.prototype._tmp=function(){var tmp=new BN(null);return tmp.words=new Array(Math.ceil(this.n/13)),tmp},MPrime.prototype.ireduce=function(num){var r=num,rlen;do this.split(r,this.tmp),r=this.imulK(r),r=r.iadd(this.tmp),rlen=r.bitLength();while(rlen>this.n);var cmp=rlen0\?r.isub(this.p):r.strip!==void 0\?r.strip():r._strip(),r},MPrime.prototype.split=function(input,out){input.iushrn(this.n,0,out)},MPrime.prototype.imulK=function(num){return num.imul(this.k)};function K256(){MPrime.call(this,\"k256\",\"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f\")}inherits(K256,MPrime),K256.prototype.split=function(input,output){for(var mask=4194303,outLen=Math.min(input.length,9),i=0;i>>22,prev=next}prev>>>=22,input.words[i-10]=prev,prev===0&&input.length>10\?input.length-=10:input.length-=9},K256.prototype.imulK=function(num){num.words[num.length]=0,num.words[num.length+1]=0,num.length+=2;for(var lo=0,i=0;i>>=26,num.words[i]=lo,carry=hi}return carry!==0&&(num.words[num.length++]=carry),num},BN._prime=function(name){if(primes[name])return primes[name];var prime2;if(name===\"k256\")prime2=new K256;else if(name===\"p224\")prime2=new P224;else if(name===\"p192\")prime2=new P192;else if(name===\"p25519\")prime2=new P25519;else throw new Error(\"Unknown prime \"+name);return primes[name]=prime2,prime2};function Red(m){if(typeof m==\"string\"){var prime=BN._prime(m);this.m=prime.p,this.prime=prime}else assert(m.gtn(1),\"modulus must be greater than 1\"),this.m=m,this.prime=null}Red.prototype._verify1=function(a){assert(a.negative===0,\"red works only with positives\"),assert(a.red,\"red works only with red numbers\")},Red.prototype._verify2=function(a,b){assert((a.negative|b.negative)===0,\"red works only with positives\"),assert(a.red&&a.red===b.red,\"red works only with red numbers\")},Red.prototype.imod=function(a){return this.prime\?this.prime.ireduce(a)._forceRed(this):a.umod(this.m)._forceRed(this)},Red.prototype.neg=function(a){return a.isZero()\?a.clone():this.m.sub(a)._forceRed(this)},Red.prototype.add=function(a,b){this._verify2(a,b);var res=a.add(b);return res.cmp(this.m)>=0&&res.isub(this.m),res._forceRed(this)},Red.prototype.iadd=function(a,b){this._verify2(a,b);var res=a.iadd(b);return res.cmp(this.m)>=0&&res.isub(this.m),res},Red.prototype.sub=function(a,b){this._verify2(a,b);var res=a.sub(b);return res.cmpn(0)<0&&res.iadd(this.m),res._forceRed(this)},Red.prototype.isub=function(a,b){this._verify2(a,b);var res=a.isub(b);return res.cmpn(0)<0&&res.iadd(this.m),res},Red.prototype.shl=function(a,num){return this._verify1(a),this.imod(a.ushln(num))},Red.prototype.imul=function(a,b){return this._verify2(a,b),this.imod(a.imul(b))},Red.prototype.mul=function(a,b){return this._verify2(a,b),this.imod(a.mul(b))},Red.prototype.isqr=function(a){return this.imul(a,a.clone())},Red.prototype.sqr=function(a){return this.mul(a,a)},Red.prototype.sqrt=function(a){if(a.isZero())return a.clone();var mod3=this.m.andln(3);if(assert(mod3%2===1),mod3===3){var pow=this.m.add(new BN(1)).iushrn(2);return this.pow(a,pow)}for(var q=this.m.subn(1),s=0;!q.isZero()&&q.andln(1)===0;)s++,q.iushrn(1);assert(!q.isZero());var one=new BN(1).toRed(this),nOne=one.redNeg(),lpow=this.m.subn(1).iushrn(1),z=this.m.bitLength();for(z=new BN(2*z*z).toRed(this);this.pow(z,lpow).cmp(nOne)!==0;)z.redIAdd(nOne);for(var c=this.pow(z,q),r=this.pow(a,q.addn(1).iushrn(1)),t=this.pow(a,q),m=s;t.cmp(one)!==0;){for(var tmp=t,i=0;tmp.cmp(one)!==0;i++)tmp=tmp.redSqr();assert(i=0;i--){for(var word=num.words[i],j=start-1;j>=0;j--){var bit=word>>j&1;if(res!==wnd[0]&&(res=this.sqr(res)),bit===0&¤t===0){currentLen=0;continue}current<<=1,current|=bit,currentLen++,!(currentLen!==windowSize&&(i!==0||j!==0))&&(res=this.mul(res,wnd[current]),currentLen=0,current=0)}start=26}return res},Red.prototype.convertTo=function(num){var r=num.umod(this.m);return r===num\?r.clone():r},Red.prototype.convertFrom=function(num){var res=num.clone();return res.red=null,res},BN.mont=function(num){return new Mont(num)};function Mont(m){Red.call(this,m),this.shift=this.m.bitLength(),this.shift%26!==0&&(this.shift+=26-this.shift%26),this.r=new BN(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}inherits(Mont,Red),Mont.prototype.convertTo=function(num){return this.imod(num.ushln(this.shift))},Mont.prototype.convertFrom=function(num){var r=this.imod(num.mul(this.rinv));return r.red=null,r},Mont.prototype.imul=function(a,b){if(a.isZero()||b.isZero())return a.words[0]=0,a.length=1,a;var t=a.imul(b),c=t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),u=t.isub(c).iushrn(this.shift),res=u;return u.cmp(this.m)>=0\?res=u.isub(this.m):u.cmpn(0)<0&&(res=u.iadd(this.m)),res._forceRed(this)},Mont.prototype.mul=function(a,b){if(a.isZero()||b.isZero())return new BN(0)._forceRed(this);var t=a.mul(b),c=t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),u=t.isub(c).iushrn(this.shift),res=u;return u.cmp(this.m)>=0\?res=u.isub(this.m):u.cmpn(0)<0&&(res=u.iadd(this.m)),res._forceRed(this)},Mont.prototype.invm=function(a){var res=this.imod(a._invmp(this.m).mul(this.r2));return res._forceRed(this)}})(typeof module>\"u\"||module,exports)}}),require_bn2=__commonJS({\"node_modules/miller-rabin/node_modules/bn.js/lib/bn.js\"(exports,module){(function(module2,exports2){function assert(val,msg){if(!val)throw new Error(msg||\"Assertion failed\")}function inherits(ctor,superCtor){ctor.super_=superCtor;var TempCtor=function(){};TempCtor.prototype=superCtor.prototype,ctor.prototype=new TempCtor,ctor.prototype.constructor=ctor}function BN(number,base,endian){if(BN.isBN(number))return number;this.negative=0,this.words=null,this.length=0,this.red=null,number!==null&&((base===\"le\"||base===\"be\")&&(endian=base,base=10),this._init(number||0,base||10,endian||\"be\"))}typeof module2==\"object\"\?module2.exports=BN:exports2.BN=BN,BN.BN=BN,BN.wordSize=26;var Buffer2=Buffer;BN.isBN=function(num){return num instanceof BN\?!0:num!==null&&typeof num==\"object\"&&num.constructor.wordSize===BN.wordSize&&Array.isArray(num.words)},BN.max=function(left,right){return left.cmp(right)>0\?left:right},BN.min=function(left,right){return left.cmp(right)<0\?left:right},BN.prototype._init=function(number,base,endian){if(typeof number==\"number\")return this._initNumber(number,base,endian);if(typeof number==\"object\")return this._initArray(number,base,endian);base===\"hex\"&&(base=16),assert(base===(base|0)&&base>=2&&base<=36),number=number.toString().replace(/\\s+/g,\"\");var start=0;number[0]===\"-\"&&(start++,this.negative=1),start=0;i-=3)w=number[i]|number[i-1]<<8|number[i-2]<<16,this.words[j]|=w<>>26-off&67108863,off+=24,off>=26&&(off-=26,j++);else if(endian===\"le\")for(i=0,j=0;i>>26-off&67108863,off+=24,off>=26&&(off-=26,j++);return this.strip()};function parseHex4Bits(string,index){var c=string.charCodeAt(index);return c>=65&&c<=70\?c-55:c>=97&&c<=102\?c-87:c-48&15}function parseHexByte(string,lowerBound,index){var r=parseHex4Bits(string,index);return index-1>=lowerBound&&(r|=parseHex4Bits(string,index-1)<<4),r}BN.prototype._parseHex=function(number,start,endian){this.length=Math.ceil((number.length-start)/6),this.words=new Array(this.length);for(var i=0;i=start;i-=2)w=parseHexByte(number,start,i)<=18\?(off-=18,j+=1,this.words[j]|=w>>>26):off+=8;else{var parseLength=number.length-start;for(i=parseLength%2===0\?start+1:start;i=18\?(off-=18,j+=1,this.words[j]|=w>>>26):off+=8}this.strip()};function parseBase(str,start,end,mul){for(var r=0,len=Math.min(str.length,end),i=start;i=49\?r+=c-49+10:c>=17\?r+=c-17+10:r+=c}return r}BN.prototype._parseBase=function(number,base,start){this.words=[0],this.length=1;for(var limbLen=0,limbPow=1;limbPow<=67108863;limbPow*=base)limbLen++;limbLen--,limbPow=limbPow/base|0;for(var total=number.length-start,mod=total%limbLen,end=Math.min(total,total-mod)+start,word=0,i=start;i1&&this.words[this.length-1]===0;)this.length--;return this._normSign()},BN.prototype._normSign=function(){return this.length===1&&this.words[0]===0&&(this.negative=0),this},BN.prototype.inspect=function(){return(this.red\?\"\"};var zeros=[\"\",\"0\",\"00\",\"000\",\"0000\",\"00000\",\"000000\",\"0000000\",\"00000000\",\"000000000\",\"0000000000\",\"00000000000\",\"000000000000\",\"0000000000000\",\"00000000000000\",\"000000000000000\",\"0000000000000000\",\"00000000000000000\",\"000000000000000000\",\"0000000000000000000\",\"00000000000000000000\",\"000000000000000000000\",\"0000000000000000000000\",\"00000000000000000000000\",\"000000000000000000000000\",\"0000000000000000000000000\"],groupSizes=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],groupBases=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64000000,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,24300000,28629151,33554432,39135393,45435424,52521875,60466176];BN.prototype.toString=function(base,padding){base=base||10,padding=padding|0||1;var out;if(base===16||base===\"hex\"){out=\"\";for(var off=0,carry=0,i=0;i>>24-off&16777215,carry!==0||i!==this.length-1\?out=zeros[6-word.length]+word+out:out=word+out,off+=2,off>=26&&(off-=26,i--)}for(carry!==0&&(out=carry.toString(16)+out);out.length%padding!==0;)out=\"0\"+out;return this.negative!==0&&(out=\"-\"+out),out}if(base===(base|0)&&base>=2&&base<=36){var groupSize=groupSizes[base],groupBase=groupBases[base];out=\"\";var c=this.clone();for(c.negative=0;!c.isZero();){var r=c.modn(groupBase).toString(base);c=c.idivn(groupBase),c.isZero()\?out=r+out:out=zeros[groupSize-r.length]+r+out}for(this.isZero()&&(out=\"0\"+out);out.length%padding!==0;)out=\"0\"+out;return this.negative!==0&&(out=\"-\"+out),out}assert(!1,\"Base should be between 2 and 36\")},BN.prototype.toNumber=function(){var ret=this.words[0];return this.length===2\?ret+=this.words[1]*67108864:this.length===3&&this.words[2]===1\?ret+=4503599627370496+this.words[1]*67108864:this.length>2&&assert(!1,\"Number can only safely store up to 53 bits\"),this.negative!==0\?-ret:ret},BN.prototype.toJSON=function(){return this.toString(16)},BN.prototype.toBuffer=function(endian,length){return assert(typeof Buffer2<\"u\"),this.toArrayLike(Buffer2,endian,length)},BN.prototype.toArray=function(endian,length){return this.toArrayLike(Array,endian,length)},BN.prototype.toArrayLike=function(ArrayType,endian,length){var byteLength=this.byteLength(),reqLength=length||Math.max(1,byteLength);assert(byteLength<=reqLength,\"byte array longer than desired length\"),assert(reqLength>0,\"Requested array length <= 0\"),this.strip();var littleEndian=endian===\"le\",res=new ArrayType(reqLength),b,i,q=this.clone();if(littleEndian){for(i=0;!q.isZero();i++)b=q.andln(255),q.iushrn(8),res[i]=b;for(;i=4096&&(r+=13,t>>>=13),t>=64&&(r+=7,t>>>=7),t>=8&&(r+=4,t>>>=4),t>=2&&(r+=2,t>>>=2),r+t},BN.prototype._zeroBits=function(w){if(w===0)return 26;var t=w,r=0;return(t&8191)===0&&(r+=13,t>>>=13),(t&127)===0&&(r+=7,t>>>=7),(t&15)===0&&(r+=4,t>>>=4),(t&3)===0&&(r+=2,t>>>=2),(t&1)===0&&r++,r},BN.prototype.bitLength=function(){var w=this.words[this.length-1],hi=this._countBits(w);return(this.length-1)*26+hi};function toBitArray(num){for(var w=new Array(num.bitLength()),bit=0;bit>>wbit}return w}BN.prototype.zeroBits=function(){if(this.isZero())return 0;for(var r=0,i=0;inum.length\?this.clone().ior(num):num.clone().ior(this)},BN.prototype.uor=function(num){return this.length>num.length\?this.clone().iuor(num):num.clone().iuor(this)},BN.prototype.iuand=function(num){var b;this.length>num.length\?b=num:b=this;for(var i=0;inum.length\?this.clone().iand(num):num.clone().iand(this)},BN.prototype.uand=function(num){return this.length>num.length\?this.clone().iuand(num):num.clone().iuand(this)},BN.prototype.iuxor=function(num){var a,b;this.length>num.length\?(a=this,b=num):(a=num,b=this);for(var i=0;inum.length\?this.clone().ixor(num):num.clone().ixor(this)},BN.prototype.uxor=function(num){return this.length>num.length\?this.clone().iuxor(num):num.clone().iuxor(this)},BN.prototype.inotn=function(width){assert(typeof width==\"number\"&&width>=0);var bytesNeeded=Math.ceil(width/26)|0,bitsLeft=width%26;this._expand(bytesNeeded),bitsLeft>0&&bytesNeeded--;for(var i=0;i0&&(this.words[i]=~this.words[i]&67108863>>26-bitsLeft),this.strip()},BN.prototype.notn=function(width){return this.clone().inotn(width)},BN.prototype.setn=function(bit,val){assert(typeof bit==\"number\"&&bit>=0);var off=bit/26|0,wbit=bit%26;return this._expand(off+1),val\?this.words[off]=this.words[off]|1<num.length\?(a=this,b=num):(a=num,b=this);for(var carry=0,i=0;i>>26;for(;carry!==0&&i>>26;if(this.length=a.length,carry!==0)this.words[this.length]=carry,this.length++;else if(a!==this)for(;inum.length\?this.clone().iadd(num):num.clone().iadd(this)},BN.prototype.isub=function(num){if(num.negative!==0){num.negative=0;var r=this.iadd(num);return num.negative=1,r._normSign()}else if(this.negative!==0)return this.negative=0,this.iadd(num),this.negative=1,this._normSign();var cmp=this.cmp(num);if(cmp===0)return this.negative=0,this.length=1,this.words[0]=0,this;var a,b;cmp>0\?(a=this,b=num):(a=num,b=this);for(var carry=0,i=0;i>26,this.words[i]=r&67108863;for(;carry!==0&&i>26,this.words[i]=r&67108863;if(carry===0&&i>>26,rword=carry&67108863,maxJ=Math.min(k,num.length-1),j=Math.max(0,k-self2.length+1);j<=maxJ;j++){var i=k-j|0;a=self2.words[i]|0,b=num.words[j]|0,r=a*b+rword,ncarry+=r/67108864|0,rword=r&67108863}out.words[k]=rword|0,carry=ncarry|0}return carry!==0\?out.words[k]=carry|0:out.length--,out.strip()}var comb10MulTo=function(self2,num,out){var a=self2.words,b=num.words,o=out.words,c=0,lo,mid,hi,a0=a[0]|0,al0=a0&8191,ah0=a0>>>13,a1=a[1]|0,al1=a1&8191,ah1=a1>>>13,a2=a[2]|0,al2=a2&8191,ah2=a2>>>13,a3=a[3]|0,al3=a3&8191,ah3=a3>>>13,a4=a[4]|0,al4=a4&8191,ah4=a4>>>13,a5=a[5]|0,al5=a5&8191,ah5=a5>>>13,a6=a[6]|0,al6=a6&8191,ah6=a6>>>13,a7=a[7]|0,al7=a7&8191,ah7=a7>>>13,a8=a[8]|0,al8=a8&8191,ah8=a8>>>13,a9=a[9]|0,al9=a9&8191,ah9=a9>>>13,b0=b[0]|0,bl0=b0&8191,bh0=b0>>>13,b1=b[1]|0,bl1=b1&8191,bh1=b1>>>13,b2=b[2]|0,bl2=b2&8191,bh2=b2>>>13,b3=b[3]|0,bl3=b3&8191,bh3=b3>>>13,b4=b[4]|0,bl4=b4&8191,bh4=b4>>>13,b5=b[5]|0,bl5=b5&8191,bh5=b5>>>13,b6=b[6]|0,bl6=b6&8191,bh6=b6>>>13,b7=b[7]|0,bl7=b7&8191,bh7=b7>>>13,b8=b[8]|0,bl8=b8&8191,bh8=b8>>>13,b9=b[9]|0,bl9=b9&8191,bh9=b9>>>13;out.negative=self2.negative^num.negative,out.length=19,lo=Math.imul(al0,bl0),mid=Math.imul(al0,bh0),mid=mid+Math.imul(ah0,bl0)|0,hi=Math.imul(ah0,bh0);var w0=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w0>>>26)|0,w0&=67108863,lo=Math.imul(al1,bl0),mid=Math.imul(al1,bh0),mid=mid+Math.imul(ah1,bl0)|0,hi=Math.imul(ah1,bh0),lo=lo+Math.imul(al0,bl1)|0,mid=mid+Math.imul(al0,bh1)|0,mid=mid+Math.imul(ah0,bl1)|0,hi=hi+Math.imul(ah0,bh1)|0;var w1=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w1>>>26)|0,w1&=67108863,lo=Math.imul(al2,bl0),mid=Math.imul(al2,bh0),mid=mid+Math.imul(ah2,bl0)|0,hi=Math.imul(ah2,bh0),lo=lo+Math.imul(al1,bl1)|0,mid=mid+Math.imul(al1,bh1)|0,mid=mid+Math.imul(ah1,bl1)|0,hi=hi+Math.imul(ah1,bh1)|0,lo=lo+Math.imul(al0,bl2)|0,mid=mid+Math.imul(al0,bh2)|0,mid=mid+Math.imul(ah0,bl2)|0,hi=hi+Math.imul(ah0,bh2)|0;var w2=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w2>>>26)|0,w2&=67108863,lo=Math.imul(al3,bl0),mid=Math.imul(al3,bh0),mid=mid+Math.imul(ah3,bl0)|0,hi=Math.imul(ah3,bh0),lo=lo+Math.imul(al2,bl1)|0,mid=mid+Math.imul(al2,bh1)|0,mid=mid+Math.imul(ah2,bl1)|0,hi=hi+Math.imul(ah2,bh1)|0,lo=lo+Math.imul(al1,bl2)|0,mid=mid+Math.imul(al1,bh2)|0,mid=mid+Math.imul(ah1,bl2)|0,hi=hi+Math.imul(ah1,bh2)|0,lo=lo+Math.imul(al0,bl3)|0,mid=mid+Math.imul(al0,bh3)|0,mid=mid+Math.imul(ah0,bl3)|0,hi=hi+Math.imul(ah0,bh3)|0;var w3=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w3>>>26)|0,w3&=67108863,lo=Math.imul(al4,bl0),mid=Math.imul(al4,bh0),mid=mid+Math.imul(ah4,bl0)|0,hi=Math.imul(ah4,bh0),lo=lo+Math.imul(al3,bl1)|0,mid=mid+Math.imul(al3,bh1)|0,mid=mid+Math.imul(ah3,bl1)|0,hi=hi+Math.imul(ah3,bh1)|0,lo=lo+Math.imul(al2,bl2)|0,mid=mid+Math.imul(al2,bh2)|0,mid=mid+Math.imul(ah2,bl2)|0,hi=hi+Math.imul(ah2,bh2)|0,lo=lo+Math.imul(al1,bl3)|0,mid=mid+Math.imul(al1,bh3)|0,mid=mid+Math.imul(ah1,bl3)|0,hi=hi+Math.imul(ah1,bh3)|0,lo=lo+Math.imul(al0,bl4)|0,mid=mid+Math.imul(al0,bh4)|0,mid=mid+Math.imul(ah0,bl4)|0,hi=hi+Math.imul(ah0,bh4)|0;var w4=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w4>>>26)|0,w4&=67108863,lo=Math.imul(al5,bl0),mid=Math.imul(al5,bh0),mid=mid+Math.imul(ah5,bl0)|0,hi=Math.imul(ah5,bh0),lo=lo+Math.imul(al4,bl1)|0,mid=mid+Math.imul(al4,bh1)|0,mid=mid+Math.imul(ah4,bl1)|0,hi=hi+Math.imul(ah4,bh1)|0,lo=lo+Math.imul(al3,bl2)|0,mid=mid+Math.imul(al3,bh2)|0,mid=mid+Math.imul(ah3,bl2)|0,hi=hi+Math.imul(ah3,bh2)|0,lo=lo+Math.imul(al2,bl3)|0,mid=mid+Math.imul(al2,bh3)|0,mid=mid+Math.imul(ah2,bl3)|0,hi=hi+Math.imul(ah2,bh3)|0,lo=lo+Math.imul(al1,bl4)|0,mid=mid+Math.imul(al1,bh4)|0,mid=mid+Math.imul(ah1,bl4)|0,hi=hi+Math.imul(ah1,bh4)|0,lo=lo+Math.imul(al0,bl5)|0,mid=mid+Math.imul(al0,bh5)|0,mid=mid+Math.imul(ah0,bl5)|0,hi=hi+Math.imul(ah0,bh5)|0;var w5=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w5>>>26)|0,w5&=67108863,lo=Math.imul(al6,bl0),mid=Math.imul(al6,bh0),mid=mid+Math.imul(ah6,bl0)|0,hi=Math.imul(ah6,bh0),lo=lo+Math.imul(al5,bl1)|0,mid=mid+Math.imul(al5,bh1)|0,mid=mid+Math.imul(ah5,bl1)|0,hi=hi+Math.imul(ah5,bh1)|0,lo=lo+Math.imul(al4,bl2)|0,mid=mid+Math.imul(al4,bh2)|0,mid=mid+Math.imul(ah4,bl2)|0,hi=hi+Math.imul(ah4,bh2)|0,lo=lo+Math.imul(al3,bl3)|0,mid=mid+Math.imul(al3,bh3)|0,mid=mid+Math.imul(ah3,bl3)|0,hi=hi+Math.imul(ah3,bh3)|0,lo=lo+Math.imul(al2,bl4)|0,mid=mid+Math.imul(al2,bh4)|0,mid=mid+Math.imul(ah2,bl4)|0,hi=hi+Math.imul(ah2,bh4)|0,lo=lo+Math.imul(al1,bl5)|0,mid=mid+Math.imul(al1,bh5)|0,mid=mid+Math.imul(ah1,bl5)|0,hi=hi+Math.imul(ah1,bh5)|0,lo=lo+Math.imul(al0,bl6)|0,mid=mid+Math.imul(al0,bh6)|0,mid=mid+Math.imul(ah0,bl6)|0,hi=hi+Math.imul(ah0,bh6)|0;var w6=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w6>>>26)|0,w6&=67108863,lo=Math.imul(al7,bl0),mid=Math.imul(al7,bh0),mid=mid+Math.imul(ah7,bl0)|0,hi=Math.imul(ah7,bh0),lo=lo+Math.imul(al6,bl1)|0,mid=mid+Math.imul(al6,bh1)|0,mid=mid+Math.imul(ah6,bl1)|0,hi=hi+Math.imul(ah6,bh1)|0,lo=lo+Math.imul(al5,bl2)|0,mid=mid+Math.imul(al5,bh2)|0,mid=mid+Math.imul(ah5,bl2)|0,hi=hi+Math.imul(ah5,bh2)|0,lo=lo+Math.imul(al4,bl3)|0,mid=mid+Math.imul(al4,bh3)|0,mid=mid+Math.imul(ah4,bl3)|0,hi=hi+Math.imul(ah4,bh3)|0,lo=lo+Math.imul(al3,bl4)|0,mid=mid+Math.imul(al3,bh4)|0,mid=mid+Math.imul(ah3,bl4)|0,hi=hi+Math.imul(ah3,bh4)|0,lo=lo+Math.imul(al2,bl5)|0,mid=mid+Math.imul(al2,bh5)|0,mid=mid+Math.imul(ah2,bl5)|0,hi=hi+Math.imul(ah2,bh5)|0,lo=lo+Math.imul(al1,bl6)|0,mid=mid+Math.imul(al1,bh6)|0,mid=mid+Math.imul(ah1,bl6)|0,hi=hi+Math.imul(ah1,bh6)|0,lo=lo+Math.imul(al0,bl7)|0,mid=mid+Math.imul(al0,bh7)|0,mid=mid+Math.imul(ah0,bl7)|0,hi=hi+Math.imul(ah0,bh7)|0;var w7=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w7>>>26)|0,w7&=67108863,lo=Math.imul(al8,bl0),mid=Math.imul(al8,bh0),mid=mid+Math.imul(ah8,bl0)|0,hi=Math.imul(ah8,bh0),lo=lo+Math.imul(al7,bl1)|0,mid=mid+Math.imul(al7,bh1)|0,mid=mid+Math.imul(ah7,bl1)|0,hi=hi+Math.imul(ah7,bh1)|0,lo=lo+Math.imul(al6,bl2)|0,mid=mid+Math.imul(al6,bh2)|0,mid=mid+Math.imul(ah6,bl2)|0,hi=hi+Math.imul(ah6,bh2)|0,lo=lo+Math.imul(al5,bl3)|0,mid=mid+Math.imul(al5,bh3)|0,mid=mid+Math.imul(ah5,bl3)|0,hi=hi+Math.imul(ah5,bh3)|0,lo=lo+Math.imul(al4,bl4)|0,mid=mid+Math.imul(al4,bh4)|0,mid=mid+Math.imul(ah4,bl4)|0,hi=hi+Math.imul(ah4,bh4)|0,lo=lo+Math.imul(al3,bl5)|0,mid=mid+Math.imul(al3,bh5)|0,mid=mid+Math.imul(ah3,bl5)|0,hi=hi+Math.imul(ah3,bh5)|0,lo=lo+Math.imul(al2,bl6)|0,mid=mid+Math.imul(al2,bh6)|0,mid=mid+Math.imul(ah2,bl6)|0,hi=hi+Math.imul(ah2,bh6)|0,lo=lo+Math.imul(al1,bl7)|0,mid=mid+Math.imul(al1,bh7)|0,mid=mid+Math.imul(ah1,bl7)|0,hi=hi+Math.imul(ah1,bh7)|0,lo=lo+Math.imul(al0,bl8)|0,mid=mid+Math.imul(al0,bh8)|0,mid=mid+Math.imul(ah0,bl8)|0,hi=hi+Math.imul(ah0,bh8)|0;var w8=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w8>>>26)|0,w8&=67108863,lo=Math.imul(al9,bl0),mid=Math.imul(al9,bh0),mid=mid+Math.imul(ah9,bl0)|0,hi=Math.imul(ah9,bh0),lo=lo+Math.imul(al8,bl1)|0,mid=mid+Math.imul(al8,bh1)|0,mid=mid+Math.imul(ah8,bl1)|0,hi=hi+Math.imul(ah8,bh1)|0,lo=lo+Math.imul(al7,bl2)|0,mid=mid+Math.imul(al7,bh2)|0,mid=mid+Math.imul(ah7,bl2)|0,hi=hi+Math.imul(ah7,bh2)|0,lo=lo+Math.imul(al6,bl3)|0,mid=mid+Math.imul(al6,bh3)|0,mid=mid+Math.imul(ah6,bl3)|0,hi=hi+Math.imul(ah6,bh3)|0,lo=lo+Math.imul(al5,bl4)|0,mid=mid+Math.imul(al5,bh4)|0,mid=mid+Math.imul(ah5,bl4)|0,hi=hi+Math.imul(ah5,bh4)|0,lo=lo+Math.imul(al4,bl5)|0,mid=mid+Math.imul(al4,bh5)|0,mid=mid+Math.imul(ah4,bl5)|0,hi=hi+Math.imul(ah4,bh5)|0,lo=lo+Math.imul(al3,bl6)|0,mid=mid+Math.imul(al3,bh6)|0,mid=mid+Math.imul(ah3,bl6)|0,hi=hi+Math.imul(ah3,bh6)|0,lo=lo+Math.imul(al2,bl7)|0,mid=mid+Math.imul(al2,bh7)|0,mid=mid+Math.imul(ah2,bl7)|0,hi=hi+Math.imul(ah2,bh7)|0,lo=lo+Math.imul(al1,bl8)|0,mid=mid+Math.imul(al1,bh8)|0,mid=mid+Math.imul(ah1,bl8)|0,hi=hi+Math.imul(ah1,bh8)|0,lo=lo+Math.imul(al0,bl9)|0,mid=mid+Math.imul(al0,bh9)|0,mid=mid+Math.imul(ah0,bl9)|0,hi=hi+Math.imul(ah0,bh9)|0;var w9=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w9>>>26)|0,w9&=67108863,lo=Math.imul(al9,bl1),mid=Math.imul(al9,bh1),mid=mid+Math.imul(ah9,bl1)|0,hi=Math.imul(ah9,bh1),lo=lo+Math.imul(al8,bl2)|0,mid=mid+Math.imul(al8,bh2)|0,mid=mid+Math.imul(ah8,bl2)|0,hi=hi+Math.imul(ah8,bh2)|0,lo=lo+Math.imul(al7,bl3)|0,mid=mid+Math.imul(al7,bh3)|0,mid=mid+Math.imul(ah7,bl3)|0,hi=hi+Math.imul(ah7,bh3)|0,lo=lo+Math.imul(al6,bl4)|0,mid=mid+Math.imul(al6,bh4)|0,mid=mid+Math.imul(ah6,bl4)|0,hi=hi+Math.imul(ah6,bh4)|0,lo=lo+Math.imul(al5,bl5)|0,mid=mid+Math.imul(al5,bh5)|0,mid=mid+Math.imul(ah5,bl5)|0,hi=hi+Math.imul(ah5,bh5)|0,lo=lo+Math.imul(al4,bl6)|0,mid=mid+Math.imul(al4,bh6)|0,mid=mid+Math.imul(ah4,bl6)|0,hi=hi+Math.imul(ah4,bh6)|0,lo=lo+Math.imul(al3,bl7)|0,mid=mid+Math.imul(al3,bh7)|0,mid=mid+Math.imul(ah3,bl7)|0,hi=hi+Math.imul(ah3,bh7)|0,lo=lo+Math.imul(al2,bl8)|0,mid=mid+Math.imul(al2,bh8)|0,mid=mid+Math.imul(ah2,bl8)|0,hi=hi+Math.imul(ah2,bh8)|0,lo=lo+Math.imul(al1,bl9)|0,mid=mid+Math.imul(al1,bh9)|0,mid=mid+Math.imul(ah1,bl9)|0,hi=hi+Math.imul(ah1,bh9)|0;var w10=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w10>>>26)|0,w10&=67108863,lo=Math.imul(al9,bl2),mid=Math.imul(al9,bh2),mid=mid+Math.imul(ah9,bl2)|0,hi=Math.imul(ah9,bh2),lo=lo+Math.imul(al8,bl3)|0,mid=mid+Math.imul(al8,bh3)|0,mid=mid+Math.imul(ah8,bl3)|0,hi=hi+Math.imul(ah8,bh3)|0,lo=lo+Math.imul(al7,bl4)|0,mid=mid+Math.imul(al7,bh4)|0,mid=mid+Math.imul(ah7,bl4)|0,hi=hi+Math.imul(ah7,bh4)|0,lo=lo+Math.imul(al6,bl5)|0,mid=mid+Math.imul(al6,bh5)|0,mid=mid+Math.imul(ah6,bl5)|0,hi=hi+Math.imul(ah6,bh5)|0,lo=lo+Math.imul(al5,bl6)|0,mid=mid+Math.imul(al5,bh6)|0,mid=mid+Math.imul(ah5,bl6)|0,hi=hi+Math.imul(ah5,bh6)|0,lo=lo+Math.imul(al4,bl7)|0,mid=mid+Math.imul(al4,bh7)|0,mid=mid+Math.imul(ah4,bl7)|0,hi=hi+Math.imul(ah4,bh7)|0,lo=lo+Math.imul(al3,bl8)|0,mid=mid+Math.imul(al3,bh8)|0,mid=mid+Math.imul(ah3,bl8)|0,hi=hi+Math.imul(ah3,bh8)|0,lo=lo+Math.imul(al2,bl9)|0,mid=mid+Math.imul(al2,bh9)|0,mid=mid+Math.imul(ah2,bl9)|0,hi=hi+Math.imul(ah2,bh9)|0;var w11=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w11>>>26)|0,w11&=67108863,lo=Math.imul(al9,bl3),mid=Math.imul(al9,bh3),mid=mid+Math.imul(ah9,bl3)|0,hi=Math.imul(ah9,bh3),lo=lo+Math.imul(al8,bl4)|0,mid=mid+Math.imul(al8,bh4)|0,mid=mid+Math.imul(ah8,bl4)|0,hi=hi+Math.imul(ah8,bh4)|0,lo=lo+Math.imul(al7,bl5)|0,mid=mid+Math.imul(al7,bh5)|0,mid=mid+Math.imul(ah7,bl5)|0,hi=hi+Math.imul(ah7,bh5)|0,lo=lo+Math.imul(al6,bl6)|0,mid=mid+Math.imul(al6,bh6)|0,mid=mid+Math.imul(ah6,bl6)|0,hi=hi+Math.imul(ah6,bh6)|0,lo=lo+Math.imul(al5,bl7)|0,mid=mid+Math.imul(al5,bh7)|0,mid=mid+Math.imul(ah5,bl7)|0,hi=hi+Math.imul(ah5,bh7)|0,lo=lo+Math.imul(al4,bl8)|0,mid=mid+Math.imul(al4,bh8)|0,mid=mid+Math.imul(ah4,bl8)|0,hi=hi+Math.imul(ah4,bh8)|0,lo=lo+Math.imul(al3,bl9)|0,mid=mid+Math.imul(al3,bh9)|0,mid=mid+Math.imul(ah3,bl9)|0,hi=hi+Math.imul(ah3,bh9)|0;var w12=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w12>>>26)|0,w12&=67108863,lo=Math.imul(al9,bl4),mid=Math.imul(al9,bh4),mid=mid+Math.imul(ah9,bl4)|0,hi=Math.imul(ah9,bh4),lo=lo+Math.imul(al8,bl5)|0,mid=mid+Math.imul(al8,bh5)|0,mid=mid+Math.imul(ah8,bl5)|0,hi=hi+Math.imul(ah8,bh5)|0,lo=lo+Math.imul(al7,bl6)|0,mid=mid+Math.imul(al7,bh6)|0,mid=mid+Math.imul(ah7,bl6)|0,hi=hi+Math.imul(ah7,bh6)|0,lo=lo+Math.imul(al6,bl7)|0,mid=mid+Math.imul(al6,bh7)|0,mid=mid+Math.imul(ah6,bl7)|0,hi=hi+Math.imul(ah6,bh7)|0,lo=lo+Math.imul(al5,bl8)|0,mid=mid+Math.imul(al5,bh8)|0,mid=mid+Math.imul(ah5,bl8)|0,hi=hi+Math.imul(ah5,bh8)|0,lo=lo+Math.imul(al4,bl9)|0,mid=mid+Math.imul(al4,bh9)|0,mid=mid+Math.imul(ah4,bl9)|0,hi=hi+Math.imul(ah4,bh9)|0;var w13=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w13>>>26)|0,w13&=67108863,lo=Math.imul(al9,bl5),mid=Math.imul(al9,bh5),mid=mid+Math.imul(ah9,bl5)|0,hi=Math.imul(ah9,bh5),lo=lo+Math.imul(al8,bl6)|0,mid=mid+Math.imul(al8,bh6)|0,mid=mid+Math.imul(ah8,bl6)|0,hi=hi+Math.imul(ah8,bh6)|0,lo=lo+Math.imul(al7,bl7)|0,mid=mid+Math.imul(al7,bh7)|0,mid=mid+Math.imul(ah7,bl7)|0,hi=hi+Math.imul(ah7,bh7)|0,lo=lo+Math.imul(al6,bl8)|0,mid=mid+Math.imul(al6,bh8)|0,mid=mid+Math.imul(ah6,bl8)|0,hi=hi+Math.imul(ah6,bh8)|0,lo=lo+Math.imul(al5,bl9)|0,mid=mid+Math.imul(al5,bh9)|0,mid=mid+Math.imul(ah5,bl9)|0,hi=hi+Math.imul(ah5,bh9)|0;var w14=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w14>>>26)|0,w14&=67108863,lo=Math.imul(al9,bl6),mid=Math.imul(al9,bh6),mid=mid+Math.imul(ah9,bl6)|0,hi=Math.imul(ah9,bh6),lo=lo+Math.imul(al8,bl7)|0,mid=mid+Math.imul(al8,bh7)|0,mid=mid+Math.imul(ah8,bl7)|0,hi=hi+Math.imul(ah8,bh7)|0,lo=lo+Math.imul(al7,bl8)|0,mid=mid+Math.imul(al7,bh8)|0,mid=mid+Math.imul(ah7,bl8)|0,hi=hi+Math.imul(ah7,bh8)|0,lo=lo+Math.imul(al6,bl9)|0,mid=mid+Math.imul(al6,bh9)|0,mid=mid+Math.imul(ah6,bl9)|0,hi=hi+Math.imul(ah6,bh9)|0;var w15=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w15>>>26)|0,w15&=67108863,lo=Math.imul(al9,bl7),mid=Math.imul(al9,bh7),mid=mid+Math.imul(ah9,bl7)|0,hi=Math.imul(ah9,bh7),lo=lo+Math.imul(al8,bl8)|0,mid=mid+Math.imul(al8,bh8)|0,mid=mid+Math.imul(ah8,bl8)|0,hi=hi+Math.imul(ah8,bh8)|0,lo=lo+Math.imul(al7,bl9)|0,mid=mid+Math.imul(al7,bh9)|0,mid=mid+Math.imul(ah7,bl9)|0,hi=hi+Math.imul(ah7,bh9)|0;var w16=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w16>>>26)|0,w16&=67108863,lo=Math.imul(al9,bl8),mid=Math.imul(al9,bh8),mid=mid+Math.imul(ah9,bl8)|0,hi=Math.imul(ah9,bh8),lo=lo+Math.imul(al8,bl9)|0,mid=mid+Math.imul(al8,bh9)|0,mid=mid+Math.imul(ah8,bl9)|0,hi=hi+Math.imul(ah8,bh9)|0;var w17=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w17>>>26)|0,w17&=67108863,lo=Math.imul(al9,bl9),mid=Math.imul(al9,bh9),mid=mid+Math.imul(ah9,bl9)|0,hi=Math.imul(ah9,bh9);var w18=(c+lo|0)+((mid&8191)<<13)|0;return c=(hi+(mid>>>13)|0)+(w18>>>26)|0,w18&=67108863,o[0]=w0,o[1]=w1,o[2]=w2,o[3]=w3,o[4]=w4,o[5]=w5,o[6]=w6,o[7]=w7,o[8]=w8,o[9]=w9,o[10]=w10,o[11]=w11,o[12]=w12,o[13]=w13,o[14]=w14,o[15]=w15,o[16]=w16,o[17]=w17,o[18]=w18,c!==0&&(o[19]=c,out.length++),out};Math.imul||(comb10MulTo=smallMulTo);function bigMulTo(self2,num,out){out.negative=num.negative^self2.negative,out.length=self2.length+num.length;for(var carry=0,hncarry=0,k=0;k>>26)|0,hncarry+=ncarry>>>26,ncarry&=67108863}out.words[k]=rword,carry=ncarry,ncarry=hncarry}return carry!==0\?out.words[k]=carry:out.length--,out.strip()}function jumboMulTo(self2,num,out){var fftm=new FFTM;return fftm.mulp(self2,num,out)}BN.prototype.mulTo=function(num,out){var res,len=this.length+num.length;return this.length===10&&num.length===10\?res=comb10MulTo(this,num,out):len<63\?res=smallMulTo(this,num,out):len<1024\?res=bigMulTo(this,num,out):res=jumboMulTo(this,num,out),res};function FFTM(x,y){this.x=x,this.y=y}FFTM.prototype.makeRBT=function(N){for(var t=new Array(N),l=BN.prototype._countBits(N)-1,i=0;i>=1;return rb},FFTM.prototype.permute=function(rbt,rws,iws,rtws,itws,N){for(var i=0;i>>1)i++;return 1<>>13,rws[2*i+1]=carry&8191,carry=carry>>>13;for(i=2*len;i>=26,carry+=w/67108864|0,carry+=lo>>>26,this.words[i]=lo&67108863}return carry!==0&&(this.words[i]=carry,this.length++),this},BN.prototype.muln=function(num){return this.clone().imuln(num)},BN.prototype.sqr=function(){return this.mul(this)},BN.prototype.isqr=function(){return this.imul(this.clone())},BN.prototype.pow=function(num){var w=toBitArray(num);if(w.length===0)return new BN(1);for(var res=this,i=0;i=0);var r=bits%26,s=(bits-r)/26,carryMask=67108863>>>26-r<<26-r,i;if(r!==0){var carry=0;for(i=0;i>>26-r}carry&&(this.words[i]=carry,this.length++)}if(s!==0){for(i=this.length-1;i>=0;i--)this.words[i+s]=this.words[i];for(i=0;i=0);var h;hint\?h=(hint-hint%26)/26:h=0;var r=bits%26,s=Math.min((bits-r)/26,this.length),mask=67108863^67108863>>>r<s)for(this.length-=s,i=0;i=0&&(carry!==0||i>=h);i--){var word=this.words[i]|0;this.words[i]=carry<<26-r|word>>>r,carry=word&mask}return maskedWords&&carry!==0&&(maskedWords.words[maskedWords.length++]=carry),this.length===0&&(this.words[0]=0,this.length=1),this.strip()},BN.prototype.ishrn=function(bits,hint,extended){return assert(this.negative===0),this.iushrn(bits,hint,extended)},BN.prototype.shln=function(bits){return this.clone().ishln(bits)},BN.prototype.ushln=function(bits){return this.clone().iushln(bits)},BN.prototype.shrn=function(bits){return this.clone().ishrn(bits)},BN.prototype.ushrn=function(bits){return this.clone().iushrn(bits)},BN.prototype.testn=function(bit){assert(typeof bit==\"number\"&&bit>=0);var r=bit%26,s=(bit-r)/26,q=1<=0);var r=bits%26,s=(bits-r)/26;if(assert(this.negative===0,\"imaskn works only with positive numbers\"),this.length<=s)return this;if(r!==0&&s++,this.length=Math.min(s,this.length),r!==0){var mask=67108863^67108863>>>r<=67108864;i++)this.words[i]-=67108864,i===this.length-1\?this.words[i+1]=1:this.words[i+1]++;return this.length=Math.max(this.length,i+1),this},BN.prototype.isubn=function(num){if(assert(typeof num==\"number\"),assert(num<67108864),num<0)return this.iaddn(-num);if(this.negative!==0)return this.negative=0,this.iaddn(num),this.negative=1,this;if(this.words[0]-=num,this.length===1&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var i=0;i>26)-(right/67108864|0),this.words[i+shift]=w&67108863}for(;i>26,this.words[i+shift]=w&67108863;if(carry===0)return this.strip();for(assert(carry===-1),carry=0,i=0;i>26,this.words[i]=w&67108863;return this.negative=1,this.strip()},BN.prototype._wordDiv=function(num,mode){var shift=this.length-num.length,a=this.clone(),b=num,bhi=b.words[b.length-1]|0,bhiBits=this._countBits(bhi);shift=26-bhiBits,shift!==0&&(b=b.ushln(shift),a.iushln(shift),bhi=b.words[b.length-1]|0);var m=a.length-b.length,q;if(mode!==\"mod\"){q=new BN(null),q.length=m+1,q.words=new Array(q.length);for(var i=0;i=0;j--){var qj=(a.words[b.length+j]|0)*67108864+(a.words[b.length+j-1]|0);for(qj=Math.min(qj/bhi|0,67108863),a._ishlnsubmul(b,qj,j);a.negative!==0;)qj--,a.negative=0,a._ishlnsubmul(b,1,j),a.isZero()||(a.negative^=1);q&&(q.words[j]=qj)}return q&&q.strip(),a.strip(),mode!==\"div\"&&shift!==0&&a.iushrn(shift),{div:q||null,mod:a}},BN.prototype.divmod=function(num,mode,positive){if(assert(!num.isZero()),this.isZero())return{div:new BN(0),mod:new BN(0)};var div,mod,res;return this.negative!==0&&num.negative===0\?(res=this.neg().divmod(num,mode),mode!==\"mod\"&&(div=res.div.neg()),mode!==\"div\"&&(mod=res.mod.neg(),positive&&mod.negative!==0&&mod.iadd(num)),{div,mod}):this.negative===0&&num.negative!==0\?(res=this.divmod(num.neg(),mode),mode!==\"mod\"&&(div=res.div.neg()),{div,mod:res.mod}):(this.negative&num.negative)!==0\?(res=this.neg().divmod(num.neg(),mode),mode!==\"div\"&&(mod=res.mod.neg(),positive&&mod.negative!==0&&mod.isub(num)),{div:res.div,mod}):num.length>this.length||this.cmp(num)<0\?{div:new BN(0),mod:this}:num.length===1\?mode===\"div\"\?{div:this.divn(num.words[0]),mod:null}:mode===\"mod\"\?{div:null,mod:new BN(this.modn(num.words[0]))}:{div:this.divn(num.words[0]),mod:new BN(this.modn(num.words[0]))}:this._wordDiv(num,mode)},BN.prototype.div=function(num){return this.divmod(num,\"div\",!1).div},BN.prototype.mod=function(num){return this.divmod(num,\"mod\",!1).mod},BN.prototype.umod=function(num){return this.divmod(num,\"mod\",!0).mod},BN.prototype.divRound=function(num){var dm=this.divmod(num);if(dm.mod.isZero())return dm.div;var mod=dm.div.negative!==0\?dm.mod.isub(num):dm.mod,half=num.ushrn(1),r2=num.andln(1),cmp=mod.cmp(half);return cmp<0||r2===1&&cmp===0\?dm.div:dm.div.negative!==0\?dm.div.isubn(1):dm.div.iaddn(1)},BN.prototype.modn=function(num){assert(num<=67108863);for(var p=(1<<26)%num,acc=0,i=this.length-1;i>=0;i--)acc=(p*acc+(this.words[i]|0))%num;return acc},BN.prototype.idivn=function(num){assert(num<=67108863);for(var carry=0,i=this.length-1;i>=0;i--){var w=(this.words[i]|0)+carry*67108864;this.words[i]=w/num|0,carry=w%num}return this.strip()},BN.prototype.divn=function(num){return this.clone().idivn(num)},BN.prototype.egcd=function(p){assert(p.negative===0),assert(!p.isZero());var x=this,y=p.clone();x.negative!==0\?x=x.umod(p):x=x.clone();for(var A=new BN(1),B=new BN(0),C=new BN(0),D=new BN(1),g=0;x.isEven()&&y.isEven();)x.iushrn(1),y.iushrn(1),++g;for(var yp=y.clone(),xp=x.clone();!x.isZero();){for(var i=0,im=1;(x.words[0]&im)===0&&i<26;++i,im<<=1);if(i>0)for(x.iushrn(i);i-- >0;)(A.isOdd()||B.isOdd())&&(A.iadd(yp),B.isub(xp)),A.iushrn(1),B.iushrn(1);for(var j=0,jm=1;(y.words[0]&jm)===0&&j<26;++j,jm<<=1);if(j>0)for(y.iushrn(j);j-- >0;)(C.isOdd()||D.isOdd())&&(C.iadd(yp),D.isub(xp)),C.iushrn(1),D.iushrn(1);x.cmp(y)>=0\?(x.isub(y),A.isub(C),B.isub(D)):(y.isub(x),C.isub(A),D.isub(B))}return{a:C,b:D,gcd:y.iushln(g)}},BN.prototype._invmp=function(p){assert(p.negative===0),assert(!p.isZero());var a=this,b=p.clone();a.negative!==0\?a=a.umod(p):a=a.clone();for(var x1=new BN(1),x2=new BN(0),delta=b.clone();a.cmpn(1)>0&&b.cmpn(1)>0;){for(var i=0,im=1;(a.words[0]&im)===0&&i<26;++i,im<<=1);if(i>0)for(a.iushrn(i);i-- >0;)x1.isOdd()&&x1.iadd(delta),x1.iushrn(1);for(var j=0,jm=1;(b.words[0]&jm)===0&&j<26;++j,jm<<=1);if(j>0)for(b.iushrn(j);j-- >0;)x2.isOdd()&&x2.iadd(delta),x2.iushrn(1);a.cmp(b)>=0\?(a.isub(b),x1.isub(x2)):(b.isub(a),x2.isub(x1))}var res;return a.cmpn(1)===0\?res=x1:res=x2,res.cmpn(0)<0&&res.iadd(p),res},BN.prototype.gcd=function(num){if(this.isZero())return num.abs();if(num.isZero())return this.abs();var a=this.clone(),b=num.clone();a.negative=0,b.negative=0;for(var shift=0;a.isEven()&&b.isEven();shift++)a.iushrn(1),b.iushrn(1);do{for(;a.isEven();)a.iushrn(1);for(;b.isEven();)b.iushrn(1);var r=a.cmp(b);if(r<0){var t=a;a=b,b=t}else if(r===0||b.cmpn(1)===0)break;a.isub(b)}while(!0);return b.iushln(shift)},BN.prototype.invm=function(num){return this.egcd(num).a.umod(num)},BN.prototype.isEven=function(){return(this.words[0]&1)===0},BN.prototype.isOdd=function(){return(this.words[0]&1)===1},BN.prototype.andln=function(num){return this.words[0]&num},BN.prototype.bincn=function(bit){assert(typeof bit==\"number\");var r=bit%26,s=(bit-r)/26,q=1<>>26,w&=67108863,this.words[i]=w}return carry!==0&&(this.words[i]=carry,this.length++),this},BN.prototype.isZero=function(){return this.length===1&&this.words[0]===0},BN.prototype.cmpn=function(num){var negative=num<0;if(this.negative!==0&&!negative)return-1;if(this.negative===0&&negative)return 1;this.strip();var res;if(this.length>1)res=1;else{negative&&(num=-num),assert(num<=67108863,\"Number is too big\");var w=this.words[0]|0;res=w===num\?0:wnum.length)return 1;if(this.length=0;i--){var a=this.words[i]|0,b=num.words[i]|0;if(a!==b){ab&&(res=1);break}}return res},BN.prototype.gtn=function(num){return this.cmpn(num)===1},BN.prototype.gt=function(num){return this.cmp(num)===1},BN.prototype.gten=function(num){return this.cmpn(num)>=0},BN.prototype.gte=function(num){return this.cmp(num)>=0},BN.prototype.ltn=function(num){return this.cmpn(num)===-1},BN.prototype.lt=function(num){return this.cmp(num)===-1},BN.prototype.lten=function(num){return this.cmpn(num)<=0},BN.prototype.lte=function(num){return this.cmp(num)<=0},BN.prototype.eqn=function(num){return this.cmpn(num)===0},BN.prototype.eq=function(num){return this.cmp(num)===0},BN.red=function(num){return new Red(num)},BN.prototype.toRed=function(ctx){return assert(!this.red,\"Already a number in reduction context\"),assert(this.negative===0,\"red works only with positives\"),ctx.convertTo(this)._forceRed(ctx)},BN.prototype.fromRed=function(){return assert(this.red,\"fromRed works only with numbers in reduction context\"),this.red.convertFrom(this)},BN.prototype._forceRed=function(ctx){return this.red=ctx,this},BN.prototype.forceRed=function(ctx){return assert(!this.red,\"Already a number in reduction context\"),this._forceRed(ctx)},BN.prototype.redAdd=function(num){return assert(this.red,\"redAdd works only with red numbers\"),this.red.add(this,num)},BN.prototype.redIAdd=function(num){return assert(this.red,\"redIAdd works only with red numbers\"),this.red.iadd(this,num)},BN.prototype.redSub=function(num){return assert(this.red,\"redSub works only with red numbers\"),this.red.sub(this,num)},BN.prototype.redISub=function(num){return assert(this.red,\"redISub works only with red numbers\"),this.red.isub(this,num)},BN.prototype.redShl=function(num){return assert(this.red,\"redShl works only with red numbers\"),this.red.shl(this,num)},BN.prototype.redMul=function(num){return assert(this.red,\"redMul works only with red numbers\"),this.red._verify2(this,num),this.red.mul(this,num)},BN.prototype.redIMul=function(num){return assert(this.red,\"redMul works only with red numbers\"),this.red._verify2(this,num),this.red.imul(this,num)},BN.prototype.redSqr=function(){return assert(this.red,\"redSqr works only with red numbers\"),this.red._verify1(this),this.red.sqr(this)},BN.prototype.redISqr=function(){return assert(this.red,\"redISqr works only with red numbers\"),this.red._verify1(this),this.red.isqr(this)},BN.prototype.redSqrt=function(){return assert(this.red,\"redSqrt works only with red numbers\"),this.red._verify1(this),this.red.sqrt(this)},BN.prototype.redInvm=function(){return assert(this.red,\"redInvm works only with red numbers\"),this.red._verify1(this),this.red.invm(this)},BN.prototype.redNeg=function(){return assert(this.red,\"redNeg works only with red numbers\"),this.red._verify1(this),this.red.neg(this)},BN.prototype.redPow=function(num){return assert(this.red&&!num.red,\"redPow(normalNum)\"),this.red._verify1(this),this.red.pow(this,num)};var primes={k256:null,p224:null,p192:null,p25519:null};function MPrime(name,p){this.name=name,this.p=new BN(p,16),this.n=this.p.bitLength(),this.k=new BN(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}MPrime.prototype._tmp=function(){var tmp=new BN(null);return tmp.words=new Array(Math.ceil(this.n/13)),tmp},MPrime.prototype.ireduce=function(num){var r=num,rlen;do this.split(r,this.tmp),r=this.imulK(r),r=r.iadd(this.tmp),rlen=r.bitLength();while(rlen>this.n);var cmp=rlen0\?r.isub(this.p):r.strip!==void 0\?r.strip():r._strip(),r},MPrime.prototype.split=function(input,out){input.iushrn(this.n,0,out)},MPrime.prototype.imulK=function(num){return num.imul(this.k)};function K256(){MPrime.call(this,\"k256\",\"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f\")}inherits(K256,MPrime),K256.prototype.split=function(input,output){for(var mask=4194303,outLen=Math.min(input.length,9),i=0;i>>22,prev=next}prev>>>=22,input.words[i-10]=prev,prev===0&&input.length>10\?input.length-=10:input.length-=9},K256.prototype.imulK=function(num){num.words[num.length]=0,num.words[num.length+1]=0,num.length+=2;for(var lo=0,i=0;i>>=26,num.words[i]=lo,carry=hi}return carry!==0&&(num.words[num.length++]=carry),num},BN._prime=function(name){if(primes[name])return primes[name];var prime2;if(name===\"k256\")prime2=new K256;else if(name===\"p224\")prime2=new P224;else if(name===\"p192\")prime2=new P192;else if(name===\"p25519\")prime2=new P25519;else throw new Error(\"Unknown prime \"+name);return primes[name]=prime2,prime2};function Red(m){if(typeof m==\"string\"){var prime=BN._prime(m);this.m=prime.p,this.prime=prime}else assert(m.gtn(1),\"modulus must be greater than 1\"),this.m=m,this.prime=null}Red.prototype._verify1=function(a){assert(a.negative===0,\"red works only with positives\"),assert(a.red,\"red works only with red numbers\")},Red.prototype._verify2=function(a,b){assert((a.negative|b.negative)===0,\"red works only with positives\"),assert(a.red&&a.red===b.red,\"red works only with red numbers\")},Red.prototype.imod=function(a){return this.prime\?this.prime.ireduce(a)._forceRed(this):a.umod(this.m)._forceRed(this)},Red.prototype.neg=function(a){return a.isZero()\?a.clone():this.m.sub(a)._forceRed(this)},Red.prototype.add=function(a,b){this._verify2(a,b);var res=a.add(b);return res.cmp(this.m)>=0&&res.isub(this.m),res._forceRed(this)},Red.prototype.iadd=function(a,b){this._verify2(a,b);var res=a.iadd(b);return res.cmp(this.m)>=0&&res.isub(this.m),res},Red.prototype.sub=function(a,b){this._verify2(a,b);var res=a.sub(b);return res.cmpn(0)<0&&res.iadd(this.m),res._forceRed(this)},Red.prototype.isub=function(a,b){this._verify2(a,b);var res=a.isub(b);return res.cmpn(0)<0&&res.iadd(this.m),res},Red.prototype.shl=function(a,num){return this._verify1(a),this.imod(a.ushln(num))},Red.prototype.imul=function(a,b){return this._verify2(a,b),this.imod(a.imul(b))},Red.prototype.mul=function(a,b){return this._verify2(a,b),this.imod(a.mul(b))},Red.prototype.isqr=function(a){return this.imul(a,a.clone())},Red.prototype.sqr=function(a){return this.mul(a,a)},Red.prototype.sqrt=function(a){if(a.isZero())return a.clone();var mod3=this.m.andln(3);if(assert(mod3%2===1),mod3===3){var pow=this.m.add(new BN(1)).iushrn(2);return this.pow(a,pow)}for(var q=this.m.subn(1),s=0;!q.isZero()&&q.andln(1)===0;)s++,q.iushrn(1);assert(!q.isZero());var one=new BN(1).toRed(this),nOne=one.redNeg(),lpow=this.m.subn(1).iushrn(1),z=this.m.bitLength();for(z=new BN(2*z*z).toRed(this);this.pow(z,lpow).cmp(nOne)!==0;)z.redIAdd(nOne);for(var c=this.pow(z,q),r=this.pow(a,q.addn(1).iushrn(1)),t=this.pow(a,q),m=s;t.cmp(one)!==0;){for(var tmp=t,i=0;tmp.cmp(one)!==0;i++)tmp=tmp.redSqr();assert(i=0;i--){for(var word=num.words[i],j=start-1;j>=0;j--){var bit=word>>j&1;if(res!==wnd[0]&&(res=this.sqr(res)),bit===0&¤t===0){currentLen=0;continue}current<<=1,current|=bit,currentLen++,!(currentLen!==windowSize&&(i!==0||j!==0))&&(res=this.mul(res,wnd[current]),currentLen=0,current=0)}start=26}return res},Red.prototype.convertTo=function(num){var r=num.umod(this.m);return r===num\?r.clone():r},Red.prototype.convertFrom=function(num){var res=num.clone();return res.red=null,res},BN.mont=function(num){return new Mont(num)};function Mont(m){Red.call(this,m),this.shift=this.m.bitLength(),this.shift%26!==0&&(this.shift+=26-this.shift%26),this.r=new BN(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}inherits(Mont,Red),Mont.prototype.convertTo=function(num){return this.imod(num.ushln(this.shift))},Mont.prototype.convertFrom=function(num){var r=this.imod(num.mul(this.rinv));return r.red=null,r},Mont.prototype.imul=function(a,b){if(a.isZero()||b.isZero())return a.words[0]=0,a.length=1,a;var t=a.imul(b),c=t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),u=t.isub(c).iushrn(this.shift),res=u;return u.cmp(this.m)>=0\?res=u.isub(this.m):u.cmpn(0)<0&&(res=u.iadd(this.m)),res._forceRed(this)},Mont.prototype.mul=function(a,b){if(a.isZero()||b.isZero())return new BN(0)._forceRed(this);var t=a.mul(b),c=t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),u=t.isub(c).iushrn(this.shift),res=u;return u.cmp(this.m)>=0\?res=u.isub(this.m):u.cmpn(0)<0&&(res=u.iadd(this.m)),res._forceRed(this)},Mont.prototype.invm=function(a){var res=this.imod(a._invmp(this.m).mul(this.r2));return res._forceRed(this)}})(typeof module>\"u\"||module,exports)}}),require_crypto_browserify=__commonJS({\"(disabled):node_modules/crypto-browserify/index.js\"(){}}),require_brorand=__commonJS({\"node_modules/brorand/index.js\"(exports,module){var r;module.exports=function(len){return r||(r=new Rand(null)),r.generate(len)};function Rand(rand){this.rand=rand}module.exports.Rand=Rand,Rand.prototype.generate=function(len){return this._rand(len)},Rand.prototype._rand=function(n){var out=new Buffer(n);return crypto.getRandomValues(out),out}}}),require_mr=__commonJS({\"node_modules/miller-rabin/lib/mr.js\"(exports,module){var bn=require_bn2(),brorand=require_brorand();function MillerRabin(rand){this.rand=rand||new brorand.Rand}module.exports=MillerRabin,MillerRabin.create=function(rand){return new MillerRabin(rand)},MillerRabin.prototype._randbelow=function(n){var len=n.bitLength(),min_bytes=Math.ceil(len/8);do var a=new bn(this.rand.generate(min_bytes));while(a.cmp(n)>=0);return a},MillerRabin.prototype._randrange=function(start,stop){var size=stop.sub(start);return start.add(this._randbelow(size))},MillerRabin.prototype.test=function(n,k,cb){var len=n.bitLength(),red=bn.mont(n),rone=new bn(1).toRed(red);k||(k=Math.max(1,len/48|0));for(var n1=n.subn(1),s=0;!n1.testn(s);s++);for(var d=n.shrn(s),rn1=n1.toRed(red),prime=!0;k>0;k--){var a=this._randrange(new bn(2),n1);cb&&cb(a);var x=a.toRed(red).redPow(d);if(!(x.cmp(rone)===0||x.cmp(rn1)===0)){for(var i=1;i0;k--){var a=this._randrange(new bn(2),n1),g=n.gcd(a);if(g.cmpn(1)!==0)return g;var x=a.toRed(red).redPow(d);if(!(x.cmp(rone)===0||x.cmp(rn1)===0)){for(var i=1;ibits;)num.ishrn(1);if(num.isEven()&&num.iadd(ONE),num.testn(1)||num.iadd(TWO),gen.cmp(TWO)){if(!gen.cmp(FIVE))for(;num.mod(TEN).cmp(THREE);)num.iadd(FOUR)}else for(;num.mod(TWENTYFOUR).cmp(ELEVEN);)num.iadd(FOUR);if(n2=num.shrn(1),simpleSieve(n2)&&simpleSieve(num)&&fermatTest(n2)&&fermatTest(num)&&millerRabin.test(n2)&&millerRabin.test(num))return num}}}}),require_primes=__commonJS({\"node_modules/diffie-hellman/lib/primes.json\"(exports,module){module.exports={modp1:{gen:\"02\",prime:\"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a63a3620ffffffffffffffff\"},modp2:{gen:\"02\",prime:\"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece65381ffffffffffffffff\"},modp5:{gen:\"02\",prime:\"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca237327ffffffffffffffff\"},modp14:{gen:\"02\",prime:\"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aacaa68ffffffffffffffff\"},modp15:{gen:\"02\",prime:\"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a93ad2caffffffffffffffff\"},modp16:{gen:\"02\",prime:\"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c934063199ffffffffffffffff\"},modp17:{gen:\"02\",prime:\"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dcc4024ffffffffffffffff\"},modp18:{gen:\"02\",prime:\"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dbe115974a3926f12fee5e438777cb6a932df8cd8bec4d073b931ba3bc832b68d9dd300741fa7bf8afc47ed2576f6936ba424663aab639c5ae4f5683423b4742bf1c978238f16cbe39d652de3fdb8befc848ad922222e04a4037c0713eb57a81a23f0c73473fc646cea306b4bcbc8862f8385ddfa9d4b7fa2c087e879683303ed5bdd3a062b3cf5b3a278a66d2a13f83f44f82ddf310ee074ab6a364597e899a0255dc164f31cc50846851df9ab48195ded7ea1b1d510bd7ee74d73faf36bc31ecfa268359046f4eb879f924009438b481c6cd7889a002ed5ee382bc9190da6fc026e479558e4475677e9aa9e3050e2765694dfc81f56e880b96e7160c980dd98edd3dfffffffffffffffff\"}}}}),require_dh=__commonJS({\"node_modules/diffie-hellman/lib/dh.js\"(exports,module){var BN=require_bn(),MillerRabin=require_mr(),millerRabin=new MillerRabin,TWENTYFOUR=new BN(24),ELEVEN=new BN(11),TEN=new BN(10),THREE=new BN(3),SEVEN=new BN(7),primes=require_generatePrime(),randomBytes=require_browser();module.exports=DH;function setPublicKey(pub,enc){return enc=enc||\"utf8\",Buffer.isBuffer(pub)||(pub=new Buffer(pub,enc)),this._pub=new BN(pub),this}function setPrivateKey(priv,enc){return enc=enc||\"utf8\",Buffer.isBuffer(priv)||(priv=new Buffer(priv,enc)),this._priv=new BN(priv),this}var primeCache={};function checkPrime(prime,generator){var gen=generator.toString(\"hex\"),hex=[gen,prime.toString(16)].join(\"_\");if(hex in primeCache)return primeCache[hex];var error=0;if(prime.isEven()||!primes.simpleSieve||!primes.fermatTest(prime)||!millerRabin.test(prime))return error+=1,gen===\"02\"||gen===\"05\"\?error+=8:error+=4,primeCache[hex]=error,error;millerRabin.test(prime.shrn(1))||(error+=2);var rem;switch(gen){case\"02\":prime.mod(TWENTYFOUR).cmp(ELEVEN)&&(error+=8);break;case\"05\":rem=prime.mod(TEN),rem.cmp(THREE)&&rem.cmp(SEVEN)&&(error+=8);break;default:error+=4}return primeCache[hex]=error,error}function DH(prime,generator,malleable){this.setGenerator(generator),this.__prime=new BN(prime),this._prime=BN.mont(this.__prime),this._primeLen=prime.length,this._pub=void 0,this._priv=void 0,this._primeCode=void 0,malleable\?(this.setPublicKey=setPublicKey,this.setPrivateKey=setPrivateKey):this._primeCode=8}Object.defineProperty(DH.prototype,\"verifyError\",{enumerable:!0,get:function(){return typeof this._primeCode!=\"number\"&&(this._primeCode=checkPrime(this.__prime,this.__gen)),this._primeCode}}),DH.prototype.generateKeys=function(){return this._priv||(this._priv=new BN(randomBytes(this._primeLen))),this._pub=this._gen.toRed(this._prime).redPow(this._priv).fromRed(),this.getPublicKey()},DH.prototype.computeSecret=function(other){other=new BN(other),other=other.toRed(this._prime);var secret=other.redPow(this._priv).fromRed(),out=new Buffer(secret.toArray()),prime=this.getPrime();if(out.length0\?left:right},BN.min=function(left,right){return left.cmp(right)<0\?left:right},BN.prototype._init=function(number,base,endian){if(typeof number==\"number\")return this._initNumber(number,base,endian);if(typeof number==\"object\")return this._initArray(number,base,endian);base===\"hex\"&&(base=16),assert(base===(base|0)&&base>=2&&base<=36),number=number.toString().replace(/\\s+/g,\"\");var start=0;number[0]===\"-\"&&(start++,this.negative=1),start=0;i-=3)w=number[i]|number[i-1]<<8|number[i-2]<<16,this.words[j]|=w<>>26-off&67108863,off+=24,off>=26&&(off-=26,j++);else if(endian===\"le\")for(i=0,j=0;i>>26-off&67108863,off+=24,off>=26&&(off-=26,j++);return this._strip()};function parseHex4Bits(string,index){var c=string.charCodeAt(index);if(c>=48&&c<=57)return c-48;if(c>=65&&c<=70)return c-55;if(c>=97&&c<=102)return c-87;assert(!1,\"Invalid character in \"+string)}function parseHexByte(string,lowerBound,index){var r=parseHex4Bits(string,index);return index-1>=lowerBound&&(r|=parseHex4Bits(string,index-1)<<4),r}BN.prototype._parseHex=function(number,start,endian){this.length=Math.ceil((number.length-start)/6),this.words=new Array(this.length);for(var i=0;i=start;i-=2)w=parseHexByte(number,start,i)<=18\?(off-=18,j+=1,this.words[j]|=w>>>26):off+=8;else{var parseLength=number.length-start;for(i=parseLength%2===0\?start+1:start;i=18\?(off-=18,j+=1,this.words[j]|=w>>>26):off+=8}this._strip()};function parseBase(str,start,end,mul){for(var r=0,b=0,len=Math.min(str.length,end),i=start;i=49\?b=c-49+10:c>=17\?b=c-17+10:b=c,assert(c>=0&&b1&&this.words[this.length-1]===0;)this.length--;return this._normSign()},BN.prototype._normSign=function(){return this.length===1&&this.words[0]===0&&(this.negative=0),this},typeof Symbol<\"u\"&&typeof Symbol.for==\"function\")try{BN.prototype[Symbol.for(\"nodejs.util.inspect.custom\")]=inspect}catch{BN.prototype.inspect=inspect}else BN.prototype.inspect=inspect;function inspect(){return(this.red\?\"\"}var zeros=[\"\",\"0\",\"00\",\"000\",\"0000\",\"00000\",\"000000\",\"0000000\",\"00000000\",\"000000000\",\"0000000000\",\"00000000000\",\"000000000000\",\"0000000000000\",\"00000000000000\",\"000000000000000\",\"0000000000000000\",\"00000000000000000\",\"000000000000000000\",\"0000000000000000000\",\"00000000000000000000\",\"000000000000000000000\",\"0000000000000000000000\",\"00000000000000000000000\",\"000000000000000000000000\",\"0000000000000000000000000\"],groupSizes=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],groupBases=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64000000,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,24300000,28629151,33554432,39135393,45435424,52521875,60466176];BN.prototype.toString=function(base,padding){base=base||10,padding=padding|0||1;var out;if(base===16||base===\"hex\"){out=\"\";for(var off=0,carry=0,i=0;i>>24-off&16777215,off+=2,off>=26&&(off-=26,i--),carry!==0||i!==this.length-1\?out=zeros[6-word.length]+word+out:out=word+out}for(carry!==0&&(out=carry.toString(16)+out);out.length%padding!==0;)out=\"0\"+out;return this.negative!==0&&(out=\"-\"+out),out}if(base===(base|0)&&base>=2&&base<=36){var groupSize=groupSizes[base],groupBase=groupBases[base];out=\"\";var c=this.clone();for(c.negative=0;!c.isZero();){var r=c.modrn(groupBase).toString(base);c=c.idivn(groupBase),c.isZero()\?out=r+out:out=zeros[groupSize-r.length]+r+out}for(this.isZero()&&(out=\"0\"+out);out.length%padding!==0;)out=\"0\"+out;return this.negative!==0&&(out=\"-\"+out),out}assert(!1,\"Base should be between 2 and 36\")},BN.prototype.toNumber=function(){var ret=this.words[0];return this.length===2\?ret+=this.words[1]*67108864:this.length===3&&this.words[2]===1\?ret+=4503599627370496+this.words[1]*67108864:this.length>2&&assert(!1,\"Number can only safely store up to 53 bits\"),this.negative!==0\?-ret:ret},BN.prototype.toJSON=function(){return this.toString(16,2)},Buffer2&&(BN.prototype.toBuffer=function(endian,length){return this.toArrayLike(Buffer2,endian,length)}),BN.prototype.toArray=function(endian,length){return this.toArrayLike(Array,endian,length)};var allocate=function(ArrayType,size){return ArrayType.allocUnsafe\?ArrayType.allocUnsafe(size):new ArrayType(size)};BN.prototype.toArrayLike=function(ArrayType,endian,length){this._strip();var byteLength=this.byteLength(),reqLength=length||Math.max(1,byteLength);assert(byteLength<=reqLength,\"byte array longer than desired length\"),assert(reqLength>0,\"Requested array length <= 0\");var res=allocate(ArrayType,reqLength),postfix=endian===\"le\"\?\"LE\":\"BE\";return this[\"_toArrayLike\"+postfix](res,byteLength),res},BN.prototype._toArrayLikeLE=function(res,byteLength){for(var position=0,carry=0,i=0,shift=0;i>8&255),position>16&255),shift===6\?(position>24&255),carry=0,shift=0):(carry=word>>>24,shift+=2)}if(position=0&&(res[position--]=word>>8&255),position>=0&&(res[position--]=word>>16&255),shift===6\?(position>=0&&(res[position--]=word>>24&255),carry=0,shift=0):(carry=word>>>24,shift+=2)}if(position>=0)for(res[position--]=carry;position>=0;)res[position--]=0},Math.clz32\?BN.prototype._countBits=function(w){return 32-Math.clz32(w)}:BN.prototype._countBits=function(w){var t=w,r=0;return t>=4096&&(r+=13,t>>>=13),t>=64&&(r+=7,t>>>=7),t>=8&&(r+=4,t>>>=4),t>=2&&(r+=2,t>>>=2),r+t},BN.prototype._zeroBits=function(w){if(w===0)return 26;var t=w,r=0;return(t&8191)===0&&(r+=13,t>>>=13),(t&127)===0&&(r+=7,t>>>=7),(t&15)===0&&(r+=4,t>>>=4),(t&3)===0&&(r+=2,t>>>=2),(t&1)===0&&r++,r},BN.prototype.bitLength=function(){var w=this.words[this.length-1],hi=this._countBits(w);return(this.length-1)*26+hi};function toBitArray(num){for(var w=new Array(num.bitLength()),bit=0;bit>>wbit&1}return w}BN.prototype.zeroBits=function(){if(this.isZero())return 0;for(var r=0,i=0;inum.length\?this.clone().ior(num):num.clone().ior(this)},BN.prototype.uor=function(num){return this.length>num.length\?this.clone().iuor(num):num.clone().iuor(this)},BN.prototype.iuand=function(num){var b;this.length>num.length\?b=num:b=this;for(var i=0;inum.length\?this.clone().iand(num):num.clone().iand(this)},BN.prototype.uand=function(num){return this.length>num.length\?this.clone().iuand(num):num.clone().iuand(this)},BN.prototype.iuxor=function(num){var a,b;this.length>num.length\?(a=this,b=num):(a=num,b=this);for(var i=0;inum.length\?this.clone().ixor(num):num.clone().ixor(this)},BN.prototype.uxor=function(num){return this.length>num.length\?this.clone().iuxor(num):num.clone().iuxor(this)},BN.prototype.inotn=function(width){assert(typeof width==\"number\"&&width>=0);var bytesNeeded=Math.ceil(width/26)|0,bitsLeft=width%26;this._expand(bytesNeeded),bitsLeft>0&&bytesNeeded--;for(var i=0;i0&&(this.words[i]=~this.words[i]&67108863>>26-bitsLeft),this._strip()},BN.prototype.notn=function(width){return this.clone().inotn(width)},BN.prototype.setn=function(bit,val){assert(typeof bit==\"number\"&&bit>=0);var off=bit/26|0,wbit=bit%26;return this._expand(off+1),val\?this.words[off]=this.words[off]|1<num.length\?(a=this,b=num):(a=num,b=this);for(var carry=0,i=0;i>>26;for(;carry!==0&&i>>26;if(this.length=a.length,carry!==0)this.words[this.length]=carry,this.length++;else if(a!==this)for(;inum.length\?this.clone().iadd(num):num.clone().iadd(this)},BN.prototype.isub=function(num){if(num.negative!==0){num.negative=0;var r=this.iadd(num);return num.negative=1,r._normSign()}else if(this.negative!==0)return this.negative=0,this.iadd(num),this.negative=1,this._normSign();var cmp=this.cmp(num);if(cmp===0)return this.negative=0,this.length=1,this.words[0]=0,this;var a,b;cmp>0\?(a=this,b=num):(a=num,b=this);for(var carry=0,i=0;i>26,this.words[i]=r&67108863;for(;carry!==0&&i>26,this.words[i]=r&67108863;if(carry===0&&i>>26,rword=carry&67108863,maxJ=Math.min(k,num.length-1),j=Math.max(0,k-self2.length+1);j<=maxJ;j++){var i=k-j|0;a=self2.words[i]|0,b=num.words[j]|0,r=a*b+rword,ncarry+=r/67108864|0,rword=r&67108863}out.words[k]=rword|0,carry=ncarry|0}return carry!==0\?out.words[k]=carry|0:out.length--,out._strip()}var comb10MulTo=function(self2,num,out){var a=self2.words,b=num.words,o=out.words,c=0,lo,mid,hi,a0=a[0]|0,al0=a0&8191,ah0=a0>>>13,a1=a[1]|0,al1=a1&8191,ah1=a1>>>13,a2=a[2]|0,al2=a2&8191,ah2=a2>>>13,a3=a[3]|0,al3=a3&8191,ah3=a3>>>13,a4=a[4]|0,al4=a4&8191,ah4=a4>>>13,a5=a[5]|0,al5=a5&8191,ah5=a5>>>13,a6=a[6]|0,al6=a6&8191,ah6=a6>>>13,a7=a[7]|0,al7=a7&8191,ah7=a7>>>13,a8=a[8]|0,al8=a8&8191,ah8=a8>>>13,a9=a[9]|0,al9=a9&8191,ah9=a9>>>13,b0=b[0]|0,bl0=b0&8191,bh0=b0>>>13,b1=b[1]|0,bl1=b1&8191,bh1=b1>>>13,b2=b[2]|0,bl2=b2&8191,bh2=b2>>>13,b3=b[3]|0,bl3=b3&8191,bh3=b3>>>13,b4=b[4]|0,bl4=b4&8191,bh4=b4>>>13,b5=b[5]|0,bl5=b5&8191,bh5=b5>>>13,b6=b[6]|0,bl6=b6&8191,bh6=b6>>>13,b7=b[7]|0,bl7=b7&8191,bh7=b7>>>13,b8=b[8]|0,bl8=b8&8191,bh8=b8>>>13,b9=b[9]|0,bl9=b9&8191,bh9=b9>>>13;out.negative=self2.negative^num.negative,out.length=19,lo=Math.imul(al0,bl0),mid=Math.imul(al0,bh0),mid=mid+Math.imul(ah0,bl0)|0,hi=Math.imul(ah0,bh0);var w0=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w0>>>26)|0,w0&=67108863,lo=Math.imul(al1,bl0),mid=Math.imul(al1,bh0),mid=mid+Math.imul(ah1,bl0)|0,hi=Math.imul(ah1,bh0),lo=lo+Math.imul(al0,bl1)|0,mid=mid+Math.imul(al0,bh1)|0,mid=mid+Math.imul(ah0,bl1)|0,hi=hi+Math.imul(ah0,bh1)|0;var w1=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w1>>>26)|0,w1&=67108863,lo=Math.imul(al2,bl0),mid=Math.imul(al2,bh0),mid=mid+Math.imul(ah2,bl0)|0,hi=Math.imul(ah2,bh0),lo=lo+Math.imul(al1,bl1)|0,mid=mid+Math.imul(al1,bh1)|0,mid=mid+Math.imul(ah1,bl1)|0,hi=hi+Math.imul(ah1,bh1)|0,lo=lo+Math.imul(al0,bl2)|0,mid=mid+Math.imul(al0,bh2)|0,mid=mid+Math.imul(ah0,bl2)|0,hi=hi+Math.imul(ah0,bh2)|0;var w2=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w2>>>26)|0,w2&=67108863,lo=Math.imul(al3,bl0),mid=Math.imul(al3,bh0),mid=mid+Math.imul(ah3,bl0)|0,hi=Math.imul(ah3,bh0),lo=lo+Math.imul(al2,bl1)|0,mid=mid+Math.imul(al2,bh1)|0,mid=mid+Math.imul(ah2,bl1)|0,hi=hi+Math.imul(ah2,bh1)|0,lo=lo+Math.imul(al1,bl2)|0,mid=mid+Math.imul(al1,bh2)|0,mid=mid+Math.imul(ah1,bl2)|0,hi=hi+Math.imul(ah1,bh2)|0,lo=lo+Math.imul(al0,bl3)|0,mid=mid+Math.imul(al0,bh3)|0,mid=mid+Math.imul(ah0,bl3)|0,hi=hi+Math.imul(ah0,bh3)|0;var w3=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w3>>>26)|0,w3&=67108863,lo=Math.imul(al4,bl0),mid=Math.imul(al4,bh0),mid=mid+Math.imul(ah4,bl0)|0,hi=Math.imul(ah4,bh0),lo=lo+Math.imul(al3,bl1)|0,mid=mid+Math.imul(al3,bh1)|0,mid=mid+Math.imul(ah3,bl1)|0,hi=hi+Math.imul(ah3,bh1)|0,lo=lo+Math.imul(al2,bl2)|0,mid=mid+Math.imul(al2,bh2)|0,mid=mid+Math.imul(ah2,bl2)|0,hi=hi+Math.imul(ah2,bh2)|0,lo=lo+Math.imul(al1,bl3)|0,mid=mid+Math.imul(al1,bh3)|0,mid=mid+Math.imul(ah1,bl3)|0,hi=hi+Math.imul(ah1,bh3)|0,lo=lo+Math.imul(al0,bl4)|0,mid=mid+Math.imul(al0,bh4)|0,mid=mid+Math.imul(ah0,bl4)|0,hi=hi+Math.imul(ah0,bh4)|0;var w4=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w4>>>26)|0,w4&=67108863,lo=Math.imul(al5,bl0),mid=Math.imul(al5,bh0),mid=mid+Math.imul(ah5,bl0)|0,hi=Math.imul(ah5,bh0),lo=lo+Math.imul(al4,bl1)|0,mid=mid+Math.imul(al4,bh1)|0,mid=mid+Math.imul(ah4,bl1)|0,hi=hi+Math.imul(ah4,bh1)|0,lo=lo+Math.imul(al3,bl2)|0,mid=mid+Math.imul(al3,bh2)|0,mid=mid+Math.imul(ah3,bl2)|0,hi=hi+Math.imul(ah3,bh2)|0,lo=lo+Math.imul(al2,bl3)|0,mid=mid+Math.imul(al2,bh3)|0,mid=mid+Math.imul(ah2,bl3)|0,hi=hi+Math.imul(ah2,bh3)|0,lo=lo+Math.imul(al1,bl4)|0,mid=mid+Math.imul(al1,bh4)|0,mid=mid+Math.imul(ah1,bl4)|0,hi=hi+Math.imul(ah1,bh4)|0,lo=lo+Math.imul(al0,bl5)|0,mid=mid+Math.imul(al0,bh5)|0,mid=mid+Math.imul(ah0,bl5)|0,hi=hi+Math.imul(ah0,bh5)|0;var w5=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w5>>>26)|0,w5&=67108863,lo=Math.imul(al6,bl0),mid=Math.imul(al6,bh0),mid=mid+Math.imul(ah6,bl0)|0,hi=Math.imul(ah6,bh0),lo=lo+Math.imul(al5,bl1)|0,mid=mid+Math.imul(al5,bh1)|0,mid=mid+Math.imul(ah5,bl1)|0,hi=hi+Math.imul(ah5,bh1)|0,lo=lo+Math.imul(al4,bl2)|0,mid=mid+Math.imul(al4,bh2)|0,mid=mid+Math.imul(ah4,bl2)|0,hi=hi+Math.imul(ah4,bh2)|0,lo=lo+Math.imul(al3,bl3)|0,mid=mid+Math.imul(al3,bh3)|0,mid=mid+Math.imul(ah3,bl3)|0,hi=hi+Math.imul(ah3,bh3)|0,lo=lo+Math.imul(al2,bl4)|0,mid=mid+Math.imul(al2,bh4)|0,mid=mid+Math.imul(ah2,bl4)|0,hi=hi+Math.imul(ah2,bh4)|0,lo=lo+Math.imul(al1,bl5)|0,mid=mid+Math.imul(al1,bh5)|0,mid=mid+Math.imul(ah1,bl5)|0,hi=hi+Math.imul(ah1,bh5)|0,lo=lo+Math.imul(al0,bl6)|0,mid=mid+Math.imul(al0,bh6)|0,mid=mid+Math.imul(ah0,bl6)|0,hi=hi+Math.imul(ah0,bh6)|0;var w6=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w6>>>26)|0,w6&=67108863,lo=Math.imul(al7,bl0),mid=Math.imul(al7,bh0),mid=mid+Math.imul(ah7,bl0)|0,hi=Math.imul(ah7,bh0),lo=lo+Math.imul(al6,bl1)|0,mid=mid+Math.imul(al6,bh1)|0,mid=mid+Math.imul(ah6,bl1)|0,hi=hi+Math.imul(ah6,bh1)|0,lo=lo+Math.imul(al5,bl2)|0,mid=mid+Math.imul(al5,bh2)|0,mid=mid+Math.imul(ah5,bl2)|0,hi=hi+Math.imul(ah5,bh2)|0,lo=lo+Math.imul(al4,bl3)|0,mid=mid+Math.imul(al4,bh3)|0,mid=mid+Math.imul(ah4,bl3)|0,hi=hi+Math.imul(ah4,bh3)|0,lo=lo+Math.imul(al3,bl4)|0,mid=mid+Math.imul(al3,bh4)|0,mid=mid+Math.imul(ah3,bl4)|0,hi=hi+Math.imul(ah3,bh4)|0,lo=lo+Math.imul(al2,bl5)|0,mid=mid+Math.imul(al2,bh5)|0,mid=mid+Math.imul(ah2,bl5)|0,hi=hi+Math.imul(ah2,bh5)|0,lo=lo+Math.imul(al1,bl6)|0,mid=mid+Math.imul(al1,bh6)|0,mid=mid+Math.imul(ah1,bl6)|0,hi=hi+Math.imul(ah1,bh6)|0,lo=lo+Math.imul(al0,bl7)|0,mid=mid+Math.imul(al0,bh7)|0,mid=mid+Math.imul(ah0,bl7)|0,hi=hi+Math.imul(ah0,bh7)|0;var w7=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w7>>>26)|0,w7&=67108863,lo=Math.imul(al8,bl0),mid=Math.imul(al8,bh0),mid=mid+Math.imul(ah8,bl0)|0,hi=Math.imul(ah8,bh0),lo=lo+Math.imul(al7,bl1)|0,mid=mid+Math.imul(al7,bh1)|0,mid=mid+Math.imul(ah7,bl1)|0,hi=hi+Math.imul(ah7,bh1)|0,lo=lo+Math.imul(al6,bl2)|0,mid=mid+Math.imul(al6,bh2)|0,mid=mid+Math.imul(ah6,bl2)|0,hi=hi+Math.imul(ah6,bh2)|0,lo=lo+Math.imul(al5,bl3)|0,mid=mid+Math.imul(al5,bh3)|0,mid=mid+Math.imul(ah5,bl3)|0,hi=hi+Math.imul(ah5,bh3)|0,lo=lo+Math.imul(al4,bl4)|0,mid=mid+Math.imul(al4,bh4)|0,mid=mid+Math.imul(ah4,bl4)|0,hi=hi+Math.imul(ah4,bh4)|0,lo=lo+Math.imul(al3,bl5)|0,mid=mid+Math.imul(al3,bh5)|0,mid=mid+Math.imul(ah3,bl5)|0,hi=hi+Math.imul(ah3,bh5)|0,lo=lo+Math.imul(al2,bl6)|0,mid=mid+Math.imul(al2,bh6)|0,mid=mid+Math.imul(ah2,bl6)|0,hi=hi+Math.imul(ah2,bh6)|0,lo=lo+Math.imul(al1,bl7)|0,mid=mid+Math.imul(al1,bh7)|0,mid=mid+Math.imul(ah1,bl7)|0,hi=hi+Math.imul(ah1,bh7)|0,lo=lo+Math.imul(al0,bl8)|0,mid=mid+Math.imul(al0,bh8)|0,mid=mid+Math.imul(ah0,bl8)|0,hi=hi+Math.imul(ah0,bh8)|0;var w8=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w8>>>26)|0,w8&=67108863,lo=Math.imul(al9,bl0),mid=Math.imul(al9,bh0),mid=mid+Math.imul(ah9,bl0)|0,hi=Math.imul(ah9,bh0),lo=lo+Math.imul(al8,bl1)|0,mid=mid+Math.imul(al8,bh1)|0,mid=mid+Math.imul(ah8,bl1)|0,hi=hi+Math.imul(ah8,bh1)|0,lo=lo+Math.imul(al7,bl2)|0,mid=mid+Math.imul(al7,bh2)|0,mid=mid+Math.imul(ah7,bl2)|0,hi=hi+Math.imul(ah7,bh2)|0,lo=lo+Math.imul(al6,bl3)|0,mid=mid+Math.imul(al6,bh3)|0,mid=mid+Math.imul(ah6,bl3)|0,hi=hi+Math.imul(ah6,bh3)|0,lo=lo+Math.imul(al5,bl4)|0,mid=mid+Math.imul(al5,bh4)|0,mid=mid+Math.imul(ah5,bl4)|0,hi=hi+Math.imul(ah5,bh4)|0,lo=lo+Math.imul(al4,bl5)|0,mid=mid+Math.imul(al4,bh5)|0,mid=mid+Math.imul(ah4,bl5)|0,hi=hi+Math.imul(ah4,bh5)|0,lo=lo+Math.imul(al3,bl6)|0,mid=mid+Math.imul(al3,bh6)|0,mid=mid+Math.imul(ah3,bl6)|0,hi=hi+Math.imul(ah3,bh6)|0,lo=lo+Math.imul(al2,bl7)|0,mid=mid+Math.imul(al2,bh7)|0,mid=mid+Math.imul(ah2,bl7)|0,hi=hi+Math.imul(ah2,bh7)|0,lo=lo+Math.imul(al1,bl8)|0,mid=mid+Math.imul(al1,bh8)|0,mid=mid+Math.imul(ah1,bl8)|0,hi=hi+Math.imul(ah1,bh8)|0,lo=lo+Math.imul(al0,bl9)|0,mid=mid+Math.imul(al0,bh9)|0,mid=mid+Math.imul(ah0,bl9)|0,hi=hi+Math.imul(ah0,bh9)|0;var w9=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w9>>>26)|0,w9&=67108863,lo=Math.imul(al9,bl1),mid=Math.imul(al9,bh1),mid=mid+Math.imul(ah9,bl1)|0,hi=Math.imul(ah9,bh1),lo=lo+Math.imul(al8,bl2)|0,mid=mid+Math.imul(al8,bh2)|0,mid=mid+Math.imul(ah8,bl2)|0,hi=hi+Math.imul(ah8,bh2)|0,lo=lo+Math.imul(al7,bl3)|0,mid=mid+Math.imul(al7,bh3)|0,mid=mid+Math.imul(ah7,bl3)|0,hi=hi+Math.imul(ah7,bh3)|0,lo=lo+Math.imul(al6,bl4)|0,mid=mid+Math.imul(al6,bh4)|0,mid=mid+Math.imul(ah6,bl4)|0,hi=hi+Math.imul(ah6,bh4)|0,lo=lo+Math.imul(al5,bl5)|0,mid=mid+Math.imul(al5,bh5)|0,mid=mid+Math.imul(ah5,bl5)|0,hi=hi+Math.imul(ah5,bh5)|0,lo=lo+Math.imul(al4,bl6)|0,mid=mid+Math.imul(al4,bh6)|0,mid=mid+Math.imul(ah4,bl6)|0,hi=hi+Math.imul(ah4,bh6)|0,lo=lo+Math.imul(al3,bl7)|0,mid=mid+Math.imul(al3,bh7)|0,mid=mid+Math.imul(ah3,bl7)|0,hi=hi+Math.imul(ah3,bh7)|0,lo=lo+Math.imul(al2,bl8)|0,mid=mid+Math.imul(al2,bh8)|0,mid=mid+Math.imul(ah2,bl8)|0,hi=hi+Math.imul(ah2,bh8)|0,lo=lo+Math.imul(al1,bl9)|0,mid=mid+Math.imul(al1,bh9)|0,mid=mid+Math.imul(ah1,bl9)|0,hi=hi+Math.imul(ah1,bh9)|0;var w10=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w10>>>26)|0,w10&=67108863,lo=Math.imul(al9,bl2),mid=Math.imul(al9,bh2),mid=mid+Math.imul(ah9,bl2)|0,hi=Math.imul(ah9,bh2),lo=lo+Math.imul(al8,bl3)|0,mid=mid+Math.imul(al8,bh3)|0,mid=mid+Math.imul(ah8,bl3)|0,hi=hi+Math.imul(ah8,bh3)|0,lo=lo+Math.imul(al7,bl4)|0,mid=mid+Math.imul(al7,bh4)|0,mid=mid+Math.imul(ah7,bl4)|0,hi=hi+Math.imul(ah7,bh4)|0,lo=lo+Math.imul(al6,bl5)|0,mid=mid+Math.imul(al6,bh5)|0,mid=mid+Math.imul(ah6,bl5)|0,hi=hi+Math.imul(ah6,bh5)|0,lo=lo+Math.imul(al5,bl6)|0,mid=mid+Math.imul(al5,bh6)|0,mid=mid+Math.imul(ah5,bl6)|0,hi=hi+Math.imul(ah5,bh6)|0,lo=lo+Math.imul(al4,bl7)|0,mid=mid+Math.imul(al4,bh7)|0,mid=mid+Math.imul(ah4,bl7)|0,hi=hi+Math.imul(ah4,bh7)|0,lo=lo+Math.imul(al3,bl8)|0,mid=mid+Math.imul(al3,bh8)|0,mid=mid+Math.imul(ah3,bl8)|0,hi=hi+Math.imul(ah3,bh8)|0,lo=lo+Math.imul(al2,bl9)|0,mid=mid+Math.imul(al2,bh9)|0,mid=mid+Math.imul(ah2,bl9)|0,hi=hi+Math.imul(ah2,bh9)|0;var w11=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w11>>>26)|0,w11&=67108863,lo=Math.imul(al9,bl3),mid=Math.imul(al9,bh3),mid=mid+Math.imul(ah9,bl3)|0,hi=Math.imul(ah9,bh3),lo=lo+Math.imul(al8,bl4)|0,mid=mid+Math.imul(al8,bh4)|0,mid=mid+Math.imul(ah8,bl4)|0,hi=hi+Math.imul(ah8,bh4)|0,lo=lo+Math.imul(al7,bl5)|0,mid=mid+Math.imul(al7,bh5)|0,mid=mid+Math.imul(ah7,bl5)|0,hi=hi+Math.imul(ah7,bh5)|0,lo=lo+Math.imul(al6,bl6)|0,mid=mid+Math.imul(al6,bh6)|0,mid=mid+Math.imul(ah6,bl6)|0,hi=hi+Math.imul(ah6,bh6)|0,lo=lo+Math.imul(al5,bl7)|0,mid=mid+Math.imul(al5,bh7)|0,mid=mid+Math.imul(ah5,bl7)|0,hi=hi+Math.imul(ah5,bh7)|0,lo=lo+Math.imul(al4,bl8)|0,mid=mid+Math.imul(al4,bh8)|0,mid=mid+Math.imul(ah4,bl8)|0,hi=hi+Math.imul(ah4,bh8)|0,lo=lo+Math.imul(al3,bl9)|0,mid=mid+Math.imul(al3,bh9)|0,mid=mid+Math.imul(ah3,bl9)|0,hi=hi+Math.imul(ah3,bh9)|0;var w12=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w12>>>26)|0,w12&=67108863,lo=Math.imul(al9,bl4),mid=Math.imul(al9,bh4),mid=mid+Math.imul(ah9,bl4)|0,hi=Math.imul(ah9,bh4),lo=lo+Math.imul(al8,bl5)|0,mid=mid+Math.imul(al8,bh5)|0,mid=mid+Math.imul(ah8,bl5)|0,hi=hi+Math.imul(ah8,bh5)|0,lo=lo+Math.imul(al7,bl6)|0,mid=mid+Math.imul(al7,bh6)|0,mid=mid+Math.imul(ah7,bl6)|0,hi=hi+Math.imul(ah7,bh6)|0,lo=lo+Math.imul(al6,bl7)|0,mid=mid+Math.imul(al6,bh7)|0,mid=mid+Math.imul(ah6,bl7)|0,hi=hi+Math.imul(ah6,bh7)|0,lo=lo+Math.imul(al5,bl8)|0,mid=mid+Math.imul(al5,bh8)|0,mid=mid+Math.imul(ah5,bl8)|0,hi=hi+Math.imul(ah5,bh8)|0,lo=lo+Math.imul(al4,bl9)|0,mid=mid+Math.imul(al4,bh9)|0,mid=mid+Math.imul(ah4,bl9)|0,hi=hi+Math.imul(ah4,bh9)|0;var w13=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w13>>>26)|0,w13&=67108863,lo=Math.imul(al9,bl5),mid=Math.imul(al9,bh5),mid=mid+Math.imul(ah9,bl5)|0,hi=Math.imul(ah9,bh5),lo=lo+Math.imul(al8,bl6)|0,mid=mid+Math.imul(al8,bh6)|0,mid=mid+Math.imul(ah8,bl6)|0,hi=hi+Math.imul(ah8,bh6)|0,lo=lo+Math.imul(al7,bl7)|0,mid=mid+Math.imul(al7,bh7)|0,mid=mid+Math.imul(ah7,bl7)|0,hi=hi+Math.imul(ah7,bh7)|0,lo=lo+Math.imul(al6,bl8)|0,mid=mid+Math.imul(al6,bh8)|0,mid=mid+Math.imul(ah6,bl8)|0,hi=hi+Math.imul(ah6,bh8)|0,lo=lo+Math.imul(al5,bl9)|0,mid=mid+Math.imul(al5,bh9)|0,mid=mid+Math.imul(ah5,bl9)|0,hi=hi+Math.imul(ah5,bh9)|0;var w14=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w14>>>26)|0,w14&=67108863,lo=Math.imul(al9,bl6),mid=Math.imul(al9,bh6),mid=mid+Math.imul(ah9,bl6)|0,hi=Math.imul(ah9,bh6),lo=lo+Math.imul(al8,bl7)|0,mid=mid+Math.imul(al8,bh7)|0,mid=mid+Math.imul(ah8,bl7)|0,hi=hi+Math.imul(ah8,bh7)|0,lo=lo+Math.imul(al7,bl8)|0,mid=mid+Math.imul(al7,bh8)|0,mid=mid+Math.imul(ah7,bl8)|0,hi=hi+Math.imul(ah7,bh8)|0,lo=lo+Math.imul(al6,bl9)|0,mid=mid+Math.imul(al6,bh9)|0,mid=mid+Math.imul(ah6,bl9)|0,hi=hi+Math.imul(ah6,bh9)|0;var w15=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w15>>>26)|0,w15&=67108863,lo=Math.imul(al9,bl7),mid=Math.imul(al9,bh7),mid=mid+Math.imul(ah9,bl7)|0,hi=Math.imul(ah9,bh7),lo=lo+Math.imul(al8,bl8)|0,mid=mid+Math.imul(al8,bh8)|0,mid=mid+Math.imul(ah8,bl8)|0,hi=hi+Math.imul(ah8,bh8)|0,lo=lo+Math.imul(al7,bl9)|0,mid=mid+Math.imul(al7,bh9)|0,mid=mid+Math.imul(ah7,bl9)|0,hi=hi+Math.imul(ah7,bh9)|0;var w16=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w16>>>26)|0,w16&=67108863,lo=Math.imul(al9,bl8),mid=Math.imul(al9,bh8),mid=mid+Math.imul(ah9,bl8)|0,hi=Math.imul(ah9,bh8),lo=lo+Math.imul(al8,bl9)|0,mid=mid+Math.imul(al8,bh9)|0,mid=mid+Math.imul(ah8,bl9)|0,hi=hi+Math.imul(ah8,bh9)|0;var w17=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w17>>>26)|0,w17&=67108863,lo=Math.imul(al9,bl9),mid=Math.imul(al9,bh9),mid=mid+Math.imul(ah9,bl9)|0,hi=Math.imul(ah9,bh9);var w18=(c+lo|0)+((mid&8191)<<13)|0;return c=(hi+(mid>>>13)|0)+(w18>>>26)|0,w18&=67108863,o[0]=w0,o[1]=w1,o[2]=w2,o[3]=w3,o[4]=w4,o[5]=w5,o[6]=w6,o[7]=w7,o[8]=w8,o[9]=w9,o[10]=w10,o[11]=w11,o[12]=w12,o[13]=w13,o[14]=w14,o[15]=w15,o[16]=w16,o[17]=w17,o[18]=w18,c!==0&&(o[19]=c,out.length++),out};Math.imul||(comb10MulTo=smallMulTo);function bigMulTo(self2,num,out){out.negative=num.negative^self2.negative,out.length=self2.length+num.length;for(var carry=0,hncarry=0,k=0;k>>26)|0,hncarry+=ncarry>>>26,ncarry&=67108863}out.words[k]=rword,carry=ncarry,ncarry=hncarry}return carry!==0\?out.words[k]=carry:out.length--,out._strip()}function jumboMulTo(self2,num,out){return bigMulTo(self2,num,out)}BN.prototype.mulTo=function(num,out){var res,len=this.length+num.length;return this.length===10&&num.length===10\?res=comb10MulTo(this,num,out):len<63\?res=smallMulTo(this,num,out):len<1024\?res=bigMulTo(this,num,out):res=jumboMulTo(this,num,out),res};function FFTM(x,y){this.x=x,this.y=y}FFTM.prototype.makeRBT=function(N){for(var t=new Array(N),l=BN.prototype._countBits(N)-1,i=0;i>=1;return rb},FFTM.prototype.permute=function(rbt,rws,iws,rtws,itws,N){for(var i=0;i>>1)i++;return 1<>>13,rws[2*i+1]=carry&8191,carry=carry>>>13;for(i=2*len;i>=26,carry+=w/67108864|0,carry+=lo>>>26,this.words[i]=lo&67108863}return carry!==0&&(this.words[i]=carry,this.length++),isNegNum\?this.ineg():this},BN.prototype.muln=function(num){return this.clone().imuln(num)},BN.prototype.sqr=function(){return this.mul(this)},BN.prototype.isqr=function(){return this.imul(this.clone())},BN.prototype.pow=function(num){var w=toBitArray(num);if(w.length===0)return new BN(1);for(var res=this,i=0;i=0);var r=bits%26,s=(bits-r)/26,carryMask=67108863>>>26-r<<26-r,i;if(r!==0){var carry=0;for(i=0;i>>26-r}carry&&(this.words[i]=carry,this.length++)}if(s!==0){for(i=this.length-1;i>=0;i--)this.words[i+s]=this.words[i];for(i=0;i=0);var h;hint\?h=(hint-hint%26)/26:h=0;var r=bits%26,s=Math.min((bits-r)/26,this.length),mask=67108863^67108863>>>r<s)for(this.length-=s,i=0;i=0&&(carry!==0||i>=h);i--){var word=this.words[i]|0;this.words[i]=carry<<26-r|word>>>r,carry=word&mask}return maskedWords&&carry!==0&&(maskedWords.words[maskedWords.length++]=carry),this.length===0&&(this.words[0]=0,this.length=1),this._strip()},BN.prototype.ishrn=function(bits,hint,extended){return assert(this.negative===0),this.iushrn(bits,hint,extended)},BN.prototype.shln=function(bits){return this.clone().ishln(bits)},BN.prototype.ushln=function(bits){return this.clone().iushln(bits)},BN.prototype.shrn=function(bits){return this.clone().ishrn(bits)},BN.prototype.ushrn=function(bits){return this.clone().iushrn(bits)},BN.prototype.testn=function(bit){assert(typeof bit==\"number\"&&bit>=0);var r=bit%26,s=(bit-r)/26,q=1<=0);var r=bits%26,s=(bits-r)/26;if(assert(this.negative===0,\"imaskn works only with positive numbers\"),this.length<=s)return this;if(r!==0&&s++,this.length=Math.min(s,this.length),r!==0){var mask=67108863^67108863>>>r<=67108864;i++)this.words[i]-=67108864,i===this.length-1\?this.words[i+1]=1:this.words[i+1]++;return this.length=Math.max(this.length,i+1),this},BN.prototype.isubn=function(num){if(assert(typeof num==\"number\"),assert(num<67108864),num<0)return this.iaddn(-num);if(this.negative!==0)return this.negative=0,this.iaddn(num),this.negative=1,this;if(this.words[0]-=num,this.length===1&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var i=0;i>26)-(right/67108864|0),this.words[i+shift]=w&67108863}for(;i>26,this.words[i+shift]=w&67108863;if(carry===0)return this._strip();for(assert(carry===-1),carry=0,i=0;i>26,this.words[i]=w&67108863;return this.negative=1,this._strip()},BN.prototype._wordDiv=function(num,mode){var shift=this.length-num.length,a=this.clone(),b=num,bhi=b.words[b.length-1]|0,bhiBits=this._countBits(bhi);shift=26-bhiBits,shift!==0&&(b=b.ushln(shift),a.iushln(shift),bhi=b.words[b.length-1]|0);var m=a.length-b.length,q;if(mode!==\"mod\"){q=new BN(null),q.length=m+1,q.words=new Array(q.length);for(var i=0;i=0;j--){var qj=(a.words[b.length+j]|0)*67108864+(a.words[b.length+j-1]|0);for(qj=Math.min(qj/bhi|0,67108863),a._ishlnsubmul(b,qj,j);a.negative!==0;)qj--,a.negative=0,a._ishlnsubmul(b,1,j),a.isZero()||(a.negative^=1);q&&(q.words[j]=qj)}return q&&q._strip(),a._strip(),mode!==\"div\"&&shift!==0&&a.iushrn(shift),{div:q||null,mod:a}},BN.prototype.divmod=function(num,mode,positive){if(assert(!num.isZero()),this.isZero())return{div:new BN(0),mod:new BN(0)};var div,mod,res;return this.negative!==0&&num.negative===0\?(res=this.neg().divmod(num,mode),mode!==\"mod\"&&(div=res.div.neg()),mode!==\"div\"&&(mod=res.mod.neg(),positive&&mod.negative!==0&&mod.iadd(num)),{div,mod}):this.negative===0&&num.negative!==0\?(res=this.divmod(num.neg(),mode),mode!==\"mod\"&&(div=res.div.neg()),{div,mod:res.mod}):(this.negative&num.negative)!==0\?(res=this.neg().divmod(num.neg(),mode),mode!==\"div\"&&(mod=res.mod.neg(),positive&&mod.negative!==0&&mod.isub(num)),{div:res.div,mod}):num.length>this.length||this.cmp(num)<0\?{div:new BN(0),mod:this}:num.length===1\?mode===\"div\"\?{div:this.divn(num.words[0]),mod:null}:mode===\"mod\"\?{div:null,mod:new BN(this.modrn(num.words[0]))}:{div:this.divn(num.words[0]),mod:new BN(this.modrn(num.words[0]))}:this._wordDiv(num,mode)},BN.prototype.div=function(num){return this.divmod(num,\"div\",!1).div},BN.prototype.mod=function(num){return this.divmod(num,\"mod\",!1).mod},BN.prototype.umod=function(num){return this.divmod(num,\"mod\",!0).mod},BN.prototype.divRound=function(num){var dm=this.divmod(num);if(dm.mod.isZero())return dm.div;var mod=dm.div.negative!==0\?dm.mod.isub(num):dm.mod,half=num.ushrn(1),r2=num.andln(1),cmp=mod.cmp(half);return cmp<0||r2===1&&cmp===0\?dm.div:dm.div.negative!==0\?dm.div.isubn(1):dm.div.iaddn(1)},BN.prototype.modrn=function(num){var isNegNum=num<0;isNegNum&&(num=-num),assert(num<=67108863);for(var p=(1<<26)%num,acc=0,i=this.length-1;i>=0;i--)acc=(p*acc+(this.words[i]|0))%num;return isNegNum\?-acc:acc},BN.prototype.modn=function(num){return this.modrn(num)},BN.prototype.idivn=function(num){var isNegNum=num<0;isNegNum&&(num=-num),assert(num<=67108863);for(var carry=0,i=this.length-1;i>=0;i--){var w=(this.words[i]|0)+carry*67108864;this.words[i]=w/num|0,carry=w%num}return this._strip(),isNegNum\?this.ineg():this},BN.prototype.divn=function(num){return this.clone().idivn(num)},BN.prototype.egcd=function(p){assert(p.negative===0),assert(!p.isZero());var x=this,y=p.clone();x.negative!==0\?x=x.umod(p):x=x.clone();for(var A=new BN(1),B=new BN(0),C=new BN(0),D=new BN(1),g=0;x.isEven()&&y.isEven();)x.iushrn(1),y.iushrn(1),++g;for(var yp=y.clone(),xp=x.clone();!x.isZero();){for(var i=0,im=1;(x.words[0]&im)===0&&i<26;++i,im<<=1);if(i>0)for(x.iushrn(i);i-- >0;)(A.isOdd()||B.isOdd())&&(A.iadd(yp),B.isub(xp)),A.iushrn(1),B.iushrn(1);for(var j=0,jm=1;(y.words[0]&jm)===0&&j<26;++j,jm<<=1);if(j>0)for(y.iushrn(j);j-- >0;)(C.isOdd()||D.isOdd())&&(C.iadd(yp),D.isub(xp)),C.iushrn(1),D.iushrn(1);x.cmp(y)>=0\?(x.isub(y),A.isub(C),B.isub(D)):(y.isub(x),C.isub(A),D.isub(B))}return{a:C,b:D,gcd:y.iushln(g)}},BN.prototype._invmp=function(p){assert(p.negative===0),assert(!p.isZero());var a=this,b=p.clone();a.negative!==0\?a=a.umod(p):a=a.clone();for(var x1=new BN(1),x2=new BN(0),delta=b.clone();a.cmpn(1)>0&&b.cmpn(1)>0;){for(var i=0,im=1;(a.words[0]&im)===0&&i<26;++i,im<<=1);if(i>0)for(a.iushrn(i);i-- >0;)x1.isOdd()&&x1.iadd(delta),x1.iushrn(1);for(var j=0,jm=1;(b.words[0]&jm)===0&&j<26;++j,jm<<=1);if(j>0)for(b.iushrn(j);j-- >0;)x2.isOdd()&&x2.iadd(delta),x2.iushrn(1);a.cmp(b)>=0\?(a.isub(b),x1.isub(x2)):(b.isub(a),x2.isub(x1))}var res;return a.cmpn(1)===0\?res=x1:res=x2,res.cmpn(0)<0&&res.iadd(p),res},BN.prototype.gcd=function(num){if(this.isZero())return num.abs();if(num.isZero())return this.abs();var a=this.clone(),b=num.clone();a.negative=0,b.negative=0;for(var shift=0;a.isEven()&&b.isEven();shift++)a.iushrn(1),b.iushrn(1);do{for(;a.isEven();)a.iushrn(1);for(;b.isEven();)b.iushrn(1);var r=a.cmp(b);if(r<0){var t=a;a=b,b=t}else if(r===0||b.cmpn(1)===0)break;a.isub(b)}while(!0);return b.iushln(shift)},BN.prototype.invm=function(num){return this.egcd(num).a.umod(num)},BN.prototype.isEven=function(){return(this.words[0]&1)===0},BN.prototype.isOdd=function(){return(this.words[0]&1)===1},BN.prototype.andln=function(num){return this.words[0]&num},BN.prototype.bincn=function(bit){assert(typeof bit==\"number\");var r=bit%26,s=(bit-r)/26,q=1<>>26,w&=67108863,this.words[i]=w}return carry!==0&&(this.words[i]=carry,this.length++),this},BN.prototype.isZero=function(){return this.length===1&&this.words[0]===0},BN.prototype.cmpn=function(num){var negative=num<0;if(this.negative!==0&&!negative)return-1;if(this.negative===0&&negative)return 1;this._strip();var res;if(this.length>1)res=1;else{negative&&(num=-num),assert(num<=67108863,\"Number is too big\");var w=this.words[0]|0;res=w===num\?0:wnum.length)return 1;if(this.length=0;i--){var a=this.words[i]|0,b=num.words[i]|0;if(a!==b){ab&&(res=1);break}}return res},BN.prototype.gtn=function(num){return this.cmpn(num)===1},BN.prototype.gt=function(num){return this.cmp(num)===1},BN.prototype.gten=function(num){return this.cmpn(num)>=0},BN.prototype.gte=function(num){return this.cmp(num)>=0},BN.prototype.ltn=function(num){return this.cmpn(num)===-1},BN.prototype.lt=function(num){return this.cmp(num)===-1},BN.prototype.lten=function(num){return this.cmpn(num)<=0},BN.prototype.lte=function(num){return this.cmp(num)<=0},BN.prototype.eqn=function(num){return this.cmpn(num)===0},BN.prototype.eq=function(num){return this.cmp(num)===0},BN.red=function(num){return new Red(num)},BN.prototype.toRed=function(ctx){return assert(!this.red,\"Already a number in reduction context\"),assert(this.negative===0,\"red works only with positives\"),ctx.convertTo(this)._forceRed(ctx)},BN.prototype.fromRed=function(){return assert(this.red,\"fromRed works only with numbers in reduction context\"),this.red.convertFrom(this)},BN.prototype._forceRed=function(ctx){return this.red=ctx,this},BN.prototype.forceRed=function(ctx){return assert(!this.red,\"Already a number in reduction context\"),this._forceRed(ctx)},BN.prototype.redAdd=function(num){return assert(this.red,\"redAdd works only with red numbers\"),this.red.add(this,num)},BN.prototype.redIAdd=function(num){return assert(this.red,\"redIAdd works only with red numbers\"),this.red.iadd(this,num)},BN.prototype.redSub=function(num){return assert(this.red,\"redSub works only with red numbers\"),this.red.sub(this,num)},BN.prototype.redISub=function(num){return assert(this.red,\"redISub works only with red numbers\"),this.red.isub(this,num)},BN.prototype.redShl=function(num){return assert(this.red,\"redShl works only with red numbers\"),this.red.shl(this,num)},BN.prototype.redMul=function(num){return assert(this.red,\"redMul works only with red numbers\"),this.red._verify2(this,num),this.red.mul(this,num)},BN.prototype.redIMul=function(num){return assert(this.red,\"redMul works only with red numbers\"),this.red._verify2(this,num),this.red.imul(this,num)},BN.prototype.redSqr=function(){return assert(this.red,\"redSqr works only with red numbers\"),this.red._verify1(this),this.red.sqr(this)},BN.prototype.redISqr=function(){return assert(this.red,\"redISqr works only with red numbers\"),this.red._verify1(this),this.red.isqr(this)},BN.prototype.redSqrt=function(){return assert(this.red,\"redSqrt works only with red numbers\"),this.red._verify1(this),this.red.sqrt(this)},BN.prototype.redInvm=function(){return assert(this.red,\"redInvm works only with red numbers\"),this.red._verify1(this),this.red.invm(this)},BN.prototype.redNeg=function(){return assert(this.red,\"redNeg works only with red numbers\"),this.red._verify1(this),this.red.neg(this)},BN.prototype.redPow=function(num){return assert(this.red&&!num.red,\"redPow(normalNum)\"),this.red._verify1(this),this.red.pow(this,num)};var primes={k256:null,p224:null,p192:null,p25519:null};function MPrime(name,p){this.name=name,this.p=new BN(p,16),this.n=this.p.bitLength(),this.k=new BN(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}MPrime.prototype._tmp=function(){var tmp=new BN(null);return tmp.words=new Array(Math.ceil(this.n/13)),tmp},MPrime.prototype.ireduce=function(num){var r=num,rlen;do this.split(r,this.tmp),r=this.imulK(r),r=r.iadd(this.tmp),rlen=r.bitLength();while(rlen>this.n);var cmp=rlen0\?r.isub(this.p):r.strip!==void 0\?r.strip():r._strip(),r},MPrime.prototype.split=function(input,out){input.iushrn(this.n,0,out)},MPrime.prototype.imulK=function(num){return num.imul(this.k)};function K256(){MPrime.call(this,\"k256\",\"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f\")}inherits(K256,MPrime),K256.prototype.split=function(input,output){for(var mask=4194303,outLen=Math.min(input.length,9),i=0;i>>22,prev=next}prev>>>=22,input.words[i-10]=prev,prev===0&&input.length>10\?input.length-=10:input.length-=9},K256.prototype.imulK=function(num){num.words[num.length]=0,num.words[num.length+1]=0,num.length+=2;for(var lo=0,i=0;i>>=26,num.words[i]=lo,carry=hi}return carry!==0&&(num.words[num.length++]=carry),num},BN._prime=function(name){if(primes[name])return primes[name];var prime2;if(name===\"k256\")prime2=new K256;else if(name===\"p224\")prime2=new P224;else if(name===\"p192\")prime2=new P192;else if(name===\"p25519\")prime2=new P25519;else throw new Error(\"Unknown prime \"+name);return primes[name]=prime2,prime2};function Red(m){if(typeof m==\"string\"){var prime=BN._prime(m);this.m=prime.p,this.prime=prime}else assert(m.gtn(1),\"modulus must be greater than 1\"),this.m=m,this.prime=null}Red.prototype._verify1=function(a){assert(a.negative===0,\"red works only with positives\"),assert(a.red,\"red works only with red numbers\")},Red.prototype._verify2=function(a,b){assert((a.negative|b.negative)===0,\"red works only with positives\"),assert(a.red&&a.red===b.red,\"red works only with red numbers\")},Red.prototype.imod=function(a){return this.prime\?this.prime.ireduce(a)._forceRed(this):(move(a,a.umod(this.m)._forceRed(this)),a)},Red.prototype.neg=function(a){return a.isZero()\?a.clone():this.m.sub(a)._forceRed(this)},Red.prototype.add=function(a,b){this._verify2(a,b);var res=a.add(b);return res.cmp(this.m)>=0&&res.isub(this.m),res._forceRed(this)},Red.prototype.iadd=function(a,b){this._verify2(a,b);var res=a.iadd(b);return res.cmp(this.m)>=0&&res.isub(this.m),res},Red.prototype.sub=function(a,b){this._verify2(a,b);var res=a.sub(b);return res.cmpn(0)<0&&res.iadd(this.m),res._forceRed(this)},Red.prototype.isub=function(a,b){this._verify2(a,b);var res=a.isub(b);return res.cmpn(0)<0&&res.iadd(this.m),res},Red.prototype.shl=function(a,num){return this._verify1(a),this.imod(a.ushln(num))},Red.prototype.imul=function(a,b){return this._verify2(a,b),this.imod(a.imul(b))},Red.prototype.mul=function(a,b){return this._verify2(a,b),this.imod(a.mul(b))},Red.prototype.isqr=function(a){return this.imul(a,a.clone())},Red.prototype.sqr=function(a){return this.mul(a,a)},Red.prototype.sqrt=function(a){if(a.isZero())return a.clone();var mod3=this.m.andln(3);if(assert(mod3%2===1),mod3===3){var pow=this.m.add(new BN(1)).iushrn(2);return this.pow(a,pow)}for(var q=this.m.subn(1),s=0;!q.isZero()&&q.andln(1)===0;)s++,q.iushrn(1);assert(!q.isZero());var one=new BN(1).toRed(this),nOne=one.redNeg(),lpow=this.m.subn(1).iushrn(1),z=this.m.bitLength();for(z=new BN(2*z*z).toRed(this);this.pow(z,lpow).cmp(nOne)!==0;)z.redIAdd(nOne);for(var c=this.pow(z,q),r=this.pow(a,q.addn(1).iushrn(1)),t=this.pow(a,q),m=s;t.cmp(one)!==0;){for(var tmp=t,i=0;tmp.cmp(one)!==0;i++)tmp=tmp.redSqr();assert(i=0;i--){for(var word=num.words[i],j=start-1;j>=0;j--){var bit=word>>j&1;if(res!==wnd[0]&&(res=this.sqr(res)),bit===0&¤t===0){currentLen=0;continue}current<<=1,current|=bit,currentLen++,!(currentLen!==windowSize&&(i!==0||j!==0))&&(res=this.mul(res,wnd[current]),currentLen=0,current=0)}start=26}return res},Red.prototype.convertTo=function(num){var r=num.umod(this.m);return r===num\?r.clone():r},Red.prototype.convertFrom=function(num){var res=num.clone();return res.red=null,res},BN.mont=function(num){return new Mont(num)};function Mont(m){Red.call(this,m),this.shift=this.m.bitLength(),this.shift%26!==0&&(this.shift+=26-this.shift%26),this.r=new BN(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}inherits(Mont,Red),Mont.prototype.convertTo=function(num){return this.imod(num.ushln(this.shift))},Mont.prototype.convertFrom=function(num){var r=this.imod(num.mul(this.rinv));return r.red=null,r},Mont.prototype.imul=function(a,b){if(a.isZero()||b.isZero())return a.words[0]=0,a.length=1,a;var t=a.imul(b),c=t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),u=t.isub(c).iushrn(this.shift),res=u;return u.cmp(this.m)>=0\?res=u.isub(this.m):u.cmpn(0)<0&&(res=u.iadd(this.m)),res._forceRed(this)},Mont.prototype.mul=function(a,b){if(a.isZero()||b.isZero())return new BN(0)._forceRed(this);var t=a.mul(b),c=t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),u=t.isub(c).iushrn(this.shift),res=u;return u.cmp(this.m)>=0\?res=u.isub(this.m):u.cmpn(0)<0&&(res=u.iadd(this.m)),res._forceRed(this)},Mont.prototype.invm=function(a){var res=this.imod(a._invmp(this.m).mul(this.r2));return res._forceRed(this)}})(typeof module>\"u\"||module,exports)}}),require_browserify_rsa=__commonJS({\"node_modules/browserify-rsa/index.js\"(exports,module){var BN=require_bn3(),randomBytes=require_browser();function blind(priv){var r=getr(priv),blinder=r.toRed(BN.mont(priv.modulus)).redPow(new BN(priv.publicExponent)).fromRed();return{blinder,unblinder:r.invm(priv.modulus)}}function getr(priv){var len=priv.modulus.byteLength(),r;do r=new BN(randomBytes(len));while(r.cmp(priv.modulus)>=0||!r.umod(priv.prime1)||!r.umod(priv.prime2));return r}function crt(msg,priv){var blinds=blind(priv),len=priv.modulus.byteLength(),blinded=new BN(msg).mul(blinds.blinder).umod(priv.modulus),c1=blinded.toRed(BN.mont(priv.prime1)),c2=blinded.toRed(BN.mont(priv.prime2)),qinv=priv.coefficient,p=priv.prime1,q=priv.prime2,m1=c1.redPow(priv.exponent1).fromRed(),m2=c2.redPow(priv.exponent2).fromRed(),h=m1.isub(m2).imul(qinv).umod(p).imul(q);return m2.iadd(h).imul(blinds.unblinder).umod(priv.modulus).toArrayLike(Buffer,\"be\",len)}crt.getr=getr,module.exports=crt}}),require_package=__commonJS({\"node_modules/elliptic/package.json\"(exports,module){module.exports={name:\"elliptic\",version:\"6.5.4\",description:\"EC cryptography\",main:\"lib/elliptic.js\",files:[\"lib\"],scripts:{lint:\"eslint lib test\",\"lint:fix\":\"npm run lint -- --fix\",unit:\"istanbul test _mocha --reporter=spec test/index.js\",test:\"npm run lint && npm run unit\",version:\"grunt dist && git add dist/\"},repository:{type:\"git\",url:\"git@github.com:indutny/elliptic\"},keywords:[\"EC\",\"Elliptic\",\"curve\",\"Cryptography\"],author:\"Fedor Indutny \",license:\"MIT\",bugs:{url:\"https://github.com/indutny/elliptic/issues\"},homepage:\"https://github.com/indutny/elliptic\",devDependencies:{brfs:\"^2.0.2\",coveralls:\"^3.1.0\",eslint:\"^7.6.0\",grunt:\"^1.2.1\",\"grunt-browserify\":\"^5.3.0\",\"grunt-cli\":\"^1.3.2\",\"grunt-contrib-connect\":\"^3.0.0\",\"grunt-contrib-copy\":\"^1.0.0\",\"grunt-contrib-uglify\":\"^5.0.0\",\"grunt-mocha-istanbul\":\"^5.0.2\",\"grunt-saucelabs\":\"^9.0.1\",istanbul:\"^0.4.5\",mocha:\"^8.0.1\"},dependencies:{\"bn.js\":\"^4.11.9\",brorand:\"^1.1.0\",\"hash.js\":\"^1.0.0\",\"hmac-drbg\":\"^1.0.1\",inherits:\"^2.0.4\",\"minimalistic-assert\":\"^1.0.1\",\"minimalistic-crypto-utils\":\"^1.0.1\"}}}}),require_bn4=__commonJS({\"node_modules/elliptic/node_modules/bn.js/lib/bn.js\"(exports,module){(function(module2,exports2){function assert(val,msg){if(!val)throw new Error(msg||\"Assertion failed\")}function inherits(ctor,superCtor){ctor.super_=superCtor;var TempCtor=function(){};TempCtor.prototype=superCtor.prototype,ctor.prototype=new TempCtor,ctor.prototype.constructor=ctor}function BN(number,base,endian){if(BN.isBN(number))return number;this.negative=0,this.words=null,this.length=0,this.red=null,number!==null&&((base===\"le\"||base===\"be\")&&(endian=base,base=10),this._init(number||0,base||10,endian||\"be\"))}typeof module2==\"object\"\?module2.exports=BN:exports2.BN=BN,BN.BN=BN,BN.wordSize=26;var Buffer2=Buffer;BN.isBN=function(num){return num instanceof BN\?!0:num!==null&&typeof num==\"object\"&&num.constructor.wordSize===BN.wordSize&&Array.isArray(num.words)},BN.max=function(left,right){return left.cmp(right)>0\?left:right},BN.min=function(left,right){return left.cmp(right)<0\?left:right},BN.prototype._init=function(number,base,endian){if(typeof number==\"number\")return this._initNumber(number,base,endian);if(typeof number==\"object\")return this._initArray(number,base,endian);base===\"hex\"&&(base=16),assert(base===(base|0)&&base>=2&&base<=36),number=number.toString().replace(/\\s+/g,\"\");var start=0;number[0]===\"-\"&&(start++,this.negative=1),start=0;i-=3)w=number[i]|number[i-1]<<8|number[i-2]<<16,this.words[j]|=w<>>26-off&67108863,off+=24,off>=26&&(off-=26,j++);else if(endian===\"le\")for(i=0,j=0;i>>26-off&67108863,off+=24,off>=26&&(off-=26,j++);return this.strip()};function parseHex4Bits(string,index){var c=string.charCodeAt(index);return c>=65&&c<=70\?c-55:c>=97&&c<=102\?c-87:c-48&15}function parseHexByte(string,lowerBound,index){var r=parseHex4Bits(string,index);return index-1>=lowerBound&&(r|=parseHex4Bits(string,index-1)<<4),r}BN.prototype._parseHex=function(number,start,endian){this.length=Math.ceil((number.length-start)/6),this.words=new Array(this.length);for(var i=0;i=start;i-=2)w=parseHexByte(number,start,i)<=18\?(off-=18,j+=1,this.words[j]|=w>>>26):off+=8;else{var parseLength=number.length-start;for(i=parseLength%2===0\?start+1:start;i=18\?(off-=18,j+=1,this.words[j]|=w>>>26):off+=8}this.strip()};function parseBase(str,start,end,mul){for(var r=0,len=Math.min(str.length,end),i=start;i=49\?r+=c-49+10:c>=17\?r+=c-17+10:r+=c}return r}BN.prototype._parseBase=function(number,base,start){this.words=[0],this.length=1;for(var limbLen=0,limbPow=1;limbPow<=67108863;limbPow*=base)limbLen++;limbLen--,limbPow=limbPow/base|0;for(var total=number.length-start,mod=total%limbLen,end=Math.min(total,total-mod)+start,word=0,i=start;i1&&this.words[this.length-1]===0;)this.length--;return this._normSign()},BN.prototype._normSign=function(){return this.length===1&&this.words[0]===0&&(this.negative=0),this},BN.prototype.inspect=function(){return(this.red\?\"\"};var zeros=[\"\",\"0\",\"00\",\"000\",\"0000\",\"00000\",\"000000\",\"0000000\",\"00000000\",\"000000000\",\"0000000000\",\"00000000000\",\"000000000000\",\"0000000000000\",\"00000000000000\",\"000000000000000\",\"0000000000000000\",\"00000000000000000\",\"000000000000000000\",\"0000000000000000000\",\"00000000000000000000\",\"000000000000000000000\",\"0000000000000000000000\",\"00000000000000000000000\",\"000000000000000000000000\",\"0000000000000000000000000\"],groupSizes=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],groupBases=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64000000,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,24300000,28629151,33554432,39135393,45435424,52521875,60466176];BN.prototype.toString=function(base,padding){base=base||10,padding=padding|0||1;var out;if(base===16||base===\"hex\"){out=\"\";for(var off=0,carry=0,i=0;i>>24-off&16777215,carry!==0||i!==this.length-1\?out=zeros[6-word.length]+word+out:out=word+out,off+=2,off>=26&&(off-=26,i--)}for(carry!==0&&(out=carry.toString(16)+out);out.length%padding!==0;)out=\"0\"+out;return this.negative!==0&&(out=\"-\"+out),out}if(base===(base|0)&&base>=2&&base<=36){var groupSize=groupSizes[base],groupBase=groupBases[base];out=\"\";var c=this.clone();for(c.negative=0;!c.isZero();){var r=c.modn(groupBase).toString(base);c=c.idivn(groupBase),c.isZero()\?out=r+out:out=zeros[groupSize-r.length]+r+out}for(this.isZero()&&(out=\"0\"+out);out.length%padding!==0;)out=\"0\"+out;return this.negative!==0&&(out=\"-\"+out),out}assert(!1,\"Base should be between 2 and 36\")},BN.prototype.toNumber=function(){var ret=this.words[0];return this.length===2\?ret+=this.words[1]*67108864:this.length===3&&this.words[2]===1\?ret+=4503599627370496+this.words[1]*67108864:this.length>2&&assert(!1,\"Number can only safely store up to 53 bits\"),this.negative!==0\?-ret:ret},BN.prototype.toJSON=function(){return this.toString(16)},BN.prototype.toBuffer=function(endian,length){return assert(typeof Buffer2<\"u\"),this.toArrayLike(Buffer2,endian,length)},BN.prototype.toArray=function(endian,length){return this.toArrayLike(Array,endian,length)},BN.prototype.toArrayLike=function(ArrayType,endian,length){var byteLength=this.byteLength(),reqLength=length||Math.max(1,byteLength);assert(byteLength<=reqLength,\"byte array longer than desired length\"),assert(reqLength>0,\"Requested array length <= 0\"),this.strip();var littleEndian=endian===\"le\",res=new ArrayType(reqLength),b,i,q=this.clone();if(littleEndian){for(i=0;!q.isZero();i++)b=q.andln(255),q.iushrn(8),res[i]=b;for(;i=4096&&(r+=13,t>>>=13),t>=64&&(r+=7,t>>>=7),t>=8&&(r+=4,t>>>=4),t>=2&&(r+=2,t>>>=2),r+t},BN.prototype._zeroBits=function(w){if(w===0)return 26;var t=w,r=0;return(t&8191)===0&&(r+=13,t>>>=13),(t&127)===0&&(r+=7,t>>>=7),(t&15)===0&&(r+=4,t>>>=4),(t&3)===0&&(r+=2,t>>>=2),(t&1)===0&&r++,r},BN.prototype.bitLength=function(){var w=this.words[this.length-1],hi=this._countBits(w);return(this.length-1)*26+hi};function toBitArray(num){for(var w=new Array(num.bitLength()),bit=0;bit>>wbit}return w}BN.prototype.zeroBits=function(){if(this.isZero())return 0;for(var r=0,i=0;inum.length\?this.clone().ior(num):num.clone().ior(this)},BN.prototype.uor=function(num){return this.length>num.length\?this.clone().iuor(num):num.clone().iuor(this)},BN.prototype.iuand=function(num){var b;this.length>num.length\?b=num:b=this;for(var i=0;inum.length\?this.clone().iand(num):num.clone().iand(this)},BN.prototype.uand=function(num){return this.length>num.length\?this.clone().iuand(num):num.clone().iuand(this)},BN.prototype.iuxor=function(num){var a,b;this.length>num.length\?(a=this,b=num):(a=num,b=this);for(var i=0;inum.length\?this.clone().ixor(num):num.clone().ixor(this)},BN.prototype.uxor=function(num){return this.length>num.length\?this.clone().iuxor(num):num.clone().iuxor(this)},BN.prototype.inotn=function(width){assert(typeof width==\"number\"&&width>=0);var bytesNeeded=Math.ceil(width/26)|0,bitsLeft=width%26;this._expand(bytesNeeded),bitsLeft>0&&bytesNeeded--;for(var i=0;i0&&(this.words[i]=~this.words[i]&67108863>>26-bitsLeft),this.strip()},BN.prototype.notn=function(width){return this.clone().inotn(width)},BN.prototype.setn=function(bit,val){assert(typeof bit==\"number\"&&bit>=0);var off=bit/26|0,wbit=bit%26;return this._expand(off+1),val\?this.words[off]=this.words[off]|1<num.length\?(a=this,b=num):(a=num,b=this);for(var carry=0,i=0;i>>26;for(;carry!==0&&i>>26;if(this.length=a.length,carry!==0)this.words[this.length]=carry,this.length++;else if(a!==this)for(;inum.length\?this.clone().iadd(num):num.clone().iadd(this)},BN.prototype.isub=function(num){if(num.negative!==0){num.negative=0;var r=this.iadd(num);return num.negative=1,r._normSign()}else if(this.negative!==0)return this.negative=0,this.iadd(num),this.negative=1,this._normSign();var cmp=this.cmp(num);if(cmp===0)return this.negative=0,this.length=1,this.words[0]=0,this;var a,b;cmp>0\?(a=this,b=num):(a=num,b=this);for(var carry=0,i=0;i>26,this.words[i]=r&67108863;for(;carry!==0&&i>26,this.words[i]=r&67108863;if(carry===0&&i>>26,rword=carry&67108863,maxJ=Math.min(k,num.length-1),j=Math.max(0,k-self2.length+1);j<=maxJ;j++){var i=k-j|0;a=self2.words[i]|0,b=num.words[j]|0,r=a*b+rword,ncarry+=r/67108864|0,rword=r&67108863}out.words[k]=rword|0,carry=ncarry|0}return carry!==0\?out.words[k]=carry|0:out.length--,out.strip()}var comb10MulTo=function(self2,num,out){var a=self2.words,b=num.words,o=out.words,c=0,lo,mid,hi,a0=a[0]|0,al0=a0&8191,ah0=a0>>>13,a1=a[1]|0,al1=a1&8191,ah1=a1>>>13,a2=a[2]|0,al2=a2&8191,ah2=a2>>>13,a3=a[3]|0,al3=a3&8191,ah3=a3>>>13,a4=a[4]|0,al4=a4&8191,ah4=a4>>>13,a5=a[5]|0,al5=a5&8191,ah5=a5>>>13,a6=a[6]|0,al6=a6&8191,ah6=a6>>>13,a7=a[7]|0,al7=a7&8191,ah7=a7>>>13,a8=a[8]|0,al8=a8&8191,ah8=a8>>>13,a9=a[9]|0,al9=a9&8191,ah9=a9>>>13,b0=b[0]|0,bl0=b0&8191,bh0=b0>>>13,b1=b[1]|0,bl1=b1&8191,bh1=b1>>>13,b2=b[2]|0,bl2=b2&8191,bh2=b2>>>13,b3=b[3]|0,bl3=b3&8191,bh3=b3>>>13,b4=b[4]|0,bl4=b4&8191,bh4=b4>>>13,b5=b[5]|0,bl5=b5&8191,bh5=b5>>>13,b6=b[6]|0,bl6=b6&8191,bh6=b6>>>13,b7=b[7]|0,bl7=b7&8191,bh7=b7>>>13,b8=b[8]|0,bl8=b8&8191,bh8=b8>>>13,b9=b[9]|0,bl9=b9&8191,bh9=b9>>>13;out.negative=self2.negative^num.negative,out.length=19,lo=Math.imul(al0,bl0),mid=Math.imul(al0,bh0),mid=mid+Math.imul(ah0,bl0)|0,hi=Math.imul(ah0,bh0);var w0=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w0>>>26)|0,w0&=67108863,lo=Math.imul(al1,bl0),mid=Math.imul(al1,bh0),mid=mid+Math.imul(ah1,bl0)|0,hi=Math.imul(ah1,bh0),lo=lo+Math.imul(al0,bl1)|0,mid=mid+Math.imul(al0,bh1)|0,mid=mid+Math.imul(ah0,bl1)|0,hi=hi+Math.imul(ah0,bh1)|0;var w1=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w1>>>26)|0,w1&=67108863,lo=Math.imul(al2,bl0),mid=Math.imul(al2,bh0),mid=mid+Math.imul(ah2,bl0)|0,hi=Math.imul(ah2,bh0),lo=lo+Math.imul(al1,bl1)|0,mid=mid+Math.imul(al1,bh1)|0,mid=mid+Math.imul(ah1,bl1)|0,hi=hi+Math.imul(ah1,bh1)|0,lo=lo+Math.imul(al0,bl2)|0,mid=mid+Math.imul(al0,bh2)|0,mid=mid+Math.imul(ah0,bl2)|0,hi=hi+Math.imul(ah0,bh2)|0;var w2=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w2>>>26)|0,w2&=67108863,lo=Math.imul(al3,bl0),mid=Math.imul(al3,bh0),mid=mid+Math.imul(ah3,bl0)|0,hi=Math.imul(ah3,bh0),lo=lo+Math.imul(al2,bl1)|0,mid=mid+Math.imul(al2,bh1)|0,mid=mid+Math.imul(ah2,bl1)|0,hi=hi+Math.imul(ah2,bh1)|0,lo=lo+Math.imul(al1,bl2)|0,mid=mid+Math.imul(al1,bh2)|0,mid=mid+Math.imul(ah1,bl2)|0,hi=hi+Math.imul(ah1,bh2)|0,lo=lo+Math.imul(al0,bl3)|0,mid=mid+Math.imul(al0,bh3)|0,mid=mid+Math.imul(ah0,bl3)|0,hi=hi+Math.imul(ah0,bh3)|0;var w3=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w3>>>26)|0,w3&=67108863,lo=Math.imul(al4,bl0),mid=Math.imul(al4,bh0),mid=mid+Math.imul(ah4,bl0)|0,hi=Math.imul(ah4,bh0),lo=lo+Math.imul(al3,bl1)|0,mid=mid+Math.imul(al3,bh1)|0,mid=mid+Math.imul(ah3,bl1)|0,hi=hi+Math.imul(ah3,bh1)|0,lo=lo+Math.imul(al2,bl2)|0,mid=mid+Math.imul(al2,bh2)|0,mid=mid+Math.imul(ah2,bl2)|0,hi=hi+Math.imul(ah2,bh2)|0,lo=lo+Math.imul(al1,bl3)|0,mid=mid+Math.imul(al1,bh3)|0,mid=mid+Math.imul(ah1,bl3)|0,hi=hi+Math.imul(ah1,bh3)|0,lo=lo+Math.imul(al0,bl4)|0,mid=mid+Math.imul(al0,bh4)|0,mid=mid+Math.imul(ah0,bl4)|0,hi=hi+Math.imul(ah0,bh4)|0;var w4=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w4>>>26)|0,w4&=67108863,lo=Math.imul(al5,bl0),mid=Math.imul(al5,bh0),mid=mid+Math.imul(ah5,bl0)|0,hi=Math.imul(ah5,bh0),lo=lo+Math.imul(al4,bl1)|0,mid=mid+Math.imul(al4,bh1)|0,mid=mid+Math.imul(ah4,bl1)|0,hi=hi+Math.imul(ah4,bh1)|0,lo=lo+Math.imul(al3,bl2)|0,mid=mid+Math.imul(al3,bh2)|0,mid=mid+Math.imul(ah3,bl2)|0,hi=hi+Math.imul(ah3,bh2)|0,lo=lo+Math.imul(al2,bl3)|0,mid=mid+Math.imul(al2,bh3)|0,mid=mid+Math.imul(ah2,bl3)|0,hi=hi+Math.imul(ah2,bh3)|0,lo=lo+Math.imul(al1,bl4)|0,mid=mid+Math.imul(al1,bh4)|0,mid=mid+Math.imul(ah1,bl4)|0,hi=hi+Math.imul(ah1,bh4)|0,lo=lo+Math.imul(al0,bl5)|0,mid=mid+Math.imul(al0,bh5)|0,mid=mid+Math.imul(ah0,bl5)|0,hi=hi+Math.imul(ah0,bh5)|0;var w5=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w5>>>26)|0,w5&=67108863,lo=Math.imul(al6,bl0),mid=Math.imul(al6,bh0),mid=mid+Math.imul(ah6,bl0)|0,hi=Math.imul(ah6,bh0),lo=lo+Math.imul(al5,bl1)|0,mid=mid+Math.imul(al5,bh1)|0,mid=mid+Math.imul(ah5,bl1)|0,hi=hi+Math.imul(ah5,bh1)|0,lo=lo+Math.imul(al4,bl2)|0,mid=mid+Math.imul(al4,bh2)|0,mid=mid+Math.imul(ah4,bl2)|0,hi=hi+Math.imul(ah4,bh2)|0,lo=lo+Math.imul(al3,bl3)|0,mid=mid+Math.imul(al3,bh3)|0,mid=mid+Math.imul(ah3,bl3)|0,hi=hi+Math.imul(ah3,bh3)|0,lo=lo+Math.imul(al2,bl4)|0,mid=mid+Math.imul(al2,bh4)|0,mid=mid+Math.imul(ah2,bl4)|0,hi=hi+Math.imul(ah2,bh4)|0,lo=lo+Math.imul(al1,bl5)|0,mid=mid+Math.imul(al1,bh5)|0,mid=mid+Math.imul(ah1,bl5)|0,hi=hi+Math.imul(ah1,bh5)|0,lo=lo+Math.imul(al0,bl6)|0,mid=mid+Math.imul(al0,bh6)|0,mid=mid+Math.imul(ah0,bl6)|0,hi=hi+Math.imul(ah0,bh6)|0;var w6=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w6>>>26)|0,w6&=67108863,lo=Math.imul(al7,bl0),mid=Math.imul(al7,bh0),mid=mid+Math.imul(ah7,bl0)|0,hi=Math.imul(ah7,bh0),lo=lo+Math.imul(al6,bl1)|0,mid=mid+Math.imul(al6,bh1)|0,mid=mid+Math.imul(ah6,bl1)|0,hi=hi+Math.imul(ah6,bh1)|0,lo=lo+Math.imul(al5,bl2)|0,mid=mid+Math.imul(al5,bh2)|0,mid=mid+Math.imul(ah5,bl2)|0,hi=hi+Math.imul(ah5,bh2)|0,lo=lo+Math.imul(al4,bl3)|0,mid=mid+Math.imul(al4,bh3)|0,mid=mid+Math.imul(ah4,bl3)|0,hi=hi+Math.imul(ah4,bh3)|0,lo=lo+Math.imul(al3,bl4)|0,mid=mid+Math.imul(al3,bh4)|0,mid=mid+Math.imul(ah3,bl4)|0,hi=hi+Math.imul(ah3,bh4)|0,lo=lo+Math.imul(al2,bl5)|0,mid=mid+Math.imul(al2,bh5)|0,mid=mid+Math.imul(ah2,bl5)|0,hi=hi+Math.imul(ah2,bh5)|0,lo=lo+Math.imul(al1,bl6)|0,mid=mid+Math.imul(al1,bh6)|0,mid=mid+Math.imul(ah1,bl6)|0,hi=hi+Math.imul(ah1,bh6)|0,lo=lo+Math.imul(al0,bl7)|0,mid=mid+Math.imul(al0,bh7)|0,mid=mid+Math.imul(ah0,bl7)|0,hi=hi+Math.imul(ah0,bh7)|0;var w7=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w7>>>26)|0,w7&=67108863,lo=Math.imul(al8,bl0),mid=Math.imul(al8,bh0),mid=mid+Math.imul(ah8,bl0)|0,hi=Math.imul(ah8,bh0),lo=lo+Math.imul(al7,bl1)|0,mid=mid+Math.imul(al7,bh1)|0,mid=mid+Math.imul(ah7,bl1)|0,hi=hi+Math.imul(ah7,bh1)|0,lo=lo+Math.imul(al6,bl2)|0,mid=mid+Math.imul(al6,bh2)|0,mid=mid+Math.imul(ah6,bl2)|0,hi=hi+Math.imul(ah6,bh2)|0,lo=lo+Math.imul(al5,bl3)|0,mid=mid+Math.imul(al5,bh3)|0,mid=mid+Math.imul(ah5,bl3)|0,hi=hi+Math.imul(ah5,bh3)|0,lo=lo+Math.imul(al4,bl4)|0,mid=mid+Math.imul(al4,bh4)|0,mid=mid+Math.imul(ah4,bl4)|0,hi=hi+Math.imul(ah4,bh4)|0,lo=lo+Math.imul(al3,bl5)|0,mid=mid+Math.imul(al3,bh5)|0,mid=mid+Math.imul(ah3,bl5)|0,hi=hi+Math.imul(ah3,bh5)|0,lo=lo+Math.imul(al2,bl6)|0,mid=mid+Math.imul(al2,bh6)|0,mid=mid+Math.imul(ah2,bl6)|0,hi=hi+Math.imul(ah2,bh6)|0,lo=lo+Math.imul(al1,bl7)|0,mid=mid+Math.imul(al1,bh7)|0,mid=mid+Math.imul(ah1,bl7)|0,hi=hi+Math.imul(ah1,bh7)|0,lo=lo+Math.imul(al0,bl8)|0,mid=mid+Math.imul(al0,bh8)|0,mid=mid+Math.imul(ah0,bl8)|0,hi=hi+Math.imul(ah0,bh8)|0;var w8=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w8>>>26)|0,w8&=67108863,lo=Math.imul(al9,bl0),mid=Math.imul(al9,bh0),mid=mid+Math.imul(ah9,bl0)|0,hi=Math.imul(ah9,bh0),lo=lo+Math.imul(al8,bl1)|0,mid=mid+Math.imul(al8,bh1)|0,mid=mid+Math.imul(ah8,bl1)|0,hi=hi+Math.imul(ah8,bh1)|0,lo=lo+Math.imul(al7,bl2)|0,mid=mid+Math.imul(al7,bh2)|0,mid=mid+Math.imul(ah7,bl2)|0,hi=hi+Math.imul(ah7,bh2)|0,lo=lo+Math.imul(al6,bl3)|0,mid=mid+Math.imul(al6,bh3)|0,mid=mid+Math.imul(ah6,bl3)|0,hi=hi+Math.imul(ah6,bh3)|0,lo=lo+Math.imul(al5,bl4)|0,mid=mid+Math.imul(al5,bh4)|0,mid=mid+Math.imul(ah5,bl4)|0,hi=hi+Math.imul(ah5,bh4)|0,lo=lo+Math.imul(al4,bl5)|0,mid=mid+Math.imul(al4,bh5)|0,mid=mid+Math.imul(ah4,bl5)|0,hi=hi+Math.imul(ah4,bh5)|0,lo=lo+Math.imul(al3,bl6)|0,mid=mid+Math.imul(al3,bh6)|0,mid=mid+Math.imul(ah3,bl6)|0,hi=hi+Math.imul(ah3,bh6)|0,lo=lo+Math.imul(al2,bl7)|0,mid=mid+Math.imul(al2,bh7)|0,mid=mid+Math.imul(ah2,bl7)|0,hi=hi+Math.imul(ah2,bh7)|0,lo=lo+Math.imul(al1,bl8)|0,mid=mid+Math.imul(al1,bh8)|0,mid=mid+Math.imul(ah1,bl8)|0,hi=hi+Math.imul(ah1,bh8)|0,lo=lo+Math.imul(al0,bl9)|0,mid=mid+Math.imul(al0,bh9)|0,mid=mid+Math.imul(ah0,bl9)|0,hi=hi+Math.imul(ah0,bh9)|0;var w9=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w9>>>26)|0,w9&=67108863,lo=Math.imul(al9,bl1),mid=Math.imul(al9,bh1),mid=mid+Math.imul(ah9,bl1)|0,hi=Math.imul(ah9,bh1),lo=lo+Math.imul(al8,bl2)|0,mid=mid+Math.imul(al8,bh2)|0,mid=mid+Math.imul(ah8,bl2)|0,hi=hi+Math.imul(ah8,bh2)|0,lo=lo+Math.imul(al7,bl3)|0,mid=mid+Math.imul(al7,bh3)|0,mid=mid+Math.imul(ah7,bl3)|0,hi=hi+Math.imul(ah7,bh3)|0,lo=lo+Math.imul(al6,bl4)|0,mid=mid+Math.imul(al6,bh4)|0,mid=mid+Math.imul(ah6,bl4)|0,hi=hi+Math.imul(ah6,bh4)|0,lo=lo+Math.imul(al5,bl5)|0,mid=mid+Math.imul(al5,bh5)|0,mid=mid+Math.imul(ah5,bl5)|0,hi=hi+Math.imul(ah5,bh5)|0,lo=lo+Math.imul(al4,bl6)|0,mid=mid+Math.imul(al4,bh6)|0,mid=mid+Math.imul(ah4,bl6)|0,hi=hi+Math.imul(ah4,bh6)|0,lo=lo+Math.imul(al3,bl7)|0,mid=mid+Math.imul(al3,bh7)|0,mid=mid+Math.imul(ah3,bl7)|0,hi=hi+Math.imul(ah3,bh7)|0,lo=lo+Math.imul(al2,bl8)|0,mid=mid+Math.imul(al2,bh8)|0,mid=mid+Math.imul(ah2,bl8)|0,hi=hi+Math.imul(ah2,bh8)|0,lo=lo+Math.imul(al1,bl9)|0,mid=mid+Math.imul(al1,bh9)|0,mid=mid+Math.imul(ah1,bl9)|0,hi=hi+Math.imul(ah1,bh9)|0;var w10=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w10>>>26)|0,w10&=67108863,lo=Math.imul(al9,bl2),mid=Math.imul(al9,bh2),mid=mid+Math.imul(ah9,bl2)|0,hi=Math.imul(ah9,bh2),lo=lo+Math.imul(al8,bl3)|0,mid=mid+Math.imul(al8,bh3)|0,mid=mid+Math.imul(ah8,bl3)|0,hi=hi+Math.imul(ah8,bh3)|0,lo=lo+Math.imul(al7,bl4)|0,mid=mid+Math.imul(al7,bh4)|0,mid=mid+Math.imul(ah7,bl4)|0,hi=hi+Math.imul(ah7,bh4)|0,lo=lo+Math.imul(al6,bl5)|0,mid=mid+Math.imul(al6,bh5)|0,mid=mid+Math.imul(ah6,bl5)|0,hi=hi+Math.imul(ah6,bh5)|0,lo=lo+Math.imul(al5,bl6)|0,mid=mid+Math.imul(al5,bh6)|0,mid=mid+Math.imul(ah5,bl6)|0,hi=hi+Math.imul(ah5,bh6)|0,lo=lo+Math.imul(al4,bl7)|0,mid=mid+Math.imul(al4,bh7)|0,mid=mid+Math.imul(ah4,bl7)|0,hi=hi+Math.imul(ah4,bh7)|0,lo=lo+Math.imul(al3,bl8)|0,mid=mid+Math.imul(al3,bh8)|0,mid=mid+Math.imul(ah3,bl8)|0,hi=hi+Math.imul(ah3,bh8)|0,lo=lo+Math.imul(al2,bl9)|0,mid=mid+Math.imul(al2,bh9)|0,mid=mid+Math.imul(ah2,bl9)|0,hi=hi+Math.imul(ah2,bh9)|0;var w11=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w11>>>26)|0,w11&=67108863,lo=Math.imul(al9,bl3),mid=Math.imul(al9,bh3),mid=mid+Math.imul(ah9,bl3)|0,hi=Math.imul(ah9,bh3),lo=lo+Math.imul(al8,bl4)|0,mid=mid+Math.imul(al8,bh4)|0,mid=mid+Math.imul(ah8,bl4)|0,hi=hi+Math.imul(ah8,bh4)|0,lo=lo+Math.imul(al7,bl5)|0,mid=mid+Math.imul(al7,bh5)|0,mid=mid+Math.imul(ah7,bl5)|0,hi=hi+Math.imul(ah7,bh5)|0,lo=lo+Math.imul(al6,bl6)|0,mid=mid+Math.imul(al6,bh6)|0,mid=mid+Math.imul(ah6,bl6)|0,hi=hi+Math.imul(ah6,bh6)|0,lo=lo+Math.imul(al5,bl7)|0,mid=mid+Math.imul(al5,bh7)|0,mid=mid+Math.imul(ah5,bl7)|0,hi=hi+Math.imul(ah5,bh7)|0,lo=lo+Math.imul(al4,bl8)|0,mid=mid+Math.imul(al4,bh8)|0,mid=mid+Math.imul(ah4,bl8)|0,hi=hi+Math.imul(ah4,bh8)|0,lo=lo+Math.imul(al3,bl9)|0,mid=mid+Math.imul(al3,bh9)|0,mid=mid+Math.imul(ah3,bl9)|0,hi=hi+Math.imul(ah3,bh9)|0;var w12=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w12>>>26)|0,w12&=67108863,lo=Math.imul(al9,bl4),mid=Math.imul(al9,bh4),mid=mid+Math.imul(ah9,bl4)|0,hi=Math.imul(ah9,bh4),lo=lo+Math.imul(al8,bl5)|0,mid=mid+Math.imul(al8,bh5)|0,mid=mid+Math.imul(ah8,bl5)|0,hi=hi+Math.imul(ah8,bh5)|0,lo=lo+Math.imul(al7,bl6)|0,mid=mid+Math.imul(al7,bh6)|0,mid=mid+Math.imul(ah7,bl6)|0,hi=hi+Math.imul(ah7,bh6)|0,lo=lo+Math.imul(al6,bl7)|0,mid=mid+Math.imul(al6,bh7)|0,mid=mid+Math.imul(ah6,bl7)|0,hi=hi+Math.imul(ah6,bh7)|0,lo=lo+Math.imul(al5,bl8)|0,mid=mid+Math.imul(al5,bh8)|0,mid=mid+Math.imul(ah5,bl8)|0,hi=hi+Math.imul(ah5,bh8)|0,lo=lo+Math.imul(al4,bl9)|0,mid=mid+Math.imul(al4,bh9)|0,mid=mid+Math.imul(ah4,bl9)|0,hi=hi+Math.imul(ah4,bh9)|0;var w13=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w13>>>26)|0,w13&=67108863,lo=Math.imul(al9,bl5),mid=Math.imul(al9,bh5),mid=mid+Math.imul(ah9,bl5)|0,hi=Math.imul(ah9,bh5),lo=lo+Math.imul(al8,bl6)|0,mid=mid+Math.imul(al8,bh6)|0,mid=mid+Math.imul(ah8,bl6)|0,hi=hi+Math.imul(ah8,bh6)|0,lo=lo+Math.imul(al7,bl7)|0,mid=mid+Math.imul(al7,bh7)|0,mid=mid+Math.imul(ah7,bl7)|0,hi=hi+Math.imul(ah7,bh7)|0,lo=lo+Math.imul(al6,bl8)|0,mid=mid+Math.imul(al6,bh8)|0,mid=mid+Math.imul(ah6,bl8)|0,hi=hi+Math.imul(ah6,bh8)|0,lo=lo+Math.imul(al5,bl9)|0,mid=mid+Math.imul(al5,bh9)|0,mid=mid+Math.imul(ah5,bl9)|0,hi=hi+Math.imul(ah5,bh9)|0;var w14=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w14>>>26)|0,w14&=67108863,lo=Math.imul(al9,bl6),mid=Math.imul(al9,bh6),mid=mid+Math.imul(ah9,bl6)|0,hi=Math.imul(ah9,bh6),lo=lo+Math.imul(al8,bl7)|0,mid=mid+Math.imul(al8,bh7)|0,mid=mid+Math.imul(ah8,bl7)|0,hi=hi+Math.imul(ah8,bh7)|0,lo=lo+Math.imul(al7,bl8)|0,mid=mid+Math.imul(al7,bh8)|0,mid=mid+Math.imul(ah7,bl8)|0,hi=hi+Math.imul(ah7,bh8)|0,lo=lo+Math.imul(al6,bl9)|0,mid=mid+Math.imul(al6,bh9)|0,mid=mid+Math.imul(ah6,bl9)|0,hi=hi+Math.imul(ah6,bh9)|0;var w15=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w15>>>26)|0,w15&=67108863,lo=Math.imul(al9,bl7),mid=Math.imul(al9,bh7),mid=mid+Math.imul(ah9,bl7)|0,hi=Math.imul(ah9,bh7),lo=lo+Math.imul(al8,bl8)|0,mid=mid+Math.imul(al8,bh8)|0,mid=mid+Math.imul(ah8,bl8)|0,hi=hi+Math.imul(ah8,bh8)|0,lo=lo+Math.imul(al7,bl9)|0,mid=mid+Math.imul(al7,bh9)|0,mid=mid+Math.imul(ah7,bl9)|0,hi=hi+Math.imul(ah7,bh9)|0;var w16=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w16>>>26)|0,w16&=67108863,lo=Math.imul(al9,bl8),mid=Math.imul(al9,bh8),mid=mid+Math.imul(ah9,bl8)|0,hi=Math.imul(ah9,bh8),lo=lo+Math.imul(al8,bl9)|0,mid=mid+Math.imul(al8,bh9)|0,mid=mid+Math.imul(ah8,bl9)|0,hi=hi+Math.imul(ah8,bh9)|0;var w17=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w17>>>26)|0,w17&=67108863,lo=Math.imul(al9,bl9),mid=Math.imul(al9,bh9),mid=mid+Math.imul(ah9,bl9)|0,hi=Math.imul(ah9,bh9);var w18=(c+lo|0)+((mid&8191)<<13)|0;return c=(hi+(mid>>>13)|0)+(w18>>>26)|0,w18&=67108863,o[0]=w0,o[1]=w1,o[2]=w2,o[3]=w3,o[4]=w4,o[5]=w5,o[6]=w6,o[7]=w7,o[8]=w8,o[9]=w9,o[10]=w10,o[11]=w11,o[12]=w12,o[13]=w13,o[14]=w14,o[15]=w15,o[16]=w16,o[17]=w17,o[18]=w18,c!==0&&(o[19]=c,out.length++),out};Math.imul||(comb10MulTo=smallMulTo);function bigMulTo(self2,num,out){out.negative=num.negative^self2.negative,out.length=self2.length+num.length;for(var carry=0,hncarry=0,k=0;k>>26)|0,hncarry+=ncarry>>>26,ncarry&=67108863}out.words[k]=rword,carry=ncarry,ncarry=hncarry}return carry!==0\?out.words[k]=carry:out.length--,out.strip()}function jumboMulTo(self2,num,out){var fftm=new FFTM;return fftm.mulp(self2,num,out)}BN.prototype.mulTo=function(num,out){var res,len=this.length+num.length;return this.length===10&&num.length===10\?res=comb10MulTo(this,num,out):len<63\?res=smallMulTo(this,num,out):len<1024\?res=bigMulTo(this,num,out):res=jumboMulTo(this,num,out),res};function FFTM(x,y){this.x=x,this.y=y}FFTM.prototype.makeRBT=function(N){for(var t=new Array(N),l=BN.prototype._countBits(N)-1,i=0;i>=1;return rb},FFTM.prototype.permute=function(rbt,rws,iws,rtws,itws,N){for(var i=0;i>>1)i++;return 1<>>13,rws[2*i+1]=carry&8191,carry=carry>>>13;for(i=2*len;i>=26,carry+=w/67108864|0,carry+=lo>>>26,this.words[i]=lo&67108863}return carry!==0&&(this.words[i]=carry,this.length++),this},BN.prototype.muln=function(num){return this.clone().imuln(num)},BN.prototype.sqr=function(){return this.mul(this)},BN.prototype.isqr=function(){return this.imul(this.clone())},BN.prototype.pow=function(num){var w=toBitArray(num);if(w.length===0)return new BN(1);for(var res=this,i=0;i=0);var r=bits%26,s=(bits-r)/26,carryMask=67108863>>>26-r<<26-r,i;if(r!==0){var carry=0;for(i=0;i>>26-r}carry&&(this.words[i]=carry,this.length++)}if(s!==0){for(i=this.length-1;i>=0;i--)this.words[i+s]=this.words[i];for(i=0;i=0);var h;hint\?h=(hint-hint%26)/26:h=0;var r=bits%26,s=Math.min((bits-r)/26,this.length),mask=67108863^67108863>>>r<s)for(this.length-=s,i=0;i=0&&(carry!==0||i>=h);i--){var word=this.words[i]|0;this.words[i]=carry<<26-r|word>>>r,carry=word&mask}return maskedWords&&carry!==0&&(maskedWords.words[maskedWords.length++]=carry),this.length===0&&(this.words[0]=0,this.length=1),this.strip()},BN.prototype.ishrn=function(bits,hint,extended){return assert(this.negative===0),this.iushrn(bits,hint,extended)},BN.prototype.shln=function(bits){return this.clone().ishln(bits)},BN.prototype.ushln=function(bits){return this.clone().iushln(bits)},BN.prototype.shrn=function(bits){return this.clone().ishrn(bits)},BN.prototype.ushrn=function(bits){return this.clone().iushrn(bits)},BN.prototype.testn=function(bit){assert(typeof bit==\"number\"&&bit>=0);var r=bit%26,s=(bit-r)/26,q=1<=0);var r=bits%26,s=(bits-r)/26;if(assert(this.negative===0,\"imaskn works only with positive numbers\"),this.length<=s)return this;if(r!==0&&s++,this.length=Math.min(s,this.length),r!==0){var mask=67108863^67108863>>>r<=67108864;i++)this.words[i]-=67108864,i===this.length-1\?this.words[i+1]=1:this.words[i+1]++;return this.length=Math.max(this.length,i+1),this},BN.prototype.isubn=function(num){if(assert(typeof num==\"number\"),assert(num<67108864),num<0)return this.iaddn(-num);if(this.negative!==0)return this.negative=0,this.iaddn(num),this.negative=1,this;if(this.words[0]-=num,this.length===1&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var i=0;i>26)-(right/67108864|0),this.words[i+shift]=w&67108863}for(;i>26,this.words[i+shift]=w&67108863;if(carry===0)return this.strip();for(assert(carry===-1),carry=0,i=0;i>26,this.words[i]=w&67108863;return this.negative=1,this.strip()},BN.prototype._wordDiv=function(num,mode){var shift=this.length-num.length,a=this.clone(),b=num,bhi=b.words[b.length-1]|0,bhiBits=this._countBits(bhi);shift=26-bhiBits,shift!==0&&(b=b.ushln(shift),a.iushln(shift),bhi=b.words[b.length-1]|0);var m=a.length-b.length,q;if(mode!==\"mod\"){q=new BN(null),q.length=m+1,q.words=new Array(q.length);for(var i=0;i=0;j--){var qj=(a.words[b.length+j]|0)*67108864+(a.words[b.length+j-1]|0);for(qj=Math.min(qj/bhi|0,67108863),a._ishlnsubmul(b,qj,j);a.negative!==0;)qj--,a.negative=0,a._ishlnsubmul(b,1,j),a.isZero()||(a.negative^=1);q&&(q.words[j]=qj)}return q&&q.strip(),a.strip(),mode!==\"div\"&&shift!==0&&a.iushrn(shift),{div:q||null,mod:a}},BN.prototype.divmod=function(num,mode,positive){if(assert(!num.isZero()),this.isZero())return{div:new BN(0),mod:new BN(0)};var div,mod,res;return this.negative!==0&&num.negative===0\?(res=this.neg().divmod(num,mode),mode!==\"mod\"&&(div=res.div.neg()),mode!==\"div\"&&(mod=res.mod.neg(),positive&&mod.negative!==0&&mod.iadd(num)),{div,mod}):this.negative===0&&num.negative!==0\?(res=this.divmod(num.neg(),mode),mode!==\"mod\"&&(div=res.div.neg()),{div,mod:res.mod}):(this.negative&num.negative)!==0\?(res=this.neg().divmod(num.neg(),mode),mode!==\"div\"&&(mod=res.mod.neg(),positive&&mod.negative!==0&&mod.isub(num)),{div:res.div,mod}):num.length>this.length||this.cmp(num)<0\?{div:new BN(0),mod:this}:num.length===1\?mode===\"div\"\?{div:this.divn(num.words[0]),mod:null}:mode===\"mod\"\?{div:null,mod:new BN(this.modn(num.words[0]))}:{div:this.divn(num.words[0]),mod:new BN(this.modn(num.words[0]))}:this._wordDiv(num,mode)},BN.prototype.div=function(num){return this.divmod(num,\"div\",!1).div},BN.prototype.mod=function(num){return this.divmod(num,\"mod\",!1).mod},BN.prototype.umod=function(num){return this.divmod(num,\"mod\",!0).mod},BN.prototype.divRound=function(num){var dm=this.divmod(num);if(dm.mod.isZero())return dm.div;var mod=dm.div.negative!==0\?dm.mod.isub(num):dm.mod,half=num.ushrn(1),r2=num.andln(1),cmp=mod.cmp(half);return cmp<0||r2===1&&cmp===0\?dm.div:dm.div.negative!==0\?dm.div.isubn(1):dm.div.iaddn(1)},BN.prototype.modn=function(num){assert(num<=67108863);for(var p=(1<<26)%num,acc=0,i=this.length-1;i>=0;i--)acc=(p*acc+(this.words[i]|0))%num;return acc},BN.prototype.idivn=function(num){assert(num<=67108863);for(var carry=0,i=this.length-1;i>=0;i--){var w=(this.words[i]|0)+carry*67108864;this.words[i]=w/num|0,carry=w%num}return this.strip()},BN.prototype.divn=function(num){return this.clone().idivn(num)},BN.prototype.egcd=function(p){assert(p.negative===0),assert(!p.isZero());var x=this,y=p.clone();x.negative!==0\?x=x.umod(p):x=x.clone();for(var A=new BN(1),B=new BN(0),C=new BN(0),D=new BN(1),g=0;x.isEven()&&y.isEven();)x.iushrn(1),y.iushrn(1),++g;for(var yp=y.clone(),xp=x.clone();!x.isZero();){for(var i=0,im=1;(x.words[0]&im)===0&&i<26;++i,im<<=1);if(i>0)for(x.iushrn(i);i-- >0;)(A.isOdd()||B.isOdd())&&(A.iadd(yp),B.isub(xp)),A.iushrn(1),B.iushrn(1);for(var j=0,jm=1;(y.words[0]&jm)===0&&j<26;++j,jm<<=1);if(j>0)for(y.iushrn(j);j-- >0;)(C.isOdd()||D.isOdd())&&(C.iadd(yp),D.isub(xp)),C.iushrn(1),D.iushrn(1);x.cmp(y)>=0\?(x.isub(y),A.isub(C),B.isub(D)):(y.isub(x),C.isub(A),D.isub(B))}return{a:C,b:D,gcd:y.iushln(g)}},BN.prototype._invmp=function(p){assert(p.negative===0),assert(!p.isZero());var a=this,b=p.clone();a.negative!==0\?a=a.umod(p):a=a.clone();for(var x1=new BN(1),x2=new BN(0),delta=b.clone();a.cmpn(1)>0&&b.cmpn(1)>0;){for(var i=0,im=1;(a.words[0]&im)===0&&i<26;++i,im<<=1);if(i>0)for(a.iushrn(i);i-- >0;)x1.isOdd()&&x1.iadd(delta),x1.iushrn(1);for(var j=0,jm=1;(b.words[0]&jm)===0&&j<26;++j,jm<<=1);if(j>0)for(b.iushrn(j);j-- >0;)x2.isOdd()&&x2.iadd(delta),x2.iushrn(1);a.cmp(b)>=0\?(a.isub(b),x1.isub(x2)):(b.isub(a),x2.isub(x1))}var res;return a.cmpn(1)===0\?res=x1:res=x2,res.cmpn(0)<0&&res.iadd(p),res},BN.prototype.gcd=function(num){if(this.isZero())return num.abs();if(num.isZero())return this.abs();var a=this.clone(),b=num.clone();a.negative=0,b.negative=0;for(var shift=0;a.isEven()&&b.isEven();shift++)a.iushrn(1),b.iushrn(1);do{for(;a.isEven();)a.iushrn(1);for(;b.isEven();)b.iushrn(1);var r=a.cmp(b);if(r<0){var t=a;a=b,b=t}else if(r===0||b.cmpn(1)===0)break;a.isub(b)}while(!0);return b.iushln(shift)},BN.prototype.invm=function(num){return this.egcd(num).a.umod(num)},BN.prototype.isEven=function(){return(this.words[0]&1)===0},BN.prototype.isOdd=function(){return(this.words[0]&1)===1},BN.prototype.andln=function(num){return this.words[0]&num},BN.prototype.bincn=function(bit){assert(typeof bit==\"number\");var r=bit%26,s=(bit-r)/26,q=1<>>26,w&=67108863,this.words[i]=w}return carry!==0&&(this.words[i]=carry,this.length++),this},BN.prototype.isZero=function(){return this.length===1&&this.words[0]===0},BN.prototype.cmpn=function(num){var negative=num<0;if(this.negative!==0&&!negative)return-1;if(this.negative===0&&negative)return 1;this.strip();var res;if(this.length>1)res=1;else{negative&&(num=-num),assert(num<=67108863,\"Number is too big\");var w=this.words[0]|0;res=w===num\?0:wnum.length)return 1;if(this.length=0;i--){var a=this.words[i]|0,b=num.words[i]|0;if(a!==b){ab&&(res=1);break}}return res},BN.prototype.gtn=function(num){return this.cmpn(num)===1},BN.prototype.gt=function(num){return this.cmp(num)===1},BN.prototype.gten=function(num){return this.cmpn(num)>=0},BN.prototype.gte=function(num){return this.cmp(num)>=0},BN.prototype.ltn=function(num){return this.cmpn(num)===-1},BN.prototype.lt=function(num){return this.cmp(num)===-1},BN.prototype.lten=function(num){return this.cmpn(num)<=0},BN.prototype.lte=function(num){return this.cmp(num)<=0},BN.prototype.eqn=function(num){return this.cmpn(num)===0},BN.prototype.eq=function(num){return this.cmp(num)===0},BN.red=function(num){return new Red(num)},BN.prototype.toRed=function(ctx){return assert(!this.red,\"Already a number in reduction context\"),assert(this.negative===0,\"red works only with positives\"),ctx.convertTo(this)._forceRed(ctx)},BN.prototype.fromRed=function(){return assert(this.red,\"fromRed works only with numbers in reduction context\"),this.red.convertFrom(this)},BN.prototype._forceRed=function(ctx){return this.red=ctx,this},BN.prototype.forceRed=function(ctx){return assert(!this.red,\"Already a number in reduction context\"),this._forceRed(ctx)},BN.prototype.redAdd=function(num){return assert(this.red,\"redAdd works only with red numbers\"),this.red.add(this,num)},BN.prototype.redIAdd=function(num){return assert(this.red,\"redIAdd works only with red numbers\"),this.red.iadd(this,num)},BN.prototype.redSub=function(num){return assert(this.red,\"redSub works only with red numbers\"),this.red.sub(this,num)},BN.prototype.redISub=function(num){return assert(this.red,\"redISub works only with red numbers\"),this.red.isub(this,num)},BN.prototype.redShl=function(num){return assert(this.red,\"redShl works only with red numbers\"),this.red.shl(this,num)},BN.prototype.redMul=function(num){return assert(this.red,\"redMul works only with red numbers\"),this.red._verify2(this,num),this.red.mul(this,num)},BN.prototype.redIMul=function(num){return assert(this.red,\"redMul works only with red numbers\"),this.red._verify2(this,num),this.red.imul(this,num)},BN.prototype.redSqr=function(){return assert(this.red,\"redSqr works only with red numbers\"),this.red._verify1(this),this.red.sqr(this)},BN.prototype.redISqr=function(){return assert(this.red,\"redISqr works only with red numbers\"),this.red._verify1(this),this.red.isqr(this)},BN.prototype.redSqrt=function(){return assert(this.red,\"redSqrt works only with red numbers\"),this.red._verify1(this),this.red.sqrt(this)},BN.prototype.redInvm=function(){return assert(this.red,\"redInvm works only with red numbers\"),this.red._verify1(this),this.red.invm(this)},BN.prototype.redNeg=function(){return assert(this.red,\"redNeg works only with red numbers\"),this.red._verify1(this),this.red.neg(this)},BN.prototype.redPow=function(num){return assert(this.red&&!num.red,\"redPow(normalNum)\"),this.red._verify1(this),this.red.pow(this,num)};var primes={k256:null,p224:null,p192:null,p25519:null};function MPrime(name,p){this.name=name,this.p=new BN(p,16),this.n=this.p.bitLength(),this.k=new BN(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}MPrime.prototype._tmp=function(){var tmp=new BN(null);return tmp.words=new Array(Math.ceil(this.n/13)),tmp},MPrime.prototype.ireduce=function(num){var r=num,rlen;do this.split(r,this.tmp),r=this.imulK(r),r=r.iadd(this.tmp),rlen=r.bitLength();while(rlen>this.n);var cmp=rlen0\?r.isub(this.p):r.strip!==void 0\?r.strip():r._strip(),r},MPrime.prototype.split=function(input,out){input.iushrn(this.n,0,out)},MPrime.prototype.imulK=function(num){return num.imul(this.k)};function K256(){MPrime.call(this,\"k256\",\"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f\")}inherits(K256,MPrime),K256.prototype.split=function(input,output){for(var mask=4194303,outLen=Math.min(input.length,9),i=0;i>>22,prev=next}prev>>>=22,input.words[i-10]=prev,prev===0&&input.length>10\?input.length-=10:input.length-=9},K256.prototype.imulK=function(num){num.words[num.length]=0,num.words[num.length+1]=0,num.length+=2;for(var lo=0,i=0;i>>=26,num.words[i]=lo,carry=hi}return carry!==0&&(num.words[num.length++]=carry),num},BN._prime=function(name){if(primes[name])return primes[name];var prime2;if(name===\"k256\")prime2=new K256;else if(name===\"p224\")prime2=new P224;else if(name===\"p192\")prime2=new P192;else if(name===\"p25519\")prime2=new P25519;else throw new Error(\"Unknown prime \"+name);return primes[name]=prime2,prime2};function Red(m){if(typeof m==\"string\"){var prime=BN._prime(m);this.m=prime.p,this.prime=prime}else assert(m.gtn(1),\"modulus must be greater than 1\"),this.m=m,this.prime=null}Red.prototype._verify1=function(a){assert(a.negative===0,\"red works only with positives\"),assert(a.red,\"red works only with red numbers\")},Red.prototype._verify2=function(a,b){assert((a.negative|b.negative)===0,\"red works only with positives\"),assert(a.red&&a.red===b.red,\"red works only with red numbers\")},Red.prototype.imod=function(a){return this.prime\?this.prime.ireduce(a)._forceRed(this):a.umod(this.m)._forceRed(this)},Red.prototype.neg=function(a){return a.isZero()\?a.clone():this.m.sub(a)._forceRed(this)},Red.prototype.add=function(a,b){this._verify2(a,b);var res=a.add(b);return res.cmp(this.m)>=0&&res.isub(this.m),res._forceRed(this)},Red.prototype.iadd=function(a,b){this._verify2(a,b);var res=a.iadd(b);return res.cmp(this.m)>=0&&res.isub(this.m),res},Red.prototype.sub=function(a,b){this._verify2(a,b);var res=a.sub(b);return res.cmpn(0)<0&&res.iadd(this.m),res._forceRed(this)},Red.prototype.isub=function(a,b){this._verify2(a,b);var res=a.isub(b);return res.cmpn(0)<0&&res.iadd(this.m),res},Red.prototype.shl=function(a,num){return this._verify1(a),this.imod(a.ushln(num))},Red.prototype.imul=function(a,b){return this._verify2(a,b),this.imod(a.imul(b))},Red.prototype.mul=function(a,b){return this._verify2(a,b),this.imod(a.mul(b))},Red.prototype.isqr=function(a){return this.imul(a,a.clone())},Red.prototype.sqr=function(a){return this.mul(a,a)},Red.prototype.sqrt=function(a){if(a.isZero())return a.clone();var mod3=this.m.andln(3);if(assert(mod3%2===1),mod3===3){var pow=this.m.add(new BN(1)).iushrn(2);return this.pow(a,pow)}for(var q=this.m.subn(1),s=0;!q.isZero()&&q.andln(1)===0;)s++,q.iushrn(1);assert(!q.isZero());var one=new BN(1).toRed(this),nOne=one.redNeg(),lpow=this.m.subn(1).iushrn(1),z=this.m.bitLength();for(z=new BN(2*z*z).toRed(this);this.pow(z,lpow).cmp(nOne)!==0;)z.redIAdd(nOne);for(var c=this.pow(z,q),r=this.pow(a,q.addn(1).iushrn(1)),t=this.pow(a,q),m=s;t.cmp(one)!==0;){for(var tmp=t,i=0;tmp.cmp(one)!==0;i++)tmp=tmp.redSqr();assert(i=0;i--){for(var word=num.words[i],j=start-1;j>=0;j--){var bit=word>>j&1;if(res!==wnd[0]&&(res=this.sqr(res)),bit===0&¤t===0){currentLen=0;continue}current<<=1,current|=bit,currentLen++,!(currentLen!==windowSize&&(i!==0||j!==0))&&(res=this.mul(res,wnd[current]),currentLen=0,current=0)}start=26}return res},Red.prototype.convertTo=function(num){var r=num.umod(this.m);return r===num\?r.clone():r},Red.prototype.convertFrom=function(num){var res=num.clone();return res.red=null,res},BN.mont=function(num){return new Mont(num)};function Mont(m){Red.call(this,m),this.shift=this.m.bitLength(),this.shift%26!==0&&(this.shift+=26-this.shift%26),this.r=new BN(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}inherits(Mont,Red),Mont.prototype.convertTo=function(num){return this.imod(num.ushln(this.shift))},Mont.prototype.convertFrom=function(num){var r=this.imod(num.mul(this.rinv));return r.red=null,r},Mont.prototype.imul=function(a,b){if(a.isZero()||b.isZero())return a.words[0]=0,a.length=1,a;var t=a.imul(b),c=t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),u=t.isub(c).iushrn(this.shift),res=u;return u.cmp(this.m)>=0\?res=u.isub(this.m):u.cmpn(0)<0&&(res=u.iadd(this.m)),res._forceRed(this)},Mont.prototype.mul=function(a,b){if(a.isZero()||b.isZero())return new BN(0)._forceRed(this);var t=a.mul(b),c=t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),u=t.isub(c).iushrn(this.shift),res=u;return u.cmp(this.m)>=0\?res=u.isub(this.m):u.cmpn(0)<0&&(res=u.iadd(this.m)),res._forceRed(this)},Mont.prototype.invm=function(a){var res=this.imod(a._invmp(this.m).mul(this.r2));return res._forceRed(this)}})(typeof module>\"u\"||module,exports)}}),require_utils2=__commonJS({\"node_modules/minimalistic-crypto-utils/lib/utils.js\"(exports){var utils=exports;function toArray(msg,enc){if(Array.isArray(msg))return msg.slice();if(!msg)return[];var res=[];if(typeof msg!=\"string\"){for(var i=0;i>8,lo=c&255;hi\?res.push(hi,lo):res.push(lo)}return res}utils.toArray=toArray;function zero2(word){return word.length===1\?\"0\"+word:word}utils.zero2=zero2;function toHex(msg){for(var res=\"\",i=0;i(ws>>1)-1\?z=(ws>>1)-mod:z=mod,k.isubn(z)):z=0,naf[i]=z,k.iushrn(1)}return naf}utils.getNAF=getNAF;function getJSF(k1,k2){var jsf=[[],[]];k1=k1.clone(),k2=k2.clone();for(var d1=0,d2=0,m8;k1.cmpn(-d1)>0||k2.cmpn(-d2)>0;){var m14=k1.andln(3)+d1&3,m24=k2.andln(3)+d2&3;m14===3&&(m14=-1),m24===3&&(m24=-1);var u1;(m14&1)===0\?u1=0:(m8=k1.andln(7)+d1&7,(m8===3||m8===5)&&m24===2\?u1=-m14:u1=m14),jsf[0].push(u1);var u2;(m24&1)===0\?u2=0:(m8=k2.andln(7)+d2&7,(m8===3||m8===5)&&m14===2\?u2=-m24:u2=m24),jsf[1].push(u2),2*d1===u1+1&&(d1=1-d1),2*d2===u2+1&&(d2=1-d2),k1.iushrn(1),k2.iushrn(1)}return jsf}utils.getJSF=getJSF;function cachedProperty(obj,name,computer){var key=\"_\"+name;obj.prototype[name]=function(){return this[key]!==void 0\?this[key]:this[key]=computer.call(this)}}utils.cachedProperty=cachedProperty;function parseBytes(bytes){return typeof bytes==\"string\"\?utils.toArray(bytes,\"hex\"):bytes}utils.parseBytes=parseBytes;function intFromLE(bytes){return new BN(bytes,\"hex\",\"le\")}utils.intFromLE=intFromLE}}),require_base=__commonJS({\"node_modules/elliptic/lib/elliptic/curve/base.js\"(exports,module){var BN=require_bn4(),utils=require_utils3(),getNAF=utils.getNAF,getJSF=utils.getJSF,assert=utils.assert;function BaseCurve(type,conf){this.type=type,this.p=new BN(conf.p,16),this.red=conf.prime\?BN.red(conf.prime):BN.mont(this.p),this.zero=new BN(0).toRed(this.red),this.one=new BN(1).toRed(this.red),this.two=new BN(2).toRed(this.red),this.n=conf.n&&new BN(conf.n,16),this.g=conf.g&&this.pointFromJSON(conf.g,conf.gRed),this._wnafT1=new Array(4),this._wnafT2=new Array(4),this._wnafT3=new Array(4),this._wnafT4=new Array(4),this._bitLength=this.n\?this.n.bitLength():0;var adjustCount=this.n&&this.p.div(this.n);!adjustCount||adjustCount.cmpn(100)>0\?this.redN=null:(this._maxwellTrick=!0,this.redN=this.n.toRed(this.red))}module.exports=BaseCurve,BaseCurve.prototype.point=function(){throw new Error(\"Not implemented\")},BaseCurve.prototype.validate=function(){throw new Error(\"Not implemented\")},BaseCurve.prototype._fixedNafMul=function(p,k){assert(p.precomputed);var doubles=p._getDoubles(),naf=getNAF(k,1,this._bitLength),I=(1<=j;l--)nafW=(nafW<<1)+naf[l];repr.push(nafW)}for(var a=this.jpoint(null,null,null),b=this.jpoint(null,null,null),i=I;i>0;i--){for(j=0;j=0;i--){for(var l=0;i>=0&&naf[i]===0;i--)l++;if(i>=0&&l++,acc=acc.dblp(l),i<0)break;var z=naf[i];assert(z!==0),p.type===\"affine\"\?z>0\?acc=acc.mixedAdd(wnd[z-1>>1]):acc=acc.mixedAdd(wnd[-z-1>>1].neg()):z>0\?acc=acc.add(wnd[z-1>>1]):acc=acc.add(wnd[-z-1>>1].neg())}return p.type===\"affine\"\?acc.toP():acc},BaseCurve.prototype._wnafMulAdd=function(defW,points,coeffs,len,jacobianResult){var wndWidth=this._wnafT1,wnd=this._wnafT2,naf=this._wnafT3,max=0,i,j,p;for(i=0;i=1;i-=2){var a=i-1,b=i;if(wndWidth[a]!==1||wndWidth[b]!==1){naf[a]=getNAF(coeffs[a],wndWidth[a],this._bitLength),naf[b]=getNAF(coeffs[b],wndWidth[b],this._bitLength),max=Math.max(naf[a].length,max),max=Math.max(naf[b].length,max);continue}var comb=[points[a],null,null,points[b]];points[a].y.cmp(points[b].y)===0\?(comb[1]=points[a].add(points[b]),comb[2]=points[a].toJ().mixedAdd(points[b].neg())):points[a].y.cmp(points[b].y.redNeg())===0\?(comb[1]=points[a].toJ().mixedAdd(points[b]),comb[2]=points[a].add(points[b].neg())):(comb[1]=points[a].toJ().mixedAdd(points[b]),comb[2]=points[a].toJ().mixedAdd(points[b].neg()));var index=[-3,-1,-5,-7,0,7,5,1,3],jsf=getJSF(coeffs[a],coeffs[b]);for(max=Math.max(jsf[0].length,max),naf[a]=new Array(max),naf[b]=new Array(max),j=0;j=0;i--){for(var k=0;i>=0;){var zero=!0;for(j=0;j=0&&k++,acc=acc.dblp(k),i<0)break;for(j=0;j0\?p=wnd[j][z-1>>1]:z<0&&(p=wnd[j][-z-1>>1].neg()),p.type===\"affine\"\?acc=acc.mixedAdd(p):acc=acc.add(p))}}for(i=0;i=Math.ceil((k.bitLength()+1)/doubles.step):!1},BasePoint.prototype._getDoubles=function(step,power){if(this.precomputed&&this.precomputed.doubles)return this.precomputed.doubles;for(var doubles=[this],acc=this,i=0;i=0&&(a2=a0,b2=b0),a1.negative&&(a1=a1.neg(),b1=b1.neg()),a2.negative&&(a2=a2.neg(),b2=b2.neg()),[{a:a1,b:b1},{a:a2,b:b2}]},ShortCurve.prototype._endoSplit=function(k){var basis=this.endo.basis,v1=basis[0],v2=basis[1],c1=v2.b.mul(k).divRound(this.n),c2=v1.b.neg().mul(k).divRound(this.n),p1=c1.mul(v1.a),p2=c2.mul(v2.a),q1=c1.mul(v1.b),q2=c2.mul(v2.b),k1=k.sub(p1).sub(p2),k2=q1.add(q2).neg();return{k1,k2}},ShortCurve.prototype.pointFromX=function(x,odd){x=new BN(x,16),x.red||(x=x.toRed(this.red));var y2=x.redSqr().redMul(x).redIAdd(x.redMul(this.a)).redIAdd(this.b),y=y2.redSqrt();if(y.redSqr().redSub(y2).cmp(this.zero)!==0)throw new Error(\"invalid point\");var isOdd=y.fromRed().isOdd();return(odd&&!isOdd||!odd&&isOdd)&&(y=y.redNeg()),this.point(x,y)},ShortCurve.prototype.validate=function(point){if(point.inf)return!0;var{x,y}=point,ax=this.a.redMul(x),rhs=x.redSqr().redMul(x).redIAdd(ax).redIAdd(this.b);return y.redSqr().redISub(rhs).cmpn(0)===0},ShortCurve.prototype._endoWnafMulAdd=function(points,coeffs,jacobianResult){for(var npoints=this._endoWnafT1,ncoeffs=this._endoWnafT2,i=0;i\":\"\"},Point.prototype.isInfinity=function(){return this.inf},Point.prototype.add=function(p){if(this.inf)return p;if(p.inf)return this;if(this.eq(p))return this.dbl();if(this.neg().eq(p))return this.curve.point(null,null);if(this.x.cmp(p.x)===0)return this.curve.point(null,null);var c=this.y.redSub(p.y);c.cmpn(0)!==0&&(c=c.redMul(this.x.redSub(p.x).redInvm()));var nx=c.redSqr().redISub(this.x).redISub(p.x),ny=c.redMul(this.x.redSub(nx)).redISub(this.y);return this.curve.point(nx,ny)},Point.prototype.dbl=function(){if(this.inf)return this;var ys1=this.y.redAdd(this.y);if(ys1.cmpn(0)===0)return this.curve.point(null,null);var a=this.curve.a,x2=this.x.redSqr(),dyinv=ys1.redInvm(),c=x2.redAdd(x2).redIAdd(x2).redIAdd(a).redMul(dyinv),nx=c.redSqr().redISub(this.x.redAdd(this.x)),ny=c.redMul(this.x.redSub(nx)).redISub(this.y);return this.curve.point(nx,ny)},Point.prototype.getX=function(){return this.x.fromRed()},Point.prototype.getY=function(){return this.y.fromRed()},Point.prototype.mul=function(k){return k=new BN(k,16),this.isInfinity()\?this:this._hasDoubles(k)\?this.curve._fixedNafMul(this,k):this.curve.endo\?this.curve._endoWnafMulAdd([this],[k]):this.curve._wnafMul(this,k)},Point.prototype.mulAdd=function(k1,p2,k2){var points=[this,p2],coeffs=[k1,k2];return this.curve.endo\?this.curve._endoWnafMulAdd(points,coeffs):this.curve._wnafMulAdd(1,points,coeffs,2)},Point.prototype.jmulAdd=function(k1,p2,k2){var points=[this,p2],coeffs=[k1,k2];return this.curve.endo\?this.curve._endoWnafMulAdd(points,coeffs,!0):this.curve._wnafMulAdd(1,points,coeffs,2,!0)},Point.prototype.eq=function(p){return this===p||this.inf===p.inf&&(this.inf||this.x.cmp(p.x)===0&&this.y.cmp(p.y)===0)},Point.prototype.neg=function(_precompute){if(this.inf)return this;var res=this.curve.point(this.x,this.y.redNeg());if(_precompute&&this.precomputed){var pre=this.precomputed,negate=function(p){return p.neg()};res.precomputed={naf:pre.naf&&{wnd:pre.naf.wnd,points:pre.naf.points.map(negate)},doubles:pre.doubles&&{step:pre.doubles.step,points:pre.doubles.points.map(negate)}}}return res},Point.prototype.toJ=function(){if(this.inf)return this.curve.jpoint(null,null,null);var res=this.curve.jpoint(this.x,this.y,this.curve.one);return res};function JPoint(curve,x,y,z){Base.BasePoint.call(this,curve,\"jacobian\"),x===null&&y===null&&z===null\?(this.x=this.curve.one,this.y=this.curve.one,this.z=new BN(0)):(this.x=new BN(x,16),this.y=new BN(y,16),this.z=new BN(z,16)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.zOne=this.z===this.curve.one}inherits(JPoint,Base.BasePoint),ShortCurve.prototype.jpoint=function(x,y,z){return new JPoint(this,x,y,z)},JPoint.prototype.toP=function(){if(this.isInfinity())return this.curve.point(null,null);var zinv=this.z.redInvm(),zinv2=zinv.redSqr(),ax=this.x.redMul(zinv2),ay=this.y.redMul(zinv2).redMul(zinv);return this.curve.point(ax,ay)},JPoint.prototype.neg=function(){return this.curve.jpoint(this.x,this.y.redNeg(),this.z)},JPoint.prototype.add=function(p){if(this.isInfinity())return p;if(p.isInfinity())return this;var pz2=p.z.redSqr(),z2=this.z.redSqr(),u1=this.x.redMul(pz2),u2=p.x.redMul(z2),s1=this.y.redMul(pz2.redMul(p.z)),s2=p.y.redMul(z2.redMul(this.z)),h=u1.redSub(u2),r=s1.redSub(s2);if(h.cmpn(0)===0)return r.cmpn(0)!==0\?this.curve.jpoint(null,null,null):this.dbl();var h2=h.redSqr(),h3=h2.redMul(h),v=u1.redMul(h2),nx=r.redSqr().redIAdd(h3).redISub(v).redISub(v),ny=r.redMul(v.redISub(nx)).redISub(s1.redMul(h3)),nz=this.z.redMul(p.z).redMul(h);return this.curve.jpoint(nx,ny,nz)},JPoint.prototype.mixedAdd=function(p){if(this.isInfinity())return p.toJ();if(p.isInfinity())return this;var z2=this.z.redSqr(),u1=this.x,u2=p.x.redMul(z2),s1=this.y,s2=p.y.redMul(z2).redMul(this.z),h=u1.redSub(u2),r=s1.redSub(s2);if(h.cmpn(0)===0)return r.cmpn(0)!==0\?this.curve.jpoint(null,null,null):this.dbl();var h2=h.redSqr(),h3=h2.redMul(h),v=u1.redMul(h2),nx=r.redSqr().redIAdd(h3).redISub(v).redISub(v),ny=r.redMul(v.redISub(nx)).redISub(s1.redMul(h3)),nz=this.z.redMul(h);return this.curve.jpoint(nx,ny,nz)},JPoint.prototype.dblp=function(pow){if(pow===0)return this;if(this.isInfinity())return this;if(!pow)return this.dbl();var i;if(this.curve.zeroA||this.curve.threeA){var r=this;for(i=0;i=0)return!1;if(rx.redIAdd(t),this.x.cmp(rx)===0)return!0}},JPoint.prototype.inspect=function(){return this.isInfinity()\?\"\":\"\"},JPoint.prototype.isInfinity=function(){return this.z.cmpn(0)===0}}}),require_mont=__commonJS({\"node_modules/elliptic/lib/elliptic/curve/mont.js\"(exports,module){var BN=require_bn4(),inherits=require_inherits_browser(),Base=require_base(),utils=require_utils3();function MontCurve(conf){Base.call(this,\"mont\",conf),this.a=new BN(conf.a,16).toRed(this.red),this.b=new BN(conf.b,16).toRed(this.red),this.i4=new BN(4).toRed(this.red).redInvm(),this.two=new BN(2).toRed(this.red),this.a24=this.i4.redMul(this.a.redAdd(this.two))}inherits(MontCurve,Base),module.exports=MontCurve,MontCurve.prototype.validate=function(point){var x=point.normalize().x,x2=x.redSqr(),rhs=x2.redMul(x).redAdd(x2.redMul(this.a)).redAdd(x),y=rhs.redSqrt();return y.redSqr().cmp(rhs)===0};function Point(curve,x,z){Base.BasePoint.call(this,curve,\"projective\"),x===null&&z===null\?(this.x=this.curve.one,this.z=this.curve.zero):(this.x=new BN(x,16),this.z=new BN(z,16),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)))}inherits(Point,Base.BasePoint),MontCurve.prototype.decodePoint=function(bytes,enc){return this.point(utils.toArray(bytes,enc),1)},MontCurve.prototype.point=function(x,z){return new Point(this,x,z)},MontCurve.prototype.pointFromJSON=function(obj){return Point.fromJSON(this,obj)},Point.prototype.precompute=function(){},Point.prototype._encode=function(){return this.getX().toArray(\"be\",this.curve.p.byteLength())},Point.fromJSON=function(curve,obj){return new Point(curve,obj[0],obj[1]||curve.one)},Point.prototype.inspect=function(){return this.isInfinity()\?\"\":\"\"},Point.prototype.isInfinity=function(){return this.z.cmpn(0)===0},Point.prototype.dbl=function(){var a=this.x.redAdd(this.z),aa=a.redSqr(),b=this.x.redSub(this.z),bb=b.redSqr(),c=aa.redSub(bb),nx=aa.redMul(bb),nz=c.redMul(bb.redAdd(this.curve.a24.redMul(c)));return this.curve.point(nx,nz)},Point.prototype.add=function(){throw new Error(\"Not supported on Montgomery curve\")},Point.prototype.diffAdd=function(p,diff){var a=this.x.redAdd(this.z),b=this.x.redSub(this.z),c=p.x.redAdd(p.z),d=p.x.redSub(p.z),da=d.redMul(a),cb=c.redMul(b),nx=diff.z.redMul(da.redAdd(cb).redSqr()),nz=diff.x.redMul(da.redISub(cb).redSqr());return this.curve.point(nx,nz)},Point.prototype.mul=function(k){for(var t=k.clone(),a=this,b=this.curve.point(null,null),c=this,bits=[];t.cmpn(0)!==0;t.iushrn(1))bits.push(t.andln(1));for(var i=bits.length-1;i>=0;i--)bits[i]===0\?(a=a.diffAdd(b,c),b=b.dbl()):(b=a.diffAdd(b,c),a=a.dbl());return b},Point.prototype.mulAdd=function(){throw new Error(\"Not supported on Montgomery curve\")},Point.prototype.jumlAdd=function(){throw new Error(\"Not supported on Montgomery curve\")},Point.prototype.eq=function(other){return this.getX().cmp(other.getX())===0},Point.prototype.normalize=function(){return this.x=this.x.redMul(this.z.redInvm()),this.z=this.curve.one,this},Point.prototype.getX=function(){return this.normalize(),this.x.fromRed()}}}),require_edwards=__commonJS({\"node_modules/elliptic/lib/elliptic/curve/edwards.js\"(exports,module){var utils=require_utils3(),BN=require_bn4(),inherits=require_inherits_browser(),Base=require_base(),assert=utils.assert;function EdwardsCurve(conf){this.twisted=(conf.a|0)!==1,this.mOneA=this.twisted&&(conf.a|0)===-1,this.extended=this.mOneA,Base.call(this,\"edwards\",conf),this.a=new BN(conf.a,16).umod(this.red.m),this.a=this.a.toRed(this.red),this.c=new BN(conf.c,16).toRed(this.red),this.c2=this.c.redSqr(),this.d=new BN(conf.d,16).toRed(this.red),this.dd=this.d.redAdd(this.d),assert(!this.twisted||this.c.fromRed().cmpn(1)===0),this.oneC=(conf.c|0)===1}inherits(EdwardsCurve,Base),module.exports=EdwardsCurve,EdwardsCurve.prototype._mulA=function(num){return this.mOneA\?num.redNeg():this.a.redMul(num)},EdwardsCurve.prototype._mulC=function(num){return this.oneC\?num:this.c.redMul(num)},EdwardsCurve.prototype.jpoint=function(x,y,z,t){return this.point(x,y,z,t)},EdwardsCurve.prototype.pointFromX=function(x,odd){x=new BN(x,16),x.red||(x=x.toRed(this.red));var x2=x.redSqr(),rhs=this.c2.redSub(this.a.redMul(x2)),lhs=this.one.redSub(this.c2.redMul(this.d).redMul(x2)),y2=rhs.redMul(lhs.redInvm()),y=y2.redSqrt();if(y.redSqr().redSub(y2).cmp(this.zero)!==0)throw new Error(\"invalid point\");var isOdd=y.fromRed().isOdd();return(odd&&!isOdd||!odd&&isOdd)&&(y=y.redNeg()),this.point(x,y)},EdwardsCurve.prototype.pointFromY=function(y,odd){y=new BN(y,16),y.red||(y=y.toRed(this.red));var y2=y.redSqr(),lhs=y2.redSub(this.c2),rhs=y2.redMul(this.d).redMul(this.c2).redSub(this.a),x2=lhs.redMul(rhs.redInvm());if(x2.cmp(this.zero)===0){if(odd)throw new Error(\"invalid point\");return this.point(this.zero,y)}var x=x2.redSqrt();if(x.redSqr().redSub(x2).cmp(this.zero)!==0)throw new Error(\"invalid point\");return x.fromRed().isOdd()!==odd&&(x=x.redNeg()),this.point(x,y)},EdwardsCurve.prototype.validate=function(point){if(point.isInfinity())return!0;point.normalize();var x2=point.x.redSqr(),y2=point.y.redSqr(),lhs=x2.redMul(this.a).redAdd(y2),rhs=this.c2.redMul(this.one.redAdd(this.d.redMul(x2).redMul(y2)));return lhs.cmp(rhs)===0};function Point(curve,x,y,z,t){Base.BasePoint.call(this,curve,\"projective\"),x===null&&y===null&&z===null\?(this.x=this.curve.zero,this.y=this.curve.one,this.z=this.curve.one,this.t=this.curve.zero,this.zOne=!0):(this.x=new BN(x,16),this.y=new BN(y,16),this.z=z\?new BN(z,16):this.curve.one,this.t=t&&new BN(t,16),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.t&&!this.t.red&&(this.t=this.t.toRed(this.curve.red)),this.zOne=this.z===this.curve.one,this.curve.extended&&!this.t&&(this.t=this.x.redMul(this.y),this.zOne||(this.t=this.t.redMul(this.z.redInvm()))))}inherits(Point,Base.BasePoint),EdwardsCurve.prototype.pointFromJSON=function(obj){return Point.fromJSON(this,obj)},EdwardsCurve.prototype.point=function(x,y,z,t){return new Point(this,x,y,z,t)},Point.fromJSON=function(curve,obj){return new Point(curve,obj[0],obj[1],obj[2])},Point.prototype.inspect=function(){return this.isInfinity()\?\"\":\"\"},Point.prototype.isInfinity=function(){return this.x.cmpn(0)===0&&(this.y.cmp(this.z)===0||this.zOne&&this.y.cmp(this.curve.c)===0)},Point.prototype._extDbl=function(){var a=this.x.redSqr(),b=this.y.redSqr(),c=this.z.redSqr();c=c.redIAdd(c);var d=this.curve._mulA(a),e=this.x.redAdd(this.y).redSqr().redISub(a).redISub(b),g=d.redAdd(b),f=g.redSub(c),h=d.redSub(b),nx=e.redMul(f),ny=g.redMul(h),nt=e.redMul(h),nz=f.redMul(g);return this.curve.point(nx,ny,nz,nt)},Point.prototype._projDbl=function(){var b=this.x.redAdd(this.y).redSqr(),c=this.x.redSqr(),d=this.y.redSqr(),nx,ny,nz,e,h,j;if(this.curve.twisted){e=this.curve._mulA(c);var f=e.redAdd(d);this.zOne\?(nx=b.redSub(c).redSub(d).redMul(f.redSub(this.curve.two)),ny=f.redMul(e.redSub(d)),nz=f.redSqr().redSub(f).redSub(f)):(h=this.z.redSqr(),j=f.redSub(h).redISub(h),nx=b.redSub(c).redISub(d).redMul(j),ny=f.redMul(e.redSub(d)),nz=f.redMul(j))}else e=c.redAdd(d),h=this.curve._mulC(this.z).redSqr(),j=e.redSub(h).redSub(h),nx=this.curve._mulC(b.redISub(e)).redMul(j),ny=this.curve._mulC(e).redMul(c.redISub(d)),nz=e.redMul(j);return this.curve.point(nx,ny,nz)},Point.prototype.dbl=function(){return this.isInfinity()\?this:this.curve.extended\?this._extDbl():this._projDbl()},Point.prototype._extAdd=function(p){var a=this.y.redSub(this.x).redMul(p.y.redSub(p.x)),b=this.y.redAdd(this.x).redMul(p.y.redAdd(p.x)),c=this.t.redMul(this.curve.dd).redMul(p.t),d=this.z.redMul(p.z.redAdd(p.z)),e=b.redSub(a),f=d.redSub(c),g=d.redAdd(c),h=b.redAdd(a),nx=e.redMul(f),ny=g.redMul(h),nt=e.redMul(h),nz=f.redMul(g);return this.curve.point(nx,ny,nz,nt)},Point.prototype._projAdd=function(p){var a=this.z.redMul(p.z),b=a.redSqr(),c=this.x.redMul(p.x),d=this.y.redMul(p.y),e=this.curve.d.redMul(c).redMul(d),f=b.redSub(e),g=b.redAdd(e),tmp=this.x.redAdd(this.y).redMul(p.x.redAdd(p.y)).redISub(c).redISub(d),nx=a.redMul(f).redMul(tmp),ny,nz;return this.curve.twisted\?(ny=a.redMul(g).redMul(d.redSub(this.curve._mulA(c))),nz=f.redMul(g)):(ny=a.redMul(g).redMul(d.redSub(c)),nz=this.curve._mulC(f).redMul(g)),this.curve.point(nx,ny,nz)},Point.prototype.add=function(p){return this.isInfinity()\?p:p.isInfinity()\?this:this.curve.extended\?this._extAdd(p):this._projAdd(p)},Point.prototype.mul=function(k){return this._hasDoubles(k)\?this.curve._fixedNafMul(this,k):this.curve._wnafMul(this,k)},Point.prototype.mulAdd=function(k1,p,k2){return this.curve._wnafMulAdd(1,[this,p],[k1,k2],2,!1)},Point.prototype.jmulAdd=function(k1,p,k2){return this.curve._wnafMulAdd(1,[this,p],[k1,k2],2,!0)},Point.prototype.normalize=function(){if(this.zOne)return this;var zi=this.z.redInvm();return this.x=this.x.redMul(zi),this.y=this.y.redMul(zi),this.t&&(this.t=this.t.redMul(zi)),this.z=this.curve.one,this.zOne=!0,this},Point.prototype.neg=function(){return this.curve.point(this.x.redNeg(),this.y,this.z,this.t&&this.t.redNeg())},Point.prototype.getX=function(){return this.normalize(),this.x.fromRed()},Point.prototype.getY=function(){return this.normalize(),this.y.fromRed()},Point.prototype.eq=function(other){return this===other||this.getX().cmp(other.getX())===0&&this.getY().cmp(other.getY())===0},Point.prototype.eqXToP=function(x){var rx=x.toRed(this.curve.red).redMul(this.z);if(this.x.cmp(rx)===0)return!0;for(var xc=x.clone(),t=this.curve.redN.redMul(this.z);;){if(xc.iadd(this.curve.n),xc.cmp(this.curve.p)>=0)return!1;if(rx.redIAdd(t),this.x.cmp(rx)===0)return!0}},Point.prototype.toP=Point.prototype.normalize,Point.prototype.mixedAdd=Point.prototype.add}}),require_curve=__commonJS({\"node_modules/elliptic/lib/elliptic/curve/index.js\"(exports){var curve=exports;curve.base=require_base(),curve.short=require_short(),curve.mont=require_mont(),curve.edwards=require_edwards()}}),require_utils4=__commonJS({\"node_modules/hash.js/lib/hash/utils.js\"(exports){var assert=require_minimalistic_assert(),inherits=require_inherits_browser();exports.inherits=inherits;function isSurrogatePair(msg,i){return(msg.charCodeAt(i)&64512)!==55296||i<0||i+1>=msg.length\?!1:(msg.charCodeAt(i+1)&64512)===56320}function toArray(msg,enc){if(Array.isArray(msg))return msg.slice();if(!msg)return[];var res=[];if(typeof msg==\"string\")if(enc){if(enc===\"hex\")for(msg=msg.replace(/[^a-z0-9]+/gi,\"\"),msg.length%2!==0&&(msg=\"0\"+msg),i=0;i>6|192,res[p++]=c&63|128):isSurrogatePair(msg,i)\?(c=65536+((c&1023)<<10)+(msg.charCodeAt(++i)&1023),res[p++]=c>>18|240,res[p++]=c>>12&63|128,res[p++]=c>>6&63|128,res[p++]=c&63|128):(res[p++]=c>>12|224,res[p++]=c>>6&63|128,res[p++]=c&63|128)}else for(i=0;i>>24|w>>>8&65280|w<<8&16711680|(w&255)<<24;return res>>>0}exports.htonl=htonl;function toHex32(msg,endian){for(var res=\"\",i=0;i>>0}return res}exports.join32=join32;function split32(msg,endian){for(var res=new Array(msg.length*4),i=0,k=0;i>>24,res[k+1]=m>>>16&255,res[k+2]=m>>>8&255,res[k+3]=m&255):(res[k+3]=m>>>24,res[k+2]=m>>>16&255,res[k+1]=m>>>8&255,res[k]=m&255)}return res}exports.split32=split32;function rotr32(w,b){return w>>>b|w<<32-b}exports.rotr32=rotr32;function rotl32(w,b){return w<>>32-b}exports.rotl32=rotl32;function sum32(a,b){return a+b>>>0}exports.sum32=sum32;function sum32_3(a,b,c){return a+b+c>>>0}exports.sum32_3=sum32_3;function sum32_4(a,b,c,d){return a+b+c+d>>>0}exports.sum32_4=sum32_4;function sum32_5(a,b,c,d,e){return a+b+c+d+e>>>0}exports.sum32_5=sum32_5;function sum64(buf,pos,ah,al){var bh=buf[pos],bl=buf[pos+1],lo=al+bl>>>0,hi=(lo>>0,buf[pos+1]=lo}exports.sum64=sum64;function sum64_hi(ah,al,bh,bl){var lo=al+bl>>>0,hi=(lo>>0}exports.sum64_hi=sum64_hi;function sum64_lo(ah,al,bh,bl){var lo=al+bl;return lo>>>0}exports.sum64_lo=sum64_lo;function sum64_4_hi(ah,al,bh,bl,ch,cl,dh,dl){var carry=0,lo=al;lo=lo+bl>>>0,carry+=lo>>0,carry+=lo>>0,carry+=lo>>0}exports.sum64_4_hi=sum64_4_hi;function sum64_4_lo(ah,al,bh,bl,ch,cl,dh,dl){var lo=al+bl+cl+dl;return lo>>>0}exports.sum64_4_lo=sum64_4_lo;function sum64_5_hi(ah,al,bh,bl,ch,cl,dh,dl,eh,el){var carry=0,lo=al;lo=lo+bl>>>0,carry+=lo>>0,carry+=lo>>0,carry+=lo>>0,carry+=lo>>0}exports.sum64_5_hi=sum64_5_hi;function sum64_5_lo(ah,al,bh,bl,ch,cl,dh,dl,eh,el){var lo=al+bl+cl+dl+el;return lo>>>0}exports.sum64_5_lo=sum64_5_lo;function rotr64_hi(ah,al,num){var r=al<<32-num|ah>>>num;return r>>>0}exports.rotr64_hi=rotr64_hi;function rotr64_lo(ah,al,num){var r=ah<<32-num|al>>>num;return r>>>0}exports.rotr64_lo=rotr64_lo;function shr64_hi(ah,al,num){return ah>>>num}exports.shr64_hi=shr64_hi;function shr64_lo(ah,al,num){var r=ah<<32-num|al>>>num;return r>>>0}exports.shr64_lo=shr64_lo}}),require_common=__commonJS({\"node_modules/hash.js/lib/hash/common.js\"(exports){var utils=require_utils4(),assert=require_minimalistic_assert();function BlockHash(){this.pending=null,this.pendingTotal=0,this.blockSize=this.constructor.blockSize,this.outSize=this.constructor.outSize,this.hmacStrength=this.constructor.hmacStrength,this.padLength=this.constructor.padLength/8,this.endian=\"big\",this._delta8=this.blockSize/8,this._delta32=this.blockSize/32}exports.BlockHash=BlockHash,BlockHash.prototype.update=function(msg,enc){if(msg=utils.toArray(msg,enc),this.pending\?this.pending=this.pending.concat(msg):this.pending=msg,this.pendingTotal+=msg.length,this.pending.length>=this._delta8){msg=this.pending;var r=msg.length%this._delta8;this.pending=msg.slice(msg.length-r,msg.length),this.pending.length===0&&(this.pending=null),msg=utils.join32(msg,0,msg.length-r,this.endian);for(var i=0;i>>24&255,res[i++]=len>>>16&255,res[i++]=len>>>8&255,res[i++]=len&255}else for(res[i++]=len&255,res[i++]=len>>>8&255,res[i++]=len>>>16&255,res[i++]=len>>>24&255,res[i++]=0,res[i++]=0,res[i++]=0,res[i++]=0,t=8;t>>3}exports.g0_256=g0_256;function g1_256(x){return rotr32(x,17)^rotr32(x,19)^x>>>10}exports.g1_256=g1_256}}),require__=__commonJS({\"node_modules/hash.js/lib/hash/sha/1.js\"(exports,module){var utils=require_utils4(),common=require_common(),shaCommon=require_common2(),rotl32=utils.rotl32,sum32=utils.sum32,sum32_5=utils.sum32_5,ft_1=shaCommon.ft_1,BlockHash=common.BlockHash,sha1_K=[1518500249,1859775393,2400959708,3395469782];function SHA1(){if(!(this instanceof SHA1))return new SHA1;BlockHash.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.W=new Array(80)}utils.inherits(SHA1,BlockHash),module.exports=SHA1,SHA1.blockSize=512,SHA1.outSize=160,SHA1.hmacStrength=80,SHA1.padLength=64,SHA1.prototype._update=function(msg,start){for(var W=this.W,i=0;i<16;i++)W[i]=msg[start+i];for(;ithis.blockSize&&(key=new this.Hash().update(key).digest()),assert(key.length<=this.blockSize);for(var i=key.length;i=this.minEntropy/8,\"Not enough entropy. Minimum is: \"+this.minEntropy+\" bits\"),this._init(entropy,nonce,pers)}module.exports=HmacDRBG,HmacDRBG.prototype._init=function(entropy,nonce,pers){var seed=entropy.concat(nonce).concat(pers);this.K=new Array(this.outLen/8),this.V=new Array(this.outLen/8);for(var i=0;i=this.minEntropy/8,\"Not enough entropy. Minimum is: \"+this.minEntropy+\" bits\"),this._update(entropy.concat(add||[])),this._reseed=1},HmacDRBG.prototype.generate=function(len,enc,add,addEnc){if(this._reseed>this.reseedInterval)throw new Error(\"Reseed is required\");typeof enc!=\"string\"&&(addEnc=add,add=enc,enc=null),add&&(add=utils.toArray(add,addEnc||\"hex\"),this._update(add));for(var temp=[];temp.length\"}}}),require_signature=__commonJS({\"node_modules/elliptic/lib/elliptic/ec/signature.js\"(exports,module){var BN=require_bn4(),utils=require_utils3(),assert=utils.assert;function Signature(options,enc){if(options instanceof Signature)return options;this._importDER(options,enc)||(assert(options.r&&options.s,\"Signature without r or s\"),this.r=new BN(options.r,16),this.s=new BN(options.s,16),options.recoveryParam===void 0\?this.recoveryParam=null:this.recoveryParam=options.recoveryParam)}module.exports=Signature;function Position(){this.place=0}function getLength(buf,p){var initial=buf[p.place++];if(!(initial&128))return initial;var octetLen=initial&15;if(octetLen===0||octetLen>4)return!1;for(var val=0,i=0,off=p.place;i>>=0;return val<=127\?!1:(p.place=off,val)}function rmPadding(buf){for(var i=0,len=buf.length-1;!buf[i]&&!(buf[i+1]&128)&&i>>3);for(arr.push(octets|128);--octets;)arr.push(len>>>(octets<<3)&255);arr.push(len)}Signature.prototype.toDER=function(enc){var r=this.r.toArray(),s=this.s.toArray();for(r[0]&128&&(r=[0].concat(r)),s[0]&128&&(s=[0].concat(s)),r=rmPadding(r),s=rmPadding(s);!s[0]&&!(s[1]&128);)s=s.slice(1);var arr=[2];constructLength(arr,r.length),arr=arr.concat(r),arr.push(2),constructLength(arr,s.length);var backHalf=arr.concat(s),res=[48];return constructLength(res,backHalf.length),res=res.concat(backHalf),utils.encode(res,enc)}}}),require_ec=__commonJS({\"node_modules/elliptic/lib/elliptic/ec/index.js\"(exports,module){var BN=require_bn4(),HmacDRBG=require_hmac_drbg(),utils=require_utils3(),curves=require_curves(),rand=require_brorand(),assert=utils.assert,KeyPair=require_key(),Signature=require_signature();function EC(options){if(!(this instanceof EC))return new EC(options);typeof options==\"string\"&&(assert(Object.prototype.hasOwnProperty.call(curves,options),\"Unknown curve \"+options),options=curves[options]),options instanceof curves.PresetCurve&&(options={curve:options}),this.curve=options.curve.curve,this.n=this.curve.n,this.nh=this.n.ushrn(1),this.g=this.curve.g,this.g=options.curve.g,this.g.precompute(options.curve.n.bitLength()+1),this.hash=options.hash||options.curve.hash}module.exports=EC,EC.prototype.keyPair=function(options){return new KeyPair(this,options)},EC.prototype.keyFromPrivate=function(priv,enc){return KeyPair.fromPrivate(this,priv,enc)},EC.prototype.keyFromPublic=function(pub,enc){return KeyPair.fromPublic(this,pub,enc)},EC.prototype.genKeyPair=function(options){options||(options={});for(var drbg=new HmacDRBG({hash:this.hash,pers:options.pers,persEnc:options.persEnc||\"utf8\",entropy:options.entropy||rand(this.hash.hmacStrength),entropyEnc:options.entropy&&options.entropyEnc||\"utf8\",nonce:this.n.toArray()}),bytes=this.n.byteLength(),ns2=this.n.sub(new BN(2));;){var priv=new BN(drbg.generate(bytes));if(!(priv.cmp(ns2)>0))return priv.iaddn(1),this.keyFromPrivate(priv)}},EC.prototype._truncateToN=function(msg,truncOnly){var delta=msg.byteLength()*8-this.n.bitLength();return delta>0&&(msg=msg.ushrn(delta)),!truncOnly&&msg.cmp(this.n)>=0\?msg.sub(this.n):msg},EC.prototype.sign=function(msg,key,enc,options){typeof enc==\"object\"&&(options=enc,enc=null),options||(options={}),key=this.keyFromPrivate(key,enc),msg=this._truncateToN(new BN(msg,16));for(var bytes=this.n.byteLength(),bkey=key.getPrivate().toArray(\"be\",bytes),nonce=msg.toArray(\"be\",bytes),drbg=new HmacDRBG({hash:this.hash,entropy:bkey,nonce,pers:options.pers,persEnc:options.persEnc||\"utf8\"}),ns1=this.n.sub(new BN(1)),iter=0;;iter++){var k=options.k\?options.k(iter):new BN(drbg.generate(this.n.byteLength()));if(k=this._truncateToN(k,!0),!(k.cmpn(1)<=0||k.cmp(ns1)>=0)){var kp=this.g.mul(k);if(!kp.isInfinity()){var kpX=kp.getX(),r=kpX.umod(this.n);if(r.cmpn(0)!==0){var s=k.invm(this.n).mul(r.mul(key.getPrivate()).iadd(msg));if(s=s.umod(this.n),s.cmpn(0)!==0){var recoveryParam=(kp.getY().isOdd()\?1:0)|(kpX.cmp(r)!==0\?2:0);return options.canonical&&s.cmp(this.nh)>0&&(s=this.n.sub(s),recoveryParam^=1),new Signature({r,s,recoveryParam})}}}}}},EC.prototype.verify=function(msg,signature,key,enc){msg=this._truncateToN(new BN(msg,16)),key=this.keyFromPublic(key,enc),signature=new Signature(signature,\"hex\");var{r,s}=signature;if(r.cmpn(1)<0||r.cmp(this.n)>=0||s.cmpn(1)<0||s.cmp(this.n)>=0)return!1;var sinv=s.invm(this.n),u1=sinv.mul(msg).umod(this.n),u2=sinv.mul(r).umod(this.n),p;return this.curve._maxwellTrick\?(p=this.g.jmulAdd(u1,key.getPublic(),u2),p.isInfinity()\?!1:p.eqXToP(r)):(p=this.g.mulAdd(u1,key.getPublic(),u2),p.isInfinity()\?!1:p.getX().umod(this.n).cmp(r)===0)},EC.prototype.recoverPubKey=function(msg,signature,j,enc){assert((3&j)===j,\"The recovery param is more than two bits\"),signature=new Signature(signature,enc);var n=this.n,e=new BN(msg),r=signature.r,s=signature.s,isYOdd=j&1,isSecondKey=j>>1;if(r.cmp(this.curve.p.umod(this.curve.n))>=0&&isSecondKey)throw new Error(\"Unable to find sencond key candinate\");isSecondKey\?r=this.curve.pointFromX(r.add(this.curve.n),isYOdd):r=this.curve.pointFromX(r,isYOdd);var rInv=signature.r.invm(n),s1=n.sub(e).mul(rInv).umod(n),s2=s.mul(rInv).umod(n);return this.g.mulAdd(s1,r,s2)},EC.prototype.getKeyRecoveryParam=function(e,signature,Q,enc){if(signature=new Signature(signature,enc),signature.recoveryParam!==null)return signature.recoveryParam;for(var i=0;i<4;i++){var Qprime;try{Qprime=this.recoverPubKey(e,signature,i)}catch{continue}if(Qprime.eq(Q))return i}throw new Error(\"Unable to find valid recovery factor\")}}}),require_key2=__commonJS({\"node_modules/elliptic/lib/elliptic/eddsa/key.js\"(exports,module){var utils=require_utils3(),assert=utils.assert,parseBytes=utils.parseBytes,cachedProperty=utils.cachedProperty;function KeyPair(eddsa,params){this.eddsa=eddsa,this._secret=parseBytes(params.secret),eddsa.isPoint(params.pub)\?this._pub=params.pub:this._pubBytes=parseBytes(params.pub)}KeyPair.fromPublic=function(eddsa,pub){return pub instanceof KeyPair\?pub:new KeyPair(eddsa,{pub})},KeyPair.fromSecret=function(eddsa,secret){return secret instanceof KeyPair\?secret:new KeyPair(eddsa,{secret})},KeyPair.prototype.secret=function(){return this._secret},cachedProperty(KeyPair,\"pubBytes\",function(){return this.eddsa.encodePoint(this.pub())}),cachedProperty(KeyPair,\"pub\",function(){return this._pubBytes\?this.eddsa.decodePoint(this._pubBytes):this.eddsa.g.mul(this.priv())}),cachedProperty(KeyPair,\"privBytes\",function(){var eddsa=this.eddsa,hash=this.hash(),lastIx=eddsa.encodingLength-1,a=hash.slice(0,eddsa.encodingLength);return a[0]&=248,a[lastIx]&=127,a[lastIx]|=64,a}),cachedProperty(KeyPair,\"priv\",function(){return this.eddsa.decodeInt(this.privBytes())}),cachedProperty(KeyPair,\"hash\",function(){return this.eddsa.hash().update(this.secret()).digest()}),cachedProperty(KeyPair,\"messagePrefix\",function(){return this.hash().slice(this.eddsa.encodingLength)}),KeyPair.prototype.sign=function(message){return assert(this._secret,\"KeyPair can only verify\"),this.eddsa.sign(message,this)},KeyPair.prototype.verify=function(message,sig){return this.eddsa.verify(message,sig,this)},KeyPair.prototype.getSecret=function(enc){return assert(this._secret,\"KeyPair is public only\"),utils.encode(this.secret(),enc)},KeyPair.prototype.getPublic=function(enc){return utils.encode(this.pubBytes(),enc)},module.exports=KeyPair}}),require_signature2=__commonJS({\"node_modules/elliptic/lib/elliptic/eddsa/signature.js\"(exports,module){var BN=require_bn4(),utils=require_utils3(),assert=utils.assert,cachedProperty=utils.cachedProperty,parseBytes=utils.parseBytes;function Signature(eddsa,sig){this.eddsa=eddsa,typeof sig!=\"object\"&&(sig=parseBytes(sig)),Array.isArray(sig)&&(sig={R:sig.slice(0,eddsa.encodingLength),S:sig.slice(eddsa.encodingLength)}),assert(sig.R&&sig.S,\"Signature without R or S\"),eddsa.isPoint(sig.R)&&(this._R=sig.R),sig.S instanceof BN&&(this._S=sig.S),this._Rencoded=Array.isArray(sig.R)\?sig.R:sig.Rencoded,this._Sencoded=Array.isArray(sig.S)\?sig.S:sig.Sencoded}cachedProperty(Signature,\"S\",function(){return this.eddsa.decodeInt(this.Sencoded())}),cachedProperty(Signature,\"R\",function(){return this.eddsa.decodePoint(this.Rencoded())}),cachedProperty(Signature,\"Rencoded\",function(){return this.eddsa.encodePoint(this.R())}),cachedProperty(Signature,\"Sencoded\",function(){return this.eddsa.encodeInt(this.S())}),Signature.prototype.toBytes=function(){return this.Rencoded().concat(this.Sencoded())},Signature.prototype.toHex=function(){return utils.encode(this.toBytes(),\"hex\").toUpperCase()},module.exports=Signature}}),require_eddsa=__commonJS({\"node_modules/elliptic/lib/elliptic/eddsa/index.js\"(exports,module){var hash=require_hash2(),curves=require_curves(),utils=require_utils3(),assert=utils.assert,parseBytes=utils.parseBytes,KeyPair=require_key2(),Signature=require_signature2();function EDDSA(curve){if(assert(curve===\"ed25519\",\"only tested with ed25519 so far\"),!(this instanceof EDDSA))return new EDDSA(curve);curve=curves[curve].curve,this.curve=curve,this.g=curve.g,this.g.precompute(curve.n.bitLength()+1),this.pointClass=curve.point().constructor,this.encodingLength=Math.ceil(curve.n.bitLength()/8),this.hash=hash.sha512}module.exports=EDDSA,EDDSA.prototype.sign=function(message,secret){message=parseBytes(message);var key=this.keyFromSecret(secret),r=this.hashInt(key.messagePrefix(),message),R=this.g.mul(r),Rencoded=this.encodePoint(R),s_=this.hashInt(Rencoded,key.pubBytes(),message).mul(key.priv()),S=r.add(s_).umod(this.curve.n);return this.makeSignature({R,S,Rencoded})},EDDSA.prototype.verify=function(message,sig,pub){message=parseBytes(message),sig=this.makeSignature(sig);var key=this.keyFromPublic(pub),h=this.hashInt(sig.Rencoded(),key.pubBytes(),message),SG=this.g.mul(sig.S()),RplusAh=sig.R().add(key.pub().mul(h));return RplusAh.eq(SG)},EDDSA.prototype.hashInt=function(){for(var hash2=this.hash(),i=0;i0\?left:right},BN.min=function(left,right){return left.cmp(right)<0\?left:right},BN.prototype._init=function(number,base,endian){if(typeof number==\"number\")return this._initNumber(number,base,endian);if(typeof number==\"object\")return this._initArray(number,base,endian);base===\"hex\"&&(base=16),assert(base===(base|0)&&base>=2&&base<=36),number=number.toString().replace(/\\s+/g,\"\");var start=0;number[0]===\"-\"&&(start++,this.negative=1),start=0;i-=3)w=number[i]|number[i-1]<<8|number[i-2]<<16,this.words[j]|=w<>>26-off&67108863,off+=24,off>=26&&(off-=26,j++);else if(endian===\"le\")for(i=0,j=0;i>>26-off&67108863,off+=24,off>=26&&(off-=26,j++);return this.strip()};function parseHex4Bits(string,index){var c=string.charCodeAt(index);return c>=65&&c<=70\?c-55:c>=97&&c<=102\?c-87:c-48&15}function parseHexByte(string,lowerBound,index){var r=parseHex4Bits(string,index);return index-1>=lowerBound&&(r|=parseHex4Bits(string,index-1)<<4),r}BN.prototype._parseHex=function(number,start,endian){this.length=Math.ceil((number.length-start)/6),this.words=new Array(this.length);for(var i=0;i=start;i-=2)w=parseHexByte(number,start,i)<=18\?(off-=18,j+=1,this.words[j]|=w>>>26):off+=8;else{var parseLength=number.length-start;for(i=parseLength%2===0\?start+1:start;i=18\?(off-=18,j+=1,this.words[j]|=w>>>26):off+=8}this.strip()};function parseBase(str,start,end,mul){for(var r=0,len=Math.min(str.length,end),i=start;i=49\?r+=c-49+10:c>=17\?r+=c-17+10:r+=c}return r}BN.prototype._parseBase=function(number,base,start){this.words=[0],this.length=1;for(var limbLen=0,limbPow=1;limbPow<=67108863;limbPow*=base)limbLen++;limbLen--,limbPow=limbPow/base|0;for(var total=number.length-start,mod=total%limbLen,end=Math.min(total,total-mod)+start,word=0,i=start;i1&&this.words[this.length-1]===0;)this.length--;return this._normSign()},BN.prototype._normSign=function(){return this.length===1&&this.words[0]===0&&(this.negative=0),this},BN.prototype.inspect=function(){return(this.red\?\"\"};var zeros=[\"\",\"0\",\"00\",\"000\",\"0000\",\"00000\",\"000000\",\"0000000\",\"00000000\",\"000000000\",\"0000000000\",\"00000000000\",\"000000000000\",\"0000000000000\",\"00000000000000\",\"000000000000000\",\"0000000000000000\",\"00000000000000000\",\"000000000000000000\",\"0000000000000000000\",\"00000000000000000000\",\"000000000000000000000\",\"0000000000000000000000\",\"00000000000000000000000\",\"000000000000000000000000\",\"0000000000000000000000000\"],groupSizes=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],groupBases=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64000000,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,24300000,28629151,33554432,39135393,45435424,52521875,60466176];BN.prototype.toString=function(base,padding){base=base||10,padding=padding|0||1;var out;if(base===16||base===\"hex\"){out=\"\";for(var off=0,carry=0,i=0;i>>24-off&16777215,carry!==0||i!==this.length-1\?out=zeros[6-word.length]+word+out:out=word+out,off+=2,off>=26&&(off-=26,i--)}for(carry!==0&&(out=carry.toString(16)+out);out.length%padding!==0;)out=\"0\"+out;return this.negative!==0&&(out=\"-\"+out),out}if(base===(base|0)&&base>=2&&base<=36){var groupSize=groupSizes[base],groupBase=groupBases[base];out=\"\";var c=this.clone();for(c.negative=0;!c.isZero();){var r=c.modn(groupBase).toString(base);c=c.idivn(groupBase),c.isZero()\?out=r+out:out=zeros[groupSize-r.length]+r+out}for(this.isZero()&&(out=\"0\"+out);out.length%padding!==0;)out=\"0\"+out;return this.negative!==0&&(out=\"-\"+out),out}assert(!1,\"Base should be between 2 and 36\")},BN.prototype.toNumber=function(){var ret=this.words[0];return this.length===2\?ret+=this.words[1]*67108864:this.length===3&&this.words[2]===1\?ret+=4503599627370496+this.words[1]*67108864:this.length>2&&assert(!1,\"Number can only safely store up to 53 bits\"),this.negative!==0\?-ret:ret},BN.prototype.toJSON=function(){return this.toString(16)},BN.prototype.toBuffer=function(endian,length){return assert(typeof Buffer2<\"u\"),this.toArrayLike(Buffer2,endian,length)},BN.prototype.toArray=function(endian,length){return this.toArrayLike(Array,endian,length)},BN.prototype.toArrayLike=function(ArrayType,endian,length){var byteLength=this.byteLength(),reqLength=length||Math.max(1,byteLength);assert(byteLength<=reqLength,\"byte array longer than desired length\"),assert(reqLength>0,\"Requested array length <= 0\"),this.strip();var littleEndian=endian===\"le\",res=new ArrayType(reqLength),b,i,q=this.clone();if(littleEndian){for(i=0;!q.isZero();i++)b=q.andln(255),q.iushrn(8),res[i]=b;for(;i=4096&&(r+=13,t>>>=13),t>=64&&(r+=7,t>>>=7),t>=8&&(r+=4,t>>>=4),t>=2&&(r+=2,t>>>=2),r+t},BN.prototype._zeroBits=function(w){if(w===0)return 26;var t=w,r=0;return(t&8191)===0&&(r+=13,t>>>=13),(t&127)===0&&(r+=7,t>>>=7),(t&15)===0&&(r+=4,t>>>=4),(t&3)===0&&(r+=2,t>>>=2),(t&1)===0&&r++,r},BN.prototype.bitLength=function(){var w=this.words[this.length-1],hi=this._countBits(w);return(this.length-1)*26+hi};function toBitArray(num){for(var w=new Array(num.bitLength()),bit=0;bit>>wbit}return w}BN.prototype.zeroBits=function(){if(this.isZero())return 0;for(var r=0,i=0;inum.length\?this.clone().ior(num):num.clone().ior(this)},BN.prototype.uor=function(num){return this.length>num.length\?this.clone().iuor(num):num.clone().iuor(this)},BN.prototype.iuand=function(num){var b;this.length>num.length\?b=num:b=this;for(var i=0;inum.length\?this.clone().iand(num):num.clone().iand(this)},BN.prototype.uand=function(num){return this.length>num.length\?this.clone().iuand(num):num.clone().iuand(this)},BN.prototype.iuxor=function(num){var a,b;this.length>num.length\?(a=this,b=num):(a=num,b=this);for(var i=0;inum.length\?this.clone().ixor(num):num.clone().ixor(this)},BN.prototype.uxor=function(num){return this.length>num.length\?this.clone().iuxor(num):num.clone().iuxor(this)},BN.prototype.inotn=function(width){assert(typeof width==\"number\"&&width>=0);var bytesNeeded=Math.ceil(width/26)|0,bitsLeft=width%26;this._expand(bytesNeeded),bitsLeft>0&&bytesNeeded--;for(var i=0;i0&&(this.words[i]=~this.words[i]&67108863>>26-bitsLeft),this.strip()},BN.prototype.notn=function(width){return this.clone().inotn(width)},BN.prototype.setn=function(bit,val){assert(typeof bit==\"number\"&&bit>=0);var off=bit/26|0,wbit=bit%26;return this._expand(off+1),val\?this.words[off]=this.words[off]|1<num.length\?(a=this,b=num):(a=num,b=this);for(var carry=0,i=0;i>>26;for(;carry!==0&&i>>26;if(this.length=a.length,carry!==0)this.words[this.length]=carry,this.length++;else if(a!==this)for(;inum.length\?this.clone().iadd(num):num.clone().iadd(this)},BN.prototype.isub=function(num){if(num.negative!==0){num.negative=0;var r=this.iadd(num);return num.negative=1,r._normSign()}else if(this.negative!==0)return this.negative=0,this.iadd(num),this.negative=1,this._normSign();var cmp=this.cmp(num);if(cmp===0)return this.negative=0,this.length=1,this.words[0]=0,this;var a,b;cmp>0\?(a=this,b=num):(a=num,b=this);for(var carry=0,i=0;i>26,this.words[i]=r&67108863;for(;carry!==0&&i>26,this.words[i]=r&67108863;if(carry===0&&i>>26,rword=carry&67108863,maxJ=Math.min(k,num.length-1),j=Math.max(0,k-self2.length+1);j<=maxJ;j++){var i=k-j|0;a=self2.words[i]|0,b=num.words[j]|0,r=a*b+rword,ncarry+=r/67108864|0,rword=r&67108863}out.words[k]=rword|0,carry=ncarry|0}return carry!==0\?out.words[k]=carry|0:out.length--,out.strip()}var comb10MulTo=function(self2,num,out){var a=self2.words,b=num.words,o=out.words,c=0,lo,mid,hi,a0=a[0]|0,al0=a0&8191,ah0=a0>>>13,a1=a[1]|0,al1=a1&8191,ah1=a1>>>13,a2=a[2]|0,al2=a2&8191,ah2=a2>>>13,a3=a[3]|0,al3=a3&8191,ah3=a3>>>13,a4=a[4]|0,al4=a4&8191,ah4=a4>>>13,a5=a[5]|0,al5=a5&8191,ah5=a5>>>13,a6=a[6]|0,al6=a6&8191,ah6=a6>>>13,a7=a[7]|0,al7=a7&8191,ah7=a7>>>13,a8=a[8]|0,al8=a8&8191,ah8=a8>>>13,a9=a[9]|0,al9=a9&8191,ah9=a9>>>13,b0=b[0]|0,bl0=b0&8191,bh0=b0>>>13,b1=b[1]|0,bl1=b1&8191,bh1=b1>>>13,b2=b[2]|0,bl2=b2&8191,bh2=b2>>>13,b3=b[3]|0,bl3=b3&8191,bh3=b3>>>13,b4=b[4]|0,bl4=b4&8191,bh4=b4>>>13,b5=b[5]|0,bl5=b5&8191,bh5=b5>>>13,b6=b[6]|0,bl6=b6&8191,bh6=b6>>>13,b7=b[7]|0,bl7=b7&8191,bh7=b7>>>13,b8=b[8]|0,bl8=b8&8191,bh8=b8>>>13,b9=b[9]|0,bl9=b9&8191,bh9=b9>>>13;out.negative=self2.negative^num.negative,out.length=19,lo=Math.imul(al0,bl0),mid=Math.imul(al0,bh0),mid=mid+Math.imul(ah0,bl0)|0,hi=Math.imul(ah0,bh0);var w0=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w0>>>26)|0,w0&=67108863,lo=Math.imul(al1,bl0),mid=Math.imul(al1,bh0),mid=mid+Math.imul(ah1,bl0)|0,hi=Math.imul(ah1,bh0),lo=lo+Math.imul(al0,bl1)|0,mid=mid+Math.imul(al0,bh1)|0,mid=mid+Math.imul(ah0,bl1)|0,hi=hi+Math.imul(ah0,bh1)|0;var w1=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w1>>>26)|0,w1&=67108863,lo=Math.imul(al2,bl0),mid=Math.imul(al2,bh0),mid=mid+Math.imul(ah2,bl0)|0,hi=Math.imul(ah2,bh0),lo=lo+Math.imul(al1,bl1)|0,mid=mid+Math.imul(al1,bh1)|0,mid=mid+Math.imul(ah1,bl1)|0,hi=hi+Math.imul(ah1,bh1)|0,lo=lo+Math.imul(al0,bl2)|0,mid=mid+Math.imul(al0,bh2)|0,mid=mid+Math.imul(ah0,bl2)|0,hi=hi+Math.imul(ah0,bh2)|0;var w2=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w2>>>26)|0,w2&=67108863,lo=Math.imul(al3,bl0),mid=Math.imul(al3,bh0),mid=mid+Math.imul(ah3,bl0)|0,hi=Math.imul(ah3,bh0),lo=lo+Math.imul(al2,bl1)|0,mid=mid+Math.imul(al2,bh1)|0,mid=mid+Math.imul(ah2,bl1)|0,hi=hi+Math.imul(ah2,bh1)|0,lo=lo+Math.imul(al1,bl2)|0,mid=mid+Math.imul(al1,bh2)|0,mid=mid+Math.imul(ah1,bl2)|0,hi=hi+Math.imul(ah1,bh2)|0,lo=lo+Math.imul(al0,bl3)|0,mid=mid+Math.imul(al0,bh3)|0,mid=mid+Math.imul(ah0,bl3)|0,hi=hi+Math.imul(ah0,bh3)|0;var w3=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w3>>>26)|0,w3&=67108863,lo=Math.imul(al4,bl0),mid=Math.imul(al4,bh0),mid=mid+Math.imul(ah4,bl0)|0,hi=Math.imul(ah4,bh0),lo=lo+Math.imul(al3,bl1)|0,mid=mid+Math.imul(al3,bh1)|0,mid=mid+Math.imul(ah3,bl1)|0,hi=hi+Math.imul(ah3,bh1)|0,lo=lo+Math.imul(al2,bl2)|0,mid=mid+Math.imul(al2,bh2)|0,mid=mid+Math.imul(ah2,bl2)|0,hi=hi+Math.imul(ah2,bh2)|0,lo=lo+Math.imul(al1,bl3)|0,mid=mid+Math.imul(al1,bh3)|0,mid=mid+Math.imul(ah1,bl3)|0,hi=hi+Math.imul(ah1,bh3)|0,lo=lo+Math.imul(al0,bl4)|0,mid=mid+Math.imul(al0,bh4)|0,mid=mid+Math.imul(ah0,bl4)|0,hi=hi+Math.imul(ah0,bh4)|0;var w4=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w4>>>26)|0,w4&=67108863,lo=Math.imul(al5,bl0),mid=Math.imul(al5,bh0),mid=mid+Math.imul(ah5,bl0)|0,hi=Math.imul(ah5,bh0),lo=lo+Math.imul(al4,bl1)|0,mid=mid+Math.imul(al4,bh1)|0,mid=mid+Math.imul(ah4,bl1)|0,hi=hi+Math.imul(ah4,bh1)|0,lo=lo+Math.imul(al3,bl2)|0,mid=mid+Math.imul(al3,bh2)|0,mid=mid+Math.imul(ah3,bl2)|0,hi=hi+Math.imul(ah3,bh2)|0,lo=lo+Math.imul(al2,bl3)|0,mid=mid+Math.imul(al2,bh3)|0,mid=mid+Math.imul(ah2,bl3)|0,hi=hi+Math.imul(ah2,bh3)|0,lo=lo+Math.imul(al1,bl4)|0,mid=mid+Math.imul(al1,bh4)|0,mid=mid+Math.imul(ah1,bl4)|0,hi=hi+Math.imul(ah1,bh4)|0,lo=lo+Math.imul(al0,bl5)|0,mid=mid+Math.imul(al0,bh5)|0,mid=mid+Math.imul(ah0,bl5)|0,hi=hi+Math.imul(ah0,bh5)|0;var w5=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w5>>>26)|0,w5&=67108863,lo=Math.imul(al6,bl0),mid=Math.imul(al6,bh0),mid=mid+Math.imul(ah6,bl0)|0,hi=Math.imul(ah6,bh0),lo=lo+Math.imul(al5,bl1)|0,mid=mid+Math.imul(al5,bh1)|0,mid=mid+Math.imul(ah5,bl1)|0,hi=hi+Math.imul(ah5,bh1)|0,lo=lo+Math.imul(al4,bl2)|0,mid=mid+Math.imul(al4,bh2)|0,mid=mid+Math.imul(ah4,bl2)|0,hi=hi+Math.imul(ah4,bh2)|0,lo=lo+Math.imul(al3,bl3)|0,mid=mid+Math.imul(al3,bh3)|0,mid=mid+Math.imul(ah3,bl3)|0,hi=hi+Math.imul(ah3,bh3)|0,lo=lo+Math.imul(al2,bl4)|0,mid=mid+Math.imul(al2,bh4)|0,mid=mid+Math.imul(ah2,bl4)|0,hi=hi+Math.imul(ah2,bh4)|0,lo=lo+Math.imul(al1,bl5)|0,mid=mid+Math.imul(al1,bh5)|0,mid=mid+Math.imul(ah1,bl5)|0,hi=hi+Math.imul(ah1,bh5)|0,lo=lo+Math.imul(al0,bl6)|0,mid=mid+Math.imul(al0,bh6)|0,mid=mid+Math.imul(ah0,bl6)|0,hi=hi+Math.imul(ah0,bh6)|0;var w6=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w6>>>26)|0,w6&=67108863,lo=Math.imul(al7,bl0),mid=Math.imul(al7,bh0),mid=mid+Math.imul(ah7,bl0)|0,hi=Math.imul(ah7,bh0),lo=lo+Math.imul(al6,bl1)|0,mid=mid+Math.imul(al6,bh1)|0,mid=mid+Math.imul(ah6,bl1)|0,hi=hi+Math.imul(ah6,bh1)|0,lo=lo+Math.imul(al5,bl2)|0,mid=mid+Math.imul(al5,bh2)|0,mid=mid+Math.imul(ah5,bl2)|0,hi=hi+Math.imul(ah5,bh2)|0,lo=lo+Math.imul(al4,bl3)|0,mid=mid+Math.imul(al4,bh3)|0,mid=mid+Math.imul(ah4,bl3)|0,hi=hi+Math.imul(ah4,bh3)|0,lo=lo+Math.imul(al3,bl4)|0,mid=mid+Math.imul(al3,bh4)|0,mid=mid+Math.imul(ah3,bl4)|0,hi=hi+Math.imul(ah3,bh4)|0,lo=lo+Math.imul(al2,bl5)|0,mid=mid+Math.imul(al2,bh5)|0,mid=mid+Math.imul(ah2,bl5)|0,hi=hi+Math.imul(ah2,bh5)|0,lo=lo+Math.imul(al1,bl6)|0,mid=mid+Math.imul(al1,bh6)|0,mid=mid+Math.imul(ah1,bl6)|0,hi=hi+Math.imul(ah1,bh6)|0,lo=lo+Math.imul(al0,bl7)|0,mid=mid+Math.imul(al0,bh7)|0,mid=mid+Math.imul(ah0,bl7)|0,hi=hi+Math.imul(ah0,bh7)|0;var w7=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w7>>>26)|0,w7&=67108863,lo=Math.imul(al8,bl0),mid=Math.imul(al8,bh0),mid=mid+Math.imul(ah8,bl0)|0,hi=Math.imul(ah8,bh0),lo=lo+Math.imul(al7,bl1)|0,mid=mid+Math.imul(al7,bh1)|0,mid=mid+Math.imul(ah7,bl1)|0,hi=hi+Math.imul(ah7,bh1)|0,lo=lo+Math.imul(al6,bl2)|0,mid=mid+Math.imul(al6,bh2)|0,mid=mid+Math.imul(ah6,bl2)|0,hi=hi+Math.imul(ah6,bh2)|0,lo=lo+Math.imul(al5,bl3)|0,mid=mid+Math.imul(al5,bh3)|0,mid=mid+Math.imul(ah5,bl3)|0,hi=hi+Math.imul(ah5,bh3)|0,lo=lo+Math.imul(al4,bl4)|0,mid=mid+Math.imul(al4,bh4)|0,mid=mid+Math.imul(ah4,bl4)|0,hi=hi+Math.imul(ah4,bh4)|0,lo=lo+Math.imul(al3,bl5)|0,mid=mid+Math.imul(al3,bh5)|0,mid=mid+Math.imul(ah3,bl5)|0,hi=hi+Math.imul(ah3,bh5)|0,lo=lo+Math.imul(al2,bl6)|0,mid=mid+Math.imul(al2,bh6)|0,mid=mid+Math.imul(ah2,bl6)|0,hi=hi+Math.imul(ah2,bh6)|0,lo=lo+Math.imul(al1,bl7)|0,mid=mid+Math.imul(al1,bh7)|0,mid=mid+Math.imul(ah1,bl7)|0,hi=hi+Math.imul(ah1,bh7)|0,lo=lo+Math.imul(al0,bl8)|0,mid=mid+Math.imul(al0,bh8)|0,mid=mid+Math.imul(ah0,bl8)|0,hi=hi+Math.imul(ah0,bh8)|0;var w8=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w8>>>26)|0,w8&=67108863,lo=Math.imul(al9,bl0),mid=Math.imul(al9,bh0),mid=mid+Math.imul(ah9,bl0)|0,hi=Math.imul(ah9,bh0),lo=lo+Math.imul(al8,bl1)|0,mid=mid+Math.imul(al8,bh1)|0,mid=mid+Math.imul(ah8,bl1)|0,hi=hi+Math.imul(ah8,bh1)|0,lo=lo+Math.imul(al7,bl2)|0,mid=mid+Math.imul(al7,bh2)|0,mid=mid+Math.imul(ah7,bl2)|0,hi=hi+Math.imul(ah7,bh2)|0,lo=lo+Math.imul(al6,bl3)|0,mid=mid+Math.imul(al6,bh3)|0,mid=mid+Math.imul(ah6,bl3)|0,hi=hi+Math.imul(ah6,bh3)|0,lo=lo+Math.imul(al5,bl4)|0,mid=mid+Math.imul(al5,bh4)|0,mid=mid+Math.imul(ah5,bl4)|0,hi=hi+Math.imul(ah5,bh4)|0,lo=lo+Math.imul(al4,bl5)|0,mid=mid+Math.imul(al4,bh5)|0,mid=mid+Math.imul(ah4,bl5)|0,hi=hi+Math.imul(ah4,bh5)|0,lo=lo+Math.imul(al3,bl6)|0,mid=mid+Math.imul(al3,bh6)|0,mid=mid+Math.imul(ah3,bl6)|0,hi=hi+Math.imul(ah3,bh6)|0,lo=lo+Math.imul(al2,bl7)|0,mid=mid+Math.imul(al2,bh7)|0,mid=mid+Math.imul(ah2,bl7)|0,hi=hi+Math.imul(ah2,bh7)|0,lo=lo+Math.imul(al1,bl8)|0,mid=mid+Math.imul(al1,bh8)|0,mid=mid+Math.imul(ah1,bl8)|0,hi=hi+Math.imul(ah1,bh8)|0,lo=lo+Math.imul(al0,bl9)|0,mid=mid+Math.imul(al0,bh9)|0,mid=mid+Math.imul(ah0,bl9)|0,hi=hi+Math.imul(ah0,bh9)|0;var w9=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w9>>>26)|0,w9&=67108863,lo=Math.imul(al9,bl1),mid=Math.imul(al9,bh1),mid=mid+Math.imul(ah9,bl1)|0,hi=Math.imul(ah9,bh1),lo=lo+Math.imul(al8,bl2)|0,mid=mid+Math.imul(al8,bh2)|0,mid=mid+Math.imul(ah8,bl2)|0,hi=hi+Math.imul(ah8,bh2)|0,lo=lo+Math.imul(al7,bl3)|0,mid=mid+Math.imul(al7,bh3)|0,mid=mid+Math.imul(ah7,bl3)|0,hi=hi+Math.imul(ah7,bh3)|0,lo=lo+Math.imul(al6,bl4)|0,mid=mid+Math.imul(al6,bh4)|0,mid=mid+Math.imul(ah6,bl4)|0,hi=hi+Math.imul(ah6,bh4)|0,lo=lo+Math.imul(al5,bl5)|0,mid=mid+Math.imul(al5,bh5)|0,mid=mid+Math.imul(ah5,bl5)|0,hi=hi+Math.imul(ah5,bh5)|0,lo=lo+Math.imul(al4,bl6)|0,mid=mid+Math.imul(al4,bh6)|0,mid=mid+Math.imul(ah4,bl6)|0,hi=hi+Math.imul(ah4,bh6)|0,lo=lo+Math.imul(al3,bl7)|0,mid=mid+Math.imul(al3,bh7)|0,mid=mid+Math.imul(ah3,bl7)|0,hi=hi+Math.imul(ah3,bh7)|0,lo=lo+Math.imul(al2,bl8)|0,mid=mid+Math.imul(al2,bh8)|0,mid=mid+Math.imul(ah2,bl8)|0,hi=hi+Math.imul(ah2,bh8)|0,lo=lo+Math.imul(al1,bl9)|0,mid=mid+Math.imul(al1,bh9)|0,mid=mid+Math.imul(ah1,bl9)|0,hi=hi+Math.imul(ah1,bh9)|0;var w10=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w10>>>26)|0,w10&=67108863,lo=Math.imul(al9,bl2),mid=Math.imul(al9,bh2),mid=mid+Math.imul(ah9,bl2)|0,hi=Math.imul(ah9,bh2),lo=lo+Math.imul(al8,bl3)|0,mid=mid+Math.imul(al8,bh3)|0,mid=mid+Math.imul(ah8,bl3)|0,hi=hi+Math.imul(ah8,bh3)|0,lo=lo+Math.imul(al7,bl4)|0,mid=mid+Math.imul(al7,bh4)|0,mid=mid+Math.imul(ah7,bl4)|0,hi=hi+Math.imul(ah7,bh4)|0,lo=lo+Math.imul(al6,bl5)|0,mid=mid+Math.imul(al6,bh5)|0,mid=mid+Math.imul(ah6,bl5)|0,hi=hi+Math.imul(ah6,bh5)|0,lo=lo+Math.imul(al5,bl6)|0,mid=mid+Math.imul(al5,bh6)|0,mid=mid+Math.imul(ah5,bl6)|0,hi=hi+Math.imul(ah5,bh6)|0,lo=lo+Math.imul(al4,bl7)|0,mid=mid+Math.imul(al4,bh7)|0,mid=mid+Math.imul(ah4,bl7)|0,hi=hi+Math.imul(ah4,bh7)|0,lo=lo+Math.imul(al3,bl8)|0,mid=mid+Math.imul(al3,bh8)|0,mid=mid+Math.imul(ah3,bl8)|0,hi=hi+Math.imul(ah3,bh8)|0,lo=lo+Math.imul(al2,bl9)|0,mid=mid+Math.imul(al2,bh9)|0,mid=mid+Math.imul(ah2,bl9)|0,hi=hi+Math.imul(ah2,bh9)|0;var w11=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w11>>>26)|0,w11&=67108863,lo=Math.imul(al9,bl3),mid=Math.imul(al9,bh3),mid=mid+Math.imul(ah9,bl3)|0,hi=Math.imul(ah9,bh3),lo=lo+Math.imul(al8,bl4)|0,mid=mid+Math.imul(al8,bh4)|0,mid=mid+Math.imul(ah8,bl4)|0,hi=hi+Math.imul(ah8,bh4)|0,lo=lo+Math.imul(al7,bl5)|0,mid=mid+Math.imul(al7,bh5)|0,mid=mid+Math.imul(ah7,bl5)|0,hi=hi+Math.imul(ah7,bh5)|0,lo=lo+Math.imul(al6,bl6)|0,mid=mid+Math.imul(al6,bh6)|0,mid=mid+Math.imul(ah6,bl6)|0,hi=hi+Math.imul(ah6,bh6)|0,lo=lo+Math.imul(al5,bl7)|0,mid=mid+Math.imul(al5,bh7)|0,mid=mid+Math.imul(ah5,bl7)|0,hi=hi+Math.imul(ah5,bh7)|0,lo=lo+Math.imul(al4,bl8)|0,mid=mid+Math.imul(al4,bh8)|0,mid=mid+Math.imul(ah4,bl8)|0,hi=hi+Math.imul(ah4,bh8)|0,lo=lo+Math.imul(al3,bl9)|0,mid=mid+Math.imul(al3,bh9)|0,mid=mid+Math.imul(ah3,bl9)|0,hi=hi+Math.imul(ah3,bh9)|0;var w12=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w12>>>26)|0,w12&=67108863,lo=Math.imul(al9,bl4),mid=Math.imul(al9,bh4),mid=mid+Math.imul(ah9,bl4)|0,hi=Math.imul(ah9,bh4),lo=lo+Math.imul(al8,bl5)|0,mid=mid+Math.imul(al8,bh5)|0,mid=mid+Math.imul(ah8,bl5)|0,hi=hi+Math.imul(ah8,bh5)|0,lo=lo+Math.imul(al7,bl6)|0,mid=mid+Math.imul(al7,bh6)|0,mid=mid+Math.imul(ah7,bl6)|0,hi=hi+Math.imul(ah7,bh6)|0,lo=lo+Math.imul(al6,bl7)|0,mid=mid+Math.imul(al6,bh7)|0,mid=mid+Math.imul(ah6,bl7)|0,hi=hi+Math.imul(ah6,bh7)|0,lo=lo+Math.imul(al5,bl8)|0,mid=mid+Math.imul(al5,bh8)|0,mid=mid+Math.imul(ah5,bl8)|0,hi=hi+Math.imul(ah5,bh8)|0,lo=lo+Math.imul(al4,bl9)|0,mid=mid+Math.imul(al4,bh9)|0,mid=mid+Math.imul(ah4,bl9)|0,hi=hi+Math.imul(ah4,bh9)|0;var w13=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w13>>>26)|0,w13&=67108863,lo=Math.imul(al9,bl5),mid=Math.imul(al9,bh5),mid=mid+Math.imul(ah9,bl5)|0,hi=Math.imul(ah9,bh5),lo=lo+Math.imul(al8,bl6)|0,mid=mid+Math.imul(al8,bh6)|0,mid=mid+Math.imul(ah8,bl6)|0,hi=hi+Math.imul(ah8,bh6)|0,lo=lo+Math.imul(al7,bl7)|0,mid=mid+Math.imul(al7,bh7)|0,mid=mid+Math.imul(ah7,bl7)|0,hi=hi+Math.imul(ah7,bh7)|0,lo=lo+Math.imul(al6,bl8)|0,mid=mid+Math.imul(al6,bh8)|0,mid=mid+Math.imul(ah6,bl8)|0,hi=hi+Math.imul(ah6,bh8)|0,lo=lo+Math.imul(al5,bl9)|0,mid=mid+Math.imul(al5,bh9)|0,mid=mid+Math.imul(ah5,bl9)|0,hi=hi+Math.imul(ah5,bh9)|0;var w14=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w14>>>26)|0,w14&=67108863,lo=Math.imul(al9,bl6),mid=Math.imul(al9,bh6),mid=mid+Math.imul(ah9,bl6)|0,hi=Math.imul(ah9,bh6),lo=lo+Math.imul(al8,bl7)|0,mid=mid+Math.imul(al8,bh7)|0,mid=mid+Math.imul(ah8,bl7)|0,hi=hi+Math.imul(ah8,bh7)|0,lo=lo+Math.imul(al7,bl8)|0,mid=mid+Math.imul(al7,bh8)|0,mid=mid+Math.imul(ah7,bl8)|0,hi=hi+Math.imul(ah7,bh8)|0,lo=lo+Math.imul(al6,bl9)|0,mid=mid+Math.imul(al6,bh9)|0,mid=mid+Math.imul(ah6,bl9)|0,hi=hi+Math.imul(ah6,bh9)|0;var w15=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w15>>>26)|0,w15&=67108863,lo=Math.imul(al9,bl7),mid=Math.imul(al9,bh7),mid=mid+Math.imul(ah9,bl7)|0,hi=Math.imul(ah9,bh7),lo=lo+Math.imul(al8,bl8)|0,mid=mid+Math.imul(al8,bh8)|0,mid=mid+Math.imul(ah8,bl8)|0,hi=hi+Math.imul(ah8,bh8)|0,lo=lo+Math.imul(al7,bl9)|0,mid=mid+Math.imul(al7,bh9)|0,mid=mid+Math.imul(ah7,bl9)|0,hi=hi+Math.imul(ah7,bh9)|0;var w16=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w16>>>26)|0,w16&=67108863,lo=Math.imul(al9,bl8),mid=Math.imul(al9,bh8),mid=mid+Math.imul(ah9,bl8)|0,hi=Math.imul(ah9,bh8),lo=lo+Math.imul(al8,bl9)|0,mid=mid+Math.imul(al8,bh9)|0,mid=mid+Math.imul(ah8,bl9)|0,hi=hi+Math.imul(ah8,bh9)|0;var w17=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w17>>>26)|0,w17&=67108863,lo=Math.imul(al9,bl9),mid=Math.imul(al9,bh9),mid=mid+Math.imul(ah9,bl9)|0,hi=Math.imul(ah9,bh9);var w18=(c+lo|0)+((mid&8191)<<13)|0;return c=(hi+(mid>>>13)|0)+(w18>>>26)|0,w18&=67108863,o[0]=w0,o[1]=w1,o[2]=w2,o[3]=w3,o[4]=w4,o[5]=w5,o[6]=w6,o[7]=w7,o[8]=w8,o[9]=w9,o[10]=w10,o[11]=w11,o[12]=w12,o[13]=w13,o[14]=w14,o[15]=w15,o[16]=w16,o[17]=w17,o[18]=w18,c!==0&&(o[19]=c,out.length++),out};Math.imul||(comb10MulTo=smallMulTo);function bigMulTo(self2,num,out){out.negative=num.negative^self2.negative,out.length=self2.length+num.length;for(var carry=0,hncarry=0,k=0;k>>26)|0,hncarry+=ncarry>>>26,ncarry&=67108863}out.words[k]=rword,carry=ncarry,ncarry=hncarry}return carry!==0\?out.words[k]=carry:out.length--,out.strip()}function jumboMulTo(self2,num,out){var fftm=new FFTM;return fftm.mulp(self2,num,out)}BN.prototype.mulTo=function(num,out){var res,len=this.length+num.length;return this.length===10&&num.length===10\?res=comb10MulTo(this,num,out):len<63\?res=smallMulTo(this,num,out):len<1024\?res=bigMulTo(this,num,out):res=jumboMulTo(this,num,out),res};function FFTM(x,y){this.x=x,this.y=y}FFTM.prototype.makeRBT=function(N){for(var t=new Array(N),l=BN.prototype._countBits(N)-1,i=0;i>=1;return rb},FFTM.prototype.permute=function(rbt,rws,iws,rtws,itws,N){for(var i=0;i>>1)i++;return 1<>>13,rws[2*i+1]=carry&8191,carry=carry>>>13;for(i=2*len;i>=26,carry+=w/67108864|0,carry+=lo>>>26,this.words[i]=lo&67108863}return carry!==0&&(this.words[i]=carry,this.length++),this},BN.prototype.muln=function(num){return this.clone().imuln(num)},BN.prototype.sqr=function(){return this.mul(this)},BN.prototype.isqr=function(){return this.imul(this.clone())},BN.prototype.pow=function(num){var w=toBitArray(num);if(w.length===0)return new BN(1);for(var res=this,i=0;i=0);var r=bits%26,s=(bits-r)/26,carryMask=67108863>>>26-r<<26-r,i;if(r!==0){var carry=0;for(i=0;i>>26-r}carry&&(this.words[i]=carry,this.length++)}if(s!==0){for(i=this.length-1;i>=0;i--)this.words[i+s]=this.words[i];for(i=0;i=0);var h;hint\?h=(hint-hint%26)/26:h=0;var r=bits%26,s=Math.min((bits-r)/26,this.length),mask=67108863^67108863>>>r<s)for(this.length-=s,i=0;i=0&&(carry!==0||i>=h);i--){var word=this.words[i]|0;this.words[i]=carry<<26-r|word>>>r,carry=word&mask}return maskedWords&&carry!==0&&(maskedWords.words[maskedWords.length++]=carry),this.length===0&&(this.words[0]=0,this.length=1),this.strip()},BN.prototype.ishrn=function(bits,hint,extended){return assert(this.negative===0),this.iushrn(bits,hint,extended)},BN.prototype.shln=function(bits){return this.clone().ishln(bits)},BN.prototype.ushln=function(bits){return this.clone().iushln(bits)},BN.prototype.shrn=function(bits){return this.clone().ishrn(bits)},BN.prototype.ushrn=function(bits){return this.clone().iushrn(bits)},BN.prototype.testn=function(bit){assert(typeof bit==\"number\"&&bit>=0);var r=bit%26,s=(bit-r)/26,q=1<=0);var r=bits%26,s=(bits-r)/26;if(assert(this.negative===0,\"imaskn works only with positive numbers\"),this.length<=s)return this;if(r!==0&&s++,this.length=Math.min(s,this.length),r!==0){var mask=67108863^67108863>>>r<=67108864;i++)this.words[i]-=67108864,i===this.length-1\?this.words[i+1]=1:this.words[i+1]++;return this.length=Math.max(this.length,i+1),this},BN.prototype.isubn=function(num){if(assert(typeof num==\"number\"),assert(num<67108864),num<0)return this.iaddn(-num);if(this.negative!==0)return this.negative=0,this.iaddn(num),this.negative=1,this;if(this.words[0]-=num,this.length===1&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var i=0;i>26)-(right/67108864|0),this.words[i+shift]=w&67108863}for(;i>26,this.words[i+shift]=w&67108863;if(carry===0)return this.strip();for(assert(carry===-1),carry=0,i=0;i>26,this.words[i]=w&67108863;return this.negative=1,this.strip()},BN.prototype._wordDiv=function(num,mode){var shift=this.length-num.length,a=this.clone(),b=num,bhi=b.words[b.length-1]|0,bhiBits=this._countBits(bhi);shift=26-bhiBits,shift!==0&&(b=b.ushln(shift),a.iushln(shift),bhi=b.words[b.length-1]|0);var m=a.length-b.length,q;if(mode!==\"mod\"){q=new BN(null),q.length=m+1,q.words=new Array(q.length);for(var i=0;i=0;j--){var qj=(a.words[b.length+j]|0)*67108864+(a.words[b.length+j-1]|0);for(qj=Math.min(qj/bhi|0,67108863),a._ishlnsubmul(b,qj,j);a.negative!==0;)qj--,a.negative=0,a._ishlnsubmul(b,1,j),a.isZero()||(a.negative^=1);q&&(q.words[j]=qj)}return q&&q.strip(),a.strip(),mode!==\"div\"&&shift!==0&&a.iushrn(shift),{div:q||null,mod:a}},BN.prototype.divmod=function(num,mode,positive){if(assert(!num.isZero()),this.isZero())return{div:new BN(0),mod:new BN(0)};var div,mod,res;return this.negative!==0&&num.negative===0\?(res=this.neg().divmod(num,mode),mode!==\"mod\"&&(div=res.div.neg()),mode!==\"div\"&&(mod=res.mod.neg(),positive&&mod.negative!==0&&mod.iadd(num)),{div,mod}):this.negative===0&&num.negative!==0\?(res=this.divmod(num.neg(),mode),mode!==\"mod\"&&(div=res.div.neg()),{div,mod:res.mod}):(this.negative&num.negative)!==0\?(res=this.neg().divmod(num.neg(),mode),mode!==\"div\"&&(mod=res.mod.neg(),positive&&mod.negative!==0&&mod.isub(num)),{div:res.div,mod}):num.length>this.length||this.cmp(num)<0\?{div:new BN(0),mod:this}:num.length===1\?mode===\"div\"\?{div:this.divn(num.words[0]),mod:null}:mode===\"mod\"\?{div:null,mod:new BN(this.modn(num.words[0]))}:{div:this.divn(num.words[0]),mod:new BN(this.modn(num.words[0]))}:this._wordDiv(num,mode)},BN.prototype.div=function(num){return this.divmod(num,\"div\",!1).div},BN.prototype.mod=function(num){return this.divmod(num,\"mod\",!1).mod},BN.prototype.umod=function(num){return this.divmod(num,\"mod\",!0).mod},BN.prototype.divRound=function(num){var dm=this.divmod(num);if(dm.mod.isZero())return dm.div;var mod=dm.div.negative!==0\?dm.mod.isub(num):dm.mod,half=num.ushrn(1),r2=num.andln(1),cmp=mod.cmp(half);return cmp<0||r2===1&&cmp===0\?dm.div:dm.div.negative!==0\?dm.div.isubn(1):dm.div.iaddn(1)},BN.prototype.modn=function(num){assert(num<=67108863);for(var p=(1<<26)%num,acc=0,i=this.length-1;i>=0;i--)acc=(p*acc+(this.words[i]|0))%num;return acc},BN.prototype.idivn=function(num){assert(num<=67108863);for(var carry=0,i=this.length-1;i>=0;i--){var w=(this.words[i]|0)+carry*67108864;this.words[i]=w/num|0,carry=w%num}return this.strip()},BN.prototype.divn=function(num){return this.clone().idivn(num)},BN.prototype.egcd=function(p){assert(p.negative===0),assert(!p.isZero());var x=this,y=p.clone();x.negative!==0\?x=x.umod(p):x=x.clone();for(var A=new BN(1),B=new BN(0),C=new BN(0),D=new BN(1),g=0;x.isEven()&&y.isEven();)x.iushrn(1),y.iushrn(1),++g;for(var yp=y.clone(),xp=x.clone();!x.isZero();){for(var i=0,im=1;(x.words[0]&im)===0&&i<26;++i,im<<=1);if(i>0)for(x.iushrn(i);i-- >0;)(A.isOdd()||B.isOdd())&&(A.iadd(yp),B.isub(xp)),A.iushrn(1),B.iushrn(1);for(var j=0,jm=1;(y.words[0]&jm)===0&&j<26;++j,jm<<=1);if(j>0)for(y.iushrn(j);j-- >0;)(C.isOdd()||D.isOdd())&&(C.iadd(yp),D.isub(xp)),C.iushrn(1),D.iushrn(1);x.cmp(y)>=0\?(x.isub(y),A.isub(C),B.isub(D)):(y.isub(x),C.isub(A),D.isub(B))}return{a:C,b:D,gcd:y.iushln(g)}},BN.prototype._invmp=function(p){assert(p.negative===0),assert(!p.isZero());var a=this,b=p.clone();a.negative!==0\?a=a.umod(p):a=a.clone();for(var x1=new BN(1),x2=new BN(0),delta=b.clone();a.cmpn(1)>0&&b.cmpn(1)>0;){for(var i=0,im=1;(a.words[0]&im)===0&&i<26;++i,im<<=1);if(i>0)for(a.iushrn(i);i-- >0;)x1.isOdd()&&x1.iadd(delta),x1.iushrn(1);for(var j=0,jm=1;(b.words[0]&jm)===0&&j<26;++j,jm<<=1);if(j>0)for(b.iushrn(j);j-- >0;)x2.isOdd()&&x2.iadd(delta),x2.iushrn(1);a.cmp(b)>=0\?(a.isub(b),x1.isub(x2)):(b.isub(a),x2.isub(x1))}var res;return a.cmpn(1)===0\?res=x1:res=x2,res.cmpn(0)<0&&res.iadd(p),res},BN.prototype.gcd=function(num){if(this.isZero())return num.abs();if(num.isZero())return this.abs();var a=this.clone(),b=num.clone();a.negative=0,b.negative=0;for(var shift=0;a.isEven()&&b.isEven();shift++)a.iushrn(1),b.iushrn(1);do{for(;a.isEven();)a.iushrn(1);for(;b.isEven();)b.iushrn(1);var r=a.cmp(b);if(r<0){var t=a;a=b,b=t}else if(r===0||b.cmpn(1)===0)break;a.isub(b)}while(!0);return b.iushln(shift)},BN.prototype.invm=function(num){return this.egcd(num).a.umod(num)},BN.prototype.isEven=function(){return(this.words[0]&1)===0},BN.prototype.isOdd=function(){return(this.words[0]&1)===1},BN.prototype.andln=function(num){return this.words[0]&num},BN.prototype.bincn=function(bit){assert(typeof bit==\"number\");var r=bit%26,s=(bit-r)/26,q=1<>>26,w&=67108863,this.words[i]=w}return carry!==0&&(this.words[i]=carry,this.length++),this},BN.prototype.isZero=function(){return this.length===1&&this.words[0]===0},BN.prototype.cmpn=function(num){var negative=num<0;if(this.negative!==0&&!negative)return-1;if(this.negative===0&&negative)return 1;this.strip();var res;if(this.length>1)res=1;else{negative&&(num=-num),assert(num<=67108863,\"Number is too big\");var w=this.words[0]|0;res=w===num\?0:wnum.length)return 1;if(this.length=0;i--){var a=this.words[i]|0,b=num.words[i]|0;if(a!==b){ab&&(res=1);break}}return res},BN.prototype.gtn=function(num){return this.cmpn(num)===1},BN.prototype.gt=function(num){return this.cmp(num)===1},BN.prototype.gten=function(num){return this.cmpn(num)>=0},BN.prototype.gte=function(num){return this.cmp(num)>=0},BN.prototype.ltn=function(num){return this.cmpn(num)===-1},BN.prototype.lt=function(num){return this.cmp(num)===-1},BN.prototype.lten=function(num){return this.cmpn(num)<=0},BN.prototype.lte=function(num){return this.cmp(num)<=0},BN.prototype.eqn=function(num){return this.cmpn(num)===0},BN.prototype.eq=function(num){return this.cmp(num)===0},BN.red=function(num){return new Red(num)},BN.prototype.toRed=function(ctx){return assert(!this.red,\"Already a number in reduction context\"),assert(this.negative===0,\"red works only with positives\"),ctx.convertTo(this)._forceRed(ctx)},BN.prototype.fromRed=function(){return assert(this.red,\"fromRed works only with numbers in reduction context\"),this.red.convertFrom(this)},BN.prototype._forceRed=function(ctx){return this.red=ctx,this},BN.prototype.forceRed=function(ctx){return assert(!this.red,\"Already a number in reduction context\"),this._forceRed(ctx)},BN.prototype.redAdd=function(num){return assert(this.red,\"redAdd works only with red numbers\"),this.red.add(this,num)},BN.prototype.redIAdd=function(num){return assert(this.red,\"redIAdd works only with red numbers\"),this.red.iadd(this,num)},BN.prototype.redSub=function(num){return assert(this.red,\"redSub works only with red numbers\"),this.red.sub(this,num)},BN.prototype.redISub=function(num){return assert(this.red,\"redISub works only with red numbers\"),this.red.isub(this,num)},BN.prototype.redShl=function(num){return assert(this.red,\"redShl works only with red numbers\"),this.red.shl(this,num)},BN.prototype.redMul=function(num){return assert(this.red,\"redMul works only with red numbers\"),this.red._verify2(this,num),this.red.mul(this,num)},BN.prototype.redIMul=function(num){return assert(this.red,\"redMul works only with red numbers\"),this.red._verify2(this,num),this.red.imul(this,num)},BN.prototype.redSqr=function(){return assert(this.red,\"redSqr works only with red numbers\"),this.red._verify1(this),this.red.sqr(this)},BN.prototype.redISqr=function(){return assert(this.red,\"redISqr works only with red numbers\"),this.red._verify1(this),this.red.isqr(this)},BN.prototype.redSqrt=function(){return assert(this.red,\"redSqrt works only with red numbers\"),this.red._verify1(this),this.red.sqrt(this)},BN.prototype.redInvm=function(){return assert(this.red,\"redInvm works only with red numbers\"),this.red._verify1(this),this.red.invm(this)},BN.prototype.redNeg=function(){return assert(this.red,\"redNeg works only with red numbers\"),this.red._verify1(this),this.red.neg(this)},BN.prototype.redPow=function(num){return assert(this.red&&!num.red,\"redPow(normalNum)\"),this.red._verify1(this),this.red.pow(this,num)};var primes={k256:null,p224:null,p192:null,p25519:null};function MPrime(name,p){this.name=name,this.p=new BN(p,16),this.n=this.p.bitLength(),this.k=new BN(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}MPrime.prototype._tmp=function(){var tmp=new BN(null);return tmp.words=new Array(Math.ceil(this.n/13)),tmp},MPrime.prototype.ireduce=function(num){var r=num,rlen;do this.split(r,this.tmp),r=this.imulK(r),r=r.iadd(this.tmp),rlen=r.bitLength();while(rlen>this.n);var cmp=rlen0\?r.isub(this.p):r.strip!==void 0\?r.strip():r._strip(),r},MPrime.prototype.split=function(input,out){input.iushrn(this.n,0,out)},MPrime.prototype.imulK=function(num){return num.imul(this.k)};function K256(){MPrime.call(this,\"k256\",\"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f\")}inherits(K256,MPrime),K256.prototype.split=function(input,output){for(var mask=4194303,outLen=Math.min(input.length,9),i=0;i>>22,prev=next}prev>>>=22,input.words[i-10]=prev,prev===0&&input.length>10\?input.length-=10:input.length-=9},K256.prototype.imulK=function(num){num.words[num.length]=0,num.words[num.length+1]=0,num.length+=2;for(var lo=0,i=0;i>>=26,num.words[i]=lo,carry=hi}return carry!==0&&(num.words[num.length++]=carry),num},BN._prime=function(name){if(primes[name])return primes[name];var prime2;if(name===\"k256\")prime2=new K256;else if(name===\"p224\")prime2=new P224;else if(name===\"p192\")prime2=new P192;else if(name===\"p25519\")prime2=new P25519;else throw new Error(\"Unknown prime \"+name);return primes[name]=prime2,prime2};function Red(m){if(typeof m==\"string\"){var prime=BN._prime(m);this.m=prime.p,this.prime=prime}else assert(m.gtn(1),\"modulus must be greater than 1\"),this.m=m,this.prime=null}Red.prototype._verify1=function(a){assert(a.negative===0,\"red works only with positives\"),assert(a.red,\"red works only with red numbers\")},Red.prototype._verify2=function(a,b){assert((a.negative|b.negative)===0,\"red works only with positives\"),assert(a.red&&a.red===b.red,\"red works only with red numbers\")},Red.prototype.imod=function(a){return this.prime\?this.prime.ireduce(a)._forceRed(this):a.umod(this.m)._forceRed(this)},Red.prototype.neg=function(a){return a.isZero()\?a.clone():this.m.sub(a)._forceRed(this)},Red.prototype.add=function(a,b){this._verify2(a,b);var res=a.add(b);return res.cmp(this.m)>=0&&res.isub(this.m),res._forceRed(this)},Red.prototype.iadd=function(a,b){this._verify2(a,b);var res=a.iadd(b);return res.cmp(this.m)>=0&&res.isub(this.m),res},Red.prototype.sub=function(a,b){this._verify2(a,b);var res=a.sub(b);return res.cmpn(0)<0&&res.iadd(this.m),res._forceRed(this)},Red.prototype.isub=function(a,b){this._verify2(a,b);var res=a.isub(b);return res.cmpn(0)<0&&res.iadd(this.m),res},Red.prototype.shl=function(a,num){return this._verify1(a),this.imod(a.ushln(num))},Red.prototype.imul=function(a,b){return this._verify2(a,b),this.imod(a.imul(b))},Red.prototype.mul=function(a,b){return this._verify2(a,b),this.imod(a.mul(b))},Red.prototype.isqr=function(a){return this.imul(a,a.clone())},Red.prototype.sqr=function(a){return this.mul(a,a)},Red.prototype.sqrt=function(a){if(a.isZero())return a.clone();var mod3=this.m.andln(3);if(assert(mod3%2===1),mod3===3){var pow=this.m.add(new BN(1)).iushrn(2);return this.pow(a,pow)}for(var q=this.m.subn(1),s=0;!q.isZero()&&q.andln(1)===0;)s++,q.iushrn(1);assert(!q.isZero());var one=new BN(1).toRed(this),nOne=one.redNeg(),lpow=this.m.subn(1).iushrn(1),z=this.m.bitLength();for(z=new BN(2*z*z).toRed(this);this.pow(z,lpow).cmp(nOne)!==0;)z.redIAdd(nOne);for(var c=this.pow(z,q),r=this.pow(a,q.addn(1).iushrn(1)),t=this.pow(a,q),m=s;t.cmp(one)!==0;){for(var tmp=t,i=0;tmp.cmp(one)!==0;i++)tmp=tmp.redSqr();assert(i=0;i--){for(var word=num.words[i],j=start-1;j>=0;j--){var bit=word>>j&1;if(res!==wnd[0]&&(res=this.sqr(res)),bit===0&¤t===0){currentLen=0;continue}current<<=1,current|=bit,currentLen++,!(currentLen!==windowSize&&(i!==0||j!==0))&&(res=this.mul(res,wnd[current]),currentLen=0,current=0)}start=26}return res},Red.prototype.convertTo=function(num){var r=num.umod(this.m);return r===num\?r.clone():r},Red.prototype.convertFrom=function(num){var res=num.clone();return res.red=null,res},BN.mont=function(num){return new Mont(num)};function Mont(m){Red.call(this,m),this.shift=this.m.bitLength(),this.shift%26!==0&&(this.shift+=26-this.shift%26),this.r=new BN(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}inherits(Mont,Red),Mont.prototype.convertTo=function(num){return this.imod(num.ushln(this.shift))},Mont.prototype.convertFrom=function(num){var r=this.imod(num.mul(this.rinv));return r.red=null,r},Mont.prototype.imul=function(a,b){if(a.isZero()||b.isZero())return a.words[0]=0,a.length=1,a;var t=a.imul(b),c=t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),u=t.isub(c).iushrn(this.shift),res=u;return u.cmp(this.m)>=0\?res=u.isub(this.m):u.cmpn(0)<0&&(res=u.iadd(this.m)),res._forceRed(this)},Mont.prototype.mul=function(a,b){if(a.isZero()||b.isZero())return new BN(0)._forceRed(this);var t=a.mul(b),c=t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),u=t.isub(c).iushrn(this.shift),res=u;return u.cmp(this.m)>=0\?res=u.isub(this.m):u.cmpn(0)<0&&(res=u.iadd(this.m)),res._forceRed(this)},Mont.prototype.invm=function(a){var res=this.imod(a._invmp(this.m).mul(this.r2));return res._forceRed(this)}})(typeof module>\"u\"||module,exports)}}),require_safer=__commonJS({\"node_modules/safer-buffer/safer.js\"(exports,module){var buffer=BufferModule,Buffer2=Buffer,safer={},key;for(key in buffer)!buffer.hasOwnProperty(key)||key===\"SlowBuffer\"||key===\"Buffer\"||(safer[key]=buffer[key]);var Safer=safer.Buffer={};for(key in Buffer2)!Buffer2.hasOwnProperty(key)||key===\"allocUnsafe\"||key===\"allocUnsafeSlow\"||(Safer[key]=Buffer2[key]);if(safer.Buffer.prototype=Buffer2.prototype,(!Safer.from||Safer.from===Uint8Array.from)&&(Safer.from=function(value,encodingOrOffset,length){if(typeof value==\"number\")@throwTypeError('The \"value\" argument must not be of type number. Received type '+typeof value);if(value&&typeof value.length>\"u\")@throwTypeError(\"The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type \"+typeof value);return Buffer2(value,encodingOrOffset,length)}),Safer.alloc||(Safer.alloc=function(size,fill,encoding){if(typeof size!=\"number\")@throwTypeError('The \"size\" argument must be of type number. Received type '+typeof size);if(size<0||size>=2*(1<<30))@throwRangeError('The value \"'+size+'\" is invalid for option \"size\"');var buf=Buffer2(size);return!fill||fill.length===0\?buf.fill(0):typeof encoding==\"string\"\?buf.fill(fill,encoding):buf.fill(fill),buf}),!safer.kStringMaxLength)try{safer.kStringMaxLength=MAX_STRING_LENGTH}catch{}safer.constants||(safer.constants={MAX_LENGTH:safer.kMaxLength},safer.kStringMaxLength&&(safer.constants.MAX_STRING_LENGTH=safer.kStringMaxLength)),module.exports=safer}}),require_reporter=__commonJS({\"node_modules/asn1.js/lib/asn1/base/reporter.js\"(exports){var inherits=require_inherits_browser();function Reporter(options){this._reporterState={obj:null,path:[],options:options||{},errors:[]}}exports.Reporter=Reporter,Reporter.prototype.isError=function(obj){return obj instanceof ReporterError},Reporter.prototype.save=function(){let state=this._reporterState;return{obj:state.obj,pathLen:state.path.length}},Reporter.prototype.restore=function(data){let state=this._reporterState;state.obj=data.obj,state.path=state.path.slice(0,data.pathLen)},Reporter.prototype.enterKey=function(key){return this._reporterState.path.push(key)},Reporter.prototype.exitKey=function(index){let state=this._reporterState;state.path=state.path.slice(0,index-1)},Reporter.prototype.leaveKey=function(index,key,value){let state=this._reporterState;this.exitKey(index),state.obj!==null&&(state.obj[key]=value)},Reporter.prototype.path=function(){return this._reporterState.path.join(\"/\")},Reporter.prototype.enterObject=function(){let state=this._reporterState,prev=state.obj;return state.obj={},prev},Reporter.prototype.leaveObject=function(prev){let state=this._reporterState,now=state.obj;return state.obj=prev,now},Reporter.prototype.error=function(msg){let err,state=this._reporterState,inherited=msg instanceof ReporterError;if(inherited\?err=msg:err=new ReporterError(state.path.map(function(elem){return\"[\"+JSON.stringify(elem)+\"]\"}).join(\"\"),msg.message||msg,msg.stack),!state.options.partial)throw err;return inherited||state.errors.push(err),err},Reporter.prototype.wrapResult=function(result){let state=this._reporterState;return state.options.partial\?{result:this.isError(result)\?null:result,errors:state.errors}:result};function ReporterError(path,msg){this.path=path,this.rethrow(msg)}inherits(ReporterError,Error),ReporterError.prototype.rethrow=function(msg){if(this.message=msg+\" at: \"+(this.path||\"(shallow)\"),Error.captureStackTrace&&Error.captureStackTrace(this,ReporterError),!this.stack)try{throw new Error(this.message)}catch(e){this.stack=e.stack}return this}}}),require_buffer=__commonJS({\"node_modules/asn1.js/lib/asn1/base/buffer.js\"(exports){var inherits=require_inherits_browser(),Reporter=require_reporter().Reporter,Buffer2=require_safer().Buffer;function DecoderBuffer(base,options){if(Reporter.call(this,options),!Buffer2.isBuffer(base)){this.error(\"Input not Buffer\");return}this.base=base,this.offset=0,this.length=base.length}inherits(DecoderBuffer,Reporter),exports.DecoderBuffer=DecoderBuffer,DecoderBuffer.isDecoderBuffer=function(data){return data instanceof DecoderBuffer\?!0:typeof data==\"object\"&&Buffer2.isBuffer(data.base)&&data.constructor.name===\"DecoderBuffer\"&&typeof data.offset==\"number\"&&typeof data.length==\"number\"&&typeof data.save==\"function\"&&typeof data.restore==\"function\"&&typeof data.isEmpty==\"function\"&&typeof data.readUInt8==\"function\"&&typeof data.skip==\"function\"&&typeof data.raw==\"function\"},DecoderBuffer.prototype.save=function(){return{offset:this.offset,reporter:Reporter.prototype.save.call(this)}},DecoderBuffer.prototype.restore=function(save){let res=new DecoderBuffer(this.base);return res.offset=save.offset,res.length=this.offset,this.offset=save.offset,Reporter.prototype.restore.call(this,save.reporter),res},DecoderBuffer.prototype.isEmpty=function(){return this.offset===this.length},DecoderBuffer.prototype.readUInt8=function(fail){return this.offset+1<=this.length\?this.base.readUInt8(this.offset++,!0):this.error(fail||\"DecoderBuffer overrun\")},DecoderBuffer.prototype.skip=function(bytes,fail){if(!(this.offset+bytes<=this.length))return this.error(fail||\"DecoderBuffer overrun\");let res=new DecoderBuffer(this.base);return res._reporterState=this._reporterState,res.offset=this.offset,res.length=this.offset+bytes,this.offset+=bytes,res},DecoderBuffer.prototype.raw=function(save){return this.base.slice(save\?save.offset:this.offset,this.length)};function EncoderBuffer(value,reporter){if(Array.isArray(value))this.length=0,this.value=value.map(function(item){return EncoderBuffer.isEncoderBuffer(item)||(item=new EncoderBuffer(item,reporter)),this.length+=item.length,item},this);else if(typeof value==\"number\"){if(!(0<=value&&value<=255))return reporter.error(\"non-byte EncoderBuffer value\");this.value=value,this.length=1}else if(typeof value==\"string\")this.value=value,this.length=Buffer2.byteLength(value);else if(Buffer2.isBuffer(value))this.value=value,this.length=value.length;else return reporter.error(\"Unsupported type: \"+typeof value)}exports.EncoderBuffer=EncoderBuffer,EncoderBuffer.isEncoderBuffer=function(data){return data instanceof EncoderBuffer\?!0:typeof data==\"object\"&&data.constructor.name===\"EncoderBuffer\"&&typeof data.length==\"number\"&&typeof data.join==\"function\"},EncoderBuffer.prototype.join=function(out,offset){return out||(out=Buffer2.alloc(this.length)),offset||(offset=0),this.length===0||(Array.isArray(this.value)\?this.value.forEach(function(item){item.join(out,offset),offset+=item.length}):(typeof this.value==\"number\"\?out[offset]=this.value:typeof this.value==\"string\"\?out.write(this.value,offset):Buffer2.isBuffer(this.value)&&this.value.copy(out,offset),offset+=this.length)),out}}}),require_node=__commonJS({\"node_modules/asn1.js/lib/asn1/base/node.js\"(exports,module){var Reporter=require_reporter().Reporter,EncoderBuffer=require_buffer().EncoderBuffer,DecoderBuffer=require_buffer().DecoderBuffer,assert=require_minimalistic_assert(),tags=[\"seq\",\"seqof\",\"set\",\"setof\",\"objid\",\"bool\",\"gentime\",\"utctime\",\"null_\",\"enum\",\"int\",\"objDesc\",\"bitstr\",\"bmpstr\",\"charstr\",\"genstr\",\"graphstr\",\"ia5str\",\"iso646str\",\"numstr\",\"octstr\",\"printstr\",\"t61str\",\"unistr\",\"utf8str\",\"videostr\"],methods=[\"key\",\"obj\",\"use\",\"optional\",\"explicit\",\"implicit\",\"def\",\"choice\",\"any\",\"contains\"].concat(tags),overrided=[\"_peekTag\",\"_decodeTag\",\"_use\",\"_decodeStr\",\"_decodeObjid\",\"_decodeTime\",\"_decodeNull\",\"_decodeInt\",\"_decodeBool\",\"_decodeList\",\"_encodeComposite\",\"_encodeStr\",\"_encodeObjid\",\"_encodeTime\",\"_encodeNull\",\"_encodeInt\",\"_encodeBool\"];function Node(enc,parent,name){let state={};this._baseState=state,state.name=name,state.enc=enc,state.parent=parent||null,state.children=null,state.tag=null,state.args=null,state.reverseArgs=null,state.choice=null,state.optional=!1,state.any=!1,state.obj=!1,state.use=null,state.useDecoder=null,state.key=null,state.default=null,state.explicit=null,state.implicit=null,state.contains=null,state.parent||(state.children=[],this._wrap())}module.exports=Node;var stateProps=[\"enc\",\"parent\",\"children\",\"tag\",\"args\",\"reverseArgs\",\"choice\",\"optional\",\"any\",\"obj\",\"use\",\"alteredUse\",\"key\",\"default\",\"explicit\",\"implicit\",\"contains\"];Node.prototype.clone=function(){let state=this._baseState,cstate={};stateProps.forEach(function(prop){cstate[prop]=state[prop]});let res=new this.constructor(cstate.parent);return res._baseState=cstate,res},Node.prototype._wrap=function(){let state=this._baseState;methods.forEach(function(method){this[method]=function(){let clone=new this.constructor(this);return state.children.push(clone),clone[method].apply(clone,arguments)}},this)},Node.prototype._init=function(body){let state=this._baseState;assert(state.parent===null),body.call(this),state.children=state.children.filter(function(child){return child._baseState.parent===this},this),assert.equal(state.children.length,1,\"Root node can have only one child\")},Node.prototype._useArgs=function(args){let state=this._baseState,children=args.filter(function(arg){return arg instanceof this.constructor},this);args=args.filter(function(arg){return!(arg instanceof this.constructor)},this),children.length!==0&&(assert(state.children===null),state.children=children,children.forEach(function(child){child._baseState.parent=this},this)),args.length!==0&&(assert(state.args===null),state.args=args,state.reverseArgs=args.map(function(arg){if(typeof arg!=\"object\"||arg.constructor!==Object)return arg;let res={};return Object.keys(arg).forEach(function(key){key==(key|0)&&(key|=0);let value=arg[key];res[value]=key}),res}))},overrided.forEach(function(method){Node.prototype[method]=function(){let state=this._baseState;throw new Error(method+\" not implemented for encoding: \"+state.enc)}}),tags.forEach(function(tag){Node.prototype[tag]=function(){let state=this._baseState,args=Array.prototype.slice.call(arguments);return assert(state.tag===null),state.tag=tag,this._useArgs(args),this}}),Node.prototype.use=function(item){assert(item);let state=this._baseState;return assert(state.use===null),state.use=item,this},Node.prototype.optional=function(){let state=this._baseState;return state.optional=!0,this},Node.prototype.def=function(val){let state=this._baseState;return assert(state.default===null),state.default=val,state.optional=!0,this},Node.prototype.explicit=function(num){let state=this._baseState;return assert(state.explicit===null&&state.implicit===null),state.explicit=num,this},Node.prototype.implicit=function(num){let state=this._baseState;return assert(state.explicit===null&&state.implicit===null),state.implicit=num,this},Node.prototype.obj=function(){let state=this._baseState,args=Array.prototype.slice.call(arguments);return state.obj=!0,args.length!==0&&this._useArgs(args),this},Node.prototype.key=function(newKey){let state=this._baseState;return assert(state.key===null),state.key=newKey,this},Node.prototype.any=function(){let state=this._baseState;return state.any=!0,this},Node.prototype.choice=function(obj){let state=this._baseState;return assert(state.choice===null),state.choice=obj,this._useArgs(Object.keys(obj).map(function(key){return obj[key]})),this},Node.prototype.contains=function(item){let state=this._baseState;return assert(state.use===null),state.contains=item,this},Node.prototype._decode=function(input,options){let state=this._baseState;if(state.parent===null)return input.wrapResult(state.children[0]._decode(input,options));let result=state.default,present=!0,prevKey=null;if(state.key!==null&&(prevKey=input.enterKey(state.key)),state.optional){let tag=null;if(state.explicit!==null\?tag=state.explicit:state.implicit!==null\?tag=state.implicit:state.tag!==null&&(tag=state.tag),tag===null&&!state.any){let save=input.save();try{state.choice===null\?this._decodeGeneric(state.tag,input,options):this._decodeChoice(input,options),present=!0}catch{present=!1}input.restore(save)}else if(present=this._peekTag(input,tag,state.any),input.isError(present))return present}let prevObj;if(state.obj&&present&&(prevObj=input.enterObject()),present){if(state.explicit!==null){let explicit=this._decodeTag(input,state.explicit);if(input.isError(explicit))return explicit;input=explicit}let start=input.offset;if(state.use===null&&state.choice===null){let save;state.any&&(save=input.save());let body=this._decodeTag(input,state.implicit!==null\?state.implicit:state.tag,state.any);if(input.isError(body))return body;state.any\?result=input.raw(save):input=body}if(options&&options.track&&state.tag!==null&&options.track(input.path(),start,input.length,\"tagged\"),options&&options.track&&state.tag!==null&&options.track(input.path(),input.offset,input.length,\"content\"),state.any||(state.choice===null\?result=this._decodeGeneric(state.tag,input,options):result=this._decodeChoice(input,options)),input.isError(result))return result;if(!state.any&&state.choice===null&&state.children!==null&&state.children.forEach(function(child){child._decode(input,options)}),state.contains&&(state.tag===\"octstr\"||state.tag===\"bitstr\")){let data=new DecoderBuffer(result);result=this._getUse(state.contains,input._reporterState.obj)._decode(data,options)}}return state.obj&&present&&(result=input.leaveObject(prevObj)),state.key!==null&&(result!==null||present===!0)\?input.leaveKey(prevKey,state.key,result):prevKey!==null&&input.exitKey(prevKey),result},Node.prototype._decodeGeneric=function(tag,input,options){let state=this._baseState;return tag===\"seq\"||tag===\"set\"\?null:tag===\"seqof\"||tag===\"setof\"\?this._decodeList(input,tag,state.args[0],options):/str$/.test(tag)\?this._decodeStr(input,tag,options):tag===\"objid\"&&state.args\?this._decodeObjid(input,state.args[0],state.args[1],options):tag===\"objid\"\?this._decodeObjid(input,null,null,options):tag===\"gentime\"||tag===\"utctime\"\?this._decodeTime(input,tag,options):tag===\"null_\"\?this._decodeNull(input,options):tag===\"bool\"\?this._decodeBool(input,options):tag===\"objDesc\"\?this._decodeStr(input,tag,options):tag===\"int\"||tag===\"enum\"\?this._decodeInt(input,state.args&&state.args[0],options):state.use!==null\?this._getUse(state.use,input._reporterState.obj)._decode(input,options):input.error(\"unknown tag: \"+tag)},Node.prototype._getUse=function(entity,obj){let state=this._baseState;return state.useDecoder=this._use(entity,obj),assert(state.useDecoder._baseState.parent===null),state.useDecoder=state.useDecoder._baseState.children[0],state.implicit!==state.useDecoder._baseState.implicit&&(state.useDecoder=state.useDecoder.clone(),state.useDecoder._baseState.implicit=state.implicit),state.useDecoder},Node.prototype._decodeChoice=function(input,options){let state=this._baseState,result=null,match=!1;return Object.keys(state.choice).some(function(key){let save=input.save(),node=state.choice[key];try{let value=node._decode(input,options);if(input.isError(value))return!1;result={type:key,value},match=!0}catch{return input.restore(save),!1}return!0},this),match\?result:input.error(\"Choice not matched\")},Node.prototype._createEncoderBuffer=function(data){return new EncoderBuffer(data,this.reporter)},Node.prototype._encode=function(data,reporter,parent){let state=this._baseState;if(state.default!==null&&state.default===data)return;let result=this._encodeValue(data,reporter,parent);if(result!==void 0&&!this._skipDefault(result,reporter,parent))return result},Node.prototype._encodeValue=function(data,reporter,parent){let state=this._baseState;if(state.parent===null)return state.children[0]._encode(data,reporter||new Reporter);let result=null;if(this.reporter=reporter,state.optional&&data===void 0)if(state.default!==null)data=state.default;else return;let content=null,primitive=!1;if(state.any)result=this._createEncoderBuffer(data);else if(state.choice)result=this._encodeChoice(data,reporter);else if(state.contains)content=this._getUse(state.contains,parent)._encode(data,reporter),primitive=!0;else if(state.children)content=state.children.map(function(child){if(child._baseState.tag===\"null_\")return child._encode(null,reporter,data);if(child._baseState.key===null)return reporter.error(\"Child should have a key\");let prevKey=reporter.enterKey(child._baseState.key);if(typeof data!=\"object\")return reporter.error(\"Child expected, but input is not object\");let res=child._encode(data[child._baseState.key],reporter,data);return reporter.leaveKey(prevKey),res},this).filter(function(child){return child}),content=this._createEncoderBuffer(content);else if(state.tag===\"seqof\"||state.tag===\"setof\"){if(!(state.args&&state.args.length===1))return reporter.error(\"Too many args for : \"+state.tag);if(!Array.isArray(data))return reporter.error(\"seqof/setof, but data is not Array\");let child=this.clone();child._baseState.implicit=null,content=this._createEncoderBuffer(data.map(function(item){let state2=this._baseState;return this._getUse(state2.args[0],data)._encode(item,reporter)},child))}else state.use!==null\?result=this._getUse(state.use,parent)._encode(data,reporter):(content=this._encodePrimitive(state.tag,data),primitive=!0);if(!state.any&&state.choice===null){let tag=state.implicit!==null\?state.implicit:state.tag,cls=state.implicit===null\?\"universal\":\"context\";tag===null\?state.use===null&&reporter.error(\"Tag could be omitted only for .use()\"):state.use===null&&(result=this._encodeComposite(tag,primitive,cls,content))}return state.explicit!==null&&(result=this._encodeComposite(state.explicit,!1,\"context\",result)),result},Node.prototype._encodeChoice=function(data,reporter){let state=this._baseState,node=state.choice[data.type];return node||assert(!1,data.type+\" not found in \"+JSON.stringify(Object.keys(state.choice))),node._encode(data.value,reporter)},Node.prototype._encodePrimitive=function(tag,data){let state=this._baseState;if(/str$/.test(tag))return this._encodeStr(data,tag);if(tag===\"objid\"&&state.args)return this._encodeObjid(data,state.reverseArgs[0],state.args[1]);if(tag===\"objid\")return this._encodeObjid(data,null,null);if(tag===\"gentime\"||tag===\"utctime\")return this._encodeTime(data,tag);if(tag===\"null_\")return this._encodeNull();if(tag===\"int\"||tag===\"enum\")return this._encodeInt(data,state.args&&state.reverseArgs[0]);if(tag===\"bool\")return this._encodeBool(data);if(tag===\"objDesc\")return this._encodeStr(data,tag);throw new Error(\"Unsupported tag: \"+tag)},Node.prototype._isNumstr=function(str){return/^[0-9 ]*$/.test(str)},Node.prototype._isPrintstr=function(str){return/^[A-Za-z0-9 '()+,-./:=\?]*$/.test(str)}}}),require_der=__commonJS({\"node_modules/asn1.js/lib/asn1/constants/der.js\"(exports){function reverse(map){let res={};return Object.keys(map).forEach(function(key){(key|0)==key&&(key=key|0);let value=map[key];res[value]=key}),res}exports.tagClass={0:\"universal\",1:\"application\",2:\"context\",3:\"private\"},exports.tagClassByName=reverse(exports.tagClass),exports.tag={0:\"end\",1:\"bool\",2:\"int\",3:\"bitstr\",4:\"octstr\",5:\"null_\",6:\"objid\",7:\"objDesc\",8:\"external\",9:\"real\",10:\"enum\",11:\"embed\",12:\"utf8str\",13:\"relativeOid\",16:\"seq\",17:\"set\",18:\"numstr\",19:\"printstr\",20:\"t61str\",21:\"videostr\",22:\"ia5str\",23:\"utctime\",24:\"gentime\",25:\"graphstr\",26:\"iso646str\",27:\"genstr\",28:\"unistr\",29:\"charstr\",30:\"bmpstr\"},exports.tagByName=reverse(exports.tag)}}),require_der2=__commonJS({\"node_modules/asn1.js/lib/asn1/encoders/der.js\"(exports,module){var inherits=require_inherits_browser(),Buffer2=require_safer().Buffer,Node=require_node(),der=require_der();function DEREncoder(entity){this.enc=\"der\",this.name=entity.name,this.entity=entity,this.tree=new DERNode,this.tree._init(entity.body)}module.exports=DEREncoder,DEREncoder.prototype.encode=function(data,reporter){return this.tree._encode(data,reporter).join()};function DERNode(parent){Node.call(this,\"der\",parent)}inherits(DERNode,Node),DERNode.prototype._encodeComposite=function(tag,primitive,cls,content){let encodedTag=encodeTag(tag,primitive,cls,this.reporter);if(content.length<128){let header2=Buffer2.alloc(2);return header2[0]=encodedTag,header2[1]=content.length,this._createEncoderBuffer([header2,content])}let lenOctets=1;for(let i=content.length;i>=256;i>>=8)lenOctets++;let header=Buffer2.alloc(2+lenOctets);header[0]=encodedTag,header[1]=128|lenOctets;for(let i=1+lenOctets,j=content.length;j>0;i--,j>>=8)header[i]=j&255;return this._createEncoderBuffer([header,content])},DERNode.prototype._encodeStr=function(str,tag){if(tag===\"bitstr\")return this._createEncoderBuffer([str.unused|0,str.data]);if(tag===\"bmpstr\"){let buf=Buffer2.alloc(str.length*2);for(let i=0;i=40)return this.reporter.error(\"Second objid identifier OOB\");id.splice(0,2,id[0]*40+id[1])}let size=0;for(let i=0;i=128;ident>>=7)size++}let objid=Buffer2.alloc(size),offset=objid.length-1;for(let i=id.length-1;i>=0;i--){let ident=id[i];for(objid[offset--]=ident&127;(ident>>=7)>0;)objid[offset--]=128|ident&127}return this._createEncoderBuffer(objid)};function two(num){return num<10\?\"0\"+num:num}DERNode.prototype._encodeTime=function(time,tag){let str,date=new Date(time);return tag===\"gentime\"\?str=[two(date.getUTCFullYear()),two(date.getUTCMonth()+1),two(date.getUTCDate()),two(date.getUTCHours()),two(date.getUTCMinutes()),two(date.getUTCSeconds()),\"Z\"].join(\"\"):tag===\"utctime\"\?str=[two(date.getUTCFullYear()%100),two(date.getUTCMonth()+1),two(date.getUTCDate()),two(date.getUTCHours()),two(date.getUTCMinutes()),two(date.getUTCSeconds()),\"Z\"].join(\"\"):this.reporter.error(\"Encoding \"+tag+\" time is not supported yet\"),this._encodeStr(str,\"octstr\")},DERNode.prototype._encodeNull=function(){return this._createEncoderBuffer(\"\")},DERNode.prototype._encodeInt=function(num,values){if(typeof num==\"string\"){if(!values)return this.reporter.error(\"String int or enum given, but no values map\");if(!values.hasOwnProperty(num))return this.reporter.error(\"Values map doesn't contain: \"+JSON.stringify(num));num=values[num]}if(typeof num!=\"number\"&&!Buffer2.isBuffer(num)){let numArray=num.toArray();!num.sign&&numArray[0]&128&&numArray.unshift(0),num=Buffer2.from(numArray)}if(Buffer2.isBuffer(num)){let size2=num.length;num.length===0&&size2++;let out2=Buffer2.alloc(size2);return num.copy(out2),num.length===0&&(out2[0]=0),this._createEncoderBuffer(out2)}if(num<128)return this._createEncoderBuffer(num);if(num<256)return this._createEncoderBuffer([0,num]);let size=1;for(let i=num;i>=256;i>>=8)size++;let out=new Array(size);for(let i=out.length-1;i>=0;i--)out[i]=num&255,num>>=8;return out[0]&128&&out.unshift(0),this._createEncoderBuffer(Buffer2.from(out))},DERNode.prototype._encodeBool=function(value){return this._createEncoderBuffer(value\?255:0)},DERNode.prototype._use=function(entity,obj){return typeof entity==\"function\"&&(entity=entity(obj)),entity._getEncoder(\"der\").tree},DERNode.prototype._skipDefault=function(dataBuffer,reporter,parent){let state=this._baseState,i;if(state.default===null)return!1;let data=dataBuffer.join();if(state.defaultBuffer===void 0&&(state.defaultBuffer=this._encodeValue(state.default,reporter,parent).join()),data.length!==state.defaultBuffer.length)return!1;for(i=0;i=31\?reporter.error(\"Multi-octet tag encoding unsupported\"):(primitive||(res|=32),res|=der.tagClassByName[cls||\"universal\"]<<6,res)}}}),require_pem=__commonJS({\"node_modules/asn1.js/lib/asn1/encoders/pem.js\"(exports,module){var inherits=require_inherits_browser(),DEREncoder=require_der2();function PEMEncoder(entity){DEREncoder.call(this,entity),this.enc=\"pem\"}inherits(PEMEncoder,DEREncoder),module.exports=PEMEncoder,PEMEncoder.prototype.encode=function(data,options){let p=DEREncoder.prototype.encode.call(this,data).toString(\"base64\"),out=[\"-----BEGIN \"+options.label+\"-----\"];for(let i=0;i>6],primitive=(tag&32)===0;if((tag&31)===31){let oct=tag;for(tag=0;(oct&128)===128;){if(oct=buf.readUInt8(fail),buf.isError(oct))return oct;tag<<=7,tag|=oct&127}}else tag&=31;let tagStr=der.tag[tag];return{cls,primitive,tag,tagStr}}function derDecodeLen(buf,primitive,fail){let len=buf.readUInt8(fail);if(buf.isError(len))return len;if(!primitive&&len===128)return null;if((len&128)===0)return len;let num=len&127;if(num>4)return buf.error(\"length octect is too long\");len=0;for(let i=0;i0&&bits.ishrn(shift),bits}function bits2octets(bits,q){bits=bits2int(bits,q),bits=bits.mod(q);var out=Buffer2.from(bits.toArray());if(out.length=q)throw new Error(\"invalid sig\")}module.exports=verify}}),require_browser8=__commonJS({\"node_modules/browserify-sign/browser/index.js\"(exports,module){var Buffer2=require_safe_buffer().Buffer,createHash=require_browser2(),inherits=require_inherits_browser(),sign=require_sign(),verify=require_verify(),algorithms=require_algorithms();Object.keys(algorithms).forEach(function(key){algorithms[key].id=Buffer2.from(algorithms[key].id,\"hex\"),algorithms[key.toLowerCase()]=algorithms[key]});function Sign(algorithm){StreamModule.Writable.call(this);var data=algorithms[algorithm];if(!data)throw new Error(\"Unknown message digest\");this._hashType=data.hash,this._hash=createHash(data.hash),this._tag=data.id,this._signType=data.sign}inherits(Sign,StreamModule.Writable),Sign.prototype._write=function(data,_,done){this._hash.update(data),done()},Sign.prototype.update=function(data,enc){return typeof data==\"string\"&&(data=Buffer2.from(data,enc)),this._hash.update(data),this},Sign.prototype.sign=function(key,enc){this.end();var hash=this._hash.digest(),sig=sign(hash,key,this._hashType,this._signType,this._tag);return enc\?sig.toString(enc):sig};function Verify(algorithm){StreamModule.Writable.call(this);var data=algorithms[algorithm];if(!data)throw new Error(\"Unknown message digest\");this._hash=createHash(data.hash),this._tag=data.id,this._signType=data.sign}inherits(Verify,StreamModule.Writable),Verify.prototype._write=function(data,_,done){this._hash.update(data),done()},Verify.prototype.update=function(data,enc){return typeof data==\"string\"&&(data=Buffer2.from(data,enc)),this._hash.update(data),this},Verify.prototype.verify=function(key,sig,enc){typeof sig==\"string\"&&(sig=Buffer2.from(sig,enc)),this.end();var hash=this._hash.digest();return verify(sig,hash,key,this._signType,this._tag)};function createSign(algorithm){return new Sign(algorithm)}function createVerify(algorithm){return new Verify(algorithm)}module.exports={Sign:createSign,Verify:createVerify,createSign,createVerify}}}),require_bn6=__commonJS({\"node_modules/create-ecdh/node_modules/bn.js/lib/bn.js\"(exports,module){(function(module2,exports2){function assert(val,msg){if(!val)throw new Error(msg||\"Assertion failed\")}function inherits(ctor,superCtor){ctor.super_=superCtor;var TempCtor=function(){};TempCtor.prototype=superCtor.prototype,ctor.prototype=new TempCtor,ctor.prototype.constructor=ctor}function BN(number,base,endian){if(BN.isBN(number))return number;this.negative=0,this.words=null,this.length=0,this.red=null,number!==null&&((base===\"le\"||base===\"be\")&&(endian=base,base=10),this._init(number||0,base||10,endian||\"be\"))}typeof module2==\"object\"\?module2.exports=BN:exports2.BN=BN,BN.BN=BN,BN.wordSize=26;var Buffer2=Buffer;BN.isBN=function(num){return num instanceof BN\?!0:num!==null&&typeof num==\"object\"&&num.constructor.wordSize===BN.wordSize&&Array.isArray(num.words)},BN.max=function(left,right){return left.cmp(right)>0\?left:right},BN.min=function(left,right){return left.cmp(right)<0\?left:right},BN.prototype._init=function(number,base,endian){if(typeof number==\"number\")return this._initNumber(number,base,endian);if(typeof number==\"object\")return this._initArray(number,base,endian);base===\"hex\"&&(base=16),assert(base===(base|0)&&base>=2&&base<=36),number=number.toString().replace(/\\s+/g,\"\");var start=0;number[0]===\"-\"&&(start++,this.negative=1),start=0;i-=3)w=number[i]|number[i-1]<<8|number[i-2]<<16,this.words[j]|=w<>>26-off&67108863,off+=24,off>=26&&(off-=26,j++);else if(endian===\"le\")for(i=0,j=0;i>>26-off&67108863,off+=24,off>=26&&(off-=26,j++);return this.strip()};function parseHex4Bits(string,index){var c=string.charCodeAt(index);return c>=65&&c<=70\?c-55:c>=97&&c<=102\?c-87:c-48&15}function parseHexByte(string,lowerBound,index){var r=parseHex4Bits(string,index);return index-1>=lowerBound&&(r|=parseHex4Bits(string,index-1)<<4),r}BN.prototype._parseHex=function(number,start,endian){this.length=Math.ceil((number.length-start)/6),this.words=new Array(this.length);for(var i=0;i=start;i-=2)w=parseHexByte(number,start,i)<=18\?(off-=18,j+=1,this.words[j]|=w>>>26):off+=8;else{var parseLength=number.length-start;for(i=parseLength%2===0\?start+1:start;i=18\?(off-=18,j+=1,this.words[j]|=w>>>26):off+=8}this.strip()};function parseBase(str,start,end,mul){for(var r=0,len=Math.min(str.length,end),i=start;i=49\?r+=c-49+10:c>=17\?r+=c-17+10:r+=c}return r}BN.prototype._parseBase=function(number,base,start){this.words=[0],this.length=1;for(var limbLen=0,limbPow=1;limbPow<=67108863;limbPow*=base)limbLen++;limbLen--,limbPow=limbPow/base|0;for(var total=number.length-start,mod=total%limbLen,end=Math.min(total,total-mod)+start,word=0,i=start;i1&&this.words[this.length-1]===0;)this.length--;return this._normSign()},BN.prototype._normSign=function(){return this.length===1&&this.words[0]===0&&(this.negative=0),this},BN.prototype.inspect=function(){return(this.red\?\"\"};var zeros=[\"\",\"0\",\"00\",\"000\",\"0000\",\"00000\",\"000000\",\"0000000\",\"00000000\",\"000000000\",\"0000000000\",\"00000000000\",\"000000000000\",\"0000000000000\",\"00000000000000\",\"000000000000000\",\"0000000000000000\",\"00000000000000000\",\"000000000000000000\",\"0000000000000000000\",\"00000000000000000000\",\"000000000000000000000\",\"0000000000000000000000\",\"00000000000000000000000\",\"000000000000000000000000\",\"0000000000000000000000000\"],groupSizes=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],groupBases=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64000000,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,24300000,28629151,33554432,39135393,45435424,52521875,60466176];BN.prototype.toString=function(base,padding){base=base||10,padding=padding|0||1;var out;if(base===16||base===\"hex\"){out=\"\";for(var off=0,carry=0,i=0;i>>24-off&16777215,carry!==0||i!==this.length-1\?out=zeros[6-word.length]+word+out:out=word+out,off+=2,off>=26&&(off-=26,i--)}for(carry!==0&&(out=carry.toString(16)+out);out.length%padding!==0;)out=\"0\"+out;return this.negative!==0&&(out=\"-\"+out),out}if(base===(base|0)&&base>=2&&base<=36){var groupSize=groupSizes[base],groupBase=groupBases[base];out=\"\";var c=this.clone();for(c.negative=0;!c.isZero();){var r=c.modn(groupBase).toString(base);c=c.idivn(groupBase),c.isZero()\?out=r+out:out=zeros[groupSize-r.length]+r+out}for(this.isZero()&&(out=\"0\"+out);out.length%padding!==0;)out=\"0\"+out;return this.negative!==0&&(out=\"-\"+out),out}assert(!1,\"Base should be between 2 and 36\")},BN.prototype.toNumber=function(){var ret=this.words[0];return this.length===2\?ret+=this.words[1]*67108864:this.length===3&&this.words[2]===1\?ret+=4503599627370496+this.words[1]*67108864:this.length>2&&assert(!1,\"Number can only safely store up to 53 bits\"),this.negative!==0\?-ret:ret},BN.prototype.toJSON=function(){return this.toString(16)},BN.prototype.toBuffer=function(endian,length){return assert(typeof Buffer2<\"u\"),this.toArrayLike(Buffer2,endian,length)},BN.prototype.toArray=function(endian,length){return this.toArrayLike(Array,endian,length)},BN.prototype.toArrayLike=function(ArrayType,endian,length){var byteLength=this.byteLength(),reqLength=length||Math.max(1,byteLength);assert(byteLength<=reqLength,\"byte array longer than desired length\"),assert(reqLength>0,\"Requested array length <= 0\"),this.strip();var littleEndian=endian===\"le\",res=new ArrayType(reqLength),b,i,q=this.clone();if(littleEndian){for(i=0;!q.isZero();i++)b=q.andln(255),q.iushrn(8),res[i]=b;for(;i=4096&&(r+=13,t>>>=13),t>=64&&(r+=7,t>>>=7),t>=8&&(r+=4,t>>>=4),t>=2&&(r+=2,t>>>=2),r+t},BN.prototype._zeroBits=function(w){if(w===0)return 26;var t=w,r=0;return(t&8191)===0&&(r+=13,t>>>=13),(t&127)===0&&(r+=7,t>>>=7),(t&15)===0&&(r+=4,t>>>=4),(t&3)===0&&(r+=2,t>>>=2),(t&1)===0&&r++,r},BN.prototype.bitLength=function(){var w=this.words[this.length-1],hi=this._countBits(w);return(this.length-1)*26+hi};function toBitArray(num){for(var w=new Array(num.bitLength()),bit=0;bit>>wbit}return w}BN.prototype.zeroBits=function(){if(this.isZero())return 0;for(var r=0,i=0;inum.length\?this.clone().ior(num):num.clone().ior(this)},BN.prototype.uor=function(num){return this.length>num.length\?this.clone().iuor(num):num.clone().iuor(this)},BN.prototype.iuand=function(num){var b;this.length>num.length\?b=num:b=this;for(var i=0;inum.length\?this.clone().iand(num):num.clone().iand(this)},BN.prototype.uand=function(num){return this.length>num.length\?this.clone().iuand(num):num.clone().iuand(this)},BN.prototype.iuxor=function(num){var a,b;this.length>num.length\?(a=this,b=num):(a=num,b=this);for(var i=0;inum.length\?this.clone().ixor(num):num.clone().ixor(this)},BN.prototype.uxor=function(num){return this.length>num.length\?this.clone().iuxor(num):num.clone().iuxor(this)},BN.prototype.inotn=function(width){assert(typeof width==\"number\"&&width>=0);var bytesNeeded=Math.ceil(width/26)|0,bitsLeft=width%26;this._expand(bytesNeeded),bitsLeft>0&&bytesNeeded--;for(var i=0;i0&&(this.words[i]=~this.words[i]&67108863>>26-bitsLeft),this.strip()},BN.prototype.notn=function(width){return this.clone().inotn(width)},BN.prototype.setn=function(bit,val){assert(typeof bit==\"number\"&&bit>=0);var off=bit/26|0,wbit=bit%26;return this._expand(off+1),val\?this.words[off]=this.words[off]|1<num.length\?(a=this,b=num):(a=num,b=this);for(var carry=0,i=0;i>>26;for(;carry!==0&&i>>26;if(this.length=a.length,carry!==0)this.words[this.length]=carry,this.length++;else if(a!==this)for(;inum.length\?this.clone().iadd(num):num.clone().iadd(this)},BN.prototype.isub=function(num){if(num.negative!==0){num.negative=0;var r=this.iadd(num);return num.negative=1,r._normSign()}else if(this.negative!==0)return this.negative=0,this.iadd(num),this.negative=1,this._normSign();var cmp=this.cmp(num);if(cmp===0)return this.negative=0,this.length=1,this.words[0]=0,this;var a,b;cmp>0\?(a=this,b=num):(a=num,b=this);for(var carry=0,i=0;i>26,this.words[i]=r&67108863;for(;carry!==0&&i>26,this.words[i]=r&67108863;if(carry===0&&i>>26,rword=carry&67108863,maxJ=Math.min(k,num.length-1),j=Math.max(0,k-self2.length+1);j<=maxJ;j++){var i=k-j|0;a=self2.words[i]|0,b=num.words[j]|0,r=a*b+rword,ncarry+=r/67108864|0,rword=r&67108863}out.words[k]=rword|0,carry=ncarry|0}return carry!==0\?out.words[k]=carry|0:out.length--,out.strip()}var comb10MulTo=function(self2,num,out){var a=self2.words,b=num.words,o=out.words,c=0,lo,mid,hi,a0=a[0]|0,al0=a0&8191,ah0=a0>>>13,a1=a[1]|0,al1=a1&8191,ah1=a1>>>13,a2=a[2]|0,al2=a2&8191,ah2=a2>>>13,a3=a[3]|0,al3=a3&8191,ah3=a3>>>13,a4=a[4]|0,al4=a4&8191,ah4=a4>>>13,a5=a[5]|0,al5=a5&8191,ah5=a5>>>13,a6=a[6]|0,al6=a6&8191,ah6=a6>>>13,a7=a[7]|0,al7=a7&8191,ah7=a7>>>13,a8=a[8]|0,al8=a8&8191,ah8=a8>>>13,a9=a[9]|0,al9=a9&8191,ah9=a9>>>13,b0=b[0]|0,bl0=b0&8191,bh0=b0>>>13,b1=b[1]|0,bl1=b1&8191,bh1=b1>>>13,b2=b[2]|0,bl2=b2&8191,bh2=b2>>>13,b3=b[3]|0,bl3=b3&8191,bh3=b3>>>13,b4=b[4]|0,bl4=b4&8191,bh4=b4>>>13,b5=b[5]|0,bl5=b5&8191,bh5=b5>>>13,b6=b[6]|0,bl6=b6&8191,bh6=b6>>>13,b7=b[7]|0,bl7=b7&8191,bh7=b7>>>13,b8=b[8]|0,bl8=b8&8191,bh8=b8>>>13,b9=b[9]|0,bl9=b9&8191,bh9=b9>>>13;out.negative=self2.negative^num.negative,out.length=19,lo=Math.imul(al0,bl0),mid=Math.imul(al0,bh0),mid=mid+Math.imul(ah0,bl0)|0,hi=Math.imul(ah0,bh0);var w0=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w0>>>26)|0,w0&=67108863,lo=Math.imul(al1,bl0),mid=Math.imul(al1,bh0),mid=mid+Math.imul(ah1,bl0)|0,hi=Math.imul(ah1,bh0),lo=lo+Math.imul(al0,bl1)|0,mid=mid+Math.imul(al0,bh1)|0,mid=mid+Math.imul(ah0,bl1)|0,hi=hi+Math.imul(ah0,bh1)|0;var w1=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w1>>>26)|0,w1&=67108863,lo=Math.imul(al2,bl0),mid=Math.imul(al2,bh0),mid=mid+Math.imul(ah2,bl0)|0,hi=Math.imul(ah2,bh0),lo=lo+Math.imul(al1,bl1)|0,mid=mid+Math.imul(al1,bh1)|0,mid=mid+Math.imul(ah1,bl1)|0,hi=hi+Math.imul(ah1,bh1)|0,lo=lo+Math.imul(al0,bl2)|0,mid=mid+Math.imul(al0,bh2)|0,mid=mid+Math.imul(ah0,bl2)|0,hi=hi+Math.imul(ah0,bh2)|0;var w2=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w2>>>26)|0,w2&=67108863,lo=Math.imul(al3,bl0),mid=Math.imul(al3,bh0),mid=mid+Math.imul(ah3,bl0)|0,hi=Math.imul(ah3,bh0),lo=lo+Math.imul(al2,bl1)|0,mid=mid+Math.imul(al2,bh1)|0,mid=mid+Math.imul(ah2,bl1)|0,hi=hi+Math.imul(ah2,bh1)|0,lo=lo+Math.imul(al1,bl2)|0,mid=mid+Math.imul(al1,bh2)|0,mid=mid+Math.imul(ah1,bl2)|0,hi=hi+Math.imul(ah1,bh2)|0,lo=lo+Math.imul(al0,bl3)|0,mid=mid+Math.imul(al0,bh3)|0,mid=mid+Math.imul(ah0,bl3)|0,hi=hi+Math.imul(ah0,bh3)|0;var w3=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w3>>>26)|0,w3&=67108863,lo=Math.imul(al4,bl0),mid=Math.imul(al4,bh0),mid=mid+Math.imul(ah4,bl0)|0,hi=Math.imul(ah4,bh0),lo=lo+Math.imul(al3,bl1)|0,mid=mid+Math.imul(al3,bh1)|0,mid=mid+Math.imul(ah3,bl1)|0,hi=hi+Math.imul(ah3,bh1)|0,lo=lo+Math.imul(al2,bl2)|0,mid=mid+Math.imul(al2,bh2)|0,mid=mid+Math.imul(ah2,bl2)|0,hi=hi+Math.imul(ah2,bh2)|0,lo=lo+Math.imul(al1,bl3)|0,mid=mid+Math.imul(al1,bh3)|0,mid=mid+Math.imul(ah1,bl3)|0,hi=hi+Math.imul(ah1,bh3)|0,lo=lo+Math.imul(al0,bl4)|0,mid=mid+Math.imul(al0,bh4)|0,mid=mid+Math.imul(ah0,bl4)|0,hi=hi+Math.imul(ah0,bh4)|0;var w4=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w4>>>26)|0,w4&=67108863,lo=Math.imul(al5,bl0),mid=Math.imul(al5,bh0),mid=mid+Math.imul(ah5,bl0)|0,hi=Math.imul(ah5,bh0),lo=lo+Math.imul(al4,bl1)|0,mid=mid+Math.imul(al4,bh1)|0,mid=mid+Math.imul(ah4,bl1)|0,hi=hi+Math.imul(ah4,bh1)|0,lo=lo+Math.imul(al3,bl2)|0,mid=mid+Math.imul(al3,bh2)|0,mid=mid+Math.imul(ah3,bl2)|0,hi=hi+Math.imul(ah3,bh2)|0,lo=lo+Math.imul(al2,bl3)|0,mid=mid+Math.imul(al2,bh3)|0,mid=mid+Math.imul(ah2,bl3)|0,hi=hi+Math.imul(ah2,bh3)|0,lo=lo+Math.imul(al1,bl4)|0,mid=mid+Math.imul(al1,bh4)|0,mid=mid+Math.imul(ah1,bl4)|0,hi=hi+Math.imul(ah1,bh4)|0,lo=lo+Math.imul(al0,bl5)|0,mid=mid+Math.imul(al0,bh5)|0,mid=mid+Math.imul(ah0,bl5)|0,hi=hi+Math.imul(ah0,bh5)|0;var w5=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w5>>>26)|0,w5&=67108863,lo=Math.imul(al6,bl0),mid=Math.imul(al6,bh0),mid=mid+Math.imul(ah6,bl0)|0,hi=Math.imul(ah6,bh0),lo=lo+Math.imul(al5,bl1)|0,mid=mid+Math.imul(al5,bh1)|0,mid=mid+Math.imul(ah5,bl1)|0,hi=hi+Math.imul(ah5,bh1)|0,lo=lo+Math.imul(al4,bl2)|0,mid=mid+Math.imul(al4,bh2)|0,mid=mid+Math.imul(ah4,bl2)|0,hi=hi+Math.imul(ah4,bh2)|0,lo=lo+Math.imul(al3,bl3)|0,mid=mid+Math.imul(al3,bh3)|0,mid=mid+Math.imul(ah3,bl3)|0,hi=hi+Math.imul(ah3,bh3)|0,lo=lo+Math.imul(al2,bl4)|0,mid=mid+Math.imul(al2,bh4)|0,mid=mid+Math.imul(ah2,bl4)|0,hi=hi+Math.imul(ah2,bh4)|0,lo=lo+Math.imul(al1,bl5)|0,mid=mid+Math.imul(al1,bh5)|0,mid=mid+Math.imul(ah1,bl5)|0,hi=hi+Math.imul(ah1,bh5)|0,lo=lo+Math.imul(al0,bl6)|0,mid=mid+Math.imul(al0,bh6)|0,mid=mid+Math.imul(ah0,bl6)|0,hi=hi+Math.imul(ah0,bh6)|0;var w6=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w6>>>26)|0,w6&=67108863,lo=Math.imul(al7,bl0),mid=Math.imul(al7,bh0),mid=mid+Math.imul(ah7,bl0)|0,hi=Math.imul(ah7,bh0),lo=lo+Math.imul(al6,bl1)|0,mid=mid+Math.imul(al6,bh1)|0,mid=mid+Math.imul(ah6,bl1)|0,hi=hi+Math.imul(ah6,bh1)|0,lo=lo+Math.imul(al5,bl2)|0,mid=mid+Math.imul(al5,bh2)|0,mid=mid+Math.imul(ah5,bl2)|0,hi=hi+Math.imul(ah5,bh2)|0,lo=lo+Math.imul(al4,bl3)|0,mid=mid+Math.imul(al4,bh3)|0,mid=mid+Math.imul(ah4,bl3)|0,hi=hi+Math.imul(ah4,bh3)|0,lo=lo+Math.imul(al3,bl4)|0,mid=mid+Math.imul(al3,bh4)|0,mid=mid+Math.imul(ah3,bl4)|0,hi=hi+Math.imul(ah3,bh4)|0,lo=lo+Math.imul(al2,bl5)|0,mid=mid+Math.imul(al2,bh5)|0,mid=mid+Math.imul(ah2,bl5)|0,hi=hi+Math.imul(ah2,bh5)|0,lo=lo+Math.imul(al1,bl6)|0,mid=mid+Math.imul(al1,bh6)|0,mid=mid+Math.imul(ah1,bl6)|0,hi=hi+Math.imul(ah1,bh6)|0,lo=lo+Math.imul(al0,bl7)|0,mid=mid+Math.imul(al0,bh7)|0,mid=mid+Math.imul(ah0,bl7)|0,hi=hi+Math.imul(ah0,bh7)|0;var w7=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w7>>>26)|0,w7&=67108863,lo=Math.imul(al8,bl0),mid=Math.imul(al8,bh0),mid=mid+Math.imul(ah8,bl0)|0,hi=Math.imul(ah8,bh0),lo=lo+Math.imul(al7,bl1)|0,mid=mid+Math.imul(al7,bh1)|0,mid=mid+Math.imul(ah7,bl1)|0,hi=hi+Math.imul(ah7,bh1)|0,lo=lo+Math.imul(al6,bl2)|0,mid=mid+Math.imul(al6,bh2)|0,mid=mid+Math.imul(ah6,bl2)|0,hi=hi+Math.imul(ah6,bh2)|0,lo=lo+Math.imul(al5,bl3)|0,mid=mid+Math.imul(al5,bh3)|0,mid=mid+Math.imul(ah5,bl3)|0,hi=hi+Math.imul(ah5,bh3)|0,lo=lo+Math.imul(al4,bl4)|0,mid=mid+Math.imul(al4,bh4)|0,mid=mid+Math.imul(ah4,bl4)|0,hi=hi+Math.imul(ah4,bh4)|0,lo=lo+Math.imul(al3,bl5)|0,mid=mid+Math.imul(al3,bh5)|0,mid=mid+Math.imul(ah3,bl5)|0,hi=hi+Math.imul(ah3,bh5)|0,lo=lo+Math.imul(al2,bl6)|0,mid=mid+Math.imul(al2,bh6)|0,mid=mid+Math.imul(ah2,bl6)|0,hi=hi+Math.imul(ah2,bh6)|0,lo=lo+Math.imul(al1,bl7)|0,mid=mid+Math.imul(al1,bh7)|0,mid=mid+Math.imul(ah1,bl7)|0,hi=hi+Math.imul(ah1,bh7)|0,lo=lo+Math.imul(al0,bl8)|0,mid=mid+Math.imul(al0,bh8)|0,mid=mid+Math.imul(ah0,bl8)|0,hi=hi+Math.imul(ah0,bh8)|0;var w8=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w8>>>26)|0,w8&=67108863,lo=Math.imul(al9,bl0),mid=Math.imul(al9,bh0),mid=mid+Math.imul(ah9,bl0)|0,hi=Math.imul(ah9,bh0),lo=lo+Math.imul(al8,bl1)|0,mid=mid+Math.imul(al8,bh1)|0,mid=mid+Math.imul(ah8,bl1)|0,hi=hi+Math.imul(ah8,bh1)|0,lo=lo+Math.imul(al7,bl2)|0,mid=mid+Math.imul(al7,bh2)|0,mid=mid+Math.imul(ah7,bl2)|0,hi=hi+Math.imul(ah7,bh2)|0,lo=lo+Math.imul(al6,bl3)|0,mid=mid+Math.imul(al6,bh3)|0,mid=mid+Math.imul(ah6,bl3)|0,hi=hi+Math.imul(ah6,bh3)|0,lo=lo+Math.imul(al5,bl4)|0,mid=mid+Math.imul(al5,bh4)|0,mid=mid+Math.imul(ah5,bl4)|0,hi=hi+Math.imul(ah5,bh4)|0,lo=lo+Math.imul(al4,bl5)|0,mid=mid+Math.imul(al4,bh5)|0,mid=mid+Math.imul(ah4,bl5)|0,hi=hi+Math.imul(ah4,bh5)|0,lo=lo+Math.imul(al3,bl6)|0,mid=mid+Math.imul(al3,bh6)|0,mid=mid+Math.imul(ah3,bl6)|0,hi=hi+Math.imul(ah3,bh6)|0,lo=lo+Math.imul(al2,bl7)|0,mid=mid+Math.imul(al2,bh7)|0,mid=mid+Math.imul(ah2,bl7)|0,hi=hi+Math.imul(ah2,bh7)|0,lo=lo+Math.imul(al1,bl8)|0,mid=mid+Math.imul(al1,bh8)|0,mid=mid+Math.imul(ah1,bl8)|0,hi=hi+Math.imul(ah1,bh8)|0,lo=lo+Math.imul(al0,bl9)|0,mid=mid+Math.imul(al0,bh9)|0,mid=mid+Math.imul(ah0,bl9)|0,hi=hi+Math.imul(ah0,bh9)|0;var w9=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w9>>>26)|0,w9&=67108863,lo=Math.imul(al9,bl1),mid=Math.imul(al9,bh1),mid=mid+Math.imul(ah9,bl1)|0,hi=Math.imul(ah9,bh1),lo=lo+Math.imul(al8,bl2)|0,mid=mid+Math.imul(al8,bh2)|0,mid=mid+Math.imul(ah8,bl2)|0,hi=hi+Math.imul(ah8,bh2)|0,lo=lo+Math.imul(al7,bl3)|0,mid=mid+Math.imul(al7,bh3)|0,mid=mid+Math.imul(ah7,bl3)|0,hi=hi+Math.imul(ah7,bh3)|0,lo=lo+Math.imul(al6,bl4)|0,mid=mid+Math.imul(al6,bh4)|0,mid=mid+Math.imul(ah6,bl4)|0,hi=hi+Math.imul(ah6,bh4)|0,lo=lo+Math.imul(al5,bl5)|0,mid=mid+Math.imul(al5,bh5)|0,mid=mid+Math.imul(ah5,bl5)|0,hi=hi+Math.imul(ah5,bh5)|0,lo=lo+Math.imul(al4,bl6)|0,mid=mid+Math.imul(al4,bh6)|0,mid=mid+Math.imul(ah4,bl6)|0,hi=hi+Math.imul(ah4,bh6)|0,lo=lo+Math.imul(al3,bl7)|0,mid=mid+Math.imul(al3,bh7)|0,mid=mid+Math.imul(ah3,bl7)|0,hi=hi+Math.imul(ah3,bh7)|0,lo=lo+Math.imul(al2,bl8)|0,mid=mid+Math.imul(al2,bh8)|0,mid=mid+Math.imul(ah2,bl8)|0,hi=hi+Math.imul(ah2,bh8)|0,lo=lo+Math.imul(al1,bl9)|0,mid=mid+Math.imul(al1,bh9)|0,mid=mid+Math.imul(ah1,bl9)|0,hi=hi+Math.imul(ah1,bh9)|0;var w10=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w10>>>26)|0,w10&=67108863,lo=Math.imul(al9,bl2),mid=Math.imul(al9,bh2),mid=mid+Math.imul(ah9,bl2)|0,hi=Math.imul(ah9,bh2),lo=lo+Math.imul(al8,bl3)|0,mid=mid+Math.imul(al8,bh3)|0,mid=mid+Math.imul(ah8,bl3)|0,hi=hi+Math.imul(ah8,bh3)|0,lo=lo+Math.imul(al7,bl4)|0,mid=mid+Math.imul(al7,bh4)|0,mid=mid+Math.imul(ah7,bl4)|0,hi=hi+Math.imul(ah7,bh4)|0,lo=lo+Math.imul(al6,bl5)|0,mid=mid+Math.imul(al6,bh5)|0,mid=mid+Math.imul(ah6,bl5)|0,hi=hi+Math.imul(ah6,bh5)|0,lo=lo+Math.imul(al5,bl6)|0,mid=mid+Math.imul(al5,bh6)|0,mid=mid+Math.imul(ah5,bl6)|0,hi=hi+Math.imul(ah5,bh6)|0,lo=lo+Math.imul(al4,bl7)|0,mid=mid+Math.imul(al4,bh7)|0,mid=mid+Math.imul(ah4,bl7)|0,hi=hi+Math.imul(ah4,bh7)|0,lo=lo+Math.imul(al3,bl8)|0,mid=mid+Math.imul(al3,bh8)|0,mid=mid+Math.imul(ah3,bl8)|0,hi=hi+Math.imul(ah3,bh8)|0,lo=lo+Math.imul(al2,bl9)|0,mid=mid+Math.imul(al2,bh9)|0,mid=mid+Math.imul(ah2,bl9)|0,hi=hi+Math.imul(ah2,bh9)|0;var w11=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w11>>>26)|0,w11&=67108863,lo=Math.imul(al9,bl3),mid=Math.imul(al9,bh3),mid=mid+Math.imul(ah9,bl3)|0,hi=Math.imul(ah9,bh3),lo=lo+Math.imul(al8,bl4)|0,mid=mid+Math.imul(al8,bh4)|0,mid=mid+Math.imul(ah8,bl4)|0,hi=hi+Math.imul(ah8,bh4)|0,lo=lo+Math.imul(al7,bl5)|0,mid=mid+Math.imul(al7,bh5)|0,mid=mid+Math.imul(ah7,bl5)|0,hi=hi+Math.imul(ah7,bh5)|0,lo=lo+Math.imul(al6,bl6)|0,mid=mid+Math.imul(al6,bh6)|0,mid=mid+Math.imul(ah6,bl6)|0,hi=hi+Math.imul(ah6,bh6)|0,lo=lo+Math.imul(al5,bl7)|0,mid=mid+Math.imul(al5,bh7)|0,mid=mid+Math.imul(ah5,bl7)|0,hi=hi+Math.imul(ah5,bh7)|0,lo=lo+Math.imul(al4,bl8)|0,mid=mid+Math.imul(al4,bh8)|0,mid=mid+Math.imul(ah4,bl8)|0,hi=hi+Math.imul(ah4,bh8)|0,lo=lo+Math.imul(al3,bl9)|0,mid=mid+Math.imul(al3,bh9)|0,mid=mid+Math.imul(ah3,bl9)|0,hi=hi+Math.imul(ah3,bh9)|0;var w12=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w12>>>26)|0,w12&=67108863,lo=Math.imul(al9,bl4),mid=Math.imul(al9,bh4),mid=mid+Math.imul(ah9,bl4)|0,hi=Math.imul(ah9,bh4),lo=lo+Math.imul(al8,bl5)|0,mid=mid+Math.imul(al8,bh5)|0,mid=mid+Math.imul(ah8,bl5)|0,hi=hi+Math.imul(ah8,bh5)|0,lo=lo+Math.imul(al7,bl6)|0,mid=mid+Math.imul(al7,bh6)|0,mid=mid+Math.imul(ah7,bl6)|0,hi=hi+Math.imul(ah7,bh6)|0,lo=lo+Math.imul(al6,bl7)|0,mid=mid+Math.imul(al6,bh7)|0,mid=mid+Math.imul(ah6,bl7)|0,hi=hi+Math.imul(ah6,bh7)|0,lo=lo+Math.imul(al5,bl8)|0,mid=mid+Math.imul(al5,bh8)|0,mid=mid+Math.imul(ah5,bl8)|0,hi=hi+Math.imul(ah5,bh8)|0,lo=lo+Math.imul(al4,bl9)|0,mid=mid+Math.imul(al4,bh9)|0,mid=mid+Math.imul(ah4,bl9)|0,hi=hi+Math.imul(ah4,bh9)|0;var w13=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w13>>>26)|0,w13&=67108863,lo=Math.imul(al9,bl5),mid=Math.imul(al9,bh5),mid=mid+Math.imul(ah9,bl5)|0,hi=Math.imul(ah9,bh5),lo=lo+Math.imul(al8,bl6)|0,mid=mid+Math.imul(al8,bh6)|0,mid=mid+Math.imul(ah8,bl6)|0,hi=hi+Math.imul(ah8,bh6)|0,lo=lo+Math.imul(al7,bl7)|0,mid=mid+Math.imul(al7,bh7)|0,mid=mid+Math.imul(ah7,bl7)|0,hi=hi+Math.imul(ah7,bh7)|0,lo=lo+Math.imul(al6,bl8)|0,mid=mid+Math.imul(al6,bh8)|0,mid=mid+Math.imul(ah6,bl8)|0,hi=hi+Math.imul(ah6,bh8)|0,lo=lo+Math.imul(al5,bl9)|0,mid=mid+Math.imul(al5,bh9)|0,mid=mid+Math.imul(ah5,bl9)|0,hi=hi+Math.imul(ah5,bh9)|0;var w14=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w14>>>26)|0,w14&=67108863,lo=Math.imul(al9,bl6),mid=Math.imul(al9,bh6),mid=mid+Math.imul(ah9,bl6)|0,hi=Math.imul(ah9,bh6),lo=lo+Math.imul(al8,bl7)|0,mid=mid+Math.imul(al8,bh7)|0,mid=mid+Math.imul(ah8,bl7)|0,hi=hi+Math.imul(ah8,bh7)|0,lo=lo+Math.imul(al7,bl8)|0,mid=mid+Math.imul(al7,bh8)|0,mid=mid+Math.imul(ah7,bl8)|0,hi=hi+Math.imul(ah7,bh8)|0,lo=lo+Math.imul(al6,bl9)|0,mid=mid+Math.imul(al6,bh9)|0,mid=mid+Math.imul(ah6,bl9)|0,hi=hi+Math.imul(ah6,bh9)|0;var w15=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w15>>>26)|0,w15&=67108863,lo=Math.imul(al9,bl7),mid=Math.imul(al9,bh7),mid=mid+Math.imul(ah9,bl7)|0,hi=Math.imul(ah9,bh7),lo=lo+Math.imul(al8,bl8)|0,mid=mid+Math.imul(al8,bh8)|0,mid=mid+Math.imul(ah8,bl8)|0,hi=hi+Math.imul(ah8,bh8)|0,lo=lo+Math.imul(al7,bl9)|0,mid=mid+Math.imul(al7,bh9)|0,mid=mid+Math.imul(ah7,bl9)|0,hi=hi+Math.imul(ah7,bh9)|0;var w16=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w16>>>26)|0,w16&=67108863,lo=Math.imul(al9,bl8),mid=Math.imul(al9,bh8),mid=mid+Math.imul(ah9,bl8)|0,hi=Math.imul(ah9,bh8),lo=lo+Math.imul(al8,bl9)|0,mid=mid+Math.imul(al8,bh9)|0,mid=mid+Math.imul(ah8,bl9)|0,hi=hi+Math.imul(ah8,bh9)|0;var w17=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w17>>>26)|0,w17&=67108863,lo=Math.imul(al9,bl9),mid=Math.imul(al9,bh9),mid=mid+Math.imul(ah9,bl9)|0,hi=Math.imul(ah9,bh9);var w18=(c+lo|0)+((mid&8191)<<13)|0;return c=(hi+(mid>>>13)|0)+(w18>>>26)|0,w18&=67108863,o[0]=w0,o[1]=w1,o[2]=w2,o[3]=w3,o[4]=w4,o[5]=w5,o[6]=w6,o[7]=w7,o[8]=w8,o[9]=w9,o[10]=w10,o[11]=w11,o[12]=w12,o[13]=w13,o[14]=w14,o[15]=w15,o[16]=w16,o[17]=w17,o[18]=w18,c!==0&&(o[19]=c,out.length++),out};Math.imul||(comb10MulTo=smallMulTo);function bigMulTo(self2,num,out){out.negative=num.negative^self2.negative,out.length=self2.length+num.length;for(var carry=0,hncarry=0,k=0;k>>26)|0,hncarry+=ncarry>>>26,ncarry&=67108863}out.words[k]=rword,carry=ncarry,ncarry=hncarry}return carry!==0\?out.words[k]=carry:out.length--,out.strip()}function jumboMulTo(self2,num,out){var fftm=new FFTM;return fftm.mulp(self2,num,out)}BN.prototype.mulTo=function(num,out){var res,len=this.length+num.length;return this.length===10&&num.length===10\?res=comb10MulTo(this,num,out):len<63\?res=smallMulTo(this,num,out):len<1024\?res=bigMulTo(this,num,out):res=jumboMulTo(this,num,out),res};function FFTM(x,y){this.x=x,this.y=y}FFTM.prototype.makeRBT=function(N){for(var t=new Array(N),l=BN.prototype._countBits(N)-1,i=0;i>=1;return rb},FFTM.prototype.permute=function(rbt,rws,iws,rtws,itws,N){for(var i=0;i>>1)i++;return 1<>>13,rws[2*i+1]=carry&8191,carry=carry>>>13;for(i=2*len;i>=26,carry+=w/67108864|0,carry+=lo>>>26,this.words[i]=lo&67108863}return carry!==0&&(this.words[i]=carry,this.length++),this},BN.prototype.muln=function(num){return this.clone().imuln(num)},BN.prototype.sqr=function(){return this.mul(this)},BN.prototype.isqr=function(){return this.imul(this.clone())},BN.prototype.pow=function(num){var w=toBitArray(num);if(w.length===0)return new BN(1);for(var res=this,i=0;i=0);var r=bits%26,s=(bits-r)/26,carryMask=67108863>>>26-r<<26-r,i;if(r!==0){var carry=0;for(i=0;i>>26-r}carry&&(this.words[i]=carry,this.length++)}if(s!==0){for(i=this.length-1;i>=0;i--)this.words[i+s]=this.words[i];for(i=0;i=0);var h;hint\?h=(hint-hint%26)/26:h=0;var r=bits%26,s=Math.min((bits-r)/26,this.length),mask=67108863^67108863>>>r<s)for(this.length-=s,i=0;i=0&&(carry!==0||i>=h);i--){var word=this.words[i]|0;this.words[i]=carry<<26-r|word>>>r,carry=word&mask}return maskedWords&&carry!==0&&(maskedWords.words[maskedWords.length++]=carry),this.length===0&&(this.words[0]=0,this.length=1),this.strip()},BN.prototype.ishrn=function(bits,hint,extended){return assert(this.negative===0),this.iushrn(bits,hint,extended)},BN.prototype.shln=function(bits){return this.clone().ishln(bits)},BN.prototype.ushln=function(bits){return this.clone().iushln(bits)},BN.prototype.shrn=function(bits){return this.clone().ishrn(bits)},BN.prototype.ushrn=function(bits){return this.clone().iushrn(bits)},BN.prototype.testn=function(bit){assert(typeof bit==\"number\"&&bit>=0);var r=bit%26,s=(bit-r)/26,q=1<=0);var r=bits%26,s=(bits-r)/26;if(assert(this.negative===0,\"imaskn works only with positive numbers\"),this.length<=s)return this;if(r!==0&&s++,this.length=Math.min(s,this.length),r!==0){var mask=67108863^67108863>>>r<=67108864;i++)this.words[i]-=67108864,i===this.length-1\?this.words[i+1]=1:this.words[i+1]++;return this.length=Math.max(this.length,i+1),this},BN.prototype.isubn=function(num){if(assert(typeof num==\"number\"),assert(num<67108864),num<0)return this.iaddn(-num);if(this.negative!==0)return this.negative=0,this.iaddn(num),this.negative=1,this;if(this.words[0]-=num,this.length===1&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var i=0;i>26)-(right/67108864|0),this.words[i+shift]=w&67108863}for(;i>26,this.words[i+shift]=w&67108863;if(carry===0)return this.strip();for(assert(carry===-1),carry=0,i=0;i>26,this.words[i]=w&67108863;return this.negative=1,this.strip()},BN.prototype._wordDiv=function(num,mode){var shift=this.length-num.length,a=this.clone(),b=num,bhi=b.words[b.length-1]|0,bhiBits=this._countBits(bhi);shift=26-bhiBits,shift!==0&&(b=b.ushln(shift),a.iushln(shift),bhi=b.words[b.length-1]|0);var m=a.length-b.length,q;if(mode!==\"mod\"){q=new BN(null),q.length=m+1,q.words=new Array(q.length);for(var i=0;i=0;j--){var qj=(a.words[b.length+j]|0)*67108864+(a.words[b.length+j-1]|0);for(qj=Math.min(qj/bhi|0,67108863),a._ishlnsubmul(b,qj,j);a.negative!==0;)qj--,a.negative=0,a._ishlnsubmul(b,1,j),a.isZero()||(a.negative^=1);q&&(q.words[j]=qj)}return q&&q.strip(),a.strip(),mode!==\"div\"&&shift!==0&&a.iushrn(shift),{div:q||null,mod:a}},BN.prototype.divmod=function(num,mode,positive){if(assert(!num.isZero()),this.isZero())return{div:new BN(0),mod:new BN(0)};var div,mod,res;return this.negative!==0&&num.negative===0\?(res=this.neg().divmod(num,mode),mode!==\"mod\"&&(div=res.div.neg()),mode!==\"div\"&&(mod=res.mod.neg(),positive&&mod.negative!==0&&mod.iadd(num)),{div,mod}):this.negative===0&&num.negative!==0\?(res=this.divmod(num.neg(),mode),mode!==\"mod\"&&(div=res.div.neg()),{div,mod:res.mod}):(this.negative&num.negative)!==0\?(res=this.neg().divmod(num.neg(),mode),mode!==\"div\"&&(mod=res.mod.neg(),positive&&mod.negative!==0&&mod.isub(num)),{div:res.div,mod}):num.length>this.length||this.cmp(num)<0\?{div:new BN(0),mod:this}:num.length===1\?mode===\"div\"\?{div:this.divn(num.words[0]),mod:null}:mode===\"mod\"\?{div:null,mod:new BN(this.modn(num.words[0]))}:{div:this.divn(num.words[0]),mod:new BN(this.modn(num.words[0]))}:this._wordDiv(num,mode)},BN.prototype.div=function(num){return this.divmod(num,\"div\",!1).div},BN.prototype.mod=function(num){return this.divmod(num,\"mod\",!1).mod},BN.prototype.umod=function(num){return this.divmod(num,\"mod\",!0).mod},BN.prototype.divRound=function(num){var dm=this.divmod(num);if(dm.mod.isZero())return dm.div;var mod=dm.div.negative!==0\?dm.mod.isub(num):dm.mod,half=num.ushrn(1),r2=num.andln(1),cmp=mod.cmp(half);return cmp<0||r2===1&&cmp===0\?dm.div:dm.div.negative!==0\?dm.div.isubn(1):dm.div.iaddn(1)},BN.prototype.modn=function(num){assert(num<=67108863);for(var p=(1<<26)%num,acc=0,i=this.length-1;i>=0;i--)acc=(p*acc+(this.words[i]|0))%num;return acc},BN.prototype.idivn=function(num){assert(num<=67108863);for(var carry=0,i=this.length-1;i>=0;i--){var w=(this.words[i]|0)+carry*67108864;this.words[i]=w/num|0,carry=w%num}return this.strip()},BN.prototype.divn=function(num){return this.clone().idivn(num)},BN.prototype.egcd=function(p){assert(p.negative===0),assert(!p.isZero());var x=this,y=p.clone();x.negative!==0\?x=x.umod(p):x=x.clone();for(var A=new BN(1),B=new BN(0),C=new BN(0),D=new BN(1),g=0;x.isEven()&&y.isEven();)x.iushrn(1),y.iushrn(1),++g;for(var yp=y.clone(),xp=x.clone();!x.isZero();){for(var i=0,im=1;(x.words[0]&im)===0&&i<26;++i,im<<=1);if(i>0)for(x.iushrn(i);i-- >0;)(A.isOdd()||B.isOdd())&&(A.iadd(yp),B.isub(xp)),A.iushrn(1),B.iushrn(1);for(var j=0,jm=1;(y.words[0]&jm)===0&&j<26;++j,jm<<=1);if(j>0)for(y.iushrn(j);j-- >0;)(C.isOdd()||D.isOdd())&&(C.iadd(yp),D.isub(xp)),C.iushrn(1),D.iushrn(1);x.cmp(y)>=0\?(x.isub(y),A.isub(C),B.isub(D)):(y.isub(x),C.isub(A),D.isub(B))}return{a:C,b:D,gcd:y.iushln(g)}},BN.prototype._invmp=function(p){assert(p.negative===0),assert(!p.isZero());var a=this,b=p.clone();a.negative!==0\?a=a.umod(p):a=a.clone();for(var x1=new BN(1),x2=new BN(0),delta=b.clone();a.cmpn(1)>0&&b.cmpn(1)>0;){for(var i=0,im=1;(a.words[0]&im)===0&&i<26;++i,im<<=1);if(i>0)for(a.iushrn(i);i-- >0;)x1.isOdd()&&x1.iadd(delta),x1.iushrn(1);for(var j=0,jm=1;(b.words[0]&jm)===0&&j<26;++j,jm<<=1);if(j>0)for(b.iushrn(j);j-- >0;)x2.isOdd()&&x2.iadd(delta),x2.iushrn(1);a.cmp(b)>=0\?(a.isub(b),x1.isub(x2)):(b.isub(a),x2.isub(x1))}var res;return a.cmpn(1)===0\?res=x1:res=x2,res.cmpn(0)<0&&res.iadd(p),res},BN.prototype.gcd=function(num){if(this.isZero())return num.abs();if(num.isZero())return this.abs();var a=this.clone(),b=num.clone();a.negative=0,b.negative=0;for(var shift=0;a.isEven()&&b.isEven();shift++)a.iushrn(1),b.iushrn(1);do{for(;a.isEven();)a.iushrn(1);for(;b.isEven();)b.iushrn(1);var r=a.cmp(b);if(r<0){var t=a;a=b,b=t}else if(r===0||b.cmpn(1)===0)break;a.isub(b)}while(!0);return b.iushln(shift)},BN.prototype.invm=function(num){return this.egcd(num).a.umod(num)},BN.prototype.isEven=function(){return(this.words[0]&1)===0},BN.prototype.isOdd=function(){return(this.words[0]&1)===1},BN.prototype.andln=function(num){return this.words[0]&num},BN.prototype.bincn=function(bit){assert(typeof bit==\"number\");var r=bit%26,s=(bit-r)/26,q=1<>>26,w&=67108863,this.words[i]=w}return carry!==0&&(this.words[i]=carry,this.length++),this},BN.prototype.isZero=function(){return this.length===1&&this.words[0]===0},BN.prototype.cmpn=function(num){var negative=num<0;if(this.negative!==0&&!negative)return-1;if(this.negative===0&&negative)return 1;this.strip();var res;if(this.length>1)res=1;else{negative&&(num=-num),assert(num<=67108863,\"Number is too big\");var w=this.words[0]|0;res=w===num\?0:wnum.length)return 1;if(this.length=0;i--){var a=this.words[i]|0,b=num.words[i]|0;if(a!==b){ab&&(res=1);break}}return res},BN.prototype.gtn=function(num){return this.cmpn(num)===1},BN.prototype.gt=function(num){return this.cmp(num)===1},BN.prototype.gten=function(num){return this.cmpn(num)>=0},BN.prototype.gte=function(num){return this.cmp(num)>=0},BN.prototype.ltn=function(num){return this.cmpn(num)===-1},BN.prototype.lt=function(num){return this.cmp(num)===-1},BN.prototype.lten=function(num){return this.cmpn(num)<=0},BN.prototype.lte=function(num){return this.cmp(num)<=0},BN.prototype.eqn=function(num){return this.cmpn(num)===0},BN.prototype.eq=function(num){return this.cmp(num)===0},BN.red=function(num){return new Red(num)},BN.prototype.toRed=function(ctx){return assert(!this.red,\"Already a number in reduction context\"),assert(this.negative===0,\"red works only with positives\"),ctx.convertTo(this)._forceRed(ctx)},BN.prototype.fromRed=function(){return assert(this.red,\"fromRed works only with numbers in reduction context\"),this.red.convertFrom(this)},BN.prototype._forceRed=function(ctx){return this.red=ctx,this},BN.prototype.forceRed=function(ctx){return assert(!this.red,\"Already a number in reduction context\"),this._forceRed(ctx)},BN.prototype.redAdd=function(num){return assert(this.red,\"redAdd works only with red numbers\"),this.red.add(this,num)},BN.prototype.redIAdd=function(num){return assert(this.red,\"redIAdd works only with red numbers\"),this.red.iadd(this,num)},BN.prototype.redSub=function(num){return assert(this.red,\"redSub works only with red numbers\"),this.red.sub(this,num)},BN.prototype.redISub=function(num){return assert(this.red,\"redISub works only with red numbers\"),this.red.isub(this,num)},BN.prototype.redShl=function(num){return assert(this.red,\"redShl works only with red numbers\"),this.red.shl(this,num)},BN.prototype.redMul=function(num){return assert(this.red,\"redMul works only with red numbers\"),this.red._verify2(this,num),this.red.mul(this,num)},BN.prototype.redIMul=function(num){return assert(this.red,\"redMul works only with red numbers\"),this.red._verify2(this,num),this.red.imul(this,num)},BN.prototype.redSqr=function(){return assert(this.red,\"redSqr works only with red numbers\"),this.red._verify1(this),this.red.sqr(this)},BN.prototype.redISqr=function(){return assert(this.red,\"redISqr works only with red numbers\"),this.red._verify1(this),this.red.isqr(this)},BN.prototype.redSqrt=function(){return assert(this.red,\"redSqrt works only with red numbers\"),this.red._verify1(this),this.red.sqrt(this)},BN.prototype.redInvm=function(){return assert(this.red,\"redInvm works only with red numbers\"),this.red._verify1(this),this.red.invm(this)},BN.prototype.redNeg=function(){return assert(this.red,\"redNeg works only with red numbers\"),this.red._verify1(this),this.red.neg(this)},BN.prototype.redPow=function(num){return assert(this.red&&!num.red,\"redPow(normalNum)\"),this.red._verify1(this),this.red.pow(this,num)};var primes={k256:null,p224:null,p192:null,p25519:null};function MPrime(name,p){this.name=name,this.p=new BN(p,16),this.n=this.p.bitLength(),this.k=new BN(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}MPrime.prototype._tmp=function(){var tmp=new BN(null);return tmp.words=new Array(Math.ceil(this.n/13)),tmp},MPrime.prototype.ireduce=function(num){var r=num,rlen;do this.split(r,this.tmp),r=this.imulK(r),r=r.iadd(this.tmp),rlen=r.bitLength();while(rlen>this.n);var cmp=rlen0\?r.isub(this.p):r.strip!==void 0\?r.strip():r._strip(),r},MPrime.prototype.split=function(input,out){input.iushrn(this.n,0,out)},MPrime.prototype.imulK=function(num){return num.imul(this.k)};function K256(){MPrime.call(this,\"k256\",\"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f\")}inherits(K256,MPrime),K256.prototype.split=function(input,output){for(var mask=4194303,outLen=Math.min(input.length,9),i=0;i>>22,prev=next}prev>>>=22,input.words[i-10]=prev,prev===0&&input.length>10\?input.length-=10:input.length-=9},K256.prototype.imulK=function(num){num.words[num.length]=0,num.words[num.length+1]=0,num.length+=2;for(var lo=0,i=0;i>>=26,num.words[i]=lo,carry=hi}return carry!==0&&(num.words[num.length++]=carry),num},BN._prime=function(name){if(primes[name])return primes[name];var prime2;if(name===\"k256\")prime2=new K256;else if(name===\"p224\")prime2=new P224;else if(name===\"p192\")prime2=new P192;else if(name===\"p25519\")prime2=new P25519;else throw new Error(\"Unknown prime \"+name);return primes[name]=prime2,prime2};function Red(m){if(typeof m==\"string\"){var prime=BN._prime(m);this.m=prime.p,this.prime=prime}else assert(m.gtn(1),\"modulus must be greater than 1\"),this.m=m,this.prime=null}Red.prototype._verify1=function(a){assert(a.negative===0,\"red works only with positives\"),assert(a.red,\"red works only with red numbers\")},Red.prototype._verify2=function(a,b){assert((a.negative|b.negative)===0,\"red works only with positives\"),assert(a.red&&a.red===b.red,\"red works only with red numbers\")},Red.prototype.imod=function(a){return this.prime\?this.prime.ireduce(a)._forceRed(this):a.umod(this.m)._forceRed(this)},Red.prototype.neg=function(a){return a.isZero()\?a.clone():this.m.sub(a)._forceRed(this)},Red.prototype.add=function(a,b){this._verify2(a,b);var res=a.add(b);return res.cmp(this.m)>=0&&res.isub(this.m),res._forceRed(this)},Red.prototype.iadd=function(a,b){this._verify2(a,b);var res=a.iadd(b);return res.cmp(this.m)>=0&&res.isub(this.m),res},Red.prototype.sub=function(a,b){this._verify2(a,b);var res=a.sub(b);return res.cmpn(0)<0&&res.iadd(this.m),res._forceRed(this)},Red.prototype.isub=function(a,b){this._verify2(a,b);var res=a.isub(b);return res.cmpn(0)<0&&res.iadd(this.m),res},Red.prototype.shl=function(a,num){return this._verify1(a),this.imod(a.ushln(num))},Red.prototype.imul=function(a,b){return this._verify2(a,b),this.imod(a.imul(b))},Red.prototype.mul=function(a,b){return this._verify2(a,b),this.imod(a.mul(b))},Red.prototype.isqr=function(a){return this.imul(a,a.clone())},Red.prototype.sqr=function(a){return this.mul(a,a)},Red.prototype.sqrt=function(a){if(a.isZero())return a.clone();var mod3=this.m.andln(3);if(assert(mod3%2===1),mod3===3){var pow=this.m.add(new BN(1)).iushrn(2);return this.pow(a,pow)}for(var q=this.m.subn(1),s=0;!q.isZero()&&q.andln(1)===0;)s++,q.iushrn(1);assert(!q.isZero());var one=new BN(1).toRed(this),nOne=one.redNeg(),lpow=this.m.subn(1).iushrn(1),z=this.m.bitLength();for(z=new BN(2*z*z).toRed(this);this.pow(z,lpow).cmp(nOne)!==0;)z.redIAdd(nOne);for(var c=this.pow(z,q),r=this.pow(a,q.addn(1).iushrn(1)),t=this.pow(a,q),m=s;t.cmp(one)!==0;){for(var tmp=t,i=0;tmp.cmp(one)!==0;i++)tmp=tmp.redSqr();assert(i=0;i--){for(var word=num.words[i],j=start-1;j>=0;j--){var bit=word>>j&1;if(res!==wnd[0]&&(res=this.sqr(res)),bit===0&¤t===0){currentLen=0;continue}current<<=1,current|=bit,currentLen++,!(currentLen!==windowSize&&(i!==0||j!==0))&&(res=this.mul(res,wnd[current]),currentLen=0,current=0)}start=26}return res},Red.prototype.convertTo=function(num){var r=num.umod(this.m);return r===num\?r.clone():r},Red.prototype.convertFrom=function(num){var res=num.clone();return res.red=null,res},BN.mont=function(num){return new Mont(num)};function Mont(m){Red.call(this,m),this.shift=this.m.bitLength(),this.shift%26!==0&&(this.shift+=26-this.shift%26),this.r=new BN(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}inherits(Mont,Red),Mont.prototype.convertTo=function(num){return this.imod(num.ushln(this.shift))},Mont.prototype.convertFrom=function(num){var r=this.imod(num.mul(this.rinv));return r.red=null,r},Mont.prototype.imul=function(a,b){if(a.isZero()||b.isZero())return a.words[0]=0,a.length=1,a;var t=a.imul(b),c=t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),u=t.isub(c).iushrn(this.shift),res=u;return u.cmp(this.m)>=0\?res=u.isub(this.m):u.cmpn(0)<0&&(res=u.iadd(this.m)),res._forceRed(this)},Mont.prototype.mul=function(a,b){if(a.isZero()||b.isZero())return new BN(0)._forceRed(this);var t=a.mul(b),c=t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),u=t.isub(c).iushrn(this.shift),res=u;return u.cmp(this.m)>=0\?res=u.isub(this.m):u.cmpn(0)<0&&(res=u.iadd(this.m)),res._forceRed(this)},Mont.prototype.invm=function(a){var res=this.imod(a._invmp(this.m).mul(this.r2));return res._forceRed(this)}})(typeof module>\"u\"||module,exports)}}),require_browser9=__commonJS({\"node_modules/create-ecdh/browser.js\"(exports,module){var elliptic=require_elliptic(),BN=require_bn6();module.exports=function(curve){return new ECDH(curve)};var aliases={secp256k1:{name:\"secp256k1\",byteLength:32},secp224r1:{name:\"p224\",byteLength:28},prime256v1:{name:\"p256\",byteLength:32},prime192v1:{name:\"p192\",byteLength:24},ed25519:{name:\"ed25519\",byteLength:32},secp384r1:{name:\"p384\",byteLength:48},secp521r1:{name:\"p521\",byteLength:66}};aliases.p224=aliases.secp224r1,aliases.p256=aliases.secp256r1=aliases.prime256v1,aliases.p192=aliases.secp192r1=aliases.prime192v1,aliases.p384=aliases.secp384r1,aliases.p521=aliases.secp521r1;function ECDH(curve){this.curveType=aliases[curve],this.curveType||(this.curveType={name:curve}),this.curve=new elliptic.ec(this.curveType.name),this.keys=void 0}ECDH.prototype.generateKeys=function(enc,format){return this.keys=this.curve.genKeyPair(),this.getPublicKey(enc,format)},ECDH.prototype.computeSecret=function(other,inenc,enc){inenc=inenc||\"utf8\",Buffer.isBuffer(other)||(other=new Buffer(other,inenc));var otherPub=this.curve.keyFromPublic(other).getPublic(),out=otherPub.mul(this.keys.getPrivate()).getX();return formatReturnValue(out,enc,this.curveType.byteLength)},ECDH.prototype.getPublicKey=function(enc,format){var key=this.keys.getPublic(format===\"compressed\",!0);return format===\"hybrid\"&&(key[key.length-1]%2\?key[0]=7:key[0]=6),formatReturnValue(key,enc)},ECDH.prototype.getPrivateKey=function(enc){return formatReturnValue(this.keys.getPrivate(),enc)},ECDH.prototype.setPublicKey=function(pub,enc){return enc=enc||\"utf8\",Buffer.isBuffer(pub)||(pub=new Buffer(pub,enc)),this.keys._importPublic(pub),this},ECDH.prototype.setPrivateKey=function(priv,enc){enc=enc||\"utf8\",Buffer.isBuffer(priv)||(priv=new Buffer(priv,enc));var _priv=new BN(priv);return _priv=_priv.toString(16),this.keys=this.curve.genKeyPair(),this.keys._importPrivate(_priv),this};function formatReturnValue(bn,enc,len){Array.isArray(bn)||(bn=bn.toArray());var buf=new Buffer(bn);if(len&&buf.length0\?left:right},BN.min=function(left,right){return left.cmp(right)<0\?left:right},BN.prototype._init=function(number,base,endian){if(typeof number==\"number\")return this._initNumber(number,base,endian);if(typeof number==\"object\")return this._initArray(number,base,endian);base===\"hex\"&&(base=16),assert(base===(base|0)&&base>=2&&base<=36),number=number.toString().replace(/\\s+/g,\"\");var start=0;number[0]===\"-\"&&(start++,this.negative=1),start=0;i-=3)w=number[i]|number[i-1]<<8|number[i-2]<<16,this.words[j]|=w<>>26-off&67108863,off+=24,off>=26&&(off-=26,j++);else if(endian===\"le\")for(i=0,j=0;i>>26-off&67108863,off+=24,off>=26&&(off-=26,j++);return this.strip()};function parseHex4Bits(string,index){var c=string.charCodeAt(index);return c>=65&&c<=70\?c-55:c>=97&&c<=102\?c-87:c-48&15}function parseHexByte(string,lowerBound,index){var r=parseHex4Bits(string,index);return index-1>=lowerBound&&(r|=parseHex4Bits(string,index-1)<<4),r}BN.prototype._parseHex=function(number,start,endian){this.length=Math.ceil((number.length-start)/6),this.words=new Array(this.length);for(var i=0;i=start;i-=2)w=parseHexByte(number,start,i)<=18\?(off-=18,j+=1,this.words[j]|=w>>>26):off+=8;else{var parseLength=number.length-start;for(i=parseLength%2===0\?start+1:start;i=18\?(off-=18,j+=1,this.words[j]|=w>>>26):off+=8}this.strip()};function parseBase(str,start,end,mul){for(var r=0,len=Math.min(str.length,end),i=start;i=49\?r+=c-49+10:c>=17\?r+=c-17+10:r+=c}return r}BN.prototype._parseBase=function(number,base,start){this.words=[0],this.length=1;for(var limbLen=0,limbPow=1;limbPow<=67108863;limbPow*=base)limbLen++;limbLen--,limbPow=limbPow/base|0;for(var total=number.length-start,mod=total%limbLen,end=Math.min(total,total-mod)+start,word=0,i=start;i1&&this.words[this.length-1]===0;)this.length--;return this._normSign()},BN.prototype._normSign=function(){return this.length===1&&this.words[0]===0&&(this.negative=0),this},BN.prototype.inspect=function(){return(this.red\?\"\"};var zeros=[\"\",\"0\",\"00\",\"000\",\"0000\",\"00000\",\"000000\",\"0000000\",\"00000000\",\"000000000\",\"0000000000\",\"00000000000\",\"000000000000\",\"0000000000000\",\"00000000000000\",\"000000000000000\",\"0000000000000000\",\"00000000000000000\",\"000000000000000000\",\"0000000000000000000\",\"00000000000000000000\",\"000000000000000000000\",\"0000000000000000000000\",\"00000000000000000000000\",\"000000000000000000000000\",\"0000000000000000000000000\"],groupSizes=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],groupBases=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64000000,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,24300000,28629151,33554432,39135393,45435424,52521875,60466176];BN.prototype.toString=function(base,padding){base=base||10,padding=padding|0||1;var out;if(base===16||base===\"hex\"){out=\"\";for(var off=0,carry=0,i=0;i>>24-off&16777215,carry!==0||i!==this.length-1\?out=zeros[6-word.length]+word+out:out=word+out,off+=2,off>=26&&(off-=26,i--)}for(carry!==0&&(out=carry.toString(16)+out);out.length%padding!==0;)out=\"0\"+out;return this.negative!==0&&(out=\"-\"+out),out}if(base===(base|0)&&base>=2&&base<=36){var groupSize=groupSizes[base],groupBase=groupBases[base];out=\"\";var c=this.clone();for(c.negative=0;!c.isZero();){var r=c.modn(groupBase).toString(base);c=c.idivn(groupBase),c.isZero()\?out=r+out:out=zeros[groupSize-r.length]+r+out}for(this.isZero()&&(out=\"0\"+out);out.length%padding!==0;)out=\"0\"+out;return this.negative!==0&&(out=\"-\"+out),out}assert(!1,\"Base should be between 2 and 36\")},BN.prototype.toNumber=function(){var ret=this.words[0];return this.length===2\?ret+=this.words[1]*67108864:this.length===3&&this.words[2]===1\?ret+=4503599627370496+this.words[1]*67108864:this.length>2&&assert(!1,\"Number can only safely store up to 53 bits\"),this.negative!==0\?-ret:ret},BN.prototype.toJSON=function(){return this.toString(16)},BN.prototype.toBuffer=function(endian,length){return assert(typeof Buffer2<\"u\"),this.toArrayLike(Buffer2,endian,length)},BN.prototype.toArray=function(endian,length){return this.toArrayLike(Array,endian,length)},BN.prototype.toArrayLike=function(ArrayType,endian,length){var byteLength=this.byteLength(),reqLength=length||Math.max(1,byteLength);assert(byteLength<=reqLength,\"byte array longer than desired length\"),assert(reqLength>0,\"Requested array length <= 0\"),this.strip();var littleEndian=endian===\"le\",res=new ArrayType(reqLength),b,i,q=this.clone();if(littleEndian){for(i=0;!q.isZero();i++)b=q.andln(255),q.iushrn(8),res[i]=b;for(;i=4096&&(r+=13,t>>>=13),t>=64&&(r+=7,t>>>=7),t>=8&&(r+=4,t>>>=4),t>=2&&(r+=2,t>>>=2),r+t},BN.prototype._zeroBits=function(w){if(w===0)return 26;var t=w,r=0;return(t&8191)===0&&(r+=13,t>>>=13),(t&127)===0&&(r+=7,t>>>=7),(t&15)===0&&(r+=4,t>>>=4),(t&3)===0&&(r+=2,t>>>=2),(t&1)===0&&r++,r},BN.prototype.bitLength=function(){var w=this.words[this.length-1],hi=this._countBits(w);return(this.length-1)*26+hi};function toBitArray(num){for(var w=new Array(num.bitLength()),bit=0;bit>>wbit}return w}BN.prototype.zeroBits=function(){if(this.isZero())return 0;for(var r=0,i=0;inum.length\?this.clone().ior(num):num.clone().ior(this)},BN.prototype.uor=function(num){return this.length>num.length\?this.clone().iuor(num):num.clone().iuor(this)},BN.prototype.iuand=function(num){var b;this.length>num.length\?b=num:b=this;for(var i=0;inum.length\?this.clone().iand(num):num.clone().iand(this)},BN.prototype.uand=function(num){return this.length>num.length\?this.clone().iuand(num):num.clone().iuand(this)},BN.prototype.iuxor=function(num){var a,b;this.length>num.length\?(a=this,b=num):(a=num,b=this);for(var i=0;inum.length\?this.clone().ixor(num):num.clone().ixor(this)},BN.prototype.uxor=function(num){return this.length>num.length\?this.clone().iuxor(num):num.clone().iuxor(this)},BN.prototype.inotn=function(width){assert(typeof width==\"number\"&&width>=0);var bytesNeeded=Math.ceil(width/26)|0,bitsLeft=width%26;this._expand(bytesNeeded),bitsLeft>0&&bytesNeeded--;for(var i=0;i0&&(this.words[i]=~this.words[i]&67108863>>26-bitsLeft),this.strip()},BN.prototype.notn=function(width){return this.clone().inotn(width)},BN.prototype.setn=function(bit,val){assert(typeof bit==\"number\"&&bit>=0);var off=bit/26|0,wbit=bit%26;return this._expand(off+1),val\?this.words[off]=this.words[off]|1<num.length\?(a=this,b=num):(a=num,b=this);for(var carry=0,i=0;i>>26;for(;carry!==0&&i>>26;if(this.length=a.length,carry!==0)this.words[this.length]=carry,this.length++;else if(a!==this)for(;inum.length\?this.clone().iadd(num):num.clone().iadd(this)},BN.prototype.isub=function(num){if(num.negative!==0){num.negative=0;var r=this.iadd(num);return num.negative=1,r._normSign()}else if(this.negative!==0)return this.negative=0,this.iadd(num),this.negative=1,this._normSign();var cmp=this.cmp(num);if(cmp===0)return this.negative=0,this.length=1,this.words[0]=0,this;var a,b;cmp>0\?(a=this,b=num):(a=num,b=this);for(var carry=0,i=0;i>26,this.words[i]=r&67108863;for(;carry!==0&&i>26,this.words[i]=r&67108863;if(carry===0&&i>>26,rword=carry&67108863,maxJ=Math.min(k,num.length-1),j=Math.max(0,k-self2.length+1);j<=maxJ;j++){var i=k-j|0;a=self2.words[i]|0,b=num.words[j]|0,r=a*b+rword,ncarry+=r/67108864|0,rword=r&67108863}out.words[k]=rword|0,carry=ncarry|0}return carry!==0\?out.words[k]=carry|0:out.length--,out.strip()}var comb10MulTo=function(self2,num,out){var a=self2.words,b=num.words,o=out.words,c=0,lo,mid,hi,a0=a[0]|0,al0=a0&8191,ah0=a0>>>13,a1=a[1]|0,al1=a1&8191,ah1=a1>>>13,a2=a[2]|0,al2=a2&8191,ah2=a2>>>13,a3=a[3]|0,al3=a3&8191,ah3=a3>>>13,a4=a[4]|0,al4=a4&8191,ah4=a4>>>13,a5=a[5]|0,al5=a5&8191,ah5=a5>>>13,a6=a[6]|0,al6=a6&8191,ah6=a6>>>13,a7=a[7]|0,al7=a7&8191,ah7=a7>>>13,a8=a[8]|0,al8=a8&8191,ah8=a8>>>13,a9=a[9]|0,al9=a9&8191,ah9=a9>>>13,b0=b[0]|0,bl0=b0&8191,bh0=b0>>>13,b1=b[1]|0,bl1=b1&8191,bh1=b1>>>13,b2=b[2]|0,bl2=b2&8191,bh2=b2>>>13,b3=b[3]|0,bl3=b3&8191,bh3=b3>>>13,b4=b[4]|0,bl4=b4&8191,bh4=b4>>>13,b5=b[5]|0,bl5=b5&8191,bh5=b5>>>13,b6=b[6]|0,bl6=b6&8191,bh6=b6>>>13,b7=b[7]|0,bl7=b7&8191,bh7=b7>>>13,b8=b[8]|0,bl8=b8&8191,bh8=b8>>>13,b9=b[9]|0,bl9=b9&8191,bh9=b9>>>13;out.negative=self2.negative^num.negative,out.length=19,lo=Math.imul(al0,bl0),mid=Math.imul(al0,bh0),mid=mid+Math.imul(ah0,bl0)|0,hi=Math.imul(ah0,bh0);var w0=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w0>>>26)|0,w0&=67108863,lo=Math.imul(al1,bl0),mid=Math.imul(al1,bh0),mid=mid+Math.imul(ah1,bl0)|0,hi=Math.imul(ah1,bh0),lo=lo+Math.imul(al0,bl1)|0,mid=mid+Math.imul(al0,bh1)|0,mid=mid+Math.imul(ah0,bl1)|0,hi=hi+Math.imul(ah0,bh1)|0;var w1=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w1>>>26)|0,w1&=67108863,lo=Math.imul(al2,bl0),mid=Math.imul(al2,bh0),mid=mid+Math.imul(ah2,bl0)|0,hi=Math.imul(ah2,bh0),lo=lo+Math.imul(al1,bl1)|0,mid=mid+Math.imul(al1,bh1)|0,mid=mid+Math.imul(ah1,bl1)|0,hi=hi+Math.imul(ah1,bh1)|0,lo=lo+Math.imul(al0,bl2)|0,mid=mid+Math.imul(al0,bh2)|0,mid=mid+Math.imul(ah0,bl2)|0,hi=hi+Math.imul(ah0,bh2)|0;var w2=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w2>>>26)|0,w2&=67108863,lo=Math.imul(al3,bl0),mid=Math.imul(al3,bh0),mid=mid+Math.imul(ah3,bl0)|0,hi=Math.imul(ah3,bh0),lo=lo+Math.imul(al2,bl1)|0,mid=mid+Math.imul(al2,bh1)|0,mid=mid+Math.imul(ah2,bl1)|0,hi=hi+Math.imul(ah2,bh1)|0,lo=lo+Math.imul(al1,bl2)|0,mid=mid+Math.imul(al1,bh2)|0,mid=mid+Math.imul(ah1,bl2)|0,hi=hi+Math.imul(ah1,bh2)|0,lo=lo+Math.imul(al0,bl3)|0,mid=mid+Math.imul(al0,bh3)|0,mid=mid+Math.imul(ah0,bl3)|0,hi=hi+Math.imul(ah0,bh3)|0;var w3=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w3>>>26)|0,w3&=67108863,lo=Math.imul(al4,bl0),mid=Math.imul(al4,bh0),mid=mid+Math.imul(ah4,bl0)|0,hi=Math.imul(ah4,bh0),lo=lo+Math.imul(al3,bl1)|0,mid=mid+Math.imul(al3,bh1)|0,mid=mid+Math.imul(ah3,bl1)|0,hi=hi+Math.imul(ah3,bh1)|0,lo=lo+Math.imul(al2,bl2)|0,mid=mid+Math.imul(al2,bh2)|0,mid=mid+Math.imul(ah2,bl2)|0,hi=hi+Math.imul(ah2,bh2)|0,lo=lo+Math.imul(al1,bl3)|0,mid=mid+Math.imul(al1,bh3)|0,mid=mid+Math.imul(ah1,bl3)|0,hi=hi+Math.imul(ah1,bh3)|0,lo=lo+Math.imul(al0,bl4)|0,mid=mid+Math.imul(al0,bh4)|0,mid=mid+Math.imul(ah0,bl4)|0,hi=hi+Math.imul(ah0,bh4)|0;var w4=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w4>>>26)|0,w4&=67108863,lo=Math.imul(al5,bl0),mid=Math.imul(al5,bh0),mid=mid+Math.imul(ah5,bl0)|0,hi=Math.imul(ah5,bh0),lo=lo+Math.imul(al4,bl1)|0,mid=mid+Math.imul(al4,bh1)|0,mid=mid+Math.imul(ah4,bl1)|0,hi=hi+Math.imul(ah4,bh1)|0,lo=lo+Math.imul(al3,bl2)|0,mid=mid+Math.imul(al3,bh2)|0,mid=mid+Math.imul(ah3,bl2)|0,hi=hi+Math.imul(ah3,bh2)|0,lo=lo+Math.imul(al2,bl3)|0,mid=mid+Math.imul(al2,bh3)|0,mid=mid+Math.imul(ah2,bl3)|0,hi=hi+Math.imul(ah2,bh3)|0,lo=lo+Math.imul(al1,bl4)|0,mid=mid+Math.imul(al1,bh4)|0,mid=mid+Math.imul(ah1,bl4)|0,hi=hi+Math.imul(ah1,bh4)|0,lo=lo+Math.imul(al0,bl5)|0,mid=mid+Math.imul(al0,bh5)|0,mid=mid+Math.imul(ah0,bl5)|0,hi=hi+Math.imul(ah0,bh5)|0;var w5=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w5>>>26)|0,w5&=67108863,lo=Math.imul(al6,bl0),mid=Math.imul(al6,bh0),mid=mid+Math.imul(ah6,bl0)|0,hi=Math.imul(ah6,bh0),lo=lo+Math.imul(al5,bl1)|0,mid=mid+Math.imul(al5,bh1)|0,mid=mid+Math.imul(ah5,bl1)|0,hi=hi+Math.imul(ah5,bh1)|0,lo=lo+Math.imul(al4,bl2)|0,mid=mid+Math.imul(al4,bh2)|0,mid=mid+Math.imul(ah4,bl2)|0,hi=hi+Math.imul(ah4,bh2)|0,lo=lo+Math.imul(al3,bl3)|0,mid=mid+Math.imul(al3,bh3)|0,mid=mid+Math.imul(ah3,bl3)|0,hi=hi+Math.imul(ah3,bh3)|0,lo=lo+Math.imul(al2,bl4)|0,mid=mid+Math.imul(al2,bh4)|0,mid=mid+Math.imul(ah2,bl4)|0,hi=hi+Math.imul(ah2,bh4)|0,lo=lo+Math.imul(al1,bl5)|0,mid=mid+Math.imul(al1,bh5)|0,mid=mid+Math.imul(ah1,bl5)|0,hi=hi+Math.imul(ah1,bh5)|0,lo=lo+Math.imul(al0,bl6)|0,mid=mid+Math.imul(al0,bh6)|0,mid=mid+Math.imul(ah0,bl6)|0,hi=hi+Math.imul(ah0,bh6)|0;var w6=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w6>>>26)|0,w6&=67108863,lo=Math.imul(al7,bl0),mid=Math.imul(al7,bh0),mid=mid+Math.imul(ah7,bl0)|0,hi=Math.imul(ah7,bh0),lo=lo+Math.imul(al6,bl1)|0,mid=mid+Math.imul(al6,bh1)|0,mid=mid+Math.imul(ah6,bl1)|0,hi=hi+Math.imul(ah6,bh1)|0,lo=lo+Math.imul(al5,bl2)|0,mid=mid+Math.imul(al5,bh2)|0,mid=mid+Math.imul(ah5,bl2)|0,hi=hi+Math.imul(ah5,bh2)|0,lo=lo+Math.imul(al4,bl3)|0,mid=mid+Math.imul(al4,bh3)|0,mid=mid+Math.imul(ah4,bl3)|0,hi=hi+Math.imul(ah4,bh3)|0,lo=lo+Math.imul(al3,bl4)|0,mid=mid+Math.imul(al3,bh4)|0,mid=mid+Math.imul(ah3,bl4)|0,hi=hi+Math.imul(ah3,bh4)|0,lo=lo+Math.imul(al2,bl5)|0,mid=mid+Math.imul(al2,bh5)|0,mid=mid+Math.imul(ah2,bl5)|0,hi=hi+Math.imul(ah2,bh5)|0,lo=lo+Math.imul(al1,bl6)|0,mid=mid+Math.imul(al1,bh6)|0,mid=mid+Math.imul(ah1,bl6)|0,hi=hi+Math.imul(ah1,bh6)|0,lo=lo+Math.imul(al0,bl7)|0,mid=mid+Math.imul(al0,bh7)|0,mid=mid+Math.imul(ah0,bl7)|0,hi=hi+Math.imul(ah0,bh7)|0;var w7=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w7>>>26)|0,w7&=67108863,lo=Math.imul(al8,bl0),mid=Math.imul(al8,bh0),mid=mid+Math.imul(ah8,bl0)|0,hi=Math.imul(ah8,bh0),lo=lo+Math.imul(al7,bl1)|0,mid=mid+Math.imul(al7,bh1)|0,mid=mid+Math.imul(ah7,bl1)|0,hi=hi+Math.imul(ah7,bh1)|0,lo=lo+Math.imul(al6,bl2)|0,mid=mid+Math.imul(al6,bh2)|0,mid=mid+Math.imul(ah6,bl2)|0,hi=hi+Math.imul(ah6,bh2)|0,lo=lo+Math.imul(al5,bl3)|0,mid=mid+Math.imul(al5,bh3)|0,mid=mid+Math.imul(ah5,bl3)|0,hi=hi+Math.imul(ah5,bh3)|0,lo=lo+Math.imul(al4,bl4)|0,mid=mid+Math.imul(al4,bh4)|0,mid=mid+Math.imul(ah4,bl4)|0,hi=hi+Math.imul(ah4,bh4)|0,lo=lo+Math.imul(al3,bl5)|0,mid=mid+Math.imul(al3,bh5)|0,mid=mid+Math.imul(ah3,bl5)|0,hi=hi+Math.imul(ah3,bh5)|0,lo=lo+Math.imul(al2,bl6)|0,mid=mid+Math.imul(al2,bh6)|0,mid=mid+Math.imul(ah2,bl6)|0,hi=hi+Math.imul(ah2,bh6)|0,lo=lo+Math.imul(al1,bl7)|0,mid=mid+Math.imul(al1,bh7)|0,mid=mid+Math.imul(ah1,bl7)|0,hi=hi+Math.imul(ah1,bh7)|0,lo=lo+Math.imul(al0,bl8)|0,mid=mid+Math.imul(al0,bh8)|0,mid=mid+Math.imul(ah0,bl8)|0,hi=hi+Math.imul(ah0,bh8)|0;var w8=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w8>>>26)|0,w8&=67108863,lo=Math.imul(al9,bl0),mid=Math.imul(al9,bh0),mid=mid+Math.imul(ah9,bl0)|0,hi=Math.imul(ah9,bh0),lo=lo+Math.imul(al8,bl1)|0,mid=mid+Math.imul(al8,bh1)|0,mid=mid+Math.imul(ah8,bl1)|0,hi=hi+Math.imul(ah8,bh1)|0,lo=lo+Math.imul(al7,bl2)|0,mid=mid+Math.imul(al7,bh2)|0,mid=mid+Math.imul(ah7,bl2)|0,hi=hi+Math.imul(ah7,bh2)|0,lo=lo+Math.imul(al6,bl3)|0,mid=mid+Math.imul(al6,bh3)|0,mid=mid+Math.imul(ah6,bl3)|0,hi=hi+Math.imul(ah6,bh3)|0,lo=lo+Math.imul(al5,bl4)|0,mid=mid+Math.imul(al5,bh4)|0,mid=mid+Math.imul(ah5,bl4)|0,hi=hi+Math.imul(ah5,bh4)|0,lo=lo+Math.imul(al4,bl5)|0,mid=mid+Math.imul(al4,bh5)|0,mid=mid+Math.imul(ah4,bl5)|0,hi=hi+Math.imul(ah4,bh5)|0,lo=lo+Math.imul(al3,bl6)|0,mid=mid+Math.imul(al3,bh6)|0,mid=mid+Math.imul(ah3,bl6)|0,hi=hi+Math.imul(ah3,bh6)|0,lo=lo+Math.imul(al2,bl7)|0,mid=mid+Math.imul(al2,bh7)|0,mid=mid+Math.imul(ah2,bl7)|0,hi=hi+Math.imul(ah2,bh7)|0,lo=lo+Math.imul(al1,bl8)|0,mid=mid+Math.imul(al1,bh8)|0,mid=mid+Math.imul(ah1,bl8)|0,hi=hi+Math.imul(ah1,bh8)|0,lo=lo+Math.imul(al0,bl9)|0,mid=mid+Math.imul(al0,bh9)|0,mid=mid+Math.imul(ah0,bl9)|0,hi=hi+Math.imul(ah0,bh9)|0;var w9=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w9>>>26)|0,w9&=67108863,lo=Math.imul(al9,bl1),mid=Math.imul(al9,bh1),mid=mid+Math.imul(ah9,bl1)|0,hi=Math.imul(ah9,bh1),lo=lo+Math.imul(al8,bl2)|0,mid=mid+Math.imul(al8,bh2)|0,mid=mid+Math.imul(ah8,bl2)|0,hi=hi+Math.imul(ah8,bh2)|0,lo=lo+Math.imul(al7,bl3)|0,mid=mid+Math.imul(al7,bh3)|0,mid=mid+Math.imul(ah7,bl3)|0,hi=hi+Math.imul(ah7,bh3)|0,lo=lo+Math.imul(al6,bl4)|0,mid=mid+Math.imul(al6,bh4)|0,mid=mid+Math.imul(ah6,bl4)|0,hi=hi+Math.imul(ah6,bh4)|0,lo=lo+Math.imul(al5,bl5)|0,mid=mid+Math.imul(al5,bh5)|0,mid=mid+Math.imul(ah5,bl5)|0,hi=hi+Math.imul(ah5,bh5)|0,lo=lo+Math.imul(al4,bl6)|0,mid=mid+Math.imul(al4,bh6)|0,mid=mid+Math.imul(ah4,bl6)|0,hi=hi+Math.imul(ah4,bh6)|0,lo=lo+Math.imul(al3,bl7)|0,mid=mid+Math.imul(al3,bh7)|0,mid=mid+Math.imul(ah3,bl7)|0,hi=hi+Math.imul(ah3,bh7)|0,lo=lo+Math.imul(al2,bl8)|0,mid=mid+Math.imul(al2,bh8)|0,mid=mid+Math.imul(ah2,bl8)|0,hi=hi+Math.imul(ah2,bh8)|0,lo=lo+Math.imul(al1,bl9)|0,mid=mid+Math.imul(al1,bh9)|0,mid=mid+Math.imul(ah1,bl9)|0,hi=hi+Math.imul(ah1,bh9)|0;var w10=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w10>>>26)|0,w10&=67108863,lo=Math.imul(al9,bl2),mid=Math.imul(al9,bh2),mid=mid+Math.imul(ah9,bl2)|0,hi=Math.imul(ah9,bh2),lo=lo+Math.imul(al8,bl3)|0,mid=mid+Math.imul(al8,bh3)|0,mid=mid+Math.imul(ah8,bl3)|0,hi=hi+Math.imul(ah8,bh3)|0,lo=lo+Math.imul(al7,bl4)|0,mid=mid+Math.imul(al7,bh4)|0,mid=mid+Math.imul(ah7,bl4)|0,hi=hi+Math.imul(ah7,bh4)|0,lo=lo+Math.imul(al6,bl5)|0,mid=mid+Math.imul(al6,bh5)|0,mid=mid+Math.imul(ah6,bl5)|0,hi=hi+Math.imul(ah6,bh5)|0,lo=lo+Math.imul(al5,bl6)|0,mid=mid+Math.imul(al5,bh6)|0,mid=mid+Math.imul(ah5,bl6)|0,hi=hi+Math.imul(ah5,bh6)|0,lo=lo+Math.imul(al4,bl7)|0,mid=mid+Math.imul(al4,bh7)|0,mid=mid+Math.imul(ah4,bl7)|0,hi=hi+Math.imul(ah4,bh7)|0,lo=lo+Math.imul(al3,bl8)|0,mid=mid+Math.imul(al3,bh8)|0,mid=mid+Math.imul(ah3,bl8)|0,hi=hi+Math.imul(ah3,bh8)|0,lo=lo+Math.imul(al2,bl9)|0,mid=mid+Math.imul(al2,bh9)|0,mid=mid+Math.imul(ah2,bl9)|0,hi=hi+Math.imul(ah2,bh9)|0;var w11=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w11>>>26)|0,w11&=67108863,lo=Math.imul(al9,bl3),mid=Math.imul(al9,bh3),mid=mid+Math.imul(ah9,bl3)|0,hi=Math.imul(ah9,bh3),lo=lo+Math.imul(al8,bl4)|0,mid=mid+Math.imul(al8,bh4)|0,mid=mid+Math.imul(ah8,bl4)|0,hi=hi+Math.imul(ah8,bh4)|0,lo=lo+Math.imul(al7,bl5)|0,mid=mid+Math.imul(al7,bh5)|0,mid=mid+Math.imul(ah7,bl5)|0,hi=hi+Math.imul(ah7,bh5)|0,lo=lo+Math.imul(al6,bl6)|0,mid=mid+Math.imul(al6,bh6)|0,mid=mid+Math.imul(ah6,bl6)|0,hi=hi+Math.imul(ah6,bh6)|0,lo=lo+Math.imul(al5,bl7)|0,mid=mid+Math.imul(al5,bh7)|0,mid=mid+Math.imul(ah5,bl7)|0,hi=hi+Math.imul(ah5,bh7)|0,lo=lo+Math.imul(al4,bl8)|0,mid=mid+Math.imul(al4,bh8)|0,mid=mid+Math.imul(ah4,bl8)|0,hi=hi+Math.imul(ah4,bh8)|0,lo=lo+Math.imul(al3,bl9)|0,mid=mid+Math.imul(al3,bh9)|0,mid=mid+Math.imul(ah3,bl9)|0,hi=hi+Math.imul(ah3,bh9)|0;var w12=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w12>>>26)|0,w12&=67108863,lo=Math.imul(al9,bl4),mid=Math.imul(al9,bh4),mid=mid+Math.imul(ah9,bl4)|0,hi=Math.imul(ah9,bh4),lo=lo+Math.imul(al8,bl5)|0,mid=mid+Math.imul(al8,bh5)|0,mid=mid+Math.imul(ah8,bl5)|0,hi=hi+Math.imul(ah8,bh5)|0,lo=lo+Math.imul(al7,bl6)|0,mid=mid+Math.imul(al7,bh6)|0,mid=mid+Math.imul(ah7,bl6)|0,hi=hi+Math.imul(ah7,bh6)|0,lo=lo+Math.imul(al6,bl7)|0,mid=mid+Math.imul(al6,bh7)|0,mid=mid+Math.imul(ah6,bl7)|0,hi=hi+Math.imul(ah6,bh7)|0,lo=lo+Math.imul(al5,bl8)|0,mid=mid+Math.imul(al5,bh8)|0,mid=mid+Math.imul(ah5,bl8)|0,hi=hi+Math.imul(ah5,bh8)|0,lo=lo+Math.imul(al4,bl9)|0,mid=mid+Math.imul(al4,bh9)|0,mid=mid+Math.imul(ah4,bl9)|0,hi=hi+Math.imul(ah4,bh9)|0;var w13=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w13>>>26)|0,w13&=67108863,lo=Math.imul(al9,bl5),mid=Math.imul(al9,bh5),mid=mid+Math.imul(ah9,bl5)|0,hi=Math.imul(ah9,bh5),lo=lo+Math.imul(al8,bl6)|0,mid=mid+Math.imul(al8,bh6)|0,mid=mid+Math.imul(ah8,bl6)|0,hi=hi+Math.imul(ah8,bh6)|0,lo=lo+Math.imul(al7,bl7)|0,mid=mid+Math.imul(al7,bh7)|0,mid=mid+Math.imul(ah7,bl7)|0,hi=hi+Math.imul(ah7,bh7)|0,lo=lo+Math.imul(al6,bl8)|0,mid=mid+Math.imul(al6,bh8)|0,mid=mid+Math.imul(ah6,bl8)|0,hi=hi+Math.imul(ah6,bh8)|0,lo=lo+Math.imul(al5,bl9)|0,mid=mid+Math.imul(al5,bh9)|0,mid=mid+Math.imul(ah5,bl9)|0,hi=hi+Math.imul(ah5,bh9)|0;var w14=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w14>>>26)|0,w14&=67108863,lo=Math.imul(al9,bl6),mid=Math.imul(al9,bh6),mid=mid+Math.imul(ah9,bl6)|0,hi=Math.imul(ah9,bh6),lo=lo+Math.imul(al8,bl7)|0,mid=mid+Math.imul(al8,bh7)|0,mid=mid+Math.imul(ah8,bl7)|0,hi=hi+Math.imul(ah8,bh7)|0,lo=lo+Math.imul(al7,bl8)|0,mid=mid+Math.imul(al7,bh8)|0,mid=mid+Math.imul(ah7,bl8)|0,hi=hi+Math.imul(ah7,bh8)|0,lo=lo+Math.imul(al6,bl9)|0,mid=mid+Math.imul(al6,bh9)|0,mid=mid+Math.imul(ah6,bl9)|0,hi=hi+Math.imul(ah6,bh9)|0;var w15=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w15>>>26)|0,w15&=67108863,lo=Math.imul(al9,bl7),mid=Math.imul(al9,bh7),mid=mid+Math.imul(ah9,bl7)|0,hi=Math.imul(ah9,bh7),lo=lo+Math.imul(al8,bl8)|0,mid=mid+Math.imul(al8,bh8)|0,mid=mid+Math.imul(ah8,bl8)|0,hi=hi+Math.imul(ah8,bh8)|0,lo=lo+Math.imul(al7,bl9)|0,mid=mid+Math.imul(al7,bh9)|0,mid=mid+Math.imul(ah7,bl9)|0,hi=hi+Math.imul(ah7,bh9)|0;var w16=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w16>>>26)|0,w16&=67108863,lo=Math.imul(al9,bl8),mid=Math.imul(al9,bh8),mid=mid+Math.imul(ah9,bl8)|0,hi=Math.imul(ah9,bh8),lo=lo+Math.imul(al8,bl9)|0,mid=mid+Math.imul(al8,bh9)|0,mid=mid+Math.imul(ah8,bl9)|0,hi=hi+Math.imul(ah8,bh9)|0;var w17=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w17>>>26)|0,w17&=67108863,lo=Math.imul(al9,bl9),mid=Math.imul(al9,bh9),mid=mid+Math.imul(ah9,bl9)|0,hi=Math.imul(ah9,bh9);var w18=(c+lo|0)+((mid&8191)<<13)|0;return c=(hi+(mid>>>13)|0)+(w18>>>26)|0,w18&=67108863,o[0]=w0,o[1]=w1,o[2]=w2,o[3]=w3,o[4]=w4,o[5]=w5,o[6]=w6,o[7]=w7,o[8]=w8,o[9]=w9,o[10]=w10,o[11]=w11,o[12]=w12,o[13]=w13,o[14]=w14,o[15]=w15,o[16]=w16,o[17]=w17,o[18]=w18,c!==0&&(o[19]=c,out.length++),out};Math.imul||(comb10MulTo=smallMulTo);function bigMulTo(self2,num,out){out.negative=num.negative^self2.negative,out.length=self2.length+num.length;for(var carry=0,hncarry=0,k=0;k>>26)|0,hncarry+=ncarry>>>26,ncarry&=67108863}out.words[k]=rword,carry=ncarry,ncarry=hncarry}return carry!==0\?out.words[k]=carry:out.length--,out.strip()}function jumboMulTo(self2,num,out){var fftm=new FFTM;return fftm.mulp(self2,num,out)}BN.prototype.mulTo=function(num,out){var res,len=this.length+num.length;return this.length===10&&num.length===10\?res=comb10MulTo(this,num,out):len<63\?res=smallMulTo(this,num,out):len<1024\?res=bigMulTo(this,num,out):res=jumboMulTo(this,num,out),res};function FFTM(x,y){this.x=x,this.y=y}FFTM.prototype.makeRBT=function(N){for(var t=new Array(N),l=BN.prototype._countBits(N)-1,i=0;i>=1;return rb},FFTM.prototype.permute=function(rbt,rws,iws,rtws,itws,N){for(var i=0;i>>1)i++;return 1<>>13,rws[2*i+1]=carry&8191,carry=carry>>>13;for(i=2*len;i>=26,carry+=w/67108864|0,carry+=lo>>>26,this.words[i]=lo&67108863}return carry!==0&&(this.words[i]=carry,this.length++),this},BN.prototype.muln=function(num){return this.clone().imuln(num)},BN.prototype.sqr=function(){return this.mul(this)},BN.prototype.isqr=function(){return this.imul(this.clone())},BN.prototype.pow=function(num){var w=toBitArray(num);if(w.length===0)return new BN(1);for(var res=this,i=0;i=0);var r=bits%26,s=(bits-r)/26,carryMask=67108863>>>26-r<<26-r,i;if(r!==0){var carry=0;for(i=0;i>>26-r}carry&&(this.words[i]=carry,this.length++)}if(s!==0){for(i=this.length-1;i>=0;i--)this.words[i+s]=this.words[i];for(i=0;i=0);var h;hint\?h=(hint-hint%26)/26:h=0;var r=bits%26,s=Math.min((bits-r)/26,this.length),mask=67108863^67108863>>>r<s)for(this.length-=s,i=0;i=0&&(carry!==0||i>=h);i--){var word=this.words[i]|0;this.words[i]=carry<<26-r|word>>>r,carry=word&mask}return maskedWords&&carry!==0&&(maskedWords.words[maskedWords.length++]=carry),this.length===0&&(this.words[0]=0,this.length=1),this.strip()},BN.prototype.ishrn=function(bits,hint,extended){return assert(this.negative===0),this.iushrn(bits,hint,extended)},BN.prototype.shln=function(bits){return this.clone().ishln(bits)},BN.prototype.ushln=function(bits){return this.clone().iushln(bits)},BN.prototype.shrn=function(bits){return this.clone().ishrn(bits)},BN.prototype.ushrn=function(bits){return this.clone().iushrn(bits)},BN.prototype.testn=function(bit){assert(typeof bit==\"number\"&&bit>=0);var r=bit%26,s=(bit-r)/26,q=1<=0);var r=bits%26,s=(bits-r)/26;if(assert(this.negative===0,\"imaskn works only with positive numbers\"),this.length<=s)return this;if(r!==0&&s++,this.length=Math.min(s,this.length),r!==0){var mask=67108863^67108863>>>r<=67108864;i++)this.words[i]-=67108864,i===this.length-1\?this.words[i+1]=1:this.words[i+1]++;return this.length=Math.max(this.length,i+1),this},BN.prototype.isubn=function(num){if(assert(typeof num==\"number\"),assert(num<67108864),num<0)return this.iaddn(-num);if(this.negative!==0)return this.negative=0,this.iaddn(num),this.negative=1,this;if(this.words[0]-=num,this.length===1&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var i=0;i>26)-(right/67108864|0),this.words[i+shift]=w&67108863}for(;i>26,this.words[i+shift]=w&67108863;if(carry===0)return this.strip();for(assert(carry===-1),carry=0,i=0;i>26,this.words[i]=w&67108863;return this.negative=1,this.strip()},BN.prototype._wordDiv=function(num,mode){var shift=this.length-num.length,a=this.clone(),b=num,bhi=b.words[b.length-1]|0,bhiBits=this._countBits(bhi);shift=26-bhiBits,shift!==0&&(b=b.ushln(shift),a.iushln(shift),bhi=b.words[b.length-1]|0);var m=a.length-b.length,q;if(mode!==\"mod\"){q=new BN(null),q.length=m+1,q.words=new Array(q.length);for(var i=0;i=0;j--){var qj=(a.words[b.length+j]|0)*67108864+(a.words[b.length+j-1]|0);for(qj=Math.min(qj/bhi|0,67108863),a._ishlnsubmul(b,qj,j);a.negative!==0;)qj--,a.negative=0,a._ishlnsubmul(b,1,j),a.isZero()||(a.negative^=1);q&&(q.words[j]=qj)}return q&&q.strip(),a.strip(),mode!==\"div\"&&shift!==0&&a.iushrn(shift),{div:q||null,mod:a}},BN.prototype.divmod=function(num,mode,positive){if(assert(!num.isZero()),this.isZero())return{div:new BN(0),mod:new BN(0)};var div,mod,res;return this.negative!==0&&num.negative===0\?(res=this.neg().divmod(num,mode),mode!==\"mod\"&&(div=res.div.neg()),mode!==\"div\"&&(mod=res.mod.neg(),positive&&mod.negative!==0&&mod.iadd(num)),{div,mod}):this.negative===0&&num.negative!==0\?(res=this.divmod(num.neg(),mode),mode!==\"mod\"&&(div=res.div.neg()),{div,mod:res.mod}):(this.negative&num.negative)!==0\?(res=this.neg().divmod(num.neg(),mode),mode!==\"div\"&&(mod=res.mod.neg(),positive&&mod.negative!==0&&mod.isub(num)),{div:res.div,mod}):num.length>this.length||this.cmp(num)<0\?{div:new BN(0),mod:this}:num.length===1\?mode===\"div\"\?{div:this.divn(num.words[0]),mod:null}:mode===\"mod\"\?{div:null,mod:new BN(this.modn(num.words[0]))}:{div:this.divn(num.words[0]),mod:new BN(this.modn(num.words[0]))}:this._wordDiv(num,mode)},BN.prototype.div=function(num){return this.divmod(num,\"div\",!1).div},BN.prototype.mod=function(num){return this.divmod(num,\"mod\",!1).mod},BN.prototype.umod=function(num){return this.divmod(num,\"mod\",!0).mod},BN.prototype.divRound=function(num){var dm=this.divmod(num);if(dm.mod.isZero())return dm.div;var mod=dm.div.negative!==0\?dm.mod.isub(num):dm.mod,half=num.ushrn(1),r2=num.andln(1),cmp=mod.cmp(half);return cmp<0||r2===1&&cmp===0\?dm.div:dm.div.negative!==0\?dm.div.isubn(1):dm.div.iaddn(1)},BN.prototype.modn=function(num){assert(num<=67108863);for(var p=(1<<26)%num,acc=0,i=this.length-1;i>=0;i--)acc=(p*acc+(this.words[i]|0))%num;return acc},BN.prototype.idivn=function(num){assert(num<=67108863);for(var carry=0,i=this.length-1;i>=0;i--){var w=(this.words[i]|0)+carry*67108864;this.words[i]=w/num|0,carry=w%num}return this.strip()},BN.prototype.divn=function(num){return this.clone().idivn(num)},BN.prototype.egcd=function(p){assert(p.negative===0),assert(!p.isZero());var x=this,y=p.clone();x.negative!==0\?x=x.umod(p):x=x.clone();for(var A=new BN(1),B=new BN(0),C=new BN(0),D=new BN(1),g=0;x.isEven()&&y.isEven();)x.iushrn(1),y.iushrn(1),++g;for(var yp=y.clone(),xp=x.clone();!x.isZero();){for(var i=0,im=1;(x.words[0]&im)===0&&i<26;++i,im<<=1);if(i>0)for(x.iushrn(i);i-- >0;)(A.isOdd()||B.isOdd())&&(A.iadd(yp),B.isub(xp)),A.iushrn(1),B.iushrn(1);for(var j=0,jm=1;(y.words[0]&jm)===0&&j<26;++j,jm<<=1);if(j>0)for(y.iushrn(j);j-- >0;)(C.isOdd()||D.isOdd())&&(C.iadd(yp),D.isub(xp)),C.iushrn(1),D.iushrn(1);x.cmp(y)>=0\?(x.isub(y),A.isub(C),B.isub(D)):(y.isub(x),C.isub(A),D.isub(B))}return{a:C,b:D,gcd:y.iushln(g)}},BN.prototype._invmp=function(p){assert(p.negative===0),assert(!p.isZero());var a=this,b=p.clone();a.negative!==0\?a=a.umod(p):a=a.clone();for(var x1=new BN(1),x2=new BN(0),delta=b.clone();a.cmpn(1)>0&&b.cmpn(1)>0;){for(var i=0,im=1;(a.words[0]&im)===0&&i<26;++i,im<<=1);if(i>0)for(a.iushrn(i);i-- >0;)x1.isOdd()&&x1.iadd(delta),x1.iushrn(1);for(var j=0,jm=1;(b.words[0]&jm)===0&&j<26;++j,jm<<=1);if(j>0)for(b.iushrn(j);j-- >0;)x2.isOdd()&&x2.iadd(delta),x2.iushrn(1);a.cmp(b)>=0\?(a.isub(b),x1.isub(x2)):(b.isub(a),x2.isub(x1))}var res;return a.cmpn(1)===0\?res=x1:res=x2,res.cmpn(0)<0&&res.iadd(p),res},BN.prototype.gcd=function(num){if(this.isZero())return num.abs();if(num.isZero())return this.abs();var a=this.clone(),b=num.clone();a.negative=0,b.negative=0;for(var shift=0;a.isEven()&&b.isEven();shift++)a.iushrn(1),b.iushrn(1);do{for(;a.isEven();)a.iushrn(1);for(;b.isEven();)b.iushrn(1);var r=a.cmp(b);if(r<0){var t=a;a=b,b=t}else if(r===0||b.cmpn(1)===0)break;a.isub(b)}while(!0);return b.iushln(shift)},BN.prototype.invm=function(num){return this.egcd(num).a.umod(num)},BN.prototype.isEven=function(){return(this.words[0]&1)===0},BN.prototype.isOdd=function(){return(this.words[0]&1)===1},BN.prototype.andln=function(num){return this.words[0]&num},BN.prototype.bincn=function(bit){assert(typeof bit==\"number\");var r=bit%26,s=(bit-r)/26,q=1<>>26,w&=67108863,this.words[i]=w}return carry!==0&&(this.words[i]=carry,this.length++),this},BN.prototype.isZero=function(){return this.length===1&&this.words[0]===0},BN.prototype.cmpn=function(num){var negative=num<0;if(this.negative!==0&&!negative)return-1;if(this.negative===0&&negative)return 1;this.strip();var res;if(this.length>1)res=1;else{negative&&(num=-num),assert(num<=67108863,\"Number is too big\");var w=this.words[0]|0;res=w===num\?0:wnum.length)return 1;if(this.length=0;i--){var a=this.words[i]|0,b=num.words[i]|0;if(a!==b){ab&&(res=1);break}}return res},BN.prototype.gtn=function(num){return this.cmpn(num)===1},BN.prototype.gt=function(num){return this.cmp(num)===1},BN.prototype.gten=function(num){return this.cmpn(num)>=0},BN.prototype.gte=function(num){return this.cmp(num)>=0},BN.prototype.ltn=function(num){return this.cmpn(num)===-1},BN.prototype.lt=function(num){return this.cmp(num)===-1},BN.prototype.lten=function(num){return this.cmpn(num)<=0},BN.prototype.lte=function(num){return this.cmp(num)<=0},BN.prototype.eqn=function(num){return this.cmpn(num)===0},BN.prototype.eq=function(num){return this.cmp(num)===0},BN.red=function(num){return new Red(num)},BN.prototype.toRed=function(ctx){return assert(!this.red,\"Already a number in reduction context\"),assert(this.negative===0,\"red works only with positives\"),ctx.convertTo(this)._forceRed(ctx)},BN.prototype.fromRed=function(){return assert(this.red,\"fromRed works only with numbers in reduction context\"),this.red.convertFrom(this)},BN.prototype._forceRed=function(ctx){return this.red=ctx,this},BN.prototype.forceRed=function(ctx){return assert(!this.red,\"Already a number in reduction context\"),this._forceRed(ctx)},BN.prototype.redAdd=function(num){return assert(this.red,\"redAdd works only with red numbers\"),this.red.add(this,num)},BN.prototype.redIAdd=function(num){return assert(this.red,\"redIAdd works only with red numbers\"),this.red.iadd(this,num)},BN.prototype.redSub=function(num){return assert(this.red,\"redSub works only with red numbers\"),this.red.sub(this,num)},BN.prototype.redISub=function(num){return assert(this.red,\"redISub works only with red numbers\"),this.red.isub(this,num)},BN.prototype.redShl=function(num){return assert(this.red,\"redShl works only with red numbers\"),this.red.shl(this,num)},BN.prototype.redMul=function(num){return assert(this.red,\"redMul works only with red numbers\"),this.red._verify2(this,num),this.red.mul(this,num)},BN.prototype.redIMul=function(num){return assert(this.red,\"redMul works only with red numbers\"),this.red._verify2(this,num),this.red.imul(this,num)},BN.prototype.redSqr=function(){return assert(this.red,\"redSqr works only with red numbers\"),this.red._verify1(this),this.red.sqr(this)},BN.prototype.redISqr=function(){return assert(this.red,\"redISqr works only with red numbers\"),this.red._verify1(this),this.red.isqr(this)},BN.prototype.redSqrt=function(){return assert(this.red,\"redSqrt works only with red numbers\"),this.red._verify1(this),this.red.sqrt(this)},BN.prototype.redInvm=function(){return assert(this.red,\"redInvm works only with red numbers\"),this.red._verify1(this),this.red.invm(this)},BN.prototype.redNeg=function(){return assert(this.red,\"redNeg works only with red numbers\"),this.red._verify1(this),this.red.neg(this)},BN.prototype.redPow=function(num){return assert(this.red&&!num.red,\"redPow(normalNum)\"),this.red._verify1(this),this.red.pow(this,num)};var primes={k256:null,p224:null,p192:null,p25519:null};function MPrime(name,p){this.name=name,this.p=new BN(p,16),this.n=this.p.bitLength(),this.k=new BN(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}MPrime.prototype._tmp=function(){var tmp=new BN(null);return tmp.words=new Array(Math.ceil(this.n/13)),tmp},MPrime.prototype.ireduce=function(num){var r=num,rlen;do this.split(r,this.tmp),r=this.imulK(r),r=r.iadd(this.tmp),rlen=r.bitLength();while(rlen>this.n);var cmp=rlen0\?r.isub(this.p):r.strip!==void 0\?r.strip():r._strip(),r},MPrime.prototype.split=function(input,out){input.iushrn(this.n,0,out)},MPrime.prototype.imulK=function(num){return num.imul(this.k)};function K256(){MPrime.call(this,\"k256\",\"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f\")}inherits(K256,MPrime),K256.prototype.split=function(input,output){for(var mask=4194303,outLen=Math.min(input.length,9),i=0;i>>22,prev=next}prev>>>=22,input.words[i-10]=prev,prev===0&&input.length>10\?input.length-=10:input.length-=9},K256.prototype.imulK=function(num){num.words[num.length]=0,num.words[num.length+1]=0,num.length+=2;for(var lo=0,i=0;i>>=26,num.words[i]=lo,carry=hi}return carry!==0&&(num.words[num.length++]=carry),num},BN._prime=function(name){if(primes[name])return primes[name];var prime2;if(name===\"k256\")prime2=new K256;else if(name===\"p224\")prime2=new P224;else if(name===\"p192\")prime2=new P192;else if(name===\"p25519\")prime2=new P25519;else throw new Error(\"Unknown prime \"+name);return primes[name]=prime2,prime2};function Red(m){if(typeof m==\"string\"){var prime=BN._prime(m);this.m=prime.p,this.prime=prime}else assert(m.gtn(1),\"modulus must be greater than 1\"),this.m=m,this.prime=null}Red.prototype._verify1=function(a){assert(a.negative===0,\"red works only with positives\"),assert(a.red,\"red works only with red numbers\")},Red.prototype._verify2=function(a,b){assert((a.negative|b.negative)===0,\"red works only with positives\"),assert(a.red&&a.red===b.red,\"red works only with red numbers\")},Red.prototype.imod=function(a){return this.prime\?this.prime.ireduce(a)._forceRed(this):a.umod(this.m)._forceRed(this)},Red.prototype.neg=function(a){return a.isZero()\?a.clone():this.m.sub(a)._forceRed(this)},Red.prototype.add=function(a,b){this._verify2(a,b);var res=a.add(b);return res.cmp(this.m)>=0&&res.isub(this.m),res._forceRed(this)},Red.prototype.iadd=function(a,b){this._verify2(a,b);var res=a.iadd(b);return res.cmp(this.m)>=0&&res.isub(this.m),res},Red.prototype.sub=function(a,b){this._verify2(a,b);var res=a.sub(b);return res.cmpn(0)<0&&res.iadd(this.m),res._forceRed(this)},Red.prototype.isub=function(a,b){this._verify2(a,b);var res=a.isub(b);return res.cmpn(0)<0&&res.iadd(this.m),res},Red.prototype.shl=function(a,num){return this._verify1(a),this.imod(a.ushln(num))},Red.prototype.imul=function(a,b){return this._verify2(a,b),this.imod(a.imul(b))},Red.prototype.mul=function(a,b){return this._verify2(a,b),this.imod(a.mul(b))},Red.prototype.isqr=function(a){return this.imul(a,a.clone())},Red.prototype.sqr=function(a){return this.mul(a,a)},Red.prototype.sqrt=function(a){if(a.isZero())return a.clone();var mod3=this.m.andln(3);if(assert(mod3%2===1),mod3===3){var pow=this.m.add(new BN(1)).iushrn(2);return this.pow(a,pow)}for(var q=this.m.subn(1),s=0;!q.isZero()&&q.andln(1)===0;)s++,q.iushrn(1);assert(!q.isZero());var one=new BN(1).toRed(this),nOne=one.redNeg(),lpow=this.m.subn(1).iushrn(1),z=this.m.bitLength();for(z=new BN(2*z*z).toRed(this);this.pow(z,lpow).cmp(nOne)!==0;)z.redIAdd(nOne);for(var c=this.pow(z,q),r=this.pow(a,q.addn(1).iushrn(1)),t=this.pow(a,q),m=s;t.cmp(one)!==0;){for(var tmp=t,i=0;tmp.cmp(one)!==0;i++)tmp=tmp.redSqr();assert(i=0;i--){for(var word=num.words[i],j=start-1;j>=0;j--){var bit=word>>j&1;if(res!==wnd[0]&&(res=this.sqr(res)),bit===0&¤t===0){currentLen=0;continue}current<<=1,current|=bit,currentLen++,!(currentLen!==windowSize&&(i!==0||j!==0))&&(res=this.mul(res,wnd[current]),currentLen=0,current=0)}start=26}return res},Red.prototype.convertTo=function(num){var r=num.umod(this.m);return r===num\?r.clone():r},Red.prototype.convertFrom=function(num){var res=num.clone();return res.red=null,res},BN.mont=function(num){return new Mont(num)};function Mont(m){Red.call(this,m),this.shift=this.m.bitLength(),this.shift%26!==0&&(this.shift+=26-this.shift%26),this.r=new BN(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}inherits(Mont,Red),Mont.prototype.convertTo=function(num){return this.imod(num.ushln(this.shift))},Mont.prototype.convertFrom=function(num){var r=this.imod(num.mul(this.rinv));return r.red=null,r},Mont.prototype.imul=function(a,b){if(a.isZero()||b.isZero())return a.words[0]=0,a.length=1,a;var t=a.imul(b),c=t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),u=t.isub(c).iushrn(this.shift),res=u;return u.cmp(this.m)>=0\?res=u.isub(this.m):u.cmpn(0)<0&&(res=u.iadd(this.m)),res._forceRed(this)},Mont.prototype.mul=function(a,b){if(a.isZero()||b.isZero())return new BN(0)._forceRed(this);var t=a.mul(b),c=t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),u=t.isub(c).iushrn(this.shift),res=u;return u.cmp(this.m)>=0\?res=u.isub(this.m):u.cmpn(0)<0&&(res=u.iadd(this.m)),res._forceRed(this)},Mont.prototype.invm=function(a){var res=this.imod(a._invmp(this.m).mul(this.r2));return res._forceRed(this)}})(typeof module>\"u\"||module,exports)}});const{CryptoHasher}=globalThis.Bun;var require_withPublic=__commonJS({\"node_modules/public-encrypt/withPublic.js\"(exports,module){var BN=require_bn7(),Buffer2=require_safe_buffer().Buffer;function withPublic(paddedMsg,key){return Buffer2.from(paddedMsg.toRed(BN.mont(key.modulus)).redPow(new BN(key.publicExponent)).fromRed().toArray())}module.exports=withPublic}}),require_publicEncrypt=__commonJS({\"node_modules/public-encrypt/publicEncrypt.js\"(exports,module){var parseKeys=require_parse_asn1(),randomBytes=require_browser(),createHash=require_browser2(),mgf=require_mgf(),xor=require_xor(),BN=require_bn7(),withPublic=require_withPublic(),crt=require_browserify_rsa(),Buffer2=require_safe_buffer().Buffer;module.exports=function(publicKey,msg,reverse){var padding;publicKey.padding\?padding=publicKey.padding:reverse\?padding=1:padding=4;var key=parseKeys(publicKey),paddedMsg;if(padding===4)paddedMsg=oaep(key,msg);else if(padding===1)paddedMsg=pkcs1(key,msg,reverse);else if(padding===3){if(paddedMsg=new BN(msg),paddedMsg.cmp(key.modulus)>=0)throw new Error(\"data too long for modulus\")}else throw new Error(\"unknown padding\");return reverse\?crt(paddedMsg,key):withPublic(paddedMsg,key)};function oaep(key,msg){var k=key.modulus.byteLength(),mLen=msg.length,iHash=createHash(\"sha1\").update(Buffer2.alloc(0)).digest(),hLen=iHash.length,hLen2=2*hLen;if(mLen>k-hLen2-2)throw new Error(\"message too long\");var ps=Buffer2.alloc(k-mLen-hLen2-2),dblen=k-hLen-1,seed=randomBytes(hLen),maskedDb=xor(Buffer2.concat([iHash,ps,Buffer2.alloc(1,1),msg],dblen),mgf(seed,dblen)),maskedSeed=xor(seed,mgf(maskedDb,hLen));return new BN(Buffer2.concat([Buffer2.alloc(1),maskedSeed,maskedDb],k))}function pkcs1(key,msg,reverse){var mLen=msg.length,k=key.modulus.byteLength();if(mLen>k-11)throw new Error(\"message too long\");var ps;return reverse\?ps=Buffer2.alloc(k-mLen-3,255):ps=nonZero(k-mLen-3),new BN(Buffer2.concat([Buffer2.from([0,reverse\?1:2]),ps,Buffer2.alloc(1),msg],k))}function nonZero(len){for(var out=Buffer2.allocUnsafe(len),i=0,cache=randomBytes(len*2),cur=0,num;ik||new BN(enc).cmp(key.modulus)>=0)throw new Error(\"decryption error\");var msg;reverse\?msg=withPublic(new BN(enc),key):msg=crt(enc,key);var zBuffer=Buffer2.alloc(k-msg.length);if(msg=Buffer2.concat([zBuffer,msg],k),padding===4)return oaep(key,msg);if(padding===1)return pkcs1(key,msg,reverse);if(padding===3)return msg;throw new Error(\"unknown padding\")};function oaep(key,msg){var k=key.modulus.byteLength(),iHash=createHash(\"sha1\").update(Buffer2.alloc(0)).digest(),hLen=iHash.length;if(msg[0]!==0)throw new Error(\"decryption error\");var maskedSeed=msg.slice(1,hLen+1),maskedDb=msg.slice(hLen+1),seed=xor(maskedSeed,mgf(maskedDb,hLen)),db=xor(maskedDb,mgf(seed,k-hLen-1));if(compare(iHash,db.slice(0,hLen)))throw new Error(\"decryption error\");for(var i=hLen;db[i]===0;)i++;if(db[i++]!==1)throw new Error(\"decryption error\");return db.slice(i)}function pkcs1(key,msg,reverse){for(var p1=msg.slice(0,2),i=2,status=0;msg[i++]!==0;)if(i>=msg.length){status++;break}var ps=msg.slice(2,i-1);if((p1.toString(\"hex\")!==\"0002\"&&!reverse||p1.toString(\"hex\")!==\"0001\"&&reverse)&&status++,ps.length<8&&status++,status)throw new Error(\"decryption error\");return msg.slice(i)}function compare(a,b){a=Buffer2.from(a),b=Buffer2.from(b);var dif=0,len=a.length;a.length!==b.length&&(dif++,len=Math.min(a.length,b.length));for(var i=-1;++ikMaxUint32||offset<0)throw new TypeError(\"offset must be a uint32\");if(offset>kBufferMaxLength||offset>length)throw new RangeError(\"offset out of range\")}function assertSize(size,offset,length){if(typeof size!=\"number\"||size!==size)throw new TypeError(\"size must be a number\");if(size>kMaxUint32||size<0)throw new TypeError(\"size must be a uint32\");if(size+offset>length||size>kBufferMaxLength)throw new RangeError(\"buffer too small\")}exports.randomFill=randomFill,exports.randomFillSync=randomFillSync;function randomFill(buf,offset,size,cb){if(!Buffer2.isBuffer(buf)&&!(buf instanceof global.Uint8Array))throw new TypeError('\"buf\" argument must be a Buffer or Uint8Array');if(typeof offset==\"function\")cb=offset,offset=0,size=buf.length;else if(typeof size==\"function\")cb=size,size=buf.length-offset;else if(typeof cb!=\"function\")throw new TypeError('\"cb\" argument must be a function');return assertOffset(offset,buf.length),assertSize(size,offset,buf.length),actualFill(buf,offset,size,cb)}function actualFill(buf,offset,size,cb){if(cb){randombytes(size,function(err,bytes2){if(err)return cb(err);bytes2.copy(buf,offset),cb(null,buf)});return}var bytes=randombytes(size);return bytes.copy(buf,offset),buf}function randomFillSync(buf,offset,size){if(typeof offset>\"u\"&&(offset=0),!Buffer2.isBuffer(buf)&&!(buf instanceof global.Uint8Array))throw new TypeError('\"buf\" argument must be a Buffer or Uint8Array');return assertOffset(offset,buf.length),size===void 0&&(size=buf.length-offset),assertSize(size,offset,buf.length),actualFill(buf,offset,size)}}}),require_crypto_browserify2=__commonJS({\"node_modules/crypto-browserify/index.js\"(exports){exports.randomBytes=exports.rng=exports.pseudoRandomBytes=exports.prng=require_browser(),exports.createHash=require_browser2(),exports.Hash=exports.createHash.Hash,exports.createHmac=exports.Hmac=require_browser3();var algos=require_algos(),algoKeys=Object.keys(algos),hashes=[\"sha1\",\"sha224\",\"sha256\",\"sha384\",\"sha512\",\"md5\",\"rmd160\"].concat(algoKeys);exports.getHashes=function(){return hashes};var p=require_browser4();exports.pbkdf2=p.pbkdf2,exports.pbkdf2Sync=p.pbkdf2Sync;var aes=require_browser6();exports.Cipher=aes.Cipher,exports.createCipher=aes.createCipher,exports.Cipheriv=aes.Cipheriv,exports.createCipheriv=aes.createCipheriv,exports.Decipher=aes.Decipher,exports.createDecipher=aes.createDecipher,exports.Decipheriv=aes.Decipheriv,exports.createDecipheriv=aes.createDecipheriv,exports.getCiphers=aes.getCiphers,exports.listCiphers=aes.listCiphers;var dh=require_browser7();exports.DiffieHellmanGroup=dh.DiffieHellmanGroup,exports.createDiffieHellmanGroup=dh.createDiffieHellmanGroup,exports.getDiffieHellman=dh.getDiffieHellman,exports.createDiffieHellman=dh.createDiffieHellman,exports.DiffieHellman=dh.DiffieHellman;var sign=require_browser8();exports.createSign=sign.createSign,exports.Sign=sign.Sign,exports.createVerify=sign.createVerify,exports.Verify=sign.Verify,exports.createECDH=require_browser9();var publicEncrypt=require_browser10();exports.publicEncrypt=publicEncrypt.publicEncrypt,exports.privateEncrypt=publicEncrypt.privateEncrypt,exports.publicDecrypt=publicEncrypt.publicDecrypt,exports.privateDecrypt=publicEncrypt.privateDecrypt,exports.getRandomValues=(values)=>crypto.getRandomValues(values);var rf=require_browser11();exports.randomFill=rf.randomFill,exports.randomFillSync=rf.randomFillSync,exports.createCredentials=function(){throw new Error([\"sorry, createCredentials is not implemented yet\",\"we accept pull requests\",\"https://github.com/crypto-browserify/crypto-browserify\"].join(`\n`))},exports.constants={DH_CHECK_P_NOT_SAFE_PRIME:2,DH_CHECK_P_NOT_PRIME:1,DH_UNABLE_TO_CHECK_GENERATOR:4,DH_NOT_SUITABLE_GENERATOR:8,NPN_ENABLED:1,ALPN_ENABLED:1,RSA_PKCS1_PADDING:1,RSA_SSLV23_PADDING:2,RSA_NO_PADDING:3,RSA_PKCS1_OAEP_PADDING:4,RSA_X931_PADDING:5,RSA_PKCS1_PSS_PADDING:6,POINT_CONVERSION_COMPRESSED:2,POINT_CONVERSION_UNCOMPRESSED:4,POINT_CONVERSION_HYBRID:6}}});return $})\n"_s; +static constexpr ASCIILiteral NodeDgramCode = "(function (){\"use strict\";var $;const{hideFromStack,throwNotImplemented}=@requireId(2);function createSocket(){throwNotImplemented(\"node:dgram createSocket\",1630)}function Socket(){throwNotImplemented(\"node:dgram Socket\",1630)}function _createSocketHandle(){throwNotImplemented(\"node:dgram _createSocketHandle\",1630)}return $={createSocket,Socket,_createSocketHandle},hideFromStack(createSocket,Socket,_createSocketHandle),$})\n"_s; +static constexpr ASCIILiteral NodeDiagnosticsChannelCode = "(function (){\"use strict\";var $;const{hideFromStack,throwNotImplemented}=@requireId(2);class Channel{constructor(name){throwNotImplemented(\"node:diagnostics_channel\",2688)}}function channel(){throwNotImplemented(\"node:diagnostics_channel\",2688)}function hasSubscribers(){throwNotImplemented(\"node:diagnostics_channel\",2688)}function subscribe(){throwNotImplemented(\"node:diagnostics_channel\",2688)}function unsubscribe(){throwNotImplemented(\"node:diagnostics_channel\",2688)}return $={channel,hasSubscribers,subscribe,unsubscribe,Channel},hideFromStack([channel,hasSubscribers,subscribe,unsubscribe,Channel]),$})\n"_s; +static constexpr ASCIILiteral NodeDNSCode = "(function (){\"use strict\";const dns=Bun.dns;function lookup(domain,options,callback){if(typeof options==\"function\")callback=options;if(typeof callback!=\"function\")@throwTypeError(\"callback must be a function\");if(typeof options==\"number\")options={family:options};dns.lookup(domain,options).then((res)=>{if(res.sort((a,b)=>a.family-b.family),options\?.all)callback(null,res.map(mapLookupAll));else{const[{address,family}]=res;callback(null,address,family)}},(error)=>{callback(error)})}function resolveSrv(hostname,callback){if(typeof callback!=\"function\")@throwTypeError(\"callback must be a function\");dns.resolveSrv(hostname,callback).then((results)=>{callback(null,results)},(error)=>{callback(error)})}function resolveTxt(hostname,callback){if(typeof callback!=\"function\")@throwTypeError(\"callback must be a function\");dns.resolveTxt(hostname,callback).then((results)=>{callback(null,results)},(error)=>{callback(error)})}function resolveSoa(hostname,callback){if(typeof callback!=\"function\")@throwTypeError(\"callback must be a function\");dns.resolveSoa(hostname,callback).then((results)=>{callback(null,results)},(error)=>{callback(error)})}function resolveNaptr(hostname,callback){if(typeof callback!=\"function\")@throwTypeError(\"callback must be a function\");dns.resolveNaptr(hostname,callback).then((results)=>{callback(null,results)},(error)=>{callback(error)})}function resolveMx(hostname,callback){if(typeof callback!=\"function\")@throwTypeError(\"callback must be a function\");dns.resolveMx(hostname,callback).then((results)=>{callback(null,results)},(error)=>{callback(error)})}function resolveCaa(hostname,callback){if(typeof callback!=\"function\")@throwTypeError(\"callback must be a function\");dns.resolveCaa(hostname,callback).then((results)=>{callback(null,results)},(error)=>{callback(error)})}function resolveNs(hostname,callback){if(typeof callback!=\"function\")@throwTypeError(\"callback must be a function\");dns.resolveNs(hostname,callback).then((results)=>{callback(null,results)},(error)=>{callback(error)})}function resolvePtr(hostname,callback){if(typeof callback!=\"function\")@throwTypeError(\"callback must be a function\");dns.resolvePtr(hostname,callback).then((results)=>{callback(null,results)},(error)=>{callback(error)})}function resolveCname(hostname,callback){if(typeof callback!=\"function\")@throwTypeError(\"callback must be a function\");dns.resolveCname(hostname,callback).then((results)=>{callback(null,results)},(error)=>{callback(error)})}function lookupService(address,port,callback){if(typeof callback!=\"function\")@throwTypeError(\"callback must be a function\");callback(null,address,port)}var InternalResolver=class Resolver2{constructor(options){}cancel(){}getServers(){return[]}resolve(hostname,rrtype,callback){if(typeof rrtype==\"function\")callback=rrtype,rrtype=null;if(typeof callback!=\"function\")@throwTypeError(\"callback must be a function\");dns.resolve(hostname).then((results)=>{switch(rrtype\?.toLowerCase()){case\"a\":case\"aaaa\":callback(null,hostname,results.map(mapResolveX));break;default:callback(null,results);break}},(error)=>{callback(error)})}resolve4(hostname,options,callback){if(typeof options==\"function\")callback=options,options=null;if(typeof callback!=\"function\")@throwTypeError(\"callback must be a function\");dns.lookup(hostname,{family:4}).then((addresses)=>{callback(null,options\?.ttl\?addresses:addresses.map(mapResolveX))},(error)=>{callback(error)})}resolve6(hostname,options,callback){if(typeof options==\"function\")callback=options,options=null;if(typeof callback!=\"function\")@throwTypeError(\"callback must be a function\");dns.lookup(hostname,{family:6}).then((addresses)=>{callback(null,options\?.ttl\?addresses:addresses.map(({address})=>address))},(error)=>{callback(error)})}resolveAny(hostname,callback){callback(null,[])}resolveCname(hostname,callback){if(typeof callback!=\"function\")@throwTypeError(\"callback must be a function\");dns.resolveCname(hostname,callback).then((results)=>{callback(null,results)},(error)=>{callback(error)})}resolveMx(hostname,callback){if(typeof callback!=\"function\")@throwTypeError(\"callback must be a function\");dns.resolveMx(hostname,callback).then((results)=>{callback(null,results)},(error)=>{callback(error)})}resolveNaptr(hostname,callback){if(typeof callback!=\"function\")@throwTypeError(\"callback must be a function\");dns.resolveNaptr(hostname,callback).then((results)=>{callback(null,results)},(error)=>{callback(error)})}resolveNs(hostname,callback){if(typeof callback!=\"function\")@throwTypeError(\"callback must be a function\");dns.resolveNs(hostname,callback).then((results)=>{callback(null,results)},(error)=>{callback(error)})}resolvePtr(hostname,callback){if(typeof callback!=\"function\")@throwTypeError(\"callback must be a function\");dns.resolvePtr(hostname,callback).then((results)=>{callback(null,results)},(error)=>{callback(error)})}resolveSrv(hostname,callback){if(typeof callback!=\"function\")@throwTypeError(\"callback must be a function\");dns.resolveSrv(hostname,callback).then((results)=>{callback(null,results)},(error)=>{callback(error)})}resolveCaa(hostname,callback){if(typeof callback!=\"function\")@throwTypeError(\"callback must be a function\");dns.resolveCaa(hostname,callback).then((results)=>{callback(null,results)},(error)=>{callback(error)})}resolveTxt(hostname,callback){if(typeof callback!=\"function\")@throwTypeError(\"callback must be a function\");dns.resolveTxt(hostname,callback).then((results)=>{callback(null,results)},(error)=>{callback(error)})}resolveSoa(hostname,callback){if(typeof callback!=\"function\")@throwTypeError(\"callback must be a function\");dns.resolveSoa(hostname,callback).then((results)=>{callback(null,results)},(error)=>{callback(error)})}reverse(ip,callback){callback(null,[])}setServers(servers){}};function resolve(hostname,rrtype,callback){if(typeof rrtype==\"function\")callback=rrtype;if(typeof callback!=\"function\")@throwTypeError(\"callback must be a function\");dns.resolve(hostname).then((results)=>{switch(rrtype\?.toLowerCase()){case\"a\":case\"aaaa\":callback(null,hostname,results.map(({address})=>address));break;default:callback(null,results);break}},(error)=>{callback(error)})}function Resolver(options){return new InternalResolver(options)}Object.setPrototypeOf(Resolver.prototype,InternalResolver.prototype),Object.setPrototypeOf(Resolver,InternalResolver);var{resolve,resolve4,resolve6,resolveAny,resolveCname,resolveCaa,resolveMx,resolveNaptr,resolveNs,resolvePtr,resolveSoa,resolveSrv,reverse,resolveTxt}=InternalResolver.prototype;function setDefaultResultOrder(){}function setServers(){}const promisifyLookup=(res)=>{res.sort((a,b)=>a.family-b.family);const[{address,family}]=res;return{address,family}},mapLookupAll=(res)=>{const{address,family}=res;return{address,family}},promisifyLookupAll=(res)=>{return res.sort((a,b)=>a.family-b.family),res.map(mapLookupAll)},mapResolveX=(a)=>a.address,promisifyResolveX=(res)=>{return res\?.map(mapResolveX)},promises={lookup(domain,options){if(options\?.all)return dns.lookup(domain,options).then(promisifyLookupAll);return dns.lookup(domain,options).then(promisifyLookup)},lookupService(address,port){return Promise.resolve([])},resolve(hostname,rrtype){if(typeof rrtype!==\"string\")rrtype=null;switch(rrtype\?.toLowerCase()){case\"a\":case\"aaaa\":return dns.resolve(hostname,rrtype).then(promisifyLookup);default:return dns.resolve(hostname,rrtype)}},resolve4(hostname,options){if(options\?.ttl)return dns.lookup(hostname,{family:4});return dns.lookup(hostname,{family:4}).then(promisifyResolveX)},resolve6(hostname,options){if(options\?.ttl)return dns.lookup(hostname,{family:6});return dns.lookup(hostname,{family:6}).then(promisifyResolveX)},resolveSrv(hostname){return dns.resolveSrv(hostname)},resolveTxt(hostname){return dns.resolveTxt(hostname)},resolveSoa(hostname){return dns.resolveSoa(hostname)},resolveNaptr(hostname){return dns.resolveNaptr(hostname)},resolveMx(hostname){return dns.resolveMx(hostname)},resolveCaa(hostname){return dns.resolveCaa(hostname)},resolveNs(hostname){return dns.resolveNs(hostname)},resolvePtr(hostname){return dns.resolvePtr(hostname)},resolveCname(hostname){return dns.resolveCname(hostname)},Resolver:class Resolver2{constructor(options){}cancel(){}getServers(){return[]}resolve(hostname,rrtype){if(typeof rrtype!==\"string\")rrtype=null;switch(rrtype\?.toLowerCase()){case\"a\":case\"aaaa\":return dns.resolve(hostname,rrtype).then(promisifyLookup);default:return dns.resolve(hostname,rrtype)}}resolve4(hostname,options){if(options\?.ttl)return dns.lookup(hostname,{family:4});return dns.lookup(hostname,{family:4}).then(promisifyResolveX)}resolve6(hostname,options){if(options\?.ttl)return dns.lookup(hostname,{family:6});return dns.lookup(hostname,{family:6}).then(promisifyResolveX)}resolveAny(hostname){return Promise.resolve([])}resolveCname(hostname){return dns.resolveCname(hostname)}resolveMx(hostname){return dns.resolveMx(hostname)}resolveNaptr(hostname){return dns.resolveNaptr(hostname)}resolveNs(hostname){return dns.resolveNs(hostname)}resolvePtr(hostname){return dns.resolvePtr(hostname)}resolveSoa(hostname){return dns.resolveSoa(hostname)}resolveSrv(hostname){return dns.resolveSrv(hostname)}resolveCaa(hostname){return dns.resolveCaa(hostname)}resolveTxt(hostname){return dns.resolveTxt(hostname)}reverse(ip){return Promise.resolve([])}setServers(servers){}}};for(let key of[\"resolveAny\",\"reverse\"])promises[key]=()=>Promise.resolve(void 0);return{ADDRCONFIG:0,ALL:1,V4MAPPED:2,NODATA:\"DNS_ENODATA\",FORMERR:\"DNS_EFORMERR\",SERVFAIL:\"DNS_ESERVFAIL\",NOTFOUND:\"DNS_ENOTFOUND\",NOTIMP:\"DNS_ENOTIMP\",REFUSED:\"DNS_EREFUSED\",BADQUERY:\"DNS_EBADQUERY\",BADNAME:\"DNS_EBADNAME\",BADFAMILY:\"DNS_EBADFAMILY\",BADRESP:\"DNS_EBADRESP\",CONNREFUSED:\"DNS_ECONNREFUSED\",TIMEOUT:\"DNS_ETIMEOUT\",EOF:\"DNS_EEOF\",FILE:\"DNS_EFILE\",NOMEM:\"DNS_ENOMEM\",DESTRUCTION:\"DNS_EDESTRUCTION\",BADSTR:\"DNS_EBADSTR\",BADFLAGS:\"DNS_EBADFLAGS\",NONAME:\"DNS_ENONAME\",BADHINTS:\"DNS_EBADHINTS\",NOTINITIALIZED:\"DNS_ENOTINITIALIZED\",LOADIPHLPAPI:\"DNS_ELOADIPHLPAPI\",ADDRGETNETWORKPARAMS:\"DNS_EADDRGETNETWORKPARAMS\",CANCELLED:\"DNS_ECANCELLED\",lookup,lookupService,Resolver,setServers,setDefaultResultOrder,resolve,reverse,resolve4,resolve6,resolveAny,resolveCname,resolveCaa,resolveMx,resolveNs,resolvePtr,resolveSoa,resolveSrv,resolveTxt,resolveNaptr,promises}})\n"_s; +static constexpr ASCIILiteral NodeDNSPromisesCode = "(function (){\"use strict\";return @requireId(11).promises})\n"_s; +static constexpr ASCIILiteral NodeEventsCode = "(function (){\"use strict\";const{throwNotImplemented}=@requireId(2),SymbolFor=Symbol.for,kCapture=Symbol(\"kCapture\"),kErrorMonitor=SymbolFor(\"events.errorMonitor\"),kMaxEventTargetListeners=Symbol(\"events.maxEventTargetListeners\"),kMaxEventTargetListenersWarned=Symbol(\"events.maxEventTargetListenersWarned\"),kWatermarkData=SymbolFor(\"nodejs.watermarkData\"),kRejection=SymbolFor(\"nodejs.rejection\"),captureRejectionSymbol=SymbolFor(\"nodejs.rejection\"),ArrayPrototypeSlice=Array.prototype.slice;var defaultMaxListeners=10;const EventEmitter=function EventEmitter(opts){if(this._events===void 0||this._events===this.__proto__._events)this._events={__proto__:null},this._eventsCount=0;if(this._maxListeners\?\?=void 0,this[kCapture]=opts\?.captureRejections\?Boolean(opts\?.captureRejections):EventEmitterPrototype[kCapture])this.emit=emitWithRejectionCapture},EventEmitterPrototype=EventEmitter.prototype={};EventEmitterPrototype._events=void 0,EventEmitterPrototype._eventsCount=0,EventEmitterPrototype._maxListeners=void 0,EventEmitterPrototype.setMaxListeners=function setMaxListeners(n){return validateNumber(n,\"setMaxListeners\",0),this._maxListeners=n,this},EventEmitterPrototype.getMaxListeners=function getMaxListeners(){return this._maxListeners\?\?defaultMaxListeners};function emitError(emitter,args){var{_events:events}=emitter;if(args[0]\?\?=new Error(\"Unhandled error.\"),!events)throw args[0];var errorMonitor=events[kErrorMonitor];if(errorMonitor)for(var handler of ArrayPrototypeSlice.call(errorMonitor))handler.apply(emitter,args);var handlers=events.error;if(!handlers)throw args[0];for(var handler of ArrayPrototypeSlice.call(handlers))handler.apply(emitter,args);return!0}function addCatch(emitter,promise,type,args){promise.then(void 0,function(err){process.nextTick(emitUnhandledRejectionOrErr,emitter,err,type,args)})}function emitUnhandledRejectionOrErr(emitter,err,type,args){if(typeof emitter[kRejection]===\"function\")emitter[kRejection](err,type,...args);else try{emitter[kCapture]=!1,emitter.emit(\"error\",err)}finally{emitter[kCapture]=!0}}const emitWithoutRejectionCapture=function emit(type,...args){if(type===\"error\")return emitError(this,args);var{_events:events}=this;if(events===void 0)return!1;var handlers=events[type];if(handlers===void 0)return!1;for(var handler of[...handlers])handler.apply(this,args);return!0},emitWithRejectionCapture=function emit(type,...args){if(type===\"error\")return emitError(this,args);var{_events:events}=this;if(events===void 0)return!1;var handlers=events[type];if(handlers===void 0)return!1;for(var handler of[...handlers]){var result=handler.apply(this,args);if(result!==void 0&&@isPromise(result))addCatch(this,result,type,args)}return!0};EventEmitterPrototype.emit=emitWithoutRejectionCapture,EventEmitterPrototype.addListener=function addListener(type,fn){checkListener(fn);var events=this._events;if(!events)events=this._events={__proto__:null},this._eventsCount=0;else if(events.newListener)this.emit(\"newListener\",type,fn.listener\?\?fn);var handlers=events[type];if(!handlers)events[type]=[fn],this._eventsCount++;else{handlers.push(fn);var m=this._maxListeners\?\?defaultMaxListeners;if(m>0&&handlers.length>m&&!handlers.warned)overflowWarning(this,type,handlers)}return this},EventEmitterPrototype.on=EventEmitterPrototype.addListener,EventEmitterPrototype.prependListener=function prependListener(type,fn){checkListener(fn);var events=this._events;if(!events)events=this._events={__proto__:null},this._eventsCount=0;else if(events.newListener)this.emit(\"newListener\",type,fn.listener\?\?fn);var handlers=events[type];if(!handlers)events[type]=[fn],this._eventsCount++;else{handlers.unshift(fn);var m=this._maxListeners\?\?defaultMaxListeners;if(m>0&&handlers.length>m&&!handlers.warned)overflowWarning(this,type,handlers)}return this};function overflowWarning(emitter,type,handlers){handlers.warned=!0;const warn=new Error(`Possible EventEmitter memory leak detected. ${handlers.length} ${String(type)} listeners `+`added to [${emitter.constructor.name}]. Use emitter.setMaxListeners() to increase limit`);warn.name=\"MaxListenersExceededWarning\",warn.emitter=emitter,warn.type=type,warn.count=handlers.length,process.emitWarning(warn)}function onceWrapper(type,listener,...args){this.removeListener(type,listener),listener.apply(this,args)}EventEmitterPrototype.once=function once(type,fn){checkListener(fn);const bound=onceWrapper.bind(this,type,fn);return bound.listener=fn,this.addListener(type,bound),this},EventEmitterPrototype.prependOnceListener=function prependOnceListener(type,fn){checkListener(fn);const bound=onceWrapper.bind(this,type,fn);return bound.listener=fn,this.prependListener(type,bound),this},EventEmitterPrototype.removeListener=function removeListener(type,fn){checkListener(fn);var{_events:events}=this;if(!events)return this;var handlers=events[type];if(!handlers)return this;var length=handlers.length;let position=-1;for(let i=length-1;i>=0;i--)if(handlers[i]===fn||handlers[i].listener===fn){position=i;break}if(position<0)return this;if(position===0)handlers.shift();else handlers.splice(position,1);if(handlers.length===0)delete events[type],this._eventsCount--;return this},EventEmitterPrototype.off=EventEmitterPrototype.removeListener,EventEmitterPrototype.removeAllListeners=function removeAllListeners(type){var{_events:events}=this;if(type&&events){if(events[type])delete events[type],this._eventsCount--}else this._events={__proto__:null};return this},EventEmitterPrototype.listeners=function listeners(type){var{_events:events}=this;if(!events)return[];var handlers=events[type];if(!handlers)return[];return handlers.map((x)=>x.listener\?\?x)},EventEmitterPrototype.rawListeners=function rawListeners(type){var{_events}=this;if(!_events)return[];var handlers=_events[type];if(!handlers)return[];return handlers.slice()},EventEmitterPrototype.listenerCount=function listenerCount(type){var{_events:events}=this;if(!events)return 0;return events[type]\?.length\?\?0},EventEmitterPrototype.eventNames=function eventNames(){return this._eventsCount>0\?Reflect.ownKeys(this._events):[]},EventEmitterPrototype[kCapture]=!1;function once(emitter,type,options){var signal=options\?.signal;if(validateAbortSignal(signal,\"options.signal\"),signal\?.aborted)throw new AbortError(void 0,{cause:signal\?.reason});return new Promise((resolve,reject)=>{const errorListener=(err)=>{if(emitter.removeListener(type,resolver),signal!=null)eventTargetAgnosticRemoveListener(signal,\"abort\",abortListener);reject(err)},resolver=(...args)=>{if(typeof emitter.removeListener===\"function\")emitter.removeListener(\"error\",errorListener);if(signal!=null)eventTargetAgnosticRemoveListener(signal,\"abort\",abortListener);resolve(args)};if(eventTargetAgnosticAddListener(emitter,type,resolver,{once:!0}),type!==\"error\"&&typeof emitter.once===\"function\")emitter.once(\"error\",errorListener);function abortListener(){eventTargetAgnosticRemoveListener(emitter,type,resolver),eventTargetAgnosticRemoveListener(emitter,\"error\",errorListener),reject(new AbortError(void 0,{cause:signal\?.reason}))}if(signal!=null)eventTargetAgnosticAddListener(signal,\"abort\",abortListener,{once:!0})})}function on(emitter,type,options){var{signal,close,highWatermark=Number.MAX_SAFE_INTEGER,lowWatermark=1}=options||{};throwNotImplemented(\"events.on\",2679)}function getEventListeners(emitter,type){if(emitter instanceof EventTarget)throwNotImplemented(\"getEventListeners with an EventTarget\",2678);return emitter.listeners(type)}function setMaxListeners(n,...eventTargets){validateNumber(n,\"setMaxListeners\",0);var length;if(eventTargets&&(length=eventTargets.length))for(let i=0;imax||(min!=null||max!=null)&&Number.isNaN(value))throw new ERR_OUT_OF_RANGE(name,`${min!=null\?`>= ${min}`:\"\"}${min!=null&&max!=null\?\" && \":\"\"}${max!=null\?`<= ${max}`:\"\"}`,value)}function checkListener(listener){if(typeof listener!==\"function\")@throwTypeError(\"The listener must be a function\")}let AsyncResource=null;class EventEmitterAsyncResource extends EventEmitter{triggerAsyncId;asyncResource;constructor(options){if(!AsyncResource)AsyncResource=@requireId(5).AsyncResource;var{captureRejections=!1,triggerAsyncId,name=new.target.name,requireManualDestroy}=options||{};super({captureRejections});this.triggerAsyncId=triggerAsyncId\?\?0,this.asyncResource=new AsyncResource(name,{triggerAsyncId,requireManualDestroy})}emit(...args){this.asyncResource.runInAsyncScope(()=>super.emit(...args))}emitDestroy(){this.asyncResource.emitDestroy()}}return Object.defineProperties(EventEmitter,{captureRejections:{get(){return EventEmitterPrototype[kCapture]},set(value){validateBoolean(value,\"EventEmitter.captureRejections\"),EventEmitterPrototype[kCapture]=value},enumerable:!0},defaultMaxListeners:{enumerable:!0,get:()=>{return defaultMaxListeners},set:(arg)=>{validateNumber(arg,\"defaultMaxListeners\",0),defaultMaxListeners=arg}},kMaxEventTargetListeners:{value:kMaxEventTargetListeners,enumerable:!1,configurable:!1,writable:!1},kMaxEventTargetListenersWarned:{value:kMaxEventTargetListenersWarned,enumerable:!1,configurable:!1,writable:!1}}),Object.assign(EventEmitter,{once,on,getEventListeners,setMaxListeners,EventEmitter,usingDomains:!1,captureRejectionSymbol,EventEmitterAsyncResource,errorMonitor:kErrorMonitor,setMaxListeners,init:EventEmitter,listenerCount}),EventEmitter})\n"_s; +static constexpr ASCIILiteral NodeFSCode = "(function (){\"use strict\";var $,ReadStream,WriteStream;const EventEmitter=@requireId(13),promises=@requireId(15),Stream=@requireId(30);var fs=Bun.fs(),debug=process.env.DEBUG\?console.log:()=>{};class FSWatcher extends EventEmitter{#watcher;#listener;constructor(path,options,listener){super();if(typeof options===\"function\")listener=options,options={};else if(typeof options===\"string\")options={encoding:options};if(typeof listener!==\"function\")listener=()=>{};this.#listener=listener;try{this.#watcher=fs.watch(path,options||{},this.#onEvent.bind(this))}catch(e){if(!e.message\?.startsWith(\"FileNotFound\"))throw e;const notFound=new Error(`ENOENT: no such file or directory, watch '${path}'`);throw notFound.code=\"ENOENT\",notFound.errno=-2,notFound.path=path,notFound.syscall=\"watch\",notFound.filename=path,notFound}}#onEvent(eventType,filenameOrError){if(eventType===\"error\"||eventType===\"close\")this.emit(eventType,filenameOrError);else this.emit(\"change\",eventType,filenameOrError),this.#listener(eventType,filenameOrError)}close(){this.#watcher\?.close(),this.#watcher=null}ref(){this.#watcher\?.ref()}unref(){this.#watcher\?.unref()}}var access=function access(...args){callbackify(fs.accessSync,args)},appendFile=function appendFile(...args){callbackify(fs.appendFileSync,args)},close=function close(...args){callbackify(fs.closeSync,args)},rm=function rm(...args){callbackify(fs.rmSync,args)},rmdir=function rmdir(...args){callbackify(fs.rmdirSync,args)},copyFile=function copyFile(...args){callbackify(fs.copyFileSync,args)},exists=function exists(...args){callbackify(fs.existsSync,args)},chown=function chown(...args){callbackify(fs.chownSync,args)},chmod=function chmod(...args){callbackify(fs.chmodSync,args)},fchmod=function fchmod(...args){callbackify(fs.fchmodSync,args)},fchown=function fchown(...args){callbackify(fs.fchownSync,args)},fstat=function fstat(...args){callbackify(fs.fstatSync,args)},fsync=function fsync(...args){callbackify(fs.fsyncSync,args)},ftruncate=function ftruncate(...args){callbackify(fs.ftruncateSync,args)},futimes=function futimes(...args){callbackify(fs.futimesSync,args)},lchmod=function lchmod(...args){callbackify(fs.lchmodSync,args)},lchown=function lchown(...args){callbackify(fs.lchownSync,args)},link=function link(...args){callbackify(fs.linkSync,args)},mkdir=function mkdir(...args){callbackify(fs.mkdirSync,args)},mkdtemp=function mkdtemp(...args){callbackify(fs.mkdtempSync,args)},open=function open(...args){callbackify(fs.openSync,args)},read=function read(...args){callbackify(fs.readSync,args)},write=function write(...args){callbackify(fs.writeSync,args)},readdir=function readdir(...args){const callback=args[args.length-1];if(typeof callback!==\"function\")@throwTypeError(\"Callback must be a function\");fs.readdir(...args).then((result)=>callback(null,result),callback)},readFile=function readFile(...args){const callback=args[args.length-1];if(typeof callback!==\"function\")@throwTypeError(\"Callback must be a function\");fs.readFile(...args).then((result)=>callback(null,result),callback)},writeFile=function writeFile(...args){callbackify(fs.writeFileSync,args)},readlink=function readlink(...args){callbackify(fs.readlinkSync,args)},realpath=function realpath(...args){callbackify(fs.realpathSync,args)},rename=function rename(...args){callbackify(fs.renameSync,args)},lstat=function lstat(...args){const callback=args[args.length-1];if(typeof callback!==\"function\")@throwTypeError(\"Callback must be a function\");fs.lstat(...args).then((result)=>callback(null,result),callback)},stat=function stat(...args){const callback=args[args.length-1];if(typeof callback!==\"function\")@throwTypeError(\"Callback must be a function\");fs.stat(...args).then((result)=>callback(null,result),callback)},symlink=function symlink(...args){callbackify(fs.symlinkSync,args)},truncate=function truncate(...args){callbackify(fs.truncateSync,args)},unlink=function unlink(...args){callbackify(fs.unlinkSync,args)},utimes=function utimes(...args){callbackify(fs.utimesSync,args)},lutimes=function lutimes(...args){callbackify(fs.lutimesSync,args)},accessSync=fs.accessSync.bind(fs),appendFileSync=fs.appendFileSync.bind(fs),closeSync=fs.closeSync.bind(fs),copyFileSync=fs.copyFileSync.bind(fs),existsSync=fs.existsSync.bind(fs),chownSync=fs.chownSync.bind(fs),chmodSync=fs.chmodSync.bind(fs),fchmodSync=fs.fchmodSync.bind(fs),fchownSync=fs.fchownSync.bind(fs),fstatSync=fs.fstatSync.bind(fs),fsyncSync=fs.fsyncSync.bind(fs),ftruncateSync=fs.ftruncateSync.bind(fs),futimesSync=fs.futimesSync.bind(fs),lchmodSync=fs.lchmodSync.bind(fs),lchownSync=fs.lchownSync.bind(fs),linkSync=fs.linkSync.bind(fs),lstatSync=fs.lstatSync.bind(fs),mkdirSync=fs.mkdirSync.bind(fs),mkdtempSync=fs.mkdtempSync.bind(fs),openSync=fs.openSync.bind(fs),readSync=fs.readSync.bind(fs),writeSync=fs.writeSync.bind(fs),readdirSync=fs.readdirSync.bind(fs),readFileSync=fs.readFileSync.bind(fs),writeFileSync=fs.writeFileSync.bind(fs),readlinkSync=fs.readlinkSync.bind(fs),realpathSync=fs.realpathSync.bind(fs),renameSync=fs.renameSync.bind(fs),statSync=fs.statSync.bind(fs),symlinkSync=fs.symlinkSync.bind(fs),truncateSync=fs.truncateSync.bind(fs),unlinkSync=fs.unlinkSync.bind(fs),utimesSync=fs.utimesSync.bind(fs),lutimesSync=fs.lutimesSync.bind(fs),rmSync=fs.rmSync.bind(fs),rmdirSync=fs.rmdirSync.bind(fs),writev=(fd,buffers,position,callback)=>{if(typeof position===\"function\")callback=position,position=null;queueMicrotask(()=>{try{var written=fs.writevSync(fd,buffers,position)}catch(e){callback(e)}callback(null,written,buffers)})},writevSync=fs.writevSync.bind(fs),readv=(fd,buffers,position,callback)=>{if(typeof position===\"function\")callback=position,position=null;queueMicrotask(()=>{try{var written=fs.readvSync(fd,buffers,position)}catch(e){callback(e)}callback(null,written,buffers)})},readvSync=fs.readvSync.bind(fs),Dirent=fs.Dirent,Stats=fs.Stats,watch=function watch(path,options,listener){return new FSWatcher(path,options,listener)};function callbackify(fsFunction,args){try{const result=fsFunction.apply(fs,args.slice(0,args.length-1)),callback=args[args.length-1];if(typeof callback===\"function\")queueMicrotask(()=>callback(null,result))}catch(e){const callback=args[args.length-1];if(typeof callback===\"function\")queueMicrotask(()=>callback(e))}}var readStreamPathFastPathSymbol=Symbol.for(\"Bun.Node.readStreamPathFastPath\");const readStreamSymbol=Symbol.for(\"Bun.NodeReadStream\"),readStreamPathOrFdSymbol=Symbol.for(\"Bun.NodeReadStreamPathOrFd\"),writeStreamSymbol=Symbol.for(\"Bun.NodeWriteStream\");var writeStreamPathFastPathSymbol=Symbol.for(\"Bun.NodeWriteStreamFastPath\"),writeStreamPathFastPathCallSymbol=Symbol.for(\"Bun.NodeWriteStreamFastPathCall\"),kIoDone=Symbol.for(\"kIoDone\"),defaultReadStreamOptions={file:void 0,fd:void 0,flags:\"r\",encoding:void 0,mode:438,autoClose:!0,emitClose:!0,start:0,end:Infinity,highWaterMark:65536,fs:{read,open:(path,flags,mode,cb)=>{var fd;try{fd=openSync(path,flags,mode)}catch(e){cb(e);return}cb(null,fd)},openSync,close},autoDestroy:!0},ReadStreamClass;ReadStream=function(InternalReadStream){return ReadStreamClass=InternalReadStream,Object.defineProperty(ReadStreamClass.prototype,Symbol.toStringTag,{value:\"ReadStream\",enumerable:!1}),Object.defineProperty(function ReadStream(path,options){return new InternalReadStream(path,options)},Symbol.hasInstance,{value(instance){return instance instanceof InternalReadStream}})}(class ReadStream2 extends Stream._getNativeReadableStreamPrototype(2,Stream.Readable){constructor(pathOrFd,options=defaultReadStreamOptions){if(typeof options!==\"object\"||!options)@throwTypeError(\"Expected options to be an object\");var{flags=defaultReadStreamOptions.flags,encoding=defaultReadStreamOptions.encoding,mode=defaultReadStreamOptions.mode,autoClose=defaultReadStreamOptions.autoClose,emitClose=defaultReadStreamOptions.emitClose,start=defaultReadStreamOptions.start,end=defaultReadStreamOptions.end,autoDestroy=defaultReadStreamOptions.autoClose,fs:fs2=defaultReadStreamOptions.fs,highWaterMark=defaultReadStreamOptions.highWaterMark}=options;if(pathOrFd\?.constructor\?.name===\"URL\")pathOrFd=Bun.fileURLToPath(pathOrFd);var tempThis={};if(typeof pathOrFd===\"string\"){if(pathOrFd.startsWith(\"file://\"))pathOrFd=Bun.fileURLToPath(pathOrFd);if(pathOrFd.length===0)@throwTypeError(\"Expected path to be a non-empty string\");tempThis.path=tempThis.file=tempThis[readStreamPathOrFdSymbol]=pathOrFd}else if(typeof pathOrFd===\"number\"){if(pathOrFd|=0,pathOrFd<0)@throwTypeError(\"Expected fd to be a positive integer\");tempThis.fd=tempThis[readStreamPathOrFdSymbol]=pathOrFd,tempThis.autoClose=!1}else @throwTypeError(\"Expected a path or file descriptor\");if(!tempThis.fd)tempThis.fd=fs2.openSync(pathOrFd,flags,mode);var fileRef=Bun.file(tempThis.fd),stream=fileRef.stream(),native=@direct(stream);if(!native)throw debug(\"no native readable stream\"),new Error(\"no native readable stream\");var{stream:ptr}=native;super(ptr,{...options,encoding,autoDestroy,autoClose,emitClose,highWaterMark});if(Object.assign(this,tempThis),this.#fileRef=fileRef,this.end=end,this._read=this.#internalRead,this.start=start,this.flags=flags,this.mode=mode,this.emitClose=emitClose,this[readStreamPathFastPathSymbol]=start===0&&end===Infinity&&autoClose&&fs2===defaultReadStreamOptions.fs&&(encoding===\"buffer\"||encoding===\"binary\"||encoding==null||encoding===\"utf-8\"||encoding===\"utf8\"),this._readableState.autoClose=autoDestroy=autoClose,this._readableState.highWaterMark=highWaterMark,start!==void 0)this.pos=start}#fileRef;#fs;file;path;fd=null;flags;mode;start;end;pos;bytesRead=0;#fileSize=-1;_read;[readStreamSymbol]=!0;[readStreamPathOrFdSymbol];[readStreamPathFastPathSymbol];_construct(callback){if(super._construct)super._construct(callback);else callback();this.emit(\"open\",this.fd),this.emit(\"ready\")}_destroy(err,cb){super._destroy(err,cb);try{var fd=this.fd;if(this[readStreamPathFastPathSymbol]=!1,!fd)cb(err);else this.#fs.close(fd,(er)=>{cb(er||err)}),this.fd=null}catch(e){throw e}}close(cb){if(typeof cb===\"function\")eos_()(this,cb);this.destroy()}push(chunk){var bytesRead=chunk\?.length\?\?0;if(bytesRead>0){this.bytesRead+=bytesRead;var currPos=this.pos;if(currPos!==void 0){if(this.bytesRead=this.end)chunk=chunk.slice(0,this.end-this.start);return super.push(chunk,...rest)}var end=this.end;if(end&&this.bytesRead>=end){chunk=chunk.slice(0,end-currPos);var[_,...rest]=arguments;return this.pos=this.bytesRead,super.push(chunk,...rest)}this.pos=this.bytesRead}}return super.push(...arguments)}#internalRead(n){var{pos,end,bytesRead,fd,encoding}=this;if(n=pos!==void 0\?Math.min(end-pos+1,n):Math.min(end-bytesRead+1,n),debug(\"n @ fs.ReadStream.#internalRead, after clamp\",n),n<=0){this.push(null);return}if(this.#fileSize===-1&&bytesRead===0&&pos===void 0){var stat2=fstatSync(fd);if(this.#fileSize=stat2.size,this.#fileSize>0&&n>this.#fileSize)n=this.#fileSize+1;debug(\"fileSize\",this.#fileSize)}this[kIoDone]=!1;var res=super._read(n);if(debug(\"res -- undefined\? why\?\",res),@isPromise(res)){var then=res\?.then;if(then&&@isCallable(then))then(()=>{if(this[kIoDone]=!0,this.destroyed)this.emit(kIoDone)},(er)=>{this[kIoDone]=!0,this.#errorOrDestroy(er)})}else if(this[kIoDone]=!0,this.destroyed)this.emit(kIoDone),this.#errorOrDestroy(new Error(\"ERR_STREAM_PREMATURE_CLOSE\"))}#errorOrDestroy(err,sync=null){var{_readableState:r={destroyed:!1,autoDestroy:!1},_writableState:w={destroyed:!1,autoDestroy:!1}}=this;if(w\?.destroyed||r\?.destroyed)return this;if(r\?.autoDestroy||w\?.autoDestroy)this.destroy(err);else if(err)this.emit(\"error\",err)}pause(){return this[readStreamPathFastPathSymbol]=!1,super.pause()}resume(){return this[readStreamPathFastPathSymbol]=!1,super.resume()}unshift(...args){return this[readStreamPathFastPathSymbol]=!1,super.unshift(...args)}pipe(dest,pipeOpts){if(this[readStreamPathFastPathSymbol]&&(pipeOpts\?.end\?\?!0)&&this._readableState\?.pipes\?.length===0){if((writeStreamPathFastPathSymbol in dest)&&dest[writeStreamPathFastPathSymbol]){if(dest[writeStreamPathFastPathCallSymbol](this,pipeOpts))return this}}return this[readStreamPathFastPathSymbol]=!1,super.pipe(dest,pipeOpts)}});function createReadStream(path,options){return new ReadStream(path,options)}var defaultWriteStreamOptions={fd:null,start:void 0,pos:void 0,encoding:void 0,flags:\"w\",mode:438,fs:{write,close,open,openSync}},WriteStreamClass;WriteStream=function(InternalWriteStream){return WriteStreamClass=InternalWriteStream,Object.defineProperty(WriteStreamClass.prototype,Symbol.toStringTag,{value:\"WritesStream\",enumerable:!1}),Object.defineProperty(function WriteStream(path,options){return new InternalWriteStream(path,options)},Symbol.hasInstance,{value(instance){return instance instanceof InternalWriteStream}})}(class WriteStream2 extends Stream.NativeWritable{constructor(path,options=defaultWriteStreamOptions){if(!options)@throwTypeError(\"Expected options to be an object\");var{fs:fs2=defaultWriteStreamOptions.fs,start=defaultWriteStreamOptions.start,flags=defaultWriteStreamOptions.flags,mode=defaultWriteStreamOptions.mode,autoClose=!0,emitClose=!1,autoDestroy=autoClose,encoding=defaultWriteStreamOptions.encoding,fd=defaultWriteStreamOptions.fd,pos=defaultWriteStreamOptions.pos}=options,tempThis={};if(typeof path===\"string\"){if(path.length===0)@throwTypeError(\"Expected a non-empty path\");if(path.startsWith(\"file:\"))path=Bun.fileURLToPath(path);tempThis.path=path,tempThis.fd=null,tempThis[writeStreamPathFastPathSymbol]=autoClose&&(start===void 0||start===0)&&fs2.write===defaultWriteStreamOptions.fs.write&&fs2.close===defaultWriteStreamOptions.fs.close}else tempThis.fd=fd,tempThis[writeStreamPathFastPathSymbol]=!1;if(!tempThis.fd)tempThis.fd=fs2.openSync(path,flags,mode);super(tempThis.fd,{...options,decodeStrings:!1,autoDestroy,emitClose,fd:tempThis});if(Object.assign(this,tempThis),typeof fs2\?.write!==\"function\")@throwTypeError(\"Expected fs.write to be a function\");if(typeof fs2\?.close!==\"function\")@throwTypeError(\"Expected fs.close to be a function\");if(typeof fs2\?.open!==\"function\")@throwTypeError(\"Expected fs.open to be a function\");if(typeof path===\"object\"&&path){if(path instanceof URL)path=Bun.fileURLToPath(path)}if(typeof path!==\"string\"&&typeof fd!==\"number\")@throwTypeError(\"Expected a path or file descriptor\");if(this.start=start,this.#fs=fs2,this.flags=flags,this.mode=mode,this.start!==void 0)this.pos=this.start;if(encoding!==defaultWriteStreamOptions.encoding){if(this.setDefaultEncoding(encoding),encoding!==\"buffer\"&&encoding!==\"utf8\"&&encoding!==\"utf-8\"&&encoding!==\"binary\")this[writeStreamPathFastPathSymbol]=!1}}get autoClose(){return this._writableState.autoDestroy}set autoClose(val){this._writableState.autoDestroy=val}destroySoon=this.end;open(){}path;fd;flags;mode;#fs;bytesWritten=0;pos;[writeStreamPathFastPathSymbol];[writeStreamSymbol]=!0;start;[writeStreamPathFastPathCallSymbol](readStream,pipeOpts){if(!this[writeStreamPathFastPathSymbol])return!1;if(this.fd!==null)return this[writeStreamPathFastPathSymbol]=!1,!1;return this[kIoDone]=!1,readStream[kIoDone]=!1,Bun.write(this[writeStreamPathFastPathSymbol],readStream[readStreamPathOrFdSymbol]).then((bytesWritten)=>{readStream[kIoDone]=this[kIoDone]=!0,this.bytesWritten+=bytesWritten,readStream.bytesRead+=bytesWritten,this.end(),readStream.close()},(err)=>{readStream[kIoDone]=this[kIoDone]=!0,this.#errorOrDestroy(err),readStream.emit(\"error\",err)})}isBunFastPathEnabled(){return this[writeStreamPathFastPathSymbol]}disableBunFastPath(){this[writeStreamPathFastPathSymbol]=!1}#handleWrite(er,bytes){if(er)return this.#errorOrDestroy(er);this.bytesWritten+=bytes}#internalClose(err,cb){this[writeStreamPathFastPathSymbol]=!1;var fd=this.fd;this.#fs.close(fd,(er)=>{this.fd=null,cb(err||er)})}_construct(callback){if(typeof this.fd===\"number\"){callback();return}callback(),this.emit(\"open\",this.fd),this.emit(\"ready\")}_destroy(err,cb){if(this.fd===null)return cb(err);if(this[kIoDone]){this.once(kIoDone,()=>this.#internalClose(err,cb));return}this.#internalClose(err,cb)}[kIoDone]=!1;close(cb){if(cb){if(this.closed){process.nextTick(cb);return}this.on(\"close\",cb)}if(!this.autoClose)this.on(\"finish\",this.destroy);this.end()}write(chunk,encoding=this._writableState.defaultEncoding,cb){if(this[writeStreamPathFastPathSymbol]=!1,typeof chunk===\"string\")chunk=Buffer.from(chunk,encoding);var native=this.pos===void 0;return this[kIoDone]=!0,super.write(chunk,encoding,native\?(err,bytes)=>{if(this[kIoDone]=!1,this.#handleWrite(err,bytes),this.emit(kIoDone),cb)!err\?cb():cb(err)}:()=>{},native)}#internalWriteSlow(chunk,encoding,cb){this.#fs.write(this.fd,chunk,0,chunk.length,this.pos,(err,bytes)=>{this[kIoDone]=!1,this.#handleWrite(err,bytes),this.emit(kIoDone),!err\?cb():cb(err)})}end(chunk,encoding,cb){var native=this.pos===void 0;return super.end(chunk,encoding,cb,native)}_write=this.#internalWriteSlow;_writev=void 0;get pending(){return this.fd===null}_destroy(err,cb){this.close(err,cb)}#errorOrDestroy(err){var{_readableState:r={destroyed:!1,autoDestroy:!1},_writableState:w={destroyed:!1,autoDestroy:!1}}=this;if(w\?.destroyed||r\?.destroyed)return this;if(r\?.autoDestroy||w\?.autoDestroy)this.destroy(err);else if(err)this.emit(\"error\",err)}});function createWriteStream(path,options){return new WriteStream(path,options)}return Object.defineProperties(fs,{createReadStream:{value:createReadStream},createWriteStream:{value:createWriteStream},ReadStream:{value:ReadStream},WriteStream:{value:WriteStream}}),realpath.native=realpath,realpathSync.native=realpathSync,$={access,accessSync,appendFile,appendFileSync,chmod,chmodSync,chown,chownSync,close,closeSync,constants:promises.constants,copyFile,copyFileSync,createReadStream,createWriteStream,Dirent,exists,existsSync,fchmod,fchmodSync,fchown,fchownSync,fstat,fstatSync,fsync,fsyncSync,ftruncate,ftruncateSync,futimes,futimesSync,lchmod,lchmodSync,lchown,lchownSync,link,linkSync,lstat,lstatSync,lutimes,lutimesSync,mkdir,mkdirSync,mkdtemp,mkdtempSync,open,openSync,promises,read,readFile,readFileSync,readSync,readdir,readdirSync,readlink,readlinkSync,realpath,realpathSync,rename,renameSync,rm,rmSync,rmdir,rmdirSync,stat,statSync,Stats,symlink,symlinkSync,truncate,truncateSync,unlink,unlinkSync,utimes,utimesSync,write,writeFile,writeFileSync,writeSync,WriteStream,ReadStream,watch,FSWatcher,writev,writevSync,readv,readvSync,[Symbol.for(\"::bunternal::\")]:{ReadStreamClass,WriteStreamClass}},$})\n"_s; +static constexpr ASCIILiteral NodeFSPromisesCode = "(function (){\"use strict\";var $;const{createFIFO}=globalThis[globalThis.Symbol.for('Bun.lazy')](\"primordials\");var fs=Bun.fs();const notrace=\"::bunternal::\";var promisify={[notrace]:(fsFunction)=>{return async function(...args){return await 1,fsFunction.apply(fs,args)}}}[notrace];function watch(filename,options={}){if(filename instanceof URL)@throwTypeError(\"Watch URLs are not supported yet\");else if(Buffer.isBuffer(filename))filename=filename.toString();else if(typeof filename!==\"string\")@throwTypeError(\"Expected path to be a string or Buffer\");let nextEventResolve=null;if(typeof options===\"string\")options={encoding:options};const queue=createFIFO(),watcher=fs.watch(filename,options||{},(eventType,filename2)=>{if(queue.push({eventType,filename:filename2}),nextEventResolve){const resolve=nextEventResolve;nextEventResolve=null,resolve()}});return{[Symbol.asyncIterator](){let closed=!1;return{async next(){while(!closed){let event;while(event=queue.shift()){if(event.eventType===\"close\")return closed=!0,{value:void 0,done:!0};if(event.eventType===\"error\")throw closed=!0,event.filename;return{value:event,done:!1}}const{promise,resolve}=Promise.withResolvers();nextEventResolve=resolve,await promise}return{value:void 0,done:!0}},return(){if(!closed){if(watcher.close(),closed=!0,nextEventResolve){const resolve=nextEventResolve;nextEventResolve=null,resolve()}}return{value:void 0,done:!0}}}}}}return module.exports={access:promisify(fs.accessSync),appendFile:promisify(fs.appendFileSync),close:promisify(fs.closeSync),copyFile:promisify(fs.copyFileSync),exists:promisify(fs.existsSync),chown:promisify(fs.chownSync),chmod:promisify(fs.chmodSync),fchmod:promisify(fs.fchmodSync),fchown:promisify(fs.fchownSync),fstat:promisify(fs.fstatSync),fsync:promisify(fs.fsyncSync),ftruncate:promisify(fs.ftruncateSync),futimes:promisify(fs.futimesSync),lchmod:promisify(fs.lchmodSync),lchown:promisify(fs.lchownSync),link:promisify(fs.linkSync),lstat:fs.lstat.bind(fs),mkdir:promisify(fs.mkdirSync),mkdtemp:promisify(fs.mkdtempSync),open:promisify(fs.openSync),read:promisify(fs.readSync),write:promisify(fs.writeSync),readdir:fs.readdir.bind(fs),readFile:fs.readFile.bind(fs),writeFile:promisify(fs.writeFileSync),readlink:promisify(fs.readlinkSync),realpath:promisify(fs.realpathSync),rename:promisify(fs.renameSync),stat:fs.stat.bind(fs),symlink:promisify(fs.symlinkSync),truncate:promisify(fs.truncateSync),unlink:promisify(fs.unlinkSync),utimes:promisify(fs.utimesSync),lutimes:promisify(fs.lutimesSync),rm:promisify(fs.rmSync),rmdir:promisify(fs.rmdirSync),writev:(fd,buffers,position)=>{return new Promise((resolve,reject)=>{try{var bytesWritten=fs.writevSync(fd,buffers,position)}catch(err){reject(err);return}resolve({bytesWritten,buffers})})},readv:(fd,buffers,position)=>{return new Promise((resolve,reject)=>{try{var bytesRead=fs.readvSync(fd,buffers,position)}catch(err){reject(err);return}resolve({bytesRead,buffers})})},constants,watch},$})\n"_s; +static constexpr ASCIILiteral NodeHttpCode = "(function (){\"use strict\";var $;const EventEmitter=@requireId(13),{isTypedArray}=@requireBuiltin(55),headerCharRegex=/[^\\t\\x20-\\x7e\\x80-\\xff]/;function checkInvalidHeaderChar(val){return RegExpPrototypeExec.call(headerCharRegex,val)!==null}const validateHeaderName=(name,label)=>{if(typeof name!==\"string\"||!name||!checkIsHttpToken(name))throw new Error(\"ERR_INVALID_HTTP_TOKEN\")},validateHeaderValue=(name,value)=>{if(value===void 0)throw new Error(\"ERR_HTTP_INVALID_HEADER_VALUE\");if(checkInvalidHeaderChar(value))throw new Error(\"ERR_INVALID_CHAR\")};function isIPv6(input){return new RegExp(\"^((\?:(\?:[0-9a-fA-F]{1,4}):){7}(\?:(\?:[0-9a-fA-F]{1,4})|:)|(\?:(\?:[0-9a-fA-F]{1,4}):){6}(\?:((\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])[.]){3}(\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])|:(\?:[0-9a-fA-F]{1,4})|:)|(\?:(\?:[0-9a-fA-F]{1,4}):){5}(\?::((\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])[.]){3}(\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])|(:(\?:[0-9a-fA-F]{1,4})){1,2}|:)|(\?:(\?:[0-9a-fA-F]{1,4}):){4}(\?:(:(\?:[0-9a-fA-F]{1,4})){0,1}:((\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])[.]){3}(\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])|(:(\?:[0-9a-fA-F]{1,4})){1,3}|:)|(\?:(\?:[0-9a-fA-F]{1,4}):){3}(\?:(:(\?:[0-9a-fA-F]{1,4})){0,2}:((\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])[.]){3}(\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])|(:(\?:[0-9a-fA-F]{1,4})){1,4}|:)|(\?:(\?:[0-9a-fA-F]{1,4}):){2}(\?:(:(\?:[0-9a-fA-F]{1,4})){0,3}:((\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])[.]){3}(\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])|(:(\?:[0-9a-fA-F]{1,4})){1,5}|:)|(\?:(\?:[0-9a-fA-F]{1,4}):){1}(\?:(:(\?:[0-9a-fA-F]{1,4})){0,4}:((\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])[.]){3}(\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])|(:(\?:[0-9a-fA-F]{1,4})){1,6}|:)|(\?::((\?::(\?:[0-9a-fA-F]{1,4})){0,5}:((\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])[.]){3}(\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])|(\?::(\?:[0-9a-fA-F]{1,4})){1,7}|:)))(%[0-9a-zA-Z-.:]{1,})\?$\").test(input)}const{URL}=globalThis,globalReportError=globalThis.reportError,setTimeout=globalThis.setTimeout,fetch=Bun.fetch,nop=()=>{},__DEBUG__=process.env.__DEBUG__,debug=__DEBUG__\?(...args)=>console.log(\"node:http\",...args):nop,kEmptyObject=Object.freeze(Object.create(null)),kOutHeaders=Symbol.for(\"kOutHeaders\"),kEndCalled=Symbol.for(\"kEndCalled\"),kAbortController=Symbol.for(\"kAbortController\"),kClearTimeout=Symbol(\"kClearTimeout\"),kCorked=Symbol.for(\"kCorked\"),searchParamsSymbol=Symbol.for(\"query\"),StringPrototypeSlice=String.prototype.slice,StringPrototypeStartsWith=String.prototype.startsWith,StringPrototypeToUpperCase=String.prototype.toUpperCase,StringPrototypeIncludes=String.prototype.includes,StringPrototypeCharCodeAt=String.prototype.charCodeAt,StringPrototypeIndexOf=String.prototype.indexOf,ArrayIsArray=Array.isArray,RegExpPrototypeExec=RegExp.prototype.exec,ObjectAssign=Object.assign,ObjectPrototypeHasOwnProperty=Object.prototype.hasOwnProperty,INVALID_PATH_REGEX=/[^\\u0021-\\u00ff]/,NODE_HTTP_WARNING=\"WARN: Agent is mostly unused in Bun's implementation of http. If you see strange behavior, this is probably the cause.\";var _defaultHTTPSAgent,kInternalRequest=Symbol(\"kInternalRequest\"),kInternalSocketData=Symbol.for(\"::bunternal::\");const kEmptyBuffer=Buffer.alloc(0);function isValidTLSArray(obj){if(typeof obj===\"string\"||isTypedArray(obj)||obj instanceof ArrayBuffer||obj instanceof Blob)return!0;if(Array.isArray(obj)){for(var i=0;i{this.close()}),host=port\?.host,port=port\?.port,typeof port\?.callback===\"function\")onListen=port\?.callback}if(typeof backlog===\"function\")onListen=backlog;const ResponseClass=this.#options.ServerResponse||ServerResponse,RequestClass=this.#options.IncomingMessage||IncomingMessage;try{const tls=this.#tls;if(tls)this.serverName=tls.serverName||host||\"localhost\";this.#server=Bun.serve({tls,port,hostname:host,websocket:{open(ws){ws.data.open(ws)},message(ws,message){ws.data.message(ws,message)},close(ws,code,reason){ws.data.close(ws,code,reason)},drain(ws){ws.data.drain(ws)}},fetch(req,_server){var pendingResponse,pendingError,rejectFunction,resolveFunction,reject=(err)=>{if(pendingError)return;if(pendingError=err,rejectFunction)rejectFunction(err)},reply=function(resp){if(pendingResponse)return;if(pendingResponse=resp,resolveFunction)resolveFunction(resp)};const http_req=new RequestClass(req),http_res=new ResponseClass({reply,req:http_req});if(http_req.once(\"error\",(err)=>reject(err)),http_res.once(\"error\",(err)=>reject(err)),req.headers.get(\"upgrade\")){const socket=new FakeSocket;socket[kInternalSocketData]=[_server,http_res,req],server.emit(\"upgrade\",http_req,socket,kEmptyBuffer)}else server.emit(\"request\",http_req,http_res);if(pendingError)throw pendingError;if(pendingResponse)return pendingResponse;return new Promise((resolve,reject2)=>{resolveFunction=resolve,rejectFunction=reject2})}}),setTimeout(emitListeningNextTick,1,this,onListen,null,this.#server.hostname,this.#server.port)}catch(err){setTimeout(emitListeningNextTick,1,this,onListen,err)}return this}setTimeout(msecs,callback){}}function assignHeaders(object,req){var headers=req.headers.toJSON();const rawHeaders=@newArrayWithSize(req.headers.count*2);var i=0;for(let key in headers)rawHeaders[i++]=key,rawHeaders[i++]=headers[key];object.headers=headers,object.rawHeaders=rawHeaders}function destroyBodyStreamNT(bodyStream){bodyStream.destroy()}var defaultIncomingOpts={type:\"request\"};function getDefaultHTTPSAgent(){return _defaultHTTPSAgent\?\?=new Agent({defaultPort:443,protocol:\"https:\"})}class IncomingMessage extends Readable{method;complete;constructor(req,defaultIncomingOpts2){const method=req.method;super();const url=new URL(req.url);var{type=\"request\",[kInternalRequest]:nodeReq}=defaultIncomingOpts2||{};this.#noBody=type===\"request\"\?method===\"GET\"||method===\"HEAD\"||method===\"TRACE\"||method===\"CONNECT\"||method===\"OPTIONS\"||(parseInt(req.headers.get(\"Content-Length\")||\"\")||0)===0:!1,this.#req=req,this.method=method,this.#type=type,this.complete=!!this.#noBody,this.#bodyStream=void 0;const socket=new FakeSocket;socket.remoteAddress=url.hostname,socket.remotePort=url.port,this.#fakeSocket=socket,this.url=url.pathname+url.search,this.#nodeReq=nodeReq,assignHeaders(this,req)}headers;rawHeaders;_consuming=!1;_dumped=!1;#bodyStream;#fakeSocket;#noBody=!1;#aborted=!1;#req;url;#type;#nodeReq;get req(){return this.#nodeReq}_construct(callback){if(this.#type===\"response\"||this.#noBody){callback();return}const contentLength=this.#req.headers.get(\"content-length\");if((contentLength\?parseInt(contentLength,10):0)===0){this.#noBody=!0,callback();return}callback()}async#consumeStream(reader){while(!0){var{done,value}=await reader.readMany();if(this.#aborted)return;if(done){this.push(null),this.destroy();break}for(var v of value)this.push(v)}}_read(size){if(this.#noBody)this.push(null),this.complete=!0;else if(this.#bodyStream==null){const reader=this.#req.body\?.getReader();if(!reader){this.push(null);return}this.#bodyStream=reader,this.#consumeStream(reader)}}get aborted(){return this.#aborted}#abort(){if(this.#aborted)return;this.#aborted=!0;var bodyStream=this.#bodyStream;if(!bodyStream)return;bodyStream.cancel(),this.complete=!0,this.#bodyStream=void 0,this.push(null)}get connection(){return this.#fakeSocket}get statusCode(){return this.#req.status}get statusMessage(){return STATUS_CODES[this.#req.status]}get httpVersion(){return\"1.1\"}get rawTrailers(){return[]}get httpVersionMajor(){return 1}get httpVersionMinor(){return 1}get trailers(){return kEmptyObject}get socket(){return this.#fakeSocket\?\?=new FakeSocket}set socket(val){this.#fakeSocket=val}setTimeout(msecs,callback){throw new Error(\"not implemented\")}}function emitErrorNt(msg,err,callback){if(callback(err),typeof msg.emit===\"function\"&&!msg._closed)msg.emit(\"error\",err)}function onError(self,err,cb){process.nextTick(()=>emitErrorNt(self,err,cb))}function write_(msg,chunk,encoding,callback,fromEnd){if(typeof callback!==\"function\")callback=nop;let len;if(chunk===null)throw new Error(\"ERR_STREAM_NULL_VALUES\");else if(typeof chunk===\"string\")len=Buffer.byteLength(chunk,encoding);else throw new Error(\"Invalid arg type for chunk\");let err;if(msg.finished)err=new Error(\"ERR_STREAM_WRITE_AFTER_END\");else if(msg.destroyed)err=new Error(\"ERR_STREAM_DESTROYED\");if(err){if(!msg.destroyed)onError(msg,err,callback);else process.nextTick(callback,err);return!1}if(!msg._header){if(fromEnd)msg._contentLength=len}if(!msg._hasBody)return debug(\"This type of response MUST NOT have a body. Ignoring write() calls.\"),process.nextTick(callback),!0;return!0}class OutgoingMessage extends Writable{constructor(){super(...arguments)}#headers;headersSent=!1;sendDate=!0;req;timeout;#finished=!1;[kEndCalled]=!1;#fakeSocket;#timeoutTimer;[kAbortController]=null;_implicitHeader(){}get headers(){if(!this.#headers)return kEmptyObject;return this.#headers.toJSON()}get shouldKeepAlive(){return!0}get chunkedEncoding(){return!1}set chunkedEncoding(value){}set shouldKeepAlive(value){}get useChunkedEncodingByDefault(){return!0}set useChunkedEncodingByDefault(value){}get socket(){return this.#fakeSocket\?\?=new FakeSocket}set socket(val){this.#fakeSocket=val}get connection(){return this.socket}get finished(){return this.#finished}appendHeader(name,value){var headers=this.#headers\?\?=new Headers;headers.append(name,value)}flushHeaders(){}getHeader(name){return getHeader(this.#headers,name)}getHeaders(){if(!this.#headers)return kEmptyObject;return this.#headers.toJSON()}getHeaderNames(){var headers=this.#headers;if(!headers)return[];return Array.from(headers.keys())}removeHeader(name){if(!this.#headers)return;this.#headers.delete(name)}setHeader(name,value){var headers=this.#headers\?\?=new Headers;return headers.set(name,value),this}hasHeader(name){if(!this.#headers)return!1;return this.#headers.has(name)}addTrailers(headers){throw new Error(\"not implemented\")}[kClearTimeout](){if(this.#timeoutTimer)clearTimeout(this.#timeoutTimer),this.removeAllListeners(\"timeout\"),this.#timeoutTimer=void 0}#onTimeout(){this.#timeoutTimer=void 0,this[kAbortController]\?.abort(),this.emit(\"timeout\")}setTimeout(msecs,callback){if(this.destroyed)return this;if(this.timeout=msecs=validateMsecs(msecs,\"msecs\"),clearTimeout(this.#timeoutTimer),msecs===0){if(callback!==void 0)validateFunction(callback,\"callback\"),this.removeListener(\"timeout\",callback);this.#timeoutTimer=void 0}else if(this.#timeoutTimer=setTimeout(this.#onTimeout.bind(this),msecs).unref(),callback!==void 0)validateFunction(callback,\"callback\"),this.once(\"timeout\",callback);return this}}let OriginalWriteHeadFn,OriginalImplicitHeadFn;class ServerResponse extends Writable{constructor({req,reply}){super();if(this.req=req,this._reply=reply,this.sendDate=!0,this.statusCode=200,this.headersSent=!1,this.statusMessage=void 0,this.#controller=void 0,this.#firstWrite=void 0,this._writableState.decodeStrings=!1,this.#deferred=void 0,req.method===\"HEAD\")this._hasBody=!1}req;_reply;sendDate;statusCode;#headers;headersSent=!1;statusMessage;#controller;#firstWrite;_sent100=!1;_defaultKeepAlive=!1;_removedConnection=!1;_removedContLen=!1;_hasBody=!0;#deferred=void 0;#finished=!1;_implicitHeader(){this.writeHead(this.statusCode)}_write(chunk,encoding,callback){if(!this.#firstWrite&&!this.headersSent){this.#firstWrite=chunk,callback();return}this.#ensureReadableStreamController((controller)=>{controller.write(chunk),callback()})}_writev(chunks,callback){if(chunks.length===1&&!this.headersSent&&!this.#firstWrite){this.#firstWrite=chunks[0].chunk,callback();return}this.#ensureReadableStreamController((controller)=>{for(let chunk of chunks)controller.write(chunk.chunk);callback()})}#ensureReadableStreamController(run){var thisController=this.#controller;if(thisController)return run(thisController);this.headersSent=!0;var firstWrite=this.#firstWrite;this.#firstWrite=void 0,this._reply(new Response(new ReadableStream({type:\"direct\",pull:(controller)=>{if(this.#controller=controller,firstWrite)controller.write(firstWrite);if(firstWrite=void 0,run(controller),!this.#finished)return new Promise((resolve)=>{this.#deferred=resolve})}}),{headers:this.#headers,status:this.statusCode,statusText:this.statusMessage\?\?STATUS_CODES[this.statusCode]}))}#drainHeadersIfObservable(){if(this._implicitHeader===OriginalImplicitHeadFn&&this.writeHead===OriginalWriteHeadFn)return;this._implicitHeader()}_final(callback){if(!this.headersSent){var data=this.#firstWrite||\"\";this.#firstWrite=void 0,this.#finished=!0,this.#drainHeadersIfObservable(),this._reply(new Response(data,{headers:this.#headers,status:this.statusCode,statusText:this.statusMessage\?\?STATUS_CODES[this.statusCode]})),callback&&callback();return}this.#finished=!0,this.#ensureReadableStreamController((controller)=>{controller.end(),callback();var deferred=this.#deferred;if(deferred)this.#deferred=void 0,deferred()})}writeProcessing(){throw new Error(\"not implemented\")}addTrailers(headers){throw new Error(\"not implemented\")}assignSocket(socket){throw new Error(\"not implemented\")}detachSocket(socket){throw new Error(\"not implemented\")}writeContinue(callback){throw new Error(\"not implemented\")}setTimeout(msecs,callback){throw new Error(\"not implemented\")}get shouldKeepAlive(){return!0}get chunkedEncoding(){return!1}set chunkedEncoding(value){}set shouldKeepAlive(value){}get useChunkedEncodingByDefault(){return!0}set useChunkedEncodingByDefault(value){}appendHeader(name,value){var headers=this.#headers\?\?=new Headers;headers.append(name,value)}flushHeaders(){}getHeader(name){return getHeader(this.#headers,name)}getHeaders(){var headers=this.#headers;if(!headers)return kEmptyObject;return headers.toJSON()}getHeaderNames(){var headers=this.#headers;if(!headers)return[];return Array.from(headers.keys())}removeHeader(name){if(!this.#headers)return;this.#headers.delete(name)}setHeader(name,value){var headers=this.#headers\?\?=new Headers;return headers.set(name,value),this}hasHeader(name){if(!this.#headers)return!1;return this.#headers.has(name)}writeHead(statusCode,statusMessage,headers){return _writeHead(statusCode,statusMessage,headers,this),this}}OriginalWriteHeadFn=ServerResponse.prototype.writeHead,OriginalImplicitHeadFn=ServerResponse.prototype._implicitHeader;class ClientRequest extends OutgoingMessage{#timeout;#res=null;#upgradeOrConnect=!1;#parser=null;#maxHeadersCount=null;#reusedSocket=!1;#host;#protocol;#method;#port;#useDefaultPort;#joinDuplicateHeaders;#maxHeaderSize;#agent=globalAgent;#path;#socketPath;#body=null;#fetchRequest;#signal=null;[kAbortController]=null;#timeoutTimer=void 0;#options;#finished;get path(){return this.#path}get port(){return this.#port}get method(){return this.#method}get host(){return this.#host}get protocol(){return this.#protocol}_write(chunk,encoding,callback){var body=this.#body;if(!body){this.#body=chunk,callback();return}this.#body=body+chunk,callback()}_writev(chunks,callback){var body=this.#body;if(!body){this.#body=chunks.join(),callback();return}this.#body=body+chunks.join(),callback()}_final(callback){if(this.#finished=!0,this[kAbortController]=new AbortController,this[kAbortController].signal.addEventListener(\"abort\",()=>{this[kClearTimeout]()}),this.#signal\?.aborted)this[kAbortController].abort();var method=this.#method,body=this.#body;try{this.#fetchRequest=fetch(`${this.#protocol}//${this.#host}${this.#useDefaultPort\?\"\":\":\"+this.#port}${this.#path}`,{method,headers:this.getHeaders(),body:body&&method!==\"GET\"&&method!==\"HEAD\"&&method!==\"OPTIONS\"\?body:void 0,redirect:\"manual\",verbose:Boolean(__DEBUG__),signal:this[kAbortController].signal,timeout:!1}).then((response)=>{var res=this.#res=new IncomingMessage(response,{type:\"response\",[kInternalRequest]:this});this.emit(\"response\",res)}).catch((err)=>{if(__DEBUG__)globalReportError(err);this.emit(\"error\",err)}).finally(()=>{this.#fetchRequest=null,this[kClearTimeout]()})}catch(err){if(__DEBUG__)globalReportError(err);this.emit(\"error\",err)}finally{callback()}}get aborted(){return this.#signal\?.aborted||!!this[kAbortController]\?.signal.aborted}abort(){if(this.aborted)return;this[kAbortController].abort()}constructor(input,options,cb){super();if(typeof input===\"string\"){const urlStr=input;try{var urlObject=new URL(urlStr)}catch(e){@throwTypeError(`Invalid URL: ${urlStr}`)}input=urlToHttpOptions(urlObject)}else if(input&&typeof input===\"object\"&&input instanceof URL)input=urlToHttpOptions(input);else cb=options,options=input,input=null;if(typeof options===\"function\")cb=options,options=input||kEmptyObject;else options=ObjectAssign(input||{},options);var defaultAgent=options._defaultAgent||Agent.globalAgent;let protocol=options.protocol;if(!protocol)if(options.port===443)protocol=\"https:\";else protocol=defaultAgent.protocol||\"http:\";switch(this.#protocol=protocol,this.#agent\?.protocol){case void 0:break;case\"http:\":if(protocol===\"https:\"){defaultAgent=this.#agent=getDefaultHTTPSAgent();break}case\"https:\":if(protocol===\"https\"){defaultAgent=this.#agent=Agent.globalAgent;break}default:break}if(options.path){const path=String(options.path);if(RegExpPrototypeExec.call(INVALID_PATH_REGEX,path)!==null)throw debug('Path contains unescaped characters: \"%s\"',path),new Error(\"Path contains unescaped characters\")}if(protocol!==\"http:\"&&protocol!==\"https:\"&&protocol){const expectedProtocol=defaultAgent\?.protocol\?\?\"http:\";throw new Error(`Protocol mismatch. Expected: ${expectedProtocol}. Got: ${protocol}`)}const defaultPort=protocol===\"https:\"\?443:80;this.#port=options.port||options.defaultPort||this.#agent\?.defaultPort||defaultPort,this.#useDefaultPort=this.#port===defaultPort;const host=this.#host=options.host=validateHost(options.hostname,\"hostname\")||validateHost(options.host,\"host\")||\"localhost\";this.#socketPath=options.socketPath;const signal=options.signal;if(signal)signal.addEventListener(\"abort\",()=>{this[kAbortController]\?.abort()}),this.#signal=signal;let method=options.method;const methodIsString=typeof method===\"string\";if(method!==null&&method!==void 0&&!methodIsString)throw new Error(\"ERR_INVALID_ARG_TYPE: options.method\");if(methodIsString&&method){if(!checkIsHttpToken(method))throw new Error(\"ERR_INVALID_HTTP_TOKEN: Method\");method=this.#method=StringPrototypeToUpperCase.call(method)}else method=this.#method=\"GET\";const _maxHeaderSize=options.maxHeaderSize;this.#maxHeaderSize=_maxHeaderSize;var _joinDuplicateHeaders=options.joinDuplicateHeaders;if(this.#joinDuplicateHeaders=_joinDuplicateHeaders,this.#path=options.path||\"/\",cb)this.once(\"response\",cb);__DEBUG__&&debug(`new ClientRequest: ${this.#method} ${this.#protocol}//${this.#host}:${this.#port}${this.#path}`),this.#finished=!1,this.#res=null,this.#upgradeOrConnect=!1,this.#parser=null,this.#maxHeadersCount=null,this.#reusedSocket=!1,this.#host=host,this.#protocol=protocol;var timeout=options.timeout;if(timeout!==void 0&&timeout!==0)this.setTimeout(timeout,void 0);if(!ArrayIsArray(headers)){var headers=options.headers;if(headers)for(let key in headers)this.setHeader(key,headers[key]);var auth=options.auth;if(auth&&!this.getHeader(\"Authorization\"))this.setHeader(\"Authorization\",\"Basic \"+Buffer.from(auth).toString(\"base64\"))}var{signal:_signal,...optsWithoutSignal}=options;this.#options=optsWithoutSignal}setSocketKeepAlive(enable=!0,initialDelay=0){__DEBUG__&&debug(`${NODE_HTTP_WARNING}\\n`,\"WARN: ClientRequest.setSocketKeepAlive is a no-op\")}setNoDelay(noDelay=!0){__DEBUG__&&debug(`${NODE_HTTP_WARNING}\\n`,\"WARN: ClientRequest.setNoDelay is a no-op\")}[kClearTimeout](){if(this.#timeoutTimer)clearTimeout(this.#timeoutTimer),this.#timeoutTimer=void 0,this.removeAllListeners(\"timeout\")}#onTimeout(){this.#timeoutTimer=void 0,this[kAbortController]\?.abort(),this.emit(\"timeout\")}setTimeout(msecs,callback){if(this.destroyed)return this;if(this.timeout=msecs=validateMsecs(msecs,\"msecs\"),clearTimeout(this.#timeoutTimer),msecs===0){if(callback!==void 0)validateFunction(callback,\"callback\"),this.removeListener(\"timeout\",callback);this.#timeoutTimer=void 0}else if(this.#timeoutTimer=setTimeout(this.#onTimeout.bind(this),msecs).unref(),callback!==void 0)validateFunction(callback,\"callback\"),this.once(\"timeout\",callback);return this}}function urlToHttpOptions(url){var{protocol,hostname,hash,search,pathname,href,port,username,password}=url;return{protocol,hostname:typeof hostname===\"string\"&&StringPrototypeStartsWith.call(hostname,\"[\")\?StringPrototypeSlice.call(hostname,1,-1):hostname,hash,search,pathname,path:`${pathname||\"\"}${search||\"\"}`,href,port:port\?Number(port):protocol===\"https:\"\?443:protocol===\"http:\"\?80:void 0,auth:username||password\?`${decodeURIComponent(username)}:${decodeURIComponent(password)}`:void 0}}function validateHost(host,name){if(host!==null&&host!==void 0&&typeof host!==\"string\")throw new Error(\"Invalid arg type in options\");return host}const tokenRegExp=/^[\\^_`a-zA-Z\\-0-9!#$%&'*+.|~]+$/;function checkIsHttpToken(val){return RegExpPrototypeExec.call(tokenRegExp,val)!==null}const METHODS=[\"ACL\",\"BIND\",\"CHECKOUT\",\"CONNECT\",\"COPY\",\"DELETE\",\"GET\",\"HEAD\",\"LINK\",\"LOCK\",\"M-SEARCH\",\"MERGE\",\"MKACTIVITY\",\"MKCALENDAR\",\"MKCOL\",\"MOVE\",\"NOTIFY\",\"OPTIONS\",\"PATCH\",\"POST\",\"PROPFIND\",\"PROPPATCH\",\"PURGE\",\"PUT\",\"REBIND\",\"REPORT\",\"SEARCH\",\"SOURCE\",\"SUBSCRIBE\",\"TRACE\",\"UNBIND\",\"UNLINK\",\"UNLOCK\",\"UNSUBSCRIBE\"],STATUS_CODES={100:\"Continue\",101:\"Switching Protocols\",102:\"Processing\",103:\"Early Hints\",200:\"OK\",201:\"Created\",202:\"Accepted\",203:\"Non-Authoritative Information\",204:\"No Content\",205:\"Reset Content\",206:\"Partial Content\",207:\"Multi-Status\",208:\"Already Reported\",226:\"IM Used\",300:\"Multiple Choices\",301:\"Moved Permanently\",302:\"Found\",303:\"See Other\",304:\"Not Modified\",305:\"Use Proxy\",307:\"Temporary Redirect\",308:\"Permanent Redirect\",400:\"Bad Request\",401:\"Unauthorized\",402:\"Payment Required\",403:\"Forbidden\",404:\"Not Found\",405:\"Method Not Allowed\",406:\"Not Acceptable\",407:\"Proxy Authentication Required\",408:\"Request Timeout\",409:\"Conflict\",410:\"Gone\",411:\"Length Required\",412:\"Precondition Failed\",413:\"Payload Too Large\",414:\"URI Too Long\",415:\"Unsupported Media Type\",416:\"Range Not Satisfiable\",417:\"Expectation Failed\",418:\"I'm a Teapot\",421:\"Misdirected Request\",422:\"Unprocessable Entity\",423:\"Locked\",424:\"Failed Dependency\",425:\"Too Early\",426:\"Upgrade Required\",428:\"Precondition Required\",429:\"Too Many Requests\",431:\"Request Header Fields Too Large\",451:\"Unavailable For Legal Reasons\",500:\"Internal Server Error\",501:\"Not Implemented\",502:\"Bad Gateway\",503:\"Service Unavailable\",504:\"Gateway Timeout\",505:\"HTTP Version Not Supported\",506:\"Variant Also Negotiates\",507:\"Insufficient Storage\",508:\"Loop Detected\",509:\"Bandwidth Limit Exceeded\",510:\"Not Extended\",511:\"Network Authentication Required\"};function _normalizeArgs(args){let arr;if(args.length===0)return arr=[{},null],arr;const arg0=args[0];let options={};if(typeof arg0===\"object\"&&arg0!==null)options=arg0;else if(options.port=arg0,args.length>1&&typeof args[1]===\"string\")options.host=args[1];const cb=args[args.length-1];if(typeof cb!==\"function\")arr=[options,null];else arr=[options,cb];return arr}function _writeHead(statusCode,reason,obj,response){if(statusCode|=0,statusCode<100||statusCode>999)throw new Error(\"status code must be between 100 and 999\");if(typeof reason===\"string\")response.statusMessage=reason;else{if(!response.statusMessage)response.statusMessage=STATUS_CODES[statusCode]||\"unknown\";obj=reason}response.statusCode=statusCode;{let k;if(Array.isArray(obj)){if(obj.length%2!==0)throw new Error(\"raw headers must have an even number of elements\");for(let n=0;n=100&&statusCode<=199)response._hasBody=!1}function request(url,options,cb){return new ClientRequest(url,options,cb)}function get(url,options,cb){const req=request(url,options,cb);return req.end(),req}var globalAgent=new Agent;return $={Agent,Server,METHODS,STATUS_CODES,createServer,ServerResponse,IncomingMessage,request,get,maxHeaderSize:16384,validateHeaderName,validateHeaderValue,setMaxIdleHTTPParsers(max){debug(`${NODE_HTTP_WARNING}\\n`,\"setMaxIdleHTTPParsers() is a no-op\")},globalAgent,ClientRequest,OutgoingMessage},$})\n"_s; +static constexpr ASCIILiteral NodeHttp2Code = "(function (){\"use strict\";var $;const{hideFromStack,throwNotImplemented}=@requireId(2);function connect(){throwNotImplemented(\"node:http2 connect\",887)}const constants={NGHTTP2_ERR_FRAME_SIZE_ERROR:-522,NGHTTP2_SESSION_SERVER:0,NGHTTP2_SESSION_CLIENT:1,NGHTTP2_STREAM_STATE_IDLE:1,NGHTTP2_STREAM_STATE_OPEN:2,NGHTTP2_STREAM_STATE_RESERVED_LOCAL:3,NGHTTP2_STREAM_STATE_RESERVED_REMOTE:4,NGHTTP2_STREAM_STATE_HALF_CLOSED_LOCAL:5,NGHTTP2_STREAM_STATE_HALF_CLOSED_REMOTE:6,NGHTTP2_STREAM_STATE_CLOSED:7,NGHTTP2_FLAG_NONE:0,NGHTTP2_FLAG_END_STREAM:1,NGHTTP2_FLAG_END_HEADERS:4,NGHTTP2_FLAG_ACK:1,NGHTTP2_FLAG_PADDED:8,NGHTTP2_FLAG_PRIORITY:32,DEFAULT_SETTINGS_HEADER_TABLE_SIZE:4096,DEFAULT_SETTINGS_ENABLE_PUSH:1,DEFAULT_SETTINGS_MAX_CONCURRENT_STREAMS:4294967295,DEFAULT_SETTINGS_INITIAL_WINDOW_SIZE:65535,DEFAULT_SETTINGS_MAX_FRAME_SIZE:16384,DEFAULT_SETTINGS_MAX_HEADER_LIST_SIZE:65535,DEFAULT_SETTINGS_ENABLE_CONNECT_PROTOCOL:0,MAX_MAX_FRAME_SIZE:16777215,MIN_MAX_FRAME_SIZE:16384,MAX_INITIAL_WINDOW_SIZE:2147483647,NGHTTP2_SETTINGS_HEADER_TABLE_SIZE:1,NGHTTP2_SETTINGS_ENABLE_PUSH:2,NGHTTP2_SETTINGS_MAX_CONCURRENT_STREAMS:3,NGHTTP2_SETTINGS_INITIAL_WINDOW_SIZE:4,NGHTTP2_SETTINGS_MAX_FRAME_SIZE:5,NGHTTP2_SETTINGS_MAX_HEADER_LIST_SIZE:6,NGHTTP2_SETTINGS_ENABLE_CONNECT_PROTOCOL:8,PADDING_STRATEGY_NONE:0,PADDING_STRATEGY_ALIGNED:1,PADDING_STRATEGY_MAX:2,PADDING_STRATEGY_CALLBACK:1,NGHTTP2_NO_ERROR:0,NGHTTP2_PROTOCOL_ERROR:1,NGHTTP2_INTERNAL_ERROR:2,NGHTTP2_FLOW_CONTROL_ERROR:3,NGHTTP2_SETTINGS_TIMEOUT:4,NGHTTP2_STREAM_CLOSED:5,NGHTTP2_FRAME_SIZE_ERROR:6,NGHTTP2_REFUSED_STREAM:7,NGHTTP2_CANCEL:8,NGHTTP2_COMPRESSION_ERROR:9,NGHTTP2_CONNECT_ERROR:10,NGHTTP2_ENHANCE_YOUR_CALM:11,NGHTTP2_INADEQUATE_SECURITY:12,NGHTTP2_HTTP_1_1_REQUIRED:13,NGHTTP2_DEFAULT_WEIGHT:16,HTTP2_HEADER_STATUS:\":status\",HTTP2_HEADER_METHOD:\":method\",HTTP2_HEADER_AUTHORITY:\":authority\",HTTP2_HEADER_SCHEME:\":scheme\",HTTP2_HEADER_PATH:\":path\",HTTP2_HEADER_PROTOCOL:\":protocol\",HTTP2_HEADER_ACCEPT_ENCODING:\"accept-encoding\",HTTP2_HEADER_ACCEPT_LANGUAGE:\"accept-language\",HTTP2_HEADER_ACCEPT_RANGES:\"accept-ranges\",HTTP2_HEADER_ACCEPT:\"accept\",HTTP2_HEADER_ACCESS_CONTROL_ALLOW_CREDENTIALS:\"access-control-allow-credentials\",HTTP2_HEADER_ACCESS_CONTROL_ALLOW_HEADERS:\"access-control-allow-headers\",HTTP2_HEADER_ACCESS_CONTROL_ALLOW_METHODS:\"access-control-allow-methods\",HTTP2_HEADER_ACCESS_CONTROL_ALLOW_ORIGIN:\"access-control-allow-origin\",HTTP2_HEADER_ACCESS_CONTROL_EXPOSE_HEADERS:\"access-control-expose-headers\",HTTP2_HEADER_ACCESS_CONTROL_REQUEST_HEADERS:\"access-control-request-headers\",HTTP2_HEADER_ACCESS_CONTROL_REQUEST_METHOD:\"access-control-request-method\",HTTP2_HEADER_AGE:\"age\",HTTP2_HEADER_AUTHORIZATION:\"authorization\",HTTP2_HEADER_CACHE_CONTROL:\"cache-control\",HTTP2_HEADER_CONNECTION:\"connection\",HTTP2_HEADER_CONTENT_DISPOSITION:\"content-disposition\",HTTP2_HEADER_CONTENT_ENCODING:\"content-encoding\",HTTP2_HEADER_CONTENT_LENGTH:\"content-length\",HTTP2_HEADER_CONTENT_TYPE:\"content-type\",HTTP2_HEADER_COOKIE:\"cookie\",HTTP2_HEADER_DATE:\"date\",HTTP2_HEADER_ETAG:\"etag\",HTTP2_HEADER_FORWARDED:\"forwarded\",HTTP2_HEADER_HOST:\"host\",HTTP2_HEADER_IF_MODIFIED_SINCE:\"if-modified-since\",HTTP2_HEADER_IF_NONE_MATCH:\"if-none-match\",HTTP2_HEADER_IF_RANGE:\"if-range\",HTTP2_HEADER_LAST_MODIFIED:\"last-modified\",HTTP2_HEADER_LINK:\"link\",HTTP2_HEADER_LOCATION:\"location\",HTTP2_HEADER_RANGE:\"range\",HTTP2_HEADER_REFERER:\"referer\",HTTP2_HEADER_SERVER:\"server\",HTTP2_HEADER_SET_COOKIE:\"set-cookie\",HTTP2_HEADER_STRICT_TRANSPORT_SECURITY:\"strict-transport-security\",HTTP2_HEADER_TRANSFER_ENCODING:\"transfer-encoding\",HTTP2_HEADER_TE:\"te\",HTTP2_HEADER_UPGRADE_INSECURE_REQUESTS:\"upgrade-insecure-requests\",HTTP2_HEADER_UPGRADE:\"upgrade\",HTTP2_HEADER_USER_AGENT:\"user-agent\",HTTP2_HEADER_VARY:\"vary\",HTTP2_HEADER_X_CONTENT_TYPE_OPTIONS:\"x-content-type-options\",HTTP2_HEADER_X_FRAME_OPTIONS:\"x-frame-options\",HTTP2_HEADER_KEEP_ALIVE:\"keep-alive\",HTTP2_HEADER_PROXY_CONNECTION:\"proxy-connection\",HTTP2_HEADER_X_XSS_PROTECTION:\"x-xss-protection\",HTTP2_HEADER_ALT_SVC:\"alt-svc\",HTTP2_HEADER_CONTENT_SECURITY_POLICY:\"content-security-policy\",HTTP2_HEADER_EARLY_DATA:\"early-data\",HTTP2_HEADER_EXPECT_CT:\"expect-ct\",HTTP2_HEADER_ORIGIN:\"origin\",HTTP2_HEADER_PURPOSE:\"purpose\",HTTP2_HEADER_TIMING_ALLOW_ORIGIN:\"timing-allow-origin\",HTTP2_HEADER_X_FORWARDED_FOR:\"x-forwarded-for\",HTTP2_HEADER_PRIORITY:\"priority\",HTTP2_HEADER_ACCEPT_CHARSET:\"accept-charset\",HTTP2_HEADER_ACCESS_CONTROL_MAX_AGE:\"access-control-max-age\",HTTP2_HEADER_ALLOW:\"allow\",HTTP2_HEADER_CONTENT_LANGUAGE:\"content-language\",HTTP2_HEADER_CONTENT_LOCATION:\"content-location\",HTTP2_HEADER_CONTENT_MD5:\"content-md5\",HTTP2_HEADER_CONTENT_RANGE:\"content-range\",HTTP2_HEADER_DNT:\"dnt\",HTTP2_HEADER_EXPECT:\"expect\",HTTP2_HEADER_EXPIRES:\"expires\",HTTP2_HEADER_FROM:\"from\",HTTP2_HEADER_IF_MATCH:\"if-match\",HTTP2_HEADER_IF_UNMODIFIED_SINCE:\"if-unmodified-since\",HTTP2_HEADER_MAX_FORWARDS:\"max-forwards\",HTTP2_HEADER_PREFER:\"prefer\",HTTP2_HEADER_PROXY_AUTHENTICATE:\"proxy-authenticate\",HTTP2_HEADER_PROXY_AUTHORIZATION:\"proxy-authorization\",HTTP2_HEADER_REFRESH:\"refresh\",HTTP2_HEADER_RETRY_AFTER:\"retry-after\",HTTP2_HEADER_TRAILER:\"trailer\",HTTP2_HEADER_TK:\"tk\",HTTP2_HEADER_VIA:\"via\",HTTP2_HEADER_WARNING:\"warning\",HTTP2_HEADER_WWW_AUTHENTICATE:\"www-authenticate\",HTTP2_HEADER_HTTP2_SETTINGS:\"http2-settings\",HTTP2_METHOD_ACL:\"ACL\",HTTP2_METHOD_BASELINE_CONTROL:\"BASELINE-CONTROL\",HTTP2_METHOD_BIND:\"BIND\",HTTP2_METHOD_CHECKIN:\"CHECKIN\",HTTP2_METHOD_CHECKOUT:\"CHECKOUT\",HTTP2_METHOD_CONNECT:\"CONNECT\",HTTP2_METHOD_COPY:\"COPY\",HTTP2_METHOD_DELETE:\"DELETE\",HTTP2_METHOD_GET:\"GET\",HTTP2_METHOD_HEAD:\"HEAD\",HTTP2_METHOD_LABEL:\"LABEL\",HTTP2_METHOD_LINK:\"LINK\",HTTP2_METHOD_LOCK:\"LOCK\",HTTP2_METHOD_MERGE:\"MERGE\",HTTP2_METHOD_MKACTIVITY:\"MKACTIVITY\",HTTP2_METHOD_MKCALENDAR:\"MKCALENDAR\",HTTP2_METHOD_MKCOL:\"MKCOL\",HTTP2_METHOD_MKREDIRECTREF:\"MKREDIRECTREF\",HTTP2_METHOD_MKWORKSPACE:\"MKWORKSPACE\",HTTP2_METHOD_MOVE:\"MOVE\",HTTP2_METHOD_OPTIONS:\"OPTIONS\",HTTP2_METHOD_ORDERPATCH:\"ORDERPATCH\",HTTP2_METHOD_PATCH:\"PATCH\",HTTP2_METHOD_POST:\"POST\",HTTP2_METHOD_PRI:\"PRI\",HTTP2_METHOD_PROPFIND:\"PROPFIND\",HTTP2_METHOD_PROPPATCH:\"PROPPATCH\",HTTP2_METHOD_PUT:\"PUT\",HTTP2_METHOD_REBIND:\"REBIND\",HTTP2_METHOD_REPORT:\"REPORT\",HTTP2_METHOD_SEARCH:\"SEARCH\",HTTP2_METHOD_TRACE:\"TRACE\",HTTP2_METHOD_UNBIND:\"UNBIND\",HTTP2_METHOD_UNCHECKOUT:\"UNCHECKOUT\",HTTP2_METHOD_UNLINK:\"UNLINK\",HTTP2_METHOD_UNLOCK:\"UNLOCK\",HTTP2_METHOD_UPDATE:\"UPDATE\",HTTP2_METHOD_UPDATEREDIRECTREF:\"UPDATEREDIRECTREF\",HTTP2_METHOD_VERSION_CONTROL:\"VERSION-CONTROL\",HTTP_STATUS_CONTINUE:100,HTTP_STATUS_SWITCHING_PROTOCOLS:101,HTTP_STATUS_PROCESSING:102,HTTP_STATUS_EARLY_HINTS:103,HTTP_STATUS_OK:200,HTTP_STATUS_CREATED:201,HTTP_STATUS_ACCEPTED:202,HTTP_STATUS_NON_AUTHORITATIVE_INFORMATION:203,HTTP_STATUS_NO_CONTENT:204,HTTP_STATUS_RESET_CONTENT:205,HTTP_STATUS_PARTIAL_CONTENT:206,HTTP_STATUS_MULTI_STATUS:207,HTTP_STATUS_ALREADY_REPORTED:208,HTTP_STATUS_IM_USED:226,HTTP_STATUS_MULTIPLE_CHOICES:300,HTTP_STATUS_MOVED_PERMANENTLY:301,HTTP_STATUS_FOUND:302,HTTP_STATUS_SEE_OTHER:303,HTTP_STATUS_NOT_MODIFIED:304,HTTP_STATUS_USE_PROXY:305,HTTP_STATUS_TEMPORARY_REDIRECT:307,HTTP_STATUS_PERMANENT_REDIRECT:308,HTTP_STATUS_BAD_REQUEST:400,HTTP_STATUS_UNAUTHORIZED:401,HTTP_STATUS_PAYMENT_REQUIRED:402,HTTP_STATUS_FORBIDDEN:403,HTTP_STATUS_NOT_FOUND:404,HTTP_STATUS_METHOD_NOT_ALLOWED:405,HTTP_STATUS_NOT_ACCEPTABLE:406,HTTP_STATUS_PROXY_AUTHENTICATION_REQUIRED:407,HTTP_STATUS_REQUEST_TIMEOUT:408,HTTP_STATUS_CONFLICT:409,HTTP_STATUS_GONE:410,HTTP_STATUS_LENGTH_REQUIRED:411,HTTP_STATUS_PRECONDITION_FAILED:412,HTTP_STATUS_PAYLOAD_TOO_LARGE:413,HTTP_STATUS_URI_TOO_LONG:414,HTTP_STATUS_UNSUPPORTED_MEDIA_TYPE:415,HTTP_STATUS_RANGE_NOT_SATISFIABLE:416,HTTP_STATUS_EXPECTATION_FAILED:417,HTTP_STATUS_TEAPOT:418,HTTP_STATUS_MISDIRECTED_REQUEST:421,HTTP_STATUS_UNPROCESSABLE_ENTITY:422,HTTP_STATUS_LOCKED:423,HTTP_STATUS_FAILED_DEPENDENCY:424,HTTP_STATUS_TOO_EARLY:425,HTTP_STATUS_UPGRADE_REQUIRED:426,HTTP_STATUS_PRECONDITION_REQUIRED:428,HTTP_STATUS_TOO_MANY_REQUESTS:429,HTTP_STATUS_REQUEST_HEADER_FIELDS_TOO_LARGE:431,HTTP_STATUS_UNAVAILABLE_FOR_LEGAL_REASONS:451,HTTP_STATUS_INTERNAL_SERVER_ERROR:500,HTTP_STATUS_NOT_IMPLEMENTED:501,HTTP_STATUS_BAD_GATEWAY:502,HTTP_STATUS_SERVICE_UNAVAILABLE:503,HTTP_STATUS_GATEWAY_TIMEOUT:504,HTTP_STATUS_HTTP_VERSION_NOT_SUPPORTED:505,HTTP_STATUS_VARIANT_ALSO_NEGOTIATES:506,HTTP_STATUS_INSUFFICIENT_STORAGE:507,HTTP_STATUS_LOOP_DETECTED:508,HTTP_STATUS_BANDWIDTH_LIMIT_EXCEEDED:509,HTTP_STATUS_NOT_EXTENDED:510,HTTP_STATUS_NETWORK_AUTHENTICATION_REQUIRED:511};function createServer(){throwNotImplemented(\"node:http2 createServer\",887)}function createSecureServer(){throwNotImplemented(\"node:http2 createSecureServer\",887)}function getDefaultSettings(){return{headerTableSize:4096,enablePush:!0,initialWindowSize:65535,maxFrameSize:16384,maxConcurrentStreams:4294967295,maxHeaderSize:65535,maxHeaderListSize:65535,enableConnectProtocol:!1}}function getPackedSettings(){return Buffer.alloc(0)}function getUnpackedSettings(){return Buffer.alloc(0)}const sensitiveHeaders=Symbol.for(\"nodejs.http2.sensitiveHeaders\");function Http2ServerRequest(){throwNotImplemented(\"node:http2 Http2ServerRequest\",887)}function Http2ServerResponse(){throwNotImplemented(\"node:http2 Http2ServerResponse\",887)}return $={constants,createServer,createSecureServer,getDefaultSettings,getPackedSettings,getUnpackedSettings,sensitiveHeaders,Http2ServerRequest,Http2ServerResponse,connect},hideFromStack([Http2ServerRequest,Http2ServerResponse,connect,createServer,createSecureServer,getDefaultSettings,getPackedSettings,getUnpackedSettings]),$})\n"_s; +static constexpr ASCIILiteral NodeHttpsCode = "(function (){\"use strict\";const http=@requireId(16);function request(input,options,cb){if(input&&typeof input===\"object\"&&!(input instanceof URL))input.protocol\?\?=\"https:\";else if(typeof options===\"object\")options.protocol\?\?=\"https:\";return http.request(input,options,cb)}function get(input,options,cb){const req=request(input,options,cb);return req.end(),req}return{...http,get,request}})\n"_s; +static constexpr ASCIILiteral NodeInspectorCode = "(function (){\"use strict\";var $;const{hideFromStack,throwNotImplemented}=@requireId(2),EventEmitter=@requireId(13);function open(){throwNotImplemented(\"node:inspector open\",2445)}function close(){throwNotImplemented(\"node:inspector close\",2445)}function url(){throwNotImplemented(\"node:inspector url\",2445)}function waitForDebugger(){throwNotImplemented(\"node:inspector waitForDebugger\",2445)}class Session extends EventEmitter{constructor(){super();throwNotImplemented(\"node:inspector Session\",2445)}}return $={console:{...globalThis.console,context:{console:globalThis.console}},open,close,url,waitForDebugger,Session},hideFromStack(open,close,url,waitForDebugger,Session.prototype.constructor),$})\n"_s; +static constexpr ASCIILiteral NodeNetCode = "(function (){\"use strict\";const{Duplex}=@requireId(30),EventEmitter=@requireId(13),IPv4Reg=new RegExp(\"^((\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])[.]){3}(\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])$\"),IPv6Reg=new RegExp(\"^((\?:(\?:[0-9a-fA-F]{1,4}):){7}(\?:(\?:[0-9a-fA-F]{1,4})|:)|(\?:(\?:[0-9a-fA-F]{1,4}):){6}(\?:((\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])[.]){3}(\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])|:(\?:[0-9a-fA-F]{1,4})|:)|(\?:(\?:[0-9a-fA-F]{1,4}):){5}(\?::((\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])[.]){3}(\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])|(:(\?:[0-9a-fA-F]{1,4})){1,2}|:)|(\?:(\?:[0-9a-fA-F]{1,4}):){4}(\?:(:(\?:[0-9a-fA-F]{1,4})){0,1}:((\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])[.]){3}(\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])|(:(\?:[0-9a-fA-F]{1,4})){1,3}|:)|(\?:(\?:[0-9a-fA-F]{1,4}):){3}(\?:(:(\?:[0-9a-fA-F]{1,4})){0,2}:((\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])[.]){3}(\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])|(:(\?:[0-9a-fA-F]{1,4})){1,4}|:)|(\?:(\?:[0-9a-fA-F]{1,4}):){2}(\?:(:(\?:[0-9a-fA-F]{1,4})){0,3}:((\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])[.]){3}(\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])|(:(\?:[0-9a-fA-F]{1,4})){1,5}|:)|(\?:(\?:[0-9a-fA-F]{1,4}):){1}(\?:(:(\?:[0-9a-fA-F]{1,4})){0,4}:((\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])[.]){3}(\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])|(:(\?:[0-9a-fA-F]{1,4})){1,6}|:)|(\?::((\?::(\?:[0-9a-fA-F]{1,4})){0,5}:((\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])[.]){3}(\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])|(\?::(\?:[0-9a-fA-F]{1,4})){1,7}|:)))(%[0-9a-zA-Z-.:]{1,})\?$\");function isIPv4(s){return IPv4Reg.test(s)}function isIPv6(s){return IPv6Reg.test(s)}function isIP(s){if(isIPv4(s))return 4;if(isIPv6(s))return 6;return 0}const{connect:bunConnect}=Bun;var{setTimeout}=globalThis;const bunTlsSymbol=Symbol.for(\"::buntls::\"),bunSocketServerHandlers=Symbol.for(\"::bunsocket_serverhandlers::\"),bunSocketServerConnections=Symbol.for(\"::bunnetserverconnections::\"),bunSocketServerOptions=Symbol.for(\"::bunnetserveroptions::\"),bunSocketInternal=Symbol.for(\"::bunnetsocketinternal::\"),bunTLSConnectOptions=Symbol.for(\"::buntlsconnectoptions::\");var SocketClass;const Socket=function(InternalSocket){return SocketClass=InternalSocket,Object.defineProperty(SocketClass.prototype,Symbol.toStringTag,{value:\"Socket\",enumerable:!1}),Object.defineProperty(function Socket(options){return new InternalSocket(options)},Symbol.hasInstance,{value(instance){return instance instanceof InternalSocket}})}(class Socket2 extends Duplex{static#Handlers={close:Socket2.#Close,connectError(socket,error){socket.data.emit(\"error\",error)},data({data:self},buffer){self.bytesRead+=buffer.length;const queue=self.#readQueue;if(queue.isEmpty()){if(self.push(buffer))return}queue.push(buffer)},drain:Socket2.#Drain,end:Socket2.#Close,error(socket,error){const self=socket.data,callback=self.#writeCallback;if(callback)self.#writeCallback=null,callback(error);self.emit(\"error\",error)},open(socket){const self=socket.data;socket.timeout(self.timeout),socket.ref(),self[bunSocketInternal]=socket,self.connecting=!1;const options=self[bunTLSConnectOptions];if(options){const{session}=options;if(session)self.setSession(session)}if(!self.#upgraded)self.emit(\"connect\",self);Socket2.#Drain(socket)},handshake(socket,success,verifyError){const{data:self}=socket;self._securePending=!1,self.secureConnecting=!1,self._secureEstablished=!!success,self.emit(\"secure\",self);const{checkServerIdentity}=self[bunTLSConnectOptions];if(!verifyError&&typeof checkServerIdentity===\"function\"&&self.servername){const cert=self.getPeerCertificate(!0);verifyError=checkServerIdentity(self.servername,cert)}if(self._requestCert||self._rejectUnauthorized){if(verifyError){if(self.authorized=!1,self.authorizationError=verifyError.code||verifyError.message,self._rejectUnauthorized){self.destroy(verifyError);return}}}else self.authorized=!0;self.emit(\"secureConnect\",verifyError)},timeout(socket){const self=socket.data;self.emit(\"timeout\",self)},binaryType:\"buffer\"};static#Close(socket){const self=socket.data;if(self.#closed)return;self.#closed=!0,self[bunSocketInternal]=null;const queue=self.#readQueue;if(queue.isEmpty()){if(self.push(null))return}queue.push(null)}static#Drain(socket){const self=socket.data,callback=self.#writeCallback;if(callback){const chunk=self.#writeChunk,written=socket.write(chunk);if(self.bytesWritten+=written,written=self.maxConnections){const data={localAddress:_socket.localAddress,localPort:_socket.localPort,localFamily:_socket.localFamily,remoteAddress:_socket.remoteAddress,remotePort:_socket.remotePort,remoteFamily:_socket.remoteFamily||\"IPv4\"};socket.end(),self.emit(\"drop\",data);return}if(!pauseOnConnect)_socket.resume();if(self[bunSocketServerConnections]++,typeof connectionListener==\"function\")if(InternalSocketClass.name===\"TLSSocket\")self.once(\"secureConnection\",()=>connectionListener(_socket));else connectionListener(_socket);self.emit(\"connection\",_socket)},handshake(socket,success,verifyError){const{data:self}=socket;if(self.emit(\"secure\",self),self._securePending=!1,self.secureConnecting=!1,self._secureEstablished=!!success,self._requestCert||self._rejectUnauthorized){if(verifyError){if(self.authorized=!1,self.authorizationError=verifyError.code||verifyError.message,self._rejectUnauthorized){self.destroy(verifyError);return}}}else self.authorized=!0;self.emit(\"secureConnection\",verifyError)},error(socket,error){Socket2.#Handlers.error(socket,error),this.data.emit(\"error\",error)},timeout:Socket2.#Handlers.timeout,connectError:Socket2.#Handlers.connectError,drain:Socket2.#Handlers.drain,binaryType:\"buffer\"};bytesRead=0;bytesWritten=0;#closed=!1;connecting=!1;localAddress=\"127.0.0.1\";#readQueue=@createFIFO();remotePort;[bunSocketInternal]=null;[bunTLSConnectOptions]=null;timeout=0;#writeCallback;#writeChunk;#pendingRead;isServer=!1;_handle;_parent;_parentWrap;#socket;#upgraded;constructor(options){const{socket,signal,write,read,allowHalfOpen=!1,...opts}=options||{};super({...opts,allowHalfOpen,readable:!0,writable:!0});if(this._handle=this,this._parent=this,this._parentWrap=this,this.#pendingRead=void 0,this.#upgraded=!1,socket instanceof Socket2)this.#socket=socket;signal\?.once(\"abort\",()=>this.destroy()),this.once(\"connect\",()=>this.emit(\"ready\"))}address(){return{address:this.localAddress,family:this.localFamily,port:this.localPort}}get bufferSize(){return this.writableLength}#attach(port,socket){if(this.remotePort=port,socket.data=this,socket.timeout(this.timeout),socket.ref(),this[bunSocketInternal]=socket,this.connecting=!1,!this.#upgraded)this.emit(\"connect\",this);Socket2.#Drain(socket)}connect(port,host,connectListener){var path,connection=this.#socket,_checkServerIdentity=void 0;if(typeof port===\"string\"){if(path=port,port=void 0,typeof host===\"function\")connectListener=host,host=void 0}else if(typeof host==\"function\"){if(typeof port===\"string\")path=port,port=void 0;connectListener=host,host=void 0}if(typeof port==\"object\"){var{port,host,path,socket,localAddress,localPort,family,hints,lookup,noDelay,keepAlive,keepAliveInitialDelay,requestCert,rejectUnauthorized,pauseOnConnect,servername,checkServerIdentity,session}=port;if(_checkServerIdentity=checkServerIdentity,this.servername=servername,socket)connection=socket}if(!pauseOnConnect)this.resume();this.connecting=!0,this.remotePort=port;const bunTLS=this[bunTlsSymbol];var tls=void 0;if(typeof bunTLS===\"function\"){if(tls=bunTLS.call(this,port,host,!0),this._requestCert=!0,this._rejectUnauthorized=rejectUnauthorized,tls){if(tls.rejectUnauthorized=rejectUnauthorized,tls.requestCert=!0,tls.session=session||tls.session,this.servername=tls.servername,tls.checkServerIdentity=_checkServerIdentity||tls.checkServerIdentity,this[bunTLSConnectOptions]=tls,!connection&&tls.socket)connection=tls.socket}if(connection){if(typeof connection!==\"object\"||!(connection instanceof Socket2)||typeof connection[bunTlsSymbol]===\"function\")@throwTypeError(\"socket must be an instance of net.Socket\")}if(this.authorized=!1,this.secureConnecting=!0,this._secureEstablished=!1,this._securePending=!0,connectListener)this.on(\"secureConnect\",connectListener)}else if(connectListener)this.on(\"connect\",connectListener);if(connection){const socket2=connection[bunSocketInternal];if(socket2){this.connecting=!0,this.#upgraded=!0;const result=socket2.upgradeTLS({data:this,tls,socket:Socket2.#Handlers});if(result){const[raw,tls2]=result;connection[bunSocketInternal]=raw,raw.timeout(raw.timeout),raw.connecting=!1,this[bunSocketInternal]=tls2}else throw this[bunSocketInternal]=null,new Error(\"Invalid socket\")}else connection.once(\"connect\",()=>{const socket3=connection[bunSocketInternal];if(!socket3)return;this.connecting=!0,this.#upgraded=!0;const result=socket3.upgradeTLS({data:this,tls,socket:Socket2.#Handlers});if(result){const[raw,tls2]=result;connection[bunSocketInternal]=raw,raw.timeout(raw.timeout),raw.connecting=!1,this[bunSocketInternal]=tls2}else throw this[bunSocketInternal]=null,new Error(\"Invalid socket\")})}else if(path)bunConnect({data:this,unix:path,socket:Socket2.#Handlers,tls}).catch((error)=>{this.emit(\"error\",error)});else bunConnect({data:this,hostname:host||\"localhost\",port,socket:Socket2.#Handlers,tls}).catch((error)=>{this.emit(\"error\",error)});return this}_destroy(err,callback){this[bunSocketInternal]\?.end(),callback(err)}_final(callback){this[bunSocketInternal]\?.end(),callback()}get localAddress(){return\"127.0.0.1\"}get localFamily(){return\"IPv4\"}get localPort(){return this[bunSocketInternal]\?.localPort}get pending(){return this.connecting}_read(size){const queue=this.#readQueue;let chunk;while(chunk=queue.peek()){if(!this.push(chunk))return;queue.shift()}}get readyState(){if(this.connecting)return\"opening\";if(this.readable)return this.writable\?\"open\":\"readOnly\";else return this.writable\?\"writeOnly\":\"closed\"}ref(){this[bunSocketInternal]\?.ref()}get remoteAddress(){return this[bunSocketInternal]\?.remoteAddress}get remoteFamily(){return\"IPv4\"}resetAndDestroy(){this[bunSocketInternal]\?.end()}setKeepAlive(enable=!1,initialDelay=0){return this}setNoDelay(noDelay=!0){return this}setTimeout(timeout,callback){if(this[bunSocketInternal]\?.timeout(timeout),this.timeout=timeout,callback)this.once(\"timeout\",callback);return this}unref(){this[bunSocketInternal]\?.unref()}_write(chunk,encoding,callback){if(typeof chunk==\"string\"&&encoding!==\"ascii\")chunk=Buffer.from(chunk,encoding);var written=this[bunSocketInternal]\?.write(chunk);if(written==chunk.length)callback();else if(this.#writeCallback)callback(new Error(\"overlapping _write()\"));else{if(written>0)if(typeof chunk==\"string\")chunk=chunk.slice(written);else chunk=chunk.subarray(written);this.#writeCallback=callback,this.#writeChunk=chunk}}});function createConnection(port,host,connectListener){if(typeof port===\"object\")return new Socket(port).connect(port,host,connectListener);return new Socket().connect(port,host,connectListener)}const connect=createConnection;class Server extends EventEmitter{#server;#listening=!1;[bunSocketServerConnections]=0;[bunSocketServerOptions];maxConnections=0;constructor(options,connectionListener){super();if(typeof options===\"function\")connectionListener=options,options={};else if(options==null||typeof options===\"object\")options={...options};else throw new Error(\"bun-net-polyfill: invalid arguments\");const{maxConnections}=options;this.maxConnections=Number.isSafeInteger(maxConnections)&&maxConnections>0\?maxConnections:0,options.connectionListener=connectionListener,this[bunSocketServerOptions]=options}ref(){return this.#server\?.ref(),this}unref(){return this.#server\?.unref(),this}close(callback){if(this.#server){if(this.#server.stop(!0),this.#server=null,this.#listening=!1,this[bunSocketServerConnections]=0,this.emit(\"close\"),typeof callback===\"function\")callback();return this}if(typeof callback===\"function\"){const error=new Error(\"Server is not running\");error.code=\"ERR_SERVER_NOT_RUNNING\",callback(error)}return this}address(){const server=this.#server;if(server){const unix=server.unix;if(unix)return unix;let address=server.hostname;const type=isIP(address),port=server.port;if(typeof port===\"number\")return{port,address,family:type\?`IPv${type}`:void 0};if(type)return{address,family:type\?`IPv${type}`:void 0};return address}return null}getConnections(callback){if(typeof callback===\"function\")callback(null,this.#server\?this[bunSocketServerConnections]:0);return this}listen(port,hostname,onListen){let backlog,path,exclusive=!1;if(typeof port===\"string\"){if(Number.isSafeInteger(hostname)){if(hostname>0)backlog=hostname}else if(typeof hostname===\"function\")onListen=hostname;path=port,hostname=void 0,port=void 0}else{if(typeof hostname===\"function\")onListen=hostname,hostname=void 0;if(typeof port===\"function\")onListen=port,port=0;else if(typeof port===\"object\"){const options=port;options.signal\?.addEventListener(\"abort\",()=>this.close()),hostname=options.host,exclusive=options.exclusive===!0;const path2=options.path;if(port=options.port,!Number.isSafeInteger(port)||port<0)if(path2)hostname=path2,port=void 0;else{let message='The argument \\'options\\' must have the property \"port\" or \"path\"';try{message=`${message}. Received ${JSON.stringify(options)}`}catch{}const error=@makeTypeError(message);throw error.code=\"ERR_INVALID_ARG_VALUE\",error}else if(!Number.isSafeInteger(port)||port<0)port=0;if(typeof port.callback===\"function\")onListen=port\?.callback}else if(!Number.isSafeInteger(port)||port<0)port=0;hostname=hostname||\"::\"}try{var tls=void 0,TLSSocketClass=void 0;const bunTLS=this[bunTlsSymbol],options=this[bunSocketServerOptions];if(typeof bunTLS===\"function\")[tls,TLSSocketClass]=bunTLS.call(this,port,hostname,!1),options.servername=tls.serverName,options.InternalSocketClass=TLSSocketClass;else options.InternalSocketClass=SocketClass;this.#server=Bun.listen(path\?{exclusive,unix:path,tls,socket:SocketClass[bunSocketServerHandlers]}:{exclusive,port,hostname,tls,socket:SocketClass[bunSocketServerHandlers]}),this.#server.data=this,this.#listening=!0,setTimeout(emitListeningNextTick,1,this,onListen)}catch(err){this.#listening=!1,setTimeout(emitErrorNextTick,1,this,err)}return this}}function emitErrorNextTick(self,error){self.emit(\"error\",error)}function emitListeningNextTick(self,onListen){if(typeof onListen===\"function\")try{onListen()}catch(err){self.emit(\"error\",err)}self.emit(\"listening\")}function createServer(options,connectionListener){return new Server(options,connectionListener)}return{createServer,Server,createConnection,connect,isIP,isIPv4,isIPv6,Socket,[Symbol.for(\"::bunternal::\")]:SocketClass}})\n"_s; +static constexpr ASCIILiteral NodeOSCode = "(function (){\"use strict\";var tmpdir=function(){var env=Bun.env;return tmpdir=function(){var path=env.TMPDIR||env.TMP||env.TEMP||\"/tmp\";const length=path.length;if(length>1&&path[length-1]===\"/\")path=path.slice(0,-1);return path},tmpdir()};function lazyCpus({cpus}){return()=>{const array=new Array(navigator.hardwareConcurrency);function populate(){const results=cpus(),length=results.length;array.length=length;for(let i=0;i{},SymbolAsyncIterator=Symbol.asyncIterator,SymbolIterator=Symbol.iterator,SymbolFor=Symbol.for,SymbolReplace=Symbol.replace,ArrayFrom=Array.from,ArrayIsArray=Array.isArray,ArrayPrototypeFilter=Array.prototype.filter,ArrayPrototypeSort=Array.prototype.sort,ArrayPrototypeIndexOf=Array.prototype.indexOf,ArrayPrototypeJoin=Array.prototype.join,ArrayPrototypeMap=Array.prototype.map,ArrayPrototypePop=Array.prototype.pop,ArrayPrototypePush=Array.prototype.push,ArrayPrototypeSlice=Array.prototype.slice,ArrayPrototypeSplice=Array.prototype.splice,ArrayPrototypeReverse=Array.prototype.reverse,ArrayPrototypeShift=Array.prototype.shift,ArrayPrototypeUnshift=Array.prototype.unshift,RegExpPrototypeExec=RegExp.prototype.exec,RegExpPrototypeSymbolReplace=RegExp.prototype[SymbolReplace],StringFromCharCode=String.fromCharCode,StringPrototypeCharCodeAt=String.prototype.charCodeAt,StringPrototypeCodePointAt=String.prototype.codePointAt,StringPrototypeSlice=String.prototype.slice,StringPrototypeToLowerCase=String.prototype.toLowerCase,StringPrototypeEndsWith=String.prototype.endsWith,StringPrototypeRepeat=String.prototype.repeat,StringPrototypeStartsWith=String.prototype.startsWith,StringPrototypeTrim=String.prototype.trim,StringPrototypeNormalize=String.prototype.normalize,NumberIsNaN=Number.isNaN,NumberIsFinite=Number.isFinite,NumberIsInteger=Number.isInteger,NumberMAX_SAFE_INTEGER=Number.MAX_SAFE_INTEGER,NumberMIN_SAFE_INTEGER=Number.MIN_SAFE_INTEGER,MathCeil=Math.ceil,MathFloor=Math.floor,MathMax=Math.max,MathMaxApply=Math.max.apply,DateNow=Date.now,FunctionPrototype=Function.prototype,StringPrototype=String.prototype,StringPrototypeSymbolIterator=StringPrototype[SymbolIterator],StringIteratorPrototypeNext=StringPrototypeSymbolIterator.call(\"\").next,ObjectSetPrototypeOf=Object.setPrototypeOf,ObjectDefineProperty=Object.defineProperty,ObjectDefineProperties=Object.defineProperties,ObjectFreeze=Object.freeze,ObjectAssign=Object.assign,ObjectCreate=Object.create,ObjectKeys=Object.keys,ObjectSeal=Object.seal,createSafeIterator=(factory,next)=>{class SafeIterator{#iterator;constructor(iterable){this.#iterator=factory.call(iterable)}next(){return next.call(this.#iterator)}[SymbolIterator](){return this}}return ObjectSetPrototypeOf(SafeIterator.prototype,null),ObjectFreeze(SafeIterator.prototype),ObjectFreeze(SafeIterator),SafeIterator},SafeStringIterator=createSafeIterator(StringPrototypeSymbolIterator,StringIteratorPrototypeNext),isFullWidthCodePoint=(code)=>{return code>=4352&&(code<=4447||code===9001||code===9002||code>=11904&&code<=12871&&code!==12351||code>=12880&&code<=19903||code>=19968&&code<=42182||code>=43360&&code<=43388||code>=44032&&code<=55203||code>=63744&&code<=64255||code>=65040&&code<=65049||code>=65072&&code<=65131||code>=65281&&code<=65376||code>=65504&&code<=65510||code>=110592&&code<=110593||code>=127488&&code<=127569||code>=127744&&code<=128591||code>=131072&&code<=262141)},isZeroWidthCodePoint=(code)=>{return code<=31||code>=127&&code<=159||code>=768&&code<=879||code>=8203&&code<=8207||code>=8400&&code<=8447||code>=65024&&code<=65039||code>=65056&&code<=65071||code>=917760&&code<=917999},getStringWidth=function getStringWidth(str,removeControlChars=!0){var width=0;if(removeControlChars)str=stripVTControlCharacters(str);str=StringPrototypeNormalize.call(str,\"NFC\");for(var char of new SafeStringIterator(str)){var code=StringPrototypeCodePointAt.call(char,0);if(isFullWidthCodePoint(code))width+=2;else if(!isZeroWidthCodePoint(code))width++}return width},ansiPattern=\"[\\\\u001B\\\\u009B][[\\\\]()#;\?]*(\?:(\?:(\?:(\?:;[-a-zA-Z\\\\d\\\\/#&.:=\?%@~_]+)*|[a-zA-Z\\\\d]+(\?:;[-a-zA-Z\\\\d\\\\/#&.:=\?%@~_]*)*)\?\\\\u0007)|(\?:(\?:\\\\d{1,4}(\?:;\\\\d{0,4})*)\?[\\\\dA-PR-TZcf-ntqry=><~]))\",ansi=new RegExp(ansiPattern,\"g\");function stripVTControlCharacters(str){return validateString(str,\"str\"),RegExpPrototypeSymbolReplace.call(ansi,str,\"\")}var kCustomPromisifiedSymbol=SymbolFor(\"nodejs.util.promisify.custom\"),kCustomPromisifyArgsSymbol=Symbol(\"customPromisifyArgs\");function promisify(original){if(validateFunction(original,\"original\"),original[kCustomPromisifiedSymbol]){var fn=original[kCustomPromisifiedSymbol];return validateFunction(fn,\"util.promisify.custom\"),ObjectDefineProperty(fn,kCustomPromisifiedSymbol,{__proto__:null,value:fn,enumerable:!1,writable:!1,configurable:!0})}var argumentNames=original[kCustomPromisifyArgsSymbol];function fn(...args){return new Promise((resolve,reject)=>{ArrayPrototypePush.call(args,(err,...values)=>{if(err)return reject(err);if(argumentNames!==void 0&&values.length>1){var obj={};for(var i2=0;i2max)throw new ERR_OUT_OF_RANGE(name,`>= ${min} && <= ${max}`,value)}function validateUint32(value,name,positive=!1){if(typeof value!==\"number\")throw new ERR_INVALID_ARG_TYPE(name,\"number\",value);if(!NumberIsInteger(value))throw new ERR_OUT_OF_RANGE(name,\"an integer\",value);var min=positive\?1:0,max=4294967295;if(valuemax)throw new ERR_OUT_OF_RANGE(name,`>= ${min} && <= ${max}`,value)}function CSI(strings,...args){var ret=`${kEscape}[`;for(var n=0;n1&&StringPrototypeCodePointAt.call(str,i-2)>=kUTF16SurrogateThreshold||StringPrototypeCodePointAt.call(str,i-1)>=kUTF16SurrogateThreshold)return 2;return 1}function charLengthAt(str,i){if(str.length<=i)return 1;return StringPrototypeCodePointAt.call(str,i)>=kUTF16SurrogateThreshold\?2:1}function*emitKeys(stream){while(!0){var ch=yield,s=ch,escaped=!1,keySeq=null,keyName,keyCtrl2=!1,keyMeta=!1,keyShift=!1;if(ch===kEscape){if(escaped=!0,s+=ch=yield,ch===kEscape)s+=ch=yield}if(escaped&&(ch===\"O\"||ch===\"[\")){var code=ch,modifier=0;if(ch===\"O\"){if(s+=ch=yield,ch>=\"0\"&&ch<=\"9\")modifier=(ch>>0)-1,s+=ch=yield;code+=ch}else if(ch===\"[\"){if(s+=ch=yield,ch===\"[\")code+=ch,s+=ch=yield;var cmdStart=s.length-1;if(ch>=\"0\"&&ch<=\"9\"){if(s+=ch=yield,ch>=\"0\"&&ch<=\"9\")s+=ch=yield}if(ch===\";\"){if(s+=ch=yield,ch>=\"0\"&&ch<=\"9\")s+=yield}var cmd=StringPrototypeSlice.call(s,cmdStart),match;if(match=RegExpPrototypeExec.call(/^(\\d\\d\?)(;(\\d))\?([~^$])$/,cmd))code+=match[1]+match[4],modifier=(match[3]||1)-1;else if(match=RegExpPrototypeExec.call(/^((\\d;)\?(\\d))\?([A-Za-z])$/,cmd))code+=match[4],modifier=(match[3]||1)-1;else code+=cmd}switch(keyCtrl2=!!(modifier&4),keyMeta=!!(modifier&10),keyShift=!!(modifier&1),code){case\"[P\":keyName=\"f1\";break;case\"[Q\":keyName=\"f2\";break;case\"[R\":keyName=\"f3\";break;case\"[S\":keyName=\"f4\";break;case\"OP\":keyName=\"f1\";break;case\"OQ\":keyName=\"f2\";break;case\"OR\":keyName=\"f3\";break;case\"OS\":keyName=\"f4\";break;case\"[11~\":keyName=\"f1\";break;case\"[12~\":keyName=\"f2\";break;case\"[13~\":keyName=\"f3\";break;case\"[14~\":keyName=\"f4\";break;case\"[[A\":keyName=\"f1\";break;case\"[[B\":keyName=\"f2\";break;case\"[[C\":keyName=\"f3\";break;case\"[[D\":keyName=\"f4\";break;case\"[[E\":keyName=\"f5\";break;case\"[15~\":keyName=\"f5\";break;case\"[17~\":keyName=\"f6\";break;case\"[18~\":keyName=\"f7\";break;case\"[19~\":keyName=\"f8\";break;case\"[20~\":keyName=\"f9\";break;case\"[21~\":keyName=\"f10\";break;case\"[23~\":keyName=\"f11\";break;case\"[24~\":keyName=\"f12\";break;case\"[A\":keyName=\"up\";break;case\"[B\":keyName=\"down\";break;case\"[C\":keyName=\"right\";break;case\"[D\":keyName=\"left\";break;case\"[E\":keyName=\"clear\";break;case\"[F\":keyName=\"end\";break;case\"[H\":keyName=\"home\";break;case\"OA\":keyName=\"up\";break;case\"OB\":keyName=\"down\";break;case\"OC\":keyName=\"right\";break;case\"OD\":keyName=\"left\";break;case\"OE\":keyName=\"clear\";break;case\"OF\":keyName=\"end\";break;case\"OH\":keyName=\"home\";break;case\"[1~\":keyName=\"home\";break;case\"[2~\":keyName=\"insert\";break;case\"[3~\":keyName=\"delete\";break;case\"[4~\":keyName=\"end\";break;case\"[5~\":keyName=\"pageup\";break;case\"[6~\":keyName=\"pagedown\";break;case\"[[5~\":keyName=\"pageup\";break;case\"[[6~\":keyName=\"pagedown\";break;case\"[7~\":keyName=\"home\";break;case\"[8~\":keyName=\"end\";break;case\"[a\":keyName=\"up\",keyShift=!0;break;case\"[b\":keyName=\"down\",keyShift=!0;break;case\"[c\":keyName=\"right\",keyShift=!0;break;case\"[d\":keyName=\"left\",keyShift=!0;break;case\"[e\":keyName=\"clear\",keyShift=!0;break;case\"[2$\":keyName=\"insert\",keyShift=!0;break;case\"[3$\":keyName=\"delete\",keyShift=!0;break;case\"[5$\":keyName=\"pageup\",keyShift=!0;break;case\"[6$\":keyName=\"pagedown\",keyShift=!0;break;case\"[7$\":keyName=\"home\",keyShift=!0;break;case\"[8$\":keyName=\"end\",keyShift=!0;break;case\"Oa\":keyName=\"up\",keyCtrl2=!0;break;case\"Ob\":keyName=\"down\",keyCtrl2=!0;break;case\"Oc\":keyName=\"right\",keyCtrl2=!0;break;case\"Od\":keyName=\"left\",keyCtrl2=!0;break;case\"Oe\":keyName=\"clear\",keyCtrl2=!0;break;case\"[2^\":keyName=\"insert\",keyCtrl2=!0;break;case\"[3^\":keyName=\"delete\",keyCtrl2=!0;break;case\"[5^\":keyName=\"pageup\",keyCtrl2=!0;break;case\"[6^\":keyName=\"pagedown\",keyCtrl2=!0;break;case\"[7^\":keyName=\"home\",keyCtrl2=!0;break;case\"[8^\":keyName=\"end\",keyCtrl2=!0;break;case\"[Z\":keyName=\"tab\",keyShift=!0;break;default:keyName=\"undefined\";break}}else if(ch===\"\\r\")keyName=\"return\",keyMeta=escaped;else if(ch===\"\\n\")keyName=\"enter\",keyMeta=escaped;else if(ch===\"\\t\")keyName=\"tab\",keyMeta=escaped;else if(ch===\"\\b\"||ch===\"\\x7F\")keyName=\"backspace\",keyMeta=escaped;else if(ch===kEscape)keyName=\"escape\",keyMeta=escaped;else if(ch===\" \")keyName=\"space\",keyMeta=escaped;else if(!escaped&&ch<=\"\\x1A\")keyName=StringFromCharCode(StringPrototypeCharCodeAt.call(ch)+StringPrototypeCharCodeAt.call(\"a\")-1),keyCtrl2=!0;else if(RegExpPrototypeExec.call(/^[0-9A-Za-z]$/,ch)!==null)keyName=StringPrototypeToLowerCase.call(ch),keyShift=RegExpPrototypeExec.call(/^[A-Z]$/,ch)!==null,keyMeta=escaped;else if(escaped)keyName=ch.length\?void 0:\"escape\",keyMeta=!0;if(keySeq=s,s.length!==0&&(keyName!==void 0||escaped))stream.emit(\"keypress\",escaped\?void 0:s,{sequence:keySeq,name:keyName,ctrl:keyCtrl2,meta:keyMeta,shift:keyShift});else if(charLengthAt(s,0)===s.length)stream.emit(\"keypress\",s,{sequence:keySeq,name:keyName,ctrl:keyCtrl2,meta:keyMeta,shift:keyShift})}}function commonPrefix(strings){if(strings.length===0)return\"\";if(strings.length===1)return strings[0];var sorted=ArrayPrototypeSort.call(ArrayPrototypeSlice.call(strings)),min=sorted[0],max=sorted[sorted.length-1];for(var i=0;i0)data+=CSI`${dx}C`;if(dy<0)data+=CSI`${-dy}A`;else if(dy>0)data+=CSI`${dy}B`;return stream.write(data,callback)}function clearLine(stream,dir,callback){if(callback!==void 0)validateFunction(callback,\"callback\");if(stream===null||stream===void 0){if(typeof callback===\"function\")process.nextTick(callback,null);return!0}var type=dir<0\?kClearToLineBeginning:dir>0\?kClearToLineEnd:kClearLine;return stream.write(type,callback)}function clearScreenDown(stream,callback){if(callback!==void 0)validateFunction(callback,\"callback\");if(stream===null||stream===void 0){if(typeof callback===\"function\")process.nextTick(callback,null);return!0}return stream.write(kClearScreenDown,callback)}var KEYPRESS_DECODER=Symbol(\"keypress-decoder\"),ESCAPE_DECODER=Symbol(\"escape-decoder\"),ESCAPE_CODE_TIMEOUT=500;function emitKeypressEvents(stream,iface={}){if(stream[KEYPRESS_DECODER])return;stream[KEYPRESS_DECODER]=new StringDecoder(\"utf8\"),stream[ESCAPE_DECODER]=emitKeys(stream),stream[ESCAPE_DECODER].next();var triggerEscape=()=>stream[ESCAPE_DECODER].next(\"\"),{escapeCodeTimeout=ESCAPE_CODE_TIMEOUT}=iface,timeoutId;function onData2(input){if(stream.listenerCount(\"keypress\")>0){var string=stream[KEYPRESS_DECODER].write(input);if(string){clearTimeout(timeoutId),iface[kSawKeyPress]=charLengthAt(string,0)===string.length,iface.isCompletionEnabled=!1;var length=0;for(var character of new SafeStringIterator(string)){if(length+=character.length,length===string.length)iface.isCompletionEnabled=!0;try{if(stream[ESCAPE_DECODER].next(character),length===string.length&&character===kEscape)timeoutId=setTimeout(triggerEscape,escapeCodeTimeout)}catch(err){throw stream[ESCAPE_DECODER]=emitKeys(stream),stream[ESCAPE_DECODER].next(),err}}}}else stream.removeListener(\"data\",onData2),stream.on(\"newListener\",onNewListener)}function onNewListener(event){if(event===\"keypress\")stream.on(\"data\",onData2),stream.removeListener(\"newListener\",onNewListener)}if(stream.listenerCount(\"keypress\")>0)stream.on(\"data\",onData2);else stream.on(\"newListener\",onNewListener)}var kEmptyObject=ObjectFreeze(ObjectCreate(null)),kHistorySize=30,kMaxUndoRedoStackSize=2048,kMincrlfDelay=100,lineEnding=/\\r\?\\n|\\r(\?!\\n)/g,kMaxLengthOfKillRing=32,kLineObjectStream=Symbol(\"line object stream\"),kQuestionCancel=Symbol(\"kQuestionCancel\"),kQuestion=Symbol(\"kQuestion\"),kAddHistory=Symbol(\"_addHistory\"),kBeforeEdit=Symbol(\"_beforeEdit\"),kDecoder=Symbol(\"_decoder\"),kDeleteLeft=Symbol(\"_deleteLeft\"),kDeleteLineLeft=Symbol(\"_deleteLineLeft\"),kDeleteLineRight=Symbol(\"_deleteLineRight\"),kDeleteRight=Symbol(\"_deleteRight\"),kDeleteWordLeft=Symbol(\"_deleteWordLeft\"),kDeleteWordRight=Symbol(\"_deleteWordRight\"),kGetDisplayPos=Symbol(\"_getDisplayPos\"),kHistoryNext=Symbol(\"_historyNext\"),kHistoryPrev=Symbol(\"_historyPrev\"),kInsertString=Symbol(\"_insertString\"),kLine=Symbol(\"_line\"),kLine_buffer=Symbol(\"_line_buffer\"),kKillRing=Symbol(\"_killRing\"),kKillRingCursor=Symbol(\"_killRingCursor\"),kMoveCursor=Symbol(\"_moveCursor\"),kNormalWrite=Symbol(\"_normalWrite\"),kOldPrompt=Symbol(\"_oldPrompt\"),kOnLine=Symbol(\"_onLine\"),kPreviousKey=Symbol(\"_previousKey\"),kPrompt=Symbol(\"_prompt\"),kPushToKillRing=Symbol(\"_pushToKillRing\"),kPushToUndoStack=Symbol(\"_pushToUndoStack\"),kQuestionCallback=Symbol(\"_questionCallback\"),kRedo=Symbol(\"_redo\"),kRedoStack=Symbol(\"_redoStack\"),kRefreshLine=Symbol(\"_refreshLine\"),kSawKeyPress=Symbol(\"_sawKeyPress\"),kSawReturnAt=Symbol(\"_sawReturnAt\"),kSetRawMode=Symbol(\"_setRawMode\"),kTabComplete=Symbol(\"_tabComplete\"),kTabCompleter=Symbol(\"_tabCompleter\"),kTtyWrite=Symbol(\"_ttyWrite\"),kUndo=Symbol(\"_undo\"),kUndoStack=Symbol(\"_undoStack\"),kWordLeft=Symbol(\"_wordLeft\"),kWordRight=Symbol(\"_wordRight\"),kWriteToOutput=Symbol(\"_writeToOutput\"),kYank=Symbol(\"_yank\"),kYanking=Symbol(\"_yanking\"),kYankPop=Symbol(\"_yankPop\"),kFirstEventParam=Symbol(\"nodejs.kFirstEventParam\"),kOnSelfCloseWithTerminal=Symbol(\"_onSelfCloseWithTerminal\"),kOnSelfCloseWithoutTerminal=Symbol(\"_onSelfCloseWithoutTerminal\"),kOnKeyPress=Symbol(\"_onKeyPress\"),kOnError=Symbol(\"_onError\"),kOnData=Symbol(\"_onData\"),kOnEnd=Symbol(\"_onEnd\"),kOnTermEnd=Symbol(\"_onTermEnd\"),kOnResize=Symbol(\"_onResize\");function onSelfCloseWithTerminal(){var input=this.input,output=this.output;if(!input)throw new Error(\"Input not set, invalid state for readline!\");if(input.removeListener(\"keypress\",this[kOnKeyPress]),input.removeListener(\"error\",this[kOnError]),input.removeListener(\"end\",this[kOnTermEnd]),output!==null&&output!==void 0)output.removeListener(\"resize\",this[kOnResize])}function onSelfCloseWithoutTerminal(){var input=this.input;if(!input)throw new Error(\"Input not set, invalid state for readline!\");input.removeListener(\"data\",this[kOnData]),input.removeListener(\"error\",this[kOnError]),input.removeListener(\"end\",this[kOnEnd])}function onError(err){this.emit(\"error\",err)}function onData(data){debug(\"onData\"),this[kNormalWrite](data)}function onEnd(){if(debug(\"onEnd\"),typeof this[kLine_buffer]===\"string\"&&this[kLine_buffer].length>0)this.emit(\"line\",this[kLine_buffer]);this.close()}function onTermEnd(){if(debug(\"onTermEnd\"),typeof this.line===\"string\"&&this.line.length>0)this.emit(\"line\",this.line);this.close()}function onKeyPress(s,key){if(this[kTtyWrite](s,key),key&&key.sequence){var ch=StringPrototypeCodePointAt.call(key.sequence,0);if(ch>=55296&&ch<=57343)this[kRefreshLine]()}}function onResize(){this[kRefreshLine]()}function InterfaceConstructor(input,output,completer,terminal){if(!(this instanceof InterfaceConstructor))return new InterfaceConstructor(input,output,completer,terminal);EventEmitter.call(this),this[kOnSelfCloseWithoutTerminal]=onSelfCloseWithoutTerminal.bind(this),this[kOnSelfCloseWithTerminal]=onSelfCloseWithTerminal.bind(this),this[kOnError]=onError.bind(this),this[kOnData]=onData.bind(this),this[kOnEnd]=onEnd.bind(this),this[kOnTermEnd]=onTermEnd.bind(this),this[kOnKeyPress]=onKeyPress.bind(this),this[kOnResize]=onResize.bind(this),this[kSawReturnAt]=0,this.isCompletionEnabled=!0,this[kSawKeyPress]=!1,this[kPreviousKey]=null,this.escapeCodeTimeout=ESCAPE_CODE_TIMEOUT,this.tabSize=8;var history,historySize,removeHistoryDuplicates=!1,crlfDelay,prompt=\"> \",signal;if(input\?.input){output=input.output,completer=input.completer,terminal=input.terminal,history=input.history,historySize=input.historySize,signal=input.signal;var tabSize=input.tabSize;if(tabSize!==void 0)validateUint32(tabSize,\"tabSize\",!0),this.tabSize=tabSize;removeHistoryDuplicates=input.removeHistoryDuplicates;var inputPrompt=input.prompt;if(inputPrompt!==void 0)prompt=inputPrompt;var inputEscapeCodeTimeout=input.escapeCodeTimeout;if(inputEscapeCodeTimeout!==void 0)if(NumberIsFinite(inputEscapeCodeTimeout))this.escapeCodeTimeout=inputEscapeCodeTimeout;else throw new ERR_INVALID_ARG_VALUE(\"input.escapeCodeTimeout\",this.escapeCodeTimeout);if(signal)validateAbortSignal(signal,\"options.signal\");crlfDelay=input.crlfDelay,input=input.input}if(completer!==void 0&&typeof completer!==\"function\")throw new ERR_INVALID_ARG_VALUE(\"completer\",completer);if(history===void 0)history=[];else validateArray(history,\"history\");if(historySize===void 0)historySize=kHistorySize;if(typeof historySize!==\"number\"||NumberIsNaN(historySize)||historySize<0)throw new ERR_INVALID_ARG_VALUE(\"historySize\",historySize);if(terminal===void 0&&!(output===null||output===void 0))terminal=!!output.isTTY;if(this.line=\"\",this[kSubstringSearch]=null,this.output=output,this.input=input,this[kUndoStack]=[],this[kRedoStack]=[],this.history=history,this.historySize=historySize,this[kKillRing]=[],this[kKillRingCursor]=0,this.removeHistoryDuplicates=!!removeHistoryDuplicates,this.crlfDelay=crlfDelay\?MathMax(kMincrlfDelay,crlfDelay):kMincrlfDelay,this.completer=completer,this.setPrompt(prompt),this.terminal=!!terminal,this[kLineObjectStream]=void 0,input.on(\"error\",this[kOnError]),!this.terminal)input.on(\"data\",this[kOnData]),input.on(\"end\",this[kOnEnd]),this.once(\"close\",this[kOnSelfCloseWithoutTerminal]),this[kDecoder]=new StringDecoder(\"utf8\");else{if(emitKeypressEvents(input,this),input.on(\"keypress\",this[kOnKeyPress]),input.on(\"end\",this[kOnTermEnd]),this[kSetRawMode](!0),this.terminal=!0,this.cursor=0,this.historyIndex=-1,output!==null&&output!==void 0)output.on(\"resize\",this[kOnResize]);this.once(\"close\",this[kOnSelfCloseWithTerminal])}if(signal){var onAborted=(()=>this.close()).bind(this);if(signal.aborted)process.nextTick(onAborted);else signal.addEventListener(\"abort\",onAborted,{once:!0}),this.once(\"close\",()=>signal.removeEventListener(\"abort\",onAborted))}this.line=\"\",input.resume()}ObjectSetPrototypeOf(InterfaceConstructor.prototype,EventEmitter.prototype);var _Interface=class Interface2 extends InterfaceConstructor{constructor(input,output,completer,terminal){super(input,output,completer,terminal)}get columns(){var output=this.output;if(output&&output.columns)return output.columns;return Infinity}setPrompt(prompt){this[kPrompt]=prompt}getPrompt(){return this[kPrompt]}[kSetRawMode](mode){var input=this.input,{setRawMode,wasInRawMode}=input;return debug(\"setRawMode\",mode,\"set!\"),wasInRawMode}prompt(preserveCursor){if(this.paused)this.resume();if(this.terminal&&process.env.TERM!==\"dumb\"){if(!preserveCursor)this.cursor=0;this[kRefreshLine]()}else this[kWriteToOutput](this[kPrompt])}[kQuestion](query,cb){if(this.closed)throw new ERR_USE_AFTER_CLOSE(\"readline\");if(this[kQuestionCallback])this.prompt();else this[kOldPrompt]=this[kPrompt],this.setPrompt(query),this[kQuestionCallback]=cb,this.prompt()}[kOnLine](line){if(this[kQuestionCallback]){var cb=this[kQuestionCallback];this[kQuestionCallback]=null,this.setPrompt(this[kOldPrompt]),cb(line)}else this.emit(\"line\",line)}[kBeforeEdit](oldText,oldCursor){this[kPushToUndoStack](oldText,oldCursor)}[kQuestionCancel](){if(this[kQuestionCallback])this[kQuestionCallback]=null,this.setPrompt(this[kOldPrompt]),this.clearLine()}[kWriteToOutput](stringToWrite){if(validateString(stringToWrite,\"stringToWrite\"),this.output!==null&&this.output!==void 0)this.output.write(stringToWrite)}[kAddHistory](){if(this.line.length===0)return\"\";if(this.historySize===0)return this.line;if(StringPrototypeTrim.call(this.line).length===0)return this.line;if(this.history.length===0||this.history[0]!==this.line){if(this.removeHistoryDuplicates){var dupIndex=ArrayPrototypeIndexOf.call(this.history,this.line);if(dupIndex!==-1)ArrayPrototypeSplice.call(this.history,dupIndex,1)}if(ArrayPrototypeUnshift.call(this.history,this.line),this.history.length>this.historySize)ArrayPrototypePop.call(this.history)}this.historyIndex=-1;var line=this.history[0];return this.emit(\"history\",this.history),line}[kRefreshLine](){var line=this[kPrompt]+this.line,dispPos=this[kGetDisplayPos](line),lineCols=dispPos.cols,lineRows=dispPos.rows,cursorPos=this.getCursorPos(),prevRows=this.prevRows||0;if(prevRows>0)moveCursor(this.output,0,-prevRows);if(cursorTo(this.output,0),clearScreenDown(this.output),this[kWriteToOutput](line),lineCols===0)this[kWriteToOutput](\" \");cursorTo(this.output,cursorPos.cols);var diff=lineRows-cursorPos.rows;if(diff>0)moveCursor(this.output,0,-diff);this.prevRows=cursorPos.rows}close(){if(this.closed)return;if(this.pause(),this.terminal)this[kSetRawMode](!1);this.closed=!0,this.emit(\"close\")}pause(){if(this.paused)return;return this.input.pause(),this.paused=!0,this.emit(\"pause\"),this}resume(){if(!this.paused)return;return this.input.resume(),this.paused=!1,this.emit(\"resume\"),this}write(d,key){if(this.paused)this.resume();if(this.terminal)this[kTtyWrite](d,key);else this[kNormalWrite](d)}[kNormalWrite](b){if(b===void 0)return;var string=this[kDecoder].write(b);if(this[kSawReturnAt]&&DateNow()-this[kSawReturnAt]<=this.crlfDelay){if(StringPrototypeCodePointAt.call(string)===10)string=StringPrototypeSlice.call(string,1);this[kSawReturnAt]=0}var newPartContainsEnding=RegExpPrototypeExec.call(lineEnding,string);if(newPartContainsEnding!==null){if(this[kLine_buffer])string=this[kLine_buffer]+string,this[kLine_buffer]=null,newPartContainsEnding=RegExpPrototypeExec.call(lineEnding,string);this[kSawReturnAt]=StringPrototypeEndsWith.call(string,\"\\r\")\?DateNow():0;var indexes=[0,newPartContainsEnding.index,lineEnding.lastIndex],nextMatch;while((nextMatch=RegExpPrototypeExec.call(lineEnding,string))!==null)ArrayPrototypePush.call(indexes,nextMatch.index,lineEnding.lastIndex);var lastIndex=indexes.length-1;this[kLine_buffer]=StringPrototypeSlice.call(string,indexes[lastIndex]);for(var i=1;ie!==\"\"));if(StringPrototypeStartsWith.call(prefix,completeOn)&&prefix.length>completeOn.length){this[kInsertString](StringPrototypeSlice.call(prefix,completeOn.length));return}else if(!StringPrototypeStartsWith.call(completeOn,prefix)){this.line=StringPrototypeSlice.call(this.line,0,this.cursor-completeOn.length)+prefix+StringPrototypeSlice.call(this.line,this.cursor,this.line.length),this.cursor=this.cursor-completeOn.length+prefix.length,this._refreshLine();return}if(!lastKeypressWasTab)return;this[kBeforeEdit](this.line,this.cursor);var completionsWidth=ArrayPrototypeMap.call(completions,(e)=>getStringWidth(e)),width=MathMaxApply(completionsWidth)+2,maxColumns=MathFloor(this.columns/width)||1;if(maxColumns===Infinity)maxColumns=1;var output=\"\\r\\n\",lineIndex=0,whitespace=0;for(var i=0;i0){var leading=StringPrototypeSlice.call(this.line,0,this.cursor),reversed=ArrayPrototypeJoin.call(ArrayPrototypeReverse.call(ArrayFrom(leading)),\"\"),match=RegExpPrototypeExec.call(/^\\s*(\?:[^\\w\\s]+|\\w+)\?/,reversed);this[kMoveCursor](-match[0].length)}}[kWordRight](){if(this.cursor0&&this.line.length>0){this[kBeforeEdit](this.line,this.cursor);var charSize=charLengthLeft(this.line,this.cursor);this.line=StringPrototypeSlice.call(this.line,0,this.cursor-charSize)+StringPrototypeSlice.call(this.line,this.cursor,this.line.length),this.cursor-=charSize,this[kRefreshLine]()}}[kDeleteRight](){if(this.cursor0){this[kBeforeEdit](this.line,this.cursor);var leading=StringPrototypeSlice.call(this.line,0,this.cursor),reversed=ArrayPrototypeJoin.call(ArrayPrototypeReverse.call(ArrayFrom(leading)),\"\"),match=RegExpPrototypeExec.call(/^\\s*(\?:[^\\w\\s]+|\\w+)\?/,reversed);leading=StringPrototypeSlice.call(leading,0,leading.length-match[0].length),this.line=leading+StringPrototypeSlice.call(this.line,this.cursor,this.line.length),this.cursor=leading.length,this[kRefreshLine]()}}[kDeleteWordRight](){if(this.cursorkMaxLengthOfKillRing)ArrayPrototypePop.call(this[kKillRing])}[kYank](){if(this[kKillRing].length>0)this[kYanking]=!0,this[kInsertString](this[kKillRing][this[kKillRingCursor]])}[kYankPop](){if(!this[kYanking])return;if(this[kKillRing].length>1){var lastYank=this[kKillRing][this[kKillRingCursor]];if(this[kKillRingCursor]++,this[kKillRingCursor]>=this[kKillRing].length)this[kKillRingCursor]=0;var currentYank=this[kKillRing][this[kKillRingCursor]],head=StringPrototypeSlice.call(this.line,0,this.cursor-lastYank.length),tail=StringPrototypeSlice.call(this.line,this.cursor);this.line=head+currentYank+tail,this.cursor=head.length+currentYank.length,this[kRefreshLine]()}}clearLine(){this[kMoveCursor](Infinity),this[kWriteToOutput](\"\\r\\n\"),this.line=\"\",this.cursor=0,this.prevRows=0}[kLine](){var line=this[kAddHistory]();this[kUndoStack]=[],this[kRedoStack]=[],this.clearLine(),this[kOnLine](line)}[kPushToUndoStack](text,cursor){if(ArrayPrototypePush.call(this[kUndoStack],{text,cursor})>kMaxUndoRedoStackSize)ArrayPrototypeShift.call(this[kUndoStack])}[kUndo](){if(this[kUndoStack].length<=0)return;ArrayPrototypePush.call(this[kRedoStack],{text:this.line,cursor:this.cursor});var entry=ArrayPrototypePop.call(this[kUndoStack]);this.line=entry.text,this.cursor=entry.cursor,this[kRefreshLine]()}[kRedo](){if(this[kRedoStack].length<=0)return;ArrayPrototypePush.call(this[kUndoStack],{text:this.line,cursor:this.cursor});var entry=ArrayPrototypePop.call(this[kRedoStack]);this.line=entry.text,this.cursor=entry.cursor,this[kRefreshLine]()}[kHistoryNext](){if(this.historyIndex>=0){this[kBeforeEdit](this.line,this.cursor);var search=this[kSubstringSearch]||\"\",index=this.historyIndex-1;while(index>=0&&(!StringPrototypeStartsWith.call(this.history[index],search)||this.line===this.history[index]))index--;if(index===-1)this.line=search;else this.line=this.history[index];this.historyIndex=index,this.cursor=this.line.length,this[kRefreshLine]()}}[kHistoryPrev](){if(this.historyIndexthis.line.length)this.cursor=this.line.length;var newPos=this.getCursorPos();if(oldPos.rows===newPos.rows){var diffWidth=newPos.cols-oldPos.cols;moveCursor(this.output,diffWidth,0)}else this[kRefreshLine]()}[kTtyWrite](s,key){var previousKey=this[kPreviousKey];key=key||kEmptyObject,this[kPreviousKey]=key;var{name:keyName,meta:keyMeta,ctrl:keyCtrl2,shift:keyShift,sequence:keySeq}=key;if(!keyMeta||keyName!==\"y\")this[kYanking]=!1;if((keyName===\"up\"||keyName===\"down\")&&!keyCtrl2&&!keyMeta&&!keyShift){if(this[kSubstringSearch]===null)this[kSubstringSearch]=StringPrototypeSlice.call(this.line,0,this.cursor)}else if(this[kSubstringSearch]!==null){if(this[kSubstringSearch]=null,this.history.length===this.historyIndex)this.historyIndex=-1}if(typeof keySeq===\"string\")switch(StringPrototypeCodePointAt.call(keySeq,0)){case 31:this[kUndo]();return;case 30:this[kRedo]();return;default:break}if(keyName===\"escape\")return;if(keyCtrl2&&keyShift)switch(keyName){case\"backspace\":this[kDeleteLineLeft]();break;case\"delete\":this[kDeleteLineRight]();break}else if(keyCtrl2)switch(keyName){case\"c\":if(this.listenerCount(\"SIGINT\")>0)this.emit(\"SIGINT\");else this.close();break;case\"h\":this[kDeleteLeft]();break;case\"d\":if(this.cursor===0&&this.line.length===0)this.close();else if(this.cursor0)this.emit(\"SIGTSTP\");else process.once(\"SIGCONT\",()=>{if(!this.paused)this.pause(),this.emit(\"SIGCONT\");this[kSetRawMode](!0),this[kRefreshLine]()}),this[kSetRawMode](!1),process.kill(process.pid,\"SIGTSTP\");break;case\"w\":case\"backspace\":this[kDeleteWordLeft]();break;case\"delete\":this[kDeleteWordRight]();break;case\"left\":this[kWordLeft]();break;case\"right\":this[kWordRight]();break}else if(keyMeta)switch(keyName){case\"b\":this[kWordLeft]();break;case\"f\":this[kWordRight]();break;case\"d\":case\"delete\":this[kDeleteWordRight]();break;case\"backspace\":this[kDeleteWordLeft]();break;case\"y\":this[kYankPop]();break}else{if(this[kSawReturnAt]&&keyName!==\"enter\")this[kSawReturnAt]=0;switch(keyName){case\"return\":this[kSawReturnAt]=DateNow(),this[kLine]();break;case\"enter\":if(this[kSawReturnAt]===0||DateNow()-this[kSawReturnAt]>this.crlfDelay)this[kLine]();this[kSawReturnAt]=0;break;case\"backspace\":this[kDeleteLeft]();break;case\"delete\":this[kDeleteRight]();break;case\"left\":this[kMoveCursor](-charLengthLeft(this.line,this.cursor));break;case\"right\":this[kMoveCursor](+charLengthAt(this.line,this.cursor));break;case\"home\":this[kMoveCursor]((-Infinity));break;case\"end\":this[kMoveCursor](Infinity);break;case\"up\":this[kHistoryPrev]();break;case\"down\":this[kHistoryNext]();break;case\"tab\":if(typeof this.completer===\"function\"&&this.isCompletionEnabled){var lastKeypressWasTab=previousKey&&previousKey.name===\"tab\";this[kTabComplete](lastKeypressWasTab);break}default:if(typeof s===\"string\"&&s){var nextMatch=RegExpPrototypeExec.call(lineEnding,s);if(nextMatch!==null){this[kInsertString](StringPrototypeSlice.call(s,0,nextMatch.index));var{lastIndex}=lineEnding;while((nextMatch=RegExpPrototypeExec.call(lineEnding,s))!==null)this[kLine](),this[kInsertString](StringPrototypeSlice.call(s,lastIndex,nextMatch.index)),{lastIndex}=lineEnding;if(lastIndex===s.length)this[kLine]()}else this[kInsertString](s)}}}}[SymbolAsyncIterator](){if(this[kLineObjectStream]===void 0)this[kLineObjectStream]=EventEmitter.on(this,\"line\",{close:[\"close\"],highWatermark:1024,[kFirstEventParam]:!0});return this[kLineObjectStream]}};function Interface(input,output,completer,terminal){if(!(this instanceof Interface))return new Interface(input,output,completer,terminal);if(input\?.input&&typeof input.completer===\"function\"&&input.completer.length!==2){var{completer}=input;input.completer=(v,cb)=>cb(null,completer(v))}else if(typeof completer===\"function\"&&completer.length!==2){var realCompleter=completer;completer=(v,cb)=>cb(null,realCompleter(v))}if(InterfaceConstructor.call(this,input,output,completer,terminal),process.env.TERM===\"dumb\")this._ttyWrite=_ttyWriteDumb.bind(this)}ObjectSetPrototypeOf(Interface.prototype,_Interface.prototype),ObjectSetPrototypeOf(Interface,_Interface),Interface.prototype.question=function question(query,options,cb){if(cb=typeof options===\"function\"\?options:cb,options===null||typeof options!==\"object\")options=kEmptyObject;var signal=options\?.signal;if(signal){if(validateAbortSignal(signal,\"options.signal\"),signal.aborted)return;var onAbort=()=>{this[kQuestionCancel]()};signal.addEventListener(\"abort\",onAbort,{once:!0});var cleanup=()=>{signal.removeEventListener(\"abort\",onAbort)},originalCb=cb;cb=typeof cb===\"function\"\?(answer)=>{return cleanup(),originalCb(answer)}:cleanup}if(typeof cb===\"function\")this[kQuestion](query,cb)},Interface.prototype.question[promisify.custom]=function question(query,options){if(options===null||typeof options!==\"object\")options=kEmptyObject;var signal=options\?.signal;if(signal&&signal.aborted)return PromiseReject(new AbortError(void 0,{cause:signal.reason}));return new Promise((resolve,reject)=>{var cb=resolve;if(signal){var onAbort=()=>{reject(new AbortError(void 0,{cause:signal.reason}))};signal.addEventListener(\"abort\",onAbort,{once:!0}),cb=(answer)=>{signal.removeEventListener(\"abort\",onAbort),resolve(answer)}}this.question(query,options,cb)})};function createInterface(input,output,completer,terminal){return new Interface(input,output,completer,terminal)}ObjectDefineProperties(Interface.prototype,{[kSetRawMode]:{__proto__:null,get(){return this._setRawMode}},[kOnLine]:{__proto__:null,get(){return this._onLine}},[kWriteToOutput]:{__proto__:null,get(){return this._writeToOutput}},[kAddHistory]:{__proto__:null,get(){return this._addHistory}},[kRefreshLine]:{__proto__:null,get(){return this._refreshLine}},[kNormalWrite]:{__proto__:null,get(){return this._normalWrite}},[kInsertString]:{__proto__:null,get(){return this._insertString}},[kTabComplete]:{__proto__:null,get(){return this._tabComplete}},[kWordLeft]:{__proto__:null,get(){return this._wordLeft}},[kWordRight]:{__proto__:null,get(){return this._wordRight}},[kDeleteLeft]:{__proto__:null,get(){return this._deleteLeft}},[kDeleteRight]:{__proto__:null,get(){return this._deleteRight}},[kDeleteWordLeft]:{__proto__:null,get(){return this._deleteWordLeft}},[kDeleteWordRight]:{__proto__:null,get(){return this._deleteWordRight}},[kDeleteLineLeft]:{__proto__:null,get(){return this._deleteLineLeft}},[kDeleteLineRight]:{__proto__:null,get(){return this._deleteLineRight}},[kLine]:{__proto__:null,get(){return this._line}},[kHistoryNext]:{__proto__:null,get(){return this._historyNext}},[kHistoryPrev]:{__proto__:null,get(){return this._historyPrev}},[kGetDisplayPos]:{__proto__:null,get(){return this._getDisplayPos}},[kMoveCursor]:{__proto__:null,get(){return this._moveCursor}},[kTtyWrite]:{__proto__:null,get(){return this._ttyWrite}},_decoder:{__proto__:null,get(){return this[kDecoder]},set(value){this[kDecoder]=value}},_line_buffer:{__proto__:null,get(){return this[kLine_buffer]},set(value){this[kLine_buffer]=value}},_oldPrompt:{__proto__:null,get(){return this[kOldPrompt]},set(value){this[kOldPrompt]=value}},_previousKey:{__proto__:null,get(){return this[kPreviousKey]},set(value){this[kPreviousKey]=value}},_prompt:{__proto__:null,get(){return this[kPrompt]},set(value){this[kPrompt]=value}},_questionCallback:{__proto__:null,get(){return this[kQuestionCallback]},set(value){this[kQuestionCallback]=value}},_sawKeyPress:{__proto__:null,get(){return this[kSawKeyPress]},set(value){this[kSawKeyPress]=value}},_sawReturnAt:{__proto__:null,get(){return this[kSawReturnAt]},set(value){this[kSawReturnAt]=value}}}),Interface.prototype._setRawMode=_Interface.prototype[kSetRawMode],Interface.prototype._onLine=_Interface.prototype[kOnLine],Interface.prototype._writeToOutput=_Interface.prototype[kWriteToOutput],Interface.prototype._addHistory=_Interface.prototype[kAddHistory],Interface.prototype._refreshLine=_Interface.prototype[kRefreshLine],Interface.prototype._normalWrite=_Interface.prototype[kNormalWrite],Interface.prototype._insertString=_Interface.prototype[kInsertString],Interface.prototype._tabComplete=function(lastKeypressWasTab){this.pause();var string=StringPrototypeSlice.call(this.line,0,this.cursor);this.completer(string,(err,value)=>{if(this.resume(),err){this._writeToOutput(`Tab completion error: ${inspect(err)}`);return}this[kTabCompleter](lastKeypressWasTab,value)})},Interface.prototype._wordLeft=_Interface.prototype[kWordLeft],Interface.prototype._wordRight=_Interface.prototype[kWordRight],Interface.prototype._deleteLeft=_Interface.prototype[kDeleteLeft],Interface.prototype._deleteRight=_Interface.prototype[kDeleteRight],Interface.prototype._deleteWordLeft=_Interface.prototype[kDeleteWordLeft],Interface.prototype._deleteWordRight=_Interface.prototype[kDeleteWordRight],Interface.prototype._deleteLineLeft=_Interface.prototype[kDeleteLineLeft],Interface.prototype._deleteLineRight=_Interface.prototype[kDeleteLineRight],Interface.prototype._line=_Interface.prototype[kLine],Interface.prototype._historyNext=_Interface.prototype[kHistoryNext],Interface.prototype._historyPrev=_Interface.prototype[kHistoryPrev],Interface.prototype._getDisplayPos=_Interface.prototype[kGetDisplayPos],Interface.prototype._getCursorPos=_Interface.prototype.getCursorPos,Interface.prototype._moveCursor=_Interface.prototype[kMoveCursor],Interface.prototype._ttyWrite=_Interface.prototype[kTtyWrite];function _ttyWriteDumb(s,key){if(key=key||kEmptyObject,key.name===\"escape\")return;if(this[kSawReturnAt]&&key.name!==\"enter\")this[kSawReturnAt]=0;if(keyCtrl){if(key.name===\"c\"){if(this.listenerCount(\"SIGINT\")>0)this.emit(\"SIGINT\");else this.close();return}else if(key.name===\"d\"){this.close();return}}switch(key.name){case\"return\":this[kSawReturnAt]=DateNow(),this._line();break;case\"enter\":if(this[kSawReturnAt]===0||DateNow()-this[kSawReturnAt]>this.crlfDelay)this._line();this[kSawReturnAt]=0;break;default:if(typeof s===\"string\"&&s)this.line+=s,this.cursor+=s.length,this._writeToOutput(s)}}class Readline{#autoCommit=!1;#stream;#todo=[];constructor(stream,options=void 0){if(isWritable\?\?=@requireId(30).isWritable,!isWritable(stream))throw new ERR_INVALID_ARG_TYPE(\"stream\",\"Writable\",stream);if(this.#stream=stream,options\?.autoCommit!=null)validateBoolean(options.autoCommit,\"options.autoCommit\"),this.#autoCommit=options.autoCommit}cursorTo(x,y=void 0){if(validateInteger(x,\"x\"),y!=null)validateInteger(y,\"y\");var data=y==null\?CSI`${x+1}G`:CSI`${y+1};${x+1}H`;if(this.#autoCommit)process.nextTick(()=>this.#stream.write(data));else ArrayPrototypePush.call(this.#todo,data);return this}moveCursor(dx,dy){if(dx||dy){validateInteger(dx,\"dx\"),validateInteger(dy,\"dy\");var data=\"\";if(dx<0)data+=CSI`${-dx}D`;else if(dx>0)data+=CSI`${dx}C`;if(dy<0)data+=CSI`${-dy}A`;else if(dy>0)data+=CSI`${dy}B`;if(this.#autoCommit)process.nextTick(()=>this.#stream.write(data));else ArrayPrototypePush.call(this.#todo,data)}return this}clearLine(dir){validateInteger(dir,\"dir\",-1,1);var data=dir<0\?kClearToLineBeginning:dir>0\?kClearToLineEnd:kClearLine;if(this.#autoCommit)process.nextTick(()=>this.#stream.write(data));else ArrayPrototypePush.call(this.#todo,data);return this}clearScreenDown(){if(this.#autoCommit)process.nextTick(()=>this.#stream.write(kClearScreenDown));else ArrayPrototypePush.call(this.#todo,kClearScreenDown);return this}commit(){return new Promise((resolve)=>{this.#stream.write(ArrayPrototypeJoin.call(this.#todo,\"\"),resolve),this.#todo=[]})}rollback(){return this.#todo=[],this}}var PromisesInterface=class Interface2 extends _Interface{constructor(input,output,completer,terminal){super(input,output,completer,terminal)}question(query,options=kEmptyObject){var signal=options\?.signal;if(signal){if(validateAbortSignal(signal,\"options.signal\"),signal.aborted)return PromiseReject(new AbortError(void 0,{cause:signal.reason}))}return new Promise((resolve,reject)=>{var cb=resolve;if(options\?.signal){var onAbort=()=>{this[kQuestionCancel](),reject(new AbortError(void 0,{cause:signal.reason}))};signal.addEventListener(\"abort\",onAbort,{once:!0}),cb=(answer)=>{signal.removeEventListener(\"abort\",onAbort),resolve(answer)}}this[kQuestion](query,cb)})}};return $={Interface,clearLine,clearScreenDown,createInterface,cursorTo,emitKeypressEvents,moveCursor,promises:{Readline,Interface:PromisesInterface,createInterface(input,output,completer,terminal){return new PromisesInterface(input,output,completer,terminal)}},[SymbolFor(\"__BUN_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED__\")]:{CSI,utils:{getStringWidth,stripVTControlCharacters}}},$})\n"_s; +static constexpr ASCIILiteral NodeReadlinePromisesCode = "(function (){\"use strict\";return @requireId(26).promises})\n"_s; +static constexpr ASCIILiteral NodeReplCode = "(function (){\"use strict\";var $;const{throwNotImplemented}=@requireId(2);function REPLServer(){throwNotImplemented(\"node:repl REPLServer\")}function Recoverable(){throwNotImplemented(\"node:repl Recoverable\")}var REPL_MODE_SLOPPY=0,REPL_MODE_STRICT=1;function start(){throwNotImplemented(\"node:repl\")}return $={lines:[],context:globalThis,historyIndex:-1,cursor:0,historySize:1000,removeHistoryDuplicates:!1,crlfDelay:100,completer:()=>{throwNotImplemented(\"node:repl\")},history:[],_initialPrompt:\"> \",terminal:!0,input:new Proxy({},{get(){throwNotImplemented(\"node:repl\")},has:()=>!1,ownKeys:()=>[],getOwnPropertyDescriptor:()=>{return},set(){throwNotImplemented(\"node:repl\")}}),line:\"\",eval:()=>{throwNotImplemented(\"node:repl\")},isCompletionEnabled:!0,escapeCodeTimeout:500,tabSize:8,breakEvalOnSigint:!0,useGlobal:!0,underscoreAssigned:!1,last:void 0,_domain:void 0,allowBlockingCompletions:!1,useColors:!0,output:new Proxy({},{get(){throwNotImplemented(\"node:repl\")},has:()=>!1,ownKeys:()=>[],getOwnPropertyDescriptor:()=>{return},set(){throwNotImplemented(\"node:repl\")}})},$})\n"_s; +static constexpr ASCIILiteral NodeStreamConsumersCode = "(function (){\"use strict\";const{readableStreamToArrayBuffer:arrayBuffer,readableStreamToText:text}=Bun,json=(stream)=>Bun.readableStreamToText(stream).then(JSON.parse),buffer=async(readableStream)=>{return new Buffer(await arrayBuffer(readableStream))},blob=Bun.readableStreamToBlob;return{arrayBuffer,text,json,buffer,blob}})\n"_s; +static constexpr ASCIILiteral NodeStreamCode = "(function (){\"use strict\";const{EventEmitter:EE}=globalThis[globalThis.Symbol.for('Bun.lazy')](\"events\"),StringDecoder=@requireBuiltin(53).StringDecoder;var{defineProperty:__defProp,getOwnPropertyDescriptor:__getOwnPropDesc,getOwnPropertyNames:__getOwnPropNames}=Object,__hasOwnProp=Object.prototype.hasOwnProperty,__commonJS=(cb,mod)=>function __require2(){return mod||(0,cb[__getOwnPropNames(cb)[0]])((mod={exports:{}}).exports,mod),mod.exports},__copyProps=(to,from,except,desc)=>{if(from&&typeof from===\"object\"||typeof from===\"function\"){for(let key of __getOwnPropNames(from))if(!__hasOwnProp.call(to,key)&&key!==except)__defProp(to,key,{get:()=>from[key],set:(val)=>from[key]=val,enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable,configurable:!0})}return to},runOnNextTick=process.nextTick;function isReadableStream(value){return typeof value===\"object\"&&value!==null&&value instanceof ReadableStream}function validateBoolean(value,name){if(typeof value!==\"boolean\")throw new ERR_INVALID_ARG_TYPE(name,\"boolean\",value)}const validateObject=(value,name,options=null)=>{const allowArray=options\?.allowArray\?\?!1,allowFunction=options\?.allowFunction\?\?!1;if(!(options\?.nullable\?\?!1)&&value===null||!allowArray&&ArrayIsArray(value)||typeof value!==\"object\"&&(!allowFunction||typeof value!==\"function\"))throw new ERR_INVALID_ARG_TYPE(name,\"Object\",value)};function validateString(value,name){if(typeof value!==\"string\")throw new ERR_INVALID_ARG_TYPE(name,\"string\",value)}var ArrayIsArray=Array.isArray;function ERR_INVALID_ARG_TYPE(name,type,value){return new Error(`The argument '${name}' is invalid. Received '${value}' for type '${type}'`)}function ERR_INVALID_ARG_VALUE(name,value,reason){return new Error(`The value '${value}' is invalid for argument '${name}'. Reason: ${reason}`)}var require_primordials=__commonJS({\"node_modules/readable-stream/lib/ours/primordials.js\"(exports2,module){module.exports={ArrayIsArray(self){return Array.isArray(self)},ArrayPrototypeIncludes(self,el){return self.includes(el)},ArrayPrototypeIndexOf(self,el){return self.indexOf(el)},ArrayPrototypeJoin(self,sep){return self.join(sep)},ArrayPrototypeMap(self,fn){return self.map(fn)},ArrayPrototypePop(self,el){return self.pop(el)},ArrayPrototypePush(self,el){return self.push(el)},ArrayPrototypeSlice(self,start,end){return self.slice(start,end)},Error,FunctionPrototypeCall(fn,thisArgs,...args){return fn.call(thisArgs,...args)},FunctionPrototypeSymbolHasInstance(self,instance){return Function.prototype[Symbol.hasInstance].call(self,instance)},MathFloor:Math.floor,Number,NumberIsInteger:Number.isInteger,NumberIsNaN:Number.isNaN,NumberMAX_SAFE_INTEGER:Number.MAX_SAFE_INTEGER,NumberMIN_SAFE_INTEGER:Number.MIN_SAFE_INTEGER,NumberParseInt:Number.parseInt,ObjectDefineProperties(self,props){return Object.defineProperties(self,props)},ObjectDefineProperty(self,name,prop){return Object.defineProperty(self,name,prop)},ObjectGetOwnPropertyDescriptor(self,name){return Object.getOwnPropertyDescriptor(self,name)},ObjectKeys(obj){return Object.keys(obj)},ObjectSetPrototypeOf(target,proto){return Object.setPrototypeOf(target,proto)},Promise,PromisePrototypeCatch(self,fn){return self.catch(fn)},PromisePrototypeThen(self,thenFn,catchFn){return self.then(thenFn,catchFn)},PromiseReject(err){return Promise.reject(err)},ReflectApply:Reflect.apply,RegExpPrototypeTest(self,value){return self.test(value)},SafeSet:Set,String,StringPrototypeSlice(self,start,end){return self.slice(start,end)},StringPrototypeToLowerCase(self){return self.toLowerCase()},StringPrototypeToUpperCase(self){return self.toUpperCase()},StringPrototypeTrim(self){return self.trim()},Symbol,SymbolAsyncIterator:Symbol.asyncIterator,SymbolHasInstance:Symbol.hasInstance,SymbolIterator:Symbol.iterator,TypedArrayPrototypeSet(self,buf,len){return self.set(buf,len)},Uint8Array}}}),require_util=__commonJS({\"node_modules/readable-stream/lib/ours/util.js\"(exports2,module){var AsyncFunction=Object.getPrototypeOf(async function(){}).constructor,isBlob=typeof Blob!==\"undefined\"\?function isBlob2(b){return b instanceof Blob}:function isBlob2(b){return!1},AggregateError=class extends Error{constructor(errors){if(!Array.isArray(errors))@throwTypeError(`Expected input to be an Array, got ${typeof errors}`);let message=\"\";for(let i=0;i{resolve=res,reject=rej}),resolve,reject}},promisify(fn){return new Promise((resolve,reject)=>{fn((err,...args)=>{if(err)return reject(err);return resolve(...args)})})},debuglog(){return function(){}},format(format,...args){return format.replace(/%([sdifj])/g,function(...[_unused,type]){const replacement=args.shift();if(type===\"f\")return replacement.toFixed(6);else if(type===\"j\")return JSON.stringify(replacement);else if(type===\"s\"&&typeof replacement===\"object\")return`${replacement.constructor!==Object\?replacement.constructor.name:\"\"} {}`.trim();else return replacement.toString()})},inspect(value){switch(typeof value){case\"string\":if(value.includes(\"'\")){if(!value.includes('\"'))return`\"${value}\"`;else if(!value.includes(\"`\")&&!value.includes(\"${\"))return`\\`${value}\\``}return`'${value}'`;case\"number\":if(isNaN(value))return\"NaN\";else if(Object.is(value,-0))return String(value);return value;case\"bigint\":return`${String(value)}n`;case\"boolean\":case\"undefined\":return String(value);case\"object\":return\"{}\"}},types:{isAsyncFunction(fn){return fn instanceof AsyncFunction},isArrayBufferView(arr){return ArrayBuffer.isView(arr)}},isBlob},module.exports.promisify.custom=Symbol.for(\"nodejs.util.promisify.custom\")}}),require_errors=__commonJS({\"node_modules/readable-stream/lib/ours/errors.js\"(exports2,module){var{format,inspect,AggregateError:CustomAggregateError}=require_util(),AggregateError=globalThis.AggregateError||CustomAggregateError,kIsNodeError=Symbol(\"kIsNodeError\"),kTypes=[\"string\",\"function\",\"number\",\"object\",\"Function\",\"Object\",\"boolean\",\"bigint\",\"symbol\"],classRegExp=/^([A-Z][a-z0-9]*)+$/,nodeInternalPrefix=\"__node_internal_\",codes={};function assert(value,message){if(!value)throw new codes.ERR_INTERNAL_ASSERTION(message)}function addNumericalSeparator(val){let res=\"\",i=val.length;const start=val[0]===\"-\"\?1:0;for(;i>=start+4;i-=3)res=`_${val.slice(i-3,i)}${res}`;return`${val.slice(0,i)}${res}`}function getMessage(key,msg,args){if(typeof msg===\"function\")return assert(msg.length<=args.length,`Code: ${key}; The provided arguments length (${args.length}) does not match the required ones (${msg.length}).`),msg(...args);const expectedLength=(msg.match(/%[dfijoOs]/g)||[]).length;if(assert(expectedLength===args.length,`Code: ${key}; The provided arguments length (${args.length}) does not match the required ones (${expectedLength}).`),args.length===0)return msg;return format(msg,...args)}function E(code,message,Base){if(!Base)Base=Error;class NodeError extends Base{constructor(...args){super(getMessage(code,message,args))}toString(){return`${this.name} [${code}]: ${this.message}`}}Object.defineProperties(NodeError.prototype,{name:{value:Base.name,writable:!0,enumerable:!1,configurable:!0},toString:{value(){return`${this.name} [${code}]: ${this.message}`},writable:!0,enumerable:!1,configurable:!0}}),NodeError.prototype.code=code,NodeError.prototype[kIsNodeError]=!0,codes[code]=NodeError}function hideStackFrames(fn){const hidden=nodeInternalPrefix+fn.name;return Object.defineProperty(fn,\"name\",{value:hidden}),fn}function aggregateTwoErrors(innerError,outerError){if(innerError&&outerError&&innerError!==outerError){if(Array.isArray(outerError.errors))return outerError.errors.push(innerError),outerError;const err=new AggregateError([outerError,innerError],outerError.message);return err.code=outerError.code,err}return innerError||outerError}var AbortError=class extends Error{constructor(message=\"The operation was aborted\",options=void 0){if(options!==void 0&&typeof options!==\"object\")throw new codes.ERR_INVALID_ARG_TYPE(\"options\",\"Object\",options);super(message,options);this.code=\"ABORT_ERR\",this.name=\"AbortError\"}};E(\"ERR_ASSERTION\",\"%s\",Error),E(\"ERR_INVALID_ARG_TYPE\",(name,expected,actual)=>{if(assert(typeof name===\"string\",\"'name' must be a string\"),!Array.isArray(expected))expected=[expected];let msg=\"The \";if(name.endsWith(\" argument\"))msg+=`${name} `;else msg+=`\"${name}\" ${name.includes(\".\")\?\"property\":\"argument\"} `;msg+=\"must be \";const types=[],instances=[],other=[];for(let value of expected)if(assert(typeof value===\"string\",\"All expected entries have to be of type string\"),kTypes.includes(value))types.push(value.toLowerCase());else if(classRegExp.test(value))instances.push(value);else assert(value!==\"object\",'The value \"object\" should be written as \"Object\"'),other.push(value);if(instances.length>0){const pos=types.indexOf(\"object\");if(pos!==-1)types.splice(types,pos,1),instances.push(\"Object\")}if(types.length>0){switch(types.length){case 1:msg+=`of type ${types[0]}`;break;case 2:msg+=`one of type ${types[0]} or ${types[1]}`;break;default:{const last=types.pop();msg+=`one of type ${types.join(\", \")}, or ${last}`}}if(instances.length>0||other.length>0)msg+=\" or \"}if(instances.length>0){switch(instances.length){case 1:msg+=`an instance of ${instances[0]}`;break;case 2:msg+=`an instance of ${instances[0]} or ${instances[1]}`;break;default:{const last=instances.pop();msg+=`an instance of ${instances.join(\", \")}, or ${last}`}}if(other.length>0)msg+=\" or \"}switch(other.length){case 0:break;case 1:if(other[0].toLowerCase()!==other[0])msg+=\"an \";msg+=`${other[0]}`;break;case 2:msg+=`one of ${other[0]} or ${other[1]}`;break;default:{const last=other.pop();msg+=`one of ${other.join(\", \")}, or ${last}`}}if(actual==null)msg+=`. Received ${actual}`;else if(typeof actual===\"function\"&&actual.name)msg+=`. Received function ${actual.name}`;else if(typeof actual===\"object\"){var _actual$constructor;if((_actual$constructor=actual.constructor)!==null&&_actual$constructor!==void 0&&_actual$constructor.name)msg+=`. Received an instance of ${actual.constructor.name}`;else{const inspected=inspect(actual,{depth:-1});msg+=`. Received ${inspected}`}}else{let inspected=inspect(actual,{colors:!1});if(inspected.length>25)inspected=`${inspected.slice(0,25)}...`;msg+=`. Received type ${typeof actual} (${inspected})`}return msg},TypeError),E(\"ERR_INVALID_ARG_VALUE\",(name,value,reason=\"is invalid\")=>{let inspected=inspect(value);if(inspected.length>128)inspected=inspected.slice(0,128)+\"...\";return`The ${name.includes(\".\")\?\"property\":\"argument\"} '${name}' ${reason}. Received ${inspected}`},TypeError),E(\"ERR_INVALID_RETURN_VALUE\",(input,name,value)=>{var _value$constructor;const type=value!==null&&value!==void 0&&(_value$constructor=value.constructor)!==null&&_value$constructor!==void 0&&_value$constructor.name\?`instance of ${value.constructor.name}`:`type ${typeof value}`;return`Expected ${input} to be returned from the \"${name}\" function but got ${type}.`},TypeError),E(\"ERR_MISSING_ARGS\",(...args)=>{assert(args.length>0,\"At least one arg needs to be specified\");let msg;const len=args.length;switch(args=(Array.isArray(args)\?args:[args]).map((a)=>`\"${a}\"`).join(\" or \"),len){case 1:msg+=`The ${args[0]} argument`;break;case 2:msg+=`The ${args[0]} and ${args[1]} arguments`;break;default:{const last=args.pop();msg+=`The ${args.join(\", \")}, and ${last} arguments`}break}return`${msg} must be specified`},TypeError),E(\"ERR_OUT_OF_RANGE\",(str,range,input)=>{assert(range,'Missing \"range\" argument');let received;if(Number.isInteger(input)&&Math.abs(input)>4294967296)received=addNumericalSeparator(String(input));else if(typeof input===\"bigint\"){if(received=String(input),input>2n**32n||input<-(2n**32n))received=addNumericalSeparator(received);received+=\"n\"}else received=inspect(input);return`The value of \"${str}\" is out of range. It must be ${range}. Received ${received}`},RangeError),E(\"ERR_MULTIPLE_CALLBACK\",\"Callback called multiple times\",Error),E(\"ERR_METHOD_NOT_IMPLEMENTED\",\"The %s method is not implemented\",Error),E(\"ERR_STREAM_ALREADY_FINISHED\",\"Cannot call %s after a stream was finished\",Error),E(\"ERR_STREAM_CANNOT_PIPE\",\"Cannot pipe, not readable\",Error),E(\"ERR_STREAM_DESTROYED\",\"Cannot call %s after a stream was destroyed\",Error),E(\"ERR_STREAM_NULL_VALUES\",\"May not write null values to stream\",TypeError),E(\"ERR_STREAM_PREMATURE_CLOSE\",\"Premature close\",Error),E(\"ERR_STREAM_PUSH_AFTER_EOF\",\"stream.push() after EOF\",Error),E(\"ERR_STREAM_UNSHIFT_AFTER_END_EVENT\",\"stream.unshift() after end event\",Error),E(\"ERR_STREAM_WRITE_AFTER_END\",\"write after end\",Error),E(\"ERR_UNKNOWN_ENCODING\",\"Unknown encoding: %s\",TypeError),module.exports={AbortError,aggregateTwoErrors:hideStackFrames(aggregateTwoErrors),hideStackFrames,codes}}}),require_validators=__commonJS({\"node_modules/readable-stream/lib/internal/validators.js\"(exports2,module){var{ArrayIsArray:ArrayIsArray2,ArrayPrototypeIncludes,ArrayPrototypeJoin,ArrayPrototypeMap,NumberIsInteger,NumberMAX_SAFE_INTEGER,NumberMIN_SAFE_INTEGER,NumberParseInt,RegExpPrototypeTest,String:String2,StringPrototypeToUpperCase,StringPrototypeTrim}=require_primordials(),{hideStackFrames,codes:{ERR_SOCKET_BAD_PORT,ERR_INVALID_ARG_TYPE:ERR_INVALID_ARG_TYPE2,ERR_INVALID_ARG_VALUE:ERR_INVALID_ARG_VALUE2,ERR_OUT_OF_RANGE,ERR_UNKNOWN_SIGNAL}}=require_errors(),{normalizeEncoding}=require_util(),{isAsyncFunction,isArrayBufferView}=require_util().types,signals={};function isInt32(value){return value===(value|0)}function isUint32(value){return value===value>>>0}var octalReg=/^[0-7]+$/,modeDesc=\"must be a 32-bit unsigned integer or an octal string\";function parseFileMode(value,name,def){if(typeof value===\"undefined\")value=def;if(typeof value===\"string\"){if(!RegExpPrototypeTest(octalReg,value))throw new ERR_INVALID_ARG_VALUE2(name,value,modeDesc);value=NumberParseInt(value,8)}return validateInt32(value,name,0,4294967295),value}var validateInteger=hideStackFrames((value,name,min=NumberMIN_SAFE_INTEGER,max=NumberMAX_SAFE_INTEGER)=>{if(typeof value!==\"number\")throw new ERR_INVALID_ARG_TYPE2(name,\"number\",value);if(!NumberIsInteger(value))throw new ERR_OUT_OF_RANGE(name,\"an integer\",value);if(valuemax)throw new ERR_OUT_OF_RANGE(name,`>= ${min} && <= ${max}`,value)}),validateInt32=hideStackFrames((value,name,min=-2147483648,max=2147483647)=>{if(typeof value!==\"number\")throw new ERR_INVALID_ARG_TYPE2(name,\"number\",value);if(!isInt32(value)){if(!NumberIsInteger(value))throw new ERR_OUT_OF_RANGE(name,\"an integer\",value);throw new ERR_OUT_OF_RANGE(name,`>= ${min} && <= ${max}`,value)}if(valuemax)throw new ERR_OUT_OF_RANGE(name,`>= ${min} && <= ${max}`,value)}),validateUint32=hideStackFrames((value,name,positive)=>{if(typeof value!==\"number\")throw new ERR_INVALID_ARG_TYPE2(name,\"number\",value);if(!isUint32(value)){if(!NumberIsInteger(value))throw new ERR_OUT_OF_RANGE(name,\"an integer\",value);throw new ERR_OUT_OF_RANGE(name,`>= ${positive\?1:0} && < 4294967296`,value)}if(positive&&value===0)throw new ERR_OUT_OF_RANGE(name,\">= 1 && < 4294967296\",value)});function validateString2(value,name){if(typeof value!==\"string\")throw new ERR_INVALID_ARG_TYPE2(name,\"string\",value)}function validateNumber(value,name){if(typeof value!==\"number\")throw new ERR_INVALID_ARG_TYPE2(name,\"number\",value)}var validateOneOf=hideStackFrames((value,name,oneOf)=>{if(!ArrayPrototypeIncludes(oneOf,value)){const reason=\"must be one of: \"+ArrayPrototypeJoin(ArrayPrototypeMap(oneOf,(v)=>typeof v===\"string\"\?`'${v}'`:String2(v)),\", \");throw new ERR_INVALID_ARG_VALUE2(name,value,reason)}});function validateBoolean2(value,name){if(typeof value!==\"boolean\")throw new ERR_INVALID_ARG_TYPE2(name,\"boolean\",value)}var validateObject2=hideStackFrames((value,name,options)=>{const useDefaultOptions=options==null,allowArray=useDefaultOptions\?!1:options.allowArray,allowFunction=useDefaultOptions\?!1:options.allowFunction;if(!(useDefaultOptions\?!1:options.nullable)&&value===null||!allowArray&&ArrayIsArray2(value)||typeof value!==\"object\"&&(!allowFunction||typeof value!==\"function\"))throw new ERR_INVALID_ARG_TYPE2(name,\"Object\",value)}),validateArray=hideStackFrames((value,name,minLength=0)=>{if(!ArrayIsArray2(value))throw new ERR_INVALID_ARG_TYPE2(name,\"Array\",value);if(value.length{if(!isArrayBufferView(buffer))throw new ERR_INVALID_ARG_TYPE2(name,[\"Buffer\",\"TypedArray\",\"DataView\"],buffer)});function validateEncoding(data,encoding){const normalizedEncoding=normalizeEncoding(encoding),length=data.length;if(normalizedEncoding===\"hex\"&&length%2!==0)throw new ERR_INVALID_ARG_VALUE2(\"encoding\",encoding,`is invalid for data of length ${length}`)}function validatePort(port,name=\"Port\",allowZero=!0){if(typeof port!==\"number\"&&typeof port!==\"string\"||typeof port===\"string\"&&StringPrototypeTrim(port).length===0||+port!==+port>>>0||port>65535||port===0&&!allowZero)throw new ERR_SOCKET_BAD_PORT(name,port,allowZero);return port|0}var validateAbortSignal=hideStackFrames((signal,name)=>{if(signal!==void 0&&(signal===null||typeof signal!==\"object\"||!(\"aborted\"in signal)))throw new ERR_INVALID_ARG_TYPE2(name,\"AbortSignal\",signal)}),validateFunction=hideStackFrames((value,name)=>{if(typeof value!==\"function\")throw new ERR_INVALID_ARG_TYPE2(name,\"Function\",value)}),validatePlainFunction=hideStackFrames((value,name)=>{if(typeof value!==\"function\"||isAsyncFunction(value))throw new ERR_INVALID_ARG_TYPE2(name,\"Function\",value)}),validateUndefined=hideStackFrames((value,name)=>{if(value!==void 0)throw new ERR_INVALID_ARG_TYPE2(name,\"undefined\",value)});module.exports={isInt32,isUint32,parseFileMode,validateArray,validateBoolean:validateBoolean2,validateBuffer,validateEncoding,validateFunction,validateInt32,validateInteger,validateNumber,validateObject:validateObject2,validateOneOf,validatePlainFunction,validatePort,validateSignalName,validateString:validateString2,validateUint32,validateUndefined,validateAbortSignal}}}),require_utils=__commonJS({\"node_modules/readable-stream/lib/internal/streams/utils.js\"(exports2,module){var{Symbol:Symbol2,SymbolAsyncIterator,SymbolIterator}=require_primordials(),kDestroyed=Symbol2(\"kDestroyed\"),kIsErrored=Symbol2(\"kIsErrored\"),kIsReadable=Symbol2(\"kIsReadable\"),kIsDisturbed=Symbol2(\"kIsDisturbed\");function isReadableNodeStream(obj,strict=!1){var _obj$_readableState;return!!(obj&&typeof obj.pipe===\"function\"&&typeof obj.on===\"function\"&&(!strict||typeof obj.pause===\"function\"&&typeof obj.resume===\"function\")&&(!obj._writableState||((_obj$_readableState=obj._readableState)===null||_obj$_readableState===void 0\?void 0:_obj$_readableState.readable)!==!1)&&(!obj._writableState||obj._readableState))}function isWritableNodeStream(obj){var _obj$_writableState;return!!(obj&&typeof obj.write===\"function\"&&typeof obj.on===\"function\"&&(!obj._readableState||((_obj$_writableState=obj._writableState)===null||_obj$_writableState===void 0\?void 0:_obj$_writableState.writable)!==!1))}function isDuplexNodeStream(obj){return!!(obj&&typeof obj.pipe===\"function\"&&obj._readableState&&typeof obj.on===\"function\"&&typeof obj.write===\"function\")}function isNodeStream(obj){return obj&&(obj._readableState||obj._writableState||typeof obj.write===\"function\"&&typeof obj.on===\"function\"||typeof obj.pipe===\"function\"&&typeof obj.on===\"function\")}function isIterable(obj,isAsync){if(obj==null)return!1;if(isAsync===!0)return typeof obj[SymbolAsyncIterator]===\"function\";if(isAsync===!1)return typeof obj[SymbolIterator]===\"function\";return typeof obj[SymbolAsyncIterator]===\"function\"||typeof obj[SymbolIterator]===\"function\"}function isDestroyed(stream){if(!isNodeStream(stream))return null;const{_writableState:wState,_readableState:rState}=stream,state=wState||rState;return!!(stream.destroyed||stream[kDestroyed]||state!==null&&state!==void 0&&state.destroyed)}function isWritableEnded(stream){if(!isWritableNodeStream(stream))return null;if(stream.writableEnded===!0)return!0;const wState=stream._writableState;if(wState!==null&&wState!==void 0&&wState.errored)return!1;if(typeof(wState===null||wState===void 0\?void 0:wState.ended)!==\"boolean\")return null;return wState.ended}function isWritableFinished(stream,strict){if(!isWritableNodeStream(stream))return null;if(stream.writableFinished===!0)return!0;const wState=stream._writableState;if(wState!==null&&wState!==void 0&&wState.errored)return!1;if(typeof(wState===null||wState===void 0\?void 0:wState.finished)!==\"boolean\")return null;return!!(wState.finished||strict===!1&&wState.ended===!0&&wState.length===0)}function isReadableEnded(stream){if(!isReadableNodeStream(stream))return null;if(stream.readableEnded===!0)return!0;const rState=stream._readableState;if(!rState||rState.errored)return!1;if(typeof(rState===null||rState===void 0\?void 0:rState.ended)!==\"boolean\")return null;return rState.ended}function isReadableFinished(stream,strict){if(!isReadableNodeStream(stream))return null;const rState=stream._readableState;if(rState!==null&&rState!==void 0&&rState.errored)return!1;if(typeof(rState===null||rState===void 0\?void 0:rState.endEmitted)!==\"boolean\")return null;return!!(rState.endEmitted||strict===!1&&rState.ended===!0&&rState.length===0)}function isReadable(stream){if(stream&&stream[kIsReadable]!=null)return stream[kIsReadable];if(typeof(stream===null||stream===void 0\?void 0:stream.readable)!==\"boolean\")return null;if(isDestroyed(stream))return!1;return isReadableNodeStream(stream)&&stream.readable&&!isReadableFinished(stream)}function isWritable(stream){if(typeof(stream===null||stream===void 0\?void 0:stream.writable)!==\"boolean\")return null;if(isDestroyed(stream))return!1;return isWritableNodeStream(stream)&&stream.writable&&!isWritableEnded(stream)}function isFinished(stream,opts){if(!isNodeStream(stream))return null;if(isDestroyed(stream))return!0;if((opts===null||opts===void 0\?void 0:opts.readable)!==!1&&isReadable(stream))return!1;if((opts===null||opts===void 0\?void 0:opts.writable)!==!1&&isWritable(stream))return!1;return!0}function isWritableErrored(stream){var _stream$_writableStat,_stream$_writableStat2;if(!isNodeStream(stream))return null;if(stream.writableErrored)return stream.writableErrored;return(_stream$_writableStat=(_stream$_writableStat2=stream._writableState)===null||_stream$_writableStat2===void 0\?void 0:_stream$_writableStat2.errored)!==null&&_stream$_writableStat!==void 0\?_stream$_writableStat:null}function isReadableErrored(stream){var _stream$_readableStat,_stream$_readableStat2;if(!isNodeStream(stream))return null;if(stream.readableErrored)return stream.readableErrored;return(_stream$_readableStat=(_stream$_readableStat2=stream._readableState)===null||_stream$_readableStat2===void 0\?void 0:_stream$_readableStat2.errored)!==null&&_stream$_readableStat!==void 0\?_stream$_readableStat:null}function isClosed(stream){if(!isNodeStream(stream))return null;if(typeof stream.closed===\"boolean\")return stream.closed;const{_writableState:wState,_readableState:rState}=stream;if(typeof(wState===null||wState===void 0\?void 0:wState.closed)===\"boolean\"||typeof(rState===null||rState===void 0\?void 0:rState.closed)===\"boolean\")return(wState===null||wState===void 0\?void 0:wState.closed)||(rState===null||rState===void 0\?void 0:rState.closed);if(typeof stream._closed===\"boolean\"&&isOutgoingMessage(stream))return stream._closed;return null}function isOutgoingMessage(stream){return typeof stream._closed===\"boolean\"&&typeof stream._defaultKeepAlive===\"boolean\"&&typeof stream._removedConnection===\"boolean\"&&typeof stream._removedContLen===\"boolean\"}function isServerResponse(stream){return typeof stream._sent100===\"boolean\"&&isOutgoingMessage(stream)}function isServerRequest(stream){var _stream$req;return typeof stream._consuming===\"boolean\"&&typeof stream._dumped===\"boolean\"&&((_stream$req=stream.req)===null||_stream$req===void 0\?void 0:_stream$req.upgradeOrConnect)===void 0}function willEmitClose(stream){if(!isNodeStream(stream))return null;const{_writableState:wState,_readableState:rState}=stream,state=wState||rState;return!state&&isServerResponse(stream)||!!(state&&state.autoDestroy&&state.emitClose&&state.closed===!1)}function isDisturbed(stream){var _stream$kIsDisturbed;return!!(stream&&((_stream$kIsDisturbed=stream[kIsDisturbed])!==null&&_stream$kIsDisturbed!==void 0\?_stream$kIsDisturbed:stream.readableDidRead||stream.readableAborted))}function isErrored(stream){var _ref,_ref2,_ref3,_ref4,_ref5,_stream$kIsErrored,_stream$_readableStat3,_stream$_writableStat3,_stream$_readableStat4,_stream$_writableStat4;return!!(stream&&((_ref=(_ref2=(_ref3=(_ref4=(_ref5=(_stream$kIsErrored=stream[kIsErrored])!==null&&_stream$kIsErrored!==void 0\?_stream$kIsErrored:stream.readableErrored)!==null&&_ref5!==void 0\?_ref5:stream.writableErrored)!==null&&_ref4!==void 0\?_ref4:(_stream$_readableStat3=stream._readableState)===null||_stream$_readableStat3===void 0\?void 0:_stream$_readableStat3.errorEmitted)!==null&&_ref3!==void 0\?_ref3:(_stream$_writableStat3=stream._writableState)===null||_stream$_writableStat3===void 0\?void 0:_stream$_writableStat3.errorEmitted)!==null&&_ref2!==void 0\?_ref2:(_stream$_readableStat4=stream._readableState)===null||_stream$_readableStat4===void 0\?void 0:_stream$_readableStat4.errored)!==null&&_ref!==void 0\?_ref:(_stream$_writableStat4=stream._writableState)===null||_stream$_writableStat4===void 0\?void 0:_stream$_writableStat4.errored))}module.exports={kDestroyed,isDisturbed,kIsDisturbed,isErrored,kIsErrored,isReadable,kIsReadable,isClosed,isDestroyed,isDuplexNodeStream,isFinished,isIterable,isReadableNodeStream,isReadableEnded,isReadableFinished,isReadableErrored,isNodeStream,isWritable,isWritableNodeStream,isWritableEnded,isWritableFinished,isWritableErrored,isServerRequest,isServerResponse,willEmitClose}}}),require_end_of_stream=__commonJS({\"node_modules/readable-stream/lib/internal/streams/end-of-stream.js\"(exports2,module){var{AbortError,codes}=require_errors(),{ERR_INVALID_ARG_TYPE:ERR_INVALID_ARG_TYPE2,ERR_STREAM_PREMATURE_CLOSE}=codes,{once}=require_util(),{validateAbortSignal,validateFunction,validateObject:validateObject2}=require_validators(),{Promise:Promise2}=require_primordials(),{isClosed,isReadable,isReadableNodeStream,isReadableFinished,isReadableErrored,isWritable,isWritableNodeStream,isWritableFinished,isWritableErrored,isNodeStream,willEmitClose:_willEmitClose}=require_utils();function isRequest(stream){return stream.setHeader&&typeof stream.abort===\"function\"}var nop=()=>{};function eos(stream,options,callback){var _options$readable,_options$writable;if(arguments.length===2)callback=options,options={};else if(options==null)options={};else validateObject2(options,\"options\");validateFunction(callback,\"callback\"),validateAbortSignal(options.signal,\"options.signal\"),callback=once(callback);const readable=(_options$readable=options.readable)!==null&&_options$readable!==void 0\?_options$readable:isReadableNodeStream(stream),writable=(_options$writable=options.writable)!==null&&_options$writable!==void 0\?_options$writable:isWritableNodeStream(stream);if(!isNodeStream(stream))throw new ERR_INVALID_ARG_TYPE2(\"stream\",\"Stream\",stream);const{_writableState:wState,_readableState:rState}=stream,onlegacyfinish=()=>{if(!stream.writable)onfinish()};let willEmitClose=_willEmitClose(stream)&&isReadableNodeStream(stream)===readable&&isWritableNodeStream(stream)===writable,writableFinished=isWritableFinished(stream,!1);const onfinish=()=>{if(writableFinished=!0,stream.destroyed)willEmitClose=!1;if(willEmitClose&&(!stream.readable||readable))return;if(!readable||readableFinished)callback.call(stream)};let readableFinished=isReadableFinished(stream,!1);const onend=()=>{if(readableFinished=!0,stream.destroyed)willEmitClose=!1;if(willEmitClose&&(!stream.writable||writable))return;if(!writable||writableFinished)callback.call(stream)},onerror=(err)=>{callback.call(stream,err)};let closed=isClosed(stream);const onclose=()=>{closed=!0;const errored=isWritableErrored(stream)||isReadableErrored(stream);if(errored&&typeof errored!==\"boolean\")return callback.call(stream,errored);if(readable&&!readableFinished&&isReadableNodeStream(stream,!0)){if(!isReadableFinished(stream,!1))return callback.call(stream,new ERR_STREAM_PREMATURE_CLOSE)}if(writable&&!writableFinished){if(!isWritableFinished(stream,!1))return callback.call(stream,new ERR_STREAM_PREMATURE_CLOSE)}callback.call(stream)},onrequest=()=>{stream.req.on(\"finish\",onfinish)};if(isRequest(stream)){if(stream.on(\"complete\",onfinish),!willEmitClose)stream.on(\"abort\",onclose);if(stream.req)onrequest();else stream.on(\"request\",onrequest)}else if(writable&&!wState)stream.on(\"end\",onlegacyfinish),stream.on(\"close\",onlegacyfinish);if(!willEmitClose&&typeof stream.aborted===\"boolean\")stream.on(\"aborted\",onclose);if(stream.on(\"end\",onend),stream.on(\"finish\",onfinish),options.error!==!1)stream.on(\"error\",onerror);if(stream.on(\"close\",onclose),closed)runOnNextTick(onclose);else if(wState!==null&&wState!==void 0&&wState.errorEmitted||rState!==null&&rState!==void 0&&rState.errorEmitted){if(!willEmitClose)runOnNextTick(onclose)}else if(!readable&&(!willEmitClose||isReadable(stream))&&(writableFinished||isWritable(stream)===!1))runOnNextTick(onclose);else if(!writable&&(!willEmitClose||isWritable(stream))&&(readableFinished||isReadable(stream)===!1))runOnNextTick(onclose);else if(rState&&stream.req&&stream.aborted)runOnNextTick(onclose);const cleanup=()=>{if(callback=nop,stream.removeListener(\"aborted\",onclose),stream.removeListener(\"complete\",onfinish),stream.removeListener(\"abort\",onclose),stream.removeListener(\"request\",onrequest),stream.req)stream.req.removeListener(\"finish\",onfinish);stream.removeListener(\"end\",onlegacyfinish),stream.removeListener(\"close\",onlegacyfinish),stream.removeListener(\"finish\",onfinish),stream.removeListener(\"end\",onend),stream.removeListener(\"error\",onerror),stream.removeListener(\"close\",onclose)};if(options.signal&&!closed){const abort=()=>{const endCallback=callback;cleanup(),endCallback.call(stream,new AbortError(void 0,{cause:options.signal.reason}))};if(options.signal.aborted)runOnNextTick(abort);else{const originalCallback=callback;callback=once((...args)=>{options.signal.removeEventListener(\"abort\",abort),originalCallback.apply(stream,args)}),options.signal.addEventListener(\"abort\",abort)}}return cleanup}function finished(stream,opts){return new Promise2((resolve,reject)=>{eos(stream,opts,(err)=>{if(err)reject(err);else resolve()})})}module.exports=eos,module.exports.finished=finished}}),require_operators=__commonJS({\"node_modules/readable-stream/lib/internal/streams/operators.js\"(exports2,module){var{codes:{ERR_INVALID_ARG_TYPE:ERR_INVALID_ARG_TYPE2,ERR_MISSING_ARGS,ERR_OUT_OF_RANGE},AbortError}=require_errors(),{validateAbortSignal,validateInteger,validateObject:validateObject2}=require_validators(),kWeakHandler=require_primordials().Symbol(\"kWeak\"),{finished}=require_end_of_stream(),{ArrayPrototypePush,MathFloor,Number:Number2,NumberIsNaN,Promise:Promise2,PromiseReject,PromisePrototypeCatch,Symbol:Symbol2}=require_primordials(),kEmpty=Symbol2(\"kEmpty\"),kEof=Symbol2(\"kEof\");function map(fn,options){if(typeof fn!==\"function\")throw new ERR_INVALID_ARG_TYPE2(\"fn\",[\"Function\",\"AsyncFunction\"],fn);if(options!=null)validateObject2(options,\"options\");if((options===null||options===void 0\?void 0:options.signal)!=null)validateAbortSignal(options.signal,\"options.signal\");let concurrency=1;if((options===null||options===void 0\?void 0:options.concurrency)!=null)concurrency=MathFloor(options.concurrency);return validateInteger(concurrency,\"concurrency\",1),async function*map2(){var _options$signal,_options$signal2;const ac=new AbortController,stream=this,queue=[],signal=ac.signal,signalOpt={signal},abort=()=>ac.abort();if(options!==null&&options!==void 0&&(_options$signal=options.signal)!==null&&_options$signal!==void 0&&_options$signal.aborted)abort();options===null||options===void 0||(_options$signal2=options.signal)===null||_options$signal2===void 0||_options$signal2.addEventListener(\"abort\",abort);let next,resume,done=!1;function onDone(){done=!0}async function pump(){try{for await(let val of stream){var _val;if(done)return;if(signal.aborted)throw new AbortError;try{val=fn(val,signalOpt)}catch(err){val=PromiseReject(err)}if(val===kEmpty)continue;if(typeof((_val=val)===null||_val===void 0\?void 0:_val.catch)===\"function\")val.catch(onDone);if(queue.push(val),next)next(),next=null;if(!done&&queue.length&&queue.length>=concurrency)await new Promise2((resolve)=>{resume=resolve})}queue.push(kEof)}catch(err){const val=PromiseReject(err);PromisePrototypeCatch(val,onDone),queue.push(val)}finally{var _options$signal3;if(done=!0,next)next(),next=null;options===null||options===void 0||(_options$signal3=options.signal)===null||_options$signal3===void 0||_options$signal3.removeEventListener(\"abort\",abort)}}pump();try{while(!0){while(queue.length>0){const val=await queue[0];if(val===kEof)return;if(signal.aborted)throw new AbortError;if(val!==kEmpty)yield val;if(queue.shift(),resume)resume(),resume=null}await new Promise2((resolve)=>{next=resolve})}}finally{if(ac.abort(),done=!0,resume)resume(),resume=null}}.call(this)}function asIndexedPairs(options=void 0){if(options!=null)validateObject2(options,\"options\");if((options===null||options===void 0\?void 0:options.signal)!=null)validateAbortSignal(options.signal,\"options.signal\");return async function*asIndexedPairs2(){let index=0;for await(let val of this){var _options$signal4;if(options!==null&&options!==void 0&&(_options$signal4=options.signal)!==null&&_options$signal4!==void 0&&_options$signal4.aborted)throw new AbortError({cause:options.signal.reason});yield[index++,val]}}.call(this)}async function some(fn,options=void 0){for await(let unused of filter.call(this,fn,options))return!0;return!1}async function every(fn,options=void 0){if(typeof fn!==\"function\")throw new ERR_INVALID_ARG_TYPE2(\"fn\",[\"Function\",\"AsyncFunction\"],fn);return!await some.call(this,async(...args)=>{return!await fn(...args)},options)}async function find(fn,options){for await(let result of filter.call(this,fn,options))return result;return}async function forEach(fn,options){if(typeof fn!==\"function\")throw new ERR_INVALID_ARG_TYPE2(\"fn\",[\"Function\",\"AsyncFunction\"],fn);async function forEachFn(value,options2){return await fn(value,options2),kEmpty}for await(let unused of map.call(this,forEachFn,options));}function filter(fn,options){if(typeof fn!==\"function\")throw new ERR_INVALID_ARG_TYPE2(\"fn\",[\"Function\",\"AsyncFunction\"],fn);async function filterFn(value,options2){if(await fn(value,options2))return value;return kEmpty}return map.call(this,filterFn,options)}var ReduceAwareErrMissingArgs=class extends ERR_MISSING_ARGS{constructor(){super(\"reduce\");this.message=\"Reduce of an empty stream requires an initial value\"}};async function reduce(reducer,initialValue,options){var _options$signal5;if(typeof reducer!==\"function\")throw new ERR_INVALID_ARG_TYPE2(\"reducer\",[\"Function\",\"AsyncFunction\"],reducer);if(options!=null)validateObject2(options,\"options\");if((options===null||options===void 0\?void 0:options.signal)!=null)validateAbortSignal(options.signal,\"options.signal\");let hasInitialValue=arguments.length>1;if(options!==null&&options!==void 0&&(_options$signal5=options.signal)!==null&&_options$signal5!==void 0&&_options$signal5.aborted){const err=new AbortError(void 0,{cause:options.signal.reason});throw this.once(\"error\",()=>{}),await finished(this.destroy(err)),err}const ac=new AbortController,signal=ac.signal;if(options!==null&&options!==void 0&&options.signal){const opts={once:!0,[kWeakHandler]:this};options.signal.addEventListener(\"abort\",()=>ac.abort(),opts)}let gotAnyItemFromStream=!1;try{for await(let value of this){var _options$signal6;if(gotAnyItemFromStream=!0,options!==null&&options!==void 0&&(_options$signal6=options.signal)!==null&&_options$signal6!==void 0&&_options$signal6.aborted)throw new AbortError;if(!hasInitialValue)initialValue=value,hasInitialValue=!0;else initialValue=await reducer(initialValue,value,{signal})}if(!gotAnyItemFromStream&&!hasInitialValue)throw new ReduceAwareErrMissingArgs}finally{ac.abort()}return initialValue}async function toArray(options){if(options!=null)validateObject2(options,\"options\");if((options===null||options===void 0\?void 0:options.signal)!=null)validateAbortSignal(options.signal,\"options.signal\");const result=[];for await(let val of this){var _options$signal7;if(options!==null&&options!==void 0&&(_options$signal7=options.signal)!==null&&_options$signal7!==void 0&&_options$signal7.aborted)throw new AbortError(void 0,{cause:options.signal.reason});ArrayPrototypePush(result,val)}return result}function flatMap(fn,options){const values=map.call(this,fn,options);return async function*flatMap2(){for await(let val of values)yield*val}.call(this)}function toIntegerOrInfinity(number){if(number=Number2(number),NumberIsNaN(number))return 0;if(number<0)throw new ERR_OUT_OF_RANGE(\"number\",\">= 0\",number);return number}function drop(number,options=void 0){if(options!=null)validateObject2(options,\"options\");if((options===null||options===void 0\?void 0:options.signal)!=null)validateAbortSignal(options.signal,\"options.signal\");return number=toIntegerOrInfinity(number),async function*drop2(){var _options$signal8;if(options!==null&&options!==void 0&&(_options$signal8=options.signal)!==null&&_options$signal8!==void 0&&_options$signal8.aborted)throw new AbortError;for await(let val of this){var _options$signal9;if(options!==null&&options!==void 0&&(_options$signal9=options.signal)!==null&&_options$signal9!==void 0&&_options$signal9.aborted)throw new AbortError;if(number--<=0)yield val}}.call(this)}function take(number,options=void 0){if(options!=null)validateObject2(options,\"options\");if((options===null||options===void 0\?void 0:options.signal)!=null)validateAbortSignal(options.signal,\"options.signal\");return number=toIntegerOrInfinity(number),async function*take2(){var _options$signal10;if(options!==null&&options!==void 0&&(_options$signal10=options.signal)!==null&&_options$signal10!==void 0&&_options$signal10.aborted)throw new AbortError;for await(let val of this){var _options$signal11;if(options!==null&&options!==void 0&&(_options$signal11=options.signal)!==null&&_options$signal11!==void 0&&_options$signal11.aborted)throw new AbortError;if(number-- >0)yield val;else return}}.call(this)}module.exports.streamReturningOperators={asIndexedPairs,drop,filter,flatMap,map,take},module.exports.promiseReturningOperators={every,forEach,reduce,toArray,some,find}}}),require_destroy=__commonJS({\"node_modules/readable-stream/lib/internal/streams/destroy.js\"(exports2,module){var{aggregateTwoErrors,codes:{ERR_MULTIPLE_CALLBACK},AbortError}=require_errors(),{Symbol:Symbol2}=require_primordials(),{kDestroyed,isDestroyed,isFinished,isServerRequest}=require_utils(),kDestroy=\"#kDestroy\",kConstruct=\"#kConstruct\";function checkError(err,w,r){if(err){if(err.stack,w&&!w.errored)w.errored=err;if(r&&!r.errored)r.errored=err}}function destroy(err,cb){const r=this._readableState,w=this._writableState,s=w||r;if(w&&w.destroyed||r&&r.destroyed){if(typeof cb===\"function\")cb();return this}if(checkError(err,w,r),w)w.destroyed=!0;if(r)r.destroyed=!0;if(!s.constructed)this.once(kDestroy,(er)=>{_destroy(this,aggregateTwoErrors(er,err),cb)});else _destroy(this,err,cb);return this}function _destroy(self,err,cb){let called=!1;function onDestroy(err2){if(called)return;called=!0;const{_readableState:r,_writableState:w}=self;if(checkError(err2,w,r),w)w.closed=!0;if(r)r.closed=!0;if(typeof cb===\"function\")cb(err2);if(err2)runOnNextTick(emitErrorCloseNT,self,err2);else runOnNextTick(emitCloseNT,self)}try{self._destroy(err||null,onDestroy)}catch(err2){onDestroy(err2)}}function emitErrorCloseNT(self,err){emitErrorNT(self,err),emitCloseNT(self)}function emitCloseNT(self){const{_readableState:r,_writableState:w}=self;if(w)w.closeEmitted=!0;if(r)r.closeEmitted=!0;if(w&&w.emitClose||r&&r.emitClose)self.emit(\"close\")}function emitErrorNT(self,err){const r=self\?._readableState,w=self\?._writableState;if(w\?.errorEmitted||r\?.errorEmitted)return;if(w)w.errorEmitted=!0;if(r)r.errorEmitted=!0;self\?.emit\?.(\"error\",err)}function undestroy(){const r=this._readableState,w=this._writableState;if(r)r.constructed=!0,r.closed=!1,r.closeEmitted=!1,r.destroyed=!1,r.errored=null,r.errorEmitted=!1,r.reading=!1,r.ended=r.readable===!1,r.endEmitted=r.readable===!1;if(w)w.constructed=!0,w.destroyed=!1,w.closed=!1,w.closeEmitted=!1,w.errored=null,w.errorEmitted=!1,w.finalCalled=!1,w.prefinished=!1,w.ended=w.writable===!1,w.ending=w.writable===!1,w.finished=w.writable===!1}function errorOrDestroy2(stream,err,sync){const r=stream\?._readableState,w=stream\?._writableState;if(w&&w.destroyed||r&&r.destroyed)return this;if(r&&r.autoDestroy||w&&w.autoDestroy)stream.destroy(err);else if(err){if(Error.captureStackTrace(err),w&&!w.errored)w.errored=err;if(r&&!r.errored)r.errored=err;if(sync)runOnNextTick(emitErrorNT,stream,err);else emitErrorNT(stream,err)}}function construct(stream,cb){if(typeof stream._construct!==\"function\")return;const{_readableState:r,_writableState:w}=stream;if(r)r.constructed=!1;if(w)w.constructed=!1;if(stream.once(kConstruct,cb),stream.listenerCount(kConstruct)>1)return;runOnNextTick(constructNT,stream)}function constructNT(stream){let called=!1;function onConstruct(err){if(called){errorOrDestroy2(stream,err!==null&&err!==void 0\?err:new ERR_MULTIPLE_CALLBACK);return}called=!0;const{_readableState:r,_writableState:w}=stream,s=w||r;if(r)r.constructed=!0;if(w)w.constructed=!0;if(s.destroyed)stream.emit(kDestroy,err);else if(err)errorOrDestroy2(stream,err,!0);else runOnNextTick(emitConstructNT,stream)}try{stream._construct(onConstruct)}catch(err){onConstruct(err)}}function emitConstructNT(stream){stream.emit(kConstruct)}function isRequest(stream){return stream&&stream.setHeader&&typeof stream.abort===\"function\"}function emitCloseLegacy(stream){stream.emit(\"close\")}function emitErrorCloseLegacy(stream,err){stream.emit(\"error\",err),runOnNextTick(emitCloseLegacy,stream)}function destroyer(stream,err){if(!stream||isDestroyed(stream))return;if(!err&&!isFinished(stream))err=new AbortError;if(isServerRequest(stream))stream.socket=null,stream.destroy(err);else if(isRequest(stream))stream.abort();else if(isRequest(stream.req))stream.req.abort();else if(typeof stream.destroy===\"function\")stream.destroy(err);else if(typeof stream.close===\"function\")stream.close();else if(err)runOnNextTick(emitErrorCloseLegacy,stream);else runOnNextTick(emitCloseLegacy,stream);if(!stream.destroyed)stream[kDestroyed]=!0}module.exports={construct,destroyer,destroy,undestroy,errorOrDestroy:errorOrDestroy2}}}),require_legacy=__commonJS({\"node_modules/readable-stream/lib/internal/streams/legacy.js\"(exports2,module){var{ArrayIsArray:ArrayIsArray2,ObjectSetPrototypeOf}=require_primordials();function Stream(options){if(!(this instanceof Stream))return new Stream(options);EE.call(this,options)}ObjectSetPrototypeOf(Stream.prototype,EE.prototype),ObjectSetPrototypeOf(Stream,EE),Stream.prototype.pipe=function(dest,options){const source=this;function ondata(chunk){if(dest.writable&&dest.write(chunk)===!1&&source.pause)source.pause()}source.on(\"data\",ondata);function ondrain(){if(source.readable&&source.resume)source.resume()}if(dest.on(\"drain\",ondrain),!dest._isStdio&&(!options||options.end!==!1))source.on(\"end\",onend),source.on(\"close\",onclose);let didOnEnd=!1;function onend(){if(didOnEnd)return;didOnEnd=!0,dest.end()}function onclose(){if(didOnEnd)return;if(didOnEnd=!0,typeof dest.destroy===\"function\")dest.destroy()}function onerror(er){if(cleanup(),EE.listenerCount(this,\"error\")===0)this.emit(\"error\",er)}prependListener(source,\"error\",onerror),prependListener(dest,\"error\",onerror);function cleanup(){source.removeListener(\"data\",ondata),dest.removeListener(\"drain\",ondrain),source.removeListener(\"end\",onend),source.removeListener(\"close\",onclose),source.removeListener(\"error\",onerror),dest.removeListener(\"error\",onerror),source.removeListener(\"end\",cleanup),source.removeListener(\"close\",cleanup),dest.removeListener(\"close\",cleanup)}return source.on(\"end\",cleanup),source.on(\"close\",cleanup),dest.on(\"close\",cleanup),dest.emit(\"pipe\",source),dest};function prependListener(emitter,event,fn){if(typeof emitter.prependListener===\"function\")return emitter.prependListener(event,fn);if(!emitter._events||!emitter._events[event])emitter.on(event,fn);else if(ArrayIsArray2(emitter._events[event]))emitter._events[event].unshift(fn);else emitter._events[event]=[fn,emitter._events[event]]}module.exports={Stream,prependListener}}}),require_add_abort_signal=__commonJS({\"node_modules/readable-stream/lib/internal/streams/add-abort-signal.js\"(exports2,module){var{AbortError,codes}=require_errors(),eos=require_end_of_stream(),{ERR_INVALID_ARG_TYPE:ERR_INVALID_ARG_TYPE2}=codes,validateAbortSignal=(signal,name)=>{if(typeof signal!==\"object\"||!(\"aborted\"in signal))throw new ERR_INVALID_ARG_TYPE2(name,\"AbortSignal\",signal)};function isNodeStream(obj){return!!(obj&&typeof obj.pipe===\"function\")}module.exports.addAbortSignal=function addAbortSignal(signal,stream){if(validateAbortSignal(signal,\"signal\"),!isNodeStream(stream))throw new ERR_INVALID_ARG_TYPE2(\"stream\",\"stream.Stream\",stream);return module.exports.addAbortSignalNoValidate(signal,stream)},module.exports.addAbortSignalNoValidate=function(signal,stream){if(typeof signal!==\"object\"||!(\"aborted\"in signal))return stream;const onAbort=()=>{stream.destroy(new AbortError(void 0,{cause:signal.reason}))};if(signal.aborted)onAbort();else signal.addEventListener(\"abort\",onAbort),eos(stream,()=>signal.removeEventListener(\"abort\",onAbort));return stream}}}),require_state=__commonJS({\"node_modules/readable-stream/lib/internal/streams/state.js\"(exports2,module){var{MathFloor,NumberIsInteger}=require_primordials(),{ERR_INVALID_ARG_VALUE:ERR_INVALID_ARG_VALUE2}=require_errors().codes;function highWaterMarkFrom(options,isDuplex,duplexKey){return options.highWaterMark!=null\?options.highWaterMark:isDuplex\?options[duplexKey]:null}function getDefaultHighWaterMark(objectMode){return objectMode\?16:16384}function getHighWaterMark(state,options,duplexKey,isDuplex){const hwm=highWaterMarkFrom(options,isDuplex,duplexKey);if(hwm!=null){if(!NumberIsInteger(hwm)||hwm<0){const name=isDuplex\?`options.${duplexKey}`:\"options.highWaterMark\";throw new ERR_INVALID_ARG_VALUE2(name,hwm)}return MathFloor(hwm)}return getDefaultHighWaterMark(state.objectMode)}module.exports={getHighWaterMark,getDefaultHighWaterMark}}}),require_from=__commonJS({\"node_modules/readable-stream/lib/internal/streams/from.js\"(exports2,module){var{PromisePrototypeThen,SymbolAsyncIterator,SymbolIterator}=require_primordials(),{ERR_INVALID_ARG_TYPE:ERR_INVALID_ARG_TYPE2,ERR_STREAM_NULL_VALUES}=require_errors().codes;function from(Readable,iterable,opts){let iterator;if(typeof iterable===\"string\"||iterable instanceof Buffer)return new Readable({objectMode:!0,...opts,read(){this.push(iterable),this.push(null)}});let isAsync;if(iterable&&iterable[SymbolAsyncIterator])isAsync=!0,iterator=iterable[SymbolAsyncIterator]();else if(iterable&&iterable[SymbolIterator])isAsync=!1,iterator=iterable[SymbolIterator]();else throw new ERR_INVALID_ARG_TYPE2(\"iterable\",[\"Iterable\"],iterable);const readable=new Readable({objectMode:!0,highWaterMark:1,...opts});let reading=!1;readable._read=function(){if(!reading)reading=!0,next()},readable._destroy=function(error,cb){PromisePrototypeThen(close(error),()=>runOnNextTick(cb,error),(e)=>runOnNextTick(cb,e||error))};async function close(error){const hadError=error!==void 0&&error!==null,hasThrow=typeof iterator.throw===\"function\";if(hadError&&hasThrow){const{value,done}=await iterator.throw(error);if(await value,done)return}if(typeof iterator.return===\"function\"){const{value}=await iterator.return();await value}}async function next(){for(;;){try{const{value,done}=isAsync\?await iterator.next():iterator.next();if(done)readable.push(null);else{const res=value&&typeof value.then===\"function\"\?await value:value;if(res===null)throw reading=!1,new ERR_STREAM_NULL_VALUES;else if(readable.push(res))continue;else reading=!1}}catch(err){readable.destroy(err)}break}}return readable}module.exports=from}}),_ReadableFromWeb,_ReadableFromWebForUndici,require_readable=__commonJS({\"node_modules/readable-stream/lib/internal/streams/readable.js\"(exports2,module){var{ArrayPrototypeIndexOf,NumberIsInteger,NumberIsNaN,NumberParseInt,ObjectDefineProperties,ObjectKeys,ObjectSetPrototypeOf,Promise:Promise2,SafeSet,SymbolAsyncIterator,Symbol:Symbol2}=require_primordials(),ReadableState=globalThis[globalThis.Symbol.for('Bun.lazy')](\"bun:stream\").ReadableState,{Stream,prependListener}=require_legacy();function Readable(options){if(!(this instanceof Readable))return new Readable(options);const isDuplex=this instanceof require_duplex();if(this._readableState=new ReadableState(options,this,isDuplex),options){const{read,destroy,construct,signal}=options;if(typeof read===\"function\")this._read=read;if(typeof destroy===\"function\")this._destroy=destroy;if(typeof construct===\"function\")this._construct=construct;if(signal&&!isDuplex)addAbortSignal(signal,this)}Stream.call(this,options),destroyImpl.construct(this,()=>{if(this._readableState.needReadable)maybeReadMore(this,this._readableState)})}ObjectSetPrototypeOf(Readable.prototype,Stream.prototype),ObjectSetPrototypeOf(Readable,Stream),Readable.prototype.on=function(ev,fn){const res=Stream.prototype.on.call(this,ev,fn),state=this._readableState;if(ev===\"data\"){if(state.readableListening=this.listenerCount(\"readable\")>0,state.flowing!==!1)this.resume()}else if(ev===\"readable\"){if(!state.endEmitted&&!state.readableListening){if(state.readableListening=state.needReadable=!0,state.flowing=!1,state.emittedReadable=!1,__DEBUG__,state.length)emitReadable(this,state);else if(!state.reading)runOnNextTick(nReadingNextTick,this)}else if(state.endEmitted);}return res};class ReadableFromWeb extends Readable{#reader;#closed;#pendingChunks;#stream;constructor(options,stream){const{objectMode,highWaterMark,encoding,signal}=options;super({objectMode,highWaterMark,encoding,signal});this.#pendingChunks=[],this.#reader=void 0,this.#stream=stream,this.#closed=!1}#drainPending(){var pendingChunks=this.#pendingChunks,pendingChunksI=0,pendingChunksCount=pendingChunks.length;for(;pendingChunksI0)this.#pendingChunks=[];return!1}#handleDone(reader){reader.releaseLock(),this.#reader=void 0,this.#closed=!0,this.push(null);return}async _read(){var stream=this.#stream,reader=this.#reader;if(stream)reader=this.#reader=stream.getReader(),this.#stream=void 0;else if(this.#drainPending())return;var deferredError;try{do{var done=!1,value;const firstResult=reader.readMany();if(@isPromise(firstResult)){if({done,value}=await firstResult,this.#closed){this.#pendingChunks.push(...value);return}}else({done,value}=firstResult);if(done){this.#handleDone(reader);return}if(!this.push(value[0])){this.#pendingChunks=value.slice(1);return}for(let i=1,count=value.length;i{this.#closed=!0,callback(error)});return}try{callback(error)}catch(error2){globalThis.reportError(error2)}}}_ReadableFromWebForUndici=ReadableFromWeb;function newStreamReadableFromReadableStream(readableStream,options={}){if(!isReadableStream(readableStream))throw new ERR_INVALID_ARG_TYPE2(\"readableStream\",\"ReadableStream\",readableStream);validateObject2(options,\"options\");const{highWaterMark,encoding,objectMode=!1,signal}=options;if(encoding!==void 0&&!Buffer.isEncoding(encoding))throw new ERR_INVALID_ARG_VALUE(encoding,\"options.encoding\");return validateBoolean(objectMode,\"options.objectMode\"),getNativeReadableStream(Readable,readableStream,options)||new ReadableFromWeb({highWaterMark,encoding,objectMode,signal},readableStream)}module.exports=Readable,_ReadableFromWeb=newStreamReadableFromReadableStream;var{addAbortSignal}=require_add_abort_signal(),eos=require_end_of_stream();const{maybeReadMore:_maybeReadMore,resume,emitReadable:_emitReadable,onEofChunk}=globalThis[globalThis.Symbol.for('Bun.lazy')](\"bun:stream\");function maybeReadMore(stream,state){process.nextTick(_maybeReadMore,stream,state)}function emitReadable(stream,state){_emitReadable(stream,state)}var destroyImpl=require_destroy(),{aggregateTwoErrors,codes:{ERR_INVALID_ARG_TYPE:ERR_INVALID_ARG_TYPE2,ERR_METHOD_NOT_IMPLEMENTED,ERR_OUT_OF_RANGE,ERR_STREAM_PUSH_AFTER_EOF,ERR_STREAM_UNSHIFT_AFTER_END_EVENT}}=require_errors(),{validateObject:validateObject2}=require_validators(),from=require_from(),nop=()=>{},{errorOrDestroy:errorOrDestroy2}=destroyImpl;Readable.prototype.destroy=destroyImpl.destroy,Readable.prototype._undestroy=destroyImpl.undestroy,Readable.prototype._destroy=function(err,cb){cb(err)},Readable.prototype[EE.captureRejectionSymbol]=function(err){this.destroy(err)},Readable.prototype.push=function(chunk,encoding){return readableAddChunk(this,chunk,encoding,!1)},Readable.prototype.unshift=function(chunk,encoding){return readableAddChunk(this,chunk,encoding,!0)};function readableAddChunk(stream,chunk,encoding,addToFront){const state=stream._readableState;let err;if(!state.objectMode){if(typeof chunk===\"string\"){if(encoding=encoding||state.defaultEncoding,state.encoding!==encoding)if(addToFront&&state.encoding)chunk=Buffer.from(chunk,encoding).toString(state.encoding);else chunk=Buffer.from(chunk,encoding),encoding=\"\"}else if(chunk instanceof Buffer)encoding=\"\";else if(Stream._isUint8Array(chunk)){if(addToFront||!state.decoder)chunk=Stream._uint8ArrayToBuffer(chunk);encoding=\"\"}else if(chunk!=null)err=new ERR_INVALID_ARG_TYPE2(\"chunk\",[\"string\",\"Buffer\",\"Uint8Array\"],chunk)}if(err)errorOrDestroy2(stream,err);else if(chunk===null)state.reading=!1,onEofChunk(stream,state);else if(state.objectMode||chunk&&chunk.length>0)if(addToFront)if(state.endEmitted)errorOrDestroy2(stream,new ERR_STREAM_UNSHIFT_AFTER_END_EVENT);else if(state.destroyed||state.errored)return!1;else addChunk(stream,state,chunk,!0);else if(state.ended)errorOrDestroy2(stream,new ERR_STREAM_PUSH_AFTER_EOF);else if(state.destroyed||state.errored)return!1;else if(state.reading=!1,state.decoder&&!encoding)if(chunk=state.decoder.write(chunk),state.objectMode||chunk.length!==0)addChunk(stream,state,chunk,!1);else maybeReadMore(stream,state);else addChunk(stream,state,chunk,!1);else if(!addToFront)state.reading=!1,maybeReadMore(stream,state);return!state.ended&&(state.length0){if(state.multiAwaitDrain)state.awaitDrainWriters.clear();else state.awaitDrainWriters=null;state.dataEmitted=!0,stream.emit(\"data\",chunk)}else{if(state.length+=state.objectMode\?1:chunk.length,addToFront)state.buffer.unshift(chunk);else state.buffer.push(chunk);if(state.needReadable)emitReadable(stream,state)}maybeReadMore(stream,state)}Readable.prototype.isPaused=function(){const state=this._readableState;return state.paused===!0||state.flowing===!1},Readable.prototype.setEncoding=function(enc){const decoder=new StringDecoder(enc);this._readableState.decoder=decoder,this._readableState.encoding=this._readableState.decoder.encoding;const buffer=this._readableState.buffer;let content=\"\";for(let i=buffer.length;i>0;i--)content+=decoder.write(buffer.shift());if(content!==\"\")buffer.push(content);return this._readableState.length=content.length,this};var MAX_HWM=1073741824;function computeNewHighWaterMark(n){if(n>MAX_HWM)throw new ERR_OUT_OF_RANGE(\"size\",\"<= 1GiB\",n);else n--,n|=n>>>1,n|=n>>>2,n|=n>>>4,n|=n>>>8,n|=n>>>16,n++;return n}function howMuchToRead(n,state){if(n<=0||state.length===0&&state.ended)return 0;if(state.objectMode)return 1;if(NumberIsNaN(n)){if(state.flowing&&state.length)return state.buffer.first().length;return state.length}if(n<=state.length)return n;return state.ended\?state.length:0}Readable.prototype.read=function(n){if(!NumberIsInteger(n))n=NumberParseInt(n,10);const state=this._readableState,nOrig=n;if(n>state.highWaterMark)state.highWaterMark=computeNewHighWaterMark(n);if(n!==0)state.emittedReadable=!1;if(n===0&&state.needReadable&&((state.highWaterMark!==0\?state.length>=state.highWaterMark:state.length>0)||state.ended)){if(state.length===0&&state.ended)endReadable(this);else emitReadable(this,state);return null}if(n=howMuchToRead(n,state),n===0&&state.ended){if(__DEBUG__,state.length===0)endReadable(this);return null}let doRead=state.needReadable;if(state.length===0||state.length-n0)ret=fromList(n,state);else ret=null;if(ret===null)state.needReadable=state.length<=state.highWaterMark,n=0;else if(state.length-=n,state.multiAwaitDrain)state.awaitDrainWriters.clear();else state.awaitDrainWriters=null;if(state.length===0){if(!state.ended)state.needReadable=!0;if(nOrig!==n&&state.ended)endReadable(this)}if(ret!==null&&!state.errorEmitted&&!state.closeEmitted)state.dataEmitted=!0,this.emit(\"data\",ret);return ret},Readable.prototype._read=function(n){throw new ERR_METHOD_NOT_IMPLEMENTED(\"_read()\")},Readable.prototype.pipe=function(dest,pipeOpts){const src=this,state=this._readableState;if(state.pipes.length===1){if(!state.multiAwaitDrain)state.multiAwaitDrain=!0,state.awaitDrainWriters=new SafeSet(state.awaitDrainWriters\?[state.awaitDrainWriters]:[])}state.pipes.push(dest);const endFn=(!pipeOpts||pipeOpts.end!==!1)&&dest!==process.stdout&&dest!==process.stderr\?onend:unpipe;if(state.endEmitted)runOnNextTick(endFn);else src.once(\"end\",endFn);dest.on(\"unpipe\",onunpipe);function onunpipe(readable,unpipeInfo){if(readable===src){if(unpipeInfo&&unpipeInfo.hasUnpiped===!1)unpipeInfo.hasUnpiped=!0,cleanup()}}function onend(){dest.end()}let ondrain,cleanedUp=!1;function cleanup(){if(dest.removeListener(\"close\",onclose),dest.removeListener(\"finish\",onfinish),ondrain)dest.removeListener(\"drain\",ondrain);if(dest.removeListener(\"error\",onerror),dest.removeListener(\"unpipe\",onunpipe),src.removeListener(\"end\",onend),src.removeListener(\"end\",unpipe),src.removeListener(\"data\",ondata),cleanedUp=!0,ondrain&&state.awaitDrainWriters&&(!dest._writableState||dest._writableState.needDrain))ondrain()}function pause(){if(!cleanedUp){if(state.pipes.length===1&&state.pipes[0]===dest)state.awaitDrainWriters=dest,state.multiAwaitDrain=!1;else if(state.pipes.length>1&&state.pipes.includes(dest))state.awaitDrainWriters.add(dest);src.pause()}if(!ondrain)ondrain=pipeOnDrain(src,dest),dest.on(\"drain\",ondrain)}src.on(\"data\",ondata);function ondata(chunk){if(dest.write(chunk)===!1)pause()}function onerror(er){if(unpipe(),dest.removeListener(\"error\",onerror),dest.listenerCount(\"error\")===0){const s=dest._writableState||dest._readableState;if(s&&!s.errorEmitted)errorOrDestroy2(dest,er);else dest.emit(\"error\",er)}}prependListener(dest,\"error\",onerror);function onclose(){dest.removeListener(\"finish\",onfinish),unpipe()}dest.once(\"close\",onclose);function onfinish(){dest.removeListener(\"close\",onclose),unpipe()}dest.once(\"finish\",onfinish);function unpipe(){src.unpipe(dest)}if(dest.emit(\"pipe\",src),dest.writableNeedDrain===!0){if(state.flowing)pause()}else if(!state.flowing)src.resume();return dest};function pipeOnDrain(src,dest){return function pipeOnDrainFunctionResult(){const state=src._readableState;if(state.awaitDrainWriters===dest)state.awaitDrainWriters=null;else if(state.multiAwaitDrain)state.awaitDrainWriters.delete(dest);if((!state.awaitDrainWriters||state.awaitDrainWriters.size===0)&&src.listenerCount(\"data\"))src.resume()}}Readable.prototype.unpipe=function(dest){const state=this._readableState,unpipeInfo={hasUnpiped:!1};if(state.pipes.length===0)return this;if(!dest){const dests=state.pipes;state.pipes=[],this.pause();for(let i=0;i0,state.resumeScheduled&&state.paused===!1)state.flowing=!0;else if(self.listenerCount(\"data\")>0)self.resume();else if(!state.readableListening)state.flowing=null}function nReadingNextTick(self){self.read(0)}Readable.prototype.resume=function(){const state=this._readableState;if(!state.flowing)state.flowing=!state.readableListening,resume(this,state);return state.paused=!1,this},Readable.prototype.pause=function(){if(this._readableState.flowing!==!1)this._readableState.flowing=!1,this.emit(\"pause\");return this._readableState.paused=!0,this},Readable.prototype.wrap=function(stream){let paused=!1;stream.on(\"data\",(chunk)=>{if(!this.push(chunk)&&stream.pause)paused=!0,stream.pause()}),stream.on(\"end\",()=>{this.push(null)}),stream.on(\"error\",(err)=>{errorOrDestroy2(this,err)}),stream.on(\"close\",()=>{this.destroy()}),stream.on(\"destroy\",()=>{this.destroy()}),this._read=()=>{if(paused&&stream.resume)paused=!1,stream.resume()};const streamKeys=ObjectKeys(stream);for(let j=1;j{error=err\?aggregateTwoErrors(error,err):null,callback(),callback=nop});try{while(!0){const chunk=stream.destroyed\?null:stream.read();if(chunk!==null)yield chunk;else if(error)throw error;else if(error===null)return;else await new Promise2(next)}}catch(err){throw error=aggregateTwoErrors(error,err),error}finally{if((error||(options===null||options===void 0\?void 0:options.destroyOnReturn)!==!1)&&(error===void 0||stream._readableState.autoDestroy))destroyImpl.destroyer(stream,null);else stream.off(\"readable\",next),cleanup()}}ObjectDefineProperties(Readable.prototype,{readable:{get(){const r=this._readableState;return!!r&&r.readable!==!1&&!r.destroyed&&!r.errorEmitted&&!r.endEmitted},set(val){if(this._readableState)this._readableState.readable=!!val}},readableDidRead:{enumerable:!1,get:function(){return this._readableState.dataEmitted}},readableAborted:{enumerable:!1,get:function(){return!!(this._readableState.readable!==!1&&(this._readableState.destroyed||this._readableState.errored)&&!this._readableState.endEmitted)}},readableHighWaterMark:{enumerable:!1,get:function(){return this._readableState.highWaterMark}},readableBuffer:{enumerable:!1,get:function(){return this._readableState&&this._readableState.buffer}},readableFlowing:{enumerable:!1,get:function(){return this._readableState.flowing},set:function(state){if(this._readableState)this._readableState.flowing=state}},readableLength:{enumerable:!1,get(){return this._readableState.length}},readableObjectMode:{enumerable:!1,get(){return this._readableState\?this._readableState.objectMode:!1}},readableEncoding:{enumerable:!1,get(){return this._readableState\?this._readableState.encoding:null}},errored:{enumerable:!1,get(){return this._readableState\?this._readableState.errored:null}},closed:{get(){return this._readableState\?this._readableState.closed:!1}},destroyed:{enumerable:!1,get(){return this._readableState\?this._readableState.destroyed:!1},set(value){if(!this._readableState)return;this._readableState.destroyed=value}},readableEnded:{enumerable:!1,get(){return this._readableState\?this._readableState.endEmitted:!1}}}),Readable._fromList=fromList;function fromList(n,state){if(state.length===0)return null;let ret;if(state.objectMode)ret=state.buffer.shift();else if(!n||n>=state.length){if(state.decoder)ret=state.buffer.join(\"\");else if(state.buffer.length===1)ret=state.buffer.first();else ret=state.buffer.concat(state.length);state.buffer.clear()}else ret=state.buffer.consume(n,state.decoder);return ret}function endReadable(stream){const state=stream._readableState;if(!state.endEmitted)state.ended=!0,runOnNextTick(endReadableNT,state,stream)}function endReadableNT(state,stream){if(!state.errored&&!state.closeEmitted&&!state.endEmitted&&state.length===0){if(state.endEmitted=!0,stream.emit(\"end\"),stream.writable&&stream.allowHalfOpen===!1)runOnNextTick(endWritableNT,stream);else if(state.autoDestroy){const wState=stream._writableState;if(!wState||wState.autoDestroy&&(wState.finished||wState.writable===!1))stream.destroy()}}}function endWritableNT(stream){if(stream.writable&&!stream.writableEnded&&!stream.destroyed)stream.end()}Readable.from=function(iterable,opts){return from(Readable,iterable,opts)};var webStreamsAdapters={newStreamReadableFromReadableStream};function lazyWebStreams(){if(webStreamsAdapters===void 0)webStreamsAdapters={};return webStreamsAdapters}Readable.fromWeb=function(readableStream,options){return lazyWebStreams().newStreamReadableFromReadableStream(readableStream,options)},Readable.toWeb=function(streamReadable){return lazyWebStreams().newReadableStreamFromStreamReadable(streamReadable)},Readable.wrap=function(src,options){var _ref,_src$readableObjectMo;return new Readable({objectMode:(_ref=(_src$readableObjectMo=src.readableObjectMode)!==null&&_src$readableObjectMo!==void 0\?_src$readableObjectMo:src.objectMode)!==null&&_ref!==void 0\?_ref:!0,...options,destroy(err,callback){destroyImpl.destroyer(src,err),callback(err)}}).wrap(src)}}}),require_writable=__commonJS({\"node_modules/readable-stream/lib/internal/streams/writable.js\"(exports2,module){var{ArrayPrototypeSlice,Error:Error2,FunctionPrototypeSymbolHasInstance,ObjectDefineProperty,ObjectDefineProperties,ObjectSetPrototypeOf,StringPrototypeToLowerCase,Symbol:Symbol2,SymbolHasInstance}=require_primordials(),Stream=require_legacy().Stream,destroyImpl=require_destroy(),{addAbortSignal}=require_add_abort_signal(),{getHighWaterMark,getDefaultHighWaterMark}=require_state(),{ERR_INVALID_ARG_TYPE:ERR_INVALID_ARG_TYPE2,ERR_METHOD_NOT_IMPLEMENTED,ERR_MULTIPLE_CALLBACK,ERR_STREAM_CANNOT_PIPE,ERR_STREAM_DESTROYED,ERR_STREAM_ALREADY_FINISHED,ERR_STREAM_NULL_VALUES,ERR_STREAM_WRITE_AFTER_END,ERR_UNKNOWN_ENCODING}=require_errors().codes,{errorOrDestroy:errorOrDestroy2}=destroyImpl;function Writable2(options={}){const isDuplex=this instanceof require_duplex();if(!isDuplex&&!FunctionPrototypeSymbolHasInstance(Writable2,this))return new Writable2(options);if(this._writableState=new WritableState(options,this,isDuplex),options){if(typeof options.write===\"function\")this._write=options.write;if(typeof options.writev===\"function\")this._writev=options.writev;if(typeof options.destroy===\"function\")this._destroy=options.destroy;if(typeof options.final===\"function\")this._final=options.final;if(typeof options.construct===\"function\")this._construct=options.construct;if(options.signal)addAbortSignal(options.signal,this)}Stream.call(this,options),destroyImpl.construct(this,()=>{const state=this._writableState;if(!state.writing)clearBuffer(this,state);finishMaybe(this,state)})}ObjectSetPrototypeOf(Writable2.prototype,Stream.prototype),ObjectSetPrototypeOf(Writable2,Stream),module.exports=Writable2;function nop(){}var kOnFinished=Symbol2(\"kOnFinished\");function WritableState(options,stream,isDuplex){if(typeof isDuplex!==\"boolean\")isDuplex=stream instanceof require_duplex();if(this.objectMode=!!(options&&options.objectMode),isDuplex)this.objectMode=this.objectMode||!!(options&&options.writableObjectMode);this.highWaterMark=options\?getHighWaterMark(this,options,\"writableHighWaterMark\",isDuplex):getDefaultHighWaterMark(!1),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;const noDecode=!!(options&&options.decodeStrings===!1);this.decodeStrings=!noDecode,this.defaultEncoding=options&&options.defaultEncoding||\"utf8\",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=onwrite.bind(void 0,stream),this.writecb=null,this.writelen=0,this.afterWriteTickInfo=null,resetBuffer(this),this.pendingcb=0,this.constructed=!0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=!options||options.emitClose!==!1,this.autoDestroy=!options||options.autoDestroy!==!1,this.errored=null,this.closed=!1,this.closeEmitted=!1,this[kOnFinished]=[]}function resetBuffer(state){state.buffered=[],state.bufferedIndex=0,state.allBuffers=!0,state.allNoop=!0}WritableState.prototype.getBuffer=function getBuffer(){return ArrayPrototypeSlice(this.buffered,this.bufferedIndex)},ObjectDefineProperty(WritableState.prototype,\"bufferedRequestCount\",{get(){return this.buffered.length-this.bufferedIndex}}),ObjectDefineProperty(Writable2,SymbolHasInstance,{value:function(object){if(FunctionPrototypeSymbolHasInstance(this,object))return!0;if(this!==Writable2)return!1;return object&&object._writableState instanceof WritableState}}),Writable2.prototype.pipe=function(){errorOrDestroy2(this,new ERR_STREAM_CANNOT_PIPE)};function _write(stream,chunk,encoding,cb){const state=stream._writableState;if(typeof encoding===\"function\")cb=encoding,encoding=state.defaultEncoding;else{if(!encoding)encoding=state.defaultEncoding;else if(encoding!==\"buffer\"&&!Buffer.isEncoding(encoding))throw new ERR_UNKNOWN_ENCODING(encoding);if(typeof cb!==\"function\")cb=nop}if(chunk===null)throw new ERR_STREAM_NULL_VALUES;else if(!state.objectMode)if(typeof chunk===\"string\"){if(state.decodeStrings!==!1)chunk=Buffer.from(chunk,encoding),encoding=\"buffer\"}else if(chunk instanceof Buffer)encoding=\"buffer\";else if(Stream._isUint8Array(chunk))chunk=Stream._uint8ArrayToBuffer(chunk),encoding=\"buffer\";else throw new ERR_INVALID_ARG_TYPE2(\"chunk\",[\"string\",\"Buffer\",\"Uint8Array\"],chunk);let err;if(state.ending)err=new ERR_STREAM_WRITE_AFTER_END;else if(state.destroyed)err=new ERR_STREAM_DESTROYED(\"write\");if(err)return runOnNextTick(cb,err),errorOrDestroy2(stream,err,!0),err;return state.pendingcb++,writeOrBuffer(stream,state,chunk,encoding,cb)}Writable2.prototype.write=function(chunk,encoding,cb){return _write(this,chunk,encoding,cb)===!0},Writable2.prototype.cork=function(){this._writableState.corked++},Writable2.prototype.uncork=function(){const state=this._writableState;if(state.corked){if(state.corked--,!state.writing)clearBuffer(this,state)}},Writable2.prototype.setDefaultEncoding=function setDefaultEncoding(encoding){if(typeof encoding===\"string\")encoding=StringPrototypeToLowerCase(encoding);if(!Buffer.isEncoding(encoding))throw new ERR_UNKNOWN_ENCODING(encoding);return this._writableState.defaultEncoding=encoding,this};function writeOrBuffer(stream,state,chunk,encoding,callback){const len=state.objectMode\?1:chunk.length;state.length+=len;const ret=state.lengthstate.bufferedIndex)clearBuffer(stream,state);if(sync)if(state.afterWriteTickInfo!==null&&state.afterWriteTickInfo.cb===cb)state.afterWriteTickInfo.count++;else state.afterWriteTickInfo={count:1,cb,stream,state},runOnNextTick(afterWriteTick,state.afterWriteTickInfo);else afterWrite(stream,state,1,cb)}}function afterWriteTick({stream,state,count,cb}){return state.afterWriteTickInfo=null,afterWrite(stream,state,count,cb)}function afterWrite(stream,state,count,cb){if(!state.ending&&!stream.destroyed&&state.length===0&&state.needDrain)state.needDrain=!1,stream.emit(\"drain\");while(count-- >0)state.pendingcb--,cb();if(state.destroyed)errorBuffer(state);finishMaybe(stream,state)}function errorBuffer(state){if(state.writing)return;for(let n=state.bufferedIndex;n1&&stream._writev){state.pendingcb-=bufferedLength-1;const callback=state.allNoop\?nop:(err)=>{for(let n=i;n256)buffered.splice(0,i),state.bufferedIndex=0;else state.bufferedIndex=i}state.bufferProcessing=!1}Writable2.prototype._write=function(chunk,encoding,cb){if(this._writev)this._writev([{chunk,encoding}],cb);else throw new ERR_METHOD_NOT_IMPLEMENTED(\"_write()\")},Writable2.prototype._writev=null,Writable2.prototype.end=function(chunk,encoding,cb,native=!1){const state=this._writableState;if(typeof chunk===\"function\")cb=chunk,chunk=null,encoding=null;else if(typeof encoding===\"function\")cb=encoding,encoding=null;let err;if(chunk!==null&&chunk!==void 0){let ret;if(!native)ret=_write(this,chunk,encoding);else ret=this.write(chunk,encoding);if(ret instanceof Error2)err=ret}if(state.corked)state.corked=1,this.uncork();if(err)this.emit(\"error\",err);else if(!state.errored&&!state.ending)state.ending=!0,finishMaybe(this,state,!0),state.ended=!0;else if(state.finished)err=new ERR_STREAM_ALREADY_FINISHED(\"end\");else if(state.destroyed)err=new ERR_STREAM_DESTROYED(\"end\");if(typeof cb===\"function\")if(err||state.finished)runOnNextTick(cb,err);else state[kOnFinished].push(cb);return this};function needFinish(state,tag){var needFinish2=state.ending&&!state.destroyed&&state.constructed&&state.length===0&&!state.errored&&state.buffered.length===0&&!state.finished&&!state.writing&&!state.errorEmitted&&!state.closeEmitted;return needFinish2}function callFinal(stream,state){let called=!1;function onFinish(err){if(called){errorOrDestroy2(stream,err!==null&&err!==void 0\?err:ERR_MULTIPLE_CALLBACK());return}if(called=!0,state.pendingcb--,err){const onfinishCallbacks=state[kOnFinished].splice(0);for(let i=0;i{if(needFinish(state2))finish(stream2,state2);else state2.pendingcb--},stream,state);else if(needFinish(state))state.pendingcb++,finish(stream,state)}}function finish(stream,state){state.pendingcb--,state.finished=!0;const onfinishCallbacks=state[kOnFinished].splice(0);for(let i=0;i{if(val!=null)throw new ERR_INVALID_RETURN_VALUE(\"nully\",\"body\",val)},(err)=>{destroyer(d,err)});return d=new Duplexify({objectMode:!0,readable:!1,write,final(cb){final(async()=>{try{await promise,runOnNextTick(cb,null)}catch(err){runOnNextTick(cb,err)}})},destroy})}throw new ERR_INVALID_RETURN_VALUE(\"Iterable, AsyncIterable or AsyncFunction\",name,value)}if(isBlob(body))return duplexify(body.arrayBuffer());if(isIterable(body))return from(Duplexify,body,{objectMode:!0,writable:!1});if(typeof(body===null||body===void 0\?void 0:body.writable)===\"object\"||typeof(body===null||body===void 0\?void 0:body.readable)===\"object\"){const readable=body!==null&&body!==void 0&&body.readable\?isReadableNodeStream(body===null||body===void 0\?void 0:body.readable)\?body===null||body===void 0\?void 0:body.readable:duplexify(body.readable):void 0,writable=body!==null&&body!==void 0&&body.writable\?isWritableNodeStream(body===null||body===void 0\?void 0:body.writable)\?body===null||body===void 0\?void 0:body.writable:duplexify(body.writable):void 0;return _duplexify({readable,writable})}const then=body===null||body===void 0\?void 0:body.then;if(typeof then===\"function\"){let d;return FunctionPrototypeCall(then,body,(val)=>{if(val!=null)d.push(val);d.push(null)},(err)=>{destroyer(d,err)}),d=new Duplexify({objectMode:!0,writable:!1,read(){}})}throw new ERR_INVALID_ARG_TYPE2(name,[\"Blob\",\"ReadableStream\",\"WritableStream\",\"Stream\",\"Iterable\",\"AsyncIterable\",\"Function\",\"{ readable, writable } pair\",\"Promise\"],body)};function fromAsyncGen(fn){let{promise,resolve}=createDeferredPromise();const ac=new AbortController,signal=ac.signal;return{value:fn(async function*(){while(!0){const _promise=promise;promise=null;const{chunk,done,cb}=await _promise;if(runOnNextTick(cb),done)return;if(signal.aborted)throw new AbortError(void 0,{cause:signal.reason});({promise,resolve}=createDeferredPromise()),yield chunk}}(),{signal}),write(chunk,encoding,cb){const _resolve=resolve;resolve=null,_resolve({chunk,done:!1,cb})},final(cb){const _resolve=resolve;resolve=null,_resolve({done:!0,cb})},destroy(err,cb){ac.abort(),cb(err)}}}function _duplexify(pair){const r=pair.readable&&typeof pair.readable.read!==\"function\"\?Readable.wrap(pair.readable):pair.readable,w=pair.writable;let readable=!!isReadable(r),writable=!!isWritable(w),ondrain,onfinish,onreadable,onclose,d;function onfinished(err){const cb=onclose;if(onclose=null,cb)cb(err);else if(err)d.destroy(err);else if(!readable&&!writable)d.destroy()}if(d=new Duplexify({readableObjectMode:!!(r!==null&&r!==void 0&&r.readableObjectMode),writableObjectMode:!!(w!==null&&w!==void 0&&w.writableObjectMode),readable,writable}),writable)eos(w,(err)=>{if(writable=!1,err)destroyer(r,err);onfinished(err)}),d._write=function(chunk,encoding,callback){if(w.write(chunk,encoding))callback();else ondrain=callback},d._final=function(callback){w.end(),onfinish=callback},w.on(\"drain\",function(){if(ondrain){const cb=ondrain;ondrain=null,cb()}}),w.on(\"finish\",function(){if(onfinish){const cb=onfinish;onfinish=null,cb()}});if(readable)eos(r,(err)=>{if(readable=!1,err)destroyer(r,err);onfinished(err)}),r.on(\"readable\",function(){if(onreadable){const cb=onreadable;onreadable=null,cb()}}),r.on(\"end\",function(){d.push(null)}),d._read=function(){while(!0){const buf=r.read();if(buf===null){onreadable=d._read;return}if(!d.push(buf))return}};return d._destroy=function(err,callback){if(!err&&onclose!==null)err=new AbortError;if(onreadable=null,ondrain=null,onfinish=null,onclose===null)callback(err);else onclose=callback,destroyer(w,err),destroyer(r,err)},d}}}),require_duplex=__commonJS({\"node_modules/readable-stream/lib/internal/streams/duplex.js\"(exports2,module){var{ObjectDefineProperties,ObjectGetOwnPropertyDescriptor,ObjectKeys,ObjectSetPrototypeOf}=require_primordials(),Readable=require_readable();function Duplex(options){if(!(this instanceof Duplex))return new Duplex(options);if(Readable.call(this,options),Writable.call(this,options),options){if(this.allowHalfOpen=options.allowHalfOpen!==!1,options.readable===!1)this._readableState.readable=!1,this._readableState.ended=!0,this._readableState.endEmitted=!0;if(options.writable===!1)this._writableState.writable=!1,this._writableState.ending=!0,this._writableState.ended=!0,this._writableState.finished=!0}else this.allowHalfOpen=!0}module.exports=Duplex,ObjectSetPrototypeOf(Duplex.prototype,Readable.prototype),ObjectSetPrototypeOf(Duplex,Readable);for(var method in Writable.prototype)if(!Duplex.prototype[method])Duplex.prototype[method]=Writable.prototype[method];ObjectDefineProperties(Duplex.prototype,{writable:ObjectGetOwnPropertyDescriptor(Writable.prototype,\"writable\"),writableHighWaterMark:ObjectGetOwnPropertyDescriptor(Writable.prototype,\"writableHighWaterMark\"),writableObjectMode:ObjectGetOwnPropertyDescriptor(Writable.prototype,\"writableObjectMode\"),writableBuffer:ObjectGetOwnPropertyDescriptor(Writable.prototype,\"writableBuffer\"),writableLength:ObjectGetOwnPropertyDescriptor(Writable.prototype,\"writableLength\"),writableFinished:ObjectGetOwnPropertyDescriptor(Writable.prototype,\"writableFinished\"),writableCorked:ObjectGetOwnPropertyDescriptor(Writable.prototype,\"writableCorked\"),writableEnded:ObjectGetOwnPropertyDescriptor(Writable.prototype,\"writableEnded\"),writableNeedDrain:ObjectGetOwnPropertyDescriptor(Writable.prototype,\"writableNeedDrain\"),destroyed:{get(){if(this._readableState===void 0||this._writableState===void 0)return!1;return this._readableState.destroyed&&this._writableState.destroyed},set(value){if(this._readableState&&this._writableState)this._readableState.destroyed=value,this._writableState.destroyed=value}}});var webStreamsAdapters;function lazyWebStreams(){if(webStreamsAdapters===void 0)webStreamsAdapters={};return webStreamsAdapters}Duplex.fromWeb=function(pair,options){return lazyWebStreams().newStreamDuplexFromReadableWritablePair(pair,options)},Duplex.toWeb=function(duplex){return lazyWebStreams().newReadableWritablePairFromDuplex(duplex)};var duplexify;Duplex.from=function(body){if(!duplexify)duplexify=require_duplexify();return duplexify(body,\"body\")}}}),require_transform=__commonJS({\"node_modules/readable-stream/lib/internal/streams/transform.js\"(exports2,module){var{ObjectSetPrototypeOf,Symbol:Symbol2}=require_primordials(),{ERR_METHOD_NOT_IMPLEMENTED}=require_errors().codes,Duplex=require_duplex();function Transform(options){if(!(this instanceof Transform))return new Transform(options);if(Duplex.call(this,options),this._readableState.sync=!1,this[kCallback]=null,options){if(typeof options.transform===\"function\")this._transform=options.transform;if(typeof options.flush===\"function\")this._flush=options.flush}this.on(\"prefinish\",prefinish.bind(this))}ObjectSetPrototypeOf(Transform.prototype,Duplex.prototype),ObjectSetPrototypeOf(Transform,Duplex),module.exports=Transform;var kCallback=Symbol2(\"kCallback\");function final(cb){if(typeof this._flush===\"function\"&&!this.destroyed)this._flush((er,data)=>{if(er){if(cb)cb(er);else this.destroy(er);return}if(data!=null)this.push(data);if(this.push(null),cb)cb()});else if(this.push(null),cb)cb()}function prefinish(){if(this._final!==final)final.call(this)}Transform.prototype._final=final,Transform.prototype._transform=function(chunk,encoding,callback){throw new ERR_METHOD_NOT_IMPLEMENTED(\"_transform()\")},Transform.prototype._write=function(chunk,encoding,callback){const rState=this._readableState,wState=this._writableState,length=rState.length;this._transform(chunk,encoding,(err,val)=>{if(err){callback(err);return}if(val!=null)this.push(val);if(wState.ended||length===rState.length||rState.length{finished=!0});const cleanup=eos(stream,{readable:reading,writable:writing},(err)=>{finished=!err});return{destroy:(err)=>{if(finished)return;finished=!0,destroyImpl.destroyer(stream,err||new ERR_STREAM_DESTROYED(\"pipe\"))},cleanup}}function popCallback(streams){return validateFunction(streams[streams.length-1],\"streams[stream.length - 1]\"),streams.pop()}function makeAsyncIterable(val){if(isIterable(val))return val;else if(isReadableNodeStream(val))return fromReadable(val);throw new ERR_INVALID_ARG_TYPE2(\"val\",[\"Readable\",\"Iterable\",\"AsyncIterable\"],val)}async function*fromReadable(val){if(!Readable)Readable=require_readable();yield*Readable.prototype[SymbolAsyncIterator].call(val)}async function pump(iterable,writable,finish,{end}){let error,onresolve=null;const resume=(err)=>{if(err)error=err;if(onresolve){const callback=onresolve;onresolve=null,callback()}},wait=()=>new Promise2((resolve,reject)=>{if(error)reject(error);else onresolve=()=>{if(error)reject(error);else resolve()}});writable.on(\"drain\",resume);const cleanup=eos(writable,{readable:!1},resume);try{if(writable.writableNeedDrain)await wait();for await(let chunk of iterable)if(!writable.write(chunk))await wait();if(end)writable.end();await wait(),finish()}catch(err){finish(error!==err\?aggregateTwoErrors(error,err):err)}finally{cleanup(),writable.off(\"drain\",resume)}}function pipeline(...streams){return pipelineImpl(streams,once(popCallback(streams)))}function pipelineImpl(streams,callback,opts){if(streams.length===1&&ArrayIsArray2(streams[0]))streams=streams[0];if(streams.length<2)throw new ERR_MISSING_ARGS(\"streams\");const ac=new AbortController,signal=ac.signal,outerSignal=opts===null||opts===void 0\?void 0:opts.signal,lastStreamCleanup=[];validateAbortSignal(outerSignal,\"options.signal\");function abort(){finishImpl(new AbortError)}outerSignal===null||outerSignal===void 0||outerSignal.addEventListener(\"abort\",abort);let error,value;const destroys=[];let finishCount=0;function finish(err){finishImpl(err,--finishCount===0)}function finishImpl(err,final){if(err&&(!error||error.code===\"ERR_STREAM_PREMATURE_CLOSE\"))error=err;if(!error&&!final)return;while(destroys.length)destroys.shift()(error);if(outerSignal===null||outerSignal===void 0||outerSignal.removeEventListener(\"abort\",abort),ac.abort(),final){if(!error)lastStreamCleanup.forEach((fn)=>fn());runOnNextTick(callback,error,value)}}let ret;for(let i=0;i0,end=reading||(opts===null||opts===void 0\?void 0:opts.end)!==!1,isLastStream=i===streams.length-1;if(isNodeStream(stream)){let onError=function(err){if(err&&err.name!==\"AbortError\"&&err.code!==\"ERR_STREAM_PREMATURE_CLOSE\")finish(err)};if(end){const{destroy,cleanup}=destroyer(stream,reading,writing);if(destroys.push(destroy),isReadable(stream)&&isLastStream)lastStreamCleanup.push(cleanup)}if(stream.on(\"error\",onError),isReadable(stream)&&isLastStream)lastStreamCleanup.push(()=>{stream.removeListener(\"error\",onError)})}if(i===0)if(typeof stream===\"function\"){if(ret=stream({signal}),!isIterable(ret))throw new ERR_INVALID_RETURN_VALUE(\"Iterable, AsyncIterable or Stream\",\"source\",ret)}else if(isIterable(stream)||isReadableNodeStream(stream))ret=stream;else ret=Duplex.from(stream);else if(typeof stream===\"function\")if(ret=makeAsyncIterable(ret),ret=stream(ret,{signal}),reading){if(!isIterable(ret,!0))throw new ERR_INVALID_RETURN_VALUE(\"AsyncIterable\",`transform[${i-1}]`,ret)}else{var _ret;if(!PassThrough)PassThrough=require_passthrough();const pt=new PassThrough({objectMode:!0}),then=(_ret=ret)===null||_ret===void 0\?void 0:_ret.then;if(typeof then===\"function\")finishCount++,then.call(ret,(val)=>{if(value=val,val!=null)pt.write(val);if(end)pt.end();runOnNextTick(finish)},(err)=>{pt.destroy(err),runOnNextTick(finish,err)});else if(isIterable(ret,!0))finishCount++,pump(ret,pt,finish,{end});else throw new ERR_INVALID_RETURN_VALUE(\"AsyncIterable or Promise\",\"destination\",ret);ret=pt;const{destroy,cleanup}=destroyer(ret,!1,!0);if(destroys.push(destroy),isLastStream)lastStreamCleanup.push(cleanup)}else if(isNodeStream(stream)){if(isReadableNodeStream(ret)){finishCount+=2;const cleanup=pipe(ret,stream,finish,{end});if(isReadable(stream)&&isLastStream)lastStreamCleanup.push(cleanup)}else if(isIterable(ret))finishCount++,pump(ret,stream,finish,{end});else throw new ERR_INVALID_ARG_TYPE2(\"val\",[\"Readable\",\"Iterable\",\"AsyncIterable\"],ret);ret=stream}else ret=Duplex.from(stream)}if(signal!==null&&signal!==void 0&&signal.aborted||outerSignal!==null&&outerSignal!==void 0&&outerSignal.aborted)runOnNextTick(abort);return ret}function pipe(src,dst,finish,{end}){if(src.pipe(dst,{end}),end)src.once(\"end\",()=>dst.end());else finish();return eos(src,{readable:!0,writable:!1},(err)=>{const rState=src._readableState;if(err&&err.code===\"ERR_STREAM_PREMATURE_CLOSE\"&&rState&&rState.ended&&!rState.errored&&!rState.errorEmitted)src.once(\"end\",finish).once(\"error\",finish);else finish(err)}),eos(dst,{readable:!1,writable:!0},finish)}module.exports={pipelineImpl,pipeline}}}),require_compose=__commonJS({\"node_modules/readable-stream/lib/internal/streams/compose.js\"(exports2,module){var{pipeline}=require_pipeline(),Duplex=require_duplex(),{destroyer}=require_destroy(),{isNodeStream,isReadable,isWritable}=require_utils(),{AbortError,codes:{ERR_INVALID_ARG_VALUE:ERR_INVALID_ARG_VALUE2,ERR_MISSING_ARGS}}=require_errors();module.exports=function compose(...streams){if(streams.length===0)throw new ERR_MISSING_ARGS(\"streams\");if(streams.length===1)return Duplex.from(streams[0]);const orgStreams=[...streams];if(typeof streams[0]===\"function\")streams[0]=Duplex.from(streams[0]);if(typeof streams[streams.length-1]===\"function\"){const idx=streams.length-1;streams[idx]=Duplex.from(streams[idx])}for(let n=0;n0&&!isWritable(streams[n]))throw new ERR_INVALID_ARG_VALUE2(`streams[${n}]`,orgStreams[n],\"must be writable\")}let ondrain,onfinish,onreadable,onclose,d;function onfinished(err){const cb=onclose;if(onclose=null,cb)cb(err);else if(err)d.destroy(err);else if(!readable&&!writable)d.destroy()}const head=streams[0],tail=pipeline(streams,onfinished),writable=!!isWritable(head),readable=!!isReadable(tail);if(d=new Duplex({writableObjectMode:!!(head!==null&&head!==void 0&&head.writableObjectMode),readableObjectMode:!!(tail!==null&&tail!==void 0&&tail.writableObjectMode),writable,readable}),writable)d._write=function(chunk,encoding,callback){if(head.write(chunk,encoding))callback();else ondrain=callback},d._final=function(callback){head.end(),onfinish=callback},head.on(\"drain\",function(){if(ondrain){const cb=ondrain;ondrain=null,cb()}}),tail.on(\"finish\",function(){if(onfinish){const cb=onfinish;onfinish=null,cb()}});if(readable)tail.on(\"readable\",function(){if(onreadable){const cb=onreadable;onreadable=null,cb()}}),tail.on(\"end\",function(){d.push(null)}),d._read=function(){while(!0){const buf=tail.read();if(buf===null){onreadable=d._read;return}if(!d.push(buf))return}};return d._destroy=function(err,callback){if(!err&&onclose!==null)err=new AbortError;if(onreadable=null,ondrain=null,onfinish=null,onclose===null)callback(err);else onclose=callback,destroyer(tail,err)},d}}}),require_promises=__commonJS({\"node_modules/readable-stream/lib/stream/promises.js\"(exports2,module){var{ArrayPrototypePop,Promise:Promise2}=require_primordials(),{isIterable,isNodeStream}=require_utils(),{pipelineImpl:pl}=require_pipeline(),{finished}=require_end_of_stream();function pipeline(...streams){return new Promise2((resolve,reject)=>{let signal,end;const lastArg=streams[streams.length-1];if(lastArg&&typeof lastArg===\"object\"&&!isNodeStream(lastArg)&&!isIterable(lastArg)){const options=ArrayPrototypePop(streams);signal=options.signal,end=options.end}pl(streams,(err,value)=>{if(err)reject(err);else resolve(value)},{signal,end})})}module.exports={finished,pipeline}}}),require_stream=__commonJS({\"node_modules/readable-stream/lib/stream.js\"(exports2,module){var{ObjectDefineProperty,ObjectKeys,ReflectApply}=require_primordials(),{promisify:{custom:customPromisify}}=require_util(),{streamReturningOperators,promiseReturningOperators}=require_operators(),{codes:{ERR_ILLEGAL_CONSTRUCTOR}}=require_errors(),compose=require_compose(),{pipeline}=require_pipeline(),{destroyer}=require_destroy(),eos=require_end_of_stream(),promises2=require_promises(),utils=require_utils(),Stream=module.exports=require_legacy().Stream;Stream.isDisturbed=utils.isDisturbed,Stream.isErrored=utils.isErrored,Stream.isWritable=utils.isWritable,Stream.isReadable=utils.isReadable,Stream.Readable=require_readable();for(let key of ObjectKeys(streamReturningOperators)){let fn=function(...args){if(new.target)throw ERR_ILLEGAL_CONSTRUCTOR();return Stream.Readable.from(ReflectApply(op,this,args))};const op=streamReturningOperators[key];ObjectDefineProperty(fn,\"name\",{value:op.name}),ObjectDefineProperty(fn,\"length\",{value:op.length}),ObjectDefineProperty(Stream.Readable.prototype,key,{value:fn,enumerable:!1,configurable:!0,writable:!0})}for(let key of ObjectKeys(promiseReturningOperators)){let fn=function(...args){if(new.target)throw ERR_ILLEGAL_CONSTRUCTOR();return ReflectApply(op,this,args)};const op=promiseReturningOperators[key];ObjectDefineProperty(fn,\"name\",{value:op.name}),ObjectDefineProperty(fn,\"length\",{value:op.length}),ObjectDefineProperty(Stream.Readable.prototype,key,{value:fn,enumerable:!1,configurable:!0,writable:!0})}Stream.Writable=require_writable(),Stream.Duplex=require_duplex(),Stream.Transform=require_transform(),Stream.PassThrough=require_passthrough(),Stream.pipeline=pipeline;var{addAbortSignal}=require_add_abort_signal();Stream.addAbortSignal=addAbortSignal,Stream.finished=eos,Stream.destroy=destroyer,Stream.compose=compose,ObjectDefineProperty(Stream,\"promises\",{configurable:!0,enumerable:!0,get(){return promises2}}),ObjectDefineProperty(pipeline,customPromisify,{enumerable:!0,get(){return promises2.pipeline}}),ObjectDefineProperty(eos,customPromisify,{enumerable:!0,get(){return promises2.finished}}),Stream.Stream=Stream,Stream._isUint8Array=function isUint8Array(value){return value instanceof Uint8Array},Stream._uint8ArrayToBuffer=function _uint8ArrayToBuffer(chunk){return new Buffer(chunk.buffer,chunk.byteOffset,chunk.byteLength)}}});function createNativeStreamReadable(nativeType,Readable){var[pull,start,cancel,setClose,deinit,updateRef,drainFn]=globalThis[globalThis.Symbol.for('Bun.lazy')](nativeType),closer=[!1],handleNumberResult=function(nativeReadable,result,view,isClosed){if(result>0){const slice=view.subarray(0,result),remainder=view.subarray(result);if(slice.byteLength>0)nativeReadable.push(slice);if(isClosed)nativeReadable.push(null);return remainder.byteLength>0\?remainder:void 0}if(isClosed)nativeReadable.push(null);return view},handleArrayBufferViewResult=function(nativeReadable,result,view,isClosed){if(result.byteLength>0)nativeReadable.push(result);if(isClosed)nativeReadable.push(null);return view},DYNAMICALLY_ADJUST_CHUNK_SIZE=process.env.BUN_DISABLE_DYNAMIC_CHUNK_SIZE!==\"1\";const finalizer=new FinalizationRegistry((ptr)=>ptr&&deinit(ptr)),MIN_BUFFER_SIZE=512;var NativeReadable=class NativeReadable2 extends Readable{#bunNativePtr;#refCount=1;#constructed=!1;#remainingChunk=void 0;#highWaterMark;#pendingRead=!1;#hasResized=!DYNAMICALLY_ADJUST_CHUNK_SIZE;#unregisterToken;constructor(ptr,options={}){super(options);if(typeof options.highWaterMark===\"number\")this.#highWaterMark=options.highWaterMark;else this.#highWaterMark=262144;this.#bunNativePtr=ptr,this.#constructed=!1,this.#remainingChunk=void 0,this.#pendingRead=!1,this.#unregisterToken={},finalizer.register(this,this.#bunNativePtr,this.#unregisterToken)}_read(maxToRead){if(this.#pendingRead)return;var ptr=this.#bunNativePtr;if(ptr===0){this.push(null);return}if(!this.#constructed)this.#internalConstruct(ptr);return this.#internalRead(this.#getRemainingChunk(maxToRead),ptr)}#internalConstruct(ptr){this.#constructed=!0;const result=start(ptr,this.#highWaterMark);if(typeof result===\"number\"&&result>1)this.#hasResized=!0,this.#highWaterMark=Math.min(this.#highWaterMark,result);if(drainFn){const drainResult=drainFn(ptr);if((drainResult\?.byteLength\?\?0)>0)this.push(drainResult)}}#getRemainingChunk(maxToRead=this.#highWaterMark){var chunk=this.#remainingChunk;if(chunk\?.byteLength\?\?0MIN_BUFFER_SIZE\?maxToRead:MIN_BUFFER_SIZE;this.#remainingChunk=chunk=new Buffer(size)}return chunk}#handleResult(result,view,isClosed){if(typeof result===\"number\"){if(result>=this.#highWaterMark&&!this.#hasResized&&!isClosed)this.#highWaterMark*=2,this.#hasResized=!0;return handleNumberResult(this,result,view,isClosed)}else if(typeof result===\"boolean\")return process.nextTick(()=>{this.push(null)}),view\?.byteLength\?\?0>0\?view:void 0;else if(ArrayBuffer.isView(result)){if(result.byteLength>=this.#highWaterMark&&!this.#hasResized&&!isClosed)this.#highWaterMark*=2,this.#hasResized=!0;return handleArrayBufferViewResult(this,result,view,isClosed)}else throw new Error(\"Invalid result from pull\")}#internalRead(view,ptr){closer[0]=!1;var result=pull(ptr,view,closer);if(isPromise(result))return this.#pendingRead=!0,result.then((result2)=>{this.#pendingRead=!1,this.#remainingChunk=this.#handleResult(result2,view,closer[0])},(reason)=>{errorOrDestroy(this,reason)});else this.#remainingChunk=this.#handleResult(result,view,closer[0])}_destroy(error,callback){var ptr=this.#bunNativePtr;if(ptr===0){callback(error);return}if(finalizer.unregister(this.#unregisterToken),this.#bunNativePtr=0,updateRef)updateRef(ptr,!1);cancel(ptr,error),callback(error)}ref(){var ptr=this.#bunNativePtr;if(ptr===0)return;if(this.#refCount++===0)updateRef(ptr,!0)}unref(){var ptr=this.#bunNativePtr;if(ptr===0)return;if(this.#refCount--===1)updateRef(ptr,!1)}};if(!updateRef)NativeReadable.prototype.ref=void 0,NativeReadable.prototype.unref=void 0;return NativeReadable}var nativeReadableStreamPrototypes={0:void 0,1:void 0,2:void 0,3:void 0,4:void 0,5:void 0};function getNativeReadableStreamPrototype(nativeType,Readable){return nativeReadableStreamPrototypes[nativeType]||=createNativeStreamReadable(nativeType,Readable)}function getNativeReadableStream(Readable,stream,options){if(!(stream&&typeof stream===\"object\"&&stream instanceof ReadableStream))return;const native=@direct(stream);if(!native)return;const{stream:ptr,data:type}=native;return new(getNativeReadableStreamPrototype(type,Readable))(ptr,options)}var Writable=require_writable(),NativeWritable=class NativeWritable2 extends Writable{#pathOrFdOrSink;#fileSink;#native=!0;_construct;_destroy;_final;constructor(pathOrFdOrSink,options={}){super(options);this._construct=this.#internalConstruct,this._destroy=this.#internalDestroy,this._final=this.#internalFinal,this.#pathOrFdOrSink=pathOrFdOrSink}#internalConstruct(cb){this._writableState.constructed=!0,this.constructed=!0,cb()}#lazyConstruct(){if(typeof this.#pathOrFdOrSink===\"object\")if(typeof this.#pathOrFdOrSink.write===\"function\")this.#fileSink=this.#pathOrFdOrSink;else throw new Error(\"Invalid FileSink\");else this.#fileSink=Bun.file(this.#pathOrFdOrSink).writer()}write(chunk,encoding,cb,native=this.#native){if(!native)return this.#native=!1,super.write(chunk,encoding,cb);if(!this.#fileSink)this.#lazyConstruct();var fileSink=this.#fileSink,result=fileSink.write(chunk);if(isPromise(result))return result.then(()=>{this.emit(\"drain\"),fileSink.flush(!0)}),!1;if(fileSink.flush(!0),cb)cb(null,chunk.byteLength);return!0}end(chunk,encoding,cb,native=this.#native){return super.end(chunk,encoding,cb,native)}#internalDestroy(error,cb){if(this._writableState.destroyed=!0,cb)cb(error)}#internalFinal(cb){if(this.#fileSink)this.#fileSink.end();if(cb)cb()}ref(){if(!this.#fileSink)this.#lazyConstruct();this.#fileSink.ref()}unref(){if(!this.#fileSink)return;this.#fileSink.unref()}};const exports=require_stream(),promises=require_promises(),originalDestroy=exports.Readable.destroy;return exports._getNativeReadableStreamPrototype=getNativeReadableStreamPrototype,exports.NativeWritable=NativeWritable,Object.defineProperty(exports,\"promises\",{configurable:!0,enumerable:!0,get(){return promises}}),exports[Symbol.for(\"::bunternal::\")]={_ReadableFromWeb,_ReadableFromWebForUndici},exports.eos=require_end_of_stream(),exports})\n"_s; +static constexpr ASCIILiteral NodeStreamPromisesCode = "(function (){\"use strict\";return @requireId(30).promises})\n"_s; +static constexpr ASCIILiteral NodeStreamWebCode = "(function (){\"use strict\";return{ReadableStream,ReadableStreamDefaultReader,ReadableStreamBYOBReader,ReadableStreamBYOBRequest,ReadableByteStreamController,ReadableStreamDefaultController,TransformStream,TransformStreamDefaultController,WritableStream,WritableStreamDefaultWriter,WritableStreamDefaultController,ByteLengthQueuingStrategy,CountQueuingStrategy}})\n"_s; +static constexpr ASCIILiteral NodeTimersCode = "(function (){\"use strict\";return{setTimeout,clearTimeout,setInterval,setImmediate,clearInterval,clearImmediate}})\n"_s; +static constexpr ASCIILiteral NodeTimersPromisesCode = "(function (){\"use strict\";var $;const symbolAsyncIterator=Symbol.asyncIterator;class ERR_INVALID_ARG_TYPE extends Error{constructor(name,expected,actual){super(`${name} must be ${expected}, ${typeof actual} given`);this.code=\"ERR_INVALID_ARG_TYPE\"}}class AbortError extends Error{constructor(){super(\"The operation was aborted\");this.code=\"ABORT_ERR\"}}function validateObject(object,name){if(object===null||typeof object!==\"object\")throw new ERR_INVALID_ARG_TYPE(name,\"Object\",object)}function validateBoolean(value,name){if(typeof value!==\"boolean\")throw new ERR_INVALID_ARG_TYPE(name,\"boolean\",value)}function validateAbortSignal(signal,name){if(typeof signal!==\"undefined\"&&(signal===null||typeof signal!==\"object\"||!(\"aborted\"in signal)))throw new ERR_INVALID_ARG_TYPE(name,\"AbortSignal\",signal)}function asyncIterator({next:nextFunction,return:returnFunction}){const result={};if(typeof nextFunction===\"function\")result.next=nextFunction;if(typeof returnFunction===\"function\")result.return=returnFunction;return result[symbolAsyncIterator]=function(){return this},result}function setTimeoutPromise(after=1,value,options={}){const arguments_=[].concat(value\?\?[]);try{validateObject(options,\"options\")}catch(error){return Promise.reject(error)}const{signal,ref:reference=!0}=options;try{validateAbortSignal(signal,\"options.signal\")}catch(error){return Promise.reject(error)}try{validateBoolean(reference,\"options.ref\")}catch(error){return Promise.reject(error)}if(signal\?.aborted)return Promise.reject(new AbortError);let onCancel;const returnValue=new Promise((resolve,reject)=>{const timeout=setTimeout(()=>resolve(value),after,...arguments_);if(!reference)timeout\?.unref\?.();if(signal)onCancel=()=>{clearTimeout(timeout),reject(new AbortError)},signal.addEventListener(\"abort\",onCancel)});if(typeof onCancel!==\"undefined\")returnValue.finally(()=>signal.removeEventListener(\"abort\",onCancel));return returnValue}function setImmediatePromise(value,options={}){try{validateObject(options,\"options\")}catch(error){return Promise.reject(error)}const{signal,ref:reference=!0}=options;try{validateAbortSignal(signal,\"options.signal\")}catch(error){return Promise.reject(error)}try{validateBoolean(reference,\"options.ref\")}catch(error){return Promise.reject(error)}if(signal\?.aborted)return Promise.reject(new AbortError);let onCancel;const returnValue=new Promise((resolve,reject)=>{const immediate=setImmediate(()=>resolve(value));if(!reference)immediate\?.unref\?.();if(signal)onCancel=()=>{clearImmediate(immediate),reject(new AbortError)},signal.addEventListener(\"abort\",onCancel)});if(typeof onCancel!==\"undefined\")returnValue.finally(()=>signal.removeEventListener(\"abort\",onCancel));return returnValue}function setIntervalPromise(after=1,value,options={}){try{validateObject(options,\"options\")}catch(error){return asyncIterator({next:function(){return Promise.reject(error)}})}const{signal,ref:reference=!0}=options;try{validateAbortSignal(signal,\"options.signal\")}catch(error){return asyncIterator({next:function(){return Promise.reject(error)}})}try{validateBoolean(reference,\"options.ref\")}catch(error){return asyncIterator({next:function(){return Promise.reject(error)}})}if(signal\?.aborted)return asyncIterator({next:function(){return Promise.reject(new AbortError)}});let onCancel,interval;try{let notYielded=0,callback;if(interval=setInterval(()=>{if(notYielded++,callback)callback(),callback=void 0},after),!reference)interval\?.unref\?.();if(signal)onCancel=()=>{if(clearInterval(interval),callback)callback(),callback=void 0},signal.addEventListener(\"abort\",onCancel);return asyncIterator({next:function(){return new Promise((resolve,reject)=>{if(!signal\?.aborted)if(notYielded===0)callback=resolve;else resolve();else if(notYielded===0)reject(new AbortError);else resolve()}).then(()=>{if(notYielded>0)return notYielded=notYielded-1,{done:!1,value};return{done:!0}})},return:function(){return clearInterval(interval),signal\?.removeEventListener(\"abort\",onCancel),Promise.resolve({})}})}catch(error){return asyncIterator({next:function(){clearInterval(interval),signal\?.removeEventListener(\"abort\",onCancel)}})}}return $={setTimeout:setTimeoutPromise,setImmediate:setImmediatePromise,setInterval:setIntervalPromise,scheduler:{wait:(delay,options)=>setTimeoutPromise(delay,void 0,options),yield:setImmediatePromise}},$})\n"_s; +static constexpr ASCIILiteral NodeTLSCode = "(function (){\"use strict\";const{isArrayBufferView,isTypedArray}=@requireBuiltin(55),net=@requireId(20),{Server:NetServer,[Symbol.for(\"::bunternal::\")]:InternalTCPSocket}=net,bunSocketInternal=Symbol.for(\"::bunnetsocketinternal::\"),SymbolReplace=Symbol.replace,RegExpPrototypeSymbolReplace=RegExp.prototype[SymbolReplace],RegExpPrototypeExec=RegExp.prototype.exec,StringPrototypeStartsWith=String.prototype.startsWith,StringPrototypeSlice=String.prototype.slice,StringPrototypeIncludes=String.prototype.includes,StringPrototypeSplit=String.prototype.split,StringPrototypeIndexOf=String.prototype.indexOf,StringPrototypeSubstring=String.prototype.substring,StringPrototypeEndsWith=String.prototype.endsWith,StringFromCharCode=String.fromCharCode,StringPrototypeCharCodeAt=String.prototype.charCodeAt,ArrayPrototypeIncludes=Array.prototype.includes,ArrayPrototypeJoin=Array.prototype.join,ArrayPrototypeForEach=Array.prototype.forEach,ArrayPrototypePush=Array.prototype.push,ArrayPrototypeSome=Array.prototype.some,ArrayPrototypeReduce=Array.prototype.reduce;function parseCertString(){throwNotImplemented(\"Not implemented\")}function isValidTLSArray(obj){if(typeof obj===\"string\"||isTypedArray(obj)||obj instanceof ArrayBuffer||obj instanceof Blob)return!0;if(Array.isArray(obj)){for(var i=0;iRegExpPrototypeExec.call(/[^\\u0021-\\u007F]/u,s)!==null;if(ArrayPrototypeSome.call(patternParts,isBad))return!1;for(let i=hostParts.length-1;i>0;i-=1)if(hostParts[i]!==patternParts[i])return!1;const hostSubdomain=hostParts[0],patternSubdomain=patternParts[0],patternSubdomainParts=StringPrototypeSplit.call(patternSubdomain,\"*\");if(patternSubdomainParts.length===1||StringPrototypeIncludes.call(patternSubdomain,\"xn--\"))return hostSubdomain===patternSubdomain;if(!wildcards)return!1;if(patternSubdomainParts.length>2)return!1;if(patternParts.length<=2)return!1;const{0:prefix,1:suffix}=patternSubdomainParts;if(prefix.length+suffix.length>hostSubdomain.length)return!1;if(!StringPrototypeStartsWith.call(hostSubdomain,prefix))return!1;if(!StringPrototypeEndsWith.call(hostSubdomain,suffix))return!1;return!0}const jsonStringPattern=/^\"(\?:[^\"\\\\\\u0000-\\u001f]|\\\\(\?:[\"\\\\/bfnrt]|u[0-9a-fA-F]{4}))*\"/;function splitEscapedAltNames(altNames){const result=[];let currentToken=\"\",offset=0;while(offset!==altNames.length){const nextSep=StringPrototypeIndexOf.call(altNames,\", \",offset),nextQuote=StringPrototypeIndexOf.call(altNames,'\"',offset);if(nextQuote!==-1&&(nextSep===-1||nextQuote{if(StringPrototypeStartsWith.call(name,\"DNS:\"))ArrayPrototypePush.call(dnsNames,StringPrototypeSlice.call(name,4));else if(StringPrototypeStartsWith.call(name,\"IP Address:\"))ArrayPrototypePush.call(ips,canonicalizeIP(StringPrototypeSlice.call(name,11)))})}let valid=!1,reason=\"Unknown reason\";if(hostname=unfqdn(hostname),net.isIP(hostname)){if(valid=ArrayPrototypeIncludes.call(ips,canonicalizeIP(hostname)),!valid)reason=`IP: ${hostname} is not in the cert's list: `+ArrayPrototypeJoin.call(ips,\", \")}else if(dnsNames.length>0||subject\?.CN){const hostParts=splitHost(hostname),wildcard=(pattern)=>check(hostParts,pattern,!0);if(dnsNames.length>0){if(valid=ArrayPrototypeSome.call(dnsNames,wildcard),!valid)reason=`Host: ${hostname}. is not in the cert's altnames: ${altNames}`}else{const cn=subject.CN;if(Array.isArray(cn))valid=ArrayPrototypeSome.call(cn,wildcard);else if(cn)valid=wildcard(cn);if(!valid)reason=`Host: ${hostname}. is not cert's CN: ${cn}`}}else reason=\"Cert does not contain a DNS name\";if(!valid){let error=new Error(`ERR_TLS_CERT_ALTNAME_INVALID: Hostname/IP does not match certificate's altnames: ${reason}`);return error.name=\"ERR_TLS_CERT_ALTNAME_INVALID\",error.reason=reason,error.host=host,error.cert=cert,error}}var InternalSecureContext=class SecureContext2{context;constructor(options){const context={};if(options){let key=options.key;if(key){if(!isValidTLSArray(key))@throwTypeError(\"key argument must be an string, Buffer, TypedArray, BunFile or an array containing string, Buffer, TypedArray or BunFile\");this.key=key}let cert=options.cert;if(cert){if(!isValidTLSArray(cert))@throwTypeError(\"cert argument must be an string, Buffer, TypedArray, BunFile or an array containing string, Buffer, TypedArray or BunFile\");this.cert=cert}let ca=options.ca;if(ca){if(!isValidTLSArray(ca))@throwTypeError(\"ca argument must be an string, Buffer, TypedArray, BunFile or an array containing string, Buffer, TypedArray or BunFile\");this.ca=ca}let passphrase=options.passphrase;if(passphrase&&typeof passphrase!==\"string\")@throwTypeError(\"passphrase argument must be an string\");this.passphrase=passphrase;let servername=options.servername;if(servername&&typeof servername!==\"string\")@throwTypeError(\"servername argument must be an string\");this.servername=servername;let secureOptions=options.secureOptions||0;if(secureOptions&&typeof secureOptions!==\"number\")@throwTypeError(\"secureOptions argument must be an number\");this.secureOptions=secureOptions}this.context=context}};function SecureContext(options){return new InternalSecureContext(options)}function createSecureContext(options){return new SecureContext(options)}function translatePeerCertificate(c){if(!c)return null;if(c.issuerCertificate!=null&&c.issuerCertificate!==c)c.issuerCertificate=translatePeerCertificate(c.issuerCertificate);if(c.infoAccess!=null){const info=c.infoAccess;c.infoAccess={__proto__:null},RegExpPrototypeSymbolReplace.call(/([^\\n:]*):([^\\n]*)(\?:\\n|$)/g,info,(all,key,val)=>{if(val.charCodeAt(0)===34)val=JSONParse(val);if(key in c.infoAccess)ArrayPrototypePush.call(c.infoAccess[key],val);else c.infoAccess[key]=[val]})}return c}const buntls=Symbol.for(\"::buntls::\");var SocketClass;const TLSSocket=function(InternalTLSSocket){return SocketClass=InternalTLSSocket,Object.defineProperty(SocketClass.prototype,Symbol.toStringTag,{value:\"TLSSocket\",enumerable:!1}),Object.defineProperty(function Socket(options){return new InternalTLSSocket(options)},Symbol.hasInstance,{value(instance){return instance instanceof InternalTLSSocket}})}(class TLSSocket2 extends InternalTCPSocket{#secureContext;ALPNProtocols;#socket;#checkServerIdentity;#session;constructor(socket,options){super(socket instanceof InternalTCPSocket\?options:options||socket);if(options=options||socket||{},typeof options===\"object\"){const{ALPNProtocols}=options;if(ALPNProtocols)convertALPNProtocols(ALPNProtocols,this);if(socket instanceof InternalTCPSocket)this.#socket=socket}this.#secureContext=options.secureContext||createSecureContext(options),this.authorized=!1,this.secureConnecting=!0,this._secureEstablished=!1,this._securePending=!0,this.#checkServerIdentity=options.checkServerIdentity||checkServerIdentity,this.#session=options.session||null}_secureEstablished=!1;_securePending=!0;_newSessionPending;_controlReleased;secureConnecting=!1;_SNICallback;servername;authorized=!1;authorizationError;#renegotiationDisabled=!1;encrypted=!0;_start(){this.connect()}getSession(){return this[bunSocketInternal]\?.getSession()}getEphemeralKeyInfo(){return this[bunSocketInternal]\?.getEphemeralKeyInfo()}getCipher(){return this[bunSocketInternal]\?.getCipher()}getSharedSigalgs(){return this[bunSocketInternal]\?.getSharedSigalgs()}getProtocol(){return this[bunSocketInternal]\?.getTLSVersion()}getFinished(){return this[bunSocketInternal]\?.getTLSFinishedMessage()||void 0}getPeerFinished(){return this[bunSocketInternal]\?.getTLSPeerFinishedMessage()||void 0}isSessionReused(){return!!this.#session}renegotiate(){if(this.#renegotiationDisabled){const error=new Error(\"ERR_TLS_RENEGOTIATION_DISABLED: TLS session renegotiation disabled for this socket\");throw error.name=\"ERR_TLS_RENEGOTIATION_DISABLED\",error}throw Error(\"Not implented in Bun yet\")}disableRenegotiation(){this.#renegotiationDisabled=!0}getTLSTicket(){return this[bunSocketInternal]\?.getTLSTicket()}exportKeyingMaterial(length,label,context){if(context)return this[bunSocketInternal]\?.exportKeyingMaterial(length,label,context);return this[bunSocketInternal]\?.exportKeyingMaterial(length,label)}setMaxSendFragment(size){return this[bunSocketInternal]\?.setMaxSendFragment(size)||!1}enableTrace(){}setServername(name){if(this.isServer){let error=new Error(\"ERR_TLS_SNI_FROM_SERVER: Cannot issue SNI from a TLS server-side socket\");throw error.name=\"ERR_TLS_SNI_FROM_SERVER\",error}this.servername=name,this[bunSocketInternal]\?.setServername(name)}setSession(session){if(this.#session=session,typeof session===\"string\")session=Buffer.from(session,\"latin1\");return this[bunSocketInternal]\?.setSession(session)}getPeerCertificate(abbreviated){const cert=arguments.length<1\?this[bunSocketInternal]\?.getPeerCertificate():this[bunSocketInternal]\?.getPeerCertificate(abbreviated);if(cert)return translatePeerCertificate(cert)}getCertificate(){const cert=this[bunSocketInternal]\?.getCertificate();if(cert)return translatePeerCertificate(cert)}getPeerX509Certificate(){throw Error(\"Not implented in Bun yet\")}getX509Certificate(){throw Error(\"Not implented in Bun yet\")}get alpnProtocol(){return this[bunSocketInternal]\?.alpnProtocol}[buntls](port,host2){return{socket:this.#socket,ALPNProtocols:this.ALPNProtocols,serverName:this.servername||host2||\"localhost\",checkServerIdentity:this.#checkServerIdentity,session:this.#session,...this.#secureContext}}});class Server extends NetServer{key;cert;ca;passphrase;secureOptions;_rejectUnauthorized;_requestCert;servername;ALPNProtocols;constructor(options,secureConnectionListener){super(options,secureConnectionListener);this.setSecureContext(options)}setSecureContext(options){if(options instanceof InternalSecureContext)options=options.context;if(options){const{ALPNProtocols}=options;if(ALPNProtocols)convertALPNProtocols(ALPNProtocols,this);let key=options.key;if(key){if(!isValidTLSArray(key))@throwTypeError(\"key argument must be an string, Buffer, TypedArray, BunFile or an array containing string, Buffer, TypedArray or BunFile\");this.key=key}let cert=options.cert;if(cert){if(!isValidTLSArray(cert))@throwTypeError(\"cert argument must be an string, Buffer, TypedArray, BunFile or an array containing string, Buffer, TypedArray or BunFile\");this.cert=cert}let ca=options.ca;if(ca){if(!isValidTLSArray(ca))@throwTypeError(\"ca argument must be an string, Buffer, TypedArray, BunFile or an array containing string, Buffer, TypedArray or BunFile\");this.ca=ca}let passphrase=options.passphrase;if(passphrase&&typeof passphrase!==\"string\")@throwTypeError(\"passphrase argument must be an string\");this.passphrase=passphrase;let servername=options.servername;if(servername&&typeof servername!==\"string\")@throwTypeError(\"servername argument must be an string\");this.servername=servername;let secureOptions=options.secureOptions||0;if(secureOptions&&typeof secureOptions!==\"number\")@throwTypeError(\"secureOptions argument must be an number\");this.secureOptions=secureOptions;const requestCert=options.requestCert||!1;if(requestCert)this._requestCert=requestCert;else this._requestCert=void 0;const rejectUnauthorized=options.rejectUnauthorized||!1;if(rejectUnauthorized)this._rejectUnauthorized=rejectUnauthorized;else this._rejectUnauthorized=void 0}}getTicketKeys(){throw Error(\"Not implented in Bun yet\")}setTicketKeys(){throw Error(\"Not implented in Bun yet\")}[buntls](port,host2,isClient){return[{serverName:this.servername||host2||\"localhost\",key:this.key,cert:this.cert,ca:this.ca,passphrase:this.passphrase,secureOptions:this.secureOptions,rejectUnauthorized:isClient\?!1:this._rejectUnauthorized,requestCert:isClient\?!1:this._requestCert,ALPNProtocols:this.ALPNProtocols},SocketClass]}}function createServer(options,connectionListener){return new Server(options,connectionListener)}const CLIENT_RENEG_LIMIT=3,CLIENT_RENEG_WINDOW=600,DEFAULT_ECDH_CURVE=\"auto\",DEFAULT_CIPHERS=\"DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256\",DEFAULT_MIN_VERSION=\"TLSv1.2\",DEFAULT_MAX_VERSION=\"TLSv1.3\",createConnection=(port,host2,connectListener)=>{if(typeof port===\"object\"){port.checkServerIdentity;const{ALPNProtocols}=port;if(ALPNProtocols)convertALPNProtocols(ALPNProtocols,port);return new TLSSocket(port).connect(port,host2,connectListener)}return new TLSSocket().connect(port,host2,connectListener)},connect=createConnection;function getCiphers(){return DEFAULT_CIPHERS.split(\":\")}function getCurves(){return}function convertProtocols(protocols){const lens=new Array(protocols.length),buff=Buffer.allocUnsafe(ArrayPrototypeReduce.call(protocols,(p,c,i)=>{const len=Buffer.byteLength(c);if(len>255)@throwRangeError(\"The byte length of the protocol at index \"+`${i} exceeds the maximum length.`,\"<= 255\",len,!0);return lens[i]=len,p+1+len},0));let offset=0;for(let i=0,c=protocols.length;i\",'\"',\"`\",\" \",\"\\r\",\"\\n\",\"\\t\"],unwise=[\"{\",\"}\",\"|\",\"\\\\\",\"^\",\"`\"].concat(delims),autoEscape=[\"'\"].concat(unwise),nonHostChars=[\"%\",\"/\",\"\?\",\";\",\"#\"].concat(autoEscape),hostEndingChars=[\"/\",\"\?\",\"#\"],hostnameMaxLen=255,hostnamePartPattern=/^[+a-z0-9A-Z_-]{0,63}$/,hostnamePartStart=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,unsafeProtocol={javascript:!0,\"javascript:\":!0},hostlessProtocol={javascript:!0,\"javascript:\":!0},slashedProtocol={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,\"http:\":!0,\"https:\":!0,\"ftp:\":!0,\"gopher:\":!0,\"file:\":!0};function urlParse(url,parseQueryString,slashesDenoteHost){if(url&&typeof url===\"object\"&&url instanceof Url)return url;var u=new Url;return u.parse(url,parseQueryString,slashesDenoteHost),u}Url.prototype.parse=function(url,parseQueryString,slashesDenoteHost){if(typeof url!==\"string\")@throwTypeError(\"Parameter 'url' must be a string, not \"+typeof url);var queryIndex=url.indexOf(\"\?\"),splitter=queryIndex!==-1&&queryIndex127)newpart+=\"x\";else newpart+=part[j];if(!newpart.match(hostnamePartPattern)){var validParts=hostparts.slice(0,i),notHost=hostparts.slice(i+1),bit=part.match(hostnamePartStart);if(bit)validParts.push(bit[1]),notHost.unshift(bit[2]);if(notHost.length)rest=\"/\"+notHost.join(\".\")+rest;this.hostname=validParts.join(\".\");break}}}}if(this.hostname.length>hostnameMaxLen)this.hostname=\"\";else this.hostname=this.hostname.toLowerCase();if(!ipv6Hostname)this.hostname=new URL(\"http://\"+this.hostname).hostname;var p=this.port\?\":\"+this.port:\"\",h=this.hostname||\"\";if(this.host=h+p,this.href+=this.host,ipv6Hostname){if(this.hostname=this.hostname.substr(1,this.hostname.length-2),rest[0]!==\"/\")rest=\"/\"+rest}}if(!unsafeProtocol[lowerProto])for(var i=0,l=autoEscape.length;i0\?result.host.split(\"@\"):!1;if(authInHost)result.auth=authInHost.shift(),result.hostname=authInHost.shift(),result.host=result.hostname}if(result.search=relative.search,result.query=relative.query,result.pathname!==null||result.search!==null)result.path=(result.pathname\?result.pathname:\"\")+(result.search\?result.search:\"\");return result.href=result.format(),result}if(!srcPath.length){if(result.pathname=null,result.search)result.path=\"/\"+result.search;else result.path=null;return result.href=result.format(),result}var last=srcPath.slice(-1)[0],hasTrailingSlash=(result.host||relative.host||srcPath.length>1)&&(last===\".\"||last===\"..\")||last===\"\",up=0;for(var i=srcPath.length;i>=0;i--)if(last=srcPath[i],last===\".\")srcPath.splice(i,1);else if(last===\"..\")srcPath.splice(i,1),up++;else if(up)srcPath.splice(i,1),up--;if(!mustEndAbs&&!removeAllDots)for(;up--;up)srcPath.unshift(\"..\");if(mustEndAbs&&srcPath[0]!==\"\"&&(!srcPath[0]||srcPath[0].charAt(0)!==\"/\"))srcPath.unshift(\"\");if(hasTrailingSlash&&srcPath.join(\"/\").substr(-1)!==\"/\")srcPath.push(\"\");var isAbsolute=srcPath[0]===\"\"||srcPath[0]&&srcPath[0].charAt(0)===\"/\";if(psychotic){result.hostname=isAbsolute\?\"\":srcPath.length\?srcPath.shift():\"\",result.host=result.hostname;var authInHost=result.host&&result.host.indexOf(\"@\")>0\?result.host.split(\"@\"):!1;if(authInHost)result.auth=authInHost.shift(),result.hostname=authInHost.shift(),result.host=result.hostname}if(mustEndAbs=mustEndAbs||result.host&&srcPath.length,mustEndAbs&&!isAbsolute)srcPath.unshift(\"\");if(srcPath.length>0)result.pathname=srcPath.join(\"/\");else result.pathname=null,result.path=null;if(result.pathname!==null||result.search!==null)result.path=(result.pathname\?result.pathname:\"\")+(result.search\?result.search:\"\");return result.auth=relative.auth||result.auth,result.slashes=result.slashes||relative.slashes,result.href=result.format(),result},Url.prototype.parseHost=function(){var host=this.host,port=portPattern.exec(host);if(port){if(port=port[0],port!==\":\")this.port=port.substr(1);host=host.substr(0,host.length-port.length)}if(host)this.hostname=host};function urlToHttpOptions(url){const options={protocol:url.protocol,hostname:typeof url.hostname===\"string\"&&url.hostname.startsWith(\"[\")\?url.hostname.slice(1,-1):url.hostname,hash:url.hash,search:url.search,pathname:url.pathname,path:`${url.pathname||\"\"}${url.search||\"\"}`,href:url.href};if(url.port!==\"\")options.port=Number(url.port);if(url.username||url.password)options.auth=`${decodeURIComponent(url.username)}:${decodeURIComponent(url.password)}`;return options}const lazy=@lazy,pathToFileURL=lazy(\"pathToFileURL\"),fileURLToPath=lazy(\"fileURLToPath\");return{parse:urlParse,resolve:urlResolve,resolveObject:urlResolveObject,format:urlFormat,Url,URLSearchParams,URL,pathToFileURL,fileURLToPath,urlToHttpOptions}})\n"_s; +static constexpr ASCIILiteral NodeUtilCode = "(function (){\"use strict\";const types=@requireBuiltin(55);var cjs_exports={};function isBufferInterface({copy,fill,readUint8}){return typeof copy===\"function\"&&typeof fill===\"function\"&&typeof readUint8===\"function\"}function isBuffer(value){return Buffer.isBuffer(value)||typeof value===\"object\"&&isBufferInterface(value||{})}function isFunction(value){return typeof value===\"function\"}const deepEquals=Bun.deepEquals,isDeepStrictEqual=(a,b)=>deepEquals(a,b,!0);var getOwnPropertyDescriptors=Object.getOwnPropertyDescriptors,formatRegExp=/%[sdj%]/g;function format(f){if(!isString(f)){var objects=[];for(var i=0;i=len)return x2;switch(x2){case\"%s\":return String(args[i++]);case\"%d\":return Number(args[i++]);case\"%j\":try{return JSON.stringify(args[i++])}catch(_){return\"[Circular]\"}default:return x2}});for(var x=args[i];i=3)ctx.depth=arguments[2];if(arguments.length>=4)ctx.colors=arguments[3];if(isBoolean(opts))ctx.showHidden=opts;else if(opts)_extend(ctx,opts);if(isUndefined(ctx.showHidden))ctx.showHidden=!1;if(isUndefined(ctx.depth))ctx.depth=2;if(isUndefined(ctx.colors))ctx.colors=!1;if(isUndefined(ctx.customInspect))ctx.customInspect=!0;if(ctx.colors)ctx.stylize=stylizeWithColor;return formatValue(ctx,obj,ctx.depth)}inspect.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},inspect.styles={special:\"cyan\",number:\"yellow\",boolean:\"yellow\",undefined:\"grey\",null:\"bold\",string:\"green\",date:\"magenta\",regexp:\"red\"};function stylizeWithColor(str,styleType){var style=inspect.styles[styleType];if(style)return\"\\x1B[\"+inspect.colors[style][0]+\"m\"+str+\"\\x1B[\"+inspect.colors[style][1]+\"m\";else return str}function stylizeNoColor(str,styleType){return str}function arrayToHash(array){var hash={};return array.forEach(function(val,idx){hash[val]=!0}),hash}function formatValue(ctx,value,recurseTimes){if(ctx.customInspect&&value&&isFunction(value.inspect)&&value.inspect!==inspect&&!(value.constructor&&value.constructor.prototype===value)){var ret=value.inspect(recurseTimes,ctx);if(!isString(ret))ret=formatValue(ctx,ret,recurseTimes);return ret}var primitive=formatPrimitive(ctx,value);if(primitive)return primitive;var keys=Object.keys(value),visibleKeys=arrayToHash(keys);if(ctx.showHidden)keys=Object.getOwnPropertyNames(value);if(isError(value)&&(keys.indexOf(\"message\")>=0||keys.indexOf(\"description\")>=0))return formatError(value);if(keys.length===0){if(isFunction(value)){var name=value.name\?\": \"+value.name:\"\";return ctx.stylize(\"[Function\"+name+\"]\",\"special\")}if(isRegExp(value))return ctx.stylize(RegExp.prototype.toString.call(value),\"regexp\");if(isDate(value))return ctx.stylize(Date.prototype.toString.call(value),\"date\");if(isError(value))return formatError(value)}var base=\"\",array=!1,braces=[\"{\",\"}\"];if(@isArray(value))array=!0,braces=[\"[\",\"]\"];if(isFunction(value)){var n=value.name\?\": \"+value.name:\"\";base=\" [Function\"+n+\"]\"}if(isRegExp(value))base=\" \"+RegExp.prototype.toString.call(value);if(isDate(value))base=\" \"+Date.prototype.toUTCString.call(value);if(isError(value))base=\" \"+formatError(value);if(keys.length===0&&(!array||value.length==0))return braces[0]+base+braces[1];if(recurseTimes<0)if(isRegExp(value))return ctx.stylize(RegExp.prototype.toString.call(value),\"regexp\");else return ctx.stylize(\"[Object]\",\"special\");ctx.seen.push(value);var output;if(array)output=formatArray(ctx,value,recurseTimes,visibleKeys,keys);else output=keys.map(function(key){return formatProperty(ctx,value,recurseTimes,visibleKeys,key,array)});return ctx.seen.pop(),reduceToSingleString(output,base,braces)}function formatPrimitive(ctx,value){if(isUndefined(value))return ctx.stylize(\"undefined\",\"undefined\");if(isString(value)){var simple=\"'\"+JSON.stringify(value).replace(/^\"|\"$/g,\"\").replace(/'/g,\"\\\\'\").replace(/\\\\\"/g,'\"')+\"'\";return ctx.stylize(simple,\"string\")}if(isNumber(value))return ctx.stylize(\"\"+value,\"number\");if(isBoolean(value))return ctx.stylize(\"\"+value,\"boolean\");if(isNull(value))return ctx.stylize(\"null\",\"null\")}function formatError(value){return\"[\"+Error.prototype.toString.call(value)+\"]\"}function formatArray(ctx,value,recurseTimes,visibleKeys,keys){var output=[];for(var i=0,l=value.length;i-1)if(array)str=str.split(\"\\n\").map(function(line){return\" \"+line}).join(\"\\n\").substr(2);else str=\"\\n\"+str.split(\"\\n\").map(function(line){return\" \"+line}).join(\"\\n\")}else str=ctx.stylize(\"[Circular]\",\"special\");if(isUndefined(name)){if(array&&key.match(/^\\d+$/))return str;if(name=JSON.stringify(\"\"+key),name.match(/^\"([a-zA-Z_][a-zA-Z_0-9]*)\"$/))name=name.substr(1,name.length-2),name=ctx.stylize(name,\"name\");else name=name.replace(/'/g,\"\\\\'\").replace(/\\\\\"/g,'\"').replace(/(^\"|\"$)/g,\"'\"),name=ctx.stylize(name,\"string\")}return name+\": \"+str}function reduceToSingleString(output,base,braces){var numLinesEst=0,length=output.reduce(function(prev,cur){if(numLinesEst++,cur.indexOf(\"\\n\")>=0)numLinesEst++;return prev+cur.replace(/\\u001b\\[\\d\\d\?m/g,\"\").length+1},0);if(length>60)return braces[0]+(base===\"\"\?\"\":base+\"\\n \")+\" \"+output.join(\",\\n \")+\" \"+braces[1];return braces[0]+base+\" \"+output.join(\", \")+\" \"+braces[1]}function isBoolean(arg){return typeof arg===\"boolean\"}function isNull(arg){return arg===null}function isNullOrUndefined(arg){return arg==null}function isNumber(arg){return typeof arg===\"number\"}function isString(arg){return typeof arg===\"string\"}function isSymbol(arg){return typeof arg===\"symbol\"}function isUndefined(arg){return arg===void 0}var isRegExp=types.isRegExp;function isObject(arg){return typeof arg===\"object\"&&arg!==null}var{isDate,isNativeError:isError}=types;function isPrimitive(arg){return arg===null||typeof arg===\"boolean\"||typeof arg===\"number\"||typeof arg===\"string\"||typeof arg===\"symbol\"||typeof arg===\"undefined\"}function pad(n){return n<10\?\"0\"+n.toString(10):n.toString(10)}var months=[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"];function timestamp(){var d=new Date,time=[pad(d.getHours()),pad(d.getMinutes()),pad(d.getSeconds())].join(\":\");return[d.getDate(),months[d.getMonth()],time].join(\" \")}var log=function log(){console.log(\"%s - %s\",timestamp(),format.apply(cjs_exports,arguments))},inherits=function inherits(ctor,superCtor){ctor.super_=superCtor,ctor.prototype=Object.create(superCtor.prototype,{constructor:{value:ctor,enumerable:!1,writable:!0,configurable:!0}})},_extend=function(origin,add){if(!add||!isObject(add))return origin;var keys=Object.keys(add),i=keys.length;while(i--)origin[keys[i]]=add[keys[i]];return origin};function hasOwnProperty(obj,prop){return Object.prototype.hasOwnProperty.call(obj,prop)}var kCustomPromisifiedSymbol=Symbol.for(\"util.promisify.custom\"),promisify=function promisify(original){if(typeof original!==\"function\")@throwTypeError('The \"original\" argument must be of type Function');if(kCustomPromisifiedSymbol&&original[kCustomPromisifiedSymbol]){var fn=original[kCustomPromisifiedSymbol];if(typeof fn!==\"function\")@throwTypeError('The \"util.promisify.custom\" argument must be of type Function');return Object.defineProperty(fn,kCustomPromisifiedSymbol,{value:fn,enumerable:!1,writable:!1,configurable:!0}),fn}function fn(){var promiseResolve,promiseReject,promise=new Promise(function(resolve,reject){promiseResolve=resolve,promiseReject=reject}),args=[];for(var i=0;i{return(input+\"\").toWellFormed()};return Object.assign(cjs_exports,{format,deprecate,debuglog,_extend,inspect,types,isArray:@isArray,isBoolean,isNull,isNullOrUndefined,isNumber,isString,isSymbol,isUndefined,isRegExp,isObject,isDate,isFunction,isError,isPrimitive,isBuffer,log,inherits,toUSVString,promisify,callbackify,isDeepStrictEqual,TextDecoder,TextEncoder})})\n"_s; +static constexpr ASCIILiteral NodeV8Code = "(function (){\"use strict\";var $;const{hideFromStack,throwNotImplemented}=@requireId(2),jsc=@requireBuiltin(48);function notimpl(message){throwNotImplemented(\"node:v8 \"+message)}class Deserializer{constructor(){notimpl(\"Deserializer\")}}class Serializer{constructor(){notimpl(\"Serializer\")}}class DefaultDeserializer extends Deserializer{constructor(){super(...arguments)}}class DefaultSerializer extends Serializer{constructor(){super(...arguments)}}class GCProfiler{constructor(){notimpl(\"GCProfiler\")}}function cachedDataVersionTag(){notimpl(\"cachedDataVersionTag\")}function getHeapSnapshot(){notimpl(\"getHeapSnapshot\")}function getHeapStatistics(){notimpl(\"getHeapStatistics\")}function getHeapSpaceStatistics(){notimpl(\"getHeapSpaceStatistics\")}function getHeapCodeStatistics(){notimpl(\"getHeapCodeStatistics\")}function setFlagsFromString(){notimpl(\"setFlagsFromString\")}function deserialize(value){return jsc.deserialize(value)}function takeCoverage(){notimpl(\"takeCoverage\")}function stopCoverage(){notimpl(\"stopCoverage\")}function serialize(arg1){return jsc.serialize(arg1,{binaryType:\"nodebuffer\"})}function writeHeapSnapshot(){notimpl(\"writeHeapSnapshot\")}function setHeapSnapshotNearHeapLimit(){notimpl(\"setHeapSnapshotNearHeapLimit\")}return $={cachedDataVersionTag,getHeapSnapshot,getHeapStatistics,getHeapSpaceStatistics,getHeapCodeStatistics,setFlagsFromString,deserialize,takeCoverage,stopCoverage,serialize,writeHeapSnapshot,setHeapSnapshotNearHeapLimit,promiseHooks:{createHook:()=>{notimpl(\"createHook\")},onInit:()=>{notimpl(\"onInit\")},onBefore:()=>{notimpl(\"onBefore\")},onAfter:()=>{notimpl(\"onAfter\")},onSettled:()=>{notimpl(\"onSettled\")}},startupSnapshot:{addDeserializeCallback:()=>notimpl(\"addDeserializeCallback\"),addSerializeCallback:()=>notimpl(\"addSerializeCallback\"),setDeserializeMainFunction:()=>notimpl(\"setDeserializeMainFunction\"),isBuildingSnapshot:()=>notimpl(\"isBuildingSnapshot\")},Deserializer,Serializer},hideFromStack(notimpl,cachedDataVersionTag,getHeapSnapshot,getHeapStatistics,getHeapSpaceStatistics,getHeapCodeStatistics,setFlagsFromString,deserialize,takeCoverage,stopCoverage,serialize,writeHeapSnapshot,setHeapSnapshotNearHeapLimit,Deserializer,Serializer,DefaultDeserializer,DefaultSerializer,GCProfiler),$})\n"_s; +static constexpr ASCIILiteral NodeVMCode = "(function (){\"use strict\";const{throwNotImplemented}=@requireId(2),vm=globalThis[globalThis.Symbol.for('Bun.lazy')](\"vm\"),{createContext,isContext,Script,runInNewContext,runInThisContext}=vm;function runInContext(code,context,options){return new Script(code,options).runInContext(context)}function compileFunction(){throwNotImplemented(\"node:vm compileFunction\")}function measureMemory(){throwNotImplemented(\"node:vm measureMemory\")}class Module{constructor(){throwNotImplemented(\"node:vm Module\")}}class SourceTextModule{constructor(){throwNotImplemented(\"node:vm Module\")}}class SyntheticModule{constructor(){throwNotImplemented(\"node:vm Module\")}}return{createContext,runInContext,runInNewContext,runInThisContext,isContext,compileFunction,measureMemory,Script,Module,SourceTextModule,SyntheticModule}})\n"_s; +static constexpr ASCIILiteral NodeWasiCode = "(function (){\"use strict\";const nodeFsConstants=constants;var __getOwnPropNames=Object.getOwnPropertyNames,__commonJS=(cb,mod)=>function __require2(){return mod||(0,cb[__getOwnPropNames(cb)[0]])((mod={exports:{}}).exports,mod),mod.exports},require_types=__commonJS({\"node_modules/wasi-js/dist/types.js\"(exports){Object.defineProperty(exports,\"__esModule\",{value:!0}),exports.WASIKillError=exports.WASIExitError=exports.WASIError=void 0;var WASIError=class extends Error{constructor(errno){super();this.errno=errno,Object.setPrototypeOf(this,WASIError.prototype)}};exports.WASIError=WASIError;var WASIExitError=class extends Error{constructor(code){super(`WASI Exit error: ${code}`);this.code=code,Object.setPrototypeOf(this,WASIExitError.prototype)}};exports.WASIExitError=WASIExitError;var WASIKillError=class extends Error{constructor(signal){super(`WASI Kill signal: ${signal}`);this.signal=signal,Object.setPrototypeOf(this,WASIKillError.prototype)}};exports.WASIKillError=WASIKillError}}),require_constants=__commonJS({\"node_modules/wasi-js/dist/constants.js\"(exports){Object.defineProperty(exports,\"__esModule\",{value:!0}),exports.WASI_ENOMSG=exports.WASI_ENOMEM=exports.WASI_ENOLINK=exports.WASI_ENOLCK=exports.WASI_ENOEXEC=exports.WASI_ENOENT=exports.WASI_ENODEV=exports.WASI_ENOBUFS=exports.WASI_ENFILE=exports.WASI_ENETUNREACH=exports.WASI_ENETRESET=exports.WASI_ENETDOWN=exports.WASI_ENAMETOOLONG=exports.WASI_EMULTIHOP=exports.WASI_EMSGSIZE=exports.WASI_EMLINK=exports.WASI_EMFILE=exports.WASI_ELOOP=exports.WASI_EISDIR=exports.WASI_EISCONN=exports.WASI_EIO=exports.WASI_EINVAL=exports.WASI_EINTR=exports.WASI_EINPROGRESS=exports.WASI_EILSEQ=exports.WASI_EIDRM=exports.WASI_EHOSTUNREACH=exports.WASI_EFBIG=exports.WASI_EFAULT=exports.WASI_EEXIST=exports.WASI_EDQUOT=exports.WASI_EDOM=exports.WASI_EDESTADDRREQ=exports.WASI_EDEADLK=exports.WASI_ECONNRESET=exports.WASI_ECONNREFUSED=exports.WASI_ECONNABORTED=exports.WASI_ECHILD=exports.WASI_ECANCELED=exports.WASI_EBUSY=exports.WASI_EBADMSG=exports.WASI_EBADF=exports.WASI_EALREADY=exports.WASI_EAGAIN=exports.WASI_EAFNOSUPPORT=exports.WASI_EADDRNOTAVAIL=exports.WASI_EADDRINUSE=exports.WASI_EACCES=exports.WASI_E2BIG=exports.WASI_ESUCCESS=void 0,exports.WASI_SIGVTALRM=exports.WASI_SIGUSR2=exports.WASI_SIGUSR1=exports.WASI_SIGURG=exports.WASI_SIGTTOU=exports.WASI_SIGTTIN=exports.WASI_SIGTSTP=exports.WASI_SIGTRAP=exports.WASI_SIGTERM=exports.WASI_SIGSTOP=exports.WASI_SIGSEGV=exports.WASI_SIGQUIT=exports.WASI_SIGPIPE=exports.WASI_SIGKILL=exports.WASI_SIGINT=exports.WASI_SIGILL=exports.WASI_SIGHUP=exports.WASI_SIGFPE=exports.WASI_SIGCONT=exports.WASI_SIGCHLD=exports.WASI_SIGBUS=exports.WASI_SIGALRM=exports.WASI_SIGABRT=exports.WASI_ENOTCAPABLE=exports.WASI_EXDEV=exports.WASI_ETXTBSY=exports.WASI_ETIMEDOUT=exports.WASI_ESTALE=exports.WASI_ESRCH=exports.WASI_ESPIPE=exports.WASI_EROFS=exports.WASI_ERANGE=exports.WASI_EPROTOTYPE=exports.WASI_EPROTONOSUPPORT=exports.WASI_EPROTO=exports.WASI_EPIPE=exports.WASI_EPERM=exports.WASI_EOWNERDEAD=exports.WASI_EOVERFLOW=exports.WASI_ENXIO=exports.WASI_ENOTTY=exports.WASI_ENOTSUP=exports.WASI_ENOTSOCK=exports.WASI_ENOTRECOVERABLE=exports.WASI_ENOTEMPTY=exports.WASI_ENOTDIR=exports.WASI_ENOTCONN=exports.WASI_ENOSYS=exports.WASI_ENOSPC=exports.WASI_ENOPROTOOPT=void 0,exports.RIGHTS_REGULAR_FILE_BASE=exports.RIGHTS_CHARACTER_DEVICE_INHERITING=exports.RIGHTS_CHARACTER_DEVICE_BASE=exports.RIGHTS_BLOCK_DEVICE_INHERITING=exports.RIGHTS_BLOCK_DEVICE_BASE=exports.RIGHTS_ALL=exports.WASI_RIGHT_SOCK_SHUTDOWN=exports.WASI_RIGHT_POLL_FD_READWRITE=exports.WASI_RIGHT_PATH_UNLINK_FILE=exports.WASI_RIGHT_PATH_REMOVE_DIRECTORY=exports.WASI_RIGHT_PATH_SYMLINK=exports.WASI_RIGHT_FD_FILESTAT_SET_TIMES=exports.WASI_RIGHT_FD_FILESTAT_SET_SIZE=exports.WASI_RIGHT_FD_FILESTAT_GET=exports.WASI_RIGHT_PATH_FILESTAT_SET_TIMES=exports.WASI_RIGHT_PATH_FILESTAT_SET_SIZE=exports.WASI_RIGHT_PATH_FILESTAT_GET=exports.WASI_RIGHT_PATH_RENAME_TARGET=exports.WASI_RIGHT_PATH_RENAME_SOURCE=exports.WASI_RIGHT_PATH_READLINK=exports.WASI_RIGHT_FD_READDIR=exports.WASI_RIGHT_PATH_OPEN=exports.WASI_RIGHT_PATH_LINK_TARGET=exports.WASI_RIGHT_PATH_LINK_SOURCE=exports.WASI_RIGHT_PATH_CREATE_FILE=exports.WASI_RIGHT_PATH_CREATE_DIRECTORY=exports.WASI_RIGHT_FD_ALLOCATE=exports.WASI_RIGHT_FD_ADVISE=exports.WASI_RIGHT_FD_WRITE=exports.WASI_RIGHT_FD_TELL=exports.WASI_RIGHT_FD_SYNC=exports.WASI_RIGHT_FD_FDSTAT_SET_FLAGS=exports.WASI_RIGHT_FD_SEEK=exports.WASI_RIGHT_FD_READ=exports.WASI_RIGHT_FD_DATASYNC=exports.WASI_FDFLAG_SYNC=exports.WASI_FDFLAG_RSYNC=exports.WASI_FDFLAG_NONBLOCK=exports.WASI_FDFLAG_DSYNC=exports.WASI_FDFLAG_APPEND=exports.WASI_FILETYPE_SYMBOLIC_LINK=exports.WASI_FILETYPE_SOCKET_STREAM=exports.WASI_FILETYPE_SOCKET_DGRAM=exports.WASI_FILETYPE_REGULAR_FILE=exports.WASI_FILETYPE_DIRECTORY=exports.WASI_FILETYPE_CHARACTER_DEVICE=exports.WASI_FILETYPE_BLOCK_DEVICE=exports.WASI_FILETYPE_UNKNOWN=exports.WASI_SIGXFSZ=exports.WASI_SIGXCPU=void 0,exports.SIGNAL_MAP=exports.ERROR_MAP=exports.WASI_WHENCE_END=exports.WASI_WHENCE_CUR=exports.WASI_WHENCE_SET=exports.WASI_STDERR_FILENO=exports.WASI_STDOUT_FILENO=exports.WASI_STDIN_FILENO=exports.WASI_DIRCOOKIE_START=exports.WASI_PREOPENTYPE_DIR=exports.WASI_O_TRUNC=exports.WASI_O_EXCL=exports.WASI_O_DIRECTORY=exports.WASI_O_CREAT=exports.WASI_FILESTAT_SET_MTIM_NOW=exports.WASI_FILESTAT_SET_MTIM=exports.WASI_FILESTAT_SET_ATIM_NOW=exports.WASI_FILESTAT_SET_ATIM=exports.WASI_EVENTTYPE_FD_WRITE=exports.WASI_EVENTTYPE_FD_READ=exports.WASI_EVENTTYPE_CLOCK=exports.WASI_CLOCK_THREAD_CPUTIME_ID=exports.WASI_CLOCK_PROCESS_CPUTIME_ID=exports.WASI_CLOCK_MONOTONIC=exports.WASI_CLOCK_REALTIME=exports.RIGHTS_TTY_INHERITING=exports.RIGHTS_TTY_BASE=exports.RIGHTS_SOCKET_INHERITING=exports.RIGHTS_SOCKET_BASE=exports.RIGHTS_DIRECTORY_INHERITING=exports.RIGHTS_DIRECTORY_BASE=exports.RIGHTS_REGULAR_FILE_INHERITING=void 0,exports.WASI_ESUCCESS=0,exports.WASI_E2BIG=1,exports.WASI_EACCES=2,exports.WASI_EADDRINUSE=3,exports.WASI_EADDRNOTAVAIL=4,exports.WASI_EAFNOSUPPORT=5,exports.WASI_EAGAIN=6,exports.WASI_EALREADY=7,exports.WASI_EBADF=8,exports.WASI_EBADMSG=9,exports.WASI_EBUSY=10,exports.WASI_ECANCELED=11,exports.WASI_ECHILD=12,exports.WASI_ECONNABORTED=13,exports.WASI_ECONNREFUSED=14,exports.WASI_ECONNRESET=15,exports.WASI_EDEADLK=16,exports.WASI_EDESTADDRREQ=17,exports.WASI_EDOM=18,exports.WASI_EDQUOT=19,exports.WASI_EEXIST=20,exports.WASI_EFAULT=21,exports.WASI_EFBIG=22,exports.WASI_EHOSTUNREACH=23,exports.WASI_EIDRM=24,exports.WASI_EILSEQ=25,exports.WASI_EINPROGRESS=26,exports.WASI_EINTR=27,exports.WASI_EINVAL=28,exports.WASI_EIO=29,exports.WASI_EISCONN=30,exports.WASI_EISDIR=31,exports.WASI_ELOOP=32,exports.WASI_EMFILE=33,exports.WASI_EMLINK=34,exports.WASI_EMSGSIZE=35,exports.WASI_EMULTIHOP=36,exports.WASI_ENAMETOOLONG=37,exports.WASI_ENETDOWN=38,exports.WASI_ENETRESET=39,exports.WASI_ENETUNREACH=40,exports.WASI_ENFILE=41,exports.WASI_ENOBUFS=42,exports.WASI_ENODEV=43,exports.WASI_ENOENT=44,exports.WASI_ENOEXEC=45,exports.WASI_ENOLCK=46,exports.WASI_ENOLINK=47,exports.WASI_ENOMEM=48,exports.WASI_ENOMSG=49,exports.WASI_ENOPROTOOPT=50,exports.WASI_ENOSPC=51,exports.WASI_ENOSYS=52,exports.WASI_ENOTCONN=53,exports.WASI_ENOTDIR=54,exports.WASI_ENOTEMPTY=55,exports.WASI_ENOTRECOVERABLE=56,exports.WASI_ENOTSOCK=57,exports.WASI_ENOTSUP=58,exports.WASI_ENOTTY=59,exports.WASI_ENXIO=60,exports.WASI_EOVERFLOW=61,exports.WASI_EOWNERDEAD=62,exports.WASI_EPERM=63,exports.WASI_EPIPE=64,exports.WASI_EPROTO=65,exports.WASI_EPROTONOSUPPORT=66,exports.WASI_EPROTOTYPE=67,exports.WASI_ERANGE=68,exports.WASI_EROFS=69,exports.WASI_ESPIPE=70,exports.WASI_ESRCH=71,exports.WASI_ESTALE=72,exports.WASI_ETIMEDOUT=73,exports.WASI_ETXTBSY=74,exports.WASI_EXDEV=75,exports.WASI_ENOTCAPABLE=76,exports.WASI_SIGABRT=0,exports.WASI_SIGALRM=1,exports.WASI_SIGBUS=2,exports.WASI_SIGCHLD=3,exports.WASI_SIGCONT=4,exports.WASI_SIGFPE=5,exports.WASI_SIGHUP=6,exports.WASI_SIGILL=7,exports.WASI_SIGINT=8,exports.WASI_SIGKILL=9,exports.WASI_SIGPIPE=10,exports.WASI_SIGQUIT=11,exports.WASI_SIGSEGV=12,exports.WASI_SIGSTOP=13,exports.WASI_SIGTERM=14,exports.WASI_SIGTRAP=15,exports.WASI_SIGTSTP=16,exports.WASI_SIGTTIN=17,exports.WASI_SIGTTOU=18,exports.WASI_SIGURG=19,exports.WASI_SIGUSR1=20,exports.WASI_SIGUSR2=21,exports.WASI_SIGVTALRM=22,exports.WASI_SIGXCPU=23,exports.WASI_SIGXFSZ=24,exports.WASI_FILETYPE_UNKNOWN=0,exports.WASI_FILETYPE_BLOCK_DEVICE=1,exports.WASI_FILETYPE_CHARACTER_DEVICE=2,exports.WASI_FILETYPE_DIRECTORY=3,exports.WASI_FILETYPE_REGULAR_FILE=4,exports.WASI_FILETYPE_SOCKET_DGRAM=5,exports.WASI_FILETYPE_SOCKET_STREAM=6,exports.WASI_FILETYPE_SYMBOLIC_LINK=7,exports.WASI_FDFLAG_APPEND=1,exports.WASI_FDFLAG_DSYNC=2,exports.WASI_FDFLAG_NONBLOCK=4,exports.WASI_FDFLAG_RSYNC=8,exports.WASI_FDFLAG_SYNC=16,exports.WASI_RIGHT_FD_DATASYNC=BigInt(1),exports.WASI_RIGHT_FD_READ=BigInt(2),exports.WASI_RIGHT_FD_SEEK=BigInt(4),exports.WASI_RIGHT_FD_FDSTAT_SET_FLAGS=BigInt(8),exports.WASI_RIGHT_FD_SYNC=BigInt(16),exports.WASI_RIGHT_FD_TELL=BigInt(32),exports.WASI_RIGHT_FD_WRITE=BigInt(64),exports.WASI_RIGHT_FD_ADVISE=BigInt(128),exports.WASI_RIGHT_FD_ALLOCATE=BigInt(256),exports.WASI_RIGHT_PATH_CREATE_DIRECTORY=BigInt(512),exports.WASI_RIGHT_PATH_CREATE_FILE=BigInt(1024),exports.WASI_RIGHT_PATH_LINK_SOURCE=BigInt(2048),exports.WASI_RIGHT_PATH_LINK_TARGET=BigInt(4096),exports.WASI_RIGHT_PATH_OPEN=BigInt(8192),exports.WASI_RIGHT_FD_READDIR=BigInt(16384),exports.WASI_RIGHT_PATH_READLINK=BigInt(32768),exports.WASI_RIGHT_PATH_RENAME_SOURCE=BigInt(65536),exports.WASI_RIGHT_PATH_RENAME_TARGET=BigInt(131072),exports.WASI_RIGHT_PATH_FILESTAT_GET=BigInt(262144),exports.WASI_RIGHT_PATH_FILESTAT_SET_SIZE=BigInt(524288),exports.WASI_RIGHT_PATH_FILESTAT_SET_TIMES=BigInt(1048576),exports.WASI_RIGHT_FD_FILESTAT_GET=BigInt(2097152),exports.WASI_RIGHT_FD_FILESTAT_SET_SIZE=BigInt(4194304),exports.WASI_RIGHT_FD_FILESTAT_SET_TIMES=BigInt(8388608),exports.WASI_RIGHT_PATH_SYMLINK=BigInt(16777216),exports.WASI_RIGHT_PATH_REMOVE_DIRECTORY=BigInt(33554432),exports.WASI_RIGHT_PATH_UNLINK_FILE=BigInt(67108864),exports.WASI_RIGHT_POLL_FD_READWRITE=BigInt(134217728),exports.WASI_RIGHT_SOCK_SHUTDOWN=BigInt(268435456),exports.RIGHTS_ALL=exports.WASI_RIGHT_FD_DATASYNC|exports.WASI_RIGHT_FD_READ|exports.WASI_RIGHT_FD_SEEK|exports.WASI_RIGHT_FD_FDSTAT_SET_FLAGS|exports.WASI_RIGHT_FD_SYNC|exports.WASI_RIGHT_FD_TELL|exports.WASI_RIGHT_FD_WRITE|exports.WASI_RIGHT_FD_ADVISE|exports.WASI_RIGHT_FD_ALLOCATE|exports.WASI_RIGHT_PATH_CREATE_DIRECTORY|exports.WASI_RIGHT_PATH_CREATE_FILE|exports.WASI_RIGHT_PATH_LINK_SOURCE|exports.WASI_RIGHT_PATH_LINK_TARGET|exports.WASI_RIGHT_PATH_OPEN|exports.WASI_RIGHT_FD_READDIR|exports.WASI_RIGHT_PATH_READLINK|exports.WASI_RIGHT_PATH_RENAME_SOURCE|exports.WASI_RIGHT_PATH_RENAME_TARGET|exports.WASI_RIGHT_PATH_FILESTAT_GET|exports.WASI_RIGHT_PATH_FILESTAT_SET_SIZE|exports.WASI_RIGHT_PATH_FILESTAT_SET_TIMES|exports.WASI_RIGHT_FD_FILESTAT_GET|exports.WASI_RIGHT_FD_FILESTAT_SET_TIMES|exports.WASI_RIGHT_FD_FILESTAT_SET_SIZE|exports.WASI_RIGHT_PATH_SYMLINK|exports.WASI_RIGHT_PATH_UNLINK_FILE|exports.WASI_RIGHT_PATH_REMOVE_DIRECTORY|exports.WASI_RIGHT_POLL_FD_READWRITE|exports.WASI_RIGHT_SOCK_SHUTDOWN,exports.RIGHTS_BLOCK_DEVICE_BASE=exports.RIGHTS_ALL,exports.RIGHTS_BLOCK_DEVICE_INHERITING=exports.RIGHTS_ALL,exports.RIGHTS_CHARACTER_DEVICE_BASE=exports.RIGHTS_ALL,exports.RIGHTS_CHARACTER_DEVICE_INHERITING=exports.RIGHTS_ALL,exports.RIGHTS_REGULAR_FILE_BASE=exports.WASI_RIGHT_FD_DATASYNC|exports.WASI_RIGHT_FD_READ|exports.WASI_RIGHT_FD_SEEK|exports.WASI_RIGHT_FD_FDSTAT_SET_FLAGS|exports.WASI_RIGHT_FD_SYNC|exports.WASI_RIGHT_FD_TELL|exports.WASI_RIGHT_FD_WRITE|exports.WASI_RIGHT_FD_ADVISE|exports.WASI_RIGHT_FD_ALLOCATE|exports.WASI_RIGHT_FD_FILESTAT_GET|exports.WASI_RIGHT_FD_FILESTAT_SET_SIZE|exports.WASI_RIGHT_FD_FILESTAT_SET_TIMES|exports.WASI_RIGHT_POLL_FD_READWRITE,exports.RIGHTS_REGULAR_FILE_INHERITING=BigInt(0),exports.RIGHTS_DIRECTORY_BASE=exports.WASI_RIGHT_FD_FDSTAT_SET_FLAGS|exports.WASI_RIGHT_FD_SYNC|exports.WASI_RIGHT_FD_ADVISE|exports.WASI_RIGHT_PATH_CREATE_DIRECTORY|exports.WASI_RIGHT_PATH_CREATE_FILE|exports.WASI_RIGHT_PATH_LINK_SOURCE|exports.WASI_RIGHT_PATH_LINK_TARGET|exports.WASI_RIGHT_PATH_OPEN|exports.WASI_RIGHT_FD_READDIR|exports.WASI_RIGHT_PATH_READLINK|exports.WASI_RIGHT_PATH_RENAME_SOURCE|exports.WASI_RIGHT_PATH_RENAME_TARGET|exports.WASI_RIGHT_PATH_FILESTAT_GET|exports.WASI_RIGHT_PATH_FILESTAT_SET_SIZE|exports.WASI_RIGHT_PATH_FILESTAT_SET_TIMES|exports.WASI_RIGHT_FD_FILESTAT_GET|exports.WASI_RIGHT_FD_FILESTAT_SET_TIMES|exports.WASI_RIGHT_PATH_SYMLINK|exports.WASI_RIGHT_PATH_UNLINK_FILE|exports.WASI_RIGHT_PATH_REMOVE_DIRECTORY|exports.WASI_RIGHT_POLL_FD_READWRITE,exports.RIGHTS_DIRECTORY_INHERITING=exports.RIGHTS_DIRECTORY_BASE|exports.RIGHTS_REGULAR_FILE_BASE,exports.RIGHTS_SOCKET_BASE=exports.WASI_RIGHT_FD_READ|exports.WASI_RIGHT_FD_FDSTAT_SET_FLAGS|exports.WASI_RIGHT_FD_WRITE|exports.WASI_RIGHT_FD_FILESTAT_GET|exports.WASI_RIGHT_POLL_FD_READWRITE|exports.WASI_RIGHT_SOCK_SHUTDOWN,exports.RIGHTS_SOCKET_INHERITING=exports.RIGHTS_ALL,exports.RIGHTS_TTY_BASE=exports.WASI_RIGHT_FD_READ|exports.WASI_RIGHT_FD_FDSTAT_SET_FLAGS|exports.WASI_RIGHT_FD_WRITE|exports.WASI_RIGHT_FD_FILESTAT_GET|exports.WASI_RIGHT_POLL_FD_READWRITE,exports.RIGHTS_TTY_INHERITING=BigInt(0),exports.WASI_CLOCK_REALTIME=0,exports.WASI_CLOCK_MONOTONIC=1,exports.WASI_CLOCK_PROCESS_CPUTIME_ID=2,exports.WASI_CLOCK_THREAD_CPUTIME_ID=3,exports.WASI_EVENTTYPE_CLOCK=0,exports.WASI_EVENTTYPE_FD_READ=1,exports.WASI_EVENTTYPE_FD_WRITE=2,exports.WASI_FILESTAT_SET_ATIM=1<<0,exports.WASI_FILESTAT_SET_ATIM_NOW=1<<1,exports.WASI_FILESTAT_SET_MTIM=1<<2,exports.WASI_FILESTAT_SET_MTIM_NOW=1<<3,exports.WASI_O_CREAT=1<<0,exports.WASI_O_DIRECTORY=1<<1,exports.WASI_O_EXCL=1<<2,exports.WASI_O_TRUNC=1<<3,exports.WASI_PREOPENTYPE_DIR=0,exports.WASI_DIRCOOKIE_START=0,exports.WASI_STDIN_FILENO=0,exports.WASI_STDOUT_FILENO=1,exports.WASI_STDERR_FILENO=2,exports.WASI_WHENCE_SET=0,exports.WASI_WHENCE_CUR=1,exports.WASI_WHENCE_END=2,exports.ERROR_MAP={E2BIG:exports.WASI_E2BIG,EACCES:exports.WASI_EACCES,EADDRINUSE:exports.WASI_EADDRINUSE,EADDRNOTAVAIL:exports.WASI_EADDRNOTAVAIL,EAFNOSUPPORT:exports.WASI_EAFNOSUPPORT,EALREADY:exports.WASI_EALREADY,EAGAIN:exports.WASI_EAGAIN,EBADF:exports.WASI_EBADF,EBADMSG:exports.WASI_EBADMSG,EBUSY:exports.WASI_EBUSY,ECANCELED:exports.WASI_ECANCELED,ECHILD:exports.WASI_ECHILD,ECONNABORTED:exports.WASI_ECONNABORTED,ECONNREFUSED:exports.WASI_ECONNREFUSED,ECONNRESET:exports.WASI_ECONNRESET,EDEADLOCK:exports.WASI_EDEADLK,EDESTADDRREQ:exports.WASI_EDESTADDRREQ,EDOM:exports.WASI_EDOM,EDQUOT:exports.WASI_EDQUOT,EEXIST:exports.WASI_EEXIST,EFAULT:exports.WASI_EFAULT,EFBIG:exports.WASI_EFBIG,EHOSTDOWN:exports.WASI_EHOSTUNREACH,EHOSTUNREACH:exports.WASI_EHOSTUNREACH,EIDRM:exports.WASI_EIDRM,EILSEQ:exports.WASI_EILSEQ,EINPROGRESS:exports.WASI_EINPROGRESS,EINTR:exports.WASI_EINTR,EINVAL:exports.WASI_EINVAL,EIO:exports.WASI_EIO,EISCONN:exports.WASI_EISCONN,EISDIR:exports.WASI_EISDIR,ELOOP:exports.WASI_ELOOP,EMFILE:exports.WASI_EMFILE,EMLINK:exports.WASI_EMLINK,EMSGSIZE:exports.WASI_EMSGSIZE,EMULTIHOP:exports.WASI_EMULTIHOP,ENAMETOOLONG:exports.WASI_ENAMETOOLONG,ENETDOWN:exports.WASI_ENETDOWN,ENETRESET:exports.WASI_ENETRESET,ENETUNREACH:exports.WASI_ENETUNREACH,ENFILE:exports.WASI_ENFILE,ENOBUFS:exports.WASI_ENOBUFS,ENODEV:exports.WASI_ENODEV,ENOENT:exports.WASI_ENOENT,ENOEXEC:exports.WASI_ENOEXEC,ENOLCK:exports.WASI_ENOLCK,ENOLINK:exports.WASI_ENOLINK,ENOMEM:exports.WASI_ENOMEM,ENOMSG:exports.WASI_ENOMSG,ENOPROTOOPT:exports.WASI_ENOPROTOOPT,ENOSPC:exports.WASI_ENOSPC,ENOSYS:exports.WASI_ENOSYS,ENOTCONN:exports.WASI_ENOTCONN,ENOTDIR:exports.WASI_ENOTDIR,ENOTEMPTY:exports.WASI_ENOTEMPTY,ENOTRECOVERABLE:exports.WASI_ENOTRECOVERABLE,ENOTSOCK:exports.WASI_ENOTSOCK,ENOTTY:exports.WASI_ENOTTY,ENXIO:exports.WASI_ENXIO,EOVERFLOW:exports.WASI_EOVERFLOW,EOWNERDEAD:exports.WASI_EOWNERDEAD,EPERM:exports.WASI_EPERM,EPIPE:exports.WASI_EPIPE,EPROTO:exports.WASI_EPROTO,EPROTONOSUPPORT:exports.WASI_EPROTONOSUPPORT,EPROTOTYPE:exports.WASI_EPROTOTYPE,ERANGE:exports.WASI_ERANGE,EROFS:exports.WASI_EROFS,ESPIPE:exports.WASI_ESPIPE,ESRCH:exports.WASI_ESRCH,ESTALE:exports.WASI_ESTALE,ETIMEDOUT:exports.WASI_ETIMEDOUT,ETXTBSY:exports.WASI_ETXTBSY,EXDEV:exports.WASI_EXDEV},exports.SIGNAL_MAP={[exports.WASI_SIGHUP]:\"SIGHUP\",[exports.WASI_SIGINT]:\"SIGINT\",[exports.WASI_SIGQUIT]:\"SIGQUIT\",[exports.WASI_SIGILL]:\"SIGILL\",[exports.WASI_SIGTRAP]:\"SIGTRAP\",[exports.WASI_SIGABRT]:\"SIGABRT\",[exports.WASI_SIGBUS]:\"SIGBUS\",[exports.WASI_SIGFPE]:\"SIGFPE\",[exports.WASI_SIGKILL]:\"SIGKILL\",[exports.WASI_SIGUSR1]:\"SIGUSR1\",[exports.WASI_SIGSEGV]:\"SIGSEGV\",[exports.WASI_SIGUSR2]:\"SIGUSR2\",[exports.WASI_SIGPIPE]:\"SIGPIPE\",[exports.WASI_SIGALRM]:\"SIGALRM\",[exports.WASI_SIGTERM]:\"SIGTERM\",[exports.WASI_SIGCHLD]:\"SIGCHLD\",[exports.WASI_SIGCONT]:\"SIGCONT\",[exports.WASI_SIGSTOP]:\"SIGSTOP\",[exports.WASI_SIGTSTP]:\"SIGTSTP\",[exports.WASI_SIGTTIN]:\"SIGTTIN\",[exports.WASI_SIGTTOU]:\"SIGTTOU\",[exports.WASI_SIGURG]:\"SIGURG\",[exports.WASI_SIGXCPU]:\"SIGXCPU\",[exports.WASI_SIGXFSZ]:\"SIGXFSZ\",[exports.WASI_SIGVTALRM]:\"SIGVTALRM\"}}}),require_wasi=__commonJS({\"node_modules/wasi-js/dist/wasi.js\"(exports){var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule\?mod:{default:mod}};let fs;Object.defineProperty(exports,\"__esModule\",{value:!0}),exports.SOCKET_DEFAULT_RIGHTS=void 0;var log=()=>{},logOpen=()=>{},SC_OPEN_MAX=32768,types_1=require_types(),constants_1=require_constants(),STDIN_DEFAULT_RIGHTS=constants_1.WASI_RIGHT_FD_DATASYNC|constants_1.WASI_RIGHT_FD_READ|constants_1.WASI_RIGHT_FD_SYNC|constants_1.WASI_RIGHT_FD_ADVISE|constants_1.WASI_RIGHT_FD_FILESTAT_GET|constants_1.WASI_RIGHT_POLL_FD_READWRITE,STDOUT_DEFAULT_RIGHTS=constants_1.WASI_RIGHT_FD_DATASYNC|constants_1.WASI_RIGHT_FD_WRITE|constants_1.WASI_RIGHT_FD_SYNC|constants_1.WASI_RIGHT_FD_ADVISE|constants_1.WASI_RIGHT_FD_FILESTAT_GET|constants_1.WASI_RIGHT_POLL_FD_READWRITE,STDERR_DEFAULT_RIGHTS=STDOUT_DEFAULT_RIGHTS;exports.SOCKET_DEFAULT_RIGHTS=constants_1.WASI_RIGHT_FD_DATASYNC|constants_1.WASI_RIGHT_FD_READ|constants_1.WASI_RIGHT_FD_WRITE|constants_1.WASI_RIGHT_FD_ADVISE|constants_1.WASI_RIGHT_FD_FILESTAT_GET|constants_1.WASI_RIGHT_POLL_FD_READWRITE|constants_1.WASI_RIGHT_FD_FDSTAT_SET_FLAGS;var msToNs=(ms)=>{const msInt=Math.trunc(ms),decimal=BigInt(Math.round((ms-msInt)*1e6));return BigInt(msInt)*BigInt(1e6)+decimal},nsToMs=(ns)=>{if(typeof ns===\"number\")ns=Math.trunc(ns);const nsInt=BigInt(ns);return Number(nsInt/BigInt(1e6))},wrap=(f)=>(...args)=>{try{return f(...args)}catch(err){let e=err;while(e.prev!=null)e=e.prev;if(e\?.code&&typeof e\?.code===\"string\")return constants_1.ERROR_MAP[e.code]||constants_1.WASI_EINVAL;if(e instanceof types_1.WASIError)return e.errno;throw e}},stat=(wasi,fd)=>{const entry=wasi.FD_MAP.get(fd);if(!entry)throw new types_1.WASIError(constants_1.WASI_EBADF);if(entry.filetype===void 0){const stats=wasi.fstatSync(entry.real),{filetype,rightsBase,rightsInheriting}=translateFileAttributes(wasi,fd,stats);if(entry.filetype=filetype,!entry.rights)entry.rights={base:rightsBase,inheriting:rightsInheriting}}return entry},translateFileAttributes=(wasi,fd,stats)=>{switch(!0){case stats.isBlockDevice():return{filetype:constants_1.WASI_FILETYPE_BLOCK_DEVICE,rightsBase:constants_1.RIGHTS_BLOCK_DEVICE_BASE,rightsInheriting:constants_1.RIGHTS_BLOCK_DEVICE_INHERITING};case stats.isCharacterDevice():{const filetype=constants_1.WASI_FILETYPE_CHARACTER_DEVICE;if(fd!==void 0&&wasi.bindings.isTTY(fd))return{filetype,rightsBase:constants_1.RIGHTS_TTY_BASE,rightsInheriting:constants_1.RIGHTS_TTY_INHERITING};return{filetype,rightsBase:constants_1.RIGHTS_CHARACTER_DEVICE_BASE,rightsInheriting:constants_1.RIGHTS_CHARACTER_DEVICE_INHERITING}}case stats.isDirectory():return{filetype:constants_1.WASI_FILETYPE_DIRECTORY,rightsBase:constants_1.RIGHTS_DIRECTORY_BASE,rightsInheriting:constants_1.RIGHTS_DIRECTORY_INHERITING};case stats.isFIFO():return{filetype:constants_1.WASI_FILETYPE_SOCKET_STREAM,rightsBase:constants_1.RIGHTS_SOCKET_BASE,rightsInheriting:constants_1.RIGHTS_SOCKET_INHERITING};case stats.isFile():return{filetype:constants_1.WASI_FILETYPE_REGULAR_FILE,rightsBase:constants_1.RIGHTS_REGULAR_FILE_BASE,rightsInheriting:constants_1.RIGHTS_REGULAR_FILE_INHERITING};case stats.isSocket():return{filetype:constants_1.WASI_FILETYPE_SOCKET_STREAM,rightsBase:constants_1.RIGHTS_SOCKET_BASE,rightsInheriting:constants_1.RIGHTS_SOCKET_INHERITING};case stats.isSymbolicLink():return{filetype:constants_1.WASI_FILETYPE_SYMBOLIC_LINK,rightsBase:BigInt(0),rightsInheriting:BigInt(0)};default:return{filetype:constants_1.WASI_FILETYPE_UNKNOWN,rightsBase:BigInt(0),rightsInheriting:BigInt(0)}}},warnedAboutSleep=!1,defaultConfig;function getDefaults(){if(defaultConfig)return defaultConfig;const defaultBindings={hrtime:()=>process.hrtime.bigint(),exit:(code)=>{process.exit(code)},kill:(signal)=>{process.kill(process.pid,signal)},randomFillSync:(array)=>crypto.getRandomValues(array),isTTY:(fd)=>@requireBuiltin(54).isatty(fd),fs:Bun.fs(),path:@requireId(23)};return defaultConfig={args:[],env:{},preopens:{},bindings:defaultBindings,sleep:(ms)=>{Bun.sleepSync(ms)}}}var WASI=class WASI2{constructor(wasiConfig={}){const defaultConfig2=getDefaults();this.lastStdin=0,this.sleep=wasiConfig.sleep||defaultConfig2.sleep,this.getStdin=wasiConfig.getStdin,this.sendStdout=wasiConfig.sendStdout,this.sendStderr=wasiConfig.sendStderr;let preopens=wasiConfig.preopens\?\?defaultConfig2.preopens;this.env=wasiConfig.env\?\?defaultConfig2.env;const args=wasiConfig.args\?\?defaultConfig2.args;this.memory=void 0,this.view=void 0,this.bindings=wasiConfig.bindings||defaultConfig2.bindings;const bindings2=this.bindings;fs=bindings2.fs,this.FD_MAP=new Map([[constants_1.WASI_STDIN_FILENO,{real:0,filetype:constants_1.WASI_FILETYPE_CHARACTER_DEVICE,rights:{base:STDIN_DEFAULT_RIGHTS,inheriting:BigInt(0)},path:\"/dev/stdin\"}],[constants_1.WASI_STDOUT_FILENO,{real:1,filetype:constants_1.WASI_FILETYPE_CHARACTER_DEVICE,rights:{base:STDOUT_DEFAULT_RIGHTS,inheriting:BigInt(0)},path:\"/dev/stdout\"}],[constants_1.WASI_STDERR_FILENO,{real:2,filetype:constants_1.WASI_FILETYPE_CHARACTER_DEVICE,rights:{base:STDERR_DEFAULT_RIGHTS,inheriting:BigInt(0)},path:\"/dev/stderr\"}]]);const path=bindings2.path;for(let[k,v]of Object.entries(preopens)){const real=fs.openSync(v,nodeFsConstants.O_RDONLY),newfd=this.getUnusedFileDescriptor();this.FD_MAP.set(newfd,{real,filetype:constants_1.WASI_FILETYPE_DIRECTORY,rights:{base:constants_1.RIGHTS_DIRECTORY_BASE,inheriting:constants_1.RIGHTS_DIRECTORY_INHERITING},fakePath:k,path:v})}const getiovs=(iovs,iovsLen)=>{this.refreshMemory();const{view,memory}=this,{buffer}=memory,{byteLength}=buffer;if(iovsLen===1){const ptr=iovs,buf=view.getUint32(ptr,!0);let bufLen=view.getUint32(ptr+4,!0);if(bufLen>byteLength-buf)console.log({buf,bufLen,total_memory:byteLength}),log(\"getiovs: warning -- truncating buffer to fit in memory\"),bufLen=Math.min(bufLen,Math.max(0,byteLength-buf));try{return[new Uint8Array(buffer,buf,bufLen)]}catch(err){throw console.warn(\"WASI.getiovs -- invalid buffer\",err),new types_1.WASIError(constants_1.WASI_EINVAL)}}const buffers=[];buffers.length=iovsLen;for(let i=0,ptr=iovs;ibyteLength-buf)console.log({buf,bufLen,total_memory:byteLength}),log(\"getiovs: warning -- truncating buffer to fit in memory\"),bufLen=Math.min(bufLen,Math.max(0,byteLength-buf));try{buffers[i]=new Uint8Array(buffer,buf,bufLen)}catch(err){throw console.warn(\"WASI.getiovs -- invalid buffer\",err),new types_1.WASIError(constants_1.WASI_EINVAL)}}return buffers},CHECK_FD=(fd,rights)=>{const stats=stat(this,fd);if(rights!==BigInt(0)&&(stats.rights.base&rights)===BigInt(0))throw new types_1.WASIError(constants_1.WASI_EPERM);return stats},CPUTIME_START=Bun.nanoseconds(),timeOrigin=Math.trunc(performance.timeOrigin*1e6),now=(clockId)=>{switch(clockId){case constants_1.WASI_CLOCK_MONOTONIC:return Bun.nanoseconds();case constants_1.WASI_CLOCK_REALTIME:return Bun.nanoseconds()+timeOrigin;case constants_1.WASI_CLOCK_PROCESS_CPUTIME_ID:case constants_1.WASI_CLOCK_THREAD_CPUTIME_ID:return Bun.nanoseconds()-CPUTIME_START;default:return null}};if(this.wasiImport={args_get:(argv,argvBuf)=>{this.refreshMemory();let coffset=argv,offset=argvBuf;return args.forEach((a)=>{this.view.setUint32(coffset,offset,!0),coffset+=4,offset+=Buffer.from(this.memory.buffer).write(`${a}\\0`,offset)}),constants_1.WASI_ESUCCESS},args_sizes_get:(argc,argvBufSize)=>{this.refreshMemory(),this.view.setUint32(argc,args.length,!0);const size=args.reduce((acc,a)=>acc+Buffer.byteLength(a)+1,0);return this.view.setUint32(argvBufSize,size,!0),constants_1.WASI_ESUCCESS},environ_get:(environ,environBuf)=>{this.refreshMemory();let coffset=environ,offset=environBuf;return Object.entries(this.env).forEach(([key,value])=>{this.view.setUint32(coffset,offset,!0),coffset+=4,offset+=Buffer.from(this.memory.buffer).write(`${key}=${value}\\0`,offset)}),constants_1.WASI_ESUCCESS},environ_sizes_get:(environCount,environBufSize)=>{this.refreshMemory();const envProcessed=Object.entries(this.env).map(([key,value])=>`${key}=${value}\\0`),size=envProcessed.reduce((acc,e)=>acc+Buffer.byteLength(e),0);return this.view.setUint32(environCount,envProcessed.length,!0),this.view.setUint32(environBufSize,size,!0),constants_1.WASI_ESUCCESS},clock_res_get:(clockId,resolution)=>{let res;switch(clockId){case constants_1.WASI_CLOCK_MONOTONIC:case constants_1.WASI_CLOCK_PROCESS_CPUTIME_ID:case constants_1.WASI_CLOCK_THREAD_CPUTIME_ID:{res=BigInt(1);break}case constants_1.WASI_CLOCK_REALTIME:{res=BigInt(1000);break}}if(!res)throw Error(\"invalid clockId\");return this.view.setBigUint64(resolution,res),constants_1.WASI_ESUCCESS},clock_time_get:(clockId,_precision,time)=>{this.refreshMemory();const n=now(clockId);if(n===null)return constants_1.WASI_EINVAL;return this.view.setBigUint64(time,BigInt(n),!0),constants_1.WASI_ESUCCESS},fd_advise:wrap((fd,_offset,_len,_advice)=>{return CHECK_FD(fd,constants_1.WASI_RIGHT_FD_ADVISE),constants_1.WASI_ENOSYS}),fd_allocate:wrap((fd,_offset,_len)=>{return CHECK_FD(fd,constants_1.WASI_RIGHT_FD_ALLOCATE),constants_1.WASI_ENOSYS}),fd_close:wrap((fd)=>{const stats=CHECK_FD(fd,BigInt(0));return fs.closeSync(stats.real),this.FD_MAP.delete(fd),constants_1.WASI_ESUCCESS}),fd_datasync:wrap((fd)=>{const stats=CHECK_FD(fd,constants_1.WASI_RIGHT_FD_DATASYNC);return fs.fdatasyncSync(stats.real),constants_1.WASI_ESUCCESS}),fd_fdstat_get:wrap((fd,bufPtr)=>{const stats=CHECK_FD(fd,BigInt(0));if(this.refreshMemory(),stats.filetype==null)throw Error(\"stats.filetype must be set\");return this.view.setUint8(bufPtr,stats.filetype),this.view.setUint16(bufPtr+2,0,!0),this.view.setUint16(bufPtr+4,0,!0),this.view.setBigUint64(bufPtr+8,BigInt(stats.rights.base),!0),this.view.setBigUint64(bufPtr+8+8,BigInt(stats.rights.inheriting),!0),constants_1.WASI_ESUCCESS}),fd_fdstat_set_flags:wrap((fd,flags)=>{if(CHECK_FD(fd,constants_1.WASI_RIGHT_FD_FDSTAT_SET_FLAGS),this.wasiImport.sock_fcntlSetFlags(fd,flags)==0)return constants_1.WASI_ESUCCESS;return constants_1.WASI_ENOSYS}),fd_fdstat_set_rights:wrap((fd,fsRightsBase,fsRightsInheriting)=>{const stats=CHECK_FD(fd,BigInt(0));if((stats.rights.base|fsRightsBase)>stats.rights.base)return constants_1.WASI_EPERM;if((stats.rights.inheriting|fsRightsInheriting)>stats.rights.inheriting)return constants_1.WASI_EPERM;return stats.rights.base=fsRightsBase,stats.rights.inheriting=fsRightsInheriting,constants_1.WASI_ESUCCESS}),fd_filestat_get:wrap((fd,bufPtr)=>{const stats=CHECK_FD(fd,constants_1.WASI_RIGHT_FD_FILESTAT_GET),rstats=this.fstatSync(stats.real);if(this.refreshMemory(),this.view.setBigUint64(bufPtr,BigInt(rstats.dev),!0),bufPtr+=8,this.view.setBigUint64(bufPtr,BigInt(rstats.ino),!0),bufPtr+=8,stats.filetype==null)throw Error(\"stats.filetype must be set\");return this.view.setUint8(bufPtr,stats.filetype),bufPtr+=8,this.view.setBigUint64(bufPtr,BigInt(rstats.nlink),!0),bufPtr+=8,this.view.setBigUint64(bufPtr,BigInt(rstats.size),!0),bufPtr+=8,this.view.setBigUint64(bufPtr,msToNs(rstats.atimeMs),!0),bufPtr+=8,this.view.setBigUint64(bufPtr,msToNs(rstats.mtimeMs),!0),bufPtr+=8,this.view.setBigUint64(bufPtr,msToNs(rstats.ctimeMs),!0),constants_1.WASI_ESUCCESS}),fd_filestat_set_size:wrap((fd,stSize)=>{const stats=CHECK_FD(fd,constants_1.WASI_RIGHT_FD_FILESTAT_SET_SIZE);return fs.ftruncateSync(stats.real,Number(stSize)),constants_1.WASI_ESUCCESS}),fd_filestat_set_times:wrap((fd,stAtim,stMtim,fstflags)=>{const stats=CHECK_FD(fd,constants_1.WASI_RIGHT_FD_FILESTAT_SET_TIMES),rstats=this.fstatSync(stats.real);let{atime:atim,mtime:mtim}=rstats;const n=nsToMs(now(constants_1.WASI_CLOCK_REALTIME)),atimflags=constants_1.WASI_FILESTAT_SET_ATIM|constants_1.WASI_FILESTAT_SET_ATIM_NOW;if((fstflags&atimflags)===atimflags)return constants_1.WASI_EINVAL;const mtimflags=constants_1.WASI_FILESTAT_SET_MTIM|constants_1.WASI_FILESTAT_SET_MTIM_NOW;if((fstflags&mtimflags)===mtimflags)return constants_1.WASI_EINVAL;if((fstflags&constants_1.WASI_FILESTAT_SET_ATIM)===constants_1.WASI_FILESTAT_SET_ATIM)atim=nsToMs(stAtim);else if((fstflags&constants_1.WASI_FILESTAT_SET_ATIM_NOW)===constants_1.WASI_FILESTAT_SET_ATIM_NOW)atim=n;if((fstflags&constants_1.WASI_FILESTAT_SET_MTIM)===constants_1.WASI_FILESTAT_SET_MTIM)mtim=nsToMs(stMtim);else if((fstflags&constants_1.WASI_FILESTAT_SET_MTIM_NOW)===constants_1.WASI_FILESTAT_SET_MTIM_NOW)mtim=n;return fs.futimesSync(stats.real,new Date(atim),new Date(mtim)),constants_1.WASI_ESUCCESS}),fd_prestat_get:wrap((fd,bufPtr)=>{const stats=CHECK_FD(fd,BigInt(0));return this.refreshMemory(),this.view.setUint8(bufPtr,constants_1.WASI_PREOPENTYPE_DIR),this.view.setUint32(bufPtr+4,Buffer.byteLength(stats.fakePath\?\?stats.path\?\?\"\"),!0),constants_1.WASI_ESUCCESS}),fd_prestat_dir_name:wrap((fd,pathPtr,pathLen)=>{const stats=CHECK_FD(fd,BigInt(0));return this.refreshMemory(),Buffer.from(this.memory.buffer).write(stats.fakePath\?\?stats.path\?\?\"\",pathPtr,pathLen,\"utf8\"),constants_1.WASI_ESUCCESS}),fd_pwrite:wrap((fd,iovs,iovsLen,offset,nwritten)=>{const stats=CHECK_FD(fd,constants_1.WASI_RIGHT_FD_WRITE|constants_1.WASI_RIGHT_FD_SEEK);let written=0;return getiovs(iovs,iovsLen).forEach((iov)=>{let w=0;while(w{const stats=CHECK_FD(fd,constants_1.WASI_RIGHT_FD_WRITE),IS_STDOUT=fd==constants_1.WASI_STDOUT_FILENO,IS_STDERR=fd==constants_1.WASI_STDERR_FILENO;let written=0;return getiovs(iovs,iovsLen).forEach((iov)=>{if(iov.byteLength==0)return;if(IS_STDOUT&&this.sendStdout!=null)this.sendStdout(iov),written+=iov.byteLength;else if(IS_STDERR&&this.sendStderr!=null)this.sendStderr(iov),written+=iov.byteLength;else{let w=0;while(w{const stats=CHECK_FD(fd,constants_1.WASI_RIGHT_FD_READ|constants_1.WASI_RIGHT_FD_SEEK);let read=0;outer:for(let iov of getiovs(iovs,iovsLen)){let r=0;while(r{const stats=CHECK_FD(fd,constants_1.WASI_RIGHT_FD_READ),IS_STDIN=fd==constants_1.WASI_STDIN_FILENO;let read=0;outer:for(let iov of getiovs(iovs,iovsLen)){let r=0;while(r0)this.lastStdin=(new Date()).valueOf()}}else{if(this.sleep==null&&!warnedAboutSleep)warnedAboutSleep=!0,console.log(\"(cpu waiting for stdin: please define a way to sleep!) \");try{rr=fs.readSync(stats.real,iov,r,length,position)}catch(_err){}if(rr==0)this.shortPause();else this.lastStdin=(new Date()).valueOf()}else rr=fs.readSync(stats.real,iov,r,length,position);if(stats.filetype==constants_1.WASI_FILETYPE_REGULAR_FILE)stats.offset=(stats.offset\?stats.offset:BigInt(0))+BigInt(rr);if(r+=rr,read+=rr,rr===0||rr{const stats=CHECK_FD(fd,constants_1.WASI_RIGHT_FD_READDIR);this.refreshMemory();const entries=fs.readdirSync(stats.path,{withFileTypes:!0}),startPtr=bufPtr;for(let i=Number(cookie);ibufLen)break;if(this.view.setBigUint64(bufPtr,BigInt(i+1),!0),bufPtr+=8,bufPtr-startPtr>bufLen)break;const rstats=fs.lstatSync(path.resolve(stats.path,entry.name));if(this.view.setBigUint64(bufPtr,BigInt(rstats.ino),!0),bufPtr+=8,bufPtr-startPtr>bufLen)break;if(this.view.setUint32(bufPtr,nameLength,!0),bufPtr+=4,bufPtr-startPtr>bufLen)break;let filetype;switch(!0){case rstats.isBlockDevice():filetype=constants_1.WASI_FILETYPE_BLOCK_DEVICE;break;case rstats.isCharacterDevice():filetype=constants_1.WASI_FILETYPE_CHARACTER_DEVICE;break;case rstats.isDirectory():filetype=constants_1.WASI_FILETYPE_DIRECTORY;break;case rstats.isFIFO():filetype=constants_1.WASI_FILETYPE_SOCKET_STREAM;break;case rstats.isFile():filetype=constants_1.WASI_FILETYPE_REGULAR_FILE;break;case rstats.isSocket():filetype=constants_1.WASI_FILETYPE_SOCKET_STREAM;break;case rstats.isSymbolicLink():filetype=constants_1.WASI_FILETYPE_SYMBOLIC_LINK;break;default:filetype=constants_1.WASI_FILETYPE_UNKNOWN;break}if(this.view.setUint8(bufPtr,filetype),bufPtr+=1,bufPtr+=3,bufPtr+nameLength>=startPtr+bufLen)break;Buffer.from(this.memory.buffer).write(entry.name,bufPtr),bufPtr+=nameLength}const bufused=bufPtr-startPtr;return this.view.setUint32(bufusedPtr,Math.min(bufused,bufLen),!0),constants_1.WASI_ESUCCESS}),fd_renumber:wrap((from,to)=>{return CHECK_FD(from,BigInt(0)),CHECK_FD(to,BigInt(0)),fs.closeSync(this.FD_MAP.get(from).real),this.FD_MAP.set(from,this.FD_MAP.get(to)),this.FD_MAP.delete(to),constants_1.WASI_ESUCCESS}),fd_seek:wrap((fd,offset,whence,newOffsetPtr)=>{const stats=CHECK_FD(fd,constants_1.WASI_RIGHT_FD_SEEK);switch(this.refreshMemory(),whence){case constants_1.WASI_WHENCE_CUR:stats.offset=(stats.offset\?stats.offset:BigInt(0))+BigInt(offset);break;case constants_1.WASI_WHENCE_END:const{size}=this.fstatSync(stats.real);stats.offset=BigInt(size)+BigInt(offset);break;case constants_1.WASI_WHENCE_SET:stats.offset=BigInt(offset);break}if(stats.offset==null)throw Error(\"stats.offset must be defined\");return this.view.setBigUint64(newOffsetPtr,stats.offset,!0),constants_1.WASI_ESUCCESS}),fd_tell:wrap((fd,offsetPtr)=>{const stats=CHECK_FD(fd,constants_1.WASI_RIGHT_FD_TELL);if(this.refreshMemory(),!stats.offset)stats.offset=BigInt(0);return this.view.setBigUint64(offsetPtr,stats.offset,!0),constants_1.WASI_ESUCCESS}),fd_sync:wrap((fd)=>{const stats=CHECK_FD(fd,constants_1.WASI_RIGHT_FD_SYNC);return fs.fsyncSync(stats.real),constants_1.WASI_ESUCCESS}),path_create_directory:wrap((fd,pathPtr,pathLen)=>{const stats=CHECK_FD(fd,constants_1.WASI_RIGHT_PATH_CREATE_DIRECTORY);if(!stats.path)return constants_1.WASI_EINVAL;this.refreshMemory();const p=Buffer.from(this.memory.buffer,pathPtr,pathLen).toString();return fs.mkdirSync(path.resolve(stats.path,p)),constants_1.WASI_ESUCCESS}),path_filestat_get:wrap((fd,flags,pathPtr,pathLen,bufPtr)=>{const stats=CHECK_FD(fd,constants_1.WASI_RIGHT_PATH_FILESTAT_GET);if(!stats.path)return constants_1.WASI_EINVAL;this.refreshMemory();const p=Buffer.from(this.memory.buffer,pathPtr,pathLen).toString();let rstats;if(flags)rstats=fs.statSync(path.resolve(stats.path,p));else rstats=fs.lstatSync(path.resolve(stats.path,p));return this.view.setBigUint64(bufPtr,BigInt(rstats.dev),!0),bufPtr+=8,this.view.setBigUint64(bufPtr,BigInt(rstats.ino),!0),bufPtr+=8,this.view.setUint8(bufPtr,translateFileAttributes(this,void 0,rstats).filetype),bufPtr+=8,this.view.setBigUint64(bufPtr,BigInt(rstats.nlink),!0),bufPtr+=8,this.view.setBigUint64(bufPtr,BigInt(rstats.size),!0),bufPtr+=8,this.view.setBigUint64(bufPtr,BigInt(rstats.atime.getTime()*1e6),!0),bufPtr+=8,this.view.setBigUint64(bufPtr,BigInt(rstats.mtime.getTime()*1e6),!0),bufPtr+=8,this.view.setBigUint64(bufPtr,BigInt(rstats.ctime.getTime()*1e6),!0),constants_1.WASI_ESUCCESS}),path_filestat_set_times:wrap((fd,_dirflags,pathPtr,pathLen,stAtim,stMtim,fstflags)=>{const stats=CHECK_FD(fd,constants_1.WASI_RIGHT_PATH_FILESTAT_SET_TIMES);if(!stats.path)return constants_1.WASI_EINVAL;this.refreshMemory();const rstats=this.fstatSync(stats.real);let{atime:atim,mtime:mtim}=rstats;const n=nsToMs(now(constants_1.WASI_CLOCK_REALTIME)),atimflags=constants_1.WASI_FILESTAT_SET_ATIM|constants_1.WASI_FILESTAT_SET_ATIM_NOW;if((fstflags&atimflags)===atimflags)return constants_1.WASI_EINVAL;const mtimflags=constants_1.WASI_FILESTAT_SET_MTIM|constants_1.WASI_FILESTAT_SET_MTIM_NOW;if((fstflags&mtimflags)===mtimflags)return constants_1.WASI_EINVAL;if((fstflags&constants_1.WASI_FILESTAT_SET_ATIM)===constants_1.WASI_FILESTAT_SET_ATIM)atim=nsToMs(stAtim);else if((fstflags&constants_1.WASI_FILESTAT_SET_ATIM_NOW)===constants_1.WASI_FILESTAT_SET_ATIM_NOW)atim=n;if((fstflags&constants_1.WASI_FILESTAT_SET_MTIM)===constants_1.WASI_FILESTAT_SET_MTIM)mtim=nsToMs(stMtim);else if((fstflags&constants_1.WASI_FILESTAT_SET_MTIM_NOW)===constants_1.WASI_FILESTAT_SET_MTIM_NOW)mtim=n;const p=Buffer.from(this.memory.buffer,pathPtr,pathLen).toString();return fs.utimesSync(path.resolve(stats.path,p),new Date(atim),new Date(mtim)),constants_1.WASI_ESUCCESS}),path_link:wrap((oldFd,_oldFlags,oldPath,oldPathLen,newFd,newPath,newPathLen)=>{const ostats=CHECK_FD(oldFd,constants_1.WASI_RIGHT_PATH_LINK_SOURCE),nstats=CHECK_FD(newFd,constants_1.WASI_RIGHT_PATH_LINK_TARGET);if(!ostats.path||!nstats.path)return constants_1.WASI_EINVAL;this.refreshMemory();const op=Buffer.from(this.memory.buffer,oldPath,oldPathLen).toString(),np=Buffer.from(this.memory.buffer,newPath,newPathLen).toString();return fs.linkSync(path.resolve(ostats.path,op),path.resolve(nstats.path,np)),constants_1.WASI_ESUCCESS}),path_open:wrap((dirfd,_dirflags,pathPtr,pathLen,oflags,fsRightsBase,fsRightsInheriting,fsFlags,fdPtr)=>{try{const stats=CHECK_FD(dirfd,constants_1.WASI_RIGHT_PATH_OPEN);fsRightsBase=BigInt(fsRightsBase),fsRightsInheriting=BigInt(fsRightsInheriting);const read=(fsRightsBase&(constants_1.WASI_RIGHT_FD_READ|constants_1.WASI_RIGHT_FD_READDIR))!==BigInt(0),write=(fsRightsBase&(constants_1.WASI_RIGHT_FD_DATASYNC|constants_1.WASI_RIGHT_FD_WRITE|constants_1.WASI_RIGHT_FD_ALLOCATE|constants_1.WASI_RIGHT_FD_FILESTAT_SET_SIZE))!==BigInt(0);let noflags;if(write&&read)noflags=nodeFsConstants.O_RDWR;else if(read)noflags=nodeFsConstants.O_RDONLY;else if(write)noflags=nodeFsConstants.O_WRONLY;let neededBase=fsRightsBase|constants_1.WASI_RIGHT_PATH_OPEN,neededInheriting=fsRightsBase|fsRightsInheriting;if((oflags&constants_1.WASI_O_CREAT)!==0)noflags|=nodeFsConstants.O_CREAT,neededBase|=constants_1.WASI_RIGHT_PATH_CREATE_FILE;if((oflags&constants_1.WASI_O_DIRECTORY)!==0)noflags|=nodeFsConstants.O_DIRECTORY;if((oflags&constants_1.WASI_O_EXCL)!==0)noflags|=nodeFsConstants.O_EXCL;if((oflags&constants_1.WASI_O_TRUNC)!==0)noflags|=nodeFsConstants.O_TRUNC,neededBase|=constants_1.WASI_RIGHT_PATH_FILESTAT_SET_SIZE;if((fsFlags&constants_1.WASI_FDFLAG_APPEND)!==0)noflags|=nodeFsConstants.O_APPEND;if((fsFlags&constants_1.WASI_FDFLAG_DSYNC)!==0){if(nodeFsConstants.O_DSYNC)noflags|=nodeFsConstants.O_DSYNC;else noflags|=nodeFsConstants.O_SYNC;neededInheriting|=constants_1.WASI_RIGHT_FD_DATASYNC}if((fsFlags&constants_1.WASI_FDFLAG_NONBLOCK)!==0)noflags|=nodeFsConstants.O_NONBLOCK;if((fsFlags&constants_1.WASI_FDFLAG_RSYNC)!==0){if(nodeFsConstants.O_RSYNC)noflags|=nodeFsConstants.O_RSYNC;else noflags|=nodeFsConstants.O_SYNC;neededInheriting|=constants_1.WASI_RIGHT_FD_SYNC}if((fsFlags&constants_1.WASI_FDFLAG_SYNC)!==0)noflags|=nodeFsConstants.O_SYNC,neededInheriting|=constants_1.WASI_RIGHT_FD_SYNC;if(write&&(noflags&(nodeFsConstants.O_APPEND|nodeFsConstants.O_TRUNC))===0)neededInheriting|=constants_1.WASI_RIGHT_FD_SEEK;this.refreshMemory();const p=Buffer.from(this.memory.buffer,pathPtr,pathLen).toString();if(p==\"dev/tty\")return this.view.setUint32(fdPtr,constants_1.WASI_STDIN_FILENO,!0),constants_1.WASI_ESUCCESS;if(logOpen(\"path_open\",p),p.startsWith(\"proc/\"))throw new types_1.WASIError(constants_1.WASI_EBADF);const fullUnresolved=path.resolve(p);let full;try{full=fs.realpathSync(fullUnresolved)}catch(e){if(e\?.code===\"ENOENT\")full=fullUnresolved;else throw e}let isDirectory;if(write)try{isDirectory=fs.statSync(full).isDirectory()}catch(_err){}let realfd;if(!write&&isDirectory)realfd=fs.openSync(full,nodeFsConstants.O_RDONLY);else realfd=fs.openSync(full,noflags);const newfd=this.getUnusedFileDescriptor();this.FD_MAP.set(newfd,{real:realfd,filetype:void 0,rights:{base:neededBase,inheriting:neededInheriting},path:full}),stat(this,newfd),this.view.setUint32(fdPtr,newfd,!0)}catch(e){console.error(e)}return constants_1.WASI_ESUCCESS}),path_readlink:wrap((fd,pathPtr,pathLen,buf,bufLen,bufused)=>{const stats=CHECK_FD(fd,constants_1.WASI_RIGHT_PATH_READLINK);if(!stats.path)return constants_1.WASI_EINVAL;this.refreshMemory();const p=Buffer.from(this.memory.buffer,pathPtr,pathLen).toString(),full=path.resolve(stats.path,p),r=fs.readlinkSync(full),used=Buffer.from(this.memory.buffer).write(r,buf,bufLen);return this.view.setUint32(bufused,used,!0),constants_1.WASI_ESUCCESS}),path_remove_directory:wrap((fd,pathPtr,pathLen)=>{const stats=CHECK_FD(fd,constants_1.WASI_RIGHT_PATH_REMOVE_DIRECTORY);if(!stats.path)return constants_1.WASI_EINVAL;this.refreshMemory();const p=Buffer.from(this.memory.buffer,pathPtr,pathLen).toString();return fs.rmdirSync(path.resolve(stats.path,p)),constants_1.WASI_ESUCCESS}),path_rename:wrap((oldFd,oldPath,oldPathLen,newFd,newPath,newPathLen)=>{const ostats=CHECK_FD(oldFd,constants_1.WASI_RIGHT_PATH_RENAME_SOURCE),nstats=CHECK_FD(newFd,constants_1.WASI_RIGHT_PATH_RENAME_TARGET);if(!ostats.path||!nstats.path)return constants_1.WASI_EINVAL;this.refreshMemory();const op=Buffer.from(this.memory.buffer,oldPath,oldPathLen).toString(),np=Buffer.from(this.memory.buffer,newPath,newPathLen).toString();return fs.renameSync(path.resolve(ostats.path,op),path.resolve(nstats.path,np)),constants_1.WASI_ESUCCESS}),path_symlink:wrap((oldPath,oldPathLen,fd,newPath,newPathLen)=>{const stats=CHECK_FD(fd,constants_1.WASI_RIGHT_PATH_SYMLINK);if(!stats.path)return constants_1.WASI_EINVAL;this.refreshMemory();const op=Buffer.from(this.memory.buffer,oldPath,oldPathLen).toString(),np=Buffer.from(this.memory.buffer,newPath,newPathLen).toString();return fs.symlinkSync(op,path.resolve(stats.path,np)),constants_1.WASI_ESUCCESS}),path_unlink_file:wrap((fd,pathPtr,pathLen)=>{const stats=CHECK_FD(fd,constants_1.WASI_RIGHT_PATH_UNLINK_FILE);if(!stats.path)return constants_1.WASI_EINVAL;this.refreshMemory();const p=Buffer.from(this.memory.buffer,pathPtr,pathLen).toString();return fs.unlinkSync(path.resolve(stats.path,p)),constants_1.WASI_ESUCCESS}),poll_oneoff:(sin,sout,nsubscriptions,neventsPtr)=>{let nevents=0,name=\"\",waitTimeNs=BigInt(0),fd=-1,fd_type=\"read\",fd_timeout_ms=0;const startNs=BigInt(bindings2.hrtime());this.refreshMemory();let last_sin=sin;for(let i=0;iwaitTimeNs)waitTimeNs=waitNs}this.view.setBigUint64(sout,userdata,!0),sout+=8,this.view.setUint16(sout,e,!0),sout+=2,this.view.setUint8(sout,constants_1.WASI_EVENTTYPE_CLOCK),sout+=1,sout+=5,nevents+=1;break}case constants_1.WASI_EVENTTYPE_FD_READ:case constants_1.WASI_EVENTTYPE_FD_WRITE:{if(fd=this.view.getUint32(sin,!0),fd_type=type==constants_1.WASI_EVENTTYPE_FD_READ\?\"read\":\"write\",sin+=4,log(name,\"fd =\",fd),sin+=28,this.view.setBigUint64(sout,userdata,!0),sout+=8,this.view.setUint16(sout,constants_1.WASI_ENOSYS,!0),sout+=2,this.view.setUint8(sout,type),sout+=1,sout+=5,nevents+=1,fd==constants_1.WASI_STDIN_FILENO&&constants_1.WASI_EVENTTYPE_FD_READ==type)this.shortPause();break}default:return constants_1.WASI_EINVAL}if(sin-last_sin!=48)console.warn(\"*** BUG in wasi-js in poll_oneoff \",{i,sin,last_sin,diff:sin-last_sin});last_sin=sin}if(this.view.setUint32(neventsPtr,nevents,!0),nevents==2&&fd>=0){const r=this.wasiImport.sock_pollSocket(fd,fd_type,fd_timeout_ms);if(r!=constants_1.WASI_ENOSYS)return r}if(waitTimeNs>0){if(waitTimeNs-=Bun.nanoseconds()-timeOrigin,waitTimeNs>=1e6){if(this.sleep==null&&!warnedAboutSleep)warnedAboutSleep=!0,console.log(\"(100% cpu burning waiting for stdin: please define a way to sleep!) \");if(this.sleep!=null){const ms=nsToMs(waitTimeNs);this.sleep(ms)}else{const end=BigInt(bindings2.hrtime())+waitTimeNs;while(BigInt(bindings2.hrtime()){return bindings2.exit(rval),constants_1.WASI_ESUCCESS},proc_raise:(sig)=>{if(!(sig in constants_1.SIGNAL_MAP))return constants_1.WASI_EINVAL;return bindings2.kill(constants_1.SIGNAL_MAP[sig]),constants_1.WASI_ESUCCESS},random_get:(bufPtr,bufLen)=>{return this.refreshMemory(),crypto.getRandomValues(this.memory.buffer,bufPtr,bufLen),bufLen},sched_yield(){return constants_1.WASI_ESUCCESS},sock_recv(){return constants_1.WASI_ENOSYS},sock_send(){return constants_1.WASI_ENOSYS},sock_shutdown(){return constants_1.WASI_ENOSYS},sock_fcntlSetFlags(_fd,_flags){return constants_1.WASI_ENOSYS},sock_pollSocket(_fd,_eventtype,_timeout_ms){return constants_1.WASI_ENOSYS}},log.enabled)Object.keys(this.wasiImport).forEach((key)=>{const prevImport=this.wasiImport[key];this.wasiImport[key]=function(...args2){log(key,args2);try{let result=prevImport(...args2);return log(\"result\",result),result}catch(e){throw log(\"error: \",e),e}}})}getState(){return{env:this.env,FD_MAP:this.FD_MAP,bindings}}setState(state){this.env=state.env,this.FD_MAP=state.FD_MAP,bindings=state.bindings}fstatSync(real_fd){if(real_fd<=2)try{return fs.fstatSync(real_fd)}catch(_){const now=new Date;return{dev:0,mode:8592,nlink:1,uid:0,gid:0,rdev:0,blksize:65536,ino:0,size:0,blocks:0,atimeMs:now.valueOf(),mtimeMs:now.valueOf(),ctimeMs:now.valueOf(),birthtimeMs:0,atime:new Date,mtime:new Date,ctime:new Date,birthtime:new Date(0)}}return fs.fstatSync(real_fd)}shortPause(){if(this.sleep==null)return;if((new Date()).valueOf()-this.lastStdin>2000)this.sleep(50)}getUnusedFileDescriptor(start=3){let fd=start;while(this.FD_MAP.has(fd))fd+=1;if(fd>SC_OPEN_MAX)throw Error(\"no available file descriptors\");return fd}refreshMemory(){if(!this.view||this.view.buffer.byteLength===0)this.view=new DataView(this.memory.buffer)}setMemory(memory){this.memory=memory}start(instance,memory){const exports2=instance.exports;if(exports2===null||typeof exports2!==\"object\")throw new Error(`instance.exports must be an Object. Received ${exports2}.`);if(memory==null){if(memory=exports2.memory,!(memory instanceof WebAssembly.Memory))throw new Error(`instance.exports.memory must be a WebAssembly.Memory. Recceived ${memory}.`)}if(this.setMemory(memory),exports2._start)exports2._start()}getImports(module2){let namespace=null;const imports=WebAssembly.Module.imports(module2);for(let imp of imports){if(imp.kind!==\"function\")continue;if(!imp.module.startsWith(\"wasi_\"))continue;namespace=imp.module;break}switch(namespace){case\"wasi_unstable\":return{wasi_unstable:this.wasiImport};case\"wasi_snapshot_preview1\":return{wasi_snapshot_preview1:this.wasiImport};default:throw new Error(\"No WASI namespace found. Only wasi_unstable and wasi_snapshot_preview1 are supported.\\n\\nList of imports:\\n\\n\"+imports.map(({name,kind,module})=>`${module}:${name} (${kind})`).join(\"\\n\")+\"\\n\")}}initWasiFdInfo(){if(this.env.WASI_FD_INFO!=null){const fdInfo=JSON.parse(this.env.WASI_FD_INFO);for(let wasi_fd in fdInfo){console.log(wasi_fd);const fd=parseInt(wasi_fd);if(this.FD_MAP.has(fd))continue;const real=fdInfo[wasi_fd];try{this.fstatSync(real)}catch(_err){console.log(\"discarding \",{wasi_fd,real});continue}const file={real,filetype:constants_1.WASI_FILETYPE_SOCKET_STREAM,rights:{base:STDIN_DEFAULT_RIGHTS,inheriting:BigInt(0)}};this.FD_MAP.set(fd,file)}console.log(\"after initWasiFdInfo: \",this.FD_MAP),console.log(\"fdInfo = \",fdInfo)}else console.log(\"no WASI_FD_INFO\")}};exports.default=WASI}});return require_wasi()})\n"_s; +static constexpr ASCIILiteral NodeZlibCode = "(function (){\"use strict\";const assert=@requireId(3),BufferModule=@requireBuiltin(49),StreamModule=@requireId(30),Util=@requireId(38);var __getOwnPropNames=Object.getOwnPropertyNames,__commonJS=(cb,mod)=>function __require(){return mod||(0,cb[__getOwnPropNames(cb)[0]])((mod={exports:{}}).exports,mod),mod.exports},require_zstream=__commonJS({\"node_modules/pako/lib/zlib/zstream.js\"(exports,module2){function ZStream(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg=\"\",this.state=null,this.data_type=2,this.adler=0}module2.exports=ZStream}}),require_common=__commonJS({\"node_modules/pako/lib/utils/common.js\"(exports){var TYPED_OK=typeof Uint8Array!==\"undefined\"&&typeof Uint16Array!==\"undefined\"&&typeof Int32Array!==\"undefined\";function _has(obj,key){return Object.prototype.hasOwnProperty.call(obj,key)}exports.assign=function(obj){var sources=Array.prototype.slice.call(arguments,1);while(sources.length){var source=sources.shift();if(!source)continue;if(typeof source!==\"object\")@throwTypeError(source+\"must be non-object\");for(var p in source)if(_has(source,p))obj[p]=source[p]}return obj},exports.shrinkBuf=function(buf,size){if(buf.length===size)return buf;if(buf.subarray)return buf.subarray(0,size);return buf.length=size,buf};var fnTyped={arraySet:function(dest,src,src_offs,len,dest_offs){if(src.subarray&&dest.subarray){dest.set(src.subarray(src_offs,src_offs+len),dest_offs);return}for(var i=0;i=0)buf[len]=0}var STORED_BLOCK=0,STATIC_TREES=1,DYN_TREES=2,MIN_MATCH=3,MAX_MATCH=258,LENGTH_CODES=29,LITERALS=256,L_CODES=LITERALS+1+LENGTH_CODES,D_CODES=30,BL_CODES=19,HEAP_SIZE=2*L_CODES+1,MAX_BITS=15,Buf_size=16,MAX_BL_BITS=7,END_BLOCK=256,REP_3_6=16,REPZ_3_10=17,REPZ_11_138=18,extra_lbits=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],extra_dbits=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],extra_blbits=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],bl_order=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],DIST_CODE_LEN=512,static_ltree=new Array((L_CODES+2)*2);zero(static_ltree);var static_dtree=new Array(D_CODES*2);zero(static_dtree);var _dist_code=new Array(DIST_CODE_LEN);zero(_dist_code);var _length_code=new Array(MAX_MATCH-MIN_MATCH+1);zero(_length_code);var base_length=new Array(LENGTH_CODES);zero(base_length);var base_dist=new Array(D_CODES);zero(base_dist);function StaticTreeDesc(static_tree,extra_bits,extra_base,elems,max_length){this.static_tree=static_tree,this.extra_bits=extra_bits,this.extra_base=extra_base,this.elems=elems,this.max_length=max_length,this.has_stree=static_tree&&static_tree.length}var static_l_desc,static_d_desc,static_bl_desc;function TreeDesc(dyn_tree,stat_desc){this.dyn_tree=dyn_tree,this.max_code=0,this.stat_desc=stat_desc}function d_code(dist){return dist<256\?_dist_code[dist]:_dist_code[256+(dist>>>7)]}function put_short(s,w){s.pending_buf[s.pending++]=w&255,s.pending_buf[s.pending++]=w>>>8&255}function send_bits(s,value,length){if(s.bi_valid>Buf_size-length)s.bi_buf|=value<>Buf_size-s.bi_valid,s.bi_valid+=length-Buf_size;else s.bi_buf|=value<>>=1,res<<=1;while(--len>0);return res>>>1}function bi_flush(s){if(s.bi_valid===16)put_short(s,s.bi_buf),s.bi_buf=0,s.bi_valid=0;else if(s.bi_valid>=8)s.pending_buf[s.pending++]=s.bi_buf&255,s.bi_buf>>=8,s.bi_valid-=8}function gen_bitlen(s,desc){var{dyn_tree:tree,max_code}=desc,stree=desc.stat_desc.static_tree,has_stree=desc.stat_desc.has_stree,extra=desc.stat_desc.extra_bits,base=desc.stat_desc.extra_base,max_length=desc.stat_desc.max_length,h,n,m,bits,xbits,f,overflow=0;for(bits=0;bits<=MAX_BITS;bits++)s.bl_count[bits]=0;tree[s.heap[s.heap_max]*2+1]=0;for(h=s.heap_max+1;hmax_length)bits=max_length,overflow++;if(tree[n*2+1]=bits,n>max_code)continue;if(s.bl_count[bits]++,xbits=0,n>=base)xbits=extra[n-base];if(f=tree[n*2],s.opt_len+=f*(bits+xbits),has_stree)s.static_len+=f*(stree[n*2+1]+xbits)}if(overflow===0)return;do{bits=max_length-1;while(s.bl_count[bits]===0)bits--;s.bl_count[bits]--,s.bl_count[bits+1]+=2,s.bl_count[max_length]--,overflow-=2}while(overflow>0);for(bits=max_length;bits!==0;bits--){n=s.bl_count[bits];while(n!==0){if(m=s.heap[--h],m>max_code)continue;if(tree[m*2+1]!==bits)s.opt_len+=(bits-tree[m*2+1])*tree[m*2],tree[m*2+1]=bits;n--}}}function gen_codes(tree,max_code,bl_count){var next_code=new Array(MAX_BITS+1),code=0,bits,n;for(bits=1;bits<=MAX_BITS;bits++)next_code[bits]=code=code+bl_count[bits-1]<<1;for(n=0;n<=max_code;n++){var len=tree[n*2+1];if(len===0)continue;tree[n*2]=bi_reverse(next_code[len]++,len)}}function tr_static_init(){var n,bits,length,code,dist,bl_count=new Array(MAX_BITS+1);length=0;for(code=0;code>=7;for(;code8)put_short(s,s.bi_buf);else if(s.bi_valid>0)s.pending_buf[s.pending++]=s.bi_buf;s.bi_buf=0,s.bi_valid=0}function copy_block(s,buf,len,header){if(bi_windup(s),header)put_short(s,len),put_short(s,~len);utils.arraySet(s.pending_buf,s.window,buf,len,s.pending),s.pending+=len}function smaller(tree,n,m,depth){var _n2=n*2,_m2=m*2;return tree[_n2]>1;n>=1;n--)pqdownheap(s,tree,n);node=elems;do n=s.heap[1],s.heap[1]=s.heap[s.heap_len--],pqdownheap(s,tree,1),m=s.heap[1],s.heap[--s.heap_max]=n,s.heap[--s.heap_max]=m,tree[node*2]=tree[n*2]+tree[m*2],s.depth[node]=(s.depth[n]>=s.depth[m]\?s.depth[n]:s.depth[m])+1,tree[n*2+1]=tree[m*2+1]=node,s.heap[1]=node++,pqdownheap(s,tree,1);while(s.heap_len>=2);s.heap[--s.heap_max]=s.heap[1],gen_bitlen(s,desc),gen_codes(tree,max_code,s.bl_count)}function scan_tree(s,tree,max_code){var n,prevlen=-1,curlen,nextlen=tree[1],count=0,max_count=7,min_count=4;if(nextlen===0)max_count=138,min_count=3;tree[(max_code+1)*2+1]=65535;for(n=0;n<=max_code;n++){if(curlen=nextlen,nextlen=tree[(n+1)*2+1],++count=3;max_blindex--)if(s.bl_tree[bl_order[max_blindex]*2+1]!==0)break;return s.opt_len+=3*(max_blindex+1)+5+5+4,max_blindex}function send_all_trees(s,lcodes,dcodes,blcodes){var rank;send_bits(s,lcodes-257,5),send_bits(s,dcodes-1,5),send_bits(s,blcodes-4,4);for(rank=0;rank>>=1)if(black_mask&1&&s.dyn_ltree[n*2]!==0)return Z_BINARY;if(s.dyn_ltree[18]!==0||s.dyn_ltree[20]!==0||s.dyn_ltree[26]!==0)return Z_TEXT;for(n=32;n0){if(s.strm.data_type===Z_UNKNOWN)s.strm.data_type=detect_data_type(s);if(build_tree(s,s.l_desc),build_tree(s,s.d_desc),max_blindex=build_bl_tree(s),opt_lenb=s.opt_len+3+7>>>3,static_lenb=s.static_len+3+7>>>3,static_lenb<=opt_lenb)opt_lenb=static_lenb}else opt_lenb=static_lenb=stored_len+5;if(stored_len+4<=opt_lenb&&buf!==-1)_tr_stored_block(s,buf,stored_len,last);else if(s.strategy===Z_FIXED||static_lenb===opt_lenb)send_bits(s,(STATIC_TREES<<1)+(last\?1:0),3),compress_block(s,static_ltree,static_dtree);else send_bits(s,(DYN_TREES<<1)+(last\?1:0),3),send_all_trees(s,s.l_desc.max_code+1,s.d_desc.max_code+1,max_blindex+1),compress_block(s,s.dyn_ltree,s.dyn_dtree);if(init_block(s),last)bi_windup(s)}function _tr_tally(s,dist,lc){if(s.pending_buf[s.d_buf+s.last_lit*2]=dist>>>8&255,s.pending_buf[s.d_buf+s.last_lit*2+1]=dist&255,s.pending_buf[s.l_buf+s.last_lit]=lc&255,s.last_lit++,dist===0)s.dyn_ltree[lc*2]++;else s.matches++,dist--,s.dyn_ltree[(_length_code[lc]+LITERALS+1)*2]++,s.dyn_dtree[d_code(dist)*2]++;return s.last_lit===s.lit_bufsize-1}exports._tr_init=_tr_init,exports._tr_stored_block=_tr_stored_block,exports._tr_flush_block=_tr_flush_block,exports._tr_tally=_tr_tally,exports._tr_align=_tr_align}}),require_adler32=__commonJS({\"node_modules/pako/lib/zlib/adler32.js\"(exports,module2){function adler32(adler,buf,len,pos){var s1=adler&65535|0,s2=adler>>>16&65535|0,n=0;while(len!==0){n=len>2000\?2000:len,len-=n;do s1=s1+buf[pos++]|0,s2=s2+s1|0;while(--n);s1%=65521,s2%=65521}return s1|s2<<16|0}module2.exports=adler32}}),require_crc32=__commonJS({\"node_modules/pako/lib/zlib/crc32.js\"(exports,module2){function makeTable(){var c,table=[];for(var n=0;n<256;n++){c=n;for(var k=0;k<8;k++)c=c&1\?3988292384^c>>>1:c>>>1;table[n]=c}return table}var crcTable=makeTable();function crc32(crc,buf,len,pos){var t=crcTable,end=pos+len;crc^=-1;for(var i=pos;i>>8^t[(crc^buf[i])&255];return crc^-1}module2.exports=crc32}}),require_messages=__commonJS({\"node_modules/pako/lib/zlib/messages.js\"(exports,module2){module2.exports={2:\"need dictionary\",1:\"stream end\",0:\"\",\"-1\":\"file error\",\"-2\":\"stream error\",\"-3\":\"data error\",\"-4\":\"insufficient memory\",\"-5\":\"buffer error\",\"-6\":\"incompatible version\"}}}),require_deflate=__commonJS({\"node_modules/pako/lib/zlib/deflate.js\"(exports){var utils=require_common(),trees=require_trees(),adler32=require_adler32(),crc32=require_crc32(),msg=require_messages(),Z_NO_FLUSH=0,Z_PARTIAL_FLUSH=1,Z_FULL_FLUSH=3,Z_FINISH=4,Z_BLOCK=5,Z_OK=0,Z_STREAM_END=1,Z_STREAM_ERROR=-2,Z_DATA_ERROR=-3,Z_BUF_ERROR=-5,Z_DEFAULT_COMPRESSION=-1,Z_FILTERED=1,Z_HUFFMAN_ONLY=2,Z_RLE=3,Z_FIXED=4,Z_DEFAULT_STRATEGY=0,Z_UNKNOWN=2,Z_DEFLATED=8,MAX_MEM_LEVEL=9,MAX_WBITS=15,DEF_MEM_LEVEL=8,LENGTH_CODES=29,LITERALS=256,L_CODES=LITERALS+1+LENGTH_CODES,D_CODES=30,BL_CODES=19,HEAP_SIZE=2*L_CODES+1,MAX_BITS=15,MIN_MATCH=3,MAX_MATCH=258,MIN_LOOKAHEAD=MAX_MATCH+MIN_MATCH+1,PRESET_DICT=32,INIT_STATE=42,EXTRA_STATE=69,NAME_STATE=73,COMMENT_STATE=91,HCRC_STATE=103,BUSY_STATE=113,FINISH_STATE=666,BS_NEED_MORE=1,BS_BLOCK_DONE=2,BS_FINISH_STARTED=3,BS_FINISH_DONE=4,OS_CODE=3;function err(strm,errorCode){return strm.msg=msg[errorCode],errorCode}function rank(f){return(f<<1)-(f>4\?9:0)}function zero(buf){var len=buf.length;while(--len>=0)buf[len]=0}function flush_pending(strm){var s=strm.state,len=s.pending;if(len>strm.avail_out)len=strm.avail_out;if(len===0)return;if(utils.arraySet(strm.output,s.pending_buf,s.pending_out,len,strm.next_out),strm.next_out+=len,s.pending_out+=len,strm.total_out+=len,strm.avail_out-=len,s.pending-=len,s.pending===0)s.pending_out=0}function flush_block_only(s,last){trees._tr_flush_block(s,s.block_start>=0\?s.block_start:-1,s.strstart-s.block_start,last),s.block_start=s.strstart,flush_pending(s.strm)}function put_byte(s,b){s.pending_buf[s.pending++]=b}function putShortMSB(s,b){s.pending_buf[s.pending++]=b>>>8&255,s.pending_buf[s.pending++]=b&255}function read_buf(strm,buf,start,size){var len=strm.avail_in;if(len>size)len=size;if(len===0)return 0;if(strm.avail_in-=len,utils.arraySet(buf,strm.input,strm.next_in,len,start),strm.state.wrap===1)strm.adler=adler32(strm.adler,buf,len,start);else if(strm.state.wrap===2)strm.adler=crc32(strm.adler,buf,len,start);return strm.next_in+=len,strm.total_in+=len,len}function longest_match(s,cur_match){var{max_chain_length:chain_length,strstart:scan}=s,match,len,best_len=s.prev_length,nice_match=s.nice_match,limit=s.strstart>s.w_size-MIN_LOOKAHEAD\?s.strstart-(s.w_size-MIN_LOOKAHEAD):0,_win=s.window,wmask=s.w_mask,prev=s.prev,strend=s.strstart+MAX_MATCH,scan_end1=_win[scan+best_len-1],scan_end=_win[scan+best_len];if(s.prev_length>=s.good_match)chain_length>>=2;if(nice_match>s.lookahead)nice_match=s.lookahead;do{if(match=cur_match,_win[match+best_len]!==scan_end||_win[match+best_len-1]!==scan_end1||_win[match]!==_win[scan]||_win[++match]!==_win[scan+1])continue;scan+=2,match++;do;while(_win[++scan]===_win[++match]&&_win[++scan]===_win[++match]&&_win[++scan]===_win[++match]&&_win[++scan]===_win[++match]&&_win[++scan]===_win[++match]&&_win[++scan]===_win[++match]&&_win[++scan]===_win[++match]&&_win[++scan]===_win[++match]&&scanbest_len){if(s.match_start=cur_match,best_len=len,len>=nice_match)break;scan_end1=_win[scan+best_len-1],scan_end=_win[scan+best_len]}}while((cur_match=prev[cur_match&wmask])>limit&&--chain_length!==0);if(best_len<=s.lookahead)return best_len;return s.lookahead}function fill_window(s){var _w_size=s.w_size,p,n,m,more,str;do{if(more=s.window_size-s.lookahead-s.strstart,s.strstart>=_w_size+(_w_size-MIN_LOOKAHEAD)){utils.arraySet(s.window,s.window,_w_size,_w_size,0),s.match_start-=_w_size,s.strstart-=_w_size,s.block_start-=_w_size,n=s.hash_size,p=n;do m=s.head[--p],s.head[p]=m>=_w_size\?m-_w_size:0;while(--n);n=_w_size,p=n;do m=s.prev[--p],s.prev[p]=m>=_w_size\?m-_w_size:0;while(--n);more+=_w_size}if(s.strm.avail_in===0)break;if(n=read_buf(s.strm,s.window,s.strstart+s.lookahead,more),s.lookahead+=n,s.lookahead+s.insert>=MIN_MATCH){str=s.strstart-s.insert,s.ins_h=s.window[str],s.ins_h=(s.ins_h<s.pending_buf_size-5)max_block_size=s.pending_buf_size-5;for(;;){if(s.lookahead<=1){if(fill_window(s),s.lookahead===0&&flush===Z_NO_FLUSH)return BS_NEED_MORE;if(s.lookahead===0)break}s.strstart+=s.lookahead,s.lookahead=0;var max_start=s.block_start+max_block_size;if(s.strstart===0||s.strstart>=max_start){if(s.lookahead=s.strstart-max_start,s.strstart=max_start,flush_block_only(s,!1),s.strm.avail_out===0)return BS_NEED_MORE}if(s.strstart-s.block_start>=s.w_size-MIN_LOOKAHEAD){if(flush_block_only(s,!1),s.strm.avail_out===0)return BS_NEED_MORE}}if(s.insert=0,flush===Z_FINISH){if(flush_block_only(s,!0),s.strm.avail_out===0)return BS_FINISH_STARTED;return BS_FINISH_DONE}if(s.strstart>s.block_start){if(flush_block_only(s,!1),s.strm.avail_out===0)return BS_NEED_MORE}return BS_NEED_MORE}function deflate_fast(s,flush){var hash_head,bflush;for(;;){if(s.lookahead=MIN_MATCH)s.ins_h=(s.ins_h<=MIN_MATCH)if(bflush=trees._tr_tally(s,s.strstart-s.match_start,s.match_length-MIN_MATCH),s.lookahead-=s.match_length,s.match_length<=s.max_lazy_match&&s.lookahead>=MIN_MATCH){s.match_length--;do s.strstart++,s.ins_h=(s.ins_h<=MIN_MATCH)s.ins_h=(s.ins_h<4096))s.match_length=MIN_MATCH-1}if(s.prev_length>=MIN_MATCH&&s.match_length<=s.prev_length){max_insert=s.strstart+s.lookahead-MIN_MATCH,bflush=trees._tr_tally(s,s.strstart-1-s.prev_match,s.prev_length-MIN_MATCH),s.lookahead-=s.prev_length-1,s.prev_length-=2;do if(++s.strstart<=max_insert)s.ins_h=(s.ins_h<=MIN_MATCH&&s.strstart>0){if(scan=s.strstart-1,prev=_win[scan],prev===_win[++scan]&&prev===_win[++scan]&&prev===_win[++scan]){strend=s.strstart+MAX_MATCH;do;while(prev===_win[++scan]&&prev===_win[++scan]&&prev===_win[++scan]&&prev===_win[++scan]&&prev===_win[++scan]&&prev===_win[++scan]&&prev===_win[++scan]&&prev===_win[++scan]&&scans.lookahead)s.match_length=s.lookahead}}if(s.match_length>=MIN_MATCH)bflush=trees._tr_tally(s,1,s.match_length-MIN_MATCH),s.lookahead-=s.match_length,s.strstart+=s.match_length,s.match_length=0;else bflush=trees._tr_tally(s,0,s.window[s.strstart]),s.lookahead--,s.strstart++;if(bflush){if(flush_block_only(s,!1),s.strm.avail_out===0)return BS_NEED_MORE}}if(s.insert=0,flush===Z_FINISH){if(flush_block_only(s,!0),s.strm.avail_out===0)return BS_FINISH_STARTED;return BS_FINISH_DONE}if(s.last_lit){if(flush_block_only(s,!1),s.strm.avail_out===0)return BS_NEED_MORE}return BS_BLOCK_DONE}function deflate_huff(s,flush){var bflush;for(;;){if(s.lookahead===0){if(fill_window(s),s.lookahead===0){if(flush===Z_NO_FLUSH)return BS_NEED_MORE;break}}if(s.match_length=0,bflush=trees._tr_tally(s,0,s.window[s.strstart]),s.lookahead--,s.strstart++,bflush){if(flush_block_only(s,!1),s.strm.avail_out===0)return BS_NEED_MORE}}if(s.insert=0,flush===Z_FINISH){if(flush_block_only(s,!0),s.strm.avail_out===0)return BS_FINISH_STARTED;return BS_FINISH_DONE}if(s.last_lit){if(flush_block_only(s,!1),s.strm.avail_out===0)return BS_NEED_MORE}return BS_BLOCK_DONE}function Config(good_length,max_lazy,nice_length,max_chain,func){this.good_length=good_length,this.max_lazy=max_lazy,this.nice_length=nice_length,this.max_chain=max_chain,this.func=func}var configuration_table=[new Config(0,0,0,0,deflate_stored),new Config(4,4,8,4,deflate_fast),new Config(4,5,16,8,deflate_fast),new Config(4,6,32,32,deflate_fast),new Config(4,4,16,16,deflate_slow),new Config(8,16,32,32,deflate_slow),new Config(8,16,128,128,deflate_slow),new Config(8,32,128,256,deflate_slow),new Config(32,128,258,1024,deflate_slow),new Config(32,258,258,4096,deflate_slow)];function lm_init(s){s.window_size=2*s.w_size,zero(s.head),s.max_lazy_match=configuration_table[s.level].max_lazy,s.good_match=configuration_table[s.level].good_length,s.nice_match=configuration_table[s.level].nice_length,s.max_chain_length=configuration_table[s.level].max_chain,s.strstart=0,s.block_start=0,s.lookahead=0,s.insert=0,s.match_length=s.prev_length=MIN_MATCH-1,s.match_available=0,s.ins_h=0}function DeflateState(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=Z_DEFLATED,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new utils.Buf16(HEAP_SIZE*2),this.dyn_dtree=new utils.Buf16((2*D_CODES+1)*2),this.bl_tree=new utils.Buf16((2*BL_CODES+1)*2),zero(this.dyn_ltree),zero(this.dyn_dtree),zero(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new utils.Buf16(MAX_BITS+1),this.heap=new utils.Buf16(2*L_CODES+1),zero(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new utils.Buf16(2*L_CODES+1),zero(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function deflateResetKeep(strm){var s;if(!strm||!strm.state)return err(strm,Z_STREAM_ERROR);if(strm.total_in=strm.total_out=0,strm.data_type=Z_UNKNOWN,s=strm.state,s.pending=0,s.pending_out=0,s.wrap<0)s.wrap=-s.wrap;return s.status=s.wrap\?INIT_STATE:BUSY_STATE,strm.adler=s.wrap===2\?0:1,s.last_flush=Z_NO_FLUSH,trees._tr_init(s),Z_OK}function deflateReset(strm){var ret=deflateResetKeep(strm);if(ret===Z_OK)lm_init(strm.state);return ret}function deflateSetHeader(strm,head){if(!strm||!strm.state)return Z_STREAM_ERROR;if(strm.state.wrap!==2)return Z_STREAM_ERROR;return strm.state.gzhead=head,Z_OK}function deflateInit2(strm,level,method,windowBits,memLevel,strategy){if(!strm)return Z_STREAM_ERROR;var wrap=1;if(level===Z_DEFAULT_COMPRESSION)level=6;if(windowBits<0)wrap=0,windowBits=-windowBits;else if(windowBits>15)wrap=2,windowBits-=16;if(memLevel<1||memLevel>MAX_MEM_LEVEL||method!==Z_DEFLATED||windowBits<8||windowBits>15||level<0||level>9||strategy<0||strategy>Z_FIXED)return err(strm,Z_STREAM_ERROR);if(windowBits===8)windowBits=9;var s=new DeflateState;return strm.state=s,s.strm=strm,s.wrap=wrap,s.gzhead=null,s.w_bits=windowBits,s.w_size=1<Z_BLOCK||flush<0)return strm\?err(strm,Z_STREAM_ERROR):Z_STREAM_ERROR;if(s=strm.state,!strm.output||!strm.input&&strm.avail_in!==0||s.status===FINISH_STATE&&flush!==Z_FINISH)return err(strm,strm.avail_out===0\?Z_BUF_ERROR:Z_STREAM_ERROR);if(s.strm=strm,old_flush=s.last_flush,s.last_flush=flush,s.status===INIT_STATE)if(s.wrap===2)if(strm.adler=0,put_byte(s,31),put_byte(s,139),put_byte(s,8),!s.gzhead)put_byte(s,0),put_byte(s,0),put_byte(s,0),put_byte(s,0),put_byte(s,0),put_byte(s,s.level===9\?2:s.strategy>=Z_HUFFMAN_ONLY||s.level<2\?4:0),put_byte(s,OS_CODE),s.status=BUSY_STATE;else{if(put_byte(s,(s.gzhead.text\?1:0)+(s.gzhead.hcrc\?2:0)+(!s.gzhead.extra\?0:4)+(!s.gzhead.name\?0:8)+(!s.gzhead.comment\?0:16)),put_byte(s,s.gzhead.time&255),put_byte(s,s.gzhead.time>>8&255),put_byte(s,s.gzhead.time>>16&255),put_byte(s,s.gzhead.time>>24&255),put_byte(s,s.level===9\?2:s.strategy>=Z_HUFFMAN_ONLY||s.level<2\?4:0),put_byte(s,s.gzhead.os&255),s.gzhead.extra&&s.gzhead.extra.length)put_byte(s,s.gzhead.extra.length&255),put_byte(s,s.gzhead.extra.length>>8&255);if(s.gzhead.hcrc)strm.adler=crc32(strm.adler,s.pending_buf,s.pending,0);s.gzindex=0,s.status=EXTRA_STATE}else{var header=Z_DEFLATED+(s.w_bits-8<<4)<<8,level_flags=-1;if(s.strategy>=Z_HUFFMAN_ONLY||s.level<2)level_flags=0;else if(s.level<6)level_flags=1;else if(s.level===6)level_flags=2;else level_flags=3;if(header|=level_flags<<6,s.strstart!==0)header|=PRESET_DICT;if(header+=31-header%31,s.status=BUSY_STATE,putShortMSB(s,header),s.strstart!==0)putShortMSB(s,strm.adler>>>16),putShortMSB(s,strm.adler&65535);strm.adler=1}if(s.status===EXTRA_STATE)if(s.gzhead.extra){beg=s.pending;while(s.gzindex<(s.gzhead.extra.length&65535)){if(s.pending===s.pending_buf_size){if(s.gzhead.hcrc&&s.pending>beg)strm.adler=crc32(strm.adler,s.pending_buf,s.pending-beg,beg);if(flush_pending(strm),beg=s.pending,s.pending===s.pending_buf_size)break}put_byte(s,s.gzhead.extra[s.gzindex]&255),s.gzindex++}if(s.gzhead.hcrc&&s.pending>beg)strm.adler=crc32(strm.adler,s.pending_buf,s.pending-beg,beg);if(s.gzindex===s.gzhead.extra.length)s.gzindex=0,s.status=NAME_STATE}else s.status=NAME_STATE;if(s.status===NAME_STATE)if(s.gzhead.name){beg=s.pending;do{if(s.pending===s.pending_buf_size){if(s.gzhead.hcrc&&s.pending>beg)strm.adler=crc32(strm.adler,s.pending_buf,s.pending-beg,beg);if(flush_pending(strm),beg=s.pending,s.pending===s.pending_buf_size){val=1;break}}if(s.gzindexbeg)strm.adler=crc32(strm.adler,s.pending_buf,s.pending-beg,beg);if(val===0)s.gzindex=0,s.status=COMMENT_STATE}else s.status=COMMENT_STATE;if(s.status===COMMENT_STATE)if(s.gzhead.comment){beg=s.pending;do{if(s.pending===s.pending_buf_size){if(s.gzhead.hcrc&&s.pending>beg)strm.adler=crc32(strm.adler,s.pending_buf,s.pending-beg,beg);if(flush_pending(strm),beg=s.pending,s.pending===s.pending_buf_size){val=1;break}}if(s.gzindexbeg)strm.adler=crc32(strm.adler,s.pending_buf,s.pending-beg,beg);if(val===0)s.status=HCRC_STATE}else s.status=HCRC_STATE;if(s.status===HCRC_STATE)if(s.gzhead.hcrc){if(s.pending+2>s.pending_buf_size)flush_pending(strm);if(s.pending+2<=s.pending_buf_size)put_byte(s,strm.adler&255),put_byte(s,strm.adler>>8&255),strm.adler=0,s.status=BUSY_STATE}else s.status=BUSY_STATE;if(s.pending!==0){if(flush_pending(strm),strm.avail_out===0)return s.last_flush=-1,Z_OK}else if(strm.avail_in===0&&rank(flush)<=rank(old_flush)&&flush!==Z_FINISH)return err(strm,Z_BUF_ERROR);if(s.status===FINISH_STATE&&strm.avail_in!==0)return err(strm,Z_BUF_ERROR);if(strm.avail_in!==0||s.lookahead!==0||flush!==Z_NO_FLUSH&&s.status!==FINISH_STATE){var bstate=s.strategy===Z_HUFFMAN_ONLY\?deflate_huff(s,flush):s.strategy===Z_RLE\?deflate_rle(s,flush):configuration_table[s.level].func(s,flush);if(bstate===BS_FINISH_STARTED||bstate===BS_FINISH_DONE)s.status=FINISH_STATE;if(bstate===BS_NEED_MORE||bstate===BS_FINISH_STARTED){if(strm.avail_out===0)s.last_flush=-1;return Z_OK}if(bstate===BS_BLOCK_DONE){if(flush===Z_PARTIAL_FLUSH)trees._tr_align(s);else if(flush!==Z_BLOCK){if(trees._tr_stored_block(s,0,0,!1),flush===Z_FULL_FLUSH){if(zero(s.head),s.lookahead===0)s.strstart=0,s.block_start=0,s.insert=0}}if(flush_pending(strm),strm.avail_out===0)return s.last_flush=-1,Z_OK}}if(flush!==Z_FINISH)return Z_OK;if(s.wrap<=0)return Z_STREAM_END;if(s.wrap===2)put_byte(s,strm.adler&255),put_byte(s,strm.adler>>8&255),put_byte(s,strm.adler>>16&255),put_byte(s,strm.adler>>24&255),put_byte(s,strm.total_in&255),put_byte(s,strm.total_in>>8&255),put_byte(s,strm.total_in>>16&255),put_byte(s,strm.total_in>>24&255);else putShortMSB(s,strm.adler>>>16),putShortMSB(s,strm.adler&65535);if(flush_pending(strm),s.wrap>0)s.wrap=-s.wrap;return s.pending!==0\?Z_OK:Z_STREAM_END}function deflateEnd(strm){var status;if(!strm||!strm.state)return Z_STREAM_ERROR;if(status=strm.state.status,status!==INIT_STATE&&status!==EXTRA_STATE&&status!==NAME_STATE&&status!==COMMENT_STATE&&status!==HCRC_STATE&&status!==BUSY_STATE&&status!==FINISH_STATE)return err(strm,Z_STREAM_ERROR);return strm.state=null,status===BUSY_STATE\?err(strm,Z_DATA_ERROR):Z_OK}function deflateSetDictionary(strm,dictionary){var dictLength=dictionary.length,s,str,n,wrap,avail,next,input,tmpDict;if(!strm||!strm.state)return Z_STREAM_ERROR;if(s=strm.state,wrap=s.wrap,wrap===2||wrap===1&&s.status!==INIT_STATE||s.lookahead)return Z_STREAM_ERROR;if(wrap===1)strm.adler=adler32(strm.adler,dictionary,dictLength,0);if(s.wrap=0,dictLength>=s.w_size){if(wrap===0)zero(s.head),s.strstart=0,s.block_start=0,s.insert=0;tmpDict=new utils.Buf8(s.w_size),utils.arraySet(tmpDict,dictionary,dictLength-s.w_size,s.w_size,0),dictionary=tmpDict,dictLength=s.w_size}avail=strm.avail_in,next=strm.next_in,input=strm.input,strm.avail_in=dictLength,strm.next_in=0,strm.input=dictionary,fill_window(s);while(s.lookahead>=MIN_MATCH){str=s.strstart,n=s.lookahead-(MIN_MATCH-1);do s.ins_h=(s.ins_h<>>24,hold>>>=op,bits-=op,op=here>>>16&255,op===0)output[_out++]=here&65535;else if(op&16){if(len=here&65535,op&=15,op){if(bits>>=op,bits-=op}if(bits<15)hold+=input[_in++]<>>24,hold>>>=op,bits-=op,op=here>>>16&255,op&16){if(dist=here&65535,op&=15,bitsdmax){strm.msg=\"invalid distance too far back\",state.mode=BAD;break top}if(hold>>>=op,bits-=op,op=_out-beg,dist>op){if(op=dist-op,op>whave){if(state.sane){strm.msg=\"invalid distance too far back\",state.mode=BAD;break top}}if(from=0,from_source=s_window,wnext===0){if(from+=wsize-op,op2)output[_out++]=from_source[from++],output[_out++]=from_source[from++],output[_out++]=from_source[from++],len-=3;if(len){if(output[_out++]=from_source[from++],len>1)output[_out++]=from_source[from++]}}else{from=_out-dist;do output[_out++]=output[from++],output[_out++]=output[from++],output[_out++]=output[from++],len-=3;while(len>2);if(len){if(output[_out++]=output[from++],len>1)output[_out++]=output[from++]}}}else if((op&64)===0){here=dcode[(here&65535)+(hold&(1<>3,_in-=len,bits-=len<<3,hold&=(1<=1;max--)if(count[max]!==0)break;if(root>max)root=max;if(max===0)return table[table_index++]=1<<24|64<<16|0,table[table_index++]=1<<24|64<<16|0,opts.bits=1,0;for(min=1;min0&&(type===CODES||max!==1))return-1;offs[1]=0;for(len=1;lenENOUGH_LENS||type===DISTS&&used>ENOUGH_DISTS)return 1;for(;;){if(here_bits=len-drop,work[sym]end)here_op=extra[extra_index+work[sym]],here_val=base[base_index+work[sym]];else here_op=96,here_val=0;incr=1<>drop)+fill]=here_bits<<24|here_op<<16|here_val|0;while(fill!==0);incr=1<>=1;if(incr!==0)huff&=incr-1,huff+=incr;else huff=0;if(sym++,--count[len]===0){if(len===max)break;len=lens[lens_index+work[sym]]}if(len>root&&(huff&mask)!==low){if(drop===0)drop=root;next+=min,curr=len-drop,left=1<ENOUGH_LENS||type===DISTS&&used>ENOUGH_DISTS)return 1;low=huff&mask,table[low]=root<<24|curr<<16|next-table_index|0}}if(huff!==0)table[next+huff]=len-drop<<24|64<<16|0;return opts.bits=root,0}}}),require_inflate=__commonJS({\"node_modules/pako/lib/zlib/inflate.js\"(exports){var utils=require_common(),adler32=require_adler32(),crc32=require_crc32(),inflate_fast=require_inffast(),inflate_table=require_inftrees(),CODES=0,LENS=1,DISTS=2,Z_FINISH=4,Z_BLOCK=5,Z_TREES=6,Z_OK=0,Z_STREAM_END=1,Z_NEED_DICT=2,Z_STREAM_ERROR=-2,Z_DATA_ERROR=-3,Z_MEM_ERROR=-4,Z_BUF_ERROR=-5,Z_DEFLATED=8,HEAD=1,FLAGS=2,TIME=3,OS=4,EXLEN=5,EXTRA=6,NAME=7,COMMENT=8,HCRC=9,DICTID=10,DICT=11,TYPE=12,TYPEDO=13,STORED=14,COPY_=15,COPY=16,TABLE=17,LENLENS=18,CODELENS=19,LEN_=20,LEN=21,LENEXT=22,DIST=23,DISTEXT=24,MATCH=25,LIT=26,CHECK=27,LENGTH=28,DONE=29,BAD=30,MEM=31,SYNC=32,ENOUGH_LENS=852,ENOUGH_DISTS=592,MAX_WBITS=15,DEF_WBITS=MAX_WBITS;function zswap32(q){return(q>>>24&255)+(q>>>8&65280)+((q&65280)<<8)+((q&255)<<24)}function InflateState(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new utils.Buf16(320),this.work=new utils.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function inflateResetKeep(strm){var state;if(!strm||!strm.state)return Z_STREAM_ERROR;if(state=strm.state,strm.total_in=strm.total_out=state.total=0,strm.msg=\"\",state.wrap)strm.adler=state.wrap&1;return state.mode=HEAD,state.last=0,state.havedict=0,state.dmax=32768,state.head=null,state.hold=0,state.bits=0,state.lencode=state.lendyn=new utils.Buf32(ENOUGH_LENS),state.distcode=state.distdyn=new utils.Buf32(ENOUGH_DISTS),state.sane=1,state.back=-1,Z_OK}function inflateReset(strm){var state;if(!strm||!strm.state)return Z_STREAM_ERROR;return state=strm.state,state.wsize=0,state.whave=0,state.wnext=0,inflateResetKeep(strm)}function inflateReset2(strm,windowBits){var wrap,state;if(!strm||!strm.state)return Z_STREAM_ERROR;if(state=strm.state,windowBits<0)wrap=0,windowBits=-windowBits;else if(wrap=(windowBits>>4)+1,windowBits<48)windowBits&=15;if(windowBits&&(windowBits<8||windowBits>15))return Z_STREAM_ERROR;if(state.window!==null&&state.wbits!==windowBits)state.window=null;return state.wrap=wrap,state.wbits=windowBits,inflateReset(strm)}function inflateInit2(strm,windowBits){var ret,state;if(!strm)return Z_STREAM_ERROR;if(state=new InflateState,strm.state=state,state.window=null,ret=inflateReset2(strm,windowBits),ret!==Z_OK)strm.state=null;return ret}function inflateInit(strm){return inflateInit2(strm,DEF_WBITS)}var virgin=!0,lenfix,distfix;function fixedtables(state){if(virgin){var sym;lenfix=new utils.Buf32(512),distfix=new utils.Buf32(32),sym=0;while(sym<144)state.lens[sym++]=8;while(sym<256)state.lens[sym++]=9;while(sym<280)state.lens[sym++]=7;while(sym<288)state.lens[sym++]=8;inflate_table(LENS,state.lens,0,288,lenfix,0,state.work,{bits:9}),sym=0;while(sym<32)state.lens[sym++]=5;inflate_table(DISTS,state.lens,0,32,distfix,0,state.work,{bits:5}),virgin=!1}state.lencode=lenfix,state.lenbits=9,state.distcode=distfix,state.distbits=5}function updatewindow(strm,src,end,copy){var dist,state=strm.state;if(state.window===null)state.wsize=1<=state.wsize)utils.arraySet(state.window,src,end-state.wsize,state.wsize,0),state.wnext=0,state.whave=state.wsize;else{if(dist=state.wsize-state.wnext,dist>copy)dist=copy;if(utils.arraySet(state.window,src,end-copy,dist,state.wnext),copy-=dist,copy)utils.arraySet(state.window,src,end-copy,copy,0),state.wnext=copy,state.whave=state.wsize;else{if(state.wnext+=dist,state.wnext===state.wsize)state.wnext=0;if(state.whave>>8&255,state.check=crc32(state.check,hbuf,2,0),hold=0,bits=0,state.mode=FLAGS;break}if(state.flags=0,state.head)state.head.done=!1;if(!(state.wrap&1)||(((hold&255)<<8)+(hold>>8))%31){strm.msg=\"incorrect header check\",state.mode=BAD;break}if((hold&15)!==Z_DEFLATED){strm.msg=\"unknown compression method\",state.mode=BAD;break}if(hold>>>=4,bits-=4,len=(hold&15)+8,state.wbits===0)state.wbits=len;else if(len>state.wbits){strm.msg=\"invalid window size\",state.mode=BAD;break}state.dmax=1<>8&1;if(state.flags&512)hbuf[0]=hold&255,hbuf[1]=hold>>>8&255,state.check=crc32(state.check,hbuf,2,0);hold=0,bits=0,state.mode=TIME;case TIME:while(bits<32){if(have===0)break inf_leave;have--,hold+=input[next++]<>>8&255,hbuf[2]=hold>>>16&255,hbuf[3]=hold>>>24&255,state.check=crc32(state.check,hbuf,4,0);hold=0,bits=0,state.mode=OS;case OS:while(bits<16){if(have===0)break inf_leave;have--,hold+=input[next++]<>8;if(state.flags&512)hbuf[0]=hold&255,hbuf[1]=hold>>>8&255,state.check=crc32(state.check,hbuf,2,0);hold=0,bits=0,state.mode=EXLEN;case EXLEN:if(state.flags&1024){while(bits<16){if(have===0)break inf_leave;have--,hold+=input[next++]<>>8&255,state.check=crc32(state.check,hbuf,2,0);hold=0,bits=0}else if(state.head)state.head.extra=null;state.mode=EXTRA;case EXTRA:if(state.flags&1024){if(copy=state.length,copy>have)copy=have;if(copy){if(state.head){if(len=state.head.extra_len-state.length,!state.head.extra)state.head.extra=new Array(state.head.extra_len);utils.arraySet(state.head.extra,input,next,copy,len)}if(state.flags&512)state.check=crc32(state.check,input,copy,next);have-=copy,next+=copy,state.length-=copy}if(state.length)break inf_leave}state.length=0,state.mode=NAME;case NAME:if(state.flags&2048){if(have===0)break inf_leave;copy=0;do if(len=input[next+copy++],state.head&&len&&state.length<65536)state.head.name+=String.fromCharCode(len);while(len&©>9&1,state.head.done=!0;strm.adler=state.check=0,state.mode=TYPE;break;case DICTID:while(bits<32){if(have===0)break inf_leave;have--,hold+=input[next++]<>>=bits&7,bits-=bits&7,state.mode=CHECK;break}while(bits<3){if(have===0)break inf_leave;have--,hold+=input[next++]<>>=1,bits-=1,hold&3){case 0:state.mode=STORED;break;case 1:if(fixedtables(state),state.mode=LEN_,flush===Z_TREES){hold>>>=2,bits-=2;break inf_leave}break;case 2:state.mode=TABLE;break;case 3:strm.msg=\"invalid block type\",state.mode=BAD}hold>>>=2,bits-=2;break;case STORED:hold>>>=bits&7,bits-=bits&7;while(bits<32){if(have===0)break inf_leave;have--,hold+=input[next++]<>>16^65535)){strm.msg=\"invalid stored block lengths\",state.mode=BAD;break}if(state.length=hold&65535,hold=0,bits=0,state.mode=COPY_,flush===Z_TREES)break inf_leave;case COPY_:state.mode=COPY;case COPY:if(copy=state.length,copy){if(copy>have)copy=have;if(copy>left)copy=left;if(copy===0)break inf_leave;utils.arraySet(output,input,next,copy,put),have-=copy,next+=copy,left-=copy,put+=copy,state.length-=copy;break}state.mode=TYPE;break;case TABLE:while(bits<14){if(have===0)break inf_leave;have--,hold+=input[next++]<>>=5,bits-=5,state.ndist=(hold&31)+1,hold>>>=5,bits-=5,state.ncode=(hold&15)+4,hold>>>=4,bits-=4,state.nlen>286||state.ndist>30){strm.msg=\"too many length or distance symbols\",state.mode=BAD;break}state.have=0,state.mode=LENLENS;case LENLENS:while(state.have>>=3,bits-=3}while(state.have<19)state.lens[order[state.have++]]=0;if(state.lencode=state.lendyn,state.lenbits=7,opts={bits:state.lenbits},ret=inflate_table(CODES,state.lens,0,19,state.lencode,0,state.work,opts),state.lenbits=opts.bits,ret){strm.msg=\"invalid code lengths set\",state.mode=BAD;break}state.have=0,state.mode=CODELENS;case CODELENS:while(state.have>>24,here_op=here>>>16&255,here_val=here&65535,here_bits<=bits)break;if(have===0)break inf_leave;have--,hold+=input[next++]<>>=here_bits,bits-=here_bits,state.lens[state.have++]=here_val;else{if(here_val===16){n=here_bits+2;while(bits>>=here_bits,bits-=here_bits,state.have===0){strm.msg=\"invalid bit length repeat\",state.mode=BAD;break}len=state.lens[state.have-1],copy=3+(hold&3),hold>>>=2,bits-=2}else if(here_val===17){n=here_bits+3;while(bits>>=here_bits,bits-=here_bits,len=0,copy=3+(hold&7),hold>>>=3,bits-=3}else{n=here_bits+7;while(bits>>=here_bits,bits-=here_bits,len=0,copy=11+(hold&127),hold>>>=7,bits-=7}if(state.have+copy>state.nlen+state.ndist){strm.msg=\"invalid bit length repeat\",state.mode=BAD;break}while(copy--)state.lens[state.have++]=len}}if(state.mode===BAD)break;if(state.lens[256]===0){strm.msg=\"invalid code -- missing end-of-block\",state.mode=BAD;break}if(state.lenbits=9,opts={bits:state.lenbits},ret=inflate_table(LENS,state.lens,0,state.nlen,state.lencode,0,state.work,opts),state.lenbits=opts.bits,ret){strm.msg=\"invalid literal/lengths set\",state.mode=BAD;break}if(state.distbits=6,state.distcode=state.distdyn,opts={bits:state.distbits},ret=inflate_table(DISTS,state.lens,state.nlen,state.ndist,state.distcode,0,state.work,opts),state.distbits=opts.bits,ret){strm.msg=\"invalid distances set\",state.mode=BAD;break}if(state.mode=LEN_,flush===Z_TREES)break inf_leave;case LEN_:state.mode=LEN;case LEN:if(have>=6&&left>=258){if(strm.next_out=put,strm.avail_out=left,strm.next_in=next,strm.avail_in=have,state.hold=hold,state.bits=bits,inflate_fast(strm,_out),put=strm.next_out,output=strm.output,left=strm.avail_out,next=strm.next_in,input=strm.input,have=strm.avail_in,hold=state.hold,bits=state.bits,state.mode===TYPE)state.back=-1;break}state.back=0;for(;;){if(here=state.lencode[hold&(1<>>24,here_op=here>>>16&255,here_val=here&65535,here_bits<=bits)break;if(have===0)break inf_leave;have--,hold+=input[next++]<>last_bits)],here_bits=here>>>24,here_op=here>>>16&255,here_val=here&65535,last_bits+here_bits<=bits)break;if(have===0)break inf_leave;have--,hold+=input[next++]<>>=last_bits,bits-=last_bits,state.back+=last_bits}if(hold>>>=here_bits,bits-=here_bits,state.back+=here_bits,state.length=here_val,here_op===0){state.mode=LIT;break}if(here_op&32){state.back=-1,state.mode=TYPE;break}if(here_op&64){strm.msg=\"invalid literal/length code\",state.mode=BAD;break}state.extra=here_op&15,state.mode=LENEXT;case LENEXT:if(state.extra){n=state.extra;while(bits>>=state.extra,bits-=state.extra,state.back+=state.extra}state.was=state.length,state.mode=DIST;case DIST:for(;;){if(here=state.distcode[hold&(1<>>24,here_op=here>>>16&255,here_val=here&65535,here_bits<=bits)break;if(have===0)break inf_leave;have--,hold+=input[next++]<>last_bits)],here_bits=here>>>24,here_op=here>>>16&255,here_val=here&65535,last_bits+here_bits<=bits)break;if(have===0)break inf_leave;have--,hold+=input[next++]<>>=last_bits,bits-=last_bits,state.back+=last_bits}if(hold>>>=here_bits,bits-=here_bits,state.back+=here_bits,here_op&64){strm.msg=\"invalid distance code\",state.mode=BAD;break}state.offset=here_val,state.extra=here_op&15,state.mode=DISTEXT;case DISTEXT:if(state.extra){n=state.extra;while(bits>>=state.extra,bits-=state.extra,state.back+=state.extra}if(state.offset>state.dmax){strm.msg=\"invalid distance too far back\",state.mode=BAD;break}state.mode=MATCH;case MATCH:if(left===0)break inf_leave;if(copy=_out-left,state.offset>copy){if(copy=state.offset-copy,copy>state.whave){if(state.sane){strm.msg=\"invalid distance too far back\",state.mode=BAD;break}}if(copy>state.wnext)copy-=state.wnext,from=state.wsize-copy;else from=state.wnext-copy;if(copy>state.length)copy=state.length;from_source=state.window}else from_source=output,from=put-state.offset,copy=state.length;if(copy>left)copy=left;left-=copy,state.length-=copy;do output[put++]=from_source[from++];while(--copy);if(state.length===0)state.mode=LEN;break;case LIT:if(left===0)break inf_leave;output[put++]=state.length,left--,state.mode=LEN;break;case CHECK:if(state.wrap){while(bits<32){if(have===0)break inf_leave;have--,hold|=input[next++]<exports.UNZIP)@throwTypeError(\"Bad argument\");this.dictionary=null,this.err=0,this.flush=0,this.init_done=!1,this.level=0,this.memLevel=0,this.mode=mode,this.strategy=0,this.windowBits=0,this.write_in_progress=!1,this.pending_close=!1,this.gzip_id_bytes_read=0}Zlib.prototype.close=function(){if(this.write_in_progress){this.pending_close=!0;return}if(this.pending_close=!1,assert(this.init_done,\"close before init\"),assert(this.mode<=exports.UNZIP),this.mode===exports.DEFLATE||this.mode===exports.GZIP||this.mode===exports.DEFLATERAW)zlib_deflate.deflateEnd(this.strm);else if(this.mode===exports.INFLATE||this.mode===exports.GUNZIP||this.mode===exports.INFLATERAW||this.mode===exports.UNZIP)zlib_inflate.inflateEnd(this.strm);this.mode=exports.NONE,this.dictionary=null},Zlib.prototype.write=function(flush,input,in_off,in_len,out,out_off,out_len){return this._write(!0,flush,input,in_off,in_len,out,out_off,out_len)},Zlib.prototype.writeSync=function(flush,input,in_off,in_len,out,out_off,out_len){return this._write(!1,flush,input,in_off,in_len,out,out_off,out_len)},Zlib.prototype._write=function(async,flush,input,in_off,in_len,out,out_off,out_len){if(assert.equal(arguments.length,8),assert(this.init_done,\"write before init\"),assert(this.mode!==exports.NONE,\"already finalized\"),assert.equal(!1,this.write_in_progress,\"write already in progress\"),assert.equal(!1,this.pending_close,\"close is pending\"),this.write_in_progress=!0,assert.equal(!1,flush===void 0,\"must provide flush value\"),this.write_in_progress=!0,flush!==exports.Z_NO_FLUSH&&flush!==exports.Z_PARTIAL_FLUSH&&flush!==exports.Z_SYNC_FLUSH&&flush!==exports.Z_FULL_FLUSH&&flush!==exports.Z_FINISH&&flush!==exports.Z_BLOCK)throw new Error(\"Invalid flush value\");if(input==null)input=Buffer.alloc(0),in_len=0,in_off=0;if(this.strm.avail_in=in_len,this.strm.input=input,this.strm.next_in=in_off,this.strm.avail_out=out_len,this.strm.output=out,this.strm.next_out=out_off,this.flush=flush,!async){if(this._process(),this._checkError())return this._afterSync();return}var self=this;return process.nextTick(function(){self._process(),self._after()}),this},Zlib.prototype._afterSync=function(){var avail_out=this.strm.avail_out,avail_in=this.strm.avail_in;return this.write_in_progress=!1,[avail_in,avail_out]},Zlib.prototype._process=function(){var next_expected_header_byte=null;switch(this.mode){case exports.DEFLATE:case exports.GZIP:case exports.DEFLATERAW:this.err=zlib_deflate.deflate(this.strm,this.flush);break;case exports.UNZIP:if(this.strm.avail_in>0)next_expected_header_byte=this.strm.next_in;switch(this.gzip_id_bytes_read){case 0:if(next_expected_header_byte===null)break;if(this.strm.input[next_expected_header_byte]===GZIP_HEADER_ID1){if(this.gzip_id_bytes_read=1,next_expected_header_byte++,this.strm.avail_in===1)break}else{this.mode=exports.INFLATE;break}case 1:if(next_expected_header_byte===null)break;if(this.strm.input[next_expected_header_byte]===GZIP_HEADER_ID2)this.gzip_id_bytes_read=2,this.mode=exports.GUNZIP;else this.mode=exports.INFLATE;break;default:throw new Error(\"invalid number of gzip magic number bytes read\")}case exports.INFLATE:case exports.GUNZIP:case exports.INFLATERAW:if(this.err=zlib_inflate.inflate(this.strm,this.flush),this.err===exports.Z_NEED_DICT&&this.dictionary){if(this.err=zlib_inflate.inflateSetDictionary(this.strm,this.dictionary),this.err===exports.Z_OK)this.err=zlib_inflate.inflate(this.strm,this.flush);else if(this.err===exports.Z_DATA_ERROR)this.err=exports.Z_NEED_DICT}while(this.strm.avail_in>0&&this.mode===exports.GUNZIP&&this.err===exports.Z_STREAM_END&&this.strm.next_in[0]!==0)this.reset(),this.err=zlib_inflate.inflate(this.strm,this.flush);break;default:throw new Error(\"Unknown mode \"+this.mode)}},Zlib.prototype._checkError=function(){switch(this.err){case exports.Z_OK:case exports.Z_BUF_ERROR:if(this.strm.avail_out!==0&&this.flush===exports.Z_FINISH)return this._error(\"unexpected end of file\"),!1;break;case exports.Z_STREAM_END:break;case exports.Z_NEED_DICT:if(this.dictionary==null)this._error(\"Missing dictionary\");else this._error(\"Bad dictionary\");return!1;default:return this._error(\"Zlib error\"),!1}return!0},Zlib.prototype._after=function(){if(!this._checkError())return;var avail_out=this.strm.avail_out,avail_in=this.strm.avail_in;if(this.write_in_progress=!1,this.callback(avail_in,avail_out),this.pending_close)this.close()},Zlib.prototype._error=function(message){if(this.strm.msg)message=this.strm.msg;if(this.onerror(message,this.err),this.write_in_progress=!1,this.pending_close)this.close()},Zlib.prototype.init=function(windowBits,level,memLevel,strategy,dictionary){assert(arguments.length===4||arguments.length===5,\"init(windowBits, level, memLevel, strategy, [dictionary])\"),assert(windowBits>=8&&windowBits<=15,\"invalid windowBits\"),assert(level>=-1&&level<=9,\"invalid compression level\"),assert(memLevel>=1&&memLevel<=9,\"invalid memlevel\"),assert(strategy===exports.Z_FILTERED||strategy===exports.Z_HUFFMAN_ONLY||strategy===exports.Z_RLE||strategy===exports.Z_FIXED||strategy===exports.Z_DEFAULT_STRATEGY,\"invalid strategy\"),this._init(level,windowBits,memLevel,strategy,dictionary),this._setDictionary()},Zlib.prototype.params=function(){throw new Error(\"deflateParams Not supported\")},Zlib.prototype.reset=function(){this._reset(),this._setDictionary()},Zlib.prototype._init=function(level,windowBits,memLevel,strategy,dictionary){if(this.level=level,this.windowBits=windowBits,this.memLevel=memLevel,this.strategy=strategy,this.flush=exports.Z_NO_FLUSH,this.err=exports.Z_OK,this.mode===exports.GZIP||this.mode===exports.GUNZIP)this.windowBits+=16;if(this.mode===exports.UNZIP)this.windowBits+=32;if(this.mode===exports.DEFLATERAW||this.mode===exports.INFLATERAW)this.windowBits=-1*this.windowBits;switch(this.strm=new Zstream,this.mode){case exports.DEFLATE:case exports.GZIP:case exports.DEFLATERAW:this.err=zlib_deflate.deflateInit2(this.strm,this.level,exports.Z_DEFLATED,this.windowBits,this.memLevel,this.strategy);break;case exports.INFLATE:case exports.GUNZIP:case exports.INFLATERAW:case exports.UNZIP:this.err=zlib_inflate.inflateInit2(this.strm,this.windowBits);break;default:throw new Error(\"Unknown mode \"+this.mode)}if(this.err!==exports.Z_OK)this._error(\"Init error\");this.dictionary=dictionary,this.write_in_progress=!1,this.init_done=!0},Zlib.prototype._setDictionary=function(){if(this.dictionary==null)return;switch(this.err=exports.Z_OK,this.mode){case exports.DEFLATE:case exports.DEFLATERAW:this.err=zlib_deflate.deflateSetDictionary(this.strm,this.dictionary);break;default:break}if(this.err!==exports.Z_OK)this._error(\"Failed to set dictionary\")},Zlib.prototype._reset=function(){switch(this.err=exports.Z_OK,this.mode){case exports.DEFLATE:case exports.DEFLATERAW:case exports.GZIP:this.err=zlib_deflate.deflateReset(this.strm);break;case exports.INFLATE:case exports.INFLATERAW:case exports.GUNZIP:this.err=zlib_inflate.inflateReset(this.strm);break;default:break}if(this.err!==exports.Z_OK)this._error(\"Failed to reset stream\")},exports.Zlib=Zlib}}),require_lib=__commonJS({\"node_modules/browserify-zlib/lib/index.js\"(exports){var Buffer2=BufferModule.Buffer,Transform=StreamModule.Transform,binding=require_binding(),util=Util,kMaxLength=BufferModule.kMaxLength,kRangeErrorMessage=\"Cannot create final Buffer. It would be larger than 0x\"+kMaxLength.toString(16)+\" bytes\";binding.Z_MIN_WINDOWBITS=8,binding.Z_MAX_WINDOWBITS=15,binding.Z_DEFAULT_WINDOWBITS=15,binding.Z_MIN_CHUNK=64,binding.Z_MAX_CHUNK=Infinity,binding.Z_DEFAULT_CHUNK=16384,binding.Z_MIN_MEMLEVEL=1,binding.Z_MAX_MEMLEVEL=9,binding.Z_DEFAULT_MEMLEVEL=8,binding.Z_MIN_LEVEL=-1,binding.Z_MAX_LEVEL=9,binding.Z_DEFAULT_LEVEL=binding.Z_DEFAULT_COMPRESSION;var bkeys=Object.keys(binding);for(bk=0;bk=kMaxLength)err=new RangeError(kRangeErrorMessage);else buf=Buffer2.concat(buffers,nread);buffers=[],engine.close(),callback(err,buf)}}function zlibBufferSync(engine,buffer){if(typeof buffer===\"string\")buffer=Buffer2.from(buffer);if(!Buffer2.isBuffer(buffer))@throwTypeError(\"Not a string or buffer\");var flushFlag=engine._finishFlushFlag;return engine._processChunk(buffer,flushFlag)}function Deflate(opts){if(!(this instanceof Deflate))return new Deflate(opts);Zlib.call(this,opts,binding.DEFLATE)}function Inflate(opts){if(!(this instanceof Inflate))return new Inflate(opts);Zlib.call(this,opts,binding.INFLATE)}function Gzip(opts){if(!(this instanceof Gzip))return new Gzip(opts);Zlib.call(this,opts,binding.GZIP)}function Gunzip(opts){if(!(this instanceof Gunzip))return new Gunzip(opts);Zlib.call(this,opts,binding.GUNZIP)}function DeflateRaw(opts){if(!(this instanceof DeflateRaw))return new DeflateRaw(opts);Zlib.call(this,opts,binding.DEFLATERAW)}function InflateRaw(opts){if(!(this instanceof InflateRaw))return new InflateRaw(opts);Zlib.call(this,opts,binding.INFLATERAW)}function Unzip(opts){if(!(this instanceof Unzip))return new Unzip(opts);Zlib.call(this,opts,binding.UNZIP)}function isValidFlushFlag(flag){return flag===binding.Z_NO_FLUSH||flag===binding.Z_PARTIAL_FLUSH||flag===binding.Z_SYNC_FLUSH||flag===binding.Z_FULL_FLUSH||flag===binding.Z_FINISH||flag===binding.Z_BLOCK}function Zlib(opts,mode){var _this=this;if(this._opts=opts=opts||{},this._chunkSize=opts.chunkSize||exports.Z_DEFAULT_CHUNK,Transform.call(this,opts),opts.flush&&!isValidFlushFlag(opts.flush))throw new Error(\"Invalid flush flag: \"+opts.flush);if(opts.finishFlush&&!isValidFlushFlag(opts.finishFlush))throw new Error(\"Invalid flush flag: \"+opts.finishFlush);if(this._flushFlag=opts.flush||binding.Z_NO_FLUSH,this._finishFlushFlag=typeof opts.finishFlush!==\"undefined\"\?opts.finishFlush:binding.Z_FINISH,opts.chunkSize){if(opts.chunkSizeexports.Z_MAX_CHUNK)throw new Error(\"Invalid chunk size: \"+opts.chunkSize)}if(opts.windowBits){if(opts.windowBitsexports.Z_MAX_WINDOWBITS)throw new Error(\"Invalid windowBits: \"+opts.windowBits)}if(opts.level){if(opts.levelexports.Z_MAX_LEVEL)throw new Error(\"Invalid compression level: \"+opts.level)}if(opts.memLevel){if(opts.memLevelexports.Z_MAX_MEMLEVEL)throw new Error(\"Invalid memLevel: \"+opts.memLevel)}if(opts.strategy){if(opts.strategy!=exports.Z_FILTERED&&opts.strategy!=exports.Z_HUFFMAN_ONLY&&opts.strategy!=exports.Z_RLE&&opts.strategy!=exports.Z_FIXED&&opts.strategy!=exports.Z_DEFAULT_STRATEGY)throw new Error(\"Invalid strategy: \"+opts.strategy)}if(opts.dictionary){if(!Buffer2.isBuffer(opts.dictionary))throw new Error(\"Invalid dictionary: it should be a Buffer instance\")}this._handle=new binding.Zlib(mode);var self=this;this._hadError=!1,this._handle.onerror=function(message,errno){_close(self),self._hadError=!0;var error=new Error(message);error.errno=errno,error.code=exports.codes[errno],self.emit(\"error\",error)};var level=exports.Z_DEFAULT_COMPRESSION;if(typeof opts.level===\"number\")level=opts.level;var strategy=exports.Z_DEFAULT_STRATEGY;if(typeof opts.strategy===\"number\")strategy=opts.strategy;this._handle.init(opts.windowBits||exports.Z_DEFAULT_WINDOWBITS,level,opts.memLevel||exports.Z_DEFAULT_MEMLEVEL,strategy,opts.dictionary),this._buffer=Buffer2.allocUnsafe(this._chunkSize),this._offset=0,this._level=level,this._strategy=strategy,this.once(\"end\",this.close),Object.defineProperty(this,\"_closed\",{get:function(){return!_this._handle},configurable:!0,enumerable:!0})}util.inherits(Zlib,Transform),Zlib.prototype.params=function(level,strategy,callback){if(levelexports.Z_MAX_LEVEL)@throwRangeError(\"Invalid compression level: \"+level);if(strategy!=exports.Z_FILTERED&&strategy!=exports.Z_HUFFMAN_ONLY&&strategy!=exports.Z_RLE&&strategy!=exports.Z_FIXED&&strategy!=exports.Z_DEFAULT_STRATEGY)@throwTypeError(\"Invalid strategy: \"+strategy);if(this._level!==level||this._strategy!==strategy){var self=this;this.flush(binding.Z_SYNC_FLUSH,function(){if(assert(self._handle,\"zlib binding closed\"),self._handle.params(level,strategy),!self._hadError){if(self._level=level,self._strategy=strategy,callback)callback()}})}else process.nextTick(callback)},Zlib.prototype.reset=function(){return assert(this._handle,\"zlib binding closed\"),this._handle.reset()},Zlib.prototype._flush=function(callback){this._transform(Buffer2.alloc(0),\"\",callback)},Zlib.prototype.flush=function(kind,callback){var _this2=this,ws=this._writableState;if(typeof kind===\"function\"||kind===void 0&&!callback)callback=kind,kind=binding.Z_FULL_FLUSH;if(ws.ended){if(callback)process.nextTick(callback)}else if(ws.ending){if(callback)this.once(\"end\",callback)}else if(ws.needDrain){if(callback)this.once(\"drain\",function(){return _this2.flush(kind,callback)})}else this._flushFlag=kind,this.write(Buffer2.alloc(0),\"\",callback)},Zlib.prototype.close=function(callback){_close(this,callback),process.nextTick(emitCloseNT,this)};function _close(engine,callback){if(callback)process.nextTick(callback);if(!engine._handle)return;engine._handle.close(),engine._handle=null}function emitCloseNT(self){self.emit(\"close\")}Zlib.prototype._transform=function(chunk,encoding,cb){var flushFlag,ws=this._writableState,ending=ws.ending||ws.ended,last=ending&&(!chunk||ws.length===chunk.length);if(chunk!==null&&!Buffer2.isBuffer(chunk))return cb(new Error(\"invalid input\"));if(!this._handle)return cb(new Error(\"zlib binding closed\"));if(last)flushFlag=this._finishFlushFlag;else if(flushFlag=this._flushFlag,chunk.length>=ws.length)this._flushFlag=this._opts.flush||binding.Z_NO_FLUSH;this._processChunk(chunk,flushFlag,cb)},Zlib.prototype._processChunk=function(chunk,flushFlag,cb){var availInBefore=chunk&&chunk.length,availOutBefore=this._chunkSize-this._offset,inOff=0,self=this,async=typeof cb===\"function\";if(!async){var buffers=[],nread=0,error;this.on(\"error\",function(er){error=er}),assert(this._handle,\"zlib binding closed\");do var res=this._handle.writeSync(flushFlag,chunk,inOff,availInBefore,this._buffer,this._offset,availOutBefore);while(!this._hadError&&callback(res[0],res[1]));if(this._hadError)throw error;if(nread>=kMaxLength)_close(this),@throwRangeError(kRangeErrorMessage);var buf=Buffer2.concat(buffers,nread);return _close(this),buf}assert(this._handle,\"zlib binding closed\");var req=this._handle.write(flushFlag,chunk,inOff,availInBefore,this._buffer,this._offset,availOutBefore);req.buffer=chunk,req.callback=callback;function callback(availInAfter,availOutAfter){if(this)this.buffer=null,this.callback=null;if(self._hadError)return;var have=availOutBefore-availOutAfter;if(assert(have>=0,\"have should not go down\"),have>0){var out=self._buffer.slice(self._offset,self._offset+have);if(self._offset+=have,async)self.push(out);else buffers.push(out),nread+=out.length}if(availOutAfter===0||self._offset>=self._chunkSize)availOutBefore=self._chunkSize,self._offset=0,self._buffer=Buffer2.allocUnsafe(self._chunkSize);if(availOutAfter===0){if(inOff+=availInBefore-availInAfter,availInBefore=availInAfter,!async)return!0;var newReq=self._handle.write(flushFlag,chunk,inOff,availInBefore,self._buffer,self._offset,self._chunkSize);newReq.callback=callback,newReq.buffer=chunk;return}if(!async)return!1;cb()}},util.inherits(Deflate,Zlib),util.inherits(Inflate,Zlib),util.inherits(Gzip,Zlib),util.inherits(Gunzip,Zlib),util.inherits(DeflateRaw,Zlib),util.inherits(InflateRaw,Zlib),util.inherits(Unzip,Zlib)}});return require_lib()})\n"_s; +static constexpr ASCIILiteral ThirdpartyDepdCode = "(function (){\"use strict\";var $=function depd(namespace){if(!namespace)@throwTypeError(\"argument namespace is required\");function deprecate(message){}return deprecate._file=void 0,deprecate._ignored=!0,deprecate._namespace=namespace,deprecate._traced=!1,deprecate._warned=Object.create(null),deprecate.function=wrapfunction,deprecate.property=wrapproperty,deprecate};function wrapfunction(fn,message){if(typeof fn!==\"function\")@throwTypeError(\"argument fn must be a function\");return fn}function wrapproperty(obj,prop,message){if(!obj||typeof obj!==\"object\"&&typeof obj!==\"function\")@throwTypeError(\"argument obj must be object\");var descriptor=Object.getOwnPropertyDescriptor(obj,prop);if(!descriptor)@throwTypeError(\"must call property on owner object\");if(!descriptor.configurable)@throwTypeError(\"property must be configurable\")}return $})\n"_s; +static constexpr ASCIILiteral ThirdpartyDetectLibcCode = "(function (){\"use strict\";function family(){return Promise.resolve(familySync())}function familySync(){return null}const GLIBC=\"glibc\",MUSL=\"musl\";function versionAsync(){return Promise.resolve(version())}function version(){return null}function isNonGlibcLinuxSync(){return!1}function isNonGlibcLinux(){return Promise.resolve(isNonGlibcLinuxSync())}return{GLIBC,MUSL,family,familySync,isNonGlibcLinux,isNonGlibcLinuxSync,version,versionAsync}})\n"_s; +static constexpr ASCIILiteral ThirdpartyDetectLibcLinuxCode = "(function (){\"use strict\";function family(){return Promise.resolve(familySync())}function familySync(){return GLIBC}const GLIBC=\"glibc\",MUSL=\"musl\";function versionAsync(){return Promise.resolve(version())}function version(){return\"2.29\"}function isNonGlibcLinuxSync(){return!1}function isNonGlibcLinux(){return Promise.resolve(isNonGlibcLinuxSync())}return{GLIBC,MUSL,family,familySync,isNonGlibcLinux,isNonGlibcLinuxSync,version,versionAsync}})\n"_s; +static constexpr ASCIILiteral ThirdpartyUndiciCode = "(function (){\"use strict\";const EventEmitter=@requireId(13),StreamModule=@requireId(30),{Readable}=StreamModule,{_ReadableFromWebForUndici:ReadableFromWeb}=StreamModule[Symbol.for(\"::bunternal::\")],ObjectCreate=Object.create,kEmptyObject=ObjectCreate(null);var fetch=Bun.fetch,Response=globalThis.Response,Headers=globalThis.Headers,Request=globalThis.Request,URLSearchParams=globalThis.URLSearchParams,URL=globalThis.URL;class File extends Blob{constructor(){super(...arguments)}}class FileReader extends EventTarget{constructor(){throw new Error(\"Not implemented yet!\")}}var FormData=globalThis.FormData;function notImplemented(){throw new Error(\"Not implemented in bun\")}class BodyReadable extends ReadableFromWeb{#response;#bodyUsed;constructor(response,options={}){var{body}=response;if(!body)throw new Error(\"Response body is null\");super(options,body);this.#response=response,this.#bodyUsed=response.bodyUsed}get bodyUsed(){return this.#bodyUsed}#consume(){if(this.#bodyUsed)@throwTypeError(\"unusable\");this.#bodyUsed=!0}async arrayBuffer(){return this.#consume(),await this.#response.arrayBuffer()}async blob(){return this.#consume(),await this.#response.blob()}async formData(){return this.#consume(),await this.#response.formData()}async json(){return this.#consume(),await this.#response.json()}async text(){return this.#consume(),await this.#response.text()}}async function request(url,options={method:\"GET\",signal:null,headers:null,query:null,reset:!1,throwOnError:!1,body:null}){let{method=\"GET\",headers:inputHeaders,query,signal,reset=!1,throwOnError=!1,body:inputBody,maxRedirections}=options;if(typeof url===\"string\"){if(query)url=new URL(url)}else if(typeof url===\"object\"&&url!==null){if(!(url instanceof URL))throw new Error(\"not implemented\")}else @throwTypeError(\"url must be a string, URL, or UrlObject\");if(typeof url===\"string\"&&query)url=new URL(url);if(typeof url===\"object\"&&url!==null&&query){if(query)url.search=new URLSearchParams(query).toString()}if(method=method&&typeof method===\"string\"\?method.toUpperCase():null,inputBody&&(method===\"GET\"||method===\"HEAD\"))throw new Error(\"Body not allowed for GET or HEAD requests\");if(inputBody&&inputBody.read&&inputBody instanceof Readable){let data=\"\";inputBody.setEncoding(\"utf8\");for await(let chunk of stream)data+=chunk;inputBody=(new TextEncoder()).encode(data)}if(maxRedirections!==void 0&&Number.isNaN(maxRedirections))throw new Error(\"maxRedirections must be a number if defined\");if(signal&&!(signal instanceof AbortSignal))throw new Error(\"signal must be an instance of AbortSignal\");let resp;const{status:statusCode,headers,trailers}=resp=await fetch(url,{signal,mode:\"cors\",method,headers:inputHeaders||kEmptyObject,body:inputBody,redirect:maxRedirections===\"undefined\"||maxRedirections>0\?\"follow\":\"manual\",keepalive:!reset});if(throwOnError&&statusCode>=400&&statusCode<600)throw new Error(`Request failed with status code ${statusCode}`);const body=resp.body\?new BodyReadable(resp):null;return{statusCode,headers:headers.toJSON(),body,trailers,opaque:kEmptyObject,context:kEmptyObject}}function stream(){throw new Error(\"Not implemented in bun\")}function pipeline(){throw new Error(\"Not implemented in bun\")}function connect(){throw new Error(\"Not implemented in bun\")}function upgrade(){throw new Error(\"Not implemented in bun\")}class MockClient{constructor(){throw new Error(\"Not implemented in bun\")}}class MockPool{constructor(){throw new Error(\"Not implemented in bun\")}}class MockAgent{constructor(){throw new Error(\"Not implemented in bun\")}}function mockErrors(){throw new Error(\"Not implemented in bun\")}function Undici(){throw new Error(\"Not implemented in bun\")}class Dispatcher extends EventEmitter{constructor(){super(...arguments)}}class Agent extends Dispatcher{constructor(){super(...arguments)}}class Pool extends Dispatcher{constructor(){super(...arguments)}request(){throw new Error(\"Not implemented in bun\")}}class BalancedPool extends Dispatcher{constructor(){super(...arguments)}}class Client extends Dispatcher{constructor(){super(...arguments)}request(){throw new Error(\"Not implemented in bun\")}}return Undici.Dispatcher=Dispatcher,Undici.Pool=Pool,Undici.BalancedPool=BalancedPool,Undici.Client=Client,Undici.Agent=Agent,Undici.buildConnector=Undici.errors=Undici.setGlobalDispatcher=Undici.getGlobalDispatcher=Undici.request=Undici.stream=Undici.pipeline=Undici.connect=Undici.upgrade=Undici.MockClient=Undici.MockPool=Undici.MockAgent=Undici.mockErrors=notImplemented,Undici.fetch=fetch,{fetch,Response,Headers,Request,URLSearchParams,URL,File,FileReader,FormData,request,stream,pipeline,connect,upgrade,MockClient,MockPool,MockAgent,mockErrors,Dispatcher,Pool,BalancedPool,Client,Agent,Undici}})\n"_s; +static constexpr ASCIILiteral ThirdpartyWSCode = "(function (){\"use strict\";const EventEmitter=@requireId(13),http=@requireId(16),kBunInternals=Symbol.for(\"::bunternal::\"),readyStates=[\"CONNECTING\",\"OPEN\",\"CLOSING\",\"CLOSED\"],encoder=new TextEncoder,eventIds={open:1,close:2,message:3,error:4,ping:5,pong:6},emittedWarnings=new Set;function emitWarning(type,message){if(emittedWarnings.has(type))return;emittedWarnings.add(type),console.warn(\"[bun] Warning:\",message)}class BunWebSocket extends EventEmitter{static CONNECTING=0;static OPEN=1;static CLOSING=2;static CLOSED=3;#ws;#paused=!1;#fragments=!1;#binaryType=\"nodebuffer\";#eventId=0;constructor(url,protocols,options){super();let ws=this.#ws=new WebSocket(url,protocols);ws.binaryType=\"nodebuffer\"}on(event,listener){if(event===\"unexpected-response\"||event===\"upgrade\"||event===\"redirect\")emitWarning(event,\"ws.WebSocket '\"+event+\"' event is not implemented in bun\");const mask=1<{this.emit(\"open\")});else if(event===\"close\")this.#ws.addEventListener(\"close\",({code,reason,wasClean})=>{this.emit(\"close\",code,reason,wasClean)});else if(event===\"message\")this.#ws.addEventListener(\"message\",({data})=>{const isBinary=typeof data!==\"string\";if(isBinary)this.emit(\"message\",this.#fragments\?[data]:data,isBinary);else{let encoded=encoder.encode(data);if(this.#binaryType!==\"arraybuffer\")encoded=Buffer.from(encoded.buffer,encoded.byteOffset,encoded.byteLength);this.emit(\"message\",this.#fragments\?[encoded]:encoded,isBinary)}});else if(event===\"error\")this.#ws.addEventListener(\"error\",(err)=>{this.emit(\"error\",err)});else if(event===\"ping\")this.#ws.addEventListener(\"ping\",({data})=>{this.emit(\"ping\",data)});else if(event===\"pong\")this.#ws.addEventListener(\"pong\",({data})=>{this.emit(\"pong\",data)})}return super.on(event,listener)}send(data,opts,cb){try{this.#ws.send(data,opts\?.compress)}catch(error){typeof cb===\"function\"&&cb(error);return}typeof cb===\"function\"&&cb()}close(code,reason){this.#ws.close(code,reason)}terminate(){this.#ws.terminate()}get url(){return this.#ws.url}get readyState(){return this.#ws.readyState}get binaryType(){return this.#binaryType}set binaryType(value){if(value===\"nodebuffer\"||value===\"arraybuffer\")this.#ws.binaryType=this.#binaryType=value,this.#fragments=!1;else if(value===\"fragments\")this.#ws.binaryType=\"nodebuffer\",this.#binaryType=\"fragments\",this.#fragments=!0;else throw new Error(`Invalid binaryType: ${value}`)}get protocol(){return this.#ws.protocol}get extensions(){return this.#ws.extensions}addEventListener(type,listener,options){this.#ws.addEventListener(type,listener,options)}removeEventListener(type,listener){this.#ws.removeEventListener(type,listener)}get onopen(){return this.#ws.onopen}set onopen(value){this.#ws.onopen=value}get onerror(){return this.#ws.onerror}set onerror(value){this.#ws.onerror=value}get onclose(){return this.#ws.onclose}set onclose(value){this.#ws.onclose=value}get onmessage(){return this.#ws.onmessage}set onmessage(value){this.#ws.onmessage=value}get bufferedAmount(){return this.#ws.bufferedAmount}get isPaused(){return this.#paused}ping(data,mask,cb){if(typeof data===\"function\")cb=data,data=mask=void 0;else if(typeof mask===\"function\")cb=mask,mask=void 0;if(typeof data===\"number\")data=data.toString();try{this.#ws.ping(data)}catch(error){typeof cb===\"function\"&&cb(error);return}typeof cb===\"function\"&&cb()}pong(data,mask,cb){if(typeof data===\"function\")cb=data,data=mask=void 0;else if(typeof mask===\"function\")cb=mask,mask=void 0;if(typeof data===\"number\")data=data.toString();try{this.#ws.pong(data)}catch(error){typeof cb===\"function\"&&cb(error);return}typeof cb===\"function\"&&cb()}pause(){switch(this.readyState){case WebSocket.CONNECTING:case WebSocket.CLOSED:return}this.#paused=!0,emitWarning(\"pause()\",\"ws.WebSocket.pause() is not implemented in bun\")}resume(){switch(this.readyState){case WebSocket.CONNECTING:case WebSocket.CLOSED:return}this.#paused=!1,emitWarning(\"resume()\",\"ws.WebSocket.resume() is not implemented in bun\")}}Object.defineProperty(BunWebSocket,\"name\",{value:\"WebSocket\"});const wsKeyRegex=/^[+/0-9A-Za-z]{22}==$/,wsTokenChars=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,1,1,1,0,0,1,1,0,1,1,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0,1,0];function subprotocolParse(header){const protocols=new Set;let start=-1,end=-1,i=0;for(i;i{const body=http.STATUS_CODES[426];res.writeHead(426,{\"Content-Length\":body.length,\"Content-Type\":\"text/plain\"}),res.end(body)}),this._server.listen(options.port,options.host,options.backlog,callback);else if(options.server)this._server=options.server;if(this._server){const emitConnection=this.emit.bind(this,\"connection\"),emitListening=this.emit.bind(this,\"listening\"),emitError=this.emit.bind(this,\"error\"),doUpgrade=(req,socket,head)=>{this.handleUpgrade(req,socket,head,emitConnection)};this._server.on(\"listening\",emitListening),this._server.on(\"error\",emitError),this._server.on(\"upgrade\",doUpgrade),this._removeListeners=()=>{this._server.removeListener(\"upgrade\",doUpgrade),this._server.removeListener(\"listening\",emitListening),this._server.removeListener(\"error\",emitError)}}if(options.perMessageDeflate===!0)options.perMessageDeflate={};if(options.clientTracking)this.clients=new Set,this._shouldEmitClose=!1;this.options=options,this._state=RUNNING}address(){if(this.options.noServer)throw new Error('The server is operating in \"noServer\" mode');if(!this._server)return null;return this._server.address()}close(cb){if(this._state===CLOSED){if(cb)this.once(\"close\",()=>{cb(new Error(\"The server is not running\"))});process.nextTick((server)=>{server._state=CLOSED,server.emit(\"close\")},this);return}if(cb)this.once(\"close\",cb);if(this._state===CLOSING)return;if(this._state=CLOSING,this.options.noServer||this.options.server){if(this._server)this._removeListeners(),this._removeListeners=this._server=null;if(this.clients)if(!this.clients.size)process.nextTick((server)=>{server._state=CLOSED,server.emit(\"close\")},this);else this._shouldEmitClose=!0;else process.nextTick((server)=>{server._state=CLOSED,server.emit(\"close\")},this)}else{const server=this._server;this._removeListeners(),this._removeListeners=this._server=null,server.close(()=>{this._state=CLOSED,this.emit(\"close\")})}}shouldHandle(req){if(this.options.path){const index=req.url.indexOf(\"\?\");if((index!==-1\?req.url.slice(0,index):req.url)!==this.options.path)return!1}return!0}completeUpgrade(extensions,key,protocols,request,socket,head,cb){const[server,response,req]=socket[kBunInternals];if(this._state>RUNNING)return abortHandshake(response,503);let protocol=\"\";if(protocols.size)protocol=this.options.handleProtocols\?this.options.handleProtocols(protocols,request):protocols.values().next().value;const ws=new BunWebSocketMocked(request.url,protocol,extensions,\"nodebuffer\"),headers=[\"HTTP/1.1 101 Switching Protocols\",\"Upgrade: websocket\",\"Connection: Upgrade\"];if(this.emit(\"headers\",headers,request),server.upgrade(req,{data:ws[kBunInternals]})){if(response._reply(void 0),this.clients)this.clients.add(ws),ws.on(\"close\",()=>{if(this.clients.delete(ws),this._shouldEmitClose&&!this.clients.size)process.nextTick(wsEmitClose,this)});cb(ws,request)}else abortHandshake(response,500)}handleUpgrade(req,socket,head,cb){const[_,response]=socket[kBunInternals],key=req.headers[\"sec-websocket-key\"],version=+req.headers[\"sec-websocket-version\"];if(req.method!==\"GET\"){abortHandshakeOrEmitwsClientError(this,req,response,socket,405,\"Invalid HTTP method\");return}if(req.headers.upgrade.toLowerCase()!==\"websocket\"){abortHandshakeOrEmitwsClientError(this,req,response,socket,400,\"Invalid Upgrade header\");return}if(!key||!wsKeyRegex.test(key)){abortHandshakeOrEmitwsClientError(this,req,response,socket,400,\"Missing or invalid Sec-WebSocket-Key header\");return}if(version!==8&&version!==13){abortHandshakeOrEmitwsClientError(this,req,response,socket,400,\"Missing or invalid Sec-WebSocket-Version header\");return}if(!this.shouldHandle(req)){abortHandshake(response,400);return}const secWebSocketProtocol=req.headers[\"sec-websocket-protocol\"];let protocols=new Set;if(secWebSocketProtocol!==void 0)try{protocols=subprotocolParse(secWebSocketProtocol)}catch(err){abortHandshakeOrEmitwsClientError(this,req,response,socket,400,\"Invalid Sec-WebSocket-Protocol header\");return}const extensions={};if(this.options.verifyClient){const info={origin:req.headers[`${version===8\?\"sec-websocket-origin\":\"origin\"}`],secure:!!(req.socket.authorized||req.socket.encrypted),req};if(this.options.verifyClient.length===2){this.options.verifyClient(info,(verified,code,message,headers)=>{if(!verified)return abortHandshake(response,code||401,message,headers);this.completeUpgrade(extensions,key,protocols,req,socket,head,cb)});return}if(!this.options.verifyClient(info))return abortHandshake(response,401)}this.completeUpgrade(extensions,key,protocols,req,socket,head,cb)}}Object.defineProperty(BunWebSocket,\"CONNECTING\",{enumerable:!0,value:readyStates.indexOf(\"CONNECTING\")}),Object.defineProperty(BunWebSocket.prototype,\"CONNECTING\",{enumerable:!0,value:readyStates.indexOf(\"CONNECTING\")}),Object.defineProperty(BunWebSocket,\"OPEN\",{enumerable:!0,value:readyStates.indexOf(\"OPEN\")}),Object.defineProperty(BunWebSocket.prototype,\"OPEN\",{enumerable:!0,value:readyStates.indexOf(\"OPEN\")}),Object.defineProperty(BunWebSocket,\"CLOSING\",{enumerable:!0,value:readyStates.indexOf(\"CLOSING\")}),Object.defineProperty(BunWebSocket.prototype,\"CLOSING\",{enumerable:!0,value:readyStates.indexOf(\"CLOSING\")}),Object.defineProperty(BunWebSocket,\"CLOSED\",{enumerable:!0,value:readyStates.indexOf(\"CLOSED\")}),Object.defineProperty(BunWebSocket.prototype,\"CLOSED\",{enumerable:!0,value:readyStates.indexOf(\"CLOSED\")});class Sender{constructor(){throw new Error(\"Not supported yet in Bun\")}}class Receiver{constructor(){throw new Error(\"Not supported yet in Bun\")}}var createWebSocketStream=(ws)=>{throw new Error(\"Not supported yet in Bun\")};return Object.assign(BunWebSocket,{createWebSocketStream,Receiver,Sender,WebSocket:BunWebSocket,Server:WebSocketServer,WebSocketServer})})\n"_s; +#elif _WIN32 +static constexpr ASCIILiteral BunFFICode = "(function (){\"use strict\";var ffi=globalThis.Bun.FFI;const ptr=(arg1,arg2)=>typeof arg2===\"undefined\"\?ffi.ptr(arg1):ffi.ptr(arg1,arg2),toBuffer=ffi.toBuffer,toArrayBuffer=ffi.toArrayBuffer,viewSource=ffi.viewSource,BunCString=ffi.CString,nativeLinkSymbols=ffi.linkSymbols,nativeDLOpen=ffi.dlopen,nativeCallback=ffi.callback,closeCallback=ffi.closeCallback;delete ffi.callback,delete ffi.closeCallback;class JSCallback{constructor(cb,options){const{ctx,ptr:ptr2}=nativeCallback(options,cb);this.#ctx=ctx,this.ptr=ptr2,this.#threadsafe=!!options\?.threadsafe}ptr;#ctx;#threadsafe;get threadsafe(){return this.#threadsafe}[Symbol.toPrimitive](){const{ptr:ptr2}=this;return typeof ptr2===\"number\"\?ptr2:0}close(){const ctx=this.#ctx;if(this.ptr=null,this.#ctx=null,ctx)closeCallback(ctx)}}class CString extends String{constructor(ptr2,byteOffset,byteLength){super(ptr2\?typeof byteLength===\"number\"&&Number.isSafeInteger(byteLength)\?new BunCString(ptr2,byteOffset||0,byteLength):new BunCString(ptr2):\"\");if(this.ptr=typeof ptr2===\"number\"\?ptr2:0,typeof byteOffset!==\"undefined\")this.byteOffset=byteOffset;if(typeof byteLength!==\"undefined\")this.byteLength=byteLength}ptr;byteOffset;byteLength;#cachedArrayBuffer;get arrayBuffer(){if(this.#cachedArrayBuffer)return this.#cachedArrayBuffer;if(!this.ptr)return this.#cachedArrayBuffer=new ArrayBuffer(0);return this.#cachedArrayBuffer=toArrayBuffer(this.ptr,this.byteOffset,this.byteLength)}}Object.defineProperty(globalThis,\"__GlobalBunCString\",{value:CString,enumerable:!1,configurable:!1});const ffiWrappers=new Array(18);var char=(val)=>val|0;ffiWrappers.fill(char),ffiWrappers[FFIType.uint8_t]=function uint8(val){return val<0\?0:val>=255\?255:val|0},ffiWrappers[FFIType.int16_t]=function int16(val){return val<=-32768\?-32768:val>=32768\?32768:val|0},ffiWrappers[FFIType.uint16_t]=function uint16(val){return val<=0\?0:val>=65536\?65536:val|0},ffiWrappers[FFIType.int32_t]=function int32(val){return val|0},ffiWrappers[FFIType.uint32_t]=function uint32(val){return val<=0\?0:val>=4294967295\?4294967295:+val||0},ffiWrappers[FFIType.i64_fast]=function int64(val){if(typeof val===\"bigint\"){if(val<=BigInt(Number.MAX_SAFE_INTEGER)&&val>=BigInt(-Number.MAX_SAFE_INTEGER))return Number(val).valueOf()||0;return val}return!val\?0:+val||0},ffiWrappers[FFIType.u64_fast]=function u64_fast(val){if(typeof val===\"bigint\"){if(val<=BigInt(Number.MAX_SAFE_INTEGER)&&val>=0)return Number(val).valueOf()||0;return val}return!val\?0:+val||0},ffiWrappers[FFIType.int64_t]=function int64(val){if(typeof val===\"bigint\")return val;if(typeof val===\"number\")return BigInt(val||0);return BigInt(+val||0)},ffiWrappers[FFIType.uint64_t]=function uint64(val){if(typeof val===\"bigint\")return val;if(typeof val===\"number\")return val<=0\?BigInt(0):BigInt(val||0);return BigInt(+val||0)},ffiWrappers[FFIType.u64_fast]=function u64_fast(val){if(typeof val===\"bigint\"){if(val<=BigInt(Number.MAX_SAFE_INTEGER)&&val>=BigInt(0))return Number(val);return val}return typeof val===\"number\"\?val<=0\?0:+val||0:+val||0},ffiWrappers[FFIType.uint16_t]=function uint16(val){const ret=(typeof val===\"bigint\"\?Number(val):val)|0;return ret<=0\?0:ret>65535\?65535:ret},ffiWrappers[FFIType.double]=function double(val){if(typeof val===\"bigint\"){if(val.valueOf()func(functionToCall);break;case 1:wrap=(arg1)=>func(functionToCall,arg1);break;case 2:wrap=(arg1,arg2)=>func(functionToCall,arg1,arg2);break;case 3:wrap=(arg1,arg2,arg3)=>func(functionToCall,arg1,arg2,arg3);break;case 4:wrap=(arg1,arg2,arg3,arg4)=>func(functionToCall,arg1,arg2,arg3,arg4);break;case 5:wrap=(arg1,arg2,arg3,arg4,arg5)=>func(functionToCall,arg1,arg2,arg3,arg4,arg5);break;case 6:wrap=(arg1,arg2,arg3,arg4,arg5,arg6)=>func(functionToCall,arg1,arg2,arg3,arg4,arg5,arg6);break;case 7:wrap=(arg1,arg2,arg3,arg4,arg5,arg6,arg7)=>func(functionToCall,arg1,arg2,arg3,arg4,arg5,arg6,arg7);break;case 8:wrap=(arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8)=>func(functionToCall,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8);break;case 9:wrap=(arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9)=>func(functionToCall,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9);break;default:{wrap=(...args2)=>func(functionToCall,...args2);break}}return wrap.native=functionToCall,wrap.ptr=functionToCall.ptr,wrap}const native={dlopen:nativeDLOpen,callback:()=>{throw new Error(\"Deprecated. Use new JSCallback(options, fn) instead\")}};function dlopen(path,options){const result=nativeDLOpen(path,options);for(let key in result.symbols){var symbol=result.symbols[key];if(options[key]\?.args\?.length||FFIType[options[key]\?.returns]===FFIType.cstring)result.symbols[key]=FFIBuilder(options[key].args\?\?[],options[key].returns\?\?FFIType.void,symbol,path.includes(\"/\")\?`${key} (${path.split(\"/\").pop()})`:`${key} (${path})`);else result.symbols[key].native=result.symbols[key]}return result}function linkSymbols(options){const result=nativeLinkSymbols(options);for(let key in result.symbols){var symbol=result.symbols[key];if(options[key]\?.args\?.length||FFIType[options[key]\?.returns]===FFIType.cstring)result.symbols[key]=FFIBuilder(options[key].args\?\?[],options[key].returns\?\?FFIType.void,symbol,key);else result.symbols[key].native=result.symbols[key]}return result}var cFunctionI=0,cFunctionRegistry;function onCloseCFunction(close){close()}function CFunction(options){const identifier=`CFunction${cFunctionI++}`;var result=linkSymbols({[identifier]:options}),hasClosed=!1,close=result.close;return result.symbols[identifier].close=()=>{if(hasClosed||!close)return;hasClosed=!0,close(),close=void 0},cFunctionRegistry||=new FinalizationRegistry(onCloseCFunction),cFunctionRegistry.register(result.symbols[identifier],result.symbols[identifier].close),result.symbols[identifier]}const read=ffi.read;return{CFunction,CString,FFIType,JSCallback,dlopen,linkSymbols,native,ptr,read,suffix,toArrayBuffer,toBuffer,viewSource}})\n"_s; +static constexpr ASCIILiteral BunSqliteCode = "(function (){\"use strict\";const lazy=@lazy;var defineProperties=Object.defineProperties,toStringTag=Symbol.toStringTag,isArray=Array.isArray,isTypedArray=ArrayBuffer.isView;const constants={SQLITE_OPEN_READONLY:1,SQLITE_OPEN_READWRITE:2,SQLITE_OPEN_CREATE:4,SQLITE_OPEN_DELETEONCLOSE:8,SQLITE_OPEN_EXCLUSIVE:16,SQLITE_OPEN_AUTOPROXY:32,SQLITE_OPEN_URI:64,SQLITE_OPEN_MEMORY:128,SQLITE_OPEN_MAIN_DB:256,SQLITE_OPEN_TEMP_DB:512,SQLITE_OPEN_TRANSIENT_DB:1024,SQLITE_OPEN_MAIN_JOURNAL:2048,SQLITE_OPEN_TEMP_JOURNAL:4096,SQLITE_OPEN_SUBJOURNAL:8192,SQLITE_OPEN_SUPER_JOURNAL:16384,SQLITE_OPEN_NOMUTEX:32768,SQLITE_OPEN_FULLMUTEX:65536,SQLITE_OPEN_SHAREDCACHE:131072,SQLITE_OPEN_PRIVATECACHE:262144,SQLITE_OPEN_WAL:524288,SQLITE_OPEN_NOFOLLOW:16777216,SQLITE_OPEN_EXRESCODE:33554432,SQLITE_PREPARE_PERSISTENT:1,SQLITE_PREPARE_NORMALIZE:2,SQLITE_PREPARE_NO_VTAB:4};var SQL,controllers;class Statement{constructor(raw){switch(this.#raw=raw,raw.paramsCount){case 0:{this.get=this.#getNoArgs,this.all=this.#allNoArgs,this.values=this.#valuesNoArgs,this.run=this.#runNoArgs;break}default:{this.get=this.#get,this.all=this.#all,this.values=this.#values,this.run=this.#run;break}}}#raw;get;all;values;run;isFinalized=!1;toJSON(){return{sql:this.native.toString(),isFinalized:this.isFinalized,paramsCount:this.paramsCount,columnNames:this.columnNames}}get[toStringTag](){return`\"${this.native.toString()}\"`}toString(){return this.native.toString()}get native(){return this.#raw}#getNoArgs(){return this.#raw.get()}#allNoArgs(){return this.#raw.all()}#valuesNoArgs(){return this.#raw.values()}#runNoArgs(){this.#raw.run()}#get(...args){if(args.length===0)return this.#getNoArgs();var arg0=args[0];return!isArray(arg0)&&(!arg0||typeof arg0!==\"object\"||isTypedArray(arg0))\?this.#raw.get(args):this.#raw.get(...args)}#all(...args){if(args.length===0)return this.#allNoArgs();var arg0=args[0];return!isArray(arg0)&&(!arg0||typeof arg0!==\"object\"||isTypedArray(arg0))\?this.#raw.all(args):this.#raw.all(...args)}#values(...args){if(args.length===0)return this.#valuesNoArgs();var arg0=args[0];return!isArray(arg0)&&(!arg0||typeof arg0!==\"object\"||isTypedArray(arg0))\?this.#raw.values(args):this.#raw.values(...args)}#run(...args){if(args.length===0)return this.#runNoArgs();var arg0=args[0];!isArray(arg0)&&(!arg0||typeof arg0!==\"object\"||isTypedArray(arg0))\?this.#raw.run(args):this.#raw.run(...args)}get columnNames(){return this.#raw.columns}get paramsCount(){return this.#raw.paramsCount}finalize(...args){return this.isFinalized=!0,this.#raw.finalize(...args)}}var cachedCount=Symbol.for(\"Bun.Database.cache.count\");class Database{constructor(filenameGiven,options){if(typeof filenameGiven===\"undefined\");else if(typeof filenameGiven!==\"string\"){if(isTypedArray(filenameGiven)){this.#handle=Database.deserialize(filenameGiven,typeof options===\"object\"&&options\?!!options.readonly:((options|0)&constants.SQLITE_OPEN_READONLY)!=0),this.filename=\":memory:\";return}@throwTypeError(`Expected 'filename' to be a string, got '${typeof filenameGiven}'`)}var filename=typeof filenameGiven===\"string\"\?filenameGiven.trim():\":memory:\",flags=constants.SQLITE_OPEN_READWRITE|constants.SQLITE_OPEN_CREATE;if(typeof options===\"object\"&&options){if(flags=0,options.readonly)flags=constants.SQLITE_OPEN_READONLY;if(\"readOnly\"in options)@throwTypeError('Misspelled option \"readOnly\" should be \"readonly\"');if(options.create)flags=constants.SQLITE_OPEN_READWRITE|constants.SQLITE_OPEN_CREATE;if(options.readwrite)flags|=constants.SQLITE_OPEN_READWRITE}else if(typeof options===\"number\")flags=options;const anonymous=filename===\"\"||filename===\":memory:\";if(anonymous&&(flags&constants.SQLITE_OPEN_READONLY)!==0)throw new Error(\"Cannot open an anonymous database in read-only mode.\");if(!SQL)SQL=lazy(\"sqlite\");this.#handle=SQL.open(anonymous\?\":memory:\":filename,flags),this.filename=filename}#handle;#cachedQueriesKeys=[];#cachedQueriesLengths=[];#cachedQueriesValues=[];filename;get handle(){return this.#handle}get inTransaction(){return SQL.isInTransaction(this.#handle)}static open(filename,options){return new Database(filename,options)}loadExtension(name,entryPoint){return SQL.loadExtension(this.#handle,name,entryPoint)}serialize(optionalName){return SQL.serialize(this.#handle,optionalName||\"main\")}static deserialize(serialized,isReadOnly=!1){if(!SQL)SQL=lazy(\"sqlite\");return SQL.deserialize(serialized,isReadOnly)}static setCustomSQLite(path){if(!SQL)SQL=lazy(\"sqlite\");return SQL.setCustomSQLite(path)}close(){return this.clearQueryCache(),SQL.close(this.#handle)}clearQueryCache(){for(let item of this.#cachedQueriesValues)item.finalize();this.#cachedQueriesKeys.length=0,this.#cachedQueriesValues.length=0,this.#cachedQueriesLengths.length=0}run(query,...params){if(params.length===0){SQL.run(this.#handle,query);return}var arg0=params[0];return!isArray(arg0)&&(!arg0||typeof arg0!==\"object\"||isTypedArray(arg0))\?SQL.run(this.#handle,query,params):SQL.run(this.#handle,query,...params)}prepare(query,params,flags){return new Statement(SQL.prepare(this.#handle,query,params,flags||0))}static MAX_QUERY_CACHE_SIZE=20;get[cachedCount](){return this.#cachedQueriesKeys.length}query(query){if(typeof query!==\"string\")@throwTypeError(`Expected 'query' to be a string, got '${typeof query}'`);if(query.length===0)throw new Error(\"SQL query cannot be empty.\");var index=this.#cachedQueriesLengths.indexOf(query.length);while(index!==-1){if(this.#cachedQueriesKeys[index]!==query){index=this.#cachedQueriesLengths.indexOf(query.length,index+1);continue}var stmt=this.#cachedQueriesValues[index];if(stmt.isFinalized)return this.#cachedQueriesValues[index]=this.prepare(query,void 0,willCache\?constants.SQLITE_PREPARE_PERSISTENT:0);return stmt}const willCache=this.#cachedQueriesKeys.length{let controller=(controllers||=new WeakMap).get(db);if(!controller){const shared={commit:db.prepare(\"COMMIT\",void 0,0),rollback:db.prepare(\"ROLLBACK\",void 0,0),savepoint:db.prepare(\"SAVEPOINT `\\t_bs3.\\t`\",void 0,0),release:db.prepare(\"RELEASE `\\t_bs3.\\t`\",void 0,0),rollbackTo:db.prepare(\"ROLLBACK TO `\\t_bs3.\\t`\",void 0,0)};controllers.set(db,controller={default:Object.assign({begin:db.prepare(\"BEGIN\",void 0,0)},shared),deferred:Object.assign({begin:db.prepare(\"BEGIN DEFERRED\",void 0,0)},shared),immediate:Object.assign({begin:db.prepare(\"BEGIN IMMEDIATE\",void 0,0)},shared),exclusive:Object.assign({begin:db.prepare(\"BEGIN EXCLUSIVE\",void 0,0)},shared)})}return controller},wrapTransaction=(fn,db,{begin,commit,rollback,savepoint,release,rollbackTo})=>function transaction(...args){let before,after,undo;if(db.inTransaction)before=savepoint,after=release,undo=rollbackTo;else before=begin,after=commit,undo=rollback;try{before.run();const result=fn.apply(this,args);return after.run(),result}catch(ex){if(db.inTransaction){if(undo.run(),undo!==rollback)after.run()}throw ex}};return{__esModule:!0,Database,Statement,constants,default:Database}})\n"_s; +static constexpr ASCIILiteral InternalSharedCode = "(function (){\"use strict\";class NotImplementedError extends Error{code;constructor(feature,issue){super(feature+\" is not yet implemented in Bun.\"+(issue\?\" Track the status & thumbs up the issue: https://github.com/oven-sh/bun/issues/\"+issue:\"\"));this.name=\"NotImplementedError\",this.code=\"ERR_NOT_IMPLEMENTED\",hideFromStack(NotImplementedError)}}function throwNotImplemented(feature,issue){throw hideFromStack(throwNotImplemented),new NotImplementedError(feature,issue)}function hideFromStack(...fns){for(let fn of fns)Object.defineProperty(fn,\"name\",{value:\"::bunternal::\"})}return{NotImplementedError,throwNotImplemented,hideFromStack}})\n"_s; +static constexpr ASCIILiteral NodeAssertCode = "(function (){\"use strict\";const util=@requireId(38);var isDeepEqual=Bun.deepEquals,__commonJS=(cb,mod)=>function(){return mod||(0,cb[Object.keys(cb)[0]])((mod={exports:{}}).exports,mod),mod.exports},require_errors=__commonJS({\"assert/build/internal/errors.js\"(exports,module2){function _typeof(obj){return typeof Symbol==\"function\"&&typeof Symbol.iterator==\"symbol\"\?_typeof=function(obj2){return typeof obj2}:_typeof=function(obj2){return obj2&&typeof Symbol==\"function\"&&obj2.constructor===Symbol&&obj2!==Symbol.prototype\?\"symbol\":typeof obj2},_typeof(obj)}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))@throwTypeError(\"Cannot call a class as a function\")}function _possibleConstructorReturn(self,call){return call&&(_typeof(call)===\"object\"||typeof call==\"function\")\?call:_assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return self}function _getPrototypeOf(o){return _getPrototypeOf=Object.setPrototypeOf\?Object.getPrototypeOf:function(o2){return o2.__proto__||Object.getPrototypeOf(o2)},_getPrototypeOf(o)}function _inherits(subClass,superClass){if(typeof superClass!=\"function\"&&superClass!==null)@throwTypeError(\"Super expression must either be null or a function\");subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:!0,configurable:!0}}),superClass&&_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){return _setPrototypeOf=Object.setPrototypeOf||function(o2,p2){return o2.__proto__=p2,o2},_setPrototypeOf(o,p)}var codes={},assert,util2;function createErrorType(code,message,Base){Base||(Base=Error);function getMessage(arg1,arg2,arg3){return typeof message==\"string\"\?message:message(arg1,arg2,arg3)}var NodeError=function(_Base){_inherits(NodeError2,_Base);function NodeError2(arg1,arg2,arg3){var _this;return _classCallCheck(this,NodeError2),_this=_possibleConstructorReturn(this,_getPrototypeOf(NodeError2).call(this,getMessage(arg1,arg2,arg3))),_this.code=code,_this}return NodeError2}(Base);codes[code]=NodeError}function oneOf(expected,thing){if(Array.isArray(expected)){var len=expected.length;return expected=expected.map(function(i){return String(i)}),len>2\?\"one of \".concat(thing,\" \").concat(expected.slice(0,len-1).join(\", \"),\", or \")+expected[len-1]:len===2\?\"one of \".concat(thing,\" \").concat(expected[0],\" or \").concat(expected[1]):\"of \".concat(thing,\" \").concat(expected[0])}else return\"of \".concat(thing,\" \").concat(String(expected))}function startsWith(str,search,pos){return str.substr(!pos||pos<0\?0:+pos,search.length)===search}function endsWith(str,search,this_len){return(this_len===void 0||this_len>str.length)&&(this_len=str.length),str.substring(this_len-search.length,this_len)===search}function includes(str,search,start){return typeof start!=\"number\"&&(start=0),start+search.length>str.length\?!1:str.indexOf(search,start)!==-1}createErrorType(\"ERR_AMBIGUOUS_ARGUMENT\",'The \"%s\" argument is ambiguous. %s',TypeError),createErrorType(\"ERR_INVALID_ARG_TYPE\",function(name,expected,actual){assert===void 0&&(assert=require_assert()),assert(typeof name==\"string\",\"'name' must be a string\");var determiner;typeof expected==\"string\"&&startsWith(expected,\"not \")\?(determiner=\"must not be\",expected=expected.replace(/^not /,\"\")):determiner=\"must be\";var msg;if(endsWith(name,\" argument\"))msg=\"The \".concat(name,\" \").concat(determiner,\" \").concat(oneOf(expected,\"type\"));else{var type=includes(name,\".\")\?\"property\":\"argument\";msg='The \"'.concat(name,'\" ').concat(type,\" \").concat(determiner,\" \").concat(oneOf(expected,\"type\"))}return msg+=\". Received type \".concat(_typeof(actual)),msg},TypeError),createErrorType(\"ERR_INVALID_ARG_VALUE\",function(name,value){var reason=arguments.length>2&&arguments[2]!==void 0\?arguments[2]:\"is invalid\",inspected=util2.inspect(value);return inspected.length>128&&(inspected=\"\".concat(inspected.slice(0,128),\"...\")),\"The argument '\".concat(name,\"' \").concat(reason,\". Received \").concat(inspected)},TypeError,RangeError),createErrorType(\"ERR_INVALID_RETURN_VALUE\",function(input,name,value){var type;return value&&value.constructor&&value.constructor.name\?type=\"instance of \".concat(value.constructor.name):type=\"type \".concat(_typeof(value)),\"Expected \".concat(input,' to be returned from the \"').concat(name,'\"')+\" function but got \".concat(type,\".\")},TypeError),createErrorType(\"ERR_MISSING_ARGS\",function(){for(var _len=arguments.length,args=new Array(_len),_key=0;_key<_len;_key++)args[_key]=arguments[_key];assert===void 0&&(assert=require_assert()),assert(args.length>0,\"At least one arg needs to be specified\");var msg=\"The \",len=args.length;switch(args=args.map(function(a){return'\"'.concat(a,'\"')}),len){case 1:msg+=\"\".concat(args[0],\" argument\");break;case 2:msg+=\"\".concat(args[0],\" and \").concat(args[1],\" arguments\");break;default:msg+=args.slice(0,len-1).join(\", \"),msg+=\", and \".concat(args[len-1],\" arguments\");break}return\"\".concat(msg,\" must be specified\")},TypeError),module2.exports.codes=codes}}),require_assertion_error=__commonJS({\"assert/build/internal/assert/assertion_error.js\"(exports,module2){function _objectSpread(target){for(var i=1;istr.length)&&(this_len=str.length),str.substring(this_len-search.length,this_len)===search}function repeat(str,count){if(count=Math.floor(count),str.length==0||count==0)return\"\";var maxCount=str.length*count;for(count=Math.floor(Math.log(count)/Math.log(2));count;)str+=str,count--;return str+=str.substring(0,maxCount-str.length),str}var blue=\"\",green=\"\",red=\"\",white=\"\",kReadableOperator={deepStrictEqual:\"Expected values to be strictly deep-equal:\",strictEqual:\"Expected values to be strictly equal:\",strictEqualObject:'Expected \"actual\" to be reference-equal to \"expected\":',deepEqual:\"Expected values to be loosely deep-equal:\",equal:\"Expected values to be loosely equal:\",notDeepStrictEqual:'Expected \"actual\" not to be strictly deep-equal to:',notStrictEqual:'Expected \"actual\" to be strictly unequal to:',notStrictEqualObject:'Expected \"actual\" not to be reference-equal to \"expected\":',notDeepEqual:'Expected \"actual\" not to be loosely deep-equal to:',notEqual:'Expected \"actual\" to be loosely unequal to:',notIdentical:\"Values identical but not reference-equal:\"},kMaxShortLength=10;function copyError(source){var keys=Object.keys(source),target=Object.create(Object.getPrototypeOf(source));return keys.forEach(function(key){target[key]=source[key]}),Object.defineProperty(target,\"message\",{value:source.message}),target}function inspectValue(val){return inspect(val,{compact:!1,customInspect:!1,depth:1000,maxArrayLength:Infinity,showHidden:!1,breakLength:Infinity,showProxy:!1,sorted:!0,getters:!0})}function createErrDiff(actual,expected,operator){var other=\"\",res=\"\",lastPos=0,end=\"\",skipped=!1,actualInspected=inspectValue(actual),actualLines=actualInspected.split(`\n`),expectedLines=inspectValue(expected).split(`\n`),i=0,indicator=\"\";if(operator===\"strictEqual\"&&_typeof(actual)===\"object\"&&_typeof(expected)===\"object\"&&actual!==null&&expected!==null&&(operator=\"strictEqualObject\"),actualLines.length===1&&expectedLines.length===1&&actualLines[0]!==expectedLines[0]){var inputLength=actualLines[0].length+expectedLines[0].length;if(inputLength<=kMaxShortLength){if((_typeof(actual)!==\"object\"||actual===null)&&(_typeof(expected)!==\"object\"||expected===null)&&(actual!==0||expected!==0))return\"\".concat(kReadableOperator[operator],`\n\n`)+\"\".concat(actualLines[0],\" !== \").concat(expectedLines[0],`\n`)}else if(operator!==\"strictEqualObject\"){var maxLength=process.stderr&&process.stderr.isTTY\?process.stderr.columns:80;if(inputLength2&&(indicator=`\n `.concat(repeat(\" \",i),\"^\"),i=0)}}}for(var a=actualLines[actualLines.length-1],b=expectedLines[expectedLines.length-1];a===b&&(i++<2\?end=`\n `.concat(a).concat(end):other=a,actualLines.pop(),expectedLines.pop(),!(actualLines.length===0||expectedLines.length===0));)a=actualLines[actualLines.length-1],b=expectedLines[expectedLines.length-1];var maxLines=Math.max(actualLines.length,expectedLines.length);if(maxLines===0){var _actualLines=actualInspected.split(`\n`);if(_actualLines.length>30)for(_actualLines[26]=\"\".concat(blue,\"...\").concat(white);_actualLines.length>27;)_actualLines.pop();return\"\".concat(kReadableOperator.notIdentical,`\n\n`).concat(_actualLines.join(`\n`),`\n`)}i>3&&(end=`\n`.concat(blue,\"...\").concat(white).concat(end),skipped=!0),other!==\"\"&&(end=`\n `.concat(other).concat(end),other=\"\");var printedLines=0,msg=kReadableOperator[operator]+`\n`.concat(green,\"+ actual\").concat(white,\" \").concat(red,\"- expected\").concat(white),skippedMsg=\" \".concat(blue,\"...\").concat(white,\" Lines skipped\");for(i=0;i1&&i>2&&(cur>4\?(res+=`\n`.concat(blue,\"...\").concat(white),skipped=!0):cur>3&&(res+=`\n `.concat(expectedLines[i-2]),printedLines++),res+=`\n `.concat(expectedLines[i-1]),printedLines++),lastPos=i,other+=`\n`.concat(red,\"-\").concat(white,\" \").concat(expectedLines[i]),printedLines++;else if(expectedLines.length1&&i>2&&(cur>4\?(res+=`\n`.concat(blue,\"...\").concat(white),skipped=!0):cur>3&&(res+=`\n `.concat(actualLines[i-2]),printedLines++),res+=`\n `.concat(actualLines[i-1]),printedLines++),lastPos=i,res+=`\n`.concat(green,\"+\").concat(white,\" \").concat(actualLines[i]),printedLines++;else{var expectedLine=expectedLines[i],actualLine=actualLines[i],divergingLines=actualLine!==expectedLine&&(!endsWith(actualLine,\",\")||actualLine.slice(0,-1)!==expectedLine);divergingLines&&endsWith(expectedLine,\",\")&&expectedLine.slice(0,-1)===actualLine&&(divergingLines=!1,actualLine+=\",\"),divergingLines\?(cur>1&&i>2&&(cur>4\?(res+=`\n`.concat(blue,\"...\").concat(white),skipped=!0):cur>3&&(res+=`\n `.concat(actualLines[i-2]),printedLines++),res+=`\n `.concat(actualLines[i-1]),printedLines++),lastPos=i,res+=`\n`.concat(green,\"+\").concat(white,\" \").concat(actualLine),other+=`\n`.concat(red,\"-\").concat(white,\" \").concat(expectedLine),printedLines+=2):(res+=other,other=\"\",(cur===1||i===0)&&(res+=`\n `.concat(actualLine),printedLines++))}if(printedLines>20&&i30)for(res[26]=\"\".concat(blue,\"...\").concat(white);res.length>27;)res.pop();res.length===1\?_this=_possibleConstructorReturn(this,_getPrototypeOf(AssertionError2).call(this,\"\".concat(base,\" \").concat(res[0]))):_this=_possibleConstructorReturn(this,_getPrototypeOf(AssertionError2).call(this,\"\".concat(base,`\n\n`).concat(res.join(`\n`),`\n`)))}else{var _res=inspectValue(actual),other=\"\",knownOperators=kReadableOperator[operator];operator===\"notDeepEqual\"||operator===\"notEqual\"\?(_res=\"\".concat(kReadableOperator[operator],`\n\n`).concat(_res),_res.length>1024&&(_res=\"\".concat(_res.slice(0,1021),\"...\"))):(other=\"\".concat(inspectValue(expected)),_res.length>512&&(_res=\"\".concat(_res.slice(0,509),\"...\")),other.length>512&&(other=\"\".concat(other.slice(0,509),\"...\")),operator===\"deepEqual\"||operator===\"equal\"\?_res=\"\".concat(knownOperators,`\n\n`).concat(_res,`\n\nshould equal\n\n`):other=\" \".concat(operator,\" \").concat(other)),_this=_possibleConstructorReturn(this,_getPrototypeOf(AssertionError2).call(this,\"\".concat(_res).concat(other)))}return Error.stackTraceLimit=limit,_this.generatedMessage=!message,Object.defineProperty(_assertThisInitialized(_this),\"name\",{value:\"AssertionError [ERR_ASSERTION]\",enumerable:!1,writable:!0,configurable:!0}),_this.code=\"ERR_ASSERTION\",_this.actual=actual,_this.expected=expected,_this.operator=operator,Error.captureStackTrace&&Error.captureStackTrace(_assertThisInitialized(_this),stackStartFn),_this.stack,_this.name=\"AssertionError\",_possibleConstructorReturn(_this)}return AssertionError2.prototype={},_createClass(AssertionError2,[{key:\"toString\",value:function(){return\"\".concat(this.name,\" [\").concat(this.code,\"]: \").concat(this.message)}},{key:inspect.custom,value:function(recurseTimes,ctx){return inspect(this,_objectSpread({},ctx,{customInspect:!1,depth:0}))}}]),AssertionError2}(_wrapNativeSuper(Error));module2.exports=AssertionError}}),require_assert=__commonJS({\"assert/build/assert.js\"(exports,module2){function _typeof(obj){return typeof Symbol==\"function\"&&typeof Symbol.iterator==\"symbol\"\?_typeof=function(obj2){return typeof obj2}:_typeof=function(obj2){return obj2&&typeof Symbol==\"function\"&&obj2.constructor===Symbol&&obj2!==Symbol.prototype\?\"symbol\":typeof obj2},_typeof(obj)}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))@throwTypeError(\"Cannot call a class as a function\")}var _require=require_errors(),_require$codes=_require.codes,ERR_AMBIGUOUS_ARGUMENT=_require$codes.ERR_AMBIGUOUS_ARGUMENT,ERR_INVALID_ARG_TYPE=_require$codes.ERR_INVALID_ARG_TYPE,ERR_INVALID_ARG_VALUE=_require$codes.ERR_INVALID_ARG_VALUE,ERR_INVALID_RETURN_VALUE=_require$codes.ERR_INVALID_RETURN_VALUE,ERR_MISSING_ARGS=_require$codes.ERR_MISSING_ARGS,AssertionError=require_assertion_error(),_require2=util,inspect=_require2.inspect,_require$types=util.types,isPromise=_require$types.isPromise,isRegExp=_require$types.isRegExp,objectAssign=Object.assign,objectIs=Object.is,errorCache=new Map,warned=!1,assert=module2.exports=ok,NO_EXCEPTION_SENTINEL={};function innerFail(obj){throw obj.message instanceof Error\?obj.message:new AssertionError(obj)}function fail(actual,expected,message,operator,stackStartFn){var argsLen=arguments.length,internalMessage;if(argsLen===0)internalMessage=\"Failed\";else if(argsLen===1)message=actual,actual=void 0;else{if(warned===!1){warned=!0;var warn=process.emitWarning\?process.emitWarning:console.warn.bind(console);warn(\"assert.fail() with more than one argument is deprecated. Please use assert.strictEqual() instead or only pass a message.\",\"DeprecationWarning\",\"DEP0094\")}argsLen===2&&(operator=\"!=\")}if(message instanceof Error)throw message;var errArgs={actual,expected,operator:operator===void 0\?\"fail\":operator,stackStartFn:stackStartFn||fail};message!==void 0&&(errArgs.message=message);var err=new AssertionError(errArgs);throw internalMessage&&(err.message=internalMessage,err.generatedMessage=!0),err}assert.fail=fail,assert.AssertionError=AssertionError;function innerOk(fn,argLen,value,message){if(!value){var generatedMessage=!1;if(argLen===0)generatedMessage=!0,message=\"No value argument passed to `assert.ok()`\";else if(message instanceof Error)throw message;var err=new AssertionError({actual:value,expected:!0,message,operator:\"==\",stackStartFn:fn});throw err.generatedMessage=generatedMessage,err}}function ok(){for(var _len=arguments.length,args=new Array(_len),_key=0;_key<_len;_key++)args[_key]=arguments[_key];innerOk.apply(void 0,[ok,args.length].concat(args))}assert.ok=ok,assert.equal=function equal(actual,expected,message){if(arguments.length<2)throw new ERR_MISSING_ARGS(\"actual\",\"expected\");actual!=expected&&innerFail({actual,expected,message,operator:\"==\",stackStartFn:equal})},assert.notEqual=function notEqual(actual,expected,message){if(arguments.length<2)throw new ERR_MISSING_ARGS(\"actual\",\"expected\");actual==expected&&innerFail({actual,expected,message,operator:\"!=\",stackStartFn:notEqual})},assert.deepEqual=function deepEqual(actual,expected,message){if(arguments.length<2)throw new ERR_MISSING_ARGS(\"actual\",\"expected\");isDeepEqual(actual,expected,!1)||innerFail({actual,expected,message,operator:\"deepEqual\",stackStartFn:deepEqual})},assert.notDeepEqual=function notDeepEqual(actual,expected,message){if(arguments.length<2)throw new ERR_MISSING_ARGS(\"actual\",\"expected\");isDeepEqual(actual,expected,!1)&&innerFail({actual,expected,message,operator:\"notDeepEqual\",stackStartFn:notDeepEqual})},assert.deepStrictEqual=function deepStrictEqual(actual,expected,message){if(arguments.length<2)throw new ERR_MISSING_ARGS(\"actual\",\"expected\");isDeepEqual(actual,expected,!0)||innerFail({actual,expected,message,operator:\"deepStrictEqual\",stackStartFn:deepStrictEqual})},assert.notDeepStrictEqual=notDeepStrictEqual;function notDeepStrictEqual(actual,expected,message){if(arguments.length<2)throw new ERR_MISSING_ARGS(\"actual\",\"expected\");isDeepEqual(actual,expected,!0)&&innerFail({actual,expected,message,operator:\"notDeepStrictEqual\",stackStartFn:notDeepStrictEqual})}assert.strictEqual=function strictEqual(actual,expected,message){if(arguments.length<2)throw new ERR_MISSING_ARGS(\"actual\",\"expected\");objectIs(actual,expected)||innerFail({actual,expected,message,operator:\"strictEqual\",stackStartFn:strictEqual})},assert.notStrictEqual=function notStrictEqual(actual,expected,message){if(arguments.length<2)throw new ERR_MISSING_ARGS(\"actual\",\"expected\");objectIs(actual,expected)&&innerFail({actual,expected,message,operator:\"notStrictEqual\",stackStartFn:notStrictEqual})},assert.match=function match(actual,expected,message){if(arguments.length<2)throw new ERR_MISSING_ARGS(\"actual\",\"expected\");if(!isRegExp(expected))throw new ERR_INVALID_ARG_TYPE(\"expected\",\"RegExp\",expected);expected.test(actual)||innerFail({actual,expected,message,operator:\"match\",stackStartFn:match})};var Comparison=function Comparison2(obj,keys,actual){var _this=this;_classCallCheck(this,Comparison2),keys.forEach(function(key){(key in obj)&&(actual!==void 0&&typeof actual[key]==\"string\"&&isRegExp(obj[key])&&obj[key].test(actual[key])\?_this[key]=actual[key]:_this[key]=obj[key])})};function compareExceptionKey(actual,expected,key,message,keys,fn){if(!(key in actual)||!isDeepEqual(actual[key],expected[key],!0)){if(!message){var a=new Comparison(actual,keys),b=new Comparison(expected,keys,actual),err=new AssertionError({actual:a,expected:b,operator:\"deepStrictEqual\",stackStartFn:fn});throw err.actual=actual,err.expected=expected,err.operator=fn.name,err}innerFail({actual,expected,message,operator:fn.name,stackStartFn:fn})}}function expectedException(actual,expected,msg,fn){if(typeof expected!=\"function\"){if(isRegExp(expected))return expected.test(actual);if(arguments.length===2)throw new ERR_INVALID_ARG_TYPE(\"expected\",[\"Function\",\"RegExp\"],expected);if(_typeof(actual)!==\"object\"||actual===null){var err=new AssertionError({actual,expected,message:msg,operator:\"deepStrictEqual\",stackStartFn:fn});throw err.operator=fn.name,err}var keys=Object.keys(expected);if(expected instanceof Error)keys.push(\"name\",\"message\");else if(keys.length===0)throw new ERR_INVALID_ARG_VALUE(\"error\",expected,\"may not be an empty object\");return keys.forEach(function(key){return typeof actual[key]==\"string\"&&isRegExp(expected[key])&&expected[key].test(actual[key])||compareExceptionKey(actual,expected,key,msg,keys,fn)}),!0}return expected.prototype!==void 0&&actual instanceof expected\?!0:Error.isPrototypeOf(expected)\?!1:expected.call({},actual)===!0}function getActual(fn){if(typeof fn!=\"function\")throw new ERR_INVALID_ARG_TYPE(\"fn\",\"Function\",fn);try{fn()}catch(e){return e}return NO_EXCEPTION_SENTINEL}function checkIsPromise(obj){return isPromise(obj)||obj!==null&&_typeof(obj)===\"object\"&&typeof obj.then==\"function\"&&typeof obj.catch==\"function\"}function waitForActual(promiseFn){return Promise.resolve().then(function(){var resultPromise;if(typeof promiseFn==\"function\"){if(resultPromise=promiseFn(),!checkIsPromise(resultPromise))throw new ERR_INVALID_RETURN_VALUE(\"instance of Promise\",\"promiseFn\",resultPromise)}else if(checkIsPromise(promiseFn))resultPromise=promiseFn;else throw new ERR_INVALID_ARG_TYPE(\"promiseFn\",[\"Function\",\"Promise\"],promiseFn);return Promise.resolve().then(function(){return resultPromise}).then(function(){return NO_EXCEPTION_SENTINEL}).catch(function(e){return e})})}function expectsError(stackStartFn,actual,error,message){if(typeof error==\"string\"){if(arguments.length===4)throw new ERR_INVALID_ARG_TYPE(\"error\",[\"Object\",\"Error\",\"Function\",\"RegExp\"],error);if(_typeof(actual)===\"object\"&&actual!==null){if(actual.message===error)throw new ERR_AMBIGUOUS_ARGUMENT(\"error/message\",'The error message \"'.concat(actual.message,'\" is identical to the message.'))}else if(actual===error)throw new ERR_AMBIGUOUS_ARGUMENT(\"error/message\",'The error \"'.concat(actual,'\" is identical to the message.'));message=error,error=void 0}else if(error!=null&&_typeof(error)!==\"object\"&&typeof error!=\"function\")throw new ERR_INVALID_ARG_TYPE(\"error\",[\"Object\",\"Error\",\"Function\",\"RegExp\"],error);if(actual===NO_EXCEPTION_SENTINEL){var details=\"\";error&&error.name&&(details+=\" (\".concat(error.name,\")\")),details+=message\?\": \".concat(message):\".\";var fnType=stackStartFn.name===\"rejects\"\?\"rejection\":\"exception\";innerFail({actual:void 0,expected:error,operator:stackStartFn.name,message:\"Missing expected \".concat(fnType).concat(details),stackStartFn})}if(error&&!expectedException(actual,error,message,stackStartFn))throw actual}function expectsNoError(stackStartFn,actual,error,message){if(actual!==NO_EXCEPTION_SENTINEL){if(typeof error==\"string\"&&(message=error,error=void 0),!error||expectedException(actual,error)){var details=message\?\": \".concat(message):\".\",fnType=stackStartFn.name===\"doesNotReject\"\?\"rejection\":\"exception\";innerFail({actual,expected:error,operator:stackStartFn.name,message:\"Got unwanted \".concat(fnType).concat(details,`\n`)+'Actual message: \"'.concat(actual&&actual.message,'\"'),stackStartFn})}throw actual}}assert.throws=function throws(promiseFn){for(var _len2=arguments.length,args=new Array(_len2>1\?_len2-1:0),_key2=1;_key2<_len2;_key2++)args[_key2-1]=arguments[_key2];expectsError.apply(void 0,[throws,getActual(promiseFn)].concat(args))},assert.rejects=function rejects(promiseFn){for(var _len3=arguments.length,args=new Array(_len3>1\?_len3-1:0),_key3=1;_key3<_len3;_key3++)args[_key3-1]=arguments[_key3];return waitForActual(promiseFn).then(function(result){return expectsError.apply(void 0,[rejects,result].concat(args))})},assert.doesNotThrow=function doesNotThrow(fn){for(var _len4=arguments.length,args=new Array(_len4>1\?_len4-1:0),_key4=1;_key4<_len4;_key4++)args[_key4-1]=arguments[_key4];expectsNoError.apply(void 0,[doesNotThrow,getActual(fn)].concat(args))},assert.doesNotReject=function doesNotReject(fn){for(var _len5=arguments.length,args=new Array(_len5>1\?_len5-1:0),_key5=1;_key5<_len5;_key5++)args[_key5-1]=arguments[_key5];return waitForActual(fn).then(function(result){return expectsNoError.apply(void 0,[doesNotReject,result].concat(args))})},assert.ifError=function ifError(err){if(err!=null){var message=\"ifError got unwanted exception: \";_typeof(err)===\"object\"&&typeof err.message==\"string\"\?err.message.length===0&&err.constructor\?message+=err.constructor.name:message+=err.message:message+=inspect(err);var newErr=new AssertionError({actual:err,expected:null,operator:\"ifError\",message,stackStartFn:ifError}),origStack=err.stack;if(typeof origStack==\"string\"){var tmp2=origStack.split(`\n`);tmp2.shift();for(var tmp1=newErr.stack.split(`\n`),i=0;i{var prev=get();set(context);try{return fn(...args)}catch(error){throw error}finally{set(prev)}}}enterWith(store){cleanupLater();var context=get();if(!context){set([this,store]);return}var{length}=context;for(var i=0;i-1)hasPrevious=!0,previous=context[i+1],context[i+1]=store;else context.push(this,store);set(context)}try{return callback(...args)}catch(e){throw e}finally{if(!this.#disableCalled){var context2=get();if(context2===context&&contextWasInit)set(void 0);else if(context2=context2.slice(),hasPrevious)context2[i+1]=previous,set(context2);else context2.splice(i,2),set(context2.length\?context2:void 0)}}}disable(){if(!this.#disableCalled){var context=get();if(context){var{length}=context;for(var i=0;i-1){try{child.kill(killSignal)}catch(err){child.emit(\"error\",err)}timeoutHolder.timeoutId=-1}}function spawn(file,args,options){options=normalizeSpawnArguments(file,args,options),validateTimeout(options.timeout),validateAbortSignal(options.signal,\"options.signal\");const killSignal2=sanitizeKillSignal(options.killSignal),child=new ChildProcess;if(child.spawn(options),options.timeout>0){let timeoutId=setTimeout(()=>{if(timeoutId){try{child.kill(killSignal2)}catch(err){child.emit(\"error\",err)}timeoutId=null}});child.once(\"exit\",()=>{if(timeoutId)clearTimeout(timeoutId),timeoutId=null})}if(options.signal){let onAbortListener2=function(){abortChildProcess(child,killSignal2)};var onAbortListener=onAbortListener2;const signal=options.signal;if(signal.aborted)process.nextTick(onAbortListener2);else signal.addEventListener(\"abort\",onAbortListener2,{once:!0}),child.once(\"exit\",()=>signal.removeEventListener(\"abort\",onAbortListener2))}return child}function execFile(file,args,options,callback){({file,args,options,callback}=normalizeExecFileArgs(file,args,options,callback)),options={encoding:\"utf8\",timeout:0,maxBuffer:MAX_BUFFER,killSignal:\"SIGTERM\",cwd:null,env:null,shell:!1,...options};const maxBuffer=options.maxBuffer;validateTimeout(options.timeout),validateMaxBuffer(maxBuffer),options.killSignal=sanitizeKillSignal(options.killSignal);const child=spawn(file,args,{cwd:options.cwd,env:options.env,shell:options.shell,signal:options.signal});let encoding;const _stdout=[],_stderr=[];if(options.encoding!==\"buffer\"&&BufferIsEncoding(options.encoding))encoding=options.encoding;else encoding=null;let stdoutLen=0,stderrLen=0,killed=!1,exited=!1,timeoutId,encodedStdoutLen,encodedStderrLen,ex=null,cmd=file;function exitHandler(code,signal){if(exited)return;if(exited=!0,timeoutId)clearTimeout(timeoutId),timeoutId=null;if(!callback)return;const readableEncoding=child\?.stdout\?.readableEncoding;let stdout,stderr;if(encoding||child.stdout&&readableEncoding)stdout=ArrayPrototypeJoin.call(_stdout,\"\");else stdout=BufferConcat(_stdout);if(encoding||child.stderr&&readableEncoding)stderr=ArrayPrototypeJoin.call(_stderr,\"\");else stderr=BufferConcat(_stderr);if(!ex&&code===0&&signal===null){callback(null,stdout,stderr);return}if(args\?.length)cmd+=` ${ArrayPrototypeJoin.call(args,\" \")}`;if(!ex){let message=`Command failed: ${cmd}`;if(stderr)message+=`\\n${stderr}`;ex=genericNodeError(message,{code,killed:child.killed||killed,signal})}ex.cmd=cmd,callback(ex,stdout,stderr)}function errorHandler(e){if(ex=e,child.stdout)child.stdout.destroy();if(child.stderr)child.stderr.destroy();exitHandler()}function kill(){if(child.stdout)child.stdout.destroy();if(child.stderr)child.stderr.destroy();killed=!0;try{child.kill(options.killSignal)}catch(e){ex=e,exitHandler()}}if(options.timeout>0)timeoutId=setTimeout(function delayedKill(){kill(),timeoutId=null},options.timeout);if(child.stdout){if(encoding)child.stdout.setEncoding(encoding);child.stdout.on(\"data\",maxBuffer===Infinity\?function onUnlimitedSizeBufferedData(chunk){ArrayPrototypePush.call(_stdout,chunk)}:encoding\?function onChildStdoutEncoded(chunk){if(stdoutLen+=chunk.length,stdoutLen*4>maxBuffer){const encoding2=child.stdout.readableEncoding,actualLen=Buffer.byteLength(chunk,encoding2);if(encodedStdoutLen===void 0)for(let i=0;i<_stdout.length;i++)encodedStdoutLen+=Buffer.byteLength(_stdout[i],encoding2);else encodedStdoutLen+=actualLen;const truncatedLen=maxBuffer-(encodedStdoutLen-actualLen);ArrayPrototypePush.call(_stdout,StringPrototypeSlice.apply(chunk,0,truncatedLen)),ex=new ERR_CHILD_PROCESS_STDIO_MAXBUFFER(\"stdout\"),kill()}else ArrayPrototypePush.call(_stdout,chunk)}:function onChildStdoutRaw(chunk){if(stdoutLen+=chunk.length,stdoutLen>maxBuffer){const truncatedLen=maxBuffer-(stdoutLen-chunk.length);ArrayPrototypePush.call(_stdout,chunk.slice(0,truncatedLen)),ex=new ERR_CHILD_PROCESS_STDIO_MAXBUFFER(\"stdout\"),kill()}else ArrayPrototypePush.call(_stdout,chunk)})}if(child.stderr){if(encoding)child.stderr.setEncoding(encoding);child.stderr.on(\"data\",maxBuffer===Infinity\?function onUnlimitedSizeBufferedData(chunk){ArrayPrototypePush.call(_stderr,chunk)}:encoding\?function onChildStderrEncoded(chunk){if(stderrLen+=chunk.length,stderrLen*4>maxBuffer){const encoding2=child.stderr.readableEncoding,actualLen=Buffer.byteLength(chunk,encoding2);if(encodedStderrLen===void 0)for(let i=0;i<_stderr.length;i++)encodedStderrLen+=Buffer.byteLength(_stderr[i],encoding2);else encodedStderrLen+=actualLen;const truncatedLen=maxBuffer-(encodedStderrLen-actualLen);ArrayPrototypePush.call(_stderr,StringPrototypeSlice.call(chunk,0,truncatedLen)),ex=new ERR_CHILD_PROCESS_STDIO_MAXBUFFER(\"stderr\"),kill()}else ArrayPrototypePush.call(_stderr,chunk)}:function onChildStderrRaw(chunk){if(stderrLen+=chunk.length,stderrLen>maxBuffer){const truncatedLen=maxBuffer-(stderrLen-chunk.length);ArrayPrototypePush.call(_stderr,StringPrototypeSlice.call(chunk,0,truncatedLen)),ex=new ERR_CHILD_PROCESS_STDIO_MAXBUFFER(\"stderr\"),kill()}else ArrayPrototypePush.call(_stderr,chunk)})}return child.addListener(\"close\",exitHandler),child.addListener(\"error\",errorHandler),child}function exec(command,options,callback){const opts=normalizeExecArgs(command,options,callback);return execFile(opts.file,opts.options,opts.callback)}const customPromiseExecFunction=(orig)=>{return(...args)=>{let resolve,reject;const promise=new Promise((res,rej)=>{resolve=res,reject=rej});return promise.child=orig(...args,(err,stdout,stderr)=>{if(err!==null)err.stdout=stdout,err.stderr=stderr,reject(err);else resolve({stdout,stderr})}),promise}};ObjectDefineProperty(exec,promisify.custom,{__proto__:null,enumerable:!1,value:customPromiseExecFunction(exec)});function spawnSync(file,args,options){options={maxBuffer:MAX_BUFFER,...normalizeSpawnArguments(file,args,options)};const{maxBuffer,encoding}=options;validateTimeout(options.timeout),validateMaxBuffer(maxBuffer),options.killSignal=sanitizeKillSignal(options.killSignal);const stdio=options.stdio||\"pipe\",bunStdio=getBunStdioFromOptions(stdio);var{input}=options;if(input)if(ArrayBufferIsView(input))bunStdio[0]=input;else if(typeof input===\"string\")bunStdio[0]=Buffer.from(input,encoding||\"utf8\");else throw new ERR_INVALID_ARG_TYPE(\"options.stdio[0]\",[\"Buffer\",\"TypedArray\",\"DataView\",\"string\"],input);const{stdout,stderr,success,exitCode}=Bun.spawnSync({cmd:options.args,env:options.env||void 0,cwd:options.cwd||void 0,stdin:bunStdio[0],stdout:bunStdio[1],stderr:bunStdio[2]}),result={signal:null,status:exitCode,output:[null,stdout,stderr]};if(stdout&&encoding&&encoding!==\"buffer\")result.output[1]=result.output[1]\?.toString(encoding);if(stderr&&encoding&&encoding!==\"buffer\")result.output[2]=result.output[2]\?.toString(encoding);if(result.stdout=result.output[1],result.stderr=result.output[2],!success)result.error=new SystemError(result.output[2],options.file,\"spawnSync\",-1,result.status),result.error.spawnargs=ArrayPrototypeSlice.call(options.args,1);return result}function execFileSync(file,args,options){({file,args,options}=normalizeExecFileArgs(file,args,options));const ret=spawnSync(file,args,options),errArgs=[options.argv0||file];ArrayPrototypePush.apply(errArgs,args);const err=checkExecSyncError(ret,errArgs);if(err)throw err;return ret.stdout}function execSync(command,options){const opts=normalizeExecArgs(command,options,null),ret=spawnSync(opts.file,opts.options),err=checkExecSyncError(ret,void 0,command);if(err)throw err;return ret.stdout}function fork(){throw new Error(\"Not implemented\")}function convertToValidSignal(signal){if(typeof signal===\"number\"&&getSignalsToNamesMapping()[signal])return signal;if(typeof signal===\"string\"){const signalName=signals[StringPrototypeToUpperCase.call(signal)];if(signalName)return signalName}throw new ERR_UNKNOWN_SIGNAL(signal)}function sanitizeKillSignal(killSignal2){if(typeof killSignal2===\"string\"||typeof killSignal2===\"number\")return convertToValidSignal(killSignal2);else if(killSignal2!=null)throw new ERR_INVALID_ARG_TYPE(\"options.killSignal\",[\"string\",\"number\"],killSignal2)}let signalsToNamesMapping;function getSignalsToNamesMapping(){if(signalsToNamesMapping!==void 0)return signalsToNamesMapping;signalsToNamesMapping=ObjectCreate(null);for(let key in signals)signalsToNamesMapping[signals[key]]=key;return signalsToNamesMapping}function normalizeExecFileArgs(file,args,options,callback){if(ArrayIsArray(args))args=ArrayPrototypeSlice.call(args);else if(args!=null&&typeof args===\"object\")callback=options,options=args,args=null;else if(typeof args===\"function\")callback=args,options=null,args=null;if(args==null)args=[];if(typeof options===\"function\")callback=options;else if(options!=null)validateObject(options,\"options\");if(options==null)options=kEmptyObject;if(callback!=null)validateFunction(callback,\"callback\");if(options.argv0!=null)validateString(options.argv0,\"options.argv0\"),validateArgumentNullCheck(options.argv0,\"options.argv0\");return{file,args,options,callback}}function normalizeExecArgs(command,options,callback){if(validateString(command,\"command\"),validateArgumentNullCheck(command,\"command\"),typeof options===\"function\")callback=options,options=void 0;return options={...options},options.shell=typeof options.shell===\"string\"\?options.shell:!0,{file:command,options,callback}}function normalizeSpawnArguments(file,args,options){if(validateString(file,\"file\"),validateArgumentNullCheck(file,\"file\"),file.length===0)throw new ERR_INVALID_ARG_VALUE(\"file\",file,\"cannot be empty\");if(ArrayIsArray(args))args=ArrayPrototypeSlice.call(args);else if(args==null)args=[];else if(typeof args!==\"object\")throw new ERR_INVALID_ARG_TYPE(\"args\",\"object\",args);else options=args,args=[];if(validateArgumentsNullCheck(args,\"args\"),options===void 0)options={};else validateObject(options,\"options\");let cwd=options.cwd;if(cwd!=null)cwd=getValidatedPath(cwd,\"options.cwd\");if(options.shell!=null&&typeof options.shell!==\"boolean\"&&typeof options.shell!==\"string\")throw new ERR_INVALID_ARG_TYPE(\"options.shell\",[\"boolean\",\"string\"],options.shell);if(options.argv0!=null)validateString(options.argv0,\"options.argv0\"),validateArgumentNullCheck(options.argv0,\"options.argv0\");if(options.shell){validateArgumentNullCheck(options.shell,\"options.shell\");const command=ArrayPrototypeJoin.call([file,...args],\" \");if(typeof options.shell===\"string\")file=options.shell;else file=\"sh\";args=[\"-c\",command]}if(typeof options.argv0===\"string\")ArrayPrototypeUnshift.call(args,options.argv0);else ArrayPrototypeUnshift.call(args,file);const envPairs=options.env||process.env;return{...options,file,args,cwd,envPairs}}function checkExecSyncError(ret,args,cmd){let err;if(ret.error)err=ret.error,ObjectAssign(err,ret);else if(ret.status!==0){let msg=\"Command failed: \";if(msg+=cmd||ArrayPrototypeJoin.call(args,\" \"),ret.stderr&&ret.stderr.length>0)msg+=`\\n${ret.stderr.toString()}`;err=genericNodeError(msg,ret)}return err}class ChildProcess extends EventEmitter{constructor(){super(...arguments)}#handle;#exited=!1;#closesNeeded=1;#closesGot=0;connected=!1;signalCode=null;exitCode=null;spawnfile;spawnargs;pid;channel;get killed(){if(this.#handle==null)return!1}#handleOnExit(exitCode,signalCode,err){if(this.#exited)return;if(this.exitCode=this.#handle.exitCode,this.signalCode=exitCode>0\?signalCode:null,this.#stdin)this.#stdin.destroy();if(this.#handle)this.#handle=null;if(exitCode<0){const err2=new SystemError(`Spawned process exited with error code: ${exitCode}`,void 0,\"spawn\",\"EUNKNOWN\",\"ERR_CHILD_PROCESS_UNKNOWN_ERROR\");if(this.spawnfile)err2.path=this.spawnfile;err2.spawnargs=ArrayPrototypeSlice.call(this.spawnargs,1),this.emit(\"error\",err2)}else this.emit(\"exit\",this.exitCode,this.signalCode);process.nextTick(flushStdio,this),this.#maybeClose(),this.#exited=!0,this.#stdioOptions=[\"destroyed\",\"destroyed\",\"destroyed\"]}#getBunSpawnIo(i,encoding){NativeWritable||=StreamModule.NativeWritable,ReadableFromWeb||=StreamModule.Readable.fromWeb;const io=this.#stdioOptions[i];switch(i){case 0:switch(io){case\"pipe\":return new NativeWritable(this.#handle.stdin);case\"inherit\":return process.stdin||null;case\"destroyed\":return new ShimmedStdin;default:return null}case 2:case 1:switch(io){case\"pipe\":return ReadableFromWeb(this.#handle[fdToStdioName(i)],{encoding});case\"inherit\":return process[fdToStdioName(i)]||null;case\"destroyed\":return new ShimmedStdioOutStream;default:return null}}}#stdin;#stdout;#stderr;#stdioObject;#encoding;#stdioOptions;#createStdioObject(){return Object.create(null,{0:{get:()=>this.stdin},1:{get:()=>this.stdout},2:{get:()=>this.stderr}})}get stdin(){return this.#stdin\?\?=this.#getBunSpawnIo(0,this.#encoding)}get stdout(){return this.#stdout\?\?=this.#getBunSpawnIo(1,this.#encoding)}get stderr(){return this.#stderr\?\?=this.#getBunSpawnIo(2,this.#encoding)}get stdio(){return this.#stdioObject\?\?=this.#createStdioObject()}spawn(options){validateObject(options,\"options\"),validateString(options.file,\"options.file\");var file=this.spawnfile=options.file,spawnargs;if(options.args==null)spawnargs=this.spawnargs=[];else validateArray(options.args,\"options.args\"),spawnargs=this.spawnargs=options.args;const stdio=options.stdio||[\"pipe\",\"pipe\",\"pipe\"],bunStdio=getBunStdioFromOptions(stdio);var env=options.envPairs||void 0;this.#encoding=options.encoding||void 0,this.#stdioOptions=bunStdio,this.#handle=Bun.spawn({cmd:spawnargs,stdin:bunStdio[0],stdout:bunStdio[1],stderr:bunStdio[2],cwd:options.cwd||void 0,env:env||process.env,onExit:(handle,exitCode,signalCode,err)=>{this.#handle=handle,this.pid=this.#handle.pid,process.nextTick((exitCode2,signalCode2,err2)=>this.#handleOnExit(exitCode2,signalCode2,err2),exitCode,signalCode,err)},lazy:!0}),this.pid=this.#handle.pid,onSpawnNT(this)}send(){console.log(\"ChildProcess.prototype.send() - Sorry! Not implemented yet\")}disconnect(){console.log(\"ChildProcess.prototype.disconnect() - Sorry! Not implemented yet\")}kill(sig){const signal=sig===0\?sig:convertToValidSignal(sig===void 0\?\"SIGTERM\":sig);if(this.#handle)this.#handle.kill(signal);return this.#maybeClose(),!0}#maybeClose(){if(this.#closesGot++,this.#closesGot===this.#closesNeeded)this.emit(\"close\",this.exitCode,this.signalCode)}ref(){if(this.#handle)this.#handle.ref()}unref(){if(this.#handle)this.#handle.unref()}}const nodeToBunLookup={ignore:null,pipe:\"pipe\",overlapped:\"pipe\",inherit:\"inherit\"};function nodeToBun(item){if(typeof item===\"number\")return item;else{const result=nodeToBunLookup[item];if(result===void 0)throw new Error(\"Invalid stdio option\");return result}}function fdToStdioName(fd){switch(fd){case 0:return\"stdin\";case 1:return\"stdout\";case 2:return\"stderr\";default:return null}}function getBunStdioFromOptions(stdio){return normalizeStdio(stdio).map((item)=>nodeToBun(item))}function normalizeStdio(stdio){if(typeof stdio===\"string\")switch(stdio){case\"ignore\":return[\"ignore\",\"ignore\",\"ignore\"];case\"pipe\":return[\"pipe\",\"pipe\",\"pipe\"];case\"inherit\":return[\"inherit\",\"inherit\",\"inherit\"];default:throw new ERR_INVALID_OPT_VALUE(\"stdio\",stdio)}else if(ArrayIsArray(stdio)){let processedStdio;if(stdio.length===0)processedStdio=[\"pipe\",\"pipe\",\"pipe\"];else if(stdio.length===1)processedStdio=[stdio[0],\"pipe\",\"pipe\"];else if(stdio.length===2)processedStdio=[stdio[0],stdio[1],\"pipe\"];else if(stdio.length>=3)processedStdio=[stdio[0],stdio[1],stdio[2]];return processedStdio.map((item)=>!item\?\"pipe\":item)}else throw new ERR_INVALID_OPT_VALUE(\"stdio\",stdio)}function flushStdio(subprocess){const stdio=subprocess.stdio;if(stdio==null)return;for(let i=0;i=0))throw new ERR_OUT_OF_RANGE(\"options.maxBuffer\",\"a positive number\",maxBuffer)}function validateArgumentNullCheck(arg,propName){if(typeof arg===\"string\"&&StringPrototypeIncludes.call(arg,\"\\0\"))throw new ERR_INVALID_ARG_VALUE(propName,arg,\"must be a string without null bytes\")}function validateArgumentsNullCheck(args,propName){for(let i=0;i=0))throw new ERR_OUT_OF_RANGE(\"timeout\",\"an unsigned integer\",timeout)}function validateBoolean(value,name){if(typeof value!==\"boolean\")throw new ERR_INVALID_ARG_TYPE(name,\"boolean\",value)}function validateFunction(value,name){if(typeof value!==\"function\")throw new ERR_INVALID_ARG_TYPE(name,\"Function\",value)}const validateAbortSignal=(signal,name)=>{if(signal!==void 0&&(signal===null||typeof signal!==\"object\"||!(\"aborted\"in signal)))throw new ERR_INVALID_ARG_TYPE(name,\"AbortSignal\",signal)},validateOneOf=(value,name,oneOf)=>{if(!ArrayPrototypeIncludes.call(oneOf,value)){const reason=\"must be one of: \"+ArrayPrototypeJoin.call(ArrayPrototypeMap.call(oneOf,(v)=>typeof v===\"string\"\?`'${v}'`:String(v)),\", \");throw new ERR_INVALID_ARG_VALUE(name,value,reason)}},validateObject=(value,name,options=null)=>{const allowArray=options\?.allowArray\?\?!1,allowFunction=options\?.allowFunction\?\?!1;if(!(options\?.nullable\?\?!1)&&value===null||!allowArray&&ArrayIsArray.call(value)||typeof value!==\"object\"&&(!allowFunction||typeof value!==\"function\"))throw new ERR_INVALID_ARG_TYPE(name,\"object\",value)},validateArray=(value,name,minLength=0)=>{if(!ArrayIsArray(value))throw new ERR_INVALID_ARG_TYPE(name,\"Array\",value);if(value.lengthfunction(){return mod||(0,cb[__getOwnPropNames(cb)[0]])((mod={exports:{}}).exports,mod),mod.exports},__export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&typeof from==\"object\"||typeof from==\"function\")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to},require_safe_buffer=__commonJS({\"node_modules/safe-buffer/index.js\"(exports,module){var buffer=BufferModule,Buffer2=buffer.Buffer;function copyProps(src,dst){for(var key in src)dst[key]=src[key]}Buffer2.from&&Buffer2.alloc&&Buffer2.allocUnsafe&&Buffer2.allocUnsafeSlow\?module.exports=buffer:(copyProps(buffer,exports),exports.Buffer=SafeBuffer);function SafeBuffer(arg,encodingOrOffset,length){return Buffer2(arg,encodingOrOffset,length)}SafeBuffer.prototype=Object.create(Buffer2.prototype),copyProps(Buffer2,SafeBuffer),SafeBuffer.from=function(arg,encodingOrOffset,length){if(typeof arg==\"number\")@throwTypeError(\"Argument must not be a number\");return Buffer2(arg,encodingOrOffset,length)},SafeBuffer.alloc=function(size,fill,encoding){if(typeof size!=\"number\")@throwTypeError(\"Argument must be a number\");var buf=Buffer2(size);return fill!==void 0\?typeof encoding==\"string\"\?buf.fill(fill,encoding):buf.fill(fill):buf.fill(0),buf},SafeBuffer.allocUnsafe=function(size){if(typeof size!=\"number\")@throwTypeError(\"Argument must be a number\");return Buffer2(size)},SafeBuffer.allocUnsafeSlow=function(size){if(typeof size!=\"number\")@throwTypeError(\"Argument must be a number\");return buffer.SlowBuffer(size)}}}),require_browser=__commonJS({\"node_modules/randombytes/browser.js\"(exports,module){var MAX_BYTES=65536,MAX_UINT32=4294967295;function oldBrowser(){throw new Error(`Secure random number generation is not supported by this browser.\nUse Chrome, Firefox or Internet Explorer 11`)}var Buffer2=require_safe_buffer().Buffer,crypto2=globalCrypto;crypto2&&crypto2.getRandomValues\?module.exports=randomBytes:module.exports=oldBrowser;function randomBytes(size,cb){if(size>MAX_UINT32)@throwRangeError(\"requested too many random bytes\");var bytes=Buffer2.allocUnsafe(size);if(size>0)if(size>MAX_BYTES)for(var generated=0;generated=this._blockSize;){for(var i=this._blockOffset;i0;++j)this._length[j]+=carry,carry=this._length[j]/4294967296|0,carry>0&&(this._length[j]-=4294967296*carry);return this},HashBase.prototype._update=function(){throw new Error(\"_update is not implemented\")},HashBase.prototype.digest=function(encoding){if(this._finalized)throw new Error(\"Digest already called\");this._finalized=!0;var digest=this._digest();encoding!==void 0&&(digest=digest.toString(encoding)),this._block.fill(0),this._blockOffset=0;for(var i=0;i<4;++i)this._length[i]=0;return digest},HashBase.prototype._digest=function(){throw new Error(\"_digest is not implemented\")},module.exports=HashBase}}),require_md5=__commonJS({\"node_modules/md5.js/index.js\"(exports,module){var inherits=require_inherits_browser(),HashBase=require_hash_base(),Buffer2=require_safe_buffer().Buffer,ARRAY16=new Array(16);function MD5(){HashBase.call(this,64),this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878}inherits(MD5,HashBase),MD5.prototype._update=function(){for(var M=ARRAY16,i=0;i<16;++i)M[i]=this._block.readInt32LE(i*4);var a=this._a,b=this._b,c=this._c,d=this._d;a=fnF(a,b,c,d,M[0],3614090360,7),d=fnF(d,a,b,c,M[1],3905402710,12),c=fnF(c,d,a,b,M[2],606105819,17),b=fnF(b,c,d,a,M[3],3250441966,22),a=fnF(a,b,c,d,M[4],4118548399,7),d=fnF(d,a,b,c,M[5],1200080426,12),c=fnF(c,d,a,b,M[6],2821735955,17),b=fnF(b,c,d,a,M[7],4249261313,22),a=fnF(a,b,c,d,M[8],1770035416,7),d=fnF(d,a,b,c,M[9],2336552879,12),c=fnF(c,d,a,b,M[10],4294925233,17),b=fnF(b,c,d,a,M[11],2304563134,22),a=fnF(a,b,c,d,M[12],1804603682,7),d=fnF(d,a,b,c,M[13],4254626195,12),c=fnF(c,d,a,b,M[14],2792965006,17),b=fnF(b,c,d,a,M[15],1236535329,22),a=fnG(a,b,c,d,M[1],4129170786,5),d=fnG(d,a,b,c,M[6],3225465664,9),c=fnG(c,d,a,b,M[11],643717713,14),b=fnG(b,c,d,a,M[0],3921069994,20),a=fnG(a,b,c,d,M[5],3593408605,5),d=fnG(d,a,b,c,M[10],38016083,9),c=fnG(c,d,a,b,M[15],3634488961,14),b=fnG(b,c,d,a,M[4],3889429448,20),a=fnG(a,b,c,d,M[9],568446438,5),d=fnG(d,a,b,c,M[14],3275163606,9),c=fnG(c,d,a,b,M[3],4107603335,14),b=fnG(b,c,d,a,M[8],1163531501,20),a=fnG(a,b,c,d,M[13],2850285829,5),d=fnG(d,a,b,c,M[2],4243563512,9),c=fnG(c,d,a,b,M[7],1735328473,14),b=fnG(b,c,d,a,M[12],2368359562,20),a=fnH(a,b,c,d,M[5],4294588738,4),d=fnH(d,a,b,c,M[8],2272392833,11),c=fnH(c,d,a,b,M[11],1839030562,16),b=fnH(b,c,d,a,M[14],4259657740,23),a=fnH(a,b,c,d,M[1],2763975236,4),d=fnH(d,a,b,c,M[4],1272893353,11),c=fnH(c,d,a,b,M[7],4139469664,16),b=fnH(b,c,d,a,M[10],3200236656,23),a=fnH(a,b,c,d,M[13],681279174,4),d=fnH(d,a,b,c,M[0],3936430074,11),c=fnH(c,d,a,b,M[3],3572445317,16),b=fnH(b,c,d,a,M[6],76029189,23),a=fnH(a,b,c,d,M[9],3654602809,4),d=fnH(d,a,b,c,M[12],3873151461,11),c=fnH(c,d,a,b,M[15],530742520,16),b=fnH(b,c,d,a,M[2],3299628645,23),a=fnI(a,b,c,d,M[0],4096336452,6),d=fnI(d,a,b,c,M[7],1126891415,10),c=fnI(c,d,a,b,M[14],2878612391,15),b=fnI(b,c,d,a,M[5],4237533241,21),a=fnI(a,b,c,d,M[12],1700485571,6),d=fnI(d,a,b,c,M[3],2399980690,10),c=fnI(c,d,a,b,M[10],4293915773,15),b=fnI(b,c,d,a,M[1],2240044497,21),a=fnI(a,b,c,d,M[8],1873313359,6),d=fnI(d,a,b,c,M[15],4264355552,10),c=fnI(c,d,a,b,M[6],2734768916,15),b=fnI(b,c,d,a,M[13],1309151649,21),a=fnI(a,b,c,d,M[4],4149444226,6),d=fnI(d,a,b,c,M[11],3174756917,10),c=fnI(c,d,a,b,M[2],718787259,15),b=fnI(b,c,d,a,M[9],3951481745,21),this._a=this._a+a|0,this._b=this._b+b|0,this._c=this._c+c|0,this._d=this._d+d|0},MD5.prototype._digest=function(){this._block[this._blockOffset++]=128,this._blockOffset>56&&(this._block.fill(0,this._blockOffset,64),this._update(),this._blockOffset=0),this._block.fill(0,this._blockOffset,56),this._block.writeUInt32LE(this._length[0],56),this._block.writeUInt32LE(this._length[1],60),this._update();var buffer=Buffer2.allocUnsafe(16);return buffer.writeInt32LE(this._a,0),buffer.writeInt32LE(this._b,4),buffer.writeInt32LE(this._c,8),buffer.writeInt32LE(this._d,12),buffer};function rotl(x,n){return x<>>32-n}function fnF(a,b,c,d,m,k,s){return rotl(a+(b&c|~b&d)+m+k|0,s)+b|0}function fnG(a,b,c,d,m,k,s){return rotl(a+(b&d|c&~d)+m+k|0,s)+b|0}function fnH(a,b,c,d,m,k,s){return rotl(a+(b^c^d)+m+k|0,s)+b|0}function fnI(a,b,c,d,m,k,s){return rotl(a+(c^(b|~d))+m+k|0,s)+b|0}module.exports=MD5}}),require_ripemd160=__commonJS({\"node_modules/ripemd160/index.js\"(exports,module){var Buffer2=Buffer,inherits=require_inherits_browser(),HashBase=require_hash_base(),ARRAY16=new Array(16),zl=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13],zr=[5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11],sl=[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6],sr=[8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11],hl=[0,1518500249,1859775393,2400959708,2840853838],hr=[1352829926,1548603684,1836072691,2053994217,0];function RIPEMD160(){HashBase.call(this,64),this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520}inherits(RIPEMD160,HashBase),RIPEMD160.prototype._update=function(){for(var words=ARRAY16,j=0;j<16;++j)words[j]=this._block.readInt32LE(j*4);for(var al=this._a|0,bl=this._b|0,cl=this._c|0,dl=this._d|0,el=this._e|0,ar=this._a|0,br=this._b|0,cr=this._c|0,dr=this._d|0,er=this._e|0,i=0;i<80;i+=1){var tl,tr;i<16\?(tl=fn1(al,bl,cl,dl,el,words[zl[i]],hl[0],sl[i]),tr=fn5(ar,br,cr,dr,er,words[zr[i]],hr[0],sr[i])):i<32\?(tl=fn2(al,bl,cl,dl,el,words[zl[i]],hl[1],sl[i]),tr=fn4(ar,br,cr,dr,er,words[zr[i]],hr[1],sr[i])):i<48\?(tl=fn3(al,bl,cl,dl,el,words[zl[i]],hl[2],sl[i]),tr=fn3(ar,br,cr,dr,er,words[zr[i]],hr[2],sr[i])):i<64\?(tl=fn4(al,bl,cl,dl,el,words[zl[i]],hl[3],sl[i]),tr=fn2(ar,br,cr,dr,er,words[zr[i]],hr[3],sr[i])):(tl=fn5(al,bl,cl,dl,el,words[zl[i]],hl[4],sl[i]),tr=fn1(ar,br,cr,dr,er,words[zr[i]],hr[4],sr[i])),al=el,el=dl,dl=rotl(cl,10),cl=bl,bl=tl,ar=er,er=dr,dr=rotl(cr,10),cr=br,br=tr}var t=this._b+cl+dr|0;this._b=this._c+dl+er|0,this._c=this._d+el+ar|0,this._d=this._e+al+br|0,this._e=this._a+bl+cr|0,this._a=t},RIPEMD160.prototype._digest=function(){this._block[this._blockOffset++]=128,this._blockOffset>56&&(this._block.fill(0,this._blockOffset,64),this._update(),this._blockOffset=0),this._block.fill(0,this._blockOffset,56),this._block.writeUInt32LE(this._length[0],56),this._block.writeUInt32LE(this._length[1],60),this._update();var buffer=Buffer2.alloc\?Buffer2.alloc(20):new Buffer2(20);return buffer.writeInt32LE(this._a,0),buffer.writeInt32LE(this._b,4),buffer.writeInt32LE(this._c,8),buffer.writeInt32LE(this._d,12),buffer.writeInt32LE(this._e,16),buffer};function rotl(x,n){return x<>>32-n}function fn1(a,b,c,d,e,m,k,s){return rotl(a+(b^c^d)+m+k|0,s)+e|0}function fn2(a,b,c,d,e,m,k,s){return rotl(a+(b&c|~b&d)+m+k|0,s)+e|0}function fn3(a,b,c,d,e,m,k,s){return rotl(a+((b|~c)^d)+m+k|0,s)+e|0}function fn4(a,b,c,d,e,m,k,s){return rotl(a+(b&d|c&~d)+m+k|0,s)+e|0}function fn5(a,b,c,d,e,m,k,s){return rotl(a+(b^(c|~d))+m+k|0,s)+e|0}module.exports=RIPEMD160}}),require_hash=__commonJS({\"node_modules/sha.js/hash.js\"(exports,module){var Buffer2=require_safe_buffer().Buffer;function Hash(blockSize,finalSize){this._block=Buffer2.alloc(blockSize),this._finalSize=finalSize,this._blockSize=blockSize,this._len=0}Hash.prototype.update=function(data,enc){typeof data==\"string\"&&(enc=enc||\"utf8\",data=Buffer2.from(data,enc));for(var block=this._block,blockSize=this._blockSize,length=data.length,accum=this._len,offset=0;offset=this._finalSize&&(this._update(this._block),this._block.fill(0));var bits=this._len*8;if(bits<=4294967295)this._block.writeUInt32BE(bits,this._blockSize-4);else{var lowBits=(bits&4294967295)>>>0,highBits=(bits-lowBits)/4294967296;this._block.writeUInt32BE(highBits,this._blockSize-8),this._block.writeUInt32BE(lowBits,this._blockSize-4)}this._update(this._block);var hash=this._hash();return enc\?hash.toString(enc):hash},Hash.prototype._update=function(){throw new Error(\"_update must be implemented by subclass\")},module.exports=Hash}}),require_sha=__commonJS({\"node_modules/sha.js/sha.js\"(exports,module){var inherits=require_inherits_browser(),Hash=require_hash(),Buffer2=require_safe_buffer().Buffer,K=[1518500249,1859775393,-1894007588,-899497514],W=new Array(80);function Sha(){this.init(),this._w=W,Hash.call(this,64,56)}inherits(Sha,Hash),Sha.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this};function rotl5(num){return num<<5|num>>>27}function rotl30(num){return num<<30|num>>>2}function ft(s,b,c,d){return s===0\?b&c|~b&d:s===2\?b&c|b&d|c&d:b^c^d}Sha.prototype._update=function(M){for(var W2=this._w,a=this._a|0,b=this._b|0,c=this._c|0,d=this._d|0,e=this._e|0,i=0;i<16;++i)W2[i]=M.readInt32BE(i*4);for(;i<80;++i)W2[i]=W2[i-3]^W2[i-8]^W2[i-14]^W2[i-16];for(var j=0;j<80;++j){var s=~~(j/20),t=rotl5(a)+ft(s,b,c,d)+e+W2[j]+K[s]|0;e=d,d=c,c=rotl30(b),b=a,a=t}this._a=a+this._a|0,this._b=b+this._b|0,this._c=c+this._c|0,this._d=d+this._d|0,this._e=e+this._e|0},Sha.prototype._hash=function(){var H=Buffer2.allocUnsafe(20);return H.writeInt32BE(this._a|0,0),H.writeInt32BE(this._b|0,4),H.writeInt32BE(this._c|0,8),H.writeInt32BE(this._d|0,12),H.writeInt32BE(this._e|0,16),H},module.exports=Sha}}),require_sha1=__commonJS({\"node_modules/sha.js/sha1.js\"(exports,module){var inherits=require_inherits_browser(),Hash=require_hash(),Buffer2=require_safe_buffer().Buffer,K=[1518500249,1859775393,-1894007588,-899497514],W=new Array(80);function Sha1(){this.init(),this._w=W,Hash.call(this,64,56)}inherits(Sha1,Hash),Sha1.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this};function rotl1(num){return num<<1|num>>>31}function rotl5(num){return num<<5|num>>>27}function rotl30(num){return num<<30|num>>>2}function ft(s,b,c,d){return s===0\?b&c|~b&d:s===2\?b&c|b&d|c&d:b^c^d}Sha1.prototype._update=function(M){for(var W2=this._w,a=this._a|0,b=this._b|0,c=this._c|0,d=this._d|0,e=this._e|0,i=0;i<16;++i)W2[i]=M.readInt32BE(i*4);for(;i<80;++i)W2[i]=rotl1(W2[i-3]^W2[i-8]^W2[i-14]^W2[i-16]);for(var j=0;j<80;++j){var s=~~(j/20),t=rotl5(a)+ft(s,b,c,d)+e+W2[j]+K[s]|0;e=d,d=c,c=rotl30(b),b=a,a=t}this._a=a+this._a|0,this._b=b+this._b|0,this._c=c+this._c|0,this._d=d+this._d|0,this._e=e+this._e|0},Sha1.prototype._hash=function(){var H=Buffer2.allocUnsafe(20);return H.writeInt32BE(this._a|0,0),H.writeInt32BE(this._b|0,4),H.writeInt32BE(this._c|0,8),H.writeInt32BE(this._d|0,12),H.writeInt32BE(this._e|0,16),H},module.exports=Sha1}}),require_sha256=__commonJS({\"node_modules/sha.js/sha256.js\"(exports,module){var inherits=require_inherits_browser(),Hash=require_hash(),Buffer2=require_safe_buffer().Buffer,K=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298],W=new Array(64);function Sha256(){this.init(),this._w=W,Hash.call(this,64,56)}inherits(Sha256,Hash),Sha256.prototype.init=function(){return this._a=1779033703,this._b=3144134277,this._c=1013904242,this._d=2773480762,this._e=1359893119,this._f=2600822924,this._g=528734635,this._h=1541459225,this};function ch(x,y,z){return z^x&(y^z)}function maj(x,y,z){return x&y|z&(x|y)}function sigma0(x){return(x>>>2|x<<30)^(x>>>13|x<<19)^(x>>>22|x<<10)}function sigma1(x){return(x>>>6|x<<26)^(x>>>11|x<<21)^(x>>>25|x<<7)}function gamma0(x){return(x>>>7|x<<25)^(x>>>18|x<<14)^x>>>3}function gamma1(x){return(x>>>17|x<<15)^(x>>>19|x<<13)^x>>>10}Sha256.prototype._update=function(M){for(var W2=this._w,a=this._a|0,b=this._b|0,c=this._c|0,d=this._d|0,e=this._e|0,f=this._f|0,g=this._g|0,h=this._h|0,i=0;i<16;++i)W2[i]=M.readInt32BE(i*4);for(;i<64;++i)W2[i]=gamma1(W2[i-2])+W2[i-7]+gamma0(W2[i-15])+W2[i-16]|0;for(var j=0;j<64;++j){var T1=h+sigma1(e)+ch(e,f,g)+K[j]+W2[j]|0,T2=sigma0(a)+maj(a,b,c)|0;h=g,g=f,f=e,e=d+T1|0,d=c,c=b,b=a,a=T1+T2|0}this._a=a+this._a|0,this._b=b+this._b|0,this._c=c+this._c|0,this._d=d+this._d|0,this._e=e+this._e|0,this._f=f+this._f|0,this._g=g+this._g|0,this._h=h+this._h|0},Sha256.prototype._hash=function(){var H=Buffer2.allocUnsafe(32);return H.writeInt32BE(this._a,0),H.writeInt32BE(this._b,4),H.writeInt32BE(this._c,8),H.writeInt32BE(this._d,12),H.writeInt32BE(this._e,16),H.writeInt32BE(this._f,20),H.writeInt32BE(this._g,24),H.writeInt32BE(this._h,28),H},module.exports=Sha256}}),require_sha224=__commonJS({\"node_modules/sha.js/sha224.js\"(exports,module){var inherits=require_inherits_browser(),Sha256=require_sha256(),Hash=require_hash(),Buffer2=require_safe_buffer().Buffer,W=new Array(64);function Sha224(){this.init(),this._w=W,Hash.call(this,64,56)}inherits(Sha224,Sha256),Sha224.prototype.init=function(){return this._a=3238371032,this._b=914150663,this._c=812702999,this._d=4144912697,this._e=4290775857,this._f=1750603025,this._g=1694076839,this._h=3204075428,this},Sha224.prototype._hash=function(){var H=Buffer2.allocUnsafe(28);return H.writeInt32BE(this._a,0),H.writeInt32BE(this._b,4),H.writeInt32BE(this._c,8),H.writeInt32BE(this._d,12),H.writeInt32BE(this._e,16),H.writeInt32BE(this._f,20),H.writeInt32BE(this._g,24),H},module.exports=Sha224}}),require_sha512=__commonJS({\"node_modules/sha.js/sha512.js\"(exports,module){var inherits=require_inherits_browser(),Hash=require_hash(),Buffer2=require_safe_buffer().Buffer,K=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591],W=new Array(160);function Sha512(){this.init(),this._w=W,Hash.call(this,128,112)}inherits(Sha512,Hash),Sha512.prototype.init=function(){return this._ah=1779033703,this._bh=3144134277,this._ch=1013904242,this._dh=2773480762,this._eh=1359893119,this._fh=2600822924,this._gh=528734635,this._hh=1541459225,this._al=4089235720,this._bl=2227873595,this._cl=4271175723,this._dl=1595750129,this._el=2917565137,this._fl=725511199,this._gl=4215389547,this._hl=327033209,this};function Ch(x,y,z){return z^x&(y^z)}function maj(x,y,z){return x&y|z&(x|y)}function sigma0(x,xl){return(x>>>28|xl<<4)^(xl>>>2|x<<30)^(xl>>>7|x<<25)}function sigma1(x,xl){return(x>>>14|xl<<18)^(x>>>18|xl<<14)^(xl>>>9|x<<23)}function Gamma0(x,xl){return(x>>>1|xl<<31)^(x>>>8|xl<<24)^x>>>7}function Gamma0l(x,xl){return(x>>>1|xl<<31)^(x>>>8|xl<<24)^(x>>>7|xl<<25)}function Gamma1(x,xl){return(x>>>19|xl<<13)^(xl>>>29|x<<3)^x>>>6}function Gamma1l(x,xl){return(x>>>19|xl<<13)^(xl>>>29|x<<3)^(x>>>6|xl<<26)}function getCarry(a,b){return a>>>0>>0\?1:0}Sha512.prototype._update=function(M){for(var W2=this._w,ah=this._ah|0,bh=this._bh|0,ch=this._ch|0,dh=this._dh|0,eh=this._eh|0,fh=this._fh|0,gh=this._gh|0,hh=this._hh|0,al=this._al|0,bl=this._bl|0,cl=this._cl|0,dl=this._dl|0,el=this._el|0,fl=this._fl|0,gl=this._gl|0,hl=this._hl|0,i=0;i<32;i+=2)W2[i]=M.readInt32BE(i*4),W2[i+1]=M.readInt32BE(i*4+4);for(;i<160;i+=2){var xh=W2[i-30],xl=W2[i-30+1],gamma0=Gamma0(xh,xl),gamma0l=Gamma0l(xl,xh);xh=W2[i-4],xl=W2[i-4+1];var gamma1=Gamma1(xh,xl),gamma1l=Gamma1l(xl,xh),Wi7h=W2[i-14],Wi7l=W2[i-14+1],Wi16h=W2[i-32],Wi16l=W2[i-32+1],Wil=gamma0l+Wi7l|0,Wih=gamma0+Wi7h+getCarry(Wil,gamma0l)|0;Wil=Wil+gamma1l|0,Wih=Wih+gamma1+getCarry(Wil,gamma1l)|0,Wil=Wil+Wi16l|0,Wih=Wih+Wi16h+getCarry(Wil,Wi16l)|0,W2[i]=Wih,W2[i+1]=Wil}for(var j=0;j<160;j+=2){Wih=W2[j],Wil=W2[j+1];var majh=maj(ah,bh,ch),majl=maj(al,bl,cl),sigma0h=sigma0(ah,al),sigma0l=sigma0(al,ah),sigma1h=sigma1(eh,el),sigma1l=sigma1(el,eh),Kih=K[j],Kil=K[j+1],chh=Ch(eh,fh,gh),chl=Ch(el,fl,gl),t1l=hl+sigma1l|0,t1h=hh+sigma1h+getCarry(t1l,hl)|0;t1l=t1l+chl|0,t1h=t1h+chh+getCarry(t1l,chl)|0,t1l=t1l+Kil|0,t1h=t1h+Kih+getCarry(t1l,Kil)|0,t1l=t1l+Wil|0,t1h=t1h+Wih+getCarry(t1l,Wil)|0;var t2l=sigma0l+majl|0,t2h=sigma0h+majh+getCarry(t2l,sigma0l)|0;hh=gh,hl=gl,gh=fh,gl=fl,fh=eh,fl=el,el=dl+t1l|0,eh=dh+t1h+getCarry(el,dl)|0,dh=ch,dl=cl,ch=bh,cl=bl,bh=ah,bl=al,al=t1l+t2l|0,ah=t1h+t2h+getCarry(al,t1l)|0}this._al=this._al+al|0,this._bl=this._bl+bl|0,this._cl=this._cl+cl|0,this._dl=this._dl+dl|0,this._el=this._el+el|0,this._fl=this._fl+fl|0,this._gl=this._gl+gl|0,this._hl=this._hl+hl|0,this._ah=this._ah+ah+getCarry(this._al,al)|0,this._bh=this._bh+bh+getCarry(this._bl,bl)|0,this._ch=this._ch+ch+getCarry(this._cl,cl)|0,this._dh=this._dh+dh+getCarry(this._dl,dl)|0,this._eh=this._eh+eh+getCarry(this._el,el)|0,this._fh=this._fh+fh+getCarry(this._fl,fl)|0,this._gh=this._gh+gh+getCarry(this._gl,gl)|0,this._hh=this._hh+hh+getCarry(this._hl,hl)|0},Sha512.prototype._hash=function(){var H=Buffer2.allocUnsafe(64);function writeInt64BE(h,l,offset){H.writeInt32BE(h,offset),H.writeInt32BE(l,offset+4)}return writeInt64BE(this._ah,this._al,0),writeInt64BE(this._bh,this._bl,8),writeInt64BE(this._ch,this._cl,16),writeInt64BE(this._dh,this._dl,24),writeInt64BE(this._eh,this._el,32),writeInt64BE(this._fh,this._fl,40),writeInt64BE(this._gh,this._gl,48),writeInt64BE(this._hh,this._hl,56),H},module.exports=Sha512}}),require_sha384=__commonJS({\"node_modules/sha.js/sha384.js\"(exports,module){var inherits=require_inherits_browser(),SHA512=require_sha512(),Hash=require_hash(),Buffer2=require_safe_buffer().Buffer,W=new Array(160);function Sha384(){this.init(),this._w=W,Hash.call(this,128,112)}inherits(Sha384,SHA512),Sha384.prototype.init=function(){return this._ah=3418070365,this._bh=1654270250,this._ch=2438529370,this._dh=355462360,this._eh=1731405415,this._fh=2394180231,this._gh=3675008525,this._hh=1203062813,this._al=3238371032,this._bl=914150663,this._cl=812702999,this._dl=4144912697,this._el=4290775857,this._fl=1750603025,this._gl=1694076839,this._hl=3204075428,this},Sha384.prototype._hash=function(){var H=Buffer2.allocUnsafe(48);function writeInt64BE(h,l,offset){H.writeInt32BE(h,offset),H.writeInt32BE(l,offset+4)}return writeInt64BE(this._ah,this._al,0),writeInt64BE(this._bh,this._bl,8),writeInt64BE(this._ch,this._cl,16),writeInt64BE(this._dh,this._dl,24),writeInt64BE(this._eh,this._el,32),writeInt64BE(this._fh,this._fl,40),H},module.exports=Sha384}}),require_sha2=__commonJS({\"node_modules/sha.js/index.js\"(exports,module){var exports=module.exports=function(algorithm){algorithm=algorithm.toLowerCase();var Algorithm=exports[algorithm];if(!Algorithm)throw new Error(algorithm+\" is not supported (we accept pull requests)\");return new Algorithm};exports.sha=require_sha(),exports.sha1=require_sha1(),exports.sha224=require_sha224(),exports.sha256=require_sha256(),exports.sha384=require_sha384(),exports.sha512=require_sha512()}}),require_cipher_base=__commonJS({\"node_modules/cipher-base/index.js\"(exports,module){var Buffer2=require_safe_buffer().Buffer,inherits=require_inherits_browser();function CipherBase(hashMode){StreamModule.Transform.call(this),this.hashMode=typeof hashMode==\"string\",this.hashMode\?this[hashMode]=this._finalOrDigest:this.final=this._finalOrDigest,this._final&&(this.__final=this._final,this._final=null),this._decoder=null,this._encoding=null}inherits(CipherBase,StreamModule.Transform),CipherBase.prototype.update=function(data,inputEnc,outputEnc){typeof data==\"string\"&&(data=Buffer2.from(data,inputEnc));var outData=this._update(data);return this.hashMode\?this:(outputEnc&&(outData=this._toString(outData,outputEnc)),outData)},CipherBase.prototype.setAutoPadding=function(){},CipherBase.prototype.getAuthTag=function(){throw new Error(\"trying to get auth tag in unsupported state\")},CipherBase.prototype.setAuthTag=function(){throw new Error(\"trying to set auth tag in unsupported state\")},CipherBase.prototype.setAAD=function(){throw new Error(\"trying to set aad in unsupported state\")},CipherBase.prototype._transform=function(data,_,next){var err;try{this.hashMode\?this._update(data):this.push(this._update(data))}catch(e){err=e}finally{next(err)}},CipherBase.prototype._flush=function(done){var err;try{this.push(this.__final())}catch(e){err=e}done(err)},CipherBase.prototype._finalOrDigest=function(outputEnc){var outData=this.__final()||Buffer2.alloc(0);return outputEnc&&(outData=this._toString(outData,outputEnc,!0)),outData},CipherBase.prototype._toString=function(value,enc,fin){if(this._decoder||(this._decoder=new StringDecoder(enc),this._encoding=enc),this._encoding!==enc)throw new Error(\"can't switch encodings\");var out=this._decoder.write(value);return fin&&(out+=this._decoder.end()),out},module.exports=CipherBase}}),require_browser2=__commonJS({\"node_modules/create-hash/browser.js\"(exports,module){const LazyHash=function Hash(algorithm,options){this._options=options,this._hasher=new CryptoHasher(algorithm,options),this._finalized=!1};LazyHash.prototype=Object.create(StreamModule.Transform.prototype),LazyHash.prototype.update=function update(data,encoding){return this._checkFinalized(),this._hasher.update(data,encoding),this},LazyHash.prototype.digest=function update(data,encoding){return this._checkFinalized(),this._finalized=!0,this._hasher.digest(data,encoding)},LazyHash.prototype._checkFinalized=function _checkFinalized(){if(this._finalized){var err=new Error(\"Digest already called\");throw err.code=\"ERR_CRYPTO_HASH_FINALIZED\",err}},LazyHash.prototype.copy=function copy(){const copy=Object.create(LazyHash.prototype);return copy._options=this._options,copy._hasher=this._hasher.copy(),copy._finalized=this._finalized,copy};const lazyHashFullInitProto={__proto__:StreamModule.Transform.prototype,...LazyHash.prototype,_transform(data,encoding,callback){this.update(data,encoding),callback&&callback()},_flush(callback){this.push(this.digest()),callback()}},triggerMethods=[\"_events\",\"_eventsCount\",\"_final\",\"_maxListeners\",\"_maxListeners\",\"_read\",\"_undestroy\",\"_writableState\",\"_write\",\"_writev\",\"addListener\",\"asIndexedPairs\",\"closed\",\"compose\",\"constructor\",\"cork\",\"destroy\",\"destroyed\",\"drop\",\"emit\",\"end\",\"errored\",\"eventNames\",\"every\",\"filter\",\"find\",\"flatMap\",\"forEach\",\"getMaxListeners\",\"hasOwnProperty\",\"isPaused\",\"isPrototypeOf\",\"iterator\",\"listenerCount\",\"listeners\",\"map\",\"off\",\"on\",\"once\",\"pause\",\"pipe\",\"prependListener\",\"prependOnceListener\",\"propertyIsEnumerable\",\"push\",\"rawListeners\",\"read\",\"readable\",\"readableAborted\",\"readableBuffer\",\"readableDidRead\",\"readableEncoding\",\"readableEnded\",\"readableFlowing\",\"readableHighWaterMark\",\"readableLength\",\"readableObjectMode\",\"reduce\",\"removeAllListeners\",\"removeListener\",\"resume\",\"setDefaultEncoding\",\"setEncoding\",\"setMaxListeners\",\"some\",\"take\",\"toArray\",\"toLocaleString\",\"toString\",\"uncork\",\"unpipe\",\"unshift\",\"valueOf\",\"wrap\",\"writable\",\"writableBuffer\",\"writableCorked\",\"writableEnded\",\"writableFinished\",\"writableHighWaterMark\",\"writableLength\",\"writableNeedDrain\",\"writableObjectMode\",\"write\"];for(let method of triggerMethods)Object.defineProperty(LazyHash.prototype,method,{get(){return Object.setPrototypeOf(this,lazyHashFullInitProto),StreamModule.Transform.call(this,this._options),this[method]},enumerable:!1,configurable:!0});module.exports=function createHash(algorithm){return new LazyHash(algorithm)},module.exports.createHash=module.exports,module.exports.Hash=LazyHash}}),require_legacy=__commonJS({\"node_modules/create-hmac/legacy.js\"(exports,module){var inherits=require_inherits_browser(),Buffer2=require_safe_buffer().Buffer,Base=require_cipher_base(),ZEROS=Buffer2.alloc(128),blocksize=64;function Hmac(alg,key){Base.call(this,\"digest\"),typeof key==\"string\"&&(key=Buffer2.from(key)),this._alg=alg,this._key=key,key.length>blocksize\?key=alg(key):key.lengthblocksize){var hash=alg===\"rmd160\"\?new RIPEMD160:sha(alg);key=hash.update(key).digest()}else key.lengthMAX_ALLOC||keylen!==keylen)@throwTypeError(\"Bad key length\")}}}),require_default_encoding=__commonJS({\"node_modules/pbkdf2/lib/default-encoding.js\"(exports,module){var defaultEncoding;global.process&&global.process.browser\?defaultEncoding=\"utf-8\":global.process&&global.process.version\?(pVersionMajor=parseInt(process.version.split(\".\")[0].slice(1),10),defaultEncoding=pVersionMajor>=6\?\"utf-8\":\"binary\"):defaultEncoding=\"utf-8\";var pVersionMajor;module.exports=defaultEncoding}}),require_to_buffer=__commonJS({\"node_modules/pbkdf2/lib/to-buffer.js\"(exports,module){var Buffer2=require_safe_buffer().Buffer;module.exports=function(thing,encoding,name){if(Buffer2.isBuffer(thing))return thing;if(typeof thing==\"string\")return Buffer2.from(thing,encoding);if(ArrayBuffer.isView(thing))return Buffer2.from(thing.buffer);@throwTypeError(name+\" must be a string, a Buffer, a typed array or a DataView\")}}}),require_sync_browser=__commonJS({\"node_modules/pbkdf2/lib/sync-browser.js\"(exports,module){var md5=require_md52(),RIPEMD160=require_ripemd160(),sha=require_sha2(),Buffer2=require_safe_buffer().Buffer,checkParameters=require_precondition(),defaultEncoding=require_default_encoding(),toBuffer=require_to_buffer(),ZEROS=Buffer2.alloc(128),sizes={md5:16,sha1:20,sha224:28,sha256:32,sha384:48,sha512:64,rmd160:20,ripemd160:20};function Hmac(alg,key,saltLen){var hash=getDigest(alg),blocksize=alg===\"sha512\"||alg===\"sha384\"\?128:64;key.length>blocksize\?key=hash(key):key.length>>0},exports.writeUInt32BE=function(bytes,value,off){bytes[0+off]=value>>>24,bytes[1+off]=value>>>16&255,bytes[2+off]=value>>>8&255,bytes[3+off]=value&255},exports.ip=function(inL,inR,out,off){for(var outL=0,outR=0,i=6;i>=0;i-=2){for(var j=0;j<=24;j+=8)outL<<=1,outL|=inR>>>j+i&1;for(var j=0;j<=24;j+=8)outL<<=1,outL|=inL>>>j+i&1}for(var i=6;i>=0;i-=2){for(var j=1;j<=25;j+=8)outR<<=1,outR|=inR>>>j+i&1;for(var j=1;j<=25;j+=8)outR<<=1,outR|=inL>>>j+i&1}out[off+0]=outL>>>0,out[off+1]=outR>>>0},exports.rip=function(inL,inR,out,off){for(var outL=0,outR=0,i=0;i<4;i++)for(var j=24;j>=0;j-=8)outL<<=1,outL|=inR>>>j+i&1,outL<<=1,outL|=inL>>>j+i&1;for(var i=4;i<8;i++)for(var j=24;j>=0;j-=8)outR<<=1,outR|=inR>>>j+i&1,outR<<=1,outR|=inL>>>j+i&1;out[off+0]=outL>>>0,out[off+1]=outR>>>0},exports.pc1=function(inL,inR,out,off){for(var outL=0,outR=0,i=7;i>=5;i--){for(var j=0;j<=24;j+=8)outL<<=1,outL|=inR>>j+i&1;for(var j=0;j<=24;j+=8)outL<<=1,outL|=inL>>j+i&1}for(var j=0;j<=24;j+=8)outL<<=1,outL|=inR>>j+i&1;for(var i=1;i<=3;i++){for(var j=0;j<=24;j+=8)outR<<=1,outR|=inR>>j+i&1;for(var j=0;j<=24;j+=8)outR<<=1,outR|=inL>>j+i&1}for(var j=0;j<=24;j+=8)outR<<=1,outR|=inL>>j+i&1;out[off+0]=outL>>>0,out[off+1]=outR>>>0},exports.r28shl=function(num,shift){return num<>>28-shift};var pc2table=[14,11,17,4,27,23,25,0,13,22,7,18,5,9,16,24,2,20,12,21,1,8,15,26,15,4,25,19,9,1,26,16,5,11,23,8,12,7,17,0,22,3,10,14,6,20,27,24];exports.pc2=function(inL,inR,out,off){for(var outL=0,outR=0,len=pc2table.length>>>1,i=0;i>>pc2table[i]&1;for(var i=len;i>>pc2table[i]&1;out[off+0]=outL>>>0,out[off+1]=outR>>>0},exports.expand=function(r,out,off){var outL=0,outR=0;outL=(r&1)<<5|r>>>27;for(var i=23;i>=15;i-=4)outL<<=6,outL|=r>>>i&63;for(var i=11;i>=3;i-=4)outR|=r>>>i&63,outR<<=6;outR|=(r&31)<<1|r>>>31,out[off+0]=outL>>>0,out[off+1]=outR>>>0};var sTable=[14,0,4,15,13,7,1,4,2,14,15,2,11,13,8,1,3,10,10,6,6,12,12,11,5,9,9,5,0,3,7,8,4,15,1,12,14,8,8,2,13,4,6,9,2,1,11,7,15,5,12,11,9,3,7,14,3,10,10,0,5,6,0,13,15,3,1,13,8,4,14,7,6,15,11,2,3,8,4,14,9,12,7,0,2,1,13,10,12,6,0,9,5,11,10,5,0,13,14,8,7,10,11,1,10,3,4,15,13,4,1,2,5,11,8,6,12,7,6,12,9,0,3,5,2,14,15,9,10,13,0,7,9,0,14,9,6,3,3,4,15,6,5,10,1,2,13,8,12,5,7,14,11,12,4,11,2,15,8,1,13,1,6,10,4,13,9,0,8,6,15,9,3,8,0,7,11,4,1,15,2,14,12,3,5,11,10,5,14,2,7,12,7,13,13,8,14,11,3,5,0,6,6,15,9,0,10,3,1,4,2,7,8,2,5,12,11,1,12,10,4,14,15,9,10,3,6,15,9,0,0,6,12,10,11,1,7,13,13,8,15,9,1,4,3,5,14,11,5,12,2,7,8,2,4,14,2,14,12,11,4,2,1,12,7,4,10,7,11,13,6,1,8,5,5,0,3,15,15,10,13,3,0,9,14,8,9,6,4,11,2,8,1,12,11,7,10,1,13,14,7,2,8,13,15,6,9,15,12,0,5,9,6,10,3,4,0,5,14,3,12,10,1,15,10,4,15,2,9,7,2,12,6,9,8,5,0,6,13,1,3,13,4,14,14,0,7,11,5,3,11,8,9,4,14,3,15,2,5,12,2,9,8,5,12,15,3,10,7,11,0,14,4,1,10,7,1,6,13,0,11,8,6,13,4,13,11,0,2,11,14,7,15,4,0,9,8,1,13,10,3,14,12,3,9,5,7,12,5,2,10,15,6,8,1,6,1,6,4,11,11,13,13,8,12,1,3,4,7,10,14,7,10,9,15,5,6,0,8,15,0,14,5,2,9,3,2,12,13,1,2,15,8,13,4,8,6,10,15,3,11,7,1,4,10,12,9,5,3,6,14,11,5,0,0,14,12,9,7,2,7,2,11,1,4,14,1,7,9,4,12,10,14,8,2,13,0,15,6,12,10,9,13,0,15,3,3,5,5,6,8,11];exports.substitute=function(inL,inR){for(var out=0,i=0;i<4;i++){var b=inL>>>18-i*6&63,sb=sTable[i*64+b];out<<=4,out|=sb}for(var i=0;i<4;i++){var b=inR>>>18-i*6&63,sb=sTable[256+i*64+b];out<<=4,out|=sb}return out>>>0};var permuteTable=[16,25,12,11,3,20,4,15,31,17,9,6,27,14,1,22,30,24,8,18,0,5,29,23,13,19,2,26,10,21,28,7];exports.permute=function(num){for(var out=0,i=0;i>>permuteTable[i]&1;return out>>>0},exports.padSplit=function(num,size,group){for(var str=num.toString(2);str.length0;count--)inputOff+=this._buffer(data,inputOff),outputOff+=this._flushBuffer(out,outputOff);return inputOff+=this._buffer(data,inputOff),out},Cipher.prototype.final=function(buffer){var first;buffer&&(first=this.update(buffer));var last;return this.type===\"encrypt\"\?last=this._finalEncrypt():last=this._finalDecrypt(),first\?first.concat(last):last},Cipher.prototype._pad=function(buffer,off){if(off===0)return!1;for(;off>>1];kL=utils.r28shl(kL,shift),kR=utils.r28shl(kR,shift),utils.pc2(kL,kR,state.keys,i)}},DES.prototype._update=function(inp,inOff,out,outOff){var state=this._desState,l=utils.readUInt32BE(inp,inOff),r=utils.readUInt32BE(inp,inOff+4);utils.ip(l,r,state.tmp,0),l=state.tmp[0],r=state.tmp[1],this.type===\"encrypt\"\?this._encrypt(state,l,r,state.tmp,0):this._decrypt(state,l,r,state.tmp,0),l=state.tmp[0],r=state.tmp[1],utils.writeUInt32BE(out,l,outOff),utils.writeUInt32BE(out,r,outOff+4)},DES.prototype._pad=function(buffer,off){for(var value=buffer.length-off,i=off;i>>0,l=t}utils.rip(r,l,out,off)},DES.prototype._decrypt=function(state,lStart,rStart,out,off){for(var l=rStart,r=lStart,i=state.keys.length-2;i>=0;i-=2){var keyL=state.keys[i],keyR=state.keys[i+1];utils.expand(l,state.tmp,0),keyL^=state.tmp[0],keyR^=state.tmp[1];var s=utils.substitute(keyL,keyR),f=utils.permute(s),t=l;l=(r^f)>>>0,r=t}utils.rip(l,r,out,off)}}}),require_cbc=__commonJS({\"node_modules/des.js/lib/des/cbc.js\"(exports){var assert=require_minimalistic_assert(),inherits=require_inherits_browser(),proto={};function CBCState(iv){assert.equal(iv.length,8,\"Invalid IV length\"),this.iv=new Array(8);for(var i=0;i>i%8,self2._prev=shiftIn(self2._prev,decrypt\?bit:value);return out}function shiftIn(buffer,value){var len=buffer.length,i=-1,out=Buffer2.allocUnsafe(buffer.length);for(buffer=Buffer2.concat([buffer,Buffer2.from([value])]);++i>7;return out}exports.encrypt=function(self2,chunk,decrypt){for(var len=chunk.length,out=Buffer2.allocUnsafe(len),i=-1;++i>>24]^SUB_MIX1[s1>>>16&255]^SUB_MIX2[s2>>>8&255]^SUB_MIX3[s3&255]^keySchedule[ksRow++],t1=SUB_MIX0[s1>>>24]^SUB_MIX1[s2>>>16&255]^SUB_MIX2[s3>>>8&255]^SUB_MIX3[s0&255]^keySchedule[ksRow++],t2=SUB_MIX0[s2>>>24]^SUB_MIX1[s3>>>16&255]^SUB_MIX2[s0>>>8&255]^SUB_MIX3[s1&255]^keySchedule[ksRow++],t3=SUB_MIX0[s3>>>24]^SUB_MIX1[s0>>>16&255]^SUB_MIX2[s1>>>8&255]^SUB_MIX3[s2&255]^keySchedule[ksRow++],s0=t0,s1=t1,s2=t2,s3=t3;return t0=(SBOX[s0>>>24]<<24|SBOX[s1>>>16&255]<<16|SBOX[s2>>>8&255]<<8|SBOX[s3&255])^keySchedule[ksRow++],t1=(SBOX[s1>>>24]<<24|SBOX[s2>>>16&255]<<16|SBOX[s3>>>8&255]<<8|SBOX[s0&255])^keySchedule[ksRow++],t2=(SBOX[s2>>>24]<<24|SBOX[s3>>>16&255]<<16|SBOX[s0>>>8&255]<<8|SBOX[s1&255])^keySchedule[ksRow++],t3=(SBOX[s3>>>24]<<24|SBOX[s0>>>16&255]<<16|SBOX[s1>>>8&255]<<8|SBOX[s2&255])^keySchedule[ksRow++],t0=t0>>>0,t1=t1>>>0,t2=t2>>>0,t3=t3>>>0,[t0,t1,t2,t3]}var RCON=[0,1,2,4,8,16,32,64,128,27,54],G=function(){for(var d=new Array(256),j=0;j<256;j++)j<128\?d[j]=j<<1:d[j]=j<<1^283;for(var SBOX=[],INV_SBOX=[],SUB_MIX=[[],[],[],[]],INV_SUB_MIX=[[],[],[],[]],x=0,xi=0,i=0;i<256;++i){var sx=xi^xi<<1^xi<<2^xi<<3^xi<<4;sx=sx>>>8^sx&255^99,SBOX[x]=sx,INV_SBOX[sx]=x;var x2=d[x],x4=d[x2],x8=d[x4],t=d[sx]*257^sx*16843008;SUB_MIX[0][x]=t<<24|t>>>8,SUB_MIX[1][x]=t<<16|t>>>16,SUB_MIX[2][x]=t<<8|t>>>24,SUB_MIX[3][x]=t,t=x8*16843009^x4*65537^x2*257^x*16843008,INV_SUB_MIX[0][sx]=t<<24|t>>>8,INV_SUB_MIX[1][sx]=t<<16|t>>>16,INV_SUB_MIX[2][sx]=t<<8|t>>>24,INV_SUB_MIX[3][sx]=t,x===0\?x=xi=1:(x=x2^d[d[d[x8^x2]]],xi^=d[d[xi]])}return{SBOX,INV_SBOX,SUB_MIX,INV_SUB_MIX}}();function AES(key){this._key=asUInt32Array(key),this._reset()}AES.blockSize=16,AES.keySize=32,AES.prototype.blockSize=AES.blockSize,AES.prototype.keySize=AES.keySize,AES.prototype._reset=function(){for(var keyWords=this._key,keySize=keyWords.length,nRounds=keySize+6,ksRows=(nRounds+1)*4,keySchedule=[],k=0;k>>24,t=G.SBOX[t>>>24]<<24|G.SBOX[t>>>16&255]<<16|G.SBOX[t>>>8&255]<<8|G.SBOX[t&255],t^=RCON[k/keySize|0]<<24):keySize>6&&k%keySize===4&&(t=G.SBOX[t>>>24]<<24|G.SBOX[t>>>16&255]<<16|G.SBOX[t>>>8&255]<<8|G.SBOX[t&255]),keySchedule[k]=keySchedule[k-keySize]^t}for(var invKeySchedule=[],ik=0;ik>>24]]^G.INV_SUB_MIX[1][G.SBOX[tt>>>16&255]]^G.INV_SUB_MIX[2][G.SBOX[tt>>>8&255]]^G.INV_SUB_MIX[3][G.SBOX[tt&255]]}this._nRounds=nRounds,this._keySchedule=keySchedule,this._invKeySchedule=invKeySchedule},AES.prototype.encryptBlockRaw=function(M){return M=asUInt32Array(M),cryptBlock(M,this._keySchedule,G.SUB_MIX,G.SBOX,this._nRounds)},AES.prototype.encryptBlock=function(M){var out=this.encryptBlockRaw(M),buf=Buffer2.allocUnsafe(16);return buf.writeUInt32BE(out[0],0),buf.writeUInt32BE(out[1],4),buf.writeUInt32BE(out[2],8),buf.writeUInt32BE(out[3],12),buf},AES.prototype.decryptBlock=function(M){M=asUInt32Array(M);var m1=M[1];M[1]=M[3],M[3]=m1;var out=cryptBlock(M,this._invKeySchedule,G.INV_SUB_MIX,G.INV_SBOX,this._nRounds),buf=Buffer2.allocUnsafe(16);return buf.writeUInt32BE(out[0],0),buf.writeUInt32BE(out[3],4),buf.writeUInt32BE(out[2],8),buf.writeUInt32BE(out[1],12),buf},AES.prototype.scrub=function(){scrubVec(this._keySchedule),scrubVec(this._invKeySchedule),scrubVec(this._key)},module.exports.AES=AES}}),require_ghash=__commonJS({\"node_modules/browserify-aes/ghash.js\"(exports,module){var Buffer2=require_safe_buffer().Buffer,ZEROES=Buffer2.alloc(16,0);function toArray(buf){return[buf.readUInt32BE(0),buf.readUInt32BE(4),buf.readUInt32BE(8),buf.readUInt32BE(12)]}function fromArray(out){var buf=Buffer2.allocUnsafe(16);return buf.writeUInt32BE(out[0]>>>0,0),buf.writeUInt32BE(out[1]>>>0,4),buf.writeUInt32BE(out[2]>>>0,8),buf.writeUInt32BE(out[3]>>>0,12),buf}function GHASH(key){this.h=key,this.state=Buffer2.alloc(16,0),this.cache=Buffer2.allocUnsafe(0)}GHASH.prototype.ghash=function(block){for(var i=-1;++i0;j--)Vi[j]=Vi[j]>>>1|(Vi[j-1]&1)<<31;Vi[0]=Vi[0]>>>1,lsbVi&&(Vi[0]=Vi[0]^225<<24)}this.state=fromArray(Zi)},GHASH.prototype.update=function(buf){this.cache=Buffer2.concat([this.cache,buf]);for(var chunk;this.cache.length>=16;)chunk=this.cache.slice(0,16),this.cache=this.cache.slice(16),this.ghash(chunk)},GHASH.prototype.final=function(abl,bl){return this.cache.length&&this.ghash(Buffer2.concat([this.cache,ZEROES],16)),this.ghash(fromArray([0,abl,0,bl])),this.state},module.exports=GHASH}}),require_authCipher=__commonJS({\"node_modules/browserify-aes/authCipher.js\"(exports,module){var aes=require_aes(),Buffer2=require_safe_buffer().Buffer,Transform=require_cipher_base(),inherits=require_inherits_browser(),GHASH=require_ghash(),xor=require_buffer_xor(),incr32=require_incr32();function xorTest(a,b){var out=0;a.length!==b.length&&out++;for(var len=Math.min(a.length,b.length),i=0;i0||ivLen>0;){var hash=new MD5;hash.update(tmp),hash.update(password),salt&&hash.update(salt),tmp=hash.digest();var used=0;if(keyLen>0){var keyStart=key.length-keyLen;used=Math.min(keyLen,tmp.length),tmp.copy(key,keyStart,0,used),keyLen-=used}if(used0){var ivStart=iv.length-ivLen,length=Math.min(ivLen,tmp.length-used);tmp.copy(iv,ivStart,used,used+length),ivLen-=length}}return tmp.fill(0),{key,iv}}module.exports=EVP_BytesToKey}}),require_encrypter=__commonJS({\"node_modules/browserify-aes/encrypter.js\"(exports){var MODES=require_modes(),AuthCipher=require_authCipher(),Buffer2=require_safe_buffer().Buffer,StreamCipher=require_streamCipher(),Transform=require_cipher_base(),aes=require_aes(),ebtk=require_evp_bytestokey(),inherits=require_inherits_browser();function Cipher(mode,key,iv){Transform.call(this),this._cache=new Splitter,this._cipher=new aes.AES(key),this._prev=Buffer2.from(iv),this._mode=mode,this._autopadding=!0}inherits(Cipher,Transform),Cipher.prototype._update=function(data){this._cache.add(data);for(var chunk,thing,out=[];chunk=this._cache.get();)thing=this._mode.encrypt(this,chunk),out.push(thing);return Buffer2.concat(out)};var PADDING=Buffer2.alloc(16,16);Cipher.prototype._final=function(){var chunk=this._cache.flush();if(this._autopadding)return chunk=this._mode.encrypt(this,chunk),this._cipher.scrub(),chunk;if(!chunk.equals(PADDING))throw this._cipher.scrub(),new Error(\"data not multiple of block length\")},Cipher.prototype.setAutoPadding=function(setTo){return this._autopadding=!!setTo,this};function Splitter(){this.cache=Buffer2.allocUnsafe(0)}Splitter.prototype.add=function(data){this.cache=Buffer2.concat([this.cache,data])},Splitter.prototype.get=function(){if(this.cache.length>15){var out=this.cache.slice(0,16);return this.cache=this.cache.slice(16),out}return null},Splitter.prototype.flush=function(){for(var len=16-this.cache.length,padBuff=Buffer2.allocUnsafe(len),i=-1;++i16)return out=this.cache.slice(0,16),this.cache=this.cache.slice(16),out}else if(this.cache.length>=16)return out=this.cache.slice(0,16),this.cache=this.cache.slice(16),out;return null},Splitter.prototype.flush=function(){if(this.cache.length)return this.cache};function unpad(last){var padded=last[15];if(padded<1||padded>16)throw new Error(\"unable to decrypt data\");for(var i=-1;++i0\?left:right},BN.min=function(left,right){return left.cmp(right)<0\?left:right},BN.prototype._init=function(number,base,endian){if(typeof number==\"number\")return this._initNumber(number,base,endian);if(typeof number==\"object\")return this._initArray(number,base,endian);base===\"hex\"&&(base=16),assert(base===(base|0)&&base>=2&&base<=36),number=number.toString().replace(/\\s+/g,\"\");var start=0;number[0]===\"-\"&&(start++,this.negative=1),start=0;i-=3)w=number[i]|number[i-1]<<8|number[i-2]<<16,this.words[j]|=w<>>26-off&67108863,off+=24,off>=26&&(off-=26,j++);else if(endian===\"le\")for(i=0,j=0;i>>26-off&67108863,off+=24,off>=26&&(off-=26,j++);return this.strip()};function parseHex4Bits(string,index){var c=string.charCodeAt(index);return c>=65&&c<=70\?c-55:c>=97&&c<=102\?c-87:c-48&15}function parseHexByte(string,lowerBound,index){var r=parseHex4Bits(string,index);return index-1>=lowerBound&&(r|=parseHex4Bits(string,index-1)<<4),r}BN.prototype._parseHex=function(number,start,endian){this.length=Math.ceil((number.length-start)/6),this.words=new Array(this.length);for(var i=0;i=start;i-=2)w=parseHexByte(number,start,i)<=18\?(off-=18,j+=1,this.words[j]|=w>>>26):off+=8;else{var parseLength=number.length-start;for(i=parseLength%2===0\?start+1:start;i=18\?(off-=18,j+=1,this.words[j]|=w>>>26):off+=8}this.strip()};function parseBase(str,start,end,mul){for(var r=0,len=Math.min(str.length,end),i=start;i=49\?r+=c-49+10:c>=17\?r+=c-17+10:r+=c}return r}BN.prototype._parseBase=function(number,base,start){this.words=[0],this.length=1;for(var limbLen=0,limbPow=1;limbPow<=67108863;limbPow*=base)limbLen++;limbLen--,limbPow=limbPow/base|0;for(var total=number.length-start,mod=total%limbLen,end=Math.min(total,total-mod)+start,word=0,i=start;i1&&this.words[this.length-1]===0;)this.length--;return this._normSign()},BN.prototype._normSign=function(){return this.length===1&&this.words[0]===0&&(this.negative=0),this},BN.prototype.inspect=function(){return(this.red\?\"\"};var zeros=[\"\",\"0\",\"00\",\"000\",\"0000\",\"00000\",\"000000\",\"0000000\",\"00000000\",\"000000000\",\"0000000000\",\"00000000000\",\"000000000000\",\"0000000000000\",\"00000000000000\",\"000000000000000\",\"0000000000000000\",\"00000000000000000\",\"000000000000000000\",\"0000000000000000000\",\"00000000000000000000\",\"000000000000000000000\",\"0000000000000000000000\",\"00000000000000000000000\",\"000000000000000000000000\",\"0000000000000000000000000\"],groupSizes=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],groupBases=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64000000,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,24300000,28629151,33554432,39135393,45435424,52521875,60466176];BN.prototype.toString=function(base,padding){base=base||10,padding=padding|0||1;var out;if(base===16||base===\"hex\"){out=\"\";for(var off=0,carry=0,i=0;i>>24-off&16777215,carry!==0||i!==this.length-1\?out=zeros[6-word.length]+word+out:out=word+out,off+=2,off>=26&&(off-=26,i--)}for(carry!==0&&(out=carry.toString(16)+out);out.length%padding!==0;)out=\"0\"+out;return this.negative!==0&&(out=\"-\"+out),out}if(base===(base|0)&&base>=2&&base<=36){var groupSize=groupSizes[base],groupBase=groupBases[base];out=\"\";var c=this.clone();for(c.negative=0;!c.isZero();){var r=c.modn(groupBase).toString(base);c=c.idivn(groupBase),c.isZero()\?out=r+out:out=zeros[groupSize-r.length]+r+out}for(this.isZero()&&(out=\"0\"+out);out.length%padding!==0;)out=\"0\"+out;return this.negative!==0&&(out=\"-\"+out),out}assert(!1,\"Base should be between 2 and 36\")},BN.prototype.toNumber=function(){var ret=this.words[0];return this.length===2\?ret+=this.words[1]*67108864:this.length===3&&this.words[2]===1\?ret+=4503599627370496+this.words[1]*67108864:this.length>2&&assert(!1,\"Number can only safely store up to 53 bits\"),this.negative!==0\?-ret:ret},BN.prototype.toJSON=function(){return this.toString(16)},BN.prototype.toBuffer=function(endian,length){return assert(typeof Buffer2<\"u\"),this.toArrayLike(Buffer2,endian,length)},BN.prototype.toArray=function(endian,length){return this.toArrayLike(Array,endian,length)},BN.prototype.toArrayLike=function(ArrayType,endian,length){var byteLength=this.byteLength(),reqLength=length||Math.max(1,byteLength);assert(byteLength<=reqLength,\"byte array longer than desired length\"),assert(reqLength>0,\"Requested array length <= 0\"),this.strip();var littleEndian=endian===\"le\",res=new ArrayType(reqLength),b,i,q=this.clone();if(littleEndian){for(i=0;!q.isZero();i++)b=q.andln(255),q.iushrn(8),res[i]=b;for(;i=4096&&(r+=13,t>>>=13),t>=64&&(r+=7,t>>>=7),t>=8&&(r+=4,t>>>=4),t>=2&&(r+=2,t>>>=2),r+t},BN.prototype._zeroBits=function(w){if(w===0)return 26;var t=w,r=0;return(t&8191)===0&&(r+=13,t>>>=13),(t&127)===0&&(r+=7,t>>>=7),(t&15)===0&&(r+=4,t>>>=4),(t&3)===0&&(r+=2,t>>>=2),(t&1)===0&&r++,r},BN.prototype.bitLength=function(){var w=this.words[this.length-1],hi=this._countBits(w);return(this.length-1)*26+hi};function toBitArray(num){for(var w=new Array(num.bitLength()),bit=0;bit>>wbit}return w}BN.prototype.zeroBits=function(){if(this.isZero())return 0;for(var r=0,i=0;inum.length\?this.clone().ior(num):num.clone().ior(this)},BN.prototype.uor=function(num){return this.length>num.length\?this.clone().iuor(num):num.clone().iuor(this)},BN.prototype.iuand=function(num){var b;this.length>num.length\?b=num:b=this;for(var i=0;inum.length\?this.clone().iand(num):num.clone().iand(this)},BN.prototype.uand=function(num){return this.length>num.length\?this.clone().iuand(num):num.clone().iuand(this)},BN.prototype.iuxor=function(num){var a,b;this.length>num.length\?(a=this,b=num):(a=num,b=this);for(var i=0;inum.length\?this.clone().ixor(num):num.clone().ixor(this)},BN.prototype.uxor=function(num){return this.length>num.length\?this.clone().iuxor(num):num.clone().iuxor(this)},BN.prototype.inotn=function(width){assert(typeof width==\"number\"&&width>=0);var bytesNeeded=Math.ceil(width/26)|0,bitsLeft=width%26;this._expand(bytesNeeded),bitsLeft>0&&bytesNeeded--;for(var i=0;i0&&(this.words[i]=~this.words[i]&67108863>>26-bitsLeft),this.strip()},BN.prototype.notn=function(width){return this.clone().inotn(width)},BN.prototype.setn=function(bit,val){assert(typeof bit==\"number\"&&bit>=0);var off=bit/26|0,wbit=bit%26;return this._expand(off+1),val\?this.words[off]=this.words[off]|1<num.length\?(a=this,b=num):(a=num,b=this);for(var carry=0,i=0;i>>26;for(;carry!==0&&i>>26;if(this.length=a.length,carry!==0)this.words[this.length]=carry,this.length++;else if(a!==this)for(;inum.length\?this.clone().iadd(num):num.clone().iadd(this)},BN.prototype.isub=function(num){if(num.negative!==0){num.negative=0;var r=this.iadd(num);return num.negative=1,r._normSign()}else if(this.negative!==0)return this.negative=0,this.iadd(num),this.negative=1,this._normSign();var cmp=this.cmp(num);if(cmp===0)return this.negative=0,this.length=1,this.words[0]=0,this;var a,b;cmp>0\?(a=this,b=num):(a=num,b=this);for(var carry=0,i=0;i>26,this.words[i]=r&67108863;for(;carry!==0&&i>26,this.words[i]=r&67108863;if(carry===0&&i>>26,rword=carry&67108863,maxJ=Math.min(k,num.length-1),j=Math.max(0,k-self2.length+1);j<=maxJ;j++){var i=k-j|0;a=self2.words[i]|0,b=num.words[j]|0,r=a*b+rword,ncarry+=r/67108864|0,rword=r&67108863}out.words[k]=rword|0,carry=ncarry|0}return carry!==0\?out.words[k]=carry|0:out.length--,out.strip()}var comb10MulTo=function(self2,num,out){var a=self2.words,b=num.words,o=out.words,c=0,lo,mid,hi,a0=a[0]|0,al0=a0&8191,ah0=a0>>>13,a1=a[1]|0,al1=a1&8191,ah1=a1>>>13,a2=a[2]|0,al2=a2&8191,ah2=a2>>>13,a3=a[3]|0,al3=a3&8191,ah3=a3>>>13,a4=a[4]|0,al4=a4&8191,ah4=a4>>>13,a5=a[5]|0,al5=a5&8191,ah5=a5>>>13,a6=a[6]|0,al6=a6&8191,ah6=a6>>>13,a7=a[7]|0,al7=a7&8191,ah7=a7>>>13,a8=a[8]|0,al8=a8&8191,ah8=a8>>>13,a9=a[9]|0,al9=a9&8191,ah9=a9>>>13,b0=b[0]|0,bl0=b0&8191,bh0=b0>>>13,b1=b[1]|0,bl1=b1&8191,bh1=b1>>>13,b2=b[2]|0,bl2=b2&8191,bh2=b2>>>13,b3=b[3]|0,bl3=b3&8191,bh3=b3>>>13,b4=b[4]|0,bl4=b4&8191,bh4=b4>>>13,b5=b[5]|0,bl5=b5&8191,bh5=b5>>>13,b6=b[6]|0,bl6=b6&8191,bh6=b6>>>13,b7=b[7]|0,bl7=b7&8191,bh7=b7>>>13,b8=b[8]|0,bl8=b8&8191,bh8=b8>>>13,b9=b[9]|0,bl9=b9&8191,bh9=b9>>>13;out.negative=self2.negative^num.negative,out.length=19,lo=Math.imul(al0,bl0),mid=Math.imul(al0,bh0),mid=mid+Math.imul(ah0,bl0)|0,hi=Math.imul(ah0,bh0);var w0=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w0>>>26)|0,w0&=67108863,lo=Math.imul(al1,bl0),mid=Math.imul(al1,bh0),mid=mid+Math.imul(ah1,bl0)|0,hi=Math.imul(ah1,bh0),lo=lo+Math.imul(al0,bl1)|0,mid=mid+Math.imul(al0,bh1)|0,mid=mid+Math.imul(ah0,bl1)|0,hi=hi+Math.imul(ah0,bh1)|0;var w1=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w1>>>26)|0,w1&=67108863,lo=Math.imul(al2,bl0),mid=Math.imul(al2,bh0),mid=mid+Math.imul(ah2,bl0)|0,hi=Math.imul(ah2,bh0),lo=lo+Math.imul(al1,bl1)|0,mid=mid+Math.imul(al1,bh1)|0,mid=mid+Math.imul(ah1,bl1)|0,hi=hi+Math.imul(ah1,bh1)|0,lo=lo+Math.imul(al0,bl2)|0,mid=mid+Math.imul(al0,bh2)|0,mid=mid+Math.imul(ah0,bl2)|0,hi=hi+Math.imul(ah0,bh2)|0;var w2=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w2>>>26)|0,w2&=67108863,lo=Math.imul(al3,bl0),mid=Math.imul(al3,bh0),mid=mid+Math.imul(ah3,bl0)|0,hi=Math.imul(ah3,bh0),lo=lo+Math.imul(al2,bl1)|0,mid=mid+Math.imul(al2,bh1)|0,mid=mid+Math.imul(ah2,bl1)|0,hi=hi+Math.imul(ah2,bh1)|0,lo=lo+Math.imul(al1,bl2)|0,mid=mid+Math.imul(al1,bh2)|0,mid=mid+Math.imul(ah1,bl2)|0,hi=hi+Math.imul(ah1,bh2)|0,lo=lo+Math.imul(al0,bl3)|0,mid=mid+Math.imul(al0,bh3)|0,mid=mid+Math.imul(ah0,bl3)|0,hi=hi+Math.imul(ah0,bh3)|0;var w3=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w3>>>26)|0,w3&=67108863,lo=Math.imul(al4,bl0),mid=Math.imul(al4,bh0),mid=mid+Math.imul(ah4,bl0)|0,hi=Math.imul(ah4,bh0),lo=lo+Math.imul(al3,bl1)|0,mid=mid+Math.imul(al3,bh1)|0,mid=mid+Math.imul(ah3,bl1)|0,hi=hi+Math.imul(ah3,bh1)|0,lo=lo+Math.imul(al2,bl2)|0,mid=mid+Math.imul(al2,bh2)|0,mid=mid+Math.imul(ah2,bl2)|0,hi=hi+Math.imul(ah2,bh2)|0,lo=lo+Math.imul(al1,bl3)|0,mid=mid+Math.imul(al1,bh3)|0,mid=mid+Math.imul(ah1,bl3)|0,hi=hi+Math.imul(ah1,bh3)|0,lo=lo+Math.imul(al0,bl4)|0,mid=mid+Math.imul(al0,bh4)|0,mid=mid+Math.imul(ah0,bl4)|0,hi=hi+Math.imul(ah0,bh4)|0;var w4=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w4>>>26)|0,w4&=67108863,lo=Math.imul(al5,bl0),mid=Math.imul(al5,bh0),mid=mid+Math.imul(ah5,bl0)|0,hi=Math.imul(ah5,bh0),lo=lo+Math.imul(al4,bl1)|0,mid=mid+Math.imul(al4,bh1)|0,mid=mid+Math.imul(ah4,bl1)|0,hi=hi+Math.imul(ah4,bh1)|0,lo=lo+Math.imul(al3,bl2)|0,mid=mid+Math.imul(al3,bh2)|0,mid=mid+Math.imul(ah3,bl2)|0,hi=hi+Math.imul(ah3,bh2)|0,lo=lo+Math.imul(al2,bl3)|0,mid=mid+Math.imul(al2,bh3)|0,mid=mid+Math.imul(ah2,bl3)|0,hi=hi+Math.imul(ah2,bh3)|0,lo=lo+Math.imul(al1,bl4)|0,mid=mid+Math.imul(al1,bh4)|0,mid=mid+Math.imul(ah1,bl4)|0,hi=hi+Math.imul(ah1,bh4)|0,lo=lo+Math.imul(al0,bl5)|0,mid=mid+Math.imul(al0,bh5)|0,mid=mid+Math.imul(ah0,bl5)|0,hi=hi+Math.imul(ah0,bh5)|0;var w5=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w5>>>26)|0,w5&=67108863,lo=Math.imul(al6,bl0),mid=Math.imul(al6,bh0),mid=mid+Math.imul(ah6,bl0)|0,hi=Math.imul(ah6,bh0),lo=lo+Math.imul(al5,bl1)|0,mid=mid+Math.imul(al5,bh1)|0,mid=mid+Math.imul(ah5,bl1)|0,hi=hi+Math.imul(ah5,bh1)|0,lo=lo+Math.imul(al4,bl2)|0,mid=mid+Math.imul(al4,bh2)|0,mid=mid+Math.imul(ah4,bl2)|0,hi=hi+Math.imul(ah4,bh2)|0,lo=lo+Math.imul(al3,bl3)|0,mid=mid+Math.imul(al3,bh3)|0,mid=mid+Math.imul(ah3,bl3)|0,hi=hi+Math.imul(ah3,bh3)|0,lo=lo+Math.imul(al2,bl4)|0,mid=mid+Math.imul(al2,bh4)|0,mid=mid+Math.imul(ah2,bl4)|0,hi=hi+Math.imul(ah2,bh4)|0,lo=lo+Math.imul(al1,bl5)|0,mid=mid+Math.imul(al1,bh5)|0,mid=mid+Math.imul(ah1,bl5)|0,hi=hi+Math.imul(ah1,bh5)|0,lo=lo+Math.imul(al0,bl6)|0,mid=mid+Math.imul(al0,bh6)|0,mid=mid+Math.imul(ah0,bl6)|0,hi=hi+Math.imul(ah0,bh6)|0;var w6=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w6>>>26)|0,w6&=67108863,lo=Math.imul(al7,bl0),mid=Math.imul(al7,bh0),mid=mid+Math.imul(ah7,bl0)|0,hi=Math.imul(ah7,bh0),lo=lo+Math.imul(al6,bl1)|0,mid=mid+Math.imul(al6,bh1)|0,mid=mid+Math.imul(ah6,bl1)|0,hi=hi+Math.imul(ah6,bh1)|0,lo=lo+Math.imul(al5,bl2)|0,mid=mid+Math.imul(al5,bh2)|0,mid=mid+Math.imul(ah5,bl2)|0,hi=hi+Math.imul(ah5,bh2)|0,lo=lo+Math.imul(al4,bl3)|0,mid=mid+Math.imul(al4,bh3)|0,mid=mid+Math.imul(ah4,bl3)|0,hi=hi+Math.imul(ah4,bh3)|0,lo=lo+Math.imul(al3,bl4)|0,mid=mid+Math.imul(al3,bh4)|0,mid=mid+Math.imul(ah3,bl4)|0,hi=hi+Math.imul(ah3,bh4)|0,lo=lo+Math.imul(al2,bl5)|0,mid=mid+Math.imul(al2,bh5)|0,mid=mid+Math.imul(ah2,bl5)|0,hi=hi+Math.imul(ah2,bh5)|0,lo=lo+Math.imul(al1,bl6)|0,mid=mid+Math.imul(al1,bh6)|0,mid=mid+Math.imul(ah1,bl6)|0,hi=hi+Math.imul(ah1,bh6)|0,lo=lo+Math.imul(al0,bl7)|0,mid=mid+Math.imul(al0,bh7)|0,mid=mid+Math.imul(ah0,bl7)|0,hi=hi+Math.imul(ah0,bh7)|0;var w7=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w7>>>26)|0,w7&=67108863,lo=Math.imul(al8,bl0),mid=Math.imul(al8,bh0),mid=mid+Math.imul(ah8,bl0)|0,hi=Math.imul(ah8,bh0),lo=lo+Math.imul(al7,bl1)|0,mid=mid+Math.imul(al7,bh1)|0,mid=mid+Math.imul(ah7,bl1)|0,hi=hi+Math.imul(ah7,bh1)|0,lo=lo+Math.imul(al6,bl2)|0,mid=mid+Math.imul(al6,bh2)|0,mid=mid+Math.imul(ah6,bl2)|0,hi=hi+Math.imul(ah6,bh2)|0,lo=lo+Math.imul(al5,bl3)|0,mid=mid+Math.imul(al5,bh3)|0,mid=mid+Math.imul(ah5,bl3)|0,hi=hi+Math.imul(ah5,bh3)|0,lo=lo+Math.imul(al4,bl4)|0,mid=mid+Math.imul(al4,bh4)|0,mid=mid+Math.imul(ah4,bl4)|0,hi=hi+Math.imul(ah4,bh4)|0,lo=lo+Math.imul(al3,bl5)|0,mid=mid+Math.imul(al3,bh5)|0,mid=mid+Math.imul(ah3,bl5)|0,hi=hi+Math.imul(ah3,bh5)|0,lo=lo+Math.imul(al2,bl6)|0,mid=mid+Math.imul(al2,bh6)|0,mid=mid+Math.imul(ah2,bl6)|0,hi=hi+Math.imul(ah2,bh6)|0,lo=lo+Math.imul(al1,bl7)|0,mid=mid+Math.imul(al1,bh7)|0,mid=mid+Math.imul(ah1,bl7)|0,hi=hi+Math.imul(ah1,bh7)|0,lo=lo+Math.imul(al0,bl8)|0,mid=mid+Math.imul(al0,bh8)|0,mid=mid+Math.imul(ah0,bl8)|0,hi=hi+Math.imul(ah0,bh8)|0;var w8=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w8>>>26)|0,w8&=67108863,lo=Math.imul(al9,bl0),mid=Math.imul(al9,bh0),mid=mid+Math.imul(ah9,bl0)|0,hi=Math.imul(ah9,bh0),lo=lo+Math.imul(al8,bl1)|0,mid=mid+Math.imul(al8,bh1)|0,mid=mid+Math.imul(ah8,bl1)|0,hi=hi+Math.imul(ah8,bh1)|0,lo=lo+Math.imul(al7,bl2)|0,mid=mid+Math.imul(al7,bh2)|0,mid=mid+Math.imul(ah7,bl2)|0,hi=hi+Math.imul(ah7,bh2)|0,lo=lo+Math.imul(al6,bl3)|0,mid=mid+Math.imul(al6,bh3)|0,mid=mid+Math.imul(ah6,bl3)|0,hi=hi+Math.imul(ah6,bh3)|0,lo=lo+Math.imul(al5,bl4)|0,mid=mid+Math.imul(al5,bh4)|0,mid=mid+Math.imul(ah5,bl4)|0,hi=hi+Math.imul(ah5,bh4)|0,lo=lo+Math.imul(al4,bl5)|0,mid=mid+Math.imul(al4,bh5)|0,mid=mid+Math.imul(ah4,bl5)|0,hi=hi+Math.imul(ah4,bh5)|0,lo=lo+Math.imul(al3,bl6)|0,mid=mid+Math.imul(al3,bh6)|0,mid=mid+Math.imul(ah3,bl6)|0,hi=hi+Math.imul(ah3,bh6)|0,lo=lo+Math.imul(al2,bl7)|0,mid=mid+Math.imul(al2,bh7)|0,mid=mid+Math.imul(ah2,bl7)|0,hi=hi+Math.imul(ah2,bh7)|0,lo=lo+Math.imul(al1,bl8)|0,mid=mid+Math.imul(al1,bh8)|0,mid=mid+Math.imul(ah1,bl8)|0,hi=hi+Math.imul(ah1,bh8)|0,lo=lo+Math.imul(al0,bl9)|0,mid=mid+Math.imul(al0,bh9)|0,mid=mid+Math.imul(ah0,bl9)|0,hi=hi+Math.imul(ah0,bh9)|0;var w9=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w9>>>26)|0,w9&=67108863,lo=Math.imul(al9,bl1),mid=Math.imul(al9,bh1),mid=mid+Math.imul(ah9,bl1)|0,hi=Math.imul(ah9,bh1),lo=lo+Math.imul(al8,bl2)|0,mid=mid+Math.imul(al8,bh2)|0,mid=mid+Math.imul(ah8,bl2)|0,hi=hi+Math.imul(ah8,bh2)|0,lo=lo+Math.imul(al7,bl3)|0,mid=mid+Math.imul(al7,bh3)|0,mid=mid+Math.imul(ah7,bl3)|0,hi=hi+Math.imul(ah7,bh3)|0,lo=lo+Math.imul(al6,bl4)|0,mid=mid+Math.imul(al6,bh4)|0,mid=mid+Math.imul(ah6,bl4)|0,hi=hi+Math.imul(ah6,bh4)|0,lo=lo+Math.imul(al5,bl5)|0,mid=mid+Math.imul(al5,bh5)|0,mid=mid+Math.imul(ah5,bl5)|0,hi=hi+Math.imul(ah5,bh5)|0,lo=lo+Math.imul(al4,bl6)|0,mid=mid+Math.imul(al4,bh6)|0,mid=mid+Math.imul(ah4,bl6)|0,hi=hi+Math.imul(ah4,bh6)|0,lo=lo+Math.imul(al3,bl7)|0,mid=mid+Math.imul(al3,bh7)|0,mid=mid+Math.imul(ah3,bl7)|0,hi=hi+Math.imul(ah3,bh7)|0,lo=lo+Math.imul(al2,bl8)|0,mid=mid+Math.imul(al2,bh8)|0,mid=mid+Math.imul(ah2,bl8)|0,hi=hi+Math.imul(ah2,bh8)|0,lo=lo+Math.imul(al1,bl9)|0,mid=mid+Math.imul(al1,bh9)|0,mid=mid+Math.imul(ah1,bl9)|0,hi=hi+Math.imul(ah1,bh9)|0;var w10=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w10>>>26)|0,w10&=67108863,lo=Math.imul(al9,bl2),mid=Math.imul(al9,bh2),mid=mid+Math.imul(ah9,bl2)|0,hi=Math.imul(ah9,bh2),lo=lo+Math.imul(al8,bl3)|0,mid=mid+Math.imul(al8,bh3)|0,mid=mid+Math.imul(ah8,bl3)|0,hi=hi+Math.imul(ah8,bh3)|0,lo=lo+Math.imul(al7,bl4)|0,mid=mid+Math.imul(al7,bh4)|0,mid=mid+Math.imul(ah7,bl4)|0,hi=hi+Math.imul(ah7,bh4)|0,lo=lo+Math.imul(al6,bl5)|0,mid=mid+Math.imul(al6,bh5)|0,mid=mid+Math.imul(ah6,bl5)|0,hi=hi+Math.imul(ah6,bh5)|0,lo=lo+Math.imul(al5,bl6)|0,mid=mid+Math.imul(al5,bh6)|0,mid=mid+Math.imul(ah5,bl6)|0,hi=hi+Math.imul(ah5,bh6)|0,lo=lo+Math.imul(al4,bl7)|0,mid=mid+Math.imul(al4,bh7)|0,mid=mid+Math.imul(ah4,bl7)|0,hi=hi+Math.imul(ah4,bh7)|0,lo=lo+Math.imul(al3,bl8)|0,mid=mid+Math.imul(al3,bh8)|0,mid=mid+Math.imul(ah3,bl8)|0,hi=hi+Math.imul(ah3,bh8)|0,lo=lo+Math.imul(al2,bl9)|0,mid=mid+Math.imul(al2,bh9)|0,mid=mid+Math.imul(ah2,bl9)|0,hi=hi+Math.imul(ah2,bh9)|0;var w11=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w11>>>26)|0,w11&=67108863,lo=Math.imul(al9,bl3),mid=Math.imul(al9,bh3),mid=mid+Math.imul(ah9,bl3)|0,hi=Math.imul(ah9,bh3),lo=lo+Math.imul(al8,bl4)|0,mid=mid+Math.imul(al8,bh4)|0,mid=mid+Math.imul(ah8,bl4)|0,hi=hi+Math.imul(ah8,bh4)|0,lo=lo+Math.imul(al7,bl5)|0,mid=mid+Math.imul(al7,bh5)|0,mid=mid+Math.imul(ah7,bl5)|0,hi=hi+Math.imul(ah7,bh5)|0,lo=lo+Math.imul(al6,bl6)|0,mid=mid+Math.imul(al6,bh6)|0,mid=mid+Math.imul(ah6,bl6)|0,hi=hi+Math.imul(ah6,bh6)|0,lo=lo+Math.imul(al5,bl7)|0,mid=mid+Math.imul(al5,bh7)|0,mid=mid+Math.imul(ah5,bl7)|0,hi=hi+Math.imul(ah5,bh7)|0,lo=lo+Math.imul(al4,bl8)|0,mid=mid+Math.imul(al4,bh8)|0,mid=mid+Math.imul(ah4,bl8)|0,hi=hi+Math.imul(ah4,bh8)|0,lo=lo+Math.imul(al3,bl9)|0,mid=mid+Math.imul(al3,bh9)|0,mid=mid+Math.imul(ah3,bl9)|0,hi=hi+Math.imul(ah3,bh9)|0;var w12=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w12>>>26)|0,w12&=67108863,lo=Math.imul(al9,bl4),mid=Math.imul(al9,bh4),mid=mid+Math.imul(ah9,bl4)|0,hi=Math.imul(ah9,bh4),lo=lo+Math.imul(al8,bl5)|0,mid=mid+Math.imul(al8,bh5)|0,mid=mid+Math.imul(ah8,bl5)|0,hi=hi+Math.imul(ah8,bh5)|0,lo=lo+Math.imul(al7,bl6)|0,mid=mid+Math.imul(al7,bh6)|0,mid=mid+Math.imul(ah7,bl6)|0,hi=hi+Math.imul(ah7,bh6)|0,lo=lo+Math.imul(al6,bl7)|0,mid=mid+Math.imul(al6,bh7)|0,mid=mid+Math.imul(ah6,bl7)|0,hi=hi+Math.imul(ah6,bh7)|0,lo=lo+Math.imul(al5,bl8)|0,mid=mid+Math.imul(al5,bh8)|0,mid=mid+Math.imul(ah5,bl8)|0,hi=hi+Math.imul(ah5,bh8)|0,lo=lo+Math.imul(al4,bl9)|0,mid=mid+Math.imul(al4,bh9)|0,mid=mid+Math.imul(ah4,bl9)|0,hi=hi+Math.imul(ah4,bh9)|0;var w13=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w13>>>26)|0,w13&=67108863,lo=Math.imul(al9,bl5),mid=Math.imul(al9,bh5),mid=mid+Math.imul(ah9,bl5)|0,hi=Math.imul(ah9,bh5),lo=lo+Math.imul(al8,bl6)|0,mid=mid+Math.imul(al8,bh6)|0,mid=mid+Math.imul(ah8,bl6)|0,hi=hi+Math.imul(ah8,bh6)|0,lo=lo+Math.imul(al7,bl7)|0,mid=mid+Math.imul(al7,bh7)|0,mid=mid+Math.imul(ah7,bl7)|0,hi=hi+Math.imul(ah7,bh7)|0,lo=lo+Math.imul(al6,bl8)|0,mid=mid+Math.imul(al6,bh8)|0,mid=mid+Math.imul(ah6,bl8)|0,hi=hi+Math.imul(ah6,bh8)|0,lo=lo+Math.imul(al5,bl9)|0,mid=mid+Math.imul(al5,bh9)|0,mid=mid+Math.imul(ah5,bl9)|0,hi=hi+Math.imul(ah5,bh9)|0;var w14=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w14>>>26)|0,w14&=67108863,lo=Math.imul(al9,bl6),mid=Math.imul(al9,bh6),mid=mid+Math.imul(ah9,bl6)|0,hi=Math.imul(ah9,bh6),lo=lo+Math.imul(al8,bl7)|0,mid=mid+Math.imul(al8,bh7)|0,mid=mid+Math.imul(ah8,bl7)|0,hi=hi+Math.imul(ah8,bh7)|0,lo=lo+Math.imul(al7,bl8)|0,mid=mid+Math.imul(al7,bh8)|0,mid=mid+Math.imul(ah7,bl8)|0,hi=hi+Math.imul(ah7,bh8)|0,lo=lo+Math.imul(al6,bl9)|0,mid=mid+Math.imul(al6,bh9)|0,mid=mid+Math.imul(ah6,bl9)|0,hi=hi+Math.imul(ah6,bh9)|0;var w15=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w15>>>26)|0,w15&=67108863,lo=Math.imul(al9,bl7),mid=Math.imul(al9,bh7),mid=mid+Math.imul(ah9,bl7)|0,hi=Math.imul(ah9,bh7),lo=lo+Math.imul(al8,bl8)|0,mid=mid+Math.imul(al8,bh8)|0,mid=mid+Math.imul(ah8,bl8)|0,hi=hi+Math.imul(ah8,bh8)|0,lo=lo+Math.imul(al7,bl9)|0,mid=mid+Math.imul(al7,bh9)|0,mid=mid+Math.imul(ah7,bl9)|0,hi=hi+Math.imul(ah7,bh9)|0;var w16=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w16>>>26)|0,w16&=67108863,lo=Math.imul(al9,bl8),mid=Math.imul(al9,bh8),mid=mid+Math.imul(ah9,bl8)|0,hi=Math.imul(ah9,bh8),lo=lo+Math.imul(al8,bl9)|0,mid=mid+Math.imul(al8,bh9)|0,mid=mid+Math.imul(ah8,bl9)|0,hi=hi+Math.imul(ah8,bh9)|0;var w17=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w17>>>26)|0,w17&=67108863,lo=Math.imul(al9,bl9),mid=Math.imul(al9,bh9),mid=mid+Math.imul(ah9,bl9)|0,hi=Math.imul(ah9,bh9);var w18=(c+lo|0)+((mid&8191)<<13)|0;return c=(hi+(mid>>>13)|0)+(w18>>>26)|0,w18&=67108863,o[0]=w0,o[1]=w1,o[2]=w2,o[3]=w3,o[4]=w4,o[5]=w5,o[6]=w6,o[7]=w7,o[8]=w8,o[9]=w9,o[10]=w10,o[11]=w11,o[12]=w12,o[13]=w13,o[14]=w14,o[15]=w15,o[16]=w16,o[17]=w17,o[18]=w18,c!==0&&(o[19]=c,out.length++),out};Math.imul||(comb10MulTo=smallMulTo);function bigMulTo(self2,num,out){out.negative=num.negative^self2.negative,out.length=self2.length+num.length;for(var carry=0,hncarry=0,k=0;k>>26)|0,hncarry+=ncarry>>>26,ncarry&=67108863}out.words[k]=rword,carry=ncarry,ncarry=hncarry}return carry!==0\?out.words[k]=carry:out.length--,out.strip()}function jumboMulTo(self2,num,out){var fftm=new FFTM;return fftm.mulp(self2,num,out)}BN.prototype.mulTo=function(num,out){var res,len=this.length+num.length;return this.length===10&&num.length===10\?res=comb10MulTo(this,num,out):len<63\?res=smallMulTo(this,num,out):len<1024\?res=bigMulTo(this,num,out):res=jumboMulTo(this,num,out),res};function FFTM(x,y){this.x=x,this.y=y}FFTM.prototype.makeRBT=function(N){for(var t=new Array(N),l=BN.prototype._countBits(N)-1,i=0;i>=1;return rb},FFTM.prototype.permute=function(rbt,rws,iws,rtws,itws,N){for(var i=0;i>>1)i++;return 1<>>13,rws[2*i+1]=carry&8191,carry=carry>>>13;for(i=2*len;i>=26,carry+=w/67108864|0,carry+=lo>>>26,this.words[i]=lo&67108863}return carry!==0&&(this.words[i]=carry,this.length++),this},BN.prototype.muln=function(num){return this.clone().imuln(num)},BN.prototype.sqr=function(){return this.mul(this)},BN.prototype.isqr=function(){return this.imul(this.clone())},BN.prototype.pow=function(num){var w=toBitArray(num);if(w.length===0)return new BN(1);for(var res=this,i=0;i=0);var r=bits%26,s=(bits-r)/26,carryMask=67108863>>>26-r<<26-r,i;if(r!==0){var carry=0;for(i=0;i>>26-r}carry&&(this.words[i]=carry,this.length++)}if(s!==0){for(i=this.length-1;i>=0;i--)this.words[i+s]=this.words[i];for(i=0;i=0);var h;hint\?h=(hint-hint%26)/26:h=0;var r=bits%26,s=Math.min((bits-r)/26,this.length),mask=67108863^67108863>>>r<s)for(this.length-=s,i=0;i=0&&(carry!==0||i>=h);i--){var word=this.words[i]|0;this.words[i]=carry<<26-r|word>>>r,carry=word&mask}return maskedWords&&carry!==0&&(maskedWords.words[maskedWords.length++]=carry),this.length===0&&(this.words[0]=0,this.length=1),this.strip()},BN.prototype.ishrn=function(bits,hint,extended){return assert(this.negative===0),this.iushrn(bits,hint,extended)},BN.prototype.shln=function(bits){return this.clone().ishln(bits)},BN.prototype.ushln=function(bits){return this.clone().iushln(bits)},BN.prototype.shrn=function(bits){return this.clone().ishrn(bits)},BN.prototype.ushrn=function(bits){return this.clone().iushrn(bits)},BN.prototype.testn=function(bit){assert(typeof bit==\"number\"&&bit>=0);var r=bit%26,s=(bit-r)/26,q=1<=0);var r=bits%26,s=(bits-r)/26;if(assert(this.negative===0,\"imaskn works only with positive numbers\"),this.length<=s)return this;if(r!==0&&s++,this.length=Math.min(s,this.length),r!==0){var mask=67108863^67108863>>>r<=67108864;i++)this.words[i]-=67108864,i===this.length-1\?this.words[i+1]=1:this.words[i+1]++;return this.length=Math.max(this.length,i+1),this},BN.prototype.isubn=function(num){if(assert(typeof num==\"number\"),assert(num<67108864),num<0)return this.iaddn(-num);if(this.negative!==0)return this.negative=0,this.iaddn(num),this.negative=1,this;if(this.words[0]-=num,this.length===1&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var i=0;i>26)-(right/67108864|0),this.words[i+shift]=w&67108863}for(;i>26,this.words[i+shift]=w&67108863;if(carry===0)return this.strip();for(assert(carry===-1),carry=0,i=0;i>26,this.words[i]=w&67108863;return this.negative=1,this.strip()},BN.prototype._wordDiv=function(num,mode){var shift=this.length-num.length,a=this.clone(),b=num,bhi=b.words[b.length-1]|0,bhiBits=this._countBits(bhi);shift=26-bhiBits,shift!==0&&(b=b.ushln(shift),a.iushln(shift),bhi=b.words[b.length-1]|0);var m=a.length-b.length,q;if(mode!==\"mod\"){q=new BN(null),q.length=m+1,q.words=new Array(q.length);for(var i=0;i=0;j--){var qj=(a.words[b.length+j]|0)*67108864+(a.words[b.length+j-1]|0);for(qj=Math.min(qj/bhi|0,67108863),a._ishlnsubmul(b,qj,j);a.negative!==0;)qj--,a.negative=0,a._ishlnsubmul(b,1,j),a.isZero()||(a.negative^=1);q&&(q.words[j]=qj)}return q&&q.strip(),a.strip(),mode!==\"div\"&&shift!==0&&a.iushrn(shift),{div:q||null,mod:a}},BN.prototype.divmod=function(num,mode,positive){if(assert(!num.isZero()),this.isZero())return{div:new BN(0),mod:new BN(0)};var div,mod,res;return this.negative!==0&&num.negative===0\?(res=this.neg().divmod(num,mode),mode!==\"mod\"&&(div=res.div.neg()),mode!==\"div\"&&(mod=res.mod.neg(),positive&&mod.negative!==0&&mod.iadd(num)),{div,mod}):this.negative===0&&num.negative!==0\?(res=this.divmod(num.neg(),mode),mode!==\"mod\"&&(div=res.div.neg()),{div,mod:res.mod}):(this.negative&num.negative)!==0\?(res=this.neg().divmod(num.neg(),mode),mode!==\"div\"&&(mod=res.mod.neg(),positive&&mod.negative!==0&&mod.isub(num)),{div:res.div,mod}):num.length>this.length||this.cmp(num)<0\?{div:new BN(0),mod:this}:num.length===1\?mode===\"div\"\?{div:this.divn(num.words[0]),mod:null}:mode===\"mod\"\?{div:null,mod:new BN(this.modn(num.words[0]))}:{div:this.divn(num.words[0]),mod:new BN(this.modn(num.words[0]))}:this._wordDiv(num,mode)},BN.prototype.div=function(num){return this.divmod(num,\"div\",!1).div},BN.prototype.mod=function(num){return this.divmod(num,\"mod\",!1).mod},BN.prototype.umod=function(num){return this.divmod(num,\"mod\",!0).mod},BN.prototype.divRound=function(num){var dm=this.divmod(num);if(dm.mod.isZero())return dm.div;var mod=dm.div.negative!==0\?dm.mod.isub(num):dm.mod,half=num.ushrn(1),r2=num.andln(1),cmp=mod.cmp(half);return cmp<0||r2===1&&cmp===0\?dm.div:dm.div.negative!==0\?dm.div.isubn(1):dm.div.iaddn(1)},BN.prototype.modn=function(num){assert(num<=67108863);for(var p=(1<<26)%num,acc=0,i=this.length-1;i>=0;i--)acc=(p*acc+(this.words[i]|0))%num;return acc},BN.prototype.idivn=function(num){assert(num<=67108863);for(var carry=0,i=this.length-1;i>=0;i--){var w=(this.words[i]|0)+carry*67108864;this.words[i]=w/num|0,carry=w%num}return this.strip()},BN.prototype.divn=function(num){return this.clone().idivn(num)},BN.prototype.egcd=function(p){assert(p.negative===0),assert(!p.isZero());var x=this,y=p.clone();x.negative!==0\?x=x.umod(p):x=x.clone();for(var A=new BN(1),B=new BN(0),C=new BN(0),D=new BN(1),g=0;x.isEven()&&y.isEven();)x.iushrn(1),y.iushrn(1),++g;for(var yp=y.clone(),xp=x.clone();!x.isZero();){for(var i=0,im=1;(x.words[0]&im)===0&&i<26;++i,im<<=1);if(i>0)for(x.iushrn(i);i-- >0;)(A.isOdd()||B.isOdd())&&(A.iadd(yp),B.isub(xp)),A.iushrn(1),B.iushrn(1);for(var j=0,jm=1;(y.words[0]&jm)===0&&j<26;++j,jm<<=1);if(j>0)for(y.iushrn(j);j-- >0;)(C.isOdd()||D.isOdd())&&(C.iadd(yp),D.isub(xp)),C.iushrn(1),D.iushrn(1);x.cmp(y)>=0\?(x.isub(y),A.isub(C),B.isub(D)):(y.isub(x),C.isub(A),D.isub(B))}return{a:C,b:D,gcd:y.iushln(g)}},BN.prototype._invmp=function(p){assert(p.negative===0),assert(!p.isZero());var a=this,b=p.clone();a.negative!==0\?a=a.umod(p):a=a.clone();for(var x1=new BN(1),x2=new BN(0),delta=b.clone();a.cmpn(1)>0&&b.cmpn(1)>0;){for(var i=0,im=1;(a.words[0]&im)===0&&i<26;++i,im<<=1);if(i>0)for(a.iushrn(i);i-- >0;)x1.isOdd()&&x1.iadd(delta),x1.iushrn(1);for(var j=0,jm=1;(b.words[0]&jm)===0&&j<26;++j,jm<<=1);if(j>0)for(b.iushrn(j);j-- >0;)x2.isOdd()&&x2.iadd(delta),x2.iushrn(1);a.cmp(b)>=0\?(a.isub(b),x1.isub(x2)):(b.isub(a),x2.isub(x1))}var res;return a.cmpn(1)===0\?res=x1:res=x2,res.cmpn(0)<0&&res.iadd(p),res},BN.prototype.gcd=function(num){if(this.isZero())return num.abs();if(num.isZero())return this.abs();var a=this.clone(),b=num.clone();a.negative=0,b.negative=0;for(var shift=0;a.isEven()&&b.isEven();shift++)a.iushrn(1),b.iushrn(1);do{for(;a.isEven();)a.iushrn(1);for(;b.isEven();)b.iushrn(1);var r=a.cmp(b);if(r<0){var t=a;a=b,b=t}else if(r===0||b.cmpn(1)===0)break;a.isub(b)}while(!0);return b.iushln(shift)},BN.prototype.invm=function(num){return this.egcd(num).a.umod(num)},BN.prototype.isEven=function(){return(this.words[0]&1)===0},BN.prototype.isOdd=function(){return(this.words[0]&1)===1},BN.prototype.andln=function(num){return this.words[0]&num},BN.prototype.bincn=function(bit){assert(typeof bit==\"number\");var r=bit%26,s=(bit-r)/26,q=1<>>26,w&=67108863,this.words[i]=w}return carry!==0&&(this.words[i]=carry,this.length++),this},BN.prototype.isZero=function(){return this.length===1&&this.words[0]===0},BN.prototype.cmpn=function(num){var negative=num<0;if(this.negative!==0&&!negative)return-1;if(this.negative===0&&negative)return 1;this.strip();var res;if(this.length>1)res=1;else{negative&&(num=-num),assert(num<=67108863,\"Number is too big\");var w=this.words[0]|0;res=w===num\?0:wnum.length)return 1;if(this.length=0;i--){var a=this.words[i]|0,b=num.words[i]|0;if(a!==b){ab&&(res=1);break}}return res},BN.prototype.gtn=function(num){return this.cmpn(num)===1},BN.prototype.gt=function(num){return this.cmp(num)===1},BN.prototype.gten=function(num){return this.cmpn(num)>=0},BN.prototype.gte=function(num){return this.cmp(num)>=0},BN.prototype.ltn=function(num){return this.cmpn(num)===-1},BN.prototype.lt=function(num){return this.cmp(num)===-1},BN.prototype.lten=function(num){return this.cmpn(num)<=0},BN.prototype.lte=function(num){return this.cmp(num)<=0},BN.prototype.eqn=function(num){return this.cmpn(num)===0},BN.prototype.eq=function(num){return this.cmp(num)===0},BN.red=function(num){return new Red(num)},BN.prototype.toRed=function(ctx){return assert(!this.red,\"Already a number in reduction context\"),assert(this.negative===0,\"red works only with positives\"),ctx.convertTo(this)._forceRed(ctx)},BN.prototype.fromRed=function(){return assert(this.red,\"fromRed works only with numbers in reduction context\"),this.red.convertFrom(this)},BN.prototype._forceRed=function(ctx){return this.red=ctx,this},BN.prototype.forceRed=function(ctx){return assert(!this.red,\"Already a number in reduction context\"),this._forceRed(ctx)},BN.prototype.redAdd=function(num){return assert(this.red,\"redAdd works only with red numbers\"),this.red.add(this,num)},BN.prototype.redIAdd=function(num){return assert(this.red,\"redIAdd works only with red numbers\"),this.red.iadd(this,num)},BN.prototype.redSub=function(num){return assert(this.red,\"redSub works only with red numbers\"),this.red.sub(this,num)},BN.prototype.redISub=function(num){return assert(this.red,\"redISub works only with red numbers\"),this.red.isub(this,num)},BN.prototype.redShl=function(num){return assert(this.red,\"redShl works only with red numbers\"),this.red.shl(this,num)},BN.prototype.redMul=function(num){return assert(this.red,\"redMul works only with red numbers\"),this.red._verify2(this,num),this.red.mul(this,num)},BN.prototype.redIMul=function(num){return assert(this.red,\"redMul works only with red numbers\"),this.red._verify2(this,num),this.red.imul(this,num)},BN.prototype.redSqr=function(){return assert(this.red,\"redSqr works only with red numbers\"),this.red._verify1(this),this.red.sqr(this)},BN.prototype.redISqr=function(){return assert(this.red,\"redISqr works only with red numbers\"),this.red._verify1(this),this.red.isqr(this)},BN.prototype.redSqrt=function(){return assert(this.red,\"redSqrt works only with red numbers\"),this.red._verify1(this),this.red.sqrt(this)},BN.prototype.redInvm=function(){return assert(this.red,\"redInvm works only with red numbers\"),this.red._verify1(this),this.red.invm(this)},BN.prototype.redNeg=function(){return assert(this.red,\"redNeg works only with red numbers\"),this.red._verify1(this),this.red.neg(this)},BN.prototype.redPow=function(num){return assert(this.red&&!num.red,\"redPow(normalNum)\"),this.red._verify1(this),this.red.pow(this,num)};var primes={k256:null,p224:null,p192:null,p25519:null};function MPrime(name,p){this.name=name,this.p=new BN(p,16),this.n=this.p.bitLength(),this.k=new BN(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}MPrime.prototype._tmp=function(){var tmp=new BN(null);return tmp.words=new Array(Math.ceil(this.n/13)),tmp},MPrime.prototype.ireduce=function(num){var r=num,rlen;do this.split(r,this.tmp),r=this.imulK(r),r=r.iadd(this.tmp),rlen=r.bitLength();while(rlen>this.n);var cmp=rlen0\?r.isub(this.p):r.strip!==void 0\?r.strip():r._strip(),r},MPrime.prototype.split=function(input,out){input.iushrn(this.n,0,out)},MPrime.prototype.imulK=function(num){return num.imul(this.k)};function K256(){MPrime.call(this,\"k256\",\"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f\")}inherits(K256,MPrime),K256.prototype.split=function(input,output){for(var mask=4194303,outLen=Math.min(input.length,9),i=0;i>>22,prev=next}prev>>>=22,input.words[i-10]=prev,prev===0&&input.length>10\?input.length-=10:input.length-=9},K256.prototype.imulK=function(num){num.words[num.length]=0,num.words[num.length+1]=0,num.length+=2;for(var lo=0,i=0;i>>=26,num.words[i]=lo,carry=hi}return carry!==0&&(num.words[num.length++]=carry),num},BN._prime=function(name){if(primes[name])return primes[name];var prime2;if(name===\"k256\")prime2=new K256;else if(name===\"p224\")prime2=new P224;else if(name===\"p192\")prime2=new P192;else if(name===\"p25519\")prime2=new P25519;else throw new Error(\"Unknown prime \"+name);return primes[name]=prime2,prime2};function Red(m){if(typeof m==\"string\"){var prime=BN._prime(m);this.m=prime.p,this.prime=prime}else assert(m.gtn(1),\"modulus must be greater than 1\"),this.m=m,this.prime=null}Red.prototype._verify1=function(a){assert(a.negative===0,\"red works only with positives\"),assert(a.red,\"red works only with red numbers\")},Red.prototype._verify2=function(a,b){assert((a.negative|b.negative)===0,\"red works only with positives\"),assert(a.red&&a.red===b.red,\"red works only with red numbers\")},Red.prototype.imod=function(a){return this.prime\?this.prime.ireduce(a)._forceRed(this):a.umod(this.m)._forceRed(this)},Red.prototype.neg=function(a){return a.isZero()\?a.clone():this.m.sub(a)._forceRed(this)},Red.prototype.add=function(a,b){this._verify2(a,b);var res=a.add(b);return res.cmp(this.m)>=0&&res.isub(this.m),res._forceRed(this)},Red.prototype.iadd=function(a,b){this._verify2(a,b);var res=a.iadd(b);return res.cmp(this.m)>=0&&res.isub(this.m),res},Red.prototype.sub=function(a,b){this._verify2(a,b);var res=a.sub(b);return res.cmpn(0)<0&&res.iadd(this.m),res._forceRed(this)},Red.prototype.isub=function(a,b){this._verify2(a,b);var res=a.isub(b);return res.cmpn(0)<0&&res.iadd(this.m),res},Red.prototype.shl=function(a,num){return this._verify1(a),this.imod(a.ushln(num))},Red.prototype.imul=function(a,b){return this._verify2(a,b),this.imod(a.imul(b))},Red.prototype.mul=function(a,b){return this._verify2(a,b),this.imod(a.mul(b))},Red.prototype.isqr=function(a){return this.imul(a,a.clone())},Red.prototype.sqr=function(a){return this.mul(a,a)},Red.prototype.sqrt=function(a){if(a.isZero())return a.clone();var mod3=this.m.andln(3);if(assert(mod3%2===1),mod3===3){var pow=this.m.add(new BN(1)).iushrn(2);return this.pow(a,pow)}for(var q=this.m.subn(1),s=0;!q.isZero()&&q.andln(1)===0;)s++,q.iushrn(1);assert(!q.isZero());var one=new BN(1).toRed(this),nOne=one.redNeg(),lpow=this.m.subn(1).iushrn(1),z=this.m.bitLength();for(z=new BN(2*z*z).toRed(this);this.pow(z,lpow).cmp(nOne)!==0;)z.redIAdd(nOne);for(var c=this.pow(z,q),r=this.pow(a,q.addn(1).iushrn(1)),t=this.pow(a,q),m=s;t.cmp(one)!==0;){for(var tmp=t,i=0;tmp.cmp(one)!==0;i++)tmp=tmp.redSqr();assert(i=0;i--){for(var word=num.words[i],j=start-1;j>=0;j--){var bit=word>>j&1;if(res!==wnd[0]&&(res=this.sqr(res)),bit===0&¤t===0){currentLen=0;continue}current<<=1,current|=bit,currentLen++,!(currentLen!==windowSize&&(i!==0||j!==0))&&(res=this.mul(res,wnd[current]),currentLen=0,current=0)}start=26}return res},Red.prototype.convertTo=function(num){var r=num.umod(this.m);return r===num\?r.clone():r},Red.prototype.convertFrom=function(num){var res=num.clone();return res.red=null,res},BN.mont=function(num){return new Mont(num)};function Mont(m){Red.call(this,m),this.shift=this.m.bitLength(),this.shift%26!==0&&(this.shift+=26-this.shift%26),this.r=new BN(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}inherits(Mont,Red),Mont.prototype.convertTo=function(num){return this.imod(num.ushln(this.shift))},Mont.prototype.convertFrom=function(num){var r=this.imod(num.mul(this.rinv));return r.red=null,r},Mont.prototype.imul=function(a,b){if(a.isZero()||b.isZero())return a.words[0]=0,a.length=1,a;var t=a.imul(b),c=t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),u=t.isub(c).iushrn(this.shift),res=u;return u.cmp(this.m)>=0\?res=u.isub(this.m):u.cmpn(0)<0&&(res=u.iadd(this.m)),res._forceRed(this)},Mont.prototype.mul=function(a,b){if(a.isZero()||b.isZero())return new BN(0)._forceRed(this);var t=a.mul(b),c=t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),u=t.isub(c).iushrn(this.shift),res=u;return u.cmp(this.m)>=0\?res=u.isub(this.m):u.cmpn(0)<0&&(res=u.iadd(this.m)),res._forceRed(this)},Mont.prototype.invm=function(a){var res=this.imod(a._invmp(this.m).mul(this.r2));return res._forceRed(this)}})(typeof module>\"u\"||module,exports)}}),require_bn2=__commonJS({\"node_modules/miller-rabin/node_modules/bn.js/lib/bn.js\"(exports,module){(function(module2,exports2){function assert(val,msg){if(!val)throw new Error(msg||\"Assertion failed\")}function inherits(ctor,superCtor){ctor.super_=superCtor;var TempCtor=function(){};TempCtor.prototype=superCtor.prototype,ctor.prototype=new TempCtor,ctor.prototype.constructor=ctor}function BN(number,base,endian){if(BN.isBN(number))return number;this.negative=0,this.words=null,this.length=0,this.red=null,number!==null&&((base===\"le\"||base===\"be\")&&(endian=base,base=10),this._init(number||0,base||10,endian||\"be\"))}typeof module2==\"object\"\?module2.exports=BN:exports2.BN=BN,BN.BN=BN,BN.wordSize=26;var Buffer2=Buffer;BN.isBN=function(num){return num instanceof BN\?!0:num!==null&&typeof num==\"object\"&&num.constructor.wordSize===BN.wordSize&&Array.isArray(num.words)},BN.max=function(left,right){return left.cmp(right)>0\?left:right},BN.min=function(left,right){return left.cmp(right)<0\?left:right},BN.prototype._init=function(number,base,endian){if(typeof number==\"number\")return this._initNumber(number,base,endian);if(typeof number==\"object\")return this._initArray(number,base,endian);base===\"hex\"&&(base=16),assert(base===(base|0)&&base>=2&&base<=36),number=number.toString().replace(/\\s+/g,\"\");var start=0;number[0]===\"-\"&&(start++,this.negative=1),start=0;i-=3)w=number[i]|number[i-1]<<8|number[i-2]<<16,this.words[j]|=w<>>26-off&67108863,off+=24,off>=26&&(off-=26,j++);else if(endian===\"le\")for(i=0,j=0;i>>26-off&67108863,off+=24,off>=26&&(off-=26,j++);return this.strip()};function parseHex4Bits(string,index){var c=string.charCodeAt(index);return c>=65&&c<=70\?c-55:c>=97&&c<=102\?c-87:c-48&15}function parseHexByte(string,lowerBound,index){var r=parseHex4Bits(string,index);return index-1>=lowerBound&&(r|=parseHex4Bits(string,index-1)<<4),r}BN.prototype._parseHex=function(number,start,endian){this.length=Math.ceil((number.length-start)/6),this.words=new Array(this.length);for(var i=0;i=start;i-=2)w=parseHexByte(number,start,i)<=18\?(off-=18,j+=1,this.words[j]|=w>>>26):off+=8;else{var parseLength=number.length-start;for(i=parseLength%2===0\?start+1:start;i=18\?(off-=18,j+=1,this.words[j]|=w>>>26):off+=8}this.strip()};function parseBase(str,start,end,mul){for(var r=0,len=Math.min(str.length,end),i=start;i=49\?r+=c-49+10:c>=17\?r+=c-17+10:r+=c}return r}BN.prototype._parseBase=function(number,base,start){this.words=[0],this.length=1;for(var limbLen=0,limbPow=1;limbPow<=67108863;limbPow*=base)limbLen++;limbLen--,limbPow=limbPow/base|0;for(var total=number.length-start,mod=total%limbLen,end=Math.min(total,total-mod)+start,word=0,i=start;i1&&this.words[this.length-1]===0;)this.length--;return this._normSign()},BN.prototype._normSign=function(){return this.length===1&&this.words[0]===0&&(this.negative=0),this},BN.prototype.inspect=function(){return(this.red\?\"\"};var zeros=[\"\",\"0\",\"00\",\"000\",\"0000\",\"00000\",\"000000\",\"0000000\",\"00000000\",\"000000000\",\"0000000000\",\"00000000000\",\"000000000000\",\"0000000000000\",\"00000000000000\",\"000000000000000\",\"0000000000000000\",\"00000000000000000\",\"000000000000000000\",\"0000000000000000000\",\"00000000000000000000\",\"000000000000000000000\",\"0000000000000000000000\",\"00000000000000000000000\",\"000000000000000000000000\",\"0000000000000000000000000\"],groupSizes=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],groupBases=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64000000,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,24300000,28629151,33554432,39135393,45435424,52521875,60466176];BN.prototype.toString=function(base,padding){base=base||10,padding=padding|0||1;var out;if(base===16||base===\"hex\"){out=\"\";for(var off=0,carry=0,i=0;i>>24-off&16777215,carry!==0||i!==this.length-1\?out=zeros[6-word.length]+word+out:out=word+out,off+=2,off>=26&&(off-=26,i--)}for(carry!==0&&(out=carry.toString(16)+out);out.length%padding!==0;)out=\"0\"+out;return this.negative!==0&&(out=\"-\"+out),out}if(base===(base|0)&&base>=2&&base<=36){var groupSize=groupSizes[base],groupBase=groupBases[base];out=\"\";var c=this.clone();for(c.negative=0;!c.isZero();){var r=c.modn(groupBase).toString(base);c=c.idivn(groupBase),c.isZero()\?out=r+out:out=zeros[groupSize-r.length]+r+out}for(this.isZero()&&(out=\"0\"+out);out.length%padding!==0;)out=\"0\"+out;return this.negative!==0&&(out=\"-\"+out),out}assert(!1,\"Base should be between 2 and 36\")},BN.prototype.toNumber=function(){var ret=this.words[0];return this.length===2\?ret+=this.words[1]*67108864:this.length===3&&this.words[2]===1\?ret+=4503599627370496+this.words[1]*67108864:this.length>2&&assert(!1,\"Number can only safely store up to 53 bits\"),this.negative!==0\?-ret:ret},BN.prototype.toJSON=function(){return this.toString(16)},BN.prototype.toBuffer=function(endian,length){return assert(typeof Buffer2<\"u\"),this.toArrayLike(Buffer2,endian,length)},BN.prototype.toArray=function(endian,length){return this.toArrayLike(Array,endian,length)},BN.prototype.toArrayLike=function(ArrayType,endian,length){var byteLength=this.byteLength(),reqLength=length||Math.max(1,byteLength);assert(byteLength<=reqLength,\"byte array longer than desired length\"),assert(reqLength>0,\"Requested array length <= 0\"),this.strip();var littleEndian=endian===\"le\",res=new ArrayType(reqLength),b,i,q=this.clone();if(littleEndian){for(i=0;!q.isZero();i++)b=q.andln(255),q.iushrn(8),res[i]=b;for(;i=4096&&(r+=13,t>>>=13),t>=64&&(r+=7,t>>>=7),t>=8&&(r+=4,t>>>=4),t>=2&&(r+=2,t>>>=2),r+t},BN.prototype._zeroBits=function(w){if(w===0)return 26;var t=w,r=0;return(t&8191)===0&&(r+=13,t>>>=13),(t&127)===0&&(r+=7,t>>>=7),(t&15)===0&&(r+=4,t>>>=4),(t&3)===0&&(r+=2,t>>>=2),(t&1)===0&&r++,r},BN.prototype.bitLength=function(){var w=this.words[this.length-1],hi=this._countBits(w);return(this.length-1)*26+hi};function toBitArray(num){for(var w=new Array(num.bitLength()),bit=0;bit>>wbit}return w}BN.prototype.zeroBits=function(){if(this.isZero())return 0;for(var r=0,i=0;inum.length\?this.clone().ior(num):num.clone().ior(this)},BN.prototype.uor=function(num){return this.length>num.length\?this.clone().iuor(num):num.clone().iuor(this)},BN.prototype.iuand=function(num){var b;this.length>num.length\?b=num:b=this;for(var i=0;inum.length\?this.clone().iand(num):num.clone().iand(this)},BN.prototype.uand=function(num){return this.length>num.length\?this.clone().iuand(num):num.clone().iuand(this)},BN.prototype.iuxor=function(num){var a,b;this.length>num.length\?(a=this,b=num):(a=num,b=this);for(var i=0;inum.length\?this.clone().ixor(num):num.clone().ixor(this)},BN.prototype.uxor=function(num){return this.length>num.length\?this.clone().iuxor(num):num.clone().iuxor(this)},BN.prototype.inotn=function(width){assert(typeof width==\"number\"&&width>=0);var bytesNeeded=Math.ceil(width/26)|0,bitsLeft=width%26;this._expand(bytesNeeded),bitsLeft>0&&bytesNeeded--;for(var i=0;i0&&(this.words[i]=~this.words[i]&67108863>>26-bitsLeft),this.strip()},BN.prototype.notn=function(width){return this.clone().inotn(width)},BN.prototype.setn=function(bit,val){assert(typeof bit==\"number\"&&bit>=0);var off=bit/26|0,wbit=bit%26;return this._expand(off+1),val\?this.words[off]=this.words[off]|1<num.length\?(a=this,b=num):(a=num,b=this);for(var carry=0,i=0;i>>26;for(;carry!==0&&i>>26;if(this.length=a.length,carry!==0)this.words[this.length]=carry,this.length++;else if(a!==this)for(;inum.length\?this.clone().iadd(num):num.clone().iadd(this)},BN.prototype.isub=function(num){if(num.negative!==0){num.negative=0;var r=this.iadd(num);return num.negative=1,r._normSign()}else if(this.negative!==0)return this.negative=0,this.iadd(num),this.negative=1,this._normSign();var cmp=this.cmp(num);if(cmp===0)return this.negative=0,this.length=1,this.words[0]=0,this;var a,b;cmp>0\?(a=this,b=num):(a=num,b=this);for(var carry=0,i=0;i>26,this.words[i]=r&67108863;for(;carry!==0&&i>26,this.words[i]=r&67108863;if(carry===0&&i>>26,rword=carry&67108863,maxJ=Math.min(k,num.length-1),j=Math.max(0,k-self2.length+1);j<=maxJ;j++){var i=k-j|0;a=self2.words[i]|0,b=num.words[j]|0,r=a*b+rword,ncarry+=r/67108864|0,rword=r&67108863}out.words[k]=rword|0,carry=ncarry|0}return carry!==0\?out.words[k]=carry|0:out.length--,out.strip()}var comb10MulTo=function(self2,num,out){var a=self2.words,b=num.words,o=out.words,c=0,lo,mid,hi,a0=a[0]|0,al0=a0&8191,ah0=a0>>>13,a1=a[1]|0,al1=a1&8191,ah1=a1>>>13,a2=a[2]|0,al2=a2&8191,ah2=a2>>>13,a3=a[3]|0,al3=a3&8191,ah3=a3>>>13,a4=a[4]|0,al4=a4&8191,ah4=a4>>>13,a5=a[5]|0,al5=a5&8191,ah5=a5>>>13,a6=a[6]|0,al6=a6&8191,ah6=a6>>>13,a7=a[7]|0,al7=a7&8191,ah7=a7>>>13,a8=a[8]|0,al8=a8&8191,ah8=a8>>>13,a9=a[9]|0,al9=a9&8191,ah9=a9>>>13,b0=b[0]|0,bl0=b0&8191,bh0=b0>>>13,b1=b[1]|0,bl1=b1&8191,bh1=b1>>>13,b2=b[2]|0,bl2=b2&8191,bh2=b2>>>13,b3=b[3]|0,bl3=b3&8191,bh3=b3>>>13,b4=b[4]|0,bl4=b4&8191,bh4=b4>>>13,b5=b[5]|0,bl5=b5&8191,bh5=b5>>>13,b6=b[6]|0,bl6=b6&8191,bh6=b6>>>13,b7=b[7]|0,bl7=b7&8191,bh7=b7>>>13,b8=b[8]|0,bl8=b8&8191,bh8=b8>>>13,b9=b[9]|0,bl9=b9&8191,bh9=b9>>>13;out.negative=self2.negative^num.negative,out.length=19,lo=Math.imul(al0,bl0),mid=Math.imul(al0,bh0),mid=mid+Math.imul(ah0,bl0)|0,hi=Math.imul(ah0,bh0);var w0=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w0>>>26)|0,w0&=67108863,lo=Math.imul(al1,bl0),mid=Math.imul(al1,bh0),mid=mid+Math.imul(ah1,bl0)|0,hi=Math.imul(ah1,bh0),lo=lo+Math.imul(al0,bl1)|0,mid=mid+Math.imul(al0,bh1)|0,mid=mid+Math.imul(ah0,bl1)|0,hi=hi+Math.imul(ah0,bh1)|0;var w1=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w1>>>26)|0,w1&=67108863,lo=Math.imul(al2,bl0),mid=Math.imul(al2,bh0),mid=mid+Math.imul(ah2,bl0)|0,hi=Math.imul(ah2,bh0),lo=lo+Math.imul(al1,bl1)|0,mid=mid+Math.imul(al1,bh1)|0,mid=mid+Math.imul(ah1,bl1)|0,hi=hi+Math.imul(ah1,bh1)|0,lo=lo+Math.imul(al0,bl2)|0,mid=mid+Math.imul(al0,bh2)|0,mid=mid+Math.imul(ah0,bl2)|0,hi=hi+Math.imul(ah0,bh2)|0;var w2=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w2>>>26)|0,w2&=67108863,lo=Math.imul(al3,bl0),mid=Math.imul(al3,bh0),mid=mid+Math.imul(ah3,bl0)|0,hi=Math.imul(ah3,bh0),lo=lo+Math.imul(al2,bl1)|0,mid=mid+Math.imul(al2,bh1)|0,mid=mid+Math.imul(ah2,bl1)|0,hi=hi+Math.imul(ah2,bh1)|0,lo=lo+Math.imul(al1,bl2)|0,mid=mid+Math.imul(al1,bh2)|0,mid=mid+Math.imul(ah1,bl2)|0,hi=hi+Math.imul(ah1,bh2)|0,lo=lo+Math.imul(al0,bl3)|0,mid=mid+Math.imul(al0,bh3)|0,mid=mid+Math.imul(ah0,bl3)|0,hi=hi+Math.imul(ah0,bh3)|0;var w3=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w3>>>26)|0,w3&=67108863,lo=Math.imul(al4,bl0),mid=Math.imul(al4,bh0),mid=mid+Math.imul(ah4,bl0)|0,hi=Math.imul(ah4,bh0),lo=lo+Math.imul(al3,bl1)|0,mid=mid+Math.imul(al3,bh1)|0,mid=mid+Math.imul(ah3,bl1)|0,hi=hi+Math.imul(ah3,bh1)|0,lo=lo+Math.imul(al2,bl2)|0,mid=mid+Math.imul(al2,bh2)|0,mid=mid+Math.imul(ah2,bl2)|0,hi=hi+Math.imul(ah2,bh2)|0,lo=lo+Math.imul(al1,bl3)|0,mid=mid+Math.imul(al1,bh3)|0,mid=mid+Math.imul(ah1,bl3)|0,hi=hi+Math.imul(ah1,bh3)|0,lo=lo+Math.imul(al0,bl4)|0,mid=mid+Math.imul(al0,bh4)|0,mid=mid+Math.imul(ah0,bl4)|0,hi=hi+Math.imul(ah0,bh4)|0;var w4=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w4>>>26)|0,w4&=67108863,lo=Math.imul(al5,bl0),mid=Math.imul(al5,bh0),mid=mid+Math.imul(ah5,bl0)|0,hi=Math.imul(ah5,bh0),lo=lo+Math.imul(al4,bl1)|0,mid=mid+Math.imul(al4,bh1)|0,mid=mid+Math.imul(ah4,bl1)|0,hi=hi+Math.imul(ah4,bh1)|0,lo=lo+Math.imul(al3,bl2)|0,mid=mid+Math.imul(al3,bh2)|0,mid=mid+Math.imul(ah3,bl2)|0,hi=hi+Math.imul(ah3,bh2)|0,lo=lo+Math.imul(al2,bl3)|0,mid=mid+Math.imul(al2,bh3)|0,mid=mid+Math.imul(ah2,bl3)|0,hi=hi+Math.imul(ah2,bh3)|0,lo=lo+Math.imul(al1,bl4)|0,mid=mid+Math.imul(al1,bh4)|0,mid=mid+Math.imul(ah1,bl4)|0,hi=hi+Math.imul(ah1,bh4)|0,lo=lo+Math.imul(al0,bl5)|0,mid=mid+Math.imul(al0,bh5)|0,mid=mid+Math.imul(ah0,bl5)|0,hi=hi+Math.imul(ah0,bh5)|0;var w5=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w5>>>26)|0,w5&=67108863,lo=Math.imul(al6,bl0),mid=Math.imul(al6,bh0),mid=mid+Math.imul(ah6,bl0)|0,hi=Math.imul(ah6,bh0),lo=lo+Math.imul(al5,bl1)|0,mid=mid+Math.imul(al5,bh1)|0,mid=mid+Math.imul(ah5,bl1)|0,hi=hi+Math.imul(ah5,bh1)|0,lo=lo+Math.imul(al4,bl2)|0,mid=mid+Math.imul(al4,bh2)|0,mid=mid+Math.imul(ah4,bl2)|0,hi=hi+Math.imul(ah4,bh2)|0,lo=lo+Math.imul(al3,bl3)|0,mid=mid+Math.imul(al3,bh3)|0,mid=mid+Math.imul(ah3,bl3)|0,hi=hi+Math.imul(ah3,bh3)|0,lo=lo+Math.imul(al2,bl4)|0,mid=mid+Math.imul(al2,bh4)|0,mid=mid+Math.imul(ah2,bl4)|0,hi=hi+Math.imul(ah2,bh4)|0,lo=lo+Math.imul(al1,bl5)|0,mid=mid+Math.imul(al1,bh5)|0,mid=mid+Math.imul(ah1,bl5)|0,hi=hi+Math.imul(ah1,bh5)|0,lo=lo+Math.imul(al0,bl6)|0,mid=mid+Math.imul(al0,bh6)|0,mid=mid+Math.imul(ah0,bl6)|0,hi=hi+Math.imul(ah0,bh6)|0;var w6=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w6>>>26)|0,w6&=67108863,lo=Math.imul(al7,bl0),mid=Math.imul(al7,bh0),mid=mid+Math.imul(ah7,bl0)|0,hi=Math.imul(ah7,bh0),lo=lo+Math.imul(al6,bl1)|0,mid=mid+Math.imul(al6,bh1)|0,mid=mid+Math.imul(ah6,bl1)|0,hi=hi+Math.imul(ah6,bh1)|0,lo=lo+Math.imul(al5,bl2)|0,mid=mid+Math.imul(al5,bh2)|0,mid=mid+Math.imul(ah5,bl2)|0,hi=hi+Math.imul(ah5,bh2)|0,lo=lo+Math.imul(al4,bl3)|0,mid=mid+Math.imul(al4,bh3)|0,mid=mid+Math.imul(ah4,bl3)|0,hi=hi+Math.imul(ah4,bh3)|0,lo=lo+Math.imul(al3,bl4)|0,mid=mid+Math.imul(al3,bh4)|0,mid=mid+Math.imul(ah3,bl4)|0,hi=hi+Math.imul(ah3,bh4)|0,lo=lo+Math.imul(al2,bl5)|0,mid=mid+Math.imul(al2,bh5)|0,mid=mid+Math.imul(ah2,bl5)|0,hi=hi+Math.imul(ah2,bh5)|0,lo=lo+Math.imul(al1,bl6)|0,mid=mid+Math.imul(al1,bh6)|0,mid=mid+Math.imul(ah1,bl6)|0,hi=hi+Math.imul(ah1,bh6)|0,lo=lo+Math.imul(al0,bl7)|0,mid=mid+Math.imul(al0,bh7)|0,mid=mid+Math.imul(ah0,bl7)|0,hi=hi+Math.imul(ah0,bh7)|0;var w7=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w7>>>26)|0,w7&=67108863,lo=Math.imul(al8,bl0),mid=Math.imul(al8,bh0),mid=mid+Math.imul(ah8,bl0)|0,hi=Math.imul(ah8,bh0),lo=lo+Math.imul(al7,bl1)|0,mid=mid+Math.imul(al7,bh1)|0,mid=mid+Math.imul(ah7,bl1)|0,hi=hi+Math.imul(ah7,bh1)|0,lo=lo+Math.imul(al6,bl2)|0,mid=mid+Math.imul(al6,bh2)|0,mid=mid+Math.imul(ah6,bl2)|0,hi=hi+Math.imul(ah6,bh2)|0,lo=lo+Math.imul(al5,bl3)|0,mid=mid+Math.imul(al5,bh3)|0,mid=mid+Math.imul(ah5,bl3)|0,hi=hi+Math.imul(ah5,bh3)|0,lo=lo+Math.imul(al4,bl4)|0,mid=mid+Math.imul(al4,bh4)|0,mid=mid+Math.imul(ah4,bl4)|0,hi=hi+Math.imul(ah4,bh4)|0,lo=lo+Math.imul(al3,bl5)|0,mid=mid+Math.imul(al3,bh5)|0,mid=mid+Math.imul(ah3,bl5)|0,hi=hi+Math.imul(ah3,bh5)|0,lo=lo+Math.imul(al2,bl6)|0,mid=mid+Math.imul(al2,bh6)|0,mid=mid+Math.imul(ah2,bl6)|0,hi=hi+Math.imul(ah2,bh6)|0,lo=lo+Math.imul(al1,bl7)|0,mid=mid+Math.imul(al1,bh7)|0,mid=mid+Math.imul(ah1,bl7)|0,hi=hi+Math.imul(ah1,bh7)|0,lo=lo+Math.imul(al0,bl8)|0,mid=mid+Math.imul(al0,bh8)|0,mid=mid+Math.imul(ah0,bl8)|0,hi=hi+Math.imul(ah0,bh8)|0;var w8=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w8>>>26)|0,w8&=67108863,lo=Math.imul(al9,bl0),mid=Math.imul(al9,bh0),mid=mid+Math.imul(ah9,bl0)|0,hi=Math.imul(ah9,bh0),lo=lo+Math.imul(al8,bl1)|0,mid=mid+Math.imul(al8,bh1)|0,mid=mid+Math.imul(ah8,bl1)|0,hi=hi+Math.imul(ah8,bh1)|0,lo=lo+Math.imul(al7,bl2)|0,mid=mid+Math.imul(al7,bh2)|0,mid=mid+Math.imul(ah7,bl2)|0,hi=hi+Math.imul(ah7,bh2)|0,lo=lo+Math.imul(al6,bl3)|0,mid=mid+Math.imul(al6,bh3)|0,mid=mid+Math.imul(ah6,bl3)|0,hi=hi+Math.imul(ah6,bh3)|0,lo=lo+Math.imul(al5,bl4)|0,mid=mid+Math.imul(al5,bh4)|0,mid=mid+Math.imul(ah5,bl4)|0,hi=hi+Math.imul(ah5,bh4)|0,lo=lo+Math.imul(al4,bl5)|0,mid=mid+Math.imul(al4,bh5)|0,mid=mid+Math.imul(ah4,bl5)|0,hi=hi+Math.imul(ah4,bh5)|0,lo=lo+Math.imul(al3,bl6)|0,mid=mid+Math.imul(al3,bh6)|0,mid=mid+Math.imul(ah3,bl6)|0,hi=hi+Math.imul(ah3,bh6)|0,lo=lo+Math.imul(al2,bl7)|0,mid=mid+Math.imul(al2,bh7)|0,mid=mid+Math.imul(ah2,bl7)|0,hi=hi+Math.imul(ah2,bh7)|0,lo=lo+Math.imul(al1,bl8)|0,mid=mid+Math.imul(al1,bh8)|0,mid=mid+Math.imul(ah1,bl8)|0,hi=hi+Math.imul(ah1,bh8)|0,lo=lo+Math.imul(al0,bl9)|0,mid=mid+Math.imul(al0,bh9)|0,mid=mid+Math.imul(ah0,bl9)|0,hi=hi+Math.imul(ah0,bh9)|0;var w9=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w9>>>26)|0,w9&=67108863,lo=Math.imul(al9,bl1),mid=Math.imul(al9,bh1),mid=mid+Math.imul(ah9,bl1)|0,hi=Math.imul(ah9,bh1),lo=lo+Math.imul(al8,bl2)|0,mid=mid+Math.imul(al8,bh2)|0,mid=mid+Math.imul(ah8,bl2)|0,hi=hi+Math.imul(ah8,bh2)|0,lo=lo+Math.imul(al7,bl3)|0,mid=mid+Math.imul(al7,bh3)|0,mid=mid+Math.imul(ah7,bl3)|0,hi=hi+Math.imul(ah7,bh3)|0,lo=lo+Math.imul(al6,bl4)|0,mid=mid+Math.imul(al6,bh4)|0,mid=mid+Math.imul(ah6,bl4)|0,hi=hi+Math.imul(ah6,bh4)|0,lo=lo+Math.imul(al5,bl5)|0,mid=mid+Math.imul(al5,bh5)|0,mid=mid+Math.imul(ah5,bl5)|0,hi=hi+Math.imul(ah5,bh5)|0,lo=lo+Math.imul(al4,bl6)|0,mid=mid+Math.imul(al4,bh6)|0,mid=mid+Math.imul(ah4,bl6)|0,hi=hi+Math.imul(ah4,bh6)|0,lo=lo+Math.imul(al3,bl7)|0,mid=mid+Math.imul(al3,bh7)|0,mid=mid+Math.imul(ah3,bl7)|0,hi=hi+Math.imul(ah3,bh7)|0,lo=lo+Math.imul(al2,bl8)|0,mid=mid+Math.imul(al2,bh8)|0,mid=mid+Math.imul(ah2,bl8)|0,hi=hi+Math.imul(ah2,bh8)|0,lo=lo+Math.imul(al1,bl9)|0,mid=mid+Math.imul(al1,bh9)|0,mid=mid+Math.imul(ah1,bl9)|0,hi=hi+Math.imul(ah1,bh9)|0;var w10=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w10>>>26)|0,w10&=67108863,lo=Math.imul(al9,bl2),mid=Math.imul(al9,bh2),mid=mid+Math.imul(ah9,bl2)|0,hi=Math.imul(ah9,bh2),lo=lo+Math.imul(al8,bl3)|0,mid=mid+Math.imul(al8,bh3)|0,mid=mid+Math.imul(ah8,bl3)|0,hi=hi+Math.imul(ah8,bh3)|0,lo=lo+Math.imul(al7,bl4)|0,mid=mid+Math.imul(al7,bh4)|0,mid=mid+Math.imul(ah7,bl4)|0,hi=hi+Math.imul(ah7,bh4)|0,lo=lo+Math.imul(al6,bl5)|0,mid=mid+Math.imul(al6,bh5)|0,mid=mid+Math.imul(ah6,bl5)|0,hi=hi+Math.imul(ah6,bh5)|0,lo=lo+Math.imul(al5,bl6)|0,mid=mid+Math.imul(al5,bh6)|0,mid=mid+Math.imul(ah5,bl6)|0,hi=hi+Math.imul(ah5,bh6)|0,lo=lo+Math.imul(al4,bl7)|0,mid=mid+Math.imul(al4,bh7)|0,mid=mid+Math.imul(ah4,bl7)|0,hi=hi+Math.imul(ah4,bh7)|0,lo=lo+Math.imul(al3,bl8)|0,mid=mid+Math.imul(al3,bh8)|0,mid=mid+Math.imul(ah3,bl8)|0,hi=hi+Math.imul(ah3,bh8)|0,lo=lo+Math.imul(al2,bl9)|0,mid=mid+Math.imul(al2,bh9)|0,mid=mid+Math.imul(ah2,bl9)|0,hi=hi+Math.imul(ah2,bh9)|0;var w11=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w11>>>26)|0,w11&=67108863,lo=Math.imul(al9,bl3),mid=Math.imul(al9,bh3),mid=mid+Math.imul(ah9,bl3)|0,hi=Math.imul(ah9,bh3),lo=lo+Math.imul(al8,bl4)|0,mid=mid+Math.imul(al8,bh4)|0,mid=mid+Math.imul(ah8,bl4)|0,hi=hi+Math.imul(ah8,bh4)|0,lo=lo+Math.imul(al7,bl5)|0,mid=mid+Math.imul(al7,bh5)|0,mid=mid+Math.imul(ah7,bl5)|0,hi=hi+Math.imul(ah7,bh5)|0,lo=lo+Math.imul(al6,bl6)|0,mid=mid+Math.imul(al6,bh6)|0,mid=mid+Math.imul(ah6,bl6)|0,hi=hi+Math.imul(ah6,bh6)|0,lo=lo+Math.imul(al5,bl7)|0,mid=mid+Math.imul(al5,bh7)|0,mid=mid+Math.imul(ah5,bl7)|0,hi=hi+Math.imul(ah5,bh7)|0,lo=lo+Math.imul(al4,bl8)|0,mid=mid+Math.imul(al4,bh8)|0,mid=mid+Math.imul(ah4,bl8)|0,hi=hi+Math.imul(ah4,bh8)|0,lo=lo+Math.imul(al3,bl9)|0,mid=mid+Math.imul(al3,bh9)|0,mid=mid+Math.imul(ah3,bl9)|0,hi=hi+Math.imul(ah3,bh9)|0;var w12=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w12>>>26)|0,w12&=67108863,lo=Math.imul(al9,bl4),mid=Math.imul(al9,bh4),mid=mid+Math.imul(ah9,bl4)|0,hi=Math.imul(ah9,bh4),lo=lo+Math.imul(al8,bl5)|0,mid=mid+Math.imul(al8,bh5)|0,mid=mid+Math.imul(ah8,bl5)|0,hi=hi+Math.imul(ah8,bh5)|0,lo=lo+Math.imul(al7,bl6)|0,mid=mid+Math.imul(al7,bh6)|0,mid=mid+Math.imul(ah7,bl6)|0,hi=hi+Math.imul(ah7,bh6)|0,lo=lo+Math.imul(al6,bl7)|0,mid=mid+Math.imul(al6,bh7)|0,mid=mid+Math.imul(ah6,bl7)|0,hi=hi+Math.imul(ah6,bh7)|0,lo=lo+Math.imul(al5,bl8)|0,mid=mid+Math.imul(al5,bh8)|0,mid=mid+Math.imul(ah5,bl8)|0,hi=hi+Math.imul(ah5,bh8)|0,lo=lo+Math.imul(al4,bl9)|0,mid=mid+Math.imul(al4,bh9)|0,mid=mid+Math.imul(ah4,bl9)|0,hi=hi+Math.imul(ah4,bh9)|0;var w13=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w13>>>26)|0,w13&=67108863,lo=Math.imul(al9,bl5),mid=Math.imul(al9,bh5),mid=mid+Math.imul(ah9,bl5)|0,hi=Math.imul(ah9,bh5),lo=lo+Math.imul(al8,bl6)|0,mid=mid+Math.imul(al8,bh6)|0,mid=mid+Math.imul(ah8,bl6)|0,hi=hi+Math.imul(ah8,bh6)|0,lo=lo+Math.imul(al7,bl7)|0,mid=mid+Math.imul(al7,bh7)|0,mid=mid+Math.imul(ah7,bl7)|0,hi=hi+Math.imul(ah7,bh7)|0,lo=lo+Math.imul(al6,bl8)|0,mid=mid+Math.imul(al6,bh8)|0,mid=mid+Math.imul(ah6,bl8)|0,hi=hi+Math.imul(ah6,bh8)|0,lo=lo+Math.imul(al5,bl9)|0,mid=mid+Math.imul(al5,bh9)|0,mid=mid+Math.imul(ah5,bl9)|0,hi=hi+Math.imul(ah5,bh9)|0;var w14=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w14>>>26)|0,w14&=67108863,lo=Math.imul(al9,bl6),mid=Math.imul(al9,bh6),mid=mid+Math.imul(ah9,bl6)|0,hi=Math.imul(ah9,bh6),lo=lo+Math.imul(al8,bl7)|0,mid=mid+Math.imul(al8,bh7)|0,mid=mid+Math.imul(ah8,bl7)|0,hi=hi+Math.imul(ah8,bh7)|0,lo=lo+Math.imul(al7,bl8)|0,mid=mid+Math.imul(al7,bh8)|0,mid=mid+Math.imul(ah7,bl8)|0,hi=hi+Math.imul(ah7,bh8)|0,lo=lo+Math.imul(al6,bl9)|0,mid=mid+Math.imul(al6,bh9)|0,mid=mid+Math.imul(ah6,bl9)|0,hi=hi+Math.imul(ah6,bh9)|0;var w15=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w15>>>26)|0,w15&=67108863,lo=Math.imul(al9,bl7),mid=Math.imul(al9,bh7),mid=mid+Math.imul(ah9,bl7)|0,hi=Math.imul(ah9,bh7),lo=lo+Math.imul(al8,bl8)|0,mid=mid+Math.imul(al8,bh8)|0,mid=mid+Math.imul(ah8,bl8)|0,hi=hi+Math.imul(ah8,bh8)|0,lo=lo+Math.imul(al7,bl9)|0,mid=mid+Math.imul(al7,bh9)|0,mid=mid+Math.imul(ah7,bl9)|0,hi=hi+Math.imul(ah7,bh9)|0;var w16=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w16>>>26)|0,w16&=67108863,lo=Math.imul(al9,bl8),mid=Math.imul(al9,bh8),mid=mid+Math.imul(ah9,bl8)|0,hi=Math.imul(ah9,bh8),lo=lo+Math.imul(al8,bl9)|0,mid=mid+Math.imul(al8,bh9)|0,mid=mid+Math.imul(ah8,bl9)|0,hi=hi+Math.imul(ah8,bh9)|0;var w17=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w17>>>26)|0,w17&=67108863,lo=Math.imul(al9,bl9),mid=Math.imul(al9,bh9),mid=mid+Math.imul(ah9,bl9)|0,hi=Math.imul(ah9,bh9);var w18=(c+lo|0)+((mid&8191)<<13)|0;return c=(hi+(mid>>>13)|0)+(w18>>>26)|0,w18&=67108863,o[0]=w0,o[1]=w1,o[2]=w2,o[3]=w3,o[4]=w4,o[5]=w5,o[6]=w6,o[7]=w7,o[8]=w8,o[9]=w9,o[10]=w10,o[11]=w11,o[12]=w12,o[13]=w13,o[14]=w14,o[15]=w15,o[16]=w16,o[17]=w17,o[18]=w18,c!==0&&(o[19]=c,out.length++),out};Math.imul||(comb10MulTo=smallMulTo);function bigMulTo(self2,num,out){out.negative=num.negative^self2.negative,out.length=self2.length+num.length;for(var carry=0,hncarry=0,k=0;k>>26)|0,hncarry+=ncarry>>>26,ncarry&=67108863}out.words[k]=rword,carry=ncarry,ncarry=hncarry}return carry!==0\?out.words[k]=carry:out.length--,out.strip()}function jumboMulTo(self2,num,out){var fftm=new FFTM;return fftm.mulp(self2,num,out)}BN.prototype.mulTo=function(num,out){var res,len=this.length+num.length;return this.length===10&&num.length===10\?res=comb10MulTo(this,num,out):len<63\?res=smallMulTo(this,num,out):len<1024\?res=bigMulTo(this,num,out):res=jumboMulTo(this,num,out),res};function FFTM(x,y){this.x=x,this.y=y}FFTM.prototype.makeRBT=function(N){for(var t=new Array(N),l=BN.prototype._countBits(N)-1,i=0;i>=1;return rb},FFTM.prototype.permute=function(rbt,rws,iws,rtws,itws,N){for(var i=0;i>>1)i++;return 1<>>13,rws[2*i+1]=carry&8191,carry=carry>>>13;for(i=2*len;i>=26,carry+=w/67108864|0,carry+=lo>>>26,this.words[i]=lo&67108863}return carry!==0&&(this.words[i]=carry,this.length++),this},BN.prototype.muln=function(num){return this.clone().imuln(num)},BN.prototype.sqr=function(){return this.mul(this)},BN.prototype.isqr=function(){return this.imul(this.clone())},BN.prototype.pow=function(num){var w=toBitArray(num);if(w.length===0)return new BN(1);for(var res=this,i=0;i=0);var r=bits%26,s=(bits-r)/26,carryMask=67108863>>>26-r<<26-r,i;if(r!==0){var carry=0;for(i=0;i>>26-r}carry&&(this.words[i]=carry,this.length++)}if(s!==0){for(i=this.length-1;i>=0;i--)this.words[i+s]=this.words[i];for(i=0;i=0);var h;hint\?h=(hint-hint%26)/26:h=0;var r=bits%26,s=Math.min((bits-r)/26,this.length),mask=67108863^67108863>>>r<s)for(this.length-=s,i=0;i=0&&(carry!==0||i>=h);i--){var word=this.words[i]|0;this.words[i]=carry<<26-r|word>>>r,carry=word&mask}return maskedWords&&carry!==0&&(maskedWords.words[maskedWords.length++]=carry),this.length===0&&(this.words[0]=0,this.length=1),this.strip()},BN.prototype.ishrn=function(bits,hint,extended){return assert(this.negative===0),this.iushrn(bits,hint,extended)},BN.prototype.shln=function(bits){return this.clone().ishln(bits)},BN.prototype.ushln=function(bits){return this.clone().iushln(bits)},BN.prototype.shrn=function(bits){return this.clone().ishrn(bits)},BN.prototype.ushrn=function(bits){return this.clone().iushrn(bits)},BN.prototype.testn=function(bit){assert(typeof bit==\"number\"&&bit>=0);var r=bit%26,s=(bit-r)/26,q=1<=0);var r=bits%26,s=(bits-r)/26;if(assert(this.negative===0,\"imaskn works only with positive numbers\"),this.length<=s)return this;if(r!==0&&s++,this.length=Math.min(s,this.length),r!==0){var mask=67108863^67108863>>>r<=67108864;i++)this.words[i]-=67108864,i===this.length-1\?this.words[i+1]=1:this.words[i+1]++;return this.length=Math.max(this.length,i+1),this},BN.prototype.isubn=function(num){if(assert(typeof num==\"number\"),assert(num<67108864),num<0)return this.iaddn(-num);if(this.negative!==0)return this.negative=0,this.iaddn(num),this.negative=1,this;if(this.words[0]-=num,this.length===1&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var i=0;i>26)-(right/67108864|0),this.words[i+shift]=w&67108863}for(;i>26,this.words[i+shift]=w&67108863;if(carry===0)return this.strip();for(assert(carry===-1),carry=0,i=0;i>26,this.words[i]=w&67108863;return this.negative=1,this.strip()},BN.prototype._wordDiv=function(num,mode){var shift=this.length-num.length,a=this.clone(),b=num,bhi=b.words[b.length-1]|0,bhiBits=this._countBits(bhi);shift=26-bhiBits,shift!==0&&(b=b.ushln(shift),a.iushln(shift),bhi=b.words[b.length-1]|0);var m=a.length-b.length,q;if(mode!==\"mod\"){q=new BN(null),q.length=m+1,q.words=new Array(q.length);for(var i=0;i=0;j--){var qj=(a.words[b.length+j]|0)*67108864+(a.words[b.length+j-1]|0);for(qj=Math.min(qj/bhi|0,67108863),a._ishlnsubmul(b,qj,j);a.negative!==0;)qj--,a.negative=0,a._ishlnsubmul(b,1,j),a.isZero()||(a.negative^=1);q&&(q.words[j]=qj)}return q&&q.strip(),a.strip(),mode!==\"div\"&&shift!==0&&a.iushrn(shift),{div:q||null,mod:a}},BN.prototype.divmod=function(num,mode,positive){if(assert(!num.isZero()),this.isZero())return{div:new BN(0),mod:new BN(0)};var div,mod,res;return this.negative!==0&&num.negative===0\?(res=this.neg().divmod(num,mode),mode!==\"mod\"&&(div=res.div.neg()),mode!==\"div\"&&(mod=res.mod.neg(),positive&&mod.negative!==0&&mod.iadd(num)),{div,mod}):this.negative===0&&num.negative!==0\?(res=this.divmod(num.neg(),mode),mode!==\"mod\"&&(div=res.div.neg()),{div,mod:res.mod}):(this.negative&num.negative)!==0\?(res=this.neg().divmod(num.neg(),mode),mode!==\"div\"&&(mod=res.mod.neg(),positive&&mod.negative!==0&&mod.isub(num)),{div:res.div,mod}):num.length>this.length||this.cmp(num)<0\?{div:new BN(0),mod:this}:num.length===1\?mode===\"div\"\?{div:this.divn(num.words[0]),mod:null}:mode===\"mod\"\?{div:null,mod:new BN(this.modn(num.words[0]))}:{div:this.divn(num.words[0]),mod:new BN(this.modn(num.words[0]))}:this._wordDiv(num,mode)},BN.prototype.div=function(num){return this.divmod(num,\"div\",!1).div},BN.prototype.mod=function(num){return this.divmod(num,\"mod\",!1).mod},BN.prototype.umod=function(num){return this.divmod(num,\"mod\",!0).mod},BN.prototype.divRound=function(num){var dm=this.divmod(num);if(dm.mod.isZero())return dm.div;var mod=dm.div.negative!==0\?dm.mod.isub(num):dm.mod,half=num.ushrn(1),r2=num.andln(1),cmp=mod.cmp(half);return cmp<0||r2===1&&cmp===0\?dm.div:dm.div.negative!==0\?dm.div.isubn(1):dm.div.iaddn(1)},BN.prototype.modn=function(num){assert(num<=67108863);for(var p=(1<<26)%num,acc=0,i=this.length-1;i>=0;i--)acc=(p*acc+(this.words[i]|0))%num;return acc},BN.prototype.idivn=function(num){assert(num<=67108863);for(var carry=0,i=this.length-1;i>=0;i--){var w=(this.words[i]|0)+carry*67108864;this.words[i]=w/num|0,carry=w%num}return this.strip()},BN.prototype.divn=function(num){return this.clone().idivn(num)},BN.prototype.egcd=function(p){assert(p.negative===0),assert(!p.isZero());var x=this,y=p.clone();x.negative!==0\?x=x.umod(p):x=x.clone();for(var A=new BN(1),B=new BN(0),C=new BN(0),D=new BN(1),g=0;x.isEven()&&y.isEven();)x.iushrn(1),y.iushrn(1),++g;for(var yp=y.clone(),xp=x.clone();!x.isZero();){for(var i=0,im=1;(x.words[0]&im)===0&&i<26;++i,im<<=1);if(i>0)for(x.iushrn(i);i-- >0;)(A.isOdd()||B.isOdd())&&(A.iadd(yp),B.isub(xp)),A.iushrn(1),B.iushrn(1);for(var j=0,jm=1;(y.words[0]&jm)===0&&j<26;++j,jm<<=1);if(j>0)for(y.iushrn(j);j-- >0;)(C.isOdd()||D.isOdd())&&(C.iadd(yp),D.isub(xp)),C.iushrn(1),D.iushrn(1);x.cmp(y)>=0\?(x.isub(y),A.isub(C),B.isub(D)):(y.isub(x),C.isub(A),D.isub(B))}return{a:C,b:D,gcd:y.iushln(g)}},BN.prototype._invmp=function(p){assert(p.negative===0),assert(!p.isZero());var a=this,b=p.clone();a.negative!==0\?a=a.umod(p):a=a.clone();for(var x1=new BN(1),x2=new BN(0),delta=b.clone();a.cmpn(1)>0&&b.cmpn(1)>0;){for(var i=0,im=1;(a.words[0]&im)===0&&i<26;++i,im<<=1);if(i>0)for(a.iushrn(i);i-- >0;)x1.isOdd()&&x1.iadd(delta),x1.iushrn(1);for(var j=0,jm=1;(b.words[0]&jm)===0&&j<26;++j,jm<<=1);if(j>0)for(b.iushrn(j);j-- >0;)x2.isOdd()&&x2.iadd(delta),x2.iushrn(1);a.cmp(b)>=0\?(a.isub(b),x1.isub(x2)):(b.isub(a),x2.isub(x1))}var res;return a.cmpn(1)===0\?res=x1:res=x2,res.cmpn(0)<0&&res.iadd(p),res},BN.prototype.gcd=function(num){if(this.isZero())return num.abs();if(num.isZero())return this.abs();var a=this.clone(),b=num.clone();a.negative=0,b.negative=0;for(var shift=0;a.isEven()&&b.isEven();shift++)a.iushrn(1),b.iushrn(1);do{for(;a.isEven();)a.iushrn(1);for(;b.isEven();)b.iushrn(1);var r=a.cmp(b);if(r<0){var t=a;a=b,b=t}else if(r===0||b.cmpn(1)===0)break;a.isub(b)}while(!0);return b.iushln(shift)},BN.prototype.invm=function(num){return this.egcd(num).a.umod(num)},BN.prototype.isEven=function(){return(this.words[0]&1)===0},BN.prototype.isOdd=function(){return(this.words[0]&1)===1},BN.prototype.andln=function(num){return this.words[0]&num},BN.prototype.bincn=function(bit){assert(typeof bit==\"number\");var r=bit%26,s=(bit-r)/26,q=1<>>26,w&=67108863,this.words[i]=w}return carry!==0&&(this.words[i]=carry,this.length++),this},BN.prototype.isZero=function(){return this.length===1&&this.words[0]===0},BN.prototype.cmpn=function(num){var negative=num<0;if(this.negative!==0&&!negative)return-1;if(this.negative===0&&negative)return 1;this.strip();var res;if(this.length>1)res=1;else{negative&&(num=-num),assert(num<=67108863,\"Number is too big\");var w=this.words[0]|0;res=w===num\?0:wnum.length)return 1;if(this.length=0;i--){var a=this.words[i]|0,b=num.words[i]|0;if(a!==b){ab&&(res=1);break}}return res},BN.prototype.gtn=function(num){return this.cmpn(num)===1},BN.prototype.gt=function(num){return this.cmp(num)===1},BN.prototype.gten=function(num){return this.cmpn(num)>=0},BN.prototype.gte=function(num){return this.cmp(num)>=0},BN.prototype.ltn=function(num){return this.cmpn(num)===-1},BN.prototype.lt=function(num){return this.cmp(num)===-1},BN.prototype.lten=function(num){return this.cmpn(num)<=0},BN.prototype.lte=function(num){return this.cmp(num)<=0},BN.prototype.eqn=function(num){return this.cmpn(num)===0},BN.prototype.eq=function(num){return this.cmp(num)===0},BN.red=function(num){return new Red(num)},BN.prototype.toRed=function(ctx){return assert(!this.red,\"Already a number in reduction context\"),assert(this.negative===0,\"red works only with positives\"),ctx.convertTo(this)._forceRed(ctx)},BN.prototype.fromRed=function(){return assert(this.red,\"fromRed works only with numbers in reduction context\"),this.red.convertFrom(this)},BN.prototype._forceRed=function(ctx){return this.red=ctx,this},BN.prototype.forceRed=function(ctx){return assert(!this.red,\"Already a number in reduction context\"),this._forceRed(ctx)},BN.prototype.redAdd=function(num){return assert(this.red,\"redAdd works only with red numbers\"),this.red.add(this,num)},BN.prototype.redIAdd=function(num){return assert(this.red,\"redIAdd works only with red numbers\"),this.red.iadd(this,num)},BN.prototype.redSub=function(num){return assert(this.red,\"redSub works only with red numbers\"),this.red.sub(this,num)},BN.prototype.redISub=function(num){return assert(this.red,\"redISub works only with red numbers\"),this.red.isub(this,num)},BN.prototype.redShl=function(num){return assert(this.red,\"redShl works only with red numbers\"),this.red.shl(this,num)},BN.prototype.redMul=function(num){return assert(this.red,\"redMul works only with red numbers\"),this.red._verify2(this,num),this.red.mul(this,num)},BN.prototype.redIMul=function(num){return assert(this.red,\"redMul works only with red numbers\"),this.red._verify2(this,num),this.red.imul(this,num)},BN.prototype.redSqr=function(){return assert(this.red,\"redSqr works only with red numbers\"),this.red._verify1(this),this.red.sqr(this)},BN.prototype.redISqr=function(){return assert(this.red,\"redISqr works only with red numbers\"),this.red._verify1(this),this.red.isqr(this)},BN.prototype.redSqrt=function(){return assert(this.red,\"redSqrt works only with red numbers\"),this.red._verify1(this),this.red.sqrt(this)},BN.prototype.redInvm=function(){return assert(this.red,\"redInvm works only with red numbers\"),this.red._verify1(this),this.red.invm(this)},BN.prototype.redNeg=function(){return assert(this.red,\"redNeg works only with red numbers\"),this.red._verify1(this),this.red.neg(this)},BN.prototype.redPow=function(num){return assert(this.red&&!num.red,\"redPow(normalNum)\"),this.red._verify1(this),this.red.pow(this,num)};var primes={k256:null,p224:null,p192:null,p25519:null};function MPrime(name,p){this.name=name,this.p=new BN(p,16),this.n=this.p.bitLength(),this.k=new BN(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}MPrime.prototype._tmp=function(){var tmp=new BN(null);return tmp.words=new Array(Math.ceil(this.n/13)),tmp},MPrime.prototype.ireduce=function(num){var r=num,rlen;do this.split(r,this.tmp),r=this.imulK(r),r=r.iadd(this.tmp),rlen=r.bitLength();while(rlen>this.n);var cmp=rlen0\?r.isub(this.p):r.strip!==void 0\?r.strip():r._strip(),r},MPrime.prototype.split=function(input,out){input.iushrn(this.n,0,out)},MPrime.prototype.imulK=function(num){return num.imul(this.k)};function K256(){MPrime.call(this,\"k256\",\"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f\")}inherits(K256,MPrime),K256.prototype.split=function(input,output){for(var mask=4194303,outLen=Math.min(input.length,9),i=0;i>>22,prev=next}prev>>>=22,input.words[i-10]=prev,prev===0&&input.length>10\?input.length-=10:input.length-=9},K256.prototype.imulK=function(num){num.words[num.length]=0,num.words[num.length+1]=0,num.length+=2;for(var lo=0,i=0;i>>=26,num.words[i]=lo,carry=hi}return carry!==0&&(num.words[num.length++]=carry),num},BN._prime=function(name){if(primes[name])return primes[name];var prime2;if(name===\"k256\")prime2=new K256;else if(name===\"p224\")prime2=new P224;else if(name===\"p192\")prime2=new P192;else if(name===\"p25519\")prime2=new P25519;else throw new Error(\"Unknown prime \"+name);return primes[name]=prime2,prime2};function Red(m){if(typeof m==\"string\"){var prime=BN._prime(m);this.m=prime.p,this.prime=prime}else assert(m.gtn(1),\"modulus must be greater than 1\"),this.m=m,this.prime=null}Red.prototype._verify1=function(a){assert(a.negative===0,\"red works only with positives\"),assert(a.red,\"red works only with red numbers\")},Red.prototype._verify2=function(a,b){assert((a.negative|b.negative)===0,\"red works only with positives\"),assert(a.red&&a.red===b.red,\"red works only with red numbers\")},Red.prototype.imod=function(a){return this.prime\?this.prime.ireduce(a)._forceRed(this):a.umod(this.m)._forceRed(this)},Red.prototype.neg=function(a){return a.isZero()\?a.clone():this.m.sub(a)._forceRed(this)},Red.prototype.add=function(a,b){this._verify2(a,b);var res=a.add(b);return res.cmp(this.m)>=0&&res.isub(this.m),res._forceRed(this)},Red.prototype.iadd=function(a,b){this._verify2(a,b);var res=a.iadd(b);return res.cmp(this.m)>=0&&res.isub(this.m),res},Red.prototype.sub=function(a,b){this._verify2(a,b);var res=a.sub(b);return res.cmpn(0)<0&&res.iadd(this.m),res._forceRed(this)},Red.prototype.isub=function(a,b){this._verify2(a,b);var res=a.isub(b);return res.cmpn(0)<0&&res.iadd(this.m),res},Red.prototype.shl=function(a,num){return this._verify1(a),this.imod(a.ushln(num))},Red.prototype.imul=function(a,b){return this._verify2(a,b),this.imod(a.imul(b))},Red.prototype.mul=function(a,b){return this._verify2(a,b),this.imod(a.mul(b))},Red.prototype.isqr=function(a){return this.imul(a,a.clone())},Red.prototype.sqr=function(a){return this.mul(a,a)},Red.prototype.sqrt=function(a){if(a.isZero())return a.clone();var mod3=this.m.andln(3);if(assert(mod3%2===1),mod3===3){var pow=this.m.add(new BN(1)).iushrn(2);return this.pow(a,pow)}for(var q=this.m.subn(1),s=0;!q.isZero()&&q.andln(1)===0;)s++,q.iushrn(1);assert(!q.isZero());var one=new BN(1).toRed(this),nOne=one.redNeg(),lpow=this.m.subn(1).iushrn(1),z=this.m.bitLength();for(z=new BN(2*z*z).toRed(this);this.pow(z,lpow).cmp(nOne)!==0;)z.redIAdd(nOne);for(var c=this.pow(z,q),r=this.pow(a,q.addn(1).iushrn(1)),t=this.pow(a,q),m=s;t.cmp(one)!==0;){for(var tmp=t,i=0;tmp.cmp(one)!==0;i++)tmp=tmp.redSqr();assert(i=0;i--){for(var word=num.words[i],j=start-1;j>=0;j--){var bit=word>>j&1;if(res!==wnd[0]&&(res=this.sqr(res)),bit===0&¤t===0){currentLen=0;continue}current<<=1,current|=bit,currentLen++,!(currentLen!==windowSize&&(i!==0||j!==0))&&(res=this.mul(res,wnd[current]),currentLen=0,current=0)}start=26}return res},Red.prototype.convertTo=function(num){var r=num.umod(this.m);return r===num\?r.clone():r},Red.prototype.convertFrom=function(num){var res=num.clone();return res.red=null,res},BN.mont=function(num){return new Mont(num)};function Mont(m){Red.call(this,m),this.shift=this.m.bitLength(),this.shift%26!==0&&(this.shift+=26-this.shift%26),this.r=new BN(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}inherits(Mont,Red),Mont.prototype.convertTo=function(num){return this.imod(num.ushln(this.shift))},Mont.prototype.convertFrom=function(num){var r=this.imod(num.mul(this.rinv));return r.red=null,r},Mont.prototype.imul=function(a,b){if(a.isZero()||b.isZero())return a.words[0]=0,a.length=1,a;var t=a.imul(b),c=t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),u=t.isub(c).iushrn(this.shift),res=u;return u.cmp(this.m)>=0\?res=u.isub(this.m):u.cmpn(0)<0&&(res=u.iadd(this.m)),res._forceRed(this)},Mont.prototype.mul=function(a,b){if(a.isZero()||b.isZero())return new BN(0)._forceRed(this);var t=a.mul(b),c=t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),u=t.isub(c).iushrn(this.shift),res=u;return u.cmp(this.m)>=0\?res=u.isub(this.m):u.cmpn(0)<0&&(res=u.iadd(this.m)),res._forceRed(this)},Mont.prototype.invm=function(a){var res=this.imod(a._invmp(this.m).mul(this.r2));return res._forceRed(this)}})(typeof module>\"u\"||module,exports)}}),require_crypto_browserify=__commonJS({\"(disabled):node_modules/crypto-browserify/index.js\"(){}}),require_brorand=__commonJS({\"node_modules/brorand/index.js\"(exports,module){var r;module.exports=function(len){return r||(r=new Rand(null)),r.generate(len)};function Rand(rand){this.rand=rand}module.exports.Rand=Rand,Rand.prototype.generate=function(len){return this._rand(len)},Rand.prototype._rand=function(n){var out=new Buffer(n);return crypto.getRandomValues(out),out}}}),require_mr=__commonJS({\"node_modules/miller-rabin/lib/mr.js\"(exports,module){var bn=require_bn2(),brorand=require_brorand();function MillerRabin(rand){this.rand=rand||new brorand.Rand}module.exports=MillerRabin,MillerRabin.create=function(rand){return new MillerRabin(rand)},MillerRabin.prototype._randbelow=function(n){var len=n.bitLength(),min_bytes=Math.ceil(len/8);do var a=new bn(this.rand.generate(min_bytes));while(a.cmp(n)>=0);return a},MillerRabin.prototype._randrange=function(start,stop){var size=stop.sub(start);return start.add(this._randbelow(size))},MillerRabin.prototype.test=function(n,k,cb){var len=n.bitLength(),red=bn.mont(n),rone=new bn(1).toRed(red);k||(k=Math.max(1,len/48|0));for(var n1=n.subn(1),s=0;!n1.testn(s);s++);for(var d=n.shrn(s),rn1=n1.toRed(red),prime=!0;k>0;k--){var a=this._randrange(new bn(2),n1);cb&&cb(a);var x=a.toRed(red).redPow(d);if(!(x.cmp(rone)===0||x.cmp(rn1)===0)){for(var i=1;i0;k--){var a=this._randrange(new bn(2),n1),g=n.gcd(a);if(g.cmpn(1)!==0)return g;var x=a.toRed(red).redPow(d);if(!(x.cmp(rone)===0||x.cmp(rn1)===0)){for(var i=1;ibits;)num.ishrn(1);if(num.isEven()&&num.iadd(ONE),num.testn(1)||num.iadd(TWO),gen.cmp(TWO)){if(!gen.cmp(FIVE))for(;num.mod(TEN).cmp(THREE);)num.iadd(FOUR)}else for(;num.mod(TWENTYFOUR).cmp(ELEVEN);)num.iadd(FOUR);if(n2=num.shrn(1),simpleSieve(n2)&&simpleSieve(num)&&fermatTest(n2)&&fermatTest(num)&&millerRabin.test(n2)&&millerRabin.test(num))return num}}}}),require_primes=__commonJS({\"node_modules/diffie-hellman/lib/primes.json\"(exports,module){module.exports={modp1:{gen:\"02\",prime:\"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a63a3620ffffffffffffffff\"},modp2:{gen:\"02\",prime:\"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece65381ffffffffffffffff\"},modp5:{gen:\"02\",prime:\"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca237327ffffffffffffffff\"},modp14:{gen:\"02\",prime:\"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aacaa68ffffffffffffffff\"},modp15:{gen:\"02\",prime:\"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a93ad2caffffffffffffffff\"},modp16:{gen:\"02\",prime:\"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c934063199ffffffffffffffff\"},modp17:{gen:\"02\",prime:\"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dcc4024ffffffffffffffff\"},modp18:{gen:\"02\",prime:\"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dbe115974a3926f12fee5e438777cb6a932df8cd8bec4d073b931ba3bc832b68d9dd300741fa7bf8afc47ed2576f6936ba424663aab639c5ae4f5683423b4742bf1c978238f16cbe39d652de3fdb8befc848ad922222e04a4037c0713eb57a81a23f0c73473fc646cea306b4bcbc8862f8385ddfa9d4b7fa2c087e879683303ed5bdd3a062b3cf5b3a278a66d2a13f83f44f82ddf310ee074ab6a364597e899a0255dc164f31cc50846851df9ab48195ded7ea1b1d510bd7ee74d73faf36bc31ecfa268359046f4eb879f924009438b481c6cd7889a002ed5ee382bc9190da6fc026e479558e4475677e9aa9e3050e2765694dfc81f56e880b96e7160c980dd98edd3dfffffffffffffffff\"}}}}),require_dh=__commonJS({\"node_modules/diffie-hellman/lib/dh.js\"(exports,module){var BN=require_bn(),MillerRabin=require_mr(),millerRabin=new MillerRabin,TWENTYFOUR=new BN(24),ELEVEN=new BN(11),TEN=new BN(10),THREE=new BN(3),SEVEN=new BN(7),primes=require_generatePrime(),randomBytes=require_browser();module.exports=DH;function setPublicKey(pub,enc){return enc=enc||\"utf8\",Buffer.isBuffer(pub)||(pub=new Buffer(pub,enc)),this._pub=new BN(pub),this}function setPrivateKey(priv,enc){return enc=enc||\"utf8\",Buffer.isBuffer(priv)||(priv=new Buffer(priv,enc)),this._priv=new BN(priv),this}var primeCache={};function checkPrime(prime,generator){var gen=generator.toString(\"hex\"),hex=[gen,prime.toString(16)].join(\"_\");if(hex in primeCache)return primeCache[hex];var error=0;if(prime.isEven()||!primes.simpleSieve||!primes.fermatTest(prime)||!millerRabin.test(prime))return error+=1,gen===\"02\"||gen===\"05\"\?error+=8:error+=4,primeCache[hex]=error,error;millerRabin.test(prime.shrn(1))||(error+=2);var rem;switch(gen){case\"02\":prime.mod(TWENTYFOUR).cmp(ELEVEN)&&(error+=8);break;case\"05\":rem=prime.mod(TEN),rem.cmp(THREE)&&rem.cmp(SEVEN)&&(error+=8);break;default:error+=4}return primeCache[hex]=error,error}function DH(prime,generator,malleable){this.setGenerator(generator),this.__prime=new BN(prime),this._prime=BN.mont(this.__prime),this._primeLen=prime.length,this._pub=void 0,this._priv=void 0,this._primeCode=void 0,malleable\?(this.setPublicKey=setPublicKey,this.setPrivateKey=setPrivateKey):this._primeCode=8}Object.defineProperty(DH.prototype,\"verifyError\",{enumerable:!0,get:function(){return typeof this._primeCode!=\"number\"&&(this._primeCode=checkPrime(this.__prime,this.__gen)),this._primeCode}}),DH.prototype.generateKeys=function(){return this._priv||(this._priv=new BN(randomBytes(this._primeLen))),this._pub=this._gen.toRed(this._prime).redPow(this._priv).fromRed(),this.getPublicKey()},DH.prototype.computeSecret=function(other){other=new BN(other),other=other.toRed(this._prime);var secret=other.redPow(this._priv).fromRed(),out=new Buffer(secret.toArray()),prime=this.getPrime();if(out.length0\?left:right},BN.min=function(left,right){return left.cmp(right)<0\?left:right},BN.prototype._init=function(number,base,endian){if(typeof number==\"number\")return this._initNumber(number,base,endian);if(typeof number==\"object\")return this._initArray(number,base,endian);base===\"hex\"&&(base=16),assert(base===(base|0)&&base>=2&&base<=36),number=number.toString().replace(/\\s+/g,\"\");var start=0;number[0]===\"-\"&&(start++,this.negative=1),start=0;i-=3)w=number[i]|number[i-1]<<8|number[i-2]<<16,this.words[j]|=w<>>26-off&67108863,off+=24,off>=26&&(off-=26,j++);else if(endian===\"le\")for(i=0,j=0;i>>26-off&67108863,off+=24,off>=26&&(off-=26,j++);return this._strip()};function parseHex4Bits(string,index){var c=string.charCodeAt(index);if(c>=48&&c<=57)return c-48;if(c>=65&&c<=70)return c-55;if(c>=97&&c<=102)return c-87;assert(!1,\"Invalid character in \"+string)}function parseHexByte(string,lowerBound,index){var r=parseHex4Bits(string,index);return index-1>=lowerBound&&(r|=parseHex4Bits(string,index-1)<<4),r}BN.prototype._parseHex=function(number,start,endian){this.length=Math.ceil((number.length-start)/6),this.words=new Array(this.length);for(var i=0;i=start;i-=2)w=parseHexByte(number,start,i)<=18\?(off-=18,j+=1,this.words[j]|=w>>>26):off+=8;else{var parseLength=number.length-start;for(i=parseLength%2===0\?start+1:start;i=18\?(off-=18,j+=1,this.words[j]|=w>>>26):off+=8}this._strip()};function parseBase(str,start,end,mul){for(var r=0,b=0,len=Math.min(str.length,end),i=start;i=49\?b=c-49+10:c>=17\?b=c-17+10:b=c,assert(c>=0&&b1&&this.words[this.length-1]===0;)this.length--;return this._normSign()},BN.prototype._normSign=function(){return this.length===1&&this.words[0]===0&&(this.negative=0),this},typeof Symbol<\"u\"&&typeof Symbol.for==\"function\")try{BN.prototype[Symbol.for(\"nodejs.util.inspect.custom\")]=inspect}catch{BN.prototype.inspect=inspect}else BN.prototype.inspect=inspect;function inspect(){return(this.red\?\"\"}var zeros=[\"\",\"0\",\"00\",\"000\",\"0000\",\"00000\",\"000000\",\"0000000\",\"00000000\",\"000000000\",\"0000000000\",\"00000000000\",\"000000000000\",\"0000000000000\",\"00000000000000\",\"000000000000000\",\"0000000000000000\",\"00000000000000000\",\"000000000000000000\",\"0000000000000000000\",\"00000000000000000000\",\"000000000000000000000\",\"0000000000000000000000\",\"00000000000000000000000\",\"000000000000000000000000\",\"0000000000000000000000000\"],groupSizes=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],groupBases=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64000000,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,24300000,28629151,33554432,39135393,45435424,52521875,60466176];BN.prototype.toString=function(base,padding){base=base||10,padding=padding|0||1;var out;if(base===16||base===\"hex\"){out=\"\";for(var off=0,carry=0,i=0;i>>24-off&16777215,off+=2,off>=26&&(off-=26,i--),carry!==0||i!==this.length-1\?out=zeros[6-word.length]+word+out:out=word+out}for(carry!==0&&(out=carry.toString(16)+out);out.length%padding!==0;)out=\"0\"+out;return this.negative!==0&&(out=\"-\"+out),out}if(base===(base|0)&&base>=2&&base<=36){var groupSize=groupSizes[base],groupBase=groupBases[base];out=\"\";var c=this.clone();for(c.negative=0;!c.isZero();){var r=c.modrn(groupBase).toString(base);c=c.idivn(groupBase),c.isZero()\?out=r+out:out=zeros[groupSize-r.length]+r+out}for(this.isZero()&&(out=\"0\"+out);out.length%padding!==0;)out=\"0\"+out;return this.negative!==0&&(out=\"-\"+out),out}assert(!1,\"Base should be between 2 and 36\")},BN.prototype.toNumber=function(){var ret=this.words[0];return this.length===2\?ret+=this.words[1]*67108864:this.length===3&&this.words[2]===1\?ret+=4503599627370496+this.words[1]*67108864:this.length>2&&assert(!1,\"Number can only safely store up to 53 bits\"),this.negative!==0\?-ret:ret},BN.prototype.toJSON=function(){return this.toString(16,2)},Buffer2&&(BN.prototype.toBuffer=function(endian,length){return this.toArrayLike(Buffer2,endian,length)}),BN.prototype.toArray=function(endian,length){return this.toArrayLike(Array,endian,length)};var allocate=function(ArrayType,size){return ArrayType.allocUnsafe\?ArrayType.allocUnsafe(size):new ArrayType(size)};BN.prototype.toArrayLike=function(ArrayType,endian,length){this._strip();var byteLength=this.byteLength(),reqLength=length||Math.max(1,byteLength);assert(byteLength<=reqLength,\"byte array longer than desired length\"),assert(reqLength>0,\"Requested array length <= 0\");var res=allocate(ArrayType,reqLength),postfix=endian===\"le\"\?\"LE\":\"BE\";return this[\"_toArrayLike\"+postfix](res,byteLength),res},BN.prototype._toArrayLikeLE=function(res,byteLength){for(var position=0,carry=0,i=0,shift=0;i>8&255),position>16&255),shift===6\?(position>24&255),carry=0,shift=0):(carry=word>>>24,shift+=2)}if(position=0&&(res[position--]=word>>8&255),position>=0&&(res[position--]=word>>16&255),shift===6\?(position>=0&&(res[position--]=word>>24&255),carry=0,shift=0):(carry=word>>>24,shift+=2)}if(position>=0)for(res[position--]=carry;position>=0;)res[position--]=0},Math.clz32\?BN.prototype._countBits=function(w){return 32-Math.clz32(w)}:BN.prototype._countBits=function(w){var t=w,r=0;return t>=4096&&(r+=13,t>>>=13),t>=64&&(r+=7,t>>>=7),t>=8&&(r+=4,t>>>=4),t>=2&&(r+=2,t>>>=2),r+t},BN.prototype._zeroBits=function(w){if(w===0)return 26;var t=w,r=0;return(t&8191)===0&&(r+=13,t>>>=13),(t&127)===0&&(r+=7,t>>>=7),(t&15)===0&&(r+=4,t>>>=4),(t&3)===0&&(r+=2,t>>>=2),(t&1)===0&&r++,r},BN.prototype.bitLength=function(){var w=this.words[this.length-1],hi=this._countBits(w);return(this.length-1)*26+hi};function toBitArray(num){for(var w=new Array(num.bitLength()),bit=0;bit>>wbit&1}return w}BN.prototype.zeroBits=function(){if(this.isZero())return 0;for(var r=0,i=0;inum.length\?this.clone().ior(num):num.clone().ior(this)},BN.prototype.uor=function(num){return this.length>num.length\?this.clone().iuor(num):num.clone().iuor(this)},BN.prototype.iuand=function(num){var b;this.length>num.length\?b=num:b=this;for(var i=0;inum.length\?this.clone().iand(num):num.clone().iand(this)},BN.prototype.uand=function(num){return this.length>num.length\?this.clone().iuand(num):num.clone().iuand(this)},BN.prototype.iuxor=function(num){var a,b;this.length>num.length\?(a=this,b=num):(a=num,b=this);for(var i=0;inum.length\?this.clone().ixor(num):num.clone().ixor(this)},BN.prototype.uxor=function(num){return this.length>num.length\?this.clone().iuxor(num):num.clone().iuxor(this)},BN.prototype.inotn=function(width){assert(typeof width==\"number\"&&width>=0);var bytesNeeded=Math.ceil(width/26)|0,bitsLeft=width%26;this._expand(bytesNeeded),bitsLeft>0&&bytesNeeded--;for(var i=0;i0&&(this.words[i]=~this.words[i]&67108863>>26-bitsLeft),this._strip()},BN.prototype.notn=function(width){return this.clone().inotn(width)},BN.prototype.setn=function(bit,val){assert(typeof bit==\"number\"&&bit>=0);var off=bit/26|0,wbit=bit%26;return this._expand(off+1),val\?this.words[off]=this.words[off]|1<num.length\?(a=this,b=num):(a=num,b=this);for(var carry=0,i=0;i>>26;for(;carry!==0&&i>>26;if(this.length=a.length,carry!==0)this.words[this.length]=carry,this.length++;else if(a!==this)for(;inum.length\?this.clone().iadd(num):num.clone().iadd(this)},BN.prototype.isub=function(num){if(num.negative!==0){num.negative=0;var r=this.iadd(num);return num.negative=1,r._normSign()}else if(this.negative!==0)return this.negative=0,this.iadd(num),this.negative=1,this._normSign();var cmp=this.cmp(num);if(cmp===0)return this.negative=0,this.length=1,this.words[0]=0,this;var a,b;cmp>0\?(a=this,b=num):(a=num,b=this);for(var carry=0,i=0;i>26,this.words[i]=r&67108863;for(;carry!==0&&i>26,this.words[i]=r&67108863;if(carry===0&&i>>26,rword=carry&67108863,maxJ=Math.min(k,num.length-1),j=Math.max(0,k-self2.length+1);j<=maxJ;j++){var i=k-j|0;a=self2.words[i]|0,b=num.words[j]|0,r=a*b+rword,ncarry+=r/67108864|0,rword=r&67108863}out.words[k]=rword|0,carry=ncarry|0}return carry!==0\?out.words[k]=carry|0:out.length--,out._strip()}var comb10MulTo=function(self2,num,out){var a=self2.words,b=num.words,o=out.words,c=0,lo,mid,hi,a0=a[0]|0,al0=a0&8191,ah0=a0>>>13,a1=a[1]|0,al1=a1&8191,ah1=a1>>>13,a2=a[2]|0,al2=a2&8191,ah2=a2>>>13,a3=a[3]|0,al3=a3&8191,ah3=a3>>>13,a4=a[4]|0,al4=a4&8191,ah4=a4>>>13,a5=a[5]|0,al5=a5&8191,ah5=a5>>>13,a6=a[6]|0,al6=a6&8191,ah6=a6>>>13,a7=a[7]|0,al7=a7&8191,ah7=a7>>>13,a8=a[8]|0,al8=a8&8191,ah8=a8>>>13,a9=a[9]|0,al9=a9&8191,ah9=a9>>>13,b0=b[0]|0,bl0=b0&8191,bh0=b0>>>13,b1=b[1]|0,bl1=b1&8191,bh1=b1>>>13,b2=b[2]|0,bl2=b2&8191,bh2=b2>>>13,b3=b[3]|0,bl3=b3&8191,bh3=b3>>>13,b4=b[4]|0,bl4=b4&8191,bh4=b4>>>13,b5=b[5]|0,bl5=b5&8191,bh5=b5>>>13,b6=b[6]|0,bl6=b6&8191,bh6=b6>>>13,b7=b[7]|0,bl7=b7&8191,bh7=b7>>>13,b8=b[8]|0,bl8=b8&8191,bh8=b8>>>13,b9=b[9]|0,bl9=b9&8191,bh9=b9>>>13;out.negative=self2.negative^num.negative,out.length=19,lo=Math.imul(al0,bl0),mid=Math.imul(al0,bh0),mid=mid+Math.imul(ah0,bl0)|0,hi=Math.imul(ah0,bh0);var w0=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w0>>>26)|0,w0&=67108863,lo=Math.imul(al1,bl0),mid=Math.imul(al1,bh0),mid=mid+Math.imul(ah1,bl0)|0,hi=Math.imul(ah1,bh0),lo=lo+Math.imul(al0,bl1)|0,mid=mid+Math.imul(al0,bh1)|0,mid=mid+Math.imul(ah0,bl1)|0,hi=hi+Math.imul(ah0,bh1)|0;var w1=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w1>>>26)|0,w1&=67108863,lo=Math.imul(al2,bl0),mid=Math.imul(al2,bh0),mid=mid+Math.imul(ah2,bl0)|0,hi=Math.imul(ah2,bh0),lo=lo+Math.imul(al1,bl1)|0,mid=mid+Math.imul(al1,bh1)|0,mid=mid+Math.imul(ah1,bl1)|0,hi=hi+Math.imul(ah1,bh1)|0,lo=lo+Math.imul(al0,bl2)|0,mid=mid+Math.imul(al0,bh2)|0,mid=mid+Math.imul(ah0,bl2)|0,hi=hi+Math.imul(ah0,bh2)|0;var w2=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w2>>>26)|0,w2&=67108863,lo=Math.imul(al3,bl0),mid=Math.imul(al3,bh0),mid=mid+Math.imul(ah3,bl0)|0,hi=Math.imul(ah3,bh0),lo=lo+Math.imul(al2,bl1)|0,mid=mid+Math.imul(al2,bh1)|0,mid=mid+Math.imul(ah2,bl1)|0,hi=hi+Math.imul(ah2,bh1)|0,lo=lo+Math.imul(al1,bl2)|0,mid=mid+Math.imul(al1,bh2)|0,mid=mid+Math.imul(ah1,bl2)|0,hi=hi+Math.imul(ah1,bh2)|0,lo=lo+Math.imul(al0,bl3)|0,mid=mid+Math.imul(al0,bh3)|0,mid=mid+Math.imul(ah0,bl3)|0,hi=hi+Math.imul(ah0,bh3)|0;var w3=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w3>>>26)|0,w3&=67108863,lo=Math.imul(al4,bl0),mid=Math.imul(al4,bh0),mid=mid+Math.imul(ah4,bl0)|0,hi=Math.imul(ah4,bh0),lo=lo+Math.imul(al3,bl1)|0,mid=mid+Math.imul(al3,bh1)|0,mid=mid+Math.imul(ah3,bl1)|0,hi=hi+Math.imul(ah3,bh1)|0,lo=lo+Math.imul(al2,bl2)|0,mid=mid+Math.imul(al2,bh2)|0,mid=mid+Math.imul(ah2,bl2)|0,hi=hi+Math.imul(ah2,bh2)|0,lo=lo+Math.imul(al1,bl3)|0,mid=mid+Math.imul(al1,bh3)|0,mid=mid+Math.imul(ah1,bl3)|0,hi=hi+Math.imul(ah1,bh3)|0,lo=lo+Math.imul(al0,bl4)|0,mid=mid+Math.imul(al0,bh4)|0,mid=mid+Math.imul(ah0,bl4)|0,hi=hi+Math.imul(ah0,bh4)|0;var w4=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w4>>>26)|0,w4&=67108863,lo=Math.imul(al5,bl0),mid=Math.imul(al5,bh0),mid=mid+Math.imul(ah5,bl0)|0,hi=Math.imul(ah5,bh0),lo=lo+Math.imul(al4,bl1)|0,mid=mid+Math.imul(al4,bh1)|0,mid=mid+Math.imul(ah4,bl1)|0,hi=hi+Math.imul(ah4,bh1)|0,lo=lo+Math.imul(al3,bl2)|0,mid=mid+Math.imul(al3,bh2)|0,mid=mid+Math.imul(ah3,bl2)|0,hi=hi+Math.imul(ah3,bh2)|0,lo=lo+Math.imul(al2,bl3)|0,mid=mid+Math.imul(al2,bh3)|0,mid=mid+Math.imul(ah2,bl3)|0,hi=hi+Math.imul(ah2,bh3)|0,lo=lo+Math.imul(al1,bl4)|0,mid=mid+Math.imul(al1,bh4)|0,mid=mid+Math.imul(ah1,bl4)|0,hi=hi+Math.imul(ah1,bh4)|0,lo=lo+Math.imul(al0,bl5)|0,mid=mid+Math.imul(al0,bh5)|0,mid=mid+Math.imul(ah0,bl5)|0,hi=hi+Math.imul(ah0,bh5)|0;var w5=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w5>>>26)|0,w5&=67108863,lo=Math.imul(al6,bl0),mid=Math.imul(al6,bh0),mid=mid+Math.imul(ah6,bl0)|0,hi=Math.imul(ah6,bh0),lo=lo+Math.imul(al5,bl1)|0,mid=mid+Math.imul(al5,bh1)|0,mid=mid+Math.imul(ah5,bl1)|0,hi=hi+Math.imul(ah5,bh1)|0,lo=lo+Math.imul(al4,bl2)|0,mid=mid+Math.imul(al4,bh2)|0,mid=mid+Math.imul(ah4,bl2)|0,hi=hi+Math.imul(ah4,bh2)|0,lo=lo+Math.imul(al3,bl3)|0,mid=mid+Math.imul(al3,bh3)|0,mid=mid+Math.imul(ah3,bl3)|0,hi=hi+Math.imul(ah3,bh3)|0,lo=lo+Math.imul(al2,bl4)|0,mid=mid+Math.imul(al2,bh4)|0,mid=mid+Math.imul(ah2,bl4)|0,hi=hi+Math.imul(ah2,bh4)|0,lo=lo+Math.imul(al1,bl5)|0,mid=mid+Math.imul(al1,bh5)|0,mid=mid+Math.imul(ah1,bl5)|0,hi=hi+Math.imul(ah1,bh5)|0,lo=lo+Math.imul(al0,bl6)|0,mid=mid+Math.imul(al0,bh6)|0,mid=mid+Math.imul(ah0,bl6)|0,hi=hi+Math.imul(ah0,bh6)|0;var w6=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w6>>>26)|0,w6&=67108863,lo=Math.imul(al7,bl0),mid=Math.imul(al7,bh0),mid=mid+Math.imul(ah7,bl0)|0,hi=Math.imul(ah7,bh0),lo=lo+Math.imul(al6,bl1)|0,mid=mid+Math.imul(al6,bh1)|0,mid=mid+Math.imul(ah6,bl1)|0,hi=hi+Math.imul(ah6,bh1)|0,lo=lo+Math.imul(al5,bl2)|0,mid=mid+Math.imul(al5,bh2)|0,mid=mid+Math.imul(ah5,bl2)|0,hi=hi+Math.imul(ah5,bh2)|0,lo=lo+Math.imul(al4,bl3)|0,mid=mid+Math.imul(al4,bh3)|0,mid=mid+Math.imul(ah4,bl3)|0,hi=hi+Math.imul(ah4,bh3)|0,lo=lo+Math.imul(al3,bl4)|0,mid=mid+Math.imul(al3,bh4)|0,mid=mid+Math.imul(ah3,bl4)|0,hi=hi+Math.imul(ah3,bh4)|0,lo=lo+Math.imul(al2,bl5)|0,mid=mid+Math.imul(al2,bh5)|0,mid=mid+Math.imul(ah2,bl5)|0,hi=hi+Math.imul(ah2,bh5)|0,lo=lo+Math.imul(al1,bl6)|0,mid=mid+Math.imul(al1,bh6)|0,mid=mid+Math.imul(ah1,bl6)|0,hi=hi+Math.imul(ah1,bh6)|0,lo=lo+Math.imul(al0,bl7)|0,mid=mid+Math.imul(al0,bh7)|0,mid=mid+Math.imul(ah0,bl7)|0,hi=hi+Math.imul(ah0,bh7)|0;var w7=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w7>>>26)|0,w7&=67108863,lo=Math.imul(al8,bl0),mid=Math.imul(al8,bh0),mid=mid+Math.imul(ah8,bl0)|0,hi=Math.imul(ah8,bh0),lo=lo+Math.imul(al7,bl1)|0,mid=mid+Math.imul(al7,bh1)|0,mid=mid+Math.imul(ah7,bl1)|0,hi=hi+Math.imul(ah7,bh1)|0,lo=lo+Math.imul(al6,bl2)|0,mid=mid+Math.imul(al6,bh2)|0,mid=mid+Math.imul(ah6,bl2)|0,hi=hi+Math.imul(ah6,bh2)|0,lo=lo+Math.imul(al5,bl3)|0,mid=mid+Math.imul(al5,bh3)|0,mid=mid+Math.imul(ah5,bl3)|0,hi=hi+Math.imul(ah5,bh3)|0,lo=lo+Math.imul(al4,bl4)|0,mid=mid+Math.imul(al4,bh4)|0,mid=mid+Math.imul(ah4,bl4)|0,hi=hi+Math.imul(ah4,bh4)|0,lo=lo+Math.imul(al3,bl5)|0,mid=mid+Math.imul(al3,bh5)|0,mid=mid+Math.imul(ah3,bl5)|0,hi=hi+Math.imul(ah3,bh5)|0,lo=lo+Math.imul(al2,bl6)|0,mid=mid+Math.imul(al2,bh6)|0,mid=mid+Math.imul(ah2,bl6)|0,hi=hi+Math.imul(ah2,bh6)|0,lo=lo+Math.imul(al1,bl7)|0,mid=mid+Math.imul(al1,bh7)|0,mid=mid+Math.imul(ah1,bl7)|0,hi=hi+Math.imul(ah1,bh7)|0,lo=lo+Math.imul(al0,bl8)|0,mid=mid+Math.imul(al0,bh8)|0,mid=mid+Math.imul(ah0,bl8)|0,hi=hi+Math.imul(ah0,bh8)|0;var w8=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w8>>>26)|0,w8&=67108863,lo=Math.imul(al9,bl0),mid=Math.imul(al9,bh0),mid=mid+Math.imul(ah9,bl0)|0,hi=Math.imul(ah9,bh0),lo=lo+Math.imul(al8,bl1)|0,mid=mid+Math.imul(al8,bh1)|0,mid=mid+Math.imul(ah8,bl1)|0,hi=hi+Math.imul(ah8,bh1)|0,lo=lo+Math.imul(al7,bl2)|0,mid=mid+Math.imul(al7,bh2)|0,mid=mid+Math.imul(ah7,bl2)|0,hi=hi+Math.imul(ah7,bh2)|0,lo=lo+Math.imul(al6,bl3)|0,mid=mid+Math.imul(al6,bh3)|0,mid=mid+Math.imul(ah6,bl3)|0,hi=hi+Math.imul(ah6,bh3)|0,lo=lo+Math.imul(al5,bl4)|0,mid=mid+Math.imul(al5,bh4)|0,mid=mid+Math.imul(ah5,bl4)|0,hi=hi+Math.imul(ah5,bh4)|0,lo=lo+Math.imul(al4,bl5)|0,mid=mid+Math.imul(al4,bh5)|0,mid=mid+Math.imul(ah4,bl5)|0,hi=hi+Math.imul(ah4,bh5)|0,lo=lo+Math.imul(al3,bl6)|0,mid=mid+Math.imul(al3,bh6)|0,mid=mid+Math.imul(ah3,bl6)|0,hi=hi+Math.imul(ah3,bh6)|0,lo=lo+Math.imul(al2,bl7)|0,mid=mid+Math.imul(al2,bh7)|0,mid=mid+Math.imul(ah2,bl7)|0,hi=hi+Math.imul(ah2,bh7)|0,lo=lo+Math.imul(al1,bl8)|0,mid=mid+Math.imul(al1,bh8)|0,mid=mid+Math.imul(ah1,bl8)|0,hi=hi+Math.imul(ah1,bh8)|0,lo=lo+Math.imul(al0,bl9)|0,mid=mid+Math.imul(al0,bh9)|0,mid=mid+Math.imul(ah0,bl9)|0,hi=hi+Math.imul(ah0,bh9)|0;var w9=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w9>>>26)|0,w9&=67108863,lo=Math.imul(al9,bl1),mid=Math.imul(al9,bh1),mid=mid+Math.imul(ah9,bl1)|0,hi=Math.imul(ah9,bh1),lo=lo+Math.imul(al8,bl2)|0,mid=mid+Math.imul(al8,bh2)|0,mid=mid+Math.imul(ah8,bl2)|0,hi=hi+Math.imul(ah8,bh2)|0,lo=lo+Math.imul(al7,bl3)|0,mid=mid+Math.imul(al7,bh3)|0,mid=mid+Math.imul(ah7,bl3)|0,hi=hi+Math.imul(ah7,bh3)|0,lo=lo+Math.imul(al6,bl4)|0,mid=mid+Math.imul(al6,bh4)|0,mid=mid+Math.imul(ah6,bl4)|0,hi=hi+Math.imul(ah6,bh4)|0,lo=lo+Math.imul(al5,bl5)|0,mid=mid+Math.imul(al5,bh5)|0,mid=mid+Math.imul(ah5,bl5)|0,hi=hi+Math.imul(ah5,bh5)|0,lo=lo+Math.imul(al4,bl6)|0,mid=mid+Math.imul(al4,bh6)|0,mid=mid+Math.imul(ah4,bl6)|0,hi=hi+Math.imul(ah4,bh6)|0,lo=lo+Math.imul(al3,bl7)|0,mid=mid+Math.imul(al3,bh7)|0,mid=mid+Math.imul(ah3,bl7)|0,hi=hi+Math.imul(ah3,bh7)|0,lo=lo+Math.imul(al2,bl8)|0,mid=mid+Math.imul(al2,bh8)|0,mid=mid+Math.imul(ah2,bl8)|0,hi=hi+Math.imul(ah2,bh8)|0,lo=lo+Math.imul(al1,bl9)|0,mid=mid+Math.imul(al1,bh9)|0,mid=mid+Math.imul(ah1,bl9)|0,hi=hi+Math.imul(ah1,bh9)|0;var w10=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w10>>>26)|0,w10&=67108863,lo=Math.imul(al9,bl2),mid=Math.imul(al9,bh2),mid=mid+Math.imul(ah9,bl2)|0,hi=Math.imul(ah9,bh2),lo=lo+Math.imul(al8,bl3)|0,mid=mid+Math.imul(al8,bh3)|0,mid=mid+Math.imul(ah8,bl3)|0,hi=hi+Math.imul(ah8,bh3)|0,lo=lo+Math.imul(al7,bl4)|0,mid=mid+Math.imul(al7,bh4)|0,mid=mid+Math.imul(ah7,bl4)|0,hi=hi+Math.imul(ah7,bh4)|0,lo=lo+Math.imul(al6,bl5)|0,mid=mid+Math.imul(al6,bh5)|0,mid=mid+Math.imul(ah6,bl5)|0,hi=hi+Math.imul(ah6,bh5)|0,lo=lo+Math.imul(al5,bl6)|0,mid=mid+Math.imul(al5,bh6)|0,mid=mid+Math.imul(ah5,bl6)|0,hi=hi+Math.imul(ah5,bh6)|0,lo=lo+Math.imul(al4,bl7)|0,mid=mid+Math.imul(al4,bh7)|0,mid=mid+Math.imul(ah4,bl7)|0,hi=hi+Math.imul(ah4,bh7)|0,lo=lo+Math.imul(al3,bl8)|0,mid=mid+Math.imul(al3,bh8)|0,mid=mid+Math.imul(ah3,bl8)|0,hi=hi+Math.imul(ah3,bh8)|0,lo=lo+Math.imul(al2,bl9)|0,mid=mid+Math.imul(al2,bh9)|0,mid=mid+Math.imul(ah2,bl9)|0,hi=hi+Math.imul(ah2,bh9)|0;var w11=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w11>>>26)|0,w11&=67108863,lo=Math.imul(al9,bl3),mid=Math.imul(al9,bh3),mid=mid+Math.imul(ah9,bl3)|0,hi=Math.imul(ah9,bh3),lo=lo+Math.imul(al8,bl4)|0,mid=mid+Math.imul(al8,bh4)|0,mid=mid+Math.imul(ah8,bl4)|0,hi=hi+Math.imul(ah8,bh4)|0,lo=lo+Math.imul(al7,bl5)|0,mid=mid+Math.imul(al7,bh5)|0,mid=mid+Math.imul(ah7,bl5)|0,hi=hi+Math.imul(ah7,bh5)|0,lo=lo+Math.imul(al6,bl6)|0,mid=mid+Math.imul(al6,bh6)|0,mid=mid+Math.imul(ah6,bl6)|0,hi=hi+Math.imul(ah6,bh6)|0,lo=lo+Math.imul(al5,bl7)|0,mid=mid+Math.imul(al5,bh7)|0,mid=mid+Math.imul(ah5,bl7)|0,hi=hi+Math.imul(ah5,bh7)|0,lo=lo+Math.imul(al4,bl8)|0,mid=mid+Math.imul(al4,bh8)|0,mid=mid+Math.imul(ah4,bl8)|0,hi=hi+Math.imul(ah4,bh8)|0,lo=lo+Math.imul(al3,bl9)|0,mid=mid+Math.imul(al3,bh9)|0,mid=mid+Math.imul(ah3,bl9)|0,hi=hi+Math.imul(ah3,bh9)|0;var w12=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w12>>>26)|0,w12&=67108863,lo=Math.imul(al9,bl4),mid=Math.imul(al9,bh4),mid=mid+Math.imul(ah9,bl4)|0,hi=Math.imul(ah9,bh4),lo=lo+Math.imul(al8,bl5)|0,mid=mid+Math.imul(al8,bh5)|0,mid=mid+Math.imul(ah8,bl5)|0,hi=hi+Math.imul(ah8,bh5)|0,lo=lo+Math.imul(al7,bl6)|0,mid=mid+Math.imul(al7,bh6)|0,mid=mid+Math.imul(ah7,bl6)|0,hi=hi+Math.imul(ah7,bh6)|0,lo=lo+Math.imul(al6,bl7)|0,mid=mid+Math.imul(al6,bh7)|0,mid=mid+Math.imul(ah6,bl7)|0,hi=hi+Math.imul(ah6,bh7)|0,lo=lo+Math.imul(al5,bl8)|0,mid=mid+Math.imul(al5,bh8)|0,mid=mid+Math.imul(ah5,bl8)|0,hi=hi+Math.imul(ah5,bh8)|0,lo=lo+Math.imul(al4,bl9)|0,mid=mid+Math.imul(al4,bh9)|0,mid=mid+Math.imul(ah4,bl9)|0,hi=hi+Math.imul(ah4,bh9)|0;var w13=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w13>>>26)|0,w13&=67108863,lo=Math.imul(al9,bl5),mid=Math.imul(al9,bh5),mid=mid+Math.imul(ah9,bl5)|0,hi=Math.imul(ah9,bh5),lo=lo+Math.imul(al8,bl6)|0,mid=mid+Math.imul(al8,bh6)|0,mid=mid+Math.imul(ah8,bl6)|0,hi=hi+Math.imul(ah8,bh6)|0,lo=lo+Math.imul(al7,bl7)|0,mid=mid+Math.imul(al7,bh7)|0,mid=mid+Math.imul(ah7,bl7)|0,hi=hi+Math.imul(ah7,bh7)|0,lo=lo+Math.imul(al6,bl8)|0,mid=mid+Math.imul(al6,bh8)|0,mid=mid+Math.imul(ah6,bl8)|0,hi=hi+Math.imul(ah6,bh8)|0,lo=lo+Math.imul(al5,bl9)|0,mid=mid+Math.imul(al5,bh9)|0,mid=mid+Math.imul(ah5,bl9)|0,hi=hi+Math.imul(ah5,bh9)|0;var w14=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w14>>>26)|0,w14&=67108863,lo=Math.imul(al9,bl6),mid=Math.imul(al9,bh6),mid=mid+Math.imul(ah9,bl6)|0,hi=Math.imul(ah9,bh6),lo=lo+Math.imul(al8,bl7)|0,mid=mid+Math.imul(al8,bh7)|0,mid=mid+Math.imul(ah8,bl7)|0,hi=hi+Math.imul(ah8,bh7)|0,lo=lo+Math.imul(al7,bl8)|0,mid=mid+Math.imul(al7,bh8)|0,mid=mid+Math.imul(ah7,bl8)|0,hi=hi+Math.imul(ah7,bh8)|0,lo=lo+Math.imul(al6,bl9)|0,mid=mid+Math.imul(al6,bh9)|0,mid=mid+Math.imul(ah6,bl9)|0,hi=hi+Math.imul(ah6,bh9)|0;var w15=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w15>>>26)|0,w15&=67108863,lo=Math.imul(al9,bl7),mid=Math.imul(al9,bh7),mid=mid+Math.imul(ah9,bl7)|0,hi=Math.imul(ah9,bh7),lo=lo+Math.imul(al8,bl8)|0,mid=mid+Math.imul(al8,bh8)|0,mid=mid+Math.imul(ah8,bl8)|0,hi=hi+Math.imul(ah8,bh8)|0,lo=lo+Math.imul(al7,bl9)|0,mid=mid+Math.imul(al7,bh9)|0,mid=mid+Math.imul(ah7,bl9)|0,hi=hi+Math.imul(ah7,bh9)|0;var w16=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w16>>>26)|0,w16&=67108863,lo=Math.imul(al9,bl8),mid=Math.imul(al9,bh8),mid=mid+Math.imul(ah9,bl8)|0,hi=Math.imul(ah9,bh8),lo=lo+Math.imul(al8,bl9)|0,mid=mid+Math.imul(al8,bh9)|0,mid=mid+Math.imul(ah8,bl9)|0,hi=hi+Math.imul(ah8,bh9)|0;var w17=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w17>>>26)|0,w17&=67108863,lo=Math.imul(al9,bl9),mid=Math.imul(al9,bh9),mid=mid+Math.imul(ah9,bl9)|0,hi=Math.imul(ah9,bh9);var w18=(c+lo|0)+((mid&8191)<<13)|0;return c=(hi+(mid>>>13)|0)+(w18>>>26)|0,w18&=67108863,o[0]=w0,o[1]=w1,o[2]=w2,o[3]=w3,o[4]=w4,o[5]=w5,o[6]=w6,o[7]=w7,o[8]=w8,o[9]=w9,o[10]=w10,o[11]=w11,o[12]=w12,o[13]=w13,o[14]=w14,o[15]=w15,o[16]=w16,o[17]=w17,o[18]=w18,c!==0&&(o[19]=c,out.length++),out};Math.imul||(comb10MulTo=smallMulTo);function bigMulTo(self2,num,out){out.negative=num.negative^self2.negative,out.length=self2.length+num.length;for(var carry=0,hncarry=0,k=0;k>>26)|0,hncarry+=ncarry>>>26,ncarry&=67108863}out.words[k]=rword,carry=ncarry,ncarry=hncarry}return carry!==0\?out.words[k]=carry:out.length--,out._strip()}function jumboMulTo(self2,num,out){return bigMulTo(self2,num,out)}BN.prototype.mulTo=function(num,out){var res,len=this.length+num.length;return this.length===10&&num.length===10\?res=comb10MulTo(this,num,out):len<63\?res=smallMulTo(this,num,out):len<1024\?res=bigMulTo(this,num,out):res=jumboMulTo(this,num,out),res};function FFTM(x,y){this.x=x,this.y=y}FFTM.prototype.makeRBT=function(N){for(var t=new Array(N),l=BN.prototype._countBits(N)-1,i=0;i>=1;return rb},FFTM.prototype.permute=function(rbt,rws,iws,rtws,itws,N){for(var i=0;i>>1)i++;return 1<>>13,rws[2*i+1]=carry&8191,carry=carry>>>13;for(i=2*len;i>=26,carry+=w/67108864|0,carry+=lo>>>26,this.words[i]=lo&67108863}return carry!==0&&(this.words[i]=carry,this.length++),isNegNum\?this.ineg():this},BN.prototype.muln=function(num){return this.clone().imuln(num)},BN.prototype.sqr=function(){return this.mul(this)},BN.prototype.isqr=function(){return this.imul(this.clone())},BN.prototype.pow=function(num){var w=toBitArray(num);if(w.length===0)return new BN(1);for(var res=this,i=0;i=0);var r=bits%26,s=(bits-r)/26,carryMask=67108863>>>26-r<<26-r,i;if(r!==0){var carry=0;for(i=0;i>>26-r}carry&&(this.words[i]=carry,this.length++)}if(s!==0){for(i=this.length-1;i>=0;i--)this.words[i+s]=this.words[i];for(i=0;i=0);var h;hint\?h=(hint-hint%26)/26:h=0;var r=bits%26,s=Math.min((bits-r)/26,this.length),mask=67108863^67108863>>>r<s)for(this.length-=s,i=0;i=0&&(carry!==0||i>=h);i--){var word=this.words[i]|0;this.words[i]=carry<<26-r|word>>>r,carry=word&mask}return maskedWords&&carry!==0&&(maskedWords.words[maskedWords.length++]=carry),this.length===0&&(this.words[0]=0,this.length=1),this._strip()},BN.prototype.ishrn=function(bits,hint,extended){return assert(this.negative===0),this.iushrn(bits,hint,extended)},BN.prototype.shln=function(bits){return this.clone().ishln(bits)},BN.prototype.ushln=function(bits){return this.clone().iushln(bits)},BN.prototype.shrn=function(bits){return this.clone().ishrn(bits)},BN.prototype.ushrn=function(bits){return this.clone().iushrn(bits)},BN.prototype.testn=function(bit){assert(typeof bit==\"number\"&&bit>=0);var r=bit%26,s=(bit-r)/26,q=1<=0);var r=bits%26,s=(bits-r)/26;if(assert(this.negative===0,\"imaskn works only with positive numbers\"),this.length<=s)return this;if(r!==0&&s++,this.length=Math.min(s,this.length),r!==0){var mask=67108863^67108863>>>r<=67108864;i++)this.words[i]-=67108864,i===this.length-1\?this.words[i+1]=1:this.words[i+1]++;return this.length=Math.max(this.length,i+1),this},BN.prototype.isubn=function(num){if(assert(typeof num==\"number\"),assert(num<67108864),num<0)return this.iaddn(-num);if(this.negative!==0)return this.negative=0,this.iaddn(num),this.negative=1,this;if(this.words[0]-=num,this.length===1&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var i=0;i>26)-(right/67108864|0),this.words[i+shift]=w&67108863}for(;i>26,this.words[i+shift]=w&67108863;if(carry===0)return this._strip();for(assert(carry===-1),carry=0,i=0;i>26,this.words[i]=w&67108863;return this.negative=1,this._strip()},BN.prototype._wordDiv=function(num,mode){var shift=this.length-num.length,a=this.clone(),b=num,bhi=b.words[b.length-1]|0,bhiBits=this._countBits(bhi);shift=26-bhiBits,shift!==0&&(b=b.ushln(shift),a.iushln(shift),bhi=b.words[b.length-1]|0);var m=a.length-b.length,q;if(mode!==\"mod\"){q=new BN(null),q.length=m+1,q.words=new Array(q.length);for(var i=0;i=0;j--){var qj=(a.words[b.length+j]|0)*67108864+(a.words[b.length+j-1]|0);for(qj=Math.min(qj/bhi|0,67108863),a._ishlnsubmul(b,qj,j);a.negative!==0;)qj--,a.negative=0,a._ishlnsubmul(b,1,j),a.isZero()||(a.negative^=1);q&&(q.words[j]=qj)}return q&&q._strip(),a._strip(),mode!==\"div\"&&shift!==0&&a.iushrn(shift),{div:q||null,mod:a}},BN.prototype.divmod=function(num,mode,positive){if(assert(!num.isZero()),this.isZero())return{div:new BN(0),mod:new BN(0)};var div,mod,res;return this.negative!==0&&num.negative===0\?(res=this.neg().divmod(num,mode),mode!==\"mod\"&&(div=res.div.neg()),mode!==\"div\"&&(mod=res.mod.neg(),positive&&mod.negative!==0&&mod.iadd(num)),{div,mod}):this.negative===0&&num.negative!==0\?(res=this.divmod(num.neg(),mode),mode!==\"mod\"&&(div=res.div.neg()),{div,mod:res.mod}):(this.negative&num.negative)!==0\?(res=this.neg().divmod(num.neg(),mode),mode!==\"div\"&&(mod=res.mod.neg(),positive&&mod.negative!==0&&mod.isub(num)),{div:res.div,mod}):num.length>this.length||this.cmp(num)<0\?{div:new BN(0),mod:this}:num.length===1\?mode===\"div\"\?{div:this.divn(num.words[0]),mod:null}:mode===\"mod\"\?{div:null,mod:new BN(this.modrn(num.words[0]))}:{div:this.divn(num.words[0]),mod:new BN(this.modrn(num.words[0]))}:this._wordDiv(num,mode)},BN.prototype.div=function(num){return this.divmod(num,\"div\",!1).div},BN.prototype.mod=function(num){return this.divmod(num,\"mod\",!1).mod},BN.prototype.umod=function(num){return this.divmod(num,\"mod\",!0).mod},BN.prototype.divRound=function(num){var dm=this.divmod(num);if(dm.mod.isZero())return dm.div;var mod=dm.div.negative!==0\?dm.mod.isub(num):dm.mod,half=num.ushrn(1),r2=num.andln(1),cmp=mod.cmp(half);return cmp<0||r2===1&&cmp===0\?dm.div:dm.div.negative!==0\?dm.div.isubn(1):dm.div.iaddn(1)},BN.prototype.modrn=function(num){var isNegNum=num<0;isNegNum&&(num=-num),assert(num<=67108863);for(var p=(1<<26)%num,acc=0,i=this.length-1;i>=0;i--)acc=(p*acc+(this.words[i]|0))%num;return isNegNum\?-acc:acc},BN.prototype.modn=function(num){return this.modrn(num)},BN.prototype.idivn=function(num){var isNegNum=num<0;isNegNum&&(num=-num),assert(num<=67108863);for(var carry=0,i=this.length-1;i>=0;i--){var w=(this.words[i]|0)+carry*67108864;this.words[i]=w/num|0,carry=w%num}return this._strip(),isNegNum\?this.ineg():this},BN.prototype.divn=function(num){return this.clone().idivn(num)},BN.prototype.egcd=function(p){assert(p.negative===0),assert(!p.isZero());var x=this,y=p.clone();x.negative!==0\?x=x.umod(p):x=x.clone();for(var A=new BN(1),B=new BN(0),C=new BN(0),D=new BN(1),g=0;x.isEven()&&y.isEven();)x.iushrn(1),y.iushrn(1),++g;for(var yp=y.clone(),xp=x.clone();!x.isZero();){for(var i=0,im=1;(x.words[0]&im)===0&&i<26;++i,im<<=1);if(i>0)for(x.iushrn(i);i-- >0;)(A.isOdd()||B.isOdd())&&(A.iadd(yp),B.isub(xp)),A.iushrn(1),B.iushrn(1);for(var j=0,jm=1;(y.words[0]&jm)===0&&j<26;++j,jm<<=1);if(j>0)for(y.iushrn(j);j-- >0;)(C.isOdd()||D.isOdd())&&(C.iadd(yp),D.isub(xp)),C.iushrn(1),D.iushrn(1);x.cmp(y)>=0\?(x.isub(y),A.isub(C),B.isub(D)):(y.isub(x),C.isub(A),D.isub(B))}return{a:C,b:D,gcd:y.iushln(g)}},BN.prototype._invmp=function(p){assert(p.negative===0),assert(!p.isZero());var a=this,b=p.clone();a.negative!==0\?a=a.umod(p):a=a.clone();for(var x1=new BN(1),x2=new BN(0),delta=b.clone();a.cmpn(1)>0&&b.cmpn(1)>0;){for(var i=0,im=1;(a.words[0]&im)===0&&i<26;++i,im<<=1);if(i>0)for(a.iushrn(i);i-- >0;)x1.isOdd()&&x1.iadd(delta),x1.iushrn(1);for(var j=0,jm=1;(b.words[0]&jm)===0&&j<26;++j,jm<<=1);if(j>0)for(b.iushrn(j);j-- >0;)x2.isOdd()&&x2.iadd(delta),x2.iushrn(1);a.cmp(b)>=0\?(a.isub(b),x1.isub(x2)):(b.isub(a),x2.isub(x1))}var res;return a.cmpn(1)===0\?res=x1:res=x2,res.cmpn(0)<0&&res.iadd(p),res},BN.prototype.gcd=function(num){if(this.isZero())return num.abs();if(num.isZero())return this.abs();var a=this.clone(),b=num.clone();a.negative=0,b.negative=0;for(var shift=0;a.isEven()&&b.isEven();shift++)a.iushrn(1),b.iushrn(1);do{for(;a.isEven();)a.iushrn(1);for(;b.isEven();)b.iushrn(1);var r=a.cmp(b);if(r<0){var t=a;a=b,b=t}else if(r===0||b.cmpn(1)===0)break;a.isub(b)}while(!0);return b.iushln(shift)},BN.prototype.invm=function(num){return this.egcd(num).a.umod(num)},BN.prototype.isEven=function(){return(this.words[0]&1)===0},BN.prototype.isOdd=function(){return(this.words[0]&1)===1},BN.prototype.andln=function(num){return this.words[0]&num},BN.prototype.bincn=function(bit){assert(typeof bit==\"number\");var r=bit%26,s=(bit-r)/26,q=1<>>26,w&=67108863,this.words[i]=w}return carry!==0&&(this.words[i]=carry,this.length++),this},BN.prototype.isZero=function(){return this.length===1&&this.words[0]===0},BN.prototype.cmpn=function(num){var negative=num<0;if(this.negative!==0&&!negative)return-1;if(this.negative===0&&negative)return 1;this._strip();var res;if(this.length>1)res=1;else{negative&&(num=-num),assert(num<=67108863,\"Number is too big\");var w=this.words[0]|0;res=w===num\?0:wnum.length)return 1;if(this.length=0;i--){var a=this.words[i]|0,b=num.words[i]|0;if(a!==b){ab&&(res=1);break}}return res},BN.prototype.gtn=function(num){return this.cmpn(num)===1},BN.prototype.gt=function(num){return this.cmp(num)===1},BN.prototype.gten=function(num){return this.cmpn(num)>=0},BN.prototype.gte=function(num){return this.cmp(num)>=0},BN.prototype.ltn=function(num){return this.cmpn(num)===-1},BN.prototype.lt=function(num){return this.cmp(num)===-1},BN.prototype.lten=function(num){return this.cmpn(num)<=0},BN.prototype.lte=function(num){return this.cmp(num)<=0},BN.prototype.eqn=function(num){return this.cmpn(num)===0},BN.prototype.eq=function(num){return this.cmp(num)===0},BN.red=function(num){return new Red(num)},BN.prototype.toRed=function(ctx){return assert(!this.red,\"Already a number in reduction context\"),assert(this.negative===0,\"red works only with positives\"),ctx.convertTo(this)._forceRed(ctx)},BN.prototype.fromRed=function(){return assert(this.red,\"fromRed works only with numbers in reduction context\"),this.red.convertFrom(this)},BN.prototype._forceRed=function(ctx){return this.red=ctx,this},BN.prototype.forceRed=function(ctx){return assert(!this.red,\"Already a number in reduction context\"),this._forceRed(ctx)},BN.prototype.redAdd=function(num){return assert(this.red,\"redAdd works only with red numbers\"),this.red.add(this,num)},BN.prototype.redIAdd=function(num){return assert(this.red,\"redIAdd works only with red numbers\"),this.red.iadd(this,num)},BN.prototype.redSub=function(num){return assert(this.red,\"redSub works only with red numbers\"),this.red.sub(this,num)},BN.prototype.redISub=function(num){return assert(this.red,\"redISub works only with red numbers\"),this.red.isub(this,num)},BN.prototype.redShl=function(num){return assert(this.red,\"redShl works only with red numbers\"),this.red.shl(this,num)},BN.prototype.redMul=function(num){return assert(this.red,\"redMul works only with red numbers\"),this.red._verify2(this,num),this.red.mul(this,num)},BN.prototype.redIMul=function(num){return assert(this.red,\"redMul works only with red numbers\"),this.red._verify2(this,num),this.red.imul(this,num)},BN.prototype.redSqr=function(){return assert(this.red,\"redSqr works only with red numbers\"),this.red._verify1(this),this.red.sqr(this)},BN.prototype.redISqr=function(){return assert(this.red,\"redISqr works only with red numbers\"),this.red._verify1(this),this.red.isqr(this)},BN.prototype.redSqrt=function(){return assert(this.red,\"redSqrt works only with red numbers\"),this.red._verify1(this),this.red.sqrt(this)},BN.prototype.redInvm=function(){return assert(this.red,\"redInvm works only with red numbers\"),this.red._verify1(this),this.red.invm(this)},BN.prototype.redNeg=function(){return assert(this.red,\"redNeg works only with red numbers\"),this.red._verify1(this),this.red.neg(this)},BN.prototype.redPow=function(num){return assert(this.red&&!num.red,\"redPow(normalNum)\"),this.red._verify1(this),this.red.pow(this,num)};var primes={k256:null,p224:null,p192:null,p25519:null};function MPrime(name,p){this.name=name,this.p=new BN(p,16),this.n=this.p.bitLength(),this.k=new BN(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}MPrime.prototype._tmp=function(){var tmp=new BN(null);return tmp.words=new Array(Math.ceil(this.n/13)),tmp},MPrime.prototype.ireduce=function(num){var r=num,rlen;do this.split(r,this.tmp),r=this.imulK(r),r=r.iadd(this.tmp),rlen=r.bitLength();while(rlen>this.n);var cmp=rlen0\?r.isub(this.p):r.strip!==void 0\?r.strip():r._strip(),r},MPrime.prototype.split=function(input,out){input.iushrn(this.n,0,out)},MPrime.prototype.imulK=function(num){return num.imul(this.k)};function K256(){MPrime.call(this,\"k256\",\"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f\")}inherits(K256,MPrime),K256.prototype.split=function(input,output){for(var mask=4194303,outLen=Math.min(input.length,9),i=0;i>>22,prev=next}prev>>>=22,input.words[i-10]=prev,prev===0&&input.length>10\?input.length-=10:input.length-=9},K256.prototype.imulK=function(num){num.words[num.length]=0,num.words[num.length+1]=0,num.length+=2;for(var lo=0,i=0;i>>=26,num.words[i]=lo,carry=hi}return carry!==0&&(num.words[num.length++]=carry),num},BN._prime=function(name){if(primes[name])return primes[name];var prime2;if(name===\"k256\")prime2=new K256;else if(name===\"p224\")prime2=new P224;else if(name===\"p192\")prime2=new P192;else if(name===\"p25519\")prime2=new P25519;else throw new Error(\"Unknown prime \"+name);return primes[name]=prime2,prime2};function Red(m){if(typeof m==\"string\"){var prime=BN._prime(m);this.m=prime.p,this.prime=prime}else assert(m.gtn(1),\"modulus must be greater than 1\"),this.m=m,this.prime=null}Red.prototype._verify1=function(a){assert(a.negative===0,\"red works only with positives\"),assert(a.red,\"red works only with red numbers\")},Red.prototype._verify2=function(a,b){assert((a.negative|b.negative)===0,\"red works only with positives\"),assert(a.red&&a.red===b.red,\"red works only with red numbers\")},Red.prototype.imod=function(a){return this.prime\?this.prime.ireduce(a)._forceRed(this):(move(a,a.umod(this.m)._forceRed(this)),a)},Red.prototype.neg=function(a){return a.isZero()\?a.clone():this.m.sub(a)._forceRed(this)},Red.prototype.add=function(a,b){this._verify2(a,b);var res=a.add(b);return res.cmp(this.m)>=0&&res.isub(this.m),res._forceRed(this)},Red.prototype.iadd=function(a,b){this._verify2(a,b);var res=a.iadd(b);return res.cmp(this.m)>=0&&res.isub(this.m),res},Red.prototype.sub=function(a,b){this._verify2(a,b);var res=a.sub(b);return res.cmpn(0)<0&&res.iadd(this.m),res._forceRed(this)},Red.prototype.isub=function(a,b){this._verify2(a,b);var res=a.isub(b);return res.cmpn(0)<0&&res.iadd(this.m),res},Red.prototype.shl=function(a,num){return this._verify1(a),this.imod(a.ushln(num))},Red.prototype.imul=function(a,b){return this._verify2(a,b),this.imod(a.imul(b))},Red.prototype.mul=function(a,b){return this._verify2(a,b),this.imod(a.mul(b))},Red.prototype.isqr=function(a){return this.imul(a,a.clone())},Red.prototype.sqr=function(a){return this.mul(a,a)},Red.prototype.sqrt=function(a){if(a.isZero())return a.clone();var mod3=this.m.andln(3);if(assert(mod3%2===1),mod3===3){var pow=this.m.add(new BN(1)).iushrn(2);return this.pow(a,pow)}for(var q=this.m.subn(1),s=0;!q.isZero()&&q.andln(1)===0;)s++,q.iushrn(1);assert(!q.isZero());var one=new BN(1).toRed(this),nOne=one.redNeg(),lpow=this.m.subn(1).iushrn(1),z=this.m.bitLength();for(z=new BN(2*z*z).toRed(this);this.pow(z,lpow).cmp(nOne)!==0;)z.redIAdd(nOne);for(var c=this.pow(z,q),r=this.pow(a,q.addn(1).iushrn(1)),t=this.pow(a,q),m=s;t.cmp(one)!==0;){for(var tmp=t,i=0;tmp.cmp(one)!==0;i++)tmp=tmp.redSqr();assert(i=0;i--){for(var word=num.words[i],j=start-1;j>=0;j--){var bit=word>>j&1;if(res!==wnd[0]&&(res=this.sqr(res)),bit===0&¤t===0){currentLen=0;continue}current<<=1,current|=bit,currentLen++,!(currentLen!==windowSize&&(i!==0||j!==0))&&(res=this.mul(res,wnd[current]),currentLen=0,current=0)}start=26}return res},Red.prototype.convertTo=function(num){var r=num.umod(this.m);return r===num\?r.clone():r},Red.prototype.convertFrom=function(num){var res=num.clone();return res.red=null,res},BN.mont=function(num){return new Mont(num)};function Mont(m){Red.call(this,m),this.shift=this.m.bitLength(),this.shift%26!==0&&(this.shift+=26-this.shift%26),this.r=new BN(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}inherits(Mont,Red),Mont.prototype.convertTo=function(num){return this.imod(num.ushln(this.shift))},Mont.prototype.convertFrom=function(num){var r=this.imod(num.mul(this.rinv));return r.red=null,r},Mont.prototype.imul=function(a,b){if(a.isZero()||b.isZero())return a.words[0]=0,a.length=1,a;var t=a.imul(b),c=t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),u=t.isub(c).iushrn(this.shift),res=u;return u.cmp(this.m)>=0\?res=u.isub(this.m):u.cmpn(0)<0&&(res=u.iadd(this.m)),res._forceRed(this)},Mont.prototype.mul=function(a,b){if(a.isZero()||b.isZero())return new BN(0)._forceRed(this);var t=a.mul(b),c=t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),u=t.isub(c).iushrn(this.shift),res=u;return u.cmp(this.m)>=0\?res=u.isub(this.m):u.cmpn(0)<0&&(res=u.iadd(this.m)),res._forceRed(this)},Mont.prototype.invm=function(a){var res=this.imod(a._invmp(this.m).mul(this.r2));return res._forceRed(this)}})(typeof module>\"u\"||module,exports)}}),require_browserify_rsa=__commonJS({\"node_modules/browserify-rsa/index.js\"(exports,module){var BN=require_bn3(),randomBytes=require_browser();function blind(priv){var r=getr(priv),blinder=r.toRed(BN.mont(priv.modulus)).redPow(new BN(priv.publicExponent)).fromRed();return{blinder,unblinder:r.invm(priv.modulus)}}function getr(priv){var len=priv.modulus.byteLength(),r;do r=new BN(randomBytes(len));while(r.cmp(priv.modulus)>=0||!r.umod(priv.prime1)||!r.umod(priv.prime2));return r}function crt(msg,priv){var blinds=blind(priv),len=priv.modulus.byteLength(),blinded=new BN(msg).mul(blinds.blinder).umod(priv.modulus),c1=blinded.toRed(BN.mont(priv.prime1)),c2=blinded.toRed(BN.mont(priv.prime2)),qinv=priv.coefficient,p=priv.prime1,q=priv.prime2,m1=c1.redPow(priv.exponent1).fromRed(),m2=c2.redPow(priv.exponent2).fromRed(),h=m1.isub(m2).imul(qinv).umod(p).imul(q);return m2.iadd(h).imul(blinds.unblinder).umod(priv.modulus).toArrayLike(Buffer,\"be\",len)}crt.getr=getr,module.exports=crt}}),require_package=__commonJS({\"node_modules/elliptic/package.json\"(exports,module){module.exports={name:\"elliptic\",version:\"6.5.4\",description:\"EC cryptography\",main:\"lib/elliptic.js\",files:[\"lib\"],scripts:{lint:\"eslint lib test\",\"lint:fix\":\"npm run lint -- --fix\",unit:\"istanbul test _mocha --reporter=spec test/index.js\",test:\"npm run lint && npm run unit\",version:\"grunt dist && git add dist/\"},repository:{type:\"git\",url:\"git@github.com:indutny/elliptic\"},keywords:[\"EC\",\"Elliptic\",\"curve\",\"Cryptography\"],author:\"Fedor Indutny \",license:\"MIT\",bugs:{url:\"https://github.com/indutny/elliptic/issues\"},homepage:\"https://github.com/indutny/elliptic\",devDependencies:{brfs:\"^2.0.2\",coveralls:\"^3.1.0\",eslint:\"^7.6.0\",grunt:\"^1.2.1\",\"grunt-browserify\":\"^5.3.0\",\"grunt-cli\":\"^1.3.2\",\"grunt-contrib-connect\":\"^3.0.0\",\"grunt-contrib-copy\":\"^1.0.0\",\"grunt-contrib-uglify\":\"^5.0.0\",\"grunt-mocha-istanbul\":\"^5.0.2\",\"grunt-saucelabs\":\"^9.0.1\",istanbul:\"^0.4.5\",mocha:\"^8.0.1\"},dependencies:{\"bn.js\":\"^4.11.9\",brorand:\"^1.1.0\",\"hash.js\":\"^1.0.0\",\"hmac-drbg\":\"^1.0.1\",inherits:\"^2.0.4\",\"minimalistic-assert\":\"^1.0.1\",\"minimalistic-crypto-utils\":\"^1.0.1\"}}}}),require_bn4=__commonJS({\"node_modules/elliptic/node_modules/bn.js/lib/bn.js\"(exports,module){(function(module2,exports2){function assert(val,msg){if(!val)throw new Error(msg||\"Assertion failed\")}function inherits(ctor,superCtor){ctor.super_=superCtor;var TempCtor=function(){};TempCtor.prototype=superCtor.prototype,ctor.prototype=new TempCtor,ctor.prototype.constructor=ctor}function BN(number,base,endian){if(BN.isBN(number))return number;this.negative=0,this.words=null,this.length=0,this.red=null,number!==null&&((base===\"le\"||base===\"be\")&&(endian=base,base=10),this._init(number||0,base||10,endian||\"be\"))}typeof module2==\"object\"\?module2.exports=BN:exports2.BN=BN,BN.BN=BN,BN.wordSize=26;var Buffer2=Buffer;BN.isBN=function(num){return num instanceof BN\?!0:num!==null&&typeof num==\"object\"&&num.constructor.wordSize===BN.wordSize&&Array.isArray(num.words)},BN.max=function(left,right){return left.cmp(right)>0\?left:right},BN.min=function(left,right){return left.cmp(right)<0\?left:right},BN.prototype._init=function(number,base,endian){if(typeof number==\"number\")return this._initNumber(number,base,endian);if(typeof number==\"object\")return this._initArray(number,base,endian);base===\"hex\"&&(base=16),assert(base===(base|0)&&base>=2&&base<=36),number=number.toString().replace(/\\s+/g,\"\");var start=0;number[0]===\"-\"&&(start++,this.negative=1),start=0;i-=3)w=number[i]|number[i-1]<<8|number[i-2]<<16,this.words[j]|=w<>>26-off&67108863,off+=24,off>=26&&(off-=26,j++);else if(endian===\"le\")for(i=0,j=0;i>>26-off&67108863,off+=24,off>=26&&(off-=26,j++);return this.strip()};function parseHex4Bits(string,index){var c=string.charCodeAt(index);return c>=65&&c<=70\?c-55:c>=97&&c<=102\?c-87:c-48&15}function parseHexByte(string,lowerBound,index){var r=parseHex4Bits(string,index);return index-1>=lowerBound&&(r|=parseHex4Bits(string,index-1)<<4),r}BN.prototype._parseHex=function(number,start,endian){this.length=Math.ceil((number.length-start)/6),this.words=new Array(this.length);for(var i=0;i=start;i-=2)w=parseHexByte(number,start,i)<=18\?(off-=18,j+=1,this.words[j]|=w>>>26):off+=8;else{var parseLength=number.length-start;for(i=parseLength%2===0\?start+1:start;i=18\?(off-=18,j+=1,this.words[j]|=w>>>26):off+=8}this.strip()};function parseBase(str,start,end,mul){for(var r=0,len=Math.min(str.length,end),i=start;i=49\?r+=c-49+10:c>=17\?r+=c-17+10:r+=c}return r}BN.prototype._parseBase=function(number,base,start){this.words=[0],this.length=1;for(var limbLen=0,limbPow=1;limbPow<=67108863;limbPow*=base)limbLen++;limbLen--,limbPow=limbPow/base|0;for(var total=number.length-start,mod=total%limbLen,end=Math.min(total,total-mod)+start,word=0,i=start;i1&&this.words[this.length-1]===0;)this.length--;return this._normSign()},BN.prototype._normSign=function(){return this.length===1&&this.words[0]===0&&(this.negative=0),this},BN.prototype.inspect=function(){return(this.red\?\"\"};var zeros=[\"\",\"0\",\"00\",\"000\",\"0000\",\"00000\",\"000000\",\"0000000\",\"00000000\",\"000000000\",\"0000000000\",\"00000000000\",\"000000000000\",\"0000000000000\",\"00000000000000\",\"000000000000000\",\"0000000000000000\",\"00000000000000000\",\"000000000000000000\",\"0000000000000000000\",\"00000000000000000000\",\"000000000000000000000\",\"0000000000000000000000\",\"00000000000000000000000\",\"000000000000000000000000\",\"0000000000000000000000000\"],groupSizes=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],groupBases=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64000000,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,24300000,28629151,33554432,39135393,45435424,52521875,60466176];BN.prototype.toString=function(base,padding){base=base||10,padding=padding|0||1;var out;if(base===16||base===\"hex\"){out=\"\";for(var off=0,carry=0,i=0;i>>24-off&16777215,carry!==0||i!==this.length-1\?out=zeros[6-word.length]+word+out:out=word+out,off+=2,off>=26&&(off-=26,i--)}for(carry!==0&&(out=carry.toString(16)+out);out.length%padding!==0;)out=\"0\"+out;return this.negative!==0&&(out=\"-\"+out),out}if(base===(base|0)&&base>=2&&base<=36){var groupSize=groupSizes[base],groupBase=groupBases[base];out=\"\";var c=this.clone();for(c.negative=0;!c.isZero();){var r=c.modn(groupBase).toString(base);c=c.idivn(groupBase),c.isZero()\?out=r+out:out=zeros[groupSize-r.length]+r+out}for(this.isZero()&&(out=\"0\"+out);out.length%padding!==0;)out=\"0\"+out;return this.negative!==0&&(out=\"-\"+out),out}assert(!1,\"Base should be between 2 and 36\")},BN.prototype.toNumber=function(){var ret=this.words[0];return this.length===2\?ret+=this.words[1]*67108864:this.length===3&&this.words[2]===1\?ret+=4503599627370496+this.words[1]*67108864:this.length>2&&assert(!1,\"Number can only safely store up to 53 bits\"),this.negative!==0\?-ret:ret},BN.prototype.toJSON=function(){return this.toString(16)},BN.prototype.toBuffer=function(endian,length){return assert(typeof Buffer2<\"u\"),this.toArrayLike(Buffer2,endian,length)},BN.prototype.toArray=function(endian,length){return this.toArrayLike(Array,endian,length)},BN.prototype.toArrayLike=function(ArrayType,endian,length){var byteLength=this.byteLength(),reqLength=length||Math.max(1,byteLength);assert(byteLength<=reqLength,\"byte array longer than desired length\"),assert(reqLength>0,\"Requested array length <= 0\"),this.strip();var littleEndian=endian===\"le\",res=new ArrayType(reqLength),b,i,q=this.clone();if(littleEndian){for(i=0;!q.isZero();i++)b=q.andln(255),q.iushrn(8),res[i]=b;for(;i=4096&&(r+=13,t>>>=13),t>=64&&(r+=7,t>>>=7),t>=8&&(r+=4,t>>>=4),t>=2&&(r+=2,t>>>=2),r+t},BN.prototype._zeroBits=function(w){if(w===0)return 26;var t=w,r=0;return(t&8191)===0&&(r+=13,t>>>=13),(t&127)===0&&(r+=7,t>>>=7),(t&15)===0&&(r+=4,t>>>=4),(t&3)===0&&(r+=2,t>>>=2),(t&1)===0&&r++,r},BN.prototype.bitLength=function(){var w=this.words[this.length-1],hi=this._countBits(w);return(this.length-1)*26+hi};function toBitArray(num){for(var w=new Array(num.bitLength()),bit=0;bit>>wbit}return w}BN.prototype.zeroBits=function(){if(this.isZero())return 0;for(var r=0,i=0;inum.length\?this.clone().ior(num):num.clone().ior(this)},BN.prototype.uor=function(num){return this.length>num.length\?this.clone().iuor(num):num.clone().iuor(this)},BN.prototype.iuand=function(num){var b;this.length>num.length\?b=num:b=this;for(var i=0;inum.length\?this.clone().iand(num):num.clone().iand(this)},BN.prototype.uand=function(num){return this.length>num.length\?this.clone().iuand(num):num.clone().iuand(this)},BN.prototype.iuxor=function(num){var a,b;this.length>num.length\?(a=this,b=num):(a=num,b=this);for(var i=0;inum.length\?this.clone().ixor(num):num.clone().ixor(this)},BN.prototype.uxor=function(num){return this.length>num.length\?this.clone().iuxor(num):num.clone().iuxor(this)},BN.prototype.inotn=function(width){assert(typeof width==\"number\"&&width>=0);var bytesNeeded=Math.ceil(width/26)|0,bitsLeft=width%26;this._expand(bytesNeeded),bitsLeft>0&&bytesNeeded--;for(var i=0;i0&&(this.words[i]=~this.words[i]&67108863>>26-bitsLeft),this.strip()},BN.prototype.notn=function(width){return this.clone().inotn(width)},BN.prototype.setn=function(bit,val){assert(typeof bit==\"number\"&&bit>=0);var off=bit/26|0,wbit=bit%26;return this._expand(off+1),val\?this.words[off]=this.words[off]|1<num.length\?(a=this,b=num):(a=num,b=this);for(var carry=0,i=0;i>>26;for(;carry!==0&&i>>26;if(this.length=a.length,carry!==0)this.words[this.length]=carry,this.length++;else if(a!==this)for(;inum.length\?this.clone().iadd(num):num.clone().iadd(this)},BN.prototype.isub=function(num){if(num.negative!==0){num.negative=0;var r=this.iadd(num);return num.negative=1,r._normSign()}else if(this.negative!==0)return this.negative=0,this.iadd(num),this.negative=1,this._normSign();var cmp=this.cmp(num);if(cmp===0)return this.negative=0,this.length=1,this.words[0]=0,this;var a,b;cmp>0\?(a=this,b=num):(a=num,b=this);for(var carry=0,i=0;i>26,this.words[i]=r&67108863;for(;carry!==0&&i>26,this.words[i]=r&67108863;if(carry===0&&i>>26,rword=carry&67108863,maxJ=Math.min(k,num.length-1),j=Math.max(0,k-self2.length+1);j<=maxJ;j++){var i=k-j|0;a=self2.words[i]|0,b=num.words[j]|0,r=a*b+rword,ncarry+=r/67108864|0,rword=r&67108863}out.words[k]=rword|0,carry=ncarry|0}return carry!==0\?out.words[k]=carry|0:out.length--,out.strip()}var comb10MulTo=function(self2,num,out){var a=self2.words,b=num.words,o=out.words,c=0,lo,mid,hi,a0=a[0]|0,al0=a0&8191,ah0=a0>>>13,a1=a[1]|0,al1=a1&8191,ah1=a1>>>13,a2=a[2]|0,al2=a2&8191,ah2=a2>>>13,a3=a[3]|0,al3=a3&8191,ah3=a3>>>13,a4=a[4]|0,al4=a4&8191,ah4=a4>>>13,a5=a[5]|0,al5=a5&8191,ah5=a5>>>13,a6=a[6]|0,al6=a6&8191,ah6=a6>>>13,a7=a[7]|0,al7=a7&8191,ah7=a7>>>13,a8=a[8]|0,al8=a8&8191,ah8=a8>>>13,a9=a[9]|0,al9=a9&8191,ah9=a9>>>13,b0=b[0]|0,bl0=b0&8191,bh0=b0>>>13,b1=b[1]|0,bl1=b1&8191,bh1=b1>>>13,b2=b[2]|0,bl2=b2&8191,bh2=b2>>>13,b3=b[3]|0,bl3=b3&8191,bh3=b3>>>13,b4=b[4]|0,bl4=b4&8191,bh4=b4>>>13,b5=b[5]|0,bl5=b5&8191,bh5=b5>>>13,b6=b[6]|0,bl6=b6&8191,bh6=b6>>>13,b7=b[7]|0,bl7=b7&8191,bh7=b7>>>13,b8=b[8]|0,bl8=b8&8191,bh8=b8>>>13,b9=b[9]|0,bl9=b9&8191,bh9=b9>>>13;out.negative=self2.negative^num.negative,out.length=19,lo=Math.imul(al0,bl0),mid=Math.imul(al0,bh0),mid=mid+Math.imul(ah0,bl0)|0,hi=Math.imul(ah0,bh0);var w0=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w0>>>26)|0,w0&=67108863,lo=Math.imul(al1,bl0),mid=Math.imul(al1,bh0),mid=mid+Math.imul(ah1,bl0)|0,hi=Math.imul(ah1,bh0),lo=lo+Math.imul(al0,bl1)|0,mid=mid+Math.imul(al0,bh1)|0,mid=mid+Math.imul(ah0,bl1)|0,hi=hi+Math.imul(ah0,bh1)|0;var w1=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w1>>>26)|0,w1&=67108863,lo=Math.imul(al2,bl0),mid=Math.imul(al2,bh0),mid=mid+Math.imul(ah2,bl0)|0,hi=Math.imul(ah2,bh0),lo=lo+Math.imul(al1,bl1)|0,mid=mid+Math.imul(al1,bh1)|0,mid=mid+Math.imul(ah1,bl1)|0,hi=hi+Math.imul(ah1,bh1)|0,lo=lo+Math.imul(al0,bl2)|0,mid=mid+Math.imul(al0,bh2)|0,mid=mid+Math.imul(ah0,bl2)|0,hi=hi+Math.imul(ah0,bh2)|0;var w2=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w2>>>26)|0,w2&=67108863,lo=Math.imul(al3,bl0),mid=Math.imul(al3,bh0),mid=mid+Math.imul(ah3,bl0)|0,hi=Math.imul(ah3,bh0),lo=lo+Math.imul(al2,bl1)|0,mid=mid+Math.imul(al2,bh1)|0,mid=mid+Math.imul(ah2,bl1)|0,hi=hi+Math.imul(ah2,bh1)|0,lo=lo+Math.imul(al1,bl2)|0,mid=mid+Math.imul(al1,bh2)|0,mid=mid+Math.imul(ah1,bl2)|0,hi=hi+Math.imul(ah1,bh2)|0,lo=lo+Math.imul(al0,bl3)|0,mid=mid+Math.imul(al0,bh3)|0,mid=mid+Math.imul(ah0,bl3)|0,hi=hi+Math.imul(ah0,bh3)|0;var w3=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w3>>>26)|0,w3&=67108863,lo=Math.imul(al4,bl0),mid=Math.imul(al4,bh0),mid=mid+Math.imul(ah4,bl0)|0,hi=Math.imul(ah4,bh0),lo=lo+Math.imul(al3,bl1)|0,mid=mid+Math.imul(al3,bh1)|0,mid=mid+Math.imul(ah3,bl1)|0,hi=hi+Math.imul(ah3,bh1)|0,lo=lo+Math.imul(al2,bl2)|0,mid=mid+Math.imul(al2,bh2)|0,mid=mid+Math.imul(ah2,bl2)|0,hi=hi+Math.imul(ah2,bh2)|0,lo=lo+Math.imul(al1,bl3)|0,mid=mid+Math.imul(al1,bh3)|0,mid=mid+Math.imul(ah1,bl3)|0,hi=hi+Math.imul(ah1,bh3)|0,lo=lo+Math.imul(al0,bl4)|0,mid=mid+Math.imul(al0,bh4)|0,mid=mid+Math.imul(ah0,bl4)|0,hi=hi+Math.imul(ah0,bh4)|0;var w4=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w4>>>26)|0,w4&=67108863,lo=Math.imul(al5,bl0),mid=Math.imul(al5,bh0),mid=mid+Math.imul(ah5,bl0)|0,hi=Math.imul(ah5,bh0),lo=lo+Math.imul(al4,bl1)|0,mid=mid+Math.imul(al4,bh1)|0,mid=mid+Math.imul(ah4,bl1)|0,hi=hi+Math.imul(ah4,bh1)|0,lo=lo+Math.imul(al3,bl2)|0,mid=mid+Math.imul(al3,bh2)|0,mid=mid+Math.imul(ah3,bl2)|0,hi=hi+Math.imul(ah3,bh2)|0,lo=lo+Math.imul(al2,bl3)|0,mid=mid+Math.imul(al2,bh3)|0,mid=mid+Math.imul(ah2,bl3)|0,hi=hi+Math.imul(ah2,bh3)|0,lo=lo+Math.imul(al1,bl4)|0,mid=mid+Math.imul(al1,bh4)|0,mid=mid+Math.imul(ah1,bl4)|0,hi=hi+Math.imul(ah1,bh4)|0,lo=lo+Math.imul(al0,bl5)|0,mid=mid+Math.imul(al0,bh5)|0,mid=mid+Math.imul(ah0,bl5)|0,hi=hi+Math.imul(ah0,bh5)|0;var w5=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w5>>>26)|0,w5&=67108863,lo=Math.imul(al6,bl0),mid=Math.imul(al6,bh0),mid=mid+Math.imul(ah6,bl0)|0,hi=Math.imul(ah6,bh0),lo=lo+Math.imul(al5,bl1)|0,mid=mid+Math.imul(al5,bh1)|0,mid=mid+Math.imul(ah5,bl1)|0,hi=hi+Math.imul(ah5,bh1)|0,lo=lo+Math.imul(al4,bl2)|0,mid=mid+Math.imul(al4,bh2)|0,mid=mid+Math.imul(ah4,bl2)|0,hi=hi+Math.imul(ah4,bh2)|0,lo=lo+Math.imul(al3,bl3)|0,mid=mid+Math.imul(al3,bh3)|0,mid=mid+Math.imul(ah3,bl3)|0,hi=hi+Math.imul(ah3,bh3)|0,lo=lo+Math.imul(al2,bl4)|0,mid=mid+Math.imul(al2,bh4)|0,mid=mid+Math.imul(ah2,bl4)|0,hi=hi+Math.imul(ah2,bh4)|0,lo=lo+Math.imul(al1,bl5)|0,mid=mid+Math.imul(al1,bh5)|0,mid=mid+Math.imul(ah1,bl5)|0,hi=hi+Math.imul(ah1,bh5)|0,lo=lo+Math.imul(al0,bl6)|0,mid=mid+Math.imul(al0,bh6)|0,mid=mid+Math.imul(ah0,bl6)|0,hi=hi+Math.imul(ah0,bh6)|0;var w6=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w6>>>26)|0,w6&=67108863,lo=Math.imul(al7,bl0),mid=Math.imul(al7,bh0),mid=mid+Math.imul(ah7,bl0)|0,hi=Math.imul(ah7,bh0),lo=lo+Math.imul(al6,bl1)|0,mid=mid+Math.imul(al6,bh1)|0,mid=mid+Math.imul(ah6,bl1)|0,hi=hi+Math.imul(ah6,bh1)|0,lo=lo+Math.imul(al5,bl2)|0,mid=mid+Math.imul(al5,bh2)|0,mid=mid+Math.imul(ah5,bl2)|0,hi=hi+Math.imul(ah5,bh2)|0,lo=lo+Math.imul(al4,bl3)|0,mid=mid+Math.imul(al4,bh3)|0,mid=mid+Math.imul(ah4,bl3)|0,hi=hi+Math.imul(ah4,bh3)|0,lo=lo+Math.imul(al3,bl4)|0,mid=mid+Math.imul(al3,bh4)|0,mid=mid+Math.imul(ah3,bl4)|0,hi=hi+Math.imul(ah3,bh4)|0,lo=lo+Math.imul(al2,bl5)|0,mid=mid+Math.imul(al2,bh5)|0,mid=mid+Math.imul(ah2,bl5)|0,hi=hi+Math.imul(ah2,bh5)|0,lo=lo+Math.imul(al1,bl6)|0,mid=mid+Math.imul(al1,bh6)|0,mid=mid+Math.imul(ah1,bl6)|0,hi=hi+Math.imul(ah1,bh6)|0,lo=lo+Math.imul(al0,bl7)|0,mid=mid+Math.imul(al0,bh7)|0,mid=mid+Math.imul(ah0,bl7)|0,hi=hi+Math.imul(ah0,bh7)|0;var w7=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w7>>>26)|0,w7&=67108863,lo=Math.imul(al8,bl0),mid=Math.imul(al8,bh0),mid=mid+Math.imul(ah8,bl0)|0,hi=Math.imul(ah8,bh0),lo=lo+Math.imul(al7,bl1)|0,mid=mid+Math.imul(al7,bh1)|0,mid=mid+Math.imul(ah7,bl1)|0,hi=hi+Math.imul(ah7,bh1)|0,lo=lo+Math.imul(al6,bl2)|0,mid=mid+Math.imul(al6,bh2)|0,mid=mid+Math.imul(ah6,bl2)|0,hi=hi+Math.imul(ah6,bh2)|0,lo=lo+Math.imul(al5,bl3)|0,mid=mid+Math.imul(al5,bh3)|0,mid=mid+Math.imul(ah5,bl3)|0,hi=hi+Math.imul(ah5,bh3)|0,lo=lo+Math.imul(al4,bl4)|0,mid=mid+Math.imul(al4,bh4)|0,mid=mid+Math.imul(ah4,bl4)|0,hi=hi+Math.imul(ah4,bh4)|0,lo=lo+Math.imul(al3,bl5)|0,mid=mid+Math.imul(al3,bh5)|0,mid=mid+Math.imul(ah3,bl5)|0,hi=hi+Math.imul(ah3,bh5)|0,lo=lo+Math.imul(al2,bl6)|0,mid=mid+Math.imul(al2,bh6)|0,mid=mid+Math.imul(ah2,bl6)|0,hi=hi+Math.imul(ah2,bh6)|0,lo=lo+Math.imul(al1,bl7)|0,mid=mid+Math.imul(al1,bh7)|0,mid=mid+Math.imul(ah1,bl7)|0,hi=hi+Math.imul(ah1,bh7)|0,lo=lo+Math.imul(al0,bl8)|0,mid=mid+Math.imul(al0,bh8)|0,mid=mid+Math.imul(ah0,bl8)|0,hi=hi+Math.imul(ah0,bh8)|0;var w8=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w8>>>26)|0,w8&=67108863,lo=Math.imul(al9,bl0),mid=Math.imul(al9,bh0),mid=mid+Math.imul(ah9,bl0)|0,hi=Math.imul(ah9,bh0),lo=lo+Math.imul(al8,bl1)|0,mid=mid+Math.imul(al8,bh1)|0,mid=mid+Math.imul(ah8,bl1)|0,hi=hi+Math.imul(ah8,bh1)|0,lo=lo+Math.imul(al7,bl2)|0,mid=mid+Math.imul(al7,bh2)|0,mid=mid+Math.imul(ah7,bl2)|0,hi=hi+Math.imul(ah7,bh2)|0,lo=lo+Math.imul(al6,bl3)|0,mid=mid+Math.imul(al6,bh3)|0,mid=mid+Math.imul(ah6,bl3)|0,hi=hi+Math.imul(ah6,bh3)|0,lo=lo+Math.imul(al5,bl4)|0,mid=mid+Math.imul(al5,bh4)|0,mid=mid+Math.imul(ah5,bl4)|0,hi=hi+Math.imul(ah5,bh4)|0,lo=lo+Math.imul(al4,bl5)|0,mid=mid+Math.imul(al4,bh5)|0,mid=mid+Math.imul(ah4,bl5)|0,hi=hi+Math.imul(ah4,bh5)|0,lo=lo+Math.imul(al3,bl6)|0,mid=mid+Math.imul(al3,bh6)|0,mid=mid+Math.imul(ah3,bl6)|0,hi=hi+Math.imul(ah3,bh6)|0,lo=lo+Math.imul(al2,bl7)|0,mid=mid+Math.imul(al2,bh7)|0,mid=mid+Math.imul(ah2,bl7)|0,hi=hi+Math.imul(ah2,bh7)|0,lo=lo+Math.imul(al1,bl8)|0,mid=mid+Math.imul(al1,bh8)|0,mid=mid+Math.imul(ah1,bl8)|0,hi=hi+Math.imul(ah1,bh8)|0,lo=lo+Math.imul(al0,bl9)|0,mid=mid+Math.imul(al0,bh9)|0,mid=mid+Math.imul(ah0,bl9)|0,hi=hi+Math.imul(ah0,bh9)|0;var w9=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w9>>>26)|0,w9&=67108863,lo=Math.imul(al9,bl1),mid=Math.imul(al9,bh1),mid=mid+Math.imul(ah9,bl1)|0,hi=Math.imul(ah9,bh1),lo=lo+Math.imul(al8,bl2)|0,mid=mid+Math.imul(al8,bh2)|0,mid=mid+Math.imul(ah8,bl2)|0,hi=hi+Math.imul(ah8,bh2)|0,lo=lo+Math.imul(al7,bl3)|0,mid=mid+Math.imul(al7,bh3)|0,mid=mid+Math.imul(ah7,bl3)|0,hi=hi+Math.imul(ah7,bh3)|0,lo=lo+Math.imul(al6,bl4)|0,mid=mid+Math.imul(al6,bh4)|0,mid=mid+Math.imul(ah6,bl4)|0,hi=hi+Math.imul(ah6,bh4)|0,lo=lo+Math.imul(al5,bl5)|0,mid=mid+Math.imul(al5,bh5)|0,mid=mid+Math.imul(ah5,bl5)|0,hi=hi+Math.imul(ah5,bh5)|0,lo=lo+Math.imul(al4,bl6)|0,mid=mid+Math.imul(al4,bh6)|0,mid=mid+Math.imul(ah4,bl6)|0,hi=hi+Math.imul(ah4,bh6)|0,lo=lo+Math.imul(al3,bl7)|0,mid=mid+Math.imul(al3,bh7)|0,mid=mid+Math.imul(ah3,bl7)|0,hi=hi+Math.imul(ah3,bh7)|0,lo=lo+Math.imul(al2,bl8)|0,mid=mid+Math.imul(al2,bh8)|0,mid=mid+Math.imul(ah2,bl8)|0,hi=hi+Math.imul(ah2,bh8)|0,lo=lo+Math.imul(al1,bl9)|0,mid=mid+Math.imul(al1,bh9)|0,mid=mid+Math.imul(ah1,bl9)|0,hi=hi+Math.imul(ah1,bh9)|0;var w10=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w10>>>26)|0,w10&=67108863,lo=Math.imul(al9,bl2),mid=Math.imul(al9,bh2),mid=mid+Math.imul(ah9,bl2)|0,hi=Math.imul(ah9,bh2),lo=lo+Math.imul(al8,bl3)|0,mid=mid+Math.imul(al8,bh3)|0,mid=mid+Math.imul(ah8,bl3)|0,hi=hi+Math.imul(ah8,bh3)|0,lo=lo+Math.imul(al7,bl4)|0,mid=mid+Math.imul(al7,bh4)|0,mid=mid+Math.imul(ah7,bl4)|0,hi=hi+Math.imul(ah7,bh4)|0,lo=lo+Math.imul(al6,bl5)|0,mid=mid+Math.imul(al6,bh5)|0,mid=mid+Math.imul(ah6,bl5)|0,hi=hi+Math.imul(ah6,bh5)|0,lo=lo+Math.imul(al5,bl6)|0,mid=mid+Math.imul(al5,bh6)|0,mid=mid+Math.imul(ah5,bl6)|0,hi=hi+Math.imul(ah5,bh6)|0,lo=lo+Math.imul(al4,bl7)|0,mid=mid+Math.imul(al4,bh7)|0,mid=mid+Math.imul(ah4,bl7)|0,hi=hi+Math.imul(ah4,bh7)|0,lo=lo+Math.imul(al3,bl8)|0,mid=mid+Math.imul(al3,bh8)|0,mid=mid+Math.imul(ah3,bl8)|0,hi=hi+Math.imul(ah3,bh8)|0,lo=lo+Math.imul(al2,bl9)|0,mid=mid+Math.imul(al2,bh9)|0,mid=mid+Math.imul(ah2,bl9)|0,hi=hi+Math.imul(ah2,bh9)|0;var w11=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w11>>>26)|0,w11&=67108863,lo=Math.imul(al9,bl3),mid=Math.imul(al9,bh3),mid=mid+Math.imul(ah9,bl3)|0,hi=Math.imul(ah9,bh3),lo=lo+Math.imul(al8,bl4)|0,mid=mid+Math.imul(al8,bh4)|0,mid=mid+Math.imul(ah8,bl4)|0,hi=hi+Math.imul(ah8,bh4)|0,lo=lo+Math.imul(al7,bl5)|0,mid=mid+Math.imul(al7,bh5)|0,mid=mid+Math.imul(ah7,bl5)|0,hi=hi+Math.imul(ah7,bh5)|0,lo=lo+Math.imul(al6,bl6)|0,mid=mid+Math.imul(al6,bh6)|0,mid=mid+Math.imul(ah6,bl6)|0,hi=hi+Math.imul(ah6,bh6)|0,lo=lo+Math.imul(al5,bl7)|0,mid=mid+Math.imul(al5,bh7)|0,mid=mid+Math.imul(ah5,bl7)|0,hi=hi+Math.imul(ah5,bh7)|0,lo=lo+Math.imul(al4,bl8)|0,mid=mid+Math.imul(al4,bh8)|0,mid=mid+Math.imul(ah4,bl8)|0,hi=hi+Math.imul(ah4,bh8)|0,lo=lo+Math.imul(al3,bl9)|0,mid=mid+Math.imul(al3,bh9)|0,mid=mid+Math.imul(ah3,bl9)|0,hi=hi+Math.imul(ah3,bh9)|0;var w12=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w12>>>26)|0,w12&=67108863,lo=Math.imul(al9,bl4),mid=Math.imul(al9,bh4),mid=mid+Math.imul(ah9,bl4)|0,hi=Math.imul(ah9,bh4),lo=lo+Math.imul(al8,bl5)|0,mid=mid+Math.imul(al8,bh5)|0,mid=mid+Math.imul(ah8,bl5)|0,hi=hi+Math.imul(ah8,bh5)|0,lo=lo+Math.imul(al7,bl6)|0,mid=mid+Math.imul(al7,bh6)|0,mid=mid+Math.imul(ah7,bl6)|0,hi=hi+Math.imul(ah7,bh6)|0,lo=lo+Math.imul(al6,bl7)|0,mid=mid+Math.imul(al6,bh7)|0,mid=mid+Math.imul(ah6,bl7)|0,hi=hi+Math.imul(ah6,bh7)|0,lo=lo+Math.imul(al5,bl8)|0,mid=mid+Math.imul(al5,bh8)|0,mid=mid+Math.imul(ah5,bl8)|0,hi=hi+Math.imul(ah5,bh8)|0,lo=lo+Math.imul(al4,bl9)|0,mid=mid+Math.imul(al4,bh9)|0,mid=mid+Math.imul(ah4,bl9)|0,hi=hi+Math.imul(ah4,bh9)|0;var w13=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w13>>>26)|0,w13&=67108863,lo=Math.imul(al9,bl5),mid=Math.imul(al9,bh5),mid=mid+Math.imul(ah9,bl5)|0,hi=Math.imul(ah9,bh5),lo=lo+Math.imul(al8,bl6)|0,mid=mid+Math.imul(al8,bh6)|0,mid=mid+Math.imul(ah8,bl6)|0,hi=hi+Math.imul(ah8,bh6)|0,lo=lo+Math.imul(al7,bl7)|0,mid=mid+Math.imul(al7,bh7)|0,mid=mid+Math.imul(ah7,bl7)|0,hi=hi+Math.imul(ah7,bh7)|0,lo=lo+Math.imul(al6,bl8)|0,mid=mid+Math.imul(al6,bh8)|0,mid=mid+Math.imul(ah6,bl8)|0,hi=hi+Math.imul(ah6,bh8)|0,lo=lo+Math.imul(al5,bl9)|0,mid=mid+Math.imul(al5,bh9)|0,mid=mid+Math.imul(ah5,bl9)|0,hi=hi+Math.imul(ah5,bh9)|0;var w14=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w14>>>26)|0,w14&=67108863,lo=Math.imul(al9,bl6),mid=Math.imul(al9,bh6),mid=mid+Math.imul(ah9,bl6)|0,hi=Math.imul(ah9,bh6),lo=lo+Math.imul(al8,bl7)|0,mid=mid+Math.imul(al8,bh7)|0,mid=mid+Math.imul(ah8,bl7)|0,hi=hi+Math.imul(ah8,bh7)|0,lo=lo+Math.imul(al7,bl8)|0,mid=mid+Math.imul(al7,bh8)|0,mid=mid+Math.imul(ah7,bl8)|0,hi=hi+Math.imul(ah7,bh8)|0,lo=lo+Math.imul(al6,bl9)|0,mid=mid+Math.imul(al6,bh9)|0,mid=mid+Math.imul(ah6,bl9)|0,hi=hi+Math.imul(ah6,bh9)|0;var w15=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w15>>>26)|0,w15&=67108863,lo=Math.imul(al9,bl7),mid=Math.imul(al9,bh7),mid=mid+Math.imul(ah9,bl7)|0,hi=Math.imul(ah9,bh7),lo=lo+Math.imul(al8,bl8)|0,mid=mid+Math.imul(al8,bh8)|0,mid=mid+Math.imul(ah8,bl8)|0,hi=hi+Math.imul(ah8,bh8)|0,lo=lo+Math.imul(al7,bl9)|0,mid=mid+Math.imul(al7,bh9)|0,mid=mid+Math.imul(ah7,bl9)|0,hi=hi+Math.imul(ah7,bh9)|0;var w16=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w16>>>26)|0,w16&=67108863,lo=Math.imul(al9,bl8),mid=Math.imul(al9,bh8),mid=mid+Math.imul(ah9,bl8)|0,hi=Math.imul(ah9,bh8),lo=lo+Math.imul(al8,bl9)|0,mid=mid+Math.imul(al8,bh9)|0,mid=mid+Math.imul(ah8,bl9)|0,hi=hi+Math.imul(ah8,bh9)|0;var w17=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w17>>>26)|0,w17&=67108863,lo=Math.imul(al9,bl9),mid=Math.imul(al9,bh9),mid=mid+Math.imul(ah9,bl9)|0,hi=Math.imul(ah9,bh9);var w18=(c+lo|0)+((mid&8191)<<13)|0;return c=(hi+(mid>>>13)|0)+(w18>>>26)|0,w18&=67108863,o[0]=w0,o[1]=w1,o[2]=w2,o[3]=w3,o[4]=w4,o[5]=w5,o[6]=w6,o[7]=w7,o[8]=w8,o[9]=w9,o[10]=w10,o[11]=w11,o[12]=w12,o[13]=w13,o[14]=w14,o[15]=w15,o[16]=w16,o[17]=w17,o[18]=w18,c!==0&&(o[19]=c,out.length++),out};Math.imul||(comb10MulTo=smallMulTo);function bigMulTo(self2,num,out){out.negative=num.negative^self2.negative,out.length=self2.length+num.length;for(var carry=0,hncarry=0,k=0;k>>26)|0,hncarry+=ncarry>>>26,ncarry&=67108863}out.words[k]=rword,carry=ncarry,ncarry=hncarry}return carry!==0\?out.words[k]=carry:out.length--,out.strip()}function jumboMulTo(self2,num,out){var fftm=new FFTM;return fftm.mulp(self2,num,out)}BN.prototype.mulTo=function(num,out){var res,len=this.length+num.length;return this.length===10&&num.length===10\?res=comb10MulTo(this,num,out):len<63\?res=smallMulTo(this,num,out):len<1024\?res=bigMulTo(this,num,out):res=jumboMulTo(this,num,out),res};function FFTM(x,y){this.x=x,this.y=y}FFTM.prototype.makeRBT=function(N){for(var t=new Array(N),l=BN.prototype._countBits(N)-1,i=0;i>=1;return rb},FFTM.prototype.permute=function(rbt,rws,iws,rtws,itws,N){for(var i=0;i>>1)i++;return 1<>>13,rws[2*i+1]=carry&8191,carry=carry>>>13;for(i=2*len;i>=26,carry+=w/67108864|0,carry+=lo>>>26,this.words[i]=lo&67108863}return carry!==0&&(this.words[i]=carry,this.length++),this},BN.prototype.muln=function(num){return this.clone().imuln(num)},BN.prototype.sqr=function(){return this.mul(this)},BN.prototype.isqr=function(){return this.imul(this.clone())},BN.prototype.pow=function(num){var w=toBitArray(num);if(w.length===0)return new BN(1);for(var res=this,i=0;i=0);var r=bits%26,s=(bits-r)/26,carryMask=67108863>>>26-r<<26-r,i;if(r!==0){var carry=0;for(i=0;i>>26-r}carry&&(this.words[i]=carry,this.length++)}if(s!==0){for(i=this.length-1;i>=0;i--)this.words[i+s]=this.words[i];for(i=0;i=0);var h;hint\?h=(hint-hint%26)/26:h=0;var r=bits%26,s=Math.min((bits-r)/26,this.length),mask=67108863^67108863>>>r<s)for(this.length-=s,i=0;i=0&&(carry!==0||i>=h);i--){var word=this.words[i]|0;this.words[i]=carry<<26-r|word>>>r,carry=word&mask}return maskedWords&&carry!==0&&(maskedWords.words[maskedWords.length++]=carry),this.length===0&&(this.words[0]=0,this.length=1),this.strip()},BN.prototype.ishrn=function(bits,hint,extended){return assert(this.negative===0),this.iushrn(bits,hint,extended)},BN.prototype.shln=function(bits){return this.clone().ishln(bits)},BN.prototype.ushln=function(bits){return this.clone().iushln(bits)},BN.prototype.shrn=function(bits){return this.clone().ishrn(bits)},BN.prototype.ushrn=function(bits){return this.clone().iushrn(bits)},BN.prototype.testn=function(bit){assert(typeof bit==\"number\"&&bit>=0);var r=bit%26,s=(bit-r)/26,q=1<=0);var r=bits%26,s=(bits-r)/26;if(assert(this.negative===0,\"imaskn works only with positive numbers\"),this.length<=s)return this;if(r!==0&&s++,this.length=Math.min(s,this.length),r!==0){var mask=67108863^67108863>>>r<=67108864;i++)this.words[i]-=67108864,i===this.length-1\?this.words[i+1]=1:this.words[i+1]++;return this.length=Math.max(this.length,i+1),this},BN.prototype.isubn=function(num){if(assert(typeof num==\"number\"),assert(num<67108864),num<0)return this.iaddn(-num);if(this.negative!==0)return this.negative=0,this.iaddn(num),this.negative=1,this;if(this.words[0]-=num,this.length===1&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var i=0;i>26)-(right/67108864|0),this.words[i+shift]=w&67108863}for(;i>26,this.words[i+shift]=w&67108863;if(carry===0)return this.strip();for(assert(carry===-1),carry=0,i=0;i>26,this.words[i]=w&67108863;return this.negative=1,this.strip()},BN.prototype._wordDiv=function(num,mode){var shift=this.length-num.length,a=this.clone(),b=num,bhi=b.words[b.length-1]|0,bhiBits=this._countBits(bhi);shift=26-bhiBits,shift!==0&&(b=b.ushln(shift),a.iushln(shift),bhi=b.words[b.length-1]|0);var m=a.length-b.length,q;if(mode!==\"mod\"){q=new BN(null),q.length=m+1,q.words=new Array(q.length);for(var i=0;i=0;j--){var qj=(a.words[b.length+j]|0)*67108864+(a.words[b.length+j-1]|0);for(qj=Math.min(qj/bhi|0,67108863),a._ishlnsubmul(b,qj,j);a.negative!==0;)qj--,a.negative=0,a._ishlnsubmul(b,1,j),a.isZero()||(a.negative^=1);q&&(q.words[j]=qj)}return q&&q.strip(),a.strip(),mode!==\"div\"&&shift!==0&&a.iushrn(shift),{div:q||null,mod:a}},BN.prototype.divmod=function(num,mode,positive){if(assert(!num.isZero()),this.isZero())return{div:new BN(0),mod:new BN(0)};var div,mod,res;return this.negative!==0&&num.negative===0\?(res=this.neg().divmod(num,mode),mode!==\"mod\"&&(div=res.div.neg()),mode!==\"div\"&&(mod=res.mod.neg(),positive&&mod.negative!==0&&mod.iadd(num)),{div,mod}):this.negative===0&&num.negative!==0\?(res=this.divmod(num.neg(),mode),mode!==\"mod\"&&(div=res.div.neg()),{div,mod:res.mod}):(this.negative&num.negative)!==0\?(res=this.neg().divmod(num.neg(),mode),mode!==\"div\"&&(mod=res.mod.neg(),positive&&mod.negative!==0&&mod.isub(num)),{div:res.div,mod}):num.length>this.length||this.cmp(num)<0\?{div:new BN(0),mod:this}:num.length===1\?mode===\"div\"\?{div:this.divn(num.words[0]),mod:null}:mode===\"mod\"\?{div:null,mod:new BN(this.modn(num.words[0]))}:{div:this.divn(num.words[0]),mod:new BN(this.modn(num.words[0]))}:this._wordDiv(num,mode)},BN.prototype.div=function(num){return this.divmod(num,\"div\",!1).div},BN.prototype.mod=function(num){return this.divmod(num,\"mod\",!1).mod},BN.prototype.umod=function(num){return this.divmod(num,\"mod\",!0).mod},BN.prototype.divRound=function(num){var dm=this.divmod(num);if(dm.mod.isZero())return dm.div;var mod=dm.div.negative!==0\?dm.mod.isub(num):dm.mod,half=num.ushrn(1),r2=num.andln(1),cmp=mod.cmp(half);return cmp<0||r2===1&&cmp===0\?dm.div:dm.div.negative!==0\?dm.div.isubn(1):dm.div.iaddn(1)},BN.prototype.modn=function(num){assert(num<=67108863);for(var p=(1<<26)%num,acc=0,i=this.length-1;i>=0;i--)acc=(p*acc+(this.words[i]|0))%num;return acc},BN.prototype.idivn=function(num){assert(num<=67108863);for(var carry=0,i=this.length-1;i>=0;i--){var w=(this.words[i]|0)+carry*67108864;this.words[i]=w/num|0,carry=w%num}return this.strip()},BN.prototype.divn=function(num){return this.clone().idivn(num)},BN.prototype.egcd=function(p){assert(p.negative===0),assert(!p.isZero());var x=this,y=p.clone();x.negative!==0\?x=x.umod(p):x=x.clone();for(var A=new BN(1),B=new BN(0),C=new BN(0),D=new BN(1),g=0;x.isEven()&&y.isEven();)x.iushrn(1),y.iushrn(1),++g;for(var yp=y.clone(),xp=x.clone();!x.isZero();){for(var i=0,im=1;(x.words[0]&im)===0&&i<26;++i,im<<=1);if(i>0)for(x.iushrn(i);i-- >0;)(A.isOdd()||B.isOdd())&&(A.iadd(yp),B.isub(xp)),A.iushrn(1),B.iushrn(1);for(var j=0,jm=1;(y.words[0]&jm)===0&&j<26;++j,jm<<=1);if(j>0)for(y.iushrn(j);j-- >0;)(C.isOdd()||D.isOdd())&&(C.iadd(yp),D.isub(xp)),C.iushrn(1),D.iushrn(1);x.cmp(y)>=0\?(x.isub(y),A.isub(C),B.isub(D)):(y.isub(x),C.isub(A),D.isub(B))}return{a:C,b:D,gcd:y.iushln(g)}},BN.prototype._invmp=function(p){assert(p.negative===0),assert(!p.isZero());var a=this,b=p.clone();a.negative!==0\?a=a.umod(p):a=a.clone();for(var x1=new BN(1),x2=new BN(0),delta=b.clone();a.cmpn(1)>0&&b.cmpn(1)>0;){for(var i=0,im=1;(a.words[0]&im)===0&&i<26;++i,im<<=1);if(i>0)for(a.iushrn(i);i-- >0;)x1.isOdd()&&x1.iadd(delta),x1.iushrn(1);for(var j=0,jm=1;(b.words[0]&jm)===0&&j<26;++j,jm<<=1);if(j>0)for(b.iushrn(j);j-- >0;)x2.isOdd()&&x2.iadd(delta),x2.iushrn(1);a.cmp(b)>=0\?(a.isub(b),x1.isub(x2)):(b.isub(a),x2.isub(x1))}var res;return a.cmpn(1)===0\?res=x1:res=x2,res.cmpn(0)<0&&res.iadd(p),res},BN.prototype.gcd=function(num){if(this.isZero())return num.abs();if(num.isZero())return this.abs();var a=this.clone(),b=num.clone();a.negative=0,b.negative=0;for(var shift=0;a.isEven()&&b.isEven();shift++)a.iushrn(1),b.iushrn(1);do{for(;a.isEven();)a.iushrn(1);for(;b.isEven();)b.iushrn(1);var r=a.cmp(b);if(r<0){var t=a;a=b,b=t}else if(r===0||b.cmpn(1)===0)break;a.isub(b)}while(!0);return b.iushln(shift)},BN.prototype.invm=function(num){return this.egcd(num).a.umod(num)},BN.prototype.isEven=function(){return(this.words[0]&1)===0},BN.prototype.isOdd=function(){return(this.words[0]&1)===1},BN.prototype.andln=function(num){return this.words[0]&num},BN.prototype.bincn=function(bit){assert(typeof bit==\"number\");var r=bit%26,s=(bit-r)/26,q=1<>>26,w&=67108863,this.words[i]=w}return carry!==0&&(this.words[i]=carry,this.length++),this},BN.prototype.isZero=function(){return this.length===1&&this.words[0]===0},BN.prototype.cmpn=function(num){var negative=num<0;if(this.negative!==0&&!negative)return-1;if(this.negative===0&&negative)return 1;this.strip();var res;if(this.length>1)res=1;else{negative&&(num=-num),assert(num<=67108863,\"Number is too big\");var w=this.words[0]|0;res=w===num\?0:wnum.length)return 1;if(this.length=0;i--){var a=this.words[i]|0,b=num.words[i]|0;if(a!==b){ab&&(res=1);break}}return res},BN.prototype.gtn=function(num){return this.cmpn(num)===1},BN.prototype.gt=function(num){return this.cmp(num)===1},BN.prototype.gten=function(num){return this.cmpn(num)>=0},BN.prototype.gte=function(num){return this.cmp(num)>=0},BN.prototype.ltn=function(num){return this.cmpn(num)===-1},BN.prototype.lt=function(num){return this.cmp(num)===-1},BN.prototype.lten=function(num){return this.cmpn(num)<=0},BN.prototype.lte=function(num){return this.cmp(num)<=0},BN.prototype.eqn=function(num){return this.cmpn(num)===0},BN.prototype.eq=function(num){return this.cmp(num)===0},BN.red=function(num){return new Red(num)},BN.prototype.toRed=function(ctx){return assert(!this.red,\"Already a number in reduction context\"),assert(this.negative===0,\"red works only with positives\"),ctx.convertTo(this)._forceRed(ctx)},BN.prototype.fromRed=function(){return assert(this.red,\"fromRed works only with numbers in reduction context\"),this.red.convertFrom(this)},BN.prototype._forceRed=function(ctx){return this.red=ctx,this},BN.prototype.forceRed=function(ctx){return assert(!this.red,\"Already a number in reduction context\"),this._forceRed(ctx)},BN.prototype.redAdd=function(num){return assert(this.red,\"redAdd works only with red numbers\"),this.red.add(this,num)},BN.prototype.redIAdd=function(num){return assert(this.red,\"redIAdd works only with red numbers\"),this.red.iadd(this,num)},BN.prototype.redSub=function(num){return assert(this.red,\"redSub works only with red numbers\"),this.red.sub(this,num)},BN.prototype.redISub=function(num){return assert(this.red,\"redISub works only with red numbers\"),this.red.isub(this,num)},BN.prototype.redShl=function(num){return assert(this.red,\"redShl works only with red numbers\"),this.red.shl(this,num)},BN.prototype.redMul=function(num){return assert(this.red,\"redMul works only with red numbers\"),this.red._verify2(this,num),this.red.mul(this,num)},BN.prototype.redIMul=function(num){return assert(this.red,\"redMul works only with red numbers\"),this.red._verify2(this,num),this.red.imul(this,num)},BN.prototype.redSqr=function(){return assert(this.red,\"redSqr works only with red numbers\"),this.red._verify1(this),this.red.sqr(this)},BN.prototype.redISqr=function(){return assert(this.red,\"redISqr works only with red numbers\"),this.red._verify1(this),this.red.isqr(this)},BN.prototype.redSqrt=function(){return assert(this.red,\"redSqrt works only with red numbers\"),this.red._verify1(this),this.red.sqrt(this)},BN.prototype.redInvm=function(){return assert(this.red,\"redInvm works only with red numbers\"),this.red._verify1(this),this.red.invm(this)},BN.prototype.redNeg=function(){return assert(this.red,\"redNeg works only with red numbers\"),this.red._verify1(this),this.red.neg(this)},BN.prototype.redPow=function(num){return assert(this.red&&!num.red,\"redPow(normalNum)\"),this.red._verify1(this),this.red.pow(this,num)};var primes={k256:null,p224:null,p192:null,p25519:null};function MPrime(name,p){this.name=name,this.p=new BN(p,16),this.n=this.p.bitLength(),this.k=new BN(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}MPrime.prototype._tmp=function(){var tmp=new BN(null);return tmp.words=new Array(Math.ceil(this.n/13)),tmp},MPrime.prototype.ireduce=function(num){var r=num,rlen;do this.split(r,this.tmp),r=this.imulK(r),r=r.iadd(this.tmp),rlen=r.bitLength();while(rlen>this.n);var cmp=rlen0\?r.isub(this.p):r.strip!==void 0\?r.strip():r._strip(),r},MPrime.prototype.split=function(input,out){input.iushrn(this.n,0,out)},MPrime.prototype.imulK=function(num){return num.imul(this.k)};function K256(){MPrime.call(this,\"k256\",\"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f\")}inherits(K256,MPrime),K256.prototype.split=function(input,output){for(var mask=4194303,outLen=Math.min(input.length,9),i=0;i>>22,prev=next}prev>>>=22,input.words[i-10]=prev,prev===0&&input.length>10\?input.length-=10:input.length-=9},K256.prototype.imulK=function(num){num.words[num.length]=0,num.words[num.length+1]=0,num.length+=2;for(var lo=0,i=0;i>>=26,num.words[i]=lo,carry=hi}return carry!==0&&(num.words[num.length++]=carry),num},BN._prime=function(name){if(primes[name])return primes[name];var prime2;if(name===\"k256\")prime2=new K256;else if(name===\"p224\")prime2=new P224;else if(name===\"p192\")prime2=new P192;else if(name===\"p25519\")prime2=new P25519;else throw new Error(\"Unknown prime \"+name);return primes[name]=prime2,prime2};function Red(m){if(typeof m==\"string\"){var prime=BN._prime(m);this.m=prime.p,this.prime=prime}else assert(m.gtn(1),\"modulus must be greater than 1\"),this.m=m,this.prime=null}Red.prototype._verify1=function(a){assert(a.negative===0,\"red works only with positives\"),assert(a.red,\"red works only with red numbers\")},Red.prototype._verify2=function(a,b){assert((a.negative|b.negative)===0,\"red works only with positives\"),assert(a.red&&a.red===b.red,\"red works only with red numbers\")},Red.prototype.imod=function(a){return this.prime\?this.prime.ireduce(a)._forceRed(this):a.umod(this.m)._forceRed(this)},Red.prototype.neg=function(a){return a.isZero()\?a.clone():this.m.sub(a)._forceRed(this)},Red.prototype.add=function(a,b){this._verify2(a,b);var res=a.add(b);return res.cmp(this.m)>=0&&res.isub(this.m),res._forceRed(this)},Red.prototype.iadd=function(a,b){this._verify2(a,b);var res=a.iadd(b);return res.cmp(this.m)>=0&&res.isub(this.m),res},Red.prototype.sub=function(a,b){this._verify2(a,b);var res=a.sub(b);return res.cmpn(0)<0&&res.iadd(this.m),res._forceRed(this)},Red.prototype.isub=function(a,b){this._verify2(a,b);var res=a.isub(b);return res.cmpn(0)<0&&res.iadd(this.m),res},Red.prototype.shl=function(a,num){return this._verify1(a),this.imod(a.ushln(num))},Red.prototype.imul=function(a,b){return this._verify2(a,b),this.imod(a.imul(b))},Red.prototype.mul=function(a,b){return this._verify2(a,b),this.imod(a.mul(b))},Red.prototype.isqr=function(a){return this.imul(a,a.clone())},Red.prototype.sqr=function(a){return this.mul(a,a)},Red.prototype.sqrt=function(a){if(a.isZero())return a.clone();var mod3=this.m.andln(3);if(assert(mod3%2===1),mod3===3){var pow=this.m.add(new BN(1)).iushrn(2);return this.pow(a,pow)}for(var q=this.m.subn(1),s=0;!q.isZero()&&q.andln(1)===0;)s++,q.iushrn(1);assert(!q.isZero());var one=new BN(1).toRed(this),nOne=one.redNeg(),lpow=this.m.subn(1).iushrn(1),z=this.m.bitLength();for(z=new BN(2*z*z).toRed(this);this.pow(z,lpow).cmp(nOne)!==0;)z.redIAdd(nOne);for(var c=this.pow(z,q),r=this.pow(a,q.addn(1).iushrn(1)),t=this.pow(a,q),m=s;t.cmp(one)!==0;){for(var tmp=t,i=0;tmp.cmp(one)!==0;i++)tmp=tmp.redSqr();assert(i=0;i--){for(var word=num.words[i],j=start-1;j>=0;j--){var bit=word>>j&1;if(res!==wnd[0]&&(res=this.sqr(res)),bit===0&¤t===0){currentLen=0;continue}current<<=1,current|=bit,currentLen++,!(currentLen!==windowSize&&(i!==0||j!==0))&&(res=this.mul(res,wnd[current]),currentLen=0,current=0)}start=26}return res},Red.prototype.convertTo=function(num){var r=num.umod(this.m);return r===num\?r.clone():r},Red.prototype.convertFrom=function(num){var res=num.clone();return res.red=null,res},BN.mont=function(num){return new Mont(num)};function Mont(m){Red.call(this,m),this.shift=this.m.bitLength(),this.shift%26!==0&&(this.shift+=26-this.shift%26),this.r=new BN(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}inherits(Mont,Red),Mont.prototype.convertTo=function(num){return this.imod(num.ushln(this.shift))},Mont.prototype.convertFrom=function(num){var r=this.imod(num.mul(this.rinv));return r.red=null,r},Mont.prototype.imul=function(a,b){if(a.isZero()||b.isZero())return a.words[0]=0,a.length=1,a;var t=a.imul(b),c=t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),u=t.isub(c).iushrn(this.shift),res=u;return u.cmp(this.m)>=0\?res=u.isub(this.m):u.cmpn(0)<0&&(res=u.iadd(this.m)),res._forceRed(this)},Mont.prototype.mul=function(a,b){if(a.isZero()||b.isZero())return new BN(0)._forceRed(this);var t=a.mul(b),c=t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),u=t.isub(c).iushrn(this.shift),res=u;return u.cmp(this.m)>=0\?res=u.isub(this.m):u.cmpn(0)<0&&(res=u.iadd(this.m)),res._forceRed(this)},Mont.prototype.invm=function(a){var res=this.imod(a._invmp(this.m).mul(this.r2));return res._forceRed(this)}})(typeof module>\"u\"||module,exports)}}),require_utils2=__commonJS({\"node_modules/minimalistic-crypto-utils/lib/utils.js\"(exports){var utils=exports;function toArray(msg,enc){if(Array.isArray(msg))return msg.slice();if(!msg)return[];var res=[];if(typeof msg!=\"string\"){for(var i=0;i>8,lo=c&255;hi\?res.push(hi,lo):res.push(lo)}return res}utils.toArray=toArray;function zero2(word){return word.length===1\?\"0\"+word:word}utils.zero2=zero2;function toHex(msg){for(var res=\"\",i=0;i(ws>>1)-1\?z=(ws>>1)-mod:z=mod,k.isubn(z)):z=0,naf[i]=z,k.iushrn(1)}return naf}utils.getNAF=getNAF;function getJSF(k1,k2){var jsf=[[],[]];k1=k1.clone(),k2=k2.clone();for(var d1=0,d2=0,m8;k1.cmpn(-d1)>0||k2.cmpn(-d2)>0;){var m14=k1.andln(3)+d1&3,m24=k2.andln(3)+d2&3;m14===3&&(m14=-1),m24===3&&(m24=-1);var u1;(m14&1)===0\?u1=0:(m8=k1.andln(7)+d1&7,(m8===3||m8===5)&&m24===2\?u1=-m14:u1=m14),jsf[0].push(u1);var u2;(m24&1)===0\?u2=0:(m8=k2.andln(7)+d2&7,(m8===3||m8===5)&&m14===2\?u2=-m24:u2=m24),jsf[1].push(u2),2*d1===u1+1&&(d1=1-d1),2*d2===u2+1&&(d2=1-d2),k1.iushrn(1),k2.iushrn(1)}return jsf}utils.getJSF=getJSF;function cachedProperty(obj,name,computer){var key=\"_\"+name;obj.prototype[name]=function(){return this[key]!==void 0\?this[key]:this[key]=computer.call(this)}}utils.cachedProperty=cachedProperty;function parseBytes(bytes){return typeof bytes==\"string\"\?utils.toArray(bytes,\"hex\"):bytes}utils.parseBytes=parseBytes;function intFromLE(bytes){return new BN(bytes,\"hex\",\"le\")}utils.intFromLE=intFromLE}}),require_base=__commonJS({\"node_modules/elliptic/lib/elliptic/curve/base.js\"(exports,module){var BN=require_bn4(),utils=require_utils3(),getNAF=utils.getNAF,getJSF=utils.getJSF,assert=utils.assert;function BaseCurve(type,conf){this.type=type,this.p=new BN(conf.p,16),this.red=conf.prime\?BN.red(conf.prime):BN.mont(this.p),this.zero=new BN(0).toRed(this.red),this.one=new BN(1).toRed(this.red),this.two=new BN(2).toRed(this.red),this.n=conf.n&&new BN(conf.n,16),this.g=conf.g&&this.pointFromJSON(conf.g,conf.gRed),this._wnafT1=new Array(4),this._wnafT2=new Array(4),this._wnafT3=new Array(4),this._wnafT4=new Array(4),this._bitLength=this.n\?this.n.bitLength():0;var adjustCount=this.n&&this.p.div(this.n);!adjustCount||adjustCount.cmpn(100)>0\?this.redN=null:(this._maxwellTrick=!0,this.redN=this.n.toRed(this.red))}module.exports=BaseCurve,BaseCurve.prototype.point=function(){throw new Error(\"Not implemented\")},BaseCurve.prototype.validate=function(){throw new Error(\"Not implemented\")},BaseCurve.prototype._fixedNafMul=function(p,k){assert(p.precomputed);var doubles=p._getDoubles(),naf=getNAF(k,1,this._bitLength),I=(1<=j;l--)nafW=(nafW<<1)+naf[l];repr.push(nafW)}for(var a=this.jpoint(null,null,null),b=this.jpoint(null,null,null),i=I;i>0;i--){for(j=0;j=0;i--){for(var l=0;i>=0&&naf[i]===0;i--)l++;if(i>=0&&l++,acc=acc.dblp(l),i<0)break;var z=naf[i];assert(z!==0),p.type===\"affine\"\?z>0\?acc=acc.mixedAdd(wnd[z-1>>1]):acc=acc.mixedAdd(wnd[-z-1>>1].neg()):z>0\?acc=acc.add(wnd[z-1>>1]):acc=acc.add(wnd[-z-1>>1].neg())}return p.type===\"affine\"\?acc.toP():acc},BaseCurve.prototype._wnafMulAdd=function(defW,points,coeffs,len,jacobianResult){var wndWidth=this._wnafT1,wnd=this._wnafT2,naf=this._wnafT3,max=0,i,j,p;for(i=0;i=1;i-=2){var a=i-1,b=i;if(wndWidth[a]!==1||wndWidth[b]!==1){naf[a]=getNAF(coeffs[a],wndWidth[a],this._bitLength),naf[b]=getNAF(coeffs[b],wndWidth[b],this._bitLength),max=Math.max(naf[a].length,max),max=Math.max(naf[b].length,max);continue}var comb=[points[a],null,null,points[b]];points[a].y.cmp(points[b].y)===0\?(comb[1]=points[a].add(points[b]),comb[2]=points[a].toJ().mixedAdd(points[b].neg())):points[a].y.cmp(points[b].y.redNeg())===0\?(comb[1]=points[a].toJ().mixedAdd(points[b]),comb[2]=points[a].add(points[b].neg())):(comb[1]=points[a].toJ().mixedAdd(points[b]),comb[2]=points[a].toJ().mixedAdd(points[b].neg()));var index=[-3,-1,-5,-7,0,7,5,1,3],jsf=getJSF(coeffs[a],coeffs[b]);for(max=Math.max(jsf[0].length,max),naf[a]=new Array(max),naf[b]=new Array(max),j=0;j=0;i--){for(var k=0;i>=0;){var zero=!0;for(j=0;j=0&&k++,acc=acc.dblp(k),i<0)break;for(j=0;j0\?p=wnd[j][z-1>>1]:z<0&&(p=wnd[j][-z-1>>1].neg()),p.type===\"affine\"\?acc=acc.mixedAdd(p):acc=acc.add(p))}}for(i=0;i=Math.ceil((k.bitLength()+1)/doubles.step):!1},BasePoint.prototype._getDoubles=function(step,power){if(this.precomputed&&this.precomputed.doubles)return this.precomputed.doubles;for(var doubles=[this],acc=this,i=0;i=0&&(a2=a0,b2=b0),a1.negative&&(a1=a1.neg(),b1=b1.neg()),a2.negative&&(a2=a2.neg(),b2=b2.neg()),[{a:a1,b:b1},{a:a2,b:b2}]},ShortCurve.prototype._endoSplit=function(k){var basis=this.endo.basis,v1=basis[0],v2=basis[1],c1=v2.b.mul(k).divRound(this.n),c2=v1.b.neg().mul(k).divRound(this.n),p1=c1.mul(v1.a),p2=c2.mul(v2.a),q1=c1.mul(v1.b),q2=c2.mul(v2.b),k1=k.sub(p1).sub(p2),k2=q1.add(q2).neg();return{k1,k2}},ShortCurve.prototype.pointFromX=function(x,odd){x=new BN(x,16),x.red||(x=x.toRed(this.red));var y2=x.redSqr().redMul(x).redIAdd(x.redMul(this.a)).redIAdd(this.b),y=y2.redSqrt();if(y.redSqr().redSub(y2).cmp(this.zero)!==0)throw new Error(\"invalid point\");var isOdd=y.fromRed().isOdd();return(odd&&!isOdd||!odd&&isOdd)&&(y=y.redNeg()),this.point(x,y)},ShortCurve.prototype.validate=function(point){if(point.inf)return!0;var{x,y}=point,ax=this.a.redMul(x),rhs=x.redSqr().redMul(x).redIAdd(ax).redIAdd(this.b);return y.redSqr().redISub(rhs).cmpn(0)===0},ShortCurve.prototype._endoWnafMulAdd=function(points,coeffs,jacobianResult){for(var npoints=this._endoWnafT1,ncoeffs=this._endoWnafT2,i=0;i\":\"\"},Point.prototype.isInfinity=function(){return this.inf},Point.prototype.add=function(p){if(this.inf)return p;if(p.inf)return this;if(this.eq(p))return this.dbl();if(this.neg().eq(p))return this.curve.point(null,null);if(this.x.cmp(p.x)===0)return this.curve.point(null,null);var c=this.y.redSub(p.y);c.cmpn(0)!==0&&(c=c.redMul(this.x.redSub(p.x).redInvm()));var nx=c.redSqr().redISub(this.x).redISub(p.x),ny=c.redMul(this.x.redSub(nx)).redISub(this.y);return this.curve.point(nx,ny)},Point.prototype.dbl=function(){if(this.inf)return this;var ys1=this.y.redAdd(this.y);if(ys1.cmpn(0)===0)return this.curve.point(null,null);var a=this.curve.a,x2=this.x.redSqr(),dyinv=ys1.redInvm(),c=x2.redAdd(x2).redIAdd(x2).redIAdd(a).redMul(dyinv),nx=c.redSqr().redISub(this.x.redAdd(this.x)),ny=c.redMul(this.x.redSub(nx)).redISub(this.y);return this.curve.point(nx,ny)},Point.prototype.getX=function(){return this.x.fromRed()},Point.prototype.getY=function(){return this.y.fromRed()},Point.prototype.mul=function(k){return k=new BN(k,16),this.isInfinity()\?this:this._hasDoubles(k)\?this.curve._fixedNafMul(this,k):this.curve.endo\?this.curve._endoWnafMulAdd([this],[k]):this.curve._wnafMul(this,k)},Point.prototype.mulAdd=function(k1,p2,k2){var points=[this,p2],coeffs=[k1,k2];return this.curve.endo\?this.curve._endoWnafMulAdd(points,coeffs):this.curve._wnafMulAdd(1,points,coeffs,2)},Point.prototype.jmulAdd=function(k1,p2,k2){var points=[this,p2],coeffs=[k1,k2];return this.curve.endo\?this.curve._endoWnafMulAdd(points,coeffs,!0):this.curve._wnafMulAdd(1,points,coeffs,2,!0)},Point.prototype.eq=function(p){return this===p||this.inf===p.inf&&(this.inf||this.x.cmp(p.x)===0&&this.y.cmp(p.y)===0)},Point.prototype.neg=function(_precompute){if(this.inf)return this;var res=this.curve.point(this.x,this.y.redNeg());if(_precompute&&this.precomputed){var pre=this.precomputed,negate=function(p){return p.neg()};res.precomputed={naf:pre.naf&&{wnd:pre.naf.wnd,points:pre.naf.points.map(negate)},doubles:pre.doubles&&{step:pre.doubles.step,points:pre.doubles.points.map(negate)}}}return res},Point.prototype.toJ=function(){if(this.inf)return this.curve.jpoint(null,null,null);var res=this.curve.jpoint(this.x,this.y,this.curve.one);return res};function JPoint(curve,x,y,z){Base.BasePoint.call(this,curve,\"jacobian\"),x===null&&y===null&&z===null\?(this.x=this.curve.one,this.y=this.curve.one,this.z=new BN(0)):(this.x=new BN(x,16),this.y=new BN(y,16),this.z=new BN(z,16)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.zOne=this.z===this.curve.one}inherits(JPoint,Base.BasePoint),ShortCurve.prototype.jpoint=function(x,y,z){return new JPoint(this,x,y,z)},JPoint.prototype.toP=function(){if(this.isInfinity())return this.curve.point(null,null);var zinv=this.z.redInvm(),zinv2=zinv.redSqr(),ax=this.x.redMul(zinv2),ay=this.y.redMul(zinv2).redMul(zinv);return this.curve.point(ax,ay)},JPoint.prototype.neg=function(){return this.curve.jpoint(this.x,this.y.redNeg(),this.z)},JPoint.prototype.add=function(p){if(this.isInfinity())return p;if(p.isInfinity())return this;var pz2=p.z.redSqr(),z2=this.z.redSqr(),u1=this.x.redMul(pz2),u2=p.x.redMul(z2),s1=this.y.redMul(pz2.redMul(p.z)),s2=p.y.redMul(z2.redMul(this.z)),h=u1.redSub(u2),r=s1.redSub(s2);if(h.cmpn(0)===0)return r.cmpn(0)!==0\?this.curve.jpoint(null,null,null):this.dbl();var h2=h.redSqr(),h3=h2.redMul(h),v=u1.redMul(h2),nx=r.redSqr().redIAdd(h3).redISub(v).redISub(v),ny=r.redMul(v.redISub(nx)).redISub(s1.redMul(h3)),nz=this.z.redMul(p.z).redMul(h);return this.curve.jpoint(nx,ny,nz)},JPoint.prototype.mixedAdd=function(p){if(this.isInfinity())return p.toJ();if(p.isInfinity())return this;var z2=this.z.redSqr(),u1=this.x,u2=p.x.redMul(z2),s1=this.y,s2=p.y.redMul(z2).redMul(this.z),h=u1.redSub(u2),r=s1.redSub(s2);if(h.cmpn(0)===0)return r.cmpn(0)!==0\?this.curve.jpoint(null,null,null):this.dbl();var h2=h.redSqr(),h3=h2.redMul(h),v=u1.redMul(h2),nx=r.redSqr().redIAdd(h3).redISub(v).redISub(v),ny=r.redMul(v.redISub(nx)).redISub(s1.redMul(h3)),nz=this.z.redMul(h);return this.curve.jpoint(nx,ny,nz)},JPoint.prototype.dblp=function(pow){if(pow===0)return this;if(this.isInfinity())return this;if(!pow)return this.dbl();var i;if(this.curve.zeroA||this.curve.threeA){var r=this;for(i=0;i=0)return!1;if(rx.redIAdd(t),this.x.cmp(rx)===0)return!0}},JPoint.prototype.inspect=function(){return this.isInfinity()\?\"\":\"\"},JPoint.prototype.isInfinity=function(){return this.z.cmpn(0)===0}}}),require_mont=__commonJS({\"node_modules/elliptic/lib/elliptic/curve/mont.js\"(exports,module){var BN=require_bn4(),inherits=require_inherits_browser(),Base=require_base(),utils=require_utils3();function MontCurve(conf){Base.call(this,\"mont\",conf),this.a=new BN(conf.a,16).toRed(this.red),this.b=new BN(conf.b,16).toRed(this.red),this.i4=new BN(4).toRed(this.red).redInvm(),this.two=new BN(2).toRed(this.red),this.a24=this.i4.redMul(this.a.redAdd(this.two))}inherits(MontCurve,Base),module.exports=MontCurve,MontCurve.prototype.validate=function(point){var x=point.normalize().x,x2=x.redSqr(),rhs=x2.redMul(x).redAdd(x2.redMul(this.a)).redAdd(x),y=rhs.redSqrt();return y.redSqr().cmp(rhs)===0};function Point(curve,x,z){Base.BasePoint.call(this,curve,\"projective\"),x===null&&z===null\?(this.x=this.curve.one,this.z=this.curve.zero):(this.x=new BN(x,16),this.z=new BN(z,16),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)))}inherits(Point,Base.BasePoint),MontCurve.prototype.decodePoint=function(bytes,enc){return this.point(utils.toArray(bytes,enc),1)},MontCurve.prototype.point=function(x,z){return new Point(this,x,z)},MontCurve.prototype.pointFromJSON=function(obj){return Point.fromJSON(this,obj)},Point.prototype.precompute=function(){},Point.prototype._encode=function(){return this.getX().toArray(\"be\",this.curve.p.byteLength())},Point.fromJSON=function(curve,obj){return new Point(curve,obj[0],obj[1]||curve.one)},Point.prototype.inspect=function(){return this.isInfinity()\?\"\":\"\"},Point.prototype.isInfinity=function(){return this.z.cmpn(0)===0},Point.prototype.dbl=function(){var a=this.x.redAdd(this.z),aa=a.redSqr(),b=this.x.redSub(this.z),bb=b.redSqr(),c=aa.redSub(bb),nx=aa.redMul(bb),nz=c.redMul(bb.redAdd(this.curve.a24.redMul(c)));return this.curve.point(nx,nz)},Point.prototype.add=function(){throw new Error(\"Not supported on Montgomery curve\")},Point.prototype.diffAdd=function(p,diff){var a=this.x.redAdd(this.z),b=this.x.redSub(this.z),c=p.x.redAdd(p.z),d=p.x.redSub(p.z),da=d.redMul(a),cb=c.redMul(b),nx=diff.z.redMul(da.redAdd(cb).redSqr()),nz=diff.x.redMul(da.redISub(cb).redSqr());return this.curve.point(nx,nz)},Point.prototype.mul=function(k){for(var t=k.clone(),a=this,b=this.curve.point(null,null),c=this,bits=[];t.cmpn(0)!==0;t.iushrn(1))bits.push(t.andln(1));for(var i=bits.length-1;i>=0;i--)bits[i]===0\?(a=a.diffAdd(b,c),b=b.dbl()):(b=a.diffAdd(b,c),a=a.dbl());return b},Point.prototype.mulAdd=function(){throw new Error(\"Not supported on Montgomery curve\")},Point.prototype.jumlAdd=function(){throw new Error(\"Not supported on Montgomery curve\")},Point.prototype.eq=function(other){return this.getX().cmp(other.getX())===0},Point.prototype.normalize=function(){return this.x=this.x.redMul(this.z.redInvm()),this.z=this.curve.one,this},Point.prototype.getX=function(){return this.normalize(),this.x.fromRed()}}}),require_edwards=__commonJS({\"node_modules/elliptic/lib/elliptic/curve/edwards.js\"(exports,module){var utils=require_utils3(),BN=require_bn4(),inherits=require_inherits_browser(),Base=require_base(),assert=utils.assert;function EdwardsCurve(conf){this.twisted=(conf.a|0)!==1,this.mOneA=this.twisted&&(conf.a|0)===-1,this.extended=this.mOneA,Base.call(this,\"edwards\",conf),this.a=new BN(conf.a,16).umod(this.red.m),this.a=this.a.toRed(this.red),this.c=new BN(conf.c,16).toRed(this.red),this.c2=this.c.redSqr(),this.d=new BN(conf.d,16).toRed(this.red),this.dd=this.d.redAdd(this.d),assert(!this.twisted||this.c.fromRed().cmpn(1)===0),this.oneC=(conf.c|0)===1}inherits(EdwardsCurve,Base),module.exports=EdwardsCurve,EdwardsCurve.prototype._mulA=function(num){return this.mOneA\?num.redNeg():this.a.redMul(num)},EdwardsCurve.prototype._mulC=function(num){return this.oneC\?num:this.c.redMul(num)},EdwardsCurve.prototype.jpoint=function(x,y,z,t){return this.point(x,y,z,t)},EdwardsCurve.prototype.pointFromX=function(x,odd){x=new BN(x,16),x.red||(x=x.toRed(this.red));var x2=x.redSqr(),rhs=this.c2.redSub(this.a.redMul(x2)),lhs=this.one.redSub(this.c2.redMul(this.d).redMul(x2)),y2=rhs.redMul(lhs.redInvm()),y=y2.redSqrt();if(y.redSqr().redSub(y2).cmp(this.zero)!==0)throw new Error(\"invalid point\");var isOdd=y.fromRed().isOdd();return(odd&&!isOdd||!odd&&isOdd)&&(y=y.redNeg()),this.point(x,y)},EdwardsCurve.prototype.pointFromY=function(y,odd){y=new BN(y,16),y.red||(y=y.toRed(this.red));var y2=y.redSqr(),lhs=y2.redSub(this.c2),rhs=y2.redMul(this.d).redMul(this.c2).redSub(this.a),x2=lhs.redMul(rhs.redInvm());if(x2.cmp(this.zero)===0){if(odd)throw new Error(\"invalid point\");return this.point(this.zero,y)}var x=x2.redSqrt();if(x.redSqr().redSub(x2).cmp(this.zero)!==0)throw new Error(\"invalid point\");return x.fromRed().isOdd()!==odd&&(x=x.redNeg()),this.point(x,y)},EdwardsCurve.prototype.validate=function(point){if(point.isInfinity())return!0;point.normalize();var x2=point.x.redSqr(),y2=point.y.redSqr(),lhs=x2.redMul(this.a).redAdd(y2),rhs=this.c2.redMul(this.one.redAdd(this.d.redMul(x2).redMul(y2)));return lhs.cmp(rhs)===0};function Point(curve,x,y,z,t){Base.BasePoint.call(this,curve,\"projective\"),x===null&&y===null&&z===null\?(this.x=this.curve.zero,this.y=this.curve.one,this.z=this.curve.one,this.t=this.curve.zero,this.zOne=!0):(this.x=new BN(x,16),this.y=new BN(y,16),this.z=z\?new BN(z,16):this.curve.one,this.t=t&&new BN(t,16),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.t&&!this.t.red&&(this.t=this.t.toRed(this.curve.red)),this.zOne=this.z===this.curve.one,this.curve.extended&&!this.t&&(this.t=this.x.redMul(this.y),this.zOne||(this.t=this.t.redMul(this.z.redInvm()))))}inherits(Point,Base.BasePoint),EdwardsCurve.prototype.pointFromJSON=function(obj){return Point.fromJSON(this,obj)},EdwardsCurve.prototype.point=function(x,y,z,t){return new Point(this,x,y,z,t)},Point.fromJSON=function(curve,obj){return new Point(curve,obj[0],obj[1],obj[2])},Point.prototype.inspect=function(){return this.isInfinity()\?\"\":\"\"},Point.prototype.isInfinity=function(){return this.x.cmpn(0)===0&&(this.y.cmp(this.z)===0||this.zOne&&this.y.cmp(this.curve.c)===0)},Point.prototype._extDbl=function(){var a=this.x.redSqr(),b=this.y.redSqr(),c=this.z.redSqr();c=c.redIAdd(c);var d=this.curve._mulA(a),e=this.x.redAdd(this.y).redSqr().redISub(a).redISub(b),g=d.redAdd(b),f=g.redSub(c),h=d.redSub(b),nx=e.redMul(f),ny=g.redMul(h),nt=e.redMul(h),nz=f.redMul(g);return this.curve.point(nx,ny,nz,nt)},Point.prototype._projDbl=function(){var b=this.x.redAdd(this.y).redSqr(),c=this.x.redSqr(),d=this.y.redSqr(),nx,ny,nz,e,h,j;if(this.curve.twisted){e=this.curve._mulA(c);var f=e.redAdd(d);this.zOne\?(nx=b.redSub(c).redSub(d).redMul(f.redSub(this.curve.two)),ny=f.redMul(e.redSub(d)),nz=f.redSqr().redSub(f).redSub(f)):(h=this.z.redSqr(),j=f.redSub(h).redISub(h),nx=b.redSub(c).redISub(d).redMul(j),ny=f.redMul(e.redSub(d)),nz=f.redMul(j))}else e=c.redAdd(d),h=this.curve._mulC(this.z).redSqr(),j=e.redSub(h).redSub(h),nx=this.curve._mulC(b.redISub(e)).redMul(j),ny=this.curve._mulC(e).redMul(c.redISub(d)),nz=e.redMul(j);return this.curve.point(nx,ny,nz)},Point.prototype.dbl=function(){return this.isInfinity()\?this:this.curve.extended\?this._extDbl():this._projDbl()},Point.prototype._extAdd=function(p){var a=this.y.redSub(this.x).redMul(p.y.redSub(p.x)),b=this.y.redAdd(this.x).redMul(p.y.redAdd(p.x)),c=this.t.redMul(this.curve.dd).redMul(p.t),d=this.z.redMul(p.z.redAdd(p.z)),e=b.redSub(a),f=d.redSub(c),g=d.redAdd(c),h=b.redAdd(a),nx=e.redMul(f),ny=g.redMul(h),nt=e.redMul(h),nz=f.redMul(g);return this.curve.point(nx,ny,nz,nt)},Point.prototype._projAdd=function(p){var a=this.z.redMul(p.z),b=a.redSqr(),c=this.x.redMul(p.x),d=this.y.redMul(p.y),e=this.curve.d.redMul(c).redMul(d),f=b.redSub(e),g=b.redAdd(e),tmp=this.x.redAdd(this.y).redMul(p.x.redAdd(p.y)).redISub(c).redISub(d),nx=a.redMul(f).redMul(tmp),ny,nz;return this.curve.twisted\?(ny=a.redMul(g).redMul(d.redSub(this.curve._mulA(c))),nz=f.redMul(g)):(ny=a.redMul(g).redMul(d.redSub(c)),nz=this.curve._mulC(f).redMul(g)),this.curve.point(nx,ny,nz)},Point.prototype.add=function(p){return this.isInfinity()\?p:p.isInfinity()\?this:this.curve.extended\?this._extAdd(p):this._projAdd(p)},Point.prototype.mul=function(k){return this._hasDoubles(k)\?this.curve._fixedNafMul(this,k):this.curve._wnafMul(this,k)},Point.prototype.mulAdd=function(k1,p,k2){return this.curve._wnafMulAdd(1,[this,p],[k1,k2],2,!1)},Point.prototype.jmulAdd=function(k1,p,k2){return this.curve._wnafMulAdd(1,[this,p],[k1,k2],2,!0)},Point.prototype.normalize=function(){if(this.zOne)return this;var zi=this.z.redInvm();return this.x=this.x.redMul(zi),this.y=this.y.redMul(zi),this.t&&(this.t=this.t.redMul(zi)),this.z=this.curve.one,this.zOne=!0,this},Point.prototype.neg=function(){return this.curve.point(this.x.redNeg(),this.y,this.z,this.t&&this.t.redNeg())},Point.prototype.getX=function(){return this.normalize(),this.x.fromRed()},Point.prototype.getY=function(){return this.normalize(),this.y.fromRed()},Point.prototype.eq=function(other){return this===other||this.getX().cmp(other.getX())===0&&this.getY().cmp(other.getY())===0},Point.prototype.eqXToP=function(x){var rx=x.toRed(this.curve.red).redMul(this.z);if(this.x.cmp(rx)===0)return!0;for(var xc=x.clone(),t=this.curve.redN.redMul(this.z);;){if(xc.iadd(this.curve.n),xc.cmp(this.curve.p)>=0)return!1;if(rx.redIAdd(t),this.x.cmp(rx)===0)return!0}},Point.prototype.toP=Point.prototype.normalize,Point.prototype.mixedAdd=Point.prototype.add}}),require_curve=__commonJS({\"node_modules/elliptic/lib/elliptic/curve/index.js\"(exports){var curve=exports;curve.base=require_base(),curve.short=require_short(),curve.mont=require_mont(),curve.edwards=require_edwards()}}),require_utils4=__commonJS({\"node_modules/hash.js/lib/hash/utils.js\"(exports){var assert=require_minimalistic_assert(),inherits=require_inherits_browser();exports.inherits=inherits;function isSurrogatePair(msg,i){return(msg.charCodeAt(i)&64512)!==55296||i<0||i+1>=msg.length\?!1:(msg.charCodeAt(i+1)&64512)===56320}function toArray(msg,enc){if(Array.isArray(msg))return msg.slice();if(!msg)return[];var res=[];if(typeof msg==\"string\")if(enc){if(enc===\"hex\")for(msg=msg.replace(/[^a-z0-9]+/gi,\"\"),msg.length%2!==0&&(msg=\"0\"+msg),i=0;i>6|192,res[p++]=c&63|128):isSurrogatePair(msg,i)\?(c=65536+((c&1023)<<10)+(msg.charCodeAt(++i)&1023),res[p++]=c>>18|240,res[p++]=c>>12&63|128,res[p++]=c>>6&63|128,res[p++]=c&63|128):(res[p++]=c>>12|224,res[p++]=c>>6&63|128,res[p++]=c&63|128)}else for(i=0;i>>24|w>>>8&65280|w<<8&16711680|(w&255)<<24;return res>>>0}exports.htonl=htonl;function toHex32(msg,endian){for(var res=\"\",i=0;i>>0}return res}exports.join32=join32;function split32(msg,endian){for(var res=new Array(msg.length*4),i=0,k=0;i>>24,res[k+1]=m>>>16&255,res[k+2]=m>>>8&255,res[k+3]=m&255):(res[k+3]=m>>>24,res[k+2]=m>>>16&255,res[k+1]=m>>>8&255,res[k]=m&255)}return res}exports.split32=split32;function rotr32(w,b){return w>>>b|w<<32-b}exports.rotr32=rotr32;function rotl32(w,b){return w<>>32-b}exports.rotl32=rotl32;function sum32(a,b){return a+b>>>0}exports.sum32=sum32;function sum32_3(a,b,c){return a+b+c>>>0}exports.sum32_3=sum32_3;function sum32_4(a,b,c,d){return a+b+c+d>>>0}exports.sum32_4=sum32_4;function sum32_5(a,b,c,d,e){return a+b+c+d+e>>>0}exports.sum32_5=sum32_5;function sum64(buf,pos,ah,al){var bh=buf[pos],bl=buf[pos+1],lo=al+bl>>>0,hi=(lo>>0,buf[pos+1]=lo}exports.sum64=sum64;function sum64_hi(ah,al,bh,bl){var lo=al+bl>>>0,hi=(lo>>0}exports.sum64_hi=sum64_hi;function sum64_lo(ah,al,bh,bl){var lo=al+bl;return lo>>>0}exports.sum64_lo=sum64_lo;function sum64_4_hi(ah,al,bh,bl,ch,cl,dh,dl){var carry=0,lo=al;lo=lo+bl>>>0,carry+=lo>>0,carry+=lo>>0,carry+=lo>>0}exports.sum64_4_hi=sum64_4_hi;function sum64_4_lo(ah,al,bh,bl,ch,cl,dh,dl){var lo=al+bl+cl+dl;return lo>>>0}exports.sum64_4_lo=sum64_4_lo;function sum64_5_hi(ah,al,bh,bl,ch,cl,dh,dl,eh,el){var carry=0,lo=al;lo=lo+bl>>>0,carry+=lo>>0,carry+=lo>>0,carry+=lo>>0,carry+=lo>>0}exports.sum64_5_hi=sum64_5_hi;function sum64_5_lo(ah,al,bh,bl,ch,cl,dh,dl,eh,el){var lo=al+bl+cl+dl+el;return lo>>>0}exports.sum64_5_lo=sum64_5_lo;function rotr64_hi(ah,al,num){var r=al<<32-num|ah>>>num;return r>>>0}exports.rotr64_hi=rotr64_hi;function rotr64_lo(ah,al,num){var r=ah<<32-num|al>>>num;return r>>>0}exports.rotr64_lo=rotr64_lo;function shr64_hi(ah,al,num){return ah>>>num}exports.shr64_hi=shr64_hi;function shr64_lo(ah,al,num){var r=ah<<32-num|al>>>num;return r>>>0}exports.shr64_lo=shr64_lo}}),require_common=__commonJS({\"node_modules/hash.js/lib/hash/common.js\"(exports){var utils=require_utils4(),assert=require_minimalistic_assert();function BlockHash(){this.pending=null,this.pendingTotal=0,this.blockSize=this.constructor.blockSize,this.outSize=this.constructor.outSize,this.hmacStrength=this.constructor.hmacStrength,this.padLength=this.constructor.padLength/8,this.endian=\"big\",this._delta8=this.blockSize/8,this._delta32=this.blockSize/32}exports.BlockHash=BlockHash,BlockHash.prototype.update=function(msg,enc){if(msg=utils.toArray(msg,enc),this.pending\?this.pending=this.pending.concat(msg):this.pending=msg,this.pendingTotal+=msg.length,this.pending.length>=this._delta8){msg=this.pending;var r=msg.length%this._delta8;this.pending=msg.slice(msg.length-r,msg.length),this.pending.length===0&&(this.pending=null),msg=utils.join32(msg,0,msg.length-r,this.endian);for(var i=0;i>>24&255,res[i++]=len>>>16&255,res[i++]=len>>>8&255,res[i++]=len&255}else for(res[i++]=len&255,res[i++]=len>>>8&255,res[i++]=len>>>16&255,res[i++]=len>>>24&255,res[i++]=0,res[i++]=0,res[i++]=0,res[i++]=0,t=8;t>>3}exports.g0_256=g0_256;function g1_256(x){return rotr32(x,17)^rotr32(x,19)^x>>>10}exports.g1_256=g1_256}}),require__=__commonJS({\"node_modules/hash.js/lib/hash/sha/1.js\"(exports,module){var utils=require_utils4(),common=require_common(),shaCommon=require_common2(),rotl32=utils.rotl32,sum32=utils.sum32,sum32_5=utils.sum32_5,ft_1=shaCommon.ft_1,BlockHash=common.BlockHash,sha1_K=[1518500249,1859775393,2400959708,3395469782];function SHA1(){if(!(this instanceof SHA1))return new SHA1;BlockHash.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.W=new Array(80)}utils.inherits(SHA1,BlockHash),module.exports=SHA1,SHA1.blockSize=512,SHA1.outSize=160,SHA1.hmacStrength=80,SHA1.padLength=64,SHA1.prototype._update=function(msg,start){for(var W=this.W,i=0;i<16;i++)W[i]=msg[start+i];for(;ithis.blockSize&&(key=new this.Hash().update(key).digest()),assert(key.length<=this.blockSize);for(var i=key.length;i=this.minEntropy/8,\"Not enough entropy. Minimum is: \"+this.minEntropy+\" bits\"),this._init(entropy,nonce,pers)}module.exports=HmacDRBG,HmacDRBG.prototype._init=function(entropy,nonce,pers){var seed=entropy.concat(nonce).concat(pers);this.K=new Array(this.outLen/8),this.V=new Array(this.outLen/8);for(var i=0;i=this.minEntropy/8,\"Not enough entropy. Minimum is: \"+this.minEntropy+\" bits\"),this._update(entropy.concat(add||[])),this._reseed=1},HmacDRBG.prototype.generate=function(len,enc,add,addEnc){if(this._reseed>this.reseedInterval)throw new Error(\"Reseed is required\");typeof enc!=\"string\"&&(addEnc=add,add=enc,enc=null),add&&(add=utils.toArray(add,addEnc||\"hex\"),this._update(add));for(var temp=[];temp.length\"}}}),require_signature=__commonJS({\"node_modules/elliptic/lib/elliptic/ec/signature.js\"(exports,module){var BN=require_bn4(),utils=require_utils3(),assert=utils.assert;function Signature(options,enc){if(options instanceof Signature)return options;this._importDER(options,enc)||(assert(options.r&&options.s,\"Signature without r or s\"),this.r=new BN(options.r,16),this.s=new BN(options.s,16),options.recoveryParam===void 0\?this.recoveryParam=null:this.recoveryParam=options.recoveryParam)}module.exports=Signature;function Position(){this.place=0}function getLength(buf,p){var initial=buf[p.place++];if(!(initial&128))return initial;var octetLen=initial&15;if(octetLen===0||octetLen>4)return!1;for(var val=0,i=0,off=p.place;i>>=0;return val<=127\?!1:(p.place=off,val)}function rmPadding(buf){for(var i=0,len=buf.length-1;!buf[i]&&!(buf[i+1]&128)&&i>>3);for(arr.push(octets|128);--octets;)arr.push(len>>>(octets<<3)&255);arr.push(len)}Signature.prototype.toDER=function(enc){var r=this.r.toArray(),s=this.s.toArray();for(r[0]&128&&(r=[0].concat(r)),s[0]&128&&(s=[0].concat(s)),r=rmPadding(r),s=rmPadding(s);!s[0]&&!(s[1]&128);)s=s.slice(1);var arr=[2];constructLength(arr,r.length),arr=arr.concat(r),arr.push(2),constructLength(arr,s.length);var backHalf=arr.concat(s),res=[48];return constructLength(res,backHalf.length),res=res.concat(backHalf),utils.encode(res,enc)}}}),require_ec=__commonJS({\"node_modules/elliptic/lib/elliptic/ec/index.js\"(exports,module){var BN=require_bn4(),HmacDRBG=require_hmac_drbg(),utils=require_utils3(),curves=require_curves(),rand=require_brorand(),assert=utils.assert,KeyPair=require_key(),Signature=require_signature();function EC(options){if(!(this instanceof EC))return new EC(options);typeof options==\"string\"&&(assert(Object.prototype.hasOwnProperty.call(curves,options),\"Unknown curve \"+options),options=curves[options]),options instanceof curves.PresetCurve&&(options={curve:options}),this.curve=options.curve.curve,this.n=this.curve.n,this.nh=this.n.ushrn(1),this.g=this.curve.g,this.g=options.curve.g,this.g.precompute(options.curve.n.bitLength()+1),this.hash=options.hash||options.curve.hash}module.exports=EC,EC.prototype.keyPair=function(options){return new KeyPair(this,options)},EC.prototype.keyFromPrivate=function(priv,enc){return KeyPair.fromPrivate(this,priv,enc)},EC.prototype.keyFromPublic=function(pub,enc){return KeyPair.fromPublic(this,pub,enc)},EC.prototype.genKeyPair=function(options){options||(options={});for(var drbg=new HmacDRBG({hash:this.hash,pers:options.pers,persEnc:options.persEnc||\"utf8\",entropy:options.entropy||rand(this.hash.hmacStrength),entropyEnc:options.entropy&&options.entropyEnc||\"utf8\",nonce:this.n.toArray()}),bytes=this.n.byteLength(),ns2=this.n.sub(new BN(2));;){var priv=new BN(drbg.generate(bytes));if(!(priv.cmp(ns2)>0))return priv.iaddn(1),this.keyFromPrivate(priv)}},EC.prototype._truncateToN=function(msg,truncOnly){var delta=msg.byteLength()*8-this.n.bitLength();return delta>0&&(msg=msg.ushrn(delta)),!truncOnly&&msg.cmp(this.n)>=0\?msg.sub(this.n):msg},EC.prototype.sign=function(msg,key,enc,options){typeof enc==\"object\"&&(options=enc,enc=null),options||(options={}),key=this.keyFromPrivate(key,enc),msg=this._truncateToN(new BN(msg,16));for(var bytes=this.n.byteLength(),bkey=key.getPrivate().toArray(\"be\",bytes),nonce=msg.toArray(\"be\",bytes),drbg=new HmacDRBG({hash:this.hash,entropy:bkey,nonce,pers:options.pers,persEnc:options.persEnc||\"utf8\"}),ns1=this.n.sub(new BN(1)),iter=0;;iter++){var k=options.k\?options.k(iter):new BN(drbg.generate(this.n.byteLength()));if(k=this._truncateToN(k,!0),!(k.cmpn(1)<=0||k.cmp(ns1)>=0)){var kp=this.g.mul(k);if(!kp.isInfinity()){var kpX=kp.getX(),r=kpX.umod(this.n);if(r.cmpn(0)!==0){var s=k.invm(this.n).mul(r.mul(key.getPrivate()).iadd(msg));if(s=s.umod(this.n),s.cmpn(0)!==0){var recoveryParam=(kp.getY().isOdd()\?1:0)|(kpX.cmp(r)!==0\?2:0);return options.canonical&&s.cmp(this.nh)>0&&(s=this.n.sub(s),recoveryParam^=1),new Signature({r,s,recoveryParam})}}}}}},EC.prototype.verify=function(msg,signature,key,enc){msg=this._truncateToN(new BN(msg,16)),key=this.keyFromPublic(key,enc),signature=new Signature(signature,\"hex\");var{r,s}=signature;if(r.cmpn(1)<0||r.cmp(this.n)>=0||s.cmpn(1)<0||s.cmp(this.n)>=0)return!1;var sinv=s.invm(this.n),u1=sinv.mul(msg).umod(this.n),u2=sinv.mul(r).umod(this.n),p;return this.curve._maxwellTrick\?(p=this.g.jmulAdd(u1,key.getPublic(),u2),p.isInfinity()\?!1:p.eqXToP(r)):(p=this.g.mulAdd(u1,key.getPublic(),u2),p.isInfinity()\?!1:p.getX().umod(this.n).cmp(r)===0)},EC.prototype.recoverPubKey=function(msg,signature,j,enc){assert((3&j)===j,\"The recovery param is more than two bits\"),signature=new Signature(signature,enc);var n=this.n,e=new BN(msg),r=signature.r,s=signature.s,isYOdd=j&1,isSecondKey=j>>1;if(r.cmp(this.curve.p.umod(this.curve.n))>=0&&isSecondKey)throw new Error(\"Unable to find sencond key candinate\");isSecondKey\?r=this.curve.pointFromX(r.add(this.curve.n),isYOdd):r=this.curve.pointFromX(r,isYOdd);var rInv=signature.r.invm(n),s1=n.sub(e).mul(rInv).umod(n),s2=s.mul(rInv).umod(n);return this.g.mulAdd(s1,r,s2)},EC.prototype.getKeyRecoveryParam=function(e,signature,Q,enc){if(signature=new Signature(signature,enc),signature.recoveryParam!==null)return signature.recoveryParam;for(var i=0;i<4;i++){var Qprime;try{Qprime=this.recoverPubKey(e,signature,i)}catch{continue}if(Qprime.eq(Q))return i}throw new Error(\"Unable to find valid recovery factor\")}}}),require_key2=__commonJS({\"node_modules/elliptic/lib/elliptic/eddsa/key.js\"(exports,module){var utils=require_utils3(),assert=utils.assert,parseBytes=utils.parseBytes,cachedProperty=utils.cachedProperty;function KeyPair(eddsa,params){this.eddsa=eddsa,this._secret=parseBytes(params.secret),eddsa.isPoint(params.pub)\?this._pub=params.pub:this._pubBytes=parseBytes(params.pub)}KeyPair.fromPublic=function(eddsa,pub){return pub instanceof KeyPair\?pub:new KeyPair(eddsa,{pub})},KeyPair.fromSecret=function(eddsa,secret){return secret instanceof KeyPair\?secret:new KeyPair(eddsa,{secret})},KeyPair.prototype.secret=function(){return this._secret},cachedProperty(KeyPair,\"pubBytes\",function(){return this.eddsa.encodePoint(this.pub())}),cachedProperty(KeyPair,\"pub\",function(){return this._pubBytes\?this.eddsa.decodePoint(this._pubBytes):this.eddsa.g.mul(this.priv())}),cachedProperty(KeyPair,\"privBytes\",function(){var eddsa=this.eddsa,hash=this.hash(),lastIx=eddsa.encodingLength-1,a=hash.slice(0,eddsa.encodingLength);return a[0]&=248,a[lastIx]&=127,a[lastIx]|=64,a}),cachedProperty(KeyPair,\"priv\",function(){return this.eddsa.decodeInt(this.privBytes())}),cachedProperty(KeyPair,\"hash\",function(){return this.eddsa.hash().update(this.secret()).digest()}),cachedProperty(KeyPair,\"messagePrefix\",function(){return this.hash().slice(this.eddsa.encodingLength)}),KeyPair.prototype.sign=function(message){return assert(this._secret,\"KeyPair can only verify\"),this.eddsa.sign(message,this)},KeyPair.prototype.verify=function(message,sig){return this.eddsa.verify(message,sig,this)},KeyPair.prototype.getSecret=function(enc){return assert(this._secret,\"KeyPair is public only\"),utils.encode(this.secret(),enc)},KeyPair.prototype.getPublic=function(enc){return utils.encode(this.pubBytes(),enc)},module.exports=KeyPair}}),require_signature2=__commonJS({\"node_modules/elliptic/lib/elliptic/eddsa/signature.js\"(exports,module){var BN=require_bn4(),utils=require_utils3(),assert=utils.assert,cachedProperty=utils.cachedProperty,parseBytes=utils.parseBytes;function Signature(eddsa,sig){this.eddsa=eddsa,typeof sig!=\"object\"&&(sig=parseBytes(sig)),Array.isArray(sig)&&(sig={R:sig.slice(0,eddsa.encodingLength),S:sig.slice(eddsa.encodingLength)}),assert(sig.R&&sig.S,\"Signature without R or S\"),eddsa.isPoint(sig.R)&&(this._R=sig.R),sig.S instanceof BN&&(this._S=sig.S),this._Rencoded=Array.isArray(sig.R)\?sig.R:sig.Rencoded,this._Sencoded=Array.isArray(sig.S)\?sig.S:sig.Sencoded}cachedProperty(Signature,\"S\",function(){return this.eddsa.decodeInt(this.Sencoded())}),cachedProperty(Signature,\"R\",function(){return this.eddsa.decodePoint(this.Rencoded())}),cachedProperty(Signature,\"Rencoded\",function(){return this.eddsa.encodePoint(this.R())}),cachedProperty(Signature,\"Sencoded\",function(){return this.eddsa.encodeInt(this.S())}),Signature.prototype.toBytes=function(){return this.Rencoded().concat(this.Sencoded())},Signature.prototype.toHex=function(){return utils.encode(this.toBytes(),\"hex\").toUpperCase()},module.exports=Signature}}),require_eddsa=__commonJS({\"node_modules/elliptic/lib/elliptic/eddsa/index.js\"(exports,module){var hash=require_hash2(),curves=require_curves(),utils=require_utils3(),assert=utils.assert,parseBytes=utils.parseBytes,KeyPair=require_key2(),Signature=require_signature2();function EDDSA(curve){if(assert(curve===\"ed25519\",\"only tested with ed25519 so far\"),!(this instanceof EDDSA))return new EDDSA(curve);curve=curves[curve].curve,this.curve=curve,this.g=curve.g,this.g.precompute(curve.n.bitLength()+1),this.pointClass=curve.point().constructor,this.encodingLength=Math.ceil(curve.n.bitLength()/8),this.hash=hash.sha512}module.exports=EDDSA,EDDSA.prototype.sign=function(message,secret){message=parseBytes(message);var key=this.keyFromSecret(secret),r=this.hashInt(key.messagePrefix(),message),R=this.g.mul(r),Rencoded=this.encodePoint(R),s_=this.hashInt(Rencoded,key.pubBytes(),message).mul(key.priv()),S=r.add(s_).umod(this.curve.n);return this.makeSignature({R,S,Rencoded})},EDDSA.prototype.verify=function(message,sig,pub){message=parseBytes(message),sig=this.makeSignature(sig);var key=this.keyFromPublic(pub),h=this.hashInt(sig.Rencoded(),key.pubBytes(),message),SG=this.g.mul(sig.S()),RplusAh=sig.R().add(key.pub().mul(h));return RplusAh.eq(SG)},EDDSA.prototype.hashInt=function(){for(var hash2=this.hash(),i=0;i0\?left:right},BN.min=function(left,right){return left.cmp(right)<0\?left:right},BN.prototype._init=function(number,base,endian){if(typeof number==\"number\")return this._initNumber(number,base,endian);if(typeof number==\"object\")return this._initArray(number,base,endian);base===\"hex\"&&(base=16),assert(base===(base|0)&&base>=2&&base<=36),number=number.toString().replace(/\\s+/g,\"\");var start=0;number[0]===\"-\"&&(start++,this.negative=1),start=0;i-=3)w=number[i]|number[i-1]<<8|number[i-2]<<16,this.words[j]|=w<>>26-off&67108863,off+=24,off>=26&&(off-=26,j++);else if(endian===\"le\")for(i=0,j=0;i>>26-off&67108863,off+=24,off>=26&&(off-=26,j++);return this.strip()};function parseHex4Bits(string,index){var c=string.charCodeAt(index);return c>=65&&c<=70\?c-55:c>=97&&c<=102\?c-87:c-48&15}function parseHexByte(string,lowerBound,index){var r=parseHex4Bits(string,index);return index-1>=lowerBound&&(r|=parseHex4Bits(string,index-1)<<4),r}BN.prototype._parseHex=function(number,start,endian){this.length=Math.ceil((number.length-start)/6),this.words=new Array(this.length);for(var i=0;i=start;i-=2)w=parseHexByte(number,start,i)<=18\?(off-=18,j+=1,this.words[j]|=w>>>26):off+=8;else{var parseLength=number.length-start;for(i=parseLength%2===0\?start+1:start;i=18\?(off-=18,j+=1,this.words[j]|=w>>>26):off+=8}this.strip()};function parseBase(str,start,end,mul){for(var r=0,len=Math.min(str.length,end),i=start;i=49\?r+=c-49+10:c>=17\?r+=c-17+10:r+=c}return r}BN.prototype._parseBase=function(number,base,start){this.words=[0],this.length=1;for(var limbLen=0,limbPow=1;limbPow<=67108863;limbPow*=base)limbLen++;limbLen--,limbPow=limbPow/base|0;for(var total=number.length-start,mod=total%limbLen,end=Math.min(total,total-mod)+start,word=0,i=start;i1&&this.words[this.length-1]===0;)this.length--;return this._normSign()},BN.prototype._normSign=function(){return this.length===1&&this.words[0]===0&&(this.negative=0),this},BN.prototype.inspect=function(){return(this.red\?\"\"};var zeros=[\"\",\"0\",\"00\",\"000\",\"0000\",\"00000\",\"000000\",\"0000000\",\"00000000\",\"000000000\",\"0000000000\",\"00000000000\",\"000000000000\",\"0000000000000\",\"00000000000000\",\"000000000000000\",\"0000000000000000\",\"00000000000000000\",\"000000000000000000\",\"0000000000000000000\",\"00000000000000000000\",\"000000000000000000000\",\"0000000000000000000000\",\"00000000000000000000000\",\"000000000000000000000000\",\"0000000000000000000000000\"],groupSizes=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],groupBases=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64000000,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,24300000,28629151,33554432,39135393,45435424,52521875,60466176];BN.prototype.toString=function(base,padding){base=base||10,padding=padding|0||1;var out;if(base===16||base===\"hex\"){out=\"\";for(var off=0,carry=0,i=0;i>>24-off&16777215,carry!==0||i!==this.length-1\?out=zeros[6-word.length]+word+out:out=word+out,off+=2,off>=26&&(off-=26,i--)}for(carry!==0&&(out=carry.toString(16)+out);out.length%padding!==0;)out=\"0\"+out;return this.negative!==0&&(out=\"-\"+out),out}if(base===(base|0)&&base>=2&&base<=36){var groupSize=groupSizes[base],groupBase=groupBases[base];out=\"\";var c=this.clone();for(c.negative=0;!c.isZero();){var r=c.modn(groupBase).toString(base);c=c.idivn(groupBase),c.isZero()\?out=r+out:out=zeros[groupSize-r.length]+r+out}for(this.isZero()&&(out=\"0\"+out);out.length%padding!==0;)out=\"0\"+out;return this.negative!==0&&(out=\"-\"+out),out}assert(!1,\"Base should be between 2 and 36\")},BN.prototype.toNumber=function(){var ret=this.words[0];return this.length===2\?ret+=this.words[1]*67108864:this.length===3&&this.words[2]===1\?ret+=4503599627370496+this.words[1]*67108864:this.length>2&&assert(!1,\"Number can only safely store up to 53 bits\"),this.negative!==0\?-ret:ret},BN.prototype.toJSON=function(){return this.toString(16)},BN.prototype.toBuffer=function(endian,length){return assert(typeof Buffer2<\"u\"),this.toArrayLike(Buffer2,endian,length)},BN.prototype.toArray=function(endian,length){return this.toArrayLike(Array,endian,length)},BN.prototype.toArrayLike=function(ArrayType,endian,length){var byteLength=this.byteLength(),reqLength=length||Math.max(1,byteLength);assert(byteLength<=reqLength,\"byte array longer than desired length\"),assert(reqLength>0,\"Requested array length <= 0\"),this.strip();var littleEndian=endian===\"le\",res=new ArrayType(reqLength),b,i,q=this.clone();if(littleEndian){for(i=0;!q.isZero();i++)b=q.andln(255),q.iushrn(8),res[i]=b;for(;i=4096&&(r+=13,t>>>=13),t>=64&&(r+=7,t>>>=7),t>=8&&(r+=4,t>>>=4),t>=2&&(r+=2,t>>>=2),r+t},BN.prototype._zeroBits=function(w){if(w===0)return 26;var t=w,r=0;return(t&8191)===0&&(r+=13,t>>>=13),(t&127)===0&&(r+=7,t>>>=7),(t&15)===0&&(r+=4,t>>>=4),(t&3)===0&&(r+=2,t>>>=2),(t&1)===0&&r++,r},BN.prototype.bitLength=function(){var w=this.words[this.length-1],hi=this._countBits(w);return(this.length-1)*26+hi};function toBitArray(num){for(var w=new Array(num.bitLength()),bit=0;bit>>wbit}return w}BN.prototype.zeroBits=function(){if(this.isZero())return 0;for(var r=0,i=0;inum.length\?this.clone().ior(num):num.clone().ior(this)},BN.prototype.uor=function(num){return this.length>num.length\?this.clone().iuor(num):num.clone().iuor(this)},BN.prototype.iuand=function(num){var b;this.length>num.length\?b=num:b=this;for(var i=0;inum.length\?this.clone().iand(num):num.clone().iand(this)},BN.prototype.uand=function(num){return this.length>num.length\?this.clone().iuand(num):num.clone().iuand(this)},BN.prototype.iuxor=function(num){var a,b;this.length>num.length\?(a=this,b=num):(a=num,b=this);for(var i=0;inum.length\?this.clone().ixor(num):num.clone().ixor(this)},BN.prototype.uxor=function(num){return this.length>num.length\?this.clone().iuxor(num):num.clone().iuxor(this)},BN.prototype.inotn=function(width){assert(typeof width==\"number\"&&width>=0);var bytesNeeded=Math.ceil(width/26)|0,bitsLeft=width%26;this._expand(bytesNeeded),bitsLeft>0&&bytesNeeded--;for(var i=0;i0&&(this.words[i]=~this.words[i]&67108863>>26-bitsLeft),this.strip()},BN.prototype.notn=function(width){return this.clone().inotn(width)},BN.prototype.setn=function(bit,val){assert(typeof bit==\"number\"&&bit>=0);var off=bit/26|0,wbit=bit%26;return this._expand(off+1),val\?this.words[off]=this.words[off]|1<num.length\?(a=this,b=num):(a=num,b=this);for(var carry=0,i=0;i>>26;for(;carry!==0&&i>>26;if(this.length=a.length,carry!==0)this.words[this.length]=carry,this.length++;else if(a!==this)for(;inum.length\?this.clone().iadd(num):num.clone().iadd(this)},BN.prototype.isub=function(num){if(num.negative!==0){num.negative=0;var r=this.iadd(num);return num.negative=1,r._normSign()}else if(this.negative!==0)return this.negative=0,this.iadd(num),this.negative=1,this._normSign();var cmp=this.cmp(num);if(cmp===0)return this.negative=0,this.length=1,this.words[0]=0,this;var a,b;cmp>0\?(a=this,b=num):(a=num,b=this);for(var carry=0,i=0;i>26,this.words[i]=r&67108863;for(;carry!==0&&i>26,this.words[i]=r&67108863;if(carry===0&&i>>26,rword=carry&67108863,maxJ=Math.min(k,num.length-1),j=Math.max(0,k-self2.length+1);j<=maxJ;j++){var i=k-j|0;a=self2.words[i]|0,b=num.words[j]|0,r=a*b+rword,ncarry+=r/67108864|0,rword=r&67108863}out.words[k]=rword|0,carry=ncarry|0}return carry!==0\?out.words[k]=carry|0:out.length--,out.strip()}var comb10MulTo=function(self2,num,out){var a=self2.words,b=num.words,o=out.words,c=0,lo,mid,hi,a0=a[0]|0,al0=a0&8191,ah0=a0>>>13,a1=a[1]|0,al1=a1&8191,ah1=a1>>>13,a2=a[2]|0,al2=a2&8191,ah2=a2>>>13,a3=a[3]|0,al3=a3&8191,ah3=a3>>>13,a4=a[4]|0,al4=a4&8191,ah4=a4>>>13,a5=a[5]|0,al5=a5&8191,ah5=a5>>>13,a6=a[6]|0,al6=a6&8191,ah6=a6>>>13,a7=a[7]|0,al7=a7&8191,ah7=a7>>>13,a8=a[8]|0,al8=a8&8191,ah8=a8>>>13,a9=a[9]|0,al9=a9&8191,ah9=a9>>>13,b0=b[0]|0,bl0=b0&8191,bh0=b0>>>13,b1=b[1]|0,bl1=b1&8191,bh1=b1>>>13,b2=b[2]|0,bl2=b2&8191,bh2=b2>>>13,b3=b[3]|0,bl3=b3&8191,bh3=b3>>>13,b4=b[4]|0,bl4=b4&8191,bh4=b4>>>13,b5=b[5]|0,bl5=b5&8191,bh5=b5>>>13,b6=b[6]|0,bl6=b6&8191,bh6=b6>>>13,b7=b[7]|0,bl7=b7&8191,bh7=b7>>>13,b8=b[8]|0,bl8=b8&8191,bh8=b8>>>13,b9=b[9]|0,bl9=b9&8191,bh9=b9>>>13;out.negative=self2.negative^num.negative,out.length=19,lo=Math.imul(al0,bl0),mid=Math.imul(al0,bh0),mid=mid+Math.imul(ah0,bl0)|0,hi=Math.imul(ah0,bh0);var w0=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w0>>>26)|0,w0&=67108863,lo=Math.imul(al1,bl0),mid=Math.imul(al1,bh0),mid=mid+Math.imul(ah1,bl0)|0,hi=Math.imul(ah1,bh0),lo=lo+Math.imul(al0,bl1)|0,mid=mid+Math.imul(al0,bh1)|0,mid=mid+Math.imul(ah0,bl1)|0,hi=hi+Math.imul(ah0,bh1)|0;var w1=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w1>>>26)|0,w1&=67108863,lo=Math.imul(al2,bl0),mid=Math.imul(al2,bh0),mid=mid+Math.imul(ah2,bl0)|0,hi=Math.imul(ah2,bh0),lo=lo+Math.imul(al1,bl1)|0,mid=mid+Math.imul(al1,bh1)|0,mid=mid+Math.imul(ah1,bl1)|0,hi=hi+Math.imul(ah1,bh1)|0,lo=lo+Math.imul(al0,bl2)|0,mid=mid+Math.imul(al0,bh2)|0,mid=mid+Math.imul(ah0,bl2)|0,hi=hi+Math.imul(ah0,bh2)|0;var w2=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w2>>>26)|0,w2&=67108863,lo=Math.imul(al3,bl0),mid=Math.imul(al3,bh0),mid=mid+Math.imul(ah3,bl0)|0,hi=Math.imul(ah3,bh0),lo=lo+Math.imul(al2,bl1)|0,mid=mid+Math.imul(al2,bh1)|0,mid=mid+Math.imul(ah2,bl1)|0,hi=hi+Math.imul(ah2,bh1)|0,lo=lo+Math.imul(al1,bl2)|0,mid=mid+Math.imul(al1,bh2)|0,mid=mid+Math.imul(ah1,bl2)|0,hi=hi+Math.imul(ah1,bh2)|0,lo=lo+Math.imul(al0,bl3)|0,mid=mid+Math.imul(al0,bh3)|0,mid=mid+Math.imul(ah0,bl3)|0,hi=hi+Math.imul(ah0,bh3)|0;var w3=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w3>>>26)|0,w3&=67108863,lo=Math.imul(al4,bl0),mid=Math.imul(al4,bh0),mid=mid+Math.imul(ah4,bl0)|0,hi=Math.imul(ah4,bh0),lo=lo+Math.imul(al3,bl1)|0,mid=mid+Math.imul(al3,bh1)|0,mid=mid+Math.imul(ah3,bl1)|0,hi=hi+Math.imul(ah3,bh1)|0,lo=lo+Math.imul(al2,bl2)|0,mid=mid+Math.imul(al2,bh2)|0,mid=mid+Math.imul(ah2,bl2)|0,hi=hi+Math.imul(ah2,bh2)|0,lo=lo+Math.imul(al1,bl3)|0,mid=mid+Math.imul(al1,bh3)|0,mid=mid+Math.imul(ah1,bl3)|0,hi=hi+Math.imul(ah1,bh3)|0,lo=lo+Math.imul(al0,bl4)|0,mid=mid+Math.imul(al0,bh4)|0,mid=mid+Math.imul(ah0,bl4)|0,hi=hi+Math.imul(ah0,bh4)|0;var w4=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w4>>>26)|0,w4&=67108863,lo=Math.imul(al5,bl0),mid=Math.imul(al5,bh0),mid=mid+Math.imul(ah5,bl0)|0,hi=Math.imul(ah5,bh0),lo=lo+Math.imul(al4,bl1)|0,mid=mid+Math.imul(al4,bh1)|0,mid=mid+Math.imul(ah4,bl1)|0,hi=hi+Math.imul(ah4,bh1)|0,lo=lo+Math.imul(al3,bl2)|0,mid=mid+Math.imul(al3,bh2)|0,mid=mid+Math.imul(ah3,bl2)|0,hi=hi+Math.imul(ah3,bh2)|0,lo=lo+Math.imul(al2,bl3)|0,mid=mid+Math.imul(al2,bh3)|0,mid=mid+Math.imul(ah2,bl3)|0,hi=hi+Math.imul(ah2,bh3)|0,lo=lo+Math.imul(al1,bl4)|0,mid=mid+Math.imul(al1,bh4)|0,mid=mid+Math.imul(ah1,bl4)|0,hi=hi+Math.imul(ah1,bh4)|0,lo=lo+Math.imul(al0,bl5)|0,mid=mid+Math.imul(al0,bh5)|0,mid=mid+Math.imul(ah0,bl5)|0,hi=hi+Math.imul(ah0,bh5)|0;var w5=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w5>>>26)|0,w5&=67108863,lo=Math.imul(al6,bl0),mid=Math.imul(al6,bh0),mid=mid+Math.imul(ah6,bl0)|0,hi=Math.imul(ah6,bh0),lo=lo+Math.imul(al5,bl1)|0,mid=mid+Math.imul(al5,bh1)|0,mid=mid+Math.imul(ah5,bl1)|0,hi=hi+Math.imul(ah5,bh1)|0,lo=lo+Math.imul(al4,bl2)|0,mid=mid+Math.imul(al4,bh2)|0,mid=mid+Math.imul(ah4,bl2)|0,hi=hi+Math.imul(ah4,bh2)|0,lo=lo+Math.imul(al3,bl3)|0,mid=mid+Math.imul(al3,bh3)|0,mid=mid+Math.imul(ah3,bl3)|0,hi=hi+Math.imul(ah3,bh3)|0,lo=lo+Math.imul(al2,bl4)|0,mid=mid+Math.imul(al2,bh4)|0,mid=mid+Math.imul(ah2,bl4)|0,hi=hi+Math.imul(ah2,bh4)|0,lo=lo+Math.imul(al1,bl5)|0,mid=mid+Math.imul(al1,bh5)|0,mid=mid+Math.imul(ah1,bl5)|0,hi=hi+Math.imul(ah1,bh5)|0,lo=lo+Math.imul(al0,bl6)|0,mid=mid+Math.imul(al0,bh6)|0,mid=mid+Math.imul(ah0,bl6)|0,hi=hi+Math.imul(ah0,bh6)|0;var w6=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w6>>>26)|0,w6&=67108863,lo=Math.imul(al7,bl0),mid=Math.imul(al7,bh0),mid=mid+Math.imul(ah7,bl0)|0,hi=Math.imul(ah7,bh0),lo=lo+Math.imul(al6,bl1)|0,mid=mid+Math.imul(al6,bh1)|0,mid=mid+Math.imul(ah6,bl1)|0,hi=hi+Math.imul(ah6,bh1)|0,lo=lo+Math.imul(al5,bl2)|0,mid=mid+Math.imul(al5,bh2)|0,mid=mid+Math.imul(ah5,bl2)|0,hi=hi+Math.imul(ah5,bh2)|0,lo=lo+Math.imul(al4,bl3)|0,mid=mid+Math.imul(al4,bh3)|0,mid=mid+Math.imul(ah4,bl3)|0,hi=hi+Math.imul(ah4,bh3)|0,lo=lo+Math.imul(al3,bl4)|0,mid=mid+Math.imul(al3,bh4)|0,mid=mid+Math.imul(ah3,bl4)|0,hi=hi+Math.imul(ah3,bh4)|0,lo=lo+Math.imul(al2,bl5)|0,mid=mid+Math.imul(al2,bh5)|0,mid=mid+Math.imul(ah2,bl5)|0,hi=hi+Math.imul(ah2,bh5)|0,lo=lo+Math.imul(al1,bl6)|0,mid=mid+Math.imul(al1,bh6)|0,mid=mid+Math.imul(ah1,bl6)|0,hi=hi+Math.imul(ah1,bh6)|0,lo=lo+Math.imul(al0,bl7)|0,mid=mid+Math.imul(al0,bh7)|0,mid=mid+Math.imul(ah0,bl7)|0,hi=hi+Math.imul(ah0,bh7)|0;var w7=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w7>>>26)|0,w7&=67108863,lo=Math.imul(al8,bl0),mid=Math.imul(al8,bh0),mid=mid+Math.imul(ah8,bl0)|0,hi=Math.imul(ah8,bh0),lo=lo+Math.imul(al7,bl1)|0,mid=mid+Math.imul(al7,bh1)|0,mid=mid+Math.imul(ah7,bl1)|0,hi=hi+Math.imul(ah7,bh1)|0,lo=lo+Math.imul(al6,bl2)|0,mid=mid+Math.imul(al6,bh2)|0,mid=mid+Math.imul(ah6,bl2)|0,hi=hi+Math.imul(ah6,bh2)|0,lo=lo+Math.imul(al5,bl3)|0,mid=mid+Math.imul(al5,bh3)|0,mid=mid+Math.imul(ah5,bl3)|0,hi=hi+Math.imul(ah5,bh3)|0,lo=lo+Math.imul(al4,bl4)|0,mid=mid+Math.imul(al4,bh4)|0,mid=mid+Math.imul(ah4,bl4)|0,hi=hi+Math.imul(ah4,bh4)|0,lo=lo+Math.imul(al3,bl5)|0,mid=mid+Math.imul(al3,bh5)|0,mid=mid+Math.imul(ah3,bl5)|0,hi=hi+Math.imul(ah3,bh5)|0,lo=lo+Math.imul(al2,bl6)|0,mid=mid+Math.imul(al2,bh6)|0,mid=mid+Math.imul(ah2,bl6)|0,hi=hi+Math.imul(ah2,bh6)|0,lo=lo+Math.imul(al1,bl7)|0,mid=mid+Math.imul(al1,bh7)|0,mid=mid+Math.imul(ah1,bl7)|0,hi=hi+Math.imul(ah1,bh7)|0,lo=lo+Math.imul(al0,bl8)|0,mid=mid+Math.imul(al0,bh8)|0,mid=mid+Math.imul(ah0,bl8)|0,hi=hi+Math.imul(ah0,bh8)|0;var w8=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w8>>>26)|0,w8&=67108863,lo=Math.imul(al9,bl0),mid=Math.imul(al9,bh0),mid=mid+Math.imul(ah9,bl0)|0,hi=Math.imul(ah9,bh0),lo=lo+Math.imul(al8,bl1)|0,mid=mid+Math.imul(al8,bh1)|0,mid=mid+Math.imul(ah8,bl1)|0,hi=hi+Math.imul(ah8,bh1)|0,lo=lo+Math.imul(al7,bl2)|0,mid=mid+Math.imul(al7,bh2)|0,mid=mid+Math.imul(ah7,bl2)|0,hi=hi+Math.imul(ah7,bh2)|0,lo=lo+Math.imul(al6,bl3)|0,mid=mid+Math.imul(al6,bh3)|0,mid=mid+Math.imul(ah6,bl3)|0,hi=hi+Math.imul(ah6,bh3)|0,lo=lo+Math.imul(al5,bl4)|0,mid=mid+Math.imul(al5,bh4)|0,mid=mid+Math.imul(ah5,bl4)|0,hi=hi+Math.imul(ah5,bh4)|0,lo=lo+Math.imul(al4,bl5)|0,mid=mid+Math.imul(al4,bh5)|0,mid=mid+Math.imul(ah4,bl5)|0,hi=hi+Math.imul(ah4,bh5)|0,lo=lo+Math.imul(al3,bl6)|0,mid=mid+Math.imul(al3,bh6)|0,mid=mid+Math.imul(ah3,bl6)|0,hi=hi+Math.imul(ah3,bh6)|0,lo=lo+Math.imul(al2,bl7)|0,mid=mid+Math.imul(al2,bh7)|0,mid=mid+Math.imul(ah2,bl7)|0,hi=hi+Math.imul(ah2,bh7)|0,lo=lo+Math.imul(al1,bl8)|0,mid=mid+Math.imul(al1,bh8)|0,mid=mid+Math.imul(ah1,bl8)|0,hi=hi+Math.imul(ah1,bh8)|0,lo=lo+Math.imul(al0,bl9)|0,mid=mid+Math.imul(al0,bh9)|0,mid=mid+Math.imul(ah0,bl9)|0,hi=hi+Math.imul(ah0,bh9)|0;var w9=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w9>>>26)|0,w9&=67108863,lo=Math.imul(al9,bl1),mid=Math.imul(al9,bh1),mid=mid+Math.imul(ah9,bl1)|0,hi=Math.imul(ah9,bh1),lo=lo+Math.imul(al8,bl2)|0,mid=mid+Math.imul(al8,bh2)|0,mid=mid+Math.imul(ah8,bl2)|0,hi=hi+Math.imul(ah8,bh2)|0,lo=lo+Math.imul(al7,bl3)|0,mid=mid+Math.imul(al7,bh3)|0,mid=mid+Math.imul(ah7,bl3)|0,hi=hi+Math.imul(ah7,bh3)|0,lo=lo+Math.imul(al6,bl4)|0,mid=mid+Math.imul(al6,bh4)|0,mid=mid+Math.imul(ah6,bl4)|0,hi=hi+Math.imul(ah6,bh4)|0,lo=lo+Math.imul(al5,bl5)|0,mid=mid+Math.imul(al5,bh5)|0,mid=mid+Math.imul(ah5,bl5)|0,hi=hi+Math.imul(ah5,bh5)|0,lo=lo+Math.imul(al4,bl6)|0,mid=mid+Math.imul(al4,bh6)|0,mid=mid+Math.imul(ah4,bl6)|0,hi=hi+Math.imul(ah4,bh6)|0,lo=lo+Math.imul(al3,bl7)|0,mid=mid+Math.imul(al3,bh7)|0,mid=mid+Math.imul(ah3,bl7)|0,hi=hi+Math.imul(ah3,bh7)|0,lo=lo+Math.imul(al2,bl8)|0,mid=mid+Math.imul(al2,bh8)|0,mid=mid+Math.imul(ah2,bl8)|0,hi=hi+Math.imul(ah2,bh8)|0,lo=lo+Math.imul(al1,bl9)|0,mid=mid+Math.imul(al1,bh9)|0,mid=mid+Math.imul(ah1,bl9)|0,hi=hi+Math.imul(ah1,bh9)|0;var w10=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w10>>>26)|0,w10&=67108863,lo=Math.imul(al9,bl2),mid=Math.imul(al9,bh2),mid=mid+Math.imul(ah9,bl2)|0,hi=Math.imul(ah9,bh2),lo=lo+Math.imul(al8,bl3)|0,mid=mid+Math.imul(al8,bh3)|0,mid=mid+Math.imul(ah8,bl3)|0,hi=hi+Math.imul(ah8,bh3)|0,lo=lo+Math.imul(al7,bl4)|0,mid=mid+Math.imul(al7,bh4)|0,mid=mid+Math.imul(ah7,bl4)|0,hi=hi+Math.imul(ah7,bh4)|0,lo=lo+Math.imul(al6,bl5)|0,mid=mid+Math.imul(al6,bh5)|0,mid=mid+Math.imul(ah6,bl5)|0,hi=hi+Math.imul(ah6,bh5)|0,lo=lo+Math.imul(al5,bl6)|0,mid=mid+Math.imul(al5,bh6)|0,mid=mid+Math.imul(ah5,bl6)|0,hi=hi+Math.imul(ah5,bh6)|0,lo=lo+Math.imul(al4,bl7)|0,mid=mid+Math.imul(al4,bh7)|0,mid=mid+Math.imul(ah4,bl7)|0,hi=hi+Math.imul(ah4,bh7)|0,lo=lo+Math.imul(al3,bl8)|0,mid=mid+Math.imul(al3,bh8)|0,mid=mid+Math.imul(ah3,bl8)|0,hi=hi+Math.imul(ah3,bh8)|0,lo=lo+Math.imul(al2,bl9)|0,mid=mid+Math.imul(al2,bh9)|0,mid=mid+Math.imul(ah2,bl9)|0,hi=hi+Math.imul(ah2,bh9)|0;var w11=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w11>>>26)|0,w11&=67108863,lo=Math.imul(al9,bl3),mid=Math.imul(al9,bh3),mid=mid+Math.imul(ah9,bl3)|0,hi=Math.imul(ah9,bh3),lo=lo+Math.imul(al8,bl4)|0,mid=mid+Math.imul(al8,bh4)|0,mid=mid+Math.imul(ah8,bl4)|0,hi=hi+Math.imul(ah8,bh4)|0,lo=lo+Math.imul(al7,bl5)|0,mid=mid+Math.imul(al7,bh5)|0,mid=mid+Math.imul(ah7,bl5)|0,hi=hi+Math.imul(ah7,bh5)|0,lo=lo+Math.imul(al6,bl6)|0,mid=mid+Math.imul(al6,bh6)|0,mid=mid+Math.imul(ah6,bl6)|0,hi=hi+Math.imul(ah6,bh6)|0,lo=lo+Math.imul(al5,bl7)|0,mid=mid+Math.imul(al5,bh7)|0,mid=mid+Math.imul(ah5,bl7)|0,hi=hi+Math.imul(ah5,bh7)|0,lo=lo+Math.imul(al4,bl8)|0,mid=mid+Math.imul(al4,bh8)|0,mid=mid+Math.imul(ah4,bl8)|0,hi=hi+Math.imul(ah4,bh8)|0,lo=lo+Math.imul(al3,bl9)|0,mid=mid+Math.imul(al3,bh9)|0,mid=mid+Math.imul(ah3,bl9)|0,hi=hi+Math.imul(ah3,bh9)|0;var w12=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w12>>>26)|0,w12&=67108863,lo=Math.imul(al9,bl4),mid=Math.imul(al9,bh4),mid=mid+Math.imul(ah9,bl4)|0,hi=Math.imul(ah9,bh4),lo=lo+Math.imul(al8,bl5)|0,mid=mid+Math.imul(al8,bh5)|0,mid=mid+Math.imul(ah8,bl5)|0,hi=hi+Math.imul(ah8,bh5)|0,lo=lo+Math.imul(al7,bl6)|0,mid=mid+Math.imul(al7,bh6)|0,mid=mid+Math.imul(ah7,bl6)|0,hi=hi+Math.imul(ah7,bh6)|0,lo=lo+Math.imul(al6,bl7)|0,mid=mid+Math.imul(al6,bh7)|0,mid=mid+Math.imul(ah6,bl7)|0,hi=hi+Math.imul(ah6,bh7)|0,lo=lo+Math.imul(al5,bl8)|0,mid=mid+Math.imul(al5,bh8)|0,mid=mid+Math.imul(ah5,bl8)|0,hi=hi+Math.imul(ah5,bh8)|0,lo=lo+Math.imul(al4,bl9)|0,mid=mid+Math.imul(al4,bh9)|0,mid=mid+Math.imul(ah4,bl9)|0,hi=hi+Math.imul(ah4,bh9)|0;var w13=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w13>>>26)|0,w13&=67108863,lo=Math.imul(al9,bl5),mid=Math.imul(al9,bh5),mid=mid+Math.imul(ah9,bl5)|0,hi=Math.imul(ah9,bh5),lo=lo+Math.imul(al8,bl6)|0,mid=mid+Math.imul(al8,bh6)|0,mid=mid+Math.imul(ah8,bl6)|0,hi=hi+Math.imul(ah8,bh6)|0,lo=lo+Math.imul(al7,bl7)|0,mid=mid+Math.imul(al7,bh7)|0,mid=mid+Math.imul(ah7,bl7)|0,hi=hi+Math.imul(ah7,bh7)|0,lo=lo+Math.imul(al6,bl8)|0,mid=mid+Math.imul(al6,bh8)|0,mid=mid+Math.imul(ah6,bl8)|0,hi=hi+Math.imul(ah6,bh8)|0,lo=lo+Math.imul(al5,bl9)|0,mid=mid+Math.imul(al5,bh9)|0,mid=mid+Math.imul(ah5,bl9)|0,hi=hi+Math.imul(ah5,bh9)|0;var w14=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w14>>>26)|0,w14&=67108863,lo=Math.imul(al9,bl6),mid=Math.imul(al9,bh6),mid=mid+Math.imul(ah9,bl6)|0,hi=Math.imul(ah9,bh6),lo=lo+Math.imul(al8,bl7)|0,mid=mid+Math.imul(al8,bh7)|0,mid=mid+Math.imul(ah8,bl7)|0,hi=hi+Math.imul(ah8,bh7)|0,lo=lo+Math.imul(al7,bl8)|0,mid=mid+Math.imul(al7,bh8)|0,mid=mid+Math.imul(ah7,bl8)|0,hi=hi+Math.imul(ah7,bh8)|0,lo=lo+Math.imul(al6,bl9)|0,mid=mid+Math.imul(al6,bh9)|0,mid=mid+Math.imul(ah6,bl9)|0,hi=hi+Math.imul(ah6,bh9)|0;var w15=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w15>>>26)|0,w15&=67108863,lo=Math.imul(al9,bl7),mid=Math.imul(al9,bh7),mid=mid+Math.imul(ah9,bl7)|0,hi=Math.imul(ah9,bh7),lo=lo+Math.imul(al8,bl8)|0,mid=mid+Math.imul(al8,bh8)|0,mid=mid+Math.imul(ah8,bl8)|0,hi=hi+Math.imul(ah8,bh8)|0,lo=lo+Math.imul(al7,bl9)|0,mid=mid+Math.imul(al7,bh9)|0,mid=mid+Math.imul(ah7,bl9)|0,hi=hi+Math.imul(ah7,bh9)|0;var w16=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w16>>>26)|0,w16&=67108863,lo=Math.imul(al9,bl8),mid=Math.imul(al9,bh8),mid=mid+Math.imul(ah9,bl8)|0,hi=Math.imul(ah9,bh8),lo=lo+Math.imul(al8,bl9)|0,mid=mid+Math.imul(al8,bh9)|0,mid=mid+Math.imul(ah8,bl9)|0,hi=hi+Math.imul(ah8,bh9)|0;var w17=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w17>>>26)|0,w17&=67108863,lo=Math.imul(al9,bl9),mid=Math.imul(al9,bh9),mid=mid+Math.imul(ah9,bl9)|0,hi=Math.imul(ah9,bh9);var w18=(c+lo|0)+((mid&8191)<<13)|0;return c=(hi+(mid>>>13)|0)+(w18>>>26)|0,w18&=67108863,o[0]=w0,o[1]=w1,o[2]=w2,o[3]=w3,o[4]=w4,o[5]=w5,o[6]=w6,o[7]=w7,o[8]=w8,o[9]=w9,o[10]=w10,o[11]=w11,o[12]=w12,o[13]=w13,o[14]=w14,o[15]=w15,o[16]=w16,o[17]=w17,o[18]=w18,c!==0&&(o[19]=c,out.length++),out};Math.imul||(comb10MulTo=smallMulTo);function bigMulTo(self2,num,out){out.negative=num.negative^self2.negative,out.length=self2.length+num.length;for(var carry=0,hncarry=0,k=0;k>>26)|0,hncarry+=ncarry>>>26,ncarry&=67108863}out.words[k]=rword,carry=ncarry,ncarry=hncarry}return carry!==0\?out.words[k]=carry:out.length--,out.strip()}function jumboMulTo(self2,num,out){var fftm=new FFTM;return fftm.mulp(self2,num,out)}BN.prototype.mulTo=function(num,out){var res,len=this.length+num.length;return this.length===10&&num.length===10\?res=comb10MulTo(this,num,out):len<63\?res=smallMulTo(this,num,out):len<1024\?res=bigMulTo(this,num,out):res=jumboMulTo(this,num,out),res};function FFTM(x,y){this.x=x,this.y=y}FFTM.prototype.makeRBT=function(N){for(var t=new Array(N),l=BN.prototype._countBits(N)-1,i=0;i>=1;return rb},FFTM.prototype.permute=function(rbt,rws,iws,rtws,itws,N){for(var i=0;i>>1)i++;return 1<>>13,rws[2*i+1]=carry&8191,carry=carry>>>13;for(i=2*len;i>=26,carry+=w/67108864|0,carry+=lo>>>26,this.words[i]=lo&67108863}return carry!==0&&(this.words[i]=carry,this.length++),this},BN.prototype.muln=function(num){return this.clone().imuln(num)},BN.prototype.sqr=function(){return this.mul(this)},BN.prototype.isqr=function(){return this.imul(this.clone())},BN.prototype.pow=function(num){var w=toBitArray(num);if(w.length===0)return new BN(1);for(var res=this,i=0;i=0);var r=bits%26,s=(bits-r)/26,carryMask=67108863>>>26-r<<26-r,i;if(r!==0){var carry=0;for(i=0;i>>26-r}carry&&(this.words[i]=carry,this.length++)}if(s!==0){for(i=this.length-1;i>=0;i--)this.words[i+s]=this.words[i];for(i=0;i=0);var h;hint\?h=(hint-hint%26)/26:h=0;var r=bits%26,s=Math.min((bits-r)/26,this.length),mask=67108863^67108863>>>r<s)for(this.length-=s,i=0;i=0&&(carry!==0||i>=h);i--){var word=this.words[i]|0;this.words[i]=carry<<26-r|word>>>r,carry=word&mask}return maskedWords&&carry!==0&&(maskedWords.words[maskedWords.length++]=carry),this.length===0&&(this.words[0]=0,this.length=1),this.strip()},BN.prototype.ishrn=function(bits,hint,extended){return assert(this.negative===0),this.iushrn(bits,hint,extended)},BN.prototype.shln=function(bits){return this.clone().ishln(bits)},BN.prototype.ushln=function(bits){return this.clone().iushln(bits)},BN.prototype.shrn=function(bits){return this.clone().ishrn(bits)},BN.prototype.ushrn=function(bits){return this.clone().iushrn(bits)},BN.prototype.testn=function(bit){assert(typeof bit==\"number\"&&bit>=0);var r=bit%26,s=(bit-r)/26,q=1<=0);var r=bits%26,s=(bits-r)/26;if(assert(this.negative===0,\"imaskn works only with positive numbers\"),this.length<=s)return this;if(r!==0&&s++,this.length=Math.min(s,this.length),r!==0){var mask=67108863^67108863>>>r<=67108864;i++)this.words[i]-=67108864,i===this.length-1\?this.words[i+1]=1:this.words[i+1]++;return this.length=Math.max(this.length,i+1),this},BN.prototype.isubn=function(num){if(assert(typeof num==\"number\"),assert(num<67108864),num<0)return this.iaddn(-num);if(this.negative!==0)return this.negative=0,this.iaddn(num),this.negative=1,this;if(this.words[0]-=num,this.length===1&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var i=0;i>26)-(right/67108864|0),this.words[i+shift]=w&67108863}for(;i>26,this.words[i+shift]=w&67108863;if(carry===0)return this.strip();for(assert(carry===-1),carry=0,i=0;i>26,this.words[i]=w&67108863;return this.negative=1,this.strip()},BN.prototype._wordDiv=function(num,mode){var shift=this.length-num.length,a=this.clone(),b=num,bhi=b.words[b.length-1]|0,bhiBits=this._countBits(bhi);shift=26-bhiBits,shift!==0&&(b=b.ushln(shift),a.iushln(shift),bhi=b.words[b.length-1]|0);var m=a.length-b.length,q;if(mode!==\"mod\"){q=new BN(null),q.length=m+1,q.words=new Array(q.length);for(var i=0;i=0;j--){var qj=(a.words[b.length+j]|0)*67108864+(a.words[b.length+j-1]|0);for(qj=Math.min(qj/bhi|0,67108863),a._ishlnsubmul(b,qj,j);a.negative!==0;)qj--,a.negative=0,a._ishlnsubmul(b,1,j),a.isZero()||(a.negative^=1);q&&(q.words[j]=qj)}return q&&q.strip(),a.strip(),mode!==\"div\"&&shift!==0&&a.iushrn(shift),{div:q||null,mod:a}},BN.prototype.divmod=function(num,mode,positive){if(assert(!num.isZero()),this.isZero())return{div:new BN(0),mod:new BN(0)};var div,mod,res;return this.negative!==0&&num.negative===0\?(res=this.neg().divmod(num,mode),mode!==\"mod\"&&(div=res.div.neg()),mode!==\"div\"&&(mod=res.mod.neg(),positive&&mod.negative!==0&&mod.iadd(num)),{div,mod}):this.negative===0&&num.negative!==0\?(res=this.divmod(num.neg(),mode),mode!==\"mod\"&&(div=res.div.neg()),{div,mod:res.mod}):(this.negative&num.negative)!==0\?(res=this.neg().divmod(num.neg(),mode),mode!==\"div\"&&(mod=res.mod.neg(),positive&&mod.negative!==0&&mod.isub(num)),{div:res.div,mod}):num.length>this.length||this.cmp(num)<0\?{div:new BN(0),mod:this}:num.length===1\?mode===\"div\"\?{div:this.divn(num.words[0]),mod:null}:mode===\"mod\"\?{div:null,mod:new BN(this.modn(num.words[0]))}:{div:this.divn(num.words[0]),mod:new BN(this.modn(num.words[0]))}:this._wordDiv(num,mode)},BN.prototype.div=function(num){return this.divmod(num,\"div\",!1).div},BN.prototype.mod=function(num){return this.divmod(num,\"mod\",!1).mod},BN.prototype.umod=function(num){return this.divmod(num,\"mod\",!0).mod},BN.prototype.divRound=function(num){var dm=this.divmod(num);if(dm.mod.isZero())return dm.div;var mod=dm.div.negative!==0\?dm.mod.isub(num):dm.mod,half=num.ushrn(1),r2=num.andln(1),cmp=mod.cmp(half);return cmp<0||r2===1&&cmp===0\?dm.div:dm.div.negative!==0\?dm.div.isubn(1):dm.div.iaddn(1)},BN.prototype.modn=function(num){assert(num<=67108863);for(var p=(1<<26)%num,acc=0,i=this.length-1;i>=0;i--)acc=(p*acc+(this.words[i]|0))%num;return acc},BN.prototype.idivn=function(num){assert(num<=67108863);for(var carry=0,i=this.length-1;i>=0;i--){var w=(this.words[i]|0)+carry*67108864;this.words[i]=w/num|0,carry=w%num}return this.strip()},BN.prototype.divn=function(num){return this.clone().idivn(num)},BN.prototype.egcd=function(p){assert(p.negative===0),assert(!p.isZero());var x=this,y=p.clone();x.negative!==0\?x=x.umod(p):x=x.clone();for(var A=new BN(1),B=new BN(0),C=new BN(0),D=new BN(1),g=0;x.isEven()&&y.isEven();)x.iushrn(1),y.iushrn(1),++g;for(var yp=y.clone(),xp=x.clone();!x.isZero();){for(var i=0,im=1;(x.words[0]&im)===0&&i<26;++i,im<<=1);if(i>0)for(x.iushrn(i);i-- >0;)(A.isOdd()||B.isOdd())&&(A.iadd(yp),B.isub(xp)),A.iushrn(1),B.iushrn(1);for(var j=0,jm=1;(y.words[0]&jm)===0&&j<26;++j,jm<<=1);if(j>0)for(y.iushrn(j);j-- >0;)(C.isOdd()||D.isOdd())&&(C.iadd(yp),D.isub(xp)),C.iushrn(1),D.iushrn(1);x.cmp(y)>=0\?(x.isub(y),A.isub(C),B.isub(D)):(y.isub(x),C.isub(A),D.isub(B))}return{a:C,b:D,gcd:y.iushln(g)}},BN.prototype._invmp=function(p){assert(p.negative===0),assert(!p.isZero());var a=this,b=p.clone();a.negative!==0\?a=a.umod(p):a=a.clone();for(var x1=new BN(1),x2=new BN(0),delta=b.clone();a.cmpn(1)>0&&b.cmpn(1)>0;){for(var i=0,im=1;(a.words[0]&im)===0&&i<26;++i,im<<=1);if(i>0)for(a.iushrn(i);i-- >0;)x1.isOdd()&&x1.iadd(delta),x1.iushrn(1);for(var j=0,jm=1;(b.words[0]&jm)===0&&j<26;++j,jm<<=1);if(j>0)for(b.iushrn(j);j-- >0;)x2.isOdd()&&x2.iadd(delta),x2.iushrn(1);a.cmp(b)>=0\?(a.isub(b),x1.isub(x2)):(b.isub(a),x2.isub(x1))}var res;return a.cmpn(1)===0\?res=x1:res=x2,res.cmpn(0)<0&&res.iadd(p),res},BN.prototype.gcd=function(num){if(this.isZero())return num.abs();if(num.isZero())return this.abs();var a=this.clone(),b=num.clone();a.negative=0,b.negative=0;for(var shift=0;a.isEven()&&b.isEven();shift++)a.iushrn(1),b.iushrn(1);do{for(;a.isEven();)a.iushrn(1);for(;b.isEven();)b.iushrn(1);var r=a.cmp(b);if(r<0){var t=a;a=b,b=t}else if(r===0||b.cmpn(1)===0)break;a.isub(b)}while(!0);return b.iushln(shift)},BN.prototype.invm=function(num){return this.egcd(num).a.umod(num)},BN.prototype.isEven=function(){return(this.words[0]&1)===0},BN.prototype.isOdd=function(){return(this.words[0]&1)===1},BN.prototype.andln=function(num){return this.words[0]&num},BN.prototype.bincn=function(bit){assert(typeof bit==\"number\");var r=bit%26,s=(bit-r)/26,q=1<>>26,w&=67108863,this.words[i]=w}return carry!==0&&(this.words[i]=carry,this.length++),this},BN.prototype.isZero=function(){return this.length===1&&this.words[0]===0},BN.prototype.cmpn=function(num){var negative=num<0;if(this.negative!==0&&!negative)return-1;if(this.negative===0&&negative)return 1;this.strip();var res;if(this.length>1)res=1;else{negative&&(num=-num),assert(num<=67108863,\"Number is too big\");var w=this.words[0]|0;res=w===num\?0:wnum.length)return 1;if(this.length=0;i--){var a=this.words[i]|0,b=num.words[i]|0;if(a!==b){ab&&(res=1);break}}return res},BN.prototype.gtn=function(num){return this.cmpn(num)===1},BN.prototype.gt=function(num){return this.cmp(num)===1},BN.prototype.gten=function(num){return this.cmpn(num)>=0},BN.prototype.gte=function(num){return this.cmp(num)>=0},BN.prototype.ltn=function(num){return this.cmpn(num)===-1},BN.prototype.lt=function(num){return this.cmp(num)===-1},BN.prototype.lten=function(num){return this.cmpn(num)<=0},BN.prototype.lte=function(num){return this.cmp(num)<=0},BN.prototype.eqn=function(num){return this.cmpn(num)===0},BN.prototype.eq=function(num){return this.cmp(num)===0},BN.red=function(num){return new Red(num)},BN.prototype.toRed=function(ctx){return assert(!this.red,\"Already a number in reduction context\"),assert(this.negative===0,\"red works only with positives\"),ctx.convertTo(this)._forceRed(ctx)},BN.prototype.fromRed=function(){return assert(this.red,\"fromRed works only with numbers in reduction context\"),this.red.convertFrom(this)},BN.prototype._forceRed=function(ctx){return this.red=ctx,this},BN.prototype.forceRed=function(ctx){return assert(!this.red,\"Already a number in reduction context\"),this._forceRed(ctx)},BN.prototype.redAdd=function(num){return assert(this.red,\"redAdd works only with red numbers\"),this.red.add(this,num)},BN.prototype.redIAdd=function(num){return assert(this.red,\"redIAdd works only with red numbers\"),this.red.iadd(this,num)},BN.prototype.redSub=function(num){return assert(this.red,\"redSub works only with red numbers\"),this.red.sub(this,num)},BN.prototype.redISub=function(num){return assert(this.red,\"redISub works only with red numbers\"),this.red.isub(this,num)},BN.prototype.redShl=function(num){return assert(this.red,\"redShl works only with red numbers\"),this.red.shl(this,num)},BN.prototype.redMul=function(num){return assert(this.red,\"redMul works only with red numbers\"),this.red._verify2(this,num),this.red.mul(this,num)},BN.prototype.redIMul=function(num){return assert(this.red,\"redMul works only with red numbers\"),this.red._verify2(this,num),this.red.imul(this,num)},BN.prototype.redSqr=function(){return assert(this.red,\"redSqr works only with red numbers\"),this.red._verify1(this),this.red.sqr(this)},BN.prototype.redISqr=function(){return assert(this.red,\"redISqr works only with red numbers\"),this.red._verify1(this),this.red.isqr(this)},BN.prototype.redSqrt=function(){return assert(this.red,\"redSqrt works only with red numbers\"),this.red._verify1(this),this.red.sqrt(this)},BN.prototype.redInvm=function(){return assert(this.red,\"redInvm works only with red numbers\"),this.red._verify1(this),this.red.invm(this)},BN.prototype.redNeg=function(){return assert(this.red,\"redNeg works only with red numbers\"),this.red._verify1(this),this.red.neg(this)},BN.prototype.redPow=function(num){return assert(this.red&&!num.red,\"redPow(normalNum)\"),this.red._verify1(this),this.red.pow(this,num)};var primes={k256:null,p224:null,p192:null,p25519:null};function MPrime(name,p){this.name=name,this.p=new BN(p,16),this.n=this.p.bitLength(),this.k=new BN(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}MPrime.prototype._tmp=function(){var tmp=new BN(null);return tmp.words=new Array(Math.ceil(this.n/13)),tmp},MPrime.prototype.ireduce=function(num){var r=num,rlen;do this.split(r,this.tmp),r=this.imulK(r),r=r.iadd(this.tmp),rlen=r.bitLength();while(rlen>this.n);var cmp=rlen0\?r.isub(this.p):r.strip!==void 0\?r.strip():r._strip(),r},MPrime.prototype.split=function(input,out){input.iushrn(this.n,0,out)},MPrime.prototype.imulK=function(num){return num.imul(this.k)};function K256(){MPrime.call(this,\"k256\",\"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f\")}inherits(K256,MPrime),K256.prototype.split=function(input,output){for(var mask=4194303,outLen=Math.min(input.length,9),i=0;i>>22,prev=next}prev>>>=22,input.words[i-10]=prev,prev===0&&input.length>10\?input.length-=10:input.length-=9},K256.prototype.imulK=function(num){num.words[num.length]=0,num.words[num.length+1]=0,num.length+=2;for(var lo=0,i=0;i>>=26,num.words[i]=lo,carry=hi}return carry!==0&&(num.words[num.length++]=carry),num},BN._prime=function(name){if(primes[name])return primes[name];var prime2;if(name===\"k256\")prime2=new K256;else if(name===\"p224\")prime2=new P224;else if(name===\"p192\")prime2=new P192;else if(name===\"p25519\")prime2=new P25519;else throw new Error(\"Unknown prime \"+name);return primes[name]=prime2,prime2};function Red(m){if(typeof m==\"string\"){var prime=BN._prime(m);this.m=prime.p,this.prime=prime}else assert(m.gtn(1),\"modulus must be greater than 1\"),this.m=m,this.prime=null}Red.prototype._verify1=function(a){assert(a.negative===0,\"red works only with positives\"),assert(a.red,\"red works only with red numbers\")},Red.prototype._verify2=function(a,b){assert((a.negative|b.negative)===0,\"red works only with positives\"),assert(a.red&&a.red===b.red,\"red works only with red numbers\")},Red.prototype.imod=function(a){return this.prime\?this.prime.ireduce(a)._forceRed(this):a.umod(this.m)._forceRed(this)},Red.prototype.neg=function(a){return a.isZero()\?a.clone():this.m.sub(a)._forceRed(this)},Red.prototype.add=function(a,b){this._verify2(a,b);var res=a.add(b);return res.cmp(this.m)>=0&&res.isub(this.m),res._forceRed(this)},Red.prototype.iadd=function(a,b){this._verify2(a,b);var res=a.iadd(b);return res.cmp(this.m)>=0&&res.isub(this.m),res},Red.prototype.sub=function(a,b){this._verify2(a,b);var res=a.sub(b);return res.cmpn(0)<0&&res.iadd(this.m),res._forceRed(this)},Red.prototype.isub=function(a,b){this._verify2(a,b);var res=a.isub(b);return res.cmpn(0)<0&&res.iadd(this.m),res},Red.prototype.shl=function(a,num){return this._verify1(a),this.imod(a.ushln(num))},Red.prototype.imul=function(a,b){return this._verify2(a,b),this.imod(a.imul(b))},Red.prototype.mul=function(a,b){return this._verify2(a,b),this.imod(a.mul(b))},Red.prototype.isqr=function(a){return this.imul(a,a.clone())},Red.prototype.sqr=function(a){return this.mul(a,a)},Red.prototype.sqrt=function(a){if(a.isZero())return a.clone();var mod3=this.m.andln(3);if(assert(mod3%2===1),mod3===3){var pow=this.m.add(new BN(1)).iushrn(2);return this.pow(a,pow)}for(var q=this.m.subn(1),s=0;!q.isZero()&&q.andln(1)===0;)s++,q.iushrn(1);assert(!q.isZero());var one=new BN(1).toRed(this),nOne=one.redNeg(),lpow=this.m.subn(1).iushrn(1),z=this.m.bitLength();for(z=new BN(2*z*z).toRed(this);this.pow(z,lpow).cmp(nOne)!==0;)z.redIAdd(nOne);for(var c=this.pow(z,q),r=this.pow(a,q.addn(1).iushrn(1)),t=this.pow(a,q),m=s;t.cmp(one)!==0;){for(var tmp=t,i=0;tmp.cmp(one)!==0;i++)tmp=tmp.redSqr();assert(i=0;i--){for(var word=num.words[i],j=start-1;j>=0;j--){var bit=word>>j&1;if(res!==wnd[0]&&(res=this.sqr(res)),bit===0&¤t===0){currentLen=0;continue}current<<=1,current|=bit,currentLen++,!(currentLen!==windowSize&&(i!==0||j!==0))&&(res=this.mul(res,wnd[current]),currentLen=0,current=0)}start=26}return res},Red.prototype.convertTo=function(num){var r=num.umod(this.m);return r===num\?r.clone():r},Red.prototype.convertFrom=function(num){var res=num.clone();return res.red=null,res},BN.mont=function(num){return new Mont(num)};function Mont(m){Red.call(this,m),this.shift=this.m.bitLength(),this.shift%26!==0&&(this.shift+=26-this.shift%26),this.r=new BN(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}inherits(Mont,Red),Mont.prototype.convertTo=function(num){return this.imod(num.ushln(this.shift))},Mont.prototype.convertFrom=function(num){var r=this.imod(num.mul(this.rinv));return r.red=null,r},Mont.prototype.imul=function(a,b){if(a.isZero()||b.isZero())return a.words[0]=0,a.length=1,a;var t=a.imul(b),c=t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),u=t.isub(c).iushrn(this.shift),res=u;return u.cmp(this.m)>=0\?res=u.isub(this.m):u.cmpn(0)<0&&(res=u.iadd(this.m)),res._forceRed(this)},Mont.prototype.mul=function(a,b){if(a.isZero()||b.isZero())return new BN(0)._forceRed(this);var t=a.mul(b),c=t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),u=t.isub(c).iushrn(this.shift),res=u;return u.cmp(this.m)>=0\?res=u.isub(this.m):u.cmpn(0)<0&&(res=u.iadd(this.m)),res._forceRed(this)},Mont.prototype.invm=function(a){var res=this.imod(a._invmp(this.m).mul(this.r2));return res._forceRed(this)}})(typeof module>\"u\"||module,exports)}}),require_safer=__commonJS({\"node_modules/safer-buffer/safer.js\"(exports,module){var buffer=BufferModule,Buffer2=Buffer,safer={},key;for(key in buffer)!buffer.hasOwnProperty(key)||key===\"SlowBuffer\"||key===\"Buffer\"||(safer[key]=buffer[key]);var Safer=safer.Buffer={};for(key in Buffer2)!Buffer2.hasOwnProperty(key)||key===\"allocUnsafe\"||key===\"allocUnsafeSlow\"||(Safer[key]=Buffer2[key]);if(safer.Buffer.prototype=Buffer2.prototype,(!Safer.from||Safer.from===Uint8Array.from)&&(Safer.from=function(value,encodingOrOffset,length){if(typeof value==\"number\")@throwTypeError('The \"value\" argument must not be of type number. Received type '+typeof value);if(value&&typeof value.length>\"u\")@throwTypeError(\"The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type \"+typeof value);return Buffer2(value,encodingOrOffset,length)}),Safer.alloc||(Safer.alloc=function(size,fill,encoding){if(typeof size!=\"number\")@throwTypeError('The \"size\" argument must be of type number. Received type '+typeof size);if(size<0||size>=2*(1<<30))@throwRangeError('The value \"'+size+'\" is invalid for option \"size\"');var buf=Buffer2(size);return!fill||fill.length===0\?buf.fill(0):typeof encoding==\"string\"\?buf.fill(fill,encoding):buf.fill(fill),buf}),!safer.kStringMaxLength)try{safer.kStringMaxLength=MAX_STRING_LENGTH}catch{}safer.constants||(safer.constants={MAX_LENGTH:safer.kMaxLength},safer.kStringMaxLength&&(safer.constants.MAX_STRING_LENGTH=safer.kStringMaxLength)),module.exports=safer}}),require_reporter=__commonJS({\"node_modules/asn1.js/lib/asn1/base/reporter.js\"(exports){var inherits=require_inherits_browser();function Reporter(options){this._reporterState={obj:null,path:[],options:options||{},errors:[]}}exports.Reporter=Reporter,Reporter.prototype.isError=function(obj){return obj instanceof ReporterError},Reporter.prototype.save=function(){let state=this._reporterState;return{obj:state.obj,pathLen:state.path.length}},Reporter.prototype.restore=function(data){let state=this._reporterState;state.obj=data.obj,state.path=state.path.slice(0,data.pathLen)},Reporter.prototype.enterKey=function(key){return this._reporterState.path.push(key)},Reporter.prototype.exitKey=function(index){let state=this._reporterState;state.path=state.path.slice(0,index-1)},Reporter.prototype.leaveKey=function(index,key,value){let state=this._reporterState;this.exitKey(index),state.obj!==null&&(state.obj[key]=value)},Reporter.prototype.path=function(){return this._reporterState.path.join(\"/\")},Reporter.prototype.enterObject=function(){let state=this._reporterState,prev=state.obj;return state.obj={},prev},Reporter.prototype.leaveObject=function(prev){let state=this._reporterState,now=state.obj;return state.obj=prev,now},Reporter.prototype.error=function(msg){let err,state=this._reporterState,inherited=msg instanceof ReporterError;if(inherited\?err=msg:err=new ReporterError(state.path.map(function(elem){return\"[\"+JSON.stringify(elem)+\"]\"}).join(\"\"),msg.message||msg,msg.stack),!state.options.partial)throw err;return inherited||state.errors.push(err),err},Reporter.prototype.wrapResult=function(result){let state=this._reporterState;return state.options.partial\?{result:this.isError(result)\?null:result,errors:state.errors}:result};function ReporterError(path,msg){this.path=path,this.rethrow(msg)}inherits(ReporterError,Error),ReporterError.prototype.rethrow=function(msg){if(this.message=msg+\" at: \"+(this.path||\"(shallow)\"),Error.captureStackTrace&&Error.captureStackTrace(this,ReporterError),!this.stack)try{throw new Error(this.message)}catch(e){this.stack=e.stack}return this}}}),require_buffer=__commonJS({\"node_modules/asn1.js/lib/asn1/base/buffer.js\"(exports){var inherits=require_inherits_browser(),Reporter=require_reporter().Reporter,Buffer2=require_safer().Buffer;function DecoderBuffer(base,options){if(Reporter.call(this,options),!Buffer2.isBuffer(base)){this.error(\"Input not Buffer\");return}this.base=base,this.offset=0,this.length=base.length}inherits(DecoderBuffer,Reporter),exports.DecoderBuffer=DecoderBuffer,DecoderBuffer.isDecoderBuffer=function(data){return data instanceof DecoderBuffer\?!0:typeof data==\"object\"&&Buffer2.isBuffer(data.base)&&data.constructor.name===\"DecoderBuffer\"&&typeof data.offset==\"number\"&&typeof data.length==\"number\"&&typeof data.save==\"function\"&&typeof data.restore==\"function\"&&typeof data.isEmpty==\"function\"&&typeof data.readUInt8==\"function\"&&typeof data.skip==\"function\"&&typeof data.raw==\"function\"},DecoderBuffer.prototype.save=function(){return{offset:this.offset,reporter:Reporter.prototype.save.call(this)}},DecoderBuffer.prototype.restore=function(save){let res=new DecoderBuffer(this.base);return res.offset=save.offset,res.length=this.offset,this.offset=save.offset,Reporter.prototype.restore.call(this,save.reporter),res},DecoderBuffer.prototype.isEmpty=function(){return this.offset===this.length},DecoderBuffer.prototype.readUInt8=function(fail){return this.offset+1<=this.length\?this.base.readUInt8(this.offset++,!0):this.error(fail||\"DecoderBuffer overrun\")},DecoderBuffer.prototype.skip=function(bytes,fail){if(!(this.offset+bytes<=this.length))return this.error(fail||\"DecoderBuffer overrun\");let res=new DecoderBuffer(this.base);return res._reporterState=this._reporterState,res.offset=this.offset,res.length=this.offset+bytes,this.offset+=bytes,res},DecoderBuffer.prototype.raw=function(save){return this.base.slice(save\?save.offset:this.offset,this.length)};function EncoderBuffer(value,reporter){if(Array.isArray(value))this.length=0,this.value=value.map(function(item){return EncoderBuffer.isEncoderBuffer(item)||(item=new EncoderBuffer(item,reporter)),this.length+=item.length,item},this);else if(typeof value==\"number\"){if(!(0<=value&&value<=255))return reporter.error(\"non-byte EncoderBuffer value\");this.value=value,this.length=1}else if(typeof value==\"string\")this.value=value,this.length=Buffer2.byteLength(value);else if(Buffer2.isBuffer(value))this.value=value,this.length=value.length;else return reporter.error(\"Unsupported type: \"+typeof value)}exports.EncoderBuffer=EncoderBuffer,EncoderBuffer.isEncoderBuffer=function(data){return data instanceof EncoderBuffer\?!0:typeof data==\"object\"&&data.constructor.name===\"EncoderBuffer\"&&typeof data.length==\"number\"&&typeof data.join==\"function\"},EncoderBuffer.prototype.join=function(out,offset){return out||(out=Buffer2.alloc(this.length)),offset||(offset=0),this.length===0||(Array.isArray(this.value)\?this.value.forEach(function(item){item.join(out,offset),offset+=item.length}):(typeof this.value==\"number\"\?out[offset]=this.value:typeof this.value==\"string\"\?out.write(this.value,offset):Buffer2.isBuffer(this.value)&&this.value.copy(out,offset),offset+=this.length)),out}}}),require_node=__commonJS({\"node_modules/asn1.js/lib/asn1/base/node.js\"(exports,module){var Reporter=require_reporter().Reporter,EncoderBuffer=require_buffer().EncoderBuffer,DecoderBuffer=require_buffer().DecoderBuffer,assert=require_minimalistic_assert(),tags=[\"seq\",\"seqof\",\"set\",\"setof\",\"objid\",\"bool\",\"gentime\",\"utctime\",\"null_\",\"enum\",\"int\",\"objDesc\",\"bitstr\",\"bmpstr\",\"charstr\",\"genstr\",\"graphstr\",\"ia5str\",\"iso646str\",\"numstr\",\"octstr\",\"printstr\",\"t61str\",\"unistr\",\"utf8str\",\"videostr\"],methods=[\"key\",\"obj\",\"use\",\"optional\",\"explicit\",\"implicit\",\"def\",\"choice\",\"any\",\"contains\"].concat(tags),overrided=[\"_peekTag\",\"_decodeTag\",\"_use\",\"_decodeStr\",\"_decodeObjid\",\"_decodeTime\",\"_decodeNull\",\"_decodeInt\",\"_decodeBool\",\"_decodeList\",\"_encodeComposite\",\"_encodeStr\",\"_encodeObjid\",\"_encodeTime\",\"_encodeNull\",\"_encodeInt\",\"_encodeBool\"];function Node(enc,parent,name){let state={};this._baseState=state,state.name=name,state.enc=enc,state.parent=parent||null,state.children=null,state.tag=null,state.args=null,state.reverseArgs=null,state.choice=null,state.optional=!1,state.any=!1,state.obj=!1,state.use=null,state.useDecoder=null,state.key=null,state.default=null,state.explicit=null,state.implicit=null,state.contains=null,state.parent||(state.children=[],this._wrap())}module.exports=Node;var stateProps=[\"enc\",\"parent\",\"children\",\"tag\",\"args\",\"reverseArgs\",\"choice\",\"optional\",\"any\",\"obj\",\"use\",\"alteredUse\",\"key\",\"default\",\"explicit\",\"implicit\",\"contains\"];Node.prototype.clone=function(){let state=this._baseState,cstate={};stateProps.forEach(function(prop){cstate[prop]=state[prop]});let res=new this.constructor(cstate.parent);return res._baseState=cstate,res},Node.prototype._wrap=function(){let state=this._baseState;methods.forEach(function(method){this[method]=function(){let clone=new this.constructor(this);return state.children.push(clone),clone[method].apply(clone,arguments)}},this)},Node.prototype._init=function(body){let state=this._baseState;assert(state.parent===null),body.call(this),state.children=state.children.filter(function(child){return child._baseState.parent===this},this),assert.equal(state.children.length,1,\"Root node can have only one child\")},Node.prototype._useArgs=function(args){let state=this._baseState,children=args.filter(function(arg){return arg instanceof this.constructor},this);args=args.filter(function(arg){return!(arg instanceof this.constructor)},this),children.length!==0&&(assert(state.children===null),state.children=children,children.forEach(function(child){child._baseState.parent=this},this)),args.length!==0&&(assert(state.args===null),state.args=args,state.reverseArgs=args.map(function(arg){if(typeof arg!=\"object\"||arg.constructor!==Object)return arg;let res={};return Object.keys(arg).forEach(function(key){key==(key|0)&&(key|=0);let value=arg[key];res[value]=key}),res}))},overrided.forEach(function(method){Node.prototype[method]=function(){let state=this._baseState;throw new Error(method+\" not implemented for encoding: \"+state.enc)}}),tags.forEach(function(tag){Node.prototype[tag]=function(){let state=this._baseState,args=Array.prototype.slice.call(arguments);return assert(state.tag===null),state.tag=tag,this._useArgs(args),this}}),Node.prototype.use=function(item){assert(item);let state=this._baseState;return assert(state.use===null),state.use=item,this},Node.prototype.optional=function(){let state=this._baseState;return state.optional=!0,this},Node.prototype.def=function(val){let state=this._baseState;return assert(state.default===null),state.default=val,state.optional=!0,this},Node.prototype.explicit=function(num){let state=this._baseState;return assert(state.explicit===null&&state.implicit===null),state.explicit=num,this},Node.prototype.implicit=function(num){let state=this._baseState;return assert(state.explicit===null&&state.implicit===null),state.implicit=num,this},Node.prototype.obj=function(){let state=this._baseState,args=Array.prototype.slice.call(arguments);return state.obj=!0,args.length!==0&&this._useArgs(args),this},Node.prototype.key=function(newKey){let state=this._baseState;return assert(state.key===null),state.key=newKey,this},Node.prototype.any=function(){let state=this._baseState;return state.any=!0,this},Node.prototype.choice=function(obj){let state=this._baseState;return assert(state.choice===null),state.choice=obj,this._useArgs(Object.keys(obj).map(function(key){return obj[key]})),this},Node.prototype.contains=function(item){let state=this._baseState;return assert(state.use===null),state.contains=item,this},Node.prototype._decode=function(input,options){let state=this._baseState;if(state.parent===null)return input.wrapResult(state.children[0]._decode(input,options));let result=state.default,present=!0,prevKey=null;if(state.key!==null&&(prevKey=input.enterKey(state.key)),state.optional){let tag=null;if(state.explicit!==null\?tag=state.explicit:state.implicit!==null\?tag=state.implicit:state.tag!==null&&(tag=state.tag),tag===null&&!state.any){let save=input.save();try{state.choice===null\?this._decodeGeneric(state.tag,input,options):this._decodeChoice(input,options),present=!0}catch{present=!1}input.restore(save)}else if(present=this._peekTag(input,tag,state.any),input.isError(present))return present}let prevObj;if(state.obj&&present&&(prevObj=input.enterObject()),present){if(state.explicit!==null){let explicit=this._decodeTag(input,state.explicit);if(input.isError(explicit))return explicit;input=explicit}let start=input.offset;if(state.use===null&&state.choice===null){let save;state.any&&(save=input.save());let body=this._decodeTag(input,state.implicit!==null\?state.implicit:state.tag,state.any);if(input.isError(body))return body;state.any\?result=input.raw(save):input=body}if(options&&options.track&&state.tag!==null&&options.track(input.path(),start,input.length,\"tagged\"),options&&options.track&&state.tag!==null&&options.track(input.path(),input.offset,input.length,\"content\"),state.any||(state.choice===null\?result=this._decodeGeneric(state.tag,input,options):result=this._decodeChoice(input,options)),input.isError(result))return result;if(!state.any&&state.choice===null&&state.children!==null&&state.children.forEach(function(child){child._decode(input,options)}),state.contains&&(state.tag===\"octstr\"||state.tag===\"bitstr\")){let data=new DecoderBuffer(result);result=this._getUse(state.contains,input._reporterState.obj)._decode(data,options)}}return state.obj&&present&&(result=input.leaveObject(prevObj)),state.key!==null&&(result!==null||present===!0)\?input.leaveKey(prevKey,state.key,result):prevKey!==null&&input.exitKey(prevKey),result},Node.prototype._decodeGeneric=function(tag,input,options){let state=this._baseState;return tag===\"seq\"||tag===\"set\"\?null:tag===\"seqof\"||tag===\"setof\"\?this._decodeList(input,tag,state.args[0],options):/str$/.test(tag)\?this._decodeStr(input,tag,options):tag===\"objid\"&&state.args\?this._decodeObjid(input,state.args[0],state.args[1],options):tag===\"objid\"\?this._decodeObjid(input,null,null,options):tag===\"gentime\"||tag===\"utctime\"\?this._decodeTime(input,tag,options):tag===\"null_\"\?this._decodeNull(input,options):tag===\"bool\"\?this._decodeBool(input,options):tag===\"objDesc\"\?this._decodeStr(input,tag,options):tag===\"int\"||tag===\"enum\"\?this._decodeInt(input,state.args&&state.args[0],options):state.use!==null\?this._getUse(state.use,input._reporterState.obj)._decode(input,options):input.error(\"unknown tag: \"+tag)},Node.prototype._getUse=function(entity,obj){let state=this._baseState;return state.useDecoder=this._use(entity,obj),assert(state.useDecoder._baseState.parent===null),state.useDecoder=state.useDecoder._baseState.children[0],state.implicit!==state.useDecoder._baseState.implicit&&(state.useDecoder=state.useDecoder.clone(),state.useDecoder._baseState.implicit=state.implicit),state.useDecoder},Node.prototype._decodeChoice=function(input,options){let state=this._baseState,result=null,match=!1;return Object.keys(state.choice).some(function(key){let save=input.save(),node=state.choice[key];try{let value=node._decode(input,options);if(input.isError(value))return!1;result={type:key,value},match=!0}catch{return input.restore(save),!1}return!0},this),match\?result:input.error(\"Choice not matched\")},Node.prototype._createEncoderBuffer=function(data){return new EncoderBuffer(data,this.reporter)},Node.prototype._encode=function(data,reporter,parent){let state=this._baseState;if(state.default!==null&&state.default===data)return;let result=this._encodeValue(data,reporter,parent);if(result!==void 0&&!this._skipDefault(result,reporter,parent))return result},Node.prototype._encodeValue=function(data,reporter,parent){let state=this._baseState;if(state.parent===null)return state.children[0]._encode(data,reporter||new Reporter);let result=null;if(this.reporter=reporter,state.optional&&data===void 0)if(state.default!==null)data=state.default;else return;let content=null,primitive=!1;if(state.any)result=this._createEncoderBuffer(data);else if(state.choice)result=this._encodeChoice(data,reporter);else if(state.contains)content=this._getUse(state.contains,parent)._encode(data,reporter),primitive=!0;else if(state.children)content=state.children.map(function(child){if(child._baseState.tag===\"null_\")return child._encode(null,reporter,data);if(child._baseState.key===null)return reporter.error(\"Child should have a key\");let prevKey=reporter.enterKey(child._baseState.key);if(typeof data!=\"object\")return reporter.error(\"Child expected, but input is not object\");let res=child._encode(data[child._baseState.key],reporter,data);return reporter.leaveKey(prevKey),res},this).filter(function(child){return child}),content=this._createEncoderBuffer(content);else if(state.tag===\"seqof\"||state.tag===\"setof\"){if(!(state.args&&state.args.length===1))return reporter.error(\"Too many args for : \"+state.tag);if(!Array.isArray(data))return reporter.error(\"seqof/setof, but data is not Array\");let child=this.clone();child._baseState.implicit=null,content=this._createEncoderBuffer(data.map(function(item){let state2=this._baseState;return this._getUse(state2.args[0],data)._encode(item,reporter)},child))}else state.use!==null\?result=this._getUse(state.use,parent)._encode(data,reporter):(content=this._encodePrimitive(state.tag,data),primitive=!0);if(!state.any&&state.choice===null){let tag=state.implicit!==null\?state.implicit:state.tag,cls=state.implicit===null\?\"universal\":\"context\";tag===null\?state.use===null&&reporter.error(\"Tag could be omitted only for .use()\"):state.use===null&&(result=this._encodeComposite(tag,primitive,cls,content))}return state.explicit!==null&&(result=this._encodeComposite(state.explicit,!1,\"context\",result)),result},Node.prototype._encodeChoice=function(data,reporter){let state=this._baseState,node=state.choice[data.type];return node||assert(!1,data.type+\" not found in \"+JSON.stringify(Object.keys(state.choice))),node._encode(data.value,reporter)},Node.prototype._encodePrimitive=function(tag,data){let state=this._baseState;if(/str$/.test(tag))return this._encodeStr(data,tag);if(tag===\"objid\"&&state.args)return this._encodeObjid(data,state.reverseArgs[0],state.args[1]);if(tag===\"objid\")return this._encodeObjid(data,null,null);if(tag===\"gentime\"||tag===\"utctime\")return this._encodeTime(data,tag);if(tag===\"null_\")return this._encodeNull();if(tag===\"int\"||tag===\"enum\")return this._encodeInt(data,state.args&&state.reverseArgs[0]);if(tag===\"bool\")return this._encodeBool(data);if(tag===\"objDesc\")return this._encodeStr(data,tag);throw new Error(\"Unsupported tag: \"+tag)},Node.prototype._isNumstr=function(str){return/^[0-9 ]*$/.test(str)},Node.prototype._isPrintstr=function(str){return/^[A-Za-z0-9 '()+,-./:=\?]*$/.test(str)}}}),require_der=__commonJS({\"node_modules/asn1.js/lib/asn1/constants/der.js\"(exports){function reverse(map){let res={};return Object.keys(map).forEach(function(key){(key|0)==key&&(key=key|0);let value=map[key];res[value]=key}),res}exports.tagClass={0:\"universal\",1:\"application\",2:\"context\",3:\"private\"},exports.tagClassByName=reverse(exports.tagClass),exports.tag={0:\"end\",1:\"bool\",2:\"int\",3:\"bitstr\",4:\"octstr\",5:\"null_\",6:\"objid\",7:\"objDesc\",8:\"external\",9:\"real\",10:\"enum\",11:\"embed\",12:\"utf8str\",13:\"relativeOid\",16:\"seq\",17:\"set\",18:\"numstr\",19:\"printstr\",20:\"t61str\",21:\"videostr\",22:\"ia5str\",23:\"utctime\",24:\"gentime\",25:\"graphstr\",26:\"iso646str\",27:\"genstr\",28:\"unistr\",29:\"charstr\",30:\"bmpstr\"},exports.tagByName=reverse(exports.tag)}}),require_der2=__commonJS({\"node_modules/asn1.js/lib/asn1/encoders/der.js\"(exports,module){var inherits=require_inherits_browser(),Buffer2=require_safer().Buffer,Node=require_node(),der=require_der();function DEREncoder(entity){this.enc=\"der\",this.name=entity.name,this.entity=entity,this.tree=new DERNode,this.tree._init(entity.body)}module.exports=DEREncoder,DEREncoder.prototype.encode=function(data,reporter){return this.tree._encode(data,reporter).join()};function DERNode(parent){Node.call(this,\"der\",parent)}inherits(DERNode,Node),DERNode.prototype._encodeComposite=function(tag,primitive,cls,content){let encodedTag=encodeTag(tag,primitive,cls,this.reporter);if(content.length<128){let header2=Buffer2.alloc(2);return header2[0]=encodedTag,header2[1]=content.length,this._createEncoderBuffer([header2,content])}let lenOctets=1;for(let i=content.length;i>=256;i>>=8)lenOctets++;let header=Buffer2.alloc(2+lenOctets);header[0]=encodedTag,header[1]=128|lenOctets;for(let i=1+lenOctets,j=content.length;j>0;i--,j>>=8)header[i]=j&255;return this._createEncoderBuffer([header,content])},DERNode.prototype._encodeStr=function(str,tag){if(tag===\"bitstr\")return this._createEncoderBuffer([str.unused|0,str.data]);if(tag===\"bmpstr\"){let buf=Buffer2.alloc(str.length*2);for(let i=0;i=40)return this.reporter.error(\"Second objid identifier OOB\");id.splice(0,2,id[0]*40+id[1])}let size=0;for(let i=0;i=128;ident>>=7)size++}let objid=Buffer2.alloc(size),offset=objid.length-1;for(let i=id.length-1;i>=0;i--){let ident=id[i];for(objid[offset--]=ident&127;(ident>>=7)>0;)objid[offset--]=128|ident&127}return this._createEncoderBuffer(objid)};function two(num){return num<10\?\"0\"+num:num}DERNode.prototype._encodeTime=function(time,tag){let str,date=new Date(time);return tag===\"gentime\"\?str=[two(date.getUTCFullYear()),two(date.getUTCMonth()+1),two(date.getUTCDate()),two(date.getUTCHours()),two(date.getUTCMinutes()),two(date.getUTCSeconds()),\"Z\"].join(\"\"):tag===\"utctime\"\?str=[two(date.getUTCFullYear()%100),two(date.getUTCMonth()+1),two(date.getUTCDate()),two(date.getUTCHours()),two(date.getUTCMinutes()),two(date.getUTCSeconds()),\"Z\"].join(\"\"):this.reporter.error(\"Encoding \"+tag+\" time is not supported yet\"),this._encodeStr(str,\"octstr\")},DERNode.prototype._encodeNull=function(){return this._createEncoderBuffer(\"\")},DERNode.prototype._encodeInt=function(num,values){if(typeof num==\"string\"){if(!values)return this.reporter.error(\"String int or enum given, but no values map\");if(!values.hasOwnProperty(num))return this.reporter.error(\"Values map doesn't contain: \"+JSON.stringify(num));num=values[num]}if(typeof num!=\"number\"&&!Buffer2.isBuffer(num)){let numArray=num.toArray();!num.sign&&numArray[0]&128&&numArray.unshift(0),num=Buffer2.from(numArray)}if(Buffer2.isBuffer(num)){let size2=num.length;num.length===0&&size2++;let out2=Buffer2.alloc(size2);return num.copy(out2),num.length===0&&(out2[0]=0),this._createEncoderBuffer(out2)}if(num<128)return this._createEncoderBuffer(num);if(num<256)return this._createEncoderBuffer([0,num]);let size=1;for(let i=num;i>=256;i>>=8)size++;let out=new Array(size);for(let i=out.length-1;i>=0;i--)out[i]=num&255,num>>=8;return out[0]&128&&out.unshift(0),this._createEncoderBuffer(Buffer2.from(out))},DERNode.prototype._encodeBool=function(value){return this._createEncoderBuffer(value\?255:0)},DERNode.prototype._use=function(entity,obj){return typeof entity==\"function\"&&(entity=entity(obj)),entity._getEncoder(\"der\").tree},DERNode.prototype._skipDefault=function(dataBuffer,reporter,parent){let state=this._baseState,i;if(state.default===null)return!1;let data=dataBuffer.join();if(state.defaultBuffer===void 0&&(state.defaultBuffer=this._encodeValue(state.default,reporter,parent).join()),data.length!==state.defaultBuffer.length)return!1;for(i=0;i=31\?reporter.error(\"Multi-octet tag encoding unsupported\"):(primitive||(res|=32),res|=der.tagClassByName[cls||\"universal\"]<<6,res)}}}),require_pem=__commonJS({\"node_modules/asn1.js/lib/asn1/encoders/pem.js\"(exports,module){var inherits=require_inherits_browser(),DEREncoder=require_der2();function PEMEncoder(entity){DEREncoder.call(this,entity),this.enc=\"pem\"}inherits(PEMEncoder,DEREncoder),module.exports=PEMEncoder,PEMEncoder.prototype.encode=function(data,options){let p=DEREncoder.prototype.encode.call(this,data).toString(\"base64\"),out=[\"-----BEGIN \"+options.label+\"-----\"];for(let i=0;i>6],primitive=(tag&32)===0;if((tag&31)===31){let oct=tag;for(tag=0;(oct&128)===128;){if(oct=buf.readUInt8(fail),buf.isError(oct))return oct;tag<<=7,tag|=oct&127}}else tag&=31;let tagStr=der.tag[tag];return{cls,primitive,tag,tagStr}}function derDecodeLen(buf,primitive,fail){let len=buf.readUInt8(fail);if(buf.isError(len))return len;if(!primitive&&len===128)return null;if((len&128)===0)return len;let num=len&127;if(num>4)return buf.error(\"length octect is too long\");len=0;for(let i=0;i0&&bits.ishrn(shift),bits}function bits2octets(bits,q){bits=bits2int(bits,q),bits=bits.mod(q);var out=Buffer2.from(bits.toArray());if(out.length=q)throw new Error(\"invalid sig\")}module.exports=verify}}),require_browser8=__commonJS({\"node_modules/browserify-sign/browser/index.js\"(exports,module){var Buffer2=require_safe_buffer().Buffer,createHash=require_browser2(),inherits=require_inherits_browser(),sign=require_sign(),verify=require_verify(),algorithms=require_algorithms();Object.keys(algorithms).forEach(function(key){algorithms[key].id=Buffer2.from(algorithms[key].id,\"hex\"),algorithms[key.toLowerCase()]=algorithms[key]});function Sign(algorithm){StreamModule.Writable.call(this);var data=algorithms[algorithm];if(!data)throw new Error(\"Unknown message digest\");this._hashType=data.hash,this._hash=createHash(data.hash),this._tag=data.id,this._signType=data.sign}inherits(Sign,StreamModule.Writable),Sign.prototype._write=function(data,_,done){this._hash.update(data),done()},Sign.prototype.update=function(data,enc){return typeof data==\"string\"&&(data=Buffer2.from(data,enc)),this._hash.update(data),this},Sign.prototype.sign=function(key,enc){this.end();var hash=this._hash.digest(),sig=sign(hash,key,this._hashType,this._signType,this._tag);return enc\?sig.toString(enc):sig};function Verify(algorithm){StreamModule.Writable.call(this);var data=algorithms[algorithm];if(!data)throw new Error(\"Unknown message digest\");this._hash=createHash(data.hash),this._tag=data.id,this._signType=data.sign}inherits(Verify,StreamModule.Writable),Verify.prototype._write=function(data,_,done){this._hash.update(data),done()},Verify.prototype.update=function(data,enc){return typeof data==\"string\"&&(data=Buffer2.from(data,enc)),this._hash.update(data),this},Verify.prototype.verify=function(key,sig,enc){typeof sig==\"string\"&&(sig=Buffer2.from(sig,enc)),this.end();var hash=this._hash.digest();return verify(sig,hash,key,this._signType,this._tag)};function createSign(algorithm){return new Sign(algorithm)}function createVerify(algorithm){return new Verify(algorithm)}module.exports={Sign:createSign,Verify:createVerify,createSign,createVerify}}}),require_bn6=__commonJS({\"node_modules/create-ecdh/node_modules/bn.js/lib/bn.js\"(exports,module){(function(module2,exports2){function assert(val,msg){if(!val)throw new Error(msg||\"Assertion failed\")}function inherits(ctor,superCtor){ctor.super_=superCtor;var TempCtor=function(){};TempCtor.prototype=superCtor.prototype,ctor.prototype=new TempCtor,ctor.prototype.constructor=ctor}function BN(number,base,endian){if(BN.isBN(number))return number;this.negative=0,this.words=null,this.length=0,this.red=null,number!==null&&((base===\"le\"||base===\"be\")&&(endian=base,base=10),this._init(number||0,base||10,endian||\"be\"))}typeof module2==\"object\"\?module2.exports=BN:exports2.BN=BN,BN.BN=BN,BN.wordSize=26;var Buffer2=Buffer;BN.isBN=function(num){return num instanceof BN\?!0:num!==null&&typeof num==\"object\"&&num.constructor.wordSize===BN.wordSize&&Array.isArray(num.words)},BN.max=function(left,right){return left.cmp(right)>0\?left:right},BN.min=function(left,right){return left.cmp(right)<0\?left:right},BN.prototype._init=function(number,base,endian){if(typeof number==\"number\")return this._initNumber(number,base,endian);if(typeof number==\"object\")return this._initArray(number,base,endian);base===\"hex\"&&(base=16),assert(base===(base|0)&&base>=2&&base<=36),number=number.toString().replace(/\\s+/g,\"\");var start=0;number[0]===\"-\"&&(start++,this.negative=1),start=0;i-=3)w=number[i]|number[i-1]<<8|number[i-2]<<16,this.words[j]|=w<>>26-off&67108863,off+=24,off>=26&&(off-=26,j++);else if(endian===\"le\")for(i=0,j=0;i>>26-off&67108863,off+=24,off>=26&&(off-=26,j++);return this.strip()};function parseHex4Bits(string,index){var c=string.charCodeAt(index);return c>=65&&c<=70\?c-55:c>=97&&c<=102\?c-87:c-48&15}function parseHexByte(string,lowerBound,index){var r=parseHex4Bits(string,index);return index-1>=lowerBound&&(r|=parseHex4Bits(string,index-1)<<4),r}BN.prototype._parseHex=function(number,start,endian){this.length=Math.ceil((number.length-start)/6),this.words=new Array(this.length);for(var i=0;i=start;i-=2)w=parseHexByte(number,start,i)<=18\?(off-=18,j+=1,this.words[j]|=w>>>26):off+=8;else{var parseLength=number.length-start;for(i=parseLength%2===0\?start+1:start;i=18\?(off-=18,j+=1,this.words[j]|=w>>>26):off+=8}this.strip()};function parseBase(str,start,end,mul){for(var r=0,len=Math.min(str.length,end),i=start;i=49\?r+=c-49+10:c>=17\?r+=c-17+10:r+=c}return r}BN.prototype._parseBase=function(number,base,start){this.words=[0],this.length=1;for(var limbLen=0,limbPow=1;limbPow<=67108863;limbPow*=base)limbLen++;limbLen--,limbPow=limbPow/base|0;for(var total=number.length-start,mod=total%limbLen,end=Math.min(total,total-mod)+start,word=0,i=start;i1&&this.words[this.length-1]===0;)this.length--;return this._normSign()},BN.prototype._normSign=function(){return this.length===1&&this.words[0]===0&&(this.negative=0),this},BN.prototype.inspect=function(){return(this.red\?\"\"};var zeros=[\"\",\"0\",\"00\",\"000\",\"0000\",\"00000\",\"000000\",\"0000000\",\"00000000\",\"000000000\",\"0000000000\",\"00000000000\",\"000000000000\",\"0000000000000\",\"00000000000000\",\"000000000000000\",\"0000000000000000\",\"00000000000000000\",\"000000000000000000\",\"0000000000000000000\",\"00000000000000000000\",\"000000000000000000000\",\"0000000000000000000000\",\"00000000000000000000000\",\"000000000000000000000000\",\"0000000000000000000000000\"],groupSizes=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],groupBases=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64000000,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,24300000,28629151,33554432,39135393,45435424,52521875,60466176];BN.prototype.toString=function(base,padding){base=base||10,padding=padding|0||1;var out;if(base===16||base===\"hex\"){out=\"\";for(var off=0,carry=0,i=0;i>>24-off&16777215,carry!==0||i!==this.length-1\?out=zeros[6-word.length]+word+out:out=word+out,off+=2,off>=26&&(off-=26,i--)}for(carry!==0&&(out=carry.toString(16)+out);out.length%padding!==0;)out=\"0\"+out;return this.negative!==0&&(out=\"-\"+out),out}if(base===(base|0)&&base>=2&&base<=36){var groupSize=groupSizes[base],groupBase=groupBases[base];out=\"\";var c=this.clone();for(c.negative=0;!c.isZero();){var r=c.modn(groupBase).toString(base);c=c.idivn(groupBase),c.isZero()\?out=r+out:out=zeros[groupSize-r.length]+r+out}for(this.isZero()&&(out=\"0\"+out);out.length%padding!==0;)out=\"0\"+out;return this.negative!==0&&(out=\"-\"+out),out}assert(!1,\"Base should be between 2 and 36\")},BN.prototype.toNumber=function(){var ret=this.words[0];return this.length===2\?ret+=this.words[1]*67108864:this.length===3&&this.words[2]===1\?ret+=4503599627370496+this.words[1]*67108864:this.length>2&&assert(!1,\"Number can only safely store up to 53 bits\"),this.negative!==0\?-ret:ret},BN.prototype.toJSON=function(){return this.toString(16)},BN.prototype.toBuffer=function(endian,length){return assert(typeof Buffer2<\"u\"),this.toArrayLike(Buffer2,endian,length)},BN.prototype.toArray=function(endian,length){return this.toArrayLike(Array,endian,length)},BN.prototype.toArrayLike=function(ArrayType,endian,length){var byteLength=this.byteLength(),reqLength=length||Math.max(1,byteLength);assert(byteLength<=reqLength,\"byte array longer than desired length\"),assert(reqLength>0,\"Requested array length <= 0\"),this.strip();var littleEndian=endian===\"le\",res=new ArrayType(reqLength),b,i,q=this.clone();if(littleEndian){for(i=0;!q.isZero();i++)b=q.andln(255),q.iushrn(8),res[i]=b;for(;i=4096&&(r+=13,t>>>=13),t>=64&&(r+=7,t>>>=7),t>=8&&(r+=4,t>>>=4),t>=2&&(r+=2,t>>>=2),r+t},BN.prototype._zeroBits=function(w){if(w===0)return 26;var t=w,r=0;return(t&8191)===0&&(r+=13,t>>>=13),(t&127)===0&&(r+=7,t>>>=7),(t&15)===0&&(r+=4,t>>>=4),(t&3)===0&&(r+=2,t>>>=2),(t&1)===0&&r++,r},BN.prototype.bitLength=function(){var w=this.words[this.length-1],hi=this._countBits(w);return(this.length-1)*26+hi};function toBitArray(num){for(var w=new Array(num.bitLength()),bit=0;bit>>wbit}return w}BN.prototype.zeroBits=function(){if(this.isZero())return 0;for(var r=0,i=0;inum.length\?this.clone().ior(num):num.clone().ior(this)},BN.prototype.uor=function(num){return this.length>num.length\?this.clone().iuor(num):num.clone().iuor(this)},BN.prototype.iuand=function(num){var b;this.length>num.length\?b=num:b=this;for(var i=0;inum.length\?this.clone().iand(num):num.clone().iand(this)},BN.prototype.uand=function(num){return this.length>num.length\?this.clone().iuand(num):num.clone().iuand(this)},BN.prototype.iuxor=function(num){var a,b;this.length>num.length\?(a=this,b=num):(a=num,b=this);for(var i=0;inum.length\?this.clone().ixor(num):num.clone().ixor(this)},BN.prototype.uxor=function(num){return this.length>num.length\?this.clone().iuxor(num):num.clone().iuxor(this)},BN.prototype.inotn=function(width){assert(typeof width==\"number\"&&width>=0);var bytesNeeded=Math.ceil(width/26)|0,bitsLeft=width%26;this._expand(bytesNeeded),bitsLeft>0&&bytesNeeded--;for(var i=0;i0&&(this.words[i]=~this.words[i]&67108863>>26-bitsLeft),this.strip()},BN.prototype.notn=function(width){return this.clone().inotn(width)},BN.prototype.setn=function(bit,val){assert(typeof bit==\"number\"&&bit>=0);var off=bit/26|0,wbit=bit%26;return this._expand(off+1),val\?this.words[off]=this.words[off]|1<num.length\?(a=this,b=num):(a=num,b=this);for(var carry=0,i=0;i>>26;for(;carry!==0&&i>>26;if(this.length=a.length,carry!==0)this.words[this.length]=carry,this.length++;else if(a!==this)for(;inum.length\?this.clone().iadd(num):num.clone().iadd(this)},BN.prototype.isub=function(num){if(num.negative!==0){num.negative=0;var r=this.iadd(num);return num.negative=1,r._normSign()}else if(this.negative!==0)return this.negative=0,this.iadd(num),this.negative=1,this._normSign();var cmp=this.cmp(num);if(cmp===0)return this.negative=0,this.length=1,this.words[0]=0,this;var a,b;cmp>0\?(a=this,b=num):(a=num,b=this);for(var carry=0,i=0;i>26,this.words[i]=r&67108863;for(;carry!==0&&i>26,this.words[i]=r&67108863;if(carry===0&&i>>26,rword=carry&67108863,maxJ=Math.min(k,num.length-1),j=Math.max(0,k-self2.length+1);j<=maxJ;j++){var i=k-j|0;a=self2.words[i]|0,b=num.words[j]|0,r=a*b+rword,ncarry+=r/67108864|0,rword=r&67108863}out.words[k]=rword|0,carry=ncarry|0}return carry!==0\?out.words[k]=carry|0:out.length--,out.strip()}var comb10MulTo=function(self2,num,out){var a=self2.words,b=num.words,o=out.words,c=0,lo,mid,hi,a0=a[0]|0,al0=a0&8191,ah0=a0>>>13,a1=a[1]|0,al1=a1&8191,ah1=a1>>>13,a2=a[2]|0,al2=a2&8191,ah2=a2>>>13,a3=a[3]|0,al3=a3&8191,ah3=a3>>>13,a4=a[4]|0,al4=a4&8191,ah4=a4>>>13,a5=a[5]|0,al5=a5&8191,ah5=a5>>>13,a6=a[6]|0,al6=a6&8191,ah6=a6>>>13,a7=a[7]|0,al7=a7&8191,ah7=a7>>>13,a8=a[8]|0,al8=a8&8191,ah8=a8>>>13,a9=a[9]|0,al9=a9&8191,ah9=a9>>>13,b0=b[0]|0,bl0=b0&8191,bh0=b0>>>13,b1=b[1]|0,bl1=b1&8191,bh1=b1>>>13,b2=b[2]|0,bl2=b2&8191,bh2=b2>>>13,b3=b[3]|0,bl3=b3&8191,bh3=b3>>>13,b4=b[4]|0,bl4=b4&8191,bh4=b4>>>13,b5=b[5]|0,bl5=b5&8191,bh5=b5>>>13,b6=b[6]|0,bl6=b6&8191,bh6=b6>>>13,b7=b[7]|0,bl7=b7&8191,bh7=b7>>>13,b8=b[8]|0,bl8=b8&8191,bh8=b8>>>13,b9=b[9]|0,bl9=b9&8191,bh9=b9>>>13;out.negative=self2.negative^num.negative,out.length=19,lo=Math.imul(al0,bl0),mid=Math.imul(al0,bh0),mid=mid+Math.imul(ah0,bl0)|0,hi=Math.imul(ah0,bh0);var w0=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w0>>>26)|0,w0&=67108863,lo=Math.imul(al1,bl0),mid=Math.imul(al1,bh0),mid=mid+Math.imul(ah1,bl0)|0,hi=Math.imul(ah1,bh0),lo=lo+Math.imul(al0,bl1)|0,mid=mid+Math.imul(al0,bh1)|0,mid=mid+Math.imul(ah0,bl1)|0,hi=hi+Math.imul(ah0,bh1)|0;var w1=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w1>>>26)|0,w1&=67108863,lo=Math.imul(al2,bl0),mid=Math.imul(al2,bh0),mid=mid+Math.imul(ah2,bl0)|0,hi=Math.imul(ah2,bh0),lo=lo+Math.imul(al1,bl1)|0,mid=mid+Math.imul(al1,bh1)|0,mid=mid+Math.imul(ah1,bl1)|0,hi=hi+Math.imul(ah1,bh1)|0,lo=lo+Math.imul(al0,bl2)|0,mid=mid+Math.imul(al0,bh2)|0,mid=mid+Math.imul(ah0,bl2)|0,hi=hi+Math.imul(ah0,bh2)|0;var w2=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w2>>>26)|0,w2&=67108863,lo=Math.imul(al3,bl0),mid=Math.imul(al3,bh0),mid=mid+Math.imul(ah3,bl0)|0,hi=Math.imul(ah3,bh0),lo=lo+Math.imul(al2,bl1)|0,mid=mid+Math.imul(al2,bh1)|0,mid=mid+Math.imul(ah2,bl1)|0,hi=hi+Math.imul(ah2,bh1)|0,lo=lo+Math.imul(al1,bl2)|0,mid=mid+Math.imul(al1,bh2)|0,mid=mid+Math.imul(ah1,bl2)|0,hi=hi+Math.imul(ah1,bh2)|0,lo=lo+Math.imul(al0,bl3)|0,mid=mid+Math.imul(al0,bh3)|0,mid=mid+Math.imul(ah0,bl3)|0,hi=hi+Math.imul(ah0,bh3)|0;var w3=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w3>>>26)|0,w3&=67108863,lo=Math.imul(al4,bl0),mid=Math.imul(al4,bh0),mid=mid+Math.imul(ah4,bl0)|0,hi=Math.imul(ah4,bh0),lo=lo+Math.imul(al3,bl1)|0,mid=mid+Math.imul(al3,bh1)|0,mid=mid+Math.imul(ah3,bl1)|0,hi=hi+Math.imul(ah3,bh1)|0,lo=lo+Math.imul(al2,bl2)|0,mid=mid+Math.imul(al2,bh2)|0,mid=mid+Math.imul(ah2,bl2)|0,hi=hi+Math.imul(ah2,bh2)|0,lo=lo+Math.imul(al1,bl3)|0,mid=mid+Math.imul(al1,bh3)|0,mid=mid+Math.imul(ah1,bl3)|0,hi=hi+Math.imul(ah1,bh3)|0,lo=lo+Math.imul(al0,bl4)|0,mid=mid+Math.imul(al0,bh4)|0,mid=mid+Math.imul(ah0,bl4)|0,hi=hi+Math.imul(ah0,bh4)|0;var w4=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w4>>>26)|0,w4&=67108863,lo=Math.imul(al5,bl0),mid=Math.imul(al5,bh0),mid=mid+Math.imul(ah5,bl0)|0,hi=Math.imul(ah5,bh0),lo=lo+Math.imul(al4,bl1)|0,mid=mid+Math.imul(al4,bh1)|0,mid=mid+Math.imul(ah4,bl1)|0,hi=hi+Math.imul(ah4,bh1)|0,lo=lo+Math.imul(al3,bl2)|0,mid=mid+Math.imul(al3,bh2)|0,mid=mid+Math.imul(ah3,bl2)|0,hi=hi+Math.imul(ah3,bh2)|0,lo=lo+Math.imul(al2,bl3)|0,mid=mid+Math.imul(al2,bh3)|0,mid=mid+Math.imul(ah2,bl3)|0,hi=hi+Math.imul(ah2,bh3)|0,lo=lo+Math.imul(al1,bl4)|0,mid=mid+Math.imul(al1,bh4)|0,mid=mid+Math.imul(ah1,bl4)|0,hi=hi+Math.imul(ah1,bh4)|0,lo=lo+Math.imul(al0,bl5)|0,mid=mid+Math.imul(al0,bh5)|0,mid=mid+Math.imul(ah0,bl5)|0,hi=hi+Math.imul(ah0,bh5)|0;var w5=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w5>>>26)|0,w5&=67108863,lo=Math.imul(al6,bl0),mid=Math.imul(al6,bh0),mid=mid+Math.imul(ah6,bl0)|0,hi=Math.imul(ah6,bh0),lo=lo+Math.imul(al5,bl1)|0,mid=mid+Math.imul(al5,bh1)|0,mid=mid+Math.imul(ah5,bl1)|0,hi=hi+Math.imul(ah5,bh1)|0,lo=lo+Math.imul(al4,bl2)|0,mid=mid+Math.imul(al4,bh2)|0,mid=mid+Math.imul(ah4,bl2)|0,hi=hi+Math.imul(ah4,bh2)|0,lo=lo+Math.imul(al3,bl3)|0,mid=mid+Math.imul(al3,bh3)|0,mid=mid+Math.imul(ah3,bl3)|0,hi=hi+Math.imul(ah3,bh3)|0,lo=lo+Math.imul(al2,bl4)|0,mid=mid+Math.imul(al2,bh4)|0,mid=mid+Math.imul(ah2,bl4)|0,hi=hi+Math.imul(ah2,bh4)|0,lo=lo+Math.imul(al1,bl5)|0,mid=mid+Math.imul(al1,bh5)|0,mid=mid+Math.imul(ah1,bl5)|0,hi=hi+Math.imul(ah1,bh5)|0,lo=lo+Math.imul(al0,bl6)|0,mid=mid+Math.imul(al0,bh6)|0,mid=mid+Math.imul(ah0,bl6)|0,hi=hi+Math.imul(ah0,bh6)|0;var w6=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w6>>>26)|0,w6&=67108863,lo=Math.imul(al7,bl0),mid=Math.imul(al7,bh0),mid=mid+Math.imul(ah7,bl0)|0,hi=Math.imul(ah7,bh0),lo=lo+Math.imul(al6,bl1)|0,mid=mid+Math.imul(al6,bh1)|0,mid=mid+Math.imul(ah6,bl1)|0,hi=hi+Math.imul(ah6,bh1)|0,lo=lo+Math.imul(al5,bl2)|0,mid=mid+Math.imul(al5,bh2)|0,mid=mid+Math.imul(ah5,bl2)|0,hi=hi+Math.imul(ah5,bh2)|0,lo=lo+Math.imul(al4,bl3)|0,mid=mid+Math.imul(al4,bh3)|0,mid=mid+Math.imul(ah4,bl3)|0,hi=hi+Math.imul(ah4,bh3)|0,lo=lo+Math.imul(al3,bl4)|0,mid=mid+Math.imul(al3,bh4)|0,mid=mid+Math.imul(ah3,bl4)|0,hi=hi+Math.imul(ah3,bh4)|0,lo=lo+Math.imul(al2,bl5)|0,mid=mid+Math.imul(al2,bh5)|0,mid=mid+Math.imul(ah2,bl5)|0,hi=hi+Math.imul(ah2,bh5)|0,lo=lo+Math.imul(al1,bl6)|0,mid=mid+Math.imul(al1,bh6)|0,mid=mid+Math.imul(ah1,bl6)|0,hi=hi+Math.imul(ah1,bh6)|0,lo=lo+Math.imul(al0,bl7)|0,mid=mid+Math.imul(al0,bh7)|0,mid=mid+Math.imul(ah0,bl7)|0,hi=hi+Math.imul(ah0,bh7)|0;var w7=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w7>>>26)|0,w7&=67108863,lo=Math.imul(al8,bl0),mid=Math.imul(al8,bh0),mid=mid+Math.imul(ah8,bl0)|0,hi=Math.imul(ah8,bh0),lo=lo+Math.imul(al7,bl1)|0,mid=mid+Math.imul(al7,bh1)|0,mid=mid+Math.imul(ah7,bl1)|0,hi=hi+Math.imul(ah7,bh1)|0,lo=lo+Math.imul(al6,bl2)|0,mid=mid+Math.imul(al6,bh2)|0,mid=mid+Math.imul(ah6,bl2)|0,hi=hi+Math.imul(ah6,bh2)|0,lo=lo+Math.imul(al5,bl3)|0,mid=mid+Math.imul(al5,bh3)|0,mid=mid+Math.imul(ah5,bl3)|0,hi=hi+Math.imul(ah5,bh3)|0,lo=lo+Math.imul(al4,bl4)|0,mid=mid+Math.imul(al4,bh4)|0,mid=mid+Math.imul(ah4,bl4)|0,hi=hi+Math.imul(ah4,bh4)|0,lo=lo+Math.imul(al3,bl5)|0,mid=mid+Math.imul(al3,bh5)|0,mid=mid+Math.imul(ah3,bl5)|0,hi=hi+Math.imul(ah3,bh5)|0,lo=lo+Math.imul(al2,bl6)|0,mid=mid+Math.imul(al2,bh6)|0,mid=mid+Math.imul(ah2,bl6)|0,hi=hi+Math.imul(ah2,bh6)|0,lo=lo+Math.imul(al1,bl7)|0,mid=mid+Math.imul(al1,bh7)|0,mid=mid+Math.imul(ah1,bl7)|0,hi=hi+Math.imul(ah1,bh7)|0,lo=lo+Math.imul(al0,bl8)|0,mid=mid+Math.imul(al0,bh8)|0,mid=mid+Math.imul(ah0,bl8)|0,hi=hi+Math.imul(ah0,bh8)|0;var w8=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w8>>>26)|0,w8&=67108863,lo=Math.imul(al9,bl0),mid=Math.imul(al9,bh0),mid=mid+Math.imul(ah9,bl0)|0,hi=Math.imul(ah9,bh0),lo=lo+Math.imul(al8,bl1)|0,mid=mid+Math.imul(al8,bh1)|0,mid=mid+Math.imul(ah8,bl1)|0,hi=hi+Math.imul(ah8,bh1)|0,lo=lo+Math.imul(al7,bl2)|0,mid=mid+Math.imul(al7,bh2)|0,mid=mid+Math.imul(ah7,bl2)|0,hi=hi+Math.imul(ah7,bh2)|0,lo=lo+Math.imul(al6,bl3)|0,mid=mid+Math.imul(al6,bh3)|0,mid=mid+Math.imul(ah6,bl3)|0,hi=hi+Math.imul(ah6,bh3)|0,lo=lo+Math.imul(al5,bl4)|0,mid=mid+Math.imul(al5,bh4)|0,mid=mid+Math.imul(ah5,bl4)|0,hi=hi+Math.imul(ah5,bh4)|0,lo=lo+Math.imul(al4,bl5)|0,mid=mid+Math.imul(al4,bh5)|0,mid=mid+Math.imul(ah4,bl5)|0,hi=hi+Math.imul(ah4,bh5)|0,lo=lo+Math.imul(al3,bl6)|0,mid=mid+Math.imul(al3,bh6)|0,mid=mid+Math.imul(ah3,bl6)|0,hi=hi+Math.imul(ah3,bh6)|0,lo=lo+Math.imul(al2,bl7)|0,mid=mid+Math.imul(al2,bh7)|0,mid=mid+Math.imul(ah2,bl7)|0,hi=hi+Math.imul(ah2,bh7)|0,lo=lo+Math.imul(al1,bl8)|0,mid=mid+Math.imul(al1,bh8)|0,mid=mid+Math.imul(ah1,bl8)|0,hi=hi+Math.imul(ah1,bh8)|0,lo=lo+Math.imul(al0,bl9)|0,mid=mid+Math.imul(al0,bh9)|0,mid=mid+Math.imul(ah0,bl9)|0,hi=hi+Math.imul(ah0,bh9)|0;var w9=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w9>>>26)|0,w9&=67108863,lo=Math.imul(al9,bl1),mid=Math.imul(al9,bh1),mid=mid+Math.imul(ah9,bl1)|0,hi=Math.imul(ah9,bh1),lo=lo+Math.imul(al8,bl2)|0,mid=mid+Math.imul(al8,bh2)|0,mid=mid+Math.imul(ah8,bl2)|0,hi=hi+Math.imul(ah8,bh2)|0,lo=lo+Math.imul(al7,bl3)|0,mid=mid+Math.imul(al7,bh3)|0,mid=mid+Math.imul(ah7,bl3)|0,hi=hi+Math.imul(ah7,bh3)|0,lo=lo+Math.imul(al6,bl4)|0,mid=mid+Math.imul(al6,bh4)|0,mid=mid+Math.imul(ah6,bl4)|0,hi=hi+Math.imul(ah6,bh4)|0,lo=lo+Math.imul(al5,bl5)|0,mid=mid+Math.imul(al5,bh5)|0,mid=mid+Math.imul(ah5,bl5)|0,hi=hi+Math.imul(ah5,bh5)|0,lo=lo+Math.imul(al4,bl6)|0,mid=mid+Math.imul(al4,bh6)|0,mid=mid+Math.imul(ah4,bl6)|0,hi=hi+Math.imul(ah4,bh6)|0,lo=lo+Math.imul(al3,bl7)|0,mid=mid+Math.imul(al3,bh7)|0,mid=mid+Math.imul(ah3,bl7)|0,hi=hi+Math.imul(ah3,bh7)|0,lo=lo+Math.imul(al2,bl8)|0,mid=mid+Math.imul(al2,bh8)|0,mid=mid+Math.imul(ah2,bl8)|0,hi=hi+Math.imul(ah2,bh8)|0,lo=lo+Math.imul(al1,bl9)|0,mid=mid+Math.imul(al1,bh9)|0,mid=mid+Math.imul(ah1,bl9)|0,hi=hi+Math.imul(ah1,bh9)|0;var w10=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w10>>>26)|0,w10&=67108863,lo=Math.imul(al9,bl2),mid=Math.imul(al9,bh2),mid=mid+Math.imul(ah9,bl2)|0,hi=Math.imul(ah9,bh2),lo=lo+Math.imul(al8,bl3)|0,mid=mid+Math.imul(al8,bh3)|0,mid=mid+Math.imul(ah8,bl3)|0,hi=hi+Math.imul(ah8,bh3)|0,lo=lo+Math.imul(al7,bl4)|0,mid=mid+Math.imul(al7,bh4)|0,mid=mid+Math.imul(ah7,bl4)|0,hi=hi+Math.imul(ah7,bh4)|0,lo=lo+Math.imul(al6,bl5)|0,mid=mid+Math.imul(al6,bh5)|0,mid=mid+Math.imul(ah6,bl5)|0,hi=hi+Math.imul(ah6,bh5)|0,lo=lo+Math.imul(al5,bl6)|0,mid=mid+Math.imul(al5,bh6)|0,mid=mid+Math.imul(ah5,bl6)|0,hi=hi+Math.imul(ah5,bh6)|0,lo=lo+Math.imul(al4,bl7)|0,mid=mid+Math.imul(al4,bh7)|0,mid=mid+Math.imul(ah4,bl7)|0,hi=hi+Math.imul(ah4,bh7)|0,lo=lo+Math.imul(al3,bl8)|0,mid=mid+Math.imul(al3,bh8)|0,mid=mid+Math.imul(ah3,bl8)|0,hi=hi+Math.imul(ah3,bh8)|0,lo=lo+Math.imul(al2,bl9)|0,mid=mid+Math.imul(al2,bh9)|0,mid=mid+Math.imul(ah2,bl9)|0,hi=hi+Math.imul(ah2,bh9)|0;var w11=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w11>>>26)|0,w11&=67108863,lo=Math.imul(al9,bl3),mid=Math.imul(al9,bh3),mid=mid+Math.imul(ah9,bl3)|0,hi=Math.imul(ah9,bh3),lo=lo+Math.imul(al8,bl4)|0,mid=mid+Math.imul(al8,bh4)|0,mid=mid+Math.imul(ah8,bl4)|0,hi=hi+Math.imul(ah8,bh4)|0,lo=lo+Math.imul(al7,bl5)|0,mid=mid+Math.imul(al7,bh5)|0,mid=mid+Math.imul(ah7,bl5)|0,hi=hi+Math.imul(ah7,bh5)|0,lo=lo+Math.imul(al6,bl6)|0,mid=mid+Math.imul(al6,bh6)|0,mid=mid+Math.imul(ah6,bl6)|0,hi=hi+Math.imul(ah6,bh6)|0,lo=lo+Math.imul(al5,bl7)|0,mid=mid+Math.imul(al5,bh7)|0,mid=mid+Math.imul(ah5,bl7)|0,hi=hi+Math.imul(ah5,bh7)|0,lo=lo+Math.imul(al4,bl8)|0,mid=mid+Math.imul(al4,bh8)|0,mid=mid+Math.imul(ah4,bl8)|0,hi=hi+Math.imul(ah4,bh8)|0,lo=lo+Math.imul(al3,bl9)|0,mid=mid+Math.imul(al3,bh9)|0,mid=mid+Math.imul(ah3,bl9)|0,hi=hi+Math.imul(ah3,bh9)|0;var w12=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w12>>>26)|0,w12&=67108863,lo=Math.imul(al9,bl4),mid=Math.imul(al9,bh4),mid=mid+Math.imul(ah9,bl4)|0,hi=Math.imul(ah9,bh4),lo=lo+Math.imul(al8,bl5)|0,mid=mid+Math.imul(al8,bh5)|0,mid=mid+Math.imul(ah8,bl5)|0,hi=hi+Math.imul(ah8,bh5)|0,lo=lo+Math.imul(al7,bl6)|0,mid=mid+Math.imul(al7,bh6)|0,mid=mid+Math.imul(ah7,bl6)|0,hi=hi+Math.imul(ah7,bh6)|0,lo=lo+Math.imul(al6,bl7)|0,mid=mid+Math.imul(al6,bh7)|0,mid=mid+Math.imul(ah6,bl7)|0,hi=hi+Math.imul(ah6,bh7)|0,lo=lo+Math.imul(al5,bl8)|0,mid=mid+Math.imul(al5,bh8)|0,mid=mid+Math.imul(ah5,bl8)|0,hi=hi+Math.imul(ah5,bh8)|0,lo=lo+Math.imul(al4,bl9)|0,mid=mid+Math.imul(al4,bh9)|0,mid=mid+Math.imul(ah4,bl9)|0,hi=hi+Math.imul(ah4,bh9)|0;var w13=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w13>>>26)|0,w13&=67108863,lo=Math.imul(al9,bl5),mid=Math.imul(al9,bh5),mid=mid+Math.imul(ah9,bl5)|0,hi=Math.imul(ah9,bh5),lo=lo+Math.imul(al8,bl6)|0,mid=mid+Math.imul(al8,bh6)|0,mid=mid+Math.imul(ah8,bl6)|0,hi=hi+Math.imul(ah8,bh6)|0,lo=lo+Math.imul(al7,bl7)|0,mid=mid+Math.imul(al7,bh7)|0,mid=mid+Math.imul(ah7,bl7)|0,hi=hi+Math.imul(ah7,bh7)|0,lo=lo+Math.imul(al6,bl8)|0,mid=mid+Math.imul(al6,bh8)|0,mid=mid+Math.imul(ah6,bl8)|0,hi=hi+Math.imul(ah6,bh8)|0,lo=lo+Math.imul(al5,bl9)|0,mid=mid+Math.imul(al5,bh9)|0,mid=mid+Math.imul(ah5,bl9)|0,hi=hi+Math.imul(ah5,bh9)|0;var w14=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w14>>>26)|0,w14&=67108863,lo=Math.imul(al9,bl6),mid=Math.imul(al9,bh6),mid=mid+Math.imul(ah9,bl6)|0,hi=Math.imul(ah9,bh6),lo=lo+Math.imul(al8,bl7)|0,mid=mid+Math.imul(al8,bh7)|0,mid=mid+Math.imul(ah8,bl7)|0,hi=hi+Math.imul(ah8,bh7)|0,lo=lo+Math.imul(al7,bl8)|0,mid=mid+Math.imul(al7,bh8)|0,mid=mid+Math.imul(ah7,bl8)|0,hi=hi+Math.imul(ah7,bh8)|0,lo=lo+Math.imul(al6,bl9)|0,mid=mid+Math.imul(al6,bh9)|0,mid=mid+Math.imul(ah6,bl9)|0,hi=hi+Math.imul(ah6,bh9)|0;var w15=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w15>>>26)|0,w15&=67108863,lo=Math.imul(al9,bl7),mid=Math.imul(al9,bh7),mid=mid+Math.imul(ah9,bl7)|0,hi=Math.imul(ah9,bh7),lo=lo+Math.imul(al8,bl8)|0,mid=mid+Math.imul(al8,bh8)|0,mid=mid+Math.imul(ah8,bl8)|0,hi=hi+Math.imul(ah8,bh8)|0,lo=lo+Math.imul(al7,bl9)|0,mid=mid+Math.imul(al7,bh9)|0,mid=mid+Math.imul(ah7,bl9)|0,hi=hi+Math.imul(ah7,bh9)|0;var w16=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w16>>>26)|0,w16&=67108863,lo=Math.imul(al9,bl8),mid=Math.imul(al9,bh8),mid=mid+Math.imul(ah9,bl8)|0,hi=Math.imul(ah9,bh8),lo=lo+Math.imul(al8,bl9)|0,mid=mid+Math.imul(al8,bh9)|0,mid=mid+Math.imul(ah8,bl9)|0,hi=hi+Math.imul(ah8,bh9)|0;var w17=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w17>>>26)|0,w17&=67108863,lo=Math.imul(al9,bl9),mid=Math.imul(al9,bh9),mid=mid+Math.imul(ah9,bl9)|0,hi=Math.imul(ah9,bh9);var w18=(c+lo|0)+((mid&8191)<<13)|0;return c=(hi+(mid>>>13)|0)+(w18>>>26)|0,w18&=67108863,o[0]=w0,o[1]=w1,o[2]=w2,o[3]=w3,o[4]=w4,o[5]=w5,o[6]=w6,o[7]=w7,o[8]=w8,o[9]=w9,o[10]=w10,o[11]=w11,o[12]=w12,o[13]=w13,o[14]=w14,o[15]=w15,o[16]=w16,o[17]=w17,o[18]=w18,c!==0&&(o[19]=c,out.length++),out};Math.imul||(comb10MulTo=smallMulTo);function bigMulTo(self2,num,out){out.negative=num.negative^self2.negative,out.length=self2.length+num.length;for(var carry=0,hncarry=0,k=0;k>>26)|0,hncarry+=ncarry>>>26,ncarry&=67108863}out.words[k]=rword,carry=ncarry,ncarry=hncarry}return carry!==0\?out.words[k]=carry:out.length--,out.strip()}function jumboMulTo(self2,num,out){var fftm=new FFTM;return fftm.mulp(self2,num,out)}BN.prototype.mulTo=function(num,out){var res,len=this.length+num.length;return this.length===10&&num.length===10\?res=comb10MulTo(this,num,out):len<63\?res=smallMulTo(this,num,out):len<1024\?res=bigMulTo(this,num,out):res=jumboMulTo(this,num,out),res};function FFTM(x,y){this.x=x,this.y=y}FFTM.prototype.makeRBT=function(N){for(var t=new Array(N),l=BN.prototype._countBits(N)-1,i=0;i>=1;return rb},FFTM.prototype.permute=function(rbt,rws,iws,rtws,itws,N){for(var i=0;i>>1)i++;return 1<>>13,rws[2*i+1]=carry&8191,carry=carry>>>13;for(i=2*len;i>=26,carry+=w/67108864|0,carry+=lo>>>26,this.words[i]=lo&67108863}return carry!==0&&(this.words[i]=carry,this.length++),this},BN.prototype.muln=function(num){return this.clone().imuln(num)},BN.prototype.sqr=function(){return this.mul(this)},BN.prototype.isqr=function(){return this.imul(this.clone())},BN.prototype.pow=function(num){var w=toBitArray(num);if(w.length===0)return new BN(1);for(var res=this,i=0;i=0);var r=bits%26,s=(bits-r)/26,carryMask=67108863>>>26-r<<26-r,i;if(r!==0){var carry=0;for(i=0;i>>26-r}carry&&(this.words[i]=carry,this.length++)}if(s!==0){for(i=this.length-1;i>=0;i--)this.words[i+s]=this.words[i];for(i=0;i=0);var h;hint\?h=(hint-hint%26)/26:h=0;var r=bits%26,s=Math.min((bits-r)/26,this.length),mask=67108863^67108863>>>r<s)for(this.length-=s,i=0;i=0&&(carry!==0||i>=h);i--){var word=this.words[i]|0;this.words[i]=carry<<26-r|word>>>r,carry=word&mask}return maskedWords&&carry!==0&&(maskedWords.words[maskedWords.length++]=carry),this.length===0&&(this.words[0]=0,this.length=1),this.strip()},BN.prototype.ishrn=function(bits,hint,extended){return assert(this.negative===0),this.iushrn(bits,hint,extended)},BN.prototype.shln=function(bits){return this.clone().ishln(bits)},BN.prototype.ushln=function(bits){return this.clone().iushln(bits)},BN.prototype.shrn=function(bits){return this.clone().ishrn(bits)},BN.prototype.ushrn=function(bits){return this.clone().iushrn(bits)},BN.prototype.testn=function(bit){assert(typeof bit==\"number\"&&bit>=0);var r=bit%26,s=(bit-r)/26,q=1<=0);var r=bits%26,s=(bits-r)/26;if(assert(this.negative===0,\"imaskn works only with positive numbers\"),this.length<=s)return this;if(r!==0&&s++,this.length=Math.min(s,this.length),r!==0){var mask=67108863^67108863>>>r<=67108864;i++)this.words[i]-=67108864,i===this.length-1\?this.words[i+1]=1:this.words[i+1]++;return this.length=Math.max(this.length,i+1),this},BN.prototype.isubn=function(num){if(assert(typeof num==\"number\"),assert(num<67108864),num<0)return this.iaddn(-num);if(this.negative!==0)return this.negative=0,this.iaddn(num),this.negative=1,this;if(this.words[0]-=num,this.length===1&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var i=0;i>26)-(right/67108864|0),this.words[i+shift]=w&67108863}for(;i>26,this.words[i+shift]=w&67108863;if(carry===0)return this.strip();for(assert(carry===-1),carry=0,i=0;i>26,this.words[i]=w&67108863;return this.negative=1,this.strip()},BN.prototype._wordDiv=function(num,mode){var shift=this.length-num.length,a=this.clone(),b=num,bhi=b.words[b.length-1]|0,bhiBits=this._countBits(bhi);shift=26-bhiBits,shift!==0&&(b=b.ushln(shift),a.iushln(shift),bhi=b.words[b.length-1]|0);var m=a.length-b.length,q;if(mode!==\"mod\"){q=new BN(null),q.length=m+1,q.words=new Array(q.length);for(var i=0;i=0;j--){var qj=(a.words[b.length+j]|0)*67108864+(a.words[b.length+j-1]|0);for(qj=Math.min(qj/bhi|0,67108863),a._ishlnsubmul(b,qj,j);a.negative!==0;)qj--,a.negative=0,a._ishlnsubmul(b,1,j),a.isZero()||(a.negative^=1);q&&(q.words[j]=qj)}return q&&q.strip(),a.strip(),mode!==\"div\"&&shift!==0&&a.iushrn(shift),{div:q||null,mod:a}},BN.prototype.divmod=function(num,mode,positive){if(assert(!num.isZero()),this.isZero())return{div:new BN(0),mod:new BN(0)};var div,mod,res;return this.negative!==0&&num.negative===0\?(res=this.neg().divmod(num,mode),mode!==\"mod\"&&(div=res.div.neg()),mode!==\"div\"&&(mod=res.mod.neg(),positive&&mod.negative!==0&&mod.iadd(num)),{div,mod}):this.negative===0&&num.negative!==0\?(res=this.divmod(num.neg(),mode),mode!==\"mod\"&&(div=res.div.neg()),{div,mod:res.mod}):(this.negative&num.negative)!==0\?(res=this.neg().divmod(num.neg(),mode),mode!==\"div\"&&(mod=res.mod.neg(),positive&&mod.negative!==0&&mod.isub(num)),{div:res.div,mod}):num.length>this.length||this.cmp(num)<0\?{div:new BN(0),mod:this}:num.length===1\?mode===\"div\"\?{div:this.divn(num.words[0]),mod:null}:mode===\"mod\"\?{div:null,mod:new BN(this.modn(num.words[0]))}:{div:this.divn(num.words[0]),mod:new BN(this.modn(num.words[0]))}:this._wordDiv(num,mode)},BN.prototype.div=function(num){return this.divmod(num,\"div\",!1).div},BN.prototype.mod=function(num){return this.divmod(num,\"mod\",!1).mod},BN.prototype.umod=function(num){return this.divmod(num,\"mod\",!0).mod},BN.prototype.divRound=function(num){var dm=this.divmod(num);if(dm.mod.isZero())return dm.div;var mod=dm.div.negative!==0\?dm.mod.isub(num):dm.mod,half=num.ushrn(1),r2=num.andln(1),cmp=mod.cmp(half);return cmp<0||r2===1&&cmp===0\?dm.div:dm.div.negative!==0\?dm.div.isubn(1):dm.div.iaddn(1)},BN.prototype.modn=function(num){assert(num<=67108863);for(var p=(1<<26)%num,acc=0,i=this.length-1;i>=0;i--)acc=(p*acc+(this.words[i]|0))%num;return acc},BN.prototype.idivn=function(num){assert(num<=67108863);for(var carry=0,i=this.length-1;i>=0;i--){var w=(this.words[i]|0)+carry*67108864;this.words[i]=w/num|0,carry=w%num}return this.strip()},BN.prototype.divn=function(num){return this.clone().idivn(num)},BN.prototype.egcd=function(p){assert(p.negative===0),assert(!p.isZero());var x=this,y=p.clone();x.negative!==0\?x=x.umod(p):x=x.clone();for(var A=new BN(1),B=new BN(0),C=new BN(0),D=new BN(1),g=0;x.isEven()&&y.isEven();)x.iushrn(1),y.iushrn(1),++g;for(var yp=y.clone(),xp=x.clone();!x.isZero();){for(var i=0,im=1;(x.words[0]&im)===0&&i<26;++i,im<<=1);if(i>0)for(x.iushrn(i);i-- >0;)(A.isOdd()||B.isOdd())&&(A.iadd(yp),B.isub(xp)),A.iushrn(1),B.iushrn(1);for(var j=0,jm=1;(y.words[0]&jm)===0&&j<26;++j,jm<<=1);if(j>0)for(y.iushrn(j);j-- >0;)(C.isOdd()||D.isOdd())&&(C.iadd(yp),D.isub(xp)),C.iushrn(1),D.iushrn(1);x.cmp(y)>=0\?(x.isub(y),A.isub(C),B.isub(D)):(y.isub(x),C.isub(A),D.isub(B))}return{a:C,b:D,gcd:y.iushln(g)}},BN.prototype._invmp=function(p){assert(p.negative===0),assert(!p.isZero());var a=this,b=p.clone();a.negative!==0\?a=a.umod(p):a=a.clone();for(var x1=new BN(1),x2=new BN(0),delta=b.clone();a.cmpn(1)>0&&b.cmpn(1)>0;){for(var i=0,im=1;(a.words[0]&im)===0&&i<26;++i,im<<=1);if(i>0)for(a.iushrn(i);i-- >0;)x1.isOdd()&&x1.iadd(delta),x1.iushrn(1);for(var j=0,jm=1;(b.words[0]&jm)===0&&j<26;++j,jm<<=1);if(j>0)for(b.iushrn(j);j-- >0;)x2.isOdd()&&x2.iadd(delta),x2.iushrn(1);a.cmp(b)>=0\?(a.isub(b),x1.isub(x2)):(b.isub(a),x2.isub(x1))}var res;return a.cmpn(1)===0\?res=x1:res=x2,res.cmpn(0)<0&&res.iadd(p),res},BN.prototype.gcd=function(num){if(this.isZero())return num.abs();if(num.isZero())return this.abs();var a=this.clone(),b=num.clone();a.negative=0,b.negative=0;for(var shift=0;a.isEven()&&b.isEven();shift++)a.iushrn(1),b.iushrn(1);do{for(;a.isEven();)a.iushrn(1);for(;b.isEven();)b.iushrn(1);var r=a.cmp(b);if(r<0){var t=a;a=b,b=t}else if(r===0||b.cmpn(1)===0)break;a.isub(b)}while(!0);return b.iushln(shift)},BN.prototype.invm=function(num){return this.egcd(num).a.umod(num)},BN.prototype.isEven=function(){return(this.words[0]&1)===0},BN.prototype.isOdd=function(){return(this.words[0]&1)===1},BN.prototype.andln=function(num){return this.words[0]&num},BN.prototype.bincn=function(bit){assert(typeof bit==\"number\");var r=bit%26,s=(bit-r)/26,q=1<>>26,w&=67108863,this.words[i]=w}return carry!==0&&(this.words[i]=carry,this.length++),this},BN.prototype.isZero=function(){return this.length===1&&this.words[0]===0},BN.prototype.cmpn=function(num){var negative=num<0;if(this.negative!==0&&!negative)return-1;if(this.negative===0&&negative)return 1;this.strip();var res;if(this.length>1)res=1;else{negative&&(num=-num),assert(num<=67108863,\"Number is too big\");var w=this.words[0]|0;res=w===num\?0:wnum.length)return 1;if(this.length=0;i--){var a=this.words[i]|0,b=num.words[i]|0;if(a!==b){ab&&(res=1);break}}return res},BN.prototype.gtn=function(num){return this.cmpn(num)===1},BN.prototype.gt=function(num){return this.cmp(num)===1},BN.prototype.gten=function(num){return this.cmpn(num)>=0},BN.prototype.gte=function(num){return this.cmp(num)>=0},BN.prototype.ltn=function(num){return this.cmpn(num)===-1},BN.prototype.lt=function(num){return this.cmp(num)===-1},BN.prototype.lten=function(num){return this.cmpn(num)<=0},BN.prototype.lte=function(num){return this.cmp(num)<=0},BN.prototype.eqn=function(num){return this.cmpn(num)===0},BN.prototype.eq=function(num){return this.cmp(num)===0},BN.red=function(num){return new Red(num)},BN.prototype.toRed=function(ctx){return assert(!this.red,\"Already a number in reduction context\"),assert(this.negative===0,\"red works only with positives\"),ctx.convertTo(this)._forceRed(ctx)},BN.prototype.fromRed=function(){return assert(this.red,\"fromRed works only with numbers in reduction context\"),this.red.convertFrom(this)},BN.prototype._forceRed=function(ctx){return this.red=ctx,this},BN.prototype.forceRed=function(ctx){return assert(!this.red,\"Already a number in reduction context\"),this._forceRed(ctx)},BN.prototype.redAdd=function(num){return assert(this.red,\"redAdd works only with red numbers\"),this.red.add(this,num)},BN.prototype.redIAdd=function(num){return assert(this.red,\"redIAdd works only with red numbers\"),this.red.iadd(this,num)},BN.prototype.redSub=function(num){return assert(this.red,\"redSub works only with red numbers\"),this.red.sub(this,num)},BN.prototype.redISub=function(num){return assert(this.red,\"redISub works only with red numbers\"),this.red.isub(this,num)},BN.prototype.redShl=function(num){return assert(this.red,\"redShl works only with red numbers\"),this.red.shl(this,num)},BN.prototype.redMul=function(num){return assert(this.red,\"redMul works only with red numbers\"),this.red._verify2(this,num),this.red.mul(this,num)},BN.prototype.redIMul=function(num){return assert(this.red,\"redMul works only with red numbers\"),this.red._verify2(this,num),this.red.imul(this,num)},BN.prototype.redSqr=function(){return assert(this.red,\"redSqr works only with red numbers\"),this.red._verify1(this),this.red.sqr(this)},BN.prototype.redISqr=function(){return assert(this.red,\"redISqr works only with red numbers\"),this.red._verify1(this),this.red.isqr(this)},BN.prototype.redSqrt=function(){return assert(this.red,\"redSqrt works only with red numbers\"),this.red._verify1(this),this.red.sqrt(this)},BN.prototype.redInvm=function(){return assert(this.red,\"redInvm works only with red numbers\"),this.red._verify1(this),this.red.invm(this)},BN.prototype.redNeg=function(){return assert(this.red,\"redNeg works only with red numbers\"),this.red._verify1(this),this.red.neg(this)},BN.prototype.redPow=function(num){return assert(this.red&&!num.red,\"redPow(normalNum)\"),this.red._verify1(this),this.red.pow(this,num)};var primes={k256:null,p224:null,p192:null,p25519:null};function MPrime(name,p){this.name=name,this.p=new BN(p,16),this.n=this.p.bitLength(),this.k=new BN(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}MPrime.prototype._tmp=function(){var tmp=new BN(null);return tmp.words=new Array(Math.ceil(this.n/13)),tmp},MPrime.prototype.ireduce=function(num){var r=num,rlen;do this.split(r,this.tmp),r=this.imulK(r),r=r.iadd(this.tmp),rlen=r.bitLength();while(rlen>this.n);var cmp=rlen0\?r.isub(this.p):r.strip!==void 0\?r.strip():r._strip(),r},MPrime.prototype.split=function(input,out){input.iushrn(this.n,0,out)},MPrime.prototype.imulK=function(num){return num.imul(this.k)};function K256(){MPrime.call(this,\"k256\",\"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f\")}inherits(K256,MPrime),K256.prototype.split=function(input,output){for(var mask=4194303,outLen=Math.min(input.length,9),i=0;i>>22,prev=next}prev>>>=22,input.words[i-10]=prev,prev===0&&input.length>10\?input.length-=10:input.length-=9},K256.prototype.imulK=function(num){num.words[num.length]=0,num.words[num.length+1]=0,num.length+=2;for(var lo=0,i=0;i>>=26,num.words[i]=lo,carry=hi}return carry!==0&&(num.words[num.length++]=carry),num},BN._prime=function(name){if(primes[name])return primes[name];var prime2;if(name===\"k256\")prime2=new K256;else if(name===\"p224\")prime2=new P224;else if(name===\"p192\")prime2=new P192;else if(name===\"p25519\")prime2=new P25519;else throw new Error(\"Unknown prime \"+name);return primes[name]=prime2,prime2};function Red(m){if(typeof m==\"string\"){var prime=BN._prime(m);this.m=prime.p,this.prime=prime}else assert(m.gtn(1),\"modulus must be greater than 1\"),this.m=m,this.prime=null}Red.prototype._verify1=function(a){assert(a.negative===0,\"red works only with positives\"),assert(a.red,\"red works only with red numbers\")},Red.prototype._verify2=function(a,b){assert((a.negative|b.negative)===0,\"red works only with positives\"),assert(a.red&&a.red===b.red,\"red works only with red numbers\")},Red.prototype.imod=function(a){return this.prime\?this.prime.ireduce(a)._forceRed(this):a.umod(this.m)._forceRed(this)},Red.prototype.neg=function(a){return a.isZero()\?a.clone():this.m.sub(a)._forceRed(this)},Red.prototype.add=function(a,b){this._verify2(a,b);var res=a.add(b);return res.cmp(this.m)>=0&&res.isub(this.m),res._forceRed(this)},Red.prototype.iadd=function(a,b){this._verify2(a,b);var res=a.iadd(b);return res.cmp(this.m)>=0&&res.isub(this.m),res},Red.prototype.sub=function(a,b){this._verify2(a,b);var res=a.sub(b);return res.cmpn(0)<0&&res.iadd(this.m),res._forceRed(this)},Red.prototype.isub=function(a,b){this._verify2(a,b);var res=a.isub(b);return res.cmpn(0)<0&&res.iadd(this.m),res},Red.prototype.shl=function(a,num){return this._verify1(a),this.imod(a.ushln(num))},Red.prototype.imul=function(a,b){return this._verify2(a,b),this.imod(a.imul(b))},Red.prototype.mul=function(a,b){return this._verify2(a,b),this.imod(a.mul(b))},Red.prototype.isqr=function(a){return this.imul(a,a.clone())},Red.prototype.sqr=function(a){return this.mul(a,a)},Red.prototype.sqrt=function(a){if(a.isZero())return a.clone();var mod3=this.m.andln(3);if(assert(mod3%2===1),mod3===3){var pow=this.m.add(new BN(1)).iushrn(2);return this.pow(a,pow)}for(var q=this.m.subn(1),s=0;!q.isZero()&&q.andln(1)===0;)s++,q.iushrn(1);assert(!q.isZero());var one=new BN(1).toRed(this),nOne=one.redNeg(),lpow=this.m.subn(1).iushrn(1),z=this.m.bitLength();for(z=new BN(2*z*z).toRed(this);this.pow(z,lpow).cmp(nOne)!==0;)z.redIAdd(nOne);for(var c=this.pow(z,q),r=this.pow(a,q.addn(1).iushrn(1)),t=this.pow(a,q),m=s;t.cmp(one)!==0;){for(var tmp=t,i=0;tmp.cmp(one)!==0;i++)tmp=tmp.redSqr();assert(i=0;i--){for(var word=num.words[i],j=start-1;j>=0;j--){var bit=word>>j&1;if(res!==wnd[0]&&(res=this.sqr(res)),bit===0&¤t===0){currentLen=0;continue}current<<=1,current|=bit,currentLen++,!(currentLen!==windowSize&&(i!==0||j!==0))&&(res=this.mul(res,wnd[current]),currentLen=0,current=0)}start=26}return res},Red.prototype.convertTo=function(num){var r=num.umod(this.m);return r===num\?r.clone():r},Red.prototype.convertFrom=function(num){var res=num.clone();return res.red=null,res},BN.mont=function(num){return new Mont(num)};function Mont(m){Red.call(this,m),this.shift=this.m.bitLength(),this.shift%26!==0&&(this.shift+=26-this.shift%26),this.r=new BN(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}inherits(Mont,Red),Mont.prototype.convertTo=function(num){return this.imod(num.ushln(this.shift))},Mont.prototype.convertFrom=function(num){var r=this.imod(num.mul(this.rinv));return r.red=null,r},Mont.prototype.imul=function(a,b){if(a.isZero()||b.isZero())return a.words[0]=0,a.length=1,a;var t=a.imul(b),c=t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),u=t.isub(c).iushrn(this.shift),res=u;return u.cmp(this.m)>=0\?res=u.isub(this.m):u.cmpn(0)<0&&(res=u.iadd(this.m)),res._forceRed(this)},Mont.prototype.mul=function(a,b){if(a.isZero()||b.isZero())return new BN(0)._forceRed(this);var t=a.mul(b),c=t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),u=t.isub(c).iushrn(this.shift),res=u;return u.cmp(this.m)>=0\?res=u.isub(this.m):u.cmpn(0)<0&&(res=u.iadd(this.m)),res._forceRed(this)},Mont.prototype.invm=function(a){var res=this.imod(a._invmp(this.m).mul(this.r2));return res._forceRed(this)}})(typeof module>\"u\"||module,exports)}}),require_browser9=__commonJS({\"node_modules/create-ecdh/browser.js\"(exports,module){var elliptic=require_elliptic(),BN=require_bn6();module.exports=function(curve){return new ECDH(curve)};var aliases={secp256k1:{name:\"secp256k1\",byteLength:32},secp224r1:{name:\"p224\",byteLength:28},prime256v1:{name:\"p256\",byteLength:32},prime192v1:{name:\"p192\",byteLength:24},ed25519:{name:\"ed25519\",byteLength:32},secp384r1:{name:\"p384\",byteLength:48},secp521r1:{name:\"p521\",byteLength:66}};aliases.p224=aliases.secp224r1,aliases.p256=aliases.secp256r1=aliases.prime256v1,aliases.p192=aliases.secp192r1=aliases.prime192v1,aliases.p384=aliases.secp384r1,aliases.p521=aliases.secp521r1;function ECDH(curve){this.curveType=aliases[curve],this.curveType||(this.curveType={name:curve}),this.curve=new elliptic.ec(this.curveType.name),this.keys=void 0}ECDH.prototype.generateKeys=function(enc,format){return this.keys=this.curve.genKeyPair(),this.getPublicKey(enc,format)},ECDH.prototype.computeSecret=function(other,inenc,enc){inenc=inenc||\"utf8\",Buffer.isBuffer(other)||(other=new Buffer(other,inenc));var otherPub=this.curve.keyFromPublic(other).getPublic(),out=otherPub.mul(this.keys.getPrivate()).getX();return formatReturnValue(out,enc,this.curveType.byteLength)},ECDH.prototype.getPublicKey=function(enc,format){var key=this.keys.getPublic(format===\"compressed\",!0);return format===\"hybrid\"&&(key[key.length-1]%2\?key[0]=7:key[0]=6),formatReturnValue(key,enc)},ECDH.prototype.getPrivateKey=function(enc){return formatReturnValue(this.keys.getPrivate(),enc)},ECDH.prototype.setPublicKey=function(pub,enc){return enc=enc||\"utf8\",Buffer.isBuffer(pub)||(pub=new Buffer(pub,enc)),this.keys._importPublic(pub),this},ECDH.prototype.setPrivateKey=function(priv,enc){enc=enc||\"utf8\",Buffer.isBuffer(priv)||(priv=new Buffer(priv,enc));var _priv=new BN(priv);return _priv=_priv.toString(16),this.keys=this.curve.genKeyPair(),this.keys._importPrivate(_priv),this};function formatReturnValue(bn,enc,len){Array.isArray(bn)||(bn=bn.toArray());var buf=new Buffer(bn);if(len&&buf.length0\?left:right},BN.min=function(left,right){return left.cmp(right)<0\?left:right},BN.prototype._init=function(number,base,endian){if(typeof number==\"number\")return this._initNumber(number,base,endian);if(typeof number==\"object\")return this._initArray(number,base,endian);base===\"hex\"&&(base=16),assert(base===(base|0)&&base>=2&&base<=36),number=number.toString().replace(/\\s+/g,\"\");var start=0;number[0]===\"-\"&&(start++,this.negative=1),start=0;i-=3)w=number[i]|number[i-1]<<8|number[i-2]<<16,this.words[j]|=w<>>26-off&67108863,off+=24,off>=26&&(off-=26,j++);else if(endian===\"le\")for(i=0,j=0;i>>26-off&67108863,off+=24,off>=26&&(off-=26,j++);return this.strip()};function parseHex4Bits(string,index){var c=string.charCodeAt(index);return c>=65&&c<=70\?c-55:c>=97&&c<=102\?c-87:c-48&15}function parseHexByte(string,lowerBound,index){var r=parseHex4Bits(string,index);return index-1>=lowerBound&&(r|=parseHex4Bits(string,index-1)<<4),r}BN.prototype._parseHex=function(number,start,endian){this.length=Math.ceil((number.length-start)/6),this.words=new Array(this.length);for(var i=0;i=start;i-=2)w=parseHexByte(number,start,i)<=18\?(off-=18,j+=1,this.words[j]|=w>>>26):off+=8;else{var parseLength=number.length-start;for(i=parseLength%2===0\?start+1:start;i=18\?(off-=18,j+=1,this.words[j]|=w>>>26):off+=8}this.strip()};function parseBase(str,start,end,mul){for(var r=0,len=Math.min(str.length,end),i=start;i=49\?r+=c-49+10:c>=17\?r+=c-17+10:r+=c}return r}BN.prototype._parseBase=function(number,base,start){this.words=[0],this.length=1;for(var limbLen=0,limbPow=1;limbPow<=67108863;limbPow*=base)limbLen++;limbLen--,limbPow=limbPow/base|0;for(var total=number.length-start,mod=total%limbLen,end=Math.min(total,total-mod)+start,word=0,i=start;i1&&this.words[this.length-1]===0;)this.length--;return this._normSign()},BN.prototype._normSign=function(){return this.length===1&&this.words[0]===0&&(this.negative=0),this},BN.prototype.inspect=function(){return(this.red\?\"\"};var zeros=[\"\",\"0\",\"00\",\"000\",\"0000\",\"00000\",\"000000\",\"0000000\",\"00000000\",\"000000000\",\"0000000000\",\"00000000000\",\"000000000000\",\"0000000000000\",\"00000000000000\",\"000000000000000\",\"0000000000000000\",\"00000000000000000\",\"000000000000000000\",\"0000000000000000000\",\"00000000000000000000\",\"000000000000000000000\",\"0000000000000000000000\",\"00000000000000000000000\",\"000000000000000000000000\",\"0000000000000000000000000\"],groupSizes=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],groupBases=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64000000,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,24300000,28629151,33554432,39135393,45435424,52521875,60466176];BN.prototype.toString=function(base,padding){base=base||10,padding=padding|0||1;var out;if(base===16||base===\"hex\"){out=\"\";for(var off=0,carry=0,i=0;i>>24-off&16777215,carry!==0||i!==this.length-1\?out=zeros[6-word.length]+word+out:out=word+out,off+=2,off>=26&&(off-=26,i--)}for(carry!==0&&(out=carry.toString(16)+out);out.length%padding!==0;)out=\"0\"+out;return this.negative!==0&&(out=\"-\"+out),out}if(base===(base|0)&&base>=2&&base<=36){var groupSize=groupSizes[base],groupBase=groupBases[base];out=\"\";var c=this.clone();for(c.negative=0;!c.isZero();){var r=c.modn(groupBase).toString(base);c=c.idivn(groupBase),c.isZero()\?out=r+out:out=zeros[groupSize-r.length]+r+out}for(this.isZero()&&(out=\"0\"+out);out.length%padding!==0;)out=\"0\"+out;return this.negative!==0&&(out=\"-\"+out),out}assert(!1,\"Base should be between 2 and 36\")},BN.prototype.toNumber=function(){var ret=this.words[0];return this.length===2\?ret+=this.words[1]*67108864:this.length===3&&this.words[2]===1\?ret+=4503599627370496+this.words[1]*67108864:this.length>2&&assert(!1,\"Number can only safely store up to 53 bits\"),this.negative!==0\?-ret:ret},BN.prototype.toJSON=function(){return this.toString(16)},BN.prototype.toBuffer=function(endian,length){return assert(typeof Buffer2<\"u\"),this.toArrayLike(Buffer2,endian,length)},BN.prototype.toArray=function(endian,length){return this.toArrayLike(Array,endian,length)},BN.prototype.toArrayLike=function(ArrayType,endian,length){var byteLength=this.byteLength(),reqLength=length||Math.max(1,byteLength);assert(byteLength<=reqLength,\"byte array longer than desired length\"),assert(reqLength>0,\"Requested array length <= 0\"),this.strip();var littleEndian=endian===\"le\",res=new ArrayType(reqLength),b,i,q=this.clone();if(littleEndian){for(i=0;!q.isZero();i++)b=q.andln(255),q.iushrn(8),res[i]=b;for(;i=4096&&(r+=13,t>>>=13),t>=64&&(r+=7,t>>>=7),t>=8&&(r+=4,t>>>=4),t>=2&&(r+=2,t>>>=2),r+t},BN.prototype._zeroBits=function(w){if(w===0)return 26;var t=w,r=0;return(t&8191)===0&&(r+=13,t>>>=13),(t&127)===0&&(r+=7,t>>>=7),(t&15)===0&&(r+=4,t>>>=4),(t&3)===0&&(r+=2,t>>>=2),(t&1)===0&&r++,r},BN.prototype.bitLength=function(){var w=this.words[this.length-1],hi=this._countBits(w);return(this.length-1)*26+hi};function toBitArray(num){for(var w=new Array(num.bitLength()),bit=0;bit>>wbit}return w}BN.prototype.zeroBits=function(){if(this.isZero())return 0;for(var r=0,i=0;inum.length\?this.clone().ior(num):num.clone().ior(this)},BN.prototype.uor=function(num){return this.length>num.length\?this.clone().iuor(num):num.clone().iuor(this)},BN.prototype.iuand=function(num){var b;this.length>num.length\?b=num:b=this;for(var i=0;inum.length\?this.clone().iand(num):num.clone().iand(this)},BN.prototype.uand=function(num){return this.length>num.length\?this.clone().iuand(num):num.clone().iuand(this)},BN.prototype.iuxor=function(num){var a,b;this.length>num.length\?(a=this,b=num):(a=num,b=this);for(var i=0;inum.length\?this.clone().ixor(num):num.clone().ixor(this)},BN.prototype.uxor=function(num){return this.length>num.length\?this.clone().iuxor(num):num.clone().iuxor(this)},BN.prototype.inotn=function(width){assert(typeof width==\"number\"&&width>=0);var bytesNeeded=Math.ceil(width/26)|0,bitsLeft=width%26;this._expand(bytesNeeded),bitsLeft>0&&bytesNeeded--;for(var i=0;i0&&(this.words[i]=~this.words[i]&67108863>>26-bitsLeft),this.strip()},BN.prototype.notn=function(width){return this.clone().inotn(width)},BN.prototype.setn=function(bit,val){assert(typeof bit==\"number\"&&bit>=0);var off=bit/26|0,wbit=bit%26;return this._expand(off+1),val\?this.words[off]=this.words[off]|1<num.length\?(a=this,b=num):(a=num,b=this);for(var carry=0,i=0;i>>26;for(;carry!==0&&i>>26;if(this.length=a.length,carry!==0)this.words[this.length]=carry,this.length++;else if(a!==this)for(;inum.length\?this.clone().iadd(num):num.clone().iadd(this)},BN.prototype.isub=function(num){if(num.negative!==0){num.negative=0;var r=this.iadd(num);return num.negative=1,r._normSign()}else if(this.negative!==0)return this.negative=0,this.iadd(num),this.negative=1,this._normSign();var cmp=this.cmp(num);if(cmp===0)return this.negative=0,this.length=1,this.words[0]=0,this;var a,b;cmp>0\?(a=this,b=num):(a=num,b=this);for(var carry=0,i=0;i>26,this.words[i]=r&67108863;for(;carry!==0&&i>26,this.words[i]=r&67108863;if(carry===0&&i>>26,rword=carry&67108863,maxJ=Math.min(k,num.length-1),j=Math.max(0,k-self2.length+1);j<=maxJ;j++){var i=k-j|0;a=self2.words[i]|0,b=num.words[j]|0,r=a*b+rword,ncarry+=r/67108864|0,rword=r&67108863}out.words[k]=rword|0,carry=ncarry|0}return carry!==0\?out.words[k]=carry|0:out.length--,out.strip()}var comb10MulTo=function(self2,num,out){var a=self2.words,b=num.words,o=out.words,c=0,lo,mid,hi,a0=a[0]|0,al0=a0&8191,ah0=a0>>>13,a1=a[1]|0,al1=a1&8191,ah1=a1>>>13,a2=a[2]|0,al2=a2&8191,ah2=a2>>>13,a3=a[3]|0,al3=a3&8191,ah3=a3>>>13,a4=a[4]|0,al4=a4&8191,ah4=a4>>>13,a5=a[5]|0,al5=a5&8191,ah5=a5>>>13,a6=a[6]|0,al6=a6&8191,ah6=a6>>>13,a7=a[7]|0,al7=a7&8191,ah7=a7>>>13,a8=a[8]|0,al8=a8&8191,ah8=a8>>>13,a9=a[9]|0,al9=a9&8191,ah9=a9>>>13,b0=b[0]|0,bl0=b0&8191,bh0=b0>>>13,b1=b[1]|0,bl1=b1&8191,bh1=b1>>>13,b2=b[2]|0,bl2=b2&8191,bh2=b2>>>13,b3=b[3]|0,bl3=b3&8191,bh3=b3>>>13,b4=b[4]|0,bl4=b4&8191,bh4=b4>>>13,b5=b[5]|0,bl5=b5&8191,bh5=b5>>>13,b6=b[6]|0,bl6=b6&8191,bh6=b6>>>13,b7=b[7]|0,bl7=b7&8191,bh7=b7>>>13,b8=b[8]|0,bl8=b8&8191,bh8=b8>>>13,b9=b[9]|0,bl9=b9&8191,bh9=b9>>>13;out.negative=self2.negative^num.negative,out.length=19,lo=Math.imul(al0,bl0),mid=Math.imul(al0,bh0),mid=mid+Math.imul(ah0,bl0)|0,hi=Math.imul(ah0,bh0);var w0=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w0>>>26)|0,w0&=67108863,lo=Math.imul(al1,bl0),mid=Math.imul(al1,bh0),mid=mid+Math.imul(ah1,bl0)|0,hi=Math.imul(ah1,bh0),lo=lo+Math.imul(al0,bl1)|0,mid=mid+Math.imul(al0,bh1)|0,mid=mid+Math.imul(ah0,bl1)|0,hi=hi+Math.imul(ah0,bh1)|0;var w1=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w1>>>26)|0,w1&=67108863,lo=Math.imul(al2,bl0),mid=Math.imul(al2,bh0),mid=mid+Math.imul(ah2,bl0)|0,hi=Math.imul(ah2,bh0),lo=lo+Math.imul(al1,bl1)|0,mid=mid+Math.imul(al1,bh1)|0,mid=mid+Math.imul(ah1,bl1)|0,hi=hi+Math.imul(ah1,bh1)|0,lo=lo+Math.imul(al0,bl2)|0,mid=mid+Math.imul(al0,bh2)|0,mid=mid+Math.imul(ah0,bl2)|0,hi=hi+Math.imul(ah0,bh2)|0;var w2=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w2>>>26)|0,w2&=67108863,lo=Math.imul(al3,bl0),mid=Math.imul(al3,bh0),mid=mid+Math.imul(ah3,bl0)|0,hi=Math.imul(ah3,bh0),lo=lo+Math.imul(al2,bl1)|0,mid=mid+Math.imul(al2,bh1)|0,mid=mid+Math.imul(ah2,bl1)|0,hi=hi+Math.imul(ah2,bh1)|0,lo=lo+Math.imul(al1,bl2)|0,mid=mid+Math.imul(al1,bh2)|0,mid=mid+Math.imul(ah1,bl2)|0,hi=hi+Math.imul(ah1,bh2)|0,lo=lo+Math.imul(al0,bl3)|0,mid=mid+Math.imul(al0,bh3)|0,mid=mid+Math.imul(ah0,bl3)|0,hi=hi+Math.imul(ah0,bh3)|0;var w3=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w3>>>26)|0,w3&=67108863,lo=Math.imul(al4,bl0),mid=Math.imul(al4,bh0),mid=mid+Math.imul(ah4,bl0)|0,hi=Math.imul(ah4,bh0),lo=lo+Math.imul(al3,bl1)|0,mid=mid+Math.imul(al3,bh1)|0,mid=mid+Math.imul(ah3,bl1)|0,hi=hi+Math.imul(ah3,bh1)|0,lo=lo+Math.imul(al2,bl2)|0,mid=mid+Math.imul(al2,bh2)|0,mid=mid+Math.imul(ah2,bl2)|0,hi=hi+Math.imul(ah2,bh2)|0,lo=lo+Math.imul(al1,bl3)|0,mid=mid+Math.imul(al1,bh3)|0,mid=mid+Math.imul(ah1,bl3)|0,hi=hi+Math.imul(ah1,bh3)|0,lo=lo+Math.imul(al0,bl4)|0,mid=mid+Math.imul(al0,bh4)|0,mid=mid+Math.imul(ah0,bl4)|0,hi=hi+Math.imul(ah0,bh4)|0;var w4=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w4>>>26)|0,w4&=67108863,lo=Math.imul(al5,bl0),mid=Math.imul(al5,bh0),mid=mid+Math.imul(ah5,bl0)|0,hi=Math.imul(ah5,bh0),lo=lo+Math.imul(al4,bl1)|0,mid=mid+Math.imul(al4,bh1)|0,mid=mid+Math.imul(ah4,bl1)|0,hi=hi+Math.imul(ah4,bh1)|0,lo=lo+Math.imul(al3,bl2)|0,mid=mid+Math.imul(al3,bh2)|0,mid=mid+Math.imul(ah3,bl2)|0,hi=hi+Math.imul(ah3,bh2)|0,lo=lo+Math.imul(al2,bl3)|0,mid=mid+Math.imul(al2,bh3)|0,mid=mid+Math.imul(ah2,bl3)|0,hi=hi+Math.imul(ah2,bh3)|0,lo=lo+Math.imul(al1,bl4)|0,mid=mid+Math.imul(al1,bh4)|0,mid=mid+Math.imul(ah1,bl4)|0,hi=hi+Math.imul(ah1,bh4)|0,lo=lo+Math.imul(al0,bl5)|0,mid=mid+Math.imul(al0,bh5)|0,mid=mid+Math.imul(ah0,bl5)|0,hi=hi+Math.imul(ah0,bh5)|0;var w5=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w5>>>26)|0,w5&=67108863,lo=Math.imul(al6,bl0),mid=Math.imul(al6,bh0),mid=mid+Math.imul(ah6,bl0)|0,hi=Math.imul(ah6,bh0),lo=lo+Math.imul(al5,bl1)|0,mid=mid+Math.imul(al5,bh1)|0,mid=mid+Math.imul(ah5,bl1)|0,hi=hi+Math.imul(ah5,bh1)|0,lo=lo+Math.imul(al4,bl2)|0,mid=mid+Math.imul(al4,bh2)|0,mid=mid+Math.imul(ah4,bl2)|0,hi=hi+Math.imul(ah4,bh2)|0,lo=lo+Math.imul(al3,bl3)|0,mid=mid+Math.imul(al3,bh3)|0,mid=mid+Math.imul(ah3,bl3)|0,hi=hi+Math.imul(ah3,bh3)|0,lo=lo+Math.imul(al2,bl4)|0,mid=mid+Math.imul(al2,bh4)|0,mid=mid+Math.imul(ah2,bl4)|0,hi=hi+Math.imul(ah2,bh4)|0,lo=lo+Math.imul(al1,bl5)|0,mid=mid+Math.imul(al1,bh5)|0,mid=mid+Math.imul(ah1,bl5)|0,hi=hi+Math.imul(ah1,bh5)|0,lo=lo+Math.imul(al0,bl6)|0,mid=mid+Math.imul(al0,bh6)|0,mid=mid+Math.imul(ah0,bl6)|0,hi=hi+Math.imul(ah0,bh6)|0;var w6=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w6>>>26)|0,w6&=67108863,lo=Math.imul(al7,bl0),mid=Math.imul(al7,bh0),mid=mid+Math.imul(ah7,bl0)|0,hi=Math.imul(ah7,bh0),lo=lo+Math.imul(al6,bl1)|0,mid=mid+Math.imul(al6,bh1)|0,mid=mid+Math.imul(ah6,bl1)|0,hi=hi+Math.imul(ah6,bh1)|0,lo=lo+Math.imul(al5,bl2)|0,mid=mid+Math.imul(al5,bh2)|0,mid=mid+Math.imul(ah5,bl2)|0,hi=hi+Math.imul(ah5,bh2)|0,lo=lo+Math.imul(al4,bl3)|0,mid=mid+Math.imul(al4,bh3)|0,mid=mid+Math.imul(ah4,bl3)|0,hi=hi+Math.imul(ah4,bh3)|0,lo=lo+Math.imul(al3,bl4)|0,mid=mid+Math.imul(al3,bh4)|0,mid=mid+Math.imul(ah3,bl4)|0,hi=hi+Math.imul(ah3,bh4)|0,lo=lo+Math.imul(al2,bl5)|0,mid=mid+Math.imul(al2,bh5)|0,mid=mid+Math.imul(ah2,bl5)|0,hi=hi+Math.imul(ah2,bh5)|0,lo=lo+Math.imul(al1,bl6)|0,mid=mid+Math.imul(al1,bh6)|0,mid=mid+Math.imul(ah1,bl6)|0,hi=hi+Math.imul(ah1,bh6)|0,lo=lo+Math.imul(al0,bl7)|0,mid=mid+Math.imul(al0,bh7)|0,mid=mid+Math.imul(ah0,bl7)|0,hi=hi+Math.imul(ah0,bh7)|0;var w7=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w7>>>26)|0,w7&=67108863,lo=Math.imul(al8,bl0),mid=Math.imul(al8,bh0),mid=mid+Math.imul(ah8,bl0)|0,hi=Math.imul(ah8,bh0),lo=lo+Math.imul(al7,bl1)|0,mid=mid+Math.imul(al7,bh1)|0,mid=mid+Math.imul(ah7,bl1)|0,hi=hi+Math.imul(ah7,bh1)|0,lo=lo+Math.imul(al6,bl2)|0,mid=mid+Math.imul(al6,bh2)|0,mid=mid+Math.imul(ah6,bl2)|0,hi=hi+Math.imul(ah6,bh2)|0,lo=lo+Math.imul(al5,bl3)|0,mid=mid+Math.imul(al5,bh3)|0,mid=mid+Math.imul(ah5,bl3)|0,hi=hi+Math.imul(ah5,bh3)|0,lo=lo+Math.imul(al4,bl4)|0,mid=mid+Math.imul(al4,bh4)|0,mid=mid+Math.imul(ah4,bl4)|0,hi=hi+Math.imul(ah4,bh4)|0,lo=lo+Math.imul(al3,bl5)|0,mid=mid+Math.imul(al3,bh5)|0,mid=mid+Math.imul(ah3,bl5)|0,hi=hi+Math.imul(ah3,bh5)|0,lo=lo+Math.imul(al2,bl6)|0,mid=mid+Math.imul(al2,bh6)|0,mid=mid+Math.imul(ah2,bl6)|0,hi=hi+Math.imul(ah2,bh6)|0,lo=lo+Math.imul(al1,bl7)|0,mid=mid+Math.imul(al1,bh7)|0,mid=mid+Math.imul(ah1,bl7)|0,hi=hi+Math.imul(ah1,bh7)|0,lo=lo+Math.imul(al0,bl8)|0,mid=mid+Math.imul(al0,bh8)|0,mid=mid+Math.imul(ah0,bl8)|0,hi=hi+Math.imul(ah0,bh8)|0;var w8=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w8>>>26)|0,w8&=67108863,lo=Math.imul(al9,bl0),mid=Math.imul(al9,bh0),mid=mid+Math.imul(ah9,bl0)|0,hi=Math.imul(ah9,bh0),lo=lo+Math.imul(al8,bl1)|0,mid=mid+Math.imul(al8,bh1)|0,mid=mid+Math.imul(ah8,bl1)|0,hi=hi+Math.imul(ah8,bh1)|0,lo=lo+Math.imul(al7,bl2)|0,mid=mid+Math.imul(al7,bh2)|0,mid=mid+Math.imul(ah7,bl2)|0,hi=hi+Math.imul(ah7,bh2)|0,lo=lo+Math.imul(al6,bl3)|0,mid=mid+Math.imul(al6,bh3)|0,mid=mid+Math.imul(ah6,bl3)|0,hi=hi+Math.imul(ah6,bh3)|0,lo=lo+Math.imul(al5,bl4)|0,mid=mid+Math.imul(al5,bh4)|0,mid=mid+Math.imul(ah5,bl4)|0,hi=hi+Math.imul(ah5,bh4)|0,lo=lo+Math.imul(al4,bl5)|0,mid=mid+Math.imul(al4,bh5)|0,mid=mid+Math.imul(ah4,bl5)|0,hi=hi+Math.imul(ah4,bh5)|0,lo=lo+Math.imul(al3,bl6)|0,mid=mid+Math.imul(al3,bh6)|0,mid=mid+Math.imul(ah3,bl6)|0,hi=hi+Math.imul(ah3,bh6)|0,lo=lo+Math.imul(al2,bl7)|0,mid=mid+Math.imul(al2,bh7)|0,mid=mid+Math.imul(ah2,bl7)|0,hi=hi+Math.imul(ah2,bh7)|0,lo=lo+Math.imul(al1,bl8)|0,mid=mid+Math.imul(al1,bh8)|0,mid=mid+Math.imul(ah1,bl8)|0,hi=hi+Math.imul(ah1,bh8)|0,lo=lo+Math.imul(al0,bl9)|0,mid=mid+Math.imul(al0,bh9)|0,mid=mid+Math.imul(ah0,bl9)|0,hi=hi+Math.imul(ah0,bh9)|0;var w9=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w9>>>26)|0,w9&=67108863,lo=Math.imul(al9,bl1),mid=Math.imul(al9,bh1),mid=mid+Math.imul(ah9,bl1)|0,hi=Math.imul(ah9,bh1),lo=lo+Math.imul(al8,bl2)|0,mid=mid+Math.imul(al8,bh2)|0,mid=mid+Math.imul(ah8,bl2)|0,hi=hi+Math.imul(ah8,bh2)|0,lo=lo+Math.imul(al7,bl3)|0,mid=mid+Math.imul(al7,bh3)|0,mid=mid+Math.imul(ah7,bl3)|0,hi=hi+Math.imul(ah7,bh3)|0,lo=lo+Math.imul(al6,bl4)|0,mid=mid+Math.imul(al6,bh4)|0,mid=mid+Math.imul(ah6,bl4)|0,hi=hi+Math.imul(ah6,bh4)|0,lo=lo+Math.imul(al5,bl5)|0,mid=mid+Math.imul(al5,bh5)|0,mid=mid+Math.imul(ah5,bl5)|0,hi=hi+Math.imul(ah5,bh5)|0,lo=lo+Math.imul(al4,bl6)|0,mid=mid+Math.imul(al4,bh6)|0,mid=mid+Math.imul(ah4,bl6)|0,hi=hi+Math.imul(ah4,bh6)|0,lo=lo+Math.imul(al3,bl7)|0,mid=mid+Math.imul(al3,bh7)|0,mid=mid+Math.imul(ah3,bl7)|0,hi=hi+Math.imul(ah3,bh7)|0,lo=lo+Math.imul(al2,bl8)|0,mid=mid+Math.imul(al2,bh8)|0,mid=mid+Math.imul(ah2,bl8)|0,hi=hi+Math.imul(ah2,bh8)|0,lo=lo+Math.imul(al1,bl9)|0,mid=mid+Math.imul(al1,bh9)|0,mid=mid+Math.imul(ah1,bl9)|0,hi=hi+Math.imul(ah1,bh9)|0;var w10=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w10>>>26)|0,w10&=67108863,lo=Math.imul(al9,bl2),mid=Math.imul(al9,bh2),mid=mid+Math.imul(ah9,bl2)|0,hi=Math.imul(ah9,bh2),lo=lo+Math.imul(al8,bl3)|0,mid=mid+Math.imul(al8,bh3)|0,mid=mid+Math.imul(ah8,bl3)|0,hi=hi+Math.imul(ah8,bh3)|0,lo=lo+Math.imul(al7,bl4)|0,mid=mid+Math.imul(al7,bh4)|0,mid=mid+Math.imul(ah7,bl4)|0,hi=hi+Math.imul(ah7,bh4)|0,lo=lo+Math.imul(al6,bl5)|0,mid=mid+Math.imul(al6,bh5)|0,mid=mid+Math.imul(ah6,bl5)|0,hi=hi+Math.imul(ah6,bh5)|0,lo=lo+Math.imul(al5,bl6)|0,mid=mid+Math.imul(al5,bh6)|0,mid=mid+Math.imul(ah5,bl6)|0,hi=hi+Math.imul(ah5,bh6)|0,lo=lo+Math.imul(al4,bl7)|0,mid=mid+Math.imul(al4,bh7)|0,mid=mid+Math.imul(ah4,bl7)|0,hi=hi+Math.imul(ah4,bh7)|0,lo=lo+Math.imul(al3,bl8)|0,mid=mid+Math.imul(al3,bh8)|0,mid=mid+Math.imul(ah3,bl8)|0,hi=hi+Math.imul(ah3,bh8)|0,lo=lo+Math.imul(al2,bl9)|0,mid=mid+Math.imul(al2,bh9)|0,mid=mid+Math.imul(ah2,bl9)|0,hi=hi+Math.imul(ah2,bh9)|0;var w11=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w11>>>26)|0,w11&=67108863,lo=Math.imul(al9,bl3),mid=Math.imul(al9,bh3),mid=mid+Math.imul(ah9,bl3)|0,hi=Math.imul(ah9,bh3),lo=lo+Math.imul(al8,bl4)|0,mid=mid+Math.imul(al8,bh4)|0,mid=mid+Math.imul(ah8,bl4)|0,hi=hi+Math.imul(ah8,bh4)|0,lo=lo+Math.imul(al7,bl5)|0,mid=mid+Math.imul(al7,bh5)|0,mid=mid+Math.imul(ah7,bl5)|0,hi=hi+Math.imul(ah7,bh5)|0,lo=lo+Math.imul(al6,bl6)|0,mid=mid+Math.imul(al6,bh6)|0,mid=mid+Math.imul(ah6,bl6)|0,hi=hi+Math.imul(ah6,bh6)|0,lo=lo+Math.imul(al5,bl7)|0,mid=mid+Math.imul(al5,bh7)|0,mid=mid+Math.imul(ah5,bl7)|0,hi=hi+Math.imul(ah5,bh7)|0,lo=lo+Math.imul(al4,bl8)|0,mid=mid+Math.imul(al4,bh8)|0,mid=mid+Math.imul(ah4,bl8)|0,hi=hi+Math.imul(ah4,bh8)|0,lo=lo+Math.imul(al3,bl9)|0,mid=mid+Math.imul(al3,bh9)|0,mid=mid+Math.imul(ah3,bl9)|0,hi=hi+Math.imul(ah3,bh9)|0;var w12=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w12>>>26)|0,w12&=67108863,lo=Math.imul(al9,bl4),mid=Math.imul(al9,bh4),mid=mid+Math.imul(ah9,bl4)|0,hi=Math.imul(ah9,bh4),lo=lo+Math.imul(al8,bl5)|0,mid=mid+Math.imul(al8,bh5)|0,mid=mid+Math.imul(ah8,bl5)|0,hi=hi+Math.imul(ah8,bh5)|0,lo=lo+Math.imul(al7,bl6)|0,mid=mid+Math.imul(al7,bh6)|0,mid=mid+Math.imul(ah7,bl6)|0,hi=hi+Math.imul(ah7,bh6)|0,lo=lo+Math.imul(al6,bl7)|0,mid=mid+Math.imul(al6,bh7)|0,mid=mid+Math.imul(ah6,bl7)|0,hi=hi+Math.imul(ah6,bh7)|0,lo=lo+Math.imul(al5,bl8)|0,mid=mid+Math.imul(al5,bh8)|0,mid=mid+Math.imul(ah5,bl8)|0,hi=hi+Math.imul(ah5,bh8)|0,lo=lo+Math.imul(al4,bl9)|0,mid=mid+Math.imul(al4,bh9)|0,mid=mid+Math.imul(ah4,bl9)|0,hi=hi+Math.imul(ah4,bh9)|0;var w13=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w13>>>26)|0,w13&=67108863,lo=Math.imul(al9,bl5),mid=Math.imul(al9,bh5),mid=mid+Math.imul(ah9,bl5)|0,hi=Math.imul(ah9,bh5),lo=lo+Math.imul(al8,bl6)|0,mid=mid+Math.imul(al8,bh6)|0,mid=mid+Math.imul(ah8,bl6)|0,hi=hi+Math.imul(ah8,bh6)|0,lo=lo+Math.imul(al7,bl7)|0,mid=mid+Math.imul(al7,bh7)|0,mid=mid+Math.imul(ah7,bl7)|0,hi=hi+Math.imul(ah7,bh7)|0,lo=lo+Math.imul(al6,bl8)|0,mid=mid+Math.imul(al6,bh8)|0,mid=mid+Math.imul(ah6,bl8)|0,hi=hi+Math.imul(ah6,bh8)|0,lo=lo+Math.imul(al5,bl9)|0,mid=mid+Math.imul(al5,bh9)|0,mid=mid+Math.imul(ah5,bl9)|0,hi=hi+Math.imul(ah5,bh9)|0;var w14=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w14>>>26)|0,w14&=67108863,lo=Math.imul(al9,bl6),mid=Math.imul(al9,bh6),mid=mid+Math.imul(ah9,bl6)|0,hi=Math.imul(ah9,bh6),lo=lo+Math.imul(al8,bl7)|0,mid=mid+Math.imul(al8,bh7)|0,mid=mid+Math.imul(ah8,bl7)|0,hi=hi+Math.imul(ah8,bh7)|0,lo=lo+Math.imul(al7,bl8)|0,mid=mid+Math.imul(al7,bh8)|0,mid=mid+Math.imul(ah7,bl8)|0,hi=hi+Math.imul(ah7,bh8)|0,lo=lo+Math.imul(al6,bl9)|0,mid=mid+Math.imul(al6,bh9)|0,mid=mid+Math.imul(ah6,bl9)|0,hi=hi+Math.imul(ah6,bh9)|0;var w15=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w15>>>26)|0,w15&=67108863,lo=Math.imul(al9,bl7),mid=Math.imul(al9,bh7),mid=mid+Math.imul(ah9,bl7)|0,hi=Math.imul(ah9,bh7),lo=lo+Math.imul(al8,bl8)|0,mid=mid+Math.imul(al8,bh8)|0,mid=mid+Math.imul(ah8,bl8)|0,hi=hi+Math.imul(ah8,bh8)|0,lo=lo+Math.imul(al7,bl9)|0,mid=mid+Math.imul(al7,bh9)|0,mid=mid+Math.imul(ah7,bl9)|0,hi=hi+Math.imul(ah7,bh9)|0;var w16=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w16>>>26)|0,w16&=67108863,lo=Math.imul(al9,bl8),mid=Math.imul(al9,bh8),mid=mid+Math.imul(ah9,bl8)|0,hi=Math.imul(ah9,bh8),lo=lo+Math.imul(al8,bl9)|0,mid=mid+Math.imul(al8,bh9)|0,mid=mid+Math.imul(ah8,bl9)|0,hi=hi+Math.imul(ah8,bh9)|0;var w17=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w17>>>26)|0,w17&=67108863,lo=Math.imul(al9,bl9),mid=Math.imul(al9,bh9),mid=mid+Math.imul(ah9,bl9)|0,hi=Math.imul(ah9,bh9);var w18=(c+lo|0)+((mid&8191)<<13)|0;return c=(hi+(mid>>>13)|0)+(w18>>>26)|0,w18&=67108863,o[0]=w0,o[1]=w1,o[2]=w2,o[3]=w3,o[4]=w4,o[5]=w5,o[6]=w6,o[7]=w7,o[8]=w8,o[9]=w9,o[10]=w10,o[11]=w11,o[12]=w12,o[13]=w13,o[14]=w14,o[15]=w15,o[16]=w16,o[17]=w17,o[18]=w18,c!==0&&(o[19]=c,out.length++),out};Math.imul||(comb10MulTo=smallMulTo);function bigMulTo(self2,num,out){out.negative=num.negative^self2.negative,out.length=self2.length+num.length;for(var carry=0,hncarry=0,k=0;k>>26)|0,hncarry+=ncarry>>>26,ncarry&=67108863}out.words[k]=rword,carry=ncarry,ncarry=hncarry}return carry!==0\?out.words[k]=carry:out.length--,out.strip()}function jumboMulTo(self2,num,out){var fftm=new FFTM;return fftm.mulp(self2,num,out)}BN.prototype.mulTo=function(num,out){var res,len=this.length+num.length;return this.length===10&&num.length===10\?res=comb10MulTo(this,num,out):len<63\?res=smallMulTo(this,num,out):len<1024\?res=bigMulTo(this,num,out):res=jumboMulTo(this,num,out),res};function FFTM(x,y){this.x=x,this.y=y}FFTM.prototype.makeRBT=function(N){for(var t=new Array(N),l=BN.prototype._countBits(N)-1,i=0;i>=1;return rb},FFTM.prototype.permute=function(rbt,rws,iws,rtws,itws,N){for(var i=0;i>>1)i++;return 1<>>13,rws[2*i+1]=carry&8191,carry=carry>>>13;for(i=2*len;i>=26,carry+=w/67108864|0,carry+=lo>>>26,this.words[i]=lo&67108863}return carry!==0&&(this.words[i]=carry,this.length++),this},BN.prototype.muln=function(num){return this.clone().imuln(num)},BN.prototype.sqr=function(){return this.mul(this)},BN.prototype.isqr=function(){return this.imul(this.clone())},BN.prototype.pow=function(num){var w=toBitArray(num);if(w.length===0)return new BN(1);for(var res=this,i=0;i=0);var r=bits%26,s=(bits-r)/26,carryMask=67108863>>>26-r<<26-r,i;if(r!==0){var carry=0;for(i=0;i>>26-r}carry&&(this.words[i]=carry,this.length++)}if(s!==0){for(i=this.length-1;i>=0;i--)this.words[i+s]=this.words[i];for(i=0;i=0);var h;hint\?h=(hint-hint%26)/26:h=0;var r=bits%26,s=Math.min((bits-r)/26,this.length),mask=67108863^67108863>>>r<s)for(this.length-=s,i=0;i=0&&(carry!==0||i>=h);i--){var word=this.words[i]|0;this.words[i]=carry<<26-r|word>>>r,carry=word&mask}return maskedWords&&carry!==0&&(maskedWords.words[maskedWords.length++]=carry),this.length===0&&(this.words[0]=0,this.length=1),this.strip()},BN.prototype.ishrn=function(bits,hint,extended){return assert(this.negative===0),this.iushrn(bits,hint,extended)},BN.prototype.shln=function(bits){return this.clone().ishln(bits)},BN.prototype.ushln=function(bits){return this.clone().iushln(bits)},BN.prototype.shrn=function(bits){return this.clone().ishrn(bits)},BN.prototype.ushrn=function(bits){return this.clone().iushrn(bits)},BN.prototype.testn=function(bit){assert(typeof bit==\"number\"&&bit>=0);var r=bit%26,s=(bit-r)/26,q=1<=0);var r=bits%26,s=(bits-r)/26;if(assert(this.negative===0,\"imaskn works only with positive numbers\"),this.length<=s)return this;if(r!==0&&s++,this.length=Math.min(s,this.length),r!==0){var mask=67108863^67108863>>>r<=67108864;i++)this.words[i]-=67108864,i===this.length-1\?this.words[i+1]=1:this.words[i+1]++;return this.length=Math.max(this.length,i+1),this},BN.prototype.isubn=function(num){if(assert(typeof num==\"number\"),assert(num<67108864),num<0)return this.iaddn(-num);if(this.negative!==0)return this.negative=0,this.iaddn(num),this.negative=1,this;if(this.words[0]-=num,this.length===1&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var i=0;i>26)-(right/67108864|0),this.words[i+shift]=w&67108863}for(;i>26,this.words[i+shift]=w&67108863;if(carry===0)return this.strip();for(assert(carry===-1),carry=0,i=0;i>26,this.words[i]=w&67108863;return this.negative=1,this.strip()},BN.prototype._wordDiv=function(num,mode){var shift=this.length-num.length,a=this.clone(),b=num,bhi=b.words[b.length-1]|0,bhiBits=this._countBits(bhi);shift=26-bhiBits,shift!==0&&(b=b.ushln(shift),a.iushln(shift),bhi=b.words[b.length-1]|0);var m=a.length-b.length,q;if(mode!==\"mod\"){q=new BN(null),q.length=m+1,q.words=new Array(q.length);for(var i=0;i=0;j--){var qj=(a.words[b.length+j]|0)*67108864+(a.words[b.length+j-1]|0);for(qj=Math.min(qj/bhi|0,67108863),a._ishlnsubmul(b,qj,j);a.negative!==0;)qj--,a.negative=0,a._ishlnsubmul(b,1,j),a.isZero()||(a.negative^=1);q&&(q.words[j]=qj)}return q&&q.strip(),a.strip(),mode!==\"div\"&&shift!==0&&a.iushrn(shift),{div:q||null,mod:a}},BN.prototype.divmod=function(num,mode,positive){if(assert(!num.isZero()),this.isZero())return{div:new BN(0),mod:new BN(0)};var div,mod,res;return this.negative!==0&&num.negative===0\?(res=this.neg().divmod(num,mode),mode!==\"mod\"&&(div=res.div.neg()),mode!==\"div\"&&(mod=res.mod.neg(),positive&&mod.negative!==0&&mod.iadd(num)),{div,mod}):this.negative===0&&num.negative!==0\?(res=this.divmod(num.neg(),mode),mode!==\"mod\"&&(div=res.div.neg()),{div,mod:res.mod}):(this.negative&num.negative)!==0\?(res=this.neg().divmod(num.neg(),mode),mode!==\"div\"&&(mod=res.mod.neg(),positive&&mod.negative!==0&&mod.isub(num)),{div:res.div,mod}):num.length>this.length||this.cmp(num)<0\?{div:new BN(0),mod:this}:num.length===1\?mode===\"div\"\?{div:this.divn(num.words[0]),mod:null}:mode===\"mod\"\?{div:null,mod:new BN(this.modn(num.words[0]))}:{div:this.divn(num.words[0]),mod:new BN(this.modn(num.words[0]))}:this._wordDiv(num,mode)},BN.prototype.div=function(num){return this.divmod(num,\"div\",!1).div},BN.prototype.mod=function(num){return this.divmod(num,\"mod\",!1).mod},BN.prototype.umod=function(num){return this.divmod(num,\"mod\",!0).mod},BN.prototype.divRound=function(num){var dm=this.divmod(num);if(dm.mod.isZero())return dm.div;var mod=dm.div.negative!==0\?dm.mod.isub(num):dm.mod,half=num.ushrn(1),r2=num.andln(1),cmp=mod.cmp(half);return cmp<0||r2===1&&cmp===0\?dm.div:dm.div.negative!==0\?dm.div.isubn(1):dm.div.iaddn(1)},BN.prototype.modn=function(num){assert(num<=67108863);for(var p=(1<<26)%num,acc=0,i=this.length-1;i>=0;i--)acc=(p*acc+(this.words[i]|0))%num;return acc},BN.prototype.idivn=function(num){assert(num<=67108863);for(var carry=0,i=this.length-1;i>=0;i--){var w=(this.words[i]|0)+carry*67108864;this.words[i]=w/num|0,carry=w%num}return this.strip()},BN.prototype.divn=function(num){return this.clone().idivn(num)},BN.prototype.egcd=function(p){assert(p.negative===0),assert(!p.isZero());var x=this,y=p.clone();x.negative!==0\?x=x.umod(p):x=x.clone();for(var A=new BN(1),B=new BN(0),C=new BN(0),D=new BN(1),g=0;x.isEven()&&y.isEven();)x.iushrn(1),y.iushrn(1),++g;for(var yp=y.clone(),xp=x.clone();!x.isZero();){for(var i=0,im=1;(x.words[0]&im)===0&&i<26;++i,im<<=1);if(i>0)for(x.iushrn(i);i-- >0;)(A.isOdd()||B.isOdd())&&(A.iadd(yp),B.isub(xp)),A.iushrn(1),B.iushrn(1);for(var j=0,jm=1;(y.words[0]&jm)===0&&j<26;++j,jm<<=1);if(j>0)for(y.iushrn(j);j-- >0;)(C.isOdd()||D.isOdd())&&(C.iadd(yp),D.isub(xp)),C.iushrn(1),D.iushrn(1);x.cmp(y)>=0\?(x.isub(y),A.isub(C),B.isub(D)):(y.isub(x),C.isub(A),D.isub(B))}return{a:C,b:D,gcd:y.iushln(g)}},BN.prototype._invmp=function(p){assert(p.negative===0),assert(!p.isZero());var a=this,b=p.clone();a.negative!==0\?a=a.umod(p):a=a.clone();for(var x1=new BN(1),x2=new BN(0),delta=b.clone();a.cmpn(1)>0&&b.cmpn(1)>0;){for(var i=0,im=1;(a.words[0]&im)===0&&i<26;++i,im<<=1);if(i>0)for(a.iushrn(i);i-- >0;)x1.isOdd()&&x1.iadd(delta),x1.iushrn(1);for(var j=0,jm=1;(b.words[0]&jm)===0&&j<26;++j,jm<<=1);if(j>0)for(b.iushrn(j);j-- >0;)x2.isOdd()&&x2.iadd(delta),x2.iushrn(1);a.cmp(b)>=0\?(a.isub(b),x1.isub(x2)):(b.isub(a),x2.isub(x1))}var res;return a.cmpn(1)===0\?res=x1:res=x2,res.cmpn(0)<0&&res.iadd(p),res},BN.prototype.gcd=function(num){if(this.isZero())return num.abs();if(num.isZero())return this.abs();var a=this.clone(),b=num.clone();a.negative=0,b.negative=0;for(var shift=0;a.isEven()&&b.isEven();shift++)a.iushrn(1),b.iushrn(1);do{for(;a.isEven();)a.iushrn(1);for(;b.isEven();)b.iushrn(1);var r=a.cmp(b);if(r<0){var t=a;a=b,b=t}else if(r===0||b.cmpn(1)===0)break;a.isub(b)}while(!0);return b.iushln(shift)},BN.prototype.invm=function(num){return this.egcd(num).a.umod(num)},BN.prototype.isEven=function(){return(this.words[0]&1)===0},BN.prototype.isOdd=function(){return(this.words[0]&1)===1},BN.prototype.andln=function(num){return this.words[0]&num},BN.prototype.bincn=function(bit){assert(typeof bit==\"number\");var r=bit%26,s=(bit-r)/26,q=1<>>26,w&=67108863,this.words[i]=w}return carry!==0&&(this.words[i]=carry,this.length++),this},BN.prototype.isZero=function(){return this.length===1&&this.words[0]===0},BN.prototype.cmpn=function(num){var negative=num<0;if(this.negative!==0&&!negative)return-1;if(this.negative===0&&negative)return 1;this.strip();var res;if(this.length>1)res=1;else{negative&&(num=-num),assert(num<=67108863,\"Number is too big\");var w=this.words[0]|0;res=w===num\?0:wnum.length)return 1;if(this.length=0;i--){var a=this.words[i]|0,b=num.words[i]|0;if(a!==b){ab&&(res=1);break}}return res},BN.prototype.gtn=function(num){return this.cmpn(num)===1},BN.prototype.gt=function(num){return this.cmp(num)===1},BN.prototype.gten=function(num){return this.cmpn(num)>=0},BN.prototype.gte=function(num){return this.cmp(num)>=0},BN.prototype.ltn=function(num){return this.cmpn(num)===-1},BN.prototype.lt=function(num){return this.cmp(num)===-1},BN.prototype.lten=function(num){return this.cmpn(num)<=0},BN.prototype.lte=function(num){return this.cmp(num)<=0},BN.prototype.eqn=function(num){return this.cmpn(num)===0},BN.prototype.eq=function(num){return this.cmp(num)===0},BN.red=function(num){return new Red(num)},BN.prototype.toRed=function(ctx){return assert(!this.red,\"Already a number in reduction context\"),assert(this.negative===0,\"red works only with positives\"),ctx.convertTo(this)._forceRed(ctx)},BN.prototype.fromRed=function(){return assert(this.red,\"fromRed works only with numbers in reduction context\"),this.red.convertFrom(this)},BN.prototype._forceRed=function(ctx){return this.red=ctx,this},BN.prototype.forceRed=function(ctx){return assert(!this.red,\"Already a number in reduction context\"),this._forceRed(ctx)},BN.prototype.redAdd=function(num){return assert(this.red,\"redAdd works only with red numbers\"),this.red.add(this,num)},BN.prototype.redIAdd=function(num){return assert(this.red,\"redIAdd works only with red numbers\"),this.red.iadd(this,num)},BN.prototype.redSub=function(num){return assert(this.red,\"redSub works only with red numbers\"),this.red.sub(this,num)},BN.prototype.redISub=function(num){return assert(this.red,\"redISub works only with red numbers\"),this.red.isub(this,num)},BN.prototype.redShl=function(num){return assert(this.red,\"redShl works only with red numbers\"),this.red.shl(this,num)},BN.prototype.redMul=function(num){return assert(this.red,\"redMul works only with red numbers\"),this.red._verify2(this,num),this.red.mul(this,num)},BN.prototype.redIMul=function(num){return assert(this.red,\"redMul works only with red numbers\"),this.red._verify2(this,num),this.red.imul(this,num)},BN.prototype.redSqr=function(){return assert(this.red,\"redSqr works only with red numbers\"),this.red._verify1(this),this.red.sqr(this)},BN.prototype.redISqr=function(){return assert(this.red,\"redISqr works only with red numbers\"),this.red._verify1(this),this.red.isqr(this)},BN.prototype.redSqrt=function(){return assert(this.red,\"redSqrt works only with red numbers\"),this.red._verify1(this),this.red.sqrt(this)},BN.prototype.redInvm=function(){return assert(this.red,\"redInvm works only with red numbers\"),this.red._verify1(this),this.red.invm(this)},BN.prototype.redNeg=function(){return assert(this.red,\"redNeg works only with red numbers\"),this.red._verify1(this),this.red.neg(this)},BN.prototype.redPow=function(num){return assert(this.red&&!num.red,\"redPow(normalNum)\"),this.red._verify1(this),this.red.pow(this,num)};var primes={k256:null,p224:null,p192:null,p25519:null};function MPrime(name,p){this.name=name,this.p=new BN(p,16),this.n=this.p.bitLength(),this.k=new BN(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}MPrime.prototype._tmp=function(){var tmp=new BN(null);return tmp.words=new Array(Math.ceil(this.n/13)),tmp},MPrime.prototype.ireduce=function(num){var r=num,rlen;do this.split(r,this.tmp),r=this.imulK(r),r=r.iadd(this.tmp),rlen=r.bitLength();while(rlen>this.n);var cmp=rlen0\?r.isub(this.p):r.strip!==void 0\?r.strip():r._strip(),r},MPrime.prototype.split=function(input,out){input.iushrn(this.n,0,out)},MPrime.prototype.imulK=function(num){return num.imul(this.k)};function K256(){MPrime.call(this,\"k256\",\"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f\")}inherits(K256,MPrime),K256.prototype.split=function(input,output){for(var mask=4194303,outLen=Math.min(input.length,9),i=0;i>>22,prev=next}prev>>>=22,input.words[i-10]=prev,prev===0&&input.length>10\?input.length-=10:input.length-=9},K256.prototype.imulK=function(num){num.words[num.length]=0,num.words[num.length+1]=0,num.length+=2;for(var lo=0,i=0;i>>=26,num.words[i]=lo,carry=hi}return carry!==0&&(num.words[num.length++]=carry),num},BN._prime=function(name){if(primes[name])return primes[name];var prime2;if(name===\"k256\")prime2=new K256;else if(name===\"p224\")prime2=new P224;else if(name===\"p192\")prime2=new P192;else if(name===\"p25519\")prime2=new P25519;else throw new Error(\"Unknown prime \"+name);return primes[name]=prime2,prime2};function Red(m){if(typeof m==\"string\"){var prime=BN._prime(m);this.m=prime.p,this.prime=prime}else assert(m.gtn(1),\"modulus must be greater than 1\"),this.m=m,this.prime=null}Red.prototype._verify1=function(a){assert(a.negative===0,\"red works only with positives\"),assert(a.red,\"red works only with red numbers\")},Red.prototype._verify2=function(a,b){assert((a.negative|b.negative)===0,\"red works only with positives\"),assert(a.red&&a.red===b.red,\"red works only with red numbers\")},Red.prototype.imod=function(a){return this.prime\?this.prime.ireduce(a)._forceRed(this):a.umod(this.m)._forceRed(this)},Red.prototype.neg=function(a){return a.isZero()\?a.clone():this.m.sub(a)._forceRed(this)},Red.prototype.add=function(a,b){this._verify2(a,b);var res=a.add(b);return res.cmp(this.m)>=0&&res.isub(this.m),res._forceRed(this)},Red.prototype.iadd=function(a,b){this._verify2(a,b);var res=a.iadd(b);return res.cmp(this.m)>=0&&res.isub(this.m),res},Red.prototype.sub=function(a,b){this._verify2(a,b);var res=a.sub(b);return res.cmpn(0)<0&&res.iadd(this.m),res._forceRed(this)},Red.prototype.isub=function(a,b){this._verify2(a,b);var res=a.isub(b);return res.cmpn(0)<0&&res.iadd(this.m),res},Red.prototype.shl=function(a,num){return this._verify1(a),this.imod(a.ushln(num))},Red.prototype.imul=function(a,b){return this._verify2(a,b),this.imod(a.imul(b))},Red.prototype.mul=function(a,b){return this._verify2(a,b),this.imod(a.mul(b))},Red.prototype.isqr=function(a){return this.imul(a,a.clone())},Red.prototype.sqr=function(a){return this.mul(a,a)},Red.prototype.sqrt=function(a){if(a.isZero())return a.clone();var mod3=this.m.andln(3);if(assert(mod3%2===1),mod3===3){var pow=this.m.add(new BN(1)).iushrn(2);return this.pow(a,pow)}for(var q=this.m.subn(1),s=0;!q.isZero()&&q.andln(1)===0;)s++,q.iushrn(1);assert(!q.isZero());var one=new BN(1).toRed(this),nOne=one.redNeg(),lpow=this.m.subn(1).iushrn(1),z=this.m.bitLength();for(z=new BN(2*z*z).toRed(this);this.pow(z,lpow).cmp(nOne)!==0;)z.redIAdd(nOne);for(var c=this.pow(z,q),r=this.pow(a,q.addn(1).iushrn(1)),t=this.pow(a,q),m=s;t.cmp(one)!==0;){for(var tmp=t,i=0;tmp.cmp(one)!==0;i++)tmp=tmp.redSqr();assert(i=0;i--){for(var word=num.words[i],j=start-1;j>=0;j--){var bit=word>>j&1;if(res!==wnd[0]&&(res=this.sqr(res)),bit===0&¤t===0){currentLen=0;continue}current<<=1,current|=bit,currentLen++,!(currentLen!==windowSize&&(i!==0||j!==0))&&(res=this.mul(res,wnd[current]),currentLen=0,current=0)}start=26}return res},Red.prototype.convertTo=function(num){var r=num.umod(this.m);return r===num\?r.clone():r},Red.prototype.convertFrom=function(num){var res=num.clone();return res.red=null,res},BN.mont=function(num){return new Mont(num)};function Mont(m){Red.call(this,m),this.shift=this.m.bitLength(),this.shift%26!==0&&(this.shift+=26-this.shift%26),this.r=new BN(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}inherits(Mont,Red),Mont.prototype.convertTo=function(num){return this.imod(num.ushln(this.shift))},Mont.prototype.convertFrom=function(num){var r=this.imod(num.mul(this.rinv));return r.red=null,r},Mont.prototype.imul=function(a,b){if(a.isZero()||b.isZero())return a.words[0]=0,a.length=1,a;var t=a.imul(b),c=t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),u=t.isub(c).iushrn(this.shift),res=u;return u.cmp(this.m)>=0\?res=u.isub(this.m):u.cmpn(0)<0&&(res=u.iadd(this.m)),res._forceRed(this)},Mont.prototype.mul=function(a,b){if(a.isZero()||b.isZero())return new BN(0)._forceRed(this);var t=a.mul(b),c=t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),u=t.isub(c).iushrn(this.shift),res=u;return u.cmp(this.m)>=0\?res=u.isub(this.m):u.cmpn(0)<0&&(res=u.iadd(this.m)),res._forceRed(this)},Mont.prototype.invm=function(a){var res=this.imod(a._invmp(this.m).mul(this.r2));return res._forceRed(this)}})(typeof module>\"u\"||module,exports)}});const{CryptoHasher}=globalThis.Bun;var require_withPublic=__commonJS({\"node_modules/public-encrypt/withPublic.js\"(exports,module){var BN=require_bn7(),Buffer2=require_safe_buffer().Buffer;function withPublic(paddedMsg,key){return Buffer2.from(paddedMsg.toRed(BN.mont(key.modulus)).redPow(new BN(key.publicExponent)).fromRed().toArray())}module.exports=withPublic}}),require_publicEncrypt=__commonJS({\"node_modules/public-encrypt/publicEncrypt.js\"(exports,module){var parseKeys=require_parse_asn1(),randomBytes=require_browser(),createHash=require_browser2(),mgf=require_mgf(),xor=require_xor(),BN=require_bn7(),withPublic=require_withPublic(),crt=require_browserify_rsa(),Buffer2=require_safe_buffer().Buffer;module.exports=function(publicKey,msg,reverse){var padding;publicKey.padding\?padding=publicKey.padding:reverse\?padding=1:padding=4;var key=parseKeys(publicKey),paddedMsg;if(padding===4)paddedMsg=oaep(key,msg);else if(padding===1)paddedMsg=pkcs1(key,msg,reverse);else if(padding===3){if(paddedMsg=new BN(msg),paddedMsg.cmp(key.modulus)>=0)throw new Error(\"data too long for modulus\")}else throw new Error(\"unknown padding\");return reverse\?crt(paddedMsg,key):withPublic(paddedMsg,key)};function oaep(key,msg){var k=key.modulus.byteLength(),mLen=msg.length,iHash=createHash(\"sha1\").update(Buffer2.alloc(0)).digest(),hLen=iHash.length,hLen2=2*hLen;if(mLen>k-hLen2-2)throw new Error(\"message too long\");var ps=Buffer2.alloc(k-mLen-hLen2-2),dblen=k-hLen-1,seed=randomBytes(hLen),maskedDb=xor(Buffer2.concat([iHash,ps,Buffer2.alloc(1,1),msg],dblen),mgf(seed,dblen)),maskedSeed=xor(seed,mgf(maskedDb,hLen));return new BN(Buffer2.concat([Buffer2.alloc(1),maskedSeed,maskedDb],k))}function pkcs1(key,msg,reverse){var mLen=msg.length,k=key.modulus.byteLength();if(mLen>k-11)throw new Error(\"message too long\");var ps;return reverse\?ps=Buffer2.alloc(k-mLen-3,255):ps=nonZero(k-mLen-3),new BN(Buffer2.concat([Buffer2.from([0,reverse\?1:2]),ps,Buffer2.alloc(1),msg],k))}function nonZero(len){for(var out=Buffer2.allocUnsafe(len),i=0,cache=randomBytes(len*2),cur=0,num;ik||new BN(enc).cmp(key.modulus)>=0)throw new Error(\"decryption error\");var msg;reverse\?msg=withPublic(new BN(enc),key):msg=crt(enc,key);var zBuffer=Buffer2.alloc(k-msg.length);if(msg=Buffer2.concat([zBuffer,msg],k),padding===4)return oaep(key,msg);if(padding===1)return pkcs1(key,msg,reverse);if(padding===3)return msg;throw new Error(\"unknown padding\")};function oaep(key,msg){var k=key.modulus.byteLength(),iHash=createHash(\"sha1\").update(Buffer2.alloc(0)).digest(),hLen=iHash.length;if(msg[0]!==0)throw new Error(\"decryption error\");var maskedSeed=msg.slice(1,hLen+1),maskedDb=msg.slice(hLen+1),seed=xor(maskedSeed,mgf(maskedDb,hLen)),db=xor(maskedDb,mgf(seed,k-hLen-1));if(compare(iHash,db.slice(0,hLen)))throw new Error(\"decryption error\");for(var i=hLen;db[i]===0;)i++;if(db[i++]!==1)throw new Error(\"decryption error\");return db.slice(i)}function pkcs1(key,msg,reverse){for(var p1=msg.slice(0,2),i=2,status=0;msg[i++]!==0;)if(i>=msg.length){status++;break}var ps=msg.slice(2,i-1);if((p1.toString(\"hex\")!==\"0002\"&&!reverse||p1.toString(\"hex\")!==\"0001\"&&reverse)&&status++,ps.length<8&&status++,status)throw new Error(\"decryption error\");return msg.slice(i)}function compare(a,b){a=Buffer2.from(a),b=Buffer2.from(b);var dif=0,len=a.length;a.length!==b.length&&(dif++,len=Math.min(a.length,b.length));for(var i=-1;++ikMaxUint32||offset<0)throw new TypeError(\"offset must be a uint32\");if(offset>kBufferMaxLength||offset>length)throw new RangeError(\"offset out of range\")}function assertSize(size,offset,length){if(typeof size!=\"number\"||size!==size)throw new TypeError(\"size must be a number\");if(size>kMaxUint32||size<0)throw new TypeError(\"size must be a uint32\");if(size+offset>length||size>kBufferMaxLength)throw new RangeError(\"buffer too small\")}exports.randomFill=randomFill,exports.randomFillSync=randomFillSync;function randomFill(buf,offset,size,cb){if(!Buffer2.isBuffer(buf)&&!(buf instanceof global.Uint8Array))throw new TypeError('\"buf\" argument must be a Buffer or Uint8Array');if(typeof offset==\"function\")cb=offset,offset=0,size=buf.length;else if(typeof size==\"function\")cb=size,size=buf.length-offset;else if(typeof cb!=\"function\")throw new TypeError('\"cb\" argument must be a function');return assertOffset(offset,buf.length),assertSize(size,offset,buf.length),actualFill(buf,offset,size,cb)}function actualFill(buf,offset,size,cb){if(cb){randombytes(size,function(err,bytes2){if(err)return cb(err);bytes2.copy(buf,offset),cb(null,buf)});return}var bytes=randombytes(size);return bytes.copy(buf,offset),buf}function randomFillSync(buf,offset,size){if(typeof offset>\"u\"&&(offset=0),!Buffer2.isBuffer(buf)&&!(buf instanceof global.Uint8Array))throw new TypeError('\"buf\" argument must be a Buffer or Uint8Array');return assertOffset(offset,buf.length),size===void 0&&(size=buf.length-offset),assertSize(size,offset,buf.length),actualFill(buf,offset,size)}}}),require_crypto_browserify2=__commonJS({\"node_modules/crypto-browserify/index.js\"(exports){exports.randomBytes=exports.rng=exports.pseudoRandomBytes=exports.prng=require_browser(),exports.createHash=require_browser2(),exports.Hash=exports.createHash.Hash,exports.createHmac=exports.Hmac=require_browser3();var algos=require_algos(),algoKeys=Object.keys(algos),hashes=[\"sha1\",\"sha224\",\"sha256\",\"sha384\",\"sha512\",\"md5\",\"rmd160\"].concat(algoKeys);exports.getHashes=function(){return hashes};var p=require_browser4();exports.pbkdf2=p.pbkdf2,exports.pbkdf2Sync=p.pbkdf2Sync;var aes=require_browser6();exports.Cipher=aes.Cipher,exports.createCipher=aes.createCipher,exports.Cipheriv=aes.Cipheriv,exports.createCipheriv=aes.createCipheriv,exports.Decipher=aes.Decipher,exports.createDecipher=aes.createDecipher,exports.Decipheriv=aes.Decipheriv,exports.createDecipheriv=aes.createDecipheriv,exports.getCiphers=aes.getCiphers,exports.listCiphers=aes.listCiphers;var dh=require_browser7();exports.DiffieHellmanGroup=dh.DiffieHellmanGroup,exports.createDiffieHellmanGroup=dh.createDiffieHellmanGroup,exports.getDiffieHellman=dh.getDiffieHellman,exports.createDiffieHellman=dh.createDiffieHellman,exports.DiffieHellman=dh.DiffieHellman;var sign=require_browser8();exports.createSign=sign.createSign,exports.Sign=sign.Sign,exports.createVerify=sign.createVerify,exports.Verify=sign.Verify,exports.createECDH=require_browser9();var publicEncrypt=require_browser10();exports.publicEncrypt=publicEncrypt.publicEncrypt,exports.privateEncrypt=publicEncrypt.privateEncrypt,exports.publicDecrypt=publicEncrypt.publicDecrypt,exports.privateDecrypt=publicEncrypt.privateDecrypt,exports.getRandomValues=(values)=>crypto.getRandomValues(values);var rf=require_browser11();exports.randomFill=rf.randomFill,exports.randomFillSync=rf.randomFillSync,exports.createCredentials=function(){throw new Error([\"sorry, createCredentials is not implemented yet\",\"we accept pull requests\",\"https://github.com/crypto-browserify/crypto-browserify\"].join(`\n`))},exports.constants={DH_CHECK_P_NOT_SAFE_PRIME:2,DH_CHECK_P_NOT_PRIME:1,DH_UNABLE_TO_CHECK_GENERATOR:4,DH_NOT_SUITABLE_GENERATOR:8,NPN_ENABLED:1,ALPN_ENABLED:1,RSA_PKCS1_PADDING:1,RSA_SSLV23_PADDING:2,RSA_NO_PADDING:3,RSA_PKCS1_OAEP_PADDING:4,RSA_X931_PADDING:5,RSA_PKCS1_PSS_PADDING:6,POINT_CONVERSION_COMPRESSED:2,POINT_CONVERSION_UNCOMPRESSED:4,POINT_CONVERSION_HYBRID:6}}});return $})\n"_s; +static constexpr ASCIILiteral NodeDgramCode = "(function (){\"use strict\";var $;const{hideFromStack,throwNotImplemented}=@requireId(2);function createSocket(){throwNotImplemented(\"node:dgram createSocket\",1630)}function Socket(){throwNotImplemented(\"node:dgram Socket\",1630)}function _createSocketHandle(){throwNotImplemented(\"node:dgram _createSocketHandle\",1630)}return $={createSocket,Socket,_createSocketHandle},hideFromStack(createSocket,Socket,_createSocketHandle),$})\n"_s; +static constexpr ASCIILiteral NodeDiagnosticsChannelCode = "(function (){\"use strict\";var $;const{hideFromStack,throwNotImplemented}=@requireId(2);class Channel{constructor(name){throwNotImplemented(\"node:diagnostics_channel\",2688)}}function channel(){throwNotImplemented(\"node:diagnostics_channel\",2688)}function hasSubscribers(){throwNotImplemented(\"node:diagnostics_channel\",2688)}function subscribe(){throwNotImplemented(\"node:diagnostics_channel\",2688)}function unsubscribe(){throwNotImplemented(\"node:diagnostics_channel\",2688)}return $={channel,hasSubscribers,subscribe,unsubscribe,Channel},hideFromStack([channel,hasSubscribers,subscribe,unsubscribe,Channel]),$})\n"_s; +static constexpr ASCIILiteral NodeDNSCode = "(function (){\"use strict\";const dns=Bun.dns;function lookup(domain,options,callback){if(typeof options==\"function\")callback=options;if(typeof callback!=\"function\")@throwTypeError(\"callback must be a function\");if(typeof options==\"number\")options={family:options};dns.lookup(domain,options).then((res)=>{if(res.sort((a,b)=>a.family-b.family),options\?.all)callback(null,res.map(mapLookupAll));else{const[{address,family}]=res;callback(null,address,family)}},(error)=>{callback(error)})}function resolveSrv(hostname,callback){if(typeof callback!=\"function\")@throwTypeError(\"callback must be a function\");dns.resolveSrv(hostname,callback).then((results)=>{callback(null,results)},(error)=>{callback(error)})}function resolveTxt(hostname,callback){if(typeof callback!=\"function\")@throwTypeError(\"callback must be a function\");dns.resolveTxt(hostname,callback).then((results)=>{callback(null,results)},(error)=>{callback(error)})}function resolveSoa(hostname,callback){if(typeof callback!=\"function\")@throwTypeError(\"callback must be a function\");dns.resolveSoa(hostname,callback).then((results)=>{callback(null,results)},(error)=>{callback(error)})}function resolveNaptr(hostname,callback){if(typeof callback!=\"function\")@throwTypeError(\"callback must be a function\");dns.resolveNaptr(hostname,callback).then((results)=>{callback(null,results)},(error)=>{callback(error)})}function resolveMx(hostname,callback){if(typeof callback!=\"function\")@throwTypeError(\"callback must be a function\");dns.resolveMx(hostname,callback).then((results)=>{callback(null,results)},(error)=>{callback(error)})}function resolveCaa(hostname,callback){if(typeof callback!=\"function\")@throwTypeError(\"callback must be a function\");dns.resolveCaa(hostname,callback).then((results)=>{callback(null,results)},(error)=>{callback(error)})}function resolveNs(hostname,callback){if(typeof callback!=\"function\")@throwTypeError(\"callback must be a function\");dns.resolveNs(hostname,callback).then((results)=>{callback(null,results)},(error)=>{callback(error)})}function resolvePtr(hostname,callback){if(typeof callback!=\"function\")@throwTypeError(\"callback must be a function\");dns.resolvePtr(hostname,callback).then((results)=>{callback(null,results)},(error)=>{callback(error)})}function resolveCname(hostname,callback){if(typeof callback!=\"function\")@throwTypeError(\"callback must be a function\");dns.resolveCname(hostname,callback).then((results)=>{callback(null,results)},(error)=>{callback(error)})}function lookupService(address,port,callback){if(typeof callback!=\"function\")@throwTypeError(\"callback must be a function\");callback(null,address,port)}var InternalResolver=class Resolver2{constructor(options){}cancel(){}getServers(){return[]}resolve(hostname,rrtype,callback){if(typeof rrtype==\"function\")callback=rrtype,rrtype=null;if(typeof callback!=\"function\")@throwTypeError(\"callback must be a function\");dns.resolve(hostname).then((results)=>{switch(rrtype\?.toLowerCase()){case\"a\":case\"aaaa\":callback(null,hostname,results.map(mapResolveX));break;default:callback(null,results);break}},(error)=>{callback(error)})}resolve4(hostname,options,callback){if(typeof options==\"function\")callback=options,options=null;if(typeof callback!=\"function\")@throwTypeError(\"callback must be a function\");dns.lookup(hostname,{family:4}).then((addresses)=>{callback(null,options\?.ttl\?addresses:addresses.map(mapResolveX))},(error)=>{callback(error)})}resolve6(hostname,options,callback){if(typeof options==\"function\")callback=options,options=null;if(typeof callback!=\"function\")@throwTypeError(\"callback must be a function\");dns.lookup(hostname,{family:6}).then((addresses)=>{callback(null,options\?.ttl\?addresses:addresses.map(({address})=>address))},(error)=>{callback(error)})}resolveAny(hostname,callback){callback(null,[])}resolveCname(hostname,callback){if(typeof callback!=\"function\")@throwTypeError(\"callback must be a function\");dns.resolveCname(hostname,callback).then((results)=>{callback(null,results)},(error)=>{callback(error)})}resolveMx(hostname,callback){if(typeof callback!=\"function\")@throwTypeError(\"callback must be a function\");dns.resolveMx(hostname,callback).then((results)=>{callback(null,results)},(error)=>{callback(error)})}resolveNaptr(hostname,callback){if(typeof callback!=\"function\")@throwTypeError(\"callback must be a function\");dns.resolveNaptr(hostname,callback).then((results)=>{callback(null,results)},(error)=>{callback(error)})}resolveNs(hostname,callback){if(typeof callback!=\"function\")@throwTypeError(\"callback must be a function\");dns.resolveNs(hostname,callback).then((results)=>{callback(null,results)},(error)=>{callback(error)})}resolvePtr(hostname,callback){if(typeof callback!=\"function\")@throwTypeError(\"callback must be a function\");dns.resolvePtr(hostname,callback).then((results)=>{callback(null,results)},(error)=>{callback(error)})}resolveSrv(hostname,callback){if(typeof callback!=\"function\")@throwTypeError(\"callback must be a function\");dns.resolveSrv(hostname,callback).then((results)=>{callback(null,results)},(error)=>{callback(error)})}resolveCaa(hostname,callback){if(typeof callback!=\"function\")@throwTypeError(\"callback must be a function\");dns.resolveCaa(hostname,callback).then((results)=>{callback(null,results)},(error)=>{callback(error)})}resolveTxt(hostname,callback){if(typeof callback!=\"function\")@throwTypeError(\"callback must be a function\");dns.resolveTxt(hostname,callback).then((results)=>{callback(null,results)},(error)=>{callback(error)})}resolveSoa(hostname,callback){if(typeof callback!=\"function\")@throwTypeError(\"callback must be a function\");dns.resolveSoa(hostname,callback).then((results)=>{callback(null,results)},(error)=>{callback(error)})}reverse(ip,callback){callback(null,[])}setServers(servers){}};function resolve(hostname,rrtype,callback){if(typeof rrtype==\"function\")callback=rrtype;if(typeof callback!=\"function\")@throwTypeError(\"callback must be a function\");dns.resolve(hostname).then((results)=>{switch(rrtype\?.toLowerCase()){case\"a\":case\"aaaa\":callback(null,hostname,results.map(({address})=>address));break;default:callback(null,results);break}},(error)=>{callback(error)})}function Resolver(options){return new InternalResolver(options)}Object.setPrototypeOf(Resolver.prototype,InternalResolver.prototype),Object.setPrototypeOf(Resolver,InternalResolver);var{resolve,resolve4,resolve6,resolveAny,resolveCname,resolveCaa,resolveMx,resolveNaptr,resolveNs,resolvePtr,resolveSoa,resolveSrv,reverse,resolveTxt}=InternalResolver.prototype;function setDefaultResultOrder(){}function setServers(){}const promisifyLookup=(res)=>{res.sort((a,b)=>a.family-b.family);const[{address,family}]=res;return{address,family}},mapLookupAll=(res)=>{const{address,family}=res;return{address,family}},promisifyLookupAll=(res)=>{return res.sort((a,b)=>a.family-b.family),res.map(mapLookupAll)},mapResolveX=(a)=>a.address,promisifyResolveX=(res)=>{return res\?.map(mapResolveX)},promises={lookup(domain,options){if(options\?.all)return dns.lookup(domain,options).then(promisifyLookupAll);return dns.lookup(domain,options).then(promisifyLookup)},lookupService(address,port){return Promise.resolve([])},resolve(hostname,rrtype){if(typeof rrtype!==\"string\")rrtype=null;switch(rrtype\?.toLowerCase()){case\"a\":case\"aaaa\":return dns.resolve(hostname,rrtype).then(promisifyLookup);default:return dns.resolve(hostname,rrtype)}},resolve4(hostname,options){if(options\?.ttl)return dns.lookup(hostname,{family:4});return dns.lookup(hostname,{family:4}).then(promisifyResolveX)},resolve6(hostname,options){if(options\?.ttl)return dns.lookup(hostname,{family:6});return dns.lookup(hostname,{family:6}).then(promisifyResolveX)},resolveSrv(hostname){return dns.resolveSrv(hostname)},resolveTxt(hostname){return dns.resolveTxt(hostname)},resolveSoa(hostname){return dns.resolveSoa(hostname)},resolveNaptr(hostname){return dns.resolveNaptr(hostname)},resolveMx(hostname){return dns.resolveMx(hostname)},resolveCaa(hostname){return dns.resolveCaa(hostname)},resolveNs(hostname){return dns.resolveNs(hostname)},resolvePtr(hostname){return dns.resolvePtr(hostname)},resolveCname(hostname){return dns.resolveCname(hostname)},Resolver:class Resolver2{constructor(options){}cancel(){}getServers(){return[]}resolve(hostname,rrtype){if(typeof rrtype!==\"string\")rrtype=null;switch(rrtype\?.toLowerCase()){case\"a\":case\"aaaa\":return dns.resolve(hostname,rrtype).then(promisifyLookup);default:return dns.resolve(hostname,rrtype)}}resolve4(hostname,options){if(options\?.ttl)return dns.lookup(hostname,{family:4});return dns.lookup(hostname,{family:4}).then(promisifyResolveX)}resolve6(hostname,options){if(options\?.ttl)return dns.lookup(hostname,{family:6});return dns.lookup(hostname,{family:6}).then(promisifyResolveX)}resolveAny(hostname){return Promise.resolve([])}resolveCname(hostname){return dns.resolveCname(hostname)}resolveMx(hostname){return dns.resolveMx(hostname)}resolveNaptr(hostname){return dns.resolveNaptr(hostname)}resolveNs(hostname){return dns.resolveNs(hostname)}resolvePtr(hostname){return dns.resolvePtr(hostname)}resolveSoa(hostname){return dns.resolveSoa(hostname)}resolveSrv(hostname){return dns.resolveSrv(hostname)}resolveCaa(hostname){return dns.resolveCaa(hostname)}resolveTxt(hostname){return dns.resolveTxt(hostname)}reverse(ip){return Promise.resolve([])}setServers(servers){}}};for(let key of[\"resolveAny\",\"reverse\"])promises[key]=()=>Promise.resolve(void 0);return{ADDRCONFIG:0,ALL:1,V4MAPPED:2,NODATA:\"DNS_ENODATA\",FORMERR:\"DNS_EFORMERR\",SERVFAIL:\"DNS_ESERVFAIL\",NOTFOUND:\"DNS_ENOTFOUND\",NOTIMP:\"DNS_ENOTIMP\",REFUSED:\"DNS_EREFUSED\",BADQUERY:\"DNS_EBADQUERY\",BADNAME:\"DNS_EBADNAME\",BADFAMILY:\"DNS_EBADFAMILY\",BADRESP:\"DNS_EBADRESP\",CONNREFUSED:\"DNS_ECONNREFUSED\",TIMEOUT:\"DNS_ETIMEOUT\",EOF:\"DNS_EEOF\",FILE:\"DNS_EFILE\",NOMEM:\"DNS_ENOMEM\",DESTRUCTION:\"DNS_EDESTRUCTION\",BADSTR:\"DNS_EBADSTR\",BADFLAGS:\"DNS_EBADFLAGS\",NONAME:\"DNS_ENONAME\",BADHINTS:\"DNS_EBADHINTS\",NOTINITIALIZED:\"DNS_ENOTINITIALIZED\",LOADIPHLPAPI:\"DNS_ELOADIPHLPAPI\",ADDRGETNETWORKPARAMS:\"DNS_EADDRGETNETWORKPARAMS\",CANCELLED:\"DNS_ECANCELLED\",lookup,lookupService,Resolver,setServers,setDefaultResultOrder,resolve,reverse,resolve4,resolve6,resolveAny,resolveCname,resolveCaa,resolveMx,resolveNs,resolvePtr,resolveSoa,resolveSrv,resolveTxt,resolveNaptr,promises}})\n"_s; +static constexpr ASCIILiteral NodeDNSPromisesCode = "(function (){\"use strict\";return @requireId(11).promises})\n"_s; +static constexpr ASCIILiteral NodeEventsCode = "(function (){\"use strict\";const{throwNotImplemented}=@requireId(2),SymbolFor=Symbol.for,kCapture=Symbol(\"kCapture\"),kErrorMonitor=SymbolFor(\"events.errorMonitor\"),kMaxEventTargetListeners=Symbol(\"events.maxEventTargetListeners\"),kMaxEventTargetListenersWarned=Symbol(\"events.maxEventTargetListenersWarned\"),kWatermarkData=SymbolFor(\"nodejs.watermarkData\"),kRejection=SymbolFor(\"nodejs.rejection\"),captureRejectionSymbol=SymbolFor(\"nodejs.rejection\"),ArrayPrototypeSlice=Array.prototype.slice;var defaultMaxListeners=10;const EventEmitter=function EventEmitter(opts){if(this._events===void 0||this._events===this.__proto__._events)this._events={__proto__:null},this._eventsCount=0;if(this._maxListeners\?\?=void 0,this[kCapture]=opts\?.captureRejections\?Boolean(opts\?.captureRejections):EventEmitterPrototype[kCapture])this.emit=emitWithRejectionCapture},EventEmitterPrototype=EventEmitter.prototype={};EventEmitterPrototype._events=void 0,EventEmitterPrototype._eventsCount=0,EventEmitterPrototype._maxListeners=void 0,EventEmitterPrototype.setMaxListeners=function setMaxListeners(n){return validateNumber(n,\"setMaxListeners\",0),this._maxListeners=n,this},EventEmitterPrototype.getMaxListeners=function getMaxListeners(){return this._maxListeners\?\?defaultMaxListeners};function emitError(emitter,args){var{_events:events}=emitter;if(args[0]\?\?=new Error(\"Unhandled error.\"),!events)throw args[0];var errorMonitor=events[kErrorMonitor];if(errorMonitor)for(var handler of ArrayPrototypeSlice.call(errorMonitor))handler.apply(emitter,args);var handlers=events.error;if(!handlers)throw args[0];for(var handler of ArrayPrototypeSlice.call(handlers))handler.apply(emitter,args);return!0}function addCatch(emitter,promise,type,args){promise.then(void 0,function(err){process.nextTick(emitUnhandledRejectionOrErr,emitter,err,type,args)})}function emitUnhandledRejectionOrErr(emitter,err,type,args){if(typeof emitter[kRejection]===\"function\")emitter[kRejection](err,type,...args);else try{emitter[kCapture]=!1,emitter.emit(\"error\",err)}finally{emitter[kCapture]=!0}}const emitWithoutRejectionCapture=function emit(type,...args){if(type===\"error\")return emitError(this,args);var{_events:events}=this;if(events===void 0)return!1;var handlers=events[type];if(handlers===void 0)return!1;for(var handler of[...handlers])handler.apply(this,args);return!0},emitWithRejectionCapture=function emit(type,...args){if(type===\"error\")return emitError(this,args);var{_events:events}=this;if(events===void 0)return!1;var handlers=events[type];if(handlers===void 0)return!1;for(var handler of[...handlers]){var result=handler.apply(this,args);if(result!==void 0&&@isPromise(result))addCatch(this,result,type,args)}return!0};EventEmitterPrototype.emit=emitWithoutRejectionCapture,EventEmitterPrototype.addListener=function addListener(type,fn){checkListener(fn);var events=this._events;if(!events)events=this._events={__proto__:null},this._eventsCount=0;else if(events.newListener)this.emit(\"newListener\",type,fn.listener\?\?fn);var handlers=events[type];if(!handlers)events[type]=[fn],this._eventsCount++;else{handlers.push(fn);var m=this._maxListeners\?\?defaultMaxListeners;if(m>0&&handlers.length>m&&!handlers.warned)overflowWarning(this,type,handlers)}return this},EventEmitterPrototype.on=EventEmitterPrototype.addListener,EventEmitterPrototype.prependListener=function prependListener(type,fn){checkListener(fn);var events=this._events;if(!events)events=this._events={__proto__:null},this._eventsCount=0;else if(events.newListener)this.emit(\"newListener\",type,fn.listener\?\?fn);var handlers=events[type];if(!handlers)events[type]=[fn],this._eventsCount++;else{handlers.unshift(fn);var m=this._maxListeners\?\?defaultMaxListeners;if(m>0&&handlers.length>m&&!handlers.warned)overflowWarning(this,type,handlers)}return this};function overflowWarning(emitter,type,handlers){handlers.warned=!0;const warn=new Error(`Possible EventEmitter memory leak detected. ${handlers.length} ${String(type)} listeners `+`added to [${emitter.constructor.name}]. Use emitter.setMaxListeners() to increase limit`);warn.name=\"MaxListenersExceededWarning\",warn.emitter=emitter,warn.type=type,warn.count=handlers.length,process.emitWarning(warn)}function onceWrapper(type,listener,...args){this.removeListener(type,listener),listener.apply(this,args)}EventEmitterPrototype.once=function once(type,fn){checkListener(fn);const bound=onceWrapper.bind(this,type,fn);return bound.listener=fn,this.addListener(type,bound),this},EventEmitterPrototype.prependOnceListener=function prependOnceListener(type,fn){checkListener(fn);const bound=onceWrapper.bind(this,type,fn);return bound.listener=fn,this.prependListener(type,bound),this},EventEmitterPrototype.removeListener=function removeListener(type,fn){checkListener(fn);var{_events:events}=this;if(!events)return this;var handlers=events[type];if(!handlers)return this;var length=handlers.length;let position=-1;for(let i=length-1;i>=0;i--)if(handlers[i]===fn||handlers[i].listener===fn){position=i;break}if(position<0)return this;if(position===0)handlers.shift();else handlers.splice(position,1);if(handlers.length===0)delete events[type],this._eventsCount--;return this},EventEmitterPrototype.off=EventEmitterPrototype.removeListener,EventEmitterPrototype.removeAllListeners=function removeAllListeners(type){var{_events:events}=this;if(type&&events){if(events[type])delete events[type],this._eventsCount--}else this._events={__proto__:null};return this},EventEmitterPrototype.listeners=function listeners(type){var{_events:events}=this;if(!events)return[];var handlers=events[type];if(!handlers)return[];return handlers.map((x)=>x.listener\?\?x)},EventEmitterPrototype.rawListeners=function rawListeners(type){var{_events}=this;if(!_events)return[];var handlers=_events[type];if(!handlers)return[];return handlers.slice()},EventEmitterPrototype.listenerCount=function listenerCount(type){var{_events:events}=this;if(!events)return 0;return events[type]\?.length\?\?0},EventEmitterPrototype.eventNames=function eventNames(){return this._eventsCount>0\?Reflect.ownKeys(this._events):[]},EventEmitterPrototype[kCapture]=!1;function once(emitter,type,options){var signal=options\?.signal;if(validateAbortSignal(signal,\"options.signal\"),signal\?.aborted)throw new AbortError(void 0,{cause:signal\?.reason});return new Promise((resolve,reject)=>{const errorListener=(err)=>{if(emitter.removeListener(type,resolver),signal!=null)eventTargetAgnosticRemoveListener(signal,\"abort\",abortListener);reject(err)},resolver=(...args)=>{if(typeof emitter.removeListener===\"function\")emitter.removeListener(\"error\",errorListener);if(signal!=null)eventTargetAgnosticRemoveListener(signal,\"abort\",abortListener);resolve(args)};if(eventTargetAgnosticAddListener(emitter,type,resolver,{once:!0}),type!==\"error\"&&typeof emitter.once===\"function\")emitter.once(\"error\",errorListener);function abortListener(){eventTargetAgnosticRemoveListener(emitter,type,resolver),eventTargetAgnosticRemoveListener(emitter,\"error\",errorListener),reject(new AbortError(void 0,{cause:signal\?.reason}))}if(signal!=null)eventTargetAgnosticAddListener(signal,\"abort\",abortListener,{once:!0})})}function on(emitter,type,options){var{signal,close,highWatermark=Number.MAX_SAFE_INTEGER,lowWatermark=1}=options||{};throwNotImplemented(\"events.on\",2679)}function getEventListeners(emitter,type){if(emitter instanceof EventTarget)throwNotImplemented(\"getEventListeners with an EventTarget\",2678);return emitter.listeners(type)}function setMaxListeners(n,...eventTargets){validateNumber(n,\"setMaxListeners\",0);var length;if(eventTargets&&(length=eventTargets.length))for(let i=0;imax||(min!=null||max!=null)&&Number.isNaN(value))throw new ERR_OUT_OF_RANGE(name,`${min!=null\?`>= ${min}`:\"\"}${min!=null&&max!=null\?\" && \":\"\"}${max!=null\?`<= ${max}`:\"\"}`,value)}function checkListener(listener){if(typeof listener!==\"function\")@throwTypeError(\"The listener must be a function\")}let AsyncResource=null;class EventEmitterAsyncResource extends EventEmitter{triggerAsyncId;asyncResource;constructor(options){if(!AsyncResource)AsyncResource=@requireId(5).AsyncResource;var{captureRejections=!1,triggerAsyncId,name=new.target.name,requireManualDestroy}=options||{};super({captureRejections});this.triggerAsyncId=triggerAsyncId\?\?0,this.asyncResource=new AsyncResource(name,{triggerAsyncId,requireManualDestroy})}emit(...args){this.asyncResource.runInAsyncScope(()=>super.emit(...args))}emitDestroy(){this.asyncResource.emitDestroy()}}return Object.defineProperties(EventEmitter,{captureRejections:{get(){return EventEmitterPrototype[kCapture]},set(value){validateBoolean(value,\"EventEmitter.captureRejections\"),EventEmitterPrototype[kCapture]=value},enumerable:!0},defaultMaxListeners:{enumerable:!0,get:()=>{return defaultMaxListeners},set:(arg)=>{validateNumber(arg,\"defaultMaxListeners\",0),defaultMaxListeners=arg}},kMaxEventTargetListeners:{value:kMaxEventTargetListeners,enumerable:!1,configurable:!1,writable:!1},kMaxEventTargetListenersWarned:{value:kMaxEventTargetListenersWarned,enumerable:!1,configurable:!1,writable:!1}}),Object.assign(EventEmitter,{once,on,getEventListeners,setMaxListeners,EventEmitter,usingDomains:!1,captureRejectionSymbol,EventEmitterAsyncResource,errorMonitor:kErrorMonitor,setMaxListeners,init:EventEmitter,listenerCount}),EventEmitter})\n"_s; +static constexpr ASCIILiteral NodeFSCode = "(function (){\"use strict\";var $,ReadStream,WriteStream;const EventEmitter=@requireId(13),promises=@requireId(15),Stream=@requireId(30);var fs=Bun.fs(),debug=process.env.DEBUG\?console.log:()=>{};class FSWatcher extends EventEmitter{#watcher;#listener;constructor(path,options,listener){super();if(typeof options===\"function\")listener=options,options={};else if(typeof options===\"string\")options={encoding:options};if(typeof listener!==\"function\")listener=()=>{};this.#listener=listener;try{this.#watcher=fs.watch(path,options||{},this.#onEvent.bind(this))}catch(e){if(!e.message\?.startsWith(\"FileNotFound\"))throw e;const notFound=new Error(`ENOENT: no such file or directory, watch '${path}'`);throw notFound.code=\"ENOENT\",notFound.errno=-2,notFound.path=path,notFound.syscall=\"watch\",notFound.filename=path,notFound}}#onEvent(eventType,filenameOrError){if(eventType===\"error\"||eventType===\"close\")this.emit(eventType,filenameOrError);else this.emit(\"change\",eventType,filenameOrError),this.#listener(eventType,filenameOrError)}close(){this.#watcher\?.close(),this.#watcher=null}ref(){this.#watcher\?.ref()}unref(){this.#watcher\?.unref()}}var access=function access(...args){callbackify(fs.accessSync,args)},appendFile=function appendFile(...args){callbackify(fs.appendFileSync,args)},close=function close(...args){callbackify(fs.closeSync,args)},rm=function rm(...args){callbackify(fs.rmSync,args)},rmdir=function rmdir(...args){callbackify(fs.rmdirSync,args)},copyFile=function copyFile(...args){callbackify(fs.copyFileSync,args)},exists=function exists(...args){callbackify(fs.existsSync,args)},chown=function chown(...args){callbackify(fs.chownSync,args)},chmod=function chmod(...args){callbackify(fs.chmodSync,args)},fchmod=function fchmod(...args){callbackify(fs.fchmodSync,args)},fchown=function fchown(...args){callbackify(fs.fchownSync,args)},fstat=function fstat(...args){callbackify(fs.fstatSync,args)},fsync=function fsync(...args){callbackify(fs.fsyncSync,args)},ftruncate=function ftruncate(...args){callbackify(fs.ftruncateSync,args)},futimes=function futimes(...args){callbackify(fs.futimesSync,args)},lchmod=function lchmod(...args){callbackify(fs.lchmodSync,args)},lchown=function lchown(...args){callbackify(fs.lchownSync,args)},link=function link(...args){callbackify(fs.linkSync,args)},mkdir=function mkdir(...args){callbackify(fs.mkdirSync,args)},mkdtemp=function mkdtemp(...args){callbackify(fs.mkdtempSync,args)},open=function open(...args){callbackify(fs.openSync,args)},read=function read(...args){callbackify(fs.readSync,args)},write=function write(...args){callbackify(fs.writeSync,args)},readdir=function readdir(...args){const callback=args[args.length-1];if(typeof callback!==\"function\")@throwTypeError(\"Callback must be a function\");fs.readdir(...args).then((result)=>callback(null,result),callback)},readFile=function readFile(...args){const callback=args[args.length-1];if(typeof callback!==\"function\")@throwTypeError(\"Callback must be a function\");fs.readFile(...args).then((result)=>callback(null,result),callback)},writeFile=function writeFile(...args){callbackify(fs.writeFileSync,args)},readlink=function readlink(...args){callbackify(fs.readlinkSync,args)},realpath=function realpath(...args){callbackify(fs.realpathSync,args)},rename=function rename(...args){callbackify(fs.renameSync,args)},lstat=function lstat(...args){const callback=args[args.length-1];if(typeof callback!==\"function\")@throwTypeError(\"Callback must be a function\");fs.lstat(...args).then((result)=>callback(null,result),callback)},stat=function stat(...args){const callback=args[args.length-1];if(typeof callback!==\"function\")@throwTypeError(\"Callback must be a function\");fs.stat(...args).then((result)=>callback(null,result),callback)},symlink=function symlink(...args){callbackify(fs.symlinkSync,args)},truncate=function truncate(...args){callbackify(fs.truncateSync,args)},unlink=function unlink(...args){callbackify(fs.unlinkSync,args)},utimes=function utimes(...args){callbackify(fs.utimesSync,args)},lutimes=function lutimes(...args){callbackify(fs.lutimesSync,args)},accessSync=fs.accessSync.bind(fs),appendFileSync=fs.appendFileSync.bind(fs),closeSync=fs.closeSync.bind(fs),copyFileSync=fs.copyFileSync.bind(fs),existsSync=fs.existsSync.bind(fs),chownSync=fs.chownSync.bind(fs),chmodSync=fs.chmodSync.bind(fs),fchmodSync=fs.fchmodSync.bind(fs),fchownSync=fs.fchownSync.bind(fs),fstatSync=fs.fstatSync.bind(fs),fsyncSync=fs.fsyncSync.bind(fs),ftruncateSync=fs.ftruncateSync.bind(fs),futimesSync=fs.futimesSync.bind(fs),lchmodSync=fs.lchmodSync.bind(fs),lchownSync=fs.lchownSync.bind(fs),linkSync=fs.linkSync.bind(fs),lstatSync=fs.lstatSync.bind(fs),mkdirSync=fs.mkdirSync.bind(fs),mkdtempSync=fs.mkdtempSync.bind(fs),openSync=fs.openSync.bind(fs),readSync=fs.readSync.bind(fs),writeSync=fs.writeSync.bind(fs),readdirSync=fs.readdirSync.bind(fs),readFileSync=fs.readFileSync.bind(fs),writeFileSync=fs.writeFileSync.bind(fs),readlinkSync=fs.readlinkSync.bind(fs),realpathSync=fs.realpathSync.bind(fs),renameSync=fs.renameSync.bind(fs),statSync=fs.statSync.bind(fs),symlinkSync=fs.symlinkSync.bind(fs),truncateSync=fs.truncateSync.bind(fs),unlinkSync=fs.unlinkSync.bind(fs),utimesSync=fs.utimesSync.bind(fs),lutimesSync=fs.lutimesSync.bind(fs),rmSync=fs.rmSync.bind(fs),rmdirSync=fs.rmdirSync.bind(fs),writev=(fd,buffers,position,callback)=>{if(typeof position===\"function\")callback=position,position=null;queueMicrotask(()=>{try{var written=fs.writevSync(fd,buffers,position)}catch(e){callback(e)}callback(null,written,buffers)})},writevSync=fs.writevSync.bind(fs),readv=(fd,buffers,position,callback)=>{if(typeof position===\"function\")callback=position,position=null;queueMicrotask(()=>{try{var written=fs.readvSync(fd,buffers,position)}catch(e){callback(e)}callback(null,written,buffers)})},readvSync=fs.readvSync.bind(fs),Dirent=fs.Dirent,Stats=fs.Stats,watch=function watch(path,options,listener){return new FSWatcher(path,options,listener)};function callbackify(fsFunction,args){try{const result=fsFunction.apply(fs,args.slice(0,args.length-1)),callback=args[args.length-1];if(typeof callback===\"function\")queueMicrotask(()=>callback(null,result))}catch(e){const callback=args[args.length-1];if(typeof callback===\"function\")queueMicrotask(()=>callback(e))}}var readStreamPathFastPathSymbol=Symbol.for(\"Bun.Node.readStreamPathFastPath\");const readStreamSymbol=Symbol.for(\"Bun.NodeReadStream\"),readStreamPathOrFdSymbol=Symbol.for(\"Bun.NodeReadStreamPathOrFd\"),writeStreamSymbol=Symbol.for(\"Bun.NodeWriteStream\");var writeStreamPathFastPathSymbol=Symbol.for(\"Bun.NodeWriteStreamFastPath\"),writeStreamPathFastPathCallSymbol=Symbol.for(\"Bun.NodeWriteStreamFastPathCall\"),kIoDone=Symbol.for(\"kIoDone\"),defaultReadStreamOptions={file:void 0,fd:void 0,flags:\"r\",encoding:void 0,mode:438,autoClose:!0,emitClose:!0,start:0,end:Infinity,highWaterMark:65536,fs:{read,open:(path,flags,mode,cb)=>{var fd;try{fd=openSync(path,flags,mode)}catch(e){cb(e);return}cb(null,fd)},openSync,close},autoDestroy:!0},ReadStreamClass;ReadStream=function(InternalReadStream){return ReadStreamClass=InternalReadStream,Object.defineProperty(ReadStreamClass.prototype,Symbol.toStringTag,{value:\"ReadStream\",enumerable:!1}),Object.defineProperty(function ReadStream(path,options){return new InternalReadStream(path,options)},Symbol.hasInstance,{value(instance){return instance instanceof InternalReadStream}})}(class ReadStream2 extends Stream._getNativeReadableStreamPrototype(2,Stream.Readable){constructor(pathOrFd,options=defaultReadStreamOptions){if(typeof options!==\"object\"||!options)@throwTypeError(\"Expected options to be an object\");var{flags=defaultReadStreamOptions.flags,encoding=defaultReadStreamOptions.encoding,mode=defaultReadStreamOptions.mode,autoClose=defaultReadStreamOptions.autoClose,emitClose=defaultReadStreamOptions.emitClose,start=defaultReadStreamOptions.start,end=defaultReadStreamOptions.end,autoDestroy=defaultReadStreamOptions.autoClose,fs:fs2=defaultReadStreamOptions.fs,highWaterMark=defaultReadStreamOptions.highWaterMark}=options;if(pathOrFd\?.constructor\?.name===\"URL\")pathOrFd=Bun.fileURLToPath(pathOrFd);var tempThis={};if(typeof pathOrFd===\"string\"){if(pathOrFd.startsWith(\"file://\"))pathOrFd=Bun.fileURLToPath(pathOrFd);if(pathOrFd.length===0)@throwTypeError(\"Expected path to be a non-empty string\");tempThis.path=tempThis.file=tempThis[readStreamPathOrFdSymbol]=pathOrFd}else if(typeof pathOrFd===\"number\"){if(pathOrFd|=0,pathOrFd<0)@throwTypeError(\"Expected fd to be a positive integer\");tempThis.fd=tempThis[readStreamPathOrFdSymbol]=pathOrFd,tempThis.autoClose=!1}else @throwTypeError(\"Expected a path or file descriptor\");if(!tempThis.fd)tempThis.fd=fs2.openSync(pathOrFd,flags,mode);var fileRef=Bun.file(tempThis.fd),stream=fileRef.stream(),native=@direct(stream);if(!native)throw debug(\"no native readable stream\"),new Error(\"no native readable stream\");var{stream:ptr}=native;super(ptr,{...options,encoding,autoDestroy,autoClose,emitClose,highWaterMark});if(Object.assign(this,tempThis),this.#fileRef=fileRef,this.end=end,this._read=this.#internalRead,this.start=start,this.flags=flags,this.mode=mode,this.emitClose=emitClose,this[readStreamPathFastPathSymbol]=start===0&&end===Infinity&&autoClose&&fs2===defaultReadStreamOptions.fs&&(encoding===\"buffer\"||encoding===\"binary\"||encoding==null||encoding===\"utf-8\"||encoding===\"utf8\"),this._readableState.autoClose=autoDestroy=autoClose,this._readableState.highWaterMark=highWaterMark,start!==void 0)this.pos=start}#fileRef;#fs;file;path;fd=null;flags;mode;start;end;pos;bytesRead=0;#fileSize=-1;_read;[readStreamSymbol]=!0;[readStreamPathOrFdSymbol];[readStreamPathFastPathSymbol];_construct(callback){if(super._construct)super._construct(callback);else callback();this.emit(\"open\",this.fd),this.emit(\"ready\")}_destroy(err,cb){super._destroy(err,cb);try{var fd=this.fd;if(this[readStreamPathFastPathSymbol]=!1,!fd)cb(err);else this.#fs.close(fd,(er)=>{cb(er||err)}),this.fd=null}catch(e){throw e}}close(cb){if(typeof cb===\"function\")eos_()(this,cb);this.destroy()}push(chunk){var bytesRead=chunk\?.length\?\?0;if(bytesRead>0){this.bytesRead+=bytesRead;var currPos=this.pos;if(currPos!==void 0){if(this.bytesRead=this.end)chunk=chunk.slice(0,this.end-this.start);return super.push(chunk,...rest)}var end=this.end;if(end&&this.bytesRead>=end){chunk=chunk.slice(0,end-currPos);var[_,...rest]=arguments;return this.pos=this.bytesRead,super.push(chunk,...rest)}this.pos=this.bytesRead}}return super.push(...arguments)}#internalRead(n){var{pos,end,bytesRead,fd,encoding}=this;if(n=pos!==void 0\?Math.min(end-pos+1,n):Math.min(end-bytesRead+1,n),debug(\"n @ fs.ReadStream.#internalRead, after clamp\",n),n<=0){this.push(null);return}if(this.#fileSize===-1&&bytesRead===0&&pos===void 0){var stat2=fstatSync(fd);if(this.#fileSize=stat2.size,this.#fileSize>0&&n>this.#fileSize)n=this.#fileSize+1;debug(\"fileSize\",this.#fileSize)}this[kIoDone]=!1;var res=super._read(n);if(debug(\"res -- undefined\? why\?\",res),@isPromise(res)){var then=res\?.then;if(then&&@isCallable(then))then(()=>{if(this[kIoDone]=!0,this.destroyed)this.emit(kIoDone)},(er)=>{this[kIoDone]=!0,this.#errorOrDestroy(er)})}else if(this[kIoDone]=!0,this.destroyed)this.emit(kIoDone),this.#errorOrDestroy(new Error(\"ERR_STREAM_PREMATURE_CLOSE\"))}#errorOrDestroy(err,sync=null){var{_readableState:r={destroyed:!1,autoDestroy:!1},_writableState:w={destroyed:!1,autoDestroy:!1}}=this;if(w\?.destroyed||r\?.destroyed)return this;if(r\?.autoDestroy||w\?.autoDestroy)this.destroy(err);else if(err)this.emit(\"error\",err)}pause(){return this[readStreamPathFastPathSymbol]=!1,super.pause()}resume(){return this[readStreamPathFastPathSymbol]=!1,super.resume()}unshift(...args){return this[readStreamPathFastPathSymbol]=!1,super.unshift(...args)}pipe(dest,pipeOpts){if(this[readStreamPathFastPathSymbol]&&(pipeOpts\?.end\?\?!0)&&this._readableState\?.pipes\?.length===0){if((writeStreamPathFastPathSymbol in dest)&&dest[writeStreamPathFastPathSymbol]){if(dest[writeStreamPathFastPathCallSymbol](this,pipeOpts))return this}}return this[readStreamPathFastPathSymbol]=!1,super.pipe(dest,pipeOpts)}});function createReadStream(path,options){return new ReadStream(path,options)}var defaultWriteStreamOptions={fd:null,start:void 0,pos:void 0,encoding:void 0,flags:\"w\",mode:438,fs:{write,close,open,openSync}},WriteStreamClass;WriteStream=function(InternalWriteStream){return WriteStreamClass=InternalWriteStream,Object.defineProperty(WriteStreamClass.prototype,Symbol.toStringTag,{value:\"WritesStream\",enumerable:!1}),Object.defineProperty(function WriteStream(path,options){return new InternalWriteStream(path,options)},Symbol.hasInstance,{value(instance){return instance instanceof InternalWriteStream}})}(class WriteStream2 extends Stream.NativeWritable{constructor(path,options=defaultWriteStreamOptions){if(!options)@throwTypeError(\"Expected options to be an object\");var{fs:fs2=defaultWriteStreamOptions.fs,start=defaultWriteStreamOptions.start,flags=defaultWriteStreamOptions.flags,mode=defaultWriteStreamOptions.mode,autoClose=!0,emitClose=!1,autoDestroy=autoClose,encoding=defaultWriteStreamOptions.encoding,fd=defaultWriteStreamOptions.fd,pos=defaultWriteStreamOptions.pos}=options,tempThis={};if(typeof path===\"string\"){if(path.length===0)@throwTypeError(\"Expected a non-empty path\");if(path.startsWith(\"file:\"))path=Bun.fileURLToPath(path);tempThis.path=path,tempThis.fd=null,tempThis[writeStreamPathFastPathSymbol]=autoClose&&(start===void 0||start===0)&&fs2.write===defaultWriteStreamOptions.fs.write&&fs2.close===defaultWriteStreamOptions.fs.close}else tempThis.fd=fd,tempThis[writeStreamPathFastPathSymbol]=!1;if(!tempThis.fd)tempThis.fd=fs2.openSync(path,flags,mode);super(tempThis.fd,{...options,decodeStrings:!1,autoDestroy,emitClose,fd:tempThis});if(Object.assign(this,tempThis),typeof fs2\?.write!==\"function\")@throwTypeError(\"Expected fs.write to be a function\");if(typeof fs2\?.close!==\"function\")@throwTypeError(\"Expected fs.close to be a function\");if(typeof fs2\?.open!==\"function\")@throwTypeError(\"Expected fs.open to be a function\");if(typeof path===\"object\"&&path){if(path instanceof URL)path=Bun.fileURLToPath(path)}if(typeof path!==\"string\"&&typeof fd!==\"number\")@throwTypeError(\"Expected a path or file descriptor\");if(this.start=start,this.#fs=fs2,this.flags=flags,this.mode=mode,this.start!==void 0)this.pos=this.start;if(encoding!==defaultWriteStreamOptions.encoding){if(this.setDefaultEncoding(encoding),encoding!==\"buffer\"&&encoding!==\"utf8\"&&encoding!==\"utf-8\"&&encoding!==\"binary\")this[writeStreamPathFastPathSymbol]=!1}}get autoClose(){return this._writableState.autoDestroy}set autoClose(val){this._writableState.autoDestroy=val}destroySoon=this.end;open(){}path;fd;flags;mode;#fs;bytesWritten=0;pos;[writeStreamPathFastPathSymbol];[writeStreamSymbol]=!0;start;[writeStreamPathFastPathCallSymbol](readStream,pipeOpts){if(!this[writeStreamPathFastPathSymbol])return!1;if(this.fd!==null)return this[writeStreamPathFastPathSymbol]=!1,!1;return this[kIoDone]=!1,readStream[kIoDone]=!1,Bun.write(this[writeStreamPathFastPathSymbol],readStream[readStreamPathOrFdSymbol]).then((bytesWritten)=>{readStream[kIoDone]=this[kIoDone]=!0,this.bytesWritten+=bytesWritten,readStream.bytesRead+=bytesWritten,this.end(),readStream.close()},(err)=>{readStream[kIoDone]=this[kIoDone]=!0,this.#errorOrDestroy(err),readStream.emit(\"error\",err)})}isBunFastPathEnabled(){return this[writeStreamPathFastPathSymbol]}disableBunFastPath(){this[writeStreamPathFastPathSymbol]=!1}#handleWrite(er,bytes){if(er)return this.#errorOrDestroy(er);this.bytesWritten+=bytes}#internalClose(err,cb){this[writeStreamPathFastPathSymbol]=!1;var fd=this.fd;this.#fs.close(fd,(er)=>{this.fd=null,cb(err||er)})}_construct(callback){if(typeof this.fd===\"number\"){callback();return}callback(),this.emit(\"open\",this.fd),this.emit(\"ready\")}_destroy(err,cb){if(this.fd===null)return cb(err);if(this[kIoDone]){this.once(kIoDone,()=>this.#internalClose(err,cb));return}this.#internalClose(err,cb)}[kIoDone]=!1;close(cb){if(cb){if(this.closed){process.nextTick(cb);return}this.on(\"close\",cb)}if(!this.autoClose)this.on(\"finish\",this.destroy);this.end()}write(chunk,encoding=this._writableState.defaultEncoding,cb){if(this[writeStreamPathFastPathSymbol]=!1,typeof chunk===\"string\")chunk=Buffer.from(chunk,encoding);var native=this.pos===void 0;return this[kIoDone]=!0,super.write(chunk,encoding,native\?(err,bytes)=>{if(this[kIoDone]=!1,this.#handleWrite(err,bytes),this.emit(kIoDone),cb)!err\?cb():cb(err)}:()=>{},native)}#internalWriteSlow(chunk,encoding,cb){this.#fs.write(this.fd,chunk,0,chunk.length,this.pos,(err,bytes)=>{this[kIoDone]=!1,this.#handleWrite(err,bytes),this.emit(kIoDone),!err\?cb():cb(err)})}end(chunk,encoding,cb){var native=this.pos===void 0;return super.end(chunk,encoding,cb,native)}_write=this.#internalWriteSlow;_writev=void 0;get pending(){return this.fd===null}_destroy(err,cb){this.close(err,cb)}#errorOrDestroy(err){var{_readableState:r={destroyed:!1,autoDestroy:!1},_writableState:w={destroyed:!1,autoDestroy:!1}}=this;if(w\?.destroyed||r\?.destroyed)return this;if(r\?.autoDestroy||w\?.autoDestroy)this.destroy(err);else if(err)this.emit(\"error\",err)}});function createWriteStream(path,options){return new WriteStream(path,options)}return Object.defineProperties(fs,{createReadStream:{value:createReadStream},createWriteStream:{value:createWriteStream},ReadStream:{value:ReadStream},WriteStream:{value:WriteStream}}),realpath.native=realpath,realpathSync.native=realpathSync,$={access,accessSync,appendFile,appendFileSync,chmod,chmodSync,chown,chownSync,close,closeSync,constants:promises.constants,copyFile,copyFileSync,createReadStream,createWriteStream,Dirent,exists,existsSync,fchmod,fchmodSync,fchown,fchownSync,fstat,fstatSync,fsync,fsyncSync,ftruncate,ftruncateSync,futimes,futimesSync,lchmod,lchmodSync,lchown,lchownSync,link,linkSync,lstat,lstatSync,lutimes,lutimesSync,mkdir,mkdirSync,mkdtemp,mkdtempSync,open,openSync,promises,read,readFile,readFileSync,readSync,readdir,readdirSync,readlink,readlinkSync,realpath,realpathSync,rename,renameSync,rm,rmSync,rmdir,rmdirSync,stat,statSync,Stats,symlink,symlinkSync,truncate,truncateSync,unlink,unlinkSync,utimes,utimesSync,write,writeFile,writeFileSync,writeSync,WriteStream,ReadStream,watch,FSWatcher,writev,writevSync,readv,readvSync,[Symbol.for(\"::bunternal::\")]:{ReadStreamClass,WriteStreamClass}},$})\n"_s; +static constexpr ASCIILiteral NodeFSPromisesCode = "(function (){\"use strict\";var $;const{createFIFO}=globalThis[globalThis.Symbol.for('Bun.lazy')](\"primordials\");var fs=Bun.fs();const notrace=\"::bunternal::\";var promisify={[notrace]:(fsFunction)=>{return async function(...args){return await 1,fsFunction.apply(fs,args)}}}[notrace];function watch(filename,options={}){if(filename instanceof URL)@throwTypeError(\"Watch URLs are not supported yet\");else if(Buffer.isBuffer(filename))filename=filename.toString();else if(typeof filename!==\"string\")@throwTypeError(\"Expected path to be a string or Buffer\");let nextEventResolve=null;if(typeof options===\"string\")options={encoding:options};const queue=createFIFO(),watcher=fs.watch(filename,options||{},(eventType,filename2)=>{if(queue.push({eventType,filename:filename2}),nextEventResolve){const resolve=nextEventResolve;nextEventResolve=null,resolve()}});return{[Symbol.asyncIterator](){let closed=!1;return{async next(){while(!closed){let event;while(event=queue.shift()){if(event.eventType===\"close\")return closed=!0,{value:void 0,done:!0};if(event.eventType===\"error\")throw closed=!0,event.filename;return{value:event,done:!1}}const{promise,resolve}=Promise.withResolvers();nextEventResolve=resolve,await promise}return{value:void 0,done:!0}},return(){if(!closed){if(watcher.close(),closed=!0,nextEventResolve){const resolve=nextEventResolve;nextEventResolve=null,resolve()}}return{value:void 0,done:!0}}}}}}return module.exports={access:promisify(fs.accessSync),appendFile:promisify(fs.appendFileSync),close:promisify(fs.closeSync),copyFile:promisify(fs.copyFileSync),exists:promisify(fs.existsSync),chown:promisify(fs.chownSync),chmod:promisify(fs.chmodSync),fchmod:promisify(fs.fchmodSync),fchown:promisify(fs.fchownSync),fstat:promisify(fs.fstatSync),fsync:promisify(fs.fsyncSync),ftruncate:promisify(fs.ftruncateSync),futimes:promisify(fs.futimesSync),lchmod:promisify(fs.lchmodSync),lchown:promisify(fs.lchownSync),link:promisify(fs.linkSync),lstat:fs.lstat.bind(fs),mkdir:promisify(fs.mkdirSync),mkdtemp:promisify(fs.mkdtempSync),open:promisify(fs.openSync),read:promisify(fs.readSync),write:promisify(fs.writeSync),readdir:fs.readdir.bind(fs),readFile:fs.readFile.bind(fs),writeFile:promisify(fs.writeFileSync),readlink:promisify(fs.readlinkSync),realpath:promisify(fs.realpathSync),rename:promisify(fs.renameSync),stat:fs.stat.bind(fs),symlink:promisify(fs.symlinkSync),truncate:promisify(fs.truncateSync),unlink:promisify(fs.unlinkSync),utimes:promisify(fs.utimesSync),lutimes:promisify(fs.lutimesSync),rm:promisify(fs.rmSync),rmdir:promisify(fs.rmdirSync),writev:(fd,buffers,position)=>{return new Promise((resolve,reject)=>{try{var bytesWritten=fs.writevSync(fd,buffers,position)}catch(err){reject(err);return}resolve({bytesWritten,buffers})})},readv:(fd,buffers,position)=>{return new Promise((resolve,reject)=>{try{var bytesRead=fs.readvSync(fd,buffers,position)}catch(err){reject(err);return}resolve({bytesRead,buffers})})},constants,watch},$})\n"_s; +static constexpr ASCIILiteral NodeHttpCode = "(function (){\"use strict\";var $;const EventEmitter=@requireId(13),{isTypedArray}=@requireBuiltin(55),headerCharRegex=/[^\\t\\x20-\\x7e\\x80-\\xff]/;function checkInvalidHeaderChar(val){return RegExpPrototypeExec.call(headerCharRegex,val)!==null}const validateHeaderName=(name,label)=>{if(typeof name!==\"string\"||!name||!checkIsHttpToken(name))throw new Error(\"ERR_INVALID_HTTP_TOKEN\")},validateHeaderValue=(name,value)=>{if(value===void 0)throw new Error(\"ERR_HTTP_INVALID_HEADER_VALUE\");if(checkInvalidHeaderChar(value))throw new Error(\"ERR_INVALID_CHAR\")};function isIPv6(input){return new RegExp(\"^((\?:(\?:[0-9a-fA-F]{1,4}):){7}(\?:(\?:[0-9a-fA-F]{1,4})|:)|(\?:(\?:[0-9a-fA-F]{1,4}):){6}(\?:((\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])[.]){3}(\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])|:(\?:[0-9a-fA-F]{1,4})|:)|(\?:(\?:[0-9a-fA-F]{1,4}):){5}(\?::((\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])[.]){3}(\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])|(:(\?:[0-9a-fA-F]{1,4})){1,2}|:)|(\?:(\?:[0-9a-fA-F]{1,4}):){4}(\?:(:(\?:[0-9a-fA-F]{1,4})){0,1}:((\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])[.]){3}(\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])|(:(\?:[0-9a-fA-F]{1,4})){1,3}|:)|(\?:(\?:[0-9a-fA-F]{1,4}):){3}(\?:(:(\?:[0-9a-fA-F]{1,4})){0,2}:((\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])[.]){3}(\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])|(:(\?:[0-9a-fA-F]{1,4})){1,4}|:)|(\?:(\?:[0-9a-fA-F]{1,4}):){2}(\?:(:(\?:[0-9a-fA-F]{1,4})){0,3}:((\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])[.]){3}(\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])|(:(\?:[0-9a-fA-F]{1,4})){1,5}|:)|(\?:(\?:[0-9a-fA-F]{1,4}):){1}(\?:(:(\?:[0-9a-fA-F]{1,4})){0,4}:((\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])[.]){3}(\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])|(:(\?:[0-9a-fA-F]{1,4})){1,6}|:)|(\?::((\?::(\?:[0-9a-fA-F]{1,4})){0,5}:((\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])[.]){3}(\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])|(\?::(\?:[0-9a-fA-F]{1,4})){1,7}|:)))(%[0-9a-zA-Z-.:]{1,})\?$\").test(input)}const{URL}=globalThis,globalReportError=globalThis.reportError,setTimeout=globalThis.setTimeout,fetch=Bun.fetch,nop=()=>{},__DEBUG__=process.env.__DEBUG__,debug=__DEBUG__\?(...args)=>console.log(\"node:http\",...args):nop,kEmptyObject=Object.freeze(Object.create(null)),kOutHeaders=Symbol.for(\"kOutHeaders\"),kEndCalled=Symbol.for(\"kEndCalled\"),kAbortController=Symbol.for(\"kAbortController\"),kClearTimeout=Symbol(\"kClearTimeout\"),kCorked=Symbol.for(\"kCorked\"),searchParamsSymbol=Symbol.for(\"query\"),StringPrototypeSlice=String.prototype.slice,StringPrototypeStartsWith=String.prototype.startsWith,StringPrototypeToUpperCase=String.prototype.toUpperCase,StringPrototypeIncludes=String.prototype.includes,StringPrototypeCharCodeAt=String.prototype.charCodeAt,StringPrototypeIndexOf=String.prototype.indexOf,ArrayIsArray=Array.isArray,RegExpPrototypeExec=RegExp.prototype.exec,ObjectAssign=Object.assign,ObjectPrototypeHasOwnProperty=Object.prototype.hasOwnProperty,INVALID_PATH_REGEX=/[^\\u0021-\\u00ff]/,NODE_HTTP_WARNING=\"WARN: Agent is mostly unused in Bun's implementation of http. If you see strange behavior, this is probably the cause.\";var _defaultHTTPSAgent,kInternalRequest=Symbol(\"kInternalRequest\"),kInternalSocketData=Symbol.for(\"::bunternal::\");const kEmptyBuffer=Buffer.alloc(0);function isValidTLSArray(obj){if(typeof obj===\"string\"||isTypedArray(obj)||obj instanceof ArrayBuffer||obj instanceof Blob)return!0;if(Array.isArray(obj)){for(var i=0;i{this.close()}),host=port\?.host,port=port\?.port,typeof port\?.callback===\"function\")onListen=port\?.callback}if(typeof backlog===\"function\")onListen=backlog;const ResponseClass=this.#options.ServerResponse||ServerResponse,RequestClass=this.#options.IncomingMessage||IncomingMessage;try{const tls=this.#tls;if(tls)this.serverName=tls.serverName||host||\"localhost\";this.#server=Bun.serve({tls,port,hostname:host,websocket:{open(ws){ws.data.open(ws)},message(ws,message){ws.data.message(ws,message)},close(ws,code,reason){ws.data.close(ws,code,reason)},drain(ws){ws.data.drain(ws)}},fetch(req,_server){var pendingResponse,pendingError,rejectFunction,resolveFunction,reject=(err)=>{if(pendingError)return;if(pendingError=err,rejectFunction)rejectFunction(err)},reply=function(resp){if(pendingResponse)return;if(pendingResponse=resp,resolveFunction)resolveFunction(resp)};const http_req=new RequestClass(req),http_res=new ResponseClass({reply,req:http_req});if(http_req.once(\"error\",(err)=>reject(err)),http_res.once(\"error\",(err)=>reject(err)),req.headers.get(\"upgrade\")){const socket=new FakeSocket;socket[kInternalSocketData]=[_server,http_res,req],server.emit(\"upgrade\",http_req,socket,kEmptyBuffer)}else server.emit(\"request\",http_req,http_res);if(pendingError)throw pendingError;if(pendingResponse)return pendingResponse;return new Promise((resolve,reject2)=>{resolveFunction=resolve,rejectFunction=reject2})}}),setTimeout(emitListeningNextTick,1,this,onListen,null,this.#server.hostname,this.#server.port)}catch(err){setTimeout(emitListeningNextTick,1,this,onListen,err)}return this}setTimeout(msecs,callback){}}function assignHeaders(object,req){var headers=req.headers.toJSON();const rawHeaders=@newArrayWithSize(req.headers.count*2);var i=0;for(let key in headers)rawHeaders[i++]=key,rawHeaders[i++]=headers[key];object.headers=headers,object.rawHeaders=rawHeaders}function destroyBodyStreamNT(bodyStream){bodyStream.destroy()}var defaultIncomingOpts={type:\"request\"};function getDefaultHTTPSAgent(){return _defaultHTTPSAgent\?\?=new Agent({defaultPort:443,protocol:\"https:\"})}class IncomingMessage extends Readable{method;complete;constructor(req,defaultIncomingOpts2){const method=req.method;super();const url=new URL(req.url);var{type=\"request\",[kInternalRequest]:nodeReq}=defaultIncomingOpts2||{};this.#noBody=type===\"request\"\?method===\"GET\"||method===\"HEAD\"||method===\"TRACE\"||method===\"CONNECT\"||method===\"OPTIONS\"||(parseInt(req.headers.get(\"Content-Length\")||\"\")||0)===0:!1,this.#req=req,this.method=method,this.#type=type,this.complete=!!this.#noBody,this.#bodyStream=void 0;const socket=new FakeSocket;socket.remoteAddress=url.hostname,socket.remotePort=url.port,this.#fakeSocket=socket,this.url=url.pathname+url.search,this.#nodeReq=nodeReq,assignHeaders(this,req)}headers;rawHeaders;_consuming=!1;_dumped=!1;#bodyStream;#fakeSocket;#noBody=!1;#aborted=!1;#req;url;#type;#nodeReq;get req(){return this.#nodeReq}_construct(callback){if(this.#type===\"response\"||this.#noBody){callback();return}const contentLength=this.#req.headers.get(\"content-length\");if((contentLength\?parseInt(contentLength,10):0)===0){this.#noBody=!0,callback();return}callback()}async#consumeStream(reader){while(!0){var{done,value}=await reader.readMany();if(this.#aborted)return;if(done){this.push(null),this.destroy();break}for(var v of value)this.push(v)}}_read(size){if(this.#noBody)this.push(null),this.complete=!0;else if(this.#bodyStream==null){const reader=this.#req.body\?.getReader();if(!reader){this.push(null);return}this.#bodyStream=reader,this.#consumeStream(reader)}}get aborted(){return this.#aborted}#abort(){if(this.#aborted)return;this.#aborted=!0;var bodyStream=this.#bodyStream;if(!bodyStream)return;bodyStream.cancel(),this.complete=!0,this.#bodyStream=void 0,this.push(null)}get connection(){return this.#fakeSocket}get statusCode(){return this.#req.status}get statusMessage(){return STATUS_CODES[this.#req.status]}get httpVersion(){return\"1.1\"}get rawTrailers(){return[]}get httpVersionMajor(){return 1}get httpVersionMinor(){return 1}get trailers(){return kEmptyObject}get socket(){return this.#fakeSocket\?\?=new FakeSocket}set socket(val){this.#fakeSocket=val}setTimeout(msecs,callback){throw new Error(\"not implemented\")}}function emitErrorNt(msg,err,callback){if(callback(err),typeof msg.emit===\"function\"&&!msg._closed)msg.emit(\"error\",err)}function onError(self,err,cb){process.nextTick(()=>emitErrorNt(self,err,cb))}function write_(msg,chunk,encoding,callback,fromEnd){if(typeof callback!==\"function\")callback=nop;let len;if(chunk===null)throw new Error(\"ERR_STREAM_NULL_VALUES\");else if(typeof chunk===\"string\")len=Buffer.byteLength(chunk,encoding);else throw new Error(\"Invalid arg type for chunk\");let err;if(msg.finished)err=new Error(\"ERR_STREAM_WRITE_AFTER_END\");else if(msg.destroyed)err=new Error(\"ERR_STREAM_DESTROYED\");if(err){if(!msg.destroyed)onError(msg,err,callback);else process.nextTick(callback,err);return!1}if(!msg._header){if(fromEnd)msg._contentLength=len}if(!msg._hasBody)return debug(\"This type of response MUST NOT have a body. Ignoring write() calls.\"),process.nextTick(callback),!0;return!0}class OutgoingMessage extends Writable{constructor(){super(...arguments)}#headers;headersSent=!1;sendDate=!0;req;timeout;#finished=!1;[kEndCalled]=!1;#fakeSocket;#timeoutTimer;[kAbortController]=null;_implicitHeader(){}get headers(){if(!this.#headers)return kEmptyObject;return this.#headers.toJSON()}get shouldKeepAlive(){return!0}get chunkedEncoding(){return!1}set chunkedEncoding(value){}set shouldKeepAlive(value){}get useChunkedEncodingByDefault(){return!0}set useChunkedEncodingByDefault(value){}get socket(){return this.#fakeSocket\?\?=new FakeSocket}set socket(val){this.#fakeSocket=val}get connection(){return this.socket}get finished(){return this.#finished}appendHeader(name,value){var headers=this.#headers\?\?=new Headers;headers.append(name,value)}flushHeaders(){}getHeader(name){return getHeader(this.#headers,name)}getHeaders(){if(!this.#headers)return kEmptyObject;return this.#headers.toJSON()}getHeaderNames(){var headers=this.#headers;if(!headers)return[];return Array.from(headers.keys())}removeHeader(name){if(!this.#headers)return;this.#headers.delete(name)}setHeader(name,value){var headers=this.#headers\?\?=new Headers;return headers.set(name,value),this}hasHeader(name){if(!this.#headers)return!1;return this.#headers.has(name)}addTrailers(headers){throw new Error(\"not implemented\")}[kClearTimeout](){if(this.#timeoutTimer)clearTimeout(this.#timeoutTimer),this.removeAllListeners(\"timeout\"),this.#timeoutTimer=void 0}#onTimeout(){this.#timeoutTimer=void 0,this[kAbortController]\?.abort(),this.emit(\"timeout\")}setTimeout(msecs,callback){if(this.destroyed)return this;if(this.timeout=msecs=validateMsecs(msecs,\"msecs\"),clearTimeout(this.#timeoutTimer),msecs===0){if(callback!==void 0)validateFunction(callback,\"callback\"),this.removeListener(\"timeout\",callback);this.#timeoutTimer=void 0}else if(this.#timeoutTimer=setTimeout(this.#onTimeout.bind(this),msecs).unref(),callback!==void 0)validateFunction(callback,\"callback\"),this.once(\"timeout\",callback);return this}}let OriginalWriteHeadFn,OriginalImplicitHeadFn;class ServerResponse extends Writable{constructor({req,reply}){super();if(this.req=req,this._reply=reply,this.sendDate=!0,this.statusCode=200,this.headersSent=!1,this.statusMessage=void 0,this.#controller=void 0,this.#firstWrite=void 0,this._writableState.decodeStrings=!1,this.#deferred=void 0,req.method===\"HEAD\")this._hasBody=!1}req;_reply;sendDate;statusCode;#headers;headersSent=!1;statusMessage;#controller;#firstWrite;_sent100=!1;_defaultKeepAlive=!1;_removedConnection=!1;_removedContLen=!1;_hasBody=!0;#deferred=void 0;#finished=!1;_implicitHeader(){this.writeHead(this.statusCode)}_write(chunk,encoding,callback){if(!this.#firstWrite&&!this.headersSent){this.#firstWrite=chunk,callback();return}this.#ensureReadableStreamController((controller)=>{controller.write(chunk),callback()})}_writev(chunks,callback){if(chunks.length===1&&!this.headersSent&&!this.#firstWrite){this.#firstWrite=chunks[0].chunk,callback();return}this.#ensureReadableStreamController((controller)=>{for(let chunk of chunks)controller.write(chunk.chunk);callback()})}#ensureReadableStreamController(run){var thisController=this.#controller;if(thisController)return run(thisController);this.headersSent=!0;var firstWrite=this.#firstWrite;this.#firstWrite=void 0,this._reply(new Response(new ReadableStream({type:\"direct\",pull:(controller)=>{if(this.#controller=controller,firstWrite)controller.write(firstWrite);if(firstWrite=void 0,run(controller),!this.#finished)return new Promise((resolve)=>{this.#deferred=resolve})}}),{headers:this.#headers,status:this.statusCode,statusText:this.statusMessage\?\?STATUS_CODES[this.statusCode]}))}#drainHeadersIfObservable(){if(this._implicitHeader===OriginalImplicitHeadFn&&this.writeHead===OriginalWriteHeadFn)return;this._implicitHeader()}_final(callback){if(!this.headersSent){var data=this.#firstWrite||\"\";this.#firstWrite=void 0,this.#finished=!0,this.#drainHeadersIfObservable(),this._reply(new Response(data,{headers:this.#headers,status:this.statusCode,statusText:this.statusMessage\?\?STATUS_CODES[this.statusCode]})),callback&&callback();return}this.#finished=!0,this.#ensureReadableStreamController((controller)=>{controller.end(),callback();var deferred=this.#deferred;if(deferred)this.#deferred=void 0,deferred()})}writeProcessing(){throw new Error(\"not implemented\")}addTrailers(headers){throw new Error(\"not implemented\")}assignSocket(socket){throw new Error(\"not implemented\")}detachSocket(socket){throw new Error(\"not implemented\")}writeContinue(callback){throw new Error(\"not implemented\")}setTimeout(msecs,callback){throw new Error(\"not implemented\")}get shouldKeepAlive(){return!0}get chunkedEncoding(){return!1}set chunkedEncoding(value){}set shouldKeepAlive(value){}get useChunkedEncodingByDefault(){return!0}set useChunkedEncodingByDefault(value){}appendHeader(name,value){var headers=this.#headers\?\?=new Headers;headers.append(name,value)}flushHeaders(){}getHeader(name){return getHeader(this.#headers,name)}getHeaders(){var headers=this.#headers;if(!headers)return kEmptyObject;return headers.toJSON()}getHeaderNames(){var headers=this.#headers;if(!headers)return[];return Array.from(headers.keys())}removeHeader(name){if(!this.#headers)return;this.#headers.delete(name)}setHeader(name,value){var headers=this.#headers\?\?=new Headers;return headers.set(name,value),this}hasHeader(name){if(!this.#headers)return!1;return this.#headers.has(name)}writeHead(statusCode,statusMessage,headers){return _writeHead(statusCode,statusMessage,headers,this),this}}OriginalWriteHeadFn=ServerResponse.prototype.writeHead,OriginalImplicitHeadFn=ServerResponse.prototype._implicitHeader;class ClientRequest extends OutgoingMessage{#timeout;#res=null;#upgradeOrConnect=!1;#parser=null;#maxHeadersCount=null;#reusedSocket=!1;#host;#protocol;#method;#port;#useDefaultPort;#joinDuplicateHeaders;#maxHeaderSize;#agent=globalAgent;#path;#socketPath;#body=null;#fetchRequest;#signal=null;[kAbortController]=null;#timeoutTimer=void 0;#options;#finished;get path(){return this.#path}get port(){return this.#port}get method(){return this.#method}get host(){return this.#host}get protocol(){return this.#protocol}_write(chunk,encoding,callback){var body=this.#body;if(!body){this.#body=chunk,callback();return}this.#body=body+chunk,callback()}_writev(chunks,callback){var body=this.#body;if(!body){this.#body=chunks.join(),callback();return}this.#body=body+chunks.join(),callback()}_final(callback){if(this.#finished=!0,this[kAbortController]=new AbortController,this[kAbortController].signal.addEventListener(\"abort\",()=>{this[kClearTimeout]()}),this.#signal\?.aborted)this[kAbortController].abort();var method=this.#method,body=this.#body;try{this.#fetchRequest=fetch(`${this.#protocol}//${this.#host}${this.#useDefaultPort\?\"\":\":\"+this.#port}${this.#path}`,{method,headers:this.getHeaders(),body:body&&method!==\"GET\"&&method!==\"HEAD\"&&method!==\"OPTIONS\"\?body:void 0,redirect:\"manual\",verbose:Boolean(__DEBUG__),signal:this[kAbortController].signal,timeout:!1}).then((response)=>{var res=this.#res=new IncomingMessage(response,{type:\"response\",[kInternalRequest]:this});this.emit(\"response\",res)}).catch((err)=>{if(__DEBUG__)globalReportError(err);this.emit(\"error\",err)}).finally(()=>{this.#fetchRequest=null,this[kClearTimeout]()})}catch(err){if(__DEBUG__)globalReportError(err);this.emit(\"error\",err)}finally{callback()}}get aborted(){return this.#signal\?.aborted||!!this[kAbortController]\?.signal.aborted}abort(){if(this.aborted)return;this[kAbortController].abort()}constructor(input,options,cb){super();if(typeof input===\"string\"){const urlStr=input;try{var urlObject=new URL(urlStr)}catch(e){@throwTypeError(`Invalid URL: ${urlStr}`)}input=urlToHttpOptions(urlObject)}else if(input&&typeof input===\"object\"&&input instanceof URL)input=urlToHttpOptions(input);else cb=options,options=input,input=null;if(typeof options===\"function\")cb=options,options=input||kEmptyObject;else options=ObjectAssign(input||{},options);var defaultAgent=options._defaultAgent||Agent.globalAgent;let protocol=options.protocol;if(!protocol)if(options.port===443)protocol=\"https:\";else protocol=defaultAgent.protocol||\"http:\";switch(this.#protocol=protocol,this.#agent\?.protocol){case void 0:break;case\"http:\":if(protocol===\"https:\"){defaultAgent=this.#agent=getDefaultHTTPSAgent();break}case\"https:\":if(protocol===\"https\"){defaultAgent=this.#agent=Agent.globalAgent;break}default:break}if(options.path){const path=String(options.path);if(RegExpPrototypeExec.call(INVALID_PATH_REGEX,path)!==null)throw debug('Path contains unescaped characters: \"%s\"',path),new Error(\"Path contains unescaped characters\")}if(protocol!==\"http:\"&&protocol!==\"https:\"&&protocol){const expectedProtocol=defaultAgent\?.protocol\?\?\"http:\";throw new Error(`Protocol mismatch. Expected: ${expectedProtocol}. Got: ${protocol}`)}const defaultPort=protocol===\"https:\"\?443:80;this.#port=options.port||options.defaultPort||this.#agent\?.defaultPort||defaultPort,this.#useDefaultPort=this.#port===defaultPort;const host=this.#host=options.host=validateHost(options.hostname,\"hostname\")||validateHost(options.host,\"host\")||\"localhost\";this.#socketPath=options.socketPath;const signal=options.signal;if(signal)signal.addEventListener(\"abort\",()=>{this[kAbortController]\?.abort()}),this.#signal=signal;let method=options.method;const methodIsString=typeof method===\"string\";if(method!==null&&method!==void 0&&!methodIsString)throw new Error(\"ERR_INVALID_ARG_TYPE: options.method\");if(methodIsString&&method){if(!checkIsHttpToken(method))throw new Error(\"ERR_INVALID_HTTP_TOKEN: Method\");method=this.#method=StringPrototypeToUpperCase.call(method)}else method=this.#method=\"GET\";const _maxHeaderSize=options.maxHeaderSize;this.#maxHeaderSize=_maxHeaderSize;var _joinDuplicateHeaders=options.joinDuplicateHeaders;if(this.#joinDuplicateHeaders=_joinDuplicateHeaders,this.#path=options.path||\"/\",cb)this.once(\"response\",cb);__DEBUG__&&debug(`new ClientRequest: ${this.#method} ${this.#protocol}//${this.#host}:${this.#port}${this.#path}`),this.#finished=!1,this.#res=null,this.#upgradeOrConnect=!1,this.#parser=null,this.#maxHeadersCount=null,this.#reusedSocket=!1,this.#host=host,this.#protocol=protocol;var timeout=options.timeout;if(timeout!==void 0&&timeout!==0)this.setTimeout(timeout,void 0);if(!ArrayIsArray(headers)){var headers=options.headers;if(headers)for(let key in headers)this.setHeader(key,headers[key]);var auth=options.auth;if(auth&&!this.getHeader(\"Authorization\"))this.setHeader(\"Authorization\",\"Basic \"+Buffer.from(auth).toString(\"base64\"))}var{signal:_signal,...optsWithoutSignal}=options;this.#options=optsWithoutSignal}setSocketKeepAlive(enable=!0,initialDelay=0){__DEBUG__&&debug(`${NODE_HTTP_WARNING}\\n`,\"WARN: ClientRequest.setSocketKeepAlive is a no-op\")}setNoDelay(noDelay=!0){__DEBUG__&&debug(`${NODE_HTTP_WARNING}\\n`,\"WARN: ClientRequest.setNoDelay is a no-op\")}[kClearTimeout](){if(this.#timeoutTimer)clearTimeout(this.#timeoutTimer),this.#timeoutTimer=void 0,this.removeAllListeners(\"timeout\")}#onTimeout(){this.#timeoutTimer=void 0,this[kAbortController]\?.abort(),this.emit(\"timeout\")}setTimeout(msecs,callback){if(this.destroyed)return this;if(this.timeout=msecs=validateMsecs(msecs,\"msecs\"),clearTimeout(this.#timeoutTimer),msecs===0){if(callback!==void 0)validateFunction(callback,\"callback\"),this.removeListener(\"timeout\",callback);this.#timeoutTimer=void 0}else if(this.#timeoutTimer=setTimeout(this.#onTimeout.bind(this),msecs).unref(),callback!==void 0)validateFunction(callback,\"callback\"),this.once(\"timeout\",callback);return this}}function urlToHttpOptions(url){var{protocol,hostname,hash,search,pathname,href,port,username,password}=url;return{protocol,hostname:typeof hostname===\"string\"&&StringPrototypeStartsWith.call(hostname,\"[\")\?StringPrototypeSlice.call(hostname,1,-1):hostname,hash,search,pathname,path:`${pathname||\"\"}${search||\"\"}`,href,port:port\?Number(port):protocol===\"https:\"\?443:protocol===\"http:\"\?80:void 0,auth:username||password\?`${decodeURIComponent(username)}:${decodeURIComponent(password)}`:void 0}}function validateHost(host,name){if(host!==null&&host!==void 0&&typeof host!==\"string\")throw new Error(\"Invalid arg type in options\");return host}const tokenRegExp=/^[\\^_`a-zA-Z\\-0-9!#$%&'*+.|~]+$/;function checkIsHttpToken(val){return RegExpPrototypeExec.call(tokenRegExp,val)!==null}const METHODS=[\"ACL\",\"BIND\",\"CHECKOUT\",\"CONNECT\",\"COPY\",\"DELETE\",\"GET\",\"HEAD\",\"LINK\",\"LOCK\",\"M-SEARCH\",\"MERGE\",\"MKACTIVITY\",\"MKCALENDAR\",\"MKCOL\",\"MOVE\",\"NOTIFY\",\"OPTIONS\",\"PATCH\",\"POST\",\"PROPFIND\",\"PROPPATCH\",\"PURGE\",\"PUT\",\"REBIND\",\"REPORT\",\"SEARCH\",\"SOURCE\",\"SUBSCRIBE\",\"TRACE\",\"UNBIND\",\"UNLINK\",\"UNLOCK\",\"UNSUBSCRIBE\"],STATUS_CODES={100:\"Continue\",101:\"Switching Protocols\",102:\"Processing\",103:\"Early Hints\",200:\"OK\",201:\"Created\",202:\"Accepted\",203:\"Non-Authoritative Information\",204:\"No Content\",205:\"Reset Content\",206:\"Partial Content\",207:\"Multi-Status\",208:\"Already Reported\",226:\"IM Used\",300:\"Multiple Choices\",301:\"Moved Permanently\",302:\"Found\",303:\"See Other\",304:\"Not Modified\",305:\"Use Proxy\",307:\"Temporary Redirect\",308:\"Permanent Redirect\",400:\"Bad Request\",401:\"Unauthorized\",402:\"Payment Required\",403:\"Forbidden\",404:\"Not Found\",405:\"Method Not Allowed\",406:\"Not Acceptable\",407:\"Proxy Authentication Required\",408:\"Request Timeout\",409:\"Conflict\",410:\"Gone\",411:\"Length Required\",412:\"Precondition Failed\",413:\"Payload Too Large\",414:\"URI Too Long\",415:\"Unsupported Media Type\",416:\"Range Not Satisfiable\",417:\"Expectation Failed\",418:\"I'm a Teapot\",421:\"Misdirected Request\",422:\"Unprocessable Entity\",423:\"Locked\",424:\"Failed Dependency\",425:\"Too Early\",426:\"Upgrade Required\",428:\"Precondition Required\",429:\"Too Many Requests\",431:\"Request Header Fields Too Large\",451:\"Unavailable For Legal Reasons\",500:\"Internal Server Error\",501:\"Not Implemented\",502:\"Bad Gateway\",503:\"Service Unavailable\",504:\"Gateway Timeout\",505:\"HTTP Version Not Supported\",506:\"Variant Also Negotiates\",507:\"Insufficient Storage\",508:\"Loop Detected\",509:\"Bandwidth Limit Exceeded\",510:\"Not Extended\",511:\"Network Authentication Required\"};function _normalizeArgs(args){let arr;if(args.length===0)return arr=[{},null],arr;const arg0=args[0];let options={};if(typeof arg0===\"object\"&&arg0!==null)options=arg0;else if(options.port=arg0,args.length>1&&typeof args[1]===\"string\")options.host=args[1];const cb=args[args.length-1];if(typeof cb!==\"function\")arr=[options,null];else arr=[options,cb];return arr}function _writeHead(statusCode,reason,obj,response){if(statusCode|=0,statusCode<100||statusCode>999)throw new Error(\"status code must be between 100 and 999\");if(typeof reason===\"string\")response.statusMessage=reason;else{if(!response.statusMessage)response.statusMessage=STATUS_CODES[statusCode]||\"unknown\";obj=reason}response.statusCode=statusCode;{let k;if(Array.isArray(obj)){if(obj.length%2!==0)throw new Error(\"raw headers must have an even number of elements\");for(let n=0;n=100&&statusCode<=199)response._hasBody=!1}function request(url,options,cb){return new ClientRequest(url,options,cb)}function get(url,options,cb){const req=request(url,options,cb);return req.end(),req}var globalAgent=new Agent;return $={Agent,Server,METHODS,STATUS_CODES,createServer,ServerResponse,IncomingMessage,request,get,maxHeaderSize:16384,validateHeaderName,validateHeaderValue,setMaxIdleHTTPParsers(max){debug(`${NODE_HTTP_WARNING}\\n`,\"setMaxIdleHTTPParsers() is a no-op\")},globalAgent,ClientRequest,OutgoingMessage},$})\n"_s; +static constexpr ASCIILiteral NodeHttp2Code = "(function (){\"use strict\";var $;const{hideFromStack,throwNotImplemented}=@requireId(2);function connect(){throwNotImplemented(\"node:http2 connect\",887)}const constants={NGHTTP2_ERR_FRAME_SIZE_ERROR:-522,NGHTTP2_SESSION_SERVER:0,NGHTTP2_SESSION_CLIENT:1,NGHTTP2_STREAM_STATE_IDLE:1,NGHTTP2_STREAM_STATE_OPEN:2,NGHTTP2_STREAM_STATE_RESERVED_LOCAL:3,NGHTTP2_STREAM_STATE_RESERVED_REMOTE:4,NGHTTP2_STREAM_STATE_HALF_CLOSED_LOCAL:5,NGHTTP2_STREAM_STATE_HALF_CLOSED_REMOTE:6,NGHTTP2_STREAM_STATE_CLOSED:7,NGHTTP2_FLAG_NONE:0,NGHTTP2_FLAG_END_STREAM:1,NGHTTP2_FLAG_END_HEADERS:4,NGHTTP2_FLAG_ACK:1,NGHTTP2_FLAG_PADDED:8,NGHTTP2_FLAG_PRIORITY:32,DEFAULT_SETTINGS_HEADER_TABLE_SIZE:4096,DEFAULT_SETTINGS_ENABLE_PUSH:1,DEFAULT_SETTINGS_MAX_CONCURRENT_STREAMS:4294967295,DEFAULT_SETTINGS_INITIAL_WINDOW_SIZE:65535,DEFAULT_SETTINGS_MAX_FRAME_SIZE:16384,DEFAULT_SETTINGS_MAX_HEADER_LIST_SIZE:65535,DEFAULT_SETTINGS_ENABLE_CONNECT_PROTOCOL:0,MAX_MAX_FRAME_SIZE:16777215,MIN_MAX_FRAME_SIZE:16384,MAX_INITIAL_WINDOW_SIZE:2147483647,NGHTTP2_SETTINGS_HEADER_TABLE_SIZE:1,NGHTTP2_SETTINGS_ENABLE_PUSH:2,NGHTTP2_SETTINGS_MAX_CONCURRENT_STREAMS:3,NGHTTP2_SETTINGS_INITIAL_WINDOW_SIZE:4,NGHTTP2_SETTINGS_MAX_FRAME_SIZE:5,NGHTTP2_SETTINGS_MAX_HEADER_LIST_SIZE:6,NGHTTP2_SETTINGS_ENABLE_CONNECT_PROTOCOL:8,PADDING_STRATEGY_NONE:0,PADDING_STRATEGY_ALIGNED:1,PADDING_STRATEGY_MAX:2,PADDING_STRATEGY_CALLBACK:1,NGHTTP2_NO_ERROR:0,NGHTTP2_PROTOCOL_ERROR:1,NGHTTP2_INTERNAL_ERROR:2,NGHTTP2_FLOW_CONTROL_ERROR:3,NGHTTP2_SETTINGS_TIMEOUT:4,NGHTTP2_STREAM_CLOSED:5,NGHTTP2_FRAME_SIZE_ERROR:6,NGHTTP2_REFUSED_STREAM:7,NGHTTP2_CANCEL:8,NGHTTP2_COMPRESSION_ERROR:9,NGHTTP2_CONNECT_ERROR:10,NGHTTP2_ENHANCE_YOUR_CALM:11,NGHTTP2_INADEQUATE_SECURITY:12,NGHTTP2_HTTP_1_1_REQUIRED:13,NGHTTP2_DEFAULT_WEIGHT:16,HTTP2_HEADER_STATUS:\":status\",HTTP2_HEADER_METHOD:\":method\",HTTP2_HEADER_AUTHORITY:\":authority\",HTTP2_HEADER_SCHEME:\":scheme\",HTTP2_HEADER_PATH:\":path\",HTTP2_HEADER_PROTOCOL:\":protocol\",HTTP2_HEADER_ACCEPT_ENCODING:\"accept-encoding\",HTTP2_HEADER_ACCEPT_LANGUAGE:\"accept-language\",HTTP2_HEADER_ACCEPT_RANGES:\"accept-ranges\",HTTP2_HEADER_ACCEPT:\"accept\",HTTP2_HEADER_ACCESS_CONTROL_ALLOW_CREDENTIALS:\"access-control-allow-credentials\",HTTP2_HEADER_ACCESS_CONTROL_ALLOW_HEADERS:\"access-control-allow-headers\",HTTP2_HEADER_ACCESS_CONTROL_ALLOW_METHODS:\"access-control-allow-methods\",HTTP2_HEADER_ACCESS_CONTROL_ALLOW_ORIGIN:\"access-control-allow-origin\",HTTP2_HEADER_ACCESS_CONTROL_EXPOSE_HEADERS:\"access-control-expose-headers\",HTTP2_HEADER_ACCESS_CONTROL_REQUEST_HEADERS:\"access-control-request-headers\",HTTP2_HEADER_ACCESS_CONTROL_REQUEST_METHOD:\"access-control-request-method\",HTTP2_HEADER_AGE:\"age\",HTTP2_HEADER_AUTHORIZATION:\"authorization\",HTTP2_HEADER_CACHE_CONTROL:\"cache-control\",HTTP2_HEADER_CONNECTION:\"connection\",HTTP2_HEADER_CONTENT_DISPOSITION:\"content-disposition\",HTTP2_HEADER_CONTENT_ENCODING:\"content-encoding\",HTTP2_HEADER_CONTENT_LENGTH:\"content-length\",HTTP2_HEADER_CONTENT_TYPE:\"content-type\",HTTP2_HEADER_COOKIE:\"cookie\",HTTP2_HEADER_DATE:\"date\",HTTP2_HEADER_ETAG:\"etag\",HTTP2_HEADER_FORWARDED:\"forwarded\",HTTP2_HEADER_HOST:\"host\",HTTP2_HEADER_IF_MODIFIED_SINCE:\"if-modified-since\",HTTP2_HEADER_IF_NONE_MATCH:\"if-none-match\",HTTP2_HEADER_IF_RANGE:\"if-range\",HTTP2_HEADER_LAST_MODIFIED:\"last-modified\",HTTP2_HEADER_LINK:\"link\",HTTP2_HEADER_LOCATION:\"location\",HTTP2_HEADER_RANGE:\"range\",HTTP2_HEADER_REFERER:\"referer\",HTTP2_HEADER_SERVER:\"server\",HTTP2_HEADER_SET_COOKIE:\"set-cookie\",HTTP2_HEADER_STRICT_TRANSPORT_SECURITY:\"strict-transport-security\",HTTP2_HEADER_TRANSFER_ENCODING:\"transfer-encoding\",HTTP2_HEADER_TE:\"te\",HTTP2_HEADER_UPGRADE_INSECURE_REQUESTS:\"upgrade-insecure-requests\",HTTP2_HEADER_UPGRADE:\"upgrade\",HTTP2_HEADER_USER_AGENT:\"user-agent\",HTTP2_HEADER_VARY:\"vary\",HTTP2_HEADER_X_CONTENT_TYPE_OPTIONS:\"x-content-type-options\",HTTP2_HEADER_X_FRAME_OPTIONS:\"x-frame-options\",HTTP2_HEADER_KEEP_ALIVE:\"keep-alive\",HTTP2_HEADER_PROXY_CONNECTION:\"proxy-connection\",HTTP2_HEADER_X_XSS_PROTECTION:\"x-xss-protection\",HTTP2_HEADER_ALT_SVC:\"alt-svc\",HTTP2_HEADER_CONTENT_SECURITY_POLICY:\"content-security-policy\",HTTP2_HEADER_EARLY_DATA:\"early-data\",HTTP2_HEADER_EXPECT_CT:\"expect-ct\",HTTP2_HEADER_ORIGIN:\"origin\",HTTP2_HEADER_PURPOSE:\"purpose\",HTTP2_HEADER_TIMING_ALLOW_ORIGIN:\"timing-allow-origin\",HTTP2_HEADER_X_FORWARDED_FOR:\"x-forwarded-for\",HTTP2_HEADER_PRIORITY:\"priority\",HTTP2_HEADER_ACCEPT_CHARSET:\"accept-charset\",HTTP2_HEADER_ACCESS_CONTROL_MAX_AGE:\"access-control-max-age\",HTTP2_HEADER_ALLOW:\"allow\",HTTP2_HEADER_CONTENT_LANGUAGE:\"content-language\",HTTP2_HEADER_CONTENT_LOCATION:\"content-location\",HTTP2_HEADER_CONTENT_MD5:\"content-md5\",HTTP2_HEADER_CONTENT_RANGE:\"content-range\",HTTP2_HEADER_DNT:\"dnt\",HTTP2_HEADER_EXPECT:\"expect\",HTTP2_HEADER_EXPIRES:\"expires\",HTTP2_HEADER_FROM:\"from\",HTTP2_HEADER_IF_MATCH:\"if-match\",HTTP2_HEADER_IF_UNMODIFIED_SINCE:\"if-unmodified-since\",HTTP2_HEADER_MAX_FORWARDS:\"max-forwards\",HTTP2_HEADER_PREFER:\"prefer\",HTTP2_HEADER_PROXY_AUTHENTICATE:\"proxy-authenticate\",HTTP2_HEADER_PROXY_AUTHORIZATION:\"proxy-authorization\",HTTP2_HEADER_REFRESH:\"refresh\",HTTP2_HEADER_RETRY_AFTER:\"retry-after\",HTTP2_HEADER_TRAILER:\"trailer\",HTTP2_HEADER_TK:\"tk\",HTTP2_HEADER_VIA:\"via\",HTTP2_HEADER_WARNING:\"warning\",HTTP2_HEADER_WWW_AUTHENTICATE:\"www-authenticate\",HTTP2_HEADER_HTTP2_SETTINGS:\"http2-settings\",HTTP2_METHOD_ACL:\"ACL\",HTTP2_METHOD_BASELINE_CONTROL:\"BASELINE-CONTROL\",HTTP2_METHOD_BIND:\"BIND\",HTTP2_METHOD_CHECKIN:\"CHECKIN\",HTTP2_METHOD_CHECKOUT:\"CHECKOUT\",HTTP2_METHOD_CONNECT:\"CONNECT\",HTTP2_METHOD_COPY:\"COPY\",HTTP2_METHOD_DELETE:\"DELETE\",HTTP2_METHOD_GET:\"GET\",HTTP2_METHOD_HEAD:\"HEAD\",HTTP2_METHOD_LABEL:\"LABEL\",HTTP2_METHOD_LINK:\"LINK\",HTTP2_METHOD_LOCK:\"LOCK\",HTTP2_METHOD_MERGE:\"MERGE\",HTTP2_METHOD_MKACTIVITY:\"MKACTIVITY\",HTTP2_METHOD_MKCALENDAR:\"MKCALENDAR\",HTTP2_METHOD_MKCOL:\"MKCOL\",HTTP2_METHOD_MKREDIRECTREF:\"MKREDIRECTREF\",HTTP2_METHOD_MKWORKSPACE:\"MKWORKSPACE\",HTTP2_METHOD_MOVE:\"MOVE\",HTTP2_METHOD_OPTIONS:\"OPTIONS\",HTTP2_METHOD_ORDERPATCH:\"ORDERPATCH\",HTTP2_METHOD_PATCH:\"PATCH\",HTTP2_METHOD_POST:\"POST\",HTTP2_METHOD_PRI:\"PRI\",HTTP2_METHOD_PROPFIND:\"PROPFIND\",HTTP2_METHOD_PROPPATCH:\"PROPPATCH\",HTTP2_METHOD_PUT:\"PUT\",HTTP2_METHOD_REBIND:\"REBIND\",HTTP2_METHOD_REPORT:\"REPORT\",HTTP2_METHOD_SEARCH:\"SEARCH\",HTTP2_METHOD_TRACE:\"TRACE\",HTTP2_METHOD_UNBIND:\"UNBIND\",HTTP2_METHOD_UNCHECKOUT:\"UNCHECKOUT\",HTTP2_METHOD_UNLINK:\"UNLINK\",HTTP2_METHOD_UNLOCK:\"UNLOCK\",HTTP2_METHOD_UPDATE:\"UPDATE\",HTTP2_METHOD_UPDATEREDIRECTREF:\"UPDATEREDIRECTREF\",HTTP2_METHOD_VERSION_CONTROL:\"VERSION-CONTROL\",HTTP_STATUS_CONTINUE:100,HTTP_STATUS_SWITCHING_PROTOCOLS:101,HTTP_STATUS_PROCESSING:102,HTTP_STATUS_EARLY_HINTS:103,HTTP_STATUS_OK:200,HTTP_STATUS_CREATED:201,HTTP_STATUS_ACCEPTED:202,HTTP_STATUS_NON_AUTHORITATIVE_INFORMATION:203,HTTP_STATUS_NO_CONTENT:204,HTTP_STATUS_RESET_CONTENT:205,HTTP_STATUS_PARTIAL_CONTENT:206,HTTP_STATUS_MULTI_STATUS:207,HTTP_STATUS_ALREADY_REPORTED:208,HTTP_STATUS_IM_USED:226,HTTP_STATUS_MULTIPLE_CHOICES:300,HTTP_STATUS_MOVED_PERMANENTLY:301,HTTP_STATUS_FOUND:302,HTTP_STATUS_SEE_OTHER:303,HTTP_STATUS_NOT_MODIFIED:304,HTTP_STATUS_USE_PROXY:305,HTTP_STATUS_TEMPORARY_REDIRECT:307,HTTP_STATUS_PERMANENT_REDIRECT:308,HTTP_STATUS_BAD_REQUEST:400,HTTP_STATUS_UNAUTHORIZED:401,HTTP_STATUS_PAYMENT_REQUIRED:402,HTTP_STATUS_FORBIDDEN:403,HTTP_STATUS_NOT_FOUND:404,HTTP_STATUS_METHOD_NOT_ALLOWED:405,HTTP_STATUS_NOT_ACCEPTABLE:406,HTTP_STATUS_PROXY_AUTHENTICATION_REQUIRED:407,HTTP_STATUS_REQUEST_TIMEOUT:408,HTTP_STATUS_CONFLICT:409,HTTP_STATUS_GONE:410,HTTP_STATUS_LENGTH_REQUIRED:411,HTTP_STATUS_PRECONDITION_FAILED:412,HTTP_STATUS_PAYLOAD_TOO_LARGE:413,HTTP_STATUS_URI_TOO_LONG:414,HTTP_STATUS_UNSUPPORTED_MEDIA_TYPE:415,HTTP_STATUS_RANGE_NOT_SATISFIABLE:416,HTTP_STATUS_EXPECTATION_FAILED:417,HTTP_STATUS_TEAPOT:418,HTTP_STATUS_MISDIRECTED_REQUEST:421,HTTP_STATUS_UNPROCESSABLE_ENTITY:422,HTTP_STATUS_LOCKED:423,HTTP_STATUS_FAILED_DEPENDENCY:424,HTTP_STATUS_TOO_EARLY:425,HTTP_STATUS_UPGRADE_REQUIRED:426,HTTP_STATUS_PRECONDITION_REQUIRED:428,HTTP_STATUS_TOO_MANY_REQUESTS:429,HTTP_STATUS_REQUEST_HEADER_FIELDS_TOO_LARGE:431,HTTP_STATUS_UNAVAILABLE_FOR_LEGAL_REASONS:451,HTTP_STATUS_INTERNAL_SERVER_ERROR:500,HTTP_STATUS_NOT_IMPLEMENTED:501,HTTP_STATUS_BAD_GATEWAY:502,HTTP_STATUS_SERVICE_UNAVAILABLE:503,HTTP_STATUS_GATEWAY_TIMEOUT:504,HTTP_STATUS_HTTP_VERSION_NOT_SUPPORTED:505,HTTP_STATUS_VARIANT_ALSO_NEGOTIATES:506,HTTP_STATUS_INSUFFICIENT_STORAGE:507,HTTP_STATUS_LOOP_DETECTED:508,HTTP_STATUS_BANDWIDTH_LIMIT_EXCEEDED:509,HTTP_STATUS_NOT_EXTENDED:510,HTTP_STATUS_NETWORK_AUTHENTICATION_REQUIRED:511};function createServer(){throwNotImplemented(\"node:http2 createServer\",887)}function createSecureServer(){throwNotImplemented(\"node:http2 createSecureServer\",887)}function getDefaultSettings(){return{headerTableSize:4096,enablePush:!0,initialWindowSize:65535,maxFrameSize:16384,maxConcurrentStreams:4294967295,maxHeaderSize:65535,maxHeaderListSize:65535,enableConnectProtocol:!1}}function getPackedSettings(){return Buffer.alloc(0)}function getUnpackedSettings(){return Buffer.alloc(0)}const sensitiveHeaders=Symbol.for(\"nodejs.http2.sensitiveHeaders\");function Http2ServerRequest(){throwNotImplemented(\"node:http2 Http2ServerRequest\",887)}function Http2ServerResponse(){throwNotImplemented(\"node:http2 Http2ServerResponse\",887)}return $={constants,createServer,createSecureServer,getDefaultSettings,getPackedSettings,getUnpackedSettings,sensitiveHeaders,Http2ServerRequest,Http2ServerResponse,connect},hideFromStack([Http2ServerRequest,Http2ServerResponse,connect,createServer,createSecureServer,getDefaultSettings,getPackedSettings,getUnpackedSettings]),$})\n"_s; +static constexpr ASCIILiteral NodeHttpsCode = "(function (){\"use strict\";const http=@requireId(16);function request(input,options,cb){if(input&&typeof input===\"object\"&&!(input instanceof URL))input.protocol\?\?=\"https:\";else if(typeof options===\"object\")options.protocol\?\?=\"https:\";return http.request(input,options,cb)}function get(input,options,cb){const req=request(input,options,cb);return req.end(),req}return{...http,get,request}})\n"_s; +static constexpr ASCIILiteral NodeInspectorCode = "(function (){\"use strict\";var $;const{hideFromStack,throwNotImplemented}=@requireId(2),EventEmitter=@requireId(13);function open(){throwNotImplemented(\"node:inspector open\",2445)}function close(){throwNotImplemented(\"node:inspector close\",2445)}function url(){throwNotImplemented(\"node:inspector url\",2445)}function waitForDebugger(){throwNotImplemented(\"node:inspector waitForDebugger\",2445)}class Session extends EventEmitter{constructor(){super();throwNotImplemented(\"node:inspector Session\",2445)}}return $={console:{...globalThis.console,context:{console:globalThis.console}},open,close,url,waitForDebugger,Session},hideFromStack(open,close,url,waitForDebugger,Session.prototype.constructor),$})\n"_s; +static constexpr ASCIILiteral NodeNetCode = "(function (){\"use strict\";const{Duplex}=@requireId(30),EventEmitter=@requireId(13),IPv4Reg=new RegExp(\"^((\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])[.]){3}(\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])$\"),IPv6Reg=new RegExp(\"^((\?:(\?:[0-9a-fA-F]{1,4}):){7}(\?:(\?:[0-9a-fA-F]{1,4})|:)|(\?:(\?:[0-9a-fA-F]{1,4}):){6}(\?:((\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])[.]){3}(\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])|:(\?:[0-9a-fA-F]{1,4})|:)|(\?:(\?:[0-9a-fA-F]{1,4}):){5}(\?::((\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])[.]){3}(\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])|(:(\?:[0-9a-fA-F]{1,4})){1,2}|:)|(\?:(\?:[0-9a-fA-F]{1,4}):){4}(\?:(:(\?:[0-9a-fA-F]{1,4})){0,1}:((\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])[.]){3}(\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])|(:(\?:[0-9a-fA-F]{1,4})){1,3}|:)|(\?:(\?:[0-9a-fA-F]{1,4}):){3}(\?:(:(\?:[0-9a-fA-F]{1,4})){0,2}:((\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])[.]){3}(\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])|(:(\?:[0-9a-fA-F]{1,4})){1,4}|:)|(\?:(\?:[0-9a-fA-F]{1,4}):){2}(\?:(:(\?:[0-9a-fA-F]{1,4})){0,3}:((\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])[.]){3}(\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])|(:(\?:[0-9a-fA-F]{1,4})){1,5}|:)|(\?:(\?:[0-9a-fA-F]{1,4}):){1}(\?:(:(\?:[0-9a-fA-F]{1,4})){0,4}:((\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])[.]){3}(\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])|(:(\?:[0-9a-fA-F]{1,4})){1,6}|:)|(\?::((\?::(\?:[0-9a-fA-F]{1,4})){0,5}:((\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])[.]){3}(\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])|(\?::(\?:[0-9a-fA-F]{1,4})){1,7}|:)))(%[0-9a-zA-Z-.:]{1,})\?$\");function isIPv4(s){return IPv4Reg.test(s)}function isIPv6(s){return IPv6Reg.test(s)}function isIP(s){if(isIPv4(s))return 4;if(isIPv6(s))return 6;return 0}const{connect:bunConnect}=Bun;var{setTimeout}=globalThis;const bunTlsSymbol=Symbol.for(\"::buntls::\"),bunSocketServerHandlers=Symbol.for(\"::bunsocket_serverhandlers::\"),bunSocketServerConnections=Symbol.for(\"::bunnetserverconnections::\"),bunSocketServerOptions=Symbol.for(\"::bunnetserveroptions::\"),bunSocketInternal=Symbol.for(\"::bunnetsocketinternal::\"),bunTLSConnectOptions=Symbol.for(\"::buntlsconnectoptions::\");var SocketClass;const Socket=function(InternalSocket){return SocketClass=InternalSocket,Object.defineProperty(SocketClass.prototype,Symbol.toStringTag,{value:\"Socket\",enumerable:!1}),Object.defineProperty(function Socket(options){return new InternalSocket(options)},Symbol.hasInstance,{value(instance){return instance instanceof InternalSocket}})}(class Socket2 extends Duplex{static#Handlers={close:Socket2.#Close,connectError(socket,error){socket.data.emit(\"error\",error)},data({data:self},buffer){self.bytesRead+=buffer.length;const queue=self.#readQueue;if(queue.isEmpty()){if(self.push(buffer))return}queue.push(buffer)},drain:Socket2.#Drain,end:Socket2.#Close,error(socket,error){const self=socket.data,callback=self.#writeCallback;if(callback)self.#writeCallback=null,callback(error);self.emit(\"error\",error)},open(socket){const self=socket.data;socket.timeout(self.timeout),socket.ref(),self[bunSocketInternal]=socket,self.connecting=!1;const options=self[bunTLSConnectOptions];if(options){const{session}=options;if(session)self.setSession(session)}if(!self.#upgraded)self.emit(\"connect\",self);Socket2.#Drain(socket)},handshake(socket,success,verifyError){const{data:self}=socket;self._securePending=!1,self.secureConnecting=!1,self._secureEstablished=!!success,self.emit(\"secure\",self);const{checkServerIdentity}=self[bunTLSConnectOptions];if(!verifyError&&typeof checkServerIdentity===\"function\"&&self.servername){const cert=self.getPeerCertificate(!0);verifyError=checkServerIdentity(self.servername,cert)}if(self._requestCert||self._rejectUnauthorized){if(verifyError){if(self.authorized=!1,self.authorizationError=verifyError.code||verifyError.message,self._rejectUnauthorized){self.destroy(verifyError);return}}}else self.authorized=!0;self.emit(\"secureConnect\",verifyError)},timeout(socket){const self=socket.data;self.emit(\"timeout\",self)},binaryType:\"buffer\"};static#Close(socket){const self=socket.data;if(self.#closed)return;self.#closed=!0,self[bunSocketInternal]=null;const queue=self.#readQueue;if(queue.isEmpty()){if(self.push(null))return}queue.push(null)}static#Drain(socket){const self=socket.data,callback=self.#writeCallback;if(callback){const chunk=self.#writeChunk,written=socket.write(chunk);if(self.bytesWritten+=written,written=self.maxConnections){const data={localAddress:_socket.localAddress,localPort:_socket.localPort,localFamily:_socket.localFamily,remoteAddress:_socket.remoteAddress,remotePort:_socket.remotePort,remoteFamily:_socket.remoteFamily||\"IPv4\"};socket.end(),self.emit(\"drop\",data);return}if(!pauseOnConnect)_socket.resume();if(self[bunSocketServerConnections]++,typeof connectionListener==\"function\")if(InternalSocketClass.name===\"TLSSocket\")self.once(\"secureConnection\",()=>connectionListener(_socket));else connectionListener(_socket);self.emit(\"connection\",_socket)},handshake(socket,success,verifyError){const{data:self}=socket;if(self.emit(\"secure\",self),self._securePending=!1,self.secureConnecting=!1,self._secureEstablished=!!success,self._requestCert||self._rejectUnauthorized){if(verifyError){if(self.authorized=!1,self.authorizationError=verifyError.code||verifyError.message,self._rejectUnauthorized){self.destroy(verifyError);return}}}else self.authorized=!0;self.emit(\"secureConnection\",verifyError)},error(socket,error){Socket2.#Handlers.error(socket,error),this.data.emit(\"error\",error)},timeout:Socket2.#Handlers.timeout,connectError:Socket2.#Handlers.connectError,drain:Socket2.#Handlers.drain,binaryType:\"buffer\"};bytesRead=0;bytesWritten=0;#closed=!1;connecting=!1;localAddress=\"127.0.0.1\";#readQueue=@createFIFO();remotePort;[bunSocketInternal]=null;[bunTLSConnectOptions]=null;timeout=0;#writeCallback;#writeChunk;#pendingRead;isServer=!1;_handle;_parent;_parentWrap;#socket;#upgraded;constructor(options){const{socket,signal,write,read,allowHalfOpen=!1,...opts}=options||{};super({...opts,allowHalfOpen,readable:!0,writable:!0});if(this._handle=this,this._parent=this,this._parentWrap=this,this.#pendingRead=void 0,this.#upgraded=!1,socket instanceof Socket2)this.#socket=socket;signal\?.once(\"abort\",()=>this.destroy()),this.once(\"connect\",()=>this.emit(\"ready\"))}address(){return{address:this.localAddress,family:this.localFamily,port:this.localPort}}get bufferSize(){return this.writableLength}#attach(port,socket){if(this.remotePort=port,socket.data=this,socket.timeout(this.timeout),socket.ref(),this[bunSocketInternal]=socket,this.connecting=!1,!this.#upgraded)this.emit(\"connect\",this);Socket2.#Drain(socket)}connect(port,host,connectListener){var path,connection=this.#socket,_checkServerIdentity=void 0;if(typeof port===\"string\"){if(path=port,port=void 0,typeof host===\"function\")connectListener=host,host=void 0}else if(typeof host==\"function\"){if(typeof port===\"string\")path=port,port=void 0;connectListener=host,host=void 0}if(typeof port==\"object\"){var{port,host,path,socket,localAddress,localPort,family,hints,lookup,noDelay,keepAlive,keepAliveInitialDelay,requestCert,rejectUnauthorized,pauseOnConnect,servername,checkServerIdentity,session}=port;if(_checkServerIdentity=checkServerIdentity,this.servername=servername,socket)connection=socket}if(!pauseOnConnect)this.resume();this.connecting=!0,this.remotePort=port;const bunTLS=this[bunTlsSymbol];var tls=void 0;if(typeof bunTLS===\"function\"){if(tls=bunTLS.call(this,port,host,!0),this._requestCert=!0,this._rejectUnauthorized=rejectUnauthorized,tls){if(tls.rejectUnauthorized=rejectUnauthorized,tls.requestCert=!0,tls.session=session||tls.session,this.servername=tls.servername,tls.checkServerIdentity=_checkServerIdentity||tls.checkServerIdentity,this[bunTLSConnectOptions]=tls,!connection&&tls.socket)connection=tls.socket}if(connection){if(typeof connection!==\"object\"||!(connection instanceof Socket2)||typeof connection[bunTlsSymbol]===\"function\")@throwTypeError(\"socket must be an instance of net.Socket\")}if(this.authorized=!1,this.secureConnecting=!0,this._secureEstablished=!1,this._securePending=!0,connectListener)this.on(\"secureConnect\",connectListener)}else if(connectListener)this.on(\"connect\",connectListener);if(connection){const socket2=connection[bunSocketInternal];if(socket2){this.connecting=!0,this.#upgraded=!0;const result=socket2.upgradeTLS({data:this,tls,socket:Socket2.#Handlers});if(result){const[raw,tls2]=result;connection[bunSocketInternal]=raw,raw.timeout(raw.timeout),raw.connecting=!1,this[bunSocketInternal]=tls2}else throw this[bunSocketInternal]=null,new Error(\"Invalid socket\")}else connection.once(\"connect\",()=>{const socket3=connection[bunSocketInternal];if(!socket3)return;this.connecting=!0,this.#upgraded=!0;const result=socket3.upgradeTLS({data:this,tls,socket:Socket2.#Handlers});if(result){const[raw,tls2]=result;connection[bunSocketInternal]=raw,raw.timeout(raw.timeout),raw.connecting=!1,this[bunSocketInternal]=tls2}else throw this[bunSocketInternal]=null,new Error(\"Invalid socket\")})}else if(path)bunConnect({data:this,unix:path,socket:Socket2.#Handlers,tls}).catch((error)=>{this.emit(\"error\",error)});else bunConnect({data:this,hostname:host||\"localhost\",port,socket:Socket2.#Handlers,tls}).catch((error)=>{this.emit(\"error\",error)});return this}_destroy(err,callback){this[bunSocketInternal]\?.end(),callback(err)}_final(callback){this[bunSocketInternal]\?.end(),callback()}get localAddress(){return\"127.0.0.1\"}get localFamily(){return\"IPv4\"}get localPort(){return this[bunSocketInternal]\?.localPort}get pending(){return this.connecting}_read(size){const queue=this.#readQueue;let chunk;while(chunk=queue.peek()){if(!this.push(chunk))return;queue.shift()}}get readyState(){if(this.connecting)return\"opening\";if(this.readable)return this.writable\?\"open\":\"readOnly\";else return this.writable\?\"writeOnly\":\"closed\"}ref(){this[bunSocketInternal]\?.ref()}get remoteAddress(){return this[bunSocketInternal]\?.remoteAddress}get remoteFamily(){return\"IPv4\"}resetAndDestroy(){this[bunSocketInternal]\?.end()}setKeepAlive(enable=!1,initialDelay=0){return this}setNoDelay(noDelay=!0){return this}setTimeout(timeout,callback){if(this[bunSocketInternal]\?.timeout(timeout),this.timeout=timeout,callback)this.once(\"timeout\",callback);return this}unref(){this[bunSocketInternal]\?.unref()}_write(chunk,encoding,callback){if(typeof chunk==\"string\"&&encoding!==\"ascii\")chunk=Buffer.from(chunk,encoding);var written=this[bunSocketInternal]\?.write(chunk);if(written==chunk.length)callback();else if(this.#writeCallback)callback(new Error(\"overlapping _write()\"));else{if(written>0)if(typeof chunk==\"string\")chunk=chunk.slice(written);else chunk=chunk.subarray(written);this.#writeCallback=callback,this.#writeChunk=chunk}}});function createConnection(port,host,connectListener){if(typeof port===\"object\")return new Socket(port).connect(port,host,connectListener);return new Socket().connect(port,host,connectListener)}const connect=createConnection;class Server extends EventEmitter{#server;#listening=!1;[bunSocketServerConnections]=0;[bunSocketServerOptions];maxConnections=0;constructor(options,connectionListener){super();if(typeof options===\"function\")connectionListener=options,options={};else if(options==null||typeof options===\"object\")options={...options};else throw new Error(\"bun-net-polyfill: invalid arguments\");const{maxConnections}=options;this.maxConnections=Number.isSafeInteger(maxConnections)&&maxConnections>0\?maxConnections:0,options.connectionListener=connectionListener,this[bunSocketServerOptions]=options}ref(){return this.#server\?.ref(),this}unref(){return this.#server\?.unref(),this}close(callback){if(this.#server){if(this.#server.stop(!0),this.#server=null,this.#listening=!1,this[bunSocketServerConnections]=0,this.emit(\"close\"),typeof callback===\"function\")callback();return this}if(typeof callback===\"function\"){const error=new Error(\"Server is not running\");error.code=\"ERR_SERVER_NOT_RUNNING\",callback(error)}return this}address(){const server=this.#server;if(server){const unix=server.unix;if(unix)return unix;let address=server.hostname;const type=isIP(address),port=server.port;if(typeof port===\"number\")return{port,address,family:type\?`IPv${type}`:void 0};if(type)return{address,family:type\?`IPv${type}`:void 0};return address}return null}getConnections(callback){if(typeof callback===\"function\")callback(null,this.#server\?this[bunSocketServerConnections]:0);return this}listen(port,hostname,onListen){let backlog,path,exclusive=!1;if(typeof port===\"string\"){if(Number.isSafeInteger(hostname)){if(hostname>0)backlog=hostname}else if(typeof hostname===\"function\")onListen=hostname;path=port,hostname=void 0,port=void 0}else{if(typeof hostname===\"function\")onListen=hostname,hostname=void 0;if(typeof port===\"function\")onListen=port,port=0;else if(typeof port===\"object\"){const options=port;options.signal\?.addEventListener(\"abort\",()=>this.close()),hostname=options.host,exclusive=options.exclusive===!0;const path2=options.path;if(port=options.port,!Number.isSafeInteger(port)||port<0)if(path2)hostname=path2,port=void 0;else{let message='The argument \\'options\\' must have the property \"port\" or \"path\"';try{message=`${message}. Received ${JSON.stringify(options)}`}catch{}const error=@makeTypeError(message);throw error.code=\"ERR_INVALID_ARG_VALUE\",error}else if(!Number.isSafeInteger(port)||port<0)port=0;if(typeof port.callback===\"function\")onListen=port\?.callback}else if(!Number.isSafeInteger(port)||port<0)port=0;hostname=hostname||\"::\"}try{var tls=void 0,TLSSocketClass=void 0;const bunTLS=this[bunTlsSymbol],options=this[bunSocketServerOptions];if(typeof bunTLS===\"function\")[tls,TLSSocketClass]=bunTLS.call(this,port,hostname,!1),options.servername=tls.serverName,options.InternalSocketClass=TLSSocketClass;else options.InternalSocketClass=SocketClass;this.#server=Bun.listen(path\?{exclusive,unix:path,tls,socket:SocketClass[bunSocketServerHandlers]}:{exclusive,port,hostname,tls,socket:SocketClass[bunSocketServerHandlers]}),this.#server.data=this,this.#listening=!0,setTimeout(emitListeningNextTick,1,this,onListen)}catch(err){this.#listening=!1,setTimeout(emitErrorNextTick,1,this,err)}return this}}function emitErrorNextTick(self,error){self.emit(\"error\",error)}function emitListeningNextTick(self,onListen){if(typeof onListen===\"function\")try{onListen()}catch(err){self.emit(\"error\",err)}self.emit(\"listening\")}function createServer(options,connectionListener){return new Server(options,connectionListener)}return{createServer,Server,createConnection,connect,isIP,isIPv4,isIPv6,Socket,[Symbol.for(\"::bunternal::\")]:SocketClass}})\n"_s; +static constexpr ASCIILiteral NodeOSCode = "(function (){\"use strict\";var tmpdir=function(){var env=Bun.env;return tmpdir=function(){var path=env.TMPDIR||env.TMP||env.TEMP||\"/tmp\";const length=path.length;if(length>1&&path[length-1]===\"/\")path=path.slice(0,-1);return path},tmpdir()};function lazyCpus({cpus}){return()=>{const array=new Array(navigator.hardwareConcurrency);function populate(){const results=cpus(),length=results.length;array.length=length;for(let i=0;i{},SymbolAsyncIterator=Symbol.asyncIterator,SymbolIterator=Symbol.iterator,SymbolFor=Symbol.for,SymbolReplace=Symbol.replace,ArrayFrom=Array.from,ArrayIsArray=Array.isArray,ArrayPrototypeFilter=Array.prototype.filter,ArrayPrototypeSort=Array.prototype.sort,ArrayPrototypeIndexOf=Array.prototype.indexOf,ArrayPrototypeJoin=Array.prototype.join,ArrayPrototypeMap=Array.prototype.map,ArrayPrototypePop=Array.prototype.pop,ArrayPrototypePush=Array.prototype.push,ArrayPrototypeSlice=Array.prototype.slice,ArrayPrototypeSplice=Array.prototype.splice,ArrayPrototypeReverse=Array.prototype.reverse,ArrayPrototypeShift=Array.prototype.shift,ArrayPrototypeUnshift=Array.prototype.unshift,RegExpPrototypeExec=RegExp.prototype.exec,RegExpPrototypeSymbolReplace=RegExp.prototype[SymbolReplace],StringFromCharCode=String.fromCharCode,StringPrototypeCharCodeAt=String.prototype.charCodeAt,StringPrototypeCodePointAt=String.prototype.codePointAt,StringPrototypeSlice=String.prototype.slice,StringPrototypeToLowerCase=String.prototype.toLowerCase,StringPrototypeEndsWith=String.prototype.endsWith,StringPrototypeRepeat=String.prototype.repeat,StringPrototypeStartsWith=String.prototype.startsWith,StringPrototypeTrim=String.prototype.trim,StringPrototypeNormalize=String.prototype.normalize,NumberIsNaN=Number.isNaN,NumberIsFinite=Number.isFinite,NumberIsInteger=Number.isInteger,NumberMAX_SAFE_INTEGER=Number.MAX_SAFE_INTEGER,NumberMIN_SAFE_INTEGER=Number.MIN_SAFE_INTEGER,MathCeil=Math.ceil,MathFloor=Math.floor,MathMax=Math.max,MathMaxApply=Math.max.apply,DateNow=Date.now,FunctionPrototype=Function.prototype,StringPrototype=String.prototype,StringPrototypeSymbolIterator=StringPrototype[SymbolIterator],StringIteratorPrototypeNext=StringPrototypeSymbolIterator.call(\"\").next,ObjectSetPrototypeOf=Object.setPrototypeOf,ObjectDefineProperty=Object.defineProperty,ObjectDefineProperties=Object.defineProperties,ObjectFreeze=Object.freeze,ObjectAssign=Object.assign,ObjectCreate=Object.create,ObjectKeys=Object.keys,ObjectSeal=Object.seal,createSafeIterator=(factory,next)=>{class SafeIterator{#iterator;constructor(iterable){this.#iterator=factory.call(iterable)}next(){return next.call(this.#iterator)}[SymbolIterator](){return this}}return ObjectSetPrototypeOf(SafeIterator.prototype,null),ObjectFreeze(SafeIterator.prototype),ObjectFreeze(SafeIterator),SafeIterator},SafeStringIterator=createSafeIterator(StringPrototypeSymbolIterator,StringIteratorPrototypeNext),isFullWidthCodePoint=(code)=>{return code>=4352&&(code<=4447||code===9001||code===9002||code>=11904&&code<=12871&&code!==12351||code>=12880&&code<=19903||code>=19968&&code<=42182||code>=43360&&code<=43388||code>=44032&&code<=55203||code>=63744&&code<=64255||code>=65040&&code<=65049||code>=65072&&code<=65131||code>=65281&&code<=65376||code>=65504&&code<=65510||code>=110592&&code<=110593||code>=127488&&code<=127569||code>=127744&&code<=128591||code>=131072&&code<=262141)},isZeroWidthCodePoint=(code)=>{return code<=31||code>=127&&code<=159||code>=768&&code<=879||code>=8203&&code<=8207||code>=8400&&code<=8447||code>=65024&&code<=65039||code>=65056&&code<=65071||code>=917760&&code<=917999},getStringWidth=function getStringWidth(str,removeControlChars=!0){var width=0;if(removeControlChars)str=stripVTControlCharacters(str);str=StringPrototypeNormalize.call(str,\"NFC\");for(var char of new SafeStringIterator(str)){var code=StringPrototypeCodePointAt.call(char,0);if(isFullWidthCodePoint(code))width+=2;else if(!isZeroWidthCodePoint(code))width++}return width},ansiPattern=\"[\\\\u001B\\\\u009B][[\\\\]()#;\?]*(\?:(\?:(\?:(\?:;[-a-zA-Z\\\\d\\\\/#&.:=\?%@~_]+)*|[a-zA-Z\\\\d]+(\?:;[-a-zA-Z\\\\d\\\\/#&.:=\?%@~_]*)*)\?\\\\u0007)|(\?:(\?:\\\\d{1,4}(\?:;\\\\d{0,4})*)\?[\\\\dA-PR-TZcf-ntqry=><~]))\",ansi=new RegExp(ansiPattern,\"g\");function stripVTControlCharacters(str){return validateString(str,\"str\"),RegExpPrototypeSymbolReplace.call(ansi,str,\"\")}var kCustomPromisifiedSymbol=SymbolFor(\"nodejs.util.promisify.custom\"),kCustomPromisifyArgsSymbol=Symbol(\"customPromisifyArgs\");function promisify(original){if(validateFunction(original,\"original\"),original[kCustomPromisifiedSymbol]){var fn=original[kCustomPromisifiedSymbol];return validateFunction(fn,\"util.promisify.custom\"),ObjectDefineProperty(fn,kCustomPromisifiedSymbol,{__proto__:null,value:fn,enumerable:!1,writable:!1,configurable:!0})}var argumentNames=original[kCustomPromisifyArgsSymbol];function fn(...args){return new Promise((resolve,reject)=>{ArrayPrototypePush.call(args,(err,...values)=>{if(err)return reject(err);if(argumentNames!==void 0&&values.length>1){var obj={};for(var i2=0;i2max)throw new ERR_OUT_OF_RANGE(name,`>= ${min} && <= ${max}`,value)}function validateUint32(value,name,positive=!1){if(typeof value!==\"number\")throw new ERR_INVALID_ARG_TYPE(name,\"number\",value);if(!NumberIsInteger(value))throw new ERR_OUT_OF_RANGE(name,\"an integer\",value);var min=positive\?1:0,max=4294967295;if(valuemax)throw new ERR_OUT_OF_RANGE(name,`>= ${min} && <= ${max}`,value)}function CSI(strings,...args){var ret=`${kEscape}[`;for(var n=0;n1&&StringPrototypeCodePointAt.call(str,i-2)>=kUTF16SurrogateThreshold||StringPrototypeCodePointAt.call(str,i-1)>=kUTF16SurrogateThreshold)return 2;return 1}function charLengthAt(str,i){if(str.length<=i)return 1;return StringPrototypeCodePointAt.call(str,i)>=kUTF16SurrogateThreshold\?2:1}function*emitKeys(stream){while(!0){var ch=yield,s=ch,escaped=!1,keySeq=null,keyName,keyCtrl2=!1,keyMeta=!1,keyShift=!1;if(ch===kEscape){if(escaped=!0,s+=ch=yield,ch===kEscape)s+=ch=yield}if(escaped&&(ch===\"O\"||ch===\"[\")){var code=ch,modifier=0;if(ch===\"O\"){if(s+=ch=yield,ch>=\"0\"&&ch<=\"9\")modifier=(ch>>0)-1,s+=ch=yield;code+=ch}else if(ch===\"[\"){if(s+=ch=yield,ch===\"[\")code+=ch,s+=ch=yield;var cmdStart=s.length-1;if(ch>=\"0\"&&ch<=\"9\"){if(s+=ch=yield,ch>=\"0\"&&ch<=\"9\")s+=ch=yield}if(ch===\";\"){if(s+=ch=yield,ch>=\"0\"&&ch<=\"9\")s+=yield}var cmd=StringPrototypeSlice.call(s,cmdStart),match;if(match=RegExpPrototypeExec.call(/^(\\d\\d\?)(;(\\d))\?([~^$])$/,cmd))code+=match[1]+match[4],modifier=(match[3]||1)-1;else if(match=RegExpPrototypeExec.call(/^((\\d;)\?(\\d))\?([A-Za-z])$/,cmd))code+=match[4],modifier=(match[3]||1)-1;else code+=cmd}switch(keyCtrl2=!!(modifier&4),keyMeta=!!(modifier&10),keyShift=!!(modifier&1),code){case\"[P\":keyName=\"f1\";break;case\"[Q\":keyName=\"f2\";break;case\"[R\":keyName=\"f3\";break;case\"[S\":keyName=\"f4\";break;case\"OP\":keyName=\"f1\";break;case\"OQ\":keyName=\"f2\";break;case\"OR\":keyName=\"f3\";break;case\"OS\":keyName=\"f4\";break;case\"[11~\":keyName=\"f1\";break;case\"[12~\":keyName=\"f2\";break;case\"[13~\":keyName=\"f3\";break;case\"[14~\":keyName=\"f4\";break;case\"[[A\":keyName=\"f1\";break;case\"[[B\":keyName=\"f2\";break;case\"[[C\":keyName=\"f3\";break;case\"[[D\":keyName=\"f4\";break;case\"[[E\":keyName=\"f5\";break;case\"[15~\":keyName=\"f5\";break;case\"[17~\":keyName=\"f6\";break;case\"[18~\":keyName=\"f7\";break;case\"[19~\":keyName=\"f8\";break;case\"[20~\":keyName=\"f9\";break;case\"[21~\":keyName=\"f10\";break;case\"[23~\":keyName=\"f11\";break;case\"[24~\":keyName=\"f12\";break;case\"[A\":keyName=\"up\";break;case\"[B\":keyName=\"down\";break;case\"[C\":keyName=\"right\";break;case\"[D\":keyName=\"left\";break;case\"[E\":keyName=\"clear\";break;case\"[F\":keyName=\"end\";break;case\"[H\":keyName=\"home\";break;case\"OA\":keyName=\"up\";break;case\"OB\":keyName=\"down\";break;case\"OC\":keyName=\"right\";break;case\"OD\":keyName=\"left\";break;case\"OE\":keyName=\"clear\";break;case\"OF\":keyName=\"end\";break;case\"OH\":keyName=\"home\";break;case\"[1~\":keyName=\"home\";break;case\"[2~\":keyName=\"insert\";break;case\"[3~\":keyName=\"delete\";break;case\"[4~\":keyName=\"end\";break;case\"[5~\":keyName=\"pageup\";break;case\"[6~\":keyName=\"pagedown\";break;case\"[[5~\":keyName=\"pageup\";break;case\"[[6~\":keyName=\"pagedown\";break;case\"[7~\":keyName=\"home\";break;case\"[8~\":keyName=\"end\";break;case\"[a\":keyName=\"up\",keyShift=!0;break;case\"[b\":keyName=\"down\",keyShift=!0;break;case\"[c\":keyName=\"right\",keyShift=!0;break;case\"[d\":keyName=\"left\",keyShift=!0;break;case\"[e\":keyName=\"clear\",keyShift=!0;break;case\"[2$\":keyName=\"insert\",keyShift=!0;break;case\"[3$\":keyName=\"delete\",keyShift=!0;break;case\"[5$\":keyName=\"pageup\",keyShift=!0;break;case\"[6$\":keyName=\"pagedown\",keyShift=!0;break;case\"[7$\":keyName=\"home\",keyShift=!0;break;case\"[8$\":keyName=\"end\",keyShift=!0;break;case\"Oa\":keyName=\"up\",keyCtrl2=!0;break;case\"Ob\":keyName=\"down\",keyCtrl2=!0;break;case\"Oc\":keyName=\"right\",keyCtrl2=!0;break;case\"Od\":keyName=\"left\",keyCtrl2=!0;break;case\"Oe\":keyName=\"clear\",keyCtrl2=!0;break;case\"[2^\":keyName=\"insert\",keyCtrl2=!0;break;case\"[3^\":keyName=\"delete\",keyCtrl2=!0;break;case\"[5^\":keyName=\"pageup\",keyCtrl2=!0;break;case\"[6^\":keyName=\"pagedown\",keyCtrl2=!0;break;case\"[7^\":keyName=\"home\",keyCtrl2=!0;break;case\"[8^\":keyName=\"end\",keyCtrl2=!0;break;case\"[Z\":keyName=\"tab\",keyShift=!0;break;default:keyName=\"undefined\";break}}else if(ch===\"\\r\")keyName=\"return\",keyMeta=escaped;else if(ch===\"\\n\")keyName=\"enter\",keyMeta=escaped;else if(ch===\"\\t\")keyName=\"tab\",keyMeta=escaped;else if(ch===\"\\b\"||ch===\"\\x7F\")keyName=\"backspace\",keyMeta=escaped;else if(ch===kEscape)keyName=\"escape\",keyMeta=escaped;else if(ch===\" \")keyName=\"space\",keyMeta=escaped;else if(!escaped&&ch<=\"\\x1A\")keyName=StringFromCharCode(StringPrototypeCharCodeAt.call(ch)+StringPrototypeCharCodeAt.call(\"a\")-1),keyCtrl2=!0;else if(RegExpPrototypeExec.call(/^[0-9A-Za-z]$/,ch)!==null)keyName=StringPrototypeToLowerCase.call(ch),keyShift=RegExpPrototypeExec.call(/^[A-Z]$/,ch)!==null,keyMeta=escaped;else if(escaped)keyName=ch.length\?void 0:\"escape\",keyMeta=!0;if(keySeq=s,s.length!==0&&(keyName!==void 0||escaped))stream.emit(\"keypress\",escaped\?void 0:s,{sequence:keySeq,name:keyName,ctrl:keyCtrl2,meta:keyMeta,shift:keyShift});else if(charLengthAt(s,0)===s.length)stream.emit(\"keypress\",s,{sequence:keySeq,name:keyName,ctrl:keyCtrl2,meta:keyMeta,shift:keyShift})}}function commonPrefix(strings){if(strings.length===0)return\"\";if(strings.length===1)return strings[0];var sorted=ArrayPrototypeSort.call(ArrayPrototypeSlice.call(strings)),min=sorted[0],max=sorted[sorted.length-1];for(var i=0;i0)data+=CSI`${dx}C`;if(dy<0)data+=CSI`${-dy}A`;else if(dy>0)data+=CSI`${dy}B`;return stream.write(data,callback)}function clearLine(stream,dir,callback){if(callback!==void 0)validateFunction(callback,\"callback\");if(stream===null||stream===void 0){if(typeof callback===\"function\")process.nextTick(callback,null);return!0}var type=dir<0\?kClearToLineBeginning:dir>0\?kClearToLineEnd:kClearLine;return stream.write(type,callback)}function clearScreenDown(stream,callback){if(callback!==void 0)validateFunction(callback,\"callback\");if(stream===null||stream===void 0){if(typeof callback===\"function\")process.nextTick(callback,null);return!0}return stream.write(kClearScreenDown,callback)}var KEYPRESS_DECODER=Symbol(\"keypress-decoder\"),ESCAPE_DECODER=Symbol(\"escape-decoder\"),ESCAPE_CODE_TIMEOUT=500;function emitKeypressEvents(stream,iface={}){if(stream[KEYPRESS_DECODER])return;stream[KEYPRESS_DECODER]=new StringDecoder(\"utf8\"),stream[ESCAPE_DECODER]=emitKeys(stream),stream[ESCAPE_DECODER].next();var triggerEscape=()=>stream[ESCAPE_DECODER].next(\"\"),{escapeCodeTimeout=ESCAPE_CODE_TIMEOUT}=iface,timeoutId;function onData2(input){if(stream.listenerCount(\"keypress\")>0){var string=stream[KEYPRESS_DECODER].write(input);if(string){clearTimeout(timeoutId),iface[kSawKeyPress]=charLengthAt(string,0)===string.length,iface.isCompletionEnabled=!1;var length=0;for(var character of new SafeStringIterator(string)){if(length+=character.length,length===string.length)iface.isCompletionEnabled=!0;try{if(stream[ESCAPE_DECODER].next(character),length===string.length&&character===kEscape)timeoutId=setTimeout(triggerEscape,escapeCodeTimeout)}catch(err){throw stream[ESCAPE_DECODER]=emitKeys(stream),stream[ESCAPE_DECODER].next(),err}}}}else stream.removeListener(\"data\",onData2),stream.on(\"newListener\",onNewListener)}function onNewListener(event){if(event===\"keypress\")stream.on(\"data\",onData2),stream.removeListener(\"newListener\",onNewListener)}if(stream.listenerCount(\"keypress\")>0)stream.on(\"data\",onData2);else stream.on(\"newListener\",onNewListener)}var kEmptyObject=ObjectFreeze(ObjectCreate(null)),kHistorySize=30,kMaxUndoRedoStackSize=2048,kMincrlfDelay=100,lineEnding=/\\r\?\\n|\\r(\?!\\n)/g,kMaxLengthOfKillRing=32,kLineObjectStream=Symbol(\"line object stream\"),kQuestionCancel=Symbol(\"kQuestionCancel\"),kQuestion=Symbol(\"kQuestion\"),kAddHistory=Symbol(\"_addHistory\"),kBeforeEdit=Symbol(\"_beforeEdit\"),kDecoder=Symbol(\"_decoder\"),kDeleteLeft=Symbol(\"_deleteLeft\"),kDeleteLineLeft=Symbol(\"_deleteLineLeft\"),kDeleteLineRight=Symbol(\"_deleteLineRight\"),kDeleteRight=Symbol(\"_deleteRight\"),kDeleteWordLeft=Symbol(\"_deleteWordLeft\"),kDeleteWordRight=Symbol(\"_deleteWordRight\"),kGetDisplayPos=Symbol(\"_getDisplayPos\"),kHistoryNext=Symbol(\"_historyNext\"),kHistoryPrev=Symbol(\"_historyPrev\"),kInsertString=Symbol(\"_insertString\"),kLine=Symbol(\"_line\"),kLine_buffer=Symbol(\"_line_buffer\"),kKillRing=Symbol(\"_killRing\"),kKillRingCursor=Symbol(\"_killRingCursor\"),kMoveCursor=Symbol(\"_moveCursor\"),kNormalWrite=Symbol(\"_normalWrite\"),kOldPrompt=Symbol(\"_oldPrompt\"),kOnLine=Symbol(\"_onLine\"),kPreviousKey=Symbol(\"_previousKey\"),kPrompt=Symbol(\"_prompt\"),kPushToKillRing=Symbol(\"_pushToKillRing\"),kPushToUndoStack=Symbol(\"_pushToUndoStack\"),kQuestionCallback=Symbol(\"_questionCallback\"),kRedo=Symbol(\"_redo\"),kRedoStack=Symbol(\"_redoStack\"),kRefreshLine=Symbol(\"_refreshLine\"),kSawKeyPress=Symbol(\"_sawKeyPress\"),kSawReturnAt=Symbol(\"_sawReturnAt\"),kSetRawMode=Symbol(\"_setRawMode\"),kTabComplete=Symbol(\"_tabComplete\"),kTabCompleter=Symbol(\"_tabCompleter\"),kTtyWrite=Symbol(\"_ttyWrite\"),kUndo=Symbol(\"_undo\"),kUndoStack=Symbol(\"_undoStack\"),kWordLeft=Symbol(\"_wordLeft\"),kWordRight=Symbol(\"_wordRight\"),kWriteToOutput=Symbol(\"_writeToOutput\"),kYank=Symbol(\"_yank\"),kYanking=Symbol(\"_yanking\"),kYankPop=Symbol(\"_yankPop\"),kFirstEventParam=Symbol(\"nodejs.kFirstEventParam\"),kOnSelfCloseWithTerminal=Symbol(\"_onSelfCloseWithTerminal\"),kOnSelfCloseWithoutTerminal=Symbol(\"_onSelfCloseWithoutTerminal\"),kOnKeyPress=Symbol(\"_onKeyPress\"),kOnError=Symbol(\"_onError\"),kOnData=Symbol(\"_onData\"),kOnEnd=Symbol(\"_onEnd\"),kOnTermEnd=Symbol(\"_onTermEnd\"),kOnResize=Symbol(\"_onResize\");function onSelfCloseWithTerminal(){var input=this.input,output=this.output;if(!input)throw new Error(\"Input not set, invalid state for readline!\");if(input.removeListener(\"keypress\",this[kOnKeyPress]),input.removeListener(\"error\",this[kOnError]),input.removeListener(\"end\",this[kOnTermEnd]),output!==null&&output!==void 0)output.removeListener(\"resize\",this[kOnResize])}function onSelfCloseWithoutTerminal(){var input=this.input;if(!input)throw new Error(\"Input not set, invalid state for readline!\");input.removeListener(\"data\",this[kOnData]),input.removeListener(\"error\",this[kOnError]),input.removeListener(\"end\",this[kOnEnd])}function onError(err){this.emit(\"error\",err)}function onData(data){debug(\"onData\"),this[kNormalWrite](data)}function onEnd(){if(debug(\"onEnd\"),typeof this[kLine_buffer]===\"string\"&&this[kLine_buffer].length>0)this.emit(\"line\",this[kLine_buffer]);this.close()}function onTermEnd(){if(debug(\"onTermEnd\"),typeof this.line===\"string\"&&this.line.length>0)this.emit(\"line\",this.line);this.close()}function onKeyPress(s,key){if(this[kTtyWrite](s,key),key&&key.sequence){var ch=StringPrototypeCodePointAt.call(key.sequence,0);if(ch>=55296&&ch<=57343)this[kRefreshLine]()}}function onResize(){this[kRefreshLine]()}function InterfaceConstructor(input,output,completer,terminal){if(!(this instanceof InterfaceConstructor))return new InterfaceConstructor(input,output,completer,terminal);EventEmitter.call(this),this[kOnSelfCloseWithoutTerminal]=onSelfCloseWithoutTerminal.bind(this),this[kOnSelfCloseWithTerminal]=onSelfCloseWithTerminal.bind(this),this[kOnError]=onError.bind(this),this[kOnData]=onData.bind(this),this[kOnEnd]=onEnd.bind(this),this[kOnTermEnd]=onTermEnd.bind(this),this[kOnKeyPress]=onKeyPress.bind(this),this[kOnResize]=onResize.bind(this),this[kSawReturnAt]=0,this.isCompletionEnabled=!0,this[kSawKeyPress]=!1,this[kPreviousKey]=null,this.escapeCodeTimeout=ESCAPE_CODE_TIMEOUT,this.tabSize=8;var history,historySize,removeHistoryDuplicates=!1,crlfDelay,prompt=\"> \",signal;if(input\?.input){output=input.output,completer=input.completer,terminal=input.terminal,history=input.history,historySize=input.historySize,signal=input.signal;var tabSize=input.tabSize;if(tabSize!==void 0)validateUint32(tabSize,\"tabSize\",!0),this.tabSize=tabSize;removeHistoryDuplicates=input.removeHistoryDuplicates;var inputPrompt=input.prompt;if(inputPrompt!==void 0)prompt=inputPrompt;var inputEscapeCodeTimeout=input.escapeCodeTimeout;if(inputEscapeCodeTimeout!==void 0)if(NumberIsFinite(inputEscapeCodeTimeout))this.escapeCodeTimeout=inputEscapeCodeTimeout;else throw new ERR_INVALID_ARG_VALUE(\"input.escapeCodeTimeout\",this.escapeCodeTimeout);if(signal)validateAbortSignal(signal,\"options.signal\");crlfDelay=input.crlfDelay,input=input.input}if(completer!==void 0&&typeof completer!==\"function\")throw new ERR_INVALID_ARG_VALUE(\"completer\",completer);if(history===void 0)history=[];else validateArray(history,\"history\");if(historySize===void 0)historySize=kHistorySize;if(typeof historySize!==\"number\"||NumberIsNaN(historySize)||historySize<0)throw new ERR_INVALID_ARG_VALUE(\"historySize\",historySize);if(terminal===void 0&&!(output===null||output===void 0))terminal=!!output.isTTY;if(this.line=\"\",this[kSubstringSearch]=null,this.output=output,this.input=input,this[kUndoStack]=[],this[kRedoStack]=[],this.history=history,this.historySize=historySize,this[kKillRing]=[],this[kKillRingCursor]=0,this.removeHistoryDuplicates=!!removeHistoryDuplicates,this.crlfDelay=crlfDelay\?MathMax(kMincrlfDelay,crlfDelay):kMincrlfDelay,this.completer=completer,this.setPrompt(prompt),this.terminal=!!terminal,this[kLineObjectStream]=void 0,input.on(\"error\",this[kOnError]),!this.terminal)input.on(\"data\",this[kOnData]),input.on(\"end\",this[kOnEnd]),this.once(\"close\",this[kOnSelfCloseWithoutTerminal]),this[kDecoder]=new StringDecoder(\"utf8\");else{if(emitKeypressEvents(input,this),input.on(\"keypress\",this[kOnKeyPress]),input.on(\"end\",this[kOnTermEnd]),this[kSetRawMode](!0),this.terminal=!0,this.cursor=0,this.historyIndex=-1,output!==null&&output!==void 0)output.on(\"resize\",this[kOnResize]);this.once(\"close\",this[kOnSelfCloseWithTerminal])}if(signal){var onAborted=(()=>this.close()).bind(this);if(signal.aborted)process.nextTick(onAborted);else signal.addEventListener(\"abort\",onAborted,{once:!0}),this.once(\"close\",()=>signal.removeEventListener(\"abort\",onAborted))}this.line=\"\",input.resume()}ObjectSetPrototypeOf(InterfaceConstructor.prototype,EventEmitter.prototype);var _Interface=class Interface2 extends InterfaceConstructor{constructor(input,output,completer,terminal){super(input,output,completer,terminal)}get columns(){var output=this.output;if(output&&output.columns)return output.columns;return Infinity}setPrompt(prompt){this[kPrompt]=prompt}getPrompt(){return this[kPrompt]}[kSetRawMode](mode){var input=this.input,{setRawMode,wasInRawMode}=input;return debug(\"setRawMode\",mode,\"set!\"),wasInRawMode}prompt(preserveCursor){if(this.paused)this.resume();if(this.terminal&&process.env.TERM!==\"dumb\"){if(!preserveCursor)this.cursor=0;this[kRefreshLine]()}else this[kWriteToOutput](this[kPrompt])}[kQuestion](query,cb){if(this.closed)throw new ERR_USE_AFTER_CLOSE(\"readline\");if(this[kQuestionCallback])this.prompt();else this[kOldPrompt]=this[kPrompt],this.setPrompt(query),this[kQuestionCallback]=cb,this.prompt()}[kOnLine](line){if(this[kQuestionCallback]){var cb=this[kQuestionCallback];this[kQuestionCallback]=null,this.setPrompt(this[kOldPrompt]),cb(line)}else this.emit(\"line\",line)}[kBeforeEdit](oldText,oldCursor){this[kPushToUndoStack](oldText,oldCursor)}[kQuestionCancel](){if(this[kQuestionCallback])this[kQuestionCallback]=null,this.setPrompt(this[kOldPrompt]),this.clearLine()}[kWriteToOutput](stringToWrite){if(validateString(stringToWrite,\"stringToWrite\"),this.output!==null&&this.output!==void 0)this.output.write(stringToWrite)}[kAddHistory](){if(this.line.length===0)return\"\";if(this.historySize===0)return this.line;if(StringPrototypeTrim.call(this.line).length===0)return this.line;if(this.history.length===0||this.history[0]!==this.line){if(this.removeHistoryDuplicates){var dupIndex=ArrayPrototypeIndexOf.call(this.history,this.line);if(dupIndex!==-1)ArrayPrototypeSplice.call(this.history,dupIndex,1)}if(ArrayPrototypeUnshift.call(this.history,this.line),this.history.length>this.historySize)ArrayPrototypePop.call(this.history)}this.historyIndex=-1;var line=this.history[0];return this.emit(\"history\",this.history),line}[kRefreshLine](){var line=this[kPrompt]+this.line,dispPos=this[kGetDisplayPos](line),lineCols=dispPos.cols,lineRows=dispPos.rows,cursorPos=this.getCursorPos(),prevRows=this.prevRows||0;if(prevRows>0)moveCursor(this.output,0,-prevRows);if(cursorTo(this.output,0),clearScreenDown(this.output),this[kWriteToOutput](line),lineCols===0)this[kWriteToOutput](\" \");cursorTo(this.output,cursorPos.cols);var diff=lineRows-cursorPos.rows;if(diff>0)moveCursor(this.output,0,-diff);this.prevRows=cursorPos.rows}close(){if(this.closed)return;if(this.pause(),this.terminal)this[kSetRawMode](!1);this.closed=!0,this.emit(\"close\")}pause(){if(this.paused)return;return this.input.pause(),this.paused=!0,this.emit(\"pause\"),this}resume(){if(!this.paused)return;return this.input.resume(),this.paused=!1,this.emit(\"resume\"),this}write(d,key){if(this.paused)this.resume();if(this.terminal)this[kTtyWrite](d,key);else this[kNormalWrite](d)}[kNormalWrite](b){if(b===void 0)return;var string=this[kDecoder].write(b);if(this[kSawReturnAt]&&DateNow()-this[kSawReturnAt]<=this.crlfDelay){if(StringPrototypeCodePointAt.call(string)===10)string=StringPrototypeSlice.call(string,1);this[kSawReturnAt]=0}var newPartContainsEnding=RegExpPrototypeExec.call(lineEnding,string);if(newPartContainsEnding!==null){if(this[kLine_buffer])string=this[kLine_buffer]+string,this[kLine_buffer]=null,newPartContainsEnding=RegExpPrototypeExec.call(lineEnding,string);this[kSawReturnAt]=StringPrototypeEndsWith.call(string,\"\\r\")\?DateNow():0;var indexes=[0,newPartContainsEnding.index,lineEnding.lastIndex],nextMatch;while((nextMatch=RegExpPrototypeExec.call(lineEnding,string))!==null)ArrayPrototypePush.call(indexes,nextMatch.index,lineEnding.lastIndex);var lastIndex=indexes.length-1;this[kLine_buffer]=StringPrototypeSlice.call(string,indexes[lastIndex]);for(var i=1;ie!==\"\"));if(StringPrototypeStartsWith.call(prefix,completeOn)&&prefix.length>completeOn.length){this[kInsertString](StringPrototypeSlice.call(prefix,completeOn.length));return}else if(!StringPrototypeStartsWith.call(completeOn,prefix)){this.line=StringPrototypeSlice.call(this.line,0,this.cursor-completeOn.length)+prefix+StringPrototypeSlice.call(this.line,this.cursor,this.line.length),this.cursor=this.cursor-completeOn.length+prefix.length,this._refreshLine();return}if(!lastKeypressWasTab)return;this[kBeforeEdit](this.line,this.cursor);var completionsWidth=ArrayPrototypeMap.call(completions,(e)=>getStringWidth(e)),width=MathMaxApply(completionsWidth)+2,maxColumns=MathFloor(this.columns/width)||1;if(maxColumns===Infinity)maxColumns=1;var output=\"\\r\\n\",lineIndex=0,whitespace=0;for(var i=0;i0){var leading=StringPrototypeSlice.call(this.line,0,this.cursor),reversed=ArrayPrototypeJoin.call(ArrayPrototypeReverse.call(ArrayFrom(leading)),\"\"),match=RegExpPrototypeExec.call(/^\\s*(\?:[^\\w\\s]+|\\w+)\?/,reversed);this[kMoveCursor](-match[0].length)}}[kWordRight](){if(this.cursor0&&this.line.length>0){this[kBeforeEdit](this.line,this.cursor);var charSize=charLengthLeft(this.line,this.cursor);this.line=StringPrototypeSlice.call(this.line,0,this.cursor-charSize)+StringPrototypeSlice.call(this.line,this.cursor,this.line.length),this.cursor-=charSize,this[kRefreshLine]()}}[kDeleteRight](){if(this.cursor0){this[kBeforeEdit](this.line,this.cursor);var leading=StringPrototypeSlice.call(this.line,0,this.cursor),reversed=ArrayPrototypeJoin.call(ArrayPrototypeReverse.call(ArrayFrom(leading)),\"\"),match=RegExpPrototypeExec.call(/^\\s*(\?:[^\\w\\s]+|\\w+)\?/,reversed);leading=StringPrototypeSlice.call(leading,0,leading.length-match[0].length),this.line=leading+StringPrototypeSlice.call(this.line,this.cursor,this.line.length),this.cursor=leading.length,this[kRefreshLine]()}}[kDeleteWordRight](){if(this.cursorkMaxLengthOfKillRing)ArrayPrototypePop.call(this[kKillRing])}[kYank](){if(this[kKillRing].length>0)this[kYanking]=!0,this[kInsertString](this[kKillRing][this[kKillRingCursor]])}[kYankPop](){if(!this[kYanking])return;if(this[kKillRing].length>1){var lastYank=this[kKillRing][this[kKillRingCursor]];if(this[kKillRingCursor]++,this[kKillRingCursor]>=this[kKillRing].length)this[kKillRingCursor]=0;var currentYank=this[kKillRing][this[kKillRingCursor]],head=StringPrototypeSlice.call(this.line,0,this.cursor-lastYank.length),tail=StringPrototypeSlice.call(this.line,this.cursor);this.line=head+currentYank+tail,this.cursor=head.length+currentYank.length,this[kRefreshLine]()}}clearLine(){this[kMoveCursor](Infinity),this[kWriteToOutput](\"\\r\\n\"),this.line=\"\",this.cursor=0,this.prevRows=0}[kLine](){var line=this[kAddHistory]();this[kUndoStack]=[],this[kRedoStack]=[],this.clearLine(),this[kOnLine](line)}[kPushToUndoStack](text,cursor){if(ArrayPrototypePush.call(this[kUndoStack],{text,cursor})>kMaxUndoRedoStackSize)ArrayPrototypeShift.call(this[kUndoStack])}[kUndo](){if(this[kUndoStack].length<=0)return;ArrayPrototypePush.call(this[kRedoStack],{text:this.line,cursor:this.cursor});var entry=ArrayPrototypePop.call(this[kUndoStack]);this.line=entry.text,this.cursor=entry.cursor,this[kRefreshLine]()}[kRedo](){if(this[kRedoStack].length<=0)return;ArrayPrototypePush.call(this[kUndoStack],{text:this.line,cursor:this.cursor});var entry=ArrayPrototypePop.call(this[kRedoStack]);this.line=entry.text,this.cursor=entry.cursor,this[kRefreshLine]()}[kHistoryNext](){if(this.historyIndex>=0){this[kBeforeEdit](this.line,this.cursor);var search=this[kSubstringSearch]||\"\",index=this.historyIndex-1;while(index>=0&&(!StringPrototypeStartsWith.call(this.history[index],search)||this.line===this.history[index]))index--;if(index===-1)this.line=search;else this.line=this.history[index];this.historyIndex=index,this.cursor=this.line.length,this[kRefreshLine]()}}[kHistoryPrev](){if(this.historyIndexthis.line.length)this.cursor=this.line.length;var newPos=this.getCursorPos();if(oldPos.rows===newPos.rows){var diffWidth=newPos.cols-oldPos.cols;moveCursor(this.output,diffWidth,0)}else this[kRefreshLine]()}[kTtyWrite](s,key){var previousKey=this[kPreviousKey];key=key||kEmptyObject,this[kPreviousKey]=key;var{name:keyName,meta:keyMeta,ctrl:keyCtrl2,shift:keyShift,sequence:keySeq}=key;if(!keyMeta||keyName!==\"y\")this[kYanking]=!1;if((keyName===\"up\"||keyName===\"down\")&&!keyCtrl2&&!keyMeta&&!keyShift){if(this[kSubstringSearch]===null)this[kSubstringSearch]=StringPrototypeSlice.call(this.line,0,this.cursor)}else if(this[kSubstringSearch]!==null){if(this[kSubstringSearch]=null,this.history.length===this.historyIndex)this.historyIndex=-1}if(typeof keySeq===\"string\")switch(StringPrototypeCodePointAt.call(keySeq,0)){case 31:this[kUndo]();return;case 30:this[kRedo]();return;default:break}if(keyName===\"escape\")return;if(keyCtrl2&&keyShift)switch(keyName){case\"backspace\":this[kDeleteLineLeft]();break;case\"delete\":this[kDeleteLineRight]();break}else if(keyCtrl2)switch(keyName){case\"c\":if(this.listenerCount(\"SIGINT\")>0)this.emit(\"SIGINT\");else this.close();break;case\"h\":this[kDeleteLeft]();break;case\"d\":if(this.cursor===0&&this.line.length===0)this.close();else if(this.cursorthis.crlfDelay)this[kLine]();this[kSawReturnAt]=0;break;case\"backspace\":this[kDeleteLeft]();break;case\"delete\":this[kDeleteRight]();break;case\"left\":this[kMoveCursor](-charLengthLeft(this.line,this.cursor));break;case\"right\":this[kMoveCursor](+charLengthAt(this.line,this.cursor));break;case\"home\":this[kMoveCursor]((-Infinity));break;case\"end\":this[kMoveCursor](Infinity);break;case\"up\":this[kHistoryPrev]();break;case\"down\":this[kHistoryNext]();break;case\"tab\":if(typeof this.completer===\"function\"&&this.isCompletionEnabled){var lastKeypressWasTab=previousKey&&previousKey.name===\"tab\";this[kTabComplete](lastKeypressWasTab);break}default:if(typeof s===\"string\"&&s){var nextMatch=RegExpPrototypeExec.call(lineEnding,s);if(nextMatch!==null){this[kInsertString](StringPrototypeSlice.call(s,0,nextMatch.index));var{lastIndex}=lineEnding;while((nextMatch=RegExpPrototypeExec.call(lineEnding,s))!==null)this[kLine](),this[kInsertString](StringPrototypeSlice.call(s,lastIndex,nextMatch.index)),{lastIndex}=lineEnding;if(lastIndex===s.length)this[kLine]()}else this[kInsertString](s)}}}}[SymbolAsyncIterator](){if(this[kLineObjectStream]===void 0)this[kLineObjectStream]=EventEmitter.on(this,\"line\",{close:[\"close\"],highWatermark:1024,[kFirstEventParam]:!0});return this[kLineObjectStream]}};function Interface(input,output,completer,terminal){if(!(this instanceof Interface))return new Interface(input,output,completer,terminal);if(input\?.input&&typeof input.completer===\"function\"&&input.completer.length!==2){var{completer}=input;input.completer=(v,cb)=>cb(null,completer(v))}else if(typeof completer===\"function\"&&completer.length!==2){var realCompleter=completer;completer=(v,cb)=>cb(null,realCompleter(v))}if(InterfaceConstructor.call(this,input,output,completer,terminal),process.env.TERM===\"dumb\")this._ttyWrite=_ttyWriteDumb.bind(this)}ObjectSetPrototypeOf(Interface.prototype,_Interface.prototype),ObjectSetPrototypeOf(Interface,_Interface),Interface.prototype.question=function question(query,options,cb){if(cb=typeof options===\"function\"\?options:cb,options===null||typeof options!==\"object\")options=kEmptyObject;var signal=options\?.signal;if(signal){if(validateAbortSignal(signal,\"options.signal\"),signal.aborted)return;var onAbort=()=>{this[kQuestionCancel]()};signal.addEventListener(\"abort\",onAbort,{once:!0});var cleanup=()=>{signal.removeEventListener(\"abort\",onAbort)},originalCb=cb;cb=typeof cb===\"function\"\?(answer)=>{return cleanup(),originalCb(answer)}:cleanup}if(typeof cb===\"function\")this[kQuestion](query,cb)},Interface.prototype.question[promisify.custom]=function question(query,options){if(options===null||typeof options!==\"object\")options=kEmptyObject;var signal=options\?.signal;if(signal&&signal.aborted)return PromiseReject(new AbortError(void 0,{cause:signal.reason}));return new Promise((resolve,reject)=>{var cb=resolve;if(signal){var onAbort=()=>{reject(new AbortError(void 0,{cause:signal.reason}))};signal.addEventListener(\"abort\",onAbort,{once:!0}),cb=(answer)=>{signal.removeEventListener(\"abort\",onAbort),resolve(answer)}}this.question(query,options,cb)})};function createInterface(input,output,completer,terminal){return new Interface(input,output,completer,terminal)}ObjectDefineProperties(Interface.prototype,{[kSetRawMode]:{__proto__:null,get(){return this._setRawMode}},[kOnLine]:{__proto__:null,get(){return this._onLine}},[kWriteToOutput]:{__proto__:null,get(){return this._writeToOutput}},[kAddHistory]:{__proto__:null,get(){return this._addHistory}},[kRefreshLine]:{__proto__:null,get(){return this._refreshLine}},[kNormalWrite]:{__proto__:null,get(){return this._normalWrite}},[kInsertString]:{__proto__:null,get(){return this._insertString}},[kTabComplete]:{__proto__:null,get(){return this._tabComplete}},[kWordLeft]:{__proto__:null,get(){return this._wordLeft}},[kWordRight]:{__proto__:null,get(){return this._wordRight}},[kDeleteLeft]:{__proto__:null,get(){return this._deleteLeft}},[kDeleteRight]:{__proto__:null,get(){return this._deleteRight}},[kDeleteWordLeft]:{__proto__:null,get(){return this._deleteWordLeft}},[kDeleteWordRight]:{__proto__:null,get(){return this._deleteWordRight}},[kDeleteLineLeft]:{__proto__:null,get(){return this._deleteLineLeft}},[kDeleteLineRight]:{__proto__:null,get(){return this._deleteLineRight}},[kLine]:{__proto__:null,get(){return this._line}},[kHistoryNext]:{__proto__:null,get(){return this._historyNext}},[kHistoryPrev]:{__proto__:null,get(){return this._historyPrev}},[kGetDisplayPos]:{__proto__:null,get(){return this._getDisplayPos}},[kMoveCursor]:{__proto__:null,get(){return this._moveCursor}},[kTtyWrite]:{__proto__:null,get(){return this._ttyWrite}},_decoder:{__proto__:null,get(){return this[kDecoder]},set(value){this[kDecoder]=value}},_line_buffer:{__proto__:null,get(){return this[kLine_buffer]},set(value){this[kLine_buffer]=value}},_oldPrompt:{__proto__:null,get(){return this[kOldPrompt]},set(value){this[kOldPrompt]=value}},_previousKey:{__proto__:null,get(){return this[kPreviousKey]},set(value){this[kPreviousKey]=value}},_prompt:{__proto__:null,get(){return this[kPrompt]},set(value){this[kPrompt]=value}},_questionCallback:{__proto__:null,get(){return this[kQuestionCallback]},set(value){this[kQuestionCallback]=value}},_sawKeyPress:{__proto__:null,get(){return this[kSawKeyPress]},set(value){this[kSawKeyPress]=value}},_sawReturnAt:{__proto__:null,get(){return this[kSawReturnAt]},set(value){this[kSawReturnAt]=value}}}),Interface.prototype._setRawMode=_Interface.prototype[kSetRawMode],Interface.prototype._onLine=_Interface.prototype[kOnLine],Interface.prototype._writeToOutput=_Interface.prototype[kWriteToOutput],Interface.prototype._addHistory=_Interface.prototype[kAddHistory],Interface.prototype._refreshLine=_Interface.prototype[kRefreshLine],Interface.prototype._normalWrite=_Interface.prototype[kNormalWrite],Interface.prototype._insertString=_Interface.prototype[kInsertString],Interface.prototype._tabComplete=function(lastKeypressWasTab){this.pause();var string=StringPrototypeSlice.call(this.line,0,this.cursor);this.completer(string,(err,value)=>{if(this.resume(),err){this._writeToOutput(`Tab completion error: ${inspect(err)}`);return}this[kTabCompleter](lastKeypressWasTab,value)})},Interface.prototype._wordLeft=_Interface.prototype[kWordLeft],Interface.prototype._wordRight=_Interface.prototype[kWordRight],Interface.prototype._deleteLeft=_Interface.prototype[kDeleteLeft],Interface.prototype._deleteRight=_Interface.prototype[kDeleteRight],Interface.prototype._deleteWordLeft=_Interface.prototype[kDeleteWordLeft],Interface.prototype._deleteWordRight=_Interface.prototype[kDeleteWordRight],Interface.prototype._deleteLineLeft=_Interface.prototype[kDeleteLineLeft],Interface.prototype._deleteLineRight=_Interface.prototype[kDeleteLineRight],Interface.prototype._line=_Interface.prototype[kLine],Interface.prototype._historyNext=_Interface.prototype[kHistoryNext],Interface.prototype._historyPrev=_Interface.prototype[kHistoryPrev],Interface.prototype._getDisplayPos=_Interface.prototype[kGetDisplayPos],Interface.prototype._getCursorPos=_Interface.prototype.getCursorPos,Interface.prototype._moveCursor=_Interface.prototype[kMoveCursor],Interface.prototype._ttyWrite=_Interface.prototype[kTtyWrite];function _ttyWriteDumb(s,key){if(key=key||kEmptyObject,key.name===\"escape\")return;if(this[kSawReturnAt]&&key.name!==\"enter\")this[kSawReturnAt]=0;if(keyCtrl){if(key.name===\"c\"){if(this.listenerCount(\"SIGINT\")>0)this.emit(\"SIGINT\");else this.close();return}else if(key.name===\"d\"){this.close();return}}switch(key.name){case\"return\":this[kSawReturnAt]=DateNow(),this._line();break;case\"enter\":if(this[kSawReturnAt]===0||DateNow()-this[kSawReturnAt]>this.crlfDelay)this._line();this[kSawReturnAt]=0;break;default:if(typeof s===\"string\"&&s)this.line+=s,this.cursor+=s.length,this._writeToOutput(s)}}class Readline{#autoCommit=!1;#stream;#todo=[];constructor(stream,options=void 0){if(isWritable\?\?=@requireId(30).isWritable,!isWritable(stream))throw new ERR_INVALID_ARG_TYPE(\"stream\",\"Writable\",stream);if(this.#stream=stream,options\?.autoCommit!=null)validateBoolean(options.autoCommit,\"options.autoCommit\"),this.#autoCommit=options.autoCommit}cursorTo(x,y=void 0){if(validateInteger(x,\"x\"),y!=null)validateInteger(y,\"y\");var data=y==null\?CSI`${x+1}G`:CSI`${y+1};${x+1}H`;if(this.#autoCommit)process.nextTick(()=>this.#stream.write(data));else ArrayPrototypePush.call(this.#todo,data);return this}moveCursor(dx,dy){if(dx||dy){validateInteger(dx,\"dx\"),validateInteger(dy,\"dy\");var data=\"\";if(dx<0)data+=CSI`${-dx}D`;else if(dx>0)data+=CSI`${dx}C`;if(dy<0)data+=CSI`${-dy}A`;else if(dy>0)data+=CSI`${dy}B`;if(this.#autoCommit)process.nextTick(()=>this.#stream.write(data));else ArrayPrototypePush.call(this.#todo,data)}return this}clearLine(dir){validateInteger(dir,\"dir\",-1,1);var data=dir<0\?kClearToLineBeginning:dir>0\?kClearToLineEnd:kClearLine;if(this.#autoCommit)process.nextTick(()=>this.#stream.write(data));else ArrayPrototypePush.call(this.#todo,data);return this}clearScreenDown(){if(this.#autoCommit)process.nextTick(()=>this.#stream.write(kClearScreenDown));else ArrayPrototypePush.call(this.#todo,kClearScreenDown);return this}commit(){return new Promise((resolve)=>{this.#stream.write(ArrayPrototypeJoin.call(this.#todo,\"\"),resolve),this.#todo=[]})}rollback(){return this.#todo=[],this}}var PromisesInterface=class Interface2 extends _Interface{constructor(input,output,completer,terminal){super(input,output,completer,terminal)}question(query,options=kEmptyObject){var signal=options\?.signal;if(signal){if(validateAbortSignal(signal,\"options.signal\"),signal.aborted)return PromiseReject(new AbortError(void 0,{cause:signal.reason}))}return new Promise((resolve,reject)=>{var cb=resolve;if(options\?.signal){var onAbort=()=>{this[kQuestionCancel](),reject(new AbortError(void 0,{cause:signal.reason}))};signal.addEventListener(\"abort\",onAbort,{once:!0}),cb=(answer)=>{signal.removeEventListener(\"abort\",onAbort),resolve(answer)}}this[kQuestion](query,cb)})}};return $={Interface,clearLine,clearScreenDown,createInterface,cursorTo,emitKeypressEvents,moveCursor,promises:{Readline,Interface:PromisesInterface,createInterface(input,output,completer,terminal){return new PromisesInterface(input,output,completer,terminal)}},[SymbolFor(\"__BUN_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED__\")]:{CSI,utils:{getStringWidth,stripVTControlCharacters}}},$})\n"_s; +static constexpr ASCIILiteral NodeReadlinePromisesCode = "(function (){\"use strict\";return @requireId(26).promises})\n"_s; +static constexpr ASCIILiteral NodeReplCode = "(function (){\"use strict\";var $;const{throwNotImplemented}=@requireId(2);function REPLServer(){throwNotImplemented(\"node:repl REPLServer\")}function Recoverable(){throwNotImplemented(\"node:repl Recoverable\")}var REPL_MODE_SLOPPY=0,REPL_MODE_STRICT=1;function start(){throwNotImplemented(\"node:repl\")}return $={lines:[],context:globalThis,historyIndex:-1,cursor:0,historySize:1000,removeHistoryDuplicates:!1,crlfDelay:100,completer:()=>{throwNotImplemented(\"node:repl\")},history:[],_initialPrompt:\"> \",terminal:!0,input:new Proxy({},{get(){throwNotImplemented(\"node:repl\")},has:()=>!1,ownKeys:()=>[],getOwnPropertyDescriptor:()=>{return},set(){throwNotImplemented(\"node:repl\")}}),line:\"\",eval:()=>{throwNotImplemented(\"node:repl\")},isCompletionEnabled:!0,escapeCodeTimeout:500,tabSize:8,breakEvalOnSigint:!0,useGlobal:!0,underscoreAssigned:!1,last:void 0,_domain:void 0,allowBlockingCompletions:!1,useColors:!0,output:new Proxy({},{get(){throwNotImplemented(\"node:repl\")},has:()=>!1,ownKeys:()=>[],getOwnPropertyDescriptor:()=>{return},set(){throwNotImplemented(\"node:repl\")}})},$})\n"_s; +static constexpr ASCIILiteral NodeStreamConsumersCode = "(function (){\"use strict\";const{readableStreamToArrayBuffer:arrayBuffer,readableStreamToText:text}=Bun,json=(stream)=>Bun.readableStreamToText(stream).then(JSON.parse),buffer=async(readableStream)=>{return new Buffer(await arrayBuffer(readableStream))},blob=Bun.readableStreamToBlob;return{arrayBuffer,text,json,buffer,blob}})\n"_s; +static constexpr ASCIILiteral NodeStreamCode = "(function (){\"use strict\";const{EventEmitter:EE}=globalThis[globalThis.Symbol.for('Bun.lazy')](\"events\"),StringDecoder=@requireBuiltin(53).StringDecoder;var{defineProperty:__defProp,getOwnPropertyDescriptor:__getOwnPropDesc,getOwnPropertyNames:__getOwnPropNames}=Object,__hasOwnProp=Object.prototype.hasOwnProperty,__commonJS=(cb,mod)=>function __require2(){return mod||(0,cb[__getOwnPropNames(cb)[0]])((mod={exports:{}}).exports,mod),mod.exports},__copyProps=(to,from,except,desc)=>{if(from&&typeof from===\"object\"||typeof from===\"function\"){for(let key of __getOwnPropNames(from))if(!__hasOwnProp.call(to,key)&&key!==except)__defProp(to,key,{get:()=>from[key],set:(val)=>from[key]=val,enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable,configurable:!0})}return to},runOnNextTick=process.nextTick;function isReadableStream(value){return typeof value===\"object\"&&value!==null&&value instanceof ReadableStream}function validateBoolean(value,name){if(typeof value!==\"boolean\")throw new ERR_INVALID_ARG_TYPE(name,\"boolean\",value)}const validateObject=(value,name,options=null)=>{const allowArray=options\?.allowArray\?\?!1,allowFunction=options\?.allowFunction\?\?!1;if(!(options\?.nullable\?\?!1)&&value===null||!allowArray&&ArrayIsArray(value)||typeof value!==\"object\"&&(!allowFunction||typeof value!==\"function\"))throw new ERR_INVALID_ARG_TYPE(name,\"Object\",value)};function validateString(value,name){if(typeof value!==\"string\")throw new ERR_INVALID_ARG_TYPE(name,\"string\",value)}var ArrayIsArray=Array.isArray;function ERR_INVALID_ARG_TYPE(name,type,value){return new Error(`The argument '${name}' is invalid. Received '${value}' for type '${type}'`)}function ERR_INVALID_ARG_VALUE(name,value,reason){return new Error(`The value '${value}' is invalid for argument '${name}'. Reason: ${reason}`)}var require_primordials=__commonJS({\"node_modules/readable-stream/lib/ours/primordials.js\"(exports2,module){module.exports={ArrayIsArray(self){return Array.isArray(self)},ArrayPrototypeIncludes(self,el){return self.includes(el)},ArrayPrototypeIndexOf(self,el){return self.indexOf(el)},ArrayPrototypeJoin(self,sep){return self.join(sep)},ArrayPrototypeMap(self,fn){return self.map(fn)},ArrayPrototypePop(self,el){return self.pop(el)},ArrayPrototypePush(self,el){return self.push(el)},ArrayPrototypeSlice(self,start,end){return self.slice(start,end)},Error,FunctionPrototypeCall(fn,thisArgs,...args){return fn.call(thisArgs,...args)},FunctionPrototypeSymbolHasInstance(self,instance){return Function.prototype[Symbol.hasInstance].call(self,instance)},MathFloor:Math.floor,Number,NumberIsInteger:Number.isInteger,NumberIsNaN:Number.isNaN,NumberMAX_SAFE_INTEGER:Number.MAX_SAFE_INTEGER,NumberMIN_SAFE_INTEGER:Number.MIN_SAFE_INTEGER,NumberParseInt:Number.parseInt,ObjectDefineProperties(self,props){return Object.defineProperties(self,props)},ObjectDefineProperty(self,name,prop){return Object.defineProperty(self,name,prop)},ObjectGetOwnPropertyDescriptor(self,name){return Object.getOwnPropertyDescriptor(self,name)},ObjectKeys(obj){return Object.keys(obj)},ObjectSetPrototypeOf(target,proto){return Object.setPrototypeOf(target,proto)},Promise,PromisePrototypeCatch(self,fn){return self.catch(fn)},PromisePrototypeThen(self,thenFn,catchFn){return self.then(thenFn,catchFn)},PromiseReject(err){return Promise.reject(err)},ReflectApply:Reflect.apply,RegExpPrototypeTest(self,value){return self.test(value)},SafeSet:Set,String,StringPrototypeSlice(self,start,end){return self.slice(start,end)},StringPrototypeToLowerCase(self){return self.toLowerCase()},StringPrototypeToUpperCase(self){return self.toUpperCase()},StringPrototypeTrim(self){return self.trim()},Symbol,SymbolAsyncIterator:Symbol.asyncIterator,SymbolHasInstance:Symbol.hasInstance,SymbolIterator:Symbol.iterator,TypedArrayPrototypeSet(self,buf,len){return self.set(buf,len)},Uint8Array}}}),require_util=__commonJS({\"node_modules/readable-stream/lib/ours/util.js\"(exports2,module){var AsyncFunction=Object.getPrototypeOf(async function(){}).constructor,isBlob=typeof Blob!==\"undefined\"\?function isBlob2(b){return b instanceof Blob}:function isBlob2(b){return!1},AggregateError=class extends Error{constructor(errors){if(!Array.isArray(errors))@throwTypeError(`Expected input to be an Array, got ${typeof errors}`);let message=\"\";for(let i=0;i{resolve=res,reject=rej}),resolve,reject}},promisify(fn){return new Promise((resolve,reject)=>{fn((err,...args)=>{if(err)return reject(err);return resolve(...args)})})},debuglog(){return function(){}},format(format,...args){return format.replace(/%([sdifj])/g,function(...[_unused,type]){const replacement=args.shift();if(type===\"f\")return replacement.toFixed(6);else if(type===\"j\")return JSON.stringify(replacement);else if(type===\"s\"&&typeof replacement===\"object\")return`${replacement.constructor!==Object\?replacement.constructor.name:\"\"} {}`.trim();else return replacement.toString()})},inspect(value){switch(typeof value){case\"string\":if(value.includes(\"'\")){if(!value.includes('\"'))return`\"${value}\"`;else if(!value.includes(\"`\")&&!value.includes(\"${\"))return`\\`${value}\\``}return`'${value}'`;case\"number\":if(isNaN(value))return\"NaN\";else if(Object.is(value,-0))return String(value);return value;case\"bigint\":return`${String(value)}n`;case\"boolean\":case\"undefined\":return String(value);case\"object\":return\"{}\"}},types:{isAsyncFunction(fn){return fn instanceof AsyncFunction},isArrayBufferView(arr){return ArrayBuffer.isView(arr)}},isBlob},module.exports.promisify.custom=Symbol.for(\"nodejs.util.promisify.custom\")}}),require_errors=__commonJS({\"node_modules/readable-stream/lib/ours/errors.js\"(exports2,module){var{format,inspect,AggregateError:CustomAggregateError}=require_util(),AggregateError=globalThis.AggregateError||CustomAggregateError,kIsNodeError=Symbol(\"kIsNodeError\"),kTypes=[\"string\",\"function\",\"number\",\"object\",\"Function\",\"Object\",\"boolean\",\"bigint\",\"symbol\"],classRegExp=/^([A-Z][a-z0-9]*)+$/,nodeInternalPrefix=\"__node_internal_\",codes={};function assert(value,message){if(!value)throw new codes.ERR_INTERNAL_ASSERTION(message)}function addNumericalSeparator(val){let res=\"\",i=val.length;const start=val[0]===\"-\"\?1:0;for(;i>=start+4;i-=3)res=`_${val.slice(i-3,i)}${res}`;return`${val.slice(0,i)}${res}`}function getMessage(key,msg,args){if(typeof msg===\"function\")return assert(msg.length<=args.length,`Code: ${key}; The provided arguments length (${args.length}) does not match the required ones (${msg.length}).`),msg(...args);const expectedLength=(msg.match(/%[dfijoOs]/g)||[]).length;if(assert(expectedLength===args.length,`Code: ${key}; The provided arguments length (${args.length}) does not match the required ones (${expectedLength}).`),args.length===0)return msg;return format(msg,...args)}function E(code,message,Base){if(!Base)Base=Error;class NodeError extends Base{constructor(...args){super(getMessage(code,message,args))}toString(){return`${this.name} [${code}]: ${this.message}`}}Object.defineProperties(NodeError.prototype,{name:{value:Base.name,writable:!0,enumerable:!1,configurable:!0},toString:{value(){return`${this.name} [${code}]: ${this.message}`},writable:!0,enumerable:!1,configurable:!0}}),NodeError.prototype.code=code,NodeError.prototype[kIsNodeError]=!0,codes[code]=NodeError}function hideStackFrames(fn){const hidden=nodeInternalPrefix+fn.name;return Object.defineProperty(fn,\"name\",{value:hidden}),fn}function aggregateTwoErrors(innerError,outerError){if(innerError&&outerError&&innerError!==outerError){if(Array.isArray(outerError.errors))return outerError.errors.push(innerError),outerError;const err=new AggregateError([outerError,innerError],outerError.message);return err.code=outerError.code,err}return innerError||outerError}var AbortError=class extends Error{constructor(message=\"The operation was aborted\",options=void 0){if(options!==void 0&&typeof options!==\"object\")throw new codes.ERR_INVALID_ARG_TYPE(\"options\",\"Object\",options);super(message,options);this.code=\"ABORT_ERR\",this.name=\"AbortError\"}};E(\"ERR_ASSERTION\",\"%s\",Error),E(\"ERR_INVALID_ARG_TYPE\",(name,expected,actual)=>{if(assert(typeof name===\"string\",\"'name' must be a string\"),!Array.isArray(expected))expected=[expected];let msg=\"The \";if(name.endsWith(\" argument\"))msg+=`${name} `;else msg+=`\"${name}\" ${name.includes(\".\")\?\"property\":\"argument\"} `;msg+=\"must be \";const types=[],instances=[],other=[];for(let value of expected)if(assert(typeof value===\"string\",\"All expected entries have to be of type string\"),kTypes.includes(value))types.push(value.toLowerCase());else if(classRegExp.test(value))instances.push(value);else assert(value!==\"object\",'The value \"object\" should be written as \"Object\"'),other.push(value);if(instances.length>0){const pos=types.indexOf(\"object\");if(pos!==-1)types.splice(types,pos,1),instances.push(\"Object\")}if(types.length>0){switch(types.length){case 1:msg+=`of type ${types[0]}`;break;case 2:msg+=`one of type ${types[0]} or ${types[1]}`;break;default:{const last=types.pop();msg+=`one of type ${types.join(\", \")}, or ${last}`}}if(instances.length>0||other.length>0)msg+=\" or \"}if(instances.length>0){switch(instances.length){case 1:msg+=`an instance of ${instances[0]}`;break;case 2:msg+=`an instance of ${instances[0]} or ${instances[1]}`;break;default:{const last=instances.pop();msg+=`an instance of ${instances.join(\", \")}, or ${last}`}}if(other.length>0)msg+=\" or \"}switch(other.length){case 0:break;case 1:if(other[0].toLowerCase()!==other[0])msg+=\"an \";msg+=`${other[0]}`;break;case 2:msg+=`one of ${other[0]} or ${other[1]}`;break;default:{const last=other.pop();msg+=`one of ${other.join(\", \")}, or ${last}`}}if(actual==null)msg+=`. Received ${actual}`;else if(typeof actual===\"function\"&&actual.name)msg+=`. Received function ${actual.name}`;else if(typeof actual===\"object\"){var _actual$constructor;if((_actual$constructor=actual.constructor)!==null&&_actual$constructor!==void 0&&_actual$constructor.name)msg+=`. Received an instance of ${actual.constructor.name}`;else{const inspected=inspect(actual,{depth:-1});msg+=`. Received ${inspected}`}}else{let inspected=inspect(actual,{colors:!1});if(inspected.length>25)inspected=`${inspected.slice(0,25)}...`;msg+=`. Received type ${typeof actual} (${inspected})`}return msg},TypeError),E(\"ERR_INVALID_ARG_VALUE\",(name,value,reason=\"is invalid\")=>{let inspected=inspect(value);if(inspected.length>128)inspected=inspected.slice(0,128)+\"...\";return`The ${name.includes(\".\")\?\"property\":\"argument\"} '${name}' ${reason}. Received ${inspected}`},TypeError),E(\"ERR_INVALID_RETURN_VALUE\",(input,name,value)=>{var _value$constructor;const type=value!==null&&value!==void 0&&(_value$constructor=value.constructor)!==null&&_value$constructor!==void 0&&_value$constructor.name\?`instance of ${value.constructor.name}`:`type ${typeof value}`;return`Expected ${input} to be returned from the \"${name}\" function but got ${type}.`},TypeError),E(\"ERR_MISSING_ARGS\",(...args)=>{assert(args.length>0,\"At least one arg needs to be specified\");let msg;const len=args.length;switch(args=(Array.isArray(args)\?args:[args]).map((a)=>`\"${a}\"`).join(\" or \"),len){case 1:msg+=`The ${args[0]} argument`;break;case 2:msg+=`The ${args[0]} and ${args[1]} arguments`;break;default:{const last=args.pop();msg+=`The ${args.join(\", \")}, and ${last} arguments`}break}return`${msg} must be specified`},TypeError),E(\"ERR_OUT_OF_RANGE\",(str,range,input)=>{assert(range,'Missing \"range\" argument');let received;if(Number.isInteger(input)&&Math.abs(input)>4294967296)received=addNumericalSeparator(String(input));else if(typeof input===\"bigint\"){if(received=String(input),input>2n**32n||input<-(2n**32n))received=addNumericalSeparator(received);received+=\"n\"}else received=inspect(input);return`The value of \"${str}\" is out of range. It must be ${range}. Received ${received}`},RangeError),E(\"ERR_MULTIPLE_CALLBACK\",\"Callback called multiple times\",Error),E(\"ERR_METHOD_NOT_IMPLEMENTED\",\"The %s method is not implemented\",Error),E(\"ERR_STREAM_ALREADY_FINISHED\",\"Cannot call %s after a stream was finished\",Error),E(\"ERR_STREAM_CANNOT_PIPE\",\"Cannot pipe, not readable\",Error),E(\"ERR_STREAM_DESTROYED\",\"Cannot call %s after a stream was destroyed\",Error),E(\"ERR_STREAM_NULL_VALUES\",\"May not write null values to stream\",TypeError),E(\"ERR_STREAM_PREMATURE_CLOSE\",\"Premature close\",Error),E(\"ERR_STREAM_PUSH_AFTER_EOF\",\"stream.push() after EOF\",Error),E(\"ERR_STREAM_UNSHIFT_AFTER_END_EVENT\",\"stream.unshift() after end event\",Error),E(\"ERR_STREAM_WRITE_AFTER_END\",\"write after end\",Error),E(\"ERR_UNKNOWN_ENCODING\",\"Unknown encoding: %s\",TypeError),module.exports={AbortError,aggregateTwoErrors:hideStackFrames(aggregateTwoErrors),hideStackFrames,codes}}}),require_validators=__commonJS({\"node_modules/readable-stream/lib/internal/validators.js\"(exports2,module){var{ArrayIsArray:ArrayIsArray2,ArrayPrototypeIncludes,ArrayPrototypeJoin,ArrayPrototypeMap,NumberIsInteger,NumberMAX_SAFE_INTEGER,NumberMIN_SAFE_INTEGER,NumberParseInt,RegExpPrototypeTest,String:String2,StringPrototypeToUpperCase,StringPrototypeTrim}=require_primordials(),{hideStackFrames,codes:{ERR_SOCKET_BAD_PORT,ERR_INVALID_ARG_TYPE:ERR_INVALID_ARG_TYPE2,ERR_INVALID_ARG_VALUE:ERR_INVALID_ARG_VALUE2,ERR_OUT_OF_RANGE,ERR_UNKNOWN_SIGNAL}}=require_errors(),{normalizeEncoding}=require_util(),{isAsyncFunction,isArrayBufferView}=require_util().types,signals={};function isInt32(value){return value===(value|0)}function isUint32(value){return value===value>>>0}var octalReg=/^[0-7]+$/,modeDesc=\"must be a 32-bit unsigned integer or an octal string\";function parseFileMode(value,name,def){if(typeof value===\"undefined\")value=def;if(typeof value===\"string\"){if(!RegExpPrototypeTest(octalReg,value))throw new ERR_INVALID_ARG_VALUE2(name,value,modeDesc);value=NumberParseInt(value,8)}return validateInt32(value,name,0,4294967295),value}var validateInteger=hideStackFrames((value,name,min=NumberMIN_SAFE_INTEGER,max=NumberMAX_SAFE_INTEGER)=>{if(typeof value!==\"number\")throw new ERR_INVALID_ARG_TYPE2(name,\"number\",value);if(!NumberIsInteger(value))throw new ERR_OUT_OF_RANGE(name,\"an integer\",value);if(valuemax)throw new ERR_OUT_OF_RANGE(name,`>= ${min} && <= ${max}`,value)}),validateInt32=hideStackFrames((value,name,min=-2147483648,max=2147483647)=>{if(typeof value!==\"number\")throw new ERR_INVALID_ARG_TYPE2(name,\"number\",value);if(!isInt32(value)){if(!NumberIsInteger(value))throw new ERR_OUT_OF_RANGE(name,\"an integer\",value);throw new ERR_OUT_OF_RANGE(name,`>= ${min} && <= ${max}`,value)}if(valuemax)throw new ERR_OUT_OF_RANGE(name,`>= ${min} && <= ${max}`,value)}),validateUint32=hideStackFrames((value,name,positive)=>{if(typeof value!==\"number\")throw new ERR_INVALID_ARG_TYPE2(name,\"number\",value);if(!isUint32(value)){if(!NumberIsInteger(value))throw new ERR_OUT_OF_RANGE(name,\"an integer\",value);throw new ERR_OUT_OF_RANGE(name,`>= ${positive\?1:0} && < 4294967296`,value)}if(positive&&value===0)throw new ERR_OUT_OF_RANGE(name,\">= 1 && < 4294967296\",value)});function validateString2(value,name){if(typeof value!==\"string\")throw new ERR_INVALID_ARG_TYPE2(name,\"string\",value)}function validateNumber(value,name){if(typeof value!==\"number\")throw new ERR_INVALID_ARG_TYPE2(name,\"number\",value)}var validateOneOf=hideStackFrames((value,name,oneOf)=>{if(!ArrayPrototypeIncludes(oneOf,value)){const reason=\"must be one of: \"+ArrayPrototypeJoin(ArrayPrototypeMap(oneOf,(v)=>typeof v===\"string\"\?`'${v}'`:String2(v)),\", \");throw new ERR_INVALID_ARG_VALUE2(name,value,reason)}});function validateBoolean2(value,name){if(typeof value!==\"boolean\")throw new ERR_INVALID_ARG_TYPE2(name,\"boolean\",value)}var validateObject2=hideStackFrames((value,name,options)=>{const useDefaultOptions=options==null,allowArray=useDefaultOptions\?!1:options.allowArray,allowFunction=useDefaultOptions\?!1:options.allowFunction;if(!(useDefaultOptions\?!1:options.nullable)&&value===null||!allowArray&&ArrayIsArray2(value)||typeof value!==\"object\"&&(!allowFunction||typeof value!==\"function\"))throw new ERR_INVALID_ARG_TYPE2(name,\"Object\",value)}),validateArray=hideStackFrames((value,name,minLength=0)=>{if(!ArrayIsArray2(value))throw new ERR_INVALID_ARG_TYPE2(name,\"Array\",value);if(value.length{if(!isArrayBufferView(buffer))throw new ERR_INVALID_ARG_TYPE2(name,[\"Buffer\",\"TypedArray\",\"DataView\"],buffer)});function validateEncoding(data,encoding){const normalizedEncoding=normalizeEncoding(encoding),length=data.length;if(normalizedEncoding===\"hex\"&&length%2!==0)throw new ERR_INVALID_ARG_VALUE2(\"encoding\",encoding,`is invalid for data of length ${length}`)}function validatePort(port,name=\"Port\",allowZero=!0){if(typeof port!==\"number\"&&typeof port!==\"string\"||typeof port===\"string\"&&StringPrototypeTrim(port).length===0||+port!==+port>>>0||port>65535||port===0&&!allowZero)throw new ERR_SOCKET_BAD_PORT(name,port,allowZero);return port|0}var validateAbortSignal=hideStackFrames((signal,name)=>{if(signal!==void 0&&(signal===null||typeof signal!==\"object\"||!(\"aborted\"in signal)))throw new ERR_INVALID_ARG_TYPE2(name,\"AbortSignal\",signal)}),validateFunction=hideStackFrames((value,name)=>{if(typeof value!==\"function\")throw new ERR_INVALID_ARG_TYPE2(name,\"Function\",value)}),validatePlainFunction=hideStackFrames((value,name)=>{if(typeof value!==\"function\"||isAsyncFunction(value))throw new ERR_INVALID_ARG_TYPE2(name,\"Function\",value)}),validateUndefined=hideStackFrames((value,name)=>{if(value!==void 0)throw new ERR_INVALID_ARG_TYPE2(name,\"undefined\",value)});module.exports={isInt32,isUint32,parseFileMode,validateArray,validateBoolean:validateBoolean2,validateBuffer,validateEncoding,validateFunction,validateInt32,validateInteger,validateNumber,validateObject:validateObject2,validateOneOf,validatePlainFunction,validatePort,validateSignalName,validateString:validateString2,validateUint32,validateUndefined,validateAbortSignal}}}),require_utils=__commonJS({\"node_modules/readable-stream/lib/internal/streams/utils.js\"(exports2,module){var{Symbol:Symbol2,SymbolAsyncIterator,SymbolIterator}=require_primordials(),kDestroyed=Symbol2(\"kDestroyed\"),kIsErrored=Symbol2(\"kIsErrored\"),kIsReadable=Symbol2(\"kIsReadable\"),kIsDisturbed=Symbol2(\"kIsDisturbed\");function isReadableNodeStream(obj,strict=!1){var _obj$_readableState;return!!(obj&&typeof obj.pipe===\"function\"&&typeof obj.on===\"function\"&&(!strict||typeof obj.pause===\"function\"&&typeof obj.resume===\"function\")&&(!obj._writableState||((_obj$_readableState=obj._readableState)===null||_obj$_readableState===void 0\?void 0:_obj$_readableState.readable)!==!1)&&(!obj._writableState||obj._readableState))}function isWritableNodeStream(obj){var _obj$_writableState;return!!(obj&&typeof obj.write===\"function\"&&typeof obj.on===\"function\"&&(!obj._readableState||((_obj$_writableState=obj._writableState)===null||_obj$_writableState===void 0\?void 0:_obj$_writableState.writable)!==!1))}function isDuplexNodeStream(obj){return!!(obj&&typeof obj.pipe===\"function\"&&obj._readableState&&typeof obj.on===\"function\"&&typeof obj.write===\"function\")}function isNodeStream(obj){return obj&&(obj._readableState||obj._writableState||typeof obj.write===\"function\"&&typeof obj.on===\"function\"||typeof obj.pipe===\"function\"&&typeof obj.on===\"function\")}function isIterable(obj,isAsync){if(obj==null)return!1;if(isAsync===!0)return typeof obj[SymbolAsyncIterator]===\"function\";if(isAsync===!1)return typeof obj[SymbolIterator]===\"function\";return typeof obj[SymbolAsyncIterator]===\"function\"||typeof obj[SymbolIterator]===\"function\"}function isDestroyed(stream){if(!isNodeStream(stream))return null;const{_writableState:wState,_readableState:rState}=stream,state=wState||rState;return!!(stream.destroyed||stream[kDestroyed]||state!==null&&state!==void 0&&state.destroyed)}function isWritableEnded(stream){if(!isWritableNodeStream(stream))return null;if(stream.writableEnded===!0)return!0;const wState=stream._writableState;if(wState!==null&&wState!==void 0&&wState.errored)return!1;if(typeof(wState===null||wState===void 0\?void 0:wState.ended)!==\"boolean\")return null;return wState.ended}function isWritableFinished(stream,strict){if(!isWritableNodeStream(stream))return null;if(stream.writableFinished===!0)return!0;const wState=stream._writableState;if(wState!==null&&wState!==void 0&&wState.errored)return!1;if(typeof(wState===null||wState===void 0\?void 0:wState.finished)!==\"boolean\")return null;return!!(wState.finished||strict===!1&&wState.ended===!0&&wState.length===0)}function isReadableEnded(stream){if(!isReadableNodeStream(stream))return null;if(stream.readableEnded===!0)return!0;const rState=stream._readableState;if(!rState||rState.errored)return!1;if(typeof(rState===null||rState===void 0\?void 0:rState.ended)!==\"boolean\")return null;return rState.ended}function isReadableFinished(stream,strict){if(!isReadableNodeStream(stream))return null;const rState=stream._readableState;if(rState!==null&&rState!==void 0&&rState.errored)return!1;if(typeof(rState===null||rState===void 0\?void 0:rState.endEmitted)!==\"boolean\")return null;return!!(rState.endEmitted||strict===!1&&rState.ended===!0&&rState.length===0)}function isReadable(stream){if(stream&&stream[kIsReadable]!=null)return stream[kIsReadable];if(typeof(stream===null||stream===void 0\?void 0:stream.readable)!==\"boolean\")return null;if(isDestroyed(stream))return!1;return isReadableNodeStream(stream)&&stream.readable&&!isReadableFinished(stream)}function isWritable(stream){if(typeof(stream===null||stream===void 0\?void 0:stream.writable)!==\"boolean\")return null;if(isDestroyed(stream))return!1;return isWritableNodeStream(stream)&&stream.writable&&!isWritableEnded(stream)}function isFinished(stream,opts){if(!isNodeStream(stream))return null;if(isDestroyed(stream))return!0;if((opts===null||opts===void 0\?void 0:opts.readable)!==!1&&isReadable(stream))return!1;if((opts===null||opts===void 0\?void 0:opts.writable)!==!1&&isWritable(stream))return!1;return!0}function isWritableErrored(stream){var _stream$_writableStat,_stream$_writableStat2;if(!isNodeStream(stream))return null;if(stream.writableErrored)return stream.writableErrored;return(_stream$_writableStat=(_stream$_writableStat2=stream._writableState)===null||_stream$_writableStat2===void 0\?void 0:_stream$_writableStat2.errored)!==null&&_stream$_writableStat!==void 0\?_stream$_writableStat:null}function isReadableErrored(stream){var _stream$_readableStat,_stream$_readableStat2;if(!isNodeStream(stream))return null;if(stream.readableErrored)return stream.readableErrored;return(_stream$_readableStat=(_stream$_readableStat2=stream._readableState)===null||_stream$_readableStat2===void 0\?void 0:_stream$_readableStat2.errored)!==null&&_stream$_readableStat!==void 0\?_stream$_readableStat:null}function isClosed(stream){if(!isNodeStream(stream))return null;if(typeof stream.closed===\"boolean\")return stream.closed;const{_writableState:wState,_readableState:rState}=stream;if(typeof(wState===null||wState===void 0\?void 0:wState.closed)===\"boolean\"||typeof(rState===null||rState===void 0\?void 0:rState.closed)===\"boolean\")return(wState===null||wState===void 0\?void 0:wState.closed)||(rState===null||rState===void 0\?void 0:rState.closed);if(typeof stream._closed===\"boolean\"&&isOutgoingMessage(stream))return stream._closed;return null}function isOutgoingMessage(stream){return typeof stream._closed===\"boolean\"&&typeof stream._defaultKeepAlive===\"boolean\"&&typeof stream._removedConnection===\"boolean\"&&typeof stream._removedContLen===\"boolean\"}function isServerResponse(stream){return typeof stream._sent100===\"boolean\"&&isOutgoingMessage(stream)}function isServerRequest(stream){var _stream$req;return typeof stream._consuming===\"boolean\"&&typeof stream._dumped===\"boolean\"&&((_stream$req=stream.req)===null||_stream$req===void 0\?void 0:_stream$req.upgradeOrConnect)===void 0}function willEmitClose(stream){if(!isNodeStream(stream))return null;const{_writableState:wState,_readableState:rState}=stream,state=wState||rState;return!state&&isServerResponse(stream)||!!(state&&state.autoDestroy&&state.emitClose&&state.closed===!1)}function isDisturbed(stream){var _stream$kIsDisturbed;return!!(stream&&((_stream$kIsDisturbed=stream[kIsDisturbed])!==null&&_stream$kIsDisturbed!==void 0\?_stream$kIsDisturbed:stream.readableDidRead||stream.readableAborted))}function isErrored(stream){var _ref,_ref2,_ref3,_ref4,_ref5,_stream$kIsErrored,_stream$_readableStat3,_stream$_writableStat3,_stream$_readableStat4,_stream$_writableStat4;return!!(stream&&((_ref=(_ref2=(_ref3=(_ref4=(_ref5=(_stream$kIsErrored=stream[kIsErrored])!==null&&_stream$kIsErrored!==void 0\?_stream$kIsErrored:stream.readableErrored)!==null&&_ref5!==void 0\?_ref5:stream.writableErrored)!==null&&_ref4!==void 0\?_ref4:(_stream$_readableStat3=stream._readableState)===null||_stream$_readableStat3===void 0\?void 0:_stream$_readableStat3.errorEmitted)!==null&&_ref3!==void 0\?_ref3:(_stream$_writableStat3=stream._writableState)===null||_stream$_writableStat3===void 0\?void 0:_stream$_writableStat3.errorEmitted)!==null&&_ref2!==void 0\?_ref2:(_stream$_readableStat4=stream._readableState)===null||_stream$_readableStat4===void 0\?void 0:_stream$_readableStat4.errored)!==null&&_ref!==void 0\?_ref:(_stream$_writableStat4=stream._writableState)===null||_stream$_writableStat4===void 0\?void 0:_stream$_writableStat4.errored))}module.exports={kDestroyed,isDisturbed,kIsDisturbed,isErrored,kIsErrored,isReadable,kIsReadable,isClosed,isDestroyed,isDuplexNodeStream,isFinished,isIterable,isReadableNodeStream,isReadableEnded,isReadableFinished,isReadableErrored,isNodeStream,isWritable,isWritableNodeStream,isWritableEnded,isWritableFinished,isWritableErrored,isServerRequest,isServerResponse,willEmitClose}}}),require_end_of_stream=__commonJS({\"node_modules/readable-stream/lib/internal/streams/end-of-stream.js\"(exports2,module){var{AbortError,codes}=require_errors(),{ERR_INVALID_ARG_TYPE:ERR_INVALID_ARG_TYPE2,ERR_STREAM_PREMATURE_CLOSE}=codes,{once}=require_util(),{validateAbortSignal,validateFunction,validateObject:validateObject2}=require_validators(),{Promise:Promise2}=require_primordials(),{isClosed,isReadable,isReadableNodeStream,isReadableFinished,isReadableErrored,isWritable,isWritableNodeStream,isWritableFinished,isWritableErrored,isNodeStream,willEmitClose:_willEmitClose}=require_utils();function isRequest(stream){return stream.setHeader&&typeof stream.abort===\"function\"}var nop=()=>{};function eos(stream,options,callback){var _options$readable,_options$writable;if(arguments.length===2)callback=options,options={};else if(options==null)options={};else validateObject2(options,\"options\");validateFunction(callback,\"callback\"),validateAbortSignal(options.signal,\"options.signal\"),callback=once(callback);const readable=(_options$readable=options.readable)!==null&&_options$readable!==void 0\?_options$readable:isReadableNodeStream(stream),writable=(_options$writable=options.writable)!==null&&_options$writable!==void 0\?_options$writable:isWritableNodeStream(stream);if(!isNodeStream(stream))throw new ERR_INVALID_ARG_TYPE2(\"stream\",\"Stream\",stream);const{_writableState:wState,_readableState:rState}=stream,onlegacyfinish=()=>{if(!stream.writable)onfinish()};let willEmitClose=_willEmitClose(stream)&&isReadableNodeStream(stream)===readable&&isWritableNodeStream(stream)===writable,writableFinished=isWritableFinished(stream,!1);const onfinish=()=>{if(writableFinished=!0,stream.destroyed)willEmitClose=!1;if(willEmitClose&&(!stream.readable||readable))return;if(!readable||readableFinished)callback.call(stream)};let readableFinished=isReadableFinished(stream,!1);const onend=()=>{if(readableFinished=!0,stream.destroyed)willEmitClose=!1;if(willEmitClose&&(!stream.writable||writable))return;if(!writable||writableFinished)callback.call(stream)},onerror=(err)=>{callback.call(stream,err)};let closed=isClosed(stream);const onclose=()=>{closed=!0;const errored=isWritableErrored(stream)||isReadableErrored(stream);if(errored&&typeof errored!==\"boolean\")return callback.call(stream,errored);if(readable&&!readableFinished&&isReadableNodeStream(stream,!0)){if(!isReadableFinished(stream,!1))return callback.call(stream,new ERR_STREAM_PREMATURE_CLOSE)}if(writable&&!writableFinished){if(!isWritableFinished(stream,!1))return callback.call(stream,new ERR_STREAM_PREMATURE_CLOSE)}callback.call(stream)},onrequest=()=>{stream.req.on(\"finish\",onfinish)};if(isRequest(stream)){if(stream.on(\"complete\",onfinish),!willEmitClose)stream.on(\"abort\",onclose);if(stream.req)onrequest();else stream.on(\"request\",onrequest)}else if(writable&&!wState)stream.on(\"end\",onlegacyfinish),stream.on(\"close\",onlegacyfinish);if(!willEmitClose&&typeof stream.aborted===\"boolean\")stream.on(\"aborted\",onclose);if(stream.on(\"end\",onend),stream.on(\"finish\",onfinish),options.error!==!1)stream.on(\"error\",onerror);if(stream.on(\"close\",onclose),closed)runOnNextTick(onclose);else if(wState!==null&&wState!==void 0&&wState.errorEmitted||rState!==null&&rState!==void 0&&rState.errorEmitted){if(!willEmitClose)runOnNextTick(onclose)}else if(!readable&&(!willEmitClose||isReadable(stream))&&(writableFinished||isWritable(stream)===!1))runOnNextTick(onclose);else if(!writable&&(!willEmitClose||isWritable(stream))&&(readableFinished||isReadable(stream)===!1))runOnNextTick(onclose);else if(rState&&stream.req&&stream.aborted)runOnNextTick(onclose);const cleanup=()=>{if(callback=nop,stream.removeListener(\"aborted\",onclose),stream.removeListener(\"complete\",onfinish),stream.removeListener(\"abort\",onclose),stream.removeListener(\"request\",onrequest),stream.req)stream.req.removeListener(\"finish\",onfinish);stream.removeListener(\"end\",onlegacyfinish),stream.removeListener(\"close\",onlegacyfinish),stream.removeListener(\"finish\",onfinish),stream.removeListener(\"end\",onend),stream.removeListener(\"error\",onerror),stream.removeListener(\"close\",onclose)};if(options.signal&&!closed){const abort=()=>{const endCallback=callback;cleanup(),endCallback.call(stream,new AbortError(void 0,{cause:options.signal.reason}))};if(options.signal.aborted)runOnNextTick(abort);else{const originalCallback=callback;callback=once((...args)=>{options.signal.removeEventListener(\"abort\",abort),originalCallback.apply(stream,args)}),options.signal.addEventListener(\"abort\",abort)}}return cleanup}function finished(stream,opts){return new Promise2((resolve,reject)=>{eos(stream,opts,(err)=>{if(err)reject(err);else resolve()})})}module.exports=eos,module.exports.finished=finished}}),require_operators=__commonJS({\"node_modules/readable-stream/lib/internal/streams/operators.js\"(exports2,module){var{codes:{ERR_INVALID_ARG_TYPE:ERR_INVALID_ARG_TYPE2,ERR_MISSING_ARGS,ERR_OUT_OF_RANGE},AbortError}=require_errors(),{validateAbortSignal,validateInteger,validateObject:validateObject2}=require_validators(),kWeakHandler=require_primordials().Symbol(\"kWeak\"),{finished}=require_end_of_stream(),{ArrayPrototypePush,MathFloor,Number:Number2,NumberIsNaN,Promise:Promise2,PromiseReject,PromisePrototypeCatch,Symbol:Symbol2}=require_primordials(),kEmpty=Symbol2(\"kEmpty\"),kEof=Symbol2(\"kEof\");function map(fn,options){if(typeof fn!==\"function\")throw new ERR_INVALID_ARG_TYPE2(\"fn\",[\"Function\",\"AsyncFunction\"],fn);if(options!=null)validateObject2(options,\"options\");if((options===null||options===void 0\?void 0:options.signal)!=null)validateAbortSignal(options.signal,\"options.signal\");let concurrency=1;if((options===null||options===void 0\?void 0:options.concurrency)!=null)concurrency=MathFloor(options.concurrency);return validateInteger(concurrency,\"concurrency\",1),async function*map2(){var _options$signal,_options$signal2;const ac=new AbortController,stream=this,queue=[],signal=ac.signal,signalOpt={signal},abort=()=>ac.abort();if(options!==null&&options!==void 0&&(_options$signal=options.signal)!==null&&_options$signal!==void 0&&_options$signal.aborted)abort();options===null||options===void 0||(_options$signal2=options.signal)===null||_options$signal2===void 0||_options$signal2.addEventListener(\"abort\",abort);let next,resume,done=!1;function onDone(){done=!0}async function pump(){try{for await(let val of stream){var _val;if(done)return;if(signal.aborted)throw new AbortError;try{val=fn(val,signalOpt)}catch(err){val=PromiseReject(err)}if(val===kEmpty)continue;if(typeof((_val=val)===null||_val===void 0\?void 0:_val.catch)===\"function\")val.catch(onDone);if(queue.push(val),next)next(),next=null;if(!done&&queue.length&&queue.length>=concurrency)await new Promise2((resolve)=>{resume=resolve})}queue.push(kEof)}catch(err){const val=PromiseReject(err);PromisePrototypeCatch(val,onDone),queue.push(val)}finally{var _options$signal3;if(done=!0,next)next(),next=null;options===null||options===void 0||(_options$signal3=options.signal)===null||_options$signal3===void 0||_options$signal3.removeEventListener(\"abort\",abort)}}pump();try{while(!0){while(queue.length>0){const val=await queue[0];if(val===kEof)return;if(signal.aborted)throw new AbortError;if(val!==kEmpty)yield val;if(queue.shift(),resume)resume(),resume=null}await new Promise2((resolve)=>{next=resolve})}}finally{if(ac.abort(),done=!0,resume)resume(),resume=null}}.call(this)}function asIndexedPairs(options=void 0){if(options!=null)validateObject2(options,\"options\");if((options===null||options===void 0\?void 0:options.signal)!=null)validateAbortSignal(options.signal,\"options.signal\");return async function*asIndexedPairs2(){let index=0;for await(let val of this){var _options$signal4;if(options!==null&&options!==void 0&&(_options$signal4=options.signal)!==null&&_options$signal4!==void 0&&_options$signal4.aborted)throw new AbortError({cause:options.signal.reason});yield[index++,val]}}.call(this)}async function some(fn,options=void 0){for await(let unused of filter.call(this,fn,options))return!0;return!1}async function every(fn,options=void 0){if(typeof fn!==\"function\")throw new ERR_INVALID_ARG_TYPE2(\"fn\",[\"Function\",\"AsyncFunction\"],fn);return!await some.call(this,async(...args)=>{return!await fn(...args)},options)}async function find(fn,options){for await(let result of filter.call(this,fn,options))return result;return}async function forEach(fn,options){if(typeof fn!==\"function\")throw new ERR_INVALID_ARG_TYPE2(\"fn\",[\"Function\",\"AsyncFunction\"],fn);async function forEachFn(value,options2){return await fn(value,options2),kEmpty}for await(let unused of map.call(this,forEachFn,options));}function filter(fn,options){if(typeof fn!==\"function\")throw new ERR_INVALID_ARG_TYPE2(\"fn\",[\"Function\",\"AsyncFunction\"],fn);async function filterFn(value,options2){if(await fn(value,options2))return value;return kEmpty}return map.call(this,filterFn,options)}var ReduceAwareErrMissingArgs=class extends ERR_MISSING_ARGS{constructor(){super(\"reduce\");this.message=\"Reduce of an empty stream requires an initial value\"}};async function reduce(reducer,initialValue,options){var _options$signal5;if(typeof reducer!==\"function\")throw new ERR_INVALID_ARG_TYPE2(\"reducer\",[\"Function\",\"AsyncFunction\"],reducer);if(options!=null)validateObject2(options,\"options\");if((options===null||options===void 0\?void 0:options.signal)!=null)validateAbortSignal(options.signal,\"options.signal\");let hasInitialValue=arguments.length>1;if(options!==null&&options!==void 0&&(_options$signal5=options.signal)!==null&&_options$signal5!==void 0&&_options$signal5.aborted){const err=new AbortError(void 0,{cause:options.signal.reason});throw this.once(\"error\",()=>{}),await finished(this.destroy(err)),err}const ac=new AbortController,signal=ac.signal;if(options!==null&&options!==void 0&&options.signal){const opts={once:!0,[kWeakHandler]:this};options.signal.addEventListener(\"abort\",()=>ac.abort(),opts)}let gotAnyItemFromStream=!1;try{for await(let value of this){var _options$signal6;if(gotAnyItemFromStream=!0,options!==null&&options!==void 0&&(_options$signal6=options.signal)!==null&&_options$signal6!==void 0&&_options$signal6.aborted)throw new AbortError;if(!hasInitialValue)initialValue=value,hasInitialValue=!0;else initialValue=await reducer(initialValue,value,{signal})}if(!gotAnyItemFromStream&&!hasInitialValue)throw new ReduceAwareErrMissingArgs}finally{ac.abort()}return initialValue}async function toArray(options){if(options!=null)validateObject2(options,\"options\");if((options===null||options===void 0\?void 0:options.signal)!=null)validateAbortSignal(options.signal,\"options.signal\");const result=[];for await(let val of this){var _options$signal7;if(options!==null&&options!==void 0&&(_options$signal7=options.signal)!==null&&_options$signal7!==void 0&&_options$signal7.aborted)throw new AbortError(void 0,{cause:options.signal.reason});ArrayPrototypePush(result,val)}return result}function flatMap(fn,options){const values=map.call(this,fn,options);return async function*flatMap2(){for await(let val of values)yield*val}.call(this)}function toIntegerOrInfinity(number){if(number=Number2(number),NumberIsNaN(number))return 0;if(number<0)throw new ERR_OUT_OF_RANGE(\"number\",\">= 0\",number);return number}function drop(number,options=void 0){if(options!=null)validateObject2(options,\"options\");if((options===null||options===void 0\?void 0:options.signal)!=null)validateAbortSignal(options.signal,\"options.signal\");return number=toIntegerOrInfinity(number),async function*drop2(){var _options$signal8;if(options!==null&&options!==void 0&&(_options$signal8=options.signal)!==null&&_options$signal8!==void 0&&_options$signal8.aborted)throw new AbortError;for await(let val of this){var _options$signal9;if(options!==null&&options!==void 0&&(_options$signal9=options.signal)!==null&&_options$signal9!==void 0&&_options$signal9.aborted)throw new AbortError;if(number--<=0)yield val}}.call(this)}function take(number,options=void 0){if(options!=null)validateObject2(options,\"options\");if((options===null||options===void 0\?void 0:options.signal)!=null)validateAbortSignal(options.signal,\"options.signal\");return number=toIntegerOrInfinity(number),async function*take2(){var _options$signal10;if(options!==null&&options!==void 0&&(_options$signal10=options.signal)!==null&&_options$signal10!==void 0&&_options$signal10.aborted)throw new AbortError;for await(let val of this){var _options$signal11;if(options!==null&&options!==void 0&&(_options$signal11=options.signal)!==null&&_options$signal11!==void 0&&_options$signal11.aborted)throw new AbortError;if(number-- >0)yield val;else return}}.call(this)}module.exports.streamReturningOperators={asIndexedPairs,drop,filter,flatMap,map,take},module.exports.promiseReturningOperators={every,forEach,reduce,toArray,some,find}}}),require_destroy=__commonJS({\"node_modules/readable-stream/lib/internal/streams/destroy.js\"(exports2,module){var{aggregateTwoErrors,codes:{ERR_MULTIPLE_CALLBACK},AbortError}=require_errors(),{Symbol:Symbol2}=require_primordials(),{kDestroyed,isDestroyed,isFinished,isServerRequest}=require_utils(),kDestroy=\"#kDestroy\",kConstruct=\"#kConstruct\";function checkError(err,w,r){if(err){if(err.stack,w&&!w.errored)w.errored=err;if(r&&!r.errored)r.errored=err}}function destroy(err,cb){const r=this._readableState,w=this._writableState,s=w||r;if(w&&w.destroyed||r&&r.destroyed){if(typeof cb===\"function\")cb();return this}if(checkError(err,w,r),w)w.destroyed=!0;if(r)r.destroyed=!0;if(!s.constructed)this.once(kDestroy,(er)=>{_destroy(this,aggregateTwoErrors(er,err),cb)});else _destroy(this,err,cb);return this}function _destroy(self,err,cb){let called=!1;function onDestroy(err2){if(called)return;called=!0;const{_readableState:r,_writableState:w}=self;if(checkError(err2,w,r),w)w.closed=!0;if(r)r.closed=!0;if(typeof cb===\"function\")cb(err2);if(err2)runOnNextTick(emitErrorCloseNT,self,err2);else runOnNextTick(emitCloseNT,self)}try{self._destroy(err||null,onDestroy)}catch(err2){onDestroy(err2)}}function emitErrorCloseNT(self,err){emitErrorNT(self,err),emitCloseNT(self)}function emitCloseNT(self){const{_readableState:r,_writableState:w}=self;if(w)w.closeEmitted=!0;if(r)r.closeEmitted=!0;if(w&&w.emitClose||r&&r.emitClose)self.emit(\"close\")}function emitErrorNT(self,err){const r=self\?._readableState,w=self\?._writableState;if(w\?.errorEmitted||r\?.errorEmitted)return;if(w)w.errorEmitted=!0;if(r)r.errorEmitted=!0;self\?.emit\?.(\"error\",err)}function undestroy(){const r=this._readableState,w=this._writableState;if(r)r.constructed=!0,r.closed=!1,r.closeEmitted=!1,r.destroyed=!1,r.errored=null,r.errorEmitted=!1,r.reading=!1,r.ended=r.readable===!1,r.endEmitted=r.readable===!1;if(w)w.constructed=!0,w.destroyed=!1,w.closed=!1,w.closeEmitted=!1,w.errored=null,w.errorEmitted=!1,w.finalCalled=!1,w.prefinished=!1,w.ended=w.writable===!1,w.ending=w.writable===!1,w.finished=w.writable===!1}function errorOrDestroy2(stream,err,sync){const r=stream\?._readableState,w=stream\?._writableState;if(w&&w.destroyed||r&&r.destroyed)return this;if(r&&r.autoDestroy||w&&w.autoDestroy)stream.destroy(err);else if(err){if(Error.captureStackTrace(err),w&&!w.errored)w.errored=err;if(r&&!r.errored)r.errored=err;if(sync)runOnNextTick(emitErrorNT,stream,err);else emitErrorNT(stream,err)}}function construct(stream,cb){if(typeof stream._construct!==\"function\")return;const{_readableState:r,_writableState:w}=stream;if(r)r.constructed=!1;if(w)w.constructed=!1;if(stream.once(kConstruct,cb),stream.listenerCount(kConstruct)>1)return;runOnNextTick(constructNT,stream)}function constructNT(stream){let called=!1;function onConstruct(err){if(called){errorOrDestroy2(stream,err!==null&&err!==void 0\?err:new ERR_MULTIPLE_CALLBACK);return}called=!0;const{_readableState:r,_writableState:w}=stream,s=w||r;if(r)r.constructed=!0;if(w)w.constructed=!0;if(s.destroyed)stream.emit(kDestroy,err);else if(err)errorOrDestroy2(stream,err,!0);else runOnNextTick(emitConstructNT,stream)}try{stream._construct(onConstruct)}catch(err){onConstruct(err)}}function emitConstructNT(stream){stream.emit(kConstruct)}function isRequest(stream){return stream&&stream.setHeader&&typeof stream.abort===\"function\"}function emitCloseLegacy(stream){stream.emit(\"close\")}function emitErrorCloseLegacy(stream,err){stream.emit(\"error\",err),runOnNextTick(emitCloseLegacy,stream)}function destroyer(stream,err){if(!stream||isDestroyed(stream))return;if(!err&&!isFinished(stream))err=new AbortError;if(isServerRequest(stream))stream.socket=null,stream.destroy(err);else if(isRequest(stream))stream.abort();else if(isRequest(stream.req))stream.req.abort();else if(typeof stream.destroy===\"function\")stream.destroy(err);else if(typeof stream.close===\"function\")stream.close();else if(err)runOnNextTick(emitErrorCloseLegacy,stream);else runOnNextTick(emitCloseLegacy,stream);if(!stream.destroyed)stream[kDestroyed]=!0}module.exports={construct,destroyer,destroy,undestroy,errorOrDestroy:errorOrDestroy2}}}),require_legacy=__commonJS({\"node_modules/readable-stream/lib/internal/streams/legacy.js\"(exports2,module){var{ArrayIsArray:ArrayIsArray2,ObjectSetPrototypeOf}=require_primordials();function Stream(options){if(!(this instanceof Stream))return new Stream(options);EE.call(this,options)}ObjectSetPrototypeOf(Stream.prototype,EE.prototype),ObjectSetPrototypeOf(Stream,EE),Stream.prototype.pipe=function(dest,options){const source=this;function ondata(chunk){if(dest.writable&&dest.write(chunk)===!1&&source.pause)source.pause()}source.on(\"data\",ondata);function ondrain(){if(source.readable&&source.resume)source.resume()}if(dest.on(\"drain\",ondrain),!dest._isStdio&&(!options||options.end!==!1))source.on(\"end\",onend),source.on(\"close\",onclose);let didOnEnd=!1;function onend(){if(didOnEnd)return;didOnEnd=!0,dest.end()}function onclose(){if(didOnEnd)return;if(didOnEnd=!0,typeof dest.destroy===\"function\")dest.destroy()}function onerror(er){if(cleanup(),EE.listenerCount(this,\"error\")===0)this.emit(\"error\",er)}prependListener(source,\"error\",onerror),prependListener(dest,\"error\",onerror);function cleanup(){source.removeListener(\"data\",ondata),dest.removeListener(\"drain\",ondrain),source.removeListener(\"end\",onend),source.removeListener(\"close\",onclose),source.removeListener(\"error\",onerror),dest.removeListener(\"error\",onerror),source.removeListener(\"end\",cleanup),source.removeListener(\"close\",cleanup),dest.removeListener(\"close\",cleanup)}return source.on(\"end\",cleanup),source.on(\"close\",cleanup),dest.on(\"close\",cleanup),dest.emit(\"pipe\",source),dest};function prependListener(emitter,event,fn){if(typeof emitter.prependListener===\"function\")return emitter.prependListener(event,fn);if(!emitter._events||!emitter._events[event])emitter.on(event,fn);else if(ArrayIsArray2(emitter._events[event]))emitter._events[event].unshift(fn);else emitter._events[event]=[fn,emitter._events[event]]}module.exports={Stream,prependListener}}}),require_add_abort_signal=__commonJS({\"node_modules/readable-stream/lib/internal/streams/add-abort-signal.js\"(exports2,module){var{AbortError,codes}=require_errors(),eos=require_end_of_stream(),{ERR_INVALID_ARG_TYPE:ERR_INVALID_ARG_TYPE2}=codes,validateAbortSignal=(signal,name)=>{if(typeof signal!==\"object\"||!(\"aborted\"in signal))throw new ERR_INVALID_ARG_TYPE2(name,\"AbortSignal\",signal)};function isNodeStream(obj){return!!(obj&&typeof obj.pipe===\"function\")}module.exports.addAbortSignal=function addAbortSignal(signal,stream){if(validateAbortSignal(signal,\"signal\"),!isNodeStream(stream))throw new ERR_INVALID_ARG_TYPE2(\"stream\",\"stream.Stream\",stream);return module.exports.addAbortSignalNoValidate(signal,stream)},module.exports.addAbortSignalNoValidate=function(signal,stream){if(typeof signal!==\"object\"||!(\"aborted\"in signal))return stream;const onAbort=()=>{stream.destroy(new AbortError(void 0,{cause:signal.reason}))};if(signal.aborted)onAbort();else signal.addEventListener(\"abort\",onAbort),eos(stream,()=>signal.removeEventListener(\"abort\",onAbort));return stream}}}),require_state=__commonJS({\"node_modules/readable-stream/lib/internal/streams/state.js\"(exports2,module){var{MathFloor,NumberIsInteger}=require_primordials(),{ERR_INVALID_ARG_VALUE:ERR_INVALID_ARG_VALUE2}=require_errors().codes;function highWaterMarkFrom(options,isDuplex,duplexKey){return options.highWaterMark!=null\?options.highWaterMark:isDuplex\?options[duplexKey]:null}function getDefaultHighWaterMark(objectMode){return objectMode\?16:16384}function getHighWaterMark(state,options,duplexKey,isDuplex){const hwm=highWaterMarkFrom(options,isDuplex,duplexKey);if(hwm!=null){if(!NumberIsInteger(hwm)||hwm<0){const name=isDuplex\?`options.${duplexKey}`:\"options.highWaterMark\";throw new ERR_INVALID_ARG_VALUE2(name,hwm)}return MathFloor(hwm)}return getDefaultHighWaterMark(state.objectMode)}module.exports={getHighWaterMark,getDefaultHighWaterMark}}}),require_from=__commonJS({\"node_modules/readable-stream/lib/internal/streams/from.js\"(exports2,module){var{PromisePrototypeThen,SymbolAsyncIterator,SymbolIterator}=require_primordials(),{ERR_INVALID_ARG_TYPE:ERR_INVALID_ARG_TYPE2,ERR_STREAM_NULL_VALUES}=require_errors().codes;function from(Readable,iterable,opts){let iterator;if(typeof iterable===\"string\"||iterable instanceof Buffer)return new Readable({objectMode:!0,...opts,read(){this.push(iterable),this.push(null)}});let isAsync;if(iterable&&iterable[SymbolAsyncIterator])isAsync=!0,iterator=iterable[SymbolAsyncIterator]();else if(iterable&&iterable[SymbolIterator])isAsync=!1,iterator=iterable[SymbolIterator]();else throw new ERR_INVALID_ARG_TYPE2(\"iterable\",[\"Iterable\"],iterable);const readable=new Readable({objectMode:!0,highWaterMark:1,...opts});let reading=!1;readable._read=function(){if(!reading)reading=!0,next()},readable._destroy=function(error,cb){PromisePrototypeThen(close(error),()=>runOnNextTick(cb,error),(e)=>runOnNextTick(cb,e||error))};async function close(error){const hadError=error!==void 0&&error!==null,hasThrow=typeof iterator.throw===\"function\";if(hadError&&hasThrow){const{value,done}=await iterator.throw(error);if(await value,done)return}if(typeof iterator.return===\"function\"){const{value}=await iterator.return();await value}}async function next(){for(;;){try{const{value,done}=isAsync\?await iterator.next():iterator.next();if(done)readable.push(null);else{const res=value&&typeof value.then===\"function\"\?await value:value;if(res===null)throw reading=!1,new ERR_STREAM_NULL_VALUES;else if(readable.push(res))continue;else reading=!1}}catch(err){readable.destroy(err)}break}}return readable}module.exports=from}}),_ReadableFromWeb,_ReadableFromWebForUndici,require_readable=__commonJS({\"node_modules/readable-stream/lib/internal/streams/readable.js\"(exports2,module){var{ArrayPrototypeIndexOf,NumberIsInteger,NumberIsNaN,NumberParseInt,ObjectDefineProperties,ObjectKeys,ObjectSetPrototypeOf,Promise:Promise2,SafeSet,SymbolAsyncIterator,Symbol:Symbol2}=require_primordials(),ReadableState=globalThis[globalThis.Symbol.for('Bun.lazy')](\"bun:stream\").ReadableState,{Stream,prependListener}=require_legacy();function Readable(options){if(!(this instanceof Readable))return new Readable(options);const isDuplex=this instanceof require_duplex();if(this._readableState=new ReadableState(options,this,isDuplex),options){const{read,destroy,construct,signal}=options;if(typeof read===\"function\")this._read=read;if(typeof destroy===\"function\")this._destroy=destroy;if(typeof construct===\"function\")this._construct=construct;if(signal&&!isDuplex)addAbortSignal(signal,this)}Stream.call(this,options),destroyImpl.construct(this,()=>{if(this._readableState.needReadable)maybeReadMore(this,this._readableState)})}ObjectSetPrototypeOf(Readable.prototype,Stream.prototype),ObjectSetPrototypeOf(Readable,Stream),Readable.prototype.on=function(ev,fn){const res=Stream.prototype.on.call(this,ev,fn),state=this._readableState;if(ev===\"data\"){if(state.readableListening=this.listenerCount(\"readable\")>0,state.flowing!==!1)this.resume()}else if(ev===\"readable\"){if(!state.endEmitted&&!state.readableListening){if(state.readableListening=state.needReadable=!0,state.flowing=!1,state.emittedReadable=!1,__DEBUG__,state.length)emitReadable(this,state);else if(!state.reading)runOnNextTick(nReadingNextTick,this)}else if(state.endEmitted);}return res};class ReadableFromWeb extends Readable{#reader;#closed;#pendingChunks;#stream;constructor(options,stream){const{objectMode,highWaterMark,encoding,signal}=options;super({objectMode,highWaterMark,encoding,signal});this.#pendingChunks=[],this.#reader=void 0,this.#stream=stream,this.#closed=!1}#drainPending(){var pendingChunks=this.#pendingChunks,pendingChunksI=0,pendingChunksCount=pendingChunks.length;for(;pendingChunksI0)this.#pendingChunks=[];return!1}#handleDone(reader){reader.releaseLock(),this.#reader=void 0,this.#closed=!0,this.push(null);return}async _read(){var stream=this.#stream,reader=this.#reader;if(stream)reader=this.#reader=stream.getReader(),this.#stream=void 0;else if(this.#drainPending())return;var deferredError;try{do{var done=!1,value;const firstResult=reader.readMany();if(@isPromise(firstResult)){if({done,value}=await firstResult,this.#closed){this.#pendingChunks.push(...value);return}}else({done,value}=firstResult);if(done){this.#handleDone(reader);return}if(!this.push(value[0])){this.#pendingChunks=value.slice(1);return}for(let i=1,count=value.length;i{this.#closed=!0,callback(error)});return}try{callback(error)}catch(error2){globalThis.reportError(error2)}}}_ReadableFromWebForUndici=ReadableFromWeb;function newStreamReadableFromReadableStream(readableStream,options={}){if(!isReadableStream(readableStream))throw new ERR_INVALID_ARG_TYPE2(\"readableStream\",\"ReadableStream\",readableStream);validateObject2(options,\"options\");const{highWaterMark,encoding,objectMode=!1,signal}=options;if(encoding!==void 0&&!Buffer.isEncoding(encoding))throw new ERR_INVALID_ARG_VALUE(encoding,\"options.encoding\");return validateBoolean(objectMode,\"options.objectMode\"),getNativeReadableStream(Readable,readableStream,options)||new ReadableFromWeb({highWaterMark,encoding,objectMode,signal},readableStream)}module.exports=Readable,_ReadableFromWeb=newStreamReadableFromReadableStream;var{addAbortSignal}=require_add_abort_signal(),eos=require_end_of_stream();const{maybeReadMore:_maybeReadMore,resume,emitReadable:_emitReadable,onEofChunk}=globalThis[globalThis.Symbol.for('Bun.lazy')](\"bun:stream\");function maybeReadMore(stream,state){process.nextTick(_maybeReadMore,stream,state)}function emitReadable(stream,state){_emitReadable(stream,state)}var destroyImpl=require_destroy(),{aggregateTwoErrors,codes:{ERR_INVALID_ARG_TYPE:ERR_INVALID_ARG_TYPE2,ERR_METHOD_NOT_IMPLEMENTED,ERR_OUT_OF_RANGE,ERR_STREAM_PUSH_AFTER_EOF,ERR_STREAM_UNSHIFT_AFTER_END_EVENT}}=require_errors(),{validateObject:validateObject2}=require_validators(),from=require_from(),nop=()=>{},{errorOrDestroy:errorOrDestroy2}=destroyImpl;Readable.prototype.destroy=destroyImpl.destroy,Readable.prototype._undestroy=destroyImpl.undestroy,Readable.prototype._destroy=function(err,cb){cb(err)},Readable.prototype[EE.captureRejectionSymbol]=function(err){this.destroy(err)},Readable.prototype.push=function(chunk,encoding){return readableAddChunk(this,chunk,encoding,!1)},Readable.prototype.unshift=function(chunk,encoding){return readableAddChunk(this,chunk,encoding,!0)};function readableAddChunk(stream,chunk,encoding,addToFront){const state=stream._readableState;let err;if(!state.objectMode){if(typeof chunk===\"string\"){if(encoding=encoding||state.defaultEncoding,state.encoding!==encoding)if(addToFront&&state.encoding)chunk=Buffer.from(chunk,encoding).toString(state.encoding);else chunk=Buffer.from(chunk,encoding),encoding=\"\"}else if(chunk instanceof Buffer)encoding=\"\";else if(Stream._isUint8Array(chunk)){if(addToFront||!state.decoder)chunk=Stream._uint8ArrayToBuffer(chunk);encoding=\"\"}else if(chunk!=null)err=new ERR_INVALID_ARG_TYPE2(\"chunk\",[\"string\",\"Buffer\",\"Uint8Array\"],chunk)}if(err)errorOrDestroy2(stream,err);else if(chunk===null)state.reading=!1,onEofChunk(stream,state);else if(state.objectMode||chunk&&chunk.length>0)if(addToFront)if(state.endEmitted)errorOrDestroy2(stream,new ERR_STREAM_UNSHIFT_AFTER_END_EVENT);else if(state.destroyed||state.errored)return!1;else addChunk(stream,state,chunk,!0);else if(state.ended)errorOrDestroy2(stream,new ERR_STREAM_PUSH_AFTER_EOF);else if(state.destroyed||state.errored)return!1;else if(state.reading=!1,state.decoder&&!encoding)if(chunk=state.decoder.write(chunk),state.objectMode||chunk.length!==0)addChunk(stream,state,chunk,!1);else maybeReadMore(stream,state);else addChunk(stream,state,chunk,!1);else if(!addToFront)state.reading=!1,maybeReadMore(stream,state);return!state.ended&&(state.length0){if(state.multiAwaitDrain)state.awaitDrainWriters.clear();else state.awaitDrainWriters=null;state.dataEmitted=!0,stream.emit(\"data\",chunk)}else{if(state.length+=state.objectMode\?1:chunk.length,addToFront)state.buffer.unshift(chunk);else state.buffer.push(chunk);if(state.needReadable)emitReadable(stream,state)}maybeReadMore(stream,state)}Readable.prototype.isPaused=function(){const state=this._readableState;return state.paused===!0||state.flowing===!1},Readable.prototype.setEncoding=function(enc){const decoder=new StringDecoder(enc);this._readableState.decoder=decoder,this._readableState.encoding=this._readableState.decoder.encoding;const buffer=this._readableState.buffer;let content=\"\";for(let i=buffer.length;i>0;i--)content+=decoder.write(buffer.shift());if(content!==\"\")buffer.push(content);return this._readableState.length=content.length,this};var MAX_HWM=1073741824;function computeNewHighWaterMark(n){if(n>MAX_HWM)throw new ERR_OUT_OF_RANGE(\"size\",\"<= 1GiB\",n);else n--,n|=n>>>1,n|=n>>>2,n|=n>>>4,n|=n>>>8,n|=n>>>16,n++;return n}function howMuchToRead(n,state){if(n<=0||state.length===0&&state.ended)return 0;if(state.objectMode)return 1;if(NumberIsNaN(n)){if(state.flowing&&state.length)return state.buffer.first().length;return state.length}if(n<=state.length)return n;return state.ended\?state.length:0}Readable.prototype.read=function(n){if(!NumberIsInteger(n))n=NumberParseInt(n,10);const state=this._readableState,nOrig=n;if(n>state.highWaterMark)state.highWaterMark=computeNewHighWaterMark(n);if(n!==0)state.emittedReadable=!1;if(n===0&&state.needReadable&&((state.highWaterMark!==0\?state.length>=state.highWaterMark:state.length>0)||state.ended)){if(state.length===0&&state.ended)endReadable(this);else emitReadable(this,state);return null}if(n=howMuchToRead(n,state),n===0&&state.ended){if(__DEBUG__,state.length===0)endReadable(this);return null}let doRead=state.needReadable;if(state.length===0||state.length-n0)ret=fromList(n,state);else ret=null;if(ret===null)state.needReadable=state.length<=state.highWaterMark,n=0;else if(state.length-=n,state.multiAwaitDrain)state.awaitDrainWriters.clear();else state.awaitDrainWriters=null;if(state.length===0){if(!state.ended)state.needReadable=!0;if(nOrig!==n&&state.ended)endReadable(this)}if(ret!==null&&!state.errorEmitted&&!state.closeEmitted)state.dataEmitted=!0,this.emit(\"data\",ret);return ret},Readable.prototype._read=function(n){throw new ERR_METHOD_NOT_IMPLEMENTED(\"_read()\")},Readable.prototype.pipe=function(dest,pipeOpts){const src=this,state=this._readableState;if(state.pipes.length===1){if(!state.multiAwaitDrain)state.multiAwaitDrain=!0,state.awaitDrainWriters=new SafeSet(state.awaitDrainWriters\?[state.awaitDrainWriters]:[])}state.pipes.push(dest);const endFn=(!pipeOpts||pipeOpts.end!==!1)&&dest!==process.stdout&&dest!==process.stderr\?onend:unpipe;if(state.endEmitted)runOnNextTick(endFn);else src.once(\"end\",endFn);dest.on(\"unpipe\",onunpipe);function onunpipe(readable,unpipeInfo){if(readable===src){if(unpipeInfo&&unpipeInfo.hasUnpiped===!1)unpipeInfo.hasUnpiped=!0,cleanup()}}function onend(){dest.end()}let ondrain,cleanedUp=!1;function cleanup(){if(dest.removeListener(\"close\",onclose),dest.removeListener(\"finish\",onfinish),ondrain)dest.removeListener(\"drain\",ondrain);if(dest.removeListener(\"error\",onerror),dest.removeListener(\"unpipe\",onunpipe),src.removeListener(\"end\",onend),src.removeListener(\"end\",unpipe),src.removeListener(\"data\",ondata),cleanedUp=!0,ondrain&&state.awaitDrainWriters&&(!dest._writableState||dest._writableState.needDrain))ondrain()}function pause(){if(!cleanedUp){if(state.pipes.length===1&&state.pipes[0]===dest)state.awaitDrainWriters=dest,state.multiAwaitDrain=!1;else if(state.pipes.length>1&&state.pipes.includes(dest))state.awaitDrainWriters.add(dest);src.pause()}if(!ondrain)ondrain=pipeOnDrain(src,dest),dest.on(\"drain\",ondrain)}src.on(\"data\",ondata);function ondata(chunk){if(dest.write(chunk)===!1)pause()}function onerror(er){if(unpipe(),dest.removeListener(\"error\",onerror),dest.listenerCount(\"error\")===0){const s=dest._writableState||dest._readableState;if(s&&!s.errorEmitted)errorOrDestroy2(dest,er);else dest.emit(\"error\",er)}}prependListener(dest,\"error\",onerror);function onclose(){dest.removeListener(\"finish\",onfinish),unpipe()}dest.once(\"close\",onclose);function onfinish(){dest.removeListener(\"close\",onclose),unpipe()}dest.once(\"finish\",onfinish);function unpipe(){src.unpipe(dest)}if(dest.emit(\"pipe\",src),dest.writableNeedDrain===!0){if(state.flowing)pause()}else if(!state.flowing)src.resume();return dest};function pipeOnDrain(src,dest){return function pipeOnDrainFunctionResult(){const state=src._readableState;if(state.awaitDrainWriters===dest)state.awaitDrainWriters=null;else if(state.multiAwaitDrain)state.awaitDrainWriters.delete(dest);if((!state.awaitDrainWriters||state.awaitDrainWriters.size===0)&&src.listenerCount(\"data\"))src.resume()}}Readable.prototype.unpipe=function(dest){const state=this._readableState,unpipeInfo={hasUnpiped:!1};if(state.pipes.length===0)return this;if(!dest){const dests=state.pipes;state.pipes=[],this.pause();for(let i=0;i0,state.resumeScheduled&&state.paused===!1)state.flowing=!0;else if(self.listenerCount(\"data\")>0)self.resume();else if(!state.readableListening)state.flowing=null}function nReadingNextTick(self){self.read(0)}Readable.prototype.resume=function(){const state=this._readableState;if(!state.flowing)state.flowing=!state.readableListening,resume(this,state);return state.paused=!1,this},Readable.prototype.pause=function(){if(this._readableState.flowing!==!1)this._readableState.flowing=!1,this.emit(\"pause\");return this._readableState.paused=!0,this},Readable.prototype.wrap=function(stream){let paused=!1;stream.on(\"data\",(chunk)=>{if(!this.push(chunk)&&stream.pause)paused=!0,stream.pause()}),stream.on(\"end\",()=>{this.push(null)}),stream.on(\"error\",(err)=>{errorOrDestroy2(this,err)}),stream.on(\"close\",()=>{this.destroy()}),stream.on(\"destroy\",()=>{this.destroy()}),this._read=()=>{if(paused&&stream.resume)paused=!1,stream.resume()};const streamKeys=ObjectKeys(stream);for(let j=1;j{error=err\?aggregateTwoErrors(error,err):null,callback(),callback=nop});try{while(!0){const chunk=stream.destroyed\?null:stream.read();if(chunk!==null)yield chunk;else if(error)throw error;else if(error===null)return;else await new Promise2(next)}}catch(err){throw error=aggregateTwoErrors(error,err),error}finally{if((error||(options===null||options===void 0\?void 0:options.destroyOnReturn)!==!1)&&(error===void 0||stream._readableState.autoDestroy))destroyImpl.destroyer(stream,null);else stream.off(\"readable\",next),cleanup()}}ObjectDefineProperties(Readable.prototype,{readable:{get(){const r=this._readableState;return!!r&&r.readable!==!1&&!r.destroyed&&!r.errorEmitted&&!r.endEmitted},set(val){if(this._readableState)this._readableState.readable=!!val}},readableDidRead:{enumerable:!1,get:function(){return this._readableState.dataEmitted}},readableAborted:{enumerable:!1,get:function(){return!!(this._readableState.readable!==!1&&(this._readableState.destroyed||this._readableState.errored)&&!this._readableState.endEmitted)}},readableHighWaterMark:{enumerable:!1,get:function(){return this._readableState.highWaterMark}},readableBuffer:{enumerable:!1,get:function(){return this._readableState&&this._readableState.buffer}},readableFlowing:{enumerable:!1,get:function(){return this._readableState.flowing},set:function(state){if(this._readableState)this._readableState.flowing=state}},readableLength:{enumerable:!1,get(){return this._readableState.length}},readableObjectMode:{enumerable:!1,get(){return this._readableState\?this._readableState.objectMode:!1}},readableEncoding:{enumerable:!1,get(){return this._readableState\?this._readableState.encoding:null}},errored:{enumerable:!1,get(){return this._readableState\?this._readableState.errored:null}},closed:{get(){return this._readableState\?this._readableState.closed:!1}},destroyed:{enumerable:!1,get(){return this._readableState\?this._readableState.destroyed:!1},set(value){if(!this._readableState)return;this._readableState.destroyed=value}},readableEnded:{enumerable:!1,get(){return this._readableState\?this._readableState.endEmitted:!1}}}),Readable._fromList=fromList;function fromList(n,state){if(state.length===0)return null;let ret;if(state.objectMode)ret=state.buffer.shift();else if(!n||n>=state.length){if(state.decoder)ret=state.buffer.join(\"\");else if(state.buffer.length===1)ret=state.buffer.first();else ret=state.buffer.concat(state.length);state.buffer.clear()}else ret=state.buffer.consume(n,state.decoder);return ret}function endReadable(stream){const state=stream._readableState;if(!state.endEmitted)state.ended=!0,runOnNextTick(endReadableNT,state,stream)}function endReadableNT(state,stream){if(!state.errored&&!state.closeEmitted&&!state.endEmitted&&state.length===0){if(state.endEmitted=!0,stream.emit(\"end\"),stream.writable&&stream.allowHalfOpen===!1)runOnNextTick(endWritableNT,stream);else if(state.autoDestroy){const wState=stream._writableState;if(!wState||wState.autoDestroy&&(wState.finished||wState.writable===!1))stream.destroy()}}}function endWritableNT(stream){if(stream.writable&&!stream.writableEnded&&!stream.destroyed)stream.end()}Readable.from=function(iterable,opts){return from(Readable,iterable,opts)};var webStreamsAdapters={newStreamReadableFromReadableStream};function lazyWebStreams(){if(webStreamsAdapters===void 0)webStreamsAdapters={};return webStreamsAdapters}Readable.fromWeb=function(readableStream,options){return lazyWebStreams().newStreamReadableFromReadableStream(readableStream,options)},Readable.toWeb=function(streamReadable){return lazyWebStreams().newReadableStreamFromStreamReadable(streamReadable)},Readable.wrap=function(src,options){var _ref,_src$readableObjectMo;return new Readable({objectMode:(_ref=(_src$readableObjectMo=src.readableObjectMode)!==null&&_src$readableObjectMo!==void 0\?_src$readableObjectMo:src.objectMode)!==null&&_ref!==void 0\?_ref:!0,...options,destroy(err,callback){destroyImpl.destroyer(src,err),callback(err)}}).wrap(src)}}}),require_writable=__commonJS({\"node_modules/readable-stream/lib/internal/streams/writable.js\"(exports2,module){var{ArrayPrototypeSlice,Error:Error2,FunctionPrototypeSymbolHasInstance,ObjectDefineProperty,ObjectDefineProperties,ObjectSetPrototypeOf,StringPrototypeToLowerCase,Symbol:Symbol2,SymbolHasInstance}=require_primordials(),Stream=require_legacy().Stream,destroyImpl=require_destroy(),{addAbortSignal}=require_add_abort_signal(),{getHighWaterMark,getDefaultHighWaterMark}=require_state(),{ERR_INVALID_ARG_TYPE:ERR_INVALID_ARG_TYPE2,ERR_METHOD_NOT_IMPLEMENTED,ERR_MULTIPLE_CALLBACK,ERR_STREAM_CANNOT_PIPE,ERR_STREAM_DESTROYED,ERR_STREAM_ALREADY_FINISHED,ERR_STREAM_NULL_VALUES,ERR_STREAM_WRITE_AFTER_END,ERR_UNKNOWN_ENCODING}=require_errors().codes,{errorOrDestroy:errorOrDestroy2}=destroyImpl;function Writable2(options={}){const isDuplex=this instanceof require_duplex();if(!isDuplex&&!FunctionPrototypeSymbolHasInstance(Writable2,this))return new Writable2(options);if(this._writableState=new WritableState(options,this,isDuplex),options){if(typeof options.write===\"function\")this._write=options.write;if(typeof options.writev===\"function\")this._writev=options.writev;if(typeof options.destroy===\"function\")this._destroy=options.destroy;if(typeof options.final===\"function\")this._final=options.final;if(typeof options.construct===\"function\")this._construct=options.construct;if(options.signal)addAbortSignal(options.signal,this)}Stream.call(this,options),destroyImpl.construct(this,()=>{const state=this._writableState;if(!state.writing)clearBuffer(this,state);finishMaybe(this,state)})}ObjectSetPrototypeOf(Writable2.prototype,Stream.prototype),ObjectSetPrototypeOf(Writable2,Stream),module.exports=Writable2;function nop(){}var kOnFinished=Symbol2(\"kOnFinished\");function WritableState(options,stream,isDuplex){if(typeof isDuplex!==\"boolean\")isDuplex=stream instanceof require_duplex();if(this.objectMode=!!(options&&options.objectMode),isDuplex)this.objectMode=this.objectMode||!!(options&&options.writableObjectMode);this.highWaterMark=options\?getHighWaterMark(this,options,\"writableHighWaterMark\",isDuplex):getDefaultHighWaterMark(!1),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;const noDecode=!!(options&&options.decodeStrings===!1);this.decodeStrings=!noDecode,this.defaultEncoding=options&&options.defaultEncoding||\"utf8\",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=onwrite.bind(void 0,stream),this.writecb=null,this.writelen=0,this.afterWriteTickInfo=null,resetBuffer(this),this.pendingcb=0,this.constructed=!0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=!options||options.emitClose!==!1,this.autoDestroy=!options||options.autoDestroy!==!1,this.errored=null,this.closed=!1,this.closeEmitted=!1,this[kOnFinished]=[]}function resetBuffer(state){state.buffered=[],state.bufferedIndex=0,state.allBuffers=!0,state.allNoop=!0}WritableState.prototype.getBuffer=function getBuffer(){return ArrayPrototypeSlice(this.buffered,this.bufferedIndex)},ObjectDefineProperty(WritableState.prototype,\"bufferedRequestCount\",{get(){return this.buffered.length-this.bufferedIndex}}),ObjectDefineProperty(Writable2,SymbolHasInstance,{value:function(object){if(FunctionPrototypeSymbolHasInstance(this,object))return!0;if(this!==Writable2)return!1;return object&&object._writableState instanceof WritableState}}),Writable2.prototype.pipe=function(){errorOrDestroy2(this,new ERR_STREAM_CANNOT_PIPE)};function _write(stream,chunk,encoding,cb){const state=stream._writableState;if(typeof encoding===\"function\")cb=encoding,encoding=state.defaultEncoding;else{if(!encoding)encoding=state.defaultEncoding;else if(encoding!==\"buffer\"&&!Buffer.isEncoding(encoding))throw new ERR_UNKNOWN_ENCODING(encoding);if(typeof cb!==\"function\")cb=nop}if(chunk===null)throw new ERR_STREAM_NULL_VALUES;else if(!state.objectMode)if(typeof chunk===\"string\"){if(state.decodeStrings!==!1)chunk=Buffer.from(chunk,encoding),encoding=\"buffer\"}else if(chunk instanceof Buffer)encoding=\"buffer\";else if(Stream._isUint8Array(chunk))chunk=Stream._uint8ArrayToBuffer(chunk),encoding=\"buffer\";else throw new ERR_INVALID_ARG_TYPE2(\"chunk\",[\"string\",\"Buffer\",\"Uint8Array\"],chunk);let err;if(state.ending)err=new ERR_STREAM_WRITE_AFTER_END;else if(state.destroyed)err=new ERR_STREAM_DESTROYED(\"write\");if(err)return runOnNextTick(cb,err),errorOrDestroy2(stream,err,!0),err;return state.pendingcb++,writeOrBuffer(stream,state,chunk,encoding,cb)}Writable2.prototype.write=function(chunk,encoding,cb){return _write(this,chunk,encoding,cb)===!0},Writable2.prototype.cork=function(){this._writableState.corked++},Writable2.prototype.uncork=function(){const state=this._writableState;if(state.corked){if(state.corked--,!state.writing)clearBuffer(this,state)}},Writable2.prototype.setDefaultEncoding=function setDefaultEncoding(encoding){if(typeof encoding===\"string\")encoding=StringPrototypeToLowerCase(encoding);if(!Buffer.isEncoding(encoding))throw new ERR_UNKNOWN_ENCODING(encoding);return this._writableState.defaultEncoding=encoding,this};function writeOrBuffer(stream,state,chunk,encoding,callback){const len=state.objectMode\?1:chunk.length;state.length+=len;const ret=state.lengthstate.bufferedIndex)clearBuffer(stream,state);if(sync)if(state.afterWriteTickInfo!==null&&state.afterWriteTickInfo.cb===cb)state.afterWriteTickInfo.count++;else state.afterWriteTickInfo={count:1,cb,stream,state},runOnNextTick(afterWriteTick,state.afterWriteTickInfo);else afterWrite(stream,state,1,cb)}}function afterWriteTick({stream,state,count,cb}){return state.afterWriteTickInfo=null,afterWrite(stream,state,count,cb)}function afterWrite(stream,state,count,cb){if(!state.ending&&!stream.destroyed&&state.length===0&&state.needDrain)state.needDrain=!1,stream.emit(\"drain\");while(count-- >0)state.pendingcb--,cb();if(state.destroyed)errorBuffer(state);finishMaybe(stream,state)}function errorBuffer(state){if(state.writing)return;for(let n=state.bufferedIndex;n1&&stream._writev){state.pendingcb-=bufferedLength-1;const callback=state.allNoop\?nop:(err)=>{for(let n=i;n256)buffered.splice(0,i),state.bufferedIndex=0;else state.bufferedIndex=i}state.bufferProcessing=!1}Writable2.prototype._write=function(chunk,encoding,cb){if(this._writev)this._writev([{chunk,encoding}],cb);else throw new ERR_METHOD_NOT_IMPLEMENTED(\"_write()\")},Writable2.prototype._writev=null,Writable2.prototype.end=function(chunk,encoding,cb,native=!1){const state=this._writableState;if(typeof chunk===\"function\")cb=chunk,chunk=null,encoding=null;else if(typeof encoding===\"function\")cb=encoding,encoding=null;let err;if(chunk!==null&&chunk!==void 0){let ret;if(!native)ret=_write(this,chunk,encoding);else ret=this.write(chunk,encoding);if(ret instanceof Error2)err=ret}if(state.corked)state.corked=1,this.uncork();if(err)this.emit(\"error\",err);else if(!state.errored&&!state.ending)state.ending=!0,finishMaybe(this,state,!0),state.ended=!0;else if(state.finished)err=new ERR_STREAM_ALREADY_FINISHED(\"end\");else if(state.destroyed)err=new ERR_STREAM_DESTROYED(\"end\");if(typeof cb===\"function\")if(err||state.finished)runOnNextTick(cb,err);else state[kOnFinished].push(cb);return this};function needFinish(state,tag){var needFinish2=state.ending&&!state.destroyed&&state.constructed&&state.length===0&&!state.errored&&state.buffered.length===0&&!state.finished&&!state.writing&&!state.errorEmitted&&!state.closeEmitted;return needFinish2}function callFinal(stream,state){let called=!1;function onFinish(err){if(called){errorOrDestroy2(stream,err!==null&&err!==void 0\?err:ERR_MULTIPLE_CALLBACK());return}if(called=!0,state.pendingcb--,err){const onfinishCallbacks=state[kOnFinished].splice(0);for(let i=0;i{if(needFinish(state2))finish(stream2,state2);else state2.pendingcb--},stream,state);else if(needFinish(state))state.pendingcb++,finish(stream,state)}}function finish(stream,state){state.pendingcb--,state.finished=!0;const onfinishCallbacks=state[kOnFinished].splice(0);for(let i=0;i{if(val!=null)throw new ERR_INVALID_RETURN_VALUE(\"nully\",\"body\",val)},(err)=>{destroyer(d,err)});return d=new Duplexify({objectMode:!0,readable:!1,write,final(cb){final(async()=>{try{await promise,runOnNextTick(cb,null)}catch(err){runOnNextTick(cb,err)}})},destroy})}throw new ERR_INVALID_RETURN_VALUE(\"Iterable, AsyncIterable or AsyncFunction\",name,value)}if(isBlob(body))return duplexify(body.arrayBuffer());if(isIterable(body))return from(Duplexify,body,{objectMode:!0,writable:!1});if(typeof(body===null||body===void 0\?void 0:body.writable)===\"object\"||typeof(body===null||body===void 0\?void 0:body.readable)===\"object\"){const readable=body!==null&&body!==void 0&&body.readable\?isReadableNodeStream(body===null||body===void 0\?void 0:body.readable)\?body===null||body===void 0\?void 0:body.readable:duplexify(body.readable):void 0,writable=body!==null&&body!==void 0&&body.writable\?isWritableNodeStream(body===null||body===void 0\?void 0:body.writable)\?body===null||body===void 0\?void 0:body.writable:duplexify(body.writable):void 0;return _duplexify({readable,writable})}const then=body===null||body===void 0\?void 0:body.then;if(typeof then===\"function\"){let d;return FunctionPrototypeCall(then,body,(val)=>{if(val!=null)d.push(val);d.push(null)},(err)=>{destroyer(d,err)}),d=new Duplexify({objectMode:!0,writable:!1,read(){}})}throw new ERR_INVALID_ARG_TYPE2(name,[\"Blob\",\"ReadableStream\",\"WritableStream\",\"Stream\",\"Iterable\",\"AsyncIterable\",\"Function\",\"{ readable, writable } pair\",\"Promise\"],body)};function fromAsyncGen(fn){let{promise,resolve}=createDeferredPromise();const ac=new AbortController,signal=ac.signal;return{value:fn(async function*(){while(!0){const _promise=promise;promise=null;const{chunk,done,cb}=await _promise;if(runOnNextTick(cb),done)return;if(signal.aborted)throw new AbortError(void 0,{cause:signal.reason});({promise,resolve}=createDeferredPromise()),yield chunk}}(),{signal}),write(chunk,encoding,cb){const _resolve=resolve;resolve=null,_resolve({chunk,done:!1,cb})},final(cb){const _resolve=resolve;resolve=null,_resolve({done:!0,cb})},destroy(err,cb){ac.abort(),cb(err)}}}function _duplexify(pair){const r=pair.readable&&typeof pair.readable.read!==\"function\"\?Readable.wrap(pair.readable):pair.readable,w=pair.writable;let readable=!!isReadable(r),writable=!!isWritable(w),ondrain,onfinish,onreadable,onclose,d;function onfinished(err){const cb=onclose;if(onclose=null,cb)cb(err);else if(err)d.destroy(err);else if(!readable&&!writable)d.destroy()}if(d=new Duplexify({readableObjectMode:!!(r!==null&&r!==void 0&&r.readableObjectMode),writableObjectMode:!!(w!==null&&w!==void 0&&w.writableObjectMode),readable,writable}),writable)eos(w,(err)=>{if(writable=!1,err)destroyer(r,err);onfinished(err)}),d._write=function(chunk,encoding,callback){if(w.write(chunk,encoding))callback();else ondrain=callback},d._final=function(callback){w.end(),onfinish=callback},w.on(\"drain\",function(){if(ondrain){const cb=ondrain;ondrain=null,cb()}}),w.on(\"finish\",function(){if(onfinish){const cb=onfinish;onfinish=null,cb()}});if(readable)eos(r,(err)=>{if(readable=!1,err)destroyer(r,err);onfinished(err)}),r.on(\"readable\",function(){if(onreadable){const cb=onreadable;onreadable=null,cb()}}),r.on(\"end\",function(){d.push(null)}),d._read=function(){while(!0){const buf=r.read();if(buf===null){onreadable=d._read;return}if(!d.push(buf))return}};return d._destroy=function(err,callback){if(!err&&onclose!==null)err=new AbortError;if(onreadable=null,ondrain=null,onfinish=null,onclose===null)callback(err);else onclose=callback,destroyer(w,err),destroyer(r,err)},d}}}),require_duplex=__commonJS({\"node_modules/readable-stream/lib/internal/streams/duplex.js\"(exports2,module){var{ObjectDefineProperties,ObjectGetOwnPropertyDescriptor,ObjectKeys,ObjectSetPrototypeOf}=require_primordials(),Readable=require_readable();function Duplex(options){if(!(this instanceof Duplex))return new Duplex(options);if(Readable.call(this,options),Writable.call(this,options),options){if(this.allowHalfOpen=options.allowHalfOpen!==!1,options.readable===!1)this._readableState.readable=!1,this._readableState.ended=!0,this._readableState.endEmitted=!0;if(options.writable===!1)this._writableState.writable=!1,this._writableState.ending=!0,this._writableState.ended=!0,this._writableState.finished=!0}else this.allowHalfOpen=!0}module.exports=Duplex,ObjectSetPrototypeOf(Duplex.prototype,Readable.prototype),ObjectSetPrototypeOf(Duplex,Readable);for(var method in Writable.prototype)if(!Duplex.prototype[method])Duplex.prototype[method]=Writable.prototype[method];ObjectDefineProperties(Duplex.prototype,{writable:ObjectGetOwnPropertyDescriptor(Writable.prototype,\"writable\"),writableHighWaterMark:ObjectGetOwnPropertyDescriptor(Writable.prototype,\"writableHighWaterMark\"),writableObjectMode:ObjectGetOwnPropertyDescriptor(Writable.prototype,\"writableObjectMode\"),writableBuffer:ObjectGetOwnPropertyDescriptor(Writable.prototype,\"writableBuffer\"),writableLength:ObjectGetOwnPropertyDescriptor(Writable.prototype,\"writableLength\"),writableFinished:ObjectGetOwnPropertyDescriptor(Writable.prototype,\"writableFinished\"),writableCorked:ObjectGetOwnPropertyDescriptor(Writable.prototype,\"writableCorked\"),writableEnded:ObjectGetOwnPropertyDescriptor(Writable.prototype,\"writableEnded\"),writableNeedDrain:ObjectGetOwnPropertyDescriptor(Writable.prototype,\"writableNeedDrain\"),destroyed:{get(){if(this._readableState===void 0||this._writableState===void 0)return!1;return this._readableState.destroyed&&this._writableState.destroyed},set(value){if(this._readableState&&this._writableState)this._readableState.destroyed=value,this._writableState.destroyed=value}}});var webStreamsAdapters;function lazyWebStreams(){if(webStreamsAdapters===void 0)webStreamsAdapters={};return webStreamsAdapters}Duplex.fromWeb=function(pair,options){return lazyWebStreams().newStreamDuplexFromReadableWritablePair(pair,options)},Duplex.toWeb=function(duplex){return lazyWebStreams().newReadableWritablePairFromDuplex(duplex)};var duplexify;Duplex.from=function(body){if(!duplexify)duplexify=require_duplexify();return duplexify(body,\"body\")}}}),require_transform=__commonJS({\"node_modules/readable-stream/lib/internal/streams/transform.js\"(exports2,module){var{ObjectSetPrototypeOf,Symbol:Symbol2}=require_primordials(),{ERR_METHOD_NOT_IMPLEMENTED}=require_errors().codes,Duplex=require_duplex();function Transform(options){if(!(this instanceof Transform))return new Transform(options);if(Duplex.call(this,options),this._readableState.sync=!1,this[kCallback]=null,options){if(typeof options.transform===\"function\")this._transform=options.transform;if(typeof options.flush===\"function\")this._flush=options.flush}this.on(\"prefinish\",prefinish.bind(this))}ObjectSetPrototypeOf(Transform.prototype,Duplex.prototype),ObjectSetPrototypeOf(Transform,Duplex),module.exports=Transform;var kCallback=Symbol2(\"kCallback\");function final(cb){if(typeof this._flush===\"function\"&&!this.destroyed)this._flush((er,data)=>{if(er){if(cb)cb(er);else this.destroy(er);return}if(data!=null)this.push(data);if(this.push(null),cb)cb()});else if(this.push(null),cb)cb()}function prefinish(){if(this._final!==final)final.call(this)}Transform.prototype._final=final,Transform.prototype._transform=function(chunk,encoding,callback){throw new ERR_METHOD_NOT_IMPLEMENTED(\"_transform()\")},Transform.prototype._write=function(chunk,encoding,callback){const rState=this._readableState,wState=this._writableState,length=rState.length;this._transform(chunk,encoding,(err,val)=>{if(err){callback(err);return}if(val!=null)this.push(val);if(wState.ended||length===rState.length||rState.length{finished=!0});const cleanup=eos(stream,{readable:reading,writable:writing},(err)=>{finished=!err});return{destroy:(err)=>{if(finished)return;finished=!0,destroyImpl.destroyer(stream,err||new ERR_STREAM_DESTROYED(\"pipe\"))},cleanup}}function popCallback(streams){return validateFunction(streams[streams.length-1],\"streams[stream.length - 1]\"),streams.pop()}function makeAsyncIterable(val){if(isIterable(val))return val;else if(isReadableNodeStream(val))return fromReadable(val);throw new ERR_INVALID_ARG_TYPE2(\"val\",[\"Readable\",\"Iterable\",\"AsyncIterable\"],val)}async function*fromReadable(val){if(!Readable)Readable=require_readable();yield*Readable.prototype[SymbolAsyncIterator].call(val)}async function pump(iterable,writable,finish,{end}){let error,onresolve=null;const resume=(err)=>{if(err)error=err;if(onresolve){const callback=onresolve;onresolve=null,callback()}},wait=()=>new Promise2((resolve,reject)=>{if(error)reject(error);else onresolve=()=>{if(error)reject(error);else resolve()}});writable.on(\"drain\",resume);const cleanup=eos(writable,{readable:!1},resume);try{if(writable.writableNeedDrain)await wait();for await(let chunk of iterable)if(!writable.write(chunk))await wait();if(end)writable.end();await wait(),finish()}catch(err){finish(error!==err\?aggregateTwoErrors(error,err):err)}finally{cleanup(),writable.off(\"drain\",resume)}}function pipeline(...streams){return pipelineImpl(streams,once(popCallback(streams)))}function pipelineImpl(streams,callback,opts){if(streams.length===1&&ArrayIsArray2(streams[0]))streams=streams[0];if(streams.length<2)throw new ERR_MISSING_ARGS(\"streams\");const ac=new AbortController,signal=ac.signal,outerSignal=opts===null||opts===void 0\?void 0:opts.signal,lastStreamCleanup=[];validateAbortSignal(outerSignal,\"options.signal\");function abort(){finishImpl(new AbortError)}outerSignal===null||outerSignal===void 0||outerSignal.addEventListener(\"abort\",abort);let error,value;const destroys=[];let finishCount=0;function finish(err){finishImpl(err,--finishCount===0)}function finishImpl(err,final){if(err&&(!error||error.code===\"ERR_STREAM_PREMATURE_CLOSE\"))error=err;if(!error&&!final)return;while(destroys.length)destroys.shift()(error);if(outerSignal===null||outerSignal===void 0||outerSignal.removeEventListener(\"abort\",abort),ac.abort(),final){if(!error)lastStreamCleanup.forEach((fn)=>fn());runOnNextTick(callback,error,value)}}let ret;for(let i=0;i0,end=reading||(opts===null||opts===void 0\?void 0:opts.end)!==!1,isLastStream=i===streams.length-1;if(isNodeStream(stream)){let onError=function(err){if(err&&err.name!==\"AbortError\"&&err.code!==\"ERR_STREAM_PREMATURE_CLOSE\")finish(err)};if(end){const{destroy,cleanup}=destroyer(stream,reading,writing);if(destroys.push(destroy),isReadable(stream)&&isLastStream)lastStreamCleanup.push(cleanup)}if(stream.on(\"error\",onError),isReadable(stream)&&isLastStream)lastStreamCleanup.push(()=>{stream.removeListener(\"error\",onError)})}if(i===0)if(typeof stream===\"function\"){if(ret=stream({signal}),!isIterable(ret))throw new ERR_INVALID_RETURN_VALUE(\"Iterable, AsyncIterable or Stream\",\"source\",ret)}else if(isIterable(stream)||isReadableNodeStream(stream))ret=stream;else ret=Duplex.from(stream);else if(typeof stream===\"function\")if(ret=makeAsyncIterable(ret),ret=stream(ret,{signal}),reading){if(!isIterable(ret,!0))throw new ERR_INVALID_RETURN_VALUE(\"AsyncIterable\",`transform[${i-1}]`,ret)}else{var _ret;if(!PassThrough)PassThrough=require_passthrough();const pt=new PassThrough({objectMode:!0}),then=(_ret=ret)===null||_ret===void 0\?void 0:_ret.then;if(typeof then===\"function\")finishCount++,then.call(ret,(val)=>{if(value=val,val!=null)pt.write(val);if(end)pt.end();runOnNextTick(finish)},(err)=>{pt.destroy(err),runOnNextTick(finish,err)});else if(isIterable(ret,!0))finishCount++,pump(ret,pt,finish,{end});else throw new ERR_INVALID_RETURN_VALUE(\"AsyncIterable or Promise\",\"destination\",ret);ret=pt;const{destroy,cleanup}=destroyer(ret,!1,!0);if(destroys.push(destroy),isLastStream)lastStreamCleanup.push(cleanup)}else if(isNodeStream(stream)){if(isReadableNodeStream(ret)){finishCount+=2;const cleanup=pipe(ret,stream,finish,{end});if(isReadable(stream)&&isLastStream)lastStreamCleanup.push(cleanup)}else if(isIterable(ret))finishCount++,pump(ret,stream,finish,{end});else throw new ERR_INVALID_ARG_TYPE2(\"val\",[\"Readable\",\"Iterable\",\"AsyncIterable\"],ret);ret=stream}else ret=Duplex.from(stream)}if(signal!==null&&signal!==void 0&&signal.aborted||outerSignal!==null&&outerSignal!==void 0&&outerSignal.aborted)runOnNextTick(abort);return ret}function pipe(src,dst,finish,{end}){if(src.pipe(dst,{end}),end)src.once(\"end\",()=>dst.end());else finish();return eos(src,{readable:!0,writable:!1},(err)=>{const rState=src._readableState;if(err&&err.code===\"ERR_STREAM_PREMATURE_CLOSE\"&&rState&&rState.ended&&!rState.errored&&!rState.errorEmitted)src.once(\"end\",finish).once(\"error\",finish);else finish(err)}),eos(dst,{readable:!1,writable:!0},finish)}module.exports={pipelineImpl,pipeline}}}),require_compose=__commonJS({\"node_modules/readable-stream/lib/internal/streams/compose.js\"(exports2,module){var{pipeline}=require_pipeline(),Duplex=require_duplex(),{destroyer}=require_destroy(),{isNodeStream,isReadable,isWritable}=require_utils(),{AbortError,codes:{ERR_INVALID_ARG_VALUE:ERR_INVALID_ARG_VALUE2,ERR_MISSING_ARGS}}=require_errors();module.exports=function compose(...streams){if(streams.length===0)throw new ERR_MISSING_ARGS(\"streams\");if(streams.length===1)return Duplex.from(streams[0]);const orgStreams=[...streams];if(typeof streams[0]===\"function\")streams[0]=Duplex.from(streams[0]);if(typeof streams[streams.length-1]===\"function\"){const idx=streams.length-1;streams[idx]=Duplex.from(streams[idx])}for(let n=0;n0&&!isWritable(streams[n]))throw new ERR_INVALID_ARG_VALUE2(`streams[${n}]`,orgStreams[n],\"must be writable\")}let ondrain,onfinish,onreadable,onclose,d;function onfinished(err){const cb=onclose;if(onclose=null,cb)cb(err);else if(err)d.destroy(err);else if(!readable&&!writable)d.destroy()}const head=streams[0],tail=pipeline(streams,onfinished),writable=!!isWritable(head),readable=!!isReadable(tail);if(d=new Duplex({writableObjectMode:!!(head!==null&&head!==void 0&&head.writableObjectMode),readableObjectMode:!!(tail!==null&&tail!==void 0&&tail.writableObjectMode),writable,readable}),writable)d._write=function(chunk,encoding,callback){if(head.write(chunk,encoding))callback();else ondrain=callback},d._final=function(callback){head.end(),onfinish=callback},head.on(\"drain\",function(){if(ondrain){const cb=ondrain;ondrain=null,cb()}}),tail.on(\"finish\",function(){if(onfinish){const cb=onfinish;onfinish=null,cb()}});if(readable)tail.on(\"readable\",function(){if(onreadable){const cb=onreadable;onreadable=null,cb()}}),tail.on(\"end\",function(){d.push(null)}),d._read=function(){while(!0){const buf=tail.read();if(buf===null){onreadable=d._read;return}if(!d.push(buf))return}};return d._destroy=function(err,callback){if(!err&&onclose!==null)err=new AbortError;if(onreadable=null,ondrain=null,onfinish=null,onclose===null)callback(err);else onclose=callback,destroyer(tail,err)},d}}}),require_promises=__commonJS({\"node_modules/readable-stream/lib/stream/promises.js\"(exports2,module){var{ArrayPrototypePop,Promise:Promise2}=require_primordials(),{isIterable,isNodeStream}=require_utils(),{pipelineImpl:pl}=require_pipeline(),{finished}=require_end_of_stream();function pipeline(...streams){return new Promise2((resolve,reject)=>{let signal,end;const lastArg=streams[streams.length-1];if(lastArg&&typeof lastArg===\"object\"&&!isNodeStream(lastArg)&&!isIterable(lastArg)){const options=ArrayPrototypePop(streams);signal=options.signal,end=options.end}pl(streams,(err,value)=>{if(err)reject(err);else resolve(value)},{signal,end})})}module.exports={finished,pipeline}}}),require_stream=__commonJS({\"node_modules/readable-stream/lib/stream.js\"(exports2,module){var{ObjectDefineProperty,ObjectKeys,ReflectApply}=require_primordials(),{promisify:{custom:customPromisify}}=require_util(),{streamReturningOperators,promiseReturningOperators}=require_operators(),{codes:{ERR_ILLEGAL_CONSTRUCTOR}}=require_errors(),compose=require_compose(),{pipeline}=require_pipeline(),{destroyer}=require_destroy(),eos=require_end_of_stream(),promises2=require_promises(),utils=require_utils(),Stream=module.exports=require_legacy().Stream;Stream.isDisturbed=utils.isDisturbed,Stream.isErrored=utils.isErrored,Stream.isWritable=utils.isWritable,Stream.isReadable=utils.isReadable,Stream.Readable=require_readable();for(let key of ObjectKeys(streamReturningOperators)){let fn=function(...args){if(new.target)throw ERR_ILLEGAL_CONSTRUCTOR();return Stream.Readable.from(ReflectApply(op,this,args))};const op=streamReturningOperators[key];ObjectDefineProperty(fn,\"name\",{value:op.name}),ObjectDefineProperty(fn,\"length\",{value:op.length}),ObjectDefineProperty(Stream.Readable.prototype,key,{value:fn,enumerable:!1,configurable:!0,writable:!0})}for(let key of ObjectKeys(promiseReturningOperators)){let fn=function(...args){if(new.target)throw ERR_ILLEGAL_CONSTRUCTOR();return ReflectApply(op,this,args)};const op=promiseReturningOperators[key];ObjectDefineProperty(fn,\"name\",{value:op.name}),ObjectDefineProperty(fn,\"length\",{value:op.length}),ObjectDefineProperty(Stream.Readable.prototype,key,{value:fn,enumerable:!1,configurable:!0,writable:!0})}Stream.Writable=require_writable(),Stream.Duplex=require_duplex(),Stream.Transform=require_transform(),Stream.PassThrough=require_passthrough(),Stream.pipeline=pipeline;var{addAbortSignal}=require_add_abort_signal();Stream.addAbortSignal=addAbortSignal,Stream.finished=eos,Stream.destroy=destroyer,Stream.compose=compose,ObjectDefineProperty(Stream,\"promises\",{configurable:!0,enumerable:!0,get(){return promises2}}),ObjectDefineProperty(pipeline,customPromisify,{enumerable:!0,get(){return promises2.pipeline}}),ObjectDefineProperty(eos,customPromisify,{enumerable:!0,get(){return promises2.finished}}),Stream.Stream=Stream,Stream._isUint8Array=function isUint8Array(value){return value instanceof Uint8Array},Stream._uint8ArrayToBuffer=function _uint8ArrayToBuffer(chunk){return new Buffer(chunk.buffer,chunk.byteOffset,chunk.byteLength)}}});function createNativeStreamReadable(nativeType,Readable){var[pull,start,cancel,setClose,deinit,updateRef,drainFn]=globalThis[globalThis.Symbol.for('Bun.lazy')](nativeType),closer=[!1],handleNumberResult=function(nativeReadable,result,view,isClosed){if(result>0){const slice=view.subarray(0,result),remainder=view.subarray(result);if(slice.byteLength>0)nativeReadable.push(slice);if(isClosed)nativeReadable.push(null);return remainder.byteLength>0\?remainder:void 0}if(isClosed)nativeReadable.push(null);return view},handleArrayBufferViewResult=function(nativeReadable,result,view,isClosed){if(result.byteLength>0)nativeReadable.push(result);if(isClosed)nativeReadable.push(null);return view},DYNAMICALLY_ADJUST_CHUNK_SIZE=process.env.BUN_DISABLE_DYNAMIC_CHUNK_SIZE!==\"1\";const finalizer=new FinalizationRegistry((ptr)=>ptr&&deinit(ptr)),MIN_BUFFER_SIZE=512;var NativeReadable=class NativeReadable2 extends Readable{#bunNativePtr;#refCount=1;#constructed=!1;#remainingChunk=void 0;#highWaterMark;#pendingRead=!1;#hasResized=!DYNAMICALLY_ADJUST_CHUNK_SIZE;#unregisterToken;constructor(ptr,options={}){super(options);if(typeof options.highWaterMark===\"number\")this.#highWaterMark=options.highWaterMark;else this.#highWaterMark=262144;this.#bunNativePtr=ptr,this.#constructed=!1,this.#remainingChunk=void 0,this.#pendingRead=!1,this.#unregisterToken={},finalizer.register(this,this.#bunNativePtr,this.#unregisterToken)}_read(maxToRead){if(this.#pendingRead)return;var ptr=this.#bunNativePtr;if(ptr===0){this.push(null);return}if(!this.#constructed)this.#internalConstruct(ptr);return this.#internalRead(this.#getRemainingChunk(maxToRead),ptr)}#internalConstruct(ptr){this.#constructed=!0;const result=start(ptr,this.#highWaterMark);if(typeof result===\"number\"&&result>1)this.#hasResized=!0,this.#highWaterMark=Math.min(this.#highWaterMark,result);if(drainFn){const drainResult=drainFn(ptr);if((drainResult\?.byteLength\?\?0)>0)this.push(drainResult)}}#getRemainingChunk(maxToRead=this.#highWaterMark){var chunk=this.#remainingChunk;if(chunk\?.byteLength\?\?0MIN_BUFFER_SIZE\?maxToRead:MIN_BUFFER_SIZE;this.#remainingChunk=chunk=new Buffer(size)}return chunk}#handleResult(result,view,isClosed){if(typeof result===\"number\"){if(result>=this.#highWaterMark&&!this.#hasResized&&!isClosed)this.#highWaterMark*=2,this.#hasResized=!0;return handleNumberResult(this,result,view,isClosed)}else if(typeof result===\"boolean\")return process.nextTick(()=>{this.push(null)}),view\?.byteLength\?\?0>0\?view:void 0;else if(ArrayBuffer.isView(result)){if(result.byteLength>=this.#highWaterMark&&!this.#hasResized&&!isClosed)this.#highWaterMark*=2,this.#hasResized=!0;return handleArrayBufferViewResult(this,result,view,isClosed)}else throw new Error(\"Invalid result from pull\")}#internalRead(view,ptr){closer[0]=!1;var result=pull(ptr,view,closer);if(isPromise(result))return this.#pendingRead=!0,result.then((result2)=>{this.#pendingRead=!1,this.#remainingChunk=this.#handleResult(result2,view,closer[0])},(reason)=>{errorOrDestroy(this,reason)});else this.#remainingChunk=this.#handleResult(result,view,closer[0])}_destroy(error,callback){var ptr=this.#bunNativePtr;if(ptr===0){callback(error);return}if(finalizer.unregister(this.#unregisterToken),this.#bunNativePtr=0,updateRef)updateRef(ptr,!1);cancel(ptr,error),callback(error)}ref(){var ptr=this.#bunNativePtr;if(ptr===0)return;if(this.#refCount++===0)updateRef(ptr,!0)}unref(){var ptr=this.#bunNativePtr;if(ptr===0)return;if(this.#refCount--===1)updateRef(ptr,!1)}};if(!updateRef)NativeReadable.prototype.ref=void 0,NativeReadable.prototype.unref=void 0;return NativeReadable}var nativeReadableStreamPrototypes={0:void 0,1:void 0,2:void 0,3:void 0,4:void 0,5:void 0};function getNativeReadableStreamPrototype(nativeType,Readable){return nativeReadableStreamPrototypes[nativeType]||=createNativeStreamReadable(nativeType,Readable)}function getNativeReadableStream(Readable,stream,options){if(!(stream&&typeof stream===\"object\"&&stream instanceof ReadableStream))return;const native=@direct(stream);if(!native)return;const{stream:ptr,data:type}=native;return new(getNativeReadableStreamPrototype(type,Readable))(ptr,options)}var Writable=require_writable(),NativeWritable=class NativeWritable2 extends Writable{#pathOrFdOrSink;#fileSink;#native=!0;_construct;_destroy;_final;constructor(pathOrFdOrSink,options={}){super(options);this._construct=this.#internalConstruct,this._destroy=this.#internalDestroy,this._final=this.#internalFinal,this.#pathOrFdOrSink=pathOrFdOrSink}#internalConstruct(cb){this._writableState.constructed=!0,this.constructed=!0,cb()}#lazyConstruct(){if(typeof this.#pathOrFdOrSink===\"object\")if(typeof this.#pathOrFdOrSink.write===\"function\")this.#fileSink=this.#pathOrFdOrSink;else throw new Error(\"Invalid FileSink\");else this.#fileSink=Bun.file(this.#pathOrFdOrSink).writer()}write(chunk,encoding,cb,native=this.#native){if(!native)return this.#native=!1,super.write(chunk,encoding,cb);if(!this.#fileSink)this.#lazyConstruct();var fileSink=this.#fileSink,result=fileSink.write(chunk);if(isPromise(result))return result.then(()=>{this.emit(\"drain\"),fileSink.flush(!0)}),!1;if(fileSink.flush(!0),cb)cb(null,chunk.byteLength);return!0}end(chunk,encoding,cb,native=this.#native){return super.end(chunk,encoding,cb,native)}#internalDestroy(error,cb){if(this._writableState.destroyed=!0,cb)cb(error)}#internalFinal(cb){if(this.#fileSink)this.#fileSink.end();if(cb)cb()}ref(){if(!this.#fileSink)this.#lazyConstruct();this.#fileSink.ref()}unref(){if(!this.#fileSink)return;this.#fileSink.unref()}};const exports=require_stream(),promises=require_promises(),originalDestroy=exports.Readable.destroy;return exports._getNativeReadableStreamPrototype=getNativeReadableStreamPrototype,exports.NativeWritable=NativeWritable,Object.defineProperty(exports,\"promises\",{configurable:!0,enumerable:!0,get(){return promises}}),exports[Symbol.for(\"::bunternal::\")]={_ReadableFromWeb,_ReadableFromWebForUndici},exports.eos=require_end_of_stream(),exports})\n"_s; +static constexpr ASCIILiteral NodeStreamPromisesCode = "(function (){\"use strict\";return @requireId(30).promises})\n"_s; +static constexpr ASCIILiteral NodeStreamWebCode = "(function (){\"use strict\";return{ReadableStream,ReadableStreamDefaultReader,ReadableStreamBYOBReader,ReadableStreamBYOBRequest,ReadableByteStreamController,ReadableStreamDefaultController,TransformStream,TransformStreamDefaultController,WritableStream,WritableStreamDefaultWriter,WritableStreamDefaultController,ByteLengthQueuingStrategy,CountQueuingStrategy}})\n"_s; +static constexpr ASCIILiteral NodeTimersCode = "(function (){\"use strict\";return{setTimeout,clearTimeout,setInterval,setImmediate,clearInterval,clearImmediate}})\n"_s; +static constexpr ASCIILiteral NodeTimersPromisesCode = "(function (){\"use strict\";var $;const symbolAsyncIterator=Symbol.asyncIterator;class ERR_INVALID_ARG_TYPE extends Error{constructor(name,expected,actual){super(`${name} must be ${expected}, ${typeof actual} given`);this.code=\"ERR_INVALID_ARG_TYPE\"}}class AbortError extends Error{constructor(){super(\"The operation was aborted\");this.code=\"ABORT_ERR\"}}function validateObject(object,name){if(object===null||typeof object!==\"object\")throw new ERR_INVALID_ARG_TYPE(name,\"Object\",object)}function validateBoolean(value,name){if(typeof value!==\"boolean\")throw new ERR_INVALID_ARG_TYPE(name,\"boolean\",value)}function validateAbortSignal(signal,name){if(typeof signal!==\"undefined\"&&(signal===null||typeof signal!==\"object\"||!(\"aborted\"in signal)))throw new ERR_INVALID_ARG_TYPE(name,\"AbortSignal\",signal)}function asyncIterator({next:nextFunction,return:returnFunction}){const result={};if(typeof nextFunction===\"function\")result.next=nextFunction;if(typeof returnFunction===\"function\")result.return=returnFunction;return result[symbolAsyncIterator]=function(){return this},result}function setTimeoutPromise(after=1,value,options={}){const arguments_=[].concat(value\?\?[]);try{validateObject(options,\"options\")}catch(error){return Promise.reject(error)}const{signal,ref:reference=!0}=options;try{validateAbortSignal(signal,\"options.signal\")}catch(error){return Promise.reject(error)}try{validateBoolean(reference,\"options.ref\")}catch(error){return Promise.reject(error)}if(signal\?.aborted)return Promise.reject(new AbortError);let onCancel;const returnValue=new Promise((resolve,reject)=>{const timeout=setTimeout(()=>resolve(value),after,...arguments_);if(!reference)timeout\?.unref\?.();if(signal)onCancel=()=>{clearTimeout(timeout),reject(new AbortError)},signal.addEventListener(\"abort\",onCancel)});if(typeof onCancel!==\"undefined\")returnValue.finally(()=>signal.removeEventListener(\"abort\",onCancel));return returnValue}function setImmediatePromise(value,options={}){try{validateObject(options,\"options\")}catch(error){return Promise.reject(error)}const{signal,ref:reference=!0}=options;try{validateAbortSignal(signal,\"options.signal\")}catch(error){return Promise.reject(error)}try{validateBoolean(reference,\"options.ref\")}catch(error){return Promise.reject(error)}if(signal\?.aborted)return Promise.reject(new AbortError);let onCancel;const returnValue=new Promise((resolve,reject)=>{const immediate=setImmediate(()=>resolve(value));if(!reference)immediate\?.unref\?.();if(signal)onCancel=()=>{clearImmediate(immediate),reject(new AbortError)},signal.addEventListener(\"abort\",onCancel)});if(typeof onCancel!==\"undefined\")returnValue.finally(()=>signal.removeEventListener(\"abort\",onCancel));return returnValue}function setIntervalPromise(after=1,value,options={}){try{validateObject(options,\"options\")}catch(error){return asyncIterator({next:function(){return Promise.reject(error)}})}const{signal,ref:reference=!0}=options;try{validateAbortSignal(signal,\"options.signal\")}catch(error){return asyncIterator({next:function(){return Promise.reject(error)}})}try{validateBoolean(reference,\"options.ref\")}catch(error){return asyncIterator({next:function(){return Promise.reject(error)}})}if(signal\?.aborted)return asyncIterator({next:function(){return Promise.reject(new AbortError)}});let onCancel,interval;try{let notYielded=0,callback;if(interval=setInterval(()=>{if(notYielded++,callback)callback(),callback=void 0},after),!reference)interval\?.unref\?.();if(signal)onCancel=()=>{if(clearInterval(interval),callback)callback(),callback=void 0},signal.addEventListener(\"abort\",onCancel);return asyncIterator({next:function(){return new Promise((resolve,reject)=>{if(!signal\?.aborted)if(notYielded===0)callback=resolve;else resolve();else if(notYielded===0)reject(new AbortError);else resolve()}).then(()=>{if(notYielded>0)return notYielded=notYielded-1,{done:!1,value};return{done:!0}})},return:function(){return clearInterval(interval),signal\?.removeEventListener(\"abort\",onCancel),Promise.resolve({})}})}catch(error){return asyncIterator({next:function(){clearInterval(interval),signal\?.removeEventListener(\"abort\",onCancel)}})}}return $={setTimeout:setTimeoutPromise,setImmediate:setImmediatePromise,setInterval:setIntervalPromise,scheduler:{wait:(delay,options)=>setTimeoutPromise(delay,void 0,options),yield:setImmediatePromise}},$})\n"_s; +static constexpr ASCIILiteral NodeTLSCode = "(function (){\"use strict\";const{isArrayBufferView,isTypedArray}=@requireBuiltin(55),net=@requireId(20),{Server:NetServer,[Symbol.for(\"::bunternal::\")]:InternalTCPSocket}=net,bunSocketInternal=Symbol.for(\"::bunnetsocketinternal::\"),SymbolReplace=Symbol.replace,RegExpPrototypeSymbolReplace=RegExp.prototype[SymbolReplace],RegExpPrototypeExec=RegExp.prototype.exec,StringPrototypeStartsWith=String.prototype.startsWith,StringPrototypeSlice=String.prototype.slice,StringPrototypeIncludes=String.prototype.includes,StringPrototypeSplit=String.prototype.split,StringPrototypeIndexOf=String.prototype.indexOf,StringPrototypeSubstring=String.prototype.substring,StringPrototypeEndsWith=String.prototype.endsWith,StringFromCharCode=String.fromCharCode,StringPrototypeCharCodeAt=String.prototype.charCodeAt,ArrayPrototypeIncludes=Array.prototype.includes,ArrayPrototypeJoin=Array.prototype.join,ArrayPrototypeForEach=Array.prototype.forEach,ArrayPrototypePush=Array.prototype.push,ArrayPrototypeSome=Array.prototype.some,ArrayPrototypeReduce=Array.prototype.reduce;function parseCertString(){throwNotImplemented(\"Not implemented\")}function isValidTLSArray(obj){if(typeof obj===\"string\"||isTypedArray(obj)||obj instanceof ArrayBuffer||obj instanceof Blob)return!0;if(Array.isArray(obj)){for(var i=0;iRegExpPrototypeExec.call(/[^\\u0021-\\u007F]/u,s)!==null;if(ArrayPrototypeSome.call(patternParts,isBad))return!1;for(let i=hostParts.length-1;i>0;i-=1)if(hostParts[i]!==patternParts[i])return!1;const hostSubdomain=hostParts[0],patternSubdomain=patternParts[0],patternSubdomainParts=StringPrototypeSplit.call(patternSubdomain,\"*\");if(patternSubdomainParts.length===1||StringPrototypeIncludes.call(patternSubdomain,\"xn--\"))return hostSubdomain===patternSubdomain;if(!wildcards)return!1;if(patternSubdomainParts.length>2)return!1;if(patternParts.length<=2)return!1;const{0:prefix,1:suffix}=patternSubdomainParts;if(prefix.length+suffix.length>hostSubdomain.length)return!1;if(!StringPrototypeStartsWith.call(hostSubdomain,prefix))return!1;if(!StringPrototypeEndsWith.call(hostSubdomain,suffix))return!1;return!0}const jsonStringPattern=/^\"(\?:[^\"\\\\\\u0000-\\u001f]|\\\\(\?:[\"\\\\/bfnrt]|u[0-9a-fA-F]{4}))*\"/;function splitEscapedAltNames(altNames){const result=[];let currentToken=\"\",offset=0;while(offset!==altNames.length){const nextSep=StringPrototypeIndexOf.call(altNames,\", \",offset),nextQuote=StringPrototypeIndexOf.call(altNames,'\"',offset);if(nextQuote!==-1&&(nextSep===-1||nextQuote{if(StringPrototypeStartsWith.call(name,\"DNS:\"))ArrayPrototypePush.call(dnsNames,StringPrototypeSlice.call(name,4));else if(StringPrototypeStartsWith.call(name,\"IP Address:\"))ArrayPrototypePush.call(ips,canonicalizeIP(StringPrototypeSlice.call(name,11)))})}let valid=!1,reason=\"Unknown reason\";if(hostname=unfqdn(hostname),net.isIP(hostname)){if(valid=ArrayPrototypeIncludes.call(ips,canonicalizeIP(hostname)),!valid)reason=`IP: ${hostname} is not in the cert's list: `+ArrayPrototypeJoin.call(ips,\", \")}else if(dnsNames.length>0||subject\?.CN){const hostParts=splitHost(hostname),wildcard=(pattern)=>check(hostParts,pattern,!0);if(dnsNames.length>0){if(valid=ArrayPrototypeSome.call(dnsNames,wildcard),!valid)reason=`Host: ${hostname}. is not in the cert's altnames: ${altNames}`}else{const cn=subject.CN;if(Array.isArray(cn))valid=ArrayPrototypeSome.call(cn,wildcard);else if(cn)valid=wildcard(cn);if(!valid)reason=`Host: ${hostname}. is not cert's CN: ${cn}`}}else reason=\"Cert does not contain a DNS name\";if(!valid){let error=new Error(`ERR_TLS_CERT_ALTNAME_INVALID: Hostname/IP does not match certificate's altnames: ${reason}`);return error.name=\"ERR_TLS_CERT_ALTNAME_INVALID\",error.reason=reason,error.host=host,error.cert=cert,error}}var InternalSecureContext=class SecureContext2{context;constructor(options){const context={};if(options){let key=options.key;if(key){if(!isValidTLSArray(key))@throwTypeError(\"key argument must be an string, Buffer, TypedArray, BunFile or an array containing string, Buffer, TypedArray or BunFile\");this.key=key}let cert=options.cert;if(cert){if(!isValidTLSArray(cert))@throwTypeError(\"cert argument must be an string, Buffer, TypedArray, BunFile or an array containing string, Buffer, TypedArray or BunFile\");this.cert=cert}let ca=options.ca;if(ca){if(!isValidTLSArray(ca))@throwTypeError(\"ca argument must be an string, Buffer, TypedArray, BunFile or an array containing string, Buffer, TypedArray or BunFile\");this.ca=ca}let passphrase=options.passphrase;if(passphrase&&typeof passphrase!==\"string\")@throwTypeError(\"passphrase argument must be an string\");this.passphrase=passphrase;let servername=options.servername;if(servername&&typeof servername!==\"string\")@throwTypeError(\"servername argument must be an string\");this.servername=servername;let secureOptions=options.secureOptions||0;if(secureOptions&&typeof secureOptions!==\"number\")@throwTypeError(\"secureOptions argument must be an number\");this.secureOptions=secureOptions}this.context=context}};function SecureContext(options){return new InternalSecureContext(options)}function createSecureContext(options){return new SecureContext(options)}function translatePeerCertificate(c){if(!c)return null;if(c.issuerCertificate!=null&&c.issuerCertificate!==c)c.issuerCertificate=translatePeerCertificate(c.issuerCertificate);if(c.infoAccess!=null){const info=c.infoAccess;c.infoAccess={__proto__:null},RegExpPrototypeSymbolReplace.call(/([^\\n:]*):([^\\n]*)(\?:\\n|$)/g,info,(all,key,val)=>{if(val.charCodeAt(0)===34)val=JSONParse(val);if(key in c.infoAccess)ArrayPrototypePush.call(c.infoAccess[key],val);else c.infoAccess[key]=[val]})}return c}const buntls=Symbol.for(\"::buntls::\");var SocketClass;const TLSSocket=function(InternalTLSSocket){return SocketClass=InternalTLSSocket,Object.defineProperty(SocketClass.prototype,Symbol.toStringTag,{value:\"TLSSocket\",enumerable:!1}),Object.defineProperty(function Socket(options){return new InternalTLSSocket(options)},Symbol.hasInstance,{value(instance){return instance instanceof InternalTLSSocket}})}(class TLSSocket2 extends InternalTCPSocket{#secureContext;ALPNProtocols;#socket;#checkServerIdentity;#session;constructor(socket,options){super(socket instanceof InternalTCPSocket\?options:options||socket);if(options=options||socket||{},typeof options===\"object\"){const{ALPNProtocols}=options;if(ALPNProtocols)convertALPNProtocols(ALPNProtocols,this);if(socket instanceof InternalTCPSocket)this.#socket=socket}this.#secureContext=options.secureContext||createSecureContext(options),this.authorized=!1,this.secureConnecting=!0,this._secureEstablished=!1,this._securePending=!0,this.#checkServerIdentity=options.checkServerIdentity||checkServerIdentity,this.#session=options.session||null}_secureEstablished=!1;_securePending=!0;_newSessionPending;_controlReleased;secureConnecting=!1;_SNICallback;servername;authorized=!1;authorizationError;#renegotiationDisabled=!1;encrypted=!0;_start(){this.connect()}getSession(){return this[bunSocketInternal]\?.getSession()}getEphemeralKeyInfo(){return this[bunSocketInternal]\?.getEphemeralKeyInfo()}getCipher(){return this[bunSocketInternal]\?.getCipher()}getSharedSigalgs(){return this[bunSocketInternal]\?.getSharedSigalgs()}getProtocol(){return this[bunSocketInternal]\?.getTLSVersion()}getFinished(){return this[bunSocketInternal]\?.getTLSFinishedMessage()||void 0}getPeerFinished(){return this[bunSocketInternal]\?.getTLSPeerFinishedMessage()||void 0}isSessionReused(){return!!this.#session}renegotiate(){if(this.#renegotiationDisabled){const error=new Error(\"ERR_TLS_RENEGOTIATION_DISABLED: TLS session renegotiation disabled for this socket\");throw error.name=\"ERR_TLS_RENEGOTIATION_DISABLED\",error}throw Error(\"Not implented in Bun yet\")}disableRenegotiation(){this.#renegotiationDisabled=!0}getTLSTicket(){return this[bunSocketInternal]\?.getTLSTicket()}exportKeyingMaterial(length,label,context){if(context)return this[bunSocketInternal]\?.exportKeyingMaterial(length,label,context);return this[bunSocketInternal]\?.exportKeyingMaterial(length,label)}setMaxSendFragment(size){return this[bunSocketInternal]\?.setMaxSendFragment(size)||!1}enableTrace(){}setServername(name){if(this.isServer){let error=new Error(\"ERR_TLS_SNI_FROM_SERVER: Cannot issue SNI from a TLS server-side socket\");throw error.name=\"ERR_TLS_SNI_FROM_SERVER\",error}this.servername=name,this[bunSocketInternal]\?.setServername(name)}setSession(session){if(this.#session=session,typeof session===\"string\")session=Buffer.from(session,\"latin1\");return this[bunSocketInternal]\?.setSession(session)}getPeerCertificate(abbreviated){const cert=arguments.length<1\?this[bunSocketInternal]\?.getPeerCertificate():this[bunSocketInternal]\?.getPeerCertificate(abbreviated);if(cert)return translatePeerCertificate(cert)}getCertificate(){const cert=this[bunSocketInternal]\?.getCertificate();if(cert)return translatePeerCertificate(cert)}getPeerX509Certificate(){throw Error(\"Not implented in Bun yet\")}getX509Certificate(){throw Error(\"Not implented in Bun yet\")}get alpnProtocol(){return this[bunSocketInternal]\?.alpnProtocol}[buntls](port,host2){return{socket:this.#socket,ALPNProtocols:this.ALPNProtocols,serverName:this.servername||host2||\"localhost\",checkServerIdentity:this.#checkServerIdentity,session:this.#session,...this.#secureContext}}});class Server extends NetServer{key;cert;ca;passphrase;secureOptions;_rejectUnauthorized;_requestCert;servername;ALPNProtocols;constructor(options,secureConnectionListener){super(options,secureConnectionListener);this.setSecureContext(options)}setSecureContext(options){if(options instanceof InternalSecureContext)options=options.context;if(options){const{ALPNProtocols}=options;if(ALPNProtocols)convertALPNProtocols(ALPNProtocols,this);let key=options.key;if(key){if(!isValidTLSArray(key))@throwTypeError(\"key argument must be an string, Buffer, TypedArray, BunFile or an array containing string, Buffer, TypedArray or BunFile\");this.key=key}let cert=options.cert;if(cert){if(!isValidTLSArray(cert))@throwTypeError(\"cert argument must be an string, Buffer, TypedArray, BunFile or an array containing string, Buffer, TypedArray or BunFile\");this.cert=cert}let ca=options.ca;if(ca){if(!isValidTLSArray(ca))@throwTypeError(\"ca argument must be an string, Buffer, TypedArray, BunFile or an array containing string, Buffer, TypedArray or BunFile\");this.ca=ca}let passphrase=options.passphrase;if(passphrase&&typeof passphrase!==\"string\")@throwTypeError(\"passphrase argument must be an string\");this.passphrase=passphrase;let servername=options.servername;if(servername&&typeof servername!==\"string\")@throwTypeError(\"servername argument must be an string\");this.servername=servername;let secureOptions=options.secureOptions||0;if(secureOptions&&typeof secureOptions!==\"number\")@throwTypeError(\"secureOptions argument must be an number\");this.secureOptions=secureOptions;const requestCert=options.requestCert||!1;if(requestCert)this._requestCert=requestCert;else this._requestCert=void 0;const rejectUnauthorized=options.rejectUnauthorized||!1;if(rejectUnauthorized)this._rejectUnauthorized=rejectUnauthorized;else this._rejectUnauthorized=void 0}}getTicketKeys(){throw Error(\"Not implented in Bun yet\")}setTicketKeys(){throw Error(\"Not implented in Bun yet\")}[buntls](port,host2,isClient){return[{serverName:this.servername||host2||\"localhost\",key:this.key,cert:this.cert,ca:this.ca,passphrase:this.passphrase,secureOptions:this.secureOptions,rejectUnauthorized:isClient\?!1:this._rejectUnauthorized,requestCert:isClient\?!1:this._requestCert,ALPNProtocols:this.ALPNProtocols},SocketClass]}}function createServer(options,connectionListener){return new Server(options,connectionListener)}const CLIENT_RENEG_LIMIT=3,CLIENT_RENEG_WINDOW=600,DEFAULT_ECDH_CURVE=\"auto\",DEFAULT_CIPHERS=\"DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256\",DEFAULT_MIN_VERSION=\"TLSv1.2\",DEFAULT_MAX_VERSION=\"TLSv1.3\",createConnection=(port,host2,connectListener)=>{if(typeof port===\"object\"){port.checkServerIdentity;const{ALPNProtocols}=port;if(ALPNProtocols)convertALPNProtocols(ALPNProtocols,port);return new TLSSocket(port).connect(port,host2,connectListener)}return new TLSSocket().connect(port,host2,connectListener)},connect=createConnection;function getCiphers(){return DEFAULT_CIPHERS.split(\":\")}function getCurves(){return}function convertProtocols(protocols){const lens=new Array(protocols.length),buff=Buffer.allocUnsafe(ArrayPrototypeReduce.call(protocols,(p,c,i)=>{const len=Buffer.byteLength(c);if(len>255)@throwRangeError(\"The byte length of the protocol at index \"+`${i} exceeds the maximum length.`,\"<= 255\",len,!0);return lens[i]=len,p+1+len},0));let offset=0;for(let i=0,c=protocols.length;i\",'\"',\"`\",\" \",\"\\r\",\"\\n\",\"\\t\"],unwise=[\"{\",\"}\",\"|\",\"\\\\\",\"^\",\"`\"].concat(delims),autoEscape=[\"'\"].concat(unwise),nonHostChars=[\"%\",\"/\",\"\?\",\";\",\"#\"].concat(autoEscape),hostEndingChars=[\"/\",\"\?\",\"#\"],hostnameMaxLen=255,hostnamePartPattern=/^[+a-z0-9A-Z_-]{0,63}$/,hostnamePartStart=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,unsafeProtocol={javascript:!0,\"javascript:\":!0},hostlessProtocol={javascript:!0,\"javascript:\":!0},slashedProtocol={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,\"http:\":!0,\"https:\":!0,\"ftp:\":!0,\"gopher:\":!0,\"file:\":!0};function urlParse(url,parseQueryString,slashesDenoteHost){if(url&&typeof url===\"object\"&&url instanceof Url)return url;var u=new Url;return u.parse(url,parseQueryString,slashesDenoteHost),u}Url.prototype.parse=function(url,parseQueryString,slashesDenoteHost){if(typeof url!==\"string\")@throwTypeError(\"Parameter 'url' must be a string, not \"+typeof url);var queryIndex=url.indexOf(\"\?\"),splitter=queryIndex!==-1&&queryIndex127)newpart+=\"x\";else newpart+=part[j];if(!newpart.match(hostnamePartPattern)){var validParts=hostparts.slice(0,i),notHost=hostparts.slice(i+1),bit=part.match(hostnamePartStart);if(bit)validParts.push(bit[1]),notHost.unshift(bit[2]);if(notHost.length)rest=\"/\"+notHost.join(\".\")+rest;this.hostname=validParts.join(\".\");break}}}}if(this.hostname.length>hostnameMaxLen)this.hostname=\"\";else this.hostname=this.hostname.toLowerCase();if(!ipv6Hostname)this.hostname=new URL(\"http://\"+this.hostname).hostname;var p=this.port\?\":\"+this.port:\"\",h=this.hostname||\"\";if(this.host=h+p,this.href+=this.host,ipv6Hostname){if(this.hostname=this.hostname.substr(1,this.hostname.length-2),rest[0]!==\"/\")rest=\"/\"+rest}}if(!unsafeProtocol[lowerProto])for(var i=0,l=autoEscape.length;i0\?result.host.split(\"@\"):!1;if(authInHost)result.auth=authInHost.shift(),result.hostname=authInHost.shift(),result.host=result.hostname}if(result.search=relative.search,result.query=relative.query,result.pathname!==null||result.search!==null)result.path=(result.pathname\?result.pathname:\"\")+(result.search\?result.search:\"\");return result.href=result.format(),result}if(!srcPath.length){if(result.pathname=null,result.search)result.path=\"/\"+result.search;else result.path=null;return result.href=result.format(),result}var last=srcPath.slice(-1)[0],hasTrailingSlash=(result.host||relative.host||srcPath.length>1)&&(last===\".\"||last===\"..\")||last===\"\",up=0;for(var i=srcPath.length;i>=0;i--)if(last=srcPath[i],last===\".\")srcPath.splice(i,1);else if(last===\"..\")srcPath.splice(i,1),up++;else if(up)srcPath.splice(i,1),up--;if(!mustEndAbs&&!removeAllDots)for(;up--;up)srcPath.unshift(\"..\");if(mustEndAbs&&srcPath[0]!==\"\"&&(!srcPath[0]||srcPath[0].charAt(0)!==\"/\"))srcPath.unshift(\"\");if(hasTrailingSlash&&srcPath.join(\"/\").substr(-1)!==\"/\")srcPath.push(\"\");var isAbsolute=srcPath[0]===\"\"||srcPath[0]&&srcPath[0].charAt(0)===\"/\";if(psychotic){result.hostname=isAbsolute\?\"\":srcPath.length\?srcPath.shift():\"\",result.host=result.hostname;var authInHost=result.host&&result.host.indexOf(\"@\")>0\?result.host.split(\"@\"):!1;if(authInHost)result.auth=authInHost.shift(),result.hostname=authInHost.shift(),result.host=result.hostname}if(mustEndAbs=mustEndAbs||result.host&&srcPath.length,mustEndAbs&&!isAbsolute)srcPath.unshift(\"\");if(srcPath.length>0)result.pathname=srcPath.join(\"/\");else result.pathname=null,result.path=null;if(result.pathname!==null||result.search!==null)result.path=(result.pathname\?result.pathname:\"\")+(result.search\?result.search:\"\");return result.auth=relative.auth||result.auth,result.slashes=result.slashes||relative.slashes,result.href=result.format(),result},Url.prototype.parseHost=function(){var host=this.host,port=portPattern.exec(host);if(port){if(port=port[0],port!==\":\")this.port=port.substr(1);host=host.substr(0,host.length-port.length)}if(host)this.hostname=host};function urlToHttpOptions(url){const options={protocol:url.protocol,hostname:typeof url.hostname===\"string\"&&url.hostname.startsWith(\"[\")\?url.hostname.slice(1,-1):url.hostname,hash:url.hash,search:url.search,pathname:url.pathname,path:`${url.pathname||\"\"}${url.search||\"\"}`,href:url.href};if(url.port!==\"\")options.port=Number(url.port);if(url.username||url.password)options.auth=`${decodeURIComponent(url.username)}:${decodeURIComponent(url.password)}`;return options}const lazy=@lazy,pathToFileURL=lazy(\"pathToFileURL\"),fileURLToPath=lazy(\"fileURLToPath\");return{parse:urlParse,resolve:urlResolve,resolveObject:urlResolveObject,format:urlFormat,Url,URLSearchParams,URL,pathToFileURL,fileURLToPath,urlToHttpOptions}})\n"_s; +static constexpr ASCIILiteral NodeUtilCode = "(function (){\"use strict\";const types=@requireBuiltin(55);var cjs_exports={};function isBufferInterface({copy,fill,readUint8}){return typeof copy===\"function\"&&typeof fill===\"function\"&&typeof readUint8===\"function\"}function isBuffer(value){return Buffer.isBuffer(value)||typeof value===\"object\"&&isBufferInterface(value||{})}function isFunction(value){return typeof value===\"function\"}const deepEquals=Bun.deepEquals,isDeepStrictEqual=(a,b)=>deepEquals(a,b,!0);var getOwnPropertyDescriptors=Object.getOwnPropertyDescriptors,formatRegExp=/%[sdj%]/g;function format(f){if(!isString(f)){var objects=[];for(var i=0;i=len)return x2;switch(x2){case\"%s\":return String(args[i++]);case\"%d\":return Number(args[i++]);case\"%j\":try{return JSON.stringify(args[i++])}catch(_){return\"[Circular]\"}default:return x2}});for(var x=args[i];i=3)ctx.depth=arguments[2];if(arguments.length>=4)ctx.colors=arguments[3];if(isBoolean(opts))ctx.showHidden=opts;else if(opts)_extend(ctx,opts);if(isUndefined(ctx.showHidden))ctx.showHidden=!1;if(isUndefined(ctx.depth))ctx.depth=2;if(isUndefined(ctx.colors))ctx.colors=!1;if(isUndefined(ctx.customInspect))ctx.customInspect=!0;if(ctx.colors)ctx.stylize=stylizeWithColor;return formatValue(ctx,obj,ctx.depth)}inspect.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},inspect.styles={special:\"cyan\",number:\"yellow\",boolean:\"yellow\",undefined:\"grey\",null:\"bold\",string:\"green\",date:\"magenta\",regexp:\"red\"};function stylizeWithColor(str,styleType){var style=inspect.styles[styleType];if(style)return\"\\x1B[\"+inspect.colors[style][0]+\"m\"+str+\"\\x1B[\"+inspect.colors[style][1]+\"m\";else return str}function stylizeNoColor(str,styleType){return str}function arrayToHash(array){var hash={};return array.forEach(function(val,idx){hash[val]=!0}),hash}function formatValue(ctx,value,recurseTimes){if(ctx.customInspect&&value&&isFunction(value.inspect)&&value.inspect!==inspect&&!(value.constructor&&value.constructor.prototype===value)){var ret=value.inspect(recurseTimes,ctx);if(!isString(ret))ret=formatValue(ctx,ret,recurseTimes);return ret}var primitive=formatPrimitive(ctx,value);if(primitive)return primitive;var keys=Object.keys(value),visibleKeys=arrayToHash(keys);if(ctx.showHidden)keys=Object.getOwnPropertyNames(value);if(isError(value)&&(keys.indexOf(\"message\")>=0||keys.indexOf(\"description\")>=0))return formatError(value);if(keys.length===0){if(isFunction(value)){var name=value.name\?\": \"+value.name:\"\";return ctx.stylize(\"[Function\"+name+\"]\",\"special\")}if(isRegExp(value))return ctx.stylize(RegExp.prototype.toString.call(value),\"regexp\");if(isDate(value))return ctx.stylize(Date.prototype.toString.call(value),\"date\");if(isError(value))return formatError(value)}var base=\"\",array=!1,braces=[\"{\",\"}\"];if(@isArray(value))array=!0,braces=[\"[\",\"]\"];if(isFunction(value)){var n=value.name\?\": \"+value.name:\"\";base=\" [Function\"+n+\"]\"}if(isRegExp(value))base=\" \"+RegExp.prototype.toString.call(value);if(isDate(value))base=\" \"+Date.prototype.toUTCString.call(value);if(isError(value))base=\" \"+formatError(value);if(keys.length===0&&(!array||value.length==0))return braces[0]+base+braces[1];if(recurseTimes<0)if(isRegExp(value))return ctx.stylize(RegExp.prototype.toString.call(value),\"regexp\");else return ctx.stylize(\"[Object]\",\"special\");ctx.seen.push(value);var output;if(array)output=formatArray(ctx,value,recurseTimes,visibleKeys,keys);else output=keys.map(function(key){return formatProperty(ctx,value,recurseTimes,visibleKeys,key,array)});return ctx.seen.pop(),reduceToSingleString(output,base,braces)}function formatPrimitive(ctx,value){if(isUndefined(value))return ctx.stylize(\"undefined\",\"undefined\");if(isString(value)){var simple=\"'\"+JSON.stringify(value).replace(/^\"|\"$/g,\"\").replace(/'/g,\"\\\\'\").replace(/\\\\\"/g,'\"')+\"'\";return ctx.stylize(simple,\"string\")}if(isNumber(value))return ctx.stylize(\"\"+value,\"number\");if(isBoolean(value))return ctx.stylize(\"\"+value,\"boolean\");if(isNull(value))return ctx.stylize(\"null\",\"null\")}function formatError(value){return\"[\"+Error.prototype.toString.call(value)+\"]\"}function formatArray(ctx,value,recurseTimes,visibleKeys,keys){var output=[];for(var i=0,l=value.length;i-1)if(array)str=str.split(\"\\n\").map(function(line){return\" \"+line}).join(\"\\n\").substr(2);else str=\"\\n\"+str.split(\"\\n\").map(function(line){return\" \"+line}).join(\"\\n\")}else str=ctx.stylize(\"[Circular]\",\"special\");if(isUndefined(name)){if(array&&key.match(/^\\d+$/))return str;if(name=JSON.stringify(\"\"+key),name.match(/^\"([a-zA-Z_][a-zA-Z_0-9]*)\"$/))name=name.substr(1,name.length-2),name=ctx.stylize(name,\"name\");else name=name.replace(/'/g,\"\\\\'\").replace(/\\\\\"/g,'\"').replace(/(^\"|\"$)/g,\"'\"),name=ctx.stylize(name,\"string\")}return name+\": \"+str}function reduceToSingleString(output,base,braces){var numLinesEst=0,length=output.reduce(function(prev,cur){if(numLinesEst++,cur.indexOf(\"\\n\")>=0)numLinesEst++;return prev+cur.replace(/\\u001b\\[\\d\\d\?m/g,\"\").length+1},0);if(length>60)return braces[0]+(base===\"\"\?\"\":base+\"\\n \")+\" \"+output.join(\",\\n \")+\" \"+braces[1];return braces[0]+base+\" \"+output.join(\", \")+\" \"+braces[1]}function isBoolean(arg){return typeof arg===\"boolean\"}function isNull(arg){return arg===null}function isNullOrUndefined(arg){return arg==null}function isNumber(arg){return typeof arg===\"number\"}function isString(arg){return typeof arg===\"string\"}function isSymbol(arg){return typeof arg===\"symbol\"}function isUndefined(arg){return arg===void 0}var isRegExp=types.isRegExp;function isObject(arg){return typeof arg===\"object\"&&arg!==null}var{isDate,isNativeError:isError}=types;function isPrimitive(arg){return arg===null||typeof arg===\"boolean\"||typeof arg===\"number\"||typeof arg===\"string\"||typeof arg===\"symbol\"||typeof arg===\"undefined\"}function pad(n){return n<10\?\"0\"+n.toString(10):n.toString(10)}var months=[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"];function timestamp(){var d=new Date,time=[pad(d.getHours()),pad(d.getMinutes()),pad(d.getSeconds())].join(\":\");return[d.getDate(),months[d.getMonth()],time].join(\" \")}var log=function log(){console.log(\"%s - %s\",timestamp(),format.apply(cjs_exports,arguments))},inherits=function inherits(ctor,superCtor){ctor.super_=superCtor,ctor.prototype=Object.create(superCtor.prototype,{constructor:{value:ctor,enumerable:!1,writable:!0,configurable:!0}})},_extend=function(origin,add){if(!add||!isObject(add))return origin;var keys=Object.keys(add),i=keys.length;while(i--)origin[keys[i]]=add[keys[i]];return origin};function hasOwnProperty(obj,prop){return Object.prototype.hasOwnProperty.call(obj,prop)}var kCustomPromisifiedSymbol=Symbol.for(\"util.promisify.custom\"),promisify=function promisify(original){if(typeof original!==\"function\")@throwTypeError('The \"original\" argument must be of type Function');if(kCustomPromisifiedSymbol&&original[kCustomPromisifiedSymbol]){var fn=original[kCustomPromisifiedSymbol];if(typeof fn!==\"function\")@throwTypeError('The \"util.promisify.custom\" argument must be of type Function');return Object.defineProperty(fn,kCustomPromisifiedSymbol,{value:fn,enumerable:!1,writable:!1,configurable:!0}),fn}function fn(){var promiseResolve,promiseReject,promise=new Promise(function(resolve,reject){promiseResolve=resolve,promiseReject=reject}),args=[];for(var i=0;i{return(input+\"\").toWellFormed()};return Object.assign(cjs_exports,{format,deprecate,debuglog,_extend,inspect,types,isArray:@isArray,isBoolean,isNull,isNullOrUndefined,isNumber,isString,isSymbol,isUndefined,isRegExp,isObject,isDate,isFunction,isError,isPrimitive,isBuffer,log,inherits,toUSVString,promisify,callbackify,isDeepStrictEqual,TextDecoder,TextEncoder})})\n"_s; +static constexpr ASCIILiteral NodeV8Code = "(function (){\"use strict\";var $;const{hideFromStack,throwNotImplemented}=@requireId(2),jsc=@requireBuiltin(48);function notimpl(message){throwNotImplemented(\"node:v8 \"+message)}class Deserializer{constructor(){notimpl(\"Deserializer\")}}class Serializer{constructor(){notimpl(\"Serializer\")}}class DefaultDeserializer extends Deserializer{constructor(){super(...arguments)}}class DefaultSerializer extends Serializer{constructor(){super(...arguments)}}class GCProfiler{constructor(){notimpl(\"GCProfiler\")}}function cachedDataVersionTag(){notimpl(\"cachedDataVersionTag\")}function getHeapSnapshot(){notimpl(\"getHeapSnapshot\")}function getHeapStatistics(){notimpl(\"getHeapStatistics\")}function getHeapSpaceStatistics(){notimpl(\"getHeapSpaceStatistics\")}function getHeapCodeStatistics(){notimpl(\"getHeapCodeStatistics\")}function setFlagsFromString(){notimpl(\"setFlagsFromString\")}function deserialize(value){return jsc.deserialize(value)}function takeCoverage(){notimpl(\"takeCoverage\")}function stopCoverage(){notimpl(\"stopCoverage\")}function serialize(arg1){return jsc.serialize(arg1,{binaryType:\"nodebuffer\"})}function writeHeapSnapshot(){notimpl(\"writeHeapSnapshot\")}function setHeapSnapshotNearHeapLimit(){notimpl(\"setHeapSnapshotNearHeapLimit\")}return $={cachedDataVersionTag,getHeapSnapshot,getHeapStatistics,getHeapSpaceStatistics,getHeapCodeStatistics,setFlagsFromString,deserialize,takeCoverage,stopCoverage,serialize,writeHeapSnapshot,setHeapSnapshotNearHeapLimit,promiseHooks:{createHook:()=>{notimpl(\"createHook\")},onInit:()=>{notimpl(\"onInit\")},onBefore:()=>{notimpl(\"onBefore\")},onAfter:()=>{notimpl(\"onAfter\")},onSettled:()=>{notimpl(\"onSettled\")}},startupSnapshot:{addDeserializeCallback:()=>notimpl(\"addDeserializeCallback\"),addSerializeCallback:()=>notimpl(\"addSerializeCallback\"),setDeserializeMainFunction:()=>notimpl(\"setDeserializeMainFunction\"),isBuildingSnapshot:()=>notimpl(\"isBuildingSnapshot\")},Deserializer,Serializer},hideFromStack(notimpl,cachedDataVersionTag,getHeapSnapshot,getHeapStatistics,getHeapSpaceStatistics,getHeapCodeStatistics,setFlagsFromString,deserialize,takeCoverage,stopCoverage,serialize,writeHeapSnapshot,setHeapSnapshotNearHeapLimit,Deserializer,Serializer,DefaultDeserializer,DefaultSerializer,GCProfiler),$})\n"_s; +static constexpr ASCIILiteral NodeVMCode = "(function (){\"use strict\";const{throwNotImplemented}=@requireId(2),vm=globalThis[globalThis.Symbol.for('Bun.lazy')](\"vm\"),{createContext,isContext,Script,runInNewContext,runInThisContext}=vm;function runInContext(code,context,options){return new Script(code,options).runInContext(context)}function compileFunction(){throwNotImplemented(\"node:vm compileFunction\")}function measureMemory(){throwNotImplemented(\"node:vm measureMemory\")}class Module{constructor(){throwNotImplemented(\"node:vm Module\")}}class SourceTextModule{constructor(){throwNotImplemented(\"node:vm Module\")}}class SyntheticModule{constructor(){throwNotImplemented(\"node:vm Module\")}}return{createContext,runInContext,runInNewContext,runInThisContext,isContext,compileFunction,measureMemory,Script,Module,SourceTextModule,SyntheticModule}})\n"_s; +static constexpr ASCIILiteral NodeWasiCode = "(function (){\"use strict\";const nodeFsConstants=constants;var __getOwnPropNames=Object.getOwnPropertyNames,__commonJS=(cb,mod)=>function __require2(){return mod||(0,cb[__getOwnPropNames(cb)[0]])((mod={exports:{}}).exports,mod),mod.exports},require_types=__commonJS({\"node_modules/wasi-js/dist/types.js\"(exports){Object.defineProperty(exports,\"__esModule\",{value:!0}),exports.WASIKillError=exports.WASIExitError=exports.WASIError=void 0;var WASIError=class extends Error{constructor(errno){super();this.errno=errno,Object.setPrototypeOf(this,WASIError.prototype)}};exports.WASIError=WASIError;var WASIExitError=class extends Error{constructor(code){super(`WASI Exit error: ${code}`);this.code=code,Object.setPrototypeOf(this,WASIExitError.prototype)}};exports.WASIExitError=WASIExitError;var WASIKillError=class extends Error{constructor(signal){super(`WASI Kill signal: ${signal}`);this.signal=signal,Object.setPrototypeOf(this,WASIKillError.prototype)}};exports.WASIKillError=WASIKillError}}),require_constants=__commonJS({\"node_modules/wasi-js/dist/constants.js\"(exports){Object.defineProperty(exports,\"__esModule\",{value:!0}),exports.WASI_ENOMSG=exports.WASI_ENOMEM=exports.WASI_ENOLINK=exports.WASI_ENOLCK=exports.WASI_ENOEXEC=exports.WASI_ENOENT=exports.WASI_ENODEV=exports.WASI_ENOBUFS=exports.WASI_ENFILE=exports.WASI_ENETUNREACH=exports.WASI_ENETRESET=exports.WASI_ENETDOWN=exports.WASI_ENAMETOOLONG=exports.WASI_EMULTIHOP=exports.WASI_EMSGSIZE=exports.WASI_EMLINK=exports.WASI_EMFILE=exports.WASI_ELOOP=exports.WASI_EISDIR=exports.WASI_EISCONN=exports.WASI_EIO=exports.WASI_EINVAL=exports.WASI_EINTR=exports.WASI_EINPROGRESS=exports.WASI_EILSEQ=exports.WASI_EIDRM=exports.WASI_EHOSTUNREACH=exports.WASI_EFBIG=exports.WASI_EFAULT=exports.WASI_EEXIST=exports.WASI_EDQUOT=exports.WASI_EDOM=exports.WASI_EDESTADDRREQ=exports.WASI_EDEADLK=exports.WASI_ECONNRESET=exports.WASI_ECONNREFUSED=exports.WASI_ECONNABORTED=exports.WASI_ECHILD=exports.WASI_ECANCELED=exports.WASI_EBUSY=exports.WASI_EBADMSG=exports.WASI_EBADF=exports.WASI_EALREADY=exports.WASI_EAGAIN=exports.WASI_EAFNOSUPPORT=exports.WASI_EADDRNOTAVAIL=exports.WASI_EADDRINUSE=exports.WASI_EACCES=exports.WASI_E2BIG=exports.WASI_ESUCCESS=void 0,exports.WASI_SIGVTALRM=exports.WASI_SIGUSR2=exports.WASI_SIGUSR1=exports.WASI_SIGURG=exports.WASI_SIGTTOU=exports.WASI_SIGTTIN=exports.WASI_SIGTSTP=exports.WASI_SIGTRAP=exports.WASI_SIGTERM=exports.WASI_SIGSTOP=exports.WASI_SIGSEGV=exports.WASI_SIGQUIT=exports.WASI_SIGPIPE=exports.WASI_SIGKILL=exports.WASI_SIGINT=exports.WASI_SIGILL=exports.WASI_SIGHUP=exports.WASI_SIGFPE=exports.WASI_SIGCONT=exports.WASI_SIGCHLD=exports.WASI_SIGBUS=exports.WASI_SIGALRM=exports.WASI_SIGABRT=exports.WASI_ENOTCAPABLE=exports.WASI_EXDEV=exports.WASI_ETXTBSY=exports.WASI_ETIMEDOUT=exports.WASI_ESTALE=exports.WASI_ESRCH=exports.WASI_ESPIPE=exports.WASI_EROFS=exports.WASI_ERANGE=exports.WASI_EPROTOTYPE=exports.WASI_EPROTONOSUPPORT=exports.WASI_EPROTO=exports.WASI_EPIPE=exports.WASI_EPERM=exports.WASI_EOWNERDEAD=exports.WASI_EOVERFLOW=exports.WASI_ENXIO=exports.WASI_ENOTTY=exports.WASI_ENOTSUP=exports.WASI_ENOTSOCK=exports.WASI_ENOTRECOVERABLE=exports.WASI_ENOTEMPTY=exports.WASI_ENOTDIR=exports.WASI_ENOTCONN=exports.WASI_ENOSYS=exports.WASI_ENOSPC=exports.WASI_ENOPROTOOPT=void 0,exports.RIGHTS_REGULAR_FILE_BASE=exports.RIGHTS_CHARACTER_DEVICE_INHERITING=exports.RIGHTS_CHARACTER_DEVICE_BASE=exports.RIGHTS_BLOCK_DEVICE_INHERITING=exports.RIGHTS_BLOCK_DEVICE_BASE=exports.RIGHTS_ALL=exports.WASI_RIGHT_SOCK_SHUTDOWN=exports.WASI_RIGHT_POLL_FD_READWRITE=exports.WASI_RIGHT_PATH_UNLINK_FILE=exports.WASI_RIGHT_PATH_REMOVE_DIRECTORY=exports.WASI_RIGHT_PATH_SYMLINK=exports.WASI_RIGHT_FD_FILESTAT_SET_TIMES=exports.WASI_RIGHT_FD_FILESTAT_SET_SIZE=exports.WASI_RIGHT_FD_FILESTAT_GET=exports.WASI_RIGHT_PATH_FILESTAT_SET_TIMES=exports.WASI_RIGHT_PATH_FILESTAT_SET_SIZE=exports.WASI_RIGHT_PATH_FILESTAT_GET=exports.WASI_RIGHT_PATH_RENAME_TARGET=exports.WASI_RIGHT_PATH_RENAME_SOURCE=exports.WASI_RIGHT_PATH_READLINK=exports.WASI_RIGHT_FD_READDIR=exports.WASI_RIGHT_PATH_OPEN=exports.WASI_RIGHT_PATH_LINK_TARGET=exports.WASI_RIGHT_PATH_LINK_SOURCE=exports.WASI_RIGHT_PATH_CREATE_FILE=exports.WASI_RIGHT_PATH_CREATE_DIRECTORY=exports.WASI_RIGHT_FD_ALLOCATE=exports.WASI_RIGHT_FD_ADVISE=exports.WASI_RIGHT_FD_WRITE=exports.WASI_RIGHT_FD_TELL=exports.WASI_RIGHT_FD_SYNC=exports.WASI_RIGHT_FD_FDSTAT_SET_FLAGS=exports.WASI_RIGHT_FD_SEEK=exports.WASI_RIGHT_FD_READ=exports.WASI_RIGHT_FD_DATASYNC=exports.WASI_FDFLAG_SYNC=exports.WASI_FDFLAG_RSYNC=exports.WASI_FDFLAG_NONBLOCK=exports.WASI_FDFLAG_DSYNC=exports.WASI_FDFLAG_APPEND=exports.WASI_FILETYPE_SYMBOLIC_LINK=exports.WASI_FILETYPE_SOCKET_STREAM=exports.WASI_FILETYPE_SOCKET_DGRAM=exports.WASI_FILETYPE_REGULAR_FILE=exports.WASI_FILETYPE_DIRECTORY=exports.WASI_FILETYPE_CHARACTER_DEVICE=exports.WASI_FILETYPE_BLOCK_DEVICE=exports.WASI_FILETYPE_UNKNOWN=exports.WASI_SIGXFSZ=exports.WASI_SIGXCPU=void 0,exports.SIGNAL_MAP=exports.ERROR_MAP=exports.WASI_WHENCE_END=exports.WASI_WHENCE_CUR=exports.WASI_WHENCE_SET=exports.WASI_STDERR_FILENO=exports.WASI_STDOUT_FILENO=exports.WASI_STDIN_FILENO=exports.WASI_DIRCOOKIE_START=exports.WASI_PREOPENTYPE_DIR=exports.WASI_O_TRUNC=exports.WASI_O_EXCL=exports.WASI_O_DIRECTORY=exports.WASI_O_CREAT=exports.WASI_FILESTAT_SET_MTIM_NOW=exports.WASI_FILESTAT_SET_MTIM=exports.WASI_FILESTAT_SET_ATIM_NOW=exports.WASI_FILESTAT_SET_ATIM=exports.WASI_EVENTTYPE_FD_WRITE=exports.WASI_EVENTTYPE_FD_READ=exports.WASI_EVENTTYPE_CLOCK=exports.WASI_CLOCK_THREAD_CPUTIME_ID=exports.WASI_CLOCK_PROCESS_CPUTIME_ID=exports.WASI_CLOCK_MONOTONIC=exports.WASI_CLOCK_REALTIME=exports.RIGHTS_TTY_INHERITING=exports.RIGHTS_TTY_BASE=exports.RIGHTS_SOCKET_INHERITING=exports.RIGHTS_SOCKET_BASE=exports.RIGHTS_DIRECTORY_INHERITING=exports.RIGHTS_DIRECTORY_BASE=exports.RIGHTS_REGULAR_FILE_INHERITING=void 0,exports.WASI_ESUCCESS=0,exports.WASI_E2BIG=1,exports.WASI_EACCES=2,exports.WASI_EADDRINUSE=3,exports.WASI_EADDRNOTAVAIL=4,exports.WASI_EAFNOSUPPORT=5,exports.WASI_EAGAIN=6,exports.WASI_EALREADY=7,exports.WASI_EBADF=8,exports.WASI_EBADMSG=9,exports.WASI_EBUSY=10,exports.WASI_ECANCELED=11,exports.WASI_ECHILD=12,exports.WASI_ECONNABORTED=13,exports.WASI_ECONNREFUSED=14,exports.WASI_ECONNRESET=15,exports.WASI_EDEADLK=16,exports.WASI_EDESTADDRREQ=17,exports.WASI_EDOM=18,exports.WASI_EDQUOT=19,exports.WASI_EEXIST=20,exports.WASI_EFAULT=21,exports.WASI_EFBIG=22,exports.WASI_EHOSTUNREACH=23,exports.WASI_EIDRM=24,exports.WASI_EILSEQ=25,exports.WASI_EINPROGRESS=26,exports.WASI_EINTR=27,exports.WASI_EINVAL=28,exports.WASI_EIO=29,exports.WASI_EISCONN=30,exports.WASI_EISDIR=31,exports.WASI_ELOOP=32,exports.WASI_EMFILE=33,exports.WASI_EMLINK=34,exports.WASI_EMSGSIZE=35,exports.WASI_EMULTIHOP=36,exports.WASI_ENAMETOOLONG=37,exports.WASI_ENETDOWN=38,exports.WASI_ENETRESET=39,exports.WASI_ENETUNREACH=40,exports.WASI_ENFILE=41,exports.WASI_ENOBUFS=42,exports.WASI_ENODEV=43,exports.WASI_ENOENT=44,exports.WASI_ENOEXEC=45,exports.WASI_ENOLCK=46,exports.WASI_ENOLINK=47,exports.WASI_ENOMEM=48,exports.WASI_ENOMSG=49,exports.WASI_ENOPROTOOPT=50,exports.WASI_ENOSPC=51,exports.WASI_ENOSYS=52,exports.WASI_ENOTCONN=53,exports.WASI_ENOTDIR=54,exports.WASI_ENOTEMPTY=55,exports.WASI_ENOTRECOVERABLE=56,exports.WASI_ENOTSOCK=57,exports.WASI_ENOTSUP=58,exports.WASI_ENOTTY=59,exports.WASI_ENXIO=60,exports.WASI_EOVERFLOW=61,exports.WASI_EOWNERDEAD=62,exports.WASI_EPERM=63,exports.WASI_EPIPE=64,exports.WASI_EPROTO=65,exports.WASI_EPROTONOSUPPORT=66,exports.WASI_EPROTOTYPE=67,exports.WASI_ERANGE=68,exports.WASI_EROFS=69,exports.WASI_ESPIPE=70,exports.WASI_ESRCH=71,exports.WASI_ESTALE=72,exports.WASI_ETIMEDOUT=73,exports.WASI_ETXTBSY=74,exports.WASI_EXDEV=75,exports.WASI_ENOTCAPABLE=76,exports.WASI_SIGABRT=0,exports.WASI_SIGALRM=1,exports.WASI_SIGBUS=2,exports.WASI_SIGCHLD=3,exports.WASI_SIGCONT=4,exports.WASI_SIGFPE=5,exports.WASI_SIGHUP=6,exports.WASI_SIGILL=7,exports.WASI_SIGINT=8,exports.WASI_SIGKILL=9,exports.WASI_SIGPIPE=10,exports.WASI_SIGQUIT=11,exports.WASI_SIGSEGV=12,exports.WASI_SIGSTOP=13,exports.WASI_SIGTERM=14,exports.WASI_SIGTRAP=15,exports.WASI_SIGTSTP=16,exports.WASI_SIGTTIN=17,exports.WASI_SIGTTOU=18,exports.WASI_SIGURG=19,exports.WASI_SIGUSR1=20,exports.WASI_SIGUSR2=21,exports.WASI_SIGVTALRM=22,exports.WASI_SIGXCPU=23,exports.WASI_SIGXFSZ=24,exports.WASI_FILETYPE_UNKNOWN=0,exports.WASI_FILETYPE_BLOCK_DEVICE=1,exports.WASI_FILETYPE_CHARACTER_DEVICE=2,exports.WASI_FILETYPE_DIRECTORY=3,exports.WASI_FILETYPE_REGULAR_FILE=4,exports.WASI_FILETYPE_SOCKET_DGRAM=5,exports.WASI_FILETYPE_SOCKET_STREAM=6,exports.WASI_FILETYPE_SYMBOLIC_LINK=7,exports.WASI_FDFLAG_APPEND=1,exports.WASI_FDFLAG_DSYNC=2,exports.WASI_FDFLAG_NONBLOCK=4,exports.WASI_FDFLAG_RSYNC=8,exports.WASI_FDFLAG_SYNC=16,exports.WASI_RIGHT_FD_DATASYNC=BigInt(1),exports.WASI_RIGHT_FD_READ=BigInt(2),exports.WASI_RIGHT_FD_SEEK=BigInt(4),exports.WASI_RIGHT_FD_FDSTAT_SET_FLAGS=BigInt(8),exports.WASI_RIGHT_FD_SYNC=BigInt(16),exports.WASI_RIGHT_FD_TELL=BigInt(32),exports.WASI_RIGHT_FD_WRITE=BigInt(64),exports.WASI_RIGHT_FD_ADVISE=BigInt(128),exports.WASI_RIGHT_FD_ALLOCATE=BigInt(256),exports.WASI_RIGHT_PATH_CREATE_DIRECTORY=BigInt(512),exports.WASI_RIGHT_PATH_CREATE_FILE=BigInt(1024),exports.WASI_RIGHT_PATH_LINK_SOURCE=BigInt(2048),exports.WASI_RIGHT_PATH_LINK_TARGET=BigInt(4096),exports.WASI_RIGHT_PATH_OPEN=BigInt(8192),exports.WASI_RIGHT_FD_READDIR=BigInt(16384),exports.WASI_RIGHT_PATH_READLINK=BigInt(32768),exports.WASI_RIGHT_PATH_RENAME_SOURCE=BigInt(65536),exports.WASI_RIGHT_PATH_RENAME_TARGET=BigInt(131072),exports.WASI_RIGHT_PATH_FILESTAT_GET=BigInt(262144),exports.WASI_RIGHT_PATH_FILESTAT_SET_SIZE=BigInt(524288),exports.WASI_RIGHT_PATH_FILESTAT_SET_TIMES=BigInt(1048576),exports.WASI_RIGHT_FD_FILESTAT_GET=BigInt(2097152),exports.WASI_RIGHT_FD_FILESTAT_SET_SIZE=BigInt(4194304),exports.WASI_RIGHT_FD_FILESTAT_SET_TIMES=BigInt(8388608),exports.WASI_RIGHT_PATH_SYMLINK=BigInt(16777216),exports.WASI_RIGHT_PATH_REMOVE_DIRECTORY=BigInt(33554432),exports.WASI_RIGHT_PATH_UNLINK_FILE=BigInt(67108864),exports.WASI_RIGHT_POLL_FD_READWRITE=BigInt(134217728),exports.WASI_RIGHT_SOCK_SHUTDOWN=BigInt(268435456),exports.RIGHTS_ALL=exports.WASI_RIGHT_FD_DATASYNC|exports.WASI_RIGHT_FD_READ|exports.WASI_RIGHT_FD_SEEK|exports.WASI_RIGHT_FD_FDSTAT_SET_FLAGS|exports.WASI_RIGHT_FD_SYNC|exports.WASI_RIGHT_FD_TELL|exports.WASI_RIGHT_FD_WRITE|exports.WASI_RIGHT_FD_ADVISE|exports.WASI_RIGHT_FD_ALLOCATE|exports.WASI_RIGHT_PATH_CREATE_DIRECTORY|exports.WASI_RIGHT_PATH_CREATE_FILE|exports.WASI_RIGHT_PATH_LINK_SOURCE|exports.WASI_RIGHT_PATH_LINK_TARGET|exports.WASI_RIGHT_PATH_OPEN|exports.WASI_RIGHT_FD_READDIR|exports.WASI_RIGHT_PATH_READLINK|exports.WASI_RIGHT_PATH_RENAME_SOURCE|exports.WASI_RIGHT_PATH_RENAME_TARGET|exports.WASI_RIGHT_PATH_FILESTAT_GET|exports.WASI_RIGHT_PATH_FILESTAT_SET_SIZE|exports.WASI_RIGHT_PATH_FILESTAT_SET_TIMES|exports.WASI_RIGHT_FD_FILESTAT_GET|exports.WASI_RIGHT_FD_FILESTAT_SET_TIMES|exports.WASI_RIGHT_FD_FILESTAT_SET_SIZE|exports.WASI_RIGHT_PATH_SYMLINK|exports.WASI_RIGHT_PATH_UNLINK_FILE|exports.WASI_RIGHT_PATH_REMOVE_DIRECTORY|exports.WASI_RIGHT_POLL_FD_READWRITE|exports.WASI_RIGHT_SOCK_SHUTDOWN,exports.RIGHTS_BLOCK_DEVICE_BASE=exports.RIGHTS_ALL,exports.RIGHTS_BLOCK_DEVICE_INHERITING=exports.RIGHTS_ALL,exports.RIGHTS_CHARACTER_DEVICE_BASE=exports.RIGHTS_ALL,exports.RIGHTS_CHARACTER_DEVICE_INHERITING=exports.RIGHTS_ALL,exports.RIGHTS_REGULAR_FILE_BASE=exports.WASI_RIGHT_FD_DATASYNC|exports.WASI_RIGHT_FD_READ|exports.WASI_RIGHT_FD_SEEK|exports.WASI_RIGHT_FD_FDSTAT_SET_FLAGS|exports.WASI_RIGHT_FD_SYNC|exports.WASI_RIGHT_FD_TELL|exports.WASI_RIGHT_FD_WRITE|exports.WASI_RIGHT_FD_ADVISE|exports.WASI_RIGHT_FD_ALLOCATE|exports.WASI_RIGHT_FD_FILESTAT_GET|exports.WASI_RIGHT_FD_FILESTAT_SET_SIZE|exports.WASI_RIGHT_FD_FILESTAT_SET_TIMES|exports.WASI_RIGHT_POLL_FD_READWRITE,exports.RIGHTS_REGULAR_FILE_INHERITING=BigInt(0),exports.RIGHTS_DIRECTORY_BASE=exports.WASI_RIGHT_FD_FDSTAT_SET_FLAGS|exports.WASI_RIGHT_FD_SYNC|exports.WASI_RIGHT_FD_ADVISE|exports.WASI_RIGHT_PATH_CREATE_DIRECTORY|exports.WASI_RIGHT_PATH_CREATE_FILE|exports.WASI_RIGHT_PATH_LINK_SOURCE|exports.WASI_RIGHT_PATH_LINK_TARGET|exports.WASI_RIGHT_PATH_OPEN|exports.WASI_RIGHT_FD_READDIR|exports.WASI_RIGHT_PATH_READLINK|exports.WASI_RIGHT_PATH_RENAME_SOURCE|exports.WASI_RIGHT_PATH_RENAME_TARGET|exports.WASI_RIGHT_PATH_FILESTAT_GET|exports.WASI_RIGHT_PATH_FILESTAT_SET_SIZE|exports.WASI_RIGHT_PATH_FILESTAT_SET_TIMES|exports.WASI_RIGHT_FD_FILESTAT_GET|exports.WASI_RIGHT_FD_FILESTAT_SET_TIMES|exports.WASI_RIGHT_PATH_SYMLINK|exports.WASI_RIGHT_PATH_UNLINK_FILE|exports.WASI_RIGHT_PATH_REMOVE_DIRECTORY|exports.WASI_RIGHT_POLL_FD_READWRITE,exports.RIGHTS_DIRECTORY_INHERITING=exports.RIGHTS_DIRECTORY_BASE|exports.RIGHTS_REGULAR_FILE_BASE,exports.RIGHTS_SOCKET_BASE=exports.WASI_RIGHT_FD_READ|exports.WASI_RIGHT_FD_FDSTAT_SET_FLAGS|exports.WASI_RIGHT_FD_WRITE|exports.WASI_RIGHT_FD_FILESTAT_GET|exports.WASI_RIGHT_POLL_FD_READWRITE|exports.WASI_RIGHT_SOCK_SHUTDOWN,exports.RIGHTS_SOCKET_INHERITING=exports.RIGHTS_ALL,exports.RIGHTS_TTY_BASE=exports.WASI_RIGHT_FD_READ|exports.WASI_RIGHT_FD_FDSTAT_SET_FLAGS|exports.WASI_RIGHT_FD_WRITE|exports.WASI_RIGHT_FD_FILESTAT_GET|exports.WASI_RIGHT_POLL_FD_READWRITE,exports.RIGHTS_TTY_INHERITING=BigInt(0),exports.WASI_CLOCK_REALTIME=0,exports.WASI_CLOCK_MONOTONIC=1,exports.WASI_CLOCK_PROCESS_CPUTIME_ID=2,exports.WASI_CLOCK_THREAD_CPUTIME_ID=3,exports.WASI_EVENTTYPE_CLOCK=0,exports.WASI_EVENTTYPE_FD_READ=1,exports.WASI_EVENTTYPE_FD_WRITE=2,exports.WASI_FILESTAT_SET_ATIM=1<<0,exports.WASI_FILESTAT_SET_ATIM_NOW=1<<1,exports.WASI_FILESTAT_SET_MTIM=1<<2,exports.WASI_FILESTAT_SET_MTIM_NOW=1<<3,exports.WASI_O_CREAT=1<<0,exports.WASI_O_DIRECTORY=1<<1,exports.WASI_O_EXCL=1<<2,exports.WASI_O_TRUNC=1<<3,exports.WASI_PREOPENTYPE_DIR=0,exports.WASI_DIRCOOKIE_START=0,exports.WASI_STDIN_FILENO=0,exports.WASI_STDOUT_FILENO=1,exports.WASI_STDERR_FILENO=2,exports.WASI_WHENCE_SET=0,exports.WASI_WHENCE_CUR=1,exports.WASI_WHENCE_END=2,exports.ERROR_MAP={E2BIG:exports.WASI_E2BIG,EACCES:exports.WASI_EACCES,EADDRINUSE:exports.WASI_EADDRINUSE,EADDRNOTAVAIL:exports.WASI_EADDRNOTAVAIL,EAFNOSUPPORT:exports.WASI_EAFNOSUPPORT,EALREADY:exports.WASI_EALREADY,EAGAIN:exports.WASI_EAGAIN,EBADF:exports.WASI_EBADF,EBADMSG:exports.WASI_EBADMSG,EBUSY:exports.WASI_EBUSY,ECANCELED:exports.WASI_ECANCELED,ECHILD:exports.WASI_ECHILD,ECONNABORTED:exports.WASI_ECONNABORTED,ECONNREFUSED:exports.WASI_ECONNREFUSED,ECONNRESET:exports.WASI_ECONNRESET,EDEADLOCK:exports.WASI_EDEADLK,EDESTADDRREQ:exports.WASI_EDESTADDRREQ,EDOM:exports.WASI_EDOM,EDQUOT:exports.WASI_EDQUOT,EEXIST:exports.WASI_EEXIST,EFAULT:exports.WASI_EFAULT,EFBIG:exports.WASI_EFBIG,EHOSTDOWN:exports.WASI_EHOSTUNREACH,EHOSTUNREACH:exports.WASI_EHOSTUNREACH,EIDRM:exports.WASI_EIDRM,EILSEQ:exports.WASI_EILSEQ,EINPROGRESS:exports.WASI_EINPROGRESS,EINTR:exports.WASI_EINTR,EINVAL:exports.WASI_EINVAL,EIO:exports.WASI_EIO,EISCONN:exports.WASI_EISCONN,EISDIR:exports.WASI_EISDIR,ELOOP:exports.WASI_ELOOP,EMFILE:exports.WASI_EMFILE,EMLINK:exports.WASI_EMLINK,EMSGSIZE:exports.WASI_EMSGSIZE,EMULTIHOP:exports.WASI_EMULTIHOP,ENAMETOOLONG:exports.WASI_ENAMETOOLONG,ENETDOWN:exports.WASI_ENETDOWN,ENETRESET:exports.WASI_ENETRESET,ENETUNREACH:exports.WASI_ENETUNREACH,ENFILE:exports.WASI_ENFILE,ENOBUFS:exports.WASI_ENOBUFS,ENODEV:exports.WASI_ENODEV,ENOENT:exports.WASI_ENOENT,ENOEXEC:exports.WASI_ENOEXEC,ENOLCK:exports.WASI_ENOLCK,ENOLINK:exports.WASI_ENOLINK,ENOMEM:exports.WASI_ENOMEM,ENOMSG:exports.WASI_ENOMSG,ENOPROTOOPT:exports.WASI_ENOPROTOOPT,ENOSPC:exports.WASI_ENOSPC,ENOSYS:exports.WASI_ENOSYS,ENOTCONN:exports.WASI_ENOTCONN,ENOTDIR:exports.WASI_ENOTDIR,ENOTEMPTY:exports.WASI_ENOTEMPTY,ENOTRECOVERABLE:exports.WASI_ENOTRECOVERABLE,ENOTSOCK:exports.WASI_ENOTSOCK,ENOTTY:exports.WASI_ENOTTY,ENXIO:exports.WASI_ENXIO,EOVERFLOW:exports.WASI_EOVERFLOW,EOWNERDEAD:exports.WASI_EOWNERDEAD,EPERM:exports.WASI_EPERM,EPIPE:exports.WASI_EPIPE,EPROTO:exports.WASI_EPROTO,EPROTONOSUPPORT:exports.WASI_EPROTONOSUPPORT,EPROTOTYPE:exports.WASI_EPROTOTYPE,ERANGE:exports.WASI_ERANGE,EROFS:exports.WASI_EROFS,ESPIPE:exports.WASI_ESPIPE,ESRCH:exports.WASI_ESRCH,ESTALE:exports.WASI_ESTALE,ETIMEDOUT:exports.WASI_ETIMEDOUT,ETXTBSY:exports.WASI_ETXTBSY,EXDEV:exports.WASI_EXDEV},exports.SIGNAL_MAP={[exports.WASI_SIGHUP]:\"SIGHUP\",[exports.WASI_SIGINT]:\"SIGINT\",[exports.WASI_SIGQUIT]:\"SIGQUIT\",[exports.WASI_SIGILL]:\"SIGILL\",[exports.WASI_SIGTRAP]:\"SIGTRAP\",[exports.WASI_SIGABRT]:\"SIGABRT\",[exports.WASI_SIGBUS]:\"SIGBUS\",[exports.WASI_SIGFPE]:\"SIGFPE\",[exports.WASI_SIGKILL]:\"SIGKILL\",[exports.WASI_SIGUSR1]:\"SIGUSR1\",[exports.WASI_SIGSEGV]:\"SIGSEGV\",[exports.WASI_SIGUSR2]:\"SIGUSR2\",[exports.WASI_SIGPIPE]:\"SIGPIPE\",[exports.WASI_SIGALRM]:\"SIGALRM\",[exports.WASI_SIGTERM]:\"SIGTERM\",[exports.WASI_SIGCHLD]:\"SIGCHLD\",[exports.WASI_SIGCONT]:\"SIGCONT\",[exports.WASI_SIGSTOP]:\"SIGSTOP\",[exports.WASI_SIGTSTP]:\"SIGTSTP\",[exports.WASI_SIGTTIN]:\"SIGTTIN\",[exports.WASI_SIGTTOU]:\"SIGTTOU\",[exports.WASI_SIGURG]:\"SIGURG\",[exports.WASI_SIGXCPU]:\"SIGXCPU\",[exports.WASI_SIGXFSZ]:\"SIGXFSZ\",[exports.WASI_SIGVTALRM]:\"SIGVTALRM\"}}}),require_wasi=__commonJS({\"node_modules/wasi-js/dist/wasi.js\"(exports){var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule\?mod:{default:mod}};let fs;Object.defineProperty(exports,\"__esModule\",{value:!0}),exports.SOCKET_DEFAULT_RIGHTS=void 0;var log=()=>{},logOpen=()=>{},SC_OPEN_MAX=32768,types_1=require_types(),constants_1=require_constants(),STDIN_DEFAULT_RIGHTS=constants_1.WASI_RIGHT_FD_DATASYNC|constants_1.WASI_RIGHT_FD_READ|constants_1.WASI_RIGHT_FD_SYNC|constants_1.WASI_RIGHT_FD_ADVISE|constants_1.WASI_RIGHT_FD_FILESTAT_GET|constants_1.WASI_RIGHT_POLL_FD_READWRITE,STDOUT_DEFAULT_RIGHTS=constants_1.WASI_RIGHT_FD_DATASYNC|constants_1.WASI_RIGHT_FD_WRITE|constants_1.WASI_RIGHT_FD_SYNC|constants_1.WASI_RIGHT_FD_ADVISE|constants_1.WASI_RIGHT_FD_FILESTAT_GET|constants_1.WASI_RIGHT_POLL_FD_READWRITE,STDERR_DEFAULT_RIGHTS=STDOUT_DEFAULT_RIGHTS;exports.SOCKET_DEFAULT_RIGHTS=constants_1.WASI_RIGHT_FD_DATASYNC|constants_1.WASI_RIGHT_FD_READ|constants_1.WASI_RIGHT_FD_WRITE|constants_1.WASI_RIGHT_FD_ADVISE|constants_1.WASI_RIGHT_FD_FILESTAT_GET|constants_1.WASI_RIGHT_POLL_FD_READWRITE|constants_1.WASI_RIGHT_FD_FDSTAT_SET_FLAGS;var msToNs=(ms)=>{const msInt=Math.trunc(ms),decimal=BigInt(Math.round((ms-msInt)*1e6));return BigInt(msInt)*BigInt(1e6)+decimal},nsToMs=(ns)=>{if(typeof ns===\"number\")ns=Math.trunc(ns);const nsInt=BigInt(ns);return Number(nsInt/BigInt(1e6))},wrap=(f)=>(...args)=>{try{return f(...args)}catch(err){let e=err;while(e.prev!=null)e=e.prev;if(e\?.code&&typeof e\?.code===\"string\")return constants_1.ERROR_MAP[e.code]||constants_1.WASI_EINVAL;if(e instanceof types_1.WASIError)return e.errno;throw e}},stat=(wasi,fd)=>{const entry=wasi.FD_MAP.get(fd);if(!entry)throw new types_1.WASIError(constants_1.WASI_EBADF);if(entry.filetype===void 0){const stats=wasi.fstatSync(entry.real),{filetype,rightsBase,rightsInheriting}=translateFileAttributes(wasi,fd,stats);if(entry.filetype=filetype,!entry.rights)entry.rights={base:rightsBase,inheriting:rightsInheriting}}return entry},translateFileAttributes=(wasi,fd,stats)=>{switch(!0){case stats.isBlockDevice():return{filetype:constants_1.WASI_FILETYPE_BLOCK_DEVICE,rightsBase:constants_1.RIGHTS_BLOCK_DEVICE_BASE,rightsInheriting:constants_1.RIGHTS_BLOCK_DEVICE_INHERITING};case stats.isCharacterDevice():{const filetype=constants_1.WASI_FILETYPE_CHARACTER_DEVICE;if(fd!==void 0&&wasi.bindings.isTTY(fd))return{filetype,rightsBase:constants_1.RIGHTS_TTY_BASE,rightsInheriting:constants_1.RIGHTS_TTY_INHERITING};return{filetype,rightsBase:constants_1.RIGHTS_CHARACTER_DEVICE_BASE,rightsInheriting:constants_1.RIGHTS_CHARACTER_DEVICE_INHERITING}}case stats.isDirectory():return{filetype:constants_1.WASI_FILETYPE_DIRECTORY,rightsBase:constants_1.RIGHTS_DIRECTORY_BASE,rightsInheriting:constants_1.RIGHTS_DIRECTORY_INHERITING};case stats.isFIFO():return{filetype:constants_1.WASI_FILETYPE_SOCKET_STREAM,rightsBase:constants_1.RIGHTS_SOCKET_BASE,rightsInheriting:constants_1.RIGHTS_SOCKET_INHERITING};case stats.isFile():return{filetype:constants_1.WASI_FILETYPE_REGULAR_FILE,rightsBase:constants_1.RIGHTS_REGULAR_FILE_BASE,rightsInheriting:constants_1.RIGHTS_REGULAR_FILE_INHERITING};case stats.isSocket():return{filetype:constants_1.WASI_FILETYPE_SOCKET_STREAM,rightsBase:constants_1.RIGHTS_SOCKET_BASE,rightsInheriting:constants_1.RIGHTS_SOCKET_INHERITING};case stats.isSymbolicLink():return{filetype:constants_1.WASI_FILETYPE_SYMBOLIC_LINK,rightsBase:BigInt(0),rightsInheriting:BigInt(0)};default:return{filetype:constants_1.WASI_FILETYPE_UNKNOWN,rightsBase:BigInt(0),rightsInheriting:BigInt(0)}}},warnedAboutSleep=!1,defaultConfig;function getDefaults(){if(defaultConfig)return defaultConfig;const defaultBindings={hrtime:()=>process.hrtime.bigint(),exit:(code)=>{process.exit(code)},kill:(signal)=>{process.kill(process.pid,signal)},randomFillSync:(array)=>crypto.getRandomValues(array),isTTY:(fd)=>@requireBuiltin(54).isatty(fd),fs:Bun.fs(),path:@requireId(23)};return defaultConfig={args:[],env:{},preopens:{},bindings:defaultBindings,sleep:(ms)=>{Bun.sleepSync(ms)}}}var WASI=class WASI2{constructor(wasiConfig={}){const defaultConfig2=getDefaults();this.lastStdin=0,this.sleep=wasiConfig.sleep||defaultConfig2.sleep,this.getStdin=wasiConfig.getStdin,this.sendStdout=wasiConfig.sendStdout,this.sendStderr=wasiConfig.sendStderr;let preopens=wasiConfig.preopens\?\?defaultConfig2.preopens;this.env=wasiConfig.env\?\?defaultConfig2.env;const args=wasiConfig.args\?\?defaultConfig2.args;this.memory=void 0,this.view=void 0,this.bindings=wasiConfig.bindings||defaultConfig2.bindings;const bindings2=this.bindings;fs=bindings2.fs,this.FD_MAP=new Map([[constants_1.WASI_STDIN_FILENO,{real:0,filetype:constants_1.WASI_FILETYPE_CHARACTER_DEVICE,rights:{base:STDIN_DEFAULT_RIGHTS,inheriting:BigInt(0)},path:\"/dev/stdin\"}],[constants_1.WASI_STDOUT_FILENO,{real:1,filetype:constants_1.WASI_FILETYPE_CHARACTER_DEVICE,rights:{base:STDOUT_DEFAULT_RIGHTS,inheriting:BigInt(0)},path:\"/dev/stdout\"}],[constants_1.WASI_STDERR_FILENO,{real:2,filetype:constants_1.WASI_FILETYPE_CHARACTER_DEVICE,rights:{base:STDERR_DEFAULT_RIGHTS,inheriting:BigInt(0)},path:\"/dev/stderr\"}]]);const path=bindings2.path;for(let[k,v]of Object.entries(preopens)){const real=fs.openSync(v,nodeFsConstants.O_RDONLY),newfd=this.getUnusedFileDescriptor();this.FD_MAP.set(newfd,{real,filetype:constants_1.WASI_FILETYPE_DIRECTORY,rights:{base:constants_1.RIGHTS_DIRECTORY_BASE,inheriting:constants_1.RIGHTS_DIRECTORY_INHERITING},fakePath:k,path:v})}const getiovs=(iovs,iovsLen)=>{this.refreshMemory();const{view,memory}=this,{buffer}=memory,{byteLength}=buffer;if(iovsLen===1){const ptr=iovs,buf=view.getUint32(ptr,!0);let bufLen=view.getUint32(ptr+4,!0);if(bufLen>byteLength-buf)console.log({buf,bufLen,total_memory:byteLength}),log(\"getiovs: warning -- truncating buffer to fit in memory\"),bufLen=Math.min(bufLen,Math.max(0,byteLength-buf));try{return[new Uint8Array(buffer,buf,bufLen)]}catch(err){throw console.warn(\"WASI.getiovs -- invalid buffer\",err),new types_1.WASIError(constants_1.WASI_EINVAL)}}const buffers=[];buffers.length=iovsLen;for(let i=0,ptr=iovs;ibyteLength-buf)console.log({buf,bufLen,total_memory:byteLength}),log(\"getiovs: warning -- truncating buffer to fit in memory\"),bufLen=Math.min(bufLen,Math.max(0,byteLength-buf));try{buffers[i]=new Uint8Array(buffer,buf,bufLen)}catch(err){throw console.warn(\"WASI.getiovs -- invalid buffer\",err),new types_1.WASIError(constants_1.WASI_EINVAL)}}return buffers},CHECK_FD=(fd,rights)=>{const stats=stat(this,fd);if(rights!==BigInt(0)&&(stats.rights.base&rights)===BigInt(0))throw new types_1.WASIError(constants_1.WASI_EPERM);return stats},CPUTIME_START=Bun.nanoseconds(),timeOrigin=Math.trunc(performance.timeOrigin*1e6),now=(clockId)=>{switch(clockId){case constants_1.WASI_CLOCK_MONOTONIC:return Bun.nanoseconds();case constants_1.WASI_CLOCK_REALTIME:return Bun.nanoseconds()+timeOrigin;case constants_1.WASI_CLOCK_PROCESS_CPUTIME_ID:case constants_1.WASI_CLOCK_THREAD_CPUTIME_ID:return Bun.nanoseconds()-CPUTIME_START;default:return null}};if(this.wasiImport={args_get:(argv,argvBuf)=>{this.refreshMemory();let coffset=argv,offset=argvBuf;return args.forEach((a)=>{this.view.setUint32(coffset,offset,!0),coffset+=4,offset+=Buffer.from(this.memory.buffer).write(`${a}\\0`,offset)}),constants_1.WASI_ESUCCESS},args_sizes_get:(argc,argvBufSize)=>{this.refreshMemory(),this.view.setUint32(argc,args.length,!0);const size=args.reduce((acc,a)=>acc+Buffer.byteLength(a)+1,0);return this.view.setUint32(argvBufSize,size,!0),constants_1.WASI_ESUCCESS},environ_get:(environ,environBuf)=>{this.refreshMemory();let coffset=environ,offset=environBuf;return Object.entries(this.env).forEach(([key,value])=>{this.view.setUint32(coffset,offset,!0),coffset+=4,offset+=Buffer.from(this.memory.buffer).write(`${key}=${value}\\0`,offset)}),constants_1.WASI_ESUCCESS},environ_sizes_get:(environCount,environBufSize)=>{this.refreshMemory();const envProcessed=Object.entries(this.env).map(([key,value])=>`${key}=${value}\\0`),size=envProcessed.reduce((acc,e)=>acc+Buffer.byteLength(e),0);return this.view.setUint32(environCount,envProcessed.length,!0),this.view.setUint32(environBufSize,size,!0),constants_1.WASI_ESUCCESS},clock_res_get:(clockId,resolution)=>{let res;switch(clockId){case constants_1.WASI_CLOCK_MONOTONIC:case constants_1.WASI_CLOCK_PROCESS_CPUTIME_ID:case constants_1.WASI_CLOCK_THREAD_CPUTIME_ID:{res=BigInt(1);break}case constants_1.WASI_CLOCK_REALTIME:{res=BigInt(1000);break}}if(!res)throw Error(\"invalid clockId\");return this.view.setBigUint64(resolution,res),constants_1.WASI_ESUCCESS},clock_time_get:(clockId,_precision,time)=>{this.refreshMemory();const n=now(clockId);if(n===null)return constants_1.WASI_EINVAL;return this.view.setBigUint64(time,BigInt(n),!0),constants_1.WASI_ESUCCESS},fd_advise:wrap((fd,_offset,_len,_advice)=>{return CHECK_FD(fd,constants_1.WASI_RIGHT_FD_ADVISE),constants_1.WASI_ENOSYS}),fd_allocate:wrap((fd,_offset,_len)=>{return CHECK_FD(fd,constants_1.WASI_RIGHT_FD_ALLOCATE),constants_1.WASI_ENOSYS}),fd_close:wrap((fd)=>{const stats=CHECK_FD(fd,BigInt(0));return fs.closeSync(stats.real),this.FD_MAP.delete(fd),constants_1.WASI_ESUCCESS}),fd_datasync:wrap((fd)=>{const stats=CHECK_FD(fd,constants_1.WASI_RIGHT_FD_DATASYNC);return fs.fdatasyncSync(stats.real),constants_1.WASI_ESUCCESS}),fd_fdstat_get:wrap((fd,bufPtr)=>{const stats=CHECK_FD(fd,BigInt(0));if(this.refreshMemory(),stats.filetype==null)throw Error(\"stats.filetype must be set\");return this.view.setUint8(bufPtr,stats.filetype),this.view.setUint16(bufPtr+2,0,!0),this.view.setUint16(bufPtr+4,0,!0),this.view.setBigUint64(bufPtr+8,BigInt(stats.rights.base),!0),this.view.setBigUint64(bufPtr+8+8,BigInt(stats.rights.inheriting),!0),constants_1.WASI_ESUCCESS}),fd_fdstat_set_flags:wrap((fd,flags)=>{if(CHECK_FD(fd,constants_1.WASI_RIGHT_FD_FDSTAT_SET_FLAGS),this.wasiImport.sock_fcntlSetFlags(fd,flags)==0)return constants_1.WASI_ESUCCESS;return constants_1.WASI_ENOSYS}),fd_fdstat_set_rights:wrap((fd,fsRightsBase,fsRightsInheriting)=>{const stats=CHECK_FD(fd,BigInt(0));if((stats.rights.base|fsRightsBase)>stats.rights.base)return constants_1.WASI_EPERM;if((stats.rights.inheriting|fsRightsInheriting)>stats.rights.inheriting)return constants_1.WASI_EPERM;return stats.rights.base=fsRightsBase,stats.rights.inheriting=fsRightsInheriting,constants_1.WASI_ESUCCESS}),fd_filestat_get:wrap((fd,bufPtr)=>{const stats=CHECK_FD(fd,constants_1.WASI_RIGHT_FD_FILESTAT_GET),rstats=this.fstatSync(stats.real);if(this.refreshMemory(),this.view.setBigUint64(bufPtr,BigInt(rstats.dev),!0),bufPtr+=8,this.view.setBigUint64(bufPtr,BigInt(rstats.ino),!0),bufPtr+=8,stats.filetype==null)throw Error(\"stats.filetype must be set\");return this.view.setUint8(bufPtr,stats.filetype),bufPtr+=8,this.view.setBigUint64(bufPtr,BigInt(rstats.nlink),!0),bufPtr+=8,this.view.setBigUint64(bufPtr,BigInt(rstats.size),!0),bufPtr+=8,this.view.setBigUint64(bufPtr,msToNs(rstats.atimeMs),!0),bufPtr+=8,this.view.setBigUint64(bufPtr,msToNs(rstats.mtimeMs),!0),bufPtr+=8,this.view.setBigUint64(bufPtr,msToNs(rstats.ctimeMs),!0),constants_1.WASI_ESUCCESS}),fd_filestat_set_size:wrap((fd,stSize)=>{const stats=CHECK_FD(fd,constants_1.WASI_RIGHT_FD_FILESTAT_SET_SIZE);return fs.ftruncateSync(stats.real,Number(stSize)),constants_1.WASI_ESUCCESS}),fd_filestat_set_times:wrap((fd,stAtim,stMtim,fstflags)=>{const stats=CHECK_FD(fd,constants_1.WASI_RIGHT_FD_FILESTAT_SET_TIMES),rstats=this.fstatSync(stats.real);let{atime:atim,mtime:mtim}=rstats;const n=nsToMs(now(constants_1.WASI_CLOCK_REALTIME)),atimflags=constants_1.WASI_FILESTAT_SET_ATIM|constants_1.WASI_FILESTAT_SET_ATIM_NOW;if((fstflags&atimflags)===atimflags)return constants_1.WASI_EINVAL;const mtimflags=constants_1.WASI_FILESTAT_SET_MTIM|constants_1.WASI_FILESTAT_SET_MTIM_NOW;if((fstflags&mtimflags)===mtimflags)return constants_1.WASI_EINVAL;if((fstflags&constants_1.WASI_FILESTAT_SET_ATIM)===constants_1.WASI_FILESTAT_SET_ATIM)atim=nsToMs(stAtim);else if((fstflags&constants_1.WASI_FILESTAT_SET_ATIM_NOW)===constants_1.WASI_FILESTAT_SET_ATIM_NOW)atim=n;if((fstflags&constants_1.WASI_FILESTAT_SET_MTIM)===constants_1.WASI_FILESTAT_SET_MTIM)mtim=nsToMs(stMtim);else if((fstflags&constants_1.WASI_FILESTAT_SET_MTIM_NOW)===constants_1.WASI_FILESTAT_SET_MTIM_NOW)mtim=n;return fs.futimesSync(stats.real,new Date(atim),new Date(mtim)),constants_1.WASI_ESUCCESS}),fd_prestat_get:wrap((fd,bufPtr)=>{const stats=CHECK_FD(fd,BigInt(0));return this.refreshMemory(),this.view.setUint8(bufPtr,constants_1.WASI_PREOPENTYPE_DIR),this.view.setUint32(bufPtr+4,Buffer.byteLength(stats.fakePath\?\?stats.path\?\?\"\"),!0),constants_1.WASI_ESUCCESS}),fd_prestat_dir_name:wrap((fd,pathPtr,pathLen)=>{const stats=CHECK_FD(fd,BigInt(0));return this.refreshMemory(),Buffer.from(this.memory.buffer).write(stats.fakePath\?\?stats.path\?\?\"\",pathPtr,pathLen,\"utf8\"),constants_1.WASI_ESUCCESS}),fd_pwrite:wrap((fd,iovs,iovsLen,offset,nwritten)=>{const stats=CHECK_FD(fd,constants_1.WASI_RIGHT_FD_WRITE|constants_1.WASI_RIGHT_FD_SEEK);let written=0;return getiovs(iovs,iovsLen).forEach((iov)=>{let w=0;while(w{const stats=CHECK_FD(fd,constants_1.WASI_RIGHT_FD_WRITE),IS_STDOUT=fd==constants_1.WASI_STDOUT_FILENO,IS_STDERR=fd==constants_1.WASI_STDERR_FILENO;let written=0;return getiovs(iovs,iovsLen).forEach((iov)=>{if(iov.byteLength==0)return;if(IS_STDOUT&&this.sendStdout!=null)this.sendStdout(iov),written+=iov.byteLength;else if(IS_STDERR&&this.sendStderr!=null)this.sendStderr(iov),written+=iov.byteLength;else{let w=0;while(w{const stats=CHECK_FD(fd,constants_1.WASI_RIGHT_FD_READ|constants_1.WASI_RIGHT_FD_SEEK);let read=0;outer:for(let iov of getiovs(iovs,iovsLen)){let r=0;while(r{const stats=CHECK_FD(fd,constants_1.WASI_RIGHT_FD_READ),IS_STDIN=fd==constants_1.WASI_STDIN_FILENO;let read=0;outer:for(let iov of getiovs(iovs,iovsLen)){let r=0;while(r0)this.lastStdin=(new Date()).valueOf()}}else{if(this.sleep==null&&!warnedAboutSleep)warnedAboutSleep=!0,console.log(\"(cpu waiting for stdin: please define a way to sleep!) \");try{rr=fs.readSync(stats.real,iov,r,length,position)}catch(_err){}if(rr==0)this.shortPause();else this.lastStdin=(new Date()).valueOf()}else rr=fs.readSync(stats.real,iov,r,length,position);if(stats.filetype==constants_1.WASI_FILETYPE_REGULAR_FILE)stats.offset=(stats.offset\?stats.offset:BigInt(0))+BigInt(rr);if(r+=rr,read+=rr,rr===0||rr{const stats=CHECK_FD(fd,constants_1.WASI_RIGHT_FD_READDIR);this.refreshMemory();const entries=fs.readdirSync(stats.path,{withFileTypes:!0}),startPtr=bufPtr;for(let i=Number(cookie);ibufLen)break;if(this.view.setBigUint64(bufPtr,BigInt(i+1),!0),bufPtr+=8,bufPtr-startPtr>bufLen)break;const rstats=fs.lstatSync(path.resolve(stats.path,entry.name));if(this.view.setBigUint64(bufPtr,BigInt(rstats.ino),!0),bufPtr+=8,bufPtr-startPtr>bufLen)break;if(this.view.setUint32(bufPtr,nameLength,!0),bufPtr+=4,bufPtr-startPtr>bufLen)break;let filetype;switch(!0){case rstats.isBlockDevice():filetype=constants_1.WASI_FILETYPE_BLOCK_DEVICE;break;case rstats.isCharacterDevice():filetype=constants_1.WASI_FILETYPE_CHARACTER_DEVICE;break;case rstats.isDirectory():filetype=constants_1.WASI_FILETYPE_DIRECTORY;break;case rstats.isFIFO():filetype=constants_1.WASI_FILETYPE_SOCKET_STREAM;break;case rstats.isFile():filetype=constants_1.WASI_FILETYPE_REGULAR_FILE;break;case rstats.isSocket():filetype=constants_1.WASI_FILETYPE_SOCKET_STREAM;break;case rstats.isSymbolicLink():filetype=constants_1.WASI_FILETYPE_SYMBOLIC_LINK;break;default:filetype=constants_1.WASI_FILETYPE_UNKNOWN;break}if(this.view.setUint8(bufPtr,filetype),bufPtr+=1,bufPtr+=3,bufPtr+nameLength>=startPtr+bufLen)break;Buffer.from(this.memory.buffer).write(entry.name,bufPtr),bufPtr+=nameLength}const bufused=bufPtr-startPtr;return this.view.setUint32(bufusedPtr,Math.min(bufused,bufLen),!0),constants_1.WASI_ESUCCESS}),fd_renumber:wrap((from,to)=>{return CHECK_FD(from,BigInt(0)),CHECK_FD(to,BigInt(0)),fs.closeSync(this.FD_MAP.get(from).real),this.FD_MAP.set(from,this.FD_MAP.get(to)),this.FD_MAP.delete(to),constants_1.WASI_ESUCCESS}),fd_seek:wrap((fd,offset,whence,newOffsetPtr)=>{const stats=CHECK_FD(fd,constants_1.WASI_RIGHT_FD_SEEK);switch(this.refreshMemory(),whence){case constants_1.WASI_WHENCE_CUR:stats.offset=(stats.offset\?stats.offset:BigInt(0))+BigInt(offset);break;case constants_1.WASI_WHENCE_END:const{size}=this.fstatSync(stats.real);stats.offset=BigInt(size)+BigInt(offset);break;case constants_1.WASI_WHENCE_SET:stats.offset=BigInt(offset);break}if(stats.offset==null)throw Error(\"stats.offset must be defined\");return this.view.setBigUint64(newOffsetPtr,stats.offset,!0),constants_1.WASI_ESUCCESS}),fd_tell:wrap((fd,offsetPtr)=>{const stats=CHECK_FD(fd,constants_1.WASI_RIGHT_FD_TELL);if(this.refreshMemory(),!stats.offset)stats.offset=BigInt(0);return this.view.setBigUint64(offsetPtr,stats.offset,!0),constants_1.WASI_ESUCCESS}),fd_sync:wrap((fd)=>{const stats=CHECK_FD(fd,constants_1.WASI_RIGHT_FD_SYNC);return fs.fsyncSync(stats.real),constants_1.WASI_ESUCCESS}),path_create_directory:wrap((fd,pathPtr,pathLen)=>{const stats=CHECK_FD(fd,constants_1.WASI_RIGHT_PATH_CREATE_DIRECTORY);if(!stats.path)return constants_1.WASI_EINVAL;this.refreshMemory();const p=Buffer.from(this.memory.buffer,pathPtr,pathLen).toString();return fs.mkdirSync(path.resolve(stats.path,p)),constants_1.WASI_ESUCCESS}),path_filestat_get:wrap((fd,flags,pathPtr,pathLen,bufPtr)=>{const stats=CHECK_FD(fd,constants_1.WASI_RIGHT_PATH_FILESTAT_GET);if(!stats.path)return constants_1.WASI_EINVAL;this.refreshMemory();const p=Buffer.from(this.memory.buffer,pathPtr,pathLen).toString();let rstats;if(flags)rstats=fs.statSync(path.resolve(stats.path,p));else rstats=fs.lstatSync(path.resolve(stats.path,p));return this.view.setBigUint64(bufPtr,BigInt(rstats.dev),!0),bufPtr+=8,this.view.setBigUint64(bufPtr,BigInt(rstats.ino),!0),bufPtr+=8,this.view.setUint8(bufPtr,translateFileAttributes(this,void 0,rstats).filetype),bufPtr+=8,this.view.setBigUint64(bufPtr,BigInt(rstats.nlink),!0),bufPtr+=8,this.view.setBigUint64(bufPtr,BigInt(rstats.size),!0),bufPtr+=8,this.view.setBigUint64(bufPtr,BigInt(rstats.atime.getTime()*1e6),!0),bufPtr+=8,this.view.setBigUint64(bufPtr,BigInt(rstats.mtime.getTime()*1e6),!0),bufPtr+=8,this.view.setBigUint64(bufPtr,BigInt(rstats.ctime.getTime()*1e6),!0),constants_1.WASI_ESUCCESS}),path_filestat_set_times:wrap((fd,_dirflags,pathPtr,pathLen,stAtim,stMtim,fstflags)=>{const stats=CHECK_FD(fd,constants_1.WASI_RIGHT_PATH_FILESTAT_SET_TIMES);if(!stats.path)return constants_1.WASI_EINVAL;this.refreshMemory();const rstats=this.fstatSync(stats.real);let{atime:atim,mtime:mtim}=rstats;const n=nsToMs(now(constants_1.WASI_CLOCK_REALTIME)),atimflags=constants_1.WASI_FILESTAT_SET_ATIM|constants_1.WASI_FILESTAT_SET_ATIM_NOW;if((fstflags&atimflags)===atimflags)return constants_1.WASI_EINVAL;const mtimflags=constants_1.WASI_FILESTAT_SET_MTIM|constants_1.WASI_FILESTAT_SET_MTIM_NOW;if((fstflags&mtimflags)===mtimflags)return constants_1.WASI_EINVAL;if((fstflags&constants_1.WASI_FILESTAT_SET_ATIM)===constants_1.WASI_FILESTAT_SET_ATIM)atim=nsToMs(stAtim);else if((fstflags&constants_1.WASI_FILESTAT_SET_ATIM_NOW)===constants_1.WASI_FILESTAT_SET_ATIM_NOW)atim=n;if((fstflags&constants_1.WASI_FILESTAT_SET_MTIM)===constants_1.WASI_FILESTAT_SET_MTIM)mtim=nsToMs(stMtim);else if((fstflags&constants_1.WASI_FILESTAT_SET_MTIM_NOW)===constants_1.WASI_FILESTAT_SET_MTIM_NOW)mtim=n;const p=Buffer.from(this.memory.buffer,pathPtr,pathLen).toString();return fs.utimesSync(path.resolve(stats.path,p),new Date(atim),new Date(mtim)),constants_1.WASI_ESUCCESS}),path_link:wrap((oldFd,_oldFlags,oldPath,oldPathLen,newFd,newPath,newPathLen)=>{const ostats=CHECK_FD(oldFd,constants_1.WASI_RIGHT_PATH_LINK_SOURCE),nstats=CHECK_FD(newFd,constants_1.WASI_RIGHT_PATH_LINK_TARGET);if(!ostats.path||!nstats.path)return constants_1.WASI_EINVAL;this.refreshMemory();const op=Buffer.from(this.memory.buffer,oldPath,oldPathLen).toString(),np=Buffer.from(this.memory.buffer,newPath,newPathLen).toString();return fs.linkSync(path.resolve(ostats.path,op),path.resolve(nstats.path,np)),constants_1.WASI_ESUCCESS}),path_open:wrap((dirfd,_dirflags,pathPtr,pathLen,oflags,fsRightsBase,fsRightsInheriting,fsFlags,fdPtr)=>{try{const stats=CHECK_FD(dirfd,constants_1.WASI_RIGHT_PATH_OPEN);fsRightsBase=BigInt(fsRightsBase),fsRightsInheriting=BigInt(fsRightsInheriting);const read=(fsRightsBase&(constants_1.WASI_RIGHT_FD_READ|constants_1.WASI_RIGHT_FD_READDIR))!==BigInt(0),write=(fsRightsBase&(constants_1.WASI_RIGHT_FD_DATASYNC|constants_1.WASI_RIGHT_FD_WRITE|constants_1.WASI_RIGHT_FD_ALLOCATE|constants_1.WASI_RIGHT_FD_FILESTAT_SET_SIZE))!==BigInt(0);let noflags;if(write&&read)noflags=nodeFsConstants.O_RDWR;else if(read)noflags=nodeFsConstants.O_RDONLY;else if(write)noflags=nodeFsConstants.O_WRONLY;let neededBase=fsRightsBase|constants_1.WASI_RIGHT_PATH_OPEN,neededInheriting=fsRightsBase|fsRightsInheriting;if((oflags&constants_1.WASI_O_CREAT)!==0)noflags|=nodeFsConstants.O_CREAT,neededBase|=constants_1.WASI_RIGHT_PATH_CREATE_FILE;if((oflags&constants_1.WASI_O_DIRECTORY)!==0)noflags|=nodeFsConstants.O_DIRECTORY;if((oflags&constants_1.WASI_O_EXCL)!==0)noflags|=nodeFsConstants.O_EXCL;if((oflags&constants_1.WASI_O_TRUNC)!==0)noflags|=nodeFsConstants.O_TRUNC,neededBase|=constants_1.WASI_RIGHT_PATH_FILESTAT_SET_SIZE;if((fsFlags&constants_1.WASI_FDFLAG_APPEND)!==0)noflags|=nodeFsConstants.O_APPEND;if((fsFlags&constants_1.WASI_FDFLAG_DSYNC)!==0){if(nodeFsConstants.O_DSYNC)noflags|=nodeFsConstants.O_DSYNC;else noflags|=nodeFsConstants.O_SYNC;neededInheriting|=constants_1.WASI_RIGHT_FD_DATASYNC}if((fsFlags&constants_1.WASI_FDFLAG_NONBLOCK)!==0)noflags|=nodeFsConstants.O_NONBLOCK;if((fsFlags&constants_1.WASI_FDFLAG_RSYNC)!==0){if(nodeFsConstants.O_RSYNC)noflags|=nodeFsConstants.O_RSYNC;else noflags|=nodeFsConstants.O_SYNC;neededInheriting|=constants_1.WASI_RIGHT_FD_SYNC}if((fsFlags&constants_1.WASI_FDFLAG_SYNC)!==0)noflags|=nodeFsConstants.O_SYNC,neededInheriting|=constants_1.WASI_RIGHT_FD_SYNC;if(write&&(noflags&(nodeFsConstants.O_APPEND|nodeFsConstants.O_TRUNC))===0)neededInheriting|=constants_1.WASI_RIGHT_FD_SEEK;this.refreshMemory();const p=Buffer.from(this.memory.buffer,pathPtr,pathLen).toString();if(p==\"dev/tty\")return this.view.setUint32(fdPtr,constants_1.WASI_STDIN_FILENO,!0),constants_1.WASI_ESUCCESS;if(logOpen(\"path_open\",p),p.startsWith(\"proc/\"))throw new types_1.WASIError(constants_1.WASI_EBADF);const fullUnresolved=path.resolve(p);let full;try{full=fs.realpathSync(fullUnresolved)}catch(e){if(e\?.code===\"ENOENT\")full=fullUnresolved;else throw e}let isDirectory;if(write)try{isDirectory=fs.statSync(full).isDirectory()}catch(_err){}let realfd;if(!write&&isDirectory)realfd=fs.openSync(full,nodeFsConstants.O_RDONLY);else realfd=fs.openSync(full,noflags);const newfd=this.getUnusedFileDescriptor();this.FD_MAP.set(newfd,{real:realfd,filetype:void 0,rights:{base:neededBase,inheriting:neededInheriting},path:full}),stat(this,newfd),this.view.setUint32(fdPtr,newfd,!0)}catch(e){console.error(e)}return constants_1.WASI_ESUCCESS}),path_readlink:wrap((fd,pathPtr,pathLen,buf,bufLen,bufused)=>{const stats=CHECK_FD(fd,constants_1.WASI_RIGHT_PATH_READLINK);if(!stats.path)return constants_1.WASI_EINVAL;this.refreshMemory();const p=Buffer.from(this.memory.buffer,pathPtr,pathLen).toString(),full=path.resolve(stats.path,p),r=fs.readlinkSync(full),used=Buffer.from(this.memory.buffer).write(r,buf,bufLen);return this.view.setUint32(bufused,used,!0),constants_1.WASI_ESUCCESS}),path_remove_directory:wrap((fd,pathPtr,pathLen)=>{const stats=CHECK_FD(fd,constants_1.WASI_RIGHT_PATH_REMOVE_DIRECTORY);if(!stats.path)return constants_1.WASI_EINVAL;this.refreshMemory();const p=Buffer.from(this.memory.buffer,pathPtr,pathLen).toString();return fs.rmdirSync(path.resolve(stats.path,p)),constants_1.WASI_ESUCCESS}),path_rename:wrap((oldFd,oldPath,oldPathLen,newFd,newPath,newPathLen)=>{const ostats=CHECK_FD(oldFd,constants_1.WASI_RIGHT_PATH_RENAME_SOURCE),nstats=CHECK_FD(newFd,constants_1.WASI_RIGHT_PATH_RENAME_TARGET);if(!ostats.path||!nstats.path)return constants_1.WASI_EINVAL;this.refreshMemory();const op=Buffer.from(this.memory.buffer,oldPath,oldPathLen).toString(),np=Buffer.from(this.memory.buffer,newPath,newPathLen).toString();return fs.renameSync(path.resolve(ostats.path,op),path.resolve(nstats.path,np)),constants_1.WASI_ESUCCESS}),path_symlink:wrap((oldPath,oldPathLen,fd,newPath,newPathLen)=>{const stats=CHECK_FD(fd,constants_1.WASI_RIGHT_PATH_SYMLINK);if(!stats.path)return constants_1.WASI_EINVAL;this.refreshMemory();const op=Buffer.from(this.memory.buffer,oldPath,oldPathLen).toString(),np=Buffer.from(this.memory.buffer,newPath,newPathLen).toString();return fs.symlinkSync(op,path.resolve(stats.path,np)),constants_1.WASI_ESUCCESS}),path_unlink_file:wrap((fd,pathPtr,pathLen)=>{const stats=CHECK_FD(fd,constants_1.WASI_RIGHT_PATH_UNLINK_FILE);if(!stats.path)return constants_1.WASI_EINVAL;this.refreshMemory();const p=Buffer.from(this.memory.buffer,pathPtr,pathLen).toString();return fs.unlinkSync(path.resolve(stats.path,p)),constants_1.WASI_ESUCCESS}),poll_oneoff:(sin,sout,nsubscriptions,neventsPtr)=>{let nevents=0,name=\"\",waitTimeNs=BigInt(0),fd=-1,fd_type=\"read\",fd_timeout_ms=0;const startNs=BigInt(bindings2.hrtime());this.refreshMemory();let last_sin=sin;for(let i=0;iwaitTimeNs)waitTimeNs=waitNs}this.view.setBigUint64(sout,userdata,!0),sout+=8,this.view.setUint16(sout,e,!0),sout+=2,this.view.setUint8(sout,constants_1.WASI_EVENTTYPE_CLOCK),sout+=1,sout+=5,nevents+=1;break}case constants_1.WASI_EVENTTYPE_FD_READ:case constants_1.WASI_EVENTTYPE_FD_WRITE:{if(fd=this.view.getUint32(sin,!0),fd_type=type==constants_1.WASI_EVENTTYPE_FD_READ\?\"read\":\"write\",sin+=4,log(name,\"fd =\",fd),sin+=28,this.view.setBigUint64(sout,userdata,!0),sout+=8,this.view.setUint16(sout,constants_1.WASI_ENOSYS,!0),sout+=2,this.view.setUint8(sout,type),sout+=1,sout+=5,nevents+=1,fd==constants_1.WASI_STDIN_FILENO&&constants_1.WASI_EVENTTYPE_FD_READ==type)this.shortPause();break}default:return constants_1.WASI_EINVAL}if(sin-last_sin!=48)console.warn(\"*** BUG in wasi-js in poll_oneoff \",{i,sin,last_sin,diff:sin-last_sin});last_sin=sin}if(this.view.setUint32(neventsPtr,nevents,!0),nevents==2&&fd>=0){const r=this.wasiImport.sock_pollSocket(fd,fd_type,fd_timeout_ms);if(r!=constants_1.WASI_ENOSYS)return r}if(waitTimeNs>0){if(waitTimeNs-=Bun.nanoseconds()-timeOrigin,waitTimeNs>=1e6){if(this.sleep==null&&!warnedAboutSleep)warnedAboutSleep=!0,console.log(\"(100% cpu burning waiting for stdin: please define a way to sleep!) \");if(this.sleep!=null){const ms=nsToMs(waitTimeNs);this.sleep(ms)}else{const end=BigInt(bindings2.hrtime())+waitTimeNs;while(BigInt(bindings2.hrtime()){return bindings2.exit(rval),constants_1.WASI_ESUCCESS},proc_raise:(sig)=>{if(!(sig in constants_1.SIGNAL_MAP))return constants_1.WASI_EINVAL;return bindings2.kill(constants_1.SIGNAL_MAP[sig]),constants_1.WASI_ESUCCESS},random_get:(bufPtr,bufLen)=>{return this.refreshMemory(),crypto.getRandomValues(this.memory.buffer,bufPtr,bufLen),bufLen},sched_yield(){return constants_1.WASI_ESUCCESS},sock_recv(){return constants_1.WASI_ENOSYS},sock_send(){return constants_1.WASI_ENOSYS},sock_shutdown(){return constants_1.WASI_ENOSYS},sock_fcntlSetFlags(_fd,_flags){return constants_1.WASI_ENOSYS},sock_pollSocket(_fd,_eventtype,_timeout_ms){return constants_1.WASI_ENOSYS}},log.enabled)Object.keys(this.wasiImport).forEach((key)=>{const prevImport=this.wasiImport[key];this.wasiImport[key]=function(...args2){log(key,args2);try{let result=prevImport(...args2);return log(\"result\",result),result}catch(e){throw log(\"error: \",e),e}}})}getState(){return{env:this.env,FD_MAP:this.FD_MAP,bindings}}setState(state){this.env=state.env,this.FD_MAP=state.FD_MAP,bindings=state.bindings}fstatSync(real_fd){if(real_fd<=2)try{return fs.fstatSync(real_fd)}catch(_){const now=new Date;return{dev:0,mode:8592,nlink:1,uid:0,gid:0,rdev:0,blksize:65536,ino:0,size:0,blocks:0,atimeMs:now.valueOf(),mtimeMs:now.valueOf(),ctimeMs:now.valueOf(),birthtimeMs:0,atime:new Date,mtime:new Date,ctime:new Date,birthtime:new Date(0)}}return fs.fstatSync(real_fd)}shortPause(){if(this.sleep==null)return;if((new Date()).valueOf()-this.lastStdin>2000)this.sleep(50)}getUnusedFileDescriptor(start=3){let fd=start;while(this.FD_MAP.has(fd))fd+=1;if(fd>SC_OPEN_MAX)throw Error(\"no available file descriptors\");return fd}refreshMemory(){if(!this.view||this.view.buffer.byteLength===0)this.view=new DataView(this.memory.buffer)}setMemory(memory){this.memory=memory}start(instance,memory){const exports2=instance.exports;if(exports2===null||typeof exports2!==\"object\")throw new Error(`instance.exports must be an Object. Received ${exports2}.`);if(memory==null){if(memory=exports2.memory,!(memory instanceof WebAssembly.Memory))throw new Error(`instance.exports.memory must be a WebAssembly.Memory. Recceived ${memory}.`)}if(this.setMemory(memory),exports2._start)exports2._start()}getImports(module2){let namespace=null;const imports=WebAssembly.Module.imports(module2);for(let imp of imports){if(imp.kind!==\"function\")continue;if(!imp.module.startsWith(\"wasi_\"))continue;namespace=imp.module;break}switch(namespace){case\"wasi_unstable\":return{wasi_unstable:this.wasiImport};case\"wasi_snapshot_preview1\":return{wasi_snapshot_preview1:this.wasiImport};default:throw new Error(\"No WASI namespace found. Only wasi_unstable and wasi_snapshot_preview1 are supported.\\n\\nList of imports:\\n\\n\"+imports.map(({name,kind,module})=>`${module}:${name} (${kind})`).join(\"\\n\")+\"\\n\")}}initWasiFdInfo(){if(this.env.WASI_FD_INFO!=null){const fdInfo=JSON.parse(this.env.WASI_FD_INFO);for(let wasi_fd in fdInfo){console.log(wasi_fd);const fd=parseInt(wasi_fd);if(this.FD_MAP.has(fd))continue;const real=fdInfo[wasi_fd];try{this.fstatSync(real)}catch(_err){console.log(\"discarding \",{wasi_fd,real});continue}const file={real,filetype:constants_1.WASI_FILETYPE_SOCKET_STREAM,rights:{base:STDIN_DEFAULT_RIGHTS,inheriting:BigInt(0)}};this.FD_MAP.set(fd,file)}console.log(\"after initWasiFdInfo: \",this.FD_MAP),console.log(\"fdInfo = \",fdInfo)}else console.log(\"no WASI_FD_INFO\")}};exports.default=WASI}});return require_wasi()})\n"_s; +static constexpr ASCIILiteral NodeZlibCode = "(function (){\"use strict\";const assert=@requireId(3),BufferModule=@requireBuiltin(49),StreamModule=@requireId(30),Util=@requireId(38);var __getOwnPropNames=Object.getOwnPropertyNames,__commonJS=(cb,mod)=>function __require(){return mod||(0,cb[__getOwnPropNames(cb)[0]])((mod={exports:{}}).exports,mod),mod.exports},require_zstream=__commonJS({\"node_modules/pako/lib/zlib/zstream.js\"(exports,module2){function ZStream(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg=\"\",this.state=null,this.data_type=2,this.adler=0}module2.exports=ZStream}}),require_common=__commonJS({\"node_modules/pako/lib/utils/common.js\"(exports){var TYPED_OK=typeof Uint8Array!==\"undefined\"&&typeof Uint16Array!==\"undefined\"&&typeof Int32Array!==\"undefined\";function _has(obj,key){return Object.prototype.hasOwnProperty.call(obj,key)}exports.assign=function(obj){var sources=Array.prototype.slice.call(arguments,1);while(sources.length){var source=sources.shift();if(!source)continue;if(typeof source!==\"object\")@throwTypeError(source+\"must be non-object\");for(var p in source)if(_has(source,p))obj[p]=source[p]}return obj},exports.shrinkBuf=function(buf,size){if(buf.length===size)return buf;if(buf.subarray)return buf.subarray(0,size);return buf.length=size,buf};var fnTyped={arraySet:function(dest,src,src_offs,len,dest_offs){if(src.subarray&&dest.subarray){dest.set(src.subarray(src_offs,src_offs+len),dest_offs);return}for(var i=0;i=0)buf[len]=0}var STORED_BLOCK=0,STATIC_TREES=1,DYN_TREES=2,MIN_MATCH=3,MAX_MATCH=258,LENGTH_CODES=29,LITERALS=256,L_CODES=LITERALS+1+LENGTH_CODES,D_CODES=30,BL_CODES=19,HEAP_SIZE=2*L_CODES+1,MAX_BITS=15,Buf_size=16,MAX_BL_BITS=7,END_BLOCK=256,REP_3_6=16,REPZ_3_10=17,REPZ_11_138=18,extra_lbits=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],extra_dbits=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],extra_blbits=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],bl_order=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],DIST_CODE_LEN=512,static_ltree=new Array((L_CODES+2)*2);zero(static_ltree);var static_dtree=new Array(D_CODES*2);zero(static_dtree);var _dist_code=new Array(DIST_CODE_LEN);zero(_dist_code);var _length_code=new Array(MAX_MATCH-MIN_MATCH+1);zero(_length_code);var base_length=new Array(LENGTH_CODES);zero(base_length);var base_dist=new Array(D_CODES);zero(base_dist);function StaticTreeDesc(static_tree,extra_bits,extra_base,elems,max_length){this.static_tree=static_tree,this.extra_bits=extra_bits,this.extra_base=extra_base,this.elems=elems,this.max_length=max_length,this.has_stree=static_tree&&static_tree.length}var static_l_desc,static_d_desc,static_bl_desc;function TreeDesc(dyn_tree,stat_desc){this.dyn_tree=dyn_tree,this.max_code=0,this.stat_desc=stat_desc}function d_code(dist){return dist<256\?_dist_code[dist]:_dist_code[256+(dist>>>7)]}function put_short(s,w){s.pending_buf[s.pending++]=w&255,s.pending_buf[s.pending++]=w>>>8&255}function send_bits(s,value,length){if(s.bi_valid>Buf_size-length)s.bi_buf|=value<>Buf_size-s.bi_valid,s.bi_valid+=length-Buf_size;else s.bi_buf|=value<>>=1,res<<=1;while(--len>0);return res>>>1}function bi_flush(s){if(s.bi_valid===16)put_short(s,s.bi_buf),s.bi_buf=0,s.bi_valid=0;else if(s.bi_valid>=8)s.pending_buf[s.pending++]=s.bi_buf&255,s.bi_buf>>=8,s.bi_valid-=8}function gen_bitlen(s,desc){var{dyn_tree:tree,max_code}=desc,stree=desc.stat_desc.static_tree,has_stree=desc.stat_desc.has_stree,extra=desc.stat_desc.extra_bits,base=desc.stat_desc.extra_base,max_length=desc.stat_desc.max_length,h,n,m,bits,xbits,f,overflow=0;for(bits=0;bits<=MAX_BITS;bits++)s.bl_count[bits]=0;tree[s.heap[s.heap_max]*2+1]=0;for(h=s.heap_max+1;hmax_length)bits=max_length,overflow++;if(tree[n*2+1]=bits,n>max_code)continue;if(s.bl_count[bits]++,xbits=0,n>=base)xbits=extra[n-base];if(f=tree[n*2],s.opt_len+=f*(bits+xbits),has_stree)s.static_len+=f*(stree[n*2+1]+xbits)}if(overflow===0)return;do{bits=max_length-1;while(s.bl_count[bits]===0)bits--;s.bl_count[bits]--,s.bl_count[bits+1]+=2,s.bl_count[max_length]--,overflow-=2}while(overflow>0);for(bits=max_length;bits!==0;bits--){n=s.bl_count[bits];while(n!==0){if(m=s.heap[--h],m>max_code)continue;if(tree[m*2+1]!==bits)s.opt_len+=(bits-tree[m*2+1])*tree[m*2],tree[m*2+1]=bits;n--}}}function gen_codes(tree,max_code,bl_count){var next_code=new Array(MAX_BITS+1),code=0,bits,n;for(bits=1;bits<=MAX_BITS;bits++)next_code[bits]=code=code+bl_count[bits-1]<<1;for(n=0;n<=max_code;n++){var len=tree[n*2+1];if(len===0)continue;tree[n*2]=bi_reverse(next_code[len]++,len)}}function tr_static_init(){var n,bits,length,code,dist,bl_count=new Array(MAX_BITS+1);length=0;for(code=0;code>=7;for(;code8)put_short(s,s.bi_buf);else if(s.bi_valid>0)s.pending_buf[s.pending++]=s.bi_buf;s.bi_buf=0,s.bi_valid=0}function copy_block(s,buf,len,header){if(bi_windup(s),header)put_short(s,len),put_short(s,~len);utils.arraySet(s.pending_buf,s.window,buf,len,s.pending),s.pending+=len}function smaller(tree,n,m,depth){var _n2=n*2,_m2=m*2;return tree[_n2]>1;n>=1;n--)pqdownheap(s,tree,n);node=elems;do n=s.heap[1],s.heap[1]=s.heap[s.heap_len--],pqdownheap(s,tree,1),m=s.heap[1],s.heap[--s.heap_max]=n,s.heap[--s.heap_max]=m,tree[node*2]=tree[n*2]+tree[m*2],s.depth[node]=(s.depth[n]>=s.depth[m]\?s.depth[n]:s.depth[m])+1,tree[n*2+1]=tree[m*2+1]=node,s.heap[1]=node++,pqdownheap(s,tree,1);while(s.heap_len>=2);s.heap[--s.heap_max]=s.heap[1],gen_bitlen(s,desc),gen_codes(tree,max_code,s.bl_count)}function scan_tree(s,tree,max_code){var n,prevlen=-1,curlen,nextlen=tree[1],count=0,max_count=7,min_count=4;if(nextlen===0)max_count=138,min_count=3;tree[(max_code+1)*2+1]=65535;for(n=0;n<=max_code;n++){if(curlen=nextlen,nextlen=tree[(n+1)*2+1],++count=3;max_blindex--)if(s.bl_tree[bl_order[max_blindex]*2+1]!==0)break;return s.opt_len+=3*(max_blindex+1)+5+5+4,max_blindex}function send_all_trees(s,lcodes,dcodes,blcodes){var rank;send_bits(s,lcodes-257,5),send_bits(s,dcodes-1,5),send_bits(s,blcodes-4,4);for(rank=0;rank>>=1)if(black_mask&1&&s.dyn_ltree[n*2]!==0)return Z_BINARY;if(s.dyn_ltree[18]!==0||s.dyn_ltree[20]!==0||s.dyn_ltree[26]!==0)return Z_TEXT;for(n=32;n0){if(s.strm.data_type===Z_UNKNOWN)s.strm.data_type=detect_data_type(s);if(build_tree(s,s.l_desc),build_tree(s,s.d_desc),max_blindex=build_bl_tree(s),opt_lenb=s.opt_len+3+7>>>3,static_lenb=s.static_len+3+7>>>3,static_lenb<=opt_lenb)opt_lenb=static_lenb}else opt_lenb=static_lenb=stored_len+5;if(stored_len+4<=opt_lenb&&buf!==-1)_tr_stored_block(s,buf,stored_len,last);else if(s.strategy===Z_FIXED||static_lenb===opt_lenb)send_bits(s,(STATIC_TREES<<1)+(last\?1:0),3),compress_block(s,static_ltree,static_dtree);else send_bits(s,(DYN_TREES<<1)+(last\?1:0),3),send_all_trees(s,s.l_desc.max_code+1,s.d_desc.max_code+1,max_blindex+1),compress_block(s,s.dyn_ltree,s.dyn_dtree);if(init_block(s),last)bi_windup(s)}function _tr_tally(s,dist,lc){if(s.pending_buf[s.d_buf+s.last_lit*2]=dist>>>8&255,s.pending_buf[s.d_buf+s.last_lit*2+1]=dist&255,s.pending_buf[s.l_buf+s.last_lit]=lc&255,s.last_lit++,dist===0)s.dyn_ltree[lc*2]++;else s.matches++,dist--,s.dyn_ltree[(_length_code[lc]+LITERALS+1)*2]++,s.dyn_dtree[d_code(dist)*2]++;return s.last_lit===s.lit_bufsize-1}exports._tr_init=_tr_init,exports._tr_stored_block=_tr_stored_block,exports._tr_flush_block=_tr_flush_block,exports._tr_tally=_tr_tally,exports._tr_align=_tr_align}}),require_adler32=__commonJS({\"node_modules/pako/lib/zlib/adler32.js\"(exports,module2){function adler32(adler,buf,len,pos){var s1=adler&65535|0,s2=adler>>>16&65535|0,n=0;while(len!==0){n=len>2000\?2000:len,len-=n;do s1=s1+buf[pos++]|0,s2=s2+s1|0;while(--n);s1%=65521,s2%=65521}return s1|s2<<16|0}module2.exports=adler32}}),require_crc32=__commonJS({\"node_modules/pako/lib/zlib/crc32.js\"(exports,module2){function makeTable(){var c,table=[];for(var n=0;n<256;n++){c=n;for(var k=0;k<8;k++)c=c&1\?3988292384^c>>>1:c>>>1;table[n]=c}return table}var crcTable=makeTable();function crc32(crc,buf,len,pos){var t=crcTable,end=pos+len;crc^=-1;for(var i=pos;i>>8^t[(crc^buf[i])&255];return crc^-1}module2.exports=crc32}}),require_messages=__commonJS({\"node_modules/pako/lib/zlib/messages.js\"(exports,module2){module2.exports={2:\"need dictionary\",1:\"stream end\",0:\"\",\"-1\":\"file error\",\"-2\":\"stream error\",\"-3\":\"data error\",\"-4\":\"insufficient memory\",\"-5\":\"buffer error\",\"-6\":\"incompatible version\"}}}),require_deflate=__commonJS({\"node_modules/pako/lib/zlib/deflate.js\"(exports){var utils=require_common(),trees=require_trees(),adler32=require_adler32(),crc32=require_crc32(),msg=require_messages(),Z_NO_FLUSH=0,Z_PARTIAL_FLUSH=1,Z_FULL_FLUSH=3,Z_FINISH=4,Z_BLOCK=5,Z_OK=0,Z_STREAM_END=1,Z_STREAM_ERROR=-2,Z_DATA_ERROR=-3,Z_BUF_ERROR=-5,Z_DEFAULT_COMPRESSION=-1,Z_FILTERED=1,Z_HUFFMAN_ONLY=2,Z_RLE=3,Z_FIXED=4,Z_DEFAULT_STRATEGY=0,Z_UNKNOWN=2,Z_DEFLATED=8,MAX_MEM_LEVEL=9,MAX_WBITS=15,DEF_MEM_LEVEL=8,LENGTH_CODES=29,LITERALS=256,L_CODES=LITERALS+1+LENGTH_CODES,D_CODES=30,BL_CODES=19,HEAP_SIZE=2*L_CODES+1,MAX_BITS=15,MIN_MATCH=3,MAX_MATCH=258,MIN_LOOKAHEAD=MAX_MATCH+MIN_MATCH+1,PRESET_DICT=32,INIT_STATE=42,EXTRA_STATE=69,NAME_STATE=73,COMMENT_STATE=91,HCRC_STATE=103,BUSY_STATE=113,FINISH_STATE=666,BS_NEED_MORE=1,BS_BLOCK_DONE=2,BS_FINISH_STARTED=3,BS_FINISH_DONE=4,OS_CODE=3;function err(strm,errorCode){return strm.msg=msg[errorCode],errorCode}function rank(f){return(f<<1)-(f>4\?9:0)}function zero(buf){var len=buf.length;while(--len>=0)buf[len]=0}function flush_pending(strm){var s=strm.state,len=s.pending;if(len>strm.avail_out)len=strm.avail_out;if(len===0)return;if(utils.arraySet(strm.output,s.pending_buf,s.pending_out,len,strm.next_out),strm.next_out+=len,s.pending_out+=len,strm.total_out+=len,strm.avail_out-=len,s.pending-=len,s.pending===0)s.pending_out=0}function flush_block_only(s,last){trees._tr_flush_block(s,s.block_start>=0\?s.block_start:-1,s.strstart-s.block_start,last),s.block_start=s.strstart,flush_pending(s.strm)}function put_byte(s,b){s.pending_buf[s.pending++]=b}function putShortMSB(s,b){s.pending_buf[s.pending++]=b>>>8&255,s.pending_buf[s.pending++]=b&255}function read_buf(strm,buf,start,size){var len=strm.avail_in;if(len>size)len=size;if(len===0)return 0;if(strm.avail_in-=len,utils.arraySet(buf,strm.input,strm.next_in,len,start),strm.state.wrap===1)strm.adler=adler32(strm.adler,buf,len,start);else if(strm.state.wrap===2)strm.adler=crc32(strm.adler,buf,len,start);return strm.next_in+=len,strm.total_in+=len,len}function longest_match(s,cur_match){var{max_chain_length:chain_length,strstart:scan}=s,match,len,best_len=s.prev_length,nice_match=s.nice_match,limit=s.strstart>s.w_size-MIN_LOOKAHEAD\?s.strstart-(s.w_size-MIN_LOOKAHEAD):0,_win=s.window,wmask=s.w_mask,prev=s.prev,strend=s.strstart+MAX_MATCH,scan_end1=_win[scan+best_len-1],scan_end=_win[scan+best_len];if(s.prev_length>=s.good_match)chain_length>>=2;if(nice_match>s.lookahead)nice_match=s.lookahead;do{if(match=cur_match,_win[match+best_len]!==scan_end||_win[match+best_len-1]!==scan_end1||_win[match]!==_win[scan]||_win[++match]!==_win[scan+1])continue;scan+=2,match++;do;while(_win[++scan]===_win[++match]&&_win[++scan]===_win[++match]&&_win[++scan]===_win[++match]&&_win[++scan]===_win[++match]&&_win[++scan]===_win[++match]&&_win[++scan]===_win[++match]&&_win[++scan]===_win[++match]&&_win[++scan]===_win[++match]&&scanbest_len){if(s.match_start=cur_match,best_len=len,len>=nice_match)break;scan_end1=_win[scan+best_len-1],scan_end=_win[scan+best_len]}}while((cur_match=prev[cur_match&wmask])>limit&&--chain_length!==0);if(best_len<=s.lookahead)return best_len;return s.lookahead}function fill_window(s){var _w_size=s.w_size,p,n,m,more,str;do{if(more=s.window_size-s.lookahead-s.strstart,s.strstart>=_w_size+(_w_size-MIN_LOOKAHEAD)){utils.arraySet(s.window,s.window,_w_size,_w_size,0),s.match_start-=_w_size,s.strstart-=_w_size,s.block_start-=_w_size,n=s.hash_size,p=n;do m=s.head[--p],s.head[p]=m>=_w_size\?m-_w_size:0;while(--n);n=_w_size,p=n;do m=s.prev[--p],s.prev[p]=m>=_w_size\?m-_w_size:0;while(--n);more+=_w_size}if(s.strm.avail_in===0)break;if(n=read_buf(s.strm,s.window,s.strstart+s.lookahead,more),s.lookahead+=n,s.lookahead+s.insert>=MIN_MATCH){str=s.strstart-s.insert,s.ins_h=s.window[str],s.ins_h=(s.ins_h<s.pending_buf_size-5)max_block_size=s.pending_buf_size-5;for(;;){if(s.lookahead<=1){if(fill_window(s),s.lookahead===0&&flush===Z_NO_FLUSH)return BS_NEED_MORE;if(s.lookahead===0)break}s.strstart+=s.lookahead,s.lookahead=0;var max_start=s.block_start+max_block_size;if(s.strstart===0||s.strstart>=max_start){if(s.lookahead=s.strstart-max_start,s.strstart=max_start,flush_block_only(s,!1),s.strm.avail_out===0)return BS_NEED_MORE}if(s.strstart-s.block_start>=s.w_size-MIN_LOOKAHEAD){if(flush_block_only(s,!1),s.strm.avail_out===0)return BS_NEED_MORE}}if(s.insert=0,flush===Z_FINISH){if(flush_block_only(s,!0),s.strm.avail_out===0)return BS_FINISH_STARTED;return BS_FINISH_DONE}if(s.strstart>s.block_start){if(flush_block_only(s,!1),s.strm.avail_out===0)return BS_NEED_MORE}return BS_NEED_MORE}function deflate_fast(s,flush){var hash_head,bflush;for(;;){if(s.lookahead=MIN_MATCH)s.ins_h=(s.ins_h<=MIN_MATCH)if(bflush=trees._tr_tally(s,s.strstart-s.match_start,s.match_length-MIN_MATCH),s.lookahead-=s.match_length,s.match_length<=s.max_lazy_match&&s.lookahead>=MIN_MATCH){s.match_length--;do s.strstart++,s.ins_h=(s.ins_h<=MIN_MATCH)s.ins_h=(s.ins_h<4096))s.match_length=MIN_MATCH-1}if(s.prev_length>=MIN_MATCH&&s.match_length<=s.prev_length){max_insert=s.strstart+s.lookahead-MIN_MATCH,bflush=trees._tr_tally(s,s.strstart-1-s.prev_match,s.prev_length-MIN_MATCH),s.lookahead-=s.prev_length-1,s.prev_length-=2;do if(++s.strstart<=max_insert)s.ins_h=(s.ins_h<=MIN_MATCH&&s.strstart>0){if(scan=s.strstart-1,prev=_win[scan],prev===_win[++scan]&&prev===_win[++scan]&&prev===_win[++scan]){strend=s.strstart+MAX_MATCH;do;while(prev===_win[++scan]&&prev===_win[++scan]&&prev===_win[++scan]&&prev===_win[++scan]&&prev===_win[++scan]&&prev===_win[++scan]&&prev===_win[++scan]&&prev===_win[++scan]&&scans.lookahead)s.match_length=s.lookahead}}if(s.match_length>=MIN_MATCH)bflush=trees._tr_tally(s,1,s.match_length-MIN_MATCH),s.lookahead-=s.match_length,s.strstart+=s.match_length,s.match_length=0;else bflush=trees._tr_tally(s,0,s.window[s.strstart]),s.lookahead--,s.strstart++;if(bflush){if(flush_block_only(s,!1),s.strm.avail_out===0)return BS_NEED_MORE}}if(s.insert=0,flush===Z_FINISH){if(flush_block_only(s,!0),s.strm.avail_out===0)return BS_FINISH_STARTED;return BS_FINISH_DONE}if(s.last_lit){if(flush_block_only(s,!1),s.strm.avail_out===0)return BS_NEED_MORE}return BS_BLOCK_DONE}function deflate_huff(s,flush){var bflush;for(;;){if(s.lookahead===0){if(fill_window(s),s.lookahead===0){if(flush===Z_NO_FLUSH)return BS_NEED_MORE;break}}if(s.match_length=0,bflush=trees._tr_tally(s,0,s.window[s.strstart]),s.lookahead--,s.strstart++,bflush){if(flush_block_only(s,!1),s.strm.avail_out===0)return BS_NEED_MORE}}if(s.insert=0,flush===Z_FINISH){if(flush_block_only(s,!0),s.strm.avail_out===0)return BS_FINISH_STARTED;return BS_FINISH_DONE}if(s.last_lit){if(flush_block_only(s,!1),s.strm.avail_out===0)return BS_NEED_MORE}return BS_BLOCK_DONE}function Config(good_length,max_lazy,nice_length,max_chain,func){this.good_length=good_length,this.max_lazy=max_lazy,this.nice_length=nice_length,this.max_chain=max_chain,this.func=func}var configuration_table=[new Config(0,0,0,0,deflate_stored),new Config(4,4,8,4,deflate_fast),new Config(4,5,16,8,deflate_fast),new Config(4,6,32,32,deflate_fast),new Config(4,4,16,16,deflate_slow),new Config(8,16,32,32,deflate_slow),new Config(8,16,128,128,deflate_slow),new Config(8,32,128,256,deflate_slow),new Config(32,128,258,1024,deflate_slow),new Config(32,258,258,4096,deflate_slow)];function lm_init(s){s.window_size=2*s.w_size,zero(s.head),s.max_lazy_match=configuration_table[s.level].max_lazy,s.good_match=configuration_table[s.level].good_length,s.nice_match=configuration_table[s.level].nice_length,s.max_chain_length=configuration_table[s.level].max_chain,s.strstart=0,s.block_start=0,s.lookahead=0,s.insert=0,s.match_length=s.prev_length=MIN_MATCH-1,s.match_available=0,s.ins_h=0}function DeflateState(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=Z_DEFLATED,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new utils.Buf16(HEAP_SIZE*2),this.dyn_dtree=new utils.Buf16((2*D_CODES+1)*2),this.bl_tree=new utils.Buf16((2*BL_CODES+1)*2),zero(this.dyn_ltree),zero(this.dyn_dtree),zero(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new utils.Buf16(MAX_BITS+1),this.heap=new utils.Buf16(2*L_CODES+1),zero(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new utils.Buf16(2*L_CODES+1),zero(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function deflateResetKeep(strm){var s;if(!strm||!strm.state)return err(strm,Z_STREAM_ERROR);if(strm.total_in=strm.total_out=0,strm.data_type=Z_UNKNOWN,s=strm.state,s.pending=0,s.pending_out=0,s.wrap<0)s.wrap=-s.wrap;return s.status=s.wrap\?INIT_STATE:BUSY_STATE,strm.adler=s.wrap===2\?0:1,s.last_flush=Z_NO_FLUSH,trees._tr_init(s),Z_OK}function deflateReset(strm){var ret=deflateResetKeep(strm);if(ret===Z_OK)lm_init(strm.state);return ret}function deflateSetHeader(strm,head){if(!strm||!strm.state)return Z_STREAM_ERROR;if(strm.state.wrap!==2)return Z_STREAM_ERROR;return strm.state.gzhead=head,Z_OK}function deflateInit2(strm,level,method,windowBits,memLevel,strategy){if(!strm)return Z_STREAM_ERROR;var wrap=1;if(level===Z_DEFAULT_COMPRESSION)level=6;if(windowBits<0)wrap=0,windowBits=-windowBits;else if(windowBits>15)wrap=2,windowBits-=16;if(memLevel<1||memLevel>MAX_MEM_LEVEL||method!==Z_DEFLATED||windowBits<8||windowBits>15||level<0||level>9||strategy<0||strategy>Z_FIXED)return err(strm,Z_STREAM_ERROR);if(windowBits===8)windowBits=9;var s=new DeflateState;return strm.state=s,s.strm=strm,s.wrap=wrap,s.gzhead=null,s.w_bits=windowBits,s.w_size=1<Z_BLOCK||flush<0)return strm\?err(strm,Z_STREAM_ERROR):Z_STREAM_ERROR;if(s=strm.state,!strm.output||!strm.input&&strm.avail_in!==0||s.status===FINISH_STATE&&flush!==Z_FINISH)return err(strm,strm.avail_out===0\?Z_BUF_ERROR:Z_STREAM_ERROR);if(s.strm=strm,old_flush=s.last_flush,s.last_flush=flush,s.status===INIT_STATE)if(s.wrap===2)if(strm.adler=0,put_byte(s,31),put_byte(s,139),put_byte(s,8),!s.gzhead)put_byte(s,0),put_byte(s,0),put_byte(s,0),put_byte(s,0),put_byte(s,0),put_byte(s,s.level===9\?2:s.strategy>=Z_HUFFMAN_ONLY||s.level<2\?4:0),put_byte(s,OS_CODE),s.status=BUSY_STATE;else{if(put_byte(s,(s.gzhead.text\?1:0)+(s.gzhead.hcrc\?2:0)+(!s.gzhead.extra\?0:4)+(!s.gzhead.name\?0:8)+(!s.gzhead.comment\?0:16)),put_byte(s,s.gzhead.time&255),put_byte(s,s.gzhead.time>>8&255),put_byte(s,s.gzhead.time>>16&255),put_byte(s,s.gzhead.time>>24&255),put_byte(s,s.level===9\?2:s.strategy>=Z_HUFFMAN_ONLY||s.level<2\?4:0),put_byte(s,s.gzhead.os&255),s.gzhead.extra&&s.gzhead.extra.length)put_byte(s,s.gzhead.extra.length&255),put_byte(s,s.gzhead.extra.length>>8&255);if(s.gzhead.hcrc)strm.adler=crc32(strm.adler,s.pending_buf,s.pending,0);s.gzindex=0,s.status=EXTRA_STATE}else{var header=Z_DEFLATED+(s.w_bits-8<<4)<<8,level_flags=-1;if(s.strategy>=Z_HUFFMAN_ONLY||s.level<2)level_flags=0;else if(s.level<6)level_flags=1;else if(s.level===6)level_flags=2;else level_flags=3;if(header|=level_flags<<6,s.strstart!==0)header|=PRESET_DICT;if(header+=31-header%31,s.status=BUSY_STATE,putShortMSB(s,header),s.strstart!==0)putShortMSB(s,strm.adler>>>16),putShortMSB(s,strm.adler&65535);strm.adler=1}if(s.status===EXTRA_STATE)if(s.gzhead.extra){beg=s.pending;while(s.gzindex<(s.gzhead.extra.length&65535)){if(s.pending===s.pending_buf_size){if(s.gzhead.hcrc&&s.pending>beg)strm.adler=crc32(strm.adler,s.pending_buf,s.pending-beg,beg);if(flush_pending(strm),beg=s.pending,s.pending===s.pending_buf_size)break}put_byte(s,s.gzhead.extra[s.gzindex]&255),s.gzindex++}if(s.gzhead.hcrc&&s.pending>beg)strm.adler=crc32(strm.adler,s.pending_buf,s.pending-beg,beg);if(s.gzindex===s.gzhead.extra.length)s.gzindex=0,s.status=NAME_STATE}else s.status=NAME_STATE;if(s.status===NAME_STATE)if(s.gzhead.name){beg=s.pending;do{if(s.pending===s.pending_buf_size){if(s.gzhead.hcrc&&s.pending>beg)strm.adler=crc32(strm.adler,s.pending_buf,s.pending-beg,beg);if(flush_pending(strm),beg=s.pending,s.pending===s.pending_buf_size){val=1;break}}if(s.gzindexbeg)strm.adler=crc32(strm.adler,s.pending_buf,s.pending-beg,beg);if(val===0)s.gzindex=0,s.status=COMMENT_STATE}else s.status=COMMENT_STATE;if(s.status===COMMENT_STATE)if(s.gzhead.comment){beg=s.pending;do{if(s.pending===s.pending_buf_size){if(s.gzhead.hcrc&&s.pending>beg)strm.adler=crc32(strm.adler,s.pending_buf,s.pending-beg,beg);if(flush_pending(strm),beg=s.pending,s.pending===s.pending_buf_size){val=1;break}}if(s.gzindexbeg)strm.adler=crc32(strm.adler,s.pending_buf,s.pending-beg,beg);if(val===0)s.status=HCRC_STATE}else s.status=HCRC_STATE;if(s.status===HCRC_STATE)if(s.gzhead.hcrc){if(s.pending+2>s.pending_buf_size)flush_pending(strm);if(s.pending+2<=s.pending_buf_size)put_byte(s,strm.adler&255),put_byte(s,strm.adler>>8&255),strm.adler=0,s.status=BUSY_STATE}else s.status=BUSY_STATE;if(s.pending!==0){if(flush_pending(strm),strm.avail_out===0)return s.last_flush=-1,Z_OK}else if(strm.avail_in===0&&rank(flush)<=rank(old_flush)&&flush!==Z_FINISH)return err(strm,Z_BUF_ERROR);if(s.status===FINISH_STATE&&strm.avail_in!==0)return err(strm,Z_BUF_ERROR);if(strm.avail_in!==0||s.lookahead!==0||flush!==Z_NO_FLUSH&&s.status!==FINISH_STATE){var bstate=s.strategy===Z_HUFFMAN_ONLY\?deflate_huff(s,flush):s.strategy===Z_RLE\?deflate_rle(s,flush):configuration_table[s.level].func(s,flush);if(bstate===BS_FINISH_STARTED||bstate===BS_FINISH_DONE)s.status=FINISH_STATE;if(bstate===BS_NEED_MORE||bstate===BS_FINISH_STARTED){if(strm.avail_out===0)s.last_flush=-1;return Z_OK}if(bstate===BS_BLOCK_DONE){if(flush===Z_PARTIAL_FLUSH)trees._tr_align(s);else if(flush!==Z_BLOCK){if(trees._tr_stored_block(s,0,0,!1),flush===Z_FULL_FLUSH){if(zero(s.head),s.lookahead===0)s.strstart=0,s.block_start=0,s.insert=0}}if(flush_pending(strm),strm.avail_out===0)return s.last_flush=-1,Z_OK}}if(flush!==Z_FINISH)return Z_OK;if(s.wrap<=0)return Z_STREAM_END;if(s.wrap===2)put_byte(s,strm.adler&255),put_byte(s,strm.adler>>8&255),put_byte(s,strm.adler>>16&255),put_byte(s,strm.adler>>24&255),put_byte(s,strm.total_in&255),put_byte(s,strm.total_in>>8&255),put_byte(s,strm.total_in>>16&255),put_byte(s,strm.total_in>>24&255);else putShortMSB(s,strm.adler>>>16),putShortMSB(s,strm.adler&65535);if(flush_pending(strm),s.wrap>0)s.wrap=-s.wrap;return s.pending!==0\?Z_OK:Z_STREAM_END}function deflateEnd(strm){var status;if(!strm||!strm.state)return Z_STREAM_ERROR;if(status=strm.state.status,status!==INIT_STATE&&status!==EXTRA_STATE&&status!==NAME_STATE&&status!==COMMENT_STATE&&status!==HCRC_STATE&&status!==BUSY_STATE&&status!==FINISH_STATE)return err(strm,Z_STREAM_ERROR);return strm.state=null,status===BUSY_STATE\?err(strm,Z_DATA_ERROR):Z_OK}function deflateSetDictionary(strm,dictionary){var dictLength=dictionary.length,s,str,n,wrap,avail,next,input,tmpDict;if(!strm||!strm.state)return Z_STREAM_ERROR;if(s=strm.state,wrap=s.wrap,wrap===2||wrap===1&&s.status!==INIT_STATE||s.lookahead)return Z_STREAM_ERROR;if(wrap===1)strm.adler=adler32(strm.adler,dictionary,dictLength,0);if(s.wrap=0,dictLength>=s.w_size){if(wrap===0)zero(s.head),s.strstart=0,s.block_start=0,s.insert=0;tmpDict=new utils.Buf8(s.w_size),utils.arraySet(tmpDict,dictionary,dictLength-s.w_size,s.w_size,0),dictionary=tmpDict,dictLength=s.w_size}avail=strm.avail_in,next=strm.next_in,input=strm.input,strm.avail_in=dictLength,strm.next_in=0,strm.input=dictionary,fill_window(s);while(s.lookahead>=MIN_MATCH){str=s.strstart,n=s.lookahead-(MIN_MATCH-1);do s.ins_h=(s.ins_h<>>24,hold>>>=op,bits-=op,op=here>>>16&255,op===0)output[_out++]=here&65535;else if(op&16){if(len=here&65535,op&=15,op){if(bits>>=op,bits-=op}if(bits<15)hold+=input[_in++]<>>24,hold>>>=op,bits-=op,op=here>>>16&255,op&16){if(dist=here&65535,op&=15,bitsdmax){strm.msg=\"invalid distance too far back\",state.mode=BAD;break top}if(hold>>>=op,bits-=op,op=_out-beg,dist>op){if(op=dist-op,op>whave){if(state.sane){strm.msg=\"invalid distance too far back\",state.mode=BAD;break top}}if(from=0,from_source=s_window,wnext===0){if(from+=wsize-op,op2)output[_out++]=from_source[from++],output[_out++]=from_source[from++],output[_out++]=from_source[from++],len-=3;if(len){if(output[_out++]=from_source[from++],len>1)output[_out++]=from_source[from++]}}else{from=_out-dist;do output[_out++]=output[from++],output[_out++]=output[from++],output[_out++]=output[from++],len-=3;while(len>2);if(len){if(output[_out++]=output[from++],len>1)output[_out++]=output[from++]}}}else if((op&64)===0){here=dcode[(here&65535)+(hold&(1<>3,_in-=len,bits-=len<<3,hold&=(1<=1;max--)if(count[max]!==0)break;if(root>max)root=max;if(max===0)return table[table_index++]=1<<24|64<<16|0,table[table_index++]=1<<24|64<<16|0,opts.bits=1,0;for(min=1;min0&&(type===CODES||max!==1))return-1;offs[1]=0;for(len=1;lenENOUGH_LENS||type===DISTS&&used>ENOUGH_DISTS)return 1;for(;;){if(here_bits=len-drop,work[sym]end)here_op=extra[extra_index+work[sym]],here_val=base[base_index+work[sym]];else here_op=96,here_val=0;incr=1<>drop)+fill]=here_bits<<24|here_op<<16|here_val|0;while(fill!==0);incr=1<>=1;if(incr!==0)huff&=incr-1,huff+=incr;else huff=0;if(sym++,--count[len]===0){if(len===max)break;len=lens[lens_index+work[sym]]}if(len>root&&(huff&mask)!==low){if(drop===0)drop=root;next+=min,curr=len-drop,left=1<ENOUGH_LENS||type===DISTS&&used>ENOUGH_DISTS)return 1;low=huff&mask,table[low]=root<<24|curr<<16|next-table_index|0}}if(huff!==0)table[next+huff]=len-drop<<24|64<<16|0;return opts.bits=root,0}}}),require_inflate=__commonJS({\"node_modules/pako/lib/zlib/inflate.js\"(exports){var utils=require_common(),adler32=require_adler32(),crc32=require_crc32(),inflate_fast=require_inffast(),inflate_table=require_inftrees(),CODES=0,LENS=1,DISTS=2,Z_FINISH=4,Z_BLOCK=5,Z_TREES=6,Z_OK=0,Z_STREAM_END=1,Z_NEED_DICT=2,Z_STREAM_ERROR=-2,Z_DATA_ERROR=-3,Z_MEM_ERROR=-4,Z_BUF_ERROR=-5,Z_DEFLATED=8,HEAD=1,FLAGS=2,TIME=3,OS=4,EXLEN=5,EXTRA=6,NAME=7,COMMENT=8,HCRC=9,DICTID=10,DICT=11,TYPE=12,TYPEDO=13,STORED=14,COPY_=15,COPY=16,TABLE=17,LENLENS=18,CODELENS=19,LEN_=20,LEN=21,LENEXT=22,DIST=23,DISTEXT=24,MATCH=25,LIT=26,CHECK=27,LENGTH=28,DONE=29,BAD=30,MEM=31,SYNC=32,ENOUGH_LENS=852,ENOUGH_DISTS=592,MAX_WBITS=15,DEF_WBITS=MAX_WBITS;function zswap32(q){return(q>>>24&255)+(q>>>8&65280)+((q&65280)<<8)+((q&255)<<24)}function InflateState(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new utils.Buf16(320),this.work=new utils.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function inflateResetKeep(strm){var state;if(!strm||!strm.state)return Z_STREAM_ERROR;if(state=strm.state,strm.total_in=strm.total_out=state.total=0,strm.msg=\"\",state.wrap)strm.adler=state.wrap&1;return state.mode=HEAD,state.last=0,state.havedict=0,state.dmax=32768,state.head=null,state.hold=0,state.bits=0,state.lencode=state.lendyn=new utils.Buf32(ENOUGH_LENS),state.distcode=state.distdyn=new utils.Buf32(ENOUGH_DISTS),state.sane=1,state.back=-1,Z_OK}function inflateReset(strm){var state;if(!strm||!strm.state)return Z_STREAM_ERROR;return state=strm.state,state.wsize=0,state.whave=0,state.wnext=0,inflateResetKeep(strm)}function inflateReset2(strm,windowBits){var wrap,state;if(!strm||!strm.state)return Z_STREAM_ERROR;if(state=strm.state,windowBits<0)wrap=0,windowBits=-windowBits;else if(wrap=(windowBits>>4)+1,windowBits<48)windowBits&=15;if(windowBits&&(windowBits<8||windowBits>15))return Z_STREAM_ERROR;if(state.window!==null&&state.wbits!==windowBits)state.window=null;return state.wrap=wrap,state.wbits=windowBits,inflateReset(strm)}function inflateInit2(strm,windowBits){var ret,state;if(!strm)return Z_STREAM_ERROR;if(state=new InflateState,strm.state=state,state.window=null,ret=inflateReset2(strm,windowBits),ret!==Z_OK)strm.state=null;return ret}function inflateInit(strm){return inflateInit2(strm,DEF_WBITS)}var virgin=!0,lenfix,distfix;function fixedtables(state){if(virgin){var sym;lenfix=new utils.Buf32(512),distfix=new utils.Buf32(32),sym=0;while(sym<144)state.lens[sym++]=8;while(sym<256)state.lens[sym++]=9;while(sym<280)state.lens[sym++]=7;while(sym<288)state.lens[sym++]=8;inflate_table(LENS,state.lens,0,288,lenfix,0,state.work,{bits:9}),sym=0;while(sym<32)state.lens[sym++]=5;inflate_table(DISTS,state.lens,0,32,distfix,0,state.work,{bits:5}),virgin=!1}state.lencode=lenfix,state.lenbits=9,state.distcode=distfix,state.distbits=5}function updatewindow(strm,src,end,copy){var dist,state=strm.state;if(state.window===null)state.wsize=1<=state.wsize)utils.arraySet(state.window,src,end-state.wsize,state.wsize,0),state.wnext=0,state.whave=state.wsize;else{if(dist=state.wsize-state.wnext,dist>copy)dist=copy;if(utils.arraySet(state.window,src,end-copy,dist,state.wnext),copy-=dist,copy)utils.arraySet(state.window,src,end-copy,copy,0),state.wnext=copy,state.whave=state.wsize;else{if(state.wnext+=dist,state.wnext===state.wsize)state.wnext=0;if(state.whave>>8&255,state.check=crc32(state.check,hbuf,2,0),hold=0,bits=0,state.mode=FLAGS;break}if(state.flags=0,state.head)state.head.done=!1;if(!(state.wrap&1)||(((hold&255)<<8)+(hold>>8))%31){strm.msg=\"incorrect header check\",state.mode=BAD;break}if((hold&15)!==Z_DEFLATED){strm.msg=\"unknown compression method\",state.mode=BAD;break}if(hold>>>=4,bits-=4,len=(hold&15)+8,state.wbits===0)state.wbits=len;else if(len>state.wbits){strm.msg=\"invalid window size\",state.mode=BAD;break}state.dmax=1<>8&1;if(state.flags&512)hbuf[0]=hold&255,hbuf[1]=hold>>>8&255,state.check=crc32(state.check,hbuf,2,0);hold=0,bits=0,state.mode=TIME;case TIME:while(bits<32){if(have===0)break inf_leave;have--,hold+=input[next++]<>>8&255,hbuf[2]=hold>>>16&255,hbuf[3]=hold>>>24&255,state.check=crc32(state.check,hbuf,4,0);hold=0,bits=0,state.mode=OS;case OS:while(bits<16){if(have===0)break inf_leave;have--,hold+=input[next++]<>8;if(state.flags&512)hbuf[0]=hold&255,hbuf[1]=hold>>>8&255,state.check=crc32(state.check,hbuf,2,0);hold=0,bits=0,state.mode=EXLEN;case EXLEN:if(state.flags&1024){while(bits<16){if(have===0)break inf_leave;have--,hold+=input[next++]<>>8&255,state.check=crc32(state.check,hbuf,2,0);hold=0,bits=0}else if(state.head)state.head.extra=null;state.mode=EXTRA;case EXTRA:if(state.flags&1024){if(copy=state.length,copy>have)copy=have;if(copy){if(state.head){if(len=state.head.extra_len-state.length,!state.head.extra)state.head.extra=new Array(state.head.extra_len);utils.arraySet(state.head.extra,input,next,copy,len)}if(state.flags&512)state.check=crc32(state.check,input,copy,next);have-=copy,next+=copy,state.length-=copy}if(state.length)break inf_leave}state.length=0,state.mode=NAME;case NAME:if(state.flags&2048){if(have===0)break inf_leave;copy=0;do if(len=input[next+copy++],state.head&&len&&state.length<65536)state.head.name+=String.fromCharCode(len);while(len&©>9&1,state.head.done=!0;strm.adler=state.check=0,state.mode=TYPE;break;case DICTID:while(bits<32){if(have===0)break inf_leave;have--,hold+=input[next++]<>>=bits&7,bits-=bits&7,state.mode=CHECK;break}while(bits<3){if(have===0)break inf_leave;have--,hold+=input[next++]<>>=1,bits-=1,hold&3){case 0:state.mode=STORED;break;case 1:if(fixedtables(state),state.mode=LEN_,flush===Z_TREES){hold>>>=2,bits-=2;break inf_leave}break;case 2:state.mode=TABLE;break;case 3:strm.msg=\"invalid block type\",state.mode=BAD}hold>>>=2,bits-=2;break;case STORED:hold>>>=bits&7,bits-=bits&7;while(bits<32){if(have===0)break inf_leave;have--,hold+=input[next++]<>>16^65535)){strm.msg=\"invalid stored block lengths\",state.mode=BAD;break}if(state.length=hold&65535,hold=0,bits=0,state.mode=COPY_,flush===Z_TREES)break inf_leave;case COPY_:state.mode=COPY;case COPY:if(copy=state.length,copy){if(copy>have)copy=have;if(copy>left)copy=left;if(copy===0)break inf_leave;utils.arraySet(output,input,next,copy,put),have-=copy,next+=copy,left-=copy,put+=copy,state.length-=copy;break}state.mode=TYPE;break;case TABLE:while(bits<14){if(have===0)break inf_leave;have--,hold+=input[next++]<>>=5,bits-=5,state.ndist=(hold&31)+1,hold>>>=5,bits-=5,state.ncode=(hold&15)+4,hold>>>=4,bits-=4,state.nlen>286||state.ndist>30){strm.msg=\"too many length or distance symbols\",state.mode=BAD;break}state.have=0,state.mode=LENLENS;case LENLENS:while(state.have>>=3,bits-=3}while(state.have<19)state.lens[order[state.have++]]=0;if(state.lencode=state.lendyn,state.lenbits=7,opts={bits:state.lenbits},ret=inflate_table(CODES,state.lens,0,19,state.lencode,0,state.work,opts),state.lenbits=opts.bits,ret){strm.msg=\"invalid code lengths set\",state.mode=BAD;break}state.have=0,state.mode=CODELENS;case CODELENS:while(state.have>>24,here_op=here>>>16&255,here_val=here&65535,here_bits<=bits)break;if(have===0)break inf_leave;have--,hold+=input[next++]<>>=here_bits,bits-=here_bits,state.lens[state.have++]=here_val;else{if(here_val===16){n=here_bits+2;while(bits>>=here_bits,bits-=here_bits,state.have===0){strm.msg=\"invalid bit length repeat\",state.mode=BAD;break}len=state.lens[state.have-1],copy=3+(hold&3),hold>>>=2,bits-=2}else if(here_val===17){n=here_bits+3;while(bits>>=here_bits,bits-=here_bits,len=0,copy=3+(hold&7),hold>>>=3,bits-=3}else{n=here_bits+7;while(bits>>=here_bits,bits-=here_bits,len=0,copy=11+(hold&127),hold>>>=7,bits-=7}if(state.have+copy>state.nlen+state.ndist){strm.msg=\"invalid bit length repeat\",state.mode=BAD;break}while(copy--)state.lens[state.have++]=len}}if(state.mode===BAD)break;if(state.lens[256]===0){strm.msg=\"invalid code -- missing end-of-block\",state.mode=BAD;break}if(state.lenbits=9,opts={bits:state.lenbits},ret=inflate_table(LENS,state.lens,0,state.nlen,state.lencode,0,state.work,opts),state.lenbits=opts.bits,ret){strm.msg=\"invalid literal/lengths set\",state.mode=BAD;break}if(state.distbits=6,state.distcode=state.distdyn,opts={bits:state.distbits},ret=inflate_table(DISTS,state.lens,state.nlen,state.ndist,state.distcode,0,state.work,opts),state.distbits=opts.bits,ret){strm.msg=\"invalid distances set\",state.mode=BAD;break}if(state.mode=LEN_,flush===Z_TREES)break inf_leave;case LEN_:state.mode=LEN;case LEN:if(have>=6&&left>=258){if(strm.next_out=put,strm.avail_out=left,strm.next_in=next,strm.avail_in=have,state.hold=hold,state.bits=bits,inflate_fast(strm,_out),put=strm.next_out,output=strm.output,left=strm.avail_out,next=strm.next_in,input=strm.input,have=strm.avail_in,hold=state.hold,bits=state.bits,state.mode===TYPE)state.back=-1;break}state.back=0;for(;;){if(here=state.lencode[hold&(1<>>24,here_op=here>>>16&255,here_val=here&65535,here_bits<=bits)break;if(have===0)break inf_leave;have--,hold+=input[next++]<>last_bits)],here_bits=here>>>24,here_op=here>>>16&255,here_val=here&65535,last_bits+here_bits<=bits)break;if(have===0)break inf_leave;have--,hold+=input[next++]<>>=last_bits,bits-=last_bits,state.back+=last_bits}if(hold>>>=here_bits,bits-=here_bits,state.back+=here_bits,state.length=here_val,here_op===0){state.mode=LIT;break}if(here_op&32){state.back=-1,state.mode=TYPE;break}if(here_op&64){strm.msg=\"invalid literal/length code\",state.mode=BAD;break}state.extra=here_op&15,state.mode=LENEXT;case LENEXT:if(state.extra){n=state.extra;while(bits>>=state.extra,bits-=state.extra,state.back+=state.extra}state.was=state.length,state.mode=DIST;case DIST:for(;;){if(here=state.distcode[hold&(1<>>24,here_op=here>>>16&255,here_val=here&65535,here_bits<=bits)break;if(have===0)break inf_leave;have--,hold+=input[next++]<>last_bits)],here_bits=here>>>24,here_op=here>>>16&255,here_val=here&65535,last_bits+here_bits<=bits)break;if(have===0)break inf_leave;have--,hold+=input[next++]<>>=last_bits,bits-=last_bits,state.back+=last_bits}if(hold>>>=here_bits,bits-=here_bits,state.back+=here_bits,here_op&64){strm.msg=\"invalid distance code\",state.mode=BAD;break}state.offset=here_val,state.extra=here_op&15,state.mode=DISTEXT;case DISTEXT:if(state.extra){n=state.extra;while(bits>>=state.extra,bits-=state.extra,state.back+=state.extra}if(state.offset>state.dmax){strm.msg=\"invalid distance too far back\",state.mode=BAD;break}state.mode=MATCH;case MATCH:if(left===0)break inf_leave;if(copy=_out-left,state.offset>copy){if(copy=state.offset-copy,copy>state.whave){if(state.sane){strm.msg=\"invalid distance too far back\",state.mode=BAD;break}}if(copy>state.wnext)copy-=state.wnext,from=state.wsize-copy;else from=state.wnext-copy;if(copy>state.length)copy=state.length;from_source=state.window}else from_source=output,from=put-state.offset,copy=state.length;if(copy>left)copy=left;left-=copy,state.length-=copy;do output[put++]=from_source[from++];while(--copy);if(state.length===0)state.mode=LEN;break;case LIT:if(left===0)break inf_leave;output[put++]=state.length,left--,state.mode=LEN;break;case CHECK:if(state.wrap){while(bits<32){if(have===0)break inf_leave;have--,hold|=input[next++]<exports.UNZIP)@throwTypeError(\"Bad argument\");this.dictionary=null,this.err=0,this.flush=0,this.init_done=!1,this.level=0,this.memLevel=0,this.mode=mode,this.strategy=0,this.windowBits=0,this.write_in_progress=!1,this.pending_close=!1,this.gzip_id_bytes_read=0}Zlib.prototype.close=function(){if(this.write_in_progress){this.pending_close=!0;return}if(this.pending_close=!1,assert(this.init_done,\"close before init\"),assert(this.mode<=exports.UNZIP),this.mode===exports.DEFLATE||this.mode===exports.GZIP||this.mode===exports.DEFLATERAW)zlib_deflate.deflateEnd(this.strm);else if(this.mode===exports.INFLATE||this.mode===exports.GUNZIP||this.mode===exports.INFLATERAW||this.mode===exports.UNZIP)zlib_inflate.inflateEnd(this.strm);this.mode=exports.NONE,this.dictionary=null},Zlib.prototype.write=function(flush,input,in_off,in_len,out,out_off,out_len){return this._write(!0,flush,input,in_off,in_len,out,out_off,out_len)},Zlib.prototype.writeSync=function(flush,input,in_off,in_len,out,out_off,out_len){return this._write(!1,flush,input,in_off,in_len,out,out_off,out_len)},Zlib.prototype._write=function(async,flush,input,in_off,in_len,out,out_off,out_len){if(assert.equal(arguments.length,8),assert(this.init_done,\"write before init\"),assert(this.mode!==exports.NONE,\"already finalized\"),assert.equal(!1,this.write_in_progress,\"write already in progress\"),assert.equal(!1,this.pending_close,\"close is pending\"),this.write_in_progress=!0,assert.equal(!1,flush===void 0,\"must provide flush value\"),this.write_in_progress=!0,flush!==exports.Z_NO_FLUSH&&flush!==exports.Z_PARTIAL_FLUSH&&flush!==exports.Z_SYNC_FLUSH&&flush!==exports.Z_FULL_FLUSH&&flush!==exports.Z_FINISH&&flush!==exports.Z_BLOCK)throw new Error(\"Invalid flush value\");if(input==null)input=Buffer.alloc(0),in_len=0,in_off=0;if(this.strm.avail_in=in_len,this.strm.input=input,this.strm.next_in=in_off,this.strm.avail_out=out_len,this.strm.output=out,this.strm.next_out=out_off,this.flush=flush,!async){if(this._process(),this._checkError())return this._afterSync();return}var self=this;return process.nextTick(function(){self._process(),self._after()}),this},Zlib.prototype._afterSync=function(){var avail_out=this.strm.avail_out,avail_in=this.strm.avail_in;return this.write_in_progress=!1,[avail_in,avail_out]},Zlib.prototype._process=function(){var next_expected_header_byte=null;switch(this.mode){case exports.DEFLATE:case exports.GZIP:case exports.DEFLATERAW:this.err=zlib_deflate.deflate(this.strm,this.flush);break;case exports.UNZIP:if(this.strm.avail_in>0)next_expected_header_byte=this.strm.next_in;switch(this.gzip_id_bytes_read){case 0:if(next_expected_header_byte===null)break;if(this.strm.input[next_expected_header_byte]===GZIP_HEADER_ID1){if(this.gzip_id_bytes_read=1,next_expected_header_byte++,this.strm.avail_in===1)break}else{this.mode=exports.INFLATE;break}case 1:if(next_expected_header_byte===null)break;if(this.strm.input[next_expected_header_byte]===GZIP_HEADER_ID2)this.gzip_id_bytes_read=2,this.mode=exports.GUNZIP;else this.mode=exports.INFLATE;break;default:throw new Error(\"invalid number of gzip magic number bytes read\")}case exports.INFLATE:case exports.GUNZIP:case exports.INFLATERAW:if(this.err=zlib_inflate.inflate(this.strm,this.flush),this.err===exports.Z_NEED_DICT&&this.dictionary){if(this.err=zlib_inflate.inflateSetDictionary(this.strm,this.dictionary),this.err===exports.Z_OK)this.err=zlib_inflate.inflate(this.strm,this.flush);else if(this.err===exports.Z_DATA_ERROR)this.err=exports.Z_NEED_DICT}while(this.strm.avail_in>0&&this.mode===exports.GUNZIP&&this.err===exports.Z_STREAM_END&&this.strm.next_in[0]!==0)this.reset(),this.err=zlib_inflate.inflate(this.strm,this.flush);break;default:throw new Error(\"Unknown mode \"+this.mode)}},Zlib.prototype._checkError=function(){switch(this.err){case exports.Z_OK:case exports.Z_BUF_ERROR:if(this.strm.avail_out!==0&&this.flush===exports.Z_FINISH)return this._error(\"unexpected end of file\"),!1;break;case exports.Z_STREAM_END:break;case exports.Z_NEED_DICT:if(this.dictionary==null)this._error(\"Missing dictionary\");else this._error(\"Bad dictionary\");return!1;default:return this._error(\"Zlib error\"),!1}return!0},Zlib.prototype._after=function(){if(!this._checkError())return;var avail_out=this.strm.avail_out,avail_in=this.strm.avail_in;if(this.write_in_progress=!1,this.callback(avail_in,avail_out),this.pending_close)this.close()},Zlib.prototype._error=function(message){if(this.strm.msg)message=this.strm.msg;if(this.onerror(message,this.err),this.write_in_progress=!1,this.pending_close)this.close()},Zlib.prototype.init=function(windowBits,level,memLevel,strategy,dictionary){assert(arguments.length===4||arguments.length===5,\"init(windowBits, level, memLevel, strategy, [dictionary])\"),assert(windowBits>=8&&windowBits<=15,\"invalid windowBits\"),assert(level>=-1&&level<=9,\"invalid compression level\"),assert(memLevel>=1&&memLevel<=9,\"invalid memlevel\"),assert(strategy===exports.Z_FILTERED||strategy===exports.Z_HUFFMAN_ONLY||strategy===exports.Z_RLE||strategy===exports.Z_FIXED||strategy===exports.Z_DEFAULT_STRATEGY,\"invalid strategy\"),this._init(level,windowBits,memLevel,strategy,dictionary),this._setDictionary()},Zlib.prototype.params=function(){throw new Error(\"deflateParams Not supported\")},Zlib.prototype.reset=function(){this._reset(),this._setDictionary()},Zlib.prototype._init=function(level,windowBits,memLevel,strategy,dictionary){if(this.level=level,this.windowBits=windowBits,this.memLevel=memLevel,this.strategy=strategy,this.flush=exports.Z_NO_FLUSH,this.err=exports.Z_OK,this.mode===exports.GZIP||this.mode===exports.GUNZIP)this.windowBits+=16;if(this.mode===exports.UNZIP)this.windowBits+=32;if(this.mode===exports.DEFLATERAW||this.mode===exports.INFLATERAW)this.windowBits=-1*this.windowBits;switch(this.strm=new Zstream,this.mode){case exports.DEFLATE:case exports.GZIP:case exports.DEFLATERAW:this.err=zlib_deflate.deflateInit2(this.strm,this.level,exports.Z_DEFLATED,this.windowBits,this.memLevel,this.strategy);break;case exports.INFLATE:case exports.GUNZIP:case exports.INFLATERAW:case exports.UNZIP:this.err=zlib_inflate.inflateInit2(this.strm,this.windowBits);break;default:throw new Error(\"Unknown mode \"+this.mode)}if(this.err!==exports.Z_OK)this._error(\"Init error\");this.dictionary=dictionary,this.write_in_progress=!1,this.init_done=!0},Zlib.prototype._setDictionary=function(){if(this.dictionary==null)return;switch(this.err=exports.Z_OK,this.mode){case exports.DEFLATE:case exports.DEFLATERAW:this.err=zlib_deflate.deflateSetDictionary(this.strm,this.dictionary);break;default:break}if(this.err!==exports.Z_OK)this._error(\"Failed to set dictionary\")},Zlib.prototype._reset=function(){switch(this.err=exports.Z_OK,this.mode){case exports.DEFLATE:case exports.DEFLATERAW:case exports.GZIP:this.err=zlib_deflate.deflateReset(this.strm);break;case exports.INFLATE:case exports.INFLATERAW:case exports.GUNZIP:this.err=zlib_inflate.inflateReset(this.strm);break;default:break}if(this.err!==exports.Z_OK)this._error(\"Failed to reset stream\")},exports.Zlib=Zlib}}),require_lib=__commonJS({\"node_modules/browserify-zlib/lib/index.js\"(exports){var Buffer2=BufferModule.Buffer,Transform=StreamModule.Transform,binding=require_binding(),util=Util,kMaxLength=BufferModule.kMaxLength,kRangeErrorMessage=\"Cannot create final Buffer. It would be larger than 0x\"+kMaxLength.toString(16)+\" bytes\";binding.Z_MIN_WINDOWBITS=8,binding.Z_MAX_WINDOWBITS=15,binding.Z_DEFAULT_WINDOWBITS=15,binding.Z_MIN_CHUNK=64,binding.Z_MAX_CHUNK=Infinity,binding.Z_DEFAULT_CHUNK=16384,binding.Z_MIN_MEMLEVEL=1,binding.Z_MAX_MEMLEVEL=9,binding.Z_DEFAULT_MEMLEVEL=8,binding.Z_MIN_LEVEL=-1,binding.Z_MAX_LEVEL=9,binding.Z_DEFAULT_LEVEL=binding.Z_DEFAULT_COMPRESSION;var bkeys=Object.keys(binding);for(bk=0;bk=kMaxLength)err=new RangeError(kRangeErrorMessage);else buf=Buffer2.concat(buffers,nread);buffers=[],engine.close(),callback(err,buf)}}function zlibBufferSync(engine,buffer){if(typeof buffer===\"string\")buffer=Buffer2.from(buffer);if(!Buffer2.isBuffer(buffer))@throwTypeError(\"Not a string or buffer\");var flushFlag=engine._finishFlushFlag;return engine._processChunk(buffer,flushFlag)}function Deflate(opts){if(!(this instanceof Deflate))return new Deflate(opts);Zlib.call(this,opts,binding.DEFLATE)}function Inflate(opts){if(!(this instanceof Inflate))return new Inflate(opts);Zlib.call(this,opts,binding.INFLATE)}function Gzip(opts){if(!(this instanceof Gzip))return new Gzip(opts);Zlib.call(this,opts,binding.GZIP)}function Gunzip(opts){if(!(this instanceof Gunzip))return new Gunzip(opts);Zlib.call(this,opts,binding.GUNZIP)}function DeflateRaw(opts){if(!(this instanceof DeflateRaw))return new DeflateRaw(opts);Zlib.call(this,opts,binding.DEFLATERAW)}function InflateRaw(opts){if(!(this instanceof InflateRaw))return new InflateRaw(opts);Zlib.call(this,opts,binding.INFLATERAW)}function Unzip(opts){if(!(this instanceof Unzip))return new Unzip(opts);Zlib.call(this,opts,binding.UNZIP)}function isValidFlushFlag(flag){return flag===binding.Z_NO_FLUSH||flag===binding.Z_PARTIAL_FLUSH||flag===binding.Z_SYNC_FLUSH||flag===binding.Z_FULL_FLUSH||flag===binding.Z_FINISH||flag===binding.Z_BLOCK}function Zlib(opts,mode){var _this=this;if(this._opts=opts=opts||{},this._chunkSize=opts.chunkSize||exports.Z_DEFAULT_CHUNK,Transform.call(this,opts),opts.flush&&!isValidFlushFlag(opts.flush))throw new Error(\"Invalid flush flag: \"+opts.flush);if(opts.finishFlush&&!isValidFlushFlag(opts.finishFlush))throw new Error(\"Invalid flush flag: \"+opts.finishFlush);if(this._flushFlag=opts.flush||binding.Z_NO_FLUSH,this._finishFlushFlag=typeof opts.finishFlush!==\"undefined\"\?opts.finishFlush:binding.Z_FINISH,opts.chunkSize){if(opts.chunkSizeexports.Z_MAX_CHUNK)throw new Error(\"Invalid chunk size: \"+opts.chunkSize)}if(opts.windowBits){if(opts.windowBitsexports.Z_MAX_WINDOWBITS)throw new Error(\"Invalid windowBits: \"+opts.windowBits)}if(opts.level){if(opts.levelexports.Z_MAX_LEVEL)throw new Error(\"Invalid compression level: \"+opts.level)}if(opts.memLevel){if(opts.memLevelexports.Z_MAX_MEMLEVEL)throw new Error(\"Invalid memLevel: \"+opts.memLevel)}if(opts.strategy){if(opts.strategy!=exports.Z_FILTERED&&opts.strategy!=exports.Z_HUFFMAN_ONLY&&opts.strategy!=exports.Z_RLE&&opts.strategy!=exports.Z_FIXED&&opts.strategy!=exports.Z_DEFAULT_STRATEGY)throw new Error(\"Invalid strategy: \"+opts.strategy)}if(opts.dictionary){if(!Buffer2.isBuffer(opts.dictionary))throw new Error(\"Invalid dictionary: it should be a Buffer instance\")}this._handle=new binding.Zlib(mode);var self=this;this._hadError=!1,this._handle.onerror=function(message,errno){_close(self),self._hadError=!0;var error=new Error(message);error.errno=errno,error.code=exports.codes[errno],self.emit(\"error\",error)};var level=exports.Z_DEFAULT_COMPRESSION;if(typeof opts.level===\"number\")level=opts.level;var strategy=exports.Z_DEFAULT_STRATEGY;if(typeof opts.strategy===\"number\")strategy=opts.strategy;this._handle.init(opts.windowBits||exports.Z_DEFAULT_WINDOWBITS,level,opts.memLevel||exports.Z_DEFAULT_MEMLEVEL,strategy,opts.dictionary),this._buffer=Buffer2.allocUnsafe(this._chunkSize),this._offset=0,this._level=level,this._strategy=strategy,this.once(\"end\",this.close),Object.defineProperty(this,\"_closed\",{get:function(){return!_this._handle},configurable:!0,enumerable:!0})}util.inherits(Zlib,Transform),Zlib.prototype.params=function(level,strategy,callback){if(levelexports.Z_MAX_LEVEL)@throwRangeError(\"Invalid compression level: \"+level);if(strategy!=exports.Z_FILTERED&&strategy!=exports.Z_HUFFMAN_ONLY&&strategy!=exports.Z_RLE&&strategy!=exports.Z_FIXED&&strategy!=exports.Z_DEFAULT_STRATEGY)@throwTypeError(\"Invalid strategy: \"+strategy);if(this._level!==level||this._strategy!==strategy){var self=this;this.flush(binding.Z_SYNC_FLUSH,function(){if(assert(self._handle,\"zlib binding closed\"),self._handle.params(level,strategy),!self._hadError){if(self._level=level,self._strategy=strategy,callback)callback()}})}else process.nextTick(callback)},Zlib.prototype.reset=function(){return assert(this._handle,\"zlib binding closed\"),this._handle.reset()},Zlib.prototype._flush=function(callback){this._transform(Buffer2.alloc(0),\"\",callback)},Zlib.prototype.flush=function(kind,callback){var _this2=this,ws=this._writableState;if(typeof kind===\"function\"||kind===void 0&&!callback)callback=kind,kind=binding.Z_FULL_FLUSH;if(ws.ended){if(callback)process.nextTick(callback)}else if(ws.ending){if(callback)this.once(\"end\",callback)}else if(ws.needDrain){if(callback)this.once(\"drain\",function(){return _this2.flush(kind,callback)})}else this._flushFlag=kind,this.write(Buffer2.alloc(0),\"\",callback)},Zlib.prototype.close=function(callback){_close(this,callback),process.nextTick(emitCloseNT,this)};function _close(engine,callback){if(callback)process.nextTick(callback);if(!engine._handle)return;engine._handle.close(),engine._handle=null}function emitCloseNT(self){self.emit(\"close\")}Zlib.prototype._transform=function(chunk,encoding,cb){var flushFlag,ws=this._writableState,ending=ws.ending||ws.ended,last=ending&&(!chunk||ws.length===chunk.length);if(chunk!==null&&!Buffer2.isBuffer(chunk))return cb(new Error(\"invalid input\"));if(!this._handle)return cb(new Error(\"zlib binding closed\"));if(last)flushFlag=this._finishFlushFlag;else if(flushFlag=this._flushFlag,chunk.length>=ws.length)this._flushFlag=this._opts.flush||binding.Z_NO_FLUSH;this._processChunk(chunk,flushFlag,cb)},Zlib.prototype._processChunk=function(chunk,flushFlag,cb){var availInBefore=chunk&&chunk.length,availOutBefore=this._chunkSize-this._offset,inOff=0,self=this,async=typeof cb===\"function\";if(!async){var buffers=[],nread=0,error;this.on(\"error\",function(er){error=er}),assert(this._handle,\"zlib binding closed\");do var res=this._handle.writeSync(flushFlag,chunk,inOff,availInBefore,this._buffer,this._offset,availOutBefore);while(!this._hadError&&callback(res[0],res[1]));if(this._hadError)throw error;if(nread>=kMaxLength)_close(this),@throwRangeError(kRangeErrorMessage);var buf=Buffer2.concat(buffers,nread);return _close(this),buf}assert(this._handle,\"zlib binding closed\");var req=this._handle.write(flushFlag,chunk,inOff,availInBefore,this._buffer,this._offset,availOutBefore);req.buffer=chunk,req.callback=callback;function callback(availInAfter,availOutAfter){if(this)this.buffer=null,this.callback=null;if(self._hadError)return;var have=availOutBefore-availOutAfter;if(assert(have>=0,\"have should not go down\"),have>0){var out=self._buffer.slice(self._offset,self._offset+have);if(self._offset+=have,async)self.push(out);else buffers.push(out),nread+=out.length}if(availOutAfter===0||self._offset>=self._chunkSize)availOutBefore=self._chunkSize,self._offset=0,self._buffer=Buffer2.allocUnsafe(self._chunkSize);if(availOutAfter===0){if(inOff+=availInBefore-availInAfter,availInBefore=availInAfter,!async)return!0;var newReq=self._handle.write(flushFlag,chunk,inOff,availInBefore,self._buffer,self._offset,self._chunkSize);newReq.callback=callback,newReq.buffer=chunk;return}if(!async)return!1;cb()}},util.inherits(Deflate,Zlib),util.inherits(Inflate,Zlib),util.inherits(Gzip,Zlib),util.inherits(Gunzip,Zlib),util.inherits(DeflateRaw,Zlib),util.inherits(InflateRaw,Zlib),util.inherits(Unzip,Zlib)}});return require_lib()})\n"_s; +static constexpr ASCIILiteral ThirdpartyDepdCode = "(function (){\"use strict\";var $=function depd(namespace){if(!namespace)@throwTypeError(\"argument namespace is required\");function deprecate(message){}return deprecate._file=void 0,deprecate._ignored=!0,deprecate._namespace=namespace,deprecate._traced=!1,deprecate._warned=Object.create(null),deprecate.function=wrapfunction,deprecate.property=wrapproperty,deprecate};function wrapfunction(fn,message){if(typeof fn!==\"function\")@throwTypeError(\"argument fn must be a function\");return fn}function wrapproperty(obj,prop,message){if(!obj||typeof obj!==\"object\"&&typeof obj!==\"function\")@throwTypeError(\"argument obj must be object\");var descriptor=Object.getOwnPropertyDescriptor(obj,prop);if(!descriptor)@throwTypeError(\"must call property on owner object\");if(!descriptor.configurable)@throwTypeError(\"property must be configurable\")}return $})\n"_s; +static constexpr ASCIILiteral ThirdpartyDetectLibcCode = "(function (){\"use strict\";function family(){return Promise.resolve(familySync())}function familySync(){return null}const GLIBC=\"glibc\",MUSL=\"musl\";function versionAsync(){return Promise.resolve(version())}function version(){return null}function isNonGlibcLinuxSync(){return!1}function isNonGlibcLinux(){return Promise.resolve(isNonGlibcLinuxSync())}return{GLIBC,MUSL,family,familySync,isNonGlibcLinux,isNonGlibcLinuxSync,version,versionAsync}})\n"_s; +static constexpr ASCIILiteral ThirdpartyDetectLibcLinuxCode = "(function (){\"use strict\";function family(){return Promise.resolve(familySync())}function familySync(){return GLIBC}const GLIBC=\"glibc\",MUSL=\"musl\";function versionAsync(){return Promise.resolve(version())}function version(){return\"2.29\"}function isNonGlibcLinuxSync(){return!1}function isNonGlibcLinux(){return Promise.resolve(isNonGlibcLinuxSync())}return{GLIBC,MUSL,family,familySync,isNonGlibcLinux,isNonGlibcLinuxSync,version,versionAsync}})\n"_s; +static constexpr ASCIILiteral ThirdpartyUndiciCode = "(function (){\"use strict\";const EventEmitter=@requireId(13),StreamModule=@requireId(30),{Readable}=StreamModule,{_ReadableFromWebForUndici:ReadableFromWeb}=StreamModule[Symbol.for(\"::bunternal::\")],ObjectCreate=Object.create,kEmptyObject=ObjectCreate(null);var fetch=Bun.fetch,Response=globalThis.Response,Headers=globalThis.Headers,Request=globalThis.Request,URLSearchParams=globalThis.URLSearchParams,URL=globalThis.URL;class File extends Blob{constructor(){super(...arguments)}}class FileReader extends EventTarget{constructor(){throw new Error(\"Not implemented yet!\")}}var FormData=globalThis.FormData;function notImplemented(){throw new Error(\"Not implemented in bun\")}class BodyReadable extends ReadableFromWeb{#response;#bodyUsed;constructor(response,options={}){var{body}=response;if(!body)throw new Error(\"Response body is null\");super(options,body);this.#response=response,this.#bodyUsed=response.bodyUsed}get bodyUsed(){return this.#bodyUsed}#consume(){if(this.#bodyUsed)@throwTypeError(\"unusable\");this.#bodyUsed=!0}async arrayBuffer(){return this.#consume(),await this.#response.arrayBuffer()}async blob(){return this.#consume(),await this.#response.blob()}async formData(){return this.#consume(),await this.#response.formData()}async json(){return this.#consume(),await this.#response.json()}async text(){return this.#consume(),await this.#response.text()}}async function request(url,options={method:\"GET\",signal:null,headers:null,query:null,reset:!1,throwOnError:!1,body:null}){let{method=\"GET\",headers:inputHeaders,query,signal,reset=!1,throwOnError=!1,body:inputBody,maxRedirections}=options;if(typeof url===\"string\"){if(query)url=new URL(url)}else if(typeof url===\"object\"&&url!==null){if(!(url instanceof URL))throw new Error(\"not implemented\")}else @throwTypeError(\"url must be a string, URL, or UrlObject\");if(typeof url===\"string\"&&query)url=new URL(url);if(typeof url===\"object\"&&url!==null&&query){if(query)url.search=new URLSearchParams(query).toString()}if(method=method&&typeof method===\"string\"\?method.toUpperCase():null,inputBody&&(method===\"GET\"||method===\"HEAD\"))throw new Error(\"Body not allowed for GET or HEAD requests\");if(inputBody&&inputBody.read&&inputBody instanceof Readable){let data=\"\";inputBody.setEncoding(\"utf8\");for await(let chunk of stream)data+=chunk;inputBody=(new TextEncoder()).encode(data)}if(maxRedirections!==void 0&&Number.isNaN(maxRedirections))throw new Error(\"maxRedirections must be a number if defined\");if(signal&&!(signal instanceof AbortSignal))throw new Error(\"signal must be an instance of AbortSignal\");let resp;const{status:statusCode,headers,trailers}=resp=await fetch(url,{signal,mode:\"cors\",method,headers:inputHeaders||kEmptyObject,body:inputBody,redirect:maxRedirections===\"undefined\"||maxRedirections>0\?\"follow\":\"manual\",keepalive:!reset});if(throwOnError&&statusCode>=400&&statusCode<600)throw new Error(`Request failed with status code ${statusCode}`);const body=resp.body\?new BodyReadable(resp):null;return{statusCode,headers:headers.toJSON(),body,trailers,opaque:kEmptyObject,context:kEmptyObject}}function stream(){throw new Error(\"Not implemented in bun\")}function pipeline(){throw new Error(\"Not implemented in bun\")}function connect(){throw new Error(\"Not implemented in bun\")}function upgrade(){throw new Error(\"Not implemented in bun\")}class MockClient{constructor(){throw new Error(\"Not implemented in bun\")}}class MockPool{constructor(){throw new Error(\"Not implemented in bun\")}}class MockAgent{constructor(){throw new Error(\"Not implemented in bun\")}}function mockErrors(){throw new Error(\"Not implemented in bun\")}function Undici(){throw new Error(\"Not implemented in bun\")}class Dispatcher extends EventEmitter{constructor(){super(...arguments)}}class Agent extends Dispatcher{constructor(){super(...arguments)}}class Pool extends Dispatcher{constructor(){super(...arguments)}request(){throw new Error(\"Not implemented in bun\")}}class BalancedPool extends Dispatcher{constructor(){super(...arguments)}}class Client extends Dispatcher{constructor(){super(...arguments)}request(){throw new Error(\"Not implemented in bun\")}}return Undici.Dispatcher=Dispatcher,Undici.Pool=Pool,Undici.BalancedPool=BalancedPool,Undici.Client=Client,Undici.Agent=Agent,Undici.buildConnector=Undici.errors=Undici.setGlobalDispatcher=Undici.getGlobalDispatcher=Undici.request=Undici.stream=Undici.pipeline=Undici.connect=Undici.upgrade=Undici.MockClient=Undici.MockPool=Undici.MockAgent=Undici.mockErrors=notImplemented,Undici.fetch=fetch,{fetch,Response,Headers,Request,URLSearchParams,URL,File,FileReader,FormData,request,stream,pipeline,connect,upgrade,MockClient,MockPool,MockAgent,mockErrors,Dispatcher,Pool,BalancedPool,Client,Agent,Undici}})\n"_s; +static constexpr ASCIILiteral ThirdpartyWSCode = "(function (){\"use strict\";const EventEmitter=@requireId(13),http=@requireId(16),kBunInternals=Symbol.for(\"::bunternal::\"),readyStates=[\"CONNECTING\",\"OPEN\",\"CLOSING\",\"CLOSED\"],encoder=new TextEncoder,eventIds={open:1,close:2,message:3,error:4,ping:5,pong:6},emittedWarnings=new Set;function emitWarning(type,message){if(emittedWarnings.has(type))return;emittedWarnings.add(type),console.warn(\"[bun] Warning:\",message)}class BunWebSocket extends EventEmitter{static CONNECTING=0;static OPEN=1;static CLOSING=2;static CLOSED=3;#ws;#paused=!1;#fragments=!1;#binaryType=\"nodebuffer\";#eventId=0;constructor(url,protocols,options){super();let ws=this.#ws=new WebSocket(url,protocols);ws.binaryType=\"nodebuffer\"}on(event,listener){if(event===\"unexpected-response\"||event===\"upgrade\"||event===\"redirect\")emitWarning(event,\"ws.WebSocket '\"+event+\"' event is not implemented in bun\");const mask=1<{this.emit(\"open\")});else if(event===\"close\")this.#ws.addEventListener(\"close\",({code,reason,wasClean})=>{this.emit(\"close\",code,reason,wasClean)});else if(event===\"message\")this.#ws.addEventListener(\"message\",({data})=>{const isBinary=typeof data!==\"string\";if(isBinary)this.emit(\"message\",this.#fragments\?[data]:data,isBinary);else{let encoded=encoder.encode(data);if(this.#binaryType!==\"arraybuffer\")encoded=Buffer.from(encoded.buffer,encoded.byteOffset,encoded.byteLength);this.emit(\"message\",this.#fragments\?[encoded]:encoded,isBinary)}});else if(event===\"error\")this.#ws.addEventListener(\"error\",(err)=>{this.emit(\"error\",err)});else if(event===\"ping\")this.#ws.addEventListener(\"ping\",({data})=>{this.emit(\"ping\",data)});else if(event===\"pong\")this.#ws.addEventListener(\"pong\",({data})=>{this.emit(\"pong\",data)})}return super.on(event,listener)}send(data,opts,cb){try{this.#ws.send(data,opts\?.compress)}catch(error){typeof cb===\"function\"&&cb(error);return}typeof cb===\"function\"&&cb()}close(code,reason){this.#ws.close(code,reason)}terminate(){this.#ws.terminate()}get url(){return this.#ws.url}get readyState(){return this.#ws.readyState}get binaryType(){return this.#binaryType}set binaryType(value){if(value===\"nodebuffer\"||value===\"arraybuffer\")this.#ws.binaryType=this.#binaryType=value,this.#fragments=!1;else if(value===\"fragments\")this.#ws.binaryType=\"nodebuffer\",this.#binaryType=\"fragments\",this.#fragments=!0;else throw new Error(`Invalid binaryType: ${value}`)}get protocol(){return this.#ws.protocol}get extensions(){return this.#ws.extensions}addEventListener(type,listener,options){this.#ws.addEventListener(type,listener,options)}removeEventListener(type,listener){this.#ws.removeEventListener(type,listener)}get onopen(){return this.#ws.onopen}set onopen(value){this.#ws.onopen=value}get onerror(){return this.#ws.onerror}set onerror(value){this.#ws.onerror=value}get onclose(){return this.#ws.onclose}set onclose(value){this.#ws.onclose=value}get onmessage(){return this.#ws.onmessage}set onmessage(value){this.#ws.onmessage=value}get bufferedAmount(){return this.#ws.bufferedAmount}get isPaused(){return this.#paused}ping(data,mask,cb){if(typeof data===\"function\")cb=data,data=mask=void 0;else if(typeof mask===\"function\")cb=mask,mask=void 0;if(typeof data===\"number\")data=data.toString();try{this.#ws.ping(data)}catch(error){typeof cb===\"function\"&&cb(error);return}typeof cb===\"function\"&&cb()}pong(data,mask,cb){if(typeof data===\"function\")cb=data,data=mask=void 0;else if(typeof mask===\"function\")cb=mask,mask=void 0;if(typeof data===\"number\")data=data.toString();try{this.#ws.pong(data)}catch(error){typeof cb===\"function\"&&cb(error);return}typeof cb===\"function\"&&cb()}pause(){switch(this.readyState){case WebSocket.CONNECTING:case WebSocket.CLOSED:return}this.#paused=!0,emitWarning(\"pause()\",\"ws.WebSocket.pause() is not implemented in bun\")}resume(){switch(this.readyState){case WebSocket.CONNECTING:case WebSocket.CLOSED:return}this.#paused=!1,emitWarning(\"resume()\",\"ws.WebSocket.resume() is not implemented in bun\")}}Object.defineProperty(BunWebSocket,\"name\",{value:\"WebSocket\"});const wsKeyRegex=/^[+/0-9A-Za-z]{22}==$/,wsTokenChars=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,1,1,1,0,0,1,1,0,1,1,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0,1,0];function subprotocolParse(header){const protocols=new Set;let start=-1,end=-1,i=0;for(i;i{const body=http.STATUS_CODES[426];res.writeHead(426,{\"Content-Length\":body.length,\"Content-Type\":\"text/plain\"}),res.end(body)}),this._server.listen(options.port,options.host,options.backlog,callback);else if(options.server)this._server=options.server;if(this._server){const emitConnection=this.emit.bind(this,\"connection\"),emitListening=this.emit.bind(this,\"listening\"),emitError=this.emit.bind(this,\"error\"),doUpgrade=(req,socket,head)=>{this.handleUpgrade(req,socket,head,emitConnection)};this._server.on(\"listening\",emitListening),this._server.on(\"error\",emitError),this._server.on(\"upgrade\",doUpgrade),this._removeListeners=()=>{this._server.removeListener(\"upgrade\",doUpgrade),this._server.removeListener(\"listening\",emitListening),this._server.removeListener(\"error\",emitError)}}if(options.perMessageDeflate===!0)options.perMessageDeflate={};if(options.clientTracking)this.clients=new Set,this._shouldEmitClose=!1;this.options=options,this._state=RUNNING}address(){if(this.options.noServer)throw new Error('The server is operating in \"noServer\" mode');if(!this._server)return null;return this._server.address()}close(cb){if(this._state===CLOSED){if(cb)this.once(\"close\",()=>{cb(new Error(\"The server is not running\"))});process.nextTick((server)=>{server._state=CLOSED,server.emit(\"close\")},this);return}if(cb)this.once(\"close\",cb);if(this._state===CLOSING)return;if(this._state=CLOSING,this.options.noServer||this.options.server){if(this._server)this._removeListeners(),this._removeListeners=this._server=null;if(this.clients)if(!this.clients.size)process.nextTick((server)=>{server._state=CLOSED,server.emit(\"close\")},this);else this._shouldEmitClose=!0;else process.nextTick((server)=>{server._state=CLOSED,server.emit(\"close\")},this)}else{const server=this._server;this._removeListeners(),this._removeListeners=this._server=null,server.close(()=>{this._state=CLOSED,this.emit(\"close\")})}}shouldHandle(req){if(this.options.path){const index=req.url.indexOf(\"\?\");if((index!==-1\?req.url.slice(0,index):req.url)!==this.options.path)return!1}return!0}completeUpgrade(extensions,key,protocols,request,socket,head,cb){const[server,response,req]=socket[kBunInternals];if(this._state>RUNNING)return abortHandshake(response,503);let protocol=\"\";if(protocols.size)protocol=this.options.handleProtocols\?this.options.handleProtocols(protocols,request):protocols.values().next().value;const ws=new BunWebSocketMocked(request.url,protocol,extensions,\"nodebuffer\"),headers=[\"HTTP/1.1 101 Switching Protocols\",\"Upgrade: websocket\",\"Connection: Upgrade\"];if(this.emit(\"headers\",headers,request),server.upgrade(req,{data:ws[kBunInternals]})){if(response._reply(void 0),this.clients)this.clients.add(ws),ws.on(\"close\",()=>{if(this.clients.delete(ws),this._shouldEmitClose&&!this.clients.size)process.nextTick(wsEmitClose,this)});cb(ws,request)}else abortHandshake(response,500)}handleUpgrade(req,socket,head,cb){const[_,response]=socket[kBunInternals],key=req.headers[\"sec-websocket-key\"],version=+req.headers[\"sec-websocket-version\"];if(req.method!==\"GET\"){abortHandshakeOrEmitwsClientError(this,req,response,socket,405,\"Invalid HTTP method\");return}if(req.headers.upgrade.toLowerCase()!==\"websocket\"){abortHandshakeOrEmitwsClientError(this,req,response,socket,400,\"Invalid Upgrade header\");return}if(!key||!wsKeyRegex.test(key)){abortHandshakeOrEmitwsClientError(this,req,response,socket,400,\"Missing or invalid Sec-WebSocket-Key header\");return}if(version!==8&&version!==13){abortHandshakeOrEmitwsClientError(this,req,response,socket,400,\"Missing or invalid Sec-WebSocket-Version header\");return}if(!this.shouldHandle(req)){abortHandshake(response,400);return}const secWebSocketProtocol=req.headers[\"sec-websocket-protocol\"];let protocols=new Set;if(secWebSocketProtocol!==void 0)try{protocols=subprotocolParse(secWebSocketProtocol)}catch(err){abortHandshakeOrEmitwsClientError(this,req,response,socket,400,\"Invalid Sec-WebSocket-Protocol header\");return}const extensions={};if(this.options.verifyClient){const info={origin:req.headers[`${version===8\?\"sec-websocket-origin\":\"origin\"}`],secure:!!(req.socket.authorized||req.socket.encrypted),req};if(this.options.verifyClient.length===2){this.options.verifyClient(info,(verified,code,message,headers)=>{if(!verified)return abortHandshake(response,code||401,message,headers);this.completeUpgrade(extensions,key,protocols,req,socket,head,cb)});return}if(!this.options.verifyClient(info))return abortHandshake(response,401)}this.completeUpgrade(extensions,key,protocols,req,socket,head,cb)}}Object.defineProperty(BunWebSocket,\"CONNECTING\",{enumerable:!0,value:readyStates.indexOf(\"CONNECTING\")}),Object.defineProperty(BunWebSocket.prototype,\"CONNECTING\",{enumerable:!0,value:readyStates.indexOf(\"CONNECTING\")}),Object.defineProperty(BunWebSocket,\"OPEN\",{enumerable:!0,value:readyStates.indexOf(\"OPEN\")}),Object.defineProperty(BunWebSocket.prototype,\"OPEN\",{enumerable:!0,value:readyStates.indexOf(\"OPEN\")}),Object.defineProperty(BunWebSocket,\"CLOSING\",{enumerable:!0,value:readyStates.indexOf(\"CLOSING\")}),Object.defineProperty(BunWebSocket.prototype,\"CLOSING\",{enumerable:!0,value:readyStates.indexOf(\"CLOSING\")}),Object.defineProperty(BunWebSocket,\"CLOSED\",{enumerable:!0,value:readyStates.indexOf(\"CLOSED\")}),Object.defineProperty(BunWebSocket.prototype,\"CLOSED\",{enumerable:!0,value:readyStates.indexOf(\"CLOSED\")});class Sender{constructor(){throw new Error(\"Not supported yet in Bun\")}}class Receiver{constructor(){throw new Error(\"Not supported yet in Bun\")}}var createWebSocketStream=(ws)=>{throw new Error(\"Not supported yet in Bun\")};return Object.assign(BunWebSocket,{createWebSocketStream,Receiver,Sender,WebSocket:BunWebSocket,Server:WebSocketServer,WebSocketServer})})\n"_s; +#else +// Not 100% accurate, but basically inlining linux on non-windows non-mac platforms. +static constexpr ASCIILiteral BunFFICode = "(function (){\"use strict\";var ffi=globalThis.Bun.FFI;const ptr=(arg1,arg2)=>typeof arg2===\"undefined\"\?ffi.ptr(arg1):ffi.ptr(arg1,arg2),toBuffer=ffi.toBuffer,toArrayBuffer=ffi.toArrayBuffer,viewSource=ffi.viewSource,BunCString=ffi.CString,nativeLinkSymbols=ffi.linkSymbols,nativeDLOpen=ffi.dlopen,nativeCallback=ffi.callback,closeCallback=ffi.closeCallback;delete ffi.callback,delete ffi.closeCallback;class JSCallback{constructor(cb,options){const{ctx,ptr:ptr2}=nativeCallback(options,cb);this.#ctx=ctx,this.ptr=ptr2,this.#threadsafe=!!options\?.threadsafe}ptr;#ctx;#threadsafe;get threadsafe(){return this.#threadsafe}[Symbol.toPrimitive](){const{ptr:ptr2}=this;return typeof ptr2===\"number\"\?ptr2:0}close(){const ctx=this.#ctx;if(this.ptr=null,this.#ctx=null,ctx)closeCallback(ctx)}}class CString extends String{constructor(ptr2,byteOffset,byteLength){super(ptr2\?typeof byteLength===\"number\"&&Number.isSafeInteger(byteLength)\?new BunCString(ptr2,byteOffset||0,byteLength):new BunCString(ptr2):\"\");if(this.ptr=typeof ptr2===\"number\"\?ptr2:0,typeof byteOffset!==\"undefined\")this.byteOffset=byteOffset;if(typeof byteLength!==\"undefined\")this.byteLength=byteLength}ptr;byteOffset;byteLength;#cachedArrayBuffer;get arrayBuffer(){if(this.#cachedArrayBuffer)return this.#cachedArrayBuffer;if(!this.ptr)return this.#cachedArrayBuffer=new ArrayBuffer(0);return this.#cachedArrayBuffer=toArrayBuffer(this.ptr,this.byteOffset,this.byteLength)}}Object.defineProperty(globalThis,\"__GlobalBunCString\",{value:CString,enumerable:!1,configurable:!1});const ffiWrappers=new Array(18);var char=(val)=>val|0;ffiWrappers.fill(char),ffiWrappers[FFIType.uint8_t]=function uint8(val){return val<0\?0:val>=255\?255:val|0},ffiWrappers[FFIType.int16_t]=function int16(val){return val<=-32768\?-32768:val>=32768\?32768:val|0},ffiWrappers[FFIType.uint16_t]=function uint16(val){return val<=0\?0:val>=65536\?65536:val|0},ffiWrappers[FFIType.int32_t]=function int32(val){return val|0},ffiWrappers[FFIType.uint32_t]=function uint32(val){return val<=0\?0:val>=4294967295\?4294967295:+val||0},ffiWrappers[FFIType.i64_fast]=function int64(val){if(typeof val===\"bigint\"){if(val<=BigInt(Number.MAX_SAFE_INTEGER)&&val>=BigInt(-Number.MAX_SAFE_INTEGER))return Number(val).valueOf()||0;return val}return!val\?0:+val||0},ffiWrappers[FFIType.u64_fast]=function u64_fast(val){if(typeof val===\"bigint\"){if(val<=BigInt(Number.MAX_SAFE_INTEGER)&&val>=0)return Number(val).valueOf()||0;return val}return!val\?0:+val||0},ffiWrappers[FFIType.int64_t]=function int64(val){if(typeof val===\"bigint\")return val;if(typeof val===\"number\")return BigInt(val||0);return BigInt(+val||0)},ffiWrappers[FFIType.uint64_t]=function uint64(val){if(typeof val===\"bigint\")return val;if(typeof val===\"number\")return val<=0\?BigInt(0):BigInt(val||0);return BigInt(+val||0)},ffiWrappers[FFIType.u64_fast]=function u64_fast(val){if(typeof val===\"bigint\"){if(val<=BigInt(Number.MAX_SAFE_INTEGER)&&val>=BigInt(0))return Number(val);return val}return typeof val===\"number\"\?val<=0\?0:+val||0:+val||0},ffiWrappers[FFIType.uint16_t]=function uint16(val){const ret=(typeof val===\"bigint\"\?Number(val):val)|0;return ret<=0\?0:ret>65535\?65535:ret},ffiWrappers[FFIType.double]=function double(val){if(typeof val===\"bigint\"){if(val.valueOf()func(functionToCall);break;case 1:wrap=(arg1)=>func(functionToCall,arg1);break;case 2:wrap=(arg1,arg2)=>func(functionToCall,arg1,arg2);break;case 3:wrap=(arg1,arg2,arg3)=>func(functionToCall,arg1,arg2,arg3);break;case 4:wrap=(arg1,arg2,arg3,arg4)=>func(functionToCall,arg1,arg2,arg3,arg4);break;case 5:wrap=(arg1,arg2,arg3,arg4,arg5)=>func(functionToCall,arg1,arg2,arg3,arg4,arg5);break;case 6:wrap=(arg1,arg2,arg3,arg4,arg5,arg6)=>func(functionToCall,arg1,arg2,arg3,arg4,arg5,arg6);break;case 7:wrap=(arg1,arg2,arg3,arg4,arg5,arg6,arg7)=>func(functionToCall,arg1,arg2,arg3,arg4,arg5,arg6,arg7);break;case 8:wrap=(arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8)=>func(functionToCall,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8);break;case 9:wrap=(arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9)=>func(functionToCall,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9);break;default:{wrap=(...args2)=>func(functionToCall,...args2);break}}return wrap.native=functionToCall,wrap.ptr=functionToCall.ptr,wrap}const native={dlopen:nativeDLOpen,callback:()=>{throw new Error(\"Deprecated. Use new JSCallback(options, fn) instead\")}};function dlopen(path,options){const result=nativeDLOpen(path,options);for(let key in result.symbols){var symbol=result.symbols[key];if(options[key]\?.args\?.length||FFIType[options[key]\?.returns]===FFIType.cstring)result.symbols[key]=FFIBuilder(options[key].args\?\?[],options[key].returns\?\?FFIType.void,symbol,path.includes(\"/\")\?`${key} (${path.split(\"/\").pop()})`:`${key} (${path})`);else result.symbols[key].native=result.symbols[key]}return result}function linkSymbols(options){const result=nativeLinkSymbols(options);for(let key in result.symbols){var symbol=result.symbols[key];if(options[key]\?.args\?.length||FFIType[options[key]\?.returns]===FFIType.cstring)result.symbols[key]=FFIBuilder(options[key].args\?\?[],options[key].returns\?\?FFIType.void,symbol,key);else result.symbols[key].native=result.symbols[key]}return result}var cFunctionI=0,cFunctionRegistry;function onCloseCFunction(close){close()}function CFunction(options){const identifier=`CFunction${cFunctionI++}`;var result=linkSymbols({[identifier]:options}),hasClosed=!1,close=result.close;return result.symbols[identifier].close=()=>{if(hasClosed||!close)return;hasClosed=!0,close(),close=void 0},cFunctionRegistry||=new FinalizationRegistry(onCloseCFunction),cFunctionRegistry.register(result.symbols[identifier],result.symbols[identifier].close),result.symbols[identifier]}const read=ffi.read;return{CFunction,CString,FFIType,JSCallback,dlopen,linkSymbols,native,ptr,read,suffix,toArrayBuffer,toBuffer,viewSource}})\n"_s; +static constexpr ASCIILiteral BunSqliteCode = "(function (){\"use strict\";const lazy=@lazy;var defineProperties=Object.defineProperties,toStringTag=Symbol.toStringTag,isArray=Array.isArray,isTypedArray=ArrayBuffer.isView;const constants={SQLITE_OPEN_READONLY:1,SQLITE_OPEN_READWRITE:2,SQLITE_OPEN_CREATE:4,SQLITE_OPEN_DELETEONCLOSE:8,SQLITE_OPEN_EXCLUSIVE:16,SQLITE_OPEN_AUTOPROXY:32,SQLITE_OPEN_URI:64,SQLITE_OPEN_MEMORY:128,SQLITE_OPEN_MAIN_DB:256,SQLITE_OPEN_TEMP_DB:512,SQLITE_OPEN_TRANSIENT_DB:1024,SQLITE_OPEN_MAIN_JOURNAL:2048,SQLITE_OPEN_TEMP_JOURNAL:4096,SQLITE_OPEN_SUBJOURNAL:8192,SQLITE_OPEN_SUPER_JOURNAL:16384,SQLITE_OPEN_NOMUTEX:32768,SQLITE_OPEN_FULLMUTEX:65536,SQLITE_OPEN_SHAREDCACHE:131072,SQLITE_OPEN_PRIVATECACHE:262144,SQLITE_OPEN_WAL:524288,SQLITE_OPEN_NOFOLLOW:16777216,SQLITE_OPEN_EXRESCODE:33554432,SQLITE_PREPARE_PERSISTENT:1,SQLITE_PREPARE_NORMALIZE:2,SQLITE_PREPARE_NO_VTAB:4};var SQL,controllers;class Statement{constructor(raw){switch(this.#raw=raw,raw.paramsCount){case 0:{this.get=this.#getNoArgs,this.all=this.#allNoArgs,this.values=this.#valuesNoArgs,this.run=this.#runNoArgs;break}default:{this.get=this.#get,this.all=this.#all,this.values=this.#values,this.run=this.#run;break}}}#raw;get;all;values;run;isFinalized=!1;toJSON(){return{sql:this.native.toString(),isFinalized:this.isFinalized,paramsCount:this.paramsCount,columnNames:this.columnNames}}get[toStringTag](){return`\"${this.native.toString()}\"`}toString(){return this.native.toString()}get native(){return this.#raw}#getNoArgs(){return this.#raw.get()}#allNoArgs(){return this.#raw.all()}#valuesNoArgs(){return this.#raw.values()}#runNoArgs(){this.#raw.run()}#get(...args){if(args.length===0)return this.#getNoArgs();var arg0=args[0];return!isArray(arg0)&&(!arg0||typeof arg0!==\"object\"||isTypedArray(arg0))\?this.#raw.get(args):this.#raw.get(...args)}#all(...args){if(args.length===0)return this.#allNoArgs();var arg0=args[0];return!isArray(arg0)&&(!arg0||typeof arg0!==\"object\"||isTypedArray(arg0))\?this.#raw.all(args):this.#raw.all(...args)}#values(...args){if(args.length===0)return this.#valuesNoArgs();var arg0=args[0];return!isArray(arg0)&&(!arg0||typeof arg0!==\"object\"||isTypedArray(arg0))\?this.#raw.values(args):this.#raw.values(...args)}#run(...args){if(args.length===0)return this.#runNoArgs();var arg0=args[0];!isArray(arg0)&&(!arg0||typeof arg0!==\"object\"||isTypedArray(arg0))\?this.#raw.run(args):this.#raw.run(...args)}get columnNames(){return this.#raw.columns}get paramsCount(){return this.#raw.paramsCount}finalize(...args){return this.isFinalized=!0,this.#raw.finalize(...args)}}var cachedCount=Symbol.for(\"Bun.Database.cache.count\");class Database{constructor(filenameGiven,options){if(typeof filenameGiven===\"undefined\");else if(typeof filenameGiven!==\"string\"){if(isTypedArray(filenameGiven)){this.#handle=Database.deserialize(filenameGiven,typeof options===\"object\"&&options\?!!options.readonly:((options|0)&constants.SQLITE_OPEN_READONLY)!=0),this.filename=\":memory:\";return}@throwTypeError(`Expected 'filename' to be a string, got '${typeof filenameGiven}'`)}var filename=typeof filenameGiven===\"string\"\?filenameGiven.trim():\":memory:\",flags=constants.SQLITE_OPEN_READWRITE|constants.SQLITE_OPEN_CREATE;if(typeof options===\"object\"&&options){if(flags=0,options.readonly)flags=constants.SQLITE_OPEN_READONLY;if(\"readOnly\"in options)@throwTypeError('Misspelled option \"readOnly\" should be \"readonly\"');if(options.create)flags=constants.SQLITE_OPEN_READWRITE|constants.SQLITE_OPEN_CREATE;if(options.readwrite)flags|=constants.SQLITE_OPEN_READWRITE}else if(typeof options===\"number\")flags=options;const anonymous=filename===\"\"||filename===\":memory:\";if(anonymous&&(flags&constants.SQLITE_OPEN_READONLY)!==0)throw new Error(\"Cannot open an anonymous database in read-only mode.\");if(!SQL)SQL=lazy(\"sqlite\");this.#handle=SQL.open(anonymous\?\":memory:\":filename,flags),this.filename=filename}#handle;#cachedQueriesKeys=[];#cachedQueriesLengths=[];#cachedQueriesValues=[];filename;get handle(){return this.#handle}get inTransaction(){return SQL.isInTransaction(this.#handle)}static open(filename,options){return new Database(filename,options)}loadExtension(name,entryPoint){return SQL.loadExtension(this.#handle,name,entryPoint)}serialize(optionalName){return SQL.serialize(this.#handle,optionalName||\"main\")}static deserialize(serialized,isReadOnly=!1){if(!SQL)SQL=lazy(\"sqlite\");return SQL.deserialize(serialized,isReadOnly)}static setCustomSQLite(path){if(!SQL)SQL=lazy(\"sqlite\");return SQL.setCustomSQLite(path)}close(){return this.clearQueryCache(),SQL.close(this.#handle)}clearQueryCache(){for(let item of this.#cachedQueriesValues)item.finalize();this.#cachedQueriesKeys.length=0,this.#cachedQueriesValues.length=0,this.#cachedQueriesLengths.length=0}run(query,...params){if(params.length===0){SQL.run(this.#handle,query);return}var arg0=params[0];return!isArray(arg0)&&(!arg0||typeof arg0!==\"object\"||isTypedArray(arg0))\?SQL.run(this.#handle,query,params):SQL.run(this.#handle,query,...params)}prepare(query,params,flags){return new Statement(SQL.prepare(this.#handle,query,params,flags||0))}static MAX_QUERY_CACHE_SIZE=20;get[cachedCount](){return this.#cachedQueriesKeys.length}query(query){if(typeof query!==\"string\")@throwTypeError(`Expected 'query' to be a string, got '${typeof query}'`);if(query.length===0)throw new Error(\"SQL query cannot be empty.\");var index=this.#cachedQueriesLengths.indexOf(query.length);while(index!==-1){if(this.#cachedQueriesKeys[index]!==query){index=this.#cachedQueriesLengths.indexOf(query.length,index+1);continue}var stmt=this.#cachedQueriesValues[index];if(stmt.isFinalized)return this.#cachedQueriesValues[index]=this.prepare(query,void 0,willCache\?constants.SQLITE_PREPARE_PERSISTENT:0);return stmt}const willCache=this.#cachedQueriesKeys.length{let controller=(controllers||=new WeakMap).get(db);if(!controller){const shared={commit:db.prepare(\"COMMIT\",void 0,0),rollback:db.prepare(\"ROLLBACK\",void 0,0),savepoint:db.prepare(\"SAVEPOINT `\\t_bs3.\\t`\",void 0,0),release:db.prepare(\"RELEASE `\\t_bs3.\\t`\",void 0,0),rollbackTo:db.prepare(\"ROLLBACK TO `\\t_bs3.\\t`\",void 0,0)};controllers.set(db,controller={default:Object.assign({begin:db.prepare(\"BEGIN\",void 0,0)},shared),deferred:Object.assign({begin:db.prepare(\"BEGIN DEFERRED\",void 0,0)},shared),immediate:Object.assign({begin:db.prepare(\"BEGIN IMMEDIATE\",void 0,0)},shared),exclusive:Object.assign({begin:db.prepare(\"BEGIN EXCLUSIVE\",void 0,0)},shared)})}return controller},wrapTransaction=(fn,db,{begin,commit,rollback,savepoint,release,rollbackTo})=>function transaction(...args){let before,after,undo;if(db.inTransaction)before=savepoint,after=release,undo=rollbackTo;else before=begin,after=commit,undo=rollback;try{before.run();const result=fn.apply(this,args);return after.run(),result}catch(ex){if(db.inTransaction){if(undo.run(),undo!==rollback)after.run()}throw ex}};return{__esModule:!0,Database,Statement,constants,default:Database}})\n"_s; +static constexpr ASCIILiteral InternalSharedCode = "(function (){\"use strict\";class NotImplementedError extends Error{code;constructor(feature,issue){super(feature+\" is not yet implemented in Bun.\"+(issue\?\" Track the status & thumbs up the issue: https://github.com/oven-sh/bun/issues/\"+issue:\"\"));this.name=\"NotImplementedError\",this.code=\"ERR_NOT_IMPLEMENTED\",hideFromStack(NotImplementedError)}}function throwNotImplemented(feature,issue){throw hideFromStack(throwNotImplemented),new NotImplementedError(feature,issue)}function hideFromStack(...fns){for(let fn of fns)Object.defineProperty(fn,\"name\",{value:\"::bunternal::\"})}return{NotImplementedError,throwNotImplemented,hideFromStack}})\n"_s; +static constexpr ASCIILiteral NodeAssertCode = "(function (){\"use strict\";const util=@requireId(38);var isDeepEqual=Bun.deepEquals,__commonJS=(cb,mod)=>function(){return mod||(0,cb[Object.keys(cb)[0]])((mod={exports:{}}).exports,mod),mod.exports},require_errors=__commonJS({\"assert/build/internal/errors.js\"(exports,module2){function _typeof(obj){return typeof Symbol==\"function\"&&typeof Symbol.iterator==\"symbol\"\?_typeof=function(obj2){return typeof obj2}:_typeof=function(obj2){return obj2&&typeof Symbol==\"function\"&&obj2.constructor===Symbol&&obj2!==Symbol.prototype\?\"symbol\":typeof obj2},_typeof(obj)}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))@throwTypeError(\"Cannot call a class as a function\")}function _possibleConstructorReturn(self,call){return call&&(_typeof(call)===\"object\"||typeof call==\"function\")\?call:_assertThisInitialized(self)}function _assertThisInitialized(self){if(self===void 0)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return self}function _getPrototypeOf(o){return _getPrototypeOf=Object.setPrototypeOf\?Object.getPrototypeOf:function(o2){return o2.__proto__||Object.getPrototypeOf(o2)},_getPrototypeOf(o)}function _inherits(subClass,superClass){if(typeof superClass!=\"function\"&&superClass!==null)@throwTypeError(\"Super expression must either be null or a function\");subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:!0,configurable:!0}}),superClass&&_setPrototypeOf(subClass,superClass)}function _setPrototypeOf(o,p){return _setPrototypeOf=Object.setPrototypeOf||function(o2,p2){return o2.__proto__=p2,o2},_setPrototypeOf(o,p)}var codes={},assert,util2;function createErrorType(code,message,Base){Base||(Base=Error);function getMessage(arg1,arg2,arg3){return typeof message==\"string\"\?message:message(arg1,arg2,arg3)}var NodeError=function(_Base){_inherits(NodeError2,_Base);function NodeError2(arg1,arg2,arg3){var _this;return _classCallCheck(this,NodeError2),_this=_possibleConstructorReturn(this,_getPrototypeOf(NodeError2).call(this,getMessage(arg1,arg2,arg3))),_this.code=code,_this}return NodeError2}(Base);codes[code]=NodeError}function oneOf(expected,thing){if(Array.isArray(expected)){var len=expected.length;return expected=expected.map(function(i){return String(i)}),len>2\?\"one of \".concat(thing,\" \").concat(expected.slice(0,len-1).join(\", \"),\", or \")+expected[len-1]:len===2\?\"one of \".concat(thing,\" \").concat(expected[0],\" or \").concat(expected[1]):\"of \".concat(thing,\" \").concat(expected[0])}else return\"of \".concat(thing,\" \").concat(String(expected))}function startsWith(str,search,pos){return str.substr(!pos||pos<0\?0:+pos,search.length)===search}function endsWith(str,search,this_len){return(this_len===void 0||this_len>str.length)&&(this_len=str.length),str.substring(this_len-search.length,this_len)===search}function includes(str,search,start){return typeof start!=\"number\"&&(start=0),start+search.length>str.length\?!1:str.indexOf(search,start)!==-1}createErrorType(\"ERR_AMBIGUOUS_ARGUMENT\",'The \"%s\" argument is ambiguous. %s',TypeError),createErrorType(\"ERR_INVALID_ARG_TYPE\",function(name,expected,actual){assert===void 0&&(assert=require_assert()),assert(typeof name==\"string\",\"'name' must be a string\");var determiner;typeof expected==\"string\"&&startsWith(expected,\"not \")\?(determiner=\"must not be\",expected=expected.replace(/^not /,\"\")):determiner=\"must be\";var msg;if(endsWith(name,\" argument\"))msg=\"The \".concat(name,\" \").concat(determiner,\" \").concat(oneOf(expected,\"type\"));else{var type=includes(name,\".\")\?\"property\":\"argument\";msg='The \"'.concat(name,'\" ').concat(type,\" \").concat(determiner,\" \").concat(oneOf(expected,\"type\"))}return msg+=\". Received type \".concat(_typeof(actual)),msg},TypeError),createErrorType(\"ERR_INVALID_ARG_VALUE\",function(name,value){var reason=arguments.length>2&&arguments[2]!==void 0\?arguments[2]:\"is invalid\",inspected=util2.inspect(value);return inspected.length>128&&(inspected=\"\".concat(inspected.slice(0,128),\"...\")),\"The argument '\".concat(name,\"' \").concat(reason,\". Received \").concat(inspected)},TypeError,RangeError),createErrorType(\"ERR_INVALID_RETURN_VALUE\",function(input,name,value){var type;return value&&value.constructor&&value.constructor.name\?type=\"instance of \".concat(value.constructor.name):type=\"type \".concat(_typeof(value)),\"Expected \".concat(input,' to be returned from the \"').concat(name,'\"')+\" function but got \".concat(type,\".\")},TypeError),createErrorType(\"ERR_MISSING_ARGS\",function(){for(var _len=arguments.length,args=new Array(_len),_key=0;_key<_len;_key++)args[_key]=arguments[_key];assert===void 0&&(assert=require_assert()),assert(args.length>0,\"At least one arg needs to be specified\");var msg=\"The \",len=args.length;switch(args=args.map(function(a){return'\"'.concat(a,'\"')}),len){case 1:msg+=\"\".concat(args[0],\" argument\");break;case 2:msg+=\"\".concat(args[0],\" and \").concat(args[1],\" arguments\");break;default:msg+=args.slice(0,len-1).join(\", \"),msg+=\", and \".concat(args[len-1],\" arguments\");break}return\"\".concat(msg,\" must be specified\")},TypeError),module2.exports.codes=codes}}),require_assertion_error=__commonJS({\"assert/build/internal/assert/assertion_error.js\"(exports,module2){function _objectSpread(target){for(var i=1;istr.length)&&(this_len=str.length),str.substring(this_len-search.length,this_len)===search}function repeat(str,count){if(count=Math.floor(count),str.length==0||count==0)return\"\";var maxCount=str.length*count;for(count=Math.floor(Math.log(count)/Math.log(2));count;)str+=str,count--;return str+=str.substring(0,maxCount-str.length),str}var blue=\"\",green=\"\",red=\"\",white=\"\",kReadableOperator={deepStrictEqual:\"Expected values to be strictly deep-equal:\",strictEqual:\"Expected values to be strictly equal:\",strictEqualObject:'Expected \"actual\" to be reference-equal to \"expected\":',deepEqual:\"Expected values to be loosely deep-equal:\",equal:\"Expected values to be loosely equal:\",notDeepStrictEqual:'Expected \"actual\" not to be strictly deep-equal to:',notStrictEqual:'Expected \"actual\" to be strictly unequal to:',notStrictEqualObject:'Expected \"actual\" not to be reference-equal to \"expected\":',notDeepEqual:'Expected \"actual\" not to be loosely deep-equal to:',notEqual:'Expected \"actual\" to be loosely unequal to:',notIdentical:\"Values identical but not reference-equal:\"},kMaxShortLength=10;function copyError(source){var keys=Object.keys(source),target=Object.create(Object.getPrototypeOf(source));return keys.forEach(function(key){target[key]=source[key]}),Object.defineProperty(target,\"message\",{value:source.message}),target}function inspectValue(val){return inspect(val,{compact:!1,customInspect:!1,depth:1000,maxArrayLength:Infinity,showHidden:!1,breakLength:Infinity,showProxy:!1,sorted:!0,getters:!0})}function createErrDiff(actual,expected,operator){var other=\"\",res=\"\",lastPos=0,end=\"\",skipped=!1,actualInspected=inspectValue(actual),actualLines=actualInspected.split(`\n`),expectedLines=inspectValue(expected).split(`\n`),i=0,indicator=\"\";if(operator===\"strictEqual\"&&_typeof(actual)===\"object\"&&_typeof(expected)===\"object\"&&actual!==null&&expected!==null&&(operator=\"strictEqualObject\"),actualLines.length===1&&expectedLines.length===1&&actualLines[0]!==expectedLines[0]){var inputLength=actualLines[0].length+expectedLines[0].length;if(inputLength<=kMaxShortLength){if((_typeof(actual)!==\"object\"||actual===null)&&(_typeof(expected)!==\"object\"||expected===null)&&(actual!==0||expected!==0))return\"\".concat(kReadableOperator[operator],`\n\n`)+\"\".concat(actualLines[0],\" !== \").concat(expectedLines[0],`\n`)}else if(operator!==\"strictEqualObject\"){var maxLength=process.stderr&&process.stderr.isTTY\?process.stderr.columns:80;if(inputLength2&&(indicator=`\n `.concat(repeat(\" \",i),\"^\"),i=0)}}}for(var a=actualLines[actualLines.length-1],b=expectedLines[expectedLines.length-1];a===b&&(i++<2\?end=`\n `.concat(a).concat(end):other=a,actualLines.pop(),expectedLines.pop(),!(actualLines.length===0||expectedLines.length===0));)a=actualLines[actualLines.length-1],b=expectedLines[expectedLines.length-1];var maxLines=Math.max(actualLines.length,expectedLines.length);if(maxLines===0){var _actualLines=actualInspected.split(`\n`);if(_actualLines.length>30)for(_actualLines[26]=\"\".concat(blue,\"...\").concat(white);_actualLines.length>27;)_actualLines.pop();return\"\".concat(kReadableOperator.notIdentical,`\n\n`).concat(_actualLines.join(`\n`),`\n`)}i>3&&(end=`\n`.concat(blue,\"...\").concat(white).concat(end),skipped=!0),other!==\"\"&&(end=`\n `.concat(other).concat(end),other=\"\");var printedLines=0,msg=kReadableOperator[operator]+`\n`.concat(green,\"+ actual\").concat(white,\" \").concat(red,\"- expected\").concat(white),skippedMsg=\" \".concat(blue,\"...\").concat(white,\" Lines skipped\");for(i=0;i1&&i>2&&(cur>4\?(res+=`\n`.concat(blue,\"...\").concat(white),skipped=!0):cur>3&&(res+=`\n `.concat(expectedLines[i-2]),printedLines++),res+=`\n `.concat(expectedLines[i-1]),printedLines++),lastPos=i,other+=`\n`.concat(red,\"-\").concat(white,\" \").concat(expectedLines[i]),printedLines++;else if(expectedLines.length1&&i>2&&(cur>4\?(res+=`\n`.concat(blue,\"...\").concat(white),skipped=!0):cur>3&&(res+=`\n `.concat(actualLines[i-2]),printedLines++),res+=`\n `.concat(actualLines[i-1]),printedLines++),lastPos=i,res+=`\n`.concat(green,\"+\").concat(white,\" \").concat(actualLines[i]),printedLines++;else{var expectedLine=expectedLines[i],actualLine=actualLines[i],divergingLines=actualLine!==expectedLine&&(!endsWith(actualLine,\",\")||actualLine.slice(0,-1)!==expectedLine);divergingLines&&endsWith(expectedLine,\",\")&&expectedLine.slice(0,-1)===actualLine&&(divergingLines=!1,actualLine+=\",\"),divergingLines\?(cur>1&&i>2&&(cur>4\?(res+=`\n`.concat(blue,\"...\").concat(white),skipped=!0):cur>3&&(res+=`\n `.concat(actualLines[i-2]),printedLines++),res+=`\n `.concat(actualLines[i-1]),printedLines++),lastPos=i,res+=`\n`.concat(green,\"+\").concat(white,\" \").concat(actualLine),other+=`\n`.concat(red,\"-\").concat(white,\" \").concat(expectedLine),printedLines+=2):(res+=other,other=\"\",(cur===1||i===0)&&(res+=`\n `.concat(actualLine),printedLines++))}if(printedLines>20&&i30)for(res[26]=\"\".concat(blue,\"...\").concat(white);res.length>27;)res.pop();res.length===1\?_this=_possibleConstructorReturn(this,_getPrototypeOf(AssertionError2).call(this,\"\".concat(base,\" \").concat(res[0]))):_this=_possibleConstructorReturn(this,_getPrototypeOf(AssertionError2).call(this,\"\".concat(base,`\n\n`).concat(res.join(`\n`),`\n`)))}else{var _res=inspectValue(actual),other=\"\",knownOperators=kReadableOperator[operator];operator===\"notDeepEqual\"||operator===\"notEqual\"\?(_res=\"\".concat(kReadableOperator[operator],`\n\n`).concat(_res),_res.length>1024&&(_res=\"\".concat(_res.slice(0,1021),\"...\"))):(other=\"\".concat(inspectValue(expected)),_res.length>512&&(_res=\"\".concat(_res.slice(0,509),\"...\")),other.length>512&&(other=\"\".concat(other.slice(0,509),\"...\")),operator===\"deepEqual\"||operator===\"equal\"\?_res=\"\".concat(knownOperators,`\n\n`).concat(_res,`\n\nshould equal\n\n`):other=\" \".concat(operator,\" \").concat(other)),_this=_possibleConstructorReturn(this,_getPrototypeOf(AssertionError2).call(this,\"\".concat(_res).concat(other)))}return Error.stackTraceLimit=limit,_this.generatedMessage=!message,Object.defineProperty(_assertThisInitialized(_this),\"name\",{value:\"AssertionError [ERR_ASSERTION]\",enumerable:!1,writable:!0,configurable:!0}),_this.code=\"ERR_ASSERTION\",_this.actual=actual,_this.expected=expected,_this.operator=operator,Error.captureStackTrace&&Error.captureStackTrace(_assertThisInitialized(_this),stackStartFn),_this.stack,_this.name=\"AssertionError\",_possibleConstructorReturn(_this)}return AssertionError2.prototype={},_createClass(AssertionError2,[{key:\"toString\",value:function(){return\"\".concat(this.name,\" [\").concat(this.code,\"]: \").concat(this.message)}},{key:inspect.custom,value:function(recurseTimes,ctx){return inspect(this,_objectSpread({},ctx,{customInspect:!1,depth:0}))}}]),AssertionError2}(_wrapNativeSuper(Error));module2.exports=AssertionError}}),require_assert=__commonJS({\"assert/build/assert.js\"(exports,module2){function _typeof(obj){return typeof Symbol==\"function\"&&typeof Symbol.iterator==\"symbol\"\?_typeof=function(obj2){return typeof obj2}:_typeof=function(obj2){return obj2&&typeof Symbol==\"function\"&&obj2.constructor===Symbol&&obj2!==Symbol.prototype\?\"symbol\":typeof obj2},_typeof(obj)}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))@throwTypeError(\"Cannot call a class as a function\")}var _require=require_errors(),_require$codes=_require.codes,ERR_AMBIGUOUS_ARGUMENT=_require$codes.ERR_AMBIGUOUS_ARGUMENT,ERR_INVALID_ARG_TYPE=_require$codes.ERR_INVALID_ARG_TYPE,ERR_INVALID_ARG_VALUE=_require$codes.ERR_INVALID_ARG_VALUE,ERR_INVALID_RETURN_VALUE=_require$codes.ERR_INVALID_RETURN_VALUE,ERR_MISSING_ARGS=_require$codes.ERR_MISSING_ARGS,AssertionError=require_assertion_error(),_require2=util,inspect=_require2.inspect,_require$types=util.types,isPromise=_require$types.isPromise,isRegExp=_require$types.isRegExp,objectAssign=Object.assign,objectIs=Object.is,errorCache=new Map,warned=!1,assert=module2.exports=ok,NO_EXCEPTION_SENTINEL={};function innerFail(obj){throw obj.message instanceof Error\?obj.message:new AssertionError(obj)}function fail(actual,expected,message,operator,stackStartFn){var argsLen=arguments.length,internalMessage;if(argsLen===0)internalMessage=\"Failed\";else if(argsLen===1)message=actual,actual=void 0;else{if(warned===!1){warned=!0;var warn=process.emitWarning\?process.emitWarning:console.warn.bind(console);warn(\"assert.fail() with more than one argument is deprecated. Please use assert.strictEqual() instead or only pass a message.\",\"DeprecationWarning\",\"DEP0094\")}argsLen===2&&(operator=\"!=\")}if(message instanceof Error)throw message;var errArgs={actual,expected,operator:operator===void 0\?\"fail\":operator,stackStartFn:stackStartFn||fail};message!==void 0&&(errArgs.message=message);var err=new AssertionError(errArgs);throw internalMessage&&(err.message=internalMessage,err.generatedMessage=!0),err}assert.fail=fail,assert.AssertionError=AssertionError;function innerOk(fn,argLen,value,message){if(!value){var generatedMessage=!1;if(argLen===0)generatedMessage=!0,message=\"No value argument passed to `assert.ok()`\";else if(message instanceof Error)throw message;var err=new AssertionError({actual:value,expected:!0,message,operator:\"==\",stackStartFn:fn});throw err.generatedMessage=generatedMessage,err}}function ok(){for(var _len=arguments.length,args=new Array(_len),_key=0;_key<_len;_key++)args[_key]=arguments[_key];innerOk.apply(void 0,[ok,args.length].concat(args))}assert.ok=ok,assert.equal=function equal(actual,expected,message){if(arguments.length<2)throw new ERR_MISSING_ARGS(\"actual\",\"expected\");actual!=expected&&innerFail({actual,expected,message,operator:\"==\",stackStartFn:equal})},assert.notEqual=function notEqual(actual,expected,message){if(arguments.length<2)throw new ERR_MISSING_ARGS(\"actual\",\"expected\");actual==expected&&innerFail({actual,expected,message,operator:\"!=\",stackStartFn:notEqual})},assert.deepEqual=function deepEqual(actual,expected,message){if(arguments.length<2)throw new ERR_MISSING_ARGS(\"actual\",\"expected\");isDeepEqual(actual,expected,!1)||innerFail({actual,expected,message,operator:\"deepEqual\",stackStartFn:deepEqual})},assert.notDeepEqual=function notDeepEqual(actual,expected,message){if(arguments.length<2)throw new ERR_MISSING_ARGS(\"actual\",\"expected\");isDeepEqual(actual,expected,!1)&&innerFail({actual,expected,message,operator:\"notDeepEqual\",stackStartFn:notDeepEqual})},assert.deepStrictEqual=function deepStrictEqual(actual,expected,message){if(arguments.length<2)throw new ERR_MISSING_ARGS(\"actual\",\"expected\");isDeepEqual(actual,expected,!0)||innerFail({actual,expected,message,operator:\"deepStrictEqual\",stackStartFn:deepStrictEqual})},assert.notDeepStrictEqual=notDeepStrictEqual;function notDeepStrictEqual(actual,expected,message){if(arguments.length<2)throw new ERR_MISSING_ARGS(\"actual\",\"expected\");isDeepEqual(actual,expected,!0)&&innerFail({actual,expected,message,operator:\"notDeepStrictEqual\",stackStartFn:notDeepStrictEqual})}assert.strictEqual=function strictEqual(actual,expected,message){if(arguments.length<2)throw new ERR_MISSING_ARGS(\"actual\",\"expected\");objectIs(actual,expected)||innerFail({actual,expected,message,operator:\"strictEqual\",stackStartFn:strictEqual})},assert.notStrictEqual=function notStrictEqual(actual,expected,message){if(arguments.length<2)throw new ERR_MISSING_ARGS(\"actual\",\"expected\");objectIs(actual,expected)&&innerFail({actual,expected,message,operator:\"notStrictEqual\",stackStartFn:notStrictEqual})},assert.match=function match(actual,expected,message){if(arguments.length<2)throw new ERR_MISSING_ARGS(\"actual\",\"expected\");if(!isRegExp(expected))throw new ERR_INVALID_ARG_TYPE(\"expected\",\"RegExp\",expected);expected.test(actual)||innerFail({actual,expected,message,operator:\"match\",stackStartFn:match})};var Comparison=function Comparison2(obj,keys,actual){var _this=this;_classCallCheck(this,Comparison2),keys.forEach(function(key){(key in obj)&&(actual!==void 0&&typeof actual[key]==\"string\"&&isRegExp(obj[key])&&obj[key].test(actual[key])\?_this[key]=actual[key]:_this[key]=obj[key])})};function compareExceptionKey(actual,expected,key,message,keys,fn){if(!(key in actual)||!isDeepEqual(actual[key],expected[key],!0)){if(!message){var a=new Comparison(actual,keys),b=new Comparison(expected,keys,actual),err=new AssertionError({actual:a,expected:b,operator:\"deepStrictEqual\",stackStartFn:fn});throw err.actual=actual,err.expected=expected,err.operator=fn.name,err}innerFail({actual,expected,message,operator:fn.name,stackStartFn:fn})}}function expectedException(actual,expected,msg,fn){if(typeof expected!=\"function\"){if(isRegExp(expected))return expected.test(actual);if(arguments.length===2)throw new ERR_INVALID_ARG_TYPE(\"expected\",[\"Function\",\"RegExp\"],expected);if(_typeof(actual)!==\"object\"||actual===null){var err=new AssertionError({actual,expected,message:msg,operator:\"deepStrictEqual\",stackStartFn:fn});throw err.operator=fn.name,err}var keys=Object.keys(expected);if(expected instanceof Error)keys.push(\"name\",\"message\");else if(keys.length===0)throw new ERR_INVALID_ARG_VALUE(\"error\",expected,\"may not be an empty object\");return keys.forEach(function(key){return typeof actual[key]==\"string\"&&isRegExp(expected[key])&&expected[key].test(actual[key])||compareExceptionKey(actual,expected,key,msg,keys,fn)}),!0}return expected.prototype!==void 0&&actual instanceof expected\?!0:Error.isPrototypeOf(expected)\?!1:expected.call({},actual)===!0}function getActual(fn){if(typeof fn!=\"function\")throw new ERR_INVALID_ARG_TYPE(\"fn\",\"Function\",fn);try{fn()}catch(e){return e}return NO_EXCEPTION_SENTINEL}function checkIsPromise(obj){return isPromise(obj)||obj!==null&&_typeof(obj)===\"object\"&&typeof obj.then==\"function\"&&typeof obj.catch==\"function\"}function waitForActual(promiseFn){return Promise.resolve().then(function(){var resultPromise;if(typeof promiseFn==\"function\"){if(resultPromise=promiseFn(),!checkIsPromise(resultPromise))throw new ERR_INVALID_RETURN_VALUE(\"instance of Promise\",\"promiseFn\",resultPromise)}else if(checkIsPromise(promiseFn))resultPromise=promiseFn;else throw new ERR_INVALID_ARG_TYPE(\"promiseFn\",[\"Function\",\"Promise\"],promiseFn);return Promise.resolve().then(function(){return resultPromise}).then(function(){return NO_EXCEPTION_SENTINEL}).catch(function(e){return e})})}function expectsError(stackStartFn,actual,error,message){if(typeof error==\"string\"){if(arguments.length===4)throw new ERR_INVALID_ARG_TYPE(\"error\",[\"Object\",\"Error\",\"Function\",\"RegExp\"],error);if(_typeof(actual)===\"object\"&&actual!==null){if(actual.message===error)throw new ERR_AMBIGUOUS_ARGUMENT(\"error/message\",'The error message \"'.concat(actual.message,'\" is identical to the message.'))}else if(actual===error)throw new ERR_AMBIGUOUS_ARGUMENT(\"error/message\",'The error \"'.concat(actual,'\" is identical to the message.'));message=error,error=void 0}else if(error!=null&&_typeof(error)!==\"object\"&&typeof error!=\"function\")throw new ERR_INVALID_ARG_TYPE(\"error\",[\"Object\",\"Error\",\"Function\",\"RegExp\"],error);if(actual===NO_EXCEPTION_SENTINEL){var details=\"\";error&&error.name&&(details+=\" (\".concat(error.name,\")\")),details+=message\?\": \".concat(message):\".\";var fnType=stackStartFn.name===\"rejects\"\?\"rejection\":\"exception\";innerFail({actual:void 0,expected:error,operator:stackStartFn.name,message:\"Missing expected \".concat(fnType).concat(details),stackStartFn})}if(error&&!expectedException(actual,error,message,stackStartFn))throw actual}function expectsNoError(stackStartFn,actual,error,message){if(actual!==NO_EXCEPTION_SENTINEL){if(typeof error==\"string\"&&(message=error,error=void 0),!error||expectedException(actual,error)){var details=message\?\": \".concat(message):\".\",fnType=stackStartFn.name===\"doesNotReject\"\?\"rejection\":\"exception\";innerFail({actual,expected:error,operator:stackStartFn.name,message:\"Got unwanted \".concat(fnType).concat(details,`\n`)+'Actual message: \"'.concat(actual&&actual.message,'\"'),stackStartFn})}throw actual}}assert.throws=function throws(promiseFn){for(var _len2=arguments.length,args=new Array(_len2>1\?_len2-1:0),_key2=1;_key2<_len2;_key2++)args[_key2-1]=arguments[_key2];expectsError.apply(void 0,[throws,getActual(promiseFn)].concat(args))},assert.rejects=function rejects(promiseFn){for(var _len3=arguments.length,args=new Array(_len3>1\?_len3-1:0),_key3=1;_key3<_len3;_key3++)args[_key3-1]=arguments[_key3];return waitForActual(promiseFn).then(function(result){return expectsError.apply(void 0,[rejects,result].concat(args))})},assert.doesNotThrow=function doesNotThrow(fn){for(var _len4=arguments.length,args=new Array(_len4>1\?_len4-1:0),_key4=1;_key4<_len4;_key4++)args[_key4-1]=arguments[_key4];expectsNoError.apply(void 0,[doesNotThrow,getActual(fn)].concat(args))},assert.doesNotReject=function doesNotReject(fn){for(var _len5=arguments.length,args=new Array(_len5>1\?_len5-1:0),_key5=1;_key5<_len5;_key5++)args[_key5-1]=arguments[_key5];return waitForActual(fn).then(function(result){return expectsNoError.apply(void 0,[doesNotReject,result].concat(args))})},assert.ifError=function ifError(err){if(err!=null){var message=\"ifError got unwanted exception: \";_typeof(err)===\"object\"&&typeof err.message==\"string\"\?err.message.length===0&&err.constructor\?message+=err.constructor.name:message+=err.message:message+=inspect(err);var newErr=new AssertionError({actual:err,expected:null,operator:\"ifError\",message,stackStartFn:ifError}),origStack=err.stack;if(typeof origStack==\"string\"){var tmp2=origStack.split(`\n`);tmp2.shift();for(var tmp1=newErr.stack.split(`\n`),i=0;i{var prev=get();set(context);try{return fn(...args)}catch(error){throw error}finally{set(prev)}}}enterWith(store){cleanupLater();var context=get();if(!context){set([this,store]);return}var{length}=context;for(var i=0;i-1)hasPrevious=!0,previous=context[i+1],context[i+1]=store;else context.push(this,store);set(context)}try{return callback(...args)}catch(e){throw e}finally{if(!this.#disableCalled){var context2=get();if(context2===context&&contextWasInit)set(void 0);else if(context2=context2.slice(),hasPrevious)context2[i+1]=previous,set(context2);else context2.splice(i,2),set(context2.length\?context2:void 0)}}}disable(){if(!this.#disableCalled){var context=get();if(context){var{length}=context;for(var i=0;i-1){try{child.kill(killSignal)}catch(err){child.emit(\"error\",err)}timeoutHolder.timeoutId=-1}}function spawn(file,args,options){options=normalizeSpawnArguments(file,args,options),validateTimeout(options.timeout),validateAbortSignal(options.signal,\"options.signal\");const killSignal2=sanitizeKillSignal(options.killSignal),child=new ChildProcess;if(child.spawn(options),options.timeout>0){let timeoutId=setTimeout(()=>{if(timeoutId){try{child.kill(killSignal2)}catch(err){child.emit(\"error\",err)}timeoutId=null}});child.once(\"exit\",()=>{if(timeoutId)clearTimeout(timeoutId),timeoutId=null})}if(options.signal){let onAbortListener2=function(){abortChildProcess(child,killSignal2)};var onAbortListener=onAbortListener2;const signal=options.signal;if(signal.aborted)process.nextTick(onAbortListener2);else signal.addEventListener(\"abort\",onAbortListener2,{once:!0}),child.once(\"exit\",()=>signal.removeEventListener(\"abort\",onAbortListener2))}return child}function execFile(file,args,options,callback){({file,args,options,callback}=normalizeExecFileArgs(file,args,options,callback)),options={encoding:\"utf8\",timeout:0,maxBuffer:MAX_BUFFER,killSignal:\"SIGTERM\",cwd:null,env:null,shell:!1,...options};const maxBuffer=options.maxBuffer;validateTimeout(options.timeout),validateMaxBuffer(maxBuffer),options.killSignal=sanitizeKillSignal(options.killSignal);const child=spawn(file,args,{cwd:options.cwd,env:options.env,shell:options.shell,signal:options.signal});let encoding;const _stdout=[],_stderr=[];if(options.encoding!==\"buffer\"&&BufferIsEncoding(options.encoding))encoding=options.encoding;else encoding=null;let stdoutLen=0,stderrLen=0,killed=!1,exited=!1,timeoutId,encodedStdoutLen,encodedStderrLen,ex=null,cmd=file;function exitHandler(code,signal){if(exited)return;if(exited=!0,timeoutId)clearTimeout(timeoutId),timeoutId=null;if(!callback)return;const readableEncoding=child\?.stdout\?.readableEncoding;let stdout,stderr;if(encoding||child.stdout&&readableEncoding)stdout=ArrayPrototypeJoin.call(_stdout,\"\");else stdout=BufferConcat(_stdout);if(encoding||child.stderr&&readableEncoding)stderr=ArrayPrototypeJoin.call(_stderr,\"\");else stderr=BufferConcat(_stderr);if(!ex&&code===0&&signal===null){callback(null,stdout,stderr);return}if(args\?.length)cmd+=` ${ArrayPrototypeJoin.call(args,\" \")}`;if(!ex){let message=`Command failed: ${cmd}`;if(stderr)message+=`\\n${stderr}`;ex=genericNodeError(message,{code,killed:child.killed||killed,signal})}ex.cmd=cmd,callback(ex,stdout,stderr)}function errorHandler(e){if(ex=e,child.stdout)child.stdout.destroy();if(child.stderr)child.stderr.destroy();exitHandler()}function kill(){if(child.stdout)child.stdout.destroy();if(child.stderr)child.stderr.destroy();killed=!0;try{child.kill(options.killSignal)}catch(e){ex=e,exitHandler()}}if(options.timeout>0)timeoutId=setTimeout(function delayedKill(){kill(),timeoutId=null},options.timeout);if(child.stdout){if(encoding)child.stdout.setEncoding(encoding);child.stdout.on(\"data\",maxBuffer===Infinity\?function onUnlimitedSizeBufferedData(chunk){ArrayPrototypePush.call(_stdout,chunk)}:encoding\?function onChildStdoutEncoded(chunk){if(stdoutLen+=chunk.length,stdoutLen*4>maxBuffer){const encoding2=child.stdout.readableEncoding,actualLen=Buffer.byteLength(chunk,encoding2);if(encodedStdoutLen===void 0)for(let i=0;i<_stdout.length;i++)encodedStdoutLen+=Buffer.byteLength(_stdout[i],encoding2);else encodedStdoutLen+=actualLen;const truncatedLen=maxBuffer-(encodedStdoutLen-actualLen);ArrayPrototypePush.call(_stdout,StringPrototypeSlice.apply(chunk,0,truncatedLen)),ex=new ERR_CHILD_PROCESS_STDIO_MAXBUFFER(\"stdout\"),kill()}else ArrayPrototypePush.call(_stdout,chunk)}:function onChildStdoutRaw(chunk){if(stdoutLen+=chunk.length,stdoutLen>maxBuffer){const truncatedLen=maxBuffer-(stdoutLen-chunk.length);ArrayPrototypePush.call(_stdout,chunk.slice(0,truncatedLen)),ex=new ERR_CHILD_PROCESS_STDIO_MAXBUFFER(\"stdout\"),kill()}else ArrayPrototypePush.call(_stdout,chunk)})}if(child.stderr){if(encoding)child.stderr.setEncoding(encoding);child.stderr.on(\"data\",maxBuffer===Infinity\?function onUnlimitedSizeBufferedData(chunk){ArrayPrototypePush.call(_stderr,chunk)}:encoding\?function onChildStderrEncoded(chunk){if(stderrLen+=chunk.length,stderrLen*4>maxBuffer){const encoding2=child.stderr.readableEncoding,actualLen=Buffer.byteLength(chunk,encoding2);if(encodedStderrLen===void 0)for(let i=0;i<_stderr.length;i++)encodedStderrLen+=Buffer.byteLength(_stderr[i],encoding2);else encodedStderrLen+=actualLen;const truncatedLen=maxBuffer-(encodedStderrLen-actualLen);ArrayPrototypePush.call(_stderr,StringPrototypeSlice.call(chunk,0,truncatedLen)),ex=new ERR_CHILD_PROCESS_STDIO_MAXBUFFER(\"stderr\"),kill()}else ArrayPrototypePush.call(_stderr,chunk)}:function onChildStderrRaw(chunk){if(stderrLen+=chunk.length,stderrLen>maxBuffer){const truncatedLen=maxBuffer-(stderrLen-chunk.length);ArrayPrototypePush.call(_stderr,StringPrototypeSlice.call(chunk,0,truncatedLen)),ex=new ERR_CHILD_PROCESS_STDIO_MAXBUFFER(\"stderr\"),kill()}else ArrayPrototypePush.call(_stderr,chunk)})}return child.addListener(\"close\",exitHandler),child.addListener(\"error\",errorHandler),child}function exec(command,options,callback){const opts=normalizeExecArgs(command,options,callback);return execFile(opts.file,opts.options,opts.callback)}const customPromiseExecFunction=(orig)=>{return(...args)=>{let resolve,reject;const promise=new Promise((res,rej)=>{resolve=res,reject=rej});return promise.child=orig(...args,(err,stdout,stderr)=>{if(err!==null)err.stdout=stdout,err.stderr=stderr,reject(err);else resolve({stdout,stderr})}),promise}};ObjectDefineProperty(exec,promisify.custom,{__proto__:null,enumerable:!1,value:customPromiseExecFunction(exec)});function spawnSync(file,args,options){options={maxBuffer:MAX_BUFFER,...normalizeSpawnArguments(file,args,options)};const{maxBuffer,encoding}=options;validateTimeout(options.timeout),validateMaxBuffer(maxBuffer),options.killSignal=sanitizeKillSignal(options.killSignal);const stdio=options.stdio||\"pipe\",bunStdio=getBunStdioFromOptions(stdio);var{input}=options;if(input)if(ArrayBufferIsView(input))bunStdio[0]=input;else if(typeof input===\"string\")bunStdio[0]=Buffer.from(input,encoding||\"utf8\");else throw new ERR_INVALID_ARG_TYPE(\"options.stdio[0]\",[\"Buffer\",\"TypedArray\",\"DataView\",\"string\"],input);const{stdout,stderr,success,exitCode}=Bun.spawnSync({cmd:options.args,env:options.env||void 0,cwd:options.cwd||void 0,stdin:bunStdio[0],stdout:bunStdio[1],stderr:bunStdio[2]}),result={signal:null,status:exitCode,output:[null,stdout,stderr]};if(stdout&&encoding&&encoding!==\"buffer\")result.output[1]=result.output[1]\?.toString(encoding);if(stderr&&encoding&&encoding!==\"buffer\")result.output[2]=result.output[2]\?.toString(encoding);if(result.stdout=result.output[1],result.stderr=result.output[2],!success)result.error=new SystemError(result.output[2],options.file,\"spawnSync\",-1,result.status),result.error.spawnargs=ArrayPrototypeSlice.call(options.args,1);return result}function execFileSync(file,args,options){({file,args,options}=normalizeExecFileArgs(file,args,options));const ret=spawnSync(file,args,options),errArgs=[options.argv0||file];ArrayPrototypePush.apply(errArgs,args);const err=checkExecSyncError(ret,errArgs);if(err)throw err;return ret.stdout}function execSync(command,options){const opts=normalizeExecArgs(command,options,null),ret=spawnSync(opts.file,opts.options),err=checkExecSyncError(ret,void 0,command);if(err)throw err;return ret.stdout}function fork(){throw new Error(\"Not implemented\")}function convertToValidSignal(signal){if(typeof signal===\"number\"&&getSignalsToNamesMapping()[signal])return signal;if(typeof signal===\"string\"){const signalName=signals[StringPrototypeToUpperCase.call(signal)];if(signalName)return signalName}throw new ERR_UNKNOWN_SIGNAL(signal)}function sanitizeKillSignal(killSignal2){if(typeof killSignal2===\"string\"||typeof killSignal2===\"number\")return convertToValidSignal(killSignal2);else if(killSignal2!=null)throw new ERR_INVALID_ARG_TYPE(\"options.killSignal\",[\"string\",\"number\"],killSignal2)}let signalsToNamesMapping;function getSignalsToNamesMapping(){if(signalsToNamesMapping!==void 0)return signalsToNamesMapping;signalsToNamesMapping=ObjectCreate(null);for(let key in signals)signalsToNamesMapping[signals[key]]=key;return signalsToNamesMapping}function normalizeExecFileArgs(file,args,options,callback){if(ArrayIsArray(args))args=ArrayPrototypeSlice.call(args);else if(args!=null&&typeof args===\"object\")callback=options,options=args,args=null;else if(typeof args===\"function\")callback=args,options=null,args=null;if(args==null)args=[];if(typeof options===\"function\")callback=options;else if(options!=null)validateObject(options,\"options\");if(options==null)options=kEmptyObject;if(callback!=null)validateFunction(callback,\"callback\");if(options.argv0!=null)validateString(options.argv0,\"options.argv0\"),validateArgumentNullCheck(options.argv0,\"options.argv0\");return{file,args,options,callback}}function normalizeExecArgs(command,options,callback){if(validateString(command,\"command\"),validateArgumentNullCheck(command,\"command\"),typeof options===\"function\")callback=options,options=void 0;return options={...options},options.shell=typeof options.shell===\"string\"\?options.shell:!0,{file:command,options,callback}}function normalizeSpawnArguments(file,args,options){if(validateString(file,\"file\"),validateArgumentNullCheck(file,\"file\"),file.length===0)throw new ERR_INVALID_ARG_VALUE(\"file\",file,\"cannot be empty\");if(ArrayIsArray(args))args=ArrayPrototypeSlice.call(args);else if(args==null)args=[];else if(typeof args!==\"object\")throw new ERR_INVALID_ARG_TYPE(\"args\",\"object\",args);else options=args,args=[];if(validateArgumentsNullCheck(args,\"args\"),options===void 0)options={};else validateObject(options,\"options\");let cwd=options.cwd;if(cwd!=null)cwd=getValidatedPath(cwd,\"options.cwd\");if(options.shell!=null&&typeof options.shell!==\"boolean\"&&typeof options.shell!==\"string\")throw new ERR_INVALID_ARG_TYPE(\"options.shell\",[\"boolean\",\"string\"],options.shell);if(options.argv0!=null)validateString(options.argv0,\"options.argv0\"),validateArgumentNullCheck(options.argv0,\"options.argv0\");if(options.shell){validateArgumentNullCheck(options.shell,\"options.shell\");const command=ArrayPrototypeJoin.call([file,...args],\" \");if(typeof options.shell===\"string\")file=options.shell;else file=\"sh\";args=[\"-c\",command]}if(typeof options.argv0===\"string\")ArrayPrototypeUnshift.call(args,options.argv0);else ArrayPrototypeUnshift.call(args,file);const envPairs=options.env||process.env;return{...options,file,args,cwd,envPairs}}function checkExecSyncError(ret,args,cmd){let err;if(ret.error)err=ret.error,ObjectAssign(err,ret);else if(ret.status!==0){let msg=\"Command failed: \";if(msg+=cmd||ArrayPrototypeJoin.call(args,\" \"),ret.stderr&&ret.stderr.length>0)msg+=`\\n${ret.stderr.toString()}`;err=genericNodeError(msg,ret)}return err}class ChildProcess extends EventEmitter{constructor(){super(...arguments)}#handle;#exited=!1;#closesNeeded=1;#closesGot=0;connected=!1;signalCode=null;exitCode=null;spawnfile;spawnargs;pid;channel;get killed(){if(this.#handle==null)return!1}#handleOnExit(exitCode,signalCode,err){if(this.#exited)return;if(this.exitCode=this.#handle.exitCode,this.signalCode=exitCode>0\?signalCode:null,this.#stdin)this.#stdin.destroy();if(this.#handle)this.#handle=null;if(exitCode<0){const err2=new SystemError(`Spawned process exited with error code: ${exitCode}`,void 0,\"spawn\",\"EUNKNOWN\",\"ERR_CHILD_PROCESS_UNKNOWN_ERROR\");if(this.spawnfile)err2.path=this.spawnfile;err2.spawnargs=ArrayPrototypeSlice.call(this.spawnargs,1),this.emit(\"error\",err2)}else this.emit(\"exit\",this.exitCode,this.signalCode);process.nextTick(flushStdio,this),this.#maybeClose(),this.#exited=!0,this.#stdioOptions=[\"destroyed\",\"destroyed\",\"destroyed\"]}#getBunSpawnIo(i,encoding){NativeWritable||=StreamModule.NativeWritable,ReadableFromWeb||=StreamModule.Readable.fromWeb;const io=this.#stdioOptions[i];switch(i){case 0:switch(io){case\"pipe\":return new NativeWritable(this.#handle.stdin);case\"inherit\":return process.stdin||null;case\"destroyed\":return new ShimmedStdin;default:return null}case 2:case 1:switch(io){case\"pipe\":return ReadableFromWeb(this.#handle[fdToStdioName(i)],{encoding});case\"inherit\":return process[fdToStdioName(i)]||null;case\"destroyed\":return new ShimmedStdioOutStream;default:return null}}}#stdin;#stdout;#stderr;#stdioObject;#encoding;#stdioOptions;#createStdioObject(){return Object.create(null,{0:{get:()=>this.stdin},1:{get:()=>this.stdout},2:{get:()=>this.stderr}})}get stdin(){return this.#stdin\?\?=this.#getBunSpawnIo(0,this.#encoding)}get stdout(){return this.#stdout\?\?=this.#getBunSpawnIo(1,this.#encoding)}get stderr(){return this.#stderr\?\?=this.#getBunSpawnIo(2,this.#encoding)}get stdio(){return this.#stdioObject\?\?=this.#createStdioObject()}spawn(options){validateObject(options,\"options\"),validateString(options.file,\"options.file\");var file=this.spawnfile=options.file,spawnargs;if(options.args==null)spawnargs=this.spawnargs=[];else validateArray(options.args,\"options.args\"),spawnargs=this.spawnargs=options.args;const stdio=options.stdio||[\"pipe\",\"pipe\",\"pipe\"],bunStdio=getBunStdioFromOptions(stdio);var env=options.envPairs||void 0;this.#encoding=options.encoding||void 0,this.#stdioOptions=bunStdio,this.#handle=Bun.spawn({cmd:spawnargs,stdin:bunStdio[0],stdout:bunStdio[1],stderr:bunStdio[2],cwd:options.cwd||void 0,env:env||process.env,onExit:(handle,exitCode,signalCode,err)=>{this.#handle=handle,this.pid=this.#handle.pid,process.nextTick((exitCode2,signalCode2,err2)=>this.#handleOnExit(exitCode2,signalCode2,err2),exitCode,signalCode,err)},lazy:!0}),this.pid=this.#handle.pid,onSpawnNT(this)}send(){console.log(\"ChildProcess.prototype.send() - Sorry! Not implemented yet\")}disconnect(){console.log(\"ChildProcess.prototype.disconnect() - Sorry! Not implemented yet\")}kill(sig){const signal=sig===0\?sig:convertToValidSignal(sig===void 0\?\"SIGTERM\":sig);if(this.#handle)this.#handle.kill(signal);return this.#maybeClose(),!0}#maybeClose(){if(this.#closesGot++,this.#closesGot===this.#closesNeeded)this.emit(\"close\",this.exitCode,this.signalCode)}ref(){if(this.#handle)this.#handle.ref()}unref(){if(this.#handle)this.#handle.unref()}}const nodeToBunLookup={ignore:null,pipe:\"pipe\",overlapped:\"pipe\",inherit:\"inherit\"};function nodeToBun(item){if(typeof item===\"number\")return item;else{const result=nodeToBunLookup[item];if(result===void 0)throw new Error(\"Invalid stdio option\");return result}}function fdToStdioName(fd){switch(fd){case 0:return\"stdin\";case 1:return\"stdout\";case 2:return\"stderr\";default:return null}}function getBunStdioFromOptions(stdio){return normalizeStdio(stdio).map((item)=>nodeToBun(item))}function normalizeStdio(stdio){if(typeof stdio===\"string\")switch(stdio){case\"ignore\":return[\"ignore\",\"ignore\",\"ignore\"];case\"pipe\":return[\"pipe\",\"pipe\",\"pipe\"];case\"inherit\":return[\"inherit\",\"inherit\",\"inherit\"];default:throw new ERR_INVALID_OPT_VALUE(\"stdio\",stdio)}else if(ArrayIsArray(stdio)){let processedStdio;if(stdio.length===0)processedStdio=[\"pipe\",\"pipe\",\"pipe\"];else if(stdio.length===1)processedStdio=[stdio[0],\"pipe\",\"pipe\"];else if(stdio.length===2)processedStdio=[stdio[0],stdio[1],\"pipe\"];else if(stdio.length>=3)processedStdio=[stdio[0],stdio[1],stdio[2]];return processedStdio.map((item)=>!item\?\"pipe\":item)}else throw new ERR_INVALID_OPT_VALUE(\"stdio\",stdio)}function flushStdio(subprocess){const stdio=subprocess.stdio;if(stdio==null)return;for(let i=0;i=0))throw new ERR_OUT_OF_RANGE(\"options.maxBuffer\",\"a positive number\",maxBuffer)}function validateArgumentNullCheck(arg,propName){if(typeof arg===\"string\"&&StringPrototypeIncludes.call(arg,\"\\0\"))throw new ERR_INVALID_ARG_VALUE(propName,arg,\"must be a string without null bytes\")}function validateArgumentsNullCheck(args,propName){for(let i=0;i=0))throw new ERR_OUT_OF_RANGE(\"timeout\",\"an unsigned integer\",timeout)}function validateBoolean(value,name){if(typeof value!==\"boolean\")throw new ERR_INVALID_ARG_TYPE(name,\"boolean\",value)}function validateFunction(value,name){if(typeof value!==\"function\")throw new ERR_INVALID_ARG_TYPE(name,\"Function\",value)}const validateAbortSignal=(signal,name)=>{if(signal!==void 0&&(signal===null||typeof signal!==\"object\"||!(\"aborted\"in signal)))throw new ERR_INVALID_ARG_TYPE(name,\"AbortSignal\",signal)},validateOneOf=(value,name,oneOf)=>{if(!ArrayPrototypeIncludes.call(oneOf,value)){const reason=\"must be one of: \"+ArrayPrototypeJoin.call(ArrayPrototypeMap.call(oneOf,(v)=>typeof v===\"string\"\?`'${v}'`:String(v)),\", \");throw new ERR_INVALID_ARG_VALUE(name,value,reason)}},validateObject=(value,name,options=null)=>{const allowArray=options\?.allowArray\?\?!1,allowFunction=options\?.allowFunction\?\?!1;if(!(options\?.nullable\?\?!1)&&value===null||!allowArray&&ArrayIsArray.call(value)||typeof value!==\"object\"&&(!allowFunction||typeof value!==\"function\"))throw new ERR_INVALID_ARG_TYPE(name,\"object\",value)},validateArray=(value,name,minLength=0)=>{if(!ArrayIsArray(value))throw new ERR_INVALID_ARG_TYPE(name,\"Array\",value);if(value.lengthfunction(){return mod||(0,cb[__getOwnPropNames(cb)[0]])((mod={exports:{}}).exports,mod),mod.exports},__export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&typeof from==\"object\"||typeof from==\"function\")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to},require_safe_buffer=__commonJS({\"node_modules/safe-buffer/index.js\"(exports,module){var buffer=BufferModule,Buffer2=buffer.Buffer;function copyProps(src,dst){for(var key in src)dst[key]=src[key]}Buffer2.from&&Buffer2.alloc&&Buffer2.allocUnsafe&&Buffer2.allocUnsafeSlow\?module.exports=buffer:(copyProps(buffer,exports),exports.Buffer=SafeBuffer);function SafeBuffer(arg,encodingOrOffset,length){return Buffer2(arg,encodingOrOffset,length)}SafeBuffer.prototype=Object.create(Buffer2.prototype),copyProps(Buffer2,SafeBuffer),SafeBuffer.from=function(arg,encodingOrOffset,length){if(typeof arg==\"number\")@throwTypeError(\"Argument must not be a number\");return Buffer2(arg,encodingOrOffset,length)},SafeBuffer.alloc=function(size,fill,encoding){if(typeof size!=\"number\")@throwTypeError(\"Argument must be a number\");var buf=Buffer2(size);return fill!==void 0\?typeof encoding==\"string\"\?buf.fill(fill,encoding):buf.fill(fill):buf.fill(0),buf},SafeBuffer.allocUnsafe=function(size){if(typeof size!=\"number\")@throwTypeError(\"Argument must be a number\");return Buffer2(size)},SafeBuffer.allocUnsafeSlow=function(size){if(typeof size!=\"number\")@throwTypeError(\"Argument must be a number\");return buffer.SlowBuffer(size)}}}),require_browser=__commonJS({\"node_modules/randombytes/browser.js\"(exports,module){var MAX_BYTES=65536,MAX_UINT32=4294967295;function oldBrowser(){throw new Error(`Secure random number generation is not supported by this browser.\nUse Chrome, Firefox or Internet Explorer 11`)}var Buffer2=require_safe_buffer().Buffer,crypto2=globalCrypto;crypto2&&crypto2.getRandomValues\?module.exports=randomBytes:module.exports=oldBrowser;function randomBytes(size,cb){if(size>MAX_UINT32)@throwRangeError(\"requested too many random bytes\");var bytes=Buffer2.allocUnsafe(size);if(size>0)if(size>MAX_BYTES)for(var generated=0;generated=this._blockSize;){for(var i=this._blockOffset;i0;++j)this._length[j]+=carry,carry=this._length[j]/4294967296|0,carry>0&&(this._length[j]-=4294967296*carry);return this},HashBase.prototype._update=function(){throw new Error(\"_update is not implemented\")},HashBase.prototype.digest=function(encoding){if(this._finalized)throw new Error(\"Digest already called\");this._finalized=!0;var digest=this._digest();encoding!==void 0&&(digest=digest.toString(encoding)),this._block.fill(0),this._blockOffset=0;for(var i=0;i<4;++i)this._length[i]=0;return digest},HashBase.prototype._digest=function(){throw new Error(\"_digest is not implemented\")},module.exports=HashBase}}),require_md5=__commonJS({\"node_modules/md5.js/index.js\"(exports,module){var inherits=require_inherits_browser(),HashBase=require_hash_base(),Buffer2=require_safe_buffer().Buffer,ARRAY16=new Array(16);function MD5(){HashBase.call(this,64),this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878}inherits(MD5,HashBase),MD5.prototype._update=function(){for(var M=ARRAY16,i=0;i<16;++i)M[i]=this._block.readInt32LE(i*4);var a=this._a,b=this._b,c=this._c,d=this._d;a=fnF(a,b,c,d,M[0],3614090360,7),d=fnF(d,a,b,c,M[1],3905402710,12),c=fnF(c,d,a,b,M[2],606105819,17),b=fnF(b,c,d,a,M[3],3250441966,22),a=fnF(a,b,c,d,M[4],4118548399,7),d=fnF(d,a,b,c,M[5],1200080426,12),c=fnF(c,d,a,b,M[6],2821735955,17),b=fnF(b,c,d,a,M[7],4249261313,22),a=fnF(a,b,c,d,M[8],1770035416,7),d=fnF(d,a,b,c,M[9],2336552879,12),c=fnF(c,d,a,b,M[10],4294925233,17),b=fnF(b,c,d,a,M[11],2304563134,22),a=fnF(a,b,c,d,M[12],1804603682,7),d=fnF(d,a,b,c,M[13],4254626195,12),c=fnF(c,d,a,b,M[14],2792965006,17),b=fnF(b,c,d,a,M[15],1236535329,22),a=fnG(a,b,c,d,M[1],4129170786,5),d=fnG(d,a,b,c,M[6],3225465664,9),c=fnG(c,d,a,b,M[11],643717713,14),b=fnG(b,c,d,a,M[0],3921069994,20),a=fnG(a,b,c,d,M[5],3593408605,5),d=fnG(d,a,b,c,M[10],38016083,9),c=fnG(c,d,a,b,M[15],3634488961,14),b=fnG(b,c,d,a,M[4],3889429448,20),a=fnG(a,b,c,d,M[9],568446438,5),d=fnG(d,a,b,c,M[14],3275163606,9),c=fnG(c,d,a,b,M[3],4107603335,14),b=fnG(b,c,d,a,M[8],1163531501,20),a=fnG(a,b,c,d,M[13],2850285829,5),d=fnG(d,a,b,c,M[2],4243563512,9),c=fnG(c,d,a,b,M[7],1735328473,14),b=fnG(b,c,d,a,M[12],2368359562,20),a=fnH(a,b,c,d,M[5],4294588738,4),d=fnH(d,a,b,c,M[8],2272392833,11),c=fnH(c,d,a,b,M[11],1839030562,16),b=fnH(b,c,d,a,M[14],4259657740,23),a=fnH(a,b,c,d,M[1],2763975236,4),d=fnH(d,a,b,c,M[4],1272893353,11),c=fnH(c,d,a,b,M[7],4139469664,16),b=fnH(b,c,d,a,M[10],3200236656,23),a=fnH(a,b,c,d,M[13],681279174,4),d=fnH(d,a,b,c,M[0],3936430074,11),c=fnH(c,d,a,b,M[3],3572445317,16),b=fnH(b,c,d,a,M[6],76029189,23),a=fnH(a,b,c,d,M[9],3654602809,4),d=fnH(d,a,b,c,M[12],3873151461,11),c=fnH(c,d,a,b,M[15],530742520,16),b=fnH(b,c,d,a,M[2],3299628645,23),a=fnI(a,b,c,d,M[0],4096336452,6),d=fnI(d,a,b,c,M[7],1126891415,10),c=fnI(c,d,a,b,M[14],2878612391,15),b=fnI(b,c,d,a,M[5],4237533241,21),a=fnI(a,b,c,d,M[12],1700485571,6),d=fnI(d,a,b,c,M[3],2399980690,10),c=fnI(c,d,a,b,M[10],4293915773,15),b=fnI(b,c,d,a,M[1],2240044497,21),a=fnI(a,b,c,d,M[8],1873313359,6),d=fnI(d,a,b,c,M[15],4264355552,10),c=fnI(c,d,a,b,M[6],2734768916,15),b=fnI(b,c,d,a,M[13],1309151649,21),a=fnI(a,b,c,d,M[4],4149444226,6),d=fnI(d,a,b,c,M[11],3174756917,10),c=fnI(c,d,a,b,M[2],718787259,15),b=fnI(b,c,d,a,M[9],3951481745,21),this._a=this._a+a|0,this._b=this._b+b|0,this._c=this._c+c|0,this._d=this._d+d|0},MD5.prototype._digest=function(){this._block[this._blockOffset++]=128,this._blockOffset>56&&(this._block.fill(0,this._blockOffset,64),this._update(),this._blockOffset=0),this._block.fill(0,this._blockOffset,56),this._block.writeUInt32LE(this._length[0],56),this._block.writeUInt32LE(this._length[1],60),this._update();var buffer=Buffer2.allocUnsafe(16);return buffer.writeInt32LE(this._a,0),buffer.writeInt32LE(this._b,4),buffer.writeInt32LE(this._c,8),buffer.writeInt32LE(this._d,12),buffer};function rotl(x,n){return x<>>32-n}function fnF(a,b,c,d,m,k,s){return rotl(a+(b&c|~b&d)+m+k|0,s)+b|0}function fnG(a,b,c,d,m,k,s){return rotl(a+(b&d|c&~d)+m+k|0,s)+b|0}function fnH(a,b,c,d,m,k,s){return rotl(a+(b^c^d)+m+k|0,s)+b|0}function fnI(a,b,c,d,m,k,s){return rotl(a+(c^(b|~d))+m+k|0,s)+b|0}module.exports=MD5}}),require_ripemd160=__commonJS({\"node_modules/ripemd160/index.js\"(exports,module){var Buffer2=Buffer,inherits=require_inherits_browser(),HashBase=require_hash_base(),ARRAY16=new Array(16),zl=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13],zr=[5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11],sl=[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6],sr=[8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11],hl=[0,1518500249,1859775393,2400959708,2840853838],hr=[1352829926,1548603684,1836072691,2053994217,0];function RIPEMD160(){HashBase.call(this,64),this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520}inherits(RIPEMD160,HashBase),RIPEMD160.prototype._update=function(){for(var words=ARRAY16,j=0;j<16;++j)words[j]=this._block.readInt32LE(j*4);for(var al=this._a|0,bl=this._b|0,cl=this._c|0,dl=this._d|0,el=this._e|0,ar=this._a|0,br=this._b|0,cr=this._c|0,dr=this._d|0,er=this._e|0,i=0;i<80;i+=1){var tl,tr;i<16\?(tl=fn1(al,bl,cl,dl,el,words[zl[i]],hl[0],sl[i]),tr=fn5(ar,br,cr,dr,er,words[zr[i]],hr[0],sr[i])):i<32\?(tl=fn2(al,bl,cl,dl,el,words[zl[i]],hl[1],sl[i]),tr=fn4(ar,br,cr,dr,er,words[zr[i]],hr[1],sr[i])):i<48\?(tl=fn3(al,bl,cl,dl,el,words[zl[i]],hl[2],sl[i]),tr=fn3(ar,br,cr,dr,er,words[zr[i]],hr[2],sr[i])):i<64\?(tl=fn4(al,bl,cl,dl,el,words[zl[i]],hl[3],sl[i]),tr=fn2(ar,br,cr,dr,er,words[zr[i]],hr[3],sr[i])):(tl=fn5(al,bl,cl,dl,el,words[zl[i]],hl[4],sl[i]),tr=fn1(ar,br,cr,dr,er,words[zr[i]],hr[4],sr[i])),al=el,el=dl,dl=rotl(cl,10),cl=bl,bl=tl,ar=er,er=dr,dr=rotl(cr,10),cr=br,br=tr}var t=this._b+cl+dr|0;this._b=this._c+dl+er|0,this._c=this._d+el+ar|0,this._d=this._e+al+br|0,this._e=this._a+bl+cr|0,this._a=t},RIPEMD160.prototype._digest=function(){this._block[this._blockOffset++]=128,this._blockOffset>56&&(this._block.fill(0,this._blockOffset,64),this._update(),this._blockOffset=0),this._block.fill(0,this._blockOffset,56),this._block.writeUInt32LE(this._length[0],56),this._block.writeUInt32LE(this._length[1],60),this._update();var buffer=Buffer2.alloc\?Buffer2.alloc(20):new Buffer2(20);return buffer.writeInt32LE(this._a,0),buffer.writeInt32LE(this._b,4),buffer.writeInt32LE(this._c,8),buffer.writeInt32LE(this._d,12),buffer.writeInt32LE(this._e,16),buffer};function rotl(x,n){return x<>>32-n}function fn1(a,b,c,d,e,m,k,s){return rotl(a+(b^c^d)+m+k|0,s)+e|0}function fn2(a,b,c,d,e,m,k,s){return rotl(a+(b&c|~b&d)+m+k|0,s)+e|0}function fn3(a,b,c,d,e,m,k,s){return rotl(a+((b|~c)^d)+m+k|0,s)+e|0}function fn4(a,b,c,d,e,m,k,s){return rotl(a+(b&d|c&~d)+m+k|0,s)+e|0}function fn5(a,b,c,d,e,m,k,s){return rotl(a+(b^(c|~d))+m+k|0,s)+e|0}module.exports=RIPEMD160}}),require_hash=__commonJS({\"node_modules/sha.js/hash.js\"(exports,module){var Buffer2=require_safe_buffer().Buffer;function Hash(blockSize,finalSize){this._block=Buffer2.alloc(blockSize),this._finalSize=finalSize,this._blockSize=blockSize,this._len=0}Hash.prototype.update=function(data,enc){typeof data==\"string\"&&(enc=enc||\"utf8\",data=Buffer2.from(data,enc));for(var block=this._block,blockSize=this._blockSize,length=data.length,accum=this._len,offset=0;offset=this._finalSize&&(this._update(this._block),this._block.fill(0));var bits=this._len*8;if(bits<=4294967295)this._block.writeUInt32BE(bits,this._blockSize-4);else{var lowBits=(bits&4294967295)>>>0,highBits=(bits-lowBits)/4294967296;this._block.writeUInt32BE(highBits,this._blockSize-8),this._block.writeUInt32BE(lowBits,this._blockSize-4)}this._update(this._block);var hash=this._hash();return enc\?hash.toString(enc):hash},Hash.prototype._update=function(){throw new Error(\"_update must be implemented by subclass\")},module.exports=Hash}}),require_sha=__commonJS({\"node_modules/sha.js/sha.js\"(exports,module){var inherits=require_inherits_browser(),Hash=require_hash(),Buffer2=require_safe_buffer().Buffer,K=[1518500249,1859775393,-1894007588,-899497514],W=new Array(80);function Sha(){this.init(),this._w=W,Hash.call(this,64,56)}inherits(Sha,Hash),Sha.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this};function rotl5(num){return num<<5|num>>>27}function rotl30(num){return num<<30|num>>>2}function ft(s,b,c,d){return s===0\?b&c|~b&d:s===2\?b&c|b&d|c&d:b^c^d}Sha.prototype._update=function(M){for(var W2=this._w,a=this._a|0,b=this._b|0,c=this._c|0,d=this._d|0,e=this._e|0,i=0;i<16;++i)W2[i]=M.readInt32BE(i*4);for(;i<80;++i)W2[i]=W2[i-3]^W2[i-8]^W2[i-14]^W2[i-16];for(var j=0;j<80;++j){var s=~~(j/20),t=rotl5(a)+ft(s,b,c,d)+e+W2[j]+K[s]|0;e=d,d=c,c=rotl30(b),b=a,a=t}this._a=a+this._a|0,this._b=b+this._b|0,this._c=c+this._c|0,this._d=d+this._d|0,this._e=e+this._e|0},Sha.prototype._hash=function(){var H=Buffer2.allocUnsafe(20);return H.writeInt32BE(this._a|0,0),H.writeInt32BE(this._b|0,4),H.writeInt32BE(this._c|0,8),H.writeInt32BE(this._d|0,12),H.writeInt32BE(this._e|0,16),H},module.exports=Sha}}),require_sha1=__commonJS({\"node_modules/sha.js/sha1.js\"(exports,module){var inherits=require_inherits_browser(),Hash=require_hash(),Buffer2=require_safe_buffer().Buffer,K=[1518500249,1859775393,-1894007588,-899497514],W=new Array(80);function Sha1(){this.init(),this._w=W,Hash.call(this,64,56)}inherits(Sha1,Hash),Sha1.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this};function rotl1(num){return num<<1|num>>>31}function rotl5(num){return num<<5|num>>>27}function rotl30(num){return num<<30|num>>>2}function ft(s,b,c,d){return s===0\?b&c|~b&d:s===2\?b&c|b&d|c&d:b^c^d}Sha1.prototype._update=function(M){for(var W2=this._w,a=this._a|0,b=this._b|0,c=this._c|0,d=this._d|0,e=this._e|0,i=0;i<16;++i)W2[i]=M.readInt32BE(i*4);for(;i<80;++i)W2[i]=rotl1(W2[i-3]^W2[i-8]^W2[i-14]^W2[i-16]);for(var j=0;j<80;++j){var s=~~(j/20),t=rotl5(a)+ft(s,b,c,d)+e+W2[j]+K[s]|0;e=d,d=c,c=rotl30(b),b=a,a=t}this._a=a+this._a|0,this._b=b+this._b|0,this._c=c+this._c|0,this._d=d+this._d|0,this._e=e+this._e|0},Sha1.prototype._hash=function(){var H=Buffer2.allocUnsafe(20);return H.writeInt32BE(this._a|0,0),H.writeInt32BE(this._b|0,4),H.writeInt32BE(this._c|0,8),H.writeInt32BE(this._d|0,12),H.writeInt32BE(this._e|0,16),H},module.exports=Sha1}}),require_sha256=__commonJS({\"node_modules/sha.js/sha256.js\"(exports,module){var inherits=require_inherits_browser(),Hash=require_hash(),Buffer2=require_safe_buffer().Buffer,K=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298],W=new Array(64);function Sha256(){this.init(),this._w=W,Hash.call(this,64,56)}inherits(Sha256,Hash),Sha256.prototype.init=function(){return this._a=1779033703,this._b=3144134277,this._c=1013904242,this._d=2773480762,this._e=1359893119,this._f=2600822924,this._g=528734635,this._h=1541459225,this};function ch(x,y,z){return z^x&(y^z)}function maj(x,y,z){return x&y|z&(x|y)}function sigma0(x){return(x>>>2|x<<30)^(x>>>13|x<<19)^(x>>>22|x<<10)}function sigma1(x){return(x>>>6|x<<26)^(x>>>11|x<<21)^(x>>>25|x<<7)}function gamma0(x){return(x>>>7|x<<25)^(x>>>18|x<<14)^x>>>3}function gamma1(x){return(x>>>17|x<<15)^(x>>>19|x<<13)^x>>>10}Sha256.prototype._update=function(M){for(var W2=this._w,a=this._a|0,b=this._b|0,c=this._c|0,d=this._d|0,e=this._e|0,f=this._f|0,g=this._g|0,h=this._h|0,i=0;i<16;++i)W2[i]=M.readInt32BE(i*4);for(;i<64;++i)W2[i]=gamma1(W2[i-2])+W2[i-7]+gamma0(W2[i-15])+W2[i-16]|0;for(var j=0;j<64;++j){var T1=h+sigma1(e)+ch(e,f,g)+K[j]+W2[j]|0,T2=sigma0(a)+maj(a,b,c)|0;h=g,g=f,f=e,e=d+T1|0,d=c,c=b,b=a,a=T1+T2|0}this._a=a+this._a|0,this._b=b+this._b|0,this._c=c+this._c|0,this._d=d+this._d|0,this._e=e+this._e|0,this._f=f+this._f|0,this._g=g+this._g|0,this._h=h+this._h|0},Sha256.prototype._hash=function(){var H=Buffer2.allocUnsafe(32);return H.writeInt32BE(this._a,0),H.writeInt32BE(this._b,4),H.writeInt32BE(this._c,8),H.writeInt32BE(this._d,12),H.writeInt32BE(this._e,16),H.writeInt32BE(this._f,20),H.writeInt32BE(this._g,24),H.writeInt32BE(this._h,28),H},module.exports=Sha256}}),require_sha224=__commonJS({\"node_modules/sha.js/sha224.js\"(exports,module){var inherits=require_inherits_browser(),Sha256=require_sha256(),Hash=require_hash(),Buffer2=require_safe_buffer().Buffer,W=new Array(64);function Sha224(){this.init(),this._w=W,Hash.call(this,64,56)}inherits(Sha224,Sha256),Sha224.prototype.init=function(){return this._a=3238371032,this._b=914150663,this._c=812702999,this._d=4144912697,this._e=4290775857,this._f=1750603025,this._g=1694076839,this._h=3204075428,this},Sha224.prototype._hash=function(){var H=Buffer2.allocUnsafe(28);return H.writeInt32BE(this._a,0),H.writeInt32BE(this._b,4),H.writeInt32BE(this._c,8),H.writeInt32BE(this._d,12),H.writeInt32BE(this._e,16),H.writeInt32BE(this._f,20),H.writeInt32BE(this._g,24),H},module.exports=Sha224}}),require_sha512=__commonJS({\"node_modules/sha.js/sha512.js\"(exports,module){var inherits=require_inherits_browser(),Hash=require_hash(),Buffer2=require_safe_buffer().Buffer,K=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591],W=new Array(160);function Sha512(){this.init(),this._w=W,Hash.call(this,128,112)}inherits(Sha512,Hash),Sha512.prototype.init=function(){return this._ah=1779033703,this._bh=3144134277,this._ch=1013904242,this._dh=2773480762,this._eh=1359893119,this._fh=2600822924,this._gh=528734635,this._hh=1541459225,this._al=4089235720,this._bl=2227873595,this._cl=4271175723,this._dl=1595750129,this._el=2917565137,this._fl=725511199,this._gl=4215389547,this._hl=327033209,this};function Ch(x,y,z){return z^x&(y^z)}function maj(x,y,z){return x&y|z&(x|y)}function sigma0(x,xl){return(x>>>28|xl<<4)^(xl>>>2|x<<30)^(xl>>>7|x<<25)}function sigma1(x,xl){return(x>>>14|xl<<18)^(x>>>18|xl<<14)^(xl>>>9|x<<23)}function Gamma0(x,xl){return(x>>>1|xl<<31)^(x>>>8|xl<<24)^x>>>7}function Gamma0l(x,xl){return(x>>>1|xl<<31)^(x>>>8|xl<<24)^(x>>>7|xl<<25)}function Gamma1(x,xl){return(x>>>19|xl<<13)^(xl>>>29|x<<3)^x>>>6}function Gamma1l(x,xl){return(x>>>19|xl<<13)^(xl>>>29|x<<3)^(x>>>6|xl<<26)}function getCarry(a,b){return a>>>0>>0\?1:0}Sha512.prototype._update=function(M){for(var W2=this._w,ah=this._ah|0,bh=this._bh|0,ch=this._ch|0,dh=this._dh|0,eh=this._eh|0,fh=this._fh|0,gh=this._gh|0,hh=this._hh|0,al=this._al|0,bl=this._bl|0,cl=this._cl|0,dl=this._dl|0,el=this._el|0,fl=this._fl|0,gl=this._gl|0,hl=this._hl|0,i=0;i<32;i+=2)W2[i]=M.readInt32BE(i*4),W2[i+1]=M.readInt32BE(i*4+4);for(;i<160;i+=2){var xh=W2[i-30],xl=W2[i-30+1],gamma0=Gamma0(xh,xl),gamma0l=Gamma0l(xl,xh);xh=W2[i-4],xl=W2[i-4+1];var gamma1=Gamma1(xh,xl),gamma1l=Gamma1l(xl,xh),Wi7h=W2[i-14],Wi7l=W2[i-14+1],Wi16h=W2[i-32],Wi16l=W2[i-32+1],Wil=gamma0l+Wi7l|0,Wih=gamma0+Wi7h+getCarry(Wil,gamma0l)|0;Wil=Wil+gamma1l|0,Wih=Wih+gamma1+getCarry(Wil,gamma1l)|0,Wil=Wil+Wi16l|0,Wih=Wih+Wi16h+getCarry(Wil,Wi16l)|0,W2[i]=Wih,W2[i+1]=Wil}for(var j=0;j<160;j+=2){Wih=W2[j],Wil=W2[j+1];var majh=maj(ah,bh,ch),majl=maj(al,bl,cl),sigma0h=sigma0(ah,al),sigma0l=sigma0(al,ah),sigma1h=sigma1(eh,el),sigma1l=sigma1(el,eh),Kih=K[j],Kil=K[j+1],chh=Ch(eh,fh,gh),chl=Ch(el,fl,gl),t1l=hl+sigma1l|0,t1h=hh+sigma1h+getCarry(t1l,hl)|0;t1l=t1l+chl|0,t1h=t1h+chh+getCarry(t1l,chl)|0,t1l=t1l+Kil|0,t1h=t1h+Kih+getCarry(t1l,Kil)|0,t1l=t1l+Wil|0,t1h=t1h+Wih+getCarry(t1l,Wil)|0;var t2l=sigma0l+majl|0,t2h=sigma0h+majh+getCarry(t2l,sigma0l)|0;hh=gh,hl=gl,gh=fh,gl=fl,fh=eh,fl=el,el=dl+t1l|0,eh=dh+t1h+getCarry(el,dl)|0,dh=ch,dl=cl,ch=bh,cl=bl,bh=ah,bl=al,al=t1l+t2l|0,ah=t1h+t2h+getCarry(al,t1l)|0}this._al=this._al+al|0,this._bl=this._bl+bl|0,this._cl=this._cl+cl|0,this._dl=this._dl+dl|0,this._el=this._el+el|0,this._fl=this._fl+fl|0,this._gl=this._gl+gl|0,this._hl=this._hl+hl|0,this._ah=this._ah+ah+getCarry(this._al,al)|0,this._bh=this._bh+bh+getCarry(this._bl,bl)|0,this._ch=this._ch+ch+getCarry(this._cl,cl)|0,this._dh=this._dh+dh+getCarry(this._dl,dl)|0,this._eh=this._eh+eh+getCarry(this._el,el)|0,this._fh=this._fh+fh+getCarry(this._fl,fl)|0,this._gh=this._gh+gh+getCarry(this._gl,gl)|0,this._hh=this._hh+hh+getCarry(this._hl,hl)|0},Sha512.prototype._hash=function(){var H=Buffer2.allocUnsafe(64);function writeInt64BE(h,l,offset){H.writeInt32BE(h,offset),H.writeInt32BE(l,offset+4)}return writeInt64BE(this._ah,this._al,0),writeInt64BE(this._bh,this._bl,8),writeInt64BE(this._ch,this._cl,16),writeInt64BE(this._dh,this._dl,24),writeInt64BE(this._eh,this._el,32),writeInt64BE(this._fh,this._fl,40),writeInt64BE(this._gh,this._gl,48),writeInt64BE(this._hh,this._hl,56),H},module.exports=Sha512}}),require_sha384=__commonJS({\"node_modules/sha.js/sha384.js\"(exports,module){var inherits=require_inherits_browser(),SHA512=require_sha512(),Hash=require_hash(),Buffer2=require_safe_buffer().Buffer,W=new Array(160);function Sha384(){this.init(),this._w=W,Hash.call(this,128,112)}inherits(Sha384,SHA512),Sha384.prototype.init=function(){return this._ah=3418070365,this._bh=1654270250,this._ch=2438529370,this._dh=355462360,this._eh=1731405415,this._fh=2394180231,this._gh=3675008525,this._hh=1203062813,this._al=3238371032,this._bl=914150663,this._cl=812702999,this._dl=4144912697,this._el=4290775857,this._fl=1750603025,this._gl=1694076839,this._hl=3204075428,this},Sha384.prototype._hash=function(){var H=Buffer2.allocUnsafe(48);function writeInt64BE(h,l,offset){H.writeInt32BE(h,offset),H.writeInt32BE(l,offset+4)}return writeInt64BE(this._ah,this._al,0),writeInt64BE(this._bh,this._bl,8),writeInt64BE(this._ch,this._cl,16),writeInt64BE(this._dh,this._dl,24),writeInt64BE(this._eh,this._el,32),writeInt64BE(this._fh,this._fl,40),H},module.exports=Sha384}}),require_sha2=__commonJS({\"node_modules/sha.js/index.js\"(exports,module){var exports=module.exports=function(algorithm){algorithm=algorithm.toLowerCase();var Algorithm=exports[algorithm];if(!Algorithm)throw new Error(algorithm+\" is not supported (we accept pull requests)\");return new Algorithm};exports.sha=require_sha(),exports.sha1=require_sha1(),exports.sha224=require_sha224(),exports.sha256=require_sha256(),exports.sha384=require_sha384(),exports.sha512=require_sha512()}}),require_cipher_base=__commonJS({\"node_modules/cipher-base/index.js\"(exports,module){var Buffer2=require_safe_buffer().Buffer,inherits=require_inherits_browser();function CipherBase(hashMode){StreamModule.Transform.call(this),this.hashMode=typeof hashMode==\"string\",this.hashMode\?this[hashMode]=this._finalOrDigest:this.final=this._finalOrDigest,this._final&&(this.__final=this._final,this._final=null),this._decoder=null,this._encoding=null}inherits(CipherBase,StreamModule.Transform),CipherBase.prototype.update=function(data,inputEnc,outputEnc){typeof data==\"string\"&&(data=Buffer2.from(data,inputEnc));var outData=this._update(data);return this.hashMode\?this:(outputEnc&&(outData=this._toString(outData,outputEnc)),outData)},CipherBase.prototype.setAutoPadding=function(){},CipherBase.prototype.getAuthTag=function(){throw new Error(\"trying to get auth tag in unsupported state\")},CipherBase.prototype.setAuthTag=function(){throw new Error(\"trying to set auth tag in unsupported state\")},CipherBase.prototype.setAAD=function(){throw new Error(\"trying to set aad in unsupported state\")},CipherBase.prototype._transform=function(data,_,next){var err;try{this.hashMode\?this._update(data):this.push(this._update(data))}catch(e){err=e}finally{next(err)}},CipherBase.prototype._flush=function(done){var err;try{this.push(this.__final())}catch(e){err=e}done(err)},CipherBase.prototype._finalOrDigest=function(outputEnc){var outData=this.__final()||Buffer2.alloc(0);return outputEnc&&(outData=this._toString(outData,outputEnc,!0)),outData},CipherBase.prototype._toString=function(value,enc,fin){if(this._decoder||(this._decoder=new StringDecoder(enc),this._encoding=enc),this._encoding!==enc)throw new Error(\"can't switch encodings\");var out=this._decoder.write(value);return fin&&(out+=this._decoder.end()),out},module.exports=CipherBase}}),require_browser2=__commonJS({\"node_modules/create-hash/browser.js\"(exports,module){const LazyHash=function Hash(algorithm,options){this._options=options,this._hasher=new CryptoHasher(algorithm,options),this._finalized=!1};LazyHash.prototype=Object.create(StreamModule.Transform.prototype),LazyHash.prototype.update=function update(data,encoding){return this._checkFinalized(),this._hasher.update(data,encoding),this},LazyHash.prototype.digest=function update(data,encoding){return this._checkFinalized(),this._finalized=!0,this._hasher.digest(data,encoding)},LazyHash.prototype._checkFinalized=function _checkFinalized(){if(this._finalized){var err=new Error(\"Digest already called\");throw err.code=\"ERR_CRYPTO_HASH_FINALIZED\",err}},LazyHash.prototype.copy=function copy(){const copy=Object.create(LazyHash.prototype);return copy._options=this._options,copy._hasher=this._hasher.copy(),copy._finalized=this._finalized,copy};const lazyHashFullInitProto={__proto__:StreamModule.Transform.prototype,...LazyHash.prototype,_transform(data,encoding,callback){this.update(data,encoding),callback&&callback()},_flush(callback){this.push(this.digest()),callback()}},triggerMethods=[\"_events\",\"_eventsCount\",\"_final\",\"_maxListeners\",\"_maxListeners\",\"_read\",\"_undestroy\",\"_writableState\",\"_write\",\"_writev\",\"addListener\",\"asIndexedPairs\",\"closed\",\"compose\",\"constructor\",\"cork\",\"destroy\",\"destroyed\",\"drop\",\"emit\",\"end\",\"errored\",\"eventNames\",\"every\",\"filter\",\"find\",\"flatMap\",\"forEach\",\"getMaxListeners\",\"hasOwnProperty\",\"isPaused\",\"isPrototypeOf\",\"iterator\",\"listenerCount\",\"listeners\",\"map\",\"off\",\"on\",\"once\",\"pause\",\"pipe\",\"prependListener\",\"prependOnceListener\",\"propertyIsEnumerable\",\"push\",\"rawListeners\",\"read\",\"readable\",\"readableAborted\",\"readableBuffer\",\"readableDidRead\",\"readableEncoding\",\"readableEnded\",\"readableFlowing\",\"readableHighWaterMark\",\"readableLength\",\"readableObjectMode\",\"reduce\",\"removeAllListeners\",\"removeListener\",\"resume\",\"setDefaultEncoding\",\"setEncoding\",\"setMaxListeners\",\"some\",\"take\",\"toArray\",\"toLocaleString\",\"toString\",\"uncork\",\"unpipe\",\"unshift\",\"valueOf\",\"wrap\",\"writable\",\"writableBuffer\",\"writableCorked\",\"writableEnded\",\"writableFinished\",\"writableHighWaterMark\",\"writableLength\",\"writableNeedDrain\",\"writableObjectMode\",\"write\"];for(let method of triggerMethods)Object.defineProperty(LazyHash.prototype,method,{get(){return Object.setPrototypeOf(this,lazyHashFullInitProto),StreamModule.Transform.call(this,this._options),this[method]},enumerable:!1,configurable:!0});module.exports=function createHash(algorithm){return new LazyHash(algorithm)},module.exports.createHash=module.exports,module.exports.Hash=LazyHash}}),require_legacy=__commonJS({\"node_modules/create-hmac/legacy.js\"(exports,module){var inherits=require_inherits_browser(),Buffer2=require_safe_buffer().Buffer,Base=require_cipher_base(),ZEROS=Buffer2.alloc(128),blocksize=64;function Hmac(alg,key){Base.call(this,\"digest\"),typeof key==\"string\"&&(key=Buffer2.from(key)),this._alg=alg,this._key=key,key.length>blocksize\?key=alg(key):key.lengthblocksize){var hash=alg===\"rmd160\"\?new RIPEMD160:sha(alg);key=hash.update(key).digest()}else key.lengthMAX_ALLOC||keylen!==keylen)@throwTypeError(\"Bad key length\")}}}),require_default_encoding=__commonJS({\"node_modules/pbkdf2/lib/default-encoding.js\"(exports,module){var defaultEncoding;global.process&&global.process.browser\?defaultEncoding=\"utf-8\":global.process&&global.process.version\?(pVersionMajor=parseInt(process.version.split(\".\")[0].slice(1),10),defaultEncoding=pVersionMajor>=6\?\"utf-8\":\"binary\"):defaultEncoding=\"utf-8\";var pVersionMajor;module.exports=defaultEncoding}}),require_to_buffer=__commonJS({\"node_modules/pbkdf2/lib/to-buffer.js\"(exports,module){var Buffer2=require_safe_buffer().Buffer;module.exports=function(thing,encoding,name){if(Buffer2.isBuffer(thing))return thing;if(typeof thing==\"string\")return Buffer2.from(thing,encoding);if(ArrayBuffer.isView(thing))return Buffer2.from(thing.buffer);@throwTypeError(name+\" must be a string, a Buffer, a typed array or a DataView\")}}}),require_sync_browser=__commonJS({\"node_modules/pbkdf2/lib/sync-browser.js\"(exports,module){var md5=require_md52(),RIPEMD160=require_ripemd160(),sha=require_sha2(),Buffer2=require_safe_buffer().Buffer,checkParameters=require_precondition(),defaultEncoding=require_default_encoding(),toBuffer=require_to_buffer(),ZEROS=Buffer2.alloc(128),sizes={md5:16,sha1:20,sha224:28,sha256:32,sha384:48,sha512:64,rmd160:20,ripemd160:20};function Hmac(alg,key,saltLen){var hash=getDigest(alg),blocksize=alg===\"sha512\"||alg===\"sha384\"\?128:64;key.length>blocksize\?key=hash(key):key.length>>0},exports.writeUInt32BE=function(bytes,value,off){bytes[0+off]=value>>>24,bytes[1+off]=value>>>16&255,bytes[2+off]=value>>>8&255,bytes[3+off]=value&255},exports.ip=function(inL,inR,out,off){for(var outL=0,outR=0,i=6;i>=0;i-=2){for(var j=0;j<=24;j+=8)outL<<=1,outL|=inR>>>j+i&1;for(var j=0;j<=24;j+=8)outL<<=1,outL|=inL>>>j+i&1}for(var i=6;i>=0;i-=2){for(var j=1;j<=25;j+=8)outR<<=1,outR|=inR>>>j+i&1;for(var j=1;j<=25;j+=8)outR<<=1,outR|=inL>>>j+i&1}out[off+0]=outL>>>0,out[off+1]=outR>>>0},exports.rip=function(inL,inR,out,off){for(var outL=0,outR=0,i=0;i<4;i++)for(var j=24;j>=0;j-=8)outL<<=1,outL|=inR>>>j+i&1,outL<<=1,outL|=inL>>>j+i&1;for(var i=4;i<8;i++)for(var j=24;j>=0;j-=8)outR<<=1,outR|=inR>>>j+i&1,outR<<=1,outR|=inL>>>j+i&1;out[off+0]=outL>>>0,out[off+1]=outR>>>0},exports.pc1=function(inL,inR,out,off){for(var outL=0,outR=0,i=7;i>=5;i--){for(var j=0;j<=24;j+=8)outL<<=1,outL|=inR>>j+i&1;for(var j=0;j<=24;j+=8)outL<<=1,outL|=inL>>j+i&1}for(var j=0;j<=24;j+=8)outL<<=1,outL|=inR>>j+i&1;for(var i=1;i<=3;i++){for(var j=0;j<=24;j+=8)outR<<=1,outR|=inR>>j+i&1;for(var j=0;j<=24;j+=8)outR<<=1,outR|=inL>>j+i&1}for(var j=0;j<=24;j+=8)outR<<=1,outR|=inL>>j+i&1;out[off+0]=outL>>>0,out[off+1]=outR>>>0},exports.r28shl=function(num,shift){return num<>>28-shift};var pc2table=[14,11,17,4,27,23,25,0,13,22,7,18,5,9,16,24,2,20,12,21,1,8,15,26,15,4,25,19,9,1,26,16,5,11,23,8,12,7,17,0,22,3,10,14,6,20,27,24];exports.pc2=function(inL,inR,out,off){for(var outL=0,outR=0,len=pc2table.length>>>1,i=0;i>>pc2table[i]&1;for(var i=len;i>>pc2table[i]&1;out[off+0]=outL>>>0,out[off+1]=outR>>>0},exports.expand=function(r,out,off){var outL=0,outR=0;outL=(r&1)<<5|r>>>27;for(var i=23;i>=15;i-=4)outL<<=6,outL|=r>>>i&63;for(var i=11;i>=3;i-=4)outR|=r>>>i&63,outR<<=6;outR|=(r&31)<<1|r>>>31,out[off+0]=outL>>>0,out[off+1]=outR>>>0};var sTable=[14,0,4,15,13,7,1,4,2,14,15,2,11,13,8,1,3,10,10,6,6,12,12,11,5,9,9,5,0,3,7,8,4,15,1,12,14,8,8,2,13,4,6,9,2,1,11,7,15,5,12,11,9,3,7,14,3,10,10,0,5,6,0,13,15,3,1,13,8,4,14,7,6,15,11,2,3,8,4,14,9,12,7,0,2,1,13,10,12,6,0,9,5,11,10,5,0,13,14,8,7,10,11,1,10,3,4,15,13,4,1,2,5,11,8,6,12,7,6,12,9,0,3,5,2,14,15,9,10,13,0,7,9,0,14,9,6,3,3,4,15,6,5,10,1,2,13,8,12,5,7,14,11,12,4,11,2,15,8,1,13,1,6,10,4,13,9,0,8,6,15,9,3,8,0,7,11,4,1,15,2,14,12,3,5,11,10,5,14,2,7,12,7,13,13,8,14,11,3,5,0,6,6,15,9,0,10,3,1,4,2,7,8,2,5,12,11,1,12,10,4,14,15,9,10,3,6,15,9,0,0,6,12,10,11,1,7,13,13,8,15,9,1,4,3,5,14,11,5,12,2,7,8,2,4,14,2,14,12,11,4,2,1,12,7,4,10,7,11,13,6,1,8,5,5,0,3,15,15,10,13,3,0,9,14,8,9,6,4,11,2,8,1,12,11,7,10,1,13,14,7,2,8,13,15,6,9,15,12,0,5,9,6,10,3,4,0,5,14,3,12,10,1,15,10,4,15,2,9,7,2,12,6,9,8,5,0,6,13,1,3,13,4,14,14,0,7,11,5,3,11,8,9,4,14,3,15,2,5,12,2,9,8,5,12,15,3,10,7,11,0,14,4,1,10,7,1,6,13,0,11,8,6,13,4,13,11,0,2,11,14,7,15,4,0,9,8,1,13,10,3,14,12,3,9,5,7,12,5,2,10,15,6,8,1,6,1,6,4,11,11,13,13,8,12,1,3,4,7,10,14,7,10,9,15,5,6,0,8,15,0,14,5,2,9,3,2,12,13,1,2,15,8,13,4,8,6,10,15,3,11,7,1,4,10,12,9,5,3,6,14,11,5,0,0,14,12,9,7,2,7,2,11,1,4,14,1,7,9,4,12,10,14,8,2,13,0,15,6,12,10,9,13,0,15,3,3,5,5,6,8,11];exports.substitute=function(inL,inR){for(var out=0,i=0;i<4;i++){var b=inL>>>18-i*6&63,sb=sTable[i*64+b];out<<=4,out|=sb}for(var i=0;i<4;i++){var b=inR>>>18-i*6&63,sb=sTable[256+i*64+b];out<<=4,out|=sb}return out>>>0};var permuteTable=[16,25,12,11,3,20,4,15,31,17,9,6,27,14,1,22,30,24,8,18,0,5,29,23,13,19,2,26,10,21,28,7];exports.permute=function(num){for(var out=0,i=0;i>>permuteTable[i]&1;return out>>>0},exports.padSplit=function(num,size,group){for(var str=num.toString(2);str.length0;count--)inputOff+=this._buffer(data,inputOff),outputOff+=this._flushBuffer(out,outputOff);return inputOff+=this._buffer(data,inputOff),out},Cipher.prototype.final=function(buffer){var first;buffer&&(first=this.update(buffer));var last;return this.type===\"encrypt\"\?last=this._finalEncrypt():last=this._finalDecrypt(),first\?first.concat(last):last},Cipher.prototype._pad=function(buffer,off){if(off===0)return!1;for(;off>>1];kL=utils.r28shl(kL,shift),kR=utils.r28shl(kR,shift),utils.pc2(kL,kR,state.keys,i)}},DES.prototype._update=function(inp,inOff,out,outOff){var state=this._desState,l=utils.readUInt32BE(inp,inOff),r=utils.readUInt32BE(inp,inOff+4);utils.ip(l,r,state.tmp,0),l=state.tmp[0],r=state.tmp[1],this.type===\"encrypt\"\?this._encrypt(state,l,r,state.tmp,0):this._decrypt(state,l,r,state.tmp,0),l=state.tmp[0],r=state.tmp[1],utils.writeUInt32BE(out,l,outOff),utils.writeUInt32BE(out,r,outOff+4)},DES.prototype._pad=function(buffer,off){for(var value=buffer.length-off,i=off;i>>0,l=t}utils.rip(r,l,out,off)},DES.prototype._decrypt=function(state,lStart,rStart,out,off){for(var l=rStart,r=lStart,i=state.keys.length-2;i>=0;i-=2){var keyL=state.keys[i],keyR=state.keys[i+1];utils.expand(l,state.tmp,0),keyL^=state.tmp[0],keyR^=state.tmp[1];var s=utils.substitute(keyL,keyR),f=utils.permute(s),t=l;l=(r^f)>>>0,r=t}utils.rip(l,r,out,off)}}}),require_cbc=__commonJS({\"node_modules/des.js/lib/des/cbc.js\"(exports){var assert=require_minimalistic_assert(),inherits=require_inherits_browser(),proto={};function CBCState(iv){assert.equal(iv.length,8,\"Invalid IV length\"),this.iv=new Array(8);for(var i=0;i>i%8,self2._prev=shiftIn(self2._prev,decrypt\?bit:value);return out}function shiftIn(buffer,value){var len=buffer.length,i=-1,out=Buffer2.allocUnsafe(buffer.length);for(buffer=Buffer2.concat([buffer,Buffer2.from([value])]);++i>7;return out}exports.encrypt=function(self2,chunk,decrypt){for(var len=chunk.length,out=Buffer2.allocUnsafe(len),i=-1;++i>>24]^SUB_MIX1[s1>>>16&255]^SUB_MIX2[s2>>>8&255]^SUB_MIX3[s3&255]^keySchedule[ksRow++],t1=SUB_MIX0[s1>>>24]^SUB_MIX1[s2>>>16&255]^SUB_MIX2[s3>>>8&255]^SUB_MIX3[s0&255]^keySchedule[ksRow++],t2=SUB_MIX0[s2>>>24]^SUB_MIX1[s3>>>16&255]^SUB_MIX2[s0>>>8&255]^SUB_MIX3[s1&255]^keySchedule[ksRow++],t3=SUB_MIX0[s3>>>24]^SUB_MIX1[s0>>>16&255]^SUB_MIX2[s1>>>8&255]^SUB_MIX3[s2&255]^keySchedule[ksRow++],s0=t0,s1=t1,s2=t2,s3=t3;return t0=(SBOX[s0>>>24]<<24|SBOX[s1>>>16&255]<<16|SBOX[s2>>>8&255]<<8|SBOX[s3&255])^keySchedule[ksRow++],t1=(SBOX[s1>>>24]<<24|SBOX[s2>>>16&255]<<16|SBOX[s3>>>8&255]<<8|SBOX[s0&255])^keySchedule[ksRow++],t2=(SBOX[s2>>>24]<<24|SBOX[s3>>>16&255]<<16|SBOX[s0>>>8&255]<<8|SBOX[s1&255])^keySchedule[ksRow++],t3=(SBOX[s3>>>24]<<24|SBOX[s0>>>16&255]<<16|SBOX[s1>>>8&255]<<8|SBOX[s2&255])^keySchedule[ksRow++],t0=t0>>>0,t1=t1>>>0,t2=t2>>>0,t3=t3>>>0,[t0,t1,t2,t3]}var RCON=[0,1,2,4,8,16,32,64,128,27,54],G=function(){for(var d=new Array(256),j=0;j<256;j++)j<128\?d[j]=j<<1:d[j]=j<<1^283;for(var SBOX=[],INV_SBOX=[],SUB_MIX=[[],[],[],[]],INV_SUB_MIX=[[],[],[],[]],x=0,xi=0,i=0;i<256;++i){var sx=xi^xi<<1^xi<<2^xi<<3^xi<<4;sx=sx>>>8^sx&255^99,SBOX[x]=sx,INV_SBOX[sx]=x;var x2=d[x],x4=d[x2],x8=d[x4],t=d[sx]*257^sx*16843008;SUB_MIX[0][x]=t<<24|t>>>8,SUB_MIX[1][x]=t<<16|t>>>16,SUB_MIX[2][x]=t<<8|t>>>24,SUB_MIX[3][x]=t,t=x8*16843009^x4*65537^x2*257^x*16843008,INV_SUB_MIX[0][sx]=t<<24|t>>>8,INV_SUB_MIX[1][sx]=t<<16|t>>>16,INV_SUB_MIX[2][sx]=t<<8|t>>>24,INV_SUB_MIX[3][sx]=t,x===0\?x=xi=1:(x=x2^d[d[d[x8^x2]]],xi^=d[d[xi]])}return{SBOX,INV_SBOX,SUB_MIX,INV_SUB_MIX}}();function AES(key){this._key=asUInt32Array(key),this._reset()}AES.blockSize=16,AES.keySize=32,AES.prototype.blockSize=AES.blockSize,AES.prototype.keySize=AES.keySize,AES.prototype._reset=function(){for(var keyWords=this._key,keySize=keyWords.length,nRounds=keySize+6,ksRows=(nRounds+1)*4,keySchedule=[],k=0;k>>24,t=G.SBOX[t>>>24]<<24|G.SBOX[t>>>16&255]<<16|G.SBOX[t>>>8&255]<<8|G.SBOX[t&255],t^=RCON[k/keySize|0]<<24):keySize>6&&k%keySize===4&&(t=G.SBOX[t>>>24]<<24|G.SBOX[t>>>16&255]<<16|G.SBOX[t>>>8&255]<<8|G.SBOX[t&255]),keySchedule[k]=keySchedule[k-keySize]^t}for(var invKeySchedule=[],ik=0;ik>>24]]^G.INV_SUB_MIX[1][G.SBOX[tt>>>16&255]]^G.INV_SUB_MIX[2][G.SBOX[tt>>>8&255]]^G.INV_SUB_MIX[3][G.SBOX[tt&255]]}this._nRounds=nRounds,this._keySchedule=keySchedule,this._invKeySchedule=invKeySchedule},AES.prototype.encryptBlockRaw=function(M){return M=asUInt32Array(M),cryptBlock(M,this._keySchedule,G.SUB_MIX,G.SBOX,this._nRounds)},AES.prototype.encryptBlock=function(M){var out=this.encryptBlockRaw(M),buf=Buffer2.allocUnsafe(16);return buf.writeUInt32BE(out[0],0),buf.writeUInt32BE(out[1],4),buf.writeUInt32BE(out[2],8),buf.writeUInt32BE(out[3],12),buf},AES.prototype.decryptBlock=function(M){M=asUInt32Array(M);var m1=M[1];M[1]=M[3],M[3]=m1;var out=cryptBlock(M,this._invKeySchedule,G.INV_SUB_MIX,G.INV_SBOX,this._nRounds),buf=Buffer2.allocUnsafe(16);return buf.writeUInt32BE(out[0],0),buf.writeUInt32BE(out[3],4),buf.writeUInt32BE(out[2],8),buf.writeUInt32BE(out[1],12),buf},AES.prototype.scrub=function(){scrubVec(this._keySchedule),scrubVec(this._invKeySchedule),scrubVec(this._key)},module.exports.AES=AES}}),require_ghash=__commonJS({\"node_modules/browserify-aes/ghash.js\"(exports,module){var Buffer2=require_safe_buffer().Buffer,ZEROES=Buffer2.alloc(16,0);function toArray(buf){return[buf.readUInt32BE(0),buf.readUInt32BE(4),buf.readUInt32BE(8),buf.readUInt32BE(12)]}function fromArray(out){var buf=Buffer2.allocUnsafe(16);return buf.writeUInt32BE(out[0]>>>0,0),buf.writeUInt32BE(out[1]>>>0,4),buf.writeUInt32BE(out[2]>>>0,8),buf.writeUInt32BE(out[3]>>>0,12),buf}function GHASH(key){this.h=key,this.state=Buffer2.alloc(16,0),this.cache=Buffer2.allocUnsafe(0)}GHASH.prototype.ghash=function(block){for(var i=-1;++i0;j--)Vi[j]=Vi[j]>>>1|(Vi[j-1]&1)<<31;Vi[0]=Vi[0]>>>1,lsbVi&&(Vi[0]=Vi[0]^225<<24)}this.state=fromArray(Zi)},GHASH.prototype.update=function(buf){this.cache=Buffer2.concat([this.cache,buf]);for(var chunk;this.cache.length>=16;)chunk=this.cache.slice(0,16),this.cache=this.cache.slice(16),this.ghash(chunk)},GHASH.prototype.final=function(abl,bl){return this.cache.length&&this.ghash(Buffer2.concat([this.cache,ZEROES],16)),this.ghash(fromArray([0,abl,0,bl])),this.state},module.exports=GHASH}}),require_authCipher=__commonJS({\"node_modules/browserify-aes/authCipher.js\"(exports,module){var aes=require_aes(),Buffer2=require_safe_buffer().Buffer,Transform=require_cipher_base(),inherits=require_inherits_browser(),GHASH=require_ghash(),xor=require_buffer_xor(),incr32=require_incr32();function xorTest(a,b){var out=0;a.length!==b.length&&out++;for(var len=Math.min(a.length,b.length),i=0;i0||ivLen>0;){var hash=new MD5;hash.update(tmp),hash.update(password),salt&&hash.update(salt),tmp=hash.digest();var used=0;if(keyLen>0){var keyStart=key.length-keyLen;used=Math.min(keyLen,tmp.length),tmp.copy(key,keyStart,0,used),keyLen-=used}if(used0){var ivStart=iv.length-ivLen,length=Math.min(ivLen,tmp.length-used);tmp.copy(iv,ivStart,used,used+length),ivLen-=length}}return tmp.fill(0),{key,iv}}module.exports=EVP_BytesToKey}}),require_encrypter=__commonJS({\"node_modules/browserify-aes/encrypter.js\"(exports){var MODES=require_modes(),AuthCipher=require_authCipher(),Buffer2=require_safe_buffer().Buffer,StreamCipher=require_streamCipher(),Transform=require_cipher_base(),aes=require_aes(),ebtk=require_evp_bytestokey(),inherits=require_inherits_browser();function Cipher(mode,key,iv){Transform.call(this),this._cache=new Splitter,this._cipher=new aes.AES(key),this._prev=Buffer2.from(iv),this._mode=mode,this._autopadding=!0}inherits(Cipher,Transform),Cipher.prototype._update=function(data){this._cache.add(data);for(var chunk,thing,out=[];chunk=this._cache.get();)thing=this._mode.encrypt(this,chunk),out.push(thing);return Buffer2.concat(out)};var PADDING=Buffer2.alloc(16,16);Cipher.prototype._final=function(){var chunk=this._cache.flush();if(this._autopadding)return chunk=this._mode.encrypt(this,chunk),this._cipher.scrub(),chunk;if(!chunk.equals(PADDING))throw this._cipher.scrub(),new Error(\"data not multiple of block length\")},Cipher.prototype.setAutoPadding=function(setTo){return this._autopadding=!!setTo,this};function Splitter(){this.cache=Buffer2.allocUnsafe(0)}Splitter.prototype.add=function(data){this.cache=Buffer2.concat([this.cache,data])},Splitter.prototype.get=function(){if(this.cache.length>15){var out=this.cache.slice(0,16);return this.cache=this.cache.slice(16),out}return null},Splitter.prototype.flush=function(){for(var len=16-this.cache.length,padBuff=Buffer2.allocUnsafe(len),i=-1;++i16)return out=this.cache.slice(0,16),this.cache=this.cache.slice(16),out}else if(this.cache.length>=16)return out=this.cache.slice(0,16),this.cache=this.cache.slice(16),out;return null},Splitter.prototype.flush=function(){if(this.cache.length)return this.cache};function unpad(last){var padded=last[15];if(padded<1||padded>16)throw new Error(\"unable to decrypt data\");for(var i=-1;++i0\?left:right},BN.min=function(left,right){return left.cmp(right)<0\?left:right},BN.prototype._init=function(number,base,endian){if(typeof number==\"number\")return this._initNumber(number,base,endian);if(typeof number==\"object\")return this._initArray(number,base,endian);base===\"hex\"&&(base=16),assert(base===(base|0)&&base>=2&&base<=36),number=number.toString().replace(/\\s+/g,\"\");var start=0;number[0]===\"-\"&&(start++,this.negative=1),start=0;i-=3)w=number[i]|number[i-1]<<8|number[i-2]<<16,this.words[j]|=w<>>26-off&67108863,off+=24,off>=26&&(off-=26,j++);else if(endian===\"le\")for(i=0,j=0;i>>26-off&67108863,off+=24,off>=26&&(off-=26,j++);return this.strip()};function parseHex4Bits(string,index){var c=string.charCodeAt(index);return c>=65&&c<=70\?c-55:c>=97&&c<=102\?c-87:c-48&15}function parseHexByte(string,lowerBound,index){var r=parseHex4Bits(string,index);return index-1>=lowerBound&&(r|=parseHex4Bits(string,index-1)<<4),r}BN.prototype._parseHex=function(number,start,endian){this.length=Math.ceil((number.length-start)/6),this.words=new Array(this.length);for(var i=0;i=start;i-=2)w=parseHexByte(number,start,i)<=18\?(off-=18,j+=1,this.words[j]|=w>>>26):off+=8;else{var parseLength=number.length-start;for(i=parseLength%2===0\?start+1:start;i=18\?(off-=18,j+=1,this.words[j]|=w>>>26):off+=8}this.strip()};function parseBase(str,start,end,mul){for(var r=0,len=Math.min(str.length,end),i=start;i=49\?r+=c-49+10:c>=17\?r+=c-17+10:r+=c}return r}BN.prototype._parseBase=function(number,base,start){this.words=[0],this.length=1;for(var limbLen=0,limbPow=1;limbPow<=67108863;limbPow*=base)limbLen++;limbLen--,limbPow=limbPow/base|0;for(var total=number.length-start,mod=total%limbLen,end=Math.min(total,total-mod)+start,word=0,i=start;i1&&this.words[this.length-1]===0;)this.length--;return this._normSign()},BN.prototype._normSign=function(){return this.length===1&&this.words[0]===0&&(this.negative=0),this},BN.prototype.inspect=function(){return(this.red\?\"\"};var zeros=[\"\",\"0\",\"00\",\"000\",\"0000\",\"00000\",\"000000\",\"0000000\",\"00000000\",\"000000000\",\"0000000000\",\"00000000000\",\"000000000000\",\"0000000000000\",\"00000000000000\",\"000000000000000\",\"0000000000000000\",\"00000000000000000\",\"000000000000000000\",\"0000000000000000000\",\"00000000000000000000\",\"000000000000000000000\",\"0000000000000000000000\",\"00000000000000000000000\",\"000000000000000000000000\",\"0000000000000000000000000\"],groupSizes=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],groupBases=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64000000,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,24300000,28629151,33554432,39135393,45435424,52521875,60466176];BN.prototype.toString=function(base,padding){base=base||10,padding=padding|0||1;var out;if(base===16||base===\"hex\"){out=\"\";for(var off=0,carry=0,i=0;i>>24-off&16777215,carry!==0||i!==this.length-1\?out=zeros[6-word.length]+word+out:out=word+out,off+=2,off>=26&&(off-=26,i--)}for(carry!==0&&(out=carry.toString(16)+out);out.length%padding!==0;)out=\"0\"+out;return this.negative!==0&&(out=\"-\"+out),out}if(base===(base|0)&&base>=2&&base<=36){var groupSize=groupSizes[base],groupBase=groupBases[base];out=\"\";var c=this.clone();for(c.negative=0;!c.isZero();){var r=c.modn(groupBase).toString(base);c=c.idivn(groupBase),c.isZero()\?out=r+out:out=zeros[groupSize-r.length]+r+out}for(this.isZero()&&(out=\"0\"+out);out.length%padding!==0;)out=\"0\"+out;return this.negative!==0&&(out=\"-\"+out),out}assert(!1,\"Base should be between 2 and 36\")},BN.prototype.toNumber=function(){var ret=this.words[0];return this.length===2\?ret+=this.words[1]*67108864:this.length===3&&this.words[2]===1\?ret+=4503599627370496+this.words[1]*67108864:this.length>2&&assert(!1,\"Number can only safely store up to 53 bits\"),this.negative!==0\?-ret:ret},BN.prototype.toJSON=function(){return this.toString(16)},BN.prototype.toBuffer=function(endian,length){return assert(typeof Buffer2<\"u\"),this.toArrayLike(Buffer2,endian,length)},BN.prototype.toArray=function(endian,length){return this.toArrayLike(Array,endian,length)},BN.prototype.toArrayLike=function(ArrayType,endian,length){var byteLength=this.byteLength(),reqLength=length||Math.max(1,byteLength);assert(byteLength<=reqLength,\"byte array longer than desired length\"),assert(reqLength>0,\"Requested array length <= 0\"),this.strip();var littleEndian=endian===\"le\",res=new ArrayType(reqLength),b,i,q=this.clone();if(littleEndian){for(i=0;!q.isZero();i++)b=q.andln(255),q.iushrn(8),res[i]=b;for(;i=4096&&(r+=13,t>>>=13),t>=64&&(r+=7,t>>>=7),t>=8&&(r+=4,t>>>=4),t>=2&&(r+=2,t>>>=2),r+t},BN.prototype._zeroBits=function(w){if(w===0)return 26;var t=w,r=0;return(t&8191)===0&&(r+=13,t>>>=13),(t&127)===0&&(r+=7,t>>>=7),(t&15)===0&&(r+=4,t>>>=4),(t&3)===0&&(r+=2,t>>>=2),(t&1)===0&&r++,r},BN.prototype.bitLength=function(){var w=this.words[this.length-1],hi=this._countBits(w);return(this.length-1)*26+hi};function toBitArray(num){for(var w=new Array(num.bitLength()),bit=0;bit>>wbit}return w}BN.prototype.zeroBits=function(){if(this.isZero())return 0;for(var r=0,i=0;inum.length\?this.clone().ior(num):num.clone().ior(this)},BN.prototype.uor=function(num){return this.length>num.length\?this.clone().iuor(num):num.clone().iuor(this)},BN.prototype.iuand=function(num){var b;this.length>num.length\?b=num:b=this;for(var i=0;inum.length\?this.clone().iand(num):num.clone().iand(this)},BN.prototype.uand=function(num){return this.length>num.length\?this.clone().iuand(num):num.clone().iuand(this)},BN.prototype.iuxor=function(num){var a,b;this.length>num.length\?(a=this,b=num):(a=num,b=this);for(var i=0;inum.length\?this.clone().ixor(num):num.clone().ixor(this)},BN.prototype.uxor=function(num){return this.length>num.length\?this.clone().iuxor(num):num.clone().iuxor(this)},BN.prototype.inotn=function(width){assert(typeof width==\"number\"&&width>=0);var bytesNeeded=Math.ceil(width/26)|0,bitsLeft=width%26;this._expand(bytesNeeded),bitsLeft>0&&bytesNeeded--;for(var i=0;i0&&(this.words[i]=~this.words[i]&67108863>>26-bitsLeft),this.strip()},BN.prototype.notn=function(width){return this.clone().inotn(width)},BN.prototype.setn=function(bit,val){assert(typeof bit==\"number\"&&bit>=0);var off=bit/26|0,wbit=bit%26;return this._expand(off+1),val\?this.words[off]=this.words[off]|1<num.length\?(a=this,b=num):(a=num,b=this);for(var carry=0,i=0;i>>26;for(;carry!==0&&i>>26;if(this.length=a.length,carry!==0)this.words[this.length]=carry,this.length++;else if(a!==this)for(;inum.length\?this.clone().iadd(num):num.clone().iadd(this)},BN.prototype.isub=function(num){if(num.negative!==0){num.negative=0;var r=this.iadd(num);return num.negative=1,r._normSign()}else if(this.negative!==0)return this.negative=0,this.iadd(num),this.negative=1,this._normSign();var cmp=this.cmp(num);if(cmp===0)return this.negative=0,this.length=1,this.words[0]=0,this;var a,b;cmp>0\?(a=this,b=num):(a=num,b=this);for(var carry=0,i=0;i>26,this.words[i]=r&67108863;for(;carry!==0&&i>26,this.words[i]=r&67108863;if(carry===0&&i>>26,rword=carry&67108863,maxJ=Math.min(k,num.length-1),j=Math.max(0,k-self2.length+1);j<=maxJ;j++){var i=k-j|0;a=self2.words[i]|0,b=num.words[j]|0,r=a*b+rword,ncarry+=r/67108864|0,rword=r&67108863}out.words[k]=rword|0,carry=ncarry|0}return carry!==0\?out.words[k]=carry|0:out.length--,out.strip()}var comb10MulTo=function(self2,num,out){var a=self2.words,b=num.words,o=out.words,c=0,lo,mid,hi,a0=a[0]|0,al0=a0&8191,ah0=a0>>>13,a1=a[1]|0,al1=a1&8191,ah1=a1>>>13,a2=a[2]|0,al2=a2&8191,ah2=a2>>>13,a3=a[3]|0,al3=a3&8191,ah3=a3>>>13,a4=a[4]|0,al4=a4&8191,ah4=a4>>>13,a5=a[5]|0,al5=a5&8191,ah5=a5>>>13,a6=a[6]|0,al6=a6&8191,ah6=a6>>>13,a7=a[7]|0,al7=a7&8191,ah7=a7>>>13,a8=a[8]|0,al8=a8&8191,ah8=a8>>>13,a9=a[9]|0,al9=a9&8191,ah9=a9>>>13,b0=b[0]|0,bl0=b0&8191,bh0=b0>>>13,b1=b[1]|0,bl1=b1&8191,bh1=b1>>>13,b2=b[2]|0,bl2=b2&8191,bh2=b2>>>13,b3=b[3]|0,bl3=b3&8191,bh3=b3>>>13,b4=b[4]|0,bl4=b4&8191,bh4=b4>>>13,b5=b[5]|0,bl5=b5&8191,bh5=b5>>>13,b6=b[6]|0,bl6=b6&8191,bh6=b6>>>13,b7=b[7]|0,bl7=b7&8191,bh7=b7>>>13,b8=b[8]|0,bl8=b8&8191,bh8=b8>>>13,b9=b[9]|0,bl9=b9&8191,bh9=b9>>>13;out.negative=self2.negative^num.negative,out.length=19,lo=Math.imul(al0,bl0),mid=Math.imul(al0,bh0),mid=mid+Math.imul(ah0,bl0)|0,hi=Math.imul(ah0,bh0);var w0=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w0>>>26)|0,w0&=67108863,lo=Math.imul(al1,bl0),mid=Math.imul(al1,bh0),mid=mid+Math.imul(ah1,bl0)|0,hi=Math.imul(ah1,bh0),lo=lo+Math.imul(al0,bl1)|0,mid=mid+Math.imul(al0,bh1)|0,mid=mid+Math.imul(ah0,bl1)|0,hi=hi+Math.imul(ah0,bh1)|0;var w1=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w1>>>26)|0,w1&=67108863,lo=Math.imul(al2,bl0),mid=Math.imul(al2,bh0),mid=mid+Math.imul(ah2,bl0)|0,hi=Math.imul(ah2,bh0),lo=lo+Math.imul(al1,bl1)|0,mid=mid+Math.imul(al1,bh1)|0,mid=mid+Math.imul(ah1,bl1)|0,hi=hi+Math.imul(ah1,bh1)|0,lo=lo+Math.imul(al0,bl2)|0,mid=mid+Math.imul(al0,bh2)|0,mid=mid+Math.imul(ah0,bl2)|0,hi=hi+Math.imul(ah0,bh2)|0;var w2=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w2>>>26)|0,w2&=67108863,lo=Math.imul(al3,bl0),mid=Math.imul(al3,bh0),mid=mid+Math.imul(ah3,bl0)|0,hi=Math.imul(ah3,bh0),lo=lo+Math.imul(al2,bl1)|0,mid=mid+Math.imul(al2,bh1)|0,mid=mid+Math.imul(ah2,bl1)|0,hi=hi+Math.imul(ah2,bh1)|0,lo=lo+Math.imul(al1,bl2)|0,mid=mid+Math.imul(al1,bh2)|0,mid=mid+Math.imul(ah1,bl2)|0,hi=hi+Math.imul(ah1,bh2)|0,lo=lo+Math.imul(al0,bl3)|0,mid=mid+Math.imul(al0,bh3)|0,mid=mid+Math.imul(ah0,bl3)|0,hi=hi+Math.imul(ah0,bh3)|0;var w3=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w3>>>26)|0,w3&=67108863,lo=Math.imul(al4,bl0),mid=Math.imul(al4,bh0),mid=mid+Math.imul(ah4,bl0)|0,hi=Math.imul(ah4,bh0),lo=lo+Math.imul(al3,bl1)|0,mid=mid+Math.imul(al3,bh1)|0,mid=mid+Math.imul(ah3,bl1)|0,hi=hi+Math.imul(ah3,bh1)|0,lo=lo+Math.imul(al2,bl2)|0,mid=mid+Math.imul(al2,bh2)|0,mid=mid+Math.imul(ah2,bl2)|0,hi=hi+Math.imul(ah2,bh2)|0,lo=lo+Math.imul(al1,bl3)|0,mid=mid+Math.imul(al1,bh3)|0,mid=mid+Math.imul(ah1,bl3)|0,hi=hi+Math.imul(ah1,bh3)|0,lo=lo+Math.imul(al0,bl4)|0,mid=mid+Math.imul(al0,bh4)|0,mid=mid+Math.imul(ah0,bl4)|0,hi=hi+Math.imul(ah0,bh4)|0;var w4=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w4>>>26)|0,w4&=67108863,lo=Math.imul(al5,bl0),mid=Math.imul(al5,bh0),mid=mid+Math.imul(ah5,bl0)|0,hi=Math.imul(ah5,bh0),lo=lo+Math.imul(al4,bl1)|0,mid=mid+Math.imul(al4,bh1)|0,mid=mid+Math.imul(ah4,bl1)|0,hi=hi+Math.imul(ah4,bh1)|0,lo=lo+Math.imul(al3,bl2)|0,mid=mid+Math.imul(al3,bh2)|0,mid=mid+Math.imul(ah3,bl2)|0,hi=hi+Math.imul(ah3,bh2)|0,lo=lo+Math.imul(al2,bl3)|0,mid=mid+Math.imul(al2,bh3)|0,mid=mid+Math.imul(ah2,bl3)|0,hi=hi+Math.imul(ah2,bh3)|0,lo=lo+Math.imul(al1,bl4)|0,mid=mid+Math.imul(al1,bh4)|0,mid=mid+Math.imul(ah1,bl4)|0,hi=hi+Math.imul(ah1,bh4)|0,lo=lo+Math.imul(al0,bl5)|0,mid=mid+Math.imul(al0,bh5)|0,mid=mid+Math.imul(ah0,bl5)|0,hi=hi+Math.imul(ah0,bh5)|0;var w5=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w5>>>26)|0,w5&=67108863,lo=Math.imul(al6,bl0),mid=Math.imul(al6,bh0),mid=mid+Math.imul(ah6,bl0)|0,hi=Math.imul(ah6,bh0),lo=lo+Math.imul(al5,bl1)|0,mid=mid+Math.imul(al5,bh1)|0,mid=mid+Math.imul(ah5,bl1)|0,hi=hi+Math.imul(ah5,bh1)|0,lo=lo+Math.imul(al4,bl2)|0,mid=mid+Math.imul(al4,bh2)|0,mid=mid+Math.imul(ah4,bl2)|0,hi=hi+Math.imul(ah4,bh2)|0,lo=lo+Math.imul(al3,bl3)|0,mid=mid+Math.imul(al3,bh3)|0,mid=mid+Math.imul(ah3,bl3)|0,hi=hi+Math.imul(ah3,bh3)|0,lo=lo+Math.imul(al2,bl4)|0,mid=mid+Math.imul(al2,bh4)|0,mid=mid+Math.imul(ah2,bl4)|0,hi=hi+Math.imul(ah2,bh4)|0,lo=lo+Math.imul(al1,bl5)|0,mid=mid+Math.imul(al1,bh5)|0,mid=mid+Math.imul(ah1,bl5)|0,hi=hi+Math.imul(ah1,bh5)|0,lo=lo+Math.imul(al0,bl6)|0,mid=mid+Math.imul(al0,bh6)|0,mid=mid+Math.imul(ah0,bl6)|0,hi=hi+Math.imul(ah0,bh6)|0;var w6=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w6>>>26)|0,w6&=67108863,lo=Math.imul(al7,bl0),mid=Math.imul(al7,bh0),mid=mid+Math.imul(ah7,bl0)|0,hi=Math.imul(ah7,bh0),lo=lo+Math.imul(al6,bl1)|0,mid=mid+Math.imul(al6,bh1)|0,mid=mid+Math.imul(ah6,bl1)|0,hi=hi+Math.imul(ah6,bh1)|0,lo=lo+Math.imul(al5,bl2)|0,mid=mid+Math.imul(al5,bh2)|0,mid=mid+Math.imul(ah5,bl2)|0,hi=hi+Math.imul(ah5,bh2)|0,lo=lo+Math.imul(al4,bl3)|0,mid=mid+Math.imul(al4,bh3)|0,mid=mid+Math.imul(ah4,bl3)|0,hi=hi+Math.imul(ah4,bh3)|0,lo=lo+Math.imul(al3,bl4)|0,mid=mid+Math.imul(al3,bh4)|0,mid=mid+Math.imul(ah3,bl4)|0,hi=hi+Math.imul(ah3,bh4)|0,lo=lo+Math.imul(al2,bl5)|0,mid=mid+Math.imul(al2,bh5)|0,mid=mid+Math.imul(ah2,bl5)|0,hi=hi+Math.imul(ah2,bh5)|0,lo=lo+Math.imul(al1,bl6)|0,mid=mid+Math.imul(al1,bh6)|0,mid=mid+Math.imul(ah1,bl6)|0,hi=hi+Math.imul(ah1,bh6)|0,lo=lo+Math.imul(al0,bl7)|0,mid=mid+Math.imul(al0,bh7)|0,mid=mid+Math.imul(ah0,bl7)|0,hi=hi+Math.imul(ah0,bh7)|0;var w7=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w7>>>26)|0,w7&=67108863,lo=Math.imul(al8,bl0),mid=Math.imul(al8,bh0),mid=mid+Math.imul(ah8,bl0)|0,hi=Math.imul(ah8,bh0),lo=lo+Math.imul(al7,bl1)|0,mid=mid+Math.imul(al7,bh1)|0,mid=mid+Math.imul(ah7,bl1)|0,hi=hi+Math.imul(ah7,bh1)|0,lo=lo+Math.imul(al6,bl2)|0,mid=mid+Math.imul(al6,bh2)|0,mid=mid+Math.imul(ah6,bl2)|0,hi=hi+Math.imul(ah6,bh2)|0,lo=lo+Math.imul(al5,bl3)|0,mid=mid+Math.imul(al5,bh3)|0,mid=mid+Math.imul(ah5,bl3)|0,hi=hi+Math.imul(ah5,bh3)|0,lo=lo+Math.imul(al4,bl4)|0,mid=mid+Math.imul(al4,bh4)|0,mid=mid+Math.imul(ah4,bl4)|0,hi=hi+Math.imul(ah4,bh4)|0,lo=lo+Math.imul(al3,bl5)|0,mid=mid+Math.imul(al3,bh5)|0,mid=mid+Math.imul(ah3,bl5)|0,hi=hi+Math.imul(ah3,bh5)|0,lo=lo+Math.imul(al2,bl6)|0,mid=mid+Math.imul(al2,bh6)|0,mid=mid+Math.imul(ah2,bl6)|0,hi=hi+Math.imul(ah2,bh6)|0,lo=lo+Math.imul(al1,bl7)|0,mid=mid+Math.imul(al1,bh7)|0,mid=mid+Math.imul(ah1,bl7)|0,hi=hi+Math.imul(ah1,bh7)|0,lo=lo+Math.imul(al0,bl8)|0,mid=mid+Math.imul(al0,bh8)|0,mid=mid+Math.imul(ah0,bl8)|0,hi=hi+Math.imul(ah0,bh8)|0;var w8=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w8>>>26)|0,w8&=67108863,lo=Math.imul(al9,bl0),mid=Math.imul(al9,bh0),mid=mid+Math.imul(ah9,bl0)|0,hi=Math.imul(ah9,bh0),lo=lo+Math.imul(al8,bl1)|0,mid=mid+Math.imul(al8,bh1)|0,mid=mid+Math.imul(ah8,bl1)|0,hi=hi+Math.imul(ah8,bh1)|0,lo=lo+Math.imul(al7,bl2)|0,mid=mid+Math.imul(al7,bh2)|0,mid=mid+Math.imul(ah7,bl2)|0,hi=hi+Math.imul(ah7,bh2)|0,lo=lo+Math.imul(al6,bl3)|0,mid=mid+Math.imul(al6,bh3)|0,mid=mid+Math.imul(ah6,bl3)|0,hi=hi+Math.imul(ah6,bh3)|0,lo=lo+Math.imul(al5,bl4)|0,mid=mid+Math.imul(al5,bh4)|0,mid=mid+Math.imul(ah5,bl4)|0,hi=hi+Math.imul(ah5,bh4)|0,lo=lo+Math.imul(al4,bl5)|0,mid=mid+Math.imul(al4,bh5)|0,mid=mid+Math.imul(ah4,bl5)|0,hi=hi+Math.imul(ah4,bh5)|0,lo=lo+Math.imul(al3,bl6)|0,mid=mid+Math.imul(al3,bh6)|0,mid=mid+Math.imul(ah3,bl6)|0,hi=hi+Math.imul(ah3,bh6)|0,lo=lo+Math.imul(al2,bl7)|0,mid=mid+Math.imul(al2,bh7)|0,mid=mid+Math.imul(ah2,bl7)|0,hi=hi+Math.imul(ah2,bh7)|0,lo=lo+Math.imul(al1,bl8)|0,mid=mid+Math.imul(al1,bh8)|0,mid=mid+Math.imul(ah1,bl8)|0,hi=hi+Math.imul(ah1,bh8)|0,lo=lo+Math.imul(al0,bl9)|0,mid=mid+Math.imul(al0,bh9)|0,mid=mid+Math.imul(ah0,bl9)|0,hi=hi+Math.imul(ah0,bh9)|0;var w9=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w9>>>26)|0,w9&=67108863,lo=Math.imul(al9,bl1),mid=Math.imul(al9,bh1),mid=mid+Math.imul(ah9,bl1)|0,hi=Math.imul(ah9,bh1),lo=lo+Math.imul(al8,bl2)|0,mid=mid+Math.imul(al8,bh2)|0,mid=mid+Math.imul(ah8,bl2)|0,hi=hi+Math.imul(ah8,bh2)|0,lo=lo+Math.imul(al7,bl3)|0,mid=mid+Math.imul(al7,bh3)|0,mid=mid+Math.imul(ah7,bl3)|0,hi=hi+Math.imul(ah7,bh3)|0,lo=lo+Math.imul(al6,bl4)|0,mid=mid+Math.imul(al6,bh4)|0,mid=mid+Math.imul(ah6,bl4)|0,hi=hi+Math.imul(ah6,bh4)|0,lo=lo+Math.imul(al5,bl5)|0,mid=mid+Math.imul(al5,bh5)|0,mid=mid+Math.imul(ah5,bl5)|0,hi=hi+Math.imul(ah5,bh5)|0,lo=lo+Math.imul(al4,bl6)|0,mid=mid+Math.imul(al4,bh6)|0,mid=mid+Math.imul(ah4,bl6)|0,hi=hi+Math.imul(ah4,bh6)|0,lo=lo+Math.imul(al3,bl7)|0,mid=mid+Math.imul(al3,bh7)|0,mid=mid+Math.imul(ah3,bl7)|0,hi=hi+Math.imul(ah3,bh7)|0,lo=lo+Math.imul(al2,bl8)|0,mid=mid+Math.imul(al2,bh8)|0,mid=mid+Math.imul(ah2,bl8)|0,hi=hi+Math.imul(ah2,bh8)|0,lo=lo+Math.imul(al1,bl9)|0,mid=mid+Math.imul(al1,bh9)|0,mid=mid+Math.imul(ah1,bl9)|0,hi=hi+Math.imul(ah1,bh9)|0;var w10=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w10>>>26)|0,w10&=67108863,lo=Math.imul(al9,bl2),mid=Math.imul(al9,bh2),mid=mid+Math.imul(ah9,bl2)|0,hi=Math.imul(ah9,bh2),lo=lo+Math.imul(al8,bl3)|0,mid=mid+Math.imul(al8,bh3)|0,mid=mid+Math.imul(ah8,bl3)|0,hi=hi+Math.imul(ah8,bh3)|0,lo=lo+Math.imul(al7,bl4)|0,mid=mid+Math.imul(al7,bh4)|0,mid=mid+Math.imul(ah7,bl4)|0,hi=hi+Math.imul(ah7,bh4)|0,lo=lo+Math.imul(al6,bl5)|0,mid=mid+Math.imul(al6,bh5)|0,mid=mid+Math.imul(ah6,bl5)|0,hi=hi+Math.imul(ah6,bh5)|0,lo=lo+Math.imul(al5,bl6)|0,mid=mid+Math.imul(al5,bh6)|0,mid=mid+Math.imul(ah5,bl6)|0,hi=hi+Math.imul(ah5,bh6)|0,lo=lo+Math.imul(al4,bl7)|0,mid=mid+Math.imul(al4,bh7)|0,mid=mid+Math.imul(ah4,bl7)|0,hi=hi+Math.imul(ah4,bh7)|0,lo=lo+Math.imul(al3,bl8)|0,mid=mid+Math.imul(al3,bh8)|0,mid=mid+Math.imul(ah3,bl8)|0,hi=hi+Math.imul(ah3,bh8)|0,lo=lo+Math.imul(al2,bl9)|0,mid=mid+Math.imul(al2,bh9)|0,mid=mid+Math.imul(ah2,bl9)|0,hi=hi+Math.imul(ah2,bh9)|0;var w11=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w11>>>26)|0,w11&=67108863,lo=Math.imul(al9,bl3),mid=Math.imul(al9,bh3),mid=mid+Math.imul(ah9,bl3)|0,hi=Math.imul(ah9,bh3),lo=lo+Math.imul(al8,bl4)|0,mid=mid+Math.imul(al8,bh4)|0,mid=mid+Math.imul(ah8,bl4)|0,hi=hi+Math.imul(ah8,bh4)|0,lo=lo+Math.imul(al7,bl5)|0,mid=mid+Math.imul(al7,bh5)|0,mid=mid+Math.imul(ah7,bl5)|0,hi=hi+Math.imul(ah7,bh5)|0,lo=lo+Math.imul(al6,bl6)|0,mid=mid+Math.imul(al6,bh6)|0,mid=mid+Math.imul(ah6,bl6)|0,hi=hi+Math.imul(ah6,bh6)|0,lo=lo+Math.imul(al5,bl7)|0,mid=mid+Math.imul(al5,bh7)|0,mid=mid+Math.imul(ah5,bl7)|0,hi=hi+Math.imul(ah5,bh7)|0,lo=lo+Math.imul(al4,bl8)|0,mid=mid+Math.imul(al4,bh8)|0,mid=mid+Math.imul(ah4,bl8)|0,hi=hi+Math.imul(ah4,bh8)|0,lo=lo+Math.imul(al3,bl9)|0,mid=mid+Math.imul(al3,bh9)|0,mid=mid+Math.imul(ah3,bl9)|0,hi=hi+Math.imul(ah3,bh9)|0;var w12=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w12>>>26)|0,w12&=67108863,lo=Math.imul(al9,bl4),mid=Math.imul(al9,bh4),mid=mid+Math.imul(ah9,bl4)|0,hi=Math.imul(ah9,bh4),lo=lo+Math.imul(al8,bl5)|0,mid=mid+Math.imul(al8,bh5)|0,mid=mid+Math.imul(ah8,bl5)|0,hi=hi+Math.imul(ah8,bh5)|0,lo=lo+Math.imul(al7,bl6)|0,mid=mid+Math.imul(al7,bh6)|0,mid=mid+Math.imul(ah7,bl6)|0,hi=hi+Math.imul(ah7,bh6)|0,lo=lo+Math.imul(al6,bl7)|0,mid=mid+Math.imul(al6,bh7)|0,mid=mid+Math.imul(ah6,bl7)|0,hi=hi+Math.imul(ah6,bh7)|0,lo=lo+Math.imul(al5,bl8)|0,mid=mid+Math.imul(al5,bh8)|0,mid=mid+Math.imul(ah5,bl8)|0,hi=hi+Math.imul(ah5,bh8)|0,lo=lo+Math.imul(al4,bl9)|0,mid=mid+Math.imul(al4,bh9)|0,mid=mid+Math.imul(ah4,bl9)|0,hi=hi+Math.imul(ah4,bh9)|0;var w13=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w13>>>26)|0,w13&=67108863,lo=Math.imul(al9,bl5),mid=Math.imul(al9,bh5),mid=mid+Math.imul(ah9,bl5)|0,hi=Math.imul(ah9,bh5),lo=lo+Math.imul(al8,bl6)|0,mid=mid+Math.imul(al8,bh6)|0,mid=mid+Math.imul(ah8,bl6)|0,hi=hi+Math.imul(ah8,bh6)|0,lo=lo+Math.imul(al7,bl7)|0,mid=mid+Math.imul(al7,bh7)|0,mid=mid+Math.imul(ah7,bl7)|0,hi=hi+Math.imul(ah7,bh7)|0,lo=lo+Math.imul(al6,bl8)|0,mid=mid+Math.imul(al6,bh8)|0,mid=mid+Math.imul(ah6,bl8)|0,hi=hi+Math.imul(ah6,bh8)|0,lo=lo+Math.imul(al5,bl9)|0,mid=mid+Math.imul(al5,bh9)|0,mid=mid+Math.imul(ah5,bl9)|0,hi=hi+Math.imul(ah5,bh9)|0;var w14=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w14>>>26)|0,w14&=67108863,lo=Math.imul(al9,bl6),mid=Math.imul(al9,bh6),mid=mid+Math.imul(ah9,bl6)|0,hi=Math.imul(ah9,bh6),lo=lo+Math.imul(al8,bl7)|0,mid=mid+Math.imul(al8,bh7)|0,mid=mid+Math.imul(ah8,bl7)|0,hi=hi+Math.imul(ah8,bh7)|0,lo=lo+Math.imul(al7,bl8)|0,mid=mid+Math.imul(al7,bh8)|0,mid=mid+Math.imul(ah7,bl8)|0,hi=hi+Math.imul(ah7,bh8)|0,lo=lo+Math.imul(al6,bl9)|0,mid=mid+Math.imul(al6,bh9)|0,mid=mid+Math.imul(ah6,bl9)|0,hi=hi+Math.imul(ah6,bh9)|0;var w15=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w15>>>26)|0,w15&=67108863,lo=Math.imul(al9,bl7),mid=Math.imul(al9,bh7),mid=mid+Math.imul(ah9,bl7)|0,hi=Math.imul(ah9,bh7),lo=lo+Math.imul(al8,bl8)|0,mid=mid+Math.imul(al8,bh8)|0,mid=mid+Math.imul(ah8,bl8)|0,hi=hi+Math.imul(ah8,bh8)|0,lo=lo+Math.imul(al7,bl9)|0,mid=mid+Math.imul(al7,bh9)|0,mid=mid+Math.imul(ah7,bl9)|0,hi=hi+Math.imul(ah7,bh9)|0;var w16=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w16>>>26)|0,w16&=67108863,lo=Math.imul(al9,bl8),mid=Math.imul(al9,bh8),mid=mid+Math.imul(ah9,bl8)|0,hi=Math.imul(ah9,bh8),lo=lo+Math.imul(al8,bl9)|0,mid=mid+Math.imul(al8,bh9)|0,mid=mid+Math.imul(ah8,bl9)|0,hi=hi+Math.imul(ah8,bh9)|0;var w17=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w17>>>26)|0,w17&=67108863,lo=Math.imul(al9,bl9),mid=Math.imul(al9,bh9),mid=mid+Math.imul(ah9,bl9)|0,hi=Math.imul(ah9,bh9);var w18=(c+lo|0)+((mid&8191)<<13)|0;return c=(hi+(mid>>>13)|0)+(w18>>>26)|0,w18&=67108863,o[0]=w0,o[1]=w1,o[2]=w2,o[3]=w3,o[4]=w4,o[5]=w5,o[6]=w6,o[7]=w7,o[8]=w8,o[9]=w9,o[10]=w10,o[11]=w11,o[12]=w12,o[13]=w13,o[14]=w14,o[15]=w15,o[16]=w16,o[17]=w17,o[18]=w18,c!==0&&(o[19]=c,out.length++),out};Math.imul||(comb10MulTo=smallMulTo);function bigMulTo(self2,num,out){out.negative=num.negative^self2.negative,out.length=self2.length+num.length;for(var carry=0,hncarry=0,k=0;k>>26)|0,hncarry+=ncarry>>>26,ncarry&=67108863}out.words[k]=rword,carry=ncarry,ncarry=hncarry}return carry!==0\?out.words[k]=carry:out.length--,out.strip()}function jumboMulTo(self2,num,out){var fftm=new FFTM;return fftm.mulp(self2,num,out)}BN.prototype.mulTo=function(num,out){var res,len=this.length+num.length;return this.length===10&&num.length===10\?res=comb10MulTo(this,num,out):len<63\?res=smallMulTo(this,num,out):len<1024\?res=bigMulTo(this,num,out):res=jumboMulTo(this,num,out),res};function FFTM(x,y){this.x=x,this.y=y}FFTM.prototype.makeRBT=function(N){for(var t=new Array(N),l=BN.prototype._countBits(N)-1,i=0;i>=1;return rb},FFTM.prototype.permute=function(rbt,rws,iws,rtws,itws,N){for(var i=0;i>>1)i++;return 1<>>13,rws[2*i+1]=carry&8191,carry=carry>>>13;for(i=2*len;i>=26,carry+=w/67108864|0,carry+=lo>>>26,this.words[i]=lo&67108863}return carry!==0&&(this.words[i]=carry,this.length++),this},BN.prototype.muln=function(num){return this.clone().imuln(num)},BN.prototype.sqr=function(){return this.mul(this)},BN.prototype.isqr=function(){return this.imul(this.clone())},BN.prototype.pow=function(num){var w=toBitArray(num);if(w.length===0)return new BN(1);for(var res=this,i=0;i=0);var r=bits%26,s=(bits-r)/26,carryMask=67108863>>>26-r<<26-r,i;if(r!==0){var carry=0;for(i=0;i>>26-r}carry&&(this.words[i]=carry,this.length++)}if(s!==0){for(i=this.length-1;i>=0;i--)this.words[i+s]=this.words[i];for(i=0;i=0);var h;hint\?h=(hint-hint%26)/26:h=0;var r=bits%26,s=Math.min((bits-r)/26,this.length),mask=67108863^67108863>>>r<s)for(this.length-=s,i=0;i=0&&(carry!==0||i>=h);i--){var word=this.words[i]|0;this.words[i]=carry<<26-r|word>>>r,carry=word&mask}return maskedWords&&carry!==0&&(maskedWords.words[maskedWords.length++]=carry),this.length===0&&(this.words[0]=0,this.length=1),this.strip()},BN.prototype.ishrn=function(bits,hint,extended){return assert(this.negative===0),this.iushrn(bits,hint,extended)},BN.prototype.shln=function(bits){return this.clone().ishln(bits)},BN.prototype.ushln=function(bits){return this.clone().iushln(bits)},BN.prototype.shrn=function(bits){return this.clone().ishrn(bits)},BN.prototype.ushrn=function(bits){return this.clone().iushrn(bits)},BN.prototype.testn=function(bit){assert(typeof bit==\"number\"&&bit>=0);var r=bit%26,s=(bit-r)/26,q=1<=0);var r=bits%26,s=(bits-r)/26;if(assert(this.negative===0,\"imaskn works only with positive numbers\"),this.length<=s)return this;if(r!==0&&s++,this.length=Math.min(s,this.length),r!==0){var mask=67108863^67108863>>>r<=67108864;i++)this.words[i]-=67108864,i===this.length-1\?this.words[i+1]=1:this.words[i+1]++;return this.length=Math.max(this.length,i+1),this},BN.prototype.isubn=function(num){if(assert(typeof num==\"number\"),assert(num<67108864),num<0)return this.iaddn(-num);if(this.negative!==0)return this.negative=0,this.iaddn(num),this.negative=1,this;if(this.words[0]-=num,this.length===1&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var i=0;i>26)-(right/67108864|0),this.words[i+shift]=w&67108863}for(;i>26,this.words[i+shift]=w&67108863;if(carry===0)return this.strip();for(assert(carry===-1),carry=0,i=0;i>26,this.words[i]=w&67108863;return this.negative=1,this.strip()},BN.prototype._wordDiv=function(num,mode){var shift=this.length-num.length,a=this.clone(),b=num,bhi=b.words[b.length-1]|0,bhiBits=this._countBits(bhi);shift=26-bhiBits,shift!==0&&(b=b.ushln(shift),a.iushln(shift),bhi=b.words[b.length-1]|0);var m=a.length-b.length,q;if(mode!==\"mod\"){q=new BN(null),q.length=m+1,q.words=new Array(q.length);for(var i=0;i=0;j--){var qj=(a.words[b.length+j]|0)*67108864+(a.words[b.length+j-1]|0);for(qj=Math.min(qj/bhi|0,67108863),a._ishlnsubmul(b,qj,j);a.negative!==0;)qj--,a.negative=0,a._ishlnsubmul(b,1,j),a.isZero()||(a.negative^=1);q&&(q.words[j]=qj)}return q&&q.strip(),a.strip(),mode!==\"div\"&&shift!==0&&a.iushrn(shift),{div:q||null,mod:a}},BN.prototype.divmod=function(num,mode,positive){if(assert(!num.isZero()),this.isZero())return{div:new BN(0),mod:new BN(0)};var div,mod,res;return this.negative!==0&&num.negative===0\?(res=this.neg().divmod(num,mode),mode!==\"mod\"&&(div=res.div.neg()),mode!==\"div\"&&(mod=res.mod.neg(),positive&&mod.negative!==0&&mod.iadd(num)),{div,mod}):this.negative===0&&num.negative!==0\?(res=this.divmod(num.neg(),mode),mode!==\"mod\"&&(div=res.div.neg()),{div,mod:res.mod}):(this.negative&num.negative)!==0\?(res=this.neg().divmod(num.neg(),mode),mode!==\"div\"&&(mod=res.mod.neg(),positive&&mod.negative!==0&&mod.isub(num)),{div:res.div,mod}):num.length>this.length||this.cmp(num)<0\?{div:new BN(0),mod:this}:num.length===1\?mode===\"div\"\?{div:this.divn(num.words[0]),mod:null}:mode===\"mod\"\?{div:null,mod:new BN(this.modn(num.words[0]))}:{div:this.divn(num.words[0]),mod:new BN(this.modn(num.words[0]))}:this._wordDiv(num,mode)},BN.prototype.div=function(num){return this.divmod(num,\"div\",!1).div},BN.prototype.mod=function(num){return this.divmod(num,\"mod\",!1).mod},BN.prototype.umod=function(num){return this.divmod(num,\"mod\",!0).mod},BN.prototype.divRound=function(num){var dm=this.divmod(num);if(dm.mod.isZero())return dm.div;var mod=dm.div.negative!==0\?dm.mod.isub(num):dm.mod,half=num.ushrn(1),r2=num.andln(1),cmp=mod.cmp(half);return cmp<0||r2===1&&cmp===0\?dm.div:dm.div.negative!==0\?dm.div.isubn(1):dm.div.iaddn(1)},BN.prototype.modn=function(num){assert(num<=67108863);for(var p=(1<<26)%num,acc=0,i=this.length-1;i>=0;i--)acc=(p*acc+(this.words[i]|0))%num;return acc},BN.prototype.idivn=function(num){assert(num<=67108863);for(var carry=0,i=this.length-1;i>=0;i--){var w=(this.words[i]|0)+carry*67108864;this.words[i]=w/num|0,carry=w%num}return this.strip()},BN.prototype.divn=function(num){return this.clone().idivn(num)},BN.prototype.egcd=function(p){assert(p.negative===0),assert(!p.isZero());var x=this,y=p.clone();x.negative!==0\?x=x.umod(p):x=x.clone();for(var A=new BN(1),B=new BN(0),C=new BN(0),D=new BN(1),g=0;x.isEven()&&y.isEven();)x.iushrn(1),y.iushrn(1),++g;for(var yp=y.clone(),xp=x.clone();!x.isZero();){for(var i=0,im=1;(x.words[0]&im)===0&&i<26;++i,im<<=1);if(i>0)for(x.iushrn(i);i-- >0;)(A.isOdd()||B.isOdd())&&(A.iadd(yp),B.isub(xp)),A.iushrn(1),B.iushrn(1);for(var j=0,jm=1;(y.words[0]&jm)===0&&j<26;++j,jm<<=1);if(j>0)for(y.iushrn(j);j-- >0;)(C.isOdd()||D.isOdd())&&(C.iadd(yp),D.isub(xp)),C.iushrn(1),D.iushrn(1);x.cmp(y)>=0\?(x.isub(y),A.isub(C),B.isub(D)):(y.isub(x),C.isub(A),D.isub(B))}return{a:C,b:D,gcd:y.iushln(g)}},BN.prototype._invmp=function(p){assert(p.negative===0),assert(!p.isZero());var a=this,b=p.clone();a.negative!==0\?a=a.umod(p):a=a.clone();for(var x1=new BN(1),x2=new BN(0),delta=b.clone();a.cmpn(1)>0&&b.cmpn(1)>0;){for(var i=0,im=1;(a.words[0]&im)===0&&i<26;++i,im<<=1);if(i>0)for(a.iushrn(i);i-- >0;)x1.isOdd()&&x1.iadd(delta),x1.iushrn(1);for(var j=0,jm=1;(b.words[0]&jm)===0&&j<26;++j,jm<<=1);if(j>0)for(b.iushrn(j);j-- >0;)x2.isOdd()&&x2.iadd(delta),x2.iushrn(1);a.cmp(b)>=0\?(a.isub(b),x1.isub(x2)):(b.isub(a),x2.isub(x1))}var res;return a.cmpn(1)===0\?res=x1:res=x2,res.cmpn(0)<0&&res.iadd(p),res},BN.prototype.gcd=function(num){if(this.isZero())return num.abs();if(num.isZero())return this.abs();var a=this.clone(),b=num.clone();a.negative=0,b.negative=0;for(var shift=0;a.isEven()&&b.isEven();shift++)a.iushrn(1),b.iushrn(1);do{for(;a.isEven();)a.iushrn(1);for(;b.isEven();)b.iushrn(1);var r=a.cmp(b);if(r<0){var t=a;a=b,b=t}else if(r===0||b.cmpn(1)===0)break;a.isub(b)}while(!0);return b.iushln(shift)},BN.prototype.invm=function(num){return this.egcd(num).a.umod(num)},BN.prototype.isEven=function(){return(this.words[0]&1)===0},BN.prototype.isOdd=function(){return(this.words[0]&1)===1},BN.prototype.andln=function(num){return this.words[0]&num},BN.prototype.bincn=function(bit){assert(typeof bit==\"number\");var r=bit%26,s=(bit-r)/26,q=1<>>26,w&=67108863,this.words[i]=w}return carry!==0&&(this.words[i]=carry,this.length++),this},BN.prototype.isZero=function(){return this.length===1&&this.words[0]===0},BN.prototype.cmpn=function(num){var negative=num<0;if(this.negative!==0&&!negative)return-1;if(this.negative===0&&negative)return 1;this.strip();var res;if(this.length>1)res=1;else{negative&&(num=-num),assert(num<=67108863,\"Number is too big\");var w=this.words[0]|0;res=w===num\?0:wnum.length)return 1;if(this.length=0;i--){var a=this.words[i]|0,b=num.words[i]|0;if(a!==b){ab&&(res=1);break}}return res},BN.prototype.gtn=function(num){return this.cmpn(num)===1},BN.prototype.gt=function(num){return this.cmp(num)===1},BN.prototype.gten=function(num){return this.cmpn(num)>=0},BN.prototype.gte=function(num){return this.cmp(num)>=0},BN.prototype.ltn=function(num){return this.cmpn(num)===-1},BN.prototype.lt=function(num){return this.cmp(num)===-1},BN.prototype.lten=function(num){return this.cmpn(num)<=0},BN.prototype.lte=function(num){return this.cmp(num)<=0},BN.prototype.eqn=function(num){return this.cmpn(num)===0},BN.prototype.eq=function(num){return this.cmp(num)===0},BN.red=function(num){return new Red(num)},BN.prototype.toRed=function(ctx){return assert(!this.red,\"Already a number in reduction context\"),assert(this.negative===0,\"red works only with positives\"),ctx.convertTo(this)._forceRed(ctx)},BN.prototype.fromRed=function(){return assert(this.red,\"fromRed works only with numbers in reduction context\"),this.red.convertFrom(this)},BN.prototype._forceRed=function(ctx){return this.red=ctx,this},BN.prototype.forceRed=function(ctx){return assert(!this.red,\"Already a number in reduction context\"),this._forceRed(ctx)},BN.prototype.redAdd=function(num){return assert(this.red,\"redAdd works only with red numbers\"),this.red.add(this,num)},BN.prototype.redIAdd=function(num){return assert(this.red,\"redIAdd works only with red numbers\"),this.red.iadd(this,num)},BN.prototype.redSub=function(num){return assert(this.red,\"redSub works only with red numbers\"),this.red.sub(this,num)},BN.prototype.redISub=function(num){return assert(this.red,\"redISub works only with red numbers\"),this.red.isub(this,num)},BN.prototype.redShl=function(num){return assert(this.red,\"redShl works only with red numbers\"),this.red.shl(this,num)},BN.prototype.redMul=function(num){return assert(this.red,\"redMul works only with red numbers\"),this.red._verify2(this,num),this.red.mul(this,num)},BN.prototype.redIMul=function(num){return assert(this.red,\"redMul works only with red numbers\"),this.red._verify2(this,num),this.red.imul(this,num)},BN.prototype.redSqr=function(){return assert(this.red,\"redSqr works only with red numbers\"),this.red._verify1(this),this.red.sqr(this)},BN.prototype.redISqr=function(){return assert(this.red,\"redISqr works only with red numbers\"),this.red._verify1(this),this.red.isqr(this)},BN.prototype.redSqrt=function(){return assert(this.red,\"redSqrt works only with red numbers\"),this.red._verify1(this),this.red.sqrt(this)},BN.prototype.redInvm=function(){return assert(this.red,\"redInvm works only with red numbers\"),this.red._verify1(this),this.red.invm(this)},BN.prototype.redNeg=function(){return assert(this.red,\"redNeg works only with red numbers\"),this.red._verify1(this),this.red.neg(this)},BN.prototype.redPow=function(num){return assert(this.red&&!num.red,\"redPow(normalNum)\"),this.red._verify1(this),this.red.pow(this,num)};var primes={k256:null,p224:null,p192:null,p25519:null};function MPrime(name,p){this.name=name,this.p=new BN(p,16),this.n=this.p.bitLength(),this.k=new BN(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}MPrime.prototype._tmp=function(){var tmp=new BN(null);return tmp.words=new Array(Math.ceil(this.n/13)),tmp},MPrime.prototype.ireduce=function(num){var r=num,rlen;do this.split(r,this.tmp),r=this.imulK(r),r=r.iadd(this.tmp),rlen=r.bitLength();while(rlen>this.n);var cmp=rlen0\?r.isub(this.p):r.strip!==void 0\?r.strip():r._strip(),r},MPrime.prototype.split=function(input,out){input.iushrn(this.n,0,out)},MPrime.prototype.imulK=function(num){return num.imul(this.k)};function K256(){MPrime.call(this,\"k256\",\"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f\")}inherits(K256,MPrime),K256.prototype.split=function(input,output){for(var mask=4194303,outLen=Math.min(input.length,9),i=0;i>>22,prev=next}prev>>>=22,input.words[i-10]=prev,prev===0&&input.length>10\?input.length-=10:input.length-=9},K256.prototype.imulK=function(num){num.words[num.length]=0,num.words[num.length+1]=0,num.length+=2;for(var lo=0,i=0;i>>=26,num.words[i]=lo,carry=hi}return carry!==0&&(num.words[num.length++]=carry),num},BN._prime=function(name){if(primes[name])return primes[name];var prime2;if(name===\"k256\")prime2=new K256;else if(name===\"p224\")prime2=new P224;else if(name===\"p192\")prime2=new P192;else if(name===\"p25519\")prime2=new P25519;else throw new Error(\"Unknown prime \"+name);return primes[name]=prime2,prime2};function Red(m){if(typeof m==\"string\"){var prime=BN._prime(m);this.m=prime.p,this.prime=prime}else assert(m.gtn(1),\"modulus must be greater than 1\"),this.m=m,this.prime=null}Red.prototype._verify1=function(a){assert(a.negative===0,\"red works only with positives\"),assert(a.red,\"red works only with red numbers\")},Red.prototype._verify2=function(a,b){assert((a.negative|b.negative)===0,\"red works only with positives\"),assert(a.red&&a.red===b.red,\"red works only with red numbers\")},Red.prototype.imod=function(a){return this.prime\?this.prime.ireduce(a)._forceRed(this):a.umod(this.m)._forceRed(this)},Red.prototype.neg=function(a){return a.isZero()\?a.clone():this.m.sub(a)._forceRed(this)},Red.prototype.add=function(a,b){this._verify2(a,b);var res=a.add(b);return res.cmp(this.m)>=0&&res.isub(this.m),res._forceRed(this)},Red.prototype.iadd=function(a,b){this._verify2(a,b);var res=a.iadd(b);return res.cmp(this.m)>=0&&res.isub(this.m),res},Red.prototype.sub=function(a,b){this._verify2(a,b);var res=a.sub(b);return res.cmpn(0)<0&&res.iadd(this.m),res._forceRed(this)},Red.prototype.isub=function(a,b){this._verify2(a,b);var res=a.isub(b);return res.cmpn(0)<0&&res.iadd(this.m),res},Red.prototype.shl=function(a,num){return this._verify1(a),this.imod(a.ushln(num))},Red.prototype.imul=function(a,b){return this._verify2(a,b),this.imod(a.imul(b))},Red.prototype.mul=function(a,b){return this._verify2(a,b),this.imod(a.mul(b))},Red.prototype.isqr=function(a){return this.imul(a,a.clone())},Red.prototype.sqr=function(a){return this.mul(a,a)},Red.prototype.sqrt=function(a){if(a.isZero())return a.clone();var mod3=this.m.andln(3);if(assert(mod3%2===1),mod3===3){var pow=this.m.add(new BN(1)).iushrn(2);return this.pow(a,pow)}for(var q=this.m.subn(1),s=0;!q.isZero()&&q.andln(1)===0;)s++,q.iushrn(1);assert(!q.isZero());var one=new BN(1).toRed(this),nOne=one.redNeg(),lpow=this.m.subn(1).iushrn(1),z=this.m.bitLength();for(z=new BN(2*z*z).toRed(this);this.pow(z,lpow).cmp(nOne)!==0;)z.redIAdd(nOne);for(var c=this.pow(z,q),r=this.pow(a,q.addn(1).iushrn(1)),t=this.pow(a,q),m=s;t.cmp(one)!==0;){for(var tmp=t,i=0;tmp.cmp(one)!==0;i++)tmp=tmp.redSqr();assert(i=0;i--){for(var word=num.words[i],j=start-1;j>=0;j--){var bit=word>>j&1;if(res!==wnd[0]&&(res=this.sqr(res)),bit===0&¤t===0){currentLen=0;continue}current<<=1,current|=bit,currentLen++,!(currentLen!==windowSize&&(i!==0||j!==0))&&(res=this.mul(res,wnd[current]),currentLen=0,current=0)}start=26}return res},Red.prototype.convertTo=function(num){var r=num.umod(this.m);return r===num\?r.clone():r},Red.prototype.convertFrom=function(num){var res=num.clone();return res.red=null,res},BN.mont=function(num){return new Mont(num)};function Mont(m){Red.call(this,m),this.shift=this.m.bitLength(),this.shift%26!==0&&(this.shift+=26-this.shift%26),this.r=new BN(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}inherits(Mont,Red),Mont.prototype.convertTo=function(num){return this.imod(num.ushln(this.shift))},Mont.prototype.convertFrom=function(num){var r=this.imod(num.mul(this.rinv));return r.red=null,r},Mont.prototype.imul=function(a,b){if(a.isZero()||b.isZero())return a.words[0]=0,a.length=1,a;var t=a.imul(b),c=t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),u=t.isub(c).iushrn(this.shift),res=u;return u.cmp(this.m)>=0\?res=u.isub(this.m):u.cmpn(0)<0&&(res=u.iadd(this.m)),res._forceRed(this)},Mont.prototype.mul=function(a,b){if(a.isZero()||b.isZero())return new BN(0)._forceRed(this);var t=a.mul(b),c=t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),u=t.isub(c).iushrn(this.shift),res=u;return u.cmp(this.m)>=0\?res=u.isub(this.m):u.cmpn(0)<0&&(res=u.iadd(this.m)),res._forceRed(this)},Mont.prototype.invm=function(a){var res=this.imod(a._invmp(this.m).mul(this.r2));return res._forceRed(this)}})(typeof module>\"u\"||module,exports)}}),require_bn2=__commonJS({\"node_modules/miller-rabin/node_modules/bn.js/lib/bn.js\"(exports,module){(function(module2,exports2){function assert(val,msg){if(!val)throw new Error(msg||\"Assertion failed\")}function inherits(ctor,superCtor){ctor.super_=superCtor;var TempCtor=function(){};TempCtor.prototype=superCtor.prototype,ctor.prototype=new TempCtor,ctor.prototype.constructor=ctor}function BN(number,base,endian){if(BN.isBN(number))return number;this.negative=0,this.words=null,this.length=0,this.red=null,number!==null&&((base===\"le\"||base===\"be\")&&(endian=base,base=10),this._init(number||0,base||10,endian||\"be\"))}typeof module2==\"object\"\?module2.exports=BN:exports2.BN=BN,BN.BN=BN,BN.wordSize=26;var Buffer2=Buffer;BN.isBN=function(num){return num instanceof BN\?!0:num!==null&&typeof num==\"object\"&&num.constructor.wordSize===BN.wordSize&&Array.isArray(num.words)},BN.max=function(left,right){return left.cmp(right)>0\?left:right},BN.min=function(left,right){return left.cmp(right)<0\?left:right},BN.prototype._init=function(number,base,endian){if(typeof number==\"number\")return this._initNumber(number,base,endian);if(typeof number==\"object\")return this._initArray(number,base,endian);base===\"hex\"&&(base=16),assert(base===(base|0)&&base>=2&&base<=36),number=number.toString().replace(/\\s+/g,\"\");var start=0;number[0]===\"-\"&&(start++,this.negative=1),start=0;i-=3)w=number[i]|number[i-1]<<8|number[i-2]<<16,this.words[j]|=w<>>26-off&67108863,off+=24,off>=26&&(off-=26,j++);else if(endian===\"le\")for(i=0,j=0;i>>26-off&67108863,off+=24,off>=26&&(off-=26,j++);return this.strip()};function parseHex4Bits(string,index){var c=string.charCodeAt(index);return c>=65&&c<=70\?c-55:c>=97&&c<=102\?c-87:c-48&15}function parseHexByte(string,lowerBound,index){var r=parseHex4Bits(string,index);return index-1>=lowerBound&&(r|=parseHex4Bits(string,index-1)<<4),r}BN.prototype._parseHex=function(number,start,endian){this.length=Math.ceil((number.length-start)/6),this.words=new Array(this.length);for(var i=0;i=start;i-=2)w=parseHexByte(number,start,i)<=18\?(off-=18,j+=1,this.words[j]|=w>>>26):off+=8;else{var parseLength=number.length-start;for(i=parseLength%2===0\?start+1:start;i=18\?(off-=18,j+=1,this.words[j]|=w>>>26):off+=8}this.strip()};function parseBase(str,start,end,mul){for(var r=0,len=Math.min(str.length,end),i=start;i=49\?r+=c-49+10:c>=17\?r+=c-17+10:r+=c}return r}BN.prototype._parseBase=function(number,base,start){this.words=[0],this.length=1;for(var limbLen=0,limbPow=1;limbPow<=67108863;limbPow*=base)limbLen++;limbLen--,limbPow=limbPow/base|0;for(var total=number.length-start,mod=total%limbLen,end=Math.min(total,total-mod)+start,word=0,i=start;i1&&this.words[this.length-1]===0;)this.length--;return this._normSign()},BN.prototype._normSign=function(){return this.length===1&&this.words[0]===0&&(this.negative=0),this},BN.prototype.inspect=function(){return(this.red\?\"\"};var zeros=[\"\",\"0\",\"00\",\"000\",\"0000\",\"00000\",\"000000\",\"0000000\",\"00000000\",\"000000000\",\"0000000000\",\"00000000000\",\"000000000000\",\"0000000000000\",\"00000000000000\",\"000000000000000\",\"0000000000000000\",\"00000000000000000\",\"000000000000000000\",\"0000000000000000000\",\"00000000000000000000\",\"000000000000000000000\",\"0000000000000000000000\",\"00000000000000000000000\",\"000000000000000000000000\",\"0000000000000000000000000\"],groupSizes=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],groupBases=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64000000,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,24300000,28629151,33554432,39135393,45435424,52521875,60466176];BN.prototype.toString=function(base,padding){base=base||10,padding=padding|0||1;var out;if(base===16||base===\"hex\"){out=\"\";for(var off=0,carry=0,i=0;i>>24-off&16777215,carry!==0||i!==this.length-1\?out=zeros[6-word.length]+word+out:out=word+out,off+=2,off>=26&&(off-=26,i--)}for(carry!==0&&(out=carry.toString(16)+out);out.length%padding!==0;)out=\"0\"+out;return this.negative!==0&&(out=\"-\"+out),out}if(base===(base|0)&&base>=2&&base<=36){var groupSize=groupSizes[base],groupBase=groupBases[base];out=\"\";var c=this.clone();for(c.negative=0;!c.isZero();){var r=c.modn(groupBase).toString(base);c=c.idivn(groupBase),c.isZero()\?out=r+out:out=zeros[groupSize-r.length]+r+out}for(this.isZero()&&(out=\"0\"+out);out.length%padding!==0;)out=\"0\"+out;return this.negative!==0&&(out=\"-\"+out),out}assert(!1,\"Base should be between 2 and 36\")},BN.prototype.toNumber=function(){var ret=this.words[0];return this.length===2\?ret+=this.words[1]*67108864:this.length===3&&this.words[2]===1\?ret+=4503599627370496+this.words[1]*67108864:this.length>2&&assert(!1,\"Number can only safely store up to 53 bits\"),this.negative!==0\?-ret:ret},BN.prototype.toJSON=function(){return this.toString(16)},BN.prototype.toBuffer=function(endian,length){return assert(typeof Buffer2<\"u\"),this.toArrayLike(Buffer2,endian,length)},BN.prototype.toArray=function(endian,length){return this.toArrayLike(Array,endian,length)},BN.prototype.toArrayLike=function(ArrayType,endian,length){var byteLength=this.byteLength(),reqLength=length||Math.max(1,byteLength);assert(byteLength<=reqLength,\"byte array longer than desired length\"),assert(reqLength>0,\"Requested array length <= 0\"),this.strip();var littleEndian=endian===\"le\",res=new ArrayType(reqLength),b,i,q=this.clone();if(littleEndian){for(i=0;!q.isZero();i++)b=q.andln(255),q.iushrn(8),res[i]=b;for(;i=4096&&(r+=13,t>>>=13),t>=64&&(r+=7,t>>>=7),t>=8&&(r+=4,t>>>=4),t>=2&&(r+=2,t>>>=2),r+t},BN.prototype._zeroBits=function(w){if(w===0)return 26;var t=w,r=0;return(t&8191)===0&&(r+=13,t>>>=13),(t&127)===0&&(r+=7,t>>>=7),(t&15)===0&&(r+=4,t>>>=4),(t&3)===0&&(r+=2,t>>>=2),(t&1)===0&&r++,r},BN.prototype.bitLength=function(){var w=this.words[this.length-1],hi=this._countBits(w);return(this.length-1)*26+hi};function toBitArray(num){for(var w=new Array(num.bitLength()),bit=0;bit>>wbit}return w}BN.prototype.zeroBits=function(){if(this.isZero())return 0;for(var r=0,i=0;inum.length\?this.clone().ior(num):num.clone().ior(this)},BN.prototype.uor=function(num){return this.length>num.length\?this.clone().iuor(num):num.clone().iuor(this)},BN.prototype.iuand=function(num){var b;this.length>num.length\?b=num:b=this;for(var i=0;inum.length\?this.clone().iand(num):num.clone().iand(this)},BN.prototype.uand=function(num){return this.length>num.length\?this.clone().iuand(num):num.clone().iuand(this)},BN.prototype.iuxor=function(num){var a,b;this.length>num.length\?(a=this,b=num):(a=num,b=this);for(var i=0;inum.length\?this.clone().ixor(num):num.clone().ixor(this)},BN.prototype.uxor=function(num){return this.length>num.length\?this.clone().iuxor(num):num.clone().iuxor(this)},BN.prototype.inotn=function(width){assert(typeof width==\"number\"&&width>=0);var bytesNeeded=Math.ceil(width/26)|0,bitsLeft=width%26;this._expand(bytesNeeded),bitsLeft>0&&bytesNeeded--;for(var i=0;i0&&(this.words[i]=~this.words[i]&67108863>>26-bitsLeft),this.strip()},BN.prototype.notn=function(width){return this.clone().inotn(width)},BN.prototype.setn=function(bit,val){assert(typeof bit==\"number\"&&bit>=0);var off=bit/26|0,wbit=bit%26;return this._expand(off+1),val\?this.words[off]=this.words[off]|1<num.length\?(a=this,b=num):(a=num,b=this);for(var carry=0,i=0;i>>26;for(;carry!==0&&i>>26;if(this.length=a.length,carry!==0)this.words[this.length]=carry,this.length++;else if(a!==this)for(;inum.length\?this.clone().iadd(num):num.clone().iadd(this)},BN.prototype.isub=function(num){if(num.negative!==0){num.negative=0;var r=this.iadd(num);return num.negative=1,r._normSign()}else if(this.negative!==0)return this.negative=0,this.iadd(num),this.negative=1,this._normSign();var cmp=this.cmp(num);if(cmp===0)return this.negative=0,this.length=1,this.words[0]=0,this;var a,b;cmp>0\?(a=this,b=num):(a=num,b=this);for(var carry=0,i=0;i>26,this.words[i]=r&67108863;for(;carry!==0&&i>26,this.words[i]=r&67108863;if(carry===0&&i>>26,rword=carry&67108863,maxJ=Math.min(k,num.length-1),j=Math.max(0,k-self2.length+1);j<=maxJ;j++){var i=k-j|0;a=self2.words[i]|0,b=num.words[j]|0,r=a*b+rword,ncarry+=r/67108864|0,rword=r&67108863}out.words[k]=rword|0,carry=ncarry|0}return carry!==0\?out.words[k]=carry|0:out.length--,out.strip()}var comb10MulTo=function(self2,num,out){var a=self2.words,b=num.words,o=out.words,c=0,lo,mid,hi,a0=a[0]|0,al0=a0&8191,ah0=a0>>>13,a1=a[1]|0,al1=a1&8191,ah1=a1>>>13,a2=a[2]|0,al2=a2&8191,ah2=a2>>>13,a3=a[3]|0,al3=a3&8191,ah3=a3>>>13,a4=a[4]|0,al4=a4&8191,ah4=a4>>>13,a5=a[5]|0,al5=a5&8191,ah5=a5>>>13,a6=a[6]|0,al6=a6&8191,ah6=a6>>>13,a7=a[7]|0,al7=a7&8191,ah7=a7>>>13,a8=a[8]|0,al8=a8&8191,ah8=a8>>>13,a9=a[9]|0,al9=a9&8191,ah9=a9>>>13,b0=b[0]|0,bl0=b0&8191,bh0=b0>>>13,b1=b[1]|0,bl1=b1&8191,bh1=b1>>>13,b2=b[2]|0,bl2=b2&8191,bh2=b2>>>13,b3=b[3]|0,bl3=b3&8191,bh3=b3>>>13,b4=b[4]|0,bl4=b4&8191,bh4=b4>>>13,b5=b[5]|0,bl5=b5&8191,bh5=b5>>>13,b6=b[6]|0,bl6=b6&8191,bh6=b6>>>13,b7=b[7]|0,bl7=b7&8191,bh7=b7>>>13,b8=b[8]|0,bl8=b8&8191,bh8=b8>>>13,b9=b[9]|0,bl9=b9&8191,bh9=b9>>>13;out.negative=self2.negative^num.negative,out.length=19,lo=Math.imul(al0,bl0),mid=Math.imul(al0,bh0),mid=mid+Math.imul(ah0,bl0)|0,hi=Math.imul(ah0,bh0);var w0=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w0>>>26)|0,w0&=67108863,lo=Math.imul(al1,bl0),mid=Math.imul(al1,bh0),mid=mid+Math.imul(ah1,bl0)|0,hi=Math.imul(ah1,bh0),lo=lo+Math.imul(al0,bl1)|0,mid=mid+Math.imul(al0,bh1)|0,mid=mid+Math.imul(ah0,bl1)|0,hi=hi+Math.imul(ah0,bh1)|0;var w1=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w1>>>26)|0,w1&=67108863,lo=Math.imul(al2,bl0),mid=Math.imul(al2,bh0),mid=mid+Math.imul(ah2,bl0)|0,hi=Math.imul(ah2,bh0),lo=lo+Math.imul(al1,bl1)|0,mid=mid+Math.imul(al1,bh1)|0,mid=mid+Math.imul(ah1,bl1)|0,hi=hi+Math.imul(ah1,bh1)|0,lo=lo+Math.imul(al0,bl2)|0,mid=mid+Math.imul(al0,bh2)|0,mid=mid+Math.imul(ah0,bl2)|0,hi=hi+Math.imul(ah0,bh2)|0;var w2=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w2>>>26)|0,w2&=67108863,lo=Math.imul(al3,bl0),mid=Math.imul(al3,bh0),mid=mid+Math.imul(ah3,bl0)|0,hi=Math.imul(ah3,bh0),lo=lo+Math.imul(al2,bl1)|0,mid=mid+Math.imul(al2,bh1)|0,mid=mid+Math.imul(ah2,bl1)|0,hi=hi+Math.imul(ah2,bh1)|0,lo=lo+Math.imul(al1,bl2)|0,mid=mid+Math.imul(al1,bh2)|0,mid=mid+Math.imul(ah1,bl2)|0,hi=hi+Math.imul(ah1,bh2)|0,lo=lo+Math.imul(al0,bl3)|0,mid=mid+Math.imul(al0,bh3)|0,mid=mid+Math.imul(ah0,bl3)|0,hi=hi+Math.imul(ah0,bh3)|0;var w3=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w3>>>26)|0,w3&=67108863,lo=Math.imul(al4,bl0),mid=Math.imul(al4,bh0),mid=mid+Math.imul(ah4,bl0)|0,hi=Math.imul(ah4,bh0),lo=lo+Math.imul(al3,bl1)|0,mid=mid+Math.imul(al3,bh1)|0,mid=mid+Math.imul(ah3,bl1)|0,hi=hi+Math.imul(ah3,bh1)|0,lo=lo+Math.imul(al2,bl2)|0,mid=mid+Math.imul(al2,bh2)|0,mid=mid+Math.imul(ah2,bl2)|0,hi=hi+Math.imul(ah2,bh2)|0,lo=lo+Math.imul(al1,bl3)|0,mid=mid+Math.imul(al1,bh3)|0,mid=mid+Math.imul(ah1,bl3)|0,hi=hi+Math.imul(ah1,bh3)|0,lo=lo+Math.imul(al0,bl4)|0,mid=mid+Math.imul(al0,bh4)|0,mid=mid+Math.imul(ah0,bl4)|0,hi=hi+Math.imul(ah0,bh4)|0;var w4=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w4>>>26)|0,w4&=67108863,lo=Math.imul(al5,bl0),mid=Math.imul(al5,bh0),mid=mid+Math.imul(ah5,bl0)|0,hi=Math.imul(ah5,bh0),lo=lo+Math.imul(al4,bl1)|0,mid=mid+Math.imul(al4,bh1)|0,mid=mid+Math.imul(ah4,bl1)|0,hi=hi+Math.imul(ah4,bh1)|0,lo=lo+Math.imul(al3,bl2)|0,mid=mid+Math.imul(al3,bh2)|0,mid=mid+Math.imul(ah3,bl2)|0,hi=hi+Math.imul(ah3,bh2)|0,lo=lo+Math.imul(al2,bl3)|0,mid=mid+Math.imul(al2,bh3)|0,mid=mid+Math.imul(ah2,bl3)|0,hi=hi+Math.imul(ah2,bh3)|0,lo=lo+Math.imul(al1,bl4)|0,mid=mid+Math.imul(al1,bh4)|0,mid=mid+Math.imul(ah1,bl4)|0,hi=hi+Math.imul(ah1,bh4)|0,lo=lo+Math.imul(al0,bl5)|0,mid=mid+Math.imul(al0,bh5)|0,mid=mid+Math.imul(ah0,bl5)|0,hi=hi+Math.imul(ah0,bh5)|0;var w5=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w5>>>26)|0,w5&=67108863,lo=Math.imul(al6,bl0),mid=Math.imul(al6,bh0),mid=mid+Math.imul(ah6,bl0)|0,hi=Math.imul(ah6,bh0),lo=lo+Math.imul(al5,bl1)|0,mid=mid+Math.imul(al5,bh1)|0,mid=mid+Math.imul(ah5,bl1)|0,hi=hi+Math.imul(ah5,bh1)|0,lo=lo+Math.imul(al4,bl2)|0,mid=mid+Math.imul(al4,bh2)|0,mid=mid+Math.imul(ah4,bl2)|0,hi=hi+Math.imul(ah4,bh2)|0,lo=lo+Math.imul(al3,bl3)|0,mid=mid+Math.imul(al3,bh3)|0,mid=mid+Math.imul(ah3,bl3)|0,hi=hi+Math.imul(ah3,bh3)|0,lo=lo+Math.imul(al2,bl4)|0,mid=mid+Math.imul(al2,bh4)|0,mid=mid+Math.imul(ah2,bl4)|0,hi=hi+Math.imul(ah2,bh4)|0,lo=lo+Math.imul(al1,bl5)|0,mid=mid+Math.imul(al1,bh5)|0,mid=mid+Math.imul(ah1,bl5)|0,hi=hi+Math.imul(ah1,bh5)|0,lo=lo+Math.imul(al0,bl6)|0,mid=mid+Math.imul(al0,bh6)|0,mid=mid+Math.imul(ah0,bl6)|0,hi=hi+Math.imul(ah0,bh6)|0;var w6=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w6>>>26)|0,w6&=67108863,lo=Math.imul(al7,bl0),mid=Math.imul(al7,bh0),mid=mid+Math.imul(ah7,bl0)|0,hi=Math.imul(ah7,bh0),lo=lo+Math.imul(al6,bl1)|0,mid=mid+Math.imul(al6,bh1)|0,mid=mid+Math.imul(ah6,bl1)|0,hi=hi+Math.imul(ah6,bh1)|0,lo=lo+Math.imul(al5,bl2)|0,mid=mid+Math.imul(al5,bh2)|0,mid=mid+Math.imul(ah5,bl2)|0,hi=hi+Math.imul(ah5,bh2)|0,lo=lo+Math.imul(al4,bl3)|0,mid=mid+Math.imul(al4,bh3)|0,mid=mid+Math.imul(ah4,bl3)|0,hi=hi+Math.imul(ah4,bh3)|0,lo=lo+Math.imul(al3,bl4)|0,mid=mid+Math.imul(al3,bh4)|0,mid=mid+Math.imul(ah3,bl4)|0,hi=hi+Math.imul(ah3,bh4)|0,lo=lo+Math.imul(al2,bl5)|0,mid=mid+Math.imul(al2,bh5)|0,mid=mid+Math.imul(ah2,bl5)|0,hi=hi+Math.imul(ah2,bh5)|0,lo=lo+Math.imul(al1,bl6)|0,mid=mid+Math.imul(al1,bh6)|0,mid=mid+Math.imul(ah1,bl6)|0,hi=hi+Math.imul(ah1,bh6)|0,lo=lo+Math.imul(al0,bl7)|0,mid=mid+Math.imul(al0,bh7)|0,mid=mid+Math.imul(ah0,bl7)|0,hi=hi+Math.imul(ah0,bh7)|0;var w7=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w7>>>26)|0,w7&=67108863,lo=Math.imul(al8,bl0),mid=Math.imul(al8,bh0),mid=mid+Math.imul(ah8,bl0)|0,hi=Math.imul(ah8,bh0),lo=lo+Math.imul(al7,bl1)|0,mid=mid+Math.imul(al7,bh1)|0,mid=mid+Math.imul(ah7,bl1)|0,hi=hi+Math.imul(ah7,bh1)|0,lo=lo+Math.imul(al6,bl2)|0,mid=mid+Math.imul(al6,bh2)|0,mid=mid+Math.imul(ah6,bl2)|0,hi=hi+Math.imul(ah6,bh2)|0,lo=lo+Math.imul(al5,bl3)|0,mid=mid+Math.imul(al5,bh3)|0,mid=mid+Math.imul(ah5,bl3)|0,hi=hi+Math.imul(ah5,bh3)|0,lo=lo+Math.imul(al4,bl4)|0,mid=mid+Math.imul(al4,bh4)|0,mid=mid+Math.imul(ah4,bl4)|0,hi=hi+Math.imul(ah4,bh4)|0,lo=lo+Math.imul(al3,bl5)|0,mid=mid+Math.imul(al3,bh5)|0,mid=mid+Math.imul(ah3,bl5)|0,hi=hi+Math.imul(ah3,bh5)|0,lo=lo+Math.imul(al2,bl6)|0,mid=mid+Math.imul(al2,bh6)|0,mid=mid+Math.imul(ah2,bl6)|0,hi=hi+Math.imul(ah2,bh6)|0,lo=lo+Math.imul(al1,bl7)|0,mid=mid+Math.imul(al1,bh7)|0,mid=mid+Math.imul(ah1,bl7)|0,hi=hi+Math.imul(ah1,bh7)|0,lo=lo+Math.imul(al0,bl8)|0,mid=mid+Math.imul(al0,bh8)|0,mid=mid+Math.imul(ah0,bl8)|0,hi=hi+Math.imul(ah0,bh8)|0;var w8=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w8>>>26)|0,w8&=67108863,lo=Math.imul(al9,bl0),mid=Math.imul(al9,bh0),mid=mid+Math.imul(ah9,bl0)|0,hi=Math.imul(ah9,bh0),lo=lo+Math.imul(al8,bl1)|0,mid=mid+Math.imul(al8,bh1)|0,mid=mid+Math.imul(ah8,bl1)|0,hi=hi+Math.imul(ah8,bh1)|0,lo=lo+Math.imul(al7,bl2)|0,mid=mid+Math.imul(al7,bh2)|0,mid=mid+Math.imul(ah7,bl2)|0,hi=hi+Math.imul(ah7,bh2)|0,lo=lo+Math.imul(al6,bl3)|0,mid=mid+Math.imul(al6,bh3)|0,mid=mid+Math.imul(ah6,bl3)|0,hi=hi+Math.imul(ah6,bh3)|0,lo=lo+Math.imul(al5,bl4)|0,mid=mid+Math.imul(al5,bh4)|0,mid=mid+Math.imul(ah5,bl4)|0,hi=hi+Math.imul(ah5,bh4)|0,lo=lo+Math.imul(al4,bl5)|0,mid=mid+Math.imul(al4,bh5)|0,mid=mid+Math.imul(ah4,bl5)|0,hi=hi+Math.imul(ah4,bh5)|0,lo=lo+Math.imul(al3,bl6)|0,mid=mid+Math.imul(al3,bh6)|0,mid=mid+Math.imul(ah3,bl6)|0,hi=hi+Math.imul(ah3,bh6)|0,lo=lo+Math.imul(al2,bl7)|0,mid=mid+Math.imul(al2,bh7)|0,mid=mid+Math.imul(ah2,bl7)|0,hi=hi+Math.imul(ah2,bh7)|0,lo=lo+Math.imul(al1,bl8)|0,mid=mid+Math.imul(al1,bh8)|0,mid=mid+Math.imul(ah1,bl8)|0,hi=hi+Math.imul(ah1,bh8)|0,lo=lo+Math.imul(al0,bl9)|0,mid=mid+Math.imul(al0,bh9)|0,mid=mid+Math.imul(ah0,bl9)|0,hi=hi+Math.imul(ah0,bh9)|0;var w9=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w9>>>26)|0,w9&=67108863,lo=Math.imul(al9,bl1),mid=Math.imul(al9,bh1),mid=mid+Math.imul(ah9,bl1)|0,hi=Math.imul(ah9,bh1),lo=lo+Math.imul(al8,bl2)|0,mid=mid+Math.imul(al8,bh2)|0,mid=mid+Math.imul(ah8,bl2)|0,hi=hi+Math.imul(ah8,bh2)|0,lo=lo+Math.imul(al7,bl3)|0,mid=mid+Math.imul(al7,bh3)|0,mid=mid+Math.imul(ah7,bl3)|0,hi=hi+Math.imul(ah7,bh3)|0,lo=lo+Math.imul(al6,bl4)|0,mid=mid+Math.imul(al6,bh4)|0,mid=mid+Math.imul(ah6,bl4)|0,hi=hi+Math.imul(ah6,bh4)|0,lo=lo+Math.imul(al5,bl5)|0,mid=mid+Math.imul(al5,bh5)|0,mid=mid+Math.imul(ah5,bl5)|0,hi=hi+Math.imul(ah5,bh5)|0,lo=lo+Math.imul(al4,bl6)|0,mid=mid+Math.imul(al4,bh6)|0,mid=mid+Math.imul(ah4,bl6)|0,hi=hi+Math.imul(ah4,bh6)|0,lo=lo+Math.imul(al3,bl7)|0,mid=mid+Math.imul(al3,bh7)|0,mid=mid+Math.imul(ah3,bl7)|0,hi=hi+Math.imul(ah3,bh7)|0,lo=lo+Math.imul(al2,bl8)|0,mid=mid+Math.imul(al2,bh8)|0,mid=mid+Math.imul(ah2,bl8)|0,hi=hi+Math.imul(ah2,bh8)|0,lo=lo+Math.imul(al1,bl9)|0,mid=mid+Math.imul(al1,bh9)|0,mid=mid+Math.imul(ah1,bl9)|0,hi=hi+Math.imul(ah1,bh9)|0;var w10=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w10>>>26)|0,w10&=67108863,lo=Math.imul(al9,bl2),mid=Math.imul(al9,bh2),mid=mid+Math.imul(ah9,bl2)|0,hi=Math.imul(ah9,bh2),lo=lo+Math.imul(al8,bl3)|0,mid=mid+Math.imul(al8,bh3)|0,mid=mid+Math.imul(ah8,bl3)|0,hi=hi+Math.imul(ah8,bh3)|0,lo=lo+Math.imul(al7,bl4)|0,mid=mid+Math.imul(al7,bh4)|0,mid=mid+Math.imul(ah7,bl4)|0,hi=hi+Math.imul(ah7,bh4)|0,lo=lo+Math.imul(al6,bl5)|0,mid=mid+Math.imul(al6,bh5)|0,mid=mid+Math.imul(ah6,bl5)|0,hi=hi+Math.imul(ah6,bh5)|0,lo=lo+Math.imul(al5,bl6)|0,mid=mid+Math.imul(al5,bh6)|0,mid=mid+Math.imul(ah5,bl6)|0,hi=hi+Math.imul(ah5,bh6)|0,lo=lo+Math.imul(al4,bl7)|0,mid=mid+Math.imul(al4,bh7)|0,mid=mid+Math.imul(ah4,bl7)|0,hi=hi+Math.imul(ah4,bh7)|0,lo=lo+Math.imul(al3,bl8)|0,mid=mid+Math.imul(al3,bh8)|0,mid=mid+Math.imul(ah3,bl8)|0,hi=hi+Math.imul(ah3,bh8)|0,lo=lo+Math.imul(al2,bl9)|0,mid=mid+Math.imul(al2,bh9)|0,mid=mid+Math.imul(ah2,bl9)|0,hi=hi+Math.imul(ah2,bh9)|0;var w11=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w11>>>26)|0,w11&=67108863,lo=Math.imul(al9,bl3),mid=Math.imul(al9,bh3),mid=mid+Math.imul(ah9,bl3)|0,hi=Math.imul(ah9,bh3),lo=lo+Math.imul(al8,bl4)|0,mid=mid+Math.imul(al8,bh4)|0,mid=mid+Math.imul(ah8,bl4)|0,hi=hi+Math.imul(ah8,bh4)|0,lo=lo+Math.imul(al7,bl5)|0,mid=mid+Math.imul(al7,bh5)|0,mid=mid+Math.imul(ah7,bl5)|0,hi=hi+Math.imul(ah7,bh5)|0,lo=lo+Math.imul(al6,bl6)|0,mid=mid+Math.imul(al6,bh6)|0,mid=mid+Math.imul(ah6,bl6)|0,hi=hi+Math.imul(ah6,bh6)|0,lo=lo+Math.imul(al5,bl7)|0,mid=mid+Math.imul(al5,bh7)|0,mid=mid+Math.imul(ah5,bl7)|0,hi=hi+Math.imul(ah5,bh7)|0,lo=lo+Math.imul(al4,bl8)|0,mid=mid+Math.imul(al4,bh8)|0,mid=mid+Math.imul(ah4,bl8)|0,hi=hi+Math.imul(ah4,bh8)|0,lo=lo+Math.imul(al3,bl9)|0,mid=mid+Math.imul(al3,bh9)|0,mid=mid+Math.imul(ah3,bl9)|0,hi=hi+Math.imul(ah3,bh9)|0;var w12=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w12>>>26)|0,w12&=67108863,lo=Math.imul(al9,bl4),mid=Math.imul(al9,bh4),mid=mid+Math.imul(ah9,bl4)|0,hi=Math.imul(ah9,bh4),lo=lo+Math.imul(al8,bl5)|0,mid=mid+Math.imul(al8,bh5)|0,mid=mid+Math.imul(ah8,bl5)|0,hi=hi+Math.imul(ah8,bh5)|0,lo=lo+Math.imul(al7,bl6)|0,mid=mid+Math.imul(al7,bh6)|0,mid=mid+Math.imul(ah7,bl6)|0,hi=hi+Math.imul(ah7,bh6)|0,lo=lo+Math.imul(al6,bl7)|0,mid=mid+Math.imul(al6,bh7)|0,mid=mid+Math.imul(ah6,bl7)|0,hi=hi+Math.imul(ah6,bh7)|0,lo=lo+Math.imul(al5,bl8)|0,mid=mid+Math.imul(al5,bh8)|0,mid=mid+Math.imul(ah5,bl8)|0,hi=hi+Math.imul(ah5,bh8)|0,lo=lo+Math.imul(al4,bl9)|0,mid=mid+Math.imul(al4,bh9)|0,mid=mid+Math.imul(ah4,bl9)|0,hi=hi+Math.imul(ah4,bh9)|0;var w13=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w13>>>26)|0,w13&=67108863,lo=Math.imul(al9,bl5),mid=Math.imul(al9,bh5),mid=mid+Math.imul(ah9,bl5)|0,hi=Math.imul(ah9,bh5),lo=lo+Math.imul(al8,bl6)|0,mid=mid+Math.imul(al8,bh6)|0,mid=mid+Math.imul(ah8,bl6)|0,hi=hi+Math.imul(ah8,bh6)|0,lo=lo+Math.imul(al7,bl7)|0,mid=mid+Math.imul(al7,bh7)|0,mid=mid+Math.imul(ah7,bl7)|0,hi=hi+Math.imul(ah7,bh7)|0,lo=lo+Math.imul(al6,bl8)|0,mid=mid+Math.imul(al6,bh8)|0,mid=mid+Math.imul(ah6,bl8)|0,hi=hi+Math.imul(ah6,bh8)|0,lo=lo+Math.imul(al5,bl9)|0,mid=mid+Math.imul(al5,bh9)|0,mid=mid+Math.imul(ah5,bl9)|0,hi=hi+Math.imul(ah5,bh9)|0;var w14=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w14>>>26)|0,w14&=67108863,lo=Math.imul(al9,bl6),mid=Math.imul(al9,bh6),mid=mid+Math.imul(ah9,bl6)|0,hi=Math.imul(ah9,bh6),lo=lo+Math.imul(al8,bl7)|0,mid=mid+Math.imul(al8,bh7)|0,mid=mid+Math.imul(ah8,bl7)|0,hi=hi+Math.imul(ah8,bh7)|0,lo=lo+Math.imul(al7,bl8)|0,mid=mid+Math.imul(al7,bh8)|0,mid=mid+Math.imul(ah7,bl8)|0,hi=hi+Math.imul(ah7,bh8)|0,lo=lo+Math.imul(al6,bl9)|0,mid=mid+Math.imul(al6,bh9)|0,mid=mid+Math.imul(ah6,bl9)|0,hi=hi+Math.imul(ah6,bh9)|0;var w15=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w15>>>26)|0,w15&=67108863,lo=Math.imul(al9,bl7),mid=Math.imul(al9,bh7),mid=mid+Math.imul(ah9,bl7)|0,hi=Math.imul(ah9,bh7),lo=lo+Math.imul(al8,bl8)|0,mid=mid+Math.imul(al8,bh8)|0,mid=mid+Math.imul(ah8,bl8)|0,hi=hi+Math.imul(ah8,bh8)|0,lo=lo+Math.imul(al7,bl9)|0,mid=mid+Math.imul(al7,bh9)|0,mid=mid+Math.imul(ah7,bl9)|0,hi=hi+Math.imul(ah7,bh9)|0;var w16=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w16>>>26)|0,w16&=67108863,lo=Math.imul(al9,bl8),mid=Math.imul(al9,bh8),mid=mid+Math.imul(ah9,bl8)|0,hi=Math.imul(ah9,bh8),lo=lo+Math.imul(al8,bl9)|0,mid=mid+Math.imul(al8,bh9)|0,mid=mid+Math.imul(ah8,bl9)|0,hi=hi+Math.imul(ah8,bh9)|0;var w17=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w17>>>26)|0,w17&=67108863,lo=Math.imul(al9,bl9),mid=Math.imul(al9,bh9),mid=mid+Math.imul(ah9,bl9)|0,hi=Math.imul(ah9,bh9);var w18=(c+lo|0)+((mid&8191)<<13)|0;return c=(hi+(mid>>>13)|0)+(w18>>>26)|0,w18&=67108863,o[0]=w0,o[1]=w1,o[2]=w2,o[3]=w3,o[4]=w4,o[5]=w5,o[6]=w6,o[7]=w7,o[8]=w8,o[9]=w9,o[10]=w10,o[11]=w11,o[12]=w12,o[13]=w13,o[14]=w14,o[15]=w15,o[16]=w16,o[17]=w17,o[18]=w18,c!==0&&(o[19]=c,out.length++),out};Math.imul||(comb10MulTo=smallMulTo);function bigMulTo(self2,num,out){out.negative=num.negative^self2.negative,out.length=self2.length+num.length;for(var carry=0,hncarry=0,k=0;k>>26)|0,hncarry+=ncarry>>>26,ncarry&=67108863}out.words[k]=rword,carry=ncarry,ncarry=hncarry}return carry!==0\?out.words[k]=carry:out.length--,out.strip()}function jumboMulTo(self2,num,out){var fftm=new FFTM;return fftm.mulp(self2,num,out)}BN.prototype.mulTo=function(num,out){var res,len=this.length+num.length;return this.length===10&&num.length===10\?res=comb10MulTo(this,num,out):len<63\?res=smallMulTo(this,num,out):len<1024\?res=bigMulTo(this,num,out):res=jumboMulTo(this,num,out),res};function FFTM(x,y){this.x=x,this.y=y}FFTM.prototype.makeRBT=function(N){for(var t=new Array(N),l=BN.prototype._countBits(N)-1,i=0;i>=1;return rb},FFTM.prototype.permute=function(rbt,rws,iws,rtws,itws,N){for(var i=0;i>>1)i++;return 1<>>13,rws[2*i+1]=carry&8191,carry=carry>>>13;for(i=2*len;i>=26,carry+=w/67108864|0,carry+=lo>>>26,this.words[i]=lo&67108863}return carry!==0&&(this.words[i]=carry,this.length++),this},BN.prototype.muln=function(num){return this.clone().imuln(num)},BN.prototype.sqr=function(){return this.mul(this)},BN.prototype.isqr=function(){return this.imul(this.clone())},BN.prototype.pow=function(num){var w=toBitArray(num);if(w.length===0)return new BN(1);for(var res=this,i=0;i=0);var r=bits%26,s=(bits-r)/26,carryMask=67108863>>>26-r<<26-r,i;if(r!==0){var carry=0;for(i=0;i>>26-r}carry&&(this.words[i]=carry,this.length++)}if(s!==0){for(i=this.length-1;i>=0;i--)this.words[i+s]=this.words[i];for(i=0;i=0);var h;hint\?h=(hint-hint%26)/26:h=0;var r=bits%26,s=Math.min((bits-r)/26,this.length),mask=67108863^67108863>>>r<s)for(this.length-=s,i=0;i=0&&(carry!==0||i>=h);i--){var word=this.words[i]|0;this.words[i]=carry<<26-r|word>>>r,carry=word&mask}return maskedWords&&carry!==0&&(maskedWords.words[maskedWords.length++]=carry),this.length===0&&(this.words[0]=0,this.length=1),this.strip()},BN.prototype.ishrn=function(bits,hint,extended){return assert(this.negative===0),this.iushrn(bits,hint,extended)},BN.prototype.shln=function(bits){return this.clone().ishln(bits)},BN.prototype.ushln=function(bits){return this.clone().iushln(bits)},BN.prototype.shrn=function(bits){return this.clone().ishrn(bits)},BN.prototype.ushrn=function(bits){return this.clone().iushrn(bits)},BN.prototype.testn=function(bit){assert(typeof bit==\"number\"&&bit>=0);var r=bit%26,s=(bit-r)/26,q=1<=0);var r=bits%26,s=(bits-r)/26;if(assert(this.negative===0,\"imaskn works only with positive numbers\"),this.length<=s)return this;if(r!==0&&s++,this.length=Math.min(s,this.length),r!==0){var mask=67108863^67108863>>>r<=67108864;i++)this.words[i]-=67108864,i===this.length-1\?this.words[i+1]=1:this.words[i+1]++;return this.length=Math.max(this.length,i+1),this},BN.prototype.isubn=function(num){if(assert(typeof num==\"number\"),assert(num<67108864),num<0)return this.iaddn(-num);if(this.negative!==0)return this.negative=0,this.iaddn(num),this.negative=1,this;if(this.words[0]-=num,this.length===1&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var i=0;i>26)-(right/67108864|0),this.words[i+shift]=w&67108863}for(;i>26,this.words[i+shift]=w&67108863;if(carry===0)return this.strip();for(assert(carry===-1),carry=0,i=0;i>26,this.words[i]=w&67108863;return this.negative=1,this.strip()},BN.prototype._wordDiv=function(num,mode){var shift=this.length-num.length,a=this.clone(),b=num,bhi=b.words[b.length-1]|0,bhiBits=this._countBits(bhi);shift=26-bhiBits,shift!==0&&(b=b.ushln(shift),a.iushln(shift),bhi=b.words[b.length-1]|0);var m=a.length-b.length,q;if(mode!==\"mod\"){q=new BN(null),q.length=m+1,q.words=new Array(q.length);for(var i=0;i=0;j--){var qj=(a.words[b.length+j]|0)*67108864+(a.words[b.length+j-1]|0);for(qj=Math.min(qj/bhi|0,67108863),a._ishlnsubmul(b,qj,j);a.negative!==0;)qj--,a.negative=0,a._ishlnsubmul(b,1,j),a.isZero()||(a.negative^=1);q&&(q.words[j]=qj)}return q&&q.strip(),a.strip(),mode!==\"div\"&&shift!==0&&a.iushrn(shift),{div:q||null,mod:a}},BN.prototype.divmod=function(num,mode,positive){if(assert(!num.isZero()),this.isZero())return{div:new BN(0),mod:new BN(0)};var div,mod,res;return this.negative!==0&&num.negative===0\?(res=this.neg().divmod(num,mode),mode!==\"mod\"&&(div=res.div.neg()),mode!==\"div\"&&(mod=res.mod.neg(),positive&&mod.negative!==0&&mod.iadd(num)),{div,mod}):this.negative===0&&num.negative!==0\?(res=this.divmod(num.neg(),mode),mode!==\"mod\"&&(div=res.div.neg()),{div,mod:res.mod}):(this.negative&num.negative)!==0\?(res=this.neg().divmod(num.neg(),mode),mode!==\"div\"&&(mod=res.mod.neg(),positive&&mod.negative!==0&&mod.isub(num)),{div:res.div,mod}):num.length>this.length||this.cmp(num)<0\?{div:new BN(0),mod:this}:num.length===1\?mode===\"div\"\?{div:this.divn(num.words[0]),mod:null}:mode===\"mod\"\?{div:null,mod:new BN(this.modn(num.words[0]))}:{div:this.divn(num.words[0]),mod:new BN(this.modn(num.words[0]))}:this._wordDiv(num,mode)},BN.prototype.div=function(num){return this.divmod(num,\"div\",!1).div},BN.prototype.mod=function(num){return this.divmod(num,\"mod\",!1).mod},BN.prototype.umod=function(num){return this.divmod(num,\"mod\",!0).mod},BN.prototype.divRound=function(num){var dm=this.divmod(num);if(dm.mod.isZero())return dm.div;var mod=dm.div.negative!==0\?dm.mod.isub(num):dm.mod,half=num.ushrn(1),r2=num.andln(1),cmp=mod.cmp(half);return cmp<0||r2===1&&cmp===0\?dm.div:dm.div.negative!==0\?dm.div.isubn(1):dm.div.iaddn(1)},BN.prototype.modn=function(num){assert(num<=67108863);for(var p=(1<<26)%num,acc=0,i=this.length-1;i>=0;i--)acc=(p*acc+(this.words[i]|0))%num;return acc},BN.prototype.idivn=function(num){assert(num<=67108863);for(var carry=0,i=this.length-1;i>=0;i--){var w=(this.words[i]|0)+carry*67108864;this.words[i]=w/num|0,carry=w%num}return this.strip()},BN.prototype.divn=function(num){return this.clone().idivn(num)},BN.prototype.egcd=function(p){assert(p.negative===0),assert(!p.isZero());var x=this,y=p.clone();x.negative!==0\?x=x.umod(p):x=x.clone();for(var A=new BN(1),B=new BN(0),C=new BN(0),D=new BN(1),g=0;x.isEven()&&y.isEven();)x.iushrn(1),y.iushrn(1),++g;for(var yp=y.clone(),xp=x.clone();!x.isZero();){for(var i=0,im=1;(x.words[0]&im)===0&&i<26;++i,im<<=1);if(i>0)for(x.iushrn(i);i-- >0;)(A.isOdd()||B.isOdd())&&(A.iadd(yp),B.isub(xp)),A.iushrn(1),B.iushrn(1);for(var j=0,jm=1;(y.words[0]&jm)===0&&j<26;++j,jm<<=1);if(j>0)for(y.iushrn(j);j-- >0;)(C.isOdd()||D.isOdd())&&(C.iadd(yp),D.isub(xp)),C.iushrn(1),D.iushrn(1);x.cmp(y)>=0\?(x.isub(y),A.isub(C),B.isub(D)):(y.isub(x),C.isub(A),D.isub(B))}return{a:C,b:D,gcd:y.iushln(g)}},BN.prototype._invmp=function(p){assert(p.negative===0),assert(!p.isZero());var a=this,b=p.clone();a.negative!==0\?a=a.umod(p):a=a.clone();for(var x1=new BN(1),x2=new BN(0),delta=b.clone();a.cmpn(1)>0&&b.cmpn(1)>0;){for(var i=0,im=1;(a.words[0]&im)===0&&i<26;++i,im<<=1);if(i>0)for(a.iushrn(i);i-- >0;)x1.isOdd()&&x1.iadd(delta),x1.iushrn(1);for(var j=0,jm=1;(b.words[0]&jm)===0&&j<26;++j,jm<<=1);if(j>0)for(b.iushrn(j);j-- >0;)x2.isOdd()&&x2.iadd(delta),x2.iushrn(1);a.cmp(b)>=0\?(a.isub(b),x1.isub(x2)):(b.isub(a),x2.isub(x1))}var res;return a.cmpn(1)===0\?res=x1:res=x2,res.cmpn(0)<0&&res.iadd(p),res},BN.prototype.gcd=function(num){if(this.isZero())return num.abs();if(num.isZero())return this.abs();var a=this.clone(),b=num.clone();a.negative=0,b.negative=0;for(var shift=0;a.isEven()&&b.isEven();shift++)a.iushrn(1),b.iushrn(1);do{for(;a.isEven();)a.iushrn(1);for(;b.isEven();)b.iushrn(1);var r=a.cmp(b);if(r<0){var t=a;a=b,b=t}else if(r===0||b.cmpn(1)===0)break;a.isub(b)}while(!0);return b.iushln(shift)},BN.prototype.invm=function(num){return this.egcd(num).a.umod(num)},BN.prototype.isEven=function(){return(this.words[0]&1)===0},BN.prototype.isOdd=function(){return(this.words[0]&1)===1},BN.prototype.andln=function(num){return this.words[0]&num},BN.prototype.bincn=function(bit){assert(typeof bit==\"number\");var r=bit%26,s=(bit-r)/26,q=1<>>26,w&=67108863,this.words[i]=w}return carry!==0&&(this.words[i]=carry,this.length++),this},BN.prototype.isZero=function(){return this.length===1&&this.words[0]===0},BN.prototype.cmpn=function(num){var negative=num<0;if(this.negative!==0&&!negative)return-1;if(this.negative===0&&negative)return 1;this.strip();var res;if(this.length>1)res=1;else{negative&&(num=-num),assert(num<=67108863,\"Number is too big\");var w=this.words[0]|0;res=w===num\?0:wnum.length)return 1;if(this.length=0;i--){var a=this.words[i]|0,b=num.words[i]|0;if(a!==b){ab&&(res=1);break}}return res},BN.prototype.gtn=function(num){return this.cmpn(num)===1},BN.prototype.gt=function(num){return this.cmp(num)===1},BN.prototype.gten=function(num){return this.cmpn(num)>=0},BN.prototype.gte=function(num){return this.cmp(num)>=0},BN.prototype.ltn=function(num){return this.cmpn(num)===-1},BN.prototype.lt=function(num){return this.cmp(num)===-1},BN.prototype.lten=function(num){return this.cmpn(num)<=0},BN.prototype.lte=function(num){return this.cmp(num)<=0},BN.prototype.eqn=function(num){return this.cmpn(num)===0},BN.prototype.eq=function(num){return this.cmp(num)===0},BN.red=function(num){return new Red(num)},BN.prototype.toRed=function(ctx){return assert(!this.red,\"Already a number in reduction context\"),assert(this.negative===0,\"red works only with positives\"),ctx.convertTo(this)._forceRed(ctx)},BN.prototype.fromRed=function(){return assert(this.red,\"fromRed works only with numbers in reduction context\"),this.red.convertFrom(this)},BN.prototype._forceRed=function(ctx){return this.red=ctx,this},BN.prototype.forceRed=function(ctx){return assert(!this.red,\"Already a number in reduction context\"),this._forceRed(ctx)},BN.prototype.redAdd=function(num){return assert(this.red,\"redAdd works only with red numbers\"),this.red.add(this,num)},BN.prototype.redIAdd=function(num){return assert(this.red,\"redIAdd works only with red numbers\"),this.red.iadd(this,num)},BN.prototype.redSub=function(num){return assert(this.red,\"redSub works only with red numbers\"),this.red.sub(this,num)},BN.prototype.redISub=function(num){return assert(this.red,\"redISub works only with red numbers\"),this.red.isub(this,num)},BN.prototype.redShl=function(num){return assert(this.red,\"redShl works only with red numbers\"),this.red.shl(this,num)},BN.prototype.redMul=function(num){return assert(this.red,\"redMul works only with red numbers\"),this.red._verify2(this,num),this.red.mul(this,num)},BN.prototype.redIMul=function(num){return assert(this.red,\"redMul works only with red numbers\"),this.red._verify2(this,num),this.red.imul(this,num)},BN.prototype.redSqr=function(){return assert(this.red,\"redSqr works only with red numbers\"),this.red._verify1(this),this.red.sqr(this)},BN.prototype.redISqr=function(){return assert(this.red,\"redISqr works only with red numbers\"),this.red._verify1(this),this.red.isqr(this)},BN.prototype.redSqrt=function(){return assert(this.red,\"redSqrt works only with red numbers\"),this.red._verify1(this),this.red.sqrt(this)},BN.prototype.redInvm=function(){return assert(this.red,\"redInvm works only with red numbers\"),this.red._verify1(this),this.red.invm(this)},BN.prototype.redNeg=function(){return assert(this.red,\"redNeg works only with red numbers\"),this.red._verify1(this),this.red.neg(this)},BN.prototype.redPow=function(num){return assert(this.red&&!num.red,\"redPow(normalNum)\"),this.red._verify1(this),this.red.pow(this,num)};var primes={k256:null,p224:null,p192:null,p25519:null};function MPrime(name,p){this.name=name,this.p=new BN(p,16),this.n=this.p.bitLength(),this.k=new BN(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}MPrime.prototype._tmp=function(){var tmp=new BN(null);return tmp.words=new Array(Math.ceil(this.n/13)),tmp},MPrime.prototype.ireduce=function(num){var r=num,rlen;do this.split(r,this.tmp),r=this.imulK(r),r=r.iadd(this.tmp),rlen=r.bitLength();while(rlen>this.n);var cmp=rlen0\?r.isub(this.p):r.strip!==void 0\?r.strip():r._strip(),r},MPrime.prototype.split=function(input,out){input.iushrn(this.n,0,out)},MPrime.prototype.imulK=function(num){return num.imul(this.k)};function K256(){MPrime.call(this,\"k256\",\"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f\")}inherits(K256,MPrime),K256.prototype.split=function(input,output){for(var mask=4194303,outLen=Math.min(input.length,9),i=0;i>>22,prev=next}prev>>>=22,input.words[i-10]=prev,prev===0&&input.length>10\?input.length-=10:input.length-=9},K256.prototype.imulK=function(num){num.words[num.length]=0,num.words[num.length+1]=0,num.length+=2;for(var lo=0,i=0;i>>=26,num.words[i]=lo,carry=hi}return carry!==0&&(num.words[num.length++]=carry),num},BN._prime=function(name){if(primes[name])return primes[name];var prime2;if(name===\"k256\")prime2=new K256;else if(name===\"p224\")prime2=new P224;else if(name===\"p192\")prime2=new P192;else if(name===\"p25519\")prime2=new P25519;else throw new Error(\"Unknown prime \"+name);return primes[name]=prime2,prime2};function Red(m){if(typeof m==\"string\"){var prime=BN._prime(m);this.m=prime.p,this.prime=prime}else assert(m.gtn(1),\"modulus must be greater than 1\"),this.m=m,this.prime=null}Red.prototype._verify1=function(a){assert(a.negative===0,\"red works only with positives\"),assert(a.red,\"red works only with red numbers\")},Red.prototype._verify2=function(a,b){assert((a.negative|b.negative)===0,\"red works only with positives\"),assert(a.red&&a.red===b.red,\"red works only with red numbers\")},Red.prototype.imod=function(a){return this.prime\?this.prime.ireduce(a)._forceRed(this):a.umod(this.m)._forceRed(this)},Red.prototype.neg=function(a){return a.isZero()\?a.clone():this.m.sub(a)._forceRed(this)},Red.prototype.add=function(a,b){this._verify2(a,b);var res=a.add(b);return res.cmp(this.m)>=0&&res.isub(this.m),res._forceRed(this)},Red.prototype.iadd=function(a,b){this._verify2(a,b);var res=a.iadd(b);return res.cmp(this.m)>=0&&res.isub(this.m),res},Red.prototype.sub=function(a,b){this._verify2(a,b);var res=a.sub(b);return res.cmpn(0)<0&&res.iadd(this.m),res._forceRed(this)},Red.prototype.isub=function(a,b){this._verify2(a,b);var res=a.isub(b);return res.cmpn(0)<0&&res.iadd(this.m),res},Red.prototype.shl=function(a,num){return this._verify1(a),this.imod(a.ushln(num))},Red.prototype.imul=function(a,b){return this._verify2(a,b),this.imod(a.imul(b))},Red.prototype.mul=function(a,b){return this._verify2(a,b),this.imod(a.mul(b))},Red.prototype.isqr=function(a){return this.imul(a,a.clone())},Red.prototype.sqr=function(a){return this.mul(a,a)},Red.prototype.sqrt=function(a){if(a.isZero())return a.clone();var mod3=this.m.andln(3);if(assert(mod3%2===1),mod3===3){var pow=this.m.add(new BN(1)).iushrn(2);return this.pow(a,pow)}for(var q=this.m.subn(1),s=0;!q.isZero()&&q.andln(1)===0;)s++,q.iushrn(1);assert(!q.isZero());var one=new BN(1).toRed(this),nOne=one.redNeg(),lpow=this.m.subn(1).iushrn(1),z=this.m.bitLength();for(z=new BN(2*z*z).toRed(this);this.pow(z,lpow).cmp(nOne)!==0;)z.redIAdd(nOne);for(var c=this.pow(z,q),r=this.pow(a,q.addn(1).iushrn(1)),t=this.pow(a,q),m=s;t.cmp(one)!==0;){for(var tmp=t,i=0;tmp.cmp(one)!==0;i++)tmp=tmp.redSqr();assert(i=0;i--){for(var word=num.words[i],j=start-1;j>=0;j--){var bit=word>>j&1;if(res!==wnd[0]&&(res=this.sqr(res)),bit===0&¤t===0){currentLen=0;continue}current<<=1,current|=bit,currentLen++,!(currentLen!==windowSize&&(i!==0||j!==0))&&(res=this.mul(res,wnd[current]),currentLen=0,current=0)}start=26}return res},Red.prototype.convertTo=function(num){var r=num.umod(this.m);return r===num\?r.clone():r},Red.prototype.convertFrom=function(num){var res=num.clone();return res.red=null,res},BN.mont=function(num){return new Mont(num)};function Mont(m){Red.call(this,m),this.shift=this.m.bitLength(),this.shift%26!==0&&(this.shift+=26-this.shift%26),this.r=new BN(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}inherits(Mont,Red),Mont.prototype.convertTo=function(num){return this.imod(num.ushln(this.shift))},Mont.prototype.convertFrom=function(num){var r=this.imod(num.mul(this.rinv));return r.red=null,r},Mont.prototype.imul=function(a,b){if(a.isZero()||b.isZero())return a.words[0]=0,a.length=1,a;var t=a.imul(b),c=t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),u=t.isub(c).iushrn(this.shift),res=u;return u.cmp(this.m)>=0\?res=u.isub(this.m):u.cmpn(0)<0&&(res=u.iadd(this.m)),res._forceRed(this)},Mont.prototype.mul=function(a,b){if(a.isZero()||b.isZero())return new BN(0)._forceRed(this);var t=a.mul(b),c=t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),u=t.isub(c).iushrn(this.shift),res=u;return u.cmp(this.m)>=0\?res=u.isub(this.m):u.cmpn(0)<0&&(res=u.iadd(this.m)),res._forceRed(this)},Mont.prototype.invm=function(a){var res=this.imod(a._invmp(this.m).mul(this.r2));return res._forceRed(this)}})(typeof module>\"u\"||module,exports)}}),require_crypto_browserify=__commonJS({\"(disabled):node_modules/crypto-browserify/index.js\"(){}}),require_brorand=__commonJS({\"node_modules/brorand/index.js\"(exports,module){var r;module.exports=function(len){return r||(r=new Rand(null)),r.generate(len)};function Rand(rand){this.rand=rand}module.exports.Rand=Rand,Rand.prototype.generate=function(len){return this._rand(len)},Rand.prototype._rand=function(n){var out=new Buffer(n);return crypto.getRandomValues(out),out}}}),require_mr=__commonJS({\"node_modules/miller-rabin/lib/mr.js\"(exports,module){var bn=require_bn2(),brorand=require_brorand();function MillerRabin(rand){this.rand=rand||new brorand.Rand}module.exports=MillerRabin,MillerRabin.create=function(rand){return new MillerRabin(rand)},MillerRabin.prototype._randbelow=function(n){var len=n.bitLength(),min_bytes=Math.ceil(len/8);do var a=new bn(this.rand.generate(min_bytes));while(a.cmp(n)>=0);return a},MillerRabin.prototype._randrange=function(start,stop){var size=stop.sub(start);return start.add(this._randbelow(size))},MillerRabin.prototype.test=function(n,k,cb){var len=n.bitLength(),red=bn.mont(n),rone=new bn(1).toRed(red);k||(k=Math.max(1,len/48|0));for(var n1=n.subn(1),s=0;!n1.testn(s);s++);for(var d=n.shrn(s),rn1=n1.toRed(red),prime=!0;k>0;k--){var a=this._randrange(new bn(2),n1);cb&&cb(a);var x=a.toRed(red).redPow(d);if(!(x.cmp(rone)===0||x.cmp(rn1)===0)){for(var i=1;i0;k--){var a=this._randrange(new bn(2),n1),g=n.gcd(a);if(g.cmpn(1)!==0)return g;var x=a.toRed(red).redPow(d);if(!(x.cmp(rone)===0||x.cmp(rn1)===0)){for(var i=1;ibits;)num.ishrn(1);if(num.isEven()&&num.iadd(ONE),num.testn(1)||num.iadd(TWO),gen.cmp(TWO)){if(!gen.cmp(FIVE))for(;num.mod(TEN).cmp(THREE);)num.iadd(FOUR)}else for(;num.mod(TWENTYFOUR).cmp(ELEVEN);)num.iadd(FOUR);if(n2=num.shrn(1),simpleSieve(n2)&&simpleSieve(num)&&fermatTest(n2)&&fermatTest(num)&&millerRabin.test(n2)&&millerRabin.test(num))return num}}}}),require_primes=__commonJS({\"node_modules/diffie-hellman/lib/primes.json\"(exports,module){module.exports={modp1:{gen:\"02\",prime:\"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a63a3620ffffffffffffffff\"},modp2:{gen:\"02\",prime:\"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece65381ffffffffffffffff\"},modp5:{gen:\"02\",prime:\"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca237327ffffffffffffffff\"},modp14:{gen:\"02\",prime:\"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aacaa68ffffffffffffffff\"},modp15:{gen:\"02\",prime:\"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a93ad2caffffffffffffffff\"},modp16:{gen:\"02\",prime:\"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c934063199ffffffffffffffff\"},modp17:{gen:\"02\",prime:\"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dcc4024ffffffffffffffff\"},modp18:{gen:\"02\",prime:\"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dbe115974a3926f12fee5e438777cb6a932df8cd8bec4d073b931ba3bc832b68d9dd300741fa7bf8afc47ed2576f6936ba424663aab639c5ae4f5683423b4742bf1c978238f16cbe39d652de3fdb8befc848ad922222e04a4037c0713eb57a81a23f0c73473fc646cea306b4bcbc8862f8385ddfa9d4b7fa2c087e879683303ed5bdd3a062b3cf5b3a278a66d2a13f83f44f82ddf310ee074ab6a364597e899a0255dc164f31cc50846851df9ab48195ded7ea1b1d510bd7ee74d73faf36bc31ecfa268359046f4eb879f924009438b481c6cd7889a002ed5ee382bc9190da6fc026e479558e4475677e9aa9e3050e2765694dfc81f56e880b96e7160c980dd98edd3dfffffffffffffffff\"}}}}),require_dh=__commonJS({\"node_modules/diffie-hellman/lib/dh.js\"(exports,module){var BN=require_bn(),MillerRabin=require_mr(),millerRabin=new MillerRabin,TWENTYFOUR=new BN(24),ELEVEN=new BN(11),TEN=new BN(10),THREE=new BN(3),SEVEN=new BN(7),primes=require_generatePrime(),randomBytes=require_browser();module.exports=DH;function setPublicKey(pub,enc){return enc=enc||\"utf8\",Buffer.isBuffer(pub)||(pub=new Buffer(pub,enc)),this._pub=new BN(pub),this}function setPrivateKey(priv,enc){return enc=enc||\"utf8\",Buffer.isBuffer(priv)||(priv=new Buffer(priv,enc)),this._priv=new BN(priv),this}var primeCache={};function checkPrime(prime,generator){var gen=generator.toString(\"hex\"),hex=[gen,prime.toString(16)].join(\"_\");if(hex in primeCache)return primeCache[hex];var error=0;if(prime.isEven()||!primes.simpleSieve||!primes.fermatTest(prime)||!millerRabin.test(prime))return error+=1,gen===\"02\"||gen===\"05\"\?error+=8:error+=4,primeCache[hex]=error,error;millerRabin.test(prime.shrn(1))||(error+=2);var rem;switch(gen){case\"02\":prime.mod(TWENTYFOUR).cmp(ELEVEN)&&(error+=8);break;case\"05\":rem=prime.mod(TEN),rem.cmp(THREE)&&rem.cmp(SEVEN)&&(error+=8);break;default:error+=4}return primeCache[hex]=error,error}function DH(prime,generator,malleable){this.setGenerator(generator),this.__prime=new BN(prime),this._prime=BN.mont(this.__prime),this._primeLen=prime.length,this._pub=void 0,this._priv=void 0,this._primeCode=void 0,malleable\?(this.setPublicKey=setPublicKey,this.setPrivateKey=setPrivateKey):this._primeCode=8}Object.defineProperty(DH.prototype,\"verifyError\",{enumerable:!0,get:function(){return typeof this._primeCode!=\"number\"&&(this._primeCode=checkPrime(this.__prime,this.__gen)),this._primeCode}}),DH.prototype.generateKeys=function(){return this._priv||(this._priv=new BN(randomBytes(this._primeLen))),this._pub=this._gen.toRed(this._prime).redPow(this._priv).fromRed(),this.getPublicKey()},DH.prototype.computeSecret=function(other){other=new BN(other),other=other.toRed(this._prime);var secret=other.redPow(this._priv).fromRed(),out=new Buffer(secret.toArray()),prime=this.getPrime();if(out.length0\?left:right},BN.min=function(left,right){return left.cmp(right)<0\?left:right},BN.prototype._init=function(number,base,endian){if(typeof number==\"number\")return this._initNumber(number,base,endian);if(typeof number==\"object\")return this._initArray(number,base,endian);base===\"hex\"&&(base=16),assert(base===(base|0)&&base>=2&&base<=36),number=number.toString().replace(/\\s+/g,\"\");var start=0;number[0]===\"-\"&&(start++,this.negative=1),start=0;i-=3)w=number[i]|number[i-1]<<8|number[i-2]<<16,this.words[j]|=w<>>26-off&67108863,off+=24,off>=26&&(off-=26,j++);else if(endian===\"le\")for(i=0,j=0;i>>26-off&67108863,off+=24,off>=26&&(off-=26,j++);return this._strip()};function parseHex4Bits(string,index){var c=string.charCodeAt(index);if(c>=48&&c<=57)return c-48;if(c>=65&&c<=70)return c-55;if(c>=97&&c<=102)return c-87;assert(!1,\"Invalid character in \"+string)}function parseHexByte(string,lowerBound,index){var r=parseHex4Bits(string,index);return index-1>=lowerBound&&(r|=parseHex4Bits(string,index-1)<<4),r}BN.prototype._parseHex=function(number,start,endian){this.length=Math.ceil((number.length-start)/6),this.words=new Array(this.length);for(var i=0;i=start;i-=2)w=parseHexByte(number,start,i)<=18\?(off-=18,j+=1,this.words[j]|=w>>>26):off+=8;else{var parseLength=number.length-start;for(i=parseLength%2===0\?start+1:start;i=18\?(off-=18,j+=1,this.words[j]|=w>>>26):off+=8}this._strip()};function parseBase(str,start,end,mul){for(var r=0,b=0,len=Math.min(str.length,end),i=start;i=49\?b=c-49+10:c>=17\?b=c-17+10:b=c,assert(c>=0&&b1&&this.words[this.length-1]===0;)this.length--;return this._normSign()},BN.prototype._normSign=function(){return this.length===1&&this.words[0]===0&&(this.negative=0),this},typeof Symbol<\"u\"&&typeof Symbol.for==\"function\")try{BN.prototype[Symbol.for(\"nodejs.util.inspect.custom\")]=inspect}catch{BN.prototype.inspect=inspect}else BN.prototype.inspect=inspect;function inspect(){return(this.red\?\"\"}var zeros=[\"\",\"0\",\"00\",\"000\",\"0000\",\"00000\",\"000000\",\"0000000\",\"00000000\",\"000000000\",\"0000000000\",\"00000000000\",\"000000000000\",\"0000000000000\",\"00000000000000\",\"000000000000000\",\"0000000000000000\",\"00000000000000000\",\"000000000000000000\",\"0000000000000000000\",\"00000000000000000000\",\"000000000000000000000\",\"0000000000000000000000\",\"00000000000000000000000\",\"000000000000000000000000\",\"0000000000000000000000000\"],groupSizes=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],groupBases=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64000000,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,24300000,28629151,33554432,39135393,45435424,52521875,60466176];BN.prototype.toString=function(base,padding){base=base||10,padding=padding|0||1;var out;if(base===16||base===\"hex\"){out=\"\";for(var off=0,carry=0,i=0;i>>24-off&16777215,off+=2,off>=26&&(off-=26,i--),carry!==0||i!==this.length-1\?out=zeros[6-word.length]+word+out:out=word+out}for(carry!==0&&(out=carry.toString(16)+out);out.length%padding!==0;)out=\"0\"+out;return this.negative!==0&&(out=\"-\"+out),out}if(base===(base|0)&&base>=2&&base<=36){var groupSize=groupSizes[base],groupBase=groupBases[base];out=\"\";var c=this.clone();for(c.negative=0;!c.isZero();){var r=c.modrn(groupBase).toString(base);c=c.idivn(groupBase),c.isZero()\?out=r+out:out=zeros[groupSize-r.length]+r+out}for(this.isZero()&&(out=\"0\"+out);out.length%padding!==0;)out=\"0\"+out;return this.negative!==0&&(out=\"-\"+out),out}assert(!1,\"Base should be between 2 and 36\")},BN.prototype.toNumber=function(){var ret=this.words[0];return this.length===2\?ret+=this.words[1]*67108864:this.length===3&&this.words[2]===1\?ret+=4503599627370496+this.words[1]*67108864:this.length>2&&assert(!1,\"Number can only safely store up to 53 bits\"),this.negative!==0\?-ret:ret},BN.prototype.toJSON=function(){return this.toString(16,2)},Buffer2&&(BN.prototype.toBuffer=function(endian,length){return this.toArrayLike(Buffer2,endian,length)}),BN.prototype.toArray=function(endian,length){return this.toArrayLike(Array,endian,length)};var allocate=function(ArrayType,size){return ArrayType.allocUnsafe\?ArrayType.allocUnsafe(size):new ArrayType(size)};BN.prototype.toArrayLike=function(ArrayType,endian,length){this._strip();var byteLength=this.byteLength(),reqLength=length||Math.max(1,byteLength);assert(byteLength<=reqLength,\"byte array longer than desired length\"),assert(reqLength>0,\"Requested array length <= 0\");var res=allocate(ArrayType,reqLength),postfix=endian===\"le\"\?\"LE\":\"BE\";return this[\"_toArrayLike\"+postfix](res,byteLength),res},BN.prototype._toArrayLikeLE=function(res,byteLength){for(var position=0,carry=0,i=0,shift=0;i>8&255),position>16&255),shift===6\?(position>24&255),carry=0,shift=0):(carry=word>>>24,shift+=2)}if(position=0&&(res[position--]=word>>8&255),position>=0&&(res[position--]=word>>16&255),shift===6\?(position>=0&&(res[position--]=word>>24&255),carry=0,shift=0):(carry=word>>>24,shift+=2)}if(position>=0)for(res[position--]=carry;position>=0;)res[position--]=0},Math.clz32\?BN.prototype._countBits=function(w){return 32-Math.clz32(w)}:BN.prototype._countBits=function(w){var t=w,r=0;return t>=4096&&(r+=13,t>>>=13),t>=64&&(r+=7,t>>>=7),t>=8&&(r+=4,t>>>=4),t>=2&&(r+=2,t>>>=2),r+t},BN.prototype._zeroBits=function(w){if(w===0)return 26;var t=w,r=0;return(t&8191)===0&&(r+=13,t>>>=13),(t&127)===0&&(r+=7,t>>>=7),(t&15)===0&&(r+=4,t>>>=4),(t&3)===0&&(r+=2,t>>>=2),(t&1)===0&&r++,r},BN.prototype.bitLength=function(){var w=this.words[this.length-1],hi=this._countBits(w);return(this.length-1)*26+hi};function toBitArray(num){for(var w=new Array(num.bitLength()),bit=0;bit>>wbit&1}return w}BN.prototype.zeroBits=function(){if(this.isZero())return 0;for(var r=0,i=0;inum.length\?this.clone().ior(num):num.clone().ior(this)},BN.prototype.uor=function(num){return this.length>num.length\?this.clone().iuor(num):num.clone().iuor(this)},BN.prototype.iuand=function(num){var b;this.length>num.length\?b=num:b=this;for(var i=0;inum.length\?this.clone().iand(num):num.clone().iand(this)},BN.prototype.uand=function(num){return this.length>num.length\?this.clone().iuand(num):num.clone().iuand(this)},BN.prototype.iuxor=function(num){var a,b;this.length>num.length\?(a=this,b=num):(a=num,b=this);for(var i=0;inum.length\?this.clone().ixor(num):num.clone().ixor(this)},BN.prototype.uxor=function(num){return this.length>num.length\?this.clone().iuxor(num):num.clone().iuxor(this)},BN.prototype.inotn=function(width){assert(typeof width==\"number\"&&width>=0);var bytesNeeded=Math.ceil(width/26)|0,bitsLeft=width%26;this._expand(bytesNeeded),bitsLeft>0&&bytesNeeded--;for(var i=0;i0&&(this.words[i]=~this.words[i]&67108863>>26-bitsLeft),this._strip()},BN.prototype.notn=function(width){return this.clone().inotn(width)},BN.prototype.setn=function(bit,val){assert(typeof bit==\"number\"&&bit>=0);var off=bit/26|0,wbit=bit%26;return this._expand(off+1),val\?this.words[off]=this.words[off]|1<num.length\?(a=this,b=num):(a=num,b=this);for(var carry=0,i=0;i>>26;for(;carry!==0&&i>>26;if(this.length=a.length,carry!==0)this.words[this.length]=carry,this.length++;else if(a!==this)for(;inum.length\?this.clone().iadd(num):num.clone().iadd(this)},BN.prototype.isub=function(num){if(num.negative!==0){num.negative=0;var r=this.iadd(num);return num.negative=1,r._normSign()}else if(this.negative!==0)return this.negative=0,this.iadd(num),this.negative=1,this._normSign();var cmp=this.cmp(num);if(cmp===0)return this.negative=0,this.length=1,this.words[0]=0,this;var a,b;cmp>0\?(a=this,b=num):(a=num,b=this);for(var carry=0,i=0;i>26,this.words[i]=r&67108863;for(;carry!==0&&i>26,this.words[i]=r&67108863;if(carry===0&&i>>26,rword=carry&67108863,maxJ=Math.min(k,num.length-1),j=Math.max(0,k-self2.length+1);j<=maxJ;j++){var i=k-j|0;a=self2.words[i]|0,b=num.words[j]|0,r=a*b+rword,ncarry+=r/67108864|0,rword=r&67108863}out.words[k]=rword|0,carry=ncarry|0}return carry!==0\?out.words[k]=carry|0:out.length--,out._strip()}var comb10MulTo=function(self2,num,out){var a=self2.words,b=num.words,o=out.words,c=0,lo,mid,hi,a0=a[0]|0,al0=a0&8191,ah0=a0>>>13,a1=a[1]|0,al1=a1&8191,ah1=a1>>>13,a2=a[2]|0,al2=a2&8191,ah2=a2>>>13,a3=a[3]|0,al3=a3&8191,ah3=a3>>>13,a4=a[4]|0,al4=a4&8191,ah4=a4>>>13,a5=a[5]|0,al5=a5&8191,ah5=a5>>>13,a6=a[6]|0,al6=a6&8191,ah6=a6>>>13,a7=a[7]|0,al7=a7&8191,ah7=a7>>>13,a8=a[8]|0,al8=a8&8191,ah8=a8>>>13,a9=a[9]|0,al9=a9&8191,ah9=a9>>>13,b0=b[0]|0,bl0=b0&8191,bh0=b0>>>13,b1=b[1]|0,bl1=b1&8191,bh1=b1>>>13,b2=b[2]|0,bl2=b2&8191,bh2=b2>>>13,b3=b[3]|0,bl3=b3&8191,bh3=b3>>>13,b4=b[4]|0,bl4=b4&8191,bh4=b4>>>13,b5=b[5]|0,bl5=b5&8191,bh5=b5>>>13,b6=b[6]|0,bl6=b6&8191,bh6=b6>>>13,b7=b[7]|0,bl7=b7&8191,bh7=b7>>>13,b8=b[8]|0,bl8=b8&8191,bh8=b8>>>13,b9=b[9]|0,bl9=b9&8191,bh9=b9>>>13;out.negative=self2.negative^num.negative,out.length=19,lo=Math.imul(al0,bl0),mid=Math.imul(al0,bh0),mid=mid+Math.imul(ah0,bl0)|0,hi=Math.imul(ah0,bh0);var w0=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w0>>>26)|0,w0&=67108863,lo=Math.imul(al1,bl0),mid=Math.imul(al1,bh0),mid=mid+Math.imul(ah1,bl0)|0,hi=Math.imul(ah1,bh0),lo=lo+Math.imul(al0,bl1)|0,mid=mid+Math.imul(al0,bh1)|0,mid=mid+Math.imul(ah0,bl1)|0,hi=hi+Math.imul(ah0,bh1)|0;var w1=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w1>>>26)|0,w1&=67108863,lo=Math.imul(al2,bl0),mid=Math.imul(al2,bh0),mid=mid+Math.imul(ah2,bl0)|0,hi=Math.imul(ah2,bh0),lo=lo+Math.imul(al1,bl1)|0,mid=mid+Math.imul(al1,bh1)|0,mid=mid+Math.imul(ah1,bl1)|0,hi=hi+Math.imul(ah1,bh1)|0,lo=lo+Math.imul(al0,bl2)|0,mid=mid+Math.imul(al0,bh2)|0,mid=mid+Math.imul(ah0,bl2)|0,hi=hi+Math.imul(ah0,bh2)|0;var w2=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w2>>>26)|0,w2&=67108863,lo=Math.imul(al3,bl0),mid=Math.imul(al3,bh0),mid=mid+Math.imul(ah3,bl0)|0,hi=Math.imul(ah3,bh0),lo=lo+Math.imul(al2,bl1)|0,mid=mid+Math.imul(al2,bh1)|0,mid=mid+Math.imul(ah2,bl1)|0,hi=hi+Math.imul(ah2,bh1)|0,lo=lo+Math.imul(al1,bl2)|0,mid=mid+Math.imul(al1,bh2)|0,mid=mid+Math.imul(ah1,bl2)|0,hi=hi+Math.imul(ah1,bh2)|0,lo=lo+Math.imul(al0,bl3)|0,mid=mid+Math.imul(al0,bh3)|0,mid=mid+Math.imul(ah0,bl3)|0,hi=hi+Math.imul(ah0,bh3)|0;var w3=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w3>>>26)|0,w3&=67108863,lo=Math.imul(al4,bl0),mid=Math.imul(al4,bh0),mid=mid+Math.imul(ah4,bl0)|0,hi=Math.imul(ah4,bh0),lo=lo+Math.imul(al3,bl1)|0,mid=mid+Math.imul(al3,bh1)|0,mid=mid+Math.imul(ah3,bl1)|0,hi=hi+Math.imul(ah3,bh1)|0,lo=lo+Math.imul(al2,bl2)|0,mid=mid+Math.imul(al2,bh2)|0,mid=mid+Math.imul(ah2,bl2)|0,hi=hi+Math.imul(ah2,bh2)|0,lo=lo+Math.imul(al1,bl3)|0,mid=mid+Math.imul(al1,bh3)|0,mid=mid+Math.imul(ah1,bl3)|0,hi=hi+Math.imul(ah1,bh3)|0,lo=lo+Math.imul(al0,bl4)|0,mid=mid+Math.imul(al0,bh4)|0,mid=mid+Math.imul(ah0,bl4)|0,hi=hi+Math.imul(ah0,bh4)|0;var w4=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w4>>>26)|0,w4&=67108863,lo=Math.imul(al5,bl0),mid=Math.imul(al5,bh0),mid=mid+Math.imul(ah5,bl0)|0,hi=Math.imul(ah5,bh0),lo=lo+Math.imul(al4,bl1)|0,mid=mid+Math.imul(al4,bh1)|0,mid=mid+Math.imul(ah4,bl1)|0,hi=hi+Math.imul(ah4,bh1)|0,lo=lo+Math.imul(al3,bl2)|0,mid=mid+Math.imul(al3,bh2)|0,mid=mid+Math.imul(ah3,bl2)|0,hi=hi+Math.imul(ah3,bh2)|0,lo=lo+Math.imul(al2,bl3)|0,mid=mid+Math.imul(al2,bh3)|0,mid=mid+Math.imul(ah2,bl3)|0,hi=hi+Math.imul(ah2,bh3)|0,lo=lo+Math.imul(al1,bl4)|0,mid=mid+Math.imul(al1,bh4)|0,mid=mid+Math.imul(ah1,bl4)|0,hi=hi+Math.imul(ah1,bh4)|0,lo=lo+Math.imul(al0,bl5)|0,mid=mid+Math.imul(al0,bh5)|0,mid=mid+Math.imul(ah0,bl5)|0,hi=hi+Math.imul(ah0,bh5)|0;var w5=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w5>>>26)|0,w5&=67108863,lo=Math.imul(al6,bl0),mid=Math.imul(al6,bh0),mid=mid+Math.imul(ah6,bl0)|0,hi=Math.imul(ah6,bh0),lo=lo+Math.imul(al5,bl1)|0,mid=mid+Math.imul(al5,bh1)|0,mid=mid+Math.imul(ah5,bl1)|0,hi=hi+Math.imul(ah5,bh1)|0,lo=lo+Math.imul(al4,bl2)|0,mid=mid+Math.imul(al4,bh2)|0,mid=mid+Math.imul(ah4,bl2)|0,hi=hi+Math.imul(ah4,bh2)|0,lo=lo+Math.imul(al3,bl3)|0,mid=mid+Math.imul(al3,bh3)|0,mid=mid+Math.imul(ah3,bl3)|0,hi=hi+Math.imul(ah3,bh3)|0,lo=lo+Math.imul(al2,bl4)|0,mid=mid+Math.imul(al2,bh4)|0,mid=mid+Math.imul(ah2,bl4)|0,hi=hi+Math.imul(ah2,bh4)|0,lo=lo+Math.imul(al1,bl5)|0,mid=mid+Math.imul(al1,bh5)|0,mid=mid+Math.imul(ah1,bl5)|0,hi=hi+Math.imul(ah1,bh5)|0,lo=lo+Math.imul(al0,bl6)|0,mid=mid+Math.imul(al0,bh6)|0,mid=mid+Math.imul(ah0,bl6)|0,hi=hi+Math.imul(ah0,bh6)|0;var w6=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w6>>>26)|0,w6&=67108863,lo=Math.imul(al7,bl0),mid=Math.imul(al7,bh0),mid=mid+Math.imul(ah7,bl0)|0,hi=Math.imul(ah7,bh0),lo=lo+Math.imul(al6,bl1)|0,mid=mid+Math.imul(al6,bh1)|0,mid=mid+Math.imul(ah6,bl1)|0,hi=hi+Math.imul(ah6,bh1)|0,lo=lo+Math.imul(al5,bl2)|0,mid=mid+Math.imul(al5,bh2)|0,mid=mid+Math.imul(ah5,bl2)|0,hi=hi+Math.imul(ah5,bh2)|0,lo=lo+Math.imul(al4,bl3)|0,mid=mid+Math.imul(al4,bh3)|0,mid=mid+Math.imul(ah4,bl3)|0,hi=hi+Math.imul(ah4,bh3)|0,lo=lo+Math.imul(al3,bl4)|0,mid=mid+Math.imul(al3,bh4)|0,mid=mid+Math.imul(ah3,bl4)|0,hi=hi+Math.imul(ah3,bh4)|0,lo=lo+Math.imul(al2,bl5)|0,mid=mid+Math.imul(al2,bh5)|0,mid=mid+Math.imul(ah2,bl5)|0,hi=hi+Math.imul(ah2,bh5)|0,lo=lo+Math.imul(al1,bl6)|0,mid=mid+Math.imul(al1,bh6)|0,mid=mid+Math.imul(ah1,bl6)|0,hi=hi+Math.imul(ah1,bh6)|0,lo=lo+Math.imul(al0,bl7)|0,mid=mid+Math.imul(al0,bh7)|0,mid=mid+Math.imul(ah0,bl7)|0,hi=hi+Math.imul(ah0,bh7)|0;var w7=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w7>>>26)|0,w7&=67108863,lo=Math.imul(al8,bl0),mid=Math.imul(al8,bh0),mid=mid+Math.imul(ah8,bl0)|0,hi=Math.imul(ah8,bh0),lo=lo+Math.imul(al7,bl1)|0,mid=mid+Math.imul(al7,bh1)|0,mid=mid+Math.imul(ah7,bl1)|0,hi=hi+Math.imul(ah7,bh1)|0,lo=lo+Math.imul(al6,bl2)|0,mid=mid+Math.imul(al6,bh2)|0,mid=mid+Math.imul(ah6,bl2)|0,hi=hi+Math.imul(ah6,bh2)|0,lo=lo+Math.imul(al5,bl3)|0,mid=mid+Math.imul(al5,bh3)|0,mid=mid+Math.imul(ah5,bl3)|0,hi=hi+Math.imul(ah5,bh3)|0,lo=lo+Math.imul(al4,bl4)|0,mid=mid+Math.imul(al4,bh4)|0,mid=mid+Math.imul(ah4,bl4)|0,hi=hi+Math.imul(ah4,bh4)|0,lo=lo+Math.imul(al3,bl5)|0,mid=mid+Math.imul(al3,bh5)|0,mid=mid+Math.imul(ah3,bl5)|0,hi=hi+Math.imul(ah3,bh5)|0,lo=lo+Math.imul(al2,bl6)|0,mid=mid+Math.imul(al2,bh6)|0,mid=mid+Math.imul(ah2,bl6)|0,hi=hi+Math.imul(ah2,bh6)|0,lo=lo+Math.imul(al1,bl7)|0,mid=mid+Math.imul(al1,bh7)|0,mid=mid+Math.imul(ah1,bl7)|0,hi=hi+Math.imul(ah1,bh7)|0,lo=lo+Math.imul(al0,bl8)|0,mid=mid+Math.imul(al0,bh8)|0,mid=mid+Math.imul(ah0,bl8)|0,hi=hi+Math.imul(ah0,bh8)|0;var w8=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w8>>>26)|0,w8&=67108863,lo=Math.imul(al9,bl0),mid=Math.imul(al9,bh0),mid=mid+Math.imul(ah9,bl0)|0,hi=Math.imul(ah9,bh0),lo=lo+Math.imul(al8,bl1)|0,mid=mid+Math.imul(al8,bh1)|0,mid=mid+Math.imul(ah8,bl1)|0,hi=hi+Math.imul(ah8,bh1)|0,lo=lo+Math.imul(al7,bl2)|0,mid=mid+Math.imul(al7,bh2)|0,mid=mid+Math.imul(ah7,bl2)|0,hi=hi+Math.imul(ah7,bh2)|0,lo=lo+Math.imul(al6,bl3)|0,mid=mid+Math.imul(al6,bh3)|0,mid=mid+Math.imul(ah6,bl3)|0,hi=hi+Math.imul(ah6,bh3)|0,lo=lo+Math.imul(al5,bl4)|0,mid=mid+Math.imul(al5,bh4)|0,mid=mid+Math.imul(ah5,bl4)|0,hi=hi+Math.imul(ah5,bh4)|0,lo=lo+Math.imul(al4,bl5)|0,mid=mid+Math.imul(al4,bh5)|0,mid=mid+Math.imul(ah4,bl5)|0,hi=hi+Math.imul(ah4,bh5)|0,lo=lo+Math.imul(al3,bl6)|0,mid=mid+Math.imul(al3,bh6)|0,mid=mid+Math.imul(ah3,bl6)|0,hi=hi+Math.imul(ah3,bh6)|0,lo=lo+Math.imul(al2,bl7)|0,mid=mid+Math.imul(al2,bh7)|0,mid=mid+Math.imul(ah2,bl7)|0,hi=hi+Math.imul(ah2,bh7)|0,lo=lo+Math.imul(al1,bl8)|0,mid=mid+Math.imul(al1,bh8)|0,mid=mid+Math.imul(ah1,bl8)|0,hi=hi+Math.imul(ah1,bh8)|0,lo=lo+Math.imul(al0,bl9)|0,mid=mid+Math.imul(al0,bh9)|0,mid=mid+Math.imul(ah0,bl9)|0,hi=hi+Math.imul(ah0,bh9)|0;var w9=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w9>>>26)|0,w9&=67108863,lo=Math.imul(al9,bl1),mid=Math.imul(al9,bh1),mid=mid+Math.imul(ah9,bl1)|0,hi=Math.imul(ah9,bh1),lo=lo+Math.imul(al8,bl2)|0,mid=mid+Math.imul(al8,bh2)|0,mid=mid+Math.imul(ah8,bl2)|0,hi=hi+Math.imul(ah8,bh2)|0,lo=lo+Math.imul(al7,bl3)|0,mid=mid+Math.imul(al7,bh3)|0,mid=mid+Math.imul(ah7,bl3)|0,hi=hi+Math.imul(ah7,bh3)|0,lo=lo+Math.imul(al6,bl4)|0,mid=mid+Math.imul(al6,bh4)|0,mid=mid+Math.imul(ah6,bl4)|0,hi=hi+Math.imul(ah6,bh4)|0,lo=lo+Math.imul(al5,bl5)|0,mid=mid+Math.imul(al5,bh5)|0,mid=mid+Math.imul(ah5,bl5)|0,hi=hi+Math.imul(ah5,bh5)|0,lo=lo+Math.imul(al4,bl6)|0,mid=mid+Math.imul(al4,bh6)|0,mid=mid+Math.imul(ah4,bl6)|0,hi=hi+Math.imul(ah4,bh6)|0,lo=lo+Math.imul(al3,bl7)|0,mid=mid+Math.imul(al3,bh7)|0,mid=mid+Math.imul(ah3,bl7)|0,hi=hi+Math.imul(ah3,bh7)|0,lo=lo+Math.imul(al2,bl8)|0,mid=mid+Math.imul(al2,bh8)|0,mid=mid+Math.imul(ah2,bl8)|0,hi=hi+Math.imul(ah2,bh8)|0,lo=lo+Math.imul(al1,bl9)|0,mid=mid+Math.imul(al1,bh9)|0,mid=mid+Math.imul(ah1,bl9)|0,hi=hi+Math.imul(ah1,bh9)|0;var w10=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w10>>>26)|0,w10&=67108863,lo=Math.imul(al9,bl2),mid=Math.imul(al9,bh2),mid=mid+Math.imul(ah9,bl2)|0,hi=Math.imul(ah9,bh2),lo=lo+Math.imul(al8,bl3)|0,mid=mid+Math.imul(al8,bh3)|0,mid=mid+Math.imul(ah8,bl3)|0,hi=hi+Math.imul(ah8,bh3)|0,lo=lo+Math.imul(al7,bl4)|0,mid=mid+Math.imul(al7,bh4)|0,mid=mid+Math.imul(ah7,bl4)|0,hi=hi+Math.imul(ah7,bh4)|0,lo=lo+Math.imul(al6,bl5)|0,mid=mid+Math.imul(al6,bh5)|0,mid=mid+Math.imul(ah6,bl5)|0,hi=hi+Math.imul(ah6,bh5)|0,lo=lo+Math.imul(al5,bl6)|0,mid=mid+Math.imul(al5,bh6)|0,mid=mid+Math.imul(ah5,bl6)|0,hi=hi+Math.imul(ah5,bh6)|0,lo=lo+Math.imul(al4,bl7)|0,mid=mid+Math.imul(al4,bh7)|0,mid=mid+Math.imul(ah4,bl7)|0,hi=hi+Math.imul(ah4,bh7)|0,lo=lo+Math.imul(al3,bl8)|0,mid=mid+Math.imul(al3,bh8)|0,mid=mid+Math.imul(ah3,bl8)|0,hi=hi+Math.imul(ah3,bh8)|0,lo=lo+Math.imul(al2,bl9)|0,mid=mid+Math.imul(al2,bh9)|0,mid=mid+Math.imul(ah2,bl9)|0,hi=hi+Math.imul(ah2,bh9)|0;var w11=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w11>>>26)|0,w11&=67108863,lo=Math.imul(al9,bl3),mid=Math.imul(al9,bh3),mid=mid+Math.imul(ah9,bl3)|0,hi=Math.imul(ah9,bh3),lo=lo+Math.imul(al8,bl4)|0,mid=mid+Math.imul(al8,bh4)|0,mid=mid+Math.imul(ah8,bl4)|0,hi=hi+Math.imul(ah8,bh4)|0,lo=lo+Math.imul(al7,bl5)|0,mid=mid+Math.imul(al7,bh5)|0,mid=mid+Math.imul(ah7,bl5)|0,hi=hi+Math.imul(ah7,bh5)|0,lo=lo+Math.imul(al6,bl6)|0,mid=mid+Math.imul(al6,bh6)|0,mid=mid+Math.imul(ah6,bl6)|0,hi=hi+Math.imul(ah6,bh6)|0,lo=lo+Math.imul(al5,bl7)|0,mid=mid+Math.imul(al5,bh7)|0,mid=mid+Math.imul(ah5,bl7)|0,hi=hi+Math.imul(ah5,bh7)|0,lo=lo+Math.imul(al4,bl8)|0,mid=mid+Math.imul(al4,bh8)|0,mid=mid+Math.imul(ah4,bl8)|0,hi=hi+Math.imul(ah4,bh8)|0,lo=lo+Math.imul(al3,bl9)|0,mid=mid+Math.imul(al3,bh9)|0,mid=mid+Math.imul(ah3,bl9)|0,hi=hi+Math.imul(ah3,bh9)|0;var w12=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w12>>>26)|0,w12&=67108863,lo=Math.imul(al9,bl4),mid=Math.imul(al9,bh4),mid=mid+Math.imul(ah9,bl4)|0,hi=Math.imul(ah9,bh4),lo=lo+Math.imul(al8,bl5)|0,mid=mid+Math.imul(al8,bh5)|0,mid=mid+Math.imul(ah8,bl5)|0,hi=hi+Math.imul(ah8,bh5)|0,lo=lo+Math.imul(al7,bl6)|0,mid=mid+Math.imul(al7,bh6)|0,mid=mid+Math.imul(ah7,bl6)|0,hi=hi+Math.imul(ah7,bh6)|0,lo=lo+Math.imul(al6,bl7)|0,mid=mid+Math.imul(al6,bh7)|0,mid=mid+Math.imul(ah6,bl7)|0,hi=hi+Math.imul(ah6,bh7)|0,lo=lo+Math.imul(al5,bl8)|0,mid=mid+Math.imul(al5,bh8)|0,mid=mid+Math.imul(ah5,bl8)|0,hi=hi+Math.imul(ah5,bh8)|0,lo=lo+Math.imul(al4,bl9)|0,mid=mid+Math.imul(al4,bh9)|0,mid=mid+Math.imul(ah4,bl9)|0,hi=hi+Math.imul(ah4,bh9)|0;var w13=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w13>>>26)|0,w13&=67108863,lo=Math.imul(al9,bl5),mid=Math.imul(al9,bh5),mid=mid+Math.imul(ah9,bl5)|0,hi=Math.imul(ah9,bh5),lo=lo+Math.imul(al8,bl6)|0,mid=mid+Math.imul(al8,bh6)|0,mid=mid+Math.imul(ah8,bl6)|0,hi=hi+Math.imul(ah8,bh6)|0,lo=lo+Math.imul(al7,bl7)|0,mid=mid+Math.imul(al7,bh7)|0,mid=mid+Math.imul(ah7,bl7)|0,hi=hi+Math.imul(ah7,bh7)|0,lo=lo+Math.imul(al6,bl8)|0,mid=mid+Math.imul(al6,bh8)|0,mid=mid+Math.imul(ah6,bl8)|0,hi=hi+Math.imul(ah6,bh8)|0,lo=lo+Math.imul(al5,bl9)|0,mid=mid+Math.imul(al5,bh9)|0,mid=mid+Math.imul(ah5,bl9)|0,hi=hi+Math.imul(ah5,bh9)|0;var w14=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w14>>>26)|0,w14&=67108863,lo=Math.imul(al9,bl6),mid=Math.imul(al9,bh6),mid=mid+Math.imul(ah9,bl6)|0,hi=Math.imul(ah9,bh6),lo=lo+Math.imul(al8,bl7)|0,mid=mid+Math.imul(al8,bh7)|0,mid=mid+Math.imul(ah8,bl7)|0,hi=hi+Math.imul(ah8,bh7)|0,lo=lo+Math.imul(al7,bl8)|0,mid=mid+Math.imul(al7,bh8)|0,mid=mid+Math.imul(ah7,bl8)|0,hi=hi+Math.imul(ah7,bh8)|0,lo=lo+Math.imul(al6,bl9)|0,mid=mid+Math.imul(al6,bh9)|0,mid=mid+Math.imul(ah6,bl9)|0,hi=hi+Math.imul(ah6,bh9)|0;var w15=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w15>>>26)|0,w15&=67108863,lo=Math.imul(al9,bl7),mid=Math.imul(al9,bh7),mid=mid+Math.imul(ah9,bl7)|0,hi=Math.imul(ah9,bh7),lo=lo+Math.imul(al8,bl8)|0,mid=mid+Math.imul(al8,bh8)|0,mid=mid+Math.imul(ah8,bl8)|0,hi=hi+Math.imul(ah8,bh8)|0,lo=lo+Math.imul(al7,bl9)|0,mid=mid+Math.imul(al7,bh9)|0,mid=mid+Math.imul(ah7,bl9)|0,hi=hi+Math.imul(ah7,bh9)|0;var w16=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w16>>>26)|0,w16&=67108863,lo=Math.imul(al9,bl8),mid=Math.imul(al9,bh8),mid=mid+Math.imul(ah9,bl8)|0,hi=Math.imul(ah9,bh8),lo=lo+Math.imul(al8,bl9)|0,mid=mid+Math.imul(al8,bh9)|0,mid=mid+Math.imul(ah8,bl9)|0,hi=hi+Math.imul(ah8,bh9)|0;var w17=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w17>>>26)|0,w17&=67108863,lo=Math.imul(al9,bl9),mid=Math.imul(al9,bh9),mid=mid+Math.imul(ah9,bl9)|0,hi=Math.imul(ah9,bh9);var w18=(c+lo|0)+((mid&8191)<<13)|0;return c=(hi+(mid>>>13)|0)+(w18>>>26)|0,w18&=67108863,o[0]=w0,o[1]=w1,o[2]=w2,o[3]=w3,o[4]=w4,o[5]=w5,o[6]=w6,o[7]=w7,o[8]=w8,o[9]=w9,o[10]=w10,o[11]=w11,o[12]=w12,o[13]=w13,o[14]=w14,o[15]=w15,o[16]=w16,o[17]=w17,o[18]=w18,c!==0&&(o[19]=c,out.length++),out};Math.imul||(comb10MulTo=smallMulTo);function bigMulTo(self2,num,out){out.negative=num.negative^self2.negative,out.length=self2.length+num.length;for(var carry=0,hncarry=0,k=0;k>>26)|0,hncarry+=ncarry>>>26,ncarry&=67108863}out.words[k]=rword,carry=ncarry,ncarry=hncarry}return carry!==0\?out.words[k]=carry:out.length--,out._strip()}function jumboMulTo(self2,num,out){return bigMulTo(self2,num,out)}BN.prototype.mulTo=function(num,out){var res,len=this.length+num.length;return this.length===10&&num.length===10\?res=comb10MulTo(this,num,out):len<63\?res=smallMulTo(this,num,out):len<1024\?res=bigMulTo(this,num,out):res=jumboMulTo(this,num,out),res};function FFTM(x,y){this.x=x,this.y=y}FFTM.prototype.makeRBT=function(N){for(var t=new Array(N),l=BN.prototype._countBits(N)-1,i=0;i>=1;return rb},FFTM.prototype.permute=function(rbt,rws,iws,rtws,itws,N){for(var i=0;i>>1)i++;return 1<>>13,rws[2*i+1]=carry&8191,carry=carry>>>13;for(i=2*len;i>=26,carry+=w/67108864|0,carry+=lo>>>26,this.words[i]=lo&67108863}return carry!==0&&(this.words[i]=carry,this.length++),isNegNum\?this.ineg():this},BN.prototype.muln=function(num){return this.clone().imuln(num)},BN.prototype.sqr=function(){return this.mul(this)},BN.prototype.isqr=function(){return this.imul(this.clone())},BN.prototype.pow=function(num){var w=toBitArray(num);if(w.length===0)return new BN(1);for(var res=this,i=0;i=0);var r=bits%26,s=(bits-r)/26,carryMask=67108863>>>26-r<<26-r,i;if(r!==0){var carry=0;for(i=0;i>>26-r}carry&&(this.words[i]=carry,this.length++)}if(s!==0){for(i=this.length-1;i>=0;i--)this.words[i+s]=this.words[i];for(i=0;i=0);var h;hint\?h=(hint-hint%26)/26:h=0;var r=bits%26,s=Math.min((bits-r)/26,this.length),mask=67108863^67108863>>>r<s)for(this.length-=s,i=0;i=0&&(carry!==0||i>=h);i--){var word=this.words[i]|0;this.words[i]=carry<<26-r|word>>>r,carry=word&mask}return maskedWords&&carry!==0&&(maskedWords.words[maskedWords.length++]=carry),this.length===0&&(this.words[0]=0,this.length=1),this._strip()},BN.prototype.ishrn=function(bits,hint,extended){return assert(this.negative===0),this.iushrn(bits,hint,extended)},BN.prototype.shln=function(bits){return this.clone().ishln(bits)},BN.prototype.ushln=function(bits){return this.clone().iushln(bits)},BN.prototype.shrn=function(bits){return this.clone().ishrn(bits)},BN.prototype.ushrn=function(bits){return this.clone().iushrn(bits)},BN.prototype.testn=function(bit){assert(typeof bit==\"number\"&&bit>=0);var r=bit%26,s=(bit-r)/26,q=1<=0);var r=bits%26,s=(bits-r)/26;if(assert(this.negative===0,\"imaskn works only with positive numbers\"),this.length<=s)return this;if(r!==0&&s++,this.length=Math.min(s,this.length),r!==0){var mask=67108863^67108863>>>r<=67108864;i++)this.words[i]-=67108864,i===this.length-1\?this.words[i+1]=1:this.words[i+1]++;return this.length=Math.max(this.length,i+1),this},BN.prototype.isubn=function(num){if(assert(typeof num==\"number\"),assert(num<67108864),num<0)return this.iaddn(-num);if(this.negative!==0)return this.negative=0,this.iaddn(num),this.negative=1,this;if(this.words[0]-=num,this.length===1&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var i=0;i>26)-(right/67108864|0),this.words[i+shift]=w&67108863}for(;i>26,this.words[i+shift]=w&67108863;if(carry===0)return this._strip();for(assert(carry===-1),carry=0,i=0;i>26,this.words[i]=w&67108863;return this.negative=1,this._strip()},BN.prototype._wordDiv=function(num,mode){var shift=this.length-num.length,a=this.clone(),b=num,bhi=b.words[b.length-1]|0,bhiBits=this._countBits(bhi);shift=26-bhiBits,shift!==0&&(b=b.ushln(shift),a.iushln(shift),bhi=b.words[b.length-1]|0);var m=a.length-b.length,q;if(mode!==\"mod\"){q=new BN(null),q.length=m+1,q.words=new Array(q.length);for(var i=0;i=0;j--){var qj=(a.words[b.length+j]|0)*67108864+(a.words[b.length+j-1]|0);for(qj=Math.min(qj/bhi|0,67108863),a._ishlnsubmul(b,qj,j);a.negative!==0;)qj--,a.negative=0,a._ishlnsubmul(b,1,j),a.isZero()||(a.negative^=1);q&&(q.words[j]=qj)}return q&&q._strip(),a._strip(),mode!==\"div\"&&shift!==0&&a.iushrn(shift),{div:q||null,mod:a}},BN.prototype.divmod=function(num,mode,positive){if(assert(!num.isZero()),this.isZero())return{div:new BN(0),mod:new BN(0)};var div,mod,res;return this.negative!==0&&num.negative===0\?(res=this.neg().divmod(num,mode),mode!==\"mod\"&&(div=res.div.neg()),mode!==\"div\"&&(mod=res.mod.neg(),positive&&mod.negative!==0&&mod.iadd(num)),{div,mod}):this.negative===0&&num.negative!==0\?(res=this.divmod(num.neg(),mode),mode!==\"mod\"&&(div=res.div.neg()),{div,mod:res.mod}):(this.negative&num.negative)!==0\?(res=this.neg().divmod(num.neg(),mode),mode!==\"div\"&&(mod=res.mod.neg(),positive&&mod.negative!==0&&mod.isub(num)),{div:res.div,mod}):num.length>this.length||this.cmp(num)<0\?{div:new BN(0),mod:this}:num.length===1\?mode===\"div\"\?{div:this.divn(num.words[0]),mod:null}:mode===\"mod\"\?{div:null,mod:new BN(this.modrn(num.words[0]))}:{div:this.divn(num.words[0]),mod:new BN(this.modrn(num.words[0]))}:this._wordDiv(num,mode)},BN.prototype.div=function(num){return this.divmod(num,\"div\",!1).div},BN.prototype.mod=function(num){return this.divmod(num,\"mod\",!1).mod},BN.prototype.umod=function(num){return this.divmod(num,\"mod\",!0).mod},BN.prototype.divRound=function(num){var dm=this.divmod(num);if(dm.mod.isZero())return dm.div;var mod=dm.div.negative!==0\?dm.mod.isub(num):dm.mod,half=num.ushrn(1),r2=num.andln(1),cmp=mod.cmp(half);return cmp<0||r2===1&&cmp===0\?dm.div:dm.div.negative!==0\?dm.div.isubn(1):dm.div.iaddn(1)},BN.prototype.modrn=function(num){var isNegNum=num<0;isNegNum&&(num=-num),assert(num<=67108863);for(var p=(1<<26)%num,acc=0,i=this.length-1;i>=0;i--)acc=(p*acc+(this.words[i]|0))%num;return isNegNum\?-acc:acc},BN.prototype.modn=function(num){return this.modrn(num)},BN.prototype.idivn=function(num){var isNegNum=num<0;isNegNum&&(num=-num),assert(num<=67108863);for(var carry=0,i=this.length-1;i>=0;i--){var w=(this.words[i]|0)+carry*67108864;this.words[i]=w/num|0,carry=w%num}return this._strip(),isNegNum\?this.ineg():this},BN.prototype.divn=function(num){return this.clone().idivn(num)},BN.prototype.egcd=function(p){assert(p.negative===0),assert(!p.isZero());var x=this,y=p.clone();x.negative!==0\?x=x.umod(p):x=x.clone();for(var A=new BN(1),B=new BN(0),C=new BN(0),D=new BN(1),g=0;x.isEven()&&y.isEven();)x.iushrn(1),y.iushrn(1),++g;for(var yp=y.clone(),xp=x.clone();!x.isZero();){for(var i=0,im=1;(x.words[0]&im)===0&&i<26;++i,im<<=1);if(i>0)for(x.iushrn(i);i-- >0;)(A.isOdd()||B.isOdd())&&(A.iadd(yp),B.isub(xp)),A.iushrn(1),B.iushrn(1);for(var j=0,jm=1;(y.words[0]&jm)===0&&j<26;++j,jm<<=1);if(j>0)for(y.iushrn(j);j-- >0;)(C.isOdd()||D.isOdd())&&(C.iadd(yp),D.isub(xp)),C.iushrn(1),D.iushrn(1);x.cmp(y)>=0\?(x.isub(y),A.isub(C),B.isub(D)):(y.isub(x),C.isub(A),D.isub(B))}return{a:C,b:D,gcd:y.iushln(g)}},BN.prototype._invmp=function(p){assert(p.negative===0),assert(!p.isZero());var a=this,b=p.clone();a.negative!==0\?a=a.umod(p):a=a.clone();for(var x1=new BN(1),x2=new BN(0),delta=b.clone();a.cmpn(1)>0&&b.cmpn(1)>0;){for(var i=0,im=1;(a.words[0]&im)===0&&i<26;++i,im<<=1);if(i>0)for(a.iushrn(i);i-- >0;)x1.isOdd()&&x1.iadd(delta),x1.iushrn(1);for(var j=0,jm=1;(b.words[0]&jm)===0&&j<26;++j,jm<<=1);if(j>0)for(b.iushrn(j);j-- >0;)x2.isOdd()&&x2.iadd(delta),x2.iushrn(1);a.cmp(b)>=0\?(a.isub(b),x1.isub(x2)):(b.isub(a),x2.isub(x1))}var res;return a.cmpn(1)===0\?res=x1:res=x2,res.cmpn(0)<0&&res.iadd(p),res},BN.prototype.gcd=function(num){if(this.isZero())return num.abs();if(num.isZero())return this.abs();var a=this.clone(),b=num.clone();a.negative=0,b.negative=0;for(var shift=0;a.isEven()&&b.isEven();shift++)a.iushrn(1),b.iushrn(1);do{for(;a.isEven();)a.iushrn(1);for(;b.isEven();)b.iushrn(1);var r=a.cmp(b);if(r<0){var t=a;a=b,b=t}else if(r===0||b.cmpn(1)===0)break;a.isub(b)}while(!0);return b.iushln(shift)},BN.prototype.invm=function(num){return this.egcd(num).a.umod(num)},BN.prototype.isEven=function(){return(this.words[0]&1)===0},BN.prototype.isOdd=function(){return(this.words[0]&1)===1},BN.prototype.andln=function(num){return this.words[0]&num},BN.prototype.bincn=function(bit){assert(typeof bit==\"number\");var r=bit%26,s=(bit-r)/26,q=1<>>26,w&=67108863,this.words[i]=w}return carry!==0&&(this.words[i]=carry,this.length++),this},BN.prototype.isZero=function(){return this.length===1&&this.words[0]===0},BN.prototype.cmpn=function(num){var negative=num<0;if(this.negative!==0&&!negative)return-1;if(this.negative===0&&negative)return 1;this._strip();var res;if(this.length>1)res=1;else{negative&&(num=-num),assert(num<=67108863,\"Number is too big\");var w=this.words[0]|0;res=w===num\?0:wnum.length)return 1;if(this.length=0;i--){var a=this.words[i]|0,b=num.words[i]|0;if(a!==b){ab&&(res=1);break}}return res},BN.prototype.gtn=function(num){return this.cmpn(num)===1},BN.prototype.gt=function(num){return this.cmp(num)===1},BN.prototype.gten=function(num){return this.cmpn(num)>=0},BN.prototype.gte=function(num){return this.cmp(num)>=0},BN.prototype.ltn=function(num){return this.cmpn(num)===-1},BN.prototype.lt=function(num){return this.cmp(num)===-1},BN.prototype.lten=function(num){return this.cmpn(num)<=0},BN.prototype.lte=function(num){return this.cmp(num)<=0},BN.prototype.eqn=function(num){return this.cmpn(num)===0},BN.prototype.eq=function(num){return this.cmp(num)===0},BN.red=function(num){return new Red(num)},BN.prototype.toRed=function(ctx){return assert(!this.red,\"Already a number in reduction context\"),assert(this.negative===0,\"red works only with positives\"),ctx.convertTo(this)._forceRed(ctx)},BN.prototype.fromRed=function(){return assert(this.red,\"fromRed works only with numbers in reduction context\"),this.red.convertFrom(this)},BN.prototype._forceRed=function(ctx){return this.red=ctx,this},BN.prototype.forceRed=function(ctx){return assert(!this.red,\"Already a number in reduction context\"),this._forceRed(ctx)},BN.prototype.redAdd=function(num){return assert(this.red,\"redAdd works only with red numbers\"),this.red.add(this,num)},BN.prototype.redIAdd=function(num){return assert(this.red,\"redIAdd works only with red numbers\"),this.red.iadd(this,num)},BN.prototype.redSub=function(num){return assert(this.red,\"redSub works only with red numbers\"),this.red.sub(this,num)},BN.prototype.redISub=function(num){return assert(this.red,\"redISub works only with red numbers\"),this.red.isub(this,num)},BN.prototype.redShl=function(num){return assert(this.red,\"redShl works only with red numbers\"),this.red.shl(this,num)},BN.prototype.redMul=function(num){return assert(this.red,\"redMul works only with red numbers\"),this.red._verify2(this,num),this.red.mul(this,num)},BN.prototype.redIMul=function(num){return assert(this.red,\"redMul works only with red numbers\"),this.red._verify2(this,num),this.red.imul(this,num)},BN.prototype.redSqr=function(){return assert(this.red,\"redSqr works only with red numbers\"),this.red._verify1(this),this.red.sqr(this)},BN.prototype.redISqr=function(){return assert(this.red,\"redISqr works only with red numbers\"),this.red._verify1(this),this.red.isqr(this)},BN.prototype.redSqrt=function(){return assert(this.red,\"redSqrt works only with red numbers\"),this.red._verify1(this),this.red.sqrt(this)},BN.prototype.redInvm=function(){return assert(this.red,\"redInvm works only with red numbers\"),this.red._verify1(this),this.red.invm(this)},BN.prototype.redNeg=function(){return assert(this.red,\"redNeg works only with red numbers\"),this.red._verify1(this),this.red.neg(this)},BN.prototype.redPow=function(num){return assert(this.red&&!num.red,\"redPow(normalNum)\"),this.red._verify1(this),this.red.pow(this,num)};var primes={k256:null,p224:null,p192:null,p25519:null};function MPrime(name,p){this.name=name,this.p=new BN(p,16),this.n=this.p.bitLength(),this.k=new BN(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}MPrime.prototype._tmp=function(){var tmp=new BN(null);return tmp.words=new Array(Math.ceil(this.n/13)),tmp},MPrime.prototype.ireduce=function(num){var r=num,rlen;do this.split(r,this.tmp),r=this.imulK(r),r=r.iadd(this.tmp),rlen=r.bitLength();while(rlen>this.n);var cmp=rlen0\?r.isub(this.p):r.strip!==void 0\?r.strip():r._strip(),r},MPrime.prototype.split=function(input,out){input.iushrn(this.n,0,out)},MPrime.prototype.imulK=function(num){return num.imul(this.k)};function K256(){MPrime.call(this,\"k256\",\"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f\")}inherits(K256,MPrime),K256.prototype.split=function(input,output){for(var mask=4194303,outLen=Math.min(input.length,9),i=0;i>>22,prev=next}prev>>>=22,input.words[i-10]=prev,prev===0&&input.length>10\?input.length-=10:input.length-=9},K256.prototype.imulK=function(num){num.words[num.length]=0,num.words[num.length+1]=0,num.length+=2;for(var lo=0,i=0;i>>=26,num.words[i]=lo,carry=hi}return carry!==0&&(num.words[num.length++]=carry),num},BN._prime=function(name){if(primes[name])return primes[name];var prime2;if(name===\"k256\")prime2=new K256;else if(name===\"p224\")prime2=new P224;else if(name===\"p192\")prime2=new P192;else if(name===\"p25519\")prime2=new P25519;else throw new Error(\"Unknown prime \"+name);return primes[name]=prime2,prime2};function Red(m){if(typeof m==\"string\"){var prime=BN._prime(m);this.m=prime.p,this.prime=prime}else assert(m.gtn(1),\"modulus must be greater than 1\"),this.m=m,this.prime=null}Red.prototype._verify1=function(a){assert(a.negative===0,\"red works only with positives\"),assert(a.red,\"red works only with red numbers\")},Red.prototype._verify2=function(a,b){assert((a.negative|b.negative)===0,\"red works only with positives\"),assert(a.red&&a.red===b.red,\"red works only with red numbers\")},Red.prototype.imod=function(a){return this.prime\?this.prime.ireduce(a)._forceRed(this):(move(a,a.umod(this.m)._forceRed(this)),a)},Red.prototype.neg=function(a){return a.isZero()\?a.clone():this.m.sub(a)._forceRed(this)},Red.prototype.add=function(a,b){this._verify2(a,b);var res=a.add(b);return res.cmp(this.m)>=0&&res.isub(this.m),res._forceRed(this)},Red.prototype.iadd=function(a,b){this._verify2(a,b);var res=a.iadd(b);return res.cmp(this.m)>=0&&res.isub(this.m),res},Red.prototype.sub=function(a,b){this._verify2(a,b);var res=a.sub(b);return res.cmpn(0)<0&&res.iadd(this.m),res._forceRed(this)},Red.prototype.isub=function(a,b){this._verify2(a,b);var res=a.isub(b);return res.cmpn(0)<0&&res.iadd(this.m),res},Red.prototype.shl=function(a,num){return this._verify1(a),this.imod(a.ushln(num))},Red.prototype.imul=function(a,b){return this._verify2(a,b),this.imod(a.imul(b))},Red.prototype.mul=function(a,b){return this._verify2(a,b),this.imod(a.mul(b))},Red.prototype.isqr=function(a){return this.imul(a,a.clone())},Red.prototype.sqr=function(a){return this.mul(a,a)},Red.prototype.sqrt=function(a){if(a.isZero())return a.clone();var mod3=this.m.andln(3);if(assert(mod3%2===1),mod3===3){var pow=this.m.add(new BN(1)).iushrn(2);return this.pow(a,pow)}for(var q=this.m.subn(1),s=0;!q.isZero()&&q.andln(1)===0;)s++,q.iushrn(1);assert(!q.isZero());var one=new BN(1).toRed(this),nOne=one.redNeg(),lpow=this.m.subn(1).iushrn(1),z=this.m.bitLength();for(z=new BN(2*z*z).toRed(this);this.pow(z,lpow).cmp(nOne)!==0;)z.redIAdd(nOne);for(var c=this.pow(z,q),r=this.pow(a,q.addn(1).iushrn(1)),t=this.pow(a,q),m=s;t.cmp(one)!==0;){for(var tmp=t,i=0;tmp.cmp(one)!==0;i++)tmp=tmp.redSqr();assert(i=0;i--){for(var word=num.words[i],j=start-1;j>=0;j--){var bit=word>>j&1;if(res!==wnd[0]&&(res=this.sqr(res)),bit===0&¤t===0){currentLen=0;continue}current<<=1,current|=bit,currentLen++,!(currentLen!==windowSize&&(i!==0||j!==0))&&(res=this.mul(res,wnd[current]),currentLen=0,current=0)}start=26}return res},Red.prototype.convertTo=function(num){var r=num.umod(this.m);return r===num\?r.clone():r},Red.prototype.convertFrom=function(num){var res=num.clone();return res.red=null,res},BN.mont=function(num){return new Mont(num)};function Mont(m){Red.call(this,m),this.shift=this.m.bitLength(),this.shift%26!==0&&(this.shift+=26-this.shift%26),this.r=new BN(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}inherits(Mont,Red),Mont.prototype.convertTo=function(num){return this.imod(num.ushln(this.shift))},Mont.prototype.convertFrom=function(num){var r=this.imod(num.mul(this.rinv));return r.red=null,r},Mont.prototype.imul=function(a,b){if(a.isZero()||b.isZero())return a.words[0]=0,a.length=1,a;var t=a.imul(b),c=t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),u=t.isub(c).iushrn(this.shift),res=u;return u.cmp(this.m)>=0\?res=u.isub(this.m):u.cmpn(0)<0&&(res=u.iadd(this.m)),res._forceRed(this)},Mont.prototype.mul=function(a,b){if(a.isZero()||b.isZero())return new BN(0)._forceRed(this);var t=a.mul(b),c=t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),u=t.isub(c).iushrn(this.shift),res=u;return u.cmp(this.m)>=0\?res=u.isub(this.m):u.cmpn(0)<0&&(res=u.iadd(this.m)),res._forceRed(this)},Mont.prototype.invm=function(a){var res=this.imod(a._invmp(this.m).mul(this.r2));return res._forceRed(this)}})(typeof module>\"u\"||module,exports)}}),require_browserify_rsa=__commonJS({\"node_modules/browserify-rsa/index.js\"(exports,module){var BN=require_bn3(),randomBytes=require_browser();function blind(priv){var r=getr(priv),blinder=r.toRed(BN.mont(priv.modulus)).redPow(new BN(priv.publicExponent)).fromRed();return{blinder,unblinder:r.invm(priv.modulus)}}function getr(priv){var len=priv.modulus.byteLength(),r;do r=new BN(randomBytes(len));while(r.cmp(priv.modulus)>=0||!r.umod(priv.prime1)||!r.umod(priv.prime2));return r}function crt(msg,priv){var blinds=blind(priv),len=priv.modulus.byteLength(),blinded=new BN(msg).mul(blinds.blinder).umod(priv.modulus),c1=blinded.toRed(BN.mont(priv.prime1)),c2=blinded.toRed(BN.mont(priv.prime2)),qinv=priv.coefficient,p=priv.prime1,q=priv.prime2,m1=c1.redPow(priv.exponent1).fromRed(),m2=c2.redPow(priv.exponent2).fromRed(),h=m1.isub(m2).imul(qinv).umod(p).imul(q);return m2.iadd(h).imul(blinds.unblinder).umod(priv.modulus).toArrayLike(Buffer,\"be\",len)}crt.getr=getr,module.exports=crt}}),require_package=__commonJS({\"node_modules/elliptic/package.json\"(exports,module){module.exports={name:\"elliptic\",version:\"6.5.4\",description:\"EC cryptography\",main:\"lib/elliptic.js\",files:[\"lib\"],scripts:{lint:\"eslint lib test\",\"lint:fix\":\"npm run lint -- --fix\",unit:\"istanbul test _mocha --reporter=spec test/index.js\",test:\"npm run lint && npm run unit\",version:\"grunt dist && git add dist/\"},repository:{type:\"git\",url:\"git@github.com:indutny/elliptic\"},keywords:[\"EC\",\"Elliptic\",\"curve\",\"Cryptography\"],author:\"Fedor Indutny \",license:\"MIT\",bugs:{url:\"https://github.com/indutny/elliptic/issues\"},homepage:\"https://github.com/indutny/elliptic\",devDependencies:{brfs:\"^2.0.2\",coveralls:\"^3.1.0\",eslint:\"^7.6.0\",grunt:\"^1.2.1\",\"grunt-browserify\":\"^5.3.0\",\"grunt-cli\":\"^1.3.2\",\"grunt-contrib-connect\":\"^3.0.0\",\"grunt-contrib-copy\":\"^1.0.0\",\"grunt-contrib-uglify\":\"^5.0.0\",\"grunt-mocha-istanbul\":\"^5.0.2\",\"grunt-saucelabs\":\"^9.0.1\",istanbul:\"^0.4.5\",mocha:\"^8.0.1\"},dependencies:{\"bn.js\":\"^4.11.9\",brorand:\"^1.1.0\",\"hash.js\":\"^1.0.0\",\"hmac-drbg\":\"^1.0.1\",inherits:\"^2.0.4\",\"minimalistic-assert\":\"^1.0.1\",\"minimalistic-crypto-utils\":\"^1.0.1\"}}}}),require_bn4=__commonJS({\"node_modules/elliptic/node_modules/bn.js/lib/bn.js\"(exports,module){(function(module2,exports2){function assert(val,msg){if(!val)throw new Error(msg||\"Assertion failed\")}function inherits(ctor,superCtor){ctor.super_=superCtor;var TempCtor=function(){};TempCtor.prototype=superCtor.prototype,ctor.prototype=new TempCtor,ctor.prototype.constructor=ctor}function BN(number,base,endian){if(BN.isBN(number))return number;this.negative=0,this.words=null,this.length=0,this.red=null,number!==null&&((base===\"le\"||base===\"be\")&&(endian=base,base=10),this._init(number||0,base||10,endian||\"be\"))}typeof module2==\"object\"\?module2.exports=BN:exports2.BN=BN,BN.BN=BN,BN.wordSize=26;var Buffer2=Buffer;BN.isBN=function(num){return num instanceof BN\?!0:num!==null&&typeof num==\"object\"&&num.constructor.wordSize===BN.wordSize&&Array.isArray(num.words)},BN.max=function(left,right){return left.cmp(right)>0\?left:right},BN.min=function(left,right){return left.cmp(right)<0\?left:right},BN.prototype._init=function(number,base,endian){if(typeof number==\"number\")return this._initNumber(number,base,endian);if(typeof number==\"object\")return this._initArray(number,base,endian);base===\"hex\"&&(base=16),assert(base===(base|0)&&base>=2&&base<=36),number=number.toString().replace(/\\s+/g,\"\");var start=0;number[0]===\"-\"&&(start++,this.negative=1),start=0;i-=3)w=number[i]|number[i-1]<<8|number[i-2]<<16,this.words[j]|=w<>>26-off&67108863,off+=24,off>=26&&(off-=26,j++);else if(endian===\"le\")for(i=0,j=0;i>>26-off&67108863,off+=24,off>=26&&(off-=26,j++);return this.strip()};function parseHex4Bits(string,index){var c=string.charCodeAt(index);return c>=65&&c<=70\?c-55:c>=97&&c<=102\?c-87:c-48&15}function parseHexByte(string,lowerBound,index){var r=parseHex4Bits(string,index);return index-1>=lowerBound&&(r|=parseHex4Bits(string,index-1)<<4),r}BN.prototype._parseHex=function(number,start,endian){this.length=Math.ceil((number.length-start)/6),this.words=new Array(this.length);for(var i=0;i=start;i-=2)w=parseHexByte(number,start,i)<=18\?(off-=18,j+=1,this.words[j]|=w>>>26):off+=8;else{var parseLength=number.length-start;for(i=parseLength%2===0\?start+1:start;i=18\?(off-=18,j+=1,this.words[j]|=w>>>26):off+=8}this.strip()};function parseBase(str,start,end,mul){for(var r=0,len=Math.min(str.length,end),i=start;i=49\?r+=c-49+10:c>=17\?r+=c-17+10:r+=c}return r}BN.prototype._parseBase=function(number,base,start){this.words=[0],this.length=1;for(var limbLen=0,limbPow=1;limbPow<=67108863;limbPow*=base)limbLen++;limbLen--,limbPow=limbPow/base|0;for(var total=number.length-start,mod=total%limbLen,end=Math.min(total,total-mod)+start,word=0,i=start;i1&&this.words[this.length-1]===0;)this.length--;return this._normSign()},BN.prototype._normSign=function(){return this.length===1&&this.words[0]===0&&(this.negative=0),this},BN.prototype.inspect=function(){return(this.red\?\"\"};var zeros=[\"\",\"0\",\"00\",\"000\",\"0000\",\"00000\",\"000000\",\"0000000\",\"00000000\",\"000000000\",\"0000000000\",\"00000000000\",\"000000000000\",\"0000000000000\",\"00000000000000\",\"000000000000000\",\"0000000000000000\",\"00000000000000000\",\"000000000000000000\",\"0000000000000000000\",\"00000000000000000000\",\"000000000000000000000\",\"0000000000000000000000\",\"00000000000000000000000\",\"000000000000000000000000\",\"0000000000000000000000000\"],groupSizes=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],groupBases=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64000000,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,24300000,28629151,33554432,39135393,45435424,52521875,60466176];BN.prototype.toString=function(base,padding){base=base||10,padding=padding|0||1;var out;if(base===16||base===\"hex\"){out=\"\";for(var off=0,carry=0,i=0;i>>24-off&16777215,carry!==0||i!==this.length-1\?out=zeros[6-word.length]+word+out:out=word+out,off+=2,off>=26&&(off-=26,i--)}for(carry!==0&&(out=carry.toString(16)+out);out.length%padding!==0;)out=\"0\"+out;return this.negative!==0&&(out=\"-\"+out),out}if(base===(base|0)&&base>=2&&base<=36){var groupSize=groupSizes[base],groupBase=groupBases[base];out=\"\";var c=this.clone();for(c.negative=0;!c.isZero();){var r=c.modn(groupBase).toString(base);c=c.idivn(groupBase),c.isZero()\?out=r+out:out=zeros[groupSize-r.length]+r+out}for(this.isZero()&&(out=\"0\"+out);out.length%padding!==0;)out=\"0\"+out;return this.negative!==0&&(out=\"-\"+out),out}assert(!1,\"Base should be between 2 and 36\")},BN.prototype.toNumber=function(){var ret=this.words[0];return this.length===2\?ret+=this.words[1]*67108864:this.length===3&&this.words[2]===1\?ret+=4503599627370496+this.words[1]*67108864:this.length>2&&assert(!1,\"Number can only safely store up to 53 bits\"),this.negative!==0\?-ret:ret},BN.prototype.toJSON=function(){return this.toString(16)},BN.prototype.toBuffer=function(endian,length){return assert(typeof Buffer2<\"u\"),this.toArrayLike(Buffer2,endian,length)},BN.prototype.toArray=function(endian,length){return this.toArrayLike(Array,endian,length)},BN.prototype.toArrayLike=function(ArrayType,endian,length){var byteLength=this.byteLength(),reqLength=length||Math.max(1,byteLength);assert(byteLength<=reqLength,\"byte array longer than desired length\"),assert(reqLength>0,\"Requested array length <= 0\"),this.strip();var littleEndian=endian===\"le\",res=new ArrayType(reqLength),b,i,q=this.clone();if(littleEndian){for(i=0;!q.isZero();i++)b=q.andln(255),q.iushrn(8),res[i]=b;for(;i=4096&&(r+=13,t>>>=13),t>=64&&(r+=7,t>>>=7),t>=8&&(r+=4,t>>>=4),t>=2&&(r+=2,t>>>=2),r+t},BN.prototype._zeroBits=function(w){if(w===0)return 26;var t=w,r=0;return(t&8191)===0&&(r+=13,t>>>=13),(t&127)===0&&(r+=7,t>>>=7),(t&15)===0&&(r+=4,t>>>=4),(t&3)===0&&(r+=2,t>>>=2),(t&1)===0&&r++,r},BN.prototype.bitLength=function(){var w=this.words[this.length-1],hi=this._countBits(w);return(this.length-1)*26+hi};function toBitArray(num){for(var w=new Array(num.bitLength()),bit=0;bit>>wbit}return w}BN.prototype.zeroBits=function(){if(this.isZero())return 0;for(var r=0,i=0;inum.length\?this.clone().ior(num):num.clone().ior(this)},BN.prototype.uor=function(num){return this.length>num.length\?this.clone().iuor(num):num.clone().iuor(this)},BN.prototype.iuand=function(num){var b;this.length>num.length\?b=num:b=this;for(var i=0;inum.length\?this.clone().iand(num):num.clone().iand(this)},BN.prototype.uand=function(num){return this.length>num.length\?this.clone().iuand(num):num.clone().iuand(this)},BN.prototype.iuxor=function(num){var a,b;this.length>num.length\?(a=this,b=num):(a=num,b=this);for(var i=0;inum.length\?this.clone().ixor(num):num.clone().ixor(this)},BN.prototype.uxor=function(num){return this.length>num.length\?this.clone().iuxor(num):num.clone().iuxor(this)},BN.prototype.inotn=function(width){assert(typeof width==\"number\"&&width>=0);var bytesNeeded=Math.ceil(width/26)|0,bitsLeft=width%26;this._expand(bytesNeeded),bitsLeft>0&&bytesNeeded--;for(var i=0;i0&&(this.words[i]=~this.words[i]&67108863>>26-bitsLeft),this.strip()},BN.prototype.notn=function(width){return this.clone().inotn(width)},BN.prototype.setn=function(bit,val){assert(typeof bit==\"number\"&&bit>=0);var off=bit/26|0,wbit=bit%26;return this._expand(off+1),val\?this.words[off]=this.words[off]|1<num.length\?(a=this,b=num):(a=num,b=this);for(var carry=0,i=0;i>>26;for(;carry!==0&&i>>26;if(this.length=a.length,carry!==0)this.words[this.length]=carry,this.length++;else if(a!==this)for(;inum.length\?this.clone().iadd(num):num.clone().iadd(this)},BN.prototype.isub=function(num){if(num.negative!==0){num.negative=0;var r=this.iadd(num);return num.negative=1,r._normSign()}else if(this.negative!==0)return this.negative=0,this.iadd(num),this.negative=1,this._normSign();var cmp=this.cmp(num);if(cmp===0)return this.negative=0,this.length=1,this.words[0]=0,this;var a,b;cmp>0\?(a=this,b=num):(a=num,b=this);for(var carry=0,i=0;i>26,this.words[i]=r&67108863;for(;carry!==0&&i>26,this.words[i]=r&67108863;if(carry===0&&i>>26,rword=carry&67108863,maxJ=Math.min(k,num.length-1),j=Math.max(0,k-self2.length+1);j<=maxJ;j++){var i=k-j|0;a=self2.words[i]|0,b=num.words[j]|0,r=a*b+rword,ncarry+=r/67108864|0,rword=r&67108863}out.words[k]=rword|0,carry=ncarry|0}return carry!==0\?out.words[k]=carry|0:out.length--,out.strip()}var comb10MulTo=function(self2,num,out){var a=self2.words,b=num.words,o=out.words,c=0,lo,mid,hi,a0=a[0]|0,al0=a0&8191,ah0=a0>>>13,a1=a[1]|0,al1=a1&8191,ah1=a1>>>13,a2=a[2]|0,al2=a2&8191,ah2=a2>>>13,a3=a[3]|0,al3=a3&8191,ah3=a3>>>13,a4=a[4]|0,al4=a4&8191,ah4=a4>>>13,a5=a[5]|0,al5=a5&8191,ah5=a5>>>13,a6=a[6]|0,al6=a6&8191,ah6=a6>>>13,a7=a[7]|0,al7=a7&8191,ah7=a7>>>13,a8=a[8]|0,al8=a8&8191,ah8=a8>>>13,a9=a[9]|0,al9=a9&8191,ah9=a9>>>13,b0=b[0]|0,bl0=b0&8191,bh0=b0>>>13,b1=b[1]|0,bl1=b1&8191,bh1=b1>>>13,b2=b[2]|0,bl2=b2&8191,bh2=b2>>>13,b3=b[3]|0,bl3=b3&8191,bh3=b3>>>13,b4=b[4]|0,bl4=b4&8191,bh4=b4>>>13,b5=b[5]|0,bl5=b5&8191,bh5=b5>>>13,b6=b[6]|0,bl6=b6&8191,bh6=b6>>>13,b7=b[7]|0,bl7=b7&8191,bh7=b7>>>13,b8=b[8]|0,bl8=b8&8191,bh8=b8>>>13,b9=b[9]|0,bl9=b9&8191,bh9=b9>>>13;out.negative=self2.negative^num.negative,out.length=19,lo=Math.imul(al0,bl0),mid=Math.imul(al0,bh0),mid=mid+Math.imul(ah0,bl0)|0,hi=Math.imul(ah0,bh0);var w0=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w0>>>26)|0,w0&=67108863,lo=Math.imul(al1,bl0),mid=Math.imul(al1,bh0),mid=mid+Math.imul(ah1,bl0)|0,hi=Math.imul(ah1,bh0),lo=lo+Math.imul(al0,bl1)|0,mid=mid+Math.imul(al0,bh1)|0,mid=mid+Math.imul(ah0,bl1)|0,hi=hi+Math.imul(ah0,bh1)|0;var w1=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w1>>>26)|0,w1&=67108863,lo=Math.imul(al2,bl0),mid=Math.imul(al2,bh0),mid=mid+Math.imul(ah2,bl0)|0,hi=Math.imul(ah2,bh0),lo=lo+Math.imul(al1,bl1)|0,mid=mid+Math.imul(al1,bh1)|0,mid=mid+Math.imul(ah1,bl1)|0,hi=hi+Math.imul(ah1,bh1)|0,lo=lo+Math.imul(al0,bl2)|0,mid=mid+Math.imul(al0,bh2)|0,mid=mid+Math.imul(ah0,bl2)|0,hi=hi+Math.imul(ah0,bh2)|0;var w2=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w2>>>26)|0,w2&=67108863,lo=Math.imul(al3,bl0),mid=Math.imul(al3,bh0),mid=mid+Math.imul(ah3,bl0)|0,hi=Math.imul(ah3,bh0),lo=lo+Math.imul(al2,bl1)|0,mid=mid+Math.imul(al2,bh1)|0,mid=mid+Math.imul(ah2,bl1)|0,hi=hi+Math.imul(ah2,bh1)|0,lo=lo+Math.imul(al1,bl2)|0,mid=mid+Math.imul(al1,bh2)|0,mid=mid+Math.imul(ah1,bl2)|0,hi=hi+Math.imul(ah1,bh2)|0,lo=lo+Math.imul(al0,bl3)|0,mid=mid+Math.imul(al0,bh3)|0,mid=mid+Math.imul(ah0,bl3)|0,hi=hi+Math.imul(ah0,bh3)|0;var w3=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w3>>>26)|0,w3&=67108863,lo=Math.imul(al4,bl0),mid=Math.imul(al4,bh0),mid=mid+Math.imul(ah4,bl0)|0,hi=Math.imul(ah4,bh0),lo=lo+Math.imul(al3,bl1)|0,mid=mid+Math.imul(al3,bh1)|0,mid=mid+Math.imul(ah3,bl1)|0,hi=hi+Math.imul(ah3,bh1)|0,lo=lo+Math.imul(al2,bl2)|0,mid=mid+Math.imul(al2,bh2)|0,mid=mid+Math.imul(ah2,bl2)|0,hi=hi+Math.imul(ah2,bh2)|0,lo=lo+Math.imul(al1,bl3)|0,mid=mid+Math.imul(al1,bh3)|0,mid=mid+Math.imul(ah1,bl3)|0,hi=hi+Math.imul(ah1,bh3)|0,lo=lo+Math.imul(al0,bl4)|0,mid=mid+Math.imul(al0,bh4)|0,mid=mid+Math.imul(ah0,bl4)|0,hi=hi+Math.imul(ah0,bh4)|0;var w4=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w4>>>26)|0,w4&=67108863,lo=Math.imul(al5,bl0),mid=Math.imul(al5,bh0),mid=mid+Math.imul(ah5,bl0)|0,hi=Math.imul(ah5,bh0),lo=lo+Math.imul(al4,bl1)|0,mid=mid+Math.imul(al4,bh1)|0,mid=mid+Math.imul(ah4,bl1)|0,hi=hi+Math.imul(ah4,bh1)|0,lo=lo+Math.imul(al3,bl2)|0,mid=mid+Math.imul(al3,bh2)|0,mid=mid+Math.imul(ah3,bl2)|0,hi=hi+Math.imul(ah3,bh2)|0,lo=lo+Math.imul(al2,bl3)|0,mid=mid+Math.imul(al2,bh3)|0,mid=mid+Math.imul(ah2,bl3)|0,hi=hi+Math.imul(ah2,bh3)|0,lo=lo+Math.imul(al1,bl4)|0,mid=mid+Math.imul(al1,bh4)|0,mid=mid+Math.imul(ah1,bl4)|0,hi=hi+Math.imul(ah1,bh4)|0,lo=lo+Math.imul(al0,bl5)|0,mid=mid+Math.imul(al0,bh5)|0,mid=mid+Math.imul(ah0,bl5)|0,hi=hi+Math.imul(ah0,bh5)|0;var w5=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w5>>>26)|0,w5&=67108863,lo=Math.imul(al6,bl0),mid=Math.imul(al6,bh0),mid=mid+Math.imul(ah6,bl0)|0,hi=Math.imul(ah6,bh0),lo=lo+Math.imul(al5,bl1)|0,mid=mid+Math.imul(al5,bh1)|0,mid=mid+Math.imul(ah5,bl1)|0,hi=hi+Math.imul(ah5,bh1)|0,lo=lo+Math.imul(al4,bl2)|0,mid=mid+Math.imul(al4,bh2)|0,mid=mid+Math.imul(ah4,bl2)|0,hi=hi+Math.imul(ah4,bh2)|0,lo=lo+Math.imul(al3,bl3)|0,mid=mid+Math.imul(al3,bh3)|0,mid=mid+Math.imul(ah3,bl3)|0,hi=hi+Math.imul(ah3,bh3)|0,lo=lo+Math.imul(al2,bl4)|0,mid=mid+Math.imul(al2,bh4)|0,mid=mid+Math.imul(ah2,bl4)|0,hi=hi+Math.imul(ah2,bh4)|0,lo=lo+Math.imul(al1,bl5)|0,mid=mid+Math.imul(al1,bh5)|0,mid=mid+Math.imul(ah1,bl5)|0,hi=hi+Math.imul(ah1,bh5)|0,lo=lo+Math.imul(al0,bl6)|0,mid=mid+Math.imul(al0,bh6)|0,mid=mid+Math.imul(ah0,bl6)|0,hi=hi+Math.imul(ah0,bh6)|0;var w6=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w6>>>26)|0,w6&=67108863,lo=Math.imul(al7,bl0),mid=Math.imul(al7,bh0),mid=mid+Math.imul(ah7,bl0)|0,hi=Math.imul(ah7,bh0),lo=lo+Math.imul(al6,bl1)|0,mid=mid+Math.imul(al6,bh1)|0,mid=mid+Math.imul(ah6,bl1)|0,hi=hi+Math.imul(ah6,bh1)|0,lo=lo+Math.imul(al5,bl2)|0,mid=mid+Math.imul(al5,bh2)|0,mid=mid+Math.imul(ah5,bl2)|0,hi=hi+Math.imul(ah5,bh2)|0,lo=lo+Math.imul(al4,bl3)|0,mid=mid+Math.imul(al4,bh3)|0,mid=mid+Math.imul(ah4,bl3)|0,hi=hi+Math.imul(ah4,bh3)|0,lo=lo+Math.imul(al3,bl4)|0,mid=mid+Math.imul(al3,bh4)|0,mid=mid+Math.imul(ah3,bl4)|0,hi=hi+Math.imul(ah3,bh4)|0,lo=lo+Math.imul(al2,bl5)|0,mid=mid+Math.imul(al2,bh5)|0,mid=mid+Math.imul(ah2,bl5)|0,hi=hi+Math.imul(ah2,bh5)|0,lo=lo+Math.imul(al1,bl6)|0,mid=mid+Math.imul(al1,bh6)|0,mid=mid+Math.imul(ah1,bl6)|0,hi=hi+Math.imul(ah1,bh6)|0,lo=lo+Math.imul(al0,bl7)|0,mid=mid+Math.imul(al0,bh7)|0,mid=mid+Math.imul(ah0,bl7)|0,hi=hi+Math.imul(ah0,bh7)|0;var w7=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w7>>>26)|0,w7&=67108863,lo=Math.imul(al8,bl0),mid=Math.imul(al8,bh0),mid=mid+Math.imul(ah8,bl0)|0,hi=Math.imul(ah8,bh0),lo=lo+Math.imul(al7,bl1)|0,mid=mid+Math.imul(al7,bh1)|0,mid=mid+Math.imul(ah7,bl1)|0,hi=hi+Math.imul(ah7,bh1)|0,lo=lo+Math.imul(al6,bl2)|0,mid=mid+Math.imul(al6,bh2)|0,mid=mid+Math.imul(ah6,bl2)|0,hi=hi+Math.imul(ah6,bh2)|0,lo=lo+Math.imul(al5,bl3)|0,mid=mid+Math.imul(al5,bh3)|0,mid=mid+Math.imul(ah5,bl3)|0,hi=hi+Math.imul(ah5,bh3)|0,lo=lo+Math.imul(al4,bl4)|0,mid=mid+Math.imul(al4,bh4)|0,mid=mid+Math.imul(ah4,bl4)|0,hi=hi+Math.imul(ah4,bh4)|0,lo=lo+Math.imul(al3,bl5)|0,mid=mid+Math.imul(al3,bh5)|0,mid=mid+Math.imul(ah3,bl5)|0,hi=hi+Math.imul(ah3,bh5)|0,lo=lo+Math.imul(al2,bl6)|0,mid=mid+Math.imul(al2,bh6)|0,mid=mid+Math.imul(ah2,bl6)|0,hi=hi+Math.imul(ah2,bh6)|0,lo=lo+Math.imul(al1,bl7)|0,mid=mid+Math.imul(al1,bh7)|0,mid=mid+Math.imul(ah1,bl7)|0,hi=hi+Math.imul(ah1,bh7)|0,lo=lo+Math.imul(al0,bl8)|0,mid=mid+Math.imul(al0,bh8)|0,mid=mid+Math.imul(ah0,bl8)|0,hi=hi+Math.imul(ah0,bh8)|0;var w8=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w8>>>26)|0,w8&=67108863,lo=Math.imul(al9,bl0),mid=Math.imul(al9,bh0),mid=mid+Math.imul(ah9,bl0)|0,hi=Math.imul(ah9,bh0),lo=lo+Math.imul(al8,bl1)|0,mid=mid+Math.imul(al8,bh1)|0,mid=mid+Math.imul(ah8,bl1)|0,hi=hi+Math.imul(ah8,bh1)|0,lo=lo+Math.imul(al7,bl2)|0,mid=mid+Math.imul(al7,bh2)|0,mid=mid+Math.imul(ah7,bl2)|0,hi=hi+Math.imul(ah7,bh2)|0,lo=lo+Math.imul(al6,bl3)|0,mid=mid+Math.imul(al6,bh3)|0,mid=mid+Math.imul(ah6,bl3)|0,hi=hi+Math.imul(ah6,bh3)|0,lo=lo+Math.imul(al5,bl4)|0,mid=mid+Math.imul(al5,bh4)|0,mid=mid+Math.imul(ah5,bl4)|0,hi=hi+Math.imul(ah5,bh4)|0,lo=lo+Math.imul(al4,bl5)|0,mid=mid+Math.imul(al4,bh5)|0,mid=mid+Math.imul(ah4,bl5)|0,hi=hi+Math.imul(ah4,bh5)|0,lo=lo+Math.imul(al3,bl6)|0,mid=mid+Math.imul(al3,bh6)|0,mid=mid+Math.imul(ah3,bl6)|0,hi=hi+Math.imul(ah3,bh6)|0,lo=lo+Math.imul(al2,bl7)|0,mid=mid+Math.imul(al2,bh7)|0,mid=mid+Math.imul(ah2,bl7)|0,hi=hi+Math.imul(ah2,bh7)|0,lo=lo+Math.imul(al1,bl8)|0,mid=mid+Math.imul(al1,bh8)|0,mid=mid+Math.imul(ah1,bl8)|0,hi=hi+Math.imul(ah1,bh8)|0,lo=lo+Math.imul(al0,bl9)|0,mid=mid+Math.imul(al0,bh9)|0,mid=mid+Math.imul(ah0,bl9)|0,hi=hi+Math.imul(ah0,bh9)|0;var w9=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w9>>>26)|0,w9&=67108863,lo=Math.imul(al9,bl1),mid=Math.imul(al9,bh1),mid=mid+Math.imul(ah9,bl1)|0,hi=Math.imul(ah9,bh1),lo=lo+Math.imul(al8,bl2)|0,mid=mid+Math.imul(al8,bh2)|0,mid=mid+Math.imul(ah8,bl2)|0,hi=hi+Math.imul(ah8,bh2)|0,lo=lo+Math.imul(al7,bl3)|0,mid=mid+Math.imul(al7,bh3)|0,mid=mid+Math.imul(ah7,bl3)|0,hi=hi+Math.imul(ah7,bh3)|0,lo=lo+Math.imul(al6,bl4)|0,mid=mid+Math.imul(al6,bh4)|0,mid=mid+Math.imul(ah6,bl4)|0,hi=hi+Math.imul(ah6,bh4)|0,lo=lo+Math.imul(al5,bl5)|0,mid=mid+Math.imul(al5,bh5)|0,mid=mid+Math.imul(ah5,bl5)|0,hi=hi+Math.imul(ah5,bh5)|0,lo=lo+Math.imul(al4,bl6)|0,mid=mid+Math.imul(al4,bh6)|0,mid=mid+Math.imul(ah4,bl6)|0,hi=hi+Math.imul(ah4,bh6)|0,lo=lo+Math.imul(al3,bl7)|0,mid=mid+Math.imul(al3,bh7)|0,mid=mid+Math.imul(ah3,bl7)|0,hi=hi+Math.imul(ah3,bh7)|0,lo=lo+Math.imul(al2,bl8)|0,mid=mid+Math.imul(al2,bh8)|0,mid=mid+Math.imul(ah2,bl8)|0,hi=hi+Math.imul(ah2,bh8)|0,lo=lo+Math.imul(al1,bl9)|0,mid=mid+Math.imul(al1,bh9)|0,mid=mid+Math.imul(ah1,bl9)|0,hi=hi+Math.imul(ah1,bh9)|0;var w10=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w10>>>26)|0,w10&=67108863,lo=Math.imul(al9,bl2),mid=Math.imul(al9,bh2),mid=mid+Math.imul(ah9,bl2)|0,hi=Math.imul(ah9,bh2),lo=lo+Math.imul(al8,bl3)|0,mid=mid+Math.imul(al8,bh3)|0,mid=mid+Math.imul(ah8,bl3)|0,hi=hi+Math.imul(ah8,bh3)|0,lo=lo+Math.imul(al7,bl4)|0,mid=mid+Math.imul(al7,bh4)|0,mid=mid+Math.imul(ah7,bl4)|0,hi=hi+Math.imul(ah7,bh4)|0,lo=lo+Math.imul(al6,bl5)|0,mid=mid+Math.imul(al6,bh5)|0,mid=mid+Math.imul(ah6,bl5)|0,hi=hi+Math.imul(ah6,bh5)|0,lo=lo+Math.imul(al5,bl6)|0,mid=mid+Math.imul(al5,bh6)|0,mid=mid+Math.imul(ah5,bl6)|0,hi=hi+Math.imul(ah5,bh6)|0,lo=lo+Math.imul(al4,bl7)|0,mid=mid+Math.imul(al4,bh7)|0,mid=mid+Math.imul(ah4,bl7)|0,hi=hi+Math.imul(ah4,bh7)|0,lo=lo+Math.imul(al3,bl8)|0,mid=mid+Math.imul(al3,bh8)|0,mid=mid+Math.imul(ah3,bl8)|0,hi=hi+Math.imul(ah3,bh8)|0,lo=lo+Math.imul(al2,bl9)|0,mid=mid+Math.imul(al2,bh9)|0,mid=mid+Math.imul(ah2,bl9)|0,hi=hi+Math.imul(ah2,bh9)|0;var w11=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w11>>>26)|0,w11&=67108863,lo=Math.imul(al9,bl3),mid=Math.imul(al9,bh3),mid=mid+Math.imul(ah9,bl3)|0,hi=Math.imul(ah9,bh3),lo=lo+Math.imul(al8,bl4)|0,mid=mid+Math.imul(al8,bh4)|0,mid=mid+Math.imul(ah8,bl4)|0,hi=hi+Math.imul(ah8,bh4)|0,lo=lo+Math.imul(al7,bl5)|0,mid=mid+Math.imul(al7,bh5)|0,mid=mid+Math.imul(ah7,bl5)|0,hi=hi+Math.imul(ah7,bh5)|0,lo=lo+Math.imul(al6,bl6)|0,mid=mid+Math.imul(al6,bh6)|0,mid=mid+Math.imul(ah6,bl6)|0,hi=hi+Math.imul(ah6,bh6)|0,lo=lo+Math.imul(al5,bl7)|0,mid=mid+Math.imul(al5,bh7)|0,mid=mid+Math.imul(ah5,bl7)|0,hi=hi+Math.imul(ah5,bh7)|0,lo=lo+Math.imul(al4,bl8)|0,mid=mid+Math.imul(al4,bh8)|0,mid=mid+Math.imul(ah4,bl8)|0,hi=hi+Math.imul(ah4,bh8)|0,lo=lo+Math.imul(al3,bl9)|0,mid=mid+Math.imul(al3,bh9)|0,mid=mid+Math.imul(ah3,bl9)|0,hi=hi+Math.imul(ah3,bh9)|0;var w12=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w12>>>26)|0,w12&=67108863,lo=Math.imul(al9,bl4),mid=Math.imul(al9,bh4),mid=mid+Math.imul(ah9,bl4)|0,hi=Math.imul(ah9,bh4),lo=lo+Math.imul(al8,bl5)|0,mid=mid+Math.imul(al8,bh5)|0,mid=mid+Math.imul(ah8,bl5)|0,hi=hi+Math.imul(ah8,bh5)|0,lo=lo+Math.imul(al7,bl6)|0,mid=mid+Math.imul(al7,bh6)|0,mid=mid+Math.imul(ah7,bl6)|0,hi=hi+Math.imul(ah7,bh6)|0,lo=lo+Math.imul(al6,bl7)|0,mid=mid+Math.imul(al6,bh7)|0,mid=mid+Math.imul(ah6,bl7)|0,hi=hi+Math.imul(ah6,bh7)|0,lo=lo+Math.imul(al5,bl8)|0,mid=mid+Math.imul(al5,bh8)|0,mid=mid+Math.imul(ah5,bl8)|0,hi=hi+Math.imul(ah5,bh8)|0,lo=lo+Math.imul(al4,bl9)|0,mid=mid+Math.imul(al4,bh9)|0,mid=mid+Math.imul(ah4,bl9)|0,hi=hi+Math.imul(ah4,bh9)|0;var w13=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w13>>>26)|0,w13&=67108863,lo=Math.imul(al9,bl5),mid=Math.imul(al9,bh5),mid=mid+Math.imul(ah9,bl5)|0,hi=Math.imul(ah9,bh5),lo=lo+Math.imul(al8,bl6)|0,mid=mid+Math.imul(al8,bh6)|0,mid=mid+Math.imul(ah8,bl6)|0,hi=hi+Math.imul(ah8,bh6)|0,lo=lo+Math.imul(al7,bl7)|0,mid=mid+Math.imul(al7,bh7)|0,mid=mid+Math.imul(ah7,bl7)|0,hi=hi+Math.imul(ah7,bh7)|0,lo=lo+Math.imul(al6,bl8)|0,mid=mid+Math.imul(al6,bh8)|0,mid=mid+Math.imul(ah6,bl8)|0,hi=hi+Math.imul(ah6,bh8)|0,lo=lo+Math.imul(al5,bl9)|0,mid=mid+Math.imul(al5,bh9)|0,mid=mid+Math.imul(ah5,bl9)|0,hi=hi+Math.imul(ah5,bh9)|0;var w14=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w14>>>26)|0,w14&=67108863,lo=Math.imul(al9,bl6),mid=Math.imul(al9,bh6),mid=mid+Math.imul(ah9,bl6)|0,hi=Math.imul(ah9,bh6),lo=lo+Math.imul(al8,bl7)|0,mid=mid+Math.imul(al8,bh7)|0,mid=mid+Math.imul(ah8,bl7)|0,hi=hi+Math.imul(ah8,bh7)|0,lo=lo+Math.imul(al7,bl8)|0,mid=mid+Math.imul(al7,bh8)|0,mid=mid+Math.imul(ah7,bl8)|0,hi=hi+Math.imul(ah7,bh8)|0,lo=lo+Math.imul(al6,bl9)|0,mid=mid+Math.imul(al6,bh9)|0,mid=mid+Math.imul(ah6,bl9)|0,hi=hi+Math.imul(ah6,bh9)|0;var w15=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w15>>>26)|0,w15&=67108863,lo=Math.imul(al9,bl7),mid=Math.imul(al9,bh7),mid=mid+Math.imul(ah9,bl7)|0,hi=Math.imul(ah9,bh7),lo=lo+Math.imul(al8,bl8)|0,mid=mid+Math.imul(al8,bh8)|0,mid=mid+Math.imul(ah8,bl8)|0,hi=hi+Math.imul(ah8,bh8)|0,lo=lo+Math.imul(al7,bl9)|0,mid=mid+Math.imul(al7,bh9)|0,mid=mid+Math.imul(ah7,bl9)|0,hi=hi+Math.imul(ah7,bh9)|0;var w16=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w16>>>26)|0,w16&=67108863,lo=Math.imul(al9,bl8),mid=Math.imul(al9,bh8),mid=mid+Math.imul(ah9,bl8)|0,hi=Math.imul(ah9,bh8),lo=lo+Math.imul(al8,bl9)|0,mid=mid+Math.imul(al8,bh9)|0,mid=mid+Math.imul(ah8,bl9)|0,hi=hi+Math.imul(ah8,bh9)|0;var w17=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w17>>>26)|0,w17&=67108863,lo=Math.imul(al9,bl9),mid=Math.imul(al9,bh9),mid=mid+Math.imul(ah9,bl9)|0,hi=Math.imul(ah9,bh9);var w18=(c+lo|0)+((mid&8191)<<13)|0;return c=(hi+(mid>>>13)|0)+(w18>>>26)|0,w18&=67108863,o[0]=w0,o[1]=w1,o[2]=w2,o[3]=w3,o[4]=w4,o[5]=w5,o[6]=w6,o[7]=w7,o[8]=w8,o[9]=w9,o[10]=w10,o[11]=w11,o[12]=w12,o[13]=w13,o[14]=w14,o[15]=w15,o[16]=w16,o[17]=w17,o[18]=w18,c!==0&&(o[19]=c,out.length++),out};Math.imul||(comb10MulTo=smallMulTo);function bigMulTo(self2,num,out){out.negative=num.negative^self2.negative,out.length=self2.length+num.length;for(var carry=0,hncarry=0,k=0;k>>26)|0,hncarry+=ncarry>>>26,ncarry&=67108863}out.words[k]=rword,carry=ncarry,ncarry=hncarry}return carry!==0\?out.words[k]=carry:out.length--,out.strip()}function jumboMulTo(self2,num,out){var fftm=new FFTM;return fftm.mulp(self2,num,out)}BN.prototype.mulTo=function(num,out){var res,len=this.length+num.length;return this.length===10&&num.length===10\?res=comb10MulTo(this,num,out):len<63\?res=smallMulTo(this,num,out):len<1024\?res=bigMulTo(this,num,out):res=jumboMulTo(this,num,out),res};function FFTM(x,y){this.x=x,this.y=y}FFTM.prototype.makeRBT=function(N){for(var t=new Array(N),l=BN.prototype._countBits(N)-1,i=0;i>=1;return rb},FFTM.prototype.permute=function(rbt,rws,iws,rtws,itws,N){for(var i=0;i>>1)i++;return 1<>>13,rws[2*i+1]=carry&8191,carry=carry>>>13;for(i=2*len;i>=26,carry+=w/67108864|0,carry+=lo>>>26,this.words[i]=lo&67108863}return carry!==0&&(this.words[i]=carry,this.length++),this},BN.prototype.muln=function(num){return this.clone().imuln(num)},BN.prototype.sqr=function(){return this.mul(this)},BN.prototype.isqr=function(){return this.imul(this.clone())},BN.prototype.pow=function(num){var w=toBitArray(num);if(w.length===0)return new BN(1);for(var res=this,i=0;i=0);var r=bits%26,s=(bits-r)/26,carryMask=67108863>>>26-r<<26-r,i;if(r!==0){var carry=0;for(i=0;i>>26-r}carry&&(this.words[i]=carry,this.length++)}if(s!==0){for(i=this.length-1;i>=0;i--)this.words[i+s]=this.words[i];for(i=0;i=0);var h;hint\?h=(hint-hint%26)/26:h=0;var r=bits%26,s=Math.min((bits-r)/26,this.length),mask=67108863^67108863>>>r<s)for(this.length-=s,i=0;i=0&&(carry!==0||i>=h);i--){var word=this.words[i]|0;this.words[i]=carry<<26-r|word>>>r,carry=word&mask}return maskedWords&&carry!==0&&(maskedWords.words[maskedWords.length++]=carry),this.length===0&&(this.words[0]=0,this.length=1),this.strip()},BN.prototype.ishrn=function(bits,hint,extended){return assert(this.negative===0),this.iushrn(bits,hint,extended)},BN.prototype.shln=function(bits){return this.clone().ishln(bits)},BN.prototype.ushln=function(bits){return this.clone().iushln(bits)},BN.prototype.shrn=function(bits){return this.clone().ishrn(bits)},BN.prototype.ushrn=function(bits){return this.clone().iushrn(bits)},BN.prototype.testn=function(bit){assert(typeof bit==\"number\"&&bit>=0);var r=bit%26,s=(bit-r)/26,q=1<=0);var r=bits%26,s=(bits-r)/26;if(assert(this.negative===0,\"imaskn works only with positive numbers\"),this.length<=s)return this;if(r!==0&&s++,this.length=Math.min(s,this.length),r!==0){var mask=67108863^67108863>>>r<=67108864;i++)this.words[i]-=67108864,i===this.length-1\?this.words[i+1]=1:this.words[i+1]++;return this.length=Math.max(this.length,i+1),this},BN.prototype.isubn=function(num){if(assert(typeof num==\"number\"),assert(num<67108864),num<0)return this.iaddn(-num);if(this.negative!==0)return this.negative=0,this.iaddn(num),this.negative=1,this;if(this.words[0]-=num,this.length===1&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var i=0;i>26)-(right/67108864|0),this.words[i+shift]=w&67108863}for(;i>26,this.words[i+shift]=w&67108863;if(carry===0)return this.strip();for(assert(carry===-1),carry=0,i=0;i>26,this.words[i]=w&67108863;return this.negative=1,this.strip()},BN.prototype._wordDiv=function(num,mode){var shift=this.length-num.length,a=this.clone(),b=num,bhi=b.words[b.length-1]|0,bhiBits=this._countBits(bhi);shift=26-bhiBits,shift!==0&&(b=b.ushln(shift),a.iushln(shift),bhi=b.words[b.length-1]|0);var m=a.length-b.length,q;if(mode!==\"mod\"){q=new BN(null),q.length=m+1,q.words=new Array(q.length);for(var i=0;i=0;j--){var qj=(a.words[b.length+j]|0)*67108864+(a.words[b.length+j-1]|0);for(qj=Math.min(qj/bhi|0,67108863),a._ishlnsubmul(b,qj,j);a.negative!==0;)qj--,a.negative=0,a._ishlnsubmul(b,1,j),a.isZero()||(a.negative^=1);q&&(q.words[j]=qj)}return q&&q.strip(),a.strip(),mode!==\"div\"&&shift!==0&&a.iushrn(shift),{div:q||null,mod:a}},BN.prototype.divmod=function(num,mode,positive){if(assert(!num.isZero()),this.isZero())return{div:new BN(0),mod:new BN(0)};var div,mod,res;return this.negative!==0&&num.negative===0\?(res=this.neg().divmod(num,mode),mode!==\"mod\"&&(div=res.div.neg()),mode!==\"div\"&&(mod=res.mod.neg(),positive&&mod.negative!==0&&mod.iadd(num)),{div,mod}):this.negative===0&&num.negative!==0\?(res=this.divmod(num.neg(),mode),mode!==\"mod\"&&(div=res.div.neg()),{div,mod:res.mod}):(this.negative&num.negative)!==0\?(res=this.neg().divmod(num.neg(),mode),mode!==\"div\"&&(mod=res.mod.neg(),positive&&mod.negative!==0&&mod.isub(num)),{div:res.div,mod}):num.length>this.length||this.cmp(num)<0\?{div:new BN(0),mod:this}:num.length===1\?mode===\"div\"\?{div:this.divn(num.words[0]),mod:null}:mode===\"mod\"\?{div:null,mod:new BN(this.modn(num.words[0]))}:{div:this.divn(num.words[0]),mod:new BN(this.modn(num.words[0]))}:this._wordDiv(num,mode)},BN.prototype.div=function(num){return this.divmod(num,\"div\",!1).div},BN.prototype.mod=function(num){return this.divmod(num,\"mod\",!1).mod},BN.prototype.umod=function(num){return this.divmod(num,\"mod\",!0).mod},BN.prototype.divRound=function(num){var dm=this.divmod(num);if(dm.mod.isZero())return dm.div;var mod=dm.div.negative!==0\?dm.mod.isub(num):dm.mod,half=num.ushrn(1),r2=num.andln(1),cmp=mod.cmp(half);return cmp<0||r2===1&&cmp===0\?dm.div:dm.div.negative!==0\?dm.div.isubn(1):dm.div.iaddn(1)},BN.prototype.modn=function(num){assert(num<=67108863);for(var p=(1<<26)%num,acc=0,i=this.length-1;i>=0;i--)acc=(p*acc+(this.words[i]|0))%num;return acc},BN.prototype.idivn=function(num){assert(num<=67108863);for(var carry=0,i=this.length-1;i>=0;i--){var w=(this.words[i]|0)+carry*67108864;this.words[i]=w/num|0,carry=w%num}return this.strip()},BN.prototype.divn=function(num){return this.clone().idivn(num)},BN.prototype.egcd=function(p){assert(p.negative===0),assert(!p.isZero());var x=this,y=p.clone();x.negative!==0\?x=x.umod(p):x=x.clone();for(var A=new BN(1),B=new BN(0),C=new BN(0),D=new BN(1),g=0;x.isEven()&&y.isEven();)x.iushrn(1),y.iushrn(1),++g;for(var yp=y.clone(),xp=x.clone();!x.isZero();){for(var i=0,im=1;(x.words[0]&im)===0&&i<26;++i,im<<=1);if(i>0)for(x.iushrn(i);i-- >0;)(A.isOdd()||B.isOdd())&&(A.iadd(yp),B.isub(xp)),A.iushrn(1),B.iushrn(1);for(var j=0,jm=1;(y.words[0]&jm)===0&&j<26;++j,jm<<=1);if(j>0)for(y.iushrn(j);j-- >0;)(C.isOdd()||D.isOdd())&&(C.iadd(yp),D.isub(xp)),C.iushrn(1),D.iushrn(1);x.cmp(y)>=0\?(x.isub(y),A.isub(C),B.isub(D)):(y.isub(x),C.isub(A),D.isub(B))}return{a:C,b:D,gcd:y.iushln(g)}},BN.prototype._invmp=function(p){assert(p.negative===0),assert(!p.isZero());var a=this,b=p.clone();a.negative!==0\?a=a.umod(p):a=a.clone();for(var x1=new BN(1),x2=new BN(0),delta=b.clone();a.cmpn(1)>0&&b.cmpn(1)>0;){for(var i=0,im=1;(a.words[0]&im)===0&&i<26;++i,im<<=1);if(i>0)for(a.iushrn(i);i-- >0;)x1.isOdd()&&x1.iadd(delta),x1.iushrn(1);for(var j=0,jm=1;(b.words[0]&jm)===0&&j<26;++j,jm<<=1);if(j>0)for(b.iushrn(j);j-- >0;)x2.isOdd()&&x2.iadd(delta),x2.iushrn(1);a.cmp(b)>=0\?(a.isub(b),x1.isub(x2)):(b.isub(a),x2.isub(x1))}var res;return a.cmpn(1)===0\?res=x1:res=x2,res.cmpn(0)<0&&res.iadd(p),res},BN.prototype.gcd=function(num){if(this.isZero())return num.abs();if(num.isZero())return this.abs();var a=this.clone(),b=num.clone();a.negative=0,b.negative=0;for(var shift=0;a.isEven()&&b.isEven();shift++)a.iushrn(1),b.iushrn(1);do{for(;a.isEven();)a.iushrn(1);for(;b.isEven();)b.iushrn(1);var r=a.cmp(b);if(r<0){var t=a;a=b,b=t}else if(r===0||b.cmpn(1)===0)break;a.isub(b)}while(!0);return b.iushln(shift)},BN.prototype.invm=function(num){return this.egcd(num).a.umod(num)},BN.prototype.isEven=function(){return(this.words[0]&1)===0},BN.prototype.isOdd=function(){return(this.words[0]&1)===1},BN.prototype.andln=function(num){return this.words[0]&num},BN.prototype.bincn=function(bit){assert(typeof bit==\"number\");var r=bit%26,s=(bit-r)/26,q=1<>>26,w&=67108863,this.words[i]=w}return carry!==0&&(this.words[i]=carry,this.length++),this},BN.prototype.isZero=function(){return this.length===1&&this.words[0]===0},BN.prototype.cmpn=function(num){var negative=num<0;if(this.negative!==0&&!negative)return-1;if(this.negative===0&&negative)return 1;this.strip();var res;if(this.length>1)res=1;else{negative&&(num=-num),assert(num<=67108863,\"Number is too big\");var w=this.words[0]|0;res=w===num\?0:wnum.length)return 1;if(this.length=0;i--){var a=this.words[i]|0,b=num.words[i]|0;if(a!==b){ab&&(res=1);break}}return res},BN.prototype.gtn=function(num){return this.cmpn(num)===1},BN.prototype.gt=function(num){return this.cmp(num)===1},BN.prototype.gten=function(num){return this.cmpn(num)>=0},BN.prototype.gte=function(num){return this.cmp(num)>=0},BN.prototype.ltn=function(num){return this.cmpn(num)===-1},BN.prototype.lt=function(num){return this.cmp(num)===-1},BN.prototype.lten=function(num){return this.cmpn(num)<=0},BN.prototype.lte=function(num){return this.cmp(num)<=0},BN.prototype.eqn=function(num){return this.cmpn(num)===0},BN.prototype.eq=function(num){return this.cmp(num)===0},BN.red=function(num){return new Red(num)},BN.prototype.toRed=function(ctx){return assert(!this.red,\"Already a number in reduction context\"),assert(this.negative===0,\"red works only with positives\"),ctx.convertTo(this)._forceRed(ctx)},BN.prototype.fromRed=function(){return assert(this.red,\"fromRed works only with numbers in reduction context\"),this.red.convertFrom(this)},BN.prototype._forceRed=function(ctx){return this.red=ctx,this},BN.prototype.forceRed=function(ctx){return assert(!this.red,\"Already a number in reduction context\"),this._forceRed(ctx)},BN.prototype.redAdd=function(num){return assert(this.red,\"redAdd works only with red numbers\"),this.red.add(this,num)},BN.prototype.redIAdd=function(num){return assert(this.red,\"redIAdd works only with red numbers\"),this.red.iadd(this,num)},BN.prototype.redSub=function(num){return assert(this.red,\"redSub works only with red numbers\"),this.red.sub(this,num)},BN.prototype.redISub=function(num){return assert(this.red,\"redISub works only with red numbers\"),this.red.isub(this,num)},BN.prototype.redShl=function(num){return assert(this.red,\"redShl works only with red numbers\"),this.red.shl(this,num)},BN.prototype.redMul=function(num){return assert(this.red,\"redMul works only with red numbers\"),this.red._verify2(this,num),this.red.mul(this,num)},BN.prototype.redIMul=function(num){return assert(this.red,\"redMul works only with red numbers\"),this.red._verify2(this,num),this.red.imul(this,num)},BN.prototype.redSqr=function(){return assert(this.red,\"redSqr works only with red numbers\"),this.red._verify1(this),this.red.sqr(this)},BN.prototype.redISqr=function(){return assert(this.red,\"redISqr works only with red numbers\"),this.red._verify1(this),this.red.isqr(this)},BN.prototype.redSqrt=function(){return assert(this.red,\"redSqrt works only with red numbers\"),this.red._verify1(this),this.red.sqrt(this)},BN.prototype.redInvm=function(){return assert(this.red,\"redInvm works only with red numbers\"),this.red._verify1(this),this.red.invm(this)},BN.prototype.redNeg=function(){return assert(this.red,\"redNeg works only with red numbers\"),this.red._verify1(this),this.red.neg(this)},BN.prototype.redPow=function(num){return assert(this.red&&!num.red,\"redPow(normalNum)\"),this.red._verify1(this),this.red.pow(this,num)};var primes={k256:null,p224:null,p192:null,p25519:null};function MPrime(name,p){this.name=name,this.p=new BN(p,16),this.n=this.p.bitLength(),this.k=new BN(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}MPrime.prototype._tmp=function(){var tmp=new BN(null);return tmp.words=new Array(Math.ceil(this.n/13)),tmp},MPrime.prototype.ireduce=function(num){var r=num,rlen;do this.split(r,this.tmp),r=this.imulK(r),r=r.iadd(this.tmp),rlen=r.bitLength();while(rlen>this.n);var cmp=rlen0\?r.isub(this.p):r.strip!==void 0\?r.strip():r._strip(),r},MPrime.prototype.split=function(input,out){input.iushrn(this.n,0,out)},MPrime.prototype.imulK=function(num){return num.imul(this.k)};function K256(){MPrime.call(this,\"k256\",\"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f\")}inherits(K256,MPrime),K256.prototype.split=function(input,output){for(var mask=4194303,outLen=Math.min(input.length,9),i=0;i>>22,prev=next}prev>>>=22,input.words[i-10]=prev,prev===0&&input.length>10\?input.length-=10:input.length-=9},K256.prototype.imulK=function(num){num.words[num.length]=0,num.words[num.length+1]=0,num.length+=2;for(var lo=0,i=0;i>>=26,num.words[i]=lo,carry=hi}return carry!==0&&(num.words[num.length++]=carry),num},BN._prime=function(name){if(primes[name])return primes[name];var prime2;if(name===\"k256\")prime2=new K256;else if(name===\"p224\")prime2=new P224;else if(name===\"p192\")prime2=new P192;else if(name===\"p25519\")prime2=new P25519;else throw new Error(\"Unknown prime \"+name);return primes[name]=prime2,prime2};function Red(m){if(typeof m==\"string\"){var prime=BN._prime(m);this.m=prime.p,this.prime=prime}else assert(m.gtn(1),\"modulus must be greater than 1\"),this.m=m,this.prime=null}Red.prototype._verify1=function(a){assert(a.negative===0,\"red works only with positives\"),assert(a.red,\"red works only with red numbers\")},Red.prototype._verify2=function(a,b){assert((a.negative|b.negative)===0,\"red works only with positives\"),assert(a.red&&a.red===b.red,\"red works only with red numbers\")},Red.prototype.imod=function(a){return this.prime\?this.prime.ireduce(a)._forceRed(this):a.umod(this.m)._forceRed(this)},Red.prototype.neg=function(a){return a.isZero()\?a.clone():this.m.sub(a)._forceRed(this)},Red.prototype.add=function(a,b){this._verify2(a,b);var res=a.add(b);return res.cmp(this.m)>=0&&res.isub(this.m),res._forceRed(this)},Red.prototype.iadd=function(a,b){this._verify2(a,b);var res=a.iadd(b);return res.cmp(this.m)>=0&&res.isub(this.m),res},Red.prototype.sub=function(a,b){this._verify2(a,b);var res=a.sub(b);return res.cmpn(0)<0&&res.iadd(this.m),res._forceRed(this)},Red.prototype.isub=function(a,b){this._verify2(a,b);var res=a.isub(b);return res.cmpn(0)<0&&res.iadd(this.m),res},Red.prototype.shl=function(a,num){return this._verify1(a),this.imod(a.ushln(num))},Red.prototype.imul=function(a,b){return this._verify2(a,b),this.imod(a.imul(b))},Red.prototype.mul=function(a,b){return this._verify2(a,b),this.imod(a.mul(b))},Red.prototype.isqr=function(a){return this.imul(a,a.clone())},Red.prototype.sqr=function(a){return this.mul(a,a)},Red.prototype.sqrt=function(a){if(a.isZero())return a.clone();var mod3=this.m.andln(3);if(assert(mod3%2===1),mod3===3){var pow=this.m.add(new BN(1)).iushrn(2);return this.pow(a,pow)}for(var q=this.m.subn(1),s=0;!q.isZero()&&q.andln(1)===0;)s++,q.iushrn(1);assert(!q.isZero());var one=new BN(1).toRed(this),nOne=one.redNeg(),lpow=this.m.subn(1).iushrn(1),z=this.m.bitLength();for(z=new BN(2*z*z).toRed(this);this.pow(z,lpow).cmp(nOne)!==0;)z.redIAdd(nOne);for(var c=this.pow(z,q),r=this.pow(a,q.addn(1).iushrn(1)),t=this.pow(a,q),m=s;t.cmp(one)!==0;){for(var tmp=t,i=0;tmp.cmp(one)!==0;i++)tmp=tmp.redSqr();assert(i=0;i--){for(var word=num.words[i],j=start-1;j>=0;j--){var bit=word>>j&1;if(res!==wnd[0]&&(res=this.sqr(res)),bit===0&¤t===0){currentLen=0;continue}current<<=1,current|=bit,currentLen++,!(currentLen!==windowSize&&(i!==0||j!==0))&&(res=this.mul(res,wnd[current]),currentLen=0,current=0)}start=26}return res},Red.prototype.convertTo=function(num){var r=num.umod(this.m);return r===num\?r.clone():r},Red.prototype.convertFrom=function(num){var res=num.clone();return res.red=null,res},BN.mont=function(num){return new Mont(num)};function Mont(m){Red.call(this,m),this.shift=this.m.bitLength(),this.shift%26!==0&&(this.shift+=26-this.shift%26),this.r=new BN(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}inherits(Mont,Red),Mont.prototype.convertTo=function(num){return this.imod(num.ushln(this.shift))},Mont.prototype.convertFrom=function(num){var r=this.imod(num.mul(this.rinv));return r.red=null,r},Mont.prototype.imul=function(a,b){if(a.isZero()||b.isZero())return a.words[0]=0,a.length=1,a;var t=a.imul(b),c=t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),u=t.isub(c).iushrn(this.shift),res=u;return u.cmp(this.m)>=0\?res=u.isub(this.m):u.cmpn(0)<0&&(res=u.iadd(this.m)),res._forceRed(this)},Mont.prototype.mul=function(a,b){if(a.isZero()||b.isZero())return new BN(0)._forceRed(this);var t=a.mul(b),c=t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),u=t.isub(c).iushrn(this.shift),res=u;return u.cmp(this.m)>=0\?res=u.isub(this.m):u.cmpn(0)<0&&(res=u.iadd(this.m)),res._forceRed(this)},Mont.prototype.invm=function(a){var res=this.imod(a._invmp(this.m).mul(this.r2));return res._forceRed(this)}})(typeof module>\"u\"||module,exports)}}),require_utils2=__commonJS({\"node_modules/minimalistic-crypto-utils/lib/utils.js\"(exports){var utils=exports;function toArray(msg,enc){if(Array.isArray(msg))return msg.slice();if(!msg)return[];var res=[];if(typeof msg!=\"string\"){for(var i=0;i>8,lo=c&255;hi\?res.push(hi,lo):res.push(lo)}return res}utils.toArray=toArray;function zero2(word){return word.length===1\?\"0\"+word:word}utils.zero2=zero2;function toHex(msg){for(var res=\"\",i=0;i(ws>>1)-1\?z=(ws>>1)-mod:z=mod,k.isubn(z)):z=0,naf[i]=z,k.iushrn(1)}return naf}utils.getNAF=getNAF;function getJSF(k1,k2){var jsf=[[],[]];k1=k1.clone(),k2=k2.clone();for(var d1=0,d2=0,m8;k1.cmpn(-d1)>0||k2.cmpn(-d2)>0;){var m14=k1.andln(3)+d1&3,m24=k2.andln(3)+d2&3;m14===3&&(m14=-1),m24===3&&(m24=-1);var u1;(m14&1)===0\?u1=0:(m8=k1.andln(7)+d1&7,(m8===3||m8===5)&&m24===2\?u1=-m14:u1=m14),jsf[0].push(u1);var u2;(m24&1)===0\?u2=0:(m8=k2.andln(7)+d2&7,(m8===3||m8===5)&&m14===2\?u2=-m24:u2=m24),jsf[1].push(u2),2*d1===u1+1&&(d1=1-d1),2*d2===u2+1&&(d2=1-d2),k1.iushrn(1),k2.iushrn(1)}return jsf}utils.getJSF=getJSF;function cachedProperty(obj,name,computer){var key=\"_\"+name;obj.prototype[name]=function(){return this[key]!==void 0\?this[key]:this[key]=computer.call(this)}}utils.cachedProperty=cachedProperty;function parseBytes(bytes){return typeof bytes==\"string\"\?utils.toArray(bytes,\"hex\"):bytes}utils.parseBytes=parseBytes;function intFromLE(bytes){return new BN(bytes,\"hex\",\"le\")}utils.intFromLE=intFromLE}}),require_base=__commonJS({\"node_modules/elliptic/lib/elliptic/curve/base.js\"(exports,module){var BN=require_bn4(),utils=require_utils3(),getNAF=utils.getNAF,getJSF=utils.getJSF,assert=utils.assert;function BaseCurve(type,conf){this.type=type,this.p=new BN(conf.p,16),this.red=conf.prime\?BN.red(conf.prime):BN.mont(this.p),this.zero=new BN(0).toRed(this.red),this.one=new BN(1).toRed(this.red),this.two=new BN(2).toRed(this.red),this.n=conf.n&&new BN(conf.n,16),this.g=conf.g&&this.pointFromJSON(conf.g,conf.gRed),this._wnafT1=new Array(4),this._wnafT2=new Array(4),this._wnafT3=new Array(4),this._wnafT4=new Array(4),this._bitLength=this.n\?this.n.bitLength():0;var adjustCount=this.n&&this.p.div(this.n);!adjustCount||adjustCount.cmpn(100)>0\?this.redN=null:(this._maxwellTrick=!0,this.redN=this.n.toRed(this.red))}module.exports=BaseCurve,BaseCurve.prototype.point=function(){throw new Error(\"Not implemented\")},BaseCurve.prototype.validate=function(){throw new Error(\"Not implemented\")},BaseCurve.prototype._fixedNafMul=function(p,k){assert(p.precomputed);var doubles=p._getDoubles(),naf=getNAF(k,1,this._bitLength),I=(1<=j;l--)nafW=(nafW<<1)+naf[l];repr.push(nafW)}for(var a=this.jpoint(null,null,null),b=this.jpoint(null,null,null),i=I;i>0;i--){for(j=0;j=0;i--){for(var l=0;i>=0&&naf[i]===0;i--)l++;if(i>=0&&l++,acc=acc.dblp(l),i<0)break;var z=naf[i];assert(z!==0),p.type===\"affine\"\?z>0\?acc=acc.mixedAdd(wnd[z-1>>1]):acc=acc.mixedAdd(wnd[-z-1>>1].neg()):z>0\?acc=acc.add(wnd[z-1>>1]):acc=acc.add(wnd[-z-1>>1].neg())}return p.type===\"affine\"\?acc.toP():acc},BaseCurve.prototype._wnafMulAdd=function(defW,points,coeffs,len,jacobianResult){var wndWidth=this._wnafT1,wnd=this._wnafT2,naf=this._wnafT3,max=0,i,j,p;for(i=0;i=1;i-=2){var a=i-1,b=i;if(wndWidth[a]!==1||wndWidth[b]!==1){naf[a]=getNAF(coeffs[a],wndWidth[a],this._bitLength),naf[b]=getNAF(coeffs[b],wndWidth[b],this._bitLength),max=Math.max(naf[a].length,max),max=Math.max(naf[b].length,max);continue}var comb=[points[a],null,null,points[b]];points[a].y.cmp(points[b].y)===0\?(comb[1]=points[a].add(points[b]),comb[2]=points[a].toJ().mixedAdd(points[b].neg())):points[a].y.cmp(points[b].y.redNeg())===0\?(comb[1]=points[a].toJ().mixedAdd(points[b]),comb[2]=points[a].add(points[b].neg())):(comb[1]=points[a].toJ().mixedAdd(points[b]),comb[2]=points[a].toJ().mixedAdd(points[b].neg()));var index=[-3,-1,-5,-7,0,7,5,1,3],jsf=getJSF(coeffs[a],coeffs[b]);for(max=Math.max(jsf[0].length,max),naf[a]=new Array(max),naf[b]=new Array(max),j=0;j=0;i--){for(var k=0;i>=0;){var zero=!0;for(j=0;j=0&&k++,acc=acc.dblp(k),i<0)break;for(j=0;j0\?p=wnd[j][z-1>>1]:z<0&&(p=wnd[j][-z-1>>1].neg()),p.type===\"affine\"\?acc=acc.mixedAdd(p):acc=acc.add(p))}}for(i=0;i=Math.ceil((k.bitLength()+1)/doubles.step):!1},BasePoint.prototype._getDoubles=function(step,power){if(this.precomputed&&this.precomputed.doubles)return this.precomputed.doubles;for(var doubles=[this],acc=this,i=0;i=0&&(a2=a0,b2=b0),a1.negative&&(a1=a1.neg(),b1=b1.neg()),a2.negative&&(a2=a2.neg(),b2=b2.neg()),[{a:a1,b:b1},{a:a2,b:b2}]},ShortCurve.prototype._endoSplit=function(k){var basis=this.endo.basis,v1=basis[0],v2=basis[1],c1=v2.b.mul(k).divRound(this.n),c2=v1.b.neg().mul(k).divRound(this.n),p1=c1.mul(v1.a),p2=c2.mul(v2.a),q1=c1.mul(v1.b),q2=c2.mul(v2.b),k1=k.sub(p1).sub(p2),k2=q1.add(q2).neg();return{k1,k2}},ShortCurve.prototype.pointFromX=function(x,odd){x=new BN(x,16),x.red||(x=x.toRed(this.red));var y2=x.redSqr().redMul(x).redIAdd(x.redMul(this.a)).redIAdd(this.b),y=y2.redSqrt();if(y.redSqr().redSub(y2).cmp(this.zero)!==0)throw new Error(\"invalid point\");var isOdd=y.fromRed().isOdd();return(odd&&!isOdd||!odd&&isOdd)&&(y=y.redNeg()),this.point(x,y)},ShortCurve.prototype.validate=function(point){if(point.inf)return!0;var{x,y}=point,ax=this.a.redMul(x),rhs=x.redSqr().redMul(x).redIAdd(ax).redIAdd(this.b);return y.redSqr().redISub(rhs).cmpn(0)===0},ShortCurve.prototype._endoWnafMulAdd=function(points,coeffs,jacobianResult){for(var npoints=this._endoWnafT1,ncoeffs=this._endoWnafT2,i=0;i\":\"\"},Point.prototype.isInfinity=function(){return this.inf},Point.prototype.add=function(p){if(this.inf)return p;if(p.inf)return this;if(this.eq(p))return this.dbl();if(this.neg().eq(p))return this.curve.point(null,null);if(this.x.cmp(p.x)===0)return this.curve.point(null,null);var c=this.y.redSub(p.y);c.cmpn(0)!==0&&(c=c.redMul(this.x.redSub(p.x).redInvm()));var nx=c.redSqr().redISub(this.x).redISub(p.x),ny=c.redMul(this.x.redSub(nx)).redISub(this.y);return this.curve.point(nx,ny)},Point.prototype.dbl=function(){if(this.inf)return this;var ys1=this.y.redAdd(this.y);if(ys1.cmpn(0)===0)return this.curve.point(null,null);var a=this.curve.a,x2=this.x.redSqr(),dyinv=ys1.redInvm(),c=x2.redAdd(x2).redIAdd(x2).redIAdd(a).redMul(dyinv),nx=c.redSqr().redISub(this.x.redAdd(this.x)),ny=c.redMul(this.x.redSub(nx)).redISub(this.y);return this.curve.point(nx,ny)},Point.prototype.getX=function(){return this.x.fromRed()},Point.prototype.getY=function(){return this.y.fromRed()},Point.prototype.mul=function(k){return k=new BN(k,16),this.isInfinity()\?this:this._hasDoubles(k)\?this.curve._fixedNafMul(this,k):this.curve.endo\?this.curve._endoWnafMulAdd([this],[k]):this.curve._wnafMul(this,k)},Point.prototype.mulAdd=function(k1,p2,k2){var points=[this,p2],coeffs=[k1,k2];return this.curve.endo\?this.curve._endoWnafMulAdd(points,coeffs):this.curve._wnafMulAdd(1,points,coeffs,2)},Point.prototype.jmulAdd=function(k1,p2,k2){var points=[this,p2],coeffs=[k1,k2];return this.curve.endo\?this.curve._endoWnafMulAdd(points,coeffs,!0):this.curve._wnafMulAdd(1,points,coeffs,2,!0)},Point.prototype.eq=function(p){return this===p||this.inf===p.inf&&(this.inf||this.x.cmp(p.x)===0&&this.y.cmp(p.y)===0)},Point.prototype.neg=function(_precompute){if(this.inf)return this;var res=this.curve.point(this.x,this.y.redNeg());if(_precompute&&this.precomputed){var pre=this.precomputed,negate=function(p){return p.neg()};res.precomputed={naf:pre.naf&&{wnd:pre.naf.wnd,points:pre.naf.points.map(negate)},doubles:pre.doubles&&{step:pre.doubles.step,points:pre.doubles.points.map(negate)}}}return res},Point.prototype.toJ=function(){if(this.inf)return this.curve.jpoint(null,null,null);var res=this.curve.jpoint(this.x,this.y,this.curve.one);return res};function JPoint(curve,x,y,z){Base.BasePoint.call(this,curve,\"jacobian\"),x===null&&y===null&&z===null\?(this.x=this.curve.one,this.y=this.curve.one,this.z=new BN(0)):(this.x=new BN(x,16),this.y=new BN(y,16),this.z=new BN(z,16)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.zOne=this.z===this.curve.one}inherits(JPoint,Base.BasePoint),ShortCurve.prototype.jpoint=function(x,y,z){return new JPoint(this,x,y,z)},JPoint.prototype.toP=function(){if(this.isInfinity())return this.curve.point(null,null);var zinv=this.z.redInvm(),zinv2=zinv.redSqr(),ax=this.x.redMul(zinv2),ay=this.y.redMul(zinv2).redMul(zinv);return this.curve.point(ax,ay)},JPoint.prototype.neg=function(){return this.curve.jpoint(this.x,this.y.redNeg(),this.z)},JPoint.prototype.add=function(p){if(this.isInfinity())return p;if(p.isInfinity())return this;var pz2=p.z.redSqr(),z2=this.z.redSqr(),u1=this.x.redMul(pz2),u2=p.x.redMul(z2),s1=this.y.redMul(pz2.redMul(p.z)),s2=p.y.redMul(z2.redMul(this.z)),h=u1.redSub(u2),r=s1.redSub(s2);if(h.cmpn(0)===0)return r.cmpn(0)!==0\?this.curve.jpoint(null,null,null):this.dbl();var h2=h.redSqr(),h3=h2.redMul(h),v=u1.redMul(h2),nx=r.redSqr().redIAdd(h3).redISub(v).redISub(v),ny=r.redMul(v.redISub(nx)).redISub(s1.redMul(h3)),nz=this.z.redMul(p.z).redMul(h);return this.curve.jpoint(nx,ny,nz)},JPoint.prototype.mixedAdd=function(p){if(this.isInfinity())return p.toJ();if(p.isInfinity())return this;var z2=this.z.redSqr(),u1=this.x,u2=p.x.redMul(z2),s1=this.y,s2=p.y.redMul(z2).redMul(this.z),h=u1.redSub(u2),r=s1.redSub(s2);if(h.cmpn(0)===0)return r.cmpn(0)!==0\?this.curve.jpoint(null,null,null):this.dbl();var h2=h.redSqr(),h3=h2.redMul(h),v=u1.redMul(h2),nx=r.redSqr().redIAdd(h3).redISub(v).redISub(v),ny=r.redMul(v.redISub(nx)).redISub(s1.redMul(h3)),nz=this.z.redMul(h);return this.curve.jpoint(nx,ny,nz)},JPoint.prototype.dblp=function(pow){if(pow===0)return this;if(this.isInfinity())return this;if(!pow)return this.dbl();var i;if(this.curve.zeroA||this.curve.threeA){var r=this;for(i=0;i=0)return!1;if(rx.redIAdd(t),this.x.cmp(rx)===0)return!0}},JPoint.prototype.inspect=function(){return this.isInfinity()\?\"\":\"\"},JPoint.prototype.isInfinity=function(){return this.z.cmpn(0)===0}}}),require_mont=__commonJS({\"node_modules/elliptic/lib/elliptic/curve/mont.js\"(exports,module){var BN=require_bn4(),inherits=require_inherits_browser(),Base=require_base(),utils=require_utils3();function MontCurve(conf){Base.call(this,\"mont\",conf),this.a=new BN(conf.a,16).toRed(this.red),this.b=new BN(conf.b,16).toRed(this.red),this.i4=new BN(4).toRed(this.red).redInvm(),this.two=new BN(2).toRed(this.red),this.a24=this.i4.redMul(this.a.redAdd(this.two))}inherits(MontCurve,Base),module.exports=MontCurve,MontCurve.prototype.validate=function(point){var x=point.normalize().x,x2=x.redSqr(),rhs=x2.redMul(x).redAdd(x2.redMul(this.a)).redAdd(x),y=rhs.redSqrt();return y.redSqr().cmp(rhs)===0};function Point(curve,x,z){Base.BasePoint.call(this,curve,\"projective\"),x===null&&z===null\?(this.x=this.curve.one,this.z=this.curve.zero):(this.x=new BN(x,16),this.z=new BN(z,16),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)))}inherits(Point,Base.BasePoint),MontCurve.prototype.decodePoint=function(bytes,enc){return this.point(utils.toArray(bytes,enc),1)},MontCurve.prototype.point=function(x,z){return new Point(this,x,z)},MontCurve.prototype.pointFromJSON=function(obj){return Point.fromJSON(this,obj)},Point.prototype.precompute=function(){},Point.prototype._encode=function(){return this.getX().toArray(\"be\",this.curve.p.byteLength())},Point.fromJSON=function(curve,obj){return new Point(curve,obj[0],obj[1]||curve.one)},Point.prototype.inspect=function(){return this.isInfinity()\?\"\":\"\"},Point.prototype.isInfinity=function(){return this.z.cmpn(0)===0},Point.prototype.dbl=function(){var a=this.x.redAdd(this.z),aa=a.redSqr(),b=this.x.redSub(this.z),bb=b.redSqr(),c=aa.redSub(bb),nx=aa.redMul(bb),nz=c.redMul(bb.redAdd(this.curve.a24.redMul(c)));return this.curve.point(nx,nz)},Point.prototype.add=function(){throw new Error(\"Not supported on Montgomery curve\")},Point.prototype.diffAdd=function(p,diff){var a=this.x.redAdd(this.z),b=this.x.redSub(this.z),c=p.x.redAdd(p.z),d=p.x.redSub(p.z),da=d.redMul(a),cb=c.redMul(b),nx=diff.z.redMul(da.redAdd(cb).redSqr()),nz=diff.x.redMul(da.redISub(cb).redSqr());return this.curve.point(nx,nz)},Point.prototype.mul=function(k){for(var t=k.clone(),a=this,b=this.curve.point(null,null),c=this,bits=[];t.cmpn(0)!==0;t.iushrn(1))bits.push(t.andln(1));for(var i=bits.length-1;i>=0;i--)bits[i]===0\?(a=a.diffAdd(b,c),b=b.dbl()):(b=a.diffAdd(b,c),a=a.dbl());return b},Point.prototype.mulAdd=function(){throw new Error(\"Not supported on Montgomery curve\")},Point.prototype.jumlAdd=function(){throw new Error(\"Not supported on Montgomery curve\")},Point.prototype.eq=function(other){return this.getX().cmp(other.getX())===0},Point.prototype.normalize=function(){return this.x=this.x.redMul(this.z.redInvm()),this.z=this.curve.one,this},Point.prototype.getX=function(){return this.normalize(),this.x.fromRed()}}}),require_edwards=__commonJS({\"node_modules/elliptic/lib/elliptic/curve/edwards.js\"(exports,module){var utils=require_utils3(),BN=require_bn4(),inherits=require_inherits_browser(),Base=require_base(),assert=utils.assert;function EdwardsCurve(conf){this.twisted=(conf.a|0)!==1,this.mOneA=this.twisted&&(conf.a|0)===-1,this.extended=this.mOneA,Base.call(this,\"edwards\",conf),this.a=new BN(conf.a,16).umod(this.red.m),this.a=this.a.toRed(this.red),this.c=new BN(conf.c,16).toRed(this.red),this.c2=this.c.redSqr(),this.d=new BN(conf.d,16).toRed(this.red),this.dd=this.d.redAdd(this.d),assert(!this.twisted||this.c.fromRed().cmpn(1)===0),this.oneC=(conf.c|0)===1}inherits(EdwardsCurve,Base),module.exports=EdwardsCurve,EdwardsCurve.prototype._mulA=function(num){return this.mOneA\?num.redNeg():this.a.redMul(num)},EdwardsCurve.prototype._mulC=function(num){return this.oneC\?num:this.c.redMul(num)},EdwardsCurve.prototype.jpoint=function(x,y,z,t){return this.point(x,y,z,t)},EdwardsCurve.prototype.pointFromX=function(x,odd){x=new BN(x,16),x.red||(x=x.toRed(this.red));var x2=x.redSqr(),rhs=this.c2.redSub(this.a.redMul(x2)),lhs=this.one.redSub(this.c2.redMul(this.d).redMul(x2)),y2=rhs.redMul(lhs.redInvm()),y=y2.redSqrt();if(y.redSqr().redSub(y2).cmp(this.zero)!==0)throw new Error(\"invalid point\");var isOdd=y.fromRed().isOdd();return(odd&&!isOdd||!odd&&isOdd)&&(y=y.redNeg()),this.point(x,y)},EdwardsCurve.prototype.pointFromY=function(y,odd){y=new BN(y,16),y.red||(y=y.toRed(this.red));var y2=y.redSqr(),lhs=y2.redSub(this.c2),rhs=y2.redMul(this.d).redMul(this.c2).redSub(this.a),x2=lhs.redMul(rhs.redInvm());if(x2.cmp(this.zero)===0){if(odd)throw new Error(\"invalid point\");return this.point(this.zero,y)}var x=x2.redSqrt();if(x.redSqr().redSub(x2).cmp(this.zero)!==0)throw new Error(\"invalid point\");return x.fromRed().isOdd()!==odd&&(x=x.redNeg()),this.point(x,y)},EdwardsCurve.prototype.validate=function(point){if(point.isInfinity())return!0;point.normalize();var x2=point.x.redSqr(),y2=point.y.redSqr(),lhs=x2.redMul(this.a).redAdd(y2),rhs=this.c2.redMul(this.one.redAdd(this.d.redMul(x2).redMul(y2)));return lhs.cmp(rhs)===0};function Point(curve,x,y,z,t){Base.BasePoint.call(this,curve,\"projective\"),x===null&&y===null&&z===null\?(this.x=this.curve.zero,this.y=this.curve.one,this.z=this.curve.one,this.t=this.curve.zero,this.zOne=!0):(this.x=new BN(x,16),this.y=new BN(y,16),this.z=z\?new BN(z,16):this.curve.one,this.t=t&&new BN(t,16),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.t&&!this.t.red&&(this.t=this.t.toRed(this.curve.red)),this.zOne=this.z===this.curve.one,this.curve.extended&&!this.t&&(this.t=this.x.redMul(this.y),this.zOne||(this.t=this.t.redMul(this.z.redInvm()))))}inherits(Point,Base.BasePoint),EdwardsCurve.prototype.pointFromJSON=function(obj){return Point.fromJSON(this,obj)},EdwardsCurve.prototype.point=function(x,y,z,t){return new Point(this,x,y,z,t)},Point.fromJSON=function(curve,obj){return new Point(curve,obj[0],obj[1],obj[2])},Point.prototype.inspect=function(){return this.isInfinity()\?\"\":\"\"},Point.prototype.isInfinity=function(){return this.x.cmpn(0)===0&&(this.y.cmp(this.z)===0||this.zOne&&this.y.cmp(this.curve.c)===0)},Point.prototype._extDbl=function(){var a=this.x.redSqr(),b=this.y.redSqr(),c=this.z.redSqr();c=c.redIAdd(c);var d=this.curve._mulA(a),e=this.x.redAdd(this.y).redSqr().redISub(a).redISub(b),g=d.redAdd(b),f=g.redSub(c),h=d.redSub(b),nx=e.redMul(f),ny=g.redMul(h),nt=e.redMul(h),nz=f.redMul(g);return this.curve.point(nx,ny,nz,nt)},Point.prototype._projDbl=function(){var b=this.x.redAdd(this.y).redSqr(),c=this.x.redSqr(),d=this.y.redSqr(),nx,ny,nz,e,h,j;if(this.curve.twisted){e=this.curve._mulA(c);var f=e.redAdd(d);this.zOne\?(nx=b.redSub(c).redSub(d).redMul(f.redSub(this.curve.two)),ny=f.redMul(e.redSub(d)),nz=f.redSqr().redSub(f).redSub(f)):(h=this.z.redSqr(),j=f.redSub(h).redISub(h),nx=b.redSub(c).redISub(d).redMul(j),ny=f.redMul(e.redSub(d)),nz=f.redMul(j))}else e=c.redAdd(d),h=this.curve._mulC(this.z).redSqr(),j=e.redSub(h).redSub(h),nx=this.curve._mulC(b.redISub(e)).redMul(j),ny=this.curve._mulC(e).redMul(c.redISub(d)),nz=e.redMul(j);return this.curve.point(nx,ny,nz)},Point.prototype.dbl=function(){return this.isInfinity()\?this:this.curve.extended\?this._extDbl():this._projDbl()},Point.prototype._extAdd=function(p){var a=this.y.redSub(this.x).redMul(p.y.redSub(p.x)),b=this.y.redAdd(this.x).redMul(p.y.redAdd(p.x)),c=this.t.redMul(this.curve.dd).redMul(p.t),d=this.z.redMul(p.z.redAdd(p.z)),e=b.redSub(a),f=d.redSub(c),g=d.redAdd(c),h=b.redAdd(a),nx=e.redMul(f),ny=g.redMul(h),nt=e.redMul(h),nz=f.redMul(g);return this.curve.point(nx,ny,nz,nt)},Point.prototype._projAdd=function(p){var a=this.z.redMul(p.z),b=a.redSqr(),c=this.x.redMul(p.x),d=this.y.redMul(p.y),e=this.curve.d.redMul(c).redMul(d),f=b.redSub(e),g=b.redAdd(e),tmp=this.x.redAdd(this.y).redMul(p.x.redAdd(p.y)).redISub(c).redISub(d),nx=a.redMul(f).redMul(tmp),ny,nz;return this.curve.twisted\?(ny=a.redMul(g).redMul(d.redSub(this.curve._mulA(c))),nz=f.redMul(g)):(ny=a.redMul(g).redMul(d.redSub(c)),nz=this.curve._mulC(f).redMul(g)),this.curve.point(nx,ny,nz)},Point.prototype.add=function(p){return this.isInfinity()\?p:p.isInfinity()\?this:this.curve.extended\?this._extAdd(p):this._projAdd(p)},Point.prototype.mul=function(k){return this._hasDoubles(k)\?this.curve._fixedNafMul(this,k):this.curve._wnafMul(this,k)},Point.prototype.mulAdd=function(k1,p,k2){return this.curve._wnafMulAdd(1,[this,p],[k1,k2],2,!1)},Point.prototype.jmulAdd=function(k1,p,k2){return this.curve._wnafMulAdd(1,[this,p],[k1,k2],2,!0)},Point.prototype.normalize=function(){if(this.zOne)return this;var zi=this.z.redInvm();return this.x=this.x.redMul(zi),this.y=this.y.redMul(zi),this.t&&(this.t=this.t.redMul(zi)),this.z=this.curve.one,this.zOne=!0,this},Point.prototype.neg=function(){return this.curve.point(this.x.redNeg(),this.y,this.z,this.t&&this.t.redNeg())},Point.prototype.getX=function(){return this.normalize(),this.x.fromRed()},Point.prototype.getY=function(){return this.normalize(),this.y.fromRed()},Point.prototype.eq=function(other){return this===other||this.getX().cmp(other.getX())===0&&this.getY().cmp(other.getY())===0},Point.prototype.eqXToP=function(x){var rx=x.toRed(this.curve.red).redMul(this.z);if(this.x.cmp(rx)===0)return!0;for(var xc=x.clone(),t=this.curve.redN.redMul(this.z);;){if(xc.iadd(this.curve.n),xc.cmp(this.curve.p)>=0)return!1;if(rx.redIAdd(t),this.x.cmp(rx)===0)return!0}},Point.prototype.toP=Point.prototype.normalize,Point.prototype.mixedAdd=Point.prototype.add}}),require_curve=__commonJS({\"node_modules/elliptic/lib/elliptic/curve/index.js\"(exports){var curve=exports;curve.base=require_base(),curve.short=require_short(),curve.mont=require_mont(),curve.edwards=require_edwards()}}),require_utils4=__commonJS({\"node_modules/hash.js/lib/hash/utils.js\"(exports){var assert=require_minimalistic_assert(),inherits=require_inherits_browser();exports.inherits=inherits;function isSurrogatePair(msg,i){return(msg.charCodeAt(i)&64512)!==55296||i<0||i+1>=msg.length\?!1:(msg.charCodeAt(i+1)&64512)===56320}function toArray(msg,enc){if(Array.isArray(msg))return msg.slice();if(!msg)return[];var res=[];if(typeof msg==\"string\")if(enc){if(enc===\"hex\")for(msg=msg.replace(/[^a-z0-9]+/gi,\"\"),msg.length%2!==0&&(msg=\"0\"+msg),i=0;i>6|192,res[p++]=c&63|128):isSurrogatePair(msg,i)\?(c=65536+((c&1023)<<10)+(msg.charCodeAt(++i)&1023),res[p++]=c>>18|240,res[p++]=c>>12&63|128,res[p++]=c>>6&63|128,res[p++]=c&63|128):(res[p++]=c>>12|224,res[p++]=c>>6&63|128,res[p++]=c&63|128)}else for(i=0;i>>24|w>>>8&65280|w<<8&16711680|(w&255)<<24;return res>>>0}exports.htonl=htonl;function toHex32(msg,endian){for(var res=\"\",i=0;i>>0}return res}exports.join32=join32;function split32(msg,endian){for(var res=new Array(msg.length*4),i=0,k=0;i>>24,res[k+1]=m>>>16&255,res[k+2]=m>>>8&255,res[k+3]=m&255):(res[k+3]=m>>>24,res[k+2]=m>>>16&255,res[k+1]=m>>>8&255,res[k]=m&255)}return res}exports.split32=split32;function rotr32(w,b){return w>>>b|w<<32-b}exports.rotr32=rotr32;function rotl32(w,b){return w<>>32-b}exports.rotl32=rotl32;function sum32(a,b){return a+b>>>0}exports.sum32=sum32;function sum32_3(a,b,c){return a+b+c>>>0}exports.sum32_3=sum32_3;function sum32_4(a,b,c,d){return a+b+c+d>>>0}exports.sum32_4=sum32_4;function sum32_5(a,b,c,d,e){return a+b+c+d+e>>>0}exports.sum32_5=sum32_5;function sum64(buf,pos,ah,al){var bh=buf[pos],bl=buf[pos+1],lo=al+bl>>>0,hi=(lo>>0,buf[pos+1]=lo}exports.sum64=sum64;function sum64_hi(ah,al,bh,bl){var lo=al+bl>>>0,hi=(lo>>0}exports.sum64_hi=sum64_hi;function sum64_lo(ah,al,bh,bl){var lo=al+bl;return lo>>>0}exports.sum64_lo=sum64_lo;function sum64_4_hi(ah,al,bh,bl,ch,cl,dh,dl){var carry=0,lo=al;lo=lo+bl>>>0,carry+=lo>>0,carry+=lo>>0,carry+=lo>>0}exports.sum64_4_hi=sum64_4_hi;function sum64_4_lo(ah,al,bh,bl,ch,cl,dh,dl){var lo=al+bl+cl+dl;return lo>>>0}exports.sum64_4_lo=sum64_4_lo;function sum64_5_hi(ah,al,bh,bl,ch,cl,dh,dl,eh,el){var carry=0,lo=al;lo=lo+bl>>>0,carry+=lo>>0,carry+=lo>>0,carry+=lo>>0,carry+=lo>>0}exports.sum64_5_hi=sum64_5_hi;function sum64_5_lo(ah,al,bh,bl,ch,cl,dh,dl,eh,el){var lo=al+bl+cl+dl+el;return lo>>>0}exports.sum64_5_lo=sum64_5_lo;function rotr64_hi(ah,al,num){var r=al<<32-num|ah>>>num;return r>>>0}exports.rotr64_hi=rotr64_hi;function rotr64_lo(ah,al,num){var r=ah<<32-num|al>>>num;return r>>>0}exports.rotr64_lo=rotr64_lo;function shr64_hi(ah,al,num){return ah>>>num}exports.shr64_hi=shr64_hi;function shr64_lo(ah,al,num){var r=ah<<32-num|al>>>num;return r>>>0}exports.shr64_lo=shr64_lo}}),require_common=__commonJS({\"node_modules/hash.js/lib/hash/common.js\"(exports){var utils=require_utils4(),assert=require_minimalistic_assert();function BlockHash(){this.pending=null,this.pendingTotal=0,this.blockSize=this.constructor.blockSize,this.outSize=this.constructor.outSize,this.hmacStrength=this.constructor.hmacStrength,this.padLength=this.constructor.padLength/8,this.endian=\"big\",this._delta8=this.blockSize/8,this._delta32=this.blockSize/32}exports.BlockHash=BlockHash,BlockHash.prototype.update=function(msg,enc){if(msg=utils.toArray(msg,enc),this.pending\?this.pending=this.pending.concat(msg):this.pending=msg,this.pendingTotal+=msg.length,this.pending.length>=this._delta8){msg=this.pending;var r=msg.length%this._delta8;this.pending=msg.slice(msg.length-r,msg.length),this.pending.length===0&&(this.pending=null),msg=utils.join32(msg,0,msg.length-r,this.endian);for(var i=0;i>>24&255,res[i++]=len>>>16&255,res[i++]=len>>>8&255,res[i++]=len&255}else for(res[i++]=len&255,res[i++]=len>>>8&255,res[i++]=len>>>16&255,res[i++]=len>>>24&255,res[i++]=0,res[i++]=0,res[i++]=0,res[i++]=0,t=8;t>>3}exports.g0_256=g0_256;function g1_256(x){return rotr32(x,17)^rotr32(x,19)^x>>>10}exports.g1_256=g1_256}}),require__=__commonJS({\"node_modules/hash.js/lib/hash/sha/1.js\"(exports,module){var utils=require_utils4(),common=require_common(),shaCommon=require_common2(),rotl32=utils.rotl32,sum32=utils.sum32,sum32_5=utils.sum32_5,ft_1=shaCommon.ft_1,BlockHash=common.BlockHash,sha1_K=[1518500249,1859775393,2400959708,3395469782];function SHA1(){if(!(this instanceof SHA1))return new SHA1;BlockHash.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.W=new Array(80)}utils.inherits(SHA1,BlockHash),module.exports=SHA1,SHA1.blockSize=512,SHA1.outSize=160,SHA1.hmacStrength=80,SHA1.padLength=64,SHA1.prototype._update=function(msg,start){for(var W=this.W,i=0;i<16;i++)W[i]=msg[start+i];for(;ithis.blockSize&&(key=new this.Hash().update(key).digest()),assert(key.length<=this.blockSize);for(var i=key.length;i=this.minEntropy/8,\"Not enough entropy. Minimum is: \"+this.minEntropy+\" bits\"),this._init(entropy,nonce,pers)}module.exports=HmacDRBG,HmacDRBG.prototype._init=function(entropy,nonce,pers){var seed=entropy.concat(nonce).concat(pers);this.K=new Array(this.outLen/8),this.V=new Array(this.outLen/8);for(var i=0;i=this.minEntropy/8,\"Not enough entropy. Minimum is: \"+this.minEntropy+\" bits\"),this._update(entropy.concat(add||[])),this._reseed=1},HmacDRBG.prototype.generate=function(len,enc,add,addEnc){if(this._reseed>this.reseedInterval)throw new Error(\"Reseed is required\");typeof enc!=\"string\"&&(addEnc=add,add=enc,enc=null),add&&(add=utils.toArray(add,addEnc||\"hex\"),this._update(add));for(var temp=[];temp.length\"}}}),require_signature=__commonJS({\"node_modules/elliptic/lib/elliptic/ec/signature.js\"(exports,module){var BN=require_bn4(),utils=require_utils3(),assert=utils.assert;function Signature(options,enc){if(options instanceof Signature)return options;this._importDER(options,enc)||(assert(options.r&&options.s,\"Signature without r or s\"),this.r=new BN(options.r,16),this.s=new BN(options.s,16),options.recoveryParam===void 0\?this.recoveryParam=null:this.recoveryParam=options.recoveryParam)}module.exports=Signature;function Position(){this.place=0}function getLength(buf,p){var initial=buf[p.place++];if(!(initial&128))return initial;var octetLen=initial&15;if(octetLen===0||octetLen>4)return!1;for(var val=0,i=0,off=p.place;i>>=0;return val<=127\?!1:(p.place=off,val)}function rmPadding(buf){for(var i=0,len=buf.length-1;!buf[i]&&!(buf[i+1]&128)&&i>>3);for(arr.push(octets|128);--octets;)arr.push(len>>>(octets<<3)&255);arr.push(len)}Signature.prototype.toDER=function(enc){var r=this.r.toArray(),s=this.s.toArray();for(r[0]&128&&(r=[0].concat(r)),s[0]&128&&(s=[0].concat(s)),r=rmPadding(r),s=rmPadding(s);!s[0]&&!(s[1]&128);)s=s.slice(1);var arr=[2];constructLength(arr,r.length),arr=arr.concat(r),arr.push(2),constructLength(arr,s.length);var backHalf=arr.concat(s),res=[48];return constructLength(res,backHalf.length),res=res.concat(backHalf),utils.encode(res,enc)}}}),require_ec=__commonJS({\"node_modules/elliptic/lib/elliptic/ec/index.js\"(exports,module){var BN=require_bn4(),HmacDRBG=require_hmac_drbg(),utils=require_utils3(),curves=require_curves(),rand=require_brorand(),assert=utils.assert,KeyPair=require_key(),Signature=require_signature();function EC(options){if(!(this instanceof EC))return new EC(options);typeof options==\"string\"&&(assert(Object.prototype.hasOwnProperty.call(curves,options),\"Unknown curve \"+options),options=curves[options]),options instanceof curves.PresetCurve&&(options={curve:options}),this.curve=options.curve.curve,this.n=this.curve.n,this.nh=this.n.ushrn(1),this.g=this.curve.g,this.g=options.curve.g,this.g.precompute(options.curve.n.bitLength()+1),this.hash=options.hash||options.curve.hash}module.exports=EC,EC.prototype.keyPair=function(options){return new KeyPair(this,options)},EC.prototype.keyFromPrivate=function(priv,enc){return KeyPair.fromPrivate(this,priv,enc)},EC.prototype.keyFromPublic=function(pub,enc){return KeyPair.fromPublic(this,pub,enc)},EC.prototype.genKeyPair=function(options){options||(options={});for(var drbg=new HmacDRBG({hash:this.hash,pers:options.pers,persEnc:options.persEnc||\"utf8\",entropy:options.entropy||rand(this.hash.hmacStrength),entropyEnc:options.entropy&&options.entropyEnc||\"utf8\",nonce:this.n.toArray()}),bytes=this.n.byteLength(),ns2=this.n.sub(new BN(2));;){var priv=new BN(drbg.generate(bytes));if(!(priv.cmp(ns2)>0))return priv.iaddn(1),this.keyFromPrivate(priv)}},EC.prototype._truncateToN=function(msg,truncOnly){var delta=msg.byteLength()*8-this.n.bitLength();return delta>0&&(msg=msg.ushrn(delta)),!truncOnly&&msg.cmp(this.n)>=0\?msg.sub(this.n):msg},EC.prototype.sign=function(msg,key,enc,options){typeof enc==\"object\"&&(options=enc,enc=null),options||(options={}),key=this.keyFromPrivate(key,enc),msg=this._truncateToN(new BN(msg,16));for(var bytes=this.n.byteLength(),bkey=key.getPrivate().toArray(\"be\",bytes),nonce=msg.toArray(\"be\",bytes),drbg=new HmacDRBG({hash:this.hash,entropy:bkey,nonce,pers:options.pers,persEnc:options.persEnc||\"utf8\"}),ns1=this.n.sub(new BN(1)),iter=0;;iter++){var k=options.k\?options.k(iter):new BN(drbg.generate(this.n.byteLength()));if(k=this._truncateToN(k,!0),!(k.cmpn(1)<=0||k.cmp(ns1)>=0)){var kp=this.g.mul(k);if(!kp.isInfinity()){var kpX=kp.getX(),r=kpX.umod(this.n);if(r.cmpn(0)!==0){var s=k.invm(this.n).mul(r.mul(key.getPrivate()).iadd(msg));if(s=s.umod(this.n),s.cmpn(0)!==0){var recoveryParam=(kp.getY().isOdd()\?1:0)|(kpX.cmp(r)!==0\?2:0);return options.canonical&&s.cmp(this.nh)>0&&(s=this.n.sub(s),recoveryParam^=1),new Signature({r,s,recoveryParam})}}}}}},EC.prototype.verify=function(msg,signature,key,enc){msg=this._truncateToN(new BN(msg,16)),key=this.keyFromPublic(key,enc),signature=new Signature(signature,\"hex\");var{r,s}=signature;if(r.cmpn(1)<0||r.cmp(this.n)>=0||s.cmpn(1)<0||s.cmp(this.n)>=0)return!1;var sinv=s.invm(this.n),u1=sinv.mul(msg).umod(this.n),u2=sinv.mul(r).umod(this.n),p;return this.curve._maxwellTrick\?(p=this.g.jmulAdd(u1,key.getPublic(),u2),p.isInfinity()\?!1:p.eqXToP(r)):(p=this.g.mulAdd(u1,key.getPublic(),u2),p.isInfinity()\?!1:p.getX().umod(this.n).cmp(r)===0)},EC.prototype.recoverPubKey=function(msg,signature,j,enc){assert((3&j)===j,\"The recovery param is more than two bits\"),signature=new Signature(signature,enc);var n=this.n,e=new BN(msg),r=signature.r,s=signature.s,isYOdd=j&1,isSecondKey=j>>1;if(r.cmp(this.curve.p.umod(this.curve.n))>=0&&isSecondKey)throw new Error(\"Unable to find sencond key candinate\");isSecondKey\?r=this.curve.pointFromX(r.add(this.curve.n),isYOdd):r=this.curve.pointFromX(r,isYOdd);var rInv=signature.r.invm(n),s1=n.sub(e).mul(rInv).umod(n),s2=s.mul(rInv).umod(n);return this.g.mulAdd(s1,r,s2)},EC.prototype.getKeyRecoveryParam=function(e,signature,Q,enc){if(signature=new Signature(signature,enc),signature.recoveryParam!==null)return signature.recoveryParam;for(var i=0;i<4;i++){var Qprime;try{Qprime=this.recoverPubKey(e,signature,i)}catch{continue}if(Qprime.eq(Q))return i}throw new Error(\"Unable to find valid recovery factor\")}}}),require_key2=__commonJS({\"node_modules/elliptic/lib/elliptic/eddsa/key.js\"(exports,module){var utils=require_utils3(),assert=utils.assert,parseBytes=utils.parseBytes,cachedProperty=utils.cachedProperty;function KeyPair(eddsa,params){this.eddsa=eddsa,this._secret=parseBytes(params.secret),eddsa.isPoint(params.pub)\?this._pub=params.pub:this._pubBytes=parseBytes(params.pub)}KeyPair.fromPublic=function(eddsa,pub){return pub instanceof KeyPair\?pub:new KeyPair(eddsa,{pub})},KeyPair.fromSecret=function(eddsa,secret){return secret instanceof KeyPair\?secret:new KeyPair(eddsa,{secret})},KeyPair.prototype.secret=function(){return this._secret},cachedProperty(KeyPair,\"pubBytes\",function(){return this.eddsa.encodePoint(this.pub())}),cachedProperty(KeyPair,\"pub\",function(){return this._pubBytes\?this.eddsa.decodePoint(this._pubBytes):this.eddsa.g.mul(this.priv())}),cachedProperty(KeyPair,\"privBytes\",function(){var eddsa=this.eddsa,hash=this.hash(),lastIx=eddsa.encodingLength-1,a=hash.slice(0,eddsa.encodingLength);return a[0]&=248,a[lastIx]&=127,a[lastIx]|=64,a}),cachedProperty(KeyPair,\"priv\",function(){return this.eddsa.decodeInt(this.privBytes())}),cachedProperty(KeyPair,\"hash\",function(){return this.eddsa.hash().update(this.secret()).digest()}),cachedProperty(KeyPair,\"messagePrefix\",function(){return this.hash().slice(this.eddsa.encodingLength)}),KeyPair.prototype.sign=function(message){return assert(this._secret,\"KeyPair can only verify\"),this.eddsa.sign(message,this)},KeyPair.prototype.verify=function(message,sig){return this.eddsa.verify(message,sig,this)},KeyPair.prototype.getSecret=function(enc){return assert(this._secret,\"KeyPair is public only\"),utils.encode(this.secret(),enc)},KeyPair.prototype.getPublic=function(enc){return utils.encode(this.pubBytes(),enc)},module.exports=KeyPair}}),require_signature2=__commonJS({\"node_modules/elliptic/lib/elliptic/eddsa/signature.js\"(exports,module){var BN=require_bn4(),utils=require_utils3(),assert=utils.assert,cachedProperty=utils.cachedProperty,parseBytes=utils.parseBytes;function Signature(eddsa,sig){this.eddsa=eddsa,typeof sig!=\"object\"&&(sig=parseBytes(sig)),Array.isArray(sig)&&(sig={R:sig.slice(0,eddsa.encodingLength),S:sig.slice(eddsa.encodingLength)}),assert(sig.R&&sig.S,\"Signature without R or S\"),eddsa.isPoint(sig.R)&&(this._R=sig.R),sig.S instanceof BN&&(this._S=sig.S),this._Rencoded=Array.isArray(sig.R)\?sig.R:sig.Rencoded,this._Sencoded=Array.isArray(sig.S)\?sig.S:sig.Sencoded}cachedProperty(Signature,\"S\",function(){return this.eddsa.decodeInt(this.Sencoded())}),cachedProperty(Signature,\"R\",function(){return this.eddsa.decodePoint(this.Rencoded())}),cachedProperty(Signature,\"Rencoded\",function(){return this.eddsa.encodePoint(this.R())}),cachedProperty(Signature,\"Sencoded\",function(){return this.eddsa.encodeInt(this.S())}),Signature.prototype.toBytes=function(){return this.Rencoded().concat(this.Sencoded())},Signature.prototype.toHex=function(){return utils.encode(this.toBytes(),\"hex\").toUpperCase()},module.exports=Signature}}),require_eddsa=__commonJS({\"node_modules/elliptic/lib/elliptic/eddsa/index.js\"(exports,module){var hash=require_hash2(),curves=require_curves(),utils=require_utils3(),assert=utils.assert,parseBytes=utils.parseBytes,KeyPair=require_key2(),Signature=require_signature2();function EDDSA(curve){if(assert(curve===\"ed25519\",\"only tested with ed25519 so far\"),!(this instanceof EDDSA))return new EDDSA(curve);curve=curves[curve].curve,this.curve=curve,this.g=curve.g,this.g.precompute(curve.n.bitLength()+1),this.pointClass=curve.point().constructor,this.encodingLength=Math.ceil(curve.n.bitLength()/8),this.hash=hash.sha512}module.exports=EDDSA,EDDSA.prototype.sign=function(message,secret){message=parseBytes(message);var key=this.keyFromSecret(secret),r=this.hashInt(key.messagePrefix(),message),R=this.g.mul(r),Rencoded=this.encodePoint(R),s_=this.hashInt(Rencoded,key.pubBytes(),message).mul(key.priv()),S=r.add(s_).umod(this.curve.n);return this.makeSignature({R,S,Rencoded})},EDDSA.prototype.verify=function(message,sig,pub){message=parseBytes(message),sig=this.makeSignature(sig);var key=this.keyFromPublic(pub),h=this.hashInt(sig.Rencoded(),key.pubBytes(),message),SG=this.g.mul(sig.S()),RplusAh=sig.R().add(key.pub().mul(h));return RplusAh.eq(SG)},EDDSA.prototype.hashInt=function(){for(var hash2=this.hash(),i=0;i0\?left:right},BN.min=function(left,right){return left.cmp(right)<0\?left:right},BN.prototype._init=function(number,base,endian){if(typeof number==\"number\")return this._initNumber(number,base,endian);if(typeof number==\"object\")return this._initArray(number,base,endian);base===\"hex\"&&(base=16),assert(base===(base|0)&&base>=2&&base<=36),number=number.toString().replace(/\\s+/g,\"\");var start=0;number[0]===\"-\"&&(start++,this.negative=1),start=0;i-=3)w=number[i]|number[i-1]<<8|number[i-2]<<16,this.words[j]|=w<>>26-off&67108863,off+=24,off>=26&&(off-=26,j++);else if(endian===\"le\")for(i=0,j=0;i>>26-off&67108863,off+=24,off>=26&&(off-=26,j++);return this.strip()};function parseHex4Bits(string,index){var c=string.charCodeAt(index);return c>=65&&c<=70\?c-55:c>=97&&c<=102\?c-87:c-48&15}function parseHexByte(string,lowerBound,index){var r=parseHex4Bits(string,index);return index-1>=lowerBound&&(r|=parseHex4Bits(string,index-1)<<4),r}BN.prototype._parseHex=function(number,start,endian){this.length=Math.ceil((number.length-start)/6),this.words=new Array(this.length);for(var i=0;i=start;i-=2)w=parseHexByte(number,start,i)<=18\?(off-=18,j+=1,this.words[j]|=w>>>26):off+=8;else{var parseLength=number.length-start;for(i=parseLength%2===0\?start+1:start;i=18\?(off-=18,j+=1,this.words[j]|=w>>>26):off+=8}this.strip()};function parseBase(str,start,end,mul){for(var r=0,len=Math.min(str.length,end),i=start;i=49\?r+=c-49+10:c>=17\?r+=c-17+10:r+=c}return r}BN.prototype._parseBase=function(number,base,start){this.words=[0],this.length=1;for(var limbLen=0,limbPow=1;limbPow<=67108863;limbPow*=base)limbLen++;limbLen--,limbPow=limbPow/base|0;for(var total=number.length-start,mod=total%limbLen,end=Math.min(total,total-mod)+start,word=0,i=start;i1&&this.words[this.length-1]===0;)this.length--;return this._normSign()},BN.prototype._normSign=function(){return this.length===1&&this.words[0]===0&&(this.negative=0),this},BN.prototype.inspect=function(){return(this.red\?\"\"};var zeros=[\"\",\"0\",\"00\",\"000\",\"0000\",\"00000\",\"000000\",\"0000000\",\"00000000\",\"000000000\",\"0000000000\",\"00000000000\",\"000000000000\",\"0000000000000\",\"00000000000000\",\"000000000000000\",\"0000000000000000\",\"00000000000000000\",\"000000000000000000\",\"0000000000000000000\",\"00000000000000000000\",\"000000000000000000000\",\"0000000000000000000000\",\"00000000000000000000000\",\"000000000000000000000000\",\"0000000000000000000000000\"],groupSizes=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],groupBases=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64000000,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,24300000,28629151,33554432,39135393,45435424,52521875,60466176];BN.prototype.toString=function(base,padding){base=base||10,padding=padding|0||1;var out;if(base===16||base===\"hex\"){out=\"\";for(var off=0,carry=0,i=0;i>>24-off&16777215,carry!==0||i!==this.length-1\?out=zeros[6-word.length]+word+out:out=word+out,off+=2,off>=26&&(off-=26,i--)}for(carry!==0&&(out=carry.toString(16)+out);out.length%padding!==0;)out=\"0\"+out;return this.negative!==0&&(out=\"-\"+out),out}if(base===(base|0)&&base>=2&&base<=36){var groupSize=groupSizes[base],groupBase=groupBases[base];out=\"\";var c=this.clone();for(c.negative=0;!c.isZero();){var r=c.modn(groupBase).toString(base);c=c.idivn(groupBase),c.isZero()\?out=r+out:out=zeros[groupSize-r.length]+r+out}for(this.isZero()&&(out=\"0\"+out);out.length%padding!==0;)out=\"0\"+out;return this.negative!==0&&(out=\"-\"+out),out}assert(!1,\"Base should be between 2 and 36\")},BN.prototype.toNumber=function(){var ret=this.words[0];return this.length===2\?ret+=this.words[1]*67108864:this.length===3&&this.words[2]===1\?ret+=4503599627370496+this.words[1]*67108864:this.length>2&&assert(!1,\"Number can only safely store up to 53 bits\"),this.negative!==0\?-ret:ret},BN.prototype.toJSON=function(){return this.toString(16)},BN.prototype.toBuffer=function(endian,length){return assert(typeof Buffer2<\"u\"),this.toArrayLike(Buffer2,endian,length)},BN.prototype.toArray=function(endian,length){return this.toArrayLike(Array,endian,length)},BN.prototype.toArrayLike=function(ArrayType,endian,length){var byteLength=this.byteLength(),reqLength=length||Math.max(1,byteLength);assert(byteLength<=reqLength,\"byte array longer than desired length\"),assert(reqLength>0,\"Requested array length <= 0\"),this.strip();var littleEndian=endian===\"le\",res=new ArrayType(reqLength),b,i,q=this.clone();if(littleEndian){for(i=0;!q.isZero();i++)b=q.andln(255),q.iushrn(8),res[i]=b;for(;i=4096&&(r+=13,t>>>=13),t>=64&&(r+=7,t>>>=7),t>=8&&(r+=4,t>>>=4),t>=2&&(r+=2,t>>>=2),r+t},BN.prototype._zeroBits=function(w){if(w===0)return 26;var t=w,r=0;return(t&8191)===0&&(r+=13,t>>>=13),(t&127)===0&&(r+=7,t>>>=7),(t&15)===0&&(r+=4,t>>>=4),(t&3)===0&&(r+=2,t>>>=2),(t&1)===0&&r++,r},BN.prototype.bitLength=function(){var w=this.words[this.length-1],hi=this._countBits(w);return(this.length-1)*26+hi};function toBitArray(num){for(var w=new Array(num.bitLength()),bit=0;bit>>wbit}return w}BN.prototype.zeroBits=function(){if(this.isZero())return 0;for(var r=0,i=0;inum.length\?this.clone().ior(num):num.clone().ior(this)},BN.prototype.uor=function(num){return this.length>num.length\?this.clone().iuor(num):num.clone().iuor(this)},BN.prototype.iuand=function(num){var b;this.length>num.length\?b=num:b=this;for(var i=0;inum.length\?this.clone().iand(num):num.clone().iand(this)},BN.prototype.uand=function(num){return this.length>num.length\?this.clone().iuand(num):num.clone().iuand(this)},BN.prototype.iuxor=function(num){var a,b;this.length>num.length\?(a=this,b=num):(a=num,b=this);for(var i=0;inum.length\?this.clone().ixor(num):num.clone().ixor(this)},BN.prototype.uxor=function(num){return this.length>num.length\?this.clone().iuxor(num):num.clone().iuxor(this)},BN.prototype.inotn=function(width){assert(typeof width==\"number\"&&width>=0);var bytesNeeded=Math.ceil(width/26)|0,bitsLeft=width%26;this._expand(bytesNeeded),bitsLeft>0&&bytesNeeded--;for(var i=0;i0&&(this.words[i]=~this.words[i]&67108863>>26-bitsLeft),this.strip()},BN.prototype.notn=function(width){return this.clone().inotn(width)},BN.prototype.setn=function(bit,val){assert(typeof bit==\"number\"&&bit>=0);var off=bit/26|0,wbit=bit%26;return this._expand(off+1),val\?this.words[off]=this.words[off]|1<num.length\?(a=this,b=num):(a=num,b=this);for(var carry=0,i=0;i>>26;for(;carry!==0&&i>>26;if(this.length=a.length,carry!==0)this.words[this.length]=carry,this.length++;else if(a!==this)for(;inum.length\?this.clone().iadd(num):num.clone().iadd(this)},BN.prototype.isub=function(num){if(num.negative!==0){num.negative=0;var r=this.iadd(num);return num.negative=1,r._normSign()}else if(this.negative!==0)return this.negative=0,this.iadd(num),this.negative=1,this._normSign();var cmp=this.cmp(num);if(cmp===0)return this.negative=0,this.length=1,this.words[0]=0,this;var a,b;cmp>0\?(a=this,b=num):(a=num,b=this);for(var carry=0,i=0;i>26,this.words[i]=r&67108863;for(;carry!==0&&i>26,this.words[i]=r&67108863;if(carry===0&&i>>26,rword=carry&67108863,maxJ=Math.min(k,num.length-1),j=Math.max(0,k-self2.length+1);j<=maxJ;j++){var i=k-j|0;a=self2.words[i]|0,b=num.words[j]|0,r=a*b+rword,ncarry+=r/67108864|0,rword=r&67108863}out.words[k]=rword|0,carry=ncarry|0}return carry!==0\?out.words[k]=carry|0:out.length--,out.strip()}var comb10MulTo=function(self2,num,out){var a=self2.words,b=num.words,o=out.words,c=0,lo,mid,hi,a0=a[0]|0,al0=a0&8191,ah0=a0>>>13,a1=a[1]|0,al1=a1&8191,ah1=a1>>>13,a2=a[2]|0,al2=a2&8191,ah2=a2>>>13,a3=a[3]|0,al3=a3&8191,ah3=a3>>>13,a4=a[4]|0,al4=a4&8191,ah4=a4>>>13,a5=a[5]|0,al5=a5&8191,ah5=a5>>>13,a6=a[6]|0,al6=a6&8191,ah6=a6>>>13,a7=a[7]|0,al7=a7&8191,ah7=a7>>>13,a8=a[8]|0,al8=a8&8191,ah8=a8>>>13,a9=a[9]|0,al9=a9&8191,ah9=a9>>>13,b0=b[0]|0,bl0=b0&8191,bh0=b0>>>13,b1=b[1]|0,bl1=b1&8191,bh1=b1>>>13,b2=b[2]|0,bl2=b2&8191,bh2=b2>>>13,b3=b[3]|0,bl3=b3&8191,bh3=b3>>>13,b4=b[4]|0,bl4=b4&8191,bh4=b4>>>13,b5=b[5]|0,bl5=b5&8191,bh5=b5>>>13,b6=b[6]|0,bl6=b6&8191,bh6=b6>>>13,b7=b[7]|0,bl7=b7&8191,bh7=b7>>>13,b8=b[8]|0,bl8=b8&8191,bh8=b8>>>13,b9=b[9]|0,bl9=b9&8191,bh9=b9>>>13;out.negative=self2.negative^num.negative,out.length=19,lo=Math.imul(al0,bl0),mid=Math.imul(al0,bh0),mid=mid+Math.imul(ah0,bl0)|0,hi=Math.imul(ah0,bh0);var w0=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w0>>>26)|0,w0&=67108863,lo=Math.imul(al1,bl0),mid=Math.imul(al1,bh0),mid=mid+Math.imul(ah1,bl0)|0,hi=Math.imul(ah1,bh0),lo=lo+Math.imul(al0,bl1)|0,mid=mid+Math.imul(al0,bh1)|0,mid=mid+Math.imul(ah0,bl1)|0,hi=hi+Math.imul(ah0,bh1)|0;var w1=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w1>>>26)|0,w1&=67108863,lo=Math.imul(al2,bl0),mid=Math.imul(al2,bh0),mid=mid+Math.imul(ah2,bl0)|0,hi=Math.imul(ah2,bh0),lo=lo+Math.imul(al1,bl1)|0,mid=mid+Math.imul(al1,bh1)|0,mid=mid+Math.imul(ah1,bl1)|0,hi=hi+Math.imul(ah1,bh1)|0,lo=lo+Math.imul(al0,bl2)|0,mid=mid+Math.imul(al0,bh2)|0,mid=mid+Math.imul(ah0,bl2)|0,hi=hi+Math.imul(ah0,bh2)|0;var w2=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w2>>>26)|0,w2&=67108863,lo=Math.imul(al3,bl0),mid=Math.imul(al3,bh0),mid=mid+Math.imul(ah3,bl0)|0,hi=Math.imul(ah3,bh0),lo=lo+Math.imul(al2,bl1)|0,mid=mid+Math.imul(al2,bh1)|0,mid=mid+Math.imul(ah2,bl1)|0,hi=hi+Math.imul(ah2,bh1)|0,lo=lo+Math.imul(al1,bl2)|0,mid=mid+Math.imul(al1,bh2)|0,mid=mid+Math.imul(ah1,bl2)|0,hi=hi+Math.imul(ah1,bh2)|0,lo=lo+Math.imul(al0,bl3)|0,mid=mid+Math.imul(al0,bh3)|0,mid=mid+Math.imul(ah0,bl3)|0,hi=hi+Math.imul(ah0,bh3)|0;var w3=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w3>>>26)|0,w3&=67108863,lo=Math.imul(al4,bl0),mid=Math.imul(al4,bh0),mid=mid+Math.imul(ah4,bl0)|0,hi=Math.imul(ah4,bh0),lo=lo+Math.imul(al3,bl1)|0,mid=mid+Math.imul(al3,bh1)|0,mid=mid+Math.imul(ah3,bl1)|0,hi=hi+Math.imul(ah3,bh1)|0,lo=lo+Math.imul(al2,bl2)|0,mid=mid+Math.imul(al2,bh2)|0,mid=mid+Math.imul(ah2,bl2)|0,hi=hi+Math.imul(ah2,bh2)|0,lo=lo+Math.imul(al1,bl3)|0,mid=mid+Math.imul(al1,bh3)|0,mid=mid+Math.imul(ah1,bl3)|0,hi=hi+Math.imul(ah1,bh3)|0,lo=lo+Math.imul(al0,bl4)|0,mid=mid+Math.imul(al0,bh4)|0,mid=mid+Math.imul(ah0,bl4)|0,hi=hi+Math.imul(ah0,bh4)|0;var w4=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w4>>>26)|0,w4&=67108863,lo=Math.imul(al5,bl0),mid=Math.imul(al5,bh0),mid=mid+Math.imul(ah5,bl0)|0,hi=Math.imul(ah5,bh0),lo=lo+Math.imul(al4,bl1)|0,mid=mid+Math.imul(al4,bh1)|0,mid=mid+Math.imul(ah4,bl1)|0,hi=hi+Math.imul(ah4,bh1)|0,lo=lo+Math.imul(al3,bl2)|0,mid=mid+Math.imul(al3,bh2)|0,mid=mid+Math.imul(ah3,bl2)|0,hi=hi+Math.imul(ah3,bh2)|0,lo=lo+Math.imul(al2,bl3)|0,mid=mid+Math.imul(al2,bh3)|0,mid=mid+Math.imul(ah2,bl3)|0,hi=hi+Math.imul(ah2,bh3)|0,lo=lo+Math.imul(al1,bl4)|0,mid=mid+Math.imul(al1,bh4)|0,mid=mid+Math.imul(ah1,bl4)|0,hi=hi+Math.imul(ah1,bh4)|0,lo=lo+Math.imul(al0,bl5)|0,mid=mid+Math.imul(al0,bh5)|0,mid=mid+Math.imul(ah0,bl5)|0,hi=hi+Math.imul(ah0,bh5)|0;var w5=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w5>>>26)|0,w5&=67108863,lo=Math.imul(al6,bl0),mid=Math.imul(al6,bh0),mid=mid+Math.imul(ah6,bl0)|0,hi=Math.imul(ah6,bh0),lo=lo+Math.imul(al5,bl1)|0,mid=mid+Math.imul(al5,bh1)|0,mid=mid+Math.imul(ah5,bl1)|0,hi=hi+Math.imul(ah5,bh1)|0,lo=lo+Math.imul(al4,bl2)|0,mid=mid+Math.imul(al4,bh2)|0,mid=mid+Math.imul(ah4,bl2)|0,hi=hi+Math.imul(ah4,bh2)|0,lo=lo+Math.imul(al3,bl3)|0,mid=mid+Math.imul(al3,bh3)|0,mid=mid+Math.imul(ah3,bl3)|0,hi=hi+Math.imul(ah3,bh3)|0,lo=lo+Math.imul(al2,bl4)|0,mid=mid+Math.imul(al2,bh4)|0,mid=mid+Math.imul(ah2,bl4)|0,hi=hi+Math.imul(ah2,bh4)|0,lo=lo+Math.imul(al1,bl5)|0,mid=mid+Math.imul(al1,bh5)|0,mid=mid+Math.imul(ah1,bl5)|0,hi=hi+Math.imul(ah1,bh5)|0,lo=lo+Math.imul(al0,bl6)|0,mid=mid+Math.imul(al0,bh6)|0,mid=mid+Math.imul(ah0,bl6)|0,hi=hi+Math.imul(ah0,bh6)|0;var w6=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w6>>>26)|0,w6&=67108863,lo=Math.imul(al7,bl0),mid=Math.imul(al7,bh0),mid=mid+Math.imul(ah7,bl0)|0,hi=Math.imul(ah7,bh0),lo=lo+Math.imul(al6,bl1)|0,mid=mid+Math.imul(al6,bh1)|0,mid=mid+Math.imul(ah6,bl1)|0,hi=hi+Math.imul(ah6,bh1)|0,lo=lo+Math.imul(al5,bl2)|0,mid=mid+Math.imul(al5,bh2)|0,mid=mid+Math.imul(ah5,bl2)|0,hi=hi+Math.imul(ah5,bh2)|0,lo=lo+Math.imul(al4,bl3)|0,mid=mid+Math.imul(al4,bh3)|0,mid=mid+Math.imul(ah4,bl3)|0,hi=hi+Math.imul(ah4,bh3)|0,lo=lo+Math.imul(al3,bl4)|0,mid=mid+Math.imul(al3,bh4)|0,mid=mid+Math.imul(ah3,bl4)|0,hi=hi+Math.imul(ah3,bh4)|0,lo=lo+Math.imul(al2,bl5)|0,mid=mid+Math.imul(al2,bh5)|0,mid=mid+Math.imul(ah2,bl5)|0,hi=hi+Math.imul(ah2,bh5)|0,lo=lo+Math.imul(al1,bl6)|0,mid=mid+Math.imul(al1,bh6)|0,mid=mid+Math.imul(ah1,bl6)|0,hi=hi+Math.imul(ah1,bh6)|0,lo=lo+Math.imul(al0,bl7)|0,mid=mid+Math.imul(al0,bh7)|0,mid=mid+Math.imul(ah0,bl7)|0,hi=hi+Math.imul(ah0,bh7)|0;var w7=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w7>>>26)|0,w7&=67108863,lo=Math.imul(al8,bl0),mid=Math.imul(al8,bh0),mid=mid+Math.imul(ah8,bl0)|0,hi=Math.imul(ah8,bh0),lo=lo+Math.imul(al7,bl1)|0,mid=mid+Math.imul(al7,bh1)|0,mid=mid+Math.imul(ah7,bl1)|0,hi=hi+Math.imul(ah7,bh1)|0,lo=lo+Math.imul(al6,bl2)|0,mid=mid+Math.imul(al6,bh2)|0,mid=mid+Math.imul(ah6,bl2)|0,hi=hi+Math.imul(ah6,bh2)|0,lo=lo+Math.imul(al5,bl3)|0,mid=mid+Math.imul(al5,bh3)|0,mid=mid+Math.imul(ah5,bl3)|0,hi=hi+Math.imul(ah5,bh3)|0,lo=lo+Math.imul(al4,bl4)|0,mid=mid+Math.imul(al4,bh4)|0,mid=mid+Math.imul(ah4,bl4)|0,hi=hi+Math.imul(ah4,bh4)|0,lo=lo+Math.imul(al3,bl5)|0,mid=mid+Math.imul(al3,bh5)|0,mid=mid+Math.imul(ah3,bl5)|0,hi=hi+Math.imul(ah3,bh5)|0,lo=lo+Math.imul(al2,bl6)|0,mid=mid+Math.imul(al2,bh6)|0,mid=mid+Math.imul(ah2,bl6)|0,hi=hi+Math.imul(ah2,bh6)|0,lo=lo+Math.imul(al1,bl7)|0,mid=mid+Math.imul(al1,bh7)|0,mid=mid+Math.imul(ah1,bl7)|0,hi=hi+Math.imul(ah1,bh7)|0,lo=lo+Math.imul(al0,bl8)|0,mid=mid+Math.imul(al0,bh8)|0,mid=mid+Math.imul(ah0,bl8)|0,hi=hi+Math.imul(ah0,bh8)|0;var w8=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w8>>>26)|0,w8&=67108863,lo=Math.imul(al9,bl0),mid=Math.imul(al9,bh0),mid=mid+Math.imul(ah9,bl0)|0,hi=Math.imul(ah9,bh0),lo=lo+Math.imul(al8,bl1)|0,mid=mid+Math.imul(al8,bh1)|0,mid=mid+Math.imul(ah8,bl1)|0,hi=hi+Math.imul(ah8,bh1)|0,lo=lo+Math.imul(al7,bl2)|0,mid=mid+Math.imul(al7,bh2)|0,mid=mid+Math.imul(ah7,bl2)|0,hi=hi+Math.imul(ah7,bh2)|0,lo=lo+Math.imul(al6,bl3)|0,mid=mid+Math.imul(al6,bh3)|0,mid=mid+Math.imul(ah6,bl3)|0,hi=hi+Math.imul(ah6,bh3)|0,lo=lo+Math.imul(al5,bl4)|0,mid=mid+Math.imul(al5,bh4)|0,mid=mid+Math.imul(ah5,bl4)|0,hi=hi+Math.imul(ah5,bh4)|0,lo=lo+Math.imul(al4,bl5)|0,mid=mid+Math.imul(al4,bh5)|0,mid=mid+Math.imul(ah4,bl5)|0,hi=hi+Math.imul(ah4,bh5)|0,lo=lo+Math.imul(al3,bl6)|0,mid=mid+Math.imul(al3,bh6)|0,mid=mid+Math.imul(ah3,bl6)|0,hi=hi+Math.imul(ah3,bh6)|0,lo=lo+Math.imul(al2,bl7)|0,mid=mid+Math.imul(al2,bh7)|0,mid=mid+Math.imul(ah2,bl7)|0,hi=hi+Math.imul(ah2,bh7)|0,lo=lo+Math.imul(al1,bl8)|0,mid=mid+Math.imul(al1,bh8)|0,mid=mid+Math.imul(ah1,bl8)|0,hi=hi+Math.imul(ah1,bh8)|0,lo=lo+Math.imul(al0,bl9)|0,mid=mid+Math.imul(al0,bh9)|0,mid=mid+Math.imul(ah0,bl9)|0,hi=hi+Math.imul(ah0,bh9)|0;var w9=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w9>>>26)|0,w9&=67108863,lo=Math.imul(al9,bl1),mid=Math.imul(al9,bh1),mid=mid+Math.imul(ah9,bl1)|0,hi=Math.imul(ah9,bh1),lo=lo+Math.imul(al8,bl2)|0,mid=mid+Math.imul(al8,bh2)|0,mid=mid+Math.imul(ah8,bl2)|0,hi=hi+Math.imul(ah8,bh2)|0,lo=lo+Math.imul(al7,bl3)|0,mid=mid+Math.imul(al7,bh3)|0,mid=mid+Math.imul(ah7,bl3)|0,hi=hi+Math.imul(ah7,bh3)|0,lo=lo+Math.imul(al6,bl4)|0,mid=mid+Math.imul(al6,bh4)|0,mid=mid+Math.imul(ah6,bl4)|0,hi=hi+Math.imul(ah6,bh4)|0,lo=lo+Math.imul(al5,bl5)|0,mid=mid+Math.imul(al5,bh5)|0,mid=mid+Math.imul(ah5,bl5)|0,hi=hi+Math.imul(ah5,bh5)|0,lo=lo+Math.imul(al4,bl6)|0,mid=mid+Math.imul(al4,bh6)|0,mid=mid+Math.imul(ah4,bl6)|0,hi=hi+Math.imul(ah4,bh6)|0,lo=lo+Math.imul(al3,bl7)|0,mid=mid+Math.imul(al3,bh7)|0,mid=mid+Math.imul(ah3,bl7)|0,hi=hi+Math.imul(ah3,bh7)|0,lo=lo+Math.imul(al2,bl8)|0,mid=mid+Math.imul(al2,bh8)|0,mid=mid+Math.imul(ah2,bl8)|0,hi=hi+Math.imul(ah2,bh8)|0,lo=lo+Math.imul(al1,bl9)|0,mid=mid+Math.imul(al1,bh9)|0,mid=mid+Math.imul(ah1,bl9)|0,hi=hi+Math.imul(ah1,bh9)|0;var w10=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w10>>>26)|0,w10&=67108863,lo=Math.imul(al9,bl2),mid=Math.imul(al9,bh2),mid=mid+Math.imul(ah9,bl2)|0,hi=Math.imul(ah9,bh2),lo=lo+Math.imul(al8,bl3)|0,mid=mid+Math.imul(al8,bh3)|0,mid=mid+Math.imul(ah8,bl3)|0,hi=hi+Math.imul(ah8,bh3)|0,lo=lo+Math.imul(al7,bl4)|0,mid=mid+Math.imul(al7,bh4)|0,mid=mid+Math.imul(ah7,bl4)|0,hi=hi+Math.imul(ah7,bh4)|0,lo=lo+Math.imul(al6,bl5)|0,mid=mid+Math.imul(al6,bh5)|0,mid=mid+Math.imul(ah6,bl5)|0,hi=hi+Math.imul(ah6,bh5)|0,lo=lo+Math.imul(al5,bl6)|0,mid=mid+Math.imul(al5,bh6)|0,mid=mid+Math.imul(ah5,bl6)|0,hi=hi+Math.imul(ah5,bh6)|0,lo=lo+Math.imul(al4,bl7)|0,mid=mid+Math.imul(al4,bh7)|0,mid=mid+Math.imul(ah4,bl7)|0,hi=hi+Math.imul(ah4,bh7)|0,lo=lo+Math.imul(al3,bl8)|0,mid=mid+Math.imul(al3,bh8)|0,mid=mid+Math.imul(ah3,bl8)|0,hi=hi+Math.imul(ah3,bh8)|0,lo=lo+Math.imul(al2,bl9)|0,mid=mid+Math.imul(al2,bh9)|0,mid=mid+Math.imul(ah2,bl9)|0,hi=hi+Math.imul(ah2,bh9)|0;var w11=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w11>>>26)|0,w11&=67108863,lo=Math.imul(al9,bl3),mid=Math.imul(al9,bh3),mid=mid+Math.imul(ah9,bl3)|0,hi=Math.imul(ah9,bh3),lo=lo+Math.imul(al8,bl4)|0,mid=mid+Math.imul(al8,bh4)|0,mid=mid+Math.imul(ah8,bl4)|0,hi=hi+Math.imul(ah8,bh4)|0,lo=lo+Math.imul(al7,bl5)|0,mid=mid+Math.imul(al7,bh5)|0,mid=mid+Math.imul(ah7,bl5)|0,hi=hi+Math.imul(ah7,bh5)|0,lo=lo+Math.imul(al6,bl6)|0,mid=mid+Math.imul(al6,bh6)|0,mid=mid+Math.imul(ah6,bl6)|0,hi=hi+Math.imul(ah6,bh6)|0,lo=lo+Math.imul(al5,bl7)|0,mid=mid+Math.imul(al5,bh7)|0,mid=mid+Math.imul(ah5,bl7)|0,hi=hi+Math.imul(ah5,bh7)|0,lo=lo+Math.imul(al4,bl8)|0,mid=mid+Math.imul(al4,bh8)|0,mid=mid+Math.imul(ah4,bl8)|0,hi=hi+Math.imul(ah4,bh8)|0,lo=lo+Math.imul(al3,bl9)|0,mid=mid+Math.imul(al3,bh9)|0,mid=mid+Math.imul(ah3,bl9)|0,hi=hi+Math.imul(ah3,bh9)|0;var w12=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w12>>>26)|0,w12&=67108863,lo=Math.imul(al9,bl4),mid=Math.imul(al9,bh4),mid=mid+Math.imul(ah9,bl4)|0,hi=Math.imul(ah9,bh4),lo=lo+Math.imul(al8,bl5)|0,mid=mid+Math.imul(al8,bh5)|0,mid=mid+Math.imul(ah8,bl5)|0,hi=hi+Math.imul(ah8,bh5)|0,lo=lo+Math.imul(al7,bl6)|0,mid=mid+Math.imul(al7,bh6)|0,mid=mid+Math.imul(ah7,bl6)|0,hi=hi+Math.imul(ah7,bh6)|0,lo=lo+Math.imul(al6,bl7)|0,mid=mid+Math.imul(al6,bh7)|0,mid=mid+Math.imul(ah6,bl7)|0,hi=hi+Math.imul(ah6,bh7)|0,lo=lo+Math.imul(al5,bl8)|0,mid=mid+Math.imul(al5,bh8)|0,mid=mid+Math.imul(ah5,bl8)|0,hi=hi+Math.imul(ah5,bh8)|0,lo=lo+Math.imul(al4,bl9)|0,mid=mid+Math.imul(al4,bh9)|0,mid=mid+Math.imul(ah4,bl9)|0,hi=hi+Math.imul(ah4,bh9)|0;var w13=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w13>>>26)|0,w13&=67108863,lo=Math.imul(al9,bl5),mid=Math.imul(al9,bh5),mid=mid+Math.imul(ah9,bl5)|0,hi=Math.imul(ah9,bh5),lo=lo+Math.imul(al8,bl6)|0,mid=mid+Math.imul(al8,bh6)|0,mid=mid+Math.imul(ah8,bl6)|0,hi=hi+Math.imul(ah8,bh6)|0,lo=lo+Math.imul(al7,bl7)|0,mid=mid+Math.imul(al7,bh7)|0,mid=mid+Math.imul(ah7,bl7)|0,hi=hi+Math.imul(ah7,bh7)|0,lo=lo+Math.imul(al6,bl8)|0,mid=mid+Math.imul(al6,bh8)|0,mid=mid+Math.imul(ah6,bl8)|0,hi=hi+Math.imul(ah6,bh8)|0,lo=lo+Math.imul(al5,bl9)|0,mid=mid+Math.imul(al5,bh9)|0,mid=mid+Math.imul(ah5,bl9)|0,hi=hi+Math.imul(ah5,bh9)|0;var w14=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w14>>>26)|0,w14&=67108863,lo=Math.imul(al9,bl6),mid=Math.imul(al9,bh6),mid=mid+Math.imul(ah9,bl6)|0,hi=Math.imul(ah9,bh6),lo=lo+Math.imul(al8,bl7)|0,mid=mid+Math.imul(al8,bh7)|0,mid=mid+Math.imul(ah8,bl7)|0,hi=hi+Math.imul(ah8,bh7)|0,lo=lo+Math.imul(al7,bl8)|0,mid=mid+Math.imul(al7,bh8)|0,mid=mid+Math.imul(ah7,bl8)|0,hi=hi+Math.imul(ah7,bh8)|0,lo=lo+Math.imul(al6,bl9)|0,mid=mid+Math.imul(al6,bh9)|0,mid=mid+Math.imul(ah6,bl9)|0,hi=hi+Math.imul(ah6,bh9)|0;var w15=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w15>>>26)|0,w15&=67108863,lo=Math.imul(al9,bl7),mid=Math.imul(al9,bh7),mid=mid+Math.imul(ah9,bl7)|0,hi=Math.imul(ah9,bh7),lo=lo+Math.imul(al8,bl8)|0,mid=mid+Math.imul(al8,bh8)|0,mid=mid+Math.imul(ah8,bl8)|0,hi=hi+Math.imul(ah8,bh8)|0,lo=lo+Math.imul(al7,bl9)|0,mid=mid+Math.imul(al7,bh9)|0,mid=mid+Math.imul(ah7,bl9)|0,hi=hi+Math.imul(ah7,bh9)|0;var w16=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w16>>>26)|0,w16&=67108863,lo=Math.imul(al9,bl8),mid=Math.imul(al9,bh8),mid=mid+Math.imul(ah9,bl8)|0,hi=Math.imul(ah9,bh8),lo=lo+Math.imul(al8,bl9)|0,mid=mid+Math.imul(al8,bh9)|0,mid=mid+Math.imul(ah8,bl9)|0,hi=hi+Math.imul(ah8,bh9)|0;var w17=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w17>>>26)|0,w17&=67108863,lo=Math.imul(al9,bl9),mid=Math.imul(al9,bh9),mid=mid+Math.imul(ah9,bl9)|0,hi=Math.imul(ah9,bh9);var w18=(c+lo|0)+((mid&8191)<<13)|0;return c=(hi+(mid>>>13)|0)+(w18>>>26)|0,w18&=67108863,o[0]=w0,o[1]=w1,o[2]=w2,o[3]=w3,o[4]=w4,o[5]=w5,o[6]=w6,o[7]=w7,o[8]=w8,o[9]=w9,o[10]=w10,o[11]=w11,o[12]=w12,o[13]=w13,o[14]=w14,o[15]=w15,o[16]=w16,o[17]=w17,o[18]=w18,c!==0&&(o[19]=c,out.length++),out};Math.imul||(comb10MulTo=smallMulTo);function bigMulTo(self2,num,out){out.negative=num.negative^self2.negative,out.length=self2.length+num.length;for(var carry=0,hncarry=0,k=0;k>>26)|0,hncarry+=ncarry>>>26,ncarry&=67108863}out.words[k]=rword,carry=ncarry,ncarry=hncarry}return carry!==0\?out.words[k]=carry:out.length--,out.strip()}function jumboMulTo(self2,num,out){var fftm=new FFTM;return fftm.mulp(self2,num,out)}BN.prototype.mulTo=function(num,out){var res,len=this.length+num.length;return this.length===10&&num.length===10\?res=comb10MulTo(this,num,out):len<63\?res=smallMulTo(this,num,out):len<1024\?res=bigMulTo(this,num,out):res=jumboMulTo(this,num,out),res};function FFTM(x,y){this.x=x,this.y=y}FFTM.prototype.makeRBT=function(N){for(var t=new Array(N),l=BN.prototype._countBits(N)-1,i=0;i>=1;return rb},FFTM.prototype.permute=function(rbt,rws,iws,rtws,itws,N){for(var i=0;i>>1)i++;return 1<>>13,rws[2*i+1]=carry&8191,carry=carry>>>13;for(i=2*len;i>=26,carry+=w/67108864|0,carry+=lo>>>26,this.words[i]=lo&67108863}return carry!==0&&(this.words[i]=carry,this.length++),this},BN.prototype.muln=function(num){return this.clone().imuln(num)},BN.prototype.sqr=function(){return this.mul(this)},BN.prototype.isqr=function(){return this.imul(this.clone())},BN.prototype.pow=function(num){var w=toBitArray(num);if(w.length===0)return new BN(1);for(var res=this,i=0;i=0);var r=bits%26,s=(bits-r)/26,carryMask=67108863>>>26-r<<26-r,i;if(r!==0){var carry=0;for(i=0;i>>26-r}carry&&(this.words[i]=carry,this.length++)}if(s!==0){for(i=this.length-1;i>=0;i--)this.words[i+s]=this.words[i];for(i=0;i=0);var h;hint\?h=(hint-hint%26)/26:h=0;var r=bits%26,s=Math.min((bits-r)/26,this.length),mask=67108863^67108863>>>r<s)for(this.length-=s,i=0;i=0&&(carry!==0||i>=h);i--){var word=this.words[i]|0;this.words[i]=carry<<26-r|word>>>r,carry=word&mask}return maskedWords&&carry!==0&&(maskedWords.words[maskedWords.length++]=carry),this.length===0&&(this.words[0]=0,this.length=1),this.strip()},BN.prototype.ishrn=function(bits,hint,extended){return assert(this.negative===0),this.iushrn(bits,hint,extended)},BN.prototype.shln=function(bits){return this.clone().ishln(bits)},BN.prototype.ushln=function(bits){return this.clone().iushln(bits)},BN.prototype.shrn=function(bits){return this.clone().ishrn(bits)},BN.prototype.ushrn=function(bits){return this.clone().iushrn(bits)},BN.prototype.testn=function(bit){assert(typeof bit==\"number\"&&bit>=0);var r=bit%26,s=(bit-r)/26,q=1<=0);var r=bits%26,s=(bits-r)/26;if(assert(this.negative===0,\"imaskn works only with positive numbers\"),this.length<=s)return this;if(r!==0&&s++,this.length=Math.min(s,this.length),r!==0){var mask=67108863^67108863>>>r<=67108864;i++)this.words[i]-=67108864,i===this.length-1\?this.words[i+1]=1:this.words[i+1]++;return this.length=Math.max(this.length,i+1),this},BN.prototype.isubn=function(num){if(assert(typeof num==\"number\"),assert(num<67108864),num<0)return this.iaddn(-num);if(this.negative!==0)return this.negative=0,this.iaddn(num),this.negative=1,this;if(this.words[0]-=num,this.length===1&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var i=0;i>26)-(right/67108864|0),this.words[i+shift]=w&67108863}for(;i>26,this.words[i+shift]=w&67108863;if(carry===0)return this.strip();for(assert(carry===-1),carry=0,i=0;i>26,this.words[i]=w&67108863;return this.negative=1,this.strip()},BN.prototype._wordDiv=function(num,mode){var shift=this.length-num.length,a=this.clone(),b=num,bhi=b.words[b.length-1]|0,bhiBits=this._countBits(bhi);shift=26-bhiBits,shift!==0&&(b=b.ushln(shift),a.iushln(shift),bhi=b.words[b.length-1]|0);var m=a.length-b.length,q;if(mode!==\"mod\"){q=new BN(null),q.length=m+1,q.words=new Array(q.length);for(var i=0;i=0;j--){var qj=(a.words[b.length+j]|0)*67108864+(a.words[b.length+j-1]|0);for(qj=Math.min(qj/bhi|0,67108863),a._ishlnsubmul(b,qj,j);a.negative!==0;)qj--,a.negative=0,a._ishlnsubmul(b,1,j),a.isZero()||(a.negative^=1);q&&(q.words[j]=qj)}return q&&q.strip(),a.strip(),mode!==\"div\"&&shift!==0&&a.iushrn(shift),{div:q||null,mod:a}},BN.prototype.divmod=function(num,mode,positive){if(assert(!num.isZero()),this.isZero())return{div:new BN(0),mod:new BN(0)};var div,mod,res;return this.negative!==0&&num.negative===0\?(res=this.neg().divmod(num,mode),mode!==\"mod\"&&(div=res.div.neg()),mode!==\"div\"&&(mod=res.mod.neg(),positive&&mod.negative!==0&&mod.iadd(num)),{div,mod}):this.negative===0&&num.negative!==0\?(res=this.divmod(num.neg(),mode),mode!==\"mod\"&&(div=res.div.neg()),{div,mod:res.mod}):(this.negative&num.negative)!==0\?(res=this.neg().divmod(num.neg(),mode),mode!==\"div\"&&(mod=res.mod.neg(),positive&&mod.negative!==0&&mod.isub(num)),{div:res.div,mod}):num.length>this.length||this.cmp(num)<0\?{div:new BN(0),mod:this}:num.length===1\?mode===\"div\"\?{div:this.divn(num.words[0]),mod:null}:mode===\"mod\"\?{div:null,mod:new BN(this.modn(num.words[0]))}:{div:this.divn(num.words[0]),mod:new BN(this.modn(num.words[0]))}:this._wordDiv(num,mode)},BN.prototype.div=function(num){return this.divmod(num,\"div\",!1).div},BN.prototype.mod=function(num){return this.divmod(num,\"mod\",!1).mod},BN.prototype.umod=function(num){return this.divmod(num,\"mod\",!0).mod},BN.prototype.divRound=function(num){var dm=this.divmod(num);if(dm.mod.isZero())return dm.div;var mod=dm.div.negative!==0\?dm.mod.isub(num):dm.mod,half=num.ushrn(1),r2=num.andln(1),cmp=mod.cmp(half);return cmp<0||r2===1&&cmp===0\?dm.div:dm.div.negative!==0\?dm.div.isubn(1):dm.div.iaddn(1)},BN.prototype.modn=function(num){assert(num<=67108863);for(var p=(1<<26)%num,acc=0,i=this.length-1;i>=0;i--)acc=(p*acc+(this.words[i]|0))%num;return acc},BN.prototype.idivn=function(num){assert(num<=67108863);for(var carry=0,i=this.length-1;i>=0;i--){var w=(this.words[i]|0)+carry*67108864;this.words[i]=w/num|0,carry=w%num}return this.strip()},BN.prototype.divn=function(num){return this.clone().idivn(num)},BN.prototype.egcd=function(p){assert(p.negative===0),assert(!p.isZero());var x=this,y=p.clone();x.negative!==0\?x=x.umod(p):x=x.clone();for(var A=new BN(1),B=new BN(0),C=new BN(0),D=new BN(1),g=0;x.isEven()&&y.isEven();)x.iushrn(1),y.iushrn(1),++g;for(var yp=y.clone(),xp=x.clone();!x.isZero();){for(var i=0,im=1;(x.words[0]&im)===0&&i<26;++i,im<<=1);if(i>0)for(x.iushrn(i);i-- >0;)(A.isOdd()||B.isOdd())&&(A.iadd(yp),B.isub(xp)),A.iushrn(1),B.iushrn(1);for(var j=0,jm=1;(y.words[0]&jm)===0&&j<26;++j,jm<<=1);if(j>0)for(y.iushrn(j);j-- >0;)(C.isOdd()||D.isOdd())&&(C.iadd(yp),D.isub(xp)),C.iushrn(1),D.iushrn(1);x.cmp(y)>=0\?(x.isub(y),A.isub(C),B.isub(D)):(y.isub(x),C.isub(A),D.isub(B))}return{a:C,b:D,gcd:y.iushln(g)}},BN.prototype._invmp=function(p){assert(p.negative===0),assert(!p.isZero());var a=this,b=p.clone();a.negative!==0\?a=a.umod(p):a=a.clone();for(var x1=new BN(1),x2=new BN(0),delta=b.clone();a.cmpn(1)>0&&b.cmpn(1)>0;){for(var i=0,im=1;(a.words[0]&im)===0&&i<26;++i,im<<=1);if(i>0)for(a.iushrn(i);i-- >0;)x1.isOdd()&&x1.iadd(delta),x1.iushrn(1);for(var j=0,jm=1;(b.words[0]&jm)===0&&j<26;++j,jm<<=1);if(j>0)for(b.iushrn(j);j-- >0;)x2.isOdd()&&x2.iadd(delta),x2.iushrn(1);a.cmp(b)>=0\?(a.isub(b),x1.isub(x2)):(b.isub(a),x2.isub(x1))}var res;return a.cmpn(1)===0\?res=x1:res=x2,res.cmpn(0)<0&&res.iadd(p),res},BN.prototype.gcd=function(num){if(this.isZero())return num.abs();if(num.isZero())return this.abs();var a=this.clone(),b=num.clone();a.negative=0,b.negative=0;for(var shift=0;a.isEven()&&b.isEven();shift++)a.iushrn(1),b.iushrn(1);do{for(;a.isEven();)a.iushrn(1);for(;b.isEven();)b.iushrn(1);var r=a.cmp(b);if(r<0){var t=a;a=b,b=t}else if(r===0||b.cmpn(1)===0)break;a.isub(b)}while(!0);return b.iushln(shift)},BN.prototype.invm=function(num){return this.egcd(num).a.umod(num)},BN.prototype.isEven=function(){return(this.words[0]&1)===0},BN.prototype.isOdd=function(){return(this.words[0]&1)===1},BN.prototype.andln=function(num){return this.words[0]&num},BN.prototype.bincn=function(bit){assert(typeof bit==\"number\");var r=bit%26,s=(bit-r)/26,q=1<>>26,w&=67108863,this.words[i]=w}return carry!==0&&(this.words[i]=carry,this.length++),this},BN.prototype.isZero=function(){return this.length===1&&this.words[0]===0},BN.prototype.cmpn=function(num){var negative=num<0;if(this.negative!==0&&!negative)return-1;if(this.negative===0&&negative)return 1;this.strip();var res;if(this.length>1)res=1;else{negative&&(num=-num),assert(num<=67108863,\"Number is too big\");var w=this.words[0]|0;res=w===num\?0:wnum.length)return 1;if(this.length=0;i--){var a=this.words[i]|0,b=num.words[i]|0;if(a!==b){ab&&(res=1);break}}return res},BN.prototype.gtn=function(num){return this.cmpn(num)===1},BN.prototype.gt=function(num){return this.cmp(num)===1},BN.prototype.gten=function(num){return this.cmpn(num)>=0},BN.prototype.gte=function(num){return this.cmp(num)>=0},BN.prototype.ltn=function(num){return this.cmpn(num)===-1},BN.prototype.lt=function(num){return this.cmp(num)===-1},BN.prototype.lten=function(num){return this.cmpn(num)<=0},BN.prototype.lte=function(num){return this.cmp(num)<=0},BN.prototype.eqn=function(num){return this.cmpn(num)===0},BN.prototype.eq=function(num){return this.cmp(num)===0},BN.red=function(num){return new Red(num)},BN.prototype.toRed=function(ctx){return assert(!this.red,\"Already a number in reduction context\"),assert(this.negative===0,\"red works only with positives\"),ctx.convertTo(this)._forceRed(ctx)},BN.prototype.fromRed=function(){return assert(this.red,\"fromRed works only with numbers in reduction context\"),this.red.convertFrom(this)},BN.prototype._forceRed=function(ctx){return this.red=ctx,this},BN.prototype.forceRed=function(ctx){return assert(!this.red,\"Already a number in reduction context\"),this._forceRed(ctx)},BN.prototype.redAdd=function(num){return assert(this.red,\"redAdd works only with red numbers\"),this.red.add(this,num)},BN.prototype.redIAdd=function(num){return assert(this.red,\"redIAdd works only with red numbers\"),this.red.iadd(this,num)},BN.prototype.redSub=function(num){return assert(this.red,\"redSub works only with red numbers\"),this.red.sub(this,num)},BN.prototype.redISub=function(num){return assert(this.red,\"redISub works only with red numbers\"),this.red.isub(this,num)},BN.prototype.redShl=function(num){return assert(this.red,\"redShl works only with red numbers\"),this.red.shl(this,num)},BN.prototype.redMul=function(num){return assert(this.red,\"redMul works only with red numbers\"),this.red._verify2(this,num),this.red.mul(this,num)},BN.prototype.redIMul=function(num){return assert(this.red,\"redMul works only with red numbers\"),this.red._verify2(this,num),this.red.imul(this,num)},BN.prototype.redSqr=function(){return assert(this.red,\"redSqr works only with red numbers\"),this.red._verify1(this),this.red.sqr(this)},BN.prototype.redISqr=function(){return assert(this.red,\"redISqr works only with red numbers\"),this.red._verify1(this),this.red.isqr(this)},BN.prototype.redSqrt=function(){return assert(this.red,\"redSqrt works only with red numbers\"),this.red._verify1(this),this.red.sqrt(this)},BN.prototype.redInvm=function(){return assert(this.red,\"redInvm works only with red numbers\"),this.red._verify1(this),this.red.invm(this)},BN.prototype.redNeg=function(){return assert(this.red,\"redNeg works only with red numbers\"),this.red._verify1(this),this.red.neg(this)},BN.prototype.redPow=function(num){return assert(this.red&&!num.red,\"redPow(normalNum)\"),this.red._verify1(this),this.red.pow(this,num)};var primes={k256:null,p224:null,p192:null,p25519:null};function MPrime(name,p){this.name=name,this.p=new BN(p,16),this.n=this.p.bitLength(),this.k=new BN(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}MPrime.prototype._tmp=function(){var tmp=new BN(null);return tmp.words=new Array(Math.ceil(this.n/13)),tmp},MPrime.prototype.ireduce=function(num){var r=num,rlen;do this.split(r,this.tmp),r=this.imulK(r),r=r.iadd(this.tmp),rlen=r.bitLength();while(rlen>this.n);var cmp=rlen0\?r.isub(this.p):r.strip!==void 0\?r.strip():r._strip(),r},MPrime.prototype.split=function(input,out){input.iushrn(this.n,0,out)},MPrime.prototype.imulK=function(num){return num.imul(this.k)};function K256(){MPrime.call(this,\"k256\",\"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f\")}inherits(K256,MPrime),K256.prototype.split=function(input,output){for(var mask=4194303,outLen=Math.min(input.length,9),i=0;i>>22,prev=next}prev>>>=22,input.words[i-10]=prev,prev===0&&input.length>10\?input.length-=10:input.length-=9},K256.prototype.imulK=function(num){num.words[num.length]=0,num.words[num.length+1]=0,num.length+=2;for(var lo=0,i=0;i>>=26,num.words[i]=lo,carry=hi}return carry!==0&&(num.words[num.length++]=carry),num},BN._prime=function(name){if(primes[name])return primes[name];var prime2;if(name===\"k256\")prime2=new K256;else if(name===\"p224\")prime2=new P224;else if(name===\"p192\")prime2=new P192;else if(name===\"p25519\")prime2=new P25519;else throw new Error(\"Unknown prime \"+name);return primes[name]=prime2,prime2};function Red(m){if(typeof m==\"string\"){var prime=BN._prime(m);this.m=prime.p,this.prime=prime}else assert(m.gtn(1),\"modulus must be greater than 1\"),this.m=m,this.prime=null}Red.prototype._verify1=function(a){assert(a.negative===0,\"red works only with positives\"),assert(a.red,\"red works only with red numbers\")},Red.prototype._verify2=function(a,b){assert((a.negative|b.negative)===0,\"red works only with positives\"),assert(a.red&&a.red===b.red,\"red works only with red numbers\")},Red.prototype.imod=function(a){return this.prime\?this.prime.ireduce(a)._forceRed(this):a.umod(this.m)._forceRed(this)},Red.prototype.neg=function(a){return a.isZero()\?a.clone():this.m.sub(a)._forceRed(this)},Red.prototype.add=function(a,b){this._verify2(a,b);var res=a.add(b);return res.cmp(this.m)>=0&&res.isub(this.m),res._forceRed(this)},Red.prototype.iadd=function(a,b){this._verify2(a,b);var res=a.iadd(b);return res.cmp(this.m)>=0&&res.isub(this.m),res},Red.prototype.sub=function(a,b){this._verify2(a,b);var res=a.sub(b);return res.cmpn(0)<0&&res.iadd(this.m),res._forceRed(this)},Red.prototype.isub=function(a,b){this._verify2(a,b);var res=a.isub(b);return res.cmpn(0)<0&&res.iadd(this.m),res},Red.prototype.shl=function(a,num){return this._verify1(a),this.imod(a.ushln(num))},Red.prototype.imul=function(a,b){return this._verify2(a,b),this.imod(a.imul(b))},Red.prototype.mul=function(a,b){return this._verify2(a,b),this.imod(a.mul(b))},Red.prototype.isqr=function(a){return this.imul(a,a.clone())},Red.prototype.sqr=function(a){return this.mul(a,a)},Red.prototype.sqrt=function(a){if(a.isZero())return a.clone();var mod3=this.m.andln(3);if(assert(mod3%2===1),mod3===3){var pow=this.m.add(new BN(1)).iushrn(2);return this.pow(a,pow)}for(var q=this.m.subn(1),s=0;!q.isZero()&&q.andln(1)===0;)s++,q.iushrn(1);assert(!q.isZero());var one=new BN(1).toRed(this),nOne=one.redNeg(),lpow=this.m.subn(1).iushrn(1),z=this.m.bitLength();for(z=new BN(2*z*z).toRed(this);this.pow(z,lpow).cmp(nOne)!==0;)z.redIAdd(nOne);for(var c=this.pow(z,q),r=this.pow(a,q.addn(1).iushrn(1)),t=this.pow(a,q),m=s;t.cmp(one)!==0;){for(var tmp=t,i=0;tmp.cmp(one)!==0;i++)tmp=tmp.redSqr();assert(i=0;i--){for(var word=num.words[i],j=start-1;j>=0;j--){var bit=word>>j&1;if(res!==wnd[0]&&(res=this.sqr(res)),bit===0&¤t===0){currentLen=0;continue}current<<=1,current|=bit,currentLen++,!(currentLen!==windowSize&&(i!==0||j!==0))&&(res=this.mul(res,wnd[current]),currentLen=0,current=0)}start=26}return res},Red.prototype.convertTo=function(num){var r=num.umod(this.m);return r===num\?r.clone():r},Red.prototype.convertFrom=function(num){var res=num.clone();return res.red=null,res},BN.mont=function(num){return new Mont(num)};function Mont(m){Red.call(this,m),this.shift=this.m.bitLength(),this.shift%26!==0&&(this.shift+=26-this.shift%26),this.r=new BN(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}inherits(Mont,Red),Mont.prototype.convertTo=function(num){return this.imod(num.ushln(this.shift))},Mont.prototype.convertFrom=function(num){var r=this.imod(num.mul(this.rinv));return r.red=null,r},Mont.prototype.imul=function(a,b){if(a.isZero()||b.isZero())return a.words[0]=0,a.length=1,a;var t=a.imul(b),c=t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),u=t.isub(c).iushrn(this.shift),res=u;return u.cmp(this.m)>=0\?res=u.isub(this.m):u.cmpn(0)<0&&(res=u.iadd(this.m)),res._forceRed(this)},Mont.prototype.mul=function(a,b){if(a.isZero()||b.isZero())return new BN(0)._forceRed(this);var t=a.mul(b),c=t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),u=t.isub(c).iushrn(this.shift),res=u;return u.cmp(this.m)>=0\?res=u.isub(this.m):u.cmpn(0)<0&&(res=u.iadd(this.m)),res._forceRed(this)},Mont.prototype.invm=function(a){var res=this.imod(a._invmp(this.m).mul(this.r2));return res._forceRed(this)}})(typeof module>\"u\"||module,exports)}}),require_safer=__commonJS({\"node_modules/safer-buffer/safer.js\"(exports,module){var buffer=BufferModule,Buffer2=Buffer,safer={},key;for(key in buffer)!buffer.hasOwnProperty(key)||key===\"SlowBuffer\"||key===\"Buffer\"||(safer[key]=buffer[key]);var Safer=safer.Buffer={};for(key in Buffer2)!Buffer2.hasOwnProperty(key)||key===\"allocUnsafe\"||key===\"allocUnsafeSlow\"||(Safer[key]=Buffer2[key]);if(safer.Buffer.prototype=Buffer2.prototype,(!Safer.from||Safer.from===Uint8Array.from)&&(Safer.from=function(value,encodingOrOffset,length){if(typeof value==\"number\")@throwTypeError('The \"value\" argument must not be of type number. Received type '+typeof value);if(value&&typeof value.length>\"u\")@throwTypeError(\"The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type \"+typeof value);return Buffer2(value,encodingOrOffset,length)}),Safer.alloc||(Safer.alloc=function(size,fill,encoding){if(typeof size!=\"number\")@throwTypeError('The \"size\" argument must be of type number. Received type '+typeof size);if(size<0||size>=2*(1<<30))@throwRangeError('The value \"'+size+'\" is invalid for option \"size\"');var buf=Buffer2(size);return!fill||fill.length===0\?buf.fill(0):typeof encoding==\"string\"\?buf.fill(fill,encoding):buf.fill(fill),buf}),!safer.kStringMaxLength)try{safer.kStringMaxLength=MAX_STRING_LENGTH}catch{}safer.constants||(safer.constants={MAX_LENGTH:safer.kMaxLength},safer.kStringMaxLength&&(safer.constants.MAX_STRING_LENGTH=safer.kStringMaxLength)),module.exports=safer}}),require_reporter=__commonJS({\"node_modules/asn1.js/lib/asn1/base/reporter.js\"(exports){var inherits=require_inherits_browser();function Reporter(options){this._reporterState={obj:null,path:[],options:options||{},errors:[]}}exports.Reporter=Reporter,Reporter.prototype.isError=function(obj){return obj instanceof ReporterError},Reporter.prototype.save=function(){let state=this._reporterState;return{obj:state.obj,pathLen:state.path.length}},Reporter.prototype.restore=function(data){let state=this._reporterState;state.obj=data.obj,state.path=state.path.slice(0,data.pathLen)},Reporter.prototype.enterKey=function(key){return this._reporterState.path.push(key)},Reporter.prototype.exitKey=function(index){let state=this._reporterState;state.path=state.path.slice(0,index-1)},Reporter.prototype.leaveKey=function(index,key,value){let state=this._reporterState;this.exitKey(index),state.obj!==null&&(state.obj[key]=value)},Reporter.prototype.path=function(){return this._reporterState.path.join(\"/\")},Reporter.prototype.enterObject=function(){let state=this._reporterState,prev=state.obj;return state.obj={},prev},Reporter.prototype.leaveObject=function(prev){let state=this._reporterState,now=state.obj;return state.obj=prev,now},Reporter.prototype.error=function(msg){let err,state=this._reporterState,inherited=msg instanceof ReporterError;if(inherited\?err=msg:err=new ReporterError(state.path.map(function(elem){return\"[\"+JSON.stringify(elem)+\"]\"}).join(\"\"),msg.message||msg,msg.stack),!state.options.partial)throw err;return inherited||state.errors.push(err),err},Reporter.prototype.wrapResult=function(result){let state=this._reporterState;return state.options.partial\?{result:this.isError(result)\?null:result,errors:state.errors}:result};function ReporterError(path,msg){this.path=path,this.rethrow(msg)}inherits(ReporterError,Error),ReporterError.prototype.rethrow=function(msg){if(this.message=msg+\" at: \"+(this.path||\"(shallow)\"),Error.captureStackTrace&&Error.captureStackTrace(this,ReporterError),!this.stack)try{throw new Error(this.message)}catch(e){this.stack=e.stack}return this}}}),require_buffer=__commonJS({\"node_modules/asn1.js/lib/asn1/base/buffer.js\"(exports){var inherits=require_inherits_browser(),Reporter=require_reporter().Reporter,Buffer2=require_safer().Buffer;function DecoderBuffer(base,options){if(Reporter.call(this,options),!Buffer2.isBuffer(base)){this.error(\"Input not Buffer\");return}this.base=base,this.offset=0,this.length=base.length}inherits(DecoderBuffer,Reporter),exports.DecoderBuffer=DecoderBuffer,DecoderBuffer.isDecoderBuffer=function(data){return data instanceof DecoderBuffer\?!0:typeof data==\"object\"&&Buffer2.isBuffer(data.base)&&data.constructor.name===\"DecoderBuffer\"&&typeof data.offset==\"number\"&&typeof data.length==\"number\"&&typeof data.save==\"function\"&&typeof data.restore==\"function\"&&typeof data.isEmpty==\"function\"&&typeof data.readUInt8==\"function\"&&typeof data.skip==\"function\"&&typeof data.raw==\"function\"},DecoderBuffer.prototype.save=function(){return{offset:this.offset,reporter:Reporter.prototype.save.call(this)}},DecoderBuffer.prototype.restore=function(save){let res=new DecoderBuffer(this.base);return res.offset=save.offset,res.length=this.offset,this.offset=save.offset,Reporter.prototype.restore.call(this,save.reporter),res},DecoderBuffer.prototype.isEmpty=function(){return this.offset===this.length},DecoderBuffer.prototype.readUInt8=function(fail){return this.offset+1<=this.length\?this.base.readUInt8(this.offset++,!0):this.error(fail||\"DecoderBuffer overrun\")},DecoderBuffer.prototype.skip=function(bytes,fail){if(!(this.offset+bytes<=this.length))return this.error(fail||\"DecoderBuffer overrun\");let res=new DecoderBuffer(this.base);return res._reporterState=this._reporterState,res.offset=this.offset,res.length=this.offset+bytes,this.offset+=bytes,res},DecoderBuffer.prototype.raw=function(save){return this.base.slice(save\?save.offset:this.offset,this.length)};function EncoderBuffer(value,reporter){if(Array.isArray(value))this.length=0,this.value=value.map(function(item){return EncoderBuffer.isEncoderBuffer(item)||(item=new EncoderBuffer(item,reporter)),this.length+=item.length,item},this);else if(typeof value==\"number\"){if(!(0<=value&&value<=255))return reporter.error(\"non-byte EncoderBuffer value\");this.value=value,this.length=1}else if(typeof value==\"string\")this.value=value,this.length=Buffer2.byteLength(value);else if(Buffer2.isBuffer(value))this.value=value,this.length=value.length;else return reporter.error(\"Unsupported type: \"+typeof value)}exports.EncoderBuffer=EncoderBuffer,EncoderBuffer.isEncoderBuffer=function(data){return data instanceof EncoderBuffer\?!0:typeof data==\"object\"&&data.constructor.name===\"EncoderBuffer\"&&typeof data.length==\"number\"&&typeof data.join==\"function\"},EncoderBuffer.prototype.join=function(out,offset){return out||(out=Buffer2.alloc(this.length)),offset||(offset=0),this.length===0||(Array.isArray(this.value)\?this.value.forEach(function(item){item.join(out,offset),offset+=item.length}):(typeof this.value==\"number\"\?out[offset]=this.value:typeof this.value==\"string\"\?out.write(this.value,offset):Buffer2.isBuffer(this.value)&&this.value.copy(out,offset),offset+=this.length)),out}}}),require_node=__commonJS({\"node_modules/asn1.js/lib/asn1/base/node.js\"(exports,module){var Reporter=require_reporter().Reporter,EncoderBuffer=require_buffer().EncoderBuffer,DecoderBuffer=require_buffer().DecoderBuffer,assert=require_minimalistic_assert(),tags=[\"seq\",\"seqof\",\"set\",\"setof\",\"objid\",\"bool\",\"gentime\",\"utctime\",\"null_\",\"enum\",\"int\",\"objDesc\",\"bitstr\",\"bmpstr\",\"charstr\",\"genstr\",\"graphstr\",\"ia5str\",\"iso646str\",\"numstr\",\"octstr\",\"printstr\",\"t61str\",\"unistr\",\"utf8str\",\"videostr\"],methods=[\"key\",\"obj\",\"use\",\"optional\",\"explicit\",\"implicit\",\"def\",\"choice\",\"any\",\"contains\"].concat(tags),overrided=[\"_peekTag\",\"_decodeTag\",\"_use\",\"_decodeStr\",\"_decodeObjid\",\"_decodeTime\",\"_decodeNull\",\"_decodeInt\",\"_decodeBool\",\"_decodeList\",\"_encodeComposite\",\"_encodeStr\",\"_encodeObjid\",\"_encodeTime\",\"_encodeNull\",\"_encodeInt\",\"_encodeBool\"];function Node(enc,parent,name){let state={};this._baseState=state,state.name=name,state.enc=enc,state.parent=parent||null,state.children=null,state.tag=null,state.args=null,state.reverseArgs=null,state.choice=null,state.optional=!1,state.any=!1,state.obj=!1,state.use=null,state.useDecoder=null,state.key=null,state.default=null,state.explicit=null,state.implicit=null,state.contains=null,state.parent||(state.children=[],this._wrap())}module.exports=Node;var stateProps=[\"enc\",\"parent\",\"children\",\"tag\",\"args\",\"reverseArgs\",\"choice\",\"optional\",\"any\",\"obj\",\"use\",\"alteredUse\",\"key\",\"default\",\"explicit\",\"implicit\",\"contains\"];Node.prototype.clone=function(){let state=this._baseState,cstate={};stateProps.forEach(function(prop){cstate[prop]=state[prop]});let res=new this.constructor(cstate.parent);return res._baseState=cstate,res},Node.prototype._wrap=function(){let state=this._baseState;methods.forEach(function(method){this[method]=function(){let clone=new this.constructor(this);return state.children.push(clone),clone[method].apply(clone,arguments)}},this)},Node.prototype._init=function(body){let state=this._baseState;assert(state.parent===null),body.call(this),state.children=state.children.filter(function(child){return child._baseState.parent===this},this),assert.equal(state.children.length,1,\"Root node can have only one child\")},Node.prototype._useArgs=function(args){let state=this._baseState,children=args.filter(function(arg){return arg instanceof this.constructor},this);args=args.filter(function(arg){return!(arg instanceof this.constructor)},this),children.length!==0&&(assert(state.children===null),state.children=children,children.forEach(function(child){child._baseState.parent=this},this)),args.length!==0&&(assert(state.args===null),state.args=args,state.reverseArgs=args.map(function(arg){if(typeof arg!=\"object\"||arg.constructor!==Object)return arg;let res={};return Object.keys(arg).forEach(function(key){key==(key|0)&&(key|=0);let value=arg[key];res[value]=key}),res}))},overrided.forEach(function(method){Node.prototype[method]=function(){let state=this._baseState;throw new Error(method+\" not implemented for encoding: \"+state.enc)}}),tags.forEach(function(tag){Node.prototype[tag]=function(){let state=this._baseState,args=Array.prototype.slice.call(arguments);return assert(state.tag===null),state.tag=tag,this._useArgs(args),this}}),Node.prototype.use=function(item){assert(item);let state=this._baseState;return assert(state.use===null),state.use=item,this},Node.prototype.optional=function(){let state=this._baseState;return state.optional=!0,this},Node.prototype.def=function(val){let state=this._baseState;return assert(state.default===null),state.default=val,state.optional=!0,this},Node.prototype.explicit=function(num){let state=this._baseState;return assert(state.explicit===null&&state.implicit===null),state.explicit=num,this},Node.prototype.implicit=function(num){let state=this._baseState;return assert(state.explicit===null&&state.implicit===null),state.implicit=num,this},Node.prototype.obj=function(){let state=this._baseState,args=Array.prototype.slice.call(arguments);return state.obj=!0,args.length!==0&&this._useArgs(args),this},Node.prototype.key=function(newKey){let state=this._baseState;return assert(state.key===null),state.key=newKey,this},Node.prototype.any=function(){let state=this._baseState;return state.any=!0,this},Node.prototype.choice=function(obj){let state=this._baseState;return assert(state.choice===null),state.choice=obj,this._useArgs(Object.keys(obj).map(function(key){return obj[key]})),this},Node.prototype.contains=function(item){let state=this._baseState;return assert(state.use===null),state.contains=item,this},Node.prototype._decode=function(input,options){let state=this._baseState;if(state.parent===null)return input.wrapResult(state.children[0]._decode(input,options));let result=state.default,present=!0,prevKey=null;if(state.key!==null&&(prevKey=input.enterKey(state.key)),state.optional){let tag=null;if(state.explicit!==null\?tag=state.explicit:state.implicit!==null\?tag=state.implicit:state.tag!==null&&(tag=state.tag),tag===null&&!state.any){let save=input.save();try{state.choice===null\?this._decodeGeneric(state.tag,input,options):this._decodeChoice(input,options),present=!0}catch{present=!1}input.restore(save)}else if(present=this._peekTag(input,tag,state.any),input.isError(present))return present}let prevObj;if(state.obj&&present&&(prevObj=input.enterObject()),present){if(state.explicit!==null){let explicit=this._decodeTag(input,state.explicit);if(input.isError(explicit))return explicit;input=explicit}let start=input.offset;if(state.use===null&&state.choice===null){let save;state.any&&(save=input.save());let body=this._decodeTag(input,state.implicit!==null\?state.implicit:state.tag,state.any);if(input.isError(body))return body;state.any\?result=input.raw(save):input=body}if(options&&options.track&&state.tag!==null&&options.track(input.path(),start,input.length,\"tagged\"),options&&options.track&&state.tag!==null&&options.track(input.path(),input.offset,input.length,\"content\"),state.any||(state.choice===null\?result=this._decodeGeneric(state.tag,input,options):result=this._decodeChoice(input,options)),input.isError(result))return result;if(!state.any&&state.choice===null&&state.children!==null&&state.children.forEach(function(child){child._decode(input,options)}),state.contains&&(state.tag===\"octstr\"||state.tag===\"bitstr\")){let data=new DecoderBuffer(result);result=this._getUse(state.contains,input._reporterState.obj)._decode(data,options)}}return state.obj&&present&&(result=input.leaveObject(prevObj)),state.key!==null&&(result!==null||present===!0)\?input.leaveKey(prevKey,state.key,result):prevKey!==null&&input.exitKey(prevKey),result},Node.prototype._decodeGeneric=function(tag,input,options){let state=this._baseState;return tag===\"seq\"||tag===\"set\"\?null:tag===\"seqof\"||tag===\"setof\"\?this._decodeList(input,tag,state.args[0],options):/str$/.test(tag)\?this._decodeStr(input,tag,options):tag===\"objid\"&&state.args\?this._decodeObjid(input,state.args[0],state.args[1],options):tag===\"objid\"\?this._decodeObjid(input,null,null,options):tag===\"gentime\"||tag===\"utctime\"\?this._decodeTime(input,tag,options):tag===\"null_\"\?this._decodeNull(input,options):tag===\"bool\"\?this._decodeBool(input,options):tag===\"objDesc\"\?this._decodeStr(input,tag,options):tag===\"int\"||tag===\"enum\"\?this._decodeInt(input,state.args&&state.args[0],options):state.use!==null\?this._getUse(state.use,input._reporterState.obj)._decode(input,options):input.error(\"unknown tag: \"+tag)},Node.prototype._getUse=function(entity,obj){let state=this._baseState;return state.useDecoder=this._use(entity,obj),assert(state.useDecoder._baseState.parent===null),state.useDecoder=state.useDecoder._baseState.children[0],state.implicit!==state.useDecoder._baseState.implicit&&(state.useDecoder=state.useDecoder.clone(),state.useDecoder._baseState.implicit=state.implicit),state.useDecoder},Node.prototype._decodeChoice=function(input,options){let state=this._baseState,result=null,match=!1;return Object.keys(state.choice).some(function(key){let save=input.save(),node=state.choice[key];try{let value=node._decode(input,options);if(input.isError(value))return!1;result={type:key,value},match=!0}catch{return input.restore(save),!1}return!0},this),match\?result:input.error(\"Choice not matched\")},Node.prototype._createEncoderBuffer=function(data){return new EncoderBuffer(data,this.reporter)},Node.prototype._encode=function(data,reporter,parent){let state=this._baseState;if(state.default!==null&&state.default===data)return;let result=this._encodeValue(data,reporter,parent);if(result!==void 0&&!this._skipDefault(result,reporter,parent))return result},Node.prototype._encodeValue=function(data,reporter,parent){let state=this._baseState;if(state.parent===null)return state.children[0]._encode(data,reporter||new Reporter);let result=null;if(this.reporter=reporter,state.optional&&data===void 0)if(state.default!==null)data=state.default;else return;let content=null,primitive=!1;if(state.any)result=this._createEncoderBuffer(data);else if(state.choice)result=this._encodeChoice(data,reporter);else if(state.contains)content=this._getUse(state.contains,parent)._encode(data,reporter),primitive=!0;else if(state.children)content=state.children.map(function(child){if(child._baseState.tag===\"null_\")return child._encode(null,reporter,data);if(child._baseState.key===null)return reporter.error(\"Child should have a key\");let prevKey=reporter.enterKey(child._baseState.key);if(typeof data!=\"object\")return reporter.error(\"Child expected, but input is not object\");let res=child._encode(data[child._baseState.key],reporter,data);return reporter.leaveKey(prevKey),res},this).filter(function(child){return child}),content=this._createEncoderBuffer(content);else if(state.tag===\"seqof\"||state.tag===\"setof\"){if(!(state.args&&state.args.length===1))return reporter.error(\"Too many args for : \"+state.tag);if(!Array.isArray(data))return reporter.error(\"seqof/setof, but data is not Array\");let child=this.clone();child._baseState.implicit=null,content=this._createEncoderBuffer(data.map(function(item){let state2=this._baseState;return this._getUse(state2.args[0],data)._encode(item,reporter)},child))}else state.use!==null\?result=this._getUse(state.use,parent)._encode(data,reporter):(content=this._encodePrimitive(state.tag,data),primitive=!0);if(!state.any&&state.choice===null){let tag=state.implicit!==null\?state.implicit:state.tag,cls=state.implicit===null\?\"universal\":\"context\";tag===null\?state.use===null&&reporter.error(\"Tag could be omitted only for .use()\"):state.use===null&&(result=this._encodeComposite(tag,primitive,cls,content))}return state.explicit!==null&&(result=this._encodeComposite(state.explicit,!1,\"context\",result)),result},Node.prototype._encodeChoice=function(data,reporter){let state=this._baseState,node=state.choice[data.type];return node||assert(!1,data.type+\" not found in \"+JSON.stringify(Object.keys(state.choice))),node._encode(data.value,reporter)},Node.prototype._encodePrimitive=function(tag,data){let state=this._baseState;if(/str$/.test(tag))return this._encodeStr(data,tag);if(tag===\"objid\"&&state.args)return this._encodeObjid(data,state.reverseArgs[0],state.args[1]);if(tag===\"objid\")return this._encodeObjid(data,null,null);if(tag===\"gentime\"||tag===\"utctime\")return this._encodeTime(data,tag);if(tag===\"null_\")return this._encodeNull();if(tag===\"int\"||tag===\"enum\")return this._encodeInt(data,state.args&&state.reverseArgs[0]);if(tag===\"bool\")return this._encodeBool(data);if(tag===\"objDesc\")return this._encodeStr(data,tag);throw new Error(\"Unsupported tag: \"+tag)},Node.prototype._isNumstr=function(str){return/^[0-9 ]*$/.test(str)},Node.prototype._isPrintstr=function(str){return/^[A-Za-z0-9 '()+,-./:=\?]*$/.test(str)}}}),require_der=__commonJS({\"node_modules/asn1.js/lib/asn1/constants/der.js\"(exports){function reverse(map){let res={};return Object.keys(map).forEach(function(key){(key|0)==key&&(key=key|0);let value=map[key];res[value]=key}),res}exports.tagClass={0:\"universal\",1:\"application\",2:\"context\",3:\"private\"},exports.tagClassByName=reverse(exports.tagClass),exports.tag={0:\"end\",1:\"bool\",2:\"int\",3:\"bitstr\",4:\"octstr\",5:\"null_\",6:\"objid\",7:\"objDesc\",8:\"external\",9:\"real\",10:\"enum\",11:\"embed\",12:\"utf8str\",13:\"relativeOid\",16:\"seq\",17:\"set\",18:\"numstr\",19:\"printstr\",20:\"t61str\",21:\"videostr\",22:\"ia5str\",23:\"utctime\",24:\"gentime\",25:\"graphstr\",26:\"iso646str\",27:\"genstr\",28:\"unistr\",29:\"charstr\",30:\"bmpstr\"},exports.tagByName=reverse(exports.tag)}}),require_der2=__commonJS({\"node_modules/asn1.js/lib/asn1/encoders/der.js\"(exports,module){var inherits=require_inherits_browser(),Buffer2=require_safer().Buffer,Node=require_node(),der=require_der();function DEREncoder(entity){this.enc=\"der\",this.name=entity.name,this.entity=entity,this.tree=new DERNode,this.tree._init(entity.body)}module.exports=DEREncoder,DEREncoder.prototype.encode=function(data,reporter){return this.tree._encode(data,reporter).join()};function DERNode(parent){Node.call(this,\"der\",parent)}inherits(DERNode,Node),DERNode.prototype._encodeComposite=function(tag,primitive,cls,content){let encodedTag=encodeTag(tag,primitive,cls,this.reporter);if(content.length<128){let header2=Buffer2.alloc(2);return header2[0]=encodedTag,header2[1]=content.length,this._createEncoderBuffer([header2,content])}let lenOctets=1;for(let i=content.length;i>=256;i>>=8)lenOctets++;let header=Buffer2.alloc(2+lenOctets);header[0]=encodedTag,header[1]=128|lenOctets;for(let i=1+lenOctets,j=content.length;j>0;i--,j>>=8)header[i]=j&255;return this._createEncoderBuffer([header,content])},DERNode.prototype._encodeStr=function(str,tag){if(tag===\"bitstr\")return this._createEncoderBuffer([str.unused|0,str.data]);if(tag===\"bmpstr\"){let buf=Buffer2.alloc(str.length*2);for(let i=0;i=40)return this.reporter.error(\"Second objid identifier OOB\");id.splice(0,2,id[0]*40+id[1])}let size=0;for(let i=0;i=128;ident>>=7)size++}let objid=Buffer2.alloc(size),offset=objid.length-1;for(let i=id.length-1;i>=0;i--){let ident=id[i];for(objid[offset--]=ident&127;(ident>>=7)>0;)objid[offset--]=128|ident&127}return this._createEncoderBuffer(objid)};function two(num){return num<10\?\"0\"+num:num}DERNode.prototype._encodeTime=function(time,tag){let str,date=new Date(time);return tag===\"gentime\"\?str=[two(date.getUTCFullYear()),two(date.getUTCMonth()+1),two(date.getUTCDate()),two(date.getUTCHours()),two(date.getUTCMinutes()),two(date.getUTCSeconds()),\"Z\"].join(\"\"):tag===\"utctime\"\?str=[two(date.getUTCFullYear()%100),two(date.getUTCMonth()+1),two(date.getUTCDate()),two(date.getUTCHours()),two(date.getUTCMinutes()),two(date.getUTCSeconds()),\"Z\"].join(\"\"):this.reporter.error(\"Encoding \"+tag+\" time is not supported yet\"),this._encodeStr(str,\"octstr\")},DERNode.prototype._encodeNull=function(){return this._createEncoderBuffer(\"\")},DERNode.prototype._encodeInt=function(num,values){if(typeof num==\"string\"){if(!values)return this.reporter.error(\"String int or enum given, but no values map\");if(!values.hasOwnProperty(num))return this.reporter.error(\"Values map doesn't contain: \"+JSON.stringify(num));num=values[num]}if(typeof num!=\"number\"&&!Buffer2.isBuffer(num)){let numArray=num.toArray();!num.sign&&numArray[0]&128&&numArray.unshift(0),num=Buffer2.from(numArray)}if(Buffer2.isBuffer(num)){let size2=num.length;num.length===0&&size2++;let out2=Buffer2.alloc(size2);return num.copy(out2),num.length===0&&(out2[0]=0),this._createEncoderBuffer(out2)}if(num<128)return this._createEncoderBuffer(num);if(num<256)return this._createEncoderBuffer([0,num]);let size=1;for(let i=num;i>=256;i>>=8)size++;let out=new Array(size);for(let i=out.length-1;i>=0;i--)out[i]=num&255,num>>=8;return out[0]&128&&out.unshift(0),this._createEncoderBuffer(Buffer2.from(out))},DERNode.prototype._encodeBool=function(value){return this._createEncoderBuffer(value\?255:0)},DERNode.prototype._use=function(entity,obj){return typeof entity==\"function\"&&(entity=entity(obj)),entity._getEncoder(\"der\").tree},DERNode.prototype._skipDefault=function(dataBuffer,reporter,parent){let state=this._baseState,i;if(state.default===null)return!1;let data=dataBuffer.join();if(state.defaultBuffer===void 0&&(state.defaultBuffer=this._encodeValue(state.default,reporter,parent).join()),data.length!==state.defaultBuffer.length)return!1;for(i=0;i=31\?reporter.error(\"Multi-octet tag encoding unsupported\"):(primitive||(res|=32),res|=der.tagClassByName[cls||\"universal\"]<<6,res)}}}),require_pem=__commonJS({\"node_modules/asn1.js/lib/asn1/encoders/pem.js\"(exports,module){var inherits=require_inherits_browser(),DEREncoder=require_der2();function PEMEncoder(entity){DEREncoder.call(this,entity),this.enc=\"pem\"}inherits(PEMEncoder,DEREncoder),module.exports=PEMEncoder,PEMEncoder.prototype.encode=function(data,options){let p=DEREncoder.prototype.encode.call(this,data).toString(\"base64\"),out=[\"-----BEGIN \"+options.label+\"-----\"];for(let i=0;i>6],primitive=(tag&32)===0;if((tag&31)===31){let oct=tag;for(tag=0;(oct&128)===128;){if(oct=buf.readUInt8(fail),buf.isError(oct))return oct;tag<<=7,tag|=oct&127}}else tag&=31;let tagStr=der.tag[tag];return{cls,primitive,tag,tagStr}}function derDecodeLen(buf,primitive,fail){let len=buf.readUInt8(fail);if(buf.isError(len))return len;if(!primitive&&len===128)return null;if((len&128)===0)return len;let num=len&127;if(num>4)return buf.error(\"length octect is too long\");len=0;for(let i=0;i0&&bits.ishrn(shift),bits}function bits2octets(bits,q){bits=bits2int(bits,q),bits=bits.mod(q);var out=Buffer2.from(bits.toArray());if(out.length=q)throw new Error(\"invalid sig\")}module.exports=verify}}),require_browser8=__commonJS({\"node_modules/browserify-sign/browser/index.js\"(exports,module){var Buffer2=require_safe_buffer().Buffer,createHash=require_browser2(),inherits=require_inherits_browser(),sign=require_sign(),verify=require_verify(),algorithms=require_algorithms();Object.keys(algorithms).forEach(function(key){algorithms[key].id=Buffer2.from(algorithms[key].id,\"hex\"),algorithms[key.toLowerCase()]=algorithms[key]});function Sign(algorithm){StreamModule.Writable.call(this);var data=algorithms[algorithm];if(!data)throw new Error(\"Unknown message digest\");this._hashType=data.hash,this._hash=createHash(data.hash),this._tag=data.id,this._signType=data.sign}inherits(Sign,StreamModule.Writable),Sign.prototype._write=function(data,_,done){this._hash.update(data),done()},Sign.prototype.update=function(data,enc){return typeof data==\"string\"&&(data=Buffer2.from(data,enc)),this._hash.update(data),this},Sign.prototype.sign=function(key,enc){this.end();var hash=this._hash.digest(),sig=sign(hash,key,this._hashType,this._signType,this._tag);return enc\?sig.toString(enc):sig};function Verify(algorithm){StreamModule.Writable.call(this);var data=algorithms[algorithm];if(!data)throw new Error(\"Unknown message digest\");this._hash=createHash(data.hash),this._tag=data.id,this._signType=data.sign}inherits(Verify,StreamModule.Writable),Verify.prototype._write=function(data,_,done){this._hash.update(data),done()},Verify.prototype.update=function(data,enc){return typeof data==\"string\"&&(data=Buffer2.from(data,enc)),this._hash.update(data),this},Verify.prototype.verify=function(key,sig,enc){typeof sig==\"string\"&&(sig=Buffer2.from(sig,enc)),this.end();var hash=this._hash.digest();return verify(sig,hash,key,this._signType,this._tag)};function createSign(algorithm){return new Sign(algorithm)}function createVerify(algorithm){return new Verify(algorithm)}module.exports={Sign:createSign,Verify:createVerify,createSign,createVerify}}}),require_bn6=__commonJS({\"node_modules/create-ecdh/node_modules/bn.js/lib/bn.js\"(exports,module){(function(module2,exports2){function assert(val,msg){if(!val)throw new Error(msg||\"Assertion failed\")}function inherits(ctor,superCtor){ctor.super_=superCtor;var TempCtor=function(){};TempCtor.prototype=superCtor.prototype,ctor.prototype=new TempCtor,ctor.prototype.constructor=ctor}function BN(number,base,endian){if(BN.isBN(number))return number;this.negative=0,this.words=null,this.length=0,this.red=null,number!==null&&((base===\"le\"||base===\"be\")&&(endian=base,base=10),this._init(number||0,base||10,endian||\"be\"))}typeof module2==\"object\"\?module2.exports=BN:exports2.BN=BN,BN.BN=BN,BN.wordSize=26;var Buffer2=Buffer;BN.isBN=function(num){return num instanceof BN\?!0:num!==null&&typeof num==\"object\"&&num.constructor.wordSize===BN.wordSize&&Array.isArray(num.words)},BN.max=function(left,right){return left.cmp(right)>0\?left:right},BN.min=function(left,right){return left.cmp(right)<0\?left:right},BN.prototype._init=function(number,base,endian){if(typeof number==\"number\")return this._initNumber(number,base,endian);if(typeof number==\"object\")return this._initArray(number,base,endian);base===\"hex\"&&(base=16),assert(base===(base|0)&&base>=2&&base<=36),number=number.toString().replace(/\\s+/g,\"\");var start=0;number[0]===\"-\"&&(start++,this.negative=1),start=0;i-=3)w=number[i]|number[i-1]<<8|number[i-2]<<16,this.words[j]|=w<>>26-off&67108863,off+=24,off>=26&&(off-=26,j++);else if(endian===\"le\")for(i=0,j=0;i>>26-off&67108863,off+=24,off>=26&&(off-=26,j++);return this.strip()};function parseHex4Bits(string,index){var c=string.charCodeAt(index);return c>=65&&c<=70\?c-55:c>=97&&c<=102\?c-87:c-48&15}function parseHexByte(string,lowerBound,index){var r=parseHex4Bits(string,index);return index-1>=lowerBound&&(r|=parseHex4Bits(string,index-1)<<4),r}BN.prototype._parseHex=function(number,start,endian){this.length=Math.ceil((number.length-start)/6),this.words=new Array(this.length);for(var i=0;i=start;i-=2)w=parseHexByte(number,start,i)<=18\?(off-=18,j+=1,this.words[j]|=w>>>26):off+=8;else{var parseLength=number.length-start;for(i=parseLength%2===0\?start+1:start;i=18\?(off-=18,j+=1,this.words[j]|=w>>>26):off+=8}this.strip()};function parseBase(str,start,end,mul){for(var r=0,len=Math.min(str.length,end),i=start;i=49\?r+=c-49+10:c>=17\?r+=c-17+10:r+=c}return r}BN.prototype._parseBase=function(number,base,start){this.words=[0],this.length=1;for(var limbLen=0,limbPow=1;limbPow<=67108863;limbPow*=base)limbLen++;limbLen--,limbPow=limbPow/base|0;for(var total=number.length-start,mod=total%limbLen,end=Math.min(total,total-mod)+start,word=0,i=start;i1&&this.words[this.length-1]===0;)this.length--;return this._normSign()},BN.prototype._normSign=function(){return this.length===1&&this.words[0]===0&&(this.negative=0),this},BN.prototype.inspect=function(){return(this.red\?\"\"};var zeros=[\"\",\"0\",\"00\",\"000\",\"0000\",\"00000\",\"000000\",\"0000000\",\"00000000\",\"000000000\",\"0000000000\",\"00000000000\",\"000000000000\",\"0000000000000\",\"00000000000000\",\"000000000000000\",\"0000000000000000\",\"00000000000000000\",\"000000000000000000\",\"0000000000000000000\",\"00000000000000000000\",\"000000000000000000000\",\"0000000000000000000000\",\"00000000000000000000000\",\"000000000000000000000000\",\"0000000000000000000000000\"],groupSizes=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],groupBases=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64000000,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,24300000,28629151,33554432,39135393,45435424,52521875,60466176];BN.prototype.toString=function(base,padding){base=base||10,padding=padding|0||1;var out;if(base===16||base===\"hex\"){out=\"\";for(var off=0,carry=0,i=0;i>>24-off&16777215,carry!==0||i!==this.length-1\?out=zeros[6-word.length]+word+out:out=word+out,off+=2,off>=26&&(off-=26,i--)}for(carry!==0&&(out=carry.toString(16)+out);out.length%padding!==0;)out=\"0\"+out;return this.negative!==0&&(out=\"-\"+out),out}if(base===(base|0)&&base>=2&&base<=36){var groupSize=groupSizes[base],groupBase=groupBases[base];out=\"\";var c=this.clone();for(c.negative=0;!c.isZero();){var r=c.modn(groupBase).toString(base);c=c.idivn(groupBase),c.isZero()\?out=r+out:out=zeros[groupSize-r.length]+r+out}for(this.isZero()&&(out=\"0\"+out);out.length%padding!==0;)out=\"0\"+out;return this.negative!==0&&(out=\"-\"+out),out}assert(!1,\"Base should be between 2 and 36\")},BN.prototype.toNumber=function(){var ret=this.words[0];return this.length===2\?ret+=this.words[1]*67108864:this.length===3&&this.words[2]===1\?ret+=4503599627370496+this.words[1]*67108864:this.length>2&&assert(!1,\"Number can only safely store up to 53 bits\"),this.negative!==0\?-ret:ret},BN.prototype.toJSON=function(){return this.toString(16)},BN.prototype.toBuffer=function(endian,length){return assert(typeof Buffer2<\"u\"),this.toArrayLike(Buffer2,endian,length)},BN.prototype.toArray=function(endian,length){return this.toArrayLike(Array,endian,length)},BN.prototype.toArrayLike=function(ArrayType,endian,length){var byteLength=this.byteLength(),reqLength=length||Math.max(1,byteLength);assert(byteLength<=reqLength,\"byte array longer than desired length\"),assert(reqLength>0,\"Requested array length <= 0\"),this.strip();var littleEndian=endian===\"le\",res=new ArrayType(reqLength),b,i,q=this.clone();if(littleEndian){for(i=0;!q.isZero();i++)b=q.andln(255),q.iushrn(8),res[i]=b;for(;i=4096&&(r+=13,t>>>=13),t>=64&&(r+=7,t>>>=7),t>=8&&(r+=4,t>>>=4),t>=2&&(r+=2,t>>>=2),r+t},BN.prototype._zeroBits=function(w){if(w===0)return 26;var t=w,r=0;return(t&8191)===0&&(r+=13,t>>>=13),(t&127)===0&&(r+=7,t>>>=7),(t&15)===0&&(r+=4,t>>>=4),(t&3)===0&&(r+=2,t>>>=2),(t&1)===0&&r++,r},BN.prototype.bitLength=function(){var w=this.words[this.length-1],hi=this._countBits(w);return(this.length-1)*26+hi};function toBitArray(num){for(var w=new Array(num.bitLength()),bit=0;bit>>wbit}return w}BN.prototype.zeroBits=function(){if(this.isZero())return 0;for(var r=0,i=0;inum.length\?this.clone().ior(num):num.clone().ior(this)},BN.prototype.uor=function(num){return this.length>num.length\?this.clone().iuor(num):num.clone().iuor(this)},BN.prototype.iuand=function(num){var b;this.length>num.length\?b=num:b=this;for(var i=0;inum.length\?this.clone().iand(num):num.clone().iand(this)},BN.prototype.uand=function(num){return this.length>num.length\?this.clone().iuand(num):num.clone().iuand(this)},BN.prototype.iuxor=function(num){var a,b;this.length>num.length\?(a=this,b=num):(a=num,b=this);for(var i=0;inum.length\?this.clone().ixor(num):num.clone().ixor(this)},BN.prototype.uxor=function(num){return this.length>num.length\?this.clone().iuxor(num):num.clone().iuxor(this)},BN.prototype.inotn=function(width){assert(typeof width==\"number\"&&width>=0);var bytesNeeded=Math.ceil(width/26)|0,bitsLeft=width%26;this._expand(bytesNeeded),bitsLeft>0&&bytesNeeded--;for(var i=0;i0&&(this.words[i]=~this.words[i]&67108863>>26-bitsLeft),this.strip()},BN.prototype.notn=function(width){return this.clone().inotn(width)},BN.prototype.setn=function(bit,val){assert(typeof bit==\"number\"&&bit>=0);var off=bit/26|0,wbit=bit%26;return this._expand(off+1),val\?this.words[off]=this.words[off]|1<num.length\?(a=this,b=num):(a=num,b=this);for(var carry=0,i=0;i>>26;for(;carry!==0&&i>>26;if(this.length=a.length,carry!==0)this.words[this.length]=carry,this.length++;else if(a!==this)for(;inum.length\?this.clone().iadd(num):num.clone().iadd(this)},BN.prototype.isub=function(num){if(num.negative!==0){num.negative=0;var r=this.iadd(num);return num.negative=1,r._normSign()}else if(this.negative!==0)return this.negative=0,this.iadd(num),this.negative=1,this._normSign();var cmp=this.cmp(num);if(cmp===0)return this.negative=0,this.length=1,this.words[0]=0,this;var a,b;cmp>0\?(a=this,b=num):(a=num,b=this);for(var carry=0,i=0;i>26,this.words[i]=r&67108863;for(;carry!==0&&i>26,this.words[i]=r&67108863;if(carry===0&&i>>26,rword=carry&67108863,maxJ=Math.min(k,num.length-1),j=Math.max(0,k-self2.length+1);j<=maxJ;j++){var i=k-j|0;a=self2.words[i]|0,b=num.words[j]|0,r=a*b+rword,ncarry+=r/67108864|0,rword=r&67108863}out.words[k]=rword|0,carry=ncarry|0}return carry!==0\?out.words[k]=carry|0:out.length--,out.strip()}var comb10MulTo=function(self2,num,out){var a=self2.words,b=num.words,o=out.words,c=0,lo,mid,hi,a0=a[0]|0,al0=a0&8191,ah0=a0>>>13,a1=a[1]|0,al1=a1&8191,ah1=a1>>>13,a2=a[2]|0,al2=a2&8191,ah2=a2>>>13,a3=a[3]|0,al3=a3&8191,ah3=a3>>>13,a4=a[4]|0,al4=a4&8191,ah4=a4>>>13,a5=a[5]|0,al5=a5&8191,ah5=a5>>>13,a6=a[6]|0,al6=a6&8191,ah6=a6>>>13,a7=a[7]|0,al7=a7&8191,ah7=a7>>>13,a8=a[8]|0,al8=a8&8191,ah8=a8>>>13,a9=a[9]|0,al9=a9&8191,ah9=a9>>>13,b0=b[0]|0,bl0=b0&8191,bh0=b0>>>13,b1=b[1]|0,bl1=b1&8191,bh1=b1>>>13,b2=b[2]|0,bl2=b2&8191,bh2=b2>>>13,b3=b[3]|0,bl3=b3&8191,bh3=b3>>>13,b4=b[4]|0,bl4=b4&8191,bh4=b4>>>13,b5=b[5]|0,bl5=b5&8191,bh5=b5>>>13,b6=b[6]|0,bl6=b6&8191,bh6=b6>>>13,b7=b[7]|0,bl7=b7&8191,bh7=b7>>>13,b8=b[8]|0,bl8=b8&8191,bh8=b8>>>13,b9=b[9]|0,bl9=b9&8191,bh9=b9>>>13;out.negative=self2.negative^num.negative,out.length=19,lo=Math.imul(al0,bl0),mid=Math.imul(al0,bh0),mid=mid+Math.imul(ah0,bl0)|0,hi=Math.imul(ah0,bh0);var w0=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w0>>>26)|0,w0&=67108863,lo=Math.imul(al1,bl0),mid=Math.imul(al1,bh0),mid=mid+Math.imul(ah1,bl0)|0,hi=Math.imul(ah1,bh0),lo=lo+Math.imul(al0,bl1)|0,mid=mid+Math.imul(al0,bh1)|0,mid=mid+Math.imul(ah0,bl1)|0,hi=hi+Math.imul(ah0,bh1)|0;var w1=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w1>>>26)|0,w1&=67108863,lo=Math.imul(al2,bl0),mid=Math.imul(al2,bh0),mid=mid+Math.imul(ah2,bl0)|0,hi=Math.imul(ah2,bh0),lo=lo+Math.imul(al1,bl1)|0,mid=mid+Math.imul(al1,bh1)|0,mid=mid+Math.imul(ah1,bl1)|0,hi=hi+Math.imul(ah1,bh1)|0,lo=lo+Math.imul(al0,bl2)|0,mid=mid+Math.imul(al0,bh2)|0,mid=mid+Math.imul(ah0,bl2)|0,hi=hi+Math.imul(ah0,bh2)|0;var w2=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w2>>>26)|0,w2&=67108863,lo=Math.imul(al3,bl0),mid=Math.imul(al3,bh0),mid=mid+Math.imul(ah3,bl0)|0,hi=Math.imul(ah3,bh0),lo=lo+Math.imul(al2,bl1)|0,mid=mid+Math.imul(al2,bh1)|0,mid=mid+Math.imul(ah2,bl1)|0,hi=hi+Math.imul(ah2,bh1)|0,lo=lo+Math.imul(al1,bl2)|0,mid=mid+Math.imul(al1,bh2)|0,mid=mid+Math.imul(ah1,bl2)|0,hi=hi+Math.imul(ah1,bh2)|0,lo=lo+Math.imul(al0,bl3)|0,mid=mid+Math.imul(al0,bh3)|0,mid=mid+Math.imul(ah0,bl3)|0,hi=hi+Math.imul(ah0,bh3)|0;var w3=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w3>>>26)|0,w3&=67108863,lo=Math.imul(al4,bl0),mid=Math.imul(al4,bh0),mid=mid+Math.imul(ah4,bl0)|0,hi=Math.imul(ah4,bh0),lo=lo+Math.imul(al3,bl1)|0,mid=mid+Math.imul(al3,bh1)|0,mid=mid+Math.imul(ah3,bl1)|0,hi=hi+Math.imul(ah3,bh1)|0,lo=lo+Math.imul(al2,bl2)|0,mid=mid+Math.imul(al2,bh2)|0,mid=mid+Math.imul(ah2,bl2)|0,hi=hi+Math.imul(ah2,bh2)|0,lo=lo+Math.imul(al1,bl3)|0,mid=mid+Math.imul(al1,bh3)|0,mid=mid+Math.imul(ah1,bl3)|0,hi=hi+Math.imul(ah1,bh3)|0,lo=lo+Math.imul(al0,bl4)|0,mid=mid+Math.imul(al0,bh4)|0,mid=mid+Math.imul(ah0,bl4)|0,hi=hi+Math.imul(ah0,bh4)|0;var w4=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w4>>>26)|0,w4&=67108863,lo=Math.imul(al5,bl0),mid=Math.imul(al5,bh0),mid=mid+Math.imul(ah5,bl0)|0,hi=Math.imul(ah5,bh0),lo=lo+Math.imul(al4,bl1)|0,mid=mid+Math.imul(al4,bh1)|0,mid=mid+Math.imul(ah4,bl1)|0,hi=hi+Math.imul(ah4,bh1)|0,lo=lo+Math.imul(al3,bl2)|0,mid=mid+Math.imul(al3,bh2)|0,mid=mid+Math.imul(ah3,bl2)|0,hi=hi+Math.imul(ah3,bh2)|0,lo=lo+Math.imul(al2,bl3)|0,mid=mid+Math.imul(al2,bh3)|0,mid=mid+Math.imul(ah2,bl3)|0,hi=hi+Math.imul(ah2,bh3)|0,lo=lo+Math.imul(al1,bl4)|0,mid=mid+Math.imul(al1,bh4)|0,mid=mid+Math.imul(ah1,bl4)|0,hi=hi+Math.imul(ah1,bh4)|0,lo=lo+Math.imul(al0,bl5)|0,mid=mid+Math.imul(al0,bh5)|0,mid=mid+Math.imul(ah0,bl5)|0,hi=hi+Math.imul(ah0,bh5)|0;var w5=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w5>>>26)|0,w5&=67108863,lo=Math.imul(al6,bl0),mid=Math.imul(al6,bh0),mid=mid+Math.imul(ah6,bl0)|0,hi=Math.imul(ah6,bh0),lo=lo+Math.imul(al5,bl1)|0,mid=mid+Math.imul(al5,bh1)|0,mid=mid+Math.imul(ah5,bl1)|0,hi=hi+Math.imul(ah5,bh1)|0,lo=lo+Math.imul(al4,bl2)|0,mid=mid+Math.imul(al4,bh2)|0,mid=mid+Math.imul(ah4,bl2)|0,hi=hi+Math.imul(ah4,bh2)|0,lo=lo+Math.imul(al3,bl3)|0,mid=mid+Math.imul(al3,bh3)|0,mid=mid+Math.imul(ah3,bl3)|0,hi=hi+Math.imul(ah3,bh3)|0,lo=lo+Math.imul(al2,bl4)|0,mid=mid+Math.imul(al2,bh4)|0,mid=mid+Math.imul(ah2,bl4)|0,hi=hi+Math.imul(ah2,bh4)|0,lo=lo+Math.imul(al1,bl5)|0,mid=mid+Math.imul(al1,bh5)|0,mid=mid+Math.imul(ah1,bl5)|0,hi=hi+Math.imul(ah1,bh5)|0,lo=lo+Math.imul(al0,bl6)|0,mid=mid+Math.imul(al0,bh6)|0,mid=mid+Math.imul(ah0,bl6)|0,hi=hi+Math.imul(ah0,bh6)|0;var w6=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w6>>>26)|0,w6&=67108863,lo=Math.imul(al7,bl0),mid=Math.imul(al7,bh0),mid=mid+Math.imul(ah7,bl0)|0,hi=Math.imul(ah7,bh0),lo=lo+Math.imul(al6,bl1)|0,mid=mid+Math.imul(al6,bh1)|0,mid=mid+Math.imul(ah6,bl1)|0,hi=hi+Math.imul(ah6,bh1)|0,lo=lo+Math.imul(al5,bl2)|0,mid=mid+Math.imul(al5,bh2)|0,mid=mid+Math.imul(ah5,bl2)|0,hi=hi+Math.imul(ah5,bh2)|0,lo=lo+Math.imul(al4,bl3)|0,mid=mid+Math.imul(al4,bh3)|0,mid=mid+Math.imul(ah4,bl3)|0,hi=hi+Math.imul(ah4,bh3)|0,lo=lo+Math.imul(al3,bl4)|0,mid=mid+Math.imul(al3,bh4)|0,mid=mid+Math.imul(ah3,bl4)|0,hi=hi+Math.imul(ah3,bh4)|0,lo=lo+Math.imul(al2,bl5)|0,mid=mid+Math.imul(al2,bh5)|0,mid=mid+Math.imul(ah2,bl5)|0,hi=hi+Math.imul(ah2,bh5)|0,lo=lo+Math.imul(al1,bl6)|0,mid=mid+Math.imul(al1,bh6)|0,mid=mid+Math.imul(ah1,bl6)|0,hi=hi+Math.imul(ah1,bh6)|0,lo=lo+Math.imul(al0,bl7)|0,mid=mid+Math.imul(al0,bh7)|0,mid=mid+Math.imul(ah0,bl7)|0,hi=hi+Math.imul(ah0,bh7)|0;var w7=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w7>>>26)|0,w7&=67108863,lo=Math.imul(al8,bl0),mid=Math.imul(al8,bh0),mid=mid+Math.imul(ah8,bl0)|0,hi=Math.imul(ah8,bh0),lo=lo+Math.imul(al7,bl1)|0,mid=mid+Math.imul(al7,bh1)|0,mid=mid+Math.imul(ah7,bl1)|0,hi=hi+Math.imul(ah7,bh1)|0,lo=lo+Math.imul(al6,bl2)|0,mid=mid+Math.imul(al6,bh2)|0,mid=mid+Math.imul(ah6,bl2)|0,hi=hi+Math.imul(ah6,bh2)|0,lo=lo+Math.imul(al5,bl3)|0,mid=mid+Math.imul(al5,bh3)|0,mid=mid+Math.imul(ah5,bl3)|0,hi=hi+Math.imul(ah5,bh3)|0,lo=lo+Math.imul(al4,bl4)|0,mid=mid+Math.imul(al4,bh4)|0,mid=mid+Math.imul(ah4,bl4)|0,hi=hi+Math.imul(ah4,bh4)|0,lo=lo+Math.imul(al3,bl5)|0,mid=mid+Math.imul(al3,bh5)|0,mid=mid+Math.imul(ah3,bl5)|0,hi=hi+Math.imul(ah3,bh5)|0,lo=lo+Math.imul(al2,bl6)|0,mid=mid+Math.imul(al2,bh6)|0,mid=mid+Math.imul(ah2,bl6)|0,hi=hi+Math.imul(ah2,bh6)|0,lo=lo+Math.imul(al1,bl7)|0,mid=mid+Math.imul(al1,bh7)|0,mid=mid+Math.imul(ah1,bl7)|0,hi=hi+Math.imul(ah1,bh7)|0,lo=lo+Math.imul(al0,bl8)|0,mid=mid+Math.imul(al0,bh8)|0,mid=mid+Math.imul(ah0,bl8)|0,hi=hi+Math.imul(ah0,bh8)|0;var w8=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w8>>>26)|0,w8&=67108863,lo=Math.imul(al9,bl0),mid=Math.imul(al9,bh0),mid=mid+Math.imul(ah9,bl0)|0,hi=Math.imul(ah9,bh0),lo=lo+Math.imul(al8,bl1)|0,mid=mid+Math.imul(al8,bh1)|0,mid=mid+Math.imul(ah8,bl1)|0,hi=hi+Math.imul(ah8,bh1)|0,lo=lo+Math.imul(al7,bl2)|0,mid=mid+Math.imul(al7,bh2)|0,mid=mid+Math.imul(ah7,bl2)|0,hi=hi+Math.imul(ah7,bh2)|0,lo=lo+Math.imul(al6,bl3)|0,mid=mid+Math.imul(al6,bh3)|0,mid=mid+Math.imul(ah6,bl3)|0,hi=hi+Math.imul(ah6,bh3)|0,lo=lo+Math.imul(al5,bl4)|0,mid=mid+Math.imul(al5,bh4)|0,mid=mid+Math.imul(ah5,bl4)|0,hi=hi+Math.imul(ah5,bh4)|0,lo=lo+Math.imul(al4,bl5)|0,mid=mid+Math.imul(al4,bh5)|0,mid=mid+Math.imul(ah4,bl5)|0,hi=hi+Math.imul(ah4,bh5)|0,lo=lo+Math.imul(al3,bl6)|0,mid=mid+Math.imul(al3,bh6)|0,mid=mid+Math.imul(ah3,bl6)|0,hi=hi+Math.imul(ah3,bh6)|0,lo=lo+Math.imul(al2,bl7)|0,mid=mid+Math.imul(al2,bh7)|0,mid=mid+Math.imul(ah2,bl7)|0,hi=hi+Math.imul(ah2,bh7)|0,lo=lo+Math.imul(al1,bl8)|0,mid=mid+Math.imul(al1,bh8)|0,mid=mid+Math.imul(ah1,bl8)|0,hi=hi+Math.imul(ah1,bh8)|0,lo=lo+Math.imul(al0,bl9)|0,mid=mid+Math.imul(al0,bh9)|0,mid=mid+Math.imul(ah0,bl9)|0,hi=hi+Math.imul(ah0,bh9)|0;var w9=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w9>>>26)|0,w9&=67108863,lo=Math.imul(al9,bl1),mid=Math.imul(al9,bh1),mid=mid+Math.imul(ah9,bl1)|0,hi=Math.imul(ah9,bh1),lo=lo+Math.imul(al8,bl2)|0,mid=mid+Math.imul(al8,bh2)|0,mid=mid+Math.imul(ah8,bl2)|0,hi=hi+Math.imul(ah8,bh2)|0,lo=lo+Math.imul(al7,bl3)|0,mid=mid+Math.imul(al7,bh3)|0,mid=mid+Math.imul(ah7,bl3)|0,hi=hi+Math.imul(ah7,bh3)|0,lo=lo+Math.imul(al6,bl4)|0,mid=mid+Math.imul(al6,bh4)|0,mid=mid+Math.imul(ah6,bl4)|0,hi=hi+Math.imul(ah6,bh4)|0,lo=lo+Math.imul(al5,bl5)|0,mid=mid+Math.imul(al5,bh5)|0,mid=mid+Math.imul(ah5,bl5)|0,hi=hi+Math.imul(ah5,bh5)|0,lo=lo+Math.imul(al4,bl6)|0,mid=mid+Math.imul(al4,bh6)|0,mid=mid+Math.imul(ah4,bl6)|0,hi=hi+Math.imul(ah4,bh6)|0,lo=lo+Math.imul(al3,bl7)|0,mid=mid+Math.imul(al3,bh7)|0,mid=mid+Math.imul(ah3,bl7)|0,hi=hi+Math.imul(ah3,bh7)|0,lo=lo+Math.imul(al2,bl8)|0,mid=mid+Math.imul(al2,bh8)|0,mid=mid+Math.imul(ah2,bl8)|0,hi=hi+Math.imul(ah2,bh8)|0,lo=lo+Math.imul(al1,bl9)|0,mid=mid+Math.imul(al1,bh9)|0,mid=mid+Math.imul(ah1,bl9)|0,hi=hi+Math.imul(ah1,bh9)|0;var w10=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w10>>>26)|0,w10&=67108863,lo=Math.imul(al9,bl2),mid=Math.imul(al9,bh2),mid=mid+Math.imul(ah9,bl2)|0,hi=Math.imul(ah9,bh2),lo=lo+Math.imul(al8,bl3)|0,mid=mid+Math.imul(al8,bh3)|0,mid=mid+Math.imul(ah8,bl3)|0,hi=hi+Math.imul(ah8,bh3)|0,lo=lo+Math.imul(al7,bl4)|0,mid=mid+Math.imul(al7,bh4)|0,mid=mid+Math.imul(ah7,bl4)|0,hi=hi+Math.imul(ah7,bh4)|0,lo=lo+Math.imul(al6,bl5)|0,mid=mid+Math.imul(al6,bh5)|0,mid=mid+Math.imul(ah6,bl5)|0,hi=hi+Math.imul(ah6,bh5)|0,lo=lo+Math.imul(al5,bl6)|0,mid=mid+Math.imul(al5,bh6)|0,mid=mid+Math.imul(ah5,bl6)|0,hi=hi+Math.imul(ah5,bh6)|0,lo=lo+Math.imul(al4,bl7)|0,mid=mid+Math.imul(al4,bh7)|0,mid=mid+Math.imul(ah4,bl7)|0,hi=hi+Math.imul(ah4,bh7)|0,lo=lo+Math.imul(al3,bl8)|0,mid=mid+Math.imul(al3,bh8)|0,mid=mid+Math.imul(ah3,bl8)|0,hi=hi+Math.imul(ah3,bh8)|0,lo=lo+Math.imul(al2,bl9)|0,mid=mid+Math.imul(al2,bh9)|0,mid=mid+Math.imul(ah2,bl9)|0,hi=hi+Math.imul(ah2,bh9)|0;var w11=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w11>>>26)|0,w11&=67108863,lo=Math.imul(al9,bl3),mid=Math.imul(al9,bh3),mid=mid+Math.imul(ah9,bl3)|0,hi=Math.imul(ah9,bh3),lo=lo+Math.imul(al8,bl4)|0,mid=mid+Math.imul(al8,bh4)|0,mid=mid+Math.imul(ah8,bl4)|0,hi=hi+Math.imul(ah8,bh4)|0,lo=lo+Math.imul(al7,bl5)|0,mid=mid+Math.imul(al7,bh5)|0,mid=mid+Math.imul(ah7,bl5)|0,hi=hi+Math.imul(ah7,bh5)|0,lo=lo+Math.imul(al6,bl6)|0,mid=mid+Math.imul(al6,bh6)|0,mid=mid+Math.imul(ah6,bl6)|0,hi=hi+Math.imul(ah6,bh6)|0,lo=lo+Math.imul(al5,bl7)|0,mid=mid+Math.imul(al5,bh7)|0,mid=mid+Math.imul(ah5,bl7)|0,hi=hi+Math.imul(ah5,bh7)|0,lo=lo+Math.imul(al4,bl8)|0,mid=mid+Math.imul(al4,bh8)|0,mid=mid+Math.imul(ah4,bl8)|0,hi=hi+Math.imul(ah4,bh8)|0,lo=lo+Math.imul(al3,bl9)|0,mid=mid+Math.imul(al3,bh9)|0,mid=mid+Math.imul(ah3,bl9)|0,hi=hi+Math.imul(ah3,bh9)|0;var w12=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w12>>>26)|0,w12&=67108863,lo=Math.imul(al9,bl4),mid=Math.imul(al9,bh4),mid=mid+Math.imul(ah9,bl4)|0,hi=Math.imul(ah9,bh4),lo=lo+Math.imul(al8,bl5)|0,mid=mid+Math.imul(al8,bh5)|0,mid=mid+Math.imul(ah8,bl5)|0,hi=hi+Math.imul(ah8,bh5)|0,lo=lo+Math.imul(al7,bl6)|0,mid=mid+Math.imul(al7,bh6)|0,mid=mid+Math.imul(ah7,bl6)|0,hi=hi+Math.imul(ah7,bh6)|0,lo=lo+Math.imul(al6,bl7)|0,mid=mid+Math.imul(al6,bh7)|0,mid=mid+Math.imul(ah6,bl7)|0,hi=hi+Math.imul(ah6,bh7)|0,lo=lo+Math.imul(al5,bl8)|0,mid=mid+Math.imul(al5,bh8)|0,mid=mid+Math.imul(ah5,bl8)|0,hi=hi+Math.imul(ah5,bh8)|0,lo=lo+Math.imul(al4,bl9)|0,mid=mid+Math.imul(al4,bh9)|0,mid=mid+Math.imul(ah4,bl9)|0,hi=hi+Math.imul(ah4,bh9)|0;var w13=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w13>>>26)|0,w13&=67108863,lo=Math.imul(al9,bl5),mid=Math.imul(al9,bh5),mid=mid+Math.imul(ah9,bl5)|0,hi=Math.imul(ah9,bh5),lo=lo+Math.imul(al8,bl6)|0,mid=mid+Math.imul(al8,bh6)|0,mid=mid+Math.imul(ah8,bl6)|0,hi=hi+Math.imul(ah8,bh6)|0,lo=lo+Math.imul(al7,bl7)|0,mid=mid+Math.imul(al7,bh7)|0,mid=mid+Math.imul(ah7,bl7)|0,hi=hi+Math.imul(ah7,bh7)|0,lo=lo+Math.imul(al6,bl8)|0,mid=mid+Math.imul(al6,bh8)|0,mid=mid+Math.imul(ah6,bl8)|0,hi=hi+Math.imul(ah6,bh8)|0,lo=lo+Math.imul(al5,bl9)|0,mid=mid+Math.imul(al5,bh9)|0,mid=mid+Math.imul(ah5,bl9)|0,hi=hi+Math.imul(ah5,bh9)|0;var w14=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w14>>>26)|0,w14&=67108863,lo=Math.imul(al9,bl6),mid=Math.imul(al9,bh6),mid=mid+Math.imul(ah9,bl6)|0,hi=Math.imul(ah9,bh6),lo=lo+Math.imul(al8,bl7)|0,mid=mid+Math.imul(al8,bh7)|0,mid=mid+Math.imul(ah8,bl7)|0,hi=hi+Math.imul(ah8,bh7)|0,lo=lo+Math.imul(al7,bl8)|0,mid=mid+Math.imul(al7,bh8)|0,mid=mid+Math.imul(ah7,bl8)|0,hi=hi+Math.imul(ah7,bh8)|0,lo=lo+Math.imul(al6,bl9)|0,mid=mid+Math.imul(al6,bh9)|0,mid=mid+Math.imul(ah6,bl9)|0,hi=hi+Math.imul(ah6,bh9)|0;var w15=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w15>>>26)|0,w15&=67108863,lo=Math.imul(al9,bl7),mid=Math.imul(al9,bh7),mid=mid+Math.imul(ah9,bl7)|0,hi=Math.imul(ah9,bh7),lo=lo+Math.imul(al8,bl8)|0,mid=mid+Math.imul(al8,bh8)|0,mid=mid+Math.imul(ah8,bl8)|0,hi=hi+Math.imul(ah8,bh8)|0,lo=lo+Math.imul(al7,bl9)|0,mid=mid+Math.imul(al7,bh9)|0,mid=mid+Math.imul(ah7,bl9)|0,hi=hi+Math.imul(ah7,bh9)|0;var w16=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w16>>>26)|0,w16&=67108863,lo=Math.imul(al9,bl8),mid=Math.imul(al9,bh8),mid=mid+Math.imul(ah9,bl8)|0,hi=Math.imul(ah9,bh8),lo=lo+Math.imul(al8,bl9)|0,mid=mid+Math.imul(al8,bh9)|0,mid=mid+Math.imul(ah8,bl9)|0,hi=hi+Math.imul(ah8,bh9)|0;var w17=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w17>>>26)|0,w17&=67108863,lo=Math.imul(al9,bl9),mid=Math.imul(al9,bh9),mid=mid+Math.imul(ah9,bl9)|0,hi=Math.imul(ah9,bh9);var w18=(c+lo|0)+((mid&8191)<<13)|0;return c=(hi+(mid>>>13)|0)+(w18>>>26)|0,w18&=67108863,o[0]=w0,o[1]=w1,o[2]=w2,o[3]=w3,o[4]=w4,o[5]=w5,o[6]=w6,o[7]=w7,o[8]=w8,o[9]=w9,o[10]=w10,o[11]=w11,o[12]=w12,o[13]=w13,o[14]=w14,o[15]=w15,o[16]=w16,o[17]=w17,o[18]=w18,c!==0&&(o[19]=c,out.length++),out};Math.imul||(comb10MulTo=smallMulTo);function bigMulTo(self2,num,out){out.negative=num.negative^self2.negative,out.length=self2.length+num.length;for(var carry=0,hncarry=0,k=0;k>>26)|0,hncarry+=ncarry>>>26,ncarry&=67108863}out.words[k]=rword,carry=ncarry,ncarry=hncarry}return carry!==0\?out.words[k]=carry:out.length--,out.strip()}function jumboMulTo(self2,num,out){var fftm=new FFTM;return fftm.mulp(self2,num,out)}BN.prototype.mulTo=function(num,out){var res,len=this.length+num.length;return this.length===10&&num.length===10\?res=comb10MulTo(this,num,out):len<63\?res=smallMulTo(this,num,out):len<1024\?res=bigMulTo(this,num,out):res=jumboMulTo(this,num,out),res};function FFTM(x,y){this.x=x,this.y=y}FFTM.prototype.makeRBT=function(N){for(var t=new Array(N),l=BN.prototype._countBits(N)-1,i=0;i>=1;return rb},FFTM.prototype.permute=function(rbt,rws,iws,rtws,itws,N){for(var i=0;i>>1)i++;return 1<>>13,rws[2*i+1]=carry&8191,carry=carry>>>13;for(i=2*len;i>=26,carry+=w/67108864|0,carry+=lo>>>26,this.words[i]=lo&67108863}return carry!==0&&(this.words[i]=carry,this.length++),this},BN.prototype.muln=function(num){return this.clone().imuln(num)},BN.prototype.sqr=function(){return this.mul(this)},BN.prototype.isqr=function(){return this.imul(this.clone())},BN.prototype.pow=function(num){var w=toBitArray(num);if(w.length===0)return new BN(1);for(var res=this,i=0;i=0);var r=bits%26,s=(bits-r)/26,carryMask=67108863>>>26-r<<26-r,i;if(r!==0){var carry=0;for(i=0;i>>26-r}carry&&(this.words[i]=carry,this.length++)}if(s!==0){for(i=this.length-1;i>=0;i--)this.words[i+s]=this.words[i];for(i=0;i=0);var h;hint\?h=(hint-hint%26)/26:h=0;var r=bits%26,s=Math.min((bits-r)/26,this.length),mask=67108863^67108863>>>r<s)for(this.length-=s,i=0;i=0&&(carry!==0||i>=h);i--){var word=this.words[i]|0;this.words[i]=carry<<26-r|word>>>r,carry=word&mask}return maskedWords&&carry!==0&&(maskedWords.words[maskedWords.length++]=carry),this.length===0&&(this.words[0]=0,this.length=1),this.strip()},BN.prototype.ishrn=function(bits,hint,extended){return assert(this.negative===0),this.iushrn(bits,hint,extended)},BN.prototype.shln=function(bits){return this.clone().ishln(bits)},BN.prototype.ushln=function(bits){return this.clone().iushln(bits)},BN.prototype.shrn=function(bits){return this.clone().ishrn(bits)},BN.prototype.ushrn=function(bits){return this.clone().iushrn(bits)},BN.prototype.testn=function(bit){assert(typeof bit==\"number\"&&bit>=0);var r=bit%26,s=(bit-r)/26,q=1<=0);var r=bits%26,s=(bits-r)/26;if(assert(this.negative===0,\"imaskn works only with positive numbers\"),this.length<=s)return this;if(r!==0&&s++,this.length=Math.min(s,this.length),r!==0){var mask=67108863^67108863>>>r<=67108864;i++)this.words[i]-=67108864,i===this.length-1\?this.words[i+1]=1:this.words[i+1]++;return this.length=Math.max(this.length,i+1),this},BN.prototype.isubn=function(num){if(assert(typeof num==\"number\"),assert(num<67108864),num<0)return this.iaddn(-num);if(this.negative!==0)return this.negative=0,this.iaddn(num),this.negative=1,this;if(this.words[0]-=num,this.length===1&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var i=0;i>26)-(right/67108864|0),this.words[i+shift]=w&67108863}for(;i>26,this.words[i+shift]=w&67108863;if(carry===0)return this.strip();for(assert(carry===-1),carry=0,i=0;i>26,this.words[i]=w&67108863;return this.negative=1,this.strip()},BN.prototype._wordDiv=function(num,mode){var shift=this.length-num.length,a=this.clone(),b=num,bhi=b.words[b.length-1]|0,bhiBits=this._countBits(bhi);shift=26-bhiBits,shift!==0&&(b=b.ushln(shift),a.iushln(shift),bhi=b.words[b.length-1]|0);var m=a.length-b.length,q;if(mode!==\"mod\"){q=new BN(null),q.length=m+1,q.words=new Array(q.length);for(var i=0;i=0;j--){var qj=(a.words[b.length+j]|0)*67108864+(a.words[b.length+j-1]|0);for(qj=Math.min(qj/bhi|0,67108863),a._ishlnsubmul(b,qj,j);a.negative!==0;)qj--,a.negative=0,a._ishlnsubmul(b,1,j),a.isZero()||(a.negative^=1);q&&(q.words[j]=qj)}return q&&q.strip(),a.strip(),mode!==\"div\"&&shift!==0&&a.iushrn(shift),{div:q||null,mod:a}},BN.prototype.divmod=function(num,mode,positive){if(assert(!num.isZero()),this.isZero())return{div:new BN(0),mod:new BN(0)};var div,mod,res;return this.negative!==0&&num.negative===0\?(res=this.neg().divmod(num,mode),mode!==\"mod\"&&(div=res.div.neg()),mode!==\"div\"&&(mod=res.mod.neg(),positive&&mod.negative!==0&&mod.iadd(num)),{div,mod}):this.negative===0&&num.negative!==0\?(res=this.divmod(num.neg(),mode),mode!==\"mod\"&&(div=res.div.neg()),{div,mod:res.mod}):(this.negative&num.negative)!==0\?(res=this.neg().divmod(num.neg(),mode),mode!==\"div\"&&(mod=res.mod.neg(),positive&&mod.negative!==0&&mod.isub(num)),{div:res.div,mod}):num.length>this.length||this.cmp(num)<0\?{div:new BN(0),mod:this}:num.length===1\?mode===\"div\"\?{div:this.divn(num.words[0]),mod:null}:mode===\"mod\"\?{div:null,mod:new BN(this.modn(num.words[0]))}:{div:this.divn(num.words[0]),mod:new BN(this.modn(num.words[0]))}:this._wordDiv(num,mode)},BN.prototype.div=function(num){return this.divmod(num,\"div\",!1).div},BN.prototype.mod=function(num){return this.divmod(num,\"mod\",!1).mod},BN.prototype.umod=function(num){return this.divmod(num,\"mod\",!0).mod},BN.prototype.divRound=function(num){var dm=this.divmod(num);if(dm.mod.isZero())return dm.div;var mod=dm.div.negative!==0\?dm.mod.isub(num):dm.mod,half=num.ushrn(1),r2=num.andln(1),cmp=mod.cmp(half);return cmp<0||r2===1&&cmp===0\?dm.div:dm.div.negative!==0\?dm.div.isubn(1):dm.div.iaddn(1)},BN.prototype.modn=function(num){assert(num<=67108863);for(var p=(1<<26)%num,acc=0,i=this.length-1;i>=0;i--)acc=(p*acc+(this.words[i]|0))%num;return acc},BN.prototype.idivn=function(num){assert(num<=67108863);for(var carry=0,i=this.length-1;i>=0;i--){var w=(this.words[i]|0)+carry*67108864;this.words[i]=w/num|0,carry=w%num}return this.strip()},BN.prototype.divn=function(num){return this.clone().idivn(num)},BN.prototype.egcd=function(p){assert(p.negative===0),assert(!p.isZero());var x=this,y=p.clone();x.negative!==0\?x=x.umod(p):x=x.clone();for(var A=new BN(1),B=new BN(0),C=new BN(0),D=new BN(1),g=0;x.isEven()&&y.isEven();)x.iushrn(1),y.iushrn(1),++g;for(var yp=y.clone(),xp=x.clone();!x.isZero();){for(var i=0,im=1;(x.words[0]&im)===0&&i<26;++i,im<<=1);if(i>0)for(x.iushrn(i);i-- >0;)(A.isOdd()||B.isOdd())&&(A.iadd(yp),B.isub(xp)),A.iushrn(1),B.iushrn(1);for(var j=0,jm=1;(y.words[0]&jm)===0&&j<26;++j,jm<<=1);if(j>0)for(y.iushrn(j);j-- >0;)(C.isOdd()||D.isOdd())&&(C.iadd(yp),D.isub(xp)),C.iushrn(1),D.iushrn(1);x.cmp(y)>=0\?(x.isub(y),A.isub(C),B.isub(D)):(y.isub(x),C.isub(A),D.isub(B))}return{a:C,b:D,gcd:y.iushln(g)}},BN.prototype._invmp=function(p){assert(p.negative===0),assert(!p.isZero());var a=this,b=p.clone();a.negative!==0\?a=a.umod(p):a=a.clone();for(var x1=new BN(1),x2=new BN(0),delta=b.clone();a.cmpn(1)>0&&b.cmpn(1)>0;){for(var i=0,im=1;(a.words[0]&im)===0&&i<26;++i,im<<=1);if(i>0)for(a.iushrn(i);i-- >0;)x1.isOdd()&&x1.iadd(delta),x1.iushrn(1);for(var j=0,jm=1;(b.words[0]&jm)===0&&j<26;++j,jm<<=1);if(j>0)for(b.iushrn(j);j-- >0;)x2.isOdd()&&x2.iadd(delta),x2.iushrn(1);a.cmp(b)>=0\?(a.isub(b),x1.isub(x2)):(b.isub(a),x2.isub(x1))}var res;return a.cmpn(1)===0\?res=x1:res=x2,res.cmpn(0)<0&&res.iadd(p),res},BN.prototype.gcd=function(num){if(this.isZero())return num.abs();if(num.isZero())return this.abs();var a=this.clone(),b=num.clone();a.negative=0,b.negative=0;for(var shift=0;a.isEven()&&b.isEven();shift++)a.iushrn(1),b.iushrn(1);do{for(;a.isEven();)a.iushrn(1);for(;b.isEven();)b.iushrn(1);var r=a.cmp(b);if(r<0){var t=a;a=b,b=t}else if(r===0||b.cmpn(1)===0)break;a.isub(b)}while(!0);return b.iushln(shift)},BN.prototype.invm=function(num){return this.egcd(num).a.umod(num)},BN.prototype.isEven=function(){return(this.words[0]&1)===0},BN.prototype.isOdd=function(){return(this.words[0]&1)===1},BN.prototype.andln=function(num){return this.words[0]&num},BN.prototype.bincn=function(bit){assert(typeof bit==\"number\");var r=bit%26,s=(bit-r)/26,q=1<>>26,w&=67108863,this.words[i]=w}return carry!==0&&(this.words[i]=carry,this.length++),this},BN.prototype.isZero=function(){return this.length===1&&this.words[0]===0},BN.prototype.cmpn=function(num){var negative=num<0;if(this.negative!==0&&!negative)return-1;if(this.negative===0&&negative)return 1;this.strip();var res;if(this.length>1)res=1;else{negative&&(num=-num),assert(num<=67108863,\"Number is too big\");var w=this.words[0]|0;res=w===num\?0:wnum.length)return 1;if(this.length=0;i--){var a=this.words[i]|0,b=num.words[i]|0;if(a!==b){ab&&(res=1);break}}return res},BN.prototype.gtn=function(num){return this.cmpn(num)===1},BN.prototype.gt=function(num){return this.cmp(num)===1},BN.prototype.gten=function(num){return this.cmpn(num)>=0},BN.prototype.gte=function(num){return this.cmp(num)>=0},BN.prototype.ltn=function(num){return this.cmpn(num)===-1},BN.prototype.lt=function(num){return this.cmp(num)===-1},BN.prototype.lten=function(num){return this.cmpn(num)<=0},BN.prototype.lte=function(num){return this.cmp(num)<=0},BN.prototype.eqn=function(num){return this.cmpn(num)===0},BN.prototype.eq=function(num){return this.cmp(num)===0},BN.red=function(num){return new Red(num)},BN.prototype.toRed=function(ctx){return assert(!this.red,\"Already a number in reduction context\"),assert(this.negative===0,\"red works only with positives\"),ctx.convertTo(this)._forceRed(ctx)},BN.prototype.fromRed=function(){return assert(this.red,\"fromRed works only with numbers in reduction context\"),this.red.convertFrom(this)},BN.prototype._forceRed=function(ctx){return this.red=ctx,this},BN.prototype.forceRed=function(ctx){return assert(!this.red,\"Already a number in reduction context\"),this._forceRed(ctx)},BN.prototype.redAdd=function(num){return assert(this.red,\"redAdd works only with red numbers\"),this.red.add(this,num)},BN.prototype.redIAdd=function(num){return assert(this.red,\"redIAdd works only with red numbers\"),this.red.iadd(this,num)},BN.prototype.redSub=function(num){return assert(this.red,\"redSub works only with red numbers\"),this.red.sub(this,num)},BN.prototype.redISub=function(num){return assert(this.red,\"redISub works only with red numbers\"),this.red.isub(this,num)},BN.prototype.redShl=function(num){return assert(this.red,\"redShl works only with red numbers\"),this.red.shl(this,num)},BN.prototype.redMul=function(num){return assert(this.red,\"redMul works only with red numbers\"),this.red._verify2(this,num),this.red.mul(this,num)},BN.prototype.redIMul=function(num){return assert(this.red,\"redMul works only with red numbers\"),this.red._verify2(this,num),this.red.imul(this,num)},BN.prototype.redSqr=function(){return assert(this.red,\"redSqr works only with red numbers\"),this.red._verify1(this),this.red.sqr(this)},BN.prototype.redISqr=function(){return assert(this.red,\"redISqr works only with red numbers\"),this.red._verify1(this),this.red.isqr(this)},BN.prototype.redSqrt=function(){return assert(this.red,\"redSqrt works only with red numbers\"),this.red._verify1(this),this.red.sqrt(this)},BN.prototype.redInvm=function(){return assert(this.red,\"redInvm works only with red numbers\"),this.red._verify1(this),this.red.invm(this)},BN.prototype.redNeg=function(){return assert(this.red,\"redNeg works only with red numbers\"),this.red._verify1(this),this.red.neg(this)},BN.prototype.redPow=function(num){return assert(this.red&&!num.red,\"redPow(normalNum)\"),this.red._verify1(this),this.red.pow(this,num)};var primes={k256:null,p224:null,p192:null,p25519:null};function MPrime(name,p){this.name=name,this.p=new BN(p,16),this.n=this.p.bitLength(),this.k=new BN(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}MPrime.prototype._tmp=function(){var tmp=new BN(null);return tmp.words=new Array(Math.ceil(this.n/13)),tmp},MPrime.prototype.ireduce=function(num){var r=num,rlen;do this.split(r,this.tmp),r=this.imulK(r),r=r.iadd(this.tmp),rlen=r.bitLength();while(rlen>this.n);var cmp=rlen0\?r.isub(this.p):r.strip!==void 0\?r.strip():r._strip(),r},MPrime.prototype.split=function(input,out){input.iushrn(this.n,0,out)},MPrime.prototype.imulK=function(num){return num.imul(this.k)};function K256(){MPrime.call(this,\"k256\",\"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f\")}inherits(K256,MPrime),K256.prototype.split=function(input,output){for(var mask=4194303,outLen=Math.min(input.length,9),i=0;i>>22,prev=next}prev>>>=22,input.words[i-10]=prev,prev===0&&input.length>10\?input.length-=10:input.length-=9},K256.prototype.imulK=function(num){num.words[num.length]=0,num.words[num.length+1]=0,num.length+=2;for(var lo=0,i=0;i>>=26,num.words[i]=lo,carry=hi}return carry!==0&&(num.words[num.length++]=carry),num},BN._prime=function(name){if(primes[name])return primes[name];var prime2;if(name===\"k256\")prime2=new K256;else if(name===\"p224\")prime2=new P224;else if(name===\"p192\")prime2=new P192;else if(name===\"p25519\")prime2=new P25519;else throw new Error(\"Unknown prime \"+name);return primes[name]=prime2,prime2};function Red(m){if(typeof m==\"string\"){var prime=BN._prime(m);this.m=prime.p,this.prime=prime}else assert(m.gtn(1),\"modulus must be greater than 1\"),this.m=m,this.prime=null}Red.prototype._verify1=function(a){assert(a.negative===0,\"red works only with positives\"),assert(a.red,\"red works only with red numbers\")},Red.prototype._verify2=function(a,b){assert((a.negative|b.negative)===0,\"red works only with positives\"),assert(a.red&&a.red===b.red,\"red works only with red numbers\")},Red.prototype.imod=function(a){return this.prime\?this.prime.ireduce(a)._forceRed(this):a.umod(this.m)._forceRed(this)},Red.prototype.neg=function(a){return a.isZero()\?a.clone():this.m.sub(a)._forceRed(this)},Red.prototype.add=function(a,b){this._verify2(a,b);var res=a.add(b);return res.cmp(this.m)>=0&&res.isub(this.m),res._forceRed(this)},Red.prototype.iadd=function(a,b){this._verify2(a,b);var res=a.iadd(b);return res.cmp(this.m)>=0&&res.isub(this.m),res},Red.prototype.sub=function(a,b){this._verify2(a,b);var res=a.sub(b);return res.cmpn(0)<0&&res.iadd(this.m),res._forceRed(this)},Red.prototype.isub=function(a,b){this._verify2(a,b);var res=a.isub(b);return res.cmpn(0)<0&&res.iadd(this.m),res},Red.prototype.shl=function(a,num){return this._verify1(a),this.imod(a.ushln(num))},Red.prototype.imul=function(a,b){return this._verify2(a,b),this.imod(a.imul(b))},Red.prototype.mul=function(a,b){return this._verify2(a,b),this.imod(a.mul(b))},Red.prototype.isqr=function(a){return this.imul(a,a.clone())},Red.prototype.sqr=function(a){return this.mul(a,a)},Red.prototype.sqrt=function(a){if(a.isZero())return a.clone();var mod3=this.m.andln(3);if(assert(mod3%2===1),mod3===3){var pow=this.m.add(new BN(1)).iushrn(2);return this.pow(a,pow)}for(var q=this.m.subn(1),s=0;!q.isZero()&&q.andln(1)===0;)s++,q.iushrn(1);assert(!q.isZero());var one=new BN(1).toRed(this),nOne=one.redNeg(),lpow=this.m.subn(1).iushrn(1),z=this.m.bitLength();for(z=new BN(2*z*z).toRed(this);this.pow(z,lpow).cmp(nOne)!==0;)z.redIAdd(nOne);for(var c=this.pow(z,q),r=this.pow(a,q.addn(1).iushrn(1)),t=this.pow(a,q),m=s;t.cmp(one)!==0;){for(var tmp=t,i=0;tmp.cmp(one)!==0;i++)tmp=tmp.redSqr();assert(i=0;i--){for(var word=num.words[i],j=start-1;j>=0;j--){var bit=word>>j&1;if(res!==wnd[0]&&(res=this.sqr(res)),bit===0&¤t===0){currentLen=0;continue}current<<=1,current|=bit,currentLen++,!(currentLen!==windowSize&&(i!==0||j!==0))&&(res=this.mul(res,wnd[current]),currentLen=0,current=0)}start=26}return res},Red.prototype.convertTo=function(num){var r=num.umod(this.m);return r===num\?r.clone():r},Red.prototype.convertFrom=function(num){var res=num.clone();return res.red=null,res},BN.mont=function(num){return new Mont(num)};function Mont(m){Red.call(this,m),this.shift=this.m.bitLength(),this.shift%26!==0&&(this.shift+=26-this.shift%26),this.r=new BN(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}inherits(Mont,Red),Mont.prototype.convertTo=function(num){return this.imod(num.ushln(this.shift))},Mont.prototype.convertFrom=function(num){var r=this.imod(num.mul(this.rinv));return r.red=null,r},Mont.prototype.imul=function(a,b){if(a.isZero()||b.isZero())return a.words[0]=0,a.length=1,a;var t=a.imul(b),c=t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),u=t.isub(c).iushrn(this.shift),res=u;return u.cmp(this.m)>=0\?res=u.isub(this.m):u.cmpn(0)<0&&(res=u.iadd(this.m)),res._forceRed(this)},Mont.prototype.mul=function(a,b){if(a.isZero()||b.isZero())return new BN(0)._forceRed(this);var t=a.mul(b),c=t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),u=t.isub(c).iushrn(this.shift),res=u;return u.cmp(this.m)>=0\?res=u.isub(this.m):u.cmpn(0)<0&&(res=u.iadd(this.m)),res._forceRed(this)},Mont.prototype.invm=function(a){var res=this.imod(a._invmp(this.m).mul(this.r2));return res._forceRed(this)}})(typeof module>\"u\"||module,exports)}}),require_browser9=__commonJS({\"node_modules/create-ecdh/browser.js\"(exports,module){var elliptic=require_elliptic(),BN=require_bn6();module.exports=function(curve){return new ECDH(curve)};var aliases={secp256k1:{name:\"secp256k1\",byteLength:32},secp224r1:{name:\"p224\",byteLength:28},prime256v1:{name:\"p256\",byteLength:32},prime192v1:{name:\"p192\",byteLength:24},ed25519:{name:\"ed25519\",byteLength:32},secp384r1:{name:\"p384\",byteLength:48},secp521r1:{name:\"p521\",byteLength:66}};aliases.p224=aliases.secp224r1,aliases.p256=aliases.secp256r1=aliases.prime256v1,aliases.p192=aliases.secp192r1=aliases.prime192v1,aliases.p384=aliases.secp384r1,aliases.p521=aliases.secp521r1;function ECDH(curve){this.curveType=aliases[curve],this.curveType||(this.curveType={name:curve}),this.curve=new elliptic.ec(this.curveType.name),this.keys=void 0}ECDH.prototype.generateKeys=function(enc,format){return this.keys=this.curve.genKeyPair(),this.getPublicKey(enc,format)},ECDH.prototype.computeSecret=function(other,inenc,enc){inenc=inenc||\"utf8\",Buffer.isBuffer(other)||(other=new Buffer(other,inenc));var otherPub=this.curve.keyFromPublic(other).getPublic(),out=otherPub.mul(this.keys.getPrivate()).getX();return formatReturnValue(out,enc,this.curveType.byteLength)},ECDH.prototype.getPublicKey=function(enc,format){var key=this.keys.getPublic(format===\"compressed\",!0);return format===\"hybrid\"&&(key[key.length-1]%2\?key[0]=7:key[0]=6),formatReturnValue(key,enc)},ECDH.prototype.getPrivateKey=function(enc){return formatReturnValue(this.keys.getPrivate(),enc)},ECDH.prototype.setPublicKey=function(pub,enc){return enc=enc||\"utf8\",Buffer.isBuffer(pub)||(pub=new Buffer(pub,enc)),this.keys._importPublic(pub),this},ECDH.prototype.setPrivateKey=function(priv,enc){enc=enc||\"utf8\",Buffer.isBuffer(priv)||(priv=new Buffer(priv,enc));var _priv=new BN(priv);return _priv=_priv.toString(16),this.keys=this.curve.genKeyPair(),this.keys._importPrivate(_priv),this};function formatReturnValue(bn,enc,len){Array.isArray(bn)||(bn=bn.toArray());var buf=new Buffer(bn);if(len&&buf.length0\?left:right},BN.min=function(left,right){return left.cmp(right)<0\?left:right},BN.prototype._init=function(number,base,endian){if(typeof number==\"number\")return this._initNumber(number,base,endian);if(typeof number==\"object\")return this._initArray(number,base,endian);base===\"hex\"&&(base=16),assert(base===(base|0)&&base>=2&&base<=36),number=number.toString().replace(/\\s+/g,\"\");var start=0;number[0]===\"-\"&&(start++,this.negative=1),start=0;i-=3)w=number[i]|number[i-1]<<8|number[i-2]<<16,this.words[j]|=w<>>26-off&67108863,off+=24,off>=26&&(off-=26,j++);else if(endian===\"le\")for(i=0,j=0;i>>26-off&67108863,off+=24,off>=26&&(off-=26,j++);return this.strip()};function parseHex4Bits(string,index){var c=string.charCodeAt(index);return c>=65&&c<=70\?c-55:c>=97&&c<=102\?c-87:c-48&15}function parseHexByte(string,lowerBound,index){var r=parseHex4Bits(string,index);return index-1>=lowerBound&&(r|=parseHex4Bits(string,index-1)<<4),r}BN.prototype._parseHex=function(number,start,endian){this.length=Math.ceil((number.length-start)/6),this.words=new Array(this.length);for(var i=0;i=start;i-=2)w=parseHexByte(number,start,i)<=18\?(off-=18,j+=1,this.words[j]|=w>>>26):off+=8;else{var parseLength=number.length-start;for(i=parseLength%2===0\?start+1:start;i=18\?(off-=18,j+=1,this.words[j]|=w>>>26):off+=8}this.strip()};function parseBase(str,start,end,mul){for(var r=0,len=Math.min(str.length,end),i=start;i=49\?r+=c-49+10:c>=17\?r+=c-17+10:r+=c}return r}BN.prototype._parseBase=function(number,base,start){this.words=[0],this.length=1;for(var limbLen=0,limbPow=1;limbPow<=67108863;limbPow*=base)limbLen++;limbLen--,limbPow=limbPow/base|0;for(var total=number.length-start,mod=total%limbLen,end=Math.min(total,total-mod)+start,word=0,i=start;i1&&this.words[this.length-1]===0;)this.length--;return this._normSign()},BN.prototype._normSign=function(){return this.length===1&&this.words[0]===0&&(this.negative=0),this},BN.prototype.inspect=function(){return(this.red\?\"\"};var zeros=[\"\",\"0\",\"00\",\"000\",\"0000\",\"00000\",\"000000\",\"0000000\",\"00000000\",\"000000000\",\"0000000000\",\"00000000000\",\"000000000000\",\"0000000000000\",\"00000000000000\",\"000000000000000\",\"0000000000000000\",\"00000000000000000\",\"000000000000000000\",\"0000000000000000000\",\"00000000000000000000\",\"000000000000000000000\",\"0000000000000000000000\",\"00000000000000000000000\",\"000000000000000000000000\",\"0000000000000000000000000\"],groupSizes=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],groupBases=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64000000,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,24300000,28629151,33554432,39135393,45435424,52521875,60466176];BN.prototype.toString=function(base,padding){base=base||10,padding=padding|0||1;var out;if(base===16||base===\"hex\"){out=\"\";for(var off=0,carry=0,i=0;i>>24-off&16777215,carry!==0||i!==this.length-1\?out=zeros[6-word.length]+word+out:out=word+out,off+=2,off>=26&&(off-=26,i--)}for(carry!==0&&(out=carry.toString(16)+out);out.length%padding!==0;)out=\"0\"+out;return this.negative!==0&&(out=\"-\"+out),out}if(base===(base|0)&&base>=2&&base<=36){var groupSize=groupSizes[base],groupBase=groupBases[base];out=\"\";var c=this.clone();for(c.negative=0;!c.isZero();){var r=c.modn(groupBase).toString(base);c=c.idivn(groupBase),c.isZero()\?out=r+out:out=zeros[groupSize-r.length]+r+out}for(this.isZero()&&(out=\"0\"+out);out.length%padding!==0;)out=\"0\"+out;return this.negative!==0&&(out=\"-\"+out),out}assert(!1,\"Base should be between 2 and 36\")},BN.prototype.toNumber=function(){var ret=this.words[0];return this.length===2\?ret+=this.words[1]*67108864:this.length===3&&this.words[2]===1\?ret+=4503599627370496+this.words[1]*67108864:this.length>2&&assert(!1,\"Number can only safely store up to 53 bits\"),this.negative!==0\?-ret:ret},BN.prototype.toJSON=function(){return this.toString(16)},BN.prototype.toBuffer=function(endian,length){return assert(typeof Buffer2<\"u\"),this.toArrayLike(Buffer2,endian,length)},BN.prototype.toArray=function(endian,length){return this.toArrayLike(Array,endian,length)},BN.prototype.toArrayLike=function(ArrayType,endian,length){var byteLength=this.byteLength(),reqLength=length||Math.max(1,byteLength);assert(byteLength<=reqLength,\"byte array longer than desired length\"),assert(reqLength>0,\"Requested array length <= 0\"),this.strip();var littleEndian=endian===\"le\",res=new ArrayType(reqLength),b,i,q=this.clone();if(littleEndian){for(i=0;!q.isZero();i++)b=q.andln(255),q.iushrn(8),res[i]=b;for(;i=4096&&(r+=13,t>>>=13),t>=64&&(r+=7,t>>>=7),t>=8&&(r+=4,t>>>=4),t>=2&&(r+=2,t>>>=2),r+t},BN.prototype._zeroBits=function(w){if(w===0)return 26;var t=w,r=0;return(t&8191)===0&&(r+=13,t>>>=13),(t&127)===0&&(r+=7,t>>>=7),(t&15)===0&&(r+=4,t>>>=4),(t&3)===0&&(r+=2,t>>>=2),(t&1)===0&&r++,r},BN.prototype.bitLength=function(){var w=this.words[this.length-1],hi=this._countBits(w);return(this.length-1)*26+hi};function toBitArray(num){for(var w=new Array(num.bitLength()),bit=0;bit>>wbit}return w}BN.prototype.zeroBits=function(){if(this.isZero())return 0;for(var r=0,i=0;inum.length\?this.clone().ior(num):num.clone().ior(this)},BN.prototype.uor=function(num){return this.length>num.length\?this.clone().iuor(num):num.clone().iuor(this)},BN.prototype.iuand=function(num){var b;this.length>num.length\?b=num:b=this;for(var i=0;inum.length\?this.clone().iand(num):num.clone().iand(this)},BN.prototype.uand=function(num){return this.length>num.length\?this.clone().iuand(num):num.clone().iuand(this)},BN.prototype.iuxor=function(num){var a,b;this.length>num.length\?(a=this,b=num):(a=num,b=this);for(var i=0;inum.length\?this.clone().ixor(num):num.clone().ixor(this)},BN.prototype.uxor=function(num){return this.length>num.length\?this.clone().iuxor(num):num.clone().iuxor(this)},BN.prototype.inotn=function(width){assert(typeof width==\"number\"&&width>=0);var bytesNeeded=Math.ceil(width/26)|0,bitsLeft=width%26;this._expand(bytesNeeded),bitsLeft>0&&bytesNeeded--;for(var i=0;i0&&(this.words[i]=~this.words[i]&67108863>>26-bitsLeft),this.strip()},BN.prototype.notn=function(width){return this.clone().inotn(width)},BN.prototype.setn=function(bit,val){assert(typeof bit==\"number\"&&bit>=0);var off=bit/26|0,wbit=bit%26;return this._expand(off+1),val\?this.words[off]=this.words[off]|1<num.length\?(a=this,b=num):(a=num,b=this);for(var carry=0,i=0;i>>26;for(;carry!==0&&i>>26;if(this.length=a.length,carry!==0)this.words[this.length]=carry,this.length++;else if(a!==this)for(;inum.length\?this.clone().iadd(num):num.clone().iadd(this)},BN.prototype.isub=function(num){if(num.negative!==0){num.negative=0;var r=this.iadd(num);return num.negative=1,r._normSign()}else if(this.negative!==0)return this.negative=0,this.iadd(num),this.negative=1,this._normSign();var cmp=this.cmp(num);if(cmp===0)return this.negative=0,this.length=1,this.words[0]=0,this;var a,b;cmp>0\?(a=this,b=num):(a=num,b=this);for(var carry=0,i=0;i>26,this.words[i]=r&67108863;for(;carry!==0&&i>26,this.words[i]=r&67108863;if(carry===0&&i>>26,rword=carry&67108863,maxJ=Math.min(k,num.length-1),j=Math.max(0,k-self2.length+1);j<=maxJ;j++){var i=k-j|0;a=self2.words[i]|0,b=num.words[j]|0,r=a*b+rword,ncarry+=r/67108864|0,rword=r&67108863}out.words[k]=rword|0,carry=ncarry|0}return carry!==0\?out.words[k]=carry|0:out.length--,out.strip()}var comb10MulTo=function(self2,num,out){var a=self2.words,b=num.words,o=out.words,c=0,lo,mid,hi,a0=a[0]|0,al0=a0&8191,ah0=a0>>>13,a1=a[1]|0,al1=a1&8191,ah1=a1>>>13,a2=a[2]|0,al2=a2&8191,ah2=a2>>>13,a3=a[3]|0,al3=a3&8191,ah3=a3>>>13,a4=a[4]|0,al4=a4&8191,ah4=a4>>>13,a5=a[5]|0,al5=a5&8191,ah5=a5>>>13,a6=a[6]|0,al6=a6&8191,ah6=a6>>>13,a7=a[7]|0,al7=a7&8191,ah7=a7>>>13,a8=a[8]|0,al8=a8&8191,ah8=a8>>>13,a9=a[9]|0,al9=a9&8191,ah9=a9>>>13,b0=b[0]|0,bl0=b0&8191,bh0=b0>>>13,b1=b[1]|0,bl1=b1&8191,bh1=b1>>>13,b2=b[2]|0,bl2=b2&8191,bh2=b2>>>13,b3=b[3]|0,bl3=b3&8191,bh3=b3>>>13,b4=b[4]|0,bl4=b4&8191,bh4=b4>>>13,b5=b[5]|0,bl5=b5&8191,bh5=b5>>>13,b6=b[6]|0,bl6=b6&8191,bh6=b6>>>13,b7=b[7]|0,bl7=b7&8191,bh7=b7>>>13,b8=b[8]|0,bl8=b8&8191,bh8=b8>>>13,b9=b[9]|0,bl9=b9&8191,bh9=b9>>>13;out.negative=self2.negative^num.negative,out.length=19,lo=Math.imul(al0,bl0),mid=Math.imul(al0,bh0),mid=mid+Math.imul(ah0,bl0)|0,hi=Math.imul(ah0,bh0);var w0=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w0>>>26)|0,w0&=67108863,lo=Math.imul(al1,bl0),mid=Math.imul(al1,bh0),mid=mid+Math.imul(ah1,bl0)|0,hi=Math.imul(ah1,bh0),lo=lo+Math.imul(al0,bl1)|0,mid=mid+Math.imul(al0,bh1)|0,mid=mid+Math.imul(ah0,bl1)|0,hi=hi+Math.imul(ah0,bh1)|0;var w1=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w1>>>26)|0,w1&=67108863,lo=Math.imul(al2,bl0),mid=Math.imul(al2,bh0),mid=mid+Math.imul(ah2,bl0)|0,hi=Math.imul(ah2,bh0),lo=lo+Math.imul(al1,bl1)|0,mid=mid+Math.imul(al1,bh1)|0,mid=mid+Math.imul(ah1,bl1)|0,hi=hi+Math.imul(ah1,bh1)|0,lo=lo+Math.imul(al0,bl2)|0,mid=mid+Math.imul(al0,bh2)|0,mid=mid+Math.imul(ah0,bl2)|0,hi=hi+Math.imul(ah0,bh2)|0;var w2=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w2>>>26)|0,w2&=67108863,lo=Math.imul(al3,bl0),mid=Math.imul(al3,bh0),mid=mid+Math.imul(ah3,bl0)|0,hi=Math.imul(ah3,bh0),lo=lo+Math.imul(al2,bl1)|0,mid=mid+Math.imul(al2,bh1)|0,mid=mid+Math.imul(ah2,bl1)|0,hi=hi+Math.imul(ah2,bh1)|0,lo=lo+Math.imul(al1,bl2)|0,mid=mid+Math.imul(al1,bh2)|0,mid=mid+Math.imul(ah1,bl2)|0,hi=hi+Math.imul(ah1,bh2)|0,lo=lo+Math.imul(al0,bl3)|0,mid=mid+Math.imul(al0,bh3)|0,mid=mid+Math.imul(ah0,bl3)|0,hi=hi+Math.imul(ah0,bh3)|0;var w3=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w3>>>26)|0,w3&=67108863,lo=Math.imul(al4,bl0),mid=Math.imul(al4,bh0),mid=mid+Math.imul(ah4,bl0)|0,hi=Math.imul(ah4,bh0),lo=lo+Math.imul(al3,bl1)|0,mid=mid+Math.imul(al3,bh1)|0,mid=mid+Math.imul(ah3,bl1)|0,hi=hi+Math.imul(ah3,bh1)|0,lo=lo+Math.imul(al2,bl2)|0,mid=mid+Math.imul(al2,bh2)|0,mid=mid+Math.imul(ah2,bl2)|0,hi=hi+Math.imul(ah2,bh2)|0,lo=lo+Math.imul(al1,bl3)|0,mid=mid+Math.imul(al1,bh3)|0,mid=mid+Math.imul(ah1,bl3)|0,hi=hi+Math.imul(ah1,bh3)|0,lo=lo+Math.imul(al0,bl4)|0,mid=mid+Math.imul(al0,bh4)|0,mid=mid+Math.imul(ah0,bl4)|0,hi=hi+Math.imul(ah0,bh4)|0;var w4=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w4>>>26)|0,w4&=67108863,lo=Math.imul(al5,bl0),mid=Math.imul(al5,bh0),mid=mid+Math.imul(ah5,bl0)|0,hi=Math.imul(ah5,bh0),lo=lo+Math.imul(al4,bl1)|0,mid=mid+Math.imul(al4,bh1)|0,mid=mid+Math.imul(ah4,bl1)|0,hi=hi+Math.imul(ah4,bh1)|0,lo=lo+Math.imul(al3,bl2)|0,mid=mid+Math.imul(al3,bh2)|0,mid=mid+Math.imul(ah3,bl2)|0,hi=hi+Math.imul(ah3,bh2)|0,lo=lo+Math.imul(al2,bl3)|0,mid=mid+Math.imul(al2,bh3)|0,mid=mid+Math.imul(ah2,bl3)|0,hi=hi+Math.imul(ah2,bh3)|0,lo=lo+Math.imul(al1,bl4)|0,mid=mid+Math.imul(al1,bh4)|0,mid=mid+Math.imul(ah1,bl4)|0,hi=hi+Math.imul(ah1,bh4)|0,lo=lo+Math.imul(al0,bl5)|0,mid=mid+Math.imul(al0,bh5)|0,mid=mid+Math.imul(ah0,bl5)|0,hi=hi+Math.imul(ah0,bh5)|0;var w5=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w5>>>26)|0,w5&=67108863,lo=Math.imul(al6,bl0),mid=Math.imul(al6,bh0),mid=mid+Math.imul(ah6,bl0)|0,hi=Math.imul(ah6,bh0),lo=lo+Math.imul(al5,bl1)|0,mid=mid+Math.imul(al5,bh1)|0,mid=mid+Math.imul(ah5,bl1)|0,hi=hi+Math.imul(ah5,bh1)|0,lo=lo+Math.imul(al4,bl2)|0,mid=mid+Math.imul(al4,bh2)|0,mid=mid+Math.imul(ah4,bl2)|0,hi=hi+Math.imul(ah4,bh2)|0,lo=lo+Math.imul(al3,bl3)|0,mid=mid+Math.imul(al3,bh3)|0,mid=mid+Math.imul(ah3,bl3)|0,hi=hi+Math.imul(ah3,bh3)|0,lo=lo+Math.imul(al2,bl4)|0,mid=mid+Math.imul(al2,bh4)|0,mid=mid+Math.imul(ah2,bl4)|0,hi=hi+Math.imul(ah2,bh4)|0,lo=lo+Math.imul(al1,bl5)|0,mid=mid+Math.imul(al1,bh5)|0,mid=mid+Math.imul(ah1,bl5)|0,hi=hi+Math.imul(ah1,bh5)|0,lo=lo+Math.imul(al0,bl6)|0,mid=mid+Math.imul(al0,bh6)|0,mid=mid+Math.imul(ah0,bl6)|0,hi=hi+Math.imul(ah0,bh6)|0;var w6=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w6>>>26)|0,w6&=67108863,lo=Math.imul(al7,bl0),mid=Math.imul(al7,bh0),mid=mid+Math.imul(ah7,bl0)|0,hi=Math.imul(ah7,bh0),lo=lo+Math.imul(al6,bl1)|0,mid=mid+Math.imul(al6,bh1)|0,mid=mid+Math.imul(ah6,bl1)|0,hi=hi+Math.imul(ah6,bh1)|0,lo=lo+Math.imul(al5,bl2)|0,mid=mid+Math.imul(al5,bh2)|0,mid=mid+Math.imul(ah5,bl2)|0,hi=hi+Math.imul(ah5,bh2)|0,lo=lo+Math.imul(al4,bl3)|0,mid=mid+Math.imul(al4,bh3)|0,mid=mid+Math.imul(ah4,bl3)|0,hi=hi+Math.imul(ah4,bh3)|0,lo=lo+Math.imul(al3,bl4)|0,mid=mid+Math.imul(al3,bh4)|0,mid=mid+Math.imul(ah3,bl4)|0,hi=hi+Math.imul(ah3,bh4)|0,lo=lo+Math.imul(al2,bl5)|0,mid=mid+Math.imul(al2,bh5)|0,mid=mid+Math.imul(ah2,bl5)|0,hi=hi+Math.imul(ah2,bh5)|0,lo=lo+Math.imul(al1,bl6)|0,mid=mid+Math.imul(al1,bh6)|0,mid=mid+Math.imul(ah1,bl6)|0,hi=hi+Math.imul(ah1,bh6)|0,lo=lo+Math.imul(al0,bl7)|0,mid=mid+Math.imul(al0,bh7)|0,mid=mid+Math.imul(ah0,bl7)|0,hi=hi+Math.imul(ah0,bh7)|0;var w7=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w7>>>26)|0,w7&=67108863,lo=Math.imul(al8,bl0),mid=Math.imul(al8,bh0),mid=mid+Math.imul(ah8,bl0)|0,hi=Math.imul(ah8,bh0),lo=lo+Math.imul(al7,bl1)|0,mid=mid+Math.imul(al7,bh1)|0,mid=mid+Math.imul(ah7,bl1)|0,hi=hi+Math.imul(ah7,bh1)|0,lo=lo+Math.imul(al6,bl2)|0,mid=mid+Math.imul(al6,bh2)|0,mid=mid+Math.imul(ah6,bl2)|0,hi=hi+Math.imul(ah6,bh2)|0,lo=lo+Math.imul(al5,bl3)|0,mid=mid+Math.imul(al5,bh3)|0,mid=mid+Math.imul(ah5,bl3)|0,hi=hi+Math.imul(ah5,bh3)|0,lo=lo+Math.imul(al4,bl4)|0,mid=mid+Math.imul(al4,bh4)|0,mid=mid+Math.imul(ah4,bl4)|0,hi=hi+Math.imul(ah4,bh4)|0,lo=lo+Math.imul(al3,bl5)|0,mid=mid+Math.imul(al3,bh5)|0,mid=mid+Math.imul(ah3,bl5)|0,hi=hi+Math.imul(ah3,bh5)|0,lo=lo+Math.imul(al2,bl6)|0,mid=mid+Math.imul(al2,bh6)|0,mid=mid+Math.imul(ah2,bl6)|0,hi=hi+Math.imul(ah2,bh6)|0,lo=lo+Math.imul(al1,bl7)|0,mid=mid+Math.imul(al1,bh7)|0,mid=mid+Math.imul(ah1,bl7)|0,hi=hi+Math.imul(ah1,bh7)|0,lo=lo+Math.imul(al0,bl8)|0,mid=mid+Math.imul(al0,bh8)|0,mid=mid+Math.imul(ah0,bl8)|0,hi=hi+Math.imul(ah0,bh8)|0;var w8=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w8>>>26)|0,w8&=67108863,lo=Math.imul(al9,bl0),mid=Math.imul(al9,bh0),mid=mid+Math.imul(ah9,bl0)|0,hi=Math.imul(ah9,bh0),lo=lo+Math.imul(al8,bl1)|0,mid=mid+Math.imul(al8,bh1)|0,mid=mid+Math.imul(ah8,bl1)|0,hi=hi+Math.imul(ah8,bh1)|0,lo=lo+Math.imul(al7,bl2)|0,mid=mid+Math.imul(al7,bh2)|0,mid=mid+Math.imul(ah7,bl2)|0,hi=hi+Math.imul(ah7,bh2)|0,lo=lo+Math.imul(al6,bl3)|0,mid=mid+Math.imul(al6,bh3)|0,mid=mid+Math.imul(ah6,bl3)|0,hi=hi+Math.imul(ah6,bh3)|0,lo=lo+Math.imul(al5,bl4)|0,mid=mid+Math.imul(al5,bh4)|0,mid=mid+Math.imul(ah5,bl4)|0,hi=hi+Math.imul(ah5,bh4)|0,lo=lo+Math.imul(al4,bl5)|0,mid=mid+Math.imul(al4,bh5)|0,mid=mid+Math.imul(ah4,bl5)|0,hi=hi+Math.imul(ah4,bh5)|0,lo=lo+Math.imul(al3,bl6)|0,mid=mid+Math.imul(al3,bh6)|0,mid=mid+Math.imul(ah3,bl6)|0,hi=hi+Math.imul(ah3,bh6)|0,lo=lo+Math.imul(al2,bl7)|0,mid=mid+Math.imul(al2,bh7)|0,mid=mid+Math.imul(ah2,bl7)|0,hi=hi+Math.imul(ah2,bh7)|0,lo=lo+Math.imul(al1,bl8)|0,mid=mid+Math.imul(al1,bh8)|0,mid=mid+Math.imul(ah1,bl8)|0,hi=hi+Math.imul(ah1,bh8)|0,lo=lo+Math.imul(al0,bl9)|0,mid=mid+Math.imul(al0,bh9)|0,mid=mid+Math.imul(ah0,bl9)|0,hi=hi+Math.imul(ah0,bh9)|0;var w9=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w9>>>26)|0,w9&=67108863,lo=Math.imul(al9,bl1),mid=Math.imul(al9,bh1),mid=mid+Math.imul(ah9,bl1)|0,hi=Math.imul(ah9,bh1),lo=lo+Math.imul(al8,bl2)|0,mid=mid+Math.imul(al8,bh2)|0,mid=mid+Math.imul(ah8,bl2)|0,hi=hi+Math.imul(ah8,bh2)|0,lo=lo+Math.imul(al7,bl3)|0,mid=mid+Math.imul(al7,bh3)|0,mid=mid+Math.imul(ah7,bl3)|0,hi=hi+Math.imul(ah7,bh3)|0,lo=lo+Math.imul(al6,bl4)|0,mid=mid+Math.imul(al6,bh4)|0,mid=mid+Math.imul(ah6,bl4)|0,hi=hi+Math.imul(ah6,bh4)|0,lo=lo+Math.imul(al5,bl5)|0,mid=mid+Math.imul(al5,bh5)|0,mid=mid+Math.imul(ah5,bl5)|0,hi=hi+Math.imul(ah5,bh5)|0,lo=lo+Math.imul(al4,bl6)|0,mid=mid+Math.imul(al4,bh6)|0,mid=mid+Math.imul(ah4,bl6)|0,hi=hi+Math.imul(ah4,bh6)|0,lo=lo+Math.imul(al3,bl7)|0,mid=mid+Math.imul(al3,bh7)|0,mid=mid+Math.imul(ah3,bl7)|0,hi=hi+Math.imul(ah3,bh7)|0,lo=lo+Math.imul(al2,bl8)|0,mid=mid+Math.imul(al2,bh8)|0,mid=mid+Math.imul(ah2,bl8)|0,hi=hi+Math.imul(ah2,bh8)|0,lo=lo+Math.imul(al1,bl9)|0,mid=mid+Math.imul(al1,bh9)|0,mid=mid+Math.imul(ah1,bl9)|0,hi=hi+Math.imul(ah1,bh9)|0;var w10=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w10>>>26)|0,w10&=67108863,lo=Math.imul(al9,bl2),mid=Math.imul(al9,bh2),mid=mid+Math.imul(ah9,bl2)|0,hi=Math.imul(ah9,bh2),lo=lo+Math.imul(al8,bl3)|0,mid=mid+Math.imul(al8,bh3)|0,mid=mid+Math.imul(ah8,bl3)|0,hi=hi+Math.imul(ah8,bh3)|0,lo=lo+Math.imul(al7,bl4)|0,mid=mid+Math.imul(al7,bh4)|0,mid=mid+Math.imul(ah7,bl4)|0,hi=hi+Math.imul(ah7,bh4)|0,lo=lo+Math.imul(al6,bl5)|0,mid=mid+Math.imul(al6,bh5)|0,mid=mid+Math.imul(ah6,bl5)|0,hi=hi+Math.imul(ah6,bh5)|0,lo=lo+Math.imul(al5,bl6)|0,mid=mid+Math.imul(al5,bh6)|0,mid=mid+Math.imul(ah5,bl6)|0,hi=hi+Math.imul(ah5,bh6)|0,lo=lo+Math.imul(al4,bl7)|0,mid=mid+Math.imul(al4,bh7)|0,mid=mid+Math.imul(ah4,bl7)|0,hi=hi+Math.imul(ah4,bh7)|0,lo=lo+Math.imul(al3,bl8)|0,mid=mid+Math.imul(al3,bh8)|0,mid=mid+Math.imul(ah3,bl8)|0,hi=hi+Math.imul(ah3,bh8)|0,lo=lo+Math.imul(al2,bl9)|0,mid=mid+Math.imul(al2,bh9)|0,mid=mid+Math.imul(ah2,bl9)|0,hi=hi+Math.imul(ah2,bh9)|0;var w11=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w11>>>26)|0,w11&=67108863,lo=Math.imul(al9,bl3),mid=Math.imul(al9,bh3),mid=mid+Math.imul(ah9,bl3)|0,hi=Math.imul(ah9,bh3),lo=lo+Math.imul(al8,bl4)|0,mid=mid+Math.imul(al8,bh4)|0,mid=mid+Math.imul(ah8,bl4)|0,hi=hi+Math.imul(ah8,bh4)|0,lo=lo+Math.imul(al7,bl5)|0,mid=mid+Math.imul(al7,bh5)|0,mid=mid+Math.imul(ah7,bl5)|0,hi=hi+Math.imul(ah7,bh5)|0,lo=lo+Math.imul(al6,bl6)|0,mid=mid+Math.imul(al6,bh6)|0,mid=mid+Math.imul(ah6,bl6)|0,hi=hi+Math.imul(ah6,bh6)|0,lo=lo+Math.imul(al5,bl7)|0,mid=mid+Math.imul(al5,bh7)|0,mid=mid+Math.imul(ah5,bl7)|0,hi=hi+Math.imul(ah5,bh7)|0,lo=lo+Math.imul(al4,bl8)|0,mid=mid+Math.imul(al4,bh8)|0,mid=mid+Math.imul(ah4,bl8)|0,hi=hi+Math.imul(ah4,bh8)|0,lo=lo+Math.imul(al3,bl9)|0,mid=mid+Math.imul(al3,bh9)|0,mid=mid+Math.imul(ah3,bl9)|0,hi=hi+Math.imul(ah3,bh9)|0;var w12=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w12>>>26)|0,w12&=67108863,lo=Math.imul(al9,bl4),mid=Math.imul(al9,bh4),mid=mid+Math.imul(ah9,bl4)|0,hi=Math.imul(ah9,bh4),lo=lo+Math.imul(al8,bl5)|0,mid=mid+Math.imul(al8,bh5)|0,mid=mid+Math.imul(ah8,bl5)|0,hi=hi+Math.imul(ah8,bh5)|0,lo=lo+Math.imul(al7,bl6)|0,mid=mid+Math.imul(al7,bh6)|0,mid=mid+Math.imul(ah7,bl6)|0,hi=hi+Math.imul(ah7,bh6)|0,lo=lo+Math.imul(al6,bl7)|0,mid=mid+Math.imul(al6,bh7)|0,mid=mid+Math.imul(ah6,bl7)|0,hi=hi+Math.imul(ah6,bh7)|0,lo=lo+Math.imul(al5,bl8)|0,mid=mid+Math.imul(al5,bh8)|0,mid=mid+Math.imul(ah5,bl8)|0,hi=hi+Math.imul(ah5,bh8)|0,lo=lo+Math.imul(al4,bl9)|0,mid=mid+Math.imul(al4,bh9)|0,mid=mid+Math.imul(ah4,bl9)|0,hi=hi+Math.imul(ah4,bh9)|0;var w13=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w13>>>26)|0,w13&=67108863,lo=Math.imul(al9,bl5),mid=Math.imul(al9,bh5),mid=mid+Math.imul(ah9,bl5)|0,hi=Math.imul(ah9,bh5),lo=lo+Math.imul(al8,bl6)|0,mid=mid+Math.imul(al8,bh6)|0,mid=mid+Math.imul(ah8,bl6)|0,hi=hi+Math.imul(ah8,bh6)|0,lo=lo+Math.imul(al7,bl7)|0,mid=mid+Math.imul(al7,bh7)|0,mid=mid+Math.imul(ah7,bl7)|0,hi=hi+Math.imul(ah7,bh7)|0,lo=lo+Math.imul(al6,bl8)|0,mid=mid+Math.imul(al6,bh8)|0,mid=mid+Math.imul(ah6,bl8)|0,hi=hi+Math.imul(ah6,bh8)|0,lo=lo+Math.imul(al5,bl9)|0,mid=mid+Math.imul(al5,bh9)|0,mid=mid+Math.imul(ah5,bl9)|0,hi=hi+Math.imul(ah5,bh9)|0;var w14=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w14>>>26)|0,w14&=67108863,lo=Math.imul(al9,bl6),mid=Math.imul(al9,bh6),mid=mid+Math.imul(ah9,bl6)|0,hi=Math.imul(ah9,bh6),lo=lo+Math.imul(al8,bl7)|0,mid=mid+Math.imul(al8,bh7)|0,mid=mid+Math.imul(ah8,bl7)|0,hi=hi+Math.imul(ah8,bh7)|0,lo=lo+Math.imul(al7,bl8)|0,mid=mid+Math.imul(al7,bh8)|0,mid=mid+Math.imul(ah7,bl8)|0,hi=hi+Math.imul(ah7,bh8)|0,lo=lo+Math.imul(al6,bl9)|0,mid=mid+Math.imul(al6,bh9)|0,mid=mid+Math.imul(ah6,bl9)|0,hi=hi+Math.imul(ah6,bh9)|0;var w15=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w15>>>26)|0,w15&=67108863,lo=Math.imul(al9,bl7),mid=Math.imul(al9,bh7),mid=mid+Math.imul(ah9,bl7)|0,hi=Math.imul(ah9,bh7),lo=lo+Math.imul(al8,bl8)|0,mid=mid+Math.imul(al8,bh8)|0,mid=mid+Math.imul(ah8,bl8)|0,hi=hi+Math.imul(ah8,bh8)|0,lo=lo+Math.imul(al7,bl9)|0,mid=mid+Math.imul(al7,bh9)|0,mid=mid+Math.imul(ah7,bl9)|0,hi=hi+Math.imul(ah7,bh9)|0;var w16=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w16>>>26)|0,w16&=67108863,lo=Math.imul(al9,bl8),mid=Math.imul(al9,bh8),mid=mid+Math.imul(ah9,bl8)|0,hi=Math.imul(ah9,bh8),lo=lo+Math.imul(al8,bl9)|0,mid=mid+Math.imul(al8,bh9)|0,mid=mid+Math.imul(ah8,bl9)|0,hi=hi+Math.imul(ah8,bh9)|0;var w17=(c+lo|0)+((mid&8191)<<13)|0;c=(hi+(mid>>>13)|0)+(w17>>>26)|0,w17&=67108863,lo=Math.imul(al9,bl9),mid=Math.imul(al9,bh9),mid=mid+Math.imul(ah9,bl9)|0,hi=Math.imul(ah9,bh9);var w18=(c+lo|0)+((mid&8191)<<13)|0;return c=(hi+(mid>>>13)|0)+(w18>>>26)|0,w18&=67108863,o[0]=w0,o[1]=w1,o[2]=w2,o[3]=w3,o[4]=w4,o[5]=w5,o[6]=w6,o[7]=w7,o[8]=w8,o[9]=w9,o[10]=w10,o[11]=w11,o[12]=w12,o[13]=w13,o[14]=w14,o[15]=w15,o[16]=w16,o[17]=w17,o[18]=w18,c!==0&&(o[19]=c,out.length++),out};Math.imul||(comb10MulTo=smallMulTo);function bigMulTo(self2,num,out){out.negative=num.negative^self2.negative,out.length=self2.length+num.length;for(var carry=0,hncarry=0,k=0;k>>26)|0,hncarry+=ncarry>>>26,ncarry&=67108863}out.words[k]=rword,carry=ncarry,ncarry=hncarry}return carry!==0\?out.words[k]=carry:out.length--,out.strip()}function jumboMulTo(self2,num,out){var fftm=new FFTM;return fftm.mulp(self2,num,out)}BN.prototype.mulTo=function(num,out){var res,len=this.length+num.length;return this.length===10&&num.length===10\?res=comb10MulTo(this,num,out):len<63\?res=smallMulTo(this,num,out):len<1024\?res=bigMulTo(this,num,out):res=jumboMulTo(this,num,out),res};function FFTM(x,y){this.x=x,this.y=y}FFTM.prototype.makeRBT=function(N){for(var t=new Array(N),l=BN.prototype._countBits(N)-1,i=0;i>=1;return rb},FFTM.prototype.permute=function(rbt,rws,iws,rtws,itws,N){for(var i=0;i>>1)i++;return 1<>>13,rws[2*i+1]=carry&8191,carry=carry>>>13;for(i=2*len;i>=26,carry+=w/67108864|0,carry+=lo>>>26,this.words[i]=lo&67108863}return carry!==0&&(this.words[i]=carry,this.length++),this},BN.prototype.muln=function(num){return this.clone().imuln(num)},BN.prototype.sqr=function(){return this.mul(this)},BN.prototype.isqr=function(){return this.imul(this.clone())},BN.prototype.pow=function(num){var w=toBitArray(num);if(w.length===0)return new BN(1);for(var res=this,i=0;i=0);var r=bits%26,s=(bits-r)/26,carryMask=67108863>>>26-r<<26-r,i;if(r!==0){var carry=0;for(i=0;i>>26-r}carry&&(this.words[i]=carry,this.length++)}if(s!==0){for(i=this.length-1;i>=0;i--)this.words[i+s]=this.words[i];for(i=0;i=0);var h;hint\?h=(hint-hint%26)/26:h=0;var r=bits%26,s=Math.min((bits-r)/26,this.length),mask=67108863^67108863>>>r<s)for(this.length-=s,i=0;i=0&&(carry!==0||i>=h);i--){var word=this.words[i]|0;this.words[i]=carry<<26-r|word>>>r,carry=word&mask}return maskedWords&&carry!==0&&(maskedWords.words[maskedWords.length++]=carry),this.length===0&&(this.words[0]=0,this.length=1),this.strip()},BN.prototype.ishrn=function(bits,hint,extended){return assert(this.negative===0),this.iushrn(bits,hint,extended)},BN.prototype.shln=function(bits){return this.clone().ishln(bits)},BN.prototype.ushln=function(bits){return this.clone().iushln(bits)},BN.prototype.shrn=function(bits){return this.clone().ishrn(bits)},BN.prototype.ushrn=function(bits){return this.clone().iushrn(bits)},BN.prototype.testn=function(bit){assert(typeof bit==\"number\"&&bit>=0);var r=bit%26,s=(bit-r)/26,q=1<=0);var r=bits%26,s=(bits-r)/26;if(assert(this.negative===0,\"imaskn works only with positive numbers\"),this.length<=s)return this;if(r!==0&&s++,this.length=Math.min(s,this.length),r!==0){var mask=67108863^67108863>>>r<=67108864;i++)this.words[i]-=67108864,i===this.length-1\?this.words[i+1]=1:this.words[i+1]++;return this.length=Math.max(this.length,i+1),this},BN.prototype.isubn=function(num){if(assert(typeof num==\"number\"),assert(num<67108864),num<0)return this.iaddn(-num);if(this.negative!==0)return this.negative=0,this.iaddn(num),this.negative=1,this;if(this.words[0]-=num,this.length===1&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var i=0;i>26)-(right/67108864|0),this.words[i+shift]=w&67108863}for(;i>26,this.words[i+shift]=w&67108863;if(carry===0)return this.strip();for(assert(carry===-1),carry=0,i=0;i>26,this.words[i]=w&67108863;return this.negative=1,this.strip()},BN.prototype._wordDiv=function(num,mode){var shift=this.length-num.length,a=this.clone(),b=num,bhi=b.words[b.length-1]|0,bhiBits=this._countBits(bhi);shift=26-bhiBits,shift!==0&&(b=b.ushln(shift),a.iushln(shift),bhi=b.words[b.length-1]|0);var m=a.length-b.length,q;if(mode!==\"mod\"){q=new BN(null),q.length=m+1,q.words=new Array(q.length);for(var i=0;i=0;j--){var qj=(a.words[b.length+j]|0)*67108864+(a.words[b.length+j-1]|0);for(qj=Math.min(qj/bhi|0,67108863),a._ishlnsubmul(b,qj,j);a.negative!==0;)qj--,a.negative=0,a._ishlnsubmul(b,1,j),a.isZero()||(a.negative^=1);q&&(q.words[j]=qj)}return q&&q.strip(),a.strip(),mode!==\"div\"&&shift!==0&&a.iushrn(shift),{div:q||null,mod:a}},BN.prototype.divmod=function(num,mode,positive){if(assert(!num.isZero()),this.isZero())return{div:new BN(0),mod:new BN(0)};var div,mod,res;return this.negative!==0&&num.negative===0\?(res=this.neg().divmod(num,mode),mode!==\"mod\"&&(div=res.div.neg()),mode!==\"div\"&&(mod=res.mod.neg(),positive&&mod.negative!==0&&mod.iadd(num)),{div,mod}):this.negative===0&&num.negative!==0\?(res=this.divmod(num.neg(),mode),mode!==\"mod\"&&(div=res.div.neg()),{div,mod:res.mod}):(this.negative&num.negative)!==0\?(res=this.neg().divmod(num.neg(),mode),mode!==\"div\"&&(mod=res.mod.neg(),positive&&mod.negative!==0&&mod.isub(num)),{div:res.div,mod}):num.length>this.length||this.cmp(num)<0\?{div:new BN(0),mod:this}:num.length===1\?mode===\"div\"\?{div:this.divn(num.words[0]),mod:null}:mode===\"mod\"\?{div:null,mod:new BN(this.modn(num.words[0]))}:{div:this.divn(num.words[0]),mod:new BN(this.modn(num.words[0]))}:this._wordDiv(num,mode)},BN.prototype.div=function(num){return this.divmod(num,\"div\",!1).div},BN.prototype.mod=function(num){return this.divmod(num,\"mod\",!1).mod},BN.prototype.umod=function(num){return this.divmod(num,\"mod\",!0).mod},BN.prototype.divRound=function(num){var dm=this.divmod(num);if(dm.mod.isZero())return dm.div;var mod=dm.div.negative!==0\?dm.mod.isub(num):dm.mod,half=num.ushrn(1),r2=num.andln(1),cmp=mod.cmp(half);return cmp<0||r2===1&&cmp===0\?dm.div:dm.div.negative!==0\?dm.div.isubn(1):dm.div.iaddn(1)},BN.prototype.modn=function(num){assert(num<=67108863);for(var p=(1<<26)%num,acc=0,i=this.length-1;i>=0;i--)acc=(p*acc+(this.words[i]|0))%num;return acc},BN.prototype.idivn=function(num){assert(num<=67108863);for(var carry=0,i=this.length-1;i>=0;i--){var w=(this.words[i]|0)+carry*67108864;this.words[i]=w/num|0,carry=w%num}return this.strip()},BN.prototype.divn=function(num){return this.clone().idivn(num)},BN.prototype.egcd=function(p){assert(p.negative===0),assert(!p.isZero());var x=this,y=p.clone();x.negative!==0\?x=x.umod(p):x=x.clone();for(var A=new BN(1),B=new BN(0),C=new BN(0),D=new BN(1),g=0;x.isEven()&&y.isEven();)x.iushrn(1),y.iushrn(1),++g;for(var yp=y.clone(),xp=x.clone();!x.isZero();){for(var i=0,im=1;(x.words[0]&im)===0&&i<26;++i,im<<=1);if(i>0)for(x.iushrn(i);i-- >0;)(A.isOdd()||B.isOdd())&&(A.iadd(yp),B.isub(xp)),A.iushrn(1),B.iushrn(1);for(var j=0,jm=1;(y.words[0]&jm)===0&&j<26;++j,jm<<=1);if(j>0)for(y.iushrn(j);j-- >0;)(C.isOdd()||D.isOdd())&&(C.iadd(yp),D.isub(xp)),C.iushrn(1),D.iushrn(1);x.cmp(y)>=0\?(x.isub(y),A.isub(C),B.isub(D)):(y.isub(x),C.isub(A),D.isub(B))}return{a:C,b:D,gcd:y.iushln(g)}},BN.prototype._invmp=function(p){assert(p.negative===0),assert(!p.isZero());var a=this,b=p.clone();a.negative!==0\?a=a.umod(p):a=a.clone();for(var x1=new BN(1),x2=new BN(0),delta=b.clone();a.cmpn(1)>0&&b.cmpn(1)>0;){for(var i=0,im=1;(a.words[0]&im)===0&&i<26;++i,im<<=1);if(i>0)for(a.iushrn(i);i-- >0;)x1.isOdd()&&x1.iadd(delta),x1.iushrn(1);for(var j=0,jm=1;(b.words[0]&jm)===0&&j<26;++j,jm<<=1);if(j>0)for(b.iushrn(j);j-- >0;)x2.isOdd()&&x2.iadd(delta),x2.iushrn(1);a.cmp(b)>=0\?(a.isub(b),x1.isub(x2)):(b.isub(a),x2.isub(x1))}var res;return a.cmpn(1)===0\?res=x1:res=x2,res.cmpn(0)<0&&res.iadd(p),res},BN.prototype.gcd=function(num){if(this.isZero())return num.abs();if(num.isZero())return this.abs();var a=this.clone(),b=num.clone();a.negative=0,b.negative=0;for(var shift=0;a.isEven()&&b.isEven();shift++)a.iushrn(1),b.iushrn(1);do{for(;a.isEven();)a.iushrn(1);for(;b.isEven();)b.iushrn(1);var r=a.cmp(b);if(r<0){var t=a;a=b,b=t}else if(r===0||b.cmpn(1)===0)break;a.isub(b)}while(!0);return b.iushln(shift)},BN.prototype.invm=function(num){return this.egcd(num).a.umod(num)},BN.prototype.isEven=function(){return(this.words[0]&1)===0},BN.prototype.isOdd=function(){return(this.words[0]&1)===1},BN.prototype.andln=function(num){return this.words[0]&num},BN.prototype.bincn=function(bit){assert(typeof bit==\"number\");var r=bit%26,s=(bit-r)/26,q=1<>>26,w&=67108863,this.words[i]=w}return carry!==0&&(this.words[i]=carry,this.length++),this},BN.prototype.isZero=function(){return this.length===1&&this.words[0]===0},BN.prototype.cmpn=function(num){var negative=num<0;if(this.negative!==0&&!negative)return-1;if(this.negative===0&&negative)return 1;this.strip();var res;if(this.length>1)res=1;else{negative&&(num=-num),assert(num<=67108863,\"Number is too big\");var w=this.words[0]|0;res=w===num\?0:wnum.length)return 1;if(this.length=0;i--){var a=this.words[i]|0,b=num.words[i]|0;if(a!==b){ab&&(res=1);break}}return res},BN.prototype.gtn=function(num){return this.cmpn(num)===1},BN.prototype.gt=function(num){return this.cmp(num)===1},BN.prototype.gten=function(num){return this.cmpn(num)>=0},BN.prototype.gte=function(num){return this.cmp(num)>=0},BN.prototype.ltn=function(num){return this.cmpn(num)===-1},BN.prototype.lt=function(num){return this.cmp(num)===-1},BN.prototype.lten=function(num){return this.cmpn(num)<=0},BN.prototype.lte=function(num){return this.cmp(num)<=0},BN.prototype.eqn=function(num){return this.cmpn(num)===0},BN.prototype.eq=function(num){return this.cmp(num)===0},BN.red=function(num){return new Red(num)},BN.prototype.toRed=function(ctx){return assert(!this.red,\"Already a number in reduction context\"),assert(this.negative===0,\"red works only with positives\"),ctx.convertTo(this)._forceRed(ctx)},BN.prototype.fromRed=function(){return assert(this.red,\"fromRed works only with numbers in reduction context\"),this.red.convertFrom(this)},BN.prototype._forceRed=function(ctx){return this.red=ctx,this},BN.prototype.forceRed=function(ctx){return assert(!this.red,\"Already a number in reduction context\"),this._forceRed(ctx)},BN.prototype.redAdd=function(num){return assert(this.red,\"redAdd works only with red numbers\"),this.red.add(this,num)},BN.prototype.redIAdd=function(num){return assert(this.red,\"redIAdd works only with red numbers\"),this.red.iadd(this,num)},BN.prototype.redSub=function(num){return assert(this.red,\"redSub works only with red numbers\"),this.red.sub(this,num)},BN.prototype.redISub=function(num){return assert(this.red,\"redISub works only with red numbers\"),this.red.isub(this,num)},BN.prototype.redShl=function(num){return assert(this.red,\"redShl works only with red numbers\"),this.red.shl(this,num)},BN.prototype.redMul=function(num){return assert(this.red,\"redMul works only with red numbers\"),this.red._verify2(this,num),this.red.mul(this,num)},BN.prototype.redIMul=function(num){return assert(this.red,\"redMul works only with red numbers\"),this.red._verify2(this,num),this.red.imul(this,num)},BN.prototype.redSqr=function(){return assert(this.red,\"redSqr works only with red numbers\"),this.red._verify1(this),this.red.sqr(this)},BN.prototype.redISqr=function(){return assert(this.red,\"redISqr works only with red numbers\"),this.red._verify1(this),this.red.isqr(this)},BN.prototype.redSqrt=function(){return assert(this.red,\"redSqrt works only with red numbers\"),this.red._verify1(this),this.red.sqrt(this)},BN.prototype.redInvm=function(){return assert(this.red,\"redInvm works only with red numbers\"),this.red._verify1(this),this.red.invm(this)},BN.prototype.redNeg=function(){return assert(this.red,\"redNeg works only with red numbers\"),this.red._verify1(this),this.red.neg(this)},BN.prototype.redPow=function(num){return assert(this.red&&!num.red,\"redPow(normalNum)\"),this.red._verify1(this),this.red.pow(this,num)};var primes={k256:null,p224:null,p192:null,p25519:null};function MPrime(name,p){this.name=name,this.p=new BN(p,16),this.n=this.p.bitLength(),this.k=new BN(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}MPrime.prototype._tmp=function(){var tmp=new BN(null);return tmp.words=new Array(Math.ceil(this.n/13)),tmp},MPrime.prototype.ireduce=function(num){var r=num,rlen;do this.split(r,this.tmp),r=this.imulK(r),r=r.iadd(this.tmp),rlen=r.bitLength();while(rlen>this.n);var cmp=rlen0\?r.isub(this.p):r.strip!==void 0\?r.strip():r._strip(),r},MPrime.prototype.split=function(input,out){input.iushrn(this.n,0,out)},MPrime.prototype.imulK=function(num){return num.imul(this.k)};function K256(){MPrime.call(this,\"k256\",\"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f\")}inherits(K256,MPrime),K256.prototype.split=function(input,output){for(var mask=4194303,outLen=Math.min(input.length,9),i=0;i>>22,prev=next}prev>>>=22,input.words[i-10]=prev,prev===0&&input.length>10\?input.length-=10:input.length-=9},K256.prototype.imulK=function(num){num.words[num.length]=0,num.words[num.length+1]=0,num.length+=2;for(var lo=0,i=0;i>>=26,num.words[i]=lo,carry=hi}return carry!==0&&(num.words[num.length++]=carry),num},BN._prime=function(name){if(primes[name])return primes[name];var prime2;if(name===\"k256\")prime2=new K256;else if(name===\"p224\")prime2=new P224;else if(name===\"p192\")prime2=new P192;else if(name===\"p25519\")prime2=new P25519;else throw new Error(\"Unknown prime \"+name);return primes[name]=prime2,prime2};function Red(m){if(typeof m==\"string\"){var prime=BN._prime(m);this.m=prime.p,this.prime=prime}else assert(m.gtn(1),\"modulus must be greater than 1\"),this.m=m,this.prime=null}Red.prototype._verify1=function(a){assert(a.negative===0,\"red works only with positives\"),assert(a.red,\"red works only with red numbers\")},Red.prototype._verify2=function(a,b){assert((a.negative|b.negative)===0,\"red works only with positives\"),assert(a.red&&a.red===b.red,\"red works only with red numbers\")},Red.prototype.imod=function(a){return this.prime\?this.prime.ireduce(a)._forceRed(this):a.umod(this.m)._forceRed(this)},Red.prototype.neg=function(a){return a.isZero()\?a.clone():this.m.sub(a)._forceRed(this)},Red.prototype.add=function(a,b){this._verify2(a,b);var res=a.add(b);return res.cmp(this.m)>=0&&res.isub(this.m),res._forceRed(this)},Red.prototype.iadd=function(a,b){this._verify2(a,b);var res=a.iadd(b);return res.cmp(this.m)>=0&&res.isub(this.m),res},Red.prototype.sub=function(a,b){this._verify2(a,b);var res=a.sub(b);return res.cmpn(0)<0&&res.iadd(this.m),res._forceRed(this)},Red.prototype.isub=function(a,b){this._verify2(a,b);var res=a.isub(b);return res.cmpn(0)<0&&res.iadd(this.m),res},Red.prototype.shl=function(a,num){return this._verify1(a),this.imod(a.ushln(num))},Red.prototype.imul=function(a,b){return this._verify2(a,b),this.imod(a.imul(b))},Red.prototype.mul=function(a,b){return this._verify2(a,b),this.imod(a.mul(b))},Red.prototype.isqr=function(a){return this.imul(a,a.clone())},Red.prototype.sqr=function(a){return this.mul(a,a)},Red.prototype.sqrt=function(a){if(a.isZero())return a.clone();var mod3=this.m.andln(3);if(assert(mod3%2===1),mod3===3){var pow=this.m.add(new BN(1)).iushrn(2);return this.pow(a,pow)}for(var q=this.m.subn(1),s=0;!q.isZero()&&q.andln(1)===0;)s++,q.iushrn(1);assert(!q.isZero());var one=new BN(1).toRed(this),nOne=one.redNeg(),lpow=this.m.subn(1).iushrn(1),z=this.m.bitLength();for(z=new BN(2*z*z).toRed(this);this.pow(z,lpow).cmp(nOne)!==0;)z.redIAdd(nOne);for(var c=this.pow(z,q),r=this.pow(a,q.addn(1).iushrn(1)),t=this.pow(a,q),m=s;t.cmp(one)!==0;){for(var tmp=t,i=0;tmp.cmp(one)!==0;i++)tmp=tmp.redSqr();assert(i=0;i--){for(var word=num.words[i],j=start-1;j>=0;j--){var bit=word>>j&1;if(res!==wnd[0]&&(res=this.sqr(res)),bit===0&¤t===0){currentLen=0;continue}current<<=1,current|=bit,currentLen++,!(currentLen!==windowSize&&(i!==0||j!==0))&&(res=this.mul(res,wnd[current]),currentLen=0,current=0)}start=26}return res},Red.prototype.convertTo=function(num){var r=num.umod(this.m);return r===num\?r.clone():r},Red.prototype.convertFrom=function(num){var res=num.clone();return res.red=null,res},BN.mont=function(num){return new Mont(num)};function Mont(m){Red.call(this,m),this.shift=this.m.bitLength(),this.shift%26!==0&&(this.shift+=26-this.shift%26),this.r=new BN(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}inherits(Mont,Red),Mont.prototype.convertTo=function(num){return this.imod(num.ushln(this.shift))},Mont.prototype.convertFrom=function(num){var r=this.imod(num.mul(this.rinv));return r.red=null,r},Mont.prototype.imul=function(a,b){if(a.isZero()||b.isZero())return a.words[0]=0,a.length=1,a;var t=a.imul(b),c=t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),u=t.isub(c).iushrn(this.shift),res=u;return u.cmp(this.m)>=0\?res=u.isub(this.m):u.cmpn(0)<0&&(res=u.iadd(this.m)),res._forceRed(this)},Mont.prototype.mul=function(a,b){if(a.isZero()||b.isZero())return new BN(0)._forceRed(this);var t=a.mul(b),c=t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),u=t.isub(c).iushrn(this.shift),res=u;return u.cmp(this.m)>=0\?res=u.isub(this.m):u.cmpn(0)<0&&(res=u.iadd(this.m)),res._forceRed(this)},Mont.prototype.invm=function(a){var res=this.imod(a._invmp(this.m).mul(this.r2));return res._forceRed(this)}})(typeof module>\"u\"||module,exports)}});const{CryptoHasher}=globalThis.Bun;var require_withPublic=__commonJS({\"node_modules/public-encrypt/withPublic.js\"(exports,module){var BN=require_bn7(),Buffer2=require_safe_buffer().Buffer;function withPublic(paddedMsg,key){return Buffer2.from(paddedMsg.toRed(BN.mont(key.modulus)).redPow(new BN(key.publicExponent)).fromRed().toArray())}module.exports=withPublic}}),require_publicEncrypt=__commonJS({\"node_modules/public-encrypt/publicEncrypt.js\"(exports,module){var parseKeys=require_parse_asn1(),randomBytes=require_browser(),createHash=require_browser2(),mgf=require_mgf(),xor=require_xor(),BN=require_bn7(),withPublic=require_withPublic(),crt=require_browserify_rsa(),Buffer2=require_safe_buffer().Buffer;module.exports=function(publicKey,msg,reverse){var padding;publicKey.padding\?padding=publicKey.padding:reverse\?padding=1:padding=4;var key=parseKeys(publicKey),paddedMsg;if(padding===4)paddedMsg=oaep(key,msg);else if(padding===1)paddedMsg=pkcs1(key,msg,reverse);else if(padding===3){if(paddedMsg=new BN(msg),paddedMsg.cmp(key.modulus)>=0)throw new Error(\"data too long for modulus\")}else throw new Error(\"unknown padding\");return reverse\?crt(paddedMsg,key):withPublic(paddedMsg,key)};function oaep(key,msg){var k=key.modulus.byteLength(),mLen=msg.length,iHash=createHash(\"sha1\").update(Buffer2.alloc(0)).digest(),hLen=iHash.length,hLen2=2*hLen;if(mLen>k-hLen2-2)throw new Error(\"message too long\");var ps=Buffer2.alloc(k-mLen-hLen2-2),dblen=k-hLen-1,seed=randomBytes(hLen),maskedDb=xor(Buffer2.concat([iHash,ps,Buffer2.alloc(1,1),msg],dblen),mgf(seed,dblen)),maskedSeed=xor(seed,mgf(maskedDb,hLen));return new BN(Buffer2.concat([Buffer2.alloc(1),maskedSeed,maskedDb],k))}function pkcs1(key,msg,reverse){var mLen=msg.length,k=key.modulus.byteLength();if(mLen>k-11)throw new Error(\"message too long\");var ps;return reverse\?ps=Buffer2.alloc(k-mLen-3,255):ps=nonZero(k-mLen-3),new BN(Buffer2.concat([Buffer2.from([0,reverse\?1:2]),ps,Buffer2.alloc(1),msg],k))}function nonZero(len){for(var out=Buffer2.allocUnsafe(len),i=0,cache=randomBytes(len*2),cur=0,num;ik||new BN(enc).cmp(key.modulus)>=0)throw new Error(\"decryption error\");var msg;reverse\?msg=withPublic(new BN(enc),key):msg=crt(enc,key);var zBuffer=Buffer2.alloc(k-msg.length);if(msg=Buffer2.concat([zBuffer,msg],k),padding===4)return oaep(key,msg);if(padding===1)return pkcs1(key,msg,reverse);if(padding===3)return msg;throw new Error(\"unknown padding\")};function oaep(key,msg){var k=key.modulus.byteLength(),iHash=createHash(\"sha1\").update(Buffer2.alloc(0)).digest(),hLen=iHash.length;if(msg[0]!==0)throw new Error(\"decryption error\");var maskedSeed=msg.slice(1,hLen+1),maskedDb=msg.slice(hLen+1),seed=xor(maskedSeed,mgf(maskedDb,hLen)),db=xor(maskedDb,mgf(seed,k-hLen-1));if(compare(iHash,db.slice(0,hLen)))throw new Error(\"decryption error\");for(var i=hLen;db[i]===0;)i++;if(db[i++]!==1)throw new Error(\"decryption error\");return db.slice(i)}function pkcs1(key,msg,reverse){for(var p1=msg.slice(0,2),i=2,status=0;msg[i++]!==0;)if(i>=msg.length){status++;break}var ps=msg.slice(2,i-1);if((p1.toString(\"hex\")!==\"0002\"&&!reverse||p1.toString(\"hex\")!==\"0001\"&&reverse)&&status++,ps.length<8&&status++,status)throw new Error(\"decryption error\");return msg.slice(i)}function compare(a,b){a=Buffer2.from(a),b=Buffer2.from(b);var dif=0,len=a.length;a.length!==b.length&&(dif++,len=Math.min(a.length,b.length));for(var i=-1;++ikMaxUint32||offset<0)throw new TypeError(\"offset must be a uint32\");if(offset>kBufferMaxLength||offset>length)throw new RangeError(\"offset out of range\")}function assertSize(size,offset,length){if(typeof size!=\"number\"||size!==size)throw new TypeError(\"size must be a number\");if(size>kMaxUint32||size<0)throw new TypeError(\"size must be a uint32\");if(size+offset>length||size>kBufferMaxLength)throw new RangeError(\"buffer too small\")}exports.randomFill=randomFill,exports.randomFillSync=randomFillSync;function randomFill(buf,offset,size,cb){if(!Buffer2.isBuffer(buf)&&!(buf instanceof global.Uint8Array))throw new TypeError('\"buf\" argument must be a Buffer or Uint8Array');if(typeof offset==\"function\")cb=offset,offset=0,size=buf.length;else if(typeof size==\"function\")cb=size,size=buf.length-offset;else if(typeof cb!=\"function\")throw new TypeError('\"cb\" argument must be a function');return assertOffset(offset,buf.length),assertSize(size,offset,buf.length),actualFill(buf,offset,size,cb)}function actualFill(buf,offset,size,cb){if(cb){randombytes(size,function(err,bytes2){if(err)return cb(err);bytes2.copy(buf,offset),cb(null,buf)});return}var bytes=randombytes(size);return bytes.copy(buf,offset),buf}function randomFillSync(buf,offset,size){if(typeof offset>\"u\"&&(offset=0),!Buffer2.isBuffer(buf)&&!(buf instanceof global.Uint8Array))throw new TypeError('\"buf\" argument must be a Buffer or Uint8Array');return assertOffset(offset,buf.length),size===void 0&&(size=buf.length-offset),assertSize(size,offset,buf.length),actualFill(buf,offset,size)}}}),require_crypto_browserify2=__commonJS({\"node_modules/crypto-browserify/index.js\"(exports){exports.randomBytes=exports.rng=exports.pseudoRandomBytes=exports.prng=require_browser(),exports.createHash=require_browser2(),exports.Hash=exports.createHash.Hash,exports.createHmac=exports.Hmac=require_browser3();var algos=require_algos(),algoKeys=Object.keys(algos),hashes=[\"sha1\",\"sha224\",\"sha256\",\"sha384\",\"sha512\",\"md5\",\"rmd160\"].concat(algoKeys);exports.getHashes=function(){return hashes};var p=require_browser4();exports.pbkdf2=p.pbkdf2,exports.pbkdf2Sync=p.pbkdf2Sync;var aes=require_browser6();exports.Cipher=aes.Cipher,exports.createCipher=aes.createCipher,exports.Cipheriv=aes.Cipheriv,exports.createCipheriv=aes.createCipheriv,exports.Decipher=aes.Decipher,exports.createDecipher=aes.createDecipher,exports.Decipheriv=aes.Decipheriv,exports.createDecipheriv=aes.createDecipheriv,exports.getCiphers=aes.getCiphers,exports.listCiphers=aes.listCiphers;var dh=require_browser7();exports.DiffieHellmanGroup=dh.DiffieHellmanGroup,exports.createDiffieHellmanGroup=dh.createDiffieHellmanGroup,exports.getDiffieHellman=dh.getDiffieHellman,exports.createDiffieHellman=dh.createDiffieHellman,exports.DiffieHellman=dh.DiffieHellman;var sign=require_browser8();exports.createSign=sign.createSign,exports.Sign=sign.Sign,exports.createVerify=sign.createVerify,exports.Verify=sign.Verify,exports.createECDH=require_browser9();var publicEncrypt=require_browser10();exports.publicEncrypt=publicEncrypt.publicEncrypt,exports.privateEncrypt=publicEncrypt.privateEncrypt,exports.publicDecrypt=publicEncrypt.publicDecrypt,exports.privateDecrypt=publicEncrypt.privateDecrypt,exports.getRandomValues=(values)=>crypto.getRandomValues(values);var rf=require_browser11();exports.randomFill=rf.randomFill,exports.randomFillSync=rf.randomFillSync,exports.createCredentials=function(){throw new Error([\"sorry, createCredentials is not implemented yet\",\"we accept pull requests\",\"https://github.com/crypto-browserify/crypto-browserify\"].join(`\n`))},exports.constants={DH_CHECK_P_NOT_SAFE_PRIME:2,DH_CHECK_P_NOT_PRIME:1,DH_UNABLE_TO_CHECK_GENERATOR:4,DH_NOT_SUITABLE_GENERATOR:8,NPN_ENABLED:1,ALPN_ENABLED:1,RSA_PKCS1_PADDING:1,RSA_SSLV23_PADDING:2,RSA_NO_PADDING:3,RSA_PKCS1_OAEP_PADDING:4,RSA_X931_PADDING:5,RSA_PKCS1_PSS_PADDING:6,POINT_CONVERSION_COMPRESSED:2,POINT_CONVERSION_UNCOMPRESSED:4,POINT_CONVERSION_HYBRID:6}}});return $})\n"_s; +static constexpr ASCIILiteral NodeDgramCode = "(function (){\"use strict\";var $;const{hideFromStack,throwNotImplemented}=@requireId(2);function createSocket(){throwNotImplemented(\"node:dgram createSocket\",1630)}function Socket(){throwNotImplemented(\"node:dgram Socket\",1630)}function _createSocketHandle(){throwNotImplemented(\"node:dgram _createSocketHandle\",1630)}return $={createSocket,Socket,_createSocketHandle},hideFromStack(createSocket,Socket,_createSocketHandle),$})\n"_s; +static constexpr ASCIILiteral NodeDiagnosticsChannelCode = "(function (){\"use strict\";var $;const{hideFromStack,throwNotImplemented}=@requireId(2);class Channel{constructor(name){throwNotImplemented(\"node:diagnostics_channel\",2688)}}function channel(){throwNotImplemented(\"node:diagnostics_channel\",2688)}function hasSubscribers(){throwNotImplemented(\"node:diagnostics_channel\",2688)}function subscribe(){throwNotImplemented(\"node:diagnostics_channel\",2688)}function unsubscribe(){throwNotImplemented(\"node:diagnostics_channel\",2688)}return $={channel,hasSubscribers,subscribe,unsubscribe,Channel},hideFromStack([channel,hasSubscribers,subscribe,unsubscribe,Channel]),$})\n"_s; +static constexpr ASCIILiteral NodeDNSCode = "(function (){\"use strict\";const dns=Bun.dns;function lookup(domain,options,callback){if(typeof options==\"function\")callback=options;if(typeof callback!=\"function\")@throwTypeError(\"callback must be a function\");if(typeof options==\"number\")options={family:options};dns.lookup(domain,options).then((res)=>{if(res.sort((a,b)=>a.family-b.family),options\?.all)callback(null,res.map(mapLookupAll));else{const[{address,family}]=res;callback(null,address,family)}},(error)=>{callback(error)})}function resolveSrv(hostname,callback){if(typeof callback!=\"function\")@throwTypeError(\"callback must be a function\");dns.resolveSrv(hostname,callback).then((results)=>{callback(null,results)},(error)=>{callback(error)})}function resolveTxt(hostname,callback){if(typeof callback!=\"function\")@throwTypeError(\"callback must be a function\");dns.resolveTxt(hostname,callback).then((results)=>{callback(null,results)},(error)=>{callback(error)})}function resolveSoa(hostname,callback){if(typeof callback!=\"function\")@throwTypeError(\"callback must be a function\");dns.resolveSoa(hostname,callback).then((results)=>{callback(null,results)},(error)=>{callback(error)})}function resolveNaptr(hostname,callback){if(typeof callback!=\"function\")@throwTypeError(\"callback must be a function\");dns.resolveNaptr(hostname,callback).then((results)=>{callback(null,results)},(error)=>{callback(error)})}function resolveMx(hostname,callback){if(typeof callback!=\"function\")@throwTypeError(\"callback must be a function\");dns.resolveMx(hostname,callback).then((results)=>{callback(null,results)},(error)=>{callback(error)})}function resolveCaa(hostname,callback){if(typeof callback!=\"function\")@throwTypeError(\"callback must be a function\");dns.resolveCaa(hostname,callback).then((results)=>{callback(null,results)},(error)=>{callback(error)})}function resolveNs(hostname,callback){if(typeof callback!=\"function\")@throwTypeError(\"callback must be a function\");dns.resolveNs(hostname,callback).then((results)=>{callback(null,results)},(error)=>{callback(error)})}function resolvePtr(hostname,callback){if(typeof callback!=\"function\")@throwTypeError(\"callback must be a function\");dns.resolvePtr(hostname,callback).then((results)=>{callback(null,results)},(error)=>{callback(error)})}function resolveCname(hostname,callback){if(typeof callback!=\"function\")@throwTypeError(\"callback must be a function\");dns.resolveCname(hostname,callback).then((results)=>{callback(null,results)},(error)=>{callback(error)})}function lookupService(address,port,callback){if(typeof callback!=\"function\")@throwTypeError(\"callback must be a function\");callback(null,address,port)}var InternalResolver=class Resolver2{constructor(options){}cancel(){}getServers(){return[]}resolve(hostname,rrtype,callback){if(typeof rrtype==\"function\")callback=rrtype,rrtype=null;if(typeof callback!=\"function\")@throwTypeError(\"callback must be a function\");dns.resolve(hostname).then((results)=>{switch(rrtype\?.toLowerCase()){case\"a\":case\"aaaa\":callback(null,hostname,results.map(mapResolveX));break;default:callback(null,results);break}},(error)=>{callback(error)})}resolve4(hostname,options,callback){if(typeof options==\"function\")callback=options,options=null;if(typeof callback!=\"function\")@throwTypeError(\"callback must be a function\");dns.lookup(hostname,{family:4}).then((addresses)=>{callback(null,options\?.ttl\?addresses:addresses.map(mapResolveX))},(error)=>{callback(error)})}resolve6(hostname,options,callback){if(typeof options==\"function\")callback=options,options=null;if(typeof callback!=\"function\")@throwTypeError(\"callback must be a function\");dns.lookup(hostname,{family:6}).then((addresses)=>{callback(null,options\?.ttl\?addresses:addresses.map(({address})=>address))},(error)=>{callback(error)})}resolveAny(hostname,callback){callback(null,[])}resolveCname(hostname,callback){if(typeof callback!=\"function\")@throwTypeError(\"callback must be a function\");dns.resolveCname(hostname,callback).then((results)=>{callback(null,results)},(error)=>{callback(error)})}resolveMx(hostname,callback){if(typeof callback!=\"function\")@throwTypeError(\"callback must be a function\");dns.resolveMx(hostname,callback).then((results)=>{callback(null,results)},(error)=>{callback(error)})}resolveNaptr(hostname,callback){if(typeof callback!=\"function\")@throwTypeError(\"callback must be a function\");dns.resolveNaptr(hostname,callback).then((results)=>{callback(null,results)},(error)=>{callback(error)})}resolveNs(hostname,callback){if(typeof callback!=\"function\")@throwTypeError(\"callback must be a function\");dns.resolveNs(hostname,callback).then((results)=>{callback(null,results)},(error)=>{callback(error)})}resolvePtr(hostname,callback){if(typeof callback!=\"function\")@throwTypeError(\"callback must be a function\");dns.resolvePtr(hostname,callback).then((results)=>{callback(null,results)},(error)=>{callback(error)})}resolveSrv(hostname,callback){if(typeof callback!=\"function\")@throwTypeError(\"callback must be a function\");dns.resolveSrv(hostname,callback).then((results)=>{callback(null,results)},(error)=>{callback(error)})}resolveCaa(hostname,callback){if(typeof callback!=\"function\")@throwTypeError(\"callback must be a function\");dns.resolveCaa(hostname,callback).then((results)=>{callback(null,results)},(error)=>{callback(error)})}resolveTxt(hostname,callback){if(typeof callback!=\"function\")@throwTypeError(\"callback must be a function\");dns.resolveTxt(hostname,callback).then((results)=>{callback(null,results)},(error)=>{callback(error)})}resolveSoa(hostname,callback){if(typeof callback!=\"function\")@throwTypeError(\"callback must be a function\");dns.resolveSoa(hostname,callback).then((results)=>{callback(null,results)},(error)=>{callback(error)})}reverse(ip,callback){callback(null,[])}setServers(servers){}};function resolve(hostname,rrtype,callback){if(typeof rrtype==\"function\")callback=rrtype;if(typeof callback!=\"function\")@throwTypeError(\"callback must be a function\");dns.resolve(hostname).then((results)=>{switch(rrtype\?.toLowerCase()){case\"a\":case\"aaaa\":callback(null,hostname,results.map(({address})=>address));break;default:callback(null,results);break}},(error)=>{callback(error)})}function Resolver(options){return new InternalResolver(options)}Object.setPrototypeOf(Resolver.prototype,InternalResolver.prototype),Object.setPrototypeOf(Resolver,InternalResolver);var{resolve,resolve4,resolve6,resolveAny,resolveCname,resolveCaa,resolveMx,resolveNaptr,resolveNs,resolvePtr,resolveSoa,resolveSrv,reverse,resolveTxt}=InternalResolver.prototype;function setDefaultResultOrder(){}function setServers(){}const promisifyLookup=(res)=>{res.sort((a,b)=>a.family-b.family);const[{address,family}]=res;return{address,family}},mapLookupAll=(res)=>{const{address,family}=res;return{address,family}},promisifyLookupAll=(res)=>{return res.sort((a,b)=>a.family-b.family),res.map(mapLookupAll)},mapResolveX=(a)=>a.address,promisifyResolveX=(res)=>{return res\?.map(mapResolveX)},promises={lookup(domain,options){if(options\?.all)return dns.lookup(domain,options).then(promisifyLookupAll);return dns.lookup(domain,options).then(promisifyLookup)},lookupService(address,port){return Promise.resolve([])},resolve(hostname,rrtype){if(typeof rrtype!==\"string\")rrtype=null;switch(rrtype\?.toLowerCase()){case\"a\":case\"aaaa\":return dns.resolve(hostname,rrtype).then(promisifyLookup);default:return dns.resolve(hostname,rrtype)}},resolve4(hostname,options){if(options\?.ttl)return dns.lookup(hostname,{family:4});return dns.lookup(hostname,{family:4}).then(promisifyResolveX)},resolve6(hostname,options){if(options\?.ttl)return dns.lookup(hostname,{family:6});return dns.lookup(hostname,{family:6}).then(promisifyResolveX)},resolveSrv(hostname){return dns.resolveSrv(hostname)},resolveTxt(hostname){return dns.resolveTxt(hostname)},resolveSoa(hostname){return dns.resolveSoa(hostname)},resolveNaptr(hostname){return dns.resolveNaptr(hostname)},resolveMx(hostname){return dns.resolveMx(hostname)},resolveCaa(hostname){return dns.resolveCaa(hostname)},resolveNs(hostname){return dns.resolveNs(hostname)},resolvePtr(hostname){return dns.resolvePtr(hostname)},resolveCname(hostname){return dns.resolveCname(hostname)},Resolver:class Resolver2{constructor(options){}cancel(){}getServers(){return[]}resolve(hostname,rrtype){if(typeof rrtype!==\"string\")rrtype=null;switch(rrtype\?.toLowerCase()){case\"a\":case\"aaaa\":return dns.resolve(hostname,rrtype).then(promisifyLookup);default:return dns.resolve(hostname,rrtype)}}resolve4(hostname,options){if(options\?.ttl)return dns.lookup(hostname,{family:4});return dns.lookup(hostname,{family:4}).then(promisifyResolveX)}resolve6(hostname,options){if(options\?.ttl)return dns.lookup(hostname,{family:6});return dns.lookup(hostname,{family:6}).then(promisifyResolveX)}resolveAny(hostname){return Promise.resolve([])}resolveCname(hostname){return dns.resolveCname(hostname)}resolveMx(hostname){return dns.resolveMx(hostname)}resolveNaptr(hostname){return dns.resolveNaptr(hostname)}resolveNs(hostname){return dns.resolveNs(hostname)}resolvePtr(hostname){return dns.resolvePtr(hostname)}resolveSoa(hostname){return dns.resolveSoa(hostname)}resolveSrv(hostname){return dns.resolveSrv(hostname)}resolveCaa(hostname){return dns.resolveCaa(hostname)}resolveTxt(hostname){return dns.resolveTxt(hostname)}reverse(ip){return Promise.resolve([])}setServers(servers){}}};for(let key of[\"resolveAny\",\"reverse\"])promises[key]=()=>Promise.resolve(void 0);return{ADDRCONFIG:0,ALL:1,V4MAPPED:2,NODATA:\"DNS_ENODATA\",FORMERR:\"DNS_EFORMERR\",SERVFAIL:\"DNS_ESERVFAIL\",NOTFOUND:\"DNS_ENOTFOUND\",NOTIMP:\"DNS_ENOTIMP\",REFUSED:\"DNS_EREFUSED\",BADQUERY:\"DNS_EBADQUERY\",BADNAME:\"DNS_EBADNAME\",BADFAMILY:\"DNS_EBADFAMILY\",BADRESP:\"DNS_EBADRESP\",CONNREFUSED:\"DNS_ECONNREFUSED\",TIMEOUT:\"DNS_ETIMEOUT\",EOF:\"DNS_EEOF\",FILE:\"DNS_EFILE\",NOMEM:\"DNS_ENOMEM\",DESTRUCTION:\"DNS_EDESTRUCTION\",BADSTR:\"DNS_EBADSTR\",BADFLAGS:\"DNS_EBADFLAGS\",NONAME:\"DNS_ENONAME\",BADHINTS:\"DNS_EBADHINTS\",NOTINITIALIZED:\"DNS_ENOTINITIALIZED\",LOADIPHLPAPI:\"DNS_ELOADIPHLPAPI\",ADDRGETNETWORKPARAMS:\"DNS_EADDRGETNETWORKPARAMS\",CANCELLED:\"DNS_ECANCELLED\",lookup,lookupService,Resolver,setServers,setDefaultResultOrder,resolve,reverse,resolve4,resolve6,resolveAny,resolveCname,resolveCaa,resolveMx,resolveNs,resolvePtr,resolveSoa,resolveSrv,resolveTxt,resolveNaptr,promises}})\n"_s; +static constexpr ASCIILiteral NodeDNSPromisesCode = "(function (){\"use strict\";return @requireId(11).promises})\n"_s; +static constexpr ASCIILiteral NodeEventsCode = "(function (){\"use strict\";const{throwNotImplemented}=@requireId(2),SymbolFor=Symbol.for,kCapture=Symbol(\"kCapture\"),kErrorMonitor=SymbolFor(\"events.errorMonitor\"),kMaxEventTargetListeners=Symbol(\"events.maxEventTargetListeners\"),kMaxEventTargetListenersWarned=Symbol(\"events.maxEventTargetListenersWarned\"),kWatermarkData=SymbolFor(\"nodejs.watermarkData\"),kRejection=SymbolFor(\"nodejs.rejection\"),captureRejectionSymbol=SymbolFor(\"nodejs.rejection\"),ArrayPrototypeSlice=Array.prototype.slice;var defaultMaxListeners=10;const EventEmitter=function EventEmitter(opts){if(this._events===void 0||this._events===this.__proto__._events)this._events={__proto__:null},this._eventsCount=0;if(this._maxListeners\?\?=void 0,this[kCapture]=opts\?.captureRejections\?Boolean(opts\?.captureRejections):EventEmitterPrototype[kCapture])this.emit=emitWithRejectionCapture},EventEmitterPrototype=EventEmitter.prototype={};EventEmitterPrototype._events=void 0,EventEmitterPrototype._eventsCount=0,EventEmitterPrototype._maxListeners=void 0,EventEmitterPrototype.setMaxListeners=function setMaxListeners(n){return validateNumber(n,\"setMaxListeners\",0),this._maxListeners=n,this},EventEmitterPrototype.getMaxListeners=function getMaxListeners(){return this._maxListeners\?\?defaultMaxListeners};function emitError(emitter,args){var{_events:events}=emitter;if(args[0]\?\?=new Error(\"Unhandled error.\"),!events)throw args[0];var errorMonitor=events[kErrorMonitor];if(errorMonitor)for(var handler of ArrayPrototypeSlice.call(errorMonitor))handler.apply(emitter,args);var handlers=events.error;if(!handlers)throw args[0];for(var handler of ArrayPrototypeSlice.call(handlers))handler.apply(emitter,args);return!0}function addCatch(emitter,promise,type,args){promise.then(void 0,function(err){process.nextTick(emitUnhandledRejectionOrErr,emitter,err,type,args)})}function emitUnhandledRejectionOrErr(emitter,err,type,args){if(typeof emitter[kRejection]===\"function\")emitter[kRejection](err,type,...args);else try{emitter[kCapture]=!1,emitter.emit(\"error\",err)}finally{emitter[kCapture]=!0}}const emitWithoutRejectionCapture=function emit(type,...args){if(type===\"error\")return emitError(this,args);var{_events:events}=this;if(events===void 0)return!1;var handlers=events[type];if(handlers===void 0)return!1;for(var handler of[...handlers])handler.apply(this,args);return!0},emitWithRejectionCapture=function emit(type,...args){if(type===\"error\")return emitError(this,args);var{_events:events}=this;if(events===void 0)return!1;var handlers=events[type];if(handlers===void 0)return!1;for(var handler of[...handlers]){var result=handler.apply(this,args);if(result!==void 0&&@isPromise(result))addCatch(this,result,type,args)}return!0};EventEmitterPrototype.emit=emitWithoutRejectionCapture,EventEmitterPrototype.addListener=function addListener(type,fn){checkListener(fn);var events=this._events;if(!events)events=this._events={__proto__:null},this._eventsCount=0;else if(events.newListener)this.emit(\"newListener\",type,fn.listener\?\?fn);var handlers=events[type];if(!handlers)events[type]=[fn],this._eventsCount++;else{handlers.push(fn);var m=this._maxListeners\?\?defaultMaxListeners;if(m>0&&handlers.length>m&&!handlers.warned)overflowWarning(this,type,handlers)}return this},EventEmitterPrototype.on=EventEmitterPrototype.addListener,EventEmitterPrototype.prependListener=function prependListener(type,fn){checkListener(fn);var events=this._events;if(!events)events=this._events={__proto__:null},this._eventsCount=0;else if(events.newListener)this.emit(\"newListener\",type,fn.listener\?\?fn);var handlers=events[type];if(!handlers)events[type]=[fn],this._eventsCount++;else{handlers.unshift(fn);var m=this._maxListeners\?\?defaultMaxListeners;if(m>0&&handlers.length>m&&!handlers.warned)overflowWarning(this,type,handlers)}return this};function overflowWarning(emitter,type,handlers){handlers.warned=!0;const warn=new Error(`Possible EventEmitter memory leak detected. ${handlers.length} ${String(type)} listeners `+`added to [${emitter.constructor.name}]. Use emitter.setMaxListeners() to increase limit`);warn.name=\"MaxListenersExceededWarning\",warn.emitter=emitter,warn.type=type,warn.count=handlers.length,process.emitWarning(warn)}function onceWrapper(type,listener,...args){this.removeListener(type,listener),listener.apply(this,args)}EventEmitterPrototype.once=function once(type,fn){checkListener(fn);const bound=onceWrapper.bind(this,type,fn);return bound.listener=fn,this.addListener(type,bound),this},EventEmitterPrototype.prependOnceListener=function prependOnceListener(type,fn){checkListener(fn);const bound=onceWrapper.bind(this,type,fn);return bound.listener=fn,this.prependListener(type,bound),this},EventEmitterPrototype.removeListener=function removeListener(type,fn){checkListener(fn);var{_events:events}=this;if(!events)return this;var handlers=events[type];if(!handlers)return this;var length=handlers.length;let position=-1;for(let i=length-1;i>=0;i--)if(handlers[i]===fn||handlers[i].listener===fn){position=i;break}if(position<0)return this;if(position===0)handlers.shift();else handlers.splice(position,1);if(handlers.length===0)delete events[type],this._eventsCount--;return this},EventEmitterPrototype.off=EventEmitterPrototype.removeListener,EventEmitterPrototype.removeAllListeners=function removeAllListeners(type){var{_events:events}=this;if(type&&events){if(events[type])delete events[type],this._eventsCount--}else this._events={__proto__:null};return this},EventEmitterPrototype.listeners=function listeners(type){var{_events:events}=this;if(!events)return[];var handlers=events[type];if(!handlers)return[];return handlers.map((x)=>x.listener\?\?x)},EventEmitterPrototype.rawListeners=function rawListeners(type){var{_events}=this;if(!_events)return[];var handlers=_events[type];if(!handlers)return[];return handlers.slice()},EventEmitterPrototype.listenerCount=function listenerCount(type){var{_events:events}=this;if(!events)return 0;return events[type]\?.length\?\?0},EventEmitterPrototype.eventNames=function eventNames(){return this._eventsCount>0\?Reflect.ownKeys(this._events):[]},EventEmitterPrototype[kCapture]=!1;function once(emitter,type,options){var signal=options\?.signal;if(validateAbortSignal(signal,\"options.signal\"),signal\?.aborted)throw new AbortError(void 0,{cause:signal\?.reason});return new Promise((resolve,reject)=>{const errorListener=(err)=>{if(emitter.removeListener(type,resolver),signal!=null)eventTargetAgnosticRemoveListener(signal,\"abort\",abortListener);reject(err)},resolver=(...args)=>{if(typeof emitter.removeListener===\"function\")emitter.removeListener(\"error\",errorListener);if(signal!=null)eventTargetAgnosticRemoveListener(signal,\"abort\",abortListener);resolve(args)};if(eventTargetAgnosticAddListener(emitter,type,resolver,{once:!0}),type!==\"error\"&&typeof emitter.once===\"function\")emitter.once(\"error\",errorListener);function abortListener(){eventTargetAgnosticRemoveListener(emitter,type,resolver),eventTargetAgnosticRemoveListener(emitter,\"error\",errorListener),reject(new AbortError(void 0,{cause:signal\?.reason}))}if(signal!=null)eventTargetAgnosticAddListener(signal,\"abort\",abortListener,{once:!0})})}function on(emitter,type,options){var{signal,close,highWatermark=Number.MAX_SAFE_INTEGER,lowWatermark=1}=options||{};throwNotImplemented(\"events.on\",2679)}function getEventListeners(emitter,type){if(emitter instanceof EventTarget)throwNotImplemented(\"getEventListeners with an EventTarget\",2678);return emitter.listeners(type)}function setMaxListeners(n,...eventTargets){validateNumber(n,\"setMaxListeners\",0);var length;if(eventTargets&&(length=eventTargets.length))for(let i=0;imax||(min!=null||max!=null)&&Number.isNaN(value))throw new ERR_OUT_OF_RANGE(name,`${min!=null\?`>= ${min}`:\"\"}${min!=null&&max!=null\?\" && \":\"\"}${max!=null\?`<= ${max}`:\"\"}`,value)}function checkListener(listener){if(typeof listener!==\"function\")@throwTypeError(\"The listener must be a function\")}let AsyncResource=null;class EventEmitterAsyncResource extends EventEmitter{triggerAsyncId;asyncResource;constructor(options){if(!AsyncResource)AsyncResource=@requireId(5).AsyncResource;var{captureRejections=!1,triggerAsyncId,name=new.target.name,requireManualDestroy}=options||{};super({captureRejections});this.triggerAsyncId=triggerAsyncId\?\?0,this.asyncResource=new AsyncResource(name,{triggerAsyncId,requireManualDestroy})}emit(...args){this.asyncResource.runInAsyncScope(()=>super.emit(...args))}emitDestroy(){this.asyncResource.emitDestroy()}}return Object.defineProperties(EventEmitter,{captureRejections:{get(){return EventEmitterPrototype[kCapture]},set(value){validateBoolean(value,\"EventEmitter.captureRejections\"),EventEmitterPrototype[kCapture]=value},enumerable:!0},defaultMaxListeners:{enumerable:!0,get:()=>{return defaultMaxListeners},set:(arg)=>{validateNumber(arg,\"defaultMaxListeners\",0),defaultMaxListeners=arg}},kMaxEventTargetListeners:{value:kMaxEventTargetListeners,enumerable:!1,configurable:!1,writable:!1},kMaxEventTargetListenersWarned:{value:kMaxEventTargetListenersWarned,enumerable:!1,configurable:!1,writable:!1}}),Object.assign(EventEmitter,{once,on,getEventListeners,setMaxListeners,EventEmitter,usingDomains:!1,captureRejectionSymbol,EventEmitterAsyncResource,errorMonitor:kErrorMonitor,setMaxListeners,init:EventEmitter,listenerCount}),EventEmitter})\n"_s; +static constexpr ASCIILiteral NodeFSCode = "(function (){\"use strict\";var $,ReadStream,WriteStream;const EventEmitter=@requireId(13),promises=@requireId(15),Stream=@requireId(30);var fs=Bun.fs(),debug=process.env.DEBUG\?console.log:()=>{};class FSWatcher extends EventEmitter{#watcher;#listener;constructor(path,options,listener){super();if(typeof options===\"function\")listener=options,options={};else if(typeof options===\"string\")options={encoding:options};if(typeof listener!==\"function\")listener=()=>{};this.#listener=listener;try{this.#watcher=fs.watch(path,options||{},this.#onEvent.bind(this))}catch(e){if(!e.message\?.startsWith(\"FileNotFound\"))throw e;const notFound=new Error(`ENOENT: no such file or directory, watch '${path}'`);throw notFound.code=\"ENOENT\",notFound.errno=-2,notFound.path=path,notFound.syscall=\"watch\",notFound.filename=path,notFound}}#onEvent(eventType,filenameOrError){if(eventType===\"error\"||eventType===\"close\")this.emit(eventType,filenameOrError);else this.emit(\"change\",eventType,filenameOrError),this.#listener(eventType,filenameOrError)}close(){this.#watcher\?.close(),this.#watcher=null}ref(){this.#watcher\?.ref()}unref(){this.#watcher\?.unref()}}var access=function access(...args){callbackify(fs.accessSync,args)},appendFile=function appendFile(...args){callbackify(fs.appendFileSync,args)},close=function close(...args){callbackify(fs.closeSync,args)},rm=function rm(...args){callbackify(fs.rmSync,args)},rmdir=function rmdir(...args){callbackify(fs.rmdirSync,args)},copyFile=function copyFile(...args){callbackify(fs.copyFileSync,args)},exists=function exists(...args){callbackify(fs.existsSync,args)},chown=function chown(...args){callbackify(fs.chownSync,args)},chmod=function chmod(...args){callbackify(fs.chmodSync,args)},fchmod=function fchmod(...args){callbackify(fs.fchmodSync,args)},fchown=function fchown(...args){callbackify(fs.fchownSync,args)},fstat=function fstat(...args){callbackify(fs.fstatSync,args)},fsync=function fsync(...args){callbackify(fs.fsyncSync,args)},ftruncate=function ftruncate(...args){callbackify(fs.ftruncateSync,args)},futimes=function futimes(...args){callbackify(fs.futimesSync,args)},lchmod=function lchmod(...args){callbackify(fs.lchmodSync,args)},lchown=function lchown(...args){callbackify(fs.lchownSync,args)},link=function link(...args){callbackify(fs.linkSync,args)},mkdir=function mkdir(...args){callbackify(fs.mkdirSync,args)},mkdtemp=function mkdtemp(...args){callbackify(fs.mkdtempSync,args)},open=function open(...args){callbackify(fs.openSync,args)},read=function read(...args){callbackify(fs.readSync,args)},write=function write(...args){callbackify(fs.writeSync,args)},readdir=function readdir(...args){const callback=args[args.length-1];if(typeof callback!==\"function\")@throwTypeError(\"Callback must be a function\");fs.readdir(...args).then((result)=>callback(null,result),callback)},readFile=function readFile(...args){const callback=args[args.length-1];if(typeof callback!==\"function\")@throwTypeError(\"Callback must be a function\");fs.readFile(...args).then((result)=>callback(null,result),callback)},writeFile=function writeFile(...args){callbackify(fs.writeFileSync,args)},readlink=function readlink(...args){callbackify(fs.readlinkSync,args)},realpath=function realpath(...args){callbackify(fs.realpathSync,args)},rename=function rename(...args){callbackify(fs.renameSync,args)},lstat=function lstat(...args){const callback=args[args.length-1];if(typeof callback!==\"function\")@throwTypeError(\"Callback must be a function\");fs.lstat(...args).then((result)=>callback(null,result),callback)},stat=function stat(...args){const callback=args[args.length-1];if(typeof callback!==\"function\")@throwTypeError(\"Callback must be a function\");fs.stat(...args).then((result)=>callback(null,result),callback)},symlink=function symlink(...args){callbackify(fs.symlinkSync,args)},truncate=function truncate(...args){callbackify(fs.truncateSync,args)},unlink=function unlink(...args){callbackify(fs.unlinkSync,args)},utimes=function utimes(...args){callbackify(fs.utimesSync,args)},lutimes=function lutimes(...args){callbackify(fs.lutimesSync,args)},accessSync=fs.accessSync.bind(fs),appendFileSync=fs.appendFileSync.bind(fs),closeSync=fs.closeSync.bind(fs),copyFileSync=fs.copyFileSync.bind(fs),existsSync=fs.existsSync.bind(fs),chownSync=fs.chownSync.bind(fs),chmodSync=fs.chmodSync.bind(fs),fchmodSync=fs.fchmodSync.bind(fs),fchownSync=fs.fchownSync.bind(fs),fstatSync=fs.fstatSync.bind(fs),fsyncSync=fs.fsyncSync.bind(fs),ftruncateSync=fs.ftruncateSync.bind(fs),futimesSync=fs.futimesSync.bind(fs),lchmodSync=fs.lchmodSync.bind(fs),lchownSync=fs.lchownSync.bind(fs),linkSync=fs.linkSync.bind(fs),lstatSync=fs.lstatSync.bind(fs),mkdirSync=fs.mkdirSync.bind(fs),mkdtempSync=fs.mkdtempSync.bind(fs),openSync=fs.openSync.bind(fs),readSync=fs.readSync.bind(fs),writeSync=fs.writeSync.bind(fs),readdirSync=fs.readdirSync.bind(fs),readFileSync=fs.readFileSync.bind(fs),writeFileSync=fs.writeFileSync.bind(fs),readlinkSync=fs.readlinkSync.bind(fs),realpathSync=fs.realpathSync.bind(fs),renameSync=fs.renameSync.bind(fs),statSync=fs.statSync.bind(fs),symlinkSync=fs.symlinkSync.bind(fs),truncateSync=fs.truncateSync.bind(fs),unlinkSync=fs.unlinkSync.bind(fs),utimesSync=fs.utimesSync.bind(fs),lutimesSync=fs.lutimesSync.bind(fs),rmSync=fs.rmSync.bind(fs),rmdirSync=fs.rmdirSync.bind(fs),writev=(fd,buffers,position,callback)=>{if(typeof position===\"function\")callback=position,position=null;queueMicrotask(()=>{try{var written=fs.writevSync(fd,buffers,position)}catch(e){callback(e)}callback(null,written,buffers)})},writevSync=fs.writevSync.bind(fs),readv=(fd,buffers,position,callback)=>{if(typeof position===\"function\")callback=position,position=null;queueMicrotask(()=>{try{var written=fs.readvSync(fd,buffers,position)}catch(e){callback(e)}callback(null,written,buffers)})},readvSync=fs.readvSync.bind(fs),Dirent=fs.Dirent,Stats=fs.Stats,watch=function watch(path,options,listener){return new FSWatcher(path,options,listener)};function callbackify(fsFunction,args){try{const result=fsFunction.apply(fs,args.slice(0,args.length-1)),callback=args[args.length-1];if(typeof callback===\"function\")queueMicrotask(()=>callback(null,result))}catch(e){const callback=args[args.length-1];if(typeof callback===\"function\")queueMicrotask(()=>callback(e))}}var readStreamPathFastPathSymbol=Symbol.for(\"Bun.Node.readStreamPathFastPath\");const readStreamSymbol=Symbol.for(\"Bun.NodeReadStream\"),readStreamPathOrFdSymbol=Symbol.for(\"Bun.NodeReadStreamPathOrFd\"),writeStreamSymbol=Symbol.for(\"Bun.NodeWriteStream\");var writeStreamPathFastPathSymbol=Symbol.for(\"Bun.NodeWriteStreamFastPath\"),writeStreamPathFastPathCallSymbol=Symbol.for(\"Bun.NodeWriteStreamFastPathCall\"),kIoDone=Symbol.for(\"kIoDone\"),defaultReadStreamOptions={file:void 0,fd:void 0,flags:\"r\",encoding:void 0,mode:438,autoClose:!0,emitClose:!0,start:0,end:Infinity,highWaterMark:65536,fs:{read,open:(path,flags,mode,cb)=>{var fd;try{fd=openSync(path,flags,mode)}catch(e){cb(e);return}cb(null,fd)},openSync,close},autoDestroy:!0},ReadStreamClass;ReadStream=function(InternalReadStream){return ReadStreamClass=InternalReadStream,Object.defineProperty(ReadStreamClass.prototype,Symbol.toStringTag,{value:\"ReadStream\",enumerable:!1}),Object.defineProperty(function ReadStream(path,options){return new InternalReadStream(path,options)},Symbol.hasInstance,{value(instance){return instance instanceof InternalReadStream}})}(class ReadStream2 extends Stream._getNativeReadableStreamPrototype(2,Stream.Readable){constructor(pathOrFd,options=defaultReadStreamOptions){if(typeof options!==\"object\"||!options)@throwTypeError(\"Expected options to be an object\");var{flags=defaultReadStreamOptions.flags,encoding=defaultReadStreamOptions.encoding,mode=defaultReadStreamOptions.mode,autoClose=defaultReadStreamOptions.autoClose,emitClose=defaultReadStreamOptions.emitClose,start=defaultReadStreamOptions.start,end=defaultReadStreamOptions.end,autoDestroy=defaultReadStreamOptions.autoClose,fs:fs2=defaultReadStreamOptions.fs,highWaterMark=defaultReadStreamOptions.highWaterMark}=options;if(pathOrFd\?.constructor\?.name===\"URL\")pathOrFd=Bun.fileURLToPath(pathOrFd);var tempThis={};if(typeof pathOrFd===\"string\"){if(pathOrFd.startsWith(\"file://\"))pathOrFd=Bun.fileURLToPath(pathOrFd);if(pathOrFd.length===0)@throwTypeError(\"Expected path to be a non-empty string\");tempThis.path=tempThis.file=tempThis[readStreamPathOrFdSymbol]=pathOrFd}else if(typeof pathOrFd===\"number\"){if(pathOrFd|=0,pathOrFd<0)@throwTypeError(\"Expected fd to be a positive integer\");tempThis.fd=tempThis[readStreamPathOrFdSymbol]=pathOrFd,tempThis.autoClose=!1}else @throwTypeError(\"Expected a path or file descriptor\");if(!tempThis.fd)tempThis.fd=fs2.openSync(pathOrFd,flags,mode);var fileRef=Bun.file(tempThis.fd),stream=fileRef.stream(),native=@direct(stream);if(!native)throw debug(\"no native readable stream\"),new Error(\"no native readable stream\");var{stream:ptr}=native;super(ptr,{...options,encoding,autoDestroy,autoClose,emitClose,highWaterMark});if(Object.assign(this,tempThis),this.#fileRef=fileRef,this.end=end,this._read=this.#internalRead,this.start=start,this.flags=flags,this.mode=mode,this.emitClose=emitClose,this[readStreamPathFastPathSymbol]=start===0&&end===Infinity&&autoClose&&fs2===defaultReadStreamOptions.fs&&(encoding===\"buffer\"||encoding===\"binary\"||encoding==null||encoding===\"utf-8\"||encoding===\"utf8\"),this._readableState.autoClose=autoDestroy=autoClose,this._readableState.highWaterMark=highWaterMark,start!==void 0)this.pos=start}#fileRef;#fs;file;path;fd=null;flags;mode;start;end;pos;bytesRead=0;#fileSize=-1;_read;[readStreamSymbol]=!0;[readStreamPathOrFdSymbol];[readStreamPathFastPathSymbol];_construct(callback){if(super._construct)super._construct(callback);else callback();this.emit(\"open\",this.fd),this.emit(\"ready\")}_destroy(err,cb){super._destroy(err,cb);try{var fd=this.fd;if(this[readStreamPathFastPathSymbol]=!1,!fd)cb(err);else this.#fs.close(fd,(er)=>{cb(er||err)}),this.fd=null}catch(e){throw e}}close(cb){if(typeof cb===\"function\")eos_()(this,cb);this.destroy()}push(chunk){var bytesRead=chunk\?.length\?\?0;if(bytesRead>0){this.bytesRead+=bytesRead;var currPos=this.pos;if(currPos!==void 0){if(this.bytesRead=this.end)chunk=chunk.slice(0,this.end-this.start);return super.push(chunk,...rest)}var end=this.end;if(end&&this.bytesRead>=end){chunk=chunk.slice(0,end-currPos);var[_,...rest]=arguments;return this.pos=this.bytesRead,super.push(chunk,...rest)}this.pos=this.bytesRead}}return super.push(...arguments)}#internalRead(n){var{pos,end,bytesRead,fd,encoding}=this;if(n=pos!==void 0\?Math.min(end-pos+1,n):Math.min(end-bytesRead+1,n),debug(\"n @ fs.ReadStream.#internalRead, after clamp\",n),n<=0){this.push(null);return}if(this.#fileSize===-1&&bytesRead===0&&pos===void 0){var stat2=fstatSync(fd);if(this.#fileSize=stat2.size,this.#fileSize>0&&n>this.#fileSize)n=this.#fileSize+1;debug(\"fileSize\",this.#fileSize)}this[kIoDone]=!1;var res=super._read(n);if(debug(\"res -- undefined\? why\?\",res),@isPromise(res)){var then=res\?.then;if(then&&@isCallable(then))then(()=>{if(this[kIoDone]=!0,this.destroyed)this.emit(kIoDone)},(er)=>{this[kIoDone]=!0,this.#errorOrDestroy(er)})}else if(this[kIoDone]=!0,this.destroyed)this.emit(kIoDone),this.#errorOrDestroy(new Error(\"ERR_STREAM_PREMATURE_CLOSE\"))}#errorOrDestroy(err,sync=null){var{_readableState:r={destroyed:!1,autoDestroy:!1},_writableState:w={destroyed:!1,autoDestroy:!1}}=this;if(w\?.destroyed||r\?.destroyed)return this;if(r\?.autoDestroy||w\?.autoDestroy)this.destroy(err);else if(err)this.emit(\"error\",err)}pause(){return this[readStreamPathFastPathSymbol]=!1,super.pause()}resume(){return this[readStreamPathFastPathSymbol]=!1,super.resume()}unshift(...args){return this[readStreamPathFastPathSymbol]=!1,super.unshift(...args)}pipe(dest,pipeOpts){if(this[readStreamPathFastPathSymbol]&&(pipeOpts\?.end\?\?!0)&&this._readableState\?.pipes\?.length===0){if((writeStreamPathFastPathSymbol in dest)&&dest[writeStreamPathFastPathSymbol]){if(dest[writeStreamPathFastPathCallSymbol](this,pipeOpts))return this}}return this[readStreamPathFastPathSymbol]=!1,super.pipe(dest,pipeOpts)}});function createReadStream(path,options){return new ReadStream(path,options)}var defaultWriteStreamOptions={fd:null,start:void 0,pos:void 0,encoding:void 0,flags:\"w\",mode:438,fs:{write,close,open,openSync}},WriteStreamClass;WriteStream=function(InternalWriteStream){return WriteStreamClass=InternalWriteStream,Object.defineProperty(WriteStreamClass.prototype,Symbol.toStringTag,{value:\"WritesStream\",enumerable:!1}),Object.defineProperty(function WriteStream(path,options){return new InternalWriteStream(path,options)},Symbol.hasInstance,{value(instance){return instance instanceof InternalWriteStream}})}(class WriteStream2 extends Stream.NativeWritable{constructor(path,options=defaultWriteStreamOptions){if(!options)@throwTypeError(\"Expected options to be an object\");var{fs:fs2=defaultWriteStreamOptions.fs,start=defaultWriteStreamOptions.start,flags=defaultWriteStreamOptions.flags,mode=defaultWriteStreamOptions.mode,autoClose=!0,emitClose=!1,autoDestroy=autoClose,encoding=defaultWriteStreamOptions.encoding,fd=defaultWriteStreamOptions.fd,pos=defaultWriteStreamOptions.pos}=options,tempThis={};if(typeof path===\"string\"){if(path.length===0)@throwTypeError(\"Expected a non-empty path\");if(path.startsWith(\"file:\"))path=Bun.fileURLToPath(path);tempThis.path=path,tempThis.fd=null,tempThis[writeStreamPathFastPathSymbol]=autoClose&&(start===void 0||start===0)&&fs2.write===defaultWriteStreamOptions.fs.write&&fs2.close===defaultWriteStreamOptions.fs.close}else tempThis.fd=fd,tempThis[writeStreamPathFastPathSymbol]=!1;if(!tempThis.fd)tempThis.fd=fs2.openSync(path,flags,mode);super(tempThis.fd,{...options,decodeStrings:!1,autoDestroy,emitClose,fd:tempThis});if(Object.assign(this,tempThis),typeof fs2\?.write!==\"function\")@throwTypeError(\"Expected fs.write to be a function\");if(typeof fs2\?.close!==\"function\")@throwTypeError(\"Expected fs.close to be a function\");if(typeof fs2\?.open!==\"function\")@throwTypeError(\"Expected fs.open to be a function\");if(typeof path===\"object\"&&path){if(path instanceof URL)path=Bun.fileURLToPath(path)}if(typeof path!==\"string\"&&typeof fd!==\"number\")@throwTypeError(\"Expected a path or file descriptor\");if(this.start=start,this.#fs=fs2,this.flags=flags,this.mode=mode,this.start!==void 0)this.pos=this.start;if(encoding!==defaultWriteStreamOptions.encoding){if(this.setDefaultEncoding(encoding),encoding!==\"buffer\"&&encoding!==\"utf8\"&&encoding!==\"utf-8\"&&encoding!==\"binary\")this[writeStreamPathFastPathSymbol]=!1}}get autoClose(){return this._writableState.autoDestroy}set autoClose(val){this._writableState.autoDestroy=val}destroySoon=this.end;open(){}path;fd;flags;mode;#fs;bytesWritten=0;pos;[writeStreamPathFastPathSymbol];[writeStreamSymbol]=!0;start;[writeStreamPathFastPathCallSymbol](readStream,pipeOpts){if(!this[writeStreamPathFastPathSymbol])return!1;if(this.fd!==null)return this[writeStreamPathFastPathSymbol]=!1,!1;return this[kIoDone]=!1,readStream[kIoDone]=!1,Bun.write(this[writeStreamPathFastPathSymbol],readStream[readStreamPathOrFdSymbol]).then((bytesWritten)=>{readStream[kIoDone]=this[kIoDone]=!0,this.bytesWritten+=bytesWritten,readStream.bytesRead+=bytesWritten,this.end(),readStream.close()},(err)=>{readStream[kIoDone]=this[kIoDone]=!0,this.#errorOrDestroy(err),readStream.emit(\"error\",err)})}isBunFastPathEnabled(){return this[writeStreamPathFastPathSymbol]}disableBunFastPath(){this[writeStreamPathFastPathSymbol]=!1}#handleWrite(er,bytes){if(er)return this.#errorOrDestroy(er);this.bytesWritten+=bytes}#internalClose(err,cb){this[writeStreamPathFastPathSymbol]=!1;var fd=this.fd;this.#fs.close(fd,(er)=>{this.fd=null,cb(err||er)})}_construct(callback){if(typeof this.fd===\"number\"){callback();return}callback(),this.emit(\"open\",this.fd),this.emit(\"ready\")}_destroy(err,cb){if(this.fd===null)return cb(err);if(this[kIoDone]){this.once(kIoDone,()=>this.#internalClose(err,cb));return}this.#internalClose(err,cb)}[kIoDone]=!1;close(cb){if(cb){if(this.closed){process.nextTick(cb);return}this.on(\"close\",cb)}if(!this.autoClose)this.on(\"finish\",this.destroy);this.end()}write(chunk,encoding=this._writableState.defaultEncoding,cb){if(this[writeStreamPathFastPathSymbol]=!1,typeof chunk===\"string\")chunk=Buffer.from(chunk,encoding);var native=this.pos===void 0;return this[kIoDone]=!0,super.write(chunk,encoding,native\?(err,bytes)=>{if(this[kIoDone]=!1,this.#handleWrite(err,bytes),this.emit(kIoDone),cb)!err\?cb():cb(err)}:()=>{},native)}#internalWriteSlow(chunk,encoding,cb){this.#fs.write(this.fd,chunk,0,chunk.length,this.pos,(err,bytes)=>{this[kIoDone]=!1,this.#handleWrite(err,bytes),this.emit(kIoDone),!err\?cb():cb(err)})}end(chunk,encoding,cb){var native=this.pos===void 0;return super.end(chunk,encoding,cb,native)}_write=this.#internalWriteSlow;_writev=void 0;get pending(){return this.fd===null}_destroy(err,cb){this.close(err,cb)}#errorOrDestroy(err){var{_readableState:r={destroyed:!1,autoDestroy:!1},_writableState:w={destroyed:!1,autoDestroy:!1}}=this;if(w\?.destroyed||r\?.destroyed)return this;if(r\?.autoDestroy||w\?.autoDestroy)this.destroy(err);else if(err)this.emit(\"error\",err)}});function createWriteStream(path,options){return new WriteStream(path,options)}return Object.defineProperties(fs,{createReadStream:{value:createReadStream},createWriteStream:{value:createWriteStream},ReadStream:{value:ReadStream},WriteStream:{value:WriteStream}}),realpath.native=realpath,realpathSync.native=realpathSync,$={access,accessSync,appendFile,appendFileSync,chmod,chmodSync,chown,chownSync,close,closeSync,constants:promises.constants,copyFile,copyFileSync,createReadStream,createWriteStream,Dirent,exists,existsSync,fchmod,fchmodSync,fchown,fchownSync,fstat,fstatSync,fsync,fsyncSync,ftruncate,ftruncateSync,futimes,futimesSync,lchmod,lchmodSync,lchown,lchownSync,link,linkSync,lstat,lstatSync,lutimes,lutimesSync,mkdir,mkdirSync,mkdtemp,mkdtempSync,open,openSync,promises,read,readFile,readFileSync,readSync,readdir,readdirSync,readlink,readlinkSync,realpath,realpathSync,rename,renameSync,rm,rmSync,rmdir,rmdirSync,stat,statSync,Stats,symlink,symlinkSync,truncate,truncateSync,unlink,unlinkSync,utimes,utimesSync,write,writeFile,writeFileSync,writeSync,WriteStream,ReadStream,watch,FSWatcher,writev,writevSync,readv,readvSync,[Symbol.for(\"::bunternal::\")]:{ReadStreamClass,WriteStreamClass}},$})\n"_s; +static constexpr ASCIILiteral NodeFSPromisesCode = "(function (){\"use strict\";var $;const{createFIFO}=globalThis[globalThis.Symbol.for('Bun.lazy')](\"primordials\");var fs=Bun.fs();const notrace=\"::bunternal::\";var promisify={[notrace]:(fsFunction)=>{return async function(...args){return await 1,fsFunction.apply(fs,args)}}}[notrace];function watch(filename,options={}){if(filename instanceof URL)@throwTypeError(\"Watch URLs are not supported yet\");else if(Buffer.isBuffer(filename))filename=filename.toString();else if(typeof filename!==\"string\")@throwTypeError(\"Expected path to be a string or Buffer\");let nextEventResolve=null;if(typeof options===\"string\")options={encoding:options};const queue=createFIFO(),watcher=fs.watch(filename,options||{},(eventType,filename2)=>{if(queue.push({eventType,filename:filename2}),nextEventResolve){const resolve=nextEventResolve;nextEventResolve=null,resolve()}});return{[Symbol.asyncIterator](){let closed=!1;return{async next(){while(!closed){let event;while(event=queue.shift()){if(event.eventType===\"close\")return closed=!0,{value:void 0,done:!0};if(event.eventType===\"error\")throw closed=!0,event.filename;return{value:event,done:!1}}const{promise,resolve}=Promise.withResolvers();nextEventResolve=resolve,await promise}return{value:void 0,done:!0}},return(){if(!closed){if(watcher.close(),closed=!0,nextEventResolve){const resolve=nextEventResolve;nextEventResolve=null,resolve()}}return{value:void 0,done:!0}}}}}}return module.exports={access:promisify(fs.accessSync),appendFile:promisify(fs.appendFileSync),close:promisify(fs.closeSync),copyFile:promisify(fs.copyFileSync),exists:promisify(fs.existsSync),chown:promisify(fs.chownSync),chmod:promisify(fs.chmodSync),fchmod:promisify(fs.fchmodSync),fchown:promisify(fs.fchownSync),fstat:promisify(fs.fstatSync),fsync:promisify(fs.fsyncSync),ftruncate:promisify(fs.ftruncateSync),futimes:promisify(fs.futimesSync),lchmod:promisify(fs.lchmodSync),lchown:promisify(fs.lchownSync),link:promisify(fs.linkSync),lstat:fs.lstat.bind(fs),mkdir:promisify(fs.mkdirSync),mkdtemp:promisify(fs.mkdtempSync),open:promisify(fs.openSync),read:promisify(fs.readSync),write:promisify(fs.writeSync),readdir:fs.readdir.bind(fs),readFile:fs.readFile.bind(fs),writeFile:promisify(fs.writeFileSync),readlink:promisify(fs.readlinkSync),realpath:promisify(fs.realpathSync),rename:promisify(fs.renameSync),stat:fs.stat.bind(fs),symlink:promisify(fs.symlinkSync),truncate:promisify(fs.truncateSync),unlink:promisify(fs.unlinkSync),utimes:promisify(fs.utimesSync),lutimes:promisify(fs.lutimesSync),rm:promisify(fs.rmSync),rmdir:promisify(fs.rmdirSync),writev:(fd,buffers,position)=>{return new Promise((resolve,reject)=>{try{var bytesWritten=fs.writevSync(fd,buffers,position)}catch(err){reject(err);return}resolve({bytesWritten,buffers})})},readv:(fd,buffers,position)=>{return new Promise((resolve,reject)=>{try{var bytesRead=fs.readvSync(fd,buffers,position)}catch(err){reject(err);return}resolve({bytesRead,buffers})})},constants,watch},$})\n"_s; +static constexpr ASCIILiteral NodeHttpCode = "(function (){\"use strict\";var $;const EventEmitter=@requireId(13),{isTypedArray}=@requireBuiltin(55),headerCharRegex=/[^\\t\\x20-\\x7e\\x80-\\xff]/;function checkInvalidHeaderChar(val){return RegExpPrototypeExec.call(headerCharRegex,val)!==null}const validateHeaderName=(name,label)=>{if(typeof name!==\"string\"||!name||!checkIsHttpToken(name))throw new Error(\"ERR_INVALID_HTTP_TOKEN\")},validateHeaderValue=(name,value)=>{if(value===void 0)throw new Error(\"ERR_HTTP_INVALID_HEADER_VALUE\");if(checkInvalidHeaderChar(value))throw new Error(\"ERR_INVALID_CHAR\")};function isIPv6(input){return new RegExp(\"^((\?:(\?:[0-9a-fA-F]{1,4}):){7}(\?:(\?:[0-9a-fA-F]{1,4})|:)|(\?:(\?:[0-9a-fA-F]{1,4}):){6}(\?:((\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])[.]){3}(\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])|:(\?:[0-9a-fA-F]{1,4})|:)|(\?:(\?:[0-9a-fA-F]{1,4}):){5}(\?::((\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])[.]){3}(\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])|(:(\?:[0-9a-fA-F]{1,4})){1,2}|:)|(\?:(\?:[0-9a-fA-F]{1,4}):){4}(\?:(:(\?:[0-9a-fA-F]{1,4})){0,1}:((\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])[.]){3}(\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])|(:(\?:[0-9a-fA-F]{1,4})){1,3}|:)|(\?:(\?:[0-9a-fA-F]{1,4}):){3}(\?:(:(\?:[0-9a-fA-F]{1,4})){0,2}:((\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])[.]){3}(\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])|(:(\?:[0-9a-fA-F]{1,4})){1,4}|:)|(\?:(\?:[0-9a-fA-F]{1,4}):){2}(\?:(:(\?:[0-9a-fA-F]{1,4})){0,3}:((\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])[.]){3}(\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])|(:(\?:[0-9a-fA-F]{1,4})){1,5}|:)|(\?:(\?:[0-9a-fA-F]{1,4}):){1}(\?:(:(\?:[0-9a-fA-F]{1,4})){0,4}:((\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])[.]){3}(\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])|(:(\?:[0-9a-fA-F]{1,4})){1,6}|:)|(\?::((\?::(\?:[0-9a-fA-F]{1,4})){0,5}:((\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])[.]){3}(\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])|(\?::(\?:[0-9a-fA-F]{1,4})){1,7}|:)))(%[0-9a-zA-Z-.:]{1,})\?$\").test(input)}const{URL}=globalThis,globalReportError=globalThis.reportError,setTimeout=globalThis.setTimeout,fetch=Bun.fetch,nop=()=>{},__DEBUG__=process.env.__DEBUG__,debug=__DEBUG__\?(...args)=>console.log(\"node:http\",...args):nop,kEmptyObject=Object.freeze(Object.create(null)),kOutHeaders=Symbol.for(\"kOutHeaders\"),kEndCalled=Symbol.for(\"kEndCalled\"),kAbortController=Symbol.for(\"kAbortController\"),kClearTimeout=Symbol(\"kClearTimeout\"),kCorked=Symbol.for(\"kCorked\"),searchParamsSymbol=Symbol.for(\"query\"),StringPrototypeSlice=String.prototype.slice,StringPrototypeStartsWith=String.prototype.startsWith,StringPrototypeToUpperCase=String.prototype.toUpperCase,StringPrototypeIncludes=String.prototype.includes,StringPrototypeCharCodeAt=String.prototype.charCodeAt,StringPrototypeIndexOf=String.prototype.indexOf,ArrayIsArray=Array.isArray,RegExpPrototypeExec=RegExp.prototype.exec,ObjectAssign=Object.assign,ObjectPrototypeHasOwnProperty=Object.prototype.hasOwnProperty,INVALID_PATH_REGEX=/[^\\u0021-\\u00ff]/,NODE_HTTP_WARNING=\"WARN: Agent is mostly unused in Bun's implementation of http. If you see strange behavior, this is probably the cause.\";var _defaultHTTPSAgent,kInternalRequest=Symbol(\"kInternalRequest\"),kInternalSocketData=Symbol.for(\"::bunternal::\");const kEmptyBuffer=Buffer.alloc(0);function isValidTLSArray(obj){if(typeof obj===\"string\"||isTypedArray(obj)||obj instanceof ArrayBuffer||obj instanceof Blob)return!0;if(Array.isArray(obj)){for(var i=0;i{this.close()}),host=port\?.host,port=port\?.port,typeof port\?.callback===\"function\")onListen=port\?.callback}if(typeof backlog===\"function\")onListen=backlog;const ResponseClass=this.#options.ServerResponse||ServerResponse,RequestClass=this.#options.IncomingMessage||IncomingMessage;try{const tls=this.#tls;if(tls)this.serverName=tls.serverName||host||\"localhost\";this.#server=Bun.serve({tls,port,hostname:host,websocket:{open(ws){ws.data.open(ws)},message(ws,message){ws.data.message(ws,message)},close(ws,code,reason){ws.data.close(ws,code,reason)},drain(ws){ws.data.drain(ws)}},fetch(req,_server){var pendingResponse,pendingError,rejectFunction,resolveFunction,reject=(err)=>{if(pendingError)return;if(pendingError=err,rejectFunction)rejectFunction(err)},reply=function(resp){if(pendingResponse)return;if(pendingResponse=resp,resolveFunction)resolveFunction(resp)};const http_req=new RequestClass(req),http_res=new ResponseClass({reply,req:http_req});if(http_req.once(\"error\",(err)=>reject(err)),http_res.once(\"error\",(err)=>reject(err)),req.headers.get(\"upgrade\")){const socket=new FakeSocket;socket[kInternalSocketData]=[_server,http_res,req],server.emit(\"upgrade\",http_req,socket,kEmptyBuffer)}else server.emit(\"request\",http_req,http_res);if(pendingError)throw pendingError;if(pendingResponse)return pendingResponse;return new Promise((resolve,reject2)=>{resolveFunction=resolve,rejectFunction=reject2})}}),setTimeout(emitListeningNextTick,1,this,onListen,null,this.#server.hostname,this.#server.port)}catch(err){setTimeout(emitListeningNextTick,1,this,onListen,err)}return this}setTimeout(msecs,callback){}}function assignHeaders(object,req){var headers=req.headers.toJSON();const rawHeaders=@newArrayWithSize(req.headers.count*2);var i=0;for(let key in headers)rawHeaders[i++]=key,rawHeaders[i++]=headers[key];object.headers=headers,object.rawHeaders=rawHeaders}function destroyBodyStreamNT(bodyStream){bodyStream.destroy()}var defaultIncomingOpts={type:\"request\"};function getDefaultHTTPSAgent(){return _defaultHTTPSAgent\?\?=new Agent({defaultPort:443,protocol:\"https:\"})}class IncomingMessage extends Readable{method;complete;constructor(req,defaultIncomingOpts2){const method=req.method;super();const url=new URL(req.url);var{type=\"request\",[kInternalRequest]:nodeReq}=defaultIncomingOpts2||{};this.#noBody=type===\"request\"\?method===\"GET\"||method===\"HEAD\"||method===\"TRACE\"||method===\"CONNECT\"||method===\"OPTIONS\"||(parseInt(req.headers.get(\"Content-Length\")||\"\")||0)===0:!1,this.#req=req,this.method=method,this.#type=type,this.complete=!!this.#noBody,this.#bodyStream=void 0;const socket=new FakeSocket;socket.remoteAddress=url.hostname,socket.remotePort=url.port,this.#fakeSocket=socket,this.url=url.pathname+url.search,this.#nodeReq=nodeReq,assignHeaders(this,req)}headers;rawHeaders;_consuming=!1;_dumped=!1;#bodyStream;#fakeSocket;#noBody=!1;#aborted=!1;#req;url;#type;#nodeReq;get req(){return this.#nodeReq}_construct(callback){if(this.#type===\"response\"||this.#noBody){callback();return}const contentLength=this.#req.headers.get(\"content-length\");if((contentLength\?parseInt(contentLength,10):0)===0){this.#noBody=!0,callback();return}callback()}async#consumeStream(reader){while(!0){var{done,value}=await reader.readMany();if(this.#aborted)return;if(done){this.push(null),this.destroy();break}for(var v of value)this.push(v)}}_read(size){if(this.#noBody)this.push(null),this.complete=!0;else if(this.#bodyStream==null){const reader=this.#req.body\?.getReader();if(!reader){this.push(null);return}this.#bodyStream=reader,this.#consumeStream(reader)}}get aborted(){return this.#aborted}#abort(){if(this.#aborted)return;this.#aborted=!0;var bodyStream=this.#bodyStream;if(!bodyStream)return;bodyStream.cancel(),this.complete=!0,this.#bodyStream=void 0,this.push(null)}get connection(){return this.#fakeSocket}get statusCode(){return this.#req.status}get statusMessage(){return STATUS_CODES[this.#req.status]}get httpVersion(){return\"1.1\"}get rawTrailers(){return[]}get httpVersionMajor(){return 1}get httpVersionMinor(){return 1}get trailers(){return kEmptyObject}get socket(){return this.#fakeSocket\?\?=new FakeSocket}set socket(val){this.#fakeSocket=val}setTimeout(msecs,callback){throw new Error(\"not implemented\")}}function emitErrorNt(msg,err,callback){if(callback(err),typeof msg.emit===\"function\"&&!msg._closed)msg.emit(\"error\",err)}function onError(self,err,cb){process.nextTick(()=>emitErrorNt(self,err,cb))}function write_(msg,chunk,encoding,callback,fromEnd){if(typeof callback!==\"function\")callback=nop;let len;if(chunk===null)throw new Error(\"ERR_STREAM_NULL_VALUES\");else if(typeof chunk===\"string\")len=Buffer.byteLength(chunk,encoding);else throw new Error(\"Invalid arg type for chunk\");let err;if(msg.finished)err=new Error(\"ERR_STREAM_WRITE_AFTER_END\");else if(msg.destroyed)err=new Error(\"ERR_STREAM_DESTROYED\");if(err){if(!msg.destroyed)onError(msg,err,callback);else process.nextTick(callback,err);return!1}if(!msg._header){if(fromEnd)msg._contentLength=len}if(!msg._hasBody)return debug(\"This type of response MUST NOT have a body. Ignoring write() calls.\"),process.nextTick(callback),!0;return!0}class OutgoingMessage extends Writable{constructor(){super(...arguments)}#headers;headersSent=!1;sendDate=!0;req;timeout;#finished=!1;[kEndCalled]=!1;#fakeSocket;#timeoutTimer;[kAbortController]=null;_implicitHeader(){}get headers(){if(!this.#headers)return kEmptyObject;return this.#headers.toJSON()}get shouldKeepAlive(){return!0}get chunkedEncoding(){return!1}set chunkedEncoding(value){}set shouldKeepAlive(value){}get useChunkedEncodingByDefault(){return!0}set useChunkedEncodingByDefault(value){}get socket(){return this.#fakeSocket\?\?=new FakeSocket}set socket(val){this.#fakeSocket=val}get connection(){return this.socket}get finished(){return this.#finished}appendHeader(name,value){var headers=this.#headers\?\?=new Headers;headers.append(name,value)}flushHeaders(){}getHeader(name){return getHeader(this.#headers,name)}getHeaders(){if(!this.#headers)return kEmptyObject;return this.#headers.toJSON()}getHeaderNames(){var headers=this.#headers;if(!headers)return[];return Array.from(headers.keys())}removeHeader(name){if(!this.#headers)return;this.#headers.delete(name)}setHeader(name,value){var headers=this.#headers\?\?=new Headers;return headers.set(name,value),this}hasHeader(name){if(!this.#headers)return!1;return this.#headers.has(name)}addTrailers(headers){throw new Error(\"not implemented\")}[kClearTimeout](){if(this.#timeoutTimer)clearTimeout(this.#timeoutTimer),this.removeAllListeners(\"timeout\"),this.#timeoutTimer=void 0}#onTimeout(){this.#timeoutTimer=void 0,this[kAbortController]\?.abort(),this.emit(\"timeout\")}setTimeout(msecs,callback){if(this.destroyed)return this;if(this.timeout=msecs=validateMsecs(msecs,\"msecs\"),clearTimeout(this.#timeoutTimer),msecs===0){if(callback!==void 0)validateFunction(callback,\"callback\"),this.removeListener(\"timeout\",callback);this.#timeoutTimer=void 0}else if(this.#timeoutTimer=setTimeout(this.#onTimeout.bind(this),msecs).unref(),callback!==void 0)validateFunction(callback,\"callback\"),this.once(\"timeout\",callback);return this}}let OriginalWriteHeadFn,OriginalImplicitHeadFn;class ServerResponse extends Writable{constructor({req,reply}){super();if(this.req=req,this._reply=reply,this.sendDate=!0,this.statusCode=200,this.headersSent=!1,this.statusMessage=void 0,this.#controller=void 0,this.#firstWrite=void 0,this._writableState.decodeStrings=!1,this.#deferred=void 0,req.method===\"HEAD\")this._hasBody=!1}req;_reply;sendDate;statusCode;#headers;headersSent=!1;statusMessage;#controller;#firstWrite;_sent100=!1;_defaultKeepAlive=!1;_removedConnection=!1;_removedContLen=!1;_hasBody=!0;#deferred=void 0;#finished=!1;_implicitHeader(){this.writeHead(this.statusCode)}_write(chunk,encoding,callback){if(!this.#firstWrite&&!this.headersSent){this.#firstWrite=chunk,callback();return}this.#ensureReadableStreamController((controller)=>{controller.write(chunk),callback()})}_writev(chunks,callback){if(chunks.length===1&&!this.headersSent&&!this.#firstWrite){this.#firstWrite=chunks[0].chunk,callback();return}this.#ensureReadableStreamController((controller)=>{for(let chunk of chunks)controller.write(chunk.chunk);callback()})}#ensureReadableStreamController(run){var thisController=this.#controller;if(thisController)return run(thisController);this.headersSent=!0;var firstWrite=this.#firstWrite;this.#firstWrite=void 0,this._reply(new Response(new ReadableStream({type:\"direct\",pull:(controller)=>{if(this.#controller=controller,firstWrite)controller.write(firstWrite);if(firstWrite=void 0,run(controller),!this.#finished)return new Promise((resolve)=>{this.#deferred=resolve})}}),{headers:this.#headers,status:this.statusCode,statusText:this.statusMessage\?\?STATUS_CODES[this.statusCode]}))}#drainHeadersIfObservable(){if(this._implicitHeader===OriginalImplicitHeadFn&&this.writeHead===OriginalWriteHeadFn)return;this._implicitHeader()}_final(callback){if(!this.headersSent){var data=this.#firstWrite||\"\";this.#firstWrite=void 0,this.#finished=!0,this.#drainHeadersIfObservable(),this._reply(new Response(data,{headers:this.#headers,status:this.statusCode,statusText:this.statusMessage\?\?STATUS_CODES[this.statusCode]})),callback&&callback();return}this.#finished=!0,this.#ensureReadableStreamController((controller)=>{controller.end(),callback();var deferred=this.#deferred;if(deferred)this.#deferred=void 0,deferred()})}writeProcessing(){throw new Error(\"not implemented\")}addTrailers(headers){throw new Error(\"not implemented\")}assignSocket(socket){throw new Error(\"not implemented\")}detachSocket(socket){throw new Error(\"not implemented\")}writeContinue(callback){throw new Error(\"not implemented\")}setTimeout(msecs,callback){throw new Error(\"not implemented\")}get shouldKeepAlive(){return!0}get chunkedEncoding(){return!1}set chunkedEncoding(value){}set shouldKeepAlive(value){}get useChunkedEncodingByDefault(){return!0}set useChunkedEncodingByDefault(value){}appendHeader(name,value){var headers=this.#headers\?\?=new Headers;headers.append(name,value)}flushHeaders(){}getHeader(name){return getHeader(this.#headers,name)}getHeaders(){var headers=this.#headers;if(!headers)return kEmptyObject;return headers.toJSON()}getHeaderNames(){var headers=this.#headers;if(!headers)return[];return Array.from(headers.keys())}removeHeader(name){if(!this.#headers)return;this.#headers.delete(name)}setHeader(name,value){var headers=this.#headers\?\?=new Headers;return headers.set(name,value),this}hasHeader(name){if(!this.#headers)return!1;return this.#headers.has(name)}writeHead(statusCode,statusMessage,headers){return _writeHead(statusCode,statusMessage,headers,this),this}}OriginalWriteHeadFn=ServerResponse.prototype.writeHead,OriginalImplicitHeadFn=ServerResponse.prototype._implicitHeader;class ClientRequest extends OutgoingMessage{#timeout;#res=null;#upgradeOrConnect=!1;#parser=null;#maxHeadersCount=null;#reusedSocket=!1;#host;#protocol;#method;#port;#useDefaultPort;#joinDuplicateHeaders;#maxHeaderSize;#agent=globalAgent;#path;#socketPath;#body=null;#fetchRequest;#signal=null;[kAbortController]=null;#timeoutTimer=void 0;#options;#finished;get path(){return this.#path}get port(){return this.#port}get method(){return this.#method}get host(){return this.#host}get protocol(){return this.#protocol}_write(chunk,encoding,callback){var body=this.#body;if(!body){this.#body=chunk,callback();return}this.#body=body+chunk,callback()}_writev(chunks,callback){var body=this.#body;if(!body){this.#body=chunks.join(),callback();return}this.#body=body+chunks.join(),callback()}_final(callback){if(this.#finished=!0,this[kAbortController]=new AbortController,this[kAbortController].signal.addEventListener(\"abort\",()=>{this[kClearTimeout]()}),this.#signal\?.aborted)this[kAbortController].abort();var method=this.#method,body=this.#body;try{this.#fetchRequest=fetch(`${this.#protocol}//${this.#host}${this.#useDefaultPort\?\"\":\":\"+this.#port}${this.#path}`,{method,headers:this.getHeaders(),body:body&&method!==\"GET\"&&method!==\"HEAD\"&&method!==\"OPTIONS\"\?body:void 0,redirect:\"manual\",verbose:Boolean(__DEBUG__),signal:this[kAbortController].signal,timeout:!1}).then((response)=>{var res=this.#res=new IncomingMessage(response,{type:\"response\",[kInternalRequest]:this});this.emit(\"response\",res)}).catch((err)=>{if(__DEBUG__)globalReportError(err);this.emit(\"error\",err)}).finally(()=>{this.#fetchRequest=null,this[kClearTimeout]()})}catch(err){if(__DEBUG__)globalReportError(err);this.emit(\"error\",err)}finally{callback()}}get aborted(){return this.#signal\?.aborted||!!this[kAbortController]\?.signal.aborted}abort(){if(this.aborted)return;this[kAbortController].abort()}constructor(input,options,cb){super();if(typeof input===\"string\"){const urlStr=input;try{var urlObject=new URL(urlStr)}catch(e){@throwTypeError(`Invalid URL: ${urlStr}`)}input=urlToHttpOptions(urlObject)}else if(input&&typeof input===\"object\"&&input instanceof URL)input=urlToHttpOptions(input);else cb=options,options=input,input=null;if(typeof options===\"function\")cb=options,options=input||kEmptyObject;else options=ObjectAssign(input||{},options);var defaultAgent=options._defaultAgent||Agent.globalAgent;let protocol=options.protocol;if(!protocol)if(options.port===443)protocol=\"https:\";else protocol=defaultAgent.protocol||\"http:\";switch(this.#protocol=protocol,this.#agent\?.protocol){case void 0:break;case\"http:\":if(protocol===\"https:\"){defaultAgent=this.#agent=getDefaultHTTPSAgent();break}case\"https:\":if(protocol===\"https\"){defaultAgent=this.#agent=Agent.globalAgent;break}default:break}if(options.path){const path=String(options.path);if(RegExpPrototypeExec.call(INVALID_PATH_REGEX,path)!==null)throw debug('Path contains unescaped characters: \"%s\"',path),new Error(\"Path contains unescaped characters\")}if(protocol!==\"http:\"&&protocol!==\"https:\"&&protocol){const expectedProtocol=defaultAgent\?.protocol\?\?\"http:\";throw new Error(`Protocol mismatch. Expected: ${expectedProtocol}. Got: ${protocol}`)}const defaultPort=protocol===\"https:\"\?443:80;this.#port=options.port||options.defaultPort||this.#agent\?.defaultPort||defaultPort,this.#useDefaultPort=this.#port===defaultPort;const host=this.#host=options.host=validateHost(options.hostname,\"hostname\")||validateHost(options.host,\"host\")||\"localhost\";this.#socketPath=options.socketPath;const signal=options.signal;if(signal)signal.addEventListener(\"abort\",()=>{this[kAbortController]\?.abort()}),this.#signal=signal;let method=options.method;const methodIsString=typeof method===\"string\";if(method!==null&&method!==void 0&&!methodIsString)throw new Error(\"ERR_INVALID_ARG_TYPE: options.method\");if(methodIsString&&method){if(!checkIsHttpToken(method))throw new Error(\"ERR_INVALID_HTTP_TOKEN: Method\");method=this.#method=StringPrototypeToUpperCase.call(method)}else method=this.#method=\"GET\";const _maxHeaderSize=options.maxHeaderSize;this.#maxHeaderSize=_maxHeaderSize;var _joinDuplicateHeaders=options.joinDuplicateHeaders;if(this.#joinDuplicateHeaders=_joinDuplicateHeaders,this.#path=options.path||\"/\",cb)this.once(\"response\",cb);__DEBUG__&&debug(`new ClientRequest: ${this.#method} ${this.#protocol}//${this.#host}:${this.#port}${this.#path}`),this.#finished=!1,this.#res=null,this.#upgradeOrConnect=!1,this.#parser=null,this.#maxHeadersCount=null,this.#reusedSocket=!1,this.#host=host,this.#protocol=protocol;var timeout=options.timeout;if(timeout!==void 0&&timeout!==0)this.setTimeout(timeout,void 0);if(!ArrayIsArray(headers)){var headers=options.headers;if(headers)for(let key in headers)this.setHeader(key,headers[key]);var auth=options.auth;if(auth&&!this.getHeader(\"Authorization\"))this.setHeader(\"Authorization\",\"Basic \"+Buffer.from(auth).toString(\"base64\"))}var{signal:_signal,...optsWithoutSignal}=options;this.#options=optsWithoutSignal}setSocketKeepAlive(enable=!0,initialDelay=0){__DEBUG__&&debug(`${NODE_HTTP_WARNING}\\n`,\"WARN: ClientRequest.setSocketKeepAlive is a no-op\")}setNoDelay(noDelay=!0){__DEBUG__&&debug(`${NODE_HTTP_WARNING}\\n`,\"WARN: ClientRequest.setNoDelay is a no-op\")}[kClearTimeout](){if(this.#timeoutTimer)clearTimeout(this.#timeoutTimer),this.#timeoutTimer=void 0,this.removeAllListeners(\"timeout\")}#onTimeout(){this.#timeoutTimer=void 0,this[kAbortController]\?.abort(),this.emit(\"timeout\")}setTimeout(msecs,callback){if(this.destroyed)return this;if(this.timeout=msecs=validateMsecs(msecs,\"msecs\"),clearTimeout(this.#timeoutTimer),msecs===0){if(callback!==void 0)validateFunction(callback,\"callback\"),this.removeListener(\"timeout\",callback);this.#timeoutTimer=void 0}else if(this.#timeoutTimer=setTimeout(this.#onTimeout.bind(this),msecs).unref(),callback!==void 0)validateFunction(callback,\"callback\"),this.once(\"timeout\",callback);return this}}function urlToHttpOptions(url){var{protocol,hostname,hash,search,pathname,href,port,username,password}=url;return{protocol,hostname:typeof hostname===\"string\"&&StringPrototypeStartsWith.call(hostname,\"[\")\?StringPrototypeSlice.call(hostname,1,-1):hostname,hash,search,pathname,path:`${pathname||\"\"}${search||\"\"}`,href,port:port\?Number(port):protocol===\"https:\"\?443:protocol===\"http:\"\?80:void 0,auth:username||password\?`${decodeURIComponent(username)}:${decodeURIComponent(password)}`:void 0}}function validateHost(host,name){if(host!==null&&host!==void 0&&typeof host!==\"string\")throw new Error(\"Invalid arg type in options\");return host}const tokenRegExp=/^[\\^_`a-zA-Z\\-0-9!#$%&'*+.|~]+$/;function checkIsHttpToken(val){return RegExpPrototypeExec.call(tokenRegExp,val)!==null}const METHODS=[\"ACL\",\"BIND\",\"CHECKOUT\",\"CONNECT\",\"COPY\",\"DELETE\",\"GET\",\"HEAD\",\"LINK\",\"LOCK\",\"M-SEARCH\",\"MERGE\",\"MKACTIVITY\",\"MKCALENDAR\",\"MKCOL\",\"MOVE\",\"NOTIFY\",\"OPTIONS\",\"PATCH\",\"POST\",\"PROPFIND\",\"PROPPATCH\",\"PURGE\",\"PUT\",\"REBIND\",\"REPORT\",\"SEARCH\",\"SOURCE\",\"SUBSCRIBE\",\"TRACE\",\"UNBIND\",\"UNLINK\",\"UNLOCK\",\"UNSUBSCRIBE\"],STATUS_CODES={100:\"Continue\",101:\"Switching Protocols\",102:\"Processing\",103:\"Early Hints\",200:\"OK\",201:\"Created\",202:\"Accepted\",203:\"Non-Authoritative Information\",204:\"No Content\",205:\"Reset Content\",206:\"Partial Content\",207:\"Multi-Status\",208:\"Already Reported\",226:\"IM Used\",300:\"Multiple Choices\",301:\"Moved Permanently\",302:\"Found\",303:\"See Other\",304:\"Not Modified\",305:\"Use Proxy\",307:\"Temporary Redirect\",308:\"Permanent Redirect\",400:\"Bad Request\",401:\"Unauthorized\",402:\"Payment Required\",403:\"Forbidden\",404:\"Not Found\",405:\"Method Not Allowed\",406:\"Not Acceptable\",407:\"Proxy Authentication Required\",408:\"Request Timeout\",409:\"Conflict\",410:\"Gone\",411:\"Length Required\",412:\"Precondition Failed\",413:\"Payload Too Large\",414:\"URI Too Long\",415:\"Unsupported Media Type\",416:\"Range Not Satisfiable\",417:\"Expectation Failed\",418:\"I'm a Teapot\",421:\"Misdirected Request\",422:\"Unprocessable Entity\",423:\"Locked\",424:\"Failed Dependency\",425:\"Too Early\",426:\"Upgrade Required\",428:\"Precondition Required\",429:\"Too Many Requests\",431:\"Request Header Fields Too Large\",451:\"Unavailable For Legal Reasons\",500:\"Internal Server Error\",501:\"Not Implemented\",502:\"Bad Gateway\",503:\"Service Unavailable\",504:\"Gateway Timeout\",505:\"HTTP Version Not Supported\",506:\"Variant Also Negotiates\",507:\"Insufficient Storage\",508:\"Loop Detected\",509:\"Bandwidth Limit Exceeded\",510:\"Not Extended\",511:\"Network Authentication Required\"};function _normalizeArgs(args){let arr;if(args.length===0)return arr=[{},null],arr;const arg0=args[0];let options={};if(typeof arg0===\"object\"&&arg0!==null)options=arg0;else if(options.port=arg0,args.length>1&&typeof args[1]===\"string\")options.host=args[1];const cb=args[args.length-1];if(typeof cb!==\"function\")arr=[options,null];else arr=[options,cb];return arr}function _writeHead(statusCode,reason,obj,response){if(statusCode|=0,statusCode<100||statusCode>999)throw new Error(\"status code must be between 100 and 999\");if(typeof reason===\"string\")response.statusMessage=reason;else{if(!response.statusMessage)response.statusMessage=STATUS_CODES[statusCode]||\"unknown\";obj=reason}response.statusCode=statusCode;{let k;if(Array.isArray(obj)){if(obj.length%2!==0)throw new Error(\"raw headers must have an even number of elements\");for(let n=0;n=100&&statusCode<=199)response._hasBody=!1}function request(url,options,cb){return new ClientRequest(url,options,cb)}function get(url,options,cb){const req=request(url,options,cb);return req.end(),req}var globalAgent=new Agent;return $={Agent,Server,METHODS,STATUS_CODES,createServer,ServerResponse,IncomingMessage,request,get,maxHeaderSize:16384,validateHeaderName,validateHeaderValue,setMaxIdleHTTPParsers(max){debug(`${NODE_HTTP_WARNING}\\n`,\"setMaxIdleHTTPParsers() is a no-op\")},globalAgent,ClientRequest,OutgoingMessage},$})\n"_s; +static constexpr ASCIILiteral NodeHttp2Code = "(function (){\"use strict\";var $;const{hideFromStack,throwNotImplemented}=@requireId(2);function connect(){throwNotImplemented(\"node:http2 connect\",887)}const constants={NGHTTP2_ERR_FRAME_SIZE_ERROR:-522,NGHTTP2_SESSION_SERVER:0,NGHTTP2_SESSION_CLIENT:1,NGHTTP2_STREAM_STATE_IDLE:1,NGHTTP2_STREAM_STATE_OPEN:2,NGHTTP2_STREAM_STATE_RESERVED_LOCAL:3,NGHTTP2_STREAM_STATE_RESERVED_REMOTE:4,NGHTTP2_STREAM_STATE_HALF_CLOSED_LOCAL:5,NGHTTP2_STREAM_STATE_HALF_CLOSED_REMOTE:6,NGHTTP2_STREAM_STATE_CLOSED:7,NGHTTP2_FLAG_NONE:0,NGHTTP2_FLAG_END_STREAM:1,NGHTTP2_FLAG_END_HEADERS:4,NGHTTP2_FLAG_ACK:1,NGHTTP2_FLAG_PADDED:8,NGHTTP2_FLAG_PRIORITY:32,DEFAULT_SETTINGS_HEADER_TABLE_SIZE:4096,DEFAULT_SETTINGS_ENABLE_PUSH:1,DEFAULT_SETTINGS_MAX_CONCURRENT_STREAMS:4294967295,DEFAULT_SETTINGS_INITIAL_WINDOW_SIZE:65535,DEFAULT_SETTINGS_MAX_FRAME_SIZE:16384,DEFAULT_SETTINGS_MAX_HEADER_LIST_SIZE:65535,DEFAULT_SETTINGS_ENABLE_CONNECT_PROTOCOL:0,MAX_MAX_FRAME_SIZE:16777215,MIN_MAX_FRAME_SIZE:16384,MAX_INITIAL_WINDOW_SIZE:2147483647,NGHTTP2_SETTINGS_HEADER_TABLE_SIZE:1,NGHTTP2_SETTINGS_ENABLE_PUSH:2,NGHTTP2_SETTINGS_MAX_CONCURRENT_STREAMS:3,NGHTTP2_SETTINGS_INITIAL_WINDOW_SIZE:4,NGHTTP2_SETTINGS_MAX_FRAME_SIZE:5,NGHTTP2_SETTINGS_MAX_HEADER_LIST_SIZE:6,NGHTTP2_SETTINGS_ENABLE_CONNECT_PROTOCOL:8,PADDING_STRATEGY_NONE:0,PADDING_STRATEGY_ALIGNED:1,PADDING_STRATEGY_MAX:2,PADDING_STRATEGY_CALLBACK:1,NGHTTP2_NO_ERROR:0,NGHTTP2_PROTOCOL_ERROR:1,NGHTTP2_INTERNAL_ERROR:2,NGHTTP2_FLOW_CONTROL_ERROR:3,NGHTTP2_SETTINGS_TIMEOUT:4,NGHTTP2_STREAM_CLOSED:5,NGHTTP2_FRAME_SIZE_ERROR:6,NGHTTP2_REFUSED_STREAM:7,NGHTTP2_CANCEL:8,NGHTTP2_COMPRESSION_ERROR:9,NGHTTP2_CONNECT_ERROR:10,NGHTTP2_ENHANCE_YOUR_CALM:11,NGHTTP2_INADEQUATE_SECURITY:12,NGHTTP2_HTTP_1_1_REQUIRED:13,NGHTTP2_DEFAULT_WEIGHT:16,HTTP2_HEADER_STATUS:\":status\",HTTP2_HEADER_METHOD:\":method\",HTTP2_HEADER_AUTHORITY:\":authority\",HTTP2_HEADER_SCHEME:\":scheme\",HTTP2_HEADER_PATH:\":path\",HTTP2_HEADER_PROTOCOL:\":protocol\",HTTP2_HEADER_ACCEPT_ENCODING:\"accept-encoding\",HTTP2_HEADER_ACCEPT_LANGUAGE:\"accept-language\",HTTP2_HEADER_ACCEPT_RANGES:\"accept-ranges\",HTTP2_HEADER_ACCEPT:\"accept\",HTTP2_HEADER_ACCESS_CONTROL_ALLOW_CREDENTIALS:\"access-control-allow-credentials\",HTTP2_HEADER_ACCESS_CONTROL_ALLOW_HEADERS:\"access-control-allow-headers\",HTTP2_HEADER_ACCESS_CONTROL_ALLOW_METHODS:\"access-control-allow-methods\",HTTP2_HEADER_ACCESS_CONTROL_ALLOW_ORIGIN:\"access-control-allow-origin\",HTTP2_HEADER_ACCESS_CONTROL_EXPOSE_HEADERS:\"access-control-expose-headers\",HTTP2_HEADER_ACCESS_CONTROL_REQUEST_HEADERS:\"access-control-request-headers\",HTTP2_HEADER_ACCESS_CONTROL_REQUEST_METHOD:\"access-control-request-method\",HTTP2_HEADER_AGE:\"age\",HTTP2_HEADER_AUTHORIZATION:\"authorization\",HTTP2_HEADER_CACHE_CONTROL:\"cache-control\",HTTP2_HEADER_CONNECTION:\"connection\",HTTP2_HEADER_CONTENT_DISPOSITION:\"content-disposition\",HTTP2_HEADER_CONTENT_ENCODING:\"content-encoding\",HTTP2_HEADER_CONTENT_LENGTH:\"content-length\",HTTP2_HEADER_CONTENT_TYPE:\"content-type\",HTTP2_HEADER_COOKIE:\"cookie\",HTTP2_HEADER_DATE:\"date\",HTTP2_HEADER_ETAG:\"etag\",HTTP2_HEADER_FORWARDED:\"forwarded\",HTTP2_HEADER_HOST:\"host\",HTTP2_HEADER_IF_MODIFIED_SINCE:\"if-modified-since\",HTTP2_HEADER_IF_NONE_MATCH:\"if-none-match\",HTTP2_HEADER_IF_RANGE:\"if-range\",HTTP2_HEADER_LAST_MODIFIED:\"last-modified\",HTTP2_HEADER_LINK:\"link\",HTTP2_HEADER_LOCATION:\"location\",HTTP2_HEADER_RANGE:\"range\",HTTP2_HEADER_REFERER:\"referer\",HTTP2_HEADER_SERVER:\"server\",HTTP2_HEADER_SET_COOKIE:\"set-cookie\",HTTP2_HEADER_STRICT_TRANSPORT_SECURITY:\"strict-transport-security\",HTTP2_HEADER_TRANSFER_ENCODING:\"transfer-encoding\",HTTP2_HEADER_TE:\"te\",HTTP2_HEADER_UPGRADE_INSECURE_REQUESTS:\"upgrade-insecure-requests\",HTTP2_HEADER_UPGRADE:\"upgrade\",HTTP2_HEADER_USER_AGENT:\"user-agent\",HTTP2_HEADER_VARY:\"vary\",HTTP2_HEADER_X_CONTENT_TYPE_OPTIONS:\"x-content-type-options\",HTTP2_HEADER_X_FRAME_OPTIONS:\"x-frame-options\",HTTP2_HEADER_KEEP_ALIVE:\"keep-alive\",HTTP2_HEADER_PROXY_CONNECTION:\"proxy-connection\",HTTP2_HEADER_X_XSS_PROTECTION:\"x-xss-protection\",HTTP2_HEADER_ALT_SVC:\"alt-svc\",HTTP2_HEADER_CONTENT_SECURITY_POLICY:\"content-security-policy\",HTTP2_HEADER_EARLY_DATA:\"early-data\",HTTP2_HEADER_EXPECT_CT:\"expect-ct\",HTTP2_HEADER_ORIGIN:\"origin\",HTTP2_HEADER_PURPOSE:\"purpose\",HTTP2_HEADER_TIMING_ALLOW_ORIGIN:\"timing-allow-origin\",HTTP2_HEADER_X_FORWARDED_FOR:\"x-forwarded-for\",HTTP2_HEADER_PRIORITY:\"priority\",HTTP2_HEADER_ACCEPT_CHARSET:\"accept-charset\",HTTP2_HEADER_ACCESS_CONTROL_MAX_AGE:\"access-control-max-age\",HTTP2_HEADER_ALLOW:\"allow\",HTTP2_HEADER_CONTENT_LANGUAGE:\"content-language\",HTTP2_HEADER_CONTENT_LOCATION:\"content-location\",HTTP2_HEADER_CONTENT_MD5:\"content-md5\",HTTP2_HEADER_CONTENT_RANGE:\"content-range\",HTTP2_HEADER_DNT:\"dnt\",HTTP2_HEADER_EXPECT:\"expect\",HTTP2_HEADER_EXPIRES:\"expires\",HTTP2_HEADER_FROM:\"from\",HTTP2_HEADER_IF_MATCH:\"if-match\",HTTP2_HEADER_IF_UNMODIFIED_SINCE:\"if-unmodified-since\",HTTP2_HEADER_MAX_FORWARDS:\"max-forwards\",HTTP2_HEADER_PREFER:\"prefer\",HTTP2_HEADER_PROXY_AUTHENTICATE:\"proxy-authenticate\",HTTP2_HEADER_PROXY_AUTHORIZATION:\"proxy-authorization\",HTTP2_HEADER_REFRESH:\"refresh\",HTTP2_HEADER_RETRY_AFTER:\"retry-after\",HTTP2_HEADER_TRAILER:\"trailer\",HTTP2_HEADER_TK:\"tk\",HTTP2_HEADER_VIA:\"via\",HTTP2_HEADER_WARNING:\"warning\",HTTP2_HEADER_WWW_AUTHENTICATE:\"www-authenticate\",HTTP2_HEADER_HTTP2_SETTINGS:\"http2-settings\",HTTP2_METHOD_ACL:\"ACL\",HTTP2_METHOD_BASELINE_CONTROL:\"BASELINE-CONTROL\",HTTP2_METHOD_BIND:\"BIND\",HTTP2_METHOD_CHECKIN:\"CHECKIN\",HTTP2_METHOD_CHECKOUT:\"CHECKOUT\",HTTP2_METHOD_CONNECT:\"CONNECT\",HTTP2_METHOD_COPY:\"COPY\",HTTP2_METHOD_DELETE:\"DELETE\",HTTP2_METHOD_GET:\"GET\",HTTP2_METHOD_HEAD:\"HEAD\",HTTP2_METHOD_LABEL:\"LABEL\",HTTP2_METHOD_LINK:\"LINK\",HTTP2_METHOD_LOCK:\"LOCK\",HTTP2_METHOD_MERGE:\"MERGE\",HTTP2_METHOD_MKACTIVITY:\"MKACTIVITY\",HTTP2_METHOD_MKCALENDAR:\"MKCALENDAR\",HTTP2_METHOD_MKCOL:\"MKCOL\",HTTP2_METHOD_MKREDIRECTREF:\"MKREDIRECTREF\",HTTP2_METHOD_MKWORKSPACE:\"MKWORKSPACE\",HTTP2_METHOD_MOVE:\"MOVE\",HTTP2_METHOD_OPTIONS:\"OPTIONS\",HTTP2_METHOD_ORDERPATCH:\"ORDERPATCH\",HTTP2_METHOD_PATCH:\"PATCH\",HTTP2_METHOD_POST:\"POST\",HTTP2_METHOD_PRI:\"PRI\",HTTP2_METHOD_PROPFIND:\"PROPFIND\",HTTP2_METHOD_PROPPATCH:\"PROPPATCH\",HTTP2_METHOD_PUT:\"PUT\",HTTP2_METHOD_REBIND:\"REBIND\",HTTP2_METHOD_REPORT:\"REPORT\",HTTP2_METHOD_SEARCH:\"SEARCH\",HTTP2_METHOD_TRACE:\"TRACE\",HTTP2_METHOD_UNBIND:\"UNBIND\",HTTP2_METHOD_UNCHECKOUT:\"UNCHECKOUT\",HTTP2_METHOD_UNLINK:\"UNLINK\",HTTP2_METHOD_UNLOCK:\"UNLOCK\",HTTP2_METHOD_UPDATE:\"UPDATE\",HTTP2_METHOD_UPDATEREDIRECTREF:\"UPDATEREDIRECTREF\",HTTP2_METHOD_VERSION_CONTROL:\"VERSION-CONTROL\",HTTP_STATUS_CONTINUE:100,HTTP_STATUS_SWITCHING_PROTOCOLS:101,HTTP_STATUS_PROCESSING:102,HTTP_STATUS_EARLY_HINTS:103,HTTP_STATUS_OK:200,HTTP_STATUS_CREATED:201,HTTP_STATUS_ACCEPTED:202,HTTP_STATUS_NON_AUTHORITATIVE_INFORMATION:203,HTTP_STATUS_NO_CONTENT:204,HTTP_STATUS_RESET_CONTENT:205,HTTP_STATUS_PARTIAL_CONTENT:206,HTTP_STATUS_MULTI_STATUS:207,HTTP_STATUS_ALREADY_REPORTED:208,HTTP_STATUS_IM_USED:226,HTTP_STATUS_MULTIPLE_CHOICES:300,HTTP_STATUS_MOVED_PERMANENTLY:301,HTTP_STATUS_FOUND:302,HTTP_STATUS_SEE_OTHER:303,HTTP_STATUS_NOT_MODIFIED:304,HTTP_STATUS_USE_PROXY:305,HTTP_STATUS_TEMPORARY_REDIRECT:307,HTTP_STATUS_PERMANENT_REDIRECT:308,HTTP_STATUS_BAD_REQUEST:400,HTTP_STATUS_UNAUTHORIZED:401,HTTP_STATUS_PAYMENT_REQUIRED:402,HTTP_STATUS_FORBIDDEN:403,HTTP_STATUS_NOT_FOUND:404,HTTP_STATUS_METHOD_NOT_ALLOWED:405,HTTP_STATUS_NOT_ACCEPTABLE:406,HTTP_STATUS_PROXY_AUTHENTICATION_REQUIRED:407,HTTP_STATUS_REQUEST_TIMEOUT:408,HTTP_STATUS_CONFLICT:409,HTTP_STATUS_GONE:410,HTTP_STATUS_LENGTH_REQUIRED:411,HTTP_STATUS_PRECONDITION_FAILED:412,HTTP_STATUS_PAYLOAD_TOO_LARGE:413,HTTP_STATUS_URI_TOO_LONG:414,HTTP_STATUS_UNSUPPORTED_MEDIA_TYPE:415,HTTP_STATUS_RANGE_NOT_SATISFIABLE:416,HTTP_STATUS_EXPECTATION_FAILED:417,HTTP_STATUS_TEAPOT:418,HTTP_STATUS_MISDIRECTED_REQUEST:421,HTTP_STATUS_UNPROCESSABLE_ENTITY:422,HTTP_STATUS_LOCKED:423,HTTP_STATUS_FAILED_DEPENDENCY:424,HTTP_STATUS_TOO_EARLY:425,HTTP_STATUS_UPGRADE_REQUIRED:426,HTTP_STATUS_PRECONDITION_REQUIRED:428,HTTP_STATUS_TOO_MANY_REQUESTS:429,HTTP_STATUS_REQUEST_HEADER_FIELDS_TOO_LARGE:431,HTTP_STATUS_UNAVAILABLE_FOR_LEGAL_REASONS:451,HTTP_STATUS_INTERNAL_SERVER_ERROR:500,HTTP_STATUS_NOT_IMPLEMENTED:501,HTTP_STATUS_BAD_GATEWAY:502,HTTP_STATUS_SERVICE_UNAVAILABLE:503,HTTP_STATUS_GATEWAY_TIMEOUT:504,HTTP_STATUS_HTTP_VERSION_NOT_SUPPORTED:505,HTTP_STATUS_VARIANT_ALSO_NEGOTIATES:506,HTTP_STATUS_INSUFFICIENT_STORAGE:507,HTTP_STATUS_LOOP_DETECTED:508,HTTP_STATUS_BANDWIDTH_LIMIT_EXCEEDED:509,HTTP_STATUS_NOT_EXTENDED:510,HTTP_STATUS_NETWORK_AUTHENTICATION_REQUIRED:511};function createServer(){throwNotImplemented(\"node:http2 createServer\",887)}function createSecureServer(){throwNotImplemented(\"node:http2 createSecureServer\",887)}function getDefaultSettings(){return{headerTableSize:4096,enablePush:!0,initialWindowSize:65535,maxFrameSize:16384,maxConcurrentStreams:4294967295,maxHeaderSize:65535,maxHeaderListSize:65535,enableConnectProtocol:!1}}function getPackedSettings(){return Buffer.alloc(0)}function getUnpackedSettings(){return Buffer.alloc(0)}const sensitiveHeaders=Symbol.for(\"nodejs.http2.sensitiveHeaders\");function Http2ServerRequest(){throwNotImplemented(\"node:http2 Http2ServerRequest\",887)}function Http2ServerResponse(){throwNotImplemented(\"node:http2 Http2ServerResponse\",887)}return $={constants,createServer,createSecureServer,getDefaultSettings,getPackedSettings,getUnpackedSettings,sensitiveHeaders,Http2ServerRequest,Http2ServerResponse,connect},hideFromStack([Http2ServerRequest,Http2ServerResponse,connect,createServer,createSecureServer,getDefaultSettings,getPackedSettings,getUnpackedSettings]),$})\n"_s; +static constexpr ASCIILiteral NodeHttpsCode = "(function (){\"use strict\";const http=@requireId(16);function request(input,options,cb){if(input&&typeof input===\"object\"&&!(input instanceof URL))input.protocol\?\?=\"https:\";else if(typeof options===\"object\")options.protocol\?\?=\"https:\";return http.request(input,options,cb)}function get(input,options,cb){const req=request(input,options,cb);return req.end(),req}return{...http,get,request}})\n"_s; +static constexpr ASCIILiteral NodeInspectorCode = "(function (){\"use strict\";var $;const{hideFromStack,throwNotImplemented}=@requireId(2),EventEmitter=@requireId(13);function open(){throwNotImplemented(\"node:inspector open\",2445)}function close(){throwNotImplemented(\"node:inspector close\",2445)}function url(){throwNotImplemented(\"node:inspector url\",2445)}function waitForDebugger(){throwNotImplemented(\"node:inspector waitForDebugger\",2445)}class Session extends EventEmitter{constructor(){super();throwNotImplemented(\"node:inspector Session\",2445)}}return $={console:{...globalThis.console,context:{console:globalThis.console}},open,close,url,waitForDebugger,Session},hideFromStack(open,close,url,waitForDebugger,Session.prototype.constructor),$})\n"_s; +static constexpr ASCIILiteral NodeNetCode = "(function (){\"use strict\";const{Duplex}=@requireId(30),EventEmitter=@requireId(13),IPv4Reg=new RegExp(\"^((\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])[.]){3}(\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])$\"),IPv6Reg=new RegExp(\"^((\?:(\?:[0-9a-fA-F]{1,4}):){7}(\?:(\?:[0-9a-fA-F]{1,4})|:)|(\?:(\?:[0-9a-fA-F]{1,4}):){6}(\?:((\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])[.]){3}(\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])|:(\?:[0-9a-fA-F]{1,4})|:)|(\?:(\?:[0-9a-fA-F]{1,4}):){5}(\?::((\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])[.]){3}(\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])|(:(\?:[0-9a-fA-F]{1,4})){1,2}|:)|(\?:(\?:[0-9a-fA-F]{1,4}):){4}(\?:(:(\?:[0-9a-fA-F]{1,4})){0,1}:((\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])[.]){3}(\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])|(:(\?:[0-9a-fA-F]{1,4})){1,3}|:)|(\?:(\?:[0-9a-fA-F]{1,4}):){3}(\?:(:(\?:[0-9a-fA-F]{1,4})){0,2}:((\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])[.]){3}(\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])|(:(\?:[0-9a-fA-F]{1,4})){1,4}|:)|(\?:(\?:[0-9a-fA-F]{1,4}):){2}(\?:(:(\?:[0-9a-fA-F]{1,4})){0,3}:((\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])[.]){3}(\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])|(:(\?:[0-9a-fA-F]{1,4})){1,5}|:)|(\?:(\?:[0-9a-fA-F]{1,4}):){1}(\?:(:(\?:[0-9a-fA-F]{1,4})){0,4}:((\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])[.]){3}(\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])|(:(\?:[0-9a-fA-F]{1,4})){1,6}|:)|(\?::((\?::(\?:[0-9a-fA-F]{1,4})){0,5}:((\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])[.]){3}(\?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])|(\?::(\?:[0-9a-fA-F]{1,4})){1,7}|:)))(%[0-9a-zA-Z-.:]{1,})\?$\");function isIPv4(s){return IPv4Reg.test(s)}function isIPv6(s){return IPv6Reg.test(s)}function isIP(s){if(isIPv4(s))return 4;if(isIPv6(s))return 6;return 0}const{connect:bunConnect}=Bun;var{setTimeout}=globalThis;const bunTlsSymbol=Symbol.for(\"::buntls::\"),bunSocketServerHandlers=Symbol.for(\"::bunsocket_serverhandlers::\"),bunSocketServerConnections=Symbol.for(\"::bunnetserverconnections::\"),bunSocketServerOptions=Symbol.for(\"::bunnetserveroptions::\"),bunSocketInternal=Symbol.for(\"::bunnetsocketinternal::\"),bunTLSConnectOptions=Symbol.for(\"::buntlsconnectoptions::\");var SocketClass;const Socket=function(InternalSocket){return SocketClass=InternalSocket,Object.defineProperty(SocketClass.prototype,Symbol.toStringTag,{value:\"Socket\",enumerable:!1}),Object.defineProperty(function Socket(options){return new InternalSocket(options)},Symbol.hasInstance,{value(instance){return instance instanceof InternalSocket}})}(class Socket2 extends Duplex{static#Handlers={close:Socket2.#Close,connectError(socket,error){socket.data.emit(\"error\",error)},data({data:self},buffer){self.bytesRead+=buffer.length;const queue=self.#readQueue;if(queue.isEmpty()){if(self.push(buffer))return}queue.push(buffer)},drain:Socket2.#Drain,end:Socket2.#Close,error(socket,error){const self=socket.data,callback=self.#writeCallback;if(callback)self.#writeCallback=null,callback(error);self.emit(\"error\",error)},open(socket){const self=socket.data;socket.timeout(self.timeout),socket.ref(),self[bunSocketInternal]=socket,self.connecting=!1;const options=self[bunTLSConnectOptions];if(options){const{session}=options;if(session)self.setSession(session)}if(!self.#upgraded)self.emit(\"connect\",self);Socket2.#Drain(socket)},handshake(socket,success,verifyError){const{data:self}=socket;self._securePending=!1,self.secureConnecting=!1,self._secureEstablished=!!success,self.emit(\"secure\",self);const{checkServerIdentity}=self[bunTLSConnectOptions];if(!verifyError&&typeof checkServerIdentity===\"function\"&&self.servername){const cert=self.getPeerCertificate(!0);verifyError=checkServerIdentity(self.servername,cert)}if(self._requestCert||self._rejectUnauthorized){if(verifyError){if(self.authorized=!1,self.authorizationError=verifyError.code||verifyError.message,self._rejectUnauthorized){self.destroy(verifyError);return}}}else self.authorized=!0;self.emit(\"secureConnect\",verifyError)},timeout(socket){const self=socket.data;self.emit(\"timeout\",self)},binaryType:\"buffer\"};static#Close(socket){const self=socket.data;if(self.#closed)return;self.#closed=!0,self[bunSocketInternal]=null;const queue=self.#readQueue;if(queue.isEmpty()){if(self.push(null))return}queue.push(null)}static#Drain(socket){const self=socket.data,callback=self.#writeCallback;if(callback){const chunk=self.#writeChunk,written=socket.write(chunk);if(self.bytesWritten+=written,written=self.maxConnections){const data={localAddress:_socket.localAddress,localPort:_socket.localPort,localFamily:_socket.localFamily,remoteAddress:_socket.remoteAddress,remotePort:_socket.remotePort,remoteFamily:_socket.remoteFamily||\"IPv4\"};socket.end(),self.emit(\"drop\",data);return}if(!pauseOnConnect)_socket.resume();if(self[bunSocketServerConnections]++,typeof connectionListener==\"function\")if(InternalSocketClass.name===\"TLSSocket\")self.once(\"secureConnection\",()=>connectionListener(_socket));else connectionListener(_socket);self.emit(\"connection\",_socket)},handshake(socket,success,verifyError){const{data:self}=socket;if(self.emit(\"secure\",self),self._securePending=!1,self.secureConnecting=!1,self._secureEstablished=!!success,self._requestCert||self._rejectUnauthorized){if(verifyError){if(self.authorized=!1,self.authorizationError=verifyError.code||verifyError.message,self._rejectUnauthorized){self.destroy(verifyError);return}}}else self.authorized=!0;self.emit(\"secureConnection\",verifyError)},error(socket,error){Socket2.#Handlers.error(socket,error),this.data.emit(\"error\",error)},timeout:Socket2.#Handlers.timeout,connectError:Socket2.#Handlers.connectError,drain:Socket2.#Handlers.drain,binaryType:\"buffer\"};bytesRead=0;bytesWritten=0;#closed=!1;connecting=!1;localAddress=\"127.0.0.1\";#readQueue=@createFIFO();remotePort;[bunSocketInternal]=null;[bunTLSConnectOptions]=null;timeout=0;#writeCallback;#writeChunk;#pendingRead;isServer=!1;_handle;_parent;_parentWrap;#socket;#upgraded;constructor(options){const{socket,signal,write,read,allowHalfOpen=!1,...opts}=options||{};super({...opts,allowHalfOpen,readable:!0,writable:!0});if(this._handle=this,this._parent=this,this._parentWrap=this,this.#pendingRead=void 0,this.#upgraded=!1,socket instanceof Socket2)this.#socket=socket;signal\?.once(\"abort\",()=>this.destroy()),this.once(\"connect\",()=>this.emit(\"ready\"))}address(){return{address:this.localAddress,family:this.localFamily,port:this.localPort}}get bufferSize(){return this.writableLength}#attach(port,socket){if(this.remotePort=port,socket.data=this,socket.timeout(this.timeout),socket.ref(),this[bunSocketInternal]=socket,this.connecting=!1,!this.#upgraded)this.emit(\"connect\",this);Socket2.#Drain(socket)}connect(port,host,connectListener){var path,connection=this.#socket,_checkServerIdentity=void 0;if(typeof port===\"string\"){if(path=port,port=void 0,typeof host===\"function\")connectListener=host,host=void 0}else if(typeof host==\"function\"){if(typeof port===\"string\")path=port,port=void 0;connectListener=host,host=void 0}if(typeof port==\"object\"){var{port,host,path,socket,localAddress,localPort,family,hints,lookup,noDelay,keepAlive,keepAliveInitialDelay,requestCert,rejectUnauthorized,pauseOnConnect,servername,checkServerIdentity,session}=port;if(_checkServerIdentity=checkServerIdentity,this.servername=servername,socket)connection=socket}if(!pauseOnConnect)this.resume();this.connecting=!0,this.remotePort=port;const bunTLS=this[bunTlsSymbol];var tls=void 0;if(typeof bunTLS===\"function\"){if(tls=bunTLS.call(this,port,host,!0),this._requestCert=!0,this._rejectUnauthorized=rejectUnauthorized,tls){if(tls.rejectUnauthorized=rejectUnauthorized,tls.requestCert=!0,tls.session=session||tls.session,this.servername=tls.servername,tls.checkServerIdentity=_checkServerIdentity||tls.checkServerIdentity,this[bunTLSConnectOptions]=tls,!connection&&tls.socket)connection=tls.socket}if(connection){if(typeof connection!==\"object\"||!(connection instanceof Socket2)||typeof connection[bunTlsSymbol]===\"function\")@throwTypeError(\"socket must be an instance of net.Socket\")}if(this.authorized=!1,this.secureConnecting=!0,this._secureEstablished=!1,this._securePending=!0,connectListener)this.on(\"secureConnect\",connectListener)}else if(connectListener)this.on(\"connect\",connectListener);if(connection){const socket2=connection[bunSocketInternal];if(socket2){this.connecting=!0,this.#upgraded=!0;const result=socket2.upgradeTLS({data:this,tls,socket:Socket2.#Handlers});if(result){const[raw,tls2]=result;connection[bunSocketInternal]=raw,raw.timeout(raw.timeout),raw.connecting=!1,this[bunSocketInternal]=tls2}else throw this[bunSocketInternal]=null,new Error(\"Invalid socket\")}else connection.once(\"connect\",()=>{const socket3=connection[bunSocketInternal];if(!socket3)return;this.connecting=!0,this.#upgraded=!0;const result=socket3.upgradeTLS({data:this,tls,socket:Socket2.#Handlers});if(result){const[raw,tls2]=result;connection[bunSocketInternal]=raw,raw.timeout(raw.timeout),raw.connecting=!1,this[bunSocketInternal]=tls2}else throw this[bunSocketInternal]=null,new Error(\"Invalid socket\")})}else if(path)bunConnect({data:this,unix:path,socket:Socket2.#Handlers,tls}).catch((error)=>{this.emit(\"error\",error)});else bunConnect({data:this,hostname:host||\"localhost\",port,socket:Socket2.#Handlers,tls}).catch((error)=>{this.emit(\"error\",error)});return this}_destroy(err,callback){this[bunSocketInternal]\?.end(),callback(err)}_final(callback){this[bunSocketInternal]\?.end(),callback()}get localAddress(){return\"127.0.0.1\"}get localFamily(){return\"IPv4\"}get localPort(){return this[bunSocketInternal]\?.localPort}get pending(){return this.connecting}_read(size){const queue=this.#readQueue;let chunk;while(chunk=queue.peek()){if(!this.push(chunk))return;queue.shift()}}get readyState(){if(this.connecting)return\"opening\";if(this.readable)return this.writable\?\"open\":\"readOnly\";else return this.writable\?\"writeOnly\":\"closed\"}ref(){this[bunSocketInternal]\?.ref()}get remoteAddress(){return this[bunSocketInternal]\?.remoteAddress}get remoteFamily(){return\"IPv4\"}resetAndDestroy(){this[bunSocketInternal]\?.end()}setKeepAlive(enable=!1,initialDelay=0){return this}setNoDelay(noDelay=!0){return this}setTimeout(timeout,callback){if(this[bunSocketInternal]\?.timeout(timeout),this.timeout=timeout,callback)this.once(\"timeout\",callback);return this}unref(){this[bunSocketInternal]\?.unref()}_write(chunk,encoding,callback){if(typeof chunk==\"string\"&&encoding!==\"ascii\")chunk=Buffer.from(chunk,encoding);var written=this[bunSocketInternal]\?.write(chunk);if(written==chunk.length)callback();else if(this.#writeCallback)callback(new Error(\"overlapping _write()\"));else{if(written>0)if(typeof chunk==\"string\")chunk=chunk.slice(written);else chunk=chunk.subarray(written);this.#writeCallback=callback,this.#writeChunk=chunk}}});function createConnection(port,host,connectListener){if(typeof port===\"object\")return new Socket(port).connect(port,host,connectListener);return new Socket().connect(port,host,connectListener)}const connect=createConnection;class Server extends EventEmitter{#server;#listening=!1;[bunSocketServerConnections]=0;[bunSocketServerOptions];maxConnections=0;constructor(options,connectionListener){super();if(typeof options===\"function\")connectionListener=options,options={};else if(options==null||typeof options===\"object\")options={...options};else throw new Error(\"bun-net-polyfill: invalid arguments\");const{maxConnections}=options;this.maxConnections=Number.isSafeInteger(maxConnections)&&maxConnections>0\?maxConnections:0,options.connectionListener=connectionListener,this[bunSocketServerOptions]=options}ref(){return this.#server\?.ref(),this}unref(){return this.#server\?.unref(),this}close(callback){if(this.#server){if(this.#server.stop(!0),this.#server=null,this.#listening=!1,this[bunSocketServerConnections]=0,this.emit(\"close\"),typeof callback===\"function\")callback();return this}if(typeof callback===\"function\"){const error=new Error(\"Server is not running\");error.code=\"ERR_SERVER_NOT_RUNNING\",callback(error)}return this}address(){const server=this.#server;if(server){const unix=server.unix;if(unix)return unix;let address=server.hostname;const type=isIP(address),port=server.port;if(typeof port===\"number\")return{port,address,family:type\?`IPv${type}`:void 0};if(type)return{address,family:type\?`IPv${type}`:void 0};return address}return null}getConnections(callback){if(typeof callback===\"function\")callback(null,this.#server\?this[bunSocketServerConnections]:0);return this}listen(port,hostname,onListen){let backlog,path,exclusive=!1;if(typeof port===\"string\"){if(Number.isSafeInteger(hostname)){if(hostname>0)backlog=hostname}else if(typeof hostname===\"function\")onListen=hostname;path=port,hostname=void 0,port=void 0}else{if(typeof hostname===\"function\")onListen=hostname,hostname=void 0;if(typeof port===\"function\")onListen=port,port=0;else if(typeof port===\"object\"){const options=port;options.signal\?.addEventListener(\"abort\",()=>this.close()),hostname=options.host,exclusive=options.exclusive===!0;const path2=options.path;if(port=options.port,!Number.isSafeInteger(port)||port<0)if(path2)hostname=path2,port=void 0;else{let message='The argument \\'options\\' must have the property \"port\" or \"path\"';try{message=`${message}. Received ${JSON.stringify(options)}`}catch{}const error=@makeTypeError(message);throw error.code=\"ERR_INVALID_ARG_VALUE\",error}else if(!Number.isSafeInteger(port)||port<0)port=0;if(typeof port.callback===\"function\")onListen=port\?.callback}else if(!Number.isSafeInteger(port)||port<0)port=0;hostname=hostname||\"::\"}try{var tls=void 0,TLSSocketClass=void 0;const bunTLS=this[bunTlsSymbol],options=this[bunSocketServerOptions];if(typeof bunTLS===\"function\")[tls,TLSSocketClass]=bunTLS.call(this,port,hostname,!1),options.servername=tls.serverName,options.InternalSocketClass=TLSSocketClass;else options.InternalSocketClass=SocketClass;this.#server=Bun.listen(path\?{exclusive,unix:path,tls,socket:SocketClass[bunSocketServerHandlers]}:{exclusive,port,hostname,tls,socket:SocketClass[bunSocketServerHandlers]}),this.#server.data=this,this.#listening=!0,setTimeout(emitListeningNextTick,1,this,onListen)}catch(err){this.#listening=!1,setTimeout(emitErrorNextTick,1,this,err)}return this}}function emitErrorNextTick(self,error){self.emit(\"error\",error)}function emitListeningNextTick(self,onListen){if(typeof onListen===\"function\")try{onListen()}catch(err){self.emit(\"error\",err)}self.emit(\"listening\")}function createServer(options,connectionListener){return new Server(options,connectionListener)}return{createServer,Server,createConnection,connect,isIP,isIPv4,isIPv6,Socket,[Symbol.for(\"::bunternal::\")]:SocketClass}})\n"_s; +static constexpr ASCIILiteral NodeOSCode = "(function (){\"use strict\";var tmpdir=function(){var env=Bun.env;return tmpdir=function(){var path=env.TMPDIR||env.TMP||env.TEMP||\"/tmp\";const length=path.length;if(length>1&&path[length-1]===\"/\")path=path.slice(0,-1);return path},tmpdir()};function lazyCpus({cpus}){return()=>{const array=new Array(navigator.hardwareConcurrency);function populate(){const results=cpus(),length=results.length;array.length=length;for(let i=0;i{},SymbolAsyncIterator=Symbol.asyncIterator,SymbolIterator=Symbol.iterator,SymbolFor=Symbol.for,SymbolReplace=Symbol.replace,ArrayFrom=Array.from,ArrayIsArray=Array.isArray,ArrayPrototypeFilter=Array.prototype.filter,ArrayPrototypeSort=Array.prototype.sort,ArrayPrototypeIndexOf=Array.prototype.indexOf,ArrayPrototypeJoin=Array.prototype.join,ArrayPrototypeMap=Array.prototype.map,ArrayPrototypePop=Array.prototype.pop,ArrayPrototypePush=Array.prototype.push,ArrayPrototypeSlice=Array.prototype.slice,ArrayPrototypeSplice=Array.prototype.splice,ArrayPrototypeReverse=Array.prototype.reverse,ArrayPrototypeShift=Array.prototype.shift,ArrayPrototypeUnshift=Array.prototype.unshift,RegExpPrototypeExec=RegExp.prototype.exec,RegExpPrototypeSymbolReplace=RegExp.prototype[SymbolReplace],StringFromCharCode=String.fromCharCode,StringPrototypeCharCodeAt=String.prototype.charCodeAt,StringPrototypeCodePointAt=String.prototype.codePointAt,StringPrototypeSlice=String.prototype.slice,StringPrototypeToLowerCase=String.prototype.toLowerCase,StringPrototypeEndsWith=String.prototype.endsWith,StringPrototypeRepeat=String.prototype.repeat,StringPrototypeStartsWith=String.prototype.startsWith,StringPrototypeTrim=String.prototype.trim,StringPrototypeNormalize=String.prototype.normalize,NumberIsNaN=Number.isNaN,NumberIsFinite=Number.isFinite,NumberIsInteger=Number.isInteger,NumberMAX_SAFE_INTEGER=Number.MAX_SAFE_INTEGER,NumberMIN_SAFE_INTEGER=Number.MIN_SAFE_INTEGER,MathCeil=Math.ceil,MathFloor=Math.floor,MathMax=Math.max,MathMaxApply=Math.max.apply,DateNow=Date.now,FunctionPrototype=Function.prototype,StringPrototype=String.prototype,StringPrototypeSymbolIterator=StringPrototype[SymbolIterator],StringIteratorPrototypeNext=StringPrototypeSymbolIterator.call(\"\").next,ObjectSetPrototypeOf=Object.setPrototypeOf,ObjectDefineProperty=Object.defineProperty,ObjectDefineProperties=Object.defineProperties,ObjectFreeze=Object.freeze,ObjectAssign=Object.assign,ObjectCreate=Object.create,ObjectKeys=Object.keys,ObjectSeal=Object.seal,createSafeIterator=(factory,next)=>{class SafeIterator{#iterator;constructor(iterable){this.#iterator=factory.call(iterable)}next(){return next.call(this.#iterator)}[SymbolIterator](){return this}}return ObjectSetPrototypeOf(SafeIterator.prototype,null),ObjectFreeze(SafeIterator.prototype),ObjectFreeze(SafeIterator),SafeIterator},SafeStringIterator=createSafeIterator(StringPrototypeSymbolIterator,StringIteratorPrototypeNext),isFullWidthCodePoint=(code)=>{return code>=4352&&(code<=4447||code===9001||code===9002||code>=11904&&code<=12871&&code!==12351||code>=12880&&code<=19903||code>=19968&&code<=42182||code>=43360&&code<=43388||code>=44032&&code<=55203||code>=63744&&code<=64255||code>=65040&&code<=65049||code>=65072&&code<=65131||code>=65281&&code<=65376||code>=65504&&code<=65510||code>=110592&&code<=110593||code>=127488&&code<=127569||code>=127744&&code<=128591||code>=131072&&code<=262141)},isZeroWidthCodePoint=(code)=>{return code<=31||code>=127&&code<=159||code>=768&&code<=879||code>=8203&&code<=8207||code>=8400&&code<=8447||code>=65024&&code<=65039||code>=65056&&code<=65071||code>=917760&&code<=917999},getStringWidth=function getStringWidth(str,removeControlChars=!0){var width=0;if(removeControlChars)str=stripVTControlCharacters(str);str=StringPrototypeNormalize.call(str,\"NFC\");for(var char of new SafeStringIterator(str)){var code=StringPrototypeCodePointAt.call(char,0);if(isFullWidthCodePoint(code))width+=2;else if(!isZeroWidthCodePoint(code))width++}return width},ansiPattern=\"[\\\\u001B\\\\u009B][[\\\\]()#;\?]*(\?:(\?:(\?:(\?:;[-a-zA-Z\\\\d\\\\/#&.:=\?%@~_]+)*|[a-zA-Z\\\\d]+(\?:;[-a-zA-Z\\\\d\\\\/#&.:=\?%@~_]*)*)\?\\\\u0007)|(\?:(\?:\\\\d{1,4}(\?:;\\\\d{0,4})*)\?[\\\\dA-PR-TZcf-ntqry=><~]))\",ansi=new RegExp(ansiPattern,\"g\");function stripVTControlCharacters(str){return validateString(str,\"str\"),RegExpPrototypeSymbolReplace.call(ansi,str,\"\")}var kCustomPromisifiedSymbol=SymbolFor(\"nodejs.util.promisify.custom\"),kCustomPromisifyArgsSymbol=Symbol(\"customPromisifyArgs\");function promisify(original){if(validateFunction(original,\"original\"),original[kCustomPromisifiedSymbol]){var fn=original[kCustomPromisifiedSymbol];return validateFunction(fn,\"util.promisify.custom\"),ObjectDefineProperty(fn,kCustomPromisifiedSymbol,{__proto__:null,value:fn,enumerable:!1,writable:!1,configurable:!0})}var argumentNames=original[kCustomPromisifyArgsSymbol];function fn(...args){return new Promise((resolve,reject)=>{ArrayPrototypePush.call(args,(err,...values)=>{if(err)return reject(err);if(argumentNames!==void 0&&values.length>1){var obj={};for(var i2=0;i2max)throw new ERR_OUT_OF_RANGE(name,`>= ${min} && <= ${max}`,value)}function validateUint32(value,name,positive=!1){if(typeof value!==\"number\")throw new ERR_INVALID_ARG_TYPE(name,\"number\",value);if(!NumberIsInteger(value))throw new ERR_OUT_OF_RANGE(name,\"an integer\",value);var min=positive\?1:0,max=4294967295;if(valuemax)throw new ERR_OUT_OF_RANGE(name,`>= ${min} && <= ${max}`,value)}function CSI(strings,...args){var ret=`${kEscape}[`;for(var n=0;n1&&StringPrototypeCodePointAt.call(str,i-2)>=kUTF16SurrogateThreshold||StringPrototypeCodePointAt.call(str,i-1)>=kUTF16SurrogateThreshold)return 2;return 1}function charLengthAt(str,i){if(str.length<=i)return 1;return StringPrototypeCodePointAt.call(str,i)>=kUTF16SurrogateThreshold\?2:1}function*emitKeys(stream){while(!0){var ch=yield,s=ch,escaped=!1,keySeq=null,keyName,keyCtrl2=!1,keyMeta=!1,keyShift=!1;if(ch===kEscape){if(escaped=!0,s+=ch=yield,ch===kEscape)s+=ch=yield}if(escaped&&(ch===\"O\"||ch===\"[\")){var code=ch,modifier=0;if(ch===\"O\"){if(s+=ch=yield,ch>=\"0\"&&ch<=\"9\")modifier=(ch>>0)-1,s+=ch=yield;code+=ch}else if(ch===\"[\"){if(s+=ch=yield,ch===\"[\")code+=ch,s+=ch=yield;var cmdStart=s.length-1;if(ch>=\"0\"&&ch<=\"9\"){if(s+=ch=yield,ch>=\"0\"&&ch<=\"9\")s+=ch=yield}if(ch===\";\"){if(s+=ch=yield,ch>=\"0\"&&ch<=\"9\")s+=yield}var cmd=StringPrototypeSlice.call(s,cmdStart),match;if(match=RegExpPrototypeExec.call(/^(\\d\\d\?)(;(\\d))\?([~^$])$/,cmd))code+=match[1]+match[4],modifier=(match[3]||1)-1;else if(match=RegExpPrototypeExec.call(/^((\\d;)\?(\\d))\?([A-Za-z])$/,cmd))code+=match[4],modifier=(match[3]||1)-1;else code+=cmd}switch(keyCtrl2=!!(modifier&4),keyMeta=!!(modifier&10),keyShift=!!(modifier&1),code){case\"[P\":keyName=\"f1\";break;case\"[Q\":keyName=\"f2\";break;case\"[R\":keyName=\"f3\";break;case\"[S\":keyName=\"f4\";break;case\"OP\":keyName=\"f1\";break;case\"OQ\":keyName=\"f2\";break;case\"OR\":keyName=\"f3\";break;case\"OS\":keyName=\"f4\";break;case\"[11~\":keyName=\"f1\";break;case\"[12~\":keyName=\"f2\";break;case\"[13~\":keyName=\"f3\";break;case\"[14~\":keyName=\"f4\";break;case\"[[A\":keyName=\"f1\";break;case\"[[B\":keyName=\"f2\";break;case\"[[C\":keyName=\"f3\";break;case\"[[D\":keyName=\"f4\";break;case\"[[E\":keyName=\"f5\";break;case\"[15~\":keyName=\"f5\";break;case\"[17~\":keyName=\"f6\";break;case\"[18~\":keyName=\"f7\";break;case\"[19~\":keyName=\"f8\";break;case\"[20~\":keyName=\"f9\";break;case\"[21~\":keyName=\"f10\";break;case\"[23~\":keyName=\"f11\";break;case\"[24~\":keyName=\"f12\";break;case\"[A\":keyName=\"up\";break;case\"[B\":keyName=\"down\";break;case\"[C\":keyName=\"right\";break;case\"[D\":keyName=\"left\";break;case\"[E\":keyName=\"clear\";break;case\"[F\":keyName=\"end\";break;case\"[H\":keyName=\"home\";break;case\"OA\":keyName=\"up\";break;case\"OB\":keyName=\"down\";break;case\"OC\":keyName=\"right\";break;case\"OD\":keyName=\"left\";break;case\"OE\":keyName=\"clear\";break;case\"OF\":keyName=\"end\";break;case\"OH\":keyName=\"home\";break;case\"[1~\":keyName=\"home\";break;case\"[2~\":keyName=\"insert\";break;case\"[3~\":keyName=\"delete\";break;case\"[4~\":keyName=\"end\";break;case\"[5~\":keyName=\"pageup\";break;case\"[6~\":keyName=\"pagedown\";break;case\"[[5~\":keyName=\"pageup\";break;case\"[[6~\":keyName=\"pagedown\";break;case\"[7~\":keyName=\"home\";break;case\"[8~\":keyName=\"end\";break;case\"[a\":keyName=\"up\",keyShift=!0;break;case\"[b\":keyName=\"down\",keyShift=!0;break;case\"[c\":keyName=\"right\",keyShift=!0;break;case\"[d\":keyName=\"left\",keyShift=!0;break;case\"[e\":keyName=\"clear\",keyShift=!0;break;case\"[2$\":keyName=\"insert\",keyShift=!0;break;case\"[3$\":keyName=\"delete\",keyShift=!0;break;case\"[5$\":keyName=\"pageup\",keyShift=!0;break;case\"[6$\":keyName=\"pagedown\",keyShift=!0;break;case\"[7$\":keyName=\"home\",keyShift=!0;break;case\"[8$\":keyName=\"end\",keyShift=!0;break;case\"Oa\":keyName=\"up\",keyCtrl2=!0;break;case\"Ob\":keyName=\"down\",keyCtrl2=!0;break;case\"Oc\":keyName=\"right\",keyCtrl2=!0;break;case\"Od\":keyName=\"left\",keyCtrl2=!0;break;case\"Oe\":keyName=\"clear\",keyCtrl2=!0;break;case\"[2^\":keyName=\"insert\",keyCtrl2=!0;break;case\"[3^\":keyName=\"delete\",keyCtrl2=!0;break;case\"[5^\":keyName=\"pageup\",keyCtrl2=!0;break;case\"[6^\":keyName=\"pagedown\",keyCtrl2=!0;break;case\"[7^\":keyName=\"home\",keyCtrl2=!0;break;case\"[8^\":keyName=\"end\",keyCtrl2=!0;break;case\"[Z\":keyName=\"tab\",keyShift=!0;break;default:keyName=\"undefined\";break}}else if(ch===\"\\r\")keyName=\"return\",keyMeta=escaped;else if(ch===\"\\n\")keyName=\"enter\",keyMeta=escaped;else if(ch===\"\\t\")keyName=\"tab\",keyMeta=escaped;else if(ch===\"\\b\"||ch===\"\\x7F\")keyName=\"backspace\",keyMeta=escaped;else if(ch===kEscape)keyName=\"escape\",keyMeta=escaped;else if(ch===\" \")keyName=\"space\",keyMeta=escaped;else if(!escaped&&ch<=\"\\x1A\")keyName=StringFromCharCode(StringPrototypeCharCodeAt.call(ch)+StringPrototypeCharCodeAt.call(\"a\")-1),keyCtrl2=!0;else if(RegExpPrototypeExec.call(/^[0-9A-Za-z]$/,ch)!==null)keyName=StringPrototypeToLowerCase.call(ch),keyShift=RegExpPrototypeExec.call(/^[A-Z]$/,ch)!==null,keyMeta=escaped;else if(escaped)keyName=ch.length\?void 0:\"escape\",keyMeta=!0;if(keySeq=s,s.length!==0&&(keyName!==void 0||escaped))stream.emit(\"keypress\",escaped\?void 0:s,{sequence:keySeq,name:keyName,ctrl:keyCtrl2,meta:keyMeta,shift:keyShift});else if(charLengthAt(s,0)===s.length)stream.emit(\"keypress\",s,{sequence:keySeq,name:keyName,ctrl:keyCtrl2,meta:keyMeta,shift:keyShift})}}function commonPrefix(strings){if(strings.length===0)return\"\";if(strings.length===1)return strings[0];var sorted=ArrayPrototypeSort.call(ArrayPrototypeSlice.call(strings)),min=sorted[0],max=sorted[sorted.length-1];for(var i=0;i0)data+=CSI`${dx}C`;if(dy<0)data+=CSI`${-dy}A`;else if(dy>0)data+=CSI`${dy}B`;return stream.write(data,callback)}function clearLine(stream,dir,callback){if(callback!==void 0)validateFunction(callback,\"callback\");if(stream===null||stream===void 0){if(typeof callback===\"function\")process.nextTick(callback,null);return!0}var type=dir<0\?kClearToLineBeginning:dir>0\?kClearToLineEnd:kClearLine;return stream.write(type,callback)}function clearScreenDown(stream,callback){if(callback!==void 0)validateFunction(callback,\"callback\");if(stream===null||stream===void 0){if(typeof callback===\"function\")process.nextTick(callback,null);return!0}return stream.write(kClearScreenDown,callback)}var KEYPRESS_DECODER=Symbol(\"keypress-decoder\"),ESCAPE_DECODER=Symbol(\"escape-decoder\"),ESCAPE_CODE_TIMEOUT=500;function emitKeypressEvents(stream,iface={}){if(stream[KEYPRESS_DECODER])return;stream[KEYPRESS_DECODER]=new StringDecoder(\"utf8\"),stream[ESCAPE_DECODER]=emitKeys(stream),stream[ESCAPE_DECODER].next();var triggerEscape=()=>stream[ESCAPE_DECODER].next(\"\"),{escapeCodeTimeout=ESCAPE_CODE_TIMEOUT}=iface,timeoutId;function onData2(input){if(stream.listenerCount(\"keypress\")>0){var string=stream[KEYPRESS_DECODER].write(input);if(string){clearTimeout(timeoutId),iface[kSawKeyPress]=charLengthAt(string,0)===string.length,iface.isCompletionEnabled=!1;var length=0;for(var character of new SafeStringIterator(string)){if(length+=character.length,length===string.length)iface.isCompletionEnabled=!0;try{if(stream[ESCAPE_DECODER].next(character),length===string.length&&character===kEscape)timeoutId=setTimeout(triggerEscape,escapeCodeTimeout)}catch(err){throw stream[ESCAPE_DECODER]=emitKeys(stream),stream[ESCAPE_DECODER].next(),err}}}}else stream.removeListener(\"data\",onData2),stream.on(\"newListener\",onNewListener)}function onNewListener(event){if(event===\"keypress\")stream.on(\"data\",onData2),stream.removeListener(\"newListener\",onNewListener)}if(stream.listenerCount(\"keypress\")>0)stream.on(\"data\",onData2);else stream.on(\"newListener\",onNewListener)}var kEmptyObject=ObjectFreeze(ObjectCreate(null)),kHistorySize=30,kMaxUndoRedoStackSize=2048,kMincrlfDelay=100,lineEnding=/\\r\?\\n|\\r(\?!\\n)/g,kMaxLengthOfKillRing=32,kLineObjectStream=Symbol(\"line object stream\"),kQuestionCancel=Symbol(\"kQuestionCancel\"),kQuestion=Symbol(\"kQuestion\"),kAddHistory=Symbol(\"_addHistory\"),kBeforeEdit=Symbol(\"_beforeEdit\"),kDecoder=Symbol(\"_decoder\"),kDeleteLeft=Symbol(\"_deleteLeft\"),kDeleteLineLeft=Symbol(\"_deleteLineLeft\"),kDeleteLineRight=Symbol(\"_deleteLineRight\"),kDeleteRight=Symbol(\"_deleteRight\"),kDeleteWordLeft=Symbol(\"_deleteWordLeft\"),kDeleteWordRight=Symbol(\"_deleteWordRight\"),kGetDisplayPos=Symbol(\"_getDisplayPos\"),kHistoryNext=Symbol(\"_historyNext\"),kHistoryPrev=Symbol(\"_historyPrev\"),kInsertString=Symbol(\"_insertString\"),kLine=Symbol(\"_line\"),kLine_buffer=Symbol(\"_line_buffer\"),kKillRing=Symbol(\"_killRing\"),kKillRingCursor=Symbol(\"_killRingCursor\"),kMoveCursor=Symbol(\"_moveCursor\"),kNormalWrite=Symbol(\"_normalWrite\"),kOldPrompt=Symbol(\"_oldPrompt\"),kOnLine=Symbol(\"_onLine\"),kPreviousKey=Symbol(\"_previousKey\"),kPrompt=Symbol(\"_prompt\"),kPushToKillRing=Symbol(\"_pushToKillRing\"),kPushToUndoStack=Symbol(\"_pushToUndoStack\"),kQuestionCallback=Symbol(\"_questionCallback\"),kRedo=Symbol(\"_redo\"),kRedoStack=Symbol(\"_redoStack\"),kRefreshLine=Symbol(\"_refreshLine\"),kSawKeyPress=Symbol(\"_sawKeyPress\"),kSawReturnAt=Symbol(\"_sawReturnAt\"),kSetRawMode=Symbol(\"_setRawMode\"),kTabComplete=Symbol(\"_tabComplete\"),kTabCompleter=Symbol(\"_tabCompleter\"),kTtyWrite=Symbol(\"_ttyWrite\"),kUndo=Symbol(\"_undo\"),kUndoStack=Symbol(\"_undoStack\"),kWordLeft=Symbol(\"_wordLeft\"),kWordRight=Symbol(\"_wordRight\"),kWriteToOutput=Symbol(\"_writeToOutput\"),kYank=Symbol(\"_yank\"),kYanking=Symbol(\"_yanking\"),kYankPop=Symbol(\"_yankPop\"),kFirstEventParam=Symbol(\"nodejs.kFirstEventParam\"),kOnSelfCloseWithTerminal=Symbol(\"_onSelfCloseWithTerminal\"),kOnSelfCloseWithoutTerminal=Symbol(\"_onSelfCloseWithoutTerminal\"),kOnKeyPress=Symbol(\"_onKeyPress\"),kOnError=Symbol(\"_onError\"),kOnData=Symbol(\"_onData\"),kOnEnd=Symbol(\"_onEnd\"),kOnTermEnd=Symbol(\"_onTermEnd\"),kOnResize=Symbol(\"_onResize\");function onSelfCloseWithTerminal(){var input=this.input,output=this.output;if(!input)throw new Error(\"Input not set, invalid state for readline!\");if(input.removeListener(\"keypress\",this[kOnKeyPress]),input.removeListener(\"error\",this[kOnError]),input.removeListener(\"end\",this[kOnTermEnd]),output!==null&&output!==void 0)output.removeListener(\"resize\",this[kOnResize])}function onSelfCloseWithoutTerminal(){var input=this.input;if(!input)throw new Error(\"Input not set, invalid state for readline!\");input.removeListener(\"data\",this[kOnData]),input.removeListener(\"error\",this[kOnError]),input.removeListener(\"end\",this[kOnEnd])}function onError(err){this.emit(\"error\",err)}function onData(data){debug(\"onData\"),this[kNormalWrite](data)}function onEnd(){if(debug(\"onEnd\"),typeof this[kLine_buffer]===\"string\"&&this[kLine_buffer].length>0)this.emit(\"line\",this[kLine_buffer]);this.close()}function onTermEnd(){if(debug(\"onTermEnd\"),typeof this.line===\"string\"&&this.line.length>0)this.emit(\"line\",this.line);this.close()}function onKeyPress(s,key){if(this[kTtyWrite](s,key),key&&key.sequence){var ch=StringPrototypeCodePointAt.call(key.sequence,0);if(ch>=55296&&ch<=57343)this[kRefreshLine]()}}function onResize(){this[kRefreshLine]()}function InterfaceConstructor(input,output,completer,terminal){if(!(this instanceof InterfaceConstructor))return new InterfaceConstructor(input,output,completer,terminal);EventEmitter.call(this),this[kOnSelfCloseWithoutTerminal]=onSelfCloseWithoutTerminal.bind(this),this[kOnSelfCloseWithTerminal]=onSelfCloseWithTerminal.bind(this),this[kOnError]=onError.bind(this),this[kOnData]=onData.bind(this),this[kOnEnd]=onEnd.bind(this),this[kOnTermEnd]=onTermEnd.bind(this),this[kOnKeyPress]=onKeyPress.bind(this),this[kOnResize]=onResize.bind(this),this[kSawReturnAt]=0,this.isCompletionEnabled=!0,this[kSawKeyPress]=!1,this[kPreviousKey]=null,this.escapeCodeTimeout=ESCAPE_CODE_TIMEOUT,this.tabSize=8;var history,historySize,removeHistoryDuplicates=!1,crlfDelay,prompt=\"> \",signal;if(input\?.input){output=input.output,completer=input.completer,terminal=input.terminal,history=input.history,historySize=input.historySize,signal=input.signal;var tabSize=input.tabSize;if(tabSize!==void 0)validateUint32(tabSize,\"tabSize\",!0),this.tabSize=tabSize;removeHistoryDuplicates=input.removeHistoryDuplicates;var inputPrompt=input.prompt;if(inputPrompt!==void 0)prompt=inputPrompt;var inputEscapeCodeTimeout=input.escapeCodeTimeout;if(inputEscapeCodeTimeout!==void 0)if(NumberIsFinite(inputEscapeCodeTimeout))this.escapeCodeTimeout=inputEscapeCodeTimeout;else throw new ERR_INVALID_ARG_VALUE(\"input.escapeCodeTimeout\",this.escapeCodeTimeout);if(signal)validateAbortSignal(signal,\"options.signal\");crlfDelay=input.crlfDelay,input=input.input}if(completer!==void 0&&typeof completer!==\"function\")throw new ERR_INVALID_ARG_VALUE(\"completer\",completer);if(history===void 0)history=[];else validateArray(history,\"history\");if(historySize===void 0)historySize=kHistorySize;if(typeof historySize!==\"number\"||NumberIsNaN(historySize)||historySize<0)throw new ERR_INVALID_ARG_VALUE(\"historySize\",historySize);if(terminal===void 0&&!(output===null||output===void 0))terminal=!!output.isTTY;if(this.line=\"\",this[kSubstringSearch]=null,this.output=output,this.input=input,this[kUndoStack]=[],this[kRedoStack]=[],this.history=history,this.historySize=historySize,this[kKillRing]=[],this[kKillRingCursor]=0,this.removeHistoryDuplicates=!!removeHistoryDuplicates,this.crlfDelay=crlfDelay\?MathMax(kMincrlfDelay,crlfDelay):kMincrlfDelay,this.completer=completer,this.setPrompt(prompt),this.terminal=!!terminal,this[kLineObjectStream]=void 0,input.on(\"error\",this[kOnError]),!this.terminal)input.on(\"data\",this[kOnData]),input.on(\"end\",this[kOnEnd]),this.once(\"close\",this[kOnSelfCloseWithoutTerminal]),this[kDecoder]=new StringDecoder(\"utf8\");else{if(emitKeypressEvents(input,this),input.on(\"keypress\",this[kOnKeyPress]),input.on(\"end\",this[kOnTermEnd]),this[kSetRawMode](!0),this.terminal=!0,this.cursor=0,this.historyIndex=-1,output!==null&&output!==void 0)output.on(\"resize\",this[kOnResize]);this.once(\"close\",this[kOnSelfCloseWithTerminal])}if(signal){var onAborted=(()=>this.close()).bind(this);if(signal.aborted)process.nextTick(onAborted);else signal.addEventListener(\"abort\",onAborted,{once:!0}),this.once(\"close\",()=>signal.removeEventListener(\"abort\",onAborted))}this.line=\"\",input.resume()}ObjectSetPrototypeOf(InterfaceConstructor.prototype,EventEmitter.prototype);var _Interface=class Interface2 extends InterfaceConstructor{constructor(input,output,completer,terminal){super(input,output,completer,terminal)}get columns(){var output=this.output;if(output&&output.columns)return output.columns;return Infinity}setPrompt(prompt){this[kPrompt]=prompt}getPrompt(){return this[kPrompt]}[kSetRawMode](mode){var input=this.input,{setRawMode,wasInRawMode}=input;return debug(\"setRawMode\",mode,\"set!\"),wasInRawMode}prompt(preserveCursor){if(this.paused)this.resume();if(this.terminal&&process.env.TERM!==\"dumb\"){if(!preserveCursor)this.cursor=0;this[kRefreshLine]()}else this[kWriteToOutput](this[kPrompt])}[kQuestion](query,cb){if(this.closed)throw new ERR_USE_AFTER_CLOSE(\"readline\");if(this[kQuestionCallback])this.prompt();else this[kOldPrompt]=this[kPrompt],this.setPrompt(query),this[kQuestionCallback]=cb,this.prompt()}[kOnLine](line){if(this[kQuestionCallback]){var cb=this[kQuestionCallback];this[kQuestionCallback]=null,this.setPrompt(this[kOldPrompt]),cb(line)}else this.emit(\"line\",line)}[kBeforeEdit](oldText,oldCursor){this[kPushToUndoStack](oldText,oldCursor)}[kQuestionCancel](){if(this[kQuestionCallback])this[kQuestionCallback]=null,this.setPrompt(this[kOldPrompt]),this.clearLine()}[kWriteToOutput](stringToWrite){if(validateString(stringToWrite,\"stringToWrite\"),this.output!==null&&this.output!==void 0)this.output.write(stringToWrite)}[kAddHistory](){if(this.line.length===0)return\"\";if(this.historySize===0)return this.line;if(StringPrototypeTrim.call(this.line).length===0)return this.line;if(this.history.length===0||this.history[0]!==this.line){if(this.removeHistoryDuplicates){var dupIndex=ArrayPrototypeIndexOf.call(this.history,this.line);if(dupIndex!==-1)ArrayPrototypeSplice.call(this.history,dupIndex,1)}if(ArrayPrototypeUnshift.call(this.history,this.line),this.history.length>this.historySize)ArrayPrototypePop.call(this.history)}this.historyIndex=-1;var line=this.history[0];return this.emit(\"history\",this.history),line}[kRefreshLine](){var line=this[kPrompt]+this.line,dispPos=this[kGetDisplayPos](line),lineCols=dispPos.cols,lineRows=dispPos.rows,cursorPos=this.getCursorPos(),prevRows=this.prevRows||0;if(prevRows>0)moveCursor(this.output,0,-prevRows);if(cursorTo(this.output,0),clearScreenDown(this.output),this[kWriteToOutput](line),lineCols===0)this[kWriteToOutput](\" \");cursorTo(this.output,cursorPos.cols);var diff=lineRows-cursorPos.rows;if(diff>0)moveCursor(this.output,0,-diff);this.prevRows=cursorPos.rows}close(){if(this.closed)return;if(this.pause(),this.terminal)this[kSetRawMode](!1);this.closed=!0,this.emit(\"close\")}pause(){if(this.paused)return;return this.input.pause(),this.paused=!0,this.emit(\"pause\"),this}resume(){if(!this.paused)return;return this.input.resume(),this.paused=!1,this.emit(\"resume\"),this}write(d,key){if(this.paused)this.resume();if(this.terminal)this[kTtyWrite](d,key);else this[kNormalWrite](d)}[kNormalWrite](b){if(b===void 0)return;var string=this[kDecoder].write(b);if(this[kSawReturnAt]&&DateNow()-this[kSawReturnAt]<=this.crlfDelay){if(StringPrototypeCodePointAt.call(string)===10)string=StringPrototypeSlice.call(string,1);this[kSawReturnAt]=0}var newPartContainsEnding=RegExpPrototypeExec.call(lineEnding,string);if(newPartContainsEnding!==null){if(this[kLine_buffer])string=this[kLine_buffer]+string,this[kLine_buffer]=null,newPartContainsEnding=RegExpPrototypeExec.call(lineEnding,string);this[kSawReturnAt]=StringPrototypeEndsWith.call(string,\"\\r\")\?DateNow():0;var indexes=[0,newPartContainsEnding.index,lineEnding.lastIndex],nextMatch;while((nextMatch=RegExpPrototypeExec.call(lineEnding,string))!==null)ArrayPrototypePush.call(indexes,nextMatch.index,lineEnding.lastIndex);var lastIndex=indexes.length-1;this[kLine_buffer]=StringPrototypeSlice.call(string,indexes[lastIndex]);for(var i=1;ie!==\"\"));if(StringPrototypeStartsWith.call(prefix,completeOn)&&prefix.length>completeOn.length){this[kInsertString](StringPrototypeSlice.call(prefix,completeOn.length));return}else if(!StringPrototypeStartsWith.call(completeOn,prefix)){this.line=StringPrototypeSlice.call(this.line,0,this.cursor-completeOn.length)+prefix+StringPrototypeSlice.call(this.line,this.cursor,this.line.length),this.cursor=this.cursor-completeOn.length+prefix.length,this._refreshLine();return}if(!lastKeypressWasTab)return;this[kBeforeEdit](this.line,this.cursor);var completionsWidth=ArrayPrototypeMap.call(completions,(e)=>getStringWidth(e)),width=MathMaxApply(completionsWidth)+2,maxColumns=MathFloor(this.columns/width)||1;if(maxColumns===Infinity)maxColumns=1;var output=\"\\r\\n\",lineIndex=0,whitespace=0;for(var i=0;i0){var leading=StringPrototypeSlice.call(this.line,0,this.cursor),reversed=ArrayPrototypeJoin.call(ArrayPrototypeReverse.call(ArrayFrom(leading)),\"\"),match=RegExpPrototypeExec.call(/^\\s*(\?:[^\\w\\s]+|\\w+)\?/,reversed);this[kMoveCursor](-match[0].length)}}[kWordRight](){if(this.cursor0&&this.line.length>0){this[kBeforeEdit](this.line,this.cursor);var charSize=charLengthLeft(this.line,this.cursor);this.line=StringPrototypeSlice.call(this.line,0,this.cursor-charSize)+StringPrototypeSlice.call(this.line,this.cursor,this.line.length),this.cursor-=charSize,this[kRefreshLine]()}}[kDeleteRight](){if(this.cursor0){this[kBeforeEdit](this.line,this.cursor);var leading=StringPrototypeSlice.call(this.line,0,this.cursor),reversed=ArrayPrototypeJoin.call(ArrayPrototypeReverse.call(ArrayFrom(leading)),\"\"),match=RegExpPrototypeExec.call(/^\\s*(\?:[^\\w\\s]+|\\w+)\?/,reversed);leading=StringPrototypeSlice.call(leading,0,leading.length-match[0].length),this.line=leading+StringPrototypeSlice.call(this.line,this.cursor,this.line.length),this.cursor=leading.length,this[kRefreshLine]()}}[kDeleteWordRight](){if(this.cursorkMaxLengthOfKillRing)ArrayPrototypePop.call(this[kKillRing])}[kYank](){if(this[kKillRing].length>0)this[kYanking]=!0,this[kInsertString](this[kKillRing][this[kKillRingCursor]])}[kYankPop](){if(!this[kYanking])return;if(this[kKillRing].length>1){var lastYank=this[kKillRing][this[kKillRingCursor]];if(this[kKillRingCursor]++,this[kKillRingCursor]>=this[kKillRing].length)this[kKillRingCursor]=0;var currentYank=this[kKillRing][this[kKillRingCursor]],head=StringPrototypeSlice.call(this.line,0,this.cursor-lastYank.length),tail=StringPrototypeSlice.call(this.line,this.cursor);this.line=head+currentYank+tail,this.cursor=head.length+currentYank.length,this[kRefreshLine]()}}clearLine(){this[kMoveCursor](Infinity),this[kWriteToOutput](\"\\r\\n\"),this.line=\"\",this.cursor=0,this.prevRows=0}[kLine](){var line=this[kAddHistory]();this[kUndoStack]=[],this[kRedoStack]=[],this.clearLine(),this[kOnLine](line)}[kPushToUndoStack](text,cursor){if(ArrayPrototypePush.call(this[kUndoStack],{text,cursor})>kMaxUndoRedoStackSize)ArrayPrototypeShift.call(this[kUndoStack])}[kUndo](){if(this[kUndoStack].length<=0)return;ArrayPrototypePush.call(this[kRedoStack],{text:this.line,cursor:this.cursor});var entry=ArrayPrototypePop.call(this[kUndoStack]);this.line=entry.text,this.cursor=entry.cursor,this[kRefreshLine]()}[kRedo](){if(this[kRedoStack].length<=0)return;ArrayPrototypePush.call(this[kUndoStack],{text:this.line,cursor:this.cursor});var entry=ArrayPrototypePop.call(this[kRedoStack]);this.line=entry.text,this.cursor=entry.cursor,this[kRefreshLine]()}[kHistoryNext](){if(this.historyIndex>=0){this[kBeforeEdit](this.line,this.cursor);var search=this[kSubstringSearch]||\"\",index=this.historyIndex-1;while(index>=0&&(!StringPrototypeStartsWith.call(this.history[index],search)||this.line===this.history[index]))index--;if(index===-1)this.line=search;else this.line=this.history[index];this.historyIndex=index,this.cursor=this.line.length,this[kRefreshLine]()}}[kHistoryPrev](){if(this.historyIndexthis.line.length)this.cursor=this.line.length;var newPos=this.getCursorPos();if(oldPos.rows===newPos.rows){var diffWidth=newPos.cols-oldPos.cols;moveCursor(this.output,diffWidth,0)}else this[kRefreshLine]()}[kTtyWrite](s,key){var previousKey=this[kPreviousKey];key=key||kEmptyObject,this[kPreviousKey]=key;var{name:keyName,meta:keyMeta,ctrl:keyCtrl2,shift:keyShift,sequence:keySeq}=key;if(!keyMeta||keyName!==\"y\")this[kYanking]=!1;if((keyName===\"up\"||keyName===\"down\")&&!keyCtrl2&&!keyMeta&&!keyShift){if(this[kSubstringSearch]===null)this[kSubstringSearch]=StringPrototypeSlice.call(this.line,0,this.cursor)}else if(this[kSubstringSearch]!==null){if(this[kSubstringSearch]=null,this.history.length===this.historyIndex)this.historyIndex=-1}if(typeof keySeq===\"string\")switch(StringPrototypeCodePointAt.call(keySeq,0)){case 31:this[kUndo]();return;case 30:this[kRedo]();return;default:break}if(keyName===\"escape\")return;if(keyCtrl2&&keyShift)switch(keyName){case\"backspace\":this[kDeleteLineLeft]();break;case\"delete\":this[kDeleteLineRight]();break}else if(keyCtrl2)switch(keyName){case\"c\":if(this.listenerCount(\"SIGINT\")>0)this.emit(\"SIGINT\");else this.close();break;case\"h\":this[kDeleteLeft]();break;case\"d\":if(this.cursor===0&&this.line.length===0)this.close();else if(this.cursor0)this.emit(\"SIGTSTP\");else process.once(\"SIGCONT\",()=>{if(!this.paused)this.pause(),this.emit(\"SIGCONT\");this[kSetRawMode](!0),this[kRefreshLine]()}),this[kSetRawMode](!1),process.kill(process.pid,\"SIGTSTP\");break;case\"w\":case\"backspace\":this[kDeleteWordLeft]();break;case\"delete\":this[kDeleteWordRight]();break;case\"left\":this[kWordLeft]();break;case\"right\":this[kWordRight]();break}else if(keyMeta)switch(keyName){case\"b\":this[kWordLeft]();break;case\"f\":this[kWordRight]();break;case\"d\":case\"delete\":this[kDeleteWordRight]();break;case\"backspace\":this[kDeleteWordLeft]();break;case\"y\":this[kYankPop]();break}else{if(this[kSawReturnAt]&&keyName!==\"enter\")this[kSawReturnAt]=0;switch(keyName){case\"return\":this[kSawReturnAt]=DateNow(),this[kLine]();break;case\"enter\":if(this[kSawReturnAt]===0||DateNow()-this[kSawReturnAt]>this.crlfDelay)this[kLine]();this[kSawReturnAt]=0;break;case\"backspace\":this[kDeleteLeft]();break;case\"delete\":this[kDeleteRight]();break;case\"left\":this[kMoveCursor](-charLengthLeft(this.line,this.cursor));break;case\"right\":this[kMoveCursor](+charLengthAt(this.line,this.cursor));break;case\"home\":this[kMoveCursor]((-Infinity));break;case\"end\":this[kMoveCursor](Infinity);break;case\"up\":this[kHistoryPrev]();break;case\"down\":this[kHistoryNext]();break;case\"tab\":if(typeof this.completer===\"function\"&&this.isCompletionEnabled){var lastKeypressWasTab=previousKey&&previousKey.name===\"tab\";this[kTabComplete](lastKeypressWasTab);break}default:if(typeof s===\"string\"&&s){var nextMatch=RegExpPrototypeExec.call(lineEnding,s);if(nextMatch!==null){this[kInsertString](StringPrototypeSlice.call(s,0,nextMatch.index));var{lastIndex}=lineEnding;while((nextMatch=RegExpPrototypeExec.call(lineEnding,s))!==null)this[kLine](),this[kInsertString](StringPrototypeSlice.call(s,lastIndex,nextMatch.index)),{lastIndex}=lineEnding;if(lastIndex===s.length)this[kLine]()}else this[kInsertString](s)}}}}[SymbolAsyncIterator](){if(this[kLineObjectStream]===void 0)this[kLineObjectStream]=EventEmitter.on(this,\"line\",{close:[\"close\"],highWatermark:1024,[kFirstEventParam]:!0});return this[kLineObjectStream]}};function Interface(input,output,completer,terminal){if(!(this instanceof Interface))return new Interface(input,output,completer,terminal);if(input\?.input&&typeof input.completer===\"function\"&&input.completer.length!==2){var{completer}=input;input.completer=(v,cb)=>cb(null,completer(v))}else if(typeof completer===\"function\"&&completer.length!==2){var realCompleter=completer;completer=(v,cb)=>cb(null,realCompleter(v))}if(InterfaceConstructor.call(this,input,output,completer,terminal),process.env.TERM===\"dumb\")this._ttyWrite=_ttyWriteDumb.bind(this)}ObjectSetPrototypeOf(Interface.prototype,_Interface.prototype),ObjectSetPrototypeOf(Interface,_Interface),Interface.prototype.question=function question(query,options,cb){if(cb=typeof options===\"function\"\?options:cb,options===null||typeof options!==\"object\")options=kEmptyObject;var signal=options\?.signal;if(signal){if(validateAbortSignal(signal,\"options.signal\"),signal.aborted)return;var onAbort=()=>{this[kQuestionCancel]()};signal.addEventListener(\"abort\",onAbort,{once:!0});var cleanup=()=>{signal.removeEventListener(\"abort\",onAbort)},originalCb=cb;cb=typeof cb===\"function\"\?(answer)=>{return cleanup(),originalCb(answer)}:cleanup}if(typeof cb===\"function\")this[kQuestion](query,cb)},Interface.prototype.question[promisify.custom]=function question(query,options){if(options===null||typeof options!==\"object\")options=kEmptyObject;var signal=options\?.signal;if(signal&&signal.aborted)return PromiseReject(new AbortError(void 0,{cause:signal.reason}));return new Promise((resolve,reject)=>{var cb=resolve;if(signal){var onAbort=()=>{reject(new AbortError(void 0,{cause:signal.reason}))};signal.addEventListener(\"abort\",onAbort,{once:!0}),cb=(answer)=>{signal.removeEventListener(\"abort\",onAbort),resolve(answer)}}this.question(query,options,cb)})};function createInterface(input,output,completer,terminal){return new Interface(input,output,completer,terminal)}ObjectDefineProperties(Interface.prototype,{[kSetRawMode]:{__proto__:null,get(){return this._setRawMode}},[kOnLine]:{__proto__:null,get(){return this._onLine}},[kWriteToOutput]:{__proto__:null,get(){return this._writeToOutput}},[kAddHistory]:{__proto__:null,get(){return this._addHistory}},[kRefreshLine]:{__proto__:null,get(){return this._refreshLine}},[kNormalWrite]:{__proto__:null,get(){return this._normalWrite}},[kInsertString]:{__proto__:null,get(){return this._insertString}},[kTabComplete]:{__proto__:null,get(){return this._tabComplete}},[kWordLeft]:{__proto__:null,get(){return this._wordLeft}},[kWordRight]:{__proto__:null,get(){return this._wordRight}},[kDeleteLeft]:{__proto__:null,get(){return this._deleteLeft}},[kDeleteRight]:{__proto__:null,get(){return this._deleteRight}},[kDeleteWordLeft]:{__proto__:null,get(){return this._deleteWordLeft}},[kDeleteWordRight]:{__proto__:null,get(){return this._deleteWordRight}},[kDeleteLineLeft]:{__proto__:null,get(){return this._deleteLineLeft}},[kDeleteLineRight]:{__proto__:null,get(){return this._deleteLineRight}},[kLine]:{__proto__:null,get(){return this._line}},[kHistoryNext]:{__proto__:null,get(){return this._historyNext}},[kHistoryPrev]:{__proto__:null,get(){return this._historyPrev}},[kGetDisplayPos]:{__proto__:null,get(){return this._getDisplayPos}},[kMoveCursor]:{__proto__:null,get(){return this._moveCursor}},[kTtyWrite]:{__proto__:null,get(){return this._ttyWrite}},_decoder:{__proto__:null,get(){return this[kDecoder]},set(value){this[kDecoder]=value}},_line_buffer:{__proto__:null,get(){return this[kLine_buffer]},set(value){this[kLine_buffer]=value}},_oldPrompt:{__proto__:null,get(){return this[kOldPrompt]},set(value){this[kOldPrompt]=value}},_previousKey:{__proto__:null,get(){return this[kPreviousKey]},set(value){this[kPreviousKey]=value}},_prompt:{__proto__:null,get(){return this[kPrompt]},set(value){this[kPrompt]=value}},_questionCallback:{__proto__:null,get(){return this[kQuestionCallback]},set(value){this[kQuestionCallback]=value}},_sawKeyPress:{__proto__:null,get(){return this[kSawKeyPress]},set(value){this[kSawKeyPress]=value}},_sawReturnAt:{__proto__:null,get(){return this[kSawReturnAt]},set(value){this[kSawReturnAt]=value}}}),Interface.prototype._setRawMode=_Interface.prototype[kSetRawMode],Interface.prototype._onLine=_Interface.prototype[kOnLine],Interface.prototype._writeToOutput=_Interface.prototype[kWriteToOutput],Interface.prototype._addHistory=_Interface.prototype[kAddHistory],Interface.prototype._refreshLine=_Interface.prototype[kRefreshLine],Interface.prototype._normalWrite=_Interface.prototype[kNormalWrite],Interface.prototype._insertString=_Interface.prototype[kInsertString],Interface.prototype._tabComplete=function(lastKeypressWasTab){this.pause();var string=StringPrototypeSlice.call(this.line,0,this.cursor);this.completer(string,(err,value)=>{if(this.resume(),err){this._writeToOutput(`Tab completion error: ${inspect(err)}`);return}this[kTabCompleter](lastKeypressWasTab,value)})},Interface.prototype._wordLeft=_Interface.prototype[kWordLeft],Interface.prototype._wordRight=_Interface.prototype[kWordRight],Interface.prototype._deleteLeft=_Interface.prototype[kDeleteLeft],Interface.prototype._deleteRight=_Interface.prototype[kDeleteRight],Interface.prototype._deleteWordLeft=_Interface.prototype[kDeleteWordLeft],Interface.prototype._deleteWordRight=_Interface.prototype[kDeleteWordRight],Interface.prototype._deleteLineLeft=_Interface.prototype[kDeleteLineLeft],Interface.prototype._deleteLineRight=_Interface.prototype[kDeleteLineRight],Interface.prototype._line=_Interface.prototype[kLine],Interface.prototype._historyNext=_Interface.prototype[kHistoryNext],Interface.prototype._historyPrev=_Interface.prototype[kHistoryPrev],Interface.prototype._getDisplayPos=_Interface.prototype[kGetDisplayPos],Interface.prototype._getCursorPos=_Interface.prototype.getCursorPos,Interface.prototype._moveCursor=_Interface.prototype[kMoveCursor],Interface.prototype._ttyWrite=_Interface.prototype[kTtyWrite];function _ttyWriteDumb(s,key){if(key=key||kEmptyObject,key.name===\"escape\")return;if(this[kSawReturnAt]&&key.name!==\"enter\")this[kSawReturnAt]=0;if(keyCtrl){if(key.name===\"c\"){if(this.listenerCount(\"SIGINT\")>0)this.emit(\"SIGINT\");else this.close();return}else if(key.name===\"d\"){this.close();return}}switch(key.name){case\"return\":this[kSawReturnAt]=DateNow(),this._line();break;case\"enter\":if(this[kSawReturnAt]===0||DateNow()-this[kSawReturnAt]>this.crlfDelay)this._line();this[kSawReturnAt]=0;break;default:if(typeof s===\"string\"&&s)this.line+=s,this.cursor+=s.length,this._writeToOutput(s)}}class Readline{#autoCommit=!1;#stream;#todo=[];constructor(stream,options=void 0){if(isWritable\?\?=@requireId(30).isWritable,!isWritable(stream))throw new ERR_INVALID_ARG_TYPE(\"stream\",\"Writable\",stream);if(this.#stream=stream,options\?.autoCommit!=null)validateBoolean(options.autoCommit,\"options.autoCommit\"),this.#autoCommit=options.autoCommit}cursorTo(x,y=void 0){if(validateInteger(x,\"x\"),y!=null)validateInteger(y,\"y\");var data=y==null\?CSI`${x+1}G`:CSI`${y+1};${x+1}H`;if(this.#autoCommit)process.nextTick(()=>this.#stream.write(data));else ArrayPrototypePush.call(this.#todo,data);return this}moveCursor(dx,dy){if(dx||dy){validateInteger(dx,\"dx\"),validateInteger(dy,\"dy\");var data=\"\";if(dx<0)data+=CSI`${-dx}D`;else if(dx>0)data+=CSI`${dx}C`;if(dy<0)data+=CSI`${-dy}A`;else if(dy>0)data+=CSI`${dy}B`;if(this.#autoCommit)process.nextTick(()=>this.#stream.write(data));else ArrayPrototypePush.call(this.#todo,data)}return this}clearLine(dir){validateInteger(dir,\"dir\",-1,1);var data=dir<0\?kClearToLineBeginning:dir>0\?kClearToLineEnd:kClearLine;if(this.#autoCommit)process.nextTick(()=>this.#stream.write(data));else ArrayPrototypePush.call(this.#todo,data);return this}clearScreenDown(){if(this.#autoCommit)process.nextTick(()=>this.#stream.write(kClearScreenDown));else ArrayPrototypePush.call(this.#todo,kClearScreenDown);return this}commit(){return new Promise((resolve)=>{this.#stream.write(ArrayPrototypeJoin.call(this.#todo,\"\"),resolve),this.#todo=[]})}rollback(){return this.#todo=[],this}}var PromisesInterface=class Interface2 extends _Interface{constructor(input,output,completer,terminal){super(input,output,completer,terminal)}question(query,options=kEmptyObject){var signal=options\?.signal;if(signal){if(validateAbortSignal(signal,\"options.signal\"),signal.aborted)return PromiseReject(new AbortError(void 0,{cause:signal.reason}))}return new Promise((resolve,reject)=>{var cb=resolve;if(options\?.signal){var onAbort=()=>{this[kQuestionCancel](),reject(new AbortError(void 0,{cause:signal.reason}))};signal.addEventListener(\"abort\",onAbort,{once:!0}),cb=(answer)=>{signal.removeEventListener(\"abort\",onAbort),resolve(answer)}}this[kQuestion](query,cb)})}};return $={Interface,clearLine,clearScreenDown,createInterface,cursorTo,emitKeypressEvents,moveCursor,promises:{Readline,Interface:PromisesInterface,createInterface(input,output,completer,terminal){return new PromisesInterface(input,output,completer,terminal)}},[SymbolFor(\"__BUN_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED__\")]:{CSI,utils:{getStringWidth,stripVTControlCharacters}}},$})\n"_s; +static constexpr ASCIILiteral NodeReadlinePromisesCode = "(function (){\"use strict\";return @requireId(26).promises})\n"_s; +static constexpr ASCIILiteral NodeReplCode = "(function (){\"use strict\";var $;const{throwNotImplemented}=@requireId(2);function REPLServer(){throwNotImplemented(\"node:repl REPLServer\")}function Recoverable(){throwNotImplemented(\"node:repl Recoverable\")}var REPL_MODE_SLOPPY=0,REPL_MODE_STRICT=1;function start(){throwNotImplemented(\"node:repl\")}return $={lines:[],context:globalThis,historyIndex:-1,cursor:0,historySize:1000,removeHistoryDuplicates:!1,crlfDelay:100,completer:()=>{throwNotImplemented(\"node:repl\")},history:[],_initialPrompt:\"> \",terminal:!0,input:new Proxy({},{get(){throwNotImplemented(\"node:repl\")},has:()=>!1,ownKeys:()=>[],getOwnPropertyDescriptor:()=>{return},set(){throwNotImplemented(\"node:repl\")}}),line:\"\",eval:()=>{throwNotImplemented(\"node:repl\")},isCompletionEnabled:!0,escapeCodeTimeout:500,tabSize:8,breakEvalOnSigint:!0,useGlobal:!0,underscoreAssigned:!1,last:void 0,_domain:void 0,allowBlockingCompletions:!1,useColors:!0,output:new Proxy({},{get(){throwNotImplemented(\"node:repl\")},has:()=>!1,ownKeys:()=>[],getOwnPropertyDescriptor:()=>{return},set(){throwNotImplemented(\"node:repl\")}})},$})\n"_s; +static constexpr ASCIILiteral NodeStreamConsumersCode = "(function (){\"use strict\";const{readableStreamToArrayBuffer:arrayBuffer,readableStreamToText:text}=Bun,json=(stream)=>Bun.readableStreamToText(stream).then(JSON.parse),buffer=async(readableStream)=>{return new Buffer(await arrayBuffer(readableStream))},blob=Bun.readableStreamToBlob;return{arrayBuffer,text,json,buffer,blob}})\n"_s; +static constexpr ASCIILiteral NodeStreamCode = "(function (){\"use strict\";const{EventEmitter:EE}=globalThis[globalThis.Symbol.for('Bun.lazy')](\"events\"),StringDecoder=@requireBuiltin(53).StringDecoder;var{defineProperty:__defProp,getOwnPropertyDescriptor:__getOwnPropDesc,getOwnPropertyNames:__getOwnPropNames}=Object,__hasOwnProp=Object.prototype.hasOwnProperty,__commonJS=(cb,mod)=>function __require2(){return mod||(0,cb[__getOwnPropNames(cb)[0]])((mod={exports:{}}).exports,mod),mod.exports},__copyProps=(to,from,except,desc)=>{if(from&&typeof from===\"object\"||typeof from===\"function\"){for(let key of __getOwnPropNames(from))if(!__hasOwnProp.call(to,key)&&key!==except)__defProp(to,key,{get:()=>from[key],set:(val)=>from[key]=val,enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable,configurable:!0})}return to},runOnNextTick=process.nextTick;function isReadableStream(value){return typeof value===\"object\"&&value!==null&&value instanceof ReadableStream}function validateBoolean(value,name){if(typeof value!==\"boolean\")throw new ERR_INVALID_ARG_TYPE(name,\"boolean\",value)}const validateObject=(value,name,options=null)=>{const allowArray=options\?.allowArray\?\?!1,allowFunction=options\?.allowFunction\?\?!1;if(!(options\?.nullable\?\?!1)&&value===null||!allowArray&&ArrayIsArray(value)||typeof value!==\"object\"&&(!allowFunction||typeof value!==\"function\"))throw new ERR_INVALID_ARG_TYPE(name,\"Object\",value)};function validateString(value,name){if(typeof value!==\"string\")throw new ERR_INVALID_ARG_TYPE(name,\"string\",value)}var ArrayIsArray=Array.isArray;function ERR_INVALID_ARG_TYPE(name,type,value){return new Error(`The argument '${name}' is invalid. Received '${value}' for type '${type}'`)}function ERR_INVALID_ARG_VALUE(name,value,reason){return new Error(`The value '${value}' is invalid for argument '${name}'. Reason: ${reason}`)}var require_primordials=__commonJS({\"node_modules/readable-stream/lib/ours/primordials.js\"(exports2,module){module.exports={ArrayIsArray(self){return Array.isArray(self)},ArrayPrototypeIncludes(self,el){return self.includes(el)},ArrayPrototypeIndexOf(self,el){return self.indexOf(el)},ArrayPrototypeJoin(self,sep){return self.join(sep)},ArrayPrototypeMap(self,fn){return self.map(fn)},ArrayPrototypePop(self,el){return self.pop(el)},ArrayPrototypePush(self,el){return self.push(el)},ArrayPrototypeSlice(self,start,end){return self.slice(start,end)},Error,FunctionPrototypeCall(fn,thisArgs,...args){return fn.call(thisArgs,...args)},FunctionPrototypeSymbolHasInstance(self,instance){return Function.prototype[Symbol.hasInstance].call(self,instance)},MathFloor:Math.floor,Number,NumberIsInteger:Number.isInteger,NumberIsNaN:Number.isNaN,NumberMAX_SAFE_INTEGER:Number.MAX_SAFE_INTEGER,NumberMIN_SAFE_INTEGER:Number.MIN_SAFE_INTEGER,NumberParseInt:Number.parseInt,ObjectDefineProperties(self,props){return Object.defineProperties(self,props)},ObjectDefineProperty(self,name,prop){return Object.defineProperty(self,name,prop)},ObjectGetOwnPropertyDescriptor(self,name){return Object.getOwnPropertyDescriptor(self,name)},ObjectKeys(obj){return Object.keys(obj)},ObjectSetPrototypeOf(target,proto){return Object.setPrototypeOf(target,proto)},Promise,PromisePrototypeCatch(self,fn){return self.catch(fn)},PromisePrototypeThen(self,thenFn,catchFn){return self.then(thenFn,catchFn)},PromiseReject(err){return Promise.reject(err)},ReflectApply:Reflect.apply,RegExpPrototypeTest(self,value){return self.test(value)},SafeSet:Set,String,StringPrototypeSlice(self,start,end){return self.slice(start,end)},StringPrototypeToLowerCase(self){return self.toLowerCase()},StringPrototypeToUpperCase(self){return self.toUpperCase()},StringPrototypeTrim(self){return self.trim()},Symbol,SymbolAsyncIterator:Symbol.asyncIterator,SymbolHasInstance:Symbol.hasInstance,SymbolIterator:Symbol.iterator,TypedArrayPrototypeSet(self,buf,len){return self.set(buf,len)},Uint8Array}}}),require_util=__commonJS({\"node_modules/readable-stream/lib/ours/util.js\"(exports2,module){var AsyncFunction=Object.getPrototypeOf(async function(){}).constructor,isBlob=typeof Blob!==\"undefined\"\?function isBlob2(b){return b instanceof Blob}:function isBlob2(b){return!1},AggregateError=class extends Error{constructor(errors){if(!Array.isArray(errors))@throwTypeError(`Expected input to be an Array, got ${typeof errors}`);let message=\"\";for(let i=0;i{resolve=res,reject=rej}),resolve,reject}},promisify(fn){return new Promise((resolve,reject)=>{fn((err,...args)=>{if(err)return reject(err);return resolve(...args)})})},debuglog(){return function(){}},format(format,...args){return format.replace(/%([sdifj])/g,function(...[_unused,type]){const replacement=args.shift();if(type===\"f\")return replacement.toFixed(6);else if(type===\"j\")return JSON.stringify(replacement);else if(type===\"s\"&&typeof replacement===\"object\")return`${replacement.constructor!==Object\?replacement.constructor.name:\"\"} {}`.trim();else return replacement.toString()})},inspect(value){switch(typeof value){case\"string\":if(value.includes(\"'\")){if(!value.includes('\"'))return`\"${value}\"`;else if(!value.includes(\"`\")&&!value.includes(\"${\"))return`\\`${value}\\``}return`'${value}'`;case\"number\":if(isNaN(value))return\"NaN\";else if(Object.is(value,-0))return String(value);return value;case\"bigint\":return`${String(value)}n`;case\"boolean\":case\"undefined\":return String(value);case\"object\":return\"{}\"}},types:{isAsyncFunction(fn){return fn instanceof AsyncFunction},isArrayBufferView(arr){return ArrayBuffer.isView(arr)}},isBlob},module.exports.promisify.custom=Symbol.for(\"nodejs.util.promisify.custom\")}}),require_errors=__commonJS({\"node_modules/readable-stream/lib/ours/errors.js\"(exports2,module){var{format,inspect,AggregateError:CustomAggregateError}=require_util(),AggregateError=globalThis.AggregateError||CustomAggregateError,kIsNodeError=Symbol(\"kIsNodeError\"),kTypes=[\"string\",\"function\",\"number\",\"object\",\"Function\",\"Object\",\"boolean\",\"bigint\",\"symbol\"],classRegExp=/^([A-Z][a-z0-9]*)+$/,nodeInternalPrefix=\"__node_internal_\",codes={};function assert(value,message){if(!value)throw new codes.ERR_INTERNAL_ASSERTION(message)}function addNumericalSeparator(val){let res=\"\",i=val.length;const start=val[0]===\"-\"\?1:0;for(;i>=start+4;i-=3)res=`_${val.slice(i-3,i)}${res}`;return`${val.slice(0,i)}${res}`}function getMessage(key,msg,args){if(typeof msg===\"function\")return assert(msg.length<=args.length,`Code: ${key}; The provided arguments length (${args.length}) does not match the required ones (${msg.length}).`),msg(...args);const expectedLength=(msg.match(/%[dfijoOs]/g)||[]).length;if(assert(expectedLength===args.length,`Code: ${key}; The provided arguments length (${args.length}) does not match the required ones (${expectedLength}).`),args.length===0)return msg;return format(msg,...args)}function E(code,message,Base){if(!Base)Base=Error;class NodeError extends Base{constructor(...args){super(getMessage(code,message,args))}toString(){return`${this.name} [${code}]: ${this.message}`}}Object.defineProperties(NodeError.prototype,{name:{value:Base.name,writable:!0,enumerable:!1,configurable:!0},toString:{value(){return`${this.name} [${code}]: ${this.message}`},writable:!0,enumerable:!1,configurable:!0}}),NodeError.prototype.code=code,NodeError.prototype[kIsNodeError]=!0,codes[code]=NodeError}function hideStackFrames(fn){const hidden=nodeInternalPrefix+fn.name;return Object.defineProperty(fn,\"name\",{value:hidden}),fn}function aggregateTwoErrors(innerError,outerError){if(innerError&&outerError&&innerError!==outerError){if(Array.isArray(outerError.errors))return outerError.errors.push(innerError),outerError;const err=new AggregateError([outerError,innerError],outerError.message);return err.code=outerError.code,err}return innerError||outerError}var AbortError=class extends Error{constructor(message=\"The operation was aborted\",options=void 0){if(options!==void 0&&typeof options!==\"object\")throw new codes.ERR_INVALID_ARG_TYPE(\"options\",\"Object\",options);super(message,options);this.code=\"ABORT_ERR\",this.name=\"AbortError\"}};E(\"ERR_ASSERTION\",\"%s\",Error),E(\"ERR_INVALID_ARG_TYPE\",(name,expected,actual)=>{if(assert(typeof name===\"string\",\"'name' must be a string\"),!Array.isArray(expected))expected=[expected];let msg=\"The \";if(name.endsWith(\" argument\"))msg+=`${name} `;else msg+=`\"${name}\" ${name.includes(\".\")\?\"property\":\"argument\"} `;msg+=\"must be \";const types=[],instances=[],other=[];for(let value of expected)if(assert(typeof value===\"string\",\"All expected entries have to be of type string\"),kTypes.includes(value))types.push(value.toLowerCase());else if(classRegExp.test(value))instances.push(value);else assert(value!==\"object\",'The value \"object\" should be written as \"Object\"'),other.push(value);if(instances.length>0){const pos=types.indexOf(\"object\");if(pos!==-1)types.splice(types,pos,1),instances.push(\"Object\")}if(types.length>0){switch(types.length){case 1:msg+=`of type ${types[0]}`;break;case 2:msg+=`one of type ${types[0]} or ${types[1]}`;break;default:{const last=types.pop();msg+=`one of type ${types.join(\", \")}, or ${last}`}}if(instances.length>0||other.length>0)msg+=\" or \"}if(instances.length>0){switch(instances.length){case 1:msg+=`an instance of ${instances[0]}`;break;case 2:msg+=`an instance of ${instances[0]} or ${instances[1]}`;break;default:{const last=instances.pop();msg+=`an instance of ${instances.join(\", \")}, or ${last}`}}if(other.length>0)msg+=\" or \"}switch(other.length){case 0:break;case 1:if(other[0].toLowerCase()!==other[0])msg+=\"an \";msg+=`${other[0]}`;break;case 2:msg+=`one of ${other[0]} or ${other[1]}`;break;default:{const last=other.pop();msg+=`one of ${other.join(\", \")}, or ${last}`}}if(actual==null)msg+=`. Received ${actual}`;else if(typeof actual===\"function\"&&actual.name)msg+=`. Received function ${actual.name}`;else if(typeof actual===\"object\"){var _actual$constructor;if((_actual$constructor=actual.constructor)!==null&&_actual$constructor!==void 0&&_actual$constructor.name)msg+=`. Received an instance of ${actual.constructor.name}`;else{const inspected=inspect(actual,{depth:-1});msg+=`. Received ${inspected}`}}else{let inspected=inspect(actual,{colors:!1});if(inspected.length>25)inspected=`${inspected.slice(0,25)}...`;msg+=`. Received type ${typeof actual} (${inspected})`}return msg},TypeError),E(\"ERR_INVALID_ARG_VALUE\",(name,value,reason=\"is invalid\")=>{let inspected=inspect(value);if(inspected.length>128)inspected=inspected.slice(0,128)+\"...\";return`The ${name.includes(\".\")\?\"property\":\"argument\"} '${name}' ${reason}. Received ${inspected}`},TypeError),E(\"ERR_INVALID_RETURN_VALUE\",(input,name,value)=>{var _value$constructor;const type=value!==null&&value!==void 0&&(_value$constructor=value.constructor)!==null&&_value$constructor!==void 0&&_value$constructor.name\?`instance of ${value.constructor.name}`:`type ${typeof value}`;return`Expected ${input} to be returned from the \"${name}\" function but got ${type}.`},TypeError),E(\"ERR_MISSING_ARGS\",(...args)=>{assert(args.length>0,\"At least one arg needs to be specified\");let msg;const len=args.length;switch(args=(Array.isArray(args)\?args:[args]).map((a)=>`\"${a}\"`).join(\" or \"),len){case 1:msg+=`The ${args[0]} argument`;break;case 2:msg+=`The ${args[0]} and ${args[1]} arguments`;break;default:{const last=args.pop();msg+=`The ${args.join(\", \")}, and ${last} arguments`}break}return`${msg} must be specified`},TypeError),E(\"ERR_OUT_OF_RANGE\",(str,range,input)=>{assert(range,'Missing \"range\" argument');let received;if(Number.isInteger(input)&&Math.abs(input)>4294967296)received=addNumericalSeparator(String(input));else if(typeof input===\"bigint\"){if(received=String(input),input>2n**32n||input<-(2n**32n))received=addNumericalSeparator(received);received+=\"n\"}else received=inspect(input);return`The value of \"${str}\" is out of range. It must be ${range}. Received ${received}`},RangeError),E(\"ERR_MULTIPLE_CALLBACK\",\"Callback called multiple times\",Error),E(\"ERR_METHOD_NOT_IMPLEMENTED\",\"The %s method is not implemented\",Error),E(\"ERR_STREAM_ALREADY_FINISHED\",\"Cannot call %s after a stream was finished\",Error),E(\"ERR_STREAM_CANNOT_PIPE\",\"Cannot pipe, not readable\",Error),E(\"ERR_STREAM_DESTROYED\",\"Cannot call %s after a stream was destroyed\",Error),E(\"ERR_STREAM_NULL_VALUES\",\"May not write null values to stream\",TypeError),E(\"ERR_STREAM_PREMATURE_CLOSE\",\"Premature close\",Error),E(\"ERR_STREAM_PUSH_AFTER_EOF\",\"stream.push() after EOF\",Error),E(\"ERR_STREAM_UNSHIFT_AFTER_END_EVENT\",\"stream.unshift() after end event\",Error),E(\"ERR_STREAM_WRITE_AFTER_END\",\"write after end\",Error),E(\"ERR_UNKNOWN_ENCODING\",\"Unknown encoding: %s\",TypeError),module.exports={AbortError,aggregateTwoErrors:hideStackFrames(aggregateTwoErrors),hideStackFrames,codes}}}),require_validators=__commonJS({\"node_modules/readable-stream/lib/internal/validators.js\"(exports2,module){var{ArrayIsArray:ArrayIsArray2,ArrayPrototypeIncludes,ArrayPrototypeJoin,ArrayPrototypeMap,NumberIsInteger,NumberMAX_SAFE_INTEGER,NumberMIN_SAFE_INTEGER,NumberParseInt,RegExpPrototypeTest,String:String2,StringPrototypeToUpperCase,StringPrototypeTrim}=require_primordials(),{hideStackFrames,codes:{ERR_SOCKET_BAD_PORT,ERR_INVALID_ARG_TYPE:ERR_INVALID_ARG_TYPE2,ERR_INVALID_ARG_VALUE:ERR_INVALID_ARG_VALUE2,ERR_OUT_OF_RANGE,ERR_UNKNOWN_SIGNAL}}=require_errors(),{normalizeEncoding}=require_util(),{isAsyncFunction,isArrayBufferView}=require_util().types,signals={};function isInt32(value){return value===(value|0)}function isUint32(value){return value===value>>>0}var octalReg=/^[0-7]+$/,modeDesc=\"must be a 32-bit unsigned integer or an octal string\";function parseFileMode(value,name,def){if(typeof value===\"undefined\")value=def;if(typeof value===\"string\"){if(!RegExpPrototypeTest(octalReg,value))throw new ERR_INVALID_ARG_VALUE2(name,value,modeDesc);value=NumberParseInt(value,8)}return validateInt32(value,name,0,4294967295),value}var validateInteger=hideStackFrames((value,name,min=NumberMIN_SAFE_INTEGER,max=NumberMAX_SAFE_INTEGER)=>{if(typeof value!==\"number\")throw new ERR_INVALID_ARG_TYPE2(name,\"number\",value);if(!NumberIsInteger(value))throw new ERR_OUT_OF_RANGE(name,\"an integer\",value);if(valuemax)throw new ERR_OUT_OF_RANGE(name,`>= ${min} && <= ${max}`,value)}),validateInt32=hideStackFrames((value,name,min=-2147483648,max=2147483647)=>{if(typeof value!==\"number\")throw new ERR_INVALID_ARG_TYPE2(name,\"number\",value);if(!isInt32(value)){if(!NumberIsInteger(value))throw new ERR_OUT_OF_RANGE(name,\"an integer\",value);throw new ERR_OUT_OF_RANGE(name,`>= ${min} && <= ${max}`,value)}if(valuemax)throw new ERR_OUT_OF_RANGE(name,`>= ${min} && <= ${max}`,value)}),validateUint32=hideStackFrames((value,name,positive)=>{if(typeof value!==\"number\")throw new ERR_INVALID_ARG_TYPE2(name,\"number\",value);if(!isUint32(value)){if(!NumberIsInteger(value))throw new ERR_OUT_OF_RANGE(name,\"an integer\",value);throw new ERR_OUT_OF_RANGE(name,`>= ${positive\?1:0} && < 4294967296`,value)}if(positive&&value===0)throw new ERR_OUT_OF_RANGE(name,\">= 1 && < 4294967296\",value)});function validateString2(value,name){if(typeof value!==\"string\")throw new ERR_INVALID_ARG_TYPE2(name,\"string\",value)}function validateNumber(value,name){if(typeof value!==\"number\")throw new ERR_INVALID_ARG_TYPE2(name,\"number\",value)}var validateOneOf=hideStackFrames((value,name,oneOf)=>{if(!ArrayPrototypeIncludes(oneOf,value)){const reason=\"must be one of: \"+ArrayPrototypeJoin(ArrayPrototypeMap(oneOf,(v)=>typeof v===\"string\"\?`'${v}'`:String2(v)),\", \");throw new ERR_INVALID_ARG_VALUE2(name,value,reason)}});function validateBoolean2(value,name){if(typeof value!==\"boolean\")throw new ERR_INVALID_ARG_TYPE2(name,\"boolean\",value)}var validateObject2=hideStackFrames((value,name,options)=>{const useDefaultOptions=options==null,allowArray=useDefaultOptions\?!1:options.allowArray,allowFunction=useDefaultOptions\?!1:options.allowFunction;if(!(useDefaultOptions\?!1:options.nullable)&&value===null||!allowArray&&ArrayIsArray2(value)||typeof value!==\"object\"&&(!allowFunction||typeof value!==\"function\"))throw new ERR_INVALID_ARG_TYPE2(name,\"Object\",value)}),validateArray=hideStackFrames((value,name,minLength=0)=>{if(!ArrayIsArray2(value))throw new ERR_INVALID_ARG_TYPE2(name,\"Array\",value);if(value.length{if(!isArrayBufferView(buffer))throw new ERR_INVALID_ARG_TYPE2(name,[\"Buffer\",\"TypedArray\",\"DataView\"],buffer)});function validateEncoding(data,encoding){const normalizedEncoding=normalizeEncoding(encoding),length=data.length;if(normalizedEncoding===\"hex\"&&length%2!==0)throw new ERR_INVALID_ARG_VALUE2(\"encoding\",encoding,`is invalid for data of length ${length}`)}function validatePort(port,name=\"Port\",allowZero=!0){if(typeof port!==\"number\"&&typeof port!==\"string\"||typeof port===\"string\"&&StringPrototypeTrim(port).length===0||+port!==+port>>>0||port>65535||port===0&&!allowZero)throw new ERR_SOCKET_BAD_PORT(name,port,allowZero);return port|0}var validateAbortSignal=hideStackFrames((signal,name)=>{if(signal!==void 0&&(signal===null||typeof signal!==\"object\"||!(\"aborted\"in signal)))throw new ERR_INVALID_ARG_TYPE2(name,\"AbortSignal\",signal)}),validateFunction=hideStackFrames((value,name)=>{if(typeof value!==\"function\")throw new ERR_INVALID_ARG_TYPE2(name,\"Function\",value)}),validatePlainFunction=hideStackFrames((value,name)=>{if(typeof value!==\"function\"||isAsyncFunction(value))throw new ERR_INVALID_ARG_TYPE2(name,\"Function\",value)}),validateUndefined=hideStackFrames((value,name)=>{if(value!==void 0)throw new ERR_INVALID_ARG_TYPE2(name,\"undefined\",value)});module.exports={isInt32,isUint32,parseFileMode,validateArray,validateBoolean:validateBoolean2,validateBuffer,validateEncoding,validateFunction,validateInt32,validateInteger,validateNumber,validateObject:validateObject2,validateOneOf,validatePlainFunction,validatePort,validateSignalName,validateString:validateString2,validateUint32,validateUndefined,validateAbortSignal}}}),require_utils=__commonJS({\"node_modules/readable-stream/lib/internal/streams/utils.js\"(exports2,module){var{Symbol:Symbol2,SymbolAsyncIterator,SymbolIterator}=require_primordials(),kDestroyed=Symbol2(\"kDestroyed\"),kIsErrored=Symbol2(\"kIsErrored\"),kIsReadable=Symbol2(\"kIsReadable\"),kIsDisturbed=Symbol2(\"kIsDisturbed\");function isReadableNodeStream(obj,strict=!1){var _obj$_readableState;return!!(obj&&typeof obj.pipe===\"function\"&&typeof obj.on===\"function\"&&(!strict||typeof obj.pause===\"function\"&&typeof obj.resume===\"function\")&&(!obj._writableState||((_obj$_readableState=obj._readableState)===null||_obj$_readableState===void 0\?void 0:_obj$_readableState.readable)!==!1)&&(!obj._writableState||obj._readableState))}function isWritableNodeStream(obj){var _obj$_writableState;return!!(obj&&typeof obj.write===\"function\"&&typeof obj.on===\"function\"&&(!obj._readableState||((_obj$_writableState=obj._writableState)===null||_obj$_writableState===void 0\?void 0:_obj$_writableState.writable)!==!1))}function isDuplexNodeStream(obj){return!!(obj&&typeof obj.pipe===\"function\"&&obj._readableState&&typeof obj.on===\"function\"&&typeof obj.write===\"function\")}function isNodeStream(obj){return obj&&(obj._readableState||obj._writableState||typeof obj.write===\"function\"&&typeof obj.on===\"function\"||typeof obj.pipe===\"function\"&&typeof obj.on===\"function\")}function isIterable(obj,isAsync){if(obj==null)return!1;if(isAsync===!0)return typeof obj[SymbolAsyncIterator]===\"function\";if(isAsync===!1)return typeof obj[SymbolIterator]===\"function\";return typeof obj[SymbolAsyncIterator]===\"function\"||typeof obj[SymbolIterator]===\"function\"}function isDestroyed(stream){if(!isNodeStream(stream))return null;const{_writableState:wState,_readableState:rState}=stream,state=wState||rState;return!!(stream.destroyed||stream[kDestroyed]||state!==null&&state!==void 0&&state.destroyed)}function isWritableEnded(stream){if(!isWritableNodeStream(stream))return null;if(stream.writableEnded===!0)return!0;const wState=stream._writableState;if(wState!==null&&wState!==void 0&&wState.errored)return!1;if(typeof(wState===null||wState===void 0\?void 0:wState.ended)!==\"boolean\")return null;return wState.ended}function isWritableFinished(stream,strict){if(!isWritableNodeStream(stream))return null;if(stream.writableFinished===!0)return!0;const wState=stream._writableState;if(wState!==null&&wState!==void 0&&wState.errored)return!1;if(typeof(wState===null||wState===void 0\?void 0:wState.finished)!==\"boolean\")return null;return!!(wState.finished||strict===!1&&wState.ended===!0&&wState.length===0)}function isReadableEnded(stream){if(!isReadableNodeStream(stream))return null;if(stream.readableEnded===!0)return!0;const rState=stream._readableState;if(!rState||rState.errored)return!1;if(typeof(rState===null||rState===void 0\?void 0:rState.ended)!==\"boolean\")return null;return rState.ended}function isReadableFinished(stream,strict){if(!isReadableNodeStream(stream))return null;const rState=stream._readableState;if(rState!==null&&rState!==void 0&&rState.errored)return!1;if(typeof(rState===null||rState===void 0\?void 0:rState.endEmitted)!==\"boolean\")return null;return!!(rState.endEmitted||strict===!1&&rState.ended===!0&&rState.length===0)}function isReadable(stream){if(stream&&stream[kIsReadable]!=null)return stream[kIsReadable];if(typeof(stream===null||stream===void 0\?void 0:stream.readable)!==\"boolean\")return null;if(isDestroyed(stream))return!1;return isReadableNodeStream(stream)&&stream.readable&&!isReadableFinished(stream)}function isWritable(stream){if(typeof(stream===null||stream===void 0\?void 0:stream.writable)!==\"boolean\")return null;if(isDestroyed(stream))return!1;return isWritableNodeStream(stream)&&stream.writable&&!isWritableEnded(stream)}function isFinished(stream,opts){if(!isNodeStream(stream))return null;if(isDestroyed(stream))return!0;if((opts===null||opts===void 0\?void 0:opts.readable)!==!1&&isReadable(stream))return!1;if((opts===null||opts===void 0\?void 0:opts.writable)!==!1&&isWritable(stream))return!1;return!0}function isWritableErrored(stream){var _stream$_writableStat,_stream$_writableStat2;if(!isNodeStream(stream))return null;if(stream.writableErrored)return stream.writableErrored;return(_stream$_writableStat=(_stream$_writableStat2=stream._writableState)===null||_stream$_writableStat2===void 0\?void 0:_stream$_writableStat2.errored)!==null&&_stream$_writableStat!==void 0\?_stream$_writableStat:null}function isReadableErrored(stream){var _stream$_readableStat,_stream$_readableStat2;if(!isNodeStream(stream))return null;if(stream.readableErrored)return stream.readableErrored;return(_stream$_readableStat=(_stream$_readableStat2=stream._readableState)===null||_stream$_readableStat2===void 0\?void 0:_stream$_readableStat2.errored)!==null&&_stream$_readableStat!==void 0\?_stream$_readableStat:null}function isClosed(stream){if(!isNodeStream(stream))return null;if(typeof stream.closed===\"boolean\")return stream.closed;const{_writableState:wState,_readableState:rState}=stream;if(typeof(wState===null||wState===void 0\?void 0:wState.closed)===\"boolean\"||typeof(rState===null||rState===void 0\?void 0:rState.closed)===\"boolean\")return(wState===null||wState===void 0\?void 0:wState.closed)||(rState===null||rState===void 0\?void 0:rState.closed);if(typeof stream._closed===\"boolean\"&&isOutgoingMessage(stream))return stream._closed;return null}function isOutgoingMessage(stream){return typeof stream._closed===\"boolean\"&&typeof stream._defaultKeepAlive===\"boolean\"&&typeof stream._removedConnection===\"boolean\"&&typeof stream._removedContLen===\"boolean\"}function isServerResponse(stream){return typeof stream._sent100===\"boolean\"&&isOutgoingMessage(stream)}function isServerRequest(stream){var _stream$req;return typeof stream._consuming===\"boolean\"&&typeof stream._dumped===\"boolean\"&&((_stream$req=stream.req)===null||_stream$req===void 0\?void 0:_stream$req.upgradeOrConnect)===void 0}function willEmitClose(stream){if(!isNodeStream(stream))return null;const{_writableState:wState,_readableState:rState}=stream,state=wState||rState;return!state&&isServerResponse(stream)||!!(state&&state.autoDestroy&&state.emitClose&&state.closed===!1)}function isDisturbed(stream){var _stream$kIsDisturbed;return!!(stream&&((_stream$kIsDisturbed=stream[kIsDisturbed])!==null&&_stream$kIsDisturbed!==void 0\?_stream$kIsDisturbed:stream.readableDidRead||stream.readableAborted))}function isErrored(stream){var _ref,_ref2,_ref3,_ref4,_ref5,_stream$kIsErrored,_stream$_readableStat3,_stream$_writableStat3,_stream$_readableStat4,_stream$_writableStat4;return!!(stream&&((_ref=(_ref2=(_ref3=(_ref4=(_ref5=(_stream$kIsErrored=stream[kIsErrored])!==null&&_stream$kIsErrored!==void 0\?_stream$kIsErrored:stream.readableErrored)!==null&&_ref5!==void 0\?_ref5:stream.writableErrored)!==null&&_ref4!==void 0\?_ref4:(_stream$_readableStat3=stream._readableState)===null||_stream$_readableStat3===void 0\?void 0:_stream$_readableStat3.errorEmitted)!==null&&_ref3!==void 0\?_ref3:(_stream$_writableStat3=stream._writableState)===null||_stream$_writableStat3===void 0\?void 0:_stream$_writableStat3.errorEmitted)!==null&&_ref2!==void 0\?_ref2:(_stream$_readableStat4=stream._readableState)===null||_stream$_readableStat4===void 0\?void 0:_stream$_readableStat4.errored)!==null&&_ref!==void 0\?_ref:(_stream$_writableStat4=stream._writableState)===null||_stream$_writableStat4===void 0\?void 0:_stream$_writableStat4.errored))}module.exports={kDestroyed,isDisturbed,kIsDisturbed,isErrored,kIsErrored,isReadable,kIsReadable,isClosed,isDestroyed,isDuplexNodeStream,isFinished,isIterable,isReadableNodeStream,isReadableEnded,isReadableFinished,isReadableErrored,isNodeStream,isWritable,isWritableNodeStream,isWritableEnded,isWritableFinished,isWritableErrored,isServerRequest,isServerResponse,willEmitClose}}}),require_end_of_stream=__commonJS({\"node_modules/readable-stream/lib/internal/streams/end-of-stream.js\"(exports2,module){var{AbortError,codes}=require_errors(),{ERR_INVALID_ARG_TYPE:ERR_INVALID_ARG_TYPE2,ERR_STREAM_PREMATURE_CLOSE}=codes,{once}=require_util(),{validateAbortSignal,validateFunction,validateObject:validateObject2}=require_validators(),{Promise:Promise2}=require_primordials(),{isClosed,isReadable,isReadableNodeStream,isReadableFinished,isReadableErrored,isWritable,isWritableNodeStream,isWritableFinished,isWritableErrored,isNodeStream,willEmitClose:_willEmitClose}=require_utils();function isRequest(stream){return stream.setHeader&&typeof stream.abort===\"function\"}var nop=()=>{};function eos(stream,options,callback){var _options$readable,_options$writable;if(arguments.length===2)callback=options,options={};else if(options==null)options={};else validateObject2(options,\"options\");validateFunction(callback,\"callback\"),validateAbortSignal(options.signal,\"options.signal\"),callback=once(callback);const readable=(_options$readable=options.readable)!==null&&_options$readable!==void 0\?_options$readable:isReadableNodeStream(stream),writable=(_options$writable=options.writable)!==null&&_options$writable!==void 0\?_options$writable:isWritableNodeStream(stream);if(!isNodeStream(stream))throw new ERR_INVALID_ARG_TYPE2(\"stream\",\"Stream\",stream);const{_writableState:wState,_readableState:rState}=stream,onlegacyfinish=()=>{if(!stream.writable)onfinish()};let willEmitClose=_willEmitClose(stream)&&isReadableNodeStream(stream)===readable&&isWritableNodeStream(stream)===writable,writableFinished=isWritableFinished(stream,!1);const onfinish=()=>{if(writableFinished=!0,stream.destroyed)willEmitClose=!1;if(willEmitClose&&(!stream.readable||readable))return;if(!readable||readableFinished)callback.call(stream)};let readableFinished=isReadableFinished(stream,!1);const onend=()=>{if(readableFinished=!0,stream.destroyed)willEmitClose=!1;if(willEmitClose&&(!stream.writable||writable))return;if(!writable||writableFinished)callback.call(stream)},onerror=(err)=>{callback.call(stream,err)};let closed=isClosed(stream);const onclose=()=>{closed=!0;const errored=isWritableErrored(stream)||isReadableErrored(stream);if(errored&&typeof errored!==\"boolean\")return callback.call(stream,errored);if(readable&&!readableFinished&&isReadableNodeStream(stream,!0)){if(!isReadableFinished(stream,!1))return callback.call(stream,new ERR_STREAM_PREMATURE_CLOSE)}if(writable&&!writableFinished){if(!isWritableFinished(stream,!1))return callback.call(stream,new ERR_STREAM_PREMATURE_CLOSE)}callback.call(stream)},onrequest=()=>{stream.req.on(\"finish\",onfinish)};if(isRequest(stream)){if(stream.on(\"complete\",onfinish),!willEmitClose)stream.on(\"abort\",onclose);if(stream.req)onrequest();else stream.on(\"request\",onrequest)}else if(writable&&!wState)stream.on(\"end\",onlegacyfinish),stream.on(\"close\",onlegacyfinish);if(!willEmitClose&&typeof stream.aborted===\"boolean\")stream.on(\"aborted\",onclose);if(stream.on(\"end\",onend),stream.on(\"finish\",onfinish),options.error!==!1)stream.on(\"error\",onerror);if(stream.on(\"close\",onclose),closed)runOnNextTick(onclose);else if(wState!==null&&wState!==void 0&&wState.errorEmitted||rState!==null&&rState!==void 0&&rState.errorEmitted){if(!willEmitClose)runOnNextTick(onclose)}else if(!readable&&(!willEmitClose||isReadable(stream))&&(writableFinished||isWritable(stream)===!1))runOnNextTick(onclose);else if(!writable&&(!willEmitClose||isWritable(stream))&&(readableFinished||isReadable(stream)===!1))runOnNextTick(onclose);else if(rState&&stream.req&&stream.aborted)runOnNextTick(onclose);const cleanup=()=>{if(callback=nop,stream.removeListener(\"aborted\",onclose),stream.removeListener(\"complete\",onfinish),stream.removeListener(\"abort\",onclose),stream.removeListener(\"request\",onrequest),stream.req)stream.req.removeListener(\"finish\",onfinish);stream.removeListener(\"end\",onlegacyfinish),stream.removeListener(\"close\",onlegacyfinish),stream.removeListener(\"finish\",onfinish),stream.removeListener(\"end\",onend),stream.removeListener(\"error\",onerror),stream.removeListener(\"close\",onclose)};if(options.signal&&!closed){const abort=()=>{const endCallback=callback;cleanup(),endCallback.call(stream,new AbortError(void 0,{cause:options.signal.reason}))};if(options.signal.aborted)runOnNextTick(abort);else{const originalCallback=callback;callback=once((...args)=>{options.signal.removeEventListener(\"abort\",abort),originalCallback.apply(stream,args)}),options.signal.addEventListener(\"abort\",abort)}}return cleanup}function finished(stream,opts){return new Promise2((resolve,reject)=>{eos(stream,opts,(err)=>{if(err)reject(err);else resolve()})})}module.exports=eos,module.exports.finished=finished}}),require_operators=__commonJS({\"node_modules/readable-stream/lib/internal/streams/operators.js\"(exports2,module){var{codes:{ERR_INVALID_ARG_TYPE:ERR_INVALID_ARG_TYPE2,ERR_MISSING_ARGS,ERR_OUT_OF_RANGE},AbortError}=require_errors(),{validateAbortSignal,validateInteger,validateObject:validateObject2}=require_validators(),kWeakHandler=require_primordials().Symbol(\"kWeak\"),{finished}=require_end_of_stream(),{ArrayPrototypePush,MathFloor,Number:Number2,NumberIsNaN,Promise:Promise2,PromiseReject,PromisePrototypeCatch,Symbol:Symbol2}=require_primordials(),kEmpty=Symbol2(\"kEmpty\"),kEof=Symbol2(\"kEof\");function map(fn,options){if(typeof fn!==\"function\")throw new ERR_INVALID_ARG_TYPE2(\"fn\",[\"Function\",\"AsyncFunction\"],fn);if(options!=null)validateObject2(options,\"options\");if((options===null||options===void 0\?void 0:options.signal)!=null)validateAbortSignal(options.signal,\"options.signal\");let concurrency=1;if((options===null||options===void 0\?void 0:options.concurrency)!=null)concurrency=MathFloor(options.concurrency);return validateInteger(concurrency,\"concurrency\",1),async function*map2(){var _options$signal,_options$signal2;const ac=new AbortController,stream=this,queue=[],signal=ac.signal,signalOpt={signal},abort=()=>ac.abort();if(options!==null&&options!==void 0&&(_options$signal=options.signal)!==null&&_options$signal!==void 0&&_options$signal.aborted)abort();options===null||options===void 0||(_options$signal2=options.signal)===null||_options$signal2===void 0||_options$signal2.addEventListener(\"abort\",abort);let next,resume,done=!1;function onDone(){done=!0}async function pump(){try{for await(let val of stream){var _val;if(done)return;if(signal.aborted)throw new AbortError;try{val=fn(val,signalOpt)}catch(err){val=PromiseReject(err)}if(val===kEmpty)continue;if(typeof((_val=val)===null||_val===void 0\?void 0:_val.catch)===\"function\")val.catch(onDone);if(queue.push(val),next)next(),next=null;if(!done&&queue.length&&queue.length>=concurrency)await new Promise2((resolve)=>{resume=resolve})}queue.push(kEof)}catch(err){const val=PromiseReject(err);PromisePrototypeCatch(val,onDone),queue.push(val)}finally{var _options$signal3;if(done=!0,next)next(),next=null;options===null||options===void 0||(_options$signal3=options.signal)===null||_options$signal3===void 0||_options$signal3.removeEventListener(\"abort\",abort)}}pump();try{while(!0){while(queue.length>0){const val=await queue[0];if(val===kEof)return;if(signal.aborted)throw new AbortError;if(val!==kEmpty)yield val;if(queue.shift(),resume)resume(),resume=null}await new Promise2((resolve)=>{next=resolve})}}finally{if(ac.abort(),done=!0,resume)resume(),resume=null}}.call(this)}function asIndexedPairs(options=void 0){if(options!=null)validateObject2(options,\"options\");if((options===null||options===void 0\?void 0:options.signal)!=null)validateAbortSignal(options.signal,\"options.signal\");return async function*asIndexedPairs2(){let index=0;for await(let val of this){var _options$signal4;if(options!==null&&options!==void 0&&(_options$signal4=options.signal)!==null&&_options$signal4!==void 0&&_options$signal4.aborted)throw new AbortError({cause:options.signal.reason});yield[index++,val]}}.call(this)}async function some(fn,options=void 0){for await(let unused of filter.call(this,fn,options))return!0;return!1}async function every(fn,options=void 0){if(typeof fn!==\"function\")throw new ERR_INVALID_ARG_TYPE2(\"fn\",[\"Function\",\"AsyncFunction\"],fn);return!await some.call(this,async(...args)=>{return!await fn(...args)},options)}async function find(fn,options){for await(let result of filter.call(this,fn,options))return result;return}async function forEach(fn,options){if(typeof fn!==\"function\")throw new ERR_INVALID_ARG_TYPE2(\"fn\",[\"Function\",\"AsyncFunction\"],fn);async function forEachFn(value,options2){return await fn(value,options2),kEmpty}for await(let unused of map.call(this,forEachFn,options));}function filter(fn,options){if(typeof fn!==\"function\")throw new ERR_INVALID_ARG_TYPE2(\"fn\",[\"Function\",\"AsyncFunction\"],fn);async function filterFn(value,options2){if(await fn(value,options2))return value;return kEmpty}return map.call(this,filterFn,options)}var ReduceAwareErrMissingArgs=class extends ERR_MISSING_ARGS{constructor(){super(\"reduce\");this.message=\"Reduce of an empty stream requires an initial value\"}};async function reduce(reducer,initialValue,options){var _options$signal5;if(typeof reducer!==\"function\")throw new ERR_INVALID_ARG_TYPE2(\"reducer\",[\"Function\",\"AsyncFunction\"],reducer);if(options!=null)validateObject2(options,\"options\");if((options===null||options===void 0\?void 0:options.signal)!=null)validateAbortSignal(options.signal,\"options.signal\");let hasInitialValue=arguments.length>1;if(options!==null&&options!==void 0&&(_options$signal5=options.signal)!==null&&_options$signal5!==void 0&&_options$signal5.aborted){const err=new AbortError(void 0,{cause:options.signal.reason});throw this.once(\"error\",()=>{}),await finished(this.destroy(err)),err}const ac=new AbortController,signal=ac.signal;if(options!==null&&options!==void 0&&options.signal){const opts={once:!0,[kWeakHandler]:this};options.signal.addEventListener(\"abort\",()=>ac.abort(),opts)}let gotAnyItemFromStream=!1;try{for await(let value of this){var _options$signal6;if(gotAnyItemFromStream=!0,options!==null&&options!==void 0&&(_options$signal6=options.signal)!==null&&_options$signal6!==void 0&&_options$signal6.aborted)throw new AbortError;if(!hasInitialValue)initialValue=value,hasInitialValue=!0;else initialValue=await reducer(initialValue,value,{signal})}if(!gotAnyItemFromStream&&!hasInitialValue)throw new ReduceAwareErrMissingArgs}finally{ac.abort()}return initialValue}async function toArray(options){if(options!=null)validateObject2(options,\"options\");if((options===null||options===void 0\?void 0:options.signal)!=null)validateAbortSignal(options.signal,\"options.signal\");const result=[];for await(let val of this){var _options$signal7;if(options!==null&&options!==void 0&&(_options$signal7=options.signal)!==null&&_options$signal7!==void 0&&_options$signal7.aborted)throw new AbortError(void 0,{cause:options.signal.reason});ArrayPrototypePush(result,val)}return result}function flatMap(fn,options){const values=map.call(this,fn,options);return async function*flatMap2(){for await(let val of values)yield*val}.call(this)}function toIntegerOrInfinity(number){if(number=Number2(number),NumberIsNaN(number))return 0;if(number<0)throw new ERR_OUT_OF_RANGE(\"number\",\">= 0\",number);return number}function drop(number,options=void 0){if(options!=null)validateObject2(options,\"options\");if((options===null||options===void 0\?void 0:options.signal)!=null)validateAbortSignal(options.signal,\"options.signal\");return number=toIntegerOrInfinity(number),async function*drop2(){var _options$signal8;if(options!==null&&options!==void 0&&(_options$signal8=options.signal)!==null&&_options$signal8!==void 0&&_options$signal8.aborted)throw new AbortError;for await(let val of this){var _options$signal9;if(options!==null&&options!==void 0&&(_options$signal9=options.signal)!==null&&_options$signal9!==void 0&&_options$signal9.aborted)throw new AbortError;if(number--<=0)yield val}}.call(this)}function take(number,options=void 0){if(options!=null)validateObject2(options,\"options\");if((options===null||options===void 0\?void 0:options.signal)!=null)validateAbortSignal(options.signal,\"options.signal\");return number=toIntegerOrInfinity(number),async function*take2(){var _options$signal10;if(options!==null&&options!==void 0&&(_options$signal10=options.signal)!==null&&_options$signal10!==void 0&&_options$signal10.aborted)throw new AbortError;for await(let val of this){var _options$signal11;if(options!==null&&options!==void 0&&(_options$signal11=options.signal)!==null&&_options$signal11!==void 0&&_options$signal11.aborted)throw new AbortError;if(number-- >0)yield val;else return}}.call(this)}module.exports.streamReturningOperators={asIndexedPairs,drop,filter,flatMap,map,take},module.exports.promiseReturningOperators={every,forEach,reduce,toArray,some,find}}}),require_destroy=__commonJS({\"node_modules/readable-stream/lib/internal/streams/destroy.js\"(exports2,module){var{aggregateTwoErrors,codes:{ERR_MULTIPLE_CALLBACK},AbortError}=require_errors(),{Symbol:Symbol2}=require_primordials(),{kDestroyed,isDestroyed,isFinished,isServerRequest}=require_utils(),kDestroy=\"#kDestroy\",kConstruct=\"#kConstruct\";function checkError(err,w,r){if(err){if(err.stack,w&&!w.errored)w.errored=err;if(r&&!r.errored)r.errored=err}}function destroy(err,cb){const r=this._readableState,w=this._writableState,s=w||r;if(w&&w.destroyed||r&&r.destroyed){if(typeof cb===\"function\")cb();return this}if(checkError(err,w,r),w)w.destroyed=!0;if(r)r.destroyed=!0;if(!s.constructed)this.once(kDestroy,(er)=>{_destroy(this,aggregateTwoErrors(er,err),cb)});else _destroy(this,err,cb);return this}function _destroy(self,err,cb){let called=!1;function onDestroy(err2){if(called)return;called=!0;const{_readableState:r,_writableState:w}=self;if(checkError(err2,w,r),w)w.closed=!0;if(r)r.closed=!0;if(typeof cb===\"function\")cb(err2);if(err2)runOnNextTick(emitErrorCloseNT,self,err2);else runOnNextTick(emitCloseNT,self)}try{self._destroy(err||null,onDestroy)}catch(err2){onDestroy(err2)}}function emitErrorCloseNT(self,err){emitErrorNT(self,err),emitCloseNT(self)}function emitCloseNT(self){const{_readableState:r,_writableState:w}=self;if(w)w.closeEmitted=!0;if(r)r.closeEmitted=!0;if(w&&w.emitClose||r&&r.emitClose)self.emit(\"close\")}function emitErrorNT(self,err){const r=self\?._readableState,w=self\?._writableState;if(w\?.errorEmitted||r\?.errorEmitted)return;if(w)w.errorEmitted=!0;if(r)r.errorEmitted=!0;self\?.emit\?.(\"error\",err)}function undestroy(){const r=this._readableState,w=this._writableState;if(r)r.constructed=!0,r.closed=!1,r.closeEmitted=!1,r.destroyed=!1,r.errored=null,r.errorEmitted=!1,r.reading=!1,r.ended=r.readable===!1,r.endEmitted=r.readable===!1;if(w)w.constructed=!0,w.destroyed=!1,w.closed=!1,w.closeEmitted=!1,w.errored=null,w.errorEmitted=!1,w.finalCalled=!1,w.prefinished=!1,w.ended=w.writable===!1,w.ending=w.writable===!1,w.finished=w.writable===!1}function errorOrDestroy2(stream,err,sync){const r=stream\?._readableState,w=stream\?._writableState;if(w&&w.destroyed||r&&r.destroyed)return this;if(r&&r.autoDestroy||w&&w.autoDestroy)stream.destroy(err);else if(err){if(Error.captureStackTrace(err),w&&!w.errored)w.errored=err;if(r&&!r.errored)r.errored=err;if(sync)runOnNextTick(emitErrorNT,stream,err);else emitErrorNT(stream,err)}}function construct(stream,cb){if(typeof stream._construct!==\"function\")return;const{_readableState:r,_writableState:w}=stream;if(r)r.constructed=!1;if(w)w.constructed=!1;if(stream.once(kConstruct,cb),stream.listenerCount(kConstruct)>1)return;runOnNextTick(constructNT,stream)}function constructNT(stream){let called=!1;function onConstruct(err){if(called){errorOrDestroy2(stream,err!==null&&err!==void 0\?err:new ERR_MULTIPLE_CALLBACK);return}called=!0;const{_readableState:r,_writableState:w}=stream,s=w||r;if(r)r.constructed=!0;if(w)w.constructed=!0;if(s.destroyed)stream.emit(kDestroy,err);else if(err)errorOrDestroy2(stream,err,!0);else runOnNextTick(emitConstructNT,stream)}try{stream._construct(onConstruct)}catch(err){onConstruct(err)}}function emitConstructNT(stream){stream.emit(kConstruct)}function isRequest(stream){return stream&&stream.setHeader&&typeof stream.abort===\"function\"}function emitCloseLegacy(stream){stream.emit(\"close\")}function emitErrorCloseLegacy(stream,err){stream.emit(\"error\",err),runOnNextTick(emitCloseLegacy,stream)}function destroyer(stream,err){if(!stream||isDestroyed(stream))return;if(!err&&!isFinished(stream))err=new AbortError;if(isServerRequest(stream))stream.socket=null,stream.destroy(err);else if(isRequest(stream))stream.abort();else if(isRequest(stream.req))stream.req.abort();else if(typeof stream.destroy===\"function\")stream.destroy(err);else if(typeof stream.close===\"function\")stream.close();else if(err)runOnNextTick(emitErrorCloseLegacy,stream);else runOnNextTick(emitCloseLegacy,stream);if(!stream.destroyed)stream[kDestroyed]=!0}module.exports={construct,destroyer,destroy,undestroy,errorOrDestroy:errorOrDestroy2}}}),require_legacy=__commonJS({\"node_modules/readable-stream/lib/internal/streams/legacy.js\"(exports2,module){var{ArrayIsArray:ArrayIsArray2,ObjectSetPrototypeOf}=require_primordials();function Stream(options){if(!(this instanceof Stream))return new Stream(options);EE.call(this,options)}ObjectSetPrototypeOf(Stream.prototype,EE.prototype),ObjectSetPrototypeOf(Stream,EE),Stream.prototype.pipe=function(dest,options){const source=this;function ondata(chunk){if(dest.writable&&dest.write(chunk)===!1&&source.pause)source.pause()}source.on(\"data\",ondata);function ondrain(){if(source.readable&&source.resume)source.resume()}if(dest.on(\"drain\",ondrain),!dest._isStdio&&(!options||options.end!==!1))source.on(\"end\",onend),source.on(\"close\",onclose);let didOnEnd=!1;function onend(){if(didOnEnd)return;didOnEnd=!0,dest.end()}function onclose(){if(didOnEnd)return;if(didOnEnd=!0,typeof dest.destroy===\"function\")dest.destroy()}function onerror(er){if(cleanup(),EE.listenerCount(this,\"error\")===0)this.emit(\"error\",er)}prependListener(source,\"error\",onerror),prependListener(dest,\"error\",onerror);function cleanup(){source.removeListener(\"data\",ondata),dest.removeListener(\"drain\",ondrain),source.removeListener(\"end\",onend),source.removeListener(\"close\",onclose),source.removeListener(\"error\",onerror),dest.removeListener(\"error\",onerror),source.removeListener(\"end\",cleanup),source.removeListener(\"close\",cleanup),dest.removeListener(\"close\",cleanup)}return source.on(\"end\",cleanup),source.on(\"close\",cleanup),dest.on(\"close\",cleanup),dest.emit(\"pipe\",source),dest};function prependListener(emitter,event,fn){if(typeof emitter.prependListener===\"function\")return emitter.prependListener(event,fn);if(!emitter._events||!emitter._events[event])emitter.on(event,fn);else if(ArrayIsArray2(emitter._events[event]))emitter._events[event].unshift(fn);else emitter._events[event]=[fn,emitter._events[event]]}module.exports={Stream,prependListener}}}),require_add_abort_signal=__commonJS({\"node_modules/readable-stream/lib/internal/streams/add-abort-signal.js\"(exports2,module){var{AbortError,codes}=require_errors(),eos=require_end_of_stream(),{ERR_INVALID_ARG_TYPE:ERR_INVALID_ARG_TYPE2}=codes,validateAbortSignal=(signal,name)=>{if(typeof signal!==\"object\"||!(\"aborted\"in signal))throw new ERR_INVALID_ARG_TYPE2(name,\"AbortSignal\",signal)};function isNodeStream(obj){return!!(obj&&typeof obj.pipe===\"function\")}module.exports.addAbortSignal=function addAbortSignal(signal,stream){if(validateAbortSignal(signal,\"signal\"),!isNodeStream(stream))throw new ERR_INVALID_ARG_TYPE2(\"stream\",\"stream.Stream\",stream);return module.exports.addAbortSignalNoValidate(signal,stream)},module.exports.addAbortSignalNoValidate=function(signal,stream){if(typeof signal!==\"object\"||!(\"aborted\"in signal))return stream;const onAbort=()=>{stream.destroy(new AbortError(void 0,{cause:signal.reason}))};if(signal.aborted)onAbort();else signal.addEventListener(\"abort\",onAbort),eos(stream,()=>signal.removeEventListener(\"abort\",onAbort));return stream}}}),require_state=__commonJS({\"node_modules/readable-stream/lib/internal/streams/state.js\"(exports2,module){var{MathFloor,NumberIsInteger}=require_primordials(),{ERR_INVALID_ARG_VALUE:ERR_INVALID_ARG_VALUE2}=require_errors().codes;function highWaterMarkFrom(options,isDuplex,duplexKey){return options.highWaterMark!=null\?options.highWaterMark:isDuplex\?options[duplexKey]:null}function getDefaultHighWaterMark(objectMode){return objectMode\?16:16384}function getHighWaterMark(state,options,duplexKey,isDuplex){const hwm=highWaterMarkFrom(options,isDuplex,duplexKey);if(hwm!=null){if(!NumberIsInteger(hwm)||hwm<0){const name=isDuplex\?`options.${duplexKey}`:\"options.highWaterMark\";throw new ERR_INVALID_ARG_VALUE2(name,hwm)}return MathFloor(hwm)}return getDefaultHighWaterMark(state.objectMode)}module.exports={getHighWaterMark,getDefaultHighWaterMark}}}),require_from=__commonJS({\"node_modules/readable-stream/lib/internal/streams/from.js\"(exports2,module){var{PromisePrototypeThen,SymbolAsyncIterator,SymbolIterator}=require_primordials(),{ERR_INVALID_ARG_TYPE:ERR_INVALID_ARG_TYPE2,ERR_STREAM_NULL_VALUES}=require_errors().codes;function from(Readable,iterable,opts){let iterator;if(typeof iterable===\"string\"||iterable instanceof Buffer)return new Readable({objectMode:!0,...opts,read(){this.push(iterable),this.push(null)}});let isAsync;if(iterable&&iterable[SymbolAsyncIterator])isAsync=!0,iterator=iterable[SymbolAsyncIterator]();else if(iterable&&iterable[SymbolIterator])isAsync=!1,iterator=iterable[SymbolIterator]();else throw new ERR_INVALID_ARG_TYPE2(\"iterable\",[\"Iterable\"],iterable);const readable=new Readable({objectMode:!0,highWaterMark:1,...opts});let reading=!1;readable._read=function(){if(!reading)reading=!0,next()},readable._destroy=function(error,cb){PromisePrototypeThen(close(error),()=>runOnNextTick(cb,error),(e)=>runOnNextTick(cb,e||error))};async function close(error){const hadError=error!==void 0&&error!==null,hasThrow=typeof iterator.throw===\"function\";if(hadError&&hasThrow){const{value,done}=await iterator.throw(error);if(await value,done)return}if(typeof iterator.return===\"function\"){const{value}=await iterator.return();await value}}async function next(){for(;;){try{const{value,done}=isAsync\?await iterator.next():iterator.next();if(done)readable.push(null);else{const res=value&&typeof value.then===\"function\"\?await value:value;if(res===null)throw reading=!1,new ERR_STREAM_NULL_VALUES;else if(readable.push(res))continue;else reading=!1}}catch(err){readable.destroy(err)}break}}return readable}module.exports=from}}),_ReadableFromWeb,_ReadableFromWebForUndici,require_readable=__commonJS({\"node_modules/readable-stream/lib/internal/streams/readable.js\"(exports2,module){var{ArrayPrototypeIndexOf,NumberIsInteger,NumberIsNaN,NumberParseInt,ObjectDefineProperties,ObjectKeys,ObjectSetPrototypeOf,Promise:Promise2,SafeSet,SymbolAsyncIterator,Symbol:Symbol2}=require_primordials(),ReadableState=globalThis[globalThis.Symbol.for('Bun.lazy')](\"bun:stream\").ReadableState,{Stream,prependListener}=require_legacy();function Readable(options){if(!(this instanceof Readable))return new Readable(options);const isDuplex=this instanceof require_duplex();if(this._readableState=new ReadableState(options,this,isDuplex),options){const{read,destroy,construct,signal}=options;if(typeof read===\"function\")this._read=read;if(typeof destroy===\"function\")this._destroy=destroy;if(typeof construct===\"function\")this._construct=construct;if(signal&&!isDuplex)addAbortSignal(signal,this)}Stream.call(this,options),destroyImpl.construct(this,()=>{if(this._readableState.needReadable)maybeReadMore(this,this._readableState)})}ObjectSetPrototypeOf(Readable.prototype,Stream.prototype),ObjectSetPrototypeOf(Readable,Stream),Readable.prototype.on=function(ev,fn){const res=Stream.prototype.on.call(this,ev,fn),state=this._readableState;if(ev===\"data\"){if(state.readableListening=this.listenerCount(\"readable\")>0,state.flowing!==!1)this.resume()}else if(ev===\"readable\"){if(!state.endEmitted&&!state.readableListening){if(state.readableListening=state.needReadable=!0,state.flowing=!1,state.emittedReadable=!1,__DEBUG__,state.length)emitReadable(this,state);else if(!state.reading)runOnNextTick(nReadingNextTick,this)}else if(state.endEmitted);}return res};class ReadableFromWeb extends Readable{#reader;#closed;#pendingChunks;#stream;constructor(options,stream){const{objectMode,highWaterMark,encoding,signal}=options;super({objectMode,highWaterMark,encoding,signal});this.#pendingChunks=[],this.#reader=void 0,this.#stream=stream,this.#closed=!1}#drainPending(){var pendingChunks=this.#pendingChunks,pendingChunksI=0,pendingChunksCount=pendingChunks.length;for(;pendingChunksI0)this.#pendingChunks=[];return!1}#handleDone(reader){reader.releaseLock(),this.#reader=void 0,this.#closed=!0,this.push(null);return}async _read(){var stream=this.#stream,reader=this.#reader;if(stream)reader=this.#reader=stream.getReader(),this.#stream=void 0;else if(this.#drainPending())return;var deferredError;try{do{var done=!1,value;const firstResult=reader.readMany();if(@isPromise(firstResult)){if({done,value}=await firstResult,this.#closed){this.#pendingChunks.push(...value);return}}else({done,value}=firstResult);if(done){this.#handleDone(reader);return}if(!this.push(value[0])){this.#pendingChunks=value.slice(1);return}for(let i=1,count=value.length;i{this.#closed=!0,callback(error)});return}try{callback(error)}catch(error2){globalThis.reportError(error2)}}}_ReadableFromWebForUndici=ReadableFromWeb;function newStreamReadableFromReadableStream(readableStream,options={}){if(!isReadableStream(readableStream))throw new ERR_INVALID_ARG_TYPE2(\"readableStream\",\"ReadableStream\",readableStream);validateObject2(options,\"options\");const{highWaterMark,encoding,objectMode=!1,signal}=options;if(encoding!==void 0&&!Buffer.isEncoding(encoding))throw new ERR_INVALID_ARG_VALUE(encoding,\"options.encoding\");return validateBoolean(objectMode,\"options.objectMode\"),getNativeReadableStream(Readable,readableStream,options)||new ReadableFromWeb({highWaterMark,encoding,objectMode,signal},readableStream)}module.exports=Readable,_ReadableFromWeb=newStreamReadableFromReadableStream;var{addAbortSignal}=require_add_abort_signal(),eos=require_end_of_stream();const{maybeReadMore:_maybeReadMore,resume,emitReadable:_emitReadable,onEofChunk}=globalThis[globalThis.Symbol.for('Bun.lazy')](\"bun:stream\");function maybeReadMore(stream,state){process.nextTick(_maybeReadMore,stream,state)}function emitReadable(stream,state){_emitReadable(stream,state)}var destroyImpl=require_destroy(),{aggregateTwoErrors,codes:{ERR_INVALID_ARG_TYPE:ERR_INVALID_ARG_TYPE2,ERR_METHOD_NOT_IMPLEMENTED,ERR_OUT_OF_RANGE,ERR_STREAM_PUSH_AFTER_EOF,ERR_STREAM_UNSHIFT_AFTER_END_EVENT}}=require_errors(),{validateObject:validateObject2}=require_validators(),from=require_from(),nop=()=>{},{errorOrDestroy:errorOrDestroy2}=destroyImpl;Readable.prototype.destroy=destroyImpl.destroy,Readable.prototype._undestroy=destroyImpl.undestroy,Readable.prototype._destroy=function(err,cb){cb(err)},Readable.prototype[EE.captureRejectionSymbol]=function(err){this.destroy(err)},Readable.prototype.push=function(chunk,encoding){return readableAddChunk(this,chunk,encoding,!1)},Readable.prototype.unshift=function(chunk,encoding){return readableAddChunk(this,chunk,encoding,!0)};function readableAddChunk(stream,chunk,encoding,addToFront){const state=stream._readableState;let err;if(!state.objectMode){if(typeof chunk===\"string\"){if(encoding=encoding||state.defaultEncoding,state.encoding!==encoding)if(addToFront&&state.encoding)chunk=Buffer.from(chunk,encoding).toString(state.encoding);else chunk=Buffer.from(chunk,encoding),encoding=\"\"}else if(chunk instanceof Buffer)encoding=\"\";else if(Stream._isUint8Array(chunk)){if(addToFront||!state.decoder)chunk=Stream._uint8ArrayToBuffer(chunk);encoding=\"\"}else if(chunk!=null)err=new ERR_INVALID_ARG_TYPE2(\"chunk\",[\"string\",\"Buffer\",\"Uint8Array\"],chunk)}if(err)errorOrDestroy2(stream,err);else if(chunk===null)state.reading=!1,onEofChunk(stream,state);else if(state.objectMode||chunk&&chunk.length>0)if(addToFront)if(state.endEmitted)errorOrDestroy2(stream,new ERR_STREAM_UNSHIFT_AFTER_END_EVENT);else if(state.destroyed||state.errored)return!1;else addChunk(stream,state,chunk,!0);else if(state.ended)errorOrDestroy2(stream,new ERR_STREAM_PUSH_AFTER_EOF);else if(state.destroyed||state.errored)return!1;else if(state.reading=!1,state.decoder&&!encoding)if(chunk=state.decoder.write(chunk),state.objectMode||chunk.length!==0)addChunk(stream,state,chunk,!1);else maybeReadMore(stream,state);else addChunk(stream,state,chunk,!1);else if(!addToFront)state.reading=!1,maybeReadMore(stream,state);return!state.ended&&(state.length0){if(state.multiAwaitDrain)state.awaitDrainWriters.clear();else state.awaitDrainWriters=null;state.dataEmitted=!0,stream.emit(\"data\",chunk)}else{if(state.length+=state.objectMode\?1:chunk.length,addToFront)state.buffer.unshift(chunk);else state.buffer.push(chunk);if(state.needReadable)emitReadable(stream,state)}maybeReadMore(stream,state)}Readable.prototype.isPaused=function(){const state=this._readableState;return state.paused===!0||state.flowing===!1},Readable.prototype.setEncoding=function(enc){const decoder=new StringDecoder(enc);this._readableState.decoder=decoder,this._readableState.encoding=this._readableState.decoder.encoding;const buffer=this._readableState.buffer;let content=\"\";for(let i=buffer.length;i>0;i--)content+=decoder.write(buffer.shift());if(content!==\"\")buffer.push(content);return this._readableState.length=content.length,this};var MAX_HWM=1073741824;function computeNewHighWaterMark(n){if(n>MAX_HWM)throw new ERR_OUT_OF_RANGE(\"size\",\"<= 1GiB\",n);else n--,n|=n>>>1,n|=n>>>2,n|=n>>>4,n|=n>>>8,n|=n>>>16,n++;return n}function howMuchToRead(n,state){if(n<=0||state.length===0&&state.ended)return 0;if(state.objectMode)return 1;if(NumberIsNaN(n)){if(state.flowing&&state.length)return state.buffer.first().length;return state.length}if(n<=state.length)return n;return state.ended\?state.length:0}Readable.prototype.read=function(n){if(!NumberIsInteger(n))n=NumberParseInt(n,10);const state=this._readableState,nOrig=n;if(n>state.highWaterMark)state.highWaterMark=computeNewHighWaterMark(n);if(n!==0)state.emittedReadable=!1;if(n===0&&state.needReadable&&((state.highWaterMark!==0\?state.length>=state.highWaterMark:state.length>0)||state.ended)){if(state.length===0&&state.ended)endReadable(this);else emitReadable(this,state);return null}if(n=howMuchToRead(n,state),n===0&&state.ended){if(__DEBUG__,state.length===0)endReadable(this);return null}let doRead=state.needReadable;if(state.length===0||state.length-n0)ret=fromList(n,state);else ret=null;if(ret===null)state.needReadable=state.length<=state.highWaterMark,n=0;else if(state.length-=n,state.multiAwaitDrain)state.awaitDrainWriters.clear();else state.awaitDrainWriters=null;if(state.length===0){if(!state.ended)state.needReadable=!0;if(nOrig!==n&&state.ended)endReadable(this)}if(ret!==null&&!state.errorEmitted&&!state.closeEmitted)state.dataEmitted=!0,this.emit(\"data\",ret);return ret},Readable.prototype._read=function(n){throw new ERR_METHOD_NOT_IMPLEMENTED(\"_read()\")},Readable.prototype.pipe=function(dest,pipeOpts){const src=this,state=this._readableState;if(state.pipes.length===1){if(!state.multiAwaitDrain)state.multiAwaitDrain=!0,state.awaitDrainWriters=new SafeSet(state.awaitDrainWriters\?[state.awaitDrainWriters]:[])}state.pipes.push(dest);const endFn=(!pipeOpts||pipeOpts.end!==!1)&&dest!==process.stdout&&dest!==process.stderr\?onend:unpipe;if(state.endEmitted)runOnNextTick(endFn);else src.once(\"end\",endFn);dest.on(\"unpipe\",onunpipe);function onunpipe(readable,unpipeInfo){if(readable===src){if(unpipeInfo&&unpipeInfo.hasUnpiped===!1)unpipeInfo.hasUnpiped=!0,cleanup()}}function onend(){dest.end()}let ondrain,cleanedUp=!1;function cleanup(){if(dest.removeListener(\"close\",onclose),dest.removeListener(\"finish\",onfinish),ondrain)dest.removeListener(\"drain\",ondrain);if(dest.removeListener(\"error\",onerror),dest.removeListener(\"unpipe\",onunpipe),src.removeListener(\"end\",onend),src.removeListener(\"end\",unpipe),src.removeListener(\"data\",ondata),cleanedUp=!0,ondrain&&state.awaitDrainWriters&&(!dest._writableState||dest._writableState.needDrain))ondrain()}function pause(){if(!cleanedUp){if(state.pipes.length===1&&state.pipes[0]===dest)state.awaitDrainWriters=dest,state.multiAwaitDrain=!1;else if(state.pipes.length>1&&state.pipes.includes(dest))state.awaitDrainWriters.add(dest);src.pause()}if(!ondrain)ondrain=pipeOnDrain(src,dest),dest.on(\"drain\",ondrain)}src.on(\"data\",ondata);function ondata(chunk){if(dest.write(chunk)===!1)pause()}function onerror(er){if(unpipe(),dest.removeListener(\"error\",onerror),dest.listenerCount(\"error\")===0){const s=dest._writableState||dest._readableState;if(s&&!s.errorEmitted)errorOrDestroy2(dest,er);else dest.emit(\"error\",er)}}prependListener(dest,\"error\",onerror);function onclose(){dest.removeListener(\"finish\",onfinish),unpipe()}dest.once(\"close\",onclose);function onfinish(){dest.removeListener(\"close\",onclose),unpipe()}dest.once(\"finish\",onfinish);function unpipe(){src.unpipe(dest)}if(dest.emit(\"pipe\",src),dest.writableNeedDrain===!0){if(state.flowing)pause()}else if(!state.flowing)src.resume();return dest};function pipeOnDrain(src,dest){return function pipeOnDrainFunctionResult(){const state=src._readableState;if(state.awaitDrainWriters===dest)state.awaitDrainWriters=null;else if(state.multiAwaitDrain)state.awaitDrainWriters.delete(dest);if((!state.awaitDrainWriters||state.awaitDrainWriters.size===0)&&src.listenerCount(\"data\"))src.resume()}}Readable.prototype.unpipe=function(dest){const state=this._readableState,unpipeInfo={hasUnpiped:!1};if(state.pipes.length===0)return this;if(!dest){const dests=state.pipes;state.pipes=[],this.pause();for(let i=0;i0,state.resumeScheduled&&state.paused===!1)state.flowing=!0;else if(self.listenerCount(\"data\")>0)self.resume();else if(!state.readableListening)state.flowing=null}function nReadingNextTick(self){self.read(0)}Readable.prototype.resume=function(){const state=this._readableState;if(!state.flowing)state.flowing=!state.readableListening,resume(this,state);return state.paused=!1,this},Readable.prototype.pause=function(){if(this._readableState.flowing!==!1)this._readableState.flowing=!1,this.emit(\"pause\");return this._readableState.paused=!0,this},Readable.prototype.wrap=function(stream){let paused=!1;stream.on(\"data\",(chunk)=>{if(!this.push(chunk)&&stream.pause)paused=!0,stream.pause()}),stream.on(\"end\",()=>{this.push(null)}),stream.on(\"error\",(err)=>{errorOrDestroy2(this,err)}),stream.on(\"close\",()=>{this.destroy()}),stream.on(\"destroy\",()=>{this.destroy()}),this._read=()=>{if(paused&&stream.resume)paused=!1,stream.resume()};const streamKeys=ObjectKeys(stream);for(let j=1;j{error=err\?aggregateTwoErrors(error,err):null,callback(),callback=nop});try{while(!0){const chunk=stream.destroyed\?null:stream.read();if(chunk!==null)yield chunk;else if(error)throw error;else if(error===null)return;else await new Promise2(next)}}catch(err){throw error=aggregateTwoErrors(error,err),error}finally{if((error||(options===null||options===void 0\?void 0:options.destroyOnReturn)!==!1)&&(error===void 0||stream._readableState.autoDestroy))destroyImpl.destroyer(stream,null);else stream.off(\"readable\",next),cleanup()}}ObjectDefineProperties(Readable.prototype,{readable:{get(){const r=this._readableState;return!!r&&r.readable!==!1&&!r.destroyed&&!r.errorEmitted&&!r.endEmitted},set(val){if(this._readableState)this._readableState.readable=!!val}},readableDidRead:{enumerable:!1,get:function(){return this._readableState.dataEmitted}},readableAborted:{enumerable:!1,get:function(){return!!(this._readableState.readable!==!1&&(this._readableState.destroyed||this._readableState.errored)&&!this._readableState.endEmitted)}},readableHighWaterMark:{enumerable:!1,get:function(){return this._readableState.highWaterMark}},readableBuffer:{enumerable:!1,get:function(){return this._readableState&&this._readableState.buffer}},readableFlowing:{enumerable:!1,get:function(){return this._readableState.flowing},set:function(state){if(this._readableState)this._readableState.flowing=state}},readableLength:{enumerable:!1,get(){return this._readableState.length}},readableObjectMode:{enumerable:!1,get(){return this._readableState\?this._readableState.objectMode:!1}},readableEncoding:{enumerable:!1,get(){return this._readableState\?this._readableState.encoding:null}},errored:{enumerable:!1,get(){return this._readableState\?this._readableState.errored:null}},closed:{get(){return this._readableState\?this._readableState.closed:!1}},destroyed:{enumerable:!1,get(){return this._readableState\?this._readableState.destroyed:!1},set(value){if(!this._readableState)return;this._readableState.destroyed=value}},readableEnded:{enumerable:!1,get(){return this._readableState\?this._readableState.endEmitted:!1}}}),Readable._fromList=fromList;function fromList(n,state){if(state.length===0)return null;let ret;if(state.objectMode)ret=state.buffer.shift();else if(!n||n>=state.length){if(state.decoder)ret=state.buffer.join(\"\");else if(state.buffer.length===1)ret=state.buffer.first();else ret=state.buffer.concat(state.length);state.buffer.clear()}else ret=state.buffer.consume(n,state.decoder);return ret}function endReadable(stream){const state=stream._readableState;if(!state.endEmitted)state.ended=!0,runOnNextTick(endReadableNT,state,stream)}function endReadableNT(state,stream){if(!state.errored&&!state.closeEmitted&&!state.endEmitted&&state.length===0){if(state.endEmitted=!0,stream.emit(\"end\"),stream.writable&&stream.allowHalfOpen===!1)runOnNextTick(endWritableNT,stream);else if(state.autoDestroy){const wState=stream._writableState;if(!wState||wState.autoDestroy&&(wState.finished||wState.writable===!1))stream.destroy()}}}function endWritableNT(stream){if(stream.writable&&!stream.writableEnded&&!stream.destroyed)stream.end()}Readable.from=function(iterable,opts){return from(Readable,iterable,opts)};var webStreamsAdapters={newStreamReadableFromReadableStream};function lazyWebStreams(){if(webStreamsAdapters===void 0)webStreamsAdapters={};return webStreamsAdapters}Readable.fromWeb=function(readableStream,options){return lazyWebStreams().newStreamReadableFromReadableStream(readableStream,options)},Readable.toWeb=function(streamReadable){return lazyWebStreams().newReadableStreamFromStreamReadable(streamReadable)},Readable.wrap=function(src,options){var _ref,_src$readableObjectMo;return new Readable({objectMode:(_ref=(_src$readableObjectMo=src.readableObjectMode)!==null&&_src$readableObjectMo!==void 0\?_src$readableObjectMo:src.objectMode)!==null&&_ref!==void 0\?_ref:!0,...options,destroy(err,callback){destroyImpl.destroyer(src,err),callback(err)}}).wrap(src)}}}),require_writable=__commonJS({\"node_modules/readable-stream/lib/internal/streams/writable.js\"(exports2,module){var{ArrayPrototypeSlice,Error:Error2,FunctionPrototypeSymbolHasInstance,ObjectDefineProperty,ObjectDefineProperties,ObjectSetPrototypeOf,StringPrototypeToLowerCase,Symbol:Symbol2,SymbolHasInstance}=require_primordials(),Stream=require_legacy().Stream,destroyImpl=require_destroy(),{addAbortSignal}=require_add_abort_signal(),{getHighWaterMark,getDefaultHighWaterMark}=require_state(),{ERR_INVALID_ARG_TYPE:ERR_INVALID_ARG_TYPE2,ERR_METHOD_NOT_IMPLEMENTED,ERR_MULTIPLE_CALLBACK,ERR_STREAM_CANNOT_PIPE,ERR_STREAM_DESTROYED,ERR_STREAM_ALREADY_FINISHED,ERR_STREAM_NULL_VALUES,ERR_STREAM_WRITE_AFTER_END,ERR_UNKNOWN_ENCODING}=require_errors().codes,{errorOrDestroy:errorOrDestroy2}=destroyImpl;function Writable2(options={}){const isDuplex=this instanceof require_duplex();if(!isDuplex&&!FunctionPrototypeSymbolHasInstance(Writable2,this))return new Writable2(options);if(this._writableState=new WritableState(options,this,isDuplex),options){if(typeof options.write===\"function\")this._write=options.write;if(typeof options.writev===\"function\")this._writev=options.writev;if(typeof options.destroy===\"function\")this._destroy=options.destroy;if(typeof options.final===\"function\")this._final=options.final;if(typeof options.construct===\"function\")this._construct=options.construct;if(options.signal)addAbortSignal(options.signal,this)}Stream.call(this,options),destroyImpl.construct(this,()=>{const state=this._writableState;if(!state.writing)clearBuffer(this,state);finishMaybe(this,state)})}ObjectSetPrototypeOf(Writable2.prototype,Stream.prototype),ObjectSetPrototypeOf(Writable2,Stream),module.exports=Writable2;function nop(){}var kOnFinished=Symbol2(\"kOnFinished\");function WritableState(options,stream,isDuplex){if(typeof isDuplex!==\"boolean\")isDuplex=stream instanceof require_duplex();if(this.objectMode=!!(options&&options.objectMode),isDuplex)this.objectMode=this.objectMode||!!(options&&options.writableObjectMode);this.highWaterMark=options\?getHighWaterMark(this,options,\"writableHighWaterMark\",isDuplex):getDefaultHighWaterMark(!1),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;const noDecode=!!(options&&options.decodeStrings===!1);this.decodeStrings=!noDecode,this.defaultEncoding=options&&options.defaultEncoding||\"utf8\",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=onwrite.bind(void 0,stream),this.writecb=null,this.writelen=0,this.afterWriteTickInfo=null,resetBuffer(this),this.pendingcb=0,this.constructed=!0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=!options||options.emitClose!==!1,this.autoDestroy=!options||options.autoDestroy!==!1,this.errored=null,this.closed=!1,this.closeEmitted=!1,this[kOnFinished]=[]}function resetBuffer(state){state.buffered=[],state.bufferedIndex=0,state.allBuffers=!0,state.allNoop=!0}WritableState.prototype.getBuffer=function getBuffer(){return ArrayPrototypeSlice(this.buffered,this.bufferedIndex)},ObjectDefineProperty(WritableState.prototype,\"bufferedRequestCount\",{get(){return this.buffered.length-this.bufferedIndex}}),ObjectDefineProperty(Writable2,SymbolHasInstance,{value:function(object){if(FunctionPrototypeSymbolHasInstance(this,object))return!0;if(this!==Writable2)return!1;return object&&object._writableState instanceof WritableState}}),Writable2.prototype.pipe=function(){errorOrDestroy2(this,new ERR_STREAM_CANNOT_PIPE)};function _write(stream,chunk,encoding,cb){const state=stream._writableState;if(typeof encoding===\"function\")cb=encoding,encoding=state.defaultEncoding;else{if(!encoding)encoding=state.defaultEncoding;else if(encoding!==\"buffer\"&&!Buffer.isEncoding(encoding))throw new ERR_UNKNOWN_ENCODING(encoding);if(typeof cb!==\"function\")cb=nop}if(chunk===null)throw new ERR_STREAM_NULL_VALUES;else if(!state.objectMode)if(typeof chunk===\"string\"){if(state.decodeStrings!==!1)chunk=Buffer.from(chunk,encoding),encoding=\"buffer\"}else if(chunk instanceof Buffer)encoding=\"buffer\";else if(Stream._isUint8Array(chunk))chunk=Stream._uint8ArrayToBuffer(chunk),encoding=\"buffer\";else throw new ERR_INVALID_ARG_TYPE2(\"chunk\",[\"string\",\"Buffer\",\"Uint8Array\"],chunk);let err;if(state.ending)err=new ERR_STREAM_WRITE_AFTER_END;else if(state.destroyed)err=new ERR_STREAM_DESTROYED(\"write\");if(err)return runOnNextTick(cb,err),errorOrDestroy2(stream,err,!0),err;return state.pendingcb++,writeOrBuffer(stream,state,chunk,encoding,cb)}Writable2.prototype.write=function(chunk,encoding,cb){return _write(this,chunk,encoding,cb)===!0},Writable2.prototype.cork=function(){this._writableState.corked++},Writable2.prototype.uncork=function(){const state=this._writableState;if(state.corked){if(state.corked--,!state.writing)clearBuffer(this,state)}},Writable2.prototype.setDefaultEncoding=function setDefaultEncoding(encoding){if(typeof encoding===\"string\")encoding=StringPrototypeToLowerCase(encoding);if(!Buffer.isEncoding(encoding))throw new ERR_UNKNOWN_ENCODING(encoding);return this._writableState.defaultEncoding=encoding,this};function writeOrBuffer(stream,state,chunk,encoding,callback){const len=state.objectMode\?1:chunk.length;state.length+=len;const ret=state.lengthstate.bufferedIndex)clearBuffer(stream,state);if(sync)if(state.afterWriteTickInfo!==null&&state.afterWriteTickInfo.cb===cb)state.afterWriteTickInfo.count++;else state.afterWriteTickInfo={count:1,cb,stream,state},runOnNextTick(afterWriteTick,state.afterWriteTickInfo);else afterWrite(stream,state,1,cb)}}function afterWriteTick({stream,state,count,cb}){return state.afterWriteTickInfo=null,afterWrite(stream,state,count,cb)}function afterWrite(stream,state,count,cb){if(!state.ending&&!stream.destroyed&&state.length===0&&state.needDrain)state.needDrain=!1,stream.emit(\"drain\");while(count-- >0)state.pendingcb--,cb();if(state.destroyed)errorBuffer(state);finishMaybe(stream,state)}function errorBuffer(state){if(state.writing)return;for(let n=state.bufferedIndex;n1&&stream._writev){state.pendingcb-=bufferedLength-1;const callback=state.allNoop\?nop:(err)=>{for(let n=i;n256)buffered.splice(0,i),state.bufferedIndex=0;else state.bufferedIndex=i}state.bufferProcessing=!1}Writable2.prototype._write=function(chunk,encoding,cb){if(this._writev)this._writev([{chunk,encoding}],cb);else throw new ERR_METHOD_NOT_IMPLEMENTED(\"_write()\")},Writable2.prototype._writev=null,Writable2.prototype.end=function(chunk,encoding,cb,native=!1){const state=this._writableState;if(typeof chunk===\"function\")cb=chunk,chunk=null,encoding=null;else if(typeof encoding===\"function\")cb=encoding,encoding=null;let err;if(chunk!==null&&chunk!==void 0){let ret;if(!native)ret=_write(this,chunk,encoding);else ret=this.write(chunk,encoding);if(ret instanceof Error2)err=ret}if(state.corked)state.corked=1,this.uncork();if(err)this.emit(\"error\",err);else if(!state.errored&&!state.ending)state.ending=!0,finishMaybe(this,state,!0),state.ended=!0;else if(state.finished)err=new ERR_STREAM_ALREADY_FINISHED(\"end\");else if(state.destroyed)err=new ERR_STREAM_DESTROYED(\"end\");if(typeof cb===\"function\")if(err||state.finished)runOnNextTick(cb,err);else state[kOnFinished].push(cb);return this};function needFinish(state,tag){var needFinish2=state.ending&&!state.destroyed&&state.constructed&&state.length===0&&!state.errored&&state.buffered.length===0&&!state.finished&&!state.writing&&!state.errorEmitted&&!state.closeEmitted;return needFinish2}function callFinal(stream,state){let called=!1;function onFinish(err){if(called){errorOrDestroy2(stream,err!==null&&err!==void 0\?err:ERR_MULTIPLE_CALLBACK());return}if(called=!0,state.pendingcb--,err){const onfinishCallbacks=state[kOnFinished].splice(0);for(let i=0;i{if(needFinish(state2))finish(stream2,state2);else state2.pendingcb--},stream,state);else if(needFinish(state))state.pendingcb++,finish(stream,state)}}function finish(stream,state){state.pendingcb--,state.finished=!0;const onfinishCallbacks=state[kOnFinished].splice(0);for(let i=0;i{if(val!=null)throw new ERR_INVALID_RETURN_VALUE(\"nully\",\"body\",val)},(err)=>{destroyer(d,err)});return d=new Duplexify({objectMode:!0,readable:!1,write,final(cb){final(async()=>{try{await promise,runOnNextTick(cb,null)}catch(err){runOnNextTick(cb,err)}})},destroy})}throw new ERR_INVALID_RETURN_VALUE(\"Iterable, AsyncIterable or AsyncFunction\",name,value)}if(isBlob(body))return duplexify(body.arrayBuffer());if(isIterable(body))return from(Duplexify,body,{objectMode:!0,writable:!1});if(typeof(body===null||body===void 0\?void 0:body.writable)===\"object\"||typeof(body===null||body===void 0\?void 0:body.readable)===\"object\"){const readable=body!==null&&body!==void 0&&body.readable\?isReadableNodeStream(body===null||body===void 0\?void 0:body.readable)\?body===null||body===void 0\?void 0:body.readable:duplexify(body.readable):void 0,writable=body!==null&&body!==void 0&&body.writable\?isWritableNodeStream(body===null||body===void 0\?void 0:body.writable)\?body===null||body===void 0\?void 0:body.writable:duplexify(body.writable):void 0;return _duplexify({readable,writable})}const then=body===null||body===void 0\?void 0:body.then;if(typeof then===\"function\"){let d;return FunctionPrototypeCall(then,body,(val)=>{if(val!=null)d.push(val);d.push(null)},(err)=>{destroyer(d,err)}),d=new Duplexify({objectMode:!0,writable:!1,read(){}})}throw new ERR_INVALID_ARG_TYPE2(name,[\"Blob\",\"ReadableStream\",\"WritableStream\",\"Stream\",\"Iterable\",\"AsyncIterable\",\"Function\",\"{ readable, writable } pair\",\"Promise\"],body)};function fromAsyncGen(fn){let{promise,resolve}=createDeferredPromise();const ac=new AbortController,signal=ac.signal;return{value:fn(async function*(){while(!0){const _promise=promise;promise=null;const{chunk,done,cb}=await _promise;if(runOnNextTick(cb),done)return;if(signal.aborted)throw new AbortError(void 0,{cause:signal.reason});({promise,resolve}=createDeferredPromise()),yield chunk}}(),{signal}),write(chunk,encoding,cb){const _resolve=resolve;resolve=null,_resolve({chunk,done:!1,cb})},final(cb){const _resolve=resolve;resolve=null,_resolve({done:!0,cb})},destroy(err,cb){ac.abort(),cb(err)}}}function _duplexify(pair){const r=pair.readable&&typeof pair.readable.read!==\"function\"\?Readable.wrap(pair.readable):pair.readable,w=pair.writable;let readable=!!isReadable(r),writable=!!isWritable(w),ondrain,onfinish,onreadable,onclose,d;function onfinished(err){const cb=onclose;if(onclose=null,cb)cb(err);else if(err)d.destroy(err);else if(!readable&&!writable)d.destroy()}if(d=new Duplexify({readableObjectMode:!!(r!==null&&r!==void 0&&r.readableObjectMode),writableObjectMode:!!(w!==null&&w!==void 0&&w.writableObjectMode),readable,writable}),writable)eos(w,(err)=>{if(writable=!1,err)destroyer(r,err);onfinished(err)}),d._write=function(chunk,encoding,callback){if(w.write(chunk,encoding))callback();else ondrain=callback},d._final=function(callback){w.end(),onfinish=callback},w.on(\"drain\",function(){if(ondrain){const cb=ondrain;ondrain=null,cb()}}),w.on(\"finish\",function(){if(onfinish){const cb=onfinish;onfinish=null,cb()}});if(readable)eos(r,(err)=>{if(readable=!1,err)destroyer(r,err);onfinished(err)}),r.on(\"readable\",function(){if(onreadable){const cb=onreadable;onreadable=null,cb()}}),r.on(\"end\",function(){d.push(null)}),d._read=function(){while(!0){const buf=r.read();if(buf===null){onreadable=d._read;return}if(!d.push(buf))return}};return d._destroy=function(err,callback){if(!err&&onclose!==null)err=new AbortError;if(onreadable=null,ondrain=null,onfinish=null,onclose===null)callback(err);else onclose=callback,destroyer(w,err),destroyer(r,err)},d}}}),require_duplex=__commonJS({\"node_modules/readable-stream/lib/internal/streams/duplex.js\"(exports2,module){var{ObjectDefineProperties,ObjectGetOwnPropertyDescriptor,ObjectKeys,ObjectSetPrototypeOf}=require_primordials(),Readable=require_readable();function Duplex(options){if(!(this instanceof Duplex))return new Duplex(options);if(Readable.call(this,options),Writable.call(this,options),options){if(this.allowHalfOpen=options.allowHalfOpen!==!1,options.readable===!1)this._readableState.readable=!1,this._readableState.ended=!0,this._readableState.endEmitted=!0;if(options.writable===!1)this._writableState.writable=!1,this._writableState.ending=!0,this._writableState.ended=!0,this._writableState.finished=!0}else this.allowHalfOpen=!0}module.exports=Duplex,ObjectSetPrototypeOf(Duplex.prototype,Readable.prototype),ObjectSetPrototypeOf(Duplex,Readable);for(var method in Writable.prototype)if(!Duplex.prototype[method])Duplex.prototype[method]=Writable.prototype[method];ObjectDefineProperties(Duplex.prototype,{writable:ObjectGetOwnPropertyDescriptor(Writable.prototype,\"writable\"),writableHighWaterMark:ObjectGetOwnPropertyDescriptor(Writable.prototype,\"writableHighWaterMark\"),writableObjectMode:ObjectGetOwnPropertyDescriptor(Writable.prototype,\"writableObjectMode\"),writableBuffer:ObjectGetOwnPropertyDescriptor(Writable.prototype,\"writableBuffer\"),writableLength:ObjectGetOwnPropertyDescriptor(Writable.prototype,\"writableLength\"),writableFinished:ObjectGetOwnPropertyDescriptor(Writable.prototype,\"writableFinished\"),writableCorked:ObjectGetOwnPropertyDescriptor(Writable.prototype,\"writableCorked\"),writableEnded:ObjectGetOwnPropertyDescriptor(Writable.prototype,\"writableEnded\"),writableNeedDrain:ObjectGetOwnPropertyDescriptor(Writable.prototype,\"writableNeedDrain\"),destroyed:{get(){if(this._readableState===void 0||this._writableState===void 0)return!1;return this._readableState.destroyed&&this._writableState.destroyed},set(value){if(this._readableState&&this._writableState)this._readableState.destroyed=value,this._writableState.destroyed=value}}});var webStreamsAdapters;function lazyWebStreams(){if(webStreamsAdapters===void 0)webStreamsAdapters={};return webStreamsAdapters}Duplex.fromWeb=function(pair,options){return lazyWebStreams().newStreamDuplexFromReadableWritablePair(pair,options)},Duplex.toWeb=function(duplex){return lazyWebStreams().newReadableWritablePairFromDuplex(duplex)};var duplexify;Duplex.from=function(body){if(!duplexify)duplexify=require_duplexify();return duplexify(body,\"body\")}}}),require_transform=__commonJS({\"node_modules/readable-stream/lib/internal/streams/transform.js\"(exports2,module){var{ObjectSetPrototypeOf,Symbol:Symbol2}=require_primordials(),{ERR_METHOD_NOT_IMPLEMENTED}=require_errors().codes,Duplex=require_duplex();function Transform(options){if(!(this instanceof Transform))return new Transform(options);if(Duplex.call(this,options),this._readableState.sync=!1,this[kCallback]=null,options){if(typeof options.transform===\"function\")this._transform=options.transform;if(typeof options.flush===\"function\")this._flush=options.flush}this.on(\"prefinish\",prefinish.bind(this))}ObjectSetPrototypeOf(Transform.prototype,Duplex.prototype),ObjectSetPrototypeOf(Transform,Duplex),module.exports=Transform;var kCallback=Symbol2(\"kCallback\");function final(cb){if(typeof this._flush===\"function\"&&!this.destroyed)this._flush((er,data)=>{if(er){if(cb)cb(er);else this.destroy(er);return}if(data!=null)this.push(data);if(this.push(null),cb)cb()});else if(this.push(null),cb)cb()}function prefinish(){if(this._final!==final)final.call(this)}Transform.prototype._final=final,Transform.prototype._transform=function(chunk,encoding,callback){throw new ERR_METHOD_NOT_IMPLEMENTED(\"_transform()\")},Transform.prototype._write=function(chunk,encoding,callback){const rState=this._readableState,wState=this._writableState,length=rState.length;this._transform(chunk,encoding,(err,val)=>{if(err){callback(err);return}if(val!=null)this.push(val);if(wState.ended||length===rState.length||rState.length{finished=!0});const cleanup=eos(stream,{readable:reading,writable:writing},(err)=>{finished=!err});return{destroy:(err)=>{if(finished)return;finished=!0,destroyImpl.destroyer(stream,err||new ERR_STREAM_DESTROYED(\"pipe\"))},cleanup}}function popCallback(streams){return validateFunction(streams[streams.length-1],\"streams[stream.length - 1]\"),streams.pop()}function makeAsyncIterable(val){if(isIterable(val))return val;else if(isReadableNodeStream(val))return fromReadable(val);throw new ERR_INVALID_ARG_TYPE2(\"val\",[\"Readable\",\"Iterable\",\"AsyncIterable\"],val)}async function*fromReadable(val){if(!Readable)Readable=require_readable();yield*Readable.prototype[SymbolAsyncIterator].call(val)}async function pump(iterable,writable,finish,{end}){let error,onresolve=null;const resume=(err)=>{if(err)error=err;if(onresolve){const callback=onresolve;onresolve=null,callback()}},wait=()=>new Promise2((resolve,reject)=>{if(error)reject(error);else onresolve=()=>{if(error)reject(error);else resolve()}});writable.on(\"drain\",resume);const cleanup=eos(writable,{readable:!1},resume);try{if(writable.writableNeedDrain)await wait();for await(let chunk of iterable)if(!writable.write(chunk))await wait();if(end)writable.end();await wait(),finish()}catch(err){finish(error!==err\?aggregateTwoErrors(error,err):err)}finally{cleanup(),writable.off(\"drain\",resume)}}function pipeline(...streams){return pipelineImpl(streams,once(popCallback(streams)))}function pipelineImpl(streams,callback,opts){if(streams.length===1&&ArrayIsArray2(streams[0]))streams=streams[0];if(streams.length<2)throw new ERR_MISSING_ARGS(\"streams\");const ac=new AbortController,signal=ac.signal,outerSignal=opts===null||opts===void 0\?void 0:opts.signal,lastStreamCleanup=[];validateAbortSignal(outerSignal,\"options.signal\");function abort(){finishImpl(new AbortError)}outerSignal===null||outerSignal===void 0||outerSignal.addEventListener(\"abort\",abort);let error,value;const destroys=[];let finishCount=0;function finish(err){finishImpl(err,--finishCount===0)}function finishImpl(err,final){if(err&&(!error||error.code===\"ERR_STREAM_PREMATURE_CLOSE\"))error=err;if(!error&&!final)return;while(destroys.length)destroys.shift()(error);if(outerSignal===null||outerSignal===void 0||outerSignal.removeEventListener(\"abort\",abort),ac.abort(),final){if(!error)lastStreamCleanup.forEach((fn)=>fn());runOnNextTick(callback,error,value)}}let ret;for(let i=0;i0,end=reading||(opts===null||opts===void 0\?void 0:opts.end)!==!1,isLastStream=i===streams.length-1;if(isNodeStream(stream)){let onError=function(err){if(err&&err.name!==\"AbortError\"&&err.code!==\"ERR_STREAM_PREMATURE_CLOSE\")finish(err)};if(end){const{destroy,cleanup}=destroyer(stream,reading,writing);if(destroys.push(destroy),isReadable(stream)&&isLastStream)lastStreamCleanup.push(cleanup)}if(stream.on(\"error\",onError),isReadable(stream)&&isLastStream)lastStreamCleanup.push(()=>{stream.removeListener(\"error\",onError)})}if(i===0)if(typeof stream===\"function\"){if(ret=stream({signal}),!isIterable(ret))throw new ERR_INVALID_RETURN_VALUE(\"Iterable, AsyncIterable or Stream\",\"source\",ret)}else if(isIterable(stream)||isReadableNodeStream(stream))ret=stream;else ret=Duplex.from(stream);else if(typeof stream===\"function\")if(ret=makeAsyncIterable(ret),ret=stream(ret,{signal}),reading){if(!isIterable(ret,!0))throw new ERR_INVALID_RETURN_VALUE(\"AsyncIterable\",`transform[${i-1}]`,ret)}else{var _ret;if(!PassThrough)PassThrough=require_passthrough();const pt=new PassThrough({objectMode:!0}),then=(_ret=ret)===null||_ret===void 0\?void 0:_ret.then;if(typeof then===\"function\")finishCount++,then.call(ret,(val)=>{if(value=val,val!=null)pt.write(val);if(end)pt.end();runOnNextTick(finish)},(err)=>{pt.destroy(err),runOnNextTick(finish,err)});else if(isIterable(ret,!0))finishCount++,pump(ret,pt,finish,{end});else throw new ERR_INVALID_RETURN_VALUE(\"AsyncIterable or Promise\",\"destination\",ret);ret=pt;const{destroy,cleanup}=destroyer(ret,!1,!0);if(destroys.push(destroy),isLastStream)lastStreamCleanup.push(cleanup)}else if(isNodeStream(stream)){if(isReadableNodeStream(ret)){finishCount+=2;const cleanup=pipe(ret,stream,finish,{end});if(isReadable(stream)&&isLastStream)lastStreamCleanup.push(cleanup)}else if(isIterable(ret))finishCount++,pump(ret,stream,finish,{end});else throw new ERR_INVALID_ARG_TYPE2(\"val\",[\"Readable\",\"Iterable\",\"AsyncIterable\"],ret);ret=stream}else ret=Duplex.from(stream)}if(signal!==null&&signal!==void 0&&signal.aborted||outerSignal!==null&&outerSignal!==void 0&&outerSignal.aborted)runOnNextTick(abort);return ret}function pipe(src,dst,finish,{end}){if(src.pipe(dst,{end}),end)src.once(\"end\",()=>dst.end());else finish();return eos(src,{readable:!0,writable:!1},(err)=>{const rState=src._readableState;if(err&&err.code===\"ERR_STREAM_PREMATURE_CLOSE\"&&rState&&rState.ended&&!rState.errored&&!rState.errorEmitted)src.once(\"end\",finish).once(\"error\",finish);else finish(err)}),eos(dst,{readable:!1,writable:!0},finish)}module.exports={pipelineImpl,pipeline}}}),require_compose=__commonJS({\"node_modules/readable-stream/lib/internal/streams/compose.js\"(exports2,module){var{pipeline}=require_pipeline(),Duplex=require_duplex(),{destroyer}=require_destroy(),{isNodeStream,isReadable,isWritable}=require_utils(),{AbortError,codes:{ERR_INVALID_ARG_VALUE:ERR_INVALID_ARG_VALUE2,ERR_MISSING_ARGS}}=require_errors();module.exports=function compose(...streams){if(streams.length===0)throw new ERR_MISSING_ARGS(\"streams\");if(streams.length===1)return Duplex.from(streams[0]);const orgStreams=[...streams];if(typeof streams[0]===\"function\")streams[0]=Duplex.from(streams[0]);if(typeof streams[streams.length-1]===\"function\"){const idx=streams.length-1;streams[idx]=Duplex.from(streams[idx])}for(let n=0;n0&&!isWritable(streams[n]))throw new ERR_INVALID_ARG_VALUE2(`streams[${n}]`,orgStreams[n],\"must be writable\")}let ondrain,onfinish,onreadable,onclose,d;function onfinished(err){const cb=onclose;if(onclose=null,cb)cb(err);else if(err)d.destroy(err);else if(!readable&&!writable)d.destroy()}const head=streams[0],tail=pipeline(streams,onfinished),writable=!!isWritable(head),readable=!!isReadable(tail);if(d=new Duplex({writableObjectMode:!!(head!==null&&head!==void 0&&head.writableObjectMode),readableObjectMode:!!(tail!==null&&tail!==void 0&&tail.writableObjectMode),writable,readable}),writable)d._write=function(chunk,encoding,callback){if(head.write(chunk,encoding))callback();else ondrain=callback},d._final=function(callback){head.end(),onfinish=callback},head.on(\"drain\",function(){if(ondrain){const cb=ondrain;ondrain=null,cb()}}),tail.on(\"finish\",function(){if(onfinish){const cb=onfinish;onfinish=null,cb()}});if(readable)tail.on(\"readable\",function(){if(onreadable){const cb=onreadable;onreadable=null,cb()}}),tail.on(\"end\",function(){d.push(null)}),d._read=function(){while(!0){const buf=tail.read();if(buf===null){onreadable=d._read;return}if(!d.push(buf))return}};return d._destroy=function(err,callback){if(!err&&onclose!==null)err=new AbortError;if(onreadable=null,ondrain=null,onfinish=null,onclose===null)callback(err);else onclose=callback,destroyer(tail,err)},d}}}),require_promises=__commonJS({\"node_modules/readable-stream/lib/stream/promises.js\"(exports2,module){var{ArrayPrototypePop,Promise:Promise2}=require_primordials(),{isIterable,isNodeStream}=require_utils(),{pipelineImpl:pl}=require_pipeline(),{finished}=require_end_of_stream();function pipeline(...streams){return new Promise2((resolve,reject)=>{let signal,end;const lastArg=streams[streams.length-1];if(lastArg&&typeof lastArg===\"object\"&&!isNodeStream(lastArg)&&!isIterable(lastArg)){const options=ArrayPrototypePop(streams);signal=options.signal,end=options.end}pl(streams,(err,value)=>{if(err)reject(err);else resolve(value)},{signal,end})})}module.exports={finished,pipeline}}}),require_stream=__commonJS({\"node_modules/readable-stream/lib/stream.js\"(exports2,module){var{ObjectDefineProperty,ObjectKeys,ReflectApply}=require_primordials(),{promisify:{custom:customPromisify}}=require_util(),{streamReturningOperators,promiseReturningOperators}=require_operators(),{codes:{ERR_ILLEGAL_CONSTRUCTOR}}=require_errors(),compose=require_compose(),{pipeline}=require_pipeline(),{destroyer}=require_destroy(),eos=require_end_of_stream(),promises2=require_promises(),utils=require_utils(),Stream=module.exports=require_legacy().Stream;Stream.isDisturbed=utils.isDisturbed,Stream.isErrored=utils.isErrored,Stream.isWritable=utils.isWritable,Stream.isReadable=utils.isReadable,Stream.Readable=require_readable();for(let key of ObjectKeys(streamReturningOperators)){let fn=function(...args){if(new.target)throw ERR_ILLEGAL_CONSTRUCTOR();return Stream.Readable.from(ReflectApply(op,this,args))};const op=streamReturningOperators[key];ObjectDefineProperty(fn,\"name\",{value:op.name}),ObjectDefineProperty(fn,\"length\",{value:op.length}),ObjectDefineProperty(Stream.Readable.prototype,key,{value:fn,enumerable:!1,configurable:!0,writable:!0})}for(let key of ObjectKeys(promiseReturningOperators)){let fn=function(...args){if(new.target)throw ERR_ILLEGAL_CONSTRUCTOR();return ReflectApply(op,this,args)};const op=promiseReturningOperators[key];ObjectDefineProperty(fn,\"name\",{value:op.name}),ObjectDefineProperty(fn,\"length\",{value:op.length}),ObjectDefineProperty(Stream.Readable.prototype,key,{value:fn,enumerable:!1,configurable:!0,writable:!0})}Stream.Writable=require_writable(),Stream.Duplex=require_duplex(),Stream.Transform=require_transform(),Stream.PassThrough=require_passthrough(),Stream.pipeline=pipeline;var{addAbortSignal}=require_add_abort_signal();Stream.addAbortSignal=addAbortSignal,Stream.finished=eos,Stream.destroy=destroyer,Stream.compose=compose,ObjectDefineProperty(Stream,\"promises\",{configurable:!0,enumerable:!0,get(){return promises2}}),ObjectDefineProperty(pipeline,customPromisify,{enumerable:!0,get(){return promises2.pipeline}}),ObjectDefineProperty(eos,customPromisify,{enumerable:!0,get(){return promises2.finished}}),Stream.Stream=Stream,Stream._isUint8Array=function isUint8Array(value){return value instanceof Uint8Array},Stream._uint8ArrayToBuffer=function _uint8ArrayToBuffer(chunk){return new Buffer(chunk.buffer,chunk.byteOffset,chunk.byteLength)}}});function createNativeStreamReadable(nativeType,Readable){var[pull,start,cancel,setClose,deinit,updateRef,drainFn]=globalThis[globalThis.Symbol.for('Bun.lazy')](nativeType),closer=[!1],handleNumberResult=function(nativeReadable,result,view,isClosed){if(result>0){const slice=view.subarray(0,result),remainder=view.subarray(result);if(slice.byteLength>0)nativeReadable.push(slice);if(isClosed)nativeReadable.push(null);return remainder.byteLength>0\?remainder:void 0}if(isClosed)nativeReadable.push(null);return view},handleArrayBufferViewResult=function(nativeReadable,result,view,isClosed){if(result.byteLength>0)nativeReadable.push(result);if(isClosed)nativeReadable.push(null);return view},DYNAMICALLY_ADJUST_CHUNK_SIZE=process.env.BUN_DISABLE_DYNAMIC_CHUNK_SIZE!==\"1\";const finalizer=new FinalizationRegistry((ptr)=>ptr&&deinit(ptr)),MIN_BUFFER_SIZE=512;var NativeReadable=class NativeReadable2 extends Readable{#bunNativePtr;#refCount=1;#constructed=!1;#remainingChunk=void 0;#highWaterMark;#pendingRead=!1;#hasResized=!DYNAMICALLY_ADJUST_CHUNK_SIZE;#unregisterToken;constructor(ptr,options={}){super(options);if(typeof options.highWaterMark===\"number\")this.#highWaterMark=options.highWaterMark;else this.#highWaterMark=262144;this.#bunNativePtr=ptr,this.#constructed=!1,this.#remainingChunk=void 0,this.#pendingRead=!1,this.#unregisterToken={},finalizer.register(this,this.#bunNativePtr,this.#unregisterToken)}_read(maxToRead){if(this.#pendingRead)return;var ptr=this.#bunNativePtr;if(ptr===0){this.push(null);return}if(!this.#constructed)this.#internalConstruct(ptr);return this.#internalRead(this.#getRemainingChunk(maxToRead),ptr)}#internalConstruct(ptr){this.#constructed=!0;const result=start(ptr,this.#highWaterMark);if(typeof result===\"number\"&&result>1)this.#hasResized=!0,this.#highWaterMark=Math.min(this.#highWaterMark,result);if(drainFn){const drainResult=drainFn(ptr);if((drainResult\?.byteLength\?\?0)>0)this.push(drainResult)}}#getRemainingChunk(maxToRead=this.#highWaterMark){var chunk=this.#remainingChunk;if(chunk\?.byteLength\?\?0MIN_BUFFER_SIZE\?maxToRead:MIN_BUFFER_SIZE;this.#remainingChunk=chunk=new Buffer(size)}return chunk}#handleResult(result,view,isClosed){if(typeof result===\"number\"){if(result>=this.#highWaterMark&&!this.#hasResized&&!isClosed)this.#highWaterMark*=2,this.#hasResized=!0;return handleNumberResult(this,result,view,isClosed)}else if(typeof result===\"boolean\")return process.nextTick(()=>{this.push(null)}),view\?.byteLength\?\?0>0\?view:void 0;else if(ArrayBuffer.isView(result)){if(result.byteLength>=this.#highWaterMark&&!this.#hasResized&&!isClosed)this.#highWaterMark*=2,this.#hasResized=!0;return handleArrayBufferViewResult(this,result,view,isClosed)}else throw new Error(\"Invalid result from pull\")}#internalRead(view,ptr){closer[0]=!1;var result=pull(ptr,view,closer);if(isPromise(result))return this.#pendingRead=!0,result.then((result2)=>{this.#pendingRead=!1,this.#remainingChunk=this.#handleResult(result2,view,closer[0])},(reason)=>{errorOrDestroy(this,reason)});else this.#remainingChunk=this.#handleResult(result,view,closer[0])}_destroy(error,callback){var ptr=this.#bunNativePtr;if(ptr===0){callback(error);return}if(finalizer.unregister(this.#unregisterToken),this.#bunNativePtr=0,updateRef)updateRef(ptr,!1);cancel(ptr,error),callback(error)}ref(){var ptr=this.#bunNativePtr;if(ptr===0)return;if(this.#refCount++===0)updateRef(ptr,!0)}unref(){var ptr=this.#bunNativePtr;if(ptr===0)return;if(this.#refCount--===1)updateRef(ptr,!1)}};if(!updateRef)NativeReadable.prototype.ref=void 0,NativeReadable.prototype.unref=void 0;return NativeReadable}var nativeReadableStreamPrototypes={0:void 0,1:void 0,2:void 0,3:void 0,4:void 0,5:void 0};function getNativeReadableStreamPrototype(nativeType,Readable){return nativeReadableStreamPrototypes[nativeType]||=createNativeStreamReadable(nativeType,Readable)}function getNativeReadableStream(Readable,stream,options){if(!(stream&&typeof stream===\"object\"&&stream instanceof ReadableStream))return;const native=@direct(stream);if(!native)return;const{stream:ptr,data:type}=native;return new(getNativeReadableStreamPrototype(type,Readable))(ptr,options)}var Writable=require_writable(),NativeWritable=class NativeWritable2 extends Writable{#pathOrFdOrSink;#fileSink;#native=!0;_construct;_destroy;_final;constructor(pathOrFdOrSink,options={}){super(options);this._construct=this.#internalConstruct,this._destroy=this.#internalDestroy,this._final=this.#internalFinal,this.#pathOrFdOrSink=pathOrFdOrSink}#internalConstruct(cb){this._writableState.constructed=!0,this.constructed=!0,cb()}#lazyConstruct(){if(typeof this.#pathOrFdOrSink===\"object\")if(typeof this.#pathOrFdOrSink.write===\"function\")this.#fileSink=this.#pathOrFdOrSink;else throw new Error(\"Invalid FileSink\");else this.#fileSink=Bun.file(this.#pathOrFdOrSink).writer()}write(chunk,encoding,cb,native=this.#native){if(!native)return this.#native=!1,super.write(chunk,encoding,cb);if(!this.#fileSink)this.#lazyConstruct();var fileSink=this.#fileSink,result=fileSink.write(chunk);if(isPromise(result))return result.then(()=>{this.emit(\"drain\"),fileSink.flush(!0)}),!1;if(fileSink.flush(!0),cb)cb(null,chunk.byteLength);return!0}end(chunk,encoding,cb,native=this.#native){return super.end(chunk,encoding,cb,native)}#internalDestroy(error,cb){if(this._writableState.destroyed=!0,cb)cb(error)}#internalFinal(cb){if(this.#fileSink)this.#fileSink.end();if(cb)cb()}ref(){if(!this.#fileSink)this.#lazyConstruct();this.#fileSink.ref()}unref(){if(!this.#fileSink)return;this.#fileSink.unref()}};const exports=require_stream(),promises=require_promises(),originalDestroy=exports.Readable.destroy;return exports._getNativeReadableStreamPrototype=getNativeReadableStreamPrototype,exports.NativeWritable=NativeWritable,Object.defineProperty(exports,\"promises\",{configurable:!0,enumerable:!0,get(){return promises}}),exports[Symbol.for(\"::bunternal::\")]={_ReadableFromWeb,_ReadableFromWebForUndici},exports.eos=require_end_of_stream(),exports})\n"_s; +static constexpr ASCIILiteral NodeStreamPromisesCode = "(function (){\"use strict\";return @requireId(30).promises})\n"_s; +static constexpr ASCIILiteral NodeStreamWebCode = "(function (){\"use strict\";return{ReadableStream,ReadableStreamDefaultReader,ReadableStreamBYOBReader,ReadableStreamBYOBRequest,ReadableByteStreamController,ReadableStreamDefaultController,TransformStream,TransformStreamDefaultController,WritableStream,WritableStreamDefaultWriter,WritableStreamDefaultController,ByteLengthQueuingStrategy,CountQueuingStrategy}})\n"_s; +static constexpr ASCIILiteral NodeTimersCode = "(function (){\"use strict\";return{setTimeout,clearTimeout,setInterval,setImmediate,clearInterval,clearImmediate}})\n"_s; +static constexpr ASCIILiteral NodeTimersPromisesCode = "(function (){\"use strict\";var $;const symbolAsyncIterator=Symbol.asyncIterator;class ERR_INVALID_ARG_TYPE extends Error{constructor(name,expected,actual){super(`${name} must be ${expected}, ${typeof actual} given`);this.code=\"ERR_INVALID_ARG_TYPE\"}}class AbortError extends Error{constructor(){super(\"The operation was aborted\");this.code=\"ABORT_ERR\"}}function validateObject(object,name){if(object===null||typeof object!==\"object\")throw new ERR_INVALID_ARG_TYPE(name,\"Object\",object)}function validateBoolean(value,name){if(typeof value!==\"boolean\")throw new ERR_INVALID_ARG_TYPE(name,\"boolean\",value)}function validateAbortSignal(signal,name){if(typeof signal!==\"undefined\"&&(signal===null||typeof signal!==\"object\"||!(\"aborted\"in signal)))throw new ERR_INVALID_ARG_TYPE(name,\"AbortSignal\",signal)}function asyncIterator({next:nextFunction,return:returnFunction}){const result={};if(typeof nextFunction===\"function\")result.next=nextFunction;if(typeof returnFunction===\"function\")result.return=returnFunction;return result[symbolAsyncIterator]=function(){return this},result}function setTimeoutPromise(after=1,value,options={}){const arguments_=[].concat(value\?\?[]);try{validateObject(options,\"options\")}catch(error){return Promise.reject(error)}const{signal,ref:reference=!0}=options;try{validateAbortSignal(signal,\"options.signal\")}catch(error){return Promise.reject(error)}try{validateBoolean(reference,\"options.ref\")}catch(error){return Promise.reject(error)}if(signal\?.aborted)return Promise.reject(new AbortError);let onCancel;const returnValue=new Promise((resolve,reject)=>{const timeout=setTimeout(()=>resolve(value),after,...arguments_);if(!reference)timeout\?.unref\?.();if(signal)onCancel=()=>{clearTimeout(timeout),reject(new AbortError)},signal.addEventListener(\"abort\",onCancel)});if(typeof onCancel!==\"undefined\")returnValue.finally(()=>signal.removeEventListener(\"abort\",onCancel));return returnValue}function setImmediatePromise(value,options={}){try{validateObject(options,\"options\")}catch(error){return Promise.reject(error)}const{signal,ref:reference=!0}=options;try{validateAbortSignal(signal,\"options.signal\")}catch(error){return Promise.reject(error)}try{validateBoolean(reference,\"options.ref\")}catch(error){return Promise.reject(error)}if(signal\?.aborted)return Promise.reject(new AbortError);let onCancel;const returnValue=new Promise((resolve,reject)=>{const immediate=setImmediate(()=>resolve(value));if(!reference)immediate\?.unref\?.();if(signal)onCancel=()=>{clearImmediate(immediate),reject(new AbortError)},signal.addEventListener(\"abort\",onCancel)});if(typeof onCancel!==\"undefined\")returnValue.finally(()=>signal.removeEventListener(\"abort\",onCancel));return returnValue}function setIntervalPromise(after=1,value,options={}){try{validateObject(options,\"options\")}catch(error){return asyncIterator({next:function(){return Promise.reject(error)}})}const{signal,ref:reference=!0}=options;try{validateAbortSignal(signal,\"options.signal\")}catch(error){return asyncIterator({next:function(){return Promise.reject(error)}})}try{validateBoolean(reference,\"options.ref\")}catch(error){return asyncIterator({next:function(){return Promise.reject(error)}})}if(signal\?.aborted)return asyncIterator({next:function(){return Promise.reject(new AbortError)}});let onCancel,interval;try{let notYielded=0,callback;if(interval=setInterval(()=>{if(notYielded++,callback)callback(),callback=void 0},after),!reference)interval\?.unref\?.();if(signal)onCancel=()=>{if(clearInterval(interval),callback)callback(),callback=void 0},signal.addEventListener(\"abort\",onCancel);return asyncIterator({next:function(){return new Promise((resolve,reject)=>{if(!signal\?.aborted)if(notYielded===0)callback=resolve;else resolve();else if(notYielded===0)reject(new AbortError);else resolve()}).then(()=>{if(notYielded>0)return notYielded=notYielded-1,{done:!1,value};return{done:!0}})},return:function(){return clearInterval(interval),signal\?.removeEventListener(\"abort\",onCancel),Promise.resolve({})}})}catch(error){return asyncIterator({next:function(){clearInterval(interval),signal\?.removeEventListener(\"abort\",onCancel)}})}}return $={setTimeout:setTimeoutPromise,setImmediate:setImmediatePromise,setInterval:setIntervalPromise,scheduler:{wait:(delay,options)=>setTimeoutPromise(delay,void 0,options),yield:setImmediatePromise}},$})\n"_s; +static constexpr ASCIILiteral NodeTLSCode = "(function (){\"use strict\";const{isArrayBufferView,isTypedArray}=@requireBuiltin(55),net=@requireId(20),{Server:NetServer,[Symbol.for(\"::bunternal::\")]:InternalTCPSocket}=net,bunSocketInternal=Symbol.for(\"::bunnetsocketinternal::\"),SymbolReplace=Symbol.replace,RegExpPrototypeSymbolReplace=RegExp.prototype[SymbolReplace],RegExpPrototypeExec=RegExp.prototype.exec,StringPrototypeStartsWith=String.prototype.startsWith,StringPrototypeSlice=String.prototype.slice,StringPrototypeIncludes=String.prototype.includes,StringPrototypeSplit=String.prototype.split,StringPrototypeIndexOf=String.prototype.indexOf,StringPrototypeSubstring=String.prototype.substring,StringPrototypeEndsWith=String.prototype.endsWith,StringFromCharCode=String.fromCharCode,StringPrototypeCharCodeAt=String.prototype.charCodeAt,ArrayPrototypeIncludes=Array.prototype.includes,ArrayPrototypeJoin=Array.prototype.join,ArrayPrototypeForEach=Array.prototype.forEach,ArrayPrototypePush=Array.prototype.push,ArrayPrototypeSome=Array.prototype.some,ArrayPrototypeReduce=Array.prototype.reduce;function parseCertString(){throwNotImplemented(\"Not implemented\")}function isValidTLSArray(obj){if(typeof obj===\"string\"||isTypedArray(obj)||obj instanceof ArrayBuffer||obj instanceof Blob)return!0;if(Array.isArray(obj)){for(var i=0;iRegExpPrototypeExec.call(/[^\\u0021-\\u007F]/u,s)!==null;if(ArrayPrototypeSome.call(patternParts,isBad))return!1;for(let i=hostParts.length-1;i>0;i-=1)if(hostParts[i]!==patternParts[i])return!1;const hostSubdomain=hostParts[0],patternSubdomain=patternParts[0],patternSubdomainParts=StringPrototypeSplit.call(patternSubdomain,\"*\");if(patternSubdomainParts.length===1||StringPrototypeIncludes.call(patternSubdomain,\"xn--\"))return hostSubdomain===patternSubdomain;if(!wildcards)return!1;if(patternSubdomainParts.length>2)return!1;if(patternParts.length<=2)return!1;const{0:prefix,1:suffix}=patternSubdomainParts;if(prefix.length+suffix.length>hostSubdomain.length)return!1;if(!StringPrototypeStartsWith.call(hostSubdomain,prefix))return!1;if(!StringPrototypeEndsWith.call(hostSubdomain,suffix))return!1;return!0}const jsonStringPattern=/^\"(\?:[^\"\\\\\\u0000-\\u001f]|\\\\(\?:[\"\\\\/bfnrt]|u[0-9a-fA-F]{4}))*\"/;function splitEscapedAltNames(altNames){const result=[];let currentToken=\"\",offset=0;while(offset!==altNames.length){const nextSep=StringPrototypeIndexOf.call(altNames,\", \",offset),nextQuote=StringPrototypeIndexOf.call(altNames,'\"',offset);if(nextQuote!==-1&&(nextSep===-1||nextQuote{if(StringPrototypeStartsWith.call(name,\"DNS:\"))ArrayPrototypePush.call(dnsNames,StringPrototypeSlice.call(name,4));else if(StringPrototypeStartsWith.call(name,\"IP Address:\"))ArrayPrototypePush.call(ips,canonicalizeIP(StringPrototypeSlice.call(name,11)))})}let valid=!1,reason=\"Unknown reason\";if(hostname=unfqdn(hostname),net.isIP(hostname)){if(valid=ArrayPrototypeIncludes.call(ips,canonicalizeIP(hostname)),!valid)reason=`IP: ${hostname} is not in the cert's list: `+ArrayPrototypeJoin.call(ips,\", \")}else if(dnsNames.length>0||subject\?.CN){const hostParts=splitHost(hostname),wildcard=(pattern)=>check(hostParts,pattern,!0);if(dnsNames.length>0){if(valid=ArrayPrototypeSome.call(dnsNames,wildcard),!valid)reason=`Host: ${hostname}. is not in the cert's altnames: ${altNames}`}else{const cn=subject.CN;if(Array.isArray(cn))valid=ArrayPrototypeSome.call(cn,wildcard);else if(cn)valid=wildcard(cn);if(!valid)reason=`Host: ${hostname}. is not cert's CN: ${cn}`}}else reason=\"Cert does not contain a DNS name\";if(!valid){let error=new Error(`ERR_TLS_CERT_ALTNAME_INVALID: Hostname/IP does not match certificate's altnames: ${reason}`);return error.name=\"ERR_TLS_CERT_ALTNAME_INVALID\",error.reason=reason,error.host=host,error.cert=cert,error}}var InternalSecureContext=class SecureContext2{context;constructor(options){const context={};if(options){let key=options.key;if(key){if(!isValidTLSArray(key))@throwTypeError(\"key argument must be an string, Buffer, TypedArray, BunFile or an array containing string, Buffer, TypedArray or BunFile\");this.key=key}let cert=options.cert;if(cert){if(!isValidTLSArray(cert))@throwTypeError(\"cert argument must be an string, Buffer, TypedArray, BunFile or an array containing string, Buffer, TypedArray or BunFile\");this.cert=cert}let ca=options.ca;if(ca){if(!isValidTLSArray(ca))@throwTypeError(\"ca argument must be an string, Buffer, TypedArray, BunFile or an array containing string, Buffer, TypedArray or BunFile\");this.ca=ca}let passphrase=options.passphrase;if(passphrase&&typeof passphrase!==\"string\")@throwTypeError(\"passphrase argument must be an string\");this.passphrase=passphrase;let servername=options.servername;if(servername&&typeof servername!==\"string\")@throwTypeError(\"servername argument must be an string\");this.servername=servername;let secureOptions=options.secureOptions||0;if(secureOptions&&typeof secureOptions!==\"number\")@throwTypeError(\"secureOptions argument must be an number\");this.secureOptions=secureOptions}this.context=context}};function SecureContext(options){return new InternalSecureContext(options)}function createSecureContext(options){return new SecureContext(options)}function translatePeerCertificate(c){if(!c)return null;if(c.issuerCertificate!=null&&c.issuerCertificate!==c)c.issuerCertificate=translatePeerCertificate(c.issuerCertificate);if(c.infoAccess!=null){const info=c.infoAccess;c.infoAccess={__proto__:null},RegExpPrototypeSymbolReplace.call(/([^\\n:]*):([^\\n]*)(\?:\\n|$)/g,info,(all,key,val)=>{if(val.charCodeAt(0)===34)val=JSONParse(val);if(key in c.infoAccess)ArrayPrototypePush.call(c.infoAccess[key],val);else c.infoAccess[key]=[val]})}return c}const buntls=Symbol.for(\"::buntls::\");var SocketClass;const TLSSocket=function(InternalTLSSocket){return SocketClass=InternalTLSSocket,Object.defineProperty(SocketClass.prototype,Symbol.toStringTag,{value:\"TLSSocket\",enumerable:!1}),Object.defineProperty(function Socket(options){return new InternalTLSSocket(options)},Symbol.hasInstance,{value(instance){return instance instanceof InternalTLSSocket}})}(class TLSSocket2 extends InternalTCPSocket{#secureContext;ALPNProtocols;#socket;#checkServerIdentity;#session;constructor(socket,options){super(socket instanceof InternalTCPSocket\?options:options||socket);if(options=options||socket||{},typeof options===\"object\"){const{ALPNProtocols}=options;if(ALPNProtocols)convertALPNProtocols(ALPNProtocols,this);if(socket instanceof InternalTCPSocket)this.#socket=socket}this.#secureContext=options.secureContext||createSecureContext(options),this.authorized=!1,this.secureConnecting=!0,this._secureEstablished=!1,this._securePending=!0,this.#checkServerIdentity=options.checkServerIdentity||checkServerIdentity,this.#session=options.session||null}_secureEstablished=!1;_securePending=!0;_newSessionPending;_controlReleased;secureConnecting=!1;_SNICallback;servername;authorized=!1;authorizationError;#renegotiationDisabled=!1;encrypted=!0;_start(){this.connect()}getSession(){return this[bunSocketInternal]\?.getSession()}getEphemeralKeyInfo(){return this[bunSocketInternal]\?.getEphemeralKeyInfo()}getCipher(){return this[bunSocketInternal]\?.getCipher()}getSharedSigalgs(){return this[bunSocketInternal]\?.getSharedSigalgs()}getProtocol(){return this[bunSocketInternal]\?.getTLSVersion()}getFinished(){return this[bunSocketInternal]\?.getTLSFinishedMessage()||void 0}getPeerFinished(){return this[bunSocketInternal]\?.getTLSPeerFinishedMessage()||void 0}isSessionReused(){return!!this.#session}renegotiate(){if(this.#renegotiationDisabled){const error=new Error(\"ERR_TLS_RENEGOTIATION_DISABLED: TLS session renegotiation disabled for this socket\");throw error.name=\"ERR_TLS_RENEGOTIATION_DISABLED\",error}throw Error(\"Not implented in Bun yet\")}disableRenegotiation(){this.#renegotiationDisabled=!0}getTLSTicket(){return this[bunSocketInternal]\?.getTLSTicket()}exportKeyingMaterial(length,label,context){if(context)return this[bunSocketInternal]\?.exportKeyingMaterial(length,label,context);return this[bunSocketInternal]\?.exportKeyingMaterial(length,label)}setMaxSendFragment(size){return this[bunSocketInternal]\?.setMaxSendFragment(size)||!1}enableTrace(){}setServername(name){if(this.isServer){let error=new Error(\"ERR_TLS_SNI_FROM_SERVER: Cannot issue SNI from a TLS server-side socket\");throw error.name=\"ERR_TLS_SNI_FROM_SERVER\",error}this.servername=name,this[bunSocketInternal]\?.setServername(name)}setSession(session){if(this.#session=session,typeof session===\"string\")session=Buffer.from(session,\"latin1\");return this[bunSocketInternal]\?.setSession(session)}getPeerCertificate(abbreviated){const cert=arguments.length<1\?this[bunSocketInternal]\?.getPeerCertificate():this[bunSocketInternal]\?.getPeerCertificate(abbreviated);if(cert)return translatePeerCertificate(cert)}getCertificate(){const cert=this[bunSocketInternal]\?.getCertificate();if(cert)return translatePeerCertificate(cert)}getPeerX509Certificate(){throw Error(\"Not implented in Bun yet\")}getX509Certificate(){throw Error(\"Not implented in Bun yet\")}get alpnProtocol(){return this[bunSocketInternal]\?.alpnProtocol}[buntls](port,host2){return{socket:this.#socket,ALPNProtocols:this.ALPNProtocols,serverName:this.servername||host2||\"localhost\",checkServerIdentity:this.#checkServerIdentity,session:this.#session,...this.#secureContext}}});class Server extends NetServer{key;cert;ca;passphrase;secureOptions;_rejectUnauthorized;_requestCert;servername;ALPNProtocols;constructor(options,secureConnectionListener){super(options,secureConnectionListener);this.setSecureContext(options)}setSecureContext(options){if(options instanceof InternalSecureContext)options=options.context;if(options){const{ALPNProtocols}=options;if(ALPNProtocols)convertALPNProtocols(ALPNProtocols,this);let key=options.key;if(key){if(!isValidTLSArray(key))@throwTypeError(\"key argument must be an string, Buffer, TypedArray, BunFile or an array containing string, Buffer, TypedArray or BunFile\");this.key=key}let cert=options.cert;if(cert){if(!isValidTLSArray(cert))@throwTypeError(\"cert argument must be an string, Buffer, TypedArray, BunFile or an array containing string, Buffer, TypedArray or BunFile\");this.cert=cert}let ca=options.ca;if(ca){if(!isValidTLSArray(ca))@throwTypeError(\"ca argument must be an string, Buffer, TypedArray, BunFile or an array containing string, Buffer, TypedArray or BunFile\");this.ca=ca}let passphrase=options.passphrase;if(passphrase&&typeof passphrase!==\"string\")@throwTypeError(\"passphrase argument must be an string\");this.passphrase=passphrase;let servername=options.servername;if(servername&&typeof servername!==\"string\")@throwTypeError(\"servername argument must be an string\");this.servername=servername;let secureOptions=options.secureOptions||0;if(secureOptions&&typeof secureOptions!==\"number\")@throwTypeError(\"secureOptions argument must be an number\");this.secureOptions=secureOptions;const requestCert=options.requestCert||!1;if(requestCert)this._requestCert=requestCert;else this._requestCert=void 0;const rejectUnauthorized=options.rejectUnauthorized||!1;if(rejectUnauthorized)this._rejectUnauthorized=rejectUnauthorized;else this._rejectUnauthorized=void 0}}getTicketKeys(){throw Error(\"Not implented in Bun yet\")}setTicketKeys(){throw Error(\"Not implented in Bun yet\")}[buntls](port,host2,isClient){return[{serverName:this.servername||host2||\"localhost\",key:this.key,cert:this.cert,ca:this.ca,passphrase:this.passphrase,secureOptions:this.secureOptions,rejectUnauthorized:isClient\?!1:this._rejectUnauthorized,requestCert:isClient\?!1:this._requestCert,ALPNProtocols:this.ALPNProtocols},SocketClass]}}function createServer(options,connectionListener){return new Server(options,connectionListener)}const CLIENT_RENEG_LIMIT=3,CLIENT_RENEG_WINDOW=600,DEFAULT_ECDH_CURVE=\"auto\",DEFAULT_CIPHERS=\"DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256\",DEFAULT_MIN_VERSION=\"TLSv1.2\",DEFAULT_MAX_VERSION=\"TLSv1.3\",createConnection=(port,host2,connectListener)=>{if(typeof port===\"object\"){port.checkServerIdentity;const{ALPNProtocols}=port;if(ALPNProtocols)convertALPNProtocols(ALPNProtocols,port);return new TLSSocket(port).connect(port,host2,connectListener)}return new TLSSocket().connect(port,host2,connectListener)},connect=createConnection;function getCiphers(){return DEFAULT_CIPHERS.split(\":\")}function getCurves(){return}function convertProtocols(protocols){const lens=new Array(protocols.length),buff=Buffer.allocUnsafe(ArrayPrototypeReduce.call(protocols,(p,c,i)=>{const len=Buffer.byteLength(c);if(len>255)@throwRangeError(\"The byte length of the protocol at index \"+`${i} exceeds the maximum length.`,\"<= 255\",len,!0);return lens[i]=len,p+1+len},0));let offset=0;for(let i=0,c=protocols.length;i\",'\"',\"`\",\" \",\"\\r\",\"\\n\",\"\\t\"],unwise=[\"{\",\"}\",\"|\",\"\\\\\",\"^\",\"`\"].concat(delims),autoEscape=[\"'\"].concat(unwise),nonHostChars=[\"%\",\"/\",\"\?\",\";\",\"#\"].concat(autoEscape),hostEndingChars=[\"/\",\"\?\",\"#\"],hostnameMaxLen=255,hostnamePartPattern=/^[+a-z0-9A-Z_-]{0,63}$/,hostnamePartStart=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,unsafeProtocol={javascript:!0,\"javascript:\":!0},hostlessProtocol={javascript:!0,\"javascript:\":!0},slashedProtocol={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,\"http:\":!0,\"https:\":!0,\"ftp:\":!0,\"gopher:\":!0,\"file:\":!0};function urlParse(url,parseQueryString,slashesDenoteHost){if(url&&typeof url===\"object\"&&url instanceof Url)return url;var u=new Url;return u.parse(url,parseQueryString,slashesDenoteHost),u}Url.prototype.parse=function(url,parseQueryString,slashesDenoteHost){if(typeof url!==\"string\")@throwTypeError(\"Parameter 'url' must be a string, not \"+typeof url);var queryIndex=url.indexOf(\"\?\"),splitter=queryIndex!==-1&&queryIndex127)newpart+=\"x\";else newpart+=part[j];if(!newpart.match(hostnamePartPattern)){var validParts=hostparts.slice(0,i),notHost=hostparts.slice(i+1),bit=part.match(hostnamePartStart);if(bit)validParts.push(bit[1]),notHost.unshift(bit[2]);if(notHost.length)rest=\"/\"+notHost.join(\".\")+rest;this.hostname=validParts.join(\".\");break}}}}if(this.hostname.length>hostnameMaxLen)this.hostname=\"\";else this.hostname=this.hostname.toLowerCase();if(!ipv6Hostname)this.hostname=new URL(\"http://\"+this.hostname).hostname;var p=this.port\?\":\"+this.port:\"\",h=this.hostname||\"\";if(this.host=h+p,this.href+=this.host,ipv6Hostname){if(this.hostname=this.hostname.substr(1,this.hostname.length-2),rest[0]!==\"/\")rest=\"/\"+rest}}if(!unsafeProtocol[lowerProto])for(var i=0,l=autoEscape.length;i0\?result.host.split(\"@\"):!1;if(authInHost)result.auth=authInHost.shift(),result.hostname=authInHost.shift(),result.host=result.hostname}if(result.search=relative.search,result.query=relative.query,result.pathname!==null||result.search!==null)result.path=(result.pathname\?result.pathname:\"\")+(result.search\?result.search:\"\");return result.href=result.format(),result}if(!srcPath.length){if(result.pathname=null,result.search)result.path=\"/\"+result.search;else result.path=null;return result.href=result.format(),result}var last=srcPath.slice(-1)[0],hasTrailingSlash=(result.host||relative.host||srcPath.length>1)&&(last===\".\"||last===\"..\")||last===\"\",up=0;for(var i=srcPath.length;i>=0;i--)if(last=srcPath[i],last===\".\")srcPath.splice(i,1);else if(last===\"..\")srcPath.splice(i,1),up++;else if(up)srcPath.splice(i,1),up--;if(!mustEndAbs&&!removeAllDots)for(;up--;up)srcPath.unshift(\"..\");if(mustEndAbs&&srcPath[0]!==\"\"&&(!srcPath[0]||srcPath[0].charAt(0)!==\"/\"))srcPath.unshift(\"\");if(hasTrailingSlash&&srcPath.join(\"/\").substr(-1)!==\"/\")srcPath.push(\"\");var isAbsolute=srcPath[0]===\"\"||srcPath[0]&&srcPath[0].charAt(0)===\"/\";if(psychotic){result.hostname=isAbsolute\?\"\":srcPath.length\?srcPath.shift():\"\",result.host=result.hostname;var authInHost=result.host&&result.host.indexOf(\"@\")>0\?result.host.split(\"@\"):!1;if(authInHost)result.auth=authInHost.shift(),result.hostname=authInHost.shift(),result.host=result.hostname}if(mustEndAbs=mustEndAbs||result.host&&srcPath.length,mustEndAbs&&!isAbsolute)srcPath.unshift(\"\");if(srcPath.length>0)result.pathname=srcPath.join(\"/\");else result.pathname=null,result.path=null;if(result.pathname!==null||result.search!==null)result.path=(result.pathname\?result.pathname:\"\")+(result.search\?result.search:\"\");return result.auth=relative.auth||result.auth,result.slashes=result.slashes||relative.slashes,result.href=result.format(),result},Url.prototype.parseHost=function(){var host=this.host,port=portPattern.exec(host);if(port){if(port=port[0],port!==\":\")this.port=port.substr(1);host=host.substr(0,host.length-port.length)}if(host)this.hostname=host};function urlToHttpOptions(url){const options={protocol:url.protocol,hostname:typeof url.hostname===\"string\"&&url.hostname.startsWith(\"[\")\?url.hostname.slice(1,-1):url.hostname,hash:url.hash,search:url.search,pathname:url.pathname,path:`${url.pathname||\"\"}${url.search||\"\"}`,href:url.href};if(url.port!==\"\")options.port=Number(url.port);if(url.username||url.password)options.auth=`${decodeURIComponent(url.username)}:${decodeURIComponent(url.password)}`;return options}const lazy=@lazy,pathToFileURL=lazy(\"pathToFileURL\"),fileURLToPath=lazy(\"fileURLToPath\");return{parse:urlParse,resolve:urlResolve,resolveObject:urlResolveObject,format:urlFormat,Url,URLSearchParams,URL,pathToFileURL,fileURLToPath,urlToHttpOptions}})\n"_s; +static constexpr ASCIILiteral NodeUtilCode = "(function (){\"use strict\";const types=@requireBuiltin(55);var cjs_exports={};function isBufferInterface({copy,fill,readUint8}){return typeof copy===\"function\"&&typeof fill===\"function\"&&typeof readUint8===\"function\"}function isBuffer(value){return Buffer.isBuffer(value)||typeof value===\"object\"&&isBufferInterface(value||{})}function isFunction(value){return typeof value===\"function\"}const deepEquals=Bun.deepEquals,isDeepStrictEqual=(a,b)=>deepEquals(a,b,!0);var getOwnPropertyDescriptors=Object.getOwnPropertyDescriptors,formatRegExp=/%[sdj%]/g;function format(f){if(!isString(f)){var objects=[];for(var i=0;i=len)return x2;switch(x2){case\"%s\":return String(args[i++]);case\"%d\":return Number(args[i++]);case\"%j\":try{return JSON.stringify(args[i++])}catch(_){return\"[Circular]\"}default:return x2}});for(var x=args[i];i=3)ctx.depth=arguments[2];if(arguments.length>=4)ctx.colors=arguments[3];if(isBoolean(opts))ctx.showHidden=opts;else if(opts)_extend(ctx,opts);if(isUndefined(ctx.showHidden))ctx.showHidden=!1;if(isUndefined(ctx.depth))ctx.depth=2;if(isUndefined(ctx.colors))ctx.colors=!1;if(isUndefined(ctx.customInspect))ctx.customInspect=!0;if(ctx.colors)ctx.stylize=stylizeWithColor;return formatValue(ctx,obj,ctx.depth)}inspect.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},inspect.styles={special:\"cyan\",number:\"yellow\",boolean:\"yellow\",undefined:\"grey\",null:\"bold\",string:\"green\",date:\"magenta\",regexp:\"red\"};function stylizeWithColor(str,styleType){var style=inspect.styles[styleType];if(style)return\"\\x1B[\"+inspect.colors[style][0]+\"m\"+str+\"\\x1B[\"+inspect.colors[style][1]+\"m\";else return str}function stylizeNoColor(str,styleType){return str}function arrayToHash(array){var hash={};return array.forEach(function(val,idx){hash[val]=!0}),hash}function formatValue(ctx,value,recurseTimes){if(ctx.customInspect&&value&&isFunction(value.inspect)&&value.inspect!==inspect&&!(value.constructor&&value.constructor.prototype===value)){var ret=value.inspect(recurseTimes,ctx);if(!isString(ret))ret=formatValue(ctx,ret,recurseTimes);return ret}var primitive=formatPrimitive(ctx,value);if(primitive)return primitive;var keys=Object.keys(value),visibleKeys=arrayToHash(keys);if(ctx.showHidden)keys=Object.getOwnPropertyNames(value);if(isError(value)&&(keys.indexOf(\"message\")>=0||keys.indexOf(\"description\")>=0))return formatError(value);if(keys.length===0){if(isFunction(value)){var name=value.name\?\": \"+value.name:\"\";return ctx.stylize(\"[Function\"+name+\"]\",\"special\")}if(isRegExp(value))return ctx.stylize(RegExp.prototype.toString.call(value),\"regexp\");if(isDate(value))return ctx.stylize(Date.prototype.toString.call(value),\"date\");if(isError(value))return formatError(value)}var base=\"\",array=!1,braces=[\"{\",\"}\"];if(@isArray(value))array=!0,braces=[\"[\",\"]\"];if(isFunction(value)){var n=value.name\?\": \"+value.name:\"\";base=\" [Function\"+n+\"]\"}if(isRegExp(value))base=\" \"+RegExp.prototype.toString.call(value);if(isDate(value))base=\" \"+Date.prototype.toUTCString.call(value);if(isError(value))base=\" \"+formatError(value);if(keys.length===0&&(!array||value.length==0))return braces[0]+base+braces[1];if(recurseTimes<0)if(isRegExp(value))return ctx.stylize(RegExp.prototype.toString.call(value),\"regexp\");else return ctx.stylize(\"[Object]\",\"special\");ctx.seen.push(value);var output;if(array)output=formatArray(ctx,value,recurseTimes,visibleKeys,keys);else output=keys.map(function(key){return formatProperty(ctx,value,recurseTimes,visibleKeys,key,array)});return ctx.seen.pop(),reduceToSingleString(output,base,braces)}function formatPrimitive(ctx,value){if(isUndefined(value))return ctx.stylize(\"undefined\",\"undefined\");if(isString(value)){var simple=\"'\"+JSON.stringify(value).replace(/^\"|\"$/g,\"\").replace(/'/g,\"\\\\'\").replace(/\\\\\"/g,'\"')+\"'\";return ctx.stylize(simple,\"string\")}if(isNumber(value))return ctx.stylize(\"\"+value,\"number\");if(isBoolean(value))return ctx.stylize(\"\"+value,\"boolean\");if(isNull(value))return ctx.stylize(\"null\",\"null\")}function formatError(value){return\"[\"+Error.prototype.toString.call(value)+\"]\"}function formatArray(ctx,value,recurseTimes,visibleKeys,keys){var output=[];for(var i=0,l=value.length;i-1)if(array)str=str.split(\"\\n\").map(function(line){return\" \"+line}).join(\"\\n\").substr(2);else str=\"\\n\"+str.split(\"\\n\").map(function(line){return\" \"+line}).join(\"\\n\")}else str=ctx.stylize(\"[Circular]\",\"special\");if(isUndefined(name)){if(array&&key.match(/^\\d+$/))return str;if(name=JSON.stringify(\"\"+key),name.match(/^\"([a-zA-Z_][a-zA-Z_0-9]*)\"$/))name=name.substr(1,name.length-2),name=ctx.stylize(name,\"name\");else name=name.replace(/'/g,\"\\\\'\").replace(/\\\\\"/g,'\"').replace(/(^\"|\"$)/g,\"'\"),name=ctx.stylize(name,\"string\")}return name+\": \"+str}function reduceToSingleString(output,base,braces){var numLinesEst=0,length=output.reduce(function(prev,cur){if(numLinesEst++,cur.indexOf(\"\\n\")>=0)numLinesEst++;return prev+cur.replace(/\\u001b\\[\\d\\d\?m/g,\"\").length+1},0);if(length>60)return braces[0]+(base===\"\"\?\"\":base+\"\\n \")+\" \"+output.join(\",\\n \")+\" \"+braces[1];return braces[0]+base+\" \"+output.join(\", \")+\" \"+braces[1]}function isBoolean(arg){return typeof arg===\"boolean\"}function isNull(arg){return arg===null}function isNullOrUndefined(arg){return arg==null}function isNumber(arg){return typeof arg===\"number\"}function isString(arg){return typeof arg===\"string\"}function isSymbol(arg){return typeof arg===\"symbol\"}function isUndefined(arg){return arg===void 0}var isRegExp=types.isRegExp;function isObject(arg){return typeof arg===\"object\"&&arg!==null}var{isDate,isNativeError:isError}=types;function isPrimitive(arg){return arg===null||typeof arg===\"boolean\"||typeof arg===\"number\"||typeof arg===\"string\"||typeof arg===\"symbol\"||typeof arg===\"undefined\"}function pad(n){return n<10\?\"0\"+n.toString(10):n.toString(10)}var months=[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"];function timestamp(){var d=new Date,time=[pad(d.getHours()),pad(d.getMinutes()),pad(d.getSeconds())].join(\":\");return[d.getDate(),months[d.getMonth()],time].join(\" \")}var log=function log(){console.log(\"%s - %s\",timestamp(),format.apply(cjs_exports,arguments))},inherits=function inherits(ctor,superCtor){ctor.super_=superCtor,ctor.prototype=Object.create(superCtor.prototype,{constructor:{value:ctor,enumerable:!1,writable:!0,configurable:!0}})},_extend=function(origin,add){if(!add||!isObject(add))return origin;var keys=Object.keys(add),i=keys.length;while(i--)origin[keys[i]]=add[keys[i]];return origin};function hasOwnProperty(obj,prop){return Object.prototype.hasOwnProperty.call(obj,prop)}var kCustomPromisifiedSymbol=Symbol.for(\"util.promisify.custom\"),promisify=function promisify(original){if(typeof original!==\"function\")@throwTypeError('The \"original\" argument must be of type Function');if(kCustomPromisifiedSymbol&&original[kCustomPromisifiedSymbol]){var fn=original[kCustomPromisifiedSymbol];if(typeof fn!==\"function\")@throwTypeError('The \"util.promisify.custom\" argument must be of type Function');return Object.defineProperty(fn,kCustomPromisifiedSymbol,{value:fn,enumerable:!1,writable:!1,configurable:!0}),fn}function fn(){var promiseResolve,promiseReject,promise=new Promise(function(resolve,reject){promiseResolve=resolve,promiseReject=reject}),args=[];for(var i=0;i{return(input+\"\").toWellFormed()};return Object.assign(cjs_exports,{format,deprecate,debuglog,_extend,inspect,types,isArray:@isArray,isBoolean,isNull,isNullOrUndefined,isNumber,isString,isSymbol,isUndefined,isRegExp,isObject,isDate,isFunction,isError,isPrimitive,isBuffer,log,inherits,toUSVString,promisify,callbackify,isDeepStrictEqual,TextDecoder,TextEncoder})})\n"_s; +static constexpr ASCIILiteral NodeV8Code = "(function (){\"use strict\";var $;const{hideFromStack,throwNotImplemented}=@requireId(2),jsc=@requireBuiltin(48);function notimpl(message){throwNotImplemented(\"node:v8 \"+message)}class Deserializer{constructor(){notimpl(\"Deserializer\")}}class Serializer{constructor(){notimpl(\"Serializer\")}}class DefaultDeserializer extends Deserializer{constructor(){super(...arguments)}}class DefaultSerializer extends Serializer{constructor(){super(...arguments)}}class GCProfiler{constructor(){notimpl(\"GCProfiler\")}}function cachedDataVersionTag(){notimpl(\"cachedDataVersionTag\")}function getHeapSnapshot(){notimpl(\"getHeapSnapshot\")}function getHeapStatistics(){notimpl(\"getHeapStatistics\")}function getHeapSpaceStatistics(){notimpl(\"getHeapSpaceStatistics\")}function getHeapCodeStatistics(){notimpl(\"getHeapCodeStatistics\")}function setFlagsFromString(){notimpl(\"setFlagsFromString\")}function deserialize(value){return jsc.deserialize(value)}function takeCoverage(){notimpl(\"takeCoverage\")}function stopCoverage(){notimpl(\"stopCoverage\")}function serialize(arg1){return jsc.serialize(arg1,{binaryType:\"nodebuffer\"})}function writeHeapSnapshot(){notimpl(\"writeHeapSnapshot\")}function setHeapSnapshotNearHeapLimit(){notimpl(\"setHeapSnapshotNearHeapLimit\")}return $={cachedDataVersionTag,getHeapSnapshot,getHeapStatistics,getHeapSpaceStatistics,getHeapCodeStatistics,setFlagsFromString,deserialize,takeCoverage,stopCoverage,serialize,writeHeapSnapshot,setHeapSnapshotNearHeapLimit,promiseHooks:{createHook:()=>{notimpl(\"createHook\")},onInit:()=>{notimpl(\"onInit\")},onBefore:()=>{notimpl(\"onBefore\")},onAfter:()=>{notimpl(\"onAfter\")},onSettled:()=>{notimpl(\"onSettled\")}},startupSnapshot:{addDeserializeCallback:()=>notimpl(\"addDeserializeCallback\"),addSerializeCallback:()=>notimpl(\"addSerializeCallback\"),setDeserializeMainFunction:()=>notimpl(\"setDeserializeMainFunction\"),isBuildingSnapshot:()=>notimpl(\"isBuildingSnapshot\")},Deserializer,Serializer},hideFromStack(notimpl,cachedDataVersionTag,getHeapSnapshot,getHeapStatistics,getHeapSpaceStatistics,getHeapCodeStatistics,setFlagsFromString,deserialize,takeCoverage,stopCoverage,serialize,writeHeapSnapshot,setHeapSnapshotNearHeapLimit,Deserializer,Serializer,DefaultDeserializer,DefaultSerializer,GCProfiler),$})\n"_s; +static constexpr ASCIILiteral NodeVMCode = "(function (){\"use strict\";const{throwNotImplemented}=@requireId(2),vm=globalThis[globalThis.Symbol.for('Bun.lazy')](\"vm\"),{createContext,isContext,Script,runInNewContext,runInThisContext}=vm;function runInContext(code,context,options){return new Script(code,options).runInContext(context)}function compileFunction(){throwNotImplemented(\"node:vm compileFunction\")}function measureMemory(){throwNotImplemented(\"node:vm measureMemory\")}class Module{constructor(){throwNotImplemented(\"node:vm Module\")}}class SourceTextModule{constructor(){throwNotImplemented(\"node:vm Module\")}}class SyntheticModule{constructor(){throwNotImplemented(\"node:vm Module\")}}return{createContext,runInContext,runInNewContext,runInThisContext,isContext,compileFunction,measureMemory,Script,Module,SourceTextModule,SyntheticModule}})\n"_s; +static constexpr ASCIILiteral NodeWasiCode = "(function (){\"use strict\";const nodeFsConstants=constants;var __getOwnPropNames=Object.getOwnPropertyNames,__commonJS=(cb,mod)=>function __require2(){return mod||(0,cb[__getOwnPropNames(cb)[0]])((mod={exports:{}}).exports,mod),mod.exports},require_types=__commonJS({\"node_modules/wasi-js/dist/types.js\"(exports){Object.defineProperty(exports,\"__esModule\",{value:!0}),exports.WASIKillError=exports.WASIExitError=exports.WASIError=void 0;var WASIError=class extends Error{constructor(errno){super();this.errno=errno,Object.setPrototypeOf(this,WASIError.prototype)}};exports.WASIError=WASIError;var WASIExitError=class extends Error{constructor(code){super(`WASI Exit error: ${code}`);this.code=code,Object.setPrototypeOf(this,WASIExitError.prototype)}};exports.WASIExitError=WASIExitError;var WASIKillError=class extends Error{constructor(signal){super(`WASI Kill signal: ${signal}`);this.signal=signal,Object.setPrototypeOf(this,WASIKillError.prototype)}};exports.WASIKillError=WASIKillError}}),require_constants=__commonJS({\"node_modules/wasi-js/dist/constants.js\"(exports){Object.defineProperty(exports,\"__esModule\",{value:!0}),exports.WASI_ENOMSG=exports.WASI_ENOMEM=exports.WASI_ENOLINK=exports.WASI_ENOLCK=exports.WASI_ENOEXEC=exports.WASI_ENOENT=exports.WASI_ENODEV=exports.WASI_ENOBUFS=exports.WASI_ENFILE=exports.WASI_ENETUNREACH=exports.WASI_ENETRESET=exports.WASI_ENETDOWN=exports.WASI_ENAMETOOLONG=exports.WASI_EMULTIHOP=exports.WASI_EMSGSIZE=exports.WASI_EMLINK=exports.WASI_EMFILE=exports.WASI_ELOOP=exports.WASI_EISDIR=exports.WASI_EISCONN=exports.WASI_EIO=exports.WASI_EINVAL=exports.WASI_EINTR=exports.WASI_EINPROGRESS=exports.WASI_EILSEQ=exports.WASI_EIDRM=exports.WASI_EHOSTUNREACH=exports.WASI_EFBIG=exports.WASI_EFAULT=exports.WASI_EEXIST=exports.WASI_EDQUOT=exports.WASI_EDOM=exports.WASI_EDESTADDRREQ=exports.WASI_EDEADLK=exports.WASI_ECONNRESET=exports.WASI_ECONNREFUSED=exports.WASI_ECONNABORTED=exports.WASI_ECHILD=exports.WASI_ECANCELED=exports.WASI_EBUSY=exports.WASI_EBADMSG=exports.WASI_EBADF=exports.WASI_EALREADY=exports.WASI_EAGAIN=exports.WASI_EAFNOSUPPORT=exports.WASI_EADDRNOTAVAIL=exports.WASI_EADDRINUSE=exports.WASI_EACCES=exports.WASI_E2BIG=exports.WASI_ESUCCESS=void 0,exports.WASI_SIGVTALRM=exports.WASI_SIGUSR2=exports.WASI_SIGUSR1=exports.WASI_SIGURG=exports.WASI_SIGTTOU=exports.WASI_SIGTTIN=exports.WASI_SIGTSTP=exports.WASI_SIGTRAP=exports.WASI_SIGTERM=exports.WASI_SIGSTOP=exports.WASI_SIGSEGV=exports.WASI_SIGQUIT=exports.WASI_SIGPIPE=exports.WASI_SIGKILL=exports.WASI_SIGINT=exports.WASI_SIGILL=exports.WASI_SIGHUP=exports.WASI_SIGFPE=exports.WASI_SIGCONT=exports.WASI_SIGCHLD=exports.WASI_SIGBUS=exports.WASI_SIGALRM=exports.WASI_SIGABRT=exports.WASI_ENOTCAPABLE=exports.WASI_EXDEV=exports.WASI_ETXTBSY=exports.WASI_ETIMEDOUT=exports.WASI_ESTALE=exports.WASI_ESRCH=exports.WASI_ESPIPE=exports.WASI_EROFS=exports.WASI_ERANGE=exports.WASI_EPROTOTYPE=exports.WASI_EPROTONOSUPPORT=exports.WASI_EPROTO=exports.WASI_EPIPE=exports.WASI_EPERM=exports.WASI_EOWNERDEAD=exports.WASI_EOVERFLOW=exports.WASI_ENXIO=exports.WASI_ENOTTY=exports.WASI_ENOTSUP=exports.WASI_ENOTSOCK=exports.WASI_ENOTRECOVERABLE=exports.WASI_ENOTEMPTY=exports.WASI_ENOTDIR=exports.WASI_ENOTCONN=exports.WASI_ENOSYS=exports.WASI_ENOSPC=exports.WASI_ENOPROTOOPT=void 0,exports.RIGHTS_REGULAR_FILE_BASE=exports.RIGHTS_CHARACTER_DEVICE_INHERITING=exports.RIGHTS_CHARACTER_DEVICE_BASE=exports.RIGHTS_BLOCK_DEVICE_INHERITING=exports.RIGHTS_BLOCK_DEVICE_BASE=exports.RIGHTS_ALL=exports.WASI_RIGHT_SOCK_SHUTDOWN=exports.WASI_RIGHT_POLL_FD_READWRITE=exports.WASI_RIGHT_PATH_UNLINK_FILE=exports.WASI_RIGHT_PATH_REMOVE_DIRECTORY=exports.WASI_RIGHT_PATH_SYMLINK=exports.WASI_RIGHT_FD_FILESTAT_SET_TIMES=exports.WASI_RIGHT_FD_FILESTAT_SET_SIZE=exports.WASI_RIGHT_FD_FILESTAT_GET=exports.WASI_RIGHT_PATH_FILESTAT_SET_TIMES=exports.WASI_RIGHT_PATH_FILESTAT_SET_SIZE=exports.WASI_RIGHT_PATH_FILESTAT_GET=exports.WASI_RIGHT_PATH_RENAME_TARGET=exports.WASI_RIGHT_PATH_RENAME_SOURCE=exports.WASI_RIGHT_PATH_READLINK=exports.WASI_RIGHT_FD_READDIR=exports.WASI_RIGHT_PATH_OPEN=exports.WASI_RIGHT_PATH_LINK_TARGET=exports.WASI_RIGHT_PATH_LINK_SOURCE=exports.WASI_RIGHT_PATH_CREATE_FILE=exports.WASI_RIGHT_PATH_CREATE_DIRECTORY=exports.WASI_RIGHT_FD_ALLOCATE=exports.WASI_RIGHT_FD_ADVISE=exports.WASI_RIGHT_FD_WRITE=exports.WASI_RIGHT_FD_TELL=exports.WASI_RIGHT_FD_SYNC=exports.WASI_RIGHT_FD_FDSTAT_SET_FLAGS=exports.WASI_RIGHT_FD_SEEK=exports.WASI_RIGHT_FD_READ=exports.WASI_RIGHT_FD_DATASYNC=exports.WASI_FDFLAG_SYNC=exports.WASI_FDFLAG_RSYNC=exports.WASI_FDFLAG_NONBLOCK=exports.WASI_FDFLAG_DSYNC=exports.WASI_FDFLAG_APPEND=exports.WASI_FILETYPE_SYMBOLIC_LINK=exports.WASI_FILETYPE_SOCKET_STREAM=exports.WASI_FILETYPE_SOCKET_DGRAM=exports.WASI_FILETYPE_REGULAR_FILE=exports.WASI_FILETYPE_DIRECTORY=exports.WASI_FILETYPE_CHARACTER_DEVICE=exports.WASI_FILETYPE_BLOCK_DEVICE=exports.WASI_FILETYPE_UNKNOWN=exports.WASI_SIGXFSZ=exports.WASI_SIGXCPU=void 0,exports.SIGNAL_MAP=exports.ERROR_MAP=exports.WASI_WHENCE_END=exports.WASI_WHENCE_CUR=exports.WASI_WHENCE_SET=exports.WASI_STDERR_FILENO=exports.WASI_STDOUT_FILENO=exports.WASI_STDIN_FILENO=exports.WASI_DIRCOOKIE_START=exports.WASI_PREOPENTYPE_DIR=exports.WASI_O_TRUNC=exports.WASI_O_EXCL=exports.WASI_O_DIRECTORY=exports.WASI_O_CREAT=exports.WASI_FILESTAT_SET_MTIM_NOW=exports.WASI_FILESTAT_SET_MTIM=exports.WASI_FILESTAT_SET_ATIM_NOW=exports.WASI_FILESTAT_SET_ATIM=exports.WASI_EVENTTYPE_FD_WRITE=exports.WASI_EVENTTYPE_FD_READ=exports.WASI_EVENTTYPE_CLOCK=exports.WASI_CLOCK_THREAD_CPUTIME_ID=exports.WASI_CLOCK_PROCESS_CPUTIME_ID=exports.WASI_CLOCK_MONOTONIC=exports.WASI_CLOCK_REALTIME=exports.RIGHTS_TTY_INHERITING=exports.RIGHTS_TTY_BASE=exports.RIGHTS_SOCKET_INHERITING=exports.RIGHTS_SOCKET_BASE=exports.RIGHTS_DIRECTORY_INHERITING=exports.RIGHTS_DIRECTORY_BASE=exports.RIGHTS_REGULAR_FILE_INHERITING=void 0,exports.WASI_ESUCCESS=0,exports.WASI_E2BIG=1,exports.WASI_EACCES=2,exports.WASI_EADDRINUSE=3,exports.WASI_EADDRNOTAVAIL=4,exports.WASI_EAFNOSUPPORT=5,exports.WASI_EAGAIN=6,exports.WASI_EALREADY=7,exports.WASI_EBADF=8,exports.WASI_EBADMSG=9,exports.WASI_EBUSY=10,exports.WASI_ECANCELED=11,exports.WASI_ECHILD=12,exports.WASI_ECONNABORTED=13,exports.WASI_ECONNREFUSED=14,exports.WASI_ECONNRESET=15,exports.WASI_EDEADLK=16,exports.WASI_EDESTADDRREQ=17,exports.WASI_EDOM=18,exports.WASI_EDQUOT=19,exports.WASI_EEXIST=20,exports.WASI_EFAULT=21,exports.WASI_EFBIG=22,exports.WASI_EHOSTUNREACH=23,exports.WASI_EIDRM=24,exports.WASI_EILSEQ=25,exports.WASI_EINPROGRESS=26,exports.WASI_EINTR=27,exports.WASI_EINVAL=28,exports.WASI_EIO=29,exports.WASI_EISCONN=30,exports.WASI_EISDIR=31,exports.WASI_ELOOP=32,exports.WASI_EMFILE=33,exports.WASI_EMLINK=34,exports.WASI_EMSGSIZE=35,exports.WASI_EMULTIHOP=36,exports.WASI_ENAMETOOLONG=37,exports.WASI_ENETDOWN=38,exports.WASI_ENETRESET=39,exports.WASI_ENETUNREACH=40,exports.WASI_ENFILE=41,exports.WASI_ENOBUFS=42,exports.WASI_ENODEV=43,exports.WASI_ENOENT=44,exports.WASI_ENOEXEC=45,exports.WASI_ENOLCK=46,exports.WASI_ENOLINK=47,exports.WASI_ENOMEM=48,exports.WASI_ENOMSG=49,exports.WASI_ENOPROTOOPT=50,exports.WASI_ENOSPC=51,exports.WASI_ENOSYS=52,exports.WASI_ENOTCONN=53,exports.WASI_ENOTDIR=54,exports.WASI_ENOTEMPTY=55,exports.WASI_ENOTRECOVERABLE=56,exports.WASI_ENOTSOCK=57,exports.WASI_ENOTSUP=58,exports.WASI_ENOTTY=59,exports.WASI_ENXIO=60,exports.WASI_EOVERFLOW=61,exports.WASI_EOWNERDEAD=62,exports.WASI_EPERM=63,exports.WASI_EPIPE=64,exports.WASI_EPROTO=65,exports.WASI_EPROTONOSUPPORT=66,exports.WASI_EPROTOTYPE=67,exports.WASI_ERANGE=68,exports.WASI_EROFS=69,exports.WASI_ESPIPE=70,exports.WASI_ESRCH=71,exports.WASI_ESTALE=72,exports.WASI_ETIMEDOUT=73,exports.WASI_ETXTBSY=74,exports.WASI_EXDEV=75,exports.WASI_ENOTCAPABLE=76,exports.WASI_SIGABRT=0,exports.WASI_SIGALRM=1,exports.WASI_SIGBUS=2,exports.WASI_SIGCHLD=3,exports.WASI_SIGCONT=4,exports.WASI_SIGFPE=5,exports.WASI_SIGHUP=6,exports.WASI_SIGILL=7,exports.WASI_SIGINT=8,exports.WASI_SIGKILL=9,exports.WASI_SIGPIPE=10,exports.WASI_SIGQUIT=11,exports.WASI_SIGSEGV=12,exports.WASI_SIGSTOP=13,exports.WASI_SIGTERM=14,exports.WASI_SIGTRAP=15,exports.WASI_SIGTSTP=16,exports.WASI_SIGTTIN=17,exports.WASI_SIGTTOU=18,exports.WASI_SIGURG=19,exports.WASI_SIGUSR1=20,exports.WASI_SIGUSR2=21,exports.WASI_SIGVTALRM=22,exports.WASI_SIGXCPU=23,exports.WASI_SIGXFSZ=24,exports.WASI_FILETYPE_UNKNOWN=0,exports.WASI_FILETYPE_BLOCK_DEVICE=1,exports.WASI_FILETYPE_CHARACTER_DEVICE=2,exports.WASI_FILETYPE_DIRECTORY=3,exports.WASI_FILETYPE_REGULAR_FILE=4,exports.WASI_FILETYPE_SOCKET_DGRAM=5,exports.WASI_FILETYPE_SOCKET_STREAM=6,exports.WASI_FILETYPE_SYMBOLIC_LINK=7,exports.WASI_FDFLAG_APPEND=1,exports.WASI_FDFLAG_DSYNC=2,exports.WASI_FDFLAG_NONBLOCK=4,exports.WASI_FDFLAG_RSYNC=8,exports.WASI_FDFLAG_SYNC=16,exports.WASI_RIGHT_FD_DATASYNC=BigInt(1),exports.WASI_RIGHT_FD_READ=BigInt(2),exports.WASI_RIGHT_FD_SEEK=BigInt(4),exports.WASI_RIGHT_FD_FDSTAT_SET_FLAGS=BigInt(8),exports.WASI_RIGHT_FD_SYNC=BigInt(16),exports.WASI_RIGHT_FD_TELL=BigInt(32),exports.WASI_RIGHT_FD_WRITE=BigInt(64),exports.WASI_RIGHT_FD_ADVISE=BigInt(128),exports.WASI_RIGHT_FD_ALLOCATE=BigInt(256),exports.WASI_RIGHT_PATH_CREATE_DIRECTORY=BigInt(512),exports.WASI_RIGHT_PATH_CREATE_FILE=BigInt(1024),exports.WASI_RIGHT_PATH_LINK_SOURCE=BigInt(2048),exports.WASI_RIGHT_PATH_LINK_TARGET=BigInt(4096),exports.WASI_RIGHT_PATH_OPEN=BigInt(8192),exports.WASI_RIGHT_FD_READDIR=BigInt(16384),exports.WASI_RIGHT_PATH_READLINK=BigInt(32768),exports.WASI_RIGHT_PATH_RENAME_SOURCE=BigInt(65536),exports.WASI_RIGHT_PATH_RENAME_TARGET=BigInt(131072),exports.WASI_RIGHT_PATH_FILESTAT_GET=BigInt(262144),exports.WASI_RIGHT_PATH_FILESTAT_SET_SIZE=BigInt(524288),exports.WASI_RIGHT_PATH_FILESTAT_SET_TIMES=BigInt(1048576),exports.WASI_RIGHT_FD_FILESTAT_GET=BigInt(2097152),exports.WASI_RIGHT_FD_FILESTAT_SET_SIZE=BigInt(4194304),exports.WASI_RIGHT_FD_FILESTAT_SET_TIMES=BigInt(8388608),exports.WASI_RIGHT_PATH_SYMLINK=BigInt(16777216),exports.WASI_RIGHT_PATH_REMOVE_DIRECTORY=BigInt(33554432),exports.WASI_RIGHT_PATH_UNLINK_FILE=BigInt(67108864),exports.WASI_RIGHT_POLL_FD_READWRITE=BigInt(134217728),exports.WASI_RIGHT_SOCK_SHUTDOWN=BigInt(268435456),exports.RIGHTS_ALL=exports.WASI_RIGHT_FD_DATASYNC|exports.WASI_RIGHT_FD_READ|exports.WASI_RIGHT_FD_SEEK|exports.WASI_RIGHT_FD_FDSTAT_SET_FLAGS|exports.WASI_RIGHT_FD_SYNC|exports.WASI_RIGHT_FD_TELL|exports.WASI_RIGHT_FD_WRITE|exports.WASI_RIGHT_FD_ADVISE|exports.WASI_RIGHT_FD_ALLOCATE|exports.WASI_RIGHT_PATH_CREATE_DIRECTORY|exports.WASI_RIGHT_PATH_CREATE_FILE|exports.WASI_RIGHT_PATH_LINK_SOURCE|exports.WASI_RIGHT_PATH_LINK_TARGET|exports.WASI_RIGHT_PATH_OPEN|exports.WASI_RIGHT_FD_READDIR|exports.WASI_RIGHT_PATH_READLINK|exports.WASI_RIGHT_PATH_RENAME_SOURCE|exports.WASI_RIGHT_PATH_RENAME_TARGET|exports.WASI_RIGHT_PATH_FILESTAT_GET|exports.WASI_RIGHT_PATH_FILESTAT_SET_SIZE|exports.WASI_RIGHT_PATH_FILESTAT_SET_TIMES|exports.WASI_RIGHT_FD_FILESTAT_GET|exports.WASI_RIGHT_FD_FILESTAT_SET_TIMES|exports.WASI_RIGHT_FD_FILESTAT_SET_SIZE|exports.WASI_RIGHT_PATH_SYMLINK|exports.WASI_RIGHT_PATH_UNLINK_FILE|exports.WASI_RIGHT_PATH_REMOVE_DIRECTORY|exports.WASI_RIGHT_POLL_FD_READWRITE|exports.WASI_RIGHT_SOCK_SHUTDOWN,exports.RIGHTS_BLOCK_DEVICE_BASE=exports.RIGHTS_ALL,exports.RIGHTS_BLOCK_DEVICE_INHERITING=exports.RIGHTS_ALL,exports.RIGHTS_CHARACTER_DEVICE_BASE=exports.RIGHTS_ALL,exports.RIGHTS_CHARACTER_DEVICE_INHERITING=exports.RIGHTS_ALL,exports.RIGHTS_REGULAR_FILE_BASE=exports.WASI_RIGHT_FD_DATASYNC|exports.WASI_RIGHT_FD_READ|exports.WASI_RIGHT_FD_SEEK|exports.WASI_RIGHT_FD_FDSTAT_SET_FLAGS|exports.WASI_RIGHT_FD_SYNC|exports.WASI_RIGHT_FD_TELL|exports.WASI_RIGHT_FD_WRITE|exports.WASI_RIGHT_FD_ADVISE|exports.WASI_RIGHT_FD_ALLOCATE|exports.WASI_RIGHT_FD_FILESTAT_GET|exports.WASI_RIGHT_FD_FILESTAT_SET_SIZE|exports.WASI_RIGHT_FD_FILESTAT_SET_TIMES|exports.WASI_RIGHT_POLL_FD_READWRITE,exports.RIGHTS_REGULAR_FILE_INHERITING=BigInt(0),exports.RIGHTS_DIRECTORY_BASE=exports.WASI_RIGHT_FD_FDSTAT_SET_FLAGS|exports.WASI_RIGHT_FD_SYNC|exports.WASI_RIGHT_FD_ADVISE|exports.WASI_RIGHT_PATH_CREATE_DIRECTORY|exports.WASI_RIGHT_PATH_CREATE_FILE|exports.WASI_RIGHT_PATH_LINK_SOURCE|exports.WASI_RIGHT_PATH_LINK_TARGET|exports.WASI_RIGHT_PATH_OPEN|exports.WASI_RIGHT_FD_READDIR|exports.WASI_RIGHT_PATH_READLINK|exports.WASI_RIGHT_PATH_RENAME_SOURCE|exports.WASI_RIGHT_PATH_RENAME_TARGET|exports.WASI_RIGHT_PATH_FILESTAT_GET|exports.WASI_RIGHT_PATH_FILESTAT_SET_SIZE|exports.WASI_RIGHT_PATH_FILESTAT_SET_TIMES|exports.WASI_RIGHT_FD_FILESTAT_GET|exports.WASI_RIGHT_FD_FILESTAT_SET_TIMES|exports.WASI_RIGHT_PATH_SYMLINK|exports.WASI_RIGHT_PATH_UNLINK_FILE|exports.WASI_RIGHT_PATH_REMOVE_DIRECTORY|exports.WASI_RIGHT_POLL_FD_READWRITE,exports.RIGHTS_DIRECTORY_INHERITING=exports.RIGHTS_DIRECTORY_BASE|exports.RIGHTS_REGULAR_FILE_BASE,exports.RIGHTS_SOCKET_BASE=exports.WASI_RIGHT_FD_READ|exports.WASI_RIGHT_FD_FDSTAT_SET_FLAGS|exports.WASI_RIGHT_FD_WRITE|exports.WASI_RIGHT_FD_FILESTAT_GET|exports.WASI_RIGHT_POLL_FD_READWRITE|exports.WASI_RIGHT_SOCK_SHUTDOWN,exports.RIGHTS_SOCKET_INHERITING=exports.RIGHTS_ALL,exports.RIGHTS_TTY_BASE=exports.WASI_RIGHT_FD_READ|exports.WASI_RIGHT_FD_FDSTAT_SET_FLAGS|exports.WASI_RIGHT_FD_WRITE|exports.WASI_RIGHT_FD_FILESTAT_GET|exports.WASI_RIGHT_POLL_FD_READWRITE,exports.RIGHTS_TTY_INHERITING=BigInt(0),exports.WASI_CLOCK_REALTIME=0,exports.WASI_CLOCK_MONOTONIC=1,exports.WASI_CLOCK_PROCESS_CPUTIME_ID=2,exports.WASI_CLOCK_THREAD_CPUTIME_ID=3,exports.WASI_EVENTTYPE_CLOCK=0,exports.WASI_EVENTTYPE_FD_READ=1,exports.WASI_EVENTTYPE_FD_WRITE=2,exports.WASI_FILESTAT_SET_ATIM=1<<0,exports.WASI_FILESTAT_SET_ATIM_NOW=1<<1,exports.WASI_FILESTAT_SET_MTIM=1<<2,exports.WASI_FILESTAT_SET_MTIM_NOW=1<<3,exports.WASI_O_CREAT=1<<0,exports.WASI_O_DIRECTORY=1<<1,exports.WASI_O_EXCL=1<<2,exports.WASI_O_TRUNC=1<<3,exports.WASI_PREOPENTYPE_DIR=0,exports.WASI_DIRCOOKIE_START=0,exports.WASI_STDIN_FILENO=0,exports.WASI_STDOUT_FILENO=1,exports.WASI_STDERR_FILENO=2,exports.WASI_WHENCE_SET=0,exports.WASI_WHENCE_CUR=1,exports.WASI_WHENCE_END=2,exports.ERROR_MAP={E2BIG:exports.WASI_E2BIG,EACCES:exports.WASI_EACCES,EADDRINUSE:exports.WASI_EADDRINUSE,EADDRNOTAVAIL:exports.WASI_EADDRNOTAVAIL,EAFNOSUPPORT:exports.WASI_EAFNOSUPPORT,EALREADY:exports.WASI_EALREADY,EAGAIN:exports.WASI_EAGAIN,EBADF:exports.WASI_EBADF,EBADMSG:exports.WASI_EBADMSG,EBUSY:exports.WASI_EBUSY,ECANCELED:exports.WASI_ECANCELED,ECHILD:exports.WASI_ECHILD,ECONNABORTED:exports.WASI_ECONNABORTED,ECONNREFUSED:exports.WASI_ECONNREFUSED,ECONNRESET:exports.WASI_ECONNRESET,EDEADLOCK:exports.WASI_EDEADLK,EDESTADDRREQ:exports.WASI_EDESTADDRREQ,EDOM:exports.WASI_EDOM,EDQUOT:exports.WASI_EDQUOT,EEXIST:exports.WASI_EEXIST,EFAULT:exports.WASI_EFAULT,EFBIG:exports.WASI_EFBIG,EHOSTDOWN:exports.WASI_EHOSTUNREACH,EHOSTUNREACH:exports.WASI_EHOSTUNREACH,EIDRM:exports.WASI_EIDRM,EILSEQ:exports.WASI_EILSEQ,EINPROGRESS:exports.WASI_EINPROGRESS,EINTR:exports.WASI_EINTR,EINVAL:exports.WASI_EINVAL,EIO:exports.WASI_EIO,EISCONN:exports.WASI_EISCONN,EISDIR:exports.WASI_EISDIR,ELOOP:exports.WASI_ELOOP,EMFILE:exports.WASI_EMFILE,EMLINK:exports.WASI_EMLINK,EMSGSIZE:exports.WASI_EMSGSIZE,EMULTIHOP:exports.WASI_EMULTIHOP,ENAMETOOLONG:exports.WASI_ENAMETOOLONG,ENETDOWN:exports.WASI_ENETDOWN,ENETRESET:exports.WASI_ENETRESET,ENETUNREACH:exports.WASI_ENETUNREACH,ENFILE:exports.WASI_ENFILE,ENOBUFS:exports.WASI_ENOBUFS,ENODEV:exports.WASI_ENODEV,ENOENT:exports.WASI_ENOENT,ENOEXEC:exports.WASI_ENOEXEC,ENOLCK:exports.WASI_ENOLCK,ENOLINK:exports.WASI_ENOLINK,ENOMEM:exports.WASI_ENOMEM,ENOMSG:exports.WASI_ENOMSG,ENOPROTOOPT:exports.WASI_ENOPROTOOPT,ENOSPC:exports.WASI_ENOSPC,ENOSYS:exports.WASI_ENOSYS,ENOTCONN:exports.WASI_ENOTCONN,ENOTDIR:exports.WASI_ENOTDIR,ENOTEMPTY:exports.WASI_ENOTEMPTY,ENOTRECOVERABLE:exports.WASI_ENOTRECOVERABLE,ENOTSOCK:exports.WASI_ENOTSOCK,ENOTTY:exports.WASI_ENOTTY,ENXIO:exports.WASI_ENXIO,EOVERFLOW:exports.WASI_EOVERFLOW,EOWNERDEAD:exports.WASI_EOWNERDEAD,EPERM:exports.WASI_EPERM,EPIPE:exports.WASI_EPIPE,EPROTO:exports.WASI_EPROTO,EPROTONOSUPPORT:exports.WASI_EPROTONOSUPPORT,EPROTOTYPE:exports.WASI_EPROTOTYPE,ERANGE:exports.WASI_ERANGE,EROFS:exports.WASI_EROFS,ESPIPE:exports.WASI_ESPIPE,ESRCH:exports.WASI_ESRCH,ESTALE:exports.WASI_ESTALE,ETIMEDOUT:exports.WASI_ETIMEDOUT,ETXTBSY:exports.WASI_ETXTBSY,EXDEV:exports.WASI_EXDEV},exports.SIGNAL_MAP={[exports.WASI_SIGHUP]:\"SIGHUP\",[exports.WASI_SIGINT]:\"SIGINT\",[exports.WASI_SIGQUIT]:\"SIGQUIT\",[exports.WASI_SIGILL]:\"SIGILL\",[exports.WASI_SIGTRAP]:\"SIGTRAP\",[exports.WASI_SIGABRT]:\"SIGABRT\",[exports.WASI_SIGBUS]:\"SIGBUS\",[exports.WASI_SIGFPE]:\"SIGFPE\",[exports.WASI_SIGKILL]:\"SIGKILL\",[exports.WASI_SIGUSR1]:\"SIGUSR1\",[exports.WASI_SIGSEGV]:\"SIGSEGV\",[exports.WASI_SIGUSR2]:\"SIGUSR2\",[exports.WASI_SIGPIPE]:\"SIGPIPE\",[exports.WASI_SIGALRM]:\"SIGALRM\",[exports.WASI_SIGTERM]:\"SIGTERM\",[exports.WASI_SIGCHLD]:\"SIGCHLD\",[exports.WASI_SIGCONT]:\"SIGCONT\",[exports.WASI_SIGSTOP]:\"SIGSTOP\",[exports.WASI_SIGTSTP]:\"SIGTSTP\",[exports.WASI_SIGTTIN]:\"SIGTTIN\",[exports.WASI_SIGTTOU]:\"SIGTTOU\",[exports.WASI_SIGURG]:\"SIGURG\",[exports.WASI_SIGXCPU]:\"SIGXCPU\",[exports.WASI_SIGXFSZ]:\"SIGXFSZ\",[exports.WASI_SIGVTALRM]:\"SIGVTALRM\"}}}),require_wasi=__commonJS({\"node_modules/wasi-js/dist/wasi.js\"(exports){var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule\?mod:{default:mod}};let fs;Object.defineProperty(exports,\"__esModule\",{value:!0}),exports.SOCKET_DEFAULT_RIGHTS=void 0;var log=()=>{},logOpen=()=>{},SC_OPEN_MAX=32768,types_1=require_types(),constants_1=require_constants(),STDIN_DEFAULT_RIGHTS=constants_1.WASI_RIGHT_FD_DATASYNC|constants_1.WASI_RIGHT_FD_READ|constants_1.WASI_RIGHT_FD_SYNC|constants_1.WASI_RIGHT_FD_ADVISE|constants_1.WASI_RIGHT_FD_FILESTAT_GET|constants_1.WASI_RIGHT_POLL_FD_READWRITE,STDOUT_DEFAULT_RIGHTS=constants_1.WASI_RIGHT_FD_DATASYNC|constants_1.WASI_RIGHT_FD_WRITE|constants_1.WASI_RIGHT_FD_SYNC|constants_1.WASI_RIGHT_FD_ADVISE|constants_1.WASI_RIGHT_FD_FILESTAT_GET|constants_1.WASI_RIGHT_POLL_FD_READWRITE,STDERR_DEFAULT_RIGHTS=STDOUT_DEFAULT_RIGHTS;exports.SOCKET_DEFAULT_RIGHTS=constants_1.WASI_RIGHT_FD_DATASYNC|constants_1.WASI_RIGHT_FD_READ|constants_1.WASI_RIGHT_FD_WRITE|constants_1.WASI_RIGHT_FD_ADVISE|constants_1.WASI_RIGHT_FD_FILESTAT_GET|constants_1.WASI_RIGHT_POLL_FD_READWRITE|constants_1.WASI_RIGHT_FD_FDSTAT_SET_FLAGS;var msToNs=(ms)=>{const msInt=Math.trunc(ms),decimal=BigInt(Math.round((ms-msInt)*1e6));return BigInt(msInt)*BigInt(1e6)+decimal},nsToMs=(ns)=>{if(typeof ns===\"number\")ns=Math.trunc(ns);const nsInt=BigInt(ns);return Number(nsInt/BigInt(1e6))},wrap=(f)=>(...args)=>{try{return f(...args)}catch(err){let e=err;while(e.prev!=null)e=e.prev;if(e\?.code&&typeof e\?.code===\"string\")return constants_1.ERROR_MAP[e.code]||constants_1.WASI_EINVAL;if(e instanceof types_1.WASIError)return e.errno;throw e}},stat=(wasi,fd)=>{const entry=wasi.FD_MAP.get(fd);if(!entry)throw new types_1.WASIError(constants_1.WASI_EBADF);if(entry.filetype===void 0){const stats=wasi.fstatSync(entry.real),{filetype,rightsBase,rightsInheriting}=translateFileAttributes(wasi,fd,stats);if(entry.filetype=filetype,!entry.rights)entry.rights={base:rightsBase,inheriting:rightsInheriting}}return entry},translateFileAttributes=(wasi,fd,stats)=>{switch(!0){case stats.isBlockDevice():return{filetype:constants_1.WASI_FILETYPE_BLOCK_DEVICE,rightsBase:constants_1.RIGHTS_BLOCK_DEVICE_BASE,rightsInheriting:constants_1.RIGHTS_BLOCK_DEVICE_INHERITING};case stats.isCharacterDevice():{const filetype=constants_1.WASI_FILETYPE_CHARACTER_DEVICE;if(fd!==void 0&&wasi.bindings.isTTY(fd))return{filetype,rightsBase:constants_1.RIGHTS_TTY_BASE,rightsInheriting:constants_1.RIGHTS_TTY_INHERITING};return{filetype,rightsBase:constants_1.RIGHTS_CHARACTER_DEVICE_BASE,rightsInheriting:constants_1.RIGHTS_CHARACTER_DEVICE_INHERITING}}case stats.isDirectory():return{filetype:constants_1.WASI_FILETYPE_DIRECTORY,rightsBase:constants_1.RIGHTS_DIRECTORY_BASE,rightsInheriting:constants_1.RIGHTS_DIRECTORY_INHERITING};case stats.isFIFO():return{filetype:constants_1.WASI_FILETYPE_SOCKET_STREAM,rightsBase:constants_1.RIGHTS_SOCKET_BASE,rightsInheriting:constants_1.RIGHTS_SOCKET_INHERITING};case stats.isFile():return{filetype:constants_1.WASI_FILETYPE_REGULAR_FILE,rightsBase:constants_1.RIGHTS_REGULAR_FILE_BASE,rightsInheriting:constants_1.RIGHTS_REGULAR_FILE_INHERITING};case stats.isSocket():return{filetype:constants_1.WASI_FILETYPE_SOCKET_STREAM,rightsBase:constants_1.RIGHTS_SOCKET_BASE,rightsInheriting:constants_1.RIGHTS_SOCKET_INHERITING};case stats.isSymbolicLink():return{filetype:constants_1.WASI_FILETYPE_SYMBOLIC_LINK,rightsBase:BigInt(0),rightsInheriting:BigInt(0)};default:return{filetype:constants_1.WASI_FILETYPE_UNKNOWN,rightsBase:BigInt(0),rightsInheriting:BigInt(0)}}},warnedAboutSleep=!1,defaultConfig;function getDefaults(){if(defaultConfig)return defaultConfig;const defaultBindings={hrtime:()=>process.hrtime.bigint(),exit:(code)=>{process.exit(code)},kill:(signal)=>{process.kill(process.pid,signal)},randomFillSync:(array)=>crypto.getRandomValues(array),isTTY:(fd)=>@requireBuiltin(54).isatty(fd),fs:Bun.fs(),path:@requireId(23)};return defaultConfig={args:[],env:{},preopens:{},bindings:defaultBindings,sleep:(ms)=>{Bun.sleepSync(ms)}}}var WASI=class WASI2{constructor(wasiConfig={}){const defaultConfig2=getDefaults();this.lastStdin=0,this.sleep=wasiConfig.sleep||defaultConfig2.sleep,this.getStdin=wasiConfig.getStdin,this.sendStdout=wasiConfig.sendStdout,this.sendStderr=wasiConfig.sendStderr;let preopens=wasiConfig.preopens\?\?defaultConfig2.preopens;this.env=wasiConfig.env\?\?defaultConfig2.env;const args=wasiConfig.args\?\?defaultConfig2.args;this.memory=void 0,this.view=void 0,this.bindings=wasiConfig.bindings||defaultConfig2.bindings;const bindings2=this.bindings;fs=bindings2.fs,this.FD_MAP=new Map([[constants_1.WASI_STDIN_FILENO,{real:0,filetype:constants_1.WASI_FILETYPE_CHARACTER_DEVICE,rights:{base:STDIN_DEFAULT_RIGHTS,inheriting:BigInt(0)},path:\"/dev/stdin\"}],[constants_1.WASI_STDOUT_FILENO,{real:1,filetype:constants_1.WASI_FILETYPE_CHARACTER_DEVICE,rights:{base:STDOUT_DEFAULT_RIGHTS,inheriting:BigInt(0)},path:\"/dev/stdout\"}],[constants_1.WASI_STDERR_FILENO,{real:2,filetype:constants_1.WASI_FILETYPE_CHARACTER_DEVICE,rights:{base:STDERR_DEFAULT_RIGHTS,inheriting:BigInt(0)},path:\"/dev/stderr\"}]]);const path=bindings2.path;for(let[k,v]of Object.entries(preopens)){const real=fs.openSync(v,nodeFsConstants.O_RDONLY),newfd=this.getUnusedFileDescriptor();this.FD_MAP.set(newfd,{real,filetype:constants_1.WASI_FILETYPE_DIRECTORY,rights:{base:constants_1.RIGHTS_DIRECTORY_BASE,inheriting:constants_1.RIGHTS_DIRECTORY_INHERITING},fakePath:k,path:v})}const getiovs=(iovs,iovsLen)=>{this.refreshMemory();const{view,memory}=this,{buffer}=memory,{byteLength}=buffer;if(iovsLen===1){const ptr=iovs,buf=view.getUint32(ptr,!0);let bufLen=view.getUint32(ptr+4,!0);if(bufLen>byteLength-buf)console.log({buf,bufLen,total_memory:byteLength}),log(\"getiovs: warning -- truncating buffer to fit in memory\"),bufLen=Math.min(bufLen,Math.max(0,byteLength-buf));try{return[new Uint8Array(buffer,buf,bufLen)]}catch(err){throw console.warn(\"WASI.getiovs -- invalid buffer\",err),new types_1.WASIError(constants_1.WASI_EINVAL)}}const buffers=[];buffers.length=iovsLen;for(let i=0,ptr=iovs;ibyteLength-buf)console.log({buf,bufLen,total_memory:byteLength}),log(\"getiovs: warning -- truncating buffer to fit in memory\"),bufLen=Math.min(bufLen,Math.max(0,byteLength-buf));try{buffers[i]=new Uint8Array(buffer,buf,bufLen)}catch(err){throw console.warn(\"WASI.getiovs -- invalid buffer\",err),new types_1.WASIError(constants_1.WASI_EINVAL)}}return buffers},CHECK_FD=(fd,rights)=>{const stats=stat(this,fd);if(rights!==BigInt(0)&&(stats.rights.base&rights)===BigInt(0))throw new types_1.WASIError(constants_1.WASI_EPERM);return stats},CPUTIME_START=Bun.nanoseconds(),timeOrigin=Math.trunc(performance.timeOrigin*1e6),now=(clockId)=>{switch(clockId){case constants_1.WASI_CLOCK_MONOTONIC:return Bun.nanoseconds();case constants_1.WASI_CLOCK_REALTIME:return Bun.nanoseconds()+timeOrigin;case constants_1.WASI_CLOCK_PROCESS_CPUTIME_ID:case constants_1.WASI_CLOCK_THREAD_CPUTIME_ID:return Bun.nanoseconds()-CPUTIME_START;default:return null}};if(this.wasiImport={args_get:(argv,argvBuf)=>{this.refreshMemory();let coffset=argv,offset=argvBuf;return args.forEach((a)=>{this.view.setUint32(coffset,offset,!0),coffset+=4,offset+=Buffer.from(this.memory.buffer).write(`${a}\\0`,offset)}),constants_1.WASI_ESUCCESS},args_sizes_get:(argc,argvBufSize)=>{this.refreshMemory(),this.view.setUint32(argc,args.length,!0);const size=args.reduce((acc,a)=>acc+Buffer.byteLength(a)+1,0);return this.view.setUint32(argvBufSize,size,!0),constants_1.WASI_ESUCCESS},environ_get:(environ,environBuf)=>{this.refreshMemory();let coffset=environ,offset=environBuf;return Object.entries(this.env).forEach(([key,value])=>{this.view.setUint32(coffset,offset,!0),coffset+=4,offset+=Buffer.from(this.memory.buffer).write(`${key}=${value}\\0`,offset)}),constants_1.WASI_ESUCCESS},environ_sizes_get:(environCount,environBufSize)=>{this.refreshMemory();const envProcessed=Object.entries(this.env).map(([key,value])=>`${key}=${value}\\0`),size=envProcessed.reduce((acc,e)=>acc+Buffer.byteLength(e),0);return this.view.setUint32(environCount,envProcessed.length,!0),this.view.setUint32(environBufSize,size,!0),constants_1.WASI_ESUCCESS},clock_res_get:(clockId,resolution)=>{let res;switch(clockId){case constants_1.WASI_CLOCK_MONOTONIC:case constants_1.WASI_CLOCK_PROCESS_CPUTIME_ID:case constants_1.WASI_CLOCK_THREAD_CPUTIME_ID:{res=BigInt(1);break}case constants_1.WASI_CLOCK_REALTIME:{res=BigInt(1000);break}}if(!res)throw Error(\"invalid clockId\");return this.view.setBigUint64(resolution,res),constants_1.WASI_ESUCCESS},clock_time_get:(clockId,_precision,time)=>{this.refreshMemory();const n=now(clockId);if(n===null)return constants_1.WASI_EINVAL;return this.view.setBigUint64(time,BigInt(n),!0),constants_1.WASI_ESUCCESS},fd_advise:wrap((fd,_offset,_len,_advice)=>{return CHECK_FD(fd,constants_1.WASI_RIGHT_FD_ADVISE),constants_1.WASI_ENOSYS}),fd_allocate:wrap((fd,_offset,_len)=>{return CHECK_FD(fd,constants_1.WASI_RIGHT_FD_ALLOCATE),constants_1.WASI_ENOSYS}),fd_close:wrap((fd)=>{const stats=CHECK_FD(fd,BigInt(0));return fs.closeSync(stats.real),this.FD_MAP.delete(fd),constants_1.WASI_ESUCCESS}),fd_datasync:wrap((fd)=>{const stats=CHECK_FD(fd,constants_1.WASI_RIGHT_FD_DATASYNC);return fs.fdatasyncSync(stats.real),constants_1.WASI_ESUCCESS}),fd_fdstat_get:wrap((fd,bufPtr)=>{const stats=CHECK_FD(fd,BigInt(0));if(this.refreshMemory(),stats.filetype==null)throw Error(\"stats.filetype must be set\");return this.view.setUint8(bufPtr,stats.filetype),this.view.setUint16(bufPtr+2,0,!0),this.view.setUint16(bufPtr+4,0,!0),this.view.setBigUint64(bufPtr+8,BigInt(stats.rights.base),!0),this.view.setBigUint64(bufPtr+8+8,BigInt(stats.rights.inheriting),!0),constants_1.WASI_ESUCCESS}),fd_fdstat_set_flags:wrap((fd,flags)=>{if(CHECK_FD(fd,constants_1.WASI_RIGHT_FD_FDSTAT_SET_FLAGS),this.wasiImport.sock_fcntlSetFlags(fd,flags)==0)return constants_1.WASI_ESUCCESS;return constants_1.WASI_ENOSYS}),fd_fdstat_set_rights:wrap((fd,fsRightsBase,fsRightsInheriting)=>{const stats=CHECK_FD(fd,BigInt(0));if((stats.rights.base|fsRightsBase)>stats.rights.base)return constants_1.WASI_EPERM;if((stats.rights.inheriting|fsRightsInheriting)>stats.rights.inheriting)return constants_1.WASI_EPERM;return stats.rights.base=fsRightsBase,stats.rights.inheriting=fsRightsInheriting,constants_1.WASI_ESUCCESS}),fd_filestat_get:wrap((fd,bufPtr)=>{const stats=CHECK_FD(fd,constants_1.WASI_RIGHT_FD_FILESTAT_GET),rstats=this.fstatSync(stats.real);if(this.refreshMemory(),this.view.setBigUint64(bufPtr,BigInt(rstats.dev),!0),bufPtr+=8,this.view.setBigUint64(bufPtr,BigInt(rstats.ino),!0),bufPtr+=8,stats.filetype==null)throw Error(\"stats.filetype must be set\");return this.view.setUint8(bufPtr,stats.filetype),bufPtr+=8,this.view.setBigUint64(bufPtr,BigInt(rstats.nlink),!0),bufPtr+=8,this.view.setBigUint64(bufPtr,BigInt(rstats.size),!0),bufPtr+=8,this.view.setBigUint64(bufPtr,msToNs(rstats.atimeMs),!0),bufPtr+=8,this.view.setBigUint64(bufPtr,msToNs(rstats.mtimeMs),!0),bufPtr+=8,this.view.setBigUint64(bufPtr,msToNs(rstats.ctimeMs),!0),constants_1.WASI_ESUCCESS}),fd_filestat_set_size:wrap((fd,stSize)=>{const stats=CHECK_FD(fd,constants_1.WASI_RIGHT_FD_FILESTAT_SET_SIZE);return fs.ftruncateSync(stats.real,Number(stSize)),constants_1.WASI_ESUCCESS}),fd_filestat_set_times:wrap((fd,stAtim,stMtim,fstflags)=>{const stats=CHECK_FD(fd,constants_1.WASI_RIGHT_FD_FILESTAT_SET_TIMES),rstats=this.fstatSync(stats.real);let{atime:atim,mtime:mtim}=rstats;const n=nsToMs(now(constants_1.WASI_CLOCK_REALTIME)),atimflags=constants_1.WASI_FILESTAT_SET_ATIM|constants_1.WASI_FILESTAT_SET_ATIM_NOW;if((fstflags&atimflags)===atimflags)return constants_1.WASI_EINVAL;const mtimflags=constants_1.WASI_FILESTAT_SET_MTIM|constants_1.WASI_FILESTAT_SET_MTIM_NOW;if((fstflags&mtimflags)===mtimflags)return constants_1.WASI_EINVAL;if((fstflags&constants_1.WASI_FILESTAT_SET_ATIM)===constants_1.WASI_FILESTAT_SET_ATIM)atim=nsToMs(stAtim);else if((fstflags&constants_1.WASI_FILESTAT_SET_ATIM_NOW)===constants_1.WASI_FILESTAT_SET_ATIM_NOW)atim=n;if((fstflags&constants_1.WASI_FILESTAT_SET_MTIM)===constants_1.WASI_FILESTAT_SET_MTIM)mtim=nsToMs(stMtim);else if((fstflags&constants_1.WASI_FILESTAT_SET_MTIM_NOW)===constants_1.WASI_FILESTAT_SET_MTIM_NOW)mtim=n;return fs.futimesSync(stats.real,new Date(atim),new Date(mtim)),constants_1.WASI_ESUCCESS}),fd_prestat_get:wrap((fd,bufPtr)=>{const stats=CHECK_FD(fd,BigInt(0));return this.refreshMemory(),this.view.setUint8(bufPtr,constants_1.WASI_PREOPENTYPE_DIR),this.view.setUint32(bufPtr+4,Buffer.byteLength(stats.fakePath\?\?stats.path\?\?\"\"),!0),constants_1.WASI_ESUCCESS}),fd_prestat_dir_name:wrap((fd,pathPtr,pathLen)=>{const stats=CHECK_FD(fd,BigInt(0));return this.refreshMemory(),Buffer.from(this.memory.buffer).write(stats.fakePath\?\?stats.path\?\?\"\",pathPtr,pathLen,\"utf8\"),constants_1.WASI_ESUCCESS}),fd_pwrite:wrap((fd,iovs,iovsLen,offset,nwritten)=>{const stats=CHECK_FD(fd,constants_1.WASI_RIGHT_FD_WRITE|constants_1.WASI_RIGHT_FD_SEEK);let written=0;return getiovs(iovs,iovsLen).forEach((iov)=>{let w=0;while(w{const stats=CHECK_FD(fd,constants_1.WASI_RIGHT_FD_WRITE),IS_STDOUT=fd==constants_1.WASI_STDOUT_FILENO,IS_STDERR=fd==constants_1.WASI_STDERR_FILENO;let written=0;return getiovs(iovs,iovsLen).forEach((iov)=>{if(iov.byteLength==0)return;if(IS_STDOUT&&this.sendStdout!=null)this.sendStdout(iov),written+=iov.byteLength;else if(IS_STDERR&&this.sendStderr!=null)this.sendStderr(iov),written+=iov.byteLength;else{let w=0;while(w{const stats=CHECK_FD(fd,constants_1.WASI_RIGHT_FD_READ|constants_1.WASI_RIGHT_FD_SEEK);let read=0;outer:for(let iov of getiovs(iovs,iovsLen)){let r=0;while(r{const stats=CHECK_FD(fd,constants_1.WASI_RIGHT_FD_READ),IS_STDIN=fd==constants_1.WASI_STDIN_FILENO;let read=0;outer:for(let iov of getiovs(iovs,iovsLen)){let r=0;while(r0)this.lastStdin=(new Date()).valueOf()}}else{if(this.sleep==null&&!warnedAboutSleep)warnedAboutSleep=!0,console.log(\"(cpu waiting for stdin: please define a way to sleep!) \");try{rr=fs.readSync(stats.real,iov,r,length,position)}catch(_err){}if(rr==0)this.shortPause();else this.lastStdin=(new Date()).valueOf()}else rr=fs.readSync(stats.real,iov,r,length,position);if(stats.filetype==constants_1.WASI_FILETYPE_REGULAR_FILE)stats.offset=(stats.offset\?stats.offset:BigInt(0))+BigInt(rr);if(r+=rr,read+=rr,rr===0||rr{const stats=CHECK_FD(fd,constants_1.WASI_RIGHT_FD_READDIR);this.refreshMemory();const entries=fs.readdirSync(stats.path,{withFileTypes:!0}),startPtr=bufPtr;for(let i=Number(cookie);ibufLen)break;if(this.view.setBigUint64(bufPtr,BigInt(i+1),!0),bufPtr+=8,bufPtr-startPtr>bufLen)break;const rstats=fs.lstatSync(path.resolve(stats.path,entry.name));if(this.view.setBigUint64(bufPtr,BigInt(rstats.ino),!0),bufPtr+=8,bufPtr-startPtr>bufLen)break;if(this.view.setUint32(bufPtr,nameLength,!0),bufPtr+=4,bufPtr-startPtr>bufLen)break;let filetype;switch(!0){case rstats.isBlockDevice():filetype=constants_1.WASI_FILETYPE_BLOCK_DEVICE;break;case rstats.isCharacterDevice():filetype=constants_1.WASI_FILETYPE_CHARACTER_DEVICE;break;case rstats.isDirectory():filetype=constants_1.WASI_FILETYPE_DIRECTORY;break;case rstats.isFIFO():filetype=constants_1.WASI_FILETYPE_SOCKET_STREAM;break;case rstats.isFile():filetype=constants_1.WASI_FILETYPE_REGULAR_FILE;break;case rstats.isSocket():filetype=constants_1.WASI_FILETYPE_SOCKET_STREAM;break;case rstats.isSymbolicLink():filetype=constants_1.WASI_FILETYPE_SYMBOLIC_LINK;break;default:filetype=constants_1.WASI_FILETYPE_UNKNOWN;break}if(this.view.setUint8(bufPtr,filetype),bufPtr+=1,bufPtr+=3,bufPtr+nameLength>=startPtr+bufLen)break;Buffer.from(this.memory.buffer).write(entry.name,bufPtr),bufPtr+=nameLength}const bufused=bufPtr-startPtr;return this.view.setUint32(bufusedPtr,Math.min(bufused,bufLen),!0),constants_1.WASI_ESUCCESS}),fd_renumber:wrap((from,to)=>{return CHECK_FD(from,BigInt(0)),CHECK_FD(to,BigInt(0)),fs.closeSync(this.FD_MAP.get(from).real),this.FD_MAP.set(from,this.FD_MAP.get(to)),this.FD_MAP.delete(to),constants_1.WASI_ESUCCESS}),fd_seek:wrap((fd,offset,whence,newOffsetPtr)=>{const stats=CHECK_FD(fd,constants_1.WASI_RIGHT_FD_SEEK);switch(this.refreshMemory(),whence){case constants_1.WASI_WHENCE_CUR:stats.offset=(stats.offset\?stats.offset:BigInt(0))+BigInt(offset);break;case constants_1.WASI_WHENCE_END:const{size}=this.fstatSync(stats.real);stats.offset=BigInt(size)+BigInt(offset);break;case constants_1.WASI_WHENCE_SET:stats.offset=BigInt(offset);break}if(stats.offset==null)throw Error(\"stats.offset must be defined\");return this.view.setBigUint64(newOffsetPtr,stats.offset,!0),constants_1.WASI_ESUCCESS}),fd_tell:wrap((fd,offsetPtr)=>{const stats=CHECK_FD(fd,constants_1.WASI_RIGHT_FD_TELL);if(this.refreshMemory(),!stats.offset)stats.offset=BigInt(0);return this.view.setBigUint64(offsetPtr,stats.offset,!0),constants_1.WASI_ESUCCESS}),fd_sync:wrap((fd)=>{const stats=CHECK_FD(fd,constants_1.WASI_RIGHT_FD_SYNC);return fs.fsyncSync(stats.real),constants_1.WASI_ESUCCESS}),path_create_directory:wrap((fd,pathPtr,pathLen)=>{const stats=CHECK_FD(fd,constants_1.WASI_RIGHT_PATH_CREATE_DIRECTORY);if(!stats.path)return constants_1.WASI_EINVAL;this.refreshMemory();const p=Buffer.from(this.memory.buffer,pathPtr,pathLen).toString();return fs.mkdirSync(path.resolve(stats.path,p)),constants_1.WASI_ESUCCESS}),path_filestat_get:wrap((fd,flags,pathPtr,pathLen,bufPtr)=>{const stats=CHECK_FD(fd,constants_1.WASI_RIGHT_PATH_FILESTAT_GET);if(!stats.path)return constants_1.WASI_EINVAL;this.refreshMemory();const p=Buffer.from(this.memory.buffer,pathPtr,pathLen).toString();let rstats;if(flags)rstats=fs.statSync(path.resolve(stats.path,p));else rstats=fs.lstatSync(path.resolve(stats.path,p));return this.view.setBigUint64(bufPtr,BigInt(rstats.dev),!0),bufPtr+=8,this.view.setBigUint64(bufPtr,BigInt(rstats.ino),!0),bufPtr+=8,this.view.setUint8(bufPtr,translateFileAttributes(this,void 0,rstats).filetype),bufPtr+=8,this.view.setBigUint64(bufPtr,BigInt(rstats.nlink),!0),bufPtr+=8,this.view.setBigUint64(bufPtr,BigInt(rstats.size),!0),bufPtr+=8,this.view.setBigUint64(bufPtr,BigInt(rstats.atime.getTime()*1e6),!0),bufPtr+=8,this.view.setBigUint64(bufPtr,BigInt(rstats.mtime.getTime()*1e6),!0),bufPtr+=8,this.view.setBigUint64(bufPtr,BigInt(rstats.ctime.getTime()*1e6),!0),constants_1.WASI_ESUCCESS}),path_filestat_set_times:wrap((fd,_dirflags,pathPtr,pathLen,stAtim,stMtim,fstflags)=>{const stats=CHECK_FD(fd,constants_1.WASI_RIGHT_PATH_FILESTAT_SET_TIMES);if(!stats.path)return constants_1.WASI_EINVAL;this.refreshMemory();const rstats=this.fstatSync(stats.real);let{atime:atim,mtime:mtim}=rstats;const n=nsToMs(now(constants_1.WASI_CLOCK_REALTIME)),atimflags=constants_1.WASI_FILESTAT_SET_ATIM|constants_1.WASI_FILESTAT_SET_ATIM_NOW;if((fstflags&atimflags)===atimflags)return constants_1.WASI_EINVAL;const mtimflags=constants_1.WASI_FILESTAT_SET_MTIM|constants_1.WASI_FILESTAT_SET_MTIM_NOW;if((fstflags&mtimflags)===mtimflags)return constants_1.WASI_EINVAL;if((fstflags&constants_1.WASI_FILESTAT_SET_ATIM)===constants_1.WASI_FILESTAT_SET_ATIM)atim=nsToMs(stAtim);else if((fstflags&constants_1.WASI_FILESTAT_SET_ATIM_NOW)===constants_1.WASI_FILESTAT_SET_ATIM_NOW)atim=n;if((fstflags&constants_1.WASI_FILESTAT_SET_MTIM)===constants_1.WASI_FILESTAT_SET_MTIM)mtim=nsToMs(stMtim);else if((fstflags&constants_1.WASI_FILESTAT_SET_MTIM_NOW)===constants_1.WASI_FILESTAT_SET_MTIM_NOW)mtim=n;const p=Buffer.from(this.memory.buffer,pathPtr,pathLen).toString();return fs.utimesSync(path.resolve(stats.path,p),new Date(atim),new Date(mtim)),constants_1.WASI_ESUCCESS}),path_link:wrap((oldFd,_oldFlags,oldPath,oldPathLen,newFd,newPath,newPathLen)=>{const ostats=CHECK_FD(oldFd,constants_1.WASI_RIGHT_PATH_LINK_SOURCE),nstats=CHECK_FD(newFd,constants_1.WASI_RIGHT_PATH_LINK_TARGET);if(!ostats.path||!nstats.path)return constants_1.WASI_EINVAL;this.refreshMemory();const op=Buffer.from(this.memory.buffer,oldPath,oldPathLen).toString(),np=Buffer.from(this.memory.buffer,newPath,newPathLen).toString();return fs.linkSync(path.resolve(ostats.path,op),path.resolve(nstats.path,np)),constants_1.WASI_ESUCCESS}),path_open:wrap((dirfd,_dirflags,pathPtr,pathLen,oflags,fsRightsBase,fsRightsInheriting,fsFlags,fdPtr)=>{try{const stats=CHECK_FD(dirfd,constants_1.WASI_RIGHT_PATH_OPEN);fsRightsBase=BigInt(fsRightsBase),fsRightsInheriting=BigInt(fsRightsInheriting);const read=(fsRightsBase&(constants_1.WASI_RIGHT_FD_READ|constants_1.WASI_RIGHT_FD_READDIR))!==BigInt(0),write=(fsRightsBase&(constants_1.WASI_RIGHT_FD_DATASYNC|constants_1.WASI_RIGHT_FD_WRITE|constants_1.WASI_RIGHT_FD_ALLOCATE|constants_1.WASI_RIGHT_FD_FILESTAT_SET_SIZE))!==BigInt(0);let noflags;if(write&&read)noflags=nodeFsConstants.O_RDWR;else if(read)noflags=nodeFsConstants.O_RDONLY;else if(write)noflags=nodeFsConstants.O_WRONLY;let neededBase=fsRightsBase|constants_1.WASI_RIGHT_PATH_OPEN,neededInheriting=fsRightsBase|fsRightsInheriting;if((oflags&constants_1.WASI_O_CREAT)!==0)noflags|=nodeFsConstants.O_CREAT,neededBase|=constants_1.WASI_RIGHT_PATH_CREATE_FILE;if((oflags&constants_1.WASI_O_DIRECTORY)!==0)noflags|=nodeFsConstants.O_DIRECTORY;if((oflags&constants_1.WASI_O_EXCL)!==0)noflags|=nodeFsConstants.O_EXCL;if((oflags&constants_1.WASI_O_TRUNC)!==0)noflags|=nodeFsConstants.O_TRUNC,neededBase|=constants_1.WASI_RIGHT_PATH_FILESTAT_SET_SIZE;if((fsFlags&constants_1.WASI_FDFLAG_APPEND)!==0)noflags|=nodeFsConstants.O_APPEND;if((fsFlags&constants_1.WASI_FDFLAG_DSYNC)!==0){if(nodeFsConstants.O_DSYNC)noflags|=nodeFsConstants.O_DSYNC;else noflags|=nodeFsConstants.O_SYNC;neededInheriting|=constants_1.WASI_RIGHT_FD_DATASYNC}if((fsFlags&constants_1.WASI_FDFLAG_NONBLOCK)!==0)noflags|=nodeFsConstants.O_NONBLOCK;if((fsFlags&constants_1.WASI_FDFLAG_RSYNC)!==0){if(nodeFsConstants.O_RSYNC)noflags|=nodeFsConstants.O_RSYNC;else noflags|=nodeFsConstants.O_SYNC;neededInheriting|=constants_1.WASI_RIGHT_FD_SYNC}if((fsFlags&constants_1.WASI_FDFLAG_SYNC)!==0)noflags|=nodeFsConstants.O_SYNC,neededInheriting|=constants_1.WASI_RIGHT_FD_SYNC;if(write&&(noflags&(nodeFsConstants.O_APPEND|nodeFsConstants.O_TRUNC))===0)neededInheriting|=constants_1.WASI_RIGHT_FD_SEEK;this.refreshMemory();const p=Buffer.from(this.memory.buffer,pathPtr,pathLen).toString();if(p==\"dev/tty\")return this.view.setUint32(fdPtr,constants_1.WASI_STDIN_FILENO,!0),constants_1.WASI_ESUCCESS;if(logOpen(\"path_open\",p),p.startsWith(\"proc/\"))throw new types_1.WASIError(constants_1.WASI_EBADF);const fullUnresolved=path.resolve(p);let full;try{full=fs.realpathSync(fullUnresolved)}catch(e){if(e\?.code===\"ENOENT\")full=fullUnresolved;else throw e}let isDirectory;if(write)try{isDirectory=fs.statSync(full).isDirectory()}catch(_err){}let realfd;if(!write&&isDirectory)realfd=fs.openSync(full,nodeFsConstants.O_RDONLY);else realfd=fs.openSync(full,noflags);const newfd=this.getUnusedFileDescriptor();this.FD_MAP.set(newfd,{real:realfd,filetype:void 0,rights:{base:neededBase,inheriting:neededInheriting},path:full}),stat(this,newfd),this.view.setUint32(fdPtr,newfd,!0)}catch(e){console.error(e)}return constants_1.WASI_ESUCCESS}),path_readlink:wrap((fd,pathPtr,pathLen,buf,bufLen,bufused)=>{const stats=CHECK_FD(fd,constants_1.WASI_RIGHT_PATH_READLINK);if(!stats.path)return constants_1.WASI_EINVAL;this.refreshMemory();const p=Buffer.from(this.memory.buffer,pathPtr,pathLen).toString(),full=path.resolve(stats.path,p),r=fs.readlinkSync(full),used=Buffer.from(this.memory.buffer).write(r,buf,bufLen);return this.view.setUint32(bufused,used,!0),constants_1.WASI_ESUCCESS}),path_remove_directory:wrap((fd,pathPtr,pathLen)=>{const stats=CHECK_FD(fd,constants_1.WASI_RIGHT_PATH_REMOVE_DIRECTORY);if(!stats.path)return constants_1.WASI_EINVAL;this.refreshMemory();const p=Buffer.from(this.memory.buffer,pathPtr,pathLen).toString();return fs.rmdirSync(path.resolve(stats.path,p)),constants_1.WASI_ESUCCESS}),path_rename:wrap((oldFd,oldPath,oldPathLen,newFd,newPath,newPathLen)=>{const ostats=CHECK_FD(oldFd,constants_1.WASI_RIGHT_PATH_RENAME_SOURCE),nstats=CHECK_FD(newFd,constants_1.WASI_RIGHT_PATH_RENAME_TARGET);if(!ostats.path||!nstats.path)return constants_1.WASI_EINVAL;this.refreshMemory();const op=Buffer.from(this.memory.buffer,oldPath,oldPathLen).toString(),np=Buffer.from(this.memory.buffer,newPath,newPathLen).toString();return fs.renameSync(path.resolve(ostats.path,op),path.resolve(nstats.path,np)),constants_1.WASI_ESUCCESS}),path_symlink:wrap((oldPath,oldPathLen,fd,newPath,newPathLen)=>{const stats=CHECK_FD(fd,constants_1.WASI_RIGHT_PATH_SYMLINK);if(!stats.path)return constants_1.WASI_EINVAL;this.refreshMemory();const op=Buffer.from(this.memory.buffer,oldPath,oldPathLen).toString(),np=Buffer.from(this.memory.buffer,newPath,newPathLen).toString();return fs.symlinkSync(op,path.resolve(stats.path,np)),constants_1.WASI_ESUCCESS}),path_unlink_file:wrap((fd,pathPtr,pathLen)=>{const stats=CHECK_FD(fd,constants_1.WASI_RIGHT_PATH_UNLINK_FILE);if(!stats.path)return constants_1.WASI_EINVAL;this.refreshMemory();const p=Buffer.from(this.memory.buffer,pathPtr,pathLen).toString();return fs.unlinkSync(path.resolve(stats.path,p)),constants_1.WASI_ESUCCESS}),poll_oneoff:(sin,sout,nsubscriptions,neventsPtr)=>{let nevents=0,name=\"\",waitTimeNs=BigInt(0),fd=-1,fd_type=\"read\",fd_timeout_ms=0;const startNs=BigInt(bindings2.hrtime());this.refreshMemory();let last_sin=sin;for(let i=0;iwaitTimeNs)waitTimeNs=waitNs}this.view.setBigUint64(sout,userdata,!0),sout+=8,this.view.setUint16(sout,e,!0),sout+=2,this.view.setUint8(sout,constants_1.WASI_EVENTTYPE_CLOCK),sout+=1,sout+=5,nevents+=1;break}case constants_1.WASI_EVENTTYPE_FD_READ:case constants_1.WASI_EVENTTYPE_FD_WRITE:{if(fd=this.view.getUint32(sin,!0),fd_type=type==constants_1.WASI_EVENTTYPE_FD_READ\?\"read\":\"write\",sin+=4,log(name,\"fd =\",fd),sin+=28,this.view.setBigUint64(sout,userdata,!0),sout+=8,this.view.setUint16(sout,constants_1.WASI_ENOSYS,!0),sout+=2,this.view.setUint8(sout,type),sout+=1,sout+=5,nevents+=1,fd==constants_1.WASI_STDIN_FILENO&&constants_1.WASI_EVENTTYPE_FD_READ==type)this.shortPause();break}default:return constants_1.WASI_EINVAL}if(sin-last_sin!=48)console.warn(\"*** BUG in wasi-js in poll_oneoff \",{i,sin,last_sin,diff:sin-last_sin});last_sin=sin}if(this.view.setUint32(neventsPtr,nevents,!0),nevents==2&&fd>=0){const r=this.wasiImport.sock_pollSocket(fd,fd_type,fd_timeout_ms);if(r!=constants_1.WASI_ENOSYS)return r}if(waitTimeNs>0){if(waitTimeNs-=Bun.nanoseconds()-timeOrigin,waitTimeNs>=1e6){if(this.sleep==null&&!warnedAboutSleep)warnedAboutSleep=!0,console.log(\"(100% cpu burning waiting for stdin: please define a way to sleep!) \");if(this.sleep!=null){const ms=nsToMs(waitTimeNs);this.sleep(ms)}else{const end=BigInt(bindings2.hrtime())+waitTimeNs;while(BigInt(bindings2.hrtime()){return bindings2.exit(rval),constants_1.WASI_ESUCCESS},proc_raise:(sig)=>{if(!(sig in constants_1.SIGNAL_MAP))return constants_1.WASI_EINVAL;return bindings2.kill(constants_1.SIGNAL_MAP[sig]),constants_1.WASI_ESUCCESS},random_get:(bufPtr,bufLen)=>{return this.refreshMemory(),crypto.getRandomValues(this.memory.buffer,bufPtr,bufLen),bufLen},sched_yield(){return constants_1.WASI_ESUCCESS},sock_recv(){return constants_1.WASI_ENOSYS},sock_send(){return constants_1.WASI_ENOSYS},sock_shutdown(){return constants_1.WASI_ENOSYS},sock_fcntlSetFlags(_fd,_flags){return constants_1.WASI_ENOSYS},sock_pollSocket(_fd,_eventtype,_timeout_ms){return constants_1.WASI_ENOSYS}},log.enabled)Object.keys(this.wasiImport).forEach((key)=>{const prevImport=this.wasiImport[key];this.wasiImport[key]=function(...args2){log(key,args2);try{let result=prevImport(...args2);return log(\"result\",result),result}catch(e){throw log(\"error: \",e),e}}})}getState(){return{env:this.env,FD_MAP:this.FD_MAP,bindings}}setState(state){this.env=state.env,this.FD_MAP=state.FD_MAP,bindings=state.bindings}fstatSync(real_fd){if(real_fd<=2)try{return fs.fstatSync(real_fd)}catch(_){const now=new Date;return{dev:0,mode:8592,nlink:1,uid:0,gid:0,rdev:0,blksize:65536,ino:0,size:0,blocks:0,atimeMs:now.valueOf(),mtimeMs:now.valueOf(),ctimeMs:now.valueOf(),birthtimeMs:0,atime:new Date,mtime:new Date,ctime:new Date,birthtime:new Date(0)}}return fs.fstatSync(real_fd)}shortPause(){if(this.sleep==null)return;if((new Date()).valueOf()-this.lastStdin>2000)this.sleep(50)}getUnusedFileDescriptor(start=3){let fd=start;while(this.FD_MAP.has(fd))fd+=1;if(fd>SC_OPEN_MAX)throw Error(\"no available file descriptors\");return fd}refreshMemory(){if(!this.view||this.view.buffer.byteLength===0)this.view=new DataView(this.memory.buffer)}setMemory(memory){this.memory=memory}start(instance,memory){const exports2=instance.exports;if(exports2===null||typeof exports2!==\"object\")throw new Error(`instance.exports must be an Object. Received ${exports2}.`);if(memory==null){if(memory=exports2.memory,!(memory instanceof WebAssembly.Memory))throw new Error(`instance.exports.memory must be a WebAssembly.Memory. Recceived ${memory}.`)}if(this.setMemory(memory),exports2._start)exports2._start()}getImports(module2){let namespace=null;const imports=WebAssembly.Module.imports(module2);for(let imp of imports){if(imp.kind!==\"function\")continue;if(!imp.module.startsWith(\"wasi_\"))continue;namespace=imp.module;break}switch(namespace){case\"wasi_unstable\":return{wasi_unstable:this.wasiImport};case\"wasi_snapshot_preview1\":return{wasi_snapshot_preview1:this.wasiImport};default:throw new Error(\"No WASI namespace found. Only wasi_unstable and wasi_snapshot_preview1 are supported.\\n\\nList of imports:\\n\\n\"+imports.map(({name,kind,module})=>`${module}:${name} (${kind})`).join(\"\\n\")+\"\\n\")}}initWasiFdInfo(){if(this.env.WASI_FD_INFO!=null){const fdInfo=JSON.parse(this.env.WASI_FD_INFO);for(let wasi_fd in fdInfo){console.log(wasi_fd);const fd=parseInt(wasi_fd);if(this.FD_MAP.has(fd))continue;const real=fdInfo[wasi_fd];try{this.fstatSync(real)}catch(_err){console.log(\"discarding \",{wasi_fd,real});continue}const file={real,filetype:constants_1.WASI_FILETYPE_SOCKET_STREAM,rights:{base:STDIN_DEFAULT_RIGHTS,inheriting:BigInt(0)}};this.FD_MAP.set(fd,file)}console.log(\"after initWasiFdInfo: \",this.FD_MAP),console.log(\"fdInfo = \",fdInfo)}else console.log(\"no WASI_FD_INFO\")}};exports.default=WASI}});return require_wasi()})\n"_s; +static constexpr ASCIILiteral NodeZlibCode = "(function (){\"use strict\";const assert=@requireId(3),BufferModule=@requireBuiltin(49),StreamModule=@requireId(30),Util=@requireId(38);var __getOwnPropNames=Object.getOwnPropertyNames,__commonJS=(cb,mod)=>function __require(){return mod||(0,cb[__getOwnPropNames(cb)[0]])((mod={exports:{}}).exports,mod),mod.exports},require_zstream=__commonJS({\"node_modules/pako/lib/zlib/zstream.js\"(exports,module2){function ZStream(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg=\"\",this.state=null,this.data_type=2,this.adler=0}module2.exports=ZStream}}),require_common=__commonJS({\"node_modules/pako/lib/utils/common.js\"(exports){var TYPED_OK=typeof Uint8Array!==\"undefined\"&&typeof Uint16Array!==\"undefined\"&&typeof Int32Array!==\"undefined\";function _has(obj,key){return Object.prototype.hasOwnProperty.call(obj,key)}exports.assign=function(obj){var sources=Array.prototype.slice.call(arguments,1);while(sources.length){var source=sources.shift();if(!source)continue;if(typeof source!==\"object\")@throwTypeError(source+\"must be non-object\");for(var p in source)if(_has(source,p))obj[p]=source[p]}return obj},exports.shrinkBuf=function(buf,size){if(buf.length===size)return buf;if(buf.subarray)return buf.subarray(0,size);return buf.length=size,buf};var fnTyped={arraySet:function(dest,src,src_offs,len,dest_offs){if(src.subarray&&dest.subarray){dest.set(src.subarray(src_offs,src_offs+len),dest_offs);return}for(var i=0;i=0)buf[len]=0}var STORED_BLOCK=0,STATIC_TREES=1,DYN_TREES=2,MIN_MATCH=3,MAX_MATCH=258,LENGTH_CODES=29,LITERALS=256,L_CODES=LITERALS+1+LENGTH_CODES,D_CODES=30,BL_CODES=19,HEAP_SIZE=2*L_CODES+1,MAX_BITS=15,Buf_size=16,MAX_BL_BITS=7,END_BLOCK=256,REP_3_6=16,REPZ_3_10=17,REPZ_11_138=18,extra_lbits=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],extra_dbits=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],extra_blbits=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],bl_order=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],DIST_CODE_LEN=512,static_ltree=new Array((L_CODES+2)*2);zero(static_ltree);var static_dtree=new Array(D_CODES*2);zero(static_dtree);var _dist_code=new Array(DIST_CODE_LEN);zero(_dist_code);var _length_code=new Array(MAX_MATCH-MIN_MATCH+1);zero(_length_code);var base_length=new Array(LENGTH_CODES);zero(base_length);var base_dist=new Array(D_CODES);zero(base_dist);function StaticTreeDesc(static_tree,extra_bits,extra_base,elems,max_length){this.static_tree=static_tree,this.extra_bits=extra_bits,this.extra_base=extra_base,this.elems=elems,this.max_length=max_length,this.has_stree=static_tree&&static_tree.length}var static_l_desc,static_d_desc,static_bl_desc;function TreeDesc(dyn_tree,stat_desc){this.dyn_tree=dyn_tree,this.max_code=0,this.stat_desc=stat_desc}function d_code(dist){return dist<256\?_dist_code[dist]:_dist_code[256+(dist>>>7)]}function put_short(s,w){s.pending_buf[s.pending++]=w&255,s.pending_buf[s.pending++]=w>>>8&255}function send_bits(s,value,length){if(s.bi_valid>Buf_size-length)s.bi_buf|=value<>Buf_size-s.bi_valid,s.bi_valid+=length-Buf_size;else s.bi_buf|=value<>>=1,res<<=1;while(--len>0);return res>>>1}function bi_flush(s){if(s.bi_valid===16)put_short(s,s.bi_buf),s.bi_buf=0,s.bi_valid=0;else if(s.bi_valid>=8)s.pending_buf[s.pending++]=s.bi_buf&255,s.bi_buf>>=8,s.bi_valid-=8}function gen_bitlen(s,desc){var{dyn_tree:tree,max_code}=desc,stree=desc.stat_desc.static_tree,has_stree=desc.stat_desc.has_stree,extra=desc.stat_desc.extra_bits,base=desc.stat_desc.extra_base,max_length=desc.stat_desc.max_length,h,n,m,bits,xbits,f,overflow=0;for(bits=0;bits<=MAX_BITS;bits++)s.bl_count[bits]=0;tree[s.heap[s.heap_max]*2+1]=0;for(h=s.heap_max+1;hmax_length)bits=max_length,overflow++;if(tree[n*2+1]=bits,n>max_code)continue;if(s.bl_count[bits]++,xbits=0,n>=base)xbits=extra[n-base];if(f=tree[n*2],s.opt_len+=f*(bits+xbits),has_stree)s.static_len+=f*(stree[n*2+1]+xbits)}if(overflow===0)return;do{bits=max_length-1;while(s.bl_count[bits]===0)bits--;s.bl_count[bits]--,s.bl_count[bits+1]+=2,s.bl_count[max_length]--,overflow-=2}while(overflow>0);for(bits=max_length;bits!==0;bits--){n=s.bl_count[bits];while(n!==0){if(m=s.heap[--h],m>max_code)continue;if(tree[m*2+1]!==bits)s.opt_len+=(bits-tree[m*2+1])*tree[m*2],tree[m*2+1]=bits;n--}}}function gen_codes(tree,max_code,bl_count){var next_code=new Array(MAX_BITS+1),code=0,bits,n;for(bits=1;bits<=MAX_BITS;bits++)next_code[bits]=code=code+bl_count[bits-1]<<1;for(n=0;n<=max_code;n++){var len=tree[n*2+1];if(len===0)continue;tree[n*2]=bi_reverse(next_code[len]++,len)}}function tr_static_init(){var n,bits,length,code,dist,bl_count=new Array(MAX_BITS+1);length=0;for(code=0;code>=7;for(;code8)put_short(s,s.bi_buf);else if(s.bi_valid>0)s.pending_buf[s.pending++]=s.bi_buf;s.bi_buf=0,s.bi_valid=0}function copy_block(s,buf,len,header){if(bi_windup(s),header)put_short(s,len),put_short(s,~len);utils.arraySet(s.pending_buf,s.window,buf,len,s.pending),s.pending+=len}function smaller(tree,n,m,depth){var _n2=n*2,_m2=m*2;return tree[_n2]>1;n>=1;n--)pqdownheap(s,tree,n);node=elems;do n=s.heap[1],s.heap[1]=s.heap[s.heap_len--],pqdownheap(s,tree,1),m=s.heap[1],s.heap[--s.heap_max]=n,s.heap[--s.heap_max]=m,tree[node*2]=tree[n*2]+tree[m*2],s.depth[node]=(s.depth[n]>=s.depth[m]\?s.depth[n]:s.depth[m])+1,tree[n*2+1]=tree[m*2+1]=node,s.heap[1]=node++,pqdownheap(s,tree,1);while(s.heap_len>=2);s.heap[--s.heap_max]=s.heap[1],gen_bitlen(s,desc),gen_codes(tree,max_code,s.bl_count)}function scan_tree(s,tree,max_code){var n,prevlen=-1,curlen,nextlen=tree[1],count=0,max_count=7,min_count=4;if(nextlen===0)max_count=138,min_count=3;tree[(max_code+1)*2+1]=65535;for(n=0;n<=max_code;n++){if(curlen=nextlen,nextlen=tree[(n+1)*2+1],++count=3;max_blindex--)if(s.bl_tree[bl_order[max_blindex]*2+1]!==0)break;return s.opt_len+=3*(max_blindex+1)+5+5+4,max_blindex}function send_all_trees(s,lcodes,dcodes,blcodes){var rank;send_bits(s,lcodes-257,5),send_bits(s,dcodes-1,5),send_bits(s,blcodes-4,4);for(rank=0;rank>>=1)if(black_mask&1&&s.dyn_ltree[n*2]!==0)return Z_BINARY;if(s.dyn_ltree[18]!==0||s.dyn_ltree[20]!==0||s.dyn_ltree[26]!==0)return Z_TEXT;for(n=32;n0){if(s.strm.data_type===Z_UNKNOWN)s.strm.data_type=detect_data_type(s);if(build_tree(s,s.l_desc),build_tree(s,s.d_desc),max_blindex=build_bl_tree(s),opt_lenb=s.opt_len+3+7>>>3,static_lenb=s.static_len+3+7>>>3,static_lenb<=opt_lenb)opt_lenb=static_lenb}else opt_lenb=static_lenb=stored_len+5;if(stored_len+4<=opt_lenb&&buf!==-1)_tr_stored_block(s,buf,stored_len,last);else if(s.strategy===Z_FIXED||static_lenb===opt_lenb)send_bits(s,(STATIC_TREES<<1)+(last\?1:0),3),compress_block(s,static_ltree,static_dtree);else send_bits(s,(DYN_TREES<<1)+(last\?1:0),3),send_all_trees(s,s.l_desc.max_code+1,s.d_desc.max_code+1,max_blindex+1),compress_block(s,s.dyn_ltree,s.dyn_dtree);if(init_block(s),last)bi_windup(s)}function _tr_tally(s,dist,lc){if(s.pending_buf[s.d_buf+s.last_lit*2]=dist>>>8&255,s.pending_buf[s.d_buf+s.last_lit*2+1]=dist&255,s.pending_buf[s.l_buf+s.last_lit]=lc&255,s.last_lit++,dist===0)s.dyn_ltree[lc*2]++;else s.matches++,dist--,s.dyn_ltree[(_length_code[lc]+LITERALS+1)*2]++,s.dyn_dtree[d_code(dist)*2]++;return s.last_lit===s.lit_bufsize-1}exports._tr_init=_tr_init,exports._tr_stored_block=_tr_stored_block,exports._tr_flush_block=_tr_flush_block,exports._tr_tally=_tr_tally,exports._tr_align=_tr_align}}),require_adler32=__commonJS({\"node_modules/pako/lib/zlib/adler32.js\"(exports,module2){function adler32(adler,buf,len,pos){var s1=adler&65535|0,s2=adler>>>16&65535|0,n=0;while(len!==0){n=len>2000\?2000:len,len-=n;do s1=s1+buf[pos++]|0,s2=s2+s1|0;while(--n);s1%=65521,s2%=65521}return s1|s2<<16|0}module2.exports=adler32}}),require_crc32=__commonJS({\"node_modules/pako/lib/zlib/crc32.js\"(exports,module2){function makeTable(){var c,table=[];for(var n=0;n<256;n++){c=n;for(var k=0;k<8;k++)c=c&1\?3988292384^c>>>1:c>>>1;table[n]=c}return table}var crcTable=makeTable();function crc32(crc,buf,len,pos){var t=crcTable,end=pos+len;crc^=-1;for(var i=pos;i>>8^t[(crc^buf[i])&255];return crc^-1}module2.exports=crc32}}),require_messages=__commonJS({\"node_modules/pako/lib/zlib/messages.js\"(exports,module2){module2.exports={2:\"need dictionary\",1:\"stream end\",0:\"\",\"-1\":\"file error\",\"-2\":\"stream error\",\"-3\":\"data error\",\"-4\":\"insufficient memory\",\"-5\":\"buffer error\",\"-6\":\"incompatible version\"}}}),require_deflate=__commonJS({\"node_modules/pako/lib/zlib/deflate.js\"(exports){var utils=require_common(),trees=require_trees(),adler32=require_adler32(),crc32=require_crc32(),msg=require_messages(),Z_NO_FLUSH=0,Z_PARTIAL_FLUSH=1,Z_FULL_FLUSH=3,Z_FINISH=4,Z_BLOCK=5,Z_OK=0,Z_STREAM_END=1,Z_STREAM_ERROR=-2,Z_DATA_ERROR=-3,Z_BUF_ERROR=-5,Z_DEFAULT_COMPRESSION=-1,Z_FILTERED=1,Z_HUFFMAN_ONLY=2,Z_RLE=3,Z_FIXED=4,Z_DEFAULT_STRATEGY=0,Z_UNKNOWN=2,Z_DEFLATED=8,MAX_MEM_LEVEL=9,MAX_WBITS=15,DEF_MEM_LEVEL=8,LENGTH_CODES=29,LITERALS=256,L_CODES=LITERALS+1+LENGTH_CODES,D_CODES=30,BL_CODES=19,HEAP_SIZE=2*L_CODES+1,MAX_BITS=15,MIN_MATCH=3,MAX_MATCH=258,MIN_LOOKAHEAD=MAX_MATCH+MIN_MATCH+1,PRESET_DICT=32,INIT_STATE=42,EXTRA_STATE=69,NAME_STATE=73,COMMENT_STATE=91,HCRC_STATE=103,BUSY_STATE=113,FINISH_STATE=666,BS_NEED_MORE=1,BS_BLOCK_DONE=2,BS_FINISH_STARTED=3,BS_FINISH_DONE=4,OS_CODE=3;function err(strm,errorCode){return strm.msg=msg[errorCode],errorCode}function rank(f){return(f<<1)-(f>4\?9:0)}function zero(buf){var len=buf.length;while(--len>=0)buf[len]=0}function flush_pending(strm){var s=strm.state,len=s.pending;if(len>strm.avail_out)len=strm.avail_out;if(len===0)return;if(utils.arraySet(strm.output,s.pending_buf,s.pending_out,len,strm.next_out),strm.next_out+=len,s.pending_out+=len,strm.total_out+=len,strm.avail_out-=len,s.pending-=len,s.pending===0)s.pending_out=0}function flush_block_only(s,last){trees._tr_flush_block(s,s.block_start>=0\?s.block_start:-1,s.strstart-s.block_start,last),s.block_start=s.strstart,flush_pending(s.strm)}function put_byte(s,b){s.pending_buf[s.pending++]=b}function putShortMSB(s,b){s.pending_buf[s.pending++]=b>>>8&255,s.pending_buf[s.pending++]=b&255}function read_buf(strm,buf,start,size){var len=strm.avail_in;if(len>size)len=size;if(len===0)return 0;if(strm.avail_in-=len,utils.arraySet(buf,strm.input,strm.next_in,len,start),strm.state.wrap===1)strm.adler=adler32(strm.adler,buf,len,start);else if(strm.state.wrap===2)strm.adler=crc32(strm.adler,buf,len,start);return strm.next_in+=len,strm.total_in+=len,len}function longest_match(s,cur_match){var{max_chain_length:chain_length,strstart:scan}=s,match,len,best_len=s.prev_length,nice_match=s.nice_match,limit=s.strstart>s.w_size-MIN_LOOKAHEAD\?s.strstart-(s.w_size-MIN_LOOKAHEAD):0,_win=s.window,wmask=s.w_mask,prev=s.prev,strend=s.strstart+MAX_MATCH,scan_end1=_win[scan+best_len-1],scan_end=_win[scan+best_len];if(s.prev_length>=s.good_match)chain_length>>=2;if(nice_match>s.lookahead)nice_match=s.lookahead;do{if(match=cur_match,_win[match+best_len]!==scan_end||_win[match+best_len-1]!==scan_end1||_win[match]!==_win[scan]||_win[++match]!==_win[scan+1])continue;scan+=2,match++;do;while(_win[++scan]===_win[++match]&&_win[++scan]===_win[++match]&&_win[++scan]===_win[++match]&&_win[++scan]===_win[++match]&&_win[++scan]===_win[++match]&&_win[++scan]===_win[++match]&&_win[++scan]===_win[++match]&&_win[++scan]===_win[++match]&&scanbest_len){if(s.match_start=cur_match,best_len=len,len>=nice_match)break;scan_end1=_win[scan+best_len-1],scan_end=_win[scan+best_len]}}while((cur_match=prev[cur_match&wmask])>limit&&--chain_length!==0);if(best_len<=s.lookahead)return best_len;return s.lookahead}function fill_window(s){var _w_size=s.w_size,p,n,m,more,str;do{if(more=s.window_size-s.lookahead-s.strstart,s.strstart>=_w_size+(_w_size-MIN_LOOKAHEAD)){utils.arraySet(s.window,s.window,_w_size,_w_size,0),s.match_start-=_w_size,s.strstart-=_w_size,s.block_start-=_w_size,n=s.hash_size,p=n;do m=s.head[--p],s.head[p]=m>=_w_size\?m-_w_size:0;while(--n);n=_w_size,p=n;do m=s.prev[--p],s.prev[p]=m>=_w_size\?m-_w_size:0;while(--n);more+=_w_size}if(s.strm.avail_in===0)break;if(n=read_buf(s.strm,s.window,s.strstart+s.lookahead,more),s.lookahead+=n,s.lookahead+s.insert>=MIN_MATCH){str=s.strstart-s.insert,s.ins_h=s.window[str],s.ins_h=(s.ins_h<s.pending_buf_size-5)max_block_size=s.pending_buf_size-5;for(;;){if(s.lookahead<=1){if(fill_window(s),s.lookahead===0&&flush===Z_NO_FLUSH)return BS_NEED_MORE;if(s.lookahead===0)break}s.strstart+=s.lookahead,s.lookahead=0;var max_start=s.block_start+max_block_size;if(s.strstart===0||s.strstart>=max_start){if(s.lookahead=s.strstart-max_start,s.strstart=max_start,flush_block_only(s,!1),s.strm.avail_out===0)return BS_NEED_MORE}if(s.strstart-s.block_start>=s.w_size-MIN_LOOKAHEAD){if(flush_block_only(s,!1),s.strm.avail_out===0)return BS_NEED_MORE}}if(s.insert=0,flush===Z_FINISH){if(flush_block_only(s,!0),s.strm.avail_out===0)return BS_FINISH_STARTED;return BS_FINISH_DONE}if(s.strstart>s.block_start){if(flush_block_only(s,!1),s.strm.avail_out===0)return BS_NEED_MORE}return BS_NEED_MORE}function deflate_fast(s,flush){var hash_head,bflush;for(;;){if(s.lookahead=MIN_MATCH)s.ins_h=(s.ins_h<=MIN_MATCH)if(bflush=trees._tr_tally(s,s.strstart-s.match_start,s.match_length-MIN_MATCH),s.lookahead-=s.match_length,s.match_length<=s.max_lazy_match&&s.lookahead>=MIN_MATCH){s.match_length--;do s.strstart++,s.ins_h=(s.ins_h<=MIN_MATCH)s.ins_h=(s.ins_h<4096))s.match_length=MIN_MATCH-1}if(s.prev_length>=MIN_MATCH&&s.match_length<=s.prev_length){max_insert=s.strstart+s.lookahead-MIN_MATCH,bflush=trees._tr_tally(s,s.strstart-1-s.prev_match,s.prev_length-MIN_MATCH),s.lookahead-=s.prev_length-1,s.prev_length-=2;do if(++s.strstart<=max_insert)s.ins_h=(s.ins_h<=MIN_MATCH&&s.strstart>0){if(scan=s.strstart-1,prev=_win[scan],prev===_win[++scan]&&prev===_win[++scan]&&prev===_win[++scan]){strend=s.strstart+MAX_MATCH;do;while(prev===_win[++scan]&&prev===_win[++scan]&&prev===_win[++scan]&&prev===_win[++scan]&&prev===_win[++scan]&&prev===_win[++scan]&&prev===_win[++scan]&&prev===_win[++scan]&&scans.lookahead)s.match_length=s.lookahead}}if(s.match_length>=MIN_MATCH)bflush=trees._tr_tally(s,1,s.match_length-MIN_MATCH),s.lookahead-=s.match_length,s.strstart+=s.match_length,s.match_length=0;else bflush=trees._tr_tally(s,0,s.window[s.strstart]),s.lookahead--,s.strstart++;if(bflush){if(flush_block_only(s,!1),s.strm.avail_out===0)return BS_NEED_MORE}}if(s.insert=0,flush===Z_FINISH){if(flush_block_only(s,!0),s.strm.avail_out===0)return BS_FINISH_STARTED;return BS_FINISH_DONE}if(s.last_lit){if(flush_block_only(s,!1),s.strm.avail_out===0)return BS_NEED_MORE}return BS_BLOCK_DONE}function deflate_huff(s,flush){var bflush;for(;;){if(s.lookahead===0){if(fill_window(s),s.lookahead===0){if(flush===Z_NO_FLUSH)return BS_NEED_MORE;break}}if(s.match_length=0,bflush=trees._tr_tally(s,0,s.window[s.strstart]),s.lookahead--,s.strstart++,bflush){if(flush_block_only(s,!1),s.strm.avail_out===0)return BS_NEED_MORE}}if(s.insert=0,flush===Z_FINISH){if(flush_block_only(s,!0),s.strm.avail_out===0)return BS_FINISH_STARTED;return BS_FINISH_DONE}if(s.last_lit){if(flush_block_only(s,!1),s.strm.avail_out===0)return BS_NEED_MORE}return BS_BLOCK_DONE}function Config(good_length,max_lazy,nice_length,max_chain,func){this.good_length=good_length,this.max_lazy=max_lazy,this.nice_length=nice_length,this.max_chain=max_chain,this.func=func}var configuration_table=[new Config(0,0,0,0,deflate_stored),new Config(4,4,8,4,deflate_fast),new Config(4,5,16,8,deflate_fast),new Config(4,6,32,32,deflate_fast),new Config(4,4,16,16,deflate_slow),new Config(8,16,32,32,deflate_slow),new Config(8,16,128,128,deflate_slow),new Config(8,32,128,256,deflate_slow),new Config(32,128,258,1024,deflate_slow),new Config(32,258,258,4096,deflate_slow)];function lm_init(s){s.window_size=2*s.w_size,zero(s.head),s.max_lazy_match=configuration_table[s.level].max_lazy,s.good_match=configuration_table[s.level].good_length,s.nice_match=configuration_table[s.level].nice_length,s.max_chain_length=configuration_table[s.level].max_chain,s.strstart=0,s.block_start=0,s.lookahead=0,s.insert=0,s.match_length=s.prev_length=MIN_MATCH-1,s.match_available=0,s.ins_h=0}function DeflateState(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=Z_DEFLATED,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new utils.Buf16(HEAP_SIZE*2),this.dyn_dtree=new utils.Buf16((2*D_CODES+1)*2),this.bl_tree=new utils.Buf16((2*BL_CODES+1)*2),zero(this.dyn_ltree),zero(this.dyn_dtree),zero(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new utils.Buf16(MAX_BITS+1),this.heap=new utils.Buf16(2*L_CODES+1),zero(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new utils.Buf16(2*L_CODES+1),zero(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function deflateResetKeep(strm){var s;if(!strm||!strm.state)return err(strm,Z_STREAM_ERROR);if(strm.total_in=strm.total_out=0,strm.data_type=Z_UNKNOWN,s=strm.state,s.pending=0,s.pending_out=0,s.wrap<0)s.wrap=-s.wrap;return s.status=s.wrap\?INIT_STATE:BUSY_STATE,strm.adler=s.wrap===2\?0:1,s.last_flush=Z_NO_FLUSH,trees._tr_init(s),Z_OK}function deflateReset(strm){var ret=deflateResetKeep(strm);if(ret===Z_OK)lm_init(strm.state);return ret}function deflateSetHeader(strm,head){if(!strm||!strm.state)return Z_STREAM_ERROR;if(strm.state.wrap!==2)return Z_STREAM_ERROR;return strm.state.gzhead=head,Z_OK}function deflateInit2(strm,level,method,windowBits,memLevel,strategy){if(!strm)return Z_STREAM_ERROR;var wrap=1;if(level===Z_DEFAULT_COMPRESSION)level=6;if(windowBits<0)wrap=0,windowBits=-windowBits;else if(windowBits>15)wrap=2,windowBits-=16;if(memLevel<1||memLevel>MAX_MEM_LEVEL||method!==Z_DEFLATED||windowBits<8||windowBits>15||level<0||level>9||strategy<0||strategy>Z_FIXED)return err(strm,Z_STREAM_ERROR);if(windowBits===8)windowBits=9;var s=new DeflateState;return strm.state=s,s.strm=strm,s.wrap=wrap,s.gzhead=null,s.w_bits=windowBits,s.w_size=1<Z_BLOCK||flush<0)return strm\?err(strm,Z_STREAM_ERROR):Z_STREAM_ERROR;if(s=strm.state,!strm.output||!strm.input&&strm.avail_in!==0||s.status===FINISH_STATE&&flush!==Z_FINISH)return err(strm,strm.avail_out===0\?Z_BUF_ERROR:Z_STREAM_ERROR);if(s.strm=strm,old_flush=s.last_flush,s.last_flush=flush,s.status===INIT_STATE)if(s.wrap===2)if(strm.adler=0,put_byte(s,31),put_byte(s,139),put_byte(s,8),!s.gzhead)put_byte(s,0),put_byte(s,0),put_byte(s,0),put_byte(s,0),put_byte(s,0),put_byte(s,s.level===9\?2:s.strategy>=Z_HUFFMAN_ONLY||s.level<2\?4:0),put_byte(s,OS_CODE),s.status=BUSY_STATE;else{if(put_byte(s,(s.gzhead.text\?1:0)+(s.gzhead.hcrc\?2:0)+(!s.gzhead.extra\?0:4)+(!s.gzhead.name\?0:8)+(!s.gzhead.comment\?0:16)),put_byte(s,s.gzhead.time&255),put_byte(s,s.gzhead.time>>8&255),put_byte(s,s.gzhead.time>>16&255),put_byte(s,s.gzhead.time>>24&255),put_byte(s,s.level===9\?2:s.strategy>=Z_HUFFMAN_ONLY||s.level<2\?4:0),put_byte(s,s.gzhead.os&255),s.gzhead.extra&&s.gzhead.extra.length)put_byte(s,s.gzhead.extra.length&255),put_byte(s,s.gzhead.extra.length>>8&255);if(s.gzhead.hcrc)strm.adler=crc32(strm.adler,s.pending_buf,s.pending,0);s.gzindex=0,s.status=EXTRA_STATE}else{var header=Z_DEFLATED+(s.w_bits-8<<4)<<8,level_flags=-1;if(s.strategy>=Z_HUFFMAN_ONLY||s.level<2)level_flags=0;else if(s.level<6)level_flags=1;else if(s.level===6)level_flags=2;else level_flags=3;if(header|=level_flags<<6,s.strstart!==0)header|=PRESET_DICT;if(header+=31-header%31,s.status=BUSY_STATE,putShortMSB(s,header),s.strstart!==0)putShortMSB(s,strm.adler>>>16),putShortMSB(s,strm.adler&65535);strm.adler=1}if(s.status===EXTRA_STATE)if(s.gzhead.extra){beg=s.pending;while(s.gzindex<(s.gzhead.extra.length&65535)){if(s.pending===s.pending_buf_size){if(s.gzhead.hcrc&&s.pending>beg)strm.adler=crc32(strm.adler,s.pending_buf,s.pending-beg,beg);if(flush_pending(strm),beg=s.pending,s.pending===s.pending_buf_size)break}put_byte(s,s.gzhead.extra[s.gzindex]&255),s.gzindex++}if(s.gzhead.hcrc&&s.pending>beg)strm.adler=crc32(strm.adler,s.pending_buf,s.pending-beg,beg);if(s.gzindex===s.gzhead.extra.length)s.gzindex=0,s.status=NAME_STATE}else s.status=NAME_STATE;if(s.status===NAME_STATE)if(s.gzhead.name){beg=s.pending;do{if(s.pending===s.pending_buf_size){if(s.gzhead.hcrc&&s.pending>beg)strm.adler=crc32(strm.adler,s.pending_buf,s.pending-beg,beg);if(flush_pending(strm),beg=s.pending,s.pending===s.pending_buf_size){val=1;break}}if(s.gzindexbeg)strm.adler=crc32(strm.adler,s.pending_buf,s.pending-beg,beg);if(val===0)s.gzindex=0,s.status=COMMENT_STATE}else s.status=COMMENT_STATE;if(s.status===COMMENT_STATE)if(s.gzhead.comment){beg=s.pending;do{if(s.pending===s.pending_buf_size){if(s.gzhead.hcrc&&s.pending>beg)strm.adler=crc32(strm.adler,s.pending_buf,s.pending-beg,beg);if(flush_pending(strm),beg=s.pending,s.pending===s.pending_buf_size){val=1;break}}if(s.gzindexbeg)strm.adler=crc32(strm.adler,s.pending_buf,s.pending-beg,beg);if(val===0)s.status=HCRC_STATE}else s.status=HCRC_STATE;if(s.status===HCRC_STATE)if(s.gzhead.hcrc){if(s.pending+2>s.pending_buf_size)flush_pending(strm);if(s.pending+2<=s.pending_buf_size)put_byte(s,strm.adler&255),put_byte(s,strm.adler>>8&255),strm.adler=0,s.status=BUSY_STATE}else s.status=BUSY_STATE;if(s.pending!==0){if(flush_pending(strm),strm.avail_out===0)return s.last_flush=-1,Z_OK}else if(strm.avail_in===0&&rank(flush)<=rank(old_flush)&&flush!==Z_FINISH)return err(strm,Z_BUF_ERROR);if(s.status===FINISH_STATE&&strm.avail_in!==0)return err(strm,Z_BUF_ERROR);if(strm.avail_in!==0||s.lookahead!==0||flush!==Z_NO_FLUSH&&s.status!==FINISH_STATE){var bstate=s.strategy===Z_HUFFMAN_ONLY\?deflate_huff(s,flush):s.strategy===Z_RLE\?deflate_rle(s,flush):configuration_table[s.level].func(s,flush);if(bstate===BS_FINISH_STARTED||bstate===BS_FINISH_DONE)s.status=FINISH_STATE;if(bstate===BS_NEED_MORE||bstate===BS_FINISH_STARTED){if(strm.avail_out===0)s.last_flush=-1;return Z_OK}if(bstate===BS_BLOCK_DONE){if(flush===Z_PARTIAL_FLUSH)trees._tr_align(s);else if(flush!==Z_BLOCK){if(trees._tr_stored_block(s,0,0,!1),flush===Z_FULL_FLUSH){if(zero(s.head),s.lookahead===0)s.strstart=0,s.block_start=0,s.insert=0}}if(flush_pending(strm),strm.avail_out===0)return s.last_flush=-1,Z_OK}}if(flush!==Z_FINISH)return Z_OK;if(s.wrap<=0)return Z_STREAM_END;if(s.wrap===2)put_byte(s,strm.adler&255),put_byte(s,strm.adler>>8&255),put_byte(s,strm.adler>>16&255),put_byte(s,strm.adler>>24&255),put_byte(s,strm.total_in&255),put_byte(s,strm.total_in>>8&255),put_byte(s,strm.total_in>>16&255),put_byte(s,strm.total_in>>24&255);else putShortMSB(s,strm.adler>>>16),putShortMSB(s,strm.adler&65535);if(flush_pending(strm),s.wrap>0)s.wrap=-s.wrap;return s.pending!==0\?Z_OK:Z_STREAM_END}function deflateEnd(strm){var status;if(!strm||!strm.state)return Z_STREAM_ERROR;if(status=strm.state.status,status!==INIT_STATE&&status!==EXTRA_STATE&&status!==NAME_STATE&&status!==COMMENT_STATE&&status!==HCRC_STATE&&status!==BUSY_STATE&&status!==FINISH_STATE)return err(strm,Z_STREAM_ERROR);return strm.state=null,status===BUSY_STATE\?err(strm,Z_DATA_ERROR):Z_OK}function deflateSetDictionary(strm,dictionary){var dictLength=dictionary.length,s,str,n,wrap,avail,next,input,tmpDict;if(!strm||!strm.state)return Z_STREAM_ERROR;if(s=strm.state,wrap=s.wrap,wrap===2||wrap===1&&s.status!==INIT_STATE||s.lookahead)return Z_STREAM_ERROR;if(wrap===1)strm.adler=adler32(strm.adler,dictionary,dictLength,0);if(s.wrap=0,dictLength>=s.w_size){if(wrap===0)zero(s.head),s.strstart=0,s.block_start=0,s.insert=0;tmpDict=new utils.Buf8(s.w_size),utils.arraySet(tmpDict,dictionary,dictLength-s.w_size,s.w_size,0),dictionary=tmpDict,dictLength=s.w_size}avail=strm.avail_in,next=strm.next_in,input=strm.input,strm.avail_in=dictLength,strm.next_in=0,strm.input=dictionary,fill_window(s);while(s.lookahead>=MIN_MATCH){str=s.strstart,n=s.lookahead-(MIN_MATCH-1);do s.ins_h=(s.ins_h<>>24,hold>>>=op,bits-=op,op=here>>>16&255,op===0)output[_out++]=here&65535;else if(op&16){if(len=here&65535,op&=15,op){if(bits>>=op,bits-=op}if(bits<15)hold+=input[_in++]<>>24,hold>>>=op,bits-=op,op=here>>>16&255,op&16){if(dist=here&65535,op&=15,bitsdmax){strm.msg=\"invalid distance too far back\",state.mode=BAD;break top}if(hold>>>=op,bits-=op,op=_out-beg,dist>op){if(op=dist-op,op>whave){if(state.sane){strm.msg=\"invalid distance too far back\",state.mode=BAD;break top}}if(from=0,from_source=s_window,wnext===0){if(from+=wsize-op,op2)output[_out++]=from_source[from++],output[_out++]=from_source[from++],output[_out++]=from_source[from++],len-=3;if(len){if(output[_out++]=from_source[from++],len>1)output[_out++]=from_source[from++]}}else{from=_out-dist;do output[_out++]=output[from++],output[_out++]=output[from++],output[_out++]=output[from++],len-=3;while(len>2);if(len){if(output[_out++]=output[from++],len>1)output[_out++]=output[from++]}}}else if((op&64)===0){here=dcode[(here&65535)+(hold&(1<>3,_in-=len,bits-=len<<3,hold&=(1<=1;max--)if(count[max]!==0)break;if(root>max)root=max;if(max===0)return table[table_index++]=1<<24|64<<16|0,table[table_index++]=1<<24|64<<16|0,opts.bits=1,0;for(min=1;min0&&(type===CODES||max!==1))return-1;offs[1]=0;for(len=1;lenENOUGH_LENS||type===DISTS&&used>ENOUGH_DISTS)return 1;for(;;){if(here_bits=len-drop,work[sym]end)here_op=extra[extra_index+work[sym]],here_val=base[base_index+work[sym]];else here_op=96,here_val=0;incr=1<>drop)+fill]=here_bits<<24|here_op<<16|here_val|0;while(fill!==0);incr=1<>=1;if(incr!==0)huff&=incr-1,huff+=incr;else huff=0;if(sym++,--count[len]===0){if(len===max)break;len=lens[lens_index+work[sym]]}if(len>root&&(huff&mask)!==low){if(drop===0)drop=root;next+=min,curr=len-drop,left=1<ENOUGH_LENS||type===DISTS&&used>ENOUGH_DISTS)return 1;low=huff&mask,table[low]=root<<24|curr<<16|next-table_index|0}}if(huff!==0)table[next+huff]=len-drop<<24|64<<16|0;return opts.bits=root,0}}}),require_inflate=__commonJS({\"node_modules/pako/lib/zlib/inflate.js\"(exports){var utils=require_common(),adler32=require_adler32(),crc32=require_crc32(),inflate_fast=require_inffast(),inflate_table=require_inftrees(),CODES=0,LENS=1,DISTS=2,Z_FINISH=4,Z_BLOCK=5,Z_TREES=6,Z_OK=0,Z_STREAM_END=1,Z_NEED_DICT=2,Z_STREAM_ERROR=-2,Z_DATA_ERROR=-3,Z_MEM_ERROR=-4,Z_BUF_ERROR=-5,Z_DEFLATED=8,HEAD=1,FLAGS=2,TIME=3,OS=4,EXLEN=5,EXTRA=6,NAME=7,COMMENT=8,HCRC=9,DICTID=10,DICT=11,TYPE=12,TYPEDO=13,STORED=14,COPY_=15,COPY=16,TABLE=17,LENLENS=18,CODELENS=19,LEN_=20,LEN=21,LENEXT=22,DIST=23,DISTEXT=24,MATCH=25,LIT=26,CHECK=27,LENGTH=28,DONE=29,BAD=30,MEM=31,SYNC=32,ENOUGH_LENS=852,ENOUGH_DISTS=592,MAX_WBITS=15,DEF_WBITS=MAX_WBITS;function zswap32(q){return(q>>>24&255)+(q>>>8&65280)+((q&65280)<<8)+((q&255)<<24)}function InflateState(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new utils.Buf16(320),this.work=new utils.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function inflateResetKeep(strm){var state;if(!strm||!strm.state)return Z_STREAM_ERROR;if(state=strm.state,strm.total_in=strm.total_out=state.total=0,strm.msg=\"\",state.wrap)strm.adler=state.wrap&1;return state.mode=HEAD,state.last=0,state.havedict=0,state.dmax=32768,state.head=null,state.hold=0,state.bits=0,state.lencode=state.lendyn=new utils.Buf32(ENOUGH_LENS),state.distcode=state.distdyn=new utils.Buf32(ENOUGH_DISTS),state.sane=1,state.back=-1,Z_OK}function inflateReset(strm){var state;if(!strm||!strm.state)return Z_STREAM_ERROR;return state=strm.state,state.wsize=0,state.whave=0,state.wnext=0,inflateResetKeep(strm)}function inflateReset2(strm,windowBits){var wrap,state;if(!strm||!strm.state)return Z_STREAM_ERROR;if(state=strm.state,windowBits<0)wrap=0,windowBits=-windowBits;else if(wrap=(windowBits>>4)+1,windowBits<48)windowBits&=15;if(windowBits&&(windowBits<8||windowBits>15))return Z_STREAM_ERROR;if(state.window!==null&&state.wbits!==windowBits)state.window=null;return state.wrap=wrap,state.wbits=windowBits,inflateReset(strm)}function inflateInit2(strm,windowBits){var ret,state;if(!strm)return Z_STREAM_ERROR;if(state=new InflateState,strm.state=state,state.window=null,ret=inflateReset2(strm,windowBits),ret!==Z_OK)strm.state=null;return ret}function inflateInit(strm){return inflateInit2(strm,DEF_WBITS)}var virgin=!0,lenfix,distfix;function fixedtables(state){if(virgin){var sym;lenfix=new utils.Buf32(512),distfix=new utils.Buf32(32),sym=0;while(sym<144)state.lens[sym++]=8;while(sym<256)state.lens[sym++]=9;while(sym<280)state.lens[sym++]=7;while(sym<288)state.lens[sym++]=8;inflate_table(LENS,state.lens,0,288,lenfix,0,state.work,{bits:9}),sym=0;while(sym<32)state.lens[sym++]=5;inflate_table(DISTS,state.lens,0,32,distfix,0,state.work,{bits:5}),virgin=!1}state.lencode=lenfix,state.lenbits=9,state.distcode=distfix,state.distbits=5}function updatewindow(strm,src,end,copy){var dist,state=strm.state;if(state.window===null)state.wsize=1<=state.wsize)utils.arraySet(state.window,src,end-state.wsize,state.wsize,0),state.wnext=0,state.whave=state.wsize;else{if(dist=state.wsize-state.wnext,dist>copy)dist=copy;if(utils.arraySet(state.window,src,end-copy,dist,state.wnext),copy-=dist,copy)utils.arraySet(state.window,src,end-copy,copy,0),state.wnext=copy,state.whave=state.wsize;else{if(state.wnext+=dist,state.wnext===state.wsize)state.wnext=0;if(state.whave>>8&255,state.check=crc32(state.check,hbuf,2,0),hold=0,bits=0,state.mode=FLAGS;break}if(state.flags=0,state.head)state.head.done=!1;if(!(state.wrap&1)||(((hold&255)<<8)+(hold>>8))%31){strm.msg=\"incorrect header check\",state.mode=BAD;break}if((hold&15)!==Z_DEFLATED){strm.msg=\"unknown compression method\",state.mode=BAD;break}if(hold>>>=4,bits-=4,len=(hold&15)+8,state.wbits===0)state.wbits=len;else if(len>state.wbits){strm.msg=\"invalid window size\",state.mode=BAD;break}state.dmax=1<>8&1;if(state.flags&512)hbuf[0]=hold&255,hbuf[1]=hold>>>8&255,state.check=crc32(state.check,hbuf,2,0);hold=0,bits=0,state.mode=TIME;case TIME:while(bits<32){if(have===0)break inf_leave;have--,hold+=input[next++]<>>8&255,hbuf[2]=hold>>>16&255,hbuf[3]=hold>>>24&255,state.check=crc32(state.check,hbuf,4,0);hold=0,bits=0,state.mode=OS;case OS:while(bits<16){if(have===0)break inf_leave;have--,hold+=input[next++]<>8;if(state.flags&512)hbuf[0]=hold&255,hbuf[1]=hold>>>8&255,state.check=crc32(state.check,hbuf,2,0);hold=0,bits=0,state.mode=EXLEN;case EXLEN:if(state.flags&1024){while(bits<16){if(have===0)break inf_leave;have--,hold+=input[next++]<>>8&255,state.check=crc32(state.check,hbuf,2,0);hold=0,bits=0}else if(state.head)state.head.extra=null;state.mode=EXTRA;case EXTRA:if(state.flags&1024){if(copy=state.length,copy>have)copy=have;if(copy){if(state.head){if(len=state.head.extra_len-state.length,!state.head.extra)state.head.extra=new Array(state.head.extra_len);utils.arraySet(state.head.extra,input,next,copy,len)}if(state.flags&512)state.check=crc32(state.check,input,copy,next);have-=copy,next+=copy,state.length-=copy}if(state.length)break inf_leave}state.length=0,state.mode=NAME;case NAME:if(state.flags&2048){if(have===0)break inf_leave;copy=0;do if(len=input[next+copy++],state.head&&len&&state.length<65536)state.head.name+=String.fromCharCode(len);while(len&©>9&1,state.head.done=!0;strm.adler=state.check=0,state.mode=TYPE;break;case DICTID:while(bits<32){if(have===0)break inf_leave;have--,hold+=input[next++]<>>=bits&7,bits-=bits&7,state.mode=CHECK;break}while(bits<3){if(have===0)break inf_leave;have--,hold+=input[next++]<>>=1,bits-=1,hold&3){case 0:state.mode=STORED;break;case 1:if(fixedtables(state),state.mode=LEN_,flush===Z_TREES){hold>>>=2,bits-=2;break inf_leave}break;case 2:state.mode=TABLE;break;case 3:strm.msg=\"invalid block type\",state.mode=BAD}hold>>>=2,bits-=2;break;case STORED:hold>>>=bits&7,bits-=bits&7;while(bits<32){if(have===0)break inf_leave;have--,hold+=input[next++]<>>16^65535)){strm.msg=\"invalid stored block lengths\",state.mode=BAD;break}if(state.length=hold&65535,hold=0,bits=0,state.mode=COPY_,flush===Z_TREES)break inf_leave;case COPY_:state.mode=COPY;case COPY:if(copy=state.length,copy){if(copy>have)copy=have;if(copy>left)copy=left;if(copy===0)break inf_leave;utils.arraySet(output,input,next,copy,put),have-=copy,next+=copy,left-=copy,put+=copy,state.length-=copy;break}state.mode=TYPE;break;case TABLE:while(bits<14){if(have===0)break inf_leave;have--,hold+=input[next++]<>>=5,bits-=5,state.ndist=(hold&31)+1,hold>>>=5,bits-=5,state.ncode=(hold&15)+4,hold>>>=4,bits-=4,state.nlen>286||state.ndist>30){strm.msg=\"too many length or distance symbols\",state.mode=BAD;break}state.have=0,state.mode=LENLENS;case LENLENS:while(state.have>>=3,bits-=3}while(state.have<19)state.lens[order[state.have++]]=0;if(state.lencode=state.lendyn,state.lenbits=7,opts={bits:state.lenbits},ret=inflate_table(CODES,state.lens,0,19,state.lencode,0,state.work,opts),state.lenbits=opts.bits,ret){strm.msg=\"invalid code lengths set\",state.mode=BAD;break}state.have=0,state.mode=CODELENS;case CODELENS:while(state.have>>24,here_op=here>>>16&255,here_val=here&65535,here_bits<=bits)break;if(have===0)break inf_leave;have--,hold+=input[next++]<>>=here_bits,bits-=here_bits,state.lens[state.have++]=here_val;else{if(here_val===16){n=here_bits+2;while(bits>>=here_bits,bits-=here_bits,state.have===0){strm.msg=\"invalid bit length repeat\",state.mode=BAD;break}len=state.lens[state.have-1],copy=3+(hold&3),hold>>>=2,bits-=2}else if(here_val===17){n=here_bits+3;while(bits>>=here_bits,bits-=here_bits,len=0,copy=3+(hold&7),hold>>>=3,bits-=3}else{n=here_bits+7;while(bits>>=here_bits,bits-=here_bits,len=0,copy=11+(hold&127),hold>>>=7,bits-=7}if(state.have+copy>state.nlen+state.ndist){strm.msg=\"invalid bit length repeat\",state.mode=BAD;break}while(copy--)state.lens[state.have++]=len}}if(state.mode===BAD)break;if(state.lens[256]===0){strm.msg=\"invalid code -- missing end-of-block\",state.mode=BAD;break}if(state.lenbits=9,opts={bits:state.lenbits},ret=inflate_table(LENS,state.lens,0,state.nlen,state.lencode,0,state.work,opts),state.lenbits=opts.bits,ret){strm.msg=\"invalid literal/lengths set\",state.mode=BAD;break}if(state.distbits=6,state.distcode=state.distdyn,opts={bits:state.distbits},ret=inflate_table(DISTS,state.lens,state.nlen,state.ndist,state.distcode,0,state.work,opts),state.distbits=opts.bits,ret){strm.msg=\"invalid distances set\",state.mode=BAD;break}if(state.mode=LEN_,flush===Z_TREES)break inf_leave;case LEN_:state.mode=LEN;case LEN:if(have>=6&&left>=258){if(strm.next_out=put,strm.avail_out=left,strm.next_in=next,strm.avail_in=have,state.hold=hold,state.bits=bits,inflate_fast(strm,_out),put=strm.next_out,output=strm.output,left=strm.avail_out,next=strm.next_in,input=strm.input,have=strm.avail_in,hold=state.hold,bits=state.bits,state.mode===TYPE)state.back=-1;break}state.back=0;for(;;){if(here=state.lencode[hold&(1<>>24,here_op=here>>>16&255,here_val=here&65535,here_bits<=bits)break;if(have===0)break inf_leave;have--,hold+=input[next++]<>last_bits)],here_bits=here>>>24,here_op=here>>>16&255,here_val=here&65535,last_bits+here_bits<=bits)break;if(have===0)break inf_leave;have--,hold+=input[next++]<>>=last_bits,bits-=last_bits,state.back+=last_bits}if(hold>>>=here_bits,bits-=here_bits,state.back+=here_bits,state.length=here_val,here_op===0){state.mode=LIT;break}if(here_op&32){state.back=-1,state.mode=TYPE;break}if(here_op&64){strm.msg=\"invalid literal/length code\",state.mode=BAD;break}state.extra=here_op&15,state.mode=LENEXT;case LENEXT:if(state.extra){n=state.extra;while(bits>>=state.extra,bits-=state.extra,state.back+=state.extra}state.was=state.length,state.mode=DIST;case DIST:for(;;){if(here=state.distcode[hold&(1<>>24,here_op=here>>>16&255,here_val=here&65535,here_bits<=bits)break;if(have===0)break inf_leave;have--,hold+=input[next++]<>last_bits)],here_bits=here>>>24,here_op=here>>>16&255,here_val=here&65535,last_bits+here_bits<=bits)break;if(have===0)break inf_leave;have--,hold+=input[next++]<>>=last_bits,bits-=last_bits,state.back+=last_bits}if(hold>>>=here_bits,bits-=here_bits,state.back+=here_bits,here_op&64){strm.msg=\"invalid distance code\",state.mode=BAD;break}state.offset=here_val,state.extra=here_op&15,state.mode=DISTEXT;case DISTEXT:if(state.extra){n=state.extra;while(bits>>=state.extra,bits-=state.extra,state.back+=state.extra}if(state.offset>state.dmax){strm.msg=\"invalid distance too far back\",state.mode=BAD;break}state.mode=MATCH;case MATCH:if(left===0)break inf_leave;if(copy=_out-left,state.offset>copy){if(copy=state.offset-copy,copy>state.whave){if(state.sane){strm.msg=\"invalid distance too far back\",state.mode=BAD;break}}if(copy>state.wnext)copy-=state.wnext,from=state.wsize-copy;else from=state.wnext-copy;if(copy>state.length)copy=state.length;from_source=state.window}else from_source=output,from=put-state.offset,copy=state.length;if(copy>left)copy=left;left-=copy,state.length-=copy;do output[put++]=from_source[from++];while(--copy);if(state.length===0)state.mode=LEN;break;case LIT:if(left===0)break inf_leave;output[put++]=state.length,left--,state.mode=LEN;break;case CHECK:if(state.wrap){while(bits<32){if(have===0)break inf_leave;have--,hold|=input[next++]<exports.UNZIP)@throwTypeError(\"Bad argument\");this.dictionary=null,this.err=0,this.flush=0,this.init_done=!1,this.level=0,this.memLevel=0,this.mode=mode,this.strategy=0,this.windowBits=0,this.write_in_progress=!1,this.pending_close=!1,this.gzip_id_bytes_read=0}Zlib.prototype.close=function(){if(this.write_in_progress){this.pending_close=!0;return}if(this.pending_close=!1,assert(this.init_done,\"close before init\"),assert(this.mode<=exports.UNZIP),this.mode===exports.DEFLATE||this.mode===exports.GZIP||this.mode===exports.DEFLATERAW)zlib_deflate.deflateEnd(this.strm);else if(this.mode===exports.INFLATE||this.mode===exports.GUNZIP||this.mode===exports.INFLATERAW||this.mode===exports.UNZIP)zlib_inflate.inflateEnd(this.strm);this.mode=exports.NONE,this.dictionary=null},Zlib.prototype.write=function(flush,input,in_off,in_len,out,out_off,out_len){return this._write(!0,flush,input,in_off,in_len,out,out_off,out_len)},Zlib.prototype.writeSync=function(flush,input,in_off,in_len,out,out_off,out_len){return this._write(!1,flush,input,in_off,in_len,out,out_off,out_len)},Zlib.prototype._write=function(async,flush,input,in_off,in_len,out,out_off,out_len){if(assert.equal(arguments.length,8),assert(this.init_done,\"write before init\"),assert(this.mode!==exports.NONE,\"already finalized\"),assert.equal(!1,this.write_in_progress,\"write already in progress\"),assert.equal(!1,this.pending_close,\"close is pending\"),this.write_in_progress=!0,assert.equal(!1,flush===void 0,\"must provide flush value\"),this.write_in_progress=!0,flush!==exports.Z_NO_FLUSH&&flush!==exports.Z_PARTIAL_FLUSH&&flush!==exports.Z_SYNC_FLUSH&&flush!==exports.Z_FULL_FLUSH&&flush!==exports.Z_FINISH&&flush!==exports.Z_BLOCK)throw new Error(\"Invalid flush value\");if(input==null)input=Buffer.alloc(0),in_len=0,in_off=0;if(this.strm.avail_in=in_len,this.strm.input=input,this.strm.next_in=in_off,this.strm.avail_out=out_len,this.strm.output=out,this.strm.next_out=out_off,this.flush=flush,!async){if(this._process(),this._checkError())return this._afterSync();return}var self=this;return process.nextTick(function(){self._process(),self._after()}),this},Zlib.prototype._afterSync=function(){var avail_out=this.strm.avail_out,avail_in=this.strm.avail_in;return this.write_in_progress=!1,[avail_in,avail_out]},Zlib.prototype._process=function(){var next_expected_header_byte=null;switch(this.mode){case exports.DEFLATE:case exports.GZIP:case exports.DEFLATERAW:this.err=zlib_deflate.deflate(this.strm,this.flush);break;case exports.UNZIP:if(this.strm.avail_in>0)next_expected_header_byte=this.strm.next_in;switch(this.gzip_id_bytes_read){case 0:if(next_expected_header_byte===null)break;if(this.strm.input[next_expected_header_byte]===GZIP_HEADER_ID1){if(this.gzip_id_bytes_read=1,next_expected_header_byte++,this.strm.avail_in===1)break}else{this.mode=exports.INFLATE;break}case 1:if(next_expected_header_byte===null)break;if(this.strm.input[next_expected_header_byte]===GZIP_HEADER_ID2)this.gzip_id_bytes_read=2,this.mode=exports.GUNZIP;else this.mode=exports.INFLATE;break;default:throw new Error(\"invalid number of gzip magic number bytes read\")}case exports.INFLATE:case exports.GUNZIP:case exports.INFLATERAW:if(this.err=zlib_inflate.inflate(this.strm,this.flush),this.err===exports.Z_NEED_DICT&&this.dictionary){if(this.err=zlib_inflate.inflateSetDictionary(this.strm,this.dictionary),this.err===exports.Z_OK)this.err=zlib_inflate.inflate(this.strm,this.flush);else if(this.err===exports.Z_DATA_ERROR)this.err=exports.Z_NEED_DICT}while(this.strm.avail_in>0&&this.mode===exports.GUNZIP&&this.err===exports.Z_STREAM_END&&this.strm.next_in[0]!==0)this.reset(),this.err=zlib_inflate.inflate(this.strm,this.flush);break;default:throw new Error(\"Unknown mode \"+this.mode)}},Zlib.prototype._checkError=function(){switch(this.err){case exports.Z_OK:case exports.Z_BUF_ERROR:if(this.strm.avail_out!==0&&this.flush===exports.Z_FINISH)return this._error(\"unexpected end of file\"),!1;break;case exports.Z_STREAM_END:break;case exports.Z_NEED_DICT:if(this.dictionary==null)this._error(\"Missing dictionary\");else this._error(\"Bad dictionary\");return!1;default:return this._error(\"Zlib error\"),!1}return!0},Zlib.prototype._after=function(){if(!this._checkError())return;var avail_out=this.strm.avail_out,avail_in=this.strm.avail_in;if(this.write_in_progress=!1,this.callback(avail_in,avail_out),this.pending_close)this.close()},Zlib.prototype._error=function(message){if(this.strm.msg)message=this.strm.msg;if(this.onerror(message,this.err),this.write_in_progress=!1,this.pending_close)this.close()},Zlib.prototype.init=function(windowBits,level,memLevel,strategy,dictionary){assert(arguments.length===4||arguments.length===5,\"init(windowBits, level, memLevel, strategy, [dictionary])\"),assert(windowBits>=8&&windowBits<=15,\"invalid windowBits\"),assert(level>=-1&&level<=9,\"invalid compression level\"),assert(memLevel>=1&&memLevel<=9,\"invalid memlevel\"),assert(strategy===exports.Z_FILTERED||strategy===exports.Z_HUFFMAN_ONLY||strategy===exports.Z_RLE||strategy===exports.Z_FIXED||strategy===exports.Z_DEFAULT_STRATEGY,\"invalid strategy\"),this._init(level,windowBits,memLevel,strategy,dictionary),this._setDictionary()},Zlib.prototype.params=function(){throw new Error(\"deflateParams Not supported\")},Zlib.prototype.reset=function(){this._reset(),this._setDictionary()},Zlib.prototype._init=function(level,windowBits,memLevel,strategy,dictionary){if(this.level=level,this.windowBits=windowBits,this.memLevel=memLevel,this.strategy=strategy,this.flush=exports.Z_NO_FLUSH,this.err=exports.Z_OK,this.mode===exports.GZIP||this.mode===exports.GUNZIP)this.windowBits+=16;if(this.mode===exports.UNZIP)this.windowBits+=32;if(this.mode===exports.DEFLATERAW||this.mode===exports.INFLATERAW)this.windowBits=-1*this.windowBits;switch(this.strm=new Zstream,this.mode){case exports.DEFLATE:case exports.GZIP:case exports.DEFLATERAW:this.err=zlib_deflate.deflateInit2(this.strm,this.level,exports.Z_DEFLATED,this.windowBits,this.memLevel,this.strategy);break;case exports.INFLATE:case exports.GUNZIP:case exports.INFLATERAW:case exports.UNZIP:this.err=zlib_inflate.inflateInit2(this.strm,this.windowBits);break;default:throw new Error(\"Unknown mode \"+this.mode)}if(this.err!==exports.Z_OK)this._error(\"Init error\");this.dictionary=dictionary,this.write_in_progress=!1,this.init_done=!0},Zlib.prototype._setDictionary=function(){if(this.dictionary==null)return;switch(this.err=exports.Z_OK,this.mode){case exports.DEFLATE:case exports.DEFLATERAW:this.err=zlib_deflate.deflateSetDictionary(this.strm,this.dictionary);break;default:break}if(this.err!==exports.Z_OK)this._error(\"Failed to set dictionary\")},Zlib.prototype._reset=function(){switch(this.err=exports.Z_OK,this.mode){case exports.DEFLATE:case exports.DEFLATERAW:case exports.GZIP:this.err=zlib_deflate.deflateReset(this.strm);break;case exports.INFLATE:case exports.INFLATERAW:case exports.GUNZIP:this.err=zlib_inflate.inflateReset(this.strm);break;default:break}if(this.err!==exports.Z_OK)this._error(\"Failed to reset stream\")},exports.Zlib=Zlib}}),require_lib=__commonJS({\"node_modules/browserify-zlib/lib/index.js\"(exports){var Buffer2=BufferModule.Buffer,Transform=StreamModule.Transform,binding=require_binding(),util=Util,kMaxLength=BufferModule.kMaxLength,kRangeErrorMessage=\"Cannot create final Buffer. It would be larger than 0x\"+kMaxLength.toString(16)+\" bytes\";binding.Z_MIN_WINDOWBITS=8,binding.Z_MAX_WINDOWBITS=15,binding.Z_DEFAULT_WINDOWBITS=15,binding.Z_MIN_CHUNK=64,binding.Z_MAX_CHUNK=Infinity,binding.Z_DEFAULT_CHUNK=16384,binding.Z_MIN_MEMLEVEL=1,binding.Z_MAX_MEMLEVEL=9,binding.Z_DEFAULT_MEMLEVEL=8,binding.Z_MIN_LEVEL=-1,binding.Z_MAX_LEVEL=9,binding.Z_DEFAULT_LEVEL=binding.Z_DEFAULT_COMPRESSION;var bkeys=Object.keys(binding);for(bk=0;bk=kMaxLength)err=new RangeError(kRangeErrorMessage);else buf=Buffer2.concat(buffers,nread);buffers=[],engine.close(),callback(err,buf)}}function zlibBufferSync(engine,buffer){if(typeof buffer===\"string\")buffer=Buffer2.from(buffer);if(!Buffer2.isBuffer(buffer))@throwTypeError(\"Not a string or buffer\");var flushFlag=engine._finishFlushFlag;return engine._processChunk(buffer,flushFlag)}function Deflate(opts){if(!(this instanceof Deflate))return new Deflate(opts);Zlib.call(this,opts,binding.DEFLATE)}function Inflate(opts){if(!(this instanceof Inflate))return new Inflate(opts);Zlib.call(this,opts,binding.INFLATE)}function Gzip(opts){if(!(this instanceof Gzip))return new Gzip(opts);Zlib.call(this,opts,binding.GZIP)}function Gunzip(opts){if(!(this instanceof Gunzip))return new Gunzip(opts);Zlib.call(this,opts,binding.GUNZIP)}function DeflateRaw(opts){if(!(this instanceof DeflateRaw))return new DeflateRaw(opts);Zlib.call(this,opts,binding.DEFLATERAW)}function InflateRaw(opts){if(!(this instanceof InflateRaw))return new InflateRaw(opts);Zlib.call(this,opts,binding.INFLATERAW)}function Unzip(opts){if(!(this instanceof Unzip))return new Unzip(opts);Zlib.call(this,opts,binding.UNZIP)}function isValidFlushFlag(flag){return flag===binding.Z_NO_FLUSH||flag===binding.Z_PARTIAL_FLUSH||flag===binding.Z_SYNC_FLUSH||flag===binding.Z_FULL_FLUSH||flag===binding.Z_FINISH||flag===binding.Z_BLOCK}function Zlib(opts,mode){var _this=this;if(this._opts=opts=opts||{},this._chunkSize=opts.chunkSize||exports.Z_DEFAULT_CHUNK,Transform.call(this,opts),opts.flush&&!isValidFlushFlag(opts.flush))throw new Error(\"Invalid flush flag: \"+opts.flush);if(opts.finishFlush&&!isValidFlushFlag(opts.finishFlush))throw new Error(\"Invalid flush flag: \"+opts.finishFlush);if(this._flushFlag=opts.flush||binding.Z_NO_FLUSH,this._finishFlushFlag=typeof opts.finishFlush!==\"undefined\"\?opts.finishFlush:binding.Z_FINISH,opts.chunkSize){if(opts.chunkSizeexports.Z_MAX_CHUNK)throw new Error(\"Invalid chunk size: \"+opts.chunkSize)}if(opts.windowBits){if(opts.windowBitsexports.Z_MAX_WINDOWBITS)throw new Error(\"Invalid windowBits: \"+opts.windowBits)}if(opts.level){if(opts.levelexports.Z_MAX_LEVEL)throw new Error(\"Invalid compression level: \"+opts.level)}if(opts.memLevel){if(opts.memLevelexports.Z_MAX_MEMLEVEL)throw new Error(\"Invalid memLevel: \"+opts.memLevel)}if(opts.strategy){if(opts.strategy!=exports.Z_FILTERED&&opts.strategy!=exports.Z_HUFFMAN_ONLY&&opts.strategy!=exports.Z_RLE&&opts.strategy!=exports.Z_FIXED&&opts.strategy!=exports.Z_DEFAULT_STRATEGY)throw new Error(\"Invalid strategy: \"+opts.strategy)}if(opts.dictionary){if(!Buffer2.isBuffer(opts.dictionary))throw new Error(\"Invalid dictionary: it should be a Buffer instance\")}this._handle=new binding.Zlib(mode);var self=this;this._hadError=!1,this._handle.onerror=function(message,errno){_close(self),self._hadError=!0;var error=new Error(message);error.errno=errno,error.code=exports.codes[errno],self.emit(\"error\",error)};var level=exports.Z_DEFAULT_COMPRESSION;if(typeof opts.level===\"number\")level=opts.level;var strategy=exports.Z_DEFAULT_STRATEGY;if(typeof opts.strategy===\"number\")strategy=opts.strategy;this._handle.init(opts.windowBits||exports.Z_DEFAULT_WINDOWBITS,level,opts.memLevel||exports.Z_DEFAULT_MEMLEVEL,strategy,opts.dictionary),this._buffer=Buffer2.allocUnsafe(this._chunkSize),this._offset=0,this._level=level,this._strategy=strategy,this.once(\"end\",this.close),Object.defineProperty(this,\"_closed\",{get:function(){return!_this._handle},configurable:!0,enumerable:!0})}util.inherits(Zlib,Transform),Zlib.prototype.params=function(level,strategy,callback){if(levelexports.Z_MAX_LEVEL)@throwRangeError(\"Invalid compression level: \"+level);if(strategy!=exports.Z_FILTERED&&strategy!=exports.Z_HUFFMAN_ONLY&&strategy!=exports.Z_RLE&&strategy!=exports.Z_FIXED&&strategy!=exports.Z_DEFAULT_STRATEGY)@throwTypeError(\"Invalid strategy: \"+strategy);if(this._level!==level||this._strategy!==strategy){var self=this;this.flush(binding.Z_SYNC_FLUSH,function(){if(assert(self._handle,\"zlib binding closed\"),self._handle.params(level,strategy),!self._hadError){if(self._level=level,self._strategy=strategy,callback)callback()}})}else process.nextTick(callback)},Zlib.prototype.reset=function(){return assert(this._handle,\"zlib binding closed\"),this._handle.reset()},Zlib.prototype._flush=function(callback){this._transform(Buffer2.alloc(0),\"\",callback)},Zlib.prototype.flush=function(kind,callback){var _this2=this,ws=this._writableState;if(typeof kind===\"function\"||kind===void 0&&!callback)callback=kind,kind=binding.Z_FULL_FLUSH;if(ws.ended){if(callback)process.nextTick(callback)}else if(ws.ending){if(callback)this.once(\"end\",callback)}else if(ws.needDrain){if(callback)this.once(\"drain\",function(){return _this2.flush(kind,callback)})}else this._flushFlag=kind,this.write(Buffer2.alloc(0),\"\",callback)},Zlib.prototype.close=function(callback){_close(this,callback),process.nextTick(emitCloseNT,this)};function _close(engine,callback){if(callback)process.nextTick(callback);if(!engine._handle)return;engine._handle.close(),engine._handle=null}function emitCloseNT(self){self.emit(\"close\")}Zlib.prototype._transform=function(chunk,encoding,cb){var flushFlag,ws=this._writableState,ending=ws.ending||ws.ended,last=ending&&(!chunk||ws.length===chunk.length);if(chunk!==null&&!Buffer2.isBuffer(chunk))return cb(new Error(\"invalid input\"));if(!this._handle)return cb(new Error(\"zlib binding closed\"));if(last)flushFlag=this._finishFlushFlag;else if(flushFlag=this._flushFlag,chunk.length>=ws.length)this._flushFlag=this._opts.flush||binding.Z_NO_FLUSH;this._processChunk(chunk,flushFlag,cb)},Zlib.prototype._processChunk=function(chunk,flushFlag,cb){var availInBefore=chunk&&chunk.length,availOutBefore=this._chunkSize-this._offset,inOff=0,self=this,async=typeof cb===\"function\";if(!async){var buffers=[],nread=0,error;this.on(\"error\",function(er){error=er}),assert(this._handle,\"zlib binding closed\");do var res=this._handle.writeSync(flushFlag,chunk,inOff,availInBefore,this._buffer,this._offset,availOutBefore);while(!this._hadError&&callback(res[0],res[1]));if(this._hadError)throw error;if(nread>=kMaxLength)_close(this),@throwRangeError(kRangeErrorMessage);var buf=Buffer2.concat(buffers,nread);return _close(this),buf}assert(this._handle,\"zlib binding closed\");var req=this._handle.write(flushFlag,chunk,inOff,availInBefore,this._buffer,this._offset,availOutBefore);req.buffer=chunk,req.callback=callback;function callback(availInAfter,availOutAfter){if(this)this.buffer=null,this.callback=null;if(self._hadError)return;var have=availOutBefore-availOutAfter;if(assert(have>=0,\"have should not go down\"),have>0){var out=self._buffer.slice(self._offset,self._offset+have);if(self._offset+=have,async)self.push(out);else buffers.push(out),nread+=out.length}if(availOutAfter===0||self._offset>=self._chunkSize)availOutBefore=self._chunkSize,self._offset=0,self._buffer=Buffer2.allocUnsafe(self._chunkSize);if(availOutAfter===0){if(inOff+=availInBefore-availInAfter,availInBefore=availInAfter,!async)return!0;var newReq=self._handle.write(flushFlag,chunk,inOff,availInBefore,self._buffer,self._offset,self._chunkSize);newReq.callback=callback,newReq.buffer=chunk;return}if(!async)return!1;cb()}},util.inherits(Deflate,Zlib),util.inherits(Inflate,Zlib),util.inherits(Gzip,Zlib),util.inherits(Gunzip,Zlib),util.inherits(DeflateRaw,Zlib),util.inherits(InflateRaw,Zlib),util.inherits(Unzip,Zlib)}});return require_lib()})\n"_s; +static constexpr ASCIILiteral ThirdpartyDepdCode = "(function (){\"use strict\";var $=function depd(namespace){if(!namespace)@throwTypeError(\"argument namespace is required\");function deprecate(message){}return deprecate._file=void 0,deprecate._ignored=!0,deprecate._namespace=namespace,deprecate._traced=!1,deprecate._warned=Object.create(null),deprecate.function=wrapfunction,deprecate.property=wrapproperty,deprecate};function wrapfunction(fn,message){if(typeof fn!==\"function\")@throwTypeError(\"argument fn must be a function\");return fn}function wrapproperty(obj,prop,message){if(!obj||typeof obj!==\"object\"&&typeof obj!==\"function\")@throwTypeError(\"argument obj must be object\");var descriptor=Object.getOwnPropertyDescriptor(obj,prop);if(!descriptor)@throwTypeError(\"must call property on owner object\");if(!descriptor.configurable)@throwTypeError(\"property must be configurable\")}return $})\n"_s; +static constexpr ASCIILiteral ThirdpartyDetectLibcCode = "(function (){\"use strict\";function family(){return Promise.resolve(familySync())}function familySync(){return null}const GLIBC=\"glibc\",MUSL=\"musl\";function versionAsync(){return Promise.resolve(version())}function version(){return null}function isNonGlibcLinuxSync(){return!1}function isNonGlibcLinux(){return Promise.resolve(isNonGlibcLinuxSync())}return{GLIBC,MUSL,family,familySync,isNonGlibcLinux,isNonGlibcLinuxSync,version,versionAsync}})\n"_s; +static constexpr ASCIILiteral ThirdpartyDetectLibcLinuxCode = "(function (){\"use strict\";function family(){return Promise.resolve(familySync())}function familySync(){return GLIBC}const GLIBC=\"glibc\",MUSL=\"musl\";function versionAsync(){return Promise.resolve(version())}function version(){return\"2.29\"}function isNonGlibcLinuxSync(){return!1}function isNonGlibcLinux(){return Promise.resolve(isNonGlibcLinuxSync())}return{GLIBC,MUSL,family,familySync,isNonGlibcLinux,isNonGlibcLinuxSync,version,versionAsync}})\n"_s; +static constexpr ASCIILiteral ThirdpartyUndiciCode = "(function (){\"use strict\";const EventEmitter=@requireId(13),StreamModule=@requireId(30),{Readable}=StreamModule,{_ReadableFromWebForUndici:ReadableFromWeb}=StreamModule[Symbol.for(\"::bunternal::\")],ObjectCreate=Object.create,kEmptyObject=ObjectCreate(null);var fetch=Bun.fetch,Response=globalThis.Response,Headers=globalThis.Headers,Request=globalThis.Request,URLSearchParams=globalThis.URLSearchParams,URL=globalThis.URL;class File extends Blob{constructor(){super(...arguments)}}class FileReader extends EventTarget{constructor(){throw new Error(\"Not implemented yet!\")}}var FormData=globalThis.FormData;function notImplemented(){throw new Error(\"Not implemented in bun\")}class BodyReadable extends ReadableFromWeb{#response;#bodyUsed;constructor(response,options={}){var{body}=response;if(!body)throw new Error(\"Response body is null\");super(options,body);this.#response=response,this.#bodyUsed=response.bodyUsed}get bodyUsed(){return this.#bodyUsed}#consume(){if(this.#bodyUsed)@throwTypeError(\"unusable\");this.#bodyUsed=!0}async arrayBuffer(){return this.#consume(),await this.#response.arrayBuffer()}async blob(){return this.#consume(),await this.#response.blob()}async formData(){return this.#consume(),await this.#response.formData()}async json(){return this.#consume(),await this.#response.json()}async text(){return this.#consume(),await this.#response.text()}}async function request(url,options={method:\"GET\",signal:null,headers:null,query:null,reset:!1,throwOnError:!1,body:null}){let{method=\"GET\",headers:inputHeaders,query,signal,reset=!1,throwOnError=!1,body:inputBody,maxRedirections}=options;if(typeof url===\"string\"){if(query)url=new URL(url)}else if(typeof url===\"object\"&&url!==null){if(!(url instanceof URL))throw new Error(\"not implemented\")}else @throwTypeError(\"url must be a string, URL, or UrlObject\");if(typeof url===\"string\"&&query)url=new URL(url);if(typeof url===\"object\"&&url!==null&&query){if(query)url.search=new URLSearchParams(query).toString()}if(method=method&&typeof method===\"string\"\?method.toUpperCase():null,inputBody&&(method===\"GET\"||method===\"HEAD\"))throw new Error(\"Body not allowed for GET or HEAD requests\");if(inputBody&&inputBody.read&&inputBody instanceof Readable){let data=\"\";inputBody.setEncoding(\"utf8\");for await(let chunk of stream)data+=chunk;inputBody=(new TextEncoder()).encode(data)}if(maxRedirections!==void 0&&Number.isNaN(maxRedirections))throw new Error(\"maxRedirections must be a number if defined\");if(signal&&!(signal instanceof AbortSignal))throw new Error(\"signal must be an instance of AbortSignal\");let resp;const{status:statusCode,headers,trailers}=resp=await fetch(url,{signal,mode:\"cors\",method,headers:inputHeaders||kEmptyObject,body:inputBody,redirect:maxRedirections===\"undefined\"||maxRedirections>0\?\"follow\":\"manual\",keepalive:!reset});if(throwOnError&&statusCode>=400&&statusCode<600)throw new Error(`Request failed with status code ${statusCode}`);const body=resp.body\?new BodyReadable(resp):null;return{statusCode,headers:headers.toJSON(),body,trailers,opaque:kEmptyObject,context:kEmptyObject}}function stream(){throw new Error(\"Not implemented in bun\")}function pipeline(){throw new Error(\"Not implemented in bun\")}function connect(){throw new Error(\"Not implemented in bun\")}function upgrade(){throw new Error(\"Not implemented in bun\")}class MockClient{constructor(){throw new Error(\"Not implemented in bun\")}}class MockPool{constructor(){throw new Error(\"Not implemented in bun\")}}class MockAgent{constructor(){throw new Error(\"Not implemented in bun\")}}function mockErrors(){throw new Error(\"Not implemented in bun\")}function Undici(){throw new Error(\"Not implemented in bun\")}class Dispatcher extends EventEmitter{constructor(){super(...arguments)}}class Agent extends Dispatcher{constructor(){super(...arguments)}}class Pool extends Dispatcher{constructor(){super(...arguments)}request(){throw new Error(\"Not implemented in bun\")}}class BalancedPool extends Dispatcher{constructor(){super(...arguments)}}class Client extends Dispatcher{constructor(){super(...arguments)}request(){throw new Error(\"Not implemented in bun\")}}return Undici.Dispatcher=Dispatcher,Undici.Pool=Pool,Undici.BalancedPool=BalancedPool,Undici.Client=Client,Undici.Agent=Agent,Undici.buildConnector=Undici.errors=Undici.setGlobalDispatcher=Undici.getGlobalDispatcher=Undici.request=Undici.stream=Undici.pipeline=Undici.connect=Undici.upgrade=Undici.MockClient=Undici.MockPool=Undici.MockAgent=Undici.mockErrors=notImplemented,Undici.fetch=fetch,{fetch,Response,Headers,Request,URLSearchParams,URL,File,FileReader,FormData,request,stream,pipeline,connect,upgrade,MockClient,MockPool,MockAgent,mockErrors,Dispatcher,Pool,BalancedPool,Client,Agent,Undici}})\n"_s; +static constexpr ASCIILiteral ThirdpartyWSCode = "(function (){\"use strict\";const EventEmitter=@requireId(13),http=@requireId(16),kBunInternals=Symbol.for(\"::bunternal::\"),readyStates=[\"CONNECTING\",\"OPEN\",\"CLOSING\",\"CLOSED\"],encoder=new TextEncoder,eventIds={open:1,close:2,message:3,error:4,ping:5,pong:6},emittedWarnings=new Set;function emitWarning(type,message){if(emittedWarnings.has(type))return;emittedWarnings.add(type),console.warn(\"[bun] Warning:\",message)}class BunWebSocket extends EventEmitter{static CONNECTING=0;static OPEN=1;static CLOSING=2;static CLOSED=3;#ws;#paused=!1;#fragments=!1;#binaryType=\"nodebuffer\";#eventId=0;constructor(url,protocols,options){super();let ws=this.#ws=new WebSocket(url,protocols);ws.binaryType=\"nodebuffer\"}on(event,listener){if(event===\"unexpected-response\"||event===\"upgrade\"||event===\"redirect\")emitWarning(event,\"ws.WebSocket '\"+event+\"' event is not implemented in bun\");const mask=1<{this.emit(\"open\")});else if(event===\"close\")this.#ws.addEventListener(\"close\",({code,reason,wasClean})=>{this.emit(\"close\",code,reason,wasClean)});else if(event===\"message\")this.#ws.addEventListener(\"message\",({data})=>{const isBinary=typeof data!==\"string\";if(isBinary)this.emit(\"message\",this.#fragments\?[data]:data,isBinary);else{let encoded=encoder.encode(data);if(this.#binaryType!==\"arraybuffer\")encoded=Buffer.from(encoded.buffer,encoded.byteOffset,encoded.byteLength);this.emit(\"message\",this.#fragments\?[encoded]:encoded,isBinary)}});else if(event===\"error\")this.#ws.addEventListener(\"error\",(err)=>{this.emit(\"error\",err)});else if(event===\"ping\")this.#ws.addEventListener(\"ping\",({data})=>{this.emit(\"ping\",data)});else if(event===\"pong\")this.#ws.addEventListener(\"pong\",({data})=>{this.emit(\"pong\",data)})}return super.on(event,listener)}send(data,opts,cb){try{this.#ws.send(data,opts\?.compress)}catch(error){typeof cb===\"function\"&&cb(error);return}typeof cb===\"function\"&&cb()}close(code,reason){this.#ws.close(code,reason)}terminate(){this.#ws.terminate()}get url(){return this.#ws.url}get readyState(){return this.#ws.readyState}get binaryType(){return this.#binaryType}set binaryType(value){if(value===\"nodebuffer\"||value===\"arraybuffer\")this.#ws.binaryType=this.#binaryType=value,this.#fragments=!1;else if(value===\"fragments\")this.#ws.binaryType=\"nodebuffer\",this.#binaryType=\"fragments\",this.#fragments=!0;else throw new Error(`Invalid binaryType: ${value}`)}get protocol(){return this.#ws.protocol}get extensions(){return this.#ws.extensions}addEventListener(type,listener,options){this.#ws.addEventListener(type,listener,options)}removeEventListener(type,listener){this.#ws.removeEventListener(type,listener)}get onopen(){return this.#ws.onopen}set onopen(value){this.#ws.onopen=value}get onerror(){return this.#ws.onerror}set onerror(value){this.#ws.onerror=value}get onclose(){return this.#ws.onclose}set onclose(value){this.#ws.onclose=value}get onmessage(){return this.#ws.onmessage}set onmessage(value){this.#ws.onmessage=value}get bufferedAmount(){return this.#ws.bufferedAmount}get isPaused(){return this.#paused}ping(data,mask,cb){if(typeof data===\"function\")cb=data,data=mask=void 0;else if(typeof mask===\"function\")cb=mask,mask=void 0;if(typeof data===\"number\")data=data.toString();try{this.#ws.ping(data)}catch(error){typeof cb===\"function\"&&cb(error);return}typeof cb===\"function\"&&cb()}pong(data,mask,cb){if(typeof data===\"function\")cb=data,data=mask=void 0;else if(typeof mask===\"function\")cb=mask,mask=void 0;if(typeof data===\"number\")data=data.toString();try{this.#ws.pong(data)}catch(error){typeof cb===\"function\"&&cb(error);return}typeof cb===\"function\"&&cb()}pause(){switch(this.readyState){case WebSocket.CONNECTING:case WebSocket.CLOSED:return}this.#paused=!0,emitWarning(\"pause()\",\"ws.WebSocket.pause() is not implemented in bun\")}resume(){switch(this.readyState){case WebSocket.CONNECTING:case WebSocket.CLOSED:return}this.#paused=!1,emitWarning(\"resume()\",\"ws.WebSocket.resume() is not implemented in bun\")}}Object.defineProperty(BunWebSocket,\"name\",{value:\"WebSocket\"});const wsKeyRegex=/^[+/0-9A-Za-z]{22}==$/,wsTokenChars=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,1,1,1,0,0,1,1,0,1,1,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0,1,0];function subprotocolParse(header){const protocols=new Set;let start=-1,end=-1,i=0;for(i;i{const body=http.STATUS_CODES[426];res.writeHead(426,{\"Content-Length\":body.length,\"Content-Type\":\"text/plain\"}),res.end(body)}),this._server.listen(options.port,options.host,options.backlog,callback);else if(options.server)this._server=options.server;if(this._server){const emitConnection=this.emit.bind(this,\"connection\"),emitListening=this.emit.bind(this,\"listening\"),emitError=this.emit.bind(this,\"error\"),doUpgrade=(req,socket,head)=>{this.handleUpgrade(req,socket,head,emitConnection)};this._server.on(\"listening\",emitListening),this._server.on(\"error\",emitError),this._server.on(\"upgrade\",doUpgrade),this._removeListeners=()=>{this._server.removeListener(\"upgrade\",doUpgrade),this._server.removeListener(\"listening\",emitListening),this._server.removeListener(\"error\",emitError)}}if(options.perMessageDeflate===!0)options.perMessageDeflate={};if(options.clientTracking)this.clients=new Set,this._shouldEmitClose=!1;this.options=options,this._state=RUNNING}address(){if(this.options.noServer)throw new Error('The server is operating in \"noServer\" mode');if(!this._server)return null;return this._server.address()}close(cb){if(this._state===CLOSED){if(cb)this.once(\"close\",()=>{cb(new Error(\"The server is not running\"))});process.nextTick((server)=>{server._state=CLOSED,server.emit(\"close\")},this);return}if(cb)this.once(\"close\",cb);if(this._state===CLOSING)return;if(this._state=CLOSING,this.options.noServer||this.options.server){if(this._server)this._removeListeners(),this._removeListeners=this._server=null;if(this.clients)if(!this.clients.size)process.nextTick((server)=>{server._state=CLOSED,server.emit(\"close\")},this);else this._shouldEmitClose=!0;else process.nextTick((server)=>{server._state=CLOSED,server.emit(\"close\")},this)}else{const server=this._server;this._removeListeners(),this._removeListeners=this._server=null,server.close(()=>{this._state=CLOSED,this.emit(\"close\")})}}shouldHandle(req){if(this.options.path){const index=req.url.indexOf(\"\?\");if((index!==-1\?req.url.slice(0,index):req.url)!==this.options.path)return!1}return!0}completeUpgrade(extensions,key,protocols,request,socket,head,cb){const[server,response,req]=socket[kBunInternals];if(this._state>RUNNING)return abortHandshake(response,503);let protocol=\"\";if(protocols.size)protocol=this.options.handleProtocols\?this.options.handleProtocols(protocols,request):protocols.values().next().value;const ws=new BunWebSocketMocked(request.url,protocol,extensions,\"nodebuffer\"),headers=[\"HTTP/1.1 101 Switching Protocols\",\"Upgrade: websocket\",\"Connection: Upgrade\"];if(this.emit(\"headers\",headers,request),server.upgrade(req,{data:ws[kBunInternals]})){if(response._reply(void 0),this.clients)this.clients.add(ws),ws.on(\"close\",()=>{if(this.clients.delete(ws),this._shouldEmitClose&&!this.clients.size)process.nextTick(wsEmitClose,this)});cb(ws,request)}else abortHandshake(response,500)}handleUpgrade(req,socket,head,cb){const[_,response]=socket[kBunInternals],key=req.headers[\"sec-websocket-key\"],version=+req.headers[\"sec-websocket-version\"];if(req.method!==\"GET\"){abortHandshakeOrEmitwsClientError(this,req,response,socket,405,\"Invalid HTTP method\");return}if(req.headers.upgrade.toLowerCase()!==\"websocket\"){abortHandshakeOrEmitwsClientError(this,req,response,socket,400,\"Invalid Upgrade header\");return}if(!key||!wsKeyRegex.test(key)){abortHandshakeOrEmitwsClientError(this,req,response,socket,400,\"Missing or invalid Sec-WebSocket-Key header\");return}if(version!==8&&version!==13){abortHandshakeOrEmitwsClientError(this,req,response,socket,400,\"Missing or invalid Sec-WebSocket-Version header\");return}if(!this.shouldHandle(req)){abortHandshake(response,400);return}const secWebSocketProtocol=req.headers[\"sec-websocket-protocol\"];let protocols=new Set;if(secWebSocketProtocol!==void 0)try{protocols=subprotocolParse(secWebSocketProtocol)}catch(err){abortHandshakeOrEmitwsClientError(this,req,response,socket,400,\"Invalid Sec-WebSocket-Protocol header\");return}const extensions={};if(this.options.verifyClient){const info={origin:req.headers[`${version===8\?\"sec-websocket-origin\":\"origin\"}`],secure:!!(req.socket.authorized||req.socket.encrypted),req};if(this.options.verifyClient.length===2){this.options.verifyClient(info,(verified,code,message,headers)=>{if(!verified)return abortHandshake(response,code||401,message,headers);this.completeUpgrade(extensions,key,protocols,req,socket,head,cb)});return}if(!this.options.verifyClient(info))return abortHandshake(response,401)}this.completeUpgrade(extensions,key,protocols,req,socket,head,cb)}}Object.defineProperty(BunWebSocket,\"CONNECTING\",{enumerable:!0,value:readyStates.indexOf(\"CONNECTING\")}),Object.defineProperty(BunWebSocket.prototype,\"CONNECTING\",{enumerable:!0,value:readyStates.indexOf(\"CONNECTING\")}),Object.defineProperty(BunWebSocket,\"OPEN\",{enumerable:!0,value:readyStates.indexOf(\"OPEN\")}),Object.defineProperty(BunWebSocket.prototype,\"OPEN\",{enumerable:!0,value:readyStates.indexOf(\"OPEN\")}),Object.defineProperty(BunWebSocket,\"CLOSING\",{enumerable:!0,value:readyStates.indexOf(\"CLOSING\")}),Object.defineProperty(BunWebSocket.prototype,\"CLOSING\",{enumerable:!0,value:readyStates.indexOf(\"CLOSING\")}),Object.defineProperty(BunWebSocket,\"CLOSED\",{enumerable:!0,value:readyStates.indexOf(\"CLOSED\")}),Object.defineProperty(BunWebSocket.prototype,\"CLOSED\",{enumerable:!0,value:readyStates.indexOf(\"CLOSED\")});class Sender{constructor(){throw new Error(\"Not supported yet in Bun\")}}class Receiver{constructor(){throw new Error(\"Not supported yet in Bun\")}}var createWebSocketStream=(ws)=>{throw new Error(\"Not supported yet in Bun\")};return Object.assign(BunWebSocket,{createWebSocketStream,Receiver,Sender,WebSocket:BunWebSocket,Server:WebSocketServer,WebSocketServer})})\n"_s; +#endif + +} +} \ No newline at end of file diff --git a/src/js/out/NativeModuleImpl.h b/src/js/out/NativeModuleImpl.h new file mode 100644 index 0000000000000..8669a8b086e50 --- /dev/null +++ b/src/js/out/NativeModuleImpl.h @@ -0,0 +1,8 @@ +#include "../../bun.js/modules/BunJSCModule.h" +#include "../../bun.js/modules/NodeBufferModule.h" +#include "../../bun.js/modules/NodeConstantsModule.h" +#include "../../bun.js/modules/NodeModuleModule.h" +#include "../../bun.js/modules/NodeProcessModule.h" +#include "../../bun.js/modules/NodeStringDecoderModule.h" +#include "../../bun.js/modules/NodeTTYModule.h" +#include "../../bun.js/modules/NodeUtilTypesModule.h" diff --git a/src/js/out/ResolvedSourceTag.zig b/src/js/out/ResolvedSourceTag.zig new file mode 100644 index 0000000000000..a4a27f6d69293 --- /dev/null +++ b/src/js/out/ResolvedSourceTag.zig @@ -0,0 +1,70 @@ +pub const ResolvedSourceTag = enum(u32) { + // Predefined + javascript = 0, + package_json_type_module = 1, + wasm = 2, + object = 3, + file = 4, + esm = 5, + + // Built in modules are loaded through InternalModuleRegistry by numerical ID. + // In this enum are represented as `(1 << 9) & id` + @"bun:ffi" = 512, + @"bun:sqlite" = 513, + @"internal:shared" = 514, + @"node:assert" = 515, + @"node:assert/strict" = 516, + @"node:async_hooks" = 517, + @"node:child_process" = 518, + @"node:cluster" = 519, + @"node:crypto" = 520, + @"node:dgram" = 521, + @"node:diagnostics_channel" = 522, + @"node:dns" = 523, + @"node:dns/promises" = 524, + @"node:events" = 525, + @"node:fs" = 526, + @"node:fs/promises" = 527, + @"node:http" = 528, + @"node:http2" = 529, + @"node:https" = 530, + @"node:inspector" = 531, + @"node:net" = 532, + @"node:os" = 533, + @"node:path/posix" = 534, + @"node:path" = 535, + @"node:path/win32" = 536, + @"node:perf_hooks" = 537, + @"node:readline" = 538, + @"node:readline/promises" = 539, + @"node:repl" = 540, + @"node:stream/consumers" = 541, + @"node:stream" = 542, + @"node:stream/promises" = 543, + @"node:stream/web" = 544, + @"node:timers" = 545, + @"node:timers/promises" = 546, + @"node:tls" = 547, + @"node:trace_events" = 548, + @"node:url" = 549, + @"node:util" = 550, + @"node:v8" = 551, + @"node:vm" = 552, + @"node:wasi" = 553, + @"node:zlib" = 554, + @"depd" = 555, + @"detect-libc" = 556, + @"detect-libc/linux" = 557, + @"undici" = 558, + @"ws" = 559, + // Native modules run through the same system, but with different underlying initializers. + // They also have bit 10 set to differentiate them from JS builtins. + @"bun:jsc" = 1584, + @"node:buffer" = 1585, + @"node:constants" = 1586, + @"node:module" = 1587, + @"node:process" = 1588, + @"node:string_decoder" = 1589, + @"node:tty" = 1590, + @"node:util/types" = 1591, +}; diff --git a/src/js/out/SyntheticModuleType.h b/src/js/out/SyntheticModuleType.h new file mode 100644 index 0000000000000..36923d1db4f2c --- /dev/null +++ b/src/js/out/SyntheticModuleType.h @@ -0,0 +1,73 @@ +enum SyntheticModuleType : uint32_t { + JavaScript = 0, + PackageJSONTypeModule = 1, + Wasm = 2, + ObjectModule = 3, + File = 4, + ESM = 5, + + // Built in modules are loaded through InternalModuleRegistry by numerical ID. + // In this enum are represented as `(1 << 9) & id` + InternalModuleRegistryFlag = 1 << 9, + BunFFI = 512, + BunSqlite = 513, + InternalShared = 514, + NodeAssert = 515, + NodeAssertStrict = 516, + NodeAsyncHooks = 517, + NodeChildProcess = 518, + NodeCluster = 519, + NodeCrypto = 520, + NodeDgram = 521, + NodeDiagnosticsChannel = 522, + NodeDNS = 523, + NodeDNSPromises = 524, + NodeEvents = 525, + NodeFS = 526, + NodeFSPromises = 527, + NodeHttp = 528, + NodeHttp2 = 529, + NodeHttps = 530, + NodeInspector = 531, + NodeNet = 532, + NodeOS = 533, + NodePathPosix = 534, + NodePath = 535, + NodePathWin32 = 536, + NodePerfHooks = 537, + NodeReadline = 538, + NodeReadlinePromises = 539, + NodeRepl = 540, + NodeStreamConsumers = 541, + NodeStream = 542, + NodeStreamPromises = 543, + NodeStreamWeb = 544, + NodeTimers = 545, + NodeTimersPromises = 546, + NodeTLS = 547, + NodeTraceEvents = 548, + NodeUrl = 549, + NodeUtil = 550, + NodeV8 = 551, + NodeVM = 552, + NodeWasi = 553, + NodeZlib = 554, + ThirdpartyDepd = 555, + ThirdpartyDetectLibc = 556, + ThirdpartyDetectLibcLinux = 557, + ThirdpartyUndici = 558, + ThirdpartyWS = 559, + + // Native modules run through the same system, but with different underlying initializers. + // They also have bit 10 set to differentiate them from JS builtins. + NativeModuleFlag = 1 << 10, + BunJSC = 1584, + NodeBuffer = 1585, + NodeConstants = 1586, + NodeModule = 1587, + NodeProcess = 1588, + NodeStringDecoder = 1589, + NodeTTY = 1590, + NodeUtilTypes = 1591, +}; + diff --git a/src/js/out/WebCoreJSBuiltins.cpp b/src/js/out/WebCoreJSBuiltins.cpp index a28464a5741f3..364ed1d45c0cb 100644 --- a/src/js/out/WebCoreJSBuiltins.cpp +++ b/src/js/out/WebCoreJSBuiltins.cpp @@ -14,25 +14,25 @@ namespace WebCore { const JSC::ConstructAbility s_bundlerPluginRunSetupFunctionCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_bundlerPluginRunSetupFunctionCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_bundlerPluginRunSetupFunctionCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_bundlerPluginRunSetupFunctionCodeLength = 2165; +const int s_bundlerPluginRunSetupFunctionCodeLength = 4233; static const JSC::Intrinsic s_bundlerPluginRunSetupFunctionCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_bundlerPluginRunSetupFunctionCode = "(function (J,_){\"use strict\";var D=new Map,F=new Map;function H(q,h,E){if(!q||!@isObject(q))@throwTypeError('Expected an object with \"filter\" RegExp');if(!h||!@isCallable(h))@throwTypeError(\"callback must be a function\");var{filter:w,namespace:z=\"file\"}=q;if(!w)@throwTypeError('Expected an object with \"filter\" RegExp');if(!@isRegExpObject(w))@throwTypeError(\"filter must be a RegExp\");if(z&&typeof z!==\"string\")@throwTypeError(\"namespace must be a string\");if((z\?.length\?\?0)===0)z=\"file\";if(!/^([/@a-zA-Z0-9_\\\\-]+)$/.test(z))@throwTypeError(\"namespace can only contain $a-zA-Z0-9_\\\\-\");var A=E.@get(z);if(!A)E.@set(z,[[w,h]]);else @arrayPush(A,[w,h])}function K(q,h){H(q,h,D)}function M(q,h){H(q,h,F)}const I=()=>{var q=!1,h=!1;for(var[E,w]of D.entries())for(var[z]of w)this.addFilter(z,E,1),q=!0;for(var[E,w]of F.entries())for(var[z]of w)this.addFilter(z,E,0),h=!0;if(h){var A=this.onResolve;if(!A)this.onResolve=F;else for(var[E,w]of F.entries()){var C=A.@get(E);if(!C)A.@set(E,w);else A.@set(E,C.concat(w))}}if(q){var G=this.onLoad;if(!G)this.onLoad=D;else for(var[E,w]of D.entries()){var C=G.@get(E);if(!C)G.@set(E,w);else G.@set(E,C.concat(w))}}return q||h};var B=J({config:_,onDispose:()=>@throwTypeError(\"@{@2} is not implemented yet. See https://github.com/oven-sh/bun/issues/@1\"),onEnd:()=>@throwTypeError(\"@{@2} is not implemented yet. See https://github.com/oven-sh/bun/issues/@1\"),onLoad:K,onResolve:M,onStart:()=>@throwTypeError(\"@{@2} is not implemented yet. See https://github.com/oven-sh/bun/issues/@1\"),resolve:()=>@throwTypeError(\"@{@2} is not implemented yet. See https://github.com/oven-sh/bun/issues/@1\"),initialOptions:{..._,bundle:!0,entryPoints:_.entrypoints\?\?_.entryPoints\?\?[],minify:typeof _.minify===\"boolean\"\?_.minify:!1,minifyIdentifiers:_.minify===!0||_.minify\?.identifiers,minifyWhitespace:_.minify===!0||_.minify\?.whitespace,minifySyntax:_.minify===!0||_.minify\?.syntax,outbase:_.root,platform:_.target===\"bun\"\?\"node\":_.target},esbuild:{}});if(B&&@isPromise(B))if(@getPromiseInternalField(B,@promiseFieldFlags)&@promiseStateFulfilled)B=@getPromiseInternalField(B,@promiseFieldReactionsOrResult);else return B.@then(I);return I()})\n"; +const char* const s_bundlerPluginRunSetupFunctionCode = "(function (setup, config) {\"use strict\";\n var onLoadPlugins = new Map;\n var onResolvePlugins = new Map;\n function validate(filterObject, callback, map) {\n if (!filterObject || !@isObject(filterObject)) {\n @throwTypeError('Expected an object with \"filter\" RegExp');\n }\n if (!callback || !@isCallable(callback)) {\n @throwTypeError(\"callback must be a function\");\n }\n var { filter, namespace = \"file\" } = filterObject;\n if (!filter) {\n @throwTypeError('Expected an object with \"filter\" RegExp');\n }\n if (!@isRegExpObject(filter)) {\n @throwTypeError(\"filter must be a RegExp\");\n }\n if (namespace && !(typeof namespace === \"string\")) {\n @throwTypeError(\"namespace must be a string\");\n }\n if ((namespace\?.length \?\? 0) === 0) {\n namespace = \"file\";\n }\n if (!/^([/@a-zA-Z0-9_\\\\-]+)$/.test(namespace)) {\n @throwTypeError(\"namespace can only contain $a-zA-Z0-9_\\\\-\");\n }\n var callbacks = map.@get(namespace);\n if (!callbacks) {\n map.@set(namespace, [[filter, callback]]);\n } else {\n @arrayPush(callbacks, [filter, callback]);\n }\n }\n function onLoad(filterObject, callback) {\n validate(filterObject, callback, onLoadPlugins);\n }\n function onResolve(filterObject, callback) {\n validate(filterObject, callback, onResolvePlugins);\n }\n const processSetupResult = () => {\n var anyOnLoad = false, anyOnResolve = false;\n for (var [namespace, callbacks] of onLoadPlugins.entries()) {\n for (var [filter] of callbacks) {\n this.addFilter(filter, namespace, 1);\n anyOnLoad = true;\n }\n }\n for (var [namespace, callbacks] of onResolvePlugins.entries()) {\n for (var [filter] of callbacks) {\n this.addFilter(filter, namespace, 0);\n anyOnResolve = true;\n }\n }\n if (anyOnResolve) {\n var onResolveObject = this.onResolve;\n if (!onResolveObject) {\n this.onResolve = onResolvePlugins;\n } else {\n for (var [namespace, callbacks] of onResolvePlugins.entries()) {\n var existing = onResolveObject.@get(namespace);\n if (!existing) {\n onResolveObject.@set(namespace, callbacks);\n } else {\n onResolveObject.@set(namespace, existing.concat(callbacks));\n }\n }\n }\n }\n if (anyOnLoad) {\n var onLoadObject = this.onLoad;\n if (!onLoadObject) {\n this.onLoad = onLoadPlugins;\n } else {\n for (var [namespace, callbacks] of onLoadPlugins.entries()) {\n var existing = onLoadObject.@get(namespace);\n if (!existing) {\n onLoadObject.@set(namespace, callbacks);\n } else {\n onLoadObject.@set(namespace, existing.concat(callbacks));\n }\n }\n }\n }\n return anyOnLoad || anyOnResolve;\n };\n var setupResult = setup({\n config,\n onDispose: () => @throwTypeError(`@{@2} is not implemented yet. See https://github.com/oven-sh/bun/issues/@1`),\n onEnd: () => @throwTypeError(`@{@2} is not implemented yet. See https://github.com/oven-sh/bun/issues/@1`),\n onLoad,\n onResolve,\n onStart: () => @throwTypeError(`@{@2} is not implemented yet. See https://github.com/oven-sh/bun/issues/@1`),\n resolve: () => @throwTypeError(`@{@2} is not implemented yet. See https://github.com/oven-sh/bun/issues/@1`),\n initialOptions: {\n ...config,\n bundle: true,\n entryPoints: config.entrypoints \?\? config.entryPoints \?\? [],\n minify: typeof config.minify === \"boolean\" \? config.minify : false,\n minifyIdentifiers: config.minify === true || config.minify\?.identifiers,\n minifyWhitespace: config.minify === true || config.minify\?.whitespace,\n minifySyntax: config.minify === true || config.minify\?.syntax,\n outbase: config.root,\n platform: config.target === \"bun\" \? \"node\" : config.target\n },\n esbuild: {}\n });\n if (setupResult && @isPromise(setupResult)) {\n if (@getPromiseInternalField(setupResult, @promiseFieldFlags) & @promiseStateFulfilled) {\n setupResult = @getPromiseInternalField(setupResult, @promiseFieldReactionsOrResult);\n } else {\n return setupResult.@then(processSetupResult);\n }\n }\n return processSetupResult();\n})\n"; // runOnResolvePlugins const JSC::ConstructAbility s_bundlerPluginRunOnResolvePluginsCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_bundlerPluginRunOnResolvePluginsCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_bundlerPluginRunOnResolvePluginsCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_bundlerPluginRunOnResolvePluginsCodeLength = 1711; +const int s_bundlerPluginRunOnResolvePluginsCodeLength = 3203; static const JSC::Intrinsic s_bundlerPluginRunOnResolvePluginsCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_bundlerPluginRunOnResolvePluginsCode = "(function (C,E,F,b,G){\"use strict\";const H=[\"entry-point\",\"import-statement\",\"require-call\",\"dynamic-import\",\"require-resolve\",\"import-rule\",\"url-token\",\"internal\"][G];var g=(async(j,q,J,K)=>{var{onResolve:M,onLoad:A}=this,B=M.@get(q);if(!B)return this.onResolveAsync(b,null,null,null),null;for(let[O,Q]of B)if(O.test(j)){var _=Q({path:j,importer:J,namespace:q,kind:K});while(_&&@isPromise(_)&&(@getPromiseInternalField(_,@promiseFieldFlags)&@promiseStateMask)===@promiseStateFulfilled)_=@getPromiseInternalField(_,@promiseFieldReactionsOrResult);if(_&&@isPromise(_))_=await _;if(!_||!@isObject(_))continue;var{path:y,namespace:w=q,external:z}=_;if(typeof y!==\"string\"||typeof w!==\"string\")@throwTypeError(\"onResolve plugins must return an object with a string 'path' and string 'loader' field\");if(!y)continue;if(!w)w=q;if(typeof z!==\"boolean\"&&!@isUndefinedOrNull(z))@throwTypeError('onResolve plugins \"external\" field must be boolean or unspecified');if(!z){if(w===\"file\"){if(darwin!==\"win32\"){if(y[0]!==\"/\"||y.includes(\"..\"))@throwTypeError('onResolve plugin \"path\" must be absolute when the namespace is \"file\"')}}if(w===\"dataurl\"){if(!y.startsWith(\"data:\"))@throwTypeError('onResolve plugin \"path\" must start with \"data:\" when the namespace is \"dataurl\"')}if(w&&w!==\"file\"&&(!A||!A.@has(w)))@throwTypeError(`Expected onLoad plugin for namespace ${w} to exist`)}return this.onResolveAsync(b,y,w,z),null}return this.onResolveAsync(b,null,null,null),null})(C,E,F,H);while(g&&@isPromise(g)&&(@getPromiseInternalField(g,@promiseFieldFlags)&@promiseStateMask)===@promiseStateFulfilled)g=@getPromiseInternalField(g,@promiseFieldReactionsOrResult);if(g&&@isPromise(g))g.then(()=>{},(j)=>{this.addError(b,j,0)})})\n"; +const char* const s_bundlerPluginRunOnResolvePluginsCode = "(function (specifier, inputNamespace, importer, internalID, kindId) {\"use strict\";\n const kind = [\"entry-point\", \"import-statement\", \"require-call\", \"dynamic-import\", \"require-resolve\", \"import-rule\", \"url-token\", \"internal\"][kindId];\n var promiseResult = (async (inputPath, inputNamespace2, importer2, kind2) => {\n var { onResolve, onLoad } = this;\n var results = onResolve.@get(inputNamespace2);\n if (!results) {\n this.onResolveAsync(internalID, null, null, null);\n return null;\n }\n for (let [filter, callback] of results) {\n if (filter.test(inputPath)) {\n var result = callback({\n path: inputPath,\n importer: importer2,\n namespace: inputNamespace2,\n kind: kind2\n });\n while (result && @isPromise(result) && (@getPromiseInternalField(result, @promiseFieldFlags) & @promiseStateMask) === @promiseStateFulfilled) {\n result = @getPromiseInternalField(result, @promiseFieldReactionsOrResult);\n }\n if (result && @isPromise(result)) {\n result = await result;\n }\n if (!result || !@isObject(result)) {\n continue;\n }\n var { path, namespace: userNamespace = inputNamespace2, external } = result;\n if (!(typeof path === \"string\") || !(typeof userNamespace === \"string\")) {\n @throwTypeError(\"onResolve plugins must return an object with a string 'path' and string 'loader' field\");\n }\n if (!path) {\n continue;\n }\n if (!userNamespace) {\n userNamespace = inputNamespace2;\n }\n if (typeof external !== \"boolean\" && !@isUndefinedOrNull(external)) {\n @throwTypeError('onResolve plugins \"external\" field must be boolean or unspecified');\n }\n if (!external) {\n if (userNamespace === \"file\") {\n if (darwin !== \"win32\") {\n if (path[0] !== \"/\" || path.includes(\"..\")) {\n @throwTypeError('onResolve plugin \"path\" must be absolute when the namespace is \"file\"');\n }\n } else {\n }\n }\n if (userNamespace === \"dataurl\") {\n if (!path.startsWith(\"data:\")) {\n @throwTypeError('onResolve plugin \"path\" must start with \"data:\" when the namespace is \"dataurl\"');\n }\n }\n if (userNamespace && userNamespace !== \"file\" && (!onLoad || !onLoad.@has(userNamespace))) {\n @throwTypeError(`Expected onLoad plugin for namespace ${userNamespace} to exist`);\n }\n }\n this.onResolveAsync(internalID, path, userNamespace, external);\n return null;\n }\n }\n this.onResolveAsync(internalID, null, null, null);\n return null;\n })(specifier, inputNamespace, importer, kind);\n while (promiseResult && @isPromise(promiseResult) && (@getPromiseInternalField(promiseResult, @promiseFieldFlags) & @promiseStateMask) === @promiseStateFulfilled) {\n promiseResult = @getPromiseInternalField(promiseResult, @promiseFieldReactionsOrResult);\n }\n if (promiseResult && @isPromise(promiseResult)) {\n promiseResult.then(() => {\n }, (e) => {\n this.addError(internalID, e, 0);\n });\n }\n})\n"; // runOnLoadPlugins const JSC::ConstructAbility s_bundlerPluginRunOnLoadPluginsCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_bundlerPluginRunOnLoadPluginsCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_bundlerPluginRunOnLoadPluginsCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_bundlerPluginRunOnLoadPluginsCodeLength = 1325; +const int s_bundlerPluginRunOnLoadPluginsCodeLength = 2400; static const JSC::Intrinsic s_bundlerPluginRunOnLoadPluginsCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_bundlerPluginRunOnLoadPluginsCode = "(function (w,F,G,H){\"use strict\";const J={jsx:0,js:1,ts:2,tsx:3,css:4,file:5,json:6,toml:7,wasm:8,napi:9,base64:10,dataurl:11,text:12},K=[\"jsx\",\"js\",\"ts\",\"tsx\",\"css\",\"file\",\"json\",\"toml\",\"wasm\",\"napi\",\"base64\",\"dataurl\",\"text\"][H];var g=(async(j,x,y,z)=>{var B=this.onLoad.@get(y);if(!B)return this.onLoadAsync(j,null,null),null;for(let[Q,T]of B)if(Q.test(x)){var b=T({path:x,namespace:y,loader:z});while(b&&@isPromise(b)&&(@getPromiseInternalField(b,@promiseFieldFlags)&@promiseStateMask)===@promiseStateFulfilled)b=@getPromiseInternalField(b,@promiseFieldReactionsOrResult);if(b&&@isPromise(b))b=await b;if(!b||!@isObject(b))continue;var{contents:q,loader:v=z}=b;if(typeof q!==\"string\"&&!@isTypedArrayView(q))@throwTypeError('onLoad plugins must return an object with \"contents\" as a string or Uint8Array');if(typeof v!==\"string\")@throwTypeError('onLoad plugins must return an object with \"loader\" as a string');const C=J[v];if(C===@undefined)@throwTypeError(`Loader ${v} is not supported.`);return this.onLoadAsync(j,q,C),null}return this.onLoadAsync(j,null,null),null})(w,F,G,K);while(g&&@isPromise(g)&&(@getPromiseInternalField(g,@promiseFieldFlags)&@promiseStateMask)===@promiseStateFulfilled)g=@getPromiseInternalField(g,@promiseFieldReactionsOrResult);if(g&&@isPromise(g))g.then(()=>{},(j)=>{this.addError(w,j,1)})})\n"; +const char* const s_bundlerPluginRunOnLoadPluginsCode = "(function (internalID, path, namespace, defaultLoaderId) {\"use strict\";\n const LOADERS_MAP = { jsx: 0, js: 1, ts: 2, tsx: 3, css: 4, file: 5, json: 6, toml: 7, wasm: 8, napi: 9, base64: 10, dataurl: 11, text: 12 };\n const loaderName = [\"jsx\", \"js\", \"ts\", \"tsx\", \"css\", \"file\", \"json\", \"toml\", \"wasm\", \"napi\", \"base64\", \"dataurl\", \"text\"][defaultLoaderId];\n var promiseResult = (async (internalID2, path2, namespace2, defaultLoader) => {\n var results = this.onLoad.@get(namespace2);\n if (!results) {\n this.onLoadAsync(internalID2, null, null);\n return null;\n }\n for (let [filter, callback] of results) {\n if (filter.test(path2)) {\n var result = callback({\n path: path2,\n namespace: namespace2,\n loader: defaultLoader\n });\n while (result && @isPromise(result) && (@getPromiseInternalField(result, @promiseFieldFlags) & @promiseStateMask) === @promiseStateFulfilled) {\n result = @getPromiseInternalField(result, @promiseFieldReactionsOrResult);\n }\n if (result && @isPromise(result)) {\n result = await result;\n }\n if (!result || !@isObject(result)) {\n continue;\n }\n var { contents, loader = defaultLoader } = result;\n if (!(typeof contents === \"string\") && !@isTypedArrayView(contents)) {\n @throwTypeError('onLoad plugins must return an object with \"contents\" as a string or Uint8Array');\n }\n if (!(typeof loader === \"string\")) {\n @throwTypeError('onLoad plugins must return an object with \"loader\" as a string');\n }\n const chosenLoader = LOADERS_MAP[loader];\n if (chosenLoader === @undefined) {\n @throwTypeError(`Loader ${loader} is not supported.`);\n }\n this.onLoadAsync(internalID2, contents, chosenLoader);\n return null;\n }\n }\n this.onLoadAsync(internalID2, null, null);\n return null;\n })(internalID, path, namespace, loaderName);\n while (promiseResult && @isPromise(promiseResult) && (@getPromiseInternalField(promiseResult, @promiseFieldFlags) & @promiseStateMask) === @promiseStateFulfilled) {\n promiseResult = @getPromiseInternalField(promiseResult, @promiseFieldReactionsOrResult);\n }\n if (promiseResult && @isPromise(promiseResult)) {\n promiseResult.then(() => {\n }, (e) => {\n this.addError(internalID, e, 1);\n });\n }\n})\n"; #define DEFINE_BUILTIN_GENERATOR(codeName, functionName, overriddenName, argumentCount) \ JSC::FunctionExecutable* codeName##Generator(JSC::VM& vm) \ @@ -48,25 +48,25 @@ WEBCORE_FOREACH_BUNDLERPLUGIN_BUILTIN_CODE(DEFINE_BUILTIN_GENERATOR) const JSC::ConstructAbility s_byteLengthQueuingStrategyHighWaterMarkCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_byteLengthQueuingStrategyHighWaterMarkCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_byteLengthQueuingStrategyHighWaterMarkCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_byteLengthQueuingStrategyHighWaterMarkCodeLength = 210; +const int s_byteLengthQueuingStrategyHighWaterMarkCodeLength = 269; static const JSC::Intrinsic s_byteLengthQueuingStrategyHighWaterMarkCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_byteLengthQueuingStrategyHighWaterMarkCode = "(function (){\"use strict\";const c=@getByIdDirectPrivate(this,\"highWaterMark\");if(c===@undefined)@throwTypeError(\"ByteLengthQueuingStrategy.highWaterMark getter called on incompatible |this| value.\");return c})\n"; +const char* const s_byteLengthQueuingStrategyHighWaterMarkCode = "(function () {\"use strict\";\n const highWaterMark = @getByIdDirectPrivate(this, \"highWaterMark\");\n if (highWaterMark === @undefined)\n @throwTypeError(\"ByteLengthQueuingStrategy.highWaterMark getter called on incompatible |this| value.\");\n return highWaterMark;\n})\n"; // size const JSC::ConstructAbility s_byteLengthQueuingStrategySizeCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_byteLengthQueuingStrategySizeCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_byteLengthQueuingStrategySizeCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_byteLengthQueuingStrategySizeCodeLength = 49; +const int s_byteLengthQueuingStrategySizeCodeLength = 63; static const JSC::Intrinsic s_byteLengthQueuingStrategySizeCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_byteLengthQueuingStrategySizeCode = "(function (e){\"use strict\";return e.byteLength})\n"; +const char* const s_byteLengthQueuingStrategySizeCode = "(function (chunk) {\"use strict\";\n return chunk.byteLength;\n})\n"; // initializeByteLengthQueuingStrategy const JSC::ConstructAbility s_byteLengthQueuingStrategyInitializeByteLengthQueuingStrategyCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_byteLengthQueuingStrategyInitializeByteLengthQueuingStrategyCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_byteLengthQueuingStrategyInitializeByteLengthQueuingStrategyCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_byteLengthQueuingStrategyInitializeByteLengthQueuingStrategyCodeLength = 121; +const int s_byteLengthQueuingStrategyInitializeByteLengthQueuingStrategyCodeLength = 147; static const JSC::Intrinsic s_byteLengthQueuingStrategyInitializeByteLengthQueuingStrategyCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_byteLengthQueuingStrategyInitializeByteLengthQueuingStrategyCode = "(function (c){\"use strict\";@putByIdDirectPrivate(this,\"highWaterMark\",@extractHighWaterMarkFromQueuingStrategyInit(c))})\n"; +const char* const s_byteLengthQueuingStrategyInitializeByteLengthQueuingStrategyCode = "(function (parameters) {\"use strict\";\n @putByIdDirectPrivate(this, \"highWaterMark\", @extractHighWaterMarkFromQueuingStrategyInit(parameters));\n})\n"; #define DEFINE_BUILTIN_GENERATOR(codeName, functionName, overriddenName, argumentCount) \ JSC::FunctionExecutable* codeName##Generator(JSC::VM& vm) \ @@ -82,393 +82,393 @@ WEBCORE_FOREACH_BYTELENGTHQUEUINGSTRATEGY_BUILTIN_CODE(DEFINE_BUILTIN_GENERATOR) const JSC::ConstructAbility s_writableStreamInternalsIsWritableStreamCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_writableStreamInternalsIsWritableStreamCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_writableStreamInternalsIsWritableStreamCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_writableStreamInternalsIsWritableStreamCodeLength = 94; +const int s_writableStreamInternalsIsWritableStreamCodeLength = 118; static const JSC::Intrinsic s_writableStreamInternalsIsWritableStreamCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_writableStreamInternalsIsWritableStreamCode = "(function (i){\"use strict\";return @isObject(i)&&!!@getByIdDirectPrivate(i,\"underlyingSink\")})\n"; +const char* const s_writableStreamInternalsIsWritableStreamCode = "(function (stream) {\"use strict\";\n return @isObject(stream) && !!@getByIdDirectPrivate(stream, \"underlyingSink\");\n})\n"; // isWritableStreamDefaultWriter const JSC::ConstructAbility s_writableStreamInternalsIsWritableStreamDefaultWriterCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_writableStreamInternalsIsWritableStreamDefaultWriterCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_writableStreamInternalsIsWritableStreamDefaultWriterCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_writableStreamInternalsIsWritableStreamDefaultWriterCodeLength = 93; +const int s_writableStreamInternalsIsWritableStreamDefaultWriterCodeLength = 117; static const JSC::Intrinsic s_writableStreamInternalsIsWritableStreamDefaultWriterCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_writableStreamInternalsIsWritableStreamDefaultWriterCode = "(function (d){\"use strict\";return @isObject(d)&&!!@getByIdDirectPrivate(d,\"closedPromise\")})\n"; +const char* const s_writableStreamInternalsIsWritableStreamDefaultWriterCode = "(function (writer) {\"use strict\";\n return @isObject(writer) && !!@getByIdDirectPrivate(writer, \"closedPromise\");\n})\n"; // acquireWritableStreamDefaultWriter const JSC::ConstructAbility s_writableStreamInternalsAcquireWritableStreamDefaultWriterCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_writableStreamInternalsAcquireWritableStreamDefaultWriterCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_writableStreamInternalsAcquireWritableStreamDefaultWriterCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_writableStreamInternalsAcquireWritableStreamDefaultWriterCodeLength = 72; +const int s_writableStreamInternalsAcquireWritableStreamDefaultWriterCodeLength = 88; static const JSC::Intrinsic s_writableStreamInternalsAcquireWritableStreamDefaultWriterCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_writableStreamInternalsAcquireWritableStreamDefaultWriterCode = "(function (b){\"use strict\";return new @WritableStreamDefaultWriter(b)})\n"; +const char* const s_writableStreamInternalsAcquireWritableStreamDefaultWriterCode = "(function (stream) {\"use strict\";\n return new @WritableStreamDefaultWriter(stream);\n})\n"; // createWritableStream const JSC::ConstructAbility s_writableStreamInternalsCreateWritableStreamCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_writableStreamInternalsCreateWritableStreamCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_writableStreamInternalsCreateWritableStreamCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_writableStreamInternalsCreateWritableStreamCodeLength = 273; +const int s_writableStreamInternalsCreateWritableStreamCodeLength = 591; static const JSC::Intrinsic s_writableStreamInternalsCreateWritableStreamCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_writableStreamInternalsCreateWritableStreamCode = "(function (j,p,q,u,d,v){\"use strict\";@assert(typeof d===\"number\"&&d===d&&d>=0);const f={};@initializeWritableStreamSlots(f,{});const x=new @WritableStreamDefaultController;return @setUpWritableStreamDefaultController(f,x,j,p,q,u,d,v),@createWritableStreamFromInternal(f)})\n"; +const char* const s_writableStreamInternalsCreateWritableStreamCode = "(function (startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm) {\"use strict\";\n @assert(typeof highWaterMark === \"number\" && highWaterMark === highWaterMark && highWaterMark >= 0);\n const internalStream = {};\n @initializeWritableStreamSlots(internalStream, {});\n const controller = new @WritableStreamDefaultController;\n @setUpWritableStreamDefaultController(internalStream, controller, startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm);\n return @createWritableStreamFromInternal(internalStream);\n})\n"; // createInternalWritableStreamFromUnderlyingSink const JSC::ConstructAbility s_writableStreamInternalsCreateInternalWritableStreamFromUnderlyingSinkCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_writableStreamInternalsCreateInternalWritableStreamFromUnderlyingSinkCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_writableStreamInternalsCreateInternalWritableStreamFromUnderlyingSinkCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_writableStreamInternalsCreateInternalWritableStreamFromUnderlyingSinkCodeLength = 920; +const int s_writableStreamInternalsCreateInternalWritableStreamFromUnderlyingSinkCodeLength = 1648; static const JSC::Intrinsic s_writableStreamInternalsCreateInternalWritableStreamFromUnderlyingSinkCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_writableStreamInternalsCreateInternalWritableStreamFromUnderlyingSinkCode = "(function (f,w){\"use strict\";const C={};if(f===@undefined)f={};if(w===@undefined)w={};if(!@isObject(f))@throwTypeError(\"WritableStream constructor takes an object as first argument\");if(\"type\"in f)@throwRangeError(\"Invalid type is specified\");const E=@extractSizeAlgorithm(w),_=@extractHighWaterMark(w,1),o={};if(\"start\"in f){if(o.start=f.start,typeof o.start!==\"function\")@throwTypeError(\"underlyingSink.start should be a function\")}if(\"write\"in f){if(o.write=f.write,typeof o.write!==\"function\")@throwTypeError(\"underlyingSink.write should be a function\")}if(\"close\"in f){if(o.close=f.close,typeof o.close!==\"function\")@throwTypeError(\"underlyingSink.close should be a function\")}if(\"abort\"in f){if(o.abort=f.abort,typeof o.abort!==\"function\")@throwTypeError(\"underlyingSink.abort should be a function\")}return @initializeWritableStreamSlots(C,f),@setUpWritableStreamDefaultControllerFromUnderlyingSink(C,f,o,_,E),C})\n"; +const char* const s_writableStreamInternalsCreateInternalWritableStreamFromUnderlyingSinkCode = "(function (underlyingSink, strategy) {\"use strict\";\n const stream = {};\n if (underlyingSink === @undefined)\n underlyingSink = {};\n if (strategy === @undefined)\n strategy = {};\n if (!@isObject(underlyingSink))\n @throwTypeError(\"WritableStream constructor takes an object as first argument\");\n if (\"type\" in underlyingSink)\n @throwRangeError(\"Invalid type is specified\");\n const sizeAlgorithm = @extractSizeAlgorithm(strategy);\n const highWaterMark = @extractHighWaterMark(strategy, 1);\n const underlyingSinkDict = {};\n if (\"start\" in underlyingSink) {\n underlyingSinkDict[\"start\"] = underlyingSink[\"start\"];\n if (typeof underlyingSinkDict[\"start\"] !== \"function\")\n @throwTypeError(\"underlyingSink.start should be a function\");\n }\n if (\"write\" in underlyingSink) {\n underlyingSinkDict[\"write\"] = underlyingSink[\"write\"];\n if (typeof underlyingSinkDict[\"write\"] !== \"function\")\n @throwTypeError(\"underlyingSink.write should be a function\");\n }\n if (\"close\" in underlyingSink) {\n underlyingSinkDict[\"close\"] = underlyingSink[\"close\"];\n if (typeof underlyingSinkDict[\"close\"] !== \"function\")\n @throwTypeError(\"underlyingSink.close should be a function\");\n }\n if (\"abort\" in underlyingSink) {\n underlyingSinkDict[\"abort\"] = underlyingSink[\"abort\"];\n if (typeof underlyingSinkDict[\"abort\"] !== \"function\")\n @throwTypeError(\"underlyingSink.abort should be a function\");\n }\n @initializeWritableStreamSlots(stream, underlyingSink);\n @setUpWritableStreamDefaultControllerFromUnderlyingSink(stream, underlyingSink, underlyingSinkDict, highWaterMark, sizeAlgorithm);\n return stream;\n})\n"; // initializeWritableStreamSlots const JSC::ConstructAbility s_writableStreamInternalsInitializeWritableStreamSlotsCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_writableStreamInternalsInitializeWritableStreamSlotsCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_writableStreamInternalsInitializeWritableStreamSlotsCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_writableStreamInternalsInitializeWritableStreamSlotsCodeLength = 588; +const int s_writableStreamInternalsInitializeWritableStreamSlotsCodeLength = 736; static const JSC::Intrinsic s_writableStreamInternalsInitializeWritableStreamSlotsCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_writableStreamInternalsInitializeWritableStreamSlotsCode = "(function (_,c){\"use strict\";@putByIdDirectPrivate(_,\"state\",\"writable\"),@putByIdDirectPrivate(_,\"storedError\",@undefined),@putByIdDirectPrivate(_,\"writer\",@undefined),@putByIdDirectPrivate(_,\"controller\",@undefined),@putByIdDirectPrivate(_,\"inFlightWriteRequest\",@undefined),@putByIdDirectPrivate(_,\"closeRequest\",@undefined),@putByIdDirectPrivate(_,\"inFlightCloseRequest\",@undefined),@putByIdDirectPrivate(_,\"pendingAbortRequest\",@undefined),@putByIdDirectPrivate(_,\"writeRequests\",@createFIFO()),@putByIdDirectPrivate(_,\"backpressure\",!1),@putByIdDirectPrivate(_,\"underlyingSink\",c)})\n"; +const char* const s_writableStreamInternalsInitializeWritableStreamSlotsCode = "(function (stream, underlyingSink) {\"use strict\";\n @putByIdDirectPrivate(stream, \"state\", \"writable\");\n @putByIdDirectPrivate(stream, \"storedError\", @undefined);\n @putByIdDirectPrivate(stream, \"writer\", @undefined);\n @putByIdDirectPrivate(stream, \"controller\", @undefined);\n @putByIdDirectPrivate(stream, \"inFlightWriteRequest\", @undefined);\n @putByIdDirectPrivate(stream, \"closeRequest\", @undefined);\n @putByIdDirectPrivate(stream, \"inFlightCloseRequest\", @undefined);\n @putByIdDirectPrivate(stream, \"pendingAbortRequest\", @undefined);\n @putByIdDirectPrivate(stream, \"writeRequests\", @createFIFO());\n @putByIdDirectPrivate(stream, \"backpressure\", false);\n @putByIdDirectPrivate(stream, \"underlyingSink\", underlyingSink);\n})\n"; // writableStreamCloseForBindings const JSC::ConstructAbility s_writableStreamInternalsWritableStreamCloseForBindingsCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_writableStreamInternalsWritableStreamCloseForBindingsCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_writableStreamInternalsWritableStreamCloseForBindingsCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_writableStreamInternalsWritableStreamCloseForBindingsCodeLength = 370; +const int s_writableStreamInternalsWritableStreamCloseForBindingsCodeLength = 414; static const JSC::Intrinsic s_writableStreamInternalsWritableStreamCloseForBindingsCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_writableStreamInternalsWritableStreamCloseForBindingsCode = "(function (_){\"use strict\";if(@isWritableStreamLocked(_))return @Promise.@reject(@makeTypeError(\"WritableStream.close method can only be used on non locked WritableStream\"));if(@writableStreamCloseQueuedOrInFlight(_))return @Promise.@reject(@makeTypeError(\"WritableStream.close method can only be used on a being close WritableStream\"));return @writableStreamClose(_)})\n"; +const char* const s_writableStreamInternalsWritableStreamCloseForBindingsCode = "(function (stream) {\"use strict\";\n if (@isWritableStreamLocked(stream))\n return @Promise.@reject(@makeTypeError(\"WritableStream.close method can only be used on non locked WritableStream\"));\n if (@writableStreamCloseQueuedOrInFlight(stream))\n return @Promise.@reject(@makeTypeError(\"WritableStream.close method can only be used on a being close WritableStream\"));\n return @writableStreamClose(stream);\n})\n"; // writableStreamAbortForBindings const JSC::ConstructAbility s_writableStreamInternalsWritableStreamAbortForBindingsCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_writableStreamInternalsWritableStreamAbortForBindingsCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_writableStreamInternalsWritableStreamAbortForBindingsCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_writableStreamInternalsWritableStreamAbortForBindingsCodeLength = 211; +const int s_writableStreamInternalsWritableStreamAbortForBindingsCodeLength = 253; static const JSC::Intrinsic s_writableStreamInternalsWritableStreamAbortForBindingsCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_writableStreamInternalsWritableStreamAbortForBindingsCode = "(function (d,h){\"use strict\";if(@isWritableStreamLocked(d))return @Promise.@reject(@makeTypeError(\"WritableStream.abort method can only be used on non locked WritableStream\"));return @writableStreamAbort(d,h)})\n"; +const char* const s_writableStreamInternalsWritableStreamAbortForBindingsCode = "(function (stream, reason) {\"use strict\";\n if (@isWritableStreamLocked(stream))\n return @Promise.@reject(@makeTypeError(\"WritableStream.abort method can only be used on non locked WritableStream\"));\n return @writableStreamAbort(stream, reason);\n})\n"; // isWritableStreamLocked const JSC::ConstructAbility s_writableStreamInternalsIsWritableStreamLockedCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_writableStreamInternalsIsWritableStreamLockedCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_writableStreamInternalsIsWritableStreamLockedCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_writableStreamInternalsIsWritableStreamLockedCodeLength = 83; +const int s_writableStreamInternalsIsWritableStreamLockedCodeLength = 102; static const JSC::Intrinsic s_writableStreamInternalsIsWritableStreamLockedCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_writableStreamInternalsIsWritableStreamLockedCode = "(function (i){\"use strict\";return @getByIdDirectPrivate(i,\"writer\")!==@undefined})\n"; +const char* const s_writableStreamInternalsIsWritableStreamLockedCode = "(function (stream) {\"use strict\";\n return @getByIdDirectPrivate(stream, \"writer\") !== @undefined;\n})\n"; // setUpWritableStreamDefaultWriter const JSC::ConstructAbility s_writableStreamInternalsSetUpWritableStreamDefaultWriterCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_writableStreamInternalsSetUpWritableStreamDefaultWriterCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_writableStreamInternalsSetUpWritableStreamDefaultWriterCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_writableStreamInternalsSetUpWritableStreamDefaultWriterCodeLength = 878; +const int s_writableStreamInternalsSetUpWritableStreamDefaultWriterCodeLength = 1442; static const JSC::Intrinsic s_writableStreamInternalsSetUpWritableStreamDefaultWriterCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_writableStreamInternalsSetUpWritableStreamDefaultWriterCode = "(function (g,n){\"use strict\";if(@isWritableStreamLocked(n))@throwTypeError(\"WritableStream is locked\");@putByIdDirectPrivate(g,\"stream\",n),@putByIdDirectPrivate(n,\"writer\",g);const B=@newPromiseCapability(@Promise),h=@newPromiseCapability(@Promise);@putByIdDirectPrivate(g,\"readyPromise\",B),@putByIdDirectPrivate(g,\"closedPromise\",h);const k=@getByIdDirectPrivate(n,\"state\");if(k===\"writable\"){if(@writableStreamCloseQueuedOrInFlight(n)||!@getByIdDirectPrivate(n,\"backpressure\"))B.resolve.@call()}else if(k===\"erroring\")B.reject.@call(@undefined,@getByIdDirectPrivate(n,\"storedError\")),@markPromiseAsHandled(B.promise);else if(k===\"closed\")B.resolve.@call(),h.resolve.@call();else{@assert(k===\"errored\");const u=@getByIdDirectPrivate(n,\"storedError\");B.reject.@call(@undefined,u),@markPromiseAsHandled(B.promise),h.reject.@call(@undefined,u),@markPromiseAsHandled(h.promise)}})\n"; +const char* const s_writableStreamInternalsSetUpWritableStreamDefaultWriterCode = "(function (writer, stream) {\"use strict\";\n if (@isWritableStreamLocked(stream))\n @throwTypeError(\"WritableStream is locked\");\n @putByIdDirectPrivate(writer, \"stream\", stream);\n @putByIdDirectPrivate(stream, \"writer\", writer);\n const readyPromiseCapability = @newPromiseCapability(@Promise);\n const closedPromiseCapability = @newPromiseCapability(@Promise);\n @putByIdDirectPrivate(writer, \"readyPromise\", readyPromiseCapability);\n @putByIdDirectPrivate(writer, \"closedPromise\", closedPromiseCapability);\n const state = @getByIdDirectPrivate(stream, \"state\");\n if (state === \"writable\") {\n if (@writableStreamCloseQueuedOrInFlight(stream) || !@getByIdDirectPrivate(stream, \"backpressure\"))\n readyPromiseCapability.resolve.@call();\n } else if (state === \"erroring\") {\n readyPromiseCapability.reject.@call(@undefined, @getByIdDirectPrivate(stream, \"storedError\"));\n @markPromiseAsHandled(readyPromiseCapability.promise);\n } else if (state === \"closed\") {\n readyPromiseCapability.resolve.@call();\n closedPromiseCapability.resolve.@call();\n } else {\n @assert(state === \"errored\");\n const storedError = @getByIdDirectPrivate(stream, \"storedError\");\n readyPromiseCapability.reject.@call(@undefined, storedError);\n @markPromiseAsHandled(readyPromiseCapability.promise);\n closedPromiseCapability.reject.@call(@undefined, storedError);\n @markPromiseAsHandled(closedPromiseCapability.promise);\n }\n})\n"; // writableStreamAbort const JSC::ConstructAbility s_writableStreamInternalsWritableStreamAbortCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_writableStreamInternalsWritableStreamAbortCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_writableStreamInternalsWritableStreamAbortCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_writableStreamInternalsWritableStreamAbortCodeLength = 499; +const int s_writableStreamInternalsWritableStreamAbortCodeLength = 856; static const JSC::Intrinsic s_writableStreamInternalsWritableStreamAbortCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_writableStreamInternalsWritableStreamAbortCode = "(function (h,B){\"use strict\";const c=@getByIdDirectPrivate(h,\"state\");if(c===\"closed\"||c===\"errored\")return @Promise.@resolve();const f=@getByIdDirectPrivate(h,\"pendingAbortRequest\");if(f!==@undefined)return f.promise.promise;@assert(c===\"writable\"||c===\"erroring\");let _=!1;if(c===\"erroring\")_=!0,B=@undefined;const j=@newPromiseCapability(@Promise);if(@putByIdDirectPrivate(h,\"pendingAbortRequest\",{promise:j,reason:B,wasAlreadyErroring:_}),!_)@writableStreamStartErroring(h,B);return j.promise})\n"; +const char* const s_writableStreamInternalsWritableStreamAbortCode = "(function (stream, reason) {\"use strict\";\n const state = @getByIdDirectPrivate(stream, \"state\");\n if (state === \"closed\" || state === \"errored\")\n return @Promise.@resolve();\n const pendingAbortRequest = @getByIdDirectPrivate(stream, \"pendingAbortRequest\");\n if (pendingAbortRequest !== @undefined)\n return pendingAbortRequest.promise.promise;\n @assert(state === \"writable\" || state === \"erroring\");\n let wasAlreadyErroring = false;\n if (state === \"erroring\") {\n wasAlreadyErroring = true;\n reason = @undefined;\n }\n const abortPromiseCapability = @newPromiseCapability(@Promise);\n @putByIdDirectPrivate(stream, \"pendingAbortRequest\", {\n promise: abortPromiseCapability,\n reason,\n wasAlreadyErroring\n });\n if (!wasAlreadyErroring)\n @writableStreamStartErroring(stream, reason);\n return abortPromiseCapability.promise;\n})\n"; // writableStreamClose const JSC::ConstructAbility s_writableStreamInternalsWritableStreamCloseCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_writableStreamInternalsWritableStreamCloseCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_writableStreamInternalsWritableStreamCloseCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_writableStreamInternalsWritableStreamCloseCodeLength = 640; +const int s_writableStreamInternalsWritableStreamCloseCodeLength = 855; static const JSC::Intrinsic s_writableStreamInternalsWritableStreamCloseCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_writableStreamInternalsWritableStreamCloseCode = "(function (n){\"use strict\";const _=@getByIdDirectPrivate(n,\"state\");if(_===\"closed\"||_===\"errored\")return @Promise.@reject(@makeTypeError(\"Cannot close a writable stream that is closed or errored\"));@assert(_===\"writable\"||_===\"erroring\"),@assert(!@writableStreamCloseQueuedOrInFlight(n));const d=@newPromiseCapability(@Promise);@putByIdDirectPrivate(n,\"closeRequest\",d);const h=@getByIdDirectPrivate(n,\"writer\");if(h!==@undefined&&@getByIdDirectPrivate(n,\"backpressure\")&&_===\"writable\")@getByIdDirectPrivate(h,\"readyPromise\").resolve.@call();return @writableStreamDefaultControllerClose(@getByIdDirectPrivate(n,\"controller\")),d.promise})\n"; +const char* const s_writableStreamInternalsWritableStreamCloseCode = "(function (stream) {\"use strict\";\n const state = @getByIdDirectPrivate(stream, \"state\");\n if (state === \"closed\" || state === \"errored\")\n return @Promise.@reject(@makeTypeError(\"Cannot close a writable stream that is closed or errored\"));\n @assert(state === \"writable\" || state === \"erroring\");\n @assert(!@writableStreamCloseQueuedOrInFlight(stream));\n const closePromiseCapability = @newPromiseCapability(@Promise);\n @putByIdDirectPrivate(stream, \"closeRequest\", closePromiseCapability);\n const writer = @getByIdDirectPrivate(stream, \"writer\");\n if (writer !== @undefined && @getByIdDirectPrivate(stream, \"backpressure\") && state === \"writable\")\n @getByIdDirectPrivate(writer, \"readyPromise\").resolve.@call();\n @writableStreamDefaultControllerClose(@getByIdDirectPrivate(stream, \"controller\"));\n return closePromiseCapability.promise;\n})\n"; // writableStreamAddWriteRequest const JSC::ConstructAbility s_writableStreamInternalsWritableStreamAddWriteRequestCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_writableStreamInternalsWritableStreamAddWriteRequestCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_writableStreamInternalsWritableStreamAddWriteRequestCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_writableStreamInternalsWritableStreamAddWriteRequestCodeLength = 226; +const int s_writableStreamInternalsWritableStreamAddWriteRequestCodeLength = 372; static const JSC::Intrinsic s_writableStreamInternalsWritableStreamAddWriteRequestCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_writableStreamInternalsWritableStreamAddWriteRequestCode = "(function (c){\"use strict\";@assert(@isWritableStreamLocked(c)),@assert(@getByIdDirectPrivate(c,\"state\")===\"writable\");const _=@newPromiseCapability(@Promise);return @getByIdDirectPrivate(c,\"writeRequests\").push(_),_.promise})\n"; +const char* const s_writableStreamInternalsWritableStreamAddWriteRequestCode = "(function (stream) {\"use strict\";\n @assert(@isWritableStreamLocked(stream));\n @assert(@getByIdDirectPrivate(stream, \"state\") === \"writable\");\n const writePromiseCapability = @newPromiseCapability(@Promise);\n const writeRequests = @getByIdDirectPrivate(stream, \"writeRequests\");\n writeRequests.push(writePromiseCapability);\n return writePromiseCapability.promise;\n})\n"; // writableStreamCloseQueuedOrInFlight const JSC::ConstructAbility s_writableStreamInternalsWritableStreamCloseQueuedOrInFlightCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_writableStreamInternalsWritableStreamCloseQueuedOrInFlightCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_writableStreamInternalsWritableStreamCloseQueuedOrInFlightCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_writableStreamInternalsWritableStreamCloseQueuedOrInFlightCodeLength = 151; +const int s_writableStreamInternalsWritableStreamCloseQueuedOrInFlightCodeLength = 180; static const JSC::Intrinsic s_writableStreamInternalsWritableStreamCloseQueuedOrInFlightCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_writableStreamInternalsWritableStreamCloseQueuedOrInFlightCode = "(function (i){\"use strict\";return @getByIdDirectPrivate(i,\"closeRequest\")!==@undefined||@getByIdDirectPrivate(i,\"inFlightCloseRequest\")!==@undefined})\n"; +const char* const s_writableStreamInternalsWritableStreamCloseQueuedOrInFlightCode = "(function (stream) {\"use strict\";\n return @getByIdDirectPrivate(stream, \"closeRequest\") !== @undefined || @getByIdDirectPrivate(stream, \"inFlightCloseRequest\") !== @undefined;\n})\n"; // writableStreamDealWithRejection const JSC::ConstructAbility s_writableStreamInternalsWritableStreamDealWithRejectionCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_writableStreamInternalsWritableStreamDealWithRejectionCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_writableStreamInternalsWritableStreamDealWithRejectionCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_writableStreamInternalsWritableStreamDealWithRejectionCodeLength = 189; +const int s_writableStreamInternalsWritableStreamDealWithRejectionCodeLength = 269; static const JSC::Intrinsic s_writableStreamInternalsWritableStreamDealWithRejectionCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_writableStreamInternalsWritableStreamDealWithRejectionCode = "(function (i,c){\"use strict\";const n=@getByIdDirectPrivate(i,\"state\");if(n===\"writable\"){@writableStreamStartErroring(i,c);return}@assert(n===\"erroring\"),@writableStreamFinishErroring(i)})\n"; +const char* const s_writableStreamInternalsWritableStreamDealWithRejectionCode = "(function (stream, error) {\"use strict\";\n const state = @getByIdDirectPrivate(stream, \"state\");\n if (state === \"writable\") {\n @writableStreamStartErroring(stream, error);\n return;\n }\n @assert(state === \"erroring\");\n @writableStreamFinishErroring(stream);\n})\n"; // writableStreamFinishErroring const JSC::ConstructAbility s_writableStreamInternalsWritableStreamFinishErroringCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_writableStreamInternalsWritableStreamFinishErroringCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_writableStreamInternalsWritableStreamFinishErroringCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_writableStreamInternalsWritableStreamFinishErroringCodeLength = 1054; +const int s_writableStreamInternalsWritableStreamFinishErroringCodeLength = 1474; static const JSC::Intrinsic s_writableStreamInternalsWritableStreamFinishErroringCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_writableStreamInternalsWritableStreamFinishErroringCode = "(function (i){\"use strict\";@assert(@getByIdDirectPrivate(i,\"state\")===\"erroring\"),@assert(!@writableStreamHasOperationMarkedInFlight(i)),@putByIdDirectPrivate(i,\"state\",\"errored\");const d=@getByIdDirectPrivate(i,\"controller\");@getByIdDirectPrivate(d,\"errorSteps\").@call();const h=@getByIdDirectPrivate(i,\"storedError\"),j=@getByIdDirectPrivate(i,\"writeRequests\");for(var f=j.shift();f;f=j.shift())f.reject.@call(@undefined,h);@putByIdDirectPrivate(i,\"writeRequests\",@createFIFO());const _=@getByIdDirectPrivate(i,\"pendingAbortRequest\");if(_===@undefined){@writableStreamRejectCloseAndClosedPromiseIfNeeded(i);return}if(@putByIdDirectPrivate(i,\"pendingAbortRequest\",@undefined),_.wasAlreadyErroring){_.promise.reject.@call(@undefined,h),@writableStreamRejectCloseAndClosedPromiseIfNeeded(i);return}@getByIdDirectPrivate(d,\"abortSteps\").@call(@undefined,_.reason).@then(()=>{_.promise.resolve.@call(),@writableStreamRejectCloseAndClosedPromiseIfNeeded(i)},(v)=>{_.promise.reject.@call(@undefined,v),@writableStreamRejectCloseAndClosedPromiseIfNeeded(i)})})\n"; +const char* const s_writableStreamInternalsWritableStreamFinishErroringCode = "(function (stream) {\"use strict\";\n @assert(@getByIdDirectPrivate(stream, \"state\") === \"erroring\");\n @assert(!@writableStreamHasOperationMarkedInFlight(stream));\n @putByIdDirectPrivate(stream, \"state\", \"errored\");\n const controller = @getByIdDirectPrivate(stream, \"controller\");\n @getByIdDirectPrivate(controller, \"errorSteps\").@call();\n const storedError = @getByIdDirectPrivate(stream, \"storedError\");\n const requests = @getByIdDirectPrivate(stream, \"writeRequests\");\n for (var request = requests.shift();request; request = requests.shift())\n request.reject.@call(@undefined, storedError);\n @putByIdDirectPrivate(stream, \"writeRequests\", @createFIFO());\n const abortRequest = @getByIdDirectPrivate(stream, \"pendingAbortRequest\");\n if (abortRequest === @undefined) {\n @writableStreamRejectCloseAndClosedPromiseIfNeeded(stream);\n return;\n }\n @putByIdDirectPrivate(stream, \"pendingAbortRequest\", @undefined);\n if (abortRequest.wasAlreadyErroring) {\n abortRequest.promise.reject.@call(@undefined, storedError);\n @writableStreamRejectCloseAndClosedPromiseIfNeeded(stream);\n return;\n }\n @getByIdDirectPrivate(controller, \"abortSteps\").@call(@undefined, abortRequest.reason).@then(() => {\n abortRequest.promise.resolve.@call();\n @writableStreamRejectCloseAndClosedPromiseIfNeeded(stream);\n }, (reason) => {\n abortRequest.promise.reject.@call(@undefined, reason);\n @writableStreamRejectCloseAndClosedPromiseIfNeeded(stream);\n });\n})\n"; // writableStreamFinishInFlightClose const JSC::ConstructAbility s_writableStreamInternalsWritableStreamFinishInFlightCloseCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_writableStreamInternalsWritableStreamFinishInFlightCloseCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_writableStreamInternalsWritableStreamFinishInFlightCloseCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_writableStreamInternalsWritableStreamFinishInFlightCloseCodeLength = 748; +const int s_writableStreamInternalsWritableStreamFinishInFlightCloseCodeLength = 1040; static const JSC::Intrinsic s_writableStreamInternalsWritableStreamFinishInFlightCloseCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_writableStreamInternalsWritableStreamFinishInFlightCloseCode = "(function (_){\"use strict\";@getByIdDirectPrivate(_,\"inFlightCloseRequest\").resolve.@call(),@putByIdDirectPrivate(_,\"inFlightCloseRequest\",@undefined);const d=@getByIdDirectPrivate(_,\"state\");if(@assert(d===\"writable\"||d===\"erroring\"),d===\"erroring\"){@putByIdDirectPrivate(_,\"storedError\",@undefined);const n=@getByIdDirectPrivate(_,\"pendingAbortRequest\");if(n!==@undefined)n.promise.resolve.@call(),@putByIdDirectPrivate(_,\"pendingAbortRequest\",@undefined)}@putByIdDirectPrivate(_,\"state\",\"closed\");const i=@getByIdDirectPrivate(_,\"writer\");if(i!==@undefined)@getByIdDirectPrivate(i,\"closedPromise\").resolve.@call();@assert(@getByIdDirectPrivate(_,\"pendingAbortRequest\")===@undefined),@assert(@getByIdDirectPrivate(_,\"storedError\")===@undefined)})\n"; +const char* const s_writableStreamInternalsWritableStreamFinishInFlightCloseCode = "(function (stream) {\"use strict\";\n const inFlightCloseRequest = @getByIdDirectPrivate(stream, \"inFlightCloseRequest\");\n inFlightCloseRequest.resolve.@call();\n @putByIdDirectPrivate(stream, \"inFlightCloseRequest\", @undefined);\n const state = @getByIdDirectPrivate(stream, \"state\");\n @assert(state === \"writable\" || state === \"erroring\");\n if (state === \"erroring\") {\n @putByIdDirectPrivate(stream, \"storedError\", @undefined);\n const abortRequest = @getByIdDirectPrivate(stream, \"pendingAbortRequest\");\n if (abortRequest !== @undefined) {\n abortRequest.promise.resolve.@call();\n @putByIdDirectPrivate(stream, \"pendingAbortRequest\", @undefined);\n }\n }\n @putByIdDirectPrivate(stream, \"state\", \"closed\");\n const writer = @getByIdDirectPrivate(stream, \"writer\");\n if (writer !== @undefined)\n @getByIdDirectPrivate(writer, \"closedPromise\").resolve.@call();\n @assert(@getByIdDirectPrivate(stream, \"pendingAbortRequest\") === @undefined);\n @assert(@getByIdDirectPrivate(stream, \"storedError\") === @undefined);\n})\n"; // writableStreamFinishInFlightCloseWithError const JSC::ConstructAbility s_writableStreamInternalsWritableStreamFinishInFlightCloseWithErrorCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_writableStreamInternalsWritableStreamFinishInFlightCloseWithErrorCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_writableStreamInternalsWritableStreamFinishInFlightCloseWithErrorCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_writableStreamInternalsWritableStreamFinishInFlightCloseWithErrorCodeLength = 486; +const int s_writableStreamInternalsWritableStreamFinishInFlightCloseWithErrorCodeLength = 713; static const JSC::Intrinsic s_writableStreamInternalsWritableStreamFinishInFlightCloseWithErrorCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_writableStreamInternalsWritableStreamFinishInFlightCloseWithErrorCode = "(function (c,d){\"use strict\";const p=@getByIdDirectPrivate(c,\"inFlightCloseRequest\");@assert(p!==@undefined),p.reject.@call(@undefined,d),@putByIdDirectPrivate(c,\"inFlightCloseRequest\",@undefined);const _=@getByIdDirectPrivate(c,\"state\");@assert(_===\"writable\"||_===\"erroring\");const f=@getByIdDirectPrivate(c,\"pendingAbortRequest\");if(f!==@undefined)f.promise.reject.@call(@undefined,d),@putByIdDirectPrivate(c,\"pendingAbortRequest\",@undefined);@writableStreamDealWithRejection(c,d)})\n"; +const char* const s_writableStreamInternalsWritableStreamFinishInFlightCloseWithErrorCode = "(function (stream, error) {\"use strict\";\n const inFlightCloseRequest = @getByIdDirectPrivate(stream, \"inFlightCloseRequest\");\n @assert(inFlightCloseRequest !== @undefined);\n inFlightCloseRequest.reject.@call(@undefined, error);\n @putByIdDirectPrivate(stream, \"inFlightCloseRequest\", @undefined);\n const state = @getByIdDirectPrivate(stream, \"state\");\n @assert(state === \"writable\" || state === \"erroring\");\n const abortRequest = @getByIdDirectPrivate(stream, \"pendingAbortRequest\");\n if (abortRequest !== @undefined) {\n abortRequest.promise.reject.@call(@undefined, error);\n @putByIdDirectPrivate(stream, \"pendingAbortRequest\", @undefined);\n }\n @writableStreamDealWithRejection(stream, error);\n})\n"; // writableStreamFinishInFlightWrite const JSC::ConstructAbility s_writableStreamInternalsWritableStreamFinishInFlightWriteCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_writableStreamInternalsWritableStreamFinishInFlightWriteCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_writableStreamInternalsWritableStreamFinishInFlightWriteCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_writableStreamInternalsWritableStreamFinishInFlightWriteCodeLength = 186; +const int s_writableStreamInternalsWritableStreamFinishInFlightWriteCodeLength = 280; static const JSC::Intrinsic s_writableStreamInternalsWritableStreamFinishInFlightWriteCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_writableStreamInternalsWritableStreamFinishInFlightWriteCode = "(function (d){\"use strict\";const b=@getByIdDirectPrivate(d,\"inFlightWriteRequest\");@assert(b!==@undefined),b.resolve.@call(),@putByIdDirectPrivate(d,\"inFlightWriteRequest\",@undefined)})\n"; +const char* const s_writableStreamInternalsWritableStreamFinishInFlightWriteCode = "(function (stream) {\"use strict\";\n const inFlightWriteRequest = @getByIdDirectPrivate(stream, \"inFlightWriteRequest\");\n @assert(inFlightWriteRequest !== @undefined);\n inFlightWriteRequest.resolve.@call();\n @putByIdDirectPrivate(stream, \"inFlightWriteRequest\", @undefined);\n})\n"; // writableStreamFinishInFlightWriteWithError const JSC::ConstructAbility s_writableStreamInternalsWritableStreamFinishInFlightWriteWithErrorCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_writableStreamInternalsWritableStreamFinishInFlightWriteWithErrorCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_writableStreamInternalsWritableStreamFinishInFlightWriteWithErrorCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_writableStreamInternalsWritableStreamFinishInFlightWriteWithErrorCodeLength = 318; +const int s_writableStreamInternalsWritableStreamFinishInFlightWriteWithErrorCodeLength = 467; static const JSC::Intrinsic s_writableStreamInternalsWritableStreamFinishInFlightWriteWithErrorCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_writableStreamInternalsWritableStreamFinishInFlightWriteWithErrorCode = "(function (c,b){\"use strict\";const d=@getByIdDirectPrivate(c,\"inFlightWriteRequest\");@assert(d!==@undefined),d.reject.@call(@undefined,b),@putByIdDirectPrivate(c,\"inFlightWriteRequest\",@undefined);const f=@getByIdDirectPrivate(c,\"state\");@assert(f===\"writable\"||f===\"erroring\"),@writableStreamDealWithRejection(c,b)})\n"; +const char* const s_writableStreamInternalsWritableStreamFinishInFlightWriteWithErrorCode = "(function (stream, error) {\"use strict\";\n const inFlightWriteRequest = @getByIdDirectPrivate(stream, \"inFlightWriteRequest\");\n @assert(inFlightWriteRequest !== @undefined);\n inFlightWriteRequest.reject.@call(@undefined, error);\n @putByIdDirectPrivate(stream, \"inFlightWriteRequest\", @undefined);\n const state = @getByIdDirectPrivate(stream, \"state\");\n @assert(state === \"writable\" || state === \"erroring\");\n @writableStreamDealWithRejection(stream, error);\n})\n"; // writableStreamHasOperationMarkedInFlight const JSC::ConstructAbility s_writableStreamInternalsWritableStreamHasOperationMarkedInFlightCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_writableStreamInternalsWritableStreamHasOperationMarkedInFlightCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_writableStreamInternalsWritableStreamHasOperationMarkedInFlightCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_writableStreamInternalsWritableStreamHasOperationMarkedInFlightCodeLength = 159; +const int s_writableStreamInternalsWritableStreamHasOperationMarkedInFlightCodeLength = 188; static const JSC::Intrinsic s_writableStreamInternalsWritableStreamHasOperationMarkedInFlightCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_writableStreamInternalsWritableStreamHasOperationMarkedInFlightCode = "(function (n){\"use strict\";return @getByIdDirectPrivate(n,\"inFlightWriteRequest\")!==@undefined||@getByIdDirectPrivate(n,\"inFlightCloseRequest\")!==@undefined})\n"; +const char* const s_writableStreamInternalsWritableStreamHasOperationMarkedInFlightCode = "(function (stream) {\"use strict\";\n return @getByIdDirectPrivate(stream, \"inFlightWriteRequest\") !== @undefined || @getByIdDirectPrivate(stream, \"inFlightCloseRequest\") !== @undefined;\n})\n"; // writableStreamMarkCloseRequestInFlight const JSC::ConstructAbility s_writableStreamInternalsWritableStreamMarkCloseRequestInFlightCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_writableStreamInternalsWritableStreamMarkCloseRequestInFlightCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_writableStreamInternalsWritableStreamMarkCloseRequestInFlightCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_writableStreamInternalsWritableStreamMarkCloseRequestInFlightCodeLength = 272; +const int s_writableStreamInternalsWritableStreamMarkCloseRequestInFlightCodeLength = 360; static const JSC::Intrinsic s_writableStreamInternalsWritableStreamMarkCloseRequestInFlightCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_writableStreamInternalsWritableStreamMarkCloseRequestInFlightCode = "(function (i){\"use strict\";const d=@getByIdDirectPrivate(i,\"closeRequest\");@assert(@getByIdDirectPrivate(i,\"inFlightCloseRequest\")===@undefined),@assert(d!==@undefined),@putByIdDirectPrivate(i,\"inFlightCloseRequest\",d),@putByIdDirectPrivate(i,\"closeRequest\",@undefined)})\n"; +const char* const s_writableStreamInternalsWritableStreamMarkCloseRequestInFlightCode = "(function (stream) {\"use strict\";\n const closeRequest = @getByIdDirectPrivate(stream, \"closeRequest\");\n @assert(@getByIdDirectPrivate(stream, \"inFlightCloseRequest\") === @undefined);\n @assert(closeRequest !== @undefined);\n @putByIdDirectPrivate(stream, \"inFlightCloseRequest\", closeRequest);\n @putByIdDirectPrivate(stream, \"closeRequest\", @undefined);\n})\n"; // writableStreamMarkFirstWriteRequestInFlight const JSC::ConstructAbility s_writableStreamInternalsWritableStreamMarkFirstWriteRequestInFlightCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_writableStreamInternalsWritableStreamMarkFirstWriteRequestInFlightCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_writableStreamInternalsWritableStreamMarkFirstWriteRequestInFlightCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_writableStreamInternalsWritableStreamMarkFirstWriteRequestInFlightCodeLength = 240; +const int s_writableStreamInternalsWritableStreamMarkFirstWriteRequestInFlightCodeLength = 346; static const JSC::Intrinsic s_writableStreamInternalsWritableStreamMarkFirstWriteRequestInFlightCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_writableStreamInternalsWritableStreamMarkFirstWriteRequestInFlightCode = "(function (c){\"use strict\";const d=@getByIdDirectPrivate(c,\"writeRequests\");@assert(@getByIdDirectPrivate(c,\"inFlightWriteRequest\")===@undefined),@assert(d.isNotEmpty());const h=d.shift();@putByIdDirectPrivate(c,\"inFlightWriteRequest\",h)})\n"; +const char* const s_writableStreamInternalsWritableStreamMarkFirstWriteRequestInFlightCode = "(function (stream) {\"use strict\";\n const writeRequests = @getByIdDirectPrivate(stream, \"writeRequests\");\n @assert(@getByIdDirectPrivate(stream, \"inFlightWriteRequest\") === @undefined);\n @assert(writeRequests.isNotEmpty());\n const writeRequest = writeRequests.shift();\n @putByIdDirectPrivate(stream, \"inFlightWriteRequest\", writeRequest);\n})\n"; // writableStreamRejectCloseAndClosedPromiseIfNeeded const JSC::ConstructAbility s_writableStreamInternalsWritableStreamRejectCloseAndClosedPromiseIfNeededCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_writableStreamInternalsWritableStreamRejectCloseAndClosedPromiseIfNeededCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_writableStreamInternalsWritableStreamRejectCloseAndClosedPromiseIfNeededCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_writableStreamInternalsWritableStreamRejectCloseAndClosedPromiseIfNeededCodeLength = 513; +const int s_writableStreamInternalsWritableStreamRejectCloseAndClosedPromiseIfNeededCodeLength = 757; static const JSC::Intrinsic s_writableStreamInternalsWritableStreamRejectCloseAndClosedPromiseIfNeededCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_writableStreamInternalsWritableStreamRejectCloseAndClosedPromiseIfNeededCode = "(function (n){\"use strict\";@assert(@getByIdDirectPrivate(n,\"state\")===\"errored\");const _=@getByIdDirectPrivate(n,\"storedError\"),h=@getByIdDirectPrivate(n,\"closeRequest\");if(h!==@undefined)@assert(@getByIdDirectPrivate(n,\"inFlightCloseRequest\")===@undefined),h.reject.@call(@undefined,_),@putByIdDirectPrivate(n,\"closeRequest\",@undefined);const i=@getByIdDirectPrivate(n,\"writer\");if(i!==@undefined){const p=@getByIdDirectPrivate(i,\"closedPromise\");p.reject.@call(@undefined,_),@markPromiseAsHandled(p.promise)}})\n"; +const char* const s_writableStreamInternalsWritableStreamRejectCloseAndClosedPromiseIfNeededCode = "(function (stream) {\"use strict\";\n @assert(@getByIdDirectPrivate(stream, \"state\") === \"errored\");\n const storedError = @getByIdDirectPrivate(stream, \"storedError\");\n const closeRequest = @getByIdDirectPrivate(stream, \"closeRequest\");\n if (closeRequest !== @undefined) {\n @assert(@getByIdDirectPrivate(stream, \"inFlightCloseRequest\") === @undefined);\n closeRequest.reject.@call(@undefined, storedError);\n @putByIdDirectPrivate(stream, \"closeRequest\", @undefined);\n }\n const writer = @getByIdDirectPrivate(stream, \"writer\");\n if (writer !== @undefined) {\n const closedPromise = @getByIdDirectPrivate(writer, \"closedPromise\");\n closedPromise.reject.@call(@undefined, storedError);\n @markPromiseAsHandled(closedPromise.promise);\n }\n})\n"; // writableStreamStartErroring const JSC::ConstructAbility s_writableStreamInternalsWritableStreamStartErroringCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_writableStreamInternalsWritableStreamStartErroringCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_writableStreamInternalsWritableStreamStartErroringCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_writableStreamInternalsWritableStreamStartErroringCodeLength = 544; +const int s_writableStreamInternalsWritableStreamStartErroringCodeLength = 715; static const JSC::Intrinsic s_writableStreamInternalsWritableStreamStartErroringCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_writableStreamInternalsWritableStreamStartErroringCode = "(function (i,_){\"use strict\";@assert(@getByIdDirectPrivate(i,\"storedError\")===@undefined),@assert(@getByIdDirectPrivate(i,\"state\")===\"writable\");const d=@getByIdDirectPrivate(i,\"controller\");@assert(d!==@undefined),@putByIdDirectPrivate(i,\"state\",\"erroring\"),@putByIdDirectPrivate(i,\"storedError\",_);const h=@getByIdDirectPrivate(i,\"writer\");if(h!==@undefined)@writableStreamDefaultWriterEnsureReadyPromiseRejected(h,_);if(!@writableStreamHasOperationMarkedInFlight(i)&&@getByIdDirectPrivate(d,\"started\")===1)@writableStreamFinishErroring(i)})\n"; +const char* const s_writableStreamInternalsWritableStreamStartErroringCode = "(function (stream, reason) {\"use strict\";\n @assert(@getByIdDirectPrivate(stream, \"storedError\") === @undefined);\n @assert(@getByIdDirectPrivate(stream, \"state\") === \"writable\");\n const controller = @getByIdDirectPrivate(stream, \"controller\");\n @assert(controller !== @undefined);\n @putByIdDirectPrivate(stream, \"state\", \"erroring\");\n @putByIdDirectPrivate(stream, \"storedError\", reason);\n const writer = @getByIdDirectPrivate(stream, \"writer\");\n if (writer !== @undefined)\n @writableStreamDefaultWriterEnsureReadyPromiseRejected(writer, reason);\n if (!@writableStreamHasOperationMarkedInFlight(stream) && @getByIdDirectPrivate(controller, \"started\") === 1)\n @writableStreamFinishErroring(stream);\n})\n"; // writableStreamUpdateBackpressure const JSC::ConstructAbility s_writableStreamInternalsWritableStreamUpdateBackpressureCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_writableStreamInternalsWritableStreamUpdateBackpressureCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_writableStreamInternalsWritableStreamUpdateBackpressureCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_writableStreamInternalsWritableStreamUpdateBackpressureCodeLength = 421; +const int s_writableStreamInternalsWritableStreamUpdateBackpressureCodeLength = 583; static const JSC::Intrinsic s_writableStreamInternalsWritableStreamUpdateBackpressureCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_writableStreamInternalsWritableStreamUpdateBackpressureCode = "(function (n,_){\"use strict\";@assert(@getByIdDirectPrivate(n,\"state\")===\"writable\"),@assert(!@writableStreamCloseQueuedOrInFlight(n));const d=@getByIdDirectPrivate(n,\"writer\");if(d!==@undefined&&_!==@getByIdDirectPrivate(n,\"backpressure\"))if(_)@putByIdDirectPrivate(d,\"readyPromise\",@newPromiseCapability(@Promise));else @getByIdDirectPrivate(d,\"readyPromise\").resolve.@call();@putByIdDirectPrivate(n,\"backpressure\",_)})\n"; +const char* const s_writableStreamInternalsWritableStreamUpdateBackpressureCode = "(function (stream, backpressure) {\"use strict\";\n @assert(@getByIdDirectPrivate(stream, \"state\") === \"writable\");\n @assert(!@writableStreamCloseQueuedOrInFlight(stream));\n const writer = @getByIdDirectPrivate(stream, \"writer\");\n if (writer !== @undefined && backpressure !== @getByIdDirectPrivate(stream, \"backpressure\")) {\n if (backpressure)\n @putByIdDirectPrivate(writer, \"readyPromise\", @newPromiseCapability(@Promise));\n else\n @getByIdDirectPrivate(writer, \"readyPromise\").resolve.@call();\n }\n @putByIdDirectPrivate(stream, \"backpressure\", backpressure);\n})\n"; // writableStreamDefaultWriterAbort const JSC::ConstructAbility s_writableStreamInternalsWritableStreamDefaultWriterAbortCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_writableStreamInternalsWritableStreamDefaultWriterAbortCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_writableStreamInternalsWritableStreamDefaultWriterAbortCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_writableStreamInternalsWritableStreamDefaultWriterAbortCodeLength = 130; +const int s_writableStreamInternalsWritableStreamDefaultWriterAbortCodeLength = 184; static const JSC::Intrinsic s_writableStreamInternalsWritableStreamDefaultWriterAbortCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_writableStreamInternalsWritableStreamDefaultWriterAbortCode = "(function (d,f){\"use strict\";const c=@getByIdDirectPrivate(d,\"stream\");return @assert(c!==@undefined),@writableStreamAbort(c,f)})\n"; +const char* const s_writableStreamInternalsWritableStreamDefaultWriterAbortCode = "(function (writer, reason) {\"use strict\";\n const stream = @getByIdDirectPrivate(writer, \"stream\");\n @assert(stream !== @undefined);\n return @writableStreamAbort(stream, reason);\n})\n"; // writableStreamDefaultWriterClose const JSC::ConstructAbility s_writableStreamInternalsWritableStreamDefaultWriterCloseCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_writableStreamInternalsWritableStreamDefaultWriterCloseCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_writableStreamInternalsWritableStreamDefaultWriterCloseCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_writableStreamInternalsWritableStreamDefaultWriterCloseCodeLength = 126; +const int s_writableStreamInternalsWritableStreamDefaultWriterCloseCodeLength = 168; static const JSC::Intrinsic s_writableStreamInternalsWritableStreamDefaultWriterCloseCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_writableStreamInternalsWritableStreamDefaultWriterCloseCode = "(function (c){\"use strict\";const _=@getByIdDirectPrivate(c,\"stream\");return @assert(_!==@undefined),@writableStreamClose(_)})\n"; +const char* const s_writableStreamInternalsWritableStreamDefaultWriterCloseCode = "(function (writer) {\"use strict\";\n const stream = @getByIdDirectPrivate(writer, \"stream\");\n @assert(stream !== @undefined);\n return @writableStreamClose(stream);\n})\n"; // writableStreamDefaultWriterCloseWithErrorPropagation const JSC::ConstructAbility s_writableStreamInternalsWritableStreamDefaultWriterCloseWithErrorPropagationCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_writableStreamInternalsWritableStreamDefaultWriterCloseWithErrorPropagationCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_writableStreamInternalsWritableStreamDefaultWriterCloseWithErrorPropagationCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_writableStreamInternalsWritableStreamDefaultWriterCloseWithErrorPropagationCodeLength = 385; +const int s_writableStreamInternalsWritableStreamDefaultWriterCloseWithErrorPropagationCodeLength = 502; static const JSC::Intrinsic s_writableStreamInternalsWritableStreamDefaultWriterCloseWithErrorPropagationCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_writableStreamInternalsWritableStreamDefaultWriterCloseWithErrorPropagationCode = "(function (u){\"use strict\";const c=@getByIdDirectPrivate(u,\"stream\");@assert(c!==@undefined);const l=@getByIdDirectPrivate(c,\"state\");if(@writableStreamCloseQueuedOrInFlight(c)||l===\"closed\")return @Promise.@resolve();if(l===\"errored\")return @Promise.@reject(@getByIdDirectPrivate(c,\"storedError\"));return @assert(l===\"writable\"||l===\"erroring\"),@writableStreamDefaultWriterClose(u)})\n"; +const char* const s_writableStreamInternalsWritableStreamDefaultWriterCloseWithErrorPropagationCode = "(function (writer) {\"use strict\";\n const stream = @getByIdDirectPrivate(writer, \"stream\");\n @assert(stream !== @undefined);\n const state = @getByIdDirectPrivate(stream, \"state\");\n if (@writableStreamCloseQueuedOrInFlight(stream) || state === \"closed\")\n return @Promise.@resolve();\n if (state === \"errored\")\n return @Promise.@reject(@getByIdDirectPrivate(stream, \"storedError\"));\n @assert(state === \"writable\" || state === \"erroring\");\n return @writableStreamDefaultWriterClose(writer);\n})\n"; // writableStreamDefaultWriterEnsureClosedPromiseRejected const JSC::ConstructAbility s_writableStreamInternalsWritableStreamDefaultWriterEnsureClosedPromiseRejectedCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_writableStreamInternalsWritableStreamDefaultWriterEnsureClosedPromiseRejectedCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_writableStreamInternalsWritableStreamDefaultWriterEnsureClosedPromiseRejectedCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_writableStreamInternalsWritableStreamDefaultWriterEnsureClosedPromiseRejectedCodeLength = 326; +const int s_writableStreamInternalsWritableStreamDefaultWriterEnsureClosedPromiseRejectedCodeLength = 591; static const JSC::Intrinsic s_writableStreamInternalsWritableStreamDefaultWriterEnsureClosedPromiseRejectedCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_writableStreamInternalsWritableStreamDefaultWriterEnsureClosedPromiseRejectedCode = "(function (h,n){\"use strict\";let _=@getByIdDirectPrivate(h,\"closedPromise\"),f=_.promise;if((@getPromiseInternalField(f,@promiseFieldFlags)&@promiseStateMask)!==@promiseStatePending)_=@newPromiseCapability(@Promise),f=_.promise,@putByIdDirectPrivate(h,\"closedPromise\",_);_.reject.@call(@undefined,n),@markPromiseAsHandled(f)})\n"; +const char* const s_writableStreamInternalsWritableStreamDefaultWriterEnsureClosedPromiseRejectedCode = "(function (writer, error) {\"use strict\";\n let closedPromiseCapability = @getByIdDirectPrivate(writer, \"closedPromise\");\n let closedPromise = closedPromiseCapability.promise;\n if ((@getPromiseInternalField(closedPromise, @promiseFieldFlags) & @promiseStateMask) !== @promiseStatePending) {\n closedPromiseCapability = @newPromiseCapability(@Promise);\n closedPromise = closedPromiseCapability.promise;\n @putByIdDirectPrivate(writer, \"closedPromise\", closedPromiseCapability);\n }\n closedPromiseCapability.reject.@call(@undefined, error);\n @markPromiseAsHandled(closedPromise);\n})\n"; // writableStreamDefaultWriterEnsureReadyPromiseRejected const JSC::ConstructAbility s_writableStreamInternalsWritableStreamDefaultWriterEnsureReadyPromiseRejectedCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_writableStreamInternalsWritableStreamDefaultWriterEnsureReadyPromiseRejectedCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_writableStreamInternalsWritableStreamDefaultWriterEnsureReadyPromiseRejectedCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_writableStreamInternalsWritableStreamDefaultWriterEnsureReadyPromiseRejectedCodeLength = 324; +const int s_writableStreamInternalsWritableStreamDefaultWriterEnsureReadyPromiseRejectedCodeLength = 579; static const JSC::Intrinsic s_writableStreamInternalsWritableStreamDefaultWriterEnsureReadyPromiseRejectedCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_writableStreamInternalsWritableStreamDefaultWriterEnsureReadyPromiseRejectedCode = "(function (h,n){\"use strict\";let _=@getByIdDirectPrivate(h,\"readyPromise\"),g=_.promise;if((@getPromiseInternalField(g,@promiseFieldFlags)&@promiseStateMask)!==@promiseStatePending)_=@newPromiseCapability(@Promise),g=_.promise,@putByIdDirectPrivate(h,\"readyPromise\",_);_.reject.@call(@undefined,n),@markPromiseAsHandled(g)})\n"; +const char* const s_writableStreamInternalsWritableStreamDefaultWriterEnsureReadyPromiseRejectedCode = "(function (writer, error) {\"use strict\";\n let readyPromiseCapability = @getByIdDirectPrivate(writer, \"readyPromise\");\n let readyPromise = readyPromiseCapability.promise;\n if ((@getPromiseInternalField(readyPromise, @promiseFieldFlags) & @promiseStateMask) !== @promiseStatePending) {\n readyPromiseCapability = @newPromiseCapability(@Promise);\n readyPromise = readyPromiseCapability.promise;\n @putByIdDirectPrivate(writer, \"readyPromise\", readyPromiseCapability);\n }\n readyPromiseCapability.reject.@call(@undefined, error);\n @markPromiseAsHandled(readyPromise);\n})\n"; // writableStreamDefaultWriterGetDesiredSize const JSC::ConstructAbility s_writableStreamInternalsWritableStreamDefaultWriterGetDesiredSizeCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_writableStreamInternalsWritableStreamDefaultWriterGetDesiredSizeCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_writableStreamInternalsWritableStreamDefaultWriterGetDesiredSizeCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_writableStreamInternalsWritableStreamDefaultWriterGetDesiredSizeCodeLength = 299; +const int s_writableStreamInternalsWritableStreamDefaultWriterGetDesiredSizeCodeLength = 395; static const JSC::Intrinsic s_writableStreamInternalsWritableStreamDefaultWriterGetDesiredSizeCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_writableStreamInternalsWritableStreamDefaultWriterGetDesiredSizeCode = "(function (_){\"use strict\";const c=@getByIdDirectPrivate(_,\"stream\");@assert(c!==@undefined);const l=@getByIdDirectPrivate(c,\"state\");if(l===\"errored\"||l===\"erroring\")return null;if(l===\"closed\")return 0;return @writableStreamDefaultControllerGetDesiredSize(@getByIdDirectPrivate(c,\"controller\"))})\n"; +const char* const s_writableStreamInternalsWritableStreamDefaultWriterGetDesiredSizeCode = "(function (writer) {\"use strict\";\n const stream = @getByIdDirectPrivate(writer, \"stream\");\n @assert(stream !== @undefined);\n const state = @getByIdDirectPrivate(stream, \"state\");\n if (state === \"errored\" || state === \"erroring\")\n return null;\n if (state === \"closed\")\n return 0;\n return @writableStreamDefaultControllerGetDesiredSize(@getByIdDirectPrivate(stream, \"controller\"));\n})\n"; // writableStreamDefaultWriterRelease const JSC::ConstructAbility s_writableStreamInternalsWritableStreamDefaultWriterReleaseCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_writableStreamInternalsWritableStreamDefaultWriterReleaseCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_writableStreamInternalsWritableStreamDefaultWriterReleaseCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_writableStreamInternalsWritableStreamDefaultWriterReleaseCodeLength = 414; +const int s_writableStreamInternalsWritableStreamDefaultWriterReleaseCodeLength = 543; static const JSC::Intrinsic s_writableStreamInternalsWritableStreamDefaultWriterReleaseCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_writableStreamInternalsWritableStreamDefaultWriterReleaseCode = "(function (_){\"use strict\";const c=@getByIdDirectPrivate(_,\"stream\");@assert(c!==@undefined),@assert(@getByIdDirectPrivate(c,\"writer\")===_);const h=@makeTypeError(\"writableStreamDefaultWriterRelease\");@writableStreamDefaultWriterEnsureReadyPromiseRejected(_,h),@writableStreamDefaultWriterEnsureClosedPromiseRejected(_,h),@putByIdDirectPrivate(c,\"writer\",@undefined),@putByIdDirectPrivate(_,\"stream\",@undefined)})\n"; +const char* const s_writableStreamInternalsWritableStreamDefaultWriterReleaseCode = "(function (writer) {\"use strict\";\n const stream = @getByIdDirectPrivate(writer, \"stream\");\n @assert(stream !== @undefined);\n @assert(@getByIdDirectPrivate(stream, \"writer\") === writer);\n const releasedError = @makeTypeError(\"writableStreamDefaultWriterRelease\");\n @writableStreamDefaultWriterEnsureReadyPromiseRejected(writer, releasedError);\n @writableStreamDefaultWriterEnsureClosedPromiseRejected(writer, releasedError);\n @putByIdDirectPrivate(stream, \"writer\", @undefined);\n @putByIdDirectPrivate(writer, \"stream\", @undefined);\n})\n"; // writableStreamDefaultWriterWrite const JSC::ConstructAbility s_writableStreamInternalsWritableStreamDefaultWriterWriteCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_writableStreamInternalsWritableStreamDefaultWriterWriteCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_writableStreamInternalsWritableStreamDefaultWriterWriteCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_writableStreamInternalsWritableStreamDefaultWriterWriteCodeLength = 919; +const int s_writableStreamInternalsWritableStreamDefaultWriterWriteCodeLength = 1202; static const JSC::Intrinsic s_writableStreamInternalsWritableStreamDefaultWriterWriteCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_writableStreamInternalsWritableStreamDefaultWriterWriteCode = "(function (W,_){\"use strict\";const d=@getByIdDirectPrivate(W,\"stream\");@assert(d!==@undefined);const P=@getByIdDirectPrivate(d,\"controller\");@assert(P!==@undefined);const b=@writableStreamDefaultControllerGetChunkSize(P,_);if(d!==@getByIdDirectPrivate(W,\"stream\"))return @Promise.@reject(@makeTypeError(\"writer is not stream's writer\"));const g=@getByIdDirectPrivate(d,\"state\");if(g===\"errored\")return @Promise.@reject(@getByIdDirectPrivate(d,\"storedError\"));if(@writableStreamCloseQueuedOrInFlight(d)||g===\"closed\")return @Promise.@reject(@makeTypeError(\"stream is closing or closed\"));if(@writableStreamCloseQueuedOrInFlight(d)||g===\"closed\")return @Promise.@reject(@makeTypeError(\"stream is closing or closed\"));if(g===\"erroring\")return @Promise.@reject(@getByIdDirectPrivate(d,\"storedError\"));@assert(g===\"writable\");const f=@writableStreamAddWriteRequest(d);return @writableStreamDefaultControllerWrite(P,_,b),f})\n"; +const char* const s_writableStreamInternalsWritableStreamDefaultWriterWriteCode = "(function (writer, chunk) {\"use strict\";\n const stream = @getByIdDirectPrivate(writer, \"stream\");\n @assert(stream !== @undefined);\n const controller = @getByIdDirectPrivate(stream, \"controller\");\n @assert(controller !== @undefined);\n const chunkSize = @writableStreamDefaultControllerGetChunkSize(controller, chunk);\n if (stream !== @getByIdDirectPrivate(writer, \"stream\"))\n return @Promise.@reject(@makeTypeError(\"writer is not stream's writer\"));\n const state = @getByIdDirectPrivate(stream, \"state\");\n if (state === \"errored\")\n return @Promise.@reject(@getByIdDirectPrivate(stream, \"storedError\"));\n if (@writableStreamCloseQueuedOrInFlight(stream) || state === \"closed\")\n return @Promise.@reject(@makeTypeError(\"stream is closing or closed\"));\n if (@writableStreamCloseQueuedOrInFlight(stream) || state === \"closed\")\n return @Promise.@reject(@makeTypeError(\"stream is closing or closed\"));\n if (state === \"erroring\")\n return @Promise.@reject(@getByIdDirectPrivate(stream, \"storedError\"));\n @assert(state === \"writable\");\n const promise = @writableStreamAddWriteRequest(stream);\n @writableStreamDefaultControllerWrite(controller, chunk, chunkSize);\n return promise;\n})\n"; // setUpWritableStreamDefaultController const JSC::ConstructAbility s_writableStreamInternalsSetUpWritableStreamDefaultControllerCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_writableStreamInternalsSetUpWritableStreamDefaultControllerCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_writableStreamInternalsSetUpWritableStreamDefaultControllerCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_writableStreamInternalsSetUpWritableStreamDefaultControllerCodeLength = 700; +const int s_writableStreamInternalsSetUpWritableStreamDefaultControllerCodeLength = 1101; static const JSC::Intrinsic s_writableStreamInternalsSetUpWritableStreamDefaultControllerCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_writableStreamInternalsSetUpWritableStreamDefaultControllerCode = "(function (B,_,v,P,U,d,f,j){\"use strict\";@assert(@isWritableStream(B)),@assert(@getByIdDirectPrivate(B,\"controller\")===@undefined),@putByIdDirectPrivate(_,\"stream\",B),@putByIdDirectPrivate(B,\"controller\",_),@resetQueue(@getByIdDirectPrivate(_,\"queue\")),@putByIdDirectPrivate(_,\"started\",-1),@putByIdDirectPrivate(_,\"startAlgorithm\",v),@putByIdDirectPrivate(_,\"strategySizeAlgorithm\",j),@putByIdDirectPrivate(_,\"strategyHWM\",f),@putByIdDirectPrivate(_,\"writeAlgorithm\",P),@putByIdDirectPrivate(_,\"closeAlgorithm\",U),@putByIdDirectPrivate(_,\"abortAlgorithm\",d);const q=@writableStreamDefaultControllerGetBackpressure(_);@writableStreamUpdateBackpressure(B,q),@writableStreamDefaultControllerStart(_)})\n"; +const char* const s_writableStreamInternalsSetUpWritableStreamDefaultControllerCode = "(function (stream, controller, startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm) {\"use strict\";\n @assert(@isWritableStream(stream));\n @assert(@getByIdDirectPrivate(stream, \"controller\") === @undefined);\n @putByIdDirectPrivate(controller, \"stream\", stream);\n @putByIdDirectPrivate(stream, \"controller\", controller);\n @resetQueue(@getByIdDirectPrivate(controller, \"queue\"));\n @putByIdDirectPrivate(controller, \"started\", -1);\n @putByIdDirectPrivate(controller, \"startAlgorithm\", startAlgorithm);\n @putByIdDirectPrivate(controller, \"strategySizeAlgorithm\", sizeAlgorithm);\n @putByIdDirectPrivate(controller, \"strategyHWM\", highWaterMark);\n @putByIdDirectPrivate(controller, \"writeAlgorithm\", writeAlgorithm);\n @putByIdDirectPrivate(controller, \"closeAlgorithm\", closeAlgorithm);\n @putByIdDirectPrivate(controller, \"abortAlgorithm\", abortAlgorithm);\n const backpressure = @writableStreamDefaultControllerGetBackpressure(controller);\n @writableStreamUpdateBackpressure(stream, backpressure);\n @writableStreamDefaultControllerStart(controller);\n})\n"; // writableStreamDefaultControllerStart const JSC::ConstructAbility s_writableStreamInternalsWritableStreamDefaultControllerStartCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_writableStreamInternalsWritableStreamDefaultControllerStartCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_writableStreamInternalsWritableStreamDefaultControllerStartCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_writableStreamInternalsWritableStreamDefaultControllerStartCodeLength = 647; +const int s_writableStreamInternalsWritableStreamDefaultControllerStartCodeLength = 922; static const JSC::Intrinsic s_writableStreamInternalsWritableStreamDefaultControllerStartCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_writableStreamInternalsWritableStreamDefaultControllerStartCode = "(function (i){\"use strict\";if(@getByIdDirectPrivate(i,\"started\")!==-1)return;@putByIdDirectPrivate(i,\"started\",0);const p=@getByIdDirectPrivate(i,\"startAlgorithm\");@putByIdDirectPrivate(i,\"startAlgorithm\",@undefined);const d=@getByIdDirectPrivate(i,\"stream\");return @Promise.@resolve(p.@call()).@then(()=>{const _=@getByIdDirectPrivate(d,\"state\");@assert(_===\"writable\"||_===\"erroring\"),@putByIdDirectPrivate(i,\"started\",1),@writableStreamDefaultControllerAdvanceQueueIfNeeded(i)},(_)=>{const u=@getByIdDirectPrivate(d,\"state\");@assert(u===\"writable\"||u===\"erroring\"),@putByIdDirectPrivate(i,\"started\",1),@writableStreamDealWithRejection(d,_)})})\n"; +const char* const s_writableStreamInternalsWritableStreamDefaultControllerStartCode = "(function (controller) {\"use strict\";\n if (@getByIdDirectPrivate(controller, \"started\") !== -1)\n return;\n @putByIdDirectPrivate(controller, \"started\", 0);\n const startAlgorithm = @getByIdDirectPrivate(controller, \"startAlgorithm\");\n @putByIdDirectPrivate(controller, \"startAlgorithm\", @undefined);\n const stream = @getByIdDirectPrivate(controller, \"stream\");\n return @Promise.@resolve(startAlgorithm.@call()).@then(() => {\n const state = @getByIdDirectPrivate(stream, \"state\");\n @assert(state === \"writable\" || state === \"erroring\");\n @putByIdDirectPrivate(controller, \"started\", 1);\n @writableStreamDefaultControllerAdvanceQueueIfNeeded(controller);\n }, (error) => {\n const state = @getByIdDirectPrivate(stream, \"state\");\n @assert(state === \"writable\" || state === \"erroring\");\n @putByIdDirectPrivate(controller, \"started\", 1);\n @writableStreamDealWithRejection(stream, error);\n });\n})\n"; // setUpWritableStreamDefaultControllerFromUnderlyingSink const JSC::ConstructAbility s_writableStreamInternalsSetUpWritableStreamDefaultControllerFromUnderlyingSinkCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_writableStreamInternalsSetUpWritableStreamDefaultControllerFromUnderlyingSinkCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_writableStreamInternalsSetUpWritableStreamDefaultControllerFromUnderlyingSinkCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_writableStreamInternalsSetUpWritableStreamDefaultControllerFromUnderlyingSinkCodeLength = 561; +const int s_writableStreamInternalsSetUpWritableStreamDefaultControllerFromUnderlyingSinkCodeLength = 1344; static const JSC::Intrinsic s_writableStreamInternalsSetUpWritableStreamDefaultControllerFromUnderlyingSinkCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_writableStreamInternalsSetUpWritableStreamDefaultControllerFromUnderlyingSinkCode = "(function (C,O,_,E,F){\"use strict\";const f=new @WritableStreamDefaultController;let q=()=>{},v=()=>{return @Promise.@resolve()},x=()=>{return @Promise.@resolve()},B=()=>{return @Promise.@resolve()};if(\"start\"in _){const p=_.start;q=()=>@promiseInvokeOrNoopMethodNoCatch(O,p,[f])}if(\"write\"in _){const p=_.write;v=(j)=>@promiseInvokeOrNoopMethod(O,p,[j,f])}if(\"close\"in _){const p=_.close;x=()=>@promiseInvokeOrNoopMethod(O,p,[])}if(\"abort\"in _){const p=_.abort;B=(j)=>@promiseInvokeOrNoopMethod(O,p,[j])}@setUpWritableStreamDefaultController(C,f,q,v,x,B,E,F)})\n"; +const char* const s_writableStreamInternalsSetUpWritableStreamDefaultControllerFromUnderlyingSinkCode = "(function (stream, underlyingSink, underlyingSinkDict, highWaterMark, sizeAlgorithm) {\"use strict\";\n const controller = new @WritableStreamDefaultController;\n let startAlgorithm = () => {\n };\n let writeAlgorithm = () => {\n return @Promise.@resolve();\n };\n let closeAlgorithm = () => {\n return @Promise.@resolve();\n };\n let abortAlgorithm = () => {\n return @Promise.@resolve();\n };\n if (\"start\" in underlyingSinkDict) {\n const startMethod = underlyingSinkDict[\"start\"];\n startAlgorithm = () => @promiseInvokeOrNoopMethodNoCatch(underlyingSink, startMethod, [controller]);\n }\n if (\"write\" in underlyingSinkDict) {\n const writeMethod = underlyingSinkDict[\"write\"];\n writeAlgorithm = (chunk) => @promiseInvokeOrNoopMethod(underlyingSink, writeMethod, [chunk, controller]);\n }\n if (\"close\" in underlyingSinkDict) {\n const closeMethod = underlyingSinkDict[\"close\"];\n closeAlgorithm = () => @promiseInvokeOrNoopMethod(underlyingSink, closeMethod, []);\n }\n if (\"abort\" in underlyingSinkDict) {\n const abortMethod = underlyingSinkDict[\"abort\"];\n abortAlgorithm = (reason) => @promiseInvokeOrNoopMethod(underlyingSink, abortMethod, [reason]);\n }\n @setUpWritableStreamDefaultController(stream, controller, startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm);\n})\n"; // writableStreamDefaultControllerAdvanceQueueIfNeeded const JSC::ConstructAbility s_writableStreamInternalsWritableStreamDefaultControllerAdvanceQueueIfNeededCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_writableStreamInternalsWritableStreamDefaultControllerAdvanceQueueIfNeededCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_writableStreamInternalsWritableStreamDefaultControllerAdvanceQueueIfNeededCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_writableStreamInternalsWritableStreamDefaultControllerAdvanceQueueIfNeededCodeLength = 582; +const int s_writableStreamInternalsWritableStreamDefaultControllerAdvanceQueueIfNeededCodeLength = 819; static const JSC::Intrinsic s_writableStreamInternalsWritableStreamDefaultControllerAdvanceQueueIfNeededCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_writableStreamInternalsWritableStreamDefaultControllerAdvanceQueueIfNeededCode = "(function (_){\"use strict\";const d=@getByIdDirectPrivate(_,\"stream\");if(@getByIdDirectPrivate(_,\"started\")!==1)return;if(@assert(d!==@undefined),@getByIdDirectPrivate(d,\"inFlightWriteRequest\")!==@undefined)return;const f=@getByIdDirectPrivate(d,\"state\");if(@assert(f!==\"closed\"||f!==\"errored\"),f===\"erroring\"){@writableStreamFinishErroring(d);return}const h=@getByIdDirectPrivate(_,\"queue\");if(h.content\?.isEmpty()\?\?!1)return;const i=@peekQueueValue(h);if(i===@isCloseSentinel)@writableStreamDefaultControllerProcessClose(_);else @writableStreamDefaultControllerProcessWrite(_,i)})\n"; +const char* const s_writableStreamInternalsWritableStreamDefaultControllerAdvanceQueueIfNeededCode = "(function (controller) {\"use strict\";\n const stream = @getByIdDirectPrivate(controller, \"stream\");\n if (@getByIdDirectPrivate(controller, \"started\") !== 1)\n return;\n @assert(stream !== @undefined);\n if (@getByIdDirectPrivate(stream, \"inFlightWriteRequest\") !== @undefined)\n return;\n const state = @getByIdDirectPrivate(stream, \"state\");\n @assert(state !== \"closed\" || state !== \"errored\");\n if (state === \"erroring\") {\n @writableStreamFinishErroring(stream);\n return;\n }\n const queue = @getByIdDirectPrivate(controller, \"queue\");\n if (queue.content\?.isEmpty() \?\? false)\n return;\n const value = @peekQueueValue(queue);\n if (value === @isCloseSentinel)\n @writableStreamDefaultControllerProcessClose(controller);\n else\n @writableStreamDefaultControllerProcessWrite(controller, value);\n})\n"; // isCloseSentinel const JSC::ConstructAbility s_writableStreamInternalsIsCloseSentinelCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_writableStreamInternalsIsCloseSentinelCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_writableStreamInternalsIsCloseSentinelCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_writableStreamInternalsIsCloseSentinelCodeLength = 29; +const int s_writableStreamInternalsIsCloseSentinelCodeLength = 31; static const JSC::Intrinsic s_writableStreamInternalsIsCloseSentinelCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_writableStreamInternalsIsCloseSentinelCode = "(function (){\"use strict\";})\n"; +const char* const s_writableStreamInternalsIsCloseSentinelCode = "(function () {\"use strict\";\n})\n"; // writableStreamDefaultControllerClearAlgorithms const JSC::ConstructAbility s_writableStreamInternalsWritableStreamDefaultControllerClearAlgorithmsCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_writableStreamInternalsWritableStreamDefaultControllerClearAlgorithmsCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_writableStreamInternalsWritableStreamDefaultControllerClearAlgorithmsCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_writableStreamInternalsWritableStreamDefaultControllerClearAlgorithmsCodeLength = 248; +const int s_writableStreamInternalsWritableStreamDefaultControllerClearAlgorithmsCodeLength = 316; static const JSC::Intrinsic s_writableStreamInternalsWritableStreamDefaultControllerClearAlgorithmsCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_writableStreamInternalsWritableStreamDefaultControllerClearAlgorithmsCode = "(function (h){\"use strict\";@putByIdDirectPrivate(h,\"writeAlgorithm\",@undefined),@putByIdDirectPrivate(h,\"closeAlgorithm\",@undefined),@putByIdDirectPrivate(h,\"abortAlgorithm\",@undefined),@putByIdDirectPrivate(h,\"strategySizeAlgorithm\",@undefined)})\n"; +const char* const s_writableStreamInternalsWritableStreamDefaultControllerClearAlgorithmsCode = "(function (controller) {\"use strict\";\n @putByIdDirectPrivate(controller, \"writeAlgorithm\", @undefined);\n @putByIdDirectPrivate(controller, \"closeAlgorithm\", @undefined);\n @putByIdDirectPrivate(controller, \"abortAlgorithm\", @undefined);\n @putByIdDirectPrivate(controller, \"strategySizeAlgorithm\", @undefined);\n})\n"; // writableStreamDefaultControllerClose const JSC::ConstructAbility s_writableStreamInternalsWritableStreamDefaultControllerCloseCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_writableStreamInternalsWritableStreamDefaultControllerCloseCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_writableStreamInternalsWritableStreamDefaultControllerCloseCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_writableStreamInternalsWritableStreamDefaultControllerCloseCodeLength = 160; +const int s_writableStreamInternalsWritableStreamDefaultControllerCloseCodeLength = 199; static const JSC::Intrinsic s_writableStreamInternalsWritableStreamDefaultControllerCloseCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_writableStreamInternalsWritableStreamDefaultControllerCloseCode = "(function (_){\"use strict\";@enqueueValueWithSize(@getByIdDirectPrivate(_,\"queue\"),@isCloseSentinel,0),@writableStreamDefaultControllerAdvanceQueueIfNeeded(_)})\n"; +const char* const s_writableStreamInternalsWritableStreamDefaultControllerCloseCode = "(function (controller) {\"use strict\";\n @enqueueValueWithSize(@getByIdDirectPrivate(controller, \"queue\"), @isCloseSentinel, 0);\n @writableStreamDefaultControllerAdvanceQueueIfNeeded(controller);\n})\n"; // writableStreamDefaultControllerError const JSC::ConstructAbility s_writableStreamInternalsWritableStreamDefaultControllerErrorCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_writableStreamInternalsWritableStreamDefaultControllerErrorCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_writableStreamInternalsWritableStreamDefaultControllerErrorCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_writableStreamInternalsWritableStreamDefaultControllerErrorCodeLength = 237; +const int s_writableStreamInternalsWritableStreamDefaultControllerErrorCodeLength = 320; static const JSC::Intrinsic s_writableStreamInternalsWritableStreamDefaultControllerErrorCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_writableStreamInternalsWritableStreamDefaultControllerErrorCode = "(function (h,b){\"use strict\";const i=@getByIdDirectPrivate(h,\"stream\");@assert(i!==@undefined),@assert(@getByIdDirectPrivate(i,\"state\")===\"writable\"),@writableStreamDefaultControllerClearAlgorithms(h),@writableStreamStartErroring(i,b)})\n"; +const char* const s_writableStreamInternalsWritableStreamDefaultControllerErrorCode = "(function (controller, error) {\"use strict\";\n const stream = @getByIdDirectPrivate(controller, \"stream\");\n @assert(stream !== @undefined);\n @assert(@getByIdDirectPrivate(stream, \"state\") === \"writable\");\n @writableStreamDefaultControllerClearAlgorithms(controller);\n @writableStreamStartErroring(stream, error);\n})\n"; // writableStreamDefaultControllerErrorIfNeeded const JSC::ConstructAbility s_writableStreamInternalsWritableStreamDefaultControllerErrorIfNeededCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_writableStreamInternalsWritableStreamDefaultControllerErrorIfNeededCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_writableStreamInternalsWritableStreamDefaultControllerErrorIfNeededCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_writableStreamInternalsWritableStreamDefaultControllerErrorIfNeededCodeLength = 165; +const int s_writableStreamInternalsWritableStreamDefaultControllerErrorIfNeededCodeLength = 233; static const JSC::Intrinsic s_writableStreamInternalsWritableStreamDefaultControllerErrorIfNeededCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_writableStreamInternalsWritableStreamDefaultControllerErrorIfNeededCode = "(function (d,h){\"use strict\";const i=@getByIdDirectPrivate(d,\"stream\");if(@getByIdDirectPrivate(i,\"state\")===\"writable\")@writableStreamDefaultControllerError(d,h)})\n"; +const char* const s_writableStreamInternalsWritableStreamDefaultControllerErrorIfNeededCode = "(function (controller, error) {\"use strict\";\n const stream = @getByIdDirectPrivate(controller, \"stream\");\n if (@getByIdDirectPrivate(stream, \"state\") === \"writable\")\n @writableStreamDefaultControllerError(controller, error);\n})\n"; // writableStreamDefaultControllerGetBackpressure const JSC::ConstructAbility s_writableStreamInternalsWritableStreamDefaultControllerGetBackpressureCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_writableStreamInternalsWritableStreamDefaultControllerGetBackpressureCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_writableStreamInternalsWritableStreamDefaultControllerGetBackpressureCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_writableStreamInternalsWritableStreamDefaultControllerGetBackpressureCodeLength = 89; +const int s_writableStreamInternalsWritableStreamDefaultControllerGetBackpressureCodeLength = 150; static const JSC::Intrinsic s_writableStreamInternalsWritableStreamDefaultControllerGetBackpressureCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_writableStreamInternalsWritableStreamDefaultControllerGetBackpressureCode = "(function (d){\"use strict\";return @writableStreamDefaultControllerGetDesiredSize(d)<=0})\n"; +const char* const s_writableStreamInternalsWritableStreamDefaultControllerGetBackpressureCode = "(function (controller) {\"use strict\";\n const desiredSize = @writableStreamDefaultControllerGetDesiredSize(controller);\n return desiredSize <= 0;\n})\n"; // writableStreamDefaultControllerGetChunkSize const JSC::ConstructAbility s_writableStreamInternalsWritableStreamDefaultControllerGetChunkSizeCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_writableStreamInternalsWritableStreamDefaultControllerGetChunkSizeCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_writableStreamInternalsWritableStreamDefaultControllerGetChunkSizeCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_writableStreamInternalsWritableStreamDefaultControllerGetChunkSizeCodeLength = 181; +const int s_writableStreamInternalsWritableStreamDefaultControllerGetChunkSizeCodeLength = 252; static const JSC::Intrinsic s_writableStreamInternalsWritableStreamDefaultControllerGetChunkSizeCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_writableStreamInternalsWritableStreamDefaultControllerGetChunkSizeCode = "(function (a,i){\"use strict\";try{return @getByIdDirectPrivate(a,\"strategySizeAlgorithm\").@call(@undefined,i)}catch(d){return @writableStreamDefaultControllerErrorIfNeeded(a,d),1}})\n"; +const char* const s_writableStreamInternalsWritableStreamDefaultControllerGetChunkSizeCode = "(function (controller, chunk) {\"use strict\";\n try {\n return @getByIdDirectPrivate(controller, \"strategySizeAlgorithm\").@call(@undefined, chunk);\n } catch (e) {\n @writableStreamDefaultControllerErrorIfNeeded(controller, e);\n return 1;\n }\n})\n"; // writableStreamDefaultControllerGetDesiredSize const JSC::ConstructAbility s_writableStreamInternalsWritableStreamDefaultControllerGetDesiredSizeCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_writableStreamInternalsWritableStreamDefaultControllerGetDesiredSizeCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_writableStreamInternalsWritableStreamDefaultControllerGetDesiredSizeCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_writableStreamInternalsWritableStreamDefaultControllerGetDesiredSizeCodeLength = 113; +const int s_writableStreamInternalsWritableStreamDefaultControllerGetDesiredSizeCodeLength = 150; static const JSC::Intrinsic s_writableStreamInternalsWritableStreamDefaultControllerGetDesiredSizeCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_writableStreamInternalsWritableStreamDefaultControllerGetDesiredSizeCode = "(function (i){\"use strict\";return @getByIdDirectPrivate(i,\"strategyHWM\")-@getByIdDirectPrivate(i,\"queue\").size})\n"; +const char* const s_writableStreamInternalsWritableStreamDefaultControllerGetDesiredSizeCode = "(function (controller) {\"use strict\";\n return @getByIdDirectPrivate(controller, \"strategyHWM\") - @getByIdDirectPrivate(controller, \"queue\").size;\n})\n"; // writableStreamDefaultControllerProcessClose const JSC::ConstructAbility s_writableStreamInternalsWritableStreamDefaultControllerProcessCloseCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_writableStreamInternalsWritableStreamDefaultControllerProcessCloseCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_writableStreamInternalsWritableStreamDefaultControllerProcessCloseCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_writableStreamInternalsWritableStreamDefaultControllerProcessCloseCodeLength = 441; +const int s_writableStreamInternalsWritableStreamDefaultControllerProcessCloseCodeLength = 611; static const JSC::Intrinsic s_writableStreamInternalsWritableStreamDefaultControllerProcessCloseCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_writableStreamInternalsWritableStreamDefaultControllerProcessCloseCode = "(function (i){\"use strict\";const _=@getByIdDirectPrivate(i,\"stream\");@writableStreamMarkCloseRequestInFlight(_),@dequeueValue(@getByIdDirectPrivate(i,\"queue\")),@assert(@getByIdDirectPrivate(i,\"queue\").content\?.isEmpty());const d=@getByIdDirectPrivate(i,\"closeAlgorithm\").@call();@writableStreamDefaultControllerClearAlgorithms(i),d.@then(()=>{@writableStreamFinishInFlightClose(_)},(h)=>{@writableStreamFinishInFlightCloseWithError(_,h)})})\n"; +const char* const s_writableStreamInternalsWritableStreamDefaultControllerProcessCloseCode = "(function (controller) {\"use strict\";\n const stream = @getByIdDirectPrivate(controller, \"stream\");\n @writableStreamMarkCloseRequestInFlight(stream);\n @dequeueValue(@getByIdDirectPrivate(controller, \"queue\"));\n @assert(@getByIdDirectPrivate(controller, \"queue\").content\?.isEmpty());\n const sinkClosePromise = @getByIdDirectPrivate(controller, \"closeAlgorithm\").@call();\n @writableStreamDefaultControllerClearAlgorithms(controller);\n sinkClosePromise.@then(() => {\n @writableStreamFinishInFlightClose(stream);\n }, (reason) => {\n @writableStreamFinishInFlightCloseWithError(stream, reason);\n });\n})\n"; // writableStreamDefaultControllerProcessWrite const JSC::ConstructAbility s_writableStreamInternalsWritableStreamDefaultControllerProcessWriteCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_writableStreamInternalsWritableStreamDefaultControllerProcessWriteCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_writableStreamInternalsWritableStreamDefaultControllerProcessWriteCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_writableStreamInternalsWritableStreamDefaultControllerProcessWriteCodeLength = 734; +const int s_writableStreamInternalsWritableStreamDefaultControllerProcessWriteCodeLength = 1085; static const JSC::Intrinsic s_writableStreamInternalsWritableStreamDefaultControllerProcessWriteCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_writableStreamInternalsWritableStreamDefaultControllerProcessWriteCode = "(function (d,v){\"use strict\";const i=@getByIdDirectPrivate(d,\"stream\");@writableStreamMarkFirstWriteRequestInFlight(i),@getByIdDirectPrivate(d,\"writeAlgorithm\").@call(@undefined,v).@then(()=>{@writableStreamFinishInFlightWrite(i);const _=@getByIdDirectPrivate(i,\"state\");if(@assert(_===\"writable\"||_===\"erroring\"),@dequeueValue(@getByIdDirectPrivate(d,\"queue\")),!@writableStreamCloseQueuedOrInFlight(i)&&_===\"writable\"){const q=@writableStreamDefaultControllerGetBackpressure(d);@writableStreamUpdateBackpressure(i,q)}@writableStreamDefaultControllerAdvanceQueueIfNeeded(d)},(_)=>{if(@getByIdDirectPrivate(i,\"state\")===\"writable\")@writableStreamDefaultControllerClearAlgorithms(d);@writableStreamFinishInFlightWriteWithError(i,_)})})\n"; +const char* const s_writableStreamInternalsWritableStreamDefaultControllerProcessWriteCode = "(function (controller, chunk) {\"use strict\";\n const stream = @getByIdDirectPrivate(controller, \"stream\");\n @writableStreamMarkFirstWriteRequestInFlight(stream);\n const sinkWritePromise = @getByIdDirectPrivate(controller, \"writeAlgorithm\").@call(@undefined, chunk);\n sinkWritePromise.@then(() => {\n @writableStreamFinishInFlightWrite(stream);\n const state = @getByIdDirectPrivate(stream, \"state\");\n @assert(state === \"writable\" || state === \"erroring\");\n @dequeueValue(@getByIdDirectPrivate(controller, \"queue\"));\n if (!@writableStreamCloseQueuedOrInFlight(stream) && state === \"writable\") {\n const backpressure = @writableStreamDefaultControllerGetBackpressure(controller);\n @writableStreamUpdateBackpressure(stream, backpressure);\n }\n @writableStreamDefaultControllerAdvanceQueueIfNeeded(controller);\n }, (reason) => {\n const state = @getByIdDirectPrivate(stream, \"state\");\n if (state === \"writable\")\n @writableStreamDefaultControllerClearAlgorithms(controller);\n @writableStreamFinishInFlightWriteWithError(stream, reason);\n });\n})\n"; // writableStreamDefaultControllerWrite const JSC::ConstructAbility s_writableStreamInternalsWritableStreamDefaultControllerWriteCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_writableStreamInternalsWritableStreamDefaultControllerWriteCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_writableStreamInternalsWritableStreamDefaultControllerWriteCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_writableStreamInternalsWritableStreamDefaultControllerWriteCodeLength = 450; +const int s_writableStreamInternalsWritableStreamDefaultControllerWriteCodeLength = 672; static const JSC::Intrinsic s_writableStreamInternalsWritableStreamDefaultControllerWriteCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_writableStreamInternalsWritableStreamDefaultControllerWriteCode = "(function (d,B,D){\"use strict\";try{@enqueueValueWithSize(@getByIdDirectPrivate(d,\"queue\"),B,D);const y=@getByIdDirectPrivate(d,\"stream\"),I=@getByIdDirectPrivate(y,\"state\");if(!@writableStreamCloseQueuedOrInFlight(y)&&I===\"writable\"){const _=@writableStreamDefaultControllerGetBackpressure(d);@writableStreamUpdateBackpressure(y,_)}@writableStreamDefaultControllerAdvanceQueueIfNeeded(d)}catch(y){@writableStreamDefaultControllerErrorIfNeeded(d,y)}})\n"; +const char* const s_writableStreamInternalsWritableStreamDefaultControllerWriteCode = "(function (controller, chunk, chunkSize) {\"use strict\";\n try {\n @enqueueValueWithSize(@getByIdDirectPrivate(controller, \"queue\"), chunk, chunkSize);\n const stream = @getByIdDirectPrivate(controller, \"stream\");\n const state = @getByIdDirectPrivate(stream, \"state\");\n if (!@writableStreamCloseQueuedOrInFlight(stream) && state === \"writable\") {\n const backpressure = @writableStreamDefaultControllerGetBackpressure(controller);\n @writableStreamUpdateBackpressure(stream, backpressure);\n }\n @writableStreamDefaultControllerAdvanceQueueIfNeeded(controller);\n } catch (e) {\n @writableStreamDefaultControllerErrorIfNeeded(controller, e);\n }\n})\n"; #define DEFINE_BUILTIN_GENERATOR(codeName, functionName, overriddenName, argumentCount) \ JSC::FunctionExecutable* codeName##Generator(JSC::VM& vm) \ @@ -484,145 +484,145 @@ WEBCORE_FOREACH_WRITABLESTREAMINTERNALS_BUILTIN_CODE(DEFINE_BUILTIN_GENERATOR) const JSC::ConstructAbility s_transformStreamInternalsIsTransformStreamCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_transformStreamInternalsIsTransformStreamCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_transformStreamInternalsIsTransformStreamCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_transformStreamInternalsIsTransformStreamCodeLength = 88; +const int s_transformStreamInternalsIsTransformStreamCodeLength = 112; static const JSC::Intrinsic s_transformStreamInternalsIsTransformStreamCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_transformStreamInternalsIsTransformStreamCode = "(function (d){\"use strict\";return @isObject(d)&&!!@getByIdDirectPrivate(d,\"readable\")})\n"; +const char* const s_transformStreamInternalsIsTransformStreamCode = "(function (stream) {\"use strict\";\n return @isObject(stream) && !!@getByIdDirectPrivate(stream, \"readable\");\n})\n"; // isTransformStreamDefaultController const JSC::ConstructAbility s_transformStreamInternalsIsTransformStreamDefaultControllerCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_transformStreamInternalsIsTransformStreamDefaultControllerCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_transformStreamInternalsIsTransformStreamDefaultControllerCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_transformStreamInternalsIsTransformStreamDefaultControllerCodeLength = 98; +const int s_transformStreamInternalsIsTransformStreamDefaultControllerCodeLength = 134; static const JSC::Intrinsic s_transformStreamInternalsIsTransformStreamDefaultControllerCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_transformStreamInternalsIsTransformStreamDefaultControllerCode = "(function (a){\"use strict\";return @isObject(a)&&!!@getByIdDirectPrivate(a,\"transformAlgorithm\")})\n"; +const char* const s_transformStreamInternalsIsTransformStreamDefaultControllerCode = "(function (controller) {\"use strict\";\n return @isObject(controller) && !!@getByIdDirectPrivate(controller, \"transformAlgorithm\");\n})\n"; // createTransformStream const JSC::ConstructAbility s_transformStreamInternalsCreateTransformStreamCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_transformStreamInternalsCreateTransformStreamCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_transformStreamInternalsCreateTransformStreamCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_transformStreamInternalsCreateTransformStreamCodeLength = 510; +const int s_transformStreamInternalsCreateTransformStreamCodeLength = 1262; static const JSC::Intrinsic s_transformStreamInternalsCreateTransformStreamCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_transformStreamInternalsCreateTransformStreamCode = "(function (D,E,F,_,j,c,q){\"use strict\";if(_===@undefined)_=1;if(j===@undefined)j=()=>1;if(c===@undefined)c=0;if(q===@undefined)q=()=>1;@assert(_>=0),@assert(c>=0);const B={};@putByIdDirectPrivate(B,\"TransformStream\",!0);const v=new @TransformStream(B),x=@newPromiseCapability(@Promise);@initializeTransformStream(v,x.promise,_,j,c,q);const G=new @TransformStreamDefaultController;return @setUpTransformStreamDefaultController(v,G,E,F),D().@then(()=>{x.resolve.@call()},(I)=>{x.reject.@call(@undefined,I)}),v})\n"; +const char* const s_transformStreamInternalsCreateTransformStreamCode = "(function (startAlgorithm, transformAlgorithm, flushAlgorithm, writableHighWaterMark, writableSizeAlgorithm, readableHighWaterMark, readableSizeAlgorithm) {\"use strict\";\n if (writableHighWaterMark === @undefined)\n writableHighWaterMark = 1;\n if (writableSizeAlgorithm === @undefined)\n writableSizeAlgorithm = () => 1;\n if (readableHighWaterMark === @undefined)\n readableHighWaterMark = 0;\n if (readableSizeAlgorithm === @undefined)\n readableSizeAlgorithm = () => 1;\n @assert(writableHighWaterMark >= 0);\n @assert(readableHighWaterMark >= 0);\n const transform = {};\n @putByIdDirectPrivate(transform, \"TransformStream\", true);\n const stream = new @TransformStream(transform);\n const startPromiseCapability = @newPromiseCapability(@Promise);\n @initializeTransformStream(stream, startPromiseCapability.promise, writableHighWaterMark, writableSizeAlgorithm, readableHighWaterMark, readableSizeAlgorithm);\n const controller = new @TransformStreamDefaultController;\n @setUpTransformStreamDefaultController(stream, controller, transformAlgorithm, flushAlgorithm);\n startAlgorithm().@then(() => {\n startPromiseCapability.resolve.@call();\n }, (error) => {\n startPromiseCapability.reject.@call(@undefined, error);\n });\n return stream;\n})\n"; // initializeTransformStream const JSC::ConstructAbility s_transformStreamInternalsInitializeTransformStreamCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_transformStreamInternalsInitializeTransformStreamCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_transformStreamInternalsInitializeTransformStreamCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_transformStreamInternalsInitializeTransformStreamCodeLength = 1015; +const int s_transformStreamInternalsInitializeTransformStreamCodeLength = 1834; static const JSC::Intrinsic s_transformStreamInternalsInitializeTransformStreamCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_transformStreamInternalsInitializeTransformStreamCode = "(function (f,x,C,D,E,F){\"use strict\";const q=()=>{return x},G=(B)=>{return @transformStreamDefaultSinkWriteAlgorithm(f,B)},I=(B)=>{return @transformStreamDefaultSinkAbortAlgorithm(f,B)},J=()=>{return @transformStreamDefaultSinkCloseAlgorithm(f)},v=@createWritableStream(q,G,J,I,C,D),K=()=>{return @transformStreamDefaultSourcePullAlgorithm(f)},L=(B)=>{return @transformStreamErrorWritableAndUnblockWrite(f,B),@Promise.@resolve()},T={};@putByIdDirectPrivate(T,\"start\",q),@putByIdDirectPrivate(T,\"pull\",K),@putByIdDirectPrivate(T,\"cancel\",L);const j={};@putByIdDirectPrivate(j,\"size\",F),@putByIdDirectPrivate(j,\"highWaterMark\",E);const N=new @ReadableStream(T,j);@putByIdDirectPrivate(f,\"writable\",v),@putByIdDirectPrivate(f,\"internalWritable\",@getInternalWritableStream(v)),@putByIdDirectPrivate(f,\"readable\",N),@putByIdDirectPrivate(f,\"backpressure\",@undefined),@putByIdDirectPrivate(f,\"backpressureChangePromise\",@undefined),@transformStreamSetBackpressure(f,!0),@putByIdDirectPrivate(f,\"controller\",@undefined)})\n"; +const char* const s_transformStreamInternalsInitializeTransformStreamCode = "(function (stream, startPromise, writableHighWaterMark, writableSizeAlgorithm, readableHighWaterMark, readableSizeAlgorithm) {\"use strict\";\n const startAlgorithm = () => {\n return startPromise;\n };\n const writeAlgorithm = (chunk) => {\n return @transformStreamDefaultSinkWriteAlgorithm(stream, chunk);\n };\n const abortAlgorithm = (reason) => {\n return @transformStreamDefaultSinkAbortAlgorithm(stream, reason);\n };\n const closeAlgorithm = () => {\n return @transformStreamDefaultSinkCloseAlgorithm(stream);\n };\n const writable = @createWritableStream(startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, writableHighWaterMark, writableSizeAlgorithm);\n const pullAlgorithm = () => {\n return @transformStreamDefaultSourcePullAlgorithm(stream);\n };\n const cancelAlgorithm = (reason) => {\n @transformStreamErrorWritableAndUnblockWrite(stream, reason);\n return @Promise.@resolve();\n };\n const underlyingSource = {};\n @putByIdDirectPrivate(underlyingSource, \"start\", startAlgorithm);\n @putByIdDirectPrivate(underlyingSource, \"pull\", pullAlgorithm);\n @putByIdDirectPrivate(underlyingSource, \"cancel\", cancelAlgorithm);\n const options = {};\n @putByIdDirectPrivate(options, \"size\", readableSizeAlgorithm);\n @putByIdDirectPrivate(options, \"highWaterMark\", readableHighWaterMark);\n const readable = new @ReadableStream(underlyingSource, options);\n @putByIdDirectPrivate(stream, \"writable\", writable);\n @putByIdDirectPrivate(stream, \"internalWritable\", @getInternalWritableStream(writable));\n @putByIdDirectPrivate(stream, \"readable\", readable);\n @putByIdDirectPrivate(stream, \"backpressure\", @undefined);\n @putByIdDirectPrivate(stream, \"backpressureChangePromise\", @undefined);\n @transformStreamSetBackpressure(stream, true);\n @putByIdDirectPrivate(stream, \"controller\", @undefined);\n})\n"; // transformStreamError const JSC::ConstructAbility s_transformStreamInternalsTransformStreamErrorCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_transformStreamInternalsTransformStreamErrorCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_transformStreamInternalsTransformStreamErrorCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_transformStreamInternalsTransformStreamErrorCodeLength = 222; +const int s_transformStreamInternalsTransformStreamErrorCodeLength = 315; static const JSC::Intrinsic s_transformStreamInternalsTransformStreamErrorCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_transformStreamInternalsTransformStreamErrorCode = "(function (f,i){\"use strict\";const n=@getByIdDirectPrivate(f,\"readable\"),_=@getByIdDirectPrivate(n,\"readableStreamController\");@readableStreamDefaultControllerError(_,i),@transformStreamErrorWritableAndUnblockWrite(f,i)})\n"; +const char* const s_transformStreamInternalsTransformStreamErrorCode = "(function (stream, e) {\"use strict\";\n const readable = @getByIdDirectPrivate(stream, \"readable\");\n const readableController = @getByIdDirectPrivate(readable, \"readableStreamController\");\n @readableStreamDefaultControllerError(readableController, e);\n @transformStreamErrorWritableAndUnblockWrite(stream, e);\n})\n"; // transformStreamErrorWritableAndUnblockWrite const JSC::ConstructAbility s_transformStreamInternalsTransformStreamErrorWritableAndUnblockWriteCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_transformStreamInternalsTransformStreamErrorWritableAndUnblockWriteCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_transformStreamInternalsTransformStreamErrorWritableAndUnblockWriteCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_transformStreamInternalsTransformStreamErrorWritableAndUnblockWriteCodeLength = 339; +const int s_transformStreamInternalsTransformStreamErrorWritableAndUnblockWriteCodeLength = 411; static const JSC::Intrinsic s_transformStreamInternalsTransformStreamErrorWritableAndUnblockWriteCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_transformStreamInternalsTransformStreamErrorWritableAndUnblockWriteCode = "(function (_,n){\"use strict\";@transformStreamDefaultControllerClearAlgorithms(@getByIdDirectPrivate(_,\"controller\"));const o=@getByIdDirectPrivate(_,\"internalWritable\");if(@writableStreamDefaultControllerErrorIfNeeded(@getByIdDirectPrivate(o,\"controller\"),n),@getByIdDirectPrivate(_,\"backpressure\"))@transformStreamSetBackpressure(_,!1)})\n"; +const char* const s_transformStreamInternalsTransformStreamErrorWritableAndUnblockWriteCode = "(function (stream, e) {\"use strict\";\n @transformStreamDefaultControllerClearAlgorithms(@getByIdDirectPrivate(stream, \"controller\"));\n const writable = @getByIdDirectPrivate(stream, \"internalWritable\");\n @writableStreamDefaultControllerErrorIfNeeded(@getByIdDirectPrivate(writable, \"controller\"), e);\n if (@getByIdDirectPrivate(stream, \"backpressure\"))\n @transformStreamSetBackpressure(stream, false);\n})\n"; // transformStreamSetBackpressure const JSC::ConstructAbility s_transformStreamInternalsTransformStreamSetBackpressureCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_transformStreamInternalsTransformStreamSetBackpressureCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_transformStreamInternalsTransformStreamSetBackpressureCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_transformStreamInternalsTransformStreamSetBackpressureCodeLength = 308; +const int s_transformStreamInternalsTransformStreamSetBackpressureCodeLength = 475; static const JSC::Intrinsic s_transformStreamInternalsTransformStreamSetBackpressureCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_transformStreamInternalsTransformStreamSetBackpressureCode = "(function (_,d){\"use strict\";@assert(@getByIdDirectPrivate(_,\"backpressure\")!==d);const i=@getByIdDirectPrivate(_,\"backpressureChangePromise\");if(i!==@undefined)i.resolve.@call();@putByIdDirectPrivate(_,\"backpressureChangePromise\",@newPromiseCapability(@Promise)),@putByIdDirectPrivate(_,\"backpressure\",d)})\n"; +const char* const s_transformStreamInternalsTransformStreamSetBackpressureCode = "(function (stream, backpressure) {\"use strict\";\n @assert(@getByIdDirectPrivate(stream, \"backpressure\") !== backpressure);\n const backpressureChangePromise = @getByIdDirectPrivate(stream, \"backpressureChangePromise\");\n if (backpressureChangePromise !== @undefined)\n backpressureChangePromise.resolve.@call();\n @putByIdDirectPrivate(stream, \"backpressureChangePromise\", @newPromiseCapability(@Promise));\n @putByIdDirectPrivate(stream, \"backpressure\", backpressure);\n})\n"; // setUpTransformStreamDefaultController const JSC::ConstructAbility s_transformStreamInternalsSetUpTransformStreamDefaultControllerCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_transformStreamInternalsSetUpTransformStreamDefaultControllerCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_transformStreamInternalsSetUpTransformStreamDefaultControllerCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_transformStreamInternalsSetUpTransformStreamDefaultControllerCodeLength = 294; +const int s_transformStreamInternalsSetUpTransformStreamDefaultControllerCodeLength = 459; static const JSC::Intrinsic s_transformStreamInternalsSetUpTransformStreamDefaultControllerCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_transformStreamInternalsSetUpTransformStreamDefaultControllerCode = "(function (d,P,_,b){\"use strict\";@assert(@isTransformStream(d)),@assert(@getByIdDirectPrivate(d,\"controller\")===@undefined),@putByIdDirectPrivate(P,\"stream\",d),@putByIdDirectPrivate(d,\"controller\",P),@putByIdDirectPrivate(P,\"transformAlgorithm\",_),@putByIdDirectPrivate(P,\"flushAlgorithm\",b)})\n"; +const char* const s_transformStreamInternalsSetUpTransformStreamDefaultControllerCode = "(function (stream, controller, transformAlgorithm, flushAlgorithm) {\"use strict\";\n @assert(@isTransformStream(stream));\n @assert(@getByIdDirectPrivate(stream, \"controller\") === @undefined);\n @putByIdDirectPrivate(controller, \"stream\", stream);\n @putByIdDirectPrivate(stream, \"controller\", controller);\n @putByIdDirectPrivate(controller, \"transformAlgorithm\", transformAlgorithm);\n @putByIdDirectPrivate(controller, \"flushAlgorithm\", flushAlgorithm);\n})\n"; // setUpTransformStreamDefaultControllerFromTransformer const JSC::ConstructAbility s_transformStreamInternalsSetUpTransformStreamDefaultControllerFromTransformerCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_transformStreamInternalsSetUpTransformStreamDefaultControllerFromTransformerCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_transformStreamInternalsSetUpTransformStreamDefaultControllerFromTransformerCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_transformStreamInternalsSetUpTransformStreamDefaultControllerFromTransformerCodeLength = 443; +const int s_transformStreamInternalsSetUpTransformStreamDefaultControllerFromTransformerCodeLength = 863; static const JSC::Intrinsic s_transformStreamInternalsSetUpTransformStreamDefaultControllerFromTransformerCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_transformStreamInternalsSetUpTransformStreamDefaultControllerFromTransformerCode = "(function (q,v,_){\"use strict\";const d=new @TransformStreamDefaultController;let b=(p)=>{try{@transformStreamDefaultControllerEnqueue(d,p)}catch(w){return @Promise.@reject(w)}return @Promise.@resolve()},j=()=>{return @Promise.@resolve()};if(\"transform\"in _)b=(p)=>{return @promiseInvokeOrNoopMethod(v,_.transform,[p,d])};if(\"flush\"in _)j=()=>{return @promiseInvokeOrNoopMethod(v,_.flush,[d])};@setUpTransformStreamDefaultController(q,d,b,j)})\n"; +const char* const s_transformStreamInternalsSetUpTransformStreamDefaultControllerFromTransformerCode = "(function (stream, transformer, transformerDict) {\"use strict\";\n const controller = new @TransformStreamDefaultController;\n let transformAlgorithm = (chunk) => {\n try {\n @transformStreamDefaultControllerEnqueue(controller, chunk);\n } catch (e) {\n return @Promise.@reject(e);\n }\n return @Promise.@resolve();\n };\n let flushAlgorithm = () => {\n return @Promise.@resolve();\n };\n if (\"transform\" in transformerDict)\n transformAlgorithm = (chunk) => {\n return @promiseInvokeOrNoopMethod(transformer, transformerDict[\"transform\"], [chunk, controller]);\n };\n if (\"flush\" in transformerDict) {\n flushAlgorithm = () => {\n return @promiseInvokeOrNoopMethod(transformer, transformerDict[\"flush\"], [controller]);\n };\n }\n @setUpTransformStreamDefaultController(stream, controller, transformAlgorithm, flushAlgorithm);\n})\n"; // transformStreamDefaultControllerClearAlgorithms const JSC::ConstructAbility s_transformStreamInternalsTransformStreamDefaultControllerClearAlgorithmsCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_transformStreamInternalsTransformStreamDefaultControllerClearAlgorithmsCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_transformStreamInternalsTransformStreamDefaultControllerClearAlgorithmsCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_transformStreamInternalsTransformStreamDefaultControllerClearAlgorithmsCodeLength = 131; +const int s_transformStreamInternalsTransformStreamDefaultControllerClearAlgorithmsCodeLength = 173; static const JSC::Intrinsic s_transformStreamInternalsTransformStreamDefaultControllerClearAlgorithmsCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_transformStreamInternalsTransformStreamDefaultControllerClearAlgorithmsCode = "(function (_){\"use strict\";@putByIdDirectPrivate(_,\"transformAlgorithm\",!0),@putByIdDirectPrivate(_,\"flushAlgorithm\",@undefined)})\n"; +const char* const s_transformStreamInternalsTransformStreamDefaultControllerClearAlgorithmsCode = "(function (controller) {\"use strict\";\n @putByIdDirectPrivate(controller, \"transformAlgorithm\", true);\n @putByIdDirectPrivate(controller, \"flushAlgorithm\", @undefined);\n})\n"; // transformStreamDefaultControllerEnqueue const JSC::ConstructAbility s_transformStreamInternalsTransformStreamDefaultControllerEnqueueCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_transformStreamInternalsTransformStreamDefaultControllerEnqueueCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_transformStreamInternalsTransformStreamDefaultControllerEnqueueCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_transformStreamInternalsTransformStreamDefaultControllerEnqueueCodeLength = 622; +const int s_transformStreamInternalsTransformStreamDefaultControllerEnqueueCodeLength = 924; static const JSC::Intrinsic s_transformStreamInternalsTransformStreamDefaultControllerEnqueueCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_transformStreamInternalsTransformStreamDefaultControllerEnqueueCode = "(function (g,i){\"use strict\";const _=@getByIdDirectPrivate(g,\"stream\"),W=@getByIdDirectPrivate(_,\"readable\"),S=@getByIdDirectPrivate(W,\"readableStreamController\");if(@assert(S!==@undefined),!@readableStreamDefaultControllerCanCloseOrEnqueue(S))@throwTypeError(\"TransformStream.readable cannot close or enqueue\");try{@readableStreamDefaultControllerEnqueue(S,i)}catch(j){throw @transformStreamErrorWritableAndUnblockWrite(_,j),@getByIdDirectPrivate(W,\"storedError\")}const f=!@readableStreamDefaultControllerShouldCallPull(S);if(f!==@getByIdDirectPrivate(_,\"backpressure\"))@assert(f),@transformStreamSetBackpressure(_,!0)})\n"; +const char* const s_transformStreamInternalsTransformStreamDefaultControllerEnqueueCode = "(function (controller, chunk) {\"use strict\";\n const stream = @getByIdDirectPrivate(controller, \"stream\");\n const readable = @getByIdDirectPrivate(stream, \"readable\");\n const readableController = @getByIdDirectPrivate(readable, \"readableStreamController\");\n @assert(readableController !== @undefined);\n if (!@readableStreamDefaultControllerCanCloseOrEnqueue(readableController))\n @throwTypeError(\"TransformStream.readable cannot close or enqueue\");\n try {\n @readableStreamDefaultControllerEnqueue(readableController, chunk);\n } catch (e) {\n @transformStreamErrorWritableAndUnblockWrite(stream, e);\n throw @getByIdDirectPrivate(readable, \"storedError\");\n }\n const backpressure = !@readableStreamDefaultControllerShouldCallPull(readableController);\n if (backpressure !== @getByIdDirectPrivate(stream, \"backpressure\")) {\n @assert(backpressure);\n @transformStreamSetBackpressure(stream, true);\n }\n})\n"; // transformStreamDefaultControllerError const JSC::ConstructAbility s_transformStreamInternalsTransformStreamDefaultControllerErrorCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_transformStreamInternalsTransformStreamDefaultControllerErrorCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_transformStreamInternalsTransformStreamDefaultControllerErrorCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_transformStreamInternalsTransformStreamDefaultControllerErrorCodeLength = 90; +const int s_transformStreamInternalsTransformStreamDefaultControllerErrorCodeLength = 117; static const JSC::Intrinsic s_transformStreamInternalsTransformStreamDefaultControllerErrorCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_transformStreamInternalsTransformStreamDefaultControllerErrorCode = "(function (a,d){\"use strict\";@transformStreamError(@getByIdDirectPrivate(a,\"stream\"),d)})\n"; +const char* const s_transformStreamInternalsTransformStreamDefaultControllerErrorCode = "(function (controller, e) {\"use strict\";\n @transformStreamError(@getByIdDirectPrivate(controller, \"stream\"), e);\n})\n"; // transformStreamDefaultControllerPerformTransform const JSC::ConstructAbility s_transformStreamInternalsTransformStreamDefaultControllerPerformTransformCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_transformStreamInternalsTransformStreamDefaultControllerPerformTransformCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_transformStreamInternalsTransformStreamDefaultControllerPerformTransformCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_transformStreamInternalsTransformStreamDefaultControllerPerformTransformCodeLength = 275; +const int s_transformStreamInternalsTransformStreamDefaultControllerPerformTransformCodeLength = 467; static const JSC::Intrinsic s_transformStreamInternalsTransformStreamDefaultControllerPerformTransformCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_transformStreamInternalsTransformStreamDefaultControllerPerformTransformCode = "(function (d,g){\"use strict\";const _=@newPromiseCapability(@Promise);return @getByIdDirectPrivate(d,\"transformAlgorithm\").@call(@undefined,g).@then(()=>{_.@resolve()},(f)=>{@transformStreamError(@getByIdDirectPrivate(d,\"stream\"),f),_.reject.@call(@undefined,f)}),_.promise})\n"; +const char* const s_transformStreamInternalsTransformStreamDefaultControllerPerformTransformCode = "(function (controller, chunk) {\"use strict\";\n const promiseCapability = @newPromiseCapability(@Promise);\n const transformPromise = @getByIdDirectPrivate(controller, \"transformAlgorithm\").@call(@undefined, chunk);\n transformPromise.@then(() => {\n promiseCapability.@resolve();\n }, (r) => {\n @transformStreamError(@getByIdDirectPrivate(controller, \"stream\"), r);\n promiseCapability.reject.@call(@undefined, r);\n });\n return promiseCapability.promise;\n})\n"; // transformStreamDefaultControllerTerminate const JSC::ConstructAbility s_transformStreamInternalsTransformStreamDefaultControllerTerminateCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_transformStreamInternalsTransformStreamDefaultControllerTerminateCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_transformStreamInternalsTransformStreamDefaultControllerTerminateCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_transformStreamInternalsTransformStreamDefaultControllerTerminateCodeLength = 367; +const int s_transformStreamInternalsTransformStreamDefaultControllerTerminateCodeLength = 524; static const JSC::Intrinsic s_transformStreamInternalsTransformStreamDefaultControllerTerminateCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_transformStreamInternalsTransformStreamDefaultControllerTerminateCode = "(function (f){\"use strict\";const i=@getByIdDirectPrivate(f,\"stream\"),k=@getByIdDirectPrivate(i,\"readable\"),_=@getByIdDirectPrivate(k,\"readableStreamController\");if(@readableStreamDefaultControllerCanCloseOrEnqueue(_))@readableStreamDefaultControllerClose(_);const u=@makeTypeError(\"the stream has been terminated\");@transformStreamErrorWritableAndUnblockWrite(i,u)})\n"; +const char* const s_transformStreamInternalsTransformStreamDefaultControllerTerminateCode = "(function (controller) {\"use strict\";\n const stream = @getByIdDirectPrivate(controller, \"stream\");\n const readable = @getByIdDirectPrivate(stream, \"readable\");\n const readableController = @getByIdDirectPrivate(readable, \"readableStreamController\");\n if (@readableStreamDefaultControllerCanCloseOrEnqueue(readableController))\n @readableStreamDefaultControllerClose(readableController);\n const error = @makeTypeError(\"the stream has been terminated\");\n @transformStreamErrorWritableAndUnblockWrite(stream, error);\n})\n"; // transformStreamDefaultSinkWriteAlgorithm const JSC::ConstructAbility s_transformStreamInternalsTransformStreamDefaultSinkWriteAlgorithmCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_transformStreamInternalsTransformStreamDefaultSinkWriteAlgorithmCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_transformStreamInternalsTransformStreamDefaultSinkWriteAlgorithmCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_transformStreamInternalsTransformStreamDefaultSinkWriteAlgorithmCodeLength = 759; +const int s_transformStreamInternalsTransformStreamDefaultSinkWriteAlgorithmCodeLength = 1236; static const JSC::Intrinsic s_transformStreamInternalsTransformStreamDefaultSinkWriteAlgorithmCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_transformStreamInternalsTransformStreamDefaultSinkWriteAlgorithmCode = "(function (d,q){\"use strict\";const j=@getByIdDirectPrivate(d,\"internalWritable\");@assert(@getByIdDirectPrivate(j,\"state\")===\"writable\");const v=@getByIdDirectPrivate(d,\"controller\");if(@getByIdDirectPrivate(d,\"backpressure\")){const _=@newPromiseCapability(@Promise),x=@getByIdDirectPrivate(d,\"backpressureChangePromise\");return @assert(x!==@undefined),x.promise.@then(()=>{const f=@getByIdDirectPrivate(j,\"state\");if(f===\"erroring\"){_.reject.@call(@undefined,@getByIdDirectPrivate(j,\"storedError\"));return}@assert(f===\"writable\"),@transformStreamDefaultControllerPerformTransform(v,q).@then(()=>{_.@resolve()},(z)=>{_.reject.@call(@undefined,z)})},(f)=>{_.reject.@call(@undefined,f)}),_.promise}return @transformStreamDefaultControllerPerformTransform(v,q)})\n"; +const char* const s_transformStreamInternalsTransformStreamDefaultSinkWriteAlgorithmCode = "(function (stream, chunk) {\"use strict\";\n const writable = @getByIdDirectPrivate(stream, \"internalWritable\");\n @assert(@getByIdDirectPrivate(writable, \"state\") === \"writable\");\n const controller = @getByIdDirectPrivate(stream, \"controller\");\n if (@getByIdDirectPrivate(stream, \"backpressure\")) {\n const promiseCapability = @newPromiseCapability(@Promise);\n const backpressureChangePromise = @getByIdDirectPrivate(stream, \"backpressureChangePromise\");\n @assert(backpressureChangePromise !== @undefined);\n backpressureChangePromise.promise.@then(() => {\n const state = @getByIdDirectPrivate(writable, \"state\");\n if (state === \"erroring\") {\n promiseCapability.reject.@call(@undefined, @getByIdDirectPrivate(writable, \"storedError\"));\n return;\n }\n @assert(state === \"writable\");\n @transformStreamDefaultControllerPerformTransform(controller, chunk).@then(() => {\n promiseCapability.@resolve();\n }, (e) => {\n promiseCapability.reject.@call(@undefined, e);\n });\n }, (e) => {\n promiseCapability.reject.@call(@undefined, e);\n });\n return promiseCapability.promise;\n }\n return @transformStreamDefaultControllerPerformTransform(controller, chunk);\n})\n"; // transformStreamDefaultSinkAbortAlgorithm const JSC::ConstructAbility s_transformStreamInternalsTransformStreamDefaultSinkAbortAlgorithmCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_transformStreamInternalsTransformStreamDefaultSinkAbortAlgorithmCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_transformStreamInternalsTransformStreamDefaultSinkAbortAlgorithmCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_transformStreamInternalsTransformStreamDefaultSinkAbortAlgorithmCodeLength = 85; +const int s_transformStreamInternalsTransformStreamDefaultSinkAbortAlgorithmCodeLength = 116; static const JSC::Intrinsic s_transformStreamInternalsTransformStreamDefaultSinkAbortAlgorithmCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_transformStreamInternalsTransformStreamDefaultSinkAbortAlgorithmCode = "(function (d,t){\"use strict\";return @transformStreamError(d,t),@Promise.@resolve()})\n"; +const char* const s_transformStreamInternalsTransformStreamDefaultSinkAbortAlgorithmCode = "(function (stream, reason) {\"use strict\";\n @transformStreamError(stream, reason);\n return @Promise.@resolve();\n})\n"; // transformStreamDefaultSinkCloseAlgorithm const JSC::ConstructAbility s_transformStreamInternalsTransformStreamDefaultSinkCloseAlgorithmCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_transformStreamInternalsTransformStreamDefaultSinkCloseAlgorithmCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_transformStreamInternalsTransformStreamDefaultSinkCloseAlgorithmCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_transformStreamInternalsTransformStreamDefaultSinkCloseAlgorithmCodeLength = 786; +const int s_transformStreamInternalsTransformStreamDefaultSinkCloseAlgorithmCodeLength = 1207; static const JSC::Intrinsic s_transformStreamInternalsTransformStreamDefaultSinkCloseAlgorithmCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_transformStreamInternalsTransformStreamDefaultSinkCloseAlgorithmCode = "(function (j){\"use strict\";const _=@getByIdDirectPrivate(j,\"readable\"),I=@getByIdDirectPrivate(j,\"controller\"),k=@getByIdDirectPrivate(_,\"readableStreamController\"),q=@getByIdDirectPrivate(I,\"flushAlgorithm\");@assert(q!==@undefined);const u=@getByIdDirectPrivate(I,\"flushAlgorithm\").@call();@transformStreamDefaultControllerClearAlgorithms(I);const S=@newPromiseCapability(@Promise);return u.@then(()=>{if(@getByIdDirectPrivate(_,\"state\")===@streamErrored){S.reject.@call(@undefined,@getByIdDirectPrivate(_,\"storedError\"));return}if(@readableStreamDefaultControllerCanCloseOrEnqueue(k))@readableStreamDefaultControllerClose(k);S.@resolve()},(v)=>{@transformStreamError(@getByIdDirectPrivate(I,\"stream\"),v),S.reject.@call(@undefined,@getByIdDirectPrivate(_,\"storedError\"))}),S.promise})\n"; +const char* const s_transformStreamInternalsTransformStreamDefaultSinkCloseAlgorithmCode = "(function (stream) {\"use strict\";\n const readable = @getByIdDirectPrivate(stream, \"readable\");\n const controller = @getByIdDirectPrivate(stream, \"controller\");\n const readableController = @getByIdDirectPrivate(readable, \"readableStreamController\");\n const flushAlgorithm = @getByIdDirectPrivate(controller, \"flushAlgorithm\");\n @assert(flushAlgorithm !== @undefined);\n const flushPromise = @getByIdDirectPrivate(controller, \"flushAlgorithm\").@call();\n @transformStreamDefaultControllerClearAlgorithms(controller);\n const promiseCapability = @newPromiseCapability(@Promise);\n flushPromise.@then(() => {\n if (@getByIdDirectPrivate(readable, \"state\") === @streamErrored) {\n promiseCapability.reject.@call(@undefined, @getByIdDirectPrivate(readable, \"storedError\"));\n return;\n }\n if (@readableStreamDefaultControllerCanCloseOrEnqueue(readableController))\n @readableStreamDefaultControllerClose(readableController);\n promiseCapability.@resolve();\n }, (r) => {\n @transformStreamError(@getByIdDirectPrivate(controller, \"stream\"), r);\n promiseCapability.reject.@call(@undefined, @getByIdDirectPrivate(readable, \"storedError\"));\n });\n return promiseCapability.promise;\n})\n"; // transformStreamDefaultSourcePullAlgorithm const JSC::ConstructAbility s_transformStreamInternalsTransformStreamDefaultSourcePullAlgorithmCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_transformStreamInternalsTransformStreamDefaultSourcePullAlgorithmCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_transformStreamInternalsTransformStreamDefaultSourcePullAlgorithmCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_transformStreamInternalsTransformStreamDefaultSourcePullAlgorithmCodeLength = 259; +const int s_transformStreamInternalsTransformStreamDefaultSourcePullAlgorithmCodeLength = 308; static const JSC::Intrinsic s_transformStreamInternalsTransformStreamDefaultSourcePullAlgorithmCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_transformStreamInternalsTransformStreamDefaultSourcePullAlgorithmCode = "(function (i){\"use strict\";return @assert(@getByIdDirectPrivate(i,\"backpressure\")),@assert(@getByIdDirectPrivate(i,\"backpressureChangePromise\")!==@undefined),@transformStreamSetBackpressure(i,!1),@getByIdDirectPrivate(i,\"backpressureChangePromise\").promise})\n"; +const char* const s_transformStreamInternalsTransformStreamDefaultSourcePullAlgorithmCode = "(function (stream) {\"use strict\";\n @assert(@getByIdDirectPrivate(stream, \"backpressure\"));\n @assert(@getByIdDirectPrivate(stream, \"backpressureChangePromise\") !== @undefined);\n @transformStreamSetBackpressure(stream, false);\n return @getByIdDirectPrivate(stream, \"backpressureChangePromise\").promise;\n})\n"; #define DEFINE_BUILTIN_GENERATOR(codeName, functionName, overriddenName, argumentCount) \ JSC::FunctionExecutable* codeName##Generator(JSC::VM& vm) \ @@ -638,25 +638,25 @@ WEBCORE_FOREACH_TRANSFORMSTREAMINTERNALS_BUILTIN_CODE(DEFINE_BUILTIN_GENERATOR) const JSC::ConstructAbility s_processObjectInternalsBindingCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_processObjectInternalsBindingCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_processObjectInternalsBindingCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_processObjectInternalsBindingCodeLength = 473; +const int s_processObjectInternalsBindingCodeLength = 572; static const JSC::Intrinsic s_processObjectInternalsBindingCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_processObjectInternalsBindingCode = "(function (u){\"use strict\";if(u!==\"constants\")@throwTypeError(\"process.binding() is not supported in Bun. If that breaks something, please file an issue and include a reproducible code sample.\");var p=globalThis.Symbol.for(\"process.bindings.constants\"),r=globalThis[p];if(!r){const{constants:I}=globalThis[globalThis.Symbol.for('Bun.lazy')](\"createImportMeta\",\"node:process\").require(\"node:fs\");r={fs:I,zlib:{},crypto:{},os:@Bun._Os().constants},globalThis[p]=r}return r})\n"; +const char* const s_processObjectInternalsBindingCode = "(function (bindingName) {\"use strict\";\n if (bindingName !== \"constants\")\n @throwTypeError(\"process.binding() is not supported in Bun. If that breaks something, please file an issue and include a reproducible code sample.\");\n var cache = globalThis.Symbol.for(\"process.bindings.constants\");\n var constants = globalThis[cache];\n if (!constants) {\n const { constants: fs } = @requireBuiltin(\"node:fs\");\n constants = {\n fs,\n zlib: {},\n crypto: {},\n os: @Bun._Os().constants\n };\n globalThis[cache] = constants;\n }\n return constants;\n})\n"; // getStdioWriteStream const JSC::ConstructAbility s_processObjectInternalsGetStdioWriteStreamCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_processObjectInternalsGetStdioWriteStreamCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_processObjectInternalsGetStdioWriteStreamCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_processObjectInternalsGetStdioWriteStreamCodeLength = 4505; +const int s_processObjectInternalsGetStdioWriteStreamCodeLength = 11499; static const JSC::Intrinsic s_processObjectInternalsGetStdioWriteStreamCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_processObjectInternalsGetStdioWriteStreamCode = "(function (X,Z){\"use strict\";var N=(J)=>{var L=@requireMap.get(J);if(L)return L.exports;return @internalRequire(J)},I={path:\"node:process\",require:N};function q(J){var{Duplex:L,eos:j,destroy:B}=N(\"node:stream\"),K=class Q extends L{#j;#$;#N=!0;#O=!0;#J;#B;#L;#G;#H;#K;get isTTY(){return this.#K\?\?=N(\"node:tty\").isatty(J)}get fd(){return J}constructor(G){super({readable:!0,writable:!0});this.#J=`/dev/fd/${G}`}#M(G){const H=this.#B;if(this.#B=null,H)H(G);else if(G)this.destroy(G);else if(!this.#N&&!this.#O)this.destroy()}_destroy(G,H){if(!G&&this.#B!==null){var O=class P extends Error{code;name;constructor(V=\"The operation was aborted\",M=void 0){if(M!==void 0&&typeof M!==\"object\")throw new Error(`Invalid AbortError options:\\n\\n${JSON.stringify(M,null,2)}`);super(V,M);this.code=\"ABORT_ERR\",this.name=\"AbortError\"}};G=new O}if(this.#L=null,this.#G=null,this.#B===null)H(G);else{if(this.#B=H,this.#j)B(this.#j,G);if(this.#$)B(this.#$,G)}}_write(G,H,O){if(!this.#j){var{createWriteStream:P}=N(\"node:fs\"),V=this.#j=P(this.#J);V.on(\"finish\",()=>{if(this.#G){const M=this.#G;this.#G=null,M()}}),V.on(\"drain\",()=>{if(this.#L){const M=this.#L;this.#L=null,M()}}),j(V,(M)=>{if(this.#O=!1,M)B(V,M);this.#M(M)})}if(V.write(G,H))O();else this.#L=O}_final(G){this.#j&&this.#j.end(),this.#G=G}#Q(){var{createReadStream:G}=N(\"node:fs\"),H=this.#$=G(this.#J);return H.on(\"readable\",()=>{if(this.#H){const O=this.#H;this.#H=null,O()}else this.read()}),H.on(\"end\",()=>{this.push(null)}),j(H,(O)=>{if(this.#N=!1,O)B(H,O);this.#M(O)}),H}_read(){var G=this.#$;if(!G)G=this.#Q();while(!0){const H=G.read();if(H===null||!this.push(H))return}}};return new K(J)}var{EventEmitter:x}=N(\"node:events\");function Y(J){if(!J)return!0;var L=J.toLowerCase();return L===\"utf8\"||L===\"utf-8\"||L===\"buffer\"||L===\"binary\"}var T,U=[0,0],D=class J extends x{#j;#$;#N;#O;bytesWritten=0;setDefaultEncoding(L){if(this.#$||!Y(L))return this.#L(),this.#$.setDefaultEncoding(L)}#J(){switch(this.#j){case 1:{var L=@Bun.stdout.writer({highWaterMark:0});return L.unref(),L}case 2:{var L=@Bun.stderr.writer({highWaterMark:0});return L.unref(),L}default:throw new Error(\"Unsupported writer\")}}#B(){return this.#N\?\?=this.#J()}constructor(L){super();this.#j=L}get fd(){return this.#j}ref(){this.#B().ref()}unref(){this.#B().unref()}on(L,j){if(L===\"close\"||L===\"finish\")return this.#L(),this.#$.on(L,j);if(L===\"drain\")return super.on(\"drain\",j);if(L===\"error\")return super.on(\"error\",j);return super.on(L,j)}get _writableState(){return this.#L(),this.#$._writableState}get _readableState(){return this.#L(),this.#$._readableState}pipe(L){return this.#L(),this.#$.pipe(L)}unpipe(L){return this.#L(),this.#$.unpipe(L)}#L(){if(this.#$)return;this.#$=q(this.#j);const L=this.eventNames();for(let j of L)this.#$.on(j,(...B)=>{this.emit(j,...B)})}#G(L){var j=this.#B();const B=j.write(L);this.bytesWritten+=B;const K=j.flush(!1);return!!(B||K)}#H(L,j){if(!Y(j))return this.#L(),this.#$.write(L,j);return this.#G(L)}#K(L,j){if(j)this.emit(\"error\",j);try{L(j\?j:null)}catch(B){this.emit(\"error\",B)}}#M(L,j,B){if(!Y(j))return this.#L(),this.#$.write(L,j,B);var K=this.#B();const Q=K.write(L),G=K.flush(!0);if(G\?.then)return G.then(()=>{this.#K(B),this.emit(\"drain\")},(H)=>this.#K(B,H)),!1;return queueMicrotask(()=>{this.#K(B)}),!!(Q||G)}get isTTY(){return!1}write(L,j,B){const K=this._write(L,j,B);if(K)this.emit(\"drain\");return K}get hasColors(){return @Bun.tty[this.#j].hasColors}_write(L,j,B){var K=this.#$;if(K)return K.write(L,j,B);switch(arguments.length){case 0:{var Q=new Error(\"Invalid arguments\");throw Q.code=\"ERR_INVALID_ARG_TYPE\",Q}case 1:return this.#G(L);case 2:if(typeof j===\"function\")return this.#M(L,\"\",j);else if(typeof j===\"string\")return this.#H(L,j);default:{if(typeof j!==\"undefined\"&&typeof j!==\"string\"||typeof B!==\"undefined\"&&typeof B!==\"function\"){var Q=new Error(\"Invalid arguments\");throw Q.code=\"ERR_INVALID_ARG_TYPE\",Q}if(typeof B===\"undefined\")return this.#H(L,j);return this.#M(L,j,B)}}}destroy(){return this}end(){return this}};if(Z(X,U)){var C=class J extends D{get isTTY(){return!0}cursorTo(L,j,B){return(T\?\?=N(\"node:readline\")).cursorTo(this,L,j,B)}moveCursor(L,j,B){return(T\?\?=N(\"node:readline\")).moveCursor(this,L,j,B)}clearLine(L,j){return(T\?\?=N(\"node:readline\")).clearLine(this,L,j)}clearScreenDown(L){return(T\?\?=N(\"node:readline\")).clearScreenDown(this,L)}getWindowSize(){if(Z(X,U)===!0)return[U[0],U[1]]}get columns(){if(Z(X,U)===!0)return U[0]}get rows(){if(Z(X,U)===!0)return U[1]}};return new C(X)}return new D(X)})\n"; +const char* const s_processObjectInternalsGetStdioWriteStreamCode = "(function (fd_, getWindowSize) {\"use strict\";\n var EventEmitter = @requireBuiltin(\"node:events\");\n function createStdioWriteStream(fd_2) {\n var { Duplex, eos, destroy } = @requireBuiltin(\"node:stream\");\n var StdioWriteStream = class StdioWriteStream2 extends Duplex {\n #writeStream;\n #readStream;\n #readable = true;\n #writable = true;\n #fdPath;\n #onClose;\n #onDrain;\n #onFinish;\n #onReadable;\n #isTTY;\n get isTTY() {\n return this.#isTTY \?\?= @requireBuiltin(\"node:tty\").isatty(fd_2);\n }\n get fd() {\n return fd_2;\n }\n constructor(fd) {\n super({ readable: true, writable: true });\n this.#fdPath = `/dev/fd/${fd}`;\n }\n #onFinished(err) {\n const cb = this.#onClose;\n this.#onClose = null;\n if (cb) {\n cb(err);\n } else if (err) {\n this.destroy(err);\n } else if (!this.#readable && !this.#writable) {\n this.destroy();\n }\n }\n _destroy(err, callback) {\n if (!err && this.#onClose !== null) {\n var AbortError = class AbortError2 extends Error {\n code;\n name;\n constructor(message = \"The operation was aborted\", options = undefined) {\n if (options !== undefined && typeof options !== \"object\") {\n throw new Error(`Invalid AbortError options:\\n\\n${JSON.stringify(options, null, 2)}`);\n }\n super(message, options);\n this.code = \"ABORT_ERR\";\n this.name = \"AbortError\";\n }\n };\n err = new AbortError;\n }\n this.#onDrain = null;\n this.#onFinish = null;\n if (this.#onClose === null) {\n callback(err);\n } else {\n this.#onClose = callback;\n if (this.#writeStream)\n destroy(this.#writeStream, err);\n if (this.#readStream)\n destroy(this.#readStream, err);\n }\n }\n _write(chunk, encoding, callback) {\n if (!this.#writeStream) {\n var { createWriteStream } = (() => ({}));\n var stream = this.#writeStream = createWriteStream(this.#fdPath);\n stream.on(\"finish\", () => {\n if (this.#onFinish) {\n const cb = this.#onFinish;\n this.#onFinish = null;\n cb();\n }\n });\n stream.on(\"drain\", () => {\n if (this.#onDrain) {\n const cb = this.#onDrain;\n this.#onDrain = null;\n cb();\n }\n });\n eos(stream, (err) => {\n this.#writable = false;\n if (err) {\n destroy(stream, err);\n }\n this.#onFinished(err);\n });\n }\n if (stream.write(chunk, encoding)) {\n callback();\n } else {\n this.#onDrain = callback;\n }\n }\n _final(callback) {\n this.#writeStream && this.#writeStream.end();\n this.#onFinish = callback;\n }\n #loadReadStream() {\n var { createReadStream } = (() => ({}));\n var readStream = this.#readStream = createReadStream(this.#fdPath);\n readStream.on(\"readable\", () => {\n if (this.#onReadable) {\n const cb = this.#onReadable;\n this.#onReadable = null;\n cb();\n } else {\n this.read();\n }\n });\n readStream.on(\"end\", () => {\n this.push(null);\n });\n eos(readStream, (err) => {\n this.#readable = false;\n if (err) {\n destroy(readStream, err);\n }\n this.#onFinished(err);\n });\n return readStream;\n }\n _read() {\n var stream = this.#readStream;\n if (!stream) {\n stream = this.#loadReadStream();\n }\n while (true) {\n const buf = stream.read();\n if (buf === null || !this.push(buf)) {\n return;\n }\n }\n }\n };\n return new StdioWriteStream(fd_2);\n }\n function isFastEncoding(encoding) {\n if (!encoding)\n return true;\n var normalied = encoding.toLowerCase();\n return normalied === \"utf8\" || normalied === \"utf-8\" || normalied === \"buffer\" || normalied === \"binary\";\n }\n var readline;\n var windowSizeArray = [0, 0];\n var FastStdioWriteStreamInternal = class StdioWriteStream extends EventEmitter {\n #fd;\n #innerStream;\n #writer;\n #isTTY;\n bytesWritten = 0;\n setDefaultEncoding(encoding) {\n if (this.#innerStream || !isFastEncoding(encoding)) {\n this.#ensureInnerStream();\n return this.#innerStream.setDefaultEncoding(encoding);\n }\n }\n #createWriter() {\n switch (this.#fd) {\n case 1: {\n var writer = @Bun.stdout.writer({ highWaterMark: 0 });\n writer.unref();\n return writer;\n }\n case 2: {\n var writer = @Bun.stderr.writer({ highWaterMark: 0 });\n writer.unref();\n return writer;\n }\n default: {\n throw new Error(\"Unsupported writer\");\n }\n }\n }\n #getWriter() {\n return this.#writer \?\?= this.#createWriter();\n }\n constructor(fd_2) {\n super();\n this.#fd = fd_2;\n }\n get fd() {\n return this.#fd;\n }\n ref() {\n this.#getWriter().ref();\n }\n unref() {\n this.#getWriter().unref();\n }\n on(event, listener) {\n if (event === \"close\" || event === \"finish\") {\n this.#ensureInnerStream();\n return this.#innerStream.on(event, listener);\n }\n if (event === \"drain\") {\n return super.on(\"drain\", listener);\n }\n if (event === \"error\") {\n return super.on(\"error\", listener);\n }\n return super.on(event, listener);\n }\n get _writableState() {\n this.#ensureInnerStream();\n return this.#innerStream._writableState;\n }\n get _readableState() {\n this.#ensureInnerStream();\n return this.#innerStream._readableState;\n }\n pipe(destination) {\n this.#ensureInnerStream();\n return this.#innerStream.pipe(destination);\n }\n unpipe(destination) {\n this.#ensureInnerStream();\n return this.#innerStream.unpipe(destination);\n }\n #ensureInnerStream() {\n if (this.#innerStream)\n return;\n this.#innerStream = createStdioWriteStream(this.#fd);\n const events = this.eventNames();\n for (const event of events) {\n this.#innerStream.on(event, (...args) => {\n this.emit(event, ...args);\n });\n }\n }\n #write1(chunk) {\n var writer = this.#getWriter();\n const writeResult = writer.write(chunk);\n this.bytesWritten += writeResult;\n const flushResult = writer.flush(false);\n return !!(writeResult || flushResult);\n }\n #writeWithEncoding(chunk, encoding) {\n if (!isFastEncoding(encoding)) {\n this.#ensureInnerStream();\n return this.#innerStream.write(chunk, encoding);\n }\n return this.#write1(chunk);\n }\n #performCallback(cb, err) {\n if (err) {\n this.emit(\"error\", err);\n }\n try {\n cb(err \? err : null);\n } catch (err2) {\n this.emit(\"error\", err2);\n }\n }\n #writeWithCallbackAndEncoding(chunk, encoding, callback) {\n if (!isFastEncoding(encoding)) {\n this.#ensureInnerStream();\n return this.#innerStream.write(chunk, encoding, callback);\n }\n var writer = this.#getWriter();\n const writeResult = writer.write(chunk);\n const flushResult = writer.flush(true);\n if (flushResult\?.then) {\n flushResult.then(() => {\n this.#performCallback(callback);\n this.emit(\"drain\");\n }, (err) => this.#performCallback(callback, err));\n return false;\n }\n queueMicrotask(() => {\n this.#performCallback(callback);\n });\n return !!(writeResult || flushResult);\n }\n get isTTY() {\n return false;\n }\n write(chunk, encoding, callback) {\n const result = this._write(chunk, encoding, callback);\n if (result) {\n this.emit(\"drain\");\n }\n return result;\n }\n get hasColors() {\n return @Bun.tty[this.#fd].hasColors;\n }\n _write(chunk, encoding, callback) {\n var inner = this.#innerStream;\n if (inner) {\n return inner.write(chunk, encoding, callback);\n }\n switch (arguments.length) {\n case 0: {\n var error = new Error(\"Invalid arguments\");\n error.code = \"ERR_INVALID_ARG_TYPE\";\n throw error;\n }\n case 1: {\n return this.#write1(chunk);\n }\n case 2: {\n if (typeof encoding === \"function\") {\n return this.#writeWithCallbackAndEncoding(chunk, \"\", encoding);\n } else if (typeof encoding === \"string\") {\n return this.#writeWithEncoding(chunk, encoding);\n }\n }\n default: {\n if (typeof encoding !== \"undefined\" && typeof encoding !== \"string\" || typeof callback !== \"undefined\" && typeof callback !== \"function\") {\n var error = new Error(\"Invalid arguments\");\n error.code = \"ERR_INVALID_ARG_TYPE\";\n throw error;\n }\n if (typeof callback === \"undefined\") {\n return this.#writeWithEncoding(chunk, encoding);\n }\n return this.#writeWithCallbackAndEncoding(chunk, encoding, callback);\n }\n }\n }\n destroy() {\n return this;\n }\n end() {\n return this;\n }\n };\n if (getWindowSize(fd_, windowSizeArray)) {\n var WriteStream = class WriteStream2 extends FastStdioWriteStreamInternal {\n get isTTY() {\n return true;\n }\n cursorTo(x, y, callback) {\n return (readline \?\?= (() => ({}))).cursorTo(this, x, y, callback);\n }\n moveCursor(dx, dy, callback) {\n return (readline \?\?= (() => ({}))).moveCursor(this, dx, dy, callback);\n }\n clearLine(dir, callback) {\n return (readline \?\?= (() => ({}))).clearLine(this, dir, callback);\n }\n clearScreenDown(callback) {\n return (readline \?\?= (() => ({}))).clearScreenDown(this, callback);\n }\n getWindowSize() {\n if (getWindowSize(fd_, windowSizeArray) === true) {\n return [windowSizeArray[0], windowSizeArray[1]];\n }\n }\n get columns() {\n if (getWindowSize(fd_, windowSizeArray) === true) {\n return windowSizeArray[0];\n }\n }\n get rows() {\n if (getWindowSize(fd_, windowSizeArray) === true) {\n return windowSizeArray[1];\n }\n }\n };\n return new WriteStream(fd_);\n }\n return new FastStdioWriteStreamInternal(fd_);\n })\n"; // getStdinStream const JSC::ConstructAbility s_processObjectInternalsGetStdinStreamCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_processObjectInternalsGetStdinStreamCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_processObjectInternalsGetStdinStreamCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_processObjectInternalsGetStdinStreamCodeLength = 1866; +const int s_processObjectInternalsGetStdinStreamCodeLength = 4243; static const JSC::Intrinsic s_processObjectInternalsGetStdinStreamCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_processObjectInternalsGetStdinStreamCode = "(function (L){\"use strict\";var H=(J)=>{var j=@requireMap.get(J);if(j)return j.exports;return @internalRequire(J)},T={path:\"node:process\",require:H},{Duplex:N,eos:P,destroy:M}=H(\"node:stream\"),Q=class J extends N{#K;#I;#$;#G=!0;#H=!1;#L=!0;#z;#j;#B;get isTTY(){return H(\"node:tty\").isatty(L)}get fd(){return L}constructor(){super({readable:!0,writable:!0})}#J(j){const I=this.#j;if(this.#j=null,I)I(j);else if(j)this.destroy(j);else if(!this.#G&&!this.#L)this.destroy()}_destroy(j,I){if(!j&&this.#j!==null){var z=class B extends Error{constructor(G=\"The operation was aborted\",K=void 0){if(K!==void 0&&typeof K!==\"object\")throw new Error(`Invalid AbortError options:\\n\\n${JSON.stringify(K,null,2)}`);super(G,K);this.code=\"ABORT_ERR\",this.name=\"AbortError\"}};j=new z}if(this.#j===null)I(j);else if(this.#j=I,this.#$)M(this.#$,j)}setRawMode(j){}on(j,I){if(j===\"readable\")this.ref(),this.#H=!0;return super.on(j,I)}pause(){return this.unref(),super.pause()}resume(){return this.ref(),super.resume()}ref(){this.#K\?\?=@Bun.stdin.stream().getReader(),this.#I\?\?=setInterval(()=>{},1<<30)}unref(){if(this.#I)clearInterval(this.#I),this.#I=null}async#M(){try{var j,I;const z=this.#K.readMany();if(!z\?.then)({done:j,value:I}=z);else({done:j,value:I}=await z);if(!j){this.push(I[0]);const B=I.length;for(let G=1;G{if(this.#z){const z=this.#z;this.#z=null,z()}}),I.on(\"drain\",()=>{if(this.#B){const z=this.#B;this.#B=null,z()}}),P(I,(z)=>{if(this.#L=!1,z)M(I,z);this.#J(z)}),I}_write(j,I,z){var B=this.#$;if(!B)B=this.#N();if(B.write(j,I))z();else this.#B=z}_final(j){this.#$.end(),this.#z=(...I)=>j(...I)}};return new Q})\n"; +const char* const s_processObjectInternalsGetStdinStreamCode = "(function (fd_) {\"use strict\";\n var require2 = (path) => {\n var existing = @requireMap.get(path);\n if (existing)\n return existing.exports;\n return @internalRequire(path);\n };\n var { Duplex, eos, destroy } = require2(\"node:stream\");\n var StdinStream = class StdinStream2 extends Duplex {\n #reader;\n #readRef;\n #writeStream;\n #readable = true;\n #unrefOnRead = false;\n #writable = true;\n #onFinish;\n #onClose;\n #onDrain;\n get isTTY() {\n return require2(\"node:tty\").isatty(fd_);\n }\n get fd() {\n return fd_;\n }\n constructor() {\n super({ readable: true, writable: true });\n }\n #onFinished(err) {\n const cb = this.#onClose;\n this.#onClose = null;\n if (cb) {\n cb(err);\n } else if (err) {\n this.destroy(err);\n } else if (!this.#readable && !this.#writable) {\n this.destroy();\n }\n }\n _destroy(err, callback) {\n if (!err && this.#onClose !== null) {\n var AbortError = class AbortError2 extends Error {\n constructor(message = \"The operation was aborted\", options = undefined) {\n if (options !== undefined && typeof options !== \"object\") {\n throw new Error(`Invalid AbortError options:\\n\\n${JSON.stringify(options, null, 2)}`);\n }\n super(message, options);\n this.code = \"ABORT_ERR\";\n this.name = \"AbortError\";\n }\n };\n err = new AbortError;\n }\n if (this.#onClose === null) {\n callback(err);\n } else {\n this.#onClose = callback;\n if (this.#writeStream)\n destroy(this.#writeStream, err);\n }\n }\n setRawMode(mode) {\n }\n on(name, callback) {\n if (name === \"readable\") {\n this.ref();\n this.#unrefOnRead = true;\n }\n return super.on(name, callback);\n }\n pause() {\n this.unref();\n return super.pause();\n }\n resume() {\n this.ref();\n return super.resume();\n }\n ref() {\n this.#reader \?\?= @Bun.stdin.stream().getReader();\n this.#readRef \?\?= setInterval(() => {\n }, 1 << 30);\n }\n unref() {\n if (this.#readRef) {\n clearInterval(this.#readRef);\n this.#readRef = null;\n }\n }\n async#readInternal() {\n try {\n var done, value;\n const read = this.#reader.readMany();\n if (!read\?.then) {\n ({ done, value } = read);\n } else {\n ({ done, value } = await read);\n }\n if (!done) {\n this.push(value[0]);\n const length = value.length;\n for (let i = 1;i < length; i++) {\n this.push(value[i]);\n }\n } else {\n this.push(null);\n this.pause();\n this.#readable = false;\n this.#onFinished();\n }\n } catch (err) {\n this.#readable = false;\n this.#onFinished(err);\n }\n }\n _read(size) {\n if (this.#unrefOnRead) {\n this.unref();\n this.#unrefOnRead = false;\n }\n this.#readInternal();\n }\n #constructWriteStream() {\n var { createWriteStream } = require2(\"node:fs\");\n var writeStream = this.#writeStream = createWriteStream(\"/dev/fd/0\");\n writeStream.on(\"finish\", () => {\n if (this.#onFinish) {\n const cb = this.#onFinish;\n this.#onFinish = null;\n cb();\n }\n });\n writeStream.on(\"drain\", () => {\n if (this.#onDrain) {\n const cb = this.#onDrain;\n this.#onDrain = null;\n cb();\n }\n });\n eos(writeStream, (err) => {\n this.#writable = false;\n if (err) {\n destroy(writeStream, err);\n }\n this.#onFinished(err);\n });\n return writeStream;\n }\n _write(chunk, encoding, callback) {\n var writeStream = this.#writeStream;\n if (!writeStream) {\n writeStream = this.#constructWriteStream();\n }\n if (writeStream.write(chunk, encoding)) {\n callback();\n } else {\n this.#onDrain = callback;\n }\n }\n _final(callback) {\n this.#writeStream.end();\n this.#onFinish = (...args) => callback(...args);\n }\n };\n return new StdinStream;\n})\n"; #define DEFINE_BUILTIN_GENERATOR(codeName, functionName, overriddenName, argumentCount) \ JSC::FunctionExecutable* codeName##Generator(JSC::VM& vm) \ @@ -672,25 +672,25 @@ WEBCORE_FOREACH_PROCESSOBJECTINTERNALS_BUILTIN_CODE(DEFINE_BUILTIN_GENERATOR) const JSC::ConstructAbility s_transformStreamInitializeTransformStreamCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_transformStreamInitializeTransformStreamCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_transformStreamInitializeTransformStreamCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_transformStreamInitializeTransformStreamCodeLength = 1300; +const int s_transformStreamInitializeTransformStreamCodeLength = 2484; static const JSC::Intrinsic s_transformStreamInitializeTransformStreamCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_transformStreamInitializeTransformStreamCode = "(function (){\"use strict\";let _=arguments[0];if(@isObject(_)&&@getByIdDirectPrivate(_,\"TransformStream\"))return this;let u=arguments[1],U=arguments[2];if(_===@undefined)_=null;if(U===@undefined)U={};if(u===@undefined)u={};let j={};if(_!==null){if(\"start\"in _){if(j.start=_.start,typeof j.start!==\"function\")@throwTypeError(\"transformer.start should be a function\")}if(\"transform\"in _){if(j.transform=_.transform,typeof j.transform!==\"function\")@throwTypeError(\"transformer.transform should be a function\")}if(\"flush\"in _){if(j.flush=_.flush,typeof j.flush!==\"function\")@throwTypeError(\"transformer.flush should be a function\")}if(\"readableType\"in _)@throwRangeError(\"TransformStream transformer has a readableType\");if(\"writableType\"in _)@throwRangeError(\"TransformStream transformer has a writableType\")}const v=@extractHighWaterMark(U,0),x=@extractSizeAlgorithm(U),B=@extractHighWaterMark(u,1),E=@extractSizeAlgorithm(u),q=@newPromiseCapability(@Promise);if(@initializeTransformStream(this,q.promise,B,E,v,x),@setUpTransformStreamDefaultControllerFromTransformer(this,_,j),(\"start\"in j)){const F=@getByIdDirectPrivate(this,\"controller\");(()=>@promiseInvokeOrNoopMethodNoCatch(_,j.start,[F]))().@then(()=>{q.resolve.@call()},(G)=>{q.reject.@call(@undefined,G)})}else q.resolve.@call();return this})\n"; +const char* const s_transformStreamInitializeTransformStreamCode = "(function () {\"use strict\";\n let transformer = arguments[0];\n if (@isObject(transformer) && @getByIdDirectPrivate(transformer, \"TransformStream\"))\n return this;\n let writableStrategy = arguments[1];\n let readableStrategy = arguments[2];\n if (transformer === @undefined)\n transformer = null;\n if (readableStrategy === @undefined)\n readableStrategy = {};\n if (writableStrategy === @undefined)\n writableStrategy = {};\n let transformerDict = {};\n if (transformer !== null) {\n if (\"start\" in transformer) {\n transformerDict[\"start\"] = transformer[\"start\"];\n if (typeof transformerDict[\"start\"] !== \"function\")\n @throwTypeError(\"transformer.start should be a function\");\n }\n if (\"transform\" in transformer) {\n transformerDict[\"transform\"] = transformer[\"transform\"];\n if (typeof transformerDict[\"transform\"] !== \"function\")\n @throwTypeError(\"transformer.transform should be a function\");\n }\n if (\"flush\" in transformer) {\n transformerDict[\"flush\"] = transformer[\"flush\"];\n if (typeof transformerDict[\"flush\"] !== \"function\")\n @throwTypeError(\"transformer.flush should be a function\");\n }\n if (\"readableType\" in transformer)\n @throwRangeError(\"TransformStream transformer has a readableType\");\n if (\"writableType\" in transformer)\n @throwRangeError(\"TransformStream transformer has a writableType\");\n }\n const readableHighWaterMark = @extractHighWaterMark(readableStrategy, 0);\n const readableSizeAlgorithm = @extractSizeAlgorithm(readableStrategy);\n const writableHighWaterMark = @extractHighWaterMark(writableStrategy, 1);\n const writableSizeAlgorithm = @extractSizeAlgorithm(writableStrategy);\n const startPromiseCapability = @newPromiseCapability(@Promise);\n @initializeTransformStream(this, startPromiseCapability.promise, writableHighWaterMark, writableSizeAlgorithm, readableHighWaterMark, readableSizeAlgorithm);\n @setUpTransformStreamDefaultControllerFromTransformer(this, transformer, transformerDict);\n if (\"start\" in transformerDict) {\n const controller = @getByIdDirectPrivate(this, \"controller\");\n const startAlgorithm = () => @promiseInvokeOrNoopMethodNoCatch(transformer, transformerDict[\"start\"], [controller]);\n startAlgorithm().@then(() => {\n startPromiseCapability.resolve.@call();\n }, (error) => {\n startPromiseCapability.reject.@call(@undefined, error);\n });\n } else\n startPromiseCapability.resolve.@call();\n return this;\n})\n"; // readable const JSC::ConstructAbility s_transformStreamReadableCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_transformStreamReadableCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_transformStreamReadableCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_transformStreamReadableCodeLength = 158; +const int s_transformStreamReadableCodeLength = 175; static const JSC::Intrinsic s_transformStreamReadableCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_transformStreamReadableCode = "(function (){\"use strict\";if(!@isTransformStream(this))throw @makeThisTypeError(\"TransformStream\",\"readable\");return @getByIdDirectPrivate(this,\"readable\")})\n"; +const char* const s_transformStreamReadableCode = "(function () {\"use strict\";\n if (!@isTransformStream(this))\n throw @makeThisTypeError(\"TransformStream\", \"readable\");\n return @getByIdDirectPrivate(this, \"readable\");\n})\n"; // writable const JSC::ConstructAbility s_transformStreamWritableCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_transformStreamWritableCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_transformStreamWritableCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_transformStreamWritableCodeLength = 158; +const int s_transformStreamWritableCodeLength = 175; static const JSC::Intrinsic s_transformStreamWritableCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_transformStreamWritableCode = "(function (){\"use strict\";if(!@isTransformStream(this))throw @makeThisTypeError(\"TransformStream\",\"writable\");return @getByIdDirectPrivate(this,\"writable\")})\n"; +const char* const s_transformStreamWritableCode = "(function () {\"use strict\";\n if (!@isTransformStream(this))\n throw @makeThisTypeError(\"TransformStream\", \"writable\");\n return @getByIdDirectPrivate(this, \"writable\");\n})\n"; #define DEFINE_BUILTIN_GENERATOR(codeName, functionName, overriddenName, argumentCount) \ JSC::FunctionExecutable* codeName##Generator(JSC::VM& vm) \ @@ -706,25 +706,33 @@ WEBCORE_FOREACH_TRANSFORMSTREAM_BUILTIN_CODE(DEFINE_BUILTIN_GENERATOR) const JSC::ConstructAbility s_moduleMainCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_moduleMainCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_moduleMainCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_moduleMainCodeLength = 63; +const int s_moduleMainCodeLength = 69; static const JSC::Intrinsic s_moduleMainCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_moduleMainCode = "(function (){\"use strict\";return @requireMap.@get(@Bun.main)})\n"; +const char* const s_moduleMainCode = "(function () {\"use strict\";\n return @requireMap.@get(@Bun.main);\n})\n"; // require const JSC::ConstructAbility s_moduleRequireCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_moduleRequireCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_moduleRequireCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_moduleRequireCodeLength = 1035; +const int s_moduleRequireCodeLength = 1352; static const JSC::Intrinsic s_moduleRequireCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_moduleRequireCode = "(function (_){\"use strict\";const b=@requireMap.@get(_)||@requireMap.@get(_=@resolveSync(_,this.path,!1));if(b)return @evaluateCommonJSModule(b),b.exports;if(_.endsWith(\".json\")||_.endsWith(\".toml\")||_.endsWith(\".node\"))return @internalRequire(_);let S=@Loader.registry.@get(_);if(S\?.evaluated&&(S.state\?\?0)>=@ModuleReady){const M=S.module,f=@Loader.getModuleNamespaceObject(M),r=f\?.[@commonJSSymbol]===0||f\?.default\?.[@commonJSSymbol]===0\?f.default:f.__esModule\?f:Object.create(f,{__esModule:{value:!0}});return @requireMap.@set(_,@createCommonJSModule(_,r,!0)),r}const L=@createCommonJSModule(_,{},!1);@requireMap.@set(_,L);var h=this.@require(_,L);if(h===-1){try{h=@requireESM(_)}catch(M){throw @requireMap.@delete(_),M}if(S=@Loader.registry.@get(_),S\?.evaluated&&(S.state\?\?0)>=@ModuleReady){const M=@Loader.getModuleNamespaceObject(S.module);return L.exports=M\?.[@commonJSSymbol]===0||M\?.default\?.[@commonJSSymbol]===0\?M.default:M.__esModule\?M:Object.create(M,{__esModule:{value:!0}})}}return @evaluateCommonJSModule(L),L.exports})\n"; +const char* const s_moduleRequireCode = "(function (id) {\"use strict\";\n const existing = @requireMap.@get(id) || @requireMap.@get(id = @resolveSync(id, this.path, false));\n if (existing) {\n @evaluateCommonJSModule(existing);\n return existing.exports;\n }\n if (id.endsWith(\".json\") || id.endsWith(\".toml\") || id.endsWith(\".node\")) {\n return @internalRequire(id);\n }\n let esm = @Loader.registry.@get(id);\n if (esm\?.evaluated && (esm.state \?\? 0) >= @ModuleReady) {\n const mod2 = esm.module;\n const namespace = @Loader.getModuleNamespaceObject(mod2);\n const exports = namespace.__esModule \? namespace : Object.create(namespace, { __esModule: { value: true } });\n @requireMap.@set(id, @createCommonJSModule(id, exports, true));\n return exports;\n }\n const mod = @createCommonJSModule(id, {}, false);\n @requireMap.@set(id, mod);\n var out = this.@require(id, mod);\n if (out === -1) {\n try {\n out = @requireESM(id);\n } catch (exception) {\n @requireMap.@delete(id);\n throw exception;\n }\n esm = @Loader.registry.@get(id);\n if (esm\?.evaluated && (esm.state \?\? 0) >= @ModuleReady) {\n const namespace = @Loader.getModuleNamespaceObject(esm.module);\n return mod.exports = namespace.__esModule \? namespace : Object.create(namespace, { __esModule: { value: true } });\n }\n }\n @evaluateCommonJSModule(mod);\n return mod.exports;\n})\n"; + +// requireBuiltin +const JSC::ConstructAbility s_moduleRequireBuiltinCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; +const JSC::ConstructorKind s_moduleRequireBuiltinCodeConstructorKind = JSC::ConstructorKind::None; +const JSC::ImplementationVisibility s_moduleRequireBuiltinCodeImplementationVisibility = JSC::ImplementationVisibility::Public; +const int s_moduleRequireBuiltinCodeLength = 93; +static const JSC::Intrinsic s_moduleRequireBuiltinCodeIntrinsic = JSC::NoIntrinsic; +const char* const s_moduleRequireBuiltinCode = "(function () {\"use strict\";\n throw new Error(\"TODO: moduleRequireBuiltinCodeGenerator\");\n})\n"; // requireResolve const JSC::ConstructAbility s_moduleRequireResolveCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_moduleRequireResolveCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_moduleRequireResolveCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_moduleRequireResolveCodeLength = 65; +const int s_moduleRequireResolveCodeLength = 78; static const JSC::Intrinsic s_moduleRequireResolveCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_moduleRequireResolveCode = "(function (n){\"use strict\";return @resolveSync(n,this.path,!1)})\n"; +const char* const s_moduleRequireResolveCode = "(function (id) {\"use strict\";\n return @resolveSync(id, this.path, false);\n})\n"; #define DEFINE_BUILTIN_GENERATOR(codeName, functionName, overriddenName, argumentCount) \ JSC::FunctionExecutable* codeName##Generator(JSC::VM& vm) \ @@ -740,529 +748,529 @@ WEBCORE_FOREACH_MODULE_BUILTIN_CODE(DEFINE_BUILTIN_GENERATOR) const JSC::ConstructAbility s_jsBufferPrototypeSetBigUint64CodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_jsBufferPrototypeSetBigUint64CodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_jsBufferPrototypeSetBigUint64CodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_jsBufferPrototypeSetBigUint64CodeLength = 136; +const int s_jsBufferPrototypeSetBigUint64CodeLength = 171; static const JSC::Intrinsic s_jsBufferPrototypeSetBigUint64CodeIntrinsic = JSC::NoIntrinsic; -const char* const s_jsBufferPrototypeSetBigUint64Code = "(function (d,r,t){\"use strict\";return(this.@dataView||=new DataView(this.buffer,this.byteOffset,this.byteLength)).setBigUint64(d,r,t)})\n"; +const char* const s_jsBufferPrototypeSetBigUint64Code = "(function (offset, value, le) {\"use strict\";\n return (this.@dataView ||= new DataView(this.buffer, this.byteOffset, this.byteLength)).setBigUint64(offset, value, le);\n})\n"; // readInt8 const JSC::ConstructAbility s_jsBufferPrototypeReadInt8CodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_jsBufferPrototypeReadInt8CodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_jsBufferPrototypeReadInt8CodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_jsBufferPrototypeReadInt8CodeLength = 123; +const int s_jsBufferPrototypeReadInt8CodeLength = 144; static const JSC::Intrinsic s_jsBufferPrototypeReadInt8CodeIntrinsic = JSC::NoIntrinsic; -const char* const s_jsBufferPrototypeReadInt8Code = "(function (d){\"use strict\";return(this.@dataView||=new DataView(this.buffer,this.byteOffset,this.byteLength)).getInt8(d)})\n"; +const char* const s_jsBufferPrototypeReadInt8Code = "(function (offset) {\"use strict\";\n return (this.@dataView ||= new DataView(this.buffer, this.byteOffset, this.byteLength)).getInt8(offset);\n})\n"; // readUInt8 const JSC::ConstructAbility s_jsBufferPrototypeReadUInt8CodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_jsBufferPrototypeReadUInt8CodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_jsBufferPrototypeReadUInt8CodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_jsBufferPrototypeReadUInt8CodeLength = 124; +const int s_jsBufferPrototypeReadUInt8CodeLength = 145; static const JSC::Intrinsic s_jsBufferPrototypeReadUInt8CodeIntrinsic = JSC::NoIntrinsic; -const char* const s_jsBufferPrototypeReadUInt8Code = "(function (d){\"use strict\";return(this.@dataView||=new DataView(this.buffer,this.byteOffset,this.byteLength)).getUint8(d)})\n"; +const char* const s_jsBufferPrototypeReadUInt8Code = "(function (offset) {\"use strict\";\n return (this.@dataView ||= new DataView(this.buffer, this.byteOffset, this.byteLength)).getUint8(offset);\n})\n"; // readInt16LE const JSC::ConstructAbility s_jsBufferPrototypeReadInt16LECodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_jsBufferPrototypeReadInt16LECodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_jsBufferPrototypeReadInt16LECodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_jsBufferPrototypeReadInt16LECodeLength = 127; +const int s_jsBufferPrototypeReadInt16LECodeLength = 151; static const JSC::Intrinsic s_jsBufferPrototypeReadInt16LECodeIntrinsic = JSC::NoIntrinsic; -const char* const s_jsBufferPrototypeReadInt16LECode = "(function (r){\"use strict\";return(this.@dataView||=new DataView(this.buffer,this.byteOffset,this.byteLength)).getInt16(r,!0)})\n"; +const char* const s_jsBufferPrototypeReadInt16LECode = "(function (offset) {\"use strict\";\n return (this.@dataView ||= new DataView(this.buffer, this.byteOffset, this.byteLength)).getInt16(offset, true);\n})\n"; // readInt16BE const JSC::ConstructAbility s_jsBufferPrototypeReadInt16BECodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_jsBufferPrototypeReadInt16BECodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_jsBufferPrototypeReadInt16BECodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_jsBufferPrototypeReadInt16BECodeLength = 127; +const int s_jsBufferPrototypeReadInt16BECodeLength = 152; static const JSC::Intrinsic s_jsBufferPrototypeReadInt16BECodeIntrinsic = JSC::NoIntrinsic; -const char* const s_jsBufferPrototypeReadInt16BECode = "(function (a){\"use strict\";return(this.@dataView||=new DataView(this.buffer,this.byteOffset,this.byteLength)).getInt16(a,!1)})\n"; +const char* const s_jsBufferPrototypeReadInt16BECode = "(function (offset) {\"use strict\";\n return (this.@dataView ||= new DataView(this.buffer, this.byteOffset, this.byteLength)).getInt16(offset, false);\n})\n"; // readUInt16LE const JSC::ConstructAbility s_jsBufferPrototypeReadUInt16LECodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_jsBufferPrototypeReadUInt16LECodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_jsBufferPrototypeReadUInt16LECodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_jsBufferPrototypeReadUInt16LECodeLength = 128; +const int s_jsBufferPrototypeReadUInt16LECodeLength = 152; static const JSC::Intrinsic s_jsBufferPrototypeReadUInt16LECodeIntrinsic = JSC::NoIntrinsic; -const char* const s_jsBufferPrototypeReadUInt16LECode = "(function (r){\"use strict\";return(this.@dataView||=new DataView(this.buffer,this.byteOffset,this.byteLength)).getUint16(r,!0)})\n"; +const char* const s_jsBufferPrototypeReadUInt16LECode = "(function (offset) {\"use strict\";\n return (this.@dataView ||= new DataView(this.buffer, this.byteOffset, this.byteLength)).getUint16(offset, true);\n})\n"; // readUInt16BE const JSC::ConstructAbility s_jsBufferPrototypeReadUInt16BECodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_jsBufferPrototypeReadUInt16BECodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_jsBufferPrototypeReadUInt16BECodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_jsBufferPrototypeReadUInt16BECodeLength = 128; +const int s_jsBufferPrototypeReadUInt16BECodeLength = 153; static const JSC::Intrinsic s_jsBufferPrototypeReadUInt16BECodeIntrinsic = JSC::NoIntrinsic; -const char* const s_jsBufferPrototypeReadUInt16BECode = "(function (a){\"use strict\";return(this.@dataView||=new DataView(this.buffer,this.byteOffset,this.byteLength)).getUint16(a,!1)})\n"; +const char* const s_jsBufferPrototypeReadUInt16BECode = "(function (offset) {\"use strict\";\n return (this.@dataView ||= new DataView(this.buffer, this.byteOffset, this.byteLength)).getUint16(offset, false);\n})\n"; // readInt32LE const JSC::ConstructAbility s_jsBufferPrototypeReadInt32LECodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_jsBufferPrototypeReadInt32LECodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_jsBufferPrototypeReadInt32LECodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_jsBufferPrototypeReadInt32LECodeLength = 127; +const int s_jsBufferPrototypeReadInt32LECodeLength = 151; static const JSC::Intrinsic s_jsBufferPrototypeReadInt32LECodeIntrinsic = JSC::NoIntrinsic; -const char* const s_jsBufferPrototypeReadInt32LECode = "(function (r){\"use strict\";return(this.@dataView||=new DataView(this.buffer,this.byteOffset,this.byteLength)).getInt32(r,!0)})\n"; +const char* const s_jsBufferPrototypeReadInt32LECode = "(function (offset) {\"use strict\";\n return (this.@dataView ||= new DataView(this.buffer, this.byteOffset, this.byteLength)).getInt32(offset, true);\n})\n"; // readInt32BE const JSC::ConstructAbility s_jsBufferPrototypeReadInt32BECodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_jsBufferPrototypeReadInt32BECodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_jsBufferPrototypeReadInt32BECodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_jsBufferPrototypeReadInt32BECodeLength = 127; +const int s_jsBufferPrototypeReadInt32BECodeLength = 152; static const JSC::Intrinsic s_jsBufferPrototypeReadInt32BECodeIntrinsic = JSC::NoIntrinsic; -const char* const s_jsBufferPrototypeReadInt32BECode = "(function (a){\"use strict\";return(this.@dataView||=new DataView(this.buffer,this.byteOffset,this.byteLength)).getInt32(a,!1)})\n"; +const char* const s_jsBufferPrototypeReadInt32BECode = "(function (offset) {\"use strict\";\n return (this.@dataView ||= new DataView(this.buffer, this.byteOffset, this.byteLength)).getInt32(offset, false);\n})\n"; // readUInt32LE const JSC::ConstructAbility s_jsBufferPrototypeReadUInt32LECodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_jsBufferPrototypeReadUInt32LECodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_jsBufferPrototypeReadUInt32LECodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_jsBufferPrototypeReadUInt32LECodeLength = 128; +const int s_jsBufferPrototypeReadUInt32LECodeLength = 152; static const JSC::Intrinsic s_jsBufferPrototypeReadUInt32LECodeIntrinsic = JSC::NoIntrinsic; -const char* const s_jsBufferPrototypeReadUInt32LECode = "(function (r){\"use strict\";return(this.@dataView||=new DataView(this.buffer,this.byteOffset,this.byteLength)).getUint32(r,!0)})\n"; +const char* const s_jsBufferPrototypeReadUInt32LECode = "(function (offset) {\"use strict\";\n return (this.@dataView ||= new DataView(this.buffer, this.byteOffset, this.byteLength)).getUint32(offset, true);\n})\n"; // readUInt32BE const JSC::ConstructAbility s_jsBufferPrototypeReadUInt32BECodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_jsBufferPrototypeReadUInt32BECodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_jsBufferPrototypeReadUInt32BECodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_jsBufferPrototypeReadUInt32BECodeLength = 128; +const int s_jsBufferPrototypeReadUInt32BECodeLength = 153; static const JSC::Intrinsic s_jsBufferPrototypeReadUInt32BECodeIntrinsic = JSC::NoIntrinsic; -const char* const s_jsBufferPrototypeReadUInt32BECode = "(function (a){\"use strict\";return(this.@dataView||=new DataView(this.buffer,this.byteOffset,this.byteLength)).getUint32(a,!1)})\n"; +const char* const s_jsBufferPrototypeReadUInt32BECode = "(function (offset) {\"use strict\";\n return (this.@dataView ||= new DataView(this.buffer, this.byteOffset, this.byteLength)).getUint32(offset, false);\n})\n"; // readIntLE const JSC::ConstructAbility s_jsBufferPrototypeReadIntLECodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_jsBufferPrototypeReadIntLECodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_jsBufferPrototypeReadIntLECodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_jsBufferPrototypeReadIntLECodeLength = 528; +const int s_jsBufferPrototypeReadIntLECodeLength = 874; static const JSC::Intrinsic s_jsBufferPrototypeReadIntLECodeIntrinsic = JSC::NoIntrinsic; -const char* const s_jsBufferPrototypeReadIntLECode = "(function (d,u){\"use strict\";const r=this.@dataView||=new DataView(this.buffer,this.byteOffset,this.byteLength);switch(u){case 1:return r.getInt8(d);case 2:return r.getInt16(d,!0);case 3:{const _=r.getUint16(d,!0)+r.getUint8(d+2)*65536;return _|(_&8388608)*510}case 4:return r.getInt32(d,!0);case 5:{const _=r.getUint8(d+4);return(_|(_&128)*33554430)*4294967296+r.getUint32(d,!0)}case 6:{const _=r.getUint16(d+4,!0);return(_|(_&32768)*131070)*4294967296+r.getUint32(d,!0)}}@throwRangeError(\"byteLength must be >= 1 and <= 6\")})\n"; +const char* const s_jsBufferPrototypeReadIntLECode = "(function (offset, byteLength) {\"use strict\";\n const view = this.@dataView ||= new DataView(this.buffer, this.byteOffset, this.byteLength);\n switch (byteLength) {\n case 1: {\n return view.getInt8(offset);\n }\n case 2: {\n return view.getInt16(offset, true);\n }\n case 3: {\n const val = view.getUint16(offset, true) + view.getUint8(offset + 2) * 65536;\n return val | (val & 8388608) * 510;\n }\n case 4: {\n return view.getInt32(offset, true);\n }\n case 5: {\n const last = view.getUint8(offset + 4);\n return (last | (last & 128) * 33554430) * 4294967296 + view.getUint32(offset, true);\n }\n case 6: {\n const last = view.getUint16(offset + 4, true);\n return (last | (last & 32768) * 131070) * 4294967296 + view.getUint32(offset, true);\n }\n }\n @throwRangeError(\"byteLength must be >= 1 and <= 6\");\n})\n"; // readIntBE const JSC::ConstructAbility s_jsBufferPrototypeReadIntBECodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_jsBufferPrototypeReadIntBECodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_jsBufferPrototypeReadIntBECodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_jsBufferPrototypeReadIntBECodeLength = 528; +const int s_jsBufferPrototypeReadIntBECodeLength = 880; static const JSC::Intrinsic s_jsBufferPrototypeReadIntBECodeIntrinsic = JSC::NoIntrinsic; -const char* const s_jsBufferPrototypeReadIntBECode = "(function (r,c){\"use strict\";const d=this.@dataView||=new DataView(this.buffer,this.byteOffset,this.byteLength);switch(c){case 1:return d.getInt8(r);case 2:return d.getInt16(r,!1);case 3:{const u=d.getUint16(r+1,!1)+d.getUint8(r)*65536;return u|(u&8388608)*510}case 4:return d.getInt32(r,!1);case 5:{const u=d.getUint8(r);return(u|(u&128)*33554430)*4294967296+d.getUint32(r+1,!1)}case 6:{const u=d.getUint16(r,!1);return(u|(u&32768)*131070)*4294967296+d.getUint32(r+2,!1)}}@throwRangeError(\"byteLength must be >= 1 and <= 6\")})\n"; +const char* const s_jsBufferPrototypeReadIntBECode = "(function (offset, byteLength) {\"use strict\";\n const view = this.@dataView ||= new DataView(this.buffer, this.byteOffset, this.byteLength);\n switch (byteLength) {\n case 1: {\n return view.getInt8(offset);\n }\n case 2: {\n return view.getInt16(offset, false);\n }\n case 3: {\n const val = view.getUint16(offset + 1, false) + view.getUint8(offset) * 65536;\n return val | (val & 8388608) * 510;\n }\n case 4: {\n return view.getInt32(offset, false);\n }\n case 5: {\n const last = view.getUint8(offset);\n return (last | (last & 128) * 33554430) * 4294967296 + view.getUint32(offset + 1, false);\n }\n case 6: {\n const last = view.getUint16(offset, false);\n return (last | (last & 32768) * 131070) * 4294967296 + view.getUint32(offset + 2, false);\n }\n }\n @throwRangeError(\"byteLength must be >= 1 and <= 6\");\n})\n"; // readUIntLE const JSC::ConstructAbility s_jsBufferPrototypeReadUIntLECodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_jsBufferPrototypeReadUIntLECodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_jsBufferPrototypeReadUIntLECodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_jsBufferPrototypeReadUIntLECodeLength = 445; +const int s_jsBufferPrototypeReadUIntLECodeLength = 724; static const JSC::Intrinsic s_jsBufferPrototypeReadUIntLECodeIntrinsic = JSC::NoIntrinsic; -const char* const s_jsBufferPrototypeReadUIntLECode = "(function (a,r){\"use strict\";const d=this.@dataView||=new DataView(this.buffer,this.byteOffset,this.byteLength);switch(r){case 1:return d.getUint8(a);case 2:return d.getUint16(a,!0);case 3:return d.getUint16(a,!0)+d.getUint8(a+2)*65536;case 4:return d.getUint32(a,!0);case 5:return d.getUint8(a+4)*4294967296+d.getUint32(a,!0);case 6:return d.getUint16(a+4,!0)*4294967296+d.getUint32(a,!0)}@throwRangeError(\"byteLength must be >= 1 and <= 6\")})\n"; +const char* const s_jsBufferPrototypeReadUIntLECode = "(function (offset, byteLength) {\"use strict\";\n const view = this.@dataView ||= new DataView(this.buffer, this.byteOffset, this.byteLength);\n switch (byteLength) {\n case 1: {\n return view.getUint8(offset);\n }\n case 2: {\n return view.getUint16(offset, true);\n }\n case 3: {\n return view.getUint16(offset, true) + view.getUint8(offset + 2) * 65536;\n }\n case 4: {\n return view.getUint32(offset, true);\n }\n case 5: {\n return view.getUint8(offset + 4) * 4294967296 + view.getUint32(offset, true);\n }\n case 6: {\n return view.getUint16(offset + 4, true) * 4294967296 + view.getUint32(offset, true);\n }\n }\n @throwRangeError(\"byteLength must be >= 1 and <= 6\");\n})\n"; // readUIntBE const JSC::ConstructAbility s_jsBufferPrototypeReadUIntBECodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_jsBufferPrototypeReadUIntBECodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_jsBufferPrototypeReadUIntBECodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_jsBufferPrototypeReadUIntBECodeLength = 504; +const int s_jsBufferPrototypeReadUIntBECodeLength = 836; static const JSC::Intrinsic s_jsBufferPrototypeReadUIntBECodeIntrinsic = JSC::NoIntrinsic; -const char* const s_jsBufferPrototypeReadUIntBECode = "(function (d,p){\"use strict\";const r=this.@dataView||=new DataView(this.buffer,this.byteOffset,this.byteLength);switch(p){case 1:return r.getUint8(d);case 2:return r.getUint16(d,!1);case 3:return r.getUint16(d+1,!1)+r.getUint8(d)*65536;case 4:return r.getUint32(d,!1);case 5:{const c=r.getUint8(d);return(c|(c&128)*33554430)*4294967296+r.getUint32(d+1,!1)}case 6:{const c=r.getUint16(d,!1);return(c|(c&32768)*131070)*4294967296+r.getUint32(d+2,!1)}}@throwRangeError(\"byteLength must be >= 1 and <= 6\")})\n"; +const char* const s_jsBufferPrototypeReadUIntBECode = "(function (offset, byteLength) {\"use strict\";\n const view = this.@dataView ||= new DataView(this.buffer, this.byteOffset, this.byteLength);\n switch (byteLength) {\n case 1: {\n return view.getUint8(offset);\n }\n case 2: {\n return view.getUint16(offset, false);\n }\n case 3: {\n return view.getUint16(offset + 1, false) + view.getUint8(offset) * 65536;\n }\n case 4: {\n return view.getUint32(offset, false);\n }\n case 5: {\n const last = view.getUint8(offset);\n return (last | (last & 128) * 33554430) * 4294967296 + view.getUint32(offset + 1, false);\n }\n case 6: {\n const last = view.getUint16(offset, false);\n return (last | (last & 32768) * 131070) * 4294967296 + view.getUint32(offset + 2, false);\n }\n }\n @throwRangeError(\"byteLength must be >= 1 and <= 6\");\n})\n"; // readFloatLE const JSC::ConstructAbility s_jsBufferPrototypeReadFloatLECodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_jsBufferPrototypeReadFloatLECodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_jsBufferPrototypeReadFloatLECodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_jsBufferPrototypeReadFloatLECodeLength = 129; +const int s_jsBufferPrototypeReadFloatLECodeLength = 153; static const JSC::Intrinsic s_jsBufferPrototypeReadFloatLECodeIntrinsic = JSC::NoIntrinsic; -const char* const s_jsBufferPrototypeReadFloatLECode = "(function (r){\"use strict\";return(this.@dataView||=new DataView(this.buffer,this.byteOffset,this.byteLength)).getFloat32(r,!0)})\n"; +const char* const s_jsBufferPrototypeReadFloatLECode = "(function (offset) {\"use strict\";\n return (this.@dataView ||= new DataView(this.buffer, this.byteOffset, this.byteLength)).getFloat32(offset, true);\n})\n"; // readFloatBE const JSC::ConstructAbility s_jsBufferPrototypeReadFloatBECodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_jsBufferPrototypeReadFloatBECodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_jsBufferPrototypeReadFloatBECodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_jsBufferPrototypeReadFloatBECodeLength = 129; +const int s_jsBufferPrototypeReadFloatBECodeLength = 154; static const JSC::Intrinsic s_jsBufferPrototypeReadFloatBECodeIntrinsic = JSC::NoIntrinsic; -const char* const s_jsBufferPrototypeReadFloatBECode = "(function (a){\"use strict\";return(this.@dataView||=new DataView(this.buffer,this.byteOffset,this.byteLength)).getFloat32(a,!1)})\n"; +const char* const s_jsBufferPrototypeReadFloatBECode = "(function (offset) {\"use strict\";\n return (this.@dataView ||= new DataView(this.buffer, this.byteOffset, this.byteLength)).getFloat32(offset, false);\n})\n"; // readDoubleLE const JSC::ConstructAbility s_jsBufferPrototypeReadDoubleLECodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_jsBufferPrototypeReadDoubleLECodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_jsBufferPrototypeReadDoubleLECodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_jsBufferPrototypeReadDoubleLECodeLength = 129; +const int s_jsBufferPrototypeReadDoubleLECodeLength = 153; static const JSC::Intrinsic s_jsBufferPrototypeReadDoubleLECodeIntrinsic = JSC::NoIntrinsic; -const char* const s_jsBufferPrototypeReadDoubleLECode = "(function (r){\"use strict\";return(this.@dataView||=new DataView(this.buffer,this.byteOffset,this.byteLength)).getFloat64(r,!0)})\n"; +const char* const s_jsBufferPrototypeReadDoubleLECode = "(function (offset) {\"use strict\";\n return (this.@dataView ||= new DataView(this.buffer, this.byteOffset, this.byteLength)).getFloat64(offset, true);\n})\n"; // readDoubleBE const JSC::ConstructAbility s_jsBufferPrototypeReadDoubleBECodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_jsBufferPrototypeReadDoubleBECodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_jsBufferPrototypeReadDoubleBECodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_jsBufferPrototypeReadDoubleBECodeLength = 129; +const int s_jsBufferPrototypeReadDoubleBECodeLength = 154; static const JSC::Intrinsic s_jsBufferPrototypeReadDoubleBECodeIntrinsic = JSC::NoIntrinsic; -const char* const s_jsBufferPrototypeReadDoubleBECode = "(function (a){\"use strict\";return(this.@dataView||=new DataView(this.buffer,this.byteOffset,this.byteLength)).getFloat64(a,!1)})\n"; +const char* const s_jsBufferPrototypeReadDoubleBECode = "(function (offset) {\"use strict\";\n return (this.@dataView ||= new DataView(this.buffer, this.byteOffset, this.byteLength)).getFloat64(offset, false);\n})\n"; // readBigInt64LE const JSC::ConstructAbility s_jsBufferPrototypeReadBigInt64LECodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_jsBufferPrototypeReadBigInt64LECodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_jsBufferPrototypeReadBigInt64LECodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_jsBufferPrototypeReadBigInt64LECodeLength = 130; +const int s_jsBufferPrototypeReadBigInt64LECodeLength = 154; static const JSC::Intrinsic s_jsBufferPrototypeReadBigInt64LECodeIntrinsic = JSC::NoIntrinsic; -const char* const s_jsBufferPrototypeReadBigInt64LECode = "(function (r){\"use strict\";return(this.@dataView||=new DataView(this.buffer,this.byteOffset,this.byteLength)).getBigInt64(r,!0)})\n"; +const char* const s_jsBufferPrototypeReadBigInt64LECode = "(function (offset) {\"use strict\";\n return (this.@dataView ||= new DataView(this.buffer, this.byteOffset, this.byteLength)).getBigInt64(offset, true);\n})\n"; // readBigInt64BE const JSC::ConstructAbility s_jsBufferPrototypeReadBigInt64BECodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_jsBufferPrototypeReadBigInt64BECodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_jsBufferPrototypeReadBigInt64BECodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_jsBufferPrototypeReadBigInt64BECodeLength = 130; +const int s_jsBufferPrototypeReadBigInt64BECodeLength = 155; static const JSC::Intrinsic s_jsBufferPrototypeReadBigInt64BECodeIntrinsic = JSC::NoIntrinsic; -const char* const s_jsBufferPrototypeReadBigInt64BECode = "(function (a){\"use strict\";return(this.@dataView||=new DataView(this.buffer,this.byteOffset,this.byteLength)).getBigInt64(a,!1)})\n"; +const char* const s_jsBufferPrototypeReadBigInt64BECode = "(function (offset) {\"use strict\";\n return (this.@dataView ||= new DataView(this.buffer, this.byteOffset, this.byteLength)).getBigInt64(offset, false);\n})\n"; // readBigUInt64LE const JSC::ConstructAbility s_jsBufferPrototypeReadBigUInt64LECodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_jsBufferPrototypeReadBigUInt64LECodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_jsBufferPrototypeReadBigUInt64LECodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_jsBufferPrototypeReadBigUInt64LECodeLength = 131; +const int s_jsBufferPrototypeReadBigUInt64LECodeLength = 155; static const JSC::Intrinsic s_jsBufferPrototypeReadBigUInt64LECodeIntrinsic = JSC::NoIntrinsic; -const char* const s_jsBufferPrototypeReadBigUInt64LECode = "(function (r){\"use strict\";return(this.@dataView||=new DataView(this.buffer,this.byteOffset,this.byteLength)).getBigUint64(r,!0)})\n"; +const char* const s_jsBufferPrototypeReadBigUInt64LECode = "(function (offset) {\"use strict\";\n return (this.@dataView ||= new DataView(this.buffer, this.byteOffset, this.byteLength)).getBigUint64(offset, true);\n})\n"; // readBigUInt64BE const JSC::ConstructAbility s_jsBufferPrototypeReadBigUInt64BECodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_jsBufferPrototypeReadBigUInt64BECodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_jsBufferPrototypeReadBigUInt64BECodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_jsBufferPrototypeReadBigUInt64BECodeLength = 131; +const int s_jsBufferPrototypeReadBigUInt64BECodeLength = 156; static const JSC::Intrinsic s_jsBufferPrototypeReadBigUInt64BECodeIntrinsic = JSC::NoIntrinsic; -const char* const s_jsBufferPrototypeReadBigUInt64BECode = "(function (a){\"use strict\";return(this.@dataView||=new DataView(this.buffer,this.byteOffset,this.byteLength)).getBigUint64(a,!1)})\n"; +const char* const s_jsBufferPrototypeReadBigUInt64BECode = "(function (offset) {\"use strict\";\n return (this.@dataView ||= new DataView(this.buffer, this.byteOffset, this.byteLength)).getBigUint64(offset, false);\n})\n"; // writeInt8 const JSC::ConstructAbility s_jsBufferPrototypeWriteInt8CodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_jsBufferPrototypeWriteInt8CodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_jsBufferPrototypeWriteInt8CodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_jsBufferPrototypeWriteInt8CodeLength = 131; +const int s_jsBufferPrototypeWriteInt8CodeLength = 172; static const JSC::Intrinsic s_jsBufferPrototypeWriteInt8CodeIntrinsic = JSC::NoIntrinsic; -const char* const s_jsBufferPrototypeWriteInt8Code = "(function (r,d){\"use strict\";return(this.@dataView||=new DataView(this.buffer,this.byteOffset,this.byteLength)).setInt8(d,r),d+1})\n"; +const char* const s_jsBufferPrototypeWriteInt8Code = "(function (value, offset) {\"use strict\";\n (this.@dataView ||= new DataView(this.buffer, this.byteOffset, this.byteLength)).setInt8(offset, value);\n return offset + 1;\n})\n"; // writeUInt8 const JSC::ConstructAbility s_jsBufferPrototypeWriteUInt8CodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_jsBufferPrototypeWriteUInt8CodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_jsBufferPrototypeWriteUInt8CodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_jsBufferPrototypeWriteUInt8CodeLength = 132; +const int s_jsBufferPrototypeWriteUInt8CodeLength = 173; static const JSC::Intrinsic s_jsBufferPrototypeWriteUInt8CodeIntrinsic = JSC::NoIntrinsic; -const char* const s_jsBufferPrototypeWriteUInt8Code = "(function (d,c){\"use strict\";return(this.@dataView||=new DataView(this.buffer,this.byteOffset,this.byteLength)).setUint8(c,d),c+1})\n"; +const char* const s_jsBufferPrototypeWriteUInt8Code = "(function (value, offset) {\"use strict\";\n (this.@dataView ||= new DataView(this.buffer, this.byteOffset, this.byteLength)).setUint8(offset, value);\n return offset + 1;\n})\n"; // writeInt16LE const JSC::ConstructAbility s_jsBufferPrototypeWriteInt16LECodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_jsBufferPrototypeWriteInt16LECodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_jsBufferPrototypeWriteInt16LECodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_jsBufferPrototypeWriteInt16LECodeLength = 135; +const int s_jsBufferPrototypeWriteInt16LECodeLength = 179; static const JSC::Intrinsic s_jsBufferPrototypeWriteInt16LECodeIntrinsic = JSC::NoIntrinsic; -const char* const s_jsBufferPrototypeWriteInt16LECode = "(function (d,c){\"use strict\";return(this.@dataView||=new DataView(this.buffer,this.byteOffset,this.byteLength)).setInt16(c,d,!0),c+2})\n"; +const char* const s_jsBufferPrototypeWriteInt16LECode = "(function (value, offset) {\"use strict\";\n (this.@dataView ||= new DataView(this.buffer, this.byteOffset, this.byteLength)).setInt16(offset, value, true);\n return offset + 2;\n})\n"; // writeInt16BE const JSC::ConstructAbility s_jsBufferPrototypeWriteInt16BECodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_jsBufferPrototypeWriteInt16BECodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_jsBufferPrototypeWriteInt16BECodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_jsBufferPrototypeWriteInt16BECodeLength = 135; +const int s_jsBufferPrototypeWriteInt16BECodeLength = 180; static const JSC::Intrinsic s_jsBufferPrototypeWriteInt16BECodeIntrinsic = JSC::NoIntrinsic; -const char* const s_jsBufferPrototypeWriteInt16BECode = "(function (d,c){\"use strict\";return(this.@dataView||=new DataView(this.buffer,this.byteOffset,this.byteLength)).setInt16(c,d,!1),c+2})\n"; +const char* const s_jsBufferPrototypeWriteInt16BECode = "(function (value, offset) {\"use strict\";\n (this.@dataView ||= new DataView(this.buffer, this.byteOffset, this.byteLength)).setInt16(offset, value, false);\n return offset + 2;\n})\n"; // writeUInt16LE const JSC::ConstructAbility s_jsBufferPrototypeWriteUInt16LECodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_jsBufferPrototypeWriteUInt16LECodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_jsBufferPrototypeWriteUInt16LECodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_jsBufferPrototypeWriteUInt16LECodeLength = 136; +const int s_jsBufferPrototypeWriteUInt16LECodeLength = 180; static const JSC::Intrinsic s_jsBufferPrototypeWriteUInt16LECodeIntrinsic = JSC::NoIntrinsic; -const char* const s_jsBufferPrototypeWriteUInt16LECode = "(function (d,c){\"use strict\";return(this.@dataView||=new DataView(this.buffer,this.byteOffset,this.byteLength)).setUint16(c,d,!0),c+2})\n"; +const char* const s_jsBufferPrototypeWriteUInt16LECode = "(function (value, offset) {\"use strict\";\n (this.@dataView ||= new DataView(this.buffer, this.byteOffset, this.byteLength)).setUint16(offset, value, true);\n return offset + 2;\n})\n"; // writeUInt16BE const JSC::ConstructAbility s_jsBufferPrototypeWriteUInt16BECodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_jsBufferPrototypeWriteUInt16BECodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_jsBufferPrototypeWriteUInt16BECodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_jsBufferPrototypeWriteUInt16BECodeLength = 136; +const int s_jsBufferPrototypeWriteUInt16BECodeLength = 181; static const JSC::Intrinsic s_jsBufferPrototypeWriteUInt16BECodeIntrinsic = JSC::NoIntrinsic; -const char* const s_jsBufferPrototypeWriteUInt16BECode = "(function (d,c){\"use strict\";return(this.@dataView||=new DataView(this.buffer,this.byteOffset,this.byteLength)).setUint16(c,d,!1),c+2})\n"; +const char* const s_jsBufferPrototypeWriteUInt16BECode = "(function (value, offset) {\"use strict\";\n (this.@dataView ||= new DataView(this.buffer, this.byteOffset, this.byteLength)).setUint16(offset, value, false);\n return offset + 2;\n})\n"; // writeInt32LE const JSC::ConstructAbility s_jsBufferPrototypeWriteInt32LECodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_jsBufferPrototypeWriteInt32LECodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_jsBufferPrototypeWriteInt32LECodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_jsBufferPrototypeWriteInt32LECodeLength = 135; +const int s_jsBufferPrototypeWriteInt32LECodeLength = 179; static const JSC::Intrinsic s_jsBufferPrototypeWriteInt32LECodeIntrinsic = JSC::NoIntrinsic; -const char* const s_jsBufferPrototypeWriteInt32LECode = "(function (d,c){\"use strict\";return(this.@dataView||=new DataView(this.buffer,this.byteOffset,this.byteLength)).setInt32(c,d,!0),c+4})\n"; +const char* const s_jsBufferPrototypeWriteInt32LECode = "(function (value, offset) {\"use strict\";\n (this.@dataView ||= new DataView(this.buffer, this.byteOffset, this.byteLength)).setInt32(offset, value, true);\n return offset + 4;\n})\n"; // writeInt32BE const JSC::ConstructAbility s_jsBufferPrototypeWriteInt32BECodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_jsBufferPrototypeWriteInt32BECodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_jsBufferPrototypeWriteInt32BECodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_jsBufferPrototypeWriteInt32BECodeLength = 135; +const int s_jsBufferPrototypeWriteInt32BECodeLength = 180; static const JSC::Intrinsic s_jsBufferPrototypeWriteInt32BECodeIntrinsic = JSC::NoIntrinsic; -const char* const s_jsBufferPrototypeWriteInt32BECode = "(function (d,c){\"use strict\";return(this.@dataView||=new DataView(this.buffer,this.byteOffset,this.byteLength)).setInt32(c,d,!1),c+4})\n"; +const char* const s_jsBufferPrototypeWriteInt32BECode = "(function (value, offset) {\"use strict\";\n (this.@dataView ||= new DataView(this.buffer, this.byteOffset, this.byteLength)).setInt32(offset, value, false);\n return offset + 4;\n})\n"; // writeUInt32LE const JSC::ConstructAbility s_jsBufferPrototypeWriteUInt32LECodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_jsBufferPrototypeWriteUInt32LECodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_jsBufferPrototypeWriteUInt32LECodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_jsBufferPrototypeWriteUInt32LECodeLength = 136; +const int s_jsBufferPrototypeWriteUInt32LECodeLength = 180; static const JSC::Intrinsic s_jsBufferPrototypeWriteUInt32LECodeIntrinsic = JSC::NoIntrinsic; -const char* const s_jsBufferPrototypeWriteUInt32LECode = "(function (d,c){\"use strict\";return(this.@dataView||=new DataView(this.buffer,this.byteOffset,this.byteLength)).setUint32(c,d,!0),c+4})\n"; +const char* const s_jsBufferPrototypeWriteUInt32LECode = "(function (value, offset) {\"use strict\";\n (this.@dataView ||= new DataView(this.buffer, this.byteOffset, this.byteLength)).setUint32(offset, value, true);\n return offset + 4;\n})\n"; // writeUInt32BE const JSC::ConstructAbility s_jsBufferPrototypeWriteUInt32BECodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_jsBufferPrototypeWriteUInt32BECodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_jsBufferPrototypeWriteUInt32BECodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_jsBufferPrototypeWriteUInt32BECodeLength = 136; +const int s_jsBufferPrototypeWriteUInt32BECodeLength = 181; static const JSC::Intrinsic s_jsBufferPrototypeWriteUInt32BECodeIntrinsic = JSC::NoIntrinsic; -const char* const s_jsBufferPrototypeWriteUInt32BECode = "(function (d,c){\"use strict\";return(this.@dataView||=new DataView(this.buffer,this.byteOffset,this.byteLength)).setUint32(c,d,!1),c+4})\n"; +const char* const s_jsBufferPrototypeWriteUInt32BECode = "(function (value, offset) {\"use strict\";\n (this.@dataView ||= new DataView(this.buffer, this.byteOffset, this.byteLength)).setUint32(offset, value, false);\n return offset + 4;\n})\n"; // writeIntLE const JSC::ConstructAbility s_jsBufferPrototypeWriteIntLECodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_jsBufferPrototypeWriteIntLECodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_jsBufferPrototypeWriteIntLECodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_jsBufferPrototypeWriteIntLECodeLength = 573; +const int s_jsBufferPrototypeWriteIntLECodeLength = 995; static const JSC::Intrinsic s_jsBufferPrototypeWriteIntLECodeIntrinsic = JSC::NoIntrinsic; -const char* const s_jsBufferPrototypeWriteIntLECode = "(function (r,d,j){\"use strict\";const c=this.@dataView||=new DataView(this.buffer,this.byteOffset,this.byteLength);switch(j){case 1:{c.setInt8(d,r);break}case 2:{c.setInt16(d,r,!0);break}case 3:{c.setUint16(d,r&65535,!0),c.setInt8(d+2,Math.floor(r*0.0000152587890625));break}case 4:{c.setInt32(d,r,!0);break}case 5:{c.setUint32(d,r|0,!0),c.setInt8(d+4,Math.floor(r*0.00000000023283064365386964));break}case 6:{c.setUint32(d,r|0,!0),c.setInt16(d+4,Math.floor(r*0.00000000023283064365386964),!0);break}default:@throwRangeError(\"byteLength must be >= 1 and <= 6\")}return d+j})\n"; +const char* const s_jsBufferPrototypeWriteIntLECode = "(function (value, offset, byteLength) {\"use strict\";\n const view = this.@dataView ||= new DataView(this.buffer, this.byteOffset, this.byteLength);\n switch (byteLength) {\n case 1: {\n view.setInt8(offset, value);\n break;\n }\n case 2: {\n view.setInt16(offset, value, true);\n break;\n }\n case 3: {\n view.setUint16(offset, value & 65535, true);\n view.setInt8(offset + 2, Math.floor(value * 0.0000152587890625));\n break;\n }\n case 4: {\n view.setInt32(offset, value, true);\n break;\n }\n case 5: {\n view.setUint32(offset, value | 0, true);\n view.setInt8(offset + 4, Math.floor(value * 0.00000000023283064365386964));\n break;\n }\n case 6: {\n view.setUint32(offset, value | 0, true);\n view.setInt16(offset + 4, Math.floor(value * 0.00000000023283064365386964), true);\n break;\n }\n default: {\n @throwRangeError(\"byteLength must be >= 1 and <= 6\");\n }\n }\n return offset + byteLength;\n})\n"; // writeIntBE const JSC::ConstructAbility s_jsBufferPrototypeWriteIntBECodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_jsBufferPrototypeWriteIntBECodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_jsBufferPrototypeWriteIntBECodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_jsBufferPrototypeWriteIntBECodeLength = 573; +const int s_jsBufferPrototypeWriteIntBECodeLength = 1001; static const JSC::Intrinsic s_jsBufferPrototypeWriteIntBECodeIntrinsic = JSC::NoIntrinsic; -const char* const s_jsBufferPrototypeWriteIntBECode = "(function (r,d,c){\"use strict\";const E=this.@dataView||=new DataView(this.buffer,this.byteOffset,this.byteLength);switch(c){case 1:{E.setInt8(d,r);break}case 2:{E.setInt16(d,r,!1);break}case 3:{E.setUint16(d+1,r&65535,!1),E.setInt8(d,Math.floor(r*0.0000152587890625));break}case 4:{E.setInt32(d,r,!1);break}case 5:{E.setUint32(d+1,r|0,!1),E.setInt8(d,Math.floor(r*0.00000000023283064365386964));break}case 6:{E.setUint32(d+2,r|0,!1),E.setInt16(d,Math.floor(r*0.00000000023283064365386964),!1);break}default:@throwRangeError(\"byteLength must be >= 1 and <= 6\")}return d+c})\n"; +const char* const s_jsBufferPrototypeWriteIntBECode = "(function (value, offset, byteLength) {\"use strict\";\n const view = this.@dataView ||= new DataView(this.buffer, this.byteOffset, this.byteLength);\n switch (byteLength) {\n case 1: {\n view.setInt8(offset, value);\n break;\n }\n case 2: {\n view.setInt16(offset, value, false);\n break;\n }\n case 3: {\n view.setUint16(offset + 1, value & 65535, false);\n view.setInt8(offset, Math.floor(value * 0.0000152587890625));\n break;\n }\n case 4: {\n view.setInt32(offset, value, false);\n break;\n }\n case 5: {\n view.setUint32(offset + 1, value | 0, false);\n view.setInt8(offset, Math.floor(value * 0.00000000023283064365386964));\n break;\n }\n case 6: {\n view.setUint32(offset + 2, value | 0, false);\n view.setInt16(offset, Math.floor(value * 0.00000000023283064365386964), false);\n break;\n }\n default: {\n @throwRangeError(\"byteLength must be >= 1 and <= 6\");\n }\n }\n return offset + byteLength;\n})\n"; // writeUIntLE const JSC::ConstructAbility s_jsBufferPrototypeWriteUIntLECodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_jsBufferPrototypeWriteUIntLECodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_jsBufferPrototypeWriteUIntLECodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_jsBufferPrototypeWriteUIntLECodeLength = 579; +const int s_jsBufferPrototypeWriteUIntLECodeLength = 1001; static const JSC::Intrinsic s_jsBufferPrototypeWriteUIntLECodeIntrinsic = JSC::NoIntrinsic; -const char* const s_jsBufferPrototypeWriteUIntLECode = "(function (r,d,c){\"use strict\";const E=this.@dataView||=new DataView(this.buffer,this.byteOffset,this.byteLength);switch(c){case 1:{E.setUint8(d,r);break}case 2:{E.setUint16(d,r,!0);break}case 3:{E.setUint16(d,r&65535,!0),E.setUint8(d+2,Math.floor(r*0.0000152587890625));break}case 4:{E.setUint32(d,r,!0);break}case 5:{E.setUint32(d,r|0,!0),E.setUint8(d+4,Math.floor(r*0.00000000023283064365386964));break}case 6:{E.setUint32(d,r|0,!0),E.setUint16(d+4,Math.floor(r*0.00000000023283064365386964),!0);break}default:@throwRangeError(\"byteLength must be >= 1 and <= 6\")}return d+c})\n"; +const char* const s_jsBufferPrototypeWriteUIntLECode = "(function (value, offset, byteLength) {\"use strict\";\n const view = this.@dataView ||= new DataView(this.buffer, this.byteOffset, this.byteLength);\n switch (byteLength) {\n case 1: {\n view.setUint8(offset, value);\n break;\n }\n case 2: {\n view.setUint16(offset, value, true);\n break;\n }\n case 3: {\n view.setUint16(offset, value & 65535, true);\n view.setUint8(offset + 2, Math.floor(value * 0.0000152587890625));\n break;\n }\n case 4: {\n view.setUint32(offset, value, true);\n break;\n }\n case 5: {\n view.setUint32(offset, value | 0, true);\n view.setUint8(offset + 4, Math.floor(value * 0.00000000023283064365386964));\n break;\n }\n case 6: {\n view.setUint32(offset, value | 0, true);\n view.setUint16(offset + 4, Math.floor(value * 0.00000000023283064365386964), true);\n break;\n }\n default: {\n @throwRangeError(\"byteLength must be >= 1 and <= 6\");\n }\n }\n return offset + byteLength;\n})\n"; // writeUIntBE const JSC::ConstructAbility s_jsBufferPrototypeWriteUIntBECodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_jsBufferPrototypeWriteUIntBECodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_jsBufferPrototypeWriteUIntBECodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_jsBufferPrototypeWriteUIntBECodeLength = 579; +const int s_jsBufferPrototypeWriteUIntBECodeLength = 1007; static const JSC::Intrinsic s_jsBufferPrototypeWriteUIntBECodeIntrinsic = JSC::NoIntrinsic; -const char* const s_jsBufferPrototypeWriteUIntBECode = "(function (r,d,_){\"use strict\";const p=this.@dataView||=new DataView(this.buffer,this.byteOffset,this.byteLength);switch(_){case 1:{p.setUint8(d,r);break}case 2:{p.setUint16(d,r,!1);break}case 3:{p.setUint16(d+1,r&65535,!1),p.setUint8(d,Math.floor(r*0.0000152587890625));break}case 4:{p.setUint32(d,r,!1);break}case 5:{p.setUint32(d+1,r|0,!1),p.setUint8(d,Math.floor(r*0.00000000023283064365386964));break}case 6:{p.setUint32(d+2,r|0,!1),p.setUint16(d,Math.floor(r*0.00000000023283064365386964),!1);break}default:@throwRangeError(\"byteLength must be >= 1 and <= 6\")}return d+_})\n"; +const char* const s_jsBufferPrototypeWriteUIntBECode = "(function (value, offset, byteLength) {\"use strict\";\n const view = this.@dataView ||= new DataView(this.buffer, this.byteOffset, this.byteLength);\n switch (byteLength) {\n case 1: {\n view.setUint8(offset, value);\n break;\n }\n case 2: {\n view.setUint16(offset, value, false);\n break;\n }\n case 3: {\n view.setUint16(offset + 1, value & 65535, false);\n view.setUint8(offset, Math.floor(value * 0.0000152587890625));\n break;\n }\n case 4: {\n view.setUint32(offset, value, false);\n break;\n }\n case 5: {\n view.setUint32(offset + 1, value | 0, false);\n view.setUint8(offset, Math.floor(value * 0.00000000023283064365386964));\n break;\n }\n case 6: {\n view.setUint32(offset + 2, value | 0, false);\n view.setUint16(offset, Math.floor(value * 0.00000000023283064365386964), false);\n break;\n }\n default: {\n @throwRangeError(\"byteLength must be >= 1 and <= 6\");\n }\n }\n return offset + byteLength;\n})\n"; // writeFloatLE const JSC::ConstructAbility s_jsBufferPrototypeWriteFloatLECodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_jsBufferPrototypeWriteFloatLECodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_jsBufferPrototypeWriteFloatLECodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_jsBufferPrototypeWriteFloatLECodeLength = 137; +const int s_jsBufferPrototypeWriteFloatLECodeLength = 181; static const JSC::Intrinsic s_jsBufferPrototypeWriteFloatLECodeIntrinsic = JSC::NoIntrinsic; -const char* const s_jsBufferPrototypeWriteFloatLECode = "(function (d,c){\"use strict\";return(this.@dataView||=new DataView(this.buffer,this.byteOffset,this.byteLength)).setFloat32(c,d,!0),c+4})\n"; +const char* const s_jsBufferPrototypeWriteFloatLECode = "(function (value, offset) {\"use strict\";\n (this.@dataView ||= new DataView(this.buffer, this.byteOffset, this.byteLength)).setFloat32(offset, value, true);\n return offset + 4;\n})\n"; // writeFloatBE const JSC::ConstructAbility s_jsBufferPrototypeWriteFloatBECodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_jsBufferPrototypeWriteFloatBECodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_jsBufferPrototypeWriteFloatBECodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_jsBufferPrototypeWriteFloatBECodeLength = 137; +const int s_jsBufferPrototypeWriteFloatBECodeLength = 182; static const JSC::Intrinsic s_jsBufferPrototypeWriteFloatBECodeIntrinsic = JSC::NoIntrinsic; -const char* const s_jsBufferPrototypeWriteFloatBECode = "(function (d,c){\"use strict\";return(this.@dataView||=new DataView(this.buffer,this.byteOffset,this.byteLength)).setFloat32(c,d,!1),c+4})\n"; +const char* const s_jsBufferPrototypeWriteFloatBECode = "(function (value, offset) {\"use strict\";\n (this.@dataView ||= new DataView(this.buffer, this.byteOffset, this.byteLength)).setFloat32(offset, value, false);\n return offset + 4;\n})\n"; // writeDoubleLE const JSC::ConstructAbility s_jsBufferPrototypeWriteDoubleLECodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_jsBufferPrototypeWriteDoubleLECodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_jsBufferPrototypeWriteDoubleLECodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_jsBufferPrototypeWriteDoubleLECodeLength = 137; +const int s_jsBufferPrototypeWriteDoubleLECodeLength = 181; static const JSC::Intrinsic s_jsBufferPrototypeWriteDoubleLECodeIntrinsic = JSC::NoIntrinsic; -const char* const s_jsBufferPrototypeWriteDoubleLECode = "(function (d,c){\"use strict\";return(this.@dataView||=new DataView(this.buffer,this.byteOffset,this.byteLength)).setFloat64(c,d,!0),c+8})\n"; +const char* const s_jsBufferPrototypeWriteDoubleLECode = "(function (value, offset) {\"use strict\";\n (this.@dataView ||= new DataView(this.buffer, this.byteOffset, this.byteLength)).setFloat64(offset, value, true);\n return offset + 8;\n})\n"; // writeDoubleBE const JSC::ConstructAbility s_jsBufferPrototypeWriteDoubleBECodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_jsBufferPrototypeWriteDoubleBECodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_jsBufferPrototypeWriteDoubleBECodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_jsBufferPrototypeWriteDoubleBECodeLength = 137; +const int s_jsBufferPrototypeWriteDoubleBECodeLength = 182; static const JSC::Intrinsic s_jsBufferPrototypeWriteDoubleBECodeIntrinsic = JSC::NoIntrinsic; -const char* const s_jsBufferPrototypeWriteDoubleBECode = "(function (d,c){\"use strict\";return(this.@dataView||=new DataView(this.buffer,this.byteOffset,this.byteLength)).setFloat64(c,d,!1),c+8})\n"; +const char* const s_jsBufferPrototypeWriteDoubleBECode = "(function (value, offset) {\"use strict\";\n (this.@dataView ||= new DataView(this.buffer, this.byteOffset, this.byteLength)).setFloat64(offset, value, false);\n return offset + 8;\n})\n"; // writeBigInt64LE const JSC::ConstructAbility s_jsBufferPrototypeWriteBigInt64LECodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_jsBufferPrototypeWriteBigInt64LECodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_jsBufferPrototypeWriteBigInt64LECodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_jsBufferPrototypeWriteBigInt64LECodeLength = 138; +const int s_jsBufferPrototypeWriteBigInt64LECodeLength = 182; static const JSC::Intrinsic s_jsBufferPrototypeWriteBigInt64LECodeIntrinsic = JSC::NoIntrinsic; -const char* const s_jsBufferPrototypeWriteBigInt64LECode = "(function (d,c){\"use strict\";return(this.@dataView||=new DataView(this.buffer,this.byteOffset,this.byteLength)).setBigInt64(c,d,!0),c+8})\n"; +const char* const s_jsBufferPrototypeWriteBigInt64LECode = "(function (value, offset) {\"use strict\";\n (this.@dataView ||= new DataView(this.buffer, this.byteOffset, this.byteLength)).setBigInt64(offset, value, true);\n return offset + 8;\n})\n"; // writeBigInt64BE const JSC::ConstructAbility s_jsBufferPrototypeWriteBigInt64BECodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_jsBufferPrototypeWriteBigInt64BECodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_jsBufferPrototypeWriteBigInt64BECodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_jsBufferPrototypeWriteBigInt64BECodeLength = 138; +const int s_jsBufferPrototypeWriteBigInt64BECodeLength = 183; static const JSC::Intrinsic s_jsBufferPrototypeWriteBigInt64BECodeIntrinsic = JSC::NoIntrinsic; -const char* const s_jsBufferPrototypeWriteBigInt64BECode = "(function (d,c){\"use strict\";return(this.@dataView||=new DataView(this.buffer,this.byteOffset,this.byteLength)).setBigInt64(c,d,!1),c+8})\n"; +const char* const s_jsBufferPrototypeWriteBigInt64BECode = "(function (value, offset) {\"use strict\";\n (this.@dataView ||= new DataView(this.buffer, this.byteOffset, this.byteLength)).setBigInt64(offset, value, false);\n return offset + 8;\n})\n"; // writeBigUInt64LE const JSC::ConstructAbility s_jsBufferPrototypeWriteBigUInt64LECodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_jsBufferPrototypeWriteBigUInt64LECodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_jsBufferPrototypeWriteBigUInt64LECodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_jsBufferPrototypeWriteBigUInt64LECodeLength = 139; +const int s_jsBufferPrototypeWriteBigUInt64LECodeLength = 183; static const JSC::Intrinsic s_jsBufferPrototypeWriteBigUInt64LECodeIntrinsic = JSC::NoIntrinsic; -const char* const s_jsBufferPrototypeWriteBigUInt64LECode = "(function (d,c){\"use strict\";return(this.@dataView||=new DataView(this.buffer,this.byteOffset,this.byteLength)).setBigUint64(c,d,!0),c+8})\n"; +const char* const s_jsBufferPrototypeWriteBigUInt64LECode = "(function (value, offset) {\"use strict\";\n (this.@dataView ||= new DataView(this.buffer, this.byteOffset, this.byteLength)).setBigUint64(offset, value, true);\n return offset + 8;\n})\n"; // writeBigUInt64BE const JSC::ConstructAbility s_jsBufferPrototypeWriteBigUInt64BECodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_jsBufferPrototypeWriteBigUInt64BECodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_jsBufferPrototypeWriteBigUInt64BECodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_jsBufferPrototypeWriteBigUInt64BECodeLength = 139; +const int s_jsBufferPrototypeWriteBigUInt64BECodeLength = 184; static const JSC::Intrinsic s_jsBufferPrototypeWriteBigUInt64BECodeIntrinsic = JSC::NoIntrinsic; -const char* const s_jsBufferPrototypeWriteBigUInt64BECode = "(function (d,c){\"use strict\";return(this.@dataView||=new DataView(this.buffer,this.byteOffset,this.byteLength)).setBigUint64(c,d,!1),c+8})\n"; +const char* const s_jsBufferPrototypeWriteBigUInt64BECode = "(function (value, offset) {\"use strict\";\n (this.@dataView ||= new DataView(this.buffer, this.byteOffset, this.byteLength)).setBigUint64(offset, value, false);\n return offset + 8;\n})\n"; // utf8Write const JSC::ConstructAbility s_jsBufferPrototypeUtf8WriteCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_jsBufferPrototypeUtf8WriteCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_jsBufferPrototypeUtf8WriteCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_jsBufferPrototypeUtf8WriteCodeLength = 65; +const int s_jsBufferPrototypeUtf8WriteCodeLength = 102; static const JSC::Intrinsic s_jsBufferPrototypeUtf8WriteCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_jsBufferPrototypeUtf8WriteCode = "(function (d,r,a){\"use strict\";return this.write(d,r,a,\"utf8\")})\n"; +const char* const s_jsBufferPrototypeUtf8WriteCode = "(function (text, offset, length) {\"use strict\";\n return this.write(text, offset, length, \"utf8\");\n})\n"; // ucs2Write const JSC::ConstructAbility s_jsBufferPrototypeUcs2WriteCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_jsBufferPrototypeUcs2WriteCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_jsBufferPrototypeUcs2WriteCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_jsBufferPrototypeUcs2WriteCodeLength = 65; +const int s_jsBufferPrototypeUcs2WriteCodeLength = 102; static const JSC::Intrinsic s_jsBufferPrototypeUcs2WriteCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_jsBufferPrototypeUcs2WriteCode = "(function (c,d,r){\"use strict\";return this.write(c,d,r,\"ucs2\")})\n"; +const char* const s_jsBufferPrototypeUcs2WriteCode = "(function (text, offset, length) {\"use strict\";\n return this.write(text, offset, length, \"ucs2\");\n})\n"; // utf16leWrite const JSC::ConstructAbility s_jsBufferPrototypeUtf16leWriteCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_jsBufferPrototypeUtf16leWriteCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_jsBufferPrototypeUtf16leWriteCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_jsBufferPrototypeUtf16leWriteCodeLength = 68; +const int s_jsBufferPrototypeUtf16leWriteCodeLength = 105; static const JSC::Intrinsic s_jsBufferPrototypeUtf16leWriteCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_jsBufferPrototypeUtf16leWriteCode = "(function (d,r,a){\"use strict\";return this.write(d,r,a,\"utf16le\")})\n"; +const char* const s_jsBufferPrototypeUtf16leWriteCode = "(function (text, offset, length) {\"use strict\";\n return this.write(text, offset, length, \"utf16le\");\n})\n"; // latin1Write const JSC::ConstructAbility s_jsBufferPrototypeLatin1WriteCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_jsBufferPrototypeLatin1WriteCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_jsBufferPrototypeLatin1WriteCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_jsBufferPrototypeLatin1WriteCodeLength = 67; +const int s_jsBufferPrototypeLatin1WriteCodeLength = 104; static const JSC::Intrinsic s_jsBufferPrototypeLatin1WriteCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_jsBufferPrototypeLatin1WriteCode = "(function (a,d,r){\"use strict\";return this.write(a,d,r,\"latin1\")})\n"; +const char* const s_jsBufferPrototypeLatin1WriteCode = "(function (text, offset, length) {\"use strict\";\n return this.write(text, offset, length, \"latin1\");\n})\n"; // asciiWrite const JSC::ConstructAbility s_jsBufferPrototypeAsciiWriteCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_jsBufferPrototypeAsciiWriteCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_jsBufferPrototypeAsciiWriteCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_jsBufferPrototypeAsciiWriteCodeLength = 66; +const int s_jsBufferPrototypeAsciiWriteCodeLength = 103; static const JSC::Intrinsic s_jsBufferPrototypeAsciiWriteCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_jsBufferPrototypeAsciiWriteCode = "(function (c,d,i){\"use strict\";return this.write(c,d,i,\"ascii\")})\n"; +const char* const s_jsBufferPrototypeAsciiWriteCode = "(function (text, offset, length) {\"use strict\";\n return this.write(text, offset, length, \"ascii\");\n})\n"; // base64Write const JSC::ConstructAbility s_jsBufferPrototypeBase64WriteCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_jsBufferPrototypeBase64WriteCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_jsBufferPrototypeBase64WriteCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_jsBufferPrototypeBase64WriteCodeLength = 67; +const int s_jsBufferPrototypeBase64WriteCodeLength = 104; static const JSC::Intrinsic s_jsBufferPrototypeBase64WriteCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_jsBufferPrototypeBase64WriteCode = "(function (a,d,r){\"use strict\";return this.write(a,d,r,\"base64\")})\n"; +const char* const s_jsBufferPrototypeBase64WriteCode = "(function (text, offset, length) {\"use strict\";\n return this.write(text, offset, length, \"base64\");\n})\n"; // base64urlWrite const JSC::ConstructAbility s_jsBufferPrototypeBase64urlWriteCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_jsBufferPrototypeBase64urlWriteCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_jsBufferPrototypeBase64urlWriteCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_jsBufferPrototypeBase64urlWriteCodeLength = 70; +const int s_jsBufferPrototypeBase64urlWriteCodeLength = 107; static const JSC::Intrinsic s_jsBufferPrototypeBase64urlWriteCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_jsBufferPrototypeBase64urlWriteCode = "(function (a,d,r){\"use strict\";return this.write(a,d,r,\"base64url\")})\n"; +const char* const s_jsBufferPrototypeBase64urlWriteCode = "(function (text, offset, length) {\"use strict\";\n return this.write(text, offset, length, \"base64url\");\n})\n"; // hexWrite const JSC::ConstructAbility s_jsBufferPrototypeHexWriteCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_jsBufferPrototypeHexWriteCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_jsBufferPrototypeHexWriteCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_jsBufferPrototypeHexWriteCodeLength = 64; +const int s_jsBufferPrototypeHexWriteCodeLength = 101; static const JSC::Intrinsic s_jsBufferPrototypeHexWriteCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_jsBufferPrototypeHexWriteCode = "(function (d,r,a){\"use strict\";return this.write(d,r,a,\"hex\")})\n"; +const char* const s_jsBufferPrototypeHexWriteCode = "(function (text, offset, length) {\"use strict\";\n return this.write(text, offset, length, \"hex\");\n})\n"; // utf8Slice const JSC::ConstructAbility s_jsBufferPrototypeUtf8SliceCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_jsBufferPrototypeUtf8SliceCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_jsBufferPrototypeUtf8SliceCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_jsBufferPrototypeUtf8SliceCodeLength = 64; +const int s_jsBufferPrototypeUtf8SliceCodeLength = 85; static const JSC::Intrinsic s_jsBufferPrototypeUtf8SliceCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_jsBufferPrototypeUtf8SliceCode = "(function (g,u){\"use strict\";return this.toString(\"utf8\",g,u)})\n"; +const char* const s_jsBufferPrototypeUtf8SliceCode = "(function (start, end) {\"use strict\";\n return this.toString(\"utf8\", start, end);\n})\n"; // ucs2Slice const JSC::ConstructAbility s_jsBufferPrototypeUcs2SliceCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_jsBufferPrototypeUcs2SliceCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_jsBufferPrototypeUcs2SliceCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_jsBufferPrototypeUcs2SliceCodeLength = 64; +const int s_jsBufferPrototypeUcs2SliceCodeLength = 85; static const JSC::Intrinsic s_jsBufferPrototypeUcs2SliceCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_jsBufferPrototypeUcs2SliceCode = "(function (g,u){\"use strict\";return this.toString(\"ucs2\",g,u)})\n"; +const char* const s_jsBufferPrototypeUcs2SliceCode = "(function (start, end) {\"use strict\";\n return this.toString(\"ucs2\", start, end);\n})\n"; // utf16leSlice const JSC::ConstructAbility s_jsBufferPrototypeUtf16leSliceCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_jsBufferPrototypeUtf16leSliceCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_jsBufferPrototypeUtf16leSliceCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_jsBufferPrototypeUtf16leSliceCodeLength = 67; +const int s_jsBufferPrototypeUtf16leSliceCodeLength = 88; static const JSC::Intrinsic s_jsBufferPrototypeUtf16leSliceCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_jsBufferPrototypeUtf16leSliceCode = "(function (g,p){\"use strict\";return this.toString(\"utf16le\",g,p)})\n"; +const char* const s_jsBufferPrototypeUtf16leSliceCode = "(function (start, end) {\"use strict\";\n return this.toString(\"utf16le\", start, end);\n})\n"; // latin1Slice const JSC::ConstructAbility s_jsBufferPrototypeLatin1SliceCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_jsBufferPrototypeLatin1SliceCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_jsBufferPrototypeLatin1SliceCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_jsBufferPrototypeLatin1SliceCodeLength = 66; +const int s_jsBufferPrototypeLatin1SliceCodeLength = 87; static const JSC::Intrinsic s_jsBufferPrototypeLatin1SliceCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_jsBufferPrototypeLatin1SliceCode = "(function (g,p){\"use strict\";return this.toString(\"latin1\",g,p)})\n"; +const char* const s_jsBufferPrototypeLatin1SliceCode = "(function (start, end) {\"use strict\";\n return this.toString(\"latin1\", start, end);\n})\n"; // asciiSlice const JSC::ConstructAbility s_jsBufferPrototypeAsciiSliceCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_jsBufferPrototypeAsciiSliceCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_jsBufferPrototypeAsciiSliceCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_jsBufferPrototypeAsciiSliceCodeLength = 65; +const int s_jsBufferPrototypeAsciiSliceCodeLength = 86; static const JSC::Intrinsic s_jsBufferPrototypeAsciiSliceCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_jsBufferPrototypeAsciiSliceCode = "(function (g,u){\"use strict\";return this.toString(\"ascii\",g,u)})\n"; +const char* const s_jsBufferPrototypeAsciiSliceCode = "(function (start, end) {\"use strict\";\n return this.toString(\"ascii\", start, end);\n})\n"; // base64Slice const JSC::ConstructAbility s_jsBufferPrototypeBase64SliceCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_jsBufferPrototypeBase64SliceCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_jsBufferPrototypeBase64SliceCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_jsBufferPrototypeBase64SliceCodeLength = 66; +const int s_jsBufferPrototypeBase64SliceCodeLength = 87; static const JSC::Intrinsic s_jsBufferPrototypeBase64SliceCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_jsBufferPrototypeBase64SliceCode = "(function (g,p){\"use strict\";return this.toString(\"base64\",g,p)})\n"; +const char* const s_jsBufferPrototypeBase64SliceCode = "(function (start, end) {\"use strict\";\n return this.toString(\"base64\", start, end);\n})\n"; // base64urlSlice const JSC::ConstructAbility s_jsBufferPrototypeBase64urlSliceCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_jsBufferPrototypeBase64urlSliceCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_jsBufferPrototypeBase64urlSliceCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_jsBufferPrototypeBase64urlSliceCodeLength = 69; +const int s_jsBufferPrototypeBase64urlSliceCodeLength = 90; static const JSC::Intrinsic s_jsBufferPrototypeBase64urlSliceCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_jsBufferPrototypeBase64urlSliceCode = "(function (c,g){\"use strict\";return this.toString(\"base64url\",c,g)})\n"; +const char* const s_jsBufferPrototypeBase64urlSliceCode = "(function (start, end) {\"use strict\";\n return this.toString(\"base64url\", start, end);\n})\n"; // hexSlice const JSC::ConstructAbility s_jsBufferPrototypeHexSliceCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_jsBufferPrototypeHexSliceCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_jsBufferPrototypeHexSliceCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_jsBufferPrototypeHexSliceCodeLength = 63; +const int s_jsBufferPrototypeHexSliceCodeLength = 84; static const JSC::Intrinsic s_jsBufferPrototypeHexSliceCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_jsBufferPrototypeHexSliceCode = "(function (g,_){\"use strict\";return this.toString(\"hex\",g,_)})\n"; +const char* const s_jsBufferPrototypeHexSliceCode = "(function (start, end) {\"use strict\";\n return this.toString(\"hex\", start, end);\n})\n"; // toJSON const JSC::ConstructAbility s_jsBufferPrototypeToJSONCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_jsBufferPrototypeToJSONCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_jsBufferPrototypeToJSONCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_jsBufferPrototypeToJSONCodeLength = 73; +const int s_jsBufferPrototypeToJSONCodeLength = 115; static const JSC::Intrinsic s_jsBufferPrototypeToJSONCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_jsBufferPrototypeToJSONCode = "(function (){\"use strict\";return{type:\"Buffer\",data:@Array.from(this)}})\n"; +const char* const s_jsBufferPrototypeToJSONCode = "(function () {\"use strict\";\n const type = \"Buffer\";\n const data = @Array.from(this);\n return { type, data };\n})\n"; // slice const JSC::ConstructAbility s_jsBufferPrototypeSliceCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_jsBufferPrototypeSliceCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_jsBufferPrototypeSliceCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_jsBufferPrototypeSliceCodeLength = 256; +const int s_jsBufferPrototypeSliceCodeLength = 596; static const JSC::Intrinsic s_jsBufferPrototypeSliceCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_jsBufferPrototypeSliceCode = "(function (v,m){\"use strict\";var{buffer:w,byteOffset:x,byteLength:p}=this;function q(c,k){if(c=@trunc(c),c===0||c!==c)return 0;else if(c<0)return c+=k,c>0\?c:0;else return ci\?u-i:0)})\n"; +const char* const s_jsBufferPrototypeSliceCode = "(function (start, end) {\"use strict\";\n var { buffer, byteOffset, byteLength } = this;\n function adjustOffset(offset, length) {\n offset = @trunc(offset);\n if (offset === 0 || offset !== offset) {\n return 0;\n } else if (offset < 0) {\n offset += length;\n return offset > 0 \? offset : 0;\n } else {\n return offset < length \? offset : length;\n }\n }\n var start_ = adjustOffset(start, byteLength);\n var end_ = end !== @undefined \? adjustOffset(end, byteLength) : byteLength;\n return new @Buffer(buffer, byteOffset + start_, end_ > start_ \? end_ - start_ : 0);\n})\n"; // parent const JSC::ConstructAbility s_jsBufferPrototypeParentCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_jsBufferPrototypeParentCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_jsBufferPrototypeParentCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_jsBufferPrototypeParentCodeLength = 99; +const int s_jsBufferPrototypeParentCodeLength = 111; static const JSC::Intrinsic s_jsBufferPrototypeParentCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_jsBufferPrototypeParentCode = "(function (){\"use strict\";return @isObject(this)&&this instanceof @Buffer\?this.buffer:@undefined})\n"; +const char* const s_jsBufferPrototypeParentCode = "(function () {\"use strict\";\n return @isObject(this) && this instanceof @Buffer \? this.buffer : @undefined;\n})\n"; // offset const JSC::ConstructAbility s_jsBufferPrototypeOffsetCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_jsBufferPrototypeOffsetCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_jsBufferPrototypeOffsetCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_jsBufferPrototypeOffsetCodeLength = 103; +const int s_jsBufferPrototypeOffsetCodeLength = 115; static const JSC::Intrinsic s_jsBufferPrototypeOffsetCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_jsBufferPrototypeOffsetCode = "(function (){\"use strict\";return @isObject(this)&&this instanceof @Buffer\?this.byteOffset:@undefined})\n"; +const char* const s_jsBufferPrototypeOffsetCode = "(function () {\"use strict\";\n return @isObject(this) && this instanceof @Buffer \? this.byteOffset : @undefined;\n})\n"; // inspect const JSC::ConstructAbility s_jsBufferPrototypeInspectCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_jsBufferPrototypeInspectCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_jsBufferPrototypeInspectCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_jsBufferPrototypeInspectCodeLength = 57; +const int s_jsBufferPrototypeInspectCodeLength = 77; static const JSC::Intrinsic s_jsBufferPrototypeInspectCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_jsBufferPrototypeInspectCode = "(function (c,d){\"use strict\";return @Bun.inspect(this)})\n"; +const char* const s_jsBufferPrototypeInspectCode = "(function (recurseTimes, ctx) {\"use strict\";\n return @Bun.inspect(this);\n})\n"; #define DEFINE_BUILTIN_GENERATOR(codeName, functionName, overriddenName, argumentCount) \ JSC::FunctionExecutable* codeName##Generator(JSC::VM& vm) \ @@ -1278,49 +1286,49 @@ WEBCORE_FOREACH_JSBUFFERPROTOTYPE_BUILTIN_CODE(DEFINE_BUILTIN_GENERATOR) const JSC::ConstructAbility s_readableByteStreamControllerInitializeReadableByteStreamControllerCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_readableByteStreamControllerInitializeReadableByteStreamControllerCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_readableByteStreamControllerInitializeReadableByteStreamControllerCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_readableByteStreamControllerInitializeReadableByteStreamControllerCodeLength = 253; +const int s_readableByteStreamControllerInitializeReadableByteStreamControllerCodeLength = 351; static const JSC::Intrinsic s_readableByteStreamControllerInitializeReadableByteStreamControllerCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_readableByteStreamControllerInitializeReadableByteStreamControllerCode = "(function (f,l,p){\"use strict\";if(arguments.length!==4&&arguments[3]!==@isReadableStream)@throwTypeError(\"ReadableByteStreamController constructor should not be called directly\");return @privateInitializeReadableByteStreamController.@call(this,f,l,p)})\n"; +const char* const s_readableByteStreamControllerInitializeReadableByteStreamControllerCode = "(function (stream, underlyingByteSource, highWaterMark) {\"use strict\";\n if (arguments.length !== 4 && arguments[3] !== @isReadableStream)\n @throwTypeError(\"ReadableByteStreamController constructor should not be called directly\");\n return @privateInitializeReadableByteStreamController.@call(this, stream, underlyingByteSource, highWaterMark);\n})\n"; // enqueue const JSC::ConstructAbility s_readableByteStreamControllerEnqueueCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_readableByteStreamControllerEnqueueCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_readableByteStreamControllerEnqueueCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_readableByteStreamControllerEnqueueCodeLength = 562; +const int s_readableByteStreamControllerEnqueueCodeLength = 629; static const JSC::Intrinsic s_readableByteStreamControllerEnqueueCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_readableByteStreamControllerEnqueueCode = "(function (r){\"use strict\";if(!@isReadableByteStreamController(this))throw @makeThisTypeError(\"ReadableByteStreamController\",\"enqueue\");if(@getByIdDirectPrivate(this,\"closeRequested\"))@throwTypeError(\"ReadableByteStreamController is requested to close\");if(@getByIdDirectPrivate(@getByIdDirectPrivate(this,\"controlledReadableStream\"),\"state\")!==@streamReadable)@throwTypeError(\"ReadableStream is not readable\");if(!@isObject(r)||!@ArrayBuffer.@isView(r))@throwTypeError(\"Provided chunk is not a TypedArray\");return @readableByteStreamControllerEnqueue(this,r)})\n"; +const char* const s_readableByteStreamControllerEnqueueCode = "(function (chunk) {\"use strict\";\n if (!@isReadableByteStreamController(this))\n throw @makeThisTypeError(\"ReadableByteStreamController\", \"enqueue\");\n if (@getByIdDirectPrivate(this, \"closeRequested\"))\n @throwTypeError(\"ReadableByteStreamController is requested to close\");\n if (@getByIdDirectPrivate(@getByIdDirectPrivate(this, \"controlledReadableStream\"), \"state\") !== @streamReadable)\n @throwTypeError(\"ReadableStream is not readable\");\n if (!@isObject(chunk) || !@ArrayBuffer.@isView(chunk))\n @throwTypeError(\"Provided chunk is not a TypedArray\");\n return @readableByteStreamControllerEnqueue(this, chunk);\n})\n"; // error const JSC::ConstructAbility s_readableByteStreamControllerErrorCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_readableByteStreamControllerErrorCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_readableByteStreamControllerErrorCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_readableByteStreamControllerErrorCodeLength = 336; +const int s_readableByteStreamControllerErrorCodeLength = 374; static const JSC::Intrinsic s_readableByteStreamControllerErrorCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_readableByteStreamControllerErrorCode = "(function (a){\"use strict\";if(!@isReadableByteStreamController(this))throw @makeThisTypeError(\"ReadableByteStreamController\",\"error\");if(@getByIdDirectPrivate(@getByIdDirectPrivate(this,\"controlledReadableStream\"),\"state\")!==@streamReadable)@throwTypeError(\"ReadableStream is not readable\");@readableByteStreamControllerError(this,a)})\n"; +const char* const s_readableByteStreamControllerErrorCode = "(function (error) {\"use strict\";\n if (!@isReadableByteStreamController(this))\n throw @makeThisTypeError(\"ReadableByteStreamController\", \"error\");\n if (@getByIdDirectPrivate(@getByIdDirectPrivate(this, \"controlledReadableStream\"), \"state\") !== @streamReadable)\n @throwTypeError(\"ReadableStream is not readable\");\n @readableByteStreamControllerError(this, error);\n})\n"; // close const JSC::ConstructAbility s_readableByteStreamControllerCloseCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_readableByteStreamControllerCloseCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_readableByteStreamControllerCloseCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_readableByteStreamControllerCloseCodeLength = 433; +const int s_readableByteStreamControllerCloseCodeLength = 472; static const JSC::Intrinsic s_readableByteStreamControllerCloseCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_readableByteStreamControllerCloseCode = "(function (){\"use strict\";if(!@isReadableByteStreamController(this))throw @makeThisTypeError(\"ReadableByteStreamController\",\"close\");if(@getByIdDirectPrivate(this,\"closeRequested\"))@throwTypeError(\"Close has already been requested\");if(@getByIdDirectPrivate(@getByIdDirectPrivate(this,\"controlledReadableStream\"),\"state\")!==@streamReadable)@throwTypeError(\"ReadableStream is not readable\");@readableByteStreamControllerClose(this)})\n"; +const char* const s_readableByteStreamControllerCloseCode = "(function () {\"use strict\";\n if (!@isReadableByteStreamController(this))\n throw @makeThisTypeError(\"ReadableByteStreamController\", \"close\");\n if (@getByIdDirectPrivate(this, \"closeRequested\"))\n @throwTypeError(\"Close has already been requested\");\n if (@getByIdDirectPrivate(@getByIdDirectPrivate(this, \"controlledReadableStream\"), \"state\") !== @streamReadable)\n @throwTypeError(\"ReadableStream is not readable\");\n @readableByteStreamControllerClose(this);\n})\n"; // byobRequest const JSC::ConstructAbility s_readableByteStreamControllerByobRequestCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_readableByteStreamControllerByobRequestCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_readableByteStreamControllerByobRequestCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_readableByteStreamControllerByobRequestCodeLength = 523; +const int s_readableByteStreamControllerByobRequestCodeLength = 738; static const JSC::Intrinsic s_readableByteStreamControllerByobRequestCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_readableByteStreamControllerByobRequestCode = "(function (){\"use strict\";if(!@isReadableByteStreamController(this))throw @makeGetterTypeError(\"ReadableByteStreamController\",\"byobRequest\");var a=@getByIdDirectPrivate(this,\"byobRequest\");if(a===@undefined){var l=@getByIdDirectPrivate(this,\"pendingPullIntos\");const _=l.peek();if(_){const m=new @Uint8Array(_.buffer,_.byteOffset+_.bytesFilled,_.byteLength-_.bytesFilled);@putByIdDirectPrivate(this,\"byobRequest\",new @ReadableStreamBYOBRequest(this,m,@isReadableStream))}}return @getByIdDirectPrivate(this,\"byobRequest\")})\n"; +const char* const s_readableByteStreamControllerByobRequestCode = "(function () {\"use strict\";\n if (!@isReadableByteStreamController(this))\n throw @makeGetterTypeError(\"ReadableByteStreamController\", \"byobRequest\");\n var request = @getByIdDirectPrivate(this, \"byobRequest\");\n if (request === @undefined) {\n var pending = @getByIdDirectPrivate(this, \"pendingPullIntos\");\n const firstDescriptor = pending.peek();\n if (firstDescriptor) {\n const view = new @Uint8Array(firstDescriptor.buffer, firstDescriptor.byteOffset + firstDescriptor.bytesFilled, firstDescriptor.byteLength - firstDescriptor.bytesFilled);\n @putByIdDirectPrivate(this, \"byobRequest\", new @ReadableStreamBYOBRequest(this, view, @isReadableStream));\n }\n }\n return @getByIdDirectPrivate(this, \"byobRequest\");\n})\n"; // desiredSize const JSC::ConstructAbility s_readableByteStreamControllerDesiredSizeCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_readableByteStreamControllerDesiredSizeCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_readableByteStreamControllerDesiredSizeCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_readableByteStreamControllerDesiredSizeCodeLength = 200; +const int s_readableByteStreamControllerDesiredSizeCodeLength = 216; static const JSC::Intrinsic s_readableByteStreamControllerDesiredSizeCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_readableByteStreamControllerDesiredSizeCode = "(function (){\"use strict\";if(!@isReadableByteStreamController(this))throw @makeGetterTypeError(\"ReadableByteStreamController\",\"desiredSize\");return @readableByteStreamControllerGetDesiredSize(this)})\n"; +const char* const s_readableByteStreamControllerDesiredSizeCode = "(function () {\"use strict\";\n if (!@isReadableByteStreamController(this))\n throw @makeGetterTypeError(\"ReadableByteStreamController\", \"desiredSize\");\n return @readableByteStreamControllerGetDesiredSize(this);\n})\n"; #define DEFINE_BUILTIN_GENERATOR(codeName, functionName, overriddenName, argumentCount) \ JSC::FunctionExecutable* codeName##Generator(JSC::VM& vm) \ @@ -1336,17 +1344,17 @@ WEBCORE_FOREACH_READABLEBYTESTREAMCONTROLLER_BUILTIN_CODE(DEFINE_BUILTIN_GENERAT const JSC::ConstructAbility s_consoleObjectAsyncIteratorCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_consoleObjectAsyncIteratorCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_consoleObjectAsyncIteratorCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_consoleObjectAsyncIteratorCodeLength = 577; +const int s_consoleObjectAsyncIteratorCodeLength = 1535; static const JSC::Intrinsic s_consoleObjectAsyncIteratorCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_consoleObjectAsyncIteratorCode = "(function (){\"use strict\";const D=async function*L(){var F=@Bun.stdin.stream().getReader(),G=new globalThis.TextDecoder(\"utf-8\",{fatal:!1}),z,H=@Bun.indexOfLine;try{while(!0){var A,B,w;const m=F.readMany();if(@isPromise(m))({done:A,value:B}=await m);else({done:A,value:B}=m);if(A){if(w)yield G.decode(w);return}var _;for(let J of B){if(_=J,w)_=@Buffer.concat([w,J]),w=null;var j=0,q=H(_,j);while(q!==-1)yield G.decode(_.subarray(j,q)),j=q+1,q=H(_,j);w=_.subarray(j)}}}catch(m){z=m}finally{if(F.releaseLock(),z)throw z}},K=globalThis.Symbol.asyncIterator;return this[K]=D,D()})\n"; +const char* const s_consoleObjectAsyncIteratorCode = "(function () {\"use strict\";\n const Iterator = async function* ConsoleAsyncIterator() {\n const stream = @Bun.stdin.stream();\n var reader = stream.getReader();\n var decoder = new globalThis.TextDecoder(\"utf-8\", { fatal: false });\n var deferredError;\n var indexOf = @Bun.indexOfLine;\n try {\n while (true) {\n var done, value;\n var pendingChunk;\n const firstResult = reader.readMany();\n if (@isPromise(firstResult)) {\n ({ done, value } = await firstResult);\n } else {\n ({ done, value } = firstResult);\n }\n if (done) {\n if (pendingChunk) {\n yield decoder.decode(pendingChunk);\n }\n return;\n }\n var actualChunk;\n for (const chunk of value) {\n actualChunk = chunk;\n if (pendingChunk) {\n actualChunk = @Buffer.concat([pendingChunk, chunk]);\n pendingChunk = null;\n }\n var last = 0;\n var i = indexOf(actualChunk, last);\n while (i !== -1) {\n yield decoder.decode(actualChunk.subarray(last, i));\n last = i + 1;\n i = indexOf(actualChunk, last);\n }\n pendingChunk = actualChunk.subarray(last);\n }\n }\n } catch (e) {\n deferredError = e;\n } finally {\n reader.releaseLock();\n if (deferredError) {\n throw deferredError;\n }\n }\n };\n const symbol = globalThis.Symbol.asyncIterator;\n this[symbol] = Iterator;\n return Iterator();\n})\n"; // write const JSC::ConstructAbility s_consoleObjectWriteCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_consoleObjectWriteCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_consoleObjectWriteCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_consoleObjectWriteCodeLength = 310; +const int s_consoleObjectWriteCodeLength = 482; static const JSC::Intrinsic s_consoleObjectWriteCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_consoleObjectWriteCode = "(function (_){\"use strict\";var a=@getByIdDirectPrivate(this,\"writer\");if(!a){var b=@toLength(_\?.length\?\?0);a=@Bun.stdout.writer({highWaterMark:b>65536\?b:65536}),@putByIdDirectPrivate(this,\"writer\",a)}var c=a.write(_);const f=@argumentCount();for(var d=1;d 65536 \? length : 65536 });\n @putByIdDirectPrivate(this, \"writer\", writer);\n }\n var wrote = writer.write(input);\n const count = @argumentCount();\n for (var i = 1;i < count; i++) {\n wrote += writer.write(@argument(i));\n }\n writer.flush(true);\n return wrote;\n})\n"; #define DEFINE_BUILTIN_GENERATOR(codeName, functionName, overriddenName, argumentCount) \ JSC::FunctionExecutable* codeName##Generator(JSC::VM& vm) \ @@ -1362,513 +1370,513 @@ WEBCORE_FOREACH_CONSOLEOBJECT_BUILTIN_CODE(DEFINE_BUILTIN_GENERATOR) const JSC::ConstructAbility s_readableStreamInternalsReadableStreamReaderGenericInitializeCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_readableStreamInternalsReadableStreamReaderGenericInitializeCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_readableStreamInternalsReadableStreamReaderGenericInitializeCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_readableStreamInternalsReadableStreamReaderGenericInitializeCodeLength = 583; +const int s_readableStreamInternalsReadableStreamReaderGenericInitializeCodeLength = 740; static const JSC::Intrinsic s_readableStreamInternalsReadableStreamReaderGenericInitializeCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_readableStreamInternalsReadableStreamReaderGenericInitializeCode = "(function (l,i){\"use strict\";if(@putByIdDirectPrivate(l,\"ownerReadableStream\",i),@putByIdDirectPrivate(i,\"reader\",l),@getByIdDirectPrivate(i,\"state\")===@streamReadable)@putByIdDirectPrivate(l,\"closedPromiseCapability\",@newPromiseCapability(@Promise));else if(@getByIdDirectPrivate(i,\"state\")===@streamClosed)@putByIdDirectPrivate(l,\"closedPromiseCapability\",{promise:@Promise.@resolve()});else @assert(@getByIdDirectPrivate(i,\"state\")===@streamErrored),@putByIdDirectPrivate(l,\"closedPromiseCapability\",{promise:@newHandledRejectedPromise(@getByIdDirectPrivate(i,\"storedError\"))})})\n"; +const char* const s_readableStreamInternalsReadableStreamReaderGenericInitializeCode = "(function (reader, stream) {\"use strict\";\n @putByIdDirectPrivate(reader, \"ownerReadableStream\", stream);\n @putByIdDirectPrivate(stream, \"reader\", reader);\n if (@getByIdDirectPrivate(stream, \"state\") === @streamReadable)\n @putByIdDirectPrivate(reader, \"closedPromiseCapability\", @newPromiseCapability(@Promise));\n else if (@getByIdDirectPrivate(stream, \"state\") === @streamClosed)\n @putByIdDirectPrivate(reader, \"closedPromiseCapability\", {\n promise: @Promise.@resolve()\n });\n else {\n @assert(@getByIdDirectPrivate(stream, \"state\") === @streamErrored);\n @putByIdDirectPrivate(reader, \"closedPromiseCapability\", {\n promise: @newHandledRejectedPromise(@getByIdDirectPrivate(stream, \"storedError\"))\n });\n }\n})\n"; // privateInitializeReadableStreamDefaultController const JSC::ConstructAbility s_readableStreamInternalsPrivateInitializeReadableStreamDefaultControllerCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_readableStreamInternalsPrivateInitializeReadableStreamDefaultControllerCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_readableStreamInternalsPrivateInitializeReadableStreamDefaultControllerCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_readableStreamInternalsPrivateInitializeReadableStreamDefaultControllerCodeLength = 675; +const int s_readableStreamInternalsPrivateInitializeReadableStreamDefaultControllerCodeLength = 835; static const JSC::Intrinsic s_readableStreamInternalsPrivateInitializeReadableStreamDefaultControllerCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_readableStreamInternalsPrivateInitializeReadableStreamDefaultControllerCode = "(function (d,P,_,b){\"use strict\";if(!@isReadableStream(d))@throwTypeError(\"ReadableStreamDefaultController needs a ReadableStream\");if(@getByIdDirectPrivate(d,\"readableStreamController\")!==null)@throwTypeError(\"ReadableStream already has a controller\");return @putByIdDirectPrivate(this,\"controlledReadableStream\",d),@putByIdDirectPrivate(this,\"underlyingSource\",P),@putByIdDirectPrivate(this,\"queue\",@newQueue()),@putByIdDirectPrivate(this,\"started\",-1),@putByIdDirectPrivate(this,\"closeRequested\",!1),@putByIdDirectPrivate(this,\"pullAgain\",!1),@putByIdDirectPrivate(this,\"pulling\",!1),@putByIdDirectPrivate(this,\"strategy\",@validateAndNormalizeQueuingStrategy(_,b)),this})\n"; +const char* const s_readableStreamInternalsPrivateInitializeReadableStreamDefaultControllerCode = "(function (stream, underlyingSource, size, highWaterMark) {\"use strict\";\n if (!@isReadableStream(stream))\n @throwTypeError(\"ReadableStreamDefaultController needs a ReadableStream\");\n if (@getByIdDirectPrivate(stream, \"readableStreamController\") !== null)\n @throwTypeError(\"ReadableStream already has a controller\");\n @putByIdDirectPrivate(this, \"controlledReadableStream\", stream);\n @putByIdDirectPrivate(this, \"underlyingSource\", underlyingSource);\n @putByIdDirectPrivate(this, \"queue\", @newQueue());\n @putByIdDirectPrivate(this, \"started\", -1);\n @putByIdDirectPrivate(this, \"closeRequested\", false);\n @putByIdDirectPrivate(this, \"pullAgain\", false);\n @putByIdDirectPrivate(this, \"pulling\", false);\n @putByIdDirectPrivate(this, \"strategy\", @validateAndNormalizeQueuingStrategy(size, highWaterMark));\n return this;\n})\n"; // readableStreamDefaultControllerError const JSC::ConstructAbility s_readableStreamInternalsReadableStreamDefaultControllerErrorCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_readableStreamInternalsReadableStreamDefaultControllerErrorCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_readableStreamInternalsReadableStreamDefaultControllerErrorCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_readableStreamInternalsReadableStreamDefaultControllerErrorCodeLength = 223; +const int s_readableStreamInternalsReadableStreamDefaultControllerErrorCodeLength = 304; static const JSC::Intrinsic s_readableStreamInternalsReadableStreamDefaultControllerErrorCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_readableStreamInternalsReadableStreamDefaultControllerErrorCode = "(function (i,d){\"use strict\";const u=@getByIdDirectPrivate(i,\"controlledReadableStream\");if(@getByIdDirectPrivate(u,\"state\")!==@streamReadable)return;@putByIdDirectPrivate(i,\"queue\",@newQueue()),@readableStreamError(u,d)})\n"; +const char* const s_readableStreamInternalsReadableStreamDefaultControllerErrorCode = "(function (controller, error) {\"use strict\";\n const stream = @getByIdDirectPrivate(controller, \"controlledReadableStream\");\n if (@getByIdDirectPrivate(stream, \"state\") !== @streamReadable)\n return;\n @putByIdDirectPrivate(controller, \"queue\", @newQueue());\n @readableStreamError(stream, error);\n})\n"; // readableStreamPipeTo const JSC::ConstructAbility s_readableStreamInternalsReadableStreamPipeToCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_readableStreamInternalsReadableStreamPipeToCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_readableStreamInternalsReadableStreamPipeToCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_readableStreamInternalsReadableStreamPipeToCodeLength = 426; +const int s_readableStreamInternalsReadableStreamPipeToCodeLength = 671; static const JSC::Intrinsic s_readableStreamInternalsReadableStreamPipeToCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_readableStreamInternalsReadableStreamPipeToCode = "(function (S,y){\"use strict\";@assert(@isReadableStream(S));const _=new @ReadableStreamDefaultReader(S);@getByIdDirectPrivate(_,\"closedPromiseCapability\").promise.@then(()=>{},(h)=>{y.error(h)});function b(){@readableStreamDefaultReaderRead(_).@then(function(h){if(h.done){y.close();return}try{y.enqueue(h.value)}catch(c){y.error(\"ReadableStream chunk enqueueing in the sink failed\");return}b()},function(h){y.error(h)})}b()})\n"; +const char* const s_readableStreamInternalsReadableStreamPipeToCode = "(function (stream, sink) {\"use strict\";\n @assert(@isReadableStream(stream));\n const reader = new @ReadableStreamDefaultReader(stream);\n @getByIdDirectPrivate(reader, \"closedPromiseCapability\").promise.@then(() => {\n }, (e) => {\n sink.error(e);\n });\n function doPipe() {\n @readableStreamDefaultReaderRead(reader).@then(function(result) {\n if (result.done) {\n sink.close();\n return;\n }\n try {\n sink.enqueue(result.value);\n } catch (e) {\n sink.error(\"ReadableStream chunk enqueueing in the sink failed\");\n return;\n }\n doPipe();\n }, function(e) {\n sink.error(e);\n });\n }\n doPipe();\n})\n"; // acquireReadableStreamDefaultReader const JSC::ConstructAbility s_readableStreamInternalsAcquireReadableStreamDefaultReaderCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_readableStreamInternalsAcquireReadableStreamDefaultReaderCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_readableStreamInternalsAcquireReadableStreamDefaultReaderCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_readableStreamInternalsAcquireReadableStreamDefaultReaderCodeLength = 127; +const int s_readableStreamInternalsAcquireReadableStreamDefaultReaderCodeLength = 186; static const JSC::Intrinsic s_readableStreamInternalsAcquireReadableStreamDefaultReaderCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_readableStreamInternalsAcquireReadableStreamDefaultReaderCode = "(function (c){\"use strict\";var d=@getByIdDirectPrivate(c,\"start\");if(d)d.@call(c);return new @ReadableStreamDefaultReader(c)})\n"; +const char* const s_readableStreamInternalsAcquireReadableStreamDefaultReaderCode = "(function (stream) {\"use strict\";\n var start = @getByIdDirectPrivate(stream, \"start\");\n if (start) {\n start.@call(stream);\n }\n return new @ReadableStreamDefaultReader(stream);\n})\n"; // setupReadableStreamDefaultController const JSC::ConstructAbility s_readableStreamInternalsSetupReadableStreamDefaultControllerCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_readableStreamInternalsSetupReadableStreamDefaultControllerCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_readableStreamInternalsSetupReadableStreamDefaultControllerCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_readableStreamInternalsSetupReadableStreamDefaultControllerCodeLength = 726; +const int s_readableStreamInternalsSetupReadableStreamDefaultControllerCodeLength = 1226; static const JSC::Intrinsic s_readableStreamInternalsSetupReadableStreamDefaultControllerCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_readableStreamInternalsSetupReadableStreamDefaultControllerCode = "(function (I,f,w,B,J,D,j){\"use strict\";const _=new @ReadableStreamDefaultController(I,f,w,B,@isReadableStream);var q=I.@asyncContext;const E=()=>@promiseInvokeOrNoopMethod(f,D,[_]),F=q\?(b)=>{var G=@getInternalField(@asyncContext,0);@putInternalField(@asyncContext,0,q);var H=@promiseInvokeOrNoopMethod(f,j,[b]);return @putInternalField(@asyncContext,0,G),H}:(b)=>@promiseInvokeOrNoopMethod(f,j,[b]);@putByIdDirectPrivate(_,\"pullAlgorithm\",E),@putByIdDirectPrivate(_,\"cancelAlgorithm\",F),@putByIdDirectPrivate(_,\"pull\",@readableStreamDefaultControllerPull),@putByIdDirectPrivate(_,\"cancel\",@readableStreamDefaultControllerCancel),@putByIdDirectPrivate(I,\"readableStreamController\",_),@readableStreamDefaultControllerStart(_)})\n"; +const char* const s_readableStreamInternalsSetupReadableStreamDefaultControllerCode = "(function (stream, underlyingSource, size, highWaterMark, startMethod, pullMethod, cancelMethod) {\"use strict\";\n const controller = new @ReadableStreamDefaultController(stream, underlyingSource, size, highWaterMark, @isReadableStream);\n var asyncContext = stream.@asyncContext;\n const pullAlgorithm = () => @promiseInvokeOrNoopMethod(underlyingSource, pullMethod, [controller]);\n const cancelAlgorithm = asyncContext \? (reason) => {\n var prev = @getInternalField(@asyncContext, 0);\n @putInternalField(@asyncContext, 0, asyncContext);\n var result = @promiseInvokeOrNoopMethod(underlyingSource, cancelMethod, [reason]);\n @putInternalField(@asyncContext, 0, prev);\n return result;\n } : (reason) => @promiseInvokeOrNoopMethod(underlyingSource, cancelMethod, [reason]);\n @putByIdDirectPrivate(controller, \"pullAlgorithm\", pullAlgorithm);\n @putByIdDirectPrivate(controller, \"cancelAlgorithm\", cancelAlgorithm);\n @putByIdDirectPrivate(controller, \"pull\", @readableStreamDefaultControllerPull);\n @putByIdDirectPrivate(controller, \"cancel\", @readableStreamDefaultControllerCancel);\n @putByIdDirectPrivate(stream, \"readableStreamController\", controller);\n @readableStreamDefaultControllerStart(controller);\n})\n"; // createReadableStreamController const JSC::ConstructAbility s_readableStreamInternalsCreateReadableStreamControllerCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_readableStreamInternalsCreateReadableStreamControllerCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_readableStreamInternalsCreateReadableStreamControllerCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_readableStreamInternalsCreateReadableStreamControllerCodeLength = 671; +const int s_readableStreamInternalsCreateReadableStreamControllerCodeLength = 1085; static const JSC::Intrinsic s_readableStreamInternalsCreateReadableStreamControllerCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_readableStreamInternalsCreateReadableStreamControllerCode = "(function (w,v,f){\"use strict\";const A=v.type,C=@toString(A);if(C===\"bytes\"){if(f.highWaterMark===@undefined)f.highWaterMark=0;if(f.size!==@undefined)@throwRangeError(\"Strategy for a ReadableByteStreamController cannot have a size\");@putByIdDirectPrivate(w,\"readableStreamController\",new @ReadableByteStreamController(w,v,f.highWaterMark,@isReadableStream))}else if(C===\"direct\"){var b=f\?.highWaterMark;@initializeArrayBufferStream.@call(w,v,b)}else if(A===@undefined){if(f.highWaterMark===@undefined)f.highWaterMark=1;@setupReadableStreamDefaultController(w,v,f.size,f.highWaterMark,v.start,v.pull,v.cancel)}else @throwRangeError(\"Invalid type for underlying source\")})\n"; +const char* const s_readableStreamInternalsCreateReadableStreamControllerCode = "(function (stream, underlyingSource, strategy) {\"use strict\";\n const type = underlyingSource.type;\n const typeString = @toString(type);\n if (typeString === \"bytes\") {\n if (strategy.highWaterMark === @undefined)\n strategy.highWaterMark = 0;\n if (strategy.size !== @undefined)\n @throwRangeError(\"Strategy for a ReadableByteStreamController cannot have a size\");\n @putByIdDirectPrivate(stream, \"readableStreamController\", new @ReadableByteStreamController(stream, underlyingSource, strategy.highWaterMark, @isReadableStream));\n } else if (typeString === \"direct\") {\n var highWaterMark = strategy\?.highWaterMark;\n @initializeArrayBufferStream.@call(stream, underlyingSource, highWaterMark);\n } else if (type === @undefined) {\n if (strategy.highWaterMark === @undefined)\n strategy.highWaterMark = 1;\n @setupReadableStreamDefaultController(stream, underlyingSource, strategy.size, strategy.highWaterMark, underlyingSource.start, underlyingSource.pull, underlyingSource.cancel);\n } else\n @throwRangeError(\"Invalid type for underlying source\");\n})\n"; // readableStreamDefaultControllerStart const JSC::ConstructAbility s_readableStreamInternalsReadableStreamDefaultControllerStartCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_readableStreamInternalsReadableStreamDefaultControllerStartCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_readableStreamInternalsReadableStreamDefaultControllerStartCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_readableStreamInternalsReadableStreamDefaultControllerStartCodeLength = 465; +const int s_readableStreamInternalsReadableStreamDefaultControllerStartCodeLength = 713; static const JSC::Intrinsic s_readableStreamInternalsReadableStreamDefaultControllerStartCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_readableStreamInternalsReadableStreamDefaultControllerStartCode = "(function (m){\"use strict\";if(@getByIdDirectPrivate(m,\"started\")!==-1)return;const B=@getByIdDirectPrivate(m,\"underlyingSource\"),a=B.start;@putByIdDirectPrivate(m,\"started\",0),@promiseInvokeOrNoopMethodNoCatch(B,a,[m]).@then(()=>{@putByIdDirectPrivate(m,\"started\",1),@assert(!@getByIdDirectPrivate(m,\"pulling\")),@assert(!@getByIdDirectPrivate(m,\"pullAgain\")),@readableStreamDefaultControllerCallPullIfNeeded(m)},(p)=>{@readableStreamDefaultControllerError(m,p)})})\n"; +const char* const s_readableStreamInternalsReadableStreamDefaultControllerStartCode = "(function (controller) {\"use strict\";\n if (@getByIdDirectPrivate(controller, \"started\") !== -1)\n return;\n const underlyingSource = @getByIdDirectPrivate(controller, \"underlyingSource\");\n const startMethod = underlyingSource.start;\n @putByIdDirectPrivate(controller, \"started\", 0);\n @promiseInvokeOrNoopMethodNoCatch(underlyingSource, startMethod, [controller]).@then(() => {\n @putByIdDirectPrivate(controller, \"started\", 1);\n @assert(!@getByIdDirectPrivate(controller, \"pulling\"));\n @assert(!@getByIdDirectPrivate(controller, \"pullAgain\"));\n @readableStreamDefaultControllerCallPullIfNeeded(controller);\n }, (error) => {\n @readableStreamDefaultControllerError(controller, error);\n });\n})\n"; // readableStreamPipeToWritableStream const JSC::ConstructAbility s_readableStreamInternalsReadableStreamPipeToWritableStreamCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_readableStreamInternalsReadableStreamPipeToWritableStreamCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_readableStreamInternalsReadableStreamPipeToWritableStreamCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_readableStreamInternalsReadableStreamPipeToWritableStreamCodeLength = 1625; +const int s_readableStreamInternalsReadableStreamPipeToWritableStreamCodeLength = 2815; static const JSC::Intrinsic s_readableStreamInternalsReadableStreamPipeToWritableStreamCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_readableStreamInternalsReadableStreamPipeToWritableStreamCode = "(function (E,k,F,G,H,f){\"use strict\";if(@assert(@isReadableStream(E)),@assert(@isWritableStream(k)),@assert(!@isReadableStreamLocked(E)),@assert(!@isWritableStreamLocked(k)),@assert(f===@undefined||@isAbortSignal(f)),@getByIdDirectPrivate(E,\"underlyingByteSource\")!==@undefined)return @Promise.@reject(\"Piping to a readable bytestream is not supported\");let _={source:E,destination:k,preventAbort:G,preventCancel:H,preventClose:F,signal:f};if(_.reader=@acquireReadableStreamDefaultReader(E),_.writer=@acquireWritableStreamDefaultWriter(k),@putByIdDirectPrivate(E,\"disturbed\",!0),_.finalized=!1,_.shuttingDown=!1,_.promiseCapability=@newPromiseCapability(@Promise),_.pendingReadPromiseCapability=@newPromiseCapability(@Promise),_.pendingReadPromiseCapability.resolve.@call(),_.pendingWritePromise=@Promise.@resolve(),f!==@undefined){const I=(q)=>{if(_.finalized)return;@pipeToShutdownWithAction(_,()=>{const J=!_.preventAbort&&@getByIdDirectPrivate(_.destination,\"state\")===\"writable\"\?@writableStreamAbort(_.destination,q):@Promise.@resolve(),K=!_.preventCancel&&@getByIdDirectPrivate(_.source,\"state\")===@streamReadable\?@readableStreamCancel(_.source,q):@Promise.@resolve();let w=@newPromiseCapability(@Promise),x=!0,z=()=>{if(x){x=!1;return}w.resolve.@call()},B=(L)=>{w.reject.@call(@undefined,L)};return J.@then(z,B),K.@then(z,B),w.promise},q)};if(@whenSignalAborted(f,I))return _.promiseCapability.promise}return @pipeToErrorsMustBePropagatedForward(_),@pipeToErrorsMustBePropagatedBackward(_),@pipeToClosingMustBePropagatedForward(_),@pipeToClosingMustBePropagatedBackward(_),@pipeToLoop(_),_.promiseCapability.promise})\n"; +const char* const s_readableStreamInternalsReadableStreamPipeToWritableStreamCode = "(function (source, destination, preventClose, preventAbort, preventCancel, signal) {\"use strict\";\n @assert(@isReadableStream(source));\n @assert(@isWritableStream(destination));\n @assert(!@isReadableStreamLocked(source));\n @assert(!@isWritableStreamLocked(destination));\n @assert(signal === @undefined || @isAbortSignal(signal));\n if (@getByIdDirectPrivate(source, \"underlyingByteSource\") !== @undefined)\n return @Promise.@reject(\"Piping to a readable bytestream is not supported\");\n let pipeState = {\n source,\n destination,\n preventAbort,\n preventCancel,\n preventClose,\n signal\n };\n pipeState.reader = @acquireReadableStreamDefaultReader(source);\n pipeState.writer = @acquireWritableStreamDefaultWriter(destination);\n @putByIdDirectPrivate(source, \"disturbed\", true);\n pipeState.finalized = false;\n pipeState.shuttingDown = false;\n pipeState.promiseCapability = @newPromiseCapability(@Promise);\n pipeState.pendingReadPromiseCapability = @newPromiseCapability(@Promise);\n pipeState.pendingReadPromiseCapability.resolve.@call();\n pipeState.pendingWritePromise = @Promise.@resolve();\n if (signal !== @undefined) {\n const algorithm = (reason) => {\n if (pipeState.finalized)\n return;\n @pipeToShutdownWithAction(pipeState, () => {\n const shouldAbortDestination = !pipeState.preventAbort && @getByIdDirectPrivate(pipeState.destination, \"state\") === \"writable\";\n const promiseDestination = shouldAbortDestination \? @writableStreamAbort(pipeState.destination, reason) : @Promise.@resolve();\n const shouldAbortSource = !pipeState.preventCancel && @getByIdDirectPrivate(pipeState.source, \"state\") === @streamReadable;\n const promiseSource = shouldAbortSource \? @readableStreamCancel(pipeState.source, reason) : @Promise.@resolve();\n let promiseCapability = @newPromiseCapability(@Promise);\n let shouldWait = true;\n let handleResolvedPromise = () => {\n if (shouldWait) {\n shouldWait = false;\n return;\n }\n promiseCapability.resolve.@call();\n };\n let handleRejectedPromise = (e) => {\n promiseCapability.reject.@call(@undefined, e);\n };\n promiseDestination.@then(handleResolvedPromise, handleRejectedPromise);\n promiseSource.@then(handleResolvedPromise, handleRejectedPromise);\n return promiseCapability.promise;\n }, reason);\n };\n if (@whenSignalAborted(signal, algorithm))\n return pipeState.promiseCapability.promise;\n }\n @pipeToErrorsMustBePropagatedForward(pipeState);\n @pipeToErrorsMustBePropagatedBackward(pipeState);\n @pipeToClosingMustBePropagatedForward(pipeState);\n @pipeToClosingMustBePropagatedBackward(pipeState);\n @pipeToLoop(pipeState);\n return pipeState.promiseCapability.promise;\n})\n"; // pipeToLoop const JSC::ConstructAbility s_readableStreamInternalsPipeToLoopCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_readableStreamInternalsPipeToLoopCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_readableStreamInternalsPipeToLoopCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_readableStreamInternalsPipeToLoopCodeLength = 110; +const int s_readableStreamInternalsPipeToLoopCodeLength = 186; static const JSC::Intrinsic s_readableStreamInternalsPipeToLoopCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_readableStreamInternalsPipeToLoopCode = "(function (c){\"use strict\";if(c.shuttingDown)return;@pipeToDoReadWrite(c).@then((d)=>{if(d)@pipeToLoop(c)})})\n"; +const char* const s_readableStreamInternalsPipeToLoopCode = "(function (pipeState) {\"use strict\";\n if (pipeState.shuttingDown)\n return;\n @pipeToDoReadWrite(pipeState).@then((result) => {\n if (result)\n @pipeToLoop(pipeState);\n });\n})\n"; // pipeToDoReadWrite const JSC::ConstructAbility s_readableStreamInternalsPipeToDoReadWriteCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_readableStreamInternalsPipeToDoReadWriteCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_readableStreamInternalsPipeToDoReadWriteCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_readableStreamInternalsPipeToDoReadWriteCodeLength = 725; +const int s_readableStreamInternalsPipeToDoReadWriteCodeLength = 1026; static const JSC::Intrinsic s_readableStreamInternalsPipeToDoReadWriteCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_readableStreamInternalsPipeToDoReadWriteCode = "(function (d){\"use strict\";return @assert(!d.shuttingDown),d.pendingReadPromiseCapability=@newPromiseCapability(@Promise),@getByIdDirectPrivate(d.writer,\"readyPromise\").promise.@then(()=>{if(d.shuttingDown){d.pendingReadPromiseCapability.resolve.@call(@undefined,!1);return}@readableStreamDefaultReaderRead(d.reader).@then((m)=>{const g=!m.done&&@getByIdDirectPrivate(d.writer,\"stream\")!==@undefined;if(d.pendingReadPromiseCapability.resolve.@call(@undefined,g),!g)return;d.pendingWritePromise=@writableStreamDefaultWriterWrite(d.writer,m.value)},(m)=>{d.pendingReadPromiseCapability.resolve.@call(@undefined,!1)})},(m)=>{d.pendingReadPromiseCapability.resolve.@call(@undefined,!1)}),d.pendingReadPromiseCapability.promise})\n"; +const char* const s_readableStreamInternalsPipeToDoReadWriteCode = "(function (pipeState) {\"use strict\";\n @assert(!pipeState.shuttingDown);\n pipeState.pendingReadPromiseCapability = @newPromiseCapability(@Promise);\n @getByIdDirectPrivate(pipeState.writer, \"readyPromise\").promise.@then(() => {\n if (pipeState.shuttingDown) {\n pipeState.pendingReadPromiseCapability.resolve.@call(@undefined, false);\n return;\n }\n @readableStreamDefaultReaderRead(pipeState.reader).@then((result) => {\n const canWrite = !result.done && @getByIdDirectPrivate(pipeState.writer, \"stream\") !== @undefined;\n pipeState.pendingReadPromiseCapability.resolve.@call(@undefined, canWrite);\n if (!canWrite)\n return;\n pipeState.pendingWritePromise = @writableStreamDefaultWriterWrite(pipeState.writer, result.value);\n }, (e) => {\n pipeState.pendingReadPromiseCapability.resolve.@call(@undefined, false);\n });\n }, (e) => {\n pipeState.pendingReadPromiseCapability.resolve.@call(@undefined, false);\n });\n return pipeState.pendingReadPromiseCapability.promise;\n})\n"; // pipeToErrorsMustBePropagatedForward const JSC::ConstructAbility s_readableStreamInternalsPipeToErrorsMustBePropagatedForwardCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_readableStreamInternalsPipeToErrorsMustBePropagatedForwardCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_readableStreamInternalsPipeToErrorsMustBePropagatedForwardCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_readableStreamInternalsPipeToErrorsMustBePropagatedForwardCodeLength = 436; +const int s_readableStreamInternalsPipeToErrorsMustBePropagatedForwardCodeLength = 635; static const JSC::Intrinsic s_readableStreamInternalsPipeToErrorsMustBePropagatedForwardCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_readableStreamInternalsPipeToErrorsMustBePropagatedForwardCode = "(function (s){\"use strict\";const _=()=>{s.pendingReadPromiseCapability.resolve.@call(@undefined,!1);const g=@getByIdDirectPrivate(s.source,\"storedError\");if(!s.preventAbort){@pipeToShutdownWithAction(s,()=>@writableStreamAbort(s.destination,g),g);return}@pipeToShutdown(s,g)};if(@getByIdDirectPrivate(s.source,\"state\")===@streamErrored){_();return}@getByIdDirectPrivate(s.reader,\"closedPromiseCapability\").promise.@then(@undefined,_)})\n"; +const char* const s_readableStreamInternalsPipeToErrorsMustBePropagatedForwardCode = "(function (pipeState) {\"use strict\";\n const action = () => {\n pipeState.pendingReadPromiseCapability.resolve.@call(@undefined, false);\n const error = @getByIdDirectPrivate(pipeState.source, \"storedError\");\n if (!pipeState.preventAbort) {\n @pipeToShutdownWithAction(pipeState, () => @writableStreamAbort(pipeState.destination, error), error);\n return;\n }\n @pipeToShutdown(pipeState, error);\n };\n if (@getByIdDirectPrivate(pipeState.source, \"state\") === @streamErrored) {\n action();\n return;\n }\n @getByIdDirectPrivate(pipeState.reader, \"closedPromiseCapability\").promise.@then(@undefined, action);\n})\n"; // pipeToErrorsMustBePropagatedBackward const JSC::ConstructAbility s_readableStreamInternalsPipeToErrorsMustBePropagatedBackwardCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_readableStreamInternalsPipeToErrorsMustBePropagatedBackwardCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_readableStreamInternalsPipeToErrorsMustBePropagatedBackwardCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_readableStreamInternalsPipeToErrorsMustBePropagatedBackwardCodeLength = 368; +const int s_readableStreamInternalsPipeToErrorsMustBePropagatedBackwardCodeLength = 550; static const JSC::Intrinsic s_readableStreamInternalsPipeToErrorsMustBePropagatedBackwardCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_readableStreamInternalsPipeToErrorsMustBePropagatedBackwardCode = "(function (m){\"use strict\";const h=()=>{const d=@getByIdDirectPrivate(m.destination,\"storedError\");if(!m.preventCancel){@pipeToShutdownWithAction(m,()=>@readableStreamCancel(m.source,d),d);return}@pipeToShutdown(m,d)};if(@getByIdDirectPrivate(m.destination,\"state\")===\"errored\"){h();return}@getByIdDirectPrivate(m.writer,\"closedPromise\").promise.@then(@undefined,h)})\n"; +const char* const s_readableStreamInternalsPipeToErrorsMustBePropagatedBackwardCode = "(function (pipeState) {\"use strict\";\n const action = () => {\n const error = @getByIdDirectPrivate(pipeState.destination, \"storedError\");\n if (!pipeState.preventCancel) {\n @pipeToShutdownWithAction(pipeState, () => @readableStreamCancel(pipeState.source, error), error);\n return;\n }\n @pipeToShutdown(pipeState, error);\n };\n if (@getByIdDirectPrivate(pipeState.destination, \"state\") === \"errored\") {\n action();\n return;\n }\n @getByIdDirectPrivate(pipeState.writer, \"closedPromise\").promise.@then(@undefined, action);\n})\n"; // pipeToClosingMustBePropagatedForward const JSC::ConstructAbility s_readableStreamInternalsPipeToClosingMustBePropagatedForwardCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_readableStreamInternalsPipeToClosingMustBePropagatedForwardCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_readableStreamInternalsPipeToClosingMustBePropagatedForwardCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_readableStreamInternalsPipeToClosingMustBePropagatedForwardCodeLength = 403; +const int s_readableStreamInternalsPipeToClosingMustBePropagatedForwardCodeLength = 567; static const JSC::Intrinsic s_readableStreamInternalsPipeToClosingMustBePropagatedForwardCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_readableStreamInternalsPipeToClosingMustBePropagatedForwardCode = "(function (_){\"use strict\";const r=()=>{if(_.pendingReadPromiseCapability.resolve.@call(@undefined,!1),!_.preventClose){@pipeToShutdownWithAction(_,()=>@writableStreamDefaultWriterCloseWithErrorPropagation(_.writer));return}@pipeToShutdown(_)};if(@getByIdDirectPrivate(_.source,\"state\")===@streamClosed){r();return}@getByIdDirectPrivate(_.reader,\"closedPromiseCapability\").promise.@then(r,@undefined)})\n"; +const char* const s_readableStreamInternalsPipeToClosingMustBePropagatedForwardCode = "(function (pipeState) {\"use strict\";\n const action = () => {\n pipeState.pendingReadPromiseCapability.resolve.@call(@undefined, false);\n if (!pipeState.preventClose) {\n @pipeToShutdownWithAction(pipeState, () => @writableStreamDefaultWriterCloseWithErrorPropagation(pipeState.writer));\n return;\n }\n @pipeToShutdown(pipeState);\n };\n if (@getByIdDirectPrivate(pipeState.source, \"state\") === @streamClosed) {\n action();\n return;\n }\n @getByIdDirectPrivate(pipeState.reader, \"closedPromiseCapability\").promise.@then(action, @undefined);\n})\n"; // pipeToClosingMustBePropagatedBackward const JSC::ConstructAbility s_readableStreamInternalsPipeToClosingMustBePropagatedBackwardCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_readableStreamInternalsPipeToClosingMustBePropagatedBackwardCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_readableStreamInternalsPipeToClosingMustBePropagatedBackwardCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_readableStreamInternalsPipeToClosingMustBePropagatedBackwardCodeLength = 324; +const int s_readableStreamInternalsPipeToClosingMustBePropagatedBackwardCodeLength = 446; static const JSC::Intrinsic s_readableStreamInternalsPipeToClosingMustBePropagatedBackwardCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_readableStreamInternalsPipeToClosingMustBePropagatedBackwardCode = "(function (k){\"use strict\";if(!@writableStreamCloseQueuedOrInFlight(k.destination)&&@getByIdDirectPrivate(k.destination,\"state\")!==\"closed\")return;const m=@makeTypeError(\"closing is propagated backward\");if(!k.preventCancel){@pipeToShutdownWithAction(k,()=>@readableStreamCancel(k.source,m),m);return}@pipeToShutdown(k,m)})\n"; +const char* const s_readableStreamInternalsPipeToClosingMustBePropagatedBackwardCode = "(function (pipeState) {\"use strict\";\n if (!@writableStreamCloseQueuedOrInFlight(pipeState.destination) && @getByIdDirectPrivate(pipeState.destination, \"state\") !== \"closed\")\n return;\n const error = @makeTypeError(\"closing is propagated backward\");\n if (!pipeState.preventCancel) {\n @pipeToShutdownWithAction(pipeState, () => @readableStreamCancel(pipeState.source, error), error);\n return;\n }\n @pipeToShutdown(pipeState, error);\n})\n"; // pipeToShutdownWithAction const JSC::ConstructAbility s_readableStreamInternalsPipeToShutdownWithActionCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_readableStreamInternalsPipeToShutdownWithActionCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_readableStreamInternalsPipeToShutdownWithActionCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_readableStreamInternalsPipeToShutdownWithActionCodeLength = 457; +const int s_readableStreamInternalsPipeToShutdownWithActionCodeLength = 799; static const JSC::Intrinsic s_readableStreamInternalsPipeToShutdownWithActionCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_readableStreamInternalsPipeToShutdownWithActionCode = "(function (_,u){\"use strict\";if(_.shuttingDown)return;_.shuttingDown=!0;const b=arguments.length>2,g=arguments[2],d=()=>{u().@then(()=>{if(b)@pipeToFinalize(_,g);else @pipeToFinalize(_)},(h)=>{@pipeToFinalize(_,h)})};if(@getByIdDirectPrivate(_.destination,\"state\")===\"writable\"&&!@writableStreamCloseQueuedOrInFlight(_.destination)){_.pendingReadPromiseCapability.promise.@then(()=>{_.pendingWritePromise.@then(d,d)},(m)=>@pipeToFinalize(_,m));return}d()})\n"; +const char* const s_readableStreamInternalsPipeToShutdownWithActionCode = "(function (pipeState, action) {\"use strict\";\n if (pipeState.shuttingDown)\n return;\n pipeState.shuttingDown = true;\n const hasError = arguments.length > 2;\n const error = arguments[2];\n const finalize = () => {\n const promise = action();\n promise.@then(() => {\n if (hasError)\n @pipeToFinalize(pipeState, error);\n else\n @pipeToFinalize(pipeState);\n }, (e) => {\n @pipeToFinalize(pipeState, e);\n });\n };\n if (@getByIdDirectPrivate(pipeState.destination, \"state\") === \"writable\" && !@writableStreamCloseQueuedOrInFlight(pipeState.destination)) {\n pipeState.pendingReadPromiseCapability.promise.@then(() => {\n pipeState.pendingWritePromise.@then(finalize, finalize);\n }, (e) => @pipeToFinalize(pipeState, e));\n return;\n }\n finalize();\n})\n"; // pipeToShutdown const JSC::ConstructAbility s_readableStreamInternalsPipeToShutdownCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_readableStreamInternalsPipeToShutdownCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_readableStreamInternalsPipeToShutdownCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_readableStreamInternalsPipeToShutdownCodeLength = 410; +const int s_readableStreamInternalsPipeToShutdownCodeLength = 666; static const JSC::Intrinsic s_readableStreamInternalsPipeToShutdownCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_readableStreamInternalsPipeToShutdownCode = "(function (_){\"use strict\";if(_.shuttingDown)return;_.shuttingDown=!0;const d=arguments.length>1,m=arguments[1],c=()=>{if(d)@pipeToFinalize(_,m);else @pipeToFinalize(_)};if(@getByIdDirectPrivate(_.destination,\"state\")===\"writable\"&&!@writableStreamCloseQueuedOrInFlight(_.destination)){_.pendingReadPromiseCapability.promise.@then(()=>{_.pendingWritePromise.@then(c,c)},(u)=>@pipeToFinalize(_,u));return}c()})\n"; +const char* const s_readableStreamInternalsPipeToShutdownCode = "(function (pipeState) {\"use strict\";\n if (pipeState.shuttingDown)\n return;\n pipeState.shuttingDown = true;\n const hasError = arguments.length > 1;\n const error = arguments[1];\n const finalize = () => {\n if (hasError)\n @pipeToFinalize(pipeState, error);\n else\n @pipeToFinalize(pipeState);\n };\n if (@getByIdDirectPrivate(pipeState.destination, \"state\") === \"writable\" && !@writableStreamCloseQueuedOrInFlight(pipeState.destination)) {\n pipeState.pendingReadPromiseCapability.promise.@then(() => {\n pipeState.pendingWritePromise.@then(finalize, finalize);\n }, (e) => @pipeToFinalize(pipeState, e));\n return;\n }\n finalize();\n})\n"; // pipeToFinalize const JSC::ConstructAbility s_readableStreamInternalsPipeToFinalizeCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_readableStreamInternalsPipeToFinalizeCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_readableStreamInternalsPipeToFinalizeCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_readableStreamInternalsPipeToFinalizeCodeLength = 257; +const int s_readableStreamInternalsPipeToFinalizeCodeLength = 340; static const JSC::Intrinsic s_readableStreamInternalsPipeToFinalizeCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_readableStreamInternalsPipeToFinalizeCode = "(function (l){\"use strict\";if(@writableStreamDefaultWriterRelease(l.writer),@readableStreamReaderGenericRelease(l.reader),l.finalized=!0,arguments.length>1)l.promiseCapability.reject.@call(@undefined,arguments[1]);else l.promiseCapability.resolve.@call()})\n"; +const char* const s_readableStreamInternalsPipeToFinalizeCode = "(function (pipeState) {\"use strict\";\n @writableStreamDefaultWriterRelease(pipeState.writer);\n @readableStreamReaderGenericRelease(pipeState.reader);\n pipeState.finalized = true;\n if (arguments.length > 1)\n pipeState.promiseCapability.reject.@call(@undefined, arguments[1]);\n else\n pipeState.promiseCapability.resolve.@call();\n})\n"; // readableStreamTee const JSC::ConstructAbility s_readableStreamInternalsReadableStreamTeeCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_readableStreamInternalsReadableStreamTeeCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_readableStreamInternalsReadableStreamTeeCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_readableStreamInternalsReadableStreamTeeCodeLength = 1102; +const int s_readableStreamInternalsReadableStreamTeeCodeLength = 1695; static const JSC::Intrinsic s_readableStreamInternalsReadableStreamTeeCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_readableStreamInternalsReadableStreamTeeCode = "(function (i,q){\"use strict\";@assert(@isReadableStream(i)),@assert(typeof q===\"boolean\");var v=@getByIdDirectPrivate(i,\"start\");if(v)@putByIdDirectPrivate(i,\"start\",@undefined),v();const w=new @ReadableStreamDefaultReader(i),_={closedOrErrored:!1,canceled1:!1,canceled2:!1,reason1:@undefined,reason2:@undefined};_.cancelPromiseCapability=@newPromiseCapability(@Promise);const x=@readableStreamTeePullFunction(_,w,q),f={};@putByIdDirectPrivate(f,\"pull\",x),@putByIdDirectPrivate(f,\"cancel\",@readableStreamTeeBranch1CancelFunction(_,i));const g={};@putByIdDirectPrivate(g,\"pull\",x),@putByIdDirectPrivate(g,\"cancel\",@readableStreamTeeBranch2CancelFunction(_,i));const j=new @ReadableStream(f),k=new @ReadableStream(g);return @getByIdDirectPrivate(w,\"closedPromiseCapability\").promise.@then(@undefined,function(y){if(_.closedOrErrored)return;if(@readableStreamDefaultControllerError(j.@readableStreamController,y),@readableStreamDefaultControllerError(k.@readableStreamController,y),_.closedOrErrored=!0,!_.canceled1||!_.canceled2)_.cancelPromiseCapability.resolve.@call()}),_.branch1=j,_.branch2=k,[j,k]})\n"; +const char* const s_readableStreamInternalsReadableStreamTeeCode = "(function (stream, shouldClone) {\"use strict\";\n @assert(@isReadableStream(stream));\n @assert(typeof shouldClone === \"boolean\");\n var start_ = @getByIdDirectPrivate(stream, \"start\");\n if (start_) {\n @putByIdDirectPrivate(stream, \"start\", @undefined);\n start_();\n }\n const reader = new @ReadableStreamDefaultReader(stream);\n const teeState = {\n closedOrErrored: false,\n canceled1: false,\n canceled2: false,\n reason1: @undefined,\n reason2: @undefined\n };\n teeState.cancelPromiseCapability = @newPromiseCapability(@Promise);\n const pullFunction = @readableStreamTeePullFunction(teeState, reader, shouldClone);\n const branch1Source = {};\n @putByIdDirectPrivate(branch1Source, \"pull\", pullFunction);\n @putByIdDirectPrivate(branch1Source, \"cancel\", @readableStreamTeeBranch1CancelFunction(teeState, stream));\n const branch2Source = {};\n @putByIdDirectPrivate(branch2Source, \"pull\", pullFunction);\n @putByIdDirectPrivate(branch2Source, \"cancel\", @readableStreamTeeBranch2CancelFunction(teeState, stream));\n const branch1 = new @ReadableStream(branch1Source);\n const branch2 = new @ReadableStream(branch2Source);\n @getByIdDirectPrivate(reader, \"closedPromiseCapability\").promise.@then(@undefined, function(e) {\n if (teeState.closedOrErrored)\n return;\n @readableStreamDefaultControllerError(branch1.@readableStreamController, e);\n @readableStreamDefaultControllerError(branch2.@readableStreamController, e);\n teeState.closedOrErrored = true;\n if (!teeState.canceled1 || !teeState.canceled2)\n teeState.cancelPromiseCapability.resolve.@call();\n });\n teeState.branch1 = branch1;\n teeState.branch2 = branch2;\n return [branch1, branch2];\n})\n"; // readableStreamTeePullFunction const JSC::ConstructAbility s_readableStreamInternalsReadableStreamTeePullFunctionCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_readableStreamInternalsReadableStreamTeePullFunctionCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_readableStreamInternalsReadableStreamTeePullFunctionCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_readableStreamInternalsReadableStreamTeePullFunctionCodeLength = 763; +const int s_readableStreamInternalsReadableStreamTeePullFunctionCodeLength = 1129; static const JSC::Intrinsic s_readableStreamInternalsReadableStreamTeePullFunctionCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_readableStreamInternalsReadableStreamTeePullFunctionCode = "(function (_,c,f){\"use strict\";return function(){@Promise.prototype.@then.@call(@readableStreamDefaultReaderRead(c),function(i){if(@assert(@isObject(i)),@assert(typeof i.done===\"boolean\"),i.done&&!_.closedOrErrored){if(!_.canceled1)@readableStreamDefaultControllerClose(_.branch1.@readableStreamController);if(!_.canceled2)@readableStreamDefaultControllerClose(_.branch2.@readableStreamController);if(_.closedOrErrored=!0,!_.canceled1||!_.canceled2)_.cancelPromiseCapability.resolve.@call()}if(_.closedOrErrored)return;if(!_.canceled1)@readableStreamDefaultControllerEnqueue(_.branch1.@readableStreamController,i.value);if(!_.canceled2)@readableStreamDefaultControllerEnqueue(_.branch2.@readableStreamController,f\?@structuredCloneForStream(i.value):i.value)})}})\n"; +const char* const s_readableStreamInternalsReadableStreamTeePullFunctionCode = "(function (teeState, reader, shouldClone) {\"use strict\";\n return function() {\n @Promise.prototype.@then.@call(@readableStreamDefaultReaderRead(reader), function(result) {\n @assert(@isObject(result));\n @assert(typeof result.done === \"boolean\");\n if (result.done && !teeState.closedOrErrored) {\n if (!teeState.canceled1)\n @readableStreamDefaultControllerClose(teeState.branch1.@readableStreamController);\n if (!teeState.canceled2)\n @readableStreamDefaultControllerClose(teeState.branch2.@readableStreamController);\n teeState.closedOrErrored = true;\n if (!teeState.canceled1 || !teeState.canceled2)\n teeState.cancelPromiseCapability.resolve.@call();\n }\n if (teeState.closedOrErrored)\n return;\n if (!teeState.canceled1)\n @readableStreamDefaultControllerEnqueue(teeState.branch1.@readableStreamController, result.value);\n if (!teeState.canceled2)\n @readableStreamDefaultControllerEnqueue(teeState.branch2.@readableStreamController, shouldClone \? @structuredCloneForStream(result.value) : result.value);\n });\n };\n})\n"; // readableStreamTeeBranch1CancelFunction const JSC::ConstructAbility s_readableStreamInternalsReadableStreamTeeBranch1CancelFunctionCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_readableStreamInternalsReadableStreamTeeBranch1CancelFunctionCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_readableStreamInternalsReadableStreamTeeBranch1CancelFunctionCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_readableStreamInternalsReadableStreamTeeBranch1CancelFunctionCodeLength = 257; +const int s_readableStreamInternalsReadableStreamTeeBranch1CancelFunctionCodeLength = 387; static const JSC::Intrinsic s_readableStreamInternalsReadableStreamTeeBranch1CancelFunctionCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_readableStreamInternalsReadableStreamTeeBranch1CancelFunctionCode = "(function (d,i){\"use strict\";return function(n){if(d.canceled1=!0,d.reason1=n,d.canceled2)@readableStreamCancel(i,[d.reason1,d.reason2]).@then(d.cancelPromiseCapability.@resolve,d.cancelPromiseCapability.@reject);return d.cancelPromiseCapability.promise}})\n"; +const char* const s_readableStreamInternalsReadableStreamTeeBranch1CancelFunctionCode = "(function (teeState, stream) {\"use strict\";\n return function(r) {\n teeState.canceled1 = true;\n teeState.reason1 = r;\n if (teeState.canceled2) {\n @readableStreamCancel(stream, [teeState.reason1, teeState.reason2]).@then(teeState.cancelPromiseCapability.@resolve, teeState.cancelPromiseCapability.@reject);\n }\n return teeState.cancelPromiseCapability.promise;\n };\n})\n"; // readableStreamTeeBranch2CancelFunction const JSC::ConstructAbility s_readableStreamInternalsReadableStreamTeeBranch2CancelFunctionCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_readableStreamInternalsReadableStreamTeeBranch2CancelFunctionCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_readableStreamInternalsReadableStreamTeeBranch2CancelFunctionCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_readableStreamInternalsReadableStreamTeeBranch2CancelFunctionCodeLength = 257; +const int s_readableStreamInternalsReadableStreamTeeBranch2CancelFunctionCodeLength = 387; static const JSC::Intrinsic s_readableStreamInternalsReadableStreamTeeBranch2CancelFunctionCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_readableStreamInternalsReadableStreamTeeBranch2CancelFunctionCode = "(function (d,i){\"use strict\";return function(n){if(d.canceled2=!0,d.reason2=n,d.canceled1)@readableStreamCancel(i,[d.reason1,d.reason2]).@then(d.cancelPromiseCapability.@resolve,d.cancelPromiseCapability.@reject);return d.cancelPromiseCapability.promise}})\n"; +const char* const s_readableStreamInternalsReadableStreamTeeBranch2CancelFunctionCode = "(function (teeState, stream) {\"use strict\";\n return function(r) {\n teeState.canceled2 = true;\n teeState.reason2 = r;\n if (teeState.canceled1) {\n @readableStreamCancel(stream, [teeState.reason1, teeState.reason2]).@then(teeState.cancelPromiseCapability.@resolve, teeState.cancelPromiseCapability.@reject);\n }\n return teeState.cancelPromiseCapability.promise;\n };\n})\n"; // isReadableStream const JSC::ConstructAbility s_readableStreamInternalsIsReadableStreamCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_readableStreamInternalsIsReadableStreamCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_readableStreamInternalsIsReadableStreamCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_readableStreamInternalsIsReadableStreamCodeLength = 115; +const int s_readableStreamInternalsIsReadableStreamCodeLength = 141; static const JSC::Intrinsic s_readableStreamInternalsIsReadableStreamCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_readableStreamInternalsIsReadableStreamCode = "(function (d){\"use strict\";return @isObject(d)&&@getByIdDirectPrivate(d,\"readableStreamController\")!==@undefined})\n"; +const char* const s_readableStreamInternalsIsReadableStreamCode = "(function (stream) {\"use strict\";\n return @isObject(stream) && @getByIdDirectPrivate(stream, \"readableStreamController\") !== @undefined;\n})\n"; // isReadableStreamDefaultReader const JSC::ConstructAbility s_readableStreamInternalsIsReadableStreamDefaultReaderCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_readableStreamInternalsIsReadableStreamDefaultReaderCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_readableStreamInternalsIsReadableStreamDefaultReaderCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_readableStreamInternalsIsReadableStreamDefaultReaderCodeLength = 92; +const int s_readableStreamInternalsIsReadableStreamDefaultReaderCodeLength = 116; static const JSC::Intrinsic s_readableStreamInternalsIsReadableStreamDefaultReaderCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_readableStreamInternalsIsReadableStreamDefaultReaderCode = "(function (i){\"use strict\";return @isObject(i)&&!!@getByIdDirectPrivate(i,\"readRequests\")})\n"; +const char* const s_readableStreamInternalsIsReadableStreamDefaultReaderCode = "(function (reader) {\"use strict\";\n return @isObject(reader) && !!@getByIdDirectPrivate(reader, \"readRequests\");\n})\n"; // isReadableStreamDefaultController const JSC::ConstructAbility s_readableStreamInternalsIsReadableStreamDefaultControllerCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_readableStreamInternalsIsReadableStreamDefaultControllerCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_readableStreamInternalsIsReadableStreamDefaultControllerCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_readableStreamInternalsIsReadableStreamDefaultControllerCodeLength = 96; +const int s_readableStreamInternalsIsReadableStreamDefaultControllerCodeLength = 132; static const JSC::Intrinsic s_readableStreamInternalsIsReadableStreamDefaultControllerCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_readableStreamInternalsIsReadableStreamDefaultControllerCode = "(function (i){\"use strict\";return @isObject(i)&&!!@getByIdDirectPrivate(i,\"underlyingSource\")})\n"; +const char* const s_readableStreamInternalsIsReadableStreamDefaultControllerCode = "(function (controller) {\"use strict\";\n return @isObject(controller) && !!@getByIdDirectPrivate(controller, \"underlyingSource\");\n})\n"; // readDirectStream const JSC::ConstructAbility s_readableStreamInternalsReadDirectStreamCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_readableStreamInternalsReadDirectStreamCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_readableStreamInternalsReadDirectStreamCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_readableStreamInternalsReadDirectStreamCodeLength = 916; +const int s_readableStreamInternalsReadDirectStreamCodeLength = 1595; static const JSC::Intrinsic s_readableStreamInternalsReadDirectStreamCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_readableStreamInternalsReadDirectStreamCode = "(function (_,q,f){\"use strict\";@putByIdDirectPrivate(_,\"underlyingSource\",@undefined),@putByIdDirectPrivate(_,\"start\",@undefined);function w(j,v){if(v&&f\?.cancel){try{var A=f.cancel(v);@markPromiseAsHandled(A)}catch(B){}f=@undefined}if(j){if(@putByIdDirectPrivate(j,\"readableStreamController\",@undefined),@putByIdDirectPrivate(j,\"reader\",@undefined),v)@putByIdDirectPrivate(j,\"state\",@streamErrored),@putByIdDirectPrivate(j,\"storedError\",v);else @putByIdDirectPrivate(j,\"state\",@streamClosed);j=@undefined}}if(!f.pull){w();return}if(!@isCallable(f.pull)){w(),@throwTypeError(\"pull is not a function\");return}@putByIdDirectPrivate(_,\"readableStreamController\",q);const x=@getByIdDirectPrivate(_,\"highWaterMark\");q.start({highWaterMark:!x||x<64\?64:x}),@startDirectStream.@call(q,_,f.pull,w,_.@asyncContext),@putByIdDirectPrivate(_,\"reader\",{});var z=f.pull(q);if(q=@undefined,z&&@isPromise(z))return z.@then(()=>{})})\n"; +const char* const s_readableStreamInternalsReadDirectStreamCode = "(function (stream, sink, underlyingSource) {\"use strict\";\n @putByIdDirectPrivate(stream, \"underlyingSource\", @undefined);\n @putByIdDirectPrivate(stream, \"start\", @undefined);\n function close(stream2, reason) {\n if (reason && underlyingSource\?.cancel) {\n try {\n var prom = underlyingSource.cancel(reason);\n @markPromiseAsHandled(prom);\n } catch (e) {\n }\n underlyingSource = @undefined;\n }\n if (stream2) {\n @putByIdDirectPrivate(stream2, \"readableStreamController\", @undefined);\n @putByIdDirectPrivate(stream2, \"reader\", @undefined);\n if (reason) {\n @putByIdDirectPrivate(stream2, \"state\", @streamErrored);\n @putByIdDirectPrivate(stream2, \"storedError\", reason);\n } else {\n @putByIdDirectPrivate(stream2, \"state\", @streamClosed);\n }\n stream2 = @undefined;\n }\n }\n if (!underlyingSource.pull) {\n close();\n return;\n }\n if (!@isCallable(underlyingSource.pull)) {\n close();\n @throwTypeError(\"pull is not a function\");\n return;\n }\n @putByIdDirectPrivate(stream, \"readableStreamController\", sink);\n const highWaterMark = @getByIdDirectPrivate(stream, \"highWaterMark\");\n sink.start({\n highWaterMark: !highWaterMark || highWaterMark < 64 \? 64 : highWaterMark\n });\n @startDirectStream.@call(sink, stream, underlyingSource.pull, close, stream.@asyncContext);\n @putByIdDirectPrivate(stream, \"reader\", {});\n var maybePromise = underlyingSource.pull(sink);\n sink = @undefined;\n if (maybePromise && @isPromise(maybePromise)) {\n return maybePromise.@then(() => {\n });\n }\n})\n"; // assignToStream const JSC::ConstructAbility s_readableStreamInternalsAssignToStreamCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_readableStreamInternalsAssignToStreamCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_readableStreamInternalsAssignToStreamCodeImplementationVisibility = JSC::ImplementationVisibility::Private; -const int s_readableStreamInternalsAssignToStreamCodeLength = 221; +const int s_readableStreamInternalsAssignToStreamCodeLength = 417; static const JSC::Intrinsic s_readableStreamInternalsAssignToStreamCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_readableStreamInternalsAssignToStreamCode = "(function (h,_){\"use strict\";var b=@getByIdDirectPrivate(h,\"underlyingSource\");if(b)try{return @readDirectStream(h,_,b)}catch(f){throw f}finally{b=@undefined,h=@undefined,_=@undefined}return @readStreamIntoSink(h,_,!0)})\n"; +const char* const s_readableStreamInternalsAssignToStreamCode = "(function (stream, sink) {\"use strict\";\n var underlyingSource = @getByIdDirectPrivate(stream, \"underlyingSource\");\n if (underlyingSource) {\n try {\n return @readDirectStream(stream, sink, underlyingSource);\n } catch (e) {\n throw e;\n } finally {\n underlyingSource = @undefined;\n stream = @undefined;\n sink = @undefined;\n }\n }\n return @readStreamIntoSink(stream, sink, true);\n})\n"; // readStreamIntoSink const JSC::ConstructAbility s_readableStreamInternalsReadStreamIntoSinkCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_readableStreamInternalsReadStreamIntoSinkCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_readableStreamInternalsReadStreamIntoSinkCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_readableStreamInternalsReadStreamIntoSinkCodeLength = 1411; +const int s_readableStreamInternalsReadStreamIntoSinkCodeLength = 2636; static const JSC::Intrinsic s_readableStreamInternalsReadStreamIntoSinkCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_readableStreamInternalsReadStreamIntoSinkCode = "(async function (_,c,B){\"use strict\";var j=!1,x=!1;try{var P=_.getReader(),D=P.readMany();if(D&&@isPromise(D))D=await D;if(D.done)return j=!0,c.end();var I=D.value.length;const f=@getByIdDirectPrivate(_,\"highWaterMark\");if(B)@startDirectStream.@call(c,_,@undefined,()=>!x&&@markPromiseAsHandled(_.cancel()),_.@asyncContext);c.start({highWaterMark:f||0});for(var z=0,E=D.value,F=D.value.length;z !didThrow && @markPromiseAsHandled(stream.cancel()), stream.@asyncContext);\n sink.start({ highWaterMark: highWaterMark || 0 });\n for (var i = 0, values = many.value, length = many.value.length;i < length; i++) {\n sink.write(values[i]);\n }\n var streamState = @getByIdDirectPrivate(stream, \"state\");\n if (streamState === @streamClosed) {\n didClose = true;\n return sink.end();\n }\n while (true) {\n var { value, done } = await reader.read();\n if (done) {\n didClose = true;\n return sink.end();\n }\n sink.write(value);\n }\n } catch (e) {\n didThrow = true;\n try {\n reader = @undefined;\n const prom = stream.cancel(e);\n @markPromiseAsHandled(prom);\n } catch (j) {\n }\n if (sink && !didClose) {\n didClose = true;\n try {\n sink.close(e);\n } catch (j) {\n throw new globalThis.AggregateError([e, j]);\n }\n }\n throw e;\n } finally {\n if (reader) {\n try {\n reader.releaseLock();\n } catch (e) {\n }\n reader = @undefined;\n }\n sink = @undefined;\n var streamState = @getByIdDirectPrivate(stream, \"state\");\n if (stream) {\n var readableStreamController = @getByIdDirectPrivate(stream, \"readableStreamController\");\n if (readableStreamController) {\n if (@getByIdDirectPrivate(readableStreamController, \"underlyingSource\"))\n @putByIdDirectPrivate(readableStreamController, \"underlyingSource\", @undefined);\n if (@getByIdDirectPrivate(readableStreamController, \"controlledReadableStream\"))\n @putByIdDirectPrivate(readableStreamController, \"controlledReadableStream\", @undefined);\n @putByIdDirectPrivate(stream, \"readableStreamController\", null);\n if (@getByIdDirectPrivate(stream, \"underlyingSource\"))\n @putByIdDirectPrivate(stream, \"underlyingSource\", @undefined);\n readableStreamController = @undefined;\n }\n if (!didThrow && streamState !== @streamClosed && streamState !== @streamErrored) {\n @readableStreamClose(stream);\n }\n stream = @undefined;\n }\n }\n})\n"; // handleDirectStreamError const JSC::ConstructAbility s_readableStreamInternalsHandleDirectStreamErrorCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_readableStreamInternalsHandleDirectStreamErrorCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_readableStreamInternalsHandleDirectStreamErrorCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_readableStreamInternalsHandleDirectStreamErrorCodeLength = 496; +const int s_readableStreamInternalsHandleDirectStreamErrorCodeLength = 763; static const JSC::Intrinsic s_readableStreamInternalsHandleDirectStreamErrorCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_readableStreamInternalsHandleDirectStreamErrorCode = "(function (u){\"use strict\";var i=this,_=i.@sink;if(_){@putByIdDirectPrivate(i,\"sink\",@undefined);try{_.close(u)}catch(a){}}if(this.error=this.flush=this.write=this.close=this.end=@onReadableStreamDirectControllerClosed,typeof this.@underlyingSource.close===\"function\")try{this.@underlyingSource.close.@call(this.@underlyingSource,u)}catch(a){}try{var h=i._pendingRead;if(h)i._pendingRead=@undefined,@rejectPromise(h,u)}catch(a){}var R=i.@controlledReadableStream;if(R)@readableStreamError(R,u)})\n"; +const char* const s_readableStreamInternalsHandleDirectStreamErrorCode = "(function (e) {\"use strict\";\n var controller = this;\n var sink = controller.@sink;\n if (sink) {\n @putByIdDirectPrivate(controller, \"sink\", @undefined);\n try {\n sink.close(e);\n } catch (f) {\n }\n }\n this.error = this.flush = this.write = this.close = this.end = @onReadableStreamDirectControllerClosed;\n if (typeof this.@underlyingSource.close === \"function\") {\n try {\n this.@underlyingSource.close.@call(this.@underlyingSource, e);\n } catch (e2) {\n }\n }\n try {\n var pend = controller._pendingRead;\n if (pend) {\n controller._pendingRead = @undefined;\n @rejectPromise(pend, e);\n }\n } catch (f) {\n }\n var stream = controller.@controlledReadableStream;\n if (stream)\n @readableStreamError(stream, e);\n})\n"; // handleDirectStreamErrorReject const JSC::ConstructAbility s_readableStreamInternalsHandleDirectStreamErrorRejectCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_readableStreamInternalsHandleDirectStreamErrorRejectCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_readableStreamInternalsHandleDirectStreamErrorRejectCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_readableStreamInternalsHandleDirectStreamErrorRejectCodeLength = 95; +const int s_readableStreamInternalsHandleDirectStreamErrorRejectCodeLength = 105; static const JSC::Intrinsic s_readableStreamInternalsHandleDirectStreamErrorRejectCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_readableStreamInternalsHandleDirectStreamErrorRejectCode = "(function (n){\"use strict\";return @handleDirectStreamError.@call(this,n),@Promise.@reject(n)})\n"; +const char* const s_readableStreamInternalsHandleDirectStreamErrorRejectCode = "(function (e) {\"use strict\";\n @handleDirectStreamError.@call(this, e);\n return @Promise.@reject(e);\n})\n"; // onPullDirectStream const JSC::ConstructAbility s_readableStreamInternalsOnPullDirectStreamCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_readableStreamInternalsOnPullDirectStreamCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_readableStreamInternalsOnPullDirectStreamCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_readableStreamInternalsOnPullDirectStreamCodeLength = 929; +const int s_readableStreamInternalsOnPullDirectStreamCodeLength = 1674; static const JSC::Intrinsic s_readableStreamInternalsOnPullDirectStreamCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_readableStreamInternalsOnPullDirectStreamCode = "(function (i){\"use strict\";var _=i.@controlledReadableStream;if(!_||@getByIdDirectPrivate(_,\"state\")!==@streamReadable)return;if(i._deferClose===-1)return;i._deferClose=-1,i._deferFlush=-1;var g,h,S=_.@asyncContext;if(S){var j=@getInternalField(@asyncContext,0);@putInternalField(@asyncContext,0,S)}try{var b=i.@underlyingSource.pull(i);if(b&&@isPromise(b)){if(i._handleError===@undefined)i._handleError=@handleDirectStreamErrorReject.bind(i);@Promise.prototype.catch.@call(b,i._handleError)}}catch(w){return @handleDirectStreamErrorReject.@call(i,w)}finally{if(g=i._deferClose,h=i._deferFlush,i._deferFlush=i._deferClose=0,S)@putInternalField(@asyncContext,0,j)}var k;if(i._pendingRead===@undefined)i._pendingRead=k=@newPromise();else k=@readableStreamAddReadRequest(_);if(g===1){var q=i._deferCloseReason;return i._deferCloseReason=@undefined,@onCloseDirectStream.@call(i,q),k}if(h===1)@onFlushDirectStream.@call(i);return k})\n"; +const char* const s_readableStreamInternalsOnPullDirectStreamCode = "(function (controller) {\"use strict\";\n var stream = controller.@controlledReadableStream;\n if (!stream || @getByIdDirectPrivate(stream, \"state\") !== @streamReadable)\n return;\n if (controller._deferClose === -1) {\n return;\n }\n controller._deferClose = -1;\n controller._deferFlush = -1;\n var deferClose;\n var deferFlush;\n var asyncContext = stream.@asyncContext;\n if (asyncContext) {\n var prev = @getInternalField(@asyncContext, 0);\n @putInternalField(@asyncContext, 0, asyncContext);\n }\n try {\n var result = controller.@underlyingSource.pull(controller);\n if (result && @isPromise(result)) {\n if (controller._handleError === @undefined) {\n controller._handleError = @handleDirectStreamErrorReject.bind(controller);\n }\n @Promise.prototype.catch.@call(result, controller._handleError);\n }\n } catch (e) {\n return @handleDirectStreamErrorReject.@call(controller, e);\n } finally {\n deferClose = controller._deferClose;\n deferFlush = controller._deferFlush;\n controller._deferFlush = controller._deferClose = 0;\n if (asyncContext) {\n @putInternalField(@asyncContext, 0, prev);\n }\n }\n var promiseToReturn;\n if (controller._pendingRead === @undefined) {\n controller._pendingRead = promiseToReturn = @newPromise();\n } else {\n promiseToReturn = @readableStreamAddReadRequest(stream);\n }\n if (deferClose === 1) {\n var reason = controller._deferCloseReason;\n controller._deferCloseReason = @undefined;\n @onCloseDirectStream.@call(controller, reason);\n return promiseToReturn;\n }\n if (deferFlush === 1) {\n @onFlushDirectStream.@call(controller);\n }\n return promiseToReturn;\n})\n"; // noopDoneFunction const JSC::ConstructAbility s_readableStreamInternalsNoopDoneFunctionCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_readableStreamInternalsNoopDoneFunctionCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_readableStreamInternalsNoopDoneFunctionCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_readableStreamInternalsNoopDoneFunctionCodeLength = 81; +const int s_readableStreamInternalsNoopDoneFunctionCodeLength = 94; static const JSC::Intrinsic s_readableStreamInternalsNoopDoneFunctionCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_readableStreamInternalsNoopDoneFunctionCode = "(function (){\"use strict\";return @Promise.@resolve({value:@undefined,done:!0})})\n"; +const char* const s_readableStreamInternalsNoopDoneFunctionCode = "(function () {\"use strict\";\n return @Promise.@resolve({ value: @undefined, done: true });\n})\n"; // onReadableStreamDirectControllerClosed const JSC::ConstructAbility s_readableStreamInternalsOnReadableStreamDirectControllerClosedCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_readableStreamInternalsOnReadableStreamDirectControllerClosedCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_readableStreamInternalsOnReadableStreamDirectControllerClosedCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_readableStreamInternalsOnReadableStreamDirectControllerClosedCodeLength = 93; +const int s_readableStreamInternalsOnReadableStreamDirectControllerClosedCodeLength = 104; static const JSC::Intrinsic s_readableStreamInternalsOnReadableStreamDirectControllerClosedCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_readableStreamInternalsOnReadableStreamDirectControllerClosedCode = "(function (e){\"use strict\";@throwTypeError(\"ReadableStreamDirectController is now closed\")})\n"; +const char* const s_readableStreamInternalsOnReadableStreamDirectControllerClosedCode = "(function (reason) {\"use strict\";\n @throwTypeError(\"ReadableStreamDirectController is now closed\");\n})\n"; // onCloseDirectStream const JSC::ConstructAbility s_readableStreamInternalsOnCloseDirectStreamCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_readableStreamInternalsOnCloseDirectStreamCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_readableStreamInternalsOnCloseDirectStreamCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_readableStreamInternalsOnCloseDirectStreamCodeLength = 1460; +const int s_readableStreamInternalsOnCloseDirectStreamCodeLength = 2160; static const JSC::Intrinsic s_readableStreamInternalsOnCloseDirectStreamCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_readableStreamInternalsOnCloseDirectStreamCode = "(function (S){\"use strict\";var c=this.@controlledReadableStream;if(!c||@getByIdDirectPrivate(c,\"state\")!==@streamReadable)return;if(this._deferClose!==0){this._deferClose=1,this._deferCloseReason=S;return}if(@putByIdDirectPrivate(c,\"state\",@streamClosing),typeof this.@underlyingSource.close===\"function\")try{this.@underlyingSource.close.@call(this.@underlyingSource,S)}catch(b){}var v;try{v=this.@sink.end(),@putByIdDirectPrivate(this,\"sink\",@undefined)}catch(b){if(this._pendingRead){var y=this._pendingRead;this._pendingRead=@undefined,@rejectPromise(y,b)}@readableStreamError(c,b);return}this.error=this.flush=this.write=this.close=this.end=@onReadableStreamDirectControllerClosed;var B=@getByIdDirectPrivate(c,\"reader\");if(B&&@isReadableStreamDefaultReader(B)){var C=this._pendingRead;if(C&&@isPromise(C)&&v\?.byteLength){this._pendingRead=@undefined,@fulfillPromise(C,{value:v,done:!1}),@readableStreamClose(c);return}}if(v\?.byteLength){var j=@getByIdDirectPrivate(B,\"readRequests\");if(j\?.isNotEmpty()){@readableStreamFulfillReadRequest(c,v,!1),@readableStreamClose(c);return}@putByIdDirectPrivate(c,\"state\",@streamReadable),this.@pull=()=>{var b=@createFulfilledPromise({value:v,done:!1});return v=@undefined,@readableStreamClose(c),c=@undefined,b}}else if(this._pendingRead){var y=this._pendingRead;this._pendingRead=@undefined,@putByIdDirectPrivate(this,\"pull\",@noopDoneFunction),@fulfillPromise(y,{value:@undefined,done:!0})}@readableStreamClose(c)})\n"; +const char* const s_readableStreamInternalsOnCloseDirectStreamCode = "(function (reason) {\"use strict\";\n var stream = this.@controlledReadableStream;\n if (!stream || @getByIdDirectPrivate(stream, \"state\") !== @streamReadable)\n return;\n if (this._deferClose !== 0) {\n this._deferClose = 1;\n this._deferCloseReason = reason;\n return;\n }\n @putByIdDirectPrivate(stream, \"state\", @streamClosing);\n if (typeof this.@underlyingSource.close === \"function\") {\n try {\n this.@underlyingSource.close.@call(this.@underlyingSource, reason);\n } catch (e) {\n }\n }\n var flushed;\n try {\n flushed = this.@sink.end();\n @putByIdDirectPrivate(this, \"sink\", @undefined);\n } catch (e) {\n if (this._pendingRead) {\n var read = this._pendingRead;\n this._pendingRead = @undefined;\n @rejectPromise(read, e);\n }\n @readableStreamError(stream, e);\n return;\n }\n this.error = this.flush = this.write = this.close = this.end = @onReadableStreamDirectControllerClosed;\n var reader = @getByIdDirectPrivate(stream, \"reader\");\n if (reader && @isReadableStreamDefaultReader(reader)) {\n var _pendingRead = this._pendingRead;\n if (_pendingRead && @isPromise(_pendingRead) && flushed\?.byteLength) {\n this._pendingRead = @undefined;\n @fulfillPromise(_pendingRead, { value: flushed, done: false });\n @readableStreamClose(stream);\n return;\n }\n }\n if (flushed\?.byteLength) {\n var requests = @getByIdDirectPrivate(reader, \"readRequests\");\n if (requests\?.isNotEmpty()) {\n @readableStreamFulfillReadRequest(stream, flushed, false);\n @readableStreamClose(stream);\n return;\n }\n @putByIdDirectPrivate(stream, \"state\", @streamReadable);\n this.@pull = () => {\n var thisResult = @createFulfilledPromise({\n value: flushed,\n done: false\n });\n flushed = @undefined;\n @readableStreamClose(stream);\n stream = @undefined;\n return thisResult;\n };\n } else if (this._pendingRead) {\n var read = this._pendingRead;\n this._pendingRead = @undefined;\n @putByIdDirectPrivate(this, \"pull\", @noopDoneFunction);\n @fulfillPromise(read, { value: @undefined, done: true });\n }\n @readableStreamClose(stream);\n})\n"; // onFlushDirectStream const JSC::ConstructAbility s_readableStreamInternalsOnFlushDirectStreamCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_readableStreamInternalsOnFlushDirectStreamCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_readableStreamInternalsOnFlushDirectStreamCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_readableStreamInternalsOnFlushDirectStreamCodeLength = 591; +const int s_readableStreamInternalsOnFlushDirectStreamCodeLength = 900; static const JSC::Intrinsic s_readableStreamInternalsOnFlushDirectStreamCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_readableStreamInternalsOnFlushDirectStreamCode = "(function (){\"use strict\";var B=this.@controlledReadableStream,i=@getByIdDirectPrivate(B,\"reader\");if(!i||!@isReadableStreamDefaultReader(i))return;var b=this._pendingRead;if(this._pendingRead=@undefined,b&&@isPromise(b)){var c=this.@sink.flush();if(c\?.byteLength)this._pendingRead=@getByIdDirectPrivate(B,\"readRequests\")\?.shift(),@fulfillPromise(b,{value:c,done:!1});else this._pendingRead=b}else if(@getByIdDirectPrivate(B,\"readRequests\")\?.isNotEmpty()){var c=this.@sink.flush();if(c\?.byteLength)@readableStreamFulfillReadRequest(B,c,!1)}else if(this._deferFlush===-1)this._deferFlush=1})\n"; +const char* const s_readableStreamInternalsOnFlushDirectStreamCode = "(function () {\"use strict\";\n var stream = this.@controlledReadableStream;\n var reader = @getByIdDirectPrivate(stream, \"reader\");\n if (!reader || !@isReadableStreamDefaultReader(reader)) {\n return;\n }\n var _pendingRead = this._pendingRead;\n this._pendingRead = @undefined;\n if (_pendingRead && @isPromise(_pendingRead)) {\n var flushed = this.@sink.flush();\n if (flushed\?.byteLength) {\n this._pendingRead = @getByIdDirectPrivate(stream, \"readRequests\")\?.shift();\n @fulfillPromise(_pendingRead, { value: flushed, done: false });\n } else {\n this._pendingRead = _pendingRead;\n }\n } else if (@getByIdDirectPrivate(stream, \"readRequests\")\?.isNotEmpty()) {\n var flushed = this.@sink.flush();\n if (flushed\?.byteLength) {\n @readableStreamFulfillReadRequest(stream, flushed, false);\n }\n } else if (this._deferFlush === -1) {\n this._deferFlush = 1;\n }\n})\n"; // createTextStream const JSC::ConstructAbility s_readableStreamInternalsCreateTextStreamCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_readableStreamInternalsCreateTextStreamCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_readableStreamInternalsCreateTextStreamCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_readableStreamInternalsCreateTextStreamCodeLength = 983; +const int s_readableStreamInternalsCreateTextStreamCodeLength = 2285; static const JSC::Intrinsic s_readableStreamInternalsCreateTextStreamCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_readableStreamInternalsCreateTextStreamCode = "(function (G){\"use strict\";var q,v=[],x=!1,z=!1,j=\"\",C=@toLength(0),F=@newPromiseCapability(@Promise),A=!1;return q={start(){},write(_){if(typeof _===\"string\"){var w=@toLength(_.length);if(w>0)j+=_,x=!0,C+=w;return w}if(!_||!(@ArrayBuffer.@isView(_)||_ instanceof @ArrayBuffer))@throwTypeError(\"Expected text, ArrayBuffer or ArrayBufferView\");const E=@toLength(_.byteLength);if(E>0)if(z=!0,j.length>0)@arrayPush(v,j,_),j=\"\";else @arrayPush(v,_);return C+=E,E},flush(){return 0},end(){if(A)return\"\";return q.fulfill()},fulfill(){A=!0;const _=q.finishInternal();return @fulfillPromise(F.promise,_),_},finishInternal(){if(!x&&!z)return\"\";if(x&&!z)return j;if(z&&!x)return new globalThis.TextDecoder().decode(@Bun.concatArrayBuffers(v));var _=new @Bun.ArrayBufferSink;_.start({highWaterMark:C,asUint8Array:!0});for(let w of v)_.write(w);if(v.length=0,j.length>0)_.write(j),j=\"\";return new globalThis.TextDecoder().decode(_.end())},close(){try{if(!A)A=!0,q.fulfill()}catch(_){}}},[q,F]})\n"; +const char* const s_readableStreamInternalsCreateTextStreamCode = "(function (highWaterMark) {\"use strict\";\n var sink;\n var array = [];\n var hasString = false;\n var hasBuffer = false;\n var rope = \"\";\n var estimatedLength = @toLength(0);\n var capability = @newPromiseCapability(@Promise);\n var calledDone = false;\n sink = {\n start() {\n },\n write(chunk) {\n if (typeof chunk === \"string\") {\n var chunkLength = @toLength(chunk.length);\n if (chunkLength > 0) {\n rope += chunk;\n hasString = true;\n estimatedLength += chunkLength;\n }\n return chunkLength;\n }\n if (!chunk || !(@ArrayBuffer.@isView(chunk) || chunk instanceof @ArrayBuffer)) {\n @throwTypeError(\"Expected text, ArrayBuffer or ArrayBufferView\");\n }\n const byteLength = @toLength(chunk.byteLength);\n if (byteLength > 0) {\n hasBuffer = true;\n if (rope.length > 0) {\n @arrayPush(array, rope, chunk);\n rope = \"\";\n } else {\n @arrayPush(array, chunk);\n }\n }\n estimatedLength += byteLength;\n return byteLength;\n },\n flush() {\n return 0;\n },\n end() {\n if (calledDone) {\n return \"\";\n }\n return sink.fulfill();\n },\n fulfill() {\n calledDone = true;\n const result = sink.finishInternal();\n @fulfillPromise(capability.promise, result);\n return result;\n },\n finishInternal() {\n if (!hasString && !hasBuffer) {\n return \"\";\n }\n if (hasString && !hasBuffer) {\n return rope;\n }\n if (hasBuffer && !hasString) {\n return new globalThis.TextDecoder().decode(@Bun.concatArrayBuffers(array));\n }\n var arrayBufferSink = new @Bun.ArrayBufferSink;\n arrayBufferSink.start({\n highWaterMark: estimatedLength,\n asUint8Array: true\n });\n for (let item of array) {\n arrayBufferSink.write(item);\n }\n array.length = 0;\n if (rope.length > 0) {\n arrayBufferSink.write(rope);\n rope = \"\";\n }\n return new globalThis.TextDecoder().decode(arrayBufferSink.end());\n },\n close() {\n try {\n if (!calledDone) {\n calledDone = true;\n sink.fulfill();\n }\n } catch (e) {\n }\n }\n };\n return [sink, capability];\n})\n"; // initializeTextStream const JSC::ConstructAbility s_readableStreamInternalsInitializeTextStreamCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_readableStreamInternalsInitializeTextStreamCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_readableStreamInternalsInitializeTextStreamCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_readableStreamInternalsInitializeTextStreamCodeLength = 578; +const int s_readableStreamInternalsInitializeTextStreamCodeLength = 816; static const JSC::Intrinsic s_readableStreamInternalsInitializeTextStreamCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_readableStreamInternalsInitializeTextStreamCode = "(function (m,p){\"use strict\";var[_,b]=@createTextStream(p),f={@underlyingSource:m,@pull:@onPullDirectStream,@controlledReadableStream:this,@sink:_,close:@onCloseDirectStream,write:_.write,error:@handleDirectStreamError,end:@onCloseDirectStream,@close:@onCloseDirectStream,flush:@onFlushDirectStream,_pendingRead:@undefined,_deferClose:0,_deferFlush:0,_deferCloseReason:@undefined,_handleError:@undefined};return @putByIdDirectPrivate(this,\"readableStreamController\",f),@putByIdDirectPrivate(this,\"underlyingSource\",@undefined),@putByIdDirectPrivate(this,\"start\",@undefined),b})\n"; +const char* const s_readableStreamInternalsInitializeTextStreamCode = "(function (underlyingSource, highWaterMark) {\"use strict\";\n var [sink, closingPromise] = @createTextStream(highWaterMark);\n var controller = {\n @underlyingSource: underlyingSource,\n @pull: @onPullDirectStream,\n @controlledReadableStream: this,\n @sink: sink,\n close: @onCloseDirectStream,\n write: sink.write,\n error: @handleDirectStreamError,\n end: @onCloseDirectStream,\n @close: @onCloseDirectStream,\n flush: @onFlushDirectStream,\n _pendingRead: @undefined,\n _deferClose: 0,\n _deferFlush: 0,\n _deferCloseReason: @undefined,\n _handleError: @undefined\n };\n @putByIdDirectPrivate(this, \"readableStreamController\", controller);\n @putByIdDirectPrivate(this, \"underlyingSource\", @undefined);\n @putByIdDirectPrivate(this, \"start\", @undefined);\n return closingPromise;\n})\n"; // initializeArrayStream const JSC::ConstructAbility s_readableStreamInternalsInitializeArrayStreamCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_readableStreamInternalsInitializeArrayStreamCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_readableStreamInternalsInitializeArrayStreamCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_readableStreamInternalsInitializeArrayStreamCodeLength = 796; +const int s_readableStreamInternalsInitializeArrayStreamCodeLength = 1321; static const JSC::Intrinsic s_readableStreamInternalsInitializeArrayStreamCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_readableStreamInternalsInitializeArrayStreamCode = "(function (v,x){\"use strict\";var _=[],b=@newPromiseCapability(@Promise),p=!1;function j(){return p=!0,b.resolve.@call(@undefined,_),_}var q={start(){},write(t){return @arrayPush(_,t),t.byteLength||t.length},flush(){return 0},end(){if(p)return[];return j()},close(){if(!p)j()}},w={@underlyingSource:v,@pull:@onPullDirectStream,@controlledReadableStream:this,@sink:q,close:@onCloseDirectStream,write:q.write,error:@handleDirectStreamError,end:@onCloseDirectStream,@close:@onCloseDirectStream,flush:@onFlushDirectStream,_pendingRead:@undefined,_deferClose:0,_deferFlush:0,_deferCloseReason:@undefined,_handleError:@undefined};return @putByIdDirectPrivate(this,\"readableStreamController\",w),@putByIdDirectPrivate(this,\"underlyingSource\",@undefined),@putByIdDirectPrivate(this,\"start\",@undefined),b})\n"; +const char* const s_readableStreamInternalsInitializeArrayStreamCode = "(function (underlyingSource, highWaterMark) {\"use strict\";\n var array = [];\n var closingPromise = @newPromiseCapability(@Promise);\n var calledDone = false;\n function fulfill() {\n calledDone = true;\n closingPromise.resolve.@call(@undefined, array);\n return array;\n }\n var sink = {\n start() {\n },\n write(chunk) {\n @arrayPush(array, chunk);\n return chunk.byteLength || chunk.length;\n },\n flush() {\n return 0;\n },\n end() {\n if (calledDone) {\n return [];\n }\n return fulfill();\n },\n close() {\n if (!calledDone) {\n fulfill();\n }\n }\n };\n var controller = {\n @underlyingSource: underlyingSource,\n @pull: @onPullDirectStream,\n @controlledReadableStream: this,\n @sink: sink,\n close: @onCloseDirectStream,\n write: sink.write,\n error: @handleDirectStreamError,\n end: @onCloseDirectStream,\n @close: @onCloseDirectStream,\n flush: @onFlushDirectStream,\n _pendingRead: @undefined,\n _deferClose: 0,\n _deferFlush: 0,\n _deferCloseReason: @undefined,\n _handleError: @undefined\n };\n @putByIdDirectPrivate(this, \"readableStreamController\", controller);\n @putByIdDirectPrivate(this, \"underlyingSource\", @undefined);\n @putByIdDirectPrivate(this, \"start\", @undefined);\n return closingPromise;\n})\n"; // initializeArrayBufferStream const JSC::ConstructAbility s_readableStreamInternalsInitializeArrayBufferStreamCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_readableStreamInternalsInitializeArrayBufferStreamCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_readableStreamInternalsInitializeArrayBufferStreamCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_readableStreamInternalsInitializeArrayBufferStreamCodeLength = 690; +const int s_readableStreamInternalsInitializeArrayBufferStreamCodeLength = 954; static const JSC::Intrinsic s_readableStreamInternalsInitializeArrayBufferStreamCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_readableStreamInternalsInitializeArrayBufferStreamCode = "(function (w,m){\"use strict\";var D=m&&typeof m===\"number\"\?{highWaterMark:m,stream:!0,asUint8Array:!0}:{stream:!0,asUint8Array:!0},_=new @Bun.ArrayBufferSink;_.start(D);var b={@underlyingSource:w,@pull:@onPullDirectStream,@controlledReadableStream:this,@sink:_,close:@onCloseDirectStream,write:_.write.bind(_),error:@handleDirectStreamError,end:@onCloseDirectStream,@close:@onCloseDirectStream,flush:@onFlushDirectStream,_pendingRead:@undefined,_deferClose:0,_deferFlush:0,_deferCloseReason:@undefined,_handleError:@undefined};@putByIdDirectPrivate(this,\"readableStreamController\",b),@putByIdDirectPrivate(this,\"underlyingSource\",@undefined),@putByIdDirectPrivate(this,\"start\",@undefined)})\n"; +const char* const s_readableStreamInternalsInitializeArrayBufferStreamCode = "(function (underlyingSource, highWaterMark) {\"use strict\";\n var opts = highWaterMark && typeof highWaterMark === \"number\" \? { highWaterMark, stream: true, asUint8Array: true } : { stream: true, asUint8Array: true };\n var sink = new @Bun.ArrayBufferSink;\n sink.start(opts);\n var controller = {\n @underlyingSource: underlyingSource,\n @pull: @onPullDirectStream,\n @controlledReadableStream: this,\n @sink: sink,\n close: @onCloseDirectStream,\n write: sink.write.bind(sink),\n error: @handleDirectStreamError,\n end: @onCloseDirectStream,\n @close: @onCloseDirectStream,\n flush: @onFlushDirectStream,\n _pendingRead: @undefined,\n _deferClose: 0,\n _deferFlush: 0,\n _deferCloseReason: @undefined,\n _handleError: @undefined\n };\n @putByIdDirectPrivate(this, \"readableStreamController\", controller);\n @putByIdDirectPrivate(this, \"underlyingSource\", @undefined);\n @putByIdDirectPrivate(this, \"start\", @undefined);\n})\n"; // readableStreamError const JSC::ConstructAbility s_readableStreamInternalsReadableStreamErrorCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_readableStreamInternalsReadableStreamErrorCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_readableStreamInternalsReadableStreamErrorCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_readableStreamInternalsReadableStreamErrorCodeLength = 838; +const int s_readableStreamInternalsReadableStreamErrorCodeLength = 1180; static const JSC::Intrinsic s_readableStreamInternalsReadableStreamErrorCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_readableStreamInternalsReadableStreamErrorCode = "(function (n,f){\"use strict\";@assert(@isReadableStream(n)),@assert(@getByIdDirectPrivate(n,\"state\")===@streamReadable),@putByIdDirectPrivate(n,\"state\",@streamErrored),@putByIdDirectPrivate(n,\"storedError\",f);const _=@getByIdDirectPrivate(n,\"reader\");if(!_)return;if(@isReadableStreamDefaultReader(_)){const c=@getByIdDirectPrivate(_,\"readRequests\");@putByIdDirectPrivate(_,\"readRequests\",@createFIFO());for(var i=c.shift();i;i=c.shift())@rejectPromise(i,f)}else{@assert(@isReadableStreamBYOBReader(_));const c=@getByIdDirectPrivate(_,\"readIntoRequests\");@putByIdDirectPrivate(_,\"readIntoRequests\",@createFIFO());for(var i=c.shift();i;i=c.shift())@rejectPromise(i,f)}@getByIdDirectPrivate(_,\"closedPromiseCapability\").reject.@call(@undefined,f);const h=@getByIdDirectPrivate(_,\"closedPromiseCapability\").promise;@markPromiseAsHandled(h)})\n"; +const char* const s_readableStreamInternalsReadableStreamErrorCode = "(function (stream, error) {\"use strict\";\n @assert(@isReadableStream(stream));\n @assert(@getByIdDirectPrivate(stream, \"state\") === @streamReadable);\n @putByIdDirectPrivate(stream, \"state\", @streamErrored);\n @putByIdDirectPrivate(stream, \"storedError\", error);\n const reader = @getByIdDirectPrivate(stream, \"reader\");\n if (!reader)\n return;\n if (@isReadableStreamDefaultReader(reader)) {\n const requests = @getByIdDirectPrivate(reader, \"readRequests\");\n @putByIdDirectPrivate(reader, \"readRequests\", @createFIFO());\n for (var request = requests.shift();request; request = requests.shift())\n @rejectPromise(request, error);\n } else {\n @assert(@isReadableStreamBYOBReader(reader));\n const requests = @getByIdDirectPrivate(reader, \"readIntoRequests\");\n @putByIdDirectPrivate(reader, \"readIntoRequests\", @createFIFO());\n for (var request = requests.shift();request; request = requests.shift())\n @rejectPromise(request, error);\n }\n @getByIdDirectPrivate(reader, \"closedPromiseCapability\").reject.@call(@undefined, error);\n const promise = @getByIdDirectPrivate(reader, \"closedPromiseCapability\").promise;\n @markPromiseAsHandled(promise);\n})\n"; // readableStreamDefaultControllerShouldCallPull const JSC::ConstructAbility s_readableStreamInternalsReadableStreamDefaultControllerShouldCallPullCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_readableStreamInternalsReadableStreamDefaultControllerShouldCallPullCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_readableStreamInternalsReadableStreamDefaultControllerShouldCallPullCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_readableStreamInternalsReadableStreamDefaultControllerShouldCallPullCodeLength = 477; +const int s_readableStreamInternalsReadableStreamDefaultControllerShouldCallPullCodeLength = 653; static const JSC::Intrinsic s_readableStreamInternalsReadableStreamDefaultControllerShouldCallPullCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_readableStreamInternalsReadableStreamDefaultControllerShouldCallPullCode = "(function (h){\"use strict\";const i=@getByIdDirectPrivate(h,\"controlledReadableStream\");if(!@readableStreamDefaultControllerCanCloseOrEnqueue(h))return!1;if(@getByIdDirectPrivate(h,\"started\")!==1)return!1;if((!@isReadableStreamLocked(i)||!@getByIdDirectPrivate(@getByIdDirectPrivate(i,\"reader\"),\"readRequests\")\?.isNotEmpty())&&@readableStreamDefaultControllerGetDesiredSize(h)<=0)return!1;const v=@readableStreamDefaultControllerGetDesiredSize(h);return @assert(v!==null),v>0})\n"; +const char* const s_readableStreamInternalsReadableStreamDefaultControllerShouldCallPullCode = "(function (controller) {\"use strict\";\n const stream = @getByIdDirectPrivate(controller, \"controlledReadableStream\");\n if (!@readableStreamDefaultControllerCanCloseOrEnqueue(controller))\n return false;\n if (!(@getByIdDirectPrivate(controller, \"started\") === 1))\n return false;\n if ((!@isReadableStreamLocked(stream) || !@getByIdDirectPrivate(@getByIdDirectPrivate(stream, \"reader\"), \"readRequests\")\?.isNotEmpty()) && @readableStreamDefaultControllerGetDesiredSize(controller) <= 0)\n return false;\n const desiredSize = @readableStreamDefaultControllerGetDesiredSize(controller);\n @assert(desiredSize !== null);\n return desiredSize > 0;\n})\n"; // readableStreamDefaultControllerCallPullIfNeeded const JSC::ConstructAbility s_readableStreamInternalsReadableStreamDefaultControllerCallPullIfNeededCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_readableStreamInternalsReadableStreamDefaultControllerCallPullIfNeededCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_readableStreamInternalsReadableStreamDefaultControllerCallPullIfNeededCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_readableStreamInternalsReadableStreamDefaultControllerCallPullIfNeededCodeLength = 859; +const int s_readableStreamInternalsReadableStreamDefaultControllerCallPullIfNeededCodeLength = 1167; static const JSC::Intrinsic s_readableStreamInternalsReadableStreamDefaultControllerCallPullIfNeededCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_readableStreamInternalsReadableStreamDefaultControllerCallPullIfNeededCode = "(function (i){\"use strict\";const _=@getByIdDirectPrivate(i,\"controlledReadableStream\");if(!@readableStreamDefaultControllerCanCloseOrEnqueue(i))return;if(@getByIdDirectPrivate(i,\"started\")!==1)return;if((!@isReadableStreamLocked(_)||!@getByIdDirectPrivate(@getByIdDirectPrivate(_,\"reader\"),\"readRequests\")\?.isNotEmpty())&&@readableStreamDefaultControllerGetDesiredSize(i)<=0)return;if(@getByIdDirectPrivate(i,\"pulling\")){@putByIdDirectPrivate(i,\"pullAgain\",!0);return}@assert(!@getByIdDirectPrivate(i,\"pullAgain\")),@putByIdDirectPrivate(i,\"pulling\",!0),@getByIdDirectPrivate(i,\"pullAlgorithm\").@call(@undefined).@then(function(){if(@putByIdDirectPrivate(i,\"pulling\",!1),@getByIdDirectPrivate(i,\"pullAgain\"))@putByIdDirectPrivate(i,\"pullAgain\",!1),@readableStreamDefaultControllerCallPullIfNeeded(i)},function(d){@readableStreamDefaultControllerError(i,d)})})\n"; +const char* const s_readableStreamInternalsReadableStreamDefaultControllerCallPullIfNeededCode = "(function (controller) {\"use strict\";\n const stream = @getByIdDirectPrivate(controller, \"controlledReadableStream\");\n if (!@readableStreamDefaultControllerCanCloseOrEnqueue(controller))\n return;\n if (!(@getByIdDirectPrivate(controller, \"started\") === 1))\n return;\n if ((!@isReadableStreamLocked(stream) || !@getByIdDirectPrivate(@getByIdDirectPrivate(stream, \"reader\"), \"readRequests\")\?.isNotEmpty()) && @readableStreamDefaultControllerGetDesiredSize(controller) <= 0)\n return;\n if (@getByIdDirectPrivate(controller, \"pulling\")) {\n @putByIdDirectPrivate(controller, \"pullAgain\", true);\n return;\n }\n @assert(!@getByIdDirectPrivate(controller, \"pullAgain\"));\n @putByIdDirectPrivate(controller, \"pulling\", true);\n @getByIdDirectPrivate(controller, \"pullAlgorithm\").@call(@undefined).@then(function() {\n @putByIdDirectPrivate(controller, \"pulling\", false);\n if (@getByIdDirectPrivate(controller, \"pullAgain\")) {\n @putByIdDirectPrivate(controller, \"pullAgain\", false);\n @readableStreamDefaultControllerCallPullIfNeeded(controller);\n }\n }, function(error) {\n @readableStreamDefaultControllerError(controller, error);\n });\n})\n"; // isReadableStreamLocked const JSC::ConstructAbility s_readableStreamInternalsIsReadableStreamLockedCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_readableStreamInternalsIsReadableStreamLockedCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_readableStreamInternalsIsReadableStreamLockedCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_readableStreamInternalsIsReadableStreamLockedCodeLength = 102; +const int s_readableStreamInternalsIsReadableStreamLockedCodeLength = 127; static const JSC::Intrinsic s_readableStreamInternalsIsReadableStreamLockedCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_readableStreamInternalsIsReadableStreamLockedCode = "(function (i){\"use strict\";return @assert(@isReadableStream(i)),!!@getByIdDirectPrivate(i,\"reader\")})\n"; +const char* const s_readableStreamInternalsIsReadableStreamLockedCode = "(function (stream) {\"use strict\";\n @assert(@isReadableStream(stream));\n return !!@getByIdDirectPrivate(stream, \"reader\");\n})\n"; // readableStreamDefaultControllerGetDesiredSize const JSC::ConstructAbility s_readableStreamInternalsReadableStreamDefaultControllerGetDesiredSizeCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_readableStreamInternalsReadableStreamDefaultControllerGetDesiredSizeCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_readableStreamInternalsReadableStreamDefaultControllerGetDesiredSizeCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_readableStreamInternalsReadableStreamDefaultControllerGetDesiredSizeCodeLength = 283; +const int s_readableStreamInternalsReadableStreamDefaultControllerGetDesiredSizeCodeLength = 391; static const JSC::Intrinsic s_readableStreamInternalsReadableStreamDefaultControllerGetDesiredSizeCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_readableStreamInternalsReadableStreamDefaultControllerGetDesiredSizeCode = "(function (i){\"use strict\";const g=@getByIdDirectPrivate(i,\"controlledReadableStream\"),d=@getByIdDirectPrivate(g,\"state\");if(d===@streamErrored)return null;if(d===@streamClosed)return 0;return @getByIdDirectPrivate(i,\"strategy\").highWaterMark-@getByIdDirectPrivate(i,\"queue\").size})\n"; +const char* const s_readableStreamInternalsReadableStreamDefaultControllerGetDesiredSizeCode = "(function (controller) {\"use strict\";\n const stream = @getByIdDirectPrivate(controller, \"controlledReadableStream\");\n const state = @getByIdDirectPrivate(stream, \"state\");\n if (state === @streamErrored)\n return null;\n if (state === @streamClosed)\n return 0;\n return @getByIdDirectPrivate(controller, \"strategy\").highWaterMark - @getByIdDirectPrivate(controller, \"queue\").size;\n})\n"; // readableStreamReaderGenericCancel const JSC::ConstructAbility s_readableStreamInternalsReadableStreamReaderGenericCancelCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_readableStreamInternalsReadableStreamReaderGenericCancelCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_readableStreamInternalsReadableStreamReaderGenericCancelCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_readableStreamInternalsReadableStreamReaderGenericCancelCodeLength = 133; +const int s_readableStreamInternalsReadableStreamReaderGenericCancelCodeLength = 185; static const JSC::Intrinsic s_readableStreamInternalsReadableStreamReaderGenericCancelCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_readableStreamInternalsReadableStreamReaderGenericCancelCode = "(function (h,i){\"use strict\";const c=@getByIdDirectPrivate(h,\"ownerReadableStream\");return @assert(!!c),@readableStreamCancel(c,i)})\n"; +const char* const s_readableStreamInternalsReadableStreamReaderGenericCancelCode = "(function (reader, reason) {\"use strict\";\n const stream = @getByIdDirectPrivate(reader, \"ownerReadableStream\");\n @assert(!!stream);\n return @readableStreamCancel(stream, reason);\n})\n"; // readableStreamCancel const JSC::ConstructAbility s_readableStreamInternalsReadableStreamCancelCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_readableStreamInternalsReadableStreamCancelCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_readableStreamInternalsReadableStreamCancelCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_readableStreamInternalsReadableStreamCancelCodeLength = 509; +const int s_readableStreamInternalsReadableStreamCancelCodeLength = 737; static const JSC::Intrinsic s_readableStreamInternalsReadableStreamCancelCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_readableStreamInternalsReadableStreamCancelCode = "(function (i,d){\"use strict\";@putByIdDirectPrivate(i,\"disturbed\",!0);const h=@getByIdDirectPrivate(i,\"state\");if(h===@streamClosed)return @Promise.@resolve();if(h===@streamErrored)return @Promise.@reject(@getByIdDirectPrivate(i,\"storedError\"));@readableStreamClose(i);var _=@getByIdDirectPrivate(i,\"readableStreamController\"),p=_.@cancel;if(p)return p(_,d).@then(function(){});var u=_.close;if(u)return @Promise.@resolve(_.close(d));@throwTypeError(\"ReadableStreamController has no cancel or close method\")})\n"; +const char* const s_readableStreamInternalsReadableStreamCancelCode = "(function (stream, reason) {\"use strict\";\n @putByIdDirectPrivate(stream, \"disturbed\", true);\n const state = @getByIdDirectPrivate(stream, \"state\");\n if (state === @streamClosed)\n return @Promise.@resolve();\n if (state === @streamErrored)\n return @Promise.@reject(@getByIdDirectPrivate(stream, \"storedError\"));\n @readableStreamClose(stream);\n var controller = @getByIdDirectPrivate(stream, \"readableStreamController\");\n var cancel = controller.@cancel;\n if (cancel) {\n return cancel(controller, reason).@then(function() {\n });\n }\n var close = controller.close;\n if (close) {\n return @Promise.@resolve(controller.close(reason));\n }\n @throwTypeError(\"ReadableStreamController has no cancel or close method\");\n})\n"; // readableStreamDefaultControllerCancel const JSC::ConstructAbility s_readableStreamInternalsReadableStreamDefaultControllerCancelCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_readableStreamInternalsReadableStreamDefaultControllerCancelCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_readableStreamInternalsReadableStreamDefaultControllerCancelCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_readableStreamInternalsReadableStreamDefaultControllerCancelCodeLength = 146; +const int s_readableStreamInternalsReadableStreamDefaultControllerCancelCodeLength = 197; static const JSC::Intrinsic s_readableStreamInternalsReadableStreamDefaultControllerCancelCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_readableStreamInternalsReadableStreamDefaultControllerCancelCode = "(function (_,d){\"use strict\";return @putByIdDirectPrivate(_,\"queue\",@newQueue()),@getByIdDirectPrivate(_,\"cancelAlgorithm\").@call(@undefined,d)})\n"; +const char* const s_readableStreamInternalsReadableStreamDefaultControllerCancelCode = "(function (controller, reason) {\"use strict\";\n @putByIdDirectPrivate(controller, \"queue\", @newQueue());\n return @getByIdDirectPrivate(controller, \"cancelAlgorithm\").@call(@undefined, reason);\n})\n"; // readableStreamDefaultControllerPull const JSC::ConstructAbility s_readableStreamInternalsReadableStreamDefaultControllerPullCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_readableStreamInternalsReadableStreamDefaultControllerPullCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_readableStreamInternalsReadableStreamDefaultControllerPullCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_readableStreamInternalsReadableStreamDefaultControllerPullCodeLength = 519; +const int s_readableStreamInternalsReadableStreamDefaultControllerPullCodeLength = 710; static const JSC::Intrinsic s_readableStreamInternalsReadableStreamDefaultControllerPullCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_readableStreamInternalsReadableStreamDefaultControllerPullCode = "(function (a){\"use strict\";var _=@getByIdDirectPrivate(a,\"queue\");if(_.content.isNotEmpty()){const f=@dequeueValue(_);if(@getByIdDirectPrivate(a,\"closeRequested\")&&_.content.isEmpty())@readableStreamClose(@getByIdDirectPrivate(a,\"controlledReadableStream\"));else @readableStreamDefaultControllerCallPullIfNeeded(a);return @createFulfilledPromise({value:f,done:!1})}const d=@readableStreamAddReadRequest(@getByIdDirectPrivate(a,\"controlledReadableStream\"));return @readableStreamDefaultControllerCallPullIfNeeded(a),d})\n"; +const char* const s_readableStreamInternalsReadableStreamDefaultControllerPullCode = "(function (controller) {\"use strict\";\n var queue = @getByIdDirectPrivate(controller, \"queue\");\n if (queue.content.isNotEmpty()) {\n const chunk = @dequeueValue(queue);\n if (@getByIdDirectPrivate(controller, \"closeRequested\") && queue.content.isEmpty())\n @readableStreamClose(@getByIdDirectPrivate(controller, \"controlledReadableStream\"));\n else\n @readableStreamDefaultControllerCallPullIfNeeded(controller);\n return @createFulfilledPromise({ value: chunk, done: false });\n }\n const pendingPromise = @readableStreamAddReadRequest(@getByIdDirectPrivate(controller, \"controlledReadableStream\"));\n @readableStreamDefaultControllerCallPullIfNeeded(controller);\n return pendingPromise;\n})\n"; // readableStreamDefaultControllerClose const JSC::ConstructAbility s_readableStreamInternalsReadableStreamDefaultControllerCloseCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_readableStreamInternalsReadableStreamDefaultControllerCloseCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_readableStreamInternalsReadableStreamDefaultControllerCloseCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_readableStreamInternalsReadableStreamDefaultControllerCloseCodeLength = 266; +const int s_readableStreamInternalsReadableStreamDefaultControllerCloseCodeLength = 335; static const JSC::Intrinsic s_readableStreamInternalsReadableStreamDefaultControllerCloseCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_readableStreamInternalsReadableStreamDefaultControllerCloseCode = "(function (_){\"use strict\";if(@assert(@readableStreamDefaultControllerCanCloseOrEnqueue(_)),@putByIdDirectPrivate(_,\"closeRequested\",!0),@getByIdDirectPrivate(_,\"queue\")\?.content\?.isEmpty())@readableStreamClose(@getByIdDirectPrivate(_,\"controlledReadableStream\"))})\n"; +const char* const s_readableStreamInternalsReadableStreamDefaultControllerCloseCode = "(function (controller) {\"use strict\";\n @assert(@readableStreamDefaultControllerCanCloseOrEnqueue(controller));\n @putByIdDirectPrivate(controller, \"closeRequested\", true);\n if (@getByIdDirectPrivate(controller, \"queue\")\?.content\?.isEmpty())\n @readableStreamClose(@getByIdDirectPrivate(controller, \"controlledReadableStream\"));\n})\n"; // readableStreamClose const JSC::ConstructAbility s_readableStreamInternalsReadableStreamCloseCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_readableStreamInternalsReadableStreamCloseCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_readableStreamInternalsReadableStreamCloseCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_readableStreamInternalsReadableStreamCloseCodeLength = 616; +const int s_readableStreamInternalsReadableStreamCloseCodeLength = 808; static const JSC::Intrinsic s_readableStreamInternalsReadableStreamCloseCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_readableStreamInternalsReadableStreamCloseCode = "(function (d){\"use strict\";if(@assert(@getByIdDirectPrivate(d,\"state\")===@streamReadable),@putByIdDirectPrivate(d,\"state\",@streamClosed),!@getByIdDirectPrivate(d,\"reader\"))return;if(@isReadableStreamDefaultReader(@getByIdDirectPrivate(d,\"reader\"))){const _=@getByIdDirectPrivate(@getByIdDirectPrivate(d,\"reader\"),\"readRequests\");if(_.isNotEmpty()){@putByIdDirectPrivate(@getByIdDirectPrivate(d,\"reader\"),\"readRequests\",@createFIFO());for(var i=_.shift();i;i=_.shift())@fulfillPromise(i,{value:@undefined,done:!0})}}@getByIdDirectPrivate(@getByIdDirectPrivate(d,\"reader\"),\"closedPromiseCapability\").resolve.@call()})\n"; +const char* const s_readableStreamInternalsReadableStreamCloseCode = "(function (stream) {\"use strict\";\n @assert(@getByIdDirectPrivate(stream, \"state\") === @streamReadable);\n @putByIdDirectPrivate(stream, \"state\", @streamClosed);\n if (!@getByIdDirectPrivate(stream, \"reader\"))\n return;\n if (@isReadableStreamDefaultReader(@getByIdDirectPrivate(stream, \"reader\"))) {\n const requests = @getByIdDirectPrivate(@getByIdDirectPrivate(stream, \"reader\"), \"readRequests\");\n if (requests.isNotEmpty()) {\n @putByIdDirectPrivate(@getByIdDirectPrivate(stream, \"reader\"), \"readRequests\", @createFIFO());\n for (var request = requests.shift();request; request = requests.shift())\n @fulfillPromise(request, { value: @undefined, done: true });\n }\n }\n @getByIdDirectPrivate(@getByIdDirectPrivate(stream, \"reader\"), \"closedPromiseCapability\").resolve.@call();\n})\n"; // readableStreamFulfillReadRequest const JSC::ConstructAbility s_readableStreamInternalsReadableStreamFulfillReadRequestCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_readableStreamInternalsReadableStreamFulfillReadRequestCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_readableStreamInternalsReadableStreamFulfillReadRequestCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_readableStreamInternalsReadableStreamFulfillReadRequestCodeLength = 157; +const int s_readableStreamInternalsReadableStreamFulfillReadRequestCodeLength = 216; static const JSC::Intrinsic s_readableStreamInternalsReadableStreamFulfillReadRequestCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_readableStreamInternalsReadableStreamFulfillReadRequestCode = "(function (i,p,y){\"use strict\";const _=@getByIdDirectPrivate(@getByIdDirectPrivate(i,\"reader\"),\"readRequests\").shift();@fulfillPromise(_,{value:p,done:y})})\n"; +const char* const s_readableStreamInternalsReadableStreamFulfillReadRequestCode = "(function (stream, chunk, done) {\"use strict\";\n const readRequest = @getByIdDirectPrivate(@getByIdDirectPrivate(stream, \"reader\"), \"readRequests\").shift();\n @fulfillPromise(readRequest, { value: chunk, done });\n})\n"; // readableStreamDefaultControllerEnqueue const JSC::ConstructAbility s_readableStreamInternalsReadableStreamDefaultControllerEnqueueCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_readableStreamInternalsReadableStreamDefaultControllerEnqueueCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_readableStreamInternalsReadableStreamDefaultControllerEnqueueCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_readableStreamInternalsReadableStreamDefaultControllerEnqueueCodeLength = 659; +const int s_readableStreamInternalsReadableStreamDefaultControllerEnqueueCodeLength = 921; static const JSC::Intrinsic s_readableStreamInternalsReadableStreamDefaultControllerEnqueueCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_readableStreamInternalsReadableStreamDefaultControllerEnqueueCode = "(function (_,D){\"use strict\";const E=@getByIdDirectPrivate(_,\"controlledReadableStream\");if(@assert(@readableStreamDefaultControllerCanCloseOrEnqueue(_)),@isReadableStreamLocked(E)&&@getByIdDirectPrivate(@getByIdDirectPrivate(E,\"reader\"),\"readRequests\")\?.isNotEmpty()){@readableStreamFulfillReadRequest(E,D,!1),@readableStreamDefaultControllerCallPullIfNeeded(_);return}try{let d=1;if(@getByIdDirectPrivate(_,\"strategy\").size!==@undefined)d=@getByIdDirectPrivate(_,\"strategy\").size(D);@enqueueValueWithSize(@getByIdDirectPrivate(_,\"queue\"),D,d)}catch(d){throw @readableStreamDefaultControllerError(_,d),d}@readableStreamDefaultControllerCallPullIfNeeded(_)})\n"; +const char* const s_readableStreamInternalsReadableStreamDefaultControllerEnqueueCode = "(function (controller, chunk) {\"use strict\";\n const stream = @getByIdDirectPrivate(controller, \"controlledReadableStream\");\n @assert(@readableStreamDefaultControllerCanCloseOrEnqueue(controller));\n if (@isReadableStreamLocked(stream) && @getByIdDirectPrivate(@getByIdDirectPrivate(stream, \"reader\"), \"readRequests\")\?.isNotEmpty()) {\n @readableStreamFulfillReadRequest(stream, chunk, false);\n @readableStreamDefaultControllerCallPullIfNeeded(controller);\n return;\n }\n try {\n let chunkSize = 1;\n if (@getByIdDirectPrivate(controller, \"strategy\").size !== @undefined)\n chunkSize = @getByIdDirectPrivate(controller, \"strategy\").size(chunk);\n @enqueueValueWithSize(@getByIdDirectPrivate(controller, \"queue\"), chunk, chunkSize);\n } catch (error) {\n @readableStreamDefaultControllerError(controller, error);\n throw error;\n }\n @readableStreamDefaultControllerCallPullIfNeeded(controller);\n})\n"; // readableStreamDefaultReaderRead const JSC::ConstructAbility s_readableStreamInternalsReadableStreamDefaultReaderReadCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_readableStreamInternalsReadableStreamDefaultReaderReadCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_readableStreamInternalsReadableStreamDefaultReaderReadCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_readableStreamInternalsReadableStreamDefaultReaderReadCodeLength = 491; +const int s_readableStreamInternalsReadableStreamDefaultReaderReadCodeLength = 617; static const JSC::Intrinsic s_readableStreamInternalsReadableStreamDefaultReaderReadCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_readableStreamInternalsReadableStreamDefaultReaderReadCode = "(function (y){\"use strict\";const i=@getByIdDirectPrivate(y,\"ownerReadableStream\");@assert(!!i);const n=@getByIdDirectPrivate(i,\"state\");if(@putByIdDirectPrivate(i,\"disturbed\",!0),n===@streamClosed)return @createFulfilledPromise({value:@undefined,done:!0});if(n===@streamErrored)return @Promise.@reject(@getByIdDirectPrivate(i,\"storedError\"));return @assert(n===@streamReadable),@getByIdDirectPrivate(i,\"readableStreamController\").@pull(@getByIdDirectPrivate(i,\"readableStreamController\"))})\n"; +const char* const s_readableStreamInternalsReadableStreamDefaultReaderReadCode = "(function (reader) {\"use strict\";\n const stream = @getByIdDirectPrivate(reader, \"ownerReadableStream\");\n @assert(!!stream);\n const state = @getByIdDirectPrivate(stream, \"state\");\n @putByIdDirectPrivate(stream, \"disturbed\", true);\n if (state === @streamClosed)\n return @createFulfilledPromise({ value: @undefined, done: true });\n if (state === @streamErrored)\n return @Promise.@reject(@getByIdDirectPrivate(stream, \"storedError\"));\n @assert(state === @streamReadable);\n return @getByIdDirectPrivate(stream, \"readableStreamController\").@pull(@getByIdDirectPrivate(stream, \"readableStreamController\"));\n})\n"; // readableStreamAddReadRequest const JSC::ConstructAbility s_readableStreamInternalsReadableStreamAddReadRequestCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_readableStreamInternalsReadableStreamAddReadRequestCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_readableStreamInternalsReadableStreamAddReadRequestCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_readableStreamInternalsReadableStreamAddReadRequestCodeLength = 274; +const int s_readableStreamInternalsReadableStreamAddReadRequestCodeLength = 350; static const JSC::Intrinsic s_readableStreamInternalsReadableStreamAddReadRequestCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_readableStreamInternalsReadableStreamAddReadRequestCode = "(function (h){\"use strict\";@assert(@isReadableStreamDefaultReader(@getByIdDirectPrivate(h,\"reader\"))),@assert(@getByIdDirectPrivate(h,\"state\")==@streamReadable);const i=@newPromise();return @getByIdDirectPrivate(@getByIdDirectPrivate(h,\"reader\"),\"readRequests\").push(i),i})\n"; +const char* const s_readableStreamInternalsReadableStreamAddReadRequestCode = "(function (stream) {\"use strict\";\n @assert(@isReadableStreamDefaultReader(@getByIdDirectPrivate(stream, \"reader\")));\n @assert(@getByIdDirectPrivate(stream, \"state\") == @streamReadable);\n const readRequest = @newPromise();\n @getByIdDirectPrivate(@getByIdDirectPrivate(stream, \"reader\"), \"readRequests\").push(readRequest);\n return readRequest;\n})\n"; // isReadableStreamDisturbed const JSC::ConstructAbility s_readableStreamInternalsIsReadableStreamDisturbedCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_readableStreamInternalsIsReadableStreamDisturbedCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_readableStreamInternalsIsReadableStreamDisturbedCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_readableStreamInternalsIsReadableStreamDisturbedCodeLength = 103; +const int s_readableStreamInternalsIsReadableStreamDisturbedCodeLength = 128; static const JSC::Intrinsic s_readableStreamInternalsIsReadableStreamDisturbedCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_readableStreamInternalsIsReadableStreamDisturbedCode = "(function (d){\"use strict\";return @assert(@isReadableStream(d)),@getByIdDirectPrivate(d,\"disturbed\")})\n"; +const char* const s_readableStreamInternalsIsReadableStreamDisturbedCode = "(function (stream) {\"use strict\";\n @assert(@isReadableStream(stream));\n return @getByIdDirectPrivate(stream, \"disturbed\");\n})\n"; // readableStreamReaderGenericRelease const JSC::ConstructAbility s_readableStreamInternalsReadableStreamReaderGenericReleaseCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_readableStreamInternalsReadableStreamReaderGenericReleaseCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_readableStreamInternalsReadableStreamReaderGenericReleaseCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_readableStreamInternalsReadableStreamReaderGenericReleaseCodeLength = 810; +const int s_readableStreamInternalsReadableStreamReaderGenericReleaseCodeLength = 943; static const JSC::Intrinsic s_readableStreamInternalsReadableStreamReaderGenericReleaseCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_readableStreamInternalsReadableStreamReaderGenericReleaseCode = "(function (s){\"use strict\";if(@assert(!!@getByIdDirectPrivate(s,\"ownerReadableStream\")),@assert(@getByIdDirectPrivate(@getByIdDirectPrivate(s,\"ownerReadableStream\"),\"reader\")===s),@getByIdDirectPrivate(@getByIdDirectPrivate(s,\"ownerReadableStream\"),\"state\")===@streamReadable)@getByIdDirectPrivate(s,\"closedPromiseCapability\").reject.@call(@undefined,@makeTypeError(\"releasing lock of reader whose stream is still in readable state\"));else @putByIdDirectPrivate(s,\"closedPromiseCapability\",{promise:@newHandledRejectedPromise(@makeTypeError(\"reader released lock\"))});const t=@getByIdDirectPrivate(s,\"closedPromiseCapability\").promise;@markPromiseAsHandled(t),@putByIdDirectPrivate(@getByIdDirectPrivate(s,\"ownerReadableStream\"),\"reader\",@undefined),@putByIdDirectPrivate(s,\"ownerReadableStream\",@undefined)})\n"; +const char* const s_readableStreamInternalsReadableStreamReaderGenericReleaseCode = "(function (reader) {\"use strict\";\n @assert(!!@getByIdDirectPrivate(reader, \"ownerReadableStream\"));\n @assert(@getByIdDirectPrivate(@getByIdDirectPrivate(reader, \"ownerReadableStream\"), \"reader\") === reader);\n if (@getByIdDirectPrivate(@getByIdDirectPrivate(reader, \"ownerReadableStream\"), \"state\") === @streamReadable)\n @getByIdDirectPrivate(reader, \"closedPromiseCapability\").reject.@call(@undefined, @makeTypeError(\"releasing lock of reader whose stream is still in readable state\"));\n else\n @putByIdDirectPrivate(reader, \"closedPromiseCapability\", {\n promise: @newHandledRejectedPromise(@makeTypeError(\"reader released lock\"))\n });\n const promise = @getByIdDirectPrivate(reader, \"closedPromiseCapability\").promise;\n @markPromiseAsHandled(promise);\n @putByIdDirectPrivate(@getByIdDirectPrivate(reader, \"ownerReadableStream\"), \"reader\", @undefined);\n @putByIdDirectPrivate(reader, \"ownerReadableStream\", @undefined);\n})\n"; // readableStreamDefaultControllerCanCloseOrEnqueue const JSC::ConstructAbility s_readableStreamInternalsReadableStreamDefaultControllerCanCloseOrEnqueueCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_readableStreamInternalsReadableStreamDefaultControllerCanCloseOrEnqueueCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_readableStreamInternalsReadableStreamDefaultControllerCanCloseOrEnqueueCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_readableStreamInternalsReadableStreamDefaultControllerCanCloseOrEnqueueCodeLength = 180; +const int s_readableStreamInternalsReadableStreamDefaultControllerCanCloseOrEnqueueCodeLength = 221; static const JSC::Intrinsic s_readableStreamInternalsReadableStreamDefaultControllerCanCloseOrEnqueueCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_readableStreamInternalsReadableStreamDefaultControllerCanCloseOrEnqueueCode = "(function (a){\"use strict\";return!@getByIdDirectPrivate(a,\"closeRequested\")&&@getByIdDirectPrivate(@getByIdDirectPrivate(a,\"controlledReadableStream\"),\"state\")===@streamReadable})\n"; +const char* const s_readableStreamInternalsReadableStreamDefaultControllerCanCloseOrEnqueueCode = "(function (controller) {\"use strict\";\n return !@getByIdDirectPrivate(controller, \"closeRequested\") && @getByIdDirectPrivate(@getByIdDirectPrivate(controller, \"controlledReadableStream\"), \"state\") === @streamReadable;\n})\n"; // lazyLoadStream const JSC::ConstructAbility s_readableStreamInternalsLazyLoadStreamCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_readableStreamInternalsLazyLoadStreamCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_readableStreamInternalsLazyLoadStreamCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_readableStreamInternalsLazyLoadStreamCodeLength = 1589; +const int s_readableStreamInternalsLazyLoadStreamCodeLength = 4023; static const JSC::Intrinsic s_readableStreamInternalsLazyLoadStreamCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_readableStreamInternalsLazyLoadStreamCode = "(function (J,P){\"use strict\";var G=@getByIdDirectPrivate(J,\"bunNativeType\"),B=@getByIdDirectPrivate(J,\"bunNativePtr\"),x=@lazyStreamPrototypeMap.@get(G);if(x===@undefined){let q=function(m){var{c:b,v:f}=this;this.c=@undefined,this.v=@undefined,I(m,b,f)},N=function(m){try{m.close()}catch(b){globalThis.reportError(b)}},O=function(m,b,f,j){j[0]=!1;var y;try{y=Q(m,f,j)}catch(Y){return b.error(Y)}return I(y,b,f)};var z=q,A=N,p=O,[Q,U,W,Z,D,K,X]=@lazyLoad(G),H=[!1],I;I=function m(b,f,j){if(b&&@isPromise(b))return b.then(q.bind({c:f,v:j}),(y)=>f.error(y));else if(typeof b===\"number\")if(j&&j.byteLength===b&&j.buffer===f.byobRequest\?.view\?.buffer)f.byobRequest.respondWithNewView(j);else f.byobRequest.respond(b);else if(b.constructor===@Uint8Array)f.enqueue(b);if(H[0]||b===!1)@enqueueJob(N,f),H[0]=!1};const F=D\?new FinalizationRegistry(D):null;x=class m{constructor(b,f,j){if(this.#f=b,this.#b={},this.pull=this.#j.bind(this),this.cancel=this.#m.bind(this),this.autoAllocateChunkSize=f,j!==@undefined)this.start=(y)=>{y.enqueue(j)};if(F)F.register(this,b,this.#b)}#b;pull;cancel;start;#f;type=\"bytes\";autoAllocateChunkSize=0;static startSync=U;#j(b){var f=this.#f;if(!f){b.close();return}O(f,b,b.byobRequest.view,H)}#m(b){var f=this.#f;F&&F.unregister(this.#b),K&&K(f,!1),W(f,b)}static deinit=D;static drain=X},@lazyStreamPrototypeMap.@set(G,x)}const L=x.startSync(B,P);var E;const{drain:M,deinit:_}=x;if(M)E=M(B);if(L===0){if(D&&B&&@enqueueJob(D,B),(E\?.byteLength\?\?0)>0)return{start(q){q.enqueue(E),q.close()},type:\"bytes\"};return{start(q){q.close()},type:\"bytes\"}}return new x(B,L,E)})\n"; +const char* const s_readableStreamInternalsLazyLoadStreamCode = "(function (stream, autoAllocateChunkSize) {\"use strict\";\n var nativeType = @getByIdDirectPrivate(stream, \"bunNativeType\");\n var nativePtr = @getByIdDirectPrivate(stream, \"bunNativePtr\");\n var Prototype = @lazyStreamPrototypeMap.@get(nativeType);\n if (Prototype === @undefined) {\n let handleNativeReadableStreamPromiseResult2 = function(val) {\n var { c, v } = this;\n this.c = @undefined;\n this.v = @undefined;\n handleResult(val, c, v);\n }, callClose2 = function(controller) {\n try {\n controller.close();\n } catch (e) {\n globalThis.reportError(e);\n }\n }, createResult2 = function(tag, controller, view, closer2) {\n closer2[0] = false;\n var result;\n try {\n result = pull(tag, view, closer2);\n } catch (err) {\n return controller.error(err);\n }\n return handleResult(result, controller, view);\n };\n var handleNativeReadableStreamPromiseResult = handleNativeReadableStreamPromiseResult2, callClose = callClose2, createResult = createResult2;\n var [pull, start, cancel, setClose, deinit, setRefOrUnref, drain] = @lazyLoad(nativeType);\n var closer = [false];\n var handleResult;\n handleResult = function handleResult(result, controller, view) {\n if (result && @isPromise(result)) {\n return result.then(handleNativeReadableStreamPromiseResult2.bind({\n c: controller,\n v: view\n }), (err) => controller.error(err));\n } else if (typeof result === \"number\") {\n if (view && view.byteLength === result && view.buffer === controller.byobRequest\?.view\?.buffer) {\n controller.byobRequest.respondWithNewView(view);\n } else {\n controller.byobRequest.respond(result);\n }\n } else if (result.constructor === @Uint8Array) {\n controller.enqueue(result);\n }\n if (closer[0] || result === false) {\n @enqueueJob(callClose2, controller);\n closer[0] = false;\n }\n };\n const registry = deinit \? new FinalizationRegistry(deinit) : null;\n Prototype = class NativeReadableStreamSource {\n constructor(tag, autoAllocateChunkSize2, drainValue2) {\n this.#tag = tag;\n this.#cancellationToken = {};\n this.pull = this.#pull.bind(this);\n this.cancel = this.#cancel.bind(this);\n this.autoAllocateChunkSize = autoAllocateChunkSize2;\n if (drainValue2 !== @undefined) {\n this.start = (controller) => {\n controller.enqueue(drainValue2);\n };\n }\n if (registry) {\n registry.register(this, tag, this.#cancellationToken);\n }\n }\n #cancellationToken;\n pull;\n cancel;\n start;\n #tag;\n type = \"bytes\";\n autoAllocateChunkSize = 0;\n static startSync = start;\n #pull(controller) {\n var tag = this.#tag;\n if (!tag) {\n controller.close();\n return;\n }\n createResult2(tag, controller, controller.byobRequest.view, closer);\n }\n #cancel(reason) {\n var tag = this.#tag;\n registry && registry.unregister(this.#cancellationToken);\n setRefOrUnref && setRefOrUnref(tag, false);\n cancel(tag, reason);\n }\n static deinit = deinit;\n static drain = drain;\n };\n @lazyStreamPrototypeMap.@set(nativeType, Prototype);\n }\n const chunkSize = Prototype.startSync(nativePtr, autoAllocateChunkSize);\n var drainValue;\n const { drain: drainFn, deinit: deinitFn } = Prototype;\n if (drainFn) {\n drainValue = drainFn(nativePtr);\n }\n if (chunkSize === 0) {\n deinit && nativePtr && @enqueueJob(deinit, nativePtr);\n if ((drainValue\?.byteLength \?\? 0) > 0) {\n return {\n start(controller) {\n controller.enqueue(drainValue);\n controller.close();\n },\n type: \"bytes\"\n };\n }\n return {\n start(controller) {\n controller.close();\n },\n type: \"bytes\"\n };\n }\n return new Prototype(nativePtr, chunkSize, drainValue);\n})\n"; // readableStreamIntoArray const JSC::ConstructAbility s_readableStreamInternalsReadableStreamIntoArrayCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_readableStreamInternalsReadableStreamIntoArrayCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_readableStreamInternalsReadableStreamIntoArrayCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_readableStreamInternalsReadableStreamIntoArrayCodeLength = 247; +const int s_readableStreamInternalsReadableStreamIntoArrayCodeLength = 568; static const JSC::Intrinsic s_readableStreamInternalsReadableStreamIntoArrayCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_readableStreamInternalsReadableStreamIntoArrayCode = "(function (q){\"use strict\";var b=q.getReader(),f=b.readMany();async function g(j){if(j.done)return[];var _=j.value||[];while(!0){var p=await b.read();if(p.done)break;_=_.concat(p.value)}return _}if(f&&@isPromise(f))return f.@then(g);return g(f)})\n"; +const char* const s_readableStreamInternalsReadableStreamIntoArrayCode = "(function (stream) {\"use strict\";\n var reader = stream.getReader();\n var manyResult = reader.readMany();\n async function processManyResult(result) {\n if (result.done) {\n return [];\n }\n var chunks = result.value || [];\n while (true) {\n var thisResult = await reader.read();\n if (thisResult.done) {\n break;\n }\n chunks = chunks.concat(thisResult.value);\n }\n return chunks;\n }\n if (manyResult && @isPromise(manyResult)) {\n return manyResult.@then(processManyResult);\n }\n return processManyResult(manyResult);\n})\n"; // readableStreamIntoText const JSC::ConstructAbility s_readableStreamInternalsReadableStreamIntoTextCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_readableStreamInternalsReadableStreamIntoTextCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_readableStreamInternalsReadableStreamIntoTextCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_readableStreamInternalsReadableStreamIntoTextCodeLength = 212; +const int s_readableStreamInternalsReadableStreamIntoTextCodeLength = 319; static const JSC::Intrinsic s_readableStreamInternalsReadableStreamIntoTextCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_readableStreamInternalsReadableStreamIntoTextCode = "(function (h){\"use strict\";const[_,T]=@createTextStream(@getByIdDirectPrivate(h,\"highWaterMark\")),i=@readStreamIntoSink(h,_,!1);if(i&&@isPromise(i))return @Promise.@resolve(i).@then(T.promise);return T.promise})\n"; +const char* const s_readableStreamInternalsReadableStreamIntoTextCode = "(function (stream) {\"use strict\";\n const [textStream, closer] = @createTextStream(@getByIdDirectPrivate(stream, \"highWaterMark\"));\n const prom = @readStreamIntoSink(stream, textStream, false);\n if (prom && @isPromise(prom)) {\n return @Promise.@resolve(prom).@then(closer.promise);\n }\n return closer.promise;\n})\n"; // readableStreamToArrayBufferDirect const JSC::ConstructAbility s_readableStreamInternalsReadableStreamToArrayBufferDirectCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_readableStreamInternalsReadableStreamToArrayBufferDirectCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_readableStreamInternalsReadableStreamToArrayBufferDirectCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_readableStreamInternalsReadableStreamToArrayBufferDirectCodeLength = 724; +const int s_readableStreamInternalsReadableStreamToArrayBufferDirectCodeLength = 1533; static const JSC::Intrinsic s_readableStreamInternalsReadableStreamToArrayBufferDirectCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_readableStreamInternalsReadableStreamToArrayBufferDirectCode = "(function (j,B){\"use strict\";var q=new @Bun.ArrayBufferSink;@putByIdDirectPrivate(j,\"underlyingSource\",@undefined);var C=@getByIdDirectPrivate(j,\"highWaterMark\");q.start(C\?{highWaterMark:C}:{});var x=@newPromiseCapability(@Promise),v=!1,z=B.pull,w=B.close,A={start(){},close(_){if(!v){if(v=!0,w)w();@fulfillPromise(x.promise,q.end())}},end(){if(!v){if(v=!0,w)w();@fulfillPromise(x.promise,q.end())}},flush(){return 0},write:q.write.bind(q)},D=!1;try{const _=z(A);if(_&&@isObject(_)&&@isPromise(_))return async function(F,G,H){while(!v)await H(F);return await G}(A,promise,z);return x.promise}catch(_){return D=!0,@readableStreamError(j,_),@Promise.@reject(_)}finally{if(!D&&j)@readableStreamClose(j);A=w=q=z=j=@undefined}})\n"; +const char* const s_readableStreamInternalsReadableStreamToArrayBufferDirectCode = "(function (stream, underlyingSource) {\"use strict\";\n var sink = new @Bun.ArrayBufferSink;\n @putByIdDirectPrivate(stream, \"underlyingSource\", @undefined);\n var highWaterMark = @getByIdDirectPrivate(stream, \"highWaterMark\");\n sink.start(highWaterMark \? { highWaterMark } : {});\n var capability = @newPromiseCapability(@Promise);\n var ended = false;\n var pull = underlyingSource.pull;\n var close = underlyingSource.close;\n var controller = {\n start() {\n },\n close(reason) {\n if (!ended) {\n ended = true;\n if (close) {\n close();\n }\n @fulfillPromise(capability.promise, sink.end());\n }\n },\n end() {\n if (!ended) {\n ended = true;\n if (close) {\n close();\n }\n @fulfillPromise(capability.promise, sink.end());\n }\n },\n flush() {\n return 0;\n },\n write: sink.write.bind(sink)\n };\n var didError = false;\n try {\n const firstPull = pull(controller);\n if (firstPull && @isObject(firstPull) && @isPromise(firstPull)) {\n return async function(controller2, promise2, pull2) {\n while (!ended) {\n await pull2(controller2);\n }\n return await promise2;\n }(controller, promise, pull);\n }\n return capability.promise;\n } catch (e) {\n didError = true;\n @readableStreamError(stream, e);\n return @Promise.@reject(e);\n } finally {\n if (!didError && stream)\n @readableStreamClose(stream);\n controller = close = sink = pull = stream = @undefined;\n }\n})\n"; // readableStreamToTextDirect const JSC::ConstructAbility s_readableStreamInternalsReadableStreamToTextDirectCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_readableStreamInternalsReadableStreamToTextDirectCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_readableStreamInternalsReadableStreamToTextDirectCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_readableStreamInternalsReadableStreamToTextDirectCodeLength = 277; +const int s_readableStreamInternalsReadableStreamToTextDirectCodeLength = 476; static const JSC::Intrinsic s_readableStreamInternalsReadableStreamToTextDirectCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_readableStreamInternalsReadableStreamToTextDirectCode = "(async function (f,j){\"use strict\";const k=@initializeTextStream.@call(f,j,@undefined);var h=f.getReader();while(@getByIdDirectPrivate(f,\"state\")===@streamReadable){var q=await h.read();if(q.done)break}try{h.releaseLock()}catch(v){}return h=@undefined,f=@undefined,k.promise})\n"; +const char* const s_readableStreamInternalsReadableStreamToTextDirectCode = "(async function (stream, underlyingSource) {\"use strict\";\n const capability = @initializeTextStream.@call(stream, underlyingSource, @undefined);\n var reader = stream.getReader();\n while (@getByIdDirectPrivate(stream, \"state\") === @streamReadable) {\n var thisResult = await reader.read();\n if (thisResult.done) {\n break;\n }\n }\n try {\n reader.releaseLock();\n } catch (e) {\n }\n reader = @undefined;\n stream = @undefined;\n return capability.promise;\n})\n"; // readableStreamToArrayDirect const JSC::ConstructAbility s_readableStreamInternalsReadableStreamToArrayDirectCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_readableStreamInternalsReadableStreamToArrayDirectCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_readableStreamInternalsReadableStreamToArrayDirectCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_readableStreamInternalsReadableStreamToArrayDirectCodeLength = 353; +const int s_readableStreamInternalsReadableStreamToArrayDirectCodeLength = 635; static const JSC::Intrinsic s_readableStreamInternalsReadableStreamToArrayDirectCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_readableStreamInternalsReadableStreamToArrayDirectCode = "(async function (_,j){\"use strict\";const q=@initializeArrayStream.@call(_,j,@undefined);j=@undefined;var f=_.getReader();try{while(@getByIdDirectPrivate(_,\"state\")===@streamReadable){var v=await f.read();if(v.done)break}try{f.releaseLock()}catch(k){}return f=@undefined,@Promise.@resolve(q.promise)}catch(k){throw k}finally{_=@undefined,f=@undefined}})\n"; +const char* const s_readableStreamInternalsReadableStreamToArrayDirectCode = "(async function (stream, underlyingSource) {\"use strict\";\n const capability = @initializeArrayStream.@call(stream, underlyingSource, @undefined);\n underlyingSource = @undefined;\n var reader = stream.getReader();\n try {\n while (@getByIdDirectPrivate(stream, \"state\") === @streamReadable) {\n var thisResult = await reader.read();\n if (thisResult.done) {\n break;\n }\n }\n try {\n reader.releaseLock();\n } catch (e) {\n }\n reader = @undefined;\n return @Promise.@resolve(capability.promise);\n } catch (e) {\n throw e;\n } finally {\n stream = @undefined;\n reader = @undefined;\n }\n})\n"; // readableStreamDefineLazyIterators const JSC::ConstructAbility s_readableStreamInternalsReadableStreamDefineLazyIteratorsCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_readableStreamInternalsReadableStreamDefineLazyIteratorsCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_readableStreamInternalsReadableStreamDefineLazyIteratorsCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_readableStreamInternalsReadableStreamDefineLazyIteratorsCodeLength = 516; +const int s_readableStreamInternalsReadableStreamDefineLazyIteratorsCodeLength = 1285; static const JSC::Intrinsic s_readableStreamInternalsReadableStreamDefineLazyIteratorsCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_readableStreamInternalsReadableStreamDefineLazyIteratorsCode = "(function (i){\"use strict\";var B=globalThis.Symbol.asyncIterator,w=async function*x(k,G){var z=k.getReader(),g;try{while(!0){var j,q;const h=z.readMany();if(@isPromise(h))({done:j,value:q}=await h);else({done:j,value:q}=h);if(j)return;yield*q}}catch(h){g=h}finally{if(z.releaseLock(),!G)k.cancel(g);if(g)throw g}},D=function x(){return w(this,!1)},F=function x({preventCancel:k=!1}={preventCancel:!1}){return w(this,k)};return @Object.@defineProperty(i,B,{value:D}),@Object.@defineProperty(i,\"values\",{value:F}),i})\n"; +const char* const s_readableStreamInternalsReadableStreamDefineLazyIteratorsCode = "(function (prototype) {\"use strict\";\n var asyncIterator = globalThis.Symbol.asyncIterator;\n var ReadableStreamAsyncIterator = async function* ReadableStreamAsyncIterator(stream, preventCancel) {\n var reader = stream.getReader();\n var deferredError;\n try {\n while (true) {\n var done, value;\n const firstResult = reader.readMany();\n if (@isPromise(firstResult)) {\n ({ done, value } = await firstResult);\n } else {\n ({ done, value } = firstResult);\n }\n if (done) {\n return;\n }\n yield* value;\n }\n } catch (e) {\n deferredError = e;\n } finally {\n reader.releaseLock();\n if (!preventCancel) {\n stream.cancel(deferredError);\n }\n if (deferredError) {\n throw deferredError;\n }\n }\n };\n var createAsyncIterator = function asyncIterator() {\n return ReadableStreamAsyncIterator(this, false);\n };\n var createValues = function values({ preventCancel = false } = { preventCancel: false }) {\n return ReadableStreamAsyncIterator(this, preventCancel);\n };\n @Object.@defineProperty(prototype, asyncIterator, { value: createAsyncIterator });\n @Object.@defineProperty(prototype, \"values\", { value: createValues });\n return prototype;\n})\n"; #define DEFINE_BUILTIN_GENERATOR(codeName, functionName, overriddenName, argumentCount) \ JSC::FunctionExecutable* codeName##Generator(JSC::VM& vm) \ @@ -1884,41 +1892,41 @@ WEBCORE_FOREACH_READABLESTREAMINTERNALS_BUILTIN_CODE(DEFINE_BUILTIN_GENERATOR) const JSC::ConstructAbility s_transformStreamDefaultControllerInitializeTransformStreamDefaultControllerCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_transformStreamDefaultControllerInitializeTransformStreamDefaultControllerCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_transformStreamDefaultControllerInitializeTransformStreamDefaultControllerCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_transformStreamDefaultControllerInitializeTransformStreamDefaultControllerCodeLength = 40; +const int s_transformStreamDefaultControllerInitializeTransformStreamDefaultControllerCodeLength = 46; static const JSC::Intrinsic s_transformStreamDefaultControllerInitializeTransformStreamDefaultControllerCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_transformStreamDefaultControllerInitializeTransformStreamDefaultControllerCode = "(function (){\"use strict\";return this})\n"; +const char* const s_transformStreamDefaultControllerInitializeTransformStreamDefaultControllerCode = "(function () {\"use strict\";\n return this;\n})\n"; // desiredSize const JSC::ConstructAbility s_transformStreamDefaultControllerDesiredSizeCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_transformStreamDefaultControllerDesiredSizeCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_transformStreamDefaultControllerDesiredSizeCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_transformStreamDefaultControllerDesiredSizeCodeLength = 339; +const int s_transformStreamDefaultControllerDesiredSizeCodeLength = 443; static const JSC::Intrinsic s_transformStreamDefaultControllerDesiredSizeCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_transformStreamDefaultControllerDesiredSizeCode = "(function (){\"use strict\";if(!@isTransformStreamDefaultController(this))throw @makeThisTypeError(\"TransformStreamDefaultController\",\"enqueue\");const _=@getByIdDirectPrivate(this,\"stream\"),u=@getByIdDirectPrivate(_,\"readable\"),i=@getByIdDirectPrivate(u,\"readableStreamController\");return @readableStreamDefaultControllerGetDesiredSize(i)})\n"; +const char* const s_transformStreamDefaultControllerDesiredSizeCode = "(function () {\"use strict\";\n if (!@isTransformStreamDefaultController(this))\n throw @makeThisTypeError(\"TransformStreamDefaultController\", \"enqueue\");\n const stream = @getByIdDirectPrivate(this, \"stream\");\n const readable = @getByIdDirectPrivate(stream, \"readable\");\n const readableController = @getByIdDirectPrivate(readable, \"readableStreamController\");\n return @readableStreamDefaultControllerGetDesiredSize(readableController);\n})\n"; // enqueue const JSC::ConstructAbility s_transformStreamDefaultControllerEnqueueCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_transformStreamDefaultControllerEnqueueCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_transformStreamDefaultControllerEnqueueCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_transformStreamDefaultControllerEnqueueCodeLength = 195; +const int s_transformStreamDefaultControllerEnqueueCodeLength = 220; static const JSC::Intrinsic s_transformStreamDefaultControllerEnqueueCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_transformStreamDefaultControllerEnqueueCode = "(function (a){\"use strict\";if(!@isTransformStreamDefaultController(this))throw @makeThisTypeError(\"TransformStreamDefaultController\",\"enqueue\");@transformStreamDefaultControllerEnqueue(this,a)})\n"; +const char* const s_transformStreamDefaultControllerEnqueueCode = "(function (chunk) {\"use strict\";\n if (!@isTransformStreamDefaultController(this))\n throw @makeThisTypeError(\"TransformStreamDefaultController\", \"enqueue\");\n @transformStreamDefaultControllerEnqueue(this, chunk);\n})\n"; // error const JSC::ConstructAbility s_transformStreamDefaultControllerErrorCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_transformStreamDefaultControllerErrorCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_transformStreamDefaultControllerErrorCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_transformStreamDefaultControllerErrorCodeLength = 191; +const int s_transformStreamDefaultControllerErrorCodeLength = 208; static const JSC::Intrinsic s_transformStreamDefaultControllerErrorCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_transformStreamDefaultControllerErrorCode = "(function (t){\"use strict\";if(!@isTransformStreamDefaultController(this))throw @makeThisTypeError(\"TransformStreamDefaultController\",\"error\");@transformStreamDefaultControllerError(this,t)})\n"; +const char* const s_transformStreamDefaultControllerErrorCode = "(function (e) {\"use strict\";\n if (!@isTransformStreamDefaultController(this))\n throw @makeThisTypeError(\"TransformStreamDefaultController\", \"error\");\n @transformStreamDefaultControllerError(this, e);\n})\n"; // terminate const JSC::ConstructAbility s_transformStreamDefaultControllerTerminateCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_transformStreamDefaultControllerTerminateCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_transformStreamDefaultControllerTerminateCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_transformStreamDefaultControllerTerminateCodeLength = 196; +const int s_transformStreamDefaultControllerTerminateCodeLength = 212; static const JSC::Intrinsic s_transformStreamDefaultControllerTerminateCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_transformStreamDefaultControllerTerminateCode = "(function (){\"use strict\";if(!@isTransformStreamDefaultController(this))throw @makeThisTypeError(\"TransformStreamDefaultController\",\"terminate\");@transformStreamDefaultControllerTerminate(this)})\n"; +const char* const s_transformStreamDefaultControllerTerminateCode = "(function () {\"use strict\";\n if (!@isTransformStreamDefaultController(this))\n throw @makeThisTypeError(\"TransformStreamDefaultController\", \"terminate\");\n @transformStreamDefaultControllerTerminate(this);\n})\n"; #define DEFINE_BUILTIN_GENERATOR(codeName, functionName, overriddenName, argumentCount) \ JSC::FunctionExecutable* codeName##Generator(JSC::VM& vm) \ @@ -1934,17 +1942,17 @@ WEBCORE_FOREACH_TRANSFORMSTREAMDEFAULTCONTROLLER_BUILTIN_CODE(DEFINE_BUILTIN_GEN const JSC::ConstructAbility s_asyncContextGetAsyncContextCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_asyncContextGetAsyncContextCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_asyncContextGetAsyncContextCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_asyncContextGetAsyncContextCodeLength = 70; +const int s_asyncContextGetAsyncContextCodeLength = 77; static const JSC::Intrinsic s_asyncContextGetAsyncContextCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_asyncContextGetAsyncContextCode = "(function (){\"use strict\";return @getInternalField(@asyncContext,0)})\n"; +const char* const s_asyncContextGetAsyncContextCode = "(function () {\"use strict\";\n return @getInternalField(@asyncContext, 0);\n})\n"; // setAsyncContext const JSC::ConstructAbility s_asyncContextSetAsyncContextCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_asyncContextSetAsyncContextCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_asyncContextSetAsyncContextCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_asyncContextSetAsyncContextCodeLength = 73; +const int s_asyncContextSetAsyncContextCodeLength = 103; static const JSC::Intrinsic s_asyncContextSetAsyncContextCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_asyncContextSetAsyncContextCode = "(function (r){\"use strict\";return @putInternalField(@asyncContext,0,r)})\n"; +const char* const s_asyncContextSetAsyncContextCode = "(function (contextValue) {\"use strict\";\n return @putInternalField(@asyncContext, 0, contextValue);\n})\n"; #define DEFINE_BUILTIN_GENERATOR(codeName, functionName, overriddenName, argumentCount) \ JSC::FunctionExecutable* codeName##Generator(JSC::VM& vm) \ @@ -1960,41 +1968,41 @@ WEBCORE_FOREACH_ASYNCCONTEXT_BUILTIN_CODE(DEFINE_BUILTIN_GENERATOR) const JSC::ConstructAbility s_readableStreamBYOBReaderInitializeReadableStreamBYOBReaderCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_readableStreamBYOBReaderInitializeReadableStreamBYOBReaderCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_readableStreamBYOBReaderInitializeReadableStreamBYOBReaderCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_readableStreamBYOBReaderInitializeReadableStreamBYOBReaderCodeLength = 485; +const int s_readableStreamBYOBReaderInitializeReadableStreamBYOBReaderCodeLength = 553; static const JSC::Intrinsic s_readableStreamBYOBReaderInitializeReadableStreamBYOBReaderCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_readableStreamBYOBReaderInitializeReadableStreamBYOBReaderCode = "(function (n){\"use strict\";if(!@isReadableStream(n))@throwTypeError(\"ReadableStreamBYOBReader needs a ReadableStream\");if(!@isReadableByteStreamController(@getByIdDirectPrivate(n,\"readableStreamController\")))@throwTypeError(\"ReadableStreamBYOBReader needs a ReadableByteStreamController\");if(@isReadableStreamLocked(n))@throwTypeError(\"ReadableStream is locked\");return @readableStreamReaderGenericInitialize(this,n),@putByIdDirectPrivate(this,\"readIntoRequests\",@createFIFO()),this})\n"; +const char* const s_readableStreamBYOBReaderInitializeReadableStreamBYOBReaderCode = "(function (stream) {\"use strict\";\n if (!@isReadableStream(stream))\n @throwTypeError(\"ReadableStreamBYOBReader needs a ReadableStream\");\n if (!@isReadableByteStreamController(@getByIdDirectPrivate(stream, \"readableStreamController\")))\n @throwTypeError(\"ReadableStreamBYOBReader needs a ReadableByteStreamController\");\n if (@isReadableStreamLocked(stream))\n @throwTypeError(\"ReadableStream is locked\");\n @readableStreamReaderGenericInitialize(this, stream);\n @putByIdDirectPrivate(this, \"readIntoRequests\", @createFIFO());\n return this;\n})\n"; // cancel const JSC::ConstructAbility s_readableStreamBYOBReaderCancelCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_readableStreamBYOBReaderCancelCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_readableStreamBYOBReaderCancelCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_readableStreamBYOBReaderCancelCodeLength = 351; +const int s_readableStreamBYOBReaderCancelCodeLength = 388; static const JSC::Intrinsic s_readableStreamBYOBReaderCancelCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_readableStreamBYOBReaderCancelCode = "(function (t){\"use strict\";if(!@isReadableStreamBYOBReader(this))return @Promise.@reject(@makeThisTypeError(\"ReadableStreamBYOBReader\",\"cancel\"));if(!@getByIdDirectPrivate(this,\"ownerReadableStream\"))return @Promise.@reject(@makeTypeError(\"cancel() called on a reader owned by no readable stream\"));return @readableStreamReaderGenericCancel(this,t)})\n"; +const char* const s_readableStreamBYOBReaderCancelCode = "(function (reason) {\"use strict\";\n if (!@isReadableStreamBYOBReader(this))\n return @Promise.@reject(@makeThisTypeError(\"ReadableStreamBYOBReader\", \"cancel\"));\n if (!@getByIdDirectPrivate(this, \"ownerReadableStream\"))\n return @Promise.@reject(@makeTypeError(\"cancel() called on a reader owned by no readable stream\"));\n return @readableStreamReaderGenericCancel(this, reason);\n})\n"; // read const JSC::ConstructAbility s_readableStreamBYOBReaderReadCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_readableStreamBYOBReaderReadCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_readableStreamBYOBReaderReadCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_readableStreamBYOBReaderReadCodeLength = 648; +const int s_readableStreamBYOBReaderReadCodeLength = 719; static const JSC::Intrinsic s_readableStreamBYOBReaderReadCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_readableStreamBYOBReaderReadCode = "(function (t){\"use strict\";if(!@isReadableStreamBYOBReader(this))return @Promise.@reject(@makeThisTypeError(\"ReadableStreamBYOBReader\",\"read\"));if(!@getByIdDirectPrivate(this,\"ownerReadableStream\"))return @Promise.@reject(@makeTypeError(\"read() called on a reader owned by no readable stream\"));if(!@isObject(t))return @Promise.@reject(@makeTypeError(\"Provided view is not an object\"));if(!@ArrayBuffer.@isView(t))return @Promise.@reject(@makeTypeError(\"Provided view is not an ArrayBufferView\"));if(t.byteLength===0)return @Promise.@reject(@makeTypeError(\"Provided view cannot have a 0 byteLength\"));return @readableStreamBYOBReaderRead(this,t)})\n"; +const char* const s_readableStreamBYOBReaderReadCode = "(function (view) {\"use strict\";\n if (!@isReadableStreamBYOBReader(this))\n return @Promise.@reject(@makeThisTypeError(\"ReadableStreamBYOBReader\", \"read\"));\n if (!@getByIdDirectPrivate(this, \"ownerReadableStream\"))\n return @Promise.@reject(@makeTypeError(\"read() called on a reader owned by no readable stream\"));\n if (!@isObject(view))\n return @Promise.@reject(@makeTypeError(\"Provided view is not an object\"));\n if (!@ArrayBuffer.@isView(view))\n return @Promise.@reject(@makeTypeError(\"Provided view is not an ArrayBufferView\"));\n if (view.byteLength === 0)\n return @Promise.@reject(@makeTypeError(\"Provided view cannot have a 0 byteLength\"));\n return @readableStreamBYOBReaderRead(this, view);\n})\n"; // releaseLock const JSC::ConstructAbility s_readableStreamBYOBReaderReleaseLockCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_readableStreamBYOBReaderReleaseLockCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_readableStreamBYOBReaderReleaseLockCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_readableStreamBYOBReaderReleaseLockCodeLength = 382; +const int s_readableStreamBYOBReaderReleaseLockCodeLength = 418; static const JSC::Intrinsic s_readableStreamBYOBReaderReleaseLockCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_readableStreamBYOBReaderReleaseLockCode = "(function (){\"use strict\";if(!@isReadableStreamBYOBReader(this))throw @makeThisTypeError(\"ReadableStreamBYOBReader\",\"releaseLock\");if(!@getByIdDirectPrivate(this,\"ownerReadableStream\"))return;if(@getByIdDirectPrivate(this,\"readIntoRequests\")\?.isNotEmpty())@throwTypeError(\"There are still pending read requests, cannot release the lock\");@readableStreamReaderGenericRelease(this)})\n"; +const char* const s_readableStreamBYOBReaderReleaseLockCode = "(function () {\"use strict\";\n if (!@isReadableStreamBYOBReader(this))\n throw @makeThisTypeError(\"ReadableStreamBYOBReader\", \"releaseLock\");\n if (!@getByIdDirectPrivate(this, \"ownerReadableStream\"))\n return;\n if (@getByIdDirectPrivate(this, \"readIntoRequests\")\?.isNotEmpty())\n @throwTypeError(\"There are still pending read requests, cannot release the lock\");\n @readableStreamReaderGenericRelease(this);\n})\n"; // closed const JSC::ConstructAbility s_readableStreamBYOBReaderClosedCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_readableStreamBYOBReaderClosedCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_readableStreamBYOBReaderClosedCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_readableStreamBYOBReaderClosedCodeLength = 218; +const int s_readableStreamBYOBReaderClosedCodeLength = 235; static const JSC::Intrinsic s_readableStreamBYOBReaderClosedCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_readableStreamBYOBReaderClosedCode = "(function (){\"use strict\";if(!@isReadableStreamBYOBReader(this))return @Promise.@reject(@makeGetterTypeError(\"ReadableStreamBYOBReader\",\"closed\"));return @getByIdDirectPrivate(this,\"closedPromiseCapability\").promise})\n"; +const char* const s_readableStreamBYOBReaderClosedCode = "(function () {\"use strict\";\n if (!@isReadableStreamBYOBReader(this))\n return @Promise.@reject(@makeGetterTypeError(\"ReadableStreamBYOBReader\", \"closed\"));\n return @getByIdDirectPrivate(this, \"closedPromiseCapability\").promise;\n})\n"; #define DEFINE_BUILTIN_GENERATOR(codeName, functionName, overriddenName, argumentCount) \ JSC::FunctionExecutable* codeName##Generator(JSC::VM& vm) \ @@ -2010,17 +2018,17 @@ WEBCORE_FOREACH_READABLESTREAMBYOBREADER_BUILTIN_CODE(DEFINE_BUILTIN_GENERATOR) const JSC::ConstructAbility s_jsBufferConstructorFromCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_jsBufferConstructorFromCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_jsBufferConstructorFromCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_jsBufferConstructorFromCodeLength = 1107; +const int s_jsBufferConstructorFromCodeLength = 1639; static const JSC::Intrinsic s_jsBufferConstructorFromCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_jsBufferConstructorFromCode = "(function (n){\"use strict\";if(@isUndefinedOrNull(n))@throwTypeError(\"The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object.\");if(typeof n===\"string\"||typeof n===\"object\"&&(@isTypedArrayView(n)||n instanceof @ArrayBuffer||n instanceof SharedArrayBuffer||n instanceof String))switch(@argumentCount()){case 1:return new @Buffer(n);case 2:return new @Buffer(n,@argument(1));default:return new @Buffer(n,@argument(1),@argument(2))}var d=@toObject(n,\"The first argument must be of type string or an instance of Buffer, ArrayBuffer, or Array or an Array-like Object.\");if(!@isJSArray(d)){const u=@tryGetByIdWithWellKnownSymbol(n,\"toPrimitive\");if(u){const f=u.@call(n,\"string\");if(typeof f===\"string\")switch(@argumentCount()){case 1:return new @Buffer(f);case 2:return new @Buffer(f,@argument(1));default:return new @Buffer(f,@argument(1),@argument(2))}}if(!(\"length\"in d)||@isCallable(d))@throwTypeError(\"The first argument must be of type string or an instance of Buffer, ArrayBuffer, or Array or an Array-like Object.\")}return new @Buffer(@Uint8Array.from(d).buffer)})\n"; +const char* const s_jsBufferConstructorFromCode = "(function (items) {\"use strict\";\n if (@isUndefinedOrNull(items)) {\n @throwTypeError(\"The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object.\");\n }\n if (typeof items === \"string\" || typeof items === \"object\" && (@isTypedArrayView(items) || items instanceof @ArrayBuffer || items instanceof SharedArrayBuffer || items instanceof String)) {\n switch (@argumentCount()) {\n case 1: {\n return new @Buffer(items);\n }\n case 2: {\n return new @Buffer(items, @argument(1));\n }\n default: {\n return new @Buffer(items, @argument(1), @argument(2));\n }\n }\n }\n var arrayLike = @toObject(items, \"The first argument must be of type string or an instance of Buffer, ArrayBuffer, or Array or an Array-like Object.\");\n if (!@isJSArray(arrayLike)) {\n const toPrimitive = @tryGetByIdWithWellKnownSymbol(items, \"toPrimitive\");\n if (toPrimitive) {\n const primitive = toPrimitive.@call(items, \"string\");\n if (typeof primitive === \"string\") {\n switch (@argumentCount()) {\n case 1: {\n return new @Buffer(primitive);\n }\n case 2: {\n return new @Buffer(primitive, @argument(1));\n }\n default: {\n return new @Buffer(primitive, @argument(1), @argument(2));\n }\n }\n }\n }\n if (!(\"length\" in arrayLike) || @isCallable(arrayLike)) {\n @throwTypeError(\"The first argument must be of type string or an instance of Buffer, ArrayBuffer, or Array or an Array-like Object.\");\n }\n }\n return new @Buffer(@Uint8Array.from(arrayLike).buffer);\n})\n"; // isBuffer const JSC::ConstructAbility s_jsBufferConstructorIsBufferCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_jsBufferConstructorIsBufferCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_jsBufferConstructorIsBufferCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_jsBufferConstructorIsBufferCodeLength = 57; +const int s_jsBufferConstructorIsBufferCodeLength = 81; static const JSC::Intrinsic s_jsBufferConstructorIsBufferCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_jsBufferConstructorIsBufferCode = "(function (a){\"use strict\";return a instanceof @Buffer})\n"; +const char* const s_jsBufferConstructorIsBufferCode = "(function (bufferlike) {\"use strict\";\n return bufferlike instanceof @Buffer;\n})\n"; #define DEFINE_BUILTIN_GENERATOR(codeName, functionName, overriddenName, argumentCount) \ JSC::FunctionExecutable* codeName##Generator(JSC::VM& vm) \ @@ -2036,49 +2044,49 @@ WEBCORE_FOREACH_JSBUFFERCONSTRUCTOR_BUILTIN_CODE(DEFINE_BUILTIN_GENERATOR) const JSC::ConstructAbility s_readableStreamDefaultReaderInitializeReadableStreamDefaultReaderCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_readableStreamDefaultReaderInitializeReadableStreamDefaultReaderCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_readableStreamDefaultReaderInitializeReadableStreamDefaultReaderCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_readableStreamDefaultReaderInitializeReadableStreamDefaultReaderCodeLength = 314; +const int s_readableStreamDefaultReaderInitializeReadableStreamDefaultReaderCodeLength = 367; static const JSC::Intrinsic s_readableStreamDefaultReaderInitializeReadableStreamDefaultReaderCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_readableStreamDefaultReaderInitializeReadableStreamDefaultReaderCode = "(function (n){\"use strict\";if(!@isReadableStream(n))@throwTypeError(\"ReadableStreamDefaultReader needs a ReadableStream\");if(@isReadableStreamLocked(n))@throwTypeError(\"ReadableStream is locked\");return @readableStreamReaderGenericInitialize(this,n),@putByIdDirectPrivate(this,\"readRequests\",@createFIFO()),this})\n"; +const char* const s_readableStreamDefaultReaderInitializeReadableStreamDefaultReaderCode = "(function (stream) {\"use strict\";\n if (!@isReadableStream(stream))\n @throwTypeError(\"ReadableStreamDefaultReader needs a ReadableStream\");\n if (@isReadableStreamLocked(stream))\n @throwTypeError(\"ReadableStream is locked\");\n @readableStreamReaderGenericInitialize(this, stream);\n @putByIdDirectPrivate(this, \"readRequests\", @createFIFO());\n return this;\n})\n"; // cancel const JSC::ConstructAbility s_readableStreamDefaultReaderCancelCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_readableStreamDefaultReaderCancelCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_readableStreamDefaultReaderCancelCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_readableStreamDefaultReaderCancelCodeLength = 357; +const int s_readableStreamDefaultReaderCancelCodeLength = 394; static const JSC::Intrinsic s_readableStreamDefaultReaderCancelCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_readableStreamDefaultReaderCancelCode = "(function (i){\"use strict\";if(!@isReadableStreamDefaultReader(this))return @Promise.@reject(@makeThisTypeError(\"ReadableStreamDefaultReader\",\"cancel\"));if(!@getByIdDirectPrivate(this,\"ownerReadableStream\"))return @Promise.@reject(@makeTypeError(\"cancel() called on a reader owned by no readable stream\"));return @readableStreamReaderGenericCancel(this,i)})\n"; +const char* const s_readableStreamDefaultReaderCancelCode = "(function (reason) {\"use strict\";\n if (!@isReadableStreamDefaultReader(this))\n return @Promise.@reject(@makeThisTypeError(\"ReadableStreamDefaultReader\", \"cancel\"));\n if (!@getByIdDirectPrivate(this, \"ownerReadableStream\"))\n return @Promise.@reject(@makeTypeError(\"cancel() called on a reader owned by no readable stream\"));\n return @readableStreamReaderGenericCancel(this, reason);\n})\n"; // readMany const JSC::ConstructAbility s_readableStreamDefaultReaderReadManyCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_readableStreamDefaultReaderReadManyCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_readableStreamDefaultReaderReadManyCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_readableStreamDefaultReaderReadManyCodeLength = 2598; +const int s_readableStreamDefaultReaderReadManyCodeLength = 4069; static const JSC::Intrinsic s_readableStreamDefaultReaderReadManyCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_readableStreamDefaultReaderReadManyCode = "(function (){\"use strict\";if(!@isReadableStreamDefaultReader(this))@throwTypeError(\"ReadableStreamDefaultReader.readMany() should not be called directly\");const j=@getByIdDirectPrivate(this,\"ownerReadableStream\");if(!j)@throwTypeError(\"readMany() called on a reader owned by no readable stream\");const I=@getByIdDirectPrivate(j,\"state\");if(@putByIdDirectPrivate(j,\"disturbed\",!0),I===@streamClosed)return{value:[],size:0,done:!0};else if(I===@streamErrored)throw @getByIdDirectPrivate(j,\"storedError\");var B=@getByIdDirectPrivate(j,\"readableStreamController\"),F=@getByIdDirectPrivate(B,\"queue\");if(!F)return B.@pull(B).@then(function({done:_,value:w}){return _\?{done:!0,value:[],size:0}:{value:[w],size:1,done:!1}});const N=F.content;var Q=F.size,x=N.toArray(!1),C=x.length;if(C>0){var D=@newArrayWithSize(C);if(@isReadableByteStreamController(B)){{const _=x[0];if(!(@ArrayBuffer.@isView(_)||_ instanceof @ArrayBuffer))@putByValDirect(D,0,new @Uint8Array(_.buffer,_.byteOffset,_.byteLength));else @putByValDirect(D,0,_)}for(var d=1;d{if(_.done)return{value:[],size:0,done:!0};var w=@getByIdDirectPrivate(j,\"readableStreamController\"),G=@getByIdDirectPrivate(w,\"queue\"),k=[_.value].concat(G.content.toArray(!1)),K=k.length;if(@isReadableByteStreamController(w))for(var A=0;A 0) {\n var outValues = @newArrayWithSize(length);\n if (@isReadableByteStreamController(controller)) {\n {\n const buf = values[0];\n if (!(@ArrayBuffer.@isView(buf) || buf instanceof @ArrayBuffer)) {\n @putByValDirect(outValues, 0, new @Uint8Array(buf.buffer, buf.byteOffset, buf.byteLength));\n } else {\n @putByValDirect(outValues, 0, buf);\n }\n }\n for (var i = 1;i < length; i++) {\n const buf = values[i];\n if (!(@ArrayBuffer.@isView(buf) || buf instanceof @ArrayBuffer)) {\n @putByValDirect(outValues, i, new @Uint8Array(buf.buffer, buf.byteOffset, buf.byteLength));\n } else {\n @putByValDirect(outValues, i, buf);\n }\n }\n } else {\n @putByValDirect(outValues, 0, values[0].value);\n for (var i = 1;i < length; i++) {\n @putByValDirect(outValues, i, values[i].value);\n }\n }\n @resetQueue(@getByIdDirectPrivate(controller, \"queue\"));\n if (@getByIdDirectPrivate(controller, \"closeRequested\"))\n @readableStreamClose(@getByIdDirectPrivate(controller, \"controlledReadableStream\"));\n else if (@isReadableStreamDefaultController(controller))\n @readableStreamDefaultControllerCallPullIfNeeded(controller);\n else if (@isReadableByteStreamController(controller))\n @readableByteStreamControllerCallPullIfNeeded(controller);\n return { value: outValues, size, done: false };\n }\n var onPullMany = (result) => {\n if (result.done) {\n return { value: [], size: 0, done: true };\n }\n var controller2 = @getByIdDirectPrivate(stream, \"readableStreamController\");\n var queue2 = @getByIdDirectPrivate(controller2, \"queue\");\n var value = [result.value].concat(queue2.content.toArray(false));\n var length2 = value.length;\n if (@isReadableByteStreamController(controller2)) {\n for (var i2 = 0;i2 < length2; i2++) {\n const buf = value[i2];\n if (!(@ArrayBuffer.@isView(buf) || buf instanceof @ArrayBuffer)) {\n const { buffer, byteOffset, byteLength } = buf;\n @putByValDirect(value, i2, new @Uint8Array(buffer, byteOffset, byteLength));\n }\n }\n } else {\n for (var i2 = 1;i2 < length2; i2++) {\n @putByValDirect(value, i2, value[i2].value);\n }\n }\n var size2 = queue2.size;\n @resetQueue(queue2);\n if (@getByIdDirectPrivate(controller2, \"closeRequested\"))\n @readableStreamClose(@getByIdDirectPrivate(controller2, \"controlledReadableStream\"));\n else if (@isReadableStreamDefaultController(controller2))\n @readableStreamDefaultControllerCallPullIfNeeded(controller2);\n else if (@isReadableByteStreamController(controller2))\n @readableByteStreamControllerCallPullIfNeeded(controller2);\n return { value, size: size2, done: false };\n };\n var pullResult = controller.@pull(controller);\n if (pullResult && @isPromise(pullResult)) {\n return pullResult.@then(onPullMany);\n }\n return onPullMany(pullResult);\n})\n"; // read const JSC::ConstructAbility s_readableStreamDefaultReaderReadCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_readableStreamDefaultReaderReadCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_readableStreamDefaultReaderReadCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_readableStreamDefaultReaderReadCodeLength = 348; +const int s_readableStreamDefaultReaderReadCodeLength = 374; static const JSC::Intrinsic s_readableStreamDefaultReaderReadCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_readableStreamDefaultReaderReadCode = "(function (){\"use strict\";if(!@isReadableStreamDefaultReader(this))return @Promise.@reject(@makeThisTypeError(\"ReadableStreamDefaultReader\",\"read\"));if(!@getByIdDirectPrivate(this,\"ownerReadableStream\"))return @Promise.@reject(@makeTypeError(\"read() called on a reader owned by no readable stream\"));return @readableStreamDefaultReaderRead(this)})\n"; +const char* const s_readableStreamDefaultReaderReadCode = "(function () {\"use strict\";\n if (!@isReadableStreamDefaultReader(this))\n return @Promise.@reject(@makeThisTypeError(\"ReadableStreamDefaultReader\", \"read\"));\n if (!@getByIdDirectPrivate(this, \"ownerReadableStream\"))\n return @Promise.@reject(@makeTypeError(\"read() called on a reader owned by no readable stream\"));\n return @readableStreamDefaultReaderRead(this);\n})\n"; // releaseLock const JSC::ConstructAbility s_readableStreamDefaultReaderReleaseLockCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_readableStreamDefaultReaderReleaseLockCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_readableStreamDefaultReaderReleaseLockCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_readableStreamDefaultReaderReleaseLockCodeLength = 384; +const int s_readableStreamDefaultReaderReleaseLockCodeLength = 420; static const JSC::Intrinsic s_readableStreamDefaultReaderReleaseLockCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_readableStreamDefaultReaderReleaseLockCode = "(function (){\"use strict\";if(!@isReadableStreamDefaultReader(this))throw @makeThisTypeError(\"ReadableStreamDefaultReader\",\"releaseLock\");if(!@getByIdDirectPrivate(this,\"ownerReadableStream\"))return;if(@getByIdDirectPrivate(this,\"readRequests\")\?.isNotEmpty())@throwTypeError(\"There are still pending read requests, cannot release the lock\");@readableStreamReaderGenericRelease(this)})\n"; +const char* const s_readableStreamDefaultReaderReleaseLockCode = "(function () {\"use strict\";\n if (!@isReadableStreamDefaultReader(this))\n throw @makeThisTypeError(\"ReadableStreamDefaultReader\", \"releaseLock\");\n if (!@getByIdDirectPrivate(this, \"ownerReadableStream\"))\n return;\n if (@getByIdDirectPrivate(this, \"readRequests\")\?.isNotEmpty())\n @throwTypeError(\"There are still pending read requests, cannot release the lock\");\n @readableStreamReaderGenericRelease(this);\n})\n"; // closed const JSC::ConstructAbility s_readableStreamDefaultReaderClosedCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_readableStreamDefaultReaderClosedCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_readableStreamDefaultReaderClosedCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_readableStreamDefaultReaderClosedCodeLength = 224; +const int s_readableStreamDefaultReaderClosedCodeLength = 241; static const JSC::Intrinsic s_readableStreamDefaultReaderClosedCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_readableStreamDefaultReaderClosedCode = "(function (){\"use strict\";if(!@isReadableStreamDefaultReader(this))return @Promise.@reject(@makeGetterTypeError(\"ReadableStreamDefaultReader\",\"closed\"));return @getByIdDirectPrivate(this,\"closedPromiseCapability\").promise})\n"; +const char* const s_readableStreamDefaultReaderClosedCode = "(function () {\"use strict\";\n if (!@isReadableStreamDefaultReader(this))\n return @Promise.@reject(@makeGetterTypeError(\"ReadableStreamDefaultReader\", \"closed\"));\n return @getByIdDirectPrivate(this, \"closedPromiseCapability\").promise;\n})\n"; #define DEFINE_BUILTIN_GENERATOR(codeName, functionName, overriddenName, argumentCount) \ JSC::FunctionExecutable* codeName##Generator(JSC::VM& vm) \ @@ -2094,153 +2102,153 @@ WEBCORE_FOREACH_READABLESTREAMDEFAULTREADER_BUILTIN_CODE(DEFINE_BUILTIN_GENERATO const JSC::ConstructAbility s_streamInternalsMarkPromiseAsHandledCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_streamInternalsMarkPromiseAsHandledCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_streamInternalsMarkPromiseAsHandledCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_streamInternalsMarkPromiseAsHandledCodeLength = 169; +const int s_streamInternalsMarkPromiseAsHandledCodeLength = 207; static const JSC::Intrinsic s_streamInternalsMarkPromiseAsHandledCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_streamInternalsMarkPromiseAsHandledCode = "(function (n){\"use strict\";@assert(@isPromise(n)),@putPromiseInternalField(n,@promiseFieldFlags,@getPromiseInternalField(n,@promiseFieldFlags)|@promiseFlagsIsHandled)})\n"; +const char* const s_streamInternalsMarkPromiseAsHandledCode = "(function (promise) {\"use strict\";\n @assert(@isPromise(promise));\n @putPromiseInternalField(promise, @promiseFieldFlags, @getPromiseInternalField(promise, @promiseFieldFlags) | @promiseFlagsIsHandled);\n})\n"; // shieldingPromiseResolve const JSC::ConstructAbility s_streamInternalsShieldingPromiseResolveCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_streamInternalsShieldingPromiseResolveCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_streamInternalsShieldingPromiseResolveCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_streamInternalsShieldingPromiseResolveCodeLength = 124; +const int s_streamInternalsShieldingPromiseResolveCodeLength = 182; static const JSC::Intrinsic s_streamInternalsShieldingPromiseResolveCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_streamInternalsShieldingPromiseResolveCode = "(function (a){\"use strict\";const _=@Promise.@resolve(a);if(_.@then===@undefined)_.@then=@Promise.prototype.@then;return _})\n"; +const char* const s_streamInternalsShieldingPromiseResolveCode = "(function (result) {\"use strict\";\n const promise = @Promise.@resolve(result);\n if (promise.@then === @undefined)\n promise.@then = @Promise.prototype.@then;\n return promise;\n})\n"; // promiseInvokeOrNoopMethodNoCatch const JSC::ConstructAbility s_streamInternalsPromiseInvokeOrNoopMethodNoCatchCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_streamInternalsPromiseInvokeOrNoopMethodNoCatchCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_streamInternalsPromiseInvokeOrNoopMethodNoCatchCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_streamInternalsPromiseInvokeOrNoopMethodNoCatchCodeLength = 125; +const int s_streamInternalsPromiseInvokeOrNoopMethodNoCatchCodeLength = 176; static const JSC::Intrinsic s_streamInternalsPromiseInvokeOrNoopMethodNoCatchCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_streamInternalsPromiseInvokeOrNoopMethodNoCatchCode = "(function (l,i,n){\"use strict\";if(i===@undefined)return @Promise.@resolve();return @shieldingPromiseResolve(i.@apply(l,n))})\n"; +const char* const s_streamInternalsPromiseInvokeOrNoopMethodNoCatchCode = "(function (object, method, args) {\"use strict\";\n if (method === @undefined)\n return @Promise.@resolve();\n return @shieldingPromiseResolve(method.@apply(object, args));\n})\n"; // promiseInvokeOrNoopNoCatch const JSC::ConstructAbility s_streamInternalsPromiseInvokeOrNoopNoCatchCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_streamInternalsPromiseInvokeOrNoopNoCatchCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_streamInternalsPromiseInvokeOrNoopNoCatchCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_streamInternalsPromiseInvokeOrNoopNoCatchCodeLength = 84; +const int s_streamInternalsPromiseInvokeOrNoopNoCatchCodeLength = 119; static const JSC::Intrinsic s_streamInternalsPromiseInvokeOrNoopNoCatchCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_streamInternalsPromiseInvokeOrNoopNoCatchCode = "(function (d,l,n){\"use strict\";return @promiseInvokeOrNoopMethodNoCatch(d,d[l],n)})\n"; +const char* const s_streamInternalsPromiseInvokeOrNoopNoCatchCode = "(function (object, key, args) {\"use strict\";\n return @promiseInvokeOrNoopMethodNoCatch(object, object[key], args);\n})\n"; // promiseInvokeOrNoopMethod const JSC::ConstructAbility s_streamInternalsPromiseInvokeOrNoopMethodCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_streamInternalsPromiseInvokeOrNoopMethodCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_streamInternalsPromiseInvokeOrNoopMethodCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_streamInternalsPromiseInvokeOrNoopMethodCodeLength = 122; +const int s_streamInternalsPromiseInvokeOrNoopMethodCodeLength = 187; static const JSC::Intrinsic s_streamInternalsPromiseInvokeOrNoopMethodCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_streamInternalsPromiseInvokeOrNoopMethodCode = "(function (l,d,f){\"use strict\";try{return @promiseInvokeOrNoopMethodNoCatch(l,d,f)}catch(i){return @Promise.@reject(i)}})\n"; +const char* const s_streamInternalsPromiseInvokeOrNoopMethodCode = "(function (object, method, args) {\"use strict\";\n try {\n return @promiseInvokeOrNoopMethodNoCatch(object, method, args);\n } catch (error) {\n return @Promise.@reject(error);\n }\n})\n"; // promiseInvokeOrNoop const JSC::ConstructAbility s_streamInternalsPromiseInvokeOrNoopCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_streamInternalsPromiseInvokeOrNoopCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_streamInternalsPromiseInvokeOrNoopCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_streamInternalsPromiseInvokeOrNoopCodeLength = 116; +const int s_streamInternalsPromiseInvokeOrNoopCodeLength = 175; static const JSC::Intrinsic s_streamInternalsPromiseInvokeOrNoopCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_streamInternalsPromiseInvokeOrNoopCode = "(function (n,d,l){\"use strict\";try{return @promiseInvokeOrNoopNoCatch(n,d,l)}catch(m){return @Promise.@reject(m)}})\n"; +const char* const s_streamInternalsPromiseInvokeOrNoopCode = "(function (object, key, args) {\"use strict\";\n try {\n return @promiseInvokeOrNoopNoCatch(object, key, args);\n } catch (error) {\n return @Promise.@reject(error);\n }\n})\n"; // promiseInvokeOrFallbackOrNoop const JSC::ConstructAbility s_streamInternalsPromiseInvokeOrFallbackOrNoopCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_streamInternalsPromiseInvokeOrFallbackOrNoopCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_streamInternalsPromiseInvokeOrFallbackOrNoopCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_streamInternalsPromiseInvokeOrFallbackOrNoopCodeLength = 198; +const int s_streamInternalsPromiseInvokeOrFallbackOrNoopCodeLength = 325; static const JSC::Intrinsic s_streamInternalsPromiseInvokeOrFallbackOrNoopCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_streamInternalsPromiseInvokeOrFallbackOrNoopCode = "(function (_,l,p,u,v){\"use strict\";try{const n=_[l];if(n===@undefined)return @promiseInvokeOrNoopNoCatch(_,u,v);return @shieldingPromiseResolve(n.@apply(_,p))}catch(n){return @Promise.@reject(n)}})\n"; +const char* const s_streamInternalsPromiseInvokeOrFallbackOrNoopCode = "(function (object, key1, args1, key2, args2) {\"use strict\";\n try {\n const method = object[key1];\n if (method === @undefined)\n return @promiseInvokeOrNoopNoCatch(object, key2, args2);\n return @shieldingPromiseResolve(method.@apply(object, args1));\n } catch (error) {\n return @Promise.@reject(error);\n }\n})\n"; // validateAndNormalizeQueuingStrategy const JSC::ConstructAbility s_streamInternalsValidateAndNormalizeQueuingStrategyCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_streamInternalsValidateAndNormalizeQueuingStrategyCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_streamInternalsValidateAndNormalizeQueuingStrategyCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_streamInternalsValidateAndNormalizeQueuingStrategyCodeLength = 259; +const int s_streamInternalsValidateAndNormalizeQueuingStrategyCodeLength = 412; static const JSC::Intrinsic s_streamInternalsValidateAndNormalizeQueuingStrategyCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_streamInternalsValidateAndNormalizeQueuingStrategyCode = "(function (c,d){\"use strict\";if(c!==@undefined&&typeof c!==\"function\")@throwTypeError(\"size parameter must be a function\");const u=@toNumber(d);if(u!==u||u<0)@throwRangeError(\"highWaterMark value is negative or not a number\");return{size:c,highWaterMark:u}})\n"; +const char* const s_streamInternalsValidateAndNormalizeQueuingStrategyCode = "(function (size, highWaterMark) {\"use strict\";\n if (size !== @undefined && typeof size !== \"function\")\n @throwTypeError(\"size parameter must be a function\");\n const newHighWaterMark = @toNumber(highWaterMark);\n if (newHighWaterMark !== newHighWaterMark || newHighWaterMark < 0)\n @throwRangeError(\"highWaterMark value is negative or not a number\");\n return { size, highWaterMark: newHighWaterMark };\n})\n"; // createFIFO const JSC::ConstructAbility s_streamInternalsCreateFIFOCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_streamInternalsCreateFIFOCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_streamInternalsCreateFIFOCodeImplementationVisibility = JSC::ImplementationVisibility::Private; -const int s_streamInternalsCreateFIFOCodeLength = 1473; +const int s_streamInternalsCreateFIFOCodeLength = 2446; static const JSC::Intrinsic s_streamInternalsCreateFIFOCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_streamInternalsCreateFIFOCode = "(function (){\"use strict\";var E=@Array.prototype.slice;class A{constructor(){this._head=0,this._tail=0,this._capacityMask=3,this._list=@newArrayWithSize(4)}_head;_tail;_capacityMask;_list;size(){if(this._head===this._tail)return 0;if(this._head0}shift(){var{_head:g,_tail:b,_list:x,_capacityMask:M}=this;if(g===b)return @undefined;var w=x[g];if(@putByValDirect(x,g,@undefined),g=this._head=g+1&M,g<2&&b>1e4&&b<=x.length>>>2)this._shrinkArray();return w}peek(){if(this._head===this._tail)return @undefined;return this._list[this._head]}push(g){var b=this._tail;if(@putByValDirect(this._list,b,g),this._tail=b+1&this._capacityMask,this._tail===this._head)this._growArray()}toArray(g){var b=this._list,x=@toLength(b.length);if(g||this._head>this._tail){var M=@toLength(this._head),w=@toLength(this._tail),F=@toLength(x-M+w),z=@newArrayWithSize(F),B=0;for(var v=M;v>>=1,this._capacityMask>>>=1}}return new A})\n"; +const char* const s_streamInternalsCreateFIFOCode = "(function () {\"use strict\";\n var slice = @Array.prototype.slice;\n\n class Denqueue {\n constructor() {\n this._head = 0;\n this._tail = 0;\n this._capacityMask = 3;\n this._list = @newArrayWithSize(4);\n }\n _head;\n _tail;\n _capacityMask;\n _list;\n size() {\n if (this._head === this._tail)\n return 0;\n if (this._head < this._tail)\n return this._tail - this._head;\n else\n return this._capacityMask + 1 - (this._head - this._tail);\n }\n isEmpty() {\n return this.size() == 0;\n }\n isNotEmpty() {\n return this.size() > 0;\n }\n shift() {\n var { _head: head, _tail, _list, _capacityMask } = this;\n if (head === _tail)\n return @undefined;\n var item = _list[head];\n @putByValDirect(_list, head, @undefined);\n head = this._head = head + 1 & _capacityMask;\n if (head < 2 && _tail > 1e4 && _tail <= _list.length >>> 2)\n this._shrinkArray();\n return item;\n }\n peek() {\n if (this._head === this._tail)\n return @undefined;\n return this._list[this._head];\n }\n push(item) {\n var tail = this._tail;\n @putByValDirect(this._list, tail, item);\n this._tail = tail + 1 & this._capacityMask;\n if (this._tail === this._head) {\n this._growArray();\n }\n }\n toArray(fullCopy) {\n var list = this._list;\n var len = @toLength(list.length);\n if (fullCopy || this._head > this._tail) {\n var _head = @toLength(this._head);\n var _tail = @toLength(this._tail);\n var total = @toLength(len - _head + _tail);\n var array = @newArrayWithSize(total);\n var j = 0;\n for (var i = _head;i < len; i++)\n @putByValDirect(array, j++, list[i]);\n for (var i = 0;i < _tail; i++)\n @putByValDirect(array, j++, list[i]);\n return array;\n } else {\n return slice.@call(list, this._head, this._tail);\n }\n }\n clear() {\n this._head = 0;\n this._tail = 0;\n this._list.fill(@undefined);\n }\n _growArray() {\n if (this._head) {\n this._list = this.toArray(true);\n this._head = 0;\n }\n this._tail = @toLength(this._list.length);\n this._list.length <<= 1;\n this._capacityMask = this._capacityMask << 1 | 1;\n }\n _shrinkArray() {\n this._list.length >>>= 1;\n this._capacityMask >>>= 1;\n }\n }\n return new Denqueue;\n})\n"; // newQueue const JSC::ConstructAbility s_streamInternalsNewQueueCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_streamInternalsNewQueueCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_streamInternalsNewQueueCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_streamInternalsNewQueueCodeLength = 65; +const int s_streamInternalsNewQueueCodeLength = 77; static const JSC::Intrinsic s_streamInternalsNewQueueCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_streamInternalsNewQueueCode = "(function (){\"use strict\";return{content:@createFIFO(),size:0}})\n"; +const char* const s_streamInternalsNewQueueCode = "(function () {\"use strict\";\n return { content: @createFIFO(), size: 0 };\n})\n"; // dequeueValue const JSC::ConstructAbility s_streamInternalsDequeueValueCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_streamInternalsDequeueValueCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_streamInternalsDequeueValueCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_streamInternalsDequeueValueCodeLength = 106; +const int s_streamInternalsDequeueValueCodeLength = 170; static const JSC::Intrinsic s_streamInternalsDequeueValueCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_streamInternalsDequeueValueCode = "(function (l){\"use strict\";const p=l.content.shift();if(l.size-=p.size,l.size<0)l.size=0;return p.value})\n"; +const char* const s_streamInternalsDequeueValueCode = "(function (queue) {\"use strict\";\n const record = queue.content.shift();\n queue.size -= record.size;\n if (queue.size < 0)\n queue.size = 0;\n return record.value;\n})\n"; // enqueueValueWithSize const JSC::ConstructAbility s_streamInternalsEnqueueValueWithSizeCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_streamInternalsEnqueueValueWithSizeCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_streamInternalsEnqueueValueWithSizeCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_streamInternalsEnqueueValueWithSizeCodeLength = 161; +const int s_streamInternalsEnqueueValueWithSizeCodeLength = 225; static const JSC::Intrinsic s_streamInternalsEnqueueValueWithSizeCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_streamInternalsEnqueueValueWithSizeCode = "(function (d,o,n){\"use strict\";if(n=@toNumber(n),!@isFinite(n)||n<0)@throwRangeError(\"size has an incorrect value\");d.content.push({value:o,size:n}),d.size+=n})\n"; +const char* const s_streamInternalsEnqueueValueWithSizeCode = "(function (queue, value, size) {\"use strict\";\n size = @toNumber(size);\n if (!@isFinite(size) || size < 0)\n @throwRangeError(\"size has an incorrect value\");\n queue.content.push({ value, size });\n queue.size += size;\n})\n"; // peekQueueValue const JSC::ConstructAbility s_streamInternalsPeekQueueValueCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_streamInternalsPeekQueueValueCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_streamInternalsPeekQueueValueCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_streamInternalsPeekQueueValueCodeLength = 60; +const int s_streamInternalsPeekQueueValueCodeLength = 74; static const JSC::Intrinsic s_streamInternalsPeekQueueValueCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_streamInternalsPeekQueueValueCode = "(function (a){\"use strict\";return a.content.peek()\?.value})\n"; +const char* const s_streamInternalsPeekQueueValueCode = "(function (queue) {\"use strict\";\n return queue.content.peek()\?.value;\n})\n"; // resetQueue const JSC::ConstructAbility s_streamInternalsResetQueueCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_streamInternalsResetQueueCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_streamInternalsResetQueueCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_streamInternalsResetQueueCodeLength = 99; +const int s_streamInternalsResetQueueCodeLength = 138; static const JSC::Intrinsic s_streamInternalsResetQueueCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_streamInternalsResetQueueCode = "(function (c){\"use strict\";@assert(\"content\"in c),@assert(\"size\"in c),c.content.clear(),c.size=0})\n"; +const char* const s_streamInternalsResetQueueCode = "(function (queue) {\"use strict\";\n @assert(\"content\" in queue);\n @assert(\"size\" in queue);\n queue.content.clear();\n queue.size = 0;\n})\n"; // extractSizeAlgorithm const JSC::ConstructAbility s_streamInternalsExtractSizeAlgorithmCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_streamInternalsExtractSizeAlgorithmCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_streamInternalsExtractSizeAlgorithmCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_streamInternalsExtractSizeAlgorithmCodeLength = 176; +const int s_streamInternalsExtractSizeAlgorithmCodeLength = 294; static const JSC::Intrinsic s_streamInternalsExtractSizeAlgorithmCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_streamInternalsExtractSizeAlgorithmCode = "(function (p){\"use strict\";const d=p.size;if(d===@undefined)return()=>1;if(typeof d!==\"function\")@throwTypeError(\"strategy.size must be a function\");return(w)=>{return d(w)}})\n"; +const char* const s_streamInternalsExtractSizeAlgorithmCode = "(function (strategy) {\"use strict\";\n const sizeAlgorithm = strategy.size;\n if (sizeAlgorithm === @undefined)\n return () => 1;\n if (typeof sizeAlgorithm !== \"function\")\n @throwTypeError(\"strategy.size must be a function\");\n return (chunk) => {\n return sizeAlgorithm(chunk);\n };\n})\n"; // extractHighWaterMark const JSC::ConstructAbility s_streamInternalsExtractHighWaterMarkCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_streamInternalsExtractHighWaterMarkCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_streamInternalsExtractHighWaterMarkCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_streamInternalsExtractHighWaterMarkCodeLength = 184; +const int s_streamInternalsExtractHighWaterMarkCodeLength = 326; static const JSC::Intrinsic s_streamInternalsExtractHighWaterMarkCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_streamInternalsExtractHighWaterMarkCode = "(function (n,p){\"use strict\";const c=n.highWaterMark;if(c===@undefined)return p;if(c!==c||c<0)@throwRangeError(\"highWaterMark value is negative or not a number\");return @toNumber(c)})\n"; +const char* const s_streamInternalsExtractHighWaterMarkCode = "(function (strategy, defaultHWM) {\"use strict\";\n const highWaterMark = strategy.highWaterMark;\n if (highWaterMark === @undefined)\n return defaultHWM;\n if (highWaterMark !== highWaterMark || highWaterMark < 0)\n @throwRangeError(\"highWaterMark value is negative or not a number\");\n return @toNumber(highWaterMark);\n})\n"; // extractHighWaterMarkFromQueuingStrategyInit const JSC::ConstructAbility s_streamInternalsExtractHighWaterMarkFromQueuingStrategyInitCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_streamInternalsExtractHighWaterMarkFromQueuingStrategyInitCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_streamInternalsExtractHighWaterMarkFromQueuingStrategyInitCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_streamInternalsExtractHighWaterMarkFromQueuingStrategyInitCodeLength = 249; +const int s_streamInternalsExtractHighWaterMarkFromQueuingStrategyInitCodeLength = 314; static const JSC::Intrinsic s_streamInternalsExtractHighWaterMarkFromQueuingStrategyInitCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_streamInternalsExtractHighWaterMarkFromQueuingStrategyInitCode = "(function (e){\"use strict\";if(!@isObject(e))@throwTypeError(\"QueuingStrategyInit argument must be an object.\");const{highWaterMark:c}=e;if(c===@undefined)@throwTypeError(\"QueuingStrategyInit.highWaterMark member is required.\");return @toNumber(c)})\n"; +const char* const s_streamInternalsExtractHighWaterMarkFromQueuingStrategyInitCode = "(function (init) {\"use strict\";\n if (!@isObject(init))\n @throwTypeError(\"QueuingStrategyInit argument must be an object.\");\n const { highWaterMark } = init;\n if (highWaterMark === @undefined)\n @throwTypeError(\"QueuingStrategyInit.highWaterMark member is required.\");\n return @toNumber(highWaterMark);\n})\n"; // createFulfilledPromise const JSC::ConstructAbility s_streamInternalsCreateFulfilledPromiseCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_streamInternalsCreateFulfilledPromiseCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_streamInternalsCreateFulfilledPromiseCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_streamInternalsCreateFulfilledPromiseCodeLength = 81; +const int s_streamInternalsCreateFulfilledPromiseCodeLength = 122; static const JSC::Intrinsic s_streamInternalsCreateFulfilledPromiseCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_streamInternalsCreateFulfilledPromiseCode = "(function (n){\"use strict\";const d=@newPromise();return @fulfillPromise(d,n),d})\n"; +const char* const s_streamInternalsCreateFulfilledPromiseCode = "(function (value) {\"use strict\";\n const promise = @newPromise();\n @fulfillPromise(promise, value);\n return promise;\n})\n"; // toDictionary const JSC::ConstructAbility s_streamInternalsToDictionaryCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_streamInternalsToDictionaryCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_streamInternalsToDictionaryCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_streamInternalsToDictionaryCodeLength = 115; +const int s_streamInternalsToDictionaryCodeLength = 211; static const JSC::Intrinsic s_streamInternalsToDictionaryCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_streamInternalsToDictionaryCode = "(function (c,n,p){\"use strict\";if(c===@undefined||c===null)return n;if(!@isObject(c))@throwTypeError(p);return c})\n"; +const char* const s_streamInternalsToDictionaryCode = "(function (value, defaultValue, errorMessage) {\"use strict\";\n if (value === @undefined || value === null)\n return defaultValue;\n if (!@isObject(value))\n @throwTypeError(errorMessage);\n return value;\n})\n"; #define DEFINE_BUILTIN_GENERATOR(codeName, functionName, overriddenName, argumentCount) \ JSC::FunctionExecutable* codeName##Generator(JSC::VM& vm) \ @@ -2256,41 +2264,47 @@ WEBCORE_FOREACH_STREAMINTERNALS_BUILTIN_CODE(DEFINE_BUILTIN_GENERATOR) const JSC::ConstructAbility s_importMetaObjectLoadCJS2ESMCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_importMetaObjectLoadCJS2ESMCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_importMetaObjectLoadCJS2ESMCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_importMetaObjectLoadCJS2ESMCodeLength = 1406; +const int s_importMetaObjectLoadCJS2ESMCodeLength = 2739; static const JSC::Intrinsic s_importMetaObjectLoadCJS2ESMCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_importMetaObjectLoadCJS2ESMCode = "(function (z){\"use strict\";var J=@Loader,G=@createFIFO(),D=z;while(D){var _=J.registry.@get(D);if((_\?.state\?\?0)<=@ModuleFetch)@fulfillModuleSync(D),_=J.registry.@get(D);var V=@getPromiseInternalField(_.fetch,@promiseFieldReactionsOrResult),w=J.parseModule(D,V),x=_.module;if(w&&@isPromise(w)){var h=@getPromiseInternalField(w,@promiseFieldReactionsOrResult),W=@getPromiseInternalField(w,@promiseFieldFlags),L=W&@promiseStateMask;if(L===@promiseStatePending||h&&@isPromise(h))@throwTypeError(`require() async module \"${D}\" is unsupported. use \"await import()\" instead.`);else if(L===@promiseStateRejected){if(!h\?.message)@throwTypeError(`${h+\"\"\?h:\"An error occurred\"} occurred while parsing module \\\"${D}\\\"`);throw h}_.module=x=h}else if(w&&!x)_.module=x=w;@setStateToMax(_,@ModuleLink);var X=x.dependenciesMap,H=J.requestedModules(x),Q=@newArrayWithSize(H.length);for(var B=0,Y=H.length;B=@ModuleLink)D=G.shift()}var U=J.linkAndEvaluateModule(z,@undefined);if(U&&@isPromise(U))@throwTypeError(`require() async module \\\"${z}\\\" is unsupported. use \"await import()\" instead.`);return J.registry.@get(z)})\n"; +const char* const s_importMetaObjectLoadCJS2ESMCode = "(function (resolvedSpecifier) {\"use strict\";\n var loader = @Loader;\n var queue = @createFIFO();\n var key = resolvedSpecifier;\n while (key) {\n var entry = loader.registry.@get(key);\n if ((entry\?.state \?\? 0) <= @ModuleFetch) {\n @fulfillModuleSync(key);\n entry = loader.registry.@get(key);\n }\n var sourceCodeObject = @getPromiseInternalField(entry.fetch, @promiseFieldReactionsOrResult);\n var moduleRecordPromise = loader.parseModule(key, sourceCodeObject);\n var mod = entry.module;\n if (moduleRecordPromise && @isPromise(moduleRecordPromise)) {\n var reactionsOrResult = @getPromiseInternalField(moduleRecordPromise, @promiseFieldReactionsOrResult);\n var flags = @getPromiseInternalField(moduleRecordPromise, @promiseFieldFlags);\n var state = flags & @promiseStateMask;\n if (state === @promiseStatePending || reactionsOrResult && @isPromise(reactionsOrResult)) {\n @throwTypeError(`require() async module \"${key}\" is unsupported. use \"await import()\" instead.`);\n } else if (state === @promiseStateRejected) {\n if (!reactionsOrResult\?.message) {\n @throwTypeError(`${reactionsOrResult + \"\" \? reactionsOrResult : \"An error occurred\"} occurred while parsing module \\\"${key}\\\"`);\n }\n throw reactionsOrResult;\n }\n entry.module = mod = reactionsOrResult;\n } else if (moduleRecordPromise && !mod) {\n entry.module = mod = moduleRecordPromise;\n }\n @setStateToMax(entry, @ModuleLink);\n var dependenciesMap = mod.dependenciesMap;\n var requestedModules = loader.requestedModules(mod);\n var dependencies = @newArrayWithSize(requestedModules.length);\n for (var i = 0, length = requestedModules.length;i < length; ++i) {\n var depName = requestedModules[i];\n var depKey = depName[0] === \"/\" \? depName : loader.resolve(depName, key);\n var depEntry = loader.ensureRegistered(depKey);\n if (depEntry.state < @ModuleLink) {\n queue.push(depKey);\n }\n @putByValDirect(dependencies, i, depEntry);\n dependenciesMap.@set(depName, depEntry);\n }\n entry.dependencies = dependencies;\n entry.instantiate = @Promise.@resolve(entry);\n entry.satisfy = @Promise.@resolve(entry);\n entry.isSatisfied = true;\n key = queue.shift();\n while (key && (loader.registry.@get(key)\?.state \?\? @ModuleFetch) >= @ModuleLink) {\n key = queue.shift();\n }\n }\n var linkAndEvaluateResult = loader.linkAndEvaluateModule(resolvedSpecifier, @undefined);\n if (linkAndEvaluateResult && @isPromise(linkAndEvaluateResult)) {\n @throwTypeError(`require() async module \\\"${resolvedSpecifier}\\\" is unsupported. use \"await import()\" instead.`);\n }\n return loader.registry.@get(resolvedSpecifier);\n})\n"; // requireESM const JSC::ConstructAbility s_importMetaObjectRequireESMCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_importMetaObjectRequireESMCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_importMetaObjectRequireESMCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_importMetaObjectRequireESMCodeLength = 325; +const int s_importMetaObjectRequireESMCodeLength = 418; static const JSC::Intrinsic s_importMetaObjectRequireESMCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_importMetaObjectRequireESMCode = "(function (c){\"use strict\";var a=@Loader.registry.@get(c);if(!a||!a.evaluated)a=@loadCJS2ESM(c);if(!a||!a.evaluated||!a.module)@throwTypeError(`require() failed to evaluate module \"${c}\". This is an internal consistentency error.`);var _=@Loader.getModuleNamespaceObject(a.module);if(_[@commonJSSymbol]===0)return;return _})\n"; +const char* const s_importMetaObjectRequireESMCode = "(function (resolved) {\"use strict\";\n var entry = @Loader.registry.@get(resolved);\n if (!entry || !entry.evaluated) {\n entry = @loadCJS2ESM(resolved);\n }\n if (!entry || !entry.evaluated || !entry.module) {\n @throwTypeError(`require() failed to evaluate module \"${resolved}\". This is an internal consistentency error.`);\n }\n var exports = @Loader.getModuleNamespaceObject(entry.module);\n return exports;\n})\n"; // internalRequire const JSC::ConstructAbility s_importMetaObjectInternalRequireCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_importMetaObjectInternalRequireCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_importMetaObjectInternalRequireCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_importMetaObjectInternalRequireCodeLength = 747; +const int s_importMetaObjectInternalRequireCodeLength = 1071; static const JSC::Intrinsic s_importMetaObjectInternalRequireCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_importMetaObjectInternalRequireCode = "(function (_){\"use strict\";var n=@requireMap.@get(_);const g=_.substring(_.length-5);if(n)return n.exports;if(g===\".json\"){var j=globalThis[Symbol.for(\"_fs\")]||=@Bun.fs(),b=JSON.parse(j.readFileSync(_,\"utf8\"));return @requireMap.@set(_,@createCommonJSModule(_,b,!0)),b}else if(g===\".node\"){const k=@createCommonJSModule(_,{},!0);return process.dlopen(k,_),@requireMap.@set(_,k),k.exports}else if(g===\".toml\"){var j=globalThis[Symbol.for(\"_fs\")]||=@Bun.fs(),b=@Bun.TOML.parse(j.readFileSync(_,\"utf8\"));return @requireMap.@set(_,@createCommonJSModule(_,b,!0)),b}else{var b=@requireESM(_);const v=@requireMap.@get(_);if(v)return v.exports;var q=b\?.default;if(q\?.[@commonJSSymbol]===0)b=q;return @requireMap.@set(_,@createCommonJSModule(_,b,!0)),b}})\n"; +const char* const s_importMetaObjectInternalRequireCode = "(function (id) {\"use strict\";\n var cached = @requireMap.@get(id);\n const last5 = id.substring(id.length - 5);\n if (cached) {\n return cached.exports;\n }\n if (last5 === \".json\") {\n var fs = globalThis[Symbol.for(\"_fs\")] ||= @Bun.fs();\n var exports = JSON.parse(fs.readFileSync(id, \"utf8\"));\n @requireMap.@set(id, @createCommonJSModule(id, exports, true));\n return exports;\n } else if (last5 === \".node\") {\n const module = @createCommonJSModule(id, {}, true);\n process.dlopen(module, id);\n @requireMap.@set(id, module);\n return module.exports;\n } else if (last5 === \".toml\") {\n var fs = globalThis[Symbol.for(\"_fs\")] ||= @Bun.fs();\n var exports = @Bun.TOML.parse(fs.readFileSync(id, \"utf8\"));\n @requireMap.@set(id, @createCommonJSModule(id, exports, true));\n return exports;\n } else {\n var exports = @requireESM(id);\n const cachedModule = @requireMap.@get(id);\n if (cachedModule) {\n return cachedModule.exports;\n }\n @requireMap.@set(id, @createCommonJSModule(id, exports, true));\n return exports;\n }\n})\n"; // createRequireCache const JSC::ConstructAbility s_importMetaObjectCreateRequireCacheCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_importMetaObjectCreateRequireCacheCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_importMetaObjectCreateRequireCacheCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_importMetaObjectCreateRequireCacheCodeLength = 854; +const int s_importMetaObjectCreateRequireCacheCodeLength = 1411; static const JSC::Intrinsic s_importMetaObjectCreateRequireCacheCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_importMetaObjectCreateRequireCacheCode = "(function (){\"use strict\";var c=new Map,L={};return new Proxy(L,{get(f,_){const h=@requireMap.@get(_);if(h)return h;const t=@Loader.registry.@get(_);if(t\?.evaluated){const u=@Loader.getModuleNamespaceObject(t.module),g=u[@commonJSSymbol]===0||u.default\?.[@commonJSSymbol]\?u.default:u,b=@createCommonJSModule(_,g,!0);return @requireMap.@set(_,b),b}return L[_]},set(f,_,h){return @requireMap.@set(_,h),!0},has(f,_){return @requireMap.@has(_)||@Loader.registry.@has(_)},deleteProperty(f,_){return c.@delete(_),@requireMap.@delete(_),@Loader.registry.@delete(_),!0},ownKeys(f){var _=[...@requireMap.@keys()];const h=[...@Loader.registry.@keys()];for(let t of h)if(!_.includes(t))@arrayPush(_,t);return _},getPrototypeOf(f){return null},getOwnPropertyDescriptor(f,_){if(@requireMap.@has(_)||@Loader.registry.@has(_))return{configurable:!0,enumerable:!0}}})})\n"; +const char* const s_importMetaObjectCreateRequireCacheCode = "(function () {\"use strict\";\n var moduleMap = new Map;\n var inner = {};\n return new Proxy(inner, {\n get(target, key) {\n const entry = @requireMap.@get(key);\n if (entry)\n return entry;\n const esm = @Loader.registry.@get(key);\n if (esm\?.evaluated) {\n const namespace = @Loader.getModuleNamespaceObject(esm.module);\n const mod = @createCommonJSModule(key, namespace, true);\n @requireMap.@set(key, mod);\n return mod;\n }\n return inner[key];\n },\n set(target, key, value) {\n @requireMap.@set(key, value);\n return true;\n },\n has(target, key) {\n return @requireMap.@has(key) || @Loader.registry.@has(key);\n },\n deleteProperty(target, key) {\n moduleMap.@delete(key);\n @requireMap.@delete(key);\n @Loader.registry.@delete(key);\n return true;\n },\n ownKeys(target) {\n var array = [...@requireMap.@keys()];\n const registryKeys = [...@Loader.registry.@keys()];\n for (const key of registryKeys) {\n if (!array.includes(key)) {\n @arrayPush(array, key);\n }\n }\n return array;\n },\n getPrototypeOf(target) {\n return null;\n },\n getOwnPropertyDescriptor(target, key) {\n if (@requireMap.@has(key) || @Loader.registry.@has(key)) {\n return {\n configurable: true,\n enumerable: true\n };\n }\n }\n });\n})\n"; // main const JSC::ConstructAbility s_importMetaObjectMainCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_importMetaObjectMainCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_importMetaObjectMainCodeImplementationVisibility = JSC::ImplementationVisibility::Public; +<<<<<<< HEAD const int s_importMetaObjectMainCodeLength = 76; static const JSC::Intrinsic s_importMetaObjectMainCodeIntrinsic = JSC::NoIntrinsic; const char* const s_importMetaObjectMainCode = "(function (){\"use strict\";return this.path===@Bun.main&&@Bun.isMainThread})\n"; +======= +const int s_importMetaObjectMainCodeLength = 65; +static const JSC::Intrinsic s_importMetaObjectMainCodeIntrinsic = JSC::NoIntrinsic; +const char* const s_importMetaObjectMainCode = "(function () {\"use strict\";\n return this.path === @Bun.main;\n})\n"; +>>>>>>> b7066c30a (finish commonjs stuff) #define DEFINE_BUILTIN_GENERATOR(codeName, functionName, overriddenName, argumentCount) \ JSC::FunctionExecutable* codeName##Generator(JSC::VM& vm) \ @@ -2306,25 +2320,25 @@ WEBCORE_FOREACH_IMPORTMETAOBJECT_BUILTIN_CODE(DEFINE_BUILTIN_GENERATOR) const JSC::ConstructAbility s_countQueuingStrategyHighWaterMarkCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_countQueuingStrategyHighWaterMarkCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_countQueuingStrategyHighWaterMarkCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_countQueuingStrategyHighWaterMarkCodeLength = 205; +const int s_countQueuingStrategyHighWaterMarkCodeLength = 264; static const JSC::Intrinsic s_countQueuingStrategyHighWaterMarkCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_countQueuingStrategyHighWaterMarkCode = "(function (){\"use strict\";const n=@getByIdDirectPrivate(this,\"highWaterMark\");if(n===@undefined)@throwTypeError(\"CountQueuingStrategy.highWaterMark getter called on incompatible |this| value.\");return n})\n"; +const char* const s_countQueuingStrategyHighWaterMarkCode = "(function () {\"use strict\";\n const highWaterMark = @getByIdDirectPrivate(this, \"highWaterMark\");\n if (highWaterMark === @undefined)\n @throwTypeError(\"CountQueuingStrategy.highWaterMark getter called on incompatible |this| value.\");\n return highWaterMark;\n})\n"; // size const JSC::ConstructAbility s_countQueuingStrategySizeCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_countQueuingStrategySizeCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_countQueuingStrategySizeCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_countQueuingStrategySizeCodeLength = 37; +const int s_countQueuingStrategySizeCodeLength = 43; static const JSC::Intrinsic s_countQueuingStrategySizeCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_countQueuingStrategySizeCode = "(function (){\"use strict\";return 1})\n"; +const char* const s_countQueuingStrategySizeCode = "(function () {\"use strict\";\n return 1;\n})\n"; // initializeCountQueuingStrategy const JSC::ConstructAbility s_countQueuingStrategyInitializeCountQueuingStrategyCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_countQueuingStrategyInitializeCountQueuingStrategyCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_countQueuingStrategyInitializeCountQueuingStrategyCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_countQueuingStrategyInitializeCountQueuingStrategyCodeLength = 121; +const int s_countQueuingStrategyInitializeCountQueuingStrategyCodeLength = 147; static const JSC::Intrinsic s_countQueuingStrategyInitializeCountQueuingStrategyCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_countQueuingStrategyInitializeCountQueuingStrategyCode = "(function (b){\"use strict\";@putByIdDirectPrivate(this,\"highWaterMark\",@extractHighWaterMarkFromQueuingStrategyInit(b))})\n"; +const char* const s_countQueuingStrategyInitializeCountQueuingStrategyCode = "(function (parameters) {\"use strict\";\n @putByIdDirectPrivate(this, \"highWaterMark\", @extractHighWaterMarkFromQueuingStrategyInit(parameters));\n})\n"; #define DEFINE_BUILTIN_GENERATOR(codeName, functionName, overriddenName, argumentCount) \ JSC::FunctionExecutable* codeName##Generator(JSC::VM& vm) \ @@ -2340,33 +2354,33 @@ WEBCORE_FOREACH_COUNTQUEUINGSTRATEGY_BUILTIN_CODE(DEFINE_BUILTIN_GENERATOR) const JSC::ConstructAbility s_readableStreamBYOBRequestInitializeReadableStreamBYOBRequestCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_readableStreamBYOBRequestInitializeReadableStreamBYOBRequestCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_readableStreamBYOBRequestInitializeReadableStreamBYOBRequestCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_readableStreamBYOBRequestInitializeReadableStreamBYOBRequestCodeLength = 243; +const int s_readableStreamBYOBRequestInitializeReadableStreamBYOBRequestCodeLength = 291; static const JSC::Intrinsic s_readableStreamBYOBRequestInitializeReadableStreamBYOBRequestCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_readableStreamBYOBRequestInitializeReadableStreamBYOBRequestCode = "(function (a,c){\"use strict\";if(arguments.length!==3&&arguments[2]!==@isReadableStream)@throwTypeError(\"ReadableStreamBYOBRequest constructor should not be called directly\");return @privateInitializeReadableStreamBYOBRequest.@call(this,a,c)})\n"; +const char* const s_readableStreamBYOBRequestInitializeReadableStreamBYOBRequestCode = "(function (controller, view) {\"use strict\";\n if (arguments.length !== 3 && arguments[2] !== @isReadableStream)\n @throwTypeError(\"ReadableStreamBYOBRequest constructor should not be called directly\");\n return @privateInitializeReadableStreamBYOBRequest.@call(this, controller, view);\n})\n"; // respond const JSC::ConstructAbility s_readableStreamBYOBRequestRespondCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_readableStreamBYOBRequestRespondCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_readableStreamBYOBRequestRespondCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_readableStreamBYOBRequestRespondCodeLength = 430; +const int s_readableStreamBYOBRequestRespondCodeLength = 482; static const JSC::Intrinsic s_readableStreamBYOBRequestRespondCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_readableStreamBYOBRequestRespondCode = "(function (m){\"use strict\";if(!@isReadableStreamBYOBRequest(this))throw @makeThisTypeError(\"ReadableStreamBYOBRequest\",\"respond\");if(@getByIdDirectPrivate(this,\"associatedReadableByteStreamController\")===@undefined)@throwTypeError(\"ReadableStreamBYOBRequest.associatedReadableByteStreamController is undefined\");return @readableByteStreamControllerRespond(@getByIdDirectPrivate(this,\"associatedReadableByteStreamController\"),m)})\n"; +const char* const s_readableStreamBYOBRequestRespondCode = "(function (bytesWritten) {\"use strict\";\n if (!@isReadableStreamBYOBRequest(this))\n throw @makeThisTypeError(\"ReadableStreamBYOBRequest\", \"respond\");\n if (@getByIdDirectPrivate(this, \"associatedReadableByteStreamController\") === @undefined)\n @throwTypeError(\"ReadableStreamBYOBRequest.associatedReadableByteStreamController is undefined\");\n return @readableByteStreamControllerRespond(@getByIdDirectPrivate(this, \"associatedReadableByteStreamController\"), bytesWritten);\n})\n"; // respondWithNewView const JSC::ConstructAbility s_readableStreamBYOBRequestRespondWithNewViewCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_readableStreamBYOBRequestRespondWithNewViewCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_readableStreamBYOBRequestRespondWithNewViewCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_readableStreamBYOBRequestRespondWithNewViewCodeLength = 595; +const int s_readableStreamBYOBRequestRespondWithNewViewCodeLength = 655; static const JSC::Intrinsic s_readableStreamBYOBRequestRespondWithNewViewCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_readableStreamBYOBRequestRespondWithNewViewCode = "(function (_){\"use strict\";if(!@isReadableStreamBYOBRequest(this))throw @makeThisTypeError(\"ReadableStreamBYOBRequest\",\"respond\");if(@getByIdDirectPrivate(this,\"associatedReadableByteStreamController\")===@undefined)@throwTypeError(\"ReadableStreamBYOBRequest.associatedReadableByteStreamController is undefined\");if(!@isObject(_))@throwTypeError(\"Provided view is not an object\");if(!@ArrayBuffer.@isView(_))@throwTypeError(\"Provided view is not an ArrayBufferView\");return @readableByteStreamControllerRespondWithNewView(@getByIdDirectPrivate(this,\"associatedReadableByteStreamController\"),_)})\n"; +const char* const s_readableStreamBYOBRequestRespondWithNewViewCode = "(function (view) {\"use strict\";\n if (!@isReadableStreamBYOBRequest(this))\n throw @makeThisTypeError(\"ReadableStreamBYOBRequest\", \"respond\");\n if (@getByIdDirectPrivate(this, \"associatedReadableByteStreamController\") === @undefined)\n @throwTypeError(\"ReadableStreamBYOBRequest.associatedReadableByteStreamController is undefined\");\n if (!@isObject(view))\n @throwTypeError(\"Provided view is not an object\");\n if (!@ArrayBuffer.@isView(view))\n @throwTypeError(\"Provided view is not an ArrayBufferView\");\n return @readableByteStreamControllerRespondWithNewView(@getByIdDirectPrivate(this, \"associatedReadableByteStreamController\"), view);\n})\n"; // view const JSC::ConstructAbility s_readableStreamBYOBRequestViewCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_readableStreamBYOBRequestViewCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_readableStreamBYOBRequestViewCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_readableStreamBYOBRequestViewCodeLength = 172; +const int s_readableStreamBYOBRequestViewCodeLength = 189; static const JSC::Intrinsic s_readableStreamBYOBRequestViewCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_readableStreamBYOBRequestViewCode = "(function (){\"use strict\";if(!@isReadableStreamBYOBRequest(this))throw @makeGetterTypeError(\"ReadableStreamBYOBRequest\",\"view\");return @getByIdDirectPrivate(this,\"view\")})\n"; +const char* const s_readableStreamBYOBRequestViewCode = "(function () {\"use strict\";\n if (!@isReadableStreamBYOBRequest(this))\n throw @makeGetterTypeError(\"ReadableStreamBYOBRequest\", \"view\");\n return @getByIdDirectPrivate(this, \"view\");\n})\n"; #define DEFINE_BUILTIN_GENERATOR(codeName, functionName, overriddenName, argumentCount) \ JSC::FunctionExecutable* codeName##Generator(JSC::VM& vm) \ @@ -2382,65 +2396,65 @@ WEBCORE_FOREACH_READABLESTREAMBYOBREQUEST_BUILTIN_CODE(DEFINE_BUILTIN_GENERATOR) const JSC::ConstructAbility s_writableStreamDefaultWriterInitializeWritableStreamDefaultWriterCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_writableStreamDefaultWriterInitializeWritableStreamDefaultWriterCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_writableStreamDefaultWriterInitializeWritableStreamDefaultWriterCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_writableStreamDefaultWriterInitializeWritableStreamDefaultWriterCodeLength = 237; +const int s_writableStreamDefaultWriterInitializeWritableStreamDefaultWriterCodeLength = 336; static const JSC::Intrinsic s_writableStreamDefaultWriterInitializeWritableStreamDefaultWriterCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_writableStreamDefaultWriterInitializeWritableStreamDefaultWriterCode = "(function (u){\"use strict\";const c=@getInternalWritableStream(u);if(c)u=c;if(!@isWritableStream(u))@throwTypeError(\"WritableStreamDefaultWriter constructor takes a WritableStream\");return @setUpWritableStreamDefaultWriter(this,u),this})\n"; +const char* const s_writableStreamDefaultWriterInitializeWritableStreamDefaultWriterCode = "(function (stream) {\"use strict\";\n const internalStream = @getInternalWritableStream(stream);\n if (internalStream)\n stream = internalStream;\n if (!@isWritableStream(stream))\n @throwTypeError(\"WritableStreamDefaultWriter constructor takes a WritableStream\");\n @setUpWritableStreamDefaultWriter(this, stream);\n return this;\n})\n"; // closed const JSC::ConstructAbility s_writableStreamDefaultWriterClosedCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_writableStreamDefaultWriterClosedCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_writableStreamDefaultWriterClosedCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_writableStreamDefaultWriterClosedCodeLength = 214; +const int s_writableStreamDefaultWriterClosedCodeLength = 231; static const JSC::Intrinsic s_writableStreamDefaultWriterClosedCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_writableStreamDefaultWriterClosedCode = "(function (){\"use strict\";if(!@isWritableStreamDefaultWriter(this))return @Promise.@reject(@makeGetterTypeError(\"WritableStreamDefaultWriter\",\"closed\"));return @getByIdDirectPrivate(this,\"closedPromise\").promise})\n"; +const char* const s_writableStreamDefaultWriterClosedCode = "(function () {\"use strict\";\n if (!@isWritableStreamDefaultWriter(this))\n return @Promise.@reject(@makeGetterTypeError(\"WritableStreamDefaultWriter\", \"closed\"));\n return @getByIdDirectPrivate(this, \"closedPromise\").promise;\n})\n"; // desiredSize const JSC::ConstructAbility s_writableStreamDefaultWriterDesiredSizeCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_writableStreamDefaultWriterDesiredSizeCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_writableStreamDefaultWriterDesiredSizeCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_writableStreamDefaultWriterDesiredSizeCodeLength = 309; +const int s_writableStreamDefaultWriterDesiredSizeCodeLength = 337; static const JSC::Intrinsic s_writableStreamDefaultWriterDesiredSizeCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_writableStreamDefaultWriterDesiredSizeCode = "(function (){\"use strict\";if(!@isWritableStreamDefaultWriter(this))throw @makeThisTypeError(\"WritableStreamDefaultWriter\",\"desiredSize\");if(@getByIdDirectPrivate(this,\"stream\")===@undefined)@throwTypeError(\"WritableStreamDefaultWriter has no stream\");return @writableStreamDefaultWriterGetDesiredSize(this)})\n"; +const char* const s_writableStreamDefaultWriterDesiredSizeCode = "(function () {\"use strict\";\n if (!@isWritableStreamDefaultWriter(this))\n throw @makeThisTypeError(\"WritableStreamDefaultWriter\", \"desiredSize\");\n if (@getByIdDirectPrivate(this, \"stream\") === @undefined)\n @throwTypeError(\"WritableStreamDefaultWriter has no stream\");\n return @writableStreamDefaultWriterGetDesiredSize(this);\n})\n"; // ready const JSC::ConstructAbility s_writableStreamDefaultWriterReadyCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_writableStreamDefaultWriterReadyCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_writableStreamDefaultWriterReadyCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_writableStreamDefaultWriterReadyCodeLength = 210; +const int s_writableStreamDefaultWriterReadyCodeLength = 227; static const JSC::Intrinsic s_writableStreamDefaultWriterReadyCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_writableStreamDefaultWriterReadyCode = "(function (){\"use strict\";if(!@isWritableStreamDefaultWriter(this))return @Promise.@reject(@makeThisTypeError(\"WritableStreamDefaultWriter\",\"ready\"));return @getByIdDirectPrivate(this,\"readyPromise\").promise})\n"; +const char* const s_writableStreamDefaultWriterReadyCode = "(function () {\"use strict\";\n if (!@isWritableStreamDefaultWriter(this))\n return @Promise.@reject(@makeThisTypeError(\"WritableStreamDefaultWriter\", \"ready\"));\n return @getByIdDirectPrivate(this, \"readyPromise\").promise;\n})\n"; // abort const JSC::ConstructAbility s_writableStreamDefaultWriterAbortCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_writableStreamDefaultWriterAbortCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_writableStreamDefaultWriterAbortCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_writableStreamDefaultWriterAbortCodeLength = 340; +const int s_writableStreamDefaultWriterAbortCodeLength = 379; static const JSC::Intrinsic s_writableStreamDefaultWriterAbortCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_writableStreamDefaultWriterAbortCode = "(function (c){\"use strict\";if(!@isWritableStreamDefaultWriter(this))return @Promise.@reject(@makeThisTypeError(\"WritableStreamDefaultWriter\",\"abort\"));if(@getByIdDirectPrivate(this,\"stream\")===@undefined)return @Promise.@reject(@makeTypeError(\"WritableStreamDefaultWriter has no stream\"));return @writableStreamDefaultWriterAbort(this,c)})\n"; +const char* const s_writableStreamDefaultWriterAbortCode = "(function (reason) {\"use strict\";\n if (!@isWritableStreamDefaultWriter(this))\n return @Promise.@reject(@makeThisTypeError(\"WritableStreamDefaultWriter\", \"abort\"));\n if (@getByIdDirectPrivate(this, \"stream\") === @undefined)\n return @Promise.@reject(@makeTypeError(\"WritableStreamDefaultWriter has no stream\"));\n return @writableStreamDefaultWriterAbort(this, reason);\n})\n"; // close const JSC::ConstructAbility s_writableStreamDefaultWriterCloseCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_writableStreamDefaultWriterCloseCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_writableStreamDefaultWriterCloseCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_writableStreamDefaultWriterCloseCodeLength = 477; +const int s_writableStreamDefaultWriterCloseCodeLength = 534; static const JSC::Intrinsic s_writableStreamDefaultWriterCloseCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_writableStreamDefaultWriterCloseCode = "(function (){\"use strict\";if(!@isWritableStreamDefaultWriter(this))return @Promise.@reject(@makeThisTypeError(\"WritableStreamDefaultWriter\",\"close\"));const i=@getByIdDirectPrivate(this,\"stream\");if(i===@undefined)return @Promise.@reject(@makeTypeError(\"WritableStreamDefaultWriter has no stream\"));if(@writableStreamCloseQueuedOrInFlight(i))return @Promise.@reject(@makeTypeError(\"WritableStreamDefaultWriter is being closed\"));return @writableStreamDefaultWriterClose(this)})\n"; +const char* const s_writableStreamDefaultWriterCloseCode = "(function () {\"use strict\";\n if (!@isWritableStreamDefaultWriter(this))\n return @Promise.@reject(@makeThisTypeError(\"WritableStreamDefaultWriter\", \"close\"));\n const stream = @getByIdDirectPrivate(this, \"stream\");\n if (stream === @undefined)\n return @Promise.@reject(@makeTypeError(\"WritableStreamDefaultWriter has no stream\"));\n if (@writableStreamCloseQueuedOrInFlight(stream))\n return @Promise.@reject(@makeTypeError(\"WritableStreamDefaultWriter is being closed\"));\n return @writableStreamDefaultWriterClose(this);\n})\n"; // releaseLock const JSC::ConstructAbility s_writableStreamDefaultWriterReleaseLockCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_writableStreamDefaultWriterReleaseLockCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_writableStreamDefaultWriterReleaseLockCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_writableStreamDefaultWriterReleaseLockCodeLength = 307; +const int s_writableStreamDefaultWriterReleaseLockCodeLength = 361; static const JSC::Intrinsic s_writableStreamDefaultWriterReleaseLockCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_writableStreamDefaultWriterReleaseLockCode = "(function (){\"use strict\";if(!@isWritableStreamDefaultWriter(this))throw @makeThisTypeError(\"WritableStreamDefaultWriter\",\"releaseLock\");const i=@getByIdDirectPrivate(this,\"stream\");if(i===@undefined)return;@assert(@getByIdDirectPrivate(i,\"writer\")!==@undefined),@writableStreamDefaultWriterRelease(this)})\n"; +const char* const s_writableStreamDefaultWriterReleaseLockCode = "(function () {\"use strict\";\n if (!@isWritableStreamDefaultWriter(this))\n throw @makeThisTypeError(\"WritableStreamDefaultWriter\", \"releaseLock\");\n const stream = @getByIdDirectPrivate(this, \"stream\");\n if (stream === @undefined)\n return;\n @assert(@getByIdDirectPrivate(stream, \"writer\") !== @undefined);\n @writableStreamDefaultWriterRelease(this);\n})\n"; // write const JSC::ConstructAbility s_writableStreamDefaultWriterWriteCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_writableStreamDefaultWriterWriteCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_writableStreamDefaultWriterWriteCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_writableStreamDefaultWriterWriteCodeLength = 340; +const int s_writableStreamDefaultWriterWriteCodeLength = 377; static const JSC::Intrinsic s_writableStreamDefaultWriterWriteCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_writableStreamDefaultWriterWriteCode = "(function (e){\"use strict\";if(!@isWritableStreamDefaultWriter(this))return @Promise.@reject(@makeThisTypeError(\"WritableStreamDefaultWriter\",\"write\"));if(@getByIdDirectPrivate(this,\"stream\")===@undefined)return @Promise.@reject(@makeTypeError(\"WritableStreamDefaultWriter has no stream\"));return @writableStreamDefaultWriterWrite(this,e)})\n"; +const char* const s_writableStreamDefaultWriterWriteCode = "(function (chunk) {\"use strict\";\n if (!@isWritableStreamDefaultWriter(this))\n return @Promise.@reject(@makeThisTypeError(\"WritableStreamDefaultWriter\", \"write\"));\n if (@getByIdDirectPrivate(this, \"stream\") === @undefined)\n return @Promise.@reject(@makeTypeError(\"WritableStreamDefaultWriter has no stream\"));\n return @writableStreamDefaultWriterWrite(this, chunk);\n})\n"; #define DEFINE_BUILTIN_GENERATOR(codeName, functionName, overriddenName, argumentCount) \ JSC::FunctionExecutable* codeName##Generator(JSC::VM& vm) \ @@ -2456,145 +2470,145 @@ WEBCORE_FOREACH_WRITABLESTREAMDEFAULTWRITER_BUILTIN_CODE(DEFINE_BUILTIN_GENERATO const JSC::ConstructAbility s_readableStreamInitializeReadableStreamCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_readableStreamInitializeReadableStreamCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_readableStreamInitializeReadableStreamCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_readableStreamInitializeReadableStreamCodeLength = 2143; +const int s_readableStreamInitializeReadableStreamCodeLength = 3086; static const JSC::Intrinsic s_readableStreamInitializeReadableStreamCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_readableStreamInitializeReadableStreamCode = "(function (_,v){\"use strict\";if(_===@undefined)_={@bunNativeType:0,@bunNativePtr:0,@lazy:!1};if(v===@undefined)v={};if(!@isObject(_))@throwTypeError(\"ReadableStream constructor takes an object as first argument\");if(v!==@undefined&&!@isObject(v))@throwTypeError(\"ReadableStream constructor takes an object as second argument, if any\");@putByIdDirectPrivate(this,\"state\",@streamReadable),@putByIdDirectPrivate(this,\"reader\",@undefined),@putByIdDirectPrivate(this,\"storedError\",@undefined),@putByIdDirectPrivate(this,\"disturbed\",!1),@putByIdDirectPrivate(this,\"readableStreamController\",null),@putByIdDirectPrivate(this,\"bunNativeType\",@getByIdDirectPrivate(_,\"bunNativeType\")\?\?0),@putByIdDirectPrivate(this,\"bunNativePtr\",@getByIdDirectPrivate(_,\"bunNativePtr\")\?\?0),@putByIdDirectPrivate(this,\"asyncContext\",@getInternalField(@asyncContext,0));const B=_.type===\"direct\",R=!!_.@lazy,P=B||R;if(@getByIdDirectPrivate(_,\"pull\")!==@undefined&&!P){const m=@getByIdDirectPrivate(v,\"size\"),f=@getByIdDirectPrivate(v,\"highWaterMark\");return @putByIdDirectPrivate(this,\"highWaterMark\",f),@putByIdDirectPrivate(this,\"underlyingSource\",@undefined),@setupReadableStreamDefaultController(this,_,m,f!==@undefined\?f:1,@getByIdDirectPrivate(_,\"start\"),@getByIdDirectPrivate(_,\"pull\"),@getByIdDirectPrivate(_,\"cancel\")),this}if(B)@putByIdDirectPrivate(this,\"underlyingSource\",_),@putByIdDirectPrivate(this,\"highWaterMark\",@getByIdDirectPrivate(v,\"highWaterMark\")),@putByIdDirectPrivate(this,\"start\",()=>@createReadableStreamController(this,_,v));else if(P){const m=_.autoAllocateChunkSize;@putByIdDirectPrivate(this,\"highWaterMark\",@undefined),@putByIdDirectPrivate(this,\"underlyingSource\",@undefined),@putByIdDirectPrivate(this,\"highWaterMark\",m||@getByIdDirectPrivate(v,\"highWaterMark\")),@putByIdDirectPrivate(this,\"start\",()=>{const f=@lazyLoadStream(this,m);if(f)@createReadableStreamController(this,f,v)})}else @putByIdDirectPrivate(this,\"underlyingSource\",@undefined),@putByIdDirectPrivate(this,\"highWaterMark\",@getByIdDirectPrivate(v,\"highWaterMark\")),@putByIdDirectPrivate(this,\"start\",@undefined),@createReadableStreamController(this,_,v);return this})\n"; +const char* const s_readableStreamInitializeReadableStreamCode = "(function (underlyingSource, strategy) {\"use strict\";\n if (underlyingSource === @undefined)\n underlyingSource = { @bunNativeType: 0, @bunNativePtr: 0, @lazy: false };\n if (strategy === @undefined)\n strategy = {};\n if (!@isObject(underlyingSource))\n @throwTypeError(\"ReadableStream constructor takes an object as first argument\");\n if (strategy !== @undefined && !@isObject(strategy))\n @throwTypeError(\"ReadableStream constructor takes an object as second argument, if any\");\n @putByIdDirectPrivate(this, \"state\", @streamReadable);\n @putByIdDirectPrivate(this, \"reader\", @undefined);\n @putByIdDirectPrivate(this, \"storedError\", @undefined);\n @putByIdDirectPrivate(this, \"disturbed\", false);\n @putByIdDirectPrivate(this, \"readableStreamController\", null);\n @putByIdDirectPrivate(this, \"bunNativeType\", @getByIdDirectPrivate(underlyingSource, \"bunNativeType\") \?\? 0);\n @putByIdDirectPrivate(this, \"bunNativePtr\", @getByIdDirectPrivate(underlyingSource, \"bunNativePtr\") \?\? 0);\n @putByIdDirectPrivate(this, \"asyncContext\", @getInternalField(@asyncContext, 0));\n const isDirect = underlyingSource.type === \"direct\";\n const isUnderlyingSourceLazy = !!underlyingSource.@lazy;\n const isLazy = isDirect || isUnderlyingSourceLazy;\n if (@getByIdDirectPrivate(underlyingSource, \"pull\") !== @undefined && !isLazy) {\n const size = @getByIdDirectPrivate(strategy, \"size\");\n const highWaterMark = @getByIdDirectPrivate(strategy, \"highWaterMark\");\n @putByIdDirectPrivate(this, \"highWaterMark\", highWaterMark);\n @putByIdDirectPrivate(this, \"underlyingSource\", @undefined);\n @setupReadableStreamDefaultController(this, underlyingSource, size, highWaterMark !== @undefined \? highWaterMark : 1, @getByIdDirectPrivate(underlyingSource, \"start\"), @getByIdDirectPrivate(underlyingSource, \"pull\"), @getByIdDirectPrivate(underlyingSource, \"cancel\"));\n return this;\n }\n if (isDirect) {\n @putByIdDirectPrivate(this, \"underlyingSource\", underlyingSource);\n @putByIdDirectPrivate(this, \"highWaterMark\", @getByIdDirectPrivate(strategy, \"highWaterMark\"));\n @putByIdDirectPrivate(this, \"start\", () => @createReadableStreamController(this, underlyingSource, strategy));\n } else if (isLazy) {\n const autoAllocateChunkSize = underlyingSource.autoAllocateChunkSize;\n @putByIdDirectPrivate(this, \"highWaterMark\", @undefined);\n @putByIdDirectPrivate(this, \"underlyingSource\", @undefined);\n @putByIdDirectPrivate(this, \"highWaterMark\", autoAllocateChunkSize || @getByIdDirectPrivate(strategy, \"highWaterMark\"));\n @putByIdDirectPrivate(this, \"start\", () => {\n const instance = @lazyLoadStream(this, autoAllocateChunkSize);\n if (instance) {\n @createReadableStreamController(this, instance, strategy);\n }\n });\n } else {\n @putByIdDirectPrivate(this, \"underlyingSource\", @undefined);\n @putByIdDirectPrivate(this, \"highWaterMark\", @getByIdDirectPrivate(strategy, \"highWaterMark\"));\n @putByIdDirectPrivate(this, \"start\", @undefined);\n @createReadableStreamController(this, underlyingSource, strategy);\n }\n return this;\n})\n"; // readableStreamToArray const JSC::ConstructAbility s_readableStreamReadableStreamToArrayCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_readableStreamReadableStreamToArrayCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_readableStreamReadableStreamToArrayCodeImplementationVisibility = JSC::ImplementationVisibility::Private; -const int s_readableStreamReadableStreamToArrayCodeLength = 173; +const int s_readableStreamReadableStreamToArrayCodeLength = 268; static const JSC::Intrinsic s_readableStreamReadableStreamToArrayCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_readableStreamReadableStreamToArrayCode = "(function (_){\"use strict\";var b=@getByIdDirectPrivate(_,\"underlyingSource\");if(b!==@undefined)return @readableStreamToArrayDirect(_,b);return @readableStreamIntoArray(_)})\n"; +const char* const s_readableStreamReadableStreamToArrayCode = "(function (stream) {\"use strict\";\n var underlyingSource = @getByIdDirectPrivate(stream, \"underlyingSource\");\n if (underlyingSource !== @undefined) {\n return @readableStreamToArrayDirect(stream, underlyingSource);\n }\n return @readableStreamIntoArray(stream);\n})\n"; // readableStreamToText const JSC::ConstructAbility s_readableStreamReadableStreamToTextCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_readableStreamReadableStreamToTextCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_readableStreamReadableStreamToTextCodeImplementationVisibility = JSC::ImplementationVisibility::Private; -const int s_readableStreamReadableStreamToTextCodeLength = 171; +const int s_readableStreamReadableStreamToTextCodeLength = 266; static const JSC::Intrinsic s_readableStreamReadableStreamToTextCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_readableStreamReadableStreamToTextCode = "(function (p){\"use strict\";var _=@getByIdDirectPrivate(p,\"underlyingSource\");if(_!==@undefined)return @readableStreamToTextDirect(p,_);return @readableStreamIntoText(p)})\n"; +const char* const s_readableStreamReadableStreamToTextCode = "(function (stream) {\"use strict\";\n var underlyingSource = @getByIdDirectPrivate(stream, \"underlyingSource\");\n if (underlyingSource !== @undefined) {\n return @readableStreamToTextDirect(stream, underlyingSource);\n }\n return @readableStreamIntoText(stream);\n})\n"; // readableStreamToArrayBuffer const JSC::ConstructAbility s_readableStreamReadableStreamToArrayBufferCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_readableStreamReadableStreamToArrayBufferCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_readableStreamReadableStreamToArrayBufferCodeImplementationVisibility = JSC::ImplementationVisibility::Private; -const int s_readableStreamReadableStreamToArrayBufferCodeLength = 270; +const int s_readableStreamReadableStreamToArrayBufferCodeLength = 405; static const JSC::Intrinsic s_readableStreamReadableStreamToArrayBufferCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_readableStreamReadableStreamToArrayBufferCode = "(function (_){\"use strict\";var p=@getByIdDirectPrivate(_,\"underlyingSource\");if(p!==@undefined)return @readableStreamToArrayBufferDirect(_,p);var b=@Bun.readableStreamToArray(_);if(@isPromise(b))return b.then(@Bun.concatArrayBuffers);return @Bun.concatArrayBuffers(b)})\n"; +const char* const s_readableStreamReadableStreamToArrayBufferCode = "(function (stream) {\"use strict\";\n var underlyingSource = @getByIdDirectPrivate(stream, \"underlyingSource\");\n if (underlyingSource !== @undefined) {\n return @readableStreamToArrayBufferDirect(stream, underlyingSource);\n }\n var result = @Bun.readableStreamToArray(stream);\n if (@isPromise(result)) {\n return result.then(@Bun.concatArrayBuffers);\n }\n return @Bun.concatArrayBuffers(result);\n})\n"; // readableStreamToFormData const JSC::ConstructAbility s_readableStreamReadableStreamToFormDataCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_readableStreamReadableStreamToFormDataCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_readableStreamReadableStreamToFormDataCodeImplementationVisibility = JSC::ImplementationVisibility::Private; -const int s_readableStreamReadableStreamToFormDataCodeLength = 106; +const int s_readableStreamReadableStreamToFormDataCodeLength = 161; static const JSC::Intrinsic s_readableStreamReadableStreamToFormDataCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_readableStreamReadableStreamToFormDataCode = "(function (r,d){\"use strict\";return @Bun.readableStreamToBlob(r).then((u)=>{return FormData.from(u,d)})})\n"; +const char* const s_readableStreamReadableStreamToFormDataCode = "(function (stream, contentType) {\"use strict\";\n return @Bun.readableStreamToBlob(stream).then((blob) => {\n return FormData.from(blob, contentType);\n });\n})\n"; // readableStreamToJSON const JSC::ConstructAbility s_readableStreamReadableStreamToJSONCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_readableStreamReadableStreamToJSONCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_readableStreamReadableStreamToJSONCodeImplementationVisibility = JSC::ImplementationVisibility::Private; -const int s_readableStreamReadableStreamToJSONCodeLength = 94; +const int s_readableStreamReadableStreamToJSONCodeLength = 110; static const JSC::Intrinsic s_readableStreamReadableStreamToJSONCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_readableStreamReadableStreamToJSONCode = "(function (d){\"use strict\";return @Bun.readableStreamToText(d).@then(globalThis.JSON.parse)})\n"; +const char* const s_readableStreamReadableStreamToJSONCode = "(function (stream) {\"use strict\";\n return @Bun.readableStreamToText(stream).@then(globalThis.JSON.parse);\n})\n"; // readableStreamToBlob const JSC::ConstructAbility s_readableStreamReadableStreamToBlobCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_readableStreamReadableStreamToBlobCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_readableStreamReadableStreamToBlobCodeImplementationVisibility = JSC::ImplementationVisibility::Private; -const int s_readableStreamReadableStreamToBlobCodeLength = 108; +const int s_readableStreamReadableStreamToBlobCodeLength = 134; static const JSC::Intrinsic s_readableStreamReadableStreamToBlobCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_readableStreamReadableStreamToBlobCode = "(function (n){\"use strict\";return @Promise.resolve(@Bun.readableStreamToArray(n)).@then((B)=>new Blob(B))})\n"; +const char* const s_readableStreamReadableStreamToBlobCode = "(function (stream) {\"use strict\";\n return @Promise.resolve(@Bun.readableStreamToArray(stream)).@then((array) => new Blob(array));\n})\n"; // consumeReadableStream const JSC::ConstructAbility s_readableStreamConsumeReadableStreamCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_readableStreamConsumeReadableStreamCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_readableStreamConsumeReadableStreamCodeImplementationVisibility = JSC::ImplementationVisibility::Private; -const int s_readableStreamConsumeReadableStreamCodeLength = 1603; +const int s_readableStreamConsumeReadableStreamCodeLength = 3079; static const JSC::Intrinsic s_readableStreamConsumeReadableStreamCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_readableStreamConsumeReadableStreamCode = "(function (G,q,A){\"use strict\";const B=globalThis.Symbol.for(\"Bun.consumeReadableStreamPrototype\");var k=globalThis[B];if(!k)k=globalThis[B]=[];var w=k[q];if(w===@undefined){var[L,H,I,J,N,D]=globalThis[globalThis.Symbol.for('Bun.lazy')](q);w=class K{handleError;handleClosed;processResult;constructor(_,j){this.#$=j,this.#j=_,this.#_=!1,this.handleError=this._handleError.bind(this),this.handleClosed=this._handleClosed.bind(this),this.processResult=this._processResult.bind(this),_.closed.then(this.handleClosed,this.handleError)}_handleClosed(){if(this.#_)return;this.#_=!0;var _=this.#$;this.#$=0,J(_),D(_)}_handleError(_){if(this.#_)return;this.#_=!0;var j=this.#$;this.#$=0,H(j,_),D(j)}#$;#_=!1;#j;_handleReadMany({value:_,done:j,size:x}){if(j){this.handleClosed();return}if(this.#_)return;I(this.#$,_,j,x)}read(){if(!this.#$)return @throwTypeError(\"ReadableStreamSink is already closed\");return this.processResult(this.#j.read())}_processResult(_){if(_&&@isPromise(_)){if(@getPromiseInternalField(_,@promiseFieldFlags)&@promiseStateFulfilled){const x=@getPromiseInternalField(_,@promiseFieldReactionsOrResult);if(x)_=x}}if(_&&@isPromise(_))return _.then(this.processResult,this.handleError),null;if(_.done)return this.handleClosed(),0;else if(_.value)return _.value;else return-1}readMany(){if(!this.#$)return @throwTypeError(\"ReadableStreamSink is already closed\");return this.processResult(this.#j.readMany())}};const F=q+1;if(k.length{@putByIdDirectPrivate(p,\"started\",1),@assert(!@getByIdDirectPrivate(p,\"pulling\")),@assert(!@getByIdDirectPrivate(p,\"pullAgain\")),@readableByteStreamControllerCallPullIfNeeded(p)},(I)=>{if(@getByIdDirectPrivate(R,\"state\")===@streamReadable)@readableByteStreamControllerError(p,I)}),@putByIdDirectPrivate(this,\"cancel\",@readableByteStreamControllerCancel),@putByIdDirectPrivate(this,\"pull\",@readableByteStreamControllerPull),this})\n"; +const char* const s_readableByteStreamInternalsPrivateInitializeReadableByteStreamControllerCode = "(function (stream, underlyingByteSource, highWaterMark) {\"use strict\";\n if (!@isReadableStream(stream))\n @throwTypeError(\"ReadableByteStreamController needs a ReadableStream\");\n if (@getByIdDirectPrivate(stream, \"readableStreamController\") !== null)\n @throwTypeError(\"ReadableStream already has a controller\");\n @putByIdDirectPrivate(this, \"controlledReadableStream\", stream);\n @putByIdDirectPrivate(this, \"underlyingByteSource\", underlyingByteSource);\n @putByIdDirectPrivate(this, \"pullAgain\", false);\n @putByIdDirectPrivate(this, \"pulling\", false);\n @readableByteStreamControllerClearPendingPullIntos(this);\n @putByIdDirectPrivate(this, \"queue\", @newQueue());\n @putByIdDirectPrivate(this, \"started\", 0);\n @putByIdDirectPrivate(this, \"closeRequested\", false);\n let hwm = @toNumber(highWaterMark);\n if (hwm !== hwm || hwm < 0)\n @throwRangeError(\"highWaterMark value is negative or not a number\");\n @putByIdDirectPrivate(this, \"strategyHWM\", hwm);\n let autoAllocateChunkSize = underlyingByteSource.autoAllocateChunkSize;\n if (autoAllocateChunkSize !== @undefined) {\n autoAllocateChunkSize = @toNumber(autoAllocateChunkSize);\n if (autoAllocateChunkSize <= 0 || autoAllocateChunkSize === @Infinity || autoAllocateChunkSize === -@Infinity)\n @throwRangeError(\"autoAllocateChunkSize value is negative or equal to positive or negative infinity\");\n }\n @putByIdDirectPrivate(this, \"autoAllocateChunkSize\", autoAllocateChunkSize);\n @putByIdDirectPrivate(this, \"pendingPullIntos\", @createFIFO());\n const controller = this;\n @promiseInvokeOrNoopNoCatch(@getByIdDirectPrivate(controller, \"underlyingByteSource\"), \"start\", [controller]).@then(() => {\n @putByIdDirectPrivate(controller, \"started\", 1);\n @assert(!@getByIdDirectPrivate(controller, \"pulling\"));\n @assert(!@getByIdDirectPrivate(controller, \"pullAgain\"));\n @readableByteStreamControllerCallPullIfNeeded(controller);\n }, (error) => {\n if (@getByIdDirectPrivate(stream, \"state\") === @streamReadable)\n @readableByteStreamControllerError(controller, error);\n });\n @putByIdDirectPrivate(this, \"cancel\", @readableByteStreamControllerCancel);\n @putByIdDirectPrivate(this, \"pull\", @readableByteStreamControllerPull);\n return this;\n})\n"; // readableStreamByteStreamControllerStart const JSC::ConstructAbility s_readableByteStreamInternalsReadableStreamByteStreamControllerStartCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_readableByteStreamInternalsReadableStreamByteStreamControllerStartCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_readableByteStreamInternalsReadableStreamByteStreamControllerStartCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_readableByteStreamInternalsReadableStreamByteStreamControllerStartCodeLength = 73; +const int s_readableByteStreamInternalsReadableStreamByteStreamControllerStartCodeLength = 99; static const JSC::Intrinsic s_readableByteStreamInternalsReadableStreamByteStreamControllerStartCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_readableByteStreamInternalsReadableStreamByteStreamControllerStartCode = "(function (u){\"use strict\";@putByIdDirectPrivate(u,\"start\",@undefined)})\n"; +const char* const s_readableByteStreamInternalsReadableStreamByteStreamControllerStartCode = "(function (controller) {\"use strict\";\n @putByIdDirectPrivate(controller, \"start\", @undefined);\n})\n"; // privateInitializeReadableStreamBYOBRequest const JSC::ConstructAbility s_readableByteStreamInternalsPrivateInitializeReadableStreamBYOBRequestCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_readableByteStreamInternalsPrivateInitializeReadableStreamBYOBRequestCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_readableByteStreamInternalsPrivateInitializeReadableStreamBYOBRequestCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_readableByteStreamInternalsPrivateInitializeReadableStreamBYOBRequestCodeLength = 139; +const int s_readableByteStreamInternalsPrivateInitializeReadableStreamBYOBRequestCodeLength = 177; static const JSC::Intrinsic s_readableByteStreamInternalsPrivateInitializeReadableStreamBYOBRequestCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_readableByteStreamInternalsPrivateInitializeReadableStreamBYOBRequestCode = "(function (a,d){\"use strict\";@putByIdDirectPrivate(this,\"associatedReadableByteStreamController\",a),@putByIdDirectPrivate(this,\"view\",d)})\n"; +const char* const s_readableByteStreamInternalsPrivateInitializeReadableStreamBYOBRequestCode = "(function (controller, view) {\"use strict\";\n @putByIdDirectPrivate(this, \"associatedReadableByteStreamController\", controller);\n @putByIdDirectPrivate(this, \"view\", view);\n})\n"; // isReadableByteStreamController const JSC::ConstructAbility s_readableByteStreamInternalsIsReadableByteStreamControllerCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_readableByteStreamInternalsIsReadableByteStreamControllerCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_readableByteStreamInternalsIsReadableByteStreamControllerCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_readableByteStreamInternalsIsReadableByteStreamControllerCodeLength = 100; +const int s_readableByteStreamInternalsIsReadableByteStreamControllerCodeLength = 136; static const JSC::Intrinsic s_readableByteStreamInternalsIsReadableByteStreamControllerCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_readableByteStreamInternalsIsReadableByteStreamControllerCode = "(function (u){\"use strict\";return @isObject(u)&&!!@getByIdDirectPrivate(u,\"underlyingByteSource\")})\n"; +const char* const s_readableByteStreamInternalsIsReadableByteStreamControllerCode = "(function (controller) {\"use strict\";\n return @isObject(controller) && !!@getByIdDirectPrivate(controller, \"underlyingByteSource\");\n})\n"; // isReadableStreamBYOBRequest const JSC::ConstructAbility s_readableByteStreamInternalsIsReadableStreamBYOBRequestCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_readableByteStreamInternalsIsReadableStreamBYOBRequestCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_readableByteStreamInternalsIsReadableStreamBYOBRequestCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_readableByteStreamInternalsIsReadableStreamBYOBRequestCodeLength = 118; +const int s_readableByteStreamInternalsIsReadableStreamBYOBRequestCodeLength = 157; static const JSC::Intrinsic s_readableByteStreamInternalsIsReadableStreamBYOBRequestCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_readableByteStreamInternalsIsReadableStreamBYOBRequestCode = "(function (n){\"use strict\";return @isObject(n)&&!!@getByIdDirectPrivate(n,\"associatedReadableByteStreamController\")})\n"; +const char* const s_readableByteStreamInternalsIsReadableStreamBYOBRequestCode = "(function (byobRequest) {\"use strict\";\n return @isObject(byobRequest) && !!@getByIdDirectPrivate(byobRequest, \"associatedReadableByteStreamController\");\n})\n"; // isReadableStreamBYOBReader const JSC::ConstructAbility s_readableByteStreamInternalsIsReadableStreamBYOBReaderCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_readableByteStreamInternalsIsReadableStreamBYOBReaderCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_readableByteStreamInternalsIsReadableStreamBYOBReaderCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_readableByteStreamInternalsIsReadableStreamBYOBReaderCodeLength = 96; +const int s_readableByteStreamInternalsIsReadableStreamBYOBReaderCodeLength = 120; static const JSC::Intrinsic s_readableByteStreamInternalsIsReadableStreamBYOBReaderCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_readableByteStreamInternalsIsReadableStreamBYOBReaderCode = "(function (c){\"use strict\";return @isObject(c)&&!!@getByIdDirectPrivate(c,\"readIntoRequests\")})\n"; +const char* const s_readableByteStreamInternalsIsReadableStreamBYOBReaderCode = "(function (reader) {\"use strict\";\n return @isObject(reader) && !!@getByIdDirectPrivate(reader, \"readIntoRequests\");\n})\n"; // readableByteStreamControllerCancel const JSC::ConstructAbility s_readableByteStreamInternalsReadableByteStreamControllerCancelCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_readableByteStreamInternalsReadableByteStreamControllerCancelCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_readableByteStreamInternalsReadableByteStreamControllerCancelCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_readableByteStreamInternalsReadableByteStreamControllerCancelCodeLength = 248; +const int s_readableByteStreamInternalsReadableByteStreamControllerCancelCodeLength = 377; static const JSC::Intrinsic s_readableByteStreamInternalsReadableByteStreamControllerCancelCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_readableByteStreamInternalsReadableByteStreamControllerCancelCode = "(function (a,u){\"use strict\";var _=@getByIdDirectPrivate(a,\"pendingPullIntos\"),p=_.peek();if(p)p.bytesFilled=0;return @putByIdDirectPrivate(a,\"queue\",@newQueue()),@promiseInvokeOrNoop(@getByIdDirectPrivate(a,\"underlyingByteSource\"),\"cancel\",[u])})\n"; +const char* const s_readableByteStreamInternalsReadableByteStreamControllerCancelCode = "(function (controller, reason) {\"use strict\";\n var pendingPullIntos = @getByIdDirectPrivate(controller, \"pendingPullIntos\");\n var first = pendingPullIntos.peek();\n if (first)\n first.bytesFilled = 0;\n @putByIdDirectPrivate(controller, \"queue\", @newQueue());\n return @promiseInvokeOrNoop(@getByIdDirectPrivate(controller, \"underlyingByteSource\"), \"cancel\", [reason]);\n})\n"; // readableByteStreamControllerError const JSC::ConstructAbility s_readableByteStreamInternalsReadableByteStreamControllerErrorCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_readableByteStreamInternalsReadableByteStreamControllerErrorCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_readableByteStreamInternalsReadableByteStreamControllerErrorCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_readableByteStreamInternalsReadableByteStreamControllerErrorCodeLength = 316; +const int s_readableByteStreamInternalsReadableByteStreamControllerErrorCodeLength = 385; static const JSC::Intrinsic s_readableByteStreamInternalsReadableByteStreamControllerErrorCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_readableByteStreamInternalsReadableByteStreamControllerErrorCode = "(function (_,a){\"use strict\";@assert(@getByIdDirectPrivate(@getByIdDirectPrivate(_,\"controlledReadableStream\"),\"state\")===@streamReadable),@readableByteStreamControllerClearPendingPullIntos(_),@putByIdDirectPrivate(_,\"queue\",@newQueue()),@readableStreamError(@getByIdDirectPrivate(_,\"controlledReadableStream\"),a)})\n"; +const char* const s_readableByteStreamInternalsReadableByteStreamControllerErrorCode = "(function (controller, e) {\"use strict\";\n @assert(@getByIdDirectPrivate(@getByIdDirectPrivate(controller, \"controlledReadableStream\"), \"state\") === @streamReadable);\n @readableByteStreamControllerClearPendingPullIntos(controller);\n @putByIdDirectPrivate(controller, \"queue\", @newQueue());\n @readableStreamError(@getByIdDirectPrivate(controller, \"controlledReadableStream\"), e);\n})\n"; // readableByteStreamControllerClose const JSC::ConstructAbility s_readableByteStreamInternalsReadableByteStreamControllerCloseCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_readableByteStreamInternalsReadableByteStreamControllerCloseCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_readableByteStreamInternalsReadableByteStreamControllerCloseCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_readableByteStreamInternalsReadableByteStreamControllerCloseCodeLength = 569; +const int s_readableByteStreamInternalsReadableByteStreamControllerCloseCodeLength = 750; static const JSC::Intrinsic s_readableByteStreamInternalsReadableByteStreamControllerCloseCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_readableByteStreamInternalsReadableByteStreamControllerCloseCode = "(function (d){\"use strict\";if(@assert(!@getByIdDirectPrivate(d,\"closeRequested\")),@assert(@getByIdDirectPrivate(@getByIdDirectPrivate(d,\"controlledReadableStream\"),\"state\")===@streamReadable),@getByIdDirectPrivate(d,\"queue\").size>0){@putByIdDirectPrivate(d,\"closeRequested\",!0);return}var a=@getByIdDirectPrivate(d,\"pendingPullIntos\")\?.peek();if(a){if(a.bytesFilled>0){const u=@makeTypeError(\"Close requested while there remain pending bytes\");throw @readableByteStreamControllerError(d,u),u}}@readableStreamClose(@getByIdDirectPrivate(d,\"controlledReadableStream\"))})\n"; +const char* const s_readableByteStreamInternalsReadableByteStreamControllerCloseCode = "(function (controller) {\"use strict\";\n @assert(!@getByIdDirectPrivate(controller, \"closeRequested\"));\n @assert(@getByIdDirectPrivate(@getByIdDirectPrivate(controller, \"controlledReadableStream\"), \"state\") === @streamReadable);\n if (@getByIdDirectPrivate(controller, \"queue\").size > 0) {\n @putByIdDirectPrivate(controller, \"closeRequested\", true);\n return;\n }\n var first = @getByIdDirectPrivate(controller, \"pendingPullIntos\")\?.peek();\n if (first) {\n if (first.bytesFilled > 0) {\n const e = @makeTypeError(\"Close requested while there remain pending bytes\");\n @readableByteStreamControllerError(controller, e);\n throw e;\n }\n }\n @readableStreamClose(@getByIdDirectPrivate(controller, \"controlledReadableStream\"));\n})\n"; // readableByteStreamControllerClearPendingPullIntos const JSC::ConstructAbility s_readableByteStreamInternalsReadableByteStreamControllerClearPendingPullIntosCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_readableByteStreamInternalsReadableByteStreamControllerClearPendingPullIntosCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_readableByteStreamInternalsReadableByteStreamControllerClearPendingPullIntosCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_readableByteStreamInternalsReadableByteStreamControllerClearPendingPullIntosCodeLength = 224; +const int s_readableByteStreamInternalsReadableByteStreamControllerClearPendingPullIntosCodeLength = 323; static const JSC::Intrinsic s_readableByteStreamInternalsReadableByteStreamControllerClearPendingPullIntosCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_readableByteStreamInternalsReadableByteStreamControllerClearPendingPullIntosCode = "(function (_){\"use strict\";@readableByteStreamControllerInvalidateBYOBRequest(_);var u=@getByIdDirectPrivate(_,\"pendingPullIntos\");if(u!==@undefined)u.clear();else @putByIdDirectPrivate(_,\"pendingPullIntos\",@createFIFO())})\n"; +const char* const s_readableByteStreamInternalsReadableByteStreamControllerClearPendingPullIntosCode = "(function (controller) {\"use strict\";\n @readableByteStreamControllerInvalidateBYOBRequest(controller);\n var existing = @getByIdDirectPrivate(controller, \"pendingPullIntos\");\n if (existing !== @undefined) {\n existing.clear();\n } else {\n @putByIdDirectPrivate(controller, \"pendingPullIntos\", @createFIFO());\n }\n})\n"; // readableByteStreamControllerGetDesiredSize const JSC::ConstructAbility s_readableByteStreamInternalsReadableByteStreamControllerGetDesiredSizeCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_readableByteStreamInternalsReadableByteStreamControllerGetDesiredSizeCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_readableByteStreamInternalsReadableByteStreamControllerGetDesiredSizeCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_readableByteStreamInternalsReadableByteStreamControllerGetDesiredSizeCodeLength = 272; +const int s_readableByteStreamInternalsReadableByteStreamControllerGetDesiredSizeCodeLength = 380; static const JSC::Intrinsic s_readableByteStreamInternalsReadableByteStreamControllerGetDesiredSizeCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_readableByteStreamInternalsReadableByteStreamControllerGetDesiredSizeCode = "(function (u){\"use strict\";const _=@getByIdDirectPrivate(u,\"controlledReadableStream\"),d=@getByIdDirectPrivate(_,\"state\");if(d===@streamErrored)return null;if(d===@streamClosed)return 0;return @getByIdDirectPrivate(u,\"strategyHWM\")-@getByIdDirectPrivate(u,\"queue\").size})\n"; +const char* const s_readableByteStreamInternalsReadableByteStreamControllerGetDesiredSizeCode = "(function (controller) {\"use strict\";\n const stream = @getByIdDirectPrivate(controller, \"controlledReadableStream\");\n const state = @getByIdDirectPrivate(stream, \"state\");\n if (state === @streamErrored)\n return null;\n if (state === @streamClosed)\n return 0;\n return @getByIdDirectPrivate(controller, \"strategyHWM\") - @getByIdDirectPrivate(controller, \"queue\").size;\n})\n"; // readableStreamHasBYOBReader const JSC::ConstructAbility s_readableByteStreamInternalsReadableStreamHasBYOBReaderCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_readableByteStreamInternalsReadableStreamHasBYOBReaderCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_readableByteStreamInternalsReadableStreamHasBYOBReaderCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_readableByteStreamInternalsReadableStreamHasBYOBReaderCodeLength = 125; +const int s_readableByteStreamInternalsReadableStreamHasBYOBReaderCodeLength = 166; static const JSC::Intrinsic s_readableByteStreamInternalsReadableStreamHasBYOBReaderCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_readableByteStreamInternalsReadableStreamHasBYOBReaderCode = "(function (u){\"use strict\";const n=@getByIdDirectPrivate(u,\"reader\");return n!==@undefined&&@isReadableStreamBYOBReader(n)})\n"; +const char* const s_readableByteStreamInternalsReadableStreamHasBYOBReaderCode = "(function (stream) {\"use strict\";\n const reader = @getByIdDirectPrivate(stream, \"reader\");\n return reader !== @undefined && @isReadableStreamBYOBReader(reader);\n})\n"; // readableStreamHasDefaultReader const JSC::ConstructAbility s_readableByteStreamInternalsReadableStreamHasDefaultReaderCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_readableByteStreamInternalsReadableStreamHasDefaultReaderCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_readableByteStreamInternalsReadableStreamHasDefaultReaderCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_readableByteStreamInternalsReadableStreamHasDefaultReaderCodeLength = 128; +const int s_readableByteStreamInternalsReadableStreamHasDefaultReaderCodeLength = 169; static const JSC::Intrinsic s_readableByteStreamInternalsReadableStreamHasDefaultReaderCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_readableByteStreamInternalsReadableStreamHasDefaultReaderCode = "(function (n){\"use strict\";const l=@getByIdDirectPrivate(n,\"reader\");return l!==@undefined&&@isReadableStreamDefaultReader(l)})\n"; +const char* const s_readableByteStreamInternalsReadableStreamHasDefaultReaderCode = "(function (stream) {\"use strict\";\n const reader = @getByIdDirectPrivate(stream, \"reader\");\n return reader !== @undefined && @isReadableStreamDefaultReader(reader);\n})\n"; // readableByteStreamControllerHandleQueueDrain const JSC::ConstructAbility s_readableByteStreamInternalsReadableByteStreamControllerHandleQueueDrainCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_readableByteStreamInternalsReadableByteStreamControllerHandleQueueDrainCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_readableByteStreamInternalsReadableByteStreamControllerHandleQueueDrainCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_readableByteStreamInternalsReadableByteStreamControllerHandleQueueDrainCodeLength = 352; +const int s_readableByteStreamInternalsReadableByteStreamControllerHandleQueueDrainCodeLength = 437; static const JSC::Intrinsic s_readableByteStreamInternalsReadableByteStreamControllerHandleQueueDrainCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_readableByteStreamInternalsReadableByteStreamControllerHandleQueueDrainCode = "(function (g){\"use strict\";if(@assert(@getByIdDirectPrivate(@getByIdDirectPrivate(g,\"controlledReadableStream\"),\"state\")===@streamReadable),!@getByIdDirectPrivate(g,\"queue\").size&&@getByIdDirectPrivate(g,\"closeRequested\"))@readableStreamClose(@getByIdDirectPrivate(g,\"controlledReadableStream\"));else @readableByteStreamControllerCallPullIfNeeded(g)})\n"; +const char* const s_readableByteStreamInternalsReadableByteStreamControllerHandleQueueDrainCode = "(function (controller) {\"use strict\";\n @assert(@getByIdDirectPrivate(@getByIdDirectPrivate(controller, \"controlledReadableStream\"), \"state\") === @streamReadable);\n if (!@getByIdDirectPrivate(controller, \"queue\").size && @getByIdDirectPrivate(controller, \"closeRequested\"))\n @readableStreamClose(@getByIdDirectPrivate(controller, \"controlledReadableStream\"));\n else\n @readableByteStreamControllerCallPullIfNeeded(controller);\n})\n"; // readableByteStreamControllerPull const JSC::ConstructAbility s_readableByteStreamInternalsReadableByteStreamControllerPullCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_readableByteStreamInternalsReadableByteStreamControllerPullCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_readableByteStreamInternalsReadableByteStreamControllerPullCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_readableByteStreamInternalsReadableByteStreamControllerPullCodeLength = 1005; +const int s_readableByteStreamInternalsReadableByteStreamControllerPullCodeLength = 1458; static const JSC::Intrinsic s_readableByteStreamInternalsReadableByteStreamControllerPullCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_readableByteStreamInternalsReadableByteStreamControllerPullCode = "(function (_){\"use strict\";const P=@getByIdDirectPrivate(_,\"controlledReadableStream\");if(@assert(@readableStreamHasDefaultReader(P)),@getByIdDirectPrivate(_,\"queue\").content\?.isNotEmpty()){const d=@getByIdDirectPrivate(_,\"queue\").content.shift();@getByIdDirectPrivate(_,\"queue\").size-=d.byteLength,@readableByteStreamControllerHandleQueueDrain(_);let h;try{h=new @Uint8Array(d.buffer,d.byteOffset,d.byteLength)}catch(F){return @Promise.@reject(F)}return @createFulfilledPromise({value:h,done:!1})}if(@getByIdDirectPrivate(_,\"autoAllocateChunkSize\")!==@undefined){let d;try{d=@createUninitializedArrayBuffer(@getByIdDirectPrivate(_,\"autoAllocateChunkSize\"))}catch(F){return @Promise.@reject(F)}const h={buffer:d,byteOffset:0,byteLength:@getByIdDirectPrivate(_,\"autoAllocateChunkSize\"),bytesFilled:0,elementSize:1,ctor:@Uint8Array,readerType:\"default\"};@getByIdDirectPrivate(_,\"pendingPullIntos\").push(h)}const R=@readableStreamAddReadRequest(P);return @readableByteStreamControllerCallPullIfNeeded(_),R})\n"; +const char* const s_readableByteStreamInternalsReadableByteStreamControllerPullCode = "(function (controller) {\"use strict\";\n const stream = @getByIdDirectPrivate(controller, \"controlledReadableStream\");\n @assert(@readableStreamHasDefaultReader(stream));\n if (@getByIdDirectPrivate(controller, \"queue\").content\?.isNotEmpty()) {\n const entry = @getByIdDirectPrivate(controller, \"queue\").content.shift();\n @getByIdDirectPrivate(controller, \"queue\").size -= entry.byteLength;\n @readableByteStreamControllerHandleQueueDrain(controller);\n let view;\n try {\n view = new @Uint8Array(entry.buffer, entry.byteOffset, entry.byteLength);\n } catch (error) {\n return @Promise.@reject(error);\n }\n return @createFulfilledPromise({ value: view, done: false });\n }\n if (@getByIdDirectPrivate(controller, \"autoAllocateChunkSize\") !== @undefined) {\n let buffer;\n try {\n buffer = @createUninitializedArrayBuffer(@getByIdDirectPrivate(controller, \"autoAllocateChunkSize\"));\n } catch (error) {\n return @Promise.@reject(error);\n }\n const pullIntoDescriptor = {\n buffer,\n byteOffset: 0,\n byteLength: @getByIdDirectPrivate(controller, \"autoAllocateChunkSize\"),\n bytesFilled: 0,\n elementSize: 1,\n ctor: @Uint8Array,\n readerType: \"default\"\n };\n @getByIdDirectPrivate(controller, \"pendingPullIntos\").push(pullIntoDescriptor);\n }\n const promise = @readableStreamAddReadRequest(stream);\n @readableByteStreamControllerCallPullIfNeeded(controller);\n return promise;\n})\n"; // readableByteStreamControllerShouldCallPull const JSC::ConstructAbility s_readableByteStreamInternalsReadableByteStreamControllerShouldCallPullCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_readableByteStreamInternalsReadableByteStreamControllerShouldCallPullCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_readableByteStreamInternalsReadableByteStreamControllerShouldCallPullCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_readableByteStreamInternalsReadableByteStreamControllerShouldCallPullCodeLength = 619; +const int s_readableByteStreamInternalsReadableByteStreamControllerShouldCallPullCodeLength = 825; static const JSC::Intrinsic s_readableByteStreamInternalsReadableByteStreamControllerShouldCallPullCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_readableByteStreamInternalsReadableByteStreamControllerShouldCallPullCode = "(function (u){\"use strict\";const P=@getByIdDirectPrivate(u,\"controlledReadableStream\");if(@getByIdDirectPrivate(P,\"state\")!==@streamReadable)return!1;if(@getByIdDirectPrivate(u,\"closeRequested\"))return!1;if(!(@getByIdDirectPrivate(u,\"started\")>0))return!1;const b=@getByIdDirectPrivate(P,\"reader\");if(b&&(@getByIdDirectPrivate(b,\"readRequests\")\?.isNotEmpty()||!!@getByIdDirectPrivate(b,\"bunNativePtr\")))return!0;if(@readableStreamHasBYOBReader(P)&&@getByIdDirectPrivate(@getByIdDirectPrivate(P,\"reader\"),\"readIntoRequests\")\?.isNotEmpty())return!0;if(@readableByteStreamControllerGetDesiredSize(u)>0)return!0;return!1})\n"; +const char* const s_readableByteStreamInternalsReadableByteStreamControllerShouldCallPullCode = "(function (controller) {\"use strict\";\n const stream = @getByIdDirectPrivate(controller, \"controlledReadableStream\");\n if (@getByIdDirectPrivate(stream, \"state\") !== @streamReadable)\n return false;\n if (@getByIdDirectPrivate(controller, \"closeRequested\"))\n return false;\n if (!(@getByIdDirectPrivate(controller, \"started\") > 0))\n return false;\n const reader = @getByIdDirectPrivate(stream, \"reader\");\n if (reader && (@getByIdDirectPrivate(reader, \"readRequests\")\?.isNotEmpty() || !!@getByIdDirectPrivate(reader, \"bunNativePtr\")))\n return true;\n if (@readableStreamHasBYOBReader(stream) && @getByIdDirectPrivate(@getByIdDirectPrivate(stream, \"reader\"), \"readIntoRequests\")\?.isNotEmpty())\n return true;\n if (@readableByteStreamControllerGetDesiredSize(controller) > 0)\n return true;\n return false;\n})\n"; // readableByteStreamControllerCallPullIfNeeded const JSC::ConstructAbility s_readableByteStreamInternalsReadableByteStreamControllerCallPullIfNeededCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_readableByteStreamInternalsReadableByteStreamControllerCallPullIfNeededCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_readableByteStreamInternalsReadableByteStreamControllerCallPullIfNeededCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_readableByteStreamInternalsReadableByteStreamControllerCallPullIfNeededCodeLength = 670; +const int s_readableByteStreamInternalsReadableByteStreamControllerCallPullIfNeededCodeLength = 932; static const JSC::Intrinsic s_readableByteStreamInternalsReadableByteStreamControllerCallPullIfNeededCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_readableByteStreamInternalsReadableByteStreamControllerCallPullIfNeededCode = "(function (i){\"use strict\";if(!@readableByteStreamControllerShouldCallPull(i))return;if(@getByIdDirectPrivate(i,\"pulling\")){@putByIdDirectPrivate(i,\"pullAgain\",!0);return}@assert(!@getByIdDirectPrivate(i,\"pullAgain\")),@putByIdDirectPrivate(i,\"pulling\",!0),@promiseInvokeOrNoop(@getByIdDirectPrivate(i,\"underlyingByteSource\"),\"pull\",[i]).@then(()=>{if(@putByIdDirectPrivate(i,\"pulling\",!1),@getByIdDirectPrivate(i,\"pullAgain\"))@putByIdDirectPrivate(i,\"pullAgain\",!1),@readableByteStreamControllerCallPullIfNeeded(i)},(_)=>{if(@getByIdDirectPrivate(@getByIdDirectPrivate(i,\"controlledReadableStream\"),\"state\")===@streamReadable)@readableByteStreamControllerError(i,_)})})\n"; +const char* const s_readableByteStreamInternalsReadableByteStreamControllerCallPullIfNeededCode = "(function (controller) {\"use strict\";\n if (!@readableByteStreamControllerShouldCallPull(controller))\n return;\n if (@getByIdDirectPrivate(controller, \"pulling\")) {\n @putByIdDirectPrivate(controller, \"pullAgain\", true);\n return;\n }\n @assert(!@getByIdDirectPrivate(controller, \"pullAgain\"));\n @putByIdDirectPrivate(controller, \"pulling\", true);\n @promiseInvokeOrNoop(@getByIdDirectPrivate(controller, \"underlyingByteSource\"), \"pull\", [controller]).@then(() => {\n @putByIdDirectPrivate(controller, \"pulling\", false);\n if (@getByIdDirectPrivate(controller, \"pullAgain\")) {\n @putByIdDirectPrivate(controller, \"pullAgain\", false);\n @readableByteStreamControllerCallPullIfNeeded(controller);\n }\n }, (error) => {\n if (@getByIdDirectPrivate(@getByIdDirectPrivate(controller, \"controlledReadableStream\"), \"state\") === @streamReadable)\n @readableByteStreamControllerError(controller, error);\n });\n})\n"; // transferBufferToCurrentRealm const JSC::ConstructAbility s_readableByteStreamInternalsTransferBufferToCurrentRealmCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_readableByteStreamInternalsTransferBufferToCurrentRealmCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_readableByteStreamInternalsTransferBufferToCurrentRealmCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_readableByteStreamInternalsTransferBufferToCurrentRealmCodeLength = 38; +const int s_readableByteStreamInternalsTransferBufferToCurrentRealmCodeLength = 54; static const JSC::Intrinsic s_readableByteStreamInternalsTransferBufferToCurrentRealmCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_readableByteStreamInternalsTransferBufferToCurrentRealmCode = "(function (n){\"use strict\";return n})\n"; +const char* const s_readableByteStreamInternalsTransferBufferToCurrentRealmCode = "(function (buffer) {\"use strict\";\n return buffer;\n})\n"; // readableStreamReaderKind const JSC::ConstructAbility s_readableByteStreamInternalsReadableStreamReaderKindCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_readableByteStreamInternalsReadableStreamReaderKindCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_readableByteStreamInternalsReadableStreamReaderKindCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_readableByteStreamInternalsReadableStreamReaderKindCodeLength = 188; +const int s_readableByteStreamInternalsReadableStreamReaderKindCodeLength = 243; static const JSC::Intrinsic s_readableByteStreamInternalsReadableStreamReaderKindCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_readableByteStreamInternalsReadableStreamReaderKindCode = "(function (t){\"use strict\";if(@getByIdDirectPrivate(t,\"readRequests\"))return @getByIdDirectPrivate(t,\"bunNativePtr\")\?3:1;if(@getByIdDirectPrivate(t,\"readIntoRequests\"))return 2;return 0})\n"; +const char* const s_readableByteStreamInternalsReadableStreamReaderKindCode = "(function (reader) {\"use strict\";\n if (!!@getByIdDirectPrivate(reader, \"readRequests\"))\n return @getByIdDirectPrivate(reader, \"bunNativePtr\") \? 3 : 1;\n if (!!@getByIdDirectPrivate(reader, \"readIntoRequests\"))\n return 2;\n return 0;\n})\n"; // readableByteStreamControllerEnqueue const JSC::ConstructAbility s_readableByteStreamInternalsReadableByteStreamControllerEnqueueCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_readableByteStreamInternalsReadableByteStreamControllerEnqueueCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_readableByteStreamInternalsReadableByteStreamControllerEnqueueCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_readableByteStreamInternalsReadableByteStreamControllerEnqueueCodeLength = 1076; +const int s_readableByteStreamInternalsReadableByteStreamControllerEnqueueCodeLength = 1496; static const JSC::Intrinsic s_readableByteStreamInternalsReadableByteStreamControllerEnqueueCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_readableByteStreamInternalsReadableByteStreamControllerEnqueueCode = "(function (d,i){\"use strict\";const _=@getByIdDirectPrivate(d,\"controlledReadableStream\");switch(@assert(!@getByIdDirectPrivate(d,\"closeRequested\")),@assert(@getByIdDirectPrivate(_,\"state\")===@streamReadable),@getByIdDirectPrivate(_,\"reader\")\?@readableStreamReaderKind(@getByIdDirectPrivate(_,\"reader\")):0){case 1:{if(!@getByIdDirectPrivate(@getByIdDirectPrivate(_,\"reader\"),\"readRequests\")\?.isNotEmpty())@readableByteStreamControllerEnqueueChunk(d,@transferBufferToCurrentRealm(i.buffer),i.byteOffset,i.byteLength);else{@assert(!@getByIdDirectPrivate(d,\"queue\").content.size());const f=i.constructor===@Uint8Array\?i:new @Uint8Array(i.buffer,i.byteOffset,i.byteLength);@readableStreamFulfillReadRequest(_,f,!1)}break}case 2:{@readableByteStreamControllerEnqueueChunk(d,@transferBufferToCurrentRealm(i.buffer),i.byteOffset,i.byteLength),@readableByteStreamControllerProcessPullDescriptors(d);break}case 3:break;default:{@assert(!@isReadableStreamLocked(_)),@readableByteStreamControllerEnqueueChunk(d,@transferBufferToCurrentRealm(i.buffer),i.byteOffset,i.byteLength);break}}})\n"; +const char* const s_readableByteStreamInternalsReadableByteStreamControllerEnqueueCode = "(function (controller, chunk) {\"use strict\";\n const stream = @getByIdDirectPrivate(controller, \"controlledReadableStream\");\n @assert(!@getByIdDirectPrivate(controller, \"closeRequested\"));\n @assert(@getByIdDirectPrivate(stream, \"state\") === @streamReadable);\n switch (@getByIdDirectPrivate(stream, \"reader\") \? @readableStreamReaderKind(@getByIdDirectPrivate(stream, \"reader\")) : 0) {\n case 1: {\n if (!@getByIdDirectPrivate(@getByIdDirectPrivate(stream, \"reader\"), \"readRequests\")\?.isNotEmpty())\n @readableByteStreamControllerEnqueueChunk(controller, @transferBufferToCurrentRealm(chunk.buffer), chunk.byteOffset, chunk.byteLength);\n else {\n @assert(!@getByIdDirectPrivate(controller, \"queue\").content.size());\n const transferredView = chunk.constructor === @Uint8Array \? chunk : new @Uint8Array(chunk.buffer, chunk.byteOffset, chunk.byteLength);\n @readableStreamFulfillReadRequest(stream, transferredView, false);\n }\n break;\n }\n case 2: {\n @readableByteStreamControllerEnqueueChunk(controller, @transferBufferToCurrentRealm(chunk.buffer), chunk.byteOffset, chunk.byteLength);\n @readableByteStreamControllerProcessPullDescriptors(controller);\n break;\n }\n case 3: {\n break;\n }\n default: {\n @assert(!@isReadableStreamLocked(stream));\n @readableByteStreamControllerEnqueueChunk(controller, @transferBufferToCurrentRealm(chunk.buffer), chunk.byteOffset, chunk.byteLength);\n break;\n }\n }\n})\n"; // readableByteStreamControllerEnqueueChunk const JSC::ConstructAbility s_readableByteStreamInternalsReadableByteStreamControllerEnqueueChunkCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_readableByteStreamInternalsReadableByteStreamControllerEnqueueChunkCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_readableByteStreamInternalsReadableByteStreamControllerEnqueueChunkCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_readableByteStreamInternalsReadableByteStreamControllerEnqueueChunkCodeLength = 160; +const int s_readableByteStreamInternalsReadableByteStreamControllerEnqueueChunkCodeLength = 247; static const JSC::Intrinsic s_readableByteStreamInternalsReadableByteStreamControllerEnqueueChunkCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_readableByteStreamInternalsReadableByteStreamControllerEnqueueChunkCode = "(function (_,d,p,a){\"use strict\";@getByIdDirectPrivate(_,\"queue\").content.push({buffer:d,byteOffset:p,byteLength:a}),@getByIdDirectPrivate(_,\"queue\").size+=a})\n"; +const char* const s_readableByteStreamInternalsReadableByteStreamControllerEnqueueChunkCode = "(function (controller, buffer, byteOffset, byteLength) {\"use strict\";\n @getByIdDirectPrivate(controller, \"queue\").content.push({\n buffer,\n byteOffset,\n byteLength\n });\n @getByIdDirectPrivate(controller, \"queue\").size += byteLength;\n})\n"; // readableByteStreamControllerRespondWithNewView const JSC::ConstructAbility s_readableByteStreamInternalsReadableByteStreamControllerRespondWithNewViewCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_readableByteStreamInternalsReadableByteStreamControllerRespondWithNewViewCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_readableByteStreamInternalsReadableByteStreamControllerRespondWithNewViewCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_readableByteStreamInternalsReadableByteStreamControllerRespondWithNewViewCodeLength = 417; +const int s_readableByteStreamInternalsReadableByteStreamControllerRespondWithNewViewCodeLength = 585; static const JSC::Intrinsic s_readableByteStreamInternalsReadableByteStreamControllerRespondWithNewViewCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_readableByteStreamInternalsReadableByteStreamControllerRespondWithNewViewCode = "(function (d,u){\"use strict\";@assert(@getByIdDirectPrivate(d,\"pendingPullIntos\").isNotEmpty());let a=@getByIdDirectPrivate(d,\"pendingPullIntos\").peek();if(a.byteOffset+a.bytesFilled!==u.byteOffset)@throwRangeError(\"Invalid value for view.byteOffset\");if(a.byteLength!==u.byteLength)@throwRangeError(\"Invalid value for view.byteLength\");a.buffer=u.buffer,@readableByteStreamControllerRespondInternal(d,u.byteLength)})\n"; +const char* const s_readableByteStreamInternalsReadableByteStreamControllerRespondWithNewViewCode = "(function (controller, view) {\"use strict\";\n @assert(@getByIdDirectPrivate(controller, \"pendingPullIntos\").isNotEmpty());\n let firstDescriptor = @getByIdDirectPrivate(controller, \"pendingPullIntos\").peek();\n if (firstDescriptor.byteOffset + firstDescriptor.bytesFilled !== view.byteOffset)\n @throwRangeError(\"Invalid value for view.byteOffset\");\n if (firstDescriptor.byteLength !== view.byteLength)\n @throwRangeError(\"Invalid value for view.byteLength\");\n firstDescriptor.buffer = view.buffer;\n @readableByteStreamControllerRespondInternal(controller, view.byteLength);\n})\n"; // readableByteStreamControllerRespond const JSC::ConstructAbility s_readableByteStreamInternalsReadableByteStreamControllerRespondCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_readableByteStreamInternalsReadableByteStreamControllerRespondCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_readableByteStreamInternalsReadableByteStreamControllerRespondCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_readableByteStreamInternalsReadableByteStreamControllerRespondCodeLength = 247; +const int s_readableByteStreamInternalsReadableByteStreamControllerRespondCodeLength = 398; static const JSC::Intrinsic s_readableByteStreamInternalsReadableByteStreamControllerRespondCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_readableByteStreamInternalsReadableByteStreamControllerRespondCode = "(function (u,_){\"use strict\";if(_=@toNumber(_),_!==_||_===@Infinity||_<0)@throwRangeError(\"bytesWritten has an incorrect value\");@assert(@getByIdDirectPrivate(u,\"pendingPullIntos\").isNotEmpty()),@readableByteStreamControllerRespondInternal(u,_)})\n"; +const char* const s_readableByteStreamInternalsReadableByteStreamControllerRespondCode = "(function (controller, bytesWritten) {\"use strict\";\n bytesWritten = @toNumber(bytesWritten);\n if (bytesWritten !== bytesWritten || bytesWritten === @Infinity || bytesWritten < 0)\n @throwRangeError(\"bytesWritten has an incorrect value\");\n @assert(@getByIdDirectPrivate(controller, \"pendingPullIntos\").isNotEmpty());\n @readableByteStreamControllerRespondInternal(controller, bytesWritten);\n})\n"; // readableByteStreamControllerRespondInternal const JSC::ConstructAbility s_readableByteStreamInternalsReadableByteStreamControllerRespondInternalCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_readableByteStreamInternalsReadableByteStreamControllerRespondInternalCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_readableByteStreamInternalsReadableByteStreamControllerRespondInternalCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_readableByteStreamInternalsReadableByteStreamControllerRespondInternalCodeLength = 464; +const int s_readableByteStreamInternalsReadableByteStreamControllerRespondInternalCodeLength = 673; static const JSC::Intrinsic s_readableByteStreamInternalsReadableByteStreamControllerRespondInternalCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_readableByteStreamInternalsReadableByteStreamControllerRespondInternalCode = "(function (d,u){\"use strict\";let _=@getByIdDirectPrivate(d,\"pendingPullIntos\").peek(),k=@getByIdDirectPrivate(d,\"controlledReadableStream\");if(@getByIdDirectPrivate(k,\"state\")===@streamClosed){if(u!==0)@throwTypeError(\"bytesWritten is different from 0 even though stream is closed\");@readableByteStreamControllerRespondInClosedState(d,_)}else @assert(@getByIdDirectPrivate(k,\"state\")===@streamReadable),@readableByteStreamControllerRespondInReadableState(d,u,_)})\n"; +const char* const s_readableByteStreamInternalsReadableByteStreamControllerRespondInternalCode = "(function (controller, bytesWritten) {\"use strict\";\n let firstDescriptor = @getByIdDirectPrivate(controller, \"pendingPullIntos\").peek();\n let stream = @getByIdDirectPrivate(controller, \"controlledReadableStream\");\n if (@getByIdDirectPrivate(stream, \"state\") === @streamClosed) {\n if (bytesWritten !== 0)\n @throwTypeError(\"bytesWritten is different from 0 even though stream is closed\");\n @readableByteStreamControllerRespondInClosedState(controller, firstDescriptor);\n } else {\n @assert(@getByIdDirectPrivate(stream, \"state\") === @streamReadable);\n @readableByteStreamControllerRespondInReadableState(controller, bytesWritten, firstDescriptor);\n }\n})\n"; // readableByteStreamControllerRespondInReadableState const JSC::ConstructAbility s_readableByteStreamInternalsReadableByteStreamControllerRespondInReadableStateCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_readableByteStreamInternalsReadableByteStreamControllerRespondInReadableStateCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_readableByteStreamInternalsReadableByteStreamControllerRespondInReadableStateCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_readableByteStreamInternalsReadableByteStreamControllerRespondInReadableStateCodeLength = 799; +const int s_readableByteStreamInternalsReadableByteStreamControllerRespondInReadableStateCodeLength = 1383; static const JSC::Intrinsic s_readableByteStreamInternalsReadableByteStreamControllerRespondInReadableStateCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_readableByteStreamInternalsReadableByteStreamControllerRespondInReadableStateCode = "(function (w,_,f){\"use strict\";if(f.bytesFilled+_>f.byteLength)@throwRangeError(\"bytesWritten value is too great\");if(@assert(@getByIdDirectPrivate(w,\"pendingPullIntos\").isEmpty()||@getByIdDirectPrivate(w,\"pendingPullIntos\").peek()===f),@readableByteStreamControllerInvalidateBYOBRequest(w),f.bytesFilled+=_,f.bytesFilled0){const h=f.byteOffset+f.bytesFilled,g=@cloneArrayBuffer(f.buffer,h-R,R);@readableByteStreamControllerEnqueueChunk(w,g,0,g.byteLength)}f.buffer=@transferBufferToCurrentRealm(f.buffer),f.bytesFilled-=R,@readableByteStreamControllerCommitDescriptor(@getByIdDirectPrivate(w,\"controlledReadableStream\"),f),@readableByteStreamControllerProcessPullDescriptors(w)})\n"; +const char* const s_readableByteStreamInternalsReadableByteStreamControllerRespondInReadableStateCode = "(function (controller, bytesWritten, pullIntoDescriptor) {\"use strict\";\n if (pullIntoDescriptor.bytesFilled + bytesWritten > pullIntoDescriptor.byteLength)\n @throwRangeError(\"bytesWritten value is too great\");\n @assert(@getByIdDirectPrivate(controller, \"pendingPullIntos\").isEmpty() || @getByIdDirectPrivate(controller, \"pendingPullIntos\").peek() === pullIntoDescriptor);\n @readableByteStreamControllerInvalidateBYOBRequest(controller);\n pullIntoDescriptor.bytesFilled += bytesWritten;\n if (pullIntoDescriptor.bytesFilled < pullIntoDescriptor.elementSize)\n return;\n @readableByteStreamControllerShiftPendingDescriptor(controller);\n const remainderSize = pullIntoDescriptor.bytesFilled % pullIntoDescriptor.elementSize;\n if (remainderSize > 0) {\n const end = pullIntoDescriptor.byteOffset + pullIntoDescriptor.bytesFilled;\n const remainder = @cloneArrayBuffer(pullIntoDescriptor.buffer, end - remainderSize, remainderSize);\n @readableByteStreamControllerEnqueueChunk(controller, remainder, 0, remainder.byteLength);\n }\n pullIntoDescriptor.buffer = @transferBufferToCurrentRealm(pullIntoDescriptor.buffer);\n pullIntoDescriptor.bytesFilled -= remainderSize;\n @readableByteStreamControllerCommitDescriptor(@getByIdDirectPrivate(controller, \"controlledReadableStream\"), pullIntoDescriptor);\n @readableByteStreamControllerProcessPullDescriptors(controller);\n})\n"; // readableByteStreamControllerRespondInClosedState const JSC::ConstructAbility s_readableByteStreamInternalsReadableByteStreamControllerRespondInClosedStateCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_readableByteStreamInternalsReadableByteStreamControllerRespondInClosedStateCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_readableByteStreamInternalsReadableByteStreamControllerRespondInClosedStateCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_readableByteStreamInternalsReadableByteStreamControllerRespondInClosedStateCodeLength = 502; +const int s_readableByteStreamInternalsReadableByteStreamControllerRespondInClosedStateCodeLength = 695; static const JSC::Intrinsic s_readableByteStreamInternalsReadableByteStreamControllerRespondInClosedStateCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_readableByteStreamInternalsReadableByteStreamControllerRespondInClosedStateCode = "(function (a,_){\"use strict\";if(_.buffer=@transferBufferToCurrentRealm(_.buffer),@assert(_.bytesFilled===0),@readableStreamHasBYOBReader(@getByIdDirectPrivate(a,\"controlledReadableStream\")))while(@getByIdDirectPrivate(@getByIdDirectPrivate(@getByIdDirectPrivate(a,\"controlledReadableStream\"),\"reader\"),\"readIntoRequests\")\?.isNotEmpty()){let d=@readableByteStreamControllerShiftPendingDescriptor(a);@readableByteStreamControllerCommitDescriptor(@getByIdDirectPrivate(a,\"controlledReadableStream\"),d)}})\n"; +const char* const s_readableByteStreamInternalsReadableByteStreamControllerRespondInClosedStateCode = "(function (controller, firstDescriptor) {\"use strict\";\n firstDescriptor.buffer = @transferBufferToCurrentRealm(firstDescriptor.buffer);\n @assert(firstDescriptor.bytesFilled === 0);\n if (@readableStreamHasBYOBReader(@getByIdDirectPrivate(controller, \"controlledReadableStream\"))) {\n while (@getByIdDirectPrivate(@getByIdDirectPrivate(@getByIdDirectPrivate(controller, \"controlledReadableStream\"), \"reader\"), \"readIntoRequests\")\?.isNotEmpty()) {\n let pullIntoDescriptor = @readableByteStreamControllerShiftPendingDescriptor(controller);\n @readableByteStreamControllerCommitDescriptor(@getByIdDirectPrivate(controller, \"controlledReadableStream\"), pullIntoDescriptor);\n }\n }\n})\n"; // readableByteStreamControllerProcessPullDescriptors const JSC::ConstructAbility s_readableByteStreamInternalsReadableByteStreamControllerProcessPullDescriptorsCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_readableByteStreamInternalsReadableByteStreamControllerProcessPullDescriptorsCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_readableByteStreamInternalsReadableByteStreamControllerProcessPullDescriptorsCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_readableByteStreamInternalsReadableByteStreamControllerProcessPullDescriptorsCodeLength = 472; +const int s_readableByteStreamInternalsReadableByteStreamControllerProcessPullDescriptorsCodeLength = 666; static const JSC::Intrinsic s_readableByteStreamInternalsReadableByteStreamControllerProcessPullDescriptorsCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_readableByteStreamInternalsReadableByteStreamControllerProcessPullDescriptorsCode = "(function (d){\"use strict\";@assert(!@getByIdDirectPrivate(d,\"closeRequested\"));while(@getByIdDirectPrivate(d,\"pendingPullIntos\").isNotEmpty()){if(@getByIdDirectPrivate(d,\"queue\").size===0)return;let a=@getByIdDirectPrivate(d,\"pendingPullIntos\").peek();if(@readableByteStreamControllerFillDescriptorFromQueue(d,a))@readableByteStreamControllerShiftPendingDescriptor(d),@readableByteStreamControllerCommitDescriptor(@getByIdDirectPrivate(d,\"controlledReadableStream\"),a)}})\n"; +const char* const s_readableByteStreamInternalsReadableByteStreamControllerProcessPullDescriptorsCode = "(function (controller) {\"use strict\";\n @assert(!@getByIdDirectPrivate(controller, \"closeRequested\"));\n while (@getByIdDirectPrivate(controller, \"pendingPullIntos\").isNotEmpty()) {\n if (@getByIdDirectPrivate(controller, \"queue\").size === 0)\n return;\n let pullIntoDescriptor = @getByIdDirectPrivate(controller, \"pendingPullIntos\").peek();\n if (@readableByteStreamControllerFillDescriptorFromQueue(controller, pullIntoDescriptor)) {\n @readableByteStreamControllerShiftPendingDescriptor(controller);\n @readableByteStreamControllerCommitDescriptor(@getByIdDirectPrivate(controller, \"controlledReadableStream\"), pullIntoDescriptor);\n }\n }\n})\n"; // readableByteStreamControllerFillDescriptorFromQueue const JSC::ConstructAbility s_readableByteStreamInternalsReadableByteStreamControllerFillDescriptorFromQueueCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_readableByteStreamInternalsReadableByteStreamControllerFillDescriptorFromQueueCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_readableByteStreamInternalsReadableByteStreamControllerFillDescriptorFromQueueCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_readableByteStreamInternalsReadableByteStreamControllerFillDescriptorFromQueueCodeLength = 970; +const int s_readableByteStreamInternalsReadableByteStreamControllerFillDescriptorFromQueueCodeLength = 2160; static const JSC::Intrinsic s_readableByteStreamInternalsReadableByteStreamControllerFillDescriptorFromQueueCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_readableByteStreamInternalsReadableByteStreamControllerFillDescriptorFromQueueCode = "(function (q,_){\"use strict\";const H=_.bytesFilled-_.bytesFilled%_.elementSize,z=@getByIdDirectPrivate(q,\"queue\").size<_.byteLength-_.bytesFilled\?@getByIdDirectPrivate(q,\"queue\").size:_.byteLength-_.bytesFilled,E=_.bytesFilled+z,G=E-E%_.elementSize;let v=z,w=!1;if(G>H)v=G-_.bytesFilled,w=!0;while(v>0){let j=@getByIdDirectPrivate(q,\"queue\").content.peek();const k=v0),@assert(_.bytesFilled<_.elementSize);return w})\n"; +const char* const s_readableByteStreamInternalsReadableByteStreamControllerFillDescriptorFromQueueCode = "(function (controller, pullIntoDescriptor) {\"use strict\";\n const currentAlignedBytes = pullIntoDescriptor.bytesFilled - pullIntoDescriptor.bytesFilled % pullIntoDescriptor.elementSize;\n const maxBytesToCopy = @getByIdDirectPrivate(controller, \"queue\").size < pullIntoDescriptor.byteLength - pullIntoDescriptor.bytesFilled \? @getByIdDirectPrivate(controller, \"queue\").size : pullIntoDescriptor.byteLength - pullIntoDescriptor.bytesFilled;\n const maxBytesFilled = pullIntoDescriptor.bytesFilled + maxBytesToCopy;\n const maxAlignedBytes = maxBytesFilled - maxBytesFilled % pullIntoDescriptor.elementSize;\n let totalBytesToCopyRemaining = maxBytesToCopy;\n let ready = false;\n if (maxAlignedBytes > currentAlignedBytes) {\n totalBytesToCopyRemaining = maxAlignedBytes - pullIntoDescriptor.bytesFilled;\n ready = true;\n }\n while (totalBytesToCopyRemaining > 0) {\n let headOfQueue = @getByIdDirectPrivate(controller, \"queue\").content.peek();\n const bytesToCopy = totalBytesToCopyRemaining < headOfQueue.byteLength \? totalBytesToCopyRemaining : headOfQueue.byteLength;\n const destStart = pullIntoDescriptor.byteOffset + pullIntoDescriptor.bytesFilled;\n new @Uint8Array(pullIntoDescriptor.buffer).set(new @Uint8Array(headOfQueue.buffer, headOfQueue.byteOffset, bytesToCopy), destStart);\n if (headOfQueue.byteLength === bytesToCopy)\n @getByIdDirectPrivate(controller, \"queue\").content.shift();\n else {\n headOfQueue.byteOffset += bytesToCopy;\n headOfQueue.byteLength -= bytesToCopy;\n }\n @getByIdDirectPrivate(controller, \"queue\").size -= bytesToCopy;\n @assert(@getByIdDirectPrivate(controller, \"pendingPullIntos\").isEmpty() || @getByIdDirectPrivate(controller, \"pendingPullIntos\").peek() === pullIntoDescriptor);\n @readableByteStreamControllerInvalidateBYOBRequest(controller);\n pullIntoDescriptor.bytesFilled += bytesToCopy;\n totalBytesToCopyRemaining -= bytesToCopy;\n }\n if (!ready) {\n @assert(@getByIdDirectPrivate(controller, \"queue\").size === 0);\n @assert(pullIntoDescriptor.bytesFilled > 0);\n @assert(pullIntoDescriptor.bytesFilled < pullIntoDescriptor.elementSize);\n }\n return ready;\n})\n"; // readableByteStreamControllerShiftPendingDescriptor const JSC::ConstructAbility s_readableByteStreamInternalsReadableByteStreamControllerShiftPendingDescriptorCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_readableByteStreamInternalsReadableByteStreamControllerShiftPendingDescriptorCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_readableByteStreamInternalsReadableByteStreamControllerShiftPendingDescriptorCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_readableByteStreamInternalsReadableByteStreamControllerShiftPendingDescriptorCodeLength = 150; +const int s_readableByteStreamInternalsReadableByteStreamControllerShiftPendingDescriptorCodeLength = 210; static const JSC::Intrinsic s_readableByteStreamInternalsReadableByteStreamControllerShiftPendingDescriptorCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_readableByteStreamInternalsReadableByteStreamControllerShiftPendingDescriptorCode = "(function (u){\"use strict\";let _=@getByIdDirectPrivate(u,\"pendingPullIntos\").shift();return @readableByteStreamControllerInvalidateBYOBRequest(u),_})\n"; +const char* const s_readableByteStreamInternalsReadableByteStreamControllerShiftPendingDescriptorCode = "(function (controller) {\"use strict\";\n let descriptor = @getByIdDirectPrivate(controller, \"pendingPullIntos\").shift();\n @readableByteStreamControllerInvalidateBYOBRequest(controller);\n return descriptor;\n})\n"; // readableByteStreamControllerInvalidateBYOBRequest const JSC::ConstructAbility s_readableByteStreamInternalsReadableByteStreamControllerInvalidateBYOBRequestCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_readableByteStreamInternalsReadableByteStreamControllerInvalidateBYOBRequestCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_readableByteStreamInternalsReadableByteStreamControllerInvalidateBYOBRequestCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_readableByteStreamInternalsReadableByteStreamControllerInvalidateBYOBRequestCodeLength = 308; +const int s_readableByteStreamInternalsReadableByteStreamControllerInvalidateBYOBRequestCodeLength = 410; static const JSC::Intrinsic s_readableByteStreamInternalsReadableByteStreamControllerInvalidateBYOBRequestCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_readableByteStreamInternalsReadableByteStreamControllerInvalidateBYOBRequestCode = "(function (d){\"use strict\";if(@getByIdDirectPrivate(d,\"byobRequest\")===@undefined)return;const P=@getByIdDirectPrivate(d,\"byobRequest\");@putByIdDirectPrivate(P,\"associatedReadableByteStreamController\",@undefined),@putByIdDirectPrivate(P,\"view\",@undefined),@putByIdDirectPrivate(d,\"byobRequest\",@undefined)})\n"; +const char* const s_readableByteStreamInternalsReadableByteStreamControllerInvalidateBYOBRequestCode = "(function (controller) {\"use strict\";\n if (@getByIdDirectPrivate(controller, \"byobRequest\") === @undefined)\n return;\n const byobRequest = @getByIdDirectPrivate(controller, \"byobRequest\");\n @putByIdDirectPrivate(byobRequest, \"associatedReadableByteStreamController\", @undefined);\n @putByIdDirectPrivate(byobRequest, \"view\", @undefined);\n @putByIdDirectPrivate(controller, \"byobRequest\", @undefined);\n})\n"; // readableByteStreamControllerCommitDescriptor const JSC::ConstructAbility s_readableByteStreamInternalsReadableByteStreamControllerCommitDescriptorCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_readableByteStreamInternalsReadableByteStreamControllerCommitDescriptorCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_readableByteStreamInternalsReadableByteStreamControllerCommitDescriptorCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_readableByteStreamInternalsReadableByteStreamControllerCommitDescriptorCodeLength = 386; +const int s_readableByteStreamInternalsReadableByteStreamControllerCommitDescriptorCodeLength = 620; static const JSC::Intrinsic s_readableByteStreamInternalsReadableByteStreamControllerCommitDescriptorCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_readableByteStreamInternalsReadableByteStreamControllerCommitDescriptorCode = "(function (_,b){\"use strict\";@assert(@getByIdDirectPrivate(_,\"state\")!==@streamErrored);let g=!1;if(@getByIdDirectPrivate(_,\"state\")===@streamClosed)@assert(!b.bytesFilled),g=!0;let h=@readableByteStreamControllerConvertDescriptor(b);if(b.readerType===\"default\")@readableStreamFulfillReadRequest(_,h,g);else @assert(b.readerType===\"byob\"),@readableStreamFulfillReadIntoRequest(_,h,g)})\n"; +const char* const s_readableByteStreamInternalsReadableByteStreamControllerCommitDescriptorCode = "(function (stream, pullIntoDescriptor) {\"use strict\";\n @assert(@getByIdDirectPrivate(stream, \"state\") !== @streamErrored);\n let done = false;\n if (@getByIdDirectPrivate(stream, \"state\") === @streamClosed) {\n @assert(!pullIntoDescriptor.bytesFilled);\n done = true;\n }\n let filledView = @readableByteStreamControllerConvertDescriptor(pullIntoDescriptor);\n if (pullIntoDescriptor.readerType === \"default\")\n @readableStreamFulfillReadRequest(stream, filledView, done);\n else {\n @assert(pullIntoDescriptor.readerType === \"byob\");\n @readableStreamFulfillReadIntoRequest(stream, filledView, done);\n }\n})\n"; // readableByteStreamControllerConvertDescriptor const JSC::ConstructAbility s_readableByteStreamInternalsReadableByteStreamControllerConvertDescriptorCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_readableByteStreamInternalsReadableByteStreamControllerConvertDescriptorCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_readableByteStreamInternalsReadableByteStreamControllerConvertDescriptorCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_readableByteStreamInternalsReadableByteStreamControllerConvertDescriptorCodeLength = 176; +const int s_readableByteStreamInternalsReadableByteStreamControllerConvertDescriptorCodeLength = 368; static const JSC::Intrinsic s_readableByteStreamInternalsReadableByteStreamControllerConvertDescriptorCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_readableByteStreamInternalsReadableByteStreamControllerConvertDescriptorCode = "(function (_){\"use strict\";return @assert(_.bytesFilled<=_.byteLength),@assert(_.bytesFilled%_.elementSize===0),new _.ctor(_.buffer,_.byteOffset,_.bytesFilled/_.elementSize)})\n"; +const char* const s_readableByteStreamInternalsReadableByteStreamControllerConvertDescriptorCode = "(function (pullIntoDescriptor) {\"use strict\";\n @assert(pullIntoDescriptor.bytesFilled <= pullIntoDescriptor.byteLength);\n @assert(pullIntoDescriptor.bytesFilled % pullIntoDescriptor.elementSize === 0);\n return new pullIntoDescriptor.ctor(pullIntoDescriptor.buffer, pullIntoDescriptor.byteOffset, pullIntoDescriptor.bytesFilled / pullIntoDescriptor.elementSize);\n})\n"; // readableStreamFulfillReadIntoRequest const JSC::ConstructAbility s_readableByteStreamInternalsReadableStreamFulfillReadIntoRequestCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_readableByteStreamInternalsReadableStreamFulfillReadIntoRequestCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_readableByteStreamInternalsReadableStreamFulfillReadIntoRequestCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_readableByteStreamInternalsReadableStreamFulfillReadIntoRequestCodeLength = 161; +const int s_readableByteStreamInternalsReadableStreamFulfillReadIntoRequestCodeLength = 228; static const JSC::Intrinsic s_readableByteStreamInternalsReadableStreamFulfillReadIntoRequestCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_readableByteStreamInternalsReadableStreamFulfillReadIntoRequestCode = "(function (l,i,p){\"use strict\";const _=@getByIdDirectPrivate(@getByIdDirectPrivate(l,\"reader\"),\"readIntoRequests\").shift();@fulfillPromise(_,{value:i,done:p})})\n"; +const char* const s_readableByteStreamInternalsReadableStreamFulfillReadIntoRequestCode = "(function (stream, chunk, done) {\"use strict\";\n const readIntoRequest = @getByIdDirectPrivate(@getByIdDirectPrivate(stream, \"reader\"), \"readIntoRequests\").shift();\n @fulfillPromise(readIntoRequest, { value: chunk, done });\n})\n"; // readableStreamBYOBReaderRead const JSC::ConstructAbility s_readableByteStreamInternalsReadableStreamBYOBReaderReadCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_readableByteStreamInternalsReadableStreamBYOBReaderReadCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_readableByteStreamInternalsReadableStreamBYOBReaderReadCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_readableByteStreamInternalsReadableStreamBYOBReaderReadCodeLength = 356; +const int s_readableByteStreamInternalsReadableStreamBYOBReaderReadCodeLength = 440; static const JSC::Intrinsic s_readableByteStreamInternalsReadableStreamBYOBReaderReadCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_readableByteStreamInternalsReadableStreamBYOBReaderReadCode = "(function (c,l){\"use strict\";const o=@getByIdDirectPrivate(c,\"ownerReadableStream\");if(@assert(!!o),@putByIdDirectPrivate(o,\"disturbed\",!0),@getByIdDirectPrivate(o,\"state\")===@streamErrored)return @Promise.@reject(@getByIdDirectPrivate(o,\"storedError\"));return @readableByteStreamControllerPullInto(@getByIdDirectPrivate(o,\"readableStreamController\"),l)})\n"; +const char* const s_readableByteStreamInternalsReadableStreamBYOBReaderReadCode = "(function (reader, view) {\"use strict\";\n const stream = @getByIdDirectPrivate(reader, \"ownerReadableStream\");\n @assert(!!stream);\n @putByIdDirectPrivate(stream, \"disturbed\", true);\n if (@getByIdDirectPrivate(stream, \"state\") === @streamErrored)\n return @Promise.@reject(@getByIdDirectPrivate(stream, \"storedError\"));\n return @readableByteStreamControllerPullInto(@getByIdDirectPrivate(stream, \"readableStreamController\"), view);\n})\n"; // readableByteStreamControllerPullInto const JSC::ConstructAbility s_readableByteStreamInternalsReadableByteStreamControllerPullIntoCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_readableByteStreamInternalsReadableByteStreamControllerPullIntoCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_readableByteStreamInternalsReadableByteStreamControllerPullIntoCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_readableByteStreamInternalsReadableByteStreamControllerPullIntoCodeLength = 1255; +const int s_readableByteStreamInternalsReadableByteStreamControllerPullIntoCodeLength = 1926; static const JSC::Intrinsic s_readableByteStreamInternalsReadableByteStreamControllerPullIntoCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_readableByteStreamInternalsReadableByteStreamControllerPullIntoCode = "(function (b,d){\"use strict\";const A=@getByIdDirectPrivate(b,\"controlledReadableStream\");let E=1;if(d.BYTES_PER_ELEMENT!==@undefined)E=d.BYTES_PER_ELEMENT;const L=d.constructor,_={buffer:d.buffer,byteOffset:d.byteOffset,byteLength:d.byteLength,bytesFilled:0,elementSize:E,ctor:L,readerType:\"byob\"};var N=@getByIdDirectPrivate(b,\"pendingPullIntos\");if(N\?.isNotEmpty())return _.buffer=@transferBufferToCurrentRealm(_.buffer),N.push(_),@readableStreamAddReadIntoRequest(A);if(@getByIdDirectPrivate(A,\"state\")===@streamClosed){const k=new L(_.buffer,_.byteOffset,0);return @createFulfilledPromise({value:k,done:!0})}if(@getByIdDirectPrivate(b,\"queue\").size>0){if(@readableByteStreamControllerFillDescriptorFromQueue(b,_)){const k=@readableByteStreamControllerConvertDescriptor(_);return @readableByteStreamControllerHandleQueueDrain(b),@createFulfilledPromise({value:k,done:!1})}if(@getByIdDirectPrivate(b,\"closeRequested\")){const k=@makeTypeError(\"Closing stream has been requested\");return @readableByteStreamControllerError(b,k),@Promise.@reject(k)}}_.buffer=@transferBufferToCurrentRealm(_.buffer),@getByIdDirectPrivate(b,\"pendingPullIntos\").push(_);const R=@readableStreamAddReadIntoRequest(A);return @readableByteStreamControllerCallPullIfNeeded(b),R})\n"; +const char* const s_readableByteStreamInternalsReadableByteStreamControllerPullIntoCode = "(function (controller, view) {\"use strict\";\n const stream = @getByIdDirectPrivate(controller, \"controlledReadableStream\");\n let elementSize = 1;\n if (view.BYTES_PER_ELEMENT !== @undefined)\n elementSize = view.BYTES_PER_ELEMENT;\n const ctor = view.constructor;\n const pullIntoDescriptor = {\n buffer: view.buffer,\n byteOffset: view.byteOffset,\n byteLength: view.byteLength,\n bytesFilled: 0,\n elementSize,\n ctor,\n readerType: \"byob\"\n };\n var pending = @getByIdDirectPrivate(controller, \"pendingPullIntos\");\n if (pending\?.isNotEmpty()) {\n pullIntoDescriptor.buffer = @transferBufferToCurrentRealm(pullIntoDescriptor.buffer);\n pending.push(pullIntoDescriptor);\n return @readableStreamAddReadIntoRequest(stream);\n }\n if (@getByIdDirectPrivate(stream, \"state\") === @streamClosed) {\n const emptyView = new ctor(pullIntoDescriptor.buffer, pullIntoDescriptor.byteOffset, 0);\n return @createFulfilledPromise({ value: emptyView, done: true });\n }\n if (@getByIdDirectPrivate(controller, \"queue\").size > 0) {\n if (@readableByteStreamControllerFillDescriptorFromQueue(controller, pullIntoDescriptor)) {\n const filledView = @readableByteStreamControllerConvertDescriptor(pullIntoDescriptor);\n @readableByteStreamControllerHandleQueueDrain(controller);\n return @createFulfilledPromise({ value: filledView, done: false });\n }\n if (@getByIdDirectPrivate(controller, \"closeRequested\")) {\n const e = @makeTypeError(\"Closing stream has been requested\");\n @readableByteStreamControllerError(controller, e);\n return @Promise.@reject(e);\n }\n }\n pullIntoDescriptor.buffer = @transferBufferToCurrentRealm(pullIntoDescriptor.buffer);\n @getByIdDirectPrivate(controller, \"pendingPullIntos\").push(pullIntoDescriptor);\n const promise = @readableStreamAddReadIntoRequest(stream);\n @readableByteStreamControllerCallPullIfNeeded(controller);\n return promise;\n})\n"; // readableStreamAddReadIntoRequest const JSC::ConstructAbility s_readableByteStreamInternalsReadableStreamAddReadIntoRequestCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_readableByteStreamInternalsReadableStreamAddReadIntoRequestCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_readableByteStreamInternalsReadableStreamAddReadIntoRequestCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_readableByteStreamInternalsReadableStreamAddReadIntoRequestCodeLength = 326; +const int s_readableByteStreamInternalsReadableStreamAddReadIntoRequestCodeLength = 412; static const JSC::Intrinsic s_readableByteStreamInternalsReadableStreamAddReadIntoRequestCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_readableByteStreamInternalsReadableStreamAddReadIntoRequestCode = "(function (i){\"use strict\";@assert(@isReadableStreamBYOBReader(@getByIdDirectPrivate(i,\"reader\"))),@assert(@getByIdDirectPrivate(i,\"state\")===@streamReadable||@getByIdDirectPrivate(i,\"state\")===@streamClosed);const _=@newPromise();return @getByIdDirectPrivate(@getByIdDirectPrivate(i,\"reader\"),\"readIntoRequests\").push(_),_})\n"; +const char* const s_readableByteStreamInternalsReadableStreamAddReadIntoRequestCode = "(function (stream) {\"use strict\";\n @assert(@isReadableStreamBYOBReader(@getByIdDirectPrivate(stream, \"reader\")));\n @assert(@getByIdDirectPrivate(stream, \"state\") === @streamReadable || @getByIdDirectPrivate(stream, \"state\") === @streamClosed);\n const readRequest = @newPromise();\n @getByIdDirectPrivate(@getByIdDirectPrivate(stream, \"reader\"), \"readIntoRequests\").push(readRequest);\n return readRequest;\n})\n"; #define DEFINE_BUILTIN_GENERATOR(codeName, functionName, overriddenName, argumentCount) \ JSC::FunctionExecutable* codeName##Generator(JSC::VM& vm) \ @@ -2958,17 +2972,17 @@ WEBCORE_FOREACH_READABLEBYTESTREAMINTERNALS_BUILTIN_CODE(DEFINE_BUILTIN_GENERATO const JSC::ConstructAbility s_writableStreamDefaultControllerInitializeWritableStreamDefaultControllerCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_writableStreamDefaultControllerInitializeWritableStreamDefaultControllerCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_writableStreamDefaultControllerInitializeWritableStreamDefaultControllerCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_writableStreamDefaultControllerInitializeWritableStreamDefaultControllerCodeLength = 368; +const int s_writableStreamDefaultControllerInitializeWritableStreamDefaultControllerCodeLength = 446; static const JSC::Intrinsic s_writableStreamDefaultControllerInitializeWritableStreamDefaultControllerCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_writableStreamDefaultControllerInitializeWritableStreamDefaultControllerCode = "(function (){\"use strict\";return @putByIdDirectPrivate(this,\"queue\",@newQueue()),@putByIdDirectPrivate(this,\"abortSteps\",(_)=>{const u=@getByIdDirectPrivate(this,\"abortAlgorithm\").@call(@undefined,_);return @writableStreamDefaultControllerClearAlgorithms(this),u}),@putByIdDirectPrivate(this,\"errorSteps\",()=>{@resetQueue(@getByIdDirectPrivate(this,\"queue\"))}),this})\n"; +const char* const s_writableStreamDefaultControllerInitializeWritableStreamDefaultControllerCode = "(function () {\"use strict\";\n @putByIdDirectPrivate(this, \"queue\", @newQueue());\n @putByIdDirectPrivate(this, \"abortSteps\", (reason) => {\n const result = @getByIdDirectPrivate(this, \"abortAlgorithm\").@call(@undefined, reason);\n @writableStreamDefaultControllerClearAlgorithms(this);\n return result;\n });\n @putByIdDirectPrivate(this, \"errorSteps\", () => {\n @resetQueue(@getByIdDirectPrivate(this, \"queue\"));\n });\n return this;\n})\n"; // error const JSC::ConstructAbility s_writableStreamDefaultControllerErrorCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_writableStreamDefaultControllerErrorCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_writableStreamDefaultControllerErrorCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_writableStreamDefaultControllerErrorCodeLength = 301; +const int s_writableStreamDefaultControllerErrorCodeLength = 349; static const JSC::Intrinsic s_writableStreamDefaultControllerErrorCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_writableStreamDefaultControllerErrorCode = "(function (r){\"use strict\";if(@getByIdDirectPrivate(this,\"abortSteps\")===@undefined)throw @makeThisTypeError(\"WritableStreamDefaultController\",\"error\");const t=@getByIdDirectPrivate(this,\"stream\");if(@getByIdDirectPrivate(t,\"state\")!==\"writable\")return;@writableStreamDefaultControllerError(this,r)})\n"; +const char* const s_writableStreamDefaultControllerErrorCode = "(function (e) {\"use strict\";\n if (@getByIdDirectPrivate(this, \"abortSteps\") === @undefined)\n throw @makeThisTypeError(\"WritableStreamDefaultController\", \"error\");\n const stream = @getByIdDirectPrivate(this, \"stream\");\n if (@getByIdDirectPrivate(stream, \"state\") !== \"writable\")\n return;\n @writableStreamDefaultControllerError(this, e);\n})\n"; #define DEFINE_BUILTIN_GENERATOR(codeName, functionName, overriddenName, argumentCount) \ JSC::FunctionExecutable* codeName##Generator(JSC::VM& vm) \ @@ -2984,9 +2998,9 @@ WEBCORE_FOREACH_WRITABLESTREAMDEFAULTCONTROLLER_BUILTIN_CODE(DEFINE_BUILTIN_GENE const JSC::ConstructAbility s_eventSourceGetEventSourceCodeConstructAbility = JSC::ConstructAbility::CannotConstruct; const JSC::ConstructorKind s_eventSourceGetEventSourceCodeConstructorKind = JSC::ConstructorKind::None; const JSC::ImplementationVisibility s_eventSourceGetEventSourceCodeImplementationVisibility = JSC::ImplementationVisibility::Public; -const int s_eventSourceGetEventSourceCodeLength = 5469; +const int s_eventSourceGetEventSourceCodeLength = 13858; static const JSC::Intrinsic s_eventSourceGetEventSourceCodeIntrinsic = JSC::NoIntrinsic; -const char* const s_eventSourceGetEventSourceCode = "(function (){\"use strict\";class A extends EventTarget{#j;#$;#F;#G;#J;#K=!1;#U=null;#w=\"\";#M=\"\";#O=\"\";#Q=!0;#A=0;#B=0;#X=0;#L=null;static#V(w){w.#H()}static#Y(w,U){const L=w.data,j=L.#O\?`Last-Event-ID: ${L.#O}\\r\\n`:\"\",G=`GET ${U.pathname}${U.search} HTTP/1.1\\r\\nHost: bun\\r\\nContent-type: text/event-stream\\r\\nContent-length: 0\\r\\n${j}\\r\\n`,F=w.write(G);if(F!==G.length)L.#M=G.substring(F)}static#Z(w,U,L){for(;;){if(L>=U.length)return;let j=-1,G=U.indexOf(\"\\r\\n\",L);const F=G+2;if(G>0)if(w.#A===0){const B=parseInt(U.substring(L,G),16);if(B===0){w.#$=2,w.#U\?.end();return}j=F+B}else j=U.length;else{if(w.#w.length===0){w.#w+=U.substring(L);return}j=U.length}let K=U.substring(F,j);L=j+2;let Z=0,J=K.indexOf(\"\\n\\n\");if(J==-1){w.#w+=U.substring(F);return}if(w.#w.length)w.#w+=K,K=w.#w,w.#w=\"\";let X=!0;while(X){const B=K.substring(Z,J);let Y,M=\"\",O,W=0,Q=-1;for(;;){let z=B.indexOf(\"\\n\",W);if(z===-1){if(W>=B.length)break;z=B.length}const V=B.substring(W,z);if(V.startsWith(\"data:\"))if(M.length)M+=`\\n${V.substring(5).trim()}`;else M=V.substring(5).trim();else if(V.startsWith(\"event:\"))Y=V.substring(6).trim();else if(V.startsWith(\"id:\"))O=V.substring(3).trim();else if(V.startsWith(\"retry:\")){if(Q=parseInt(V.substring(6).trim(),10),Q!==Q)Q=-1}W=z+1}if(w.#O=O||\"\",Q>=0)w.#X=Q;if(M||O||Y)w.dispatchEvent(new MessageEvent(Y||\"message\",{data:M||\"\",origin:w.#j.origin,source:w,lastEventId:O}));if(K.length===J+2){X=!1;break}const H=K.indexOf(\"\\n\\n\",J+1);if(H===-1)break;Z=J,J=H}}}static#z={open(w){const U=w.data;if(U.#U=w,!U.#K)A.#Y(w,U.#j)},handshake(w,U,L){const j=w.data;if(U)A.#Y(w,j.#j);else j.#$=2,j.dispatchEvent(new ErrorEvent(\"error\",{error:L})),w.end()},data(w,U){const L=w.data;switch(L.#$){case 0:{let j=U.toString();const G=j.indexOf(\"\\r\\n\\r\\n\");if(G===-1){L.#w+=j;return}if(L.#w.length)L.#w+=j,j=L.#w,L.#w=\"\";const F=j.substring(0,G),K=F.indexOf(\"\\r\\n\");if(K===-1){L.#$=2,L.dispatchEvent(new ErrorEvent(\"error\",{error:new Error(\"Invalid HTTP request\")})),w.end();return}const Z=F.substring(0,K);if(Z!==\"HTTP/1.1 200 OK\"){L.#$=2,L.dispatchEvent(new ErrorEvent(\"error\",{error:new Error(Z)})),w.end();return}let J=K+1,X=!1,B=-1;for(;;){let M=F.indexOf(\"\\r\\n\",J);if(M===-1){if(J>=F.length){if(!X)L.#$=2,L.dispatchEvent(new ErrorEvent(\"error\",{error:new Error(`EventSource's response has no MIME type and \"text/event-stream\" is required. Aborting the connection.`)})),w.end();return}M=F.length}const O=F.substring(J+1,M),W=O.indexOf(\":\"),Q=O.substring(0,W),H=Q.localeCompare(\"content-type\",@undefined,{sensitivity:\"accent\"})===0;if(J=M+1,H)if(O.endsWith(\" text/event-stream\"))X=!0;else{L.#$=2,L.dispatchEvent(new ErrorEvent(\"error\",{error:new Error(`EventSource's response has a MIME type that is not \"text/event-stream\". Aborting the connection.`)})),w.end();return}else if(Q.localeCompare(\"content-length\",@undefined,{sensitivity:\"accent\"})===0){if(B=parseInt(O.substring(W+1).trim(),10),B!==B||B<=0){L.dispatchEvent(new ErrorEvent(\"error\",{error:new Error(\"EventSource's Content-Length is invalid. Aborting the connection.\")})),w.end();return}if(X)break}else if(Q.localeCompare(\"transfer-encoding\",@undefined,{sensitivity:\"accent\"})===0){if(O.substring(W+1).trim()!==\"chunked\"){L.dispatchEvent(new ErrorEvent(\"error\",{error:new Error(\"EventSource's Transfer-Encoding is invalid. Aborting the connection.\")})),w.end();return}if(B=0,X)break}}L.#A=B,L.#$=1,L.dispatchEvent(new Event(\"open\"));const Y=j.substring(G+4);if(A.#Z(L,Y,0),L.#A>0){if(L.#B+=Y.length,L.#B>=L.#A)L.#$=2,w.end()}return}case 1:if(A.#Z(L,U.toString(),2),L.#A>0){if(L.#B+=U.byteLength,L.#B>=L.#A)L.#$=2,w.end()}return;default:break}},drain(w){const U=w.data;if(U.#$===0){const L=U.#w;if(L.length){const j=w.write(L);if(j!==L.length)w.data.#M=L.substring(j);else w.data.#M=\"\"}}},close:A.#W,end(w){A.#W(w).dispatchEvent(new ErrorEvent(\"error\",{error:new Error(\"Connection closed by server\")}))},timeout(w){A.#W(w).dispatchEvent(new ErrorEvent(\"error\",{error:new Error(\"Timeout\")}))},binaryType:\"buffer\"};static#W(w){const U=w.data;if(U.#U=null,U.#B=0,U.#$=2,U.#Q){if(U.#L)clearTimeout(U.#L);U.#L=setTimeout(A.#V,U.#X,U)}return U}constructor(w,U=@undefined){super();const L=new URL(w);this.#K=L.protocol===\"https:\",this.#j=L,this.#$=2,process.nextTick(A.#V,this)}ref(){this.#L\?.ref(),this.#U\?.ref()}unref(){this.#L\?.unref(),this.#U\?.unref()}#H(){if(this.#$!==2)return;const w=this.#j,U=this.#K;this.#$=0,@Bun.connect({data:this,socket:A.#z,hostname:w.hostname,port:parseInt(w.port||(U\?\"443\":\"80\"),10),tls:U\?{requestCert:!0,rejectUnauthorized:!1}:!1}).catch((L)=>{if(super.dispatchEvent(new ErrorEvent(\"error\",{error:L})),this.#Q){if(this.#L)this.#L.unref\?.();this.#L=setTimeout(A.#V,1000,this)}})}get url(){return this.#j.href}get readyState(){return this.#$}close(){this.#Q=!1,this.#$=2,this.#U\?.unref(),this.#U\?.end()}get onopen(){return this.#J}get onerror(){return this.#F}get onmessage(){return this.#G}set onopen(w){if(this.#J)super.removeEventListener(\"close\",this.#J);super.addEventListener(\"open\",w),this.#J=w}set onerror(w){if(this.#F)super.removeEventListener(\"error\",this.#F);super.addEventListener(\"error\",w),this.#F=w}set onmessage(w){if(this.#G)super.removeEventListener(\"message\",this.#G);super.addEventListener(\"message\",w),this.#G=w}}return Object.defineProperty(A.prototype,\"CONNECTING\",{enumerable:!0,value:0}),Object.defineProperty(A.prototype,\"OPEN\",{enumerable:!0,value:1}),Object.defineProperty(A.prototype,\"CLOSED\",{enumerable:!0,value:2}),A[Symbol.for(\"CommonJS\")]=0,A})\n"; +const char* const s_eventSourceGetEventSourceCode = "(function () {\"use strict\";\n\n class EventSource extends EventTarget {\n #url;\n #state;\n #onerror;\n #onmessage;\n #onopen;\n #is_tls = false;\n #socket = null;\n #data_buffer = \"\";\n #send_buffer = \"\";\n #lastEventID = \"\";\n #reconnect = true;\n #content_length = 0;\n #received_length = 0;\n #reconnection_time = 0;\n #reconnection_timer = null;\n static #ConnectNextTick(self) {\n self.#connect();\n }\n static #SendRequest(socket, url) {\n const self = socket.data;\n const last_event_header = self.#lastEventID \? `Last-Event-ID: ${self.#lastEventID}\\r\\n` : \"\";\n const request = `GET ${url.pathname}${url.search} HTTP/1.1\\r\\nHost: bun\\r\\nContent-type: text/event-stream\\r\\nContent-length: 0\\r\\n${last_event_header}\\r\\n`;\n const sended = socket.write(request);\n if (sended !== request.length) {\n self.#send_buffer = request.substring(sended);\n }\n }\n static #ProcessChunk(self, chunks, offset) {\n for (;; ) {\n if (offset >= chunks.length) {\n return;\n }\n let chunk_end_idx = -1;\n let start_idx = chunks.indexOf(\"\\r\\n\", offset);\n const chunk_start_idx = start_idx + 2;\n if (start_idx > 0) {\n if (self.#content_length === 0) {\n const chunk_size = parseInt(chunks.substring(offset, start_idx), 16);\n if (chunk_size === 0) {\n self.#state = 2;\n self.#socket\?.end();\n return;\n }\n chunk_end_idx = chunk_start_idx + chunk_size;\n } else {\n chunk_end_idx = chunks.length;\n }\n } else {\n if (self.#data_buffer.length === 0) {\n self.#data_buffer += chunks.substring(offset);\n return;\n }\n chunk_end_idx = chunks.length;\n }\n let chunk = chunks.substring(chunk_start_idx, chunk_end_idx);\n offset = chunk_end_idx + 2;\n let chunk_offset = 0;\n let event_idx = chunk.indexOf(\"\\n\\n\");\n if (event_idx == -1) {\n self.#data_buffer += chunks.substring(chunk_start_idx);\n return;\n }\n if (self.#data_buffer.length) {\n self.#data_buffer += chunk;\n chunk = self.#data_buffer;\n self.#data_buffer = \"\";\n }\n let more_events = true;\n while (more_events) {\n const event_data = chunk.substring(chunk_offset, event_idx);\n let type;\n let data = \"\";\n let id;\n let event_line_idx = 0;\n let retry = -1;\n for (;; ) {\n let idx = event_data.indexOf(\"\\n\", event_line_idx);\n if (idx === -1) {\n if (event_line_idx >= event_data.length) {\n break;\n }\n idx = event_data.length;\n }\n const line = event_data.substring(event_line_idx, idx);\n if (line.startsWith(\"data:\")) {\n if (data.length) {\n data += `\\n${line.substring(5).trim()}`;\n } else {\n data = line.substring(5).trim();\n }\n } else if (line.startsWith(\"event:\")) {\n type = line.substring(6).trim();\n } else if (line.startsWith(\"id:\")) {\n id = line.substring(3).trim();\n } else if (line.startsWith(\"retry:\")) {\n retry = parseInt(line.substring(6).trim(), 10);\n if (retry !== retry) {\n retry = -1;\n }\n }\n event_line_idx = idx + 1;\n }\n self.#lastEventID = id || \"\";\n if (retry >= 0) {\n self.#reconnection_time = retry;\n }\n if (data || id || type) {\n self.dispatchEvent(new MessageEvent(type || \"message\", {\n data: data || \"\",\n origin: self.#url.origin,\n source: self,\n lastEventId: id\n }));\n }\n if (chunk.length === event_idx + 2) {\n more_events = false;\n break;\n }\n const next_event_idx = chunk.indexOf(\"\\n\\n\", event_idx + 1);\n if (next_event_idx === -1) {\n break;\n }\n chunk_offset = event_idx;\n event_idx = next_event_idx;\n }\n }\n }\n static #Handlers = {\n open(socket) {\n const self = socket.data;\n self.#socket = socket;\n if (!self.#is_tls) {\n EventSource.#SendRequest(socket, self.#url);\n }\n },\n handshake(socket, success, verifyError) {\n const self = socket.data;\n if (success) {\n EventSource.#SendRequest(socket, self.#url);\n } else {\n self.#state = 2;\n self.dispatchEvent(new ErrorEvent(\"error\", { error: verifyError }));\n socket.end();\n }\n },\n data(socket, buffer) {\n const self = socket.data;\n switch (self.#state) {\n case 0: {\n let text = buffer.toString();\n const headers_idx = text.indexOf(\"\\r\\n\\r\\n\");\n if (headers_idx === -1) {\n self.#data_buffer += text;\n return;\n }\n if (self.#data_buffer.length) {\n self.#data_buffer += text;\n text = self.#data_buffer;\n self.#data_buffer = \"\";\n }\n const headers = text.substring(0, headers_idx);\n const status_idx = headers.indexOf(\"\\r\\n\");\n if (status_idx === -1) {\n self.#state = 2;\n self.dispatchEvent(new ErrorEvent(\"error\", { error: new Error(\"Invalid HTTP request\") }));\n socket.end();\n return;\n }\n const status = headers.substring(0, status_idx);\n if (status !== \"HTTP/1.1 200 OK\") {\n self.#state = 2;\n self.dispatchEvent(new ErrorEvent(\"error\", { error: new Error(status) }));\n socket.end();\n return;\n }\n let start_idx = status_idx + 1;\n let mime_type_ok = false;\n let content_length = -1;\n for (;; ) {\n let header_idx = headers.indexOf(\"\\r\\n\", start_idx);\n if (header_idx === -1) {\n if (start_idx >= headers.length) {\n if (!mime_type_ok) {\n self.#state = 2;\n self.dispatchEvent(new ErrorEvent(\"error\", {\n error: new Error(`EventSource's response has no MIME type and \"text/event-stream\" is required. Aborting the connection.`)\n }));\n socket.end();\n }\n return;\n }\n header_idx = headers.length;\n }\n const header = headers.substring(start_idx + 1, header_idx);\n const header_name_idx = header.indexOf(\":\");\n const header_name = header.substring(0, header_name_idx);\n const is_content_type = header_name.localeCompare(\"content-type\", @undefined, { sensitivity: \"accent\" }) === 0;\n start_idx = header_idx + 1;\n if (is_content_type) {\n if (header.endsWith(\" text/event-stream\")) {\n mime_type_ok = true;\n } else {\n self.#state = 2;\n self.dispatchEvent(new ErrorEvent(\"error\", {\n error: new Error(`EventSource's response has a MIME type that is not \"text/event-stream\". Aborting the connection.`)\n }));\n socket.end();\n return;\n }\n } else {\n const is_content_length = header_name.localeCompare(\"content-length\", @undefined, { sensitivity: \"accent\" }) === 0;\n if (is_content_length) {\n content_length = parseInt(header.substring(header_name_idx + 1).trim(), 10);\n if (content_length !== content_length || content_length <= 0) {\n self.dispatchEvent(new ErrorEvent(\"error\", {\n error: new Error(`EventSource's Content-Length is invalid. Aborting the connection.`)\n }));\n socket.end();\n return;\n }\n if (mime_type_ok) {\n break;\n }\n } else {\n const is_transfer_encoding = header_name.localeCompare(\"transfer-encoding\", @undefined, { sensitivity: \"accent\" }) === 0;\n if (is_transfer_encoding) {\n if (header.substring(header_name_idx + 1).trim() !== \"chunked\") {\n self.dispatchEvent(new ErrorEvent(\"error\", {\n error: new Error(`EventSource's Transfer-Encoding is invalid. Aborting the connection.`)\n }));\n socket.end();\n return;\n }\n content_length = 0;\n if (mime_type_ok) {\n break;\n }\n }\n }\n }\n }\n self.#content_length = content_length;\n self.#state = 1;\n self.dispatchEvent(new Event(\"open\"));\n const chunks = text.substring(headers_idx + 4);\n EventSource.#ProcessChunk(self, chunks, 0);\n if (self.#content_length > 0) {\n self.#received_length += chunks.length;\n if (self.#received_length >= self.#content_length) {\n self.#state = 2;\n socket.end();\n }\n }\n return;\n }\n case 1:\n EventSource.#ProcessChunk(self, buffer.toString(), 2);\n if (self.#content_length > 0) {\n self.#received_length += buffer.byteLength;\n if (self.#received_length >= self.#content_length) {\n self.#state = 2;\n socket.end();\n }\n }\n return;\n default:\n break;\n }\n },\n drain(socket) {\n const self = socket.data;\n if (self.#state === 0) {\n const request = self.#data_buffer;\n if (request.length) {\n const sended = socket.write(request);\n if (sended !== request.length) {\n socket.data.#send_buffer = request.substring(sended);\n } else {\n socket.data.#send_buffer = \"\";\n }\n }\n }\n },\n close: EventSource.#Close,\n end(socket) {\n EventSource.#Close(socket).dispatchEvent(new ErrorEvent(\"error\", { error: new Error(\"Connection closed by server\") }));\n },\n timeout(socket) {\n EventSource.#Close(socket).dispatchEvent(new ErrorEvent(\"error\", { error: new Error(\"Timeout\") }));\n },\n binaryType: \"buffer\"\n };\n static #Close(socket) {\n const self = socket.data;\n self.#socket = null;\n self.#received_length = 0;\n self.#state = 2;\n if (self.#reconnect) {\n if (self.#reconnection_timer) {\n clearTimeout(self.#reconnection_timer);\n }\n self.#reconnection_timer = setTimeout(EventSource.#ConnectNextTick, self.#reconnection_time, self);\n }\n return self;\n }\n constructor(url, options = @undefined) {\n super();\n const uri = new URL(url);\n this.#is_tls = uri.protocol === \"https:\";\n this.#url = uri;\n this.#state = 2;\n process.nextTick(EventSource.#ConnectNextTick, this);\n }\n ref() {\n this.#reconnection_timer\?.ref();\n this.#socket\?.ref();\n }\n unref() {\n this.#reconnection_timer\?.unref();\n this.#socket\?.unref();\n }\n #connect() {\n if (this.#state !== 2)\n return;\n const uri = this.#url;\n const is_tls = this.#is_tls;\n this.#state = 0;\n @Bun.connect({\n data: this,\n socket: EventSource.#Handlers,\n hostname: uri.hostname,\n port: parseInt(uri.port || (is_tls \? \"443\" : \"80\"), 10),\n tls: is_tls \? {\n requestCert: true,\n rejectUnauthorized: false\n } : false\n }).catch((err) => {\n super.dispatchEvent(new ErrorEvent(\"error\", { error: err }));\n if (this.#reconnect) {\n if (this.#reconnection_timer) {\n this.#reconnection_timer.unref\?.();\n }\n this.#reconnection_timer = setTimeout(EventSource.#ConnectNextTick, 1000, this);\n }\n });\n }\n get url() {\n return this.#url.href;\n }\n get readyState() {\n return this.#state;\n }\n close() {\n this.#reconnect = false;\n this.#state = 2;\n this.#socket\?.unref();\n this.#socket\?.end();\n }\n get onopen() {\n return this.#onopen;\n }\n get onerror() {\n return this.#onerror;\n }\n get onmessage() {\n return this.#onmessage;\n }\n set onopen(cb) {\n if (this.#onopen) {\n super.removeEventListener(\"close\", this.#onopen);\n }\n super.addEventListener(\"open\", cb);\n this.#onopen = cb;\n }\n set onerror(cb) {\n if (this.#onerror) {\n super.removeEventListener(\"error\", this.#onerror);\n }\n super.addEventListener(\"error\", cb);\n this.#onerror = cb;\n }\n set onmessage(cb) {\n if (this.#onmessage) {\n super.removeEventListener(\"message\", this.#onmessage);\n }\n super.addEventListener(\"message\", cb);\n this.#onmessage = cb;\n }\n }\n Object.defineProperty(EventSource.prototype, \"CONNECTING\", {\n enumerable: true,\n value: 0\n });\n Object.defineProperty(EventSource.prototype, \"OPEN\", {\n enumerable: true,\n value: 1\n });\n Object.defineProperty(EventSource.prototype, \"CLOSED\", {\n enumerable: true,\n value: 2\n });\n return EventSource;\n})\n"; #define DEFINE_BUILTIN_GENERATOR(codeName, functionName, overriddenName, argumentCount) \ JSC::FunctionExecutable* codeName##Generator(JSC::VM& vm) \ diff --git a/src/js/out/WebCoreJSBuiltins.h b/src/js/out/WebCoreJSBuiltins.h index 44e7023af8beb..d3501c4507a65 100644 --- a/src/js/out/WebCoreJSBuiltins.h +++ b/src/js/out/WebCoreJSBuiltins.h @@ -1371,6 +1371,14 @@ extern const JSC::ConstructAbility s_moduleRequireCodeConstructAbility; extern const JSC::ConstructorKind s_moduleRequireCodeConstructorKind; extern const JSC::ImplementationVisibility s_moduleRequireCodeImplementationVisibility; +// requireBuiltin +#define WEBCORE_BUILTIN_MODULE_REQUIREBUILTIN 1 +extern const char* const s_moduleRequireBuiltinCode; +extern const int s_moduleRequireBuiltinCodeLength; +extern const JSC::ConstructAbility s_moduleRequireBuiltinCodeConstructAbility; +extern const JSC::ConstructorKind s_moduleRequireBuiltinCodeConstructorKind; +extern const JSC::ImplementationVisibility s_moduleRequireBuiltinCodeImplementationVisibility; + // requireResolve #define WEBCORE_BUILTIN_MODULE_REQUIRERESOLVE 1 extern const char* const s_moduleRequireResolveCode; @@ -1382,16 +1390,19 @@ extern const JSC::ImplementationVisibility s_moduleRequireResolveCodeImplementat #define WEBCORE_FOREACH_MODULE_BUILTIN_DATA(macro) \ macro(main, moduleMain, 0) \ macro(require, moduleRequire, 1) \ + macro(requireBuiltin, moduleRequireBuiltin, 0) \ macro(requireResolve, moduleRequireResolve, 1) \ #define WEBCORE_FOREACH_MODULE_BUILTIN_CODE(macro) \ macro(moduleMainCode, main, "get main"_s, s_moduleMainCodeLength) \ macro(moduleRequireCode, require, ASCIILiteral(), s_moduleRequireCodeLength) \ + macro(moduleRequireBuiltinCode, requireBuiltin, ASCIILiteral(), s_moduleRequireBuiltinCodeLength) \ macro(moduleRequireResolveCode, requireResolve, ASCIILiteral(), s_moduleRequireResolveCodeLength) \ #define WEBCORE_FOREACH_MODULE_BUILTIN_FUNCTION_NAME(macro) \ macro(main) \ macro(require) \ + macro(requireBuiltin) \ macro(requireResolve) \ #define DECLARE_BUILTIN_GENERATOR(codeName, functionName, overriddenName, argumentCount) \ diff --git a/src/js/out/modules/bun/ffi.js b/src/js/out/modules/bun/ffi.js deleted file mode 100644 index c2c02ecb34e11..0000000000000 --- a/src/js/out/modules/bun/ffi.js +++ /dev/null @@ -1,268 +0,0 @@ -var cstringReturnType = function(val) { - return new __GlobalBunCString(val); -}, FFIBuilder = function(params, returnType, functionToCall, name) { - const hasReturnType = typeof FFIType[returnType] === "number" && FFIType[returnType] !== FFIType.void; - var paramNames = new Array(params.length), args = new Array(params.length); - for (let i = 0;i < params.length; i++) { - paramNames[i] = `p${i}`; - const wrapper = ffiWrappers[FFIType[params[i]]]; - if (wrapper) - args[i] = `(${wrapper.toString()})(p${i})`; - else - throw new TypeError(`Unsupported type ${params[i]}. Must be one of: ${Object.keys(FFIType).sort().join(", ")}`); - } - var code = `functionToCall(${args.join(", ")})`; - if (hasReturnType) - if (FFIType[returnType] === FFIType.cstring) - code = `return (${cstringReturnType.toString()})(${code})`; - else - code = `return ${code}`; - var func = new Function("functionToCall", ...paramNames, code); - Object.defineProperty(func, "name", { - value: name - }); - var wrap; - switch (paramNames.length) { - case 0: - wrap = () => func(functionToCall); - break; - case 1: - wrap = (arg1) => func(functionToCall, arg1); - break; - case 2: - wrap = (arg1, arg2) => func(functionToCall, arg1, arg2); - break; - case 3: - wrap = (arg1, arg2, arg3) => func(functionToCall, arg1, arg2, arg3); - break; - case 4: - wrap = (arg1, arg2, arg3, arg4) => func(functionToCall, arg1, arg2, arg3, arg4); - break; - case 5: - wrap = (arg1, arg2, arg3, arg4, arg5) => func(functionToCall, arg1, arg2, arg3, arg4, arg5); - break; - case 6: - wrap = (arg1, arg2, arg3, arg4, arg5, arg6) => func(functionToCall, arg1, arg2, arg3, arg4, arg5, arg6); - break; - case 7: - wrap = (arg1, arg2, arg3, arg4, arg5, arg6, arg7) => func(functionToCall, arg1, arg2, arg3, arg4, arg5, arg6, arg7); - break; - case 8: - wrap = (arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8) => func(functionToCall, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8); - break; - case 9: - wrap = (arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) => func(functionToCall, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9); - break; - default: { - wrap = (...args2) => func(functionToCall, ...args2); - break; - } - } - return wrap.native = functionToCall, wrap.ptr = functionToCall.ptr, wrap; -}; -function dlopen(path, options) { - const result = nativeDLOpen(path, options); - for (let key in result.symbols) { - var symbol = result.symbols[key]; - if (options[key]?.args?.length || FFIType[options[key]?.returns] === FFIType.cstring) - result.symbols[key] = FFIBuilder(options[key].args ?? [], options[key].returns ?? FFIType.void, symbol, path.includes("/") ? `${key} (${path.split("/").pop()})` : `${key} (${path})`); - else - result.symbols[key].native = result.symbols[key]; - } - return result; -} -function linkSymbols(options) { - const result = nativeLinkSymbols(options); - for (let key in result.symbols) { - var symbol = result.symbols[key]; - if (options[key]?.args?.length || FFIType[options[key]?.returns] === FFIType.cstring) - result.symbols[key] = FFIBuilder(options[key].args ?? [], options[key].returns ?? FFIType.void, symbol, key); - else - result.symbols[key].native = result.symbols[key]; - } - return result; -} -var onCloseCFunction = function(close) { - close(); -}; -function CFunction(options) { - const identifier = `CFunction${cFunctionI++}`; - var result = linkSymbols({ - [identifier]: options - }), hasClosed = !1, close = result.close; - return result.symbols[identifier].close = () => { - if (hasClosed || !close) - return; - hasClosed = !0, close(), close = void 0; - }, cFunctionRegistry ||= new FinalizationRegistry(onCloseCFunction), cFunctionRegistry.register(result.symbols[identifier], result.symbols[identifier].close), result.symbols[identifier]; -} -var ffi = globalThis.Bun.FFI, ptr = (arg1, arg2) => typeof arg2 === "undefined" ? ffi.ptr(arg1) : ffi.ptr(arg1, arg2), toBuffer = ffi.toBuffer, toArrayBuffer = ffi.toArrayBuffer, viewSource = ffi.viewSource, BunCString = ffi.CString, nativeLinkSymbols = ffi.linkSymbols, nativeDLOpen = ffi.dlopen, nativeCallback = ffi.callback, closeCallback = ffi.closeCallback; -delete ffi.callback; -delete ffi.closeCallback; - -class JSCallback { - constructor(cb, options) { - const { ctx, ptr: ptr2 } = nativeCallback(options, cb); - this.#ctx = ctx, this.ptr = ptr2, this.#threadsafe = !!options?.threadsafe; - } - ptr; - #ctx; - #threadsafe; - get threadsafe() { - return this.#threadsafe; - } - [Symbol.toPrimitive]() { - const { ptr: ptr2 } = this; - return typeof ptr2 === "number" ? ptr2 : 0; - } - close() { - const ctx = this.#ctx; - if (this.ptr = null, this.#ctx = null, ctx) - closeCallback(ctx); - } -} - -class CString extends String { - constructor(ptr2, byteOffset, byteLength) { - super(ptr2 ? typeof byteLength === "number" && Number.isSafeInteger(byteLength) ? new BunCString(ptr2, byteOffset || 0, byteLength) : new BunCString(ptr2) : ""); - if (this.ptr = typeof ptr2 === "number" ? ptr2 : 0, typeof byteOffset !== "undefined") - this.byteOffset = byteOffset; - if (typeof byteLength !== "undefined") - this.byteLength = byteLength; - } - ptr; - byteOffset; - byteLength; - #cachedArrayBuffer; - get arrayBuffer() { - if (this.#cachedArrayBuffer) - return this.#cachedArrayBuffer; - if (!this.ptr) - return this.#cachedArrayBuffer = new ArrayBuffer(0); - return this.#cachedArrayBuffer = toArrayBuffer(this.ptr, this.byteOffset, this.byteLength); - } -} -Object.defineProperty(globalThis, "__GlobalBunCString", { - value: CString, - enumerable: !1, - configurable: !1 -}); -var ffiWrappers = new Array(18), char = (val) => val | 0; -ffiWrappers.fill(char); -ffiWrappers[FFIType.uint8_t] = function uint8(val) { - return val < 0 ? 0 : val >= 255 ? 255 : val | 0; -}; -ffiWrappers[FFIType.int16_t] = function int16(val) { - return val <= -32768 ? -32768 : val >= 32768 ? 32768 : val | 0; -}; -ffiWrappers[FFIType.uint16_t] = function uint16(val) { - return val <= 0 ? 0 : val >= 65536 ? 65536 : val | 0; -}; -ffiWrappers[FFIType.int32_t] = function int32(val) { - return val | 0; -}; -ffiWrappers[FFIType.uint32_t] = function uint32(val) { - return val <= 0 ? 0 : val >= 4294967295 ? 4294967295 : +val || 0; -}; -ffiWrappers[FFIType.i64_fast] = function int64(val) { - if (typeof val === "bigint") { - if (val <= BigInt(Number.MAX_SAFE_INTEGER) && val >= BigInt(-Number.MAX_SAFE_INTEGER)) - return Number(val).valueOf() || 0; - return val; - } - return !val ? 0 : +val || 0; -}; -ffiWrappers[FFIType.u64_fast] = function u64_fast(val) { - if (typeof val === "bigint") { - if (val <= BigInt(Number.MAX_SAFE_INTEGER) && val >= 0) - return Number(val).valueOf() || 0; - return val; - } - return !val ? 0 : +val || 0; -}; -ffiWrappers[FFIType.int64_t] = function int642(val) { - if (typeof val === "bigint") - return val; - if (typeof val === "number") - return BigInt(val || 0); - return BigInt(+val || 0); -}; -ffiWrappers[FFIType.uint64_t] = function uint64(val) { - if (typeof val === "bigint") - return val; - if (typeof val === "number") - return val <= 0 ? BigInt(0) : BigInt(val || 0); - return BigInt(+val || 0); -}; -ffiWrappers[FFIType.u64_fast] = function u64_fast2(val) { - if (typeof val === "bigint") { - if (val <= BigInt(Number.MAX_SAFE_INTEGER) && val >= BigInt(0)) - return Number(val); - return val; - } - return typeof val === "number" ? val <= 0 ? 0 : +val || 0 : +val || 0; -}; -ffiWrappers[FFIType.uint16_t] = function uint162(val) { - const ret = (typeof val === "bigint" ? Number(val) : val) | 0; - return ret <= 0 ? 0 : ret > 65535 ? 65535 : ret; -}; -ffiWrappers[FFIType.double] = function double(val) { - if (typeof val === "bigint") { - if (val.valueOf() < BigInt(Number.MAX_VALUE)) - return Math.abs(Number(val).valueOf()) + 0.00000000000001 - 0.00000000000001; - } - if (!val) - return 0; - return val + 0.00000000000001 - 0.00000000000001; -}; -ffiWrappers[FFIType.float] = ffiWrappers[10] = function float(val) { - return Math.fround(val); -}; -ffiWrappers[FFIType.bool] = function bool(val) { - return !!val; -}; -Object.defineProperty(globalThis, "__GlobalBunFFIPtrFunctionForWrapper", { - value: ptr, - enumerable: !1, - configurable: !0 -}); -ffiWrappers[FFIType.cstring] = ffiWrappers[FFIType.pointer] = function pointer(val) { - if (typeof val === "number") - return val; - if (!val) - return null; - if (ArrayBuffer.isView(val) || val instanceof ArrayBuffer) - return __GlobalBunFFIPtrFunctionForWrapper(val); - if (typeof val === "string") - throw new TypeError("To convert a string to a pointer, encode it as a buffer"); - throw new TypeError(`Unable to convert ${val} to a pointer`); -}; -ffiWrappers[FFIType.function] = function functionType(val) { - if (typeof val === "number") - return val; - if (typeof val === "bigint") - return Number(val); - var ptr2 = val && val.ptr; - if (!ptr2) - throw new TypeError("Expected function to be a JSCallback or a number"); - return ptr2; -}; -var native = { - dlopen: nativeDLOpen, - callback: () => { - throw new Error("Deprecated. Use new JSCallback(options, fn) instead"); - } -}, cFunctionI = 0, cFunctionRegistry, read = ffi.read; -export { - viewSource, - toBuffer, - toArrayBuffer, - read, - ptr, - native, - linkSymbols, - dlopen, - JSCallback, - CString, - CFunction -}; diff --git a/src/js/out/modules/bun/jsc.js b/src/js/out/modules/bun/jsc.js deleted file mode 100644 index 45fb51bddfe35..0000000000000 --- a/src/js/out/modules/bun/jsc.js +++ /dev/null @@ -1,37 +0,0 @@ -var jsc = globalThis[Symbol.for("Bun.lazy")]("bun:jsc"), callerSourceOrigin = jsc.callerSourceOrigin, jscDescribe = jsc.describe, jscDescribeArray = jsc.describeArray, describe = jscDescribe, describeArray = jscDescribeArray, drainMicrotasks = jsc.drainMicrotasks, edenGC = jsc.edenGC, fullGC = jsc.fullGC, gcAndSweep = jsc.gcAndSweep, getRandomSeed = jsc.getRandomSeed, heapSize = jsc.heapSize, heapStats = jsc.heapStats, startSamplingProfiler = jsc.startSamplingProfiler, samplingProfilerStackTraces = jsc.samplingProfilerStackTraces, isRope = jsc.isRope, memoryUsage = jsc.memoryUsage, noInline = jsc.noInline, noFTL = jsc.noFTL, noOSRExitFuzzing = jsc.noOSRExitFuzzing, numberOfDFGCompiles = jsc.numberOfDFGCompiles, optimizeNextInvocation = jsc.optimizeNextInvocation, releaseWeakRefs = jsc.releaseWeakRefs, reoptimizationRetryCount = jsc.reoptimizationRetryCount, setRandomSeed = jsc.setRandomSeed, startRemoteDebugger = jsc.startRemoteDebugger, totalCompileTime = jsc.totalCompileTime, getProtectedObjects = jsc.getProtectedObjects, generateHeapSnapshotForDebugging = jsc.generateHeapSnapshotForDebugging, profile = jsc.profile, jsc_default = jsc, setTimeZone = jsc.setTimeZone, setTimezone = setTimeZone, serialize = jsc.serialize, deserialize = jsc.deserialize; -export { - totalCompileTime, - startSamplingProfiler, - startRemoteDebugger, - setTimezone, - setTimeZone, - setRandomSeed, - serialize, - samplingProfilerStackTraces, - reoptimizationRetryCount, - releaseWeakRefs, - profile, - optimizeNextInvocation, - numberOfDFGCompiles, - noOSRExitFuzzing, - noInline, - noFTL, - memoryUsage, - jscDescribeArray, - jscDescribe, - isRope, - heapStats, - heapSize, - getRandomSeed, - getProtectedObjects, - generateHeapSnapshotForDebugging, - gcAndSweep, - fullGC, - edenGC, - drainMicrotasks, - deserialize, - describeArray, - describe, - jsc_default as default, - callerSourceOrigin -}; diff --git a/src/js/out/modules/bun/sqlite.js b/src/js/out/modules/bun/sqlite.js deleted file mode 100644 index d0eace2901729..0000000000000 --- a/src/js/out/modules/bun/sqlite.js +++ /dev/null @@ -1,278 +0,0 @@ -var lazy = globalThis[Symbol.for("Bun.lazy")], defineProperties = Object.defineProperties, toStringTag = Symbol.toStringTag, apply = Function.prototype.apply, isArray = Array.isArray, isTypedArray = ArrayBuffer.isView, constants = { - SQLITE_OPEN_READONLY: 1, - SQLITE_OPEN_READWRITE: 2, - SQLITE_OPEN_CREATE: 4, - SQLITE_OPEN_DELETEONCLOSE: 8, - SQLITE_OPEN_EXCLUSIVE: 16, - SQLITE_OPEN_AUTOPROXY: 32, - SQLITE_OPEN_URI: 64, - SQLITE_OPEN_MEMORY: 128, - SQLITE_OPEN_MAIN_DB: 256, - SQLITE_OPEN_TEMP_DB: 512, - SQLITE_OPEN_TRANSIENT_DB: 1024, - SQLITE_OPEN_MAIN_JOURNAL: 2048, - SQLITE_OPEN_TEMP_JOURNAL: 4096, - SQLITE_OPEN_SUBJOURNAL: 8192, - SQLITE_OPEN_SUPER_JOURNAL: 16384, - SQLITE_OPEN_NOMUTEX: 32768, - SQLITE_OPEN_FULLMUTEX: 65536, - SQLITE_OPEN_SHAREDCACHE: 131072, - SQLITE_OPEN_PRIVATECACHE: 262144, - SQLITE_OPEN_WAL: 524288, - SQLITE_OPEN_NOFOLLOW: 16777216, - SQLITE_OPEN_EXRESCODE: 33554432, - SQLITE_PREPARE_PERSISTENT: 1, - SQLITE_PREPARE_NORMALIZE: 2, - SQLITE_PREPARE_NO_VTAB: 4 -}, SQL, _SQL, controllers; - -class Statement { - constructor(raw) { - switch (this.#raw = raw, raw.paramsCount) { - case 0: { - this.get = this.#getNoArgs, this.all = this.#allNoArgs, this.values = this.#valuesNoArgs, this.run = this.#runNoArgs; - break; - } - default: { - this.get = this.#get, this.all = this.#all, this.values = this.#values, this.run = this.#run; - break; - } - } - } - #raw; - get; - all; - values; - run; - isFinalized = !1; - toJSON() { - return { - sql: this.native.toString(), - isFinalized: this.isFinalized, - paramsCount: this.paramsCount, - columnNames: this.columnNames - }; - } - get [toStringTag]() { - return `"${this.native.toString()}"`; - } - toString() { - return this.native.toString(); - } - get native() { - return this.#raw; - } - #getNoArgs() { - return this.#raw.get(); - } - #allNoArgs() { - return this.#raw.all(); - } - #valuesNoArgs() { - return this.#raw.values(); - } - #runNoArgs() { - this.#raw.run(); - } - #get(...args) { - if (args.length === 0) - return this.#getNoArgs(); - var arg0 = args[0]; - return !isArray(arg0) && (!arg0 || typeof arg0 !== "object" || isTypedArray(arg0)) ? this.#raw.get(args) : this.#raw.get(...args); - } - #all(...args) { - if (args.length === 0) - return this.#allNoArgs(); - var arg0 = args[0]; - return !isArray(arg0) && (!arg0 || typeof arg0 !== "object" || isTypedArray(arg0)) ? this.#raw.all(args) : this.#raw.all(...args); - } - #values(...args) { - if (args.length === 0) - return this.#valuesNoArgs(); - var arg0 = args[0]; - return !isArray(arg0) && (!arg0 || typeof arg0 !== "object" || isTypedArray(arg0)) ? this.#raw.values(args) : this.#raw.values(...args); - } - #run(...args) { - if (args.length === 0) - return this.#runNoArgs(); - var arg0 = args[0]; - !isArray(arg0) && (!arg0 || typeof arg0 !== "object" || isTypedArray(arg0)) ? this.#raw.run(args) : this.#raw.run(...args); - } - get columnNames() { - return this.#raw.columns; - } - get paramsCount() { - return this.#raw.paramsCount; - } - finalize(...args) { - return this.isFinalized = !0, this.#raw.finalize(...args); - } -} -var cachedCount = Symbol.for("Bun.Database.cache.count"); - -class Database { - constructor(filenameGiven, options) { - if (typeof filenameGiven === "undefined") - ; - else if (typeof filenameGiven !== "string") { - if (isTypedArray(filenameGiven)) { - this.#handle = Database.deserialize(filenameGiven, typeof options === "object" && options ? !!options.readonly : ((options | 0) & constants.SQLITE_OPEN_READONLY) != 0), this.filename = ":memory:"; - return; - } - throw new TypeError(`Expected 'filename' to be a string, got '${typeof filenameGiven}'`); - } - var filename = typeof filenameGiven === "string" ? filenameGiven.trim() : ":memory:", flags = constants.SQLITE_OPEN_READWRITE | constants.SQLITE_OPEN_CREATE; - if (typeof options === "object" && options) { - if (flags = 0, options.readonly) - flags = constants.SQLITE_OPEN_READONLY; - if ("readOnly" in options) - throw new TypeError('Misspelled option "readOnly" should be "readonly"'); - if (options.create) - flags = constants.SQLITE_OPEN_READWRITE | constants.SQLITE_OPEN_CREATE; - if (options.readwrite) - flags |= constants.SQLITE_OPEN_READWRITE; - } else if (typeof options === "number") - flags = options; - const anonymous = filename === "" || filename === ":memory:"; - if (anonymous && (flags & constants.SQLITE_OPEN_READONLY) !== 0) - throw new Error("Cannot open an anonymous database in read-only mode."); - if (!SQL) - _SQL = SQL = lazy("sqlite"); - this.#handle = SQL.open(anonymous ? ":memory:" : filename, flags), this.filename = filename; - } - #handle; - #cachedQueriesKeys = []; - #cachedQueriesLengths = []; - #cachedQueriesValues = []; - filename; - get handle() { - return this.#handle; - } - get inTransaction() { - return SQL.isInTransaction(this.#handle); - } - static open(filename, options) { - return new Database(filename, options); - } - loadExtension(name, entryPoint) { - return SQL.loadExtension(this.#handle, name, entryPoint); - } - serialize(optionalName) { - return SQL.serialize(this.#handle, optionalName || "main"); - } - static deserialize(serialized, isReadOnly = !1) { - if (!SQL) - _SQL = SQL = lazy("sqlite"); - return SQL.deserialize(serialized, isReadOnly); - } - static setCustomSQLite(path) { - if (!SQL) - _SQL = SQL = lazy("sqlite"); - return SQL.setCustomSQLite(path); - } - close() { - return this.clearQueryCache(), SQL.close(this.#handle); - } - clearQueryCache() { - for (let item of this.#cachedQueriesValues) - item.finalize(); - this.#cachedQueriesKeys.length = 0, this.#cachedQueriesValues.length = 0, this.#cachedQueriesLengths.length = 0; - } - run(query, ...params) { - if (params.length === 0) { - SQL.run(this.#handle, query); - return; - } - var arg0 = params[0]; - return !isArray(arg0) && (!arg0 || typeof arg0 !== "object" || isTypedArray(arg0)) ? SQL.run(this.#handle, query, params) : SQL.run(this.#handle, query, ...params); - } - prepare(query, params, flags) { - return new Statement(SQL.prepare(this.#handle, query, params, flags || 0)); - } - static MAX_QUERY_CACHE_SIZE = 20; - get [cachedCount]() { - return this.#cachedQueriesKeys.length; - } - query(query) { - if (typeof query !== "string") - throw new TypeError(`Expected 'query' to be a string, got '${typeof query}'`); - if (query.length === 0) - throw new Error("SQL query cannot be empty."); - var index = this.#cachedQueriesLengths.indexOf(query.length); - while (index !== -1) { - if (this.#cachedQueriesKeys[index] !== query) { - index = this.#cachedQueriesLengths.indexOf(query.length, index + 1); - continue; - } - var stmt = this.#cachedQueriesValues[index]; - if (stmt.isFinalized) - return this.#cachedQueriesValues[index] = this.prepare(query, void 0, willCache ? constants.SQLITE_PREPARE_PERSISTENT : 0); - return stmt; - } - const willCache = this.#cachedQueriesKeys.length < Database.MAX_QUERY_CACHE_SIZE; - var stmt = this.prepare(query, void 0, willCache ? constants.SQLITE_PREPARE_PERSISTENT : 0); - if (willCache) - this.#cachedQueriesKeys.push(query), this.#cachedQueriesLengths.push(query.length), this.#cachedQueriesValues.push(stmt); - return stmt; - } - transaction(fn, self) { - if (typeof fn !== "function") - throw new TypeError("Expected first argument to be a function"); - const db = this, controller = getController(db, self), properties = { - default: { value: wrapTransaction(fn, db, controller.default) }, - deferred: { value: wrapTransaction(fn, db, controller.deferred) }, - immediate: { - value: wrapTransaction(fn, db, controller.immediate) - }, - exclusive: { - value: wrapTransaction(fn, db, controller.exclusive) - }, - database: { value: this, enumerable: !0 } - }; - return defineProperties(properties.default.value, properties), defineProperties(properties.deferred.value, properties), defineProperties(properties.immediate.value, properties), defineProperties(properties.exclusive.value, properties), properties.default.value; - } -} -Database.prototype.exec = Database.prototype.run; -var getController = (db, self) => { - let controller = (controllers ||= new WeakMap).get(db); - if (!controller) { - const shared = { - commit: db.prepare("COMMIT", void 0, 0), - rollback: db.prepare("ROLLBACK", void 0, 0), - savepoint: db.prepare("SAVEPOINT `\t_bs3.\t`", void 0, 0), - release: db.prepare("RELEASE `\t_bs3.\t`", void 0, 0), - rollbackTo: db.prepare("ROLLBACK TO `\t_bs3.\t`", void 0, 0) - }; - controllers.set(db, controller = { - default: Object.assign({ begin: db.prepare("BEGIN", void 0, 0) }, shared), - deferred: Object.assign({ begin: db.prepare("BEGIN DEFERRED", void 0, 0) }, shared), - immediate: Object.assign({ begin: db.prepare("BEGIN IMMEDIATE", void 0, 0) }, shared), - exclusive: Object.assign({ begin: db.prepare("BEGIN EXCLUSIVE", void 0, 0) }, shared) - }); - } - return controller; -}, wrapTransaction = (fn, db, { begin, commit, rollback, savepoint, release, rollbackTo }) => function transaction(...args) { - let before, after, undo; - if (db.inTransaction) - before = savepoint, after = release, undo = rollbackTo; - else - before = begin, after = commit, undo = rollback; - try { - before.run(); - const result = fn.apply(this, args); - return after.run(), result; - } catch (ex) { - if (db.inTransaction) { - if (undo.run(), undo !== rollback) - after.run(); - } - throw ex; - } -}; -export { - _SQL as native, - Database as default, - constants, - Statement, - Database -}; diff --git a/src/js/out/modules/bun/wasi-runner.js b/src/js/out/modules/bun/wasi-runner.js deleted file mode 100644 index 47c5ade3c2eda..0000000000000 --- a/src/js/out/modules/bun/wasi-runner.js +++ /dev/null @@ -1,26 +0,0 @@ -var filePath = process.argv.at(1); -if (!filePath) - throw err = new Error("To run a wasm file with Bun, the first argument must be a path to a .wasm file"), err.name = "WasmFileNotFound", err; -var err, { - WASM_CWD = process.cwd(), - WASM_ROOT_DIR = "/", - WASM_ENV_STR = void 0, - WASM_USE_ASYNC_INIT = "1" -} = process.env, env = process.env; -if (WASM_ENV_STR?.length) - env = JSON.parse(WASM_ENV_STR); -var wasi = new WASI({ - args: process.argv.slice(1), - env, - preopens: { - ".": WASM_CWD || process.cwd(), - "/": WASM_ROOT_DIR || "/" - } -}), source = globalThis.wasmSourceBytes; -if (!source) { - const fs = Bun.fs(), file = import.meta.path; - source = fs.readFileSync(file); -} -var wasm = await WebAssembly.compile(source), instance = !Number(WASM_USE_ASYNC_INIT) ? new WebAssembly.Instance(wasm, wasi.getImports(wasm)) : await WebAssembly.instantiate(wasm, wasi.getImports(wasm)); -wasi.start(instance); -process.reallyExit(0); diff --git a/src/js/out/modules/node/assert.js b/src/js/out/modules/node/assert.js deleted file mode 100644 index 3067445ce9687..0000000000000 --- a/src/js/out/modules/node/assert.js +++ /dev/null @@ -1,53 +0,0 @@ -var D0=(g)=>{return import.meta.require(g)};import J0 from"node:util";var V0=function(){throw new Error("CallTracker is not supported yet")},{Bun:U0}=globalThis[Symbol.for("Bun.lazy")]("primordials"),t=U0.deepEquals,X0=(g,L)=>function(){return L||(0,g[Object.keys(g)[0]])((L={exports:{}}).exports,L),L.exports},$0=X0({"assert/build/internal/errors.js"(g,L){function A(U){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?A=function(X){return typeof X}:A=function(X){return X&&typeof Symbol=="function"&&X.constructor===Symbol&&X!==Symbol.prototype?"symbol":typeof X},A(U)}function i(U,X){if(!(U instanceof X))throw new TypeError("Cannot call a class as a function")}function l(U,X){return X&&(A(X)==="object"||typeof X=="function")?X:b(U)}function b(U){if(U===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return U}function x(U){return x=Object.setPrototypeOf?Object.getPrototypeOf:function(X){return X.__proto__||Object.getPrototypeOf(X)},x(U)}function I(U,X){if(typeof X!="function"&&X!==null)throw new TypeError("Super expression must either be null or a function");U.prototype=Object.create(X&&X.prototype,{constructor:{value:U,writable:!0,configurable:!0}}),X&&m(U,X)}function m(U,X){return m=Object.setPrototypeOf||function(D,v){return D.__proto__=v,D},m(U,X)}var n={},N,C;function j(U,X,D){D||(D=Error);function v(T,G,f){return typeof X=="string"?X:X(T,G,f)}var M=function(T){I(G,T);function G(f,O,S){var y;return i(this,G),y=l(this,x(G).call(this,v(f,O,S))),y.code=U,y}return G}(D);n[U]=M}function p(U,X){if(Array.isArray(U)){var D=U.length;return U=U.map(function(v){return String(v)}),D>2?"one of ".concat(X," ").concat(U.slice(0,D-1).join(", "),", or ")+U[D-1]:D===2?"one of ".concat(X," ").concat(U[0]," or ").concat(U[1]):"of ".concat(X," ").concat(U[0])}else return"of ".concat(X," ").concat(String(U))}function h(U,X,D){return U.substr(!D||D<0?0:+D,X.length)===X}function R(U,X,D){return(D===void 0||D>U.length)&&(D=U.length),U.substring(D-X.length,D)===X}function P(U,X,D){return typeof D!="number"&&(D=0),D+X.length>U.length?!1:U.indexOf(X,D)!==-1}j("ERR_AMBIGUOUS_ARGUMENT",'The "%s" argument is ambiguous. %s',TypeError),j("ERR_INVALID_ARG_TYPE",function(U,X,D){N===void 0&&(N=z0()),N(typeof U=="string","'name' must be a string");var v;typeof X=="string"&&h(X,"not ")?(v="must not be",X=X.replace(/^not /,"")):v="must be";var M;if(R(U," argument"))M="The ".concat(U," ").concat(v," ").concat(p(X,"type"));else{var T=P(U,".")?"property":"argument";M='The "'.concat(U,'" ').concat(T," ").concat(v," ").concat(p(X,"type"))}return M+=". Received type ".concat(A(D)),M},TypeError),j("ERR_INVALID_ARG_VALUE",function(U,X){var D=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"is invalid",v=C.inspect(X);return v.length>128&&(v="".concat(v.slice(0,128),"...")),"The argument '".concat(U,"' ").concat(D,". Received ").concat(v)},TypeError,RangeError),j("ERR_INVALID_RETURN_VALUE",function(U,X,D){var v;return D&&D.constructor&&D.constructor.name?v="instance of ".concat(D.constructor.name):v="type ".concat(A(D)),"Expected ".concat(U,' to be returned from the "').concat(X,'"')+" function but got ".concat(v,".")},TypeError),j("ERR_MISSING_ARGS",function(){for(var U=arguments.length,X=new Array(U),D=0;D0,"At least one arg needs to be specified");var v="The ",M=X.length;switch(X=X.map(function(T){return'"'.concat(T,'"')}),M){case 1:v+="".concat(X[0]," argument");break;case 2:v+="".concat(X[0]," and ").concat(X[1]," arguments");break;default:v+=X.slice(0,M-1).join(", "),v+=", and ".concat(X[M-1]," arguments");break}return"".concat(v," must be specified")},TypeError),L.exports.codes=n}}),B0=X0({"assert/build/internal/assert/assertion_error.js"(g,L){function A(Y){for(var J=1;JY.length)&&($=Y.length),Y.substring($-J.length,$)===J}function M(Y,J){if(J=Math.floor(J),Y.length==0||J==0)return"";var $=Y.length*J;for(J=Math.floor(Math.log(J)/Math.log(2));J;)Y+=Y,J--;return Y+=Y.substring(0,$-Y.length),Y}var T="",G="",f="",O="",S={deepStrictEqual:"Expected values to be strictly deep-equal:",strictEqual:"Expected values to be strictly equal:",strictEqualObject:'Expected "actual" to be reference-equal to "expected":',deepEqual:"Expected values to be loosely deep-equal:",equal:"Expected values to be loosely equal:",notDeepStrictEqual:'Expected "actual" not to be strictly deep-equal to:',notStrictEqual:'Expected "actual" to be strictly unequal to:',notStrictEqualObject:'Expected "actual" not to be reference-equal to "expected":',notDeepEqual:'Expected "actual" not to be loosely deep-equal to:',notEqual:'Expected "actual" to be loosely unequal to:',notIdentical:"Values identical but not reference-equal:"},y=10;function c(Y){var J=Object.keys(Y),$=Object.create(Object.getPrototypeOf(Y));return J.forEach(function(V){$[V]=Y[V]}),Object.defineProperty($,"message",{value:Y.message}),$}function d(Y){return U(Y,{compact:!1,customInspect:!1,depth:1000,maxArrayLength:Infinity,showHidden:!1,breakLength:Infinity,showProxy:!1,sorted:!0,getters:!0})}function s(Y,J,$){var V="",q="",Z=0,H="",Q=!1,z=d(Y),K=z.split(` -`),W=d(J).split(` -`),B=0,w="";if($==="strictEqual"&&P(Y)==="object"&&P(J)==="object"&&Y!==null&&J!==null&&($="strictEqualObject"),K.length===1&&W.length===1&&K[0]!==W[0]){var F=K[0].length+W[0].length;if(F<=y){if((P(Y)!=="object"||Y===null)&&(P(J)!=="object"||J===null)&&(Y!==0||J!==0))return"".concat(S[$],` - -`)+"".concat(K[0]," !== ").concat(W[0],` -`)}else if($!=="strictEqualObject"){var _=process.stderr&&process.stderr.isTTY?process.stderr.columns:80;if(F<_){for(;K[0][B]===W[0][B];)B++;B>2&&(w=` - `.concat(M(" ",B),"^"),B=0)}}}for(var e=K[K.length-1],Y0=W[W.length-1];e===Y0&&(B++<2?H=` - `.concat(e).concat(H):V=e,K.pop(),W.pop(),!(K.length===0||W.length===0));)e=K[K.length-1],Y0=W[W.length-1];var Q0=Math.max(K.length,W.length);if(Q0===0){var o=z.split(` -`);if(o.length>30)for(o[26]="".concat(T,"...").concat(O);o.length>27;)o.pop();return"".concat(S.notIdentical,` - -`).concat(o.join(` -`),` -`)}B>3&&(H=` -`.concat(T,"...").concat(O).concat(H),Q=!0),V!==""&&(H=` - `.concat(V).concat(H),V="");var E=0,K0=S[$]+` -`.concat(G,"+ actual").concat(O," ").concat(f,"- expected").concat(O),W0=" ".concat(T,"...").concat(O," Lines skipped");for(B=0;B1&&B>2&&(k>4?(q+=` -`.concat(T,"...").concat(O),Q=!0):k>3&&(q+=` - `.concat(W[B-2]),E++),q+=` - `.concat(W[B-1]),E++),Z=B,V+=` -`.concat(f,"-").concat(O," ").concat(W[B]),E++;else if(W.length1&&B>2&&(k>4?(q+=` -`.concat(T,"...").concat(O),Q=!0):k>3&&(q+=` - `.concat(K[B-2]),E++),q+=` - `.concat(K[B-1]),E++),Z=B,q+=` -`.concat(G,"+").concat(O," ").concat(K[B]),E++;else{var a=W[B],u=K[B],Z0=u!==a&&(!v(u,",")||u.slice(0,-1)!==a);Z0&&v(a,",")&&a.slice(0,-1)===u&&(Z0=!1,u+=","),Z0?(k>1&&B>2&&(k>4?(q+=` -`.concat(T,"...").concat(O),Q=!0):k>3&&(q+=` - `.concat(K[B-2]),E++),q+=` - `.concat(K[B-1]),E++),Z=B,q+=` -`.concat(G,"+").concat(O," ").concat(u),V+=` -`.concat(f,"-").concat(O," ").concat(a),E+=2):(q+=V,V="",(k===1||B===0)&&(q+=` - `.concat(u),E++))}if(E>20&&B30)for(B[26]="".concat(T,"...").concat(O);B.length>27;)B.pop();B.length===1?V=I(this,R(J).call(this,"".concat(W," ").concat(B[0]))):V=I(this,R(J).call(this,"".concat(W,` - -`).concat(B.join(` -`),` -`)))}else{var w=d(Q),F="",_=S[Z];Z==="notDeepEqual"||Z==="notEqual"?(w="".concat(S[Z],` - -`).concat(w),w.length>1024&&(w="".concat(w.slice(0,1021),"..."))):(F="".concat(d(z)),w.length>512&&(w="".concat(w.slice(0,509),"...")),F.length>512&&(F="".concat(F.slice(0,509),"...")),Z==="deepEqual"||Z==="equal"?w="".concat(_,` - -`).concat(w,` - -should equal - -`):F=" ".concat(Z," ").concat(F)),V=I(this,R(J).call(this,"".concat(w).concat(F)))}return Error.stackTraceLimit=K,V.generatedMessage=!q,Object.defineProperty(m(V),"name",{value:"AssertionError [ERR_ASSERTION]",enumerable:!1,writable:!0,configurable:!0}),V.code="ERR_ASSERTION",V.actual=Q,V.expected=z,V.operator=Z,Error.captureStackTrace&&Error.captureStackTrace(m(V),H),V.stack,V.name="AssertionError",I(V)}return x(J,[{key:"toString",value:function(){return"".concat(this.name," [").concat(this.code,"]: ").concat(this.message)}},{key:U.custom,value:function($,V){return U(this,A({},V,{customInspect:!1,depth:0}))}}]),J}(N(Error));L.exports=r}}),z0=X0({"assert/build/assert.js"(g,L){function A(Z){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?A=function(H){return typeof H}:A=function(H){return H&&typeof Symbol=="function"&&H.constructor===Symbol&&H!==Symbol.prototype?"symbol":typeof H},A(Z)}function i(Z,H){if(!(Z instanceof H))throw new TypeError("Cannot call a class as a function")}var l=$0(),b=l.codes,x=b.ERR_AMBIGUOUS_ARGUMENT,I=b.ERR_INVALID_ARG_TYPE,m=b.ERR_INVALID_ARG_VALUE,n=b.ERR_INVALID_RETURN_VALUE,N=b.ERR_MISSING_ARGS,C=B0(),j=J0,p=j.inspect,h=J0.types,R=h.isPromise,P=h.isRegExp,U=Object.assign,X=Object.is,D=new Map,v=!1,M=L.exports=S,T={};function G(Z){throw Z.message instanceof Error?Z.message:new C(Z)}function f(Z,H,Q,z,K){var W=arguments.length,B;if(W===0)B="Failed";else if(W===1)Q=Z,Z=void 0;else{if(v===!1){v=!0;var w=process.emitWarning?process.emitWarning:console.warn.bind(console);w("assert.fail() with more than one argument is deprecated. Please use assert.strictEqual() instead or only pass a message.","DeprecationWarning","DEP0094")}W===2&&(z="!=")}if(Q instanceof Error)throw Q;var F={actual:Z,expected:H,operator:z===void 0?"fail":z,stackStartFn:K||f};Q!==void 0&&(F.message=Q);var _=new C(F);throw B&&(_.message=B,_.generatedMessage=!0),_}M.fail=f,M.AssertionError=C;function O(Z,H,Q,z){if(!Q){var K=!1;if(H===0)K=!0,z="No value argument passed to `assert.ok()`";else if(z instanceof Error)throw z;var W=new C({actual:Q,expected:!0,message:z,operator:"==",stackStartFn:Z});throw W.generatedMessage=K,W}}function S(){for(var Z=arguments.length,H=new Array(Z),Q=0;Q1?Q-1:0),K=1;K1?Q-1:0),K=1;K1?Q-1:0),K=1;K1?Q-1:0),K=1;K { - var prev = get(); - set(context); - try { - return fn(...args); - } catch (error) { - throw error; - } finally { - set(prev); - } - }; - } - enterWith(store) { - cleanupLater(); - var context = get(); - if (!context) { - set([this, store]); - return; - } - var { length } = context; - for (var i = 0;i < length; i += 2) - if (context[i] === this) { - const clone = context.slice(); - clone[i + 1] = store, set(clone); - return; - } - set(context.concat(this, store)); - } - exit(cb, ...args) { - return this.run(void 0, cb, ...args); - } - run(store, callback, ...args) { - var context = get(), hasPrevious = !1, previous, i = 0, contextWasInit = !context; - if (contextWasInit) - set(context = [this, store]); - else { - if (context = context.slice(), i = context.indexOf(this), i > -1) - hasPrevious = !0, previous = context[i + 1], context[i + 1] = store; - else - context.push(this, store); - set(context); - } - try { - return callback(...args); - } catch (e) { - throw e; - } finally { - if (!this.#disableCalled) { - var context2 = get(); - if (context2 === context && contextWasInit) - set(void 0); - else if (context2 = context2.slice(), hasPrevious) - context2[i + 1] = previous, set(context2); - else - context2.splice(i, 2), set(context2.length ? context2 : void 0); - } - } - } - disable() { - if (!this.#disableCalled) { - var context = get(); - if (context) { - var { length } = context; - for (var i = 0;i < length; i += 2) - if (context[i] === this) { - context.splice(i, 2), set(context.length ? context : void 0); - break; - } - } - this.#disableCalled = !0; - } - } - getStore() { - var context = get(); - if (!context) - return; - var { length } = context; - for (var i = 0;i < length; i += 2) - if (context[i] === this) - return context[i + 1]; - } -} - -class AsyncResource { - type; - #snapshot; - constructor(type, options) { - if (typeof type !== "string") - throw new TypeError('The "type" argument must be of type string. Received type ' + typeof type); - this.type = type, this.#snapshot = get(); - } - emitBefore() { - return !0; - } - emitAfter() { - return !0; - } - asyncId() { - return 0; - } - triggerAsyncId() { - return 0; - } - emitDestroy() { - } - runInAsyncScope(fn, thisArg, ...args) { - var prev = get(); - set(this.#snapshot); - try { - return fn.apply(thisArg, args); - } catch (error) { - throw error; - } finally { - set(prev); - } - } -} -var createHookNotImpl = createWarning("async_hooks.createHook is not implemented in Bun. Hooks can still be created but will never be called."), executionAsyncIdNotImpl = createWarning("async_hooks.executionAsyncId/triggerAsyncId are not implemented in Bun. It will return 0 every time."), executionAsyncResourceWarning = createWarning("async_hooks.executionAsyncResource is not implemented in Bun. It returns a reference to process.stdin every time."), asyncWrapProviders = { - NONE: 0, - DIRHANDLE: 1, - DNSCHANNEL: 2, - ELDHISTOGRAM: 3, - FILEHANDLE: 4, - FILEHANDLECLOSEREQ: 5, - FIXEDSIZEBLOBCOPY: 6, - FSEVENTWRAP: 7, - FSREQCALLBACK: 8, - FSREQPROMISE: 9, - GETADDRINFOREQWRAP: 10, - GETNAMEINFOREQWRAP: 11, - HEAPSNAPSHOT: 12, - HTTP2SESSION: 13, - HTTP2STREAM: 14, - HTTP2PING: 15, - HTTP2SETTINGS: 16, - HTTPINCOMINGMESSAGE: 17, - HTTPCLIENTREQUEST: 18, - JSSTREAM: 19, - JSUDPWRAP: 20, - MESSAGEPORT: 21, - PIPECONNECTWRAP: 22, - PIPESERVERWRAP: 23, - PIPEWRAP: 24, - PROCESSWRAP: 25, - PROMISE: 26, - QUERYWRAP: 27, - SHUTDOWNWRAP: 28, - SIGNALWRAP: 29, - STATWATCHER: 30, - STREAMPIPE: 31, - TCPCONNECTWRAP: 32, - TCPSERVERWRAP: 33, - TCPWRAP: 34, - TTYWRAP: 35, - UDPSENDWRAP: 36, - UDPWRAP: 37, - SIGINTWATCHDOG: 38, - WORKER: 39, - WORKERHEAPSNAPSHOT: 40, - WRITEWRAP: 41, - ZLIB: 42, - CHECKPRIMEREQUEST: 43, - PBKDF2REQUEST: 44, - KEYPAIRGENREQUEST: 45, - KEYGENREQUEST: 46, - KEYEXPORTREQUEST: 47, - CIPHERREQUEST: 48, - DERIVEBITSREQUEST: 49, - HASHREQUEST: 50, - RANDOMBYTESREQUEST: 51, - RANDOMPRIMEREQUEST: 52, - SCRYPTREQUEST: 53, - SIGNREQUEST: 54, - TLSWRAP: 55, - VERIFYREQUEST: 56, - INSPECTORJSBINDING: 57 -}; -var async_hooks_default = { - AsyncLocalStorage, - createHook, - executionAsyncId, - triggerAsyncId, - executionAsyncResource, - asyncWrapProviders, - AsyncResource, - [Symbol.for("CommonJS")]: 0 -}; -export { - triggerAsyncId, - executionAsyncResource, - executionAsyncId, - async_hooks_default as default, - createHook, - asyncWrapProviders, - AsyncResource, - AsyncLocalStorage -}; diff --git a/src/js/out/modules/node/child_process.js b/src/js/out/modules/node/child_process.js deleted file mode 100644 index 09d52e8224eb1..0000000000000 --- a/src/js/out/modules/node/child_process.js +++ /dev/null @@ -1,761 +0,0 @@ -import {EventEmitter} from "node:events"; -import * as StreamModule from "node:stream"; -import {constants} from "node:os"; -import {promisify} from "node:util"; -function spawn(file, args, options) { - options = normalizeSpawnArguments(file, args, options), validateTimeout(options.timeout), validateAbortSignal(options.signal, "options.signal"); - const killSignal2 = sanitizeKillSignal(options.killSignal), child = new ChildProcess; - if (debug("spawn", options), child.spawn(options), options.timeout > 0) { - let timeoutId = setTimeout(() => { - if (timeoutId) { - try { - child.kill(killSignal2); - } catch (err) { - child.emit("error", err); - } - timeoutId = null; - } - }); - child.once("exit", () => { - if (timeoutId) - clearTimeout(timeoutId), timeoutId = null; - }); - } - if (options.signal) { - let onAbortListener = function() { - abortChildProcess(child, killSignal2, options.signal.reason); - }; - const signal = options.signal; - if (signal.aborted) - process.nextTick(onAbortListener); - else - signal.addEventListener("abort", onAbortListener, { once: !0 }), child.once("exit", () => signal.removeEventListener("abort", onAbortListener)); - } - return child; -} -function execFile(file, args, options, callback) { - ({ file, args, options, callback } = normalizeExecFileArgs(file, args, options, callback)), options = { - encoding: "utf8", - timeout: 0, - maxBuffer: MAX_BUFFER, - killSignal: "SIGTERM", - cwd: null, - env: null, - shell: !1, - ...options - }; - const maxBuffer = options.maxBuffer; - validateTimeout(options.timeout), validateMaxBuffer(maxBuffer), options.killSignal = sanitizeKillSignal(options.killSignal); - const child = spawn(file, args, { - cwd: options.cwd, - env: options.env, - shell: options.shell, - signal: options.signal - }); - let encoding; - const _stdout = [], _stderr = []; - if (options.encoding !== "buffer" && BufferIsEncoding(options.encoding)) - encoding = options.encoding; - else - encoding = null; - let stdoutLen = 0, stderrLen = 0, killed = !1, exited = !1, timeoutId, encodedStdoutLen, encodedStderrLen, ex = null, cmd = file; - function exitHandler(code, signal) { - if (exited) - return; - if (exited = !0, timeoutId) - clearTimeout(timeoutId), timeoutId = null; - if (!callback) - return; - const readableEncoding = child?.stdout?.readableEncoding; - let stdout, stderr; - if (encoding || child.stdout && readableEncoding) - stdout = ArrayPrototypeJoin.call(_stdout, ""); - else - stdout = BufferConcat(_stdout); - if (encoding || child.stderr && readableEncoding) - stderr = ArrayPrototypeJoin.call(_stderr, ""); - else - stderr = BufferConcat(_stderr); - if (!ex && code === 0 && signal === null) { - callback(null, stdout, stderr); - return; - } - if (args?.length) - cmd += ` ${ArrayPrototypeJoin.call(args, " ")}`; - if (!ex) { - let message = `Command failed: ${cmd}`; - if (stderr) - message += `\n${stderr}`; - ex = genericNodeError(message, { - code, - killed: child.killed || killed, - signal - }); - } - ex.cmd = cmd, callback(ex, stdout, stderr); - } - function errorHandler(e) { - if (ex = e, child.stdout) - child.stdout.destroy(); - if (child.stderr) - child.stderr.destroy(); - exitHandler(); - } - function kill() { - if (child.stdout) - child.stdout.destroy(); - if (child.stderr) - child.stderr.destroy(); - killed = !0; - try { - child.kill(options.killSignal); - } catch (e) { - ex = e, exitHandler(); - } - } - if (options.timeout > 0) - timeoutId = setTimeout(function delayedKill() { - kill(), timeoutId = null; - }, options.timeout); - if (child.stdout) { - if (encoding) - child.stdout.setEncoding(encoding); - child.stdout.on("data", maxBuffer === Infinity ? function onUnlimitedSizeBufferedData(chunk) { - ArrayPrototypePush.call(_stdout, chunk); - } : encoding ? function onChildStdoutEncoded(chunk) { - if (stdoutLen += chunk.length, stdoutLen * 4 > maxBuffer) { - const encoding2 = child.stdout.readableEncoding, actualLen = Buffer.byteLength(chunk, encoding2); - if (encodedStdoutLen === void 0) - for (let i = 0;i < _stdout.length; i++) - encodedStdoutLen += Buffer.byteLength(_stdout[i], encoding2); - else - encodedStdoutLen += actualLen; - const truncatedLen = maxBuffer - (encodedStdoutLen - actualLen); - ArrayPrototypePush.call(_stdout, StringPrototypeSlice.apply(chunk, 0, truncatedLen)), ex = new ERR_CHILD_PROCESS_STDIO_MAXBUFFER("stdout"), kill(); - } else - ArrayPrototypePush.call(_stdout, chunk); - } : function onChildStdoutRaw(chunk) { - if (stdoutLen += chunk.length, stdoutLen > maxBuffer) { - const truncatedLen = maxBuffer - (stdoutLen - chunk.length); - ArrayPrototypePush.call(_stdout, chunk.slice(0, truncatedLen)), ex = new ERR_CHILD_PROCESS_STDIO_MAXBUFFER("stdout"), kill(); - } else - ArrayPrototypePush.call(_stdout, chunk); - }); - } - if (child.stderr) { - if (encoding) - child.stderr.setEncoding(encoding); - child.stderr.on("data", maxBuffer === Infinity ? function onUnlimitedSizeBufferedData(chunk) { - ArrayPrototypePush.call(_stderr, chunk); - } : encoding ? function onChildStderrEncoded(chunk) { - if (stderrLen += chunk.length, stderrLen * 4 > maxBuffer) { - const encoding2 = child.stderr.readableEncoding, actualLen = Buffer.byteLength(chunk, encoding2); - if (encodedStderrLen === void 0) - for (let i = 0;i < _stderr.length; i++) - encodedStderrLen += Buffer.byteLength(_stderr[i], encoding2); - else - encodedStderrLen += actualLen; - const truncatedLen = maxBuffer - (encodedStderrLen - actualLen); - ArrayPrototypePush.call(_stderr, StringPrototypeSlice.call(chunk, 0, truncatedLen)), ex = new ERR_CHILD_PROCESS_STDIO_MAXBUFFER("stderr"), kill(); - } else - ArrayPrototypePush.call(_stderr, chunk); - } : function onChildStderrRaw(chunk) { - if (stderrLen += chunk.length, stderrLen > maxBuffer) { - const truncatedLen = maxBuffer - (stderrLen - chunk.length); - ArrayPrototypePush.call(_stderr, StringPrototypeSlice.call(chunk, 0, truncatedLen)), ex = new ERR_CHILD_PROCESS_STDIO_MAXBUFFER("stderr"), kill(); - } else - ArrayPrototypePush.call(_stderr, chunk); - }); - } - return child.addListener("close", exitHandler), child.addListener("error", errorHandler), child; -} -function exec(command, options, callback) { - const opts = normalizeExecArgs(command, options, callback); - return execFile(opts.file, opts.options, opts.callback); -} -function spawnSync(file, args, options) { - options = { - maxBuffer: MAX_BUFFER, - ...normalizeSpawnArguments(file, args, options) - }; - const { maxBuffer, encoding } = options; - debug("spawnSync", options), validateTimeout(options.timeout), validateMaxBuffer(maxBuffer), options.killSignal = sanitizeKillSignal(options.killSignal); - const stdio = options.stdio || "pipe", bunStdio = getBunStdioFromOptions(stdio); - var { input } = options; - if (input) - if (ArrayBufferIsView(input)) - bunStdio[0] = input; - else if (typeof input === "string") - bunStdio[0] = Buffer.from(input, encoding || "utf8"); - else - throw new ERR_INVALID_ARG_TYPE("options.stdio[0]", ["Buffer", "TypedArray", "DataView", "string"], input); - const { stdout, stderr, success, exitCode } = Bun.spawnSync({ - cmd: options.args, - env: options.env || void 0, - cwd: options.cwd || void 0, - stdin: bunStdio[0], - stdout: bunStdio[1], - stderr: bunStdio[2] - }), result = { - signal: null, - status: exitCode, - output: [null, stdout, stderr] - }; - if (stdout && encoding && encoding !== "buffer") - result.output[1] = result.output[1]?.toString(encoding); - if (stderr && encoding && encoding !== "buffer") - result.output[2] = result.output[2]?.toString(encoding); - if (result.stdout = result.output[1], result.stderr = result.output[2], !success) - result.error = new SystemError(result.output[2], options.file, "spawnSync", -1, result.status), result.error.spawnargs = ArrayPrototypeSlice.call(options.args, 1); - return result; -} -function execFileSync(file, args, options) { - ({ file, args, options } = normalizeExecFileArgs(file, args, options)); - const ret = spawnSync(file, args, options), errArgs = [options.argv0 || file]; - ArrayPrototypePush.apply(errArgs, args); - const err = checkExecSyncError(ret, errArgs); - if (err) - throw err; - return ret.stdout; -} -function execSync(command, options) { - const opts = normalizeExecArgs(command, options, null), ret = spawnSync(opts.file, opts.options), err = checkExecSyncError(ret, void 0, command); - if (err) - throw err; - return ret.stdout; -} -var stdioStringToArray = function(stdio, channel) { - const options = []; - switch (stdio) { - case "ignore": - case "overlapped": - case "pipe": - ArrayPrototypePush.call(options, stdio, stdio, stdio); - break; - case "inherit": - ArrayPrototypePush.call(options, 0, 1, 2); - break; - default: - throw new ERR_INVALID_ARG_VALUE("stdio", stdio); - } - if (channel) - ArrayPrototypePush.call(options, channel); - return options; -}; -function fork(modulePath, args = [], options) { - modulePath = getValidatedPath(modulePath, "modulePath"); - let execArgv; - if (args == null) - args = []; - else if (typeof args === "object" && !ArrayIsArray(args)) - options = args, args = []; - else - validateArray(args, "args"); - if (options != null) - validateObject(options, "options"); - if (options = { __proto__: null, ...options, shell: !1 }, options.execPath = options.execPath || process.execPath, validateArgumentNullCheck(options.execPath, "options.execPath"), execArgv = options.execArgv || process.execArgv, validateArgumentsNullCheck(execArgv, "options.execArgv"), execArgv === process.execArgv && process._eval != null) { - const index = ArrayPrototypeLastIndexOf.call(execArgv, process._eval); - if (index > 0) - execArgv = ArrayPrototypeSlice.call(execArgv), ArrayPrototypeSplice.call(execArgv, index - 1, 2); - } - if (args = [...execArgv, modulePath, ...args], typeof options.stdio === "string") - options.stdio = stdioStringToArray(options.stdio, "ipc"); - else if (!ArrayIsArray(options.stdio)) - options.stdio = stdioStringToArray(options.silent ? "pipe" : "inherit", "ipc"); - else if (!ArrayPrototypeIncludes.call(options.stdio, "ipc")) - throw new ERR_CHILD_PROCESS_IPC_REQUIRED("options.stdio"); - return spawn(options.execPath, args, options); -} -var convertToValidSignal = function(signal) { - if (typeof signal === "number" && getSignalsToNamesMapping()[signal]) - return signal; - if (typeof signal === "string") { - const signalName = signals[StringPrototypeToUpperCase.call(signal)]; - if (signalName) - return signalName; - } - throw new ERR_UNKNOWN_SIGNAL(signal); -}, sanitizeKillSignal = function(killSignal2) { - if (typeof killSignal2 === "string" || typeof killSignal2 === "number") - return convertToValidSignal(killSignal2); - else if (killSignal2 != null) - throw new ERR_INVALID_ARG_TYPE("options.killSignal", ["string", "number"], killSignal2); -}, getSignalsToNamesMapping = function() { - if (signalsToNamesMapping !== void 0) - return signalsToNamesMapping; - signalsToNamesMapping = ObjectCreate(null); - for (let key in signals) - signalsToNamesMapping[signals[key]] = key; - return signalsToNamesMapping; -}, normalizeExecFileArgs = function(file, args, options, callback) { - if (ArrayIsArray(args)) - args = ArrayPrototypeSlice.call(args); - else if (args != null && typeof args === "object") - callback = options, options = args, args = null; - else if (typeof args === "function") - callback = args, options = null, args = null; - if (args == null) - args = []; - if (typeof options === "function") - callback = options; - else if (options != null) - validateObject(options, "options"); - if (options == null) - options = kEmptyObject; - if (callback != null) - validateFunction(callback, "callback"); - if (options.argv0 != null) - validateString(options.argv0, "options.argv0"), validateArgumentNullCheck(options.argv0, "options.argv0"); - return { file, args, options, callback }; -}, normalizeExecArgs = function(command, options, callback) { - if (validateString(command, "command"), validateArgumentNullCheck(command, "command"), typeof options === "function") - callback = options, options = void 0; - return options = { ...options }, options.shell = typeof options.shell === "string" ? options.shell : !0, { - file: command, - options, - callback - }; -}, normalizeSpawnArguments = function(file, args, options) { - if (validateString(file, "file"), validateArgumentNullCheck(file, "file"), file.length === 0) - throw new ERR_INVALID_ARG_VALUE("file", file, "cannot be empty"); - if (ArrayIsArray(args)) - args = ArrayPrototypeSlice.call(args); - else if (args == null) - args = []; - else if (typeof args !== "object") - throw new ERR_INVALID_ARG_TYPE("args", "object", args); - else - options = args, args = []; - if (validateArgumentsNullCheck(args, "args"), options === void 0) - options = {}; - else - validateObject(options, "options"); - let cwd = options.cwd; - if (cwd != null) - cwd = getValidatedPath(cwd, "options.cwd"); - if (options.shell != null && typeof options.shell !== "boolean" && typeof options.shell !== "string") - throw new ERR_INVALID_ARG_TYPE("options.shell", ["boolean", "string"], options.shell); - if (options.argv0 != null) - validateString(options.argv0, "options.argv0"), validateArgumentNullCheck(options.argv0, "options.argv0"); - if (options.shell) { - validateArgumentNullCheck(options.shell, "options.shell"); - const command = ArrayPrototypeJoin.call([file, ...args], " "); - if (typeof options.shell === "string") - file = options.shell; - else - file = "sh"; - args = ["-c", command]; - } - if (typeof options.argv0 === "string") - ArrayPrototypeUnshift.call(args, options.argv0); - else - ArrayPrototypeUnshift.call(args, file); - const envPairs = options.env || process.env; - return { ...options, file, args, cwd, envPairs }; -}, checkExecSyncError = function(ret, args, cmd) { - let err; - if (ret.error) - err = ret.error, ObjectAssign(err, ret); - else if (ret.status !== 0) { - let msg = "Command failed: "; - if (msg += cmd || ArrayPrototypeJoin.call(args, " "), ret.stderr && ret.stderr.length > 0) - msg += `\n${ret.stderr.toString()}`; - err = genericNodeError(msg, ret); - } - return err; -}, nodeToBun = function(item) { - if (typeof item === "number") - return item; - else { - const result = nodeToBunLookup[item]; - if (result === void 0) - throw new Error("Invalid stdio option"); - return result; - } -}, fdToStdioName = function(fd) { - switch (fd) { - case 0: - return "stdin"; - case 1: - return "stdout"; - case 2: - return "stderr"; - default: - return null; - } -}, getBunStdioFromOptions = function(stdio) { - return normalizeStdio(stdio).map((item) => nodeToBun(item)); -}, normalizeStdio = function(stdio) { - if (typeof stdio === "string") - switch (stdio) { - case "ignore": - return ["ignore", "ignore", "ignore"]; - case "pipe": - return ["pipe", "pipe", "pipe"]; - case "inherit": - return ["inherit", "inherit", "inherit"]; - default: - throw new ERR_INVALID_OPT_VALUE("stdio", stdio); - } - else if (ArrayIsArray(stdio)) { - let processedStdio; - if (stdio.length === 0) - processedStdio = ["pipe", "pipe", "pipe"]; - else if (stdio.length === 1) - processedStdio = [stdio[0], "pipe", "pipe"]; - else if (stdio.length === 2) - processedStdio = [stdio[0], stdio[1], "pipe"]; - else if (stdio.length >= 3) - processedStdio = [stdio[0], stdio[1], stdio[2]]; - return processedStdio.map((item) => !item ? "pipe" : item); - } else - throw new ERR_INVALID_OPT_VALUE("stdio", stdio); -}, flushStdio = function(subprocess) { - const stdio = subprocess.stdio; - if (stdio == null) - return; - for (let i = 0;i < stdio.length; i++) { - const stream = stdio[i]; - if (!stream || !stream.readable) - continue; - stream.resume(); - } -}, onSpawnNT = function(self) { - self.emit("spawn"); -}, abortChildProcess = function(child, killSignal2, reason) { - if (!child) - return; - try { - if (child.kill(killSignal2)) - child.emit("error", new AbortError(void 0, { cause: reason })); - } catch (err) { - child.emit("error", err); - } -}, validateMaxBuffer = function(maxBuffer) { - if (maxBuffer != null && !(typeof maxBuffer === "number" && maxBuffer >= 0)) - throw new ERR_OUT_OF_RANGE("options.maxBuffer", "a positive number", maxBuffer); -}, validateArgumentNullCheck = function(arg, propName) { - if (typeof arg === "string" && StringPrototypeIncludes.call(arg, "\0")) - throw new ERR_INVALID_ARG_VALUE(propName, arg, "must be a string without null bytes"); -}, validateArgumentsNullCheck = function(args, propName) { - for (let i = 0;i < args.length; ++i) - validateArgumentNullCheck(args[i], `${propName}[${i}]`); -}, validateTimeout = function(timeout) { - if (timeout != null && !(NumberIsInteger(timeout) && timeout >= 0)) - throw new ERR_OUT_OF_RANGE("timeout", "an unsigned integer", timeout); -}; -var validateFunction = function(value, name) { - if (typeof value !== "function") - throw new ERR_INVALID_ARG_TYPE(name, "Function", value); -}, validateString = function(value, name) { - if (typeof value !== "string") - throw new ERR_INVALID_ARG_TYPE(name, "string", value); -}, nullCheck = function(path, propName, throwError = !0) { - const pathIsString = typeof path === "string", pathIsUint8Array = isUint8Array(path); - if (!pathIsString && !pathIsUint8Array || pathIsString && !StringPrototypeIncludes.call(path, "\0") || pathIsUint8Array && !Uint8ArrayPrototypeIncludes.call(path, 0)) - return; - const err = new ERR_INVALID_ARG_VALUE(propName, path, "must be a string or Uint8Array without null bytes"); - if (throwError) - throw err; - return err; -}, validatePath = function(path, propName = "path") { - if (typeof path !== "string" && !isUint8Array(path)) - throw new ERR_INVALID_ARG_TYPE(propName, ["string", "Buffer", "URL"], path); - const err = nullCheck(path, propName, !1); - if (err !== void 0) - throw err; -}, getValidatedPath = function(fileURLOrPath, propName = "path") { - const path = toPathIfFileURL(fileURLOrPath); - return validatePath(path, propName), path; -}, isUint8Array = function(value) { - return typeof value === "object" && value !== null && value instanceof Uint8Array; -}, isURLInstance = function(fileURLOrPath) { - return fileURLOrPath != null && fileURLOrPath.href && fileURLOrPath.origin; -}, toPathIfFileURL = function(fileURLOrPath) { - if (!isURLInstance(fileURLOrPath)) - return fileURLOrPath; - return Bun.fileURLToPath(fileURLOrPath); -}, genericNodeError = function(message, options) { - const err = new Error(message); - return err.code = options.code, err.killed = options.killed, err.signal = options.signal, err; -}, ERR_OUT_OF_RANGE = function(str, range, input, replaceDefaultBoolean = !1) { - return new RangeError(`The value of ${str} is out of range. It must be ${range}. Received ${input}`); -}, ERR_CHILD_PROCESS_STDIO_MAXBUFFER = function(stdio) { - return Error(`${stdio} maxBuffer length exceeded`); -}, ERR_UNKNOWN_SIGNAL = function(name) { - const err = new TypeError(`Unknown signal: ${name}`); - return err.code = "ERR_UNKNOWN_SIGNAL", err; -}, ERR_INVALID_ARG_TYPE = function(name, type, value) { - const err = new TypeError(`The "${name}" argument must be of type ${type}. Received ${value?.toString()}`); - return err.code = "ERR_INVALID_ARG_TYPE", err; -}, ERR_INVALID_OPT_VALUE = function(name, value) { - return new TypeError(`The value "${value}" is invalid for option "${name}"`); -}, ERR_INVALID_ARG_VALUE = function(name, value, reason) { - return new Error(`The value "${value}" is invalid for argument '${name}'. Reason: ${reason}`); -}, ERR_CHILD_PROCESS_IPC_REQUIRED = function(name) { - const err = new TypeError(`Forked processes must have an IPC channel, missing value 'ipc' in ${name}`); - return err.code = "ERR_CHILD_PROCESS_IPC_REQUIRED", err; -}, signals = constants.signals, { ArrayBuffer, Uint8Array, String, Object, Buffer, Promise: Promise2 } = globalThis[Symbol.for("Bun.lazy")]("primordials"), ObjectPrototypeHasOwnProperty = Object.prototype.hasOwnProperty, ObjectCreate = Object.create, ObjectAssign = Object.assign, ObjectDefineProperty = Object.defineProperty, BufferConcat = Buffer.concat, BufferIsEncoding = Buffer.isEncoding, kEmptyObject = ObjectCreate(null), ArrayPrototypePush = Array.prototype.push, ArrayPrototypeJoin = Array.prototype.join, ArrayPrototypeMap = Array.prototype.map, ArrayPrototypeIncludes = Array.prototype.includes, ArrayPrototypeSlice = Array.prototype.slice, ArrayPrototypeUnshift = Array.prototype.unshift, ArrayPrototypeLastIndexOf = Array.prototype.lastIndexOf, ArrayPrototypeSplice = Array.prototype.splice, ArrayIsArray = Array.isArray, ArrayBufferIsView = ArrayBuffer.isView, NumberIsInteger = Number.isInteger; -var StringPrototypeToUpperCase = String.prototype.toUpperCase, StringPrototypeIncludes = String.prototype.includes, StringPrototypeSlice = String.prototype.slice, Uint8ArrayPrototypeIncludes = Uint8Array.prototype.includes, MAX_BUFFER = 1048576, __DEBUG__ = process.env.DEBUG || !1, __TRACK_STDIO__ = process.env.DEBUG_STDIO, debug = __DEBUG__ ? console.log : () => { -}; -if (__TRACK_STDIO__) - debug("child_process: debug mode on"), globalThis.__lastId = null, globalThis.__getId = () => { - return globalThis.__lastId !== null ? globalThis.__lastId++ : 0; - }; -var NativeWritable2, ReadableFromWeb, customPromiseExecFunction = (orig) => { - return (...args) => { - let resolve, reject; - const promise = new Promise2((res, rej) => { - resolve = res, reject = rej; - }); - return promise.child = orig(...args, (err, stdout, stderr) => { - if (err !== null) - err.stdout = stdout, err.stderr = stderr, reject(err); - else - resolve({ stdout, stderr }); - }), promise; - }; -}; -ObjectDefineProperty(exec, promisify.custom, { - __proto__: null, - enumerable: !1, - value: customPromiseExecFunction(exec) -}); -var signalsToNamesMapping; - -class ChildProcess extends EventEmitter { - #handle; - #exited = !1; - #closesNeeded = 1; - #closesGot = 0; - connected = !1; - signalCode = null; - exitCode = null; - spawnfile; - spawnargs; - pid; - channel; - get killed() { - if (this.#handle == null) - return !1; - } - #handleOnExit(exitCode, signalCode, err) { - if (this.#exited) - return; - if (signalCode) - this.signalCode = signalCode; - else - this.exitCode = exitCode; - if (this.#stdin) - this.#stdin.destroy(); - if (this.#handle) - this.#handle = null; - if (exitCode < 0) { - const err2 = new SystemError(`Spawned process exited with error code: ${exitCode}`, void 0, "spawn", "EUNKNOWN", "ERR_CHILD_PROCESS_UNKNOWN_ERROR"); - if (this.spawnfile) - err2.path = this.spawnfile; - err2.spawnargs = ArrayPrototypeSlice.call(this.spawnargs, 1), this.emit("error", err2); - } else - this.emit("exit", this.exitCode, this.signalCode); - process.nextTick(flushStdio, this), this.#maybeClose(), this.#exited = !0, this.#stdioOptions = ["destroyed", "destroyed", "destroyed"]; - } - #getBunSpawnIo(i, encoding) { - if (__DEBUG__ && !this.#handle) - if (this.#handle === null) - debug("ChildProcess: getBunSpawnIo: this.#handle is null. This means the subprocess already exited"); - else - debug("ChildProcess: getBunSpawnIo: this.#handle is undefined"); - NativeWritable2 ||= StreamModule.NativeWritable, ReadableFromWeb ||= StreamModule.Readable.fromWeb; - const io = this.#stdioOptions[i]; - switch (i) { - case 0: - switch (io) { - case "pipe": - return new NativeWritable2(this.#handle.stdin); - case "inherit": - return process.stdin || null; - case "destroyed": - return new ShimmedStdin; - default: - return null; - } - case 2: - case 1: - switch (io) { - case "pipe": - return ReadableFromWeb(this.#handle[fdToStdioName(i)], { encoding }); - case "inherit": - return process[fdToStdioName(i)] || null; - case "destroyed": - return new ShimmedStdioOutStream; - default: - return null; - } - } - } - #stdin; - #stdout; - #stderr; - #stdioObject; - #encoding; - #stdioOptions; - #createStdioObject() { - return Object.create(null, { - 0: { - get: () => this.stdin - }, - 1: { - get: () => this.stdout - }, - 2: { - get: () => this.stderr - } - }); - } - get stdin() { - return this.#stdin ??= this.#getBunSpawnIo(0, this.#encoding); - } - get stdout() { - return this.#stdout ??= this.#getBunSpawnIo(1, this.#encoding); - } - get stderr() { - return this.#stderr ??= this.#getBunSpawnIo(2, this.#encoding); - } - get stdio() { - return this.#stdioObject ??= this.#createStdioObject(); - } - spawn(options) { - validateObject(options, "options"), validateString(options.file, "options.file"); - var file = this.spawnfile = options.file, spawnargs; - if (options.args == null) - spawnargs = this.spawnargs = []; - else - validateArray(options.args, "options.args"), spawnargs = this.spawnargs = options.args; - const stdio = options.stdio || ["pipe", "pipe", "pipe"], bunStdio = getBunStdioFromOptions(stdio); - var env = options.envPairs || void 0; - this.#encoding = options.encoding || void 0, this.#stdioOptions = bunStdio, this.#handle = Bun.spawn({ - cmd: spawnargs, - stdin: bunStdio[0], - stdout: bunStdio[1], - stderr: bunStdio[2], - cwd: options.cwd || void 0, - env: env || process.env, - onExit: (handle, exitCode, signalCode, err) => { - this.#handle = handle, this.pid = this.#handle.pid, process.nextTick((exitCode2, signalCode2, err2) => this.#handleOnExit(exitCode2, signalCode2, err2), exitCode, signalCode, err); - }, - lazy: !0 - }), this.pid = this.#handle.pid, onSpawnNT(this); - } - send() { - console.log("ChildProcess.prototype.send() - Sorry! Not implemented yet"); - } - disconnect() { - console.log("ChildProcess.prototype.disconnect() - Sorry! Not implemented yet"); - } - kill(sig) { - const signal = sig === 0 ? sig : convertToValidSignal(sig === void 0 ? "SIGTERM" : sig); - if (this.#handle) - this.#handle.kill(signal); - return this.#maybeClose(), !0; - } - #maybeClose() { - if (debug("Attempting to maybe close..."), this.#closesGot++, this.#closesGot === this.#closesNeeded) - this.emit("close", this.exitCode, this.signalCode); - } - ref() { - if (this.#handle) - this.#handle.ref(); - } - unref() { - if (this.#handle) - this.#handle.unref(); - } -} -var nodeToBunLookup = { - ignore: null, - pipe: "pipe", - overlapped: "pipe", - inherit: "inherit" -}; - -class ShimmedStdin extends EventEmitter { - constructor() { - super(); - } - write() { - return !1; - } - destroy() { - } - end() { - } - pipe() { - } -} - -class ShimmedStdioOutStream extends EventEmitter { - pipe() { - } -} -var validateAbortSignal = (signal, name) => { - if (signal !== void 0 && (signal === null || typeof signal !== "object" || !("aborted" in signal))) - throw new ERR_INVALID_ARG_TYPE(name, "AbortSignal", signal); -}; -var validateObject = (value, name, options = null) => { - const allowArray = options?.allowArray ?? !1, allowFunction = options?.allowFunction ?? !1; - if (!(options?.nullable ?? !1) && value === null || !allowArray && ArrayIsArray.call(value) || typeof value !== "object" && (!allowFunction || typeof value !== "function")) - throw new ERR_INVALID_ARG_TYPE(name, "object", value); -}, validateArray = (value, name, minLength = 0) => { - if (!ArrayIsArray(value)) - throw new ERR_INVALID_ARG_TYPE(name, "Array", value); - if (value.length < minLength) { - const reason = `must be longer than ${minLength}`; - throw new ERR_INVALID_ARG_VALUE(name, value, reason); - } -}, Error = globalThis.Error, TypeError = globalThis.TypeError, RangeError = globalThis.RangeError; - -class AbortError extends Error { - code = "ABORT_ERR"; - name = "AbortError"; - constructor(message = "The operation was aborted", options = void 0) { - if (options !== void 0 && typeof options !== "object") - throw new ERR_INVALID_ARG_TYPE("options", "Object", options); - super(message, options); - } -} - -class SystemError extends Error { - path; - syscall; - errno; - code; - constructor(message, path, syscall, errno, code) { - super(message); - this.path = path, this.syscall = syscall, this.errno = errno, this.code = code; - } - get name() { - return "SystemError"; - } -} -var child_process_default = { - ChildProcess, - spawn, - execFile, - exec, - fork, - spawnSync, - execFileSync, - execSync, - [Symbol.for("CommonJS")]: 0 -}; -export { - spawnSync, - spawn, - fork, - execSync, - execFileSync, - execFile, - exec, - child_process_default as default, - ChildProcess -}; diff --git a/src/js/out/modules/node/cluster.js b/src/js/out/modules/node/cluster.js deleted file mode 100644 index 036e80380fbde..0000000000000 --- a/src/js/out/modules/node/cluster.js +++ /dev/null @@ -1,63 +0,0 @@ -import EventEmitter from "node:events"; - -// src/js/shared.ts -function throwNotImplemented(feature, issue) { - throw hideFromStack(throwNotImplemented), new NotImplementedError(feature, issue); -} -function hideFromStack(...fns) { - for (let fn of fns) - Object.defineProperty(fn, "name", { - value: "::bunternal::" - }); -} - -class NotImplementedError extends Error { - code; - constructor(feature, issue) { - super(feature + " is not yet implemented in Bun." + (issue ? " Track the status & thumbs up the issue: https://github.com/oven-sh/bun/issues/" + issue : "")); - this.name = "NotImplementedError", this.code = "ERR_NOT_IMPLEMENTED", hideFromStack(NotImplementedError); - } -} - -// src/js/node/cluster.ts -var SCHED_NONE = 0, SCHED_RR = 1, Worker, schedulingPolicy = 2, isWorker = !1, isPrimary = !0, isMaster = !0, cluster; -Worker = function Worker2() { - throwNotImplemented("node:cluster Worker", 2428); -}; - -class Cluster extends EventEmitter { - constructor() { - super(...arguments); - } - static isWorker = !1; - static isPrimary = !0; - static isMaster = !0; - static Worker = Worker; - fork() { - throwNotImplemented("node:cluster", 2428); - } - disconnect() { - throwNotImplemented("node:cluster", 2428); - } - setupMaster() { - throwNotImplemented("node:cluster", 2428); - } - settings = {}; - workers = {}; - SCHED_NONE = 0; - SCHED_RR = 1; - schedulingPolicy = 2; - [Symbol.for("CommonJS")] = 0; -} -cluster = new Cluster; -export { - schedulingPolicy, - isWorker, - isPrimary, - isMaster, - cluster as default, - cluster, - Worker, - SCHED_RR, - SCHED_NONE -}; diff --git a/src/js/out/modules/node/crypto.js b/src/js/out/modules/node/crypto.js deleted file mode 100644 index 81adf061842b0..0000000000000 --- a/src/js/out/modules/node/crypto.js +++ /dev/null @@ -1,4 +0,0 @@ -var bQ=(N)=>{return import.meta.require(N)};import{StringDecoder as uQ} from"node:string_decoder";import*as i$ from"node:buffer";import*as A$ from"node:stream";var q$=function(N,_,j){if(sQ(N))return N;if(typeof N==="string"){if(j==="buffer")j="utf8";return j0.from(N,j)}if(!tQ(N)){var k=new TypeError(`ERR_INVALID_ARG_TYPE: The "${_}" argument must be of type string or an instance of ArrayBuffer, Buffer, TypedArray, or DataView. Received `+N);throw k.code="ERR_INVALID_ARG_TYPE",k}return N},OZ=function(){return IZ};var lQ=Object.defineProperty;var oQ=Object.getOwnPropertyNames;var nQ=536870888,j0=globalThis.Buffer,$Q=j0.alloc(0),{isAnyArrayBuffer:sQ,isArrayBufferView:tQ}=import.meta.require("node:util/types"),W$=globalThis.crypto,QQ=W$;var S0=(N,_)=>function(){return _||(0,N[oQ(N)[0]])((_={exports:{}}).exports,_),_.exports},mQ=(N,_)=>{for(var j in _)lQ(N,j,{get:_[j],enumerable:!0})};var N0=S0({"node_modules/safe-buffer/index.js"(N,_){var j=i$,k=j.Buffer;function F(X,C){for(var z in X)C[z]=X[z]}k.from&&k.alloc&&k.allocUnsafe&&k.allocUnsafeSlow?_.exports=j:(F(j,N),N.Buffer=P);function P(X,C,z){return k(X,C,z)}P.prototype=Object.create(k.prototype),F(k,P),P.from=function(X,C,z){if(typeof X=="number")throw new TypeError("Argument must not be a number");return k(X,C,z)},P.alloc=function(X,C,z){if(typeof X!="number")throw new TypeError("Argument must be a number");var T=k(X);return C!==void 0?typeof z=="string"?T.fill(C,z):T.fill(C):T.fill(0),T},P.allocUnsafe=function(X){if(typeof X!="number")throw new TypeError("Argument must be a number");return k(X)},P.allocUnsafeSlow=function(X){if(typeof X!="number")throw new TypeError("Argument must be a number");return j.SlowBuffer(X)}}}),L$=S0({"node_modules/randombytes/browser.js"(N,_){var j=65536,k=4294967295;function F(){throw new Error(`Secure random number generation is not supported by this browser. -Use Chrome, Firefox or Internet Explorer 11`)}var P=N0().Buffer,X=QQ;X&&X.getRandomValues?_.exports=C:_.exports=F;function C(z,T){if(z>k)throw new RangeError("requested too many random bytes");var H=P.allocUnsafe(z);if(z>0)if(z>j)for(var J=0;J=this._blockSize;){for(var H=this._blockOffset;H0;++J)this._length[J]+=W,W=this._length[J]/4294967296|0,W>0&&(this._length[J]-=4294967296*W);return this},P.prototype._update=function(){throw new Error("_update is not implemented")},P.prototype.digest=function(X){if(this._finalized)throw new Error("Digest already called");this._finalized=!0;var C=this._digest();X!==void 0&&(C=C.toString(X)),this._block.fill(0),this._blockOffset=0;for(var z=0;z<4;++z)this._length[z]=0;return C},P.prototype._digest=function(){throw new Error("_digest is not implemented")},_.exports=P}}),ZQ=S0({"node_modules/md5.js/index.js"(N,_){var j=B0(),k=YQ(),F=N0().Buffer,P=new Array(16);function X(){k.call(this,64),this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878}j(X,k),X.prototype._update=function(){for(var W=P,D=0;D<16;++D)W[D]=this._block.readInt32LE(D*4);var E=this._a,R=this._b,M=this._c,v=this._d;E=z(E,R,M,v,W[0],3614090360,7),v=z(v,E,R,M,W[1],3905402710,12),M=z(M,v,E,R,W[2],606105819,17),R=z(R,M,v,E,W[3],3250441966,22),E=z(E,R,M,v,W[4],4118548399,7),v=z(v,E,R,M,W[5],1200080426,12),M=z(M,v,E,R,W[6],2821735955,17),R=z(R,M,v,E,W[7],4249261313,22),E=z(E,R,M,v,W[8],1770035416,7),v=z(v,E,R,M,W[9],2336552879,12),M=z(M,v,E,R,W[10],4294925233,17),R=z(R,M,v,E,W[11],2304563134,22),E=z(E,R,M,v,W[12],1804603682,7),v=z(v,E,R,M,W[13],4254626195,12),M=z(M,v,E,R,W[14],2792965006,17),R=z(R,M,v,E,W[15],1236535329,22),E=T(E,R,M,v,W[1],4129170786,5),v=T(v,E,R,M,W[6],3225465664,9),M=T(M,v,E,R,W[11],643717713,14),R=T(R,M,v,E,W[0],3921069994,20),E=T(E,R,M,v,W[5],3593408605,5),v=T(v,E,R,M,W[10],38016083,9),M=T(M,v,E,R,W[15],3634488961,14),R=T(R,M,v,E,W[4],3889429448,20),E=T(E,R,M,v,W[9],568446438,5),v=T(v,E,R,M,W[14],3275163606,9),M=T(M,v,E,R,W[3],4107603335,14),R=T(R,M,v,E,W[8],1163531501,20),E=T(E,R,M,v,W[13],2850285829,5),v=T(v,E,R,M,W[2],4243563512,9),M=T(M,v,E,R,W[7],1735328473,14),R=T(R,M,v,E,W[12],2368359562,20),E=H(E,R,M,v,W[5],4294588738,4),v=H(v,E,R,M,W[8],2272392833,11),M=H(M,v,E,R,W[11],1839030562,16),R=H(R,M,v,E,W[14],4259657740,23),E=H(E,R,M,v,W[1],2763975236,4),v=H(v,E,R,M,W[4],1272893353,11),M=H(M,v,E,R,W[7],4139469664,16),R=H(R,M,v,E,W[10],3200236656,23),E=H(E,R,M,v,W[13],681279174,4),v=H(v,E,R,M,W[0],3936430074,11),M=H(M,v,E,R,W[3],3572445317,16),R=H(R,M,v,E,W[6],76029189,23),E=H(E,R,M,v,W[9],3654602809,4),v=H(v,E,R,M,W[12],3873151461,11),M=H(M,v,E,R,W[15],530742520,16),R=H(R,M,v,E,W[2],3299628645,23),E=J(E,R,M,v,W[0],4096336452,6),v=J(v,E,R,M,W[7],1126891415,10),M=J(M,v,E,R,W[14],2878612391,15),R=J(R,M,v,E,W[5],4237533241,21),E=J(E,R,M,v,W[12],1700485571,6),v=J(v,E,R,M,W[3],2399980690,10),M=J(M,v,E,R,W[10],4293915773,15),R=J(R,M,v,E,W[1],2240044497,21),E=J(E,R,M,v,W[8],1873313359,6),v=J(v,E,R,M,W[15],4264355552,10),M=J(M,v,E,R,W[6],2734768916,15),R=J(R,M,v,E,W[13],1309151649,21),E=J(E,R,M,v,W[4],4149444226,6),v=J(v,E,R,M,W[11],3174756917,10),M=J(M,v,E,R,W[2],718787259,15),R=J(R,M,v,E,W[9],3951481745,21),this._a=this._a+E|0,this._b=this._b+R|0,this._c=this._c+M|0,this._d=this._d+v|0},X.prototype._digest=function(){this._block[this._blockOffset++]=128,this._blockOffset>56&&(this._block.fill(0,this._blockOffset,64),this._update(),this._blockOffset=0),this._block.fill(0,this._blockOffset,56),this._block.writeUInt32LE(this._length[0],56),this._block.writeUInt32LE(this._length[1],60),this._update();var W=F.allocUnsafe(16);return W.writeInt32LE(this._a,0),W.writeInt32LE(this._b,4),W.writeInt32LE(this._c,8),W.writeInt32LE(this._d,12),W};function C(W,D){return W<>>32-D}function z(W,D,E,R,M,v,q){return C(W+(D&E|~D&R)+M+v|0,q)+D|0}function T(W,D,E,R,M,v,q){return C(W+(D&R|E&~R)+M+v|0,q)+D|0}function H(W,D,E,R,M,v,q){return C(W+(D^E^R)+M+v|0,q)+D|0}function J(W,D,E,R,M,v,q){return C(W+(E^(D|~R))+M+v|0,q)+D|0}_.exports=X}}),GQ=S0({"node_modules/ripemd160/index.js"(N,_){var j=j0,k=B0(),F=YQ(),P=new Array(16),X=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13],C=[5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11],z=[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6],T=[8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11],H=[0,1518500249,1859775393,2400959708,2840853838],J=[1352829926,1548603684,1836072691,2053994217,0];function W(){F.call(this,64),this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520}k(W,F),W.prototype._update=function(){for(var g=P,B=0;B<16;++B)g[B]=this._block.readInt32LE(B*4);for(var w=this._a|0,f=this._b|0,b=this._c|0,u=this._d|0,Y0=this._e|0,p=this._a|0,v0=this._b|0,$=this._c|0,Y=this._d|0,G=this._e|0,Z=0;Z<80;Z+=1){var V,I;Z<16?(V=E(w,f,b,u,Y0,g[X[Z]],H[0],z[Z]),I=q(p,v0,$,Y,G,g[C[Z]],J[0],T[Z])):Z<32?(V=R(w,f,b,u,Y0,g[X[Z]],H[1],z[Z]),I=v(p,v0,$,Y,G,g[C[Z]],J[1],T[Z])):Z<48?(V=M(w,f,b,u,Y0,g[X[Z]],H[2],z[Z]),I=M(p,v0,$,Y,G,g[C[Z]],J[2],T[Z])):Z<64?(V=v(w,f,b,u,Y0,g[X[Z]],H[3],z[Z]),I=R(p,v0,$,Y,G,g[C[Z]],J[3],T[Z])):(V=q(w,f,b,u,Y0,g[X[Z]],H[4],z[Z]),I=E(p,v0,$,Y,G,g[C[Z]],J[4],T[Z])),w=Y0,Y0=u,u=D(b,10),b=f,f=V,p=G,G=Y,Y=D($,10),$=v0,v0=I}var O=this._b+b+Y|0;this._b=this._c+u+G|0,this._c=this._d+Y0+p|0,this._d=this._e+w+v0|0,this._e=this._a+f+$|0,this._a=O},W.prototype._digest=function(){this._block[this._blockOffset++]=128,this._blockOffset>56&&(this._block.fill(0,this._blockOffset,64),this._update(),this._blockOffset=0),this._block.fill(0,this._blockOffset,56),this._block.writeUInt32LE(this._length[0],56),this._block.writeUInt32LE(this._length[1],60),this._update();var g=j.alloc?j.alloc(20):new j(20);return g.writeInt32LE(this._a,0),g.writeInt32LE(this._b,4),g.writeInt32LE(this._c,8),g.writeInt32LE(this._d,12),g.writeInt32LE(this._e,16),g};function D(g,B){return g<>>32-B}function E(g,B,w,f,b,u,Y0,p){return D(g+(B^w^f)+u+Y0|0,p)+b|0}function R(g,B,w,f,b,u,Y0,p){return D(g+(B&w|~B&f)+u+Y0|0,p)+b|0}function M(g,B,w,f,b,u,Y0,p){return D(g+((B|~w)^f)+u+Y0|0,p)+b|0}function v(g,B,w,f,b,u,Y0,p){return D(g+(B&f|w&~f)+u+Y0|0,p)+b|0}function q(g,B,w,f,b,u,Y0,p){return D(g+(B^(w|~f))+u+Y0|0,p)+b|0}_.exports=W}}),R$=S0({"node_modules/sha.js/hash.js"(N,_){var j=N0().Buffer;function k(F,P){this._block=j.alloc(F),this._finalSize=P,this._blockSize=F,this._len=0}k.prototype.update=function(F,P){typeof F=="string"&&(P=P||"utf8",F=j.from(F,P));for(var X=this._block,C=this._blockSize,z=F.length,T=this._len,H=0;H=this._finalSize&&(this._update(this._block),this._block.fill(0));var X=this._len*8;if(X<=4294967295)this._block.writeUInt32BE(X,this._blockSize-4);else{var C=(X&4294967295)>>>0,z=(X-C)/4294967296;this._block.writeUInt32BE(z,this._blockSize-8),this._block.writeUInt32BE(C,this._blockSize-4)}this._update(this._block);var T=this._hash();return F?T.toString(F):T},k.prototype._update=function(){throw new Error("_update must be implemented by subclass")},_.exports=k}}),aQ=S0({"node_modules/sha.js/sha.js"(N,_){var j=B0(),k=R$(),F=N0().Buffer,P=[1518500249,1859775393,-1894007588,-899497514],X=new Array(80);function C(){this.init(),this._w=X,k.call(this,64,56)}j(C,k),C.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this};function z(J){return J<<5|J>>>27}function T(J){return J<<30|J>>>2}function H(J,W,D,E){return J===0?W&D|~W&E:J===2?W&D|W&E|D&E:W^D^E}C.prototype._update=function(J){for(var W=this._w,D=this._a|0,E=this._b|0,R=this._c|0,M=this._d|0,v=this._e|0,q=0;q<16;++q)W[q]=J.readInt32BE(q*4);for(;q<80;++q)W[q]=W[q-3]^W[q-8]^W[q-14]^W[q-16];for(var g=0;g<80;++g){var B=~~(g/20),w=z(D)+H(B,E,R,M)+v+W[g]+P[B]|0;v=M,M=R,R=T(E),E=D,D=w}this._a=D+this._a|0,this._b=E+this._b|0,this._c=R+this._c|0,this._d=M+this._d|0,this._e=v+this._e|0},C.prototype._hash=function(){var J=F.allocUnsafe(20);return J.writeInt32BE(this._a|0,0),J.writeInt32BE(this._b|0,4),J.writeInt32BE(this._c|0,8),J.writeInt32BE(this._d|0,12),J.writeInt32BE(this._e|0,16),J},_.exports=C}}),eQ=S0({"node_modules/sha.js/sha1.js"(N,_){var j=B0(),k=R$(),F=N0().Buffer,P=[1518500249,1859775393,-1894007588,-899497514],X=new Array(80);function C(){this.init(),this._w=X,k.call(this,64,56)}j(C,k),C.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this};function z(W){return W<<1|W>>>31}function T(W){return W<<5|W>>>27}function H(W){return W<<30|W>>>2}function J(W,D,E,R){return W===0?D&E|~D&R:W===2?D&E|D&R|E&R:D^E^R}C.prototype._update=function(W){for(var D=this._w,E=this._a|0,R=this._b|0,M=this._c|0,v=this._d|0,q=this._e|0,g=0;g<16;++g)D[g]=W.readInt32BE(g*4);for(;g<80;++g)D[g]=z(D[g-3]^D[g-8]^D[g-14]^D[g-16]);for(var B=0;B<80;++B){var w=~~(B/20),f=T(E)+J(w,R,M,v)+q+D[B]+P[w]|0;q=v,v=M,M=H(R),R=E,E=f}this._a=E+this._a|0,this._b=R+this._b|0,this._c=M+this._c|0,this._d=v+this._d|0,this._e=q+this._e|0},C.prototype._hash=function(){var W=F.allocUnsafe(20);return W.writeInt32BE(this._a|0,0),W.writeInt32BE(this._b|0,4),W.writeInt32BE(this._c|0,8),W.writeInt32BE(this._d|0,12),W.writeInt32BE(this._e|0,16),W},_.exports=C}}),VQ=S0({"node_modules/sha.js/sha256.js"(N,_){var j=B0(),k=R$(),F=N0().Buffer,P=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298],X=new Array(64);function C(){this.init(),this._w=X,k.call(this,64,56)}j(C,k),C.prototype.init=function(){return this._a=1779033703,this._b=3144134277,this._c=1013904242,this._d=2773480762,this._e=1359893119,this._f=2600822924,this._g=528734635,this._h=1541459225,this};function z(E,R,M){return M^E&(R^M)}function T(E,R,M){return E&R|M&(E|R)}function H(E){return(E>>>2|E<<30)^(E>>>13|E<<19)^(E>>>22|E<<10)}function J(E){return(E>>>6|E<<26)^(E>>>11|E<<21)^(E>>>25|E<<7)}function W(E){return(E>>>7|E<<25)^(E>>>18|E<<14)^E>>>3}function D(E){return(E>>>17|E<<15)^(E>>>19|E<<13)^E>>>10}C.prototype._update=function(E){for(var R=this._w,M=this._a|0,v=this._b|0,q=this._c|0,g=this._d|0,B=this._e|0,w=this._f|0,f=this._g|0,b=this._h|0,u=0;u<16;++u)R[u]=E.readInt32BE(u*4);for(;u<64;++u)R[u]=D(R[u-2])+R[u-7]+W(R[u-15])+R[u-16]|0;for(var Y0=0;Y0<64;++Y0){var p=b+J(B)+z(B,w,f)+P[Y0]+R[Y0]|0,v0=H(M)+T(M,v,q)|0;b=f,f=w,w=B,B=g+p|0,g=q,q=v,v=M,M=p+v0|0}this._a=M+this._a|0,this._b=v+this._b|0,this._c=q+this._c|0,this._d=g+this._d|0,this._e=B+this._e|0,this._f=w+this._f|0,this._g=f+this._g|0,this._h=b+this._h|0},C.prototype._hash=function(){var E=F.allocUnsafe(32);return E.writeInt32BE(this._a,0),E.writeInt32BE(this._b,4),E.writeInt32BE(this._c,8),E.writeInt32BE(this._d,12),E.writeInt32BE(this._e,16),E.writeInt32BE(this._f,20),E.writeInt32BE(this._g,24),E.writeInt32BE(this._h,28),E},_.exports=C}}),rQ=S0({"node_modules/sha.js/sha224.js"(N,_){var j=B0(),k=VQ(),F=R$(),P=N0().Buffer,X=new Array(64);function C(){this.init(),this._w=X,F.call(this,64,56)}j(C,k),C.prototype.init=function(){return this._a=3238371032,this._b=914150663,this._c=812702999,this._d=4144912697,this._e=4290775857,this._f=1750603025,this._g=1694076839,this._h=3204075428,this},C.prototype._hash=function(){var z=P.allocUnsafe(28);return z.writeInt32BE(this._a,0),z.writeInt32BE(this._b,4),z.writeInt32BE(this._c,8),z.writeInt32BE(this._d,12),z.writeInt32BE(this._e,16),z.writeInt32BE(this._f,20),z.writeInt32BE(this._g,24),z},_.exports=C}}),UQ=S0({"node_modules/sha.js/sha512.js"(N,_){var j=B0(),k=R$(),F=N0().Buffer,P=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591],X=new Array(160);function C(){this.init(),this._w=X,k.call(this,128,112)}j(C,k),C.prototype.init=function(){return this._ah=1779033703,this._bh=3144134277,this._ch=1013904242,this._dh=2773480762,this._eh=1359893119,this._fh=2600822924,this._gh=528734635,this._hh=1541459225,this._al=4089235720,this._bl=2227873595,this._cl=4271175723,this._dl=1595750129,this._el=2917565137,this._fl=725511199,this._gl=4215389547,this._hl=327033209,this};function z(v,q,g){return g^v&(q^g)}function T(v,q,g){return v&q|g&(v|q)}function H(v,q){return(v>>>28|q<<4)^(q>>>2|v<<30)^(q>>>7|v<<25)}function J(v,q){return(v>>>14|q<<18)^(v>>>18|q<<14)^(q>>>9|v<<23)}function W(v,q){return(v>>>1|q<<31)^(v>>>8|q<<24)^v>>>7}function D(v,q){return(v>>>1|q<<31)^(v>>>8|q<<24)^(v>>>7|q<<25)}function E(v,q){return(v>>>19|q<<13)^(q>>>29|v<<3)^v>>>6}function R(v,q){return(v>>>19|q<<13)^(q>>>29|v<<3)^(v>>>6|q<<26)}function M(v,q){return v>>>0>>0?1:0}C.prototype._update=function(v){for(var q=this._w,g=this._ah|0,B=this._bh|0,w=this._ch|0,f=this._dh|0,b=this._eh|0,u=this._fh|0,Y0=this._gh|0,p=this._hh|0,v0=this._al|0,$=this._bl|0,Y=this._cl|0,G=this._dl|0,Z=this._el|0,V=this._fl|0,I=this._gl|0,O=this._hl|0,U=0;U<32;U+=2)q[U]=v.readInt32BE(U*4),q[U+1]=v.readInt32BE(U*4+4);for(;U<160;U+=2){var Q=q[U-30],K=q[U-30+1],L=W(Q,K),A=D(K,Q);Q=q[U-4],K=q[U-4+1];var S=E(Q,K),x=R(K,Q),y=q[U-14],c=q[U-14+1],q0=q[U-32],h=q[U-32+1],d=A+c|0,_0=L+y+M(d,A)|0;d=d+x|0,_0=_0+S+M(d,x)|0,d=d+h|0,_0=_0+q0+M(d,h)|0,q[U]=_0,q[U+1]=d}for(var l=0;l<160;l+=2){_0=q[l],d=q[l+1];var n=T(g,B,w),y0=T(v0,$,Y),t=H(g,v0),s=H(v0,g),w0=J(b,Z),m=J(Z,b),r=P[l],$$=P[l+1],i=z(b,u,Y0),e=z(Z,V,I),x0=O+m|0,o=p+w0+M(x0,O)|0;x0=x0+e|0,o=o+i+M(x0,e)|0,x0=x0+$$|0,o=o+r+M(x0,$$)|0,x0=x0+d|0,o=o+_0+M(x0,d)|0;var a=s+y0|0,p0=t+n+M(a,s)|0;p=Y0,O=I,Y0=u,I=V,u=b,V=Z,Z=G+x0|0,b=f+o+M(Z,G)|0,f=w,G=Y,w=B,Y=$,B=g,$=v0,v0=x0+a|0,g=o+p0+M(v0,x0)|0}this._al=this._al+v0|0,this._bl=this._bl+$|0,this._cl=this._cl+Y|0,this._dl=this._dl+G|0,this._el=this._el+Z|0,this._fl=this._fl+V|0,this._gl=this._gl+I|0,this._hl=this._hl+O|0,this._ah=this._ah+g+M(this._al,v0)|0,this._bh=this._bh+B+M(this._bl,$)|0,this._ch=this._ch+w+M(this._cl,Y)|0,this._dh=this._dh+f+M(this._dl,G)|0,this._eh=this._eh+b+M(this._el,Z)|0,this._fh=this._fh+u+M(this._fl,V)|0,this._gh=this._gh+Y0+M(this._gl,I)|0,this._hh=this._hh+p+M(this._hl,O)|0},C.prototype._hash=function(){var v=F.allocUnsafe(64);function q(g,B,w){v.writeInt32BE(g,w),v.writeInt32BE(B,w+4)}return q(this._ah,this._al,0),q(this._bh,this._bl,8),q(this._ch,this._cl,16),q(this._dh,this._dl,24),q(this._eh,this._el,32),q(this._fh,this._fl,40),q(this._gh,this._gl,48),q(this._hh,this._hl,56),v},_.exports=C}}),iQ=S0({"node_modules/sha.js/sha384.js"(N,_){var j=B0(),k=UQ(),F=R$(),P=N0().Buffer,X=new Array(160);function C(){this.init(),this._w=X,F.call(this,128,112)}j(C,k),C.prototype.init=function(){return this._ah=3418070365,this._bh=1654270250,this._ch=2438529370,this._dh=355462360,this._eh=1731405415,this._fh=2394180231,this._gh=3675008525,this._hh=1203062813,this._al=3238371032,this._bl=914150663,this._cl=812702999,this._dl=4144912697,this._el=4290775857,this._fl=1750603025,this._gl=1694076839,this._hl=3204075428,this},C.prototype._hash=function(){var z=P.allocUnsafe(48);function T(H,J,W){z.writeInt32BE(H,W),z.writeInt32BE(J,W+4)}return T(this._ah,this._al,0),T(this._bh,this._bl,8),T(this._ch,this._cl,16),T(this._dh,this._dl,24),T(this._eh,this._el,32),T(this._fh,this._fl,40),z},_.exports=C}}),XQ=S0({"node_modules/sha.js/index.js"(j,_){var j=_.exports=function(k){k=k.toLowerCase();var F=j[k];if(!F)throw new Error(k+" is not supported (we accept pull requests)");return new F};j.sha=aQ(),j.sha1=eQ(),j.sha224=rQ(),j.sha256=VQ(),j.sha384=iQ(),j.sha512=UQ()}}),C$=S0({"node_modules/cipher-base/index.js"(N,_){var j=N0().Buffer,k=B0();function F(P){A$.Transform.call(this),this.hashMode=typeof P=="string",this.hashMode?this[P]=this._finalOrDigest:this.final=this._finalOrDigest,this._final&&(this.__final=this._final,this._final=null),this._decoder=null,this._encoding=null}k(F,A$.Transform),F.prototype.update=function(P,X,C){typeof P=="string"&&(P=j.from(P,X));var z=this._update(P);return this.hashMode?this:(C&&(z=this._toString(z,C)),z)},F.prototype.setAutoPadding=function(){},F.prototype.getAuthTag=function(){throw new Error("trying to get auth tag in unsupported state")},F.prototype.setAuthTag=function(){throw new Error("trying to set auth tag in unsupported state")},F.prototype.setAAD=function(){throw new Error("trying to set aad in unsupported state")},F.prototype._transform=function(P,X,C){var z;try{this.hashMode?this._update(P):this.push(this._update(P))}catch(T){z=T}finally{C(z)}},F.prototype._flush=function(P){var X;try{this.push(this.__final())}catch(C){X=C}P(X)},F.prototype._finalOrDigest=function(P){var X=this.__final()||j.alloc(0);return P&&(X=this._toString(X,P,!0)),X},F.prototype._toString=function(P,X,C){if(this._decoder||(this._decoder=new uQ(X),this._encoding=X),this._encoding!==X)throw new Error("can't switch encodings");var z=this._decoder.write(P);return C&&(z+=this._decoder.end()),z},_.exports=F}}),M$=S0({"node_modules/create-hash/browser.js"(N,_){const j=function P(X,C){this._options=C,this._hasher=new $Z(X,C),this._finalized=!1};j.prototype=Object.create(A$.Transform.prototype),j.prototype.update=function P(X,C){return this._checkFinalized(),this._hasher.update(X,C),this},j.prototype.digest=function P(X,C){return this._checkFinalized(),this._finalized=!0,this._hasher.digest(X,C)},j.prototype._checkFinalized=function P(){if(this._finalized){var X=new Error("Digest already called");throw X.code="ERR_CRYPTO_HASH_FINALIZED",X}},j.prototype.copy=function P(){const X=Object.create(j.prototype);return X._options=this._options,X._hasher=this._hasher.copy(),X._finalized=this._finalized,X};const k={__proto__:A$.Transform.prototype,...j.prototype,_transform(P,X,C){this.update(P,X),C&&C()},_flush(P){this.push(this.digest()),P()}},F=["_events","_eventsCount","_final","_maxListeners","_maxListeners","_read","_undestroy","_writableState","_write","_writev","addListener","asIndexedPairs","closed","compose","constructor","cork","destroy","destroyed","drop","emit","end","errored","eventNames","every","filter","find","flatMap","forEach","getMaxListeners","hasOwnProperty","isPaused","isPrototypeOf","iterator","listenerCount","listeners","map","off","on","once","pause","pipe","prependListener","prependOnceListener","propertyIsEnumerable","push","rawListeners","read","readable","readableAborted","readableBuffer","readableDidRead","readableEncoding","readableEnded","readableFlowing","readableHighWaterMark","readableLength","readableObjectMode","reduce","removeAllListeners","removeListener","resume","setDefaultEncoding","setEncoding","setMaxListeners","some","take","toArray","toLocaleString","toString","uncork","unpipe","unshift","valueOf","wrap","writable","writableBuffer","writableCorked","writableEnded","writableFinished","writableHighWaterMark","writableLength","writableNeedDrain","writableObjectMode","write"];for(let P of F)Object.defineProperty(j.prototype,P,{get(){return Object.setPrototypeOf(this,k),A$.Transform.call(this,this._options),this[P]},enumerable:!1,configurable:!0});_.exports=function P(X){return new j(X)},_.exports.createHash=_.exports,_.exports.Hash=j}}),$Y=S0({"node_modules/create-hmac/legacy.js"(N,_){var j=B0(),k=N0().Buffer,F=C$(),P=k.alloc(128),X=64;function C(z,T){F.call(this,"digest"),typeof T=="string"&&(T=k.from(T)),this._alg=z,this._key=T,T.length>X?T=z(T):T.lengthD){var E=J==="rmd160"?new C:z(J);W=E.update(W).digest()}else W.lengthj||F!==F)throw new TypeError("Bad key length")}}}),FQ=S0({"node_modules/pbkdf2/lib/default-encoding.js"(N,_){var j;global.process&&global.process.browser?j="utf-8":global.process&&global.process.version?(k=parseInt(process.version.split(".")[0].slice(1),10),j=k>=6?"utf-8":"binary"):j="utf-8";var k;_.exports=j}}),AQ=S0({"node_modules/pbkdf2/lib/to-buffer.js"(N,_){var j=N0().Buffer;_.exports=function(k,F,P){if(j.isBuffer(k))return k;if(typeof k=="string")return j.from(k,F);if(ArrayBuffer.isView(k))return j.from(k.buffer);throw new TypeError(P+" must be a string, a Buffer, a typed array or a DataView")}}}),WQ=S0({"node_modules/pbkdf2/lib/sync-browser.js"(N,_){var j=KQ(),k=GQ(),F=XQ(),P=N0().Buffer,X=JQ(),C=FQ(),z=AQ(),T=P.alloc(128),H={md5:16,sha1:20,sha224:28,sha256:32,sha384:48,sha512:64,rmd160:20,ripemd160:20};function J(E,R,M){var v=W(E),q=E==="sha512"||E==="sha384"?128:64;R.length>q?R=v(R):R.length>>0},N.writeUInt32BE=function(F,P,X){F[0+X]=P>>>24,F[1+X]=P>>>16&255,F[2+X]=P>>>8&255,F[3+X]=P&255},N.ip=function(F,P,X,C){for(var z=0,T=0,H=6;H>=0;H-=2){for(var J=0;J<=24;J+=8)z<<=1,z|=P>>>J+H&1;for(var J=0;J<=24;J+=8)z<<=1,z|=F>>>J+H&1}for(var H=6;H>=0;H-=2){for(var J=1;J<=25;J+=8)T<<=1,T|=P>>>J+H&1;for(var J=1;J<=25;J+=8)T<<=1,T|=F>>>J+H&1}X[C+0]=z>>>0,X[C+1]=T>>>0},N.rip=function(F,P,X,C){for(var z=0,T=0,H=0;H<4;H++)for(var J=24;J>=0;J-=8)z<<=1,z|=P>>>J+H&1,z<<=1,z|=F>>>J+H&1;for(var H=4;H<8;H++)for(var J=24;J>=0;J-=8)T<<=1,T|=P>>>J+H&1,T<<=1,T|=F>>>J+H&1;X[C+0]=z>>>0,X[C+1]=T>>>0},N.pc1=function(F,P,X,C){for(var z=0,T=0,H=7;H>=5;H--){for(var J=0;J<=24;J+=8)z<<=1,z|=P>>J+H&1;for(var J=0;J<=24;J+=8)z<<=1,z|=F>>J+H&1}for(var J=0;J<=24;J+=8)z<<=1,z|=P>>J+H&1;for(var H=1;H<=3;H++){for(var J=0;J<=24;J+=8)T<<=1,T|=P>>J+H&1;for(var J=0;J<=24;J+=8)T<<=1,T|=F>>J+H&1}for(var J=0;J<=24;J+=8)T<<=1,T|=F>>J+H&1;X[C+0]=z>>>0,X[C+1]=T>>>0},N.r28shl=function(F,P){return F<>>28-P};var _=[14,11,17,4,27,23,25,0,13,22,7,18,5,9,16,24,2,20,12,21,1,8,15,26,15,4,25,19,9,1,26,16,5,11,23,8,12,7,17,0,22,3,10,14,6,20,27,24];N.pc2=function(F,P,X,C){for(var z=0,T=0,H=_.length>>>1,J=0;J>>_[J]&1;for(var J=H;J<_.length;J++)T<<=1,T|=P>>>_[J]&1;X[C+0]=z>>>0,X[C+1]=T>>>0},N.expand=function(F,P,X){var C=0,z=0;C=(F&1)<<5|F>>>27;for(var T=23;T>=15;T-=4)C<<=6,C|=F>>>T&63;for(var T=11;T>=3;T-=4)z|=F>>>T&63,z<<=6;z|=(F&31)<<1|F>>>31,P[X+0]=C>>>0,P[X+1]=z>>>0};var j=[14,0,4,15,13,7,1,4,2,14,15,2,11,13,8,1,3,10,10,6,6,12,12,11,5,9,9,5,0,3,7,8,4,15,1,12,14,8,8,2,13,4,6,9,2,1,11,7,15,5,12,11,9,3,7,14,3,10,10,0,5,6,0,13,15,3,1,13,8,4,14,7,6,15,11,2,3,8,4,14,9,12,7,0,2,1,13,10,12,6,0,9,5,11,10,5,0,13,14,8,7,10,11,1,10,3,4,15,13,4,1,2,5,11,8,6,12,7,6,12,9,0,3,5,2,14,15,9,10,13,0,7,9,0,14,9,6,3,3,4,15,6,5,10,1,2,13,8,12,5,7,14,11,12,4,11,2,15,8,1,13,1,6,10,4,13,9,0,8,6,15,9,3,8,0,7,11,4,1,15,2,14,12,3,5,11,10,5,14,2,7,12,7,13,13,8,14,11,3,5,0,6,6,15,9,0,10,3,1,4,2,7,8,2,5,12,11,1,12,10,4,14,15,9,10,3,6,15,9,0,0,6,12,10,11,1,7,13,13,8,15,9,1,4,3,5,14,11,5,12,2,7,8,2,4,14,2,14,12,11,4,2,1,12,7,4,10,7,11,13,6,1,8,5,5,0,3,15,15,10,13,3,0,9,14,8,9,6,4,11,2,8,1,12,11,7,10,1,13,14,7,2,8,13,15,6,9,15,12,0,5,9,6,10,3,4,0,5,14,3,12,10,1,15,10,4,15,2,9,7,2,12,6,9,8,5,0,6,13,1,3,13,4,14,14,0,7,11,5,3,11,8,9,4,14,3,15,2,5,12,2,9,8,5,12,15,3,10,7,11,0,14,4,1,10,7,1,6,13,0,11,8,6,13,4,13,11,0,2,11,14,7,15,4,0,9,8,1,13,10,3,14,12,3,9,5,7,12,5,2,10,15,6,8,1,6,1,6,4,11,11,13,13,8,12,1,3,4,7,10,14,7,10,9,15,5,6,0,8,15,0,14,5,2,9,3,2,12,13,1,2,15,8,13,4,8,6,10,15,3,11,7,1,4,10,12,9,5,3,6,14,11,5,0,0,14,12,9,7,2,7,2,11,1,4,14,1,7,9,4,12,10,14,8,2,13,0,15,6,12,10,9,13,0,15,3,3,5,5,6,8,11];N.substitute=function(F,P){for(var X=0,C=0;C<4;C++){var z=F>>>18-C*6&63,T=j[C*64+z];X<<=4,X|=T}for(var C=0;C<4;C++){var z=P>>>18-C*6&63,T=j[256+C*64+z];X<<=4,X|=T}return X>>>0};var k=[16,25,12,11,3,20,4,15,31,17,9,6,27,14,1,22,30,24,8,18,0,5,29,23,13,19,2,26,10,21,28,7];N.permute=function(F){for(var P=0,X=0;X>>k[X]&1;return P>>>0},N.padSplit=function(F,P,X){for(var C=F.toString(2);C.length0;C--)P+=this._buffer(F,P),X+=this._flushBuffer(z,X);return P+=this._buffer(F,P),z},k.prototype.final=function(F){var P;F&&(P=this.update(F));var X;return this.type==="encrypt"?X=this._finalEncrypt():X=this._finalDecrypt(),P?P.concat(X):X},k.prototype._pad=function(F,P){if(P===0)return!1;for(;P>>1];J=F.r28shl(J,E),W=F.r28shl(W,E),F.pc2(J,W,T.keys,D)}},C.prototype._update=function(T,H,J,W){var D=this._desState,E=F.readUInt32BE(T,H),R=F.readUInt32BE(T,H+4);F.ip(E,R,D.tmp,0),E=D.tmp[0],R=D.tmp[1],this.type==="encrypt"?this._encrypt(D,E,R,D.tmp,0):this._decrypt(D,E,R,D.tmp,0),E=D.tmp[0],R=D.tmp[1],F.writeUInt32BE(J,E,W),F.writeUInt32BE(J,R,W+4)},C.prototype._pad=function(T,H){for(var J=T.length-H,W=H;W>>0,E=w}F.rip(R,E,W,D)},C.prototype._decrypt=function(T,H,J,W,D){for(var E=J,R=H,M=T.keys.length-2;M>=0;M-=2){var v=T.keys[M],q=T.keys[M+1];F.expand(E,T.tmp,0),v^=T.tmp[0],q^=T.tmp[1];var g=F.substitute(v,q),B=F.permute(g),w=E;E=(R^B)>>>0,R=w}F.rip(E,R,W,D)}}}),ZY=S0({"node_modules/des.js/lib/des/cbc.js"(N){var _=H$(),j=B0(),k={};function F(X){_.equal(X.length,8,"Invalid IV length"),this.iv=new Array(8);for(var C=0;C>z%8,F._prev=k(F._prev,X?J:W);return H}function k(F,P){var X=F.length,C=-1,z=_.allocUnsafe(F.length);for(F=_.concat([F,_.from([P])]);++C>7;return z}N.encrypt=function(F,P,X){for(var C=P.length,z=_.allocUnsafe(C),T=-1;++T>>24]^R[g>>>16&255]^M[B>>>8&255]^v[w&255]^H[p++],b=E[g>>>24]^R[B>>>16&255]^M[w>>>8&255]^v[q&255]^H[p++],u=E[B>>>24]^R[w>>>16&255]^M[q>>>8&255]^v[g&255]^H[p++],Y0=E[w>>>24]^R[q>>>16&255]^M[g>>>8&255]^v[B&255]^H[p++],q=f,g=b,B=u,w=Y0;return f=(W[q>>>24]<<24|W[g>>>16&255]<<16|W[B>>>8&255]<<8|W[w&255])^H[p++],b=(W[g>>>24]<<24|W[B>>>16&255]<<16|W[w>>>8&255]<<8|W[q&255])^H[p++],u=(W[B>>>24]<<24|W[w>>>16&255]<<16|W[q>>>8&255]<<8|W[g&255])^H[p++],Y0=(W[w>>>24]<<24|W[q>>>16&255]<<16|W[g>>>8&255]<<8|W[B&255])^H[p++],f=f>>>0,b=b>>>0,u=u>>>0,Y0=Y0>>>0,[f,b,u,Y0]}var X=[0,1,2,4,8,16,32,64,128,27,54],C=function(){for(var T=new Array(256),H=0;H<256;H++)H<128?T[H]=H<<1:T[H]=H<<1^283;for(var J=[],W=[],D=[[],[],[],[]],E=[[],[],[],[]],R=0,M=0,v=0;v<256;++v){var q=M^M<<1^M<<2^M<<3^M<<4;q=q>>>8^q&255^99,J[R]=q,W[q]=R;var g=T[R],B=T[g],w=T[B],f=T[q]*257^q*16843008;D[0][R]=f<<24|f>>>8,D[1][R]=f<<16|f>>>16,D[2][R]=f<<8|f>>>24,D[3][R]=f,f=w*16843009^B*65537^g*257^R*16843008,E[0][q]=f<<24|f>>>8,E[1][q]=f<<16|f>>>16,E[2][q]=f<<8|f>>>24,E[3][q]=f,R===0?R=M=1:(R=g^T[T[T[w^g]]],M^=T[T[M]])}return{SBOX:J,INV_SBOX:W,SUB_MIX:D,INV_SUB_MIX:E}}();function z(T){this._key=k(T),this._reset()}z.blockSize=16,z.keySize=32,z.prototype.blockSize=z.blockSize,z.prototype.keySize=z.keySize,z.prototype._reset=function(){for(var T=this._key,H=T.length,J=H+6,W=(J+1)*4,D=[],E=0;E>>24,R=C.SBOX[R>>>24]<<24|C.SBOX[R>>>16&255]<<16|C.SBOX[R>>>8&255]<<8|C.SBOX[R&255],R^=X[E/H|0]<<24):H>6&&E%H===4&&(R=C.SBOX[R>>>24]<<24|C.SBOX[R>>>16&255]<<16|C.SBOX[R>>>8&255]<<8|C.SBOX[R&255]),D[E]=D[E-H]^R}for(var M=[],v=0;v>>24]]^C.INV_SUB_MIX[1][C.SBOX[g>>>16&255]]^C.INV_SUB_MIX[2][C.SBOX[g>>>8&255]]^C.INV_SUB_MIX[3][C.SBOX[g&255]]}this._nRounds=J,this._keySchedule=D,this._invKeySchedule=M},z.prototype.encryptBlockRaw=function(T){return T=k(T),P(T,this._keySchedule,C.SUB_MIX,C.SBOX,this._nRounds)},z.prototype.encryptBlock=function(T){var H=this.encryptBlockRaw(T),J=j.allocUnsafe(16);return J.writeUInt32BE(H[0],0),J.writeUInt32BE(H[1],4),J.writeUInt32BE(H[2],8),J.writeUInt32BE(H[3],12),J},z.prototype.decryptBlock=function(T){T=k(T);var H=T[1];T[1]=T[3],T[3]=H;var J=P(T,this._invKeySchedule,C.INV_SUB_MIX,C.INV_SBOX,this._nRounds),W=j.allocUnsafe(16);return W.writeUInt32BE(J[0],0),W.writeUInt32BE(J[3],4),W.writeUInt32BE(J[2],8),W.writeUInt32BE(J[1],12),W},z.prototype.scrub=function(){F(this._keySchedule),F(this._invKeySchedule),F(this._key)},_.exports.AES=z}}),AY=S0({"node_modules/browserify-aes/ghash.js"(N,_){var j=N0().Buffer,k=j.alloc(16,0);function F(C){return[C.readUInt32BE(0),C.readUInt32BE(4),C.readUInt32BE(8),C.readUInt32BE(12)]}function P(C){var z=j.allocUnsafe(16);return z.writeUInt32BE(C[0]>>>0,0),z.writeUInt32BE(C[1]>>>0,4),z.writeUInt32BE(C[2]>>>0,8),z.writeUInt32BE(C[3]>>>0,12),z}function X(C){this.h=C,this.state=j.alloc(16,0),this.cache=j.allocUnsafe(0)}X.prototype.ghash=function(C){for(var z=-1;++z0;T--)C[T]=C[T]>>>1|(C[T-1]&1)<<31;C[0]=C[0]>>>1,J&&(C[0]=C[0]^225<<24)}this.state=P(z)},X.prototype.update=function(C){this.cache=j.concat([this.cache,C]);for(var z;this.cache.length>=16;)z=this.cache.slice(0,16),this.cache=this.cache.slice(16),this.ghash(z)},X.prototype.final=function(C,z){return this.cache.length&&this.ghash(j.concat([this.cache,k],16)),this.ghash(P([0,C,0,z])),this.state},_.exports=X}}),LQ=S0({"node_modules/browserify-aes/authCipher.js"(N,_){var j=j$(),k=N0().Buffer,F=C$(),P=B0(),X=AY(),C=S$(),z=DQ();function T(W,D){var E=0;W.length!==D.length&&E++;for(var R=Math.min(W.length,D.length),M=0;M0||z>0;){var D=new k;D.update(W),D.update(P),X&&D.update(X),W=D.digest();var E=0;if(T>0){var R=H.length-T;E=Math.min(T,W.length),W.copy(H,R,0,E),T-=E}if(E0){var M=J.length-z,v=Math.min(z,W.length-E);W.copy(J,M,E,E+v),z-=v}}return W.fill(0),{key:H,iv:J}}_.exports=F}}),WY=S0({"node_modules/browserify-aes/encrypter.js"(N){var _=p$(),j=LQ(),k=N0().Buffer,F=RQ(),P=C$(),X=j$(),C=k$(),z=B0();function T(E,R,M){P.call(this),this._cache=new J,this._cipher=new X.AES(R),this._prev=k.from(M),this._mode=E,this._autopadding=!0}z(T,P),T.prototype._update=function(E){this._cache.add(E);for(var R,M,v=[];R=this._cache.get();)M=this._mode.encrypt(this,R),v.push(M);return k.concat(v)};var H=k.alloc(16,16);T.prototype._final=function(){var E=this._cache.flush();if(this._autopadding)return E=this._mode.encrypt(this,E),this._cipher.scrub(),E;if(!E.equals(H))throw this._cipher.scrub(),new Error("data not multiple of block length")},T.prototype.setAutoPadding=function(E){return this._autopadding=!!E,this};function J(){this.cache=k.allocUnsafe(0)}J.prototype.add=function(E){this.cache=k.concat([this.cache,E])},J.prototype.get=function(){if(this.cache.length>15){var E=this.cache.slice(0,16);return this.cache=this.cache.slice(16),E}return null},J.prototype.flush=function(){for(var E=16-this.cache.length,R=k.allocUnsafe(E),M=-1;++M16)return R=this.cache.slice(0,16),this.cache=this.cache.slice(16),R}else if(this.cache.length>=16)return R=this.cache.slice(0,16),this.cache=this.cache.slice(16),R;return null},H.prototype.flush=function(){if(this.cache.length)return this.cache};function J(E){var R=E[15];if(R<1||R>16)throw new Error("unable to decrypt data");for(var M=-1;++M0?$:Y},X.min=function($,Y){return $.cmp(Y)<0?$:Y},X.prototype._init=function($,Y,G){if(typeof $=="number")return this._initNumber($,Y,G);if(typeof $=="object")return this._initArray($,Y,G);Y==="hex"&&(Y=16),F(Y===(Y|0)&&Y>=2&&Y<=36),$=$.toString().replace(/\s+/g,"");var Z=0;$[0]==="-"&&(Z++,this.negative=1),Z<$.length&&(Y===16?this._parseHex($,Z,G):(this._parseBase($,Y,Z),G==="le"&&this._initArray(this.toArray(),Y,G)))},X.prototype._initNumber=function($,Y,G){$<0&&(this.negative=1,$=-$),$<67108864?(this.words=[$&67108863],this.length=1):$<4503599627370496?(this.words=[$&67108863,$/67108864&67108863],this.length=2):(F($<9007199254740992),this.words=[$&67108863,$/67108864&67108863,1],this.length=3),G==="le"&&this._initArray(this.toArray(),Y,G)},X.prototype._initArray=function($,Y,G){if(F(typeof $.length=="number"),$.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil($.length/3),this.words=new Array(this.length);for(var Z=0;Z=0;Z-=3)I=$[Z]|$[Z-1]<<8|$[Z-2]<<16,this.words[V]|=I<>>26-O&67108863,O+=24,O>=26&&(O-=26,V++);else if(G==="le")for(Z=0,V=0;Z<$.length;Z+=3)I=$[Z]|$[Z+1]<<8|$[Z+2]<<16,this.words[V]|=I<>>26-O&67108863,O+=24,O>=26&&(O-=26,V++);return this.strip()};function z($,Y){var G=$.charCodeAt(Y);return G>=65&&G<=70?G-55:G>=97&&G<=102?G-87:G-48&15}function T($,Y,G){var Z=z($,G);return G-1>=Y&&(Z|=z($,G-1)<<4),Z}X.prototype._parseHex=function($,Y,G){this.length=Math.ceil(($.length-Y)/6),this.words=new Array(this.length);for(var Z=0;Z=Y;Z-=2)O=T($,Y,Z)<=18?(V-=18,I+=1,this.words[I]|=O>>>26):V+=8;else{var U=$.length-Y;for(Z=U%2===0?Y+1:Y;Z<$.length;Z+=2)O=T($,Y,Z)<=18?(V-=18,I+=1,this.words[I]|=O>>>26):V+=8}this.strip()};function H($,Y,G,Z){for(var V=0,I=Math.min($.length,G),O=Y;O=49?V+=U-49+10:U>=17?V+=U-17+10:V+=U}return V}X.prototype._parseBase=function($,Y,G){this.words=[0],this.length=1;for(var Z=0,V=1;V<=67108863;V*=Y)Z++;Z--,V=V/Y|0;for(var I=$.length-G,O=I%Z,U=Math.min(I,I-O)+G,Q=0,K=G;K1&&this.words[this.length-1]===0;)this.length--;return this._normSign()},X.prototype._normSign=function(){return this.length===1&&this.words[0]===0&&(this.negative=0),this},X.prototype.inspect=function(){return(this.red?""};var J=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],W=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],D=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64000000,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,24300000,28629151,33554432,39135393,45435424,52521875,60466176];X.prototype.toString=function($,Y){$=$||10,Y=Y|0||1;var G;if($===16||$==="hex"){G="";for(var Z=0,V=0,I=0;I>>24-Z&16777215,V!==0||I!==this.length-1?G=J[6-U.length]+U+G:G=U+G,Z+=2,Z>=26&&(Z-=26,I--)}for(V!==0&&(G=V.toString(16)+G);G.length%Y!==0;)G="0"+G;return this.negative!==0&&(G="-"+G),G}if($===($|0)&&$>=2&&$<=36){var Q=W[$],K=D[$];G="";var L=this.clone();for(L.negative=0;!L.isZero();){var A=L.modn(K).toString($);L=L.idivn(K),L.isZero()?G=A+G:G=J[Q-A.length]+A+G}for(this.isZero()&&(G="0"+G);G.length%Y!==0;)G="0"+G;return this.negative!==0&&(G="-"+G),G}F(!1,"Base should be between 2 and 36")},X.prototype.toNumber=function(){var $=this.words[0];return this.length===2?$+=this.words[1]*67108864:this.length===3&&this.words[2]===1?$+=4503599627370496+this.words[1]*67108864:this.length>2&&F(!1,"Number can only safely store up to 53 bits"),this.negative!==0?-$:$},X.prototype.toJSON=function(){return this.toString(16)},X.prototype.toBuffer=function($,Y){return F(typeof C<"u"),this.toArrayLike(C,$,Y)},X.prototype.toArray=function($,Y){return this.toArrayLike(Array,$,Y)},X.prototype.toArrayLike=function($,Y,G){var Z=this.byteLength(),V=G||Math.max(1,Z);F(Z<=V,"byte array longer than desired length"),F(V>0,"Requested array length <= 0"),this.strip();var I=Y==="le",O=new $(V),U,Q,K=this.clone();if(I){for(Q=0;!K.isZero();Q++)U=K.andln(255),K.iushrn(8),O[Q]=U;for(;Q=4096&&(G+=13,Y>>>=13),Y>=64&&(G+=7,Y>>>=7),Y>=8&&(G+=4,Y>>>=4),Y>=2&&(G+=2,Y>>>=2),G+Y},X.prototype._zeroBits=function($){if($===0)return 26;var Y=$,G=0;return(Y&8191)===0&&(G+=13,Y>>>=13),(Y&127)===0&&(G+=7,Y>>>=7),(Y&15)===0&&(G+=4,Y>>>=4),(Y&3)===0&&(G+=2,Y>>>=2),(Y&1)===0&&G++,G},X.prototype.bitLength=function(){var $=this.words[this.length-1],Y=this._countBits($);return(this.length-1)*26+Y};function E($){for(var Y=new Array($.bitLength()),G=0;G>>V}return Y}X.prototype.zeroBits=function(){if(this.isZero())return 0;for(var $=0,Y=0;Y$.length?this.clone().ior($):$.clone().ior(this)},X.prototype.uor=function($){return this.length>$.length?this.clone().iuor($):$.clone().iuor(this)},X.prototype.iuand=function($){var Y;this.length>$.length?Y=$:Y=this;for(var G=0;G$.length?this.clone().iand($):$.clone().iand(this)},X.prototype.uand=function($){return this.length>$.length?this.clone().iuand($):$.clone().iuand(this)},X.prototype.iuxor=function($){var Y,G;this.length>$.length?(Y=this,G=$):(Y=$,G=this);for(var Z=0;Z$.length?this.clone().ixor($):$.clone().ixor(this)},X.prototype.uxor=function($){return this.length>$.length?this.clone().iuxor($):$.clone().iuxor(this)},X.prototype.inotn=function($){F(typeof $=="number"&&$>=0);var Y=Math.ceil($/26)|0,G=$%26;this._expand(Y),G>0&&Y--;for(var Z=0;Z0&&(this.words[Z]=~this.words[Z]&67108863>>26-G),this.strip()},X.prototype.notn=function($){return this.clone().inotn($)},X.prototype.setn=function($,Y){F(typeof $=="number"&&$>=0);var G=$/26|0,Z=$%26;return this._expand(G+1),Y?this.words[G]=this.words[G]|1<$.length?(G=this,Z=$):(G=$,Z=this);for(var V=0,I=0;I>>26;for(;V!==0&&I>>26;if(this.length=G.length,V!==0)this.words[this.length]=V,this.length++;else if(G!==this)for(;I$.length?this.clone().iadd($):$.clone().iadd(this)},X.prototype.isub=function($){if($.negative!==0){$.negative=0;var Y=this.iadd($);return $.negative=1,Y._normSign()}else if(this.negative!==0)return this.negative=0,this.iadd($),this.negative=1,this._normSign();var G=this.cmp($);if(G===0)return this.negative=0,this.length=1,this.words[0]=0,this;var Z,V;G>0?(Z=this,V=$):(Z=$,V=this);for(var I=0,O=0;O>26,this.words[O]=Y&67108863;for(;I!==0&&O>26,this.words[O]=Y&67108863;if(I===0&&O>>26,A=Q&67108863,S=Math.min(K,Y.length-1),x=Math.max(0,K-$.length+1);x<=S;x++){var y=K-x|0;V=$.words[y]|0,I=Y.words[x]|0,O=V*I+A,L+=O/67108864|0,A=O&67108863}G.words[K]=A|0,Q=L|0}return Q!==0?G.words[K]=Q|0:G.length--,G.strip()}var M=function($,Y,G){var Z=$.words,V=Y.words,I=G.words,O=0,U,Q,K,L=Z[0]|0,A=L&8191,S=L>>>13,x=Z[1]|0,y=x&8191,c=x>>>13,q0=Z[2]|0,h=q0&8191,d=q0>>>13,_0=Z[3]|0,l=_0&8191,n=_0>>>13,y0=Z[4]|0,t=y0&8191,s=y0>>>13,w0=Z[5]|0,m=w0&8191,r=w0>>>13,$$=Z[6]|0,i=$$&8191,e=$$>>>13,x0=Z[7]|0,o=x0&8191,a=x0>>>13,p0=Z[8]|0,$0=p0&8191,Q0=p0>>>13,Y$=Z[9]|0,Z0=Y$&8191,G0=Y$>>>13,Z$=V[0]|0,V0=Z$&8191,U0=Z$>>>13,G$=V[1]|0,X0=G$&8191,K0=G$>>>13,V$=V[2]|0,I0=V$&8191,O0=V$>>>13,U$=V[3]|0,J0=U$&8191,F0=U$>>>13,X$=V[4]|0,A0=X$&8191,W0=X$>>>13,K$=V[5]|0,H0=K$&8191,E0=K$>>>13,I$=V[6]|0,T0=I$&8191,D0=I$>>>13,O$=V[7]|0,C0=O$&8191,L0=O$>>>13,J$=V[8]|0,R0=J$&8191,z0=J$>>>13,F$=V[9]|0,P0=F$&8191,M0=F$>>>13;G.negative=$.negative^Y.negative,G.length=19,U=Math.imul(A,V0),Q=Math.imul(A,U0),Q=Q+Math.imul(S,V0)|0,K=Math.imul(S,U0);var Q$=(O+U|0)+((Q&8191)<<13)|0;O=(K+(Q>>>13)|0)+(Q$>>>26)|0,Q$&=67108863,U=Math.imul(y,V0),Q=Math.imul(y,U0),Q=Q+Math.imul(c,V0)|0,K=Math.imul(c,U0),U=U+Math.imul(A,X0)|0,Q=Q+Math.imul(A,K0)|0,Q=Q+Math.imul(S,X0)|0,K=K+Math.imul(S,K0)|0;var k0=(O+U|0)+((Q&8191)<<13)|0;O=(K+(Q>>>13)|0)+(k0>>>26)|0,k0&=67108863,U=Math.imul(h,V0),Q=Math.imul(h,U0),Q=Q+Math.imul(d,V0)|0,K=Math.imul(d,U0),U=U+Math.imul(y,X0)|0,Q=Q+Math.imul(y,K0)|0,Q=Q+Math.imul(c,X0)|0,K=K+Math.imul(c,K0)|0,U=U+Math.imul(A,I0)|0,Q=Q+Math.imul(A,O0)|0,Q=Q+Math.imul(S,I0)|0,K=K+Math.imul(S,O0)|0;var g0=(O+U|0)+((Q&8191)<<13)|0;O=(K+(Q>>>13)|0)+(g0>>>26)|0,g0&=67108863,U=Math.imul(l,V0),Q=Math.imul(l,U0),Q=Q+Math.imul(n,V0)|0,K=Math.imul(n,U0),U=U+Math.imul(h,X0)|0,Q=Q+Math.imul(h,K0)|0,Q=Q+Math.imul(d,X0)|0,K=K+Math.imul(d,K0)|0,U=U+Math.imul(y,I0)|0,Q=Q+Math.imul(y,O0)|0,Q=Q+Math.imul(c,I0)|0,K=K+Math.imul(c,O0)|0,U=U+Math.imul(A,J0)|0,Q=Q+Math.imul(A,F0)|0,Q=Q+Math.imul(S,J0)|0,K=K+Math.imul(S,F0)|0;var f0=(O+U|0)+((Q&8191)<<13)|0;O=(K+(Q>>>13)|0)+(f0>>>26)|0,f0&=67108863,U=Math.imul(t,V0),Q=Math.imul(t,U0),Q=Q+Math.imul(s,V0)|0,K=Math.imul(s,U0),U=U+Math.imul(l,X0)|0,Q=Q+Math.imul(l,K0)|0,Q=Q+Math.imul(n,X0)|0,K=K+Math.imul(n,K0)|0,U=U+Math.imul(h,I0)|0,Q=Q+Math.imul(h,O0)|0,Q=Q+Math.imul(d,I0)|0,K=K+Math.imul(d,O0)|0,U=U+Math.imul(y,J0)|0,Q=Q+Math.imul(y,F0)|0,Q=Q+Math.imul(c,J0)|0,K=K+Math.imul(c,F0)|0,U=U+Math.imul(A,A0)|0,Q=Q+Math.imul(A,W0)|0,Q=Q+Math.imul(S,A0)|0,K=K+Math.imul(S,W0)|0;var c0=(O+U|0)+((Q&8191)<<13)|0;O=(K+(Q>>>13)|0)+(c0>>>26)|0,c0&=67108863,U=Math.imul(m,V0),Q=Math.imul(m,U0),Q=Q+Math.imul(r,V0)|0,K=Math.imul(r,U0),U=U+Math.imul(t,X0)|0,Q=Q+Math.imul(t,K0)|0,Q=Q+Math.imul(s,X0)|0,K=K+Math.imul(s,K0)|0,U=U+Math.imul(l,I0)|0,Q=Q+Math.imul(l,O0)|0,Q=Q+Math.imul(n,I0)|0,K=K+Math.imul(n,O0)|0,U=U+Math.imul(h,J0)|0,Q=Q+Math.imul(h,F0)|0,Q=Q+Math.imul(d,J0)|0,K=K+Math.imul(d,F0)|0,U=U+Math.imul(y,A0)|0,Q=Q+Math.imul(y,W0)|0,Q=Q+Math.imul(c,A0)|0,K=K+Math.imul(c,W0)|0,U=U+Math.imul(A,H0)|0,Q=Q+Math.imul(A,E0)|0,Q=Q+Math.imul(S,H0)|0,K=K+Math.imul(S,E0)|0;var h0=(O+U|0)+((Q&8191)<<13)|0;O=(K+(Q>>>13)|0)+(h0>>>26)|0,h0&=67108863,U=Math.imul(i,V0),Q=Math.imul(i,U0),Q=Q+Math.imul(e,V0)|0,K=Math.imul(e,U0),U=U+Math.imul(m,X0)|0,Q=Q+Math.imul(m,K0)|0,Q=Q+Math.imul(r,X0)|0,K=K+Math.imul(r,K0)|0,U=U+Math.imul(t,I0)|0,Q=Q+Math.imul(t,O0)|0,Q=Q+Math.imul(s,I0)|0,K=K+Math.imul(s,O0)|0,U=U+Math.imul(l,J0)|0,Q=Q+Math.imul(l,F0)|0,Q=Q+Math.imul(n,J0)|0,K=K+Math.imul(n,F0)|0,U=U+Math.imul(h,A0)|0,Q=Q+Math.imul(h,W0)|0,Q=Q+Math.imul(d,A0)|0,K=K+Math.imul(d,W0)|0,U=U+Math.imul(y,H0)|0,Q=Q+Math.imul(y,E0)|0,Q=Q+Math.imul(c,H0)|0,K=K+Math.imul(c,E0)|0,U=U+Math.imul(A,T0)|0,Q=Q+Math.imul(A,D0)|0,Q=Q+Math.imul(S,T0)|0,K=K+Math.imul(S,D0)|0;var d0=(O+U|0)+((Q&8191)<<13)|0;O=(K+(Q>>>13)|0)+(d0>>>26)|0,d0&=67108863,U=Math.imul(o,V0),Q=Math.imul(o,U0),Q=Q+Math.imul(a,V0)|0,K=Math.imul(a,U0),U=U+Math.imul(i,X0)|0,Q=Q+Math.imul(i,K0)|0,Q=Q+Math.imul(e,X0)|0,K=K+Math.imul(e,K0)|0,U=U+Math.imul(m,I0)|0,Q=Q+Math.imul(m,O0)|0,Q=Q+Math.imul(r,I0)|0,K=K+Math.imul(r,O0)|0,U=U+Math.imul(t,J0)|0,Q=Q+Math.imul(t,F0)|0,Q=Q+Math.imul(s,J0)|0,K=K+Math.imul(s,F0)|0,U=U+Math.imul(l,A0)|0,Q=Q+Math.imul(l,W0)|0,Q=Q+Math.imul(n,A0)|0,K=K+Math.imul(n,W0)|0,U=U+Math.imul(h,H0)|0,Q=Q+Math.imul(h,E0)|0,Q=Q+Math.imul(d,H0)|0,K=K+Math.imul(d,E0)|0,U=U+Math.imul(y,T0)|0,Q=Q+Math.imul(y,D0)|0,Q=Q+Math.imul(c,T0)|0,K=K+Math.imul(c,D0)|0,U=U+Math.imul(A,C0)|0,Q=Q+Math.imul(A,L0)|0,Q=Q+Math.imul(S,C0)|0,K=K+Math.imul(S,L0)|0;var b0=(O+U|0)+((Q&8191)<<13)|0;O=(K+(Q>>>13)|0)+(b0>>>26)|0,b0&=67108863,U=Math.imul($0,V0),Q=Math.imul($0,U0),Q=Q+Math.imul(Q0,V0)|0,K=Math.imul(Q0,U0),U=U+Math.imul(o,X0)|0,Q=Q+Math.imul(o,K0)|0,Q=Q+Math.imul(a,X0)|0,K=K+Math.imul(a,K0)|0,U=U+Math.imul(i,I0)|0,Q=Q+Math.imul(i,O0)|0,Q=Q+Math.imul(e,I0)|0,K=K+Math.imul(e,O0)|0,U=U+Math.imul(m,J0)|0,Q=Q+Math.imul(m,F0)|0,Q=Q+Math.imul(r,J0)|0,K=K+Math.imul(r,F0)|0,U=U+Math.imul(t,A0)|0,Q=Q+Math.imul(t,W0)|0,Q=Q+Math.imul(s,A0)|0,K=K+Math.imul(s,W0)|0,U=U+Math.imul(l,H0)|0,Q=Q+Math.imul(l,E0)|0,Q=Q+Math.imul(n,H0)|0,K=K+Math.imul(n,E0)|0,U=U+Math.imul(h,T0)|0,Q=Q+Math.imul(h,D0)|0,Q=Q+Math.imul(d,T0)|0,K=K+Math.imul(d,D0)|0,U=U+Math.imul(y,C0)|0,Q=Q+Math.imul(y,L0)|0,Q=Q+Math.imul(c,C0)|0,K=K+Math.imul(c,L0)|0,U=U+Math.imul(A,R0)|0,Q=Q+Math.imul(A,z0)|0,Q=Q+Math.imul(S,R0)|0,K=K+Math.imul(S,z0)|0;var l0=(O+U|0)+((Q&8191)<<13)|0;O=(K+(Q>>>13)|0)+(l0>>>26)|0,l0&=67108863,U=Math.imul(Z0,V0),Q=Math.imul(Z0,U0),Q=Q+Math.imul(G0,V0)|0,K=Math.imul(G0,U0),U=U+Math.imul($0,X0)|0,Q=Q+Math.imul($0,K0)|0,Q=Q+Math.imul(Q0,X0)|0,K=K+Math.imul(Q0,K0)|0,U=U+Math.imul(o,I0)|0,Q=Q+Math.imul(o,O0)|0,Q=Q+Math.imul(a,I0)|0,K=K+Math.imul(a,O0)|0,U=U+Math.imul(i,J0)|0,Q=Q+Math.imul(i,F0)|0,Q=Q+Math.imul(e,J0)|0,K=K+Math.imul(e,F0)|0,U=U+Math.imul(m,A0)|0,Q=Q+Math.imul(m,W0)|0,Q=Q+Math.imul(r,A0)|0,K=K+Math.imul(r,W0)|0,U=U+Math.imul(t,H0)|0,Q=Q+Math.imul(t,E0)|0,Q=Q+Math.imul(s,H0)|0,K=K+Math.imul(s,E0)|0,U=U+Math.imul(l,T0)|0,Q=Q+Math.imul(l,D0)|0,Q=Q+Math.imul(n,T0)|0,K=K+Math.imul(n,D0)|0,U=U+Math.imul(h,C0)|0,Q=Q+Math.imul(h,L0)|0,Q=Q+Math.imul(d,C0)|0,K=K+Math.imul(d,L0)|0,U=U+Math.imul(y,R0)|0,Q=Q+Math.imul(y,z0)|0,Q=Q+Math.imul(c,R0)|0,K=K+Math.imul(c,z0)|0,U=U+Math.imul(A,P0)|0,Q=Q+Math.imul(A,M0)|0,Q=Q+Math.imul(S,P0)|0,K=K+Math.imul(S,M0)|0;var o0=(O+U|0)+((Q&8191)<<13)|0;O=(K+(Q>>>13)|0)+(o0>>>26)|0,o0&=67108863,U=Math.imul(Z0,X0),Q=Math.imul(Z0,K0),Q=Q+Math.imul(G0,X0)|0,K=Math.imul(G0,K0),U=U+Math.imul($0,I0)|0,Q=Q+Math.imul($0,O0)|0,Q=Q+Math.imul(Q0,I0)|0,K=K+Math.imul(Q0,O0)|0,U=U+Math.imul(o,J0)|0,Q=Q+Math.imul(o,F0)|0,Q=Q+Math.imul(a,J0)|0,K=K+Math.imul(a,F0)|0,U=U+Math.imul(i,A0)|0,Q=Q+Math.imul(i,W0)|0,Q=Q+Math.imul(e,A0)|0,K=K+Math.imul(e,W0)|0,U=U+Math.imul(m,H0)|0,Q=Q+Math.imul(m,E0)|0,Q=Q+Math.imul(r,H0)|0,K=K+Math.imul(r,E0)|0,U=U+Math.imul(t,T0)|0,Q=Q+Math.imul(t,D0)|0,Q=Q+Math.imul(s,T0)|0,K=K+Math.imul(s,D0)|0,U=U+Math.imul(l,C0)|0,Q=Q+Math.imul(l,L0)|0,Q=Q+Math.imul(n,C0)|0,K=K+Math.imul(n,L0)|0,U=U+Math.imul(h,R0)|0,Q=Q+Math.imul(h,z0)|0,Q=Q+Math.imul(d,R0)|0,K=K+Math.imul(d,z0)|0,U=U+Math.imul(y,P0)|0,Q=Q+Math.imul(y,M0)|0,Q=Q+Math.imul(c,P0)|0,K=K+Math.imul(c,M0)|0;var u0=(O+U|0)+((Q&8191)<<13)|0;O=(K+(Q>>>13)|0)+(u0>>>26)|0,u0&=67108863,U=Math.imul(Z0,I0),Q=Math.imul(Z0,O0),Q=Q+Math.imul(G0,I0)|0,K=Math.imul(G0,O0),U=U+Math.imul($0,J0)|0,Q=Q+Math.imul($0,F0)|0,Q=Q+Math.imul(Q0,J0)|0,K=K+Math.imul(Q0,F0)|0,U=U+Math.imul(o,A0)|0,Q=Q+Math.imul(o,W0)|0,Q=Q+Math.imul(a,A0)|0,K=K+Math.imul(a,W0)|0,U=U+Math.imul(i,H0)|0,Q=Q+Math.imul(i,E0)|0,Q=Q+Math.imul(e,H0)|0,K=K+Math.imul(e,E0)|0,U=U+Math.imul(m,T0)|0,Q=Q+Math.imul(m,D0)|0,Q=Q+Math.imul(r,T0)|0,K=K+Math.imul(r,D0)|0,U=U+Math.imul(t,C0)|0,Q=Q+Math.imul(t,L0)|0,Q=Q+Math.imul(s,C0)|0,K=K+Math.imul(s,L0)|0,U=U+Math.imul(l,R0)|0,Q=Q+Math.imul(l,z0)|0,Q=Q+Math.imul(n,R0)|0,K=K+Math.imul(n,z0)|0,U=U+Math.imul(h,P0)|0,Q=Q+Math.imul(h,M0)|0,Q=Q+Math.imul(d,P0)|0,K=K+Math.imul(d,M0)|0;var n0=(O+U|0)+((Q&8191)<<13)|0;O=(K+(Q>>>13)|0)+(n0>>>26)|0,n0&=67108863,U=Math.imul(Z0,J0),Q=Math.imul(Z0,F0),Q=Q+Math.imul(G0,J0)|0,K=Math.imul(G0,F0),U=U+Math.imul($0,A0)|0,Q=Q+Math.imul($0,W0)|0,Q=Q+Math.imul(Q0,A0)|0,K=K+Math.imul(Q0,W0)|0,U=U+Math.imul(o,H0)|0,Q=Q+Math.imul(o,E0)|0,Q=Q+Math.imul(a,H0)|0,K=K+Math.imul(a,E0)|0,U=U+Math.imul(i,T0)|0,Q=Q+Math.imul(i,D0)|0,Q=Q+Math.imul(e,T0)|0,K=K+Math.imul(e,D0)|0,U=U+Math.imul(m,C0)|0,Q=Q+Math.imul(m,L0)|0,Q=Q+Math.imul(r,C0)|0,K=K+Math.imul(r,L0)|0,U=U+Math.imul(t,R0)|0,Q=Q+Math.imul(t,z0)|0,Q=Q+Math.imul(s,R0)|0,K=K+Math.imul(s,z0)|0,U=U+Math.imul(l,P0)|0,Q=Q+Math.imul(l,M0)|0,Q=Q+Math.imul(n,P0)|0,K=K+Math.imul(n,M0)|0;var s0=(O+U|0)+((Q&8191)<<13)|0;O=(K+(Q>>>13)|0)+(s0>>>26)|0,s0&=67108863,U=Math.imul(Z0,A0),Q=Math.imul(Z0,W0),Q=Q+Math.imul(G0,A0)|0,K=Math.imul(G0,W0),U=U+Math.imul($0,H0)|0,Q=Q+Math.imul($0,E0)|0,Q=Q+Math.imul(Q0,H0)|0,K=K+Math.imul(Q0,E0)|0,U=U+Math.imul(o,T0)|0,Q=Q+Math.imul(o,D0)|0,Q=Q+Math.imul(a,T0)|0,K=K+Math.imul(a,D0)|0,U=U+Math.imul(i,C0)|0,Q=Q+Math.imul(i,L0)|0,Q=Q+Math.imul(e,C0)|0,K=K+Math.imul(e,L0)|0,U=U+Math.imul(m,R0)|0,Q=Q+Math.imul(m,z0)|0,Q=Q+Math.imul(r,R0)|0,K=K+Math.imul(r,z0)|0,U=U+Math.imul(t,P0)|0,Q=Q+Math.imul(t,M0)|0,Q=Q+Math.imul(s,P0)|0,K=K+Math.imul(s,M0)|0;var t0=(O+U|0)+((Q&8191)<<13)|0;O=(K+(Q>>>13)|0)+(t0>>>26)|0,t0&=67108863,U=Math.imul(Z0,H0),Q=Math.imul(Z0,E0),Q=Q+Math.imul(G0,H0)|0,K=Math.imul(G0,E0),U=U+Math.imul($0,T0)|0,Q=Q+Math.imul($0,D0)|0,Q=Q+Math.imul(Q0,T0)|0,K=K+Math.imul(Q0,D0)|0,U=U+Math.imul(o,C0)|0,Q=Q+Math.imul(o,L0)|0,Q=Q+Math.imul(a,C0)|0,K=K+Math.imul(a,L0)|0,U=U+Math.imul(i,R0)|0,Q=Q+Math.imul(i,z0)|0,Q=Q+Math.imul(e,R0)|0,K=K+Math.imul(e,z0)|0,U=U+Math.imul(m,P0)|0,Q=Q+Math.imul(m,M0)|0,Q=Q+Math.imul(r,P0)|0,K=K+Math.imul(r,M0)|0;var m0=(O+U|0)+((Q&8191)<<13)|0;O=(K+(Q>>>13)|0)+(m0>>>26)|0,m0&=67108863,U=Math.imul(Z0,T0),Q=Math.imul(Z0,D0),Q=Q+Math.imul(G0,T0)|0,K=Math.imul(G0,D0),U=U+Math.imul($0,C0)|0,Q=Q+Math.imul($0,L0)|0,Q=Q+Math.imul(Q0,C0)|0,K=K+Math.imul(Q0,L0)|0,U=U+Math.imul(o,R0)|0,Q=Q+Math.imul(o,z0)|0,Q=Q+Math.imul(a,R0)|0,K=K+Math.imul(a,z0)|0,U=U+Math.imul(i,P0)|0,Q=Q+Math.imul(i,M0)|0,Q=Q+Math.imul(e,P0)|0,K=K+Math.imul(e,M0)|0;var a0=(O+U|0)+((Q&8191)<<13)|0;O=(K+(Q>>>13)|0)+(a0>>>26)|0,a0&=67108863,U=Math.imul(Z0,C0),Q=Math.imul(Z0,L0),Q=Q+Math.imul(G0,C0)|0,K=Math.imul(G0,L0),U=U+Math.imul($0,R0)|0,Q=Q+Math.imul($0,z0)|0,Q=Q+Math.imul(Q0,R0)|0,K=K+Math.imul(Q0,z0)|0,U=U+Math.imul(o,P0)|0,Q=Q+Math.imul(o,M0)|0,Q=Q+Math.imul(a,P0)|0,K=K+Math.imul(a,M0)|0;var e0=(O+U|0)+((Q&8191)<<13)|0;O=(K+(Q>>>13)|0)+(e0>>>26)|0,e0&=67108863,U=Math.imul(Z0,R0),Q=Math.imul(Z0,z0),Q=Q+Math.imul(G0,R0)|0,K=Math.imul(G0,z0),U=U+Math.imul($0,P0)|0,Q=Q+Math.imul($0,M0)|0,Q=Q+Math.imul(Q0,P0)|0,K=K+Math.imul(Q0,M0)|0;var r0=(O+U|0)+((Q&8191)<<13)|0;O=(K+(Q>>>13)|0)+(r0>>>26)|0,r0&=67108863,U=Math.imul(Z0,P0),Q=Math.imul(Z0,M0),Q=Q+Math.imul(G0,P0)|0,K=Math.imul(G0,M0);var i0=(O+U|0)+((Q&8191)<<13)|0;return O=(K+(Q>>>13)|0)+(i0>>>26)|0,i0&=67108863,I[0]=Q$,I[1]=k0,I[2]=g0,I[3]=f0,I[4]=c0,I[5]=h0,I[6]=d0,I[7]=b0,I[8]=l0,I[9]=o0,I[10]=u0,I[11]=n0,I[12]=s0,I[13]=t0,I[14]=m0,I[15]=a0,I[16]=e0,I[17]=r0,I[18]=i0,O!==0&&(I[19]=O,G.length++),G};Math.imul||(M=R);function v($,Y,G){G.negative=Y.negative^$.negative,G.length=$.length+Y.length;for(var Z=0,V=0,I=0;I>>26)|0,V+=O>>>26,O&=67108863}G.words[I]=U,Z=O,O=V}return Z!==0?G.words[I]=Z:G.length--,G.strip()}function q($,Y,G){var Z=new g;return Z.mulp($,Y,G)}X.prototype.mulTo=function($,Y){var G,Z=this.length+$.length;return this.length===10&&$.length===10?G=M(this,$,Y):Z<63?G=R(this,$,Y):Z<1024?G=v(this,$,Y):G=q(this,$,Y),G};function g($,Y){this.x=$,this.y=Y}g.prototype.makeRBT=function($){for(var Y=new Array($),G=X.prototype._countBits($)-1,Z=0;Z<$;Z++)Y[Z]=this.revBin(Z,G,$);return Y},g.prototype.revBin=function($,Y,G){if($===0||$===G-1)return $;for(var Z=0,V=0;V>=1;return Z},g.prototype.permute=function($,Y,G,Z,V,I){for(var O=0;O>>1)V++;return 1<>>13,G[2*I+1]=V&8191,V=V>>>13;for(I=2*Y;I>=26,Y+=Z/67108864|0,Y+=V>>>26,this.words[G]=V&67108863}return Y!==0&&(this.words[G]=Y,this.length++),this},X.prototype.muln=function($){return this.clone().imuln($)},X.prototype.sqr=function(){return this.mul(this)},X.prototype.isqr=function(){return this.imul(this.clone())},X.prototype.pow=function($){var Y=E($);if(Y.length===0)return new X(1);for(var G=this,Z=0;Z=0);var Y=$%26,G=($-Y)/26,Z=67108863>>>26-Y<<26-Y,V;if(Y!==0){var I=0;for(V=0;V>>26-Y}I&&(this.words[V]=I,this.length++)}if(G!==0){for(V=this.length-1;V>=0;V--)this.words[V+G]=this.words[V];for(V=0;V=0);var Z;Y?Z=(Y-Y%26)/26:Z=0;var V=$%26,I=Math.min(($-V)/26,this.length),O=67108863^67108863>>>V<I)for(this.length-=I,Q=0;Q=0&&(K!==0||Q>=Z);Q--){var L=this.words[Q]|0;this.words[Q]=K<<26-V|L>>>V,K=L&O}return U&&K!==0&&(U.words[U.length++]=K),this.length===0&&(this.words[0]=0,this.length=1),this.strip()},X.prototype.ishrn=function($,Y,G){return F(this.negative===0),this.iushrn($,Y,G)},X.prototype.shln=function($){return this.clone().ishln($)},X.prototype.ushln=function($){return this.clone().iushln($)},X.prototype.shrn=function($){return this.clone().ishrn($)},X.prototype.ushrn=function($){return this.clone().iushrn($)},X.prototype.testn=function($){F(typeof $=="number"&&$>=0);var Y=$%26,G=($-Y)/26,Z=1<=0);var Y=$%26,G=($-Y)/26;if(F(this.negative===0,"imaskn works only with positive numbers"),this.length<=G)return this;if(Y!==0&&G++,this.length=Math.min(G,this.length),Y!==0){var Z=67108863^67108863>>>Y<=67108864;Y++)this.words[Y]-=67108864,Y===this.length-1?this.words[Y+1]=1:this.words[Y+1]++;return this.length=Math.max(this.length,Y+1),this},X.prototype.isubn=function($){if(F(typeof $=="number"),F($<67108864),$<0)return this.iaddn(-$);if(this.negative!==0)return this.negative=0,this.iaddn($),this.negative=1,this;if(this.words[0]-=$,this.length===1&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var Y=0;Y>26)-(U/67108864|0),this.words[V+G]=I&67108863}for(;V>26,this.words[V+G]=I&67108863;if(O===0)return this.strip();for(F(O===-1),O=0,V=0;V>26,this.words[V]=I&67108863;return this.negative=1,this.strip()},X.prototype._wordDiv=function($,Y){var G=this.length-$.length,Z=this.clone(),V=$,I=V.words[V.length-1]|0,O=this._countBits(I);G=26-O,G!==0&&(V=V.ushln(G),Z.iushln(G),I=V.words[V.length-1]|0);var U=Z.length-V.length,Q;if(Y!=="mod"){Q=new X(null),Q.length=U+1,Q.words=new Array(Q.length);for(var K=0;K=0;A--){var S=(Z.words[V.length+A]|0)*67108864+(Z.words[V.length+A-1]|0);for(S=Math.min(S/I|0,67108863),Z._ishlnsubmul(V,S,A);Z.negative!==0;)S--,Z.negative=0,Z._ishlnsubmul(V,1,A),Z.isZero()||(Z.negative^=1);Q&&(Q.words[A]=S)}return Q&&Q.strip(),Z.strip(),Y!=="div"&&G!==0&&Z.iushrn(G),{div:Q||null,mod:Z}},X.prototype.divmod=function($,Y,G){if(F(!$.isZero()),this.isZero())return{div:new X(0),mod:new X(0)};var Z,V,I;return this.negative!==0&&$.negative===0?(I=this.neg().divmod($,Y),Y!=="mod"&&(Z=I.div.neg()),Y!=="div"&&(V=I.mod.neg(),G&&V.negative!==0&&V.iadd($)),{div:Z,mod:V}):this.negative===0&&$.negative!==0?(I=this.divmod($.neg(),Y),Y!=="mod"&&(Z=I.div.neg()),{div:Z,mod:I.mod}):(this.negative&$.negative)!==0?(I=this.neg().divmod($.neg(),Y),Y!=="div"&&(V=I.mod.neg(),G&&V.negative!==0&&V.isub($)),{div:I.div,mod:V}):$.length>this.length||this.cmp($)<0?{div:new X(0),mod:this}:$.length===1?Y==="div"?{div:this.divn($.words[0]),mod:null}:Y==="mod"?{div:null,mod:new X(this.modn($.words[0]))}:{div:this.divn($.words[0]),mod:new X(this.modn($.words[0]))}:this._wordDiv($,Y)},X.prototype.div=function($){return this.divmod($,"div",!1).div},X.prototype.mod=function($){return this.divmod($,"mod",!1).mod},X.prototype.umod=function($){return this.divmod($,"mod",!0).mod},X.prototype.divRound=function($){var Y=this.divmod($);if(Y.mod.isZero())return Y.div;var G=Y.div.negative!==0?Y.mod.isub($):Y.mod,Z=$.ushrn(1),V=$.andln(1),I=G.cmp(Z);return I<0||V===1&&I===0?Y.div:Y.div.negative!==0?Y.div.isubn(1):Y.div.iaddn(1)},X.prototype.modn=function($){F($<=67108863);for(var Y=(1<<26)%$,G=0,Z=this.length-1;Z>=0;Z--)G=(Y*G+(this.words[Z]|0))%$;return G},X.prototype.idivn=function($){F($<=67108863);for(var Y=0,G=this.length-1;G>=0;G--){var Z=(this.words[G]|0)+Y*67108864;this.words[G]=Z/$|0,Y=Z%$}return this.strip()},X.prototype.divn=function($){return this.clone().idivn($)},X.prototype.egcd=function($){F($.negative===0),F(!$.isZero());var Y=this,G=$.clone();Y.negative!==0?Y=Y.umod($):Y=Y.clone();for(var Z=new X(1),V=new X(0),I=new X(0),O=new X(1),U=0;Y.isEven()&&G.isEven();)Y.iushrn(1),G.iushrn(1),++U;for(var Q=G.clone(),K=Y.clone();!Y.isZero();){for(var L=0,A=1;(Y.words[0]&A)===0&&L<26;++L,A<<=1);if(L>0)for(Y.iushrn(L);L-- >0;)(Z.isOdd()||V.isOdd())&&(Z.iadd(Q),V.isub(K)),Z.iushrn(1),V.iushrn(1);for(var S=0,x=1;(G.words[0]&x)===0&&S<26;++S,x<<=1);if(S>0)for(G.iushrn(S);S-- >0;)(I.isOdd()||O.isOdd())&&(I.iadd(Q),O.isub(K)),I.iushrn(1),O.iushrn(1);Y.cmp(G)>=0?(Y.isub(G),Z.isub(I),V.isub(O)):(G.isub(Y),I.isub(Z),O.isub(V))}return{a:I,b:O,gcd:G.iushln(U)}},X.prototype._invmp=function($){F($.negative===0),F(!$.isZero());var Y=this,G=$.clone();Y.negative!==0?Y=Y.umod($):Y=Y.clone();for(var Z=new X(1),V=new X(0),I=G.clone();Y.cmpn(1)>0&&G.cmpn(1)>0;){for(var O=0,U=1;(Y.words[0]&U)===0&&O<26;++O,U<<=1);if(O>0)for(Y.iushrn(O);O-- >0;)Z.isOdd()&&Z.iadd(I),Z.iushrn(1);for(var Q=0,K=1;(G.words[0]&K)===0&&Q<26;++Q,K<<=1);if(Q>0)for(G.iushrn(Q);Q-- >0;)V.isOdd()&&V.iadd(I),V.iushrn(1);Y.cmp(G)>=0?(Y.isub(G),Z.isub(V)):(G.isub(Y),V.isub(Z))}var L;return Y.cmpn(1)===0?L=Z:L=V,L.cmpn(0)<0&&L.iadd($),L},X.prototype.gcd=function($){if(this.isZero())return $.abs();if($.isZero())return this.abs();var Y=this.clone(),G=$.clone();Y.negative=0,G.negative=0;for(var Z=0;Y.isEven()&&G.isEven();Z++)Y.iushrn(1),G.iushrn(1);do{for(;Y.isEven();)Y.iushrn(1);for(;G.isEven();)G.iushrn(1);var V=Y.cmp(G);if(V<0){var I=Y;Y=G,G=I}else if(V===0||G.cmpn(1)===0)break;Y.isub(G)}while(!0);return G.iushln(Z)},X.prototype.invm=function($){return this.egcd($).a.umod($)},X.prototype.isEven=function(){return(this.words[0]&1)===0},X.prototype.isOdd=function(){return(this.words[0]&1)===1},X.prototype.andln=function($){return this.words[0]&$},X.prototype.bincn=function($){F(typeof $=="number");var Y=$%26,G=($-Y)/26,Z=1<>>26,O&=67108863,this.words[I]=O}return V!==0&&(this.words[I]=V,this.length++),this},X.prototype.isZero=function(){return this.length===1&&this.words[0]===0},X.prototype.cmpn=function($){var Y=$<0;if(this.negative!==0&&!Y)return-1;if(this.negative===0&&Y)return 1;this.strip();var G;if(this.length>1)G=1;else{Y&&($=-$),F($<=67108863,"Number is too big");var Z=this.words[0]|0;G=Z===$?0:Z<$?-1:1}return this.negative!==0?-G|0:G},X.prototype.cmp=function($){if(this.negative!==0&&$.negative===0)return-1;if(this.negative===0&&$.negative!==0)return 1;var Y=this.ucmp($);return this.negative!==0?-Y|0:Y},X.prototype.ucmp=function($){if(this.length>$.length)return 1;if(this.length<$.length)return-1;for(var Y=0,G=this.length-1;G>=0;G--){var Z=this.words[G]|0,V=$.words[G]|0;if(Z!==V){ZV&&(Y=1);break}}return Y},X.prototype.gtn=function($){return this.cmpn($)===1},X.prototype.gt=function($){return this.cmp($)===1},X.prototype.gten=function($){return this.cmpn($)>=0},X.prototype.gte=function($){return this.cmp($)>=0},X.prototype.ltn=function($){return this.cmpn($)===-1},X.prototype.lt=function($){return this.cmp($)===-1},X.prototype.lten=function($){return this.cmpn($)<=0},X.prototype.lte=function($){return this.cmp($)<=0},X.prototype.eqn=function($){return this.cmpn($)===0},X.prototype.eq=function($){return this.cmp($)===0},X.red=function($){return new p($)},X.prototype.toRed=function($){return F(!this.red,"Already a number in reduction context"),F(this.negative===0,"red works only with positives"),$.convertTo(this)._forceRed($)},X.prototype.fromRed=function(){return F(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},X.prototype._forceRed=function($){return this.red=$,this},X.prototype.forceRed=function($){return F(!this.red,"Already a number in reduction context"),this._forceRed($)},X.prototype.redAdd=function($){return F(this.red,"redAdd works only with red numbers"),this.red.add(this,$)},X.prototype.redIAdd=function($){return F(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,$)},X.prototype.redSub=function($){return F(this.red,"redSub works only with red numbers"),this.red.sub(this,$)},X.prototype.redISub=function($){return F(this.red,"redISub works only with red numbers"),this.red.isub(this,$)},X.prototype.redShl=function($){return F(this.red,"redShl works only with red numbers"),this.red.shl(this,$)},X.prototype.redMul=function($){return F(this.red,"redMul works only with red numbers"),this.red._verify2(this,$),this.red.mul(this,$)},X.prototype.redIMul=function($){return F(this.red,"redMul works only with red numbers"),this.red._verify2(this,$),this.red.imul(this,$)},X.prototype.redSqr=function(){return F(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},X.prototype.redISqr=function(){return F(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},X.prototype.redSqrt=function(){return F(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},X.prototype.redInvm=function(){return F(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},X.prototype.redNeg=function(){return F(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},X.prototype.redPow=function($){return F(this.red&&!$.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,$)};var B={k256:null,p224:null,p192:null,p25519:null};function w($,Y){this.name=$,this.p=new X(Y,16),this.n=this.p.bitLength(),this.k=new X(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}w.prototype._tmp=function(){var $=new X(null);return $.words=new Array(Math.ceil(this.n/13)),$},w.prototype.ireduce=function($){var Y=$,G;do this.split(Y,this.tmp),Y=this.imulK(Y),Y=Y.iadd(this.tmp),G=Y.bitLength();while(G>this.n);var Z=G0?Y.isub(this.p):Y.strip!==void 0?Y.strip():Y._strip(),Y},w.prototype.split=function($,Y){$.iushrn(this.n,0,Y)},w.prototype.imulK=function($){return $.imul(this.k)};function f(){w.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}P(f,w),f.prototype.split=function($,Y){for(var G=4194303,Z=Math.min($.length,9),V=0;V>>22,I=O}I>>>=22,$.words[V-10]=I,I===0&&$.length>10?$.length-=10:$.length-=9},f.prototype.imulK=function($){$.words[$.length]=0,$.words[$.length+1]=0,$.length+=2;for(var Y=0,G=0;G<$.length;G++){var Z=$.words[G]|0;Y+=Z*977,$.words[G]=Y&67108863,Y=Z*64+(Y/67108864|0)}return $.words[$.length-1]===0&&($.length--,$.words[$.length-1]===0&&$.length--),$};function b(){w.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}P(b,w);function u(){w.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}P(u,w);function Y0(){w.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}P(Y0,w),Y0.prototype.imulK=function($){for(var Y=0,G=0;G<$.length;G++){var Z=($.words[G]|0)*19+Y,V=Z&67108863;Z>>>=26,$.words[G]=V,Y=Z}return Y!==0&&($.words[$.length++]=Y),$},X._prime=function($){if(B[$])return B[$];var Y;if($==="k256")Y=new f;else if($==="p224")Y=new b;else if($==="p192")Y=new u;else if($==="p25519")Y=new Y0;else throw new Error("Unknown prime "+$);return B[$]=Y,Y};function p($){if(typeof $=="string"){var Y=X._prime($);this.m=Y.p,this.prime=Y}else F($.gtn(1),"modulus must be greater than 1"),this.m=$,this.prime=null}p.prototype._verify1=function($){F($.negative===0,"red works only with positives"),F($.red,"red works only with red numbers")},p.prototype._verify2=function($,Y){F(($.negative|Y.negative)===0,"red works only with positives"),F($.red&&$.red===Y.red,"red works only with red numbers")},p.prototype.imod=function($){return this.prime?this.prime.ireduce($)._forceRed(this):$.umod(this.m)._forceRed(this)},p.prototype.neg=function($){return $.isZero()?$.clone():this.m.sub($)._forceRed(this)},p.prototype.add=function($,Y){this._verify2($,Y);var G=$.add(Y);return G.cmp(this.m)>=0&&G.isub(this.m),G._forceRed(this)},p.prototype.iadd=function($,Y){this._verify2($,Y);var G=$.iadd(Y);return G.cmp(this.m)>=0&&G.isub(this.m),G},p.prototype.sub=function($,Y){this._verify2($,Y);var G=$.sub(Y);return G.cmpn(0)<0&&G.iadd(this.m),G._forceRed(this)},p.prototype.isub=function($,Y){this._verify2($,Y);var G=$.isub(Y);return G.cmpn(0)<0&&G.iadd(this.m),G},p.prototype.shl=function($,Y){return this._verify1($),this.imod($.ushln(Y))},p.prototype.imul=function($,Y){return this._verify2($,Y),this.imod($.imul(Y))},p.prototype.mul=function($,Y){return this._verify2($,Y),this.imod($.mul(Y))},p.prototype.isqr=function($){return this.imul($,$.clone())},p.prototype.sqr=function($){return this.mul($,$)},p.prototype.sqrt=function($){if($.isZero())return $.clone();var Y=this.m.andln(3);if(F(Y%2===1),Y===3){var G=this.m.add(new X(1)).iushrn(2);return this.pow($,G)}for(var Z=this.m.subn(1),V=0;!Z.isZero()&&Z.andln(1)===0;)V++,Z.iushrn(1);F(!Z.isZero());var I=new X(1).toRed(this),O=I.redNeg(),U=this.m.subn(1).iushrn(1),Q=this.m.bitLength();for(Q=new X(2*Q*Q).toRed(this);this.pow(Q,U).cmp(O)!==0;)Q.redIAdd(O);for(var K=this.pow(Q,Z),L=this.pow($,Z.addn(1).iushrn(1)),A=this.pow($,Z),S=V;A.cmp(I)!==0;){for(var x=A,y=0;x.cmp(I)!==0;y++)x=x.redSqr();F(y=0;V--){for(var K=Y.words[V],L=Q-1;L>=0;L--){var A=K>>L&1;if(I!==Z[0]&&(I=this.sqr(I)),A===0&&O===0){U=0;continue}O<<=1,O|=A,U++,!(U!==G&&(V!==0||L!==0))&&(I=this.mul(I,Z[O]),U=0,O=0)}Q=26}return I},p.prototype.convertTo=function($){var Y=$.umod(this.m);return Y===$?Y.clone():Y},p.prototype.convertFrom=function($){var Y=$.clone();return Y.red=null,Y},X.mont=function($){return new v0($)};function v0($){p.call(this,$),this.shift=this.m.bitLength(),this.shift%26!==0&&(this.shift+=26-this.shift%26),this.r=new X(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}P(v0,p),v0.prototype.convertTo=function($){return this.imod($.ushln(this.shift))},v0.prototype.convertFrom=function($){var Y=this.imod($.mul(this.rinv));return Y.red=null,Y},v0.prototype.imul=function($,Y){if($.isZero()||Y.isZero())return $.words[0]=0,$.length=1,$;var G=$.imul(Y),Z=G.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),V=G.isub(Z).iushrn(this.shift),I=V;return V.cmp(this.m)>=0?I=V.isub(this.m):V.cmpn(0)<0&&(I=V.iadd(this.m)),I._forceRed(this)},v0.prototype.mul=function($,Y){if($.isZero()||Y.isZero())return new X(0)._forceRed(this);var G=$.mul(Y),Z=G.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),V=G.isub(Z).iushrn(this.shift),I=V;return V.cmp(this.m)>=0?I=V.isub(this.m):V.cmpn(0)<0&&(I=V.iadd(this.m)),I._forceRed(this)},v0.prototype.invm=function($){var Y=this.imod($._invmp(this.m).mul(this.r2));return Y._forceRed(this)}})(typeof _>"u"||_,N)}}),DY=S0({"node_modules/miller-rabin/node_modules/bn.js/lib/bn.js"(N,_){(function(j,k){function F($,Y){if(!$)throw new Error(Y||"Assertion failed")}function P($,Y){$.super_=Y;var G=function(){};G.prototype=Y.prototype,$.prototype=new G,$.prototype.constructor=$}function X($,Y,G){if(X.isBN($))return $;this.negative=0,this.words=null,this.length=0,this.red=null,$!==null&&((Y==="le"||Y==="be")&&(G=Y,Y=10),this._init($||0,Y||10,G||"be"))}typeof j=="object"?j.exports=X:k.BN=X,X.BN=X,X.wordSize=26;var C=j0;X.isBN=function($){return $ instanceof X?!0:$!==null&&typeof $=="object"&&$.constructor.wordSize===X.wordSize&&Array.isArray($.words)},X.max=function($,Y){return $.cmp(Y)>0?$:Y},X.min=function($,Y){return $.cmp(Y)<0?$:Y},X.prototype._init=function($,Y,G){if(typeof $=="number")return this._initNumber($,Y,G);if(typeof $=="object")return this._initArray($,Y,G);Y==="hex"&&(Y=16),F(Y===(Y|0)&&Y>=2&&Y<=36),$=$.toString().replace(/\s+/g,"");var Z=0;$[0]==="-"&&(Z++,this.negative=1),Z<$.length&&(Y===16?this._parseHex($,Z,G):(this._parseBase($,Y,Z),G==="le"&&this._initArray(this.toArray(),Y,G)))},X.prototype._initNumber=function($,Y,G){$<0&&(this.negative=1,$=-$),$<67108864?(this.words=[$&67108863],this.length=1):$<4503599627370496?(this.words=[$&67108863,$/67108864&67108863],this.length=2):(F($<9007199254740992),this.words=[$&67108863,$/67108864&67108863,1],this.length=3),G==="le"&&this._initArray(this.toArray(),Y,G)},X.prototype._initArray=function($,Y,G){if(F(typeof $.length=="number"),$.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil($.length/3),this.words=new Array(this.length);for(var Z=0;Z=0;Z-=3)I=$[Z]|$[Z-1]<<8|$[Z-2]<<16,this.words[V]|=I<>>26-O&67108863,O+=24,O>=26&&(O-=26,V++);else if(G==="le")for(Z=0,V=0;Z<$.length;Z+=3)I=$[Z]|$[Z+1]<<8|$[Z+2]<<16,this.words[V]|=I<>>26-O&67108863,O+=24,O>=26&&(O-=26,V++);return this.strip()};function z($,Y){var G=$.charCodeAt(Y);return G>=65&&G<=70?G-55:G>=97&&G<=102?G-87:G-48&15}function T($,Y,G){var Z=z($,G);return G-1>=Y&&(Z|=z($,G-1)<<4),Z}X.prototype._parseHex=function($,Y,G){this.length=Math.ceil(($.length-Y)/6),this.words=new Array(this.length);for(var Z=0;Z=Y;Z-=2)O=T($,Y,Z)<=18?(V-=18,I+=1,this.words[I]|=O>>>26):V+=8;else{var U=$.length-Y;for(Z=U%2===0?Y+1:Y;Z<$.length;Z+=2)O=T($,Y,Z)<=18?(V-=18,I+=1,this.words[I]|=O>>>26):V+=8}this.strip()};function H($,Y,G,Z){for(var V=0,I=Math.min($.length,G),O=Y;O=49?V+=U-49+10:U>=17?V+=U-17+10:V+=U}return V}X.prototype._parseBase=function($,Y,G){this.words=[0],this.length=1;for(var Z=0,V=1;V<=67108863;V*=Y)Z++;Z--,V=V/Y|0;for(var I=$.length-G,O=I%Z,U=Math.min(I,I-O)+G,Q=0,K=G;K1&&this.words[this.length-1]===0;)this.length--;return this._normSign()},X.prototype._normSign=function(){return this.length===1&&this.words[0]===0&&(this.negative=0),this},X.prototype.inspect=function(){return(this.red?""};var J=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],W=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],D=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64000000,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,24300000,28629151,33554432,39135393,45435424,52521875,60466176];X.prototype.toString=function($,Y){$=$||10,Y=Y|0||1;var G;if($===16||$==="hex"){G="";for(var Z=0,V=0,I=0;I>>24-Z&16777215,V!==0||I!==this.length-1?G=J[6-U.length]+U+G:G=U+G,Z+=2,Z>=26&&(Z-=26,I--)}for(V!==0&&(G=V.toString(16)+G);G.length%Y!==0;)G="0"+G;return this.negative!==0&&(G="-"+G),G}if($===($|0)&&$>=2&&$<=36){var Q=W[$],K=D[$];G="";var L=this.clone();for(L.negative=0;!L.isZero();){var A=L.modn(K).toString($);L=L.idivn(K),L.isZero()?G=A+G:G=J[Q-A.length]+A+G}for(this.isZero()&&(G="0"+G);G.length%Y!==0;)G="0"+G;return this.negative!==0&&(G="-"+G),G}F(!1,"Base should be between 2 and 36")},X.prototype.toNumber=function(){var $=this.words[0];return this.length===2?$+=this.words[1]*67108864:this.length===3&&this.words[2]===1?$+=4503599627370496+this.words[1]*67108864:this.length>2&&F(!1,"Number can only safely store up to 53 bits"),this.negative!==0?-$:$},X.prototype.toJSON=function(){return this.toString(16)},X.prototype.toBuffer=function($,Y){return F(typeof C<"u"),this.toArrayLike(C,$,Y)},X.prototype.toArray=function($,Y){return this.toArrayLike(Array,$,Y)},X.prototype.toArrayLike=function($,Y,G){var Z=this.byteLength(),V=G||Math.max(1,Z);F(Z<=V,"byte array longer than desired length"),F(V>0,"Requested array length <= 0"),this.strip();var I=Y==="le",O=new $(V),U,Q,K=this.clone();if(I){for(Q=0;!K.isZero();Q++)U=K.andln(255),K.iushrn(8),O[Q]=U;for(;Q=4096&&(G+=13,Y>>>=13),Y>=64&&(G+=7,Y>>>=7),Y>=8&&(G+=4,Y>>>=4),Y>=2&&(G+=2,Y>>>=2),G+Y},X.prototype._zeroBits=function($){if($===0)return 26;var Y=$,G=0;return(Y&8191)===0&&(G+=13,Y>>>=13),(Y&127)===0&&(G+=7,Y>>>=7),(Y&15)===0&&(G+=4,Y>>>=4),(Y&3)===0&&(G+=2,Y>>>=2),(Y&1)===0&&G++,G},X.prototype.bitLength=function(){var $=this.words[this.length-1],Y=this._countBits($);return(this.length-1)*26+Y};function E($){for(var Y=new Array($.bitLength()),G=0;G>>V}return Y}X.prototype.zeroBits=function(){if(this.isZero())return 0;for(var $=0,Y=0;Y$.length?this.clone().ior($):$.clone().ior(this)},X.prototype.uor=function($){return this.length>$.length?this.clone().iuor($):$.clone().iuor(this)},X.prototype.iuand=function($){var Y;this.length>$.length?Y=$:Y=this;for(var G=0;G$.length?this.clone().iand($):$.clone().iand(this)},X.prototype.uand=function($){return this.length>$.length?this.clone().iuand($):$.clone().iuand(this)},X.prototype.iuxor=function($){var Y,G;this.length>$.length?(Y=this,G=$):(Y=$,G=this);for(var Z=0;Z$.length?this.clone().ixor($):$.clone().ixor(this)},X.prototype.uxor=function($){return this.length>$.length?this.clone().iuxor($):$.clone().iuxor(this)},X.prototype.inotn=function($){F(typeof $=="number"&&$>=0);var Y=Math.ceil($/26)|0,G=$%26;this._expand(Y),G>0&&Y--;for(var Z=0;Z0&&(this.words[Z]=~this.words[Z]&67108863>>26-G),this.strip()},X.prototype.notn=function($){return this.clone().inotn($)},X.prototype.setn=function($,Y){F(typeof $=="number"&&$>=0);var G=$/26|0,Z=$%26;return this._expand(G+1),Y?this.words[G]=this.words[G]|1<$.length?(G=this,Z=$):(G=$,Z=this);for(var V=0,I=0;I>>26;for(;V!==0&&I>>26;if(this.length=G.length,V!==0)this.words[this.length]=V,this.length++;else if(G!==this)for(;I$.length?this.clone().iadd($):$.clone().iadd(this)},X.prototype.isub=function($){if($.negative!==0){$.negative=0;var Y=this.iadd($);return $.negative=1,Y._normSign()}else if(this.negative!==0)return this.negative=0,this.iadd($),this.negative=1,this._normSign();var G=this.cmp($);if(G===0)return this.negative=0,this.length=1,this.words[0]=0,this;var Z,V;G>0?(Z=this,V=$):(Z=$,V=this);for(var I=0,O=0;O>26,this.words[O]=Y&67108863;for(;I!==0&&O>26,this.words[O]=Y&67108863;if(I===0&&O>>26,A=Q&67108863,S=Math.min(K,Y.length-1),x=Math.max(0,K-$.length+1);x<=S;x++){var y=K-x|0;V=$.words[y]|0,I=Y.words[x]|0,O=V*I+A,L+=O/67108864|0,A=O&67108863}G.words[K]=A|0,Q=L|0}return Q!==0?G.words[K]=Q|0:G.length--,G.strip()}var M=function($,Y,G){var Z=$.words,V=Y.words,I=G.words,O=0,U,Q,K,L=Z[0]|0,A=L&8191,S=L>>>13,x=Z[1]|0,y=x&8191,c=x>>>13,q0=Z[2]|0,h=q0&8191,d=q0>>>13,_0=Z[3]|0,l=_0&8191,n=_0>>>13,y0=Z[4]|0,t=y0&8191,s=y0>>>13,w0=Z[5]|0,m=w0&8191,r=w0>>>13,$$=Z[6]|0,i=$$&8191,e=$$>>>13,x0=Z[7]|0,o=x0&8191,a=x0>>>13,p0=Z[8]|0,$0=p0&8191,Q0=p0>>>13,Y$=Z[9]|0,Z0=Y$&8191,G0=Y$>>>13,Z$=V[0]|0,V0=Z$&8191,U0=Z$>>>13,G$=V[1]|0,X0=G$&8191,K0=G$>>>13,V$=V[2]|0,I0=V$&8191,O0=V$>>>13,U$=V[3]|0,J0=U$&8191,F0=U$>>>13,X$=V[4]|0,A0=X$&8191,W0=X$>>>13,K$=V[5]|0,H0=K$&8191,E0=K$>>>13,I$=V[6]|0,T0=I$&8191,D0=I$>>>13,O$=V[7]|0,C0=O$&8191,L0=O$>>>13,J$=V[8]|0,R0=J$&8191,z0=J$>>>13,F$=V[9]|0,P0=F$&8191,M0=F$>>>13;G.negative=$.negative^Y.negative,G.length=19,U=Math.imul(A,V0),Q=Math.imul(A,U0),Q=Q+Math.imul(S,V0)|0,K=Math.imul(S,U0);var Q$=(O+U|0)+((Q&8191)<<13)|0;O=(K+(Q>>>13)|0)+(Q$>>>26)|0,Q$&=67108863,U=Math.imul(y,V0),Q=Math.imul(y,U0),Q=Q+Math.imul(c,V0)|0,K=Math.imul(c,U0),U=U+Math.imul(A,X0)|0,Q=Q+Math.imul(A,K0)|0,Q=Q+Math.imul(S,X0)|0,K=K+Math.imul(S,K0)|0;var k0=(O+U|0)+((Q&8191)<<13)|0;O=(K+(Q>>>13)|0)+(k0>>>26)|0,k0&=67108863,U=Math.imul(h,V0),Q=Math.imul(h,U0),Q=Q+Math.imul(d,V0)|0,K=Math.imul(d,U0),U=U+Math.imul(y,X0)|0,Q=Q+Math.imul(y,K0)|0,Q=Q+Math.imul(c,X0)|0,K=K+Math.imul(c,K0)|0,U=U+Math.imul(A,I0)|0,Q=Q+Math.imul(A,O0)|0,Q=Q+Math.imul(S,I0)|0,K=K+Math.imul(S,O0)|0;var g0=(O+U|0)+((Q&8191)<<13)|0;O=(K+(Q>>>13)|0)+(g0>>>26)|0,g0&=67108863,U=Math.imul(l,V0),Q=Math.imul(l,U0),Q=Q+Math.imul(n,V0)|0,K=Math.imul(n,U0),U=U+Math.imul(h,X0)|0,Q=Q+Math.imul(h,K0)|0,Q=Q+Math.imul(d,X0)|0,K=K+Math.imul(d,K0)|0,U=U+Math.imul(y,I0)|0,Q=Q+Math.imul(y,O0)|0,Q=Q+Math.imul(c,I0)|0,K=K+Math.imul(c,O0)|0,U=U+Math.imul(A,J0)|0,Q=Q+Math.imul(A,F0)|0,Q=Q+Math.imul(S,J0)|0,K=K+Math.imul(S,F0)|0;var f0=(O+U|0)+((Q&8191)<<13)|0;O=(K+(Q>>>13)|0)+(f0>>>26)|0,f0&=67108863,U=Math.imul(t,V0),Q=Math.imul(t,U0),Q=Q+Math.imul(s,V0)|0,K=Math.imul(s,U0),U=U+Math.imul(l,X0)|0,Q=Q+Math.imul(l,K0)|0,Q=Q+Math.imul(n,X0)|0,K=K+Math.imul(n,K0)|0,U=U+Math.imul(h,I0)|0,Q=Q+Math.imul(h,O0)|0,Q=Q+Math.imul(d,I0)|0,K=K+Math.imul(d,O0)|0,U=U+Math.imul(y,J0)|0,Q=Q+Math.imul(y,F0)|0,Q=Q+Math.imul(c,J0)|0,K=K+Math.imul(c,F0)|0,U=U+Math.imul(A,A0)|0,Q=Q+Math.imul(A,W0)|0,Q=Q+Math.imul(S,A0)|0,K=K+Math.imul(S,W0)|0;var c0=(O+U|0)+((Q&8191)<<13)|0;O=(K+(Q>>>13)|0)+(c0>>>26)|0,c0&=67108863,U=Math.imul(m,V0),Q=Math.imul(m,U0),Q=Q+Math.imul(r,V0)|0,K=Math.imul(r,U0),U=U+Math.imul(t,X0)|0,Q=Q+Math.imul(t,K0)|0,Q=Q+Math.imul(s,X0)|0,K=K+Math.imul(s,K0)|0,U=U+Math.imul(l,I0)|0,Q=Q+Math.imul(l,O0)|0,Q=Q+Math.imul(n,I0)|0,K=K+Math.imul(n,O0)|0,U=U+Math.imul(h,J0)|0,Q=Q+Math.imul(h,F0)|0,Q=Q+Math.imul(d,J0)|0,K=K+Math.imul(d,F0)|0,U=U+Math.imul(y,A0)|0,Q=Q+Math.imul(y,W0)|0,Q=Q+Math.imul(c,A0)|0,K=K+Math.imul(c,W0)|0,U=U+Math.imul(A,H0)|0,Q=Q+Math.imul(A,E0)|0,Q=Q+Math.imul(S,H0)|0,K=K+Math.imul(S,E0)|0;var h0=(O+U|0)+((Q&8191)<<13)|0;O=(K+(Q>>>13)|0)+(h0>>>26)|0,h0&=67108863,U=Math.imul(i,V0),Q=Math.imul(i,U0),Q=Q+Math.imul(e,V0)|0,K=Math.imul(e,U0),U=U+Math.imul(m,X0)|0,Q=Q+Math.imul(m,K0)|0,Q=Q+Math.imul(r,X0)|0,K=K+Math.imul(r,K0)|0,U=U+Math.imul(t,I0)|0,Q=Q+Math.imul(t,O0)|0,Q=Q+Math.imul(s,I0)|0,K=K+Math.imul(s,O0)|0,U=U+Math.imul(l,J0)|0,Q=Q+Math.imul(l,F0)|0,Q=Q+Math.imul(n,J0)|0,K=K+Math.imul(n,F0)|0,U=U+Math.imul(h,A0)|0,Q=Q+Math.imul(h,W0)|0,Q=Q+Math.imul(d,A0)|0,K=K+Math.imul(d,W0)|0,U=U+Math.imul(y,H0)|0,Q=Q+Math.imul(y,E0)|0,Q=Q+Math.imul(c,H0)|0,K=K+Math.imul(c,E0)|0,U=U+Math.imul(A,T0)|0,Q=Q+Math.imul(A,D0)|0,Q=Q+Math.imul(S,T0)|0,K=K+Math.imul(S,D0)|0;var d0=(O+U|0)+((Q&8191)<<13)|0;O=(K+(Q>>>13)|0)+(d0>>>26)|0,d0&=67108863,U=Math.imul(o,V0),Q=Math.imul(o,U0),Q=Q+Math.imul(a,V0)|0,K=Math.imul(a,U0),U=U+Math.imul(i,X0)|0,Q=Q+Math.imul(i,K0)|0,Q=Q+Math.imul(e,X0)|0,K=K+Math.imul(e,K0)|0,U=U+Math.imul(m,I0)|0,Q=Q+Math.imul(m,O0)|0,Q=Q+Math.imul(r,I0)|0,K=K+Math.imul(r,O0)|0,U=U+Math.imul(t,J0)|0,Q=Q+Math.imul(t,F0)|0,Q=Q+Math.imul(s,J0)|0,K=K+Math.imul(s,F0)|0,U=U+Math.imul(l,A0)|0,Q=Q+Math.imul(l,W0)|0,Q=Q+Math.imul(n,A0)|0,K=K+Math.imul(n,W0)|0,U=U+Math.imul(h,H0)|0,Q=Q+Math.imul(h,E0)|0,Q=Q+Math.imul(d,H0)|0,K=K+Math.imul(d,E0)|0,U=U+Math.imul(y,T0)|0,Q=Q+Math.imul(y,D0)|0,Q=Q+Math.imul(c,T0)|0,K=K+Math.imul(c,D0)|0,U=U+Math.imul(A,C0)|0,Q=Q+Math.imul(A,L0)|0,Q=Q+Math.imul(S,C0)|0,K=K+Math.imul(S,L0)|0;var b0=(O+U|0)+((Q&8191)<<13)|0;O=(K+(Q>>>13)|0)+(b0>>>26)|0,b0&=67108863,U=Math.imul($0,V0),Q=Math.imul($0,U0),Q=Q+Math.imul(Q0,V0)|0,K=Math.imul(Q0,U0),U=U+Math.imul(o,X0)|0,Q=Q+Math.imul(o,K0)|0,Q=Q+Math.imul(a,X0)|0,K=K+Math.imul(a,K0)|0,U=U+Math.imul(i,I0)|0,Q=Q+Math.imul(i,O0)|0,Q=Q+Math.imul(e,I0)|0,K=K+Math.imul(e,O0)|0,U=U+Math.imul(m,J0)|0,Q=Q+Math.imul(m,F0)|0,Q=Q+Math.imul(r,J0)|0,K=K+Math.imul(r,F0)|0,U=U+Math.imul(t,A0)|0,Q=Q+Math.imul(t,W0)|0,Q=Q+Math.imul(s,A0)|0,K=K+Math.imul(s,W0)|0,U=U+Math.imul(l,H0)|0,Q=Q+Math.imul(l,E0)|0,Q=Q+Math.imul(n,H0)|0,K=K+Math.imul(n,E0)|0,U=U+Math.imul(h,T0)|0,Q=Q+Math.imul(h,D0)|0,Q=Q+Math.imul(d,T0)|0,K=K+Math.imul(d,D0)|0,U=U+Math.imul(y,C0)|0,Q=Q+Math.imul(y,L0)|0,Q=Q+Math.imul(c,C0)|0,K=K+Math.imul(c,L0)|0,U=U+Math.imul(A,R0)|0,Q=Q+Math.imul(A,z0)|0,Q=Q+Math.imul(S,R0)|0,K=K+Math.imul(S,z0)|0;var l0=(O+U|0)+((Q&8191)<<13)|0;O=(K+(Q>>>13)|0)+(l0>>>26)|0,l0&=67108863,U=Math.imul(Z0,V0),Q=Math.imul(Z0,U0),Q=Q+Math.imul(G0,V0)|0,K=Math.imul(G0,U0),U=U+Math.imul($0,X0)|0,Q=Q+Math.imul($0,K0)|0,Q=Q+Math.imul(Q0,X0)|0,K=K+Math.imul(Q0,K0)|0,U=U+Math.imul(o,I0)|0,Q=Q+Math.imul(o,O0)|0,Q=Q+Math.imul(a,I0)|0,K=K+Math.imul(a,O0)|0,U=U+Math.imul(i,J0)|0,Q=Q+Math.imul(i,F0)|0,Q=Q+Math.imul(e,J0)|0,K=K+Math.imul(e,F0)|0,U=U+Math.imul(m,A0)|0,Q=Q+Math.imul(m,W0)|0,Q=Q+Math.imul(r,A0)|0,K=K+Math.imul(r,W0)|0,U=U+Math.imul(t,H0)|0,Q=Q+Math.imul(t,E0)|0,Q=Q+Math.imul(s,H0)|0,K=K+Math.imul(s,E0)|0,U=U+Math.imul(l,T0)|0,Q=Q+Math.imul(l,D0)|0,Q=Q+Math.imul(n,T0)|0,K=K+Math.imul(n,D0)|0,U=U+Math.imul(h,C0)|0,Q=Q+Math.imul(h,L0)|0,Q=Q+Math.imul(d,C0)|0,K=K+Math.imul(d,L0)|0,U=U+Math.imul(y,R0)|0,Q=Q+Math.imul(y,z0)|0,Q=Q+Math.imul(c,R0)|0,K=K+Math.imul(c,z0)|0,U=U+Math.imul(A,P0)|0,Q=Q+Math.imul(A,M0)|0,Q=Q+Math.imul(S,P0)|0,K=K+Math.imul(S,M0)|0;var o0=(O+U|0)+((Q&8191)<<13)|0;O=(K+(Q>>>13)|0)+(o0>>>26)|0,o0&=67108863,U=Math.imul(Z0,X0),Q=Math.imul(Z0,K0),Q=Q+Math.imul(G0,X0)|0,K=Math.imul(G0,K0),U=U+Math.imul($0,I0)|0,Q=Q+Math.imul($0,O0)|0,Q=Q+Math.imul(Q0,I0)|0,K=K+Math.imul(Q0,O0)|0,U=U+Math.imul(o,J0)|0,Q=Q+Math.imul(o,F0)|0,Q=Q+Math.imul(a,J0)|0,K=K+Math.imul(a,F0)|0,U=U+Math.imul(i,A0)|0,Q=Q+Math.imul(i,W0)|0,Q=Q+Math.imul(e,A0)|0,K=K+Math.imul(e,W0)|0,U=U+Math.imul(m,H0)|0,Q=Q+Math.imul(m,E0)|0,Q=Q+Math.imul(r,H0)|0,K=K+Math.imul(r,E0)|0,U=U+Math.imul(t,T0)|0,Q=Q+Math.imul(t,D0)|0,Q=Q+Math.imul(s,T0)|0,K=K+Math.imul(s,D0)|0,U=U+Math.imul(l,C0)|0,Q=Q+Math.imul(l,L0)|0,Q=Q+Math.imul(n,C0)|0,K=K+Math.imul(n,L0)|0,U=U+Math.imul(h,R0)|0,Q=Q+Math.imul(h,z0)|0,Q=Q+Math.imul(d,R0)|0,K=K+Math.imul(d,z0)|0,U=U+Math.imul(y,P0)|0,Q=Q+Math.imul(y,M0)|0,Q=Q+Math.imul(c,P0)|0,K=K+Math.imul(c,M0)|0;var u0=(O+U|0)+((Q&8191)<<13)|0;O=(K+(Q>>>13)|0)+(u0>>>26)|0,u0&=67108863,U=Math.imul(Z0,I0),Q=Math.imul(Z0,O0),Q=Q+Math.imul(G0,I0)|0,K=Math.imul(G0,O0),U=U+Math.imul($0,J0)|0,Q=Q+Math.imul($0,F0)|0,Q=Q+Math.imul(Q0,J0)|0,K=K+Math.imul(Q0,F0)|0,U=U+Math.imul(o,A0)|0,Q=Q+Math.imul(o,W0)|0,Q=Q+Math.imul(a,A0)|0,K=K+Math.imul(a,W0)|0,U=U+Math.imul(i,H0)|0,Q=Q+Math.imul(i,E0)|0,Q=Q+Math.imul(e,H0)|0,K=K+Math.imul(e,E0)|0,U=U+Math.imul(m,T0)|0,Q=Q+Math.imul(m,D0)|0,Q=Q+Math.imul(r,T0)|0,K=K+Math.imul(r,D0)|0,U=U+Math.imul(t,C0)|0,Q=Q+Math.imul(t,L0)|0,Q=Q+Math.imul(s,C0)|0,K=K+Math.imul(s,L0)|0,U=U+Math.imul(l,R0)|0,Q=Q+Math.imul(l,z0)|0,Q=Q+Math.imul(n,R0)|0,K=K+Math.imul(n,z0)|0,U=U+Math.imul(h,P0)|0,Q=Q+Math.imul(h,M0)|0,Q=Q+Math.imul(d,P0)|0,K=K+Math.imul(d,M0)|0;var n0=(O+U|0)+((Q&8191)<<13)|0;O=(K+(Q>>>13)|0)+(n0>>>26)|0,n0&=67108863,U=Math.imul(Z0,J0),Q=Math.imul(Z0,F0),Q=Q+Math.imul(G0,J0)|0,K=Math.imul(G0,F0),U=U+Math.imul($0,A0)|0,Q=Q+Math.imul($0,W0)|0,Q=Q+Math.imul(Q0,A0)|0,K=K+Math.imul(Q0,W0)|0,U=U+Math.imul(o,H0)|0,Q=Q+Math.imul(o,E0)|0,Q=Q+Math.imul(a,H0)|0,K=K+Math.imul(a,E0)|0,U=U+Math.imul(i,T0)|0,Q=Q+Math.imul(i,D0)|0,Q=Q+Math.imul(e,T0)|0,K=K+Math.imul(e,D0)|0,U=U+Math.imul(m,C0)|0,Q=Q+Math.imul(m,L0)|0,Q=Q+Math.imul(r,C0)|0,K=K+Math.imul(r,L0)|0,U=U+Math.imul(t,R0)|0,Q=Q+Math.imul(t,z0)|0,Q=Q+Math.imul(s,R0)|0,K=K+Math.imul(s,z0)|0,U=U+Math.imul(l,P0)|0,Q=Q+Math.imul(l,M0)|0,Q=Q+Math.imul(n,P0)|0,K=K+Math.imul(n,M0)|0;var s0=(O+U|0)+((Q&8191)<<13)|0;O=(K+(Q>>>13)|0)+(s0>>>26)|0,s0&=67108863,U=Math.imul(Z0,A0),Q=Math.imul(Z0,W0),Q=Q+Math.imul(G0,A0)|0,K=Math.imul(G0,W0),U=U+Math.imul($0,H0)|0,Q=Q+Math.imul($0,E0)|0,Q=Q+Math.imul(Q0,H0)|0,K=K+Math.imul(Q0,E0)|0,U=U+Math.imul(o,T0)|0,Q=Q+Math.imul(o,D0)|0,Q=Q+Math.imul(a,T0)|0,K=K+Math.imul(a,D0)|0,U=U+Math.imul(i,C0)|0,Q=Q+Math.imul(i,L0)|0,Q=Q+Math.imul(e,C0)|0,K=K+Math.imul(e,L0)|0,U=U+Math.imul(m,R0)|0,Q=Q+Math.imul(m,z0)|0,Q=Q+Math.imul(r,R0)|0,K=K+Math.imul(r,z0)|0,U=U+Math.imul(t,P0)|0,Q=Q+Math.imul(t,M0)|0,Q=Q+Math.imul(s,P0)|0,K=K+Math.imul(s,M0)|0;var t0=(O+U|0)+((Q&8191)<<13)|0;O=(K+(Q>>>13)|0)+(t0>>>26)|0,t0&=67108863,U=Math.imul(Z0,H0),Q=Math.imul(Z0,E0),Q=Q+Math.imul(G0,H0)|0,K=Math.imul(G0,E0),U=U+Math.imul($0,T0)|0,Q=Q+Math.imul($0,D0)|0,Q=Q+Math.imul(Q0,T0)|0,K=K+Math.imul(Q0,D0)|0,U=U+Math.imul(o,C0)|0,Q=Q+Math.imul(o,L0)|0,Q=Q+Math.imul(a,C0)|0,K=K+Math.imul(a,L0)|0,U=U+Math.imul(i,R0)|0,Q=Q+Math.imul(i,z0)|0,Q=Q+Math.imul(e,R0)|0,K=K+Math.imul(e,z0)|0,U=U+Math.imul(m,P0)|0,Q=Q+Math.imul(m,M0)|0,Q=Q+Math.imul(r,P0)|0,K=K+Math.imul(r,M0)|0;var m0=(O+U|0)+((Q&8191)<<13)|0;O=(K+(Q>>>13)|0)+(m0>>>26)|0,m0&=67108863,U=Math.imul(Z0,T0),Q=Math.imul(Z0,D0),Q=Q+Math.imul(G0,T0)|0,K=Math.imul(G0,D0),U=U+Math.imul($0,C0)|0,Q=Q+Math.imul($0,L0)|0,Q=Q+Math.imul(Q0,C0)|0,K=K+Math.imul(Q0,L0)|0,U=U+Math.imul(o,R0)|0,Q=Q+Math.imul(o,z0)|0,Q=Q+Math.imul(a,R0)|0,K=K+Math.imul(a,z0)|0,U=U+Math.imul(i,P0)|0,Q=Q+Math.imul(i,M0)|0,Q=Q+Math.imul(e,P0)|0,K=K+Math.imul(e,M0)|0;var a0=(O+U|0)+((Q&8191)<<13)|0;O=(K+(Q>>>13)|0)+(a0>>>26)|0,a0&=67108863,U=Math.imul(Z0,C0),Q=Math.imul(Z0,L0),Q=Q+Math.imul(G0,C0)|0,K=Math.imul(G0,L0),U=U+Math.imul($0,R0)|0,Q=Q+Math.imul($0,z0)|0,Q=Q+Math.imul(Q0,R0)|0,K=K+Math.imul(Q0,z0)|0,U=U+Math.imul(o,P0)|0,Q=Q+Math.imul(o,M0)|0,Q=Q+Math.imul(a,P0)|0,K=K+Math.imul(a,M0)|0;var e0=(O+U|0)+((Q&8191)<<13)|0;O=(K+(Q>>>13)|0)+(e0>>>26)|0,e0&=67108863,U=Math.imul(Z0,R0),Q=Math.imul(Z0,z0),Q=Q+Math.imul(G0,R0)|0,K=Math.imul(G0,z0),U=U+Math.imul($0,P0)|0,Q=Q+Math.imul($0,M0)|0,Q=Q+Math.imul(Q0,P0)|0,K=K+Math.imul(Q0,M0)|0;var r0=(O+U|0)+((Q&8191)<<13)|0;O=(K+(Q>>>13)|0)+(r0>>>26)|0,r0&=67108863,U=Math.imul(Z0,P0),Q=Math.imul(Z0,M0),Q=Q+Math.imul(G0,P0)|0,K=Math.imul(G0,M0);var i0=(O+U|0)+((Q&8191)<<13)|0;return O=(K+(Q>>>13)|0)+(i0>>>26)|0,i0&=67108863,I[0]=Q$,I[1]=k0,I[2]=g0,I[3]=f0,I[4]=c0,I[5]=h0,I[6]=d0,I[7]=b0,I[8]=l0,I[9]=o0,I[10]=u0,I[11]=n0,I[12]=s0,I[13]=t0,I[14]=m0,I[15]=a0,I[16]=e0,I[17]=r0,I[18]=i0,O!==0&&(I[19]=O,G.length++),G};Math.imul||(M=R);function v($,Y,G){G.negative=Y.negative^$.negative,G.length=$.length+Y.length;for(var Z=0,V=0,I=0;I>>26)|0,V+=O>>>26,O&=67108863}G.words[I]=U,Z=O,O=V}return Z!==0?G.words[I]=Z:G.length--,G.strip()}function q($,Y,G){var Z=new g;return Z.mulp($,Y,G)}X.prototype.mulTo=function($,Y){var G,Z=this.length+$.length;return this.length===10&&$.length===10?G=M(this,$,Y):Z<63?G=R(this,$,Y):Z<1024?G=v(this,$,Y):G=q(this,$,Y),G};function g($,Y){this.x=$,this.y=Y}g.prototype.makeRBT=function($){for(var Y=new Array($),G=X.prototype._countBits($)-1,Z=0;Z<$;Z++)Y[Z]=this.revBin(Z,G,$);return Y},g.prototype.revBin=function($,Y,G){if($===0||$===G-1)return $;for(var Z=0,V=0;V>=1;return Z},g.prototype.permute=function($,Y,G,Z,V,I){for(var O=0;O>>1)V++;return 1<>>13,G[2*I+1]=V&8191,V=V>>>13;for(I=2*Y;I>=26,Y+=Z/67108864|0,Y+=V>>>26,this.words[G]=V&67108863}return Y!==0&&(this.words[G]=Y,this.length++),this},X.prototype.muln=function($){return this.clone().imuln($)},X.prototype.sqr=function(){return this.mul(this)},X.prototype.isqr=function(){return this.imul(this.clone())},X.prototype.pow=function($){var Y=E($);if(Y.length===0)return new X(1);for(var G=this,Z=0;Z=0);var Y=$%26,G=($-Y)/26,Z=67108863>>>26-Y<<26-Y,V;if(Y!==0){var I=0;for(V=0;V>>26-Y}I&&(this.words[V]=I,this.length++)}if(G!==0){for(V=this.length-1;V>=0;V--)this.words[V+G]=this.words[V];for(V=0;V=0);var Z;Y?Z=(Y-Y%26)/26:Z=0;var V=$%26,I=Math.min(($-V)/26,this.length),O=67108863^67108863>>>V<I)for(this.length-=I,Q=0;Q=0&&(K!==0||Q>=Z);Q--){var L=this.words[Q]|0;this.words[Q]=K<<26-V|L>>>V,K=L&O}return U&&K!==0&&(U.words[U.length++]=K),this.length===0&&(this.words[0]=0,this.length=1),this.strip()},X.prototype.ishrn=function($,Y,G){return F(this.negative===0),this.iushrn($,Y,G)},X.prototype.shln=function($){return this.clone().ishln($)},X.prototype.ushln=function($){return this.clone().iushln($)},X.prototype.shrn=function($){return this.clone().ishrn($)},X.prototype.ushrn=function($){return this.clone().iushrn($)},X.prototype.testn=function($){F(typeof $=="number"&&$>=0);var Y=$%26,G=($-Y)/26,Z=1<=0);var Y=$%26,G=($-Y)/26;if(F(this.negative===0,"imaskn works only with positive numbers"),this.length<=G)return this;if(Y!==0&&G++,this.length=Math.min(G,this.length),Y!==0){var Z=67108863^67108863>>>Y<=67108864;Y++)this.words[Y]-=67108864,Y===this.length-1?this.words[Y+1]=1:this.words[Y+1]++;return this.length=Math.max(this.length,Y+1),this},X.prototype.isubn=function($){if(F(typeof $=="number"),F($<67108864),$<0)return this.iaddn(-$);if(this.negative!==0)return this.negative=0,this.iaddn($),this.negative=1,this;if(this.words[0]-=$,this.length===1&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var Y=0;Y>26)-(U/67108864|0),this.words[V+G]=I&67108863}for(;V>26,this.words[V+G]=I&67108863;if(O===0)return this.strip();for(F(O===-1),O=0,V=0;V>26,this.words[V]=I&67108863;return this.negative=1,this.strip()},X.prototype._wordDiv=function($,Y){var G=this.length-$.length,Z=this.clone(),V=$,I=V.words[V.length-1]|0,O=this._countBits(I);G=26-O,G!==0&&(V=V.ushln(G),Z.iushln(G),I=V.words[V.length-1]|0);var U=Z.length-V.length,Q;if(Y!=="mod"){Q=new X(null),Q.length=U+1,Q.words=new Array(Q.length);for(var K=0;K=0;A--){var S=(Z.words[V.length+A]|0)*67108864+(Z.words[V.length+A-1]|0);for(S=Math.min(S/I|0,67108863),Z._ishlnsubmul(V,S,A);Z.negative!==0;)S--,Z.negative=0,Z._ishlnsubmul(V,1,A),Z.isZero()||(Z.negative^=1);Q&&(Q.words[A]=S)}return Q&&Q.strip(),Z.strip(),Y!=="div"&&G!==0&&Z.iushrn(G),{div:Q||null,mod:Z}},X.prototype.divmod=function($,Y,G){if(F(!$.isZero()),this.isZero())return{div:new X(0),mod:new X(0)};var Z,V,I;return this.negative!==0&&$.negative===0?(I=this.neg().divmod($,Y),Y!=="mod"&&(Z=I.div.neg()),Y!=="div"&&(V=I.mod.neg(),G&&V.negative!==0&&V.iadd($)),{div:Z,mod:V}):this.negative===0&&$.negative!==0?(I=this.divmod($.neg(),Y),Y!=="mod"&&(Z=I.div.neg()),{div:Z,mod:I.mod}):(this.negative&$.negative)!==0?(I=this.neg().divmod($.neg(),Y),Y!=="div"&&(V=I.mod.neg(),G&&V.negative!==0&&V.isub($)),{div:I.div,mod:V}):$.length>this.length||this.cmp($)<0?{div:new X(0),mod:this}:$.length===1?Y==="div"?{div:this.divn($.words[0]),mod:null}:Y==="mod"?{div:null,mod:new X(this.modn($.words[0]))}:{div:this.divn($.words[0]),mod:new X(this.modn($.words[0]))}:this._wordDiv($,Y)},X.prototype.div=function($){return this.divmod($,"div",!1).div},X.prototype.mod=function($){return this.divmod($,"mod",!1).mod},X.prototype.umod=function($){return this.divmod($,"mod",!0).mod},X.prototype.divRound=function($){var Y=this.divmod($);if(Y.mod.isZero())return Y.div;var G=Y.div.negative!==0?Y.mod.isub($):Y.mod,Z=$.ushrn(1),V=$.andln(1),I=G.cmp(Z);return I<0||V===1&&I===0?Y.div:Y.div.negative!==0?Y.div.isubn(1):Y.div.iaddn(1)},X.prototype.modn=function($){F($<=67108863);for(var Y=(1<<26)%$,G=0,Z=this.length-1;Z>=0;Z--)G=(Y*G+(this.words[Z]|0))%$;return G},X.prototype.idivn=function($){F($<=67108863);for(var Y=0,G=this.length-1;G>=0;G--){var Z=(this.words[G]|0)+Y*67108864;this.words[G]=Z/$|0,Y=Z%$}return this.strip()},X.prototype.divn=function($){return this.clone().idivn($)},X.prototype.egcd=function($){F($.negative===0),F(!$.isZero());var Y=this,G=$.clone();Y.negative!==0?Y=Y.umod($):Y=Y.clone();for(var Z=new X(1),V=new X(0),I=new X(0),O=new X(1),U=0;Y.isEven()&&G.isEven();)Y.iushrn(1),G.iushrn(1),++U;for(var Q=G.clone(),K=Y.clone();!Y.isZero();){for(var L=0,A=1;(Y.words[0]&A)===0&&L<26;++L,A<<=1);if(L>0)for(Y.iushrn(L);L-- >0;)(Z.isOdd()||V.isOdd())&&(Z.iadd(Q),V.isub(K)),Z.iushrn(1),V.iushrn(1);for(var S=0,x=1;(G.words[0]&x)===0&&S<26;++S,x<<=1);if(S>0)for(G.iushrn(S);S-- >0;)(I.isOdd()||O.isOdd())&&(I.iadd(Q),O.isub(K)),I.iushrn(1),O.iushrn(1);Y.cmp(G)>=0?(Y.isub(G),Z.isub(I),V.isub(O)):(G.isub(Y),I.isub(Z),O.isub(V))}return{a:I,b:O,gcd:G.iushln(U)}},X.prototype._invmp=function($){F($.negative===0),F(!$.isZero());var Y=this,G=$.clone();Y.negative!==0?Y=Y.umod($):Y=Y.clone();for(var Z=new X(1),V=new X(0),I=G.clone();Y.cmpn(1)>0&&G.cmpn(1)>0;){for(var O=0,U=1;(Y.words[0]&U)===0&&O<26;++O,U<<=1);if(O>0)for(Y.iushrn(O);O-- >0;)Z.isOdd()&&Z.iadd(I),Z.iushrn(1);for(var Q=0,K=1;(G.words[0]&K)===0&&Q<26;++Q,K<<=1);if(Q>0)for(G.iushrn(Q);Q-- >0;)V.isOdd()&&V.iadd(I),V.iushrn(1);Y.cmp(G)>=0?(Y.isub(G),Z.isub(V)):(G.isub(Y),V.isub(Z))}var L;return Y.cmpn(1)===0?L=Z:L=V,L.cmpn(0)<0&&L.iadd($),L},X.prototype.gcd=function($){if(this.isZero())return $.abs();if($.isZero())return this.abs();var Y=this.clone(),G=$.clone();Y.negative=0,G.negative=0;for(var Z=0;Y.isEven()&&G.isEven();Z++)Y.iushrn(1),G.iushrn(1);do{for(;Y.isEven();)Y.iushrn(1);for(;G.isEven();)G.iushrn(1);var V=Y.cmp(G);if(V<0){var I=Y;Y=G,G=I}else if(V===0||G.cmpn(1)===0)break;Y.isub(G)}while(!0);return G.iushln(Z)},X.prototype.invm=function($){return this.egcd($).a.umod($)},X.prototype.isEven=function(){return(this.words[0]&1)===0},X.prototype.isOdd=function(){return(this.words[0]&1)===1},X.prototype.andln=function($){return this.words[0]&$},X.prototype.bincn=function($){F(typeof $=="number");var Y=$%26,G=($-Y)/26,Z=1<>>26,O&=67108863,this.words[I]=O}return V!==0&&(this.words[I]=V,this.length++),this},X.prototype.isZero=function(){return this.length===1&&this.words[0]===0},X.prototype.cmpn=function($){var Y=$<0;if(this.negative!==0&&!Y)return-1;if(this.negative===0&&Y)return 1;this.strip();var G;if(this.length>1)G=1;else{Y&&($=-$),F($<=67108863,"Number is too big");var Z=this.words[0]|0;G=Z===$?0:Z<$?-1:1}return this.negative!==0?-G|0:G},X.prototype.cmp=function($){if(this.negative!==0&&$.negative===0)return-1;if(this.negative===0&&$.negative!==0)return 1;var Y=this.ucmp($);return this.negative!==0?-Y|0:Y},X.prototype.ucmp=function($){if(this.length>$.length)return 1;if(this.length<$.length)return-1;for(var Y=0,G=this.length-1;G>=0;G--){var Z=this.words[G]|0,V=$.words[G]|0;if(Z!==V){ZV&&(Y=1);break}}return Y},X.prototype.gtn=function($){return this.cmpn($)===1},X.prototype.gt=function($){return this.cmp($)===1},X.prototype.gten=function($){return this.cmpn($)>=0},X.prototype.gte=function($){return this.cmp($)>=0},X.prototype.ltn=function($){return this.cmpn($)===-1},X.prototype.lt=function($){return this.cmp($)===-1},X.prototype.lten=function($){return this.cmpn($)<=0},X.prototype.lte=function($){return this.cmp($)<=0},X.prototype.eqn=function($){return this.cmpn($)===0},X.prototype.eq=function($){return this.cmp($)===0},X.red=function($){return new p($)},X.prototype.toRed=function($){return F(!this.red,"Already a number in reduction context"),F(this.negative===0,"red works only with positives"),$.convertTo(this)._forceRed($)},X.prototype.fromRed=function(){return F(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},X.prototype._forceRed=function($){return this.red=$,this},X.prototype.forceRed=function($){return F(!this.red,"Already a number in reduction context"),this._forceRed($)},X.prototype.redAdd=function($){return F(this.red,"redAdd works only with red numbers"),this.red.add(this,$)},X.prototype.redIAdd=function($){return F(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,$)},X.prototype.redSub=function($){return F(this.red,"redSub works only with red numbers"),this.red.sub(this,$)},X.prototype.redISub=function($){return F(this.red,"redISub works only with red numbers"),this.red.isub(this,$)},X.prototype.redShl=function($){return F(this.red,"redShl works only with red numbers"),this.red.shl(this,$)},X.prototype.redMul=function($){return F(this.red,"redMul works only with red numbers"),this.red._verify2(this,$),this.red.mul(this,$)},X.prototype.redIMul=function($){return F(this.red,"redMul works only with red numbers"),this.red._verify2(this,$),this.red.imul(this,$)},X.prototype.redSqr=function(){return F(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},X.prototype.redISqr=function(){return F(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},X.prototype.redSqrt=function(){return F(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},X.prototype.redInvm=function(){return F(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},X.prototype.redNeg=function(){return F(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},X.prototype.redPow=function($){return F(this.red&&!$.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,$)};var B={k256:null,p224:null,p192:null,p25519:null};function w($,Y){this.name=$,this.p=new X(Y,16),this.n=this.p.bitLength(),this.k=new X(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}w.prototype._tmp=function(){var $=new X(null);return $.words=new Array(Math.ceil(this.n/13)),$},w.prototype.ireduce=function($){var Y=$,G;do this.split(Y,this.tmp),Y=this.imulK(Y),Y=Y.iadd(this.tmp),G=Y.bitLength();while(G>this.n);var Z=G0?Y.isub(this.p):Y.strip!==void 0?Y.strip():Y._strip(),Y},w.prototype.split=function($,Y){$.iushrn(this.n,0,Y)},w.prototype.imulK=function($){return $.imul(this.k)};function f(){w.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}P(f,w),f.prototype.split=function($,Y){for(var G=4194303,Z=Math.min($.length,9),V=0;V>>22,I=O}I>>>=22,$.words[V-10]=I,I===0&&$.length>10?$.length-=10:$.length-=9},f.prototype.imulK=function($){$.words[$.length]=0,$.words[$.length+1]=0,$.length+=2;for(var Y=0,G=0;G<$.length;G++){var Z=$.words[G]|0;Y+=Z*977,$.words[G]=Y&67108863,Y=Z*64+(Y/67108864|0)}return $.words[$.length-1]===0&&($.length--,$.words[$.length-1]===0&&$.length--),$};function b(){w.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}P(b,w);function u(){w.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}P(u,w);function Y0(){w.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}P(Y0,w),Y0.prototype.imulK=function($){for(var Y=0,G=0;G<$.length;G++){var Z=($.words[G]|0)*19+Y,V=Z&67108863;Z>>>=26,$.words[G]=V,Y=Z}return Y!==0&&($.words[$.length++]=Y),$},X._prime=function($){if(B[$])return B[$];var Y;if($==="k256")Y=new f;else if($==="p224")Y=new b;else if($==="p192")Y=new u;else if($==="p25519")Y=new Y0;else throw new Error("Unknown prime "+$);return B[$]=Y,Y};function p($){if(typeof $=="string"){var Y=X._prime($);this.m=Y.p,this.prime=Y}else F($.gtn(1),"modulus must be greater than 1"),this.m=$,this.prime=null}p.prototype._verify1=function($){F($.negative===0,"red works only with positives"),F($.red,"red works only with red numbers")},p.prototype._verify2=function($,Y){F(($.negative|Y.negative)===0,"red works only with positives"),F($.red&&$.red===Y.red,"red works only with red numbers")},p.prototype.imod=function($){return this.prime?this.prime.ireduce($)._forceRed(this):$.umod(this.m)._forceRed(this)},p.prototype.neg=function($){return $.isZero()?$.clone():this.m.sub($)._forceRed(this)},p.prototype.add=function($,Y){this._verify2($,Y);var G=$.add(Y);return G.cmp(this.m)>=0&&G.isub(this.m),G._forceRed(this)},p.prototype.iadd=function($,Y){this._verify2($,Y);var G=$.iadd(Y);return G.cmp(this.m)>=0&&G.isub(this.m),G},p.prototype.sub=function($,Y){this._verify2($,Y);var G=$.sub(Y);return G.cmpn(0)<0&&G.iadd(this.m),G._forceRed(this)},p.prototype.isub=function($,Y){this._verify2($,Y);var G=$.isub(Y);return G.cmpn(0)<0&&G.iadd(this.m),G},p.prototype.shl=function($,Y){return this._verify1($),this.imod($.ushln(Y))},p.prototype.imul=function($,Y){return this._verify2($,Y),this.imod($.imul(Y))},p.prototype.mul=function($,Y){return this._verify2($,Y),this.imod($.mul(Y))},p.prototype.isqr=function($){return this.imul($,$.clone())},p.prototype.sqr=function($){return this.mul($,$)},p.prototype.sqrt=function($){if($.isZero())return $.clone();var Y=this.m.andln(3);if(F(Y%2===1),Y===3){var G=this.m.add(new X(1)).iushrn(2);return this.pow($,G)}for(var Z=this.m.subn(1),V=0;!Z.isZero()&&Z.andln(1)===0;)V++,Z.iushrn(1);F(!Z.isZero());var I=new X(1).toRed(this),O=I.redNeg(),U=this.m.subn(1).iushrn(1),Q=this.m.bitLength();for(Q=new X(2*Q*Q).toRed(this);this.pow(Q,U).cmp(O)!==0;)Q.redIAdd(O);for(var K=this.pow(Q,Z),L=this.pow($,Z.addn(1).iushrn(1)),A=this.pow($,Z),S=V;A.cmp(I)!==0;){for(var x=A,y=0;x.cmp(I)!==0;y++)x=x.redSqr();F(y=0;V--){for(var K=Y.words[V],L=Q-1;L>=0;L--){var A=K>>L&1;if(I!==Z[0]&&(I=this.sqr(I)),A===0&&O===0){U=0;continue}O<<=1,O|=A,U++,!(U!==G&&(V!==0||L!==0))&&(I=this.mul(I,Z[O]),U=0,O=0)}Q=26}return I},p.prototype.convertTo=function($){var Y=$.umod(this.m);return Y===$?Y.clone():Y},p.prototype.convertFrom=function($){var Y=$.clone();return Y.red=null,Y},X.mont=function($){return new v0($)};function v0($){p.call(this,$),this.shift=this.m.bitLength(),this.shift%26!==0&&(this.shift+=26-this.shift%26),this.r=new X(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}P(v0,p),v0.prototype.convertTo=function($){return this.imod($.ushln(this.shift))},v0.prototype.convertFrom=function($){var Y=this.imod($.mul(this.rinv));return Y.red=null,Y},v0.prototype.imul=function($,Y){if($.isZero()||Y.isZero())return $.words[0]=0,$.length=1,$;var G=$.imul(Y),Z=G.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),V=G.isub(Z).iushrn(this.shift),I=V;return V.cmp(this.m)>=0?I=V.isub(this.m):V.cmpn(0)<0&&(I=V.iadd(this.m)),I._forceRed(this)},v0.prototype.mul=function($,Y){if($.isZero()||Y.isZero())return new X(0)._forceRed(this);var G=$.mul(Y),Z=G.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),V=G.isub(Z).iushrn(this.shift),I=V;return V.cmp(this.m)>=0?I=V.isub(this.m):V.cmpn(0)<0&&(I=V.iadd(this.m)),I._forceRed(this)},v0.prototype.invm=function($){var Y=this.imod($._invmp(this.m).mul(this.r2));return Y._forceRed(this)}})(typeof _>"u"||_,N)}}),AZ=S0({"(disabled):node_modules/crypto-browserify/index.js"(){}}),c$=S0({"node_modules/brorand/index.js"(N,_){var j;_.exports=function(F){return j||(j=new k(null)),j.generate(F)};function k(F){this.rand=F}_.exports.Rand=k,k.prototype.generate=function(F){return this._rand(F)},k.prototype._rand=function(F){var P=new j0(F);return W$.getRandomValues(P),P}}}),PQ=S0({"node_modules/miller-rabin/lib/mr.js"(N,_){var j=DY(),k=c$();function F(P){this.rand=P||new k.Rand}_.exports=F,F.create=function(P){return new F(P)},F.prototype._randbelow=function(P){var X=P.bitLength(),C=Math.ceil(X/8);do var z=new j(this.rand.generate(C));while(z.cmp(P)>=0);return z},F.prototype._randrange=function(P,X){var C=X.sub(P);return P.add(this._randbelow(C))},F.prototype.test=function(P,X,C){var z=P.bitLength(),T=j.mont(P),H=new j(1).toRed(T);X||(X=Math.max(1,z/48|0));for(var J=P.subn(1),W=0;!J.testn(W);W++);for(var D=P.shrn(W),E=J.toRed(T),R=!0;X>0;X--){var M=this._randrange(new j(2),J);C&&C(M);var v=M.toRed(T).redPow(D);if(!(v.cmp(H)===0||v.cmp(E)===0)){for(var q=1;q0;X--){var E=this._randrange(new j(2),H),R=P.gcd(E);if(R.cmpn(1)!==0)return R;var M=E.toRed(z).redPow(W);if(!(M.cmp(T)===0||M.cmp(D)===0)){for(var v=1;vb;)Y0.ishrn(1);if(Y0.isEven()&&Y0.iadd(C),Y0.testn(1)||Y0.iadd(z),u.cmp(z)){if(!u.cmp(T))for(;Y0.mod(W).cmp(D);)Y0.iadd(M)}else for(;Y0.mod(F).cmp(R);)Y0.iadd(M);if(p=Y0.shrn(1),B(p)&&B(Y0)&&w(p)&&w(Y0)&&X.test(p)&&X.test(Y0))return Y0}}}}),CY=S0({"node_modules/diffie-hellman/lib/primes.json"(N,_){_.exports={modp1:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a63a3620ffffffffffffffff"},modp2:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece65381ffffffffffffffff"},modp5:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca237327ffffffffffffffff"},modp14:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aacaa68ffffffffffffffff"},modp15:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a93ad2caffffffffffffffff"},modp16:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c934063199ffffffffffffffff"},modp17:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dcc4024ffffffffffffffff"},modp18:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dbe115974a3926f12fee5e438777cb6a932df8cd8bec4d073b931ba3bc832b68d9dd300741fa7bf8afc47ed2576f6936ba424663aab639c5ae4f5683423b4742bf1c978238f16cbe39d652de3fdb8befc848ad922222e04a4037c0713eb57a81a23f0c73473fc646cea306b4bcbc8862f8385ddfa9d4b7fa2c087e879683303ed5bdd3a062b3cf5b3a278a66d2a13f83f44f82ddf310ee074ab6a364597e899a0255dc164f31cc50846851df9ab48195ded7ea1b1d510bd7ee74d73faf36bc31ecfa268359046f4eb879f924009438b481c6cd7889a002ed5ee382bc9190da6fc026e479558e4475677e9aa9e3050e2765694dfc81f56e880b96e7160c980dd98edd3dfffffffffffffffff"}}}}),LY=S0({"node_modules/diffie-hellman/lib/dh.js"(N,_){var j=zQ(),k=PQ(),F=new k,P=new j(24),X=new j(11),C=new j(10),z=new j(3),T=new j(7),H=MQ(),J=L$();_.exports=M;function W(q,g){return g=g||"utf8",j0.isBuffer(q)||(q=new j0(q,g)),this._pub=new j(q),this}function D(q,g){return g=g||"utf8",j0.isBuffer(q)||(q=new j0(q,g)),this._priv=new j(q),this}var E={};function R(q,g){var B=g.toString("hex"),w=[B,q.toString(16)].join("_");if(w in E)return E[w];var f=0;if(q.isEven()||!H.simpleSieve||!H.fermatTest(q)||!F.test(q))return f+=1,B==="02"||B==="05"?f+=8:f+=4,E[w]=f,f;F.test(q.shrn(1))||(f+=2);var b;switch(B){case"02":q.mod(P).cmp(X)&&(f+=8);break;case"05":b=q.mod(C),b.cmp(z)&&b.cmp(T)&&(f+=8);break;default:f+=4}return E[w]=f,f}function M(q,g,B){this.setGenerator(g),this.__prime=new j(q),this._prime=j.mont(this.__prime),this._primeLen=q.length,this._pub=void 0,this._priv=void 0,this._primeCode=void 0,B?(this.setPublicKey=W,this.setPrivateKey=D):this._primeCode=8}Object.defineProperty(M.prototype,"verifyError",{enumerable:!0,get:function(){return typeof this._primeCode!="number"&&(this._primeCode=R(this.__prime,this.__gen)),this._primeCode}}),M.prototype.generateKeys=function(){return this._priv||(this._priv=new j(J(this._primeLen))),this._pub=this._gen.toRed(this._prime).redPow(this._priv).fromRed(),this.getPublicKey()},M.prototype.computeSecret=function(q){q=new j(q),q=q.toRed(this._prime);var g=q.redPow(this._priv).fromRed(),B=new j0(g.toArray()),w=this.getPrime();if(B.length0?Z:V},X.min=function(Z,V){return Z.cmp(V)<0?Z:V},X.prototype._init=function(Z,V,I){if(typeof Z=="number")return this._initNumber(Z,V,I);if(typeof Z=="object")return this._initArray(Z,V,I);V==="hex"&&(V=16),F(V===(V|0)&&V>=2&&V<=36),Z=Z.toString().replace(/\s+/g,"");var O=0;Z[0]==="-"&&(O++,this.negative=1),O=0;O-=3)Q=Z[O]|Z[O-1]<<8|Z[O-2]<<16,this.words[U]|=Q<>>26-K&67108863,K+=24,K>=26&&(K-=26,U++);else if(I==="le")for(O=0,U=0;O>>26-K&67108863,K+=24,K>=26&&(K-=26,U++);return this._strip()};function z(Z,V){var I=Z.charCodeAt(V);if(I>=48&&I<=57)return I-48;if(I>=65&&I<=70)return I-55;if(I>=97&&I<=102)return I-87;F(!1,"Invalid character in "+Z)}function T(Z,V,I){var O=z(Z,I);return I-1>=V&&(O|=z(Z,I-1)<<4),O}X.prototype._parseHex=function(Z,V,I){this.length=Math.ceil((Z.length-V)/6),this.words=new Array(this.length);for(var O=0;O=V;O-=2)K=T(Z,V,O)<=18?(U-=18,Q+=1,this.words[Q]|=K>>>26):U+=8;else{var L=Z.length-V;for(O=L%2===0?V+1:V;O=18?(U-=18,Q+=1,this.words[Q]|=K>>>26):U+=8}this._strip()};function H(Z,V,I,O){for(var U=0,Q=0,K=Math.min(Z.length,I),L=V;L=49?Q=A-49+10:A>=17?Q=A-17+10:Q=A,F(A>=0&&Q1&&this.words[this.length-1]===0;)this.length--;return this._normSign()},X.prototype._normSign=function(){return this.length===1&&this.words[0]===0&&(this.negative=0),this},typeof Symbol<"u"&&typeof Symbol.for=="function")try{X.prototype[Symbol.for("nodejs.util.inspect.custom")]=W}catch{X.prototype.inspect=W}else X.prototype.inspect=W;function W(){return(this.red?""}var D=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],E=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],R=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64000000,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,24300000,28629151,33554432,39135393,45435424,52521875,60466176];X.prototype.toString=function(Z,V){Z=Z||10,V=V|0||1;var I;if(Z===16||Z==="hex"){I="";for(var O=0,U=0,Q=0;Q>>24-O&16777215,O+=2,O>=26&&(O-=26,Q--),U!==0||Q!==this.length-1?I=D[6-L.length]+L+I:I=L+I}for(U!==0&&(I=U.toString(16)+I);I.length%V!==0;)I="0"+I;return this.negative!==0&&(I="-"+I),I}if(Z===(Z|0)&&Z>=2&&Z<=36){var A=E[Z],S=R[Z];I="";var x=this.clone();for(x.negative=0;!x.isZero();){var y=x.modrn(S).toString(Z);x=x.idivn(S),x.isZero()?I=y+I:I=D[A-y.length]+y+I}for(this.isZero()&&(I="0"+I);I.length%V!==0;)I="0"+I;return this.negative!==0&&(I="-"+I),I}F(!1,"Base should be between 2 and 36")},X.prototype.toNumber=function(){var Z=this.words[0];return this.length===2?Z+=this.words[1]*67108864:this.length===3&&this.words[2]===1?Z+=4503599627370496+this.words[1]*67108864:this.length>2&&F(!1,"Number can only safely store up to 53 bits"),this.negative!==0?-Z:Z},X.prototype.toJSON=function(){return this.toString(16,2)},C&&(X.prototype.toBuffer=function(Z,V){return this.toArrayLike(C,Z,V)}),X.prototype.toArray=function(Z,V){return this.toArrayLike(Array,Z,V)};var M=function(Z,V){return Z.allocUnsafe?Z.allocUnsafe(V):new Z(V)};X.prototype.toArrayLike=function(Z,V,I){this._strip();var O=this.byteLength(),U=I||Math.max(1,O);F(O<=U,"byte array longer than desired length"),F(U>0,"Requested array length <= 0");var Q=M(Z,U),K=V==="le"?"LE":"BE";return this["_toArrayLike"+K](Q,O),Q},X.prototype._toArrayLikeLE=function(Z,V){for(var I=0,O=0,U=0,Q=0;U>8&255),I>16&255),Q===6?(I>24&255),O=0,Q=0):(O=K>>>24,Q+=2)}if(I=0&&(Z[I--]=K>>8&255),I>=0&&(Z[I--]=K>>16&255),Q===6?(I>=0&&(Z[I--]=K>>24&255),O=0,Q=0):(O=K>>>24,Q+=2)}if(I>=0)for(Z[I--]=O;I>=0;)Z[I--]=0},Math.clz32?X.prototype._countBits=function(Z){return 32-Math.clz32(Z)}:X.prototype._countBits=function(Z){var V=Z,I=0;return V>=4096&&(I+=13,V>>>=13),V>=64&&(I+=7,V>>>=7),V>=8&&(I+=4,V>>>=4),V>=2&&(I+=2,V>>>=2),I+V},X.prototype._zeroBits=function(Z){if(Z===0)return 26;var V=Z,I=0;return(V&8191)===0&&(I+=13,V>>>=13),(V&127)===0&&(I+=7,V>>>=7),(V&15)===0&&(I+=4,V>>>=4),(V&3)===0&&(I+=2,V>>>=2),(V&1)===0&&I++,I},X.prototype.bitLength=function(){var Z=this.words[this.length-1],V=this._countBits(Z);return(this.length-1)*26+V};function v(Z){for(var V=new Array(Z.bitLength()),I=0;I>>U&1}return V}X.prototype.zeroBits=function(){if(this.isZero())return 0;for(var Z=0,V=0;VZ.length?this.clone().ior(Z):Z.clone().ior(this)},X.prototype.uor=function(Z){return this.length>Z.length?this.clone().iuor(Z):Z.clone().iuor(this)},X.prototype.iuand=function(Z){var V;this.length>Z.length?V=Z:V=this;for(var I=0;IZ.length?this.clone().iand(Z):Z.clone().iand(this)},X.prototype.uand=function(Z){return this.length>Z.length?this.clone().iuand(Z):Z.clone().iuand(this)},X.prototype.iuxor=function(Z){var V,I;this.length>Z.length?(V=this,I=Z):(V=Z,I=this);for(var O=0;OZ.length?this.clone().ixor(Z):Z.clone().ixor(this)},X.prototype.uxor=function(Z){return this.length>Z.length?this.clone().iuxor(Z):Z.clone().iuxor(this)},X.prototype.inotn=function(Z){F(typeof Z=="number"&&Z>=0);var V=Math.ceil(Z/26)|0,I=Z%26;this._expand(V),I>0&&V--;for(var O=0;O0&&(this.words[O]=~this.words[O]&67108863>>26-I),this._strip()},X.prototype.notn=function(Z){return this.clone().inotn(Z)},X.prototype.setn=function(Z,V){F(typeof Z=="number"&&Z>=0);var I=Z/26|0,O=Z%26;return this._expand(I+1),V?this.words[I]=this.words[I]|1<Z.length?(I=this,O=Z):(I=Z,O=this);for(var U=0,Q=0;Q>>26;for(;U!==0&&Q>>26;if(this.length=I.length,U!==0)this.words[this.length]=U,this.length++;else if(I!==this)for(;QZ.length?this.clone().iadd(Z):Z.clone().iadd(this)},X.prototype.isub=function(Z){if(Z.negative!==0){Z.negative=0;var V=this.iadd(Z);return Z.negative=1,V._normSign()}else if(this.negative!==0)return this.negative=0,this.iadd(Z),this.negative=1,this._normSign();var I=this.cmp(Z);if(I===0)return this.negative=0,this.length=1,this.words[0]=0,this;var O,U;I>0?(O=this,U=Z):(O=Z,U=this);for(var Q=0,K=0;K>26,this.words[K]=V&67108863;for(;Q!==0&&K>26,this.words[K]=V&67108863;if(Q===0&&K>>26,y=A&67108863,c=Math.min(S,V.length-1),q0=Math.max(0,S-Z.length+1);q0<=c;q0++){var h=S-q0|0;U=Z.words[h]|0,Q=V.words[q0]|0,K=U*Q+y,x+=K/67108864|0,y=K&67108863}I.words[S]=y|0,A=x|0}return A!==0?I.words[S]=A|0:I.length--,I._strip()}var g=function(Z,V,I){var O=Z.words,U=V.words,Q=I.words,K=0,L,A,S,x=O[0]|0,y=x&8191,c=x>>>13,q0=O[1]|0,h=q0&8191,d=q0>>>13,_0=O[2]|0,l=_0&8191,n=_0>>>13,y0=O[3]|0,t=y0&8191,s=y0>>>13,w0=O[4]|0,m=w0&8191,r=w0>>>13,$$=O[5]|0,i=$$&8191,e=$$>>>13,x0=O[6]|0,o=x0&8191,a=x0>>>13,p0=O[7]|0,$0=p0&8191,Q0=p0>>>13,Y$=O[8]|0,Z0=Y$&8191,G0=Y$>>>13,Z$=O[9]|0,V0=Z$&8191,U0=Z$>>>13,G$=U[0]|0,X0=G$&8191,K0=G$>>>13,V$=U[1]|0,I0=V$&8191,O0=V$>>>13,U$=U[2]|0,J0=U$&8191,F0=U$>>>13,X$=U[3]|0,A0=X$&8191,W0=X$>>>13,K$=U[4]|0,H0=K$&8191,E0=K$>>>13,I$=U[5]|0,T0=I$&8191,D0=I$>>>13,O$=U[6]|0,C0=O$&8191,L0=O$>>>13,J$=U[7]|0,R0=J$&8191,z0=J$>>>13,F$=U[8]|0,P0=F$&8191,M0=F$>>>13,Q$=U[9]|0,k0=Q$&8191,g0=Q$>>>13;I.negative=Z.negative^V.negative,I.length=19,L=Math.imul(y,X0),A=Math.imul(y,K0),A=A+Math.imul(c,X0)|0,S=Math.imul(c,K0);var f0=(K+L|0)+((A&8191)<<13)|0;K=(S+(A>>>13)|0)+(f0>>>26)|0,f0&=67108863,L=Math.imul(h,X0),A=Math.imul(h,K0),A=A+Math.imul(d,X0)|0,S=Math.imul(d,K0),L=L+Math.imul(y,I0)|0,A=A+Math.imul(y,O0)|0,A=A+Math.imul(c,I0)|0,S=S+Math.imul(c,O0)|0;var c0=(K+L|0)+((A&8191)<<13)|0;K=(S+(A>>>13)|0)+(c0>>>26)|0,c0&=67108863,L=Math.imul(l,X0),A=Math.imul(l,K0),A=A+Math.imul(n,X0)|0,S=Math.imul(n,K0),L=L+Math.imul(h,I0)|0,A=A+Math.imul(h,O0)|0,A=A+Math.imul(d,I0)|0,S=S+Math.imul(d,O0)|0,L=L+Math.imul(y,J0)|0,A=A+Math.imul(y,F0)|0,A=A+Math.imul(c,J0)|0,S=S+Math.imul(c,F0)|0;var h0=(K+L|0)+((A&8191)<<13)|0;K=(S+(A>>>13)|0)+(h0>>>26)|0,h0&=67108863,L=Math.imul(t,X0),A=Math.imul(t,K0),A=A+Math.imul(s,X0)|0,S=Math.imul(s,K0),L=L+Math.imul(l,I0)|0,A=A+Math.imul(l,O0)|0,A=A+Math.imul(n,I0)|0,S=S+Math.imul(n,O0)|0,L=L+Math.imul(h,J0)|0,A=A+Math.imul(h,F0)|0,A=A+Math.imul(d,J0)|0,S=S+Math.imul(d,F0)|0,L=L+Math.imul(y,A0)|0,A=A+Math.imul(y,W0)|0,A=A+Math.imul(c,A0)|0,S=S+Math.imul(c,W0)|0;var d0=(K+L|0)+((A&8191)<<13)|0;K=(S+(A>>>13)|0)+(d0>>>26)|0,d0&=67108863,L=Math.imul(m,X0),A=Math.imul(m,K0),A=A+Math.imul(r,X0)|0,S=Math.imul(r,K0),L=L+Math.imul(t,I0)|0,A=A+Math.imul(t,O0)|0,A=A+Math.imul(s,I0)|0,S=S+Math.imul(s,O0)|0,L=L+Math.imul(l,J0)|0,A=A+Math.imul(l,F0)|0,A=A+Math.imul(n,J0)|0,S=S+Math.imul(n,F0)|0,L=L+Math.imul(h,A0)|0,A=A+Math.imul(h,W0)|0,A=A+Math.imul(d,A0)|0,S=S+Math.imul(d,W0)|0,L=L+Math.imul(y,H0)|0,A=A+Math.imul(y,E0)|0,A=A+Math.imul(c,H0)|0,S=S+Math.imul(c,E0)|0;var b0=(K+L|0)+((A&8191)<<13)|0;K=(S+(A>>>13)|0)+(b0>>>26)|0,b0&=67108863,L=Math.imul(i,X0),A=Math.imul(i,K0),A=A+Math.imul(e,X0)|0,S=Math.imul(e,K0),L=L+Math.imul(m,I0)|0,A=A+Math.imul(m,O0)|0,A=A+Math.imul(r,I0)|0,S=S+Math.imul(r,O0)|0,L=L+Math.imul(t,J0)|0,A=A+Math.imul(t,F0)|0,A=A+Math.imul(s,J0)|0,S=S+Math.imul(s,F0)|0,L=L+Math.imul(l,A0)|0,A=A+Math.imul(l,W0)|0,A=A+Math.imul(n,A0)|0,S=S+Math.imul(n,W0)|0,L=L+Math.imul(h,H0)|0,A=A+Math.imul(h,E0)|0,A=A+Math.imul(d,H0)|0,S=S+Math.imul(d,E0)|0,L=L+Math.imul(y,T0)|0,A=A+Math.imul(y,D0)|0,A=A+Math.imul(c,T0)|0,S=S+Math.imul(c,D0)|0;var l0=(K+L|0)+((A&8191)<<13)|0;K=(S+(A>>>13)|0)+(l0>>>26)|0,l0&=67108863,L=Math.imul(o,X0),A=Math.imul(o,K0),A=A+Math.imul(a,X0)|0,S=Math.imul(a,K0),L=L+Math.imul(i,I0)|0,A=A+Math.imul(i,O0)|0,A=A+Math.imul(e,I0)|0,S=S+Math.imul(e,O0)|0,L=L+Math.imul(m,J0)|0,A=A+Math.imul(m,F0)|0,A=A+Math.imul(r,J0)|0,S=S+Math.imul(r,F0)|0,L=L+Math.imul(t,A0)|0,A=A+Math.imul(t,W0)|0,A=A+Math.imul(s,A0)|0,S=S+Math.imul(s,W0)|0,L=L+Math.imul(l,H0)|0,A=A+Math.imul(l,E0)|0,A=A+Math.imul(n,H0)|0,S=S+Math.imul(n,E0)|0,L=L+Math.imul(h,T0)|0,A=A+Math.imul(h,D0)|0,A=A+Math.imul(d,T0)|0,S=S+Math.imul(d,D0)|0,L=L+Math.imul(y,C0)|0,A=A+Math.imul(y,L0)|0,A=A+Math.imul(c,C0)|0,S=S+Math.imul(c,L0)|0;var o0=(K+L|0)+((A&8191)<<13)|0;K=(S+(A>>>13)|0)+(o0>>>26)|0,o0&=67108863,L=Math.imul($0,X0),A=Math.imul($0,K0),A=A+Math.imul(Q0,X0)|0,S=Math.imul(Q0,K0),L=L+Math.imul(o,I0)|0,A=A+Math.imul(o,O0)|0,A=A+Math.imul(a,I0)|0,S=S+Math.imul(a,O0)|0,L=L+Math.imul(i,J0)|0,A=A+Math.imul(i,F0)|0,A=A+Math.imul(e,J0)|0,S=S+Math.imul(e,F0)|0,L=L+Math.imul(m,A0)|0,A=A+Math.imul(m,W0)|0,A=A+Math.imul(r,A0)|0,S=S+Math.imul(r,W0)|0,L=L+Math.imul(t,H0)|0,A=A+Math.imul(t,E0)|0,A=A+Math.imul(s,H0)|0,S=S+Math.imul(s,E0)|0,L=L+Math.imul(l,T0)|0,A=A+Math.imul(l,D0)|0,A=A+Math.imul(n,T0)|0,S=S+Math.imul(n,D0)|0,L=L+Math.imul(h,C0)|0,A=A+Math.imul(h,L0)|0,A=A+Math.imul(d,C0)|0,S=S+Math.imul(d,L0)|0,L=L+Math.imul(y,R0)|0,A=A+Math.imul(y,z0)|0,A=A+Math.imul(c,R0)|0,S=S+Math.imul(c,z0)|0;var u0=(K+L|0)+((A&8191)<<13)|0;K=(S+(A>>>13)|0)+(u0>>>26)|0,u0&=67108863,L=Math.imul(Z0,X0),A=Math.imul(Z0,K0),A=A+Math.imul(G0,X0)|0,S=Math.imul(G0,K0),L=L+Math.imul($0,I0)|0,A=A+Math.imul($0,O0)|0,A=A+Math.imul(Q0,I0)|0,S=S+Math.imul(Q0,O0)|0,L=L+Math.imul(o,J0)|0,A=A+Math.imul(o,F0)|0,A=A+Math.imul(a,J0)|0,S=S+Math.imul(a,F0)|0,L=L+Math.imul(i,A0)|0,A=A+Math.imul(i,W0)|0,A=A+Math.imul(e,A0)|0,S=S+Math.imul(e,W0)|0,L=L+Math.imul(m,H0)|0,A=A+Math.imul(m,E0)|0,A=A+Math.imul(r,H0)|0,S=S+Math.imul(r,E0)|0,L=L+Math.imul(t,T0)|0,A=A+Math.imul(t,D0)|0,A=A+Math.imul(s,T0)|0,S=S+Math.imul(s,D0)|0,L=L+Math.imul(l,C0)|0,A=A+Math.imul(l,L0)|0,A=A+Math.imul(n,C0)|0,S=S+Math.imul(n,L0)|0,L=L+Math.imul(h,R0)|0,A=A+Math.imul(h,z0)|0,A=A+Math.imul(d,R0)|0,S=S+Math.imul(d,z0)|0,L=L+Math.imul(y,P0)|0,A=A+Math.imul(y,M0)|0,A=A+Math.imul(c,P0)|0,S=S+Math.imul(c,M0)|0;var n0=(K+L|0)+((A&8191)<<13)|0;K=(S+(A>>>13)|0)+(n0>>>26)|0,n0&=67108863,L=Math.imul(V0,X0),A=Math.imul(V0,K0),A=A+Math.imul(U0,X0)|0,S=Math.imul(U0,K0),L=L+Math.imul(Z0,I0)|0,A=A+Math.imul(Z0,O0)|0,A=A+Math.imul(G0,I0)|0,S=S+Math.imul(G0,O0)|0,L=L+Math.imul($0,J0)|0,A=A+Math.imul($0,F0)|0,A=A+Math.imul(Q0,J0)|0,S=S+Math.imul(Q0,F0)|0,L=L+Math.imul(o,A0)|0,A=A+Math.imul(o,W0)|0,A=A+Math.imul(a,A0)|0,S=S+Math.imul(a,W0)|0,L=L+Math.imul(i,H0)|0,A=A+Math.imul(i,E0)|0,A=A+Math.imul(e,H0)|0,S=S+Math.imul(e,E0)|0,L=L+Math.imul(m,T0)|0,A=A+Math.imul(m,D0)|0,A=A+Math.imul(r,T0)|0,S=S+Math.imul(r,D0)|0,L=L+Math.imul(t,C0)|0,A=A+Math.imul(t,L0)|0,A=A+Math.imul(s,C0)|0,S=S+Math.imul(s,L0)|0,L=L+Math.imul(l,R0)|0,A=A+Math.imul(l,z0)|0,A=A+Math.imul(n,R0)|0,S=S+Math.imul(n,z0)|0,L=L+Math.imul(h,P0)|0,A=A+Math.imul(h,M0)|0,A=A+Math.imul(d,P0)|0,S=S+Math.imul(d,M0)|0,L=L+Math.imul(y,k0)|0,A=A+Math.imul(y,g0)|0,A=A+Math.imul(c,k0)|0,S=S+Math.imul(c,g0)|0;var s0=(K+L|0)+((A&8191)<<13)|0;K=(S+(A>>>13)|0)+(s0>>>26)|0,s0&=67108863,L=Math.imul(V0,I0),A=Math.imul(V0,O0),A=A+Math.imul(U0,I0)|0,S=Math.imul(U0,O0),L=L+Math.imul(Z0,J0)|0,A=A+Math.imul(Z0,F0)|0,A=A+Math.imul(G0,J0)|0,S=S+Math.imul(G0,F0)|0,L=L+Math.imul($0,A0)|0,A=A+Math.imul($0,W0)|0,A=A+Math.imul(Q0,A0)|0,S=S+Math.imul(Q0,W0)|0,L=L+Math.imul(o,H0)|0,A=A+Math.imul(o,E0)|0,A=A+Math.imul(a,H0)|0,S=S+Math.imul(a,E0)|0,L=L+Math.imul(i,T0)|0,A=A+Math.imul(i,D0)|0,A=A+Math.imul(e,T0)|0,S=S+Math.imul(e,D0)|0,L=L+Math.imul(m,C0)|0,A=A+Math.imul(m,L0)|0,A=A+Math.imul(r,C0)|0,S=S+Math.imul(r,L0)|0,L=L+Math.imul(t,R0)|0,A=A+Math.imul(t,z0)|0,A=A+Math.imul(s,R0)|0,S=S+Math.imul(s,z0)|0,L=L+Math.imul(l,P0)|0,A=A+Math.imul(l,M0)|0,A=A+Math.imul(n,P0)|0,S=S+Math.imul(n,M0)|0,L=L+Math.imul(h,k0)|0,A=A+Math.imul(h,g0)|0,A=A+Math.imul(d,k0)|0,S=S+Math.imul(d,g0)|0;var t0=(K+L|0)+((A&8191)<<13)|0;K=(S+(A>>>13)|0)+(t0>>>26)|0,t0&=67108863,L=Math.imul(V0,J0),A=Math.imul(V0,F0),A=A+Math.imul(U0,J0)|0,S=Math.imul(U0,F0),L=L+Math.imul(Z0,A0)|0,A=A+Math.imul(Z0,W0)|0,A=A+Math.imul(G0,A0)|0,S=S+Math.imul(G0,W0)|0,L=L+Math.imul($0,H0)|0,A=A+Math.imul($0,E0)|0,A=A+Math.imul(Q0,H0)|0,S=S+Math.imul(Q0,E0)|0,L=L+Math.imul(o,T0)|0,A=A+Math.imul(o,D0)|0,A=A+Math.imul(a,T0)|0,S=S+Math.imul(a,D0)|0,L=L+Math.imul(i,C0)|0,A=A+Math.imul(i,L0)|0,A=A+Math.imul(e,C0)|0,S=S+Math.imul(e,L0)|0,L=L+Math.imul(m,R0)|0,A=A+Math.imul(m,z0)|0,A=A+Math.imul(r,R0)|0,S=S+Math.imul(r,z0)|0,L=L+Math.imul(t,P0)|0,A=A+Math.imul(t,M0)|0,A=A+Math.imul(s,P0)|0,S=S+Math.imul(s,M0)|0,L=L+Math.imul(l,k0)|0,A=A+Math.imul(l,g0)|0,A=A+Math.imul(n,k0)|0,S=S+Math.imul(n,g0)|0;var m0=(K+L|0)+((A&8191)<<13)|0;K=(S+(A>>>13)|0)+(m0>>>26)|0,m0&=67108863,L=Math.imul(V0,A0),A=Math.imul(V0,W0),A=A+Math.imul(U0,A0)|0,S=Math.imul(U0,W0),L=L+Math.imul(Z0,H0)|0,A=A+Math.imul(Z0,E0)|0,A=A+Math.imul(G0,H0)|0,S=S+Math.imul(G0,E0)|0,L=L+Math.imul($0,T0)|0,A=A+Math.imul($0,D0)|0,A=A+Math.imul(Q0,T0)|0,S=S+Math.imul(Q0,D0)|0,L=L+Math.imul(o,C0)|0,A=A+Math.imul(o,L0)|0,A=A+Math.imul(a,C0)|0,S=S+Math.imul(a,L0)|0,L=L+Math.imul(i,R0)|0,A=A+Math.imul(i,z0)|0,A=A+Math.imul(e,R0)|0,S=S+Math.imul(e,z0)|0,L=L+Math.imul(m,P0)|0,A=A+Math.imul(m,M0)|0,A=A+Math.imul(r,P0)|0,S=S+Math.imul(r,M0)|0,L=L+Math.imul(t,k0)|0,A=A+Math.imul(t,g0)|0,A=A+Math.imul(s,k0)|0,S=S+Math.imul(s,g0)|0;var a0=(K+L|0)+((A&8191)<<13)|0;K=(S+(A>>>13)|0)+(a0>>>26)|0,a0&=67108863,L=Math.imul(V0,H0),A=Math.imul(V0,E0),A=A+Math.imul(U0,H0)|0,S=Math.imul(U0,E0),L=L+Math.imul(Z0,T0)|0,A=A+Math.imul(Z0,D0)|0,A=A+Math.imul(G0,T0)|0,S=S+Math.imul(G0,D0)|0,L=L+Math.imul($0,C0)|0,A=A+Math.imul($0,L0)|0,A=A+Math.imul(Q0,C0)|0,S=S+Math.imul(Q0,L0)|0,L=L+Math.imul(o,R0)|0,A=A+Math.imul(o,z0)|0,A=A+Math.imul(a,R0)|0,S=S+Math.imul(a,z0)|0,L=L+Math.imul(i,P0)|0,A=A+Math.imul(i,M0)|0,A=A+Math.imul(e,P0)|0,S=S+Math.imul(e,M0)|0,L=L+Math.imul(m,k0)|0,A=A+Math.imul(m,g0)|0,A=A+Math.imul(r,k0)|0,S=S+Math.imul(r,g0)|0;var e0=(K+L|0)+((A&8191)<<13)|0;K=(S+(A>>>13)|0)+(e0>>>26)|0,e0&=67108863,L=Math.imul(V0,T0),A=Math.imul(V0,D0),A=A+Math.imul(U0,T0)|0,S=Math.imul(U0,D0),L=L+Math.imul(Z0,C0)|0,A=A+Math.imul(Z0,L0)|0,A=A+Math.imul(G0,C0)|0,S=S+Math.imul(G0,L0)|0,L=L+Math.imul($0,R0)|0,A=A+Math.imul($0,z0)|0,A=A+Math.imul(Q0,R0)|0,S=S+Math.imul(Q0,z0)|0,L=L+Math.imul(o,P0)|0,A=A+Math.imul(o,M0)|0,A=A+Math.imul(a,P0)|0,S=S+Math.imul(a,M0)|0,L=L+Math.imul(i,k0)|0,A=A+Math.imul(i,g0)|0,A=A+Math.imul(e,k0)|0,S=S+Math.imul(e,g0)|0;var r0=(K+L|0)+((A&8191)<<13)|0;K=(S+(A>>>13)|0)+(r0>>>26)|0,r0&=67108863,L=Math.imul(V0,C0),A=Math.imul(V0,L0),A=A+Math.imul(U0,C0)|0,S=Math.imul(U0,L0),L=L+Math.imul(Z0,R0)|0,A=A+Math.imul(Z0,z0)|0,A=A+Math.imul(G0,R0)|0,S=S+Math.imul(G0,z0)|0,L=L+Math.imul($0,P0)|0,A=A+Math.imul($0,M0)|0,A=A+Math.imul(Q0,P0)|0,S=S+Math.imul(Q0,M0)|0,L=L+Math.imul(o,k0)|0,A=A+Math.imul(o,g0)|0,A=A+Math.imul(a,k0)|0,S=S+Math.imul(a,g0)|0;var i0=(K+L|0)+((A&8191)<<13)|0;K=(S+(A>>>13)|0)+(i0>>>26)|0,i0&=67108863,L=Math.imul(V0,R0),A=Math.imul(V0,z0),A=A+Math.imul(U0,R0)|0,S=Math.imul(U0,z0),L=L+Math.imul(Z0,P0)|0,A=A+Math.imul(Z0,M0)|0,A=A+Math.imul(G0,P0)|0,S=S+Math.imul(G0,M0)|0,L=L+Math.imul($0,k0)|0,A=A+Math.imul($0,g0)|0,A=A+Math.imul(Q0,k0)|0,S=S+Math.imul(Q0,g0)|0;var N$=(K+L|0)+((A&8191)<<13)|0;K=(S+(A>>>13)|0)+(N$>>>26)|0,N$&=67108863,L=Math.imul(V0,P0),A=Math.imul(V0,M0),A=A+Math.imul(U0,P0)|0,S=Math.imul(U0,M0),L=L+Math.imul(Z0,k0)|0,A=A+Math.imul(Z0,g0)|0,A=A+Math.imul(G0,k0)|0,S=S+Math.imul(G0,g0)|0;var x$=(K+L|0)+((A&8191)<<13)|0;K=(S+(A>>>13)|0)+(x$>>>26)|0,x$&=67108863,L=Math.imul(V0,k0),A=Math.imul(V0,g0),A=A+Math.imul(U0,k0)|0,S=Math.imul(U0,g0);var B$=(K+L|0)+((A&8191)<<13)|0;return K=(S+(A>>>13)|0)+(B$>>>26)|0,B$&=67108863,Q[0]=f0,Q[1]=c0,Q[2]=h0,Q[3]=d0,Q[4]=b0,Q[5]=l0,Q[6]=o0,Q[7]=u0,Q[8]=n0,Q[9]=s0,Q[10]=t0,Q[11]=m0,Q[12]=a0,Q[13]=e0,Q[14]=r0,Q[15]=i0,Q[16]=N$,Q[17]=x$,Q[18]=B$,K!==0&&(Q[19]=K,I.length++),I};Math.imul||(g=q);function B(Z,V,I){I.negative=V.negative^Z.negative,I.length=Z.length+V.length;for(var O=0,U=0,Q=0;Q>>26)|0,U+=K>>>26,K&=67108863}I.words[Q]=L,O=K,K=U}return O!==0?I.words[Q]=O:I.length--,I._strip()}function w(Z,V,I){return B(Z,V,I)}X.prototype.mulTo=function(Z,V){var I,O=this.length+Z.length;return this.length===10&&Z.length===10?I=g(this,Z,V):O<63?I=q(this,Z,V):O<1024?I=B(this,Z,V):I=w(this,Z,V),I};function f(Z,V){this.x=Z,this.y=V}f.prototype.makeRBT=function(Z){for(var V=new Array(Z),I=X.prototype._countBits(Z)-1,O=0;O>=1;return O},f.prototype.permute=function(Z,V,I,O,U,Q){for(var K=0;K>>1)U++;return 1<>>13,I[2*Q+1]=U&8191,U=U>>>13;for(Q=2*V;Q>=26,I+=U/67108864|0,I+=Q>>>26,this.words[O]=Q&67108863}return I!==0&&(this.words[O]=I,this.length++),V?this.ineg():this},X.prototype.muln=function(Z){return this.clone().imuln(Z)},X.prototype.sqr=function(){return this.mul(this)},X.prototype.isqr=function(){return this.imul(this.clone())},X.prototype.pow=function(Z){var V=v(Z);if(V.length===0)return new X(1);for(var I=this,O=0;O=0);var V=Z%26,I=(Z-V)/26,O=67108863>>>26-V<<26-V,U;if(V!==0){var Q=0;for(U=0;U>>26-V}Q&&(this.words[U]=Q,this.length++)}if(I!==0){for(U=this.length-1;U>=0;U--)this.words[U+I]=this.words[U];for(U=0;U=0);var O;V?O=(V-V%26)/26:O=0;var U=Z%26,Q=Math.min((Z-U)/26,this.length),K=67108863^67108863>>>U<Q)for(this.length-=Q,A=0;A=0&&(S!==0||A>=O);A--){var x=this.words[A]|0;this.words[A]=S<<26-U|x>>>U,S=x&K}return L&&S!==0&&(L.words[L.length++]=S),this.length===0&&(this.words[0]=0,this.length=1),this._strip()},X.prototype.ishrn=function(Z,V,I){return F(this.negative===0),this.iushrn(Z,V,I)},X.prototype.shln=function(Z){return this.clone().ishln(Z)},X.prototype.ushln=function(Z){return this.clone().iushln(Z)},X.prototype.shrn=function(Z){return this.clone().ishrn(Z)},X.prototype.ushrn=function(Z){return this.clone().iushrn(Z)},X.prototype.testn=function(Z){F(typeof Z=="number"&&Z>=0);var V=Z%26,I=(Z-V)/26,O=1<=0);var V=Z%26,I=(Z-V)/26;if(F(this.negative===0,"imaskn works only with positive numbers"),this.length<=I)return this;if(V!==0&&I++,this.length=Math.min(I,this.length),V!==0){var O=67108863^67108863>>>V<=67108864;V++)this.words[V]-=67108864,V===this.length-1?this.words[V+1]=1:this.words[V+1]++;return this.length=Math.max(this.length,V+1),this},X.prototype.isubn=function(Z){if(F(typeof Z=="number"),F(Z<67108864),Z<0)return this.iaddn(-Z);if(this.negative!==0)return this.negative=0,this.iaddn(Z),this.negative=1,this;if(this.words[0]-=Z,this.length===1&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var V=0;V>26)-(L/67108864|0),this.words[U+I]=Q&67108863}for(;U>26,this.words[U+I]=Q&67108863;if(K===0)return this._strip();for(F(K===-1),K=0,U=0;U>26,this.words[U]=Q&67108863;return this.negative=1,this._strip()},X.prototype._wordDiv=function(Z,V){var I=this.length-Z.length,O=this.clone(),U=Z,Q=U.words[U.length-1]|0,K=this._countBits(Q);I=26-K,I!==0&&(U=U.ushln(I),O.iushln(I),Q=U.words[U.length-1]|0);var L=O.length-U.length,A;if(V!=="mod"){A=new X(null),A.length=L+1,A.words=new Array(A.length);for(var S=0;S=0;y--){var c=(O.words[U.length+y]|0)*67108864+(O.words[U.length+y-1]|0);for(c=Math.min(c/Q|0,67108863),O._ishlnsubmul(U,c,y);O.negative!==0;)c--,O.negative=0,O._ishlnsubmul(U,1,y),O.isZero()||(O.negative^=1);A&&(A.words[y]=c)}return A&&A._strip(),O._strip(),V!=="div"&&I!==0&&O.iushrn(I),{div:A||null,mod:O}},X.prototype.divmod=function(Z,V,I){if(F(!Z.isZero()),this.isZero())return{div:new X(0),mod:new X(0)};var O,U,Q;return this.negative!==0&&Z.negative===0?(Q=this.neg().divmod(Z,V),V!=="mod"&&(O=Q.div.neg()),V!=="div"&&(U=Q.mod.neg(),I&&U.negative!==0&&U.iadd(Z)),{div:O,mod:U}):this.negative===0&&Z.negative!==0?(Q=this.divmod(Z.neg(),V),V!=="mod"&&(O=Q.div.neg()),{div:O,mod:Q.mod}):(this.negative&Z.negative)!==0?(Q=this.neg().divmod(Z.neg(),V),V!=="div"&&(U=Q.mod.neg(),I&&U.negative!==0&&U.isub(Z)),{div:Q.div,mod:U}):Z.length>this.length||this.cmp(Z)<0?{div:new X(0),mod:this}:Z.length===1?V==="div"?{div:this.divn(Z.words[0]),mod:null}:V==="mod"?{div:null,mod:new X(this.modrn(Z.words[0]))}:{div:this.divn(Z.words[0]),mod:new X(this.modrn(Z.words[0]))}:this._wordDiv(Z,V)},X.prototype.div=function(Z){return this.divmod(Z,"div",!1).div},X.prototype.mod=function(Z){return this.divmod(Z,"mod",!1).mod},X.prototype.umod=function(Z){return this.divmod(Z,"mod",!0).mod},X.prototype.divRound=function(Z){var V=this.divmod(Z);if(V.mod.isZero())return V.div;var I=V.div.negative!==0?V.mod.isub(Z):V.mod,O=Z.ushrn(1),U=Z.andln(1),Q=I.cmp(O);return Q<0||U===1&&Q===0?V.div:V.div.negative!==0?V.div.isubn(1):V.div.iaddn(1)},X.prototype.modrn=function(Z){var V=Z<0;V&&(Z=-Z),F(Z<=67108863);for(var I=(1<<26)%Z,O=0,U=this.length-1;U>=0;U--)O=(I*O+(this.words[U]|0))%Z;return V?-O:O},X.prototype.modn=function(Z){return this.modrn(Z)},X.prototype.idivn=function(Z){var V=Z<0;V&&(Z=-Z),F(Z<=67108863);for(var I=0,O=this.length-1;O>=0;O--){var U=(this.words[O]|0)+I*67108864;this.words[O]=U/Z|0,I=U%Z}return this._strip(),V?this.ineg():this},X.prototype.divn=function(Z){return this.clone().idivn(Z)},X.prototype.egcd=function(Z){F(Z.negative===0),F(!Z.isZero());var V=this,I=Z.clone();V.negative!==0?V=V.umod(Z):V=V.clone();for(var O=new X(1),U=new X(0),Q=new X(0),K=new X(1),L=0;V.isEven()&&I.isEven();)V.iushrn(1),I.iushrn(1),++L;for(var A=I.clone(),S=V.clone();!V.isZero();){for(var x=0,y=1;(V.words[0]&y)===0&&x<26;++x,y<<=1);if(x>0)for(V.iushrn(x);x-- >0;)(O.isOdd()||U.isOdd())&&(O.iadd(A),U.isub(S)),O.iushrn(1),U.iushrn(1);for(var c=0,q0=1;(I.words[0]&q0)===0&&c<26;++c,q0<<=1);if(c>0)for(I.iushrn(c);c-- >0;)(Q.isOdd()||K.isOdd())&&(Q.iadd(A),K.isub(S)),Q.iushrn(1),K.iushrn(1);V.cmp(I)>=0?(V.isub(I),O.isub(Q),U.isub(K)):(I.isub(V),Q.isub(O),K.isub(U))}return{a:Q,b:K,gcd:I.iushln(L)}},X.prototype._invmp=function(Z){F(Z.negative===0),F(!Z.isZero());var V=this,I=Z.clone();V.negative!==0?V=V.umod(Z):V=V.clone();for(var O=new X(1),U=new X(0),Q=I.clone();V.cmpn(1)>0&&I.cmpn(1)>0;){for(var K=0,L=1;(V.words[0]&L)===0&&K<26;++K,L<<=1);if(K>0)for(V.iushrn(K);K-- >0;)O.isOdd()&&O.iadd(Q),O.iushrn(1);for(var A=0,S=1;(I.words[0]&S)===0&&A<26;++A,S<<=1);if(A>0)for(I.iushrn(A);A-- >0;)U.isOdd()&&U.iadd(Q),U.iushrn(1);V.cmp(I)>=0?(V.isub(I),O.isub(U)):(I.isub(V),U.isub(O))}var x;return V.cmpn(1)===0?x=O:x=U,x.cmpn(0)<0&&x.iadd(Z),x},X.prototype.gcd=function(Z){if(this.isZero())return Z.abs();if(Z.isZero())return this.abs();var V=this.clone(),I=Z.clone();V.negative=0,I.negative=0;for(var O=0;V.isEven()&&I.isEven();O++)V.iushrn(1),I.iushrn(1);do{for(;V.isEven();)V.iushrn(1);for(;I.isEven();)I.iushrn(1);var U=V.cmp(I);if(U<0){var Q=V;V=I,I=Q}else if(U===0||I.cmpn(1)===0)break;V.isub(I)}while(!0);return I.iushln(O)},X.prototype.invm=function(Z){return this.egcd(Z).a.umod(Z)},X.prototype.isEven=function(){return(this.words[0]&1)===0},X.prototype.isOdd=function(){return(this.words[0]&1)===1},X.prototype.andln=function(Z){return this.words[0]&Z},X.prototype.bincn=function(Z){F(typeof Z=="number");var V=Z%26,I=(Z-V)/26,O=1<>>26,K&=67108863,this.words[Q]=K}return U!==0&&(this.words[Q]=U,this.length++),this},X.prototype.isZero=function(){return this.length===1&&this.words[0]===0},X.prototype.cmpn=function(Z){var V=Z<0;if(this.negative!==0&&!V)return-1;if(this.negative===0&&V)return 1;this._strip();var I;if(this.length>1)I=1;else{V&&(Z=-Z),F(Z<=67108863,"Number is too big");var O=this.words[0]|0;I=O===Z?0:OZ.length)return 1;if(this.length=0;I--){var O=this.words[I]|0,U=Z.words[I]|0;if(O!==U){OU&&(V=1);break}}return V},X.prototype.gtn=function(Z){return this.cmpn(Z)===1},X.prototype.gt=function(Z){return this.cmp(Z)===1},X.prototype.gten=function(Z){return this.cmpn(Z)>=0},X.prototype.gte=function(Z){return this.cmp(Z)>=0},X.prototype.ltn=function(Z){return this.cmpn(Z)===-1},X.prototype.lt=function(Z){return this.cmp(Z)===-1},X.prototype.lten=function(Z){return this.cmpn(Z)<=0},X.prototype.lte=function(Z){return this.cmp(Z)<=0},X.prototype.eqn=function(Z){return this.cmpn(Z)===0},X.prototype.eq=function(Z){return this.cmp(Z)===0},X.red=function(Z){return new Y(Z)},X.prototype.toRed=function(Z){return F(!this.red,"Already a number in reduction context"),F(this.negative===0,"red works only with positives"),Z.convertTo(this)._forceRed(Z)},X.prototype.fromRed=function(){return F(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},X.prototype._forceRed=function(Z){return this.red=Z,this},X.prototype.forceRed=function(Z){return F(!this.red,"Already a number in reduction context"),this._forceRed(Z)},X.prototype.redAdd=function(Z){return F(this.red,"redAdd works only with red numbers"),this.red.add(this,Z)},X.prototype.redIAdd=function(Z){return F(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,Z)},X.prototype.redSub=function(Z){return F(this.red,"redSub works only with red numbers"),this.red.sub(this,Z)},X.prototype.redISub=function(Z){return F(this.red,"redISub works only with red numbers"),this.red.isub(this,Z)},X.prototype.redShl=function(Z){return F(this.red,"redShl works only with red numbers"),this.red.shl(this,Z)},X.prototype.redMul=function(Z){return F(this.red,"redMul works only with red numbers"),this.red._verify2(this,Z),this.red.mul(this,Z)},X.prototype.redIMul=function(Z){return F(this.red,"redMul works only with red numbers"),this.red._verify2(this,Z),this.red.imul(this,Z)},X.prototype.redSqr=function(){return F(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},X.prototype.redISqr=function(){return F(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},X.prototype.redSqrt=function(){return F(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},X.prototype.redInvm=function(){return F(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},X.prototype.redNeg=function(){return F(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},X.prototype.redPow=function(Z){return F(this.red&&!Z.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,Z)};var b={k256:null,p224:null,p192:null,p25519:null};function u(Z,V){this.name=Z,this.p=new X(V,16),this.n=this.p.bitLength(),this.k=new X(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}u.prototype._tmp=function(){var Z=new X(null);return Z.words=new Array(Math.ceil(this.n/13)),Z},u.prototype.ireduce=function(Z){var V=Z,I;do this.split(V,this.tmp),V=this.imulK(V),V=V.iadd(this.tmp),I=V.bitLength();while(I>this.n);var O=I0?V.isub(this.p):V.strip!==void 0?V.strip():V._strip(),V},u.prototype.split=function(Z,V){Z.iushrn(this.n,0,V)},u.prototype.imulK=function(Z){return Z.imul(this.k)};function Y0(){u.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}P(Y0,u),Y0.prototype.split=function(Z,V){for(var I=4194303,O=Math.min(Z.length,9),U=0;U>>22,Q=K}Q>>>=22,Z.words[U-10]=Q,Q===0&&Z.length>10?Z.length-=10:Z.length-=9},Y0.prototype.imulK=function(Z){Z.words[Z.length]=0,Z.words[Z.length+1]=0,Z.length+=2;for(var V=0,I=0;I>>=26,Z.words[I]=U,V=O}return V!==0&&(Z.words[Z.length++]=V),Z},X._prime=function(Z){if(b[Z])return b[Z];var V;if(Z==="k256")V=new Y0;else if(Z==="p224")V=new p;else if(Z==="p192")V=new v0;else if(Z==="p25519")V=new $;else throw new Error("Unknown prime "+Z);return b[Z]=V,V};function Y(Z){if(typeof Z=="string"){var V=X._prime(Z);this.m=V.p,this.prime=V}else F(Z.gtn(1),"modulus must be greater than 1"),this.m=Z,this.prime=null}Y.prototype._verify1=function(Z){F(Z.negative===0,"red works only with positives"),F(Z.red,"red works only with red numbers")},Y.prototype._verify2=function(Z,V){F((Z.negative|V.negative)===0,"red works only with positives"),F(Z.red&&Z.red===V.red,"red works only with red numbers")},Y.prototype.imod=function(Z){return this.prime?this.prime.ireduce(Z)._forceRed(this):(J(Z,Z.umod(this.m)._forceRed(this)),Z)},Y.prototype.neg=function(Z){return Z.isZero()?Z.clone():this.m.sub(Z)._forceRed(this)},Y.prototype.add=function(Z,V){this._verify2(Z,V);var I=Z.add(V);return I.cmp(this.m)>=0&&I.isub(this.m),I._forceRed(this)},Y.prototype.iadd=function(Z,V){this._verify2(Z,V);var I=Z.iadd(V);return I.cmp(this.m)>=0&&I.isub(this.m),I},Y.prototype.sub=function(Z,V){this._verify2(Z,V);var I=Z.sub(V);return I.cmpn(0)<0&&I.iadd(this.m),I._forceRed(this)},Y.prototype.isub=function(Z,V){this._verify2(Z,V);var I=Z.isub(V);return I.cmpn(0)<0&&I.iadd(this.m),I},Y.prototype.shl=function(Z,V){return this._verify1(Z),this.imod(Z.ushln(V))},Y.prototype.imul=function(Z,V){return this._verify2(Z,V),this.imod(Z.imul(V))},Y.prototype.mul=function(Z,V){return this._verify2(Z,V),this.imod(Z.mul(V))},Y.prototype.isqr=function(Z){return this.imul(Z,Z.clone())},Y.prototype.sqr=function(Z){return this.mul(Z,Z)},Y.prototype.sqrt=function(Z){if(Z.isZero())return Z.clone();var V=this.m.andln(3);if(F(V%2===1),V===3){var I=this.m.add(new X(1)).iushrn(2);return this.pow(Z,I)}for(var O=this.m.subn(1),U=0;!O.isZero()&&O.andln(1)===0;)U++,O.iushrn(1);F(!O.isZero());var Q=new X(1).toRed(this),K=Q.redNeg(),L=this.m.subn(1).iushrn(1),A=this.m.bitLength();for(A=new X(2*A*A).toRed(this);this.pow(A,L).cmp(K)!==0;)A.redIAdd(K);for(var S=this.pow(A,O),x=this.pow(Z,O.addn(1).iushrn(1)),y=this.pow(Z,O),c=U;y.cmp(Q)!==0;){for(var q0=y,h=0;q0.cmp(Q)!==0;h++)q0=q0.redSqr();F(h=0;U--){for(var S=V.words[U],x=A-1;x>=0;x--){var y=S>>x&1;if(Q!==O[0]&&(Q=this.sqr(Q)),y===0&&K===0){L=0;continue}K<<=1,K|=y,L++,!(L!==I&&(U!==0||x!==0))&&(Q=this.mul(Q,O[K]),L=0,K=0)}A=26}return Q},Y.prototype.convertTo=function(Z){var V=Z.umod(this.m);return V===Z?V.clone():V},Y.prototype.convertFrom=function(Z){var V=Z.clone();return V.red=null,V},X.mont=function(Z){return new G(Z)};function G(Z){Y.call(this,Z),this.shift=this.m.bitLength(),this.shift%26!==0&&(this.shift+=26-this.shift%26),this.r=new X(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}P(G,Y),G.prototype.convertTo=function(Z){return this.imod(Z.ushln(this.shift))},G.prototype.convertFrom=function(Z){var V=this.imod(Z.mul(this.rinv));return V.red=null,V},G.prototype.imul=function(Z,V){if(Z.isZero()||V.isZero())return Z.words[0]=0,Z.length=1,Z;var I=Z.imul(V),O=I.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),U=I.isub(O).iushrn(this.shift),Q=U;return U.cmp(this.m)>=0?Q=U.isub(this.m):U.cmpn(0)<0&&(Q=U.iadd(this.m)),Q._forceRed(this)},G.prototype.mul=function(Z,V){if(Z.isZero()||V.isZero())return new X(0)._forceRed(this);var I=Z.mul(V),O=I.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),U=I.isub(O).iushrn(this.shift),Q=U;return U.cmp(this.m)>=0?Q=U.isub(this.m):U.cmpn(0)<0&&(Q=U.iadd(this.m)),Q._forceRed(this)},G.prototype.invm=function(Z){var V=this.imod(Z._invmp(this.m).mul(this.r2));return V._forceRed(this)}})(typeof _>"u"||_,N)}}),d$=S0({"node_modules/browserify-rsa/index.js"(N,_){var j=h$(),k=L$();function F(C){var z=P(C),T=z.toRed(j.mont(C.modulus)).redPow(new j(C.publicExponent)).fromRed();return{blinder:T,unblinder:z.invm(C.modulus)}}function P(C){var z=C.modulus.byteLength(),T;do T=new j(k(z));while(T.cmp(C.modulus)>=0||!T.umod(C.prime1)||!T.umod(C.prime2));return T}function X(C,z){var T=F(z),H=z.modulus.byteLength(),J=new j(C).mul(T.blinder).umod(z.modulus),W=J.toRed(j.mont(z.prime1)),D=J.toRed(j.mont(z.prime2)),E=z.coefficient,R=z.prime1,M=z.prime2,v=W.redPow(z.exponent1).fromRed(),q=D.redPow(z.exponent2).fromRed(),g=v.isub(q).imul(E).umod(R).imul(M);return q.iadd(g).imul(T.unblinder).umod(z.modulus).toArrayLike(j0,"be",H)}X.getr=P,_.exports=X}}),zY=S0({"node_modules/elliptic/package.json"(N,_){_.exports={name:"elliptic",version:"6.5.4",description:"EC cryptography",main:"lib/elliptic.js",files:["lib"],scripts:{lint:"eslint lib test","lint:fix":"npm run lint -- --fix",unit:"istanbul test _mocha --reporter=spec test/index.js",test:"npm run lint && npm run unit",version:"grunt dist && git add dist/"},repository:{type:"git",url:"git@github.com:indutny/elliptic"},keywords:["EC","Elliptic","curve","Cryptography"],author:"Fedor Indutny ",license:"MIT",bugs:{url:"https://github.com/indutny/elliptic/issues"},homepage:"https://github.com/indutny/elliptic",devDependencies:{brfs:"^2.0.2",coveralls:"^3.1.0",eslint:"^7.6.0",grunt:"^1.2.1","grunt-browserify":"^5.3.0","grunt-cli":"^1.3.2","grunt-contrib-connect":"^3.0.0","grunt-contrib-copy":"^1.0.0","grunt-contrib-uglify":"^5.0.0","grunt-mocha-istanbul":"^5.0.2","grunt-saucelabs":"^9.0.1",istanbul:"^0.4.5",mocha:"^8.0.1"},dependencies:{"bn.js":"^4.11.9",brorand:"^1.1.0","hash.js":"^1.0.0","hmac-drbg":"^1.0.1",inherits:"^2.0.4","minimalistic-assert":"^1.0.1","minimalistic-crypto-utils":"^1.0.1"}}}}),D$=S0({"node_modules/elliptic/node_modules/bn.js/lib/bn.js"(N,_){(function(j,k){function F($,Y){if(!$)throw new Error(Y||"Assertion failed")}function P($,Y){$.super_=Y;var G=function(){};G.prototype=Y.prototype,$.prototype=new G,$.prototype.constructor=$}function X($,Y,G){if(X.isBN($))return $;this.negative=0,this.words=null,this.length=0,this.red=null,$!==null&&((Y==="le"||Y==="be")&&(G=Y,Y=10),this._init($||0,Y||10,G||"be"))}typeof j=="object"?j.exports=X:k.BN=X,X.BN=X,X.wordSize=26;var C=j0;X.isBN=function($){return $ instanceof X?!0:$!==null&&typeof $=="object"&&$.constructor.wordSize===X.wordSize&&Array.isArray($.words)},X.max=function($,Y){return $.cmp(Y)>0?$:Y},X.min=function($,Y){return $.cmp(Y)<0?$:Y},X.prototype._init=function($,Y,G){if(typeof $=="number")return this._initNumber($,Y,G);if(typeof $=="object")return this._initArray($,Y,G);Y==="hex"&&(Y=16),F(Y===(Y|0)&&Y>=2&&Y<=36),$=$.toString().replace(/\s+/g,"");var Z=0;$[0]==="-"&&(Z++,this.negative=1),Z<$.length&&(Y===16?this._parseHex($,Z,G):(this._parseBase($,Y,Z),G==="le"&&this._initArray(this.toArray(),Y,G)))},X.prototype._initNumber=function($,Y,G){$<0&&(this.negative=1,$=-$),$<67108864?(this.words=[$&67108863],this.length=1):$<4503599627370496?(this.words=[$&67108863,$/67108864&67108863],this.length=2):(F($<9007199254740992),this.words=[$&67108863,$/67108864&67108863,1],this.length=3),G==="le"&&this._initArray(this.toArray(),Y,G)},X.prototype._initArray=function($,Y,G){if(F(typeof $.length=="number"),$.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil($.length/3),this.words=new Array(this.length);for(var Z=0;Z=0;Z-=3)I=$[Z]|$[Z-1]<<8|$[Z-2]<<16,this.words[V]|=I<>>26-O&67108863,O+=24,O>=26&&(O-=26,V++);else if(G==="le")for(Z=0,V=0;Z<$.length;Z+=3)I=$[Z]|$[Z+1]<<8|$[Z+2]<<16,this.words[V]|=I<>>26-O&67108863,O+=24,O>=26&&(O-=26,V++);return this.strip()};function z($,Y){var G=$.charCodeAt(Y);return G>=65&&G<=70?G-55:G>=97&&G<=102?G-87:G-48&15}function T($,Y,G){var Z=z($,G);return G-1>=Y&&(Z|=z($,G-1)<<4),Z}X.prototype._parseHex=function($,Y,G){this.length=Math.ceil(($.length-Y)/6),this.words=new Array(this.length);for(var Z=0;Z=Y;Z-=2)O=T($,Y,Z)<=18?(V-=18,I+=1,this.words[I]|=O>>>26):V+=8;else{var U=$.length-Y;for(Z=U%2===0?Y+1:Y;Z<$.length;Z+=2)O=T($,Y,Z)<=18?(V-=18,I+=1,this.words[I]|=O>>>26):V+=8}this.strip()};function H($,Y,G,Z){for(var V=0,I=Math.min($.length,G),O=Y;O=49?V+=U-49+10:U>=17?V+=U-17+10:V+=U}return V}X.prototype._parseBase=function($,Y,G){this.words=[0],this.length=1;for(var Z=0,V=1;V<=67108863;V*=Y)Z++;Z--,V=V/Y|0;for(var I=$.length-G,O=I%Z,U=Math.min(I,I-O)+G,Q=0,K=G;K1&&this.words[this.length-1]===0;)this.length--;return this._normSign()},X.prototype._normSign=function(){return this.length===1&&this.words[0]===0&&(this.negative=0),this},X.prototype.inspect=function(){return(this.red?""};var J=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],W=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],D=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64000000,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,24300000,28629151,33554432,39135393,45435424,52521875,60466176];X.prototype.toString=function($,Y){$=$||10,Y=Y|0||1;var G;if($===16||$==="hex"){G="";for(var Z=0,V=0,I=0;I>>24-Z&16777215,V!==0||I!==this.length-1?G=J[6-U.length]+U+G:G=U+G,Z+=2,Z>=26&&(Z-=26,I--)}for(V!==0&&(G=V.toString(16)+G);G.length%Y!==0;)G="0"+G;return this.negative!==0&&(G="-"+G),G}if($===($|0)&&$>=2&&$<=36){var Q=W[$],K=D[$];G="";var L=this.clone();for(L.negative=0;!L.isZero();){var A=L.modn(K).toString($);L=L.idivn(K),L.isZero()?G=A+G:G=J[Q-A.length]+A+G}for(this.isZero()&&(G="0"+G);G.length%Y!==0;)G="0"+G;return this.negative!==0&&(G="-"+G),G}F(!1,"Base should be between 2 and 36")},X.prototype.toNumber=function(){var $=this.words[0];return this.length===2?$+=this.words[1]*67108864:this.length===3&&this.words[2]===1?$+=4503599627370496+this.words[1]*67108864:this.length>2&&F(!1,"Number can only safely store up to 53 bits"),this.negative!==0?-$:$},X.prototype.toJSON=function(){return this.toString(16)},X.prototype.toBuffer=function($,Y){return F(typeof C<"u"),this.toArrayLike(C,$,Y)},X.prototype.toArray=function($,Y){return this.toArrayLike(Array,$,Y)},X.prototype.toArrayLike=function($,Y,G){var Z=this.byteLength(),V=G||Math.max(1,Z);F(Z<=V,"byte array longer than desired length"),F(V>0,"Requested array length <= 0"),this.strip();var I=Y==="le",O=new $(V),U,Q,K=this.clone();if(I){for(Q=0;!K.isZero();Q++)U=K.andln(255),K.iushrn(8),O[Q]=U;for(;Q=4096&&(G+=13,Y>>>=13),Y>=64&&(G+=7,Y>>>=7),Y>=8&&(G+=4,Y>>>=4),Y>=2&&(G+=2,Y>>>=2),G+Y},X.prototype._zeroBits=function($){if($===0)return 26;var Y=$,G=0;return(Y&8191)===0&&(G+=13,Y>>>=13),(Y&127)===0&&(G+=7,Y>>>=7),(Y&15)===0&&(G+=4,Y>>>=4),(Y&3)===0&&(G+=2,Y>>>=2),(Y&1)===0&&G++,G},X.prototype.bitLength=function(){var $=this.words[this.length-1],Y=this._countBits($);return(this.length-1)*26+Y};function E($){for(var Y=new Array($.bitLength()),G=0;G>>V}return Y}X.prototype.zeroBits=function(){if(this.isZero())return 0;for(var $=0,Y=0;Y$.length?this.clone().ior($):$.clone().ior(this)},X.prototype.uor=function($){return this.length>$.length?this.clone().iuor($):$.clone().iuor(this)},X.prototype.iuand=function($){var Y;this.length>$.length?Y=$:Y=this;for(var G=0;G$.length?this.clone().iand($):$.clone().iand(this)},X.prototype.uand=function($){return this.length>$.length?this.clone().iuand($):$.clone().iuand(this)},X.prototype.iuxor=function($){var Y,G;this.length>$.length?(Y=this,G=$):(Y=$,G=this);for(var Z=0;Z$.length?this.clone().ixor($):$.clone().ixor(this)},X.prototype.uxor=function($){return this.length>$.length?this.clone().iuxor($):$.clone().iuxor(this)},X.prototype.inotn=function($){F(typeof $=="number"&&$>=0);var Y=Math.ceil($/26)|0,G=$%26;this._expand(Y),G>0&&Y--;for(var Z=0;Z0&&(this.words[Z]=~this.words[Z]&67108863>>26-G),this.strip()},X.prototype.notn=function($){return this.clone().inotn($)},X.prototype.setn=function($,Y){F(typeof $=="number"&&$>=0);var G=$/26|0,Z=$%26;return this._expand(G+1),Y?this.words[G]=this.words[G]|1<$.length?(G=this,Z=$):(G=$,Z=this);for(var V=0,I=0;I>>26;for(;V!==0&&I>>26;if(this.length=G.length,V!==0)this.words[this.length]=V,this.length++;else if(G!==this)for(;I$.length?this.clone().iadd($):$.clone().iadd(this)},X.prototype.isub=function($){if($.negative!==0){$.negative=0;var Y=this.iadd($);return $.negative=1,Y._normSign()}else if(this.negative!==0)return this.negative=0,this.iadd($),this.negative=1,this._normSign();var G=this.cmp($);if(G===0)return this.negative=0,this.length=1,this.words[0]=0,this;var Z,V;G>0?(Z=this,V=$):(Z=$,V=this);for(var I=0,O=0;O>26,this.words[O]=Y&67108863;for(;I!==0&&O>26,this.words[O]=Y&67108863;if(I===0&&O>>26,A=Q&67108863,S=Math.min(K,Y.length-1),x=Math.max(0,K-$.length+1);x<=S;x++){var y=K-x|0;V=$.words[y]|0,I=Y.words[x]|0,O=V*I+A,L+=O/67108864|0,A=O&67108863}G.words[K]=A|0,Q=L|0}return Q!==0?G.words[K]=Q|0:G.length--,G.strip()}var M=function($,Y,G){var Z=$.words,V=Y.words,I=G.words,O=0,U,Q,K,L=Z[0]|0,A=L&8191,S=L>>>13,x=Z[1]|0,y=x&8191,c=x>>>13,q0=Z[2]|0,h=q0&8191,d=q0>>>13,_0=Z[3]|0,l=_0&8191,n=_0>>>13,y0=Z[4]|0,t=y0&8191,s=y0>>>13,w0=Z[5]|0,m=w0&8191,r=w0>>>13,$$=Z[6]|0,i=$$&8191,e=$$>>>13,x0=Z[7]|0,o=x0&8191,a=x0>>>13,p0=Z[8]|0,$0=p0&8191,Q0=p0>>>13,Y$=Z[9]|0,Z0=Y$&8191,G0=Y$>>>13,Z$=V[0]|0,V0=Z$&8191,U0=Z$>>>13,G$=V[1]|0,X0=G$&8191,K0=G$>>>13,V$=V[2]|0,I0=V$&8191,O0=V$>>>13,U$=V[3]|0,J0=U$&8191,F0=U$>>>13,X$=V[4]|0,A0=X$&8191,W0=X$>>>13,K$=V[5]|0,H0=K$&8191,E0=K$>>>13,I$=V[6]|0,T0=I$&8191,D0=I$>>>13,O$=V[7]|0,C0=O$&8191,L0=O$>>>13,J$=V[8]|0,R0=J$&8191,z0=J$>>>13,F$=V[9]|0,P0=F$&8191,M0=F$>>>13;G.negative=$.negative^Y.negative,G.length=19,U=Math.imul(A,V0),Q=Math.imul(A,U0),Q=Q+Math.imul(S,V0)|0,K=Math.imul(S,U0);var Q$=(O+U|0)+((Q&8191)<<13)|0;O=(K+(Q>>>13)|0)+(Q$>>>26)|0,Q$&=67108863,U=Math.imul(y,V0),Q=Math.imul(y,U0),Q=Q+Math.imul(c,V0)|0,K=Math.imul(c,U0),U=U+Math.imul(A,X0)|0,Q=Q+Math.imul(A,K0)|0,Q=Q+Math.imul(S,X0)|0,K=K+Math.imul(S,K0)|0;var k0=(O+U|0)+((Q&8191)<<13)|0;O=(K+(Q>>>13)|0)+(k0>>>26)|0,k0&=67108863,U=Math.imul(h,V0),Q=Math.imul(h,U0),Q=Q+Math.imul(d,V0)|0,K=Math.imul(d,U0),U=U+Math.imul(y,X0)|0,Q=Q+Math.imul(y,K0)|0,Q=Q+Math.imul(c,X0)|0,K=K+Math.imul(c,K0)|0,U=U+Math.imul(A,I0)|0,Q=Q+Math.imul(A,O0)|0,Q=Q+Math.imul(S,I0)|0,K=K+Math.imul(S,O0)|0;var g0=(O+U|0)+((Q&8191)<<13)|0;O=(K+(Q>>>13)|0)+(g0>>>26)|0,g0&=67108863,U=Math.imul(l,V0),Q=Math.imul(l,U0),Q=Q+Math.imul(n,V0)|0,K=Math.imul(n,U0),U=U+Math.imul(h,X0)|0,Q=Q+Math.imul(h,K0)|0,Q=Q+Math.imul(d,X0)|0,K=K+Math.imul(d,K0)|0,U=U+Math.imul(y,I0)|0,Q=Q+Math.imul(y,O0)|0,Q=Q+Math.imul(c,I0)|0,K=K+Math.imul(c,O0)|0,U=U+Math.imul(A,J0)|0,Q=Q+Math.imul(A,F0)|0,Q=Q+Math.imul(S,J0)|0,K=K+Math.imul(S,F0)|0;var f0=(O+U|0)+((Q&8191)<<13)|0;O=(K+(Q>>>13)|0)+(f0>>>26)|0,f0&=67108863,U=Math.imul(t,V0),Q=Math.imul(t,U0),Q=Q+Math.imul(s,V0)|0,K=Math.imul(s,U0),U=U+Math.imul(l,X0)|0,Q=Q+Math.imul(l,K0)|0,Q=Q+Math.imul(n,X0)|0,K=K+Math.imul(n,K0)|0,U=U+Math.imul(h,I0)|0,Q=Q+Math.imul(h,O0)|0,Q=Q+Math.imul(d,I0)|0,K=K+Math.imul(d,O0)|0,U=U+Math.imul(y,J0)|0,Q=Q+Math.imul(y,F0)|0,Q=Q+Math.imul(c,J0)|0,K=K+Math.imul(c,F0)|0,U=U+Math.imul(A,A0)|0,Q=Q+Math.imul(A,W0)|0,Q=Q+Math.imul(S,A0)|0,K=K+Math.imul(S,W0)|0;var c0=(O+U|0)+((Q&8191)<<13)|0;O=(K+(Q>>>13)|0)+(c0>>>26)|0,c0&=67108863,U=Math.imul(m,V0),Q=Math.imul(m,U0),Q=Q+Math.imul(r,V0)|0,K=Math.imul(r,U0),U=U+Math.imul(t,X0)|0,Q=Q+Math.imul(t,K0)|0,Q=Q+Math.imul(s,X0)|0,K=K+Math.imul(s,K0)|0,U=U+Math.imul(l,I0)|0,Q=Q+Math.imul(l,O0)|0,Q=Q+Math.imul(n,I0)|0,K=K+Math.imul(n,O0)|0,U=U+Math.imul(h,J0)|0,Q=Q+Math.imul(h,F0)|0,Q=Q+Math.imul(d,J0)|0,K=K+Math.imul(d,F0)|0,U=U+Math.imul(y,A0)|0,Q=Q+Math.imul(y,W0)|0,Q=Q+Math.imul(c,A0)|0,K=K+Math.imul(c,W0)|0,U=U+Math.imul(A,H0)|0,Q=Q+Math.imul(A,E0)|0,Q=Q+Math.imul(S,H0)|0,K=K+Math.imul(S,E0)|0;var h0=(O+U|0)+((Q&8191)<<13)|0;O=(K+(Q>>>13)|0)+(h0>>>26)|0,h0&=67108863,U=Math.imul(i,V0),Q=Math.imul(i,U0),Q=Q+Math.imul(e,V0)|0,K=Math.imul(e,U0),U=U+Math.imul(m,X0)|0,Q=Q+Math.imul(m,K0)|0,Q=Q+Math.imul(r,X0)|0,K=K+Math.imul(r,K0)|0,U=U+Math.imul(t,I0)|0,Q=Q+Math.imul(t,O0)|0,Q=Q+Math.imul(s,I0)|0,K=K+Math.imul(s,O0)|0,U=U+Math.imul(l,J0)|0,Q=Q+Math.imul(l,F0)|0,Q=Q+Math.imul(n,J0)|0,K=K+Math.imul(n,F0)|0,U=U+Math.imul(h,A0)|0,Q=Q+Math.imul(h,W0)|0,Q=Q+Math.imul(d,A0)|0,K=K+Math.imul(d,W0)|0,U=U+Math.imul(y,H0)|0,Q=Q+Math.imul(y,E0)|0,Q=Q+Math.imul(c,H0)|0,K=K+Math.imul(c,E0)|0,U=U+Math.imul(A,T0)|0,Q=Q+Math.imul(A,D0)|0,Q=Q+Math.imul(S,T0)|0,K=K+Math.imul(S,D0)|0;var d0=(O+U|0)+((Q&8191)<<13)|0;O=(K+(Q>>>13)|0)+(d0>>>26)|0,d0&=67108863,U=Math.imul(o,V0),Q=Math.imul(o,U0),Q=Q+Math.imul(a,V0)|0,K=Math.imul(a,U0),U=U+Math.imul(i,X0)|0,Q=Q+Math.imul(i,K0)|0,Q=Q+Math.imul(e,X0)|0,K=K+Math.imul(e,K0)|0,U=U+Math.imul(m,I0)|0,Q=Q+Math.imul(m,O0)|0,Q=Q+Math.imul(r,I0)|0,K=K+Math.imul(r,O0)|0,U=U+Math.imul(t,J0)|0,Q=Q+Math.imul(t,F0)|0,Q=Q+Math.imul(s,J0)|0,K=K+Math.imul(s,F0)|0,U=U+Math.imul(l,A0)|0,Q=Q+Math.imul(l,W0)|0,Q=Q+Math.imul(n,A0)|0,K=K+Math.imul(n,W0)|0,U=U+Math.imul(h,H0)|0,Q=Q+Math.imul(h,E0)|0,Q=Q+Math.imul(d,H0)|0,K=K+Math.imul(d,E0)|0,U=U+Math.imul(y,T0)|0,Q=Q+Math.imul(y,D0)|0,Q=Q+Math.imul(c,T0)|0,K=K+Math.imul(c,D0)|0,U=U+Math.imul(A,C0)|0,Q=Q+Math.imul(A,L0)|0,Q=Q+Math.imul(S,C0)|0,K=K+Math.imul(S,L0)|0;var b0=(O+U|0)+((Q&8191)<<13)|0;O=(K+(Q>>>13)|0)+(b0>>>26)|0,b0&=67108863,U=Math.imul($0,V0),Q=Math.imul($0,U0),Q=Q+Math.imul(Q0,V0)|0,K=Math.imul(Q0,U0),U=U+Math.imul(o,X0)|0,Q=Q+Math.imul(o,K0)|0,Q=Q+Math.imul(a,X0)|0,K=K+Math.imul(a,K0)|0,U=U+Math.imul(i,I0)|0,Q=Q+Math.imul(i,O0)|0,Q=Q+Math.imul(e,I0)|0,K=K+Math.imul(e,O0)|0,U=U+Math.imul(m,J0)|0,Q=Q+Math.imul(m,F0)|0,Q=Q+Math.imul(r,J0)|0,K=K+Math.imul(r,F0)|0,U=U+Math.imul(t,A0)|0,Q=Q+Math.imul(t,W0)|0,Q=Q+Math.imul(s,A0)|0,K=K+Math.imul(s,W0)|0,U=U+Math.imul(l,H0)|0,Q=Q+Math.imul(l,E0)|0,Q=Q+Math.imul(n,H0)|0,K=K+Math.imul(n,E0)|0,U=U+Math.imul(h,T0)|0,Q=Q+Math.imul(h,D0)|0,Q=Q+Math.imul(d,T0)|0,K=K+Math.imul(d,D0)|0,U=U+Math.imul(y,C0)|0,Q=Q+Math.imul(y,L0)|0,Q=Q+Math.imul(c,C0)|0,K=K+Math.imul(c,L0)|0,U=U+Math.imul(A,R0)|0,Q=Q+Math.imul(A,z0)|0,Q=Q+Math.imul(S,R0)|0,K=K+Math.imul(S,z0)|0;var l0=(O+U|0)+((Q&8191)<<13)|0;O=(K+(Q>>>13)|0)+(l0>>>26)|0,l0&=67108863,U=Math.imul(Z0,V0),Q=Math.imul(Z0,U0),Q=Q+Math.imul(G0,V0)|0,K=Math.imul(G0,U0),U=U+Math.imul($0,X0)|0,Q=Q+Math.imul($0,K0)|0,Q=Q+Math.imul(Q0,X0)|0,K=K+Math.imul(Q0,K0)|0,U=U+Math.imul(o,I0)|0,Q=Q+Math.imul(o,O0)|0,Q=Q+Math.imul(a,I0)|0,K=K+Math.imul(a,O0)|0,U=U+Math.imul(i,J0)|0,Q=Q+Math.imul(i,F0)|0,Q=Q+Math.imul(e,J0)|0,K=K+Math.imul(e,F0)|0,U=U+Math.imul(m,A0)|0,Q=Q+Math.imul(m,W0)|0,Q=Q+Math.imul(r,A0)|0,K=K+Math.imul(r,W0)|0,U=U+Math.imul(t,H0)|0,Q=Q+Math.imul(t,E0)|0,Q=Q+Math.imul(s,H0)|0,K=K+Math.imul(s,E0)|0,U=U+Math.imul(l,T0)|0,Q=Q+Math.imul(l,D0)|0,Q=Q+Math.imul(n,T0)|0,K=K+Math.imul(n,D0)|0,U=U+Math.imul(h,C0)|0,Q=Q+Math.imul(h,L0)|0,Q=Q+Math.imul(d,C0)|0,K=K+Math.imul(d,L0)|0,U=U+Math.imul(y,R0)|0,Q=Q+Math.imul(y,z0)|0,Q=Q+Math.imul(c,R0)|0,K=K+Math.imul(c,z0)|0,U=U+Math.imul(A,P0)|0,Q=Q+Math.imul(A,M0)|0,Q=Q+Math.imul(S,P0)|0,K=K+Math.imul(S,M0)|0;var o0=(O+U|0)+((Q&8191)<<13)|0;O=(K+(Q>>>13)|0)+(o0>>>26)|0,o0&=67108863,U=Math.imul(Z0,X0),Q=Math.imul(Z0,K0),Q=Q+Math.imul(G0,X0)|0,K=Math.imul(G0,K0),U=U+Math.imul($0,I0)|0,Q=Q+Math.imul($0,O0)|0,Q=Q+Math.imul(Q0,I0)|0,K=K+Math.imul(Q0,O0)|0,U=U+Math.imul(o,J0)|0,Q=Q+Math.imul(o,F0)|0,Q=Q+Math.imul(a,J0)|0,K=K+Math.imul(a,F0)|0,U=U+Math.imul(i,A0)|0,Q=Q+Math.imul(i,W0)|0,Q=Q+Math.imul(e,A0)|0,K=K+Math.imul(e,W0)|0,U=U+Math.imul(m,H0)|0,Q=Q+Math.imul(m,E0)|0,Q=Q+Math.imul(r,H0)|0,K=K+Math.imul(r,E0)|0,U=U+Math.imul(t,T0)|0,Q=Q+Math.imul(t,D0)|0,Q=Q+Math.imul(s,T0)|0,K=K+Math.imul(s,D0)|0,U=U+Math.imul(l,C0)|0,Q=Q+Math.imul(l,L0)|0,Q=Q+Math.imul(n,C0)|0,K=K+Math.imul(n,L0)|0,U=U+Math.imul(h,R0)|0,Q=Q+Math.imul(h,z0)|0,Q=Q+Math.imul(d,R0)|0,K=K+Math.imul(d,z0)|0,U=U+Math.imul(y,P0)|0,Q=Q+Math.imul(y,M0)|0,Q=Q+Math.imul(c,P0)|0,K=K+Math.imul(c,M0)|0;var u0=(O+U|0)+((Q&8191)<<13)|0;O=(K+(Q>>>13)|0)+(u0>>>26)|0,u0&=67108863,U=Math.imul(Z0,I0),Q=Math.imul(Z0,O0),Q=Q+Math.imul(G0,I0)|0,K=Math.imul(G0,O0),U=U+Math.imul($0,J0)|0,Q=Q+Math.imul($0,F0)|0,Q=Q+Math.imul(Q0,J0)|0,K=K+Math.imul(Q0,F0)|0,U=U+Math.imul(o,A0)|0,Q=Q+Math.imul(o,W0)|0,Q=Q+Math.imul(a,A0)|0,K=K+Math.imul(a,W0)|0,U=U+Math.imul(i,H0)|0,Q=Q+Math.imul(i,E0)|0,Q=Q+Math.imul(e,H0)|0,K=K+Math.imul(e,E0)|0,U=U+Math.imul(m,T0)|0,Q=Q+Math.imul(m,D0)|0,Q=Q+Math.imul(r,T0)|0,K=K+Math.imul(r,D0)|0,U=U+Math.imul(t,C0)|0,Q=Q+Math.imul(t,L0)|0,Q=Q+Math.imul(s,C0)|0,K=K+Math.imul(s,L0)|0,U=U+Math.imul(l,R0)|0,Q=Q+Math.imul(l,z0)|0,Q=Q+Math.imul(n,R0)|0,K=K+Math.imul(n,z0)|0,U=U+Math.imul(h,P0)|0,Q=Q+Math.imul(h,M0)|0,Q=Q+Math.imul(d,P0)|0,K=K+Math.imul(d,M0)|0;var n0=(O+U|0)+((Q&8191)<<13)|0;O=(K+(Q>>>13)|0)+(n0>>>26)|0,n0&=67108863,U=Math.imul(Z0,J0),Q=Math.imul(Z0,F0),Q=Q+Math.imul(G0,J0)|0,K=Math.imul(G0,F0),U=U+Math.imul($0,A0)|0,Q=Q+Math.imul($0,W0)|0,Q=Q+Math.imul(Q0,A0)|0,K=K+Math.imul(Q0,W0)|0,U=U+Math.imul(o,H0)|0,Q=Q+Math.imul(o,E0)|0,Q=Q+Math.imul(a,H0)|0,K=K+Math.imul(a,E0)|0,U=U+Math.imul(i,T0)|0,Q=Q+Math.imul(i,D0)|0,Q=Q+Math.imul(e,T0)|0,K=K+Math.imul(e,D0)|0,U=U+Math.imul(m,C0)|0,Q=Q+Math.imul(m,L0)|0,Q=Q+Math.imul(r,C0)|0,K=K+Math.imul(r,L0)|0,U=U+Math.imul(t,R0)|0,Q=Q+Math.imul(t,z0)|0,Q=Q+Math.imul(s,R0)|0,K=K+Math.imul(s,z0)|0,U=U+Math.imul(l,P0)|0,Q=Q+Math.imul(l,M0)|0,Q=Q+Math.imul(n,P0)|0,K=K+Math.imul(n,M0)|0;var s0=(O+U|0)+((Q&8191)<<13)|0;O=(K+(Q>>>13)|0)+(s0>>>26)|0,s0&=67108863,U=Math.imul(Z0,A0),Q=Math.imul(Z0,W0),Q=Q+Math.imul(G0,A0)|0,K=Math.imul(G0,W0),U=U+Math.imul($0,H0)|0,Q=Q+Math.imul($0,E0)|0,Q=Q+Math.imul(Q0,H0)|0,K=K+Math.imul(Q0,E0)|0,U=U+Math.imul(o,T0)|0,Q=Q+Math.imul(o,D0)|0,Q=Q+Math.imul(a,T0)|0,K=K+Math.imul(a,D0)|0,U=U+Math.imul(i,C0)|0,Q=Q+Math.imul(i,L0)|0,Q=Q+Math.imul(e,C0)|0,K=K+Math.imul(e,L0)|0,U=U+Math.imul(m,R0)|0,Q=Q+Math.imul(m,z0)|0,Q=Q+Math.imul(r,R0)|0,K=K+Math.imul(r,z0)|0,U=U+Math.imul(t,P0)|0,Q=Q+Math.imul(t,M0)|0,Q=Q+Math.imul(s,P0)|0,K=K+Math.imul(s,M0)|0;var t0=(O+U|0)+((Q&8191)<<13)|0;O=(K+(Q>>>13)|0)+(t0>>>26)|0,t0&=67108863,U=Math.imul(Z0,H0),Q=Math.imul(Z0,E0),Q=Q+Math.imul(G0,H0)|0,K=Math.imul(G0,E0),U=U+Math.imul($0,T0)|0,Q=Q+Math.imul($0,D0)|0,Q=Q+Math.imul(Q0,T0)|0,K=K+Math.imul(Q0,D0)|0,U=U+Math.imul(o,C0)|0,Q=Q+Math.imul(o,L0)|0,Q=Q+Math.imul(a,C0)|0,K=K+Math.imul(a,L0)|0,U=U+Math.imul(i,R0)|0,Q=Q+Math.imul(i,z0)|0,Q=Q+Math.imul(e,R0)|0,K=K+Math.imul(e,z0)|0,U=U+Math.imul(m,P0)|0,Q=Q+Math.imul(m,M0)|0,Q=Q+Math.imul(r,P0)|0,K=K+Math.imul(r,M0)|0;var m0=(O+U|0)+((Q&8191)<<13)|0;O=(K+(Q>>>13)|0)+(m0>>>26)|0,m0&=67108863,U=Math.imul(Z0,T0),Q=Math.imul(Z0,D0),Q=Q+Math.imul(G0,T0)|0,K=Math.imul(G0,D0),U=U+Math.imul($0,C0)|0,Q=Q+Math.imul($0,L0)|0,Q=Q+Math.imul(Q0,C0)|0,K=K+Math.imul(Q0,L0)|0,U=U+Math.imul(o,R0)|0,Q=Q+Math.imul(o,z0)|0,Q=Q+Math.imul(a,R0)|0,K=K+Math.imul(a,z0)|0,U=U+Math.imul(i,P0)|0,Q=Q+Math.imul(i,M0)|0,Q=Q+Math.imul(e,P0)|0,K=K+Math.imul(e,M0)|0;var a0=(O+U|0)+((Q&8191)<<13)|0;O=(K+(Q>>>13)|0)+(a0>>>26)|0,a0&=67108863,U=Math.imul(Z0,C0),Q=Math.imul(Z0,L0),Q=Q+Math.imul(G0,C0)|0,K=Math.imul(G0,L0),U=U+Math.imul($0,R0)|0,Q=Q+Math.imul($0,z0)|0,Q=Q+Math.imul(Q0,R0)|0,K=K+Math.imul(Q0,z0)|0,U=U+Math.imul(o,P0)|0,Q=Q+Math.imul(o,M0)|0,Q=Q+Math.imul(a,P0)|0,K=K+Math.imul(a,M0)|0;var e0=(O+U|0)+((Q&8191)<<13)|0;O=(K+(Q>>>13)|0)+(e0>>>26)|0,e0&=67108863,U=Math.imul(Z0,R0),Q=Math.imul(Z0,z0),Q=Q+Math.imul(G0,R0)|0,K=Math.imul(G0,z0),U=U+Math.imul($0,P0)|0,Q=Q+Math.imul($0,M0)|0,Q=Q+Math.imul(Q0,P0)|0,K=K+Math.imul(Q0,M0)|0;var r0=(O+U|0)+((Q&8191)<<13)|0;O=(K+(Q>>>13)|0)+(r0>>>26)|0,r0&=67108863,U=Math.imul(Z0,P0),Q=Math.imul(Z0,M0),Q=Q+Math.imul(G0,P0)|0,K=Math.imul(G0,M0);var i0=(O+U|0)+((Q&8191)<<13)|0;return O=(K+(Q>>>13)|0)+(i0>>>26)|0,i0&=67108863,I[0]=Q$,I[1]=k0,I[2]=g0,I[3]=f0,I[4]=c0,I[5]=h0,I[6]=d0,I[7]=b0,I[8]=l0,I[9]=o0,I[10]=u0,I[11]=n0,I[12]=s0,I[13]=t0,I[14]=m0,I[15]=a0,I[16]=e0,I[17]=r0,I[18]=i0,O!==0&&(I[19]=O,G.length++),G};Math.imul||(M=R);function v($,Y,G){G.negative=Y.negative^$.negative,G.length=$.length+Y.length;for(var Z=0,V=0,I=0;I>>26)|0,V+=O>>>26,O&=67108863}G.words[I]=U,Z=O,O=V}return Z!==0?G.words[I]=Z:G.length--,G.strip()}function q($,Y,G){var Z=new g;return Z.mulp($,Y,G)}X.prototype.mulTo=function($,Y){var G,Z=this.length+$.length;return this.length===10&&$.length===10?G=M(this,$,Y):Z<63?G=R(this,$,Y):Z<1024?G=v(this,$,Y):G=q(this,$,Y),G};function g($,Y){this.x=$,this.y=Y}g.prototype.makeRBT=function($){for(var Y=new Array($),G=X.prototype._countBits($)-1,Z=0;Z<$;Z++)Y[Z]=this.revBin(Z,G,$);return Y},g.prototype.revBin=function($,Y,G){if($===0||$===G-1)return $;for(var Z=0,V=0;V>=1;return Z},g.prototype.permute=function($,Y,G,Z,V,I){for(var O=0;O>>1)V++;return 1<>>13,G[2*I+1]=V&8191,V=V>>>13;for(I=2*Y;I>=26,Y+=Z/67108864|0,Y+=V>>>26,this.words[G]=V&67108863}return Y!==0&&(this.words[G]=Y,this.length++),this},X.prototype.muln=function($){return this.clone().imuln($)},X.prototype.sqr=function(){return this.mul(this)},X.prototype.isqr=function(){return this.imul(this.clone())},X.prototype.pow=function($){var Y=E($);if(Y.length===0)return new X(1);for(var G=this,Z=0;Z=0);var Y=$%26,G=($-Y)/26,Z=67108863>>>26-Y<<26-Y,V;if(Y!==0){var I=0;for(V=0;V>>26-Y}I&&(this.words[V]=I,this.length++)}if(G!==0){for(V=this.length-1;V>=0;V--)this.words[V+G]=this.words[V];for(V=0;V=0);var Z;Y?Z=(Y-Y%26)/26:Z=0;var V=$%26,I=Math.min(($-V)/26,this.length),O=67108863^67108863>>>V<I)for(this.length-=I,Q=0;Q=0&&(K!==0||Q>=Z);Q--){var L=this.words[Q]|0;this.words[Q]=K<<26-V|L>>>V,K=L&O}return U&&K!==0&&(U.words[U.length++]=K),this.length===0&&(this.words[0]=0,this.length=1),this.strip()},X.prototype.ishrn=function($,Y,G){return F(this.negative===0),this.iushrn($,Y,G)},X.prototype.shln=function($){return this.clone().ishln($)},X.prototype.ushln=function($){return this.clone().iushln($)},X.prototype.shrn=function($){return this.clone().ishrn($)},X.prototype.ushrn=function($){return this.clone().iushrn($)},X.prototype.testn=function($){F(typeof $=="number"&&$>=0);var Y=$%26,G=($-Y)/26,Z=1<=0);var Y=$%26,G=($-Y)/26;if(F(this.negative===0,"imaskn works only with positive numbers"),this.length<=G)return this;if(Y!==0&&G++,this.length=Math.min(G,this.length),Y!==0){var Z=67108863^67108863>>>Y<=67108864;Y++)this.words[Y]-=67108864,Y===this.length-1?this.words[Y+1]=1:this.words[Y+1]++;return this.length=Math.max(this.length,Y+1),this},X.prototype.isubn=function($){if(F(typeof $=="number"),F($<67108864),$<0)return this.iaddn(-$);if(this.negative!==0)return this.negative=0,this.iaddn($),this.negative=1,this;if(this.words[0]-=$,this.length===1&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var Y=0;Y>26)-(U/67108864|0),this.words[V+G]=I&67108863}for(;V>26,this.words[V+G]=I&67108863;if(O===0)return this.strip();for(F(O===-1),O=0,V=0;V>26,this.words[V]=I&67108863;return this.negative=1,this.strip()},X.prototype._wordDiv=function($,Y){var G=this.length-$.length,Z=this.clone(),V=$,I=V.words[V.length-1]|0,O=this._countBits(I);G=26-O,G!==0&&(V=V.ushln(G),Z.iushln(G),I=V.words[V.length-1]|0);var U=Z.length-V.length,Q;if(Y!=="mod"){Q=new X(null),Q.length=U+1,Q.words=new Array(Q.length);for(var K=0;K=0;A--){var S=(Z.words[V.length+A]|0)*67108864+(Z.words[V.length+A-1]|0);for(S=Math.min(S/I|0,67108863),Z._ishlnsubmul(V,S,A);Z.negative!==0;)S--,Z.negative=0,Z._ishlnsubmul(V,1,A),Z.isZero()||(Z.negative^=1);Q&&(Q.words[A]=S)}return Q&&Q.strip(),Z.strip(),Y!=="div"&&G!==0&&Z.iushrn(G),{div:Q||null,mod:Z}},X.prototype.divmod=function($,Y,G){if(F(!$.isZero()),this.isZero())return{div:new X(0),mod:new X(0)};var Z,V,I;return this.negative!==0&&$.negative===0?(I=this.neg().divmod($,Y),Y!=="mod"&&(Z=I.div.neg()),Y!=="div"&&(V=I.mod.neg(),G&&V.negative!==0&&V.iadd($)),{div:Z,mod:V}):this.negative===0&&$.negative!==0?(I=this.divmod($.neg(),Y),Y!=="mod"&&(Z=I.div.neg()),{div:Z,mod:I.mod}):(this.negative&$.negative)!==0?(I=this.neg().divmod($.neg(),Y),Y!=="div"&&(V=I.mod.neg(),G&&V.negative!==0&&V.isub($)),{div:I.div,mod:V}):$.length>this.length||this.cmp($)<0?{div:new X(0),mod:this}:$.length===1?Y==="div"?{div:this.divn($.words[0]),mod:null}:Y==="mod"?{div:null,mod:new X(this.modn($.words[0]))}:{div:this.divn($.words[0]),mod:new X(this.modn($.words[0]))}:this._wordDiv($,Y)},X.prototype.div=function($){return this.divmod($,"div",!1).div},X.prototype.mod=function($){return this.divmod($,"mod",!1).mod},X.prototype.umod=function($){return this.divmod($,"mod",!0).mod},X.prototype.divRound=function($){var Y=this.divmod($);if(Y.mod.isZero())return Y.div;var G=Y.div.negative!==0?Y.mod.isub($):Y.mod,Z=$.ushrn(1),V=$.andln(1),I=G.cmp(Z);return I<0||V===1&&I===0?Y.div:Y.div.negative!==0?Y.div.isubn(1):Y.div.iaddn(1)},X.prototype.modn=function($){F($<=67108863);for(var Y=(1<<26)%$,G=0,Z=this.length-1;Z>=0;Z--)G=(Y*G+(this.words[Z]|0))%$;return G},X.prototype.idivn=function($){F($<=67108863);for(var Y=0,G=this.length-1;G>=0;G--){var Z=(this.words[G]|0)+Y*67108864;this.words[G]=Z/$|0,Y=Z%$}return this.strip()},X.prototype.divn=function($){return this.clone().idivn($)},X.prototype.egcd=function($){F($.negative===0),F(!$.isZero());var Y=this,G=$.clone();Y.negative!==0?Y=Y.umod($):Y=Y.clone();for(var Z=new X(1),V=new X(0),I=new X(0),O=new X(1),U=0;Y.isEven()&&G.isEven();)Y.iushrn(1),G.iushrn(1),++U;for(var Q=G.clone(),K=Y.clone();!Y.isZero();){for(var L=0,A=1;(Y.words[0]&A)===0&&L<26;++L,A<<=1);if(L>0)for(Y.iushrn(L);L-- >0;)(Z.isOdd()||V.isOdd())&&(Z.iadd(Q),V.isub(K)),Z.iushrn(1),V.iushrn(1);for(var S=0,x=1;(G.words[0]&x)===0&&S<26;++S,x<<=1);if(S>0)for(G.iushrn(S);S-- >0;)(I.isOdd()||O.isOdd())&&(I.iadd(Q),O.isub(K)),I.iushrn(1),O.iushrn(1);Y.cmp(G)>=0?(Y.isub(G),Z.isub(I),V.isub(O)):(G.isub(Y),I.isub(Z),O.isub(V))}return{a:I,b:O,gcd:G.iushln(U)}},X.prototype._invmp=function($){F($.negative===0),F(!$.isZero());var Y=this,G=$.clone();Y.negative!==0?Y=Y.umod($):Y=Y.clone();for(var Z=new X(1),V=new X(0),I=G.clone();Y.cmpn(1)>0&&G.cmpn(1)>0;){for(var O=0,U=1;(Y.words[0]&U)===0&&O<26;++O,U<<=1);if(O>0)for(Y.iushrn(O);O-- >0;)Z.isOdd()&&Z.iadd(I),Z.iushrn(1);for(var Q=0,K=1;(G.words[0]&K)===0&&Q<26;++Q,K<<=1);if(Q>0)for(G.iushrn(Q);Q-- >0;)V.isOdd()&&V.iadd(I),V.iushrn(1);Y.cmp(G)>=0?(Y.isub(G),Z.isub(V)):(G.isub(Y),V.isub(Z))}var L;return Y.cmpn(1)===0?L=Z:L=V,L.cmpn(0)<0&&L.iadd($),L},X.prototype.gcd=function($){if(this.isZero())return $.abs();if($.isZero())return this.abs();var Y=this.clone(),G=$.clone();Y.negative=0,G.negative=0;for(var Z=0;Y.isEven()&&G.isEven();Z++)Y.iushrn(1),G.iushrn(1);do{for(;Y.isEven();)Y.iushrn(1);for(;G.isEven();)G.iushrn(1);var V=Y.cmp(G);if(V<0){var I=Y;Y=G,G=I}else if(V===0||G.cmpn(1)===0)break;Y.isub(G)}while(!0);return G.iushln(Z)},X.prototype.invm=function($){return this.egcd($).a.umod($)},X.prototype.isEven=function(){return(this.words[0]&1)===0},X.prototype.isOdd=function(){return(this.words[0]&1)===1},X.prototype.andln=function($){return this.words[0]&$},X.prototype.bincn=function($){F(typeof $=="number");var Y=$%26,G=($-Y)/26,Z=1<>>26,O&=67108863,this.words[I]=O}return V!==0&&(this.words[I]=V,this.length++),this},X.prototype.isZero=function(){return this.length===1&&this.words[0]===0},X.prototype.cmpn=function($){var Y=$<0;if(this.negative!==0&&!Y)return-1;if(this.negative===0&&Y)return 1;this.strip();var G;if(this.length>1)G=1;else{Y&&($=-$),F($<=67108863,"Number is too big");var Z=this.words[0]|0;G=Z===$?0:Z<$?-1:1}return this.negative!==0?-G|0:G},X.prototype.cmp=function($){if(this.negative!==0&&$.negative===0)return-1;if(this.negative===0&&$.negative!==0)return 1;var Y=this.ucmp($);return this.negative!==0?-Y|0:Y},X.prototype.ucmp=function($){if(this.length>$.length)return 1;if(this.length<$.length)return-1;for(var Y=0,G=this.length-1;G>=0;G--){var Z=this.words[G]|0,V=$.words[G]|0;if(Z!==V){ZV&&(Y=1);break}}return Y},X.prototype.gtn=function($){return this.cmpn($)===1},X.prototype.gt=function($){return this.cmp($)===1},X.prototype.gten=function($){return this.cmpn($)>=0},X.prototype.gte=function($){return this.cmp($)>=0},X.prototype.ltn=function($){return this.cmpn($)===-1},X.prototype.lt=function($){return this.cmp($)===-1},X.prototype.lten=function($){return this.cmpn($)<=0},X.prototype.lte=function($){return this.cmp($)<=0},X.prototype.eqn=function($){return this.cmpn($)===0},X.prototype.eq=function($){return this.cmp($)===0},X.red=function($){return new p($)},X.prototype.toRed=function($){return F(!this.red,"Already a number in reduction context"),F(this.negative===0,"red works only with positives"),$.convertTo(this)._forceRed($)},X.prototype.fromRed=function(){return F(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},X.prototype._forceRed=function($){return this.red=$,this},X.prototype.forceRed=function($){return F(!this.red,"Already a number in reduction context"),this._forceRed($)},X.prototype.redAdd=function($){return F(this.red,"redAdd works only with red numbers"),this.red.add(this,$)},X.prototype.redIAdd=function($){return F(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,$)},X.prototype.redSub=function($){return F(this.red,"redSub works only with red numbers"),this.red.sub(this,$)},X.prototype.redISub=function($){return F(this.red,"redISub works only with red numbers"),this.red.isub(this,$)},X.prototype.redShl=function($){return F(this.red,"redShl works only with red numbers"),this.red.shl(this,$)},X.prototype.redMul=function($){return F(this.red,"redMul works only with red numbers"),this.red._verify2(this,$),this.red.mul(this,$)},X.prototype.redIMul=function($){return F(this.red,"redMul works only with red numbers"),this.red._verify2(this,$),this.red.imul(this,$)},X.prototype.redSqr=function(){return F(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},X.prototype.redISqr=function(){return F(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},X.prototype.redSqrt=function(){return F(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},X.prototype.redInvm=function(){return F(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},X.prototype.redNeg=function(){return F(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},X.prototype.redPow=function($){return F(this.red&&!$.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,$)};var B={k256:null,p224:null,p192:null,p25519:null};function w($,Y){this.name=$,this.p=new X(Y,16),this.n=this.p.bitLength(),this.k=new X(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}w.prototype._tmp=function(){var $=new X(null);return $.words=new Array(Math.ceil(this.n/13)),$},w.prototype.ireduce=function($){var Y=$,G;do this.split(Y,this.tmp),Y=this.imulK(Y),Y=Y.iadd(this.tmp),G=Y.bitLength();while(G>this.n);var Z=G0?Y.isub(this.p):Y.strip!==void 0?Y.strip():Y._strip(),Y},w.prototype.split=function($,Y){$.iushrn(this.n,0,Y)},w.prototype.imulK=function($){return $.imul(this.k)};function f(){w.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}P(f,w),f.prototype.split=function($,Y){for(var G=4194303,Z=Math.min($.length,9),V=0;V>>22,I=O}I>>>=22,$.words[V-10]=I,I===0&&$.length>10?$.length-=10:$.length-=9},f.prototype.imulK=function($){$.words[$.length]=0,$.words[$.length+1]=0,$.length+=2;for(var Y=0,G=0;G<$.length;G++){var Z=$.words[G]|0;Y+=Z*977,$.words[G]=Y&67108863,Y=Z*64+(Y/67108864|0)}return $.words[$.length-1]===0&&($.length--,$.words[$.length-1]===0&&$.length--),$};function b(){w.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}P(b,w);function u(){w.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}P(u,w);function Y0(){w.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}P(Y0,w),Y0.prototype.imulK=function($){for(var Y=0,G=0;G<$.length;G++){var Z=($.words[G]|0)*19+Y,V=Z&67108863;Z>>>=26,$.words[G]=V,Y=Z}return Y!==0&&($.words[$.length++]=Y),$},X._prime=function($){if(B[$])return B[$];var Y;if($==="k256")Y=new f;else if($==="p224")Y=new b;else if($==="p192")Y=new u;else if($==="p25519")Y=new Y0;else throw new Error("Unknown prime "+$);return B[$]=Y,Y};function p($){if(typeof $=="string"){var Y=X._prime($);this.m=Y.p,this.prime=Y}else F($.gtn(1),"modulus must be greater than 1"),this.m=$,this.prime=null}p.prototype._verify1=function($){F($.negative===0,"red works only with positives"),F($.red,"red works only with red numbers")},p.prototype._verify2=function($,Y){F(($.negative|Y.negative)===0,"red works only with positives"),F($.red&&$.red===Y.red,"red works only with red numbers")},p.prototype.imod=function($){return this.prime?this.prime.ireduce($)._forceRed(this):$.umod(this.m)._forceRed(this)},p.prototype.neg=function($){return $.isZero()?$.clone():this.m.sub($)._forceRed(this)},p.prototype.add=function($,Y){this._verify2($,Y);var G=$.add(Y);return G.cmp(this.m)>=0&&G.isub(this.m),G._forceRed(this)},p.prototype.iadd=function($,Y){this._verify2($,Y);var G=$.iadd(Y);return G.cmp(this.m)>=0&&G.isub(this.m),G},p.prototype.sub=function($,Y){this._verify2($,Y);var G=$.sub(Y);return G.cmpn(0)<0&&G.iadd(this.m),G._forceRed(this)},p.prototype.isub=function($,Y){this._verify2($,Y);var G=$.isub(Y);return G.cmpn(0)<0&&G.iadd(this.m),G},p.prototype.shl=function($,Y){return this._verify1($),this.imod($.ushln(Y))},p.prototype.imul=function($,Y){return this._verify2($,Y),this.imod($.imul(Y))},p.prototype.mul=function($,Y){return this._verify2($,Y),this.imod($.mul(Y))},p.prototype.isqr=function($){return this.imul($,$.clone())},p.prototype.sqr=function($){return this.mul($,$)},p.prototype.sqrt=function($){if($.isZero())return $.clone();var Y=this.m.andln(3);if(F(Y%2===1),Y===3){var G=this.m.add(new X(1)).iushrn(2);return this.pow($,G)}for(var Z=this.m.subn(1),V=0;!Z.isZero()&&Z.andln(1)===0;)V++,Z.iushrn(1);F(!Z.isZero());var I=new X(1).toRed(this),O=I.redNeg(),U=this.m.subn(1).iushrn(1),Q=this.m.bitLength();for(Q=new X(2*Q*Q).toRed(this);this.pow(Q,U).cmp(O)!==0;)Q.redIAdd(O);for(var K=this.pow(Q,Z),L=this.pow($,Z.addn(1).iushrn(1)),A=this.pow($,Z),S=V;A.cmp(I)!==0;){for(var x=A,y=0;x.cmp(I)!==0;y++)x=x.redSqr();F(y=0;V--){for(var K=Y.words[V],L=Q-1;L>=0;L--){var A=K>>L&1;if(I!==Z[0]&&(I=this.sqr(I)),A===0&&O===0){U=0;continue}O<<=1,O|=A,U++,!(U!==G&&(V!==0||L!==0))&&(I=this.mul(I,Z[O]),U=0,O=0)}Q=26}return I},p.prototype.convertTo=function($){var Y=$.umod(this.m);return Y===$?Y.clone():Y},p.prototype.convertFrom=function($){var Y=$.clone();return Y.red=null,Y},X.mont=function($){return new v0($)};function v0($){p.call(this,$),this.shift=this.m.bitLength(),this.shift%26!==0&&(this.shift+=26-this.shift%26),this.r=new X(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}P(v0,p),v0.prototype.convertTo=function($){return this.imod($.ushln(this.shift))},v0.prototype.convertFrom=function($){var Y=this.imod($.mul(this.rinv));return Y.red=null,Y},v0.prototype.imul=function($,Y){if($.isZero()||Y.isZero())return $.words[0]=0,$.length=1,$;var G=$.imul(Y),Z=G.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),V=G.isub(Z).iushrn(this.shift),I=V;return V.cmp(this.m)>=0?I=V.isub(this.m):V.cmpn(0)<0&&(I=V.iadd(this.m)),I._forceRed(this)},v0.prototype.mul=function($,Y){if($.isZero()||Y.isZero())return new X(0)._forceRed(this);var G=$.mul(Y),Z=G.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),V=G.isub(Z).iushrn(this.shift),I=V;return V.cmp(this.m)>=0?I=V.isub(this.m):V.cmpn(0)<0&&(I=V.iadd(this.m)),I._forceRed(this)},v0.prototype.invm=function($){var Y=this.imod($._invmp(this.m).mul(this.r2));return Y._forceRed(this)}})(typeof _>"u"||_,N)}}),SQ=S0({"node_modules/minimalistic-crypto-utils/lib/utils.js"(N){var _=N;function j(P,X){if(Array.isArray(P))return P.slice();if(!P)return[];var C=[];if(typeof P!="string"){for(var z=0;z>8,J=T&255;H?C.push(H,J):C.push(J)}return C}_.toArray=j;function k(P){return P.length===1?"0"+P:P}_.zero2=k;function F(P){for(var X="",C=0;C(E>>1)-1?v=(E>>1)-q:v=q,R.isubn(v)):v=0,D[M]=v,R.iushrn(1)}return D}_.getNAF=P;function X(H,J){var W=[[],[]];H=H.clone(),J=J.clone();for(var D=0,E=0,R;H.cmpn(-D)>0||J.cmpn(-E)>0;){var M=H.andln(3)+D&3,v=J.andln(3)+E&3;M===3&&(M=-1),v===3&&(v=-1);var q;(M&1)===0?q=0:(R=H.andln(7)+D&7,(R===3||R===5)&&v===2?q=-M:q=M),W[0].push(q);var g;(v&1)===0?g=0:(R=J.andln(7)+E&7,(R===3||R===5)&&M===2?g=-v:g=v),W[1].push(g),2*D===q+1&&(D=1-D),2*E===g+1&&(E=1-E),H.iushrn(1),J.iushrn(1)}return W}_.getJSF=X;function C(H,J,W){var D="_"+J;H.prototype[J]=function(){return this[D]!==void 0?this[D]:this[D]=W.call(this)}}_.cachedProperty=C;function z(H){return typeof H=="string"?_.toArray(H,"hex"):H}_.parseBytes=z;function T(H){return new j(H,"hex","le")}_.intFromLE=T}}),g$=S0({"node_modules/elliptic/lib/elliptic/curve/base.js"(N,_){var j=D$(),k=E$(),F=k.getNAF,P=k.getJSF,X=k.assert;function C(T,H){this.type=T,this.p=new j(H.p,16),this.red=H.prime?j.red(H.prime):j.mont(this.p),this.zero=new j(0).toRed(this.red),this.one=new j(1).toRed(this.red),this.two=new j(2).toRed(this.red),this.n=H.n&&new j(H.n,16),this.g=H.g&&this.pointFromJSON(H.g,H.gRed),this._wnafT1=new Array(4),this._wnafT2=new Array(4),this._wnafT3=new Array(4),this._wnafT4=new Array(4),this._bitLength=this.n?this.n.bitLength():0;var J=this.n&&this.p.div(this.n);!J||J.cmpn(100)>0?this.redN=null:(this._maxwellTrick=!0,this.redN=this.n.toRed(this.red))}_.exports=C,C.prototype.point=function(){throw new Error("Not implemented")},C.prototype.validate=function(){throw new Error("Not implemented")},C.prototype._fixedNafMul=function(T,H){X(T.precomputed);var J=T._getDoubles(),W=F(H,1,this._bitLength),D=(1<=R;v--)M=(M<<1)+W[v];E.push(M)}for(var q=this.jpoint(null,null,null),g=this.jpoint(null,null,null),B=D;B>0;B--){for(R=0;R=0;M--){for(var v=0;M>=0&&E[M]===0;M--)v++;if(M>=0&&v++,R=R.dblp(v),M<0)break;var q=E[M];X(q!==0),T.type==="affine"?q>0?R=R.mixedAdd(D[q-1>>1]):R=R.mixedAdd(D[-q-1>>1].neg()):q>0?R=R.add(D[q-1>>1]):R=R.add(D[-q-1>>1].neg())}return T.type==="affine"?R.toP():R},C.prototype._wnafMulAdd=function(T,H,J,W,D){var E=this._wnafT1,R=this._wnafT2,M=this._wnafT3,v=0,q,g,B;for(q=0;q=1;q-=2){var f=q-1,b=q;if(E[f]!==1||E[b]!==1){M[f]=F(J[f],E[f],this._bitLength),M[b]=F(J[b],E[b],this._bitLength),v=Math.max(M[f].length,v),v=Math.max(M[b].length,v);continue}var u=[H[f],null,null,H[b]];H[f].y.cmp(H[b].y)===0?(u[1]=H[f].add(H[b]),u[2]=H[f].toJ().mixedAdd(H[b].neg())):H[f].y.cmp(H[b].y.redNeg())===0?(u[1]=H[f].toJ().mixedAdd(H[b]),u[2]=H[f].add(H[b].neg())):(u[1]=H[f].toJ().mixedAdd(H[b]),u[2]=H[f].toJ().mixedAdd(H[b].neg()));var Y0=[-3,-1,-5,-7,0,7,5,1,3],p=P(J[f],J[b]);for(v=Math.max(p[0].length,v),M[f]=new Array(v),M[b]=new Array(v),g=0;g=0;q--){for(var Z=0;q>=0;){var V=!0;for(g=0;g=0&&Z++,Y=Y.dblp(Z),q<0)break;for(g=0;g0?B=R[g][I-1>>1]:I<0&&(B=R[g][-I-1>>1].neg()),B.type==="affine"?Y=Y.mixedAdd(B):Y=Y.add(B))}}for(q=0;q=Math.ceil((T.bitLength()+1)/H.step):!1},z.prototype._getDoubles=function(T,H){if(this.precomputed&&this.precomputed.doubles)return this.precomputed.doubles;for(var J=[this],W=this,D=0;D=0&&(f=q,b=g),B.negative&&(B=B.neg(),w=w.neg()),f.negative&&(f=f.neg(),b=b.neg()),[{a:B,b:w},{a:f,b}]},C.prototype._endoSplit=function(H){var J=this.endo.basis,W=J[0],D=J[1],E=D.b.mul(H).divRound(this.n),R=W.b.neg().mul(H).divRound(this.n),M=E.mul(W.a),v=R.mul(D.a),q=E.mul(W.b),g=R.mul(D.b),B=H.sub(M).sub(v),w=q.add(g).neg();return{k1:B,k2:w}},C.prototype.pointFromX=function(H,J){H=new k(H,16),H.red||(H=H.toRed(this.red));var W=H.redSqr().redMul(H).redIAdd(H.redMul(this.a)).redIAdd(this.b),D=W.redSqrt();if(D.redSqr().redSub(W).cmp(this.zero)!==0)throw new Error("invalid point");var E=D.fromRed().isOdd();return(J&&!E||!J&&E)&&(D=D.redNeg()),this.point(H,D)},C.prototype.validate=function(H){if(H.inf)return!0;var{x:J,y:W}=H,D=this.a.redMul(J),E=J.redSqr().redMul(J).redIAdd(D).redIAdd(this.b);return W.redSqr().redISub(E).cmpn(0)===0},C.prototype._endoWnafMulAdd=function(H,J,W){for(var D=this._endoWnafT1,E=this._endoWnafT2,R=0;R":""},z.prototype.isInfinity=function(){return this.inf},z.prototype.add=function(H){if(this.inf)return H;if(H.inf)return this;if(this.eq(H))return this.dbl();if(this.neg().eq(H))return this.curve.point(null,null);if(this.x.cmp(H.x)===0)return this.curve.point(null,null);var J=this.y.redSub(H.y);J.cmpn(0)!==0&&(J=J.redMul(this.x.redSub(H.x).redInvm()));var W=J.redSqr().redISub(this.x).redISub(H.x),D=J.redMul(this.x.redSub(W)).redISub(this.y);return this.curve.point(W,D)},z.prototype.dbl=function(){if(this.inf)return this;var H=this.y.redAdd(this.y);if(H.cmpn(0)===0)return this.curve.point(null,null);var J=this.curve.a,W=this.x.redSqr(),D=H.redInvm(),E=W.redAdd(W).redIAdd(W).redIAdd(J).redMul(D),R=E.redSqr().redISub(this.x.redAdd(this.x)),M=E.redMul(this.x.redSub(R)).redISub(this.y);return this.curve.point(R,M)},z.prototype.getX=function(){return this.x.fromRed()},z.prototype.getY=function(){return this.y.fromRed()},z.prototype.mul=function(H){return H=new k(H,16),this.isInfinity()?this:this._hasDoubles(H)?this.curve._fixedNafMul(this,H):this.curve.endo?this.curve._endoWnafMulAdd([this],[H]):this.curve._wnafMul(this,H)},z.prototype.mulAdd=function(H,J,W){var D=[this,J],E=[H,W];return this.curve.endo?this.curve._endoWnafMulAdd(D,E):this.curve._wnafMulAdd(1,D,E,2)},z.prototype.jmulAdd=function(H,J,W){var D=[this,J],E=[H,W];return this.curve.endo?this.curve._endoWnafMulAdd(D,E,!0):this.curve._wnafMulAdd(1,D,E,2,!0)},z.prototype.eq=function(H){return this===H||this.inf===H.inf&&(this.inf||this.x.cmp(H.x)===0&&this.y.cmp(H.y)===0)},z.prototype.neg=function(H){if(this.inf)return this;var J=this.curve.point(this.x,this.y.redNeg());if(H&&this.precomputed){var W=this.precomputed,D=function(E){return E.neg()};J.precomputed={naf:W.naf&&{wnd:W.naf.wnd,points:W.naf.points.map(D)},doubles:W.doubles&&{step:W.doubles.step,points:W.doubles.points.map(D)}}}return J},z.prototype.toJ=function(){if(this.inf)return this.curve.jpoint(null,null,null);var H=this.curve.jpoint(this.x,this.y,this.curve.one);return H};function T(H,J,W,D){P.BasePoint.call(this,H,"jacobian"),J===null&&W===null&&D===null?(this.x=this.curve.one,this.y=this.curve.one,this.z=new k(0)):(this.x=new k(J,16),this.y=new k(W,16),this.z=new k(D,16)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.zOne=this.z===this.curve.one}F(T,P.BasePoint),C.prototype.jpoint=function(H,J,W){return new T(this,H,J,W)},T.prototype.toP=function(){if(this.isInfinity())return this.curve.point(null,null);var H=this.z.redInvm(),J=H.redSqr(),W=this.x.redMul(J),D=this.y.redMul(J).redMul(H);return this.curve.point(W,D)},T.prototype.neg=function(){return this.curve.jpoint(this.x,this.y.redNeg(),this.z)},T.prototype.add=function(H){if(this.isInfinity())return H;if(H.isInfinity())return this;var J=H.z.redSqr(),W=this.z.redSqr(),D=this.x.redMul(J),E=H.x.redMul(W),R=this.y.redMul(J.redMul(H.z)),M=H.y.redMul(W.redMul(this.z)),v=D.redSub(E),q=R.redSub(M);if(v.cmpn(0)===0)return q.cmpn(0)!==0?this.curve.jpoint(null,null,null):this.dbl();var g=v.redSqr(),B=g.redMul(v),w=D.redMul(g),f=q.redSqr().redIAdd(B).redISub(w).redISub(w),b=q.redMul(w.redISub(f)).redISub(R.redMul(B)),u=this.z.redMul(H.z).redMul(v);return this.curve.jpoint(f,b,u)},T.prototype.mixedAdd=function(H){if(this.isInfinity())return H.toJ();if(H.isInfinity())return this;var J=this.z.redSqr(),W=this.x,D=H.x.redMul(J),E=this.y,R=H.y.redMul(J).redMul(this.z),M=W.redSub(D),v=E.redSub(R);if(M.cmpn(0)===0)return v.cmpn(0)!==0?this.curve.jpoint(null,null,null):this.dbl();var q=M.redSqr(),g=q.redMul(M),B=W.redMul(q),w=v.redSqr().redIAdd(g).redISub(B).redISub(B),f=v.redMul(B.redISub(w)).redISub(E.redMul(g)),b=this.z.redMul(M);return this.curve.jpoint(w,f,b)},T.prototype.dblp=function(H){if(H===0)return this;if(this.isInfinity())return this;if(!H)return this.dbl();var J;if(this.curve.zeroA||this.curve.threeA){var W=this;for(J=0;J=0)return!1;if(W.redIAdd(E),this.x.cmp(W)===0)return!0}},T.prototype.inspect=function(){return this.isInfinity()?"":""},T.prototype.isInfinity=function(){return this.z.cmpn(0)===0}}}),MY=S0({"node_modules/elliptic/lib/elliptic/curve/mont.js"(N,_){var j=D$(),k=B0(),F=g$(),P=E$();function X(z){F.call(this,"mont",z),this.a=new j(z.a,16).toRed(this.red),this.b=new j(z.b,16).toRed(this.red),this.i4=new j(4).toRed(this.red).redInvm(),this.two=new j(2).toRed(this.red),this.a24=this.i4.redMul(this.a.redAdd(this.two))}k(X,F),_.exports=X,X.prototype.validate=function(z){var T=z.normalize().x,H=T.redSqr(),J=H.redMul(T).redAdd(H.redMul(this.a)).redAdd(T),W=J.redSqrt();return W.redSqr().cmp(J)===0};function C(z,T,H){F.BasePoint.call(this,z,"projective"),T===null&&H===null?(this.x=this.curve.one,this.z=this.curve.zero):(this.x=new j(T,16),this.z=new j(H,16),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)))}k(C,F.BasePoint),X.prototype.decodePoint=function(z,T){return this.point(P.toArray(z,T),1)},X.prototype.point=function(z,T){return new C(this,z,T)},X.prototype.pointFromJSON=function(z){return C.fromJSON(this,z)},C.prototype.precompute=function(){},C.prototype._encode=function(){return this.getX().toArray("be",this.curve.p.byteLength())},C.fromJSON=function(z,T){return new C(z,T[0],T[1]||z.one)},C.prototype.inspect=function(){return this.isInfinity()?"":""},C.prototype.isInfinity=function(){return this.z.cmpn(0)===0},C.prototype.dbl=function(){var z=this.x.redAdd(this.z),T=z.redSqr(),H=this.x.redSub(this.z),J=H.redSqr(),W=T.redSub(J),D=T.redMul(J),E=W.redMul(J.redAdd(this.curve.a24.redMul(W)));return this.curve.point(D,E)},C.prototype.add=function(){throw new Error("Not supported on Montgomery curve")},C.prototype.diffAdd=function(z,T){var H=this.x.redAdd(this.z),J=this.x.redSub(this.z),W=z.x.redAdd(z.z),D=z.x.redSub(z.z),E=D.redMul(H),R=W.redMul(J),M=T.z.redMul(E.redAdd(R).redSqr()),v=T.x.redMul(E.redISub(R).redSqr());return this.curve.point(M,v)},C.prototype.mul=function(z){for(var T=z.clone(),H=this,J=this.curve.point(null,null),W=this,D=[];T.cmpn(0)!==0;T.iushrn(1))D.push(T.andln(1));for(var E=D.length-1;E>=0;E--)D[E]===0?(H=H.diffAdd(J,W),J=J.dbl()):(J=H.diffAdd(J,W),H=H.dbl());return J},C.prototype.mulAdd=function(){throw new Error("Not supported on Montgomery curve")},C.prototype.jumlAdd=function(){throw new Error("Not supported on Montgomery curve")},C.prototype.eq=function(z){return this.getX().cmp(z.getX())===0},C.prototype.normalize=function(){return this.x=this.x.redMul(this.z.redInvm()),this.z=this.curve.one,this},C.prototype.getX=function(){return this.normalize(),this.x.fromRed()}}}),SY=S0({"node_modules/elliptic/lib/elliptic/curve/edwards.js"(N,_){var j=E$(),k=D$(),F=B0(),P=g$(),X=j.assert;function C(T){this.twisted=(T.a|0)!==1,this.mOneA=this.twisted&&(T.a|0)===-1,this.extended=this.mOneA,P.call(this,"edwards",T),this.a=new k(T.a,16).umod(this.red.m),this.a=this.a.toRed(this.red),this.c=new k(T.c,16).toRed(this.red),this.c2=this.c.redSqr(),this.d=new k(T.d,16).toRed(this.red),this.dd=this.d.redAdd(this.d),X(!this.twisted||this.c.fromRed().cmpn(1)===0),this.oneC=(T.c|0)===1}F(C,P),_.exports=C,C.prototype._mulA=function(T){return this.mOneA?T.redNeg():this.a.redMul(T)},C.prototype._mulC=function(T){return this.oneC?T:this.c.redMul(T)},C.prototype.jpoint=function(T,H,J,W){return this.point(T,H,J,W)},C.prototype.pointFromX=function(T,H){T=new k(T,16),T.red||(T=T.toRed(this.red));var J=T.redSqr(),W=this.c2.redSub(this.a.redMul(J)),D=this.one.redSub(this.c2.redMul(this.d).redMul(J)),E=W.redMul(D.redInvm()),R=E.redSqrt();if(R.redSqr().redSub(E).cmp(this.zero)!==0)throw new Error("invalid point");var M=R.fromRed().isOdd();return(H&&!M||!H&&M)&&(R=R.redNeg()),this.point(T,R)},C.prototype.pointFromY=function(T,H){T=new k(T,16),T.red||(T=T.toRed(this.red));var J=T.redSqr(),W=J.redSub(this.c2),D=J.redMul(this.d).redMul(this.c2).redSub(this.a),E=W.redMul(D.redInvm());if(E.cmp(this.zero)===0){if(H)throw new Error("invalid point");return this.point(this.zero,T)}var R=E.redSqrt();if(R.redSqr().redSub(E).cmp(this.zero)!==0)throw new Error("invalid point");return R.fromRed().isOdd()!==H&&(R=R.redNeg()),this.point(R,T)},C.prototype.validate=function(T){if(T.isInfinity())return!0;T.normalize();var H=T.x.redSqr(),J=T.y.redSqr(),W=H.redMul(this.a).redAdd(J),D=this.c2.redMul(this.one.redAdd(this.d.redMul(H).redMul(J)));return W.cmp(D)===0};function z(T,H,J,W,D){P.BasePoint.call(this,T,"projective"),H===null&&J===null&&W===null?(this.x=this.curve.zero,this.y=this.curve.one,this.z=this.curve.one,this.t=this.curve.zero,this.zOne=!0):(this.x=new k(H,16),this.y=new k(J,16),this.z=W?new k(W,16):this.curve.one,this.t=D&&new k(D,16),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.t&&!this.t.red&&(this.t=this.t.toRed(this.curve.red)),this.zOne=this.z===this.curve.one,this.curve.extended&&!this.t&&(this.t=this.x.redMul(this.y),this.zOne||(this.t=this.t.redMul(this.z.redInvm()))))}F(z,P.BasePoint),C.prototype.pointFromJSON=function(T){return z.fromJSON(this,T)},C.prototype.point=function(T,H,J,W){return new z(this,T,H,J,W)},z.fromJSON=function(T,H){return new z(T,H[0],H[1],H[2])},z.prototype.inspect=function(){return this.isInfinity()?"":""},z.prototype.isInfinity=function(){return this.x.cmpn(0)===0&&(this.y.cmp(this.z)===0||this.zOne&&this.y.cmp(this.curve.c)===0)},z.prototype._extDbl=function(){var T=this.x.redSqr(),H=this.y.redSqr(),J=this.z.redSqr();J=J.redIAdd(J);var W=this.curve._mulA(T),D=this.x.redAdd(this.y).redSqr().redISub(T).redISub(H),E=W.redAdd(H),R=E.redSub(J),M=W.redSub(H),v=D.redMul(R),q=E.redMul(M),g=D.redMul(M),B=R.redMul(E);return this.curve.point(v,q,B,g)},z.prototype._projDbl=function(){var T=this.x.redAdd(this.y).redSqr(),H=this.x.redSqr(),J=this.y.redSqr(),W,D,E,R,M,v;if(this.curve.twisted){R=this.curve._mulA(H);var q=R.redAdd(J);this.zOne?(W=T.redSub(H).redSub(J).redMul(q.redSub(this.curve.two)),D=q.redMul(R.redSub(J)),E=q.redSqr().redSub(q).redSub(q)):(M=this.z.redSqr(),v=q.redSub(M).redISub(M),W=T.redSub(H).redISub(J).redMul(v),D=q.redMul(R.redSub(J)),E=q.redMul(v))}else R=H.redAdd(J),M=this.curve._mulC(this.z).redSqr(),v=R.redSub(M).redSub(M),W=this.curve._mulC(T.redISub(R)).redMul(v),D=this.curve._mulC(R).redMul(H.redISub(J)),E=R.redMul(v);return this.curve.point(W,D,E)},z.prototype.dbl=function(){return this.isInfinity()?this:this.curve.extended?this._extDbl():this._projDbl()},z.prototype._extAdd=function(T){var H=this.y.redSub(this.x).redMul(T.y.redSub(T.x)),J=this.y.redAdd(this.x).redMul(T.y.redAdd(T.x)),W=this.t.redMul(this.curve.dd).redMul(T.t),D=this.z.redMul(T.z.redAdd(T.z)),E=J.redSub(H),R=D.redSub(W),M=D.redAdd(W),v=J.redAdd(H),q=E.redMul(R),g=M.redMul(v),B=E.redMul(v),w=R.redMul(M);return this.curve.point(q,g,w,B)},z.prototype._projAdd=function(T){var H=this.z.redMul(T.z),J=H.redSqr(),W=this.x.redMul(T.x),D=this.y.redMul(T.y),E=this.curve.d.redMul(W).redMul(D),R=J.redSub(E),M=J.redAdd(E),v=this.x.redAdd(this.y).redMul(T.x.redAdd(T.y)).redISub(W).redISub(D),q=H.redMul(R).redMul(v),g,B;return this.curve.twisted?(g=H.redMul(M).redMul(D.redSub(this.curve._mulA(W))),B=R.redMul(M)):(g=H.redMul(M).redMul(D.redSub(W)),B=this.curve._mulC(R).redMul(M)),this.curve.point(q,g,B)},z.prototype.add=function(T){return this.isInfinity()?T:T.isInfinity()?this:this.curve.extended?this._extAdd(T):this._projAdd(T)},z.prototype.mul=function(T){return this._hasDoubles(T)?this.curve._fixedNafMul(this,T):this.curve._wnafMul(this,T)},z.prototype.mulAdd=function(T,H,J){return this.curve._wnafMulAdd(1,[this,H],[T,J],2,!1)},z.prototype.jmulAdd=function(T,H,J){return this.curve._wnafMulAdd(1,[this,H],[T,J],2,!0)},z.prototype.normalize=function(){if(this.zOne)return this;var T=this.z.redInvm();return this.x=this.x.redMul(T),this.y=this.y.redMul(T),this.t&&(this.t=this.t.redMul(T)),this.z=this.curve.one,this.zOne=!0,this},z.prototype.neg=function(){return this.curve.point(this.x.redNeg(),this.y,this.z,this.t&&this.t.redNeg())},z.prototype.getX=function(){return this.normalize(),this.x.fromRed()},z.prototype.getY=function(){return this.normalize(),this.y.fromRed()},z.prototype.eq=function(T){return this===T||this.getX().cmp(T.getX())===0&&this.getY().cmp(T.getY())===0},z.prototype.eqXToP=function(T){var H=T.toRed(this.curve.red).redMul(this.z);if(this.x.cmp(H)===0)return!0;for(var J=T.clone(),W=this.curve.redN.redMul(this.z);;){if(J.iadd(this.curve.n),J.cmp(this.curve.p)>=0)return!1;if(H.redIAdd(W),this.x.cmp(H)===0)return!0}},z.prototype.toP=z.prototype.normalize,z.prototype.mixedAdd=z.prototype.add}}),vQ=S0({"node_modules/elliptic/lib/elliptic/curve/index.js"(N){var _=N;_.base=g$(),_.short=PY(),_.mont=MY(),_.edwards=SY()}}),T$=S0({"node_modules/hash.js/lib/hash/utils.js"(N){var _=H$(),j=B0();N.inherits=j;function k(Y,G){return(Y.charCodeAt(G)&64512)!==55296||G<0||G+1>=Y.length?!1:(Y.charCodeAt(G+1)&64512)===56320}function F(Y,G){if(Array.isArray(Y))return Y.slice();if(!Y)return[];var Z=[];if(typeof Y=="string")if(G){if(G==="hex")for(Y=Y.replace(/[^a-z0-9]+/gi,""),Y.length%2!==0&&(Y="0"+Y),I=0;I>6|192,Z[V++]=O&63|128):k(Y,I)?(O=65536+((O&1023)<<10)+(Y.charCodeAt(++I)&1023),Z[V++]=O>>18|240,Z[V++]=O>>12&63|128,Z[V++]=O>>6&63|128,Z[V++]=O&63|128):(Z[V++]=O>>12|224,Z[V++]=O>>6&63|128,Z[V++]=O&63|128)}else for(I=0;I>>24|Y>>>8&65280|Y<<8&16711680|(Y&255)<<24;return G>>>0}N.htonl=X;function C(Y,G){for(var Z="",V=0;V>>0}return O}N.join32=H;function J(Y,G){for(var Z=new Array(Y.length*4),V=0,I=0;V>>24,Z[I+1]=O>>>16&255,Z[I+2]=O>>>8&255,Z[I+3]=O&255):(Z[I+3]=O>>>24,Z[I+2]=O>>>16&255,Z[I+1]=O>>>8&255,Z[I]=O&255)}return Z}N.split32=J;function W(Y,G){return Y>>>G|Y<<32-G}N.rotr32=W;function D(Y,G){return Y<>>32-G}N.rotl32=D;function E(Y,G){return Y+G>>>0}N.sum32=E;function R(Y,G,Z){return Y+G+Z>>>0}N.sum32_3=R;function M(Y,G,Z,V){return Y+G+Z+V>>>0}N.sum32_4=M;function v(Y,G,Z,V,I){return Y+G+Z+V+I>>>0}N.sum32_5=v;function q(Y,G,Z,V){var I=Y[G],O=Y[G+1],U=V+O>>>0,Q=(U>>0,Y[G+1]=U}N.sum64=q;function g(Y,G,Z,V){var I=G+V>>>0,O=(I>>0}N.sum64_hi=g;function B(Y,G,Z,V){var I=G+V;return I>>>0}N.sum64_lo=B;function w(Y,G,Z,V,I,O,U,Q){var K=0,L=G;L=L+V>>>0,K+=L>>0,K+=L>>0,K+=L>>0}N.sum64_4_hi=w;function f(Y,G,Z,V,I,O,U,Q){var K=G+V+O+Q;return K>>>0}N.sum64_4_lo=f;function b(Y,G,Z,V,I,O,U,Q,K,L){var A=0,S=G;S=S+V>>>0,A+=S>>0,A+=S>>0,A+=S>>0,A+=S>>0}N.sum64_5_hi=b;function u(Y,G,Z,V,I,O,U,Q,K,L){var A=G+V+O+Q+L;return A>>>0}N.sum64_5_lo=u;function Y0(Y,G,Z){var V=G<<32-Z|Y>>>Z;return V>>>0}N.rotr64_hi=Y0;function p(Y,G,Z){var V=Y<<32-Z|G>>>Z;return V>>>0}N.rotr64_lo=p;function v0(Y,G,Z){return Y>>>Z}N.shr64_hi=v0;function $(Y,G,Z){var V=Y<<32-Z|G>>>Z;return V>>>0}N.shr64_lo=$}}),v$=S0({"node_modules/hash.js/lib/hash/common.js"(N){var _=T$(),j=H$();function k(){this.pending=null,this.pendingTotal=0,this.blockSize=this.constructor.blockSize,this.outSize=this.constructor.outSize,this.hmacStrength=this.constructor.hmacStrength,this.padLength=this.constructor.padLength/8,this.endian="big",this._delta8=this.blockSize/8,this._delta32=this.blockSize/32}N.BlockHash=k,k.prototype.update=function(F,P){if(F=_.toArray(F,P),this.pending?this.pending=this.pending.concat(F):this.pending=F,this.pendingTotal+=F.length,this.pending.length>=this._delta8){F=this.pending;var X=F.length%this._delta8;this.pending=F.slice(F.length-X,F.length),this.pending.length===0&&(this.pending=null),F=_.join32(F,0,F.length-X,this.endian);for(var C=0;C>>24&255,C[z++]=F>>>16&255,C[z++]=F>>>8&255,C[z++]=F&255}else for(C[z++]=F&255,C[z++]=F>>>8&255,C[z++]=F>>>16&255,C[z++]=F>>>24&255,C[z++]=0,C[z++]=0,C[z++]=0,C[z++]=0,T=8;T>>3}N.g0_256=T;function H(J){return j(J,17)^j(J,19)^J>>>10}N.g1_256=H}}),vY=S0({"node_modules/hash.js/lib/hash/sha/1.js"(N,_){var j=T$(),k=v$(),F=qQ(),P=j.rotl32,X=j.sum32,C=j.sum32_5,z=F.ft_1,T=k.BlockHash,H=[1518500249,1859775393,2400959708,3395469782];function J(){if(!(this instanceof J))return new J;T.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.W=new Array(80)}j.inherits(J,T),_.exports=J,J.blockSize=512,J.outSize=160,J.hmacStrength=80,J.padLength=64,J.prototype._update=function(W,D){for(var E=this.W,R=0;R<16;R++)E[R]=W[D+R];for(;Rthis.blockSize&&(P=new this.Hash().update(P).digest()),k(P.length<=this.blockSize);for(var X=P.length;X=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._init(C,z,T)}_.exports=P,P.prototype._init=function(X,C,z){var T=X.concat(C).concat(z);this.K=new Array(this.outLen/8),this.V=new Array(this.outLen/8);for(var H=0;H=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._update(X.concat(z||[])),this._reseed=1},P.prototype.generate=function(X,C,z,T){if(this._reseed>this.reseedInterval)throw new Error("Reseed is required");typeof C!="string"&&(T=z,z=C,C=null),z&&(z=k.toArray(z,T||"hex"),this._update(z));for(var H=[];H.length"}}}),yY=S0({"node_modules/elliptic/lib/elliptic/ec/signature.js"(N,_){var j=D$(),k=E$(),F=k.assert;function P(H,J){if(H instanceof P)return H;this._importDER(H,J)||(F(H.r&&H.s,"Signature without r or s"),this.r=new j(H.r,16),this.s=new j(H.s,16),H.recoveryParam===void 0?this.recoveryParam=null:this.recoveryParam=H.recoveryParam)}_.exports=P;function X(){this.place=0}function C(H,J){var W=H[J.place++];if(!(W&128))return W;var D=W&15;if(D===0||D>4)return!1;for(var E=0,R=0,M=J.place;R>>=0;return E<=127?!1:(J.place=M,E)}function z(H){for(var J=0,W=H.length-1;!H[J]&&!(H[J+1]&128)&&J>>3);for(H.push(W|128);--W;)H.push(J>>>(W<<3)&255);H.push(J)}P.prototype.toDER=function(H){var J=this.r.toArray(),W=this.s.toArray();for(J[0]&128&&(J=[0].concat(J)),W[0]&128&&(W=[0].concat(W)),J=z(J),W=z(W);!W[0]&&!(W[1]&128);)W=W.slice(1);var D=[2];T(D,J.length),D=D.concat(J),D.push(2),T(D,W.length);var E=D.concat(W),R=[48];return T(R,E.length),R=R.concat(E),k.encode(R,H)}}}),wY=S0({"node_modules/elliptic/lib/elliptic/ec/index.js"(N,_){var j=D$(),k=xY(),F=E$(),P=l$(),X=c$(),C=F.assert,z=BY(),T=yY();function H(J){if(!(this instanceof H))return new H(J);typeof J=="string"&&(C(Object.prototype.hasOwnProperty.call(P,J),"Unknown curve "+J),J=P[J]),J instanceof P.PresetCurve&&(J={curve:J}),this.curve=J.curve.curve,this.n=this.curve.n,this.nh=this.n.ushrn(1),this.g=this.curve.g,this.g=J.curve.g,this.g.precompute(J.curve.n.bitLength()+1),this.hash=J.hash||J.curve.hash}_.exports=H,H.prototype.keyPair=function(J){return new z(this,J)},H.prototype.keyFromPrivate=function(J,W){return z.fromPrivate(this,J,W)},H.prototype.keyFromPublic=function(J,W){return z.fromPublic(this,J,W)},H.prototype.genKeyPair=function(J){J||(J={});for(var W=new k({hash:this.hash,pers:J.pers,persEnc:J.persEnc||"utf8",entropy:J.entropy||X(this.hash.hmacStrength),entropyEnc:J.entropy&&J.entropyEnc||"utf8",nonce:this.n.toArray()}),D=this.n.byteLength(),E=this.n.sub(new j(2));;){var R=new j(W.generate(D));if(!(R.cmp(E)>0))return R.iaddn(1),this.keyFromPrivate(R)}},H.prototype._truncateToN=function(J,W){var D=J.byteLength()*8-this.n.bitLength();return D>0&&(J=J.ushrn(D)),!W&&J.cmp(this.n)>=0?J.sub(this.n):J},H.prototype.sign=function(J,W,D,E){typeof D=="object"&&(E=D,D=null),E||(E={}),W=this.keyFromPrivate(W,D),J=this._truncateToN(new j(J,16));for(var R=this.n.byteLength(),M=W.getPrivate().toArray("be",R),v=J.toArray("be",R),q=new k({hash:this.hash,entropy:M,nonce:v,pers:E.pers,persEnc:E.persEnc||"utf8"}),g=this.n.sub(new j(1)),B=0;;B++){var w=E.k?E.k(B):new j(q.generate(this.n.byteLength()));if(w=this._truncateToN(w,!0),!(w.cmpn(1)<=0||w.cmp(g)>=0)){var f=this.g.mul(w);if(!f.isInfinity()){var b=f.getX(),u=b.umod(this.n);if(u.cmpn(0)!==0){var Y0=w.invm(this.n).mul(u.mul(W.getPrivate()).iadd(J));if(Y0=Y0.umod(this.n),Y0.cmpn(0)!==0){var p=(f.getY().isOdd()?1:0)|(b.cmp(u)!==0?2:0);return E.canonical&&Y0.cmp(this.nh)>0&&(Y0=this.n.sub(Y0),p^=1),new T({r:u,s:Y0,recoveryParam:p})}}}}}},H.prototype.verify=function(J,W,D,E){J=this._truncateToN(new j(J,16)),D=this.keyFromPublic(D,E),W=new T(W,"hex");var{r:R,s:M}=W;if(R.cmpn(1)<0||R.cmp(this.n)>=0||M.cmpn(1)<0||M.cmp(this.n)>=0)return!1;var v=M.invm(this.n),q=v.mul(J).umod(this.n),g=v.mul(R).umod(this.n),B;return this.curve._maxwellTrick?(B=this.g.jmulAdd(q,D.getPublic(),g),B.isInfinity()?!1:B.eqXToP(R)):(B=this.g.mulAdd(q,D.getPublic(),g),B.isInfinity()?!1:B.getX().umod(this.n).cmp(R)===0)},H.prototype.recoverPubKey=function(J,W,D,E){C((3&D)===D,"The recovery param is more than two bits"),W=new T(W,E);var R=this.n,M=new j(J),v=W.r,q=W.s,g=D&1,B=D>>1;if(v.cmp(this.curve.p.umod(this.curve.n))>=0&&B)throw new Error("Unable to find sencond key candinate");B?v=this.curve.pointFromX(v.add(this.curve.n),g):v=this.curve.pointFromX(v,g);var w=W.r.invm(R),f=R.sub(M).mul(w).umod(R),b=q.mul(w).umod(R);return this.g.mulAdd(f,v,b)},H.prototype.getKeyRecoveryParam=function(J,W,D,E){if(W=new T(W,E),W.recoveryParam!==null)return W.recoveryParam;for(var R=0;R<4;R++){var M;try{M=this.recoverPubKey(J,W,R)}catch{continue}if(M.eq(D))return R}throw new Error("Unable to find valid recovery factor")}}}),pY=S0({"node_modules/elliptic/lib/elliptic/eddsa/key.js"(N,_){var j=E$(),k=j.assert,F=j.parseBytes,P=j.cachedProperty;function X(C,z){this.eddsa=C,this._secret=F(z.secret),C.isPoint(z.pub)?this._pub=z.pub:this._pubBytes=F(z.pub)}X.fromPublic=function(C,z){return z instanceof X?z:new X(C,{pub:z})},X.fromSecret=function(C,z){return z instanceof X?z:new X(C,{secret:z})},X.prototype.secret=function(){return this._secret},P(X,"pubBytes",function(){return this.eddsa.encodePoint(this.pub())}),P(X,"pub",function(){return this._pubBytes?this.eddsa.decodePoint(this._pubBytes):this.eddsa.g.mul(this.priv())}),P(X,"privBytes",function(){var C=this.eddsa,z=this.hash(),T=C.encodingLength-1,H=z.slice(0,C.encodingLength);return H[0]&=248,H[T]&=127,H[T]|=64,H}),P(X,"priv",function(){return this.eddsa.decodeInt(this.privBytes())}),P(X,"hash",function(){return this.eddsa.hash().update(this.secret()).digest()}),P(X,"messagePrefix",function(){return this.hash().slice(this.eddsa.encodingLength)}),X.prototype.sign=function(C){return k(this._secret,"KeyPair can only verify"),this.eddsa.sign(C,this)},X.prototype.verify=function(C,z){return this.eddsa.verify(C,z,this)},X.prototype.getSecret=function(C){return k(this._secret,"KeyPair is public only"),j.encode(this.secret(),C)},X.prototype.getPublic=function(C){return j.encode(this.pubBytes(),C)},_.exports=X}}),fY=S0({"node_modules/elliptic/lib/elliptic/eddsa/signature.js"(N,_){var j=D$(),k=E$(),F=k.assert,P=k.cachedProperty,X=k.parseBytes;function C(z,T){this.eddsa=z,typeof T!="object"&&(T=X(T)),Array.isArray(T)&&(T={R:T.slice(0,z.encodingLength),S:T.slice(z.encodingLength)}),F(T.R&&T.S,"Signature without R or S"),z.isPoint(T.R)&&(this._R=T.R),T.S instanceof j&&(this._S=T.S),this._Rencoded=Array.isArray(T.R)?T.R:T.Rencoded,this._Sencoded=Array.isArray(T.S)?T.S:T.Sencoded}P(C,"S",function(){return this.eddsa.decodeInt(this.Sencoded())}),P(C,"R",function(){return this.eddsa.decodePoint(this.Rencoded())}),P(C,"Rencoded",function(){return this.eddsa.encodePoint(this.R())}),P(C,"Sencoded",function(){return this.eddsa.encodeInt(this.S())}),C.prototype.toBytes=function(){return this.Rencoded().concat(this.Sencoded())},C.prototype.toHex=function(){return k.encode(this.toBytes(),"hex").toUpperCase()},_.exports=C}}),cY=S0({"node_modules/elliptic/lib/elliptic/eddsa/index.js"(N,_){var j=b$(),k=l$(),F=E$(),P=F.assert,X=F.parseBytes,C=pY(),z=fY();function T(H){if(P(H==="ed25519","only tested with ed25519 so far"),!(this instanceof T))return new T(H);H=k[H].curve,this.curve=H,this.g=H.g,this.g.precompute(H.n.bitLength()+1),this.pointClass=H.point().constructor,this.encodingLength=Math.ceil(H.n.bitLength()/8),this.hash=j.sha512}_.exports=T,T.prototype.sign=function(H,J){H=X(H);var W=this.keyFromSecret(J),D=this.hashInt(W.messagePrefix(),H),E=this.g.mul(D),R=this.encodePoint(E),M=this.hashInt(R,W.pubBytes(),H).mul(W.priv()),v=D.add(M).umod(this.curve.n);return this.makeSignature({R:E,S:v,Rencoded:R})},T.prototype.verify=function(H,J,W){H=X(H),J=this.makeSignature(J);var D=this.keyFromPublic(W),E=this.hashInt(J.Rencoded(),D.pubBytes(),H),R=this.g.mul(J.S()),M=J.R().add(D.pub().mul(E));return M.eq(R)},T.prototype.hashInt=function(){for(var H=this.hash(),J=0;J0?$:Y},X.min=function($,Y){return $.cmp(Y)<0?$:Y},X.prototype._init=function($,Y,G){if(typeof $=="number")return this._initNumber($,Y,G);if(typeof $=="object")return this._initArray($,Y,G);Y==="hex"&&(Y=16),F(Y===(Y|0)&&Y>=2&&Y<=36),$=$.toString().replace(/\s+/g,"");var Z=0;$[0]==="-"&&(Z++,this.negative=1),Z<$.length&&(Y===16?this._parseHex($,Z,G):(this._parseBase($,Y,Z),G==="le"&&this._initArray(this.toArray(),Y,G)))},X.prototype._initNumber=function($,Y,G){$<0&&(this.negative=1,$=-$),$<67108864?(this.words=[$&67108863],this.length=1):$<4503599627370496?(this.words=[$&67108863,$/67108864&67108863],this.length=2):(F($<9007199254740992),this.words=[$&67108863,$/67108864&67108863,1],this.length=3),G==="le"&&this._initArray(this.toArray(),Y,G)},X.prototype._initArray=function($,Y,G){if(F(typeof $.length=="number"),$.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil($.length/3),this.words=new Array(this.length);for(var Z=0;Z=0;Z-=3)I=$[Z]|$[Z-1]<<8|$[Z-2]<<16,this.words[V]|=I<>>26-O&67108863,O+=24,O>=26&&(O-=26,V++);else if(G==="le")for(Z=0,V=0;Z<$.length;Z+=3)I=$[Z]|$[Z+1]<<8|$[Z+2]<<16,this.words[V]|=I<>>26-O&67108863,O+=24,O>=26&&(O-=26,V++);return this.strip()};function z($,Y){var G=$.charCodeAt(Y);return G>=65&&G<=70?G-55:G>=97&&G<=102?G-87:G-48&15}function T($,Y,G){var Z=z($,G);return G-1>=Y&&(Z|=z($,G-1)<<4),Z}X.prototype._parseHex=function($,Y,G){this.length=Math.ceil(($.length-Y)/6),this.words=new Array(this.length);for(var Z=0;Z=Y;Z-=2)O=T($,Y,Z)<=18?(V-=18,I+=1,this.words[I]|=O>>>26):V+=8;else{var U=$.length-Y;for(Z=U%2===0?Y+1:Y;Z<$.length;Z+=2)O=T($,Y,Z)<=18?(V-=18,I+=1,this.words[I]|=O>>>26):V+=8}this.strip()};function H($,Y,G,Z){for(var V=0,I=Math.min($.length,G),O=Y;O=49?V+=U-49+10:U>=17?V+=U-17+10:V+=U}return V}X.prototype._parseBase=function($,Y,G){this.words=[0],this.length=1;for(var Z=0,V=1;V<=67108863;V*=Y)Z++;Z--,V=V/Y|0;for(var I=$.length-G,O=I%Z,U=Math.min(I,I-O)+G,Q=0,K=G;K1&&this.words[this.length-1]===0;)this.length--;return this._normSign()},X.prototype._normSign=function(){return this.length===1&&this.words[0]===0&&(this.negative=0),this},X.prototype.inspect=function(){return(this.red?""};var J=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],W=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],D=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64000000,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,24300000,28629151,33554432,39135393,45435424,52521875,60466176];X.prototype.toString=function($,Y){$=$||10,Y=Y|0||1;var G;if($===16||$==="hex"){G="";for(var Z=0,V=0,I=0;I>>24-Z&16777215,V!==0||I!==this.length-1?G=J[6-U.length]+U+G:G=U+G,Z+=2,Z>=26&&(Z-=26,I--)}for(V!==0&&(G=V.toString(16)+G);G.length%Y!==0;)G="0"+G;return this.negative!==0&&(G="-"+G),G}if($===($|0)&&$>=2&&$<=36){var Q=W[$],K=D[$];G="";var L=this.clone();for(L.negative=0;!L.isZero();){var A=L.modn(K).toString($);L=L.idivn(K),L.isZero()?G=A+G:G=J[Q-A.length]+A+G}for(this.isZero()&&(G="0"+G);G.length%Y!==0;)G="0"+G;return this.negative!==0&&(G="-"+G),G}F(!1,"Base should be between 2 and 36")},X.prototype.toNumber=function(){var $=this.words[0];return this.length===2?$+=this.words[1]*67108864:this.length===3&&this.words[2]===1?$+=4503599627370496+this.words[1]*67108864:this.length>2&&F(!1,"Number can only safely store up to 53 bits"),this.negative!==0?-$:$},X.prototype.toJSON=function(){return this.toString(16)},X.prototype.toBuffer=function($,Y){return F(typeof C<"u"),this.toArrayLike(C,$,Y)},X.prototype.toArray=function($,Y){return this.toArrayLike(Array,$,Y)},X.prototype.toArrayLike=function($,Y,G){var Z=this.byteLength(),V=G||Math.max(1,Z);F(Z<=V,"byte array longer than desired length"),F(V>0,"Requested array length <= 0"),this.strip();var I=Y==="le",O=new $(V),U,Q,K=this.clone();if(I){for(Q=0;!K.isZero();Q++)U=K.andln(255),K.iushrn(8),O[Q]=U;for(;Q=4096&&(G+=13,Y>>>=13),Y>=64&&(G+=7,Y>>>=7),Y>=8&&(G+=4,Y>>>=4),Y>=2&&(G+=2,Y>>>=2),G+Y},X.prototype._zeroBits=function($){if($===0)return 26;var Y=$,G=0;return(Y&8191)===0&&(G+=13,Y>>>=13),(Y&127)===0&&(G+=7,Y>>>=7),(Y&15)===0&&(G+=4,Y>>>=4),(Y&3)===0&&(G+=2,Y>>>=2),(Y&1)===0&&G++,G},X.prototype.bitLength=function(){var $=this.words[this.length-1],Y=this._countBits($);return(this.length-1)*26+Y};function E($){for(var Y=new Array($.bitLength()),G=0;G>>V}return Y}X.prototype.zeroBits=function(){if(this.isZero())return 0;for(var $=0,Y=0;Y$.length?this.clone().ior($):$.clone().ior(this)},X.prototype.uor=function($){return this.length>$.length?this.clone().iuor($):$.clone().iuor(this)},X.prototype.iuand=function($){var Y;this.length>$.length?Y=$:Y=this;for(var G=0;G$.length?this.clone().iand($):$.clone().iand(this)},X.prototype.uand=function($){return this.length>$.length?this.clone().iuand($):$.clone().iuand(this)},X.prototype.iuxor=function($){var Y,G;this.length>$.length?(Y=this,G=$):(Y=$,G=this);for(var Z=0;Z$.length?this.clone().ixor($):$.clone().ixor(this)},X.prototype.uxor=function($){return this.length>$.length?this.clone().iuxor($):$.clone().iuxor(this)},X.prototype.inotn=function($){F(typeof $=="number"&&$>=0);var Y=Math.ceil($/26)|0,G=$%26;this._expand(Y),G>0&&Y--;for(var Z=0;Z0&&(this.words[Z]=~this.words[Z]&67108863>>26-G),this.strip()},X.prototype.notn=function($){return this.clone().inotn($)},X.prototype.setn=function($,Y){F(typeof $=="number"&&$>=0);var G=$/26|0,Z=$%26;return this._expand(G+1),Y?this.words[G]=this.words[G]|1<$.length?(G=this,Z=$):(G=$,Z=this);for(var V=0,I=0;I>>26;for(;V!==0&&I>>26;if(this.length=G.length,V!==0)this.words[this.length]=V,this.length++;else if(G!==this)for(;I$.length?this.clone().iadd($):$.clone().iadd(this)},X.prototype.isub=function($){if($.negative!==0){$.negative=0;var Y=this.iadd($);return $.negative=1,Y._normSign()}else if(this.negative!==0)return this.negative=0,this.iadd($),this.negative=1,this._normSign();var G=this.cmp($);if(G===0)return this.negative=0,this.length=1,this.words[0]=0,this;var Z,V;G>0?(Z=this,V=$):(Z=$,V=this);for(var I=0,O=0;O>26,this.words[O]=Y&67108863;for(;I!==0&&O>26,this.words[O]=Y&67108863;if(I===0&&O>>26,A=Q&67108863,S=Math.min(K,Y.length-1),x=Math.max(0,K-$.length+1);x<=S;x++){var y=K-x|0;V=$.words[y]|0,I=Y.words[x]|0,O=V*I+A,L+=O/67108864|0,A=O&67108863}G.words[K]=A|0,Q=L|0}return Q!==0?G.words[K]=Q|0:G.length--,G.strip()}var M=function($,Y,G){var Z=$.words,V=Y.words,I=G.words,O=0,U,Q,K,L=Z[0]|0,A=L&8191,S=L>>>13,x=Z[1]|0,y=x&8191,c=x>>>13,q0=Z[2]|0,h=q0&8191,d=q0>>>13,_0=Z[3]|0,l=_0&8191,n=_0>>>13,y0=Z[4]|0,t=y0&8191,s=y0>>>13,w0=Z[5]|0,m=w0&8191,r=w0>>>13,$$=Z[6]|0,i=$$&8191,e=$$>>>13,x0=Z[7]|0,o=x0&8191,a=x0>>>13,p0=Z[8]|0,$0=p0&8191,Q0=p0>>>13,Y$=Z[9]|0,Z0=Y$&8191,G0=Y$>>>13,Z$=V[0]|0,V0=Z$&8191,U0=Z$>>>13,G$=V[1]|0,X0=G$&8191,K0=G$>>>13,V$=V[2]|0,I0=V$&8191,O0=V$>>>13,U$=V[3]|0,J0=U$&8191,F0=U$>>>13,X$=V[4]|0,A0=X$&8191,W0=X$>>>13,K$=V[5]|0,H0=K$&8191,E0=K$>>>13,I$=V[6]|0,T0=I$&8191,D0=I$>>>13,O$=V[7]|0,C0=O$&8191,L0=O$>>>13,J$=V[8]|0,R0=J$&8191,z0=J$>>>13,F$=V[9]|0,P0=F$&8191,M0=F$>>>13;G.negative=$.negative^Y.negative,G.length=19,U=Math.imul(A,V0),Q=Math.imul(A,U0),Q=Q+Math.imul(S,V0)|0,K=Math.imul(S,U0);var Q$=(O+U|0)+((Q&8191)<<13)|0;O=(K+(Q>>>13)|0)+(Q$>>>26)|0,Q$&=67108863,U=Math.imul(y,V0),Q=Math.imul(y,U0),Q=Q+Math.imul(c,V0)|0,K=Math.imul(c,U0),U=U+Math.imul(A,X0)|0,Q=Q+Math.imul(A,K0)|0,Q=Q+Math.imul(S,X0)|0,K=K+Math.imul(S,K0)|0;var k0=(O+U|0)+((Q&8191)<<13)|0;O=(K+(Q>>>13)|0)+(k0>>>26)|0,k0&=67108863,U=Math.imul(h,V0),Q=Math.imul(h,U0),Q=Q+Math.imul(d,V0)|0,K=Math.imul(d,U0),U=U+Math.imul(y,X0)|0,Q=Q+Math.imul(y,K0)|0,Q=Q+Math.imul(c,X0)|0,K=K+Math.imul(c,K0)|0,U=U+Math.imul(A,I0)|0,Q=Q+Math.imul(A,O0)|0,Q=Q+Math.imul(S,I0)|0,K=K+Math.imul(S,O0)|0;var g0=(O+U|0)+((Q&8191)<<13)|0;O=(K+(Q>>>13)|0)+(g0>>>26)|0,g0&=67108863,U=Math.imul(l,V0),Q=Math.imul(l,U0),Q=Q+Math.imul(n,V0)|0,K=Math.imul(n,U0),U=U+Math.imul(h,X0)|0,Q=Q+Math.imul(h,K0)|0,Q=Q+Math.imul(d,X0)|0,K=K+Math.imul(d,K0)|0,U=U+Math.imul(y,I0)|0,Q=Q+Math.imul(y,O0)|0,Q=Q+Math.imul(c,I0)|0,K=K+Math.imul(c,O0)|0,U=U+Math.imul(A,J0)|0,Q=Q+Math.imul(A,F0)|0,Q=Q+Math.imul(S,J0)|0,K=K+Math.imul(S,F0)|0;var f0=(O+U|0)+((Q&8191)<<13)|0;O=(K+(Q>>>13)|0)+(f0>>>26)|0,f0&=67108863,U=Math.imul(t,V0),Q=Math.imul(t,U0),Q=Q+Math.imul(s,V0)|0,K=Math.imul(s,U0),U=U+Math.imul(l,X0)|0,Q=Q+Math.imul(l,K0)|0,Q=Q+Math.imul(n,X0)|0,K=K+Math.imul(n,K0)|0,U=U+Math.imul(h,I0)|0,Q=Q+Math.imul(h,O0)|0,Q=Q+Math.imul(d,I0)|0,K=K+Math.imul(d,O0)|0,U=U+Math.imul(y,J0)|0,Q=Q+Math.imul(y,F0)|0,Q=Q+Math.imul(c,J0)|0,K=K+Math.imul(c,F0)|0,U=U+Math.imul(A,A0)|0,Q=Q+Math.imul(A,W0)|0,Q=Q+Math.imul(S,A0)|0,K=K+Math.imul(S,W0)|0;var c0=(O+U|0)+((Q&8191)<<13)|0;O=(K+(Q>>>13)|0)+(c0>>>26)|0,c0&=67108863,U=Math.imul(m,V0),Q=Math.imul(m,U0),Q=Q+Math.imul(r,V0)|0,K=Math.imul(r,U0),U=U+Math.imul(t,X0)|0,Q=Q+Math.imul(t,K0)|0,Q=Q+Math.imul(s,X0)|0,K=K+Math.imul(s,K0)|0,U=U+Math.imul(l,I0)|0,Q=Q+Math.imul(l,O0)|0,Q=Q+Math.imul(n,I0)|0,K=K+Math.imul(n,O0)|0,U=U+Math.imul(h,J0)|0,Q=Q+Math.imul(h,F0)|0,Q=Q+Math.imul(d,J0)|0,K=K+Math.imul(d,F0)|0,U=U+Math.imul(y,A0)|0,Q=Q+Math.imul(y,W0)|0,Q=Q+Math.imul(c,A0)|0,K=K+Math.imul(c,W0)|0,U=U+Math.imul(A,H0)|0,Q=Q+Math.imul(A,E0)|0,Q=Q+Math.imul(S,H0)|0,K=K+Math.imul(S,E0)|0;var h0=(O+U|0)+((Q&8191)<<13)|0;O=(K+(Q>>>13)|0)+(h0>>>26)|0,h0&=67108863,U=Math.imul(i,V0),Q=Math.imul(i,U0),Q=Q+Math.imul(e,V0)|0,K=Math.imul(e,U0),U=U+Math.imul(m,X0)|0,Q=Q+Math.imul(m,K0)|0,Q=Q+Math.imul(r,X0)|0,K=K+Math.imul(r,K0)|0,U=U+Math.imul(t,I0)|0,Q=Q+Math.imul(t,O0)|0,Q=Q+Math.imul(s,I0)|0,K=K+Math.imul(s,O0)|0,U=U+Math.imul(l,J0)|0,Q=Q+Math.imul(l,F0)|0,Q=Q+Math.imul(n,J0)|0,K=K+Math.imul(n,F0)|0,U=U+Math.imul(h,A0)|0,Q=Q+Math.imul(h,W0)|0,Q=Q+Math.imul(d,A0)|0,K=K+Math.imul(d,W0)|0,U=U+Math.imul(y,H0)|0,Q=Q+Math.imul(y,E0)|0,Q=Q+Math.imul(c,H0)|0,K=K+Math.imul(c,E0)|0,U=U+Math.imul(A,T0)|0,Q=Q+Math.imul(A,D0)|0,Q=Q+Math.imul(S,T0)|0,K=K+Math.imul(S,D0)|0;var d0=(O+U|0)+((Q&8191)<<13)|0;O=(K+(Q>>>13)|0)+(d0>>>26)|0,d0&=67108863,U=Math.imul(o,V0),Q=Math.imul(o,U0),Q=Q+Math.imul(a,V0)|0,K=Math.imul(a,U0),U=U+Math.imul(i,X0)|0,Q=Q+Math.imul(i,K0)|0,Q=Q+Math.imul(e,X0)|0,K=K+Math.imul(e,K0)|0,U=U+Math.imul(m,I0)|0,Q=Q+Math.imul(m,O0)|0,Q=Q+Math.imul(r,I0)|0,K=K+Math.imul(r,O0)|0,U=U+Math.imul(t,J0)|0,Q=Q+Math.imul(t,F0)|0,Q=Q+Math.imul(s,J0)|0,K=K+Math.imul(s,F0)|0,U=U+Math.imul(l,A0)|0,Q=Q+Math.imul(l,W0)|0,Q=Q+Math.imul(n,A0)|0,K=K+Math.imul(n,W0)|0,U=U+Math.imul(h,H0)|0,Q=Q+Math.imul(h,E0)|0,Q=Q+Math.imul(d,H0)|0,K=K+Math.imul(d,E0)|0,U=U+Math.imul(y,T0)|0,Q=Q+Math.imul(y,D0)|0,Q=Q+Math.imul(c,T0)|0,K=K+Math.imul(c,D0)|0,U=U+Math.imul(A,C0)|0,Q=Q+Math.imul(A,L0)|0,Q=Q+Math.imul(S,C0)|0,K=K+Math.imul(S,L0)|0;var b0=(O+U|0)+((Q&8191)<<13)|0;O=(K+(Q>>>13)|0)+(b0>>>26)|0,b0&=67108863,U=Math.imul($0,V0),Q=Math.imul($0,U0),Q=Q+Math.imul(Q0,V0)|0,K=Math.imul(Q0,U0),U=U+Math.imul(o,X0)|0,Q=Q+Math.imul(o,K0)|0,Q=Q+Math.imul(a,X0)|0,K=K+Math.imul(a,K0)|0,U=U+Math.imul(i,I0)|0,Q=Q+Math.imul(i,O0)|0,Q=Q+Math.imul(e,I0)|0,K=K+Math.imul(e,O0)|0,U=U+Math.imul(m,J0)|0,Q=Q+Math.imul(m,F0)|0,Q=Q+Math.imul(r,J0)|0,K=K+Math.imul(r,F0)|0,U=U+Math.imul(t,A0)|0,Q=Q+Math.imul(t,W0)|0,Q=Q+Math.imul(s,A0)|0,K=K+Math.imul(s,W0)|0,U=U+Math.imul(l,H0)|0,Q=Q+Math.imul(l,E0)|0,Q=Q+Math.imul(n,H0)|0,K=K+Math.imul(n,E0)|0,U=U+Math.imul(h,T0)|0,Q=Q+Math.imul(h,D0)|0,Q=Q+Math.imul(d,T0)|0,K=K+Math.imul(d,D0)|0,U=U+Math.imul(y,C0)|0,Q=Q+Math.imul(y,L0)|0,Q=Q+Math.imul(c,C0)|0,K=K+Math.imul(c,L0)|0,U=U+Math.imul(A,R0)|0,Q=Q+Math.imul(A,z0)|0,Q=Q+Math.imul(S,R0)|0,K=K+Math.imul(S,z0)|0;var l0=(O+U|0)+((Q&8191)<<13)|0;O=(K+(Q>>>13)|0)+(l0>>>26)|0,l0&=67108863,U=Math.imul(Z0,V0),Q=Math.imul(Z0,U0),Q=Q+Math.imul(G0,V0)|0,K=Math.imul(G0,U0),U=U+Math.imul($0,X0)|0,Q=Q+Math.imul($0,K0)|0,Q=Q+Math.imul(Q0,X0)|0,K=K+Math.imul(Q0,K0)|0,U=U+Math.imul(o,I0)|0,Q=Q+Math.imul(o,O0)|0,Q=Q+Math.imul(a,I0)|0,K=K+Math.imul(a,O0)|0,U=U+Math.imul(i,J0)|0,Q=Q+Math.imul(i,F0)|0,Q=Q+Math.imul(e,J0)|0,K=K+Math.imul(e,F0)|0,U=U+Math.imul(m,A0)|0,Q=Q+Math.imul(m,W0)|0,Q=Q+Math.imul(r,A0)|0,K=K+Math.imul(r,W0)|0,U=U+Math.imul(t,H0)|0,Q=Q+Math.imul(t,E0)|0,Q=Q+Math.imul(s,H0)|0,K=K+Math.imul(s,E0)|0,U=U+Math.imul(l,T0)|0,Q=Q+Math.imul(l,D0)|0,Q=Q+Math.imul(n,T0)|0,K=K+Math.imul(n,D0)|0,U=U+Math.imul(h,C0)|0,Q=Q+Math.imul(h,L0)|0,Q=Q+Math.imul(d,C0)|0,K=K+Math.imul(d,L0)|0,U=U+Math.imul(y,R0)|0,Q=Q+Math.imul(y,z0)|0,Q=Q+Math.imul(c,R0)|0,K=K+Math.imul(c,z0)|0,U=U+Math.imul(A,P0)|0,Q=Q+Math.imul(A,M0)|0,Q=Q+Math.imul(S,P0)|0,K=K+Math.imul(S,M0)|0;var o0=(O+U|0)+((Q&8191)<<13)|0;O=(K+(Q>>>13)|0)+(o0>>>26)|0,o0&=67108863,U=Math.imul(Z0,X0),Q=Math.imul(Z0,K0),Q=Q+Math.imul(G0,X0)|0,K=Math.imul(G0,K0),U=U+Math.imul($0,I0)|0,Q=Q+Math.imul($0,O0)|0,Q=Q+Math.imul(Q0,I0)|0,K=K+Math.imul(Q0,O0)|0,U=U+Math.imul(o,J0)|0,Q=Q+Math.imul(o,F0)|0,Q=Q+Math.imul(a,J0)|0,K=K+Math.imul(a,F0)|0,U=U+Math.imul(i,A0)|0,Q=Q+Math.imul(i,W0)|0,Q=Q+Math.imul(e,A0)|0,K=K+Math.imul(e,W0)|0,U=U+Math.imul(m,H0)|0,Q=Q+Math.imul(m,E0)|0,Q=Q+Math.imul(r,H0)|0,K=K+Math.imul(r,E0)|0,U=U+Math.imul(t,T0)|0,Q=Q+Math.imul(t,D0)|0,Q=Q+Math.imul(s,T0)|0,K=K+Math.imul(s,D0)|0,U=U+Math.imul(l,C0)|0,Q=Q+Math.imul(l,L0)|0,Q=Q+Math.imul(n,C0)|0,K=K+Math.imul(n,L0)|0,U=U+Math.imul(h,R0)|0,Q=Q+Math.imul(h,z0)|0,Q=Q+Math.imul(d,R0)|0,K=K+Math.imul(d,z0)|0,U=U+Math.imul(y,P0)|0,Q=Q+Math.imul(y,M0)|0,Q=Q+Math.imul(c,P0)|0,K=K+Math.imul(c,M0)|0;var u0=(O+U|0)+((Q&8191)<<13)|0;O=(K+(Q>>>13)|0)+(u0>>>26)|0,u0&=67108863,U=Math.imul(Z0,I0),Q=Math.imul(Z0,O0),Q=Q+Math.imul(G0,I0)|0,K=Math.imul(G0,O0),U=U+Math.imul($0,J0)|0,Q=Q+Math.imul($0,F0)|0,Q=Q+Math.imul(Q0,J0)|0,K=K+Math.imul(Q0,F0)|0,U=U+Math.imul(o,A0)|0,Q=Q+Math.imul(o,W0)|0,Q=Q+Math.imul(a,A0)|0,K=K+Math.imul(a,W0)|0,U=U+Math.imul(i,H0)|0,Q=Q+Math.imul(i,E0)|0,Q=Q+Math.imul(e,H0)|0,K=K+Math.imul(e,E0)|0,U=U+Math.imul(m,T0)|0,Q=Q+Math.imul(m,D0)|0,Q=Q+Math.imul(r,T0)|0,K=K+Math.imul(r,D0)|0,U=U+Math.imul(t,C0)|0,Q=Q+Math.imul(t,L0)|0,Q=Q+Math.imul(s,C0)|0,K=K+Math.imul(s,L0)|0,U=U+Math.imul(l,R0)|0,Q=Q+Math.imul(l,z0)|0,Q=Q+Math.imul(n,R0)|0,K=K+Math.imul(n,z0)|0,U=U+Math.imul(h,P0)|0,Q=Q+Math.imul(h,M0)|0,Q=Q+Math.imul(d,P0)|0,K=K+Math.imul(d,M0)|0;var n0=(O+U|0)+((Q&8191)<<13)|0;O=(K+(Q>>>13)|0)+(n0>>>26)|0,n0&=67108863,U=Math.imul(Z0,J0),Q=Math.imul(Z0,F0),Q=Q+Math.imul(G0,J0)|0,K=Math.imul(G0,F0),U=U+Math.imul($0,A0)|0,Q=Q+Math.imul($0,W0)|0,Q=Q+Math.imul(Q0,A0)|0,K=K+Math.imul(Q0,W0)|0,U=U+Math.imul(o,H0)|0,Q=Q+Math.imul(o,E0)|0,Q=Q+Math.imul(a,H0)|0,K=K+Math.imul(a,E0)|0,U=U+Math.imul(i,T0)|0,Q=Q+Math.imul(i,D0)|0,Q=Q+Math.imul(e,T0)|0,K=K+Math.imul(e,D0)|0,U=U+Math.imul(m,C0)|0,Q=Q+Math.imul(m,L0)|0,Q=Q+Math.imul(r,C0)|0,K=K+Math.imul(r,L0)|0,U=U+Math.imul(t,R0)|0,Q=Q+Math.imul(t,z0)|0,Q=Q+Math.imul(s,R0)|0,K=K+Math.imul(s,z0)|0,U=U+Math.imul(l,P0)|0,Q=Q+Math.imul(l,M0)|0,Q=Q+Math.imul(n,P0)|0,K=K+Math.imul(n,M0)|0;var s0=(O+U|0)+((Q&8191)<<13)|0;O=(K+(Q>>>13)|0)+(s0>>>26)|0,s0&=67108863,U=Math.imul(Z0,A0),Q=Math.imul(Z0,W0),Q=Q+Math.imul(G0,A0)|0,K=Math.imul(G0,W0),U=U+Math.imul($0,H0)|0,Q=Q+Math.imul($0,E0)|0,Q=Q+Math.imul(Q0,H0)|0,K=K+Math.imul(Q0,E0)|0,U=U+Math.imul(o,T0)|0,Q=Q+Math.imul(o,D0)|0,Q=Q+Math.imul(a,T0)|0,K=K+Math.imul(a,D0)|0,U=U+Math.imul(i,C0)|0,Q=Q+Math.imul(i,L0)|0,Q=Q+Math.imul(e,C0)|0,K=K+Math.imul(e,L0)|0,U=U+Math.imul(m,R0)|0,Q=Q+Math.imul(m,z0)|0,Q=Q+Math.imul(r,R0)|0,K=K+Math.imul(r,z0)|0,U=U+Math.imul(t,P0)|0,Q=Q+Math.imul(t,M0)|0,Q=Q+Math.imul(s,P0)|0,K=K+Math.imul(s,M0)|0;var t0=(O+U|0)+((Q&8191)<<13)|0;O=(K+(Q>>>13)|0)+(t0>>>26)|0,t0&=67108863,U=Math.imul(Z0,H0),Q=Math.imul(Z0,E0),Q=Q+Math.imul(G0,H0)|0,K=Math.imul(G0,E0),U=U+Math.imul($0,T0)|0,Q=Q+Math.imul($0,D0)|0,Q=Q+Math.imul(Q0,T0)|0,K=K+Math.imul(Q0,D0)|0,U=U+Math.imul(o,C0)|0,Q=Q+Math.imul(o,L0)|0,Q=Q+Math.imul(a,C0)|0,K=K+Math.imul(a,L0)|0,U=U+Math.imul(i,R0)|0,Q=Q+Math.imul(i,z0)|0,Q=Q+Math.imul(e,R0)|0,K=K+Math.imul(e,z0)|0,U=U+Math.imul(m,P0)|0,Q=Q+Math.imul(m,M0)|0,Q=Q+Math.imul(r,P0)|0,K=K+Math.imul(r,M0)|0;var m0=(O+U|0)+((Q&8191)<<13)|0;O=(K+(Q>>>13)|0)+(m0>>>26)|0,m0&=67108863,U=Math.imul(Z0,T0),Q=Math.imul(Z0,D0),Q=Q+Math.imul(G0,T0)|0,K=Math.imul(G0,D0),U=U+Math.imul($0,C0)|0,Q=Q+Math.imul($0,L0)|0,Q=Q+Math.imul(Q0,C0)|0,K=K+Math.imul(Q0,L0)|0,U=U+Math.imul(o,R0)|0,Q=Q+Math.imul(o,z0)|0,Q=Q+Math.imul(a,R0)|0,K=K+Math.imul(a,z0)|0,U=U+Math.imul(i,P0)|0,Q=Q+Math.imul(i,M0)|0,Q=Q+Math.imul(e,P0)|0,K=K+Math.imul(e,M0)|0;var a0=(O+U|0)+((Q&8191)<<13)|0;O=(K+(Q>>>13)|0)+(a0>>>26)|0,a0&=67108863,U=Math.imul(Z0,C0),Q=Math.imul(Z0,L0),Q=Q+Math.imul(G0,C0)|0,K=Math.imul(G0,L0),U=U+Math.imul($0,R0)|0,Q=Q+Math.imul($0,z0)|0,Q=Q+Math.imul(Q0,R0)|0,K=K+Math.imul(Q0,z0)|0,U=U+Math.imul(o,P0)|0,Q=Q+Math.imul(o,M0)|0,Q=Q+Math.imul(a,P0)|0,K=K+Math.imul(a,M0)|0;var e0=(O+U|0)+((Q&8191)<<13)|0;O=(K+(Q>>>13)|0)+(e0>>>26)|0,e0&=67108863,U=Math.imul(Z0,R0),Q=Math.imul(Z0,z0),Q=Q+Math.imul(G0,R0)|0,K=Math.imul(G0,z0),U=U+Math.imul($0,P0)|0,Q=Q+Math.imul($0,M0)|0,Q=Q+Math.imul(Q0,P0)|0,K=K+Math.imul(Q0,M0)|0;var r0=(O+U|0)+((Q&8191)<<13)|0;O=(K+(Q>>>13)|0)+(r0>>>26)|0,r0&=67108863,U=Math.imul(Z0,P0),Q=Math.imul(Z0,M0),Q=Q+Math.imul(G0,P0)|0,K=Math.imul(G0,M0);var i0=(O+U|0)+((Q&8191)<<13)|0;return O=(K+(Q>>>13)|0)+(i0>>>26)|0,i0&=67108863,I[0]=Q$,I[1]=k0,I[2]=g0,I[3]=f0,I[4]=c0,I[5]=h0,I[6]=d0,I[7]=b0,I[8]=l0,I[9]=o0,I[10]=u0,I[11]=n0,I[12]=s0,I[13]=t0,I[14]=m0,I[15]=a0,I[16]=e0,I[17]=r0,I[18]=i0,O!==0&&(I[19]=O,G.length++),G};Math.imul||(M=R);function v($,Y,G){G.negative=Y.negative^$.negative,G.length=$.length+Y.length;for(var Z=0,V=0,I=0;I>>26)|0,V+=O>>>26,O&=67108863}G.words[I]=U,Z=O,O=V}return Z!==0?G.words[I]=Z:G.length--,G.strip()}function q($,Y,G){var Z=new g;return Z.mulp($,Y,G)}X.prototype.mulTo=function($,Y){var G,Z=this.length+$.length;return this.length===10&&$.length===10?G=M(this,$,Y):Z<63?G=R(this,$,Y):Z<1024?G=v(this,$,Y):G=q(this,$,Y),G};function g($,Y){this.x=$,this.y=Y}g.prototype.makeRBT=function($){for(var Y=new Array($),G=X.prototype._countBits($)-1,Z=0;Z<$;Z++)Y[Z]=this.revBin(Z,G,$);return Y},g.prototype.revBin=function($,Y,G){if($===0||$===G-1)return $;for(var Z=0,V=0;V>=1;return Z},g.prototype.permute=function($,Y,G,Z,V,I){for(var O=0;O>>1)V++;return 1<>>13,G[2*I+1]=V&8191,V=V>>>13;for(I=2*Y;I>=26,Y+=Z/67108864|0,Y+=V>>>26,this.words[G]=V&67108863}return Y!==0&&(this.words[G]=Y,this.length++),this},X.prototype.muln=function($){return this.clone().imuln($)},X.prototype.sqr=function(){return this.mul(this)},X.prototype.isqr=function(){return this.imul(this.clone())},X.prototype.pow=function($){var Y=E($);if(Y.length===0)return new X(1);for(var G=this,Z=0;Z=0);var Y=$%26,G=($-Y)/26,Z=67108863>>>26-Y<<26-Y,V;if(Y!==0){var I=0;for(V=0;V>>26-Y}I&&(this.words[V]=I,this.length++)}if(G!==0){for(V=this.length-1;V>=0;V--)this.words[V+G]=this.words[V];for(V=0;V=0);var Z;Y?Z=(Y-Y%26)/26:Z=0;var V=$%26,I=Math.min(($-V)/26,this.length),O=67108863^67108863>>>V<I)for(this.length-=I,Q=0;Q=0&&(K!==0||Q>=Z);Q--){var L=this.words[Q]|0;this.words[Q]=K<<26-V|L>>>V,K=L&O}return U&&K!==0&&(U.words[U.length++]=K),this.length===0&&(this.words[0]=0,this.length=1),this.strip()},X.prototype.ishrn=function($,Y,G){return F(this.negative===0),this.iushrn($,Y,G)},X.prototype.shln=function($){return this.clone().ishln($)},X.prototype.ushln=function($){return this.clone().iushln($)},X.prototype.shrn=function($){return this.clone().ishrn($)},X.prototype.ushrn=function($){return this.clone().iushrn($)},X.prototype.testn=function($){F(typeof $=="number"&&$>=0);var Y=$%26,G=($-Y)/26,Z=1<=0);var Y=$%26,G=($-Y)/26;if(F(this.negative===0,"imaskn works only with positive numbers"),this.length<=G)return this;if(Y!==0&&G++,this.length=Math.min(G,this.length),Y!==0){var Z=67108863^67108863>>>Y<=67108864;Y++)this.words[Y]-=67108864,Y===this.length-1?this.words[Y+1]=1:this.words[Y+1]++;return this.length=Math.max(this.length,Y+1),this},X.prototype.isubn=function($){if(F(typeof $=="number"),F($<67108864),$<0)return this.iaddn(-$);if(this.negative!==0)return this.negative=0,this.iaddn($),this.negative=1,this;if(this.words[0]-=$,this.length===1&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var Y=0;Y>26)-(U/67108864|0),this.words[V+G]=I&67108863}for(;V>26,this.words[V+G]=I&67108863;if(O===0)return this.strip();for(F(O===-1),O=0,V=0;V>26,this.words[V]=I&67108863;return this.negative=1,this.strip()},X.prototype._wordDiv=function($,Y){var G=this.length-$.length,Z=this.clone(),V=$,I=V.words[V.length-1]|0,O=this._countBits(I);G=26-O,G!==0&&(V=V.ushln(G),Z.iushln(G),I=V.words[V.length-1]|0);var U=Z.length-V.length,Q;if(Y!=="mod"){Q=new X(null),Q.length=U+1,Q.words=new Array(Q.length);for(var K=0;K=0;A--){var S=(Z.words[V.length+A]|0)*67108864+(Z.words[V.length+A-1]|0);for(S=Math.min(S/I|0,67108863),Z._ishlnsubmul(V,S,A);Z.negative!==0;)S--,Z.negative=0,Z._ishlnsubmul(V,1,A),Z.isZero()||(Z.negative^=1);Q&&(Q.words[A]=S)}return Q&&Q.strip(),Z.strip(),Y!=="div"&&G!==0&&Z.iushrn(G),{div:Q||null,mod:Z}},X.prototype.divmod=function($,Y,G){if(F(!$.isZero()),this.isZero())return{div:new X(0),mod:new X(0)};var Z,V,I;return this.negative!==0&&$.negative===0?(I=this.neg().divmod($,Y),Y!=="mod"&&(Z=I.div.neg()),Y!=="div"&&(V=I.mod.neg(),G&&V.negative!==0&&V.iadd($)),{div:Z,mod:V}):this.negative===0&&$.negative!==0?(I=this.divmod($.neg(),Y),Y!=="mod"&&(Z=I.div.neg()),{div:Z,mod:I.mod}):(this.negative&$.negative)!==0?(I=this.neg().divmod($.neg(),Y),Y!=="div"&&(V=I.mod.neg(),G&&V.negative!==0&&V.isub($)),{div:I.div,mod:V}):$.length>this.length||this.cmp($)<0?{div:new X(0),mod:this}:$.length===1?Y==="div"?{div:this.divn($.words[0]),mod:null}:Y==="mod"?{div:null,mod:new X(this.modn($.words[0]))}:{div:this.divn($.words[0]),mod:new X(this.modn($.words[0]))}:this._wordDiv($,Y)},X.prototype.div=function($){return this.divmod($,"div",!1).div},X.prototype.mod=function($){return this.divmod($,"mod",!1).mod},X.prototype.umod=function($){return this.divmod($,"mod",!0).mod},X.prototype.divRound=function($){var Y=this.divmod($);if(Y.mod.isZero())return Y.div;var G=Y.div.negative!==0?Y.mod.isub($):Y.mod,Z=$.ushrn(1),V=$.andln(1),I=G.cmp(Z);return I<0||V===1&&I===0?Y.div:Y.div.negative!==0?Y.div.isubn(1):Y.div.iaddn(1)},X.prototype.modn=function($){F($<=67108863);for(var Y=(1<<26)%$,G=0,Z=this.length-1;Z>=0;Z--)G=(Y*G+(this.words[Z]|0))%$;return G},X.prototype.idivn=function($){F($<=67108863);for(var Y=0,G=this.length-1;G>=0;G--){var Z=(this.words[G]|0)+Y*67108864;this.words[G]=Z/$|0,Y=Z%$}return this.strip()},X.prototype.divn=function($){return this.clone().idivn($)},X.prototype.egcd=function($){F($.negative===0),F(!$.isZero());var Y=this,G=$.clone();Y.negative!==0?Y=Y.umod($):Y=Y.clone();for(var Z=new X(1),V=new X(0),I=new X(0),O=new X(1),U=0;Y.isEven()&&G.isEven();)Y.iushrn(1),G.iushrn(1),++U;for(var Q=G.clone(),K=Y.clone();!Y.isZero();){for(var L=0,A=1;(Y.words[0]&A)===0&&L<26;++L,A<<=1);if(L>0)for(Y.iushrn(L);L-- >0;)(Z.isOdd()||V.isOdd())&&(Z.iadd(Q),V.isub(K)),Z.iushrn(1),V.iushrn(1);for(var S=0,x=1;(G.words[0]&x)===0&&S<26;++S,x<<=1);if(S>0)for(G.iushrn(S);S-- >0;)(I.isOdd()||O.isOdd())&&(I.iadd(Q),O.isub(K)),I.iushrn(1),O.iushrn(1);Y.cmp(G)>=0?(Y.isub(G),Z.isub(I),V.isub(O)):(G.isub(Y),I.isub(Z),O.isub(V))}return{a:I,b:O,gcd:G.iushln(U)}},X.prototype._invmp=function($){F($.negative===0),F(!$.isZero());var Y=this,G=$.clone();Y.negative!==0?Y=Y.umod($):Y=Y.clone();for(var Z=new X(1),V=new X(0),I=G.clone();Y.cmpn(1)>0&&G.cmpn(1)>0;){for(var O=0,U=1;(Y.words[0]&U)===0&&O<26;++O,U<<=1);if(O>0)for(Y.iushrn(O);O-- >0;)Z.isOdd()&&Z.iadd(I),Z.iushrn(1);for(var Q=0,K=1;(G.words[0]&K)===0&&Q<26;++Q,K<<=1);if(Q>0)for(G.iushrn(Q);Q-- >0;)V.isOdd()&&V.iadd(I),V.iushrn(1);Y.cmp(G)>=0?(Y.isub(G),Z.isub(V)):(G.isub(Y),V.isub(Z))}var L;return Y.cmpn(1)===0?L=Z:L=V,L.cmpn(0)<0&&L.iadd($),L},X.prototype.gcd=function($){if(this.isZero())return $.abs();if($.isZero())return this.abs();var Y=this.clone(),G=$.clone();Y.negative=0,G.negative=0;for(var Z=0;Y.isEven()&&G.isEven();Z++)Y.iushrn(1),G.iushrn(1);do{for(;Y.isEven();)Y.iushrn(1);for(;G.isEven();)G.iushrn(1);var V=Y.cmp(G);if(V<0){var I=Y;Y=G,G=I}else if(V===0||G.cmpn(1)===0)break;Y.isub(G)}while(!0);return G.iushln(Z)},X.prototype.invm=function($){return this.egcd($).a.umod($)},X.prototype.isEven=function(){return(this.words[0]&1)===0},X.prototype.isOdd=function(){return(this.words[0]&1)===1},X.prototype.andln=function($){return this.words[0]&$},X.prototype.bincn=function($){F(typeof $=="number");var Y=$%26,G=($-Y)/26,Z=1<>>26,O&=67108863,this.words[I]=O}return V!==0&&(this.words[I]=V,this.length++),this},X.prototype.isZero=function(){return this.length===1&&this.words[0]===0},X.prototype.cmpn=function($){var Y=$<0;if(this.negative!==0&&!Y)return-1;if(this.negative===0&&Y)return 1;this.strip();var G;if(this.length>1)G=1;else{Y&&($=-$),F($<=67108863,"Number is too big");var Z=this.words[0]|0;G=Z===$?0:Z<$?-1:1}return this.negative!==0?-G|0:G},X.prototype.cmp=function($){if(this.negative!==0&&$.negative===0)return-1;if(this.negative===0&&$.negative!==0)return 1;var Y=this.ucmp($);return this.negative!==0?-Y|0:Y},X.prototype.ucmp=function($){if(this.length>$.length)return 1;if(this.length<$.length)return-1;for(var Y=0,G=this.length-1;G>=0;G--){var Z=this.words[G]|0,V=$.words[G]|0;if(Z!==V){ZV&&(Y=1);break}}return Y},X.prototype.gtn=function($){return this.cmpn($)===1},X.prototype.gt=function($){return this.cmp($)===1},X.prototype.gten=function($){return this.cmpn($)>=0},X.prototype.gte=function($){return this.cmp($)>=0},X.prototype.ltn=function($){return this.cmpn($)===-1},X.prototype.lt=function($){return this.cmp($)===-1},X.prototype.lten=function($){return this.cmpn($)<=0},X.prototype.lte=function($){return this.cmp($)<=0},X.prototype.eqn=function($){return this.cmpn($)===0},X.prototype.eq=function($){return this.cmp($)===0},X.red=function($){return new p($)},X.prototype.toRed=function($){return F(!this.red,"Already a number in reduction context"),F(this.negative===0,"red works only with positives"),$.convertTo(this)._forceRed($)},X.prototype.fromRed=function(){return F(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},X.prototype._forceRed=function($){return this.red=$,this},X.prototype.forceRed=function($){return F(!this.red,"Already a number in reduction context"),this._forceRed($)},X.prototype.redAdd=function($){return F(this.red,"redAdd works only with red numbers"),this.red.add(this,$)},X.prototype.redIAdd=function($){return F(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,$)},X.prototype.redSub=function($){return F(this.red,"redSub works only with red numbers"),this.red.sub(this,$)},X.prototype.redISub=function($){return F(this.red,"redISub works only with red numbers"),this.red.isub(this,$)},X.prototype.redShl=function($){return F(this.red,"redShl works only with red numbers"),this.red.shl(this,$)},X.prototype.redMul=function($){return F(this.red,"redMul works only with red numbers"),this.red._verify2(this,$),this.red.mul(this,$)},X.prototype.redIMul=function($){return F(this.red,"redMul works only with red numbers"),this.red._verify2(this,$),this.red.imul(this,$)},X.prototype.redSqr=function(){return F(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},X.prototype.redISqr=function(){return F(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},X.prototype.redSqrt=function(){return F(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},X.prototype.redInvm=function(){return F(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},X.prototype.redNeg=function(){return F(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},X.prototype.redPow=function($){return F(this.red&&!$.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,$)};var B={k256:null,p224:null,p192:null,p25519:null};function w($,Y){this.name=$,this.p=new X(Y,16),this.n=this.p.bitLength(),this.k=new X(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}w.prototype._tmp=function(){var $=new X(null);return $.words=new Array(Math.ceil(this.n/13)),$},w.prototype.ireduce=function($){var Y=$,G;do this.split(Y,this.tmp),Y=this.imulK(Y),Y=Y.iadd(this.tmp),G=Y.bitLength();while(G>this.n);var Z=G0?Y.isub(this.p):Y.strip!==void 0?Y.strip():Y._strip(),Y},w.prototype.split=function($,Y){$.iushrn(this.n,0,Y)},w.prototype.imulK=function($){return $.imul(this.k)};function f(){w.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}P(f,w),f.prototype.split=function($,Y){for(var G=4194303,Z=Math.min($.length,9),V=0;V>>22,I=O}I>>>=22,$.words[V-10]=I,I===0&&$.length>10?$.length-=10:$.length-=9},f.prototype.imulK=function($){$.words[$.length]=0,$.words[$.length+1]=0,$.length+=2;for(var Y=0,G=0;G<$.length;G++){var Z=$.words[G]|0;Y+=Z*977,$.words[G]=Y&67108863,Y=Z*64+(Y/67108864|0)}return $.words[$.length-1]===0&&($.length--,$.words[$.length-1]===0&&$.length--),$};function b(){w.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}P(b,w);function u(){w.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}P(u,w);function Y0(){w.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}P(Y0,w),Y0.prototype.imulK=function($){for(var Y=0,G=0;G<$.length;G++){var Z=($.words[G]|0)*19+Y,V=Z&67108863;Z>>>=26,$.words[G]=V,Y=Z}return Y!==0&&($.words[$.length++]=Y),$},X._prime=function($){if(B[$])return B[$];var Y;if($==="k256")Y=new f;else if($==="p224")Y=new b;else if($==="p192")Y=new u;else if($==="p25519")Y=new Y0;else throw new Error("Unknown prime "+$);return B[$]=Y,Y};function p($){if(typeof $=="string"){var Y=X._prime($);this.m=Y.p,this.prime=Y}else F($.gtn(1),"modulus must be greater than 1"),this.m=$,this.prime=null}p.prototype._verify1=function($){F($.negative===0,"red works only with positives"),F($.red,"red works only with red numbers")},p.prototype._verify2=function($,Y){F(($.negative|Y.negative)===0,"red works only with positives"),F($.red&&$.red===Y.red,"red works only with red numbers")},p.prototype.imod=function($){return this.prime?this.prime.ireduce($)._forceRed(this):$.umod(this.m)._forceRed(this)},p.prototype.neg=function($){return $.isZero()?$.clone():this.m.sub($)._forceRed(this)},p.prototype.add=function($,Y){this._verify2($,Y);var G=$.add(Y);return G.cmp(this.m)>=0&&G.isub(this.m),G._forceRed(this)},p.prototype.iadd=function($,Y){this._verify2($,Y);var G=$.iadd(Y);return G.cmp(this.m)>=0&&G.isub(this.m),G},p.prototype.sub=function($,Y){this._verify2($,Y);var G=$.sub(Y);return G.cmpn(0)<0&&G.iadd(this.m),G._forceRed(this)},p.prototype.isub=function($,Y){this._verify2($,Y);var G=$.isub(Y);return G.cmpn(0)<0&&G.iadd(this.m),G},p.prototype.shl=function($,Y){return this._verify1($),this.imod($.ushln(Y))},p.prototype.imul=function($,Y){return this._verify2($,Y),this.imod($.imul(Y))},p.prototype.mul=function($,Y){return this._verify2($,Y),this.imod($.mul(Y))},p.prototype.isqr=function($){return this.imul($,$.clone())},p.prototype.sqr=function($){return this.mul($,$)},p.prototype.sqrt=function($){if($.isZero())return $.clone();var Y=this.m.andln(3);if(F(Y%2===1),Y===3){var G=this.m.add(new X(1)).iushrn(2);return this.pow($,G)}for(var Z=this.m.subn(1),V=0;!Z.isZero()&&Z.andln(1)===0;)V++,Z.iushrn(1);F(!Z.isZero());var I=new X(1).toRed(this),O=I.redNeg(),U=this.m.subn(1).iushrn(1),Q=this.m.bitLength();for(Q=new X(2*Q*Q).toRed(this);this.pow(Q,U).cmp(O)!==0;)Q.redIAdd(O);for(var K=this.pow(Q,Z),L=this.pow($,Z.addn(1).iushrn(1)),A=this.pow($,Z),S=V;A.cmp(I)!==0;){for(var x=A,y=0;x.cmp(I)!==0;y++)x=x.redSqr();F(y=0;V--){for(var K=Y.words[V],L=Q-1;L>=0;L--){var A=K>>L&1;if(I!==Z[0]&&(I=this.sqr(I)),A===0&&O===0){U=0;continue}O<<=1,O|=A,U++,!(U!==G&&(V!==0||L!==0))&&(I=this.mul(I,Z[O]),U=0,O=0)}Q=26}return I},p.prototype.convertTo=function($){var Y=$.umod(this.m);return Y===$?Y.clone():Y},p.prototype.convertFrom=function($){var Y=$.clone();return Y.red=null,Y},X.mont=function($){return new v0($)};function v0($){p.call(this,$),this.shift=this.m.bitLength(),this.shift%26!==0&&(this.shift+=26-this.shift%26),this.r=new X(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}P(v0,p),v0.prototype.convertTo=function($){return this.imod($.ushln(this.shift))},v0.prototype.convertFrom=function($){var Y=this.imod($.mul(this.rinv));return Y.red=null,Y},v0.prototype.imul=function($,Y){if($.isZero()||Y.isZero())return $.words[0]=0,$.length=1,$;var G=$.imul(Y),Z=G.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),V=G.isub(Z).iushrn(this.shift),I=V;return V.cmp(this.m)>=0?I=V.isub(this.m):V.cmpn(0)<0&&(I=V.iadd(this.m)),I._forceRed(this)},v0.prototype.mul=function($,Y){if($.isZero()||Y.isZero())return new X(0)._forceRed(this);var G=$.mul(Y),Z=G.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),V=G.isub(Z).iushrn(this.shift),I=V;return V.cmp(this.m)>=0?I=V.isub(this.m):V.cmpn(0)<0&&(I=V.iadd(this.m)),I._forceRed(this)},v0.prototype.invm=function($){var Y=this.imod($._invmp(this.m).mul(this.r2));return Y._forceRed(this)}})(typeof _>"u"||_,N)}}),u$=S0({"node_modules/safer-buffer/safer.js"(N,_){var j=i$,k=j0,F={},P;for(P in j)!j.hasOwnProperty(P)||P==="SlowBuffer"||P==="Buffer"||(F[P]=j[P]);var X=F.Buffer={};for(P in k)!k.hasOwnProperty(P)||P==="allocUnsafe"||P==="allocUnsafeSlow"||(X[P]=k[P]);if(F.Buffer.prototype=k.prototype,(!X.from||X.from===Uint8Array.from)&&(X.from=function(C,z,T){if(typeof C=="number")throw new TypeError('The "value" argument must not be of type number. Received type '+typeof C);if(C&&typeof C.length>"u")throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof C);return k(C,z,T)}),X.alloc||(X.alloc=function(C,z,T){if(typeof C!="number")throw new TypeError('The "size" argument must be of type number. Received type '+typeof C);if(C<0||C>=2*(1<<30))throw new RangeError('The value "'+C+'" is invalid for option "size"');var H=k(C);return!z||z.length===0?H.fill(0):typeof T=="string"?H.fill(z,T):H.fill(z),H}),!F.kStringMaxLength)try{F.kStringMaxLength=nQ}catch{}F.constants||(F.constants={MAX_LENGTH:F.kMaxLength},F.kStringMaxLength&&(F.constants.MAX_STRING_LENGTH=F.kStringMaxLength)),_.exports=F}}),n$=S0({"node_modules/asn1.js/lib/asn1/base/reporter.js"(N){var _=B0();function j(F){this._reporterState={obj:null,path:[],options:F||{},errors:[]}}N.Reporter=j,j.prototype.isError=function(F){return F instanceof k},j.prototype.save=function(){let F=this._reporterState;return{obj:F.obj,pathLen:F.path.length}},j.prototype.restore=function(F){let P=this._reporterState;P.obj=F.obj,P.path=P.path.slice(0,F.pathLen)},j.prototype.enterKey=function(F){return this._reporterState.path.push(F)},j.prototype.exitKey=function(F){let P=this._reporterState;P.path=P.path.slice(0,F-1)},j.prototype.leaveKey=function(F,P,X){let C=this._reporterState;this.exitKey(F),C.obj!==null&&(C.obj[P]=X)},j.prototype.path=function(){return this._reporterState.path.join("/")},j.prototype.enterObject=function(){let F=this._reporterState,P=F.obj;return F.obj={},P},j.prototype.leaveObject=function(F){let P=this._reporterState,X=P.obj;return P.obj=F,X},j.prototype.error=function(F){let P,X=this._reporterState,C=F instanceof k;if(C?P=F:P=new k(X.path.map(function(z){return"["+JSON.stringify(z)+"]"}).join(""),F.message||F,F.stack),!X.options.partial)throw P;return C||X.errors.push(P),P},j.prototype.wrapResult=function(F){let P=this._reporterState;return P.options.partial?{result:this.isError(F)?null:F,errors:P.errors}:F};function k(F,P){this.path=F,this.rethrow(P)}_(k,Error),k.prototype.rethrow=function(F){if(this.message=F+" at: "+(this.path||"(shallow)"),Error.captureStackTrace&&Error.captureStackTrace(this,k),!this.stack)try{throw new Error(this.message)}catch(P){this.stack=P.stack}return this}}}),z$=S0({"node_modules/asn1.js/lib/asn1/base/buffer.js"(N){var _=B0(),j=n$().Reporter,k=u$().Buffer;function F(X,C){if(j.call(this,C),!k.isBuffer(X)){this.error("Input not Buffer");return}this.base=X,this.offset=0,this.length=X.length}_(F,j),N.DecoderBuffer=F,F.isDecoderBuffer=function(X){return X instanceof F?!0:typeof X=="object"&&k.isBuffer(X.base)&&X.constructor.name==="DecoderBuffer"&&typeof X.offset=="number"&&typeof X.length=="number"&&typeof X.save=="function"&&typeof X.restore=="function"&&typeof X.isEmpty=="function"&&typeof X.readUInt8=="function"&&typeof X.skip=="function"&&typeof X.raw=="function"},F.prototype.save=function(){return{offset:this.offset,reporter:j.prototype.save.call(this)}},F.prototype.restore=function(X){let C=new F(this.base);return C.offset=X.offset,C.length=this.offset,this.offset=X.offset,j.prototype.restore.call(this,X.reporter),C},F.prototype.isEmpty=function(){return this.offset===this.length},F.prototype.readUInt8=function(X){return this.offset+1<=this.length?this.base.readUInt8(this.offset++,!0):this.error(X||"DecoderBuffer overrun")},F.prototype.skip=function(X,C){if(!(this.offset+X<=this.length))return this.error(C||"DecoderBuffer overrun");let z=new F(this.base);return z._reporterState=this._reporterState,z.offset=this.offset,z.length=this.offset+X,this.offset+=X,z},F.prototype.raw=function(X){return this.base.slice(X?X.offset:this.offset,this.length)};function P(X,C){if(Array.isArray(X))this.length=0,this.value=X.map(function(z){return P.isEncoderBuffer(z)||(z=new P(z,C)),this.length+=z.length,z},this);else if(typeof X=="number"){if(!(0<=X&&X<=255))return C.error("non-byte EncoderBuffer value");this.value=X,this.length=1}else if(typeof X=="string")this.value=X,this.length=k.byteLength(X);else if(k.isBuffer(X))this.value=X,this.length=X.length;else return C.error("Unsupported type: "+typeof X)}N.EncoderBuffer=P,P.isEncoderBuffer=function(X){return X instanceof P?!0:typeof X=="object"&&X.constructor.name==="EncoderBuffer"&&typeof X.length=="number"&&typeof X.join=="function"},P.prototype.join=function(X,C){return X||(X=k.alloc(this.length)),C||(C=0),this.length===0||(Array.isArray(this.value)?this.value.forEach(function(z){z.join(X,C),C+=z.length}):(typeof this.value=="number"?X[C]=this.value:typeof this.value=="string"?X.write(this.value,C):k.isBuffer(this.value)&&this.value.copy(X,C),C+=this.length)),X}}}),s$=S0({"node_modules/asn1.js/lib/asn1/base/node.js"(N,_){var j=n$().Reporter,k=z$().EncoderBuffer,F=z$().DecoderBuffer,P=H$(),X=["seq","seqof","set","setof","objid","bool","gentime","utctime","null_","enum","int","objDesc","bitstr","bmpstr","charstr","genstr","graphstr","ia5str","iso646str","numstr","octstr","printstr","t61str","unistr","utf8str","videostr"],C=["key","obj","use","optional","explicit","implicit","def","choice","any","contains"].concat(X),z=["_peekTag","_decodeTag","_use","_decodeStr","_decodeObjid","_decodeTime","_decodeNull","_decodeInt","_decodeBool","_decodeList","_encodeComposite","_encodeStr","_encodeObjid","_encodeTime","_encodeNull","_encodeInt","_encodeBool"];function T(J,W,D){let E={};this._baseState=E,E.name=D,E.enc=J,E.parent=W||null,E.children=null,E.tag=null,E.args=null,E.reverseArgs=null,E.choice=null,E.optional=!1,E.any=!1,E.obj=!1,E.use=null,E.useDecoder=null,E.key=null,E.default=null,E.explicit=null,E.implicit=null,E.contains=null,E.parent||(E.children=[],this._wrap())}_.exports=T;var H=["enc","parent","children","tag","args","reverseArgs","choice","optional","any","obj","use","alteredUse","key","default","explicit","implicit","contains"];T.prototype.clone=function(){let J=this._baseState,W={};H.forEach(function(E){W[E]=J[E]});let D=new this.constructor(W.parent);return D._baseState=W,D},T.prototype._wrap=function(){let J=this._baseState;C.forEach(function(W){this[W]=function(){let D=new this.constructor(this);return J.children.push(D),D[W].apply(D,arguments)}},this)},T.prototype._init=function(J){let W=this._baseState;P(W.parent===null),J.call(this),W.children=W.children.filter(function(D){return D._baseState.parent===this},this),P.equal(W.children.length,1,"Root node can have only one child")},T.prototype._useArgs=function(J){let W=this._baseState,D=J.filter(function(E){return E instanceof this.constructor},this);J=J.filter(function(E){return!(E instanceof this.constructor)},this),D.length!==0&&(P(W.children===null),W.children=D,D.forEach(function(E){E._baseState.parent=this},this)),J.length!==0&&(P(W.args===null),W.args=J,W.reverseArgs=J.map(function(E){if(typeof E!="object"||E.constructor!==Object)return E;let R={};return Object.keys(E).forEach(function(M){M==(M|0)&&(M|=0);let v=E[M];R[v]=M}),R}))},z.forEach(function(J){T.prototype[J]=function(){let W=this._baseState;throw new Error(J+" not implemented for encoding: "+W.enc)}}),X.forEach(function(J){T.prototype[J]=function(){let W=this._baseState,D=Array.prototype.slice.call(arguments);return P(W.tag===null),W.tag=J,this._useArgs(D),this}}),T.prototype.use=function(J){P(J);let W=this._baseState;return P(W.use===null),W.use=J,this},T.prototype.optional=function(){let J=this._baseState;return J.optional=!0,this},T.prototype.def=function(J){let W=this._baseState;return P(W.default===null),W.default=J,W.optional=!0,this},T.prototype.explicit=function(J){let W=this._baseState;return P(W.explicit===null&&W.implicit===null),W.explicit=J,this},T.prototype.implicit=function(J){let W=this._baseState;return P(W.explicit===null&&W.implicit===null),W.implicit=J,this},T.prototype.obj=function(){let J=this._baseState,W=Array.prototype.slice.call(arguments);return J.obj=!0,W.length!==0&&this._useArgs(W),this},T.prototype.key=function(J){let W=this._baseState;return P(W.key===null),W.key=J,this},T.prototype.any=function(){let J=this._baseState;return J.any=!0,this},T.prototype.choice=function(J){let W=this._baseState;return P(W.choice===null),W.choice=J,this._useArgs(Object.keys(J).map(function(D){return J[D]})),this},T.prototype.contains=function(J){let W=this._baseState;return P(W.use===null),W.contains=J,this},T.prototype._decode=function(J,W){let D=this._baseState;if(D.parent===null)return J.wrapResult(D.children[0]._decode(J,W));let E=D.default,R=!0,M=null;if(D.key!==null&&(M=J.enterKey(D.key)),D.optional){let q=null;if(D.explicit!==null?q=D.explicit:D.implicit!==null?q=D.implicit:D.tag!==null&&(q=D.tag),q===null&&!D.any){let g=J.save();try{D.choice===null?this._decodeGeneric(D.tag,J,W):this._decodeChoice(J,W),R=!0}catch{R=!1}J.restore(g)}else if(R=this._peekTag(J,q,D.any),J.isError(R))return R}let v;if(D.obj&&R&&(v=J.enterObject()),R){if(D.explicit!==null){let g=this._decodeTag(J,D.explicit);if(J.isError(g))return g;J=g}let q=J.offset;if(D.use===null&&D.choice===null){let g;D.any&&(g=J.save());let B=this._decodeTag(J,D.implicit!==null?D.implicit:D.tag,D.any);if(J.isError(B))return B;D.any?E=J.raw(g):J=B}if(W&&W.track&&D.tag!==null&&W.track(J.path(),q,J.length,"tagged"),W&&W.track&&D.tag!==null&&W.track(J.path(),J.offset,J.length,"content"),D.any||(D.choice===null?E=this._decodeGeneric(D.tag,J,W):E=this._decodeChoice(J,W)),J.isError(E))return E;if(!D.any&&D.choice===null&&D.children!==null&&D.children.forEach(function(g){g._decode(J,W)}),D.contains&&(D.tag==="octstr"||D.tag==="bitstr")){let g=new F(E);E=this._getUse(D.contains,J._reporterState.obj)._decode(g,W)}}return D.obj&&R&&(E=J.leaveObject(v)),D.key!==null&&(E!==null||R===!0)?J.leaveKey(M,D.key,E):M!==null&&J.exitKey(M),E},T.prototype._decodeGeneric=function(J,W,D){let E=this._baseState;return J==="seq"||J==="set"?null:J==="seqof"||J==="setof"?this._decodeList(W,J,E.args[0],D):/str$/.test(J)?this._decodeStr(W,J,D):J==="objid"&&E.args?this._decodeObjid(W,E.args[0],E.args[1],D):J==="objid"?this._decodeObjid(W,null,null,D):J==="gentime"||J==="utctime"?this._decodeTime(W,J,D):J==="null_"?this._decodeNull(W,D):J==="bool"?this._decodeBool(W,D):J==="objDesc"?this._decodeStr(W,J,D):J==="int"||J==="enum"?this._decodeInt(W,E.args&&E.args[0],D):E.use!==null?this._getUse(E.use,W._reporterState.obj)._decode(W,D):W.error("unknown tag: "+J)},T.prototype._getUse=function(J,W){let D=this._baseState;return D.useDecoder=this._use(J,W),P(D.useDecoder._baseState.parent===null),D.useDecoder=D.useDecoder._baseState.children[0],D.implicit!==D.useDecoder._baseState.implicit&&(D.useDecoder=D.useDecoder.clone(),D.useDecoder._baseState.implicit=D.implicit),D.useDecoder},T.prototype._decodeChoice=function(J,W){let D=this._baseState,E=null,R=!1;return Object.keys(D.choice).some(function(M){let v=J.save(),q=D.choice[M];try{let g=q._decode(J,W);if(J.isError(g))return!1;E={type:M,value:g},R=!0}catch{return J.restore(v),!1}return!0},this),R?E:J.error("Choice not matched")},T.prototype._createEncoderBuffer=function(J){return new k(J,this.reporter)},T.prototype._encode=function(J,W,D){let E=this._baseState;if(E.default!==null&&E.default===J)return;let R=this._encodeValue(J,W,D);if(R!==void 0&&!this._skipDefault(R,W,D))return R},T.prototype._encodeValue=function(J,W,D){let E=this._baseState;if(E.parent===null)return E.children[0]._encode(J,W||new j);let R=null;if(this.reporter=W,E.optional&&J===void 0)if(E.default!==null)J=E.default;else return;let M=null,v=!1;if(E.any)R=this._createEncoderBuffer(J);else if(E.choice)R=this._encodeChoice(J,W);else if(E.contains)M=this._getUse(E.contains,D)._encode(J,W),v=!0;else if(E.children)M=E.children.map(function(q){if(q._baseState.tag==="null_")return q._encode(null,W,J);if(q._baseState.key===null)return W.error("Child should have a key");let g=W.enterKey(q._baseState.key);if(typeof J!="object")return W.error("Child expected, but input is not object");let B=q._encode(J[q._baseState.key],W,J);return W.leaveKey(g),B},this).filter(function(q){return q}),M=this._createEncoderBuffer(M);else if(E.tag==="seqof"||E.tag==="setof"){if(!(E.args&&E.args.length===1))return W.error("Too many args for : "+E.tag);if(!Array.isArray(J))return W.error("seqof/setof, but data is not Array");let q=this.clone();q._baseState.implicit=null,M=this._createEncoderBuffer(J.map(function(g){let B=this._baseState;return this._getUse(B.args[0],J)._encode(g,W)},q))}else E.use!==null?R=this._getUse(E.use,D)._encode(J,W):(M=this._encodePrimitive(E.tag,J),v=!0);if(!E.any&&E.choice===null){let q=E.implicit!==null?E.implicit:E.tag,g=E.implicit===null?"universal":"context";q===null?E.use===null&&W.error("Tag could be omitted only for .use()"):E.use===null&&(R=this._encodeComposite(q,v,g,M))}return E.explicit!==null&&(R=this._encodeComposite(E.explicit,!1,"context",R)),R},T.prototype._encodeChoice=function(J,W){let D=this._baseState,E=D.choice[J.type];return E||P(!1,J.type+" not found in "+JSON.stringify(Object.keys(D.choice))),E._encode(J.value,W)},T.prototype._encodePrimitive=function(J,W){let D=this._baseState;if(/str$/.test(J))return this._encodeStr(W,J);if(J==="objid"&&D.args)return this._encodeObjid(W,D.reverseArgs[0],D.args[1]);if(J==="objid")return this._encodeObjid(W,null,null);if(J==="gentime"||J==="utctime")return this._encodeTime(W,J);if(J==="null_")return this._encodeNull();if(J==="int"||J==="enum")return this._encodeInt(W,D.args&&D.reverseArgs[0]);if(J==="bool")return this._encodeBool(W);if(J==="objDesc")return this._encodeStr(W,J);throw new Error("Unsupported tag: "+J)},T.prototype._isNumstr=function(J){return/^[0-9 ]*$/.test(J)},T.prototype._isPrintstr=function(J){return/^[A-Za-z0-9 '()+,-./:=?]*$/.test(J)}}}),t$=S0({"node_modules/asn1.js/lib/asn1/constants/der.js"(N){function _(j){let k={};return Object.keys(j).forEach(function(F){(F|0)==F&&(F=F|0);let P=j[F];k[P]=F}),k}N.tagClass={0:"universal",1:"application",2:"context",3:"private"},N.tagClassByName=_(N.tagClass),N.tag={0:"end",1:"bool",2:"int",3:"bitstr",4:"octstr",5:"null_",6:"objid",7:"objDesc",8:"external",9:"real",10:"enum",11:"embed",12:"utf8str",13:"relativeOid",16:"seq",17:"set",18:"numstr",19:"printstr",20:"t61str",21:"videostr",22:"ia5str",23:"utctime",24:"gentime",25:"graphstr",26:"iso646str",27:"genstr",28:"unistr",29:"charstr",30:"bmpstr"},N.tagByName=_(N.tag)}}),_Q=S0({"node_modules/asn1.js/lib/asn1/encoders/der.js"(N,_){var j=B0(),k=u$().Buffer,F=s$(),P=t$();function X(H){this.enc="der",this.name=H.name,this.entity=H,this.tree=new C,this.tree._init(H.body)}_.exports=X,X.prototype.encode=function(H,J){return this.tree._encode(H,J).join()};function C(H){F.call(this,"der",H)}j(C,F),C.prototype._encodeComposite=function(H,J,W,D){let E=T(H,J,W,this.reporter);if(D.length<128){let v=k.alloc(2);return v[0]=E,v[1]=D.length,this._createEncoderBuffer([v,D])}let R=1;for(let v=D.length;v>=256;v>>=8)R++;let M=k.alloc(2+R);M[0]=E,M[1]=128|R;for(let v=1+R,q=D.length;q>0;v--,q>>=8)M[v]=q&255;return this._createEncoderBuffer([M,D])},C.prototype._encodeStr=function(H,J){if(J==="bitstr")return this._createEncoderBuffer([H.unused|0,H.data]);if(J==="bmpstr"){let W=k.alloc(H.length*2);for(let D=0;D=40)return this.reporter.error("Second objid identifier OOB");H.splice(0,2,H[0]*40+H[1])}let D=0;for(let M=0;M=128;v>>=7)D++}let E=k.alloc(D),R=E.length-1;for(let M=H.length-1;M>=0;M--){let v=H[M];for(E[R--]=v&127;(v>>=7)>0;)E[R--]=128|v&127}return this._createEncoderBuffer(E)};function z(H){return H<10?"0"+H:H}C.prototype._encodeTime=function(H,J){let W,D=new Date(H);return J==="gentime"?W=[z(D.getUTCFullYear()),z(D.getUTCMonth()+1),z(D.getUTCDate()),z(D.getUTCHours()),z(D.getUTCMinutes()),z(D.getUTCSeconds()),"Z"].join(""):J==="utctime"?W=[z(D.getUTCFullYear()%100),z(D.getUTCMonth()+1),z(D.getUTCDate()),z(D.getUTCHours()),z(D.getUTCMinutes()),z(D.getUTCSeconds()),"Z"].join(""):this.reporter.error("Encoding "+J+" time is not supported yet"),this._encodeStr(W,"octstr")},C.prototype._encodeNull=function(){return this._createEncoderBuffer("")},C.prototype._encodeInt=function(H,J){if(typeof H=="string"){if(!J)return this.reporter.error("String int or enum given, but no values map");if(!J.hasOwnProperty(H))return this.reporter.error("Values map doesn't contain: "+JSON.stringify(H));H=J[H]}if(typeof H!="number"&&!k.isBuffer(H)){let E=H.toArray();!H.sign&&E[0]&128&&E.unshift(0),H=k.from(E)}if(k.isBuffer(H)){let E=H.length;H.length===0&&E++;let R=k.alloc(E);return H.copy(R),H.length===0&&(R[0]=0),this._createEncoderBuffer(R)}if(H<128)return this._createEncoderBuffer(H);if(H<256)return this._createEncoderBuffer([0,H]);let W=1;for(let E=H;E>=256;E>>=8)W++;let D=new Array(W);for(let E=D.length-1;E>=0;E--)D[E]=H&255,H>>=8;return D[0]&128&&D.unshift(0),this._createEncoderBuffer(k.from(D))},C.prototype._encodeBool=function(H){return this._createEncoderBuffer(H?255:0)},C.prototype._use=function(H,J){return typeof H=="function"&&(H=H(J)),H._getEncoder("der").tree},C.prototype._skipDefault=function(H,J,W){let D=this._baseState,E;if(D.default===null)return!1;let R=H.join();if(D.defaultBuffer===void 0&&(D.defaultBuffer=this._encodeValue(D.default,J,W).join()),R.length!==D.defaultBuffer.length)return!1;for(E=0;E=31?D.error("Multi-octet tag encoding unsupported"):(J||(E|=32),E|=P.tagClassByName[W||"universal"]<<6,E)}}}),hY=S0({"node_modules/asn1.js/lib/asn1/encoders/pem.js"(N,_){var j=B0(),k=_Q();function F(P){k.call(this,P),this.enc="pem"}j(F,k),_.exports=F,F.prototype.encode=function(P,X){let C=k.prototype.encode.call(this,P).toString("base64"),z=["-----BEGIN "+X.label+"-----"];for(let T=0;T>6],R=(D&32)===0;if((D&31)===31){let v=D;for(D=0;(v&128)===128;){if(v=J.readUInt8(W),J.isError(v))return v;D<<=7,D|=v&127}}else D&=31;let M=X.tag[D];return{cls:E,primitive:R,tag:D,tagStr:M}}function H(J,W,D){let E=J.readUInt8(D);if(J.isError(E))return E;if(!W&&E===128)return null;if((E&128)===0)return E;let R=E&127;if(R>4)return J.error("length octect is too long");E=0;for(let M=0;M0&&B.ishrn(w),B}function R(q,g){q=E(q,g),q=q.mod(g);var B=j.from(q.toArray());if(B.length=W)throw new Error("invalid sig")}_.exports=C}}),eY=S0({"node_modules/browserify-sign/browser/index.js"(N,_){var j=N0().Buffer,k=M$(),F=B0(),P=mY(),X=aY(),C=OQ();Object.keys(C).forEach(function(W){C[W].id=j.from(C[W].id,"hex"),C[W.toLowerCase()]=C[W]});function z(W){A$.Writable.call(this);var D=C[W];if(!D)throw new Error("Unknown message digest");this._hashType=D.hash,this._hash=k(D.hash),this._tag=D.id,this._signType=D.sign}F(z,A$.Writable),z.prototype._write=function(W,D,E){this._hash.update(W),E()},z.prototype.update=function(W,D){return typeof W=="string"&&(W=j.from(W,D)),this._hash.update(W),this},z.prototype.sign=function(W,D){this.end();var E=this._hash.digest(),R=P(E,W,this._hashType,this._signType,this._tag);return D?R.toString(D):R};function T(W){A$.Writable.call(this);var D=C[W];if(!D)throw new Error("Unknown message digest");this._hash=k(D.hash),this._tag=D.id,this._signType=D.sign}F(T,A$.Writable),T.prototype._write=function(W,D,E){this._hash.update(W),E()},T.prototype.update=function(W,D){return typeof W=="string"&&(W=j.from(W,D)),this._hash.update(W),this},T.prototype.verify=function(W,D,E){typeof D=="string"&&(D=j.from(D,E)),this.end();var R=this._hash.digest();return X(D,R,W,this._signType,this._tag)};function H(W){return new z(W)}function J(W){return new T(W)}_.exports={Sign:H,Verify:J,createSign:H,createVerify:J}}}),rY=S0({"node_modules/create-ecdh/node_modules/bn.js/lib/bn.js"(N,_){(function(j,k){function F($,Y){if(!$)throw new Error(Y||"Assertion failed")}function P($,Y){$.super_=Y;var G=function(){};G.prototype=Y.prototype,$.prototype=new G,$.prototype.constructor=$}function X($,Y,G){if(X.isBN($))return $;this.negative=0,this.words=null,this.length=0,this.red=null,$!==null&&((Y==="le"||Y==="be")&&(G=Y,Y=10),this._init($||0,Y||10,G||"be"))}typeof j=="object"?j.exports=X:k.BN=X,X.BN=X,X.wordSize=26;var C=j0;X.isBN=function($){return $ instanceof X?!0:$!==null&&typeof $=="object"&&$.constructor.wordSize===X.wordSize&&Array.isArray($.words)},X.max=function($,Y){return $.cmp(Y)>0?$:Y},X.min=function($,Y){return $.cmp(Y)<0?$:Y},X.prototype._init=function($,Y,G){if(typeof $=="number")return this._initNumber($,Y,G);if(typeof $=="object")return this._initArray($,Y,G);Y==="hex"&&(Y=16),F(Y===(Y|0)&&Y>=2&&Y<=36),$=$.toString().replace(/\s+/g,"");var Z=0;$[0]==="-"&&(Z++,this.negative=1),Z<$.length&&(Y===16?this._parseHex($,Z,G):(this._parseBase($,Y,Z),G==="le"&&this._initArray(this.toArray(),Y,G)))},X.prototype._initNumber=function($,Y,G){$<0&&(this.negative=1,$=-$),$<67108864?(this.words=[$&67108863],this.length=1):$<4503599627370496?(this.words=[$&67108863,$/67108864&67108863],this.length=2):(F($<9007199254740992),this.words=[$&67108863,$/67108864&67108863,1],this.length=3),G==="le"&&this._initArray(this.toArray(),Y,G)},X.prototype._initArray=function($,Y,G){if(F(typeof $.length=="number"),$.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil($.length/3),this.words=new Array(this.length);for(var Z=0;Z=0;Z-=3)I=$[Z]|$[Z-1]<<8|$[Z-2]<<16,this.words[V]|=I<>>26-O&67108863,O+=24,O>=26&&(O-=26,V++);else if(G==="le")for(Z=0,V=0;Z<$.length;Z+=3)I=$[Z]|$[Z+1]<<8|$[Z+2]<<16,this.words[V]|=I<>>26-O&67108863,O+=24,O>=26&&(O-=26,V++);return this.strip()};function z($,Y){var G=$.charCodeAt(Y);return G>=65&&G<=70?G-55:G>=97&&G<=102?G-87:G-48&15}function T($,Y,G){var Z=z($,G);return G-1>=Y&&(Z|=z($,G-1)<<4),Z}X.prototype._parseHex=function($,Y,G){this.length=Math.ceil(($.length-Y)/6),this.words=new Array(this.length);for(var Z=0;Z=Y;Z-=2)O=T($,Y,Z)<=18?(V-=18,I+=1,this.words[I]|=O>>>26):V+=8;else{var U=$.length-Y;for(Z=U%2===0?Y+1:Y;Z<$.length;Z+=2)O=T($,Y,Z)<=18?(V-=18,I+=1,this.words[I]|=O>>>26):V+=8}this.strip()};function H($,Y,G,Z){for(var V=0,I=Math.min($.length,G),O=Y;O=49?V+=U-49+10:U>=17?V+=U-17+10:V+=U}return V}X.prototype._parseBase=function($,Y,G){this.words=[0],this.length=1;for(var Z=0,V=1;V<=67108863;V*=Y)Z++;Z--,V=V/Y|0;for(var I=$.length-G,O=I%Z,U=Math.min(I,I-O)+G,Q=0,K=G;K1&&this.words[this.length-1]===0;)this.length--;return this._normSign()},X.prototype._normSign=function(){return this.length===1&&this.words[0]===0&&(this.negative=0),this},X.prototype.inspect=function(){return(this.red?""};var J=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],W=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],D=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64000000,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,24300000,28629151,33554432,39135393,45435424,52521875,60466176];X.prototype.toString=function($,Y){$=$||10,Y=Y|0||1;var G;if($===16||$==="hex"){G="";for(var Z=0,V=0,I=0;I>>24-Z&16777215,V!==0||I!==this.length-1?G=J[6-U.length]+U+G:G=U+G,Z+=2,Z>=26&&(Z-=26,I--)}for(V!==0&&(G=V.toString(16)+G);G.length%Y!==0;)G="0"+G;return this.negative!==0&&(G="-"+G),G}if($===($|0)&&$>=2&&$<=36){var Q=W[$],K=D[$];G="";var L=this.clone();for(L.negative=0;!L.isZero();){var A=L.modn(K).toString($);L=L.idivn(K),L.isZero()?G=A+G:G=J[Q-A.length]+A+G}for(this.isZero()&&(G="0"+G);G.length%Y!==0;)G="0"+G;return this.negative!==0&&(G="-"+G),G}F(!1,"Base should be between 2 and 36")},X.prototype.toNumber=function(){var $=this.words[0];return this.length===2?$+=this.words[1]*67108864:this.length===3&&this.words[2]===1?$+=4503599627370496+this.words[1]*67108864:this.length>2&&F(!1,"Number can only safely store up to 53 bits"),this.negative!==0?-$:$},X.prototype.toJSON=function(){return this.toString(16)},X.prototype.toBuffer=function($,Y){return F(typeof C<"u"),this.toArrayLike(C,$,Y)},X.prototype.toArray=function($,Y){return this.toArrayLike(Array,$,Y)},X.prototype.toArrayLike=function($,Y,G){var Z=this.byteLength(),V=G||Math.max(1,Z);F(Z<=V,"byte array longer than desired length"),F(V>0,"Requested array length <= 0"),this.strip();var I=Y==="le",O=new $(V),U,Q,K=this.clone();if(I){for(Q=0;!K.isZero();Q++)U=K.andln(255),K.iushrn(8),O[Q]=U;for(;Q=4096&&(G+=13,Y>>>=13),Y>=64&&(G+=7,Y>>>=7),Y>=8&&(G+=4,Y>>>=4),Y>=2&&(G+=2,Y>>>=2),G+Y},X.prototype._zeroBits=function($){if($===0)return 26;var Y=$,G=0;return(Y&8191)===0&&(G+=13,Y>>>=13),(Y&127)===0&&(G+=7,Y>>>=7),(Y&15)===0&&(G+=4,Y>>>=4),(Y&3)===0&&(G+=2,Y>>>=2),(Y&1)===0&&G++,G},X.prototype.bitLength=function(){var $=this.words[this.length-1],Y=this._countBits($);return(this.length-1)*26+Y};function E($){for(var Y=new Array($.bitLength()),G=0;G>>V}return Y}X.prototype.zeroBits=function(){if(this.isZero())return 0;for(var $=0,Y=0;Y$.length?this.clone().ior($):$.clone().ior(this)},X.prototype.uor=function($){return this.length>$.length?this.clone().iuor($):$.clone().iuor(this)},X.prototype.iuand=function($){var Y;this.length>$.length?Y=$:Y=this;for(var G=0;G$.length?this.clone().iand($):$.clone().iand(this)},X.prototype.uand=function($){return this.length>$.length?this.clone().iuand($):$.clone().iuand(this)},X.prototype.iuxor=function($){var Y,G;this.length>$.length?(Y=this,G=$):(Y=$,G=this);for(var Z=0;Z$.length?this.clone().ixor($):$.clone().ixor(this)},X.prototype.uxor=function($){return this.length>$.length?this.clone().iuxor($):$.clone().iuxor(this)},X.prototype.inotn=function($){F(typeof $=="number"&&$>=0);var Y=Math.ceil($/26)|0,G=$%26;this._expand(Y),G>0&&Y--;for(var Z=0;Z0&&(this.words[Z]=~this.words[Z]&67108863>>26-G),this.strip()},X.prototype.notn=function($){return this.clone().inotn($)},X.prototype.setn=function($,Y){F(typeof $=="number"&&$>=0);var G=$/26|0,Z=$%26;return this._expand(G+1),Y?this.words[G]=this.words[G]|1<$.length?(G=this,Z=$):(G=$,Z=this);for(var V=0,I=0;I>>26;for(;V!==0&&I>>26;if(this.length=G.length,V!==0)this.words[this.length]=V,this.length++;else if(G!==this)for(;I$.length?this.clone().iadd($):$.clone().iadd(this)},X.prototype.isub=function($){if($.negative!==0){$.negative=0;var Y=this.iadd($);return $.negative=1,Y._normSign()}else if(this.negative!==0)return this.negative=0,this.iadd($),this.negative=1,this._normSign();var G=this.cmp($);if(G===0)return this.negative=0,this.length=1,this.words[0]=0,this;var Z,V;G>0?(Z=this,V=$):(Z=$,V=this);for(var I=0,O=0;O>26,this.words[O]=Y&67108863;for(;I!==0&&O>26,this.words[O]=Y&67108863;if(I===0&&O>>26,A=Q&67108863,S=Math.min(K,Y.length-1),x=Math.max(0,K-$.length+1);x<=S;x++){var y=K-x|0;V=$.words[y]|0,I=Y.words[x]|0,O=V*I+A,L+=O/67108864|0,A=O&67108863}G.words[K]=A|0,Q=L|0}return Q!==0?G.words[K]=Q|0:G.length--,G.strip()}var M=function($,Y,G){var Z=$.words,V=Y.words,I=G.words,O=0,U,Q,K,L=Z[0]|0,A=L&8191,S=L>>>13,x=Z[1]|0,y=x&8191,c=x>>>13,q0=Z[2]|0,h=q0&8191,d=q0>>>13,_0=Z[3]|0,l=_0&8191,n=_0>>>13,y0=Z[4]|0,t=y0&8191,s=y0>>>13,w0=Z[5]|0,m=w0&8191,r=w0>>>13,$$=Z[6]|0,i=$$&8191,e=$$>>>13,x0=Z[7]|0,o=x0&8191,a=x0>>>13,p0=Z[8]|0,$0=p0&8191,Q0=p0>>>13,Y$=Z[9]|0,Z0=Y$&8191,G0=Y$>>>13,Z$=V[0]|0,V0=Z$&8191,U0=Z$>>>13,G$=V[1]|0,X0=G$&8191,K0=G$>>>13,V$=V[2]|0,I0=V$&8191,O0=V$>>>13,U$=V[3]|0,J0=U$&8191,F0=U$>>>13,X$=V[4]|0,A0=X$&8191,W0=X$>>>13,K$=V[5]|0,H0=K$&8191,E0=K$>>>13,I$=V[6]|0,T0=I$&8191,D0=I$>>>13,O$=V[7]|0,C0=O$&8191,L0=O$>>>13,J$=V[8]|0,R0=J$&8191,z0=J$>>>13,F$=V[9]|0,P0=F$&8191,M0=F$>>>13;G.negative=$.negative^Y.negative,G.length=19,U=Math.imul(A,V0),Q=Math.imul(A,U0),Q=Q+Math.imul(S,V0)|0,K=Math.imul(S,U0);var Q$=(O+U|0)+((Q&8191)<<13)|0;O=(K+(Q>>>13)|0)+(Q$>>>26)|0,Q$&=67108863,U=Math.imul(y,V0),Q=Math.imul(y,U0),Q=Q+Math.imul(c,V0)|0,K=Math.imul(c,U0),U=U+Math.imul(A,X0)|0,Q=Q+Math.imul(A,K0)|0,Q=Q+Math.imul(S,X0)|0,K=K+Math.imul(S,K0)|0;var k0=(O+U|0)+((Q&8191)<<13)|0;O=(K+(Q>>>13)|0)+(k0>>>26)|0,k0&=67108863,U=Math.imul(h,V0),Q=Math.imul(h,U0),Q=Q+Math.imul(d,V0)|0,K=Math.imul(d,U0),U=U+Math.imul(y,X0)|0,Q=Q+Math.imul(y,K0)|0,Q=Q+Math.imul(c,X0)|0,K=K+Math.imul(c,K0)|0,U=U+Math.imul(A,I0)|0,Q=Q+Math.imul(A,O0)|0,Q=Q+Math.imul(S,I0)|0,K=K+Math.imul(S,O0)|0;var g0=(O+U|0)+((Q&8191)<<13)|0;O=(K+(Q>>>13)|0)+(g0>>>26)|0,g0&=67108863,U=Math.imul(l,V0),Q=Math.imul(l,U0),Q=Q+Math.imul(n,V0)|0,K=Math.imul(n,U0),U=U+Math.imul(h,X0)|0,Q=Q+Math.imul(h,K0)|0,Q=Q+Math.imul(d,X0)|0,K=K+Math.imul(d,K0)|0,U=U+Math.imul(y,I0)|0,Q=Q+Math.imul(y,O0)|0,Q=Q+Math.imul(c,I0)|0,K=K+Math.imul(c,O0)|0,U=U+Math.imul(A,J0)|0,Q=Q+Math.imul(A,F0)|0,Q=Q+Math.imul(S,J0)|0,K=K+Math.imul(S,F0)|0;var f0=(O+U|0)+((Q&8191)<<13)|0;O=(K+(Q>>>13)|0)+(f0>>>26)|0,f0&=67108863,U=Math.imul(t,V0),Q=Math.imul(t,U0),Q=Q+Math.imul(s,V0)|0,K=Math.imul(s,U0),U=U+Math.imul(l,X0)|0,Q=Q+Math.imul(l,K0)|0,Q=Q+Math.imul(n,X0)|0,K=K+Math.imul(n,K0)|0,U=U+Math.imul(h,I0)|0,Q=Q+Math.imul(h,O0)|0,Q=Q+Math.imul(d,I0)|0,K=K+Math.imul(d,O0)|0,U=U+Math.imul(y,J0)|0,Q=Q+Math.imul(y,F0)|0,Q=Q+Math.imul(c,J0)|0,K=K+Math.imul(c,F0)|0,U=U+Math.imul(A,A0)|0,Q=Q+Math.imul(A,W0)|0,Q=Q+Math.imul(S,A0)|0,K=K+Math.imul(S,W0)|0;var c0=(O+U|0)+((Q&8191)<<13)|0;O=(K+(Q>>>13)|0)+(c0>>>26)|0,c0&=67108863,U=Math.imul(m,V0),Q=Math.imul(m,U0),Q=Q+Math.imul(r,V0)|0,K=Math.imul(r,U0),U=U+Math.imul(t,X0)|0,Q=Q+Math.imul(t,K0)|0,Q=Q+Math.imul(s,X0)|0,K=K+Math.imul(s,K0)|0,U=U+Math.imul(l,I0)|0,Q=Q+Math.imul(l,O0)|0,Q=Q+Math.imul(n,I0)|0,K=K+Math.imul(n,O0)|0,U=U+Math.imul(h,J0)|0,Q=Q+Math.imul(h,F0)|0,Q=Q+Math.imul(d,J0)|0,K=K+Math.imul(d,F0)|0,U=U+Math.imul(y,A0)|0,Q=Q+Math.imul(y,W0)|0,Q=Q+Math.imul(c,A0)|0,K=K+Math.imul(c,W0)|0,U=U+Math.imul(A,H0)|0,Q=Q+Math.imul(A,E0)|0,Q=Q+Math.imul(S,H0)|0,K=K+Math.imul(S,E0)|0;var h0=(O+U|0)+((Q&8191)<<13)|0;O=(K+(Q>>>13)|0)+(h0>>>26)|0,h0&=67108863,U=Math.imul(i,V0),Q=Math.imul(i,U0),Q=Q+Math.imul(e,V0)|0,K=Math.imul(e,U0),U=U+Math.imul(m,X0)|0,Q=Q+Math.imul(m,K0)|0,Q=Q+Math.imul(r,X0)|0,K=K+Math.imul(r,K0)|0,U=U+Math.imul(t,I0)|0,Q=Q+Math.imul(t,O0)|0,Q=Q+Math.imul(s,I0)|0,K=K+Math.imul(s,O0)|0,U=U+Math.imul(l,J0)|0,Q=Q+Math.imul(l,F0)|0,Q=Q+Math.imul(n,J0)|0,K=K+Math.imul(n,F0)|0,U=U+Math.imul(h,A0)|0,Q=Q+Math.imul(h,W0)|0,Q=Q+Math.imul(d,A0)|0,K=K+Math.imul(d,W0)|0,U=U+Math.imul(y,H0)|0,Q=Q+Math.imul(y,E0)|0,Q=Q+Math.imul(c,H0)|0,K=K+Math.imul(c,E0)|0,U=U+Math.imul(A,T0)|0,Q=Q+Math.imul(A,D0)|0,Q=Q+Math.imul(S,T0)|0,K=K+Math.imul(S,D0)|0;var d0=(O+U|0)+((Q&8191)<<13)|0;O=(K+(Q>>>13)|0)+(d0>>>26)|0,d0&=67108863,U=Math.imul(o,V0),Q=Math.imul(o,U0),Q=Q+Math.imul(a,V0)|0,K=Math.imul(a,U0),U=U+Math.imul(i,X0)|0,Q=Q+Math.imul(i,K0)|0,Q=Q+Math.imul(e,X0)|0,K=K+Math.imul(e,K0)|0,U=U+Math.imul(m,I0)|0,Q=Q+Math.imul(m,O0)|0,Q=Q+Math.imul(r,I0)|0,K=K+Math.imul(r,O0)|0,U=U+Math.imul(t,J0)|0,Q=Q+Math.imul(t,F0)|0,Q=Q+Math.imul(s,J0)|0,K=K+Math.imul(s,F0)|0,U=U+Math.imul(l,A0)|0,Q=Q+Math.imul(l,W0)|0,Q=Q+Math.imul(n,A0)|0,K=K+Math.imul(n,W0)|0,U=U+Math.imul(h,H0)|0,Q=Q+Math.imul(h,E0)|0,Q=Q+Math.imul(d,H0)|0,K=K+Math.imul(d,E0)|0,U=U+Math.imul(y,T0)|0,Q=Q+Math.imul(y,D0)|0,Q=Q+Math.imul(c,T0)|0,K=K+Math.imul(c,D0)|0,U=U+Math.imul(A,C0)|0,Q=Q+Math.imul(A,L0)|0,Q=Q+Math.imul(S,C0)|0,K=K+Math.imul(S,L0)|0;var b0=(O+U|0)+((Q&8191)<<13)|0;O=(K+(Q>>>13)|0)+(b0>>>26)|0,b0&=67108863,U=Math.imul($0,V0),Q=Math.imul($0,U0),Q=Q+Math.imul(Q0,V0)|0,K=Math.imul(Q0,U0),U=U+Math.imul(o,X0)|0,Q=Q+Math.imul(o,K0)|0,Q=Q+Math.imul(a,X0)|0,K=K+Math.imul(a,K0)|0,U=U+Math.imul(i,I0)|0,Q=Q+Math.imul(i,O0)|0,Q=Q+Math.imul(e,I0)|0,K=K+Math.imul(e,O0)|0,U=U+Math.imul(m,J0)|0,Q=Q+Math.imul(m,F0)|0,Q=Q+Math.imul(r,J0)|0,K=K+Math.imul(r,F0)|0,U=U+Math.imul(t,A0)|0,Q=Q+Math.imul(t,W0)|0,Q=Q+Math.imul(s,A0)|0,K=K+Math.imul(s,W0)|0,U=U+Math.imul(l,H0)|0,Q=Q+Math.imul(l,E0)|0,Q=Q+Math.imul(n,H0)|0,K=K+Math.imul(n,E0)|0,U=U+Math.imul(h,T0)|0,Q=Q+Math.imul(h,D0)|0,Q=Q+Math.imul(d,T0)|0,K=K+Math.imul(d,D0)|0,U=U+Math.imul(y,C0)|0,Q=Q+Math.imul(y,L0)|0,Q=Q+Math.imul(c,C0)|0,K=K+Math.imul(c,L0)|0,U=U+Math.imul(A,R0)|0,Q=Q+Math.imul(A,z0)|0,Q=Q+Math.imul(S,R0)|0,K=K+Math.imul(S,z0)|0;var l0=(O+U|0)+((Q&8191)<<13)|0;O=(K+(Q>>>13)|0)+(l0>>>26)|0,l0&=67108863,U=Math.imul(Z0,V0),Q=Math.imul(Z0,U0),Q=Q+Math.imul(G0,V0)|0,K=Math.imul(G0,U0),U=U+Math.imul($0,X0)|0,Q=Q+Math.imul($0,K0)|0,Q=Q+Math.imul(Q0,X0)|0,K=K+Math.imul(Q0,K0)|0,U=U+Math.imul(o,I0)|0,Q=Q+Math.imul(o,O0)|0,Q=Q+Math.imul(a,I0)|0,K=K+Math.imul(a,O0)|0,U=U+Math.imul(i,J0)|0,Q=Q+Math.imul(i,F0)|0,Q=Q+Math.imul(e,J0)|0,K=K+Math.imul(e,F0)|0,U=U+Math.imul(m,A0)|0,Q=Q+Math.imul(m,W0)|0,Q=Q+Math.imul(r,A0)|0,K=K+Math.imul(r,W0)|0,U=U+Math.imul(t,H0)|0,Q=Q+Math.imul(t,E0)|0,Q=Q+Math.imul(s,H0)|0,K=K+Math.imul(s,E0)|0,U=U+Math.imul(l,T0)|0,Q=Q+Math.imul(l,D0)|0,Q=Q+Math.imul(n,T0)|0,K=K+Math.imul(n,D0)|0,U=U+Math.imul(h,C0)|0,Q=Q+Math.imul(h,L0)|0,Q=Q+Math.imul(d,C0)|0,K=K+Math.imul(d,L0)|0,U=U+Math.imul(y,R0)|0,Q=Q+Math.imul(y,z0)|0,Q=Q+Math.imul(c,R0)|0,K=K+Math.imul(c,z0)|0,U=U+Math.imul(A,P0)|0,Q=Q+Math.imul(A,M0)|0,Q=Q+Math.imul(S,P0)|0,K=K+Math.imul(S,M0)|0;var o0=(O+U|0)+((Q&8191)<<13)|0;O=(K+(Q>>>13)|0)+(o0>>>26)|0,o0&=67108863,U=Math.imul(Z0,X0),Q=Math.imul(Z0,K0),Q=Q+Math.imul(G0,X0)|0,K=Math.imul(G0,K0),U=U+Math.imul($0,I0)|0,Q=Q+Math.imul($0,O0)|0,Q=Q+Math.imul(Q0,I0)|0,K=K+Math.imul(Q0,O0)|0,U=U+Math.imul(o,J0)|0,Q=Q+Math.imul(o,F0)|0,Q=Q+Math.imul(a,J0)|0,K=K+Math.imul(a,F0)|0,U=U+Math.imul(i,A0)|0,Q=Q+Math.imul(i,W0)|0,Q=Q+Math.imul(e,A0)|0,K=K+Math.imul(e,W0)|0,U=U+Math.imul(m,H0)|0,Q=Q+Math.imul(m,E0)|0,Q=Q+Math.imul(r,H0)|0,K=K+Math.imul(r,E0)|0,U=U+Math.imul(t,T0)|0,Q=Q+Math.imul(t,D0)|0,Q=Q+Math.imul(s,T0)|0,K=K+Math.imul(s,D0)|0,U=U+Math.imul(l,C0)|0,Q=Q+Math.imul(l,L0)|0,Q=Q+Math.imul(n,C0)|0,K=K+Math.imul(n,L0)|0,U=U+Math.imul(h,R0)|0,Q=Q+Math.imul(h,z0)|0,Q=Q+Math.imul(d,R0)|0,K=K+Math.imul(d,z0)|0,U=U+Math.imul(y,P0)|0,Q=Q+Math.imul(y,M0)|0,Q=Q+Math.imul(c,P0)|0,K=K+Math.imul(c,M0)|0;var u0=(O+U|0)+((Q&8191)<<13)|0;O=(K+(Q>>>13)|0)+(u0>>>26)|0,u0&=67108863,U=Math.imul(Z0,I0),Q=Math.imul(Z0,O0),Q=Q+Math.imul(G0,I0)|0,K=Math.imul(G0,O0),U=U+Math.imul($0,J0)|0,Q=Q+Math.imul($0,F0)|0,Q=Q+Math.imul(Q0,J0)|0,K=K+Math.imul(Q0,F0)|0,U=U+Math.imul(o,A0)|0,Q=Q+Math.imul(o,W0)|0,Q=Q+Math.imul(a,A0)|0,K=K+Math.imul(a,W0)|0,U=U+Math.imul(i,H0)|0,Q=Q+Math.imul(i,E0)|0,Q=Q+Math.imul(e,H0)|0,K=K+Math.imul(e,E0)|0,U=U+Math.imul(m,T0)|0,Q=Q+Math.imul(m,D0)|0,Q=Q+Math.imul(r,T0)|0,K=K+Math.imul(r,D0)|0,U=U+Math.imul(t,C0)|0,Q=Q+Math.imul(t,L0)|0,Q=Q+Math.imul(s,C0)|0,K=K+Math.imul(s,L0)|0,U=U+Math.imul(l,R0)|0,Q=Q+Math.imul(l,z0)|0,Q=Q+Math.imul(n,R0)|0,K=K+Math.imul(n,z0)|0,U=U+Math.imul(h,P0)|0,Q=Q+Math.imul(h,M0)|0,Q=Q+Math.imul(d,P0)|0,K=K+Math.imul(d,M0)|0;var n0=(O+U|0)+((Q&8191)<<13)|0;O=(K+(Q>>>13)|0)+(n0>>>26)|0,n0&=67108863,U=Math.imul(Z0,J0),Q=Math.imul(Z0,F0),Q=Q+Math.imul(G0,J0)|0,K=Math.imul(G0,F0),U=U+Math.imul($0,A0)|0,Q=Q+Math.imul($0,W0)|0,Q=Q+Math.imul(Q0,A0)|0,K=K+Math.imul(Q0,W0)|0,U=U+Math.imul(o,H0)|0,Q=Q+Math.imul(o,E0)|0,Q=Q+Math.imul(a,H0)|0,K=K+Math.imul(a,E0)|0,U=U+Math.imul(i,T0)|0,Q=Q+Math.imul(i,D0)|0,Q=Q+Math.imul(e,T0)|0,K=K+Math.imul(e,D0)|0,U=U+Math.imul(m,C0)|0,Q=Q+Math.imul(m,L0)|0,Q=Q+Math.imul(r,C0)|0,K=K+Math.imul(r,L0)|0,U=U+Math.imul(t,R0)|0,Q=Q+Math.imul(t,z0)|0,Q=Q+Math.imul(s,R0)|0,K=K+Math.imul(s,z0)|0,U=U+Math.imul(l,P0)|0,Q=Q+Math.imul(l,M0)|0,Q=Q+Math.imul(n,P0)|0,K=K+Math.imul(n,M0)|0;var s0=(O+U|0)+((Q&8191)<<13)|0;O=(K+(Q>>>13)|0)+(s0>>>26)|0,s0&=67108863,U=Math.imul(Z0,A0),Q=Math.imul(Z0,W0),Q=Q+Math.imul(G0,A0)|0,K=Math.imul(G0,W0),U=U+Math.imul($0,H0)|0,Q=Q+Math.imul($0,E0)|0,Q=Q+Math.imul(Q0,H0)|0,K=K+Math.imul(Q0,E0)|0,U=U+Math.imul(o,T0)|0,Q=Q+Math.imul(o,D0)|0,Q=Q+Math.imul(a,T0)|0,K=K+Math.imul(a,D0)|0,U=U+Math.imul(i,C0)|0,Q=Q+Math.imul(i,L0)|0,Q=Q+Math.imul(e,C0)|0,K=K+Math.imul(e,L0)|0,U=U+Math.imul(m,R0)|0,Q=Q+Math.imul(m,z0)|0,Q=Q+Math.imul(r,R0)|0,K=K+Math.imul(r,z0)|0,U=U+Math.imul(t,P0)|0,Q=Q+Math.imul(t,M0)|0,Q=Q+Math.imul(s,P0)|0,K=K+Math.imul(s,M0)|0;var t0=(O+U|0)+((Q&8191)<<13)|0;O=(K+(Q>>>13)|0)+(t0>>>26)|0,t0&=67108863,U=Math.imul(Z0,H0),Q=Math.imul(Z0,E0),Q=Q+Math.imul(G0,H0)|0,K=Math.imul(G0,E0),U=U+Math.imul($0,T0)|0,Q=Q+Math.imul($0,D0)|0,Q=Q+Math.imul(Q0,T0)|0,K=K+Math.imul(Q0,D0)|0,U=U+Math.imul(o,C0)|0,Q=Q+Math.imul(o,L0)|0,Q=Q+Math.imul(a,C0)|0,K=K+Math.imul(a,L0)|0,U=U+Math.imul(i,R0)|0,Q=Q+Math.imul(i,z0)|0,Q=Q+Math.imul(e,R0)|0,K=K+Math.imul(e,z0)|0,U=U+Math.imul(m,P0)|0,Q=Q+Math.imul(m,M0)|0,Q=Q+Math.imul(r,P0)|0,K=K+Math.imul(r,M0)|0;var m0=(O+U|0)+((Q&8191)<<13)|0;O=(K+(Q>>>13)|0)+(m0>>>26)|0,m0&=67108863,U=Math.imul(Z0,T0),Q=Math.imul(Z0,D0),Q=Q+Math.imul(G0,T0)|0,K=Math.imul(G0,D0),U=U+Math.imul($0,C0)|0,Q=Q+Math.imul($0,L0)|0,Q=Q+Math.imul(Q0,C0)|0,K=K+Math.imul(Q0,L0)|0,U=U+Math.imul(o,R0)|0,Q=Q+Math.imul(o,z0)|0,Q=Q+Math.imul(a,R0)|0,K=K+Math.imul(a,z0)|0,U=U+Math.imul(i,P0)|0,Q=Q+Math.imul(i,M0)|0,Q=Q+Math.imul(e,P0)|0,K=K+Math.imul(e,M0)|0;var a0=(O+U|0)+((Q&8191)<<13)|0;O=(K+(Q>>>13)|0)+(a0>>>26)|0,a0&=67108863,U=Math.imul(Z0,C0),Q=Math.imul(Z0,L0),Q=Q+Math.imul(G0,C0)|0,K=Math.imul(G0,L0),U=U+Math.imul($0,R0)|0,Q=Q+Math.imul($0,z0)|0,Q=Q+Math.imul(Q0,R0)|0,K=K+Math.imul(Q0,z0)|0,U=U+Math.imul(o,P0)|0,Q=Q+Math.imul(o,M0)|0,Q=Q+Math.imul(a,P0)|0,K=K+Math.imul(a,M0)|0;var e0=(O+U|0)+((Q&8191)<<13)|0;O=(K+(Q>>>13)|0)+(e0>>>26)|0,e0&=67108863,U=Math.imul(Z0,R0),Q=Math.imul(Z0,z0),Q=Q+Math.imul(G0,R0)|0,K=Math.imul(G0,z0),U=U+Math.imul($0,P0)|0,Q=Q+Math.imul($0,M0)|0,Q=Q+Math.imul(Q0,P0)|0,K=K+Math.imul(Q0,M0)|0;var r0=(O+U|0)+((Q&8191)<<13)|0;O=(K+(Q>>>13)|0)+(r0>>>26)|0,r0&=67108863,U=Math.imul(Z0,P0),Q=Math.imul(Z0,M0),Q=Q+Math.imul(G0,P0)|0,K=Math.imul(G0,M0);var i0=(O+U|0)+((Q&8191)<<13)|0;return O=(K+(Q>>>13)|0)+(i0>>>26)|0,i0&=67108863,I[0]=Q$,I[1]=k0,I[2]=g0,I[3]=f0,I[4]=c0,I[5]=h0,I[6]=d0,I[7]=b0,I[8]=l0,I[9]=o0,I[10]=u0,I[11]=n0,I[12]=s0,I[13]=t0,I[14]=m0,I[15]=a0,I[16]=e0,I[17]=r0,I[18]=i0,O!==0&&(I[19]=O,G.length++),G};Math.imul||(M=R);function v($,Y,G){G.negative=Y.negative^$.negative,G.length=$.length+Y.length;for(var Z=0,V=0,I=0;I>>26)|0,V+=O>>>26,O&=67108863}G.words[I]=U,Z=O,O=V}return Z!==0?G.words[I]=Z:G.length--,G.strip()}function q($,Y,G){var Z=new g;return Z.mulp($,Y,G)}X.prototype.mulTo=function($,Y){var G,Z=this.length+$.length;return this.length===10&&$.length===10?G=M(this,$,Y):Z<63?G=R(this,$,Y):Z<1024?G=v(this,$,Y):G=q(this,$,Y),G};function g($,Y){this.x=$,this.y=Y}g.prototype.makeRBT=function($){for(var Y=new Array($),G=X.prototype._countBits($)-1,Z=0;Z<$;Z++)Y[Z]=this.revBin(Z,G,$);return Y},g.prototype.revBin=function($,Y,G){if($===0||$===G-1)return $;for(var Z=0,V=0;V>=1;return Z},g.prototype.permute=function($,Y,G,Z,V,I){for(var O=0;O>>1)V++;return 1<>>13,G[2*I+1]=V&8191,V=V>>>13;for(I=2*Y;I>=26,Y+=Z/67108864|0,Y+=V>>>26,this.words[G]=V&67108863}return Y!==0&&(this.words[G]=Y,this.length++),this},X.prototype.muln=function($){return this.clone().imuln($)},X.prototype.sqr=function(){return this.mul(this)},X.prototype.isqr=function(){return this.imul(this.clone())},X.prototype.pow=function($){var Y=E($);if(Y.length===0)return new X(1);for(var G=this,Z=0;Z=0);var Y=$%26,G=($-Y)/26,Z=67108863>>>26-Y<<26-Y,V;if(Y!==0){var I=0;for(V=0;V>>26-Y}I&&(this.words[V]=I,this.length++)}if(G!==0){for(V=this.length-1;V>=0;V--)this.words[V+G]=this.words[V];for(V=0;V=0);var Z;Y?Z=(Y-Y%26)/26:Z=0;var V=$%26,I=Math.min(($-V)/26,this.length),O=67108863^67108863>>>V<I)for(this.length-=I,Q=0;Q=0&&(K!==0||Q>=Z);Q--){var L=this.words[Q]|0;this.words[Q]=K<<26-V|L>>>V,K=L&O}return U&&K!==0&&(U.words[U.length++]=K),this.length===0&&(this.words[0]=0,this.length=1),this.strip()},X.prototype.ishrn=function($,Y,G){return F(this.negative===0),this.iushrn($,Y,G)},X.prototype.shln=function($){return this.clone().ishln($)},X.prototype.ushln=function($){return this.clone().iushln($)},X.prototype.shrn=function($){return this.clone().ishrn($)},X.prototype.ushrn=function($){return this.clone().iushrn($)},X.prototype.testn=function($){F(typeof $=="number"&&$>=0);var Y=$%26,G=($-Y)/26,Z=1<=0);var Y=$%26,G=($-Y)/26;if(F(this.negative===0,"imaskn works only with positive numbers"),this.length<=G)return this;if(Y!==0&&G++,this.length=Math.min(G,this.length),Y!==0){var Z=67108863^67108863>>>Y<=67108864;Y++)this.words[Y]-=67108864,Y===this.length-1?this.words[Y+1]=1:this.words[Y+1]++;return this.length=Math.max(this.length,Y+1),this},X.prototype.isubn=function($){if(F(typeof $=="number"),F($<67108864),$<0)return this.iaddn(-$);if(this.negative!==0)return this.negative=0,this.iaddn($),this.negative=1,this;if(this.words[0]-=$,this.length===1&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var Y=0;Y>26)-(U/67108864|0),this.words[V+G]=I&67108863}for(;V>26,this.words[V+G]=I&67108863;if(O===0)return this.strip();for(F(O===-1),O=0,V=0;V>26,this.words[V]=I&67108863;return this.negative=1,this.strip()},X.prototype._wordDiv=function($,Y){var G=this.length-$.length,Z=this.clone(),V=$,I=V.words[V.length-1]|0,O=this._countBits(I);G=26-O,G!==0&&(V=V.ushln(G),Z.iushln(G),I=V.words[V.length-1]|0);var U=Z.length-V.length,Q;if(Y!=="mod"){Q=new X(null),Q.length=U+1,Q.words=new Array(Q.length);for(var K=0;K=0;A--){var S=(Z.words[V.length+A]|0)*67108864+(Z.words[V.length+A-1]|0);for(S=Math.min(S/I|0,67108863),Z._ishlnsubmul(V,S,A);Z.negative!==0;)S--,Z.negative=0,Z._ishlnsubmul(V,1,A),Z.isZero()||(Z.negative^=1);Q&&(Q.words[A]=S)}return Q&&Q.strip(),Z.strip(),Y!=="div"&&G!==0&&Z.iushrn(G),{div:Q||null,mod:Z}},X.prototype.divmod=function($,Y,G){if(F(!$.isZero()),this.isZero())return{div:new X(0),mod:new X(0)};var Z,V,I;return this.negative!==0&&$.negative===0?(I=this.neg().divmod($,Y),Y!=="mod"&&(Z=I.div.neg()),Y!=="div"&&(V=I.mod.neg(),G&&V.negative!==0&&V.iadd($)),{div:Z,mod:V}):this.negative===0&&$.negative!==0?(I=this.divmod($.neg(),Y),Y!=="mod"&&(Z=I.div.neg()),{div:Z,mod:I.mod}):(this.negative&$.negative)!==0?(I=this.neg().divmod($.neg(),Y),Y!=="div"&&(V=I.mod.neg(),G&&V.negative!==0&&V.isub($)),{div:I.div,mod:V}):$.length>this.length||this.cmp($)<0?{div:new X(0),mod:this}:$.length===1?Y==="div"?{div:this.divn($.words[0]),mod:null}:Y==="mod"?{div:null,mod:new X(this.modn($.words[0]))}:{div:this.divn($.words[0]),mod:new X(this.modn($.words[0]))}:this._wordDiv($,Y)},X.prototype.div=function($){return this.divmod($,"div",!1).div},X.prototype.mod=function($){return this.divmod($,"mod",!1).mod},X.prototype.umod=function($){return this.divmod($,"mod",!0).mod},X.prototype.divRound=function($){var Y=this.divmod($);if(Y.mod.isZero())return Y.div;var G=Y.div.negative!==0?Y.mod.isub($):Y.mod,Z=$.ushrn(1),V=$.andln(1),I=G.cmp(Z);return I<0||V===1&&I===0?Y.div:Y.div.negative!==0?Y.div.isubn(1):Y.div.iaddn(1)},X.prototype.modn=function($){F($<=67108863);for(var Y=(1<<26)%$,G=0,Z=this.length-1;Z>=0;Z--)G=(Y*G+(this.words[Z]|0))%$;return G},X.prototype.idivn=function($){F($<=67108863);for(var Y=0,G=this.length-1;G>=0;G--){var Z=(this.words[G]|0)+Y*67108864;this.words[G]=Z/$|0,Y=Z%$}return this.strip()},X.prototype.divn=function($){return this.clone().idivn($)},X.prototype.egcd=function($){F($.negative===0),F(!$.isZero());var Y=this,G=$.clone();Y.negative!==0?Y=Y.umod($):Y=Y.clone();for(var Z=new X(1),V=new X(0),I=new X(0),O=new X(1),U=0;Y.isEven()&&G.isEven();)Y.iushrn(1),G.iushrn(1),++U;for(var Q=G.clone(),K=Y.clone();!Y.isZero();){for(var L=0,A=1;(Y.words[0]&A)===0&&L<26;++L,A<<=1);if(L>0)for(Y.iushrn(L);L-- >0;)(Z.isOdd()||V.isOdd())&&(Z.iadd(Q),V.isub(K)),Z.iushrn(1),V.iushrn(1);for(var S=0,x=1;(G.words[0]&x)===0&&S<26;++S,x<<=1);if(S>0)for(G.iushrn(S);S-- >0;)(I.isOdd()||O.isOdd())&&(I.iadd(Q),O.isub(K)),I.iushrn(1),O.iushrn(1);Y.cmp(G)>=0?(Y.isub(G),Z.isub(I),V.isub(O)):(G.isub(Y),I.isub(Z),O.isub(V))}return{a:I,b:O,gcd:G.iushln(U)}},X.prototype._invmp=function($){F($.negative===0),F(!$.isZero());var Y=this,G=$.clone();Y.negative!==0?Y=Y.umod($):Y=Y.clone();for(var Z=new X(1),V=new X(0),I=G.clone();Y.cmpn(1)>0&&G.cmpn(1)>0;){for(var O=0,U=1;(Y.words[0]&U)===0&&O<26;++O,U<<=1);if(O>0)for(Y.iushrn(O);O-- >0;)Z.isOdd()&&Z.iadd(I),Z.iushrn(1);for(var Q=0,K=1;(G.words[0]&K)===0&&Q<26;++Q,K<<=1);if(Q>0)for(G.iushrn(Q);Q-- >0;)V.isOdd()&&V.iadd(I),V.iushrn(1);Y.cmp(G)>=0?(Y.isub(G),Z.isub(V)):(G.isub(Y),V.isub(Z))}var L;return Y.cmpn(1)===0?L=Z:L=V,L.cmpn(0)<0&&L.iadd($),L},X.prototype.gcd=function($){if(this.isZero())return $.abs();if($.isZero())return this.abs();var Y=this.clone(),G=$.clone();Y.negative=0,G.negative=0;for(var Z=0;Y.isEven()&&G.isEven();Z++)Y.iushrn(1),G.iushrn(1);do{for(;Y.isEven();)Y.iushrn(1);for(;G.isEven();)G.iushrn(1);var V=Y.cmp(G);if(V<0){var I=Y;Y=G,G=I}else if(V===0||G.cmpn(1)===0)break;Y.isub(G)}while(!0);return G.iushln(Z)},X.prototype.invm=function($){return this.egcd($).a.umod($)},X.prototype.isEven=function(){return(this.words[0]&1)===0},X.prototype.isOdd=function(){return(this.words[0]&1)===1},X.prototype.andln=function($){return this.words[0]&$},X.prototype.bincn=function($){F(typeof $=="number");var Y=$%26,G=($-Y)/26,Z=1<>>26,O&=67108863,this.words[I]=O}return V!==0&&(this.words[I]=V,this.length++),this},X.prototype.isZero=function(){return this.length===1&&this.words[0]===0},X.prototype.cmpn=function($){var Y=$<0;if(this.negative!==0&&!Y)return-1;if(this.negative===0&&Y)return 1;this.strip();var G;if(this.length>1)G=1;else{Y&&($=-$),F($<=67108863,"Number is too big");var Z=this.words[0]|0;G=Z===$?0:Z<$?-1:1}return this.negative!==0?-G|0:G},X.prototype.cmp=function($){if(this.negative!==0&&$.negative===0)return-1;if(this.negative===0&&$.negative!==0)return 1;var Y=this.ucmp($);return this.negative!==0?-Y|0:Y},X.prototype.ucmp=function($){if(this.length>$.length)return 1;if(this.length<$.length)return-1;for(var Y=0,G=this.length-1;G>=0;G--){var Z=this.words[G]|0,V=$.words[G]|0;if(Z!==V){ZV&&(Y=1);break}}return Y},X.prototype.gtn=function($){return this.cmpn($)===1},X.prototype.gt=function($){return this.cmp($)===1},X.prototype.gten=function($){return this.cmpn($)>=0},X.prototype.gte=function($){return this.cmp($)>=0},X.prototype.ltn=function($){return this.cmpn($)===-1},X.prototype.lt=function($){return this.cmp($)===-1},X.prototype.lten=function($){return this.cmpn($)<=0},X.prototype.lte=function($){return this.cmp($)<=0},X.prototype.eqn=function($){return this.cmpn($)===0},X.prototype.eq=function($){return this.cmp($)===0},X.red=function($){return new p($)},X.prototype.toRed=function($){return F(!this.red,"Already a number in reduction context"),F(this.negative===0,"red works only with positives"),$.convertTo(this)._forceRed($)},X.prototype.fromRed=function(){return F(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},X.prototype._forceRed=function($){return this.red=$,this},X.prototype.forceRed=function($){return F(!this.red,"Already a number in reduction context"),this._forceRed($)},X.prototype.redAdd=function($){return F(this.red,"redAdd works only with red numbers"),this.red.add(this,$)},X.prototype.redIAdd=function($){return F(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,$)},X.prototype.redSub=function($){return F(this.red,"redSub works only with red numbers"),this.red.sub(this,$)},X.prototype.redISub=function($){return F(this.red,"redISub works only with red numbers"),this.red.isub(this,$)},X.prototype.redShl=function($){return F(this.red,"redShl works only with red numbers"),this.red.shl(this,$)},X.prototype.redMul=function($){return F(this.red,"redMul works only with red numbers"),this.red._verify2(this,$),this.red.mul(this,$)},X.prototype.redIMul=function($){return F(this.red,"redMul works only with red numbers"),this.red._verify2(this,$),this.red.imul(this,$)},X.prototype.redSqr=function(){return F(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},X.prototype.redISqr=function(){return F(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},X.prototype.redSqrt=function(){return F(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},X.prototype.redInvm=function(){return F(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},X.prototype.redNeg=function(){return F(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},X.prototype.redPow=function($){return F(this.red&&!$.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,$)};var B={k256:null,p224:null,p192:null,p25519:null};function w($,Y){this.name=$,this.p=new X(Y,16),this.n=this.p.bitLength(),this.k=new X(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}w.prototype._tmp=function(){var $=new X(null);return $.words=new Array(Math.ceil(this.n/13)),$},w.prototype.ireduce=function($){var Y=$,G;do this.split(Y,this.tmp),Y=this.imulK(Y),Y=Y.iadd(this.tmp),G=Y.bitLength();while(G>this.n);var Z=G0?Y.isub(this.p):Y.strip!==void 0?Y.strip():Y._strip(),Y},w.prototype.split=function($,Y){$.iushrn(this.n,0,Y)},w.prototype.imulK=function($){return $.imul(this.k)};function f(){w.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}P(f,w),f.prototype.split=function($,Y){for(var G=4194303,Z=Math.min($.length,9),V=0;V>>22,I=O}I>>>=22,$.words[V-10]=I,I===0&&$.length>10?$.length-=10:$.length-=9},f.prototype.imulK=function($){$.words[$.length]=0,$.words[$.length+1]=0,$.length+=2;for(var Y=0,G=0;G<$.length;G++){var Z=$.words[G]|0;Y+=Z*977,$.words[G]=Y&67108863,Y=Z*64+(Y/67108864|0)}return $.words[$.length-1]===0&&($.length--,$.words[$.length-1]===0&&$.length--),$};function b(){w.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}P(b,w);function u(){w.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}P(u,w);function Y0(){w.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}P(Y0,w),Y0.prototype.imulK=function($){for(var Y=0,G=0;G<$.length;G++){var Z=($.words[G]|0)*19+Y,V=Z&67108863;Z>>>=26,$.words[G]=V,Y=Z}return Y!==0&&($.words[$.length++]=Y),$},X._prime=function($){if(B[$])return B[$];var Y;if($==="k256")Y=new f;else if($==="p224")Y=new b;else if($==="p192")Y=new u;else if($==="p25519")Y=new Y0;else throw new Error("Unknown prime "+$);return B[$]=Y,Y};function p($){if(typeof $=="string"){var Y=X._prime($);this.m=Y.p,this.prime=Y}else F($.gtn(1),"modulus must be greater than 1"),this.m=$,this.prime=null}p.prototype._verify1=function($){F($.negative===0,"red works only with positives"),F($.red,"red works only with red numbers")},p.prototype._verify2=function($,Y){F(($.negative|Y.negative)===0,"red works only with positives"),F($.red&&$.red===Y.red,"red works only with red numbers")},p.prototype.imod=function($){return this.prime?this.prime.ireduce($)._forceRed(this):$.umod(this.m)._forceRed(this)},p.prototype.neg=function($){return $.isZero()?$.clone():this.m.sub($)._forceRed(this)},p.prototype.add=function($,Y){this._verify2($,Y);var G=$.add(Y);return G.cmp(this.m)>=0&&G.isub(this.m),G._forceRed(this)},p.prototype.iadd=function($,Y){this._verify2($,Y);var G=$.iadd(Y);return G.cmp(this.m)>=0&&G.isub(this.m),G},p.prototype.sub=function($,Y){this._verify2($,Y);var G=$.sub(Y);return G.cmpn(0)<0&&G.iadd(this.m),G._forceRed(this)},p.prototype.isub=function($,Y){this._verify2($,Y);var G=$.isub(Y);return G.cmpn(0)<0&&G.iadd(this.m),G},p.prototype.shl=function($,Y){return this._verify1($),this.imod($.ushln(Y))},p.prototype.imul=function($,Y){return this._verify2($,Y),this.imod($.imul(Y))},p.prototype.mul=function($,Y){return this._verify2($,Y),this.imod($.mul(Y))},p.prototype.isqr=function($){return this.imul($,$.clone())},p.prototype.sqr=function($){return this.mul($,$)},p.prototype.sqrt=function($){if($.isZero())return $.clone();var Y=this.m.andln(3);if(F(Y%2===1),Y===3){var G=this.m.add(new X(1)).iushrn(2);return this.pow($,G)}for(var Z=this.m.subn(1),V=0;!Z.isZero()&&Z.andln(1)===0;)V++,Z.iushrn(1);F(!Z.isZero());var I=new X(1).toRed(this),O=I.redNeg(),U=this.m.subn(1).iushrn(1),Q=this.m.bitLength();for(Q=new X(2*Q*Q).toRed(this);this.pow(Q,U).cmp(O)!==0;)Q.redIAdd(O);for(var K=this.pow(Q,Z),L=this.pow($,Z.addn(1).iushrn(1)),A=this.pow($,Z),S=V;A.cmp(I)!==0;){for(var x=A,y=0;x.cmp(I)!==0;y++)x=x.redSqr();F(y=0;V--){for(var K=Y.words[V],L=Q-1;L>=0;L--){var A=K>>L&1;if(I!==Z[0]&&(I=this.sqr(I)),A===0&&O===0){U=0;continue}O<<=1,O|=A,U++,!(U!==G&&(V!==0||L!==0))&&(I=this.mul(I,Z[O]),U=0,O=0)}Q=26}return I},p.prototype.convertTo=function($){var Y=$.umod(this.m);return Y===$?Y.clone():Y},p.prototype.convertFrom=function($){var Y=$.clone();return Y.red=null,Y},X.mont=function($){return new v0($)};function v0($){p.call(this,$),this.shift=this.m.bitLength(),this.shift%26!==0&&(this.shift+=26-this.shift%26),this.r=new X(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}P(v0,p),v0.prototype.convertTo=function($){return this.imod($.ushln(this.shift))},v0.prototype.convertFrom=function($){var Y=this.imod($.mul(this.rinv));return Y.red=null,Y},v0.prototype.imul=function($,Y){if($.isZero()||Y.isZero())return $.words[0]=0,$.length=1,$;var G=$.imul(Y),Z=G.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),V=G.isub(Z).iushrn(this.shift),I=V;return V.cmp(this.m)>=0?I=V.isub(this.m):V.cmpn(0)<0&&(I=V.iadd(this.m)),I._forceRed(this)},v0.prototype.mul=function($,Y){if($.isZero()||Y.isZero())return new X(0)._forceRed(this);var G=$.mul(Y),Z=G.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),V=G.isub(Z).iushrn(this.shift),I=V;return V.cmp(this.m)>=0?I=V.isub(this.m):V.cmpn(0)<0&&(I=V.iadd(this.m)),I._forceRed(this)},v0.prototype.invm=function($){var Y=this.imod($._invmp(this.m).mul(this.r2));return Y._forceRed(this)}})(typeof _>"u"||_,N)}}),iY=S0({"node_modules/create-ecdh/browser.js"(N,_){var j=o$(),k=rY();_.exports=function(C){return new P(C)};var F={secp256k1:{name:"secp256k1",byteLength:32},secp224r1:{name:"p224",byteLength:28},prime256v1:{name:"p256",byteLength:32},prime192v1:{name:"p192",byteLength:24},ed25519:{name:"ed25519",byteLength:32},secp384r1:{name:"p384",byteLength:48},secp521r1:{name:"p521",byteLength:66}};F.p224=F.secp224r1,F.p256=F.secp256r1=F.prime256v1,F.p192=F.secp192r1=F.prime192v1,F.p384=F.secp384r1,F.p521=F.secp521r1;function P(C){this.curveType=F[C],this.curveType||(this.curveType={name:C}),this.curve=new j.ec(this.curveType.name),this.keys=void 0}P.prototype.generateKeys=function(C,z){return this.keys=this.curve.genKeyPair(),this.getPublicKey(C,z)},P.prototype.computeSecret=function(C,z,T){z=z||"utf8",j0.isBuffer(C)||(C=new j0(C,z));var H=this.curve.keyFromPublic(C).getPublic(),J=H.mul(this.keys.getPrivate()).getX();return X(J,T,this.curveType.byteLength)},P.prototype.getPublicKey=function(C,z){var T=this.keys.getPublic(z==="compressed",!0);return z==="hybrid"&&(T[T.length-1]%2?T[0]=7:T[0]=6),X(T,C)},P.prototype.getPrivateKey=function(C){return X(this.keys.getPrivate(),C)},P.prototype.setPublicKey=function(C,z){return z=z||"utf8",j0.isBuffer(C)||(C=new j0(C,z)),this.keys._importPublic(C),this},P.prototype.setPrivateKey=function(C,z){z=z||"utf8",j0.isBuffer(C)||(C=new j0(C,z));var T=new k(C);return T=T.toString(16),this.keys=this.curve.genKeyPair(),this.keys._importPrivate(T),this};function X(C,z,T){Array.isArray(C)||(C=C.toArray());var H=new j0(C);if(T&&H.length0?$:Y},X.min=function($,Y){return $.cmp(Y)<0?$:Y},X.prototype._init=function($,Y,G){if(typeof $=="number")return this._initNumber($,Y,G);if(typeof $=="object")return this._initArray($,Y,G);Y==="hex"&&(Y=16),F(Y===(Y|0)&&Y>=2&&Y<=36),$=$.toString().replace(/\s+/g,"");var Z=0;$[0]==="-"&&(Z++,this.negative=1),Z<$.length&&(Y===16?this._parseHex($,Z,G):(this._parseBase($,Y,Z),G==="le"&&this._initArray(this.toArray(),Y,G)))},X.prototype._initNumber=function($,Y,G){$<0&&(this.negative=1,$=-$),$<67108864?(this.words=[$&67108863],this.length=1):$<4503599627370496?(this.words=[$&67108863,$/67108864&67108863],this.length=2):(F($<9007199254740992),this.words=[$&67108863,$/67108864&67108863,1],this.length=3),G==="le"&&this._initArray(this.toArray(),Y,G)},X.prototype._initArray=function($,Y,G){if(F(typeof $.length=="number"),$.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil($.length/3),this.words=new Array(this.length);for(var Z=0;Z=0;Z-=3)I=$[Z]|$[Z-1]<<8|$[Z-2]<<16,this.words[V]|=I<>>26-O&67108863,O+=24,O>=26&&(O-=26,V++);else if(G==="le")for(Z=0,V=0;Z<$.length;Z+=3)I=$[Z]|$[Z+1]<<8|$[Z+2]<<16,this.words[V]|=I<>>26-O&67108863,O+=24,O>=26&&(O-=26,V++);return this.strip()};function z($,Y){var G=$.charCodeAt(Y);return G>=65&&G<=70?G-55:G>=97&&G<=102?G-87:G-48&15}function T($,Y,G){var Z=z($,G);return G-1>=Y&&(Z|=z($,G-1)<<4),Z}X.prototype._parseHex=function($,Y,G){this.length=Math.ceil(($.length-Y)/6),this.words=new Array(this.length);for(var Z=0;Z=Y;Z-=2)O=T($,Y,Z)<=18?(V-=18,I+=1,this.words[I]|=O>>>26):V+=8;else{var U=$.length-Y;for(Z=U%2===0?Y+1:Y;Z<$.length;Z+=2)O=T($,Y,Z)<=18?(V-=18,I+=1,this.words[I]|=O>>>26):V+=8}this.strip()};function H($,Y,G,Z){for(var V=0,I=Math.min($.length,G),O=Y;O=49?V+=U-49+10:U>=17?V+=U-17+10:V+=U}return V}X.prototype._parseBase=function($,Y,G){this.words=[0],this.length=1;for(var Z=0,V=1;V<=67108863;V*=Y)Z++;Z--,V=V/Y|0;for(var I=$.length-G,O=I%Z,U=Math.min(I,I-O)+G,Q=0,K=G;K1&&this.words[this.length-1]===0;)this.length--;return this._normSign()},X.prototype._normSign=function(){return this.length===1&&this.words[0]===0&&(this.negative=0),this},X.prototype.inspect=function(){return(this.red?""};var J=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],W=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],D=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64000000,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,24300000,28629151,33554432,39135393,45435424,52521875,60466176];X.prototype.toString=function($,Y){$=$||10,Y=Y|0||1;var G;if($===16||$==="hex"){G="";for(var Z=0,V=0,I=0;I>>24-Z&16777215,V!==0||I!==this.length-1?G=J[6-U.length]+U+G:G=U+G,Z+=2,Z>=26&&(Z-=26,I--)}for(V!==0&&(G=V.toString(16)+G);G.length%Y!==0;)G="0"+G;return this.negative!==0&&(G="-"+G),G}if($===($|0)&&$>=2&&$<=36){var Q=W[$],K=D[$];G="";var L=this.clone();for(L.negative=0;!L.isZero();){var A=L.modn(K).toString($);L=L.idivn(K),L.isZero()?G=A+G:G=J[Q-A.length]+A+G}for(this.isZero()&&(G="0"+G);G.length%Y!==0;)G="0"+G;return this.negative!==0&&(G="-"+G),G}F(!1,"Base should be between 2 and 36")},X.prototype.toNumber=function(){var $=this.words[0];return this.length===2?$+=this.words[1]*67108864:this.length===3&&this.words[2]===1?$+=4503599627370496+this.words[1]*67108864:this.length>2&&F(!1,"Number can only safely store up to 53 bits"),this.negative!==0?-$:$},X.prototype.toJSON=function(){return this.toString(16)},X.prototype.toBuffer=function($,Y){return F(typeof C<"u"),this.toArrayLike(C,$,Y)},X.prototype.toArray=function($,Y){return this.toArrayLike(Array,$,Y)},X.prototype.toArrayLike=function($,Y,G){var Z=this.byteLength(),V=G||Math.max(1,Z);F(Z<=V,"byte array longer than desired length"),F(V>0,"Requested array length <= 0"),this.strip();var I=Y==="le",O=new $(V),U,Q,K=this.clone();if(I){for(Q=0;!K.isZero();Q++)U=K.andln(255),K.iushrn(8),O[Q]=U;for(;Q=4096&&(G+=13,Y>>>=13),Y>=64&&(G+=7,Y>>>=7),Y>=8&&(G+=4,Y>>>=4),Y>=2&&(G+=2,Y>>>=2),G+Y},X.prototype._zeroBits=function($){if($===0)return 26;var Y=$,G=0;return(Y&8191)===0&&(G+=13,Y>>>=13),(Y&127)===0&&(G+=7,Y>>>=7),(Y&15)===0&&(G+=4,Y>>>=4),(Y&3)===0&&(G+=2,Y>>>=2),(Y&1)===0&&G++,G},X.prototype.bitLength=function(){var $=this.words[this.length-1],Y=this._countBits($);return(this.length-1)*26+Y};function E($){for(var Y=new Array($.bitLength()),G=0;G>>V}return Y}X.prototype.zeroBits=function(){if(this.isZero())return 0;for(var $=0,Y=0;Y$.length?this.clone().ior($):$.clone().ior(this)},X.prototype.uor=function($){return this.length>$.length?this.clone().iuor($):$.clone().iuor(this)},X.prototype.iuand=function($){var Y;this.length>$.length?Y=$:Y=this;for(var G=0;G$.length?this.clone().iand($):$.clone().iand(this)},X.prototype.uand=function($){return this.length>$.length?this.clone().iuand($):$.clone().iuand(this)},X.prototype.iuxor=function($){var Y,G;this.length>$.length?(Y=this,G=$):(Y=$,G=this);for(var Z=0;Z$.length?this.clone().ixor($):$.clone().ixor(this)},X.prototype.uxor=function($){return this.length>$.length?this.clone().iuxor($):$.clone().iuxor(this)},X.prototype.inotn=function($){F(typeof $=="number"&&$>=0);var Y=Math.ceil($/26)|0,G=$%26;this._expand(Y),G>0&&Y--;for(var Z=0;Z0&&(this.words[Z]=~this.words[Z]&67108863>>26-G),this.strip()},X.prototype.notn=function($){return this.clone().inotn($)},X.prototype.setn=function($,Y){F(typeof $=="number"&&$>=0);var G=$/26|0,Z=$%26;return this._expand(G+1),Y?this.words[G]=this.words[G]|1<$.length?(G=this,Z=$):(G=$,Z=this);for(var V=0,I=0;I>>26;for(;V!==0&&I>>26;if(this.length=G.length,V!==0)this.words[this.length]=V,this.length++;else if(G!==this)for(;I$.length?this.clone().iadd($):$.clone().iadd(this)},X.prototype.isub=function($){if($.negative!==0){$.negative=0;var Y=this.iadd($);return $.negative=1,Y._normSign()}else if(this.negative!==0)return this.negative=0,this.iadd($),this.negative=1,this._normSign();var G=this.cmp($);if(G===0)return this.negative=0,this.length=1,this.words[0]=0,this;var Z,V;G>0?(Z=this,V=$):(Z=$,V=this);for(var I=0,O=0;O>26,this.words[O]=Y&67108863;for(;I!==0&&O>26,this.words[O]=Y&67108863;if(I===0&&O>>26,A=Q&67108863,S=Math.min(K,Y.length-1),x=Math.max(0,K-$.length+1);x<=S;x++){var y=K-x|0;V=$.words[y]|0,I=Y.words[x]|0,O=V*I+A,L+=O/67108864|0,A=O&67108863}G.words[K]=A|0,Q=L|0}return Q!==0?G.words[K]=Q|0:G.length--,G.strip()}var M=function($,Y,G){var Z=$.words,V=Y.words,I=G.words,O=0,U,Q,K,L=Z[0]|0,A=L&8191,S=L>>>13,x=Z[1]|0,y=x&8191,c=x>>>13,q0=Z[2]|0,h=q0&8191,d=q0>>>13,_0=Z[3]|0,l=_0&8191,n=_0>>>13,y0=Z[4]|0,t=y0&8191,s=y0>>>13,w0=Z[5]|0,m=w0&8191,r=w0>>>13,$$=Z[6]|0,i=$$&8191,e=$$>>>13,x0=Z[7]|0,o=x0&8191,a=x0>>>13,p0=Z[8]|0,$0=p0&8191,Q0=p0>>>13,Y$=Z[9]|0,Z0=Y$&8191,G0=Y$>>>13,Z$=V[0]|0,V0=Z$&8191,U0=Z$>>>13,G$=V[1]|0,X0=G$&8191,K0=G$>>>13,V$=V[2]|0,I0=V$&8191,O0=V$>>>13,U$=V[3]|0,J0=U$&8191,F0=U$>>>13,X$=V[4]|0,A0=X$&8191,W0=X$>>>13,K$=V[5]|0,H0=K$&8191,E0=K$>>>13,I$=V[6]|0,T0=I$&8191,D0=I$>>>13,O$=V[7]|0,C0=O$&8191,L0=O$>>>13,J$=V[8]|0,R0=J$&8191,z0=J$>>>13,F$=V[9]|0,P0=F$&8191,M0=F$>>>13;G.negative=$.negative^Y.negative,G.length=19,U=Math.imul(A,V0),Q=Math.imul(A,U0),Q=Q+Math.imul(S,V0)|0,K=Math.imul(S,U0);var Q$=(O+U|0)+((Q&8191)<<13)|0;O=(K+(Q>>>13)|0)+(Q$>>>26)|0,Q$&=67108863,U=Math.imul(y,V0),Q=Math.imul(y,U0),Q=Q+Math.imul(c,V0)|0,K=Math.imul(c,U0),U=U+Math.imul(A,X0)|0,Q=Q+Math.imul(A,K0)|0,Q=Q+Math.imul(S,X0)|0,K=K+Math.imul(S,K0)|0;var k0=(O+U|0)+((Q&8191)<<13)|0;O=(K+(Q>>>13)|0)+(k0>>>26)|0,k0&=67108863,U=Math.imul(h,V0),Q=Math.imul(h,U0),Q=Q+Math.imul(d,V0)|0,K=Math.imul(d,U0),U=U+Math.imul(y,X0)|0,Q=Q+Math.imul(y,K0)|0,Q=Q+Math.imul(c,X0)|0,K=K+Math.imul(c,K0)|0,U=U+Math.imul(A,I0)|0,Q=Q+Math.imul(A,O0)|0,Q=Q+Math.imul(S,I0)|0,K=K+Math.imul(S,O0)|0;var g0=(O+U|0)+((Q&8191)<<13)|0;O=(K+(Q>>>13)|0)+(g0>>>26)|0,g0&=67108863,U=Math.imul(l,V0),Q=Math.imul(l,U0),Q=Q+Math.imul(n,V0)|0,K=Math.imul(n,U0),U=U+Math.imul(h,X0)|0,Q=Q+Math.imul(h,K0)|0,Q=Q+Math.imul(d,X0)|0,K=K+Math.imul(d,K0)|0,U=U+Math.imul(y,I0)|0,Q=Q+Math.imul(y,O0)|0,Q=Q+Math.imul(c,I0)|0,K=K+Math.imul(c,O0)|0,U=U+Math.imul(A,J0)|0,Q=Q+Math.imul(A,F0)|0,Q=Q+Math.imul(S,J0)|0,K=K+Math.imul(S,F0)|0;var f0=(O+U|0)+((Q&8191)<<13)|0;O=(K+(Q>>>13)|0)+(f0>>>26)|0,f0&=67108863,U=Math.imul(t,V0),Q=Math.imul(t,U0),Q=Q+Math.imul(s,V0)|0,K=Math.imul(s,U0),U=U+Math.imul(l,X0)|0,Q=Q+Math.imul(l,K0)|0,Q=Q+Math.imul(n,X0)|0,K=K+Math.imul(n,K0)|0,U=U+Math.imul(h,I0)|0,Q=Q+Math.imul(h,O0)|0,Q=Q+Math.imul(d,I0)|0,K=K+Math.imul(d,O0)|0,U=U+Math.imul(y,J0)|0,Q=Q+Math.imul(y,F0)|0,Q=Q+Math.imul(c,J0)|0,K=K+Math.imul(c,F0)|0,U=U+Math.imul(A,A0)|0,Q=Q+Math.imul(A,W0)|0,Q=Q+Math.imul(S,A0)|0,K=K+Math.imul(S,W0)|0;var c0=(O+U|0)+((Q&8191)<<13)|0;O=(K+(Q>>>13)|0)+(c0>>>26)|0,c0&=67108863,U=Math.imul(m,V0),Q=Math.imul(m,U0),Q=Q+Math.imul(r,V0)|0,K=Math.imul(r,U0),U=U+Math.imul(t,X0)|0,Q=Q+Math.imul(t,K0)|0,Q=Q+Math.imul(s,X0)|0,K=K+Math.imul(s,K0)|0,U=U+Math.imul(l,I0)|0,Q=Q+Math.imul(l,O0)|0,Q=Q+Math.imul(n,I0)|0,K=K+Math.imul(n,O0)|0,U=U+Math.imul(h,J0)|0,Q=Q+Math.imul(h,F0)|0,Q=Q+Math.imul(d,J0)|0,K=K+Math.imul(d,F0)|0,U=U+Math.imul(y,A0)|0,Q=Q+Math.imul(y,W0)|0,Q=Q+Math.imul(c,A0)|0,K=K+Math.imul(c,W0)|0,U=U+Math.imul(A,H0)|0,Q=Q+Math.imul(A,E0)|0,Q=Q+Math.imul(S,H0)|0,K=K+Math.imul(S,E0)|0;var h0=(O+U|0)+((Q&8191)<<13)|0;O=(K+(Q>>>13)|0)+(h0>>>26)|0,h0&=67108863,U=Math.imul(i,V0),Q=Math.imul(i,U0),Q=Q+Math.imul(e,V0)|0,K=Math.imul(e,U0),U=U+Math.imul(m,X0)|0,Q=Q+Math.imul(m,K0)|0,Q=Q+Math.imul(r,X0)|0,K=K+Math.imul(r,K0)|0,U=U+Math.imul(t,I0)|0,Q=Q+Math.imul(t,O0)|0,Q=Q+Math.imul(s,I0)|0,K=K+Math.imul(s,O0)|0,U=U+Math.imul(l,J0)|0,Q=Q+Math.imul(l,F0)|0,Q=Q+Math.imul(n,J0)|0,K=K+Math.imul(n,F0)|0,U=U+Math.imul(h,A0)|0,Q=Q+Math.imul(h,W0)|0,Q=Q+Math.imul(d,A0)|0,K=K+Math.imul(d,W0)|0,U=U+Math.imul(y,H0)|0,Q=Q+Math.imul(y,E0)|0,Q=Q+Math.imul(c,H0)|0,K=K+Math.imul(c,E0)|0,U=U+Math.imul(A,T0)|0,Q=Q+Math.imul(A,D0)|0,Q=Q+Math.imul(S,T0)|0,K=K+Math.imul(S,D0)|0;var d0=(O+U|0)+((Q&8191)<<13)|0;O=(K+(Q>>>13)|0)+(d0>>>26)|0,d0&=67108863,U=Math.imul(o,V0),Q=Math.imul(o,U0),Q=Q+Math.imul(a,V0)|0,K=Math.imul(a,U0),U=U+Math.imul(i,X0)|0,Q=Q+Math.imul(i,K0)|0,Q=Q+Math.imul(e,X0)|0,K=K+Math.imul(e,K0)|0,U=U+Math.imul(m,I0)|0,Q=Q+Math.imul(m,O0)|0,Q=Q+Math.imul(r,I0)|0,K=K+Math.imul(r,O0)|0,U=U+Math.imul(t,J0)|0,Q=Q+Math.imul(t,F0)|0,Q=Q+Math.imul(s,J0)|0,K=K+Math.imul(s,F0)|0,U=U+Math.imul(l,A0)|0,Q=Q+Math.imul(l,W0)|0,Q=Q+Math.imul(n,A0)|0,K=K+Math.imul(n,W0)|0,U=U+Math.imul(h,H0)|0,Q=Q+Math.imul(h,E0)|0,Q=Q+Math.imul(d,H0)|0,K=K+Math.imul(d,E0)|0,U=U+Math.imul(y,T0)|0,Q=Q+Math.imul(y,D0)|0,Q=Q+Math.imul(c,T0)|0,K=K+Math.imul(c,D0)|0,U=U+Math.imul(A,C0)|0,Q=Q+Math.imul(A,L0)|0,Q=Q+Math.imul(S,C0)|0,K=K+Math.imul(S,L0)|0;var b0=(O+U|0)+((Q&8191)<<13)|0;O=(K+(Q>>>13)|0)+(b0>>>26)|0,b0&=67108863,U=Math.imul($0,V0),Q=Math.imul($0,U0),Q=Q+Math.imul(Q0,V0)|0,K=Math.imul(Q0,U0),U=U+Math.imul(o,X0)|0,Q=Q+Math.imul(o,K0)|0,Q=Q+Math.imul(a,X0)|0,K=K+Math.imul(a,K0)|0,U=U+Math.imul(i,I0)|0,Q=Q+Math.imul(i,O0)|0,Q=Q+Math.imul(e,I0)|0,K=K+Math.imul(e,O0)|0,U=U+Math.imul(m,J0)|0,Q=Q+Math.imul(m,F0)|0,Q=Q+Math.imul(r,J0)|0,K=K+Math.imul(r,F0)|0,U=U+Math.imul(t,A0)|0,Q=Q+Math.imul(t,W0)|0,Q=Q+Math.imul(s,A0)|0,K=K+Math.imul(s,W0)|0,U=U+Math.imul(l,H0)|0,Q=Q+Math.imul(l,E0)|0,Q=Q+Math.imul(n,H0)|0,K=K+Math.imul(n,E0)|0,U=U+Math.imul(h,T0)|0,Q=Q+Math.imul(h,D0)|0,Q=Q+Math.imul(d,T0)|0,K=K+Math.imul(d,D0)|0,U=U+Math.imul(y,C0)|0,Q=Q+Math.imul(y,L0)|0,Q=Q+Math.imul(c,C0)|0,K=K+Math.imul(c,L0)|0,U=U+Math.imul(A,R0)|0,Q=Q+Math.imul(A,z0)|0,Q=Q+Math.imul(S,R0)|0,K=K+Math.imul(S,z0)|0;var l0=(O+U|0)+((Q&8191)<<13)|0;O=(K+(Q>>>13)|0)+(l0>>>26)|0,l0&=67108863,U=Math.imul(Z0,V0),Q=Math.imul(Z0,U0),Q=Q+Math.imul(G0,V0)|0,K=Math.imul(G0,U0),U=U+Math.imul($0,X0)|0,Q=Q+Math.imul($0,K0)|0,Q=Q+Math.imul(Q0,X0)|0,K=K+Math.imul(Q0,K0)|0,U=U+Math.imul(o,I0)|0,Q=Q+Math.imul(o,O0)|0,Q=Q+Math.imul(a,I0)|0,K=K+Math.imul(a,O0)|0,U=U+Math.imul(i,J0)|0,Q=Q+Math.imul(i,F0)|0,Q=Q+Math.imul(e,J0)|0,K=K+Math.imul(e,F0)|0,U=U+Math.imul(m,A0)|0,Q=Q+Math.imul(m,W0)|0,Q=Q+Math.imul(r,A0)|0,K=K+Math.imul(r,W0)|0,U=U+Math.imul(t,H0)|0,Q=Q+Math.imul(t,E0)|0,Q=Q+Math.imul(s,H0)|0,K=K+Math.imul(s,E0)|0,U=U+Math.imul(l,T0)|0,Q=Q+Math.imul(l,D0)|0,Q=Q+Math.imul(n,T0)|0,K=K+Math.imul(n,D0)|0,U=U+Math.imul(h,C0)|0,Q=Q+Math.imul(h,L0)|0,Q=Q+Math.imul(d,C0)|0,K=K+Math.imul(d,L0)|0,U=U+Math.imul(y,R0)|0,Q=Q+Math.imul(y,z0)|0,Q=Q+Math.imul(c,R0)|0,K=K+Math.imul(c,z0)|0,U=U+Math.imul(A,P0)|0,Q=Q+Math.imul(A,M0)|0,Q=Q+Math.imul(S,P0)|0,K=K+Math.imul(S,M0)|0;var o0=(O+U|0)+((Q&8191)<<13)|0;O=(K+(Q>>>13)|0)+(o0>>>26)|0,o0&=67108863,U=Math.imul(Z0,X0),Q=Math.imul(Z0,K0),Q=Q+Math.imul(G0,X0)|0,K=Math.imul(G0,K0),U=U+Math.imul($0,I0)|0,Q=Q+Math.imul($0,O0)|0,Q=Q+Math.imul(Q0,I0)|0,K=K+Math.imul(Q0,O0)|0,U=U+Math.imul(o,J0)|0,Q=Q+Math.imul(o,F0)|0,Q=Q+Math.imul(a,J0)|0,K=K+Math.imul(a,F0)|0,U=U+Math.imul(i,A0)|0,Q=Q+Math.imul(i,W0)|0,Q=Q+Math.imul(e,A0)|0,K=K+Math.imul(e,W0)|0,U=U+Math.imul(m,H0)|0,Q=Q+Math.imul(m,E0)|0,Q=Q+Math.imul(r,H0)|0,K=K+Math.imul(r,E0)|0,U=U+Math.imul(t,T0)|0,Q=Q+Math.imul(t,D0)|0,Q=Q+Math.imul(s,T0)|0,K=K+Math.imul(s,D0)|0,U=U+Math.imul(l,C0)|0,Q=Q+Math.imul(l,L0)|0,Q=Q+Math.imul(n,C0)|0,K=K+Math.imul(n,L0)|0,U=U+Math.imul(h,R0)|0,Q=Q+Math.imul(h,z0)|0,Q=Q+Math.imul(d,R0)|0,K=K+Math.imul(d,z0)|0,U=U+Math.imul(y,P0)|0,Q=Q+Math.imul(y,M0)|0,Q=Q+Math.imul(c,P0)|0,K=K+Math.imul(c,M0)|0;var u0=(O+U|0)+((Q&8191)<<13)|0;O=(K+(Q>>>13)|0)+(u0>>>26)|0,u0&=67108863,U=Math.imul(Z0,I0),Q=Math.imul(Z0,O0),Q=Q+Math.imul(G0,I0)|0,K=Math.imul(G0,O0),U=U+Math.imul($0,J0)|0,Q=Q+Math.imul($0,F0)|0,Q=Q+Math.imul(Q0,J0)|0,K=K+Math.imul(Q0,F0)|0,U=U+Math.imul(o,A0)|0,Q=Q+Math.imul(o,W0)|0,Q=Q+Math.imul(a,A0)|0,K=K+Math.imul(a,W0)|0,U=U+Math.imul(i,H0)|0,Q=Q+Math.imul(i,E0)|0,Q=Q+Math.imul(e,H0)|0,K=K+Math.imul(e,E0)|0,U=U+Math.imul(m,T0)|0,Q=Q+Math.imul(m,D0)|0,Q=Q+Math.imul(r,T0)|0,K=K+Math.imul(r,D0)|0,U=U+Math.imul(t,C0)|0,Q=Q+Math.imul(t,L0)|0,Q=Q+Math.imul(s,C0)|0,K=K+Math.imul(s,L0)|0,U=U+Math.imul(l,R0)|0,Q=Q+Math.imul(l,z0)|0,Q=Q+Math.imul(n,R0)|0,K=K+Math.imul(n,z0)|0,U=U+Math.imul(h,P0)|0,Q=Q+Math.imul(h,M0)|0,Q=Q+Math.imul(d,P0)|0,K=K+Math.imul(d,M0)|0;var n0=(O+U|0)+((Q&8191)<<13)|0;O=(K+(Q>>>13)|0)+(n0>>>26)|0,n0&=67108863,U=Math.imul(Z0,J0),Q=Math.imul(Z0,F0),Q=Q+Math.imul(G0,J0)|0,K=Math.imul(G0,F0),U=U+Math.imul($0,A0)|0,Q=Q+Math.imul($0,W0)|0,Q=Q+Math.imul(Q0,A0)|0,K=K+Math.imul(Q0,W0)|0,U=U+Math.imul(o,H0)|0,Q=Q+Math.imul(o,E0)|0,Q=Q+Math.imul(a,H0)|0,K=K+Math.imul(a,E0)|0,U=U+Math.imul(i,T0)|0,Q=Q+Math.imul(i,D0)|0,Q=Q+Math.imul(e,T0)|0,K=K+Math.imul(e,D0)|0,U=U+Math.imul(m,C0)|0,Q=Q+Math.imul(m,L0)|0,Q=Q+Math.imul(r,C0)|0,K=K+Math.imul(r,L0)|0,U=U+Math.imul(t,R0)|0,Q=Q+Math.imul(t,z0)|0,Q=Q+Math.imul(s,R0)|0,K=K+Math.imul(s,z0)|0,U=U+Math.imul(l,P0)|0,Q=Q+Math.imul(l,M0)|0,Q=Q+Math.imul(n,P0)|0,K=K+Math.imul(n,M0)|0;var s0=(O+U|0)+((Q&8191)<<13)|0;O=(K+(Q>>>13)|0)+(s0>>>26)|0,s0&=67108863,U=Math.imul(Z0,A0),Q=Math.imul(Z0,W0),Q=Q+Math.imul(G0,A0)|0,K=Math.imul(G0,W0),U=U+Math.imul($0,H0)|0,Q=Q+Math.imul($0,E0)|0,Q=Q+Math.imul(Q0,H0)|0,K=K+Math.imul(Q0,E0)|0,U=U+Math.imul(o,T0)|0,Q=Q+Math.imul(o,D0)|0,Q=Q+Math.imul(a,T0)|0,K=K+Math.imul(a,D0)|0,U=U+Math.imul(i,C0)|0,Q=Q+Math.imul(i,L0)|0,Q=Q+Math.imul(e,C0)|0,K=K+Math.imul(e,L0)|0,U=U+Math.imul(m,R0)|0,Q=Q+Math.imul(m,z0)|0,Q=Q+Math.imul(r,R0)|0,K=K+Math.imul(r,z0)|0,U=U+Math.imul(t,P0)|0,Q=Q+Math.imul(t,M0)|0,Q=Q+Math.imul(s,P0)|0,K=K+Math.imul(s,M0)|0;var t0=(O+U|0)+((Q&8191)<<13)|0;O=(K+(Q>>>13)|0)+(t0>>>26)|0,t0&=67108863,U=Math.imul(Z0,H0),Q=Math.imul(Z0,E0),Q=Q+Math.imul(G0,H0)|0,K=Math.imul(G0,E0),U=U+Math.imul($0,T0)|0,Q=Q+Math.imul($0,D0)|0,Q=Q+Math.imul(Q0,T0)|0,K=K+Math.imul(Q0,D0)|0,U=U+Math.imul(o,C0)|0,Q=Q+Math.imul(o,L0)|0,Q=Q+Math.imul(a,C0)|0,K=K+Math.imul(a,L0)|0,U=U+Math.imul(i,R0)|0,Q=Q+Math.imul(i,z0)|0,Q=Q+Math.imul(e,R0)|0,K=K+Math.imul(e,z0)|0,U=U+Math.imul(m,P0)|0,Q=Q+Math.imul(m,M0)|0,Q=Q+Math.imul(r,P0)|0,K=K+Math.imul(r,M0)|0;var m0=(O+U|0)+((Q&8191)<<13)|0;O=(K+(Q>>>13)|0)+(m0>>>26)|0,m0&=67108863,U=Math.imul(Z0,T0),Q=Math.imul(Z0,D0),Q=Q+Math.imul(G0,T0)|0,K=Math.imul(G0,D0),U=U+Math.imul($0,C0)|0,Q=Q+Math.imul($0,L0)|0,Q=Q+Math.imul(Q0,C0)|0,K=K+Math.imul(Q0,L0)|0,U=U+Math.imul(o,R0)|0,Q=Q+Math.imul(o,z0)|0,Q=Q+Math.imul(a,R0)|0,K=K+Math.imul(a,z0)|0,U=U+Math.imul(i,P0)|0,Q=Q+Math.imul(i,M0)|0,Q=Q+Math.imul(e,P0)|0,K=K+Math.imul(e,M0)|0;var a0=(O+U|0)+((Q&8191)<<13)|0;O=(K+(Q>>>13)|0)+(a0>>>26)|0,a0&=67108863,U=Math.imul(Z0,C0),Q=Math.imul(Z0,L0),Q=Q+Math.imul(G0,C0)|0,K=Math.imul(G0,L0),U=U+Math.imul($0,R0)|0,Q=Q+Math.imul($0,z0)|0,Q=Q+Math.imul(Q0,R0)|0,K=K+Math.imul(Q0,z0)|0,U=U+Math.imul(o,P0)|0,Q=Q+Math.imul(o,M0)|0,Q=Q+Math.imul(a,P0)|0,K=K+Math.imul(a,M0)|0;var e0=(O+U|0)+((Q&8191)<<13)|0;O=(K+(Q>>>13)|0)+(e0>>>26)|0,e0&=67108863,U=Math.imul(Z0,R0),Q=Math.imul(Z0,z0),Q=Q+Math.imul(G0,R0)|0,K=Math.imul(G0,z0),U=U+Math.imul($0,P0)|0,Q=Q+Math.imul($0,M0)|0,Q=Q+Math.imul(Q0,P0)|0,K=K+Math.imul(Q0,M0)|0;var r0=(O+U|0)+((Q&8191)<<13)|0;O=(K+(Q>>>13)|0)+(r0>>>26)|0,r0&=67108863,U=Math.imul(Z0,P0),Q=Math.imul(Z0,M0),Q=Q+Math.imul(G0,P0)|0,K=Math.imul(G0,M0);var i0=(O+U|0)+((Q&8191)<<13)|0;return O=(K+(Q>>>13)|0)+(i0>>>26)|0,i0&=67108863,I[0]=Q$,I[1]=k0,I[2]=g0,I[3]=f0,I[4]=c0,I[5]=h0,I[6]=d0,I[7]=b0,I[8]=l0,I[9]=o0,I[10]=u0,I[11]=n0,I[12]=s0,I[13]=t0,I[14]=m0,I[15]=a0,I[16]=e0,I[17]=r0,I[18]=i0,O!==0&&(I[19]=O,G.length++),G};Math.imul||(M=R);function v($,Y,G){G.negative=Y.negative^$.negative,G.length=$.length+Y.length;for(var Z=0,V=0,I=0;I>>26)|0,V+=O>>>26,O&=67108863}G.words[I]=U,Z=O,O=V}return Z!==0?G.words[I]=Z:G.length--,G.strip()}function q($,Y,G){var Z=new g;return Z.mulp($,Y,G)}X.prototype.mulTo=function($,Y){var G,Z=this.length+$.length;return this.length===10&&$.length===10?G=M(this,$,Y):Z<63?G=R(this,$,Y):Z<1024?G=v(this,$,Y):G=q(this,$,Y),G};function g($,Y){this.x=$,this.y=Y}g.prototype.makeRBT=function($){for(var Y=new Array($),G=X.prototype._countBits($)-1,Z=0;Z<$;Z++)Y[Z]=this.revBin(Z,G,$);return Y},g.prototype.revBin=function($,Y,G){if($===0||$===G-1)return $;for(var Z=0,V=0;V>=1;return Z},g.prototype.permute=function($,Y,G,Z,V,I){for(var O=0;O>>1)V++;return 1<>>13,G[2*I+1]=V&8191,V=V>>>13;for(I=2*Y;I>=26,Y+=Z/67108864|0,Y+=V>>>26,this.words[G]=V&67108863}return Y!==0&&(this.words[G]=Y,this.length++),this},X.prototype.muln=function($){return this.clone().imuln($)},X.prototype.sqr=function(){return this.mul(this)},X.prototype.isqr=function(){return this.imul(this.clone())},X.prototype.pow=function($){var Y=E($);if(Y.length===0)return new X(1);for(var G=this,Z=0;Z=0);var Y=$%26,G=($-Y)/26,Z=67108863>>>26-Y<<26-Y,V;if(Y!==0){var I=0;for(V=0;V>>26-Y}I&&(this.words[V]=I,this.length++)}if(G!==0){for(V=this.length-1;V>=0;V--)this.words[V+G]=this.words[V];for(V=0;V=0);var Z;Y?Z=(Y-Y%26)/26:Z=0;var V=$%26,I=Math.min(($-V)/26,this.length),O=67108863^67108863>>>V<I)for(this.length-=I,Q=0;Q=0&&(K!==0||Q>=Z);Q--){var L=this.words[Q]|0;this.words[Q]=K<<26-V|L>>>V,K=L&O}return U&&K!==0&&(U.words[U.length++]=K),this.length===0&&(this.words[0]=0,this.length=1),this.strip()},X.prototype.ishrn=function($,Y,G){return F(this.negative===0),this.iushrn($,Y,G)},X.prototype.shln=function($){return this.clone().ishln($)},X.prototype.ushln=function($){return this.clone().iushln($)},X.prototype.shrn=function($){return this.clone().ishrn($)},X.prototype.ushrn=function($){return this.clone().iushrn($)},X.prototype.testn=function($){F(typeof $=="number"&&$>=0);var Y=$%26,G=($-Y)/26,Z=1<=0);var Y=$%26,G=($-Y)/26;if(F(this.negative===0,"imaskn works only with positive numbers"),this.length<=G)return this;if(Y!==0&&G++,this.length=Math.min(G,this.length),Y!==0){var Z=67108863^67108863>>>Y<=67108864;Y++)this.words[Y]-=67108864,Y===this.length-1?this.words[Y+1]=1:this.words[Y+1]++;return this.length=Math.max(this.length,Y+1),this},X.prototype.isubn=function($){if(F(typeof $=="number"),F($<67108864),$<0)return this.iaddn(-$);if(this.negative!==0)return this.negative=0,this.iaddn($),this.negative=1,this;if(this.words[0]-=$,this.length===1&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var Y=0;Y>26)-(U/67108864|0),this.words[V+G]=I&67108863}for(;V>26,this.words[V+G]=I&67108863;if(O===0)return this.strip();for(F(O===-1),O=0,V=0;V>26,this.words[V]=I&67108863;return this.negative=1,this.strip()},X.prototype._wordDiv=function($,Y){var G=this.length-$.length,Z=this.clone(),V=$,I=V.words[V.length-1]|0,O=this._countBits(I);G=26-O,G!==0&&(V=V.ushln(G),Z.iushln(G),I=V.words[V.length-1]|0);var U=Z.length-V.length,Q;if(Y!=="mod"){Q=new X(null),Q.length=U+1,Q.words=new Array(Q.length);for(var K=0;K=0;A--){var S=(Z.words[V.length+A]|0)*67108864+(Z.words[V.length+A-1]|0);for(S=Math.min(S/I|0,67108863),Z._ishlnsubmul(V,S,A);Z.negative!==0;)S--,Z.negative=0,Z._ishlnsubmul(V,1,A),Z.isZero()||(Z.negative^=1);Q&&(Q.words[A]=S)}return Q&&Q.strip(),Z.strip(),Y!=="div"&&G!==0&&Z.iushrn(G),{div:Q||null,mod:Z}},X.prototype.divmod=function($,Y,G){if(F(!$.isZero()),this.isZero())return{div:new X(0),mod:new X(0)};var Z,V,I;return this.negative!==0&&$.negative===0?(I=this.neg().divmod($,Y),Y!=="mod"&&(Z=I.div.neg()),Y!=="div"&&(V=I.mod.neg(),G&&V.negative!==0&&V.iadd($)),{div:Z,mod:V}):this.negative===0&&$.negative!==0?(I=this.divmod($.neg(),Y),Y!=="mod"&&(Z=I.div.neg()),{div:Z,mod:I.mod}):(this.negative&$.negative)!==0?(I=this.neg().divmod($.neg(),Y),Y!=="div"&&(V=I.mod.neg(),G&&V.negative!==0&&V.isub($)),{div:I.div,mod:V}):$.length>this.length||this.cmp($)<0?{div:new X(0),mod:this}:$.length===1?Y==="div"?{div:this.divn($.words[0]),mod:null}:Y==="mod"?{div:null,mod:new X(this.modn($.words[0]))}:{div:this.divn($.words[0]),mod:new X(this.modn($.words[0]))}:this._wordDiv($,Y)},X.prototype.div=function($){return this.divmod($,"div",!1).div},X.prototype.mod=function($){return this.divmod($,"mod",!1).mod},X.prototype.umod=function($){return this.divmod($,"mod",!0).mod},X.prototype.divRound=function($){var Y=this.divmod($);if(Y.mod.isZero())return Y.div;var G=Y.div.negative!==0?Y.mod.isub($):Y.mod,Z=$.ushrn(1),V=$.andln(1),I=G.cmp(Z);return I<0||V===1&&I===0?Y.div:Y.div.negative!==0?Y.div.isubn(1):Y.div.iaddn(1)},X.prototype.modn=function($){F($<=67108863);for(var Y=(1<<26)%$,G=0,Z=this.length-1;Z>=0;Z--)G=(Y*G+(this.words[Z]|0))%$;return G},X.prototype.idivn=function($){F($<=67108863);for(var Y=0,G=this.length-1;G>=0;G--){var Z=(this.words[G]|0)+Y*67108864;this.words[G]=Z/$|0,Y=Z%$}return this.strip()},X.prototype.divn=function($){return this.clone().idivn($)},X.prototype.egcd=function($){F($.negative===0),F(!$.isZero());var Y=this,G=$.clone();Y.negative!==0?Y=Y.umod($):Y=Y.clone();for(var Z=new X(1),V=new X(0),I=new X(0),O=new X(1),U=0;Y.isEven()&&G.isEven();)Y.iushrn(1),G.iushrn(1),++U;for(var Q=G.clone(),K=Y.clone();!Y.isZero();){for(var L=0,A=1;(Y.words[0]&A)===0&&L<26;++L,A<<=1);if(L>0)for(Y.iushrn(L);L-- >0;)(Z.isOdd()||V.isOdd())&&(Z.iadd(Q),V.isub(K)),Z.iushrn(1),V.iushrn(1);for(var S=0,x=1;(G.words[0]&x)===0&&S<26;++S,x<<=1);if(S>0)for(G.iushrn(S);S-- >0;)(I.isOdd()||O.isOdd())&&(I.iadd(Q),O.isub(K)),I.iushrn(1),O.iushrn(1);Y.cmp(G)>=0?(Y.isub(G),Z.isub(I),V.isub(O)):(G.isub(Y),I.isub(Z),O.isub(V))}return{a:I,b:O,gcd:G.iushln(U)}},X.prototype._invmp=function($){F($.negative===0),F(!$.isZero());var Y=this,G=$.clone();Y.negative!==0?Y=Y.umod($):Y=Y.clone();for(var Z=new X(1),V=new X(0),I=G.clone();Y.cmpn(1)>0&&G.cmpn(1)>0;){for(var O=0,U=1;(Y.words[0]&U)===0&&O<26;++O,U<<=1);if(O>0)for(Y.iushrn(O);O-- >0;)Z.isOdd()&&Z.iadd(I),Z.iushrn(1);for(var Q=0,K=1;(G.words[0]&K)===0&&Q<26;++Q,K<<=1);if(Q>0)for(G.iushrn(Q);Q-- >0;)V.isOdd()&&V.iadd(I),V.iushrn(1);Y.cmp(G)>=0?(Y.isub(G),Z.isub(V)):(G.isub(Y),V.isub(Z))}var L;return Y.cmpn(1)===0?L=Z:L=V,L.cmpn(0)<0&&L.iadd($),L},X.prototype.gcd=function($){if(this.isZero())return $.abs();if($.isZero())return this.abs();var Y=this.clone(),G=$.clone();Y.negative=0,G.negative=0;for(var Z=0;Y.isEven()&&G.isEven();Z++)Y.iushrn(1),G.iushrn(1);do{for(;Y.isEven();)Y.iushrn(1);for(;G.isEven();)G.iushrn(1);var V=Y.cmp(G);if(V<0){var I=Y;Y=G,G=I}else if(V===0||G.cmpn(1)===0)break;Y.isub(G)}while(!0);return G.iushln(Z)},X.prototype.invm=function($){return this.egcd($).a.umod($)},X.prototype.isEven=function(){return(this.words[0]&1)===0},X.prototype.isOdd=function(){return(this.words[0]&1)===1},X.prototype.andln=function($){return this.words[0]&$},X.prototype.bincn=function($){F(typeof $=="number");var Y=$%26,G=($-Y)/26,Z=1<>>26,O&=67108863,this.words[I]=O}return V!==0&&(this.words[I]=V,this.length++),this},X.prototype.isZero=function(){return this.length===1&&this.words[0]===0},X.prototype.cmpn=function($){var Y=$<0;if(this.negative!==0&&!Y)return-1;if(this.negative===0&&Y)return 1;this.strip();var G;if(this.length>1)G=1;else{Y&&($=-$),F($<=67108863,"Number is too big");var Z=this.words[0]|0;G=Z===$?0:Z<$?-1:1}return this.negative!==0?-G|0:G},X.prototype.cmp=function($){if(this.negative!==0&&$.negative===0)return-1;if(this.negative===0&&$.negative!==0)return 1;var Y=this.ucmp($);return this.negative!==0?-Y|0:Y},X.prototype.ucmp=function($){if(this.length>$.length)return 1;if(this.length<$.length)return-1;for(var Y=0,G=this.length-1;G>=0;G--){var Z=this.words[G]|0,V=$.words[G]|0;if(Z!==V){ZV&&(Y=1);break}}return Y},X.prototype.gtn=function($){return this.cmpn($)===1},X.prototype.gt=function($){return this.cmp($)===1},X.prototype.gten=function($){return this.cmpn($)>=0},X.prototype.gte=function($){return this.cmp($)>=0},X.prototype.ltn=function($){return this.cmpn($)===-1},X.prototype.lt=function($){return this.cmp($)===-1},X.prototype.lten=function($){return this.cmpn($)<=0},X.prototype.lte=function($){return this.cmp($)<=0},X.prototype.eqn=function($){return this.cmpn($)===0},X.prototype.eq=function($){return this.cmp($)===0},X.red=function($){return new p($)},X.prototype.toRed=function($){return F(!this.red,"Already a number in reduction context"),F(this.negative===0,"red works only with positives"),$.convertTo(this)._forceRed($)},X.prototype.fromRed=function(){return F(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},X.prototype._forceRed=function($){return this.red=$,this},X.prototype.forceRed=function($){return F(!this.red,"Already a number in reduction context"),this._forceRed($)},X.prototype.redAdd=function($){return F(this.red,"redAdd works only with red numbers"),this.red.add(this,$)},X.prototype.redIAdd=function($){return F(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,$)},X.prototype.redSub=function($){return F(this.red,"redSub works only with red numbers"),this.red.sub(this,$)},X.prototype.redISub=function($){return F(this.red,"redISub works only with red numbers"),this.red.isub(this,$)},X.prototype.redShl=function($){return F(this.red,"redShl works only with red numbers"),this.red.shl(this,$)},X.prototype.redMul=function($){return F(this.red,"redMul works only with red numbers"),this.red._verify2(this,$),this.red.mul(this,$)},X.prototype.redIMul=function($){return F(this.red,"redMul works only with red numbers"),this.red._verify2(this,$),this.red.imul(this,$)},X.prototype.redSqr=function(){return F(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},X.prototype.redISqr=function(){return F(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},X.prototype.redSqrt=function(){return F(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},X.prototype.redInvm=function(){return F(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},X.prototype.redNeg=function(){return F(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},X.prototype.redPow=function($){return F(this.red&&!$.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,$)};var B={k256:null,p224:null,p192:null,p25519:null};function w($,Y){this.name=$,this.p=new X(Y,16),this.n=this.p.bitLength(),this.k=new X(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}w.prototype._tmp=function(){var $=new X(null);return $.words=new Array(Math.ceil(this.n/13)),$},w.prototype.ireduce=function($){var Y=$,G;do this.split(Y,this.tmp),Y=this.imulK(Y),Y=Y.iadd(this.tmp),G=Y.bitLength();while(G>this.n);var Z=G0?Y.isub(this.p):Y.strip!==void 0?Y.strip():Y._strip(),Y},w.prototype.split=function($,Y){$.iushrn(this.n,0,Y)},w.prototype.imulK=function($){return $.imul(this.k)};function f(){w.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}P(f,w),f.prototype.split=function($,Y){for(var G=4194303,Z=Math.min($.length,9),V=0;V>>22,I=O}I>>>=22,$.words[V-10]=I,I===0&&$.length>10?$.length-=10:$.length-=9},f.prototype.imulK=function($){$.words[$.length]=0,$.words[$.length+1]=0,$.length+=2;for(var Y=0,G=0;G<$.length;G++){var Z=$.words[G]|0;Y+=Z*977,$.words[G]=Y&67108863,Y=Z*64+(Y/67108864|0)}return $.words[$.length-1]===0&&($.length--,$.words[$.length-1]===0&&$.length--),$};function b(){w.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}P(b,w);function u(){w.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}P(u,w);function Y0(){w.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}P(Y0,w),Y0.prototype.imulK=function($){for(var Y=0,G=0;G<$.length;G++){var Z=($.words[G]|0)*19+Y,V=Z&67108863;Z>>>=26,$.words[G]=V,Y=Z}return Y!==0&&($.words[$.length++]=Y),$},X._prime=function($){if(B[$])return B[$];var Y;if($==="k256")Y=new f;else if($==="p224")Y=new b;else if($==="p192")Y=new u;else if($==="p25519")Y=new Y0;else throw new Error("Unknown prime "+$);return B[$]=Y,Y};function p($){if(typeof $=="string"){var Y=X._prime($);this.m=Y.p,this.prime=Y}else F($.gtn(1),"modulus must be greater than 1"),this.m=$,this.prime=null}p.prototype._verify1=function($){F($.negative===0,"red works only with positives"),F($.red,"red works only with red numbers")},p.prototype._verify2=function($,Y){F(($.negative|Y.negative)===0,"red works only with positives"),F($.red&&$.red===Y.red,"red works only with red numbers")},p.prototype.imod=function($){return this.prime?this.prime.ireduce($)._forceRed(this):$.umod(this.m)._forceRed(this)},p.prototype.neg=function($){return $.isZero()?$.clone():this.m.sub($)._forceRed(this)},p.prototype.add=function($,Y){this._verify2($,Y);var G=$.add(Y);return G.cmp(this.m)>=0&&G.isub(this.m),G._forceRed(this)},p.prototype.iadd=function($,Y){this._verify2($,Y);var G=$.iadd(Y);return G.cmp(this.m)>=0&&G.isub(this.m),G},p.prototype.sub=function($,Y){this._verify2($,Y);var G=$.sub(Y);return G.cmpn(0)<0&&G.iadd(this.m),G._forceRed(this)},p.prototype.isub=function($,Y){this._verify2($,Y);var G=$.isub(Y);return G.cmpn(0)<0&&G.iadd(this.m),G},p.prototype.shl=function($,Y){return this._verify1($),this.imod($.ushln(Y))},p.prototype.imul=function($,Y){return this._verify2($,Y),this.imod($.imul(Y))},p.prototype.mul=function($,Y){return this._verify2($,Y),this.imod($.mul(Y))},p.prototype.isqr=function($){return this.imul($,$.clone())},p.prototype.sqr=function($){return this.mul($,$)},p.prototype.sqrt=function($){if($.isZero())return $.clone();var Y=this.m.andln(3);if(F(Y%2===1),Y===3){var G=this.m.add(new X(1)).iushrn(2);return this.pow($,G)}for(var Z=this.m.subn(1),V=0;!Z.isZero()&&Z.andln(1)===0;)V++,Z.iushrn(1);F(!Z.isZero());var I=new X(1).toRed(this),O=I.redNeg(),U=this.m.subn(1).iushrn(1),Q=this.m.bitLength();for(Q=new X(2*Q*Q).toRed(this);this.pow(Q,U).cmp(O)!==0;)Q.redIAdd(O);for(var K=this.pow(Q,Z),L=this.pow($,Z.addn(1).iushrn(1)),A=this.pow($,Z),S=V;A.cmp(I)!==0;){for(var x=A,y=0;x.cmp(I)!==0;y++)x=x.redSqr();F(y=0;V--){for(var K=Y.words[V],L=Q-1;L>=0;L--){var A=K>>L&1;if(I!==Z[0]&&(I=this.sqr(I)),A===0&&O===0){U=0;continue}O<<=1,O|=A,U++,!(U!==G&&(V!==0||L!==0))&&(I=this.mul(I,Z[O]),U=0,O=0)}Q=26}return I},p.prototype.convertTo=function($){var Y=$.umod(this.m);return Y===$?Y.clone():Y},p.prototype.convertFrom=function($){var Y=$.clone();return Y.red=null,Y},X.mont=function($){return new v0($)};function v0($){p.call(this,$),this.shift=this.m.bitLength(),this.shift%26!==0&&(this.shift+=26-this.shift%26),this.r=new X(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}P(v0,p),v0.prototype.convertTo=function($){return this.imod($.ushln(this.shift))},v0.prototype.convertFrom=function($){var Y=this.imod($.mul(this.rinv));return Y.red=null,Y},v0.prototype.imul=function($,Y){if($.isZero()||Y.isZero())return $.words[0]=0,$.length=1,$;var G=$.imul(Y),Z=G.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),V=G.isub(Z).iushrn(this.shift),I=V;return V.cmp(this.m)>=0?I=V.isub(this.m):V.cmpn(0)<0&&(I=V.iadd(this.m)),I._forceRed(this)},v0.prototype.mul=function($,Y){if($.isZero()||Y.isZero())return new X(0)._forceRed(this);var G=$.mul(Y),Z=G.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),V=G.isub(Z).iushrn(this.shift),I=V;return V.cmp(this.m)>=0?I=V.isub(this.m):V.cmpn(0)<0&&(I=V.iadd(this.m)),I._forceRed(this)},v0.prototype.invm=function($){var Y=this.imod($._invmp(this.m).mul(this.r2));return Y._forceRed(this)}})(typeof _>"u"||_,N)}}),{CryptoHasher:$Z}=globalThis.Bun,cQ=S0({"node_modules/public-encrypt/withPublic.js"(N,_){var j=m$(),k=N0().Buffer;function F(P,X){return k.from(P.toRed(j.mont(X.modulus)).redPow(new j(X.publicExponent)).fromRed().toArray())}_.exports=F}}),QZ=S0({"node_modules/public-encrypt/publicEncrypt.js"(N,_){var j=_$(),k=L$(),F=M$(),P=pQ(),X=fQ(),C=m$(),z=cQ(),T=d$(),H=N0().Buffer;_.exports=function(E,R,M){var v;E.padding?v=E.padding:M?v=1:v=4;var q=j(E),g;if(v===4)g=J(q,R);else if(v===1)g=W(q,R,M);else if(v===3){if(g=new C(R),g.cmp(q.modulus)>=0)throw new Error("data too long for modulus")}else throw new Error("unknown padding");return M?T(g,q):z(g,q)};function J(E,R){var M=E.modulus.byteLength(),v=R.length,q=F("sha1").update(H.alloc(0)).digest(),g=q.length,B=2*g;if(v>M-B-2)throw new Error("message too long");var w=H.alloc(M-v-B-2),f=M-g-1,b=k(g),u=X(H.concat([q,w,H.alloc(1,1),R],f),P(b,f)),Y0=X(b,P(u,g));return new C(H.concat([H.alloc(1),Y0,u],M))}function W(E,R,M){var v=R.length,q=E.modulus.byteLength();if(v>q-11)throw new Error("message too long");var g;return M?g=H.alloc(q-v-3,255):g=D(q-v-3),new C(H.concat([H.from([0,M?1:2]),g,H.alloc(1),R],q))}function D(E){for(var R=H.allocUnsafe(E),M=0,v=k(E*2),q=0,g;Mq||new P(E).cmp(v.modulus)>=0)throw new Error("decryption error");var g;R?g=z(new P(E),v):g=X(E,v);var B=T.alloc(q-g.length);if(g=T.concat([B,g],q),M===4)return H(v,g);if(M===1)return J(v,g,R);if(M===3)return g;throw new Error("unknown padding")};function H(D,E){var R=D.modulus.byteLength(),M=C("sha1").update(T.alloc(0)).digest(),v=M.length;if(E[0]!==0)throw new Error("decryption error");var q=E.slice(1,v+1),g=E.slice(v+1),B=F(q,k(g,v)),w=F(g,k(B,R-v-1));if(W(M,w.slice(0,v)))throw new Error("decryption error");for(var f=v;w[f]===0;)f++;if(w[f++]!==1)throw new Error("decryption error");return w.slice(f)}function J(D,E,R){for(var M=E.slice(0,2),v=2,q=0;E[v++]!==0;)if(v>=E.length){q++;break}var g=E.slice(2,v-1);if((M.toString("hex")!=="0002"&&!R||M.toString("hex")!=="0001"&&R)&&q++,g.length<8&&q++,q)throw new Error("decryption error");return E.slice(v)}function W(D,E){D=T.from(D),E=T.from(E);var R=0,M=D.length;D.length!==E.length&&(R++,M=Math.min(D.length,E.length));for(var v=-1;++vP||J<0)throw new TypeError("offset must be a uint32");if(J>F||J>W)throw new RangeError("offset out of range")}function C(J,W,D){if(typeof J!="number"||J!==J)throw new TypeError("size must be a number");if(J>P||J<0)throw new TypeError("size must be a uint32");if(J+W>D||J>F)throw new RangeError("buffer too small")}N.randomFill=z,N.randomFillSync=H;function z(J,W,D,E){if(!k.isBuffer(J)&&!(J instanceof global.Uint8Array))throw new TypeError('"buf" argument must be a Buffer or Uint8Array');if(typeof W=="function")E=W,W=0,D=J.length;else if(typeof D=="function")E=D,D=J.length-W;else if(typeof E!="function")throw new TypeError('"cb" argument must be a function');return X(W,J.length),C(D,W,J.length),T(J,W,D,E)}function T(J,W,D,E){if(E){j(D,function(M,v){if(M)return E(M);v.copy(J,W),E(null,J)});return}var R=j(D);return R.copy(J,W),J}function H(J,W,D){if(typeof W>"u"&&(W=0),!k.isBuffer(J)&&!(J instanceof global.Uint8Array))throw new TypeError('"buf" argument must be a Buffer or Uint8Array');return X(W,J.length),D===void 0&&(D=J.length-W),C(D,W,J.length),T(J,W,D)}}}),VZ=S0({"node_modules/crypto-browserify/index.js"(N){N.randomBytes=N.rng=N.pseudoRandomBytes=N.prng=L$(),N.createHash=M$(),N.Hash=N.createHash.Hash,N.createHmac=N.Hmac=IQ();var _=QY(),j=Object.keys(_),k=["sha1","sha224","sha256","sha384","sha512","md5","rmd160"].concat(j);N.getHashes=function(){return k};var F=HQ();N.pbkdf2=F.pbkdf2,N.pbkdf2Sync=F.pbkdf2Sync;var P=TY();N.Cipher=P.Cipher,N.createCipher=P.createCipher,N.Cipheriv=P.Cipheriv,N.createCipheriv=P.createCipheriv,N.Decipher=P.Decipher,N.createDecipher=P.createDecipher,N.Decipheriv=P.Decipheriv,N.createDecipheriv=P.createDecipheriv,N.getCiphers=P.getCiphers,N.listCiphers=P.listCiphers;var X=RY();N.DiffieHellmanGroup=X.DiffieHellmanGroup,N.createDiffieHellmanGroup=X.createDiffieHellmanGroup,N.getDiffieHellman=X.getDiffieHellman,N.createDiffieHellman=X.createDiffieHellman,N.DiffieHellman=X.DiffieHellman;var C=eY();N.createSign=C.createSign,N.Sign=C.Sign,N.createVerify=C.createVerify,N.Verify=C.Verify,N.createECDH=iY();var z=ZZ();N.publicEncrypt=z.publicEncrypt,N.privateEncrypt=z.privateEncrypt,N.publicDecrypt=z.publicDecrypt,N.privateDecrypt=z.privateDecrypt,N.getRandomValues=(H)=>W$.getRandomValues(H);var T=GZ();N.randomFill=T.randomFill,N.randomFillSync=T.randomFillSync,N.createCredentials=function(){throw new Error(["sorry, createCredentials is not implemented yet","we accept pull requests","https://github.com/crypto-browserify/crypto-browserify"].join(` -`))},N.constants={DH_CHECK_P_NOT_SAFE_PRIME:2,DH_CHECK_P_NOT_PRIME:1,DH_UNABLE_TO_CHECK_GENERATOR:4,DH_NOT_SUITABLE_GENERATOR:8,NPN_ENABLED:1,ALPN_ENABLED:1,RSA_PKCS1_PADDING:1,RSA_SSLV23_PADDING:2,RSA_NO_PADDING:3,RSA_PKCS1_OAEP_PADDING:4,RSA_X931_PADDING:5,RSA_PKCS1_PSS_PADDING:6,POINT_CONVERSION_COMPRESSED:2,POINT_CONVERSION_UNCOMPRESSED:4,POINT_CONVERSION_HYBRID:6}}}),a$={...VZ(),[Symbol.for("CommonJS")]:0},P$="buffer",UZ=(N)=>W$.getRandomValues(N),XZ=()=>W$.randomUUID(),KZ=(...N)=>W$.randomInt(...N),y$="timingSafeEqual"in W$?(N,_)=>{let{byteLength:j}=N,{byteLength:k}=_;if(typeof j!="number"||typeof k!="number")throw new TypeError("Input must be an array buffer view");if(j!==k)throw new RangeError("Input buffers must have the same length");return W$.timingSafeEqual(N,_)}:void 0,hQ="scryptSync"in W$?(N,_,j,k)=>{let F=W$.scryptSync(N,_,j,k);return P$!=="buffer"?new j0(F).toString(P$):new j0(F)}:void 0,dQ="scryptSync"in W$?function(N,_,j,k,F){if(typeof k=="function"&&(F=k,k=void 0),typeof F!="function"){var P=new TypeError("callback must be a function");throw P.code="ERR_INVALID_CALLBACK",P}try{let X=W$.scryptSync(N,_,j,k);process.nextTick(F,null,P$!=="buffer"?new j0(X).toString(P$):new j0(X))}catch(X){throw X}}:void 0;y$&&(Object.defineProperty(y$,"name",{value:"::bunternal::"}),Object.defineProperty(dQ,"name",{value:"::bunternal::"}),Object.defineProperty(hQ,"name",{value:"::bunternal::"}));var IZ=["p192","p224","p256","p384","p521","curve25519","ed25519","secp256k1","secp224r1","prime256v1","prime192v1","ed25519","secp384r1","secp521r1"],r$=W$;mQ(a$,{DEFAULT_ENCODING:()=>P$,getRandomValues:()=>UZ,randomUUID:()=>XZ,randomInt:()=>KZ,getCurves:()=>OZ,scrypt:()=>dQ,scryptSync:()=>hQ,timingSafeEqual:()=>y$,webcrypto:()=>r$,subtle:()=>r$.subtle});var{randomBytes:WZ,rng:HZ,pseudoRandomBytes:EZ,prng:TZ,Hash:DZ,createHash:CZ,createHmac:LZ,Hmac:RZ,getHashes:zZ,pbkdf2:PZ,pbkdf2Sync:MZ,Cipher:SZ,createCipher:vZ,Cipheriv:qZ,createCipheriv:jZ,Decipher:kZ,createDecipher:gZ,Decipheriv:_Z,createDecipheriv:NZ,getCiphers:xZ,listCiphers:BZ,DiffieHellmanGroup:yZ,createDiffieHellmanGroup:wZ,getDiffieHellman:pZ,createDiffieHellman:fZ,DiffieHellman:cZ,createSign:hZ,Sign:dZ,createVerify:bZ,Verify:lZ,createECDH:oZ,publicEncrypt:uZ,privateEncrypt:nZ,publicDecrypt:sZ,privateDecrypt:tZ,randomFill:mZ,randomFillSync:aZ,createCredentials:eZ,constants:rZ}=a$;var $G=a$;/*! safe-buffer. MIT License. Feross Aboukhadijeh */export{r$ as webcrypto,y$ as timingSafeEqual,hQ as scryptSync,dQ as scrypt,HZ as rng,XZ as randomUUID,KZ as randomInt,aZ as randomFillSync,mZ as randomFill,WZ as randomBytes,uZ as publicEncrypt,sZ as publicDecrypt,EZ as pseudoRandomBytes,TZ as prng,nZ as privateEncrypt,tZ as privateDecrypt,MZ as pbkdf2Sync,PZ as pbkdf2,BZ as listCiphers,UZ as getRandomValues,zZ as getHashes,pZ as getDiffieHellman,OZ as getCurves,xZ as getCiphers,$G as default,bZ as createVerify,hZ as createSign,LZ as createHmac,CZ as createHash,oZ as createECDH,wZ as createDiffieHellmanGroup,fZ as createDiffieHellman,NZ as createDecipheriv,gZ as createDecipher,eZ as createCredentials,jZ as createCipheriv,vZ as createCipher,rZ as constants,lZ as Verify,dZ as Sign,RZ as Hmac,DZ as Hash,yZ as DiffieHellmanGroup,cZ as DiffieHellman,_Z as Decipheriv,kZ as Decipher,P$ as DEFAULT_ENCODING,qZ as Cipheriv,SZ as Cipher}; diff --git a/src/js/out/modules/node/dgram.js b/src/js/out/modules/node/dgram.js deleted file mode 100644 index 776e80253e235..0000000000000 --- a/src/js/out/modules/node/dgram.js +++ /dev/null @@ -1,38 +0,0 @@ -function throwNotImplemented(feature, issue) { - throw hideFromStack(throwNotImplemented), new NotImplementedError(feature, issue); -} -function hideFromStack(...fns) { - for (let fn of fns) - Object.defineProperty(fn, "name", { - value: "::bunternal::" - }); -} - -class NotImplementedError extends Error { - code; - constructor(feature, issue) { - super(feature + " is not yet implemented in Bun." + (issue ? " Track the status & thumbs up the issue: https://github.com/oven-sh/bun/issues/" + issue : "")); - this.name = "NotImplementedError", this.code = "ERR_NOT_IMPLEMENTED", hideFromStack(NotImplementedError); - } -} - -// src/js/node/dgram.ts -var createSocket = function() { - throwNotImplemented("node:dgram createSocket", 1630); -}, Socket = function() { - throwNotImplemented("node:dgram Socket", 1630); -}, _createSocketHandle = function() { - throwNotImplemented("node:dgram _createSocketHandle", 1630); -}, defaultObject = { - createSocket, - Socket, - _createSocketHandle, - [Symbol.for("CommonJS")]: 0 -}; -hideFromStack(createSocket, Socket, _createSocketHandle); -export { - defaultObject as default, - createSocket, - _createSocketHandle, - Socket -}; diff --git a/src/js/out/modules/node/diagnostics_channel.js b/src/js/out/modules/node/diagnostics_channel.js deleted file mode 100644 index f4d9d990c78fa..0000000000000 --- a/src/js/out/modules/node/diagnostics_channel.js +++ /dev/null @@ -1,51 +0,0 @@ -function throwNotImplemented(feature, issue) { - throw hideFromStack(throwNotImplemented), new NotImplementedError(feature, issue); -} -function hideFromStack(...fns) { - for (let fn of fns) - Object.defineProperty(fn, "name", { - value: "::bunternal::" - }); -} - -class NotImplementedError extends Error { - code; - constructor(feature, issue) { - super(feature + " is not yet implemented in Bun." + (issue ? " Track the status & thumbs up the issue: https://github.com/oven-sh/bun/issues/" + issue : "")); - this.name = "NotImplementedError", this.code = "ERR_NOT_IMPLEMENTED", hideFromStack(NotImplementedError); - } -} - -// src/js/node/diagnostics_channel.js -var channel = function() { - throwNotImplemented("node:diagnostics_channel", 2688); -}, hasSubscribers = function() { - throwNotImplemented("node:diagnostics_channel", 2688); -}, subscribe = function() { - throwNotImplemented("node:diagnostics_channel", 2688); -}, unsubscribe = function() { - throwNotImplemented("node:diagnostics_channel", 2688); -}; - -class Channel { - constructor(name) { - throwNotImplemented("node:diagnostics_channel", 2688); - } -} -var defaultObject = { - channel, - hasSubscribers, - subscribe, - unsubscribe, - Channel, - [Symbol.for("CommonJS")]: 0 -}; -hideFromStack([channel, hasSubscribers, subscribe, unsubscribe, Channel]); -export { - unsubscribe, - subscribe, - hasSubscribers, - defaultObject as default, - channel, - Channel -}; diff --git a/src/js/out/modules/node/dns.js b/src/js/out/modules/node/dns.js deleted file mode 100644 index bbbc94cba1a33..0000000000000 --- a/src/js/out/modules/node/dns.js +++ /dev/null @@ -1,535 +0,0 @@ -var lookup = function(domain, options, callback) { - if (typeof options == "function") - callback = options; - if (typeof callback != "function") - throw new TypeError("callback must be a function"); - if (typeof options == "number") - options = { family: options }; - dns.lookup(domain, options).then((res) => { - if (res.sort((a, b) => a.family - b.family), options?.all) - callback(null, res.map(mapLookupAll)); - else { - const [{ address, family }] = res; - callback(null, address, family); - } - }, (error) => { - callback(error); - }); -}, resolveSrv = function(hostname, callback) { - if (typeof callback != "function") - throw new TypeError("callback must be a function"); - dns.resolveSrv(hostname, callback).then((results) => { - callback(null, results); - }, (error) => { - callback(error); - }); -}, resolveTxt = function(hostname, callback) { - if (typeof callback != "function") - throw new TypeError("callback must be a function"); - dns.resolveTxt(hostname, callback).then((results) => { - callback(null, results); - }, (error) => { - callback(error); - }); -}, resolveSoa = function(hostname, callback) { - if (typeof callback != "function") - throw new TypeError("callback must be a function"); - dns.resolveSoa(hostname, callback).then((results) => { - callback(null, results); - }, (error) => { - callback(error); - }); -}, resolveNaptr = function(hostname, callback) { - if (typeof callback != "function") - throw new TypeError("callback must be a function"); - dns.resolveNaptr(hostname, callback).then((results) => { - callback(null, results); - }, (error) => { - callback(error); - }); -}, resolveMx = function(hostname, callback) { - if (typeof callback != "function") - throw new TypeError("callback must be a function"); - dns.resolveMx(hostname, callback).then((results) => { - callback(null, results); - }, (error) => { - callback(error); - }); -}, resolveCaa = function(hostname, callback) { - if (typeof callback != "function") - throw new TypeError("callback must be a function"); - dns.resolveCaa(hostname, callback).then((results) => { - callback(null, results); - }, (error) => { - callback(error); - }); -}, resolveNs = function(hostname, callback) { - if (typeof callback != "function") - throw new TypeError("callback must be a function"); - dns.resolveNs(hostname, callback).then((results) => { - callback(null, results); - }, (error) => { - callback(error); - }); -}, resolvePtr = function(hostname, callback) { - if (typeof callback != "function") - throw new TypeError("callback must be a function"); - dns.resolvePtr(hostname, callback).then((results) => { - callback(null, results); - }, (error) => { - callback(error); - }); -}, resolveCname = function(hostname, callback) { - if (typeof callback != "function") - throw new TypeError("callback must be a function"); - dns.resolveCname(hostname, callback).then((results) => { - callback(null, results); - }, (error) => { - callback(error); - }); -}, lookupService = function(address, port, callback) { - if (typeof callback != "function") - throw new TypeError("callback must be a function"); - callback(null, address, port); -}, resolve = function(hostname, rrtype, callback) { - if (typeof rrtype == "function") - callback = rrtype; - if (typeof callback != "function") - throw new TypeError("callback must be a function"); - dns.resolve(hostname).then((results) => { - switch (rrtype?.toLowerCase()) { - case "a": - case "aaaa": - callback(null, hostname, results.map(({ address }) => address)); - break; - default: - callback(null, results); - break; - } - }, (error) => { - callback(error); - }); -}, Resolver = function(options) { - return new InternalResolver(options); -}, setDefaultResultOrder = function() { -}, setServers = function() { -}, { dns } = globalThis.Bun, InternalResolver = class Resolver2 { - constructor(options) { - } - cancel() { - } - getServers() { - return []; - } - resolve(hostname, rrtype, callback) { - if (typeof rrtype == "function") - callback = rrtype, rrtype = null; - if (typeof callback != "function") - throw new TypeError("callback must be a function"); - dns.resolve(hostname).then((results) => { - switch (rrtype?.toLowerCase()) { - case "a": - case "aaaa": - callback(null, hostname, results.map(mapResolveX)); - break; - default: - callback(null, results); - break; - } - }, (error) => { - callback(error); - }); - } - resolve4(hostname, options, callback) { - if (typeof options == "function") - callback = options, options = null; - if (typeof callback != "function") - throw new TypeError("callback must be a function"); - dns.lookup(hostname, { family: 4 }).then((addresses) => { - callback(null, options?.ttl ? addresses : addresses.map(mapResolveX)); - }, (error) => { - callback(error); - }); - } - resolve6(hostname, options, callback) { - if (typeof options == "function") - callback = options, options = null; - if (typeof callback != "function") - throw new TypeError("callback must be a function"); - dns.lookup(hostname, { family: 6 }).then((addresses) => { - callback(null, options?.ttl ? addresses : addresses.map(({ address }) => address)); - }, (error) => { - callback(error); - }); - } - resolveAny(hostname, callback) { - callback(null, []); - } - resolveCname(hostname, callback) { - if (typeof callback != "function") - throw new TypeError("callback must be a function"); - dns.resolveCname(hostname, callback).then((results) => { - callback(null, results); - }, (error) => { - callback(error); - }); - } - resolveMx(hostname, callback) { - if (typeof callback != "function") - throw new TypeError("callback must be a function"); - dns.resolveMx(hostname, callback).then((results) => { - callback(null, results); - }, (error) => { - callback(error); - }); - } - resolveNaptr(hostname, callback) { - if (typeof callback != "function") - throw new TypeError("callback must be a function"); - dns.resolveNaptr(hostname, callback).then((results) => { - callback(null, results); - }, (error) => { - callback(error); - }); - } - resolveNs(hostname, callback) { - if (typeof callback != "function") - throw new TypeError("callback must be a function"); - dns.resolveNs(hostname, callback).then((results) => { - callback(null, results); - }, (error) => { - callback(error); - }); - } - resolvePtr(hostname, callback) { - if (typeof callback != "function") - throw new TypeError("callback must be a function"); - dns.resolvePtr(hostname, callback).then((results) => { - callback(null, results); - }, (error) => { - callback(error); - }); - } - resolveSrv(hostname, callback) { - if (typeof callback != "function") - throw new TypeError("callback must be a function"); - dns.resolveSrv(hostname, callback).then((results) => { - callback(null, results); - }, (error) => { - callback(error); - }); - } - resolveCaa(hostname, callback) { - if (typeof callback != "function") - throw new TypeError("callback must be a function"); - dns.resolveCaa(hostname, callback).then((results) => { - callback(null, results); - }, (error) => { - callback(error); - }); - } - resolveTxt(hostname, callback) { - if (typeof callback != "function") - throw new TypeError("callback must be a function"); - dns.resolveTxt(hostname, callback).then((results) => { - callback(null, results); - }, (error) => { - callback(error); - }); - } - resolveSoa(hostname, callback) { - if (typeof callback != "function") - throw new TypeError("callback must be a function"); - dns.resolveSoa(hostname, callback).then((results) => { - callback(null, results); - }, (error) => { - callback(error); - }); - } - reverse(ip, callback) { - callback(null, []); - } - setServers(servers) { - } -}; -Object.setPrototypeOf(Resolver.prototype, InternalResolver.prototype); -Object.setPrototypeOf(Resolver, InternalResolver); -var { - resolve, - resolve4, - resolve6, - resolveAny, - resolveCname, - resolveCaa, - resolveMx, - resolveNaptr, - resolveNs, - resolvePtr, - resolveSoa, - resolveSrv, - reverse, - resolveTxt -} = InternalResolver.prototype, promisifyLookup = (res) => { - res.sort((a, b) => a.family - b.family); - const [{ address, family }] = res; - return { address, family }; -}, mapLookupAll = (res) => { - const { address, family } = res; - return { address, family }; -}, promisifyLookupAll = (res) => { - return res.sort((a, b) => a.family - b.family), res.map(mapLookupAll); -}, mapResolveX = (a) => a.address, promisifyResolveX = (res) => { - return res?.map(mapResolveX); -}, promises = { - lookup(domain, options) { - if (options?.all) - return dns.lookup(domain, options).then(promisifyLookupAll); - return dns.lookup(domain, options).then(promisifyLookup); - }, - lookupService(address, port) { - return Promise.resolve([]); - }, - resolve(hostname, rrtype) { - if (typeof rrtype !== "string") - rrtype = null; - switch (rrtype?.toLowerCase()) { - case "a": - case "aaaa": - return dns.resolve(hostname, rrtype).then(promisifyLookup); - default: - return dns.resolve(hostname, rrtype); - } - }, - resolve4(hostname, options) { - if (options?.ttl) - return dns.lookup(hostname, { family: 4 }); - return dns.lookup(hostname, { family: 4 }).then(promisifyResolveX); - }, - resolve6(hostname, options) { - if (options?.ttl) - return dns.lookup(hostname, { family: 6 }); - return dns.lookup(hostname, { family: 6 }).then(promisifyResolveX); - }, - resolveSrv(hostname) { - return dns.resolveSrv(hostname); - }, - resolveTxt(hostname) { - return dns.resolveTxt(hostname); - }, - resolveSoa(hostname) { - return dns.resolveSoa(hostname); - }, - resolveNaptr(hostname) { - return dns.resolveNaptr(hostname); - }, - resolveMx(hostname) { - return dns.resolveMx(hostname); - }, - resolveCaa(hostname) { - return dns.resolveCaa(hostname); - }, - resolveNs(hostname) { - return dns.resolveNs(hostname); - }, - resolvePtr(hostname) { - return dns.resolvePtr(hostname); - }, - resolveCname(hostname) { - return dns.resolveCname(hostname); - }, - Resolver: class Resolver3 { - constructor(options) { - } - cancel() { - } - getServers() { - return []; - } - resolve(hostname, rrtype) { - if (typeof rrtype !== "string") - rrtype = null; - switch (rrtype?.toLowerCase()) { - case "a": - case "aaaa": - return dns.resolve(hostname, rrtype).then(promisifyLookup); - default: - return dns.resolve(hostname, rrtype); - } - } - resolve4(hostname, options) { - if (options?.ttl) - return dns.lookup(hostname, { family: 4 }); - return dns.lookup(hostname, { family: 4 }).then(promisifyResolveX); - } - resolve6(hostname, options) { - if (options?.ttl) - return dns.lookup(hostname, { family: 6 }); - return dns.lookup(hostname, { family: 6 }).then(promisifyResolveX); - } - resolveAny(hostname) { - return Promise.resolve([]); - } - resolveCname(hostname) { - return dns.resolveCname(hostname); - } - resolveMx(hostname) { - return dns.resolveMx(hostname); - } - resolveNaptr(hostname) { - return dns.resolveNaptr(hostname); - } - resolveNs(hostname) { - return dns.resolveNs(hostname); - } - resolvePtr(hostname) { - return dns.resolvePtr(hostname); - } - resolveSoa(hostname) { - return dns.resolveSoa(hostname); - } - resolveSrv(hostname) { - return dns.resolveSrv(hostname); - } - resolveCaa(hostname) { - return dns.resolveCaa(hostname); - } - resolveTxt(hostname) { - return dns.resolveTxt(hostname); - } - reverse(ip) { - return Promise.resolve([]); - } - setServers(servers) { - } - } -}; -for (let key of ["resolveAny", "reverse"]) - promises[key] = () => Promise.resolve(void 0); -var exports = { - ADDRCONFIG: 0, - ALL: 1, - V4MAPPED: 2, - NODATA: "DNS_ENODATA", - FORMERR: "DNS_EFORMERR", - SERVFAIL: "DNS_ESERVFAIL", - NOTFOUND: "DNS_ENOTFOUND", - NOTIMP: "DNS_ENOTIMP", - REFUSED: "DNS_EREFUSED", - BADQUERY: "DNS_EBADQUERY", - BADNAME: "DNS_EBADNAME", - BADFAMILY: "DNS_EBADFAMILY", - BADRESP: "DNS_EBADRESP", - CONNREFUSED: "DNS_ECONNREFUSED", - TIMEOUT: "DNS_ETIMEOUT", - EOF: "DNS_EEOF", - FILE: "DNS_EFILE", - NOMEM: "DNS_ENOMEM", - DESTRUCTION: "DNS_EDESTRUCTION", - BADSTR: "DNS_EBADSTR", - BADFLAGS: "DNS_EBADFLAGS", - NONAME: "DNS_ENONAME", - BADHINTS: "DNS_EBADHINTS", - NOTINITIALIZED: "DNS_ENOTINITIALIZED", - LOADIPHLPAPI: "DNS_ELOADIPHLPAPI", - ADDRGETNETWORKPARAMS: "DNS_EADDRGETNETWORKPARAMS", - CANCELLED: "DNS_ECANCELLED", - lookup, - lookupService, - Resolver, - setServers, - setDefaultResultOrder, - resolve, - reverse, - resolve4, - resolve6, - resolveAny, - resolveCname, - resolveCaa, - resolveMx, - resolveNs, - resolvePtr, - resolveSoa, - resolveSrv, - resolveTxt, - resolveNaptr, - promises, - [Symbol.for("CommonJS")]: 0 -}, dns_default = exports, { - ADDRCONFIG, - ALL, - V4MAPPED, - NODATA, - FORMERR, - SERVFAIL, - NOTFOUND, - NOTIMP, - REFUSED, - BADQUERY, - BADNAME, - BADFAMILY, - BADRESP, - CONNREFUSED, - TIMEOUT, - EOF, - FILE, - NOMEM, - DESTRUCTION, - BADSTR, - BADFLAGS, - NONAME, - BADHINTS, - NOTINITIALIZED, - LOADIPHLPAPI, - ADDRGETNETWORKPARAMS, - CANCELLED -} = exports; -export { - setServers, - setDefaultResultOrder, - reverse, - resolveTxt, - resolveSrv, - resolveSoa, - resolvePtr, - resolveNs, - resolveNaptr, - resolveMx, - resolveCname, - resolveCaa, - resolveAny, - resolve6, - resolve4, - resolve, - promises, - lookupService, - lookup, - dns_default as default, - V4MAPPED, - TIMEOUT, - SERVFAIL, - Resolver, - REFUSED, - NOTINITIALIZED, - NOTIMP, - NOTFOUND, - NONAME, - NOMEM, - NODATA, - LOADIPHLPAPI, - FORMERR, - FILE, - EOF, - DESTRUCTION, - CONNREFUSED, - CANCELLED, - BADSTR, - BADRESP, - BADQUERY, - BADNAME, - BADHINTS, - BADFLAGS, - BADFAMILY, - ALL, - ADDRGETNETWORKPARAMS, - ADDRCONFIG -}; diff --git a/src/js/out/modules/node/dns.promises.js b/src/js/out/modules/node/dns.promises.js deleted file mode 100644 index dde4a128051f0..0000000000000 --- a/src/js/out/modules/node/dns.promises.js +++ /dev/null @@ -1,65 +0,0 @@ -import {promises} from "node:dns"; -var { - lookup, - lookupService, - resolve, - resolve4, - resolve6, - resolveAny, - resolveCname, - resolveCaa, - resolveMx, - resolveNaptr, - resolveNs, - resolvePtr, - resolveSoa, - resolveSrv, - resolveTxt, - reverse, - Resolver, - setServers, - setDefaultResultOrder -} = promises, dns_promises_default = { - lookup, - lookupService, - resolve, - resolve4, - resolve6, - resolveAny, - resolveCname, - resolveCaa, - resolveMx, - resolveNaptr, - resolveNs, - resolvePtr, - resolveSoa, - resolveSrv, - resolveTxt, - reverse, - Resolver, - setServers, - setDefaultResultOrder, - [Symbol.for("CommonJS")]: 0 -}; -export { - setServers, - setDefaultResultOrder, - reverse, - resolveTxt, - resolveSrv, - resolveSoa, - resolvePtr, - resolveNs, - resolveNaptr, - resolveMx, - resolveCname, - resolveCaa, - resolveAny, - resolve6, - resolve4, - resolve, - lookupService, - lookup, - dns_promises_default as default, - Resolver -}; diff --git a/src/js/out/modules/node/events.js b/src/js/out/modules/node/events.js deleted file mode 100644 index 21704b36d15b3..0000000000000 --- a/src/js/out/modules/node/events.js +++ /dev/null @@ -1,364 +0,0 @@ -function throwNotImplemented(feature, issue) { - throw hideFromStack(throwNotImplemented), new NotImplementedError(feature, issue); -} -function hideFromStack(...fns) { - for (let fn of fns) - Object.defineProperty(fn, "name", { - value: "::bunternal::" - }); -} - -class NotImplementedError extends Error { - code; - constructor(feature, issue) { - super(feature + " is not yet implemented in Bun." + (issue ? " Track the status & thumbs up the issue: https://github.com/oven-sh/bun/issues/" + issue : "")); - this.name = "NotImplementedError", this.code = "ERR_NOT_IMPLEMENTED", hideFromStack(NotImplementedError); - } -} - -// src/js/node/events.js -var EventEmitter = function(opts) { - if (this._events === void 0 || this._events === this.__proto__._events) - this._events = { __proto__: null }, this._eventsCount = 0; - if (this._maxListeners ??= void 0, this[kCapture] = opts?.captureRejections ? Boolean(opts?.captureRejections) : EventEmitterPrototype[kCapture]) - this.emit = emitWithRejectionCapture; -}, emitError = function(emitter, args) { - var { _events: events } = emitter; - if (args[0] ??= new Error("Unhandled error."), !events) - throw args[0]; - var errorMonitor = events[kErrorMonitor]; - if (errorMonitor) - for (var handler of ArrayPrototypeSlice.call(errorMonitor)) - handler.apply(emitter, args); - var handlers = events.error; - if (!handlers) - throw args[0]; - for (var handler of ArrayPrototypeSlice.call(handlers)) - handler.apply(emitter, args); - return !0; -}, addCatch = function(emitter, promise, type, args) { - promise.then(void 0, function(err) { - process.nextTick(emitUnhandledRejectionOrErr, emitter, err, type, args); - }); -}, emitUnhandledRejectionOrErr = function(emitter, err, type, args) { - if (typeof emitter[kRejection] === "function") - emitter[kRejection](err, type, ...args); - else - try { - emitter[kCapture] = !1, emitter.emit("error", err); - } finally { - emitter[kCapture] = !0; - } -}, overflowWarning = function(emitter, type, handlers) { - handlers.warned = !0; - const warn = new Error(`Possible EventEmitter memory leak detected. ${handlers.length} ${String(type)} listeners ` + `added to [${emitter.constructor.name}]. Use emitter.setMaxListeners() to increase limit`); - warn.name = "MaxListenersExceededWarning", warn.emitter = emitter, warn.type = type, warn.count = handlers.length, process.emitWarning(warn); -}, onceWrapper = function(type, listener, ...args) { - this.removeListener(type, listener), listener.apply(this, args); -}, once = function(emitter, type, options) { - var signal = options?.signal; - if (validateAbortSignal(signal, "options.signal"), signal?.aborted) - throw new AbortError(void 0, { cause: signal?.reason }); - return new Promise((resolve, reject) => { - const errorListener = (err) => { - if (emitter.removeListener(type, resolver), signal != null) - eventTargetAgnosticRemoveListener(signal, "abort", abortListener); - reject(err); - }, resolver = (...args) => { - if (typeof emitter.removeListener === "function") - emitter.removeListener("error", errorListener); - if (signal != null) - eventTargetAgnosticRemoveListener(signal, "abort", abortListener); - resolve(args); - }; - if (eventTargetAgnosticAddListener(emitter, type, resolver, { once: !0 }), type !== "error" && typeof emitter.once === "function") - emitter.once("error", errorListener); - function abortListener() { - eventTargetAgnosticRemoveListener(emitter, type, resolver), eventTargetAgnosticRemoveListener(emitter, "error", errorListener), reject(new AbortError(void 0, { cause: signal?.reason })); - } - if (signal != null) - eventTargetAgnosticAddListener(signal, "abort", abortListener, { once: !0 }); - }); -}, on = function(emitter, type, options) { - var { signal, close, highWatermark = Number.MAX_SAFE_INTEGER, lowWatermark = 1 } = options || {}; - throwNotImplemented("events.on", 2679); -}, getEventListeners = function(emitter, type) { - if (emitter instanceof EventTarget) - throwNotImplemented("getEventListeners with an EventTarget", 2678); - return emitter.listeners(type); -}, setMaxListeners = function(n, ...eventTargets) { - validateNumber(n, "setMaxListeners", 0); - var length; - if (eventTargets && (length = eventTargets.length)) - for (let i = 0;i < length; i++) - eventTargets[i].setMaxListeners(n); - else - defaultMaxListeners = n; -}, listenerCount = function(emitter, type) { - return emitter.listenerCount(type); -}, eventTargetAgnosticRemoveListener = function(emitter, name, listener, flags) { - if (typeof emitter.removeListener === "function") - emitter.removeListener(name, listener); - else - emitter.removeEventListener(name, listener, flags); -}, eventTargetAgnosticAddListener = function(emitter, name, listener, flags) { - if (typeof emitter.on === "function") - emitter.on(name, listener); - else - emitter.addEventListener(name, listener); -}, ERR_INVALID_ARG_TYPE = function(name, type, value) { - const err = new TypeError(`The "${name}" argument must be of type ${type}. Received ${value}`); - return err.code = "ERR_INVALID_ARG_TYPE", err; -}, ERR_OUT_OF_RANGE = function(name, range, value) { - const err = new RangeError(`The "${name}" argument is out of range. It must be ${range}. Received ${value}`); - return err.code = "ERR_OUT_OF_RANGE", err; -}, validateAbortSignal = function(signal, name) { - if (signal !== void 0 && (signal === null || typeof signal !== "object" || !("aborted" in signal))) - throw new ERR_INVALID_ARG_TYPE(name, "AbortSignal", signal); -}, validateNumber = function(value, name, min = void 0, max) { - if (typeof value !== "number") - throw new ERR_INVALID_ARG_TYPE(name, "number", value); - if (min != null && value < min || max != null && value > max || (min != null || max != null) && Number.isNaN(value)) - throw new ERR_OUT_OF_RANGE(name, `${min != null ? `>= ${min}` : ""}${min != null && max != null ? " && " : ""}${max != null ? `<= ${max}` : ""}`, value); -}, checkListener = function(listener) { - if (typeof listener !== "function") - throw new TypeError("The listener must be a function"); -}, { isPromise, Array, Object: Object2 } = globalThis[Symbol.for("Bun.lazy")]("primordials"), SymbolFor = Symbol.for, ObjectDefineProperty = Object2.defineProperty, kCapture = Symbol("kCapture"), kErrorMonitor = SymbolFor("events.errorMonitor"), kMaxEventTargetListeners = Symbol("events.maxEventTargetListeners"), kMaxEventTargetListenersWarned = Symbol("events.maxEventTargetListenersWarned"), kWatermarkData = SymbolFor("nodejs.watermarkData"), kRejection = SymbolFor("nodejs.rejection"), captureRejectionSymbol = SymbolFor("nodejs.rejection"), ArrayPrototypeSlice = Array.prototype.slice, defaultMaxListeners = 10, EventEmitterPrototype = EventEmitter.prototype; -EventEmitterPrototype._events = void 0; -EventEmitterPrototype._eventsCount = 0; -EventEmitterPrototype._maxListeners = void 0; -EventEmitterPrototype.setMaxListeners = function setMaxListeners2(n) { - return validateNumber(n, "setMaxListeners", 0), this._maxListeners = n, this; -}; -EventEmitterPrototype.getMaxListeners = function getMaxListeners() { - return this._maxListeners ?? defaultMaxListeners; -}; -var emitWithoutRejectionCapture = function emit(type, ...args) { - if (type === "error") - return emitError(this, args); - var { _events: events } = this; - if (events === void 0) - return !1; - var handlers = events[type]; - if (handlers === void 0) - return !1; - for (var handler of [...handlers]) - handler.apply(this, args); - return !0; -}, emitWithRejectionCapture = function emit2(type, ...args) { - if (type === "error") - return emitError(this, args); - var { _events: events } = this; - if (events === void 0) - return !1; - var handlers = events[type]; - if (handlers === void 0) - return !1; - for (var handler of [...handlers]) { - var result = handler.apply(this, args); - if (result !== void 0 && isPromise(result)) - addCatch(this, result, type, args); - } - return !0; -}; -EventEmitterPrototype.emit = emitWithoutRejectionCapture; -EventEmitterPrototype.addListener = function addListener(type, fn) { - checkListener(fn); - var events = this._events; - if (!events) - events = this._events = { __proto__: null }, this._eventsCount = 0; - else if (events.newListener) - this.emit("newListener", type, fn.listener ?? fn); - var handlers = events[type]; - if (!handlers) - events[type] = [fn], this._eventsCount++; - else { - handlers.push(fn); - var m = this._maxListeners ?? defaultMaxListeners; - if (m > 0 && handlers.length > m && !handlers.warned) - overflowWarning(this, type, handlers); - } - return this; -}; -EventEmitterPrototype.on = EventEmitterPrototype.addListener; -EventEmitterPrototype.prependListener = function prependListener(type, fn) { - checkListener(fn); - var events = this._events; - if (!events) - events = this._events = { __proto__: null }, this._eventsCount = 0; - else if (events.newListener) - this.emit("newListener", type, fn.listener ?? fn); - var handlers = events[type]; - if (!handlers) - events[type] = [fn], this._eventsCount++; - else { - handlers.unshift(fn); - var m = this._maxListeners ?? defaultMaxListeners; - if (m > 0 && handlers.length > m && !handlers.warned) - overflowWarning(this, type, handlers); - } - return this; -}; -EventEmitterPrototype.once = function once2(type, fn) { - checkListener(fn); - const bound = onceWrapper.bind(this, type, fn); - return bound.listener = fn, this.addListener(type, bound), this; -}; -EventEmitterPrototype.prependOnceListener = function prependOnceListener(type, fn) { - checkListener(fn); - const bound = onceWrapper.bind(this, type, fn); - return bound.listener = fn, this.prependListener(type, bound), this; -}; -EventEmitterPrototype.removeListener = function removeListener(type, fn) { - checkListener(fn); - var { _events: events } = this; - if (!events) - return this; - var handlers = events[type]; - if (!handlers) - return this; - var length = handlers.length; - let position = -1; - for (let i = length - 1;i >= 0; i--) - if (handlers[i] === fn || handlers[i].listener === fn) { - position = i; - break; - } - if (position < 0) - return this; - if (position === 0) - handlers.shift(); - else - handlers.splice(position, 1); - if (handlers.length === 0) - delete events[type], this._eventsCount--; - return this; -}; -EventEmitterPrototype.off = EventEmitterPrototype.removeListener; -EventEmitterPrototype.removeAllListeners = function removeAllListeners(type) { - var { _events: events } = this; - if (type && events) { - if (events[type]) - delete events[type], this._eventsCount--; - } else - this._events = { __proto__: null }; - return this; -}; -EventEmitterPrototype.listeners = function listeners(type) { - var { _events: events } = this; - if (!events) - return []; - var handlers = events[type]; - if (!handlers) - return []; - return handlers.map((x) => x.listener ?? x); -}; -EventEmitterPrototype.rawListeners = function rawListeners(type) { - var { _events } = this; - if (!_events) - return []; - var handlers = _events[type]; - if (!handlers) - return []; - return handlers.slice(); -}; -EventEmitterPrototype.listenerCount = function listenerCount2(type) { - var { _events: events } = this; - if (!events) - return 0; - return events[type]?.length ?? 0; -}; -EventEmitterPrototype.eventNames = function eventNames() { - return this._eventsCount > 0 ? Reflect.ownKeys(this._events) : []; -}; -EventEmitterPrototype[kCapture] = !1; -EventEmitter.once = once; -EventEmitter.on = on; -EventEmitter.getEventListeners = getEventListeners; -EventEmitter.setMaxListeners = setMaxListeners; -EventEmitter.listenerCount = listenerCount; -EventEmitter.EventEmitter = EventEmitter; -EventEmitter.usingDomains = !1; -EventEmitter.captureRejectionSymbol = captureRejectionSymbol; -ObjectDefineProperty(EventEmitter, "captureRejections", { - __proto__: null, - get() { - return EventEmitterPrototype[kCapture]; - }, - set(value) { - validateBoolean(value, "EventEmitter.captureRejections"), EventEmitterPrototype[kCapture] = value; - }, - enumerable: !0 -}); -EventEmitter.errorMonitor = kErrorMonitor; -Object2.defineProperties(EventEmitter, { - defaultMaxListeners: { - enumerable: !0, - get: () => { - return defaultMaxListeners; - }, - set: (arg) => { - validateNumber(arg, "defaultMaxListeners", 0), defaultMaxListeners = arg; - } - }, - kMaxEventTargetListeners: { - __proto__: null, - value: kMaxEventTargetListeners, - enumerable: !1, - configurable: !1, - writable: !1 - }, - kMaxEventTargetListenersWarned: { - __proto__: null, - value: kMaxEventTargetListenersWarned, - enumerable: !1, - configurable: !1, - writable: !1 - } -}); -EventEmitter.init = EventEmitter; -EventEmitter[Symbol.for("CommonJS")] = 0; - -class AbortError extends Error { - constructor(message = "The operation was aborted", options = void 0) { - if (options !== void 0 && typeof options !== "object") - throw new codes.ERR_INVALID_ARG_TYPE("options", "Object", options); - super(message, options); - this.code = "ABORT_ERR", this.name = "AbortError"; - } -} -var AsyncResource = null; - -class EventEmitterAsyncResource extends EventEmitter { - triggerAsyncId; - asyncResource; - constructor(options) { - if (!AsyncResource) - AsyncResource = import.meta.require("async_hooks").AsyncResource; - var { captureRejections = !1, triggerAsyncId, name = new.target.name, requireManualDestroy } = options || {}; - super({ captureRejections }); - this.triggerAsyncId = triggerAsyncId ?? 0, this.asyncResource = new AsyncResource(name, { triggerAsyncId, requireManualDestroy }); - } - emit(...args) { - this.asyncResource.runInAsyncScope(() => super.emit(...args)); - } - emitDestroy() { - this.asyncResource.emitDestroy(); - } -} -var usingDomains = !1; -Object2.assign(EventEmitter, { once, on, getEventListeners, setMaxListeners, listenerCount, EventEmitterAsyncResource }); -var events_default = EventEmitter; -export { - usingDomains, - setMaxListeners, - once, - on, - listenerCount, - getEventListeners, - kErrorMonitor as errorMonitor, - events_default as default, - captureRejectionSymbol, - EventEmitterAsyncResource, - EventEmitter -}; diff --git a/src/js/out/modules/node/fs.js b/src/js/out/modules/node/fs.js deleted file mode 100644 index 7bb354deabecf..0000000000000 --- a/src/js/out/modules/node/fs.js +++ /dev/null @@ -1,775 +0,0 @@ -import {EventEmitter} from "node:events"; -import promises2 from "node:fs/promises"; -import {default as default2} from "node:fs/promises"; -import * as Stream from "node:stream"; -var callbackify = function(fsFunction, args) { - try { - const result = fsFunction.apply(fs, args.slice(0, args.length - 1)), callback = args[args.length - 1]; - if (typeof callback === "function") - queueMicrotask(() => callback(null, result)); - } catch (e) { - const callback = args[args.length - 1]; - if (typeof callback === "function") - queueMicrotask(() => callback(e)); - } -}; -function createReadStream(path, options) { - return new ReadStream(path, options); -} -function createWriteStream(path, options) { - return new WriteStream(path, options); -} -import {constants} from "node:fs/promises"; -var ReadStream, WriteStream, { direct, isPromise, isCallable } = globalThis[Symbol.for("Bun.lazy")]("primordials"), fs = Bun.fs(), debug = process.env.DEBUG ? console.log : () => { -}; - -class FSWatcher extends EventEmitter { - #watcher; - #listener; - constructor(path, options, listener) { - super(); - if (typeof options === "function") - listener = options, options = {}; - else if (typeof options === "string") - options = { encoding: options }; - if (typeof listener !== "function") - listener = () => { - }; - this.#listener = listener; - try { - this.#watcher = fs.watch(path, options || {}, this.#onEvent.bind(this)); - } catch (e) { - if (!e.message?.startsWith("FileNotFound")) - throw e; - const notFound = new Error(`ENOENT: no such file or directory, watch '${path}'`); - throw notFound.code = "ENOENT", notFound.errno = -2, notFound.path = path, notFound.syscall = "watch", notFound.filename = path, notFound; - } - } - #onEvent(eventType, filenameOrError) { - if (eventType === "error" || eventType === "close") - this.emit(eventType, filenameOrError); - else - this.emit("change", eventType, filenameOrError), this.#listener(eventType, filenameOrError); - } - close() { - this.#watcher?.close(), this.#watcher = null; - } - ref() { - this.#watcher?.ref(); - } - unref() { - this.#watcher?.unref(); - } -} -var access = function access2(...args) { - callbackify(fs.accessSync, args); -}, appendFile = function appendFile2(...args) { - callbackify(fs.appendFileSync, args); -}, close = function close2(...args) { - callbackify(fs.closeSync, args); -}, rm = function rm2(...args) { - callbackify(fs.rmSync, args); -}, rmdir = function rmdir2(...args) { - callbackify(fs.rmdirSync, args); -}, copyFile = function copyFile2(...args) { - callbackify(fs.copyFileSync, args); -}, exists = function exists2(...args) { - callbackify(fs.existsSync, args); -}, chown = function chown2(...args) { - callbackify(fs.chownSync, args); -}, chmod = function chmod2(...args) { - callbackify(fs.chmodSync, args); -}, fchmod = function fchmod2(...args) { - callbackify(fs.fchmodSync, args); -}, fchown = function fchown2(...args) { - callbackify(fs.fchownSync, args); -}, fstat = function fstat2(...args) { - callbackify(fs.fstatSync, args); -}, fsync = function fsync2(...args) { - callbackify(fs.fsyncSync, args); -}, ftruncate = function ftruncate2(...args) { - callbackify(fs.ftruncateSync, args); -}, futimes = function futimes2(...args) { - callbackify(fs.futimesSync, args); -}, lchmod = function lchmod2(...args) { - callbackify(fs.lchmodSync, args); -}, lchown = function lchown2(...args) { - callbackify(fs.lchownSync, args); -}, link = function link2(...args) { - callbackify(fs.linkSync, args); -}, mkdir = function mkdir2(...args) { - callbackify(fs.mkdirSync, args); -}, mkdtemp = function mkdtemp2(...args) { - callbackify(fs.mkdtempSync, args); -}, open = function open2(...args) { - callbackify(fs.openSync, args); -}, read = function read2(...args) { - callbackify(fs.readSync, args); -}, write = function write2(...args) { - callbackify(fs.writeSync, args); -}, readdir = function readdir2(...args) { - const callback = args[args.length - 1]; - if (typeof callback !== "function") - throw new TypeError("Callback must be a function"); - fs.readdir(...args).then((result) => callback(null, result), callback); -}, readFile = function readFile2(...args) { - const callback = args[args.length - 1]; - if (typeof callback !== "function") - throw new TypeError("Callback must be a function"); - fs.readFile(...args).then((result) => callback(null, result), callback); -}, writeFile = function writeFile2(...args) { - callbackify(fs.writeFileSync, args); -}, readlink = function readlink2(...args) { - callbackify(fs.readlinkSync, args); -}, realpath = function realpath2(...args) { - callbackify(fs.realpathSync, args); -}, rename = function rename2(...args) { - callbackify(fs.renameSync, args); -}, lstat = function lstat2(...args) { - const callback = args[args.length - 1]; - if (typeof callback !== "function") - throw new TypeError("Callback must be a function"); - fs.lstat(...args).then((result) => callback(null, result), callback); -}, stat = function stat2(...args) { - const callback = args[args.length - 1]; - if (typeof callback !== "function") - throw new TypeError("Callback must be a function"); - fs.stat(...args).then((result) => callback(null, result), callback); -}, symlink = function symlink2(...args) { - callbackify(fs.symlinkSync, args); -}, truncate = function truncate2(...args) { - callbackify(fs.truncateSync, args); -}, unlink = function unlink2(...args) { - callbackify(fs.unlinkSync, args); -}, utimes = function utimes2(...args) { - callbackify(fs.utimesSync, args); -}, lutimes = function lutimes2(...args) { - callbackify(fs.lutimesSync, args); -}, accessSync = fs.accessSync.bind(fs), appendFileSync = fs.appendFileSync.bind(fs), closeSync = fs.closeSync.bind(fs), copyFileSync = fs.copyFileSync.bind(fs), existsSync = fs.existsSync.bind(fs), chownSync = fs.chownSync.bind(fs), chmodSync = fs.chmodSync.bind(fs), fchmodSync = fs.fchmodSync.bind(fs), fchownSync = fs.fchownSync.bind(fs), fstatSync = fs.fstatSync.bind(fs), fsyncSync = fs.fsyncSync.bind(fs), ftruncateSync = fs.ftruncateSync.bind(fs), futimesSync = fs.futimesSync.bind(fs), lchmodSync = fs.lchmodSync.bind(fs), lchownSync = fs.lchownSync.bind(fs), linkSync = fs.linkSync.bind(fs), lstatSync = fs.lstatSync.bind(fs), mkdirSync = fs.mkdirSync.bind(fs), mkdtempSync = fs.mkdtempSync.bind(fs), openSync = fs.openSync.bind(fs), readSync = fs.readSync.bind(fs), writeSync = fs.writeSync.bind(fs), readdirSync = fs.readdirSync.bind(fs), readFileSync = fs.readFileSync.bind(fs), writeFileSync = fs.writeFileSync.bind(fs), readlinkSync = fs.readlinkSync.bind(fs), realpathSync = fs.realpathSync.bind(fs), renameSync = fs.renameSync.bind(fs), statSync = fs.statSync.bind(fs), symlinkSync = fs.symlinkSync.bind(fs), truncateSync = fs.truncateSync.bind(fs), unlinkSync = fs.unlinkSync.bind(fs), utimesSync = fs.utimesSync.bind(fs), lutimesSync = fs.lutimesSync.bind(fs), rmSync = fs.rmSync.bind(fs), rmdirSync = fs.rmdirSync.bind(fs), writev = (fd, buffers, position, callback) => { - if (typeof position === "function") - callback = position, position = null; - queueMicrotask(() => { - try { - var written = fs.writevSync(fd, buffers, position); - } catch (e) { - callback(e); - } - callback(null, written, buffers); - }); -}, writevSync = fs.writevSync.bind(fs), readv = (fd, buffers, position, callback) => { - if (typeof position === "function") - callback = position, position = null; - queueMicrotask(() => { - try { - var written = fs.readvSync(fd, buffers, position); - } catch (e) { - callback(e); - } - callback(null, written, buffers); - }); -}, readvSync = fs.readvSync.bind(fs), Dirent = fs.Dirent, Stats = fs.Stats, watch = function watch2(path, options, listener) { - return new FSWatcher(path, options, listener); -}, readStreamPathFastPathSymbol = Symbol.for("Bun.Node.readStreamPathFastPath"), readStreamSymbol = Symbol.for("Bun.NodeReadStream"), readStreamPathOrFdSymbol = Symbol.for("Bun.NodeReadStreamPathOrFd"), writeStreamSymbol = Symbol.for("Bun.NodeWriteStream"), writeStreamPathFastPathSymbol = Symbol.for("Bun.NodeWriteStreamFastPath"), writeStreamPathFastPathCallSymbol = Symbol.for("Bun.NodeWriteStreamFastPathCall"), kIoDone = Symbol.for("kIoDone"), defaultReadStreamOptions = { - file: void 0, - fd: void 0, - flags: "r", - encoding: void 0, - mode: 438, - autoClose: !0, - emitClose: !0, - start: 0, - end: Infinity, - highWaterMark: 65536, - fs: { - read, - open: (path, flags, mode, cb) => { - var fd; - try { - fd = openSync(path, flags, mode); - } catch (e) { - cb(e); - return; - } - cb(null, fd); - }, - openSync, - close - }, - autoDestroy: !0 -}, ReadStreamClass; -ReadStream = function(InternalReadStream) { - return ReadStreamClass = InternalReadStream, Object.defineProperty(ReadStreamClass.prototype, Symbol.toStringTag, { - value: "ReadStream", - enumerable: !1 - }), Object.defineProperty(function ReadStream(path, options) { - return new InternalReadStream(path, options); - }, Symbol.hasInstance, { - value(instance) { - return instance instanceof InternalReadStream; - } - }); -}(class ReadStream2 extends Stream._getNativeReadableStreamPrototype(2, Stream.Readable) { - constructor(pathOrFd, options = defaultReadStreamOptions) { - if (typeof options !== "object" || !options) - throw new TypeError("Expected options to be an object"); - var { - flags = defaultReadStreamOptions.flags, - encoding = defaultReadStreamOptions.encoding, - mode = defaultReadStreamOptions.mode, - autoClose = defaultReadStreamOptions.autoClose, - emitClose = defaultReadStreamOptions.emitClose, - start = defaultReadStreamOptions.start, - end = defaultReadStreamOptions.end, - autoDestroy = defaultReadStreamOptions.autoClose, - fs: fs2 = defaultReadStreamOptions.fs, - highWaterMark = defaultReadStreamOptions.highWaterMark - } = options; - if (pathOrFd?.constructor?.name === "URL") - pathOrFd = Bun.fileURLToPath(pathOrFd); - var tempThis = {}; - if (typeof pathOrFd === "string") { - if (pathOrFd.startsWith("file://")) - pathOrFd = Bun.fileURLToPath(pathOrFd); - if (pathOrFd.length === 0) - throw new TypeError("Expected path to be a non-empty string"); - tempThis.path = tempThis.file = tempThis[readStreamPathOrFdSymbol] = pathOrFd; - } else if (typeof pathOrFd === "number") { - if (pathOrFd |= 0, pathOrFd < 0) - throw new TypeError("Expected fd to be a positive integer"); - tempThis.fd = tempThis[readStreamPathOrFdSymbol] = pathOrFd, tempThis.autoClose = !1; - } else - throw new TypeError("Expected a path or file descriptor"); - if (!tempThis.fd) - tempThis.fd = fs2.openSync(pathOrFd, flags, mode); - var fileRef = Bun.file(tempThis.fd), stream = fileRef.stream(), native = direct(stream); - if (!native) - throw debug("no native readable stream"), new Error("no native readable stream"); - var { stream: ptr } = native; - super(ptr, { - ...options, - encoding, - autoDestroy, - autoClose, - emitClose, - highWaterMark - }); - if (Object.assign(this, tempThis), this.#fileRef = fileRef, this.end = end, this._read = this.#internalRead, this.start = start, this.flags = flags, this.mode = mode, this.emitClose = emitClose, this[readStreamPathFastPathSymbol] = start === 0 && end === Infinity && autoClose && fs2 === defaultReadStreamOptions.fs && (encoding === "buffer" || encoding === "binary" || encoding == null || encoding === "utf-8" || encoding === "utf8"), this._readableState.autoClose = autoDestroy = autoClose, this._readableState.highWaterMark = highWaterMark, start !== void 0) - this.pos = start; - } - #fileRef; - #fs; - file; - path; - fd = null; - flags; - mode; - start; - end; - pos; - bytesRead = 0; - #fileSize = -1; - _read; - [readStreamSymbol] = !0; - [readStreamPathOrFdSymbol]; - [readStreamPathFastPathSymbol]; - _construct(callback) { - if (super._construct) - super._construct(callback); - else - callback(); - this.emit("open", this.fd), this.emit("ready"); - } - _destroy(err, cb) { - super._destroy(err, cb); - try { - var fd = this.fd; - if (this[readStreamPathFastPathSymbol] = !1, !fd) - cb(err); - else - this.#fs.close(fd, (er) => { - cb(er || err); - }), this.fd = null; - } catch (e) { - throw e; - } - } - close(cb) { - if (typeof cb === "function") - eos_()(this, cb); - this.destroy(); - } - push(chunk) { - var bytesRead = chunk?.length ?? 0; - if (bytesRead > 0) { - this.bytesRead += bytesRead; - var currPos = this.pos; - if (currPos !== void 0) { - if (this.bytesRead < currPos) - return !0; - if (currPos === this.start) { - var n = this.bytesRead - currPos; - chunk = chunk.slice(-n); - var [_, ...rest] = arguments; - if (this.pos = this.bytesRead, this.end !== void 0 && this.bytesRead > this.end) - chunk = chunk.slice(0, this.end - this.start + 1); - return super.push(chunk, ...rest); - } - var end = this.end; - if (end !== void 0 && this.bytesRead > end) { - chunk = chunk.slice(0, end - currPos + 1); - var [_, ...rest] = arguments; - return this.pos = this.bytesRead, super.push(chunk, ...rest); - } - this.pos = this.bytesRead; - } - } - return super.push(...arguments); - } - #internalRead(n) { - var { pos, end, bytesRead, fd, encoding } = this; - if (n = pos !== void 0 ? Math.min(end - pos + 1, n) : Math.min(end - bytesRead + 1, n), debug("n @ fs.ReadStream.#internalRead, after clamp", n), n <= 0) { - this.push(null); - return; - } - if (this.#fileSize === -1 && bytesRead === 0 && pos === void 0) { - var stat3 = fstatSync(fd); - if (this.#fileSize = stat3.size, this.#fileSize > 0 && n > this.#fileSize) - n = this.#fileSize + 1; - debug("fileSize", this.#fileSize); - } - this[kIoDone] = !1; - var res = super._read(n); - if (debug("res -- undefined? why?", res), isPromise(res)) { - var then = res?.then; - if (then && isCallable(then)) - then(() => { - if (this[kIoDone] = !0, this.destroyed) - this.emit(kIoDone); - }, (er) => { - this[kIoDone] = !0, this.#errorOrDestroy(er); - }); - } else if (this[kIoDone] = !0, this.destroyed) - this.emit(kIoDone), this.#errorOrDestroy(new Error("ERR_STREAM_PREMATURE_CLOSE")); - } - #errorOrDestroy(err, sync = null) { - var { - _readableState: r = { destroyed: !1, autoDestroy: !1 }, - _writableState: w = { destroyed: !1, autoDestroy: !1 } - } = this; - if (w?.destroyed || r?.destroyed) - return this; - if (r?.autoDestroy || w?.autoDestroy) - this.destroy(err); - else if (err) - this.emit("error", err); - } - pause() { - return this[readStreamPathFastPathSymbol] = !1, super.pause(); - } - resume() { - return this[readStreamPathFastPathSymbol] = !1, super.resume(); - } - unshift(...args) { - return this[readStreamPathFastPathSymbol] = !1, super.unshift(...args); - } - pipe(dest, pipeOpts) { - if (this[readStreamPathFastPathSymbol] && (pipeOpts?.end ?? !0) && this._readableState?.pipes?.length === 0) { - if ((writeStreamPathFastPathSymbol in dest) && dest[writeStreamPathFastPathSymbol]) { - if (dest[writeStreamPathFastPathCallSymbol](this, pipeOpts)) - return this; - } - } - return this[readStreamPathFastPathSymbol] = !1, super.pipe(dest, pipeOpts); - } -}); -var defaultWriteStreamOptions = { - fd: null, - start: void 0, - pos: void 0, - encoding: void 0, - flags: "w", - mode: 438, - fs: { - write, - close, - open, - openSync - } -}, WriteStreamClass; -WriteStream = function(InternalWriteStream) { - return WriteStreamClass = InternalWriteStream, Object.defineProperty(WriteStreamClass.prototype, Symbol.toStringTag, { - value: "WritesStream", - enumerable: !1 - }), Object.defineProperty(function WriteStream(path, options) { - return new InternalWriteStream(path, options); - }, Symbol.hasInstance, { - value(instance) { - return instance instanceof InternalWriteStream; - } - }); -}(class WriteStream2 extends Stream.NativeWritable { - constructor(path, options = defaultWriteStreamOptions) { - if (!options) - throw new TypeError("Expected options to be an object"); - var { - fs: fs2 = defaultWriteStreamOptions.fs, - start = defaultWriteStreamOptions.start, - flags = defaultWriteStreamOptions.flags, - mode = defaultWriteStreamOptions.mode, - autoClose = !0, - emitClose = !1, - autoDestroy = autoClose, - encoding = defaultWriteStreamOptions.encoding, - fd = defaultWriteStreamOptions.fd, - pos = defaultWriteStreamOptions.pos - } = options, tempThis = {}; - if (typeof path === "string") { - if (path.length === 0) - throw new TypeError("Expected a non-empty path"); - if (path.startsWith("file:")) - path = Bun.fileURLToPath(path); - tempThis.path = path, tempThis.fd = null, tempThis[writeStreamPathFastPathSymbol] = autoClose && (start === void 0 || start === 0) && fs2.write === defaultWriteStreamOptions.fs.write && fs2.close === defaultWriteStreamOptions.fs.close; - } else - tempThis.fd = fd, tempThis[writeStreamPathFastPathSymbol] = !1; - if (!tempThis.fd) - tempThis.fd = fs2.openSync(path, flags, mode); - super(tempThis.fd, { - ...options, - decodeStrings: !1, - autoDestroy, - emitClose, - fd: tempThis - }); - if (Object.assign(this, tempThis), typeof fs2?.write !== "function") - throw new TypeError("Expected fs.write to be a function"); - if (typeof fs2?.close !== "function") - throw new TypeError("Expected fs.close to be a function"); - if (typeof fs2?.open !== "function") - throw new TypeError("Expected fs.open to be a function"); - if (typeof path === "object" && path) { - if (path instanceof URL) - path = Bun.fileURLToPath(path); - } - if (typeof path !== "string" && typeof fd !== "number") - throw new TypeError("Expected a path or file descriptor"); - if (this.start = start, this.#fs = fs2, this.flags = flags, this.mode = mode, this.start !== void 0) - this.pos = this.start; - if (encoding !== defaultWriteStreamOptions.encoding) { - if (this.setDefaultEncoding(encoding), encoding !== "buffer" && encoding !== "utf8" && encoding !== "utf-8" && encoding !== "binary") - this[writeStreamPathFastPathSymbol] = !1; - } - } - get autoClose() { - return this._writableState.autoDestroy; - } - set autoClose(val) { - this._writableState.autoDestroy = val; - } - destroySoon = this.end; - open() { - } - path; - fd; - flags; - mode; - #fs; - bytesWritten = 0; - pos; - [writeStreamPathFastPathSymbol]; - [writeStreamSymbol] = !0; - start; - [writeStreamPathFastPathCallSymbol](readStream, pipeOpts) { - if (!this[writeStreamPathFastPathSymbol]) - return !1; - if (this.fd !== null) - return this[writeStreamPathFastPathSymbol] = !1, !1; - return this[kIoDone] = !1, readStream[kIoDone] = !1, Bun.write(this[writeStreamPathFastPathSymbol], readStream[readStreamPathOrFdSymbol]).then((bytesWritten) => { - readStream[kIoDone] = this[kIoDone] = !0, this.bytesWritten += bytesWritten, readStream.bytesRead += bytesWritten, this.end(), readStream.close(); - }, (err) => { - readStream[kIoDone] = this[kIoDone] = !0, this.#errorOrDestroy(err), readStream.emit("error", err); - }); - } - isBunFastPathEnabled() { - return this[writeStreamPathFastPathSymbol]; - } - disableBunFastPath() { - this[writeStreamPathFastPathSymbol] = !1; - } - #handleWrite(er, bytes) { - if (er) - return this.#errorOrDestroy(er); - this.bytesWritten += bytes; - } - #internalClose(err, cb) { - this[writeStreamPathFastPathSymbol] = !1; - var fd = this.fd; - this.#fs.close(fd, (er) => { - this.fd = null, cb(err || er); - }); - } - _construct(callback) { - if (typeof this.fd === "number") { - callback(); - return; - } - callback(), this.emit("open", this.fd), this.emit("ready"); - } - _destroy(err, cb) { - if (this.fd === null) - return cb(err); - if (this[kIoDone]) { - this.once(kIoDone, () => this.#internalClose(err, cb)); - return; - } - this.#internalClose(err, cb); - } - [kIoDone] = !1; - close(cb) { - if (cb) { - if (this.closed) { - process.nextTick(cb); - return; - } - this.on("close", cb); - } - if (!this.autoClose) - this.on("finish", this.destroy); - this.end(); - } - write(chunk, encoding = this._writableState.defaultEncoding, cb) { - if (this[writeStreamPathFastPathSymbol] = !1, typeof chunk === "string") - chunk = Buffer.from(chunk, encoding); - var native = this.pos === void 0; - return this[kIoDone] = !0, super.write(chunk, encoding, native ? (err, bytes) => { - if (this[kIoDone] = !1, this.#handleWrite(err, bytes), this.emit(kIoDone), cb) - !err ? cb() : cb(err); - } : () => { - }, native); - } - #internalWriteSlow(chunk, encoding, cb) { - this.#fs.write(this.fd, chunk, 0, chunk.length, this.pos, (err, bytes) => { - this[kIoDone] = !1, this.#handleWrite(err, bytes), this.emit(kIoDone), !err ? cb() : cb(err); - }); - } - end(chunk, encoding, cb) { - var native = this.pos === void 0; - return super.end(chunk, encoding, cb, native); - } - _write = this.#internalWriteSlow; - _writev = void 0; - get pending() { - return this.fd === null; - } - _destroy(err, cb) { - this.close(err, cb); - } - #errorOrDestroy(err) { - var { - _readableState: r = { destroyed: !1, autoDestroy: !1 }, - _writableState: w = { destroyed: !1, autoDestroy: !1 } - } = this; - if (w?.destroyed || r?.destroyed) - return this; - if (r?.autoDestroy || w?.autoDestroy) - this.destroy(err); - else if (err) - this.emit("error", err); - } -}); -Object.defineProperties(fs, { - createReadStream: { - value: createReadStream - }, - createWriteStream: { - value: createWriteStream - }, - ReadStream: { - value: ReadStream - }, - WriteStream: { - value: WriteStream - } -}); -realpath.native = realpath; -realpathSync.native = realpathSync; -var fs_default = { - [Symbol.for("CommonJS")]: 0, - access, - accessSync, - appendFile, - appendFileSync, - chmod, - chmodSync, - chown, - chownSync, - close, - closeSync, - constants: promises2.constants, - copyFile, - copyFileSync, - createReadStream, - createWriteStream, - Dirent, - exists, - existsSync, - fchmod, - fchmodSync, - fchown, - fchownSync, - fstat, - fstatSync, - fsync, - fsyncSync, - ftruncate, - ftruncateSync, - futimes, - futimesSync, - lchmod, - lchmodSync, - lchown, - lchownSync, - link, - linkSync, - lstat, - lstatSync, - lutimes, - lutimesSync, - mkdir, - mkdirSync, - mkdtemp, - mkdtempSync, - open, - openSync, - promises: promises2, - read, - readFile, - readFileSync, - readSync, - readdir, - readdirSync, - readlink, - readlinkSync, - realpath, - realpathSync, - rename, - renameSync, - rm, - rmSync, - rmdir, - rmdirSync, - stat, - statSync, - Stats, - symlink, - symlinkSync, - truncate, - truncateSync, - unlink, - unlinkSync, - utimes, - utimesSync, - write, - writeFile, - writeFileSync, - writeSync, - WriteStream, - ReadStream, - watch, - FSWatcher, - writev, - writevSync, - readv, - readvSync, - [Symbol.for("::bunternal::")]: { - ReadStreamClass, - WriteStreamClass - } -}; -export { - writevSync, - writev, - writeSync, - writeFileSync, - writeFile, - write, - watch, - utimesSync, - utimes, - unlinkSync, - unlink, - truncateSync, - truncate, - symlinkSync, - symlink, - statSync, - stat, - rmdirSync, - rmdir, - rmSync, - rm, - renameSync, - rename, - realpathSync, - realpath, - readvSync, - readv, - readlinkSync, - readlink, - readdirSync, - readdir, - readSync, - readFileSync, - readFile, - read, - default2 as promises, - openSync, - open, - mkdtempSync, - mkdtemp, - mkdirSync, - mkdir, - lutimesSync, - lutimes, - lstatSync, - lstat, - linkSync, - link, - lchownSync, - lchown, - lchmodSync, - lchmod, - futimesSync, - futimes, - ftruncateSync, - ftruncate, - fsyncSync, - fsync, - fstatSync, - fstat, - fchownSync, - fchown, - fchmodSync, - fchmod, - existsSync, - exists, - fs_default as default, - createWriteStream, - createReadStream, - copyFileSync, - copyFile, - constants, - closeSync, - close, - chownSync, - chown, - chmodSync, - chmod, - appendFileSync, - appendFile, - accessSync, - access, - WriteStream, - Stats, - ReadStream, - Dirent -}; diff --git a/src/js/out/modules/node/fs.promises.js b/src/js/out/modules/node/fs.promises.js deleted file mode 100644 index df383069b1d95..0000000000000 --- a/src/js/out/modules/node/fs.promises.js +++ /dev/null @@ -1 +0,0 @@ -var s=(z)=>{return import.meta.require(z)};function N(z,B={}){if(z instanceof URL)throw new TypeError("Watch URLs are not supported yet");else if(Buffer.isBuffer(z))z=z.toString();else if(typeof z!=="string")throw new TypeError("Expected path to be a string or Buffer");let C=null;if(typeof B==="string")B={encoding:B};const G=M(),H=S.watch(z,B||{},(D,A)=>{if(G.push({eventType:D,filename:A}),C){const I=C;C=null,I()}});return{[Symbol.asyncIterator](){let D=!1;return{async next(){while(!D){let A;while(A=G.shift()){if(A.eventType==="close")return D=!0,{value:void 0,done:!0};if(A.eventType==="error")throw D=!0,A.filename;return{value:A,done:!1}}const{promise:I,resolve:L}=Promise.withResolvers();C=L,await I}return{value:void 0,done:!0}},return(){if(!D){if(H.close(),D=!0,C){const A=C;C=null,A()}}return{value:void 0,done:!0}}}}}}var{createFIFO:M}=globalThis[Symbol.for("Bun.lazy")]("primordials"),S=Bun.fs(),K="::bunternal::",J={[K]:(z)=>{return async function(...B){return await 1,z.apply(S,B)}}}[K],P=J(S.accessSync),Q=J(S.appendFileSync),U=J(S.closeSync),V=J(S.copyFileSync),X=J(S.existsSync),Y=J(S.chownSync),Z=J(S.chmodSync),_=J(S.fchmodSync),$=J(S.fchownSync),q=J(S.fstatSync),O=J(S.fsyncSync),g=J(S.ftruncateSync),T=J(S.futimesSync),W=J(S.lchmodSync),j=J(S.lchownSync),k=J(S.linkSync),E=S.lstat.bind(S),h=J(S.mkdirSync),w=J(S.mkdtempSync),x=J(S.openSync),F=J(S.readSync),R=J(S.writeSync),b=S.readdir.bind(S),u=S.readFile.bind(S),d=J(S.writeFileSync),c=J(S.readlinkSync),v=J(S.realpathSync),a=J(S.renameSync),y=S.stat.bind(S),l=J(S.symlinkSync),p=J(S.truncateSync),m=J(S.unlinkSync),n=J(S.utimesSync),t=J(S.lutimesSync),r=J(S.rmSync),o=J(S.rmdirSync),f=(z,B,C)=>{return new Promise((G,H)=>{try{var D=S.writevSync(z,B,C)}catch(A){H(A);return}G({bytesWritten:D,buffers:B})})},i=(z,B,C)=>{return new Promise((G,H)=>{try{var D=S.readvSync(z,B,C)}catch(A){H(A);return}G({bytesRead:D,buffers:B})})},SS={access:P,appendFile:Q,close:U,copyFile:V,exists:X,chown:Y,chmod:Z,fchmod:_,fchown:$,fstat:q,fsync:O,ftruncate:g,futimes:T,lchmod:W,lchown:j,link:k,lstat:E,mkdir:h,mkdtemp:w,open:x,read:F,write:R,readdir:b,readFile:u,writeFile:d,readlink:c,realpath:v,rename:a,stat:y,symlink:l,truncate:p,unlink:m,utimes:n,lutimes:t,rm:r,rmdir:o,watch:N,writev:f,readv:i,constants,[Symbol.for("CommonJS")]:0};export{f as writev,d as writeFile,R as write,N as watch,n as utimes,m as unlink,p as truncate,l as symlink,y as stat,o as rmdir,r as rm,a as rename,v as realpath,i as readv,c as readlink,b as readdir,u as readFile,F as read,x as open,w as mkdtemp,h as mkdir,t as lutimes,E as lstat,k as link,j as lchown,W as lchmod,T as futimes,g as ftruncate,O as fsync,q as fstat,$ as fchown,_ as fchmod,X as exists,SS as default,V as copyFile,U as close,Y as chown,Z as chmod,Q as appendFile,P as access}; diff --git a/src/js/out/modules/node/http.js b/src/js/out/modules/node/http.js deleted file mode 100644 index cc9092518d26e..0000000000000 --- a/src/js/out/modules/node/http.js +++ /dev/null @@ -1,1147 +0,0 @@ -import {EventEmitter} from "node:events"; -import {Readable, Writable, Duplex} from "node:stream"; -import {isTypedArray} from "node:util/types"; -var checkInvalidHeaderChar = function(val) { - return RegExpPrototypeExec.call(headerCharRegex, val) !== null; -}, isIPv6 = function(input) { - return new RegExp("^((?:(?:[0-9a-fA-F]{1,4}):){7}(?:(?:[0-9a-fA-F]{1,4})|:)|(?:(?:[0-9a-fA-F]{1,4}):){6}(?:((?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])[.]){3}(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])|:(?:[0-9a-fA-F]{1,4})|:)|(?:(?:[0-9a-fA-F]{1,4}):){5}(?::((?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])[.]){3}(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])|(:(?:[0-9a-fA-F]{1,4})){1,2}|:)|(?:(?:[0-9a-fA-F]{1,4}):){4}(?:(:(?:[0-9a-fA-F]{1,4})){0,1}:((?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])[.]){3}(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])|(:(?:[0-9a-fA-F]{1,4})){1,3}|:)|(?:(?:[0-9a-fA-F]{1,4}):){3}(?:(:(?:[0-9a-fA-F]{1,4})){0,2}:((?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])[.]){3}(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])|(:(?:[0-9a-fA-F]{1,4})){1,4}|:)|(?:(?:[0-9a-fA-F]{1,4}):){2}(?:(:(?:[0-9a-fA-F]{1,4})){0,3}:((?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])[.]){3}(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])|(:(?:[0-9a-fA-F]{1,4})){1,5}|:)|(?:(?:[0-9a-fA-F]{1,4}):){1}(?:(:(?:[0-9a-fA-F]{1,4})){0,4}:((?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])[.]){3}(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])|(:(?:[0-9a-fA-F]{1,4})){1,6}|:)|(?::((?::(?:[0-9a-fA-F]{1,4})){0,5}:((?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])[.]){3}(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])|(?::(?:[0-9a-fA-F]{1,4})){1,7}|:)))(%[0-9a-zA-Z-.:]{1,})?$").test(input); -}, isValidTLSArray = function(obj) { - if (typeof obj === "string" || isTypedArray(obj) || obj instanceof ArrayBuffer || obj instanceof Blob) - return !0; - if (Array.isArray(obj)) { - for (var i = 0;i < obj.length; i++) - if (typeof obj !== "string" && !isTypedArray(obj) && !(obj instanceof ArrayBuffer) && !(obj instanceof Blob)) - return !1; - return !0; - } -}, validateMsecs = function(numberlike, field) { - if (typeof numberlike !== "number" || numberlike < 0) - throw new ERR_INVALID_ARG_TYPE(field, "number", numberlike); - return numberlike; -}, validateFunction = function(callable, field) { - if (typeof callable !== "function") - throw new ERR_INVALID_ARG_TYPE(field, "Function", callable); - return callable; -}, getHeader = function(headers, name) { - if (!headers) - return; - const result = headers.get(name); - return result == null ? void 0 : result; -}; -function createServer(options, callback) { - return new Server(options, callback); -} -var emitListeningNextTick = function(self, onListen, err, hostname, port) { - if (typeof onListen === "function") - try { - onListen(err, hostname, port); - } catch (err2) { - self.emit("error", err2); - } - if (self.listening = !err, err) - self.emit("error", err); - else - self.emit("listening", hostname, port); -}, assignHeaders = function(object, req) { - var headers = req.headers.toJSON(); - const rawHeaders = newArrayWithSize(req.headers.count * 2); - var i = 0; - for (let key in headers) - rawHeaders[i++] = key, rawHeaders[i++] = headers[key]; - object.headers = headers, object.rawHeaders = rawHeaders; -}; -var getDefaultHTTPSAgent = function() { - return _defaultHTTPSAgent ??= new Agent({ defaultPort: 443, protocol: "https:" }); -}; -var urlToHttpOptions = function(url) { - var { protocol, hostname, hash, search, pathname, href, port, username, password } = url; - return { - protocol, - hostname: typeof hostname === "string" && StringPrototypeStartsWith.call(hostname, "[") ? StringPrototypeSlice.call(hostname, 1, -1) : hostname, - hash, - search, - pathname, - path: `${pathname || ""}${search || ""}`, - href, - port: port ? Number(port) : protocol === "https:" ? 443 : protocol === "http:" ? 80 : void 0, - auth: username || password ? `${decodeURIComponent(username)}:${decodeURIComponent(password)}` : void 0 - }; -}, validateHost = function(host, name) { - if (host !== null && host !== void 0 && typeof host !== "string") - throw new Error("Invalid arg type in options"); - return host; -}, checkIsHttpToken = function(val) { - return RegExpPrototypeExec.call(tokenRegExp, val) !== null; -}; -var _writeHead = function(statusCode, reason, obj, response) { - if (statusCode |= 0, statusCode < 100 || statusCode > 999) - throw new Error("status code must be between 100 and 999"); - if (typeof reason === "string") - response.statusMessage = reason; - else { - if (!response.statusMessage) - response.statusMessage = STATUS_CODES[statusCode] || "unknown"; - obj = reason; - } - response.statusCode = statusCode; - { - let k; - if (Array.isArray(obj)) { - if (obj.length % 2 !== 0) - throw new Error("raw headers must have an even number of elements"); - for (let n = 0;n < obj.length; n += 2) - if (k = obj[n + 0], k) - response.setHeader(k, obj[n + 1]); - } else if (obj) { - const keys = Object.keys(obj); - for (let i = 0;i < keys.length; i++) - if (k = keys[i], k) - response.setHeader(k, obj[k]); - } - } - if (statusCode === 204 || statusCode === 304 || statusCode >= 100 && statusCode <= 199) - response._hasBody = !1; -}; -function request(url, options, cb) { - return new ClientRequest(url, options, cb); -} -function get(url, options, cb) { - const req = request(url, options, cb); - return req.end(), req; -} -var headerCharRegex = /[^\t\x20-\x7e\x80-\xff]/, validateHeaderName = (name, label) => { - if (typeof name !== "string" || !name || !checkIsHttpToken(name)) - throw new Error("ERR_INVALID_HTTP_TOKEN"); -}, validateHeaderValue = (name, value) => { - if (value === void 0) - throw new Error("ERR_HTTP_INVALID_HEADER_VALUE"); - if (checkInvalidHeaderChar(value)) - throw new Error("ERR_INVALID_CHAR"); -}, { URL } = globalThis, { newArrayWithSize, String, Object, Array } = globalThis[Symbol.for("Bun.lazy")]("primordials"), globalReportError = globalThis.reportError, setTimeout = globalThis.setTimeout, fetch = Bun.fetch, nop = () => { -}, __DEBUG__ = process.env.__DEBUG__, debug = __DEBUG__ ? (...args) => console.log("node:http", ...args) : nop, kEmptyObject = Object.freeze(Object.create(null)), kOutHeaders = Symbol.for("kOutHeaders"), kEndCalled = Symbol.for("kEndCalled"), kAbortController = Symbol.for("kAbortController"), kClearTimeout = Symbol("kClearTimeout"), kCorked = Symbol.for("kCorked"), searchParamsSymbol = Symbol.for("query"), StringPrototypeSlice = String.prototype.slice, StringPrototypeStartsWith = String.prototype.startsWith, StringPrototypeToUpperCase = String.prototype.toUpperCase, StringPrototypeIncludes = String.prototype.includes, StringPrototypeCharCodeAt = String.prototype.charCodeAt, StringPrototypeIndexOf = String.prototype.indexOf, ArrayIsArray = Array.isArray, RegExpPrototypeExec = RegExp.prototype.exec, ObjectAssign = Object.assign, ObjectPrototypeHasOwnProperty = Object.prototype.hasOwnProperty, INVALID_PATH_REGEX = /[^\u0021-\u00ff]/, NODE_HTTP_WARNING = "WARN: Agent is mostly unused in Bun's implementation of http. If you see strange behavior, this is probably the cause.", _defaultHTTPSAgent, kInternalRequest = Symbol("kInternalRequest"), kInternalSocketData = Symbol.for("::bunternal::"), kEmptyBuffer = Buffer.alloc(0); - -class ERR_INVALID_ARG_TYPE extends TypeError { - constructor(name, expected, actual) { - super(`The ${name} argument must be of type ${expected}. Received type ${typeof actual}`); - this.code = "ERR_INVALID_ARG_TYPE"; - } -} -var FakeSocket = class Socket extends Duplex { - bytesRead = 0; - bytesWritten = 0; - connecting = !1; - remoteAddress = null; - remotePort; - timeout = 0; - isServer = !1; - address() { - return { - address: this.localAddress, - family: this.localFamily, - port: this.localPort - }; - } - get bufferSize() { - return this.writableLength; - } - connect(port, host, connectListener) { - return this; - } - _destroy(err, callback) { - } - _final(callback) { - } - get localAddress() { - return "127.0.0.1"; - } - get localFamily() { - return "IPv4"; - } - get localPort() { - return 80; - } - get pending() { - return this.connecting; - } - _read(size) { - } - get readyState() { - if (this.connecting) - return "opening"; - if (this.readable) - return this.writable ? "open" : "readOnly"; - else - return this.writable ? "writeOnly" : "closed"; - } - ref() { - } - get remoteFamily() { - return "IPv4"; - } - resetAndDestroy() { - } - setKeepAlive(enable = !1, initialDelay = 0) { - } - setNoDelay(noDelay = !0) { - return this; - } - setTimeout(timeout, callback) { - return this; - } - unref() { - } - _write(chunk, encoding, callback) { - } -}; - -class Agent extends EventEmitter { - defaultPort = 80; - protocol = "http:"; - options; - requests; - sockets; - freeSockets; - keepAliveMsecs; - keepAlive; - maxSockets; - maxFreeSockets; - scheduling; - maxTotalSockets; - totalSocketCount; - #fakeSocket; - static get globalAgent() { - return globalAgent; - } - static get defaultMaxSockets() { - return Infinity; - } - constructor(options = kEmptyObject) { - super(); - if (this.options = options = { ...options, path: null }, options.noDelay === void 0) - options.noDelay = !0; - this.requests = kEmptyObject, this.sockets = kEmptyObject, this.freeSockets = kEmptyObject, this.keepAliveMsecs = options.keepAliveMsecs || 1000, this.keepAlive = options.keepAlive || !1, this.maxSockets = options.maxSockets || Agent.defaultMaxSockets, this.maxFreeSockets = options.maxFreeSockets || 256, this.scheduling = options.scheduling || "lifo", this.maxTotalSockets = options.maxTotalSockets, this.totalSocketCount = 0, this.defaultPort = options.defaultPort || 80, this.protocol = options.protocol || "http:"; - } - createConnection() { - return debug(`${NODE_HTTP_WARNING}\n`, "WARN: Agent.createConnection is a no-op, returns fake socket"), this.#fakeSocket ??= new FakeSocket; - } - getName(options = kEmptyObject) { - let name = `http:${options.host || "localhost"}:`; - if (options.port) - name += options.port; - if (name += ":", options.localAddress) - name += options.localAddress; - if (options.family === 4 || options.family === 6) - name += `:${options.family}`; - if (options.socketPath) - name += `:${options.socketPath}`; - return name; - } - addRequest() { - debug(`${NODE_HTTP_WARNING}\n`, "WARN: Agent.addRequest is a no-op"); - } - createSocket(req, options, cb) { - debug(`${NODE_HTTP_WARNING}\n`, "WARN: Agent.createSocket returns fake socket"), cb(null, this.#fakeSocket ??= new FakeSocket); - } - removeSocket() { - debug(`${NODE_HTTP_WARNING}\n`, "WARN: Agent.removeSocket is a no-op"); - } - keepSocketAlive() { - return debug(`${NODE_HTTP_WARNING}\n`, "WARN: Agent.keepSocketAlive is a no-op"), !0; - } - reuseSocket() { - debug(`${NODE_HTTP_WARNING}\n`, "WARN: Agent.reuseSocket is a no-op"); - } - destroy() { - debug(`${NODE_HTTP_WARNING}\n`, "WARN: Agent.destroy is a no-op"); - } -} - -class Server extends EventEmitter { - #server; - #options; - #tls; - #is_tls = !1; - listening = !1; - serverName; - constructor(options, callback) { - super(); - if (typeof options === "function") - callback = options, options = {}; - else if (options == null || typeof options === "object") { - options = { ...options }, this.#tls = null; - let key = options.key; - if (key) { - if (!isValidTLSArray(key)) - throw new TypeError("key argument must be an string, Buffer, TypedArray, BunFile or an array containing string, Buffer, TypedArray or BunFile"); - this.#is_tls = !0; - } - let cert = options.cert; - if (cert) { - if (!isValidTLSArray(cert)) - throw new TypeError("cert argument must be an string, Buffer, TypedArray, BunFile or an array containing string, Buffer, TypedArray or BunFile"); - this.#is_tls = !0; - } - let ca = options.ca; - if (ca) { - if (!isValidTLSArray(ca)) - throw new TypeError("ca argument must be an string, Buffer, TypedArray, BunFile or an array containing string, Buffer, TypedArray or BunFile"); - this.#is_tls = !0; - } - let passphrase = options.passphrase; - if (passphrase && typeof passphrase !== "string") - throw new TypeError("passphrase argument must be an string"); - let serverName = options.servername; - if (serverName && typeof serverName !== "string") - throw new TypeError("servername argument must be an string"); - let secureOptions = options.secureOptions || 0; - if (secureOptions && typeof secureOptions !== "number") - throw new TypeError("secureOptions argument must be an number"); - if (this.#is_tls) - this.#tls = { - serverName, - key, - cert, - ca, - passphrase, - secureOptions - }; - else - this.#tls = null; - } else - throw new Error("bun-http-polyfill: invalid arguments"); - if (this.#options = options, callback) - this.on("request", callback); - } - closeAllConnections() { - const server = this.#server; - if (!server) - return; - this.#server = void 0, server.stop(!0), this.emit("close"); - } - closeIdleConnections() { - } - close(optionalCallback) { - const server = this.#server; - if (!server) { - if (typeof optionalCallback === "function") - process.nextTick(optionalCallback, new Error("Server is not running")); - return; - } - if (this.#server = void 0, typeof optionalCallback === "function") - this.once("close", optionalCallback); - server.stop(), this.emit("close"); - } - address() { - if (!this.#server) - return null; - const address = this.#server.hostname; - return { - address, - family: isIPv6(address) ? "IPv6" : "IPv4", - port: this.#server.port - }; - } - listen(port, host, backlog, onListen) { - const server = this; - if (typeof host === "function") - onListen = host, host = void 0; - if (typeof port === "function") - onListen = port; - else if (typeof port === "object") { - if (port?.signal?.addEventListener("abort", () => { - this.close(); - }), host = port?.host, port = port?.port, typeof port?.callback === "function") - onListen = port?.callback; - } - if (typeof backlog === "function") - onListen = backlog; - const ResponseClass = this.#options.ServerResponse || ServerResponse, RequestClass = this.#options.IncomingMessage || IncomingMessage; - try { - const tls = this.#tls; - if (tls) - this.serverName = tls.serverName || host || "localhost"; - this.#server = Bun.serve({ - tls, - port, - hostname: host, - websocket: { - open(ws) { - ws.data.open(ws); - }, - message(ws, message) { - ws.data.message(ws, message); - }, - close(ws, code, reason) { - ws.data.close(ws, code, reason); - }, - drain(ws) { - ws.data.drain(ws); - } - }, - fetch(req, _server) { - var pendingResponse, pendingError, rejectFunction, resolveFunction, reject = (err) => { - if (pendingError) - return; - if (pendingError = err, rejectFunction) - rejectFunction(err); - }, reply = function(resp) { - if (pendingResponse) - return; - if (pendingResponse = resp, resolveFunction) - resolveFunction(resp); - }; - const http_req = new RequestClass(req), http_res = new ResponseClass({ reply, req: http_req }); - if (http_req.once("error", (err) => reject(err)), http_res.once("error", (err) => reject(err)), req.headers.get("upgrade")) { - const socket = new FakeSocket; - socket[kInternalSocketData] = [_server, http_res, req], server.emit("upgrade", http_req, socket, kEmptyBuffer); - } else - server.emit("request", http_req, http_res); - if (pendingError) - throw pendingError; - if (pendingResponse) - return pendingResponse; - return new Promise((resolve, reject2) => { - resolveFunction = resolve, rejectFunction = reject2; - }); - } - }), setTimeout(emitListeningNextTick, 1, this, onListen, null, this.#server.hostname, this.#server.port); - } catch (err) { - setTimeout(emitListeningNextTick, 1, this, onListen, err); - } - return this; - } - setTimeout(msecs, callback) { - } -} -class IncomingMessage extends Readable { - method; - complete; - constructor(req, defaultIncomingOpts) { - const method = req.method; - super(); - const url = new URL(req.url); - var { type = "request", [kInternalRequest]: nodeReq } = defaultIncomingOpts || {}; - this.#noBody = type === "request" ? method === "GET" || method === "HEAD" || method === "TRACE" || method === "CONNECT" || method === "OPTIONS" || (parseInt(req.headers.get("Content-Length") || "") || 0) === 0 : !1, this.#req = req, this.method = method, this.#type = type, this.complete = !!this.#noBody, this.#bodyStream = void 0; - const socket = new FakeSocket; - socket.remoteAddress = url.hostname, socket.remotePort = url.port, this.#fakeSocket = socket, this.url = url.pathname + url.search, this.#nodeReq = nodeReq, assignHeaders(this, req); - } - headers; - rawHeaders; - _consuming = !1; - _dumped = !1; - #bodyStream; - #fakeSocket; - #noBody = !1; - #aborted = !1; - #req; - url; - #type; - #nodeReq; - get req() { - return this.#nodeReq; - } - _construct(callback) { - if (this.#type === "response" || this.#noBody) { - callback(); - return; - } - const contentLength = this.#req.headers.get("content-length"); - if ((contentLength ? parseInt(contentLength, 10) : 0) === 0) { - this.#noBody = !0, callback(); - return; - } - callback(); - } - async#consumeStream(reader) { - while (!0) { - var { done, value } = await reader.readMany(); - if (this.#aborted) - return; - if (done) { - this.push(null), this.destroy(); - break; - } - for (var v of value) - this.push(v); - } - } - _read(size) { - if (this.#noBody) - this.push(null), this.complete = !0; - else if (this.#bodyStream == null) { - const reader = this.#req.body?.getReader(); - if (!reader) { - this.push(null); - return; - } - this.#bodyStream = reader, this.#consumeStream(reader); - } - } - get aborted() { - return this.#aborted; - } - #abort() { - if (this.#aborted) - return; - this.#aborted = !0; - var bodyStream = this.#bodyStream; - if (!bodyStream) - return; - bodyStream.cancel(), this.complete = !0, this.#bodyStream = void 0, this.push(null); - } - get connection() { - return this.#fakeSocket; - } - get statusCode() { - return this.#req.status; - } - get statusMessage() { - return STATUS_CODES[this.#req.status]; - } - get httpVersion() { - return "1.1"; - } - get rawTrailers() { - return []; - } - get httpVersionMajor() { - return 1; - } - get httpVersionMinor() { - return 1; - } - get trailers() { - return kEmptyObject; - } - get socket() { - return this.#fakeSocket ??= new FakeSocket; - } - set socket(val) { - this.#fakeSocket = val; - } - setTimeout(msecs, callback) { - throw new Error("not implemented"); - } -} - -class OutgoingMessage extends Writable { - constructor() { - super(...arguments); - } - #headers; - headersSent = !1; - sendDate = !0; - req; - timeout; - #finished = !1; - [kEndCalled] = !1; - #fakeSocket; - #timeoutTimer; - [kAbortController] = null; - _implicitHeader() { - } - get headers() { - if (!this.#headers) - return kEmptyObject; - return this.#headers.toJSON(); - } - get shouldKeepAlive() { - return !0; - } - get chunkedEncoding() { - return !1; - } - set chunkedEncoding(value) { - } - set shouldKeepAlive(value) { - } - get useChunkedEncodingByDefault() { - return !0; - } - set useChunkedEncodingByDefault(value) { - } - get socket() { - return this.#fakeSocket ??= new FakeSocket; - } - set socket(val) { - this.#fakeSocket = val; - } - get connection() { - return this.socket; - } - get finished() { - return this.#finished; - } - appendHeader(name, value) { - var headers = this.#headers ??= new Headers; - headers.append(name, value); - } - flushHeaders() { - } - getHeader(name) { - return getHeader(this.#headers, name); - } - getHeaders() { - if (!this.#headers) - return kEmptyObject; - return this.#headers.toJSON(); - } - getHeaderNames() { - var headers = this.#headers; - if (!headers) - return []; - return Array.from(headers.keys()); - } - removeHeader(name) { - if (!this.#headers) - return; - this.#headers.delete(name); - } - setHeader(name, value) { - var headers = this.#headers ??= new Headers; - return headers.set(name, value), this; - } - hasHeader(name) { - if (!this.#headers) - return !1; - return this.#headers.has(name); - } - addTrailers(headers) { - throw new Error("not implemented"); - } - [kClearTimeout]() { - if (this.#timeoutTimer) - clearTimeout(this.#timeoutTimer), this.removeAllListeners("timeout"), this.#timeoutTimer = void 0; - } - #onTimeout() { - this.#timeoutTimer = void 0, this[kAbortController]?.abort(), this.emit("timeout"); - } - setTimeout(msecs, callback) { - if (this.destroyed) - return this; - if (this.timeout = msecs = validateMsecs(msecs, "msecs"), clearTimeout(this.#timeoutTimer), msecs === 0) { - if (callback !== void 0) - validateFunction(callback, "callback"), this.removeListener("timeout", callback); - this.#timeoutTimer = void 0; - } else if (this.#timeoutTimer = setTimeout(this.#onTimeout.bind(this), msecs).unref(), callback !== void 0) - validateFunction(callback, "callback"), this.once("timeout", callback); - return this; - } -} -var OriginalWriteHeadFn, OriginalImplicitHeadFn; - -class ServerResponse extends Writable { - constructor({ req, reply }) { - super(); - if (this.req = req, this._reply = reply, this.sendDate = !0, this.statusCode = 200, this.headersSent = !1, this.statusMessage = void 0, this.#controller = void 0, this.#firstWrite = void 0, this._writableState.decodeStrings = !1, this.#deferred = void 0, req.method === "HEAD") - this._hasBody = !1; - } - req; - _reply; - sendDate; - statusCode; - #headers; - headersSent = !1; - statusMessage; - #controller; - #firstWrite; - _sent100 = !1; - _defaultKeepAlive = !1; - _removedConnection = !1; - _removedContLen = !1; - _hasBody = !0; - #deferred = void 0; - #finished = !1; - _implicitHeader() { - this.writeHead(this.statusCode); - } - _write(chunk, encoding, callback) { - if (!this.#firstWrite && !this.headersSent) { - this.#firstWrite = chunk, callback(); - return; - } - this.#ensureReadableStreamController((controller) => { - controller.write(chunk), callback(); - }); - } - _writev(chunks, callback) { - if (chunks.length === 1 && !this.headersSent && !this.#firstWrite) { - this.#firstWrite = chunks[0].chunk, callback(); - return; - } - this.#ensureReadableStreamController((controller) => { - for (let chunk of chunks) - controller.write(chunk.chunk); - callback(); - }); - } - #ensureReadableStreamController(run) { - var thisController = this.#controller; - if (thisController) - return run(thisController); - this.headersSent = !0; - var firstWrite = this.#firstWrite; - this.#firstWrite = void 0, this._reply(new Response(new ReadableStream({ - type: "direct", - pull: (controller) => { - if (this.#controller = controller, firstWrite) - controller.write(firstWrite); - if (firstWrite = void 0, run(controller), !this.#finished) - return new Promise((resolve) => { - this.#deferred = resolve; - }); - } - }), { - headers: this.#headers, - status: this.statusCode, - statusText: this.statusMessage ?? STATUS_CODES[this.statusCode] - })); - } - #drainHeadersIfObservable() { - if (this._implicitHeader === OriginalImplicitHeadFn && this.writeHead === OriginalWriteHeadFn) - return; - this._implicitHeader(); - } - _final(callback) { - if (!this.headersSent) { - var data = this.#firstWrite || ""; - this.#firstWrite = void 0, this.#finished = !0, this.#drainHeadersIfObservable(), this._reply(new Response(data, { - headers: this.#headers, - status: this.statusCode, - statusText: this.statusMessage ?? STATUS_CODES[this.statusCode] - })), callback && callback(); - return; - } - this.#finished = !0, this.#ensureReadableStreamController((controller) => { - controller.end(), callback(); - var deferred = this.#deferred; - if (deferred) - this.#deferred = void 0, deferred(); - }); - } - writeProcessing() { - throw new Error("not implemented"); - } - addTrailers(headers) { - throw new Error("not implemented"); - } - assignSocket(socket) { - throw new Error("not implemented"); - } - detachSocket(socket) { - throw new Error("not implemented"); - } - writeContinue(callback) { - throw new Error("not implemented"); - } - setTimeout(msecs, callback) { - throw new Error("not implemented"); - } - get shouldKeepAlive() { - return !0; - } - get chunkedEncoding() { - return !1; - } - set chunkedEncoding(value) { - } - set shouldKeepAlive(value) { - } - get useChunkedEncodingByDefault() { - return !0; - } - set useChunkedEncodingByDefault(value) { - } - appendHeader(name, value) { - var headers = this.#headers ??= new Headers; - headers.append(name, value); - } - flushHeaders() { - } - getHeader(name) { - return getHeader(this.#headers, name); - } - getHeaders() { - var headers = this.#headers; - if (!headers) - return kEmptyObject; - return headers.toJSON(); - } - getHeaderNames() { - var headers = this.#headers; - if (!headers) - return []; - return Array.from(headers.keys()); - } - removeHeader(name) { - if (!this.#headers) - return; - this.#headers.delete(name); - } - setHeader(name, value) { - var headers = this.#headers ??= new Headers; - return headers.set(name, value), this; - } - hasHeader(name) { - if (!this.#headers) - return !1; - return this.#headers.has(name); - } - writeHead(statusCode, statusMessage, headers) { - return _writeHead(statusCode, statusMessage, headers, this), this; - } -} -OriginalWriteHeadFn = ServerResponse.prototype.writeHead; -OriginalImplicitHeadFn = ServerResponse.prototype._implicitHeader; - -class ClientRequest extends OutgoingMessage { - #timeout; - #res = null; - #upgradeOrConnect = !1; - #parser = null; - #maxHeadersCount = null; - #reusedSocket = !1; - #host; - #protocol; - #method; - #port; - #useDefaultPort; - #joinDuplicateHeaders; - #maxHeaderSize; - #agent = globalAgent; - #path; - #socketPath; - #body = null; - #fetchRequest; - #signal = null; - [kAbortController] = null; - #timeoutTimer = void 0; - #options; - #finished; - get path() { - return this.#path; - } - get port() { - return this.#port; - } - get method() { - return this.#method; - } - get host() { - return this.#host; - } - get protocol() { - return this.#protocol; - } - _write(chunk, encoding, callback) { - var body = this.#body; - if (!body) { - this.#body = chunk, callback(); - return; - } - this.#body = body + chunk, callback(); - } - _writev(chunks, callback) { - var body = this.#body; - if (!body) { - this.#body = chunks.join(), callback(); - return; - } - this.#body = body + chunks.join(), callback(); - } - _final(callback) { - if (this.#finished = !0, this[kAbortController] = new AbortController, this[kAbortController].signal.addEventListener("abort", () => { - this[kClearTimeout](); - }), this.#signal?.aborted) - this[kAbortController].abort(); - var method = this.#method, body = this.#body; - try { - this.#fetchRequest = fetch(`${this.#protocol}//${this.#host}${this.#useDefaultPort ? "" : ":" + this.#port}${this.#path}`, { - method, - headers: this.getHeaders(), - body: body && method !== "GET" && method !== "HEAD" && method !== "OPTIONS" ? body : void 0, - redirect: "manual", - verbose: Boolean(__DEBUG__), - signal: this[kAbortController].signal, - timeout: !1 - }).then((response) => { - var res = this.#res = new IncomingMessage(response, { - type: "response", - [kInternalRequest]: this - }); - this.emit("response", res); - }).catch((err) => { - if (__DEBUG__) - globalReportError(err); - this.emit("error", err); - }).finally(() => { - this.#fetchRequest = null, this[kClearTimeout](); - }); - } catch (err) { - if (__DEBUG__) - globalReportError(err); - this.emit("error", err); - } finally { - callback(); - } - } - get aborted() { - return this.#signal?.aborted || !!this[kAbortController]?.signal.aborted; - } - abort() { - if (this.aborted) - return; - this[kAbortController].abort(); - } - constructor(input, options, cb) { - super(); - if (typeof input === "string") { - const urlStr = input; - try { - var urlObject = new URL(urlStr); - } catch (e) { - throw new TypeError(`Invalid URL: ${urlStr}`); - } - input = urlToHttpOptions(urlObject); - } else if (input && typeof input === "object" && input instanceof URL) - input = urlToHttpOptions(input); - else - cb = options, options = input, input = null; - if (typeof options === "function") - cb = options, options = input || kEmptyObject; - else - options = ObjectAssign(input || {}, options); - var defaultAgent = options._defaultAgent || Agent.globalAgent; - let protocol = options.protocol; - if (!protocol) - if (options.port === 443) - protocol = "https:"; - else - protocol = defaultAgent.protocol || "http:"; - switch (this.#protocol = protocol, this.#agent?.protocol) { - case void 0: - break; - case "http:": - if (protocol === "https:") { - defaultAgent = this.#agent = getDefaultHTTPSAgent(); - break; - } - case "https:": - if (protocol === "https") { - defaultAgent = this.#agent = Agent.globalAgent; - break; - } - default: - break; - } - if (options.path) { - const path = String(options.path); - if (RegExpPrototypeExec.call(INVALID_PATH_REGEX, path) !== null) - throw debug('Path contains unescaped characters: "%s"', path), new Error("Path contains unescaped characters"); - } - if (protocol !== "http:" && protocol !== "https:" && protocol) { - const expectedProtocol = defaultAgent?.protocol ?? "http:"; - throw new Error(`Protocol mismatch. Expected: ${expectedProtocol}. Got: ${protocol}`); - } - const defaultPort = protocol === "https:" ? 443 : 80; - this.#port = options.port || options.defaultPort || this.#agent?.defaultPort || defaultPort, this.#useDefaultPort = this.#port === defaultPort; - const host = this.#host = options.host = validateHost(options.hostname, "hostname") || validateHost(options.host, "host") || "localhost"; - this.#socketPath = options.socketPath; - const signal = options.signal; - if (signal) - signal.addEventListener("abort", () => { - this[kAbortController]?.abort(); - }), this.#signal = signal; - let method = options.method; - const methodIsString = typeof method === "string"; - if (method !== null && method !== void 0 && !methodIsString) - throw new Error("ERR_INVALID_ARG_TYPE: options.method"); - if (methodIsString && method) { - if (!checkIsHttpToken(method)) - throw new Error("ERR_INVALID_HTTP_TOKEN: Method"); - method = this.#method = StringPrototypeToUpperCase.call(method); - } else - method = this.#method = "GET"; - const _maxHeaderSize = options.maxHeaderSize; - this.#maxHeaderSize = _maxHeaderSize; - var _joinDuplicateHeaders = options.joinDuplicateHeaders; - if (this.#joinDuplicateHeaders = _joinDuplicateHeaders, this.#path = options.path || "/", cb) - this.once("response", cb); - __DEBUG__ && debug(`new ClientRequest: ${this.#method} ${this.#protocol}//${this.#host}:${this.#port}${this.#path}`), this.#finished = !1, this.#res = null, this.#upgradeOrConnect = !1, this.#parser = null, this.#maxHeadersCount = null, this.#reusedSocket = !1, this.#host = host, this.#protocol = protocol; - var timeout = options.timeout; - if (timeout !== void 0 && timeout !== 0) - this.setTimeout(timeout, void 0); - if (!ArrayIsArray(headers)) { - var headers = options.headers; - if (headers) - for (let key in headers) - this.setHeader(key, headers[key]); - var auth = options.auth; - if (auth && !this.getHeader("Authorization")) - this.setHeader("Authorization", "Basic " + Buffer.from(auth).toString("base64")); - } - var { signal: _signal, ...optsWithoutSignal } = options; - this.#options = optsWithoutSignal; - } - setSocketKeepAlive(enable = !0, initialDelay = 0) { - __DEBUG__ && debug(`${NODE_HTTP_WARNING}\n`, "WARN: ClientRequest.setSocketKeepAlive is a no-op"); - } - setNoDelay(noDelay = !0) { - __DEBUG__ && debug(`${NODE_HTTP_WARNING}\n`, "WARN: ClientRequest.setNoDelay is a no-op"); - } - [kClearTimeout]() { - if (this.#timeoutTimer) - clearTimeout(this.#timeoutTimer), this.#timeoutTimer = void 0, this.removeAllListeners("timeout"); - } - #onTimeout() { - this.#timeoutTimer = void 0, this[kAbortController]?.abort(), this.emit("timeout"); - } - setTimeout(msecs, callback) { - if (this.destroyed) - return this; - if (this.timeout = msecs = validateMsecs(msecs, "msecs"), clearTimeout(this.#timeoutTimer), msecs === 0) { - if (callback !== void 0) - validateFunction(callback, "callback"), this.removeListener("timeout", callback); - this.#timeoutTimer = void 0; - } else if (this.#timeoutTimer = setTimeout(this.#onTimeout.bind(this), msecs).unref(), callback !== void 0) - validateFunction(callback, "callback"), this.once("timeout", callback); - return this; - } -} -var tokenRegExp = /^[\^_`a-zA-Z\-0-9!#$%&'*+.|~]+$/, METHODS = [ - "ACL", - "BIND", - "CHECKOUT", - "CONNECT", - "COPY", - "DELETE", - "GET", - "HEAD", - "LINK", - "LOCK", - "M-SEARCH", - "MERGE", - "MKACTIVITY", - "MKCALENDAR", - "MKCOL", - "MOVE", - "NOTIFY", - "OPTIONS", - "PATCH", - "POST", - "PROPFIND", - "PROPPATCH", - "PURGE", - "PUT", - "REBIND", - "REPORT", - "SEARCH", - "SOURCE", - "SUBSCRIBE", - "TRACE", - "UNBIND", - "UNLINK", - "UNLOCK", - "UNSUBSCRIBE" -], STATUS_CODES = { - 100: "Continue", - 101: "Switching Protocols", - 102: "Processing", - 103: "Early Hints", - 200: "OK", - 201: "Created", - 202: "Accepted", - 203: "Non-Authoritative Information", - 204: "No Content", - 205: "Reset Content", - 206: "Partial Content", - 207: "Multi-Status", - 208: "Already Reported", - 226: "IM Used", - 300: "Multiple Choices", - 301: "Moved Permanently", - 302: "Found", - 303: "See Other", - 304: "Not Modified", - 305: "Use Proxy", - 307: "Temporary Redirect", - 308: "Permanent Redirect", - 400: "Bad Request", - 401: "Unauthorized", - 402: "Payment Required", - 403: "Forbidden", - 404: "Not Found", - 405: "Method Not Allowed", - 406: "Not Acceptable", - 407: "Proxy Authentication Required", - 408: "Request Timeout", - 409: "Conflict", - 410: "Gone", - 411: "Length Required", - 412: "Precondition Failed", - 413: "Payload Too Large", - 414: "URI Too Long", - 415: "Unsupported Media Type", - 416: "Range Not Satisfiable", - 417: "Expectation Failed", - 418: "I'm a Teapot", - 421: "Misdirected Request", - 422: "Unprocessable Entity", - 423: "Locked", - 424: "Failed Dependency", - 425: "Too Early", - 426: "Upgrade Required", - 428: "Precondition Required", - 429: "Too Many Requests", - 431: "Request Header Fields Too Large", - 451: "Unavailable For Legal Reasons", - 500: "Internal Server Error", - 501: "Not Implemented", - 502: "Bad Gateway", - 503: "Service Unavailable", - 504: "Gateway Timeout", - 505: "HTTP Version Not Supported", - 506: "Variant Also Negotiates", - 507: "Insufficient Storage", - 508: "Loop Detected", - 509: "Bandwidth Limit Exceeded", - 510: "Not Extended", - 511: "Network Authentication Required" -}, globalAgent = new Agent, defaultObject = { - Agent, - Server, - METHODS, - STATUS_CODES, - createServer, - ServerResponse, - IncomingMessage, - request, - get, - maxHeaderSize: 16384, - validateHeaderName, - validateHeaderValue, - setMaxIdleHTTPParsers(max) { - debug(`${NODE_HTTP_WARNING}\n`, "setMaxIdleHTTPParsers() is a no-op"); - }, - globalAgent, - ClientRequest, - OutgoingMessage, - [Symbol.for("CommonJS")]: 0 -}, http_default = defaultObject; -export { - validateHeaderValue, - validateHeaderName, - request, - globalAgent, - get, - http_default as default, - createServer, - ServerResponse, - Server, - STATUS_CODES, - OutgoingMessage, - METHODS, - IncomingMessage, - ClientRequest, - Agent -}; diff --git a/src/js/out/modules/node/http2.js b/src/js/out/modules/node/http2.js deleted file mode 100644 index 18fea085aee71..0000000000000 --- a/src/js/out/modules/node/http2.js +++ /dev/null @@ -1,321 +0,0 @@ -function throwNotImplemented(feature, issue) { - throw hideFromStack(throwNotImplemented), new NotImplementedError(feature, issue); -} -function hideFromStack(...fns) { - for (let fn of fns) - Object.defineProperty(fn, "name", { - value: "::bunternal::" - }); -} - -class NotImplementedError extends Error { - code; - constructor(feature, issue) { - super(feature + " is not yet implemented in Bun." + (issue ? " Track the status & thumbs up the issue: https://github.com/oven-sh/bun/issues/" + issue : "")); - this.name = "NotImplementedError", this.code = "ERR_NOT_IMPLEMENTED", hideFromStack(NotImplementedError); - } -} - -// src/js/node/http2.ts -var connect = function() { - throwNotImplemented("node:http2 connect", 887); -}, createServer = function() { - throwNotImplemented("node:http2 createServer", 887); -}, createSecureServer = function() { - throwNotImplemented("node:http2 createSecureServer", 887); -}, getDefaultSettings = function() { - return { - headerTableSize: 4096, - enablePush: !0, - initialWindowSize: 65535, - maxFrameSize: 16384, - maxConcurrentStreams: 4294967295, - maxHeaderSize: 65535, - maxHeaderListSize: 65535, - enableConnectProtocol: !1 - }; -}, getPackedSettings = function() { - return Buffer.alloc(0); -}, getUnpackedSettings = function() { - return Buffer.alloc(0); -}, Http2ServerRequest = function() { - throwNotImplemented("node:http2 Http2ServerRequest", 887); -}, Http2ServerResponse = function() { - throwNotImplemented("node:http2 Http2ServerResponse", 887); -}, constants = { - NGHTTP2_ERR_FRAME_SIZE_ERROR: -522, - NGHTTP2_SESSION_SERVER: 0, - NGHTTP2_SESSION_CLIENT: 1, - NGHTTP2_STREAM_STATE_IDLE: 1, - NGHTTP2_STREAM_STATE_OPEN: 2, - NGHTTP2_STREAM_STATE_RESERVED_LOCAL: 3, - NGHTTP2_STREAM_STATE_RESERVED_REMOTE: 4, - NGHTTP2_STREAM_STATE_HALF_CLOSED_LOCAL: 5, - NGHTTP2_STREAM_STATE_HALF_CLOSED_REMOTE: 6, - NGHTTP2_STREAM_STATE_CLOSED: 7, - NGHTTP2_FLAG_NONE: 0, - NGHTTP2_FLAG_END_STREAM: 1, - NGHTTP2_FLAG_END_HEADERS: 4, - NGHTTP2_FLAG_ACK: 1, - NGHTTP2_FLAG_PADDED: 8, - NGHTTP2_FLAG_PRIORITY: 32, - DEFAULT_SETTINGS_HEADER_TABLE_SIZE: 4096, - DEFAULT_SETTINGS_ENABLE_PUSH: 1, - DEFAULT_SETTINGS_MAX_CONCURRENT_STREAMS: 4294967295, - DEFAULT_SETTINGS_INITIAL_WINDOW_SIZE: 65535, - DEFAULT_SETTINGS_MAX_FRAME_SIZE: 16384, - DEFAULT_SETTINGS_MAX_HEADER_LIST_SIZE: 65535, - DEFAULT_SETTINGS_ENABLE_CONNECT_PROTOCOL: 0, - MAX_MAX_FRAME_SIZE: 16777215, - MIN_MAX_FRAME_SIZE: 16384, - MAX_INITIAL_WINDOW_SIZE: 2147483647, - NGHTTP2_SETTINGS_HEADER_TABLE_SIZE: 1, - NGHTTP2_SETTINGS_ENABLE_PUSH: 2, - NGHTTP2_SETTINGS_MAX_CONCURRENT_STREAMS: 3, - NGHTTP2_SETTINGS_INITIAL_WINDOW_SIZE: 4, - NGHTTP2_SETTINGS_MAX_FRAME_SIZE: 5, - NGHTTP2_SETTINGS_MAX_HEADER_LIST_SIZE: 6, - NGHTTP2_SETTINGS_ENABLE_CONNECT_PROTOCOL: 8, - PADDING_STRATEGY_NONE: 0, - PADDING_STRATEGY_ALIGNED: 1, - PADDING_STRATEGY_MAX: 2, - PADDING_STRATEGY_CALLBACK: 1, - NGHTTP2_NO_ERROR: 0, - NGHTTP2_PROTOCOL_ERROR: 1, - NGHTTP2_INTERNAL_ERROR: 2, - NGHTTP2_FLOW_CONTROL_ERROR: 3, - NGHTTP2_SETTINGS_TIMEOUT: 4, - NGHTTP2_STREAM_CLOSED: 5, - NGHTTP2_FRAME_SIZE_ERROR: 6, - NGHTTP2_REFUSED_STREAM: 7, - NGHTTP2_CANCEL: 8, - NGHTTP2_COMPRESSION_ERROR: 9, - NGHTTP2_CONNECT_ERROR: 10, - NGHTTP2_ENHANCE_YOUR_CALM: 11, - NGHTTP2_INADEQUATE_SECURITY: 12, - NGHTTP2_HTTP_1_1_REQUIRED: 13, - NGHTTP2_DEFAULT_WEIGHT: 16, - HTTP2_HEADER_STATUS: ":status", - HTTP2_HEADER_METHOD: ":method", - HTTP2_HEADER_AUTHORITY: ":authority", - HTTP2_HEADER_SCHEME: ":scheme", - HTTP2_HEADER_PATH: ":path", - HTTP2_HEADER_PROTOCOL: ":protocol", - HTTP2_HEADER_ACCEPT_ENCODING: "accept-encoding", - HTTP2_HEADER_ACCEPT_LANGUAGE: "accept-language", - HTTP2_HEADER_ACCEPT_RANGES: "accept-ranges", - HTTP2_HEADER_ACCEPT: "accept", - HTTP2_HEADER_ACCESS_CONTROL_ALLOW_CREDENTIALS: "access-control-allow-credentials", - HTTP2_HEADER_ACCESS_CONTROL_ALLOW_HEADERS: "access-control-allow-headers", - HTTP2_HEADER_ACCESS_CONTROL_ALLOW_METHODS: "access-control-allow-methods", - HTTP2_HEADER_ACCESS_CONTROL_ALLOW_ORIGIN: "access-control-allow-origin", - HTTP2_HEADER_ACCESS_CONTROL_EXPOSE_HEADERS: "access-control-expose-headers", - HTTP2_HEADER_ACCESS_CONTROL_REQUEST_HEADERS: "access-control-request-headers", - HTTP2_HEADER_ACCESS_CONTROL_REQUEST_METHOD: "access-control-request-method", - HTTP2_HEADER_AGE: "age", - HTTP2_HEADER_AUTHORIZATION: "authorization", - HTTP2_HEADER_CACHE_CONTROL: "cache-control", - HTTP2_HEADER_CONNECTION: "connection", - HTTP2_HEADER_CONTENT_DISPOSITION: "content-disposition", - HTTP2_HEADER_CONTENT_ENCODING: "content-encoding", - HTTP2_HEADER_CONTENT_LENGTH: "content-length", - HTTP2_HEADER_CONTENT_TYPE: "content-type", - HTTP2_HEADER_COOKIE: "cookie", - HTTP2_HEADER_DATE: "date", - HTTP2_HEADER_ETAG: "etag", - HTTP2_HEADER_FORWARDED: "forwarded", - HTTP2_HEADER_HOST: "host", - HTTP2_HEADER_IF_MODIFIED_SINCE: "if-modified-since", - HTTP2_HEADER_IF_NONE_MATCH: "if-none-match", - HTTP2_HEADER_IF_RANGE: "if-range", - HTTP2_HEADER_LAST_MODIFIED: "last-modified", - HTTP2_HEADER_LINK: "link", - HTTP2_HEADER_LOCATION: "location", - HTTP2_HEADER_RANGE: "range", - HTTP2_HEADER_REFERER: "referer", - HTTP2_HEADER_SERVER: "server", - HTTP2_HEADER_SET_COOKIE: "set-cookie", - HTTP2_HEADER_STRICT_TRANSPORT_SECURITY: "strict-transport-security", - HTTP2_HEADER_TRANSFER_ENCODING: "transfer-encoding", - HTTP2_HEADER_TE: "te", - HTTP2_HEADER_UPGRADE_INSECURE_REQUESTS: "upgrade-insecure-requests", - HTTP2_HEADER_UPGRADE: "upgrade", - HTTP2_HEADER_USER_AGENT: "user-agent", - HTTP2_HEADER_VARY: "vary", - HTTP2_HEADER_X_CONTENT_TYPE_OPTIONS: "x-content-type-options", - HTTP2_HEADER_X_FRAME_OPTIONS: "x-frame-options", - HTTP2_HEADER_KEEP_ALIVE: "keep-alive", - HTTP2_HEADER_PROXY_CONNECTION: "proxy-connection", - HTTP2_HEADER_X_XSS_PROTECTION: "x-xss-protection", - HTTP2_HEADER_ALT_SVC: "alt-svc", - HTTP2_HEADER_CONTENT_SECURITY_POLICY: "content-security-policy", - HTTP2_HEADER_EARLY_DATA: "early-data", - HTTP2_HEADER_EXPECT_CT: "expect-ct", - HTTP2_HEADER_ORIGIN: "origin", - HTTP2_HEADER_PURPOSE: "purpose", - HTTP2_HEADER_TIMING_ALLOW_ORIGIN: "timing-allow-origin", - HTTP2_HEADER_X_FORWARDED_FOR: "x-forwarded-for", - HTTP2_HEADER_PRIORITY: "priority", - HTTP2_HEADER_ACCEPT_CHARSET: "accept-charset", - HTTP2_HEADER_ACCESS_CONTROL_MAX_AGE: "access-control-max-age", - HTTP2_HEADER_ALLOW: "allow", - HTTP2_HEADER_CONTENT_LANGUAGE: "content-language", - HTTP2_HEADER_CONTENT_LOCATION: "content-location", - HTTP2_HEADER_CONTENT_MD5: "content-md5", - HTTP2_HEADER_CONTENT_RANGE: "content-range", - HTTP2_HEADER_DNT: "dnt", - HTTP2_HEADER_EXPECT: "expect", - HTTP2_HEADER_EXPIRES: "expires", - HTTP2_HEADER_FROM: "from", - HTTP2_HEADER_IF_MATCH: "if-match", - HTTP2_HEADER_IF_UNMODIFIED_SINCE: "if-unmodified-since", - HTTP2_HEADER_MAX_FORWARDS: "max-forwards", - HTTP2_HEADER_PREFER: "prefer", - HTTP2_HEADER_PROXY_AUTHENTICATE: "proxy-authenticate", - HTTP2_HEADER_PROXY_AUTHORIZATION: "proxy-authorization", - HTTP2_HEADER_REFRESH: "refresh", - HTTP2_HEADER_RETRY_AFTER: "retry-after", - HTTP2_HEADER_TRAILER: "trailer", - HTTP2_HEADER_TK: "tk", - HTTP2_HEADER_VIA: "via", - HTTP2_HEADER_WARNING: "warning", - HTTP2_HEADER_WWW_AUTHENTICATE: "www-authenticate", - HTTP2_HEADER_HTTP2_SETTINGS: "http2-settings", - HTTP2_METHOD_ACL: "ACL", - HTTP2_METHOD_BASELINE_CONTROL: "BASELINE-CONTROL", - HTTP2_METHOD_BIND: "BIND", - HTTP2_METHOD_CHECKIN: "CHECKIN", - HTTP2_METHOD_CHECKOUT: "CHECKOUT", - HTTP2_METHOD_CONNECT: "CONNECT", - HTTP2_METHOD_COPY: "COPY", - HTTP2_METHOD_DELETE: "DELETE", - HTTP2_METHOD_GET: "GET", - HTTP2_METHOD_HEAD: "HEAD", - HTTP2_METHOD_LABEL: "LABEL", - HTTP2_METHOD_LINK: "LINK", - HTTP2_METHOD_LOCK: "LOCK", - HTTP2_METHOD_MERGE: "MERGE", - HTTP2_METHOD_MKACTIVITY: "MKACTIVITY", - HTTP2_METHOD_MKCALENDAR: "MKCALENDAR", - HTTP2_METHOD_MKCOL: "MKCOL", - HTTP2_METHOD_MKREDIRECTREF: "MKREDIRECTREF", - HTTP2_METHOD_MKWORKSPACE: "MKWORKSPACE", - HTTP2_METHOD_MOVE: "MOVE", - HTTP2_METHOD_OPTIONS: "OPTIONS", - HTTP2_METHOD_ORDERPATCH: "ORDERPATCH", - HTTP2_METHOD_PATCH: "PATCH", - HTTP2_METHOD_POST: "POST", - HTTP2_METHOD_PRI: "PRI", - HTTP2_METHOD_PROPFIND: "PROPFIND", - HTTP2_METHOD_PROPPATCH: "PROPPATCH", - HTTP2_METHOD_PUT: "PUT", - HTTP2_METHOD_REBIND: "REBIND", - HTTP2_METHOD_REPORT: "REPORT", - HTTP2_METHOD_SEARCH: "SEARCH", - HTTP2_METHOD_TRACE: "TRACE", - HTTP2_METHOD_UNBIND: "UNBIND", - HTTP2_METHOD_UNCHECKOUT: "UNCHECKOUT", - HTTP2_METHOD_UNLINK: "UNLINK", - HTTP2_METHOD_UNLOCK: "UNLOCK", - HTTP2_METHOD_UPDATE: "UPDATE", - HTTP2_METHOD_UPDATEREDIRECTREF: "UPDATEREDIRECTREF", - HTTP2_METHOD_VERSION_CONTROL: "VERSION-CONTROL", - HTTP_STATUS_CONTINUE: 100, - HTTP_STATUS_SWITCHING_PROTOCOLS: 101, - HTTP_STATUS_PROCESSING: 102, - HTTP_STATUS_EARLY_HINTS: 103, - HTTP_STATUS_OK: 200, - HTTP_STATUS_CREATED: 201, - HTTP_STATUS_ACCEPTED: 202, - HTTP_STATUS_NON_AUTHORITATIVE_INFORMATION: 203, - HTTP_STATUS_NO_CONTENT: 204, - HTTP_STATUS_RESET_CONTENT: 205, - HTTP_STATUS_PARTIAL_CONTENT: 206, - HTTP_STATUS_MULTI_STATUS: 207, - HTTP_STATUS_ALREADY_REPORTED: 208, - HTTP_STATUS_IM_USED: 226, - HTTP_STATUS_MULTIPLE_CHOICES: 300, - HTTP_STATUS_MOVED_PERMANENTLY: 301, - HTTP_STATUS_FOUND: 302, - HTTP_STATUS_SEE_OTHER: 303, - HTTP_STATUS_NOT_MODIFIED: 304, - HTTP_STATUS_USE_PROXY: 305, - HTTP_STATUS_TEMPORARY_REDIRECT: 307, - HTTP_STATUS_PERMANENT_REDIRECT: 308, - HTTP_STATUS_BAD_REQUEST: 400, - HTTP_STATUS_UNAUTHORIZED: 401, - HTTP_STATUS_PAYMENT_REQUIRED: 402, - HTTP_STATUS_FORBIDDEN: 403, - HTTP_STATUS_NOT_FOUND: 404, - HTTP_STATUS_METHOD_NOT_ALLOWED: 405, - HTTP_STATUS_NOT_ACCEPTABLE: 406, - HTTP_STATUS_PROXY_AUTHENTICATION_REQUIRED: 407, - HTTP_STATUS_REQUEST_TIMEOUT: 408, - HTTP_STATUS_CONFLICT: 409, - HTTP_STATUS_GONE: 410, - HTTP_STATUS_LENGTH_REQUIRED: 411, - HTTP_STATUS_PRECONDITION_FAILED: 412, - HTTP_STATUS_PAYLOAD_TOO_LARGE: 413, - HTTP_STATUS_URI_TOO_LONG: 414, - HTTP_STATUS_UNSUPPORTED_MEDIA_TYPE: 415, - HTTP_STATUS_RANGE_NOT_SATISFIABLE: 416, - HTTP_STATUS_EXPECTATION_FAILED: 417, - HTTP_STATUS_TEAPOT: 418, - HTTP_STATUS_MISDIRECTED_REQUEST: 421, - HTTP_STATUS_UNPROCESSABLE_ENTITY: 422, - HTTP_STATUS_LOCKED: 423, - HTTP_STATUS_FAILED_DEPENDENCY: 424, - HTTP_STATUS_TOO_EARLY: 425, - HTTP_STATUS_UPGRADE_REQUIRED: 426, - HTTP_STATUS_PRECONDITION_REQUIRED: 428, - HTTP_STATUS_TOO_MANY_REQUESTS: 429, - HTTP_STATUS_REQUEST_HEADER_FIELDS_TOO_LARGE: 431, - HTTP_STATUS_UNAVAILABLE_FOR_LEGAL_REASONS: 451, - HTTP_STATUS_INTERNAL_SERVER_ERROR: 500, - HTTP_STATUS_NOT_IMPLEMENTED: 501, - HTTP_STATUS_BAD_GATEWAY: 502, - HTTP_STATUS_SERVICE_UNAVAILABLE: 503, - HTTP_STATUS_GATEWAY_TIMEOUT: 504, - HTTP_STATUS_HTTP_VERSION_NOT_SUPPORTED: 505, - HTTP_STATUS_VARIANT_ALSO_NEGOTIATES: 506, - HTTP_STATUS_INSUFFICIENT_STORAGE: 507, - HTTP_STATUS_LOOP_DETECTED: 508, - HTTP_STATUS_BANDWIDTH_LIMIT_EXCEEDED: 509, - HTTP_STATUS_NOT_EXTENDED: 510, - HTTP_STATUS_NETWORK_AUTHENTICATION_REQUIRED: 511 -}, sensitiveHeaders = Symbol.for("nodejs.http2.sensitiveHeaders"), defaultObject = { - constants, - createServer, - createSecureServer, - getDefaultSettings, - getPackedSettings, - getUnpackedSettings, - sensitiveHeaders, - Http2ServerRequest, - Http2ServerResponse, - [Symbol.for("CommonJS")]: 0, - connect -}; -hideFromStack([ - Http2ServerRequest, - Http2ServerResponse, - connect, - createServer, - createSecureServer, - getDefaultSettings, - getPackedSettings, - getUnpackedSettings -]); -export { - sensitiveHeaders, - getUnpackedSettings, - getPackedSettings, - getDefaultSettings, - defaultObject as default, - createServer, - createSecureServer, - constants, - connect, - Http2ServerResponse, - Http2ServerRequest -}; diff --git a/src/js/out/modules/node/https.js b/src/js/out/modules/node/https.js deleted file mode 100644 index 4fbf284d594f5..0000000000000 --- a/src/js/out/modules/node/https.js +++ /dev/null @@ -1,54 +0,0 @@ -import * as http from "node:http"; -var request2 = function(input, options, cb) { - if (input && typeof input === "object" && !(input instanceof URL)) - input.protocol ??= "https:"; - else if (typeof options === "object") - options.protocol ??= "https:"; - return http.request(input, options, cb); -}, get = function(input, options, cb) { - const req = request2(input, options, cb); - return req.end(), req; -}, { - Agent, - Server, - METHODS, - STATUS_CODES, - createServer, - ServerResponse, - IncomingMessage, - maxHeaderSize, - validateHeaderName, - validateHeaderValue, - globalAgent -} = http, defaultExport = { - Agent, - Server, - METHODS, - STATUS_CODES, - createServer, - ServerResponse, - IncomingMessage, - request: request2, - get, - maxHeaderSize, - validateHeaderName, - validateHeaderValue, - globalAgent -}; -var https_default = defaultExport; -export { - validateHeaderValue, - validateHeaderName, - request2 as request, - maxHeaderSize, - globalAgent, - get, - https_default as default, - createServer, - ServerResponse, - Server, - STATUS_CODES, - METHODS, - IncomingMessage, - Agent -}; diff --git a/src/js/out/modules/node/inspector.js b/src/js/out/modules/node/inspector.js deleted file mode 100644 index 3a5073efc7aea..0000000000000 --- a/src/js/out/modules/node/inspector.js +++ /dev/null @@ -1,60 +0,0 @@ -function throwNotImplemented(feature, issue) { - throw hideFromStack(throwNotImplemented), new NotImplementedError(feature, issue); -} -function hideFromStack(...fns) { - for (let fn of fns) - Object.defineProperty(fn, "name", { - value: "::bunternal::" - }); -} - -class NotImplementedError extends Error { - code; - constructor(feature, issue) { - super(feature + " is not yet implemented in Bun." + (issue ? " Track the status & thumbs up the issue: https://github.com/oven-sh/bun/issues/" + issue : "")); - this.name = "NotImplementedError", this.code = "ERR_NOT_IMPLEMENTED", hideFromStack(NotImplementedError); - } -} - -// src/js/node/inspector.ts -import EventEmitter from "node:events"; -var open = function() { - throwNotImplemented("node:inspector open", 2445); -}, close = function() { - throwNotImplemented("node:inspector close", 2445); -}, url = function() { - throwNotImplemented("node:inspector url", 2445); -}, waitForDebugger = function() { - throwNotImplemented("node:inspector waitForDebugger", 2445); -}; - -class Session extends EventEmitter { - constructor() { - super(); - throwNotImplemented("node:inspector Session", 2445); - } -} -var console = { - ...globalThis.console, - context: { - console: globalThis.console - } -}, defaultObject = { - console, - open, - close, - url, - waitForDebugger, - Session, - [Symbol.for("CommonJS")]: 0 -}; -hideFromStack(open, close, url, waitForDebugger, Session.prototype.constructor); -export { - waitForDebugger, - url, - open, - defaultObject as default, - console, - close, - Session -}; diff --git a/src/js/out/modules/node/net.js b/src/js/out/modules/node/net.js deleted file mode 100644 index ca64e39b01eb9..0000000000000 --- a/src/js/out/modules/node/net.js +++ /dev/null @@ -1,553 +0,0 @@ -import {Duplex} from "node:stream"; -import {EventEmitter} from "node:events"; -var isIPv4 = function(s) { - return IPv4Reg.test(s); -}, isIPv6 = function(s) { - return IPv6Reg.test(s); -}, isIP = function(s) { - if (isIPv4(s)) - return 4; - if (isIPv6(s)) - return 6; - return 0; -}, createConnection = function(port, host, connectListener) { - if (typeof port === "object") - return new Socket(port).connect(port, host, connectListener); - return new Socket().connect(port, host, connectListener); -}, emitErrorNextTick = function(self, error) { - self.emit("error", error); -}, emitListeningNextTick = function(self, onListen) { - if (typeof onListen === "function") - try { - onListen(); - } catch (err) { - self.emit("error", err); - } - self.emit("listening"); -}, createServer = function(options, connectionListener) { - return new Server(options, connectionListener); -}, v4Seg = "(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])", v4Str = `(${v4Seg}[.]){3}${v4Seg}`, IPv4Reg = new RegExp(`^${v4Str}\$`), v6Seg = "(?:[0-9a-fA-F]{1,4})", IPv6Reg = new RegExp("^(" + `(?:${v6Seg}:){7}(?:${v6Seg}|:)|` + `(?:${v6Seg}:){6}(?:${v4Str}|:${v6Seg}|:)|` + `(?:${v6Seg}:){5}(?::${v4Str}|(:${v6Seg}){1,2}|:)|` + `(?:${v6Seg}:){4}(?:(:${v6Seg}){0,1}:${v4Str}|(:${v6Seg}){1,3}|:)|` + `(?:${v6Seg}:){3}(?:(:${v6Seg}){0,2}:${v4Str}|(:${v6Seg}){1,4}|:)|` + `(?:${v6Seg}:){2}(?:(:${v6Seg}){0,3}:${v4Str}|(:${v6Seg}){1,5}|:)|` + `(?:${v6Seg}:){1}(?:(:${v6Seg}){0,4}:${v4Str}|(:${v6Seg}){1,6}|:)|` + `(?::((?::${v6Seg}){0,5}:${v4Str}|(?::${v6Seg}){1,7}|:))` + ")(%[0-9a-zA-Z-.:]{1,})?$"), { Bun, createFIFO, Object } = globalThis[Symbol.for("Bun.lazy")]("primordials"), { connect: bunConnect } = Bun, { setTimeout } = globalThis, bunTlsSymbol = Symbol.for("::buntls::"), bunSocketServerHandlers = Symbol.for("::bunsocket_serverhandlers::"), bunSocketServerConnections = Symbol.for("::bunnetserverconnections::"), bunSocketServerOptions = Symbol.for("::bunnetserveroptions::"), bunSocketInternal = Symbol.for("::bunnetsocketinternal::"), bunTLSConnectOptions = Symbol.for("::buntlsconnectoptions::"), SocketClass, Socket = function(InternalSocket) { - return SocketClass = InternalSocket, Object.defineProperty(SocketClass.prototype, Symbol.toStringTag, { - value: "Socket", - enumerable: !1 - }), Object.defineProperty(function Socket(options) { - return new InternalSocket(options); - }, Symbol.hasInstance, { - value(instance) { - return instance instanceof InternalSocket; - } - }); -}(class Socket2 extends Duplex { - static #Handlers = { - close: Socket2.#Close, - connectError(socket, error) { - socket.data.emit("error", error); - }, - data({ data: self }, buffer) { - self.bytesRead += buffer.length; - const queue = self.#readQueue; - if (queue.isEmpty()) { - if (self.push(buffer)) - return; - } - queue.push(buffer); - }, - drain: Socket2.#Drain, - end: Socket2.#Close, - error(socket, error) { - const self = socket.data, callback = self.#writeCallback; - if (callback) - self.#writeCallback = null, callback(error); - self.emit("error", error); - }, - open(socket) { - const self = socket.data; - socket.timeout(self.timeout), socket.ref(), self[bunSocketInternal] = socket, self.connecting = !1; - const options = self[bunTLSConnectOptions]; - if (options) { - const { session } = options; - if (session) - self.setSession(session); - } - if (!self.#upgraded) - self.emit("connect", self); - Socket2.#Drain(socket); - }, - handshake(socket, success, verifyError) { - const { data: self } = socket; - self._securePending = !1, self.secureConnecting = !1, self._secureEstablished = !!success, self.emit("secure", self); - const { checkServerIdentity } = self[bunTLSConnectOptions]; - if (!verifyError && typeof checkServerIdentity === "function" && self.servername) { - const cert = self.getPeerCertificate(!0); - verifyError = checkServerIdentity(self.servername, cert); - } - if (self._requestCert || self._rejectUnauthorized) { - if (verifyError) { - if (self.authorized = !1, self.authorizationError = verifyError.code || verifyError.message, self._rejectUnauthorized) { - self.destroy(verifyError); - return; - } - } - } else - self.authorized = !0; - self.emit("secureConnect", verifyError); - }, - timeout(socket) { - const self = socket.data; - self.emit("timeout", self); - }, - binaryType: "buffer" - }; - static #Close(socket) { - const self = socket.data; - if (self.#closed) - return; - self.#closed = !0, self[bunSocketInternal] = null; - const queue = self.#readQueue; - if (queue.isEmpty()) { - if (self.push(null)) - return; - } - queue.push(null); - } - static #Drain(socket) { - const self = socket.data, callback = self.#writeCallback; - if (callback) { - const chunk = self.#writeChunk, written = socket.write(chunk); - if (self.bytesWritten += written, written < chunk.length) - self.#writeChunk = chunk.slice(written); - else - self.#writeCallback = null, self.#writeChunk = null, callback(null); - } - } - static [bunSocketServerHandlers] = { - data: Socket2.#Handlers.data, - close(socket) { - Socket2.#Handlers.close(socket), this.data[bunSocketServerConnections]--; - }, - end(socket) { - Socket2.#Handlers.end(socket), this.data[bunSocketServerConnections]--; - }, - open(socket) { - const self = this.data, options = self[bunSocketServerOptions], { pauseOnConnect, connectionListener, InternalSocketClass, requestCert, rejectUnauthorized } = options, _socket = new InternalSocketClass({}); - if (_socket.isServer = !0, _socket._requestCert = requestCert, _socket._rejectUnauthorized = rejectUnauthorized, _socket.#attach(this.localPort, socket), self.maxConnections && self[bunSocketServerConnections] >= self.maxConnections) { - const data = { - localAddress: _socket.localAddress, - localPort: _socket.localPort, - localFamily: _socket.localFamily, - remoteAddress: _socket.remoteAddress, - remotePort: _socket.remotePort, - remoteFamily: _socket.remoteFamily || "IPv4" - }; - socket.end(), self.emit("drop", data); - return; - } - if (!pauseOnConnect) - _socket.resume(); - if (self[bunSocketServerConnections]++, typeof connectionListener == "function") - if (InternalSocketClass.name === "TLSSocket") - self.once("secureConnection", () => connectionListener(_socket)); - else - connectionListener(_socket); - self.emit("connection", _socket); - }, - handshake(socket, success, verifyError) { - const { data: self } = socket; - if (self.emit("secure", self), self._securePending = !1, self.secureConnecting = !1, self._secureEstablished = !!success, self._requestCert || self._rejectUnauthorized) { - if (verifyError) { - if (self.authorized = !1, self.authorizationError = verifyError.code || verifyError.message, self._rejectUnauthorized) { - self.destroy(verifyError); - return; - } - } - } else - self.authorized = !0; - self.emit("secureConnection", verifyError); - }, - error(socket, error) { - Socket2.#Handlers.error(socket, error), this.data.emit("error", error); - }, - timeout: Socket2.#Handlers.timeout, - connectError: Socket2.#Handlers.connectError, - drain: Socket2.#Handlers.drain, - binaryType: "buffer" - }; - bytesRead = 0; - bytesWritten = 0; - #closed = !1; - connecting = !1; - localAddress = "127.0.0.1"; - #readQueue = createFIFO(); - remotePort; - [bunSocketInternal] = null; - [bunTLSConnectOptions] = null; - timeout = 0; - #writeCallback; - #writeChunk; - #pendingRead; - isServer = !1; - _handle; - _parent; - _parentWrap; - #socket; - #upgraded; - constructor(options) { - const { socket, signal, write, read, allowHalfOpen = !1, ...opts } = options || {}; - super({ - ...opts, - allowHalfOpen, - readable: !0, - writable: !0 - }); - if (this._handle = this, this._parent = this, this._parentWrap = this, this.#pendingRead = void 0, this.#upgraded = !1, socket instanceof Socket2) - this.#socket = socket; - signal?.once("abort", () => this.destroy()), this.once("connect", () => this.emit("ready")); - } - address() { - return { - address: this.localAddress, - family: this.localFamily, - port: this.localPort - }; - } - get bufferSize() { - return this.writableLength; - } - #attach(port, socket) { - if (this.remotePort = port, socket.data = this, socket.timeout(this.timeout), socket.ref(), this[bunSocketInternal] = socket, this.connecting = !1, !this.#upgraded) - this.emit("connect", this); - Socket2.#Drain(socket); - } - connect(port, host, connectListener) { - var path, connection = this.#socket, _checkServerIdentity = void 0; - if (typeof port === "string") { - if (path = port, port = void 0, typeof host === "function") - connectListener = host, host = void 0; - } else if (typeof host == "function") { - if (typeof port === "string") - path = port, port = void 0; - connectListener = host, host = void 0; - } - if (typeof port == "object") { - var { - port, - host, - path, - socket, - localAddress, - localPort, - family, - hints, - lookup, - noDelay, - keepAlive, - keepAliveInitialDelay, - requestCert, - rejectUnauthorized, - pauseOnConnect, - servername, - checkServerIdentity, - session - } = port; - if (_checkServerIdentity = checkServerIdentity, this.servername = servername, socket) - connection = socket; - } - if (!pauseOnConnect) - this.resume(); - this.connecting = !0, this.remotePort = port; - const bunTLS = this[bunTlsSymbol]; - var tls = void 0; - if (typeof bunTLS === "function") { - if (tls = bunTLS.call(this, port, host, !0), this._requestCert = !0, this._rejectUnauthorized = rejectUnauthorized, tls) { - if (tls.rejectUnauthorized = rejectUnauthorized, tls.requestCert = !0, tls.session = session || tls.session, this.servername = tls.servername, tls.checkServerIdentity = _checkServerIdentity || tls.checkServerIdentity, this[bunTLSConnectOptions] = tls, !connection && tls.socket) - connection = tls.socket; - } - if (connection) { - if (typeof connection !== "object" || !(connection instanceof Socket2) || typeof connection[bunTlsSymbol] === "function") - throw new TypeError("socket must be an instance of net.Socket"); - } - if (this.authorized = !1, this.secureConnecting = !0, this._secureEstablished = !1, this._securePending = !0, connectListener) - this.on("secureConnect", connectListener); - } else if (connectListener) - this.on("connect", connectListener); - if (connection) { - const socket2 = connection[bunSocketInternal]; - if (socket2) { - this.connecting = !0, this.#upgraded = !0; - const result = socket2.upgradeTLS({ - data: this, - tls, - socket: Socket2.#Handlers - }); - if (result) { - const [raw, tls2] = result; - connection[bunSocketInternal] = raw, raw.timeout(raw.timeout), raw.connecting = !1, this[bunSocketInternal] = tls2; - } else - throw this[bunSocketInternal] = null, new Error("Invalid socket"); - } else - connection.once("connect", () => { - const socket3 = connection[bunSocketInternal]; - if (!socket3) - return; - this.connecting = !0, this.#upgraded = !0; - const result = socket3.upgradeTLS({ - data: this, - tls, - socket: Socket2.#Handlers - }); - if (result) { - const [raw, tls2] = result; - connection[bunSocketInternal] = raw, raw.timeout(raw.timeout), raw.connecting = !1, this[bunSocketInternal] = tls2; - } else - throw this[bunSocketInternal] = null, new Error("Invalid socket"); - }); - } else if (path) - bunConnect({ - data: this, - unix: path, - socket: Socket2.#Handlers, - tls - }).catch((error) => { - this.emit("error", error); - }); - else - bunConnect({ - data: this, - hostname: host || "localhost", - port, - socket: Socket2.#Handlers, - tls - }).catch((error) => { - this.emit("error", error); - }); - return this; - } - _destroy(err, callback) { - this[bunSocketInternal]?.end(), callback(err); - } - _final(callback) { - this[bunSocketInternal]?.end(), callback(); - } - get localAddress() { - return "127.0.0.1"; - } - get localFamily() { - return "IPv4"; - } - get localPort() { - return this[bunSocketInternal]?.localPort; - } - get pending() { - return this.connecting; - } - _read(size) { - const queue = this.#readQueue; - let chunk; - while (chunk = queue.peek()) { - if (!this.push(chunk)) - return; - queue.shift(); - } - } - get readyState() { - if (this.connecting) - return "opening"; - if (this.readable) - return this.writable ? "open" : "readOnly"; - else - return this.writable ? "writeOnly" : "closed"; - } - ref() { - this[bunSocketInternal]?.ref(); - } - get remoteAddress() { - return this[bunSocketInternal]?.remoteAddress; - } - get remoteFamily() { - return "IPv4"; - } - resetAndDestroy() { - this[bunSocketInternal]?.end(); - } - setKeepAlive(enable = !1, initialDelay = 0) { - return this; - } - setNoDelay(noDelay = !0) { - return this; - } - setTimeout(timeout, callback) { - if (this[bunSocketInternal]?.timeout(timeout), this.timeout = timeout, callback) - this.once("timeout", callback); - return this; - } - unref() { - this[bunSocketInternal]?.unref(); - } - _write(chunk, encoding, callback) { - if (typeof chunk == "string" && encoding !== "ascii") - chunk = Buffer.from(chunk, encoding); - var written = this[bunSocketInternal]?.write(chunk); - if (written == chunk.length) - callback(); - else if (this.#writeCallback) - callback(new Error("overlapping _write()")); - else { - if (written > 0) - if (typeof chunk == "string") - chunk = chunk.slice(written); - else - chunk = chunk.subarray(written); - this.#writeCallback = callback, this.#writeChunk = chunk; - } - } -}), connect = createConnection; - -class Server extends EventEmitter { - #server; - #listening = !1; - [bunSocketServerConnections] = 0; - [bunSocketServerOptions]; - maxConnections = 0; - constructor(options, connectionListener) { - super(); - if (typeof options === "function") - connectionListener = options, options = {}; - else if (options == null || typeof options === "object") - options = { ...options }; - else - throw new Error("bun-net-polyfill: invalid arguments"); - const { maxConnections } = options; - this.maxConnections = Number.isSafeInteger(maxConnections) && maxConnections > 0 ? maxConnections : 0, options.connectionListener = connectionListener, this[bunSocketServerOptions] = options; - } - ref() { - return this.#server?.ref(), this; - } - unref() { - return this.#server?.unref(), this; - } - close(callback) { - if (this.#server) { - if (this.#server.stop(!0), this.#server = null, this.#listening = !1, this[bunSocketServerConnections] = 0, this.emit("close"), typeof callback === "function") - callback(); - return this; - } - if (typeof callback === "function") { - const error = new Error("Server is not running"); - error.code = "ERR_SERVER_NOT_RUNNING", callback(error); - } - return this; - } - address() { - const server = this.#server; - if (server) { - const unix = server.unix; - if (unix) - return unix; - let address = server.hostname; - const type = isIP(address), port = server.port; - if (typeof port === "number") - return { - port, - address, - family: type ? `IPv${type}` : void 0 - }; - if (type) - return { - address, - family: type ? `IPv${type}` : void 0 - }; - return address; - } - return null; - } - getConnections(callback) { - if (typeof callback === "function") - callback(null, this.#server ? this[bunSocketServerConnections] : 0); - return this; - } - listen(port, hostname, onListen) { - let backlog, path, exclusive = !1; - if (typeof port === "string") { - if (Number.isSafeInteger(hostname)) { - if (hostname > 0) - backlog = hostname; - } else if (typeof hostname === "function") - onListen = hostname; - path = port, hostname = void 0, port = void 0; - } else { - if (typeof hostname === "function") - onListen = hostname, hostname = void 0; - if (typeof port === "function") - onListen = port, port = 0; - else if (typeof port === "object") { - const options = port; - options.signal?.addEventListener("abort", () => this.close()), hostname = options.host, exclusive = options.exclusive === !0; - const path2 = options.path; - if (port = options.port, !Number.isSafeInteger(port) || port < 0) - if (path2) - hostname = path2, port = void 0; - else { - let message = 'The argument \'options\' must have the property "port" or "path"'; - try { - message = `${message}. Received ${JSON.stringify(options)}`; - } catch { - } - const error = new TypeError(message); - throw error.code = "ERR_INVALID_ARG_VALUE", error; - } - else if (!Number.isSafeInteger(port) || port < 0) - port = 0; - if (typeof port.callback === "function") - onListen = port?.callback; - } else if (!Number.isSafeInteger(port) || port < 0) - port = 0; - hostname = hostname || "::"; - } - try { - var tls = void 0, TLSSocketClass = void 0; - const bunTLS = this[bunTlsSymbol], options = this[bunSocketServerOptions]; - if (typeof bunTLS === "function") - [tls, TLSSocketClass] = bunTLS.call(this, port, hostname, !1), options.servername = tls.serverName, options.InternalSocketClass = TLSSocketClass; - else - options.InternalSocketClass = SocketClass; - this.#server = Bun.listen(path ? { - exclusive, - unix: path, - tls, - socket: SocketClass[bunSocketServerHandlers] - } : { - exclusive, - port, - hostname, - tls, - socket: SocketClass[bunSocketServerHandlers] - }), this.#server.data = this, this.#listening = !0, setTimeout(emitListeningNextTick, 1, this, onListen); - } catch (err) { - this.#listening = !1, setTimeout(emitErrorNextTick, 1, this, err); - } - return this; - } -} -var net_default = { - createServer, - Server, - createConnection, - connect, - isIP, - isIPv4, - isIPv6, - Socket, - [Symbol.for("CommonJS")]: 0, - [Symbol.for("::bunternal::")]: SocketClass -}; -export { - isIPv6, - isIPv4, - isIP, - net_default as default, - createServer, - createConnection, - connect, - Socket, - Server -}; diff --git a/src/js/out/modules/node/os.js b/src/js/out/modules/node/os.js deleted file mode 100644 index 005e4df667c0d..0000000000000 --- a/src/js/out/modules/node/os.js +++ /dev/null @@ -1,136 +0,0 @@ -var lazyCpus = function({ cpus }) { - return () => { - const array = new Array(navigator.hardwareConcurrency); - function populate() { - const results = cpus(), length = results.length; - array.length = length; - for (let i = 0;i < length; i++) - array[i] = results[i]; - } - for (let i = 0;i < array.length; i++) { - const instance = { - get model() { - if (array[i] === instance) - populate(); - return array[i].model; - }, - set model(value) { - if (array[i] === instance) - populate(); - array[i].model = value; - }, - get speed() { - if (array[i] === instance) - populate(); - return array[i].speed; - }, - set speed(value) { - if (array[i] === instance) - populate(); - array[i].speed = value; - }, - get times() { - if (array[i] === instance) - populate(); - return array[i].times; - }, - set times(value) { - if (array[i] === instance) - populate(); - array[i].times = value; - }, - toJSON() { - if (array[i] === instance) - populate(); - return array[i]; - } - }; - array[i] = instance; - } - return array; - }; -}, bound = function(obj) { - return { - arch: obj.arch.bind(obj), - cpus: lazyCpus(obj), - endianness: obj.endianness.bind(obj), - freemem: obj.freemem.bind(obj), - getPriority: obj.getPriority.bind(obj), - homedir: obj.homedir.bind(obj), - hostname: obj.hostname.bind(obj), - loadavg: obj.loadavg.bind(obj), - networkInterfaces: obj.networkInterfaces.bind(obj), - platform: obj.platform.bind(obj), - release: obj.release.bind(obj), - setPriority: obj.setPriority.bind(obj), - get tmpdir() { - return tmpdir; - }, - totalmem: obj.totalmem.bind(obj), - type: obj.type.bind(obj), - uptime: obj.uptime.bind(obj), - userInfo: obj.userInfo.bind(obj), - version: obj.version.bind(obj), - machine: obj.machine.bind(obj), - devNull: obj.devNull, - EOL: obj.EOL, - constants: obj.constants, - [Symbol.for("CommonJS")]: 0 - }; -}, tmpdir = function() { - var { Bun: Bun2 } = globalThis[Symbol.for("Bun.lazy")]("primordials"), env = Bun2.env; - return tmpdir = function() { - var path = env.TMPDIR || env.TMP || env.TEMP || "/tmp"; - const length = path.length; - if (length > 1 && path[length - 1] === "/") - path = path.slice(0, -1); - return path; - }, tmpdir(); -}, os = bound(Bun._Os()), { - arch, - cpus, - endianness, - freemem, - getPriority, - homedir, - hostname, - loadavg, - networkInterfaces, - platform, - release, - setPriority, - totalmem, - type, - uptime, - userInfo, - version, - machine, - devNull, - EOL, - constants -} = os, os_default = os; -export { - version, - userInfo, - uptime, - type, - totalmem, - tmpdir, - setPriority, - release, - platform, - networkInterfaces, - machine, - loadavg, - hostname, - homedir, - getPriority, - freemem, - endianness, - devNull, - os_default as default, - cpus, - constants, - arch, - EOL -}; diff --git a/src/js/out/modules/node/path.js b/src/js/out/modules/node/path.js deleted file mode 100644 index e9af36285dd00..0000000000000 --- a/src/js/out/modules/node/path.js +++ /dev/null @@ -1,59 +0,0 @@ -var bound = function(obj) { - var result = createModule({ - basename: obj.basename.bind(obj), - dirname: obj.dirname.bind(obj), - extname: obj.extname.bind(obj), - format: obj.format.bind(obj), - isAbsolute: obj.isAbsolute.bind(obj), - join: obj.join.bind(obj), - normalize: obj.normalize.bind(obj), - parse: obj.parse.bind(obj), - relative: obj.relative.bind(obj), - resolve: obj.resolve.bind(obj), - toNamespacedPath: obj.toNamespacedPath.bind(obj), - sep: obj.sep, - delimiter: obj.delimiter - }); - return result.default = result, result; -}, createModule = (obj) => Object.assign(Object.create(null), obj), path = bound(Bun._Path()), posix = bound(Bun._Path(!1)), win32 = bound(Bun._Path(!0)); -path.win32 = win32; -path.posix = posix; -var { - basename, - dirname, - extname, - format, - isAbsolute, - join, - normalize, - parse, - relative, - resolve, - toNamespacedPath, - sep, - delimiter, - __esModule -} = path; -path[Symbol.for("CommonJS")] = 0; -path.__esModule = !0; -var path_default = path; -export { - win32, - toNamespacedPath, - sep, - resolve, - relative, - posix, - parse, - normalize, - join, - isAbsolute, - format, - extname, - dirname, - delimiter, - path_default as default, - createModule, - basename, - __esModule -}; diff --git a/src/js/out/modules/node/path.posix.js b/src/js/out/modules/node/path.posix.js deleted file mode 100644 index e60e44ca01bee..0000000000000 --- a/src/js/out/modules/node/path.posix.js +++ /dev/null @@ -1,49 +0,0 @@ -var bound = function(obj) { - return { - basename: obj.basename.bind(obj), - dirname: obj.dirname.bind(obj), - extname: obj.extname.bind(obj), - format: obj.format.bind(obj), - isAbsolute: obj.isAbsolute.bind(obj), - join: obj.join.bind(obj), - normalize: obj.normalize.bind(obj), - parse: obj.parse.bind(obj), - relative: obj.relative.bind(obj), - resolve: obj.resolve.bind(obj), - toNamespacedPath: obj.toNamespacedPath.bind(obj), - sep: obj.sep, - delimiter: obj.delimiter - }; -}, path = bound(Bun._Path(!1)); -path[Symbol.for("CommonJS")] = 0; -var { - basename, - dirname, - extname, - format, - isAbsolute, - join, - normalize, - parse, - relative, - resolve, - toNamespacedPath, - sep, - delimiter -} = path, path_posix_default = path; -export { - toNamespacedPath, - sep, - resolve, - relative, - parse, - normalize, - join, - isAbsolute, - format, - extname, - dirname, - delimiter, - path_posix_default as default, - basename -}; diff --git a/src/js/out/modules/node/path.win32.js b/src/js/out/modules/node/path.win32.js deleted file mode 100644 index d4a7a15ac5c51..0000000000000 --- a/src/js/out/modules/node/path.win32.js +++ /dev/null @@ -1,47 +0,0 @@ -var bound = function(obj) { - return { - basename: obj.basename.bind(obj), - dirname: obj.dirname.bind(obj), - extname: obj.extname.bind(obj), - format: obj.format.bind(obj), - isAbsolute: obj.isAbsolute.bind(obj), - join: obj.join.bind(obj), - normalize: obj.normalize.bind(obj), - parse: obj.parse.bind(obj), - relative: obj.relative.bind(obj), - resolve: obj.resolve.bind(obj), - toNamespacedPath: obj.toNamespacedPath.bind(obj), - sep: obj.sep, - delimiter: obj.delimiter - }; -}, path = bound(Bun._Path(!0)), { - basename, - dirname, - extname, - format, - isAbsolute, - join, - normalize, - parse, - relative, - resolve, - toNamespacedPath, - sep, - delimiter -} = path, path_win32_default = path; -export { - toNamespacedPath, - sep, - resolve, - relative, - parse, - normalize, - join, - isAbsolute, - format, - extname, - dirname, - delimiter, - path_win32_default as default, - basename -}; diff --git a/src/js/out/modules/node/perf_hooks.js b/src/js/out/modules/node/perf_hooks.js deleted file mode 100644 index af20677d76379..0000000000000 --- a/src/js/out/modules/node/perf_hooks.js +++ /dev/null @@ -1,65 +0,0 @@ -function throwNotImplemented(feature, issue) { - throw hideFromStack(throwNotImplemented), new NotImplementedError(feature, issue); -} -function hideFromStack(...fns) { - for (let fn of fns) - Object.defineProperty(fn, "name", { - value: "::bunternal::" - }); -} - -class NotImplementedError extends Error { - code; - constructor(feature, issue) { - super(feature + " is not yet implemented in Bun." + (issue ? " Track the status & thumbs up the issue: https://github.com/oven-sh/bun/issues/" + issue : "")); - this.name = "NotImplementedError", this.code = "ERR_NOT_IMPLEMENTED", hideFromStack(NotImplementedError); - } -} - -// src/js/node/perf_hooks.js -var constants = { - NODE_PERFORMANCE_GC_MAJOR: 4, - NODE_PERFORMANCE_GC_MINOR: 1, - NODE_PERFORMANCE_GC_INCREMENTAL: 8, - NODE_PERFORMANCE_GC_WEAKCB: 16, - NODE_PERFORMANCE_GC_FLAGS_NO: 0, - NODE_PERFORMANCE_GC_FLAGS_CONSTRUCT_RETAINED: 2, - NODE_PERFORMANCE_GC_FLAGS_FORCED: 4, - NODE_PERFORMANCE_GC_FLAGS_SYNCHRONOUS_PHANTOM_PROCESSING: 8, - NODE_PERFORMANCE_GC_FLAGS_ALL_AVAILABLE_GARBAGE: 16, - NODE_PERFORMANCE_GC_FLAGS_ALL_EXTERNAL_MEMORY: 32, - NODE_PERFORMANCE_GC_FLAGS_SCHEDULE_IDLE: 64 -}, performance = globalThis.performance; - -class PerformanceObserver { - constructor() { - throwNotImplemented("PerformanceObserver"); - } -} - -class PerformanceEntry { - constructor() { - throwNotImplemented("PerformanceEntry"); - } -} - -class PerformanceNodeTiming { - constructor() { - throw new Error("PerformanceNodeTiming is not supported in this environment."); - } -} -var perf_hooks_default = { - performance, - constants, - PerformanceEntry, - PerformanceNodeTiming, - [Symbol.for("CommonJS")]: 0 -}; -export { - performance, - perf_hooks_default as default, - constants, - PerformanceObserver, - PerformanceNodeTiming, - PerformanceEntry -}; diff --git a/src/js/out/modules/node/readline.js b/src/js/out/modules/node/readline.js deleted file mode 100644 index 6cfac471d797d..0000000000000 --- a/src/js/out/modules/node/readline.js +++ /dev/null @@ -1,1665 +0,0 @@ -import {EventEmitter} from "node:events"; -import {clearTimeout, setTimeout} from "node:timers"; -import {StringDecoder} from "node:string_decoder"; -var stripVTControlCharacters = function(str) { - return validateString(str, "str"), RegExpPrototypeSymbolReplace.call(ansi, str, ""); -}, promisify = function(original) { - if (validateFunction(original, "original"), original[kCustomPromisifiedSymbol]) { - var fn = original[kCustomPromisifiedSymbol]; - return validateFunction(fn, "util.promisify.custom"), ObjectDefineProperty(fn, kCustomPromisifiedSymbol, { - __proto__: null, - value: fn, - enumerable: !1, - writable: !1, - configurable: !0 - }); - } - var argumentNames = original[kCustomPromisifyArgsSymbol]; - function fn(...args) { - return new Promise((resolve, reject) => { - ArrayPrototypePush.call(args, (err, ...values) => { - if (err) - return reject(err); - if (argumentNames !== void 0 && values.length > 1) { - var obj = {}; - for (var i2 = 0;i2 < argumentNames.length; i2++) - obj[argumentNames[i2]] = values[i2]; - resolve(obj); - } else - resolve(values[0]); - }), ReflectApply(original, this, args); - }); - } - ObjectSetPrototypeOf(fn, ObjectGetPrototypeOf(original)), ObjectDefineProperty(fn, kCustomPromisifiedSymbol, { - __proto__: null, - value: fn, - enumerable: !1, - writable: !1, - configurable: !0 - }); - var descriptors = ObjectGetOwnPropertyDescriptors(original), propertiesValues = ObjectValues(descriptors); - for (var i = 0;i < propertiesValues.length; i++) - ObjectSetPrototypeOf(propertiesValues[i], null); - return ObjectDefineProperties(fn, descriptors); -}, getNodeErrorByName = function(typeName) { - var base = errorBases[typeName]; - if (base) - return base; - if (!ObjectKeys(VALID_NODE_ERROR_BASES).includes(typeName)) - throw new Error("Invalid NodeError type"); - var Base = VALID_NODE_ERROR_BASES[typeName]; - - class NodeError extends Base { - [kIsNodeError] = !0; - code; - constructor(msg, opts) { - super(msg, opts); - this.code = opts?.code || "ERR_GENERIC"; - } - toString() { - return `${this.name} [${this.code}]: ${this.message}`; - } - } - return errorBases[typeName] = NodeError, NodeError; -}, validateFunction = function(value, name) { - if (typeof value !== "function") - throw new ERR_INVALID_ARG_TYPE(name, "Function", value); -}, validateAbortSignal = function(signal, name) { - if (signal !== void 0 && (signal === null || typeof signal !== "object" || !("aborted" in signal))) - throw new ERR_INVALID_ARG_TYPE(name, "AbortSignal", signal); -}, validateArray = function(value, name, minLength = 0) { - if (!ArrayIsArray(value)) - throw new ERR_INVALID_ARG_TYPE(name, "Array", value); - if (value.length < minLength) { - var reason = `must be longer than ${minLength}`; - throw new ERR_INVALID_ARG_VALUE(name, value, reason); - } -}, validateString = function(value, name) { - if (typeof value !== "string") - throw new ERR_INVALID_ARG_TYPE(name, "string", value); -}, validateBoolean = function(value, name) { - if (typeof value !== "boolean") - throw new ERR_INVALID_ARG_TYPE(name, "boolean", value); -}; -var validateInteger = function(value, name, min = NumberMIN_SAFE_INTEGER, max = NumberMAX_SAFE_INTEGER) { - if (typeof value !== "number") - throw new ERR_INVALID_ARG_TYPE(name, "number", value); - if (!NumberIsInteger(value)) - throw new ERR_OUT_OF_RANGE(name, "an integer", value); - if (value < min || value > max) - throw new ERR_OUT_OF_RANGE(name, `>= ${min} && <= ${max}`, value); -}, validateUint32 = function(value, name, positive = !1) { - if (typeof value !== "number") - throw new ERR_INVALID_ARG_TYPE(name, "number", value); - if (!NumberIsInteger(value)) - throw new ERR_OUT_OF_RANGE(name, "an integer", value); - var min = positive ? 1 : 0, max = 4294967295; - if (value < min || value > max) - throw new ERR_OUT_OF_RANGE(name, `>= ${min} && <= ${max}`, value); -}, CSI = function(strings, ...args) { - var ret = `${kEscape}[`; - for (var n = 0;n < strings.length; n++) - if (ret += strings[n], n < args.length) - ret += args[n]; - return ret; -}, charLengthLeft = function(str, i) { - if (i <= 0) - return 0; - if (i > 1 && StringPrototypeCodePointAt.call(str, i - 2) >= kUTF16SurrogateThreshold || StringPrototypeCodePointAt.call(str, i - 1) >= kUTF16SurrogateThreshold) - return 2; - return 1; -}, charLengthAt = function(str, i) { - if (str.length <= i) - return 1; - return StringPrototypeCodePointAt.call(str, i) >= kUTF16SurrogateThreshold ? 2 : 1; -}; -function* emitKeys(stream) { - while (!0) { - var ch = yield, s = ch, escaped = !1, keySeq = null, keyName, keyCtrl2 = !1, keyMeta = !1, keyShift = !1; - if (ch === kEscape) { - if (escaped = !0, s += ch = yield, ch === kEscape) - s += ch = yield; - } - if (escaped && (ch === "O" || ch === "[")) { - var code = ch, modifier = 0; - if (ch === "O") { - if (s += ch = yield, ch >= "0" && ch <= "9") - modifier = (ch >> 0) - 1, s += ch = yield; - code += ch; - } else if (ch === "[") { - if (s += ch = yield, ch === "[") - code += ch, s += ch = yield; - var cmdStart = s.length - 1; - if (ch >= "0" && ch <= "9") { - if (s += ch = yield, ch >= "0" && ch <= "9") - s += ch = yield; - } - if (ch === ";") { - if (s += ch = yield, ch >= "0" && ch <= "9") - s += yield; - } - var cmd = StringPrototypeSlice.call(s, cmdStart), match; - if (match = RegExpPrototypeExec.call(/^(\d\d?)(;(\d))?([~^$])$/, cmd)) - code += match[1] + match[4], modifier = (match[3] || 1) - 1; - else if (match = RegExpPrototypeExec.call(/^((\d;)?(\d))?([A-Za-z])$/, cmd)) - code += match[4], modifier = (match[3] || 1) - 1; - else - code += cmd; - } - switch (keyCtrl2 = !!(modifier & 4), keyMeta = !!(modifier & 10), keyShift = !!(modifier & 1), code) { - case "[P": - keyName = "f1"; - break; - case "[Q": - keyName = "f2"; - break; - case "[R": - keyName = "f3"; - break; - case "[S": - keyName = "f4"; - break; - case "OP": - keyName = "f1"; - break; - case "OQ": - keyName = "f2"; - break; - case "OR": - keyName = "f3"; - break; - case "OS": - keyName = "f4"; - break; - case "[11~": - keyName = "f1"; - break; - case "[12~": - keyName = "f2"; - break; - case "[13~": - keyName = "f3"; - break; - case "[14~": - keyName = "f4"; - break; - case "[[A": - keyName = "f1"; - break; - case "[[B": - keyName = "f2"; - break; - case "[[C": - keyName = "f3"; - break; - case "[[D": - keyName = "f4"; - break; - case "[[E": - keyName = "f5"; - break; - case "[15~": - keyName = "f5"; - break; - case "[17~": - keyName = "f6"; - break; - case "[18~": - keyName = "f7"; - break; - case "[19~": - keyName = "f8"; - break; - case "[20~": - keyName = "f9"; - break; - case "[21~": - keyName = "f10"; - break; - case "[23~": - keyName = "f11"; - break; - case "[24~": - keyName = "f12"; - break; - case "[A": - keyName = "up"; - break; - case "[B": - keyName = "down"; - break; - case "[C": - keyName = "right"; - break; - case "[D": - keyName = "left"; - break; - case "[E": - keyName = "clear"; - break; - case "[F": - keyName = "end"; - break; - case "[H": - keyName = "home"; - break; - case "OA": - keyName = "up"; - break; - case "OB": - keyName = "down"; - break; - case "OC": - keyName = "right"; - break; - case "OD": - keyName = "left"; - break; - case "OE": - keyName = "clear"; - break; - case "OF": - keyName = "end"; - break; - case "OH": - keyName = "home"; - break; - case "[1~": - keyName = "home"; - break; - case "[2~": - keyName = "insert"; - break; - case "[3~": - keyName = "delete"; - break; - case "[4~": - keyName = "end"; - break; - case "[5~": - keyName = "pageup"; - break; - case "[6~": - keyName = "pagedown"; - break; - case "[[5~": - keyName = "pageup"; - break; - case "[[6~": - keyName = "pagedown"; - break; - case "[7~": - keyName = "home"; - break; - case "[8~": - keyName = "end"; - break; - case "[a": - keyName = "up", keyShift = !0; - break; - case "[b": - keyName = "down", keyShift = !0; - break; - case "[c": - keyName = "right", keyShift = !0; - break; - case "[d": - keyName = "left", keyShift = !0; - break; - case "[e": - keyName = "clear", keyShift = !0; - break; - case "[2$": - keyName = "insert", keyShift = !0; - break; - case "[3$": - keyName = "delete", keyShift = !0; - break; - case "[5$": - keyName = "pageup", keyShift = !0; - break; - case "[6$": - keyName = "pagedown", keyShift = !0; - break; - case "[7$": - keyName = "home", keyShift = !0; - break; - case "[8$": - keyName = "end", keyShift = !0; - break; - case "Oa": - keyName = "up", keyCtrl2 = !0; - break; - case "Ob": - keyName = "down", keyCtrl2 = !0; - break; - case "Oc": - keyName = "right", keyCtrl2 = !0; - break; - case "Od": - keyName = "left", keyCtrl2 = !0; - break; - case "Oe": - keyName = "clear", keyCtrl2 = !0; - break; - case "[2^": - keyName = "insert", keyCtrl2 = !0; - break; - case "[3^": - keyName = "delete", keyCtrl2 = !0; - break; - case "[5^": - keyName = "pageup", keyCtrl2 = !0; - break; - case "[6^": - keyName = "pagedown", keyCtrl2 = !0; - break; - case "[7^": - keyName = "home", keyCtrl2 = !0; - break; - case "[8^": - keyName = "end", keyCtrl2 = !0; - break; - case "[Z": - keyName = "tab", keyShift = !0; - break; - default: - keyName = "undefined"; - break; - } - } else if (ch === "\r") - keyName = "return", keyMeta = escaped; - else if (ch === "\n") - keyName = "enter", keyMeta = escaped; - else if (ch === "\t") - keyName = "tab", keyMeta = escaped; - else if (ch === "\b" || ch === "\x7F") - keyName = "backspace", keyMeta = escaped; - else if (ch === kEscape) - keyName = "escape", keyMeta = escaped; - else if (ch === " ") - keyName = "space", keyMeta = escaped; - else if (!escaped && ch <= "\x1A") - keyName = StringFromCharCode(StringPrototypeCharCodeAt.call(ch) + StringPrototypeCharCodeAt.call("a") - 1), keyCtrl2 = !0; - else if (RegExpPrototypeExec.call(/^[0-9A-Za-z]$/, ch) !== null) - keyName = StringPrototypeToLowerCase.call(ch), keyShift = RegExpPrototypeExec.call(/^[A-Z]$/, ch) !== null, keyMeta = escaped; - else if (escaped) - keyName = ch.length ? void 0 : "escape", keyMeta = !0; - if (keySeq = s, s.length !== 0 && (keyName !== void 0 || escaped)) - stream.emit("keypress", escaped ? void 0 : s, { - sequence: keySeq, - name: keyName, - ctrl: keyCtrl2, - meta: keyMeta, - shift: keyShift - }); - else if (charLengthAt(s, 0) === s.length) - stream.emit("keypress", s, { - sequence: keySeq, - name: keyName, - ctrl: keyCtrl2, - meta: keyMeta, - shift: keyShift - }); - } -} -var commonPrefix = function(strings) { - if (strings.length === 0) - return ""; - if (strings.length === 1) - return strings[0]; - var sorted = ArrayPrototypeSort.call(ArrayPrototypeSlice.call(strings)), min = sorted[0], max = sorted[sorted.length - 1]; - for (var i = 0;i < min.length; i++) - if (min[i] !== max[i]) - return StringPrototypeSlice.call(min, 0, i); - return min; -}, cursorTo = function(stream, x, y, callback) { - if (callback !== void 0) - validateFunction(callback, "callback"); - if (typeof y === "function") - callback = y, y = void 0; - if (NumberIsNaN(x)) - throw new ERR_INVALID_ARG_VALUE("x", x); - if (NumberIsNaN(y)) - throw new ERR_INVALID_ARG_VALUE("y", y); - if (stream == null || typeof x !== "number" && typeof y !== "number") { - if (typeof callback === "function") - process.nextTick(callback, null); - return !0; - } - if (typeof x !== "number") - throw new ERR_INVALID_CURSOR_POS; - var data = typeof y !== "number" ? CSI`${x + 1}G` : CSI`${y + 1};${x + 1}H`; - return stream.write(data, callback); -}, moveCursor = function(stream, dx, dy, callback) { - if (callback !== void 0) - validateFunction(callback, "callback"); - if (stream == null || !(dx || dy)) { - if (typeof callback === "function") - process.nextTick(callback, null); - return !0; - } - var data = ""; - if (dx < 0) - data += CSI`${-dx}D`; - else if (dx > 0) - data += CSI`${dx}C`; - if (dy < 0) - data += CSI`${-dy}A`; - else if (dy > 0) - data += CSI`${dy}B`; - return stream.write(data, callback); -}, clearLine = function(stream, dir, callback) { - if (callback !== void 0) - validateFunction(callback, "callback"); - if (stream === null || stream === void 0) { - if (typeof callback === "function") - process.nextTick(callback, null); - return !0; - } - var type = dir < 0 ? kClearToLineBeginning : dir > 0 ? kClearToLineEnd : kClearLine; - return stream.write(type, callback); -}, clearScreenDown = function(stream, callback) { - if (callback !== void 0) - validateFunction(callback, "callback"); - if (stream === null || stream === void 0) { - if (typeof callback === "function") - process.nextTick(callback, null); - return !0; - } - return stream.write(kClearScreenDown, callback); -}, emitKeypressEvents = function(stream, iface = {}) { - if (stream[KEYPRESS_DECODER]) - return; - stream[KEYPRESS_DECODER] = new StringDecoder("utf8"), stream[ESCAPE_DECODER] = emitKeys(stream), stream[ESCAPE_DECODER].next(); - var triggerEscape = () => stream[ESCAPE_DECODER].next(""), { escapeCodeTimeout = ESCAPE_CODE_TIMEOUT } = iface, timeoutId; - function onData(input) { - if (stream.listenerCount("keypress") > 0) { - var string = stream[KEYPRESS_DECODER].write(input); - if (string) { - clearTimeout(timeoutId), iface[kSawKeyPress] = charLengthAt(string, 0) === string.length, iface.isCompletionEnabled = !1; - var length = 0; - for (var character of new SafeStringIterator(string)) { - if (length += character.length, length === string.length) - iface.isCompletionEnabled = !0; - try { - if (stream[ESCAPE_DECODER].next(character), length === string.length && character === kEscape) - timeoutId = setTimeout(triggerEscape, escapeCodeTimeout); - } catch (err) { - throw stream[ESCAPE_DECODER] = emitKeys(stream), stream[ESCAPE_DECODER].next(), err; - } - } - } - } else - stream.removeListener("data", onData), stream.on("newListener", onNewListener); - } - function onNewListener(event) { - if (event === "keypress") - stream.on("data", onData), stream.removeListener("newListener", onNewListener); - } - if (stream.listenerCount("keypress") > 0) - stream.on("data", onData); - else - stream.on("newListener", onNewListener); -}, onSelfCloseWithTerminal = function() { - var input = this.input, output = this.output; - if (!input) - throw new Error("Input not set, invalid state for readline!"); - if (input.removeListener("keypress", this[kOnKeyPress]), input.removeListener("error", this[kOnError]), input.removeListener("end", this[kOnTermEnd]), output !== null && output !== void 0) - output.removeListener("resize", this[kOnResize]); -}, onSelfCloseWithoutTerminal = function() { - var input = this.input; - if (!input) - throw new Error("Input not set, invalid state for readline!"); - input.removeListener("data", this[kOnData]), input.removeListener("error", this[kOnError]), input.removeListener("end", this[kOnEnd]); -}, onError = function(err) { - this.emit("error", err); -}, onData = function(data) { - debug("onData"), this[kNormalWrite](data); -}, onEnd = function() { - if (debug("onEnd"), typeof this[kLine_buffer] === "string" && this[kLine_buffer].length > 0) - this.emit("line", this[kLine_buffer]); - this.close(); -}, onTermEnd = function() { - if (debug("onTermEnd"), typeof this.line === "string" && this.line.length > 0) - this.emit("line", this.line); - this.close(); -}, onKeyPress = function(s, key) { - if (this[kTtyWrite](s, key), key && key.sequence) { - var ch = StringPrototypeCodePointAt.call(key.sequence, 0); - if (ch >= 55296 && ch <= 57343) - this[kRefreshLine](); - } -}, onResize = function() { - this[kRefreshLine](); -}, InterfaceConstructor = function(input, output, completer, terminal) { - if (!(this instanceof InterfaceConstructor)) - return new InterfaceConstructor(input, output, completer, terminal); - EventEmitter.call(this), this[kOnSelfCloseWithoutTerminal] = onSelfCloseWithoutTerminal.bind(this), this[kOnSelfCloseWithTerminal] = onSelfCloseWithTerminal.bind(this), this[kOnError] = onError.bind(this), this[kOnData] = onData.bind(this), this[kOnEnd] = onEnd.bind(this), this[kOnTermEnd] = onTermEnd.bind(this), this[kOnKeyPress] = onKeyPress.bind(this), this[kOnResize] = onResize.bind(this), this[kSawReturnAt] = 0, this.isCompletionEnabled = !0, this[kSawKeyPress] = !1, this[kPreviousKey] = null, this.escapeCodeTimeout = ESCAPE_CODE_TIMEOUT, this.tabSize = 8; - var history, historySize, removeHistoryDuplicates = !1, crlfDelay, prompt = "> ", signal; - if (input?.input) { - output = input.output, completer = input.completer, terminal = input.terminal, history = input.history, historySize = input.historySize, signal = input.signal; - var tabSize = input.tabSize; - if (tabSize !== void 0) - validateUint32(tabSize, "tabSize", !0), this.tabSize = tabSize; - removeHistoryDuplicates = input.removeHistoryDuplicates; - var inputPrompt = input.prompt; - if (inputPrompt !== void 0) - prompt = inputPrompt; - var inputEscapeCodeTimeout = input.escapeCodeTimeout; - if (inputEscapeCodeTimeout !== void 0) - if (NumberIsFinite(inputEscapeCodeTimeout)) - this.escapeCodeTimeout = inputEscapeCodeTimeout; - else - throw new ERR_INVALID_ARG_VALUE("input.escapeCodeTimeout", this.escapeCodeTimeout); - if (signal) - validateAbortSignal(signal, "options.signal"); - crlfDelay = input.crlfDelay, input = input.input; - } - if (completer !== void 0 && typeof completer !== "function") - throw new ERR_INVALID_ARG_VALUE("completer", completer); - if (history === void 0) - history = []; - else - validateArray(history, "history"); - if (historySize === void 0) - historySize = kHistorySize; - if (typeof historySize !== "number" || NumberIsNaN(historySize) || historySize < 0) - throw new ERR_INVALID_ARG_VALUE("historySize", historySize); - if (terminal === void 0 && !(output === null || output === void 0)) - terminal = !!output.isTTY; - if (this.line = "", this[kSubstringSearch] = null, this.output = output, this.input = input, this[kUndoStack] = [], this[kRedoStack] = [], this.history = history, this.historySize = historySize, this[kKillRing] = [], this[kKillRingCursor] = 0, this.removeHistoryDuplicates = !!removeHistoryDuplicates, this.crlfDelay = crlfDelay ? MathMax(kMincrlfDelay, crlfDelay) : kMincrlfDelay, this.completer = completer, this.setPrompt(prompt), this.terminal = !!terminal, this[kLineObjectStream] = void 0, input.on("error", this[kOnError]), !this.terminal) - input.on("data", this[kOnData]), input.on("end", this[kOnEnd]), this.once("close", this[kOnSelfCloseWithoutTerminal]), this[kDecoder] = new StringDecoder("utf8"); - else { - if (emitKeypressEvents(input, this), input.on("keypress", this[kOnKeyPress]), input.on("end", this[kOnTermEnd]), this[kSetRawMode](!0), this.terminal = !0, this.cursor = 0, this.historyIndex = -1, output !== null && output !== void 0) - output.on("resize", this[kOnResize]); - this.once("close", this[kOnSelfCloseWithTerminal]); - } - if (signal) { - var onAborted = (() => this.close()).bind(this); - if (signal.aborted) - process.nextTick(onAborted); - else - signal.addEventListener("abort", onAborted, { once: !0 }), this.once("close", () => signal.removeEventListener("abort", onAborted)); - } - this.line = "", input.resume(); -}, Interface = function(input, output, completer, terminal) { - if (!(this instanceof Interface)) - return new Interface(input, output, completer, terminal); - if (input?.input && typeof input.completer === "function" && input.completer.length !== 2) { - var { completer } = input; - input.completer = (v, cb) => cb(null, completer(v)); - } else if (typeof completer === "function" && completer.length !== 2) { - var realCompleter = completer; - completer = (v, cb) => cb(null, realCompleter(v)); - } - InterfaceConstructor.call(this, input, output, completer, terminal); -}, createInterface = function(input, output, completer, terminal) { - return new Interface(input, output, completer, terminal); -}; -var { Array, RegExp, String, Bun } = globalThis[Symbol.for("Bun.lazy")]("primordials"), isWritable, { inspect } = Bun, debug = process.env.BUN_JS_DEBUG ? console.log : () => { -}, SymbolAsyncIterator = Symbol.asyncIterator, SymbolIterator = Symbol.iterator, SymbolFor = Symbol.for, SymbolReplace = Symbol.replace, ArrayFrom = Array.from, ArrayIsArray = Array.isArray, ArrayPrototypeFilter = Array.prototype.filter, ArrayPrototypeSort = Array.prototype.sort, ArrayPrototypeIndexOf = Array.prototype.indexOf, ArrayPrototypeJoin = Array.prototype.join, ArrayPrototypeMap = Array.prototype.map, ArrayPrototypePop = Array.prototype.pop, ArrayPrototypePush = Array.prototype.push, ArrayPrototypeSlice = Array.prototype.slice, ArrayPrototypeSplice = Array.prototype.splice, ArrayPrototypeReverse = Array.prototype.reverse, ArrayPrototypeShift = Array.prototype.shift, ArrayPrototypeUnshift = Array.prototype.unshift, RegExpPrototypeExec = RegExp.prototype.exec, RegExpPrototypeSymbolReplace = RegExp.prototype[SymbolReplace], StringFromCharCode = String.fromCharCode, StringPrototypeCharCodeAt = String.prototype.charCodeAt, StringPrototypeCodePointAt = String.prototype.codePointAt, StringPrototypeSlice = String.prototype.slice, StringPrototypeToLowerCase = String.prototype.toLowerCase, StringPrototypeEndsWith = String.prototype.endsWith, StringPrototypeRepeat = String.prototype.repeat, StringPrototypeStartsWith = String.prototype.startsWith, StringPrototypeTrim = String.prototype.trim, StringPrototypeNormalize = String.prototype.normalize, NumberIsNaN = Number.isNaN, NumberIsFinite = Number.isFinite, NumberIsInteger = Number.isInteger, NumberMAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER, NumberMIN_SAFE_INTEGER = Number.MIN_SAFE_INTEGER, MathCeil = Math.ceil, MathFloor = Math.floor, MathMax = Math.max, MathMaxApply = Math.max.apply, DateNow = Date.now, FunctionPrototype = Function.prototype, StringPrototype = String.prototype, StringPrototypeSymbolIterator = StringPrototype[SymbolIterator], StringIteratorPrototypeNext = StringPrototypeSymbolIterator.call("").next, ObjectSetPrototypeOf = Object.setPrototypeOf, ObjectDefineProperty = Object.defineProperty, ObjectDefineProperties = Object.defineProperties, ObjectFreeze = Object.freeze; -var { create: ObjectCreate, keys: ObjectKeys } = Object; -var createSafeIterator = (factory, next) => { - class SafeIterator { - #iterator; - constructor(iterable) { - this.#iterator = factory.call(iterable); - } - next() { - return next.call(this.#iterator); - } - [SymbolIterator]() { - return this; - } - } - return ObjectSetPrototypeOf(SafeIterator.prototype, null), ObjectFreeze(SafeIterator.prototype), ObjectFreeze(SafeIterator), SafeIterator; -}, SafeStringIterator = createSafeIterator(StringPrototypeSymbolIterator, StringIteratorPrototypeNext), isFullWidthCodePoint = (code) => { - return code >= 4352 && (code <= 4447 || code === 9001 || code === 9002 || code >= 11904 && code <= 12871 && code !== 12351 || code >= 12880 && code <= 19903 || code >= 19968 && code <= 42182 || code >= 43360 && code <= 43388 || code >= 44032 && code <= 55203 || code >= 63744 && code <= 64255 || code >= 65040 && code <= 65049 || code >= 65072 && code <= 65131 || code >= 65281 && code <= 65376 || code >= 65504 && code <= 65510 || code >= 110592 && code <= 110593 || code >= 127488 && code <= 127569 || code >= 127744 && code <= 128591 || code >= 131072 && code <= 262141); -}, isZeroWidthCodePoint = (code) => { - return code <= 31 || code >= 127 && code <= 159 || code >= 768 && code <= 879 || code >= 8203 && code <= 8207 || code >= 8400 && code <= 8447 || code >= 65024 && code <= 65039 || code >= 65056 && code <= 65071 || code >= 917760 && code <= 917999; -}, getStringWidth = function getStringWidth2(str, removeControlChars = !0) { - var width = 0; - if (removeControlChars) - str = stripVTControlCharacters(str); - str = StringPrototypeNormalize.call(str, "NFC"); - for (var char of new SafeStringIterator(str)) { - var code = StringPrototypeCodePointAt.call(char, 0); - if (isFullWidthCodePoint(code)) - width += 2; - else if (!isZeroWidthCodePoint(code)) - width++; - } - return width; -}, ansiPattern = "[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)|(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))", ansi = new RegExp(ansiPattern, "g"), kCustomPromisifiedSymbol = SymbolFor("nodejs.util.promisify.custom"), kCustomPromisifyArgsSymbol = Symbol("customPromisifyArgs"); -promisify.custom = kCustomPromisifiedSymbol; -var kUTF16SurrogateThreshold = 65536, kEscape = "\x1B", kSubstringSearch = Symbol("kSubstringSearch"), kIsNodeError = Symbol("kIsNodeError"), errorBases = {}, VALID_NODE_ERROR_BASES = { - TypeError, - RangeError, - Error -}, NodeError = getNodeErrorByName("Error"), NodeTypeError = getNodeErrorByName("TypeError"), NodeRangeError = getNodeErrorByName("RangeError"); - -class ERR_INVALID_ARG_TYPE extends NodeTypeError { - constructor(name, type, value) { - super(`The "${name}" argument must be of type ${type}. Received type ${typeof value}`, { - code: "ERR_INVALID_ARG_TYPE" - }); - } -} - -class ERR_INVALID_ARG_VALUE extends NodeTypeError { - constructor(name, value, reason = "not specified") { - super(`The value "${String(value)}" is invalid for argument '${name}'. Reason: ${reason}`, { - code: "ERR_INVALID_ARG_VALUE" - }); - } -} - -class ERR_INVALID_CURSOR_POS extends NodeTypeError { - constructor() { - super("Cannot set cursor row without setting its column", { - code: "ERR_INVALID_CURSOR_POS" - }); - } -} - -class ERR_OUT_OF_RANGE extends NodeRangeError { - constructor(name, range, received) { - super(`The value of "${name}" is out of range. It must be ${range}. Received ${received}`, { - code: "ERR_OUT_OF_RANGE" - }); - } -} - -class ERR_USE_AFTER_CLOSE extends NodeError { - constructor() { - super("This socket has been ended by the other party", { - code: "ERR_USE_AFTER_CLOSE" - }); - } -} - -class AbortError extends Error { - code; - constructor() { - super("The operation was aborted"); - this.code = "ABORT_ERR"; - } -} -var kClearLine, kClearScreenDown, kClearToLineBeginning, kClearToLineEnd; -CSI.kEscape = kEscape; -CSI.kClearLine = kClearLine = CSI`2K`; -CSI.kClearScreenDown = kClearScreenDown = CSI`0J`; -CSI.kClearToLineBeginning = kClearToLineBeginning = CSI`1K`; -CSI.kClearToLineEnd = kClearToLineEnd = CSI`0K`; -var KEYPRESS_DECODER = Symbol("keypress-decoder"), ESCAPE_DECODER = Symbol("escape-decoder"), ESCAPE_CODE_TIMEOUT = 500, kEmptyObject = ObjectFreeze(ObjectCreate(null)), kHistorySize = 30, kMaxUndoRedoStackSize = 2048, kMincrlfDelay = 100, lineEnding = /\r?\n|\r(?!\n)/g, kMaxLengthOfKillRing = 32, kLineObjectStream = Symbol("line object stream"), kQuestionCancel = Symbol("kQuestionCancel"), kQuestion = Symbol("kQuestion"), kAddHistory = Symbol("_addHistory"), kBeforeEdit = Symbol("_beforeEdit"), kDecoder = Symbol("_decoder"), kDeleteLeft = Symbol("_deleteLeft"), kDeleteLineLeft = Symbol("_deleteLineLeft"), kDeleteLineRight = Symbol("_deleteLineRight"), kDeleteRight = Symbol("_deleteRight"), kDeleteWordLeft = Symbol("_deleteWordLeft"), kDeleteWordRight = Symbol("_deleteWordRight"), kGetDisplayPos = Symbol("_getDisplayPos"), kHistoryNext = Symbol("_historyNext"), kHistoryPrev = Symbol("_historyPrev"), kInsertString = Symbol("_insertString"), kLine = Symbol("_line"), kLine_buffer = Symbol("_line_buffer"), kKillRing = Symbol("_killRing"), kKillRingCursor = Symbol("_killRingCursor"), kMoveCursor = Symbol("_moveCursor"), kNormalWrite = Symbol("_normalWrite"), kOldPrompt = Symbol("_oldPrompt"), kOnLine = Symbol("_onLine"), kPreviousKey = Symbol("_previousKey"), kPrompt = Symbol("_prompt"), kPushToKillRing = Symbol("_pushToKillRing"), kPushToUndoStack = Symbol("_pushToUndoStack"), kQuestionCallback = Symbol("_questionCallback"), kRedo = Symbol("_redo"), kRedoStack = Symbol("_redoStack"), kRefreshLine = Symbol("_refreshLine"), kSawKeyPress = Symbol("_sawKeyPress"), kSawReturnAt = Symbol("_sawReturnAt"), kSetRawMode = Symbol("_setRawMode"), kTabComplete = Symbol("_tabComplete"), kTabCompleter = Symbol("_tabCompleter"), kTtyWrite = Symbol("_ttyWrite"), kUndo = Symbol("_undo"), kUndoStack = Symbol("_undoStack"), kWordLeft = Symbol("_wordLeft"), kWordRight = Symbol("_wordRight"), kWriteToOutput = Symbol("_writeToOutput"), kYank = Symbol("_yank"), kYanking = Symbol("_yanking"), kYankPop = Symbol("_yankPop"), kFirstEventParam = Symbol("nodejs.kFirstEventParam"), kOnSelfCloseWithTerminal = Symbol("_onSelfCloseWithTerminal"), kOnSelfCloseWithoutTerminal = Symbol("_onSelfCloseWithoutTerminal"), kOnKeyPress = Symbol("_onKeyPress"), kOnError = Symbol("_onError"), kOnData = Symbol("_onData"), kOnEnd = Symbol("_onEnd"), kOnTermEnd = Symbol("_onTermEnd"), kOnResize = Symbol("_onResize"); -ObjectSetPrototypeOf(InterfaceConstructor.prototype, EventEmitter.prototype); -var _Interface = class Interface2 extends InterfaceConstructor { - constructor(input, output, completer, terminal) { - super(input, output, completer, terminal); - } - get columns() { - var output = this.output; - if (output && output.columns) - return output.columns; - return Infinity; - } - setPrompt(prompt) { - this[kPrompt] = prompt; - } - getPrompt() { - return this[kPrompt]; - } - [kSetRawMode](mode) { - var input = this.input, { setRawMode, wasInRawMode } = input; - return debug("setRawMode", mode, "set!"), wasInRawMode; - } - prompt(preserveCursor) { - if (this.paused) - this.resume(); - if (this.terminal) { - if (!preserveCursor) - this.cursor = 0; - this[kRefreshLine](); - } else - this[kWriteToOutput](this[kPrompt]); - } - [kQuestion](query, cb) { - if (this.closed) - throw new ERR_USE_AFTER_CLOSE("readline"); - if (this[kQuestionCallback]) - this.prompt(); - else - this[kOldPrompt] = this[kPrompt], this.setPrompt(query), this[kQuestionCallback] = cb, this.prompt(); - } - [kOnLine](line) { - if (this[kQuestionCallback]) { - var cb = this[kQuestionCallback]; - this[kQuestionCallback] = null, this.setPrompt(this[kOldPrompt]), cb(line); - } else - this.emit("line", line); - } - [kBeforeEdit](oldText, oldCursor) { - this[kPushToUndoStack](oldText, oldCursor); - } - [kQuestionCancel]() { - if (this[kQuestionCallback]) - this[kQuestionCallback] = null, this.setPrompt(this[kOldPrompt]), this.clearLine(); - } - [kWriteToOutput](stringToWrite) { - if (validateString(stringToWrite, "stringToWrite"), this.output !== null && this.output !== void 0) - this.output.write(stringToWrite); - } - [kAddHistory]() { - if (this.line.length === 0) - return ""; - if (this.historySize === 0) - return this.line; - if (StringPrototypeTrim.call(this.line).length === 0) - return this.line; - if (this.history.length === 0 || this.history[0] !== this.line) { - if (this.removeHistoryDuplicates) { - var dupIndex = ArrayPrototypeIndexOf.call(this.history, this.line); - if (dupIndex !== -1) - ArrayPrototypeSplice.call(this.history, dupIndex, 1); - } - if (ArrayPrototypeUnshift.call(this.history, this.line), this.history.length > this.historySize) - ArrayPrototypePop.call(this.history); - } - this.historyIndex = -1; - var line = this.history[0]; - return this.emit("history", this.history), line; - } - [kRefreshLine]() { - var line = this[kPrompt] + this.line, dispPos = this[kGetDisplayPos](line), lineCols = dispPos.cols, lineRows = dispPos.rows, cursorPos = this.getCursorPos(), prevRows = this.prevRows || 0; - if (prevRows > 0) - moveCursor(this.output, 0, -prevRows); - if (cursorTo(this.output, 0), clearScreenDown(this.output), this[kWriteToOutput](line), lineCols === 0) - this[kWriteToOutput](" "); - cursorTo(this.output, cursorPos.cols); - var diff = lineRows - cursorPos.rows; - if (diff > 0) - moveCursor(this.output, 0, -diff); - this.prevRows = cursorPos.rows; - } - close() { - if (this.closed) - return; - if (this.pause(), this.terminal) - this[kSetRawMode](!1); - this.closed = !0, this.emit("close"); - } - pause() { - if (this.paused) - return; - return this.input.pause(), this.paused = !0, this.emit("pause"), this; - } - resume() { - if (!this.paused) - return; - return this.input.resume(), this.paused = !1, this.emit("resume"), this; - } - write(d, key) { - if (this.paused) - this.resume(); - if (this.terminal) - this[kTtyWrite](d, key); - else - this[kNormalWrite](d); - } - [kNormalWrite](b) { - if (b === void 0) - return; - var string = this[kDecoder].write(b); - if (this[kSawReturnAt] && DateNow() - this[kSawReturnAt] <= this.crlfDelay) { - if (StringPrototypeCodePointAt.call(string) === 10) - string = StringPrototypeSlice.call(string, 1); - this[kSawReturnAt] = 0; - } - var newPartContainsEnding = RegExpPrototypeExec.call(lineEnding, string); - if (newPartContainsEnding !== null) { - if (this[kLine_buffer]) - string = this[kLine_buffer] + string, this[kLine_buffer] = null, newPartContainsEnding = RegExpPrototypeExec.call(lineEnding, string); - this[kSawReturnAt] = StringPrototypeEndsWith.call(string, "\r") ? DateNow() : 0; - var indexes = [0, newPartContainsEnding.index, lineEnding.lastIndex], nextMatch; - while ((nextMatch = RegExpPrototypeExec.call(lineEnding, string)) !== null) - ArrayPrototypePush.call(indexes, nextMatch.index, lineEnding.lastIndex); - var lastIndex = indexes.length - 1; - this[kLine_buffer] = StringPrototypeSlice.call(string, indexes[lastIndex]); - for (var i = 1;i < lastIndex; i += 2) - this[kOnLine](StringPrototypeSlice.call(string, indexes[i - 1], indexes[i])); - } else if (string) - if (this[kLine_buffer]) - this[kLine_buffer] += string; - else - this[kLine_buffer] = string; - } - [kInsertString](c) { - if (this[kBeforeEdit](this.line, this.cursor), this.cursor < this.line.length) { - var beg = StringPrototypeSlice.call(this.line, 0, this.cursor), end = StringPrototypeSlice.call(this.line, this.cursor, this.line.length); - this.line = beg + c + end, this.cursor += c.length, this[kRefreshLine](); - } else { - var oldPos = this.getCursorPos(); - this.line += c, this.cursor += c.length; - var newPos = this.getCursorPos(); - if (oldPos.rows < newPos.rows) - this[kRefreshLine](); - else - this[kWriteToOutput](c); - } - } - async[kTabComplete](lastKeypressWasTab) { - this.pause(); - var string = StringPrototypeSlice.call(this.line, 0, this.cursor), value; - try { - value = await this.completer(string); - } catch (err) { - this[kWriteToOutput](`Tab completion error: ${inspect(err)}`); - return; - } finally { - this.resume(); - } - this[kTabCompleter](lastKeypressWasTab, value); - } - [kTabCompleter](lastKeypressWasTab, { 0: completions, 1: completeOn }) { - if (!completions || completions.length === 0) - return; - var prefix = commonPrefix(ArrayPrototypeFilter.call(completions, (e) => e !== "")); - if (StringPrototypeStartsWith.call(prefix, completeOn) && prefix.length > completeOn.length) { - this[kInsertString](StringPrototypeSlice.call(prefix, completeOn.length)); - return; - } else if (!StringPrototypeStartsWith.call(completeOn, prefix)) { - this.line = StringPrototypeSlice.call(this.line, 0, this.cursor - completeOn.length) + prefix + StringPrototypeSlice.call(this.line, this.cursor, this.line.length), this.cursor = this.cursor - completeOn.length + prefix.length, this._refreshLine(); - return; - } - if (!lastKeypressWasTab) - return; - this[kBeforeEdit](this.line, this.cursor); - var completionsWidth = ArrayPrototypeMap.call(completions, (e) => getStringWidth(e)), width = MathMaxApply(completionsWidth) + 2, maxColumns = MathFloor(this.columns / width) || 1; - if (maxColumns === Infinity) - maxColumns = 1; - var output = "\r\n", lineIndex = 0, whitespace = 0; - for (var i = 0;i < completions.length; i++) { - var completion = completions[i]; - if (completion === "" || lineIndex === maxColumns) - output += "\r\n", lineIndex = 0, whitespace = 0; - else - output += StringPrototypeRepeat.call(" ", whitespace); - if (completion !== "") - output += completion, whitespace = width - completionsWidth[i], lineIndex++; - else - output += "\r\n"; - } - if (lineIndex !== 0) - output += "\r\n\r\n"; - this[kWriteToOutput](output), this[kRefreshLine](); - } - [kWordLeft]() { - if (this.cursor > 0) { - var leading = StringPrototypeSlice.call(this.line, 0, this.cursor), reversed = ArrayPrototypeJoin.call(ArrayPrototypeReverse.call(ArrayFrom(leading)), ""), match = RegExpPrototypeExec.call(/^\s*(?:[^\w\s]+|\w+)?/, reversed); - this[kMoveCursor](-match[0].length); - } - } - [kWordRight]() { - if (this.cursor < this.line.length) { - var trailing = StringPrototypeSlice.call(this.line, this.cursor), match = RegExpPrototypeExec.call(/^(?:\s+|[^\w\s]+|\w+)\s*/, trailing); - this[kMoveCursor](match[0].length); - } - } - [kDeleteLeft]() { - if (this.cursor > 0 && this.line.length > 0) { - this[kBeforeEdit](this.line, this.cursor); - var charSize = charLengthLeft(this.line, this.cursor); - this.line = StringPrototypeSlice.call(this.line, 0, this.cursor - charSize) + StringPrototypeSlice.call(this.line, this.cursor, this.line.length), this.cursor -= charSize, this[kRefreshLine](); - } - } - [kDeleteRight]() { - if (this.cursor < this.line.length) { - this[kBeforeEdit](this.line, this.cursor); - var charSize = charLengthAt(this.line, this.cursor); - this.line = StringPrototypeSlice.call(this.line, 0, this.cursor) + StringPrototypeSlice.call(this.line, this.cursor + charSize, this.line.length), this[kRefreshLine](); - } - } - [kDeleteWordLeft]() { - if (this.cursor > 0) { - this[kBeforeEdit](this.line, this.cursor); - var leading = StringPrototypeSlice.call(this.line, 0, this.cursor), reversed = ArrayPrototypeJoin.call(ArrayPrototypeReverse.call(ArrayFrom(leading)), ""), match = RegExpPrototypeExec.call(/^\s*(?:[^\w\s]+|\w+)?/, reversed); - leading = StringPrototypeSlice.call(leading, 0, leading.length - match[0].length), this.line = leading + StringPrototypeSlice.call(this.line, this.cursor, this.line.length), this.cursor = leading.length, this[kRefreshLine](); - } - } - [kDeleteWordRight]() { - if (this.cursor < this.line.length) { - this[kBeforeEdit](this.line, this.cursor); - var trailing = StringPrototypeSlice.call(this.line, this.cursor), match = RegExpPrototypeExec.call(/^(?:\s+|\W+|\w+)\s*/, trailing); - this.line = StringPrototypeSlice.call(this.line, 0, this.cursor) + StringPrototypeSlice.call(trailing, match[0].length), this[kRefreshLine](); - } - } - [kDeleteLineLeft]() { - this[kBeforeEdit](this.line, this.cursor); - var del = StringPrototypeSlice.call(this.line, 0, this.cursor); - this.line = StringPrototypeSlice.call(this.line, this.cursor), this.cursor = 0, this[kPushToKillRing](del), this[kRefreshLine](); - } - [kDeleteLineRight]() { - this[kBeforeEdit](this.line, this.cursor); - var del = StringPrototypeSlice.call(this.line, this.cursor); - this.line = StringPrototypeSlice.call(this.line, 0, this.cursor), this[kPushToKillRing](del), this[kRefreshLine](); - } - [kPushToKillRing](del) { - if (!del || del === this[kKillRing][0]) - return; - ArrayPrototypeUnshift.call(this[kKillRing], del), this[kKillRingCursor] = 0; - while (this[kKillRing].length > kMaxLengthOfKillRing) - ArrayPrototypePop.call(this[kKillRing]); - } - [kYank]() { - if (this[kKillRing].length > 0) - this[kYanking] = !0, this[kInsertString](this[kKillRing][this[kKillRingCursor]]); - } - [kYankPop]() { - if (!this[kYanking]) - return; - if (this[kKillRing].length > 1) { - var lastYank = this[kKillRing][this[kKillRingCursor]]; - if (this[kKillRingCursor]++, this[kKillRingCursor] >= this[kKillRing].length) - this[kKillRingCursor] = 0; - var currentYank = this[kKillRing][this[kKillRingCursor]], head = StringPrototypeSlice.call(this.line, 0, this.cursor - lastYank.length), tail = StringPrototypeSlice.call(this.line, this.cursor); - this.line = head + currentYank + tail, this.cursor = head.length + currentYank.length, this[kRefreshLine](); - } - } - clearLine() { - this[kMoveCursor](Infinity), this[kWriteToOutput]("\r\n"), this.line = "", this.cursor = 0, this.prevRows = 0; - } - [kLine]() { - var line = this[kAddHistory](); - this[kUndoStack] = [], this[kRedoStack] = [], this.clearLine(), this[kOnLine](line); - } - [kPushToUndoStack](text, cursor) { - if (ArrayPrototypePush.call(this[kUndoStack], { text, cursor }) > kMaxUndoRedoStackSize) - ArrayPrototypeShift.call(this[kUndoStack]); - } - [kUndo]() { - if (this[kUndoStack].length <= 0) - return; - ArrayPrototypePush.call(this[kRedoStack], { - text: this.line, - cursor: this.cursor - }); - var entry = ArrayPrototypePop.call(this[kUndoStack]); - this.line = entry.text, this.cursor = entry.cursor, this[kRefreshLine](); - } - [kRedo]() { - if (this[kRedoStack].length <= 0) - return; - ArrayPrototypePush.call(this[kUndoStack], { - text: this.line, - cursor: this.cursor - }); - var entry = ArrayPrototypePop.call(this[kRedoStack]); - this.line = entry.text, this.cursor = entry.cursor, this[kRefreshLine](); - } - [kHistoryNext]() { - if (this.historyIndex >= 0) { - this[kBeforeEdit](this.line, this.cursor); - var search = this[kSubstringSearch] || "", index = this.historyIndex - 1; - while (index >= 0 && (!StringPrototypeStartsWith.call(this.history[index], search) || this.line === this.history[index])) - index--; - if (index === -1) - this.line = search; - else - this.line = this.history[index]; - this.historyIndex = index, this.cursor = this.line.length, this[kRefreshLine](); - } - } - [kHistoryPrev]() { - if (this.historyIndex < this.history.length && this.history.length) { - this[kBeforeEdit](this.line, this.cursor); - var search = this[kSubstringSearch] || "", index = this.historyIndex + 1; - while (index < this.history.length && (!StringPrototypeStartsWith.call(this.history[index], search) || this.line === this.history[index])) - index++; - if (index === this.history.length) - this.line = search; - else - this.line = this.history[index]; - this.historyIndex = index, this.cursor = this.line.length, this[kRefreshLine](); - } - } - [kGetDisplayPos](str) { - var offset = 0, col = this.columns, rows = 0; - str = stripVTControlCharacters(str); - for (var char of new SafeStringIterator(str)) { - if (char === "\n") { - rows += MathCeil(offset / col) || 1, offset = 0; - continue; - } - if (char === "\t") { - offset += this.tabSize - offset % this.tabSize; - continue; - } - var width = getStringWidth(char, !1); - if (width === 0 || width === 1) - offset += width; - else { - if ((offset + 1) % col === 0) - offset++; - offset += 2; - } - } - var cols = offset % col; - return rows += (offset - cols) / col, { cols, rows }; - } - getCursorPos() { - var strBeforeCursor = this[kPrompt] + StringPrototypeSlice.call(this.line, 0, this.cursor); - return this[kGetDisplayPos](strBeforeCursor); - } - [kMoveCursor](dx) { - if (dx === 0) - return; - var oldPos = this.getCursorPos(); - if (this.cursor += dx, this.cursor < 0) - this.cursor = 0; - else if (this.cursor > this.line.length) - this.cursor = this.line.length; - var newPos = this.getCursorPos(); - if (oldPos.rows === newPos.rows) { - var diffWidth = newPos.cols - oldPos.cols; - moveCursor(this.output, diffWidth, 0); - } else - this[kRefreshLine](); - } - [kTtyWrite](s, key) { - var previousKey = this[kPreviousKey]; - key = key || kEmptyObject, this[kPreviousKey] = key; - var { name: keyName, meta: keyMeta, ctrl: keyCtrl2, shift: keyShift, sequence: keySeq } = key; - if (!keyMeta || keyName !== "y") - this[kYanking] = !1; - if ((keyName === "up" || keyName === "down") && !keyCtrl2 && !keyMeta && !keyShift) { - if (this[kSubstringSearch] === null) - this[kSubstringSearch] = StringPrototypeSlice.call(this.line, 0, this.cursor); - } else if (this[kSubstringSearch] !== null) { - if (this[kSubstringSearch] = null, this.history.length === this.historyIndex) - this.historyIndex = -1; - } - if (typeof keySeq === "string") - switch (StringPrototypeCodePointAt.call(keySeq, 0)) { - case 31: - this[kUndo](); - return; - case 30: - this[kRedo](); - return; - default: - break; - } - if (keyName === "escape") - return; - if (keyCtrl2 && keyShift) - switch (keyName) { - case "backspace": - this[kDeleteLineLeft](); - break; - case "delete": - this[kDeleteLineRight](); - break; - } - else if (keyCtrl2) - switch (keyName) { - case "c": - if (this.listenerCount("SIGINT") > 0) - this.emit("SIGINT"); - else - this.close(); - break; - case "h": - this[kDeleteLeft](); - break; - case "d": - if (this.cursor === 0 && this.line.length === 0) - this.close(); - else if (this.cursor < this.line.length) - this[kDeleteRight](); - break; - case "u": - this[kDeleteLineLeft](); - break; - case "k": - this[kDeleteLineRight](); - break; - case "a": - this[kMoveCursor]((-Infinity)); - break; - case "e": - this[kMoveCursor](Infinity); - break; - case "b": - this[kMoveCursor](-charLengthLeft(this.line, this.cursor)); - break; - case "f": - this[kMoveCursor](+charLengthAt(this.line, this.cursor)); - break; - case "l": - cursorTo(this.output, 0, 0), clearScreenDown(this.output), this[kRefreshLine](); - break; - case "n": - this[kHistoryNext](); - break; - case "p": - this[kHistoryPrev](); - break; - case "y": - this[kYank](); - break; - case "z": - if (this.listenerCount("SIGTSTP") > 0) - this.emit("SIGTSTP"); - else - process.once("SIGCONT", () => { - if (!this.paused) - this.pause(), this.emit("SIGCONT"); - this[kSetRawMode](!0), this[kRefreshLine](); - }), this[kSetRawMode](!1), process.kill(process.pid, "SIGTSTP"); - break; - case "w": - case "backspace": - this[kDeleteWordLeft](); - break; - case "delete": - this[kDeleteWordRight](); - break; - case "left": - this[kWordLeft](); - break; - case "right": - this[kWordRight](); - break; - } - else if (keyMeta) - switch (keyName) { - case "b": - this[kWordLeft](); - break; - case "f": - this[kWordRight](); - break; - case "d": - case "delete": - this[kDeleteWordRight](); - break; - case "backspace": - this[kDeleteWordLeft](); - break; - case "y": - this[kYankPop](); - break; - } - else { - if (this[kSawReturnAt] && keyName !== "enter") - this[kSawReturnAt] = 0; - switch (keyName) { - case "return": - this[kSawReturnAt] = DateNow(), this[kLine](); - break; - case "enter": - if (this[kSawReturnAt] === 0 || DateNow() - this[kSawReturnAt] > this.crlfDelay) - this[kLine](); - this[kSawReturnAt] = 0; - break; - case "backspace": - this[kDeleteLeft](); - break; - case "delete": - this[kDeleteRight](); - break; - case "left": - this[kMoveCursor](-charLengthLeft(this.line, this.cursor)); - break; - case "right": - this[kMoveCursor](+charLengthAt(this.line, this.cursor)); - break; - case "home": - this[kMoveCursor]((-Infinity)); - break; - case "end": - this[kMoveCursor](Infinity); - break; - case "up": - this[kHistoryPrev](); - break; - case "down": - this[kHistoryNext](); - break; - case "tab": - if (typeof this.completer === "function" && this.isCompletionEnabled) { - var lastKeypressWasTab = previousKey && previousKey.name === "tab"; - this[kTabComplete](lastKeypressWasTab); - break; - } - default: - if (typeof s === "string" && s) { - var nextMatch = RegExpPrototypeExec.call(lineEnding, s); - if (nextMatch !== null) { - this[kInsertString](StringPrototypeSlice.call(s, 0, nextMatch.index)); - var { lastIndex } = lineEnding; - while ((nextMatch = RegExpPrototypeExec.call(lineEnding, s)) !== null) - this[kLine](), this[kInsertString](StringPrototypeSlice.call(s, lastIndex, nextMatch.index)), { lastIndex } = lineEnding; - if (lastIndex === s.length) - this[kLine](); - } else - this[kInsertString](s); - } - } - } - } - [SymbolAsyncIterator]() { - if (this[kLineObjectStream] === void 0) - this[kLineObjectStream] = EventEmitter.on(this, "line", { - close: ["close"], - highWatermark: 1024, - [kFirstEventParam]: !0 - }); - return this[kLineObjectStream]; - } -}; -ObjectSetPrototypeOf(Interface.prototype, _Interface.prototype); -ObjectSetPrototypeOf(Interface, _Interface); -Interface.prototype.question = function question(query, options, cb) { - if (cb = typeof options === "function" ? options : cb, options === null || typeof options !== "object") - options = kEmptyObject; - var signal = options?.signal; - if (signal) { - if (validateAbortSignal(signal, "options.signal"), signal.aborted) - return; - var onAbort = () => { - this[kQuestionCancel](); - }; - signal.addEventListener("abort", onAbort, { once: !0 }); - var cleanup = () => { - signal.removeEventListener("abort", onAbort); - }, originalCb = cb; - cb = typeof cb === "function" ? (answer) => { - return cleanup(), originalCb(answer); - } : cleanup; - } - if (typeof cb === "function") - this[kQuestion](query, cb); -}; -Interface.prototype.question[promisify.custom] = function question2(query, options) { - if (options === null || typeof options !== "object") - options = kEmptyObject; - var signal = options?.signal; - if (signal && signal.aborted) - return PromiseReject(new AbortError(void 0, { cause: signal.reason })); - return new Promise((resolve, reject) => { - var cb = resolve; - if (signal) { - var onAbort = () => { - reject(new AbortError(void 0, { cause: signal.reason })); - }; - signal.addEventListener("abort", onAbort, { once: !0 }), cb = (answer) => { - signal.removeEventListener("abort", onAbort), resolve(answer); - }; - } - this.question(query, options, cb); - }); -}; -ObjectDefineProperties(Interface.prototype, { - [kSetRawMode]: { - __proto__: null, - get() { - return this._setRawMode; - } - }, - [kOnLine]: { - __proto__: null, - get() { - return this._onLine; - } - }, - [kWriteToOutput]: { - __proto__: null, - get() { - return this._writeToOutput; - } - }, - [kAddHistory]: { - __proto__: null, - get() { - return this._addHistory; - } - }, - [kRefreshLine]: { - __proto__: null, - get() { - return this._refreshLine; - } - }, - [kNormalWrite]: { - __proto__: null, - get() { - return this._normalWrite; - } - }, - [kInsertString]: { - __proto__: null, - get() { - return this._insertString; - } - }, - [kTabComplete]: { - __proto__: null, - get() { - return this._tabComplete; - } - }, - [kWordLeft]: { - __proto__: null, - get() { - return this._wordLeft; - } - }, - [kWordRight]: { - __proto__: null, - get() { - return this._wordRight; - } - }, - [kDeleteLeft]: { - __proto__: null, - get() { - return this._deleteLeft; - } - }, - [kDeleteRight]: { - __proto__: null, - get() { - return this._deleteRight; - } - }, - [kDeleteWordLeft]: { - __proto__: null, - get() { - return this._deleteWordLeft; - } - }, - [kDeleteWordRight]: { - __proto__: null, - get() { - return this._deleteWordRight; - } - }, - [kDeleteLineLeft]: { - __proto__: null, - get() { - return this._deleteLineLeft; - } - }, - [kDeleteLineRight]: { - __proto__: null, - get() { - return this._deleteLineRight; - } - }, - [kLine]: { - __proto__: null, - get() { - return this._line; - } - }, - [kHistoryNext]: { - __proto__: null, - get() { - return this._historyNext; - } - }, - [kHistoryPrev]: { - __proto__: null, - get() { - return this._historyPrev; - } - }, - [kGetDisplayPos]: { - __proto__: null, - get() { - return this._getDisplayPos; - } - }, - [kMoveCursor]: { - __proto__: null, - get() { - return this._moveCursor; - } - }, - [kTtyWrite]: { - __proto__: null, - get() { - return this._ttyWrite; - } - }, - _decoder: { - __proto__: null, - get() { - return this[kDecoder]; - }, - set(value) { - this[kDecoder] = value; - } - }, - _line_buffer: { - __proto__: null, - get() { - return this[kLine_buffer]; - }, - set(value) { - this[kLine_buffer] = value; - } - }, - _oldPrompt: { - __proto__: null, - get() { - return this[kOldPrompt]; - }, - set(value) { - this[kOldPrompt] = value; - } - }, - _previousKey: { - __proto__: null, - get() { - return this[kPreviousKey]; - }, - set(value) { - this[kPreviousKey] = value; - } - }, - _prompt: { - __proto__: null, - get() { - return this[kPrompt]; - }, - set(value) { - this[kPrompt] = value; - } - }, - _questionCallback: { - __proto__: null, - get() { - return this[kQuestionCallback]; - }, - set(value) { - this[kQuestionCallback] = value; - } - }, - _sawKeyPress: { - __proto__: null, - get() { - return this[kSawKeyPress]; - }, - set(value) { - this[kSawKeyPress] = value; - } - }, - _sawReturnAt: { - __proto__: null, - get() { - return this[kSawReturnAt]; - }, - set(value) { - this[kSawReturnAt] = value; - } - } -}); -Interface.prototype._setRawMode = _Interface.prototype[kSetRawMode]; -Interface.prototype._onLine = _Interface.prototype[kOnLine]; -Interface.prototype._writeToOutput = _Interface.prototype[kWriteToOutput]; -Interface.prototype._addHistory = _Interface.prototype[kAddHistory]; -Interface.prototype._refreshLine = _Interface.prototype[kRefreshLine]; -Interface.prototype._normalWrite = _Interface.prototype[kNormalWrite]; -Interface.prototype._insertString = _Interface.prototype[kInsertString]; -Interface.prototype._tabComplete = function(lastKeypressWasTab) { - this.pause(); - var string = StringPrototypeSlice.call(this.line, 0, this.cursor); - this.completer(string, (err, value) => { - if (this.resume(), err) { - this._writeToOutput(`Tab completion error: ${inspect(err)}`); - return; - } - this[kTabCompleter](lastKeypressWasTab, value); - }); -}; -Interface.prototype._wordLeft = _Interface.prototype[kWordLeft]; -Interface.prototype._wordRight = _Interface.prototype[kWordRight]; -Interface.prototype._deleteLeft = _Interface.prototype[kDeleteLeft]; -Interface.prototype._deleteRight = _Interface.prototype[kDeleteRight]; -Interface.prototype._deleteWordLeft = _Interface.prototype[kDeleteWordLeft]; -Interface.prototype._deleteWordRight = _Interface.prototype[kDeleteWordRight]; -Interface.prototype._deleteLineLeft = _Interface.prototype[kDeleteLineLeft]; -Interface.prototype._deleteLineRight = _Interface.prototype[kDeleteLineRight]; -Interface.prototype._line = _Interface.prototype[kLine]; -Interface.prototype._historyNext = _Interface.prototype[kHistoryNext]; -Interface.prototype._historyPrev = _Interface.prototype[kHistoryPrev]; -Interface.prototype._getDisplayPos = _Interface.prototype[kGetDisplayPos]; -Interface.prototype._getCursorPos = _Interface.prototype.getCursorPos; -Interface.prototype._moveCursor = _Interface.prototype[kMoveCursor]; -Interface.prototype._ttyWrite = _Interface.prototype[kTtyWrite]; - -class Readline { - #autoCommit = !1; - #stream; - #todo = []; - constructor(stream, options = void 0) { - if (isWritable ??= import.meta.require("node:stream").isWritable, !isWritable(stream)) - throw new ERR_INVALID_ARG_TYPE("stream", "Writable", stream); - if (this.#stream = stream, options?.autoCommit != null) - validateBoolean(options.autoCommit, "options.autoCommit"), this.#autoCommit = options.autoCommit; - } - cursorTo(x, y = void 0) { - if (validateInteger(x, "x"), y != null) - validateInteger(y, "y"); - var data = y == null ? CSI`${x + 1}G` : CSI`${y + 1};${x + 1}H`; - if (this.#autoCommit) - process.nextTick(() => this.#stream.write(data)); - else - ArrayPrototypePush.call(this.#todo, data); - return this; - } - moveCursor(dx, dy) { - if (dx || dy) { - validateInteger(dx, "dx"), validateInteger(dy, "dy"); - var data = ""; - if (dx < 0) - data += CSI`${-dx}D`; - else if (dx > 0) - data += CSI`${dx}C`; - if (dy < 0) - data += CSI`${-dy}A`; - else if (dy > 0) - data += CSI`${dy}B`; - if (this.#autoCommit) - process.nextTick(() => this.#stream.write(data)); - else - ArrayPrototypePush.call(this.#todo, data); - } - return this; - } - clearLine(dir) { - validateInteger(dir, "dir", -1, 1); - var data = dir < 0 ? kClearToLineBeginning : dir > 0 ? kClearToLineEnd : kClearLine; - if (this.#autoCommit) - process.nextTick(() => this.#stream.write(data)); - else - ArrayPrototypePush.call(this.#todo, data); - return this; - } - clearScreenDown() { - if (this.#autoCommit) - process.nextTick(() => this.#stream.write(kClearScreenDown)); - else - ArrayPrototypePush.call(this.#todo, kClearScreenDown); - return this; - } - commit() { - return new Promise((resolve) => { - this.#stream.write(ArrayPrototypeJoin.call(this.#todo, ""), resolve), this.#todo = []; - }); - } - rollback() { - return this.#todo = [], this; - } -} -var PromisesInterface = class Interface3 extends _Interface { - constructor(input, output, completer, terminal) { - super(input, output, completer, terminal); - } - question(query, options = kEmptyObject) { - var signal = options?.signal; - if (signal) { - if (validateAbortSignal(signal, "options.signal"), signal.aborted) - return PromiseReject(new AbortError(void 0, { cause: signal.reason })); - } - return new Promise((resolve, reject) => { - var cb = resolve; - if (options?.signal) { - var onAbort = () => { - this[kQuestionCancel](), reject(new AbortError(void 0, { cause: signal.reason })); - }; - signal.addEventListener("abort", onAbort, { once: !0 }), cb = (answer) => { - signal.removeEventListener("abort", onAbort), resolve(answer); - }; - } - this[kQuestion](query, cb); - }); - } -}, Interface = Interface, clearLine = clearLine, clearScreenDown = clearScreenDown, createInterface = createInterface, cursorTo = cursorTo, emitKeypressEvents = emitKeypressEvents, moveCursor = moveCursor, promises = { - Readline, - Interface: PromisesInterface, - createInterface(input, output, completer, terminal) { - return new PromisesInterface(input, output, completer, terminal); - } -}, readline_default = { - Interface, - clearLine, - clearScreenDown, - createInterface, - cursorTo, - emitKeypressEvents, - moveCursor, - promises, - [SymbolFor("__BUN_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED__")]: { - CSI, - utils: { - getStringWidth, - stripVTControlCharacters - } - }, - [SymbolFor("CommonJS")]: 0 -}; -export { - promises, - moveCursor, - emitKeypressEvents, - readline_default as default, - cursorTo, - createInterface, - clearScreenDown, - clearLine, - Interface -}; diff --git a/src/js/out/modules/node/readline.promises.js b/src/js/out/modules/node/readline.promises.js deleted file mode 100644 index 61a6d256f3b15..0000000000000 --- a/src/js/out/modules/node/readline.promises.js +++ /dev/null @@ -1,13 +0,0 @@ -import {promises} from "node:readline"; -var { Readline, Interface, createInterface } = promises, readline_promises_default = { - Readline, - Interface, - createInterface, - [Symbol.for("CommonJS")]: 0 -}; -export { - readline_promises_default as default, - createInterface, - Readline, - Interface -}; diff --git a/src/js/out/modules/node/repl.js b/src/js/out/modules/node/repl.js deleted file mode 100644 index c1eb35e9739b8..0000000000000 --- a/src/js/out/modules/node/repl.js +++ /dev/null @@ -1,90 +0,0 @@ -function throwNotImplemented(feature, issue) { - throw hideFromStack(throwNotImplemented), new NotImplementedError(feature, issue); -} -function hideFromStack(...fns) { - for (let fn of fns) - Object.defineProperty(fn, "name", { - value: "::bunternal::" - }); -} - -class NotImplementedError extends Error { - code; - constructor(feature, issue) { - super(feature + " is not yet implemented in Bun." + (issue ? " Track the status & thumbs up the issue: https://github.com/oven-sh/bun/issues/" + issue : "")); - this.name = "NotImplementedError", this.code = "ERR_NOT_IMPLEMENTED", hideFromStack(NotImplementedError); - } -} - -// src/js/node/repl.ts -var REPLServer = function() { - throwNotImplemented("node:repl REPLServer"); -}, Recoverable = function() { - throwNotImplemented("node:repl Recoverable"); -}, start = function() { - throwNotImplemented("node:repl"); -}, REPL_MODE_SLOPPY = 0, REPL_MODE_STRICT = 1, repl = { - [Symbol.for("CommonJS")]: 0, - lines: [], - context: globalThis, - historyIndex: -1, - cursor: 0, - historySize: 1000, - removeHistoryDuplicates: !1, - crlfDelay: 100, - completer: () => { - throwNotImplemented("node:repl"); - }, - history: [], - _initialPrompt: "> ", - terminal: !0, - input: new Proxy({}, { - get() { - throwNotImplemented("node:repl"); - }, - has: () => !1, - ownKeys: () => [], - getOwnPropertyDescriptor: () => { - return; - }, - set() { - throwNotImplemented("node:repl"); - } - }), - line: "", - eval: () => { - throwNotImplemented("node:repl"); - }, - isCompletionEnabled: !0, - escapeCodeTimeout: 500, - tabSize: 8, - breakEvalOnSigint: !0, - useGlobal: !0, - underscoreAssigned: !1, - last: void 0, - _domain: void 0, - allowBlockingCompletions: !1, - useColors: !0, - output: new Proxy({}, { - get() { - throwNotImplemented("node:repl"); - }, - has: () => !1, - ownKeys: () => [], - getOwnPropertyDescriptor: () => { - return; - }, - set() { - throwNotImplemented("node:repl"); - } - }) -}; -export { - start, - repl, - repl as default, - Recoverable, - REPL_MODE_STRICT, - REPL_MODE_SLOPPY, - REPLServer -}; diff --git a/src/js/out/modules/node/stream.consumers.js b/src/js/out/modules/node/stream.consumers.js deleted file mode 100644 index 96ecae4e71039..0000000000000 --- a/src/js/out/modules/node/stream.consumers.js +++ /dev/null @@ -1 +0,0 @@ -var k=(o)=>{return import.meta.require(o)};var{Bun:p}=globalThis[Symbol.for("Bun.lazy")]("primordials"),O=p.readableStreamToArrayBuffer,c=p.readableStreamToText,g=(o)=>p.readableStreamToText(o).then(JSON.parse),h=async(o)=>{return new Buffer(await O(o))},i=p.readableStreamToBlob,v={[Symbol.for("CommonJS")]:0,arrayBuffer:O,text:c,json:g,buffer:h,blob:i};export{c as text,g as json,v as default,h as buffer,i as blob,O as arrayBuffer}; diff --git a/src/js/out/modules/node/stream.js b/src/js/out/modules/node/stream.js deleted file mode 100644 index b001443b4664e..0000000000000 --- a/src/js/out/modules/node/stream.js +++ /dev/null @@ -1,2 +0,0 @@ -var UQ=(a)=>{return import.meta.require(a)};import{EventEmitter as Iq} from"bun:events_native";import{StringDecoder as aq} from"node:string_decoder";var tq=function(a){return typeof a==="object"&&a!==null&&a instanceof ReadableStream},eq=function(a,j){if(typeof a!=="boolean")throw new qQ(j,"boolean",a)};var qQ=function(a,j,B){return new Error(`The argument '${a}' is invalid. Received '${B}' for type '${j}'`)},QQ=function(a,j,B){return new Error(`The value '${j}' is invalid for argument '${a}'. Reason: ${B}`)},YQ=function(a,j){var[B,G,y,A,M,R,T]=globalThis[Symbol.for("Bun.lazy")](a),g=[!1],k=function(E,P,Z,U){if(P>0){const I=Z.subarray(0,P),_=Z.subarray(P);if(I.byteLength>0)E.push(I);if(U)E.push(null);return _.byteLength>0?_:void 0}if(U)E.push(null);return Z},c=function(E,P,Z,U){if(P.byteLength>0)E.push(P);if(U)E.push(null);return Z},O=process.env.BUN_DISABLE_DYNAMIC_CHUNK_SIZE!=="1";const l=new FinalizationRegistry((E)=>E&&M(E)),D=512;var p=class E extends j{#q;#Q=1;#X=!1;#H=void 0;#J;#K=!1;#Z=!O;#B;constructor(P,Z={}){super(Z);if(typeof Z.highWaterMark==="number")this.#J=Z.highWaterMark;else this.#J=262144;this.#q=P,this.#X=!1,this.#H=void 0,this.#K=!1,this.#B={},l.register(this,this.#q,this.#B)}_read(P){if(this.#K)return;var Z=this.#q;if(Z===0){this.push(null);return}if(!this.#X)this.#$(Z);return this.#V(this.#z(P),Z)}#$(P){this.#X=!0;const Z=G(P,this.#J);if(typeof Z==="number"&&Z>1)this.#Z=!0,this.#J=Math.min(this.#J,Z);if(T){const U=T(P);if((U?.byteLength??0)>0)this.push(U)}}#z(P=this.#J){var Z=this.#H;if(Z?.byteLength??0D?P:D;this.#H=Z=new Buffer(U)}return Z}#Y(P,Z,U){if(typeof P==="number"){if(P>=this.#J&&!this.#Z&&!U)this.#J*=2,this.#Z=!0;return k(this,P,Z,U)}else if(typeof P==="boolean")return process.nextTick(()=>{this.push(null)}),Z?.byteLength??0>0?Z:void 0;else if(ArrayBuffer.isView(P)){if(P.byteLength>=this.#J&&!this.#Z&&!U)this.#J*=2,this.#Z=!0;return c(this,P,Z,U)}else throw new Error("Invalid result from pull")}#V(P,Z){g[0]=!1;var U=B(Z,P,g);if(xq(U))return this.#K=!0,U.then((I)=>{this.#K=!1,this.#H=this.#Y(I,P,g[0])},(I)=>{errorOrDestroy(this,I)});else this.#H=this.#Y(U,P,g[0])}_destroy(P,Z){var U=this.#q;if(U===0){Z(P);return}if(l.unregister(this.#B),this.#q=0,R)R(U,!1);y(U,P),Z(P)}ref(){var P=this.#q;if(P===0)return;if(this.#Q++===0)R(P,!0)}unref(){var P=this.#q;if(P===0)return;if(this.#Q--===1)R(P,!1)}};if(!R)p.prototype.ref=void 0,p.prototype.unref=void 0;return p},lq=function(a,j){return $Q[a]||=YQ(a,j)},zQ=function(a,j,B){if(!(j&&typeof j==="object"&&j instanceof ReadableStream))return;const G=sq(j);if(!G){Gq("no native readable stream");return}const{stream:y,data:A}=G;return new(lq(A,a))(y,B)};var Gq=()=>{},{isPromise:xq,isCallable:oq,direct:sq,Object:zq}=globalThis[Symbol.for("Bun.lazy")]("primordials"),FQ=zq.create,LQ=zq.defineProperty,jQ=zq.getOwnPropertyDescriptor,rq=zq.getOwnPropertyNames,NQ=zq.getPrototypeOf,AQ=zq.prototype.hasOwnProperty,EQ=zq.setPrototypeOf,Bq=(a,j)=>function B(){return j||(0,a[rq(a)[0]])((j={exports:{}}).exports,j),j.exports};var Xq=process.nextTick;var IQ=Array.isArray,Vq=Bq({"node_modules/readable-stream/lib/ours/primordials.js"(a,j){j.exports={ArrayIsArray(B){return Array.isArray(B)},ArrayPrototypeIncludes(B,G){return B.includes(G)},ArrayPrototypeIndexOf(B,G){return B.indexOf(G)},ArrayPrototypeJoin(B,G){return B.join(G)},ArrayPrototypeMap(B,G){return B.map(G)},ArrayPrototypePop(B,G){return B.pop(G)},ArrayPrototypePush(B,G){return B.push(G)},ArrayPrototypeSlice(B,G,y){return B.slice(G,y)},Error,FunctionPrototypeCall(B,G,...y){return B.call(G,...y)},FunctionPrototypeSymbolHasInstance(B,G){return Function.prototype[Symbol.hasInstance].call(B,G)},MathFloor:Math.floor,Number,NumberIsInteger:Number.isInteger,NumberIsNaN:Number.isNaN,NumberMAX_SAFE_INTEGER:Number.MAX_SAFE_INTEGER,NumberMIN_SAFE_INTEGER:Number.MIN_SAFE_INTEGER,NumberParseInt:Number.parseInt,ObjectDefineProperties(B,G){return zq.defineProperties(B,G)},ObjectDefineProperty(B,G,y){return zq.defineProperty(B,G,y)},ObjectGetOwnPropertyDescriptor(B,G){return zq.getOwnPropertyDescriptor(B,G)},ObjectKeys(B){return zq.keys(B)},ObjectSetPrototypeOf(B,G){return zq.setPrototypeOf(B,G)},Promise,PromisePrototypeCatch(B,G){return B.catch(G)},PromisePrototypeThen(B,G,y){return B.then(G,y)},PromiseReject(B){return Promise.reject(B)},ReflectApply:Reflect.apply,RegExpPrototypeTest(B,G){return B.test(G)},SafeSet:Set,String,StringPrototypeSlice(B,G,y){return B.slice(G,y)},StringPrototypeToLowerCase(B){return B.toLowerCase()},StringPrototypeToUpperCase(B){return B.toUpperCase()},StringPrototypeTrim(B){return B.trim()},Symbol,SymbolAsyncIterator:Symbol.asyncIterator,SymbolHasInstance:Symbol.hasInstance,SymbolIterator:Symbol.iterator,TypedArrayPrototypeSet(B,G,y){return B.set(G,y)},Uint8Array}}}),Aq=Bq({"node_modules/readable-stream/lib/ours/util.js"(a,j){var B=zq.getPrototypeOf(async function(){}).constructor,G=typeof Blob!=="undefined"?function A(M){return M instanceof Blob}:function A(M){return!1},y=class extends Error{constructor(A){if(!Array.isArray(A))throw new TypeError(`Expected input to be an Array, got ${typeof A}`);let M="";for(let R=0;R{A=T,M=g}),resolve:A,reject:M}},promisify(A){return new Promise((M,R)=>{A((T,...g)=>{if(T)return R(T);return M(...g)})})},debuglog(){return function(){}},format(A,...M){return A.replace(/%([sdifj])/g,function(...[R,T]){const g=M.shift();if(T==="f")return g.toFixed(6);else if(T==="j")return JSON.stringify(g);else if(T==="s"&&typeof g==="object")return`${g.constructor!==zq?g.constructor.name:""} {}`.trim();else return g.toString()})},inspect(A){switch(typeof A){case"string":if(A.includes("'")){if(!A.includes('"'))return`"${A}"`;else if(!A.includes("`")&&!A.includes("${"))return`\`${A}\``}return`'${A}'`;case"number":if(isNaN(A))return"NaN";else if(zq.is(A,-0))return String(A);return A;case"bigint":return`${String(A)}n`;case"boolean":case"undefined":return String(A);case"object":return"{}"}},types:{isAsyncFunction(A){return A instanceof B},isArrayBufferView(A){return ArrayBuffer.isView(A)}},isBlob:G},j.exports.promisify.custom=Symbol.for("nodejs.util.promisify.custom")}}),Wq=Bq({"node_modules/readable-stream/lib/ours/errors.js"(a,j){var{format:B,inspect:G,AggregateError:y}=Aq(),A=globalThis.AggregateError||y,M=Symbol("kIsNodeError"),R=["string","function","number","object","Function","Object","boolean","bigint","symbol"],T=/^([A-Z][a-z0-9]*)+$/,g="__node_internal_",k={};function c(Z,U){if(!Z)throw new k.ERR_INTERNAL_ASSERTION(U)}function O(Z){let U="",I=Z.length;const _=Z[0]==="-"?1:0;for(;I>=_+4;I-=3)U=`_${Z.slice(I-3,I)}${U}`;return`${Z.slice(0,I)}${U}`}function l(Z,U,I){if(typeof U==="function")return c(U.length<=I.length,`Code: ${Z}; The provided arguments length (${I.length}) does not match the required ones (${U.length}).`),U(...I);const _=(U.match(/%[dfijoOs]/g)||[]).length;if(c(_===I.length,`Code: ${Z}; The provided arguments length (${I.length}) does not match the required ones (${_}).`),I.length===0)return U;return B(U,...I)}function D(Z,U,I){if(!I)I=Error;class _ extends I{constructor(...t){super(l(Z,U,t))}toString(){return`${this.name} [${Z}]: ${this.message}`}}zq.defineProperties(_.prototype,{name:{value:I.name,writable:!0,enumerable:!1,configurable:!0},toString:{value(){return`${this.name} [${Z}]: ${this.message}`},writable:!0,enumerable:!1,configurable:!0}}),_.prototype.code=Z,_.prototype[M]=!0,k[Z]=_}function p(Z){const U=g+Z.name;return zq.defineProperty(Z,"name",{value:U}),Z}function E(Z,U){if(Z&&U&&Z!==U){if(Array.isArray(U.errors))return U.errors.push(Z),U;const I=new A([U,Z],U.message);return I.code=U.code,I}return Z||U}var P=class extends Error{constructor(Z="The operation was aborted",U=void 0){if(U!==void 0&&typeof U!=="object")throw new k.ERR_INVALID_ARG_TYPE("options","Object",U);super(Z,U);this.code="ABORT_ERR",this.name="AbortError"}};D("ERR_ASSERTION","%s",Error),D("ERR_INVALID_ARG_TYPE",(Z,U,I)=>{if(c(typeof Z==="string","'name' must be a string"),!Array.isArray(U))U=[U];let _="The ";if(Z.endsWith(" argument"))_+=`${Z} `;else _+=`"${Z}" ${Z.includes(".")?"property":"argument"} `;_+="must be ";const t=[],i=[],$=[];for(let Y of U)if(c(typeof Y==="string","All expected entries have to be of type string"),R.includes(Y))t.push(Y.toLowerCase());else if(T.test(Y))i.push(Y);else c(Y!=="object",'The value "object" should be written as "Object"'),$.push(Y);if(i.length>0){const Y=t.indexOf("object");if(Y!==-1)t.splice(t,Y,1),i.push("Object")}if(t.length>0){switch(t.length){case 1:_+=`of type ${t[0]}`;break;case 2:_+=`one of type ${t[0]} or ${t[1]}`;break;default:{const Y=t.pop();_+=`one of type ${t.join(", ")}, or ${Y}`}}if(i.length>0||$.length>0)_+=" or "}if(i.length>0){switch(i.length){case 1:_+=`an instance of ${i[0]}`;break;case 2:_+=`an instance of ${i[0]} or ${i[1]}`;break;default:{const Y=i.pop();_+=`an instance of ${i.join(", ")}, or ${Y}`}}if($.length>0)_+=" or "}switch($.length){case 0:break;case 1:if($[0].toLowerCase()!==$[0])_+="an ";_+=`${$[0]}`;break;case 2:_+=`one of ${$[0]} or ${$[1]}`;break;default:{const Y=$.pop();_+=`one of ${$.join(", ")}, or ${Y}`}}if(I==null)_+=`. Received ${I}`;else if(typeof I==="function"&&I.name)_+=`. Received function ${I.name}`;else if(typeof I==="object"){var n;if((n=I.constructor)!==null&&n!==void 0&&n.name)_+=`. Received an instance of ${I.constructor.name}`;else{const Y=G(I,{depth:-1});_+=`. Received ${Y}`}}else{let Y=G(I,{colors:!1});if(Y.length>25)Y=`${Y.slice(0,25)}...`;_+=`. Received type ${typeof I} (${Y})`}return _},TypeError),D("ERR_INVALID_ARG_VALUE",(Z,U,I="is invalid")=>{let _=G(U);if(_.length>128)_=_.slice(0,128)+"...";return`The ${Z.includes(".")?"property":"argument"} '${Z}' ${I}. Received ${_}`},TypeError),D("ERR_INVALID_RETURN_VALUE",(Z,U,I)=>{var _;const t=I!==null&&I!==void 0&&(_=I.constructor)!==null&&_!==void 0&&_.name?`instance of ${I.constructor.name}`:`type ${typeof I}`;return`Expected ${Z} to be returned from the "${U}" function but got ${t}.`},TypeError),D("ERR_MISSING_ARGS",(...Z)=>{c(Z.length>0,"At least one arg needs to be specified");let U;const I=Z.length;switch(Z=(Array.isArray(Z)?Z:[Z]).map((_)=>`"${_}"`).join(" or "),I){case 1:U+=`The ${Z[0]} argument`;break;case 2:U+=`The ${Z[0]} and ${Z[1]} arguments`;break;default:{const _=Z.pop();U+=`The ${Z.join(", ")}, and ${_} arguments`}break}return`${U} must be specified`},TypeError),D("ERR_OUT_OF_RANGE",(Z,U,I)=>{c(U,'Missing "range" argument');let _;if(Number.isInteger(I)&&Math.abs(I)>4294967296)_=O(String(I));else if(typeof I==="bigint"){if(_=String(I),I>2n**32n||I<-(2n**32n))_=O(_);_+="n"}else _=G(I);return`The value of "${Z}" is out of range. It must be ${U}. Received ${_}`},RangeError),D("ERR_MULTIPLE_CALLBACK","Callback called multiple times",Error),D("ERR_METHOD_NOT_IMPLEMENTED","The %s method is not implemented",Error),D("ERR_STREAM_ALREADY_FINISHED","Cannot call %s after a stream was finished",Error),D("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable",Error),D("ERR_STREAM_DESTROYED","Cannot call %s after a stream was destroyed",Error),D("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),D("ERR_STREAM_PREMATURE_CLOSE","Premature close",Error),D("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF",Error),D("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event",Error),D("ERR_STREAM_WRITE_AFTER_END","write after end",Error),D("ERR_UNKNOWN_ENCODING","Unknown encoding: %s",TypeError),j.exports={AbortError:P,aggregateTwoErrors:p(E),hideStackFrames:p,codes:k}}}),Cq=Bq({"node_modules/readable-stream/lib/internal/validators.js"(a,j){var{ArrayIsArray:B,ArrayPrototypeIncludes:G,ArrayPrototypeJoin:y,ArrayPrototypeMap:A,NumberIsInteger:M,NumberMAX_SAFE_INTEGER:R,NumberMIN_SAFE_INTEGER:T,NumberParseInt:g,RegExpPrototypeTest:k,String:c,StringPrototypeToUpperCase:O,StringPrototypeTrim:l}=Vq(),{hideStackFrames:D,codes:{ERR_SOCKET_BAD_PORT:p,ERR_INVALID_ARG_TYPE:E,ERR_INVALID_ARG_VALUE:P,ERR_OUT_OF_RANGE:Z,ERR_UNKNOWN_SIGNAL:U}}=Wq(),{normalizeEncoding:I}=Aq(),{isAsyncFunction:_,isArrayBufferView:t}=Aq().types,i={};function $(V){return V===(V|0)}function n(V){return V===V>>>0}var Y=/^[0-7]+$/,K="must be a 32-bit unsigned integer or an octal string";function F(V,h,Q){if(typeof V==="undefined")V=Q;if(typeof V==="string"){if(!k(Y,V))throw new P(h,V,K);V=g(V,8)}return u(V,h,0,4294967295),V}var m=D((V,h,Q=T,H=R)=>{if(typeof V!=="number")throw new E(h,"number",V);if(!M(V))throw new Z(h,"an integer",V);if(VH)throw new Z(h,`>= ${Q} && <= ${H}`,V)}),u=D((V,h,Q=-2147483648,H=2147483647)=>{if(typeof V!=="number")throw new E(h,"number",V);if(!$(V)){if(!M(V))throw new Z(h,"an integer",V);throw new Z(h,`>= ${Q} && <= ${H}`,V)}if(VH)throw new Z(h,`>= ${Q} && <= ${H}`,V)}),J=D((V,h,Q)=>{if(typeof V!=="number")throw new E(h,"number",V);if(!n(V)){if(!M(V))throw new Z(h,"an integer",V);throw new Z(h,`>= ${Q?1:0} && < 4294967296`,V)}if(Q&&V===0)throw new Z(h,">= 1 && < 4294967296",V)});function z(V,h){if(typeof V!=="string")throw new E(h,"string",V)}function w(V,h){if(typeof V!=="number")throw new E(h,"number",V)}var S=D((V,h,Q)=>{if(!G(Q,V)){const L="must be one of: "+y(A(Q,(d)=>typeof d==="string"?`'${d}'`:c(d)),", ");throw new P(h,V,L)}});function N(V,h){if(typeof V!=="boolean")throw new E(h,"boolean",V)}var W=D((V,h,Q)=>{const H=Q==null,L=H?!1:Q.allowArray,d=H?!1:Q.allowFunction;if(!(H?!1:Q.nullable)&&V===null||!L&&B(V)||typeof V!=="object"&&(!d||typeof V!=="function"))throw new E(h,"Object",V)}),b=D((V,h,Q=0)=>{if(!B(V))throw new E(h,"Array",V);if(V.length{if(!t(V))throw new E(h,["Buffer","TypedArray","DataView"],V)});function e(V,h){const Q=I(h),H=V.length;if(Q==="hex"&&H%2!==0)throw new P("encoding",h,`is invalid for data of length ${H}`)}function Hq(V,h="Port",Q=!0){if(typeof V!=="number"&&typeof V!=="string"||typeof V==="string"&&l(V).length===0||+V!==+V>>>0||V>65535||V===0&&!Q)throw new p(h,V,Q);return V|0}var $q=D((V,h)=>{if(V!==void 0&&(V===null||typeof V!=="object"||!("aborted"in V)))throw new E(h,"AbortSignal",V)}),qq=D((V,h)=>{if(typeof V!=="function")throw new E(h,"Function",V)}),Kq=D((V,h)=>{if(typeof V!=="function"||_(V))throw new E(h,"Function",V)}),Qq=D((V,h)=>{if(V!==void 0)throw new E(h,"undefined",V)});j.exports={isInt32:$,isUint32:n,parseFileMode:F,validateArray:b,validateBoolean:N,validateBuffer:s,validateEncoding:e,validateFunction:qq,validateInt32:u,validateInteger:m,validateNumber:w,validateObject:W,validateOneOf:S,validatePlainFunction:Kq,validatePort:Hq,validateSignalName:o,validateString:z,validateUint32:J,validateUndefined:Qq,validateAbortSignal:$q}}}),Eq=Bq({"node_modules/readable-stream/lib/internal/streams/utils.js"(a,j){var{Symbol:B,SymbolAsyncIterator:G,SymbolIterator:y}=Vq(),A=B("kDestroyed"),M=B("kIsErrored"),R=B("kIsReadable"),T=B("kIsDisturbed");function g(J,z=!1){var w;return!!(J&&typeof J.pipe==="function"&&typeof J.on==="function"&&(!z||typeof J.pause==="function"&&typeof J.resume==="function")&&(!J._writableState||((w=J._readableState)===null||w===void 0?void 0:w.readable)!==!1)&&(!J._writableState||J._readableState))}function k(J){var z;return!!(J&&typeof J.write==="function"&&typeof J.on==="function"&&(!J._readableState||((z=J._writableState)===null||z===void 0?void 0:z.writable)!==!1))}function c(J){return!!(J&&typeof J.pipe==="function"&&J._readableState&&typeof J.on==="function"&&typeof J.write==="function")}function O(J){return J&&(J._readableState||J._writableState||typeof J.write==="function"&&typeof J.on==="function"||typeof J.pipe==="function"&&typeof J.on==="function")}function l(J,z){if(J==null)return!1;if(z===!0)return typeof J[G]==="function";if(z===!1)return typeof J[y]==="function";return typeof J[G]==="function"||typeof J[y]==="function"}function D(J){if(!O(J))return null;const{_writableState:z,_readableState:w}=J,S=z||w;return!!(J.destroyed||J[A]||S!==null&&S!==void 0&&S.destroyed)}function p(J){if(!k(J))return null;if(J.writableEnded===!0)return!0;const z=J._writableState;if(z!==null&&z!==void 0&&z.errored)return!1;if(typeof(z===null||z===void 0?void 0:z.ended)!=="boolean")return null;return z.ended}function E(J,z){if(!k(J))return null;if(J.writableFinished===!0)return!0;const w=J._writableState;if(w!==null&&w!==void 0&&w.errored)return!1;if(typeof(w===null||w===void 0?void 0:w.finished)!=="boolean")return null;return!!(w.finished||z===!1&&w.ended===!0&&w.length===0)}function P(J){if(!g(J))return null;if(J.readableEnded===!0)return!0;const z=J._readableState;if(!z||z.errored)return!1;if(typeof(z===null||z===void 0?void 0:z.ended)!=="boolean")return null;return z.ended}function Z(J,z){if(!g(J))return null;const w=J._readableState;if(w!==null&&w!==void 0&&w.errored)return!1;if(typeof(w===null||w===void 0?void 0:w.endEmitted)!=="boolean")return null;return!!(w.endEmitted||z===!1&&w.ended===!0&&w.length===0)}function U(J){if(J&&J[R]!=null)return J[R];if(typeof(J===null||J===void 0?void 0:J.readable)!=="boolean")return null;if(D(J))return!1;return g(J)&&J.readable&&!Z(J)}function I(J){if(typeof(J===null||J===void 0?void 0:J.writable)!=="boolean")return null;if(D(J))return!1;return k(J)&&J.writable&&!p(J)}function _(J,z){if(!O(J))return null;if(D(J))return!0;if((z===null||z===void 0?void 0:z.readable)!==!1&&U(J))return!1;if((z===null||z===void 0?void 0:z.writable)!==!1&&I(J))return!1;return!0}function t(J){var z,w;if(!O(J))return null;if(J.writableErrored)return J.writableErrored;return(z=(w=J._writableState)===null||w===void 0?void 0:w.errored)!==null&&z!==void 0?z:null}function i(J){var z,w;if(!O(J))return null;if(J.readableErrored)return J.readableErrored;return(z=(w=J._readableState)===null||w===void 0?void 0:w.errored)!==null&&z!==void 0?z:null}function $(J){if(!O(J))return null;if(typeof J.closed==="boolean")return J.closed;const{_writableState:z,_readableState:w}=J;if(typeof(z===null||z===void 0?void 0:z.closed)==="boolean"||typeof(w===null||w===void 0?void 0:w.closed)==="boolean")return(z===null||z===void 0?void 0:z.closed)||(w===null||w===void 0?void 0:w.closed);if(typeof J._closed==="boolean"&&n(J))return J._closed;return null}function n(J){return typeof J._closed==="boolean"&&typeof J._defaultKeepAlive==="boolean"&&typeof J._removedConnection==="boolean"&&typeof J._removedContLen==="boolean"}function Y(J){return typeof J._sent100==="boolean"&&n(J)}function K(J){var z;return typeof J._consuming==="boolean"&&typeof J._dumped==="boolean"&&((z=J.req)===null||z===void 0?void 0:z.upgradeOrConnect)===void 0}function F(J){if(!O(J))return null;const{_writableState:z,_readableState:w}=J,S=z||w;return!S&&Y(J)||!!(S&&S.autoDestroy&&S.emitClose&&S.closed===!1)}function m(J){var z;return!!(J&&((z=J[T])!==null&&z!==void 0?z:J.readableDidRead||J.readableAborted))}function u(J){var z,w,S,N,W,b,o,s,e,Hq;return!!(J&&((z=(w=(S=(N=(W=(b=J[M])!==null&&b!==void 0?b:J.readableErrored)!==null&&W!==void 0?W:J.writableErrored)!==null&&N!==void 0?N:(o=J._readableState)===null||o===void 0?void 0:o.errorEmitted)!==null&&S!==void 0?S:(s=J._writableState)===null||s===void 0?void 0:s.errorEmitted)!==null&&w!==void 0?w:(e=J._readableState)===null||e===void 0?void 0:e.errored)!==null&&z!==void 0?z:(Hq=J._writableState)===null||Hq===void 0?void 0:Hq.errored))}j.exports={kDestroyed:A,isDisturbed:m,kIsDisturbed:T,isErrored:u,kIsErrored:M,isReadable:U,kIsReadable:R,isClosed:$,isDestroyed:D,isDuplexNodeStream:c,isFinished:_,isIterable:l,isReadableNodeStream:g,isReadableEnded:P,isReadableFinished:Z,isReadableErrored:i,isNodeStream:O,isWritable:I,isWritableNodeStream:k,isWritableEnded:p,isWritableFinished:E,isWritableErrored:t,isServerRequest:K,isServerResponse:Y,willEmitClose:F}}}),Fq=Bq({"node_modules/readable-stream/lib/internal/streams/end-of-stream.js"(a,j){var{AbortError:B,codes:G}=Wq(),{ERR_INVALID_ARG_TYPE:y,ERR_STREAM_PREMATURE_CLOSE:A}=G,{once:M}=Aq(),{validateAbortSignal:R,validateFunction:T,validateObject:g}=Cq(),{Promise:k}=Vq(),{isClosed:c,isReadable:O,isReadableNodeStream:l,isReadableFinished:D,isReadableErrored:p,isWritable:E,isWritableNodeStream:P,isWritableFinished:Z,isWritableErrored:U,isNodeStream:I,willEmitClose:_}=Eq();function t(Y){return Y.setHeader&&typeof Y.abort==="function"}var i=()=>{};function $(Y,K,F){var m,u;if(arguments.length===2)F=K,K={};else if(K==null)K={};else g(K,"options");T(F,"callback"),R(K.signal,"options.signal"),F=M(F);const J=(m=K.readable)!==null&&m!==void 0?m:l(Y),z=(u=K.writable)!==null&&u!==void 0?u:P(Y);if(!I(Y))throw new y("stream","Stream",Y);const{_writableState:w,_readableState:S}=Y,N=()=>{if(!Y.writable)o()};let W=_(Y)&&l(Y)===J&&P(Y)===z,b=Z(Y,!1);const o=()=>{if(b=!0,Y.destroyed)W=!1;if(W&&(!Y.readable||J))return;if(!J||s)F.call(Y)};let s=D(Y,!1);const e=()=>{if(s=!0,Y.destroyed)W=!1;if(W&&(!Y.writable||z))return;if(!z||b)F.call(Y)},Hq=(V)=>{F.call(Y,V)};let $q=c(Y);const qq=()=>{$q=!0;const V=U(Y)||p(Y);if(V&&typeof V!=="boolean")return F.call(Y,V);if(J&&!s&&l(Y,!0)){if(!D(Y,!1))return F.call(Y,new A)}if(z&&!b){if(!Z(Y,!1))return F.call(Y,new A)}F.call(Y)},Kq=()=>{Y.req.on("finish",o)};if(t(Y)){if(Y.on("complete",o),!W)Y.on("abort",qq);if(Y.req)Kq();else Y.on("request",Kq)}else if(z&&!w)Y.on("end",N),Y.on("close",N);if(!W&&typeof Y.aborted==="boolean")Y.on("aborted",qq);if(Y.on("end",e),Y.on("finish",o),K.error!==!1)Y.on("error",Hq);if(Y.on("close",qq),$q)Xq(qq);else if(w!==null&&w!==void 0&&w.errorEmitted||S!==null&&S!==void 0&&S.errorEmitted){if(!W)Xq(qq)}else if(!J&&(!W||O(Y))&&(b||E(Y)===!1))Xq(qq);else if(!z&&(!W||E(Y))&&(s||O(Y)===!1))Xq(qq);else if(S&&Y.req&&Y.aborted)Xq(qq);const Qq=()=>{if(F=i,Y.removeListener("aborted",qq),Y.removeListener("complete",o),Y.removeListener("abort",qq),Y.removeListener("request",Kq),Y.req)Y.req.removeListener("finish",o);Y.removeListener("end",N),Y.removeListener("close",N),Y.removeListener("finish",o),Y.removeListener("end",e),Y.removeListener("error",Hq),Y.removeListener("close",qq)};if(K.signal&&!$q){const V=()=>{const h=F;Qq(),h.call(Y,new B(void 0,{cause:K.signal.reason}))};if(K.signal.aborted)Xq(V);else{const h=F;F=M((...Q)=>{K.signal.removeEventListener("abort",V),h.apply(Y,Q)}),K.signal.addEventListener("abort",V)}}return Qq}function n(Y,K){return new k((F,m)=>{$(Y,K,(u)=>{if(u)m(u);else F()})})}j.exports=$,j.exports.finished=n}}),XQ=Bq({"node_modules/readable-stream/lib/internal/streams/operators.js"(a,j){var{codes:{ERR_INVALID_ARG_TYPE:B,ERR_MISSING_ARGS:G,ERR_OUT_OF_RANGE:y},AbortError:A}=Wq(),{validateAbortSignal:M,validateInteger:R,validateObject:T}=Cq(),g=Vq().Symbol("kWeak"),{finished:k}=Fq(),{ArrayPrototypePush:c,MathFloor:O,Number:l,NumberIsNaN:D,Promise:p,PromiseReject:E,PromisePrototypeCatch:P,Symbol:Z}=Vq(),U=Z("kEmpty"),I=Z("kEof");function _(N,W){if(typeof N!=="function")throw new B("fn",["Function","AsyncFunction"],N);if(W!=null)T(W,"options");if((W===null||W===void 0?void 0:W.signal)!=null)M(W.signal,"options.signal");let b=1;if((W===null||W===void 0?void 0:W.concurrency)!=null)b=O(W.concurrency);return R(b,"concurrency",1),async function*o(){var s,e;const Hq=new AbortController,$q=this,qq=[],Kq=Hq.signal,Qq={signal:Kq},V=()=>Hq.abort();if(W!==null&&W!==void 0&&(s=W.signal)!==null&&s!==void 0&&s.aborted)V();W===null||W===void 0||(e=W.signal)===null||e===void 0||e.addEventListener("abort",V);let h,Q,H=!1;function L(){H=!0}async function d(){try{for await(let q of $q){var f;if(H)return;if(Kq.aborted)throw new A;try{q=N(q,Qq)}catch(X){q=E(X)}if(q===U)continue;if(typeof((f=q)===null||f===void 0?void 0:f.catch)==="function")q.catch(L);if(qq.push(q),h)h(),h=null;if(!H&&qq.length&&qq.length>=b)await new p((X)=>{Q=X})}qq.push(I)}catch(q){const X=E(q);P(X,L),qq.push(X)}finally{var r;if(H=!0,h)h(),h=null;W===null||W===void 0||(r=W.signal)===null||r===void 0||r.removeEventListener("abort",V)}}d();try{while(!0){while(qq.length>0){const f=await qq[0];if(f===I)return;if(Kq.aborted)throw new A;if(f!==U)yield f;if(qq.shift(),Q)Q(),Q=null}await new p((f)=>{h=f})}}finally{if(Hq.abort(),H=!0,Q)Q(),Q=null}}.call(this)}function t(N=void 0){if(N!=null)T(N,"options");if((N===null||N===void 0?void 0:N.signal)!=null)M(N.signal,"options.signal");return async function*W(){let b=0;for await(let s of this){var o;if(N!==null&&N!==void 0&&(o=N.signal)!==null&&o!==void 0&&o.aborted)throw new A({cause:N.signal.reason});yield[b++,s]}}.call(this)}async function i(N,W=void 0){for await(let b of K.call(this,N,W))return!0;return!1}async function $(N,W=void 0){if(typeof N!=="function")throw new B("fn",["Function","AsyncFunction"],N);return!await i.call(this,async(...b)=>{return!await N(...b)},W)}async function n(N,W){for await(let b of K.call(this,N,W))return b;return}async function Y(N,W){if(typeof N!=="function")throw new B("fn",["Function","AsyncFunction"],N);async function b(o,s){return await N(o,s),U}for await(let o of _.call(this,b,W));}function K(N,W){if(typeof N!=="function")throw new B("fn",["Function","AsyncFunction"],N);async function b(o,s){if(await N(o,s))return o;return U}return _.call(this,b,W)}var F=class extends G{constructor(){super("reduce");this.message="Reduce of an empty stream requires an initial value"}};async function m(N,W,b){var o;if(typeof N!=="function")throw new B("reducer",["Function","AsyncFunction"],N);if(b!=null)T(b,"options");if((b===null||b===void 0?void 0:b.signal)!=null)M(b.signal,"options.signal");let s=arguments.length>1;if(b!==null&&b!==void 0&&(o=b.signal)!==null&&o!==void 0&&o.aborted){const Kq=new A(void 0,{cause:b.signal.reason});throw this.once("error",()=>{}),await k(this.destroy(Kq)),Kq}const e=new AbortController,Hq=e.signal;if(b!==null&&b!==void 0&&b.signal){const Kq={once:!0,[g]:this};b.signal.addEventListener("abort",()=>e.abort(),Kq)}let $q=!1;try{for await(let Kq of this){var qq;if($q=!0,b!==null&&b!==void 0&&(qq=b.signal)!==null&&qq!==void 0&&qq.aborted)throw new A;if(!s)W=Kq,s=!0;else W=await N(W,Kq,{signal:Hq})}if(!$q&&!s)throw new F}finally{e.abort()}return W}async function u(N){if(N!=null)T(N,"options");if((N===null||N===void 0?void 0:N.signal)!=null)M(N.signal,"options.signal");const W=[];for await(let o of this){var b;if(N!==null&&N!==void 0&&(b=N.signal)!==null&&b!==void 0&&b.aborted)throw new A(void 0,{cause:N.signal.reason});c(W,o)}return W}function J(N,W){const b=_.call(this,N,W);return async function*o(){for await(let s of b)yield*s}.call(this)}function z(N){if(N=l(N),D(N))return 0;if(N<0)throw new y("number",">= 0",N);return N}function w(N,W=void 0){if(W!=null)T(W,"options");if((W===null||W===void 0?void 0:W.signal)!=null)M(W.signal,"options.signal");return N=z(N),async function*b(){var o;if(W!==null&&W!==void 0&&(o=W.signal)!==null&&o!==void 0&&o.aborted)throw new A;for await(let e of this){var s;if(W!==null&&W!==void 0&&(s=W.signal)!==null&&s!==void 0&&s.aborted)throw new A;if(N--<=0)yield e}}.call(this)}function S(N,W=void 0){if(W!=null)T(W,"options");if((W===null||W===void 0?void 0:W.signal)!=null)M(W.signal,"options.signal");return N=z(N),async function*b(){var o;if(W!==null&&W!==void 0&&(o=W.signal)!==null&&o!==void 0&&o.aborted)throw new A;for await(let e of this){var s;if(W!==null&&W!==void 0&&(s=W.signal)!==null&&s!==void 0&&s.aborted)throw new A;if(N-- >0)yield e;else return}}.call(this)}j.exports.streamReturningOperators={asIndexedPairs:t,drop:w,filter:K,flatMap:J,map:_,take:S},j.exports.promiseReturningOperators={every:$,forEach:Y,reduce:m,toArray:u,some:i,find:n}}}),Tq=Bq({"node_modules/readable-stream/lib/internal/streams/destroy.js"(a,j){var{aggregateTwoErrors:B,codes:{ERR_MULTIPLE_CALLBACK:G},AbortError:y}=Wq(),{Symbol:A}=Vq(),{kDestroyed:M,isDestroyed:R,isFinished:T,isServerRequest:g}=Eq(),k="#kDestroy",c="#kConstruct";function O(K,F,m){if(K){if(K.stack,F&&!F.errored)F.errored=K;if(m&&!m.errored)m.errored=K}}function l(K,F){const m=this._readableState,u=this._writableState,J=u||m;if(u&&u.destroyed||m&&m.destroyed){if(typeof F==="function")F();return this}if(O(K,u,m),u)u.destroyed=!0;if(m)m.destroyed=!0;if(!J.constructed)this.once(k,(z)=>{D(this,B(z,K),F)});else D(this,K,F);return this}function D(K,F,m){let u=!1;function J(z){if(u)return;u=!0;const{_readableState:w,_writableState:S}=K;if(O(z,S,w),S)S.closed=!0;if(w)w.closed=!0;if(typeof m==="function")m(z);if(z)Xq(p,K,z);else Xq(E,K)}try{K._destroy(F||null,J)}catch(z){J(z)}}function p(K,F){P(K,F),E(K)}function E(K){const{_readableState:F,_writableState:m}=K;if(m)m.closeEmitted=!0;if(F)F.closeEmitted=!0;if(m&&m.emitClose||F&&F.emitClose)K.emit("close")}function P(K,F){const m=K?._readableState,u=K?._writableState;if(u?.errorEmitted||m?.errorEmitted)return;if(u)u.errorEmitted=!0;if(m)m.errorEmitted=!0;K?.emit?.("error",F)}function Z(){const K=this._readableState,F=this._writableState;if(K)K.constructed=!0,K.closed=!1,K.closeEmitted=!1,K.destroyed=!1,K.errored=null,K.errorEmitted=!1,K.reading=!1,K.ended=K.readable===!1,K.endEmitted=K.readable===!1;if(F)F.constructed=!0,F.destroyed=!1,F.closed=!1,F.closeEmitted=!1,F.errored=null,F.errorEmitted=!1,F.finalCalled=!1,F.prefinished=!1,F.ended=F.writable===!1,F.ending=F.writable===!1,F.finished=F.writable===!1}function U(K,F,m){const u=K?._readableState,J=K?._writableState;if(J&&J.destroyed||u&&u.destroyed)return this;if(u&&u.autoDestroy||J&&J.autoDestroy)K.destroy(F);else if(F){if(Error.captureStackTrace(F),J&&!J.errored)J.errored=F;if(u&&!u.errored)u.errored=F;if(m)Xq(P,K,F);else P(K,F)}}function I(K,F){if(typeof K._construct!=="function")return;const{_readableState:m,_writableState:u}=K;if(m)m.constructed=!1;if(u)u.constructed=!1;if(K.once(c,F),K.listenerCount(c)>1)return;Xq(_,K)}function _(K){let F=!1;function m(u){if(F){U(K,u!==null&&u!==void 0?u:new G);return}F=!0;const{_readableState:J,_writableState:z}=K,w=z||J;if(J)J.constructed=!0;if(z)z.constructed=!0;if(w.destroyed)K.emit(k,u);else if(u)U(K,u,!0);else Xq(t,K)}try{K._construct(m)}catch(u){m(u)}}function t(K){K.emit(c)}function i(K){return K&&K.setHeader&&typeof K.abort==="function"}function $(K){K.emit("close")}function n(K,F){K.emit("error",F),Xq($,K)}function Y(K,F){if(!K||R(K))return;if(!F&&!T(K))F=new y;if(g(K))K.socket=null,K.destroy(F);else if(i(K))K.abort();else if(i(K.req))K.req.abort();else if(typeof K.destroy==="function")K.destroy(F);else if(typeof K.close==="function")K.close();else if(F)Xq(n,K);else Xq($,K);if(!K.destroyed)K[M]=!0}j.exports={construct:I,destroyer:Y,destroy:l,undestroy:Z,errorOrDestroy:U}}}),Rq=Bq({"node_modules/readable-stream/lib/internal/streams/legacy.js"(a,j){var{ArrayIsArray:B,ObjectSetPrototypeOf:G}=Vq();function y(M){if(!(this instanceof y))return new y(M);Iq.call(this,M)}G(y.prototype,Iq.prototype),G(y,Iq),y.prototype.pipe=function(M,R){const T=this;function g(E){if(M.writable&&M.write(E)===!1&&T.pause)T.pause()}T.on("data",g);function k(){if(T.readable&&T.resume)T.resume()}if(M.on("drain",k),!M._isStdio&&(!R||R.end!==!1))T.on("end",O),T.on("close",l);let c=!1;function O(){if(c)return;c=!0,M.end()}function l(){if(c)return;if(c=!0,typeof M.destroy==="function")M.destroy()}function D(E){if(p(),Iq.listenerCount(this,"error")===0)this.emit("error",E)}A(T,"error",D),A(M,"error",D);function p(){T.removeListener("data",g),M.removeListener("drain",k),T.removeListener("end",O),T.removeListener("close",l),T.removeListener("error",D),M.removeListener("error",D),T.removeListener("end",p),T.removeListener("close",p),M.removeListener("close",p)}return T.on("end",p),T.on("close",p),M.on("close",p),M.emit("pipe",T),M};function A(M,R,T){if(typeof M.prependListener==="function")return M.prependListener(R,T);if(!M._events||!M._events[R])M.on(R,T);else if(B(M._events[R]))M._events[R].unshift(T);else M._events[R]=[T,M._events[R]]}j.exports={Stream:y,prependListener:A}}}),Sq=Bq({"node_modules/readable-stream/lib/internal/streams/add-abort-signal.js"(a,j){var{AbortError:B,codes:G}=Wq(),y=Fq(),{ERR_INVALID_ARG_TYPE:A}=G,M=(T,g)=>{if(typeof T!=="object"||!("aborted"in T))throw new A(g,"AbortSignal",T)};function R(T){return!!(T&&typeof T.pipe==="function")}j.exports.addAbortSignal=function T(g,k){if(M(g,"signal"),!R(k))throw new A("stream","stream.Stream",k);return j.exports.addAbortSignalNoValidate(g,k)},j.exports.addAbortSignalNoValidate=function(T,g){if(typeof T!=="object"||!("aborted"in T))return g;const k=()=>{g.destroy(new B(void 0,{cause:T.reason}))};if(T.aborted)k();else T.addEventListener("abort",k),y(g,()=>T.removeEventListener("abort",k));return g}}}),JQ=Bq({"node_modules/readable-stream/lib/internal/streams/state.js"(a,j){var{MathFloor:B,NumberIsInteger:G}=Vq(),{ERR_INVALID_ARG_VALUE:y}=Wq().codes;function A(T,g,k){return T.highWaterMark!=null?T.highWaterMark:g?T[k]:null}function M(T){return T?16:16384}function R(T,g,k,c){const O=A(g,c,k);if(O!=null){if(!G(O)||O<0){const l=c?`options.${k}`:"options.highWaterMark";throw new y(l,O)}return B(O)}return M(T.objectMode)}j.exports={getHighWaterMark:R,getDefaultHighWaterMark:M}}}),hq=Bq({"node_modules/readable-stream/lib/internal/streams/from.js"(a,j){var{PromisePrototypeThen:B,SymbolAsyncIterator:G,SymbolIterator:y}=Vq(),{ERR_INVALID_ARG_TYPE:A,ERR_STREAM_NULL_VALUES:M}=Wq().codes;function R(T,g,k){let c;if(typeof g==="string"||g instanceof Buffer)return new T({objectMode:!0,...k,read(){this.push(g),this.push(null)}});let O;if(g&&g[G])O=!0,c=g[G]();else if(g&&g[y])O=!1,c=g[y]();else throw new A("iterable",["Iterable"],g);const l=new T({objectMode:!0,highWaterMark:1,...k});let D=!1;l._read=function(){if(!D)D=!0,E()},l._destroy=function(P,Z){B(p(P),()=>Xq(Z,P),(U)=>Xq(Z,U||P))};async function p(P){const Z=P!==void 0&&P!==null,U=typeof c.throw==="function";if(Z&&U){const{value:I,done:_}=await c.throw(P);if(await I,_)return}if(typeof c.return==="function"){const{value:I}=await c.return();await I}}async function E(){for(;;){try{const{value:P,done:Z}=O?await c.next():c.next();if(Z)l.push(null);else{const U=P&&typeof P.then==="function"?await P:P;if(U===null)throw D=!1,new M;else if(l.push(U))continue;else D=!1}}catch(P){l.destroy(P)}break}}return l}j.exports=R}}),pq,uq,_q=Bq({"node_modules/readable-stream/lib/internal/streams/readable.js"(a,j){var{ArrayPrototypeIndexOf:B,NumberIsInteger:G,NumberIsNaN:y,NumberParseInt:A,ObjectDefineProperties:M,ObjectKeys:R,ObjectSetPrototypeOf:T,Promise:g,SafeSet:k,SymbolAsyncIterator:c,Symbol:O}=Vq(),l=globalThis[Symbol.for("Bun.lazy")]("bun:stream").ReadableState,{Stream:D,prependListener:p}=Rq();function E(q){if(!(this instanceof E))return new E(q);const X=this instanceof Mq();if(this._readableState=new l(q,this,X),q){const{read:C,destroy:x,construct:v,signal:Jq}=q;if(typeof C==="function")this._read=C;if(typeof x==="function")this._destroy=x;if(typeof v==="function")this._construct=v;if(Jq&&!X)U(Jq,this)}D.call(this,q),K.construct(this,()=>{if(this._readableState.needReadable)n(this,this._readableState)})}T(E.prototype,D.prototype),T(E,D),E.prototype.on=function(q,X){const C=D.prototype.on.call(this,q,X),x=this._readableState;if(q==="data"){if(x.readableListening=this.listenerCount("readable")>0,x.flowing!==!1)this.resume()}else if(q==="readable"){if(!x.endEmitted&&!x.readableListening){if(x.readableListening=x.needReadable=!0,x.flowing=!1,x.emittedReadable=!1,x.length)Y(this,x);else if(!x.reading)Xq(Qq,this)}else if(x.endEmitted);}return C};class P extends E{#q;#Q;#X;#H;constructor(q,X){const{objectMode:C,highWaterMark:x,encoding:v,signal:Jq}=q;super({objectMode:C,highWaterMark:x,encoding:v,signal:Jq});this.#X=[],this.#q=void 0,this.#H=X,this.#Q=!1}#J(){var q=this.#X,X=0,C=q.length;for(;X0)this.#X=[];return!1}#K(q){q.releaseLock(),this.#q=void 0,this.#Q=!0,this.push(null);return}async _read(){var q=this.#H,X=this.#q;if(q)X=this.#q=q.getReader(),this.#H=void 0;else if(this.#J())return;var C;try{do{var x=!1,v;const Jq=X.readMany();if(xq(Jq)){if({done:x,value:v}=await Jq,this.#Q){this.#X.push(...v);return}}else({done:x,value:v}=Jq);if(x){this.#K(X);return}if(!this.push(v[0])){this.#X=v.slice(1);return}for(let Zq=1,Oq=v.length;Zq{this.#Q=!0,X(q)});return}try{X(q)}catch(x){globalThis.reportError(x)}}}uq=P;function Z(q,X={}){if(!tq(q))throw new m("readableStream","ReadableStream",q);S(X,"options");const{highWaterMark:C,encoding:x,objectMode:v=!1,signal:Jq}=X;if(x!==void 0&&!Buffer.isEncoding(x))throw new QQ(x,"options.encoding");return eq(v,"options.objectMode"),zQ(E,q,X)||new P({highWaterMark:C,encoding:x,objectMode:v,signal:Jq},q)}j.exports=E,pq=Z;var{addAbortSignal:U}=Sq(),I=Fq();const{maybeReadMore:_,resume:t,emitReadable:i,onEofChunk:$}=globalThis[Symbol.for("Bun.lazy")]("bun:stream");function n(q,X){process.nextTick(_,q,X)}function Y(q,X){i(q,X)}var K=Tq(),{aggregateTwoErrors:F,codes:{ERR_INVALID_ARG_TYPE:m,ERR_METHOD_NOT_IMPLEMENTED:u,ERR_OUT_OF_RANGE:J,ERR_STREAM_PUSH_AFTER_EOF:z,ERR_STREAM_UNSHIFT_AFTER_END_EVENT:w}}=Wq(),{validateObject:S}=Cq(),N=hq(),W=()=>{},{errorOrDestroy:b}=K;E.prototype.destroy=K.destroy,E.prototype._undestroy=K.undestroy,E.prototype._destroy=function(q,X){X(q)},E.prototype[Iq.captureRejectionSymbol]=function(q){this.destroy(q)},E.prototype.push=function(q,X){return o(this,q,X,!1)},E.prototype.unshift=function(q,X){return o(this,q,X,!0)};function o(q,X,C,x){const v=q._readableState;let Jq;if(!v.objectMode){if(typeof X==="string"){if(C=C||v.defaultEncoding,v.encoding!==C)if(x&&v.encoding)X=Buffer.from(X,C).toString(v.encoding);else X=Buffer.from(X,C),C=""}else if(X instanceof Buffer)C="";else if(D._isUint8Array(X)){if(x||!v.decoder)X=D._uint8ArrayToBuffer(X);C=""}else if(X!=null)Jq=new m("chunk",["string","Buffer","Uint8Array"],X)}if(Jq)b(q,Jq);else if(X===null)v.reading=!1,$(q,v);else if(v.objectMode||X&&X.length>0)if(x)if(v.endEmitted)b(q,new w);else if(v.destroyed||v.errored)return!1;else s(q,v,X,!0);else if(v.ended)b(q,new z);else if(v.destroyed||v.errored)return!1;else if(v.reading=!1,v.decoder&&!C)if(X=v.decoder.write(X),v.objectMode||X.length!==0)s(q,v,X,!1);else n(q,v);else s(q,v,X,!1);else if(!x)v.reading=!1,n(q,v);return!v.ended&&(v.length0){if(X.multiAwaitDrain)X.awaitDrainWriters.clear();else X.awaitDrainWriters=null;X.dataEmitted=!0,q.emit("data",C)}else{if(X.length+=X.objectMode?1:C.length,x)X.buffer.unshift(C);else X.buffer.push(C);if(X.needReadable)Y(q,X)}n(q,X)}E.prototype.isPaused=function(){const q=this._readableState;return q.paused===!0||q.flowing===!1},E.prototype.setEncoding=function(q){const X=new aq(q);this._readableState.decoder=X,this._readableState.encoding=this._readableState.decoder.encoding;const C=this._readableState.buffer;let x="";for(let v=C.length;v>0;v--)x+=X.write(C.shift());if(x!=="")C.push(x);return this._readableState.length=x.length,this};var e=1073741824;function Hq(q){if(q>e)throw new J("size","<= 1GiB",q);else q--,q|=q>>>1,q|=q>>>2,q|=q>>>4,q|=q>>>8,q|=q>>>16,q++;return q}function $q(q,X){if(q<=0||X.length===0&&X.ended)return 0;if(X.objectMode)return 1;if(y(q)){if(X.flowing&&X.length)return X.buffer.first().length;return X.length}if(q<=X.length)return q;return X.ended?X.length:0}E.prototype.read=function(q){if(!G(q))q=A(q,10);const X=this._readableState,C=q;if(q>X.highWaterMark)X.highWaterMark=Hq(q);if(q!==0)X.emittedReadable=!1;if(q===0&&X.needReadable&&((X.highWaterMark!==0?X.length>=X.highWaterMark:X.length>0)||X.ended)){if(X.length===0&&X.ended)H(this);else Y(this,X);return null}if(q=$q(q,X),q===0&&X.ended){if(X.length===0)H(this);return null}let x=X.needReadable;if(X.length===0||X.length-q0)Jq=Q(q,X);else Jq=null;if(Jq===null)X.needReadable=X.length<=X.highWaterMark,q=0;else if(X.length-=q,X.multiAwaitDrain)X.awaitDrainWriters.clear();else X.awaitDrainWriters=null;if(X.length===0){if(!X.ended)X.needReadable=!0;if(C!==q&&X.ended)H(this)}if(Jq!==null&&!X.errorEmitted&&!X.closeEmitted)X.dataEmitted=!0,this.emit("data",Jq);return Jq},E.prototype._read=function(q){throw new u("_read()")},E.prototype.pipe=function(q,X){const C=this,x=this._readableState;if(x.pipes.length===1){if(!x.multiAwaitDrain)x.multiAwaitDrain=!0,x.awaitDrainWriters=new k(x.awaitDrainWriters?[x.awaitDrainWriters]:[])}x.pipes.push(q);const Jq=(!X||X.end!==!1)&&q!==process.stdout&&q!==process.stderr?Oq:Pq;if(x.endEmitted)Xq(Jq);else C.once("end",Jq);q.on("unpipe",Zq);function Zq(jq,Nq){if(jq===C){if(Nq&&Nq.hasUnpiped===!1)Nq.hasUnpiped=!0,nq()}}function Oq(){q.end()}let Lq,kq=!1;function nq(){if(q.removeListener("close",wq),q.removeListener("finish",vq),Lq)q.removeListener("drain",Lq);if(q.removeListener("error",Dq),q.removeListener("unpipe",Zq),C.removeListener("end",Oq),C.removeListener("end",Pq),C.removeListener("data",yq),kq=!0,Lq&&x.awaitDrainWriters&&(!q._writableState||q._writableState.needDrain))Lq()}function fq(){if(!kq){if(x.pipes.length===1&&x.pipes[0]===q)x.awaitDrainWriters=q,x.multiAwaitDrain=!1;else if(x.pipes.length>1&&x.pipes.includes(q))x.awaitDrainWriters.add(q);C.pause()}if(!Lq)Lq=qq(C,q),q.on("drain",Lq)}C.on("data",yq);function yq(jq){if(q.write(jq)===!1)fq()}function Dq(jq){if(Gq("onerror",jq),Pq(),q.removeListener("error",Dq),q.listenerCount("error")===0){const Nq=q._writableState||q._readableState;if(Nq&&!Nq.errorEmitted)b(q,jq);else q.emit("error",jq)}}p(q,"error",Dq);function wq(){q.removeListener("finish",vq),Pq()}q.once("close",wq);function vq(){Gq("onfinish"),q.removeListener("close",wq),Pq()}q.once("finish",vq);function Pq(){Gq("unpipe"),C.unpipe(q)}if(q.emit("pipe",C),q.writableNeedDrain===!0){if(x.flowing)fq()}else if(!x.flowing)Gq("pipe resume"),C.resume();return q};function qq(q,X){return function C(){const x=q._readableState;if(x.awaitDrainWriters===X)Gq("pipeOnDrain",1),x.awaitDrainWriters=null;else if(x.multiAwaitDrain)Gq("pipeOnDrain",x.awaitDrainWriters.size),x.awaitDrainWriters.delete(X);if((!x.awaitDrainWriters||x.awaitDrainWriters.size===0)&&q.listenerCount("data"))q.resume()}}E.prototype.unpipe=function(q){const X=this._readableState,C={hasUnpiped:!1};if(X.pipes.length===0)return this;if(!q){const v=X.pipes;X.pipes=[],this.pause();for(let Jq=0;Jq0,X.resumeScheduled&&X.paused===!1)X.flowing=!0;else if(q.listenerCount("data")>0)q.resume();else if(!X.readableListening)X.flowing=null}function Qq(q){q.read(0)}E.prototype.resume=function(){const q=this._readableState;if(!q.flowing)q.flowing=!q.readableListening,t(this,q);return q.paused=!1,this},E.prototype.pause=function(){if(this._readableState.flowing!==!1)this._readableState.flowing=!1,this.emit("pause");return this._readableState.paused=!0,this},E.prototype.wrap=function(q){let X=!1;q.on("data",(x)=>{if(!this.push(x)&&q.pause)X=!0,q.pause()}),q.on("end",()=>{this.push(null)}),q.on("error",(x)=>{b(this,x)}),q.on("close",()=>{this.destroy()}),q.on("destroy",()=>{this.destroy()}),this._read=()=>{if(X&&q.resume)X=!1,q.resume()};const C=R(q);for(let x=1;x{v=Zq?F(v,Zq):null,C(),C=W});try{while(!0){const Zq=q.destroyed?null:q.read();if(Zq!==null)yield Zq;else if(v)throw v;else if(v===null)return;else await new g(x)}}catch(Zq){throw v=F(v,Zq),v}finally{if((v||(X===null||X===void 0?void 0:X.destroyOnReturn)!==!1)&&(v===void 0||q._readableState.autoDestroy))K.destroyer(q,null);else q.off("readable",x),Jq()}}M(E.prototype,{readable:{get(){const q=this._readableState;return!!q&&q.readable!==!1&&!q.destroyed&&!q.errorEmitted&&!q.endEmitted},set(q){if(this._readableState)this._readableState.readable=!!q}},readableDidRead:{enumerable:!1,get:function(){return this._readableState.dataEmitted}},readableAborted:{enumerable:!1,get:function(){return!!(this._readableState.readable!==!1&&(this._readableState.destroyed||this._readableState.errored)&&!this._readableState.endEmitted)}},readableHighWaterMark:{enumerable:!1,get:function(){return this._readableState.highWaterMark}},readableBuffer:{enumerable:!1,get:function(){return this._readableState&&this._readableState.buffer}},readableFlowing:{enumerable:!1,get:function(){return this._readableState.flowing},set:function(q){if(this._readableState)this._readableState.flowing=q}},readableLength:{enumerable:!1,get(){return this._readableState.length}},readableObjectMode:{enumerable:!1,get(){return this._readableState?this._readableState.objectMode:!1}},readableEncoding:{enumerable:!1,get(){return this._readableState?this._readableState.encoding:null}},errored:{enumerable:!1,get(){return this._readableState?this._readableState.errored:null}},closed:{get(){return this._readableState?this._readableState.closed:!1}},destroyed:{enumerable:!1,get(){return this._readableState?this._readableState.destroyed:!1},set(q){if(!this._readableState)return;this._readableState.destroyed=q}},readableEnded:{enumerable:!1,get(){return this._readableState?this._readableState.endEmitted:!1}}}),E._fromList=Q;function Q(q,X){if(X.length===0)return null;let C;if(X.objectMode)C=X.buffer.shift();else if(!q||q>=X.length){if(X.decoder)C=X.buffer.join("");else if(X.buffer.length===1)C=X.buffer.first();else C=X.buffer.concat(X.length);X.buffer.clear()}else C=X.buffer.consume(q,X.decoder);return C}function H(q){const X=q._readableState;if(!X.endEmitted)X.ended=!0,Xq(L,X,q)}function L(q,X){if(!q.errored&&!q.closeEmitted&&!q.endEmitted&&q.length===0){if(q.endEmitted=!0,X.emit("end"),X.writable&&X.allowHalfOpen===!1)Xq(d,X);else if(q.autoDestroy){const C=X._writableState;if(!C||C.autoDestroy&&(C.finished||C.writable===!1))X.destroy()}}}function d(q){if(q.writable&&!q.writableEnded&&!q.destroyed)q.end()}E.from=function(q,X){return N(E,q,X)};var f={newStreamReadableFromReadableStream:Z};function r(){if(f===void 0)f={};return f}E.fromWeb=function(q,X){return r().newStreamReadableFromReadableStream(q,X)},E.toWeb=function(q){return r().newReadableStreamFromStreamReadable(q)},E.wrap=function(q,X){var C,x;return new E({objectMode:(C=(x=q.readableObjectMode)!==null&&x!==void 0?x:q.objectMode)!==null&&C!==void 0?C:!0,...X,destroy(v,Jq){K.destroyer(q,v),Jq(v)}}).wrap(q)}}}),bq=Bq({"node_modules/readable-stream/lib/internal/streams/writable.js"(a,j){var{ArrayPrototypeSlice:B,Error:G,FunctionPrototypeSymbolHasInstance:y,ObjectDefineProperty:A,ObjectDefineProperties:M,ObjectSetPrototypeOf:R,StringPrototypeToLowerCase:T,Symbol:g,SymbolHasInstance:k}=Vq(),c=Rq().Stream,O=Tq(),{addAbortSignal:l}=Sq(),{getHighWaterMark:D,getDefaultHighWaterMark:p}=JQ(),{ERR_INVALID_ARG_TYPE:E,ERR_METHOD_NOT_IMPLEMENTED:P,ERR_MULTIPLE_CALLBACK:Z,ERR_STREAM_CANNOT_PIPE:U,ERR_STREAM_DESTROYED:I,ERR_STREAM_ALREADY_FINISHED:_,ERR_STREAM_NULL_VALUES:t,ERR_STREAM_WRITE_AFTER_END:i,ERR_UNKNOWN_ENCODING:$}=Wq().codes,{errorOrDestroy:n}=O;function Y(Q={}){const H=this instanceof Mq();if(!H&&!y(Y,this))return new Y(Q);if(this._writableState=new m(Q,this,H),Q){if(typeof Q.write==="function")this._write=Q.write;if(typeof Q.writev==="function")this._writev=Q.writev;if(typeof Q.destroy==="function")this._destroy=Q.destroy;if(typeof Q.final==="function")this._final=Q.final;if(typeof Q.construct==="function")this._construct=Q.construct;if(Q.signal)l(Q.signal,this)}c.call(this,Q),O.construct(this,()=>{const L=this._writableState;if(!L.writing)s(this,L);qq(this,L)})}R(Y.prototype,c.prototype),R(Y,c),j.exports=Y;function K(){}var F=g("kOnFinished");function m(Q,H,L){if(typeof L!=="boolean")L=H instanceof Mq();if(this.objectMode=!!(Q&&Q.objectMode),L)this.objectMode=this.objectMode||!!(Q&&Q.writableObjectMode);this.highWaterMark=Q?D(this,Q,"writableHighWaterMark",L):p(!1),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;const d=!!(Q&&Q.decodeStrings===!1);this.decodeStrings=!d,this.defaultEncoding=Q&&Q.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=N.bind(void 0,H),this.writecb=null,this.writelen=0,this.afterWriteTickInfo=null,u(this),this.pendingcb=0,this.constructed=!0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=!Q||Q.emitClose!==!1,this.autoDestroy=!Q||Q.autoDestroy!==!1,this.errored=null,this.closed=!1,this.closeEmitted=!1,this[F]=[]}function u(Q){Q.buffered=[],Q.bufferedIndex=0,Q.allBuffers=!0,Q.allNoop=!0}m.prototype.getBuffer=function Q(){return B(this.buffered,this.bufferedIndex)},A(m.prototype,"bufferedRequestCount",{get(){return this.buffered.length-this.bufferedIndex}}),A(Y,k,{value:function(Q){if(y(this,Q))return!0;if(this!==Y)return!1;return Q&&Q._writableState instanceof m}}),Y.prototype.pipe=function(){n(this,new U)};function J(Q,H,L,d){const f=Q._writableState;if(typeof L==="function")d=L,L=f.defaultEncoding;else{if(!L)L=f.defaultEncoding;else if(L!=="buffer"&&!Buffer.isEncoding(L))throw new $(L);if(typeof d!=="function")d=K}if(H===null)throw new t;else if(!f.objectMode)if(typeof H==="string"){if(f.decodeStrings!==!1)H=Buffer.from(H,L),L="buffer"}else if(H instanceof Buffer)L="buffer";else if(c._isUint8Array(H))H=c._uint8ArrayToBuffer(H),L="buffer";else throw new E("chunk",["string","Buffer","Uint8Array"],H);let r;if(f.ending)r=new i;else if(f.destroyed)r=new I("write");if(r)return Xq(d,r),n(Q,r,!0),r;return f.pendingcb++,z(Q,f,H,L,d)}Y.prototype.write=function(Q,H,L){return J(this,Q,H,L)===!0},Y.prototype.cork=function(){this._writableState.corked++},Y.prototype.uncork=function(){const Q=this._writableState;if(Q.corked){if(Q.corked--,!Q.writing)s(this,Q)}},Y.prototype.setDefaultEncoding=function Q(H){if(typeof H==="string")H=T(H);if(!Buffer.isEncoding(H))throw new $(H);return this._writableState.defaultEncoding=H,this};function z(Q,H,L,d,f){const r=H.objectMode?1:L.length;H.length+=r;const q=H.lengthL.bufferedIndex)s(Q,L);if(d)if(L.afterWriteTickInfo!==null&&L.afterWriteTickInfo.cb===f)L.afterWriteTickInfo.count++;else L.afterWriteTickInfo={count:1,cb:f,stream:Q,state:L},Xq(W,L.afterWriteTickInfo);else b(Q,L,1,f)}}function W({stream:Q,state:H,count:L,cb:d}){return H.afterWriteTickInfo=null,b(Q,H,L,d)}function b(Q,H,L,d){if(!H.ending&&!Q.destroyed&&H.length===0&&H.needDrain)H.needDrain=!1,Q.emit("drain");while(L-- >0)H.pendingcb--,d();if(H.destroyed)o(H);qq(Q,H)}function o(Q){if(Q.writing)return;for(let f=Q.bufferedIndex;f1&&Q._writev){H.pendingcb-=r-1;const X=H.allNoop?K:(x)=>{for(let v=q;v256)L.splice(0,q),H.bufferedIndex=0;else H.bufferedIndex=q}H.bufferProcessing=!1}Y.prototype._write=function(Q,H,L){if(this._writev)this._writev([{chunk:Q,encoding:H}],L);else throw new P("_write()")},Y.prototype._writev=null,Y.prototype.end=function(Q,H,L,d=!1){const f=this._writableState;if(typeof Q==="function")L=Q,Q=null,H=null;else if(typeof H==="function")L=H,H=null;let r;if(Q!==null&&Q!==void 0){let q;if(!d)q=J(this,Q,H);else q=this.write(Q,H);if(q instanceof G)r=q}if(f.corked)f.corked=1,this.uncork();if(r)this.emit("error",r);else if(!f.errored&&!f.ending)f.ending=!0,qq(this,f,!0),f.ended=!0;else if(f.finished)r=new _("end");else if(f.destroyed)r=new I("end");if(typeof L==="function")if(r||f.finished)Xq(L,r);else f[F].push(L);return this};function e(Q,H){var L=Q.ending&&!Q.destroyed&&Q.constructed&&Q.length===0&&!Q.errored&&Q.buffered.length===0&&!Q.finished&&!Q.writing&&!Q.errorEmitted&&!Q.closeEmitted;return Gq("needFinish",L,H),L}function Hq(Q,H){let L=!1;function d(f){if(L){n(Q,f!==null&&f!==void 0?f:Z());return}if(L=!0,H.pendingcb--,f){const r=H[F].splice(0);for(let q=0;q{if(e(f))Kq(d,f);else f.pendingcb--},Q,H);else if(e(H))H.pendingcb++,Kq(Q,H)}}function Kq(Q,H){H.pendingcb--,H.finished=!0;const L=H[F].splice(0);for(let d=0;d{if(S!=null)throw new O("nully","body",S)},(S)=>{l(z,S)});return z=new I({objectMode:!0,readable:!1,write:F,final(S){m(async()=>{try{await w,Xq(S,null)}catch(N){Xq(S,N)}})},destroy:u})}throw new O("Iterable, AsyncIterable or AsyncFunction",n,K)}if(Z($))return i($.arrayBuffer());if(y($))return P(I,$,{objectMode:!0,writable:!1});if(typeof($===null||$===void 0?void 0:$.writable)==="object"||typeof($===null||$===void 0?void 0:$.readable)==="object"){const K=$!==null&&$!==void 0&&$.readable?M($===null||$===void 0?void 0:$.readable)?$===null||$===void 0?void 0:$.readable:i($.readable):void 0,F=$!==null&&$!==void 0&&$.writable?R($===null||$===void 0?void 0:$.writable)?$===null||$===void 0?void 0:$.writable:i($.writable):void 0;return t({readable:K,writable:F})}const Y=$===null||$===void 0?void 0:$.then;if(typeof Y==="function"){let K;return U(Y,$,(F)=>{if(F!=null)K.push(F);K.push(null)},(F)=>{l(K,F)}),K=new I({objectMode:!0,writable:!1,read(){}})}throw new c(n,["Blob","ReadableStream","WritableStream","Stream","Iterable","AsyncIterable","Function","{ readable, writable } pair","Promise"],$)};function _(i){let{promise:$,resolve:n}=E();const Y=new AbortController,K=Y.signal;return{value:i(async function*(){while(!0){const m=$;$=null;const{chunk:u,done:J,cb:z}=await m;if(Xq(z),J)return;if(K.aborted)throw new k(void 0,{cause:K.reason});({promise:$,resolve:n}=E()),yield u}}(),{signal:K}),write(m,u,J){const z=n;n=null,z({chunk:m,done:!1,cb:J})},final(m){const u=n;n=null,u({done:!0,cb:m})},destroy(m,u){Y.abort(),u(m)}}}function t(i){const $=i.readable&&typeof i.readable.read!=="function"?p.wrap(i.readable):i.readable,n=i.writable;let Y=!!B($),K=!!G(n),F,m,u,J,z;function w(S){const N=J;if(J=null,N)N(S);else if(S)z.destroy(S);else if(!Y&&!K)z.destroy()}if(z=new I({readableObjectMode:!!($!==null&&$!==void 0&&$.readableObjectMode),writableObjectMode:!!(n!==null&&n!==void 0&&n.writableObjectMode),readable:Y,writable:K}),K)g(n,(S)=>{if(K=!1,S)l($,S);w(S)}),z._write=function(S,N,W){if(n.write(S,N))W();else F=W},z._final=function(S){n.end(),m=S},n.on("drain",function(){if(F){const S=F;F=null,S()}}),n.on("finish",function(){if(m){const S=m;m=null,S()}});if(Y)g($,(S)=>{if(Y=!1,S)l($,S);w(S)}),$.on("readable",function(){if(u){const S=u;u=null,S()}}),$.on("end",function(){z.push(null)}),z._read=function(){while(!0){const S=$.read();if(S===null){u=z._read;return}if(!z.push(S))return}};return z._destroy=function(S,N){if(!S&&J!==null)S=new k;if(u=null,F=null,m=null,J===null)N(S);else J=N,l(n,S),l($,S)},z}}}),Mq=Bq({"node_modules/readable-stream/lib/internal/streams/duplex.js"(a,j){var{ObjectDefineProperties:B,ObjectGetOwnPropertyDescriptor:G,ObjectKeys:y,ObjectSetPrototypeOf:A}=Vq(),M=_q();function R(O){if(!(this instanceof R))return new R(O);if(M.call(this,O),Uq.call(this,O),O){if(this.allowHalfOpen=O.allowHalfOpen!==!1,O.readable===!1)this._readableState.readable=!1,this._readableState.ended=!0,this._readableState.endEmitted=!0;if(O.writable===!1)this._writableState.writable=!1,this._writableState.ending=!0,this._writableState.ended=!0,this._writableState.finished=!0}else this.allowHalfOpen=!0}j.exports=R,A(R.prototype,M.prototype),A(R,M);for(var T in Uq.prototype)if(!R.prototype[T])R.prototype[T]=Uq.prototype[T];B(R.prototype,{writable:G(Uq.prototype,"writable"),writableHighWaterMark:G(Uq.prototype,"writableHighWaterMark"),writableObjectMode:G(Uq.prototype,"writableObjectMode"),writableBuffer:G(Uq.prototype,"writableBuffer"),writableLength:G(Uq.prototype,"writableLength"),writableFinished:G(Uq.prototype,"writableFinished"),writableCorked:G(Uq.prototype,"writableCorked"),writableEnded:G(Uq.prototype,"writableEnded"),writableNeedDrain:G(Uq.prototype,"writableNeedDrain"),destroyed:{get(){if(this._readableState===void 0||this._writableState===void 0)return!1;return this._readableState.destroyed&&this._writableState.destroyed},set(O){if(this._readableState&&this._writableState)this._readableState.destroyed=O,this._writableState.destroyed=O}}});var g;function k(){if(g===void 0)g={};return g}R.fromWeb=function(O,l){return k().newStreamDuplexFromReadableWritablePair(O,l)},R.toWeb=function(O){return k().newReadableWritablePairFromDuplex(O)};var c;R.from=function(O){if(!c)c=HQ();return c(O,"body")}}}),mq=Bq({"node_modules/readable-stream/lib/internal/streams/transform.js"(a,j){var{ObjectSetPrototypeOf:B,Symbol:G}=Vq(),{ERR_METHOD_NOT_IMPLEMENTED:y}=Wq().codes,A=Mq();function M(k){if(!(this instanceof M))return new M(k);if(A.call(this,k),this._readableState.sync=!1,this[R]=null,k){if(typeof k.transform==="function")this._transform=k.transform;if(typeof k.flush==="function")this._flush=k.flush}this.on("prefinish",g.bind(this))}B(M.prototype,A.prototype),B(M,A),j.exports=M;var R=G("kCallback");function T(k){if(typeof this._flush==="function"&&!this.destroyed)this._flush((c,O)=>{if(c){if(k)k(c);else this.destroy(c);return}if(O!=null)this.push(O);if(this.push(null),k)k()});else if(this.push(null),k)k()}function g(){if(this._final!==T)T.call(this)}M.prototype._final=T,M.prototype._transform=function(k,c,O){throw new y("_transform()")},M.prototype._write=function(k,c,O){const l=this._readableState,D=this._writableState,p=l.length;this._transform(k,c,(E,P)=>{if(E){O(E);return}if(P!=null)this.push(P);if(D.ended||p===l.length||l.length{S=!0});const N=A(J,{readable:z,writable:w},(W)=>{S=!W});return{destroy:(W)=>{if(S)return;S=!0,R.destroyer(J,W||new l("pipe"))},cleanup:N}}function $(J){return p(J[J.length-1],"streams[stream.length - 1]"),J.pop()}function n(J){if(P(J))return J;else if(U(J))return Y(J);throw new k("val",["Readable","Iterable","AsyncIterable"],J)}async function*Y(J){if(!t)t=_q();yield*t.prototype[y].call(J)}async function K(J,z,w,{end:S}){let N,W=null;const b=(e)=>{if(e)N=e;if(W){const Hq=W;W=null,Hq()}},o=()=>new G((e,Hq)=>{if(N)Hq(N);else W=()=>{if(N)Hq(N);else e()}});z.on("drain",b);const s=A(z,{readable:!1},b);try{if(z.writableNeedDrain)await o();for await(let e of J)if(!z.write(e))await o();if(S)z.end();await o(),w()}catch(e){w(N!==e?g(N,e):e)}finally{s(),z.off("drain",b)}}function F(...J){return m(J,M($(J)))}function m(J,z,w){if(J.length===1&&B(J[0]))J=J[0];if(J.length<2)throw new O("streams");const S=new AbortController,N=S.signal,W=w===null||w===void 0?void 0:w.signal,b=[];E(W,"options.signal");function o(){Kq(new D)}W===null||W===void 0||W.addEventListener("abort",o);let s,e;const Hq=[];let $q=0;function qq(h){Kq(h,--$q===0)}function Kq(h,Q){if(h&&(!s||s.code==="ERR_STREAM_PREMATURE_CLOSE"))s=h;if(!s&&!Q)return;while(Hq.length)Hq.shift()(s);if(W===null||W===void 0||W.removeEventListener("abort",o),S.abort(),Q){if(!s)b.forEach((H)=>H());Xq(z,s,e)}}let Qq;for(let h=0;h0,d=H||(w===null||w===void 0?void 0:w.end)!==!1,f=h===J.length-1;if(I(Q)){let r=function(q){if(q&&q.name!=="AbortError"&&q.code!=="ERR_STREAM_PREMATURE_CLOSE")qq(q)};if(d){const{destroy:q,cleanup:X}=i(Q,H,L);if(Hq.push(q),Z(Q)&&f)b.push(X)}if(Q.on("error",r),Z(Q)&&f)b.push(()=>{Q.removeListener("error",r)})}if(h===0)if(typeof Q==="function"){if(Qq=Q({signal:N}),!P(Qq))throw new c("Iterable, AsyncIterable or Stream","source",Qq)}else if(P(Q)||U(Q))Qq=Q;else Qq=T.from(Q);else if(typeof Q==="function")if(Qq=n(Qq),Qq=Q(Qq,{signal:N}),H){if(!P(Qq,!0))throw new c("AsyncIterable",`transform[${h-1}]`,Qq)}else{var V;if(!_)_=cq();const r=new _({objectMode:!0}),q=(V=Qq)===null||V===void 0?void 0:V.then;if(typeof q==="function")$q++,q.call(Qq,(x)=>{if(e=x,x!=null)r.write(x);if(d)r.end();Xq(qq)},(x)=>{r.destroy(x),Xq(qq,x)});else if(P(Qq,!0))$q++,K(Qq,r,qq,{end:d});else throw new c("AsyncIterable or Promise","destination",Qq);Qq=r;const{destroy:X,cleanup:C}=i(Qq,!1,!0);if(Hq.push(X),f)b.push(C)}else if(I(Q)){if(U(Qq)){$q+=2;const r=u(Qq,Q,qq,{end:d});if(Z(Q)&&f)b.push(r)}else if(P(Qq))$q++,K(Qq,Q,qq,{end:d});else throw new k("val",["Readable","Iterable","AsyncIterable"],Qq);Qq=Q}else Qq=T.from(Q)}if(N!==null&&N!==void 0&&N.aborted||W!==null&&W!==void 0&&W.aborted)Xq(o);return Qq}function u(J,z,w,{end:S}){if(J.pipe(z,{end:S}),S)J.once("end",()=>z.end());else w();return A(J,{readable:!0,writable:!1},(N)=>{const W=J._readableState;if(N&&N.code==="ERR_STREAM_PREMATURE_CLOSE"&&W&&W.ended&&!W.errored&&!W.errorEmitted)J.once("end",w).once("error",w);else w(N)}),A(z,{readable:!1,writable:!0},w)}j.exports={pipelineImpl:m,pipeline:F}}}),KQ=Bq({"node_modules/readable-stream/lib/internal/streams/compose.js"(a,j){var{pipeline:B}=gq(),G=Mq(),{destroyer:y}=Tq(),{isNodeStream:A,isReadable:M,isWritable:R}=Eq(),{AbortError:T,codes:{ERR_INVALID_ARG_VALUE:g,ERR_MISSING_ARGS:k}}=Wq();j.exports=function c(...O){if(O.length===0)throw new k("streams");if(O.length===1)return G.from(O[0]);const l=[...O];if(typeof O[0]==="function")O[0]=G.from(O[0]);if(typeof O[O.length-1]==="function"){const $=O.length-1;O[$]=G.from(O[$])}for(let $=0;$0&&!R(O[$]))throw new g(`streams[${$}]`,l[$],"must be writable")}let D,p,E,P,Z;function U($){const n=P;if(P=null,n)n($);else if($)Z.destroy($);else if(!i&&!t)Z.destroy()}const I=O[0],_=B(O,U),t=!!R(I),i=!!M(_);if(Z=new G({writableObjectMode:!!(I!==null&&I!==void 0&&I.writableObjectMode),readableObjectMode:!!(_!==null&&_!==void 0&&_.writableObjectMode),writable:t,readable:i}),t)Z._write=function($,n,Y){if(I.write($,n))Y();else D=Y},Z._final=function($){I.end(),p=$},I.on("drain",function(){if(D){const $=D;D=null,$()}}),_.on("finish",function(){if(p){const $=p;p=null,$()}});if(i)_.on("readable",function(){if(E){const $=E;E=null,$()}}),_.on("end",function(){Z.push(null)}),Z._read=function(){while(!0){const $=_.read();if($===null){E=Z._read;return}if(!Z.push($))return}};return Z._destroy=function($,n){if(!$&&P!==null)$=new T;if(E=null,D=null,p=null,P===null)n($);else P=n,y(_,$)},Z}}}),dq=Bq({"node_modules/readable-stream/lib/stream/promises.js"(a,j){var{ArrayPrototypePop:B,Promise:G}=Vq(),{isIterable:y,isNodeStream:A}=Eq(),{pipelineImpl:M}=gq(),{finished:R}=Fq();function T(...g){return new G((k,c)=>{let O,l;const D=g[g.length-1];if(D&&typeof D==="object"&&!A(D)&&!y(D)){const p=B(g);O=p.signal,l=p.end}M(g,(p,E)=>{if(p)c(p);else k(E)},{signal:O,end:l})})}j.exports={finished:R,pipeline:T}}}),ZQ=Bq({"node_modules/readable-stream/lib/stream.js"(a,j){var{ObjectDefineProperty:B,ObjectKeys:G,ReflectApply:y}=Vq(),{promisify:{custom:A}}=Aq(),{streamReturningOperators:M,promiseReturningOperators:R}=XQ(),{codes:{ERR_ILLEGAL_CONSTRUCTOR:T}}=Wq(),g=KQ(),{pipeline:k}=gq(),{destroyer:c}=Tq(),O=Fq(),l=dq(),D=Eq(),p=j.exports=Rq().Stream;p.isDisturbed=D.isDisturbed,p.isErrored=D.isErrored,p.isWritable=D.isWritable,p.isReadable=D.isReadable,p.Readable=_q();for(let P of G(M)){let Z=function(...I){if(new.target)throw T();return p.Readable.from(y(U,this,I))};const U=M[P];B(Z,"name",{value:U.name}),B(Z,"length",{value:U.length}),B(p.Readable.prototype,P,{value:Z,enumerable:!1,configurable:!0,writable:!0})}for(let P of G(R)){let Z=function(...I){if(new.target)throw T();return y(U,this,I)};const U=R[P];B(Z,"name",{value:U.name}),B(Z,"length",{value:U.length}),B(p.Readable.prototype,P,{value:Z,enumerable:!1,configurable:!0,writable:!0})}p.Writable=bq(),p.Duplex=Mq(),p.Transform=mq(),p.PassThrough=cq(),p.pipeline=k;var{addAbortSignal:E}=Sq();p.addAbortSignal=E,p.finished=O,p.destroy=c,p.compose=g,B(p,"promises",{configurable:!0,enumerable:!0,get(){return l}}),B(k,A,{enumerable:!0,get(){return l.pipeline}}),B(O,A,{enumerable:!0,get(){return l.finished}}),p.Stream=p,p._isUint8Array=function P(Z){return Z instanceof Uint8Array},p._uint8ArrayToBuffer=function P(Z){return new Buffer(Z.buffer,Z.byteOffset,Z.byteLength)}}}),BQ=Bq({"node_modules/readable-stream/lib/ours/index.js"(a,j){const B=ZQ(),G=dq(),y=B.Readable.destroy;j.exports=B,j.exports._uint8ArrayToBuffer=B._uint8ArrayToBuffer,j.exports._isUint8Array=B._isUint8Array,j.exports.isDisturbed=B.isDisturbed,j.exports.isErrored=B.isErrored,j.exports.isWritable=B.isWritable,j.exports.isReadable=B.isReadable,j.exports.Readable=B.Readable,j.exports.Writable=B.Writable,j.exports.Duplex=B.Duplex,j.exports.Transform=B.Transform,j.exports.PassThrough=B.PassThrough,j.exports.addAbortSignal=B.addAbortSignal,j.exports.finished=B.finished,j.exports.destroy=B.destroy,j.exports.destroy=y,j.exports.pipeline=B.pipeline,j.exports.compose=B.compose,j.exports._getNativeReadableStreamPrototype=lq,j.exports.NativeWritable=iq,zq.defineProperty(B,"promises",{configurable:!0,enumerable:!0,get(){return G}}),j.exports.Stream=B.Stream,j.exports.default=j.exports}}),$Q={0:void 0,1:void 0,2:void 0,3:void 0,4:void 0,5:void 0},Uq=bq(),iq=class a extends Uq{#q;#Q;#X=!0;_construct;_destroy;_final;constructor(j,B={}){super(B);this._construct=this.#H,this._destroy=this.#K,this._final=this.#Z,this.#q=j}#H(j){this._writableState.constructed=!0,this.constructed=!0,j()}#J(){if(typeof this.#q==="object")if(typeof this.#q.write==="function")this.#Q=this.#q;else throw new Error("Invalid FileSink");else this.#Q=Bun.file(this.#q).writer()}write(j,B,G,y=this.#X){if(!y)return this.#X=!1,super.write(j,B,G);if(!this.#Q)this.#J();var A=this.#Q,M=A.write(j);if(xq(M))return M.then(()=>{this.emit("drain"),A.flush(!0)}),!1;if(A.flush(!0),G)G(null,j.byteLength);return!0}end(j,B,G,y=this.#X){return super.end(j,B,G,y)}#K(j,B){if(this._writableState.destroyed=!0,B)B(j)}#Z(j){if(this.#Q)this.#Q.end();if(j)j()}ref(){if(!this.#Q)this.#J();this.#Q.ref()}unref(){if(!this.#Q)return;this.#Q.unref()}},Yq=BQ();Yq[Symbol.for("CommonJS")]=0;Yq[Symbol.for("::bunternal::")]={_ReadableFromWeb:pq,_ReadableFromWebForUndici:uq};var lQ=Yq,TQ=Yq._uint8ArrayToBuffer,PQ=Yq._isUint8Array,xQ=Yq.isDisturbed,OQ=Yq.isErrored,CQ=Yq.isWritable,_Q=Yq.isReadable,DQ=Yq.Readable,Uq=Yq.Writable,wQ=Yq.Duplex,vQ=Yq.Transform,RQ=Yq.PassThrough,SQ=Yq.addAbortSignal,gQ=Yq.finished,kQ=Yq.destroy,fQ=Yq.pipeline,yQ=Yq.compose,VQ=Yq.Stream,hQ=Yq.eos=Fq,pQ=Yq._getNativeReadableStreamPrototype,iq=Yq.NativeWritable,uQ=VQ.promises;export{uQ as promises,fQ as pipeline,CQ as isWritable,_Q as isReadable,OQ as isErrored,xQ as isDisturbed,gQ as finished,hQ as eos,kQ as destroy,lQ as default,yQ as compose,SQ as addAbortSignal,TQ as _uint8ArrayToBuffer,PQ as _isUint8Array,pQ as _getNativeReadableStreamPrototype,Uq as Writable,vQ as Transform,VQ as Stream,DQ as Readable,RQ as PassThrough,iq as NativeWritable,wQ as Duplex}; diff --git a/src/js/out/modules/node/stream.promises.js b/src/js/out/modules/node/stream.promises.js deleted file mode 100644 index 00ad9e5010028..0000000000000 --- a/src/js/out/modules/node/stream.promises.js +++ /dev/null @@ -1 +0,0 @@ -var g=(J)=>{return import.meta.require(J)};import{promises as S} from"node:stream";var{pipeline:b,finished:c}=S,q={pipeline:b,finished:c,[Symbol.for("CommonJS")]:0};export{b as pipeline,c as finished,q as default}; diff --git a/src/js/out/modules/node/stream.web.js b/src/js/out/modules/node/stream.web.js deleted file mode 100644 index 933a2c6d19244..0000000000000 --- a/src/js/out/modules/node/stream.web.js +++ /dev/null @@ -1 +0,0 @@ -var X=(j)=>{return import.meta.require(j)};var{ReadableStream:k,ReadableStreamDefaultReader:v,ReadableStreamBYOBReader:w,ReadableStreamBYOBRequest:z,ReadableByteStreamController:A,ReadableStreamDefaultController:F,TransformStream:G,TransformStreamDefaultController:H,WritableStream:I,WritableStreamDefaultWriter:J,WritableStreamDefaultController:K,ByteLengthQueuingStrategy:M,CountQueuingStrategy:N,TextEncoderStream:P,TextDecoderStream:U,CompressionStream:V,DecompressionStream:W}=globalThis,_={ReadableStream:k,ReadableStreamDefaultReader:v,ReadableStreamBYOBReader:w,ReadableStreamBYOBRequest:z,ReadableByteStreamController:A,ReadableStreamDefaultController:F,TransformStream:G,TransformStreamDefaultController:H,WritableStream:I,WritableStreamDefaultWriter:J,WritableStreamDefaultController:K,ByteLengthQueuingStrategy:M,CountQueuingStrategy:N,TextEncoderStream:P,TextDecoderStream:U,CompressionStream:V,DecompressionStream:W,[Symbol.for("CommonJS")]:0};export{_ as default,J as WritableStreamDefaultWriter,K as WritableStreamDefaultController,I as WritableStream,H as TransformStreamDefaultController,G as TransformStream,P as TextEncoderStream,U as TextDecoderStream,v as ReadableStreamDefaultReader,F as ReadableStreamDefaultController,z as ReadableStreamBYOBRequest,w as ReadableStreamBYOBReader,k as ReadableStream,A as ReadableByteStreamController,W as DecompressionStream,N as CountQueuingStrategy,V as CompressionStream,M as ByteLengthQueuingStrategy}; diff --git a/src/js/out/modules/node/timers.js b/src/js/out/modules/node/timers.js deleted file mode 100644 index 15b3680c06711..0000000000000 --- a/src/js/out/modules/node/timers.js +++ /dev/null @@ -1,17 +0,0 @@ -var { setTimeout, clearTimeout, setInterval, setImmediate, clearInterval, clearImmediate } = globalThis, timers_default = { - setInterval, - setImmediate, - setTimeout, - clearInterval, - clearTimeout, - [Symbol.for("CommonJS")]: 0 -}; -export { - setTimeout, - setInterval, - setImmediate, - timers_default as default, - clearTimeout, - clearInterval, - clearImmediate -}; diff --git a/src/js/out/modules/node/timers.promises.js b/src/js/out/modules/node/timers.promises.js deleted file mode 100644 index d76e46f3c8bed..0000000000000 --- a/src/js/out/modules/node/timers.promises.js +++ /dev/null @@ -1,182 +0,0 @@ -var validateObject = function(object, name) { - if (object === null || typeof object !== "object") - throw new ERR_INVALID_ARG_TYPE(name, "Object", object); -}, validateBoolean = function(value, name) { - if (typeof value !== "boolean") - throw new ERR_INVALID_ARG_TYPE(name, "boolean", value); -}, validateAbortSignal = function(signal, name) { - if (typeof signal !== "undefined" && (signal === null || typeof signal !== "object" || !("aborted" in signal))) - throw new ERR_INVALID_ARG_TYPE(name, "AbortSignal", signal); -}, asyncIterator = function({ next: nextFunction, return: returnFunction }) { - const result = {}; - if (typeof nextFunction === "function") - result.next = nextFunction; - if (typeof returnFunction === "function") - result.return = returnFunction; - return result[symbolAsyncIterator] = function() { - return this; - }, result; -}, setTimeoutPromise = function(after = 1, value, options = {}) { - const arguments_ = [].concat(value ?? []); - try { - validateObject(options, "options"); - } catch (error) { - return Promise.reject(error); - } - const { signal, ref: reference = !0 } = options; - try { - validateAbortSignal(signal, "options.signal"); - } catch (error) { - return Promise.reject(error); - } - try { - validateBoolean(reference, "options.ref"); - } catch (error) { - return Promise.reject(error); - } - if (signal?.aborted) - return Promise.reject(new AbortError); - let onCancel; - const returnValue = new Promise((resolve, reject) => { - const timeout = setTimeout(() => resolve(value), after, ...arguments_); - if (!reference) - timeout?.unref?.(); - if (signal) - onCancel = () => { - clearTimeout(timeout), reject(new AbortError); - }, signal.addEventListener("abort", onCancel); - }); - if (typeof onCancel !== "undefined") - returnValue.finally(() => signal.removeEventListener("abort", onCancel)); - return returnValue; -}, setImmediatePromise = function(value, options = {}) { - try { - validateObject(options, "options"); - } catch (error) { - return Promise.reject(error); - } - const { signal, ref: reference = !0 } = options; - try { - validateAbortSignal(signal, "options.signal"); - } catch (error) { - return Promise.reject(error); - } - try { - validateBoolean(reference, "options.ref"); - } catch (error) { - return Promise.reject(error); - } - if (signal?.aborted) - return Promise.reject(new AbortError); - let onCancel; - const returnValue = new Promise((resolve, reject) => { - const immediate = setImmediate(() => resolve(value)); - if (!reference) - immediate?.unref?.(); - if (signal) - onCancel = () => { - clearImmediate(immediate), reject(new AbortError); - }, signal.addEventListener("abort", onCancel); - }); - if (typeof onCancel !== "undefined") - returnValue.finally(() => signal.removeEventListener("abort", onCancel)); - return returnValue; -}, setIntervalPromise = function(after = 1, value, options = {}) { - try { - validateObject(options, "options"); - } catch (error) { - return asyncIterator({ - next: function() { - return Promise.reject(error); - } - }); - } - const { signal, ref: reference = !0 } = options; - try { - validateAbortSignal(signal, "options.signal"); - } catch (error) { - return asyncIterator({ - next: function() { - return Promise.reject(error); - } - }); - } - try { - validateBoolean(reference, "options.ref"); - } catch (error) { - return asyncIterator({ - next: function() { - return Promise.reject(error); - } - }); - } - if (signal?.aborted) - return asyncIterator({ - next: function() { - return Promise.reject(new AbortError); - } - }); - let onCancel, interval; - try { - let notYielded = 0, callback; - if (interval = setInterval(() => { - if (notYielded++, callback) - callback(), callback = void 0; - }, after), !reference) - interval?.unref?.(); - if (signal) - onCancel = () => { - if (clearInterval(interval), callback) - callback(), callback = void 0; - }, signal.addEventListener("abort", onCancel); - return asyncIterator({ - next: function() { - return new Promise((resolve, reject) => { - if (!signal?.aborted) - if (notYielded === 0) - callback = resolve; - else - resolve(); - else if (notYielded === 0) - reject(new AbortError); - else - resolve(); - }).then(() => { - if (notYielded > 0) - return notYielded = notYielded - 1, { done: !1, value }; - return { done: !0 }; - }); - }, - return: function() { - return clearInterval(interval), signal?.removeEventListener("abort", onCancel), Promise.resolve({}); - } - }); - } catch (error) { - return asyncIterator({ - next: function() { - clearInterval(interval), signal?.removeEventListener("abort", onCancel); - } - }); - } -}, symbolAsyncIterator = Symbol.asyncIterator; - -class ERR_INVALID_ARG_TYPE extends Error { - constructor(name, expected, actual) { - super(`${name} must be ${expected}, ${typeof actual} given`); - this.code = "ERR_INVALID_ARG_TYPE"; - } -} - -class AbortError extends Error { - constructor() { - super("The operation was aborted"); - this.code = "ABORT_ERR"; - } -} -var timers_promises_default = { setTimeout: setTimeoutPromise, setImmediate: setImmediatePromise, setInterval: setIntervalPromise }; -export { - setTimeoutPromise as setTimeout, - setIntervalPromise as setInterval, - setImmediatePromise as setImmediate, - timers_promises_default as default -}; diff --git a/src/js/out/modules/node/tls.js b/src/js/out/modules/node/tls.js deleted file mode 100644 index 2456995780a34..0000000000000 --- a/src/js/out/modules/node/tls.js +++ /dev/null @@ -1,460 +0,0 @@ -import {isArrayBufferView, isTypedArray} from "node:util/types"; -import net, {Server as NetServer} from "node:net"; -var parseCertString = function() { - throwNotImplemented("Not implemented"); -}, isValidTLSArray = function(obj) { - if (typeof obj === "string" || isTypedArray(obj) || obj instanceof ArrayBuffer || obj instanceof Blob) - return !0; - if (Array.isArray(obj)) { - for (var i = 0;i < obj.length; i++) - if (typeof obj !== "string" && !isTypedArray(obj) && !(obj instanceof ArrayBuffer) && !(obj instanceof Blob)) - return !1; - return !0; - } -}, unfqdn = function(host2) { - return RegExpPrototypeSymbolReplace.call(/[.]$/, host2, ""); -}, toLowerCase = function(c) { - return StringFromCharCode.call(32 + StringPrototypeCharCodeAt.call(c, 0)); -}, splitHost = function(host2) { - return StringPrototypeSplit.call(RegExpPrototypeSymbolReplace.call(/[A-Z]/g, unfqdn(host2), toLowerCase), "."); -}, check = function(hostParts, pattern, wildcards) { - if (!pattern) - return !1; - const patternParts = splitHost(pattern); - if (hostParts.length !== patternParts.length) - return !1; - if (ArrayPrototypeIncludes.call(patternParts, "")) - return !1; - const isBad = (s) => RegExpPrototypeExec.call(/[^\u0021-\u007F]/u, s) !== null; - if (ArrayPrototypeSome.call(patternParts, isBad)) - return !1; - for (let i = hostParts.length - 1;i > 0; i -= 1) - if (hostParts[i] !== patternParts[i]) - return !1; - const hostSubdomain = hostParts[0], patternSubdomain = patternParts[0], patternSubdomainParts = StringPrototypeSplit.call(patternSubdomain, "*"); - if (patternSubdomainParts.length === 1 || StringPrototypeIncludes.call(patternSubdomain, "xn--")) - return hostSubdomain === patternSubdomain; - if (!wildcards) - return !1; - if (patternSubdomainParts.length > 2) - return !1; - if (patternParts.length <= 2) - return !1; - const { 0: prefix, 1: suffix } = patternSubdomainParts; - if (prefix.length + suffix.length > hostSubdomain.length) - return !1; - if (!StringPrototypeStartsWith.call(hostSubdomain, prefix)) - return !1; - if (!StringPrototypeEndsWith.call(hostSubdomain, suffix)) - return !1; - return !0; -}, splitEscapedAltNames = function(altNames) { - const result = []; - let currentToken = "", offset = 0; - while (offset !== altNames.length) { - const nextSep = StringPrototypeIndexOf.call(altNames, ", ", offset), nextQuote = StringPrototypeIndexOf.call(altNames, '"', offset); - if (nextQuote !== -1 && (nextSep === -1 || nextQuote < nextSep)) { - currentToken += StringPrototypeSubstring.call(altNames, offset, nextQuote); - const match = RegExpPrototypeExec.call(jsonStringPattern, StringPrototypeSubstring.call(altNames, nextQuote)); - if (!match) { - let error = new SyntaxError("ERR_TLS_CERT_ALTNAME_FORMAT: Invalid subject alternative name string"); - throw error.name = ERR_TLS_CERT_ALTNAME_FORMAT, error; - } - currentToken += JSON.parse(match[0]), offset = nextQuote + match[0].length; - } else if (nextSep !== -1) - currentToken += StringPrototypeSubstring.call(altNames, offset, nextSep), ArrayPrototypePush.call(result, currentToken), currentToken = "", offset = nextSep + 2; - else - currentToken += StringPrototypeSubstring.call(altNames, offset), offset = altNames.length; - } - return ArrayPrototypePush.call(result, currentToken), result; -}, checkServerIdentity = function(hostname, cert) { - const { subject, subjectaltname: altNames } = cert, dnsNames = [], ips = []; - if (hostname = "" + hostname, altNames) { - const splitAltNames = StringPrototypeIncludes.call(altNames, '"') ? splitEscapedAltNames(altNames) : StringPrototypeSplit.call(altNames, ", "); - ArrayPrototypeForEach.call(splitAltNames, (name) => { - if (StringPrototypeStartsWith.call(name, "DNS:")) - ArrayPrototypePush.call(dnsNames, StringPrototypeSlice.call(name, 4)); - else if (StringPrototypeStartsWith.call(name, "IP Address:")) - ArrayPrototypePush.call(ips, canonicalizeIP(StringPrototypeSlice.call(name, 11))); - }); - } - let valid = !1, reason = "Unknown reason"; - if (hostname = unfqdn(hostname), net.isIP(hostname)) { - if (valid = ArrayPrototypeIncludes.call(ips, canonicalizeIP(hostname)), !valid) - reason = `IP: ${hostname} is not in the cert's list: ` + ArrayPrototypeJoin.call(ips, ", "); - } else if (dnsNames.length > 0 || subject?.CN) { - const hostParts = splitHost(hostname), wildcard = (pattern) => check(hostParts, pattern, !0); - if (dnsNames.length > 0) { - if (valid = ArrayPrototypeSome.call(dnsNames, wildcard), !valid) - reason = `Host: ${hostname}. is not in the cert's altnames: ${altNames}`; - } else { - const cn = subject.CN; - if (Array.isArray(cn)) - valid = ArrayPrototypeSome.call(cn, wildcard); - else if (cn) - valid = wildcard(cn); - if (!valid) - reason = `Host: ${hostname}. is not cert's CN: ${cn}`; - } - } else - reason = "Cert does not contain a DNS name"; - if (!valid) { - let error = new Error(`ERR_TLS_CERT_ALTNAME_INVALID: Hostname/IP does not match certificate's altnames: ${reason}`); - return error.name = "ERR_TLS_CERT_ALTNAME_INVALID", error.reason = reason, error.host = host, error.cert = cert, error; - } -}, SecureContext = function(options) { - return new InternalSecureContext(options); -}, createSecureContext = function(options) { - return new SecureContext(options); -}, translatePeerCertificate = function(c) { - if (!c) - return null; - if (c.issuerCertificate != null && c.issuerCertificate !== c) - c.issuerCertificate = translatePeerCertificate(c.issuerCertificate); - if (c.infoAccess != null) { - const info = c.infoAccess; - c.infoAccess = { __proto__: null }, RegExpPrototypeSymbolReplace.call(/([^\n:]*):([^\n]*)(?:\n|$)/g, info, (all, key, val) => { - if (val.charCodeAt(0) === 34) - val = JSONParse(val); - if (key in c.infoAccess) - ArrayPrototypePush.call(c.infoAccess[key], val); - else - c.infoAccess[key] = [val]; - }); - } - return c; -}, createServer = function(options, connectionListener) { - return new Server(options, connectionListener); -}, getCiphers = function() { - return DEFAULT_CIPHERS.split(":"); -}, getCurves = function() { - return; -}, convertProtocols = function(protocols) { - const lens = new Array(protocols.length), buff = Buffer.allocUnsafe(ArrayPrototypeReduce.call(protocols, (p, c, i) => { - const len = Buffer.byteLength(c); - if (len > 255) - throw new RangeError("The byte length of the protocol at index " + `${i} exceeds the maximum length.`, "<= 255", len, !0); - return lens[i] = len, p + 1 + len; - }, 0)); - let offset = 0; - for (let i = 0, c = protocols.length;i < c; i++) - buff[offset++] = lens[i], buff.write(protocols[i], offset), offset += lens[i]; - return buff; -}, convertALPNProtocols = function(protocols, out) { - if (Array.isArray(protocols)) - out.ALPNProtocols = convertProtocols(protocols); - else if (isTypedArray(protocols)) - out.ALPNProtocols = Buffer.from(protocols); - else if (isArrayBufferView(protocols)) - out.ALPNProtocols = Buffer.from(protocols.buffer.slice(protocols.byteOffset, protocols.byteOffset + protocols.byteLength)); - else if (Buffer.isBuffer(protocols)) - out.ALPNProtocols = protocols; -}, InternalTCPSocket = net[Symbol.for("::bunternal::")], bunSocketInternal = Symbol.for("::bunnetsocketinternal::"), { RegExp, Array, String } = globalThis[Symbol.for("Bun.lazy")]("primordials"), { rootCertificates, canonicalizeIP } = globalThis[Symbol.for("Bun.lazy")]("internal/tls"), SymbolReplace = Symbol.replace, RegExpPrototypeSymbolReplace = RegExp.prototype[SymbolReplace], RegExpPrototypeExec = RegExp.prototype.exec, StringPrototypeStartsWith = String.prototype.startsWith, StringPrototypeSlice = String.prototype.slice, StringPrototypeIncludes = String.prototype.includes, StringPrototypeSplit = String.prototype.split, StringPrototypeIndexOf = String.prototype.indexOf, StringPrototypeSubstring = String.prototype.substring, StringPrototypeEndsWith = String.prototype.endsWith, StringFromCharCode = String.fromCharCode, StringPrototypeCharCodeAt = String.prototype.charCodeAt, ArrayPrototypeIncludes = Array.prototype.includes, ArrayPrototypeJoin = Array.prototype.join, ArrayPrototypeForEach = Array.prototype.forEach, ArrayPrototypePush = Array.prototype.push, ArrayPrototypeSome = Array.prototype.some, ArrayPrototypeReduce = Array.prototype.reduce, jsonStringPattern = /^"(?:[^"\\\u0000-\u001f]|\\(?:["\\/bfnrt]|u[0-9a-fA-F]{4}))*"/, InternalSecureContext = class SecureContext2 { - context; - constructor(options) { - const context = {}; - if (options) { - let key = options.key; - if (key) { - if (!isValidTLSArray(key)) - throw new TypeError("key argument must be an string, Buffer, TypedArray, BunFile or an array containing string, Buffer, TypedArray or BunFile"); - this.key = key; - } - let cert = options.cert; - if (cert) { - if (!isValidTLSArray(cert)) - throw new TypeError("cert argument must be an string, Buffer, TypedArray, BunFile or an array containing string, Buffer, TypedArray or BunFile"); - this.cert = cert; - } - let ca = options.ca; - if (ca) { - if (!isValidTLSArray(ca)) - throw new TypeError("ca argument must be an string, Buffer, TypedArray, BunFile or an array containing string, Buffer, TypedArray or BunFile"); - this.ca = ca; - } - let passphrase = options.passphrase; - if (passphrase && typeof passphrase !== "string") - throw new TypeError("passphrase argument must be an string"); - this.passphrase = passphrase; - let servername = options.servername; - if (servername && typeof servername !== "string") - throw new TypeError("servername argument must be an string"); - this.servername = servername; - let secureOptions = options.secureOptions || 0; - if (secureOptions && typeof secureOptions !== "number") - throw new TypeError("secureOptions argument must be an number"); - this.secureOptions = secureOptions; - } - this.context = context; - } -}, buntls = Symbol.for("::buntls::"), SocketClass, TLSSocket = function(InternalTLSSocket) { - return SocketClass = InternalTLSSocket, Object.defineProperty(SocketClass.prototype, Symbol.toStringTag, { - value: "TLSSocket", - enumerable: !1 - }), Object.defineProperty(function Socket(options) { - return new InternalTLSSocket(options); - }, Symbol.hasInstance, { - value(instance) { - return instance instanceof InternalTLSSocket; - } - }); -}(class TLSSocket2 extends InternalTCPSocket { - #secureContext; - ALPNProtocols; - #socket; - #checkServerIdentity; - #session; - constructor(socket, options) { - super(socket instanceof InternalTCPSocket ? options : options || socket); - if (options = options || socket || {}, typeof options === "object") { - const { ALPNProtocols } = options; - if (ALPNProtocols) - convertALPNProtocols(ALPNProtocols, this); - if (socket instanceof InternalTCPSocket) - this.#socket = socket; - } - this.#secureContext = options.secureContext || createSecureContext(options), this.authorized = !1, this.secureConnecting = !0, this._secureEstablished = !1, this._securePending = !0, this.#checkServerIdentity = options.checkServerIdentity || checkServerIdentity, this.#session = options.session || null; - } - _secureEstablished = !1; - _securePending = !0; - _newSessionPending; - _controlReleased; - secureConnecting = !1; - _SNICallback; - servername; - authorized = !1; - authorizationError; - #renegotiationDisabled = !1; - encrypted = !0; - _start() { - this.connect(); - } - getSession() { - return this[bunSocketInternal]?.getSession(); - } - getEphemeralKeyInfo() { - return this[bunSocketInternal]?.getEphemeralKeyInfo(); - } - getCipher() { - return this[bunSocketInternal]?.getCipher(); - } - getSharedSigalgs() { - return this[bunSocketInternal]?.getSharedSigalgs(); - } - getProtocol() { - return this[bunSocketInternal]?.getTLSVersion(); - } - getFinished() { - return this[bunSocketInternal]?.getTLSFinishedMessage() || void 0; - } - getPeerFinished() { - return this[bunSocketInternal]?.getTLSPeerFinishedMessage() || void 0; - } - isSessionReused() { - return !!this.#session; - } - renegotiate() { - if (this.#renegotiationDisabled) { - const error = new Error("ERR_TLS_RENEGOTIATION_DISABLED: TLS session renegotiation disabled for this socket"); - throw error.name = "ERR_TLS_RENEGOTIATION_DISABLED", error; - } - throw Error("Not implented in Bun yet"); - } - disableRenegotiation() { - this.#renegotiationDisabled = !0; - } - getTLSTicket() { - return this[bunSocketInternal]?.getTLSTicket(); - } - exportKeyingMaterial(length, label, context) { - if (context) - return this[bunSocketInternal]?.exportKeyingMaterial(length, label, context); - return this[bunSocketInternal]?.exportKeyingMaterial(length, label); - } - setMaxSendFragment(size) { - return this[bunSocketInternal]?.setMaxSendFragment(size) || !1; - } - enableTrace() { - } - setServername(name) { - if (this.isServer) { - let error = new Error("ERR_TLS_SNI_FROM_SERVER: Cannot issue SNI from a TLS server-side socket"); - throw error.name = "ERR_TLS_SNI_FROM_SERVER", error; - } - this.servername = name, this[bunSocketInternal]?.setServername(name); - } - setSession(session) { - if (this.#session = session, typeof session === "string") - session = Buffer.from(session, "latin1"); - return this[bunSocketInternal]?.setSession(session); - } - getPeerCertificate(abbreviated) { - const cert = arguments.length < 1 ? this[bunSocketInternal]?.getPeerCertificate() : this[bunSocketInternal]?.getPeerCertificate(abbreviated); - if (cert) - return translatePeerCertificate(cert); - } - getCertificate() { - const cert = this[bunSocketInternal]?.getCertificate(); - if (cert) - return translatePeerCertificate(cert); - } - getPeerX509Certificate() { - throw Error("Not implented in Bun yet"); - } - getX509Certificate() { - throw Error("Not implented in Bun yet"); - } - get alpnProtocol() { - return this[bunSocketInternal]?.alpnProtocol; - } - [buntls](port, host2) { - return { - socket: this.#socket, - ALPNProtocols: this.ALPNProtocols, - serverName: this.servername || host2 || "localhost", - checkServerIdentity: this.#checkServerIdentity, - session: this.#session, - ...this.#secureContext - }; - } -}); - -class Server extends NetServer { - key; - cert; - ca; - passphrase; - secureOptions; - _rejectUnauthorized; - _requestCert; - servername; - ALPNProtocols; - constructor(options, secureConnectionListener) { - super(options, secureConnectionListener); - this.setSecureContext(options); - } - setSecureContext(options) { - if (options instanceof InternalSecureContext) - options = options.context; - if (options) { - const { ALPNProtocols } = options; - if (ALPNProtocols) - convertALPNProtocols(ALPNProtocols, this); - let key = options.key; - if (key) { - if (!isValidTLSArray(key)) - throw new TypeError("key argument must be an string, Buffer, TypedArray, BunFile or an array containing string, Buffer, TypedArray or BunFile"); - this.key = key; - } - let cert = options.cert; - if (cert) { - if (!isValidTLSArray(cert)) - throw new TypeError("cert argument must be an string, Buffer, TypedArray, BunFile or an array containing string, Buffer, TypedArray or BunFile"); - this.cert = cert; - } - let ca = options.ca; - if (ca) { - if (!isValidTLSArray(ca)) - throw new TypeError("ca argument must be an string, Buffer, TypedArray, BunFile or an array containing string, Buffer, TypedArray or BunFile"); - this.ca = ca; - } - let passphrase = options.passphrase; - if (passphrase && typeof passphrase !== "string") - throw new TypeError("passphrase argument must be an string"); - this.passphrase = passphrase; - let servername = options.servername; - if (servername && typeof servername !== "string") - throw new TypeError("servername argument must be an string"); - this.servername = servername; - let secureOptions = options.secureOptions || 0; - if (secureOptions && typeof secureOptions !== "number") - throw new TypeError("secureOptions argument must be an number"); - this.secureOptions = secureOptions; - const requestCert = options.requestCert || !1; - if (requestCert) - this._requestCert = requestCert; - else - this._requestCert = void 0; - const rejectUnauthorized = options.rejectUnauthorized || !1; - if (rejectUnauthorized) - this._rejectUnauthorized = rejectUnauthorized; - else - this._rejectUnauthorized = void 0; - } - } - getTicketKeys() { - throw Error("Not implented in Bun yet"); - } - setTicketKeys() { - throw Error("Not implented in Bun yet"); - } - [buntls](port, host2, isClient) { - return [ - { - serverName: this.servername || host2 || "localhost", - key: this.key, - cert: this.cert, - ca: this.ca, - passphrase: this.passphrase, - secureOptions: this.secureOptions, - rejectUnauthorized: isClient ? !1 : this._rejectUnauthorized, - requestCert: isClient ? !1 : this._requestCert, - ALPNProtocols: this.ALPNProtocols - }, - SocketClass - ]; - } -} -var CLIENT_RENEG_LIMIT = 3, CLIENT_RENEG_WINDOW = 600, DEFAULT_ECDH_CURVE = "auto", DEFAULT_CIPHERS = "DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256", DEFAULT_MIN_VERSION = "TLSv1.2", DEFAULT_MAX_VERSION = "TLSv1.3", createConnection = (port, host2, connectListener) => { - if (typeof port === "object") { - port.checkServerIdentity; - const { ALPNProtocols } = port; - if (ALPNProtocols) - convertALPNProtocols(ALPNProtocols, port); - return new TLSSocket(port).connect(port, host2, connectListener); - } - return new TLSSocket().connect(port, host2, connectListener); -}, connect = createConnection, exports = { - [Symbol.for("CommonJS")]: 0, - CLIENT_RENEG_LIMIT, - CLIENT_RENEG_WINDOW, - connect, - convertALPNProtocols, - createConnection, - createSecureContext, - createServer, - DEFAULT_CIPHERS, - DEFAULT_ECDH_CURVE, - DEFAULT_MAX_VERSION, - DEFAULT_MIN_VERSION, - getCiphers, - getCurves, - parseCertString, - SecureContext, - Server, - TLSSocket, - checkServerIdentity, - rootCertificates -}; -export { - rootCertificates, - parseCertString, - getCurves, - getCiphers, - exports as default, - createServer, - createSecureContext, - createConnection, - convertALPNProtocols, - connect, - checkServerIdentity, - TLSSocket, - Server, - SecureContext, - DEFAULT_MIN_VERSION, - DEFAULT_MAX_VERSION, - DEFAULT_ECDH_CURVE, - DEFAULT_CIPHERS, - CLIENT_RENEG_WINDOW, - CLIENT_RENEG_LIMIT -}; diff --git a/src/js/out/modules/node/trace_events.js b/src/js/out/modules/node/trace_events.js deleted file mode 100644 index 71fcfb8901700..0000000000000 --- a/src/js/out/modules/node/trace_events.js +++ /dev/null @@ -1,25 +0,0 @@ -var ERR_INVALID_ARG_TYPE = function(name, type, value) { - const err = new TypeError(`The "${name}" argument must be of type ${type}. Received ${value}`); - return err.code = "ERR_INVALID_ARG_TYPE", err; -}, createTracing = function(opts) { - if (typeof opts !== "object" || opts == null) - throw new ERR_INVALID_ARG_TYPE("options", "Object", opts); - return new Tracing(opts); -}, getEnabledCategories = function() { - return ""; -}; - -class Tracing { - enabled = !1; - categories = ""; -} -var defaultObject = { - createTracing, - getEnabledCategories, - [Symbol.for("CommonJS")]: 0 -}; -export { - getEnabledCategories, - defaultObject as default, - createTracing -}; diff --git a/src/js/out/modules/node/url.js b/src/js/out/modules/node/url.js deleted file mode 100644 index 58017868846fd..0000000000000 --- a/src/js/out/modules/node/url.js +++ /dev/null @@ -1 +0,0 @@ -var Kf=(N)=>{return import.meta.require(N)};var $=function(){this.protocol=null,this.slashes=null,this.auth=null,this.host=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.query=null,this.pathname=null,this.path=null,this.href=null},g=function(N,J,f){if(N&&typeof N==="object"&&N instanceof $)return N;var X=new $;return X.parse(N,J,f),X},t=function(N){if(typeof N==="string")N=g(N);if(!(N instanceof $))return $.prototype.format.call(N);return N.format()},ff=function(N,J){return g(N,!1,!0).resolve(J)},Nf=function(N,J){if(!N)return J;return g(N,!1,!0).resolveObject(J)},Bf=function(N){const J={protocol:N.protocol,hostname:typeof N.hostname==="string"&&N.hostname.startsWith("[")?N.hostname.slice(1,-1):N.hostname,hash:N.hash,search:N.search,pathname:N.pathname,path:`${N.pathname||""}${N.search||""}`,href:N.href};if(N.port!=="")J.port=Number(N.port);if(N.username||N.password)J.auth=`${decodeURIComponent(N.username)}:${decodeURIComponent(N.password)}`;return J},{URL:n,URLSearchParams:H}=globalThis,i=/^([a-z0-9.+-]+:)/i,o=/:[0-9]*$/,u=/^(\/\/?(?!\/)[^?\s]*)(\?[^\s]*)?$/,a=["<",">",'"',"`"," ","\r","\n","\t"],l=["{","}","|","\\","^","`"].concat(a),E=["'"].concat(l),m=["%","/","?",";","#"].concat(E),c=["/","?","#"],s=255,P=/^[+a-z0-9A-Z_-]{0,63}$/,r=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,e={javascript:!0,"javascript:":!0},d={javascript:!0,"javascript:":!0},L={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0};$.prototype.parse=function(N,J,f){if(typeof N!=="string")throw new TypeError("Parameter 'url' must be a string, not "+typeof N);var X=N.indexOf("?"),V=X!==-1&&X127)z+="x";else z+=x[C];if(!z.match(P)){var q=G.slice(0,K),F=G.slice(K+1),Q=x.match(r);if(Q)q.push(Q[1]),F.unshift(Q[2]);if(F.length)B="/"+F.join(".")+B;this.hostname=q.join(".");break}}}}if(this.hostname.length>s)this.hostname="";else this.hostname=this.hostname.toLowerCase();if(!R)this.hostname=new n("http://"+this.hostname).hostname;var b=this.port?":"+this.port:"",v=this.hostname||"";if(this.host=v+b,this.href+=this.host,R){if(this.hostname=this.hostname.substr(1,this.hostname.length-2),B[0]!=="/")B="/"+B}}if(!e[I])for(var K=0,M=E.length;K0?f.host.split("@"):!1;if(z)f.auth=z.shift(),f.hostname=z.shift(),f.host=f.hostname}if(f.search=N.search,f.query=N.query,f.pathname!==null||f.search!==null)f.path=(f.pathname?f.pathname:"")+(f.search?f.search:"");return f.href=f.format(),f}if(!G.length){if(f.pathname=null,f.search)f.path="/"+f.search;else f.path=null;return f.href=f.format(),f}var C=G.slice(-1)[0],S=(f.host||N.host||G.length>1)&&(C==="."||C==="..")||C==="",q=0;for(var F=G.length;F>=0;F--)if(C=G[F],C===".")G.splice(F,1);else if(C==="..")G.splice(F,1),q++;else if(q)G.splice(F,1),q--;if(!Z&&!R)for(;q--;q)G.unshift("..");if(Z&&G[0]!==""&&(!G[0]||G[0].charAt(0)!=="/"))G.unshift("");if(S&&G.join("/").substr(-1)!=="/")G.push("");var Q=G[0]===""||G[0]&&G[0].charAt(0)==="/";if(x){f.hostname=Q?"":G.length?G.shift():"",f.host=f.hostname;var z=f.host&&f.host.indexOf("@")>0?f.host.split("@"):!1;if(z)f.auth=z.shift(),f.hostname=z.shift(),f.host=f.hostname}if(Z=Z||f.host&&G.length,Z&&!Q)G.unshift("");if(G.length>0)f.pathname=G.join("/");else f.pathname=null,f.path=null;if(f.pathname!==null||f.search!==null)f.path=(f.pathname?f.pathname:"")+(f.search?f.search:"");return f.auth=N.auth||f.auth,f.slashes=f.slashes||N.slashes,f.href=f.format(),f};$.prototype.parseHost=function(){var N=this.host,J=o.exec(N);if(J){if(J=J[0],J!==":")this.port=J.substr(1);N=N.substr(0,N.length-J.length)}if(N)this.hostname=N};var p=globalThis[Symbol.for("Bun.lazy")],Gf=p("pathToFileURL"),Jf=p("fileURLToPath"),Vf={parse:g,resolve:ff,resolveObject:Nf,format:t,Url:$,URLSearchParams:H,URL:n,pathToFileURL:Gf,fileURLToPath:Jf,urlToHttpOptions:Bf,[Symbol.for("CommonJS")]:0};export{Bf as urlToHttpOptions,Nf as resolveObject,ff as resolve,Gf as pathToFileURL,g as parse,t as format,Jf as fileURLToPath,Vf as default,$ as Url,H as URLSearchParams,n as URL}; diff --git a/src/js/out/modules/node/util.js b/src/js/out/modules/node/util.js deleted file mode 100644 index eade9e0d9b748..0000000000000 --- a/src/js/out/modules/node/util.js +++ /dev/null @@ -1,454 +0,0 @@ -import * as types from "node:util/types"; -import {default as default2} from "node:util/types"; -var isBufferInterface = function({ copy, fill, readUint8 }) { - return typeof copy === "function" && typeof fill === "function" && typeof readUint8 === "function"; -}; -function isBuffer(value) { - return Buffer.isBuffer(value) || typeof value === "object" && isBufferInterface(value || {}); -} -var isFunction = function(value) { - return typeof value === "function"; -}, format = function(f) { - if (!isString(f)) { - var objects = []; - for (var i = 0;i < arguments.length; i++) - objects.push(inspect(arguments[i])); - return objects.join(" "); - } - var i = 1, args = arguments, len = args.length, str = String(f).replace(formatRegExp, function(x2) { - if (x2 === "%%") - return "%"; - if (i >= len) - return x2; - switch (x2) { - case "%s": - return String(args[i++]); - case "%d": - return Number(args[i++]); - case "%j": - try { - return JSON.stringify(args[i++]); - } catch (_) { - return "[Circular]"; - } - default: - return x2; - } - }); - for (var x = args[i];i < len; x = args[++i]) - if (isNull(x) || !isObject(x)) - str += " " + x; - else - str += " " + inspect(x); - return str; -}, deprecate = function(fn, msg, code) { - if (process.noDeprecation === !0) - return fn; - var warned = !1; - function deprecated() { - if (!warned) { - if (process.throwDeprecation) { - var err = new Error(msg); - if (code) - err.code = code; - throw err; - } else if (process.traceDeprecation) - console.trace(msg); - else - console.error(msg); - warned = !0; - } - return fn.apply(this, arguments); - } - return deprecated; -}, debuglog = function(set) { - if (set = set.toUpperCase(), !debugs[set]) - if (debugEnvRegex.test(set)) { - var pid = process.pid; - debugs[set] = function() { - var msg = format.apply(cjs_exports, arguments); - console.error("%s %d: %s", set, pid, msg); - }; - } else - debugs[set] = function() { - }; - return debugs[set]; -}, inspect = function(obj, opts) { - var ctx = { - seen: [], - stylize: stylizeNoColor - }; - if (arguments.length >= 3) - ctx.depth = arguments[2]; - if (arguments.length >= 4) - ctx.colors = arguments[3]; - if (isBoolean(opts)) - ctx.showHidden = opts; - else if (opts) - _extend(ctx, opts); - if (isUndefined(ctx.showHidden)) - ctx.showHidden = !1; - if (isUndefined(ctx.depth)) - ctx.depth = 2; - if (isUndefined(ctx.colors)) - ctx.colors = !1; - if (isUndefined(ctx.customInspect)) - ctx.customInspect = !0; - if (ctx.colors) - ctx.stylize = stylizeWithColor; - return formatValue(ctx, obj, ctx.depth); -}, stylizeWithColor = function(str, styleType) { - var style = inspect.styles[styleType]; - if (style) - return "\x1B[" + inspect.colors[style][0] + "m" + str + "\x1B[" + inspect.colors[style][1] + "m"; - else - return str; -}, stylizeNoColor = function(str, styleType) { - return str; -}, arrayToHash = function(array) { - var hash = {}; - return array.forEach(function(val, idx) { - hash[val] = !0; - }), hash; -}, formatValue = function(ctx, value, recurseTimes) { - if (ctx.customInspect && value && isFunction(value.inspect) && value.inspect !== inspect && !(value.constructor && value.constructor.prototype === value)) { - var ret = value.inspect(recurseTimes, ctx); - if (!isString(ret)) - ret = formatValue(ctx, ret, recurseTimes); - return ret; - } - var primitive = formatPrimitive(ctx, value); - if (primitive) - return primitive; - var keys = Object.keys(value), visibleKeys = arrayToHash(keys); - if (ctx.showHidden) - keys = Object.getOwnPropertyNames(value); - if (isError(value) && (keys.indexOf("message") >= 0 || keys.indexOf("description") >= 0)) - return formatError(value); - if (keys.length === 0) { - if (isFunction(value)) { - var name = value.name ? ": " + value.name : ""; - return ctx.stylize("[Function" + name + "]", "special"); - } - if (isRegExp2(value)) - return ctx.stylize(RegExp.prototype.toString.call(value), "regexp"); - if (isDate2(value)) - return ctx.stylize(Date.prototype.toString.call(value), "date"); - if (isError(value)) - return formatError(value); - } - var base = "", array = !1, braces = ["{", "}"]; - if (isArray(value)) - array = !0, braces = ["[", "]"]; - if (isFunction(value)) { - var n = value.name ? ": " + value.name : ""; - base = " [Function" + n + "]"; - } - if (isRegExp2(value)) - base = " " + RegExp.prototype.toString.call(value); - if (isDate2(value)) - base = " " + Date.prototype.toUTCString.call(value); - if (isError(value)) - base = " " + formatError(value); - if (keys.length === 0 && (!array || value.length == 0)) - return braces[0] + base + braces[1]; - if (recurseTimes < 0) - if (isRegExp2(value)) - return ctx.stylize(RegExp.prototype.toString.call(value), "regexp"); - else - return ctx.stylize("[Object]", "special"); - ctx.seen.push(value); - var output; - if (array) - output = formatArray(ctx, value, recurseTimes, visibleKeys, keys); - else - output = keys.map(function(key) { - return formatProperty(ctx, value, recurseTimes, visibleKeys, key, array); - }); - return ctx.seen.pop(), reduceToSingleString(output, base, braces); -}, formatPrimitive = function(ctx, value) { - if (isUndefined(value)) - return ctx.stylize("undefined", "undefined"); - if (isString(value)) { - var simple = "'" + JSON.stringify(value).replace(/^"|"$/g, "").replace(/'/g, "\\'").replace(/\\"/g, '"') + "'"; - return ctx.stylize(simple, "string"); - } - if (isNumber(value)) - return ctx.stylize("" + value, "number"); - if (isBoolean(value)) - return ctx.stylize("" + value, "boolean"); - if (isNull(value)) - return ctx.stylize("null", "null"); -}, formatError = function(value) { - return "[" + Error.prototype.toString.call(value) + "]"; -}, formatArray = function(ctx, value, recurseTimes, visibleKeys, keys) { - var output = []; - for (var i = 0, l = value.length;i < l; ++i) - if (hasOwnProperty(value, String(i))) - output.push(formatProperty(ctx, value, recurseTimes, visibleKeys, String(i), !0)); - else - output.push(""); - return keys.forEach(function(key) { - if (!key.match(/^\d+$/)) - output.push(formatProperty(ctx, value, recurseTimes, visibleKeys, key, !0)); - }), output; -}, formatProperty = function(ctx, value, recurseTimes, visibleKeys, key, array) { - var name, str, desc; - if (desc = Object.getOwnPropertyDescriptor(value, key) || { - value: value[key] - }, desc.get) - if (desc.set) - str = ctx.stylize("[Getter/Setter]", "special"); - else - str = ctx.stylize("[Getter]", "special"); - else if (desc.set) - str = ctx.stylize("[Setter]", "special"); - if (!hasOwnProperty(visibleKeys, key)) - name = "[" + key + "]"; - if (!str) - if (ctx.seen.indexOf(desc.value) < 0) { - if (isNull(recurseTimes)) - str = formatValue(ctx, desc.value, null); - else - str = formatValue(ctx, desc.value, recurseTimes - 1); - if (str.indexOf("\n") > -1) - if (array) - str = str.split("\n").map(function(line) { - return " " + line; - }).join("\n").substr(2); - else - str = "\n" + str.split("\n").map(function(line) { - return " " + line; - }).join("\n"); - } else - str = ctx.stylize("[Circular]", "special"); - if (isUndefined(name)) { - if (array && key.match(/^\d+$/)) - return str; - if (name = JSON.stringify("" + key), name.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)) - name = name.substr(1, name.length - 2), name = ctx.stylize(name, "name"); - else - name = name.replace(/'/g, "\\'").replace(/\\"/g, '"').replace(/(^"|"$)/g, "'"), name = ctx.stylize(name, "string"); - } - return name + ": " + str; -}, reduceToSingleString = function(output, base, braces) { - var numLinesEst = 0, length = output.reduce(function(prev, cur) { - if (numLinesEst++, cur.indexOf("\n") >= 0) - numLinesEst++; - return prev + cur.replace(/\u001b\[\d\d?m/g, "").length + 1; - }, 0); - if (length > 60) - return braces[0] + (base === "" ? "" : base + "\n ") + " " + output.join(",\n ") + " " + braces[1]; - return braces[0] + base + " " + output.join(", ") + " " + braces[1]; -}, isArray = function(ar) { - return Array.isArray(ar); -}, isBoolean = function(arg) { - return typeof arg === "boolean"; -}, isNull = function(arg) { - return arg === null; -}, isNullOrUndefined = function(arg) { - return arg == null; -}, isNumber = function(arg) { - return typeof arg === "number"; -}, isString = function(arg) { - return typeof arg === "string"; -}, isSymbol = function(arg) { - return typeof arg === "symbol"; -}, isUndefined = function(arg) { - return arg === void 0; -}, isObject = function(arg) { - return typeof arg === "object" && arg !== null; -}, isPrimitive = function(arg) { - return arg === null || typeof arg === "boolean" || typeof arg === "number" || typeof arg === "string" || typeof arg === "symbol" || typeof arg === "undefined"; -}, pad = function(n) { - return n < 10 ? "0" + n.toString(10) : n.toString(10); -}, timestamp = function() { - var d = new Date, time = [pad(d.getHours()), pad(d.getMinutes()), pad(d.getSeconds())].join(":"); - return [d.getDate(), months[d.getMonth()], time].join(" "); -}, hasOwnProperty = function(obj, prop) { - return Object.prototype.hasOwnProperty.call(obj, prop); -}, callbackifyOnRejected = function(reason, cb) { - if (!reason) { - var newReason = new Error("Promise was rejected with a falsy value"); - newReason.reason = reason, newReason.code = "ERR_FALSY_VALUE_REJECTION", reason = newReason; - } - return cb(reason); -}, callbackify = function(original) { - if (typeof original !== "function") - throw new TypeError('The "original" argument must be of type Function'); - function callbackified() { - var args = Array.prototype.slice.call(arguments), maybeCb = args.pop(); - if (typeof maybeCb !== "function") - throw new TypeError("The last argument must be of type Function"); - var self = this, cb = function() { - return maybeCb.apply(self, arguments); - }; - original.apply(this, args).then(function(ret) { - process.nextTick(cb, null, ret); - }, function(rej) { - process.nextTick(callbackifyOnRejected, rej, cb); - }); - } - return Object.setPrototypeOf(callbackified, Object.getPrototypeOf(original)), Object.defineProperties(callbackified, getOwnPropertyDescriptors(original)), callbackified; -}, cjs_exports = {}, util_default = cjs_exports, __getOwnPropNames = Object.getOwnPropertyNames, __commonJS = (cb, mod) => function __require() { - return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; -}, require_inherits_browser = __commonJS({ - "node_modules/inherits/inherits_browser.js"(exports, module2) { - module2.exports = function inherits(ctor, superCtor) { - ctor.super_ = superCtor, ctor.prototype = Object.create(superCtor.prototype, { - constructor: { - value: ctor, - enumerable: !1, - writable: !0, - configurable: !0 - } - }); - }; - } -}), deepEquals = Bun.deepEquals, isDeepStrictEqual = (a, b) => deepEquals(a, b, !0), getOwnPropertyDescriptors = Object.getOwnPropertyDescriptors, formatRegExp = /%[sdj%]/g, debugs = {}, debugEnvRegex = /^$/; -if (process.env.NODE_DEBUG) - debugEnv = process.env.NODE_DEBUG, debugEnv = debugEnv.replace(/[|\\{}()[\]^$+?.]/g, "\\$&").replace(/\*/g, ".*").replace(/,/g, "$|^").toUpperCase(), debugEnvRegex = new RegExp("^" + debugEnv + "$", "i"); -var debugEnv; -inspect.colors = { - bold: [1, 22], - italic: [3, 23], - underline: [4, 24], - inverse: [7, 27], - white: [37, 39], - grey: [90, 39], - black: [30, 39], - blue: [34, 39], - cyan: [36, 39], - green: [32, 39], - magenta: [35, 39], - red: [31, 39], - yellow: [33, 39] -}; -inspect.styles = { - special: "cyan", - number: "yellow", - boolean: "yellow", - undefined: "grey", - null: "bold", - string: "green", - date: "magenta", - regexp: "red" -}; -var isRegExp2 = types.isRegExp, isDate2 = types.isDate, isError = types.isNativeError, months = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"], log = function log2() { - console.log("%s - %s", timestamp(), format.apply(cjs_exports, arguments)); -}, inherits = inherits = require_inherits_browser(), _extend = function(origin, add) { - if (!add || !isObject(add)) - return origin; - var keys = Object.keys(add), i = keys.length; - while (i--) - origin[keys[i]] = add[keys[i]]; - return origin; -}, kCustomPromisifiedSymbol = Symbol.for("util.promisify.custom"), promisify = function promisify2(original) { - if (typeof original !== "function") - throw new TypeError('The "original" argument must be of type Function'); - if (kCustomPromisifiedSymbol && original[kCustomPromisifiedSymbol]) { - var fn = original[kCustomPromisifiedSymbol]; - if (typeof fn !== "function") - throw new TypeError('The "util.promisify.custom" argument must be of type Function'); - return Object.defineProperty(fn, kCustomPromisifiedSymbol, { - value: fn, - enumerable: !1, - writable: !1, - configurable: !0 - }), fn; - } - function fn() { - var promiseResolve, promiseReject, promise = new Promise(function(resolve, reject) { - promiseResolve = resolve, promiseReject = reject; - }), args = []; - for (var i = 0;i < arguments.length; i++) - args.push(arguments[i]); - args.push(function(err, value) { - if (err) - promiseReject(err); - else - promiseResolve(value); - }); - try { - original.apply(this, args); - } catch (err) { - promiseReject(err); - } - return promise; - } - if (Object.setPrototypeOf(fn, Object.getPrototypeOf(original)), kCustomPromisifiedSymbol) - Object.defineProperty(fn, kCustomPromisifiedSymbol, { - value: fn, - enumerable: !1, - writable: !1, - configurable: !0 - }); - return Object.defineProperties(fn, getOwnPropertyDescriptors(original)); -}; -promisify.custom = kCustomPromisifiedSymbol; -var { TextDecoder, TextEncoder } = globalThis, toUSVString = (input) => { - return (input + "").toWellFormed(); -}; -Object.assign(cjs_exports, { - format, - deprecate, - debuglog, - _extend, - inspect, - types, - isArray, - isBoolean, - isNull, - isNullOrUndefined, - isNumber, - isString, - isSymbol, - isUndefined, - isRegExp: isRegExp2, - isObject, - isDate: isDate2, - isFunction, - isError, - isPrimitive, - isBuffer, - log, - inherits, - toUSVString, - promisify, - callbackify, - isDeepStrictEqual, - TextDecoder, - TextEncoder, - [Symbol.for("CommonJS")]: 0 -}); -export { - default2 as types, - toUSVString, - promisify, - log, - isUndefined, - isSymbol, - isString, - isRegExp2 as isRegExp, - isPrimitive, - isObject, - isNumber, - isNullOrUndefined, - isNull, - isFunction, - isError, - isDeepStrictEqual, - isDate2 as isDate, - isBuffer, - isBoolean, - isArray, - inspect, - inherits, - format, - deprecate, - util_default as default, - debuglog, - callbackify, - TextEncoder, - TextDecoder -}; diff --git a/src/js/out/modules/node/v8.js b/src/js/out/modules/node/v8.js deleted file mode 100644 index b2a42e898f382..0000000000000 --- a/src/js/out/modules/node/v8.js +++ /dev/null @@ -1,140 +0,0 @@ -function throwNotImplemented(feature, issue) { - throw hideFromStack(throwNotImplemented), new NotImplementedError(feature, issue); -} -function hideFromStack(...fns) { - for (let fn of fns) - Object.defineProperty(fn, "name", { - value: "::bunternal::" - }); -} - -class NotImplementedError extends Error { - code; - constructor(feature, issue) { - super(feature + " is not yet implemented in Bun." + (issue ? " Track the status & thumbs up the issue: https://github.com/oven-sh/bun/issues/" + issue : "")); - this.name = "NotImplementedError", this.code = "ERR_NOT_IMPLEMENTED", hideFromStack(NotImplementedError); - } -} - -// src/js/node/v8.ts -import {serialize as jscSerialize, deserialize as jscDeserialize} from "bun:jsc"; -var notimpl = function(message) { - throwNotImplemented("node:v8 " + message); -}, cachedDataVersionTag = function() { - notimpl("cachedDataVersionTag"); -}, getHeapSnapshot = function() { - notimpl("getHeapSnapshot"); -}, getHeapStatistics = function() { - notimpl("getHeapStatistics"); -}, getHeapSpaceStatistics = function() { - notimpl("getHeapSpaceStatistics"); -}, getHeapCodeStatistics = function() { - notimpl("getHeapCodeStatistics"); -}, setFlagsFromString = function() { - notimpl("setFlagsFromString"); -}, deserialize = function(value) { - return jscDeserialize(value); -}, takeCoverage = function() { - notimpl("takeCoverage"); -}, stopCoverage = function() { - notimpl("stopCoverage"); -}, serialize = function(arg1) { - return jscSerialize(arg1, { binaryType: "nodebuffer" }); -}, writeHeapSnapshot = function() { - notimpl("writeHeapSnapshot"); -}, setHeapSnapshotNearHeapLimit = function() { - notimpl("setHeapSnapshotNearHeapLimit"); -}; - -class Deserializer { - constructor() { - notimpl("Deserializer"); - } -} - -class Serializer { - constructor() { - notimpl("Serializer"); - } -} - -class DefaultDeserializer extends Deserializer { - constructor() { - super(...arguments); - } -} - -class DefaultSerializer extends Serializer { - constructor() { - super(...arguments); - } -} - -class GCProfiler { - constructor() { - notimpl("GCProfiler"); - } -} -var promiseHooks = { - createHook: () => { - notimpl("createHook"); - }, - onInit: () => { - notimpl("onInit"); - }, - onBefore: () => { - notimpl("onBefore"); - }, - onAfter: () => { - notimpl("onAfter"); - }, - onSettled: () => { - notimpl("onSettled"); - } -}, startupSnapshot = { - addDeserializeCallback: () => notimpl("addDeserializeCallback"), - addSerializeCallback: () => notimpl("addSerializeCallback"), - setDeserializeMainFunction: () => notimpl("setDeserializeMainFunction"), - isBuildingSnapshot: () => notimpl("isBuildingSnapshot") -}, defaultObject = { - cachedDataVersionTag, - getHeapSnapshot, - getHeapStatistics, - getHeapSpaceStatistics, - getHeapCodeStatistics, - setFlagsFromString, - deserialize, - takeCoverage, - stopCoverage, - serialize, - writeHeapSnapshot, - setHeapSnapshotNearHeapLimit, - promiseHooks, - startupSnapshot, - Deserializer, - Serializer, - [Symbol.for("CommonJS")]: 0 -}; -hideFromStack(notimpl, cachedDataVersionTag, getHeapSnapshot, getHeapStatistics, getHeapSpaceStatistics, getHeapCodeStatistics, setFlagsFromString, deserialize, takeCoverage, stopCoverage, serialize, writeHeapSnapshot, setHeapSnapshotNearHeapLimit, Deserializer, Serializer, DefaultDeserializer, DefaultSerializer, GCProfiler); -export { - writeHeapSnapshot, - takeCoverage, - stopCoverage, - startupSnapshot, - setHeapSnapshotNearHeapLimit, - setFlagsFromString, - serialize, - promiseHooks, - getHeapStatistics, - getHeapSpaceStatistics, - getHeapSnapshot, - getHeapCodeStatistics, - deserialize, - defaultObject as default, - cachedDataVersionTag, - Serializer, - GCProfiler, - Deserializer, - DefaultSerializer, - DefaultDeserializer -}; diff --git a/src/js/out/modules/node/vm.js b/src/js/out/modules/node/vm.js deleted file mode 100644 index 5afa4a3b97345..0000000000000 --- a/src/js/out/modules/node/vm.js +++ /dev/null @@ -1,47 +0,0 @@ -function throwNotImplemented(feature, issue) { - throw hideFromStack(throwNotImplemented), new NotImplementedError(feature, issue); -} -function hideFromStack(...fns) { - for (let fn of fns) - Object.defineProperty(fn, "name", { - value: "::bunternal::" - }); -} - -class NotImplementedError extends Error { - code; - constructor(feature, issue) { - super(feature + " is not yet implemented in Bun." + (issue ? " Track the status & thumbs up the issue: https://github.com/oven-sh/bun/issues/" + issue : "")); - this.name = "NotImplementedError", this.code = "ERR_NOT_IMPLEMENTED", hideFromStack(NotImplementedError); - } -} - -// src/js/node/vm.ts -var runInContext = function(code, context, options) { - return new Script(code, options).runInContext(context); -}, compileFunction = function() { - throwNotImplemented("node:vm compileFunction", 401); -}, measureMemory = function() { - throwNotImplemented("node:vm measureMemory", 401); -}, vm = globalThis[Symbol.for("Bun.lazy")]("vm"), { createContext, isContext, Script, runInNewContext, runInThisContext } = vm, defaultObject = { - createContext, - runInContext, - runInNewContext, - runInThisContext, - isContext, - compileFunction, - measureMemory, - Script, - [Symbol.for("CommonJS")]: 0 -}; -export { - runInThisContext, - runInNewContext, - runInContext, - measureMemory, - isContext, - defaultObject as default, - createContext, - compileFunction, - Script -}; diff --git a/src/js/out/modules/node/wasi.js b/src/js/out/modules/node/wasi.js deleted file mode 100644 index ab6cf6abf66ad..0000000000000 --- a/src/js/out/modules/node/wasi.js +++ /dev/null @@ -1,1102 +0,0 @@ -var nodeFsConstants = constants, __getOwnPropNames = Object.getOwnPropertyNames, __commonJS = (cb, mod) => function __require2() { - return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; -}, require_types = __commonJS({ - "node_modules/wasi-js/dist/types.js"(exports) { - Object.defineProperty(exports, "__esModule", { value: !0 }), exports.WASIKillError = exports.WASIExitError = exports.WASIError = void 0; - var WASIError = class extends Error { - constructor(errno) { - super(); - this.errno = errno, Object.setPrototypeOf(this, WASIError.prototype); - } - }; - exports.WASIError = WASIError; - var WASIExitError = class extends Error { - constructor(code) { - super(`WASI Exit error: ${code}`); - this.code = code, Object.setPrototypeOf(this, WASIExitError.prototype); - } - }; - exports.WASIExitError = WASIExitError; - var WASIKillError = class extends Error { - constructor(signal) { - super(`WASI Kill signal: ${signal}`); - this.signal = signal, Object.setPrototypeOf(this, WASIKillError.prototype); - } - }; - exports.WASIKillError = WASIKillError; - } -}), require_constants = __commonJS({ - "node_modules/wasi-js/dist/constants.js"(exports) { - Object.defineProperty(exports, "__esModule", { value: !0 }), exports.WASI_ENOMSG = exports.WASI_ENOMEM = exports.WASI_ENOLINK = exports.WASI_ENOLCK = exports.WASI_ENOEXEC = exports.WASI_ENOENT = exports.WASI_ENODEV = exports.WASI_ENOBUFS = exports.WASI_ENFILE = exports.WASI_ENETUNREACH = exports.WASI_ENETRESET = exports.WASI_ENETDOWN = exports.WASI_ENAMETOOLONG = exports.WASI_EMULTIHOP = exports.WASI_EMSGSIZE = exports.WASI_EMLINK = exports.WASI_EMFILE = exports.WASI_ELOOP = exports.WASI_EISDIR = exports.WASI_EISCONN = exports.WASI_EIO = exports.WASI_EINVAL = exports.WASI_EINTR = exports.WASI_EINPROGRESS = exports.WASI_EILSEQ = exports.WASI_EIDRM = exports.WASI_EHOSTUNREACH = exports.WASI_EFBIG = exports.WASI_EFAULT = exports.WASI_EEXIST = exports.WASI_EDQUOT = exports.WASI_EDOM = exports.WASI_EDESTADDRREQ = exports.WASI_EDEADLK = exports.WASI_ECONNRESET = exports.WASI_ECONNREFUSED = exports.WASI_ECONNABORTED = exports.WASI_ECHILD = exports.WASI_ECANCELED = exports.WASI_EBUSY = exports.WASI_EBADMSG = exports.WASI_EBADF = exports.WASI_EALREADY = exports.WASI_EAGAIN = exports.WASI_EAFNOSUPPORT = exports.WASI_EADDRNOTAVAIL = exports.WASI_EADDRINUSE = exports.WASI_EACCES = exports.WASI_E2BIG = exports.WASI_ESUCCESS = void 0, exports.WASI_SIGVTALRM = exports.WASI_SIGUSR2 = exports.WASI_SIGUSR1 = exports.WASI_SIGURG = exports.WASI_SIGTTOU = exports.WASI_SIGTTIN = exports.WASI_SIGTSTP = exports.WASI_SIGTRAP = exports.WASI_SIGTERM = exports.WASI_SIGSTOP = exports.WASI_SIGSEGV = exports.WASI_SIGQUIT = exports.WASI_SIGPIPE = exports.WASI_SIGKILL = exports.WASI_SIGINT = exports.WASI_SIGILL = exports.WASI_SIGHUP = exports.WASI_SIGFPE = exports.WASI_SIGCONT = exports.WASI_SIGCHLD = exports.WASI_SIGBUS = exports.WASI_SIGALRM = exports.WASI_SIGABRT = exports.WASI_ENOTCAPABLE = exports.WASI_EXDEV = exports.WASI_ETXTBSY = exports.WASI_ETIMEDOUT = exports.WASI_ESTALE = exports.WASI_ESRCH = exports.WASI_ESPIPE = exports.WASI_EROFS = exports.WASI_ERANGE = exports.WASI_EPROTOTYPE = exports.WASI_EPROTONOSUPPORT = exports.WASI_EPROTO = exports.WASI_EPIPE = exports.WASI_EPERM = exports.WASI_EOWNERDEAD = exports.WASI_EOVERFLOW = exports.WASI_ENXIO = exports.WASI_ENOTTY = exports.WASI_ENOTSUP = exports.WASI_ENOTSOCK = exports.WASI_ENOTRECOVERABLE = exports.WASI_ENOTEMPTY = exports.WASI_ENOTDIR = exports.WASI_ENOTCONN = exports.WASI_ENOSYS = exports.WASI_ENOSPC = exports.WASI_ENOPROTOOPT = void 0, exports.RIGHTS_REGULAR_FILE_BASE = exports.RIGHTS_CHARACTER_DEVICE_INHERITING = exports.RIGHTS_CHARACTER_DEVICE_BASE = exports.RIGHTS_BLOCK_DEVICE_INHERITING = exports.RIGHTS_BLOCK_DEVICE_BASE = exports.RIGHTS_ALL = exports.WASI_RIGHT_SOCK_SHUTDOWN = exports.WASI_RIGHT_POLL_FD_READWRITE = exports.WASI_RIGHT_PATH_UNLINK_FILE = exports.WASI_RIGHT_PATH_REMOVE_DIRECTORY = exports.WASI_RIGHT_PATH_SYMLINK = exports.WASI_RIGHT_FD_FILESTAT_SET_TIMES = exports.WASI_RIGHT_FD_FILESTAT_SET_SIZE = exports.WASI_RIGHT_FD_FILESTAT_GET = exports.WASI_RIGHT_PATH_FILESTAT_SET_TIMES = exports.WASI_RIGHT_PATH_FILESTAT_SET_SIZE = exports.WASI_RIGHT_PATH_FILESTAT_GET = exports.WASI_RIGHT_PATH_RENAME_TARGET = exports.WASI_RIGHT_PATH_RENAME_SOURCE = exports.WASI_RIGHT_PATH_READLINK = exports.WASI_RIGHT_FD_READDIR = exports.WASI_RIGHT_PATH_OPEN = exports.WASI_RIGHT_PATH_LINK_TARGET = exports.WASI_RIGHT_PATH_LINK_SOURCE = exports.WASI_RIGHT_PATH_CREATE_FILE = exports.WASI_RIGHT_PATH_CREATE_DIRECTORY = exports.WASI_RIGHT_FD_ALLOCATE = exports.WASI_RIGHT_FD_ADVISE = exports.WASI_RIGHT_FD_WRITE = exports.WASI_RIGHT_FD_TELL = exports.WASI_RIGHT_FD_SYNC = exports.WASI_RIGHT_FD_FDSTAT_SET_FLAGS = exports.WASI_RIGHT_FD_SEEK = exports.WASI_RIGHT_FD_READ = exports.WASI_RIGHT_FD_DATASYNC = exports.WASI_FDFLAG_SYNC = exports.WASI_FDFLAG_RSYNC = exports.WASI_FDFLAG_NONBLOCK = exports.WASI_FDFLAG_DSYNC = exports.WASI_FDFLAG_APPEND = exports.WASI_FILETYPE_SYMBOLIC_LINK = exports.WASI_FILETYPE_SOCKET_STREAM = exports.WASI_FILETYPE_SOCKET_DGRAM = exports.WASI_FILETYPE_REGULAR_FILE = exports.WASI_FILETYPE_DIRECTORY = exports.WASI_FILETYPE_CHARACTER_DEVICE = exports.WASI_FILETYPE_BLOCK_DEVICE = exports.WASI_FILETYPE_UNKNOWN = exports.WASI_SIGXFSZ = exports.WASI_SIGXCPU = void 0, exports.SIGNAL_MAP = exports.ERROR_MAP = exports.WASI_WHENCE_END = exports.WASI_WHENCE_CUR = exports.WASI_WHENCE_SET = exports.WASI_STDERR_FILENO = exports.WASI_STDOUT_FILENO = exports.WASI_STDIN_FILENO = exports.WASI_DIRCOOKIE_START = exports.WASI_PREOPENTYPE_DIR = exports.WASI_O_TRUNC = exports.WASI_O_EXCL = exports.WASI_O_DIRECTORY = exports.WASI_O_CREAT = exports.WASI_FILESTAT_SET_MTIM_NOW = exports.WASI_FILESTAT_SET_MTIM = exports.WASI_FILESTAT_SET_ATIM_NOW = exports.WASI_FILESTAT_SET_ATIM = exports.WASI_EVENTTYPE_FD_WRITE = exports.WASI_EVENTTYPE_FD_READ = exports.WASI_EVENTTYPE_CLOCK = exports.WASI_CLOCK_THREAD_CPUTIME_ID = exports.WASI_CLOCK_PROCESS_CPUTIME_ID = exports.WASI_CLOCK_MONOTONIC = exports.WASI_CLOCK_REALTIME = exports.RIGHTS_TTY_INHERITING = exports.RIGHTS_TTY_BASE = exports.RIGHTS_SOCKET_INHERITING = exports.RIGHTS_SOCKET_BASE = exports.RIGHTS_DIRECTORY_INHERITING = exports.RIGHTS_DIRECTORY_BASE = exports.RIGHTS_REGULAR_FILE_INHERITING = void 0, exports.WASI_ESUCCESS = 0, exports.WASI_E2BIG = 1, exports.WASI_EACCES = 2, exports.WASI_EADDRINUSE = 3, exports.WASI_EADDRNOTAVAIL = 4, exports.WASI_EAFNOSUPPORT = 5, exports.WASI_EAGAIN = 6, exports.WASI_EALREADY = 7, exports.WASI_EBADF = 8, exports.WASI_EBADMSG = 9, exports.WASI_EBUSY = 10, exports.WASI_ECANCELED = 11, exports.WASI_ECHILD = 12, exports.WASI_ECONNABORTED = 13, exports.WASI_ECONNREFUSED = 14, exports.WASI_ECONNRESET = 15, exports.WASI_EDEADLK = 16, exports.WASI_EDESTADDRREQ = 17, exports.WASI_EDOM = 18, exports.WASI_EDQUOT = 19, exports.WASI_EEXIST = 20, exports.WASI_EFAULT = 21, exports.WASI_EFBIG = 22, exports.WASI_EHOSTUNREACH = 23, exports.WASI_EIDRM = 24, exports.WASI_EILSEQ = 25, exports.WASI_EINPROGRESS = 26, exports.WASI_EINTR = 27, exports.WASI_EINVAL = 28, exports.WASI_EIO = 29, exports.WASI_EISCONN = 30, exports.WASI_EISDIR = 31, exports.WASI_ELOOP = 32, exports.WASI_EMFILE = 33, exports.WASI_EMLINK = 34, exports.WASI_EMSGSIZE = 35, exports.WASI_EMULTIHOP = 36, exports.WASI_ENAMETOOLONG = 37, exports.WASI_ENETDOWN = 38, exports.WASI_ENETRESET = 39, exports.WASI_ENETUNREACH = 40, exports.WASI_ENFILE = 41, exports.WASI_ENOBUFS = 42, exports.WASI_ENODEV = 43, exports.WASI_ENOENT = 44, exports.WASI_ENOEXEC = 45, exports.WASI_ENOLCK = 46, exports.WASI_ENOLINK = 47, exports.WASI_ENOMEM = 48, exports.WASI_ENOMSG = 49, exports.WASI_ENOPROTOOPT = 50, exports.WASI_ENOSPC = 51, exports.WASI_ENOSYS = 52, exports.WASI_ENOTCONN = 53, exports.WASI_ENOTDIR = 54, exports.WASI_ENOTEMPTY = 55, exports.WASI_ENOTRECOVERABLE = 56, exports.WASI_ENOTSOCK = 57, exports.WASI_ENOTSUP = 58, exports.WASI_ENOTTY = 59, exports.WASI_ENXIO = 60, exports.WASI_EOVERFLOW = 61, exports.WASI_EOWNERDEAD = 62, exports.WASI_EPERM = 63, exports.WASI_EPIPE = 64, exports.WASI_EPROTO = 65, exports.WASI_EPROTONOSUPPORT = 66, exports.WASI_EPROTOTYPE = 67, exports.WASI_ERANGE = 68, exports.WASI_EROFS = 69, exports.WASI_ESPIPE = 70, exports.WASI_ESRCH = 71, exports.WASI_ESTALE = 72, exports.WASI_ETIMEDOUT = 73, exports.WASI_ETXTBSY = 74, exports.WASI_EXDEV = 75, exports.WASI_ENOTCAPABLE = 76, exports.WASI_SIGABRT = 0, exports.WASI_SIGALRM = 1, exports.WASI_SIGBUS = 2, exports.WASI_SIGCHLD = 3, exports.WASI_SIGCONT = 4, exports.WASI_SIGFPE = 5, exports.WASI_SIGHUP = 6, exports.WASI_SIGILL = 7, exports.WASI_SIGINT = 8, exports.WASI_SIGKILL = 9, exports.WASI_SIGPIPE = 10, exports.WASI_SIGQUIT = 11, exports.WASI_SIGSEGV = 12, exports.WASI_SIGSTOP = 13, exports.WASI_SIGTERM = 14, exports.WASI_SIGTRAP = 15, exports.WASI_SIGTSTP = 16, exports.WASI_SIGTTIN = 17, exports.WASI_SIGTTOU = 18, exports.WASI_SIGURG = 19, exports.WASI_SIGUSR1 = 20, exports.WASI_SIGUSR2 = 21, exports.WASI_SIGVTALRM = 22, exports.WASI_SIGXCPU = 23, exports.WASI_SIGXFSZ = 24, exports.WASI_FILETYPE_UNKNOWN = 0, exports.WASI_FILETYPE_BLOCK_DEVICE = 1, exports.WASI_FILETYPE_CHARACTER_DEVICE = 2, exports.WASI_FILETYPE_DIRECTORY = 3, exports.WASI_FILETYPE_REGULAR_FILE = 4, exports.WASI_FILETYPE_SOCKET_DGRAM = 5, exports.WASI_FILETYPE_SOCKET_STREAM = 6, exports.WASI_FILETYPE_SYMBOLIC_LINK = 7, exports.WASI_FDFLAG_APPEND = 1, exports.WASI_FDFLAG_DSYNC = 2, exports.WASI_FDFLAG_NONBLOCK = 4, exports.WASI_FDFLAG_RSYNC = 8, exports.WASI_FDFLAG_SYNC = 16, exports.WASI_RIGHT_FD_DATASYNC = BigInt(1), exports.WASI_RIGHT_FD_READ = BigInt(2), exports.WASI_RIGHT_FD_SEEK = BigInt(4), exports.WASI_RIGHT_FD_FDSTAT_SET_FLAGS = BigInt(8), exports.WASI_RIGHT_FD_SYNC = BigInt(16), exports.WASI_RIGHT_FD_TELL = BigInt(32), exports.WASI_RIGHT_FD_WRITE = BigInt(64), exports.WASI_RIGHT_FD_ADVISE = BigInt(128), exports.WASI_RIGHT_FD_ALLOCATE = BigInt(256), exports.WASI_RIGHT_PATH_CREATE_DIRECTORY = BigInt(512), exports.WASI_RIGHT_PATH_CREATE_FILE = BigInt(1024), exports.WASI_RIGHT_PATH_LINK_SOURCE = BigInt(2048), exports.WASI_RIGHT_PATH_LINK_TARGET = BigInt(4096), exports.WASI_RIGHT_PATH_OPEN = BigInt(8192), exports.WASI_RIGHT_FD_READDIR = BigInt(16384), exports.WASI_RIGHT_PATH_READLINK = BigInt(32768), exports.WASI_RIGHT_PATH_RENAME_SOURCE = BigInt(65536), exports.WASI_RIGHT_PATH_RENAME_TARGET = BigInt(131072), exports.WASI_RIGHT_PATH_FILESTAT_GET = BigInt(262144), exports.WASI_RIGHT_PATH_FILESTAT_SET_SIZE = BigInt(524288), exports.WASI_RIGHT_PATH_FILESTAT_SET_TIMES = BigInt(1048576), exports.WASI_RIGHT_FD_FILESTAT_GET = BigInt(2097152), exports.WASI_RIGHT_FD_FILESTAT_SET_SIZE = BigInt(4194304), exports.WASI_RIGHT_FD_FILESTAT_SET_TIMES = BigInt(8388608), exports.WASI_RIGHT_PATH_SYMLINK = BigInt(16777216), exports.WASI_RIGHT_PATH_REMOVE_DIRECTORY = BigInt(33554432), exports.WASI_RIGHT_PATH_UNLINK_FILE = BigInt(67108864), exports.WASI_RIGHT_POLL_FD_READWRITE = BigInt(134217728), exports.WASI_RIGHT_SOCK_SHUTDOWN = BigInt(268435456), exports.RIGHTS_ALL = exports.WASI_RIGHT_FD_DATASYNC | exports.WASI_RIGHT_FD_READ | exports.WASI_RIGHT_FD_SEEK | exports.WASI_RIGHT_FD_FDSTAT_SET_FLAGS | exports.WASI_RIGHT_FD_SYNC | exports.WASI_RIGHT_FD_TELL | exports.WASI_RIGHT_FD_WRITE | exports.WASI_RIGHT_FD_ADVISE | exports.WASI_RIGHT_FD_ALLOCATE | exports.WASI_RIGHT_PATH_CREATE_DIRECTORY | exports.WASI_RIGHT_PATH_CREATE_FILE | exports.WASI_RIGHT_PATH_LINK_SOURCE | exports.WASI_RIGHT_PATH_LINK_TARGET | exports.WASI_RIGHT_PATH_OPEN | exports.WASI_RIGHT_FD_READDIR | exports.WASI_RIGHT_PATH_READLINK | exports.WASI_RIGHT_PATH_RENAME_SOURCE | exports.WASI_RIGHT_PATH_RENAME_TARGET | exports.WASI_RIGHT_PATH_FILESTAT_GET | exports.WASI_RIGHT_PATH_FILESTAT_SET_SIZE | exports.WASI_RIGHT_PATH_FILESTAT_SET_TIMES | exports.WASI_RIGHT_FD_FILESTAT_GET | exports.WASI_RIGHT_FD_FILESTAT_SET_TIMES | exports.WASI_RIGHT_FD_FILESTAT_SET_SIZE | exports.WASI_RIGHT_PATH_SYMLINK | exports.WASI_RIGHT_PATH_UNLINK_FILE | exports.WASI_RIGHT_PATH_REMOVE_DIRECTORY | exports.WASI_RIGHT_POLL_FD_READWRITE | exports.WASI_RIGHT_SOCK_SHUTDOWN, exports.RIGHTS_BLOCK_DEVICE_BASE = exports.RIGHTS_ALL, exports.RIGHTS_BLOCK_DEVICE_INHERITING = exports.RIGHTS_ALL, exports.RIGHTS_CHARACTER_DEVICE_BASE = exports.RIGHTS_ALL, exports.RIGHTS_CHARACTER_DEVICE_INHERITING = exports.RIGHTS_ALL, exports.RIGHTS_REGULAR_FILE_BASE = exports.WASI_RIGHT_FD_DATASYNC | exports.WASI_RIGHT_FD_READ | exports.WASI_RIGHT_FD_SEEK | exports.WASI_RIGHT_FD_FDSTAT_SET_FLAGS | exports.WASI_RIGHT_FD_SYNC | exports.WASI_RIGHT_FD_TELL | exports.WASI_RIGHT_FD_WRITE | exports.WASI_RIGHT_FD_ADVISE | exports.WASI_RIGHT_FD_ALLOCATE | exports.WASI_RIGHT_FD_FILESTAT_GET | exports.WASI_RIGHT_FD_FILESTAT_SET_SIZE | exports.WASI_RIGHT_FD_FILESTAT_SET_TIMES | exports.WASI_RIGHT_POLL_FD_READWRITE, exports.RIGHTS_REGULAR_FILE_INHERITING = BigInt(0), exports.RIGHTS_DIRECTORY_BASE = exports.WASI_RIGHT_FD_FDSTAT_SET_FLAGS | exports.WASI_RIGHT_FD_SYNC | exports.WASI_RIGHT_FD_ADVISE | exports.WASI_RIGHT_PATH_CREATE_DIRECTORY | exports.WASI_RIGHT_PATH_CREATE_FILE | exports.WASI_RIGHT_PATH_LINK_SOURCE | exports.WASI_RIGHT_PATH_LINK_TARGET | exports.WASI_RIGHT_PATH_OPEN | exports.WASI_RIGHT_FD_READDIR | exports.WASI_RIGHT_PATH_READLINK | exports.WASI_RIGHT_PATH_RENAME_SOURCE | exports.WASI_RIGHT_PATH_RENAME_TARGET | exports.WASI_RIGHT_PATH_FILESTAT_GET | exports.WASI_RIGHT_PATH_FILESTAT_SET_SIZE | exports.WASI_RIGHT_PATH_FILESTAT_SET_TIMES | exports.WASI_RIGHT_FD_FILESTAT_GET | exports.WASI_RIGHT_FD_FILESTAT_SET_TIMES | exports.WASI_RIGHT_PATH_SYMLINK | exports.WASI_RIGHT_PATH_UNLINK_FILE | exports.WASI_RIGHT_PATH_REMOVE_DIRECTORY | exports.WASI_RIGHT_POLL_FD_READWRITE, exports.RIGHTS_DIRECTORY_INHERITING = exports.RIGHTS_DIRECTORY_BASE | exports.RIGHTS_REGULAR_FILE_BASE, exports.RIGHTS_SOCKET_BASE = exports.WASI_RIGHT_FD_READ | exports.WASI_RIGHT_FD_FDSTAT_SET_FLAGS | exports.WASI_RIGHT_FD_WRITE | exports.WASI_RIGHT_FD_FILESTAT_GET | exports.WASI_RIGHT_POLL_FD_READWRITE | exports.WASI_RIGHT_SOCK_SHUTDOWN, exports.RIGHTS_SOCKET_INHERITING = exports.RIGHTS_ALL, exports.RIGHTS_TTY_BASE = exports.WASI_RIGHT_FD_READ | exports.WASI_RIGHT_FD_FDSTAT_SET_FLAGS | exports.WASI_RIGHT_FD_WRITE | exports.WASI_RIGHT_FD_FILESTAT_GET | exports.WASI_RIGHT_POLL_FD_READWRITE, exports.RIGHTS_TTY_INHERITING = BigInt(0), exports.WASI_CLOCK_REALTIME = 0, exports.WASI_CLOCK_MONOTONIC = 1, exports.WASI_CLOCK_PROCESS_CPUTIME_ID = 2, exports.WASI_CLOCK_THREAD_CPUTIME_ID = 3, exports.WASI_EVENTTYPE_CLOCK = 0, exports.WASI_EVENTTYPE_FD_READ = 1, exports.WASI_EVENTTYPE_FD_WRITE = 2, exports.WASI_FILESTAT_SET_ATIM = 1 << 0, exports.WASI_FILESTAT_SET_ATIM_NOW = 1 << 1, exports.WASI_FILESTAT_SET_MTIM = 1 << 2, exports.WASI_FILESTAT_SET_MTIM_NOW = 1 << 3, exports.WASI_O_CREAT = 1 << 0, exports.WASI_O_DIRECTORY = 1 << 1, exports.WASI_O_EXCL = 1 << 2, exports.WASI_O_TRUNC = 1 << 3, exports.WASI_PREOPENTYPE_DIR = 0, exports.WASI_DIRCOOKIE_START = 0, exports.WASI_STDIN_FILENO = 0, exports.WASI_STDOUT_FILENO = 1, exports.WASI_STDERR_FILENO = 2, exports.WASI_WHENCE_SET = 0, exports.WASI_WHENCE_CUR = 1, exports.WASI_WHENCE_END = 2, exports.ERROR_MAP = { - E2BIG: exports.WASI_E2BIG, - EACCES: exports.WASI_EACCES, - EADDRINUSE: exports.WASI_EADDRINUSE, - EADDRNOTAVAIL: exports.WASI_EADDRNOTAVAIL, - EAFNOSUPPORT: exports.WASI_EAFNOSUPPORT, - EALREADY: exports.WASI_EALREADY, - EAGAIN: exports.WASI_EAGAIN, - EBADF: exports.WASI_EBADF, - EBADMSG: exports.WASI_EBADMSG, - EBUSY: exports.WASI_EBUSY, - ECANCELED: exports.WASI_ECANCELED, - ECHILD: exports.WASI_ECHILD, - ECONNABORTED: exports.WASI_ECONNABORTED, - ECONNREFUSED: exports.WASI_ECONNREFUSED, - ECONNRESET: exports.WASI_ECONNRESET, - EDEADLOCK: exports.WASI_EDEADLK, - EDESTADDRREQ: exports.WASI_EDESTADDRREQ, - EDOM: exports.WASI_EDOM, - EDQUOT: exports.WASI_EDQUOT, - EEXIST: exports.WASI_EEXIST, - EFAULT: exports.WASI_EFAULT, - EFBIG: exports.WASI_EFBIG, - EHOSTDOWN: exports.WASI_EHOSTUNREACH, - EHOSTUNREACH: exports.WASI_EHOSTUNREACH, - EIDRM: exports.WASI_EIDRM, - EILSEQ: exports.WASI_EILSEQ, - EINPROGRESS: exports.WASI_EINPROGRESS, - EINTR: exports.WASI_EINTR, - EINVAL: exports.WASI_EINVAL, - EIO: exports.WASI_EIO, - EISCONN: exports.WASI_EISCONN, - EISDIR: exports.WASI_EISDIR, - ELOOP: exports.WASI_ELOOP, - EMFILE: exports.WASI_EMFILE, - EMLINK: exports.WASI_EMLINK, - EMSGSIZE: exports.WASI_EMSGSIZE, - EMULTIHOP: exports.WASI_EMULTIHOP, - ENAMETOOLONG: exports.WASI_ENAMETOOLONG, - ENETDOWN: exports.WASI_ENETDOWN, - ENETRESET: exports.WASI_ENETRESET, - ENETUNREACH: exports.WASI_ENETUNREACH, - ENFILE: exports.WASI_ENFILE, - ENOBUFS: exports.WASI_ENOBUFS, - ENODEV: exports.WASI_ENODEV, - ENOENT: exports.WASI_ENOENT, - ENOEXEC: exports.WASI_ENOEXEC, - ENOLCK: exports.WASI_ENOLCK, - ENOLINK: exports.WASI_ENOLINK, - ENOMEM: exports.WASI_ENOMEM, - ENOMSG: exports.WASI_ENOMSG, - ENOPROTOOPT: exports.WASI_ENOPROTOOPT, - ENOSPC: exports.WASI_ENOSPC, - ENOSYS: exports.WASI_ENOSYS, - ENOTCONN: exports.WASI_ENOTCONN, - ENOTDIR: exports.WASI_ENOTDIR, - ENOTEMPTY: exports.WASI_ENOTEMPTY, - ENOTRECOVERABLE: exports.WASI_ENOTRECOVERABLE, - ENOTSOCK: exports.WASI_ENOTSOCK, - ENOTTY: exports.WASI_ENOTTY, - ENXIO: exports.WASI_ENXIO, - EOVERFLOW: exports.WASI_EOVERFLOW, - EOWNERDEAD: exports.WASI_EOWNERDEAD, - EPERM: exports.WASI_EPERM, - EPIPE: exports.WASI_EPIPE, - EPROTO: exports.WASI_EPROTO, - EPROTONOSUPPORT: exports.WASI_EPROTONOSUPPORT, - EPROTOTYPE: exports.WASI_EPROTOTYPE, - ERANGE: exports.WASI_ERANGE, - EROFS: exports.WASI_EROFS, - ESPIPE: exports.WASI_ESPIPE, - ESRCH: exports.WASI_ESRCH, - ESTALE: exports.WASI_ESTALE, - ETIMEDOUT: exports.WASI_ETIMEDOUT, - ETXTBSY: exports.WASI_ETXTBSY, - EXDEV: exports.WASI_EXDEV - }, exports.SIGNAL_MAP = { - [exports.WASI_SIGHUP]: "SIGHUP", - [exports.WASI_SIGINT]: "SIGINT", - [exports.WASI_SIGQUIT]: "SIGQUIT", - [exports.WASI_SIGILL]: "SIGILL", - [exports.WASI_SIGTRAP]: "SIGTRAP", - [exports.WASI_SIGABRT]: "SIGABRT", - [exports.WASI_SIGBUS]: "SIGBUS", - [exports.WASI_SIGFPE]: "SIGFPE", - [exports.WASI_SIGKILL]: "SIGKILL", - [exports.WASI_SIGUSR1]: "SIGUSR1", - [exports.WASI_SIGSEGV]: "SIGSEGV", - [exports.WASI_SIGUSR2]: "SIGUSR2", - [exports.WASI_SIGPIPE]: "SIGPIPE", - [exports.WASI_SIGALRM]: "SIGALRM", - [exports.WASI_SIGTERM]: "SIGTERM", - [exports.WASI_SIGCHLD]: "SIGCHLD", - [exports.WASI_SIGCONT]: "SIGCONT", - [exports.WASI_SIGSTOP]: "SIGSTOP", - [exports.WASI_SIGTSTP]: "SIGTSTP", - [exports.WASI_SIGTTIN]: "SIGTTIN", - [exports.WASI_SIGTTOU]: "SIGTTOU", - [exports.WASI_SIGURG]: "SIGURG", - [exports.WASI_SIGXCPU]: "SIGXCPU", - [exports.WASI_SIGXFSZ]: "SIGXFSZ", - [exports.WASI_SIGVTALRM]: "SIGVTALRM" - }; - } -}), require_wasi = __commonJS({ - "node_modules/wasi-js/dist/wasi.js"(exports) { - var __importDefault = exports && exports.__importDefault || function(mod) { - return mod && mod.__esModule ? mod : { default: mod }; - }; - let fs; - Object.defineProperty(exports, "__esModule", { value: !0 }), exports.SOCKET_DEFAULT_RIGHTS = void 0; - var log = () => { - }, logOpen = () => { - }, SC_OPEN_MAX = 32768, types_1 = require_types(), constants_1 = require_constants(), STDIN_DEFAULT_RIGHTS = constants_1.WASI_RIGHT_FD_DATASYNC | constants_1.WASI_RIGHT_FD_READ | constants_1.WASI_RIGHT_FD_SYNC | constants_1.WASI_RIGHT_FD_ADVISE | constants_1.WASI_RIGHT_FD_FILESTAT_GET | constants_1.WASI_RIGHT_POLL_FD_READWRITE, STDOUT_DEFAULT_RIGHTS = constants_1.WASI_RIGHT_FD_DATASYNC | constants_1.WASI_RIGHT_FD_WRITE | constants_1.WASI_RIGHT_FD_SYNC | constants_1.WASI_RIGHT_FD_ADVISE | constants_1.WASI_RIGHT_FD_FILESTAT_GET | constants_1.WASI_RIGHT_POLL_FD_READWRITE, STDERR_DEFAULT_RIGHTS = STDOUT_DEFAULT_RIGHTS; - exports.SOCKET_DEFAULT_RIGHTS = constants_1.WASI_RIGHT_FD_DATASYNC | constants_1.WASI_RIGHT_FD_READ | constants_1.WASI_RIGHT_FD_WRITE | constants_1.WASI_RIGHT_FD_ADVISE | constants_1.WASI_RIGHT_FD_FILESTAT_GET | constants_1.WASI_RIGHT_POLL_FD_READWRITE | constants_1.WASI_RIGHT_FD_FDSTAT_SET_FLAGS; - var msToNs = (ms) => { - const msInt = Math.trunc(ms), decimal = BigInt(Math.round((ms - msInt) * 1e6)); - return BigInt(msInt) * BigInt(1e6) + decimal; - }, nsToMs = (ns) => { - if (typeof ns === "number") - ns = Math.trunc(ns); - const nsInt = BigInt(ns); - return Number(nsInt / BigInt(1e6)); - }, wrap = (f) => (...args) => { - try { - return f(...args); - } catch (err) { - let e = err; - while (e.prev != null) - e = e.prev; - if (e?.code && typeof e?.code === "string") - return constants_1.ERROR_MAP[e.code] || constants_1.WASI_EINVAL; - if (e instanceof types_1.WASIError) - return e.errno; - throw e; - } - }, stat = (wasi, fd) => { - const entry = wasi.FD_MAP.get(fd); - if (!entry) - throw new types_1.WASIError(constants_1.WASI_EBADF); - if (entry.filetype === void 0) { - const stats = wasi.fstatSync(entry.real), { filetype, rightsBase, rightsInheriting } = translateFileAttributes(wasi, fd, stats); - if (entry.filetype = filetype, !entry.rights) - entry.rights = { - base: rightsBase, - inheriting: rightsInheriting - }; - } - return entry; - }, translateFileAttributes = (wasi, fd, stats) => { - switch (!0) { - case stats.isBlockDevice(): - return { - filetype: constants_1.WASI_FILETYPE_BLOCK_DEVICE, - rightsBase: constants_1.RIGHTS_BLOCK_DEVICE_BASE, - rightsInheriting: constants_1.RIGHTS_BLOCK_DEVICE_INHERITING - }; - case stats.isCharacterDevice(): { - const filetype = constants_1.WASI_FILETYPE_CHARACTER_DEVICE; - if (fd !== void 0 && wasi.bindings.isTTY(fd)) - return { - filetype, - rightsBase: constants_1.RIGHTS_TTY_BASE, - rightsInheriting: constants_1.RIGHTS_TTY_INHERITING - }; - return { - filetype, - rightsBase: constants_1.RIGHTS_CHARACTER_DEVICE_BASE, - rightsInheriting: constants_1.RIGHTS_CHARACTER_DEVICE_INHERITING - }; - } - case stats.isDirectory(): - return { - filetype: constants_1.WASI_FILETYPE_DIRECTORY, - rightsBase: constants_1.RIGHTS_DIRECTORY_BASE, - rightsInheriting: constants_1.RIGHTS_DIRECTORY_INHERITING - }; - case stats.isFIFO(): - return { - filetype: constants_1.WASI_FILETYPE_SOCKET_STREAM, - rightsBase: constants_1.RIGHTS_SOCKET_BASE, - rightsInheriting: constants_1.RIGHTS_SOCKET_INHERITING - }; - case stats.isFile(): - return { - filetype: constants_1.WASI_FILETYPE_REGULAR_FILE, - rightsBase: constants_1.RIGHTS_REGULAR_FILE_BASE, - rightsInheriting: constants_1.RIGHTS_REGULAR_FILE_INHERITING - }; - case stats.isSocket(): - return { - filetype: constants_1.WASI_FILETYPE_SOCKET_STREAM, - rightsBase: constants_1.RIGHTS_SOCKET_BASE, - rightsInheriting: constants_1.RIGHTS_SOCKET_INHERITING - }; - case stats.isSymbolicLink(): - return { - filetype: constants_1.WASI_FILETYPE_SYMBOLIC_LINK, - rightsBase: BigInt(0), - rightsInheriting: BigInt(0) - }; - default: - return { - filetype: constants_1.WASI_FILETYPE_UNKNOWN, - rightsBase: BigInt(0), - rightsInheriting: BigInt(0) - }; - } - }, warnedAboutSleep = !1, defaultConfig; - function getDefaults() { - if (defaultConfig) - return defaultConfig; - const defaultBindings = { - hrtime: () => process.hrtime.bigint(), - exit: (code) => { - process.exit(code); - }, - kill: (signal) => { - process.kill(process.pid, signal); - }, - randomFillSync: (array) => crypto.getRandomValues(array), - isTTY: (fd) => import.meta.require("node:tty").isatty(fd), - fs: Bun.fs(), - path: import.meta.require("node:path") - }; - return defaultConfig = { - args: [], - env: {}, - preopens: {}, - bindings: defaultBindings, - sleep: (ms) => { - Bun.sleepSync(ms); - } - }; - } - var WASI = class WASI2 { - constructor(wasiConfig = {}) { - const defaultConfig2 = getDefaults(); - this.lastStdin = 0, this.sleep = wasiConfig.sleep || defaultConfig2.sleep, this.getStdin = wasiConfig.getStdin, this.sendStdout = wasiConfig.sendStdout, this.sendStderr = wasiConfig.sendStderr; - let preopens = wasiConfig.preopens ?? defaultConfig2.preopens; - this.env = wasiConfig.env ?? defaultConfig2.env; - const args = wasiConfig.args ?? defaultConfig2.args; - this.memory = void 0, this.view = void 0, this.bindings = wasiConfig.bindings || defaultConfig2.bindings; - const bindings2 = this.bindings; - fs = bindings2.fs, this.FD_MAP = new Map([ - [ - constants_1.WASI_STDIN_FILENO, - { - real: 0, - filetype: constants_1.WASI_FILETYPE_CHARACTER_DEVICE, - rights: { - base: STDIN_DEFAULT_RIGHTS, - inheriting: BigInt(0) - }, - path: "/dev/stdin" - } - ], - [ - constants_1.WASI_STDOUT_FILENO, - { - real: 1, - filetype: constants_1.WASI_FILETYPE_CHARACTER_DEVICE, - rights: { - base: STDOUT_DEFAULT_RIGHTS, - inheriting: BigInt(0) - }, - path: "/dev/stdout" - } - ], - [ - constants_1.WASI_STDERR_FILENO, - { - real: 2, - filetype: constants_1.WASI_FILETYPE_CHARACTER_DEVICE, - rights: { - base: STDERR_DEFAULT_RIGHTS, - inheriting: BigInt(0) - }, - path: "/dev/stderr" - } - ] - ]); - const path = bindings2.path; - for (let [k, v] of Object.entries(preopens)) { - const real = fs.openSync(v, nodeFsConstants.O_RDONLY), newfd = this.getUnusedFileDescriptor(); - this.FD_MAP.set(newfd, { - real, - filetype: constants_1.WASI_FILETYPE_DIRECTORY, - rights: { - base: constants_1.RIGHTS_DIRECTORY_BASE, - inheriting: constants_1.RIGHTS_DIRECTORY_INHERITING - }, - fakePath: k, - path: v - }); - } - const getiovs = (iovs, iovsLen) => { - this.refreshMemory(); - const { view, memory } = this, { buffer } = memory, { byteLength } = buffer; - if (iovsLen === 1) { - const ptr = iovs, buf = view.getUint32(ptr, !0); - let bufLen = view.getUint32(ptr + 4, !0); - if (bufLen > byteLength - buf) - console.log({ - buf, - bufLen, - total_memory: byteLength - }), log("getiovs: warning -- truncating buffer to fit in memory"), bufLen = Math.min(bufLen, Math.max(0, byteLength - buf)); - try { - return [new Uint8Array(buffer, buf, bufLen)]; - } catch (err) { - throw console.warn("WASI.getiovs -- invalid buffer", err), new types_1.WASIError(constants_1.WASI_EINVAL); - } - } - const buffers = []; - buffers.length = iovsLen; - for (let i = 0, ptr = iovs;i < iovsLen; i++, ptr += 8) { - const buf = view.getUint32(ptr, !0); - let bufLen = view.getUint32(ptr + 4, !0); - if (bufLen > byteLength - buf) - console.log({ - buf, - bufLen, - total_memory: byteLength - }), log("getiovs: warning -- truncating buffer to fit in memory"), bufLen = Math.min(bufLen, Math.max(0, byteLength - buf)); - try { - buffers[i] = new Uint8Array(buffer, buf, bufLen); - } catch (err) { - throw console.warn("WASI.getiovs -- invalid buffer", err), new types_1.WASIError(constants_1.WASI_EINVAL); - } - } - return buffers; - }, CHECK_FD = (fd, rights) => { - const stats = stat(this, fd); - if (rights !== BigInt(0) && (stats.rights.base & rights) === BigInt(0)) - throw new types_1.WASIError(constants_1.WASI_EPERM); - return stats; - }, CPUTIME_START = Bun.nanoseconds(), timeOrigin = Math.trunc(performance.timeOrigin * 1e6), now = (clockId) => { - switch (clockId) { - case constants_1.WASI_CLOCK_MONOTONIC: - return Bun.nanoseconds(); - case constants_1.WASI_CLOCK_REALTIME: - return Bun.nanoseconds() + timeOrigin; - case constants_1.WASI_CLOCK_PROCESS_CPUTIME_ID: - case constants_1.WASI_CLOCK_THREAD_CPUTIME_ID: - return Bun.nanoseconds() - CPUTIME_START; - default: - return null; - } - }; - if (this.wasiImport = { - args_get: (argv, argvBuf) => { - this.refreshMemory(); - let coffset = argv, offset = argvBuf; - return args.forEach((a) => { - this.view.setUint32(coffset, offset, !0), coffset += 4, offset += Buffer.from(this.memory.buffer).write(`${a}\0`, offset); - }), constants_1.WASI_ESUCCESS; - }, - args_sizes_get: (argc, argvBufSize) => { - this.refreshMemory(), this.view.setUint32(argc, args.length, !0); - const size = args.reduce((acc, a) => acc + Buffer.byteLength(a) + 1, 0); - return this.view.setUint32(argvBufSize, size, !0), constants_1.WASI_ESUCCESS; - }, - environ_get: (environ, environBuf) => { - this.refreshMemory(); - let coffset = environ, offset = environBuf; - return Object.entries(this.env).forEach(([key, value]) => { - this.view.setUint32(coffset, offset, !0), coffset += 4, offset += Buffer.from(this.memory.buffer).write(`${key}=${value}\0`, offset); - }), constants_1.WASI_ESUCCESS; - }, - environ_sizes_get: (environCount, environBufSize) => { - this.refreshMemory(); - const envProcessed = Object.entries(this.env).map(([key, value]) => `${key}=${value}\0`), size = envProcessed.reduce((acc, e) => acc + Buffer.byteLength(e), 0); - return this.view.setUint32(environCount, envProcessed.length, !0), this.view.setUint32(environBufSize, size, !0), constants_1.WASI_ESUCCESS; - }, - clock_res_get: (clockId, resolution) => { - let res; - switch (clockId) { - case constants_1.WASI_CLOCK_MONOTONIC: - case constants_1.WASI_CLOCK_PROCESS_CPUTIME_ID: - case constants_1.WASI_CLOCK_THREAD_CPUTIME_ID: { - res = BigInt(1); - break; - } - case constants_1.WASI_CLOCK_REALTIME: { - res = BigInt(1000); - break; - } - } - if (!res) - throw Error("invalid clockId"); - return this.view.setBigUint64(resolution, res), constants_1.WASI_ESUCCESS; - }, - clock_time_get: (clockId, _precision, time) => { - this.refreshMemory(); - const n = now(clockId); - if (n === null) - return constants_1.WASI_EINVAL; - return this.view.setBigUint64(time, BigInt(n), !0), constants_1.WASI_ESUCCESS; - }, - fd_advise: wrap((fd, _offset, _len, _advice) => { - return CHECK_FD(fd, constants_1.WASI_RIGHT_FD_ADVISE), constants_1.WASI_ENOSYS; - }), - fd_allocate: wrap((fd, _offset, _len) => { - return CHECK_FD(fd, constants_1.WASI_RIGHT_FD_ALLOCATE), constants_1.WASI_ENOSYS; - }), - fd_close: wrap((fd) => { - const stats = CHECK_FD(fd, BigInt(0)); - return fs.closeSync(stats.real), this.FD_MAP.delete(fd), constants_1.WASI_ESUCCESS; - }), - fd_datasync: wrap((fd) => { - const stats = CHECK_FD(fd, constants_1.WASI_RIGHT_FD_DATASYNC); - return fs.fdatasyncSync(stats.real), constants_1.WASI_ESUCCESS; - }), - fd_fdstat_get: wrap((fd, bufPtr) => { - const stats = CHECK_FD(fd, BigInt(0)); - if (this.refreshMemory(), stats.filetype == null) - throw Error("stats.filetype must be set"); - return this.view.setUint8(bufPtr, stats.filetype), this.view.setUint16(bufPtr + 2, 0, !0), this.view.setUint16(bufPtr + 4, 0, !0), this.view.setBigUint64(bufPtr + 8, BigInt(stats.rights.base), !0), this.view.setBigUint64(bufPtr + 8 + 8, BigInt(stats.rights.inheriting), !0), constants_1.WASI_ESUCCESS; - }), - fd_fdstat_set_flags: wrap((fd, flags) => { - if (CHECK_FD(fd, constants_1.WASI_RIGHT_FD_FDSTAT_SET_FLAGS), this.wasiImport.sock_fcntlSetFlags(fd, flags) == 0) - return constants_1.WASI_ESUCCESS; - return constants_1.WASI_ENOSYS; - }), - fd_fdstat_set_rights: wrap((fd, fsRightsBase, fsRightsInheriting) => { - const stats = CHECK_FD(fd, BigInt(0)); - if ((stats.rights.base | fsRightsBase) > stats.rights.base) - return constants_1.WASI_EPERM; - if ((stats.rights.inheriting | fsRightsInheriting) > stats.rights.inheriting) - return constants_1.WASI_EPERM; - return stats.rights.base = fsRightsBase, stats.rights.inheriting = fsRightsInheriting, constants_1.WASI_ESUCCESS; - }), - fd_filestat_get: wrap((fd, bufPtr) => { - const stats = CHECK_FD(fd, constants_1.WASI_RIGHT_FD_FILESTAT_GET), rstats = this.fstatSync(stats.real); - if (this.refreshMemory(), this.view.setBigUint64(bufPtr, BigInt(rstats.dev), !0), bufPtr += 8, this.view.setBigUint64(bufPtr, BigInt(rstats.ino), !0), bufPtr += 8, stats.filetype == null) - throw Error("stats.filetype must be set"); - return this.view.setUint8(bufPtr, stats.filetype), bufPtr += 8, this.view.setBigUint64(bufPtr, BigInt(rstats.nlink), !0), bufPtr += 8, this.view.setBigUint64(bufPtr, BigInt(rstats.size), !0), bufPtr += 8, this.view.setBigUint64(bufPtr, msToNs(rstats.atimeMs), !0), bufPtr += 8, this.view.setBigUint64(bufPtr, msToNs(rstats.mtimeMs), !0), bufPtr += 8, this.view.setBigUint64(bufPtr, msToNs(rstats.ctimeMs), !0), constants_1.WASI_ESUCCESS; - }), - fd_filestat_set_size: wrap((fd, stSize) => { - const stats = CHECK_FD(fd, constants_1.WASI_RIGHT_FD_FILESTAT_SET_SIZE); - return fs.ftruncateSync(stats.real, Number(stSize)), constants_1.WASI_ESUCCESS; - }), - fd_filestat_set_times: wrap((fd, stAtim, stMtim, fstflags) => { - const stats = CHECK_FD(fd, constants_1.WASI_RIGHT_FD_FILESTAT_SET_TIMES), rstats = this.fstatSync(stats.real); - let { atime: atim, mtime: mtim } = rstats; - const n = nsToMs(now(constants_1.WASI_CLOCK_REALTIME)), atimflags = constants_1.WASI_FILESTAT_SET_ATIM | constants_1.WASI_FILESTAT_SET_ATIM_NOW; - if ((fstflags & atimflags) === atimflags) - return constants_1.WASI_EINVAL; - const mtimflags = constants_1.WASI_FILESTAT_SET_MTIM | constants_1.WASI_FILESTAT_SET_MTIM_NOW; - if ((fstflags & mtimflags) === mtimflags) - return constants_1.WASI_EINVAL; - if ((fstflags & constants_1.WASI_FILESTAT_SET_ATIM) === constants_1.WASI_FILESTAT_SET_ATIM) - atim = nsToMs(stAtim); - else if ((fstflags & constants_1.WASI_FILESTAT_SET_ATIM_NOW) === constants_1.WASI_FILESTAT_SET_ATIM_NOW) - atim = n; - if ((fstflags & constants_1.WASI_FILESTAT_SET_MTIM) === constants_1.WASI_FILESTAT_SET_MTIM) - mtim = nsToMs(stMtim); - else if ((fstflags & constants_1.WASI_FILESTAT_SET_MTIM_NOW) === constants_1.WASI_FILESTAT_SET_MTIM_NOW) - mtim = n; - return fs.futimesSync(stats.real, new Date(atim), new Date(mtim)), constants_1.WASI_ESUCCESS; - }), - fd_prestat_get: wrap((fd, bufPtr) => { - const stats = CHECK_FD(fd, BigInt(0)); - return this.refreshMemory(), this.view.setUint8(bufPtr, constants_1.WASI_PREOPENTYPE_DIR), this.view.setUint32(bufPtr + 4, Buffer.byteLength(stats.fakePath ?? stats.path ?? ""), !0), constants_1.WASI_ESUCCESS; - }), - fd_prestat_dir_name: wrap((fd, pathPtr, pathLen) => { - const stats = CHECK_FD(fd, BigInt(0)); - return this.refreshMemory(), Buffer.from(this.memory.buffer).write(stats.fakePath ?? stats.path ?? "", pathPtr, pathLen, "utf8"), constants_1.WASI_ESUCCESS; - }), - fd_pwrite: wrap((fd, iovs, iovsLen, offset, nwritten) => { - const stats = CHECK_FD(fd, constants_1.WASI_RIGHT_FD_WRITE | constants_1.WASI_RIGHT_FD_SEEK); - let written = 0; - return getiovs(iovs, iovsLen).forEach((iov) => { - let w = 0; - while (w < iov.byteLength) - w += fs.writeSync(stats.real, iov, w, iov.byteLength - w, Number(offset) + written + w); - written += w; - }), this.view.setUint32(nwritten, written, !0), constants_1.WASI_ESUCCESS; - }), - fd_write: wrap((fd, iovs, iovsLen, nwritten) => { - const stats = CHECK_FD(fd, constants_1.WASI_RIGHT_FD_WRITE), IS_STDOUT = fd == constants_1.WASI_STDOUT_FILENO, IS_STDERR = fd == constants_1.WASI_STDERR_FILENO; - let written = 0; - return getiovs(iovs, iovsLen).forEach((iov) => { - if (iov.byteLength == 0) - return; - if (IS_STDOUT && this.sendStdout != null) - this.sendStdout(iov), written += iov.byteLength; - else if (IS_STDERR && this.sendStderr != null) - this.sendStderr(iov), written += iov.byteLength; - else { - let w = 0; - while (w < iov.byteLength) { - const i = fs.writeSync(stats.real, iov, w, iov.byteLength - w, stats.offset ? Number(stats.offset) : null); - if (stats.offset) - stats.offset += BigInt(i); - w += i; - } - written += w; - } - }), this.view.setUint32(nwritten, written, !0), constants_1.WASI_ESUCCESS; - }), - fd_pread: wrap((fd, iovs, iovsLen, offset, nread) => { - const stats = CHECK_FD(fd, constants_1.WASI_RIGHT_FD_READ | constants_1.WASI_RIGHT_FD_SEEK); - let read = 0; - outer: - for (let iov of getiovs(iovs, iovsLen)) { - let r = 0; - while (r < iov.byteLength) { - const length = iov.byteLength - r, rr = fs.readSync(stats.real, iov, r, iov.byteLength - r, Number(offset) + read + r); - if (r += rr, read += rr, rr === 0 || rr < length) - break outer; - } - read += r; - } - return this.view.setUint32(nread, read, !0), constants_1.WASI_ESUCCESS; - }), - fd_read: wrap((fd, iovs, iovsLen, nread) => { - const stats = CHECK_FD(fd, constants_1.WASI_RIGHT_FD_READ), IS_STDIN = fd == constants_1.WASI_STDIN_FILENO; - let read = 0; - outer: - for (let iov of getiovs(iovs, iovsLen)) { - let r = 0; - while (r < iov.byteLength) { - let length = iov.byteLength - r, position = IS_STDIN || stats.offset === void 0 ? null : Number(stats.offset), rr = 0; - if (IS_STDIN) - if (this.getStdin != null) { - if (this.stdinBuffer == null) - this.stdinBuffer = this.getStdin(); - if (this.stdinBuffer != null) { - if (rr = this.stdinBuffer.copy(iov), rr == this.stdinBuffer.length) - this.stdinBuffer = void 0; - else - this.stdinBuffer = this.stdinBuffer.slice(rr); - if (rr > 0) - this.lastStdin = (new Date()).valueOf(); - } - } else { - if (this.sleep == null && !warnedAboutSleep) - warnedAboutSleep = !0, console.log("(cpu waiting for stdin: please define a way to sleep!) "); - try { - rr = fs.readSync(stats.real, iov, r, length, position); - } catch (_err) { - } - if (rr == 0) - this.shortPause(); - else - this.lastStdin = (new Date()).valueOf(); - } - else - rr = fs.readSync(stats.real, iov, r, length, position); - if (stats.filetype == constants_1.WASI_FILETYPE_REGULAR_FILE) - stats.offset = (stats.offset ? stats.offset : BigInt(0)) + BigInt(rr); - if (r += rr, read += rr, rr === 0 || rr < length) - break outer; - } - } - return this.view.setUint32(nread, read, !0), constants_1.WASI_ESUCCESS; - }), - fd_readdir: wrap((fd, bufPtr, bufLen, cookie, bufusedPtr) => { - const stats = CHECK_FD(fd, constants_1.WASI_RIGHT_FD_READDIR); - this.refreshMemory(); - const entries = fs.readdirSync(stats.path, { withFileTypes: !0 }), startPtr = bufPtr; - for (let i = Number(cookie);i < entries.length; i += 1) { - const entry = entries[i]; - let nameLength = Buffer.byteLength(entry.name); - if (bufPtr - startPtr > bufLen) - break; - if (this.view.setBigUint64(bufPtr, BigInt(i + 1), !0), bufPtr += 8, bufPtr - startPtr > bufLen) - break; - const rstats = fs.lstatSync(path.resolve(stats.path, entry.name)); - if (this.view.setBigUint64(bufPtr, BigInt(rstats.ino), !0), bufPtr += 8, bufPtr - startPtr > bufLen) - break; - if (this.view.setUint32(bufPtr, nameLength, !0), bufPtr += 4, bufPtr - startPtr > bufLen) - break; - let filetype; - switch (!0) { - case rstats.isBlockDevice(): - filetype = constants_1.WASI_FILETYPE_BLOCK_DEVICE; - break; - case rstats.isCharacterDevice(): - filetype = constants_1.WASI_FILETYPE_CHARACTER_DEVICE; - break; - case rstats.isDirectory(): - filetype = constants_1.WASI_FILETYPE_DIRECTORY; - break; - case rstats.isFIFO(): - filetype = constants_1.WASI_FILETYPE_SOCKET_STREAM; - break; - case rstats.isFile(): - filetype = constants_1.WASI_FILETYPE_REGULAR_FILE; - break; - case rstats.isSocket(): - filetype = constants_1.WASI_FILETYPE_SOCKET_STREAM; - break; - case rstats.isSymbolicLink(): - filetype = constants_1.WASI_FILETYPE_SYMBOLIC_LINK; - break; - default: - filetype = constants_1.WASI_FILETYPE_UNKNOWN; - break; - } - if (this.view.setUint8(bufPtr, filetype), bufPtr += 1, bufPtr += 3, bufPtr + nameLength >= startPtr + bufLen) - break; - Buffer.from(this.memory.buffer).write(entry.name, bufPtr), bufPtr += nameLength; - } - const bufused = bufPtr - startPtr; - return this.view.setUint32(bufusedPtr, Math.min(bufused, bufLen), !0), constants_1.WASI_ESUCCESS; - }), - fd_renumber: wrap((from, to) => { - return CHECK_FD(from, BigInt(0)), CHECK_FD(to, BigInt(0)), fs.closeSync(this.FD_MAP.get(from).real), this.FD_MAP.set(from, this.FD_MAP.get(to)), this.FD_MAP.delete(to), constants_1.WASI_ESUCCESS; - }), - fd_seek: wrap((fd, offset, whence, newOffsetPtr) => { - const stats = CHECK_FD(fd, constants_1.WASI_RIGHT_FD_SEEK); - switch (this.refreshMemory(), whence) { - case constants_1.WASI_WHENCE_CUR: - stats.offset = (stats.offset ? stats.offset : BigInt(0)) + BigInt(offset); - break; - case constants_1.WASI_WHENCE_END: - const { size } = this.fstatSync(stats.real); - stats.offset = BigInt(size) + BigInt(offset); - break; - case constants_1.WASI_WHENCE_SET: - stats.offset = BigInt(offset); - break; - } - if (stats.offset == null) - throw Error("stats.offset must be defined"); - return this.view.setBigUint64(newOffsetPtr, stats.offset, !0), constants_1.WASI_ESUCCESS; - }), - fd_tell: wrap((fd, offsetPtr) => { - const stats = CHECK_FD(fd, constants_1.WASI_RIGHT_FD_TELL); - if (this.refreshMemory(), !stats.offset) - stats.offset = BigInt(0); - return this.view.setBigUint64(offsetPtr, stats.offset, !0), constants_1.WASI_ESUCCESS; - }), - fd_sync: wrap((fd) => { - const stats = CHECK_FD(fd, constants_1.WASI_RIGHT_FD_SYNC); - return fs.fsyncSync(stats.real), constants_1.WASI_ESUCCESS; - }), - path_create_directory: wrap((fd, pathPtr, pathLen) => { - const stats = CHECK_FD(fd, constants_1.WASI_RIGHT_PATH_CREATE_DIRECTORY); - if (!stats.path) - return constants_1.WASI_EINVAL; - this.refreshMemory(); - const p = Buffer.from(this.memory.buffer, pathPtr, pathLen).toString(); - return fs.mkdirSync(path.resolve(stats.path, p)), constants_1.WASI_ESUCCESS; - }), - path_filestat_get: wrap((fd, flags, pathPtr, pathLen, bufPtr) => { - const stats = CHECK_FD(fd, constants_1.WASI_RIGHT_PATH_FILESTAT_GET); - if (!stats.path) - return constants_1.WASI_EINVAL; - this.refreshMemory(); - const p = Buffer.from(this.memory.buffer, pathPtr, pathLen).toString(); - let rstats; - if (flags) - rstats = fs.statSync(path.resolve(stats.path, p)); - else - rstats = fs.lstatSync(path.resolve(stats.path, p)); - return this.view.setBigUint64(bufPtr, BigInt(rstats.dev), !0), bufPtr += 8, this.view.setBigUint64(bufPtr, BigInt(rstats.ino), !0), bufPtr += 8, this.view.setUint8(bufPtr, translateFileAttributes(this, void 0, rstats).filetype), bufPtr += 8, this.view.setBigUint64(bufPtr, BigInt(rstats.nlink), !0), bufPtr += 8, this.view.setBigUint64(bufPtr, BigInt(rstats.size), !0), bufPtr += 8, this.view.setBigUint64(bufPtr, BigInt(rstats.atime.getTime() * 1e6), !0), bufPtr += 8, this.view.setBigUint64(bufPtr, BigInt(rstats.mtime.getTime() * 1e6), !0), bufPtr += 8, this.view.setBigUint64(bufPtr, BigInt(rstats.ctime.getTime() * 1e6), !0), constants_1.WASI_ESUCCESS; - }), - path_filestat_set_times: wrap((fd, _dirflags, pathPtr, pathLen, stAtim, stMtim, fstflags) => { - const stats = CHECK_FD(fd, constants_1.WASI_RIGHT_PATH_FILESTAT_SET_TIMES); - if (!stats.path) - return constants_1.WASI_EINVAL; - this.refreshMemory(); - const rstats = this.fstatSync(stats.real); - let { atime: atim, mtime: mtim } = rstats; - const n = nsToMs(now(constants_1.WASI_CLOCK_REALTIME)), atimflags = constants_1.WASI_FILESTAT_SET_ATIM | constants_1.WASI_FILESTAT_SET_ATIM_NOW; - if ((fstflags & atimflags) === atimflags) - return constants_1.WASI_EINVAL; - const mtimflags = constants_1.WASI_FILESTAT_SET_MTIM | constants_1.WASI_FILESTAT_SET_MTIM_NOW; - if ((fstflags & mtimflags) === mtimflags) - return constants_1.WASI_EINVAL; - if ((fstflags & constants_1.WASI_FILESTAT_SET_ATIM) === constants_1.WASI_FILESTAT_SET_ATIM) - atim = nsToMs(stAtim); - else if ((fstflags & constants_1.WASI_FILESTAT_SET_ATIM_NOW) === constants_1.WASI_FILESTAT_SET_ATIM_NOW) - atim = n; - if ((fstflags & constants_1.WASI_FILESTAT_SET_MTIM) === constants_1.WASI_FILESTAT_SET_MTIM) - mtim = nsToMs(stMtim); - else if ((fstflags & constants_1.WASI_FILESTAT_SET_MTIM_NOW) === constants_1.WASI_FILESTAT_SET_MTIM_NOW) - mtim = n; - const p = Buffer.from(this.memory.buffer, pathPtr, pathLen).toString(); - return fs.utimesSync(path.resolve(stats.path, p), new Date(atim), new Date(mtim)), constants_1.WASI_ESUCCESS; - }), - path_link: wrap((oldFd, _oldFlags, oldPath, oldPathLen, newFd, newPath, newPathLen) => { - const ostats = CHECK_FD(oldFd, constants_1.WASI_RIGHT_PATH_LINK_SOURCE), nstats = CHECK_FD(newFd, constants_1.WASI_RIGHT_PATH_LINK_TARGET); - if (!ostats.path || !nstats.path) - return constants_1.WASI_EINVAL; - this.refreshMemory(); - const op = Buffer.from(this.memory.buffer, oldPath, oldPathLen).toString(), np = Buffer.from(this.memory.buffer, newPath, newPathLen).toString(); - return fs.linkSync(path.resolve(ostats.path, op), path.resolve(nstats.path, np)), constants_1.WASI_ESUCCESS; - }), - path_open: wrap((dirfd, _dirflags, pathPtr, pathLen, oflags, fsRightsBase, fsRightsInheriting, fsFlags, fdPtr) => { - try { - const stats = CHECK_FD(dirfd, constants_1.WASI_RIGHT_PATH_OPEN); - fsRightsBase = BigInt(fsRightsBase), fsRightsInheriting = BigInt(fsRightsInheriting); - const read = (fsRightsBase & (constants_1.WASI_RIGHT_FD_READ | constants_1.WASI_RIGHT_FD_READDIR)) !== BigInt(0), write = (fsRightsBase & (constants_1.WASI_RIGHT_FD_DATASYNC | constants_1.WASI_RIGHT_FD_WRITE | constants_1.WASI_RIGHT_FD_ALLOCATE | constants_1.WASI_RIGHT_FD_FILESTAT_SET_SIZE)) !== BigInt(0); - let noflags; - if (write && read) - noflags = nodeFsConstants.O_RDWR; - else if (read) - noflags = nodeFsConstants.O_RDONLY; - else if (write) - noflags = nodeFsConstants.O_WRONLY; - let neededBase = fsRightsBase | constants_1.WASI_RIGHT_PATH_OPEN, neededInheriting = fsRightsBase | fsRightsInheriting; - if ((oflags & constants_1.WASI_O_CREAT) !== 0) - noflags |= nodeFsConstants.O_CREAT, neededBase |= constants_1.WASI_RIGHT_PATH_CREATE_FILE; - if ((oflags & constants_1.WASI_O_DIRECTORY) !== 0) - noflags |= nodeFsConstants.O_DIRECTORY; - if ((oflags & constants_1.WASI_O_EXCL) !== 0) - noflags |= nodeFsConstants.O_EXCL; - if ((oflags & constants_1.WASI_O_TRUNC) !== 0) - noflags |= nodeFsConstants.O_TRUNC, neededBase |= constants_1.WASI_RIGHT_PATH_FILESTAT_SET_SIZE; - if ((fsFlags & constants_1.WASI_FDFLAG_APPEND) !== 0) - noflags |= nodeFsConstants.O_APPEND; - if ((fsFlags & constants_1.WASI_FDFLAG_DSYNC) !== 0) { - if (nodeFsConstants.O_DSYNC) - noflags |= nodeFsConstants.O_DSYNC; - else - noflags |= nodeFsConstants.O_SYNC; - neededInheriting |= constants_1.WASI_RIGHT_FD_DATASYNC; - } - if ((fsFlags & constants_1.WASI_FDFLAG_NONBLOCK) !== 0) - noflags |= nodeFsConstants.O_NONBLOCK; - if ((fsFlags & constants_1.WASI_FDFLAG_RSYNC) !== 0) { - if (nodeFsConstants.O_RSYNC) - noflags |= nodeFsConstants.O_RSYNC; - else - noflags |= nodeFsConstants.O_SYNC; - neededInheriting |= constants_1.WASI_RIGHT_FD_SYNC; - } - if ((fsFlags & constants_1.WASI_FDFLAG_SYNC) !== 0) - noflags |= nodeFsConstants.O_SYNC, neededInheriting |= constants_1.WASI_RIGHT_FD_SYNC; - if (write && (noflags & (nodeFsConstants.O_APPEND | nodeFsConstants.O_TRUNC)) === 0) - neededInheriting |= constants_1.WASI_RIGHT_FD_SEEK; - this.refreshMemory(); - const p = Buffer.from(this.memory.buffer, pathPtr, pathLen).toString(); - if (p == "dev/tty") - return this.view.setUint32(fdPtr, constants_1.WASI_STDIN_FILENO, !0), constants_1.WASI_ESUCCESS; - if (logOpen("path_open", p), p.startsWith("proc/")) - throw new types_1.WASIError(constants_1.WASI_EBADF); - const fullUnresolved = path.resolve(p); - let full; - try { - full = fs.realpathSync(fullUnresolved); - } catch (e) { - if (e?.code === "ENOENT") - full = fullUnresolved; - else - throw e; - } - let isDirectory; - if (write) - try { - isDirectory = fs.statSync(full).isDirectory(); - } catch (_err) { - } - let realfd; - if (!write && isDirectory) - realfd = fs.openSync(full, nodeFsConstants.O_RDONLY); - else - realfd = fs.openSync(full, noflags); - const newfd = this.getUnusedFileDescriptor(); - this.FD_MAP.set(newfd, { - real: realfd, - filetype: void 0, - rights: { - base: neededBase, - inheriting: neededInheriting - }, - path: full - }), stat(this, newfd), this.view.setUint32(fdPtr, newfd, !0); - } catch (e) { - console.error(e); - } - return constants_1.WASI_ESUCCESS; - }), - path_readlink: wrap((fd, pathPtr, pathLen, buf, bufLen, bufused) => { - const stats = CHECK_FD(fd, constants_1.WASI_RIGHT_PATH_READLINK); - if (!stats.path) - return constants_1.WASI_EINVAL; - this.refreshMemory(); - const p = Buffer.from(this.memory.buffer, pathPtr, pathLen).toString(), full = path.resolve(stats.path, p), r = fs.readlinkSync(full), used = Buffer.from(this.memory.buffer).write(r, buf, bufLen); - return this.view.setUint32(bufused, used, !0), constants_1.WASI_ESUCCESS; - }), - path_remove_directory: wrap((fd, pathPtr, pathLen) => { - const stats = CHECK_FD(fd, constants_1.WASI_RIGHT_PATH_REMOVE_DIRECTORY); - if (!stats.path) - return constants_1.WASI_EINVAL; - this.refreshMemory(); - const p = Buffer.from(this.memory.buffer, pathPtr, pathLen).toString(); - return fs.rmdirSync(path.resolve(stats.path, p)), constants_1.WASI_ESUCCESS; - }), - path_rename: wrap((oldFd, oldPath, oldPathLen, newFd, newPath, newPathLen) => { - const ostats = CHECK_FD(oldFd, constants_1.WASI_RIGHT_PATH_RENAME_SOURCE), nstats = CHECK_FD(newFd, constants_1.WASI_RIGHT_PATH_RENAME_TARGET); - if (!ostats.path || !nstats.path) - return constants_1.WASI_EINVAL; - this.refreshMemory(); - const op = Buffer.from(this.memory.buffer, oldPath, oldPathLen).toString(), np = Buffer.from(this.memory.buffer, newPath, newPathLen).toString(); - return fs.renameSync(path.resolve(ostats.path, op), path.resolve(nstats.path, np)), constants_1.WASI_ESUCCESS; - }), - path_symlink: wrap((oldPath, oldPathLen, fd, newPath, newPathLen) => { - const stats = CHECK_FD(fd, constants_1.WASI_RIGHT_PATH_SYMLINK); - if (!stats.path) - return constants_1.WASI_EINVAL; - this.refreshMemory(); - const op = Buffer.from(this.memory.buffer, oldPath, oldPathLen).toString(), np = Buffer.from(this.memory.buffer, newPath, newPathLen).toString(); - return fs.symlinkSync(op, path.resolve(stats.path, np)), constants_1.WASI_ESUCCESS; - }), - path_unlink_file: wrap((fd, pathPtr, pathLen) => { - const stats = CHECK_FD(fd, constants_1.WASI_RIGHT_PATH_UNLINK_FILE); - if (!stats.path) - return constants_1.WASI_EINVAL; - this.refreshMemory(); - const p = Buffer.from(this.memory.buffer, pathPtr, pathLen).toString(); - return fs.unlinkSync(path.resolve(stats.path, p)), constants_1.WASI_ESUCCESS; - }), - poll_oneoff: (sin, sout, nsubscriptions, neventsPtr) => { - let nevents = 0, name = "", waitTimeNs = BigInt(0), fd = -1, fd_type = "read", fd_timeout_ms = 0; - const startNs = BigInt(bindings2.hrtime()); - this.refreshMemory(); - let last_sin = sin; - for (let i = 0;i < nsubscriptions; i += 1) { - const userdata = this.view.getBigUint64(sin, !0); - sin += 8; - const type = this.view.getUint8(sin); - if (sin += 1, sin += 7, log.enabled) { - if (type == constants_1.WASI_EVENTTYPE_CLOCK) - name = "poll_oneoff (type=WASI_EVENTTYPE_CLOCK): "; - else if (type == constants_1.WASI_EVENTTYPE_FD_READ) - name = "poll_oneoff (type=WASI_EVENTTYPE_FD_READ): "; - else - name = "poll_oneoff (type=WASI_EVENTTYPE_FD_WRITE): "; - log(name); - } - switch (type) { - case constants_1.WASI_EVENTTYPE_CLOCK: { - const clockid = this.view.getUint32(sin, !0); - sin += 4, sin += 4; - const timeout = this.view.getBigUint64(sin, !0); - sin += 8, sin += 8; - const subclockflags = this.view.getUint16(sin, !0); - sin += 2, sin += 6; - const absolute = subclockflags === 1; - if (log.enabled) - log(name, { clockid, timeout, absolute }); - if (!absolute) - fd_timeout_ms = timeout / BigInt(1e6); - let e = constants_1.WASI_ESUCCESS; - const t = now(clockid); - if (t == null) - e = constants_1.WASI_EINVAL; - else { - const tNS = BigInt(t), waitNs = (absolute ? timeout : tNS + timeout) - tNS; - if (waitNs > waitTimeNs) - waitTimeNs = waitNs; - } - this.view.setBigUint64(sout, userdata, !0), sout += 8, this.view.setUint16(sout, e, !0), sout += 2, this.view.setUint8(sout, constants_1.WASI_EVENTTYPE_CLOCK), sout += 1, sout += 5, nevents += 1; - break; - } - case constants_1.WASI_EVENTTYPE_FD_READ: - case constants_1.WASI_EVENTTYPE_FD_WRITE: { - if (fd = this.view.getUint32(sin, !0), fd_type = type == constants_1.WASI_EVENTTYPE_FD_READ ? "read" : "write", sin += 4, log(name, "fd =", fd), sin += 28, this.view.setBigUint64(sout, userdata, !0), sout += 8, this.view.setUint16(sout, constants_1.WASI_ENOSYS, !0), sout += 2, this.view.setUint8(sout, type), sout += 1, sout += 5, nevents += 1, fd == constants_1.WASI_STDIN_FILENO && constants_1.WASI_EVENTTYPE_FD_READ == type) - this.shortPause(); - break; - } - default: - return constants_1.WASI_EINVAL; - } - if (sin - last_sin != 48) - console.warn("*** BUG in wasi-js in poll_oneoff ", { - i, - sin, - last_sin, - diff: sin - last_sin - }); - last_sin = sin; - } - if (this.view.setUint32(neventsPtr, nevents, !0), nevents == 2 && fd >= 0) { - const r = this.wasiImport.sock_pollSocket(fd, fd_type, fd_timeout_ms); - if (r != constants_1.WASI_ENOSYS) - return r; - } - if (waitTimeNs > 0) { - if (waitTimeNs -= Bun.nanoseconds() - timeOrigin, waitTimeNs >= 1e6) { - if (this.sleep == null && !warnedAboutSleep) - warnedAboutSleep = !0, console.log("(100% cpu burning waiting for stdin: please define a way to sleep!) "); - if (this.sleep != null) { - const ms = nsToMs(waitTimeNs); - this.sleep(ms); - } else { - const end = BigInt(bindings2.hrtime()) + waitTimeNs; - while (BigInt(bindings2.hrtime()) < end) - ; - } - } - } - return constants_1.WASI_ESUCCESS; - }, - proc_exit: (rval) => { - return bindings2.exit(rval), constants_1.WASI_ESUCCESS; - }, - proc_raise: (sig) => { - if (!(sig in constants_1.SIGNAL_MAP)) - return constants_1.WASI_EINVAL; - return bindings2.kill(constants_1.SIGNAL_MAP[sig]), constants_1.WASI_ESUCCESS; - }, - random_get: (bufPtr, bufLen) => { - return this.refreshMemory(), crypto.getRandomValues(this.memory.buffer, bufPtr, bufLen), bufLen; - }, - sched_yield() { - return constants_1.WASI_ESUCCESS; - }, - sock_recv() { - return constants_1.WASI_ENOSYS; - }, - sock_send() { - return constants_1.WASI_ENOSYS; - }, - sock_shutdown() { - return constants_1.WASI_ENOSYS; - }, - sock_fcntlSetFlags(_fd, _flags) { - return constants_1.WASI_ENOSYS; - }, - sock_pollSocket(_fd, _eventtype, _timeout_ms) { - return constants_1.WASI_ENOSYS; - } - }, log.enabled) - Object.keys(this.wasiImport).forEach((key) => { - const prevImport = this.wasiImport[key]; - this.wasiImport[key] = function(...args2) { - log(key, args2); - try { - let result = prevImport(...args2); - return log("result", result), result; - } catch (e) { - throw log("error: ", e), e; - } - }; - }); - } - getState() { - return { env: this.env, FD_MAP: this.FD_MAP, bindings }; - } - setState(state) { - this.env = state.env, this.FD_MAP = state.FD_MAP, bindings = state.bindings; - } - fstatSync(real_fd) { - if (real_fd <= 2) - try { - return fs.fstatSync(real_fd); - } catch (_) { - const now = new Date; - return { - dev: 0, - mode: 8592, - nlink: 1, - uid: 0, - gid: 0, - rdev: 0, - blksize: 65536, - ino: 0, - size: 0, - blocks: 0, - atimeMs: now.valueOf(), - mtimeMs: now.valueOf(), - ctimeMs: now.valueOf(), - birthtimeMs: 0, - atime: new Date, - mtime: new Date, - ctime: new Date, - birthtime: new Date(0) - }; - } - return fs.fstatSync(real_fd); - } - shortPause() { - if (this.sleep == null) - return; - if ((new Date()).valueOf() - this.lastStdin > 2000) - this.sleep(50); - } - getUnusedFileDescriptor(start = 3) { - let fd = start; - while (this.FD_MAP.has(fd)) - fd += 1; - if (fd > SC_OPEN_MAX) - throw Error("no available file descriptors"); - return fd; - } - refreshMemory() { - if (!this.view || this.view.buffer.byteLength === 0) - this.view = new DataView(this.memory.buffer); - } - setMemory(memory) { - this.memory = memory; - } - start(instance, memory) { - const exports2 = instance.exports; - if (exports2 === null || typeof exports2 !== "object") - throw new Error(`instance.exports must be an Object. Received ${exports2}.`); - if (memory == null) { - if (memory = exports2.memory, !(memory instanceof WebAssembly.Memory)) - throw new Error(`instance.exports.memory must be a WebAssembly.Memory. Recceived ${memory}.`); - } - if (this.setMemory(memory), exports2._start) - exports2._start(); - } - getImports(module2) { - let namespace = null; - const imports = WebAssembly.Module.imports(module2); - for (let imp of imports) { - if (imp.kind !== "function") - continue; - if (!imp.module.startsWith("wasi_")) - continue; - namespace = imp.module; - break; - } - switch (namespace) { - case "wasi_unstable": - return { - wasi_unstable: this.wasiImport - }; - case "wasi_snapshot_preview1": - return { - wasi_snapshot_preview1: this.wasiImport - }; - default: - throw new Error("No WASI namespace found. Only wasi_unstable and wasi_snapshot_preview1 are supported.\n\nList of imports:\n\n" + imports.map(({ name, kind, module }) => `${module}:${name} (${kind})`).join("\n") + "\n"); - } - } - initWasiFdInfo() { - if (this.env.WASI_FD_INFO != null) { - const fdInfo = JSON.parse(this.env.WASI_FD_INFO); - for (let wasi_fd in fdInfo) { - console.log(wasi_fd); - const fd = parseInt(wasi_fd); - if (this.FD_MAP.has(fd)) - continue; - const real = fdInfo[wasi_fd]; - try { - this.fstatSync(real); - } catch (_err) { - console.log("discarding ", { wasi_fd, real }); - continue; - } - const file = { - real, - filetype: constants_1.WASI_FILETYPE_SOCKET_STREAM, - rights: { - base: STDIN_DEFAULT_RIGHTS, - inheriting: BigInt(0) - } - }; - this.FD_MAP.set(fd, file); - } - console.log("after initWasiFdInfo: ", this.FD_MAP), console.log("fdInfo = ", fdInfo); - } else - console.log("no WASI_FD_INFO"); - } - }; - exports.default = WASI; - } -}), WASIExport = require_wasi(), WASI = WASIExport.default; -WASIExport[Symbol.for("CommonJS")] = 0; -var wasi_default = WASIExport; -export { - wasi_default as default, - WASIExport as WASI -}; diff --git a/src/js/out/modules/node/zlib.js b/src/js/out/modules/node/zlib.js deleted file mode 100644 index 39565887821dc..0000000000000 --- a/src/js/out/modules/node/zlib.js +++ /dev/null @@ -1 +0,0 @@ -var p1=(Y)=>{return import.meta.require(Y)};import{default as R0} from"node:assert";import*as t0 from"node:assert";import*as o0 from"node:buffer";import*as s0 from"node:stream";import*as W1 from"node:util";var j1,J1,Y1,G1,q1,X1,U1,P1,K1,F1,H1,z1,Z1,L1,C1,N1,I1,O1,B1,D1,M1,k1,v1,R1,A1,g1,w1,T1,S1;var y1=Object.getOwnPropertyNames;var A0=(Y,g)=>function b(){return g||(0,Y[y1(Y)[0]])((g={exports:{}}).exports,g),g.exports};var E1=A0({"node_modules/pako/lib/zlib/zstream.js"(Y,g){function b(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}g.exports=b}}),r0=A0({"node_modules/pako/lib/utils/common.js"(Y){var g=typeof Uint8Array!=="undefined"&&typeof Uint16Array!=="undefined"&&typeof Int32Array!=="undefined";function b(C,w){return Object.prototype.hasOwnProperty.call(C,w)}Y.assign=function(C){var w=Array.prototype.slice.call(arguments,1);while(w.length){var v=w.shift();if(!v)continue;if(typeof v!=="object")throw new TypeError(v+"must be non-object");for(var k in v)if(b(v,k))C[k]=v[k]}return C},Y.shrinkBuf=function(C,w){if(C.length===w)return C;if(C.subarray)return C.subarray(0,w);return C.length=w,C};var L={arraySet:function(C,w,v,k,B){if(w.subarray&&C.subarray){C.set(w.subarray(v,v+k),B);return}for(var N=0;N=0)W[F]=0}var v=0,k=1,B=2,N=3,y=258,m=29,p=256,t=p+1+m,u=30,s=19,W0=2*t+1,E=15,S=16,J0=7,G0=256,F0=16,f=17,d=18,z=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],h=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],V0=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],j=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],K=512,O=new Array((t+2)*2);w(O);var I=new Array(u*2);w(I);var c=new Array(K);w(c);var l=new Array(y-N+1);w(l);var D=new Array(m);w(D);var Q0=new Array(u);w(Q0);function i(W,F,Z,R,G){this.static_tree=W,this.extra_bits=F,this.extra_base=Z,this.elems=R,this.max_length=G,this.has_stree=W&&W.length}var H0,N0,I0;function K0(W,F){this.dyn_tree=W,this.max_code=0,this.stat_desc=F}function X0(W){return W<256?c[W]:c[256+(W>>>7)]}function U0(W,F){W.pending_buf[W.pending++]=F&255,W.pending_buf[W.pending++]=F>>>8&255}function a(W,F,Z){if(W.bi_valid>S-Z)W.bi_buf|=F<>S-W.bi_valid,W.bi_valid+=Z-S;else W.bi_buf|=F<>>=1,Z<<=1;while(--F>0);return Z>>>1}function z0(W){if(W.bi_valid===16)U0(W,W.bi_buf),W.bi_buf=0,W.bi_valid=0;else if(W.bi_valid>=8)W.pending_buf[W.pending++]=W.bi_buf&255,W.bi_buf>>=8,W.bi_valid-=8}function Z0(W,F){var{dyn_tree:Z,max_code:R}=F,G=F.stat_desc.static_tree,P=F.stat_desc.has_stree,$=F.stat_desc.extra_bits,H=F.stat_desc.extra_base,x=F.stat_desc.max_length,Q,X,U,V,J,q,T=0;for(V=0;V<=E;V++)W.bl_count[V]=0;Z[W.heap[W.heap_max]*2+1]=0;for(Q=W.heap_max+1;Qx)V=x,T++;if(Z[X*2+1]=V,X>R)continue;if(W.bl_count[V]++,J=0,X>=H)J=$[X-H];if(q=Z[X*2],W.opt_len+=q*(V+J),P)W.static_len+=q*(G[X*2+1]+J)}if(T===0)return;do{V=x-1;while(W.bl_count[V]===0)V--;W.bl_count[V]--,W.bl_count[V+1]+=2,W.bl_count[x]--,T-=2}while(T>0);for(V=x;V!==0;V--){X=W.bl_count[V];while(X!==0){if(U=W.heap[--Q],U>R)continue;if(Z[U*2+1]!==V)W.opt_len+=(V-Z[U*2+1])*Z[U*2],Z[U*2+1]=V;X--}}}function g0(W,F,Z){var R=new Array(E+1),G=0,P,$;for(P=1;P<=E;P++)R[P]=G=G+Z[P-1]<<1;for($=0;$<=F;$++){var H=W[$*2+1];if(H===0)continue;W[$*2]=r(R[H]++,H)}}function j0(){var W,F,Z,R,G,P=new Array(E+1);Z=0;for(R=0;R>=7;for(;R8)U0(W,W.bi_buf);else if(W.bi_valid>0)W.pending_buf[W.pending++]=W.bi_buf;W.bi_buf=0,W.bi_valid=0}function w0(W,F,Z,R){if(c0(W),R)U0(W,Z),U0(W,~Z);g.arraySet(W.pending_buf,W.window,F,Z,W.pending),W.pending+=Z}function v0(W,F,Z,R){var G=F*2,P=Z*2;return W[G]>1;$>=1;$--)q0(W,Z,$);Q=P;do $=W.heap[1],W.heap[1]=W.heap[W.heap_len--],q0(W,Z,1),H=W.heap[1],W.heap[--W.heap_max]=$,W.heap[--W.heap_max]=H,Z[Q*2]=Z[$*2]+Z[H*2],W.depth[Q]=(W.depth[$]>=W.depth[H]?W.depth[$]:W.depth[H])+1,Z[$*2+1]=Z[H*2+1]=Q,W.heap[1]=Q++,q0(W,Z,1);while(W.heap_len>=2);W.heap[--W.heap_max]=W.heap[1],Z0(W,F),g0(Z,x,W.bl_count)}function p0(W,F,Z){var R,G=-1,P,$=F[1],H=0,x=7,Q=4;if($===0)x=138,Q=3;F[(Z+1)*2+1]=65535;for(R=0;R<=Z;R++){if(P=$,$=F[(R+1)*2+1],++H=3;F--)if(W.bl_tree[j[F]*2+1]!==0)break;return W.opt_len+=3*(F+1)+5+5+4,F}function i0(W,F,Z,R){var G;a(W,F-257,5),a(W,Z-1,5),a(W,R-4,4);for(G=0;G>>=1)if(F&1&&W.dyn_ltree[Z*2]!==0)return L;if(W.dyn_ltree[18]!==0||W.dyn_ltree[20]!==0||W.dyn_ltree[26]!==0)return n;for(Z=32;Z0){if(W.strm.data_type===C)W.strm.data_type=d0(W);if(T0(W,W.l_desc),T0(W,W.d_desc),$=S0(W),G=W.opt_len+3+7>>>3,P=W.static_len+3+7>>>3,P<=G)G=P}else G=P=Z+5;if(Z+4<=G&&F!==-1)m0(W,F,Z,R);else if(W.strategy===b||P===G)a(W,(k<<1)+(R?1:0),3),_(W,O,I);else a(W,(B<<1)+(R?1:0),3),i0(W,W.l_desc.max_code+1,W.d_desc.max_code+1,$+1),_(W,W.dyn_ltree,W.dyn_dtree);if(M0(W),R)c0(W)}function n0(W,F,Z){if(W.pending_buf[W.d_buf+W.last_lit*2]=F>>>8&255,W.pending_buf[W.d_buf+W.last_lit*2+1]=F&255,W.pending_buf[W.l_buf+W.last_lit]=Z&255,W.last_lit++,F===0)W.dyn_ltree[Z*2]++;else W.matches++,F--,W.dyn_ltree[(l[Z]+p+1)*2]++,W.dyn_dtree[X0(F)*2]++;return W.last_lit===W.lit_bufsize-1}Y._tr_init=_0,Y._tr_stored_block=m0,Y._tr_flush_block=h0,Y._tr_tally=n0,Y._tr_align=B0}}),Q1=A0({"node_modules/pako/lib/zlib/adler32.js"(Y,g){function b(L,n,C,w){var v=L&65535|0,k=L>>>16&65535|0,B=0;while(C!==0){B=C>2000?2000:C,C-=B;do v=v+n[w++]|0,k=k+v|0;while(--B);v%=65521,k%=65521}return v|k<<16|0}g.exports=b}}),$1=A0({"node_modules/pako/lib/zlib/crc32.js"(Y,g){function b(){var C,w=[];for(var v=0;v<256;v++){C=v;for(var k=0;k<8;k++)C=C&1?3988292384^C>>>1:C>>>1;w[v]=C}return w}var L=b();function n(C,w,v,k){var B=L,N=k+v;C^=-1;for(var y=k;y>>8^B[(C^w[y])&255];return C^-1}g.exports=n}}),h1=A0({"node_modules/pako/lib/zlib/messages.js"(Y,g){g.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}}}),f1=A0({"node_modules/pako/lib/zlib/deflate.js"(Y){var g=r0(),b=x1(),L=Q1(),n=$1(),C=h1(),w=0,v=1,k=3,B=4,N=5,y=0,m=1,p=-2,t=-3,u=-5,s=-1,W0=1,E=2,S=3,J0=4,G0=0,F0=2,f=8,d=9,z=15,h=8,V0=29,j=256,K=j+1+V0,O=30,I=19,c=2*K+1,l=15,D=3,Q0=258,i=Q0+D+1,H0=32,N0=42,I0=69,K0=73,X0=91,U0=103,a=113,Y0=666,r=1,z0=2,Z0=3,g0=4,j0=3;function M0(Q,X){return Q.msg=C[X],X}function c0(Q){return(Q<<1)-(Q>4?9:0)}function w0(Q){var X=Q.length;while(--X>=0)Q[X]=0}function v0(Q){var X=Q.state,U=X.pending;if(U>Q.avail_out)U=Q.avail_out;if(U===0)return;if(g.arraySet(Q.output,X.pending_buf,X.pending_out,U,Q.next_out),Q.next_out+=U,X.pending_out+=U,Q.total_out+=U,Q.avail_out-=U,X.pending-=U,X.pending===0)X.pending_out=0}function q0(Q,X){b._tr_flush_block(Q,Q.block_start>=0?Q.block_start:-1,Q.strstart-Q.block_start,X),Q.block_start=Q.strstart,v0(Q.strm)}function _(Q,X){Q.pending_buf[Q.pending++]=X}function T0(Q,X){Q.pending_buf[Q.pending++]=X>>>8&255,Q.pending_buf[Q.pending++]=X&255}function p0(Q,X,U,V){var J=Q.avail_in;if(J>V)J=V;if(J===0)return 0;if(Q.avail_in-=J,g.arraySet(X,Q.input,Q.next_in,J,U),Q.state.wrap===1)Q.adler=L(Q.adler,X,J,U);else if(Q.state.wrap===2)Q.adler=n(Q.adler,X,J,U);return Q.next_in+=J,Q.total_in+=J,J}function b0(Q,X){var{max_chain_length:U,strstart:V}=Q,J,q,T=Q.prev_length,M=Q.nice_match,A=Q.strstart>Q.w_size-i?Q.strstart-(Q.w_size-i):0,o=Q.window,f0=Q.w_mask,P0=Q.prev,e=Q.strstart+Q0,C0=o[V+T-1],D0=o[V+T];if(Q.prev_length>=Q.good_match)U>>=2;if(M>Q.lookahead)M=Q.lookahead;do{if(J=X,o[J+T]!==D0||o[J+T-1]!==C0||o[J]!==o[V]||o[++J]!==o[V+1])continue;V+=2,J++;do;while(o[++V]===o[++J]&&o[++V]===o[++J]&&o[++V]===o[++J]&&o[++V]===o[++J]&&o[++V]===o[++J]&&o[++V]===o[++J]&&o[++V]===o[++J]&&o[++V]===o[++J]&&VT){if(Q.match_start=X,T=q,q>=M)break;C0=o[V+T-1],D0=o[V+T]}}while((X=P0[X&f0])>A&&--U!==0);if(T<=Q.lookahead)return T;return Q.lookahead}function S0(Q){var X=Q.w_size,U,V,J,q,T;do{if(q=Q.window_size-Q.lookahead-Q.strstart,Q.strstart>=X+(X-i)){g.arraySet(Q.window,Q.window,X,X,0),Q.match_start-=X,Q.strstart-=X,Q.block_start-=X,V=Q.hash_size,U=V;do J=Q.head[--U],Q.head[U]=J>=X?J-X:0;while(--V);V=X,U=V;do J=Q.prev[--U],Q.prev[U]=J>=X?J-X:0;while(--V);q+=X}if(Q.strm.avail_in===0)break;if(V=p0(Q.strm,Q.window,Q.strstart+Q.lookahead,q),Q.lookahead+=V,Q.lookahead+Q.insert>=D){T=Q.strstart-Q.insert,Q.ins_h=Q.window[T],Q.ins_h=(Q.ins_h<Q.pending_buf_size-5)U=Q.pending_buf_size-5;for(;;){if(Q.lookahead<=1){if(S0(Q),Q.lookahead===0&&X===w)return r;if(Q.lookahead===0)break}Q.strstart+=Q.lookahead,Q.lookahead=0;var V=Q.block_start+U;if(Q.strstart===0||Q.strstart>=V){if(Q.lookahead=Q.strstart-V,Q.strstart=V,q0(Q,!1),Q.strm.avail_out===0)return r}if(Q.strstart-Q.block_start>=Q.w_size-i){if(q0(Q,!1),Q.strm.avail_out===0)return r}}if(Q.insert=0,X===B){if(q0(Q,!0),Q.strm.avail_out===0)return Z0;return g0}if(Q.strstart>Q.block_start){if(q0(Q,!1),Q.strm.avail_out===0)return r}return r}function d0(Q,X){var U,V;for(;;){if(Q.lookahead=D)Q.ins_h=(Q.ins_h<=D)if(V=b._tr_tally(Q,Q.strstart-Q.match_start,Q.match_length-D),Q.lookahead-=Q.match_length,Q.match_length<=Q.max_lazy_match&&Q.lookahead>=D){Q.match_length--;do Q.strstart++,Q.ins_h=(Q.ins_h<=D)Q.ins_h=(Q.ins_h<4096))Q.match_length=D-1}if(Q.prev_length>=D&&Q.match_length<=Q.prev_length){J=Q.strstart+Q.lookahead-D,V=b._tr_tally(Q,Q.strstart-1-Q.prev_match,Q.prev_length-D),Q.lookahead-=Q.prev_length-1,Q.prev_length-=2;do if(++Q.strstart<=J)Q.ins_h=(Q.ins_h<=D&&Q.strstart>0){if(J=Q.strstart-1,V=T[J],V===T[++J]&&V===T[++J]&&V===T[++J]){q=Q.strstart+Q0;do;while(V===T[++J]&&V===T[++J]&&V===T[++J]&&V===T[++J]&&V===T[++J]&&V===T[++J]&&V===T[++J]&&V===T[++J]&&JQ.lookahead)Q.match_length=Q.lookahead}}if(Q.match_length>=D)U=b._tr_tally(Q,1,Q.match_length-D),Q.lookahead-=Q.match_length,Q.strstart+=Q.match_length,Q.match_length=0;else U=b._tr_tally(Q,0,Q.window[Q.strstart]),Q.lookahead--,Q.strstart++;if(U){if(q0(Q,!1),Q.strm.avail_out===0)return r}}if(Q.insert=0,X===B){if(q0(Q,!0),Q.strm.avail_out===0)return Z0;return g0}if(Q.last_lit){if(q0(Q,!1),Q.strm.avail_out===0)return r}return z0}function m0(Q,X){var U;for(;;){if(Q.lookahead===0){if(S0(Q),Q.lookahead===0){if(X===w)return r;break}}if(Q.match_length=0,U=b._tr_tally(Q,0,Q.window[Q.strstart]),Q.lookahead--,Q.strstart++,U){if(q0(Q,!1),Q.strm.avail_out===0)return r}}if(Q.insert=0,X===B){if(q0(Q,!0),Q.strm.avail_out===0)return Z0;return g0}if(Q.last_lit){if(q0(Q,!1),Q.strm.avail_out===0)return r}return z0}function B0(Q,X,U,V,J){this.good_length=Q,this.max_lazy=X,this.nice_length=U,this.max_chain=V,this.func=J}var h0=[new B0(0,0,0,0,i0),new B0(4,4,8,4,d0),new B0(4,5,16,8,d0),new B0(4,6,32,32,d0),new B0(4,4,16,16,E0),new B0(8,16,32,32,E0),new B0(8,16,128,128,E0),new B0(8,32,128,256,E0),new B0(32,128,258,1024,E0),new B0(32,258,258,4096,E0)];function n0(Q){Q.window_size=2*Q.w_size,w0(Q.head),Q.max_lazy_match=h0[Q.level].max_lazy,Q.good_match=h0[Q.level].good_length,Q.nice_match=h0[Q.level].nice_length,Q.max_chain_length=h0[Q.level].max_chain,Q.strstart=0,Q.block_start=0,Q.lookahead=0,Q.insert=0,Q.match_length=Q.prev_length=D-1,Q.match_available=0,Q.ins_h=0}function W(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=f,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new g.Buf16(c*2),this.dyn_dtree=new g.Buf16((2*O+1)*2),this.bl_tree=new g.Buf16((2*I+1)*2),w0(this.dyn_ltree),w0(this.dyn_dtree),w0(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new g.Buf16(l+1),this.heap=new g.Buf16(2*K+1),w0(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new g.Buf16(2*K+1),w0(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function F(Q){var X;if(!Q||!Q.state)return M0(Q,p);if(Q.total_in=Q.total_out=0,Q.data_type=F0,X=Q.state,X.pending=0,X.pending_out=0,X.wrap<0)X.wrap=-X.wrap;return X.status=X.wrap?N0:a,Q.adler=X.wrap===2?0:1,X.last_flush=w,b._tr_init(X),y}function Z(Q){var X=F(Q);if(X===y)n0(Q.state);return X}function R(Q,X){if(!Q||!Q.state)return p;if(Q.state.wrap!==2)return p;return Q.state.gzhead=X,y}function G(Q,X,U,V,J,q){if(!Q)return p;var T=1;if(X===s)X=6;if(V<0)T=0,V=-V;else if(V>15)T=2,V-=16;if(J<1||J>d||U!==f||V<8||V>15||X<0||X>9||q<0||q>J0)return M0(Q,p);if(V===8)V=9;var M=new W;return Q.state=M,M.strm=Q,M.wrap=T,M.gzhead=null,M.w_bits=V,M.w_size=1<N||X<0)return Q?M0(Q,p):p;if(V=Q.state,!Q.output||!Q.input&&Q.avail_in!==0||V.status===Y0&&X!==B)return M0(Q,Q.avail_out===0?u:p);if(V.strm=Q,U=V.last_flush,V.last_flush=X,V.status===N0)if(V.wrap===2)if(Q.adler=0,_(V,31),_(V,139),_(V,8),!V.gzhead)_(V,0),_(V,0),_(V,0),_(V,0),_(V,0),_(V,V.level===9?2:V.strategy>=E||V.level<2?4:0),_(V,j0),V.status=a;else{if(_(V,(V.gzhead.text?1:0)+(V.gzhead.hcrc?2:0)+(!V.gzhead.extra?0:4)+(!V.gzhead.name?0:8)+(!V.gzhead.comment?0:16)),_(V,V.gzhead.time&255),_(V,V.gzhead.time>>8&255),_(V,V.gzhead.time>>16&255),_(V,V.gzhead.time>>24&255),_(V,V.level===9?2:V.strategy>=E||V.level<2?4:0),_(V,V.gzhead.os&255),V.gzhead.extra&&V.gzhead.extra.length)_(V,V.gzhead.extra.length&255),_(V,V.gzhead.extra.length>>8&255);if(V.gzhead.hcrc)Q.adler=n(Q.adler,V.pending_buf,V.pending,0);V.gzindex=0,V.status=I0}else{var T=f+(V.w_bits-8<<4)<<8,M=-1;if(V.strategy>=E||V.level<2)M=0;else if(V.level<6)M=1;else if(V.level===6)M=2;else M=3;if(T|=M<<6,V.strstart!==0)T|=H0;if(T+=31-T%31,V.status=a,T0(V,T),V.strstart!==0)T0(V,Q.adler>>>16),T0(V,Q.adler&65535);Q.adler=1}if(V.status===I0)if(V.gzhead.extra){J=V.pending;while(V.gzindex<(V.gzhead.extra.length&65535)){if(V.pending===V.pending_buf_size){if(V.gzhead.hcrc&&V.pending>J)Q.adler=n(Q.adler,V.pending_buf,V.pending-J,J);if(v0(Q),J=V.pending,V.pending===V.pending_buf_size)break}_(V,V.gzhead.extra[V.gzindex]&255),V.gzindex++}if(V.gzhead.hcrc&&V.pending>J)Q.adler=n(Q.adler,V.pending_buf,V.pending-J,J);if(V.gzindex===V.gzhead.extra.length)V.gzindex=0,V.status=K0}else V.status=K0;if(V.status===K0)if(V.gzhead.name){J=V.pending;do{if(V.pending===V.pending_buf_size){if(V.gzhead.hcrc&&V.pending>J)Q.adler=n(Q.adler,V.pending_buf,V.pending-J,J);if(v0(Q),J=V.pending,V.pending===V.pending_buf_size){q=1;break}}if(V.gzindexJ)Q.adler=n(Q.adler,V.pending_buf,V.pending-J,J);if(q===0)V.gzindex=0,V.status=X0}else V.status=X0;if(V.status===X0)if(V.gzhead.comment){J=V.pending;do{if(V.pending===V.pending_buf_size){if(V.gzhead.hcrc&&V.pending>J)Q.adler=n(Q.adler,V.pending_buf,V.pending-J,J);if(v0(Q),J=V.pending,V.pending===V.pending_buf_size){q=1;break}}if(V.gzindexJ)Q.adler=n(Q.adler,V.pending_buf,V.pending-J,J);if(q===0)V.status=U0}else V.status=U0;if(V.status===U0)if(V.gzhead.hcrc){if(V.pending+2>V.pending_buf_size)v0(Q);if(V.pending+2<=V.pending_buf_size)_(V,Q.adler&255),_(V,Q.adler>>8&255),Q.adler=0,V.status=a}else V.status=a;if(V.pending!==0){if(v0(Q),Q.avail_out===0)return V.last_flush=-1,y}else if(Q.avail_in===0&&c0(X)<=c0(U)&&X!==B)return M0(Q,u);if(V.status===Y0&&Q.avail_in!==0)return M0(Q,u);if(Q.avail_in!==0||V.lookahead!==0||X!==w&&V.status!==Y0){var A=V.strategy===E?m0(V,X):V.strategy===S?_0(V,X):h0[V.level].func(V,X);if(A===Z0||A===g0)V.status=Y0;if(A===r||A===Z0){if(Q.avail_out===0)V.last_flush=-1;return y}if(A===z0){if(X===v)b._tr_align(V);else if(X!==N){if(b._tr_stored_block(V,0,0,!1),X===k){if(w0(V.head),V.lookahead===0)V.strstart=0,V.block_start=0,V.insert=0}}if(v0(Q),Q.avail_out===0)return V.last_flush=-1,y}}if(X!==B)return y;if(V.wrap<=0)return m;if(V.wrap===2)_(V,Q.adler&255),_(V,Q.adler>>8&255),_(V,Q.adler>>16&255),_(V,Q.adler>>24&255),_(V,Q.total_in&255),_(V,Q.total_in>>8&255),_(V,Q.total_in>>16&255),_(V,Q.total_in>>24&255);else T0(V,Q.adler>>>16),T0(V,Q.adler&65535);if(v0(Q),V.wrap>0)V.wrap=-V.wrap;return V.pending!==0?y:m}function H(Q){var X;if(!Q||!Q.state)return p;if(X=Q.state.status,X!==N0&&X!==I0&&X!==K0&&X!==X0&&X!==U0&&X!==a&&X!==Y0)return M0(Q,p);return Q.state=null,X===a?M0(Q,t):y}function x(Q,X){var U=X.length,V,J,q,T,M,A,o,f0;if(!Q||!Q.state)return p;if(V=Q.state,T=V.wrap,T===2||T===1&&V.status!==N0||V.lookahead)return p;if(T===1)Q.adler=L(Q.adler,X,U,0);if(V.wrap=0,U>=V.w_size){if(T===0)w0(V.head),V.strstart=0,V.block_start=0,V.insert=0;f0=new g.Buf8(V.w_size),g.arraySet(f0,X,U-V.w_size,V.w_size,0),X=f0,U=V.w_size}M=Q.avail_in,A=Q.next_in,o=Q.input,Q.avail_in=U,Q.next_in=0,Q.input=X,S0(V);while(V.lookahead>=D){J=V.strstart,q=V.lookahead-(D-1);do V.ins_h=(V.ins_h<>>24,E>>>=z,S-=z,z=d>>>16&255,z===0)I[N++]=d&65535;else if(z&16){if(h=d&65535,z&=15,z){if(S>>=z,S-=z}if(S<15)E+=O[k++]<>>24,E>>>=z,S-=z,z=d>>>16&255,z&16){if(V0=d&65535,z&=15,Sp){C.msg="invalid distance too far back",v.mode=b;break Q}if(E>>>=z,S-=z,z=N-y,V0>z){if(z=V0-z,z>u){if(v.sane){C.msg="invalid distance too far back",v.mode=b;break Q}}if(j=0,K=W0,s===0){if(j+=t-z,z2)I[N++]=K[j++],I[N++]=K[j++],I[N++]=K[j++],h-=3;if(h){if(I[N++]=K[j++],h>1)I[N++]=K[j++]}}else{j=N-V0;do I[N++]=I[j++],I[N++]=I[j++],I[N++]=I[j++],h-=3;while(h>2);if(h){if(I[N++]=I[j++],h>1)I[N++]=I[j++]}}}else if((z&64)===0){d=G0[(d&65535)+(E&(1<>3,k-=h,S-=h<<3,E&=(1<=1;h--)if(X0[h]!==0)break;if(V0>h)V0=h;if(h===0)return E[S++]=1<<24|64<<16|0,E[S++]=1<<24|64<<16|0,G0.bits=1,0;for(z=1;z0&&(t===w||h!==1))return-1;U0[1]=0;for(f=1;fn||t===k&&I>C)return 1;for(;;){if(r=f-K,J0[d]K0)z0=a[Y0+J0[d]],Z0=N0[I0+J0[d]];else z0=96,Z0=0;l=1<>K)+D]=r<<24|z0<<16|Z0|0;while(D!==0);l=1<>=1;if(l!==0)c&=l-1,c+=l;else c=0;if(d++,--X0[f]===0){if(f===h)break;f=u[s+J0[d]]}if(f>V0&&(c&i)!==Q0){if(K===0)K=V0;H0+=z,j=f-K,O=1<n||t===k&&I>C)return 1;Q0=c&i,E[Q0]=V0<<24|j<<16|H0-S|0}}if(c!==0)E[H0+c]=f-K<<24|64<<16|0;return G0.bits=V0,0}}}),d1=A0({"node_modules/pako/lib/zlib/inflate.js"(Y){var g=r0(),b=Q1(),L=$1(),n=u1(),C=b1(),w=0,v=1,k=2,B=4,N=5,y=6,m=0,p=1,t=2,u=-2,s=-3,W0=-4,E=-5,S=8,J0=1,G0=2,F0=3,f=4,d=5,z=6,h=7,V0=8,j=9,K=10,O=11,I=12,c=13,l=14,D=15,Q0=16,i=17,H0=18,N0=19,I0=20,K0=21,X0=22,U0=23,a=24,Y0=25,r=26,z0=27,Z0=28,g0=29,j0=30,M0=31,c0=32,w0=852,v0=592,q0=15,_=q0;function T0(G){return(G>>>24&255)+(G>>>8&65280)+((G&65280)<<8)+((G&255)<<24)}function p0(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new g.Buf16(320),this.work=new g.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function b0(G){var P;if(!G||!G.state)return u;if(P=G.state,G.total_in=G.total_out=P.total=0,G.msg="",P.wrap)G.adler=P.wrap&1;return P.mode=J0,P.last=0,P.havedict=0,P.dmax=32768,P.head=null,P.hold=0,P.bits=0,P.lencode=P.lendyn=new g.Buf32(w0),P.distcode=P.distdyn=new g.Buf32(v0),P.sane=1,P.back=-1,m}function S0(G){var P;if(!G||!G.state)return u;return P=G.state,P.wsize=0,P.whave=0,P.wnext=0,b0(G)}function i0(G,P){var $,H;if(!G||!G.state)return u;if(H=G.state,P<0)$=0,P=-P;else if($=(P>>4)+1,P<48)P&=15;if(P&&(P<8||P>15))return u;if(H.window!==null&&H.wbits!==P)H.window=null;return H.wrap=$,H.wbits=P,S0(G)}function d0(G,P){var $,H;if(!G)return u;if(H=new p0,G.state=H,H.window=null,$=i0(G,P),$!==m)G.state=null;return $}function E0(G){return d0(G,_)}var _0=!0,m0,B0;function h0(G){if(_0){var P;m0=new g.Buf32(512),B0=new g.Buf32(32),P=0;while(P<144)G.lens[P++]=8;while(P<256)G.lens[P++]=9;while(P<280)G.lens[P++]=7;while(P<288)G.lens[P++]=8;C(v,G.lens,0,288,m0,0,G.work,{bits:9}),P=0;while(P<32)G.lens[P++]=5;C(k,G.lens,0,32,B0,0,G.work,{bits:5}),_0=!1}G.lencode=m0,G.lenbits=9,G.distcode=B0,G.distbits=5}function n0(G,P,$,H){var x,Q=G.state;if(Q.window===null)Q.wsize=1<=Q.wsize)g.arraySet(Q.window,P,$-Q.wsize,Q.wsize,0),Q.wnext=0,Q.whave=Q.wsize;else{if(x=Q.wsize-Q.wnext,x>H)x=H;if(g.arraySet(Q.window,P,$-H,x,Q.wnext),H-=x,H)g.arraySet(Q.window,P,$-H,H,0),Q.wnext=H,Q.whave=Q.wsize;else{if(Q.wnext+=x,Q.wnext===Q.wsize)Q.wnext=0;if(Q.whave>>8&255,$.check=L($.check,O0,2,0),J=0,q=0,$.mode=G0;break}if($.flags=0,$.head)$.head.done=!1;if(!($.wrap&1)||(((J&255)<<8)+(J>>8))%31){G.msg="incorrect header check",$.mode=j0;break}if((J&15)!==S){G.msg="unknown compression method",$.mode=j0;break}if(J>>>=4,q-=4,L0=(J&15)+8,$.wbits===0)$.wbits=L0;else if(L0>$.wbits){G.msg="invalid window size",$.mode=j0;break}$.dmax=1<>8&1;if($.flags&512)O0[0]=J&255,O0[1]=J>>>8&255,$.check=L($.check,O0,2,0);J=0,q=0,$.mode=F0;case F0:while(q<32){if(U===0)break Q;U--,J+=H[Q++]<>>8&255,O0[2]=J>>>16&255,O0[3]=J>>>24&255,$.check=L($.check,O0,4,0);J=0,q=0,$.mode=f;case f:while(q<16){if(U===0)break Q;U--,J+=H[Q++]<>8;if($.flags&512)O0[0]=J&255,O0[1]=J>>>8&255,$.check=L($.check,O0,2,0);J=0,q=0,$.mode=d;case d:if($.flags&1024){while(q<16){if(U===0)break Q;U--,J+=H[Q++]<>>8&255,$.check=L($.check,O0,2,0);J=0,q=0}else if($.head)$.head.extra=null;$.mode=z;case z:if($.flags&1024){if(A=$.length,A>U)A=U;if(A){if($.head){if(L0=$.head.extra_len-$.length,!$.head.extra)$.head.extra=new Array($.head.extra_len);g.arraySet($.head.extra,H,Q,A,L0)}if($.flags&512)$.check=L($.check,H,A,Q);U-=A,Q+=A,$.length-=A}if($.length)break Q}$.length=0,$.mode=h;case h:if($.flags&2048){if(U===0)break Q;A=0;do if(L0=H[Q+A++],$.head&&L0&&$.length<65536)$.head.name+=String.fromCharCode(L0);while(L0&&A>9&1,$.head.done=!0;G.adler=$.check=0,$.mode=I;break;case K:while(q<32){if(U===0)break Q;U--,J+=H[Q++]<>>=q&7,q-=q&7,$.mode=z0;break}while(q<3){if(U===0)break Q;U--,J+=H[Q++]<>>=1,q-=1,J&3){case 0:$.mode=l;break;case 1:if(h0($),$.mode=I0,P===y){J>>>=2,q-=2;break Q}break;case 2:$.mode=i;break;case 3:G.msg="invalid block type",$.mode=j0}J>>>=2,q-=2;break;case l:J>>>=q&7,q-=q&7;while(q<32){if(U===0)break Q;U--,J+=H[Q++]<>>16^65535)){G.msg="invalid stored block lengths",$.mode=j0;break}if($.length=J&65535,J=0,q=0,$.mode=D,P===y)break Q;case D:$.mode=Q0;case Q0:if(A=$.length,A){if(A>U)A=U;if(A>V)A=V;if(A===0)break Q;g.arraySet(x,H,Q,A,X),U-=A,Q+=A,V-=A,X+=A,$.length-=A;break}$.mode=I;break;case i:while(q<14){if(U===0)break Q;U--,J+=H[Q++]<>>=5,q-=5,$.ndist=(J&31)+1,J>>>=5,q-=5,$.ncode=(J&15)+4,J>>>=4,q-=4,$.nlen>286||$.ndist>30){G.msg="too many length or distance symbols",$.mode=j0;break}$.have=0,$.mode=H0;case H0:while($.have<$.ncode){while(q<3){if(U===0)break Q;U--,J+=H[Q++]<>>=3,q-=3}while($.have<19)$.lens[e0[$.have++]]=0;if($.lencode=$.lendyn,$.lenbits=7,u0={bits:$.lenbits},y0=C(w,$.lens,0,19,$.lencode,0,$.work,u0),$.lenbits=u0.bits,y0){G.msg="invalid code lengths set",$.mode=j0;break}$.have=0,$.mode=N0;case N0:while($.have<$.nlen+$.ndist){for(;;){if(P0=$.lencode[J&(1<<$.lenbits)-1],e=P0>>>24,C0=P0>>>16&255,D0=P0&65535,e<=q)break;if(U===0)break Q;U--,J+=H[Q++]<>>=e,q-=e,$.lens[$.have++]=D0;else{if(D0===16){x0=e+2;while(q>>=e,q-=e,$.have===0){G.msg="invalid bit length repeat",$.mode=j0;break}L0=$.lens[$.have-1],A=3+(J&3),J>>>=2,q-=2}else if(D0===17){x0=e+3;while(q>>=e,q-=e,L0=0,A=3+(J&7),J>>>=3,q-=3}else{x0=e+7;while(q>>=e,q-=e,L0=0,A=11+(J&127),J>>>=7,q-=7}if($.have+A>$.nlen+$.ndist){G.msg="invalid bit length repeat",$.mode=j0;break}while(A--)$.lens[$.have++]=L0}}if($.mode===j0)break;if($.lens[256]===0){G.msg="invalid code -- missing end-of-block",$.mode=j0;break}if($.lenbits=9,u0={bits:$.lenbits},y0=C(v,$.lens,0,$.nlen,$.lencode,0,$.work,u0),$.lenbits=u0.bits,y0){G.msg="invalid literal/lengths set",$.mode=j0;break}if($.distbits=6,$.distcode=$.distdyn,u0={bits:$.distbits},y0=C(k,$.lens,$.nlen,$.ndist,$.distcode,0,$.work,u0),$.distbits=u0.bits,y0){G.msg="invalid distances set",$.mode=j0;break}if($.mode=I0,P===y)break Q;case I0:$.mode=K0;case K0:if(U>=6&&V>=258){if(G.next_out=X,G.avail_out=V,G.next_in=Q,G.avail_in=U,$.hold=J,$.bits=q,n(G,M),X=G.next_out,x=G.output,V=G.avail_out,Q=G.next_in,H=G.input,U=G.avail_in,J=$.hold,q=$.bits,$.mode===I)$.back=-1;break}$.back=0;for(;;){if(P0=$.lencode[J&(1<<$.lenbits)-1],e=P0>>>24,C0=P0>>>16&255,D0=P0&65535,e<=q)break;if(U===0)break Q;U--,J+=H[Q++]<>k0)],e=P0>>>24,C0=P0>>>16&255,D0=P0&65535,k0+e<=q)break;if(U===0)break Q;U--,J+=H[Q++]<>>=k0,q-=k0,$.back+=k0}if(J>>>=e,q-=e,$.back+=e,$.length=D0,C0===0){$.mode=r;break}if(C0&32){$.back=-1,$.mode=I;break}if(C0&64){G.msg="invalid literal/length code",$.mode=j0;break}$.extra=C0&15,$.mode=X0;case X0:if($.extra){x0=$.extra;while(q>>=$.extra,q-=$.extra,$.back+=$.extra}$.was=$.length,$.mode=U0;case U0:for(;;){if(P0=$.distcode[J&(1<<$.distbits)-1],e=P0>>>24,C0=P0>>>16&255,D0=P0&65535,e<=q)break;if(U===0)break Q;U--,J+=H[Q++]<>k0)],e=P0>>>24,C0=P0>>>16&255,D0=P0&65535,k0+e<=q)break;if(U===0)break Q;U--,J+=H[Q++]<>>=k0,q-=k0,$.back+=k0}if(J>>>=e,q-=e,$.back+=e,C0&64){G.msg="invalid distance code",$.mode=j0;break}$.offset=D0,$.extra=C0&15,$.mode=a;case a:if($.extra){x0=$.extra;while(q>>=$.extra,q-=$.extra,$.back+=$.extra}if($.offset>$.dmax){G.msg="invalid distance too far back",$.mode=j0;break}$.mode=Y0;case Y0:if(V===0)break Q;if(A=M-V,$.offset>A){if(A=$.offset-A,A>$.whave){if($.sane){G.msg="invalid distance too far back",$.mode=j0;break}}if(A>$.wnext)A-=$.wnext,o=$.wsize-A;else o=$.wnext-A;if(A>$.length)A=$.length;f0=$.window}else f0=x,o=X-$.offset,A=$.length;if(A>V)A=V;V-=A,$.length-=A;do x[X++]=f0[o++];while(--A);if($.length===0)$.mode=K0;break;case r:if(V===0)break Q;x[X++]=$.length,V--,$.mode=K0;break;case z0:if($.wrap){while(q<32){if(U===0)break Q;U--,J|=H[Q++]<Y.UNZIP)throw new TypeError("Bad argument");this.dictionary=null,this.err=0,this.flush=0,this.init_done=!1,this.level=0,this.memLevel=0,this.mode=B,this.strategy=0,this.windowBits=0,this.write_in_progress=!1,this.pending_close=!1,this.gzip_id_bytes_read=0}k.prototype.close=function(){if(this.write_in_progress){this.pending_close=!0;return}if(this.pending_close=!1,R0(this.init_done,"close before init"),R0(this.mode<=Y.UNZIP),this.mode===Y.DEFLATE||this.mode===Y.GZIP||this.mode===Y.DEFLATERAW)b.deflateEnd(this.strm);else if(this.mode===Y.INFLATE||this.mode===Y.GUNZIP||this.mode===Y.INFLATERAW||this.mode===Y.UNZIP)L.inflateEnd(this.strm);this.mode=Y.NONE,this.dictionary=null},k.prototype.write=function(B,N,y,m,p,t,u){return this._write(!0,B,N,y,m,p,t,u)},k.prototype.writeSync=function(B,N,y,m,p,t,u){return this._write(!1,B,N,y,m,p,t,u)},k.prototype._write=function(B,N,y,m,p,t,u,s){if(R0.equal(arguments.length,8),R0(this.init_done,"write before init"),R0(this.mode!==Y.NONE,"already finalized"),R0.equal(!1,this.write_in_progress,"write already in progress"),R0.equal(!1,this.pending_close,"close is pending"),this.write_in_progress=!0,R0.equal(!1,N===void 0,"must provide flush value"),this.write_in_progress=!0,N!==Y.Z_NO_FLUSH&&N!==Y.Z_PARTIAL_FLUSH&&N!==Y.Z_SYNC_FLUSH&&N!==Y.Z_FULL_FLUSH&&N!==Y.Z_FINISH&&N!==Y.Z_BLOCK)throw new Error("Invalid flush value");if(y==null)y=Buffer.alloc(0),p=0,m=0;if(this.strm.avail_in=p,this.strm.input=y,this.strm.next_in=m,this.strm.avail_out=s,this.strm.output=t,this.strm.next_out=u,this.flush=N,!B){if(this._process(),this._checkError())return this._afterSync();return}var W0=this;return process.nextTick(function(){W0._process(),W0._after()}),this},k.prototype._afterSync=function(){var B=this.strm.avail_out,N=this.strm.avail_in;return this.write_in_progress=!1,[N,B]},k.prototype._process=function(){var B=null;switch(this.mode){case Y.DEFLATE:case Y.GZIP:case Y.DEFLATERAW:this.err=b.deflate(this.strm,this.flush);break;case Y.UNZIP:if(this.strm.avail_in>0)B=this.strm.next_in;switch(this.gzip_id_bytes_read){case 0:if(B===null)break;if(this.strm.input[B]===w){if(this.gzip_id_bytes_read=1,B++,this.strm.avail_in===1)break}else{this.mode=Y.INFLATE;break}case 1:if(B===null)break;if(this.strm.input[B]===v)this.gzip_id_bytes_read=2,this.mode=Y.GUNZIP;else this.mode=Y.INFLATE;break;default:throw new Error("invalid number of gzip magic number bytes read")}case Y.INFLATE:case Y.GUNZIP:case Y.INFLATERAW:if(this.err=L.inflate(this.strm,this.flush),this.err===Y.Z_NEED_DICT&&this.dictionary){if(this.err=L.inflateSetDictionary(this.strm,this.dictionary),this.err===Y.Z_OK)this.err=L.inflate(this.strm,this.flush);else if(this.err===Y.Z_DATA_ERROR)this.err=Y.Z_NEED_DICT}while(this.strm.avail_in>0&&this.mode===Y.GUNZIP&&this.err===Y.Z_STREAM_END&&this.strm.next_in[0]!==0)this.reset(),this.err=L.inflate(this.strm,this.flush);break;default:throw new Error("Unknown mode "+this.mode)}},k.prototype._checkError=function(){switch(this.err){case Y.Z_OK:case Y.Z_BUF_ERROR:if(this.strm.avail_out!==0&&this.flush===Y.Z_FINISH)return this._error("unexpected end of file"),!1;break;case Y.Z_STREAM_END:break;case Y.Z_NEED_DICT:if(this.dictionary==null)this._error("Missing dictionary");else this._error("Bad dictionary");return!1;default:return this._error("Zlib error"),!1}return!0},k.prototype._after=function(){if(!this._checkError())return;var B=this.strm.avail_out,N=this.strm.avail_in;if(this.write_in_progress=!1,this.callback(N,B),this.pending_close)this.close()},k.prototype._error=function(B){if(this.strm.msg)B=this.strm.msg;if(this.onerror(B,this.err),this.write_in_progress=!1,this.pending_close)this.close()},k.prototype.init=function(B,N,y,m,p){R0(arguments.length===4||arguments.length===5,"init(windowBits, level, memLevel, strategy, [dictionary])"),R0(B>=8&&B<=15,"invalid windowBits"),R0(N>=-1&&N<=9,"invalid compression level"),R0(y>=1&&y<=9,"invalid memlevel"),R0(m===Y.Z_FILTERED||m===Y.Z_HUFFMAN_ONLY||m===Y.Z_RLE||m===Y.Z_FIXED||m===Y.Z_DEFAULT_STRATEGY,"invalid strategy"),this._init(N,B,y,m,p),this._setDictionary()},k.prototype.params=function(){throw new Error("deflateParams Not supported")},k.prototype.reset=function(){this._reset(),this._setDictionary()},k.prototype._init=function(B,N,y,m,p){if(this.level=B,this.windowBits=N,this.memLevel=y,this.strategy=m,this.flush=Y.Z_NO_FLUSH,this.err=Y.Z_OK,this.mode===Y.GZIP||this.mode===Y.GUNZIP)this.windowBits+=16;if(this.mode===Y.UNZIP)this.windowBits+=32;if(this.mode===Y.DEFLATERAW||this.mode===Y.INFLATERAW)this.windowBits=-1*this.windowBits;switch(this.strm=new g,this.mode){case Y.DEFLATE:case Y.GZIP:case Y.DEFLATERAW:this.err=b.deflateInit2(this.strm,this.level,Y.Z_DEFLATED,this.windowBits,this.memLevel,this.strategy);break;case Y.INFLATE:case Y.GUNZIP:case Y.INFLATERAW:case Y.UNZIP:this.err=L.inflateInit2(this.strm,this.windowBits);break;default:throw new Error("Unknown mode "+this.mode)}if(this.err!==Y.Z_OK)this._error("Init error");this.dictionary=p,this.write_in_progress=!1,this.init_done=!0},k.prototype._setDictionary=function(){if(this.dictionary==null)return;switch(this.err=Y.Z_OK,this.mode){case Y.DEFLATE:case Y.DEFLATERAW:this.err=b.deflateSetDictionary(this.strm,this.dictionary);break;default:break}if(this.err!==Y.Z_OK)this._error("Failed to set dictionary")},k.prototype._reset=function(){switch(this.err=Y.Z_OK,this.mode){case Y.DEFLATE:case Y.DEFLATERAW:case Y.GZIP:this.err=b.deflateReset(this.strm);break;case Y.INFLATE:case Y.INFLATERAW:case Y.GUNZIP:this.err=L.inflateReset(this.strm);break;default:break}if(this.err!==Y.Z_OK)this._error("Failed to reset stream")},Y.Zlib=k}}),c1=A0({"node_modules/browserify-zlib/lib/index.js"(Y){var g=o0.Buffer,b=s0.Transform,L=m1(),n=W1,C=t0.ok,w=o0.kMaxLength,v="Cannot create final Buffer. It would be larger than 0x"+w.toString(16)+" bytes";L.Z_MIN_WINDOWBITS=8,L.Z_MAX_WINDOWBITS=15,L.Z_DEFAULT_WINDOWBITS=15,L.Z_MIN_CHUNK=64,L.Z_MAX_CHUNK=Infinity,L.Z_DEFAULT_CHUNK=16384,L.Z_MIN_MEMLEVEL=1,L.Z_MAX_MEMLEVEL=9,L.Z_DEFAULT_MEMLEVEL=8,L.Z_MIN_LEVEL=-1,L.Z_MAX_LEVEL=9,L.Z_DEFAULT_LEVEL=L.Z_DEFAULT_COMPRESSION;var k=Object.keys(L);for(N=0;N=w)H0=new RangeError(v);else i=g.concat(I,c);I=[],j.close(),O(H0,i)}}function s(j,K){if(typeof K==="string")K=g.from(K);if(!g.isBuffer(K))throw new TypeError("Not a string or buffer");var O=j._finishFlushFlag;return j._processChunk(K,O)}function W0(j){if(!(this instanceof W0))return new W0(j);z.call(this,j,L.DEFLATE)}function E(j){if(!(this instanceof E))return new E(j);z.call(this,j,L.INFLATE)}function S(j){if(!(this instanceof S))return new S(j);z.call(this,j,L.GZIP)}function J0(j){if(!(this instanceof J0))return new J0(j);z.call(this,j,L.GUNZIP)}function G0(j){if(!(this instanceof G0))return new G0(j);z.call(this,j,L.DEFLATERAW)}function F0(j){if(!(this instanceof F0))return new F0(j);z.call(this,j,L.INFLATERAW)}function f(j){if(!(this instanceof f))return new f(j);z.call(this,j,L.UNZIP)}function d(j){return j===L.Z_NO_FLUSH||j===L.Z_PARTIAL_FLUSH||j===L.Z_SYNC_FLUSH||j===L.Z_FULL_FLUSH||j===L.Z_FINISH||j===L.Z_BLOCK}function z(j,K){var O=this;if(this._opts=j=j||{},this._chunkSize=j.chunkSize||Y.Z_DEFAULT_CHUNK,b.call(this,j),j.flush&&!d(j.flush))throw new Error("Invalid flush flag: "+j.flush);if(j.finishFlush&&!d(j.finishFlush))throw new Error("Invalid flush flag: "+j.finishFlush);if(this._flushFlag=j.flush||L.Z_NO_FLUSH,this._finishFlushFlag=typeof j.finishFlush!=="undefined"?j.finishFlush:L.Z_FINISH,j.chunkSize){if(j.chunkSizeY.Z_MAX_CHUNK)throw new Error("Invalid chunk size: "+j.chunkSize)}if(j.windowBits){if(j.windowBitsY.Z_MAX_WINDOWBITS)throw new Error("Invalid windowBits: "+j.windowBits)}if(j.level){if(j.levelY.Z_MAX_LEVEL)throw new Error("Invalid compression level: "+j.level)}if(j.memLevel){if(j.memLevelY.Z_MAX_MEMLEVEL)throw new Error("Invalid memLevel: "+j.memLevel)}if(j.strategy){if(j.strategy!=Y.Z_FILTERED&&j.strategy!=Y.Z_HUFFMAN_ONLY&&j.strategy!=Y.Z_RLE&&j.strategy!=Y.Z_FIXED&&j.strategy!=Y.Z_DEFAULT_STRATEGY)throw new Error("Invalid strategy: "+j.strategy)}if(j.dictionary){if(!g.isBuffer(j.dictionary))throw new Error("Invalid dictionary: it should be a Buffer instance")}this._handle=new L.Zlib(K);var I=this;this._hadError=!1,this._handle.onerror=function(D,Q0){h(I),I._hadError=!0;var i=new Error(D);i.errno=Q0,i.code=Y.codes[Q0],I.emit("error",i)};var c=Y.Z_DEFAULT_COMPRESSION;if(typeof j.level==="number")c=j.level;var l=Y.Z_DEFAULT_STRATEGY;if(typeof j.strategy==="number")l=j.strategy;this._handle.init(j.windowBits||Y.Z_DEFAULT_WINDOWBITS,c,j.memLevel||Y.Z_DEFAULT_MEMLEVEL,l,j.dictionary),this._buffer=g.allocUnsafe(this._chunkSize),this._offset=0,this._level=c,this._strategy=l,this.once("end",this.close),Object.defineProperty(this,"_closed",{get:function(){return!O._handle},configurable:!0,enumerable:!0})}n.inherits(z,b),z.prototype.params=function(j,K,O){if(jY.Z_MAX_LEVEL)throw new RangeError("Invalid compression level: "+j);if(K!=Y.Z_FILTERED&&K!=Y.Z_HUFFMAN_ONLY&&K!=Y.Z_RLE&&K!=Y.Z_FIXED&&K!=Y.Z_DEFAULT_STRATEGY)throw new TypeError("Invalid strategy: "+K);if(this._level!==j||this._strategy!==K){var I=this;this.flush(L.Z_SYNC_FLUSH,function(){if(C(I._handle,"zlib binding closed"),I._handle.params(j,K),!I._hadError){if(I._level=j,I._strategy=K,O)O()}})}else process.nextTick(O)},z.prototype.reset=function(){return C(this._handle,"zlib binding closed"),this._handle.reset()},z.prototype._flush=function(j){this._transform(g.alloc(0),"",j)},z.prototype.flush=function(j,K){var O=this,I=this._writableState;if(typeof j==="function"||j===void 0&&!K)K=j,j=L.Z_FULL_FLUSH;if(I.ended){if(K)process.nextTick(K)}else if(I.ending){if(K)this.once("end",K)}else if(I.needDrain){if(K)this.once("drain",function(){return O.flush(j,K)})}else this._flushFlag=j,this.write(g.alloc(0),"",K)},z.prototype.close=function(j){h(this,j),process.nextTick(V0,this)};function h(j,K){if(K)process.nextTick(K);if(!j._handle)return;j._handle.close(),j._handle=null}function V0(j){j.emit("close")}z.prototype._transform=function(j,K,O){var I,c=this._writableState,l=c.ending||c.ended,D=l&&(!j||c.length===j.length);if(j!==null&&!g.isBuffer(j))return O(new Error("invalid input"));if(!this._handle)return O(new Error("zlib binding closed"));if(D)I=this._finishFlushFlag;else if(I=this._flushFlag,j.length>=c.length)this._flushFlag=this._opts.flush||L.Z_NO_FLUSH;this._processChunk(j,I,O)},z.prototype._processChunk=function(j,K,O){var I=j&&j.length,c=this._chunkSize-this._offset,l=0,D=this,Q0=typeof O==="function";if(!Q0){var i=[],H0=0,N0;this.on("error",function(a){N0=a}),C(this._handle,"zlib binding closed");do var I0=this._handle.writeSync(K,j,l,I,this._buffer,this._offset,c);while(!this._hadError&&U0(I0[0],I0[1]));if(this._hadError)throw N0;if(H0>=w)throw h(this),new RangeError(v);var K0=g.concat(i,H0);return h(this),K0}C(this._handle,"zlib binding closed");var X0=this._handle.write(K,j,l,I,this._buffer,this._offset,c);X0.buffer=j,X0.callback=U0;function U0(a,Y0){if(this)this.buffer=null,this.callback=null;if(D._hadError)return;var r=c-Y0;if(C(r>=0,"have should not go down"),r>0){var z0=D._buffer.slice(D._offset,D._offset+r);if(D._offset+=r,Q0)D.push(z0);else i.push(z0),H0+=z0.length}if(Y0===0||D._offset>=D._chunkSize)c=D._chunkSize,D._offset=0,D._buffer=g.allocUnsafe(D._chunkSize);if(Y0===0){if(l+=I-a,I=a,!Q0)return!0;var Z0=D._handle.write(K,j,l,I,D._buffer,D._offset,D._chunkSize);Z0.callback=U0,Z0.buffer=j;return}if(!Q0)return!1;O()}},n.inherits(W0,z),n.inherits(E,z),n.inherits(S,z),n.inherits(J0,z),n.inherits(G0,z),n.inherits(F0,z),n.inherits(f,z)}}),$0=c1();$0[Symbol.for("CommonJS")]=0;var a1=$0;j1=$0.Deflate;J1=$0.Inflate;Y1=$0.Gzip;G1=$0.Gunzip;q1=$0.DeflateRaw;X1=$0.InflateRaw;U1=$0.Unzip;P1=$0.createDeflate;K1=$0.createInflate;F1=$0.createDeflateRaw;H1=$0.createInflateRaw;z1=$0.createGzip;Z1=$0.createGunzip;L1=$0.createUnzip;C1=$0.deflate;N1=$0.deflateSync;I1=$0.gzip;O1=$0.gzipSync;B1=$0.deflateRaw;D1=$0.deflateRawSync;M1=$0.unzip;k1=$0.unzipSync;v1=$0.inflate;R1=$0.inflateSync;A1=$0.gunzip;g1=$0.gunzipSync;w1=$0.inflateRaw;T1=$0.inflateRawSync;S1=$0.constants;export{k1 as unzipSync,M1 as unzip,R1 as inflateSync,T1 as inflateRawSync,w1 as inflateRaw,v1 as inflate,O1 as gzipSync,I1 as gzip,g1 as gunzipSync,A1 as gunzip,N1 as deflateSync,D1 as deflateRawSync,B1 as deflateRaw,C1 as deflate,a1 as default,L1 as createUnzip,H1 as createInflateRaw,K1 as createInflate,z1 as createGzip,Z1 as createGunzip,F1 as createDeflateRaw,P1 as createDeflate,S1 as constants,U1 as Unzip,X1 as InflateRaw,J1 as Inflate,Y1 as Gzip,G1 as Gunzip,q1 as DeflateRaw,j1 as Deflate}; diff --git a/src/js/out/modules/thirdparty/depd.js b/src/js/out/modules/thirdparty/depd.js deleted file mode 100644 index 6118e8cf1b282..0000000000000 --- a/src/js/out/modules/thirdparty/depd.js +++ /dev/null @@ -1,23 +0,0 @@ -var depd2 = function(namespace) { - if (!namespace) - throw new TypeError("argument namespace is required"); - function deprecate(message) { - } - return deprecate._file = void 0, deprecate._ignored = !0, deprecate._namespace = namespace, deprecate._traced = !1, deprecate._warned = Object.create(null), deprecate.function = wrapfunction, deprecate.property = wrapproperty, deprecate; -}, wrapfunction = function(fn, message) { - if (typeof fn !== "function") - throw new TypeError("argument fn must be a function"); - return fn; -}, wrapproperty = function(obj, prop, message) { - if (!obj || typeof obj !== "object" && typeof obj !== "function") - throw new TypeError("argument obj must be object"); - var descriptor = Object.getOwnPropertyDescriptor(obj, prop); - if (!descriptor) - throw new TypeError("must call property on owner object"); - if (!descriptor.configurable) - throw new TypeError("property must be configurable"); -}, depd_default = depd2; -depd2[Symbol.for("CommonJS")] = 0; -export { - depd_default as default -}; diff --git a/src/js/out/modules/thirdparty/detect-libc.js b/src/js/out/modules/thirdparty/detect-libc.js deleted file mode 100644 index 1c4e18a7a3a26..0000000000000 --- a/src/js/out/modules/thirdparty/detect-libc.js +++ /dev/null @@ -1,29 +0,0 @@ -function family() { - return Promise.resolve(familySync()); -} -function familySync() { - return null; -} -function versionAsync() { - return Promise.resolve(version()); -} -function version() { - return null; -} -function isNonGlibcLinuxSync() { - return !1; -} -function isNonGlibcLinux() { - return Promise.resolve(isNonGlibcLinuxSync()); -} -var GLIBC = "glibc", MUSL = "musl"; -export { - versionAsync, - version, - isNonGlibcLinuxSync, - isNonGlibcLinux, - familySync, - family, - MUSL, - GLIBC -}; diff --git a/src/js/out/modules/thirdparty/detect-libc.linux.js b/src/js/out/modules/thirdparty/detect-libc.linux.js deleted file mode 100644 index 1c4e18a7a3a26..0000000000000 --- a/src/js/out/modules/thirdparty/detect-libc.linux.js +++ /dev/null @@ -1,29 +0,0 @@ -function family() { - return Promise.resolve(familySync()); -} -function familySync() { - return null; -} -function versionAsync() { - return Promise.resolve(version()); -} -function version() { - return null; -} -function isNonGlibcLinuxSync() { - return !1; -} -function isNonGlibcLinux() { - return Promise.resolve(isNonGlibcLinuxSync()); -} -var GLIBC = "glibc", MUSL = "musl"; -export { - versionAsync, - version, - isNonGlibcLinuxSync, - isNonGlibcLinux, - familySync, - family, - MUSL, - GLIBC -}; diff --git a/src/js/out/modules/thirdparty/undici.js b/src/js/out/modules/thirdparty/undici.js deleted file mode 100644 index 20dec6158f0e1..0000000000000 --- a/src/js/out/modules/thirdparty/undici.js +++ /dev/null @@ -1,231 +0,0 @@ -import {EventEmitter} from "node:events"; -import NodeStreamModule from "node:stream"; -import {Readable} from "node:stream"; -var notImplemented = function() { - throw new Error("Not implemented in bun"); -}; -async function request(url, options = { - method: "GET", - signal: null, - headers: null, - query: null, - reset: !1, - throwOnError: !1, - body: null -}) { - let { - method = "GET", - headers: inputHeaders, - query, - signal, - reset = !1, - throwOnError = !1, - body: inputBody, - maxRedirections - } = options; - if (typeof url === "string") { - if (query) - url = new URL(url); - } else if (typeof url === "object" && url !== null) { - if (!(url instanceof URL)) - throw new Error("not implemented"); - } else - throw new TypeError("url must be a string, URL, or UrlObject"); - if (typeof url === "string" && query) - url = new URL(url); - if (typeof url === "object" && url !== null && query) { - if (query) - url.search = new URLSearchParams(query).toString(); - } - if (method = method && typeof method === "string" ? method.toUpperCase() : null, inputBody && (method === "GET" || method === "HEAD")) - throw new Error("Body not allowed for GET or HEAD requests"); - if (inputBody && inputBody.read && inputBody instanceof Readable) { - let data = ""; - inputBody.setEncoding("utf8"); - for await (let chunk of stream) - data += chunk; - inputBody = (new TextEncoder()).encode(data); - } - if (maxRedirections !== void 0 && Number.isNaN(maxRedirections)) - throw new Error("maxRedirections must be a number if defined"); - if (signal && !(signal instanceof AbortSignal)) - throw new Error("signal must be an instance of AbortSignal"); - let resp; - const { - status: statusCode, - headers, - trailers - } = resp = await fetch(url, { - signal, - mode: "cors", - method, - headers: inputHeaders || kEmptyObject, - body: inputBody, - redirect: maxRedirections === "undefined" || maxRedirections > 0 ? "follow" : "manual", - keepalive: !reset - }); - if (throwOnError && statusCode >= 400 && statusCode < 600) - throw new Error(`Request failed with status code ${statusCode}`); - const body = resp.body ? new BodyReadable(resp) : null; - return { statusCode, headers: headers.toJSON(), body, trailers, opaque: kEmptyObject, context: kEmptyObject }; -} -var stream = function() { - throw new Error("Not implemented in bun"); -}, pipeline = function() { - throw new Error("Not implemented in bun"); -}, connect = function() { - throw new Error("Not implemented in bun"); -}, upgrade = function() { - throw new Error("Not implemented in bun"); -}, mockErrors = function() { - throw new Error("Not implemented in bun"); -}; -function Undici() { - throw new Error("Not implemented in bun"); -} -var { Object } = globalThis[Symbol.for("Bun.lazy")]("primordials"), { _ReadableFromWebForUndici: ReadableFromWeb } = NodeStreamModule[Symbol.for("::bunternal::")], ObjectCreate = Object.create, kEmptyObject = ObjectCreate(null), fetch = Bun.fetch, Response = globalThis.Response, Headers = globalThis.Headers, Request = globalThis.Request, URLSearchParams = globalThis.URLSearchParams, URL = globalThis.URL; - -class File extends Blob { -} - -class FileReader extends EventTarget { - constructor() { - throw new Error("Not implemented yet!"); - } -} -var FormData = globalThis.FormData; - -class BodyReadable extends ReadableFromWeb { - #response; - #bodyUsed; - constructor(response, options = {}) { - var { body } = response; - if (!body) - throw new Error("Response body is null"); - super(options, body); - this.#response = response, this.#bodyUsed = response.bodyUsed; - } - get bodyUsed() { - return this.#bodyUsed; - } - #consume() { - if (this.#bodyUsed) - throw new TypeError("unusable"); - this.#bodyUsed = !0; - } - async arrayBuffer() { - return this.#consume(), await this.#response.arrayBuffer(); - } - async blob() { - return this.#consume(), await this.#response.blob(); - } - async formData() { - return this.#consume(), await this.#response.formData(); - } - async json() { - return this.#consume(), await this.#response.json(); - } - async text() { - return this.#consume(), await this.#response.text(); - } -} - -class MockClient { - constructor() { - throw new Error("Not implemented in bun"); - } -} - -class MockPool { - constructor() { - throw new Error("Not implemented in bun"); - } -} - -class MockAgent { - constructor() { - throw new Error("Not implemented in bun"); - } -} - -class Dispatcher extends EventEmitter { -} - -class Agent extends Dispatcher { -} - -class Pool extends Dispatcher { - request() { - throw new Error("Not implemented in bun"); - } -} - -class BalancedPool extends Dispatcher { -} - -class Client extends Dispatcher { - request() { - throw new Error("Not implemented in bun"); - } -} -Undici.Dispatcher = Dispatcher; -Undici.Pool = Pool; -Undici.BalancedPool = BalancedPool; -Undici.Client = Client; -Undici.Agent = Agent; -Undici.buildConnector = Undici.errors = Undici.setGlobalDispatcher = Undici.getGlobalDispatcher = Undici.request = Undici.stream = Undici.pipeline = Undici.connect = Undici.upgrade = Undici.MockClient = Undici.MockPool = Undici.MockAgent = Undici.mockErrors = notImplemented; -Undici.fetch = fetch; -var undici_default = { - fetch, - Response, - Headers, - Request, - URLSearchParams, - URL, - File, - FileReader, - FormData, - request, - stream, - pipeline, - connect, - upgrade, - MockClient, - MockPool, - MockAgent, - mockErrors, - Dispatcher, - Pool, - BalancedPool, - Client, - Agent, - Undici, - [Symbol.for("CommonJS")]: 0 -}; -export { - upgrade, - stream, - request, - pipeline, - mockErrors, - fetch, - undici_default as default, - connect, - Undici, - URLSearchParams, - URL, - Response, - Request, - Pool, - MockPool, - MockClient, - MockAgent, - Headers, - FormData, - FileReader, - File, - Dispatcher, - Client, - BalancedPool, - Agent -}; diff --git a/src/js/out/modules/thirdparty/ws.js b/src/js/out/modules/thirdparty/ws.js deleted file mode 100644 index a30a4c688e732..0000000000000 --- a/src/js/out/modules/thirdparty/ws.js +++ /dev/null @@ -1,734 +0,0 @@ -import {EventEmitter} from "node:events"; -import http from "node:http"; -var emitWarning = function(type, message) { - if (emittedWarnings.has(type)) - return; - emittedWarnings.add(type), console.warn("[bun] Warning:", message); -}, subprotocolParse = function(header) { - const protocols = new Set; - let start = -1, end = -1, i = 0; - for (i;i < header.length; i++) { - const code = header.charCodeAt(i); - if (end === -1 && wsTokenChars[code] === 1) { - if (start === -1) - start = i; - } else if (i !== 0 && (code === 32 || code === 9)) { - if (end === -1 && start !== -1) - end = i; - } else if (code === 44) { - if (start === -1) - throw new SyntaxError(`Unexpected character at index ${i}`); - if (end === -1) - end = i; - const protocol2 = header.slice(start, end); - if (protocols.has(protocol2)) - throw new SyntaxError(`The "${protocol2}" subprotocol is duplicated`); - protocols.add(protocol2), start = end = -1; - } else - throw new SyntaxError(`Unexpected character at index ${i}`); - } - if (start === -1 || end !== -1) - throw new SyntaxError("Unexpected end of input"); - const protocol = header.slice(start, i); - if (protocols.has(protocol)) - throw new SyntaxError(`The "${protocol}" subprotocol is duplicated`); - return protocols.add(protocol), protocols; -}, wsEmitClose = function(server) { - server._state = CLOSED, server.emit("close"); -}, abortHandshake = function(response, code, message, headers) { - message = message || http.STATUS_CODES[code], headers = { - Connection: "close", - "Content-Type": "text/html", - "Content-Length": Buffer.byteLength(message), - ...headers - }, response.writeHead(code, headers), response.write(message), response.end(); -}, abortHandshakeOrEmitwsClientError = function(server, req, response, socket, code, message) { - if (server.listenerCount("wsClientError")) { - const err = new Error(message); - Error.captureStackTrace(err, abortHandshakeOrEmitwsClientError), server.emit("wsClientError", err, socket, req); - } else - abortHandshake(response, code, message); -}, kBunInternals = Symbol.for("::bunternal::"), readyStates = ["CONNECTING", "OPEN", "CLOSING", "CLOSED"], encoder = new TextEncoder, eventIds = { - open: 1, - close: 2, - message: 3, - error: 4, - ping: 5, - pong: 6 -}, emittedWarnings = new Set; - -class BunWebSocket extends EventEmitter { - static CONNECTING = 0; - static OPEN = 1; - static CLOSING = 2; - static CLOSED = 3; - #ws; - #paused = !1; - #fragments = !1; - #binaryType = "nodebuffer"; - #eventId = 0; - constructor(url, protocols, options) { - super(); - let ws = this.#ws = new WebSocket(url, protocols); - ws.binaryType = "nodebuffer"; - } - on(event, listener) { - if (event === "unexpected-response" || event === "upgrade" || event === "redirect") - emitWarning(event, "ws.WebSocket '" + event + "' event is not implemented in bun"); - const mask = 1 << eventIds[event]; - if (mask && (this.#eventId & mask) !== mask) { - if (this.#eventId |= mask, event === "open") - this.#ws.addEventListener("open", () => { - this.emit("open"); - }); - else if (event === "close") - this.#ws.addEventListener("close", ({ code, reason, wasClean }) => { - this.emit("close", code, reason, wasClean); - }); - else if (event === "message") - this.#ws.addEventListener("message", ({ data }) => { - const isBinary = typeof data !== "string"; - if (isBinary) - this.emit("message", this.#fragments ? [data] : data, isBinary); - else { - let encoded = encoder.encode(data); - if (this.#binaryType !== "arraybuffer") - encoded = Buffer.from(encoded.buffer, encoded.byteOffset, encoded.byteLength); - this.emit("message", this.#fragments ? [encoded] : encoded, isBinary); - } - }); - else if (event === "error") - this.#ws.addEventListener("error", (err) => { - this.emit("error", err); - }); - else if (event === "ping") - this.#ws.addEventListener("ping", ({ data }) => { - this.emit("ping", data); - }); - else if (event === "pong") - this.#ws.addEventListener("pong", ({ data }) => { - this.emit("pong", data); - }); - } - return super.on(event, listener); - } - send(data, opts, cb) { - try { - this.#ws.send(data, opts?.compress); - } catch (error) { - typeof cb === "function" && cb(error); - return; - } - typeof cb === "function" && cb(); - } - close(code, reason) { - this.#ws.close(code, reason); - } - terminate() { - this.#ws.terminate(); - } - get url() { - return this.#ws.url; - } - get readyState() { - return this.#ws.readyState; - } - get binaryType() { - return this.#binaryType; - } - set binaryType(value) { - if (value === "nodebuffer" || value === "arraybuffer") - this.#ws.binaryType = this.#binaryType = value, this.#fragments = !1; - else if (value === "fragments") - this.#ws.binaryType = "nodebuffer", this.#binaryType = "fragments", this.#fragments = !0; - else - throw new Error(`Invalid binaryType: ${value}`); - } - get protocol() { - return this.#ws.protocol; - } - get extensions() { - return this.#ws.extensions; - } - addEventListener(type, listener, options) { - this.#ws.addEventListener(type, listener, options); - } - removeEventListener(type, listener) { - this.#ws.removeEventListener(type, listener); - } - get onopen() { - return this.#ws.onopen; - } - set onopen(value) { - this.#ws.onopen = value; - } - get onerror() { - return this.#ws.onerror; - } - set onerror(value) { - this.#ws.onerror = value; - } - get onclose() { - return this.#ws.onclose; - } - set onclose(value) { - this.#ws.onclose = value; - } - get onmessage() { - return this.#ws.onmessage; - } - set onmessage(value) { - this.#ws.onmessage = value; - } - get bufferedAmount() { - return this.#ws.bufferedAmount; - } - get isPaused() { - return this.#paused; - } - ping(data, mask, cb) { - if (typeof data === "function") - cb = data, data = mask = void 0; - else if (typeof mask === "function") - cb = mask, mask = void 0; - if (typeof data === "number") - data = data.toString(); - try { - this.#ws.ping(data); - } catch (error) { - typeof cb === "function" && cb(error); - return; - } - typeof cb === "function" && cb(); - } - pong(data, mask, cb) { - if (typeof data === "function") - cb = data, data = mask = void 0; - else if (typeof mask === "function") - cb = mask, mask = void 0; - if (typeof data === "number") - data = data.toString(); - try { - this.#ws.pong(data); - } catch (error) { - typeof cb === "function" && cb(error); - return; - } - typeof cb === "function" && cb(); - } - pause() { - switch (this.readyState) { - case WebSocket.CONNECTING: - case WebSocket.CLOSED: - return; - } - this.#paused = !0, emitWarning("pause()", "ws.WebSocket.pause() is not implemented in bun"); - } - resume() { - switch (this.readyState) { - case WebSocket.CONNECTING: - case WebSocket.CLOSED: - return; - } - this.#paused = !1, emitWarning("resume()", "ws.WebSocket.resume() is not implemented in bun"); - } -} -BunWebSocket.WebSocket = BunWebSocket; -var wsKeyRegex = /^[+/0-9A-Za-z]{22}==$/, wsTokenChars = [ - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 1, - 0, - 1, - 1, - 1, - 1, - 1, - 0, - 0, - 1, - 1, - 0, - 1, - 1, - 0, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 0, - 0, - 0, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 0, - 1, - 0, - 1, - 0 -], RUNNING = 0, CLOSING = 1, CLOSED = 2; - -class BunWebSocketMocked extends EventEmitter { - #ws; - #state; - #enquedMessages = []; - #url; - #protocol; - #extensions; - #bufferedAmount = 0; - #binaryType = "arraybuffer"; - #onclose; - #onerror; - #onmessage; - #onopen; - constructor(url, protocol, extensions, binaryType) { - super(); - if (this.#ws = null, this.#state = 0, this.#url = url, this.#bufferedAmount = 0, binaryType = binaryType || "arraybuffer", binaryType !== "nodebuffer" && binaryType !== "blob" && binaryType !== "arraybuffer") - throw new TypeError("binaryType must be either 'blob', 'arraybuffer' or 'nodebuffer'"); - this.#binaryType = binaryType, this.#protocol = protocol, this.#extensions = extensions; - const message = this.#message.bind(this), open = this.#open.bind(this), close = this.#close.bind(this), drain = this.#drain.bind(this); - this[kBunInternals] = { - message, - open, - close, - drain - }; - } - #message(ws, message) { - if (this.#ws = ws, typeof message === "string") - if (this.#binaryType === "arraybuffer") - message = encoder.encode(message).buffer; - else if (this.#binaryType === "blob") - message = new Blob([message], { type: "text/plain" }); - else - message = Buffer.from(message); - else if (this.#binaryType !== "nodebuffer") { - if (this.#binaryType === "arraybuffer") - message = new Uint8Array(message); - else if (this.#binaryType === "blob") - message = new Blob([message]); - } - this.emit("message", message); - } - #open(ws) { - this.#ws = ws, this.#state = 1, this.emit("open", this), this.#drain(ws); - } - #close(ws, code, reason) { - this.#state = 3, this.#ws = null, this.emit("close", code, reason); - } - #drain(ws) { - const chunk = this.#enquedMessages[0]; - if (chunk) { - const [data, compress, cb] = chunk; - if (ws.send(data, compress) == -1) - return; - typeof cb === "function" && cb(), this.#bufferedAmount -= chunk.length, this.#enquedMessages.shift(); - } - } - send(data, opts, cb) { - if (this.#state === 1) { - const compress = opts?.compress; - if (this.#ws.send(data, compress) == -1) { - this.#enquedMessages.push([data, compress, cb]), this.#bufferedAmount += data.length; - return; - } - typeof cb === "function" && cb(); - } else if (this.#state === 0) - this.#enquedMessages.push([data, opts?.compress, cb]), this.#bufferedAmount += data.length; - } - close(code, reason) { - if (this.#state === 1) - this.#state = 2, this.#ws.close(code, reason); - } - get binaryType() { - return this.#binaryType; - } - set binaryType(type) { - if (type !== "nodebuffer" && type !== "blob" && type !== "arraybuffer") - throw new TypeError("binaryType must be either 'blob', 'arraybuffer' or 'nodebuffer'"); - this.#binaryType = type; - } - get readyState() { - return this.#state; - } - get url() { - return this.#url; - } - get protocol() { - return this.#protocol; - } - get extensions() { - return this.#extensions; - } - get bufferedAmount() { - return this.#bufferedAmount ?? 0; - } - setSocket(socket, head, options) { - throw new Error("Not implemented"); - } - set onclose(cb) { - if (this.#onclose) - this.removeListener("close", this.#onclose); - this.on("close", cb), this.#onclose = cb; - } - set onerror(cb) { - if (this.#onerror) - this.removeListener("error", this.#onerror); - this.on("error", cb), this.#onerror = cb; - } - set onmessage(cb) { - if (this.#onmessage) - this.removeListener("message", this.#onmessage); - this.on("message", cb), this.#onmessage = cb; - } - set onopen(cb) { - if (this.#onopen) - this.removeListener("open", this.#onopen); - this.on("open", cb), this.#onopen = cb; - } - get onclose() { - return this.#onclose; - } - get onerror() { - return this.#onerror; - } - get onmessage() { - return this.#onmessage; - } - get onopen() { - return this.#onopen; - } -} - -class Server extends EventEmitter { - _server; - options; - clients; - _shouldEmitClose; - _state; - _removeListeners; - constructor(options, callback) { - super(); - if (options = { - maxPayload: 104857600, - skipUTF8Validation: !1, - perMessageDeflate: !1, - handleProtocols: null, - clientTracking: !0, - verifyClient: null, - noServer: !1, - backlog: null, - server: null, - host: null, - path: null, - port: null, - ...options - }, options.port == null && !options.server && !options.noServer || options.port != null && (options.server || options.noServer) || options.server && options.noServer) - throw new TypeError('One and only one of the "port", "server", or "noServer" options must be specified'); - if (options.port != null) - this._server = http.createServer((req, res) => { - const body = http.STATUS_CODES[426]; - res.writeHead(426, { - "Content-Length": body.length, - "Content-Type": "text/plain" - }), res.end(body); - }), this._server.listen(options.port, options.host, options.backlog, callback); - else if (options.server) - this._server = options.server; - if (this._server) { - const emitConnection = this.emit.bind(this, "connection"), emitListening = this.emit.bind(this, "listening"), emitError = this.emit.bind(this, "error"), doUpgrade = (req, socket, head) => { - this.handleUpgrade(req, socket, head, emitConnection); - }; - this._server.on("listening", emitListening), this._server.on("error", emitError), this._server.on("upgrade", doUpgrade), this._removeListeners = () => { - this._server.removeListener("upgrade", doUpgrade), this._server.removeListener("listening", emitListening), this._server.removeListener("error", emitError); - }; - } - if (options.perMessageDeflate === !0) - options.perMessageDeflate = {}; - if (options.clientTracking) - this.clients = new Set, this._shouldEmitClose = !1; - this.options = options, this._state = RUNNING; - } - address() { - if (this.options.noServer) - throw new Error('The server is operating in "noServer" mode'); - if (!this._server) - return null; - return this._server.address(); - } - close(cb) { - if (this._state === CLOSED) { - if (cb) - this.once("close", () => { - cb(new Error("The server is not running")); - }); - process.nextTick((server) => { - server._state = CLOSED, server.emit("close"); - }, this); - return; - } - if (cb) - this.once("close", cb); - if (this._state === CLOSING) - return; - if (this._state = CLOSING, this.options.noServer || this.options.server) { - if (this._server) - this._removeListeners(), this._removeListeners = this._server = null; - if (this.clients) - if (!this.clients.size) - process.nextTick((server) => { - server._state = CLOSED, server.emit("close"); - }, this); - else - this._shouldEmitClose = !0; - else - process.nextTick((server) => { - server._state = CLOSED, server.emit("close"); - }, this); - } else { - const server = this._server; - this._removeListeners(), this._removeListeners = this._server = null, server.close(() => { - this._state = CLOSED, this.emit("close"); - }); - } - } - shouldHandle(req) { - if (this.options.path) { - const index = req.url.indexOf("?"); - if ((index !== -1 ? req.url.slice(0, index) : req.url) !== this.options.path) - return !1; - } - return !0; - } - completeUpgrade(extensions, key, protocols, request, socket, head, cb) { - const [server, response, req] = socket[kBunInternals]; - if (this._state > RUNNING) - return abortHandshake(response, 503); - let protocol = ""; - if (protocols.size) - protocol = this.options.handleProtocols ? this.options.handleProtocols(protocols, request) : protocols.values().next().value; - const ws = new BunWebSocketMocked(request.url, protocol, extensions, "nodebuffer"), headers = ["HTTP/1.1 101 Switching Protocols", "Upgrade: websocket", "Connection: Upgrade"]; - if (this.emit("headers", headers, request), server.upgrade(req, { - data: ws[kBunInternals] - })) { - if (response._reply(void 0), this.clients) - this.clients.add(ws), ws.on("close", () => { - if (this.clients.delete(ws), this._shouldEmitClose && !this.clients.size) - process.nextTick(wsEmitClose, this); - }); - cb(ws, request); - } else - abortHandshake(response, 500); - } - handleUpgrade(req, socket, head, cb) { - const [_, response] = socket[kBunInternals], key = req.headers["sec-websocket-key"], version = +req.headers["sec-websocket-version"]; - if (req.method !== "GET") { - abortHandshakeOrEmitwsClientError(this, req, response, socket, 405, "Invalid HTTP method"); - return; - } - if (req.headers.upgrade.toLowerCase() !== "websocket") { - abortHandshakeOrEmitwsClientError(this, req, response, socket, 400, "Invalid Upgrade header"); - return; - } - if (!key || !wsKeyRegex.test(key)) { - abortHandshakeOrEmitwsClientError(this, req, response, socket, 400, "Missing or invalid Sec-WebSocket-Key header"); - return; - } - if (version !== 8 && version !== 13) { - abortHandshakeOrEmitwsClientError(this, req, response, socket, 400, "Missing or invalid Sec-WebSocket-Version header"); - return; - } - if (!this.shouldHandle(req)) { - abortHandshake(response, 400); - return; - } - const secWebSocketProtocol = req.headers["sec-websocket-protocol"]; - let protocols = new Set; - if (secWebSocketProtocol !== void 0) - try { - protocols = subprotocolParse(secWebSocketProtocol); - } catch (err) { - abortHandshakeOrEmitwsClientError(this, req, response, socket, 400, "Invalid Sec-WebSocket-Protocol header"); - return; - } - const extensions = {}; - if (this.options.verifyClient) { - const info = { - origin: req.headers[`${version === 8 ? "sec-websocket-origin" : "origin"}`], - secure: !!(req.socket.authorized || req.socket.encrypted), - req - }; - if (this.options.verifyClient.length === 2) { - this.options.verifyClient(info, (verified, code, message, headers) => { - if (!verified) - return abortHandshake(response, code || 401, message, headers); - this.completeUpgrade(extensions, key, protocols, req, socket, head, cb); - }); - return; - } - if (!this.options.verifyClient(info)) - return abortHandshake(response, 401); - } - this.completeUpgrade(extensions, key, protocols, req, socket, head, cb); - } -} -BunWebSocket.WebSocketServer = Server; -BunWebSocket.Server = Server; -Object.defineProperty(BunWebSocket, "CONNECTING", { - enumerable: !0, - value: readyStates.indexOf("CONNECTING") -}); -Object.defineProperty(BunWebSocket.prototype, "CONNECTING", { - enumerable: !0, - value: readyStates.indexOf("CONNECTING") -}); -Object.defineProperty(BunWebSocket, "OPEN", { - enumerable: !0, - value: readyStates.indexOf("OPEN") -}); -Object.defineProperty(BunWebSocket.prototype, "OPEN", { - enumerable: !0, - value: readyStates.indexOf("OPEN") -}); -Object.defineProperty(BunWebSocket, "CLOSING", { - enumerable: !0, - value: readyStates.indexOf("CLOSING") -}); -Object.defineProperty(BunWebSocket.prototype, "CLOSING", { - enumerable: !0, - value: readyStates.indexOf("CLOSING") -}); -Object.defineProperty(BunWebSocket, "CLOSED", { - enumerable: !0, - value: readyStates.indexOf("CLOSED") -}); -Object.defineProperty(BunWebSocket.prototype, "CLOSED", { - enumerable: !0, - value: readyStates.indexOf("CLOSED") -}); - -class Sender { - constructor() { - throw new Error("Not supported yet in Bun"); - } -} -BunWebSocket.Sender = Sender; - -class Receiver { - constructor() { - throw new Error("Not supported yet in Bun"); - } -} -BunWebSocket.Receiver = Receiver; -var createWebSocketStream = (ws) => { - throw new Error("Not supported yet in Bun"); -}; -BunWebSocket.createWebSocketStream = createWebSocketStream; -BunWebSocket[Symbol.for("CommonJS")] = 0; -var ws_default = BunWebSocket; -export { - ws_default as default, - createWebSocketStream, - Server as WebSocketServer, - BunWebSocket as WebSocket, - Server, - Sender, - Receiver -}; diff --git a/src/js/private.d.ts b/src/js/private.d.ts index eae2047fb8385..769abd7d75054 100644 --- a/src/js/private.d.ts +++ b/src/js/private.d.ts @@ -95,7 +95,7 @@ declare module "bun" { }; function fs(): BunFS; function _Os(): typeof import("node:os"); - function _Path(isWindows?: boolean): typeof import("node:path"); + function _Path(isWin32?: boolean): typeof import("node:path"); function jest(): typeof import("bun:test"); var main: string; var tty: Array<{ hasColors: boolean }>; @@ -145,7 +145,6 @@ declare interface Error { * This is only valid in src/js/ as it is replaced with `globalThis[Symbol.for("Bun.lazy")]` at bundle time. */ function $lazy(id: T): BunLazyModules[T]; -function $lazy(id: "createImportMeta", from: string): BunLazyModules[T]; interface BunLazyModules { /** @@ -199,3 +198,6 @@ interface BunLazyModules { [2]: any; [4]: any; } + +/** Assign to this variable in src/js/{bun,node,thirdparty} to act as module.exports */ +declare var $exports: any; diff --git a/src/js/thirdparty/depd.js b/src/js/thirdparty/depd.js index 2da8901bc73fe..9279253ef90f6 100644 --- a/src/js/thirdparty/depd.js +++ b/src/js/thirdparty/depd.js @@ -1,4 +1,4 @@ -function depd2(namespace) { +export default function depd(namespace) { if (!namespace) { throw new TypeError("argument namespace is required"); } @@ -30,6 +30,3 @@ function wrapproperty(obj, prop, message) { throw new TypeError("property must be configurable"); } } - -export default depd2; -depd2[Symbol.for("CommonJS")] = 0; diff --git a/src/js/thirdparty/detect-libc.js b/src/js/thirdparty/detect-libc.js index 514a765363471..1a6f97e79698c 100644 --- a/src/js/thirdparty/detect-libc.js +++ b/src/js/thirdparty/detect-libc.js @@ -1,27 +1,38 @@ // Hardcoded module "detect-libc" for darwin -export function family() { +function family() { return Promise.resolve(familySync()); } -export function familySync() { +function familySync() { return null; } -export const GLIBC = "glibc"; -export const MUSL = "musl"; +const GLIBC = "glibc"; +const MUSL = "musl"; -export function versionAsync() { +function versionAsync() { return Promise.resolve(version()); } -export function version() { +function version() { return null; } -export function isNonGlibcLinuxSync() { +function isNonGlibcLinuxSync() { return false; } -export function isNonGlibcLinux() { +function isNonGlibcLinux() { return Promise.resolve(isNonGlibcLinuxSync()); } + +export default { + GLIBC, + MUSL, + family, + familySync, + isNonGlibcLinux, + isNonGlibcLinuxSync, + version, + versionAsync, +}; diff --git a/src/js/thirdparty/detect-libc.linux.js b/src/js/thirdparty/detect-libc.linux.js index 4c65572470cc0..2866b18c0dc10 100644 --- a/src/js/thirdparty/detect-libc.linux.js +++ b/src/js/thirdparty/detect-libc.linux.js @@ -1,35 +1,38 @@ // Hardcoded module "detect-libc" for linux -export function family() { +function family() { return Promise.resolve(familySync()); } -export function familySync() { - if (process.platform === "linux") { - return GLIBC; - } else { - return null; - } +function familySync() { + return GLIBC; } -export const GLIBC = "glibc"; -export const MUSL = "musl"; +const GLIBC = "glibc"; +const MUSL = "musl"; -export function versionAsync() { +function versionAsync() { return Promise.resolve(version()); } -export function version() { - if (process.platform === "linux") { - return "2.29"; - } else { - return null; - } +function version() { + return "2.29"; } -export function isNonGlibcLinuxSync() { +function isNonGlibcLinuxSync() { return false; } -export function isNonGlibcLinux() { +function isNonGlibcLinux() { return Promise.resolve(isNonGlibcLinuxSync()); } + +export default { + GLIBC, + MUSL, + family, + familySync, + isNonGlibcLinux, + isNonGlibcLinuxSync, + version, + versionAsync, +}; diff --git a/src/js/thirdparty/undici.js b/src/js/thirdparty/undici.js index e7c6338766f25..ec0096ff84220 100644 --- a/src/js/thirdparty/undici.js +++ b/src/js/thirdparty/undici.js @@ -1,9 +1,7 @@ -const { Object } = $lazy("primordials"); -import { EventEmitter } from "events"; -import NodeStreamModule from "node:stream"; -import { Readable } from "node:stream"; - -const { _ReadableFromWebForUndici: ReadableFromWeb } = NodeStreamModule[Symbol.for("::bunternal::")]; +const EventEmitter = require("node:events"); +const StreamModule = require("node:stream"); +const { Readable } = StreamModule; +const { _ReadableFromWebForUndici: ReadableFromWeb } = StreamModule[Symbol.for("::bunternal::")]; const ObjectCreate = Object.create; const kEmptyObject = ObjectCreate(null); @@ -261,7 +259,7 @@ function mockErrors() { throw new Error("Not implemented in bun"); } -export function Undici() { +function Undici() { throw new Error("Not implemented in bun"); } @@ -327,31 +325,4 @@ export default { Client, Agent, Undici, - [Symbol.for("CommonJS")]: 0, -}; - -export { - fetch, - Response, - Headers, - Request, - URLSearchParams, - URL, - File, - FileReader, - FormData, - request, - stream, - pipeline, - connect, - upgrade, - MockClient, - MockPool, - MockAgent, - mockErrors, - Dispatcher, - Pool, - BalancedPool, - Client, - Agent, }; diff --git a/src/js/thirdparty/ws.js b/src/js/thirdparty/ws.js index 8fa5491e3994c..fe79449715f81 100644 --- a/src/js/thirdparty/ws.js +++ b/src/js/thirdparty/ws.js @@ -3,8 +3,8 @@ // this just wraps WebSocket to look like an EventEmitter // without actually using an EventEmitter polyfill -import { EventEmitter } from "node:events"; -import http from "node:http"; +const EventEmitter = require("node:events"); +const http = require("node:http"); const kBunInternals = Symbol.for("::bunternal::"); const readyStates = ["CONNECTING", "OPEN", "CLOSING", "CLOSED"]; @@ -265,8 +265,7 @@ class BunWebSocket extends EventEmitter { emitWarning("resume()", "ws.WebSocket.resume() is not implemented in bun"); } } - -BunWebSocket.WebSocket = BunWebSocket; +Object.defineProperty(BunWebSocket, "name", { value: "WebSocket" }); const wsKeyRegex = /^[+/0-9A-Za-z]{22}==$/; const wsTokenChars = [ @@ -715,7 +714,7 @@ class BunWebSocketMocked extends EventEmitter { } } -class Server extends EventEmitter { +class WebSocketServer extends EventEmitter { _server; options; clients; @@ -1082,9 +1081,6 @@ class Server extends EventEmitter { } } -BunWebSocket.WebSocketServer = Server; -BunWebSocket.Server = Server; - Object.defineProperty(BunWebSocket, "CONNECTING", { enumerable: true, value: readyStates.indexOf("CONNECTING"), @@ -1131,23 +1127,21 @@ class Sender { } } -BunWebSocket.Sender = Sender; - class Receiver { constructor() { throw new Error("Not supported yet in Bun"); } } -BunWebSocket.Receiver = Receiver; - var createWebSocketStream = ws => { throw new Error("Not supported yet in Bun"); }; -BunWebSocket.createWebSocketStream = createWebSocketStream; - -BunWebSocket[Symbol.for("CommonJS")] = 0; - -export default BunWebSocket; -export { createWebSocketStream, Server, Receiver, Sender, BunWebSocket as WebSocket, Server as WebSocketServer }; +export default Object.assign(BunWebSocket, { + createWebSocketStream, + Receiver, + Sender, + WebSocket: BunWebSocket, + Server: WebSocketServer, + WebSocketServer: WebSocketServer, +}); diff --git a/src/js/tsconfig.json b/src/js/tsconfig.json index 09a0abbb26bc6..32edf36fd7b7b 100644 --- a/src/js/tsconfig.json +++ b/src/js/tsconfig.json @@ -1,14 +1,26 @@ { "extends": "../../tsconfig.base.json", "compilerOptions": { - "noEmit": true + "lib": ["ESNext"], + "module": "ESNext", + "isolatedModules": true, + "noEmit": true, + "paths": { + "$shared": ["./internal/shared.ts"], //deprecated + "internal/*": ["./internal/*"] //deprecated + } }, "include": [ + // "node", "bun", + "builtins", + "functions", + "internal", "thirdparty", - "build-*", - "shared.ts", + "_codegen" + + "builtins.d.ts", "private.d.ts", "../../packages/bun-types/index.d.ts" ] diff --git a/src/js/bun/wasi-runner.js b/src/js/wasi-runner.js similarity index 92% rename from src/js/bun/wasi-runner.js rename to src/js/wasi-runner.js index 9f7b469e11ea9..f0f38f57c7e73 100644 --- a/src/js/bun/wasi-runner.js +++ b/src/js/wasi-runner.js @@ -1,5 +1,5 @@ /** This file is used when a .wasm file is ran. - * The contents of `../node/wasi.js` is pasted into the top of this file. + * The transpiled contents of `./node/wasi.js` is pasted into the top of this file. */ const filePath = process.argv.at(1); diff --git a/src/node-fallbacks/node-fetch.js b/src/node-fallbacks/node-fetch.js index c65d4f6ed62b6..e02089623f9c6 100644 --- a/src/node-fallbacks/node-fetch.js +++ b/src/node-fallbacks/node-fetch.js @@ -71,7 +71,6 @@ export default Object.assign(fetch, { fileFromSync, isRedirect, default: fetch, - [Symbol.for("CommonJS")]: 0, }); export { diff --git a/test/cli/run/run-cjs.test.ts b/test/cli/run/run-cjs.test.ts index 5b70f8384db5e..34c77d1061ce0 100644 --- a/test/cli/run/run-cjs.test.ts +++ b/test/cli/run/run-cjs.test.ts @@ -15,26 +15,3 @@ test.todo("running a commonjs module works", async () => { }); expect(stdout.toString("utf8")).toEqual("hello world\n"); }); - -test("not running with export default class", async () => { - const dir = join(realpathSync(tmpdir()), "bun-run-test2"); - mkdirSync(dir, { recursive: true }); - await Bun.write( - join(dir, "index1.js"), - `// @bun -class Foo { - constructor() { - console.log('hello world'); - } -}; -Foo[Symbol.for("CommonJS")] = true; -export default Foo -`, - ); - let { stdout } = Bun.spawnSync({ - cmd: [bunExe(), join(dir, "index1.js")], - cwd: dir, - env: bunEnv, - }); - expect(stdout.toString("utf8")).toEqual(""); -}); diff --git a/test/js/node/path/path.test.js b/test/js/node/path/path.test.js index 8f32bdb2cfdd4..567e837af75c6 100644 --- a/test/js/node/path/path.test.js +++ b/test/js/node/path/path.test.js @@ -15,10 +15,6 @@ const expectStrictEqual = (actual, expected) => { }; hideFromStackTrace(expectStrictEqual); -it("should not inherit Object.prototype", () => { - expect(path).not.toHaveProperty("toString"); -}); - describe("dirname", () => { it("path.dirname", () => { const fixtures = [ diff --git a/test/js/node/stubs.test.js b/test/js/node/stubs.test.js index 1025907abb8bf..11d8edbd90e8a 100644 --- a/test/js/node/stubs.test.js +++ b/test/js/node/stubs.test.js @@ -88,17 +88,6 @@ for (let specifier of specifiers) { const mod = await import(specifier); if ("default" in mod) { expect(mod).toHaveProperty("default"); - const cjs = mod.default[Symbol.for("CommonJS")]; - if (typeof cjs !== "undefined") { - if (cjs === 1) { - expect(typeof mod.default).toBe("function"); - } else if (cjs === true) { - expect(cjs).toBe(true); - if (typeof mod.default !== "undefined") { - expect(typeof mod.default).toBe("function"); - } - } - } } else { // TODO: uncomment this after node:module can be default imported // throw new Error(`Module ${specifier} has no default export`); diff --git a/test2.js b/test2.js new file mode 100644 index 0000000000000..224c1d0871f38 --- /dev/null +++ b/test2.js @@ -0,0 +1,3 @@ +import { requireBuiltin } from "./src/js/builtins/Module"; + +console.log(requireBuiltin("node:module")); diff --git a/tsconfig.json b/tsconfig.json index d8be0da039a5b..fdef57bfe2667 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -20,5 +20,5 @@ "src/api/demo", "node_modules" ], - "files": ["src/js/builtins/builtins.d.ts"] + "files": ["src/js/builtins.d.ts"] }