@arcgis/core 5.1.0-next.106 → 5.1.0-next.107
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/arcgisGlobal.d.ts +5 -0
- package/assets/esri/core/workers/RemoteClient.js +1 -1
- package/assets/esri/core/workers/chunks/{b7a81fd4994eabba1869.js → 0c8e6ccb5a8174718d62.js} +1 -1
- package/assets/esri/core/workers/chunks/{be817be7c81fb630122f.js → 17604cbd4d24158e2c16.js} +1 -1
- package/assets/esri/core/workers/chunks/{065dd2fdc834146423c7.js → 33ec193e6d7a0cb9d8dd.js} +1 -1
- package/assets/esri/core/workers/chunks/{f9324420f2c6ac240f63.js → 37c63570c0b4981cd519.js} +1 -1
- package/assets/esri/core/workers/chunks/{15920af0c4f46773b06e.js → 502c3da8c49bf885f51d.js} +1 -1
- package/assets/esri/core/workers/chunks/518046d2b95a7590a092.js +1 -0
- package/assets/esri/core/workers/chunks/{aaad0d3e82ed917d3886.js → 547dc6ccb989bd962661.js} +1 -1
- package/assets/esri/core/workers/chunks/{bd59cb5abc67e46f1b2c.js → 55334ad3618899cdbf78.js} +2 -2
- package/assets/esri/core/workers/chunks/{d859c046a3ea42530bff.js → 56d9d3f108ff6e719dd4.js} +1 -1
- package/assets/esri/core/workers/chunks/75a7de23c05435ec7649.js +1 -0
- package/assets/esri/core/workers/chunks/7b66691d133dabd87ce6.js +1 -0
- package/assets/esri/core/workers/chunks/{dcba6c766eee8b90381a.js → 8557dd9ef336b23f768f.js} +1 -1
- package/assets/esri/core/workers/chunks/9234a293d61e134f121f.js +1 -0
- package/assets/esri/core/workers/chunks/{a8ae00e06f98e04aee8e.js → ac408c62565e2c8b5975.js} +1 -1
- package/assets/esri/core/workers/chunks/{f7fe17a22390a24d6df8.js → b69d1d528e271568cbd8.js} +2 -2
- package/assets/esri/core/workers/chunks/{0cc74bc3772be51cabc1.js → bbaf8baa3ca6195467e4.js} +1 -1
- package/assets/esri/core/workers/chunks/{b9850fe7dcdaed0c327c.js → cdb48d198145493f76f3.js} +1 -1
- package/assets/esri/core/workers/chunks/{63ea4191d441efd2f146.js → d4014213c476bf8099af.js} +1 -1
- package/assets/esri/geometry/support/pe-wasm.wasm +0 -0
- package/assets/esri/libs/lyr3d/lyr3DMain.wasm +0 -0
- package/assets/esri/libs/lyr3d/lyr3DWorker.wasm +0 -0
- package/assets/esri/themes/base/widgets/_Sketch.scss +1 -24
- package/assets/esri/themes/dark/main.css +1 -1
- package/assets/esri/themes/light/main.css +1 -1
- package/assets/esri/themes/light/view.css +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_ar.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_bg.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_bs.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_ca.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_cs.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_da.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_de.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_el.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_es.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_et.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_fi.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_fr.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_he.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_hr.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_hu.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_id.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_it.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_ja.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_ko.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_lt.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_lv.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_nl.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_no.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_pl.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_pt-BR.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_pt-PT.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_ro.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_ru.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_sk.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_sl.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_sr.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_sv.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_th.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_tr.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_uk.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_vi.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_zh-CN.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_zh-HK.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_zh-TW.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_en.json +1 -1
- package/assets/esri/widgets/Sketch/t9n/Sketch.json +1 -1
- package/assets/esri/widgets/Sketch/t9n/Sketch_en.json +1 -1
- package/chunks/Fog.glsl.js +3 -3
- package/chunks/GlowComposition.glsl.js +38 -56
- package/chunks/OITDimOpaque.glsl.js +8 -3
- package/chunks/SimpleAtmosphere.glsl.js +3 -3
- package/chunks/lyr3DWorker.js +1 -1
- package/chunks/pe-wasm.js +1 -1
- package/config.js +1 -1
- package/geometry/support/WKIDUnitConversion.js +1 -1
- package/identity/IdentityManagerBase.js +1 -1
- package/kernel.js +1 -1
- package/layers/raster/datasets/MRFRaster.js +1 -1
- package/layers/video/VideoController.js +1 -1
- package/package.json +3 -3
- package/rest/networks/circuits/support/CircuitVerifyResult.js +1 -1
- package/rest/networks/circuits/support/VerifyCircuitsResult.js +1 -1
- package/support/revision.js +1 -1
- package/views/2d/engine/webgl/shaders/sources/shaderRepository.js +1 -1
- package/views/3d/analysis/LineOfSight/LineOfSightAuthoringUtils.js +1 -1
- package/views/3d/analysis/LineOfSight/LineOfSightIntersectionResult.js +1 -1
- package/views/3d/analysis/LineOfSight/LineOfSightRayIntersector.js +1 -1
- package/views/3d/analysis/LineOfSight/LineOfSightTool.js +1 -1
- package/views/3d/analysis/Viewshed/ViewshedConfiguration.js +1 -1
- package/views/3d/analysis/Viewshed/ViewshedPlacementController.js +1 -1
- package/views/3d/analysis/Viewshed/ViewshedTool.js +1 -1
- package/views/3d/analysis/VolumeMeasurement/VolumeMeasurementShiftTool.js +1 -1
- package/views/3d/environment/FoggyWeather.js +1 -1
- package/views/3d/layers/IntegratedMesh3DTilesLayerView3D.js +1 -1
- package/views/3d/layers/i3s/Intersector.js +1 -1
- package/views/3d/support/ResourceController.js +1 -1
- package/views/3d/support/gaussianSplatting/GaussianSplatIntersectionHandler.js +1 -1
- package/views/3d/webgl-engine/effects/blit/Blit.js +1 -1
- package/views/3d/webgl-engine/effects/fog/Fog.js +1 -1
- package/views/3d/webgl-engine/effects/glow/Glow.js +1 -1
- package/views/3d/webgl-engine/effects/glow/GlowCompositionTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/lib/ShadowAccumulator.js +1 -1
- package/views/SceneView.js +1 -1
- package/views/draw/DrawTool.d.ts +77 -0
- package/views/draw/support/editingSessionUtils.js +1 -1
- package/views/draw/support/managers/PluginLifecycleManager.d.ts +10 -0
- package/views/interactive/InteractiveToolBase.d.ts +11 -0
- package/views/interactive/editGeometry/interfaces.d.ts +8 -0
- package/views/interactive/interfaces.d.ts +20 -0
- package/views/webgl/capabilities/load.js +1 -1
- package/widgets/CoordinateConversion/CoordinateConversionViewModel.d.ts +9 -1
- package/widgets/CoordinateConversion/CoordinateConversionViewModel.js +1 -1
- package/widgets/Sketch/SketchViewModel.d.ts +67 -2
- package/widgets/Sketch/SketchViewModel.js +1 -1
- package/widgets/Sketch/VisibleElements.d.ts +19 -1
- package/widgets/Sketch/VisibleElements.js +1 -1
- package/widgets/Sketch/support/OperationHandle.js +1 -1
- package/widgets/Sketch/support/PluginManager.d.ts +12 -0
- package/widgets/Sketch/support/PluginManager.js +1 -1
- package/widgets/Sketch.js +1 -1
- package/widgets/support/SelectionToolbar/SelectionToolbarViewModel.d.ts +81 -0
- package/widgets/support/SelectionToolbar/types.d.ts +4 -0
- package/assets/esri/core/workers/chunks/2b3a8a53cd68f666676b.js +0 -1
- package/assets/esri/core/workers/chunks/2ecb21c402cdd8c82533.js +0 -1
- package/assets/esri/core/workers/chunks/7e02e5c6979090fe3ea7.js +0 -1
- package/assets/esri/core/workers/chunks/fae2c8f053927559fff0.js +0 -1
- /package/assets/esri/core/workers/chunks/{bd59cb5abc67e46f1b2c.js.LICENSE.txt → 55334ad3618899cdbf78.js.LICENSE.txt} +0 -0
- /package/assets/esri/core/workers/chunks/{f7fe17a22390a24d6df8.js.LICENSE.txt → b69d1d528e271568cbd8.js.LICENSE.txt} +0 -0
|
@@ -1,57 +1,39 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import{normalize as e}from"../core/arrayUtils.js";import{ReadDepth as o}from"../views/3d/webgl-engine/core/shaderLibrary/output/ReadDepth.glsl.js";import{Gamma as r}from"../views/3d/webgl-engine/core/shaderLibrary/shading/Gamma.glsl.js";import{FloatPassUniform as i}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{FloatsPassUniform as s}from"../views/3d/webgl-engine/core/shaderModules/FloatsPassUniform.js";import{
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
emission = glowLod == 0 ? lodFactor0 * lod0 : glowLod == 1 ? lodFactor1 * lod1 : glowLod == 2 ? lodFactor2 * lod2 : glowLod == 3 ? lodFactor3 * lod3 : glowLod == 4 ? lodFactor4 * lod4 : glowLod == 5 ? lodFactor5 * lod5 : emission;
|
|
41
|
-
|
|
42
|
-
fragEmission.rgb = emission.rgb * floatBlendOutputScale + ditherNoise(vec4(emission, color.a));
|
|
43
|
-
|
|
44
|
-
// tonemapping is only applied to the emissive part since main color values are not in HDR.
|
|
45
|
-
${l(v,"emission = tonemapKhronosNeutral(emission, 1.0);")}
|
|
46
|
-
|
|
47
|
-
fragColor = delinearizeGamma(vec4(color.rgb + emission.rgb, color.w));
|
|
48
|
-
`),m):(x.main.add(a`
|
|
49
|
-
vec4 color = texture(colorTexture, uv);
|
|
50
|
-
color = vec4(linearizeGamma(color.rgb), color.a);
|
|
51
|
-
|
|
52
|
-
// emission is already in linear color space here.
|
|
53
|
-
vec3 emission = texture(emissionTexture, uv).rgb * floatBlendInputScale;
|
|
54
|
-
|
|
55
|
-
${l(v,"emission = tonemapKhronosNeutral(emission, 1.0);")}
|
|
56
|
-
fragColor = delinearizeGamma(vec4(color.rgb + emission, color.w));
|
|
57
|
-
`),m)}class v{constructor(o,r){this.preset=o,e(o,r)}}function b(e,o,r=1){return[e[0]*(1-r)+o[0]*r,e[1]*(1-r)+o[1]*r,e[2]*(1-r)+o[2]*r,e[3]*(1-r)+o[3]*r,e[4]*(1-r)+o[4]*r,e[5]*(1-r)+o[5]*r]}const D=Object.freeze(Object.defineProperty({__proto__:null,GlowCompositionPassParameters:x,GlowLodFactors:v,build:h,mixPreset:b},Symbol.toStringTag,{value:"Module"}));export{D as G,x as a,v as b,h as c,b as m};
|
|
2
|
+
import{normalize as e}from"../core/arrayUtils.js";import{ReadDepth as o}from"../views/3d/webgl-engine/core/shaderLibrary/output/ReadDepth.glsl.js";import{Gamma as r}from"../views/3d/webgl-engine/core/shaderLibrary/shading/Gamma.glsl.js";import{FloatPassUniform as i}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{FloatsPassUniform as s}from"../views/3d/webgl-engine/core/shaderModules/FloatsPassUniform.js";import{glsl as l}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{IntegerPassUniform as a}from"../views/3d/webgl-engine/core/shaderModules/IntegerPassUniform.js";import{Texture2DBindUniform as t}from"../views/3d/webgl-engine/core/shaderModules/Texture2DBindUniform.js";import{Texture2DPassUniform as n}from"../views/3d/webgl-engine/core/shaderModules/Texture2DPassUniform.js";import{DistanceFalloffPassParameters as d,getDistanceFalloff as m}from"../views/3d/webgl-engine/effects/raymarching/DistanceFalloff.glsl.js";import{ditherNoise as c}from"../views/3d/webgl-engine/shaders/ditherNoise.glsl.js";import{oitResolution as p}from"../views/3d/webgl-engine/shaders/oitResolution.glsl.js";import{ScreenSpacePassAtmosphere as u}from"../views/3d/webgl-engine/shaders/ScreenSpacePassAtmosphere.glsl.js";import{ToneMapping as g}from"../views/3d/webgl-engine/shaders/ToneMapping.glsl.js";import{ShaderBuilder as f}from"../views/webgl/ShaderBuilder.js";class x extends d{constructor(){super(...arguments),this.glowLod=-1,this.minDisperse=new v([32,16,8,4,2,1],1),this.maxDisperse=new v([0,.27,.6,1.05,1.58,2.1],6),this.fogOpacity=1e-4}}function w(e){const d=new f,x=d.fragment;return d.include(u,{needUVs:!0,needEyeDirection:!0}),x.include(r),x.include(m),x.include(o),d.outputs.add("fragColor","vec4",0),d.outputs.add("fragEmission","vec3",1),x.include(g),x.include(p,e),x.include(c,e),x.uniforms.add(new n("colorTexture",e=>e.color),new n("emissionTexture",e=>e.emission)),e.blurEnabled?(x.uniforms.add(new t("depthTexture",e=>e.mainDepth),new i("fogOpacity",e=>e.fogOpacity),new n("lodTexture",e=>e.lodTexture?.getTexture()),new a("glowLod",e=>e.glowLod),new s("minDisperse",6,e=>e.minDisperse.preset),new s("maxDisperse",6,e=>e.maxDisperse.preset)).main.add(l`vec4 color = texture(colorTexture, uv);
|
|
3
|
+
color = vec4(linearizeGamma(color.rgb), color.a);
|
|
4
|
+
vec3 lod0 = texture(emissionTexture, uv).rgb * floatBlendInputScale;
|
|
5
|
+
vec3 lod1 = texture(lodTexture, uv, 1.0).rgb;
|
|
6
|
+
vec3 lod2 = texture(lodTexture, uv, 2.0).rgb;
|
|
7
|
+
vec3 lod3 = texture(lodTexture, uv, 3.0).rgb;
|
|
8
|
+
vec3 lod4 = texture(lodTexture, uv, 4.0).rgb;
|
|
9
|
+
vec3 lod5 = texture(lodTexture, uv, 5.0).rgb;
|
|
10
|
+
float terrainDepth = -1.0;
|
|
11
|
+
float depthSample = depthFromTexture(depthTexture, uv);
|
|
12
|
+
if(depthSample < 1.0 && depthSample > 0.0){
|
|
13
|
+
vec3 cameraSpaceRay = normalize(eyeDir);
|
|
14
|
+
cameraSpaceRay /= cameraSpaceRay.z;
|
|
15
|
+
cameraSpaceRay *= linearizeDepth(depthSample);
|
|
16
|
+
terrainDepth = max(0.0, length(cameraSpaceRay));
|
|
17
|
+
}
|
|
18
|
+
vec3 rayDir = normalize(worldRay);
|
|
19
|
+
float dispersionPerPixel = getDistanceFalloff(terrainDepth, rayDir, fogOpacity);
|
|
20
|
+
float lodFactor0 = mix(minDisperse[0], maxDisperse[0], dispersionPerPixel);
|
|
21
|
+
float lodFactor1 = mix(minDisperse[1], maxDisperse[1], dispersionPerPixel);
|
|
22
|
+
float lodFactor2 = mix(minDisperse[2], maxDisperse[2], dispersionPerPixel);
|
|
23
|
+
float lodFactor3 = mix(minDisperse[3], maxDisperse[3], dispersionPerPixel);
|
|
24
|
+
float lodFactor4 = mix(minDisperse[4], maxDisperse[4], dispersionPerPixel);
|
|
25
|
+
float lodFactor5 = mix(minDisperse[5], maxDisperse[5], dispersionPerPixel);
|
|
26
|
+
vec3 emission = lodFactor0 * lod0;
|
|
27
|
+
emission += lodFactor1 * lod1;
|
|
28
|
+
emission += lodFactor2 * lod2;
|
|
29
|
+
emission += lodFactor3 * lod3;
|
|
30
|
+
emission += lodFactor4 * lod4;
|
|
31
|
+
emission += lodFactor5 * lod5;
|
|
32
|
+
emission = glowLod == 0 ? lodFactor0 * lod0 : glowLod == 1 ? lodFactor1 * lod1 : glowLod == 2 ? lodFactor2 * lod2 : glowLod == 3 ? lodFactor3 * lod3 : glowLod == 4 ? lodFactor4 * lod4 : glowLod == 5 ? lodFactor5 * lod5 : emission;
|
|
33
|
+
fragEmission.rgb = emission.rgb * floatBlendOutputScale + ditherNoise(vec4(emission, color.a));
|
|
34
|
+
emission = tonemapKhronosNeutral(emission, 1.0);
|
|
35
|
+
fragColor = delinearizeGamma(vec4(color.rgb + emission.rgb, color.w));`),d):(x.main.add(l`vec4 color = texture(colorTexture, uv);
|
|
36
|
+
color = vec4(linearizeGamma(color.rgb), color.a);
|
|
37
|
+
vec3 emission = texture(emissionTexture, uv).rgb * floatBlendInputScale;
|
|
38
|
+
emission = tonemapKhronosNeutral(emission, 1.0);
|
|
39
|
+
fragColor = delinearizeGamma(vec4(color.rgb + emission, color.w));`),d)}class v{constructor(o,r){this.preset=o,e(o,r)}}function h(e,o,r=1){return[e[0]*(1-r)+o[0]*r,e[1]*(1-r)+o[1]*r,e[2]*(1-r)+o[2]*r,e[3]*(1-r)+o[3]*r,e[4]*(1-r)+o[4]*r,e[5]*(1-r)+o[5]*r]}const b=Object.freeze(Object.defineProperty({__proto__:null,GlowCompositionPassParameters:x,GlowLodFactors:v,build:w,mixPreset:h},Symbol.toStringTag,{value:"Module"}));export{b as G,x as a,v as b,w as c,h as m};
|
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import{ScreenSpacePass as e}from"../views/3d/webgl-engine/core/shaderLibrary/ScreenSpacePass.glsl.js";import{EmissionDimming as r}from"../views/3d/webgl-engine/core/shaderLibrary/util/EmissionDimming.glsl.js";import{glsl as s}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Texture2DPassUniform as o}from"../views/3d/webgl-engine/core/shaderModules/Texture2DPassUniform.js";import{oitResolution as i}from"../views/3d/webgl-engine/shaders/oitResolution.glsl.js";import{NoParameters as
|
|
3
|
-
|
|
2
|
+
import{ScreenSpacePass as e}from"../views/3d/webgl-engine/core/shaderLibrary/ScreenSpacePass.glsl.js";import{EmissionDimming as r}from"../views/3d/webgl-engine/core/shaderLibrary/util/EmissionDimming.glsl.js";import{glsl as s}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Texture2DPassUniform as o}from"../views/3d/webgl-engine/core/shaderModules/Texture2DPassUniform.js";import{oitResolution as i}from"../views/3d/webgl-engine/shaders/oitResolution.glsl.js";import{NoParameters as l}from"../views/webgl/NoParameters.js";import{ShaderBuilder as a}from"../views/webgl/ShaderBuilder.js";class n extends l{}function t(l){const n=new a;n.include(e),n.fragment.include(r),n.fragment.include(i,l);const{fragment:t,outputs:m}=n;return t.uniforms.add(new o("colorTexture",e=>e.colorTexture),new o("alphaTexture",e=>e.alphaTexture)),m.add("fragEmission","vec4",1),t.main.add(s`float srcAlpha = texture(alphaTexture, uv).r * floatBlendInputScale;
|
|
3
|
+
if(srcAlpha == 0.0) {
|
|
4
|
+
fragEmission = vec4(1.0);
|
|
5
|
+
return;
|
|
6
|
+
}
|
|
7
|
+
vec4 srcColor = texture(colorTexture, uv);
|
|
8
|
+
srcColor.rgb *= floatBlendInputScale / srcAlpha;
|
|
4
9
|
vec3 dimming = emissionDimming(srcColor.rgb, 1.0 - srcColor.a);
|
|
5
|
-
fragEmission = vec4(dimming, 0.0);`),
|
|
10
|
+
fragEmission = vec4(dimming, 0.0);`),n}const m=Object.freeze(Object.defineProperty({__proto__:null,OITDimOpaquePassParameters:n,build:t},Symbol.toStringTag,{value:"Module"}));export{m as O,n as a,t as b};
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import{create as e}from"../core/libs/gl-matrix-2/factories/vec2f64.js";import{create as o}from"../core/libs/gl-matrix-2/factories/vec3f64.js";import{Transform as i}from"../views/3d/webgl-engine/core/shaderLibrary/Transform.glsl.js";import{addMainLightDirection as r}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MainLighting.glsl.js";import{Float2PassUniform as t}from"../views/3d/webgl-engine/core/shaderModules/Float2PassUniform.js";import{Float3BindUniform as s}from"../views/3d/webgl-engine/core/shaderModules/Float3BindUniform.js";import{Float3PassUniform as n}from"../views/3d/webgl-engine/core/shaderModules/Float3PassUniform.js";import{FloatPassUniform as a}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{glsl as l}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Matrix4BindUniform as d}from"../views/3d/webgl-engine/core/shaderModules/Matrix4BindUniform.js";import{Texture2DPassUniform as c}from"../views/3d/webgl-engine/core/shaderModules/Texture2DPassUniform.js";import{NoParameters as m}from"../views/webgl/NoParameters.js";import{ShaderBuilder as f}from"../views/webgl/ShaderBuilder.js";class g extends m{constructor(){super(...arguments),this.texV=e(),this.altitudeFade=0,this.innerScale=0,this.undergroundFadeAlpha=0,this.silhouette=new p}}class p{constructor(){this.center=o(),this.v1=o(),this.v2=o()}}function
|
|
2
|
+
import{create as e}from"../core/libs/gl-matrix-2/factories/vec2f64.js";import{create as o}from"../core/libs/gl-matrix-2/factories/vec3f64.js";import{Transform as i}from"../views/3d/webgl-engine/core/shaderLibrary/Transform.glsl.js";import{addMainLightDirection as r}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MainLighting.glsl.js";import{Float2PassUniform as t}from"../views/3d/webgl-engine/core/shaderModules/Float2PassUniform.js";import{Float3BindUniform as s}from"../views/3d/webgl-engine/core/shaderModules/Float3BindUniform.js";import{Float3PassUniform as n}from"../views/3d/webgl-engine/core/shaderModules/Float3PassUniform.js";import{FloatPassUniform as a}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{glsl as l}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Matrix4BindUniform as d}from"../views/3d/webgl-engine/core/shaderModules/Matrix4BindUniform.js";import{Texture2DPassUniform as c}from"../views/3d/webgl-engine/core/shaderModules/Texture2DPassUniform.js";import{NoParameters as m}from"../views/webgl/NoParameters.js";import{ShaderBuilder as f}from"../views/webgl/ShaderBuilder.js";class g extends m{constructor(){super(...arguments),this.texV=e(),this.altitudeFade=0,this.innerScale=0,this.undergroundFadeAlpha=0,this.silhouette=new p}}class p{constructor(){this.center=o(),this.v1=o(),this.v2=o()}}function h(e){const o=new f,{vertex:m,fragment:g}=o;if(r(m),2===e.geometry)o.attributes.add("position","vec2"),o.varyings.add("color","vec4"),m.uniforms.add(new s("cameraPosition",e=>e.camera.eye),new a("undergroundFadeAlpha",e=>e.undergroundFadeAlpha)),m.main.add(l`float ndotl = dot(normalize(cameraPosition), mainLightDirection);
|
|
3
3
|
float lighting = max(0.0, smoothstep(-1.0, 0.8, 2.0 * ndotl));
|
|
4
4
|
color = vec4(vec3(lighting), undergroundFadeAlpha);
|
|
5
|
-
gl_Position = vec4(position.xy, 1.0, 1.0);`),g.main.add(l`fragColor = color;`);else{o.include(i),o.attributes.add("position","vec3"),o.varyings.add("vtc","vec2"),o.varyings.add("falloff","float");const r=1===e.geometry;m.uniforms.add(new d("proj",e=>e.camera.projectionMatrix),new d("view",e=>e.camera.viewMatrix)),r||(o.varyings.add("innerFactor","float"),m.uniforms.add(new n("silCircleCenter",e=>e.silhouette.center)
|
|
5
|
+
gl_Position = vec4(position.xy, 1.0, 1.0);`),g.main.add(l`fragColor = color;`);else{o.include(i),o.attributes.add("position","vec3"),o.varyings.add("vtc","vec2"),o.varyings.add("falloff","float");const r=1===e.geometry;m.uniforms.add(new d("proj",e=>e.camera.projectionMatrix),new d("view",e=>e.camera.viewMatrix)),r||(o.varyings.add("innerFactor","float"),m.uniforms.add(new n("silCircleCenter",e=>e.silhouette.center),new n("silCircleV1",e=>e.silhouette.v1),new n("silCircleV2",e=>e.silhouette.v2),new t("texV",e=>e.texV),new a("innerScale",e=>e.innerScale)));const s=6.2831853,f=1/128;m.main.add(l`
|
|
6
6
|
${r?l`
|
|
7
7
|
vec3 pos = position;
|
|
8
8
|
float ndotl = mainLightDirection.z;
|
|
@@ -25,4 +25,4 @@ gl_Position = vec4(position.xy, 1.0, 1.0);`),g.main.add(l`fragColor = color;`);e
|
|
|
25
25
|
vec4 innerColor = vec4(atmosphereColor.rgb, 1.0 - altitudeFade);
|
|
26
26
|
fragColor = mix(atmosphereColor, innerColor, smoothstep(0.0, 1.0, innerFactor));
|
|
27
27
|
`}
|
|
28
|
-
`)}return o}const
|
|
28
|
+
`)}return o}const u=Object.freeze(Object.defineProperty({__proto__:null,SilhouetteCircle:p,SimpleAtmospherePassParameters:g,build:h},Symbol.toStringTag,{value:"Module"}));export{p as S,u as a,g as b,h as c};
|
package/chunks/lyr3DWorker.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
async function r(r={}){var e,t,n=r,o="./this.program",a=(r,e)=>{throw e},i="",s="";function l(r){return n.locateFile?n.locateFile(r,s):s+r}try{s=new URL(".",i).href}catch{}e=async r=>{var e=await fetch(r,{credentials:"same-origin"});if(e.ok)return e.arrayBuffer();throw new Error(e.status+" : "+e.url)};var u,d,c,f,h,m,p,v,w,g,y,E,k,_,b=console.log.bind(console),F=console.error.bind(console),D=!1,T=!1;function S(){var r=xt.buffer;f=new Int8Array(r),m=new Int16Array(r),n.HEAPU8=h=new Uint8Array(r),p=new Uint16Array(r),v=new Int32Array(r),n.HEAPU32=w=new Uint32Array(r),g=new Float32Array(r),n.HEAPF64=y=new Float64Array(r),E=new BigInt64Array(r),k=new BigUint64Array(r)}function A(){if(n.preRun)for("function"==typeof n.preRun&&(n.preRun=[n.preRun]);n.preRun.length;)V(n.preRun.shift());j(U)}function P(){T=!0,n.noFSInit||Tr.initialized||Tr.init(),Xt.Z(),Tr.ignorePermissions=!1}function x(){if(n.postRun)for("function"==typeof n.postRun&&(n.postRun=[n.postRun]);n.postRun.length;)L(n.postRun.shift());j(O)}function C(r){n.onAbort?.(r),F(r="Aborted("+r+")"),D=!0,r+=". Build with -sASSERTIONS for more info.";var e=new WebAssembly.RuntimeError(r);throw c?.(e),e}function R(){return n.locateFile?l("lyr3DWorker.wasm"):new URL("lyr3DWorker.wasm","").href}function M(r){if(r==_&&u)return new Uint8Array(u);throw"both async and sync fetching of the wasm failed"}async function N(r){if(!u)try{var t=await e(r);return new Uint8Array(t)}catch{}return M(r)}async function z(r,e){try{var t=await N(r);return await WebAssembly.instantiate(t,e)}catch(n){F(`failed to asynchronously prepare wasm: ${n}`),C(n)}}async function B(r,e,t){if(!r)try{var n=fetch(e,{credentials:"same-origin"});return await WebAssembly.instantiateStreaming(n,t)}catch(o){F(`wasm streaming compile failed: ${o}`),F("falling back to ArrayBuffer instantiation")}return z(e,t)}function I(){return{a:Gt}}async function W(){function r(r,e){return qt(Xt=r.exports),S(),Xt}function e(e){return r(e.instance)}var t=I();return n.instantiateWasm?new Promise((e,o)=>{n.instantiateWasm(t,(t,n)=>{e(r(t))})}):(_??=R(),e(await B(u,_,t)))}class ${name="ExitStatus";constructor(r){this.message=`Program terminated with exit(${r})`,this.status=r}}var j=r=>{for(;r.length>0;)r.shift()(n)},O=[],L=r=>O.push(r),U=[],V=r=>U.push(r),H=!0,q=r=>At(r),X=()=>Pt();class G{constructor(r){this.excPtr=r,this.ptr=r-24}set_type(r){w[this.ptr+4>>2]=r}get_type(){return w[this.ptr+4>>2]}set_destructor(r){w[this.ptr+8>>2]=r}get_destructor(){return w[this.ptr+8>>2]}set_caught(r){r=r?1:0,f[this.ptr+12]=r}get_caught(){return 0!=f[this.ptr+12]}set_rethrown(r){r=r?1:0,f[this.ptr+13]=r}get_rethrown(){return 0!=f[this.ptr+13]}init(r,e){this.set_adjusted_ptr(0),this.set_type(r),this.set_destructor(e)}set_adjusted_ptr(r){w[this.ptr+16>>2]=r}get_adjusted_ptr(){return w[this.ptr+16>>2]}}var K=(r,e,t)=>{throw new G(r).init(e,t),r},Y=()=>{var r=v[+Ar.varargs>>2];return Ar.varargs+=4,r},J=Y,Q={isAbs:r=>"/"===r.charAt(0),splitPath:r=>/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(r).slice(1),normalizeArray:(r,e)=>{for(var t=0,n=r.length-1;n>=0;n--){var o=r[n];"."===o?r.splice(n,1):".."===o?(r.splice(n,1),t++):t&&(r.splice(n,1),t--)}if(e)for(;t;t--)r.unshift("..");return r},normalize:r=>{var e=Q.isAbs(r),t="/"===r.slice(-1);return(r=Q.normalizeArray(r.split("/").filter(r=>!!r),!e).join("/"))||e||(r="."),r&&t&&(r+="/"),(e?"/":"")+r},dirname:r=>{var e=Q.splitPath(r),t=e[0],n=e[1];return t||n?(n&&(n=n.slice(0,-1)),t+n):"."},basename:r=>r&&r.match(/([^\/]+|\/)\/*$/)[1],join:(...r)=>Q.normalize(r.join("/")),join2:(r,e)=>Q.normalize(r+"/"+e)},Z=()=>r=>crypto.getRandomValues(r),rr=r=>{(rr=Z())(r)},er={resolve:(...r)=>{for(var e="",t=!1,n=r.length-1;n>=-1&&!t;n--){var o=n>=0?r[n]:Tr.cwd();if("string"!=typeof o)throw new TypeError("Arguments to path.resolve must be strings");if(!o)return"";e=o+"/"+e,t=Q.isAbs(o)}return(t?"/":"")+(e=Q.normalizeArray(e.split("/").filter(r=>!!r),!t).join("/"))||"."},relative:(r,e)=>{function t(r){for(var e=0;e<r.length&&""===r[e];e++);for(var t=r.length-1;t>=0&&""===r[t];t--);return e>t?[]:r.slice(e,t-e+1)}r=er.resolve(r).slice(1),e=er.resolve(e).slice(1);for(var n=t(r.split("/")),o=t(e.split("/")),a=Math.min(n.length,o.length),i=a,s=0;s<a;s++)if(n[s]!==o[s]){i=s;break}var l=[];for(s=i;s<n.length;s++)l.push("..");return(l=l.concat(o.slice(i))).join("/")}},tr=globalThis.TextDecoder&&new TextDecoder,nr=(r,e,t,n)=>{var o=e+t;if(n)return o;for(;r[e]&&!(e>=o);)++e;return e},or=(r,e=0,t,n)=>{var o=nr(r,e,t,n);if(o-e>16&&r.buffer&&tr)return tr.decode(r.subarray(e,o));for(var a="";e<o;){var i=r[e++];if(128&i){var s=63&r[e++];if(192!=(224&i)){var l=63&r[e++];if((i=224==(240&i)?(15&i)<<12|s<<6|l:(7&i)<<18|s<<12|l<<6|63&r[e++])<65536)a+=String.fromCharCode(i);else{var u=i-65536;a+=String.fromCharCode(55296|u>>10,56320|1023&u)}}else a+=String.fromCharCode((31&i)<<6|s)}else a+=String.fromCharCode(i)}return a},ar=[],ir=r=>{for(var e=0,t=0;t<r.length;++t){var n=r.charCodeAt(t);n<=127?e++:n<=2047?e+=2:n>=55296&&n<=57343?(e+=4,++t):e+=3}return e},sr=(r,e,t,n)=>{if(!(n>0))return 0;for(var o=t,a=t+n-1,i=0;i<r.length;++i){var s=r.codePointAt(i);if(s<=127){if(t>=a)break;e[t++]=s}else if(s<=2047){if(t+1>=a)break;e[t++]=192|s>>6,e[t++]=128|63&s}else if(s<=65535){if(t+2>=a)break;e[t++]=224|s>>12,e[t++]=128|s>>6&63,e[t++]=128|63&s}else{if(t+3>=a)break;e[t++]=240|s>>18,e[t++]=128|s>>12&63,e[t++]=128|s>>6&63,e[t++]=128|63&s,i++}}return e[t]=0,t-o},lr=(r,e,t)=>{var n=ir(r)+1,o=new Array(n),a=sr(r,o,0,o.length);return o.length=a,o},ur=()=>{if(!ar.length){var r=null;if(globalThis.window?.prompt&&null!==(r=window.prompt("Input: "))&&(r+="\n"),!r)return null;ar=lr(r)}return ar.shift()},dr={ttys:[],init(){},shutdown(){},register(r,e){dr.ttys[r]={input:[],output:[],ops:e},Tr.registerDevice(r,dr.stream_ops)},stream_ops:{open(r){var e=dr.ttys[r.node.rdev];if(!e)throw new Tr.ErrnoError(43);r.tty=e,r.seekable=!1},close(r){r.tty.ops.fsync(r.tty)},fsync(r){r.tty.ops.fsync(r.tty)},read(r,e,t,n,o){if(!r.tty||!r.tty.ops.get_char)throw new Tr.ErrnoError(60);for(var a=0,i=0;i<n;i++){var s;try{s=r.tty.ops.get_char(r.tty)}catch(l){throw new Tr.ErrnoError(29)}if(void 0===s&&0===a)throw new Tr.ErrnoError(6);if(null==s)break;a++,e[t+i]=s}return a&&(r.node.atime=Date.now()),a},write(r,e,t,n,o){if(!r.tty||!r.tty.ops.put_char)throw new Tr.ErrnoError(60);try{for(var a=0;a<n;a++)r.tty.ops.put_char(r.tty,e[t+a])}catch(i){throw new Tr.ErrnoError(29)}return n&&(r.node.mtime=r.node.ctime=Date.now()),a}},default_tty_ops:{get_char:r=>ur(),put_char(r,e){null===e||10===e?(b(or(r.output)),r.output=[]):0!=e&&r.output.push(e)},fsync(r){r.output?.length>0&&(b(or(r.output)),r.output=[])},ioctl_tcgets:r=>({c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}),ioctl_tcsets:(r,e,t)=>0,ioctl_tiocgwinsz:r=>[24,80]},default_tty1_ops:{put_char(r,e){null===e||10===e?(F(or(r.output)),r.output=[]):0!=e&&r.output.push(e)},fsync(r){r.output?.length>0&&(F(or(r.output)),r.output=[])}}},cr=r=>{C()},fr={ops_table:null,mount:r=>fr.createNode(null,"/",16895,0),createNode(r,e,t,n){if(Tr.isBlkdev(t)||Tr.isFIFO(t))throw new Tr.ErrnoError(63);fr.ops_table||={dir:{node:{getattr:fr.node_ops.getattr,setattr:fr.node_ops.setattr,lookup:fr.node_ops.lookup,mknod:fr.node_ops.mknod,rename:fr.node_ops.rename,unlink:fr.node_ops.unlink,rmdir:fr.node_ops.rmdir,readdir:fr.node_ops.readdir,symlink:fr.node_ops.symlink},stream:{llseek:fr.stream_ops.llseek}},file:{node:{getattr:fr.node_ops.getattr,setattr:fr.node_ops.setattr},stream:{llseek:fr.stream_ops.llseek,read:fr.stream_ops.read,write:fr.stream_ops.write,mmap:fr.stream_ops.mmap,msync:fr.stream_ops.msync}},link:{node:{getattr:fr.node_ops.getattr,setattr:fr.node_ops.setattr,readlink:fr.node_ops.readlink},stream:{}},chrdev:{node:{getattr:fr.node_ops.getattr,setattr:fr.node_ops.setattr},stream:Tr.chrdev_stream_ops}};var o=Tr.createNode(r,e,t,n);return Tr.isDir(o.mode)?(o.node_ops=fr.ops_table.dir.node,o.stream_ops=fr.ops_table.dir.stream,o.contents={}):Tr.isFile(o.mode)?(o.node_ops=fr.ops_table.file.node,o.stream_ops=fr.ops_table.file.stream,o.usedBytes=0,o.contents=fr.emptyFileContents??=new Uint8Array(0)):Tr.isLink(o.mode)?(o.node_ops=fr.ops_table.link.node,o.stream_ops=fr.ops_table.link.stream):Tr.isChrdev(o.mode)&&(o.node_ops=fr.ops_table.chrdev.node,o.stream_ops=fr.ops_table.chrdev.stream),o.atime=o.mtime=o.ctime=Date.now(),r&&(r.contents[e]=o,r.atime=r.mtime=r.ctime=o.atime),o},getFileDataAsTypedArray:r=>r.contents.subarray(0,r.usedBytes),expandFileStorage(r,e){var t=r.contents.length;if(!(t>=e)){var n=1048576;e=Math.max(e,t*(t<n?2:1.125)>>>0),t&&(e=Math.max(e,256));var o=fr.getFileDataAsTypedArray(r);r.contents=new Uint8Array(e),r.contents.set(o)}},resizeFileStorage(r,e){if(r.usedBytes!=e){var t=r.contents;r.contents=new Uint8Array(e),r.contents.set(t.subarray(0,Math.min(e,r.usedBytes))),r.usedBytes=e}},node_ops:{getattr(r){var e={};return e.dev=Tr.isChrdev(r.mode)?r.id:1,e.ino=r.id,e.mode=r.mode,e.nlink=1,e.uid=0,e.gid=0,e.rdev=r.rdev,Tr.isDir(r.mode)?e.size=4096:Tr.isFile(r.mode)?e.size=r.usedBytes:Tr.isLink(r.mode)?e.size=r.link.length:e.size=0,e.atime=new Date(r.atime),e.mtime=new Date(r.mtime),e.ctime=new Date(r.ctime),e.blksize=4096,e.blocks=Math.ceil(e.size/e.blksize),e},setattr(r,e){for(const t of["mode","atime","mtime","ctime"])null!=e[t]&&(r[t]=e[t]);void 0!==e.size&&fr.resizeFileStorage(r,e.size)},lookup(r,e){throw fr.doesNotExistError||(fr.doesNotExistError=new Tr.ErrnoError(44),fr.doesNotExistError.stack="<generic error, no stack>"),fr.doesNotExistError},mknod:(r,e,t,n)=>fr.createNode(r,e,t,n),rename(r,e,t){var n;try{n=Tr.lookupNode(e,t)}catch(a){}if(n){if(Tr.isDir(r.mode))for(var o in n.contents)throw new Tr.ErrnoError(55);Tr.hashRemoveNode(n)}delete r.parent.contents[r.name],e.contents[t]=r,r.name=t,e.ctime=e.mtime=r.parent.ctime=r.parent.mtime=Date.now()},unlink(r,e){delete r.contents[e],r.ctime=r.mtime=Date.now()},rmdir(r,e){var t=Tr.lookupNode(r,e);for(var n in t.contents)throw new Tr.ErrnoError(55);delete r.contents[e],r.ctime=r.mtime=Date.now()},readdir:r=>[".","..",...Object.keys(r.contents)],symlink(r,e,t){var n=fr.createNode(r,e,41471,0);return n.link=t,n},readlink(r){if(!Tr.isLink(r.mode))throw new Tr.ErrnoError(28);return r.link}},stream_ops:{read(r,e,t,n,o){var a=r.node.contents;if(o>=r.node.usedBytes)return 0;var i=Math.min(r.node.usedBytes-o,n);return e.set(a.subarray(o,o+i),t),i},write(r,e,t,n,o,a){if(e.buffer===f.buffer&&(a=!1),!n)return 0;var i=r.node;return i.mtime=i.ctime=Date.now(),a?(i.contents=e.subarray(t,t+n),i.usedBytes=n):0===i.usedBytes&&0===o?(i.contents=e.slice(t,t+n),i.usedBytes=n):(fr.expandFileStorage(i,o+n),i.contents.set(e.subarray(t,t+n),o),i.usedBytes=Math.max(i.usedBytes,o+n)),n},llseek(r,e,t){var n=e;if(1===t?n+=r.position:2===t&&Tr.isFile(r.node.mode)&&(n+=r.node.usedBytes),n<0)throw new Tr.ErrnoError(28);return n},mmap(r,e,t,n,o){if(!Tr.isFile(r.node.mode))throw new Tr.ErrnoError(43);var a,i,s=r.node.contents;if(2&o||s.buffer!==f.buffer){if(i=!0,!(a=cr()))throw new Tr.ErrnoError(48);s&&((t>0||t+e<s.length)&&(s=s.subarray?s.subarray(t,t+e):Array.prototype.slice.call(s,t,t+e)),f.set(s,a))}else i=!1,a=s.byteOffset;return{ptr:a,allocated:i}},msync:(r,e,t,n,o)=>(fr.stream_ops.write(r,e,0,n,t,!1),0)}},hr=r=>{if("string"!=typeof r)return r;var e={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090}[r];if(void 0===e)throw new Error(`Unknown file open mode: ${r}`);return e},mr=r=>("string"==typeof r&&(r=lr(r)),r.subarray||(r=new Uint8Array(r)),r),pr=(r,e)=>{var t=0;return r&&(t|=365),e&&(t|=146),t},vr=async r=>{var t=await e(r);return new Uint8Array(t)},wr=(...r)=>Tr.createDataFile(...r),gr=0,yr=null,Er=r=>{if(gr--,n.monitorRunDependencies?.(gr),0==gr&&yr){var e=yr;yr=null,e()}},kr=r=>{gr++,n.monitorRunDependencies?.(gr)},_r=[],br=async(r,e)=>{for(var t of("undefined"!=typeof Browser&&Browser.init(),_r))if(t.canHandle(e))return t.handle(r,e);return r},Fr=async(r,e,t,n,o,a,i,s)=>{var l=e?er.resolve(Q.join2(r,e)):r;kr();try{var u=t;"string"==typeof t&&(u=await vr(t)),u=await br(u,l),s?.(),a||wr(r,e,u,n,o,i)}finally{Er()}},Dr=(r,e,t,n,o,a,i,s,l,u)=>{Fr(r,e,t,n,o,s,l,u).then(a).catch(i)},Tr={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,filesystems:null,syncFSRequests:0,ErrnoError:class{name="ErrnoError";constructor(r){this.errno=r}},FSStream:class{shared={};get object(){return this.node}set object(r){this.node=r}get isRead(){return 1!=(2097155&this.flags)}get isWrite(){return!!(2097155&this.flags)}get isAppend(){return 1024&this.flags}get flags(){return this.shared.flags}set flags(r){this.shared.flags=r}get position(){return this.shared.position}set position(r){this.shared.position=r}},FSNode:class{node_ops={};stream_ops={};readMode=365;writeMode=146;mounted=null;constructor(r,e,t,n){r||(r=this),this.parent=r,this.mount=r.mount,this.id=Tr.nextInode++,this.name=e,this.mode=t,this.rdev=n,this.atime=this.mtime=this.ctime=Date.now()}get read(){return(this.mode&this.readMode)===this.readMode}set read(r){r?this.mode|=this.readMode:this.mode&=~this.readMode}get write(){return(this.mode&this.writeMode)===this.writeMode}set write(r){r?this.mode|=this.writeMode:this.mode&=~this.writeMode}get isFolder(){return Tr.isDir(this.mode)}get isDevice(){return Tr.isChrdev(this.mode)}},lookupPath(r,e={}){if(!r)throw new Tr.ErrnoError(44);e.follow_mount??=!0,Q.isAbs(r)||(r=Tr.cwd()+"/"+r);r:for(var t=0;t<40;t++){for(var n=r.split("/").filter(r=>!!r),o=Tr.root,a="/",i=0;i<n.length;i++){var s=i===n.length-1;if(s&&e.parent)break;if("."!==n[i])if(".."!==n[i]){a=Q.join2(a,n[i]);try{o=Tr.lookupNode(o,n[i])}catch(u){if(44===u?.errno&&s&&e.noent_okay)return{path:a};throw u}if(!Tr.isMountpoint(o)||s&&!e.follow_mount||(o=o.mounted.root),Tr.isLink(o.mode)&&(!s||e.follow)){if(!o.node_ops.readlink)throw new Tr.ErrnoError(52);var l=o.node_ops.readlink(o);Q.isAbs(l)||(l=Q.dirname(a)+"/"+l),r=l+"/"+n.slice(i+1).join("/");continue r}}else{if(a=Q.dirname(a),Tr.isRoot(o)){r=a+"/"+n.slice(i+1).join("/"),t--;continue r}o=o.parent}}return{path:a,node:o}}throw new Tr.ErrnoError(32)},getPath(r){for(var e;;){if(Tr.isRoot(r)){var t=r.mount.mountpoint;return e?"/"!==t[t.length-1]?`${t}/${e}`:t+e:t}e=e?`${r.name}/${e}`:r.name,r=r.parent}},hashName(r,e){for(var t=0,n=0;n<e.length;n++)t=(t<<5)-t+e.charCodeAt(n)|0;return(r+t>>>0)%Tr.nameTable.length},hashAddNode(r){var e=Tr.hashName(r.parent.id,r.name);r.name_next=Tr.nameTable[e],Tr.nameTable[e]=r},hashRemoveNode(r){var e=Tr.hashName(r.parent.id,r.name);if(Tr.nameTable[e]===r)Tr.nameTable[e]=r.name_next;else for(var t=Tr.nameTable[e];t;){if(t.name_next===r){t.name_next=r.name_next;break}t=t.name_next}},lookupNode(r,e){var t=Tr.mayLookup(r);if(t)throw new Tr.ErrnoError(t);for(var n=Tr.hashName(r.id,e),o=Tr.nameTable[n];o;o=o.name_next){var a=o.name;if(o.parent.id===r.id&&a===e)return o}return Tr.lookup(r,e)},createNode(r,e,t,n){var o=new Tr.FSNode(r,e,t,n);return Tr.hashAddNode(o),o},destroyNode(r){Tr.hashRemoveNode(r)},isRoot:r=>r===r.parent,isMountpoint:r=>!!r.mounted,isFile:r=>32768==(61440&r),isDir:r=>16384==(61440&r),isLink:r=>40960==(61440&r),isChrdev:r=>8192==(61440&r),isBlkdev:r=>24576==(61440&r),isFIFO:r=>4096==(61440&r),isSocket:r=>!(49152&~r),flagsToPermissionString(r){var e=["r","w","rw"][3&r];return 512&r&&(e+="w"),e},nodePermissions:(r,e)=>Tr.ignorePermissions||(!e.includes("r")||292&r.mode)&&(!e.includes("w")||146&r.mode)&&(!e.includes("x")||73&r.mode)?0:2,mayLookup(r){if(!Tr.isDir(r.mode))return 54;var e=Tr.nodePermissions(r,"x");return e||(r.node_ops.lookup?0:2)},mayCreate(r,e){if(!Tr.isDir(r.mode))return 54;try{Tr.lookupNode(r,e);return 20}catch(t){}return Tr.nodePermissions(r,"wx")},mayDelete(r,e,t){var n;try{n=Tr.lookupNode(r,e)}catch(a){return a.errno}var o=Tr.nodePermissions(r,"wx");if(o)return o;if(t){if(!Tr.isDir(n.mode))return 54;if(Tr.isRoot(n)||Tr.getPath(n)===Tr.cwd())return 10}else if(Tr.isDir(n.mode))return 31;return 0},mayOpen(r,e){if(!r)return 44;if(Tr.isLink(r.mode))return 32;var t=Tr.flagsToPermissionString(e);return Tr.isDir(r.mode)&&("r"!==t||576&e)?31:Tr.nodePermissions(r,t)},checkOpExists(r,e){if(!r)throw new Tr.ErrnoError(e);return r},MAX_OPEN_FDS:4096,nextfd(){for(var r=0;r<=Tr.MAX_OPEN_FDS;r++)if(!Tr.streams[r])return r;throw new Tr.ErrnoError(33)},getStreamChecked(r){var e=Tr.getStream(r);if(!e)throw new Tr.ErrnoError(8);return e},getStream:r=>Tr.streams[r],createStream:(r,e=-1)=>(r=Object.assign(new Tr.FSStream,r),-1==e&&(e=Tr.nextfd()),r.fd=e,Tr.streams[e]=r,r),closeStream(r){Tr.streams[r]=null},dupStream(r,e=-1){var t=Tr.createStream(r,e);return t.stream_ops?.dup?.(t),t},doSetAttr(r,e,t){var n=r?.stream_ops.setattr,o=n?r:e;n??=e.node_ops.setattr,Tr.checkOpExists(n,63),n(o,t)},chrdev_stream_ops:{open(r){var e=Tr.getDevice(r.node.rdev);r.stream_ops=e.stream_ops,r.stream_ops.open?.(r)},llseek(){throw new Tr.ErrnoError(70)}},major:r=>r>>8,minor:r=>255&r,makedev:(r,e)=>r<<8|e,registerDevice(r,e){Tr.devices[r]={stream_ops:e}},getDevice:r=>Tr.devices[r],getMounts(r){for(var e=[],t=[r];t.length;){var n=t.pop();e.push(n),t.push(...n.mounts)}return e},syncfs(r,e){"function"==typeof r&&(e=r,r=!1),Tr.syncFSRequests++,Tr.syncFSRequests>1&&F(`warning: ${Tr.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`);var t=Tr.getMounts(Tr.root.mount),n=0;function o(r){return Tr.syncFSRequests--,e(r)}function a(r){if(r)return a.errored?void 0:(a.errored=!0,o(r));++n>=t.length&&o(null)}for(var i of t)i.type.syncfs?i.type.syncfs(i,r,a):a(null)},mount(r,e,t){var n,o="/"===t,a=!t;if(o&&Tr.root)throw new Tr.ErrnoError(10);if(!o&&!a){var i=Tr.lookupPath(t,{follow_mount:!1});if(t=i.path,n=i.node,Tr.isMountpoint(n))throw new Tr.ErrnoError(10);if(!Tr.isDir(n.mode))throw new Tr.ErrnoError(54)}var s={type:r,opts:e,mountpoint:t,mounts:[]},l=r.mount(s);return l.mount=s,s.root=l,o?Tr.root=l:n&&(n.mounted=s,n.mount&&n.mount.mounts.push(s)),l},unmount(r){var e=Tr.lookupPath(r,{follow_mount:!1});if(!Tr.isMountpoint(e.node))throw new Tr.ErrnoError(28);var t=e.node,n=t.mounted,o=Tr.getMounts(n);for(var[a,i]of Object.entries(Tr.nameTable))for(;i;){var s=i.name_next;o.includes(i.mount)&&Tr.destroyNode(i),i=s}t.mounted=null;var l=t.mount.mounts.indexOf(n);t.mount.mounts.splice(l,1)},lookup:(r,e)=>r.node_ops.lookup(r,e),mknod(r,e,t){var n=Tr.lookupPath(r,{parent:!0}).node,o=Q.basename(r);if(!o)throw new Tr.ErrnoError(28);if("."===o||".."===o)throw new Tr.ErrnoError(20);var a=Tr.mayCreate(n,o);if(a)throw new Tr.ErrnoError(a);if(!n.node_ops.mknod)throw new Tr.ErrnoError(63);return n.node_ops.mknod(n,o,e,t)},statfs:r=>Tr.statfsNode(Tr.lookupPath(r,{follow:!0}).node),statfsStream:r=>Tr.statfsNode(r.node),statfsNode(r){var e={bsize:4096,frsize:4096,blocks:1e6,bfree:5e5,bavail:5e5,files:Tr.nextInode,ffree:Tr.nextInode-1,fsid:42,flags:2,namelen:255};return r.node_ops.statfs&&Object.assign(e,r.node_ops.statfs(r.mount.opts.root)),e},create:(r,e=438)=>(e&=4095,e|=32768,Tr.mknod(r,e,0)),mkdir:(r,e=511)=>(e&=1023,e|=16384,Tr.mknod(r,e,0)),mkdirTree(r,e){var t=r.split("/"),n="";for(var o of t)if(o){(n||Q.isAbs(r))&&(n+="/"),n+=o;try{Tr.mkdir(n,e)}catch(a){if(20!=a.errno)throw a}}},mkdev:(r,e,t)=>(void 0===t&&(t=e,e=438),e|=8192,Tr.mknod(r,e,t)),symlink(r,e){if(!er.resolve(r))throw new Tr.ErrnoError(44);var t=Tr.lookupPath(e,{parent:!0}).node;if(!t)throw new Tr.ErrnoError(44);var n=Q.basename(e),o=Tr.mayCreate(t,n);if(o)throw new Tr.ErrnoError(o);if(!t.node_ops.symlink)throw new Tr.ErrnoError(63);return t.node_ops.symlink(t,n,r)},rename(r,e){var t,n,o=Q.dirname(r),a=Q.dirname(e),i=Q.basename(r),s=Q.basename(e);if(t=Tr.lookupPath(r,{parent:!0}).node,n=Tr.lookupPath(e,{parent:!0}).node,!t||!n)throw new Tr.ErrnoError(44);if(t.mount!==n.mount)throw new Tr.ErrnoError(75);var l,u=Tr.lookupNode(t,i),d=er.relative(r,a);if("."!==d.charAt(0))throw new Tr.ErrnoError(28);if("."!==(d=er.relative(e,o)).charAt(0))throw new Tr.ErrnoError(55);try{l=Tr.lookupNode(n,s)}catch(h){}if(u!==l){var c=Tr.isDir(u.mode),f=Tr.mayDelete(t,i,c);if(f)throw new Tr.ErrnoError(f);if(f=l?Tr.mayDelete(n,s,c):Tr.mayCreate(n,s))throw new Tr.ErrnoError(f);if(!t.node_ops.rename)throw new Tr.ErrnoError(63);if(Tr.isMountpoint(u)||l&&Tr.isMountpoint(l))throw new Tr.ErrnoError(10);if(n!==t&&(f=Tr.nodePermissions(t,"w")))throw new Tr.ErrnoError(f);Tr.hashRemoveNode(u);try{t.node_ops.rename(u,n,s),u.parent=n}catch(h){throw h}finally{Tr.hashAddNode(u)}}},rmdir(r){var e=Tr.lookupPath(r,{parent:!0}).node,t=Q.basename(r),n=Tr.lookupNode(e,t),o=Tr.mayDelete(e,t,!0);if(o)throw new Tr.ErrnoError(o);if(!e.node_ops.rmdir)throw new Tr.ErrnoError(63);if(Tr.isMountpoint(n))throw new Tr.ErrnoError(10);e.node_ops.rmdir(e,t),Tr.destroyNode(n)},readdir(r){var e=Tr.lookupPath(r,{follow:!0}).node;return Tr.checkOpExists(e.node_ops.readdir,54)(e)},unlink(r){var e=Tr.lookupPath(r,{parent:!0}).node;if(!e)throw new Tr.ErrnoError(44);var t=Q.basename(r),n=Tr.lookupNode(e,t),o=Tr.mayDelete(e,t,!1);if(o)throw new Tr.ErrnoError(o);if(!e.node_ops.unlink)throw new Tr.ErrnoError(63);if(Tr.isMountpoint(n))throw new Tr.ErrnoError(10);e.node_ops.unlink(e,t),Tr.destroyNode(n)},readlink(r){var e=Tr.lookupPath(r).node;if(!e)throw new Tr.ErrnoError(44);if(!e.node_ops.readlink)throw new Tr.ErrnoError(28);return e.node_ops.readlink(e)},stat(r,e){var t=Tr.lookupPath(r,{follow:!e}).node;return Tr.checkOpExists(t.node_ops.getattr,63)(t)},fstat(r){var e=Tr.getStreamChecked(r),t=e.node,n=e.stream_ops.getattr,o=n?e:t;return n??=t.node_ops.getattr,Tr.checkOpExists(n,63),n(o)},lstat:r=>Tr.stat(r,!0),doChmod(r,e,t,n){Tr.doSetAttr(r,e,{mode:4095&t|-4096&e.mode,ctime:Date.now(),dontFollow:n})},chmod(r,e,t){var n;"string"==typeof r?n=Tr.lookupPath(r,{follow:!t}).node:n=r;Tr.doChmod(null,n,e,t)},lchmod(r,e){Tr.chmod(r,e,!0)},fchmod(r,e){var t=Tr.getStreamChecked(r);Tr.doChmod(t,t.node,e,!1)},doChown(r,e,t){Tr.doSetAttr(r,e,{timestamp:Date.now(),dontFollow:t})},chown(r,e,t,n){var o;"string"==typeof r?o=Tr.lookupPath(r,{follow:!n}).node:o=r;Tr.doChown(null,o,n)},lchown(r,e,t){Tr.chown(r,e,t,!0)},fchown(r,e,t){var n=Tr.getStreamChecked(r);Tr.doChown(n,n.node,!1)},doTruncate(r,e,t){if(Tr.isDir(e.mode))throw new Tr.ErrnoError(31);if(!Tr.isFile(e.mode))throw new Tr.ErrnoError(28);var n=Tr.nodePermissions(e,"w");if(n)throw new Tr.ErrnoError(n);Tr.doSetAttr(r,e,{size:t,timestamp:Date.now()})},truncate(r,e){if(e<0)throw new Tr.ErrnoError(28);var t;"string"==typeof r?t=Tr.lookupPath(r,{follow:!0}).node:t=r;Tr.doTruncate(null,t,e)},ftruncate(r,e){var t=Tr.getStreamChecked(r);if(e<0||!(2097155&t.flags))throw new Tr.ErrnoError(28);Tr.doTruncate(t,t.node,e)},utime(r,e,t){var n=Tr.lookupPath(r,{follow:!0}).node;Tr.checkOpExists(n.node_ops.setattr,63)(n,{atime:e,mtime:t})},open(r,e,t=438){if(""===r)throw new Tr.ErrnoError(44);var n,o;if(t=64&(e=hr(e))?4095&t|32768:0,"object"==typeof r)n=r;else{o=r.endsWith("/");var a=Tr.lookupPath(r,{follow:!(131072&e),noent_okay:!0});n=a.node,r=a.path}var i=!1;if(64&e)if(n){if(128&e)throw new Tr.ErrnoError(20)}else{if(o)throw new Tr.ErrnoError(31);n=Tr.mknod(r,511|t,0),i=!0}if(!n)throw new Tr.ErrnoError(44);if(Tr.isChrdev(n.mode)&&(e&=-513),65536&e&&!Tr.isDir(n.mode))throw new Tr.ErrnoError(54);if(!i){var s=Tr.mayOpen(n,e);if(s)throw new Tr.ErrnoError(s)}512&e&&!i&&Tr.truncate(n,0),e&=-131713;var l=Tr.createStream({node:n,path:Tr.getPath(n),flags:e,seekable:!0,position:0,stream_ops:n.stream_ops,ungotten:[],error:!1});return l.stream_ops.open&&l.stream_ops.open(l),i&&Tr.chmod(n,511&t),l},close(r){if(Tr.isClosed(r))throw new Tr.ErrnoError(8);r.getdents&&(r.getdents=null);try{r.stream_ops.close&&r.stream_ops.close(r)}catch(e){throw e}finally{Tr.closeStream(r.fd)}r.fd=null},isClosed:r=>null===r.fd,llseek(r,e,t){if(Tr.isClosed(r))throw new Tr.ErrnoError(8);if(!r.seekable||!r.stream_ops.llseek)throw new Tr.ErrnoError(70);if(0!=t&&1!=t&&2!=t)throw new Tr.ErrnoError(28);return r.position=r.stream_ops.llseek(r,e,t),r.ungotten=[],r.position},read(r,e,t,n,o){if(n<0||o<0)throw new Tr.ErrnoError(28);if(Tr.isClosed(r))throw new Tr.ErrnoError(8);if(1==(2097155&r.flags))throw new Tr.ErrnoError(8);if(Tr.isDir(r.node.mode))throw new Tr.ErrnoError(31);if(!r.stream_ops.read)throw new Tr.ErrnoError(28);var a=void 0!==o;if(a){if(!r.seekable)throw new Tr.ErrnoError(70)}else o=r.position;var i=r.stream_ops.read(r,e,t,n,o);return a||(r.position+=i),i},write(r,e,t,n,o,a){if(n<0||o<0)throw new Tr.ErrnoError(28);if(Tr.isClosed(r))throw new Tr.ErrnoError(8);if(!(2097155&r.flags))throw new Tr.ErrnoError(8);if(Tr.isDir(r.node.mode))throw new Tr.ErrnoError(31);if(!r.stream_ops.write)throw new Tr.ErrnoError(28);r.seekable&&1024&r.flags&&Tr.llseek(r,0,2);var i=void 0!==o;if(i){if(!r.seekable)throw new Tr.ErrnoError(70)}else o=r.position;var s=r.stream_ops.write(r,e,t,n,o,a);return i||(r.position+=s),s},mmap(r,e,t,n,o){if(2&n&&!(2&o)&&2!=(2097155&r.flags))throw new Tr.ErrnoError(2);if(1==(2097155&r.flags))throw new Tr.ErrnoError(2);if(!r.stream_ops.mmap)throw new Tr.ErrnoError(43);if(!e)throw new Tr.ErrnoError(28);return r.stream_ops.mmap(r,e,t,n,o)},msync:(r,e,t,n,o)=>r.stream_ops.msync?r.stream_ops.msync(r,e,t,n,o):0,ioctl(r,e,t){if(!r.stream_ops.ioctl)throw new Tr.ErrnoError(59);return r.stream_ops.ioctl(r,e,t)},readFile(r,e={}){e.flags=e.flags||0,e.encoding=e.encoding||"binary","utf8"!==e.encoding&&"binary"!==e.encoding&&C(`Invalid encoding type "${e.encoding}"`);var t=Tr.open(r,e.flags),n=Tr.stat(r).size,o=new Uint8Array(n);return Tr.read(t,o,0,n,0),"utf8"===e.encoding&&(o=or(o)),Tr.close(t),o},writeFile(r,e,t={}){t.flags=t.flags||577;var n=Tr.open(r,t.flags,t.mode);e=mr(e),Tr.write(n,e,0,e.byteLength,void 0,t.canOwn),Tr.close(n)},cwd:()=>Tr.currentPath,chdir(r){var e=Tr.lookupPath(r,{follow:!0});if(null===e.node)throw new Tr.ErrnoError(44);if(!Tr.isDir(e.node.mode))throw new Tr.ErrnoError(54);var t=Tr.nodePermissions(e.node,"x");if(t)throw new Tr.ErrnoError(t);Tr.currentPath=e.path},createDefaultDirectories(){Tr.mkdir("/tmp"),Tr.mkdir("/home"),Tr.mkdir("/home/web_user")},createDefaultDevices(){Tr.mkdir("/dev"),Tr.registerDevice(Tr.makedev(1,3),{read:()=>0,write:(r,e,t,n,o)=>n,llseek:()=>0}),Tr.mkdev("/dev/null",Tr.makedev(1,3)),dr.register(Tr.makedev(5,0),dr.default_tty_ops),dr.register(Tr.makedev(6,0),dr.default_tty1_ops),Tr.mkdev("/dev/tty",Tr.makedev(5,0)),Tr.mkdev("/dev/tty1",Tr.makedev(6,0));var r=new Uint8Array(1024),e=0,t=()=>(0===e&&(rr(r),e=r.byteLength),r[--e]);Tr.createDevice("/dev","random",t),Tr.createDevice("/dev","urandom",t),Tr.mkdir("/dev/shm"),Tr.mkdir("/dev/shm/tmp")},createSpecialDirectories(){Tr.mkdir("/proc");var r=Tr.mkdir("/proc/self");Tr.mkdir("/proc/self/fd"),Tr.mount({mount(){var e=Tr.createNode(r,"fd",16895,73);return e.stream_ops={llseek:fr.stream_ops.llseek},e.node_ops={lookup(r,e){var t=+e,n=Tr.getStreamChecked(t),o={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>n.path},id:t+1};return o.parent=o,o},readdir:()=>Array.from(Tr.streams.entries()).filter(([r,e])=>e).map(([r,e])=>r.toString())},e}},{},"/proc/self/fd")},createStandardStreams(r,e,t){r?Tr.createDevice("/dev","stdin",r):Tr.symlink("/dev/tty","/dev/stdin"),e?Tr.createDevice("/dev","stdout",null,e):Tr.symlink("/dev/tty","/dev/stdout"),t?Tr.createDevice("/dev","stderr",null,t):Tr.symlink("/dev/tty1","/dev/stderr"),Tr.open("/dev/stdin",0),Tr.open("/dev/stdout",1),Tr.open("/dev/stderr",1)},staticInit(){Tr.nameTable=new Array(4096),Tr.mount(fr,{},"/"),Tr.createDefaultDirectories(),Tr.createDefaultDevices(),Tr.createSpecialDirectories(),Tr.filesystems={MEMFS:fr}},init(r,e,t){Tr.initialized=!0,r??=n.stdin,e??=n.stdout,t??=n.stderr,Tr.createStandardStreams(r,e,t)},quit(){for(var r of(Tr.initialized=!1,Tr.streams))r&&Tr.close(r)},findObject(r,e){var t=Tr.analyzePath(r,e);return t.exists?t.object:null},analyzePath(r,e){try{r=(n=Tr.lookupPath(r,{follow:!e})).path}catch(o){}var t={isRoot:!1,exists:!1,error:0,name:null,path:null,object:null,parentExists:!1,parentPath:null,parentObject:null};try{var n=Tr.lookupPath(r,{parent:!0});t.parentExists=!0,t.parentPath=n.path,t.parentObject=n.node,t.name=Q.basename(r),n=Tr.lookupPath(r,{follow:!e}),t.exists=!0,t.path=n.path,t.object=n.node,t.name=n.node.name,t.isRoot="/"===n.path}catch(o){t.error=o.errno}return t},createPath(r,e,t,n){r="string"==typeof r?r:Tr.getPath(r);for(var o=e.split("/").reverse();o.length;){var a=o.pop();if(a){var i=Q.join2(r,a);try{Tr.mkdir(i)}catch(s){if(20!=s.errno)throw s}r=i}}return i},createFile(r,e,t,n,o){var a=Q.join2("string"==typeof r?r:Tr.getPath(r),e),i=pr(n,o);return Tr.create(a,i)},createDataFile(r,e,t,n,o,a){var i=e;r&&(r="string"==typeof r?r:Tr.getPath(r),i=e?Q.join2(r,e):r);var s=pr(n,o),l=Tr.create(i,s);if(t){t=mr(t),Tr.chmod(l,146|s);var u=Tr.open(l,577);Tr.write(u,t,0,t.length,0,a),Tr.close(u),Tr.chmod(l,s)}},createDevice(r,e,t,n){var o=Q.join2("string"==typeof r?r:Tr.getPath(r),e),a=pr(!!t,!!n);Tr.createDevice.major??=64;var i=Tr.makedev(Tr.createDevice.major++,0);return Tr.registerDevice(i,{open(r){r.seekable=!1},close(r){n?.buffer?.length&&n(10)},read(r,e,n,o,a){for(var i=0,s=0;s<o;s++){var l;try{l=t()}catch(u){throw new Tr.ErrnoError(29)}if(void 0===l&&0===i)throw new Tr.ErrnoError(6);if(null==l)break;i++,e[n+s]=l}return i&&(r.node.atime=Date.now()),i},write(r,e,t,o,a){for(var i=0;i<o;i++)try{n(e[t+i])}catch(s){throw new Tr.ErrnoError(29)}return o&&(r.node.mtime=r.node.ctime=Date.now()),i}}),Tr.mkdev(o,a,i)},forceLoadFile(r){if(r.isDevice||r.isFolder||r.link||r.contents)return!0;if(globalThis.XMLHttpRequest)C("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.");else try{r.contents=t(r.url)}catch(e){throw new Tr.ErrnoError(29)}},createLazyFile(r,e,t,n,o){class a{lengthKnown=!1;chunks=[];get(r){if(!(r>this.length-1||r<0)){var e=r%this.chunkSize,t=r/this.chunkSize|0;return this.getter(t)[e]}}setDataGetter(r){this.getter=r}cacheLength(){var r=new XMLHttpRequest;r.open("HEAD",t,!1),r.send(null),r.status>=200&&r.status<300||304===r.status||C("Couldn't load "+t+". Status: "+r.status);var e,n=Number(r.getResponseHeader("Content-length")),o=(e=r.getResponseHeader("Accept-Ranges"))&&"bytes"===e,a=(e=r.getResponseHeader("Content-Encoding"))&&"gzip"===e,i=1048576;o||(i=n);var s=(r,e)=>{r>e&&C("invalid range ("+r+", "+e+") or no bytes requested!"),e>n-1&&C("only "+n+" bytes available! programmer error!");var o=new XMLHttpRequest;return o.open("GET",t,!1),n!==i&&o.setRequestHeader("Range","bytes="+r+"-"+e),o.responseType="arraybuffer",o.overrideMimeType&&o.overrideMimeType("text/plain; charset=x-user-defined"),o.send(null),o.status>=200&&o.status<300||304===o.status||C("Couldn't load "+t+". Status: "+o.status),void 0!==o.response?new Uint8Array(o.response||[]):lr(o.responseText||"")},l=this;l.setDataGetter(r=>{var e=r*i,t=(r+1)*i-1;return t=Math.min(t,n-1),void 0===l.chunks[r]&&(l.chunks[r]=s(e,t)),void 0===l.chunks[r]&&C("doXHR failed!"),l.chunks[r]}),!a&&n||(i=n=1,n=this.getter(0).length,i=n,b("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=n,this._chunkSize=i,this.lengthKnown=!0}get length(){return this.lengthKnown||this.cacheLength(),this._length}get chunkSize(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}if(globalThis.XMLHttpRequest){C("Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc");var i={isDevice:!1,contents:new a}}else i={isDevice:!1,url:t};var s=Tr.createFile(r,e,i,n,o);i.contents?s.contents=i.contents:i.url&&(s.contents=null,s.url=i.url),Object.defineProperties(s,{usedBytes:{get:function(){return this.contents.length}}});var l={};for(const[d,c]of Object.entries(s.stream_ops))l[d]=(...r)=>(Tr.forceLoadFile(s),c(...r));function u(r,e,t,n,o){var a=r.node.contents;if(o>=a.length)return 0;var i=Math.min(a.length-o,n);if(a.slice)for(var s=0;s<i;s++)e[t+s]=a[o+s];else for(s=0;s<i;s++)e[t+s]=a.get(o+s);return i}return l.read=(r,e,t,n,o)=>(Tr.forceLoadFile(s),u(r,e,t,n,o)),l.mmap=(r,e,t,n,o)=>{Tr.forceLoadFile(s);var a=cr();if(!a)throw new Tr.ErrnoError(48);return u(r,f,a,e,t),{ptr:a,allocated:!0}},s.stream_ops=l,s}},Sr=(r,e,t)=>r?or(h,r,e,t):"",Ar={calculateAt(r,e,t){if(Q.isAbs(e))return e;var n;-100===r?n=Tr.cwd():n=Ar.getStreamFromFD(r).path;if(0==e.length){if(!t)throw new Tr.ErrnoError(44);return n}return n+"/"+e},writeStat(r,e){w[r>>2]=e.dev,w[r+4>>2]=e.mode,w[r+8>>2]=e.nlink,w[r+12>>2]=e.uid,w[r+16>>2]=e.gid,w[r+20>>2]=e.rdev,E[r+24>>3]=BigInt(e.size),v[r+32>>2]=4096,v[r+36>>2]=e.blocks;var t=e.atime.getTime(),n=e.mtime.getTime(),o=e.ctime.getTime();return E[r+40>>3]=BigInt(Math.floor(t/1e3)),w[r+48>>2]=t%1e3*1e3*1e3,E[r+56>>3]=BigInt(Math.floor(n/1e3)),w[r+64>>2]=n%1e3*1e3*1e3,E[r+72>>3]=BigInt(Math.floor(o/1e3)),w[r+80>>2]=o%1e3*1e3*1e3,E[r+88>>3]=BigInt(e.ino),0},writeStatFs(r,e){w[r+4>>2]=e.bsize,w[r+60>>2]=e.bsize,E[r+8>>3]=BigInt(e.blocks),E[r+16>>3]=BigInt(e.bfree),E[r+24>>3]=BigInt(e.bavail),E[r+32>>3]=BigInt(e.files),E[r+40>>3]=BigInt(e.ffree),w[r+48>>2]=e.fsid,w[r+64>>2]=e.flags,w[r+56>>2]=e.namelen},doMsync(r,e,t,n,o){if(!Tr.isFile(e.node.mode))throw new Tr.ErrnoError(43);if(2&n)return 0;var a=h.slice(r,r+t);Tr.msync(e,a,o,t,n)},getStreamFromFD:r=>Tr.getStreamChecked(r),varargs:void 0,getStr:r=>Sr(r)};function Pr(r,e,t){Ar.varargs=t;try{var n=Ar.getStreamFromFD(r);switch(e){case 0:if((o=Y())<0)return-28;for(;Tr.streams[o];)o++;return Tr.dupStream(n,o).fd;case 1:case 2:case 13:case 14:return 0;case 3:return n.flags;case 4:var o=Y();return n.flags|=o,0;case 12:o=J();return m[o+0>>1]=2,0}return-28}catch(a){if(void 0===Tr||"ErrnoError"!==a.name)throw a;return-a.errno}}function xr(r,e,t){Ar.varargs=t;try{var n=Ar.getStreamFromFD(r);switch(e){case 21509:case 21510:case 21511:case 21512:case 21524:case 21515:return n.tty?0:-59;case 21505:if(!n.tty)return-59;if(n.tty.ops.ioctl_tcgets){var o=n.tty.ops.ioctl_tcgets(n),a=J();v[a>>2]=o.c_iflag||0,v[a+4>>2]=o.c_oflag||0,v[a+8>>2]=o.c_cflag||0,v[a+12>>2]=o.c_lflag||0;for(var i=0;i<32;i++)f[a+i+17]=o.c_cc[i]||0;return 0}return 0;case 21506:case 21507:case 21508:if(!n.tty)return-59;if(n.tty.ops.ioctl_tcsets){a=J();var s=v[a>>2],l=v[a+4>>2],u=v[a+8>>2],d=v[a+12>>2],c=[];for(i=0;i<32;i++)c.push(f[a+i+17]);return n.tty.ops.ioctl_tcsets(n.tty,e,{c_iflag:s,c_oflag:l,c_cflag:u,c_lflag:d,c_cc:c})}return 0;case 21519:if(!n.tty)return-59;a=J();return v[a>>2]=0,0;case 21520:return n.tty?-28:-59;case 21537:case 21531:a=J();return Tr.ioctl(n,e,a);case 21523:if(!n.tty)return-59;if(n.tty.ops.ioctl_tiocgwinsz){var h=n.tty.ops.ioctl_tiocgwinsz(n.tty);a=J();m[a>>1]=h[0],m[a+2>>1]=h[1]}return 0;default:return-28}}catch(p){if(void 0===Tr||"ErrnoError"!==p.name)throw p;return-p.errno}}function Cr(r,e,t,n){Ar.varargs=n;try{e=Ar.getStr(e),e=Ar.calculateAt(r,e);var o=n?Y():0;return Tr.open(e,t,o).fd}catch(a){if(void 0===Tr||"ErrnoError"!==a.name)throw a;return-a.errno}}var Rr=()=>C(""),Mr={},Nr=r=>{for(;r.length;){var e=r.pop();r.pop()(e)}};function zr(r){return this.fromWireType(w[r>>2])}var Br={},Ir={},Wr={},$r=class extends Error{constructor(r){super(r),this.name="InternalError"}},jr=r=>{throw new $r(r)},Or=(r,e,t)=>{function n(e){var n=t(e);n.length!==r.length&&jr("Mismatched type converter count");for(var o=0;o<r.length;++o)Xr(r[o],n[o])}r.forEach(r=>Wr[r]=e);var o=new Array(e.length),a=[],i=0;for(let[s,l]of e.entries())Ir.hasOwnProperty(l)?o[s]=Ir[l]:(a.push(l),Br.hasOwnProperty(l)||(Br[l]=[]),Br[l].push(()=>{o[s]=Ir[l],++i===a.length&&n(o)}));0===a.length&&n(o)},Lr=r=>{var e=Mr[r];delete Mr[r];var t=e.rawConstructor,n=e.rawDestructor,o=e.fields,a=o.map(r=>r.getterReturnType).concat(o.map(r=>r.setterArgumentType));Or([r],a,r=>{var a={};for(var[i,s]of o.entries()){const e=r[i],t=s.getter,n=s.getterContext,l=r[i+o.length],u=s.setter,d=s.setterContext;a[s.fieldName]={read:r=>e.fromWireType(t(n,r)),write:(r,e)=>{var t=[];u(d,r,l.toWireType(t,e)),Nr(t)},optional:e.optional}}return[{name:e.name,fromWireType:r=>{var e={};for(var t in a)e[t]=a[t].read(r);return n(r),e},toWireType:(r,e)=>{for(var o in a)if(!(o in e)&&!a[o].optional)throw new TypeError(`Missing field: "${o}"`);var i=t();for(o in a)a[o].write(i,e[o]);return null!==r&&r.push(n,i),i},readValueFromPointer:zr,destructorFunction:n}]})},Ur=r=>{for(var e="";;){var t=h[r++];if(!t)return e;e+=String.fromCharCode(t)}},Vr=class extends Error{constructor(r){super(r),this.name="BindingError"}},Hr=r=>{throw new Vr(r)};function qr(r,e,t={}){var n=e.name;if(r||Hr(`type "${n}" must have a positive integer typeid pointer`),Ir.hasOwnProperty(r)){if(t.ignoreDuplicateRegistrations)return;Hr(`Cannot register type '${n}' twice`)}if(Ir[r]=e,delete Wr[r],Br.hasOwnProperty(r)){var o=Br[r];delete Br[r],o.forEach(r=>r())}}function Xr(r,e,t={}){return qr(r,e,t)}var Gr=(r,e,t)=>{switch(e){case 1:return t?r=>f[r]:r=>h[r];case 2:return t?r=>m[r>>1]:r=>p[r>>1];case 4:return t?r=>v[r>>2]:r=>w[r>>2];case 8:return t?r=>E[r>>3]:r=>k[r>>3];default:throw new TypeError(`invalid integer width (${e}): ${r}`)}},Kr=(r,e,t,n,o)=>{e=Ur(e);const a=0n===n;let i=r=>r;if(a){const r=8*t;i=e=>BigInt.asUintN(r,e),o=i(o)}Xr(r,{name:e,fromWireType:i,toWireType:(r,e)=>("number"==typeof e&&(e=BigInt(e)),e),readValueFromPointer:Gr(e,t,!a),destructorFunction:null})},Yr=(r,e,t,n)=>{Xr(r,{name:e=Ur(e),fromWireType:function(r){return!!r},toWireType:function(r,e){return e?t:n},readValueFromPointer:function(r){return this.fromWireType(h[r])},destructorFunction:null})},Jr=[],Qr=[0,1,,1,null,1,!0,1,!1,1],Zr=r=>{r>9&&0===--Qr[r+1]&&(Qr[r]=void 0,Jr.push(r))},re={toValue:r=>(r||Hr(`Cannot use deleted val. handle = ${r}`),Qr[r]),toHandle:r=>{switch(r){case void 0:return 2;case null:return 4;case!0:return 6;case!1:return 8;default:{const e=Jr.pop()||Qr.length;return Qr[e]=r,Qr[e+1]=1,e}}}},ee={name:"emscripten::val",fromWireType:r=>{var e=re.toValue(r);return Zr(r),e},toWireType:(r,e)=>re.toHandle(e),readValueFromPointer:zr,destructorFunction:null},te=r=>Xr(r,ee),ne=(r,e)=>{switch(e){case 4:return function(r){return this.fromWireType(g[r>>2])};case 8:return function(r){return this.fromWireType(y[r>>3])};default:throw new TypeError(`invalid float width (${e}): ${r}`)}},oe=(r,e,t)=>{Xr(r,{name:e=Ur(e),fromWireType:r=>r,toWireType:(r,e)=>e,readValueFromPointer:ne(e,t),destructorFunction:null})},ae=(r,e)=>Object.defineProperty(e,"name",{value:r});function ie(r){for(var e=1;e<r.length;++e)if(null!==r[e]&&void 0===r[e].destructorFunction)return!0;return!1}function se(r,e,t,n,o,a){var i=e.length;i<2&&Hr("argTypes array size mismatch! Must at least get return value and 'this' types!"),e[1];var s=ie(e),l=!e[0].isVoid,u=i-2,d=new Array(u),c=[],f=[];return ae(r,function(...r){var t;f.length=0,c.length=1,c[0]=o;for(var a=0;a<u;++a)d[a]=e[a+2].toWireType(f,r[a]),c.push(d[a]);function i(r){if(s)Nr(f);else for(var n=2;n<e.length;n++){var o=1===n?t:d[n-2];null!==e[n].destructorFunction&&e[n].destructorFunction(o)}if(l)return e[0].fromWireType(r)}return i(n(...c))})}var le=(r,e,t)=>{if(void 0===r[e].overloadTable){var n=r[e];r[e]=function(...n){return r[e].overloadTable.hasOwnProperty(n.length)||Hr(`Function '${t}' called with an invalid number of arguments (${n.length}) - expects one of (${r[e].overloadTable})!`),r[e].overloadTable[n.length].apply(this,n)},r[e].overloadTable=[],r[e].overloadTable[n.argCount]=n}},ue=(r,e,t)=>{n.hasOwnProperty(r)?((void 0===t||void 0!==n[r].overloadTable&&void 0!==n[r].overloadTable[t])&&Hr(`Cannot register public name '${r}' twice`),le(n,r,r),n[r].overloadTable.hasOwnProperty(t)&&Hr(`Cannot register multiple overloads of a function with the same number of arguments (${t})!`),n[r].overloadTable[t]=e):(n[r]=e,n[r].argCount=t)},de=(r,e)=>{for(var t=[],n=0;n<r;n++)t.push(w[e+4*n>>2]);return t},ce=(r,e,t)=>{n.hasOwnProperty(r)||jr("Replacing nonexistent public symbol"),void 0!==n[r].overloadTable&&void 0!==t?n[r].overloadTable[t]=e:(n[r]=e,n[r].argCount=t)},fe=[],he=r=>{var e=fe[r];return e||(fe[r]=e=Ct.get(r)),e},me=(r,e,t=!1)=>{function n(){return he(e)}r=Ur(r);var o=n();return"function"!=typeof o&&Hr(`unknown function pointer with signature ${r}: ${e}`),o};class pe extends Error{}var ve=r=>{var e=Ft(r),t=Ur(e);return Tt(e),t},we=(r,e)=>{var t=[],n={};function o(r){n[r]||Ir[r]||(Wr[r]?Wr[r].forEach(o):(t.push(r),n[r]=!0))}throw e.forEach(o),new pe(`${r}: `+t.map(ve).join([", "]))},ge=r=>{const e=(r=r.trim()).indexOf("(");return-1===e?r:r.slice(0,e)},ye=(r,e,t,n,o,a,i,s)=>{var l=de(e,t);r=Ur(r),r=ge(r),o=me(n,o,i),ue(r,function(){we(`Cannot call ${r} due to unbound types`,l)},e-1),Or([],l,t=>{var n=[t[0],null].concat(t.slice(1));return ce(r,se(r,n,null,o,a),e-1),[]})},Ee=(r,e,t,n,o)=>{e=Ur(e);let a=r=>r;if(0===n){var i=32-8*t;a=r=>r<<i>>>i,o=a(o)}Xr(r,{name:e,fromWireType:a,toWireType:(r,e)=>e,readValueFromPointer:Gr(e,t,0!==n),destructorFunction:null})},ke=(r,e,t)=>{var n=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,BigInt64Array,BigUint64Array][e];function o(r){var e=w[r>>2],t=w[r+4>>2];return new n(f.buffer,t,e)}Xr(r,{name:t=Ur(t),fromWireType:o,readValueFromPointer:o},{ignoreDuplicateRegistrations:!0})},_e=(r,e,t)=>sr(r,h,e,t),be=(r,e)=>{Xr(r,{name:e=Ur(e),fromWireType(r){var e,t=w[r>>2];return e=Sr(r+4,t,!0),Tt(r),e},toWireType(r,e){var t;e instanceof ArrayBuffer&&(e=new Uint8Array(e));var n="string"==typeof e;n||ArrayBuffer.isView(e)&&1==e.BYTES_PER_ELEMENT||Hr("Cannot pass non-string to std::string"),t=n?ir(e):e.length;var o=Dt(4+t+1),a=o+4;return w[o>>2]=t,n?_e(e,a,t+1):h.set(e,a),null!==r&&r.push(Tt,o),o},readValueFromPointer:zr,destructorFunction(r){Tt(r)}})},Fe=globalThis.TextDecoder?new TextDecoder("utf-16le"):void 0,De=(r,e,t)=>{var n=r>>1,o=nr(p,n,e/2,t);if(o-n>16&&Fe)return Fe.decode(p.subarray(n,o));for(var a="",i=n;i<o;++i){var s=p[i];a+=String.fromCharCode(s)}return a},Te=(r,e,t)=>{if(t??=2147483647,t<2)return 0;for(var n=e,o=(t-=2)<2*r.length?t/2:r.length,a=0;a<o;++a){var i=r.charCodeAt(a);m[e>>1]=i,e+=2}return m[e>>1]=0,e-n},Se=r=>2*r.length,Ae=(r,e,t)=>{for(var n="",o=r>>2,a=0;!(a>=e/4);a++){var i=w[o+a];if(!i&&!t)break;n+=String.fromCodePoint(i)}return n},Pe=(r,e,t)=>{if(t??=2147483647,t<4)return 0;for(var n=e,o=n+t-4,a=0;a<r.length;++a){var i=r.codePointAt(a);if(i>65535&&a++,v[e>>2]=i,(e+=4)+4>o)break}return v[e>>2]=0,e-n},xe=r=>{for(var e=0,t=0;t<r.length;++t){r.codePointAt(t)>65535&&t++,e+=4}return e},Ce=(r,e,t)=>{var n,o,a;t=Ur(t),2===e?(n=De,o=Te,a=Se):(n=Ae,o=Pe,a=xe),Xr(r,{name:t,fromWireType:r=>{var t=w[r>>2],o=n(r+4,t*e,!0);return Tt(r),o},toWireType:(r,n)=>{"string"!=typeof n&&Hr(`Cannot pass non-string to C++ string type ${t}`);var i=a(n),s=Dt(4+i+e);return w[s>>2]=i/e,o(n,s+4,i+e),null!==r&&r.push(Tt,s),s},readValueFromPointer:zr,destructorFunction(r){Tt(r)}})},Re=(r,e,t,n,o,a)=>{Mr[r]={name:Ur(e),rawConstructor:me(t,n),rawDestructor:me(o,a),fields:[]}},Me=(r,e,t,n,o,a,i,s,l,u)=>{Mr[r].fields.push({fieldName:Ur(e),getterReturnType:t,getter:me(n,o),getterContext:a,setterArgumentType:i,setter:me(s,l),setterContext:u})},Ne=(r,e)=>{Xr(r,{isVoid:!0,name:e=Ur(e),fromWireType:()=>{},toWireType:(r,e)=>{}})},ze=r=>{do{var e=w[r>>2],t=w[(r+=4)>>2],n=w[(r+=4)>>2];r+=4;var o=Sr(e);Tr.createPath("/",Q.dirname(o),!0,!0),Tr.createDataFile(o,null,f.subarray(n,n+t),!0,!0,!0)}while(w[r>>2])},Be=()=>{throw 1/0},Ie=(r,e)=>{r=re.toValue(r),e=re.toValue(e),r.set(e)},We=[],$e=r=>{var e=We.length;return We.push(r),e},je=(r,e)=>{var t=Ir[r];return void 0===t&&Hr(`${e} has unknown type ${ve(r)}`),t},Oe=(r,e)=>{for(var t=new Array(r),n=0;n<r;++n)t[n]=je(w[e+4*n>>2],`parameter ${n}`);return t},Le=(r,e,t)=>{var n=[],o=r(n,t);return n.length&&(w[e>>2]=re.toHandle(n)),o},Ue={},Ve=r=>{var e=Ue[r];return void 0===e?Ur(r):e},He=(r,e,t)=>{var n=8,[o,...a]=Oe(r,e),i=o.toWireType.bind(o),s=a.map(r=>r.readValueFromPointer.bind(r));r--;var l=new Array(r),u=(e,o,a,u)=>{for(var d,c=0,f=0;f<r;++f)l[f]=s[f](u+c),c+=n;switch(t){case 0:d=re.toValue(e).apply(null,l);break;case 2:d=Reflect.construct(re.toValue(e),l);break;case 3:d=l[0];break;case 1:d=re.toValue(e)[Ve(o)](...l)}return Le(i,a,d)},d=`methodCaller<(${a.map(r=>r.name)}) => ${o.name}>`;return $e(ae(d,u))},qe=r=>r?(r=Ve(r),re.toHandle(globalThis[r])):re.toHandle(globalThis),Xe=(r,e)=>(r=re.toValue(r),e=re.toValue(e),re.toHandle(r[e])),Ge=r=>{r>9&&(Qr[r+1]+=1)},Ke=(r,e,t,n,o)=>We[r](e,t,n,o),Ye=()=>re.toHandle([]),Je=r=>re.toHandle(Ve(r)),Qe=r=>{var e=re.toValue(r);Nr(e),Zr(r)},Ze=(r,e,t)=>{r=re.toValue(r),e=re.toValue(e),t=re.toValue(t),r[e]=t},rt=(r,e,t,n)=>{var o=(new Date).getFullYear(),a=new Date(o,0,1),i=new Date(o,6,1),s=a.getTimezoneOffset(),l=i.getTimezoneOffset(),u=Math.max(s,l);w[r>>2]=60*u,v[e>>2]=Number(s!=l);var d=r=>{var e=r>=0?"-":"+",t=Math.abs(r);return`UTC${e}${String(Math.floor(t/60)).padStart(2,"0")}${String(t%60).padStart(2,"0")}`},c=d(s),f=d(l);l<s?(_e(c,t,17),_e(f,n,17)):(_e(c,n,17),_e(f,t,17))},et=()=>2147483648,tt=(r,e)=>Math.ceil(r/e)*e,nt=r=>{var e=(r-xt.buffer.byteLength+65535)/65536|0;try{return xt.grow(e),S(),1}catch(t){}},ot=r=>{var e=h.length;r>>>=0;var t=et();if(r>t)return!1;for(var n=1;n<=4;n*=2){var o=e*(1+.2/n);o=Math.min(o,r+100663296);var a=Math.min(t,tt(Math.max(r,o),65536));if(nt(a))return!0}return!1},at={},it=()=>o||"./this.program",st=()=>{if(!st.strings){var r={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:(globalThis.navigator?.language??"C").replace("-","_")+".UTF-8",_:it()};for(var e in at)void 0===at[e]?delete r[e]:r[e]=at[e];var t=[];for(var e in r)t.push(`${e}=${r[e]}`);st.strings=t}return st.strings},lt=(r,e)=>{var t=0,n=0;for(var o of st()){var a=e+t;w[r+n>>2]=a,t+=_e(o,a,1/0)+1,n+=4}return 0},ut=(r,e)=>{var t=st();w[r>>2]=t.length;var n=0;for(var o of t)n+=ir(o)+1;return w[e>>2]=n,0},dt=0,ct=()=>H||dt>0,ft=r=>{ct()||(n.onExit?.(r),D=!0),a(r,new $(r))},ht=(r,e)=>{ft(r)};function mt(r){try{var e=Ar.getStreamFromFD(r);return Tr.close(e),0}catch(t){if(void 0===Tr||"ErrnoError"!==t.name)throw t;return t.errno}}var pt=(r,e,t,n)=>{for(var o=0,a=0;a<t;a++){var i=w[e>>2],s=w[e+4>>2];e+=8;var l=Tr.read(r,f,i,s,n);if(l<0)return-1;if(o+=l,l<s)break}return o};function vt(r,e,t,n){try{var o=Ar.getStreamFromFD(r),a=pt(o,e,t);return w[n>>2]=a,0}catch(i){if(void 0===Tr||"ErrnoError"!==i.name)throw i;return i.errno}}var wt=9007199254740992,gt=-9007199254740992,yt=r=>r<gt||r>wt?NaN:Number(r);function Et(r,e,t,n){e=yt(e);try{if(isNaN(e))return 61;var o=Ar.getStreamFromFD(r);return Tr.llseek(o,e,t),E[n>>3]=BigInt(o.position),o.getdents&&0===e&&0===t&&(o.getdents=null),0}catch(a){if(void 0===Tr||"ErrnoError"!==a.name)throw a;return a.errno}}var kt=(r,e,t,n)=>{for(var o=0,a=0;a<t;a++){var i=w[e>>2],s=w[e+4>>2];e+=8;var l=Tr.write(r,f,i,s,n);if(l<0)return-1;if(o+=l,l<s)break}return o};function _t(r,e,t,n){try{var o=Ar.getStreamFromFD(r),a=kt(o,e,t);return w[n>>2]=a,0}catch(i){if(void 0===Tr||"ErrnoError"!==i.name)throw i;return i.errno}}var bt,Ft,Dt,Tt,St,At,Pt,xt,Ct,Rt=(r,e)=>{if(bt)for(var t=r;t<r+e;t++){var n=he(t);n&&bt.set(n,t)}},Mt=r=>(bt||(bt=new WeakMap,Rt(0,Ct.length)),bt.get(r)||0),Nt=[],zt=()=>Nt.length?Nt.pop():Ct.grow(1),Bt=(r,e)=>{Ct.set(r,e),fe[r]=Ct.get(r)},It=r=>{const e=r.length;return[e%128|128,e>>7,...r]},Wt={i:127,p:127,j:126,f:125,d:124,e:111},$t=r=>It(Array.from(r,r=>Wt[r])),jt=(r,e)=>{var t=Uint8Array.of(0,97,115,109,1,0,0,0,1,...It([1,96,...$t(e.slice(1)),...$t("v"===e[0]?"":e[0])]),2,7,1,1,101,1,102,0,0,7,5,1,1,102,0,0),n=new WebAssembly.Module(t);return new WebAssembly.Instance(n,{e:{f:r}}).exports.f},Ot=(r,e)=>{var t=Mt(r);if(t)return t;var n=zt();try{Bt(n,r)}catch(F){if(!(F instanceof TypeError))throw F;var o=jt(r,e);Bt(n,o)}return bt.set(r,n),n},Lt=(...r)=>Tr.createPath(...r),Ut=(...r)=>Tr.unlink(...r),Vt=(...r)=>Tr.createLazyFile(...r),Ht=(...r)=>Tr.createDevice(...r);if(Tr.createPreloadedFile=Dr,Tr.preloadFile=Fr,Tr.staticInit(),n.noExitRuntime&&(H=n.noExitRuntime),n.preloadPlugins&&(_r=n.preloadPlugins),n.print&&(b=n.print),n.printErr&&(F=n.printErr),n.wasmBinary&&(u=n.wasmBinary),n.arguments&&n.arguments,n.thisProgram&&(o=n.thisProgram),n.preInit)for("function"==typeof n.preInit&&(n.preInit=[n.preInit]);n.preInit.length>0;)n.preInit.shift()();function qt(r){Ft=r._,Dt=n._malloc=r.aa,Tt=n._free=r.ba,St=r.ca,At=r.da,Pt=r.ea,xt=r.Y,Ct=r.$}n.addRunDependency=kr,n.removeRunDependency=Er,n.addFunction=Ot,n.UTF8ToString=Sr,n.FS_preloadFile=Fr,n.FS_unlink=Ut,n.FS_createPath=Lt,n.FS_createDevice=Ht,n.FS_createDataFile=wr,n.FS_createLazyFile=Vt;var Xt,Gt={n:K,x:Pr,M:xr,N:Cr,O:Rr,A:Lr,z:Kr,T:Yr,R:te,y:oe,o:ye,d:Ee,b:ke,S:be,t:Ce,B:Re,c:Me,U:Ne,Q:ze,F:Be,W:Ie,k:He,a:Zr,X:qe,p:Xe,j:Ge,i:Ke,C:Ye,m:Je,h:Qe,V:Ze,H:rt,G:ot,J:lt,K:ut,P:ht,v:mt,L:vt,I:Et,w:_t,q:Kt,l:Qt,r:rn,u:en,E:nn,s:Zt,f:Yt,D:on,g:tn,e:Jt};function Kt(r,e){var t=X();try{return he(r)(e)}catch(n){if(q(t),n!==n+0)throw n;St(1,0)}}function Yt(r,e){var t=X();try{he(r)(e)}catch(n){if(q(t),n!==n+0)throw n;St(1,0)}}function Jt(r,e,t,n){var o=X();try{he(r)(e,t,n)}catch(a){if(q(o),a!==a+0)throw a;St(1,0)}}function Qt(r,e,t){var n=X();try{return he(r)(e,t)}catch(o){if(q(n),o!==o+0)throw o;St(1,0)}}function Zt(r){var e=X();try{he(r)()}catch(t){if(q(e),t!==t+0)throw t;St(1,0)}}function rn(r,e,t,n){var o=X();try{return he(r)(e,t,n)}catch(a){if(q(o),a!==a+0)throw a;St(1,0)}}function en(r,e,t,n,o){var a=X();try{return he(r)(e,t,n,o)}catch(i){if(q(a),i!==i+0)throw i;St(1,0)}}function tn(r,e,t){var n=X();try{he(r)(e,t)}catch(o){if(q(n),o!==o+0)throw o;St(1,0)}}function nn(r,e,t,n,o,a,i,s,l,u){var d=X();try{return he(r)(e,t,n,o,a,i,s,l,u)}catch(c){if(q(d),c!==c+0)throw c;St(1,0)}}function on(r,e,t,n){var o=X();try{he(r)(e,t,n)}catch(a){if(q(o),a!==a+0)throw a;St(1,0)}}function an(){function r(){n.calledRun=!0,D||(P(),d?.(n),n.onRuntimeInitialized?.(),x())}gr>0?yr=an:(A(),gr>0?yr=an:n.setStatus?(n.setStatus("Running..."),setTimeout(()=>{setTimeout(()=>n.setStatus(""),1),r()},1)):r())}return Xt=await W(),an(),T?n:new Promise((r,e)=>{d=r,c=e})}export{r as default};
|
|
2
|
+
async function r(r={}){var e=r,t=!!globalThis.window,n=!!globalThis.WorkerGlobalScope;globalThis.process?.versions?.node&&globalThis.process;var o,a,i="./this.program",s=(r,e)=>{throw e},l="",u="";function d(r){return e.locateFile?e.locateFile(r,u):u+r}if(t||n){try{u=new URL(".",l).href}catch{}n&&(a=r=>{var e=new XMLHttpRequest;return e.open("GET",r,!1),e.responseType="arraybuffer",e.send(null),new Uint8Array(e.response)}),o=async r=>{var e=await fetch(r,{credentials:"same-origin"});if(e.ok)return e.arrayBuffer();throw new Error(e.status+" : "+e.url)}}var c,f,h,m,p,v,w,g,y,E,k,_,b,F,T=console.log.bind(console),D=console.error.bind(console),S=!1,A=!1;function P(){var r=Rt.buffer;m=new Int8Array(r),v=new Int16Array(r),e.HEAPU8=p=new Uint8Array(r),w=new Uint16Array(r),g=new Int32Array(r),e.HEAPU32=y=new Uint32Array(r),E=new Float32Array(r),e.HEAPF64=k=new Float64Array(r),_=new BigInt64Array(r),b=new BigUint64Array(r)}function x(){if(e.preRun)for("function"==typeof e.preRun&&(e.preRun=[e.preRun]);e.preRun.length;)q(e.preRun.shift());L(H)}function C(){A=!0,e.noFSInit||Ar.initialized||Ar.init(),Kt.Z(),Ar.ignorePermissions=!1}function R(){if(e.postRun)for("function"==typeof e.postRun&&(e.postRun=[e.postRun]);e.postRun.length;)V(e.postRun.shift());L(U)}function M(r){e.onAbort?.(r),D(r="Aborted("+r+")"),S=!0,r+=". Build with -sASSERTIONS for more info.";var t=new WebAssembly.RuntimeError(r);throw h?.(t),t}function N(){return e.locateFile?d("lyr3DWorker.wasm"):new URL("lyr3DWorker.wasm","").href}function z(r){if(r==F&&c)return new Uint8Array(c);if(a)return a(r);throw"both async and sync fetching of the wasm failed"}async function B(r){if(!c)try{var e=await o(r);return new Uint8Array(e)}catch{}return z(r)}async function I(r,e){try{var t=await B(r);return await WebAssembly.instantiate(t,e)}catch(n){D(`failed to asynchronously prepare wasm: ${n}`),M(n)}}async function W(r,e,t){if(!r)try{var n=fetch(e,{credentials:"same-origin"});return await WebAssembly.instantiateStreaming(n,t)}catch(o){D(`wasm streaming compile failed: ${o}`),D("falling back to ArrayBuffer instantiation")}return I(e,t)}function $(){return{a:Yt}}async function j(){function r(r,e){return Gt(Kt=r.exports),P(),Kt}function t(e){return r(e.instance)}var n=$();return e.instantiateWasm?new Promise((t,o)=>{e.instantiateWasm(n,(e,n)=>{t(r(e))})}):(F??=N(),t(await W(c,F,n)))}class O{name="ExitStatus";constructor(r){this.message=`Program terminated with exit(${r})`,this.status=r}}var L=r=>{for(;r.length>0;)r.shift()(e)},U=[],V=r=>U.push(r),H=[],q=r=>H.push(r),X=!0,G=r=>xt(r),K=()=>Ct();class Y{constructor(r){this.excPtr=r,this.ptr=r-24}set_type(r){y[this.ptr+4>>2]=r}get_type(){return y[this.ptr+4>>2]}set_destructor(r){y[this.ptr+8>>2]=r}get_destructor(){return y[this.ptr+8>>2]}set_caught(r){r=r?1:0,m[this.ptr+12]=r}get_caught(){return 0!=m[this.ptr+12]}set_rethrown(r){r=r?1:0,m[this.ptr+13]=r}get_rethrown(){return 0!=m[this.ptr+13]}init(r,e){this.set_adjusted_ptr(0),this.set_type(r),this.set_destructor(e)}set_adjusted_ptr(r){y[this.ptr+16>>2]=r}get_adjusted_ptr(){return y[this.ptr+16>>2]}}var J=(r,e,t)=>{throw new Y(r).init(e,t),r},Q=()=>{var r=g[+xr.varargs>>2];return xr.varargs+=4,r},Z=Q,rr={isAbs:r=>"/"===r.charAt(0),splitPath:r=>/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(r).slice(1),normalizeArray:(r,e)=>{for(var t=0,n=r.length-1;n>=0;n--){var o=r[n];"."===o?r.splice(n,1):".."===o?(r.splice(n,1),t++):t&&(r.splice(n,1),t--)}if(e)for(;t;t--)r.unshift("..");return r},normalize:r=>{var e=rr.isAbs(r),t="/"===r.slice(-1);return(r=rr.normalizeArray(r.split("/").filter(r=>!!r),!e).join("/"))||e||(r="."),r&&t&&(r+="/"),(e?"/":"")+r},dirname:r=>{var e=rr.splitPath(r),t=e[0],n=e[1];return t||n?(n&&(n=n.slice(0,-1)),t+n):"."},basename:r=>r&&r.match(/([^\/]+|\/)\/*$/)[1],join:(...r)=>rr.normalize(r.join("/")),join2:(r,e)=>rr.normalize(r+"/"+e)},er=()=>r=>crypto.getRandomValues(r),tr=r=>{(tr=er())(r)},nr={resolve:(...r)=>{for(var e="",t=!1,n=r.length-1;n>=-1&&!t;n--){var o=n>=0?r[n]:Ar.cwd();if("string"!=typeof o)throw new TypeError("Arguments to path.resolve must be strings");if(!o)return"";e=o+"/"+e,t=rr.isAbs(o)}return(t?"/":"")+(e=rr.normalizeArray(e.split("/").filter(r=>!!r),!t).join("/"))||"."},relative:(r,e)=>{function t(r){for(var e=0;e<r.length&&""===r[e];e++);for(var t=r.length-1;t>=0&&""===r[t];t--);return e>t?[]:r.slice(e,t-e+1)}r=nr.resolve(r).slice(1),e=nr.resolve(e).slice(1);for(var n=t(r.split("/")),o=t(e.split("/")),a=Math.min(n.length,o.length),i=a,s=0;s<a;s++)if(n[s]!==o[s]){i=s;break}var l=[];for(s=i;s<n.length;s++)l.push("..");return(l=l.concat(o.slice(i))).join("/")}},or=globalThis.TextDecoder&&new TextDecoder,ar=(r,e,t,n)=>{var o=e+t;if(n)return o;for(;r[e]&&!(e>=o);)++e;return e},ir=(r,e=0,t,n)=>{var o=ar(r,e,t,n);if(o-e>16&&r.buffer&&or)return or.decode(r.subarray(e,o));for(var a="";e<o;){var i=r[e++];if(128&i){var s=63&r[e++];if(192!=(224&i)){var l=63&r[e++];if((i=224==(240&i)?(15&i)<<12|s<<6|l:(7&i)<<18|s<<12|l<<6|63&r[e++])<65536)a+=String.fromCharCode(i);else{var u=i-65536;a+=String.fromCharCode(55296|u>>10,56320|1023&u)}}else a+=String.fromCharCode((31&i)<<6|s)}else a+=String.fromCharCode(i)}return a},sr=[],lr=r=>{for(var e=0,t=0;t<r.length;++t){var n=r.charCodeAt(t);n<=127?e++:n<=2047?e+=2:n>=55296&&n<=57343?(e+=4,++t):e+=3}return e},ur=(r,e,t,n)=>{if(!(n>0))return 0;for(var o=t,a=t+n-1,i=0;i<r.length;++i){var s=r.codePointAt(i);if(s<=127){if(t>=a)break;e[t++]=s}else if(s<=2047){if(t+1>=a)break;e[t++]=192|s>>6,e[t++]=128|63&s}else if(s<=65535){if(t+2>=a)break;e[t++]=224|s>>12,e[t++]=128|s>>6&63,e[t++]=128|63&s}else{if(t+3>=a)break;e[t++]=240|s>>18,e[t++]=128|s>>12&63,e[t++]=128|s>>6&63,e[t++]=128|63&s,i++}}return e[t]=0,t-o},dr=(r,e,t)=>{var n=lr(r)+1,o=new Array(n),a=ur(r,o,0,o.length);return o.length=a,o},cr=()=>{if(!sr.length){var r=null;if(globalThis.window?.prompt&&null!==(r=window.prompt("Input: "))&&(r+="\n"),!r)return null;sr=dr(r)}return sr.shift()},fr={ttys:[],init(){},shutdown(){},register(r,e){fr.ttys[r]={input:[],output:[],ops:e},Ar.registerDevice(r,fr.stream_ops)},stream_ops:{open(r){var e=fr.ttys[r.node.rdev];if(!e)throw new Ar.ErrnoError(43);r.tty=e,r.seekable=!1},close(r){r.tty.ops.fsync(r.tty)},fsync(r){r.tty.ops.fsync(r.tty)},read(r,e,t,n,o){if(!r.tty||!r.tty.ops.get_char)throw new Ar.ErrnoError(60);for(var a=0,i=0;i<n;i++){var s;try{s=r.tty.ops.get_char(r.tty)}catch(l){throw new Ar.ErrnoError(29)}if(void 0===s&&0===a)throw new Ar.ErrnoError(6);if(null==s)break;a++,e[t+i]=s}return a&&(r.node.atime=Date.now()),a},write(r,e,t,n,o){if(!r.tty||!r.tty.ops.put_char)throw new Ar.ErrnoError(60);try{for(var a=0;a<n;a++)r.tty.ops.put_char(r.tty,e[t+a])}catch(i){throw new Ar.ErrnoError(29)}return n&&(r.node.mtime=r.node.ctime=Date.now()),a}},default_tty_ops:{get_char:r=>cr(),put_char(r,e){null===e||10===e?(T(ir(r.output)),r.output=[]):0!=e&&r.output.push(e)},fsync(r){r.output?.length>0&&(T(ir(r.output)),r.output=[])},ioctl_tcgets:r=>({c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}),ioctl_tcsets:(r,e,t)=>0,ioctl_tiocgwinsz:r=>[24,80]},default_tty1_ops:{put_char(r,e){null===e||10===e?(D(ir(r.output)),r.output=[]):0!=e&&r.output.push(e)},fsync(r){r.output?.length>0&&(D(ir(r.output)),r.output=[])}}},hr=r=>{M()},mr={ops_table:null,mount:r=>mr.createNode(null,"/",16895,0),createNode(r,e,t,n){if(Ar.isBlkdev(t)||Ar.isFIFO(t))throw new Ar.ErrnoError(63);mr.ops_table||={dir:{node:{getattr:mr.node_ops.getattr,setattr:mr.node_ops.setattr,lookup:mr.node_ops.lookup,mknod:mr.node_ops.mknod,rename:mr.node_ops.rename,unlink:mr.node_ops.unlink,rmdir:mr.node_ops.rmdir,readdir:mr.node_ops.readdir,symlink:mr.node_ops.symlink},stream:{llseek:mr.stream_ops.llseek}},file:{node:{getattr:mr.node_ops.getattr,setattr:mr.node_ops.setattr},stream:{llseek:mr.stream_ops.llseek,read:mr.stream_ops.read,write:mr.stream_ops.write,mmap:mr.stream_ops.mmap,msync:mr.stream_ops.msync}},link:{node:{getattr:mr.node_ops.getattr,setattr:mr.node_ops.setattr,readlink:mr.node_ops.readlink},stream:{}},chrdev:{node:{getattr:mr.node_ops.getattr,setattr:mr.node_ops.setattr},stream:Ar.chrdev_stream_ops}};var o=Ar.createNode(r,e,t,n);return Ar.isDir(o.mode)?(o.node_ops=mr.ops_table.dir.node,o.stream_ops=mr.ops_table.dir.stream,o.contents={}):Ar.isFile(o.mode)?(o.node_ops=mr.ops_table.file.node,o.stream_ops=mr.ops_table.file.stream,o.usedBytes=0,o.contents=mr.emptyFileContents??=new Uint8Array(0)):Ar.isLink(o.mode)?(o.node_ops=mr.ops_table.link.node,o.stream_ops=mr.ops_table.link.stream):Ar.isChrdev(o.mode)&&(o.node_ops=mr.ops_table.chrdev.node,o.stream_ops=mr.ops_table.chrdev.stream),o.atime=o.mtime=o.ctime=Date.now(),r&&(r.contents[e]=o,r.atime=r.mtime=r.ctime=o.atime),o},getFileDataAsTypedArray:r=>r.contents.subarray(0,r.usedBytes),expandFileStorage(r,e){var t=r.contents.length;if(!(t>=e)){var n=1048576;e=Math.max(e,t*(t<n?2:1.125)>>>0),t&&(e=Math.max(e,256));var o=mr.getFileDataAsTypedArray(r);r.contents=new Uint8Array(e),r.contents.set(o)}},resizeFileStorage(r,e){if(r.usedBytes!=e){var t=r.contents;r.contents=new Uint8Array(e),r.contents.set(t.subarray(0,Math.min(e,r.usedBytes))),r.usedBytes=e}},node_ops:{getattr(r){var e={};return e.dev=Ar.isChrdev(r.mode)?r.id:1,e.ino=r.id,e.mode=r.mode,e.nlink=1,e.uid=0,e.gid=0,e.rdev=r.rdev,Ar.isDir(r.mode)?e.size=4096:Ar.isFile(r.mode)?e.size=r.usedBytes:Ar.isLink(r.mode)?e.size=r.link.length:e.size=0,e.atime=new Date(r.atime),e.mtime=new Date(r.mtime),e.ctime=new Date(r.ctime),e.blksize=4096,e.blocks=Math.ceil(e.size/e.blksize),e},setattr(r,e){for(const t of["mode","atime","mtime","ctime"])null!=e[t]&&(r[t]=e[t]);void 0!==e.size&&mr.resizeFileStorage(r,e.size)},lookup(r,e){throw mr.doesNotExistError||(mr.doesNotExistError=new Ar.ErrnoError(44),mr.doesNotExistError.stack="<generic error, no stack>"),mr.doesNotExistError},mknod:(r,e,t,n)=>mr.createNode(r,e,t,n),rename(r,e,t){var n;try{n=Ar.lookupNode(e,t)}catch(a){}if(n){if(Ar.isDir(r.mode))for(var o in n.contents)throw new Ar.ErrnoError(55);Ar.hashRemoveNode(n)}delete r.parent.contents[r.name],e.contents[t]=r,r.name=t,e.ctime=e.mtime=r.parent.ctime=r.parent.mtime=Date.now()},unlink(r,e){delete r.contents[e],r.ctime=r.mtime=Date.now()},rmdir(r,e){var t=Ar.lookupNode(r,e);for(var n in t.contents)throw new Ar.ErrnoError(55);delete r.contents[e],r.ctime=r.mtime=Date.now()},readdir:r=>[".","..",...Object.keys(r.contents)],symlink(r,e,t){var n=mr.createNode(r,e,41471,0);return n.link=t,n},readlink(r){if(!Ar.isLink(r.mode))throw new Ar.ErrnoError(28);return r.link}},stream_ops:{read(r,e,t,n,o){var a=r.node.contents;if(o>=r.node.usedBytes)return 0;var i=Math.min(r.node.usedBytes-o,n);return e.set(a.subarray(o,o+i),t),i},write(r,e,t,n,o,a){if(e.buffer===m.buffer&&(a=!1),!n)return 0;var i=r.node;return i.mtime=i.ctime=Date.now(),a?(i.contents=e.subarray(t,t+n),i.usedBytes=n):0===i.usedBytes&&0===o?(i.contents=e.slice(t,t+n),i.usedBytes=n):(mr.expandFileStorage(i,o+n),i.contents.set(e.subarray(t,t+n),o),i.usedBytes=Math.max(i.usedBytes,o+n)),n},llseek(r,e,t){var n=e;if(1===t?n+=r.position:2===t&&Ar.isFile(r.node.mode)&&(n+=r.node.usedBytes),n<0)throw new Ar.ErrnoError(28);return n},mmap(r,e,t,n,o){if(!Ar.isFile(r.node.mode))throw new Ar.ErrnoError(43);var a,i,s=r.node.contents;if(2&o||s.buffer!==m.buffer){if(i=!0,!(a=hr()))throw new Ar.ErrnoError(48);s&&((t>0||t+e<s.length)&&(s=s.subarray?s.subarray(t,t+e):Array.prototype.slice.call(s,t,t+e)),m.set(s,a))}else i=!1,a=s.byteOffset;return{ptr:a,allocated:i}},msync:(r,e,t,n,o)=>(mr.stream_ops.write(r,e,0,n,t,!1),0)}},pr=r=>{if("string"!=typeof r)return r;var e={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090}[r];if(void 0===e)throw new Error(`Unknown file open mode: ${r}`);return e},vr=r=>("string"==typeof r&&(r=dr(r)),r.subarray||(r=new Uint8Array(r)),r),wr=(r,e)=>{var t=0;return r&&(t|=365),e&&(t|=146),t},gr=async r=>{var e=await o(r);return new Uint8Array(e)},yr=(...r)=>Ar.createDataFile(...r),Er=0,kr=null,_r=r=>{if(Er--,e.monitorRunDependencies?.(Er),0==Er&&kr){var t=kr;kr=null,t()}},br=r=>{Er++,e.monitorRunDependencies?.(Er)},Fr=[],Tr=async(r,e)=>{for(var t of("undefined"!=typeof Browser&&Browser.init(),Fr))if(t.canHandle(e))return t.handle(r,e);return r},Dr=async(r,e,t,n,o,a,i,s)=>{var l=e?nr.resolve(rr.join2(r,e)):r;br();try{var u=t;"string"==typeof t&&(u=await gr(t)),u=await Tr(u,l),s?.(),a||yr(r,e,u,n,o,i)}finally{_r()}},Sr=(r,e,t,n,o,a,i,s,l,u)=>{Dr(r,e,t,n,o,s,l,u).then(a).catch(i)},Ar={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,filesystems:null,syncFSRequests:0,ErrnoError:class{name="ErrnoError";constructor(r){this.errno=r}},FSStream:class{shared={};get object(){return this.node}set object(r){this.node=r}get isRead(){return 1!=(2097155&this.flags)}get isWrite(){return!!(2097155&this.flags)}get isAppend(){return 1024&this.flags}get flags(){return this.shared.flags}set flags(r){this.shared.flags=r}get position(){return this.shared.position}set position(r){this.shared.position=r}},FSNode:class{node_ops={};stream_ops={};readMode=365;writeMode=146;mounted=null;constructor(r,e,t,n){r||(r=this),this.parent=r,this.mount=r.mount,this.id=Ar.nextInode++,this.name=e,this.mode=t,this.rdev=n,this.atime=this.mtime=this.ctime=Date.now()}get read(){return(this.mode&this.readMode)===this.readMode}set read(r){r?this.mode|=this.readMode:this.mode&=~this.readMode}get write(){return(this.mode&this.writeMode)===this.writeMode}set write(r){r?this.mode|=this.writeMode:this.mode&=~this.writeMode}get isFolder(){return Ar.isDir(this.mode)}get isDevice(){return Ar.isChrdev(this.mode)}},lookupPath(r,e={}){if(!r)throw new Ar.ErrnoError(44);e.follow_mount??=!0,rr.isAbs(r)||(r=Ar.cwd()+"/"+r);r:for(var t=0;t<40;t++){for(var n=r.split("/").filter(r=>!!r),o=Ar.root,a="/",i=0;i<n.length;i++){var s=i===n.length-1;if(s&&e.parent)break;if("."!==n[i])if(".."!==n[i]){a=rr.join2(a,n[i]);try{o=Ar.lookupNode(o,n[i])}catch(u){if(44===u?.errno&&s&&e.noent_okay)return{path:a};throw u}if(!Ar.isMountpoint(o)||s&&!e.follow_mount||(o=o.mounted.root),Ar.isLink(o.mode)&&(!s||e.follow)){if(!o.node_ops.readlink)throw new Ar.ErrnoError(52);var l=o.node_ops.readlink(o);rr.isAbs(l)||(l=rr.dirname(a)+"/"+l),r=l+"/"+n.slice(i+1).join("/");continue r}}else{if(a=rr.dirname(a),Ar.isRoot(o)){r=a+"/"+n.slice(i+1).join("/"),t--;continue r}o=o.parent}}return{path:a,node:o}}throw new Ar.ErrnoError(32)},getPath(r){for(var e;;){if(Ar.isRoot(r)){var t=r.mount.mountpoint;return e?"/"!==t[t.length-1]?`${t}/${e}`:t+e:t}e=e?`${r.name}/${e}`:r.name,r=r.parent}},hashName(r,e){for(var t=0,n=0;n<e.length;n++)t=(t<<5)-t+e.charCodeAt(n)|0;return(r+t>>>0)%Ar.nameTable.length},hashAddNode(r){var e=Ar.hashName(r.parent.id,r.name);r.name_next=Ar.nameTable[e],Ar.nameTable[e]=r},hashRemoveNode(r){var e=Ar.hashName(r.parent.id,r.name);if(Ar.nameTable[e]===r)Ar.nameTable[e]=r.name_next;else for(var t=Ar.nameTable[e];t;){if(t.name_next===r){t.name_next=r.name_next;break}t=t.name_next}},lookupNode(r,e){var t=Ar.mayLookup(r);if(t)throw new Ar.ErrnoError(t);for(var n=Ar.hashName(r.id,e),o=Ar.nameTable[n];o;o=o.name_next){var a=o.name;if(o.parent.id===r.id&&a===e)return o}return Ar.lookup(r,e)},createNode(r,e,t,n){var o=new Ar.FSNode(r,e,t,n);return Ar.hashAddNode(o),o},destroyNode(r){Ar.hashRemoveNode(r)},isRoot:r=>r===r.parent,isMountpoint:r=>!!r.mounted,isFile:r=>32768==(61440&r),isDir:r=>16384==(61440&r),isLink:r=>40960==(61440&r),isChrdev:r=>8192==(61440&r),isBlkdev:r=>24576==(61440&r),isFIFO:r=>4096==(61440&r),isSocket:r=>!(49152&~r),flagsToPermissionString(r){var e=["r","w","rw"][3&r];return 512&r&&(e+="w"),e},nodePermissions:(r,e)=>Ar.ignorePermissions||(!e.includes("r")||292&r.mode)&&(!e.includes("w")||146&r.mode)&&(!e.includes("x")||73&r.mode)?0:2,mayLookup(r){if(!Ar.isDir(r.mode))return 54;var e=Ar.nodePermissions(r,"x");return e||(r.node_ops.lookup?0:2)},mayCreate(r,e){if(!Ar.isDir(r.mode))return 54;try{Ar.lookupNode(r,e);return 20}catch(t){}return Ar.nodePermissions(r,"wx")},mayDelete(r,e,t){var n;try{n=Ar.lookupNode(r,e)}catch(a){return a.errno}var o=Ar.nodePermissions(r,"wx");if(o)return o;if(t){if(!Ar.isDir(n.mode))return 54;if(Ar.isRoot(n)||Ar.getPath(n)===Ar.cwd())return 10}else if(Ar.isDir(n.mode))return 31;return 0},mayOpen(r,e){if(!r)return 44;if(Ar.isLink(r.mode))return 32;var t=Ar.flagsToPermissionString(e);return Ar.isDir(r.mode)&&("r"!==t||576&e)?31:Ar.nodePermissions(r,t)},checkOpExists(r,e){if(!r)throw new Ar.ErrnoError(e);return r},MAX_OPEN_FDS:4096,nextfd(){for(var r=0;r<=Ar.MAX_OPEN_FDS;r++)if(!Ar.streams[r])return r;throw new Ar.ErrnoError(33)},getStreamChecked(r){var e=Ar.getStream(r);if(!e)throw new Ar.ErrnoError(8);return e},getStream:r=>Ar.streams[r],createStream:(r,e=-1)=>(r=Object.assign(new Ar.FSStream,r),-1==e&&(e=Ar.nextfd()),r.fd=e,Ar.streams[e]=r,r),closeStream(r){Ar.streams[r]=null},dupStream(r,e=-1){var t=Ar.createStream(r,e);return t.stream_ops?.dup?.(t),t},doSetAttr(r,e,t){var n=r?.stream_ops.setattr,o=n?r:e;n??=e.node_ops.setattr,Ar.checkOpExists(n,63),n(o,t)},chrdev_stream_ops:{open(r){var e=Ar.getDevice(r.node.rdev);r.stream_ops=e.stream_ops,r.stream_ops.open?.(r)},llseek(){throw new Ar.ErrnoError(70)}},major:r=>r>>8,minor:r=>255&r,makedev:(r,e)=>r<<8|e,registerDevice(r,e){Ar.devices[r]={stream_ops:e}},getDevice:r=>Ar.devices[r],getMounts(r){for(var e=[],t=[r];t.length;){var n=t.pop();e.push(n),t.push(...n.mounts)}return e},syncfs(r,e){"function"==typeof r&&(e=r,r=!1),Ar.syncFSRequests++,Ar.syncFSRequests>1&&D(`warning: ${Ar.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`);var t=Ar.getMounts(Ar.root.mount),n=0;function o(r){return Ar.syncFSRequests--,e(r)}function a(r){if(r)return a.errored?void 0:(a.errored=!0,o(r));++n>=t.length&&o(null)}for(var i of t)i.type.syncfs?i.type.syncfs(i,r,a):a(null)},mount(r,e,t){var n,o="/"===t,a=!t;if(o&&Ar.root)throw new Ar.ErrnoError(10);if(!o&&!a){var i=Ar.lookupPath(t,{follow_mount:!1});if(t=i.path,n=i.node,Ar.isMountpoint(n))throw new Ar.ErrnoError(10);if(!Ar.isDir(n.mode))throw new Ar.ErrnoError(54)}var s={type:r,opts:e,mountpoint:t,mounts:[]},l=r.mount(s);return l.mount=s,s.root=l,o?Ar.root=l:n&&(n.mounted=s,n.mount&&n.mount.mounts.push(s)),l},unmount(r){var e=Ar.lookupPath(r,{follow_mount:!1});if(!Ar.isMountpoint(e.node))throw new Ar.ErrnoError(28);var t=e.node,n=t.mounted,o=Ar.getMounts(n);for(var[a,i]of Object.entries(Ar.nameTable))for(;i;){var s=i.name_next;o.includes(i.mount)&&Ar.destroyNode(i),i=s}t.mounted=null;var l=t.mount.mounts.indexOf(n);t.mount.mounts.splice(l,1)},lookup:(r,e)=>r.node_ops.lookup(r,e),mknod(r,e,t){var n=Ar.lookupPath(r,{parent:!0}).node,o=rr.basename(r);if(!o)throw new Ar.ErrnoError(28);if("."===o||".."===o)throw new Ar.ErrnoError(20);var a=Ar.mayCreate(n,o);if(a)throw new Ar.ErrnoError(a);if(!n.node_ops.mknod)throw new Ar.ErrnoError(63);return n.node_ops.mknod(n,o,e,t)},statfs:r=>Ar.statfsNode(Ar.lookupPath(r,{follow:!0}).node),statfsStream:r=>Ar.statfsNode(r.node),statfsNode(r){var e={bsize:4096,frsize:4096,blocks:1e6,bfree:5e5,bavail:5e5,files:Ar.nextInode,ffree:Ar.nextInode-1,fsid:42,flags:2,namelen:255};return r.node_ops.statfs&&Object.assign(e,r.node_ops.statfs(r.mount.opts.root)),e},create:(r,e=438)=>(e&=4095,e|=32768,Ar.mknod(r,e,0)),mkdir:(r,e=511)=>(e&=1023,e|=16384,Ar.mknod(r,e,0)),mkdirTree(r,e){var t=r.split("/"),n="";for(var o of t)if(o){(n||rr.isAbs(r))&&(n+="/"),n+=o;try{Ar.mkdir(n,e)}catch(a){if(20!=a.errno)throw a}}},mkdev:(r,e,t)=>(void 0===t&&(t=e,e=438),e|=8192,Ar.mknod(r,e,t)),symlink(r,e){if(!nr.resolve(r))throw new Ar.ErrnoError(44);var t=Ar.lookupPath(e,{parent:!0}).node;if(!t)throw new Ar.ErrnoError(44);var n=rr.basename(e),o=Ar.mayCreate(t,n);if(o)throw new Ar.ErrnoError(o);if(!t.node_ops.symlink)throw new Ar.ErrnoError(63);return t.node_ops.symlink(t,n,r)},rename(r,e){var t,n,o=rr.dirname(r),a=rr.dirname(e),i=rr.basename(r),s=rr.basename(e);if(t=Ar.lookupPath(r,{parent:!0}).node,n=Ar.lookupPath(e,{parent:!0}).node,!t||!n)throw new Ar.ErrnoError(44);if(t.mount!==n.mount)throw new Ar.ErrnoError(75);var l,u=Ar.lookupNode(t,i),d=nr.relative(r,a);if("."!==d.charAt(0))throw new Ar.ErrnoError(28);if("."!==(d=nr.relative(e,o)).charAt(0))throw new Ar.ErrnoError(55);try{l=Ar.lookupNode(n,s)}catch(h){}if(u!==l){var c=Ar.isDir(u.mode),f=Ar.mayDelete(t,i,c);if(f)throw new Ar.ErrnoError(f);if(f=l?Ar.mayDelete(n,s,c):Ar.mayCreate(n,s))throw new Ar.ErrnoError(f);if(!t.node_ops.rename)throw new Ar.ErrnoError(63);if(Ar.isMountpoint(u)||l&&Ar.isMountpoint(l))throw new Ar.ErrnoError(10);if(n!==t&&(f=Ar.nodePermissions(t,"w")))throw new Ar.ErrnoError(f);Ar.hashRemoveNode(u);try{t.node_ops.rename(u,n,s),u.parent=n}catch(h){throw h}finally{Ar.hashAddNode(u)}}},rmdir(r){var e=Ar.lookupPath(r,{parent:!0}).node,t=rr.basename(r),n=Ar.lookupNode(e,t),o=Ar.mayDelete(e,t,!0);if(o)throw new Ar.ErrnoError(o);if(!e.node_ops.rmdir)throw new Ar.ErrnoError(63);if(Ar.isMountpoint(n))throw new Ar.ErrnoError(10);e.node_ops.rmdir(e,t),Ar.destroyNode(n)},readdir(r){var e=Ar.lookupPath(r,{follow:!0}).node;return Ar.checkOpExists(e.node_ops.readdir,54)(e)},unlink(r){var e=Ar.lookupPath(r,{parent:!0}).node;if(!e)throw new Ar.ErrnoError(44);var t=rr.basename(r),n=Ar.lookupNode(e,t),o=Ar.mayDelete(e,t,!1);if(o)throw new Ar.ErrnoError(o);if(!e.node_ops.unlink)throw new Ar.ErrnoError(63);if(Ar.isMountpoint(n))throw new Ar.ErrnoError(10);e.node_ops.unlink(e,t),Ar.destroyNode(n)},readlink(r){var e=Ar.lookupPath(r).node;if(!e)throw new Ar.ErrnoError(44);if(!e.node_ops.readlink)throw new Ar.ErrnoError(28);return e.node_ops.readlink(e)},stat(r,e){var t=Ar.lookupPath(r,{follow:!e}).node;return Ar.checkOpExists(t.node_ops.getattr,63)(t)},fstat(r){var e=Ar.getStreamChecked(r),t=e.node,n=e.stream_ops.getattr,o=n?e:t;return n??=t.node_ops.getattr,Ar.checkOpExists(n,63),n(o)},lstat:r=>Ar.stat(r,!0),doChmod(r,e,t,n){Ar.doSetAttr(r,e,{mode:4095&t|-4096&e.mode,ctime:Date.now(),dontFollow:n})},chmod(r,e,t){var n;"string"==typeof r?n=Ar.lookupPath(r,{follow:!t}).node:n=r;Ar.doChmod(null,n,e,t)},lchmod(r,e){Ar.chmod(r,e,!0)},fchmod(r,e){var t=Ar.getStreamChecked(r);Ar.doChmod(t,t.node,e,!1)},doChown(r,e,t){Ar.doSetAttr(r,e,{timestamp:Date.now(),dontFollow:t})},chown(r,e,t,n){var o;"string"==typeof r?o=Ar.lookupPath(r,{follow:!n}).node:o=r;Ar.doChown(null,o,n)},lchown(r,e,t){Ar.chown(r,e,t,!0)},fchown(r,e,t){var n=Ar.getStreamChecked(r);Ar.doChown(n,n.node,!1)},doTruncate(r,e,t){if(Ar.isDir(e.mode))throw new Ar.ErrnoError(31);if(!Ar.isFile(e.mode))throw new Ar.ErrnoError(28);var n=Ar.nodePermissions(e,"w");if(n)throw new Ar.ErrnoError(n);Ar.doSetAttr(r,e,{size:t,timestamp:Date.now()})},truncate(r,e){if(e<0)throw new Ar.ErrnoError(28);var t;"string"==typeof r?t=Ar.lookupPath(r,{follow:!0}).node:t=r;Ar.doTruncate(null,t,e)},ftruncate(r,e){var t=Ar.getStreamChecked(r);if(e<0||!(2097155&t.flags))throw new Ar.ErrnoError(28);Ar.doTruncate(t,t.node,e)},utime(r,e,t){var n=Ar.lookupPath(r,{follow:!0}).node;Ar.checkOpExists(n.node_ops.setattr,63)(n,{atime:e,mtime:t})},open(r,e,t=438){if(""===r)throw new Ar.ErrnoError(44);var n,o;if(t=64&(e=pr(e))?4095&t|32768:0,"object"==typeof r)n=r;else{o=r.endsWith("/");var a=Ar.lookupPath(r,{follow:!(131072&e),noent_okay:!0});n=a.node,r=a.path}var i=!1;if(64&e)if(n){if(128&e)throw new Ar.ErrnoError(20)}else{if(o)throw new Ar.ErrnoError(31);n=Ar.mknod(r,511|t,0),i=!0}if(!n)throw new Ar.ErrnoError(44);if(Ar.isChrdev(n.mode)&&(e&=-513),65536&e&&!Ar.isDir(n.mode))throw new Ar.ErrnoError(54);if(!i){var s=Ar.mayOpen(n,e);if(s)throw new Ar.ErrnoError(s)}512&e&&!i&&Ar.truncate(n,0),e&=-131713;var l=Ar.createStream({node:n,path:Ar.getPath(n),flags:e,seekable:!0,position:0,stream_ops:n.stream_ops,ungotten:[],error:!1});return l.stream_ops.open&&l.stream_ops.open(l),i&&Ar.chmod(n,511&t),l},close(r){if(Ar.isClosed(r))throw new Ar.ErrnoError(8);r.getdents&&(r.getdents=null);try{r.stream_ops.close&&r.stream_ops.close(r)}catch(e){throw e}finally{Ar.closeStream(r.fd)}r.fd=null},isClosed:r=>null===r.fd,llseek(r,e,t){if(Ar.isClosed(r))throw new Ar.ErrnoError(8);if(!r.seekable||!r.stream_ops.llseek)throw new Ar.ErrnoError(70);if(0!=t&&1!=t&&2!=t)throw new Ar.ErrnoError(28);return r.position=r.stream_ops.llseek(r,e,t),r.ungotten=[],r.position},read(r,e,t,n,o){if(n<0||o<0)throw new Ar.ErrnoError(28);if(Ar.isClosed(r))throw new Ar.ErrnoError(8);if(1==(2097155&r.flags))throw new Ar.ErrnoError(8);if(Ar.isDir(r.node.mode))throw new Ar.ErrnoError(31);if(!r.stream_ops.read)throw new Ar.ErrnoError(28);var a=void 0!==o;if(a){if(!r.seekable)throw new Ar.ErrnoError(70)}else o=r.position;var i=r.stream_ops.read(r,e,t,n,o);return a||(r.position+=i),i},write(r,e,t,n,o,a){if(n<0||o<0)throw new Ar.ErrnoError(28);if(Ar.isClosed(r))throw new Ar.ErrnoError(8);if(!(2097155&r.flags))throw new Ar.ErrnoError(8);if(Ar.isDir(r.node.mode))throw new Ar.ErrnoError(31);if(!r.stream_ops.write)throw new Ar.ErrnoError(28);r.seekable&&1024&r.flags&&Ar.llseek(r,0,2);var i=void 0!==o;if(i){if(!r.seekable)throw new Ar.ErrnoError(70)}else o=r.position;var s=r.stream_ops.write(r,e,t,n,o,a);return i||(r.position+=s),s},mmap(r,e,t,n,o){if(2&n&&!(2&o)&&2!=(2097155&r.flags))throw new Ar.ErrnoError(2);if(1==(2097155&r.flags))throw new Ar.ErrnoError(2);if(!r.stream_ops.mmap)throw new Ar.ErrnoError(43);if(!e)throw new Ar.ErrnoError(28);return r.stream_ops.mmap(r,e,t,n,o)},msync:(r,e,t,n,o)=>r.stream_ops.msync?r.stream_ops.msync(r,e,t,n,o):0,ioctl(r,e,t){if(!r.stream_ops.ioctl)throw new Ar.ErrnoError(59);return r.stream_ops.ioctl(r,e,t)},readFile(r,e={}){e.flags=e.flags||0,e.encoding=e.encoding||"binary","utf8"!==e.encoding&&"binary"!==e.encoding&&M(`Invalid encoding type "${e.encoding}"`);var t=Ar.open(r,e.flags),n=Ar.stat(r).size,o=new Uint8Array(n);return Ar.read(t,o,0,n,0),"utf8"===e.encoding&&(o=ir(o)),Ar.close(t),o},writeFile(r,e,t={}){t.flags=t.flags||577;var n=Ar.open(r,t.flags,t.mode);e=vr(e),Ar.write(n,e,0,e.byteLength,void 0,t.canOwn),Ar.close(n)},cwd:()=>Ar.currentPath,chdir(r){var e=Ar.lookupPath(r,{follow:!0});if(null===e.node)throw new Ar.ErrnoError(44);if(!Ar.isDir(e.node.mode))throw new Ar.ErrnoError(54);var t=Ar.nodePermissions(e.node,"x");if(t)throw new Ar.ErrnoError(t);Ar.currentPath=e.path},createDefaultDirectories(){Ar.mkdir("/tmp"),Ar.mkdir("/home"),Ar.mkdir("/home/web_user")},createDefaultDevices(){Ar.mkdir("/dev"),Ar.registerDevice(Ar.makedev(1,3),{read:()=>0,write:(r,e,t,n,o)=>n,llseek:()=>0}),Ar.mkdev("/dev/null",Ar.makedev(1,3)),fr.register(Ar.makedev(5,0),fr.default_tty_ops),fr.register(Ar.makedev(6,0),fr.default_tty1_ops),Ar.mkdev("/dev/tty",Ar.makedev(5,0)),Ar.mkdev("/dev/tty1",Ar.makedev(6,0));var r=new Uint8Array(1024),e=0,t=()=>(0===e&&(tr(r),e=r.byteLength),r[--e]);Ar.createDevice("/dev","random",t),Ar.createDevice("/dev","urandom",t),Ar.mkdir("/dev/shm"),Ar.mkdir("/dev/shm/tmp")},createSpecialDirectories(){Ar.mkdir("/proc");var r=Ar.mkdir("/proc/self");Ar.mkdir("/proc/self/fd"),Ar.mount({mount(){var e=Ar.createNode(r,"fd",16895,73);return e.stream_ops={llseek:mr.stream_ops.llseek},e.node_ops={lookup(r,e){var t=+e,n=Ar.getStreamChecked(t),o={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>n.path},id:t+1};return o.parent=o,o},readdir:()=>Array.from(Ar.streams.entries()).filter(([r,e])=>e).map(([r,e])=>r.toString())},e}},{},"/proc/self/fd")},createStandardStreams(r,e,t){r?Ar.createDevice("/dev","stdin",r):Ar.symlink("/dev/tty","/dev/stdin"),e?Ar.createDevice("/dev","stdout",null,e):Ar.symlink("/dev/tty","/dev/stdout"),t?Ar.createDevice("/dev","stderr",null,t):Ar.symlink("/dev/tty1","/dev/stderr"),Ar.open("/dev/stdin",0),Ar.open("/dev/stdout",1),Ar.open("/dev/stderr",1)},staticInit(){Ar.nameTable=new Array(4096),Ar.mount(mr,{},"/"),Ar.createDefaultDirectories(),Ar.createDefaultDevices(),Ar.createSpecialDirectories(),Ar.filesystems={MEMFS:mr}},init(r,t,n){Ar.initialized=!0,r??=e.stdin,t??=e.stdout,n??=e.stderr,Ar.createStandardStreams(r,t,n)},quit(){for(var r of(Ar.initialized=!1,Ar.streams))r&&Ar.close(r)},findObject(r,e){var t=Ar.analyzePath(r,e);return t.exists?t.object:null},analyzePath(r,e){try{r=(n=Ar.lookupPath(r,{follow:!e})).path}catch(o){}var t={isRoot:!1,exists:!1,error:0,name:null,path:null,object:null,parentExists:!1,parentPath:null,parentObject:null};try{var n=Ar.lookupPath(r,{parent:!0});t.parentExists=!0,t.parentPath=n.path,t.parentObject=n.node,t.name=rr.basename(r),n=Ar.lookupPath(r,{follow:!e}),t.exists=!0,t.path=n.path,t.object=n.node,t.name=n.node.name,t.isRoot="/"===n.path}catch(o){t.error=o.errno}return t},createPath(r,e,t,n){r="string"==typeof r?r:Ar.getPath(r);for(var o=e.split("/").reverse();o.length;){var a=o.pop();if(a){var i=rr.join2(r,a);try{Ar.mkdir(i)}catch(s){if(20!=s.errno)throw s}r=i}}return i},createFile(r,e,t,n,o){var a=rr.join2("string"==typeof r?r:Ar.getPath(r),e),i=wr(n,o);return Ar.create(a,i)},createDataFile(r,e,t,n,o,a){var i=e;r&&(r="string"==typeof r?r:Ar.getPath(r),i=e?rr.join2(r,e):r);var s=wr(n,o),l=Ar.create(i,s);if(t){t=vr(t),Ar.chmod(l,146|s);var u=Ar.open(l,577);Ar.write(u,t,0,t.length,0,a),Ar.close(u),Ar.chmod(l,s)}},createDevice(r,e,t,n){var o=rr.join2("string"==typeof r?r:Ar.getPath(r),e),a=wr(!!t,!!n);Ar.createDevice.major??=64;var i=Ar.makedev(Ar.createDevice.major++,0);return Ar.registerDevice(i,{open(r){r.seekable=!1},close(r){n?.buffer?.length&&n(10)},read(r,e,n,o,a){for(var i=0,s=0;s<o;s++){var l;try{l=t()}catch(u){throw new Ar.ErrnoError(29)}if(void 0===l&&0===i)throw new Ar.ErrnoError(6);if(null==l)break;i++,e[n+s]=l}return i&&(r.node.atime=Date.now()),i},write(r,e,t,o,a){for(var i=0;i<o;i++)try{n(e[t+i])}catch(s){throw new Ar.ErrnoError(29)}return o&&(r.node.mtime=r.node.ctime=Date.now()),i}}),Ar.mkdev(o,a,i)},forceLoadFile(r){if(r.isDevice||r.isFolder||r.link||r.contents)return!0;if(globalThis.XMLHttpRequest)M("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.");else try{r.contents=a(r.url)}catch(e){throw new Ar.ErrnoError(29)}},createLazyFile(r,e,t,o,a){class i{lengthKnown=!1;chunks=[];get(r){if(!(r>this.length-1||r<0)){var e=r%this.chunkSize,t=r/this.chunkSize|0;return this.getter(t)[e]}}setDataGetter(r){this.getter=r}cacheLength(){var r=new XMLHttpRequest;r.open("HEAD",t,!1),r.send(null),r.status>=200&&r.status<300||304===r.status||M("Couldn't load "+t+". Status: "+r.status);var e,n=Number(r.getResponseHeader("Content-length")),o=(e=r.getResponseHeader("Accept-Ranges"))&&"bytes"===e,a=(e=r.getResponseHeader("Content-Encoding"))&&"gzip"===e,i=1048576;o||(i=n);var s=(r,e)=>{r>e&&M("invalid range ("+r+", "+e+") or no bytes requested!"),e>n-1&&M("only "+n+" bytes available! programmer error!");var o=new XMLHttpRequest;return o.open("GET",t,!1),n!==i&&o.setRequestHeader("Range","bytes="+r+"-"+e),o.responseType="arraybuffer",o.overrideMimeType&&o.overrideMimeType("text/plain; charset=x-user-defined"),o.send(null),o.status>=200&&o.status<300||304===o.status||M("Couldn't load "+t+". Status: "+o.status),void 0!==o.response?new Uint8Array(o.response||[]):dr(o.responseText||"")},l=this;l.setDataGetter(r=>{var e=r*i,t=(r+1)*i-1;return t=Math.min(t,n-1),void 0===l.chunks[r]&&(l.chunks[r]=s(e,t)),void 0===l.chunks[r]&&M("doXHR failed!"),l.chunks[r]}),!a&&n||(i=n=1,n=this.getter(0).length,i=n,T("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=n,this._chunkSize=i,this.lengthKnown=!0}get length(){return this.lengthKnown||this.cacheLength(),this._length}get chunkSize(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}if(globalThis.XMLHttpRequest){n||M("Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc");var s={isDevice:!1,contents:new i}}else s={isDevice:!1,url:t};var l=Ar.createFile(r,e,s,o,a);s.contents?l.contents=s.contents:s.url&&(l.contents=null,l.url=s.url),Object.defineProperties(l,{usedBytes:{get:function(){return this.contents.length}}});var u={};for(const[n,c]of Object.entries(l.stream_ops))u[n]=(...r)=>(Ar.forceLoadFile(l),c(...r));function d(r,e,t,n,o){var a=r.node.contents;if(o>=a.length)return 0;var i=Math.min(a.length-o,n);if(a.slice)for(var s=0;s<i;s++)e[t+s]=a[o+s];else for(s=0;s<i;s++)e[t+s]=a.get(o+s);return i}return u.read=(r,e,t,n,o)=>(Ar.forceLoadFile(l),d(r,e,t,n,o)),u.mmap=(r,e,t,n,o)=>{Ar.forceLoadFile(l);var a=hr();if(!a)throw new Ar.ErrnoError(48);return d(r,m,a,e,t),{ptr:a,allocated:!0}},l.stream_ops=u,l}},Pr=(r,e,t)=>r?ir(p,r,e,t):"",xr={calculateAt(r,e,t){if(rr.isAbs(e))return e;var n;-100===r?n=Ar.cwd():n=xr.getStreamFromFD(r).path;if(0==e.length){if(!t)throw new Ar.ErrnoError(44);return n}return n+"/"+e},writeStat(r,e){y[r>>2]=e.dev,y[r+4>>2]=e.mode,y[r+8>>2]=e.nlink,y[r+12>>2]=e.uid,y[r+16>>2]=e.gid,y[r+20>>2]=e.rdev,_[r+24>>3]=BigInt(e.size),g[r+32>>2]=4096,g[r+36>>2]=e.blocks;var t=e.atime.getTime(),n=e.mtime.getTime(),o=e.ctime.getTime();return _[r+40>>3]=BigInt(Math.floor(t/1e3)),y[r+48>>2]=t%1e3*1e3*1e3,_[r+56>>3]=BigInt(Math.floor(n/1e3)),y[r+64>>2]=n%1e3*1e3*1e3,_[r+72>>3]=BigInt(Math.floor(o/1e3)),y[r+80>>2]=o%1e3*1e3*1e3,_[r+88>>3]=BigInt(e.ino),0},writeStatFs(r,e){y[r+4>>2]=e.bsize,y[r+60>>2]=e.bsize,_[r+8>>3]=BigInt(e.blocks),_[r+16>>3]=BigInt(e.bfree),_[r+24>>3]=BigInt(e.bavail),_[r+32>>3]=BigInt(e.files),_[r+40>>3]=BigInt(e.ffree),y[r+48>>2]=e.fsid,y[r+64>>2]=e.flags,y[r+56>>2]=e.namelen},doMsync(r,e,t,n,o){if(!Ar.isFile(e.node.mode))throw new Ar.ErrnoError(43);if(2&n)return 0;var a=p.slice(r,r+t);Ar.msync(e,a,o,t,n)},getStreamFromFD:r=>Ar.getStreamChecked(r),varargs:void 0,getStr:r=>Pr(r)};function Cr(r,e,t){xr.varargs=t;try{var n=xr.getStreamFromFD(r);switch(e){case 0:if((o=Q())<0)return-28;for(;Ar.streams[o];)o++;return Ar.dupStream(n,o).fd;case 1:case 2:case 13:case 14:return 0;case 3:return n.flags;case 4:var o=Q();return n.flags|=o,0;case 12:o=Z();return v[o+0>>1]=2,0}return-28}catch(a){if(void 0===Ar||"ErrnoError"!==a.name)throw a;return-a.errno}}function Rr(r,e,t){xr.varargs=t;try{var n=xr.getStreamFromFD(r);switch(e){case 21509:case 21510:case 21511:case 21512:case 21524:case 21515:return n.tty?0:-59;case 21505:if(!n.tty)return-59;if(n.tty.ops.ioctl_tcgets){var o=n.tty.ops.ioctl_tcgets(n),a=Z();g[a>>2]=o.c_iflag||0,g[a+4>>2]=o.c_oflag||0,g[a+8>>2]=o.c_cflag||0,g[a+12>>2]=o.c_lflag||0;for(var i=0;i<32;i++)m[a+i+17]=o.c_cc[i]||0;return 0}return 0;case 21506:case 21507:case 21508:if(!n.tty)return-59;if(n.tty.ops.ioctl_tcsets){a=Z();var s=g[a>>2],l=g[a+4>>2],u=g[a+8>>2],d=g[a+12>>2],c=[];for(i=0;i<32;i++)c.push(m[a+i+17]);return n.tty.ops.ioctl_tcsets(n.tty,e,{c_iflag:s,c_oflag:l,c_cflag:u,c_lflag:d,c_cc:c})}return 0;case 21519:if(!n.tty)return-59;a=Z();return g[a>>2]=0,0;case 21520:return n.tty?-28:-59;case 21537:case 21531:a=Z();return Ar.ioctl(n,e,a);case 21523:if(!n.tty)return-59;if(n.tty.ops.ioctl_tiocgwinsz){var f=n.tty.ops.ioctl_tiocgwinsz(n.tty);a=Z();v[a>>1]=f[0],v[a+2>>1]=f[1]}return 0;default:return-28}}catch(h){if(void 0===Ar||"ErrnoError"!==h.name)throw h;return-h.errno}}function Mr(r,e,t,n){xr.varargs=n;try{e=xr.getStr(e),e=xr.calculateAt(r,e);var o=n?Q():0;return Ar.open(e,t,o).fd}catch(a){if(void 0===Ar||"ErrnoError"!==a.name)throw a;return-a.errno}}var Nr=()=>M(""),zr={},Br=r=>{for(;r.length;){var e=r.pop();r.pop()(e)}};function Ir(r){return this.fromWireType(y[r>>2])}var Wr={},$r={},jr={},Or=class extends Error{constructor(r){super(r),this.name="InternalError"}},Lr=r=>{throw new Or(r)},Ur=(r,e,t)=>{function n(e){var n=t(e);n.length!==r.length&&Lr("Mismatched type converter count");for(var o=0;o<r.length;++o)Kr(r[o],n[o])}r.forEach(r=>jr[r]=e);var o=new Array(e.length),a=[],i=0;for(let[s,l]of e.entries())$r.hasOwnProperty(l)?o[s]=$r[l]:(a.push(l),Wr.hasOwnProperty(l)||(Wr[l]=[]),Wr[l].push(()=>{o[s]=$r[l],++i===a.length&&n(o)}));0===a.length&&n(o)},Vr=r=>{var e=zr[r];delete zr[r];var t=e.rawConstructor,n=e.rawDestructor,o=e.fields,a=o.map(r=>r.getterReturnType).concat(o.map(r=>r.setterArgumentType));Ur([r],a,r=>{var a={};for(var[i,s]of o.entries()){const e=r[i],t=s.getter,n=s.getterContext,l=r[i+o.length],u=s.setter,d=s.setterContext;a[s.fieldName]={read:r=>e.fromWireType(t(n,r)),write:(r,e)=>{var t=[];u(d,r,l.toWireType(t,e)),Br(t)},optional:e.optional}}return[{name:e.name,fromWireType:r=>{var e={};for(var t in a)e[t]=a[t].read(r);return n(r),e},toWireType:(r,e)=>{for(var o in a)if(!(o in e)&&!a[o].optional)throw new TypeError(`Missing field: "${o}"`);var i=t();for(o in a)a[o].write(i,e[o]);return null!==r&&r.push(n,i),i},readValueFromPointer:Ir,destructorFunction:n}]})},Hr=r=>{for(var e="";;){var t=p[r++];if(!t)return e;e+=String.fromCharCode(t)}},qr=class extends Error{constructor(r){super(r),this.name="BindingError"}},Xr=r=>{throw new qr(r)};function Gr(r,e,t={}){var n=e.name;if(r||Xr(`type "${n}" must have a positive integer typeid pointer`),$r.hasOwnProperty(r)){if(t.ignoreDuplicateRegistrations)return;Xr(`Cannot register type '${n}' twice`)}if($r[r]=e,delete jr[r],Wr.hasOwnProperty(r)){var o=Wr[r];delete Wr[r],o.forEach(r=>r())}}function Kr(r,e,t={}){return Gr(r,e,t)}var Yr=(r,e,t)=>{switch(e){case 1:return t?r=>m[r]:r=>p[r];case 2:return t?r=>v[r>>1]:r=>w[r>>1];case 4:return t?r=>g[r>>2]:r=>y[r>>2];case 8:return t?r=>_[r>>3]:r=>b[r>>3];default:throw new TypeError(`invalid integer width (${e}): ${r}`)}},Jr=(r,e,t,n,o)=>{e=Hr(e);const a=0n===n;let i=r=>r;if(a){const r=8*t;i=e=>BigInt.asUintN(r,e),o=i(o)}Kr(r,{name:e,fromWireType:i,toWireType:(r,e)=>("number"==typeof e&&(e=BigInt(e)),e),readValueFromPointer:Yr(e,t,!a),destructorFunction:null})},Qr=(r,e,t,n)=>{Kr(r,{name:e=Hr(e),fromWireType:function(r){return!!r},toWireType:function(r,e){return e?t:n},readValueFromPointer:function(r){return this.fromWireType(p[r])},destructorFunction:null})},Zr=[],re=[0,1,,1,null,1,!0,1,!1,1],ee=r=>{r>9&&0===--re[r+1]&&(re[r]=void 0,Zr.push(r))},te={toValue:r=>(r||Xr(`Cannot use deleted val. handle = ${r}`),re[r]),toHandle:r=>{switch(r){case void 0:return 2;case null:return 4;case!0:return 6;case!1:return 8;default:{const e=Zr.pop()||re.length;return re[e]=r,re[e+1]=1,e}}}},ne={name:"emscripten::val",fromWireType:r=>{var e=te.toValue(r);return ee(r),e},toWireType:(r,e)=>te.toHandle(e),readValueFromPointer:Ir,destructorFunction:null},oe=r=>Kr(r,ne),ae=(r,e)=>{switch(e){case 4:return function(r){return this.fromWireType(E[r>>2])};case 8:return function(r){return this.fromWireType(k[r>>3])};default:throw new TypeError(`invalid float width (${e}): ${r}`)}},ie=(r,e,t)=>{Kr(r,{name:e=Hr(e),fromWireType:r=>r,toWireType:(r,e)=>e,readValueFromPointer:ae(e,t),destructorFunction:null})},se=(r,e)=>Object.defineProperty(e,"name",{value:r});function le(r){for(var e=1;e<r.length;++e)if(null!==r[e]&&void 0===r[e].destructorFunction)return!0;return!1}function ue(r,e,t,n,o,a){var i=e.length;i<2&&Xr("argTypes array size mismatch! Must at least get return value and 'this' types!"),e[1];var s=le(e),l=!e[0].isVoid,u=i-2,d=new Array(u),c=[],f=[];return se(r,function(...r){var t;f.length=0,c.length=1,c[0]=o;for(var a=0;a<u;++a)d[a]=e[a+2].toWireType(f,r[a]),c.push(d[a]);function i(r){if(s)Br(f);else for(var n=2;n<e.length;n++){var o=1===n?t:d[n-2];null!==e[n].destructorFunction&&e[n].destructorFunction(o)}if(l)return e[0].fromWireType(r)}return i(n(...c))})}var de=(r,e,t)=>{if(void 0===r[e].overloadTable){var n=r[e];r[e]=function(...n){return r[e].overloadTable.hasOwnProperty(n.length)||Xr(`Function '${t}' called with an invalid number of arguments (${n.length}) - expects one of (${r[e].overloadTable})!`),r[e].overloadTable[n.length].apply(this,n)},r[e].overloadTable=[],r[e].overloadTable[n.argCount]=n}},ce=(r,t,n)=>{e.hasOwnProperty(r)?((void 0===n||void 0!==e[r].overloadTable&&void 0!==e[r].overloadTable[n])&&Xr(`Cannot register public name '${r}' twice`),de(e,r,r),e[r].overloadTable.hasOwnProperty(n)&&Xr(`Cannot register multiple overloads of a function with the same number of arguments (${n})!`),e[r].overloadTable[n]=t):(e[r]=t,e[r].argCount=n)},fe=(r,e)=>{for(var t=[],n=0;n<r;n++)t.push(y[e+4*n>>2]);return t},he=(r,t,n)=>{e.hasOwnProperty(r)||Lr("Replacing nonexistent public symbol"),void 0!==e[r].overloadTable&&void 0!==n?e[r].overloadTable[n]=t:(e[r]=t,e[r].argCount=n)},me=[],pe=r=>{var e=me[r];return e||(me[r]=e=Mt.get(r)),e},ve=(r,e,t=!1)=>{function n(){return pe(e)}r=Hr(r);var o=n();return"function"!=typeof o&&Xr(`unknown function pointer with signature ${r}: ${e}`),o};class we extends Error{}var ge=r=>{var e=Dt(r),t=Hr(e);return At(e),t},ye=(r,e)=>{var t=[],n={};function o(r){n[r]||$r[r]||(jr[r]?jr[r].forEach(o):(t.push(r),n[r]=!0))}throw e.forEach(o),new we(`${r}: `+t.map(ge).join([", "]))},Ee=r=>{const e=(r=r.trim()).indexOf("(");return-1===e?r:r.slice(0,e)},ke=(r,e,t,n,o,a,i,s)=>{var l=fe(e,t);r=Hr(r),r=Ee(r),o=ve(n,o,i),ce(r,function(){ye(`Cannot call ${r} due to unbound types`,l)},e-1),Ur([],l,t=>{var n=[t[0],null].concat(t.slice(1));return he(r,ue(r,n,null,o,a),e-1),[]})},_e=(r,e,t,n,o)=>{e=Hr(e);let a=r=>r;if(0===n){var i=32-8*t;a=r=>r<<i>>>i,o=a(o)}Kr(r,{name:e,fromWireType:a,toWireType:(r,e)=>e,readValueFromPointer:Yr(e,t,0!==n),destructorFunction:null})},be=(r,e,t)=>{var n=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,BigInt64Array,BigUint64Array][e];function o(r){var e=y[r>>2],t=y[r+4>>2];return new n(m.buffer,t,e)}Kr(r,{name:t=Hr(t),fromWireType:o,readValueFromPointer:o},{ignoreDuplicateRegistrations:!0})},Fe=(r,e,t)=>ur(r,p,e,t),Te=(r,e)=>{Kr(r,{name:e=Hr(e),fromWireType(r){var e,t=y[r>>2];return e=Pr(r+4,t,!0),At(r),e},toWireType(r,e){var t;e instanceof ArrayBuffer&&(e=new Uint8Array(e));var n="string"==typeof e;n||ArrayBuffer.isView(e)&&1==e.BYTES_PER_ELEMENT||Xr("Cannot pass non-string to std::string"),t=n?lr(e):e.length;var o=St(4+t+1),a=o+4;return y[o>>2]=t,n?Fe(e,a,t+1):p.set(e,a),null!==r&&r.push(At,o),o},readValueFromPointer:Ir,destructorFunction(r){At(r)}})},De=globalThis.TextDecoder?new TextDecoder("utf-16le"):void 0,Se=(r,e,t)=>{var n=r>>1,o=ar(w,n,e/2,t);if(o-n>16&&De)return De.decode(w.subarray(n,o));for(var a="",i=n;i<o;++i){var s=w[i];a+=String.fromCharCode(s)}return a},Ae=(r,e,t)=>{if(t??=2147483647,t<2)return 0;for(var n=e,o=(t-=2)<2*r.length?t/2:r.length,a=0;a<o;++a){var i=r.charCodeAt(a);v[e>>1]=i,e+=2}return v[e>>1]=0,e-n},Pe=r=>2*r.length,xe=(r,e,t)=>{for(var n="",o=r>>2,a=0;!(a>=e/4);a++){var i=y[o+a];if(!i&&!t)break;n+=String.fromCodePoint(i)}return n},Ce=(r,e,t)=>{if(t??=2147483647,t<4)return 0;for(var n=e,o=n+t-4,a=0;a<r.length;++a){var i=r.codePointAt(a);if(i>65535&&a++,g[e>>2]=i,(e+=4)+4>o)break}return g[e>>2]=0,e-n},Re=r=>{for(var e=0,t=0;t<r.length;++t){r.codePointAt(t)>65535&&t++,e+=4}return e},Me=(r,e,t)=>{var n,o,a;t=Hr(t),2===e?(n=Se,o=Ae,a=Pe):(n=xe,o=Ce,a=Re),Kr(r,{name:t,fromWireType:r=>{var t=y[r>>2],o=n(r+4,t*e,!0);return At(r),o},toWireType:(r,n)=>{"string"!=typeof n&&Xr(`Cannot pass non-string to C++ string type ${t}`);var i=a(n),s=St(4+i+e);return y[s>>2]=i/e,o(n,s+4,i+e),null!==r&&r.push(At,s),s},readValueFromPointer:Ir,destructorFunction(r){At(r)}})},Ne=(r,e,t,n,o,a)=>{zr[r]={name:Hr(e),rawConstructor:ve(t,n),rawDestructor:ve(o,a),fields:[]}},ze=(r,e,t,n,o,a,i,s,l,u)=>{zr[r].fields.push({fieldName:Hr(e),getterReturnType:t,getter:ve(n,o),getterContext:a,setterArgumentType:i,setter:ve(s,l),setterContext:u})},Be=(r,e)=>{Kr(r,{isVoid:!0,name:e=Hr(e),fromWireType:()=>{},toWireType:(r,e)=>{}})},Ie=r=>{do{var e=y[r>>2],t=y[(r+=4)>>2],n=y[(r+=4)>>2];r+=4;var o=Pr(e);Ar.createPath("/",rr.dirname(o),!0,!0),Ar.createDataFile(o,null,m.subarray(n,n+t),!0,!0,!0)}while(y[r>>2])},We=()=>{throw 1/0},$e=(r,e)=>{r=te.toValue(r),e=te.toValue(e),r.set(e)},je=[],Oe=r=>{var e=je.length;return je.push(r),e},Le=(r,e)=>{var t=$r[r];return void 0===t&&Xr(`${e} has unknown type ${ge(r)}`),t},Ue=(r,e)=>{for(var t=new Array(r),n=0;n<r;++n)t[n]=Le(y[e+4*n>>2],`parameter ${n}`);return t},Ve=(r,e,t)=>{var n=[],o=r(n,t);return n.length&&(y[e>>2]=te.toHandle(n)),o},He={},qe=r=>{var e=He[r];return void 0===e?Hr(r):e},Xe=(r,e,t)=>{var n=8,[o,...a]=Ue(r,e),i=o.toWireType.bind(o),s=a.map(r=>r.readValueFromPointer.bind(r));r--;var l=new Array(r),u=(e,o,a,u)=>{for(var d,c=0,f=0;f<r;++f)l[f]=s[f](u+c),c+=n;switch(t){case 0:d=te.toValue(e).apply(null,l);break;case 2:d=Reflect.construct(te.toValue(e),l);break;case 3:d=l[0];break;case 1:d=te.toValue(e)[qe(o)](...l)}return Ve(i,a,d)},d=`methodCaller<(${a.map(r=>r.name)}) => ${o.name}>`;return Oe(se(d,u))},Ge=r=>r?(r=qe(r),te.toHandle(globalThis[r])):te.toHandle(globalThis),Ke=(r,e)=>(r=te.toValue(r),e=te.toValue(e),te.toHandle(r[e])),Ye=r=>{r>9&&(re[r+1]+=1)},Je=(r,e,t,n,o)=>je[r](e,t,n,o),Qe=()=>te.toHandle([]),Ze=r=>te.toHandle(qe(r)),rt=r=>{var e=te.toValue(r);Br(e),ee(r)},et=(r,e,t)=>{r=te.toValue(r),e=te.toValue(e),t=te.toValue(t),r[e]=t},tt=(r,e,t,n)=>{var o=(new Date).getFullYear(),a=new Date(o,0,1),i=new Date(o,6,1),s=a.getTimezoneOffset(),l=i.getTimezoneOffset(),u=Math.max(s,l);y[r>>2]=60*u,g[e>>2]=Number(s!=l);var d=r=>{var e=r>=0?"-":"+",t=Math.abs(r);return`UTC${e}${String(Math.floor(t/60)).padStart(2,"0")}${String(t%60).padStart(2,"0")}`},c=d(s),f=d(l);l<s?(Fe(c,t,17),Fe(f,n,17)):(Fe(c,n,17),Fe(f,t,17))},nt=()=>2147483648,ot=(r,e)=>Math.ceil(r/e)*e,at=r=>{var e=(r-Rt.buffer.byteLength+65535)/65536|0;try{return Rt.grow(e),P(),1}catch(t){}},it=r=>{var e=p.length;r>>>=0;var t=nt();if(r>t)return!1;for(var n=1;n<=4;n*=2){var o=e*(1+.2/n);o=Math.min(o,r+100663296);var a=Math.min(t,ot(Math.max(r,o),65536));if(at(a))return!0}return!1},st={},lt=()=>i||"./this.program",ut=()=>{if(!ut.strings){var r={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:(globalThis.navigator?.language??"C").replace("-","_")+".UTF-8",_:lt()};for(var e in st)void 0===st[e]?delete r[e]:r[e]=st[e];var t=[];for(var e in r)t.push(`${e}=${r[e]}`);ut.strings=t}return ut.strings},dt=(r,e)=>{var t=0,n=0;for(var o of ut()){var a=e+t;y[r+n>>2]=a,t+=Fe(o,a,1/0)+1,n+=4}return 0},ct=(r,e)=>{var t=ut();y[r>>2]=t.length;var n=0;for(var o of t)n+=lr(o)+1;return y[e>>2]=n,0},ft=0,ht=()=>X||ft>0,mt=r=>{ht()||(e.onExit?.(r),S=!0),s(r,new O(r))},pt=(r,e)=>{mt(r)};function vt(r){try{var e=xr.getStreamFromFD(r);return Ar.close(e),0}catch(t){if(void 0===Ar||"ErrnoError"!==t.name)throw t;return t.errno}}var wt=(r,e,t,n)=>{for(var o=0,a=0;a<t;a++){var i=y[e>>2],s=y[e+4>>2];e+=8;var l=Ar.read(r,m,i,s,n);if(l<0)return-1;if(o+=l,l<s)break}return o};function gt(r,e,t,n){try{var o=xr.getStreamFromFD(r),a=wt(o,e,t);return y[n>>2]=a,0}catch(i){if(void 0===Ar||"ErrnoError"!==i.name)throw i;return i.errno}}var yt=9007199254740992,Et=-9007199254740992,kt=r=>r<Et||r>yt?NaN:Number(r);function _t(r,e,t,n){e=kt(e);try{if(isNaN(e))return 61;var o=xr.getStreamFromFD(r);return Ar.llseek(o,e,t),_[n>>3]=BigInt(o.position),o.getdents&&0===e&&0===t&&(o.getdents=null),0}catch(a){if(void 0===Ar||"ErrnoError"!==a.name)throw a;return a.errno}}var bt=(r,e,t,n)=>{for(var o=0,a=0;a<t;a++){var i=y[e>>2],s=y[e+4>>2];e+=8;var l=Ar.write(r,m,i,s,n);if(l<0)return-1;if(o+=l,l<s)break}return o};function Ft(r,e,t,n){try{var o=xr.getStreamFromFD(r),a=bt(o,e,t);return y[n>>2]=a,0}catch(i){if(void 0===Ar||"ErrnoError"!==i.name)throw i;return i.errno}}var Tt,Dt,St,At,Pt,xt,Ct,Rt,Mt,Nt=(r,e)=>{if(Tt)for(var t=r;t<r+e;t++){var n=pe(t);n&&Tt.set(n,t)}},zt=r=>(Tt||(Tt=new WeakMap,Nt(0,Mt.length)),Tt.get(r)||0),Bt=[],It=()=>Bt.length?Bt.pop():Mt.grow(1),Wt=(r,e)=>{Mt.set(r,e),me[r]=Mt.get(r)},$t=r=>{const e=r.length;return[e%128|128,e>>7,...r]},jt={i:127,p:127,j:126,f:125,d:124,e:111},Ot=r=>$t(Array.from(r,r=>jt[r])),Lt=(r,e)=>{var t=Uint8Array.of(0,97,115,109,1,0,0,0,1,...$t([1,96,...Ot(e.slice(1)),...Ot("v"===e[0]?"":e[0])]),2,7,1,1,101,1,102,0,0,7,5,1,1,102,0,0),n=new WebAssembly.Module(t);return new WebAssembly.Instance(n,{e:{f:r}}).exports.f},Ut=(r,e)=>{var t=zt(r);if(t)return t;var n=It();try{Wt(n,r)}catch(D){if(!(D instanceof TypeError))throw D;var o=Lt(r,e);Wt(n,o)}return Tt.set(r,n),n},Vt=(...r)=>Ar.createPath(...r),Ht=(...r)=>Ar.unlink(...r),qt=(...r)=>Ar.createLazyFile(...r),Xt=(...r)=>Ar.createDevice(...r);if(Ar.createPreloadedFile=Sr,Ar.preloadFile=Dr,Ar.staticInit(),e.noExitRuntime&&(X=e.noExitRuntime),e.preloadPlugins&&(Fr=e.preloadPlugins),e.print&&(T=e.print),e.printErr&&(D=e.printErr),e.wasmBinary&&(c=e.wasmBinary),e.arguments&&e.arguments,e.thisProgram&&(i=e.thisProgram),e.preInit)for("function"==typeof e.preInit&&(e.preInit=[e.preInit]);e.preInit.length>0;)e.preInit.shift()();function Gt(r){Dt=r._,St=e._malloc=r.aa,At=e._free=r.ba,Pt=r.ca,xt=r.da,Ct=r.ea,Rt=r.Y,Mt=r.$}e.addRunDependency=br,e.removeRunDependency=_r,e.addFunction=Ut,e.UTF8ToString=Pr,e.FS_preloadFile=Dr,e.FS_unlink=Ht,e.FS_createPath=Vt,e.FS_createDevice=Xt,e.FS_createDataFile=yr,e.FS_createLazyFile=qt;var Kt,Yt={n:J,x:Cr,M:Rr,N:Mr,O:Nr,A:Vr,z:Jr,T:Qr,R:oe,y:ie,o:ke,d:_e,b:be,S:Te,t:Me,B:Ne,c:ze,U:Be,Q:Ie,F:We,W:$e,k:Xe,a:ee,X:Ge,p:Ke,j:Ye,i:Je,C:Qe,m:Ze,h:rt,V:et,H:tt,G:it,J:dt,K:ct,P:pt,v:vt,L:gt,I:_t,w:Ft,q:Jt,l:rn,r:tn,u:nn,E:an,s:en,f:Qt,D:sn,g:on,e:Zt};function Jt(r,e){var t=K();try{return pe(r)(e)}catch(n){if(G(t),n!==n+0)throw n;Pt(1,0)}}function Qt(r,e){var t=K();try{pe(r)(e)}catch(n){if(G(t),n!==n+0)throw n;Pt(1,0)}}function Zt(r,e,t,n){var o=K();try{pe(r)(e,t,n)}catch(a){if(G(o),a!==a+0)throw a;Pt(1,0)}}function rn(r,e,t){var n=K();try{return pe(r)(e,t)}catch(o){if(G(n),o!==o+0)throw o;Pt(1,0)}}function en(r){var e=K();try{pe(r)()}catch(t){if(G(e),t!==t+0)throw t;Pt(1,0)}}function tn(r,e,t,n){var o=K();try{return pe(r)(e,t,n)}catch(a){if(G(o),a!==a+0)throw a;Pt(1,0)}}function nn(r,e,t,n,o){var a=K();try{return pe(r)(e,t,n,o)}catch(i){if(G(a),i!==i+0)throw i;Pt(1,0)}}function on(r,e,t){var n=K();try{pe(r)(e,t)}catch(o){if(G(n),o!==o+0)throw o;Pt(1,0)}}function an(r,e,t,n,o,a,i,s,l,u){var d=K();try{return pe(r)(e,t,n,o,a,i,s,l,u)}catch(c){if(G(d),c!==c+0)throw c;Pt(1,0)}}function sn(r,e,t,n){var o=K();try{pe(r)(e,t,n)}catch(a){if(G(o),a!==a+0)throw a;Pt(1,0)}}function ln(){function r(){e.calledRun=!0,S||(C(),f?.(e),e.onRuntimeInitialized?.(),R())}Er>0?kr=ln:(x(),Er>0?kr=ln:e.setStatus?(e.setStatus("Running..."),setTimeout(()=>{setTimeout(()=>e.setStatus(""),1),r()},1)):r())}return Kt=await j(),ln(),A?e:new Promise((r,e)=>{f=r,h=e})}export{r as default};
|