@nutrient-sdk/node
Version:
Convert documents in your Node.js apps.
13 lines • 35.4 kB
JavaScript
/*!
* Nutrient for Node.js 1.1.0 (https://www.nutrient.io/nodejs)
*
* Copyright © 2024-2025 PSPDFKit GmbH. All rights reserved.
*
* THIS SOURCE CODE AND ANY ACCOMPANYING DOCUMENTATION ARE PROTECTED BY INTERNATIONAL COPYRIGHT LAW
* AND MAY NOT BE RESOLD OR REDISTRIBUTED. USAGE IS BOUND TO THE PSPDFKIT LICENSE AGREEMENT.
* UNAUTHORIZED REPRODUCTION OR DISTRIBUTION IS SUBJECT TO CIVIL AND CRIMINAL PENALTIES.
* This notice may not be removed from this file.
*
* Nutrient uses several open source third-party components: https://www.nutrient.io/legal/acknowledgements/nodejs-acknowledgements/
*/
let e,t,o,r;let n=async()=>WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,10,8,1,6,0,6,64,25,11,11])),i=async()=>WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,5,1,96,0,1,123,3,2,1,0,10,10,1,8,0,65,0,253,15,253,98,11])),s=Symbol.for("wasm promise_control");function a(e,t){let o=null,r=new Promise(function(r,n){o={isDone:!1,promise:null,resolve:t=>{o.isDone||(o.isDone=!0,r(t),e&&e())},reject:e=>{o.isDone||(o.isDone=!0,n(e),t&&t())}}});return o.promise=r,r[s]=o,{promise:r,promise_control:o}}let l="MONO_WASM: ";function c(e,...t){eb.diagnosticTracing&&console.debug(l+e,...t)}function u(e,...t){console.info(l+e,...t)}function d(e,...t){console.info(e,...t)}function f(e,...t){console.warn(l+e,...t)}function m(e,...t){t&&t.length>0&&t[0]&&"object"==typeof t[0]&&t[0].silent||console.error(l+e,...t)}function h(t,o,r){let n={log:o.log,error:o.error};function i(e,o,r){return function(...i){try{let n=i[0];if(void 0===n)n="undefined";else if(null===n)n="null";else if("function"==typeof n)n=n.toString();else if("string"!=typeof n)try{n=JSON.stringify(n)}catch(e){n=n.toString()}if("string"==typeof n)if("["==n[0]){let e=(new Date).toISOString();n="main"!==t?`[${t}][${e}] ${n}`:`[${e}] ${n}`}else"main"!==t&&(n=`[${t}] ${n}`);o(r?JSON.stringify({method:e,payload:n,arguments:i}):[e+n,...i.slice(1)])}catch(e){n.error(`proxyConsole failed: ${e}`)}}}let s=["debug","trace","warn","info","error"];for(let e of s)"function"!=typeof o[e]&&(o[e]=i(`console.${e}: `,o.log,!1));(e=new WebSocket(`${r}/console`.replace("https://","wss://").replace("http://","ws://"))).addEventListener("open",()=>{n.log(`browser: [${t}] Console websocket connected.`)}),e.addEventListener("error",e=>{n.error(`[${t}] websocket error: ${e}`,e)}),e.addEventListener("close",e=>{n.error(`[${t}] websocket closed: ${e}`,e)});let a=t=>{e.readyState===WebSocket.OPEN?e.send(t):n.log(t)};for(let e of["log",...s])o[e]=i(`console.${e}`,a,!0)}let p={},g={},b={};async function w(){let e=t;if(e){let t=(await e.keys()).map(async t=>{t.url in p||await e.delete(t)});await Promise.all(t)}}function y(e){return`${e.resolvedUrl}.${e.hash}`}function v(e){return e.reduce((e,t)=>e+(t.responseBytes||0),0)}function _(e){return`${(e/1048576).toFixed(2)} MB`}function E(e){var t;if((null==(t=e.resources)?void 0:t.icu)&&"invariant"!=e.globalizationMode){let t=e.applicationCulture||(eh?navigator.languages&&navigator.languages[0]:Intl.DateTimeFormat().resolvedOptions().locale),o=Object.keys(e.resources.icu),r=null;if("custom"===e.globalizationMode?1===o.length&&(r=o[0]):"hybrid"===e.globalizationMode?r="icudt_hybrid.dat":t&&"all"!==e.globalizationMode?"sharded"===e.globalizationMode&&(r=function(e){let t=e.split("-")[0];return"en"===t||["fr","fr-FR","it","it-IT","de","de-DE","es","es-ES"].includes(e)?"icudt_EFIGS.dat":["zh","ko","ja"].includes(t)?"icudt_CJK.dat":"icudt_no_CJK.dat"}(t)):r="icudt.dat",r&&o.includes(r))return r}return e.globalizationMode="invariant",null}let R=class{constructor(e){this.url=e}toString(){return this.url}};async function j(e,t){try{let n="function"==typeof globalThis.fetch;if(ef){let i=e.startsWith("file://");if(!i&&n)return globalThis.fetch(e,t||{credentials:"same-origin"});o||(r=ey.require("url"),o=ey.require("fs")),i&&(e=r.fileURLToPath(e));let s=await o.promises.readFile(e);return{ok:!0,headers:{length:0,get:()=>null},url:e,arrayBuffer:()=>s,json:()=>JSON.parse(s),text:()=>{throw Error("NotImplementedException")}}}if(n)return globalThis.fetch(e,t||{credentials:"same-origin"});if("function"==typeof read)return{ok:!0,url:e,headers:{length:0,get:()=>null},arrayBuffer:()=>new Uint8Array(read(e,"binary")),json:()=>JSON.parse(read(e,"utf8")),text:()=>read(e,"utf8")}}catch(t){return{ok:!1,url:e,status:500,headers:{length:0,get:()=>null},statusText:"ERR28: "+t,arrayBuffer:()=>{throw t},json:()=>{throw t},text:()=>{throw t}}}throw Error("No fetch implementation available")}function S(e){return"string"!=typeof e&&eE(!1,"url must be a string"),!D(e)&&0!==e.indexOf("./")&&0!==e.indexOf("../")&&globalThis.URL&&globalThis.document&&globalThis.document.baseURI&&(e=new URL(e,globalThis.document.baseURI).toString()),e}let x=/^[a-zA-Z][a-zA-Z\d+\-.]*?:\/\//,A=/[a-zA-Z]:[\\/]/;function D(e){return ef||ep?e.startsWith("/")||e.startsWith("\\")||-1!==e.indexOf("///")||A.test(e):x.test(e)}let C,T=0,O=[],k=[],M=new Map,$={"js-module-threads":!0,"js-module-runtime":!0,"js-module-dotnet":!0,"js-module-native":!0},I={...$,"js-module-library-initializer":!0},L={...$,dotnetwasm:!0,heap:!0,manifest:!0},U={...I,manifest:!0},N={...I,dotnetwasm:!0},P={dotnetwasm:!0,symbols:!0},z={resource:!0,assembly:!0,pdb:!0,heap:!0,icu:!0},W={...I,dotnetwasm:!0,symbols:!0};function F(e){return"icu"!=e.behavior||e.name==eb.preferredIcuAsset}function B(e,t,o){let r=Object.keys(t||{});eE(1==r.length,`Expect to have one ${o} asset in resources`);let n=r[0],i={name:n,hash:t[n],behavior:o};return V(i),e.push(i),i}function V(e){L[e.behavior]&&M.set(e.behavior,e)}function q(e){let t=function(e){eE(L[e],`Unknown single asset behavior ${e}`);let t=M.get(e);return eE(t,`Single asset for ${e} not found`),t}(e);if(t.resolvedUrl=eb.locateFile(t.name),$[t.behavior]){let e=et(t);e?("string"!=typeof e&&eE(!1,"loadBootResource response for 'dotnetjs' type should be a URL string"),t.resolvedUrl=e):t.resolvedUrl=Y(t.resolvedUrl,t.behavior)}else if("dotnetwasm"!==t.behavior)throw Error(`Unknown single asset behavior ${e}`);return t}async function J(){c("mono_download_assets");try{let e=[],t=t=>{!W[t.behavior]&&F(t)&&eb.expected_instantiated_assets_count++,!N[t.behavior]&&F(t)&&(eb.expected_downloaded_assets_count++,e.push(Q(t)))};for(let e of k)t(e);for(let e of(await eb.memorySnapshotSkippedOrDone.promise,O))if(eg.loadedMemorySnapshotSize){if(eo(e),"resource"==e.behavior||"assembly"==e.behavior||"pdb"==e.behavior){let t=G(e,""),o="string"==typeof e.virtualPath?e.virtualPath:e.name;eb._loaded_files.push({url:t,file:o})}}else t(e);eb.allDownloadsQueued.promise_control.resolve(),await eb.runtimeModuleLoaded.promise;let o=[];for(let t of e)o.push((async()=>{let e=await t;if(e.buffer){if(!W[e.behavior]){e.buffer&&"object"==typeof e.buffer||eE(!1,"asset buffer must be array-like or buffer-like or promise of these"),"string"!=typeof e.resolvedUrl&&eE(!1,"resolvedUrl must be string");let t=e.resolvedUrl,o=await e.buffer,r=new Uint8Array(o);eo(e),await eg.beforeOnRuntimeInitialized.promise,eg.instantiate_asset(e,t,r)}}else P[e.behavior]?("symbols"===e.behavior&&(await eg.instantiate_symbols_asset(e),eo(e)),P[e.behavior]&&++eb.actual_downloaded_assets_count):(e.isOptional||eE(!1,"Expected asset to have the downloaded buffer"),!N[e.behavior]&&F(e)&&eb.expected_downloaded_assets_count--,!W[e.behavior]&&F(e)&&eb.expected_instantiated_assets_count--)})());Promise.all(o).then(()=>{eg.allAssetsInMemory.promise_control.resolve()}).catch(e=>{throw eb.err("Error in mono_download_assets: "+e),eS(1,e),e})}catch(e){throw eb.err("Error in mono_download_assets: "+e),e}}async function H(e){let t=await Q(e);return await t.pendingDownloadInternal.response,t.buffer}async function Q(e){try{return await Z(e)}catch(t){if(!eb.enableDownloadRetry||ep||ef||e.pendingDownload&&e.pendingDownloadInternal==e.pendingDownload||e.resolvedUrl&&-1!=e.resolvedUrl.indexOf("file://")||t&&404==t.status)throw t;e.pendingDownloadInternal=void 0,await eb.allDownloadsQueued.promise;try{return c(`Retrying download '${e.name}'`),await Z(e)}catch(t){return e.pendingDownloadInternal=void 0,await new Promise(e=>globalThis.setTimeout(e,100)),c(`Retrying download (2) '${e.name}' after delay`),await Z(e)}}}async function Z(e){for(;C;)await C.promise;try{++T==eb.maxParallelDownloads&&(c("Throttling further parallel downloads"),C=a());let o=await async function(e){let o;if(e.pendingDownload&&(e.pendingDownloadInternal=e.pendingDownload),e.pendingDownloadInternal&&e.pendingDownloadInternal.response)return e.pendingDownloadInternal.response;if(e.buffer){let t=await e.buffer;return e.resolvedUrl||(e.resolvedUrl="undefined://"+e.name),e.pendingDownloadInternal={url:e.resolvedUrl,name:e.name,response:Promise.resolve({ok:!0,arrayBuffer:()=>t,json:()=>JSON.parse(new TextDecoder("utf-8").decode(t)),text:()=>{throw Error("NotImplementedException")},headers:{get:()=>{}}})},e.pendingDownloadInternal.response}for(let r of e.loadRemote&&eb.config.remoteSources?eb.config.remoteSources:[""]){r=r.trim(),"./"===r&&(r="");let n=G(e,r);e.name===n?c(`Attempting to download '${n}'`):c(`Attempting to download '${n}' for ${e.name}`);try{e.resolvedUrl=n;let r=function(e){try{e.resolvedUrl||eE(!1,"Request's resolvedUrl must be set");let o=async function(e){let o=await async function(e){let o,r=t;if(!r||e.noCache||!e.hash||0===e.hash.length)return;let n=y(e);p[n]=!0;try{o=await r.match(n)}catch(e){}if(!o)return;let i=parseInt(o.headers.get("content-length")||"0");return b[e.name]={responseBytes:i},o}(e);return o||(o=await function(e){let t=e.resolvedUrl;if(eb.loadBootResource){let o=et(e);if(o instanceof Promise)return o;"string"==typeof o&&(t=o)}let o={};return eb.config.disableNoCacheFetch||(o.cache="no-cache"),e.useCredentials?o.credentials="include":!eb.config.disableIntegrityCheck&&e.hash&&(o.integrity=e.hash),eb.fetch_like(t,o)}(e),function(e,o){let r=t;if(!r||e.noCache||!e.hash||0===e.hash.length)return;let n=o.clone();setTimeout(()=>{let t=y(e);!async function(e,t,o,r){let n=await r.arrayBuffer(),i=function(e){if("undefined"!=typeof performance)return performance.getEntriesByName(e)[0]}(r.url),s=i&&i.encodedBodySize||void 0;g[t]={responseBytes:s};let a=new Response(n,{headers:{"content-type":r.headers.get("content-type")||"","content-length":(s||r.headers.get("content-length")||"").toString()}});try{await e.put(o,a)}catch(e){}}(r,e.name,t,n)},0)}(e,o)),o}(e),r={name:e.name,url:e.resolvedUrl,response:o};return X.add(e.name),r.response.then(()=>{"assembly"==e.behavior&&eb.loadedAssemblies.push(e.name),K++,eb.onDownloadResourceProgress&&eb.onDownloadResourceProgress(K,X.size)}),r}catch(o){let t={ok:!1,url:e.resolvedUrl,status:500,statusText:"ERR29: "+o,arrayBuffer:()=>{throw o},json:()=>{throw o}};return{name:e.name,url:e.resolvedUrl,response:Promise.resolve(t)}}}(e);if(e.pendingDownloadInternal=r,!(o=await r.response)||!o.ok)continue;return o}catch(e){o||(o={ok:!1,url:n,status:0,statusText:""+e});continue}}let r=e.isOptional||e.name.match(/\.pdb$/)&&eb.config.ignorePdbLoadErrors;if(o||eE(!1,`Response undefined ${e.name}`),!r){let t=Error(`download '${o.url}' for ${e.name} failed ${o.status} ${o.statusText}`);throw t.status=o.status,t}u(`optional download '${o.url}' for ${e.name} failed ${o.status} ${o.statusText}`)}(e);return o&&(P[e.behavior]||(e.buffer=await o.arrayBuffer(),++eb.actual_downloaded_assets_count)),e}finally{if(--T,C&&T==eb.maxParallelDownloads-1){c("Resuming more parallel downloads");let e=C;C=void 0,e.promise_control.resolve()}}}function G(e,t){let o;return null==t&&eE(!1,`sourcePrefix must be provided for ${e.name}`),e.resolvedUrl?o=e.resolvedUrl:(o=""===t?"assembly"===e.behavior||"pdb"===e.behavior?e.name:"resource"===e.behavior&&e.culture&&""!==e.culture?`${e.culture}/${e.name}`:e.name:t+e.name,o=Y(eb.locateFile(o),e.behavior)),o&&"string"==typeof o||eE(!1,"attemptUrl need to be path or url string"),o}function Y(e,t){return eb.modulesUniqueQuery&&U[t]&&(e+=eb.modulesUniqueQuery),e}let K=0,X=new Set,ee={resource:"assembly",assembly:"assembly",pdb:"pdb",icu:"globalization",vfs:"configuration",manifest:"manifest",dotnetwasm:"dotnetwasm","js-module-dotnet":"dotnetjs","js-module-native":"dotnetjs","js-module-runtime":"dotnetjs","js-module-threads":"dotnetjs"};function et(e){var t;if(eb.loadBootResource){let o=null!=(t=e.hash)?t:"",r=e.resolvedUrl,n=ee[e.behavior];if(n){let t=eb.loadBootResource(n,e.name,r,o,e.behavior);return"string"==typeof t?S(t):t}}}function eo(e){e.pendingDownloadInternal=null,e.pendingDownload=null,e.buffer=null,e.moduleExports=null}async function er(e){if(!e)return;let t=Object.keys(e);await Promise.all(t.map(e=>(async function(e){try{let t=Y(eb.locateFile(e),"js-module-library-initializer");c(`Attempting to import '${t}' for ${e}`);let o=await import(t);eb.libraryInitializers.push({scriptName:e,exports:o})}catch(t){f(`Failed to import library initializer '${e}': ${t}`)}})(e)))}async function en(e,t){if(!eb.libraryInitializers)return;let o=[];for(let r=0;r<eb.libraryInitializers.length;r++){let n=eb.libraryInitializers[r];n.exports[e]&&o.push(ei(n.scriptName,e,()=>n.exports[e](...t)))}await Promise.all(o)}async function ei(e,t,o){try{await o()}catch(o){throw f(`Failed to invoke '${t}' on library initializer '${e}': ${o}`),eS(1,o),o}}function es(e,t){if(e===t)return e;let o={...t};return void 0!==o.assets&&o.assets!==e.assets&&(o.assets=[...e.assets||[],...o.assets||[]]),void 0!==o.resources&&(o.resources=el(e.resources||{assembly:{},jsModuleNative:{},jsModuleRuntime:{},wasmNative:{}},o.resources)),void 0!==o.environmentVariables&&(o.environmentVariables={...e.environmentVariables||{},...o.environmentVariables||{}}),void 0!==o.runtimeOptions&&o.runtimeOptions!==e.runtimeOptions&&(o.runtimeOptions=[...e.runtimeOptions||[],...o.runtimeOptions||[]]),Object.assign(e,o)}function ea(e,t){if(e===t)return e;let o={...t};return o.config&&(e.config||(e.config={}),o.config=es(e.config,o.config)),Object.assign(e,o)}function el(e,t){if(e===t)return e;let o={...t};return void 0!==o.assembly&&(o.assembly={...e.assembly||{},...o.assembly||{}}),void 0!==o.lazyAssembly&&(o.lazyAssembly={...e.lazyAssembly||{},...o.lazyAssembly||{}}),void 0!==o.pdb&&(o.pdb={...e.pdb||{},...o.pdb||{}}),void 0!==o.jsModuleWorker&&(o.jsModuleWorker={...e.jsModuleWorker||{},...o.jsModuleWorker||{}}),void 0!==o.jsModuleNative&&(o.jsModuleNative={...e.jsModuleNative||{},...o.jsModuleNative||{}}),void 0!==o.jsModuleRuntime&&(o.jsModuleRuntime={...e.jsModuleRuntime||{},...o.jsModuleRuntime||{}}),void 0!==o.wasmSymbols&&(o.wasmSymbols={...e.wasmSymbols||{},...o.wasmSymbols||{}}),void 0!==o.wasmNative&&(o.wasmNative={...e.wasmNative||{},...o.wasmNative||{}}),void 0!==o.icu&&(o.icu={...e.icu||{},...o.icu||{}}),void 0!==o.satelliteResources&&(o.satelliteResources=ec(e.satelliteResources||{},o.satelliteResources||{})),void 0!==o.modulesAfterConfigLoaded&&(o.modulesAfterConfigLoaded={...e.modulesAfterConfigLoaded||{},...o.modulesAfterConfigLoaded||{}}),void 0!==o.modulesAfterRuntimeReady&&(o.modulesAfterRuntimeReady={...e.modulesAfterRuntimeReady||{},...o.modulesAfterRuntimeReady||{}}),void 0!==o.extensions&&(o.extensions={...e.extensions||{},...o.extensions||{}}),void 0!==o.vfs&&(o.vfs=ec(e.vfs||{},o.vfs||{})),Object.assign(e,o)}function ec(e,t){if(e===t)return e;for(let o in t)e[o]={...e[o],...t[o]};return e}function eu(){let e=eb.config;if(e.environmentVariables=e.environmentVariables||{},e.runtimeOptions=e.runtimeOptions||[],e.resources=e.resources||{assembly:{},jsModuleNative:{},jsModuleWorker:{},jsModuleRuntime:{},wasmNative:{},vfs:{},satelliteResources:{}},e.assets)for(let t of(c("config.assets is deprecated, use config.resources instead"),e.assets)){let o={};o[t.name]=t.hash||"";let r={};switch(t.behavior){case"assembly":r.assembly=o;break;case"pdb":r.pdb=o;break;case"resource":r.satelliteResources={},r.satelliteResources[t.culture]=o;break;case"icu":r.icu=o;break;case"symbols":r.wasmSymbols=o;break;case"vfs":r.vfs={},r.vfs[t.virtualPath]=o;break;case"dotnetwasm":r.wasmNative=o;break;case"js-module-threads":r.jsModuleWorker=o;break;case"js-module-runtime":r.jsModuleRuntime=o;break;case"js-module-native":r.jsModuleNative=o;break;case"js-module-dotnet":break;default:throw Error(`Unexpected behavior ${t.behavior} of asset ${t.name}`)}el(e.resources,r)}eb.assertAfterExit=e.assertAfterExit=e.assertAfterExit||!eh,e.debugLevel,void 0===e.cachedResourcesPurgeDelay&&(e.cachedResourcesPurgeDelay=1e4),e.diagnosticTracing,e.applicationCulture&&(e.environmentVariables.LANG=`${e.applicationCulture}.UTF-8`),eg.diagnosticTracing=eb.diagnosticTracing=!!e.diagnosticTracing,eg.waitForDebugger=e.waitForDebugger,e.startupMemoryCache=!!e.startupMemoryCache,e.startupMemoryCache&&eg.waitForDebugger&&(c("Disabling startupMemoryCache because waitForDebugger is set"),e.startupMemoryCache=!1),eg.enablePerfMeasure=!!e.browserProfilerOptions&&globalThis.performance&&"function"==typeof globalThis.performance.measure,eb.maxParallelDownloads=e.maxParallelDownloads||eb.maxParallelDownloads,eb.enableDownloadRetry=void 0!==e.enableDownloadRetry?e.enableDownloadRetry:eb.enableDownloadRetry}let ed=!1,ef="object"==typeof process&&"object"==typeof process.versions&&"string"==typeof process.versions.node,em="function"==typeof importScripts,eh="object"==typeof window||em&&!ef,ep=!eh&&!ef&&!em,eg={},eb={},ew={},ey={},ev=!1,e_={mono:{},binding:{},internal:ey,module:{},loaderHelpers:eb,runtimeHelpers:eg,api:ew};function eE(e,t){if(e)return;let o=Error("Assert failed: "+("function"==typeof t?t():t));eg.abort(o)}function eR(){return void 0!==eb.exitCode}function ej(){return eg.runtimeReady&&!eR()}function eS(t,o){var r,n;let i=o&&"object"==typeof o;t=i&&"number"==typeof o.status?o.status:t;let s=i&&"string"==typeof o.message?o.message:""+o;if((o=i?o:eg.ExitStatus?new eg.ExitStatus(t):Error("Exit with code "+t+" "+s)).status=t,o.message||(o.message=s),o.stack||(o.stack=Error().stack||""),o.silent=!0,!eR()){try{eg.runtimeReady||(c("abort_startup, reason: "+o),n=o,eb.allDownloadsQueued.promise_control.reject(n),eb.afterConfigLoaded.promise_control.reject(n),eb.wasmDownloadPromise.promise_control.reject(n),eb.runtimeModuleLoaded.promise_control.reject(n),eb.memorySnapshotSkippedOrDone.promise_control.reject(n),eg.dotnetReady&&(eg.dotnetReady.promise_control.reject(n),eg.afterInstantiateWasm.promise_control.reject(n),eg.beforePreInit.promise_control.reject(n),eg.afterPreInit.promise_control.reject(n),eg.afterPreRun.promise_control.reject(n),eg.beforeOnRuntimeInitialized.promise_control.reject(n),eg.afterOnRuntimeInitialized.promise_control.reject(n),eg.afterPostRun.promise_control.reject(n))),function(t,o){if(0!==t&&o&&(eg.ExitStatus&&o instanceof eg.ExitStatus?c:m)("string"==typeof o?o:o.stack&&o.message?eg.stringify_as_error_with_stack?eg.stringify_as_error_with_stack(o):o.message+"\n"+o.stack:JSON.stringify(o)),eb.config&&eb.config.logExitCode)if(e){let o=()=>{0==e.bufferedAmount?d("WASM EXIT "+t):globalThis.setTimeout(o,100)};o()}else d("WASM EXIT "+t)}(t,o),function(e){if(eh&&eb.config&&eb.config.appendElementOnExit){let t=document.createElement("label");t.id="tests_done",e&&(t.style.background="red"),t.innerHTML=e.toString(),document.body.appendChild(t)}}(t),eg.jiterpreter_dump_stats&&eg.jiterpreter_dump_stats(!1),0===t&&(null==(r=eb.config)?void 0:r.interopCleanupOnExit)&&eg.forceDisposeProxies(!0,!0)}catch(e){f("mono_exit failed",e)}eb.exitCode=t}if(eb.config&&eb.config.asyncFlushOnExit&&0===t)throw(async()=>{try{await async function(){try{let e=await import("process"),t=e=>new Promise((t,o)=>{e.on("error",e=>o(e)),e.write("",function(){t()})}),o=t(e.stderr),r=t(e.stdout);await Promise.all([r,o])}catch(e){m(`flushing std* streams failed: ${e}`)}}()}finally{ex(t,o)}})(),o;ex(t,o)}function ex(e,t){if(ej()&&eg.mono_wasm_exit&&eg.mono_wasm_exit(e),0!==e||!eh)throw ef&&ey.process?ey.process.exit(e):eg.quit&&eg.quit(e,t),t}eg=e_.runtimeHelpers,eb=e_.loaderHelpers,ew=e_.api,ey=e_.internal,Object.assign(ew,{INTERNAL:ey,invokeLibraryInitializers:en}),Object.assign(e_.module,{disableDotnet6Compatibility:!0,config:{environmentVariables:{}}}),Object.assign(eg,{mono_wasm_bindings_is_ready:!1,javaScriptExports:{},config:e_.module.config,diagnosticTracing:!1,abort:e=>{throw e}}),Object.assign(eb,{gitHash:"efd5742bb5dd1677fbbbeb277bcfb5c9025548e5",config:e_.module.config,diagnosticTracing:!1,maxParallelDownloads:16,enableDownloadRetry:!0,assertAfterExit:!eh,_loaded_files:[],loadedFiles:[],loadedAssemblies:[],libraryInitializers:[],actual_downloaded_assets_count:0,actual_instantiated_assets_count:0,expected_downloaded_assets_count:0,expected_instantiated_assets_count:0,afterConfigLoaded:a(),allDownloadsQueued:a(),wasmDownloadPromise:a(),runtimeModuleLoaded:a(),memorySnapshotSkippedOrDone:a(),is_exited:eR,is_runtime_running:ej,assert_runtime_running:function(){eg.runtimeReady||eE(!1,"mono runtime didn't start yet"),eb.assertAfterExit&&eR()&&eE(!1,`mono runtime already exited with ${eb.exitCode}`)},mono_exit:eS,createPromiseController:a,getPromiseController:function(e){return e[s]},assertIsControllablePromise:function(e){void 0!==e[s]||eE(!1,"Promise is not controllable")},mono_download_assets:J,resolve_single_asset_path:q,setup_proxy_console:h,logDownloadStatsToConsole:function(){let e=Object.values(b),t=Object.values(g),o=v(e),r=v(t),n=o+r;if(0===n)return;let i=eh?"%c":"",s=eb.config.linkerEnabled?"":"\nThis application was built with linking (tree shaking) disabled. \nPublished applications will be significantly smaller if you install wasm-tools workload. \nSee also https://aka.ms/dotnet-wasm-features";console.groupCollapsed(`${i}dotnet${i} Loaded ${_(n)} resources${i}${s}`,...eh?["background: purple; color: white; padding: 1px 3px; border-radius: 3px;","font-weight: bold;","font-weight: normal;"]:[]),e.length&&(console.groupCollapsed(`Loaded ${_(o)} resources from cache`),console.table(b),console.groupEnd()),t.length&&(console.groupCollapsed(`Loaded ${_(r)} resources from network`),console.table(g),console.groupEnd()),console.groupEnd()},purgeUnusedCacheEntriesAsync:w,retrieve_asset_download:H,invokeLibraryInitializers:en,isDebuggingSupported:function(){return!!globalThis.navigator&&(eb.isChromium||eb.isFirefox)},exceptions:n,simd:i});let eA=!1,eD=e_.module,eC=eD.config;async function eT(e){if("function"==typeof e){let t=e(e_.api);if(t.ready)throw Error("Module.ready couldn't be redefined.");Object.assign(eD,t),ea(eD,t)}else{if("object"!=typeof e)throw Error("Can't use moduleFactory callback of createDotnetRuntime function.");ea(eD,e)}return await async function(e){var t;if(ef){let e=await import("process");if(e.versions.node.split(".")[0]<14)throw Error(`NodeJS at '${e.execPath}' has too low version '${e.versions.node}', please use at least 14. See also https://aka.ms/dotnet-wasm-features`)}let o=import.meta.url,r=o.indexOf("?");if(r>0&&(eb.modulesUniqueQuery=o.substring(r)),eb.scriptUrl=o.replace(/\\/g,"/").replace(/[?#].*/,""),eb.scriptDirectory=(t=eb.scriptUrl).slice(0,t.lastIndexOf("/"))+"/",eb.locateFile=e=>"URL"in globalThis&&globalThis.URL!==R?new URL(e,eb.scriptDirectory).toString():D(e)?e:eb.scriptDirectory+e,eb.fetch_like=j,eb.out=console.log,eb.err=console.error,eb.onDownloadResourceProgress=e.onDownloadResourceProgress,eh&&globalThis.navigator){let e=globalThis.navigator,t=e.userAgentData&&e.userAgentData.brands;t&&t.length>0?eb.isChromium=t.some(e=>"Google Chrome"===e.brand||"Microsoft Edge"===e.brand||"Chromium"===e.brand):e.userAgent&&(eb.isChromium=e.userAgent.includes("Chrome"),eb.isFirefox=e.userAgent.includes("Firefox"))}ey.require=ef?await import("module").then(e=>e.createRequire(import.meta.url)):Promise.resolve(()=>{throw Error("require not supported")}),void 0===globalThis.URL&&(globalThis.URL=R)}(eD),eD.ENVIRONMENT_IS_PTHREAD?async function(){(function(){let e=new MessageChannel,t=e.port1,o=e.port2;t.addEventListener("message",e=>{var r;r=JSON.parse(e.data.config),eA?c("mono config already received"):(es(eb.config,r),eu(),c("mono config received"),eA=!0,eb.afterConfigLoaded.promise_control.resolve(eb.config),eh&&r.forwardConsoleLogsToWS&&void 0!==globalThis.WebSocket&&eb.setup_proxy_console("pthread-worker",console,self.location.href)),t.close(),o.close()},{once:!0}),t.start(),self.postMessage({__mono_message_please_dont_collide__:{monoCmd:"preload",port:o}},[o])})(),await eb.afterConfigLoaded.promise,function(){let e=eb.config;for(let t of(e.assets||eE(!1,"config.assets must be defined"),e.assets))V(t)}();let e=eO(),t=await Promise.all(e);return await ek(t),eD}():async function(){var e;eD.configSrc||eb.config&&0!==Object.keys(eb.config).length&&(eb.config.assets||eb.config.resources)||(eD.configSrc="./blazor.boot.json"),await async function(e){var t;let o=e.configSrc;if(ed)await eb.afterConfigLoaded.promise;else try{if(ed=!0,o&&(c("mono_wasm_load_config"),await async function(e){let t,o=eb.locateFile(e.configSrc),r=void 0!==eb.loadBootResource?eb.loadBootResource("manifest","blazor.boot.json",o,"","manifest"):i(o);t=r?"string"==typeof r?await i(S(r)):await r:await i(Y(o,"manifest"));let n=await async function(e){let t=eb.config,o=await e.json();t.applicationEnvironment||(o.applicationEnvironment=e.headers.get("Blazor-Environment")||e.headers.get("DotNet-Environment")||"Production"),o.environmentVariables||(o.environmentVariables={});let r=e.headers.get("DOTNET-MODIFIABLE-ASSEMBLIES");r&&(o.environmentVariables.DOTNET_MODIFIABLE_ASSEMBLIES=r);let n=e.headers.get("ASPNETCORE-BROWSER-TOOLS");return n&&(o.environmentVariables.__ASPNETCORE_BROWSER_TOOLS=n),o}(t);function i(e){return eb.fetch_like(e,{method:"GET",credentials:"include",cache:"no-cache"})}es(eb.config,n)}(e)),eu(),await er(null==(t=eb.config.resources)?void 0:t.modulesAfterConfigLoaded),await en("onRuntimeConfigLoaded",[eb.config]),e.onConfigLoaded)try{await e.onConfigLoaded(eb.config,ew),eu()}catch(e){throw m("onConfigLoaded() failed",e),e}eu(),eb.config.startupMemoryCache&&e.instantiateWasm&&eE(!1,"startupMemoryCache is not supported with Module.instantiateWasm"),eb.afterConfigLoaded.promise_control.resolve(eb.config),eb.config.startupMemoryCache||eb.memorySnapshotSkippedOrDone.promise_control.resolve()}catch(r){let t=`Failed to load config file ${o} ${r} ${null==r?void 0:r.stack}`;throw eb.config=e.config=Object.assign(eb.config,{message:t,error:r,isError:!0}),eS(1,Error(t)),r}}(eD),function(){let e=eb.config,t=[];if(e.assets)for(let t of e.assets)"object"!=typeof t&&eE(!1,`asset must be object, it was ${typeof t} : ${t}`),"string"!=typeof t.behavior&&eE(!1,"asset behavior must be known string"),"string"!=typeof t.name&&eE(!1,"asset name must be string"),t.resolvedUrl&&"string"!=typeof t.resolvedUrl&&eE(!1,"asset resolvedUrl could be string"),t.hash&&"string"!=typeof t.hash&&eE(!1,"asset resolvedUrl could be string"),t.pendingDownload&&"object"!=typeof t.pendingDownload&&eE(!1,"asset pendingDownload could be object"),z[t.behavior]?O.push(t):k.push(t),V(t);else if(e.resources){let o=e.resources;if(o.wasmNative||eE(!1,"resources.wasmNative must be defined"),o.jsModuleNative||eE(!1,"resources.jsModuleNative must be defined"),o.jsModuleRuntime||eE(!1,"resources.jsModuleRuntime must be defined"),B(k,o.wasmNative,"dotnetwasm"),B(t,o.jsModuleNative,"js-module-native"),B(t,o.jsModuleRuntime,"js-module-runtime"),o.assembly)for(let e in o.assembly)O.push({name:e,hash:o.assembly[e],behavior:"assembly"});if(0!=e.debugLevel&&eb.isDebuggingSupported()&&o.pdb)for(let e in o.pdb)O.push({name:e,hash:o.pdb[e],behavior:"pdb"});if(e.loadAllSatelliteResources&&o.satelliteResources)for(let e in o.satelliteResources)for(let t in o.satelliteResources[e])O.push({name:t,hash:o.satelliteResources[e][t],behavior:"resource",culture:e});if(o.vfs)for(let e in o.vfs)for(let t in o.vfs[e])k.push({name:t,hash:o.vfs[e][t],behavior:"vfs",virtualPath:e});let r=E(e);if(r&&o.icu)for(let e in o.icu)e===r&&O.push({name:e,hash:o.icu[e],behavior:"icu",loadRemote:!0});if(o.wasmSymbols)for(let e in o.wasmSymbols)k.push({name:e,hash:o.wasmSymbols[e],behavior:"symbols"})}if(e.appsettings)for(let t=0;t<e.appsettings.length;t++){let o=e.appsettings[t],r=function(e){let t=e.lastIndexOf("/");return t>=0&&t++,e.substring(t)}(o);"appsettings.json"!==r&&r!==`appsettings.${e.applicationEnvironment}.json`||k.push({name:o,behavior:"vfs",noCache:!0,useCredentials:!0})}e.assets=[...O,...k,...t]}();let o=eO();await async function(){t=await async function(e){if(!eb.config.cacheBootResources||void 0===globalThis.caches||void 0===globalThis.document||!1===window.isSecureContext)return null;let t=`dotnet-resources-${globalThis.document.baseURI.substring(globalThis.document.location.origin.length)}`;try{return await caches.open(t)||null}catch(e){return null}}()}(),Q(q("dotnetwasm")).then(e=>{eb.wasmDownloadPromise.promise_control.resolve(e)}).catch(e=>{eS(1,e)}),setTimeout(()=>{!function(){if(eb.preferredIcuAsset=E(eb.config),eb.invariantMode="invariant"==eb.config.globalizationMode,!eb.invariantMode)if(eb.preferredIcuAsset)c("ICU data archive(s) available, disabling invariant mode");else{if("custom"===eb.config.globalizationMode||"all"===eb.config.globalizationMode||"sharded"===eb.config.globalizationMode){let e="invariant globalization mode is inactive and no ICU data archives are available";throw m(`ERROR: ${e}`),Error(e)}c("ICU data archive(s) not available, using invariant globalization mode"),eb.invariantMode=!0,eb.preferredIcuAsset=null}let e="DOTNET_SYSTEM_GLOBALIZATION_INVARIANT",t="DOTNET_SYSTEM_GLOBALIZATION_HYBRID",o=eb.config.environmentVariables;if(void 0===o[t]&&"hybrid"===eb.config.globalizationMode?o[t]="1":void 0===o[e]&&eb.invariantMode&&(o[e]="1"),void 0===o.TZ)try{let e=Intl.DateTimeFormat().resolvedOptions().timeZone||null;e&&(o.TZ=e)}catch(e){u("failed to detect timezone, will fallback to UTC")}}(),J()},0);let r=await Promise.all(o);return await ek(r),await eg.dotnetReady.promise,await er(null==(e=eb.config.resources)?void 0:e.modulesAfterRuntimeReady),await en("onRuntimeReady",[e_.api]),ew}()}function eO(){let e,t,o=q("js-module-runtime"),r=q("js-module-native");return"object"==typeof o.moduleExports?e=o.moduleExports:(c(`Attempting to import '${o.resolvedUrl}' for ${o.name}`),e=import(o.resolvedUrl)),"object"==typeof r.moduleExports?t=r.moduleExports:(c(`Attempting to import '${r.resolvedUrl}' for ${r.name}`),t=import(r.resolvedUrl)),[e,t]}async function ek(e){let{initializeExports:t,initializeReplacements:o,configureRuntimeStartup:r,configureEmscriptenStartup:n,configureWorkerStartup:i,setRuntimeGlobals:s,passEmscriptenInternals:a}=e[0],{default:l}=e[1];s(e_),t(e_),await r(e_.module),eb.runtimeModuleLoaded.promise_control.resolve(),l(e=>(Object.assign(eD,{ready:e.ready,__dotnet_runtime:{initializeReplacements:o,configureEmscriptenStartup:n,configureWorkerStartup:i,passEmscriptenInternals:a}}),eD))}let eM=new class{withModuleConfig(e){try{return ea(eD,e),this}catch(e){throw eS(1,e),e}}withOnConfigLoaded(e){try{return ea(eD,{onConfigLoaded:e}),this}catch(e){throw eS(1,e),e}}withConsoleForwarding(){try{return es(eC,{forwardConsoleLogsToWS:!0}),this}catch(e){throw eS(1,e),e}}withExitOnUnhandledError(){let e=function(e,t){e.preventDefault();try{t&&t.silent||eS(1,t)}catch(e){}};try{return eh&&(window.addEventListener("unhandledrejection",t=>e(t,t.reason)),window.addEventListener("error",t=>e(t,t.error))),this}catch(e){throw eS(1,e),e}}withAsyncFlushOnExit(){try{return es(eC,{asyncFlushOnExit:!0}),this}catch(e){throw eS(1,e),e}}withExitCodeLogging(){try{return es(eC,{logExitCode:!0}),this}catch(e){throw eS(1,e),e}}withElementOnExit(){try{return es(eC,{appendElementOnExit:!0}),this}catch(e){throw eS(1,e),e}}withInteropCleanupOnExit(){try{return es(eC,{interopCleanupOnExit:!0}),this}catch(e){throw eS(1,e),e}}withAssertAfterExit(){try{return es(eC,{assertAfterExit:!0}),this}catch(e){throw eS(1,e),e}}withWaitingForDebugger(e){try{return es(eC,{waitForDebugger:e}),this}catch(e){throw eS(1,e),e}}withStartupMemoryCache(e){try{return es(eC,{startupMemoryCache:e}),this}catch(e){throw eS(1,e),e}}withConfig(e){try{return es(eC,e),this}catch(e){throw eS(1,e),e}}withConfigSrc(e){try{return e&&"string"==typeof e||eE(!1,"must be file path or URL"),ea(eD,{configSrc:e}),this}catch(e){throw eS(1,e),e}}withVirtualWorkingDirectory(e){try{return e&&"string"==typeof e||eE(!1,"must be directory path"),this.virtualWorkingDirectory=e,this}catch(e){throw eS(1,e),e}}withEnvironmentVariable(e,t){try{let o={};return o[e]=t,es(eC,{environmentVariables:o}),this}catch(e){throw eS(1,e),e}}withEnvironmentVariables(e){try{return e&&"object"==typeof e||eE(!1,"must be dictionary object"),es(eC,{environmentVariables:e}),this}catch(e){throw eS(1,e),e}}withDiagnosticTracing(e){try{return"boolean"!=typeof e&&eE(!1,"must be boolean"),es(eC,{diagnosticTracing:e}),this}catch(e){throw eS(1,e),e}}withDebugging(e){try{return e&&"number"==typeof e||eE(!1,"must be number"),es(eC,{debugLevel:e}),this}catch(e){throw eS(1,e),e}}withApplicationArguments(...e){try{return e&&Array.isArray(e)||eE(!1,"must be array of strings"),this.applicationArguments=e,this}catch(e){throw eS(1,e),e}}withRuntimeOptions(e){try{return e&&Array.isArray(e)||eE(!1,"must be array of strings"),es(eC,{runtimeOptions:e}),this}catch(e){throw eS(1,e),e}}withMainAssembly(e){try{return es(eC,{mainAssemblyName:e}),this}catch(e){throw eS(1,e),e}}withApplicationArgumentsFromQuery(){try{if(!globalThis.window)throw Error("Missing window to the query parameters from");if(void 0===globalThis.URLSearchParams)throw Error("URLSearchParams is supported");let e=new URLSearchParams(window.location.search).getAll("arg");return this.withApplicationArguments(...e)}catch(e){throw eS(1,e),e}}withApplicationEnvironment(e){try{return es(eC,{applicationEnvironment:e}),this}catch(e){throw eS(1,e),e}}withApplicationCulture(e){try{return es(eC,{applicationCulture:e}),this}catch(e){throw eS(1,e),e}}withResourceLoader(e){try{return eb.loadBootResource=e,this}catch(e){throw eS(1,e),e}}async create(){try{if(this.instance||(eh&&eD.config.forwardConsoleLogsToWS&&void 0!==globalThis.WebSocket&&h("main",globalThis.console,globalThis.location.origin),eD||eE(!1,"Null moduleConfig"),eD.config||eE(!1,"Null moduleConfig.config"),await eT(eD),this.instance=e_.api),this.virtualWorkingDirectory){let e=this.instance.Module.FS,t=e.stat(this.virtualWorkingDirectory);t&&e.isDir(t.mode)||eE(!1,`Could not find working directory ${this.virtualWorkingDirectory}`),e.chdir(this.virtualWorkingDirectory)}return this.instance}catch(e){throw eS(1,e),e}}async run(){try{if(eD.config||eE(!1,"Null moduleConfig.config"),this.instance||await this.create(),eD.config.mainAssemblyName||eE(!1,"Null moduleConfig.config.mainAssemblyName"),!this.applicationArguments)if(ef){let e=await import("process");this.applicationArguments=e.argv.slice(2)}else this.applicationArguments=[];return this.instance.runMainAndExit(eD.config.mainAssemblyName,this.applicationArguments)}catch(e){throw eS(1,e),e}}},e$=eS,eI=eT;ep||"function"==typeof globalThis.URL||eE(!1,"This browser/engine doesn't support URL API. Please use a modern version. See also https://aka.ms/dotnet-wasm-features"),"function"!=typeof globalThis.BigInt64Array&&eE(!1,"This browser/engine doesn't support BigInt64Array API. Please use a modern version. See also https://aka.ms/dotnet-wasm-features");export{eI as default,eM as dotnet,e$ as exit};