// Compiles a dart2wasm-generated main module from `source` which can then
// instantiatable via the `instantiate` method.
//
// `source` needs to be a `Response` object (or promise thereof) e.g. created
// via the `fetch()` JS API.
export async function compileStreaming(source) {
  const builtins = {builtins: ['js-string']};
  return new CompiledApp(
      await WebAssembly.compileStreaming(source, builtins), builtins);
}

// Compiles a dart2wasm-generated wasm modules from `bytes` which is then
// instantiatable via the `instantiate` method.
export async function compile(bytes) {
  const builtins = {builtins: ['js-string']};
  return new CompiledApp(await WebAssembly.compile(bytes, builtins), builtins);
}

// DEPRECATED: Please use `compile` or `compileStreaming` to get a compiled app,
// use `instantiate` method to get an instantiated app and then call
// `invokeMain` to invoke the main function.
export async function instantiate(modulePromise, importObjectPromise) {
  var moduleOrCompiledApp = await modulePromise;
  if (!(moduleOrCompiledApp instanceof CompiledApp)) {
    moduleOrCompiledApp = new CompiledApp(moduleOrCompiledApp);
  }
  const instantiatedApp = await moduleOrCompiledApp.instantiate(await importObjectPromise);
  return instantiatedApp.instantiatedModule;
}

// DEPRECATED: Please use `compile` or `compileStreaming` to get a compiled app,
// use `instantiate` method to get an instantiated app and then call
// `invokeMain` to invoke the main function.
export const invoke = (moduleInstance, ...args) => {
  moduleInstance.exports.$invokeMain(args);
}

class CompiledApp {
  constructor(module, builtins) {
    this.module = module;
    this.builtins = builtins;
  }

  // The second argument is an options object containing:
  // `loadDeferredModules` is a JS function that takes an array of module names
  //   matching wasm files produced by the dart2wasm compiler. It also takes a
  //   callback that should be invoked for each loaded module with 2 arugments:
  //   (1) the module name, (2) the loaded module in a format supported by
  //   `WebAssembly.compile` or `WebAssembly.compileStreaming`. The callback
  //   returns a Promise that resolves when the module is instantiated.
  //   loadDeferredModules should return a Promise that resolves when all the
  //   modules have been loaded and the callback promises have resolved.
  // `loadDeferredId` is a JS function that takes load ID produced by the
  //   compiler when the `load-ids` option is passed. Each load ID maps to one
  //   or more wasm files as specified in the emitted JSON file. It also takes a
  //   callback that should be invoked for each loaded module with 2 arugments:
  //   (1) the module name, (2) the loaded module in a format supported by
  //   `WebAssembly.compile` or `WebAssembly.compileStreaming`. The callback
  //   returns a Promise that resolves when the module is instantiated.
  //   loadDeferredModules should return a Promise that resolves when all the
  //   modules have been loaded and the callback promises have resolved.
  // `loadDynamicModule` is a JS function that takes two string names matching,
  //   in order, a wasm file produced by the dart2wasm compiler during dynamic
  //   module compilation and a corresponding js file produced by the same
  //   compilation. It also takes a callback that should be invoked with the
  //   loaded module in a format supported by `WebAssembly.compile` or
  //   `WebAssembly.compileStreaming` and the result of using the JS 'import'
  //   API on the js file path. It should return a Promise that resolves when
  //   all the modules have been loaded and the callback promises have resolved.
  async instantiate(additionalImports,
      {loadDeferredModules, loadDynamicModule, loadDeferredId} = {}) {
    let dartInstance;

    // Prints to the console
    function printToConsole(value) {
      if (typeof dartPrint == "function") {
        dartPrint(value);
        return;
      }
      if (typeof console == "object" && typeof console.log != "undefined") {
        console.log(value);
        return;
      }
      if (typeof print == "function") {
        print(value);
        return;
      }

      throw "Unable to print message: " + value;
    }

    // A special symbol attached to functions that wrap Dart functions.
    const jsWrappedDartFunctionSymbol = Symbol("JSWrappedDartFunction");

    function finalizeWrapper(dartFunction, wrapped) {
      wrapped.dartFunction = dartFunction;
      wrapped[jsWrappedDartFunctionSymbol] = true;
      return wrapped;
    }

    // Imports
    const dart2wasm = {
            _1: (decoder, codeUnits) => decoder.decode(codeUnits),
      _2: () => new TextDecoder("utf-8", {fatal: true}),
      _3: () => new TextDecoder("utf-8", {fatal: false}),
      _4: (s) => +s,
      _5: x0 => new Uint8Array(x0),
      _6: (x0,x1,x2) => x0.set(x1,x2),
      _7: (x0,x1) => x0.transferFromImageBitmap(x1),
      _9: (x0,x1,x2) => x0.slice(x1,x2),
      _10: (x0,x1) => x0.decode(x1),
      _11: (x0,x1) => x0.segment(x1),
      _12: () => new TextDecoder(),
      _13: (x0,x1) => x0.get(x1),
      _14: x0 => x0.buffer,
      _15: x0 => x0.wasmMemory,
      _16: () => globalThis.window._flutter_skwasmInstance,
      _17: x0 => x0.rasterStartMilliseconds,
      _18: x0 => x0.rasterEndMilliseconds,
      _19: x0 => x0.imageBitmaps,
      _135: (x0,x1) => x0.appendChild(x1),
      _166: (x0,x1,x2) => x0.addEventListener(x1,x2),
      _167: (x0,x1,x2) => x0.removeEventListener(x1,x2),
      _168: (x0,x1) => new OffscreenCanvas(x0,x1),
      _169: x0 => x0.remove(),
      _170: (x0,x1) => x0.append(x1),
      _172: x0 => x0.unlock(),
      _173: x0 => x0.getReader(),
      _174: (x0,x1) => x0.item(x1),
      _175: x0 => x0.next(),
      _176: x0 => x0.now(),
      _177: (x0,x1) => x0.revokeObjectURL(x1),
      _178: x0 => x0.close(),
      _179: (x0,x1,x2,x3,x4) => ({type: x0,data: x1,premultiplyAlpha: x2,colorSpaceConversion: x3,preferAnimation: x4}),
      _180: x0 => new window.ImageDecoder(x0),
      _181: (x0,x1) => ({frameIndex: x0,completeFramesOnly: x1}),
      _182: (x0,x1) => x0.decode(x1),
      _183: (module,f) => finalizeWrapper(f, function(x0) { return module.exports._183(f,arguments.length,x0) }),
      _184: (x0,x1,x2,x3) => x0.addEventListener(x1,x2,x3),
      _186: (x0,x1) => x0.getModifierState(x1),
      _187: x0 => x0.preventDefault(),
      _188: x0 => x0.stopPropagation(),
      _189: (x0,x1) => x0.removeProperty(x1),
      _190: (module,f) => finalizeWrapper(f, function(x0) { return module.exports._190(f,arguments.length,x0) }),
      _191: x0 => new window.FinalizationRegistry(x0),
      _192: (x0,x1,x2,x3) => x0.register(x1,x2,x3),
      _194: (x0,x1) => x0.unregister(x1),
      _195: (x0,x1) => x0.prepend(x1),
      _196: x0 => new Intl.Locale(x0),
      _197: (x0,x1) => x0.observe(x1),
      _198: x0 => x0.disconnect(),
      _199: (x0,x1) => x0.getAttribute(x1),
      _200: (x0,x1) => x0.contains(x1),
      _201: (x0,x1) => x0.querySelector(x1),
      _202: (x0,x1) => x0.matchMedia(x1),
      _203: (module,f) => finalizeWrapper(f, function(x0) { return module.exports._203(f,arguments.length,x0) }),
      _204: (x0,x1,x2) => x0.call(x1,x2),
      _205: x0 => x0.blur(),
      _206: x0 => x0.hasFocus(),
      _207: (x0,x1) => x0.removeAttribute(x1),
      _208: (x0,x1,x2) => x0.insertBefore(x1,x2),
      _209: (x0,x1) => x0.hasAttribute(x1),
      _210: (x0,x1) => x0.getModifierState(x1),
      _211: (x0,x1) => x0.createTextNode(x1),
      _212: x0 => x0.getBoundingClientRect(),
      _213: (x0,x1) => x0.replaceWith(x1),
      _214: (x0,x1) => x0.contains(x1),
      _215: (x0,x1) => x0.closest(x1),
      _216: () => new Array(),
      _653: x0 => new Uint8Array(x0),
      _656: () => globalThis.window.flutterConfiguration,
      _658: x0 => x0.assetBase,
      _663: x0 => x0.canvasKitMaximumSurfaces,
      _664: x0 => x0.debugShowSemanticsNodes,
      _665: x0 => x0.hostElement,
      _666: x0 => x0.multiViewEnabled,
      _667: x0 => x0.nonce,
      _669: x0 => x0.fontFallbackBaseUrl,
      _679: x0 => x0.console,
      _680: x0 => x0.devicePixelRatio,
      _681: x0 => x0.document,
      _682: x0 => x0.history,
      _683: x0 => x0.innerHeight,
      _684: x0 => x0.innerWidth,
      _685: x0 => x0.location,
      _686: x0 => x0.navigator,
      _687: x0 => x0.visualViewport,
      _688: x0 => x0.performance,
      _689: x0 => x0.parent,
      _691: x0 => x0.URL,
      _693: (x0,x1) => x0.getComputedStyle(x1),
      _694: x0 => x0.screen,
      _695: (module,f) => finalizeWrapper(f, function(x0) { return module.exports._695(f,arguments.length,x0) }),
      _696: (x0,x1) => x0.requestAnimationFrame(x1),
      _700: (x0,x1) => x0.warn(x1),
      _702: (x0,x1) => x0.debug(x1),
      _703: x0 => globalThis.parseFloat(x0),
      _704: () => globalThis.window,
      _705: () => globalThis.Intl,
      _706: () => globalThis.Symbol,
      _707: (x0,x1,x2,x3,x4) => globalThis.createImageBitmap(x0,x1,x2,x3,x4),
      _709: x0 => x0.clipboard,
      _710: x0 => x0.maxTouchPoints,
      _711: x0 => x0.vendor,
      _712: x0 => x0.language,
      _713: x0 => x0.platform,
      _714: x0 => x0.userAgent,
      _715: (x0,x1) => x0.vibrate(x1),
      _716: x0 => x0.languages,
      _717: x0 => x0.documentElement,
      _718: (x0,x1) => x0.querySelector(x1),
      _719: (x0,x1) => x0.querySelectorAll(x1),
      _721: (x0,x1) => x0.createElement(x1),
      _724: (x0,x1) => x0.createEvent(x1),
      _725: x0 => x0.activeElement,
      _728: x0 => x0.head,
      _729: x0 => x0.body,
      _731: (x0,x1) => { x0.title = x1 },
      _734: x0 => x0.visibilityState,
      _735: () => globalThis.document,
      _736: (module,f) => finalizeWrapper(f, function(x0) { return module.exports._736(f,arguments.length,x0) }),
      _737: (x0,x1) => x0.dispatchEvent(x1),
      _745: x0 => x0.target,
      _747: x0 => x0.timeStamp,
      _748: x0 => x0.type,
      _750: (x0,x1,x2,x3) => x0.initEvent(x1,x2,x3),
      _756: x0 => x0.baseURI,
      _757: x0 => x0.firstChild,
      _761: x0 => x0.parentElement,
      _763: (x0,x1) => { x0.textContent = x1 },
      _764: x0 => x0.parentNode,
      _765: x0 => x0.nextSibling,
      _766: (x0,x1) => x0.removeChild(x1),
      _767: x0 => x0.isConnected,
      _775: x0 => x0.clientHeight,
      _776: x0 => x0.clientWidth,
      _777: x0 => x0.offsetHeight,
      _778: x0 => x0.offsetWidth,
      _779: x0 => x0.id,
      _780: (x0,x1) => { x0.id = x1 },
      _783: (x0,x1) => { x0.spellcheck = x1 },
      _784: x0 => x0.tagName,
      _785: x0 => x0.style,
      _787: (x0,x1) => x0.querySelectorAll(x1),
      _788: (x0,x1,x2) => x0.setAttribute(x1,x2),
      _789: x0 => x0.tabIndex,
      _790: (x0,x1) => { x0.tabIndex = x1 },
      _791: (x0,x1) => x0.focus(x1),
      _792: x0 => x0.scrollTop,
      _793: (x0,x1) => { x0.scrollTop = x1 },
      _794: (x0,x1) => { x0.scrollLeft = x1 },
      _795: x0 => x0.scrollLeft,
      _796: x0 => x0.classList,
      _797: (x0,x1) => x0.scrollIntoView(x1),
      _800: (x0,x1) => { x0.className = x1 },
      _802: (x0,x1) => x0.getElementsByClassName(x1),
      _803: x0 => x0.click(),
      _804: (x0,x1) => x0.attachShadow(x1),
      _807: x0 => x0.computedStyleMap(),
      _808: (x0,x1) => x0.get(x1),
      _814: (x0,x1) => x0.getPropertyValue(x1),
      _815: (x0,x1,x2,x3) => x0.setProperty(x1,x2,x3),
      _816: x0 => x0.offsetLeft,
      _817: x0 => x0.offsetTop,
      _818: x0 => x0.offsetParent,
      _820: (x0,x1) => { x0.name = x1 },
      _821: x0 => x0.content,
      _822: (x0,x1) => { x0.content = x1 },
      _826: (x0,x1) => { x0.src = x1 },
      _827: x0 => x0.naturalWidth,
      _828: x0 => x0.naturalHeight,
      _832: (x0,x1) => { x0.crossOrigin = x1 },
      _834: (x0,x1) => { x0.decoding = x1 },
      _835: x0 => x0.decode(),
      _840: (x0,x1) => { x0.nonce = x1 },
      _845: (x0,x1) => { x0.width = x1 },
      _847: (x0,x1) => { x0.height = x1 },
      _850: (x0,x1) => x0.getContext(x1),
      _918: x0 => x0.width,
      _919: x0 => x0.height,
      _921: (x0,x1) => x0.fetch(x1),
      _922: x0 => x0.status,
      _923: x0 => x0.headers,
      _924: x0 => x0.body,
      _925: x0 => x0.arrayBuffer(),
      _927: x0 => x0.text(),
      _928: x0 => x0.read(),
      _929: x0 => x0.value,
      _930: x0 => x0.done,
      _937: x0 => x0.name,
      _938: x0 => x0.x,
      _939: x0 => x0.y,
      _942: x0 => x0.top,
      _943: x0 => x0.right,
      _944: x0 => x0.bottom,
      _945: x0 => x0.left,
      _955: x0 => x0.height,
      _956: x0 => x0.width,
      _957: x0 => x0.scale,
      _958: (x0,x1) => { x0.value = x1 },
      _961: (x0,x1) => { x0.placeholder = x1 },
      _963: (x0,x1) => { x0.name = x1 },
      _964: x0 => x0.selectionDirection,
      _965: x0 => x0.selectionStart,
      _966: x0 => x0.selectionEnd,
      _969: x0 => x0.value,
      _971: (x0,x1,x2) => x0.setSelectionRange(x1,x2),
      _972: x0 => x0.readText(),
      _973: (x0,x1) => x0.writeText(x1),
      _975: x0 => x0.altKey,
      _976: x0 => x0.code,
      _977: x0 => x0.ctrlKey,
      _978: x0 => x0.key,
      _979: x0 => x0.keyCode,
      _980: x0 => x0.location,
      _981: x0 => x0.metaKey,
      _982: x0 => x0.repeat,
      _983: x0 => x0.shiftKey,
      _984: x0 => x0.isComposing,
      _986: x0 => x0.state,
      _987: (x0,x1) => x0.go(x1),
      _989: (x0,x1,x2,x3) => x0.pushState(x1,x2,x3),
      _990: (x0,x1,x2,x3) => x0.replaceState(x1,x2,x3),
      _991: x0 => x0.pathname,
      _992: x0 => x0.search,
      _993: x0 => x0.hash,
      _997: x0 => x0.state,
      _1000: (x0,x1) => x0.createObjectURL(x1),
      _1002: x0 => new Blob(x0),
      _1012: x0 => x0.matches,
      _1016: x0 => x0.matches,
      _1020: x0 => x0.relatedTarget,
      _1022: x0 => x0.clientX,
      _1023: x0 => x0.clientY,
      _1024: x0 => x0.offsetX,
      _1025: x0 => x0.offsetY,
      _1028: x0 => x0.button,
      _1029: x0 => x0.buttons,
      _1030: x0 => x0.ctrlKey,
      _1034: x0 => x0.pointerId,
      _1035: x0 => x0.pointerType,
      _1036: x0 => x0.pressure,
      _1037: x0 => x0.tiltX,
      _1038: x0 => x0.tiltY,
      _1039: x0 => x0.getCoalescedEvents(),
      _1042: x0 => x0.deltaX,
      _1043: x0 => x0.deltaY,
      _1044: x0 => x0.wheelDeltaX,
      _1045: x0 => x0.wheelDeltaY,
      _1046: x0 => x0.deltaMode,
      _1053: x0 => x0.changedTouches,
      _1056: x0 => x0.clientX,
      _1057: x0 => x0.clientY,
      _1060: x0 => x0.data,
      _1063: (x0,x1) => { x0.disabled = x1 },
      _1065: (x0,x1) => { x0.type = x1 },
      _1066: (x0,x1) => { x0.max = x1 },
      _1067: (x0,x1) => { x0.min = x1 },
      _1068: x0 => x0.value,
      _1069: (x0,x1) => { x0.value = x1 },
      _1070: x0 => x0.disabled,
      _1071: (x0,x1) => { x0.disabled = x1 },
      _1073: (x0,x1) => { x0.placeholder = x1 },
      _1075: (x0,x1) => { x0.name = x1 },
      _1076: (x0,x1) => { x0.autocomplete = x1 },
      _1078: x0 => x0.selectionDirection,
      _1079: x0 => x0.selectionStart,
      _1081: x0 => x0.selectionEnd,
      _1084: (x0,x1,x2) => x0.setSelectionRange(x1,x2),
      _1085: (x0,x1) => x0.add(x1),
      _1087: (x0,x1) => { x0.noValidate = x1 },
      _1088: (x0,x1) => { x0.method = x1 },
      _1089: (x0,x1) => { x0.action = x1 },
      _1114: x0 => x0.orientation,
      _1115: x0 => x0.width,
      _1116: x0 => x0.height,
      _1117: (x0,x1) => x0.lock(x1),
      _1136: x0 => new ResizeObserver(x0),
      _1139: (module,f) => finalizeWrapper(f, function(x0,x1) { return module.exports._1139(f,arguments.length,x0,x1) }),
      _1147: x0 => x0.length,
      _1148: x0 => x0.iterator,
      _1149: x0 => x0.Segmenter,
      _1150: x0 => x0.v8BreakIterator,
      _1151: (x0,x1) => new Intl.Segmenter(x0,x1),
      _1154: x0 => x0.language,
      _1155: x0 => x0.script,
      _1156: x0 => x0.region,
      _1174: x0 => x0.done,
      _1175: x0 => x0.value,
      _1176: x0 => x0.index,
      _1180: (x0,x1) => new Intl.v8BreakIterator(x0,x1),
      _1181: (x0,x1) => x0.adoptText(x1),
      _1182: x0 => x0.first(),
      _1183: x0 => x0.next(),
      _1184: x0 => x0.current(),
      _1186: () => globalThis.window.FinalizationRegistry,
      _1197: x0 => x0.hostElement,
      _1198: x0 => x0.viewConstraints,
      _1201: x0 => x0.maxHeight,
      _1202: x0 => x0.maxWidth,
      _1203: x0 => x0.minHeight,
      _1204: x0 => x0.minWidth,
      _1205: (module,f) => finalizeWrapper(f, function(x0) { return module.exports._1205(f,arguments.length,x0) }),
      _1206: (module,f) => finalizeWrapper(f, function(x0) { return module.exports._1206(f,arguments.length,x0) }),
      _1207: (x0,x1) => ({addView: x0,removeView: x1}),
      _1210: x0 => x0.loader,
      _1211: () => globalThis._flutter,
      _1212: (x0,x1) => x0.didCreateEngineInitializer(x1),
      _1213: (module,f) => finalizeWrapper(f, function(x0) { return module.exports._1213(f,arguments.length,x0) }),
      _1214: (module,f) => finalizeWrapper(f, function() { return module.exports._1214(f,arguments.length) }),
      _1215: (x0,x1) => ({initializeEngine: x0,autoStart: x1}),
      _1218: (module,f) => finalizeWrapper(f, function(x0) { return module.exports._1218(f,arguments.length,x0) }),
      _1219: x0 => ({runApp: x0}),
      _1221: (module,f) => finalizeWrapper(f, function(x0,x1) { return module.exports._1221(f,arguments.length,x0,x1) }),
      _1222: x0 => new Promise(x0),
      _1223: x0 => x0.length,
      _1224: () => globalThis.window.ImageDecoder,
      _1225: x0 => x0.tracks,
      _1227: x0 => x0.completed,
      _1229: x0 => x0.image,
      _1235: x0 => x0.displayWidth,
      _1236: x0 => x0.displayHeight,
      _1237: x0 => x0.duration,
      _1240: x0 => x0.ready,
      _1241: x0 => x0.selectedTrack,
      _1242: x0 => x0.repetitionCount,
      _1243: x0 => x0.frameCount,
      _1287: (x0,x1) => x0.createElement(x1),
      _1288: (x0,x1) => x0.querySelector(x1),
      _1289: (x0,x1) => x0.appendChild(x1),
      _1290: x0 => ({type: x0}),
      _1291: (x0,x1) => new Blob(x0,x1),
      _1292: x0 => globalThis.URL.createObjectURL(x0),
      _1294: (x0,x1,x2,x3) => x0.sendCommand(x1,x2,x3),
      _1295: () => globalThis.PdfiumWasmCommunicator,
      _1297: x0 => { globalThis.pdfiumWasmWorkerUrl = x0 },
      _1298: (x0,x1) => x0.writeText(x1),
      _1299: x0 => x0.preventDefault(),
      _1300: (module,f) => finalizeWrapper(f, function(x0) { return module.exports._1300(f,arguments.length,x0) }),
      _1301: (x0,x1,x2) => x0.addEventListener(x1,x2),
      _1302: x0 => x0.requestFullscreen(),
      _1303: x0 => x0.exitFullscreen(),
      _1304: (module,f) => finalizeWrapper(f, function(x0) { return module.exports._1304(f,arguments.length,x0) }),
      _1305: (module,f) => finalizeWrapper(f, function(x0) { return module.exports._1305(f,arguments.length,x0) }),
      _1306: (module,f) => finalizeWrapper(f, function(x0) { return module.exports._1306(f,arguments.length,x0) }),
      _1307: (module,f) => finalizeWrapper(f, function(x0) { return module.exports._1307(f,arguments.length,x0) }),
      _1308: x0 => x0.mute(),
      _1309: x0 => x0.unMute(),
      _1310: (x0,x1,x2) => x0.removeEventListener(x1,x2),
      _1311: x0 => x0.destroy(),
      _1312: (x0,x1) => new YT.Player(x0,x1),
      _1313: x0 => x0.getIframe(),
      _1314: x0 => x0.playVideo(),
      _1315: (x0,x1,x2) => x0.setAttribute(x1,x2),
      _1316: (x0,x1) => x0.end(x1),
      _1317: (x0,x1,x2,x3) => x0.canUseHlsJs(x1,x2,x3),
      _1318: (x0,x1,x2,x3) => x0.attach(x1,x2,x3),
      _1319: (x0,x1) => x0.destroy(x1),
      _1320: x0 => x0.load(),
      _1321: x0 => x0.remove(),
      _1322: x0 => x0.play(),
      _1323: x0 => x0.pause(),
      _1324: (x0,x1) => x0.removeAttribute(x1),
      _1325: (module,f) => finalizeWrapper(f, function(x0,x1,x2) { return module.exports._1325(f,arguments.length,x0,x1,x2) }),
      _1326: (x0,x1) => x0.append(x1),
      _1329: (x0,x1) => x0.getResponseHeader(x1),
      _1352: (x0,x1) => x0.item(x1),
      _1355: (x0,x1) => { x0.csp = x1 },
      _1356: x0 => x0.csp,
      _1357: (x0,x1) => x0.getCookieExpirationDate(x1),
      _1358: x0 => x0.createRange(),
      _1359: (x0,x1) => x0.selectNode(x1),
      _1360: x0 => x0.getSelection(),
      _1361: x0 => x0.removeAllRanges(),
      _1362: (x0,x1) => x0.addRange(x1),
      _1363: (x0,x1) => x0.createElement(x1),
      _1364: (x0,x1) => x0.append(x1),
      _1365: (x0,x1,x2) => x0.insertRule(x1,x2),
      _1366: (x0,x1) => x0.add(x1),
      _1367: x0 => x0.preventDefault(),
      _1368: (module,f) => finalizeWrapper(f, function(x0) { return module.exports._1368(f,arguments.length,x0) }),
      _1369: (x0,x1,x2) => x0.addEventListener(x1,x2),
      _1372: (x0,x1) => x0.get(x1),
      _1373: x0 => x0.text(),
      _1389: () => new webkitSpeechRecognition(),
      _1390: (module,f) => finalizeWrapper(f, function(x0) { return module.exports._1390(f,arguments.length,x0) }),
      _1391: (module,f) => finalizeWrapper(f, function(x0) { return module.exports._1391(f,arguments.length,x0) }),
      _1392: (module,f) => finalizeWrapper(f, function(x0) { return module.exports._1392(f,arguments.length,x0) }),
      _1393: (module,f) => finalizeWrapper(f, function(x0) { return module.exports._1393(f,arguments.length,x0) }),
      _1394: (module,f) => finalizeWrapper(f, function(x0) { return module.exports._1394(f,arguments.length,x0) }),
      _1395: x0 => x0.stop(),
      _1396: x0 => x0.abort(),
      _1397: (module,f) => finalizeWrapper(f, function(x0) { return module.exports._1397(f,arguments.length,x0) }),
      _1398: x0 => x0.start(),
      _1399: (x0,x1) => x0.item(x1),
      _1400: (x0,x1) => x0.item(x1),
      _1403: (x0,x1,x2,x3) => x0.addEventListener(x1,x2,x3),
      _1404: (x0,x1,x2,x3) => x0.removeEventListener(x1,x2,x3),
      _1409: (x0,x1,x2,x3) => x0.open(x1,x2,x3),
      _1410: x0 => x0.decode(),
      _1411: (x0,x1,x2,x3) => x0.open(x1,x2,x3),
      _1412: (x0,x1,x2) => x0.setRequestHeader(x1,x2),
      _1413: (module,f) => finalizeWrapper(f, function(x0) { return module.exports._1413(f,arguments.length,x0) }),
      _1414: (module,f) => finalizeWrapper(f, function(x0) { return module.exports._1414(f,arguments.length,x0) }),
      _1415: x0 => x0.send(),
      _1416: () => new XMLHttpRequest(),
      _1417: x0 => globalThis.Wakelock.toggle(x0),
      _1419: (x0,x1) => x0.getItem(x1),
      _1420: (x0,x1) => x0.removeItem(x1),
      _1421: (x0,x1,x2) => x0.setItem(x1,x2),
      _1452: (x0,x1) => x0.item(x1),
      _1453: () => new FileReader(),
      _1454: (x0,x1) => x0.readAsDataURL(x1),
      _1455: (x0,x1) => x0.readAsArrayBuffer(x1),
      _1456: (module,f) => finalizeWrapper(f, function(x0) { return module.exports._1456(f,arguments.length,x0) }),
      _1457: (module,f) => finalizeWrapper(f, function(x0) { return module.exports._1457(f,arguments.length,x0) }),
      _1458: (module,f) => finalizeWrapper(f, function(x0) { return module.exports._1458(f,arguments.length,x0) }),
      _1459: (module,f) => finalizeWrapper(f, function(x0) { return module.exports._1459(f,arguments.length,x0) }),
      _1460: (x0,x1) => x0.removeChild(x1),
      _1461: x0 => x0.click(),
      _1466: (x0,x1) => x0.key(x1),
      _1475: Date.now,
      _1477: s => new Date(s * 1000).getTimezoneOffset() * 60,
      _1478: s => {
        if (!/^\s*[+-]?(?:Infinity|NaN|(?:\.\d+|\d+(?:\.\d*)?)(?:[eE][+-]?\d+)?)\s*$/.test(s)) {
          return NaN;
        }
        return parseFloat(s);
      },
      _1479: () => typeof dartUseDateNowForTicks !== "undefined",
      _1480: () => 1000 * performance.now(),
      _1481: () => Date.now(),
      _1482: () => {
        // On browsers return `globalThis.location.href`
        if (globalThis.location != null) {
          return globalThis.location.href;
        }
        return null;
      },
      _1483: () => {
        return typeof process != "undefined" &&
               Object.prototype.toString.call(process) == "[object process]" &&
               process.platform == "win32"
      },
      _1484: () => new WeakMap(),
      _1485: (map, o) => map.get(o),
      _1486: (map, o, v) => map.set(o, v),
      _1487: x0 => new WeakRef(x0),
      _1488: x0 => x0.deref(),
      _1489: (module,f) => finalizeWrapper(f, function(x0) { return module.exports._1489(f,arguments.length,x0) }),
      _1490: x0 => new FinalizationRegistry(x0),
      _1491: (x0,x1,x2,x3) => x0.register(x1,x2,x3),
      _1492: (x0,x1,x2) => x0.register(x1,x2),
      _1493: (x0,x1) => x0.unregister(x1),
      _1495: () => globalThis.WeakRef,
      _1496: () => globalThis.FinalizationRegistry,
      _1498: x0 => x0.call(),
      _1499: s => JSON.stringify(s),
      _1500: s => printToConsole(s),
      _1501: o => {
        if (o === null || o === undefined) return 0;
        if (typeof(o) === 'string') return 1;
        return 2;
      },
      _1502: (o, p, r) => o.replaceAll(p, () => r),
      _1503: (o, p, r) => o.replace(p, () => r),
      _1504: Function.prototype.call.bind(String.prototype.toLowerCase),
      _1505: s => s.toUpperCase(),
      _1506: s => s.trim(),
      _1507: s => s.trimLeft(),
      _1508: s => s.trimRight(),
      _1509: (string, times) => string.repeat(times),
      _1510: Function.prototype.call.bind(String.prototype.indexOf),
      _1511: (s, p, i) => s.lastIndexOf(p, i),
      _1512: (string, token) => string.split(token),
      _1513: Object.is,
      _1517: (o, t) => typeof o === t,
      _1518: (o, c) => o instanceof c,
      _1519: o => Object.keys(o),
      _1521: (o) => {
        const typeofValue = typeof o;
        return (typeofValue === 'object') ||
            typeofValue === 'function';
      },
      _1522: (o,s,v) => o[s] = v,
      _1523: (o, a) => o + a,
      _1533: (o, a) => o == a,
      _1552: (x0,x1) => x0.call(x1),
      _1573: x0 => new Array(x0),
      _1575: x0 => x0.length,
      _1577: (x0,x1) => x0[x1],
      _1578: (x0,x1,x2) => { x0[x1] = x2 },
      _1581: (x0,x1,x2) => new DataView(x0,x1,x2),
      _1583: x0 => new Int8Array(x0),
      _1584: (x0,x1,x2) => new Uint8Array(x0,x1,x2),
      _1586: x0 => new Uint8ClampedArray(x0),
      _1588: x0 => new Int16Array(x0),
      _1590: x0 => new Uint16Array(x0),
      _1592: x0 => new Int32Array(x0),
      _1594: x0 => new Uint32Array(x0),
      _1596: x0 => new Float32Array(x0),
      _1598: x0 => new Float64Array(x0),
      _1618: (module,f) => finalizeWrapper(f, function(x0,x1) { return module.exports._1618(f,arguments.length,x0,x1) }),
      _1621: () => Symbol("jsBoxedDartObjectProperty"),
      _1622: x0 => x0.random(),
      _1623: (x0,x1) => x0.getRandomValues(x1),
      _1624: () => globalThis.crypto,
      _1625: () => globalThis.Math,
      _1635: () => globalThis.performance,
      _1636: () => globalThis.JSON,
      _1637: x0 => x0.measure,
      _1638: x0 => x0.mark,
      _1639: x0 => x0.clearMeasures,
      _1640: x0 => x0.clearMarks,
      _1641: (x0,x1,x2,x3) => x0.measure(x1,x2,x3),
      _1642: (x0,x1,x2) => x0.mark(x1,x2),
      _1643: x0 => x0.clearMeasures(),
      _1644: x0 => x0.clearMarks(),
      _1645: (x0,x1) => x0.parse(x1),
      _1646: (ms, c) =>
      setTimeout(() => dartInstance.exports.$invokeCallback(c),ms),
      _1647: (handle) => clearTimeout(handle),
      _1648: (ms, c) =>
      setInterval(() => dartInstance.exports.$invokeCallback(c), ms),
      _1649: (handle) => clearInterval(handle),
      _1650: (c) =>
      queueMicrotask(() => dartInstance.exports.$invokeCallback(c)),
      _1651: () => Date.now(),
      _1652: () => new Error().stack,
      _1653: (exn) => {
        let stackString = exn.toString();
        let frames = stackString.split('\n');
        let drop = 4;
        if (frames[0].startsWith('Error')) {
            drop += 1;
        }
        return frames.slice(drop).join('\n');
      },
      _1654: (s, m) => {
        try {
          return new RegExp(s, m);
        } catch (e) {
          return String(e);
        }
      },
      _1655: (x0,x1) => x0.exec(x1),
      _1656: (x0,x1) => x0.test(x1),
      _1657: x0 => x0.pop(),
      _1659: o => o === undefined,
      _1661: o => typeof o === 'function' && o[jsWrappedDartFunctionSymbol] === true,
      _1663: o => {
        const proto = Object.getPrototypeOf(o);
        return proto === Object.prototype || proto === null;
      },
      _1664: o => o instanceof RegExp,
      _1665: (l, r) => l === r,
      _1666: o => o,
      _1667: o => {
        if (o === undefined || o === null) return 0;
        if (typeof o === 'number') return 1;
        return 2;
      },
      _1668: o => o,
      _1669: o => {
        if (o === undefined || o === null) return 0;
        if (typeof o === 'boolean') return 1;
        return 2;
      },
      _1670: o => o,
      _1671: b => !!b,
      _1672: o => o.length,
      _1674: (o, i) => o[i],
      _1675: f => f.dartFunction,
      _1676: () => ({}),
      _1677: () => [],
      _1679: () => globalThis,
      _1680: (constructor, args) => {
        const factoryFunction = constructor.bind.apply(
            constructor, [null, ...args]);
        return new factoryFunction();
      },
      _1681: (o, p) => p in o,
      _1682: (o, p) => o[p],
      _1683: (o, p, v) => o[p] = v,
      _1684: (o, m, a) => o[m].apply(o, a),
      _1686: o => String(o),
      _1687: (p, s, f) => p.then(s, (e) => f(e, e === undefined)),
      _1688: (module,f) => finalizeWrapper(f, function(x0) { return module.exports._1688(f,arguments.length,x0) }),
      _1689: (module,f) => finalizeWrapper(f, function(x0,x1) { return module.exports._1689(f,arguments.length,x0,x1) }),
      _1690: o => {
        if (o === undefined) return 1;
        var type = typeof o;
        if (type === 'boolean') return 2;
        if (type === 'number') return 3;
        if (type === 'string') return 4;
        if (o instanceof Array) return 5;
        if (ArrayBuffer.isView(o)) {
          if (o instanceof Int8Array) return 6;
          if (o instanceof Uint8Array) return 7;
          if (o instanceof Uint8ClampedArray) return 8;
          if (o instanceof Int16Array) return 9;
          if (o instanceof Uint16Array) return 10;
          if (o instanceof Int32Array) return 11;
          if (o instanceof Uint32Array) return 12;
          if (o instanceof Float32Array) return 13;
          if (o instanceof Float64Array) return 14;
          if (o instanceof DataView) return 15;
        }
        if (o instanceof ArrayBuffer) return 16;
        // Feature check for `SharedArrayBuffer` before doing a type-check.
        if (globalThis.SharedArrayBuffer !== undefined &&
            o instanceof SharedArrayBuffer) {
            return 17;
        }
        if (o instanceof Promise) return 18;
        return 19;
      },
      _1691: o => [o],
      _1692: (o0, o1) => [o0, o1],
      _1693: (o0, o1, o2) => [o0, o1, o2],
      _1694: (o0, o1, o2, o3) => [o0, o1, o2, o3],
      _1695: (exn) => {
        if (exn instanceof Error) {
          return exn.stack;
        } else {
          return null;
        }
      },
      _1696: (jsArray, jsArrayOffset, wasmArray, wasmArrayOffset, length) => {
        const getValue = dartInstance.exports.$wasmI8ArrayGet;
        for (let i = 0; i < length; i++) {
          jsArray[jsArrayOffset + i] = getValue(wasmArray, wasmArrayOffset + i);
        }
      },
      _1697: (jsArray, jsArrayOffset, wasmArray, wasmArrayOffset, length) => {
        const setValue = dartInstance.exports.$wasmI8ArraySet;
        for (let i = 0; i < length; i++) {
          setValue(wasmArray, wasmArrayOffset + i, jsArray[jsArrayOffset + i]);
        }
      },
      _1698: (jsArray, jsArrayOffset, wasmArray, wasmArrayOffset, length) => {
        const getValue = dartInstance.exports.$wasmI16ArrayGet;
        for (let i = 0; i < length; i++) {
          jsArray[jsArrayOffset + i] = getValue(wasmArray, wasmArrayOffset + i);
        }
      },
      _1699: (jsArray, jsArrayOffset, wasmArray, wasmArrayOffset, length) => {
        const setValue = dartInstance.exports.$wasmI16ArraySet;
        for (let i = 0; i < length; i++) {
          setValue(wasmArray, wasmArrayOffset + i, jsArray[jsArrayOffset + i]);
        }
      },
      _1700: (jsArray, jsArrayOffset, wasmArray, wasmArrayOffset, length) => {
        const getValue = dartInstance.exports.$wasmI32ArrayGet;
        for (let i = 0; i < length; i++) {
          jsArray[jsArrayOffset + i] = getValue(wasmArray, wasmArrayOffset + i);
        }
      },
      _1701: (jsArray, jsArrayOffset, wasmArray, wasmArrayOffset, length) => {
        const setValue = dartInstance.exports.$wasmI32ArraySet;
        for (let i = 0; i < length; i++) {
          setValue(wasmArray, wasmArrayOffset + i, jsArray[jsArrayOffset + i]);
        }
      },
      _1702: (jsArray, jsArrayOffset, wasmArray, wasmArrayOffset, length) => {
        const getValue = dartInstance.exports.$wasmF32ArrayGet;
        for (let i = 0; i < length; i++) {
          jsArray[jsArrayOffset + i] = getValue(wasmArray, wasmArrayOffset + i);
        }
      },
      _1703: (jsArray, jsArrayOffset, wasmArray, wasmArrayOffset, length) => {
        const setValue = dartInstance.exports.$wasmF32ArraySet;
        for (let i = 0; i < length; i++) {
          setValue(wasmArray, wasmArrayOffset + i, jsArray[jsArrayOffset + i]);
        }
      },
      _1704: (jsArray, jsArrayOffset, wasmArray, wasmArrayOffset, length) => {
        const getValue = dartInstance.exports.$wasmF64ArrayGet;
        for (let i = 0; i < length; i++) {
          jsArray[jsArrayOffset + i] = getValue(wasmArray, wasmArrayOffset + i);
        }
      },
      _1705: (jsArray, jsArrayOffset, wasmArray, wasmArrayOffset, length) => {
        const setValue = dartInstance.exports.$wasmF64ArraySet;
        for (let i = 0; i < length; i++) {
          setValue(wasmArray, wasmArrayOffset + i, jsArray[jsArrayOffset + i]);
        }
      },
      _1706: x0 => new ArrayBuffer(x0),
      _1707: s => {
        if (/[[\]{}()*+?.\\^$|]/.test(s)) {
            s = s.replace(/[[\]{}()*+?.\\^$|]/g, '\\$&');
        }
        return s;
      },
      _1709: x0 => x0.index,
      _1710: x0 => x0.groups,
      _1711: x0 => x0.flags,
      _1712: x0 => x0.multiline,
      _1713: x0 => x0.ignoreCase,
      _1714: x0 => x0.unicode,
      _1715: x0 => x0.dotAll,
      _1716: (x0,x1) => { x0.lastIndex = x1 },
      _1717: (o, p) => p in o,
      _1718: (o, p) => o[p],
      _1719: (o, p, v) => o[p] = v,
      _1720: (o, p) => delete o[p],
      _1721: x0 => x0.exports,
      _1722: (x0,x1) => globalThis.WebAssembly.instantiateStreaming(x0,x1),
      _1723: x0 => x0.instance,
      _1725: x0 => new WebAssembly.Memory(x0),
      _1726: x0 => x0.buffer,
      _1729: x0 => x0.arrayBuffer(),
      _1731: x0 => x0.sqlite3_initialize,
      _1733: (x0,x1,x2,x3,x4) => x0.sqlite3_open_v2(x1,x2,x3,x4),
      _1734: (x0,x1) => x0.sqlite3_close_v2(x1),
      _1735: (x0,x1,x2) => x0.sqlite3_extended_result_codes(x1,x2),
      _1736: (x0,x1) => x0.sqlite3_extended_errcode(x1),
      _1737: (x0,x1) => x0.sqlite3_errmsg(x1),
      _1738: (x0,x1) => x0.sqlite3_errstr(x1),
      _1739: x0 => x0.sqlite3_error_offset,
      _1744: (x0,x1) => x0.sqlite3_changes(x1),
      _1745: (x0,x1,x2,x3,x4,x5) => x0.sqlite3_exec(x1,x2,x3,x4,x5),
      _1748: (x0,x1,x2,x3,x4,x5,x6) => x0.sqlite3_prepare_v3(x1,x2,x3,x4,x5,x6),
      _1749: (x0,x1) => x0.sqlite3_finalize(x1),
      _1750: (x0,x1) => x0.sqlite3_step(x1),
      _1751: (x0,x1) => x0.sqlite3_reset(x1),
      _1752: (x0,x1) => x0.sqlite3_stmt_isexplain(x1),
      _1754: (x0,x1) => x0.sqlite3_column_count(x1),
      _1755: (x0,x1) => x0.sqlite3_bind_parameter_count(x1),
      _1757: (x0,x1,x2) => x0.sqlite3_column_name(x1,x2),
      _1758: (x0,x1,x2,x3,x4,x5) => x0.sqlite3_bind_blob64(x1,x2,x3,x4,x5),
      _1759: (x0,x1,x2,x3) => x0.sqlite3_bind_double(x1,x2,x3),
      _1760: (x0,x1,x2,x3) => x0.sqlite3_bind_int64(x1,x2,x3),
      _1761: (x0,x1,x2) => x0.sqlite3_bind_null(x1,x2),
      _1762: (x0,x1,x2,x3,x4,x5) => x0.sqlite3_bind_text(x1,x2,x3,x4,x5),
      _1763: (x0,x1,x2) => x0.sqlite3_column_blob(x1,x2),
      _1764: (x0,x1,x2) => x0.sqlite3_column_double(x1,x2),
      _1765: (x0,x1,x2) => x0.sqlite3_column_int64(x1,x2),
      _1766: (x0,x1,x2) => x0.sqlite3_column_text(x1,x2),
      _1767: (x0,x1,x2) => x0.sqlite3_column_bytes(x1,x2),
      _1768: (x0,x1,x2) => x0.sqlite3_column_type(x1,x2),
      _1769: (x0,x1) => x0.sqlite3_value_blob(x1),
      _1770: (x0,x1) => x0.sqlite3_value_double(x1),
      _1771: (x0,x1) => x0.sqlite3_value_type(x1),
      _1772: (x0,x1) => x0.sqlite3_value_int64(x1),
      _1773: (x0,x1) => x0.sqlite3_value_text(x1),
      _1774: (x0,x1) => x0.sqlite3_value_bytes(x1),
      _1777: (x0,x1) => x0.sqlite3_user_data(x1),
      _1778: (x0,x1,x2,x3,x4) => x0.sqlite3_result_blob64(x1,x2,x3,x4),
      _1779: (x0,x1,x2) => x0.sqlite3_result_double(x1,x2),
      _1780: (x0,x1,x2,x3) => x0.sqlite3_result_error(x1,x2,x3),
      _1781: (x0,x1,x2) => x0.sqlite3_result_int64(x1,x2),
      _1782: (x0,x1) => x0.sqlite3_result_null(x1),
      _1783: (x0,x1,x2,x3,x4) => x0.sqlite3_result_text(x1,x2,x3,x4),
      _1784: x0 => x0.sqlite3_result_subtype,
      _1803: (x0,x1) => x0.dart_sqlite3_malloc(x1),
      _1804: (x0,x1) => x0.dart_sqlite3_free(x1),
      _1805: (x0,x1,x2,x3) => x0.dart_sqlite3_register_vfs(x1,x2,x3),
      _1806: (x0,x1,x2,x3,x4,x5) => x0.dart_sqlite3_create_scalar_function(x1,x2,x3,x4,x5),
      _1809: x0 => x0.dart_sqlite3_updates,
      _1810: x0 => x0.dart_sqlite3_commits,
      _1811: x0 => x0.dart_sqlite3_rollbacks,
      _1815: x0 => ({initial: x0}),
      _1816: (module,f) => finalizeWrapper(f, function(x0) { return module.exports._1816(f,arguments.length,x0) }),
      _1817: (module,f) => finalizeWrapper(f, function(x0,x1,x2,x3,x4) { return module.exports._1817(f,arguments.length,x0,x1,x2,x3,x4) }),
      _1818: (module,f) => finalizeWrapper(f, function(x0,x1,x2) { return module.exports._1818(f,arguments.length,x0,x1,x2) }),
      _1819: (module,f) => finalizeWrapper(f, function(x0,x1,x2,x3) { return module.exports._1819(f,arguments.length,x0,x1,x2,x3) }),
      _1820: (module,f) => finalizeWrapper(f, function(x0,x1,x2,x3) { return module.exports._1820(f,arguments.length,x0,x1,x2,x3) }),
      _1821: (module,f) => finalizeWrapper(f, function(x0,x1,x2) { return module.exports._1821(f,arguments.length,x0,x1,x2) }),
      _1822: (module,f) => finalizeWrapper(f, function(x0,x1) { return module.exports._1822(f,arguments.length,x0,x1) }),
      _1823: (module,f) => finalizeWrapper(f, function(x0,x1) { return module.exports._1823(f,arguments.length,x0,x1) }),
      _1824: (module,f) => finalizeWrapper(f, function(x0) { return module.exports._1824(f,arguments.length,x0) }),
      _1825: (module,f) => finalizeWrapper(f, function(x0) { return module.exports._1825(f,arguments.length,x0) }),
      _1826: (module,f) => finalizeWrapper(f, function(x0,x1,x2,x3) { return module.exports._1826(f,arguments.length,x0,x1,x2,x3) }),
      _1827: (module,f) => finalizeWrapper(f, function(x0,x1,x2,x3) { return module.exports._1827(f,arguments.length,x0,x1,x2,x3) }),
      _1828: (module,f) => finalizeWrapper(f, function(x0,x1) { return module.exports._1828(f,arguments.length,x0,x1) }),
      _1829: (module,f) => finalizeWrapper(f, function(x0,x1) { return module.exports._1829(f,arguments.length,x0,x1) }),
      _1830: (module,f) => finalizeWrapper(f, function(x0,x1) { return module.exports._1830(f,arguments.length,x0,x1) }),
      _1831: (module,f) => finalizeWrapper(f, function(x0,x1) { return module.exports._1831(f,arguments.length,x0,x1) }),
      _1832: (module,f) => finalizeWrapper(f, function(x0,x1) { return module.exports._1832(f,arguments.length,x0,x1) }),
      _1833: (module,f) => finalizeWrapper(f, function(x0,x1) { return module.exports._1833(f,arguments.length,x0,x1) }),
      _1834: (module,f) => finalizeWrapper(f, function(x0,x1,x2) { return module.exports._1834(f,arguments.length,x0,x1,x2) }),
      _1835: (module,f) => finalizeWrapper(f, function(x0,x1,x2) { return module.exports._1835(f,arguments.length,x0,x1,x2) }),
      _1836: (module,f) => finalizeWrapper(f, function(x0,x1,x2) { return module.exports._1836(f,arguments.length,x0,x1,x2) }),
      _1837: (module,f) => finalizeWrapper(f, function(x0) { return module.exports._1837(f,arguments.length,x0) }),
      _1838: (module,f) => finalizeWrapper(f, function(x0) { return module.exports._1838(f,arguments.length,x0) }),
      _1839: (module,f) => finalizeWrapper(f, function(x0) { return module.exports._1839(f,arguments.length,x0) }),
      _1840: (module,f) => finalizeWrapper(f, function(x0,x1,x2,x3,x4) { return module.exports._1840(f,arguments.length,x0,x1,x2,x3,x4) }),
      _1841: (module,f) => finalizeWrapper(f, function(x0,x1,x2,x3,x4) { return module.exports._1841(f,arguments.length,x0,x1,x2,x3,x4) }),
      _1842: (module,f) => finalizeWrapper(f, function(x0) { return module.exports._1842(f,arguments.length,x0) }),
      _1843: (module,f) => finalizeWrapper(f, function(x0) { return module.exports._1843(f,arguments.length,x0) }),
      _1844: (module,f) => finalizeWrapper(f, function(x0,x1) { return module.exports._1844(f,arguments.length,x0,x1) }),
      _1845: (module,f) => finalizeWrapper(f, function(x0,x1) { return module.exports._1845(f,arguments.length,x0,x1) }),
      _1846: (module,f) => finalizeWrapper(f, function(x0,x1,x2) { return module.exports._1846(f,arguments.length,x0,x1,x2) }),
      _1848: (x0,x1,x2,x3) => x0.call(x1,x2,x3),
      _1853: x0 => new URL(x0),
      _1854: (x0,x1) => new URL(x0,x1),
      _1855: (x0,x1) => globalThis.fetch(x0,x1),
      _1856: (x0,x1,x2) => x0.postMessage(x1,x2),
      _1857: (x0,x1,x2) => x0.postMessage(x1,x2),
      _1859: (x0,x1) => ({i: x0,p: x1}),
      _1860: (x0,x1) => ({c: x0,r: x1}),
      _1861: x0 => x0.i,
      _1862: x0 => x0.p,
      _1863: x0 => x0.c,
      _1864: x0 => x0.r,
      _1865: (module,f) => finalizeWrapper(f, function(x0) { return module.exports._1865(f,arguments.length,x0) }),
      _1866: (x0,x1) => x0.postMessage(x1),
      _1867: x0 => x0.close(),
      _1869: x0 => new Worker(x0),
      _1871: x0 => x0.getDirectory(),
      _1872: x0 => ({create: x0}),
      _1873: (x0,x1,x2) => x0.getFileHandle(x1,x2),
      _1874: x0 => x0.createSyncAccessHandle(),
      _1875: x0 => x0.close(),
      _1878: x0 => x0.close(),
      _1881: (x0,x1,x2) => x0.open(x1,x2),
      _1887: x0 => x0.start(),
      _1888: x0 => x0.terminate(),
      _1889: (x0,x1) => new SharedWorker(x0,x1),
      _1890: () => new MessageChannel(),
      _1895: x0 => new SharedArrayBuffer(x0),
      _1896: x0 => ({at: x0}),
      _1897: x0 => x0.getSize(),
      _1898: (x0,x1) => x0.truncate(x1),
      _1899: x0 => x0.flush(),
      _1902: x0 => x0.synchronizationBuffer,
      _1903: x0 => x0.communicationBuffer,
      _1904: (x0,x1,x2,x3) => ({clientVersion: x0,root: x1,synchronizationBuffer: x2,communicationBuffer: x3}),
      _1905: (x0,x1) => globalThis.IDBKeyRange.bound(x0,x1),
      _1906: x0 => ({autoIncrement: x0}),
      _1907: (x0,x1,x2) => x0.createObjectStore(x1,x2),
      _1908: x0 => ({unique: x0}),
      _1909: (x0,x1,x2,x3) => x0.createIndex(x1,x2,x3),
      _1910: (x0,x1) => x0.createObjectStore(x1),
      _1911: (module,f) => finalizeWrapper(f, function(x0) { return module.exports._1911(f,arguments.length,x0) }),
      _1912: (x0,x1,x2) => x0.transaction(x1,x2),
      _1913: (x0,x1) => x0.objectStore(x1),
      _1915: (x0,x1) => x0.index(x1),
      _1916: x0 => x0.openKeyCursor(),
      _1917: (x0,x1) => x0.getKey(x1),
      _1918: (x0,x1) => ({name: x0,length: x1}),
      _1919: (x0,x1) => x0.put(x1),
      _1920: (x0,x1) => x0.get(x1),
      _1921: (x0,x1) => x0.openCursor(x1),
      _1922: x0 => globalThis.IDBKeyRange.only(x0),
      _1923: (x0,x1,x2) => x0.put(x1,x2),
      _1924: (x0,x1) => x0.update(x1),
      _1925: (x0,x1) => x0.delete(x1),
      _1926: x0 => x0.name,
      _1927: x0 => x0.length,
      _1930: x0 => x0.continue(),
      _1931: () => globalThis.indexedDB,
      _1932: () => globalThis.navigator,
      _1933: (x0,x1) => x0.read(x1),
      _1934: (x0,x1,x2) => x0.read(x1,x2),
      _1935: (x0,x1) => x0.write(x1),
      _1936: (x0,x1,x2) => x0.write(x1,x2),
      _1937: x0 => ({create: x0}),
      _1938: (x0,x1,x2) => x0.getDirectoryHandle(x1,x2),
      _1940: (x0,x1,x2) => globalThis.Atomics.wait(x0,x1,x2),
      _1942: (x0,x1,x2) => globalThis.Atomics.notify(x0,x1,x2),
      _1943: (x0,x1,x2) => globalThis.Atomics.store(x0,x1,x2),
      _1944: (x0,x1) => globalThis.Atomics.load(x0,x1),
      _1945: () => globalThis.Int32Array,
      _1947: () => globalThis.Uint8Array,
      _1949: () => globalThis.DataView,
      _1951: x0 => x0.byteLength,
      _1953: x0 => globalThis.BigInt(x0),
      _1954: x0 => globalThis.Number(x0),
      _1961: (x0,x1) => x0.canPlayType(x1),
      _1962: x0 => globalThis.MediaSource.isTypeSupported(x0),
      _1963: () => new AudioContext(),
      _1964: x0 => x0.close(),
      _1965: x0 => new BroadcastChannel(x0),
      _1966: x0 => globalThis.Array.isArray(x0),
      _1967: (x0,x1) => x0.postMessage(x1),
      _1969: (x0,x1) => ({kind: x0,table: x1}),
      _1970: x0 => x0.kind,
      _1971: x0 => x0.table,
      _1972: x0 => new JASSUB(x0),
      _1973: x0 => x0.destroy(),
      _1974: x0 => x0.dispose(),
      _1975: () => new XMLHttpRequest(),
      _1976: (x0,x1,x2,x3) => x0.open(x1,x2,x3),
      _1978: (x0,x1,x2) => x0.setRequestHeader(x1,x2),
      _1979: (x0,x1) => x0.send(x1),
      _1980: x0 => x0.send(),
      _1982: (module,f) => finalizeWrapper(f, function(x0) { return module.exports._1982(f,arguments.length,x0) }),
      _1983: (module,f) => finalizeWrapper(f, function(x0) { return module.exports._1983(f,arguments.length,x0) }),
      _1988: (x0,x1) => new WebSocket(x0,x1),
      _1989: (x0,x1) => x0.send(x1),
      _1990: (x0,x1,x2) => x0.close(x1,x2),
      _1992: x0 => x0.close(),
      _1993: (x0,x1,x2) => x0.open(x1,x2),
      _1994: x0 => x0.abort(),
      _1995: x0 => x0.getAllResponseHeaders(),
      _1996: () => new RTCPeerConnection(),
      _1997: (x0,x1) => x0.createDataChannel(x1),
      _1998: x0 => x0.setLocalDescription(),
      _1999: x0 => x0.close(),
      _2000: (x0,x1) => x0.item(x1),
      _2002: (module,f) => finalizeWrapper(f, function(x0) { return module.exports._2002(f,arguments.length,x0) }),
      _2003: (x0,x1,x2) => x0.sendBeacon(x1,x2),
      _2004: () => new AbortController(),
      _2005: x0 => x0.abort(),
      _2006: (x0,x1,x2,x3,x4,x5) => ({method: x0,headers: x1,body: x2,credentials: x3,redirect: x4,signal: x5}),
      _2007: (x0,x1) => globalThis.fetch(x0,x1),
      _2008: (module,f) => finalizeWrapper(f, function(x0,x1,x2) { return module.exports._2008(f,arguments.length,x0,x1,x2) }),
      _2009: (x0,x1) => x0.forEach(x1),
      _2010: x0 => x0.getReader(),
      _2011: x0 => x0.cancel(),
      _2012: x0 => x0.read(),
      _2013: (x0,x1) => x0.append(x1),
      _2014: x0 => ({xhrSetup: x0}),
      _2015: x0 => new Hls(x0),
      _2016: () => globalThis.Hls.isSupported(),
      _2018: (x0,x1) => x0.loadSource(x1),
      _2019: (x0,x1) => x0.attachMedia(x1),
      _2032: () => globalThis.window.flutter_inappwebview,
      _2036: (x0,x1) => { x0.nativeCommunication = x1 },
      _2037: (x0,x1) => x0.fetch(x1),
      _2038: o => o instanceof Array,
      _2039: (a, i) => a.splice(i, 1)[0],
      _2041: (a, l) => a.length = l,
      _2042: a => a.pop(),
      _2043: (a, i) => a.splice(i, 1),
      _2044: (a, s) => a.join(s),
      _2045: (a, s, e) => a.slice(s, e),
      _2047: (a, b) => a == b ? 0 : (a > b ? 1 : -1),
      _2048: a => a.length,
      _2049: (a, l) => a.length = l,
      _2050: (a, i) => a[i],
      _2051: (a, i, v) => a[i] = v,
      _2053: o => {
        if (o === null || o === undefined) return 0;
        if (o instanceof ArrayBuffer) return 1;
        if (globalThis.SharedArrayBuffer !== undefined &&
            o instanceof SharedArrayBuffer) {
          return 2;
        }
        return 3;
      },
      _2054: (o, offsetInBytes, lengthInBytes) => {
        var dst = new ArrayBuffer(lengthInBytes);
        new Uint8Array(dst).set(new Uint8Array(o, offsetInBytes, lengthInBytes));
        return new DataView(dst);
      },
      _2055: o => {
        if (o === null || o === undefined) return 0;
        if (o instanceof DataView) return 1;
        return 2;
      },
      _2056: o => {
        if (o === null || o === undefined) return 0;
        if (o instanceof Uint8Array) return 1;
        return 2;
      },
      _2057: (o, start, length) => new Uint8Array(o.buffer, o.byteOffset + start, length),
      _2058: o => {
        if (o === null || o === undefined) return 0;
        if (o instanceof Int8Array) return 1;
        return 2;
      },
      _2059: (o, start, length) => new Int8Array(o.buffer, o.byteOffset + start, length),
      _2060: o => o instanceof Uint8ClampedArray,
      _2061: (o, start, length) => new Uint8ClampedArray(o.buffer, o.byteOffset + start, length),
      _2062: o => o instanceof Uint16Array,
      _2063: (o, start, length) => new Uint16Array(o.buffer, o.byteOffset + start, length),
      _2064: o => o instanceof Int16Array,
      _2065: (o, start, length) => new Int16Array(o.buffer, o.byteOffset + start, length),
      _2066: o => {
        if (o === null || o === undefined) return 0;
        if (o instanceof Uint32Array) return 1;
        return 2;
      },
      _2067: (o, start, length) => new Uint32Array(o.buffer, o.byteOffset + start, length),
      _2068: o => {
        if (o === null || o === undefined) return 0;
        if (o instanceof Int32Array) return 1;
        return 2;
      },
      _2069: (o, start, length) => new Int32Array(o.buffer, o.byteOffset + start, length),
      _2071: (o, start, length) => new BigInt64Array(o.buffer, o.byteOffset + start, length),
      _2072: o => {
        if (o === null || o === undefined) return 0;
        if (o instanceof Float32Array) return 1;
        return 2;
      },
      _2073: (o, start, length) => new Float32Array(o.buffer, o.byteOffset + start, length),
      _2074: o => {
        if (o === null || o === undefined) return 0;
        if (o instanceof Float64Array) return 1;
        return 2;
      },
      _2075: (o, start, length) => new Float64Array(o.buffer, o.byteOffset + start, length),
      _2076: (a, i) => a.push(i),
      _2077: (t, s) => t.set(s),
      _2078: l => new DataView(new ArrayBuffer(l)),
      _2079: (o) => new DataView(o.buffer, o.byteOffset, o.byteLength),
      _2080: o => o.byteLength,
      _2081: o => o.buffer,
      _2082: o => o.byteOffset,
      _2083: Function.prototype.call.bind(Object.getOwnPropertyDescriptor(DataView.prototype, 'byteLength').get),
      _2084: (b, o) => new DataView(b, o),
      _2085: (b, o, l) => new DataView(b, o, l),
      _2086: Function.prototype.call.bind(DataView.prototype.getUint8),
      _2087: Function.prototype.call.bind(DataView.prototype.setUint8),
      _2088: Function.prototype.call.bind(DataView.prototype.getInt8),
      _2089: Function.prototype.call.bind(DataView.prototype.setInt8),
      _2090: Function.prototype.call.bind(DataView.prototype.getUint16),
      _2091: Function.prototype.call.bind(DataView.prototype.setUint16),
      _2092: Function.prototype.call.bind(DataView.prototype.getInt16),
      _2093: Function.prototype.call.bind(DataView.prototype.setInt16),
      _2094: Function.prototype.call.bind(DataView.prototype.getUint32),
      _2095: Function.prototype.call.bind(DataView.prototype.setUint32),
      _2096: Function.prototype.call.bind(DataView.prototype.getInt32),
      _2097: Function.prototype.call.bind(DataView.prototype.setInt32),
      _2100: Function.prototype.call.bind(DataView.prototype.getBigInt64),
      _2101: Function.prototype.call.bind(DataView.prototype.setBigInt64),
      _2102: Function.prototype.call.bind(DataView.prototype.getFloat32),
      _2103: Function.prototype.call.bind(DataView.prototype.setFloat32),
      _2104: Function.prototype.call.bind(DataView.prototype.getFloat64),
      _2105: Function.prototype.call.bind(DataView.prototype.setFloat64),
      _2106: Function.prototype.call.bind(Number.prototype.toString),
      _2107: Function.prototype.call.bind(BigInt.prototype.toString),
      _2108: Function.prototype.call.bind(Number.prototype.toString),
      _2109: (d, digits) => d.toFixed(digits),
      _2139: () => globalThis.document,
      _2140: () => globalThis.window,
      _2141: () => globalThis.console,
      _2146: (x0,x1) => { x0.height = x1 },
      _2148: (x0,x1) => { x0.width = x1 },
      _2150: (x0,x1) => { x0.pointerEvents = x1 },
      _2153: x0 => x0.head,
      _2154: x0 => x0.classList,
      _2158: (x0,x1) => { x0.innerText = x1 },
      _2159: x0 => x0.style,
      _2161: x0 => x0.sheet,
      _2162: x0 => x0.src,
      _2163: (x0,x1) => { x0.src = x1 },
      _2164: x0 => x0.naturalWidth,
      _2165: x0 => x0.naturalHeight,
      _2172: x0 => x0.offsetX,
      _2173: x0 => x0.offsetY,
      _2174: x0 => x0.button,
      _2180: (x0,x1) => x0.error(x1),
      _2185: x0 => x0.status,
      _2186: (x0,x1) => { x0.responseType = x1 },
      _2188: x0 => x0.response,
      _2225: x0 => x0.readyState,
      _2227: (x0,x1) => { x0.timeout = x1 },
      _2229: (x0,x1) => { x0.withCredentials = x1 },
      _2230: x0 => x0.upload,
      _2231: x0 => x0.responseURL,
      _2232: x0 => x0.status,
      _2233: x0 => x0.statusText,
      _2235: (x0,x1) => { x0.responseType = x1 },
      _2236: x0 => x0.response,
      _2237: x0 => x0.responseText,
      _2248: x0 => x0.loaded,
      _2249: x0 => x0.total,
      _2296: (x0,x1) => { x0.draggable = x1 },
      _2312: x0 => x0.style,
      _2565: x0 => x0.content,
      _2669: (x0,x1) => { x0.target = x1 },
      _2671: (x0,x1) => { x0.download = x1 },
      _2675: (x0,x1) => { x0.rel = x1 },
      _2696: (x0,x1) => { x0.href = x1 },
      _2788: x0 => x0.src,
      _2789: (x0,x1) => { x0.src = x1 },
      _2792: x0 => x0.name,
      _2793: (x0,x1) => { x0.name = x1 },
      _2794: x0 => x0.sandbox,
      _2795: x0 => x0.allow,
      _2796: (x0,x1) => { x0.allow = x1 },
      _2797: x0 => x0.allowFullscreen,
      _2798: (x0,x1) => { x0.allowFullscreen = x1 },
      _2803: x0 => x0.referrerPolicy,
      _2804: (x0,x1) => { x0.referrerPolicy = x1 },
      _2884: x0 => x0.videoWidth,
      _2885: x0 => x0.videoHeight,
      _2897: (x0,x1) => { x0.kind = x1 },
      _2899: (x0,x1) => { x0.src = x1 },
      _2901: (x0,x1) => { x0.srclang = x1 },
      _2903: (x0,x1) => { x0.label = x1 },
      _2914: x0 => x0.error,
      _2916: (x0,x1) => { x0.src = x1 },
      _2924: (x0,x1) => { x0.preload = x1 },
      _2925: x0 => x0.buffered,
      _2926: x0 => x0.readyState,
      _2928: x0 => x0.currentTime,
      _2929: (x0,x1) => { x0.currentTime = x1 },
      _2930: x0 => x0.duration,
      _2931: x0 => x0.paused,
      _2934: x0 => x0.playbackRate,
      _2935: (x0,x1) => { x0.playbackRate = x1 },
      _2940: x0 => x0.ended,
      _2942: (x0,x1) => { x0.autoplay = x1 },
      _2946: (x0,x1) => { x0.controls = x1 },
      _2947: x0 => x0.volume,
      _2948: (x0,x1) => { x0.volume = x1 },
      _2949: x0 => x0.muted,
      _2950: (x0,x1) => { x0.muted = x1 },
      _2966: x0 => x0.message,
      _3039: x0 => x0.length,
      _3235: (x0,x1) => { x0.accept = x1 },
      _3249: x0 => x0.files,
      _3275: (x0,x1) => { x0.multiple = x1 },
      _3293: (x0,x1) => { x0.type = x1 },
      _3542: x0 => x0.src,
      _3543: (x0,x1) => { x0.src = x1 },
      _3545: (x0,x1) => { x0.type = x1 },
      _3549: (x0,x1) => { x0.async = x1 },
      _3555: (x0,x1) => { x0.text = x1 },
      _3563: (x0,x1) => { x0.charset = x1 },
      _4012: () => globalThis.window,
      _4051: x0 => x0.document,
      _4054: x0 => x0.location,
      _4073: x0 => x0.navigator,
      _4336: x0 => x0.sessionStorage,
      _4337: x0 => x0.localStorage,
      _4345: x0 => x0.href,
      _4347: x0 => x0.origin,
      _4440: x0 => x0.clipboard,
      _4442: x0 => x0.geolocation,
      _4445: x0 => x0.mediaDevices,
      _4446: x0 => x0.mediaSession,
      _4447: x0 => x0.permissions,
      _4448: x0 => x0.maxTouchPoints,
      _4461: x0 => x0.userAgent,
      _4467: x0 => x0.onLine,
      _4474: x0 => x0.storage,
      _4512: x0 => x0.data,
      _4513: x0 => x0.origin,
      _4542: x0 => x0.port1,
      _4543: x0 => x0.port2,
      _4545: (x0,x1) => { x0.onmessage = x1 },
      _4623: x0 => x0.port,
      _4658: x0 => x0.length,
      _4875: x0 => x0.readyState,
      _4884: x0 => x0.protocol,
      _4888: (x0,x1) => { x0.binaryType = x1 },
      _4891: x0 => x0.code,
      _4892: x0 => x0.reason,
      _4949: x0 => x0.localDescription,
      _4956: x0 => x0.iceGatheringState,
      _4984: x0 => x0.sdp,
      _6043: x0 => x0.destination,
      _6198: x0 => x0.maxChannelCount,
      _6598: x0 => x0.signal,
      _6610: x0 => x0.length,
      _6653: x0 => x0.baseURI,
      _6659: x0 => x0.firstChild,
      _6670: () => globalThis.document,
      _6729: x0 => x0.documentElement,
      _6750: x0 => x0.body,
      _6752: x0 => x0.head,
      _6792: x0 => x0.fullscreenElement,
      _7081: x0 => x0.id,
      _7082: (x0,x1) => { x0.id = x1 },
      _7106: (x0,x1) => { x0.innerHTML = x1 },
      _7109: x0 => x0.children,
      _7312: x0 => x0.length,
      _8427: x0 => x0.value,
      _8429: x0 => x0.done,
      _8592: x0 => x0.size,
      _8593: x0 => x0.type,
      _8600: x0 => x0.name,
      _8606: x0 => x0.length,
      _8611: x0 => x0.result,
      _9106: x0 => x0.url,
      _9108: x0 => x0.status,
      _9109: x0 => x0.ok,
      _9110: x0 => x0.statusText,
      _9111: x0 => x0.headers,
      _9112: x0 => x0.body,
      _9240: (x0,x1) => { x0.lang = x1 },
      _9242: (x0,x1) => { x0.continuous = x1 },
      _9244: (x0,x1) => { x0.interimResults = x1 },
      _9252: (x0,x1) => { x0.onspeechstart = x1 },
      _9260: (x0,x1) => { x0.onresult = x1 },
      _9262: (x0,x1) => { x0.onnomatch = x1 },
      _9264: (x0,x1) => { x0.onerror = x1 },
      _9266: (x0,x1) => { x0.onstart = x1 },
      _9268: (x0,x1) => { x0.onend = x1 },
      _9269: x0 => x0.error,
      _9271: x0 => x0.transcript,
      _9272: x0 => x0.confidence,
      _9273: x0 => x0.length,
      _9275: x0 => x0.length,
      _9277: x0 => x0.results,
      _10556: x0 => x0.result,
      _10557: x0 => x0.error,
      _10568: (x0,x1) => { x0.onupgradeneeded = x1 },
      _10570: x0 => x0.oldVersion,
      _10649: x0 => x0.key,
      _10650: x0 => x0.primaryKey,
      _10652: x0 => x0.value,
      _11166: (x0,x1) => { x0.backgroundColor = x1 },
      _11212: (x0,x1) => { x0.border = x1 },
      _11490: (x0,x1) => { x0.display = x1 },
      _11654: (x0,x1) => { x0.height = x1 },
      _11848: (x0,x1) => { x0.objectFit = x1 },
      _11882: (x0,x1) => { x0.overflow = x1 },
      _11978: (x0,x1) => { x0.pointerEvents = x1 },
      _12344: (x0,x1) => { x0.width = x1 },
      _12712: x0 => x0.name,
      _12713: x0 => x0.message,

    };

    const baseImports = {
      dart2wasm: dart2wasm,
      Math: Math,
      Date: Date,
      Object: Object,
      Array: Array,
      Reflect: Reflect,
      WebAssembly: {
        JSTag: WebAssembly.JSTag,
      },
      "": new Proxy({}, { get(_, prop) { return prop; } }),

    };

    const jsStringPolyfill = {
      "charCodeAt": (s, i) => s.charCodeAt(i),
      "compare": (s1, s2) => {
        if (s1 < s2) return -1;
        if (s1 > s2) return 1;
        return 0;
      },
      "concat": (s1, s2) => s1 + s2,
      "equals": (s1, s2) => s1 === s2,
      "fromCharCode": (i) => String.fromCharCode(i),
      "length": (s) => s.length,
      "substring": (s, a, b) => s.substring(a, b),
      "fromCharCodeArray": (a, start, end) => {
        if (end <= start) return '';

        const read = dartInstance.exports.$wasmI16ArrayGet;
        let result = '';
        let index = start;
        const chunkLength = Math.min(end - index, 500);
        let array = new Array(chunkLength);
        while (index < end) {
          const newChunkLength = Math.min(end - index, 500);
          for (let i = 0; i < newChunkLength; i++) {
            array[i] = read(a, index++);
          }
          if (newChunkLength < chunkLength) {
            array = array.slice(0, newChunkLength);
          }
          result += String.fromCharCode(...array);
        }
        return result;
      },
      "intoCharCodeArray": (s, a, start) => {
        if (s === '') return 0;

        const write = dartInstance.exports.$wasmI16ArraySet;
        for (var i = 0; i < s.length; ++i) {
          write(a, start++, s.charCodeAt(i));
        }
        return s.length;
      },
      "test": (s) => typeof s == "string",
    };


    

    dartInstance = await WebAssembly.instantiate(this.module, {
      ...baseImports,
      ...additionalImports,
      
      "wasm:js-string": jsStringPolyfill,
    });
    dartInstance.exports.$setThisModule(dartInstance);

    return new InstantiatedApp(this, dartInstance);
  }
}

class InstantiatedApp {
  constructor(compiledApp, instantiatedModule) {
    this.compiledApp = compiledApp;
    this.instantiatedModule = instantiatedModule;
  }

  // Call the main function with the given arguments.
  invokeMain(...args) {
    this.instantiatedModule.exports.$invokeMain(args);
  }
}
