@needle-tools/engine
Version:
Needle Engine is a web-based runtime for 3D apps. It runs on your machine for development with great integrations into editors like Unity or Blender - and can be deployed onto any device! It is flexible, extensible and networking and XR are built-in.
2 lines • 7.46 MB
JavaScript
import{Texture as cI,WebGLRenderTarget as AG,RepeatWrapping as ig,LinearFilter as iB,LinearMipMapLinearFilter as YB,FloatType as IG,RGBAFormat as gG,PlaneGeometry as DB,OrthographicCamera as BG,ShaderMaterial as NB,Scene as QG,Mesh as Yg,EquirectangularReflectionMapping as CG,Vector3 as nA,Quaternion as EG,Color as GG,Uniform$1 as iG,LinearSRGBColorSpace as YG,Cache as sA,MirroredRepeatWrapping as DG,ClampToEdgeWrapping as NG,NearestMipMapNearestFilter as ZG,NearestFilter as JG,MeshBasicMaterial as oG,PMREMGenerator$1 as wG,cloneUniforms as RG,cloneUniformsGroups as bG,GLSL3 as hG,Matrix4 as WI,UniformsLib as mG,Matrix3 as lG,MeshStandardMaterial as HI,DoubleSide as UG,FrontSide as FG}from"./three.min.js";var kI=function(){var U=typeof document<"u"?document.currentScript?.src:void 0;return typeof __filename<"u"&&(U=U||__filename),function(N){N=N||{};var R,i=N,l,M,h=new Promise((A,I)=>{l=A,M=I}),d=typeof window=="object",F=typeof WorkerGlobalScope<"u",H=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string"&&process.type!="renderer";i.expectedDataFileDownloads??=0,i.expectedDataFileDownloads++,(()=>{var A=typeof ENVIRONMENT_IS_PTHREAD<"u"&&ENVIRONMENT_IS_PTHREAD,I=typeof ENVIRONMENT_IS_WASM_WORKER<"u"&&ENVIRONMENT_IS_WASM_WORKER;if(A||I)return;var g=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string";function B(Q){typeof window=="object"?window.encodeURIComponent(window.location.pathname.substring(0,window.location.pathname.lastIndexOf("/"))+"/"):typeof process>"u"&&typeof location<"u"&&encodeURIComponent(location.pathname.substring(0,location.pathname.lastIndexOf("/"))+"/");var E="../../bin/JsMaterialXGenShader.data",G="JsMaterialXGenShader.data",Y=i.locateFile?i.locateFile(G,""):G,D=Q.remote_package_size;function Z(o,s,x,K){if(g){require("fs").readFile(o,(V,z)=>{V?K(V):x(z.buffer)});return}i.dataFileDownloads??={},fetch(o).catch(V=>Promise.reject(new Error(`Network Error: ${o}`,{cause:V}))).then(V=>{if(!V.ok)return Promise.reject(new Error(`${V.status}: ${V.url}`));if(!V.body&&V.arrayBuffer)return V.arrayBuffer().then(x);const z=V.body.getReader(),EA=()=>z.read().then(S).catch(c=>Promise.reject(new Error(`Unexpected error while handling : ${V.url} ${c}`,{cause:c}))),r=[],oA=V.headers,y=Number(oA.get("Content-Length")??s);let a=0;const S=({done:c,value:L})=>{if(c){const AA=new Uint8Array(r.map(u=>u.length).reduce((u,mA)=>u+mA,0));let GA=0;for(const u of r)AA.set(u,GA),GA+=u.length;x(AA.buffer)}else{r.push(L),a+=L.length,i.dataFileDownloads[o]={loaded:a,total:y};let AA=0,GA=0;for(const u of Object.values(i.dataFileDownloads))AA+=u.loaded,GA+=u.total;return i.setStatus?.(`Downloading data... (${AA}/${GA})`),EA()}};return i.setStatus?.("Downloading data..."),EA()})}function J(o){console.error("package error:",o)}var w=null,b=i.getPreloadedPackage?i.getPreloadedPackage(Y,D):null;b||Z(Y,D,o=>{w?(w(o),w=null):b=o},J);function m(o){function s(EA,r){if(!EA)throw r+new Error().stack}o.FS_createPath("/","libraries",!0,!0),o.FS_createPath("/libraries","bxdf",!0,!0),o.FS_createPath("/libraries/bxdf","genglsl",!0,!0),o.FS_createPath("/libraries/bxdf","genmdl",!0,!0),o.FS_createPath("/libraries/bxdf","lama",!0,!0),o.FS_createPath("/libraries/bxdf","translation",!0,!0),o.FS_createPath("/libraries","cmlib",!0,!0),o.FS_createPath("/libraries","lights",!0,!0),o.FS_createPath("/libraries/lights","genglsl",!0,!0),o.FS_createPath("/libraries/lights","genmsl",!0,!0),o.FS_createPath("/libraries","nprlib",!0,!0),o.FS_createPath("/libraries/nprlib","genglsl",!0,!0),o.FS_createPath("/libraries/nprlib","genmdl",!0,!0),o.FS_createPath("/libraries/nprlib","genmsl",!0,!0),o.FS_createPath("/libraries/nprlib","genosl",!0,!0),o.FS_createPath("/libraries","pbrlib",!0,!0),o.FS_createPath("/libraries/pbrlib","genglsl",!0,!0),o.FS_createPath("/libraries/pbrlib/genglsl","lib",!0,!0),o.FS_createPath("/libraries/pbrlib","genmdl",!0,!0),o.FS_createPath("/libraries/pbrlib","genmsl",!0,!0),o.FS_createPath("/libraries/pbrlib","genosl",!0,!0),o.FS_createPath("/libraries/pbrlib/genosl","lib",!0,!0),o.FS_createPath("/libraries","stdlib",!0,!0),o.FS_createPath("/libraries/stdlib","genglsl",!0,!0),o.FS_createPath("/libraries/stdlib/genglsl","lib",!0,!0),o.FS_createPath("/libraries/stdlib","genmdl",!0,!0),o.FS_createPath("/libraries/stdlib","genmsl",!0,!0),o.FS_createPath("/libraries/stdlib/genmsl","lib",!0,!0),o.FS_createPath("/libraries/stdlib","genosl",!0,!0),o.FS_createPath("/libraries/stdlib/genosl","include",!0,!0),o.FS_createPath("/libraries/stdlib/genosl","lib",!0,!0),o.FS_createPath("/libraries","targets",!0,!0);function x(EA,r,oA){this.start=EA,this.end=r,this.audio=oA}x.prototype={requests:{},open:function(EA,r){this.name=r,this.requests[r]=this,o.addRunDependency(`fp ${this.name}`)},send:function(){},onload:function(){var EA=this.byteArray.subarray(this.start,this.end);this.finish(EA)},finish:function(EA){var r=this;o.FS_createDataFile(this.name,null,EA,!0,!0,!0),o.removeRunDependency(`fp ${r.name}`),this.requests[this.name]=null}};for(var K=Q.files,V=0;V<K.length;++V)new x(K[V].start,K[V].end,K[V].audio||0).open("GET",K[V].filename);function z(EA){s(EA,"Loading data file failed."),s(EA.constructor.name===ArrayBuffer.name,"bad input to processPackageData");var r=new Uint8Array(EA);x.prototype.byteArray=r;for(var oA=Q.files,y=0;y<oA.length;++y)x.prototype.requests[oA[y].filename].onload();o.removeRunDependency("datafile_../../bin/JsMaterialXGenShader.data")}o.addRunDependency("datafile_../../bin/JsMaterialXGenShader.data"),o.preloadResults??={},o.preloadResults[E]={fromCache:!1},b?(z(b),b=null):w=z}i.calledRun?m(i):(i.preRun??=[]).push(m)}B({files:[{filename:"/libraries/CMakeLists.txt",start:0,end:1923},{filename:"/libraries/README.md",start:1923,end:6916},{filename:"/libraries/bxdf/disney_principled.mtlx",start:6916,end:14224},{filename:"/libraries/bxdf/genglsl/gltf_pbr.mtlx",start:14224,end:29111},{filename:"/libraries/bxdf/genglsl/open_pbr_surface.mtlx",start:29111,end:60318},{filename:"/libraries/bxdf/genglsl/standard_surface.mtlx",start:60318,end:78091},{filename:"/libraries/bxdf/genmdl/open_pbr_surface.mtlx",start:78091,end:109117},{filename:"/libraries/bxdf/gltf_pbr.mtlx",start:109117,end:154082},{filename:"/libraries/bxdf/lama/lama_add.mtlx",start:154082,end:156736},{filename:"/libraries/bxdf/lama/lama_conductor.mtlx",start:156736,end:164736},{filename:"/libraries/bxdf/lama/lama_dielectric.mtlx",start:164736,end:175655},{filename:"/libraries/bxdf/lama/lama_diffuse.mtlx",start:175655,end:178601},{filename:"/libraries/bxdf/lama/lama_emission.mtlx",start:178601,end:179350},{filename:"/libraries/bxdf/lama/lama_generalized_schlick.mtlx",start:179350,end:191204},{filename:"/libraries/bxdf/lama/lama_iridescence.mtlx",start:191204,end:197167},{filename:"/libraries/bxdf/lama/lama_layer.mtlx",start:197167,end:198911},{filename:"/libraries/bxdf/lama/lama_mix.mtlx",start:198911,end:200998},{filename:"/libraries/bxdf/lama/lama_sheen.mtlx",start:200998,end:203121},{filename:"/libraries/bxdf/lama/lama_sss.mtlx",start:203121,end:209896},{filename:"/libraries/bxdf/lama/lama_surface.mtlx",start:209896,end:211564},{filename:"/libraries/bxdf/lama/lama_translucent.mtlx",start:211564,end:213201},{filename:"/libraries/bxdf/open_pbr_surface.mtlx",start:213201,end:254487},{filename:"/libraries/bxdf/standard_surface.mtlx",start:254487,end:282570},{filename:"/libraries/bxdf/translation/open_pbr_to_standard_surface.mtlx",start:282570,end:300037},{filename:"/libraries/bxdf/translation/standard_surface_to_gltf_pbr.mtlx",start:300037,end:310217},{filename:"/libraries/bxdf/translation/standard_surface_to_open_pbr.mtlx",start:310217,end:325326},{filename:"/libraries/bxdf/translation/standard_surface_to_usd.mtlx",start:325326,end:331207},{filename:"/libraries/bxdf/usd_preview_surface.mtlx",start:331207,end:354199},{filename:"/libraries/cmlib/cmlib_defs.mtlx",start:354199,end:359045},{filename:"/libraries/cmlib/cmlib_ng.mtlx",start:359045,end:376520},{filename:"/libraries/lights/genglsl/lights_genglsl_impl.mtlx",start:376520,end:377124},{filename:"/libraries/lights/genglsl/mx_directional_light.glsl",start:377124,end:377305},{filename:"/libraries/lights/genglsl/mx_point_light.glsl",start:377305,end:377675},{filename:"/libraries/lights/genglsl/mx_spot_light.glsl",start:377675,end:378299},{filename:"/libraries/lights/genmsl/lights_genmsl_impl.mtlx",start:378299,end:378900},{filename:"/libraries/lights/genmsl/mx_directional_light.metal",start:378900,end:379087},{filename:"/libraries/lights/genmsl/mx_point_light.metal",start:379087,end:379463},{filename:"/libraries/lights/genmsl/mx_spot_light.metal",start:379463,end:380093},{filename:"/libraries/lights/lights_defs.mtlx",start:380093,end:382505},{filename:"/libraries/nprlib/genglsl/nprlib_genglsl_impl.mtlx",start:382505,end:383169},{filename:"/libraries/nprlib/genmdl/nprlib_genmdl_impl.mtlx",start:383169,end:383931},{filename:"/libraries/nprlib/genmsl/nprlib_genmsl_impl.mtlx",start:383931,end:384592},{filename:"/libraries/nprlib/genosl/nprlib_genosl_impl.mtlx",start:384592,end:385290},{filename:"/libraries/nprlib/nprlib_defs.mtlx",start:385290,end:387925},{filename:"/libraries/nprlib/nprlib_ng.mtlx",start:387925,end:392774},{filename:"/libraries/pbrlib/genglsl/lib/mx_closure_type.glsl",start:392774,end:393191},{filename:"/libraries/pbrlib/genglsl/lib/mx_environment_fis.glsl",start:393191,end:395985},{filename:"/libraries/pbrlib/genglsl/lib/mx_environment_none.glsl",start:395985,end:396220},{filename:"/libraries/pbrlib/genglsl/lib/mx_environment_prefilter.glsl",start:396220,end:397306},{filename:"/libraries/pbrlib/genglsl/lib/mx_generate_albedo_table.glsl",start:397306,end:397678},{filename:"/libraries/pbrlib/genglsl/lib/mx_generate_prefilter_env.glsl",start:397678,end:400025},{filename:"/libraries/pbrlib/genglsl/lib/mx_microfacet.glsl",start:400025,end:403017},{filename:"/libraries/pbrlib/genglsl/lib/mx_microfacet_diffuse.glsl",start:403017,end:410481},{filename:"/libraries/pbrlib/genglsl/lib/mx_microfacet_sheen.glsl",start:410481,end:417234},{filename:"/libraries/pbrlib/genglsl/lib/mx_microfacet_specular.glsl",start:417234,end:433684},{filename:"/libraries/pbrlib/genglsl/lib/mx_shadow.glsl",start:433684,end:434440},{filename:"/libraries/pbrlib/genglsl/lib/mx_transmission_opacity.glsl",start:434440,end:434611},{filename:"/libraries/pbrlib/genglsl/lib/mx_transmission_refract.glsl",start:434611,end:435122},{filename:"/libraries/pbrlib/genglsl/mx_add_bsdf.glsl",start:435122,end:435704},{filename:"/libraries/pbrlib/genglsl/mx_add_edf.glsl",start:435704,end:435844},{filename:"/libraries/pbrlib/genglsl/mx_anisotropic_vdf.glsl",start:435844,end:436072},{filename:"/libraries/pbrlib/genglsl/mx_artistic_ior.glsl",start:436072,end:436645},{filename:"/libraries/pbrlib/genglsl/mx_blackbody.glsl",start:436645,end:438381},{filename:"/libraries/pbrlib/genglsl/mx_burley_diffuse_bsdf.glsl",start:438381,end:439428},{filename:"/libraries/pbrlib/genglsl/mx_chiang_hair_bsdf.glsl",start:439428,end:448436},{filename:"/libraries/pbrlib/genglsl/mx_conductor_bsdf.glsl",start:448436,end:450193},{filename:"/libraries/pbrlib/genglsl/mx_dielectric_bsdf.glsl",start:450193,end:452835},{filename:"/libraries/pbrlib/genglsl/mx_displacement_float.glsl",start:452835,end:452980},{filename:"/libraries/pbrlib/genglsl/mx_displacement_vector3.glsl",start:452980,end:453120},{filename:"/libraries/pbrlib/genglsl/mx_generalized_schlick_bsdf.glsl",start:453120,end:456289},{filename:"/libraries/pbrlib/genglsl/mx_generalized_schlick_edf.glsl",start:456289,end:456801},{filename:"/libraries/pbrlib/genglsl/mx_layer_bsdf.glsl",start:456801,end:457051},{filename:"/libraries/pbrlib/genglsl/mx_layer_vdf.glsl",start:457051,end:457283},{filename:"/libraries/pbrlib/genglsl/mx_mix_bsdf.glsl",start:457283,end:457549},{filename:"/libraries/pbrlib/genglsl/mx_mix_edf.glsl",start:457549,end:457715},{filename:"/libraries/pbrlib/genglsl/mx_multiply_bsdf_color3.glsl",start:457715,end:457968},{filename:"/libraries/pbrlib/genglsl/mx_multiply_bsdf_float.glsl",start:457968,end:458226},{filename:"/libraries/pbrlib/genglsl/mx_multiply_edf_color3.glsl",start:458226,end:458379},{filename:"/libraries/pbrlib/genglsl/mx_multiply_edf_float.glsl",start:458379,end:458532},{filename:"/libraries/pbrlib/genglsl/mx_oren_nayar_diffuse_bsdf.glsl",start:458532,end:459907},{filename:"/libraries/pbrlib/genglsl/mx_roughness_anisotropy.glsl",start:459907,end:460352},{filename:"/libraries/pbrlib/genglsl/mx_roughness_dual.glsl",start:460352,end:460620},{filename:"/libraries/pbrlib/genglsl/mx_sheen_bsdf.glsl",start:460620,end:462706},{filename:"/libraries/pbrlib/genglsl/mx_subsurface_bsdf.glsl",start:462706,end:463759},{filename:"/libraries/pbrlib/genglsl/mx_translucent_bsdf.glsl",start:463759,end:464485},{filename:"/libraries/pbrlib/genglsl/mx_uniform_edf.glsl",start:464485,end:464693},{filename:"/libraries/pbrlib/genglsl/pbrlib_genglsl_impl.mtlx",start:464693,end:470798},{filename:"/libraries/pbrlib/genmdl/pbrlib_genmdl_impl.mtlx",start:470798,end:482183},{filename:"/libraries/pbrlib/genmsl/pbrlib_genmsl_impl.mtlx",start:482183,end:482450},{filename:"/libraries/pbrlib/genosl/lib/mx_microfacet.osl",start:482450,end:484182},{filename:"/libraries/pbrlib/genosl/mx_anisotropic_vdf.osl",start:484182,end:484553},{filename:"/libraries/pbrlib/genosl/mx_artistic_ior.osl",start:484553,end:485145},{filename:"/libraries/pbrlib/genosl/mx_blackbody.osl",start:485145,end:486917},{filename:"/libraries/pbrlib/genosl/mx_chiang_hair_bsdf.osl",start:486917,end:487609},{filename:"/libraries/pbrlib/genosl/mx_chiang_hair_roughness.osl",start:487609,end:487966},{filename:"/libraries/pbrlib/genosl/mx_dielectric_bsdf.osl",start:487966,end:488516},{filename:"/libraries/pbrlib/genosl/mx_generalized_schlick_bsdf.osl",start:488516,end:489155},{filename:"/libraries/pbrlib/genosl/mx_generalized_schlick_edf.osl",start:489155,end:489425},{filename:"/libraries/pbrlib/genosl/mx_roughness_anisotropy.osl",start:489425,end:489876},{filename:"/libraries/pbrlib/genosl/mx_roughness_dual.osl",start:489876,end:490172},{filename:"/libraries/pbrlib/genosl/mx_subsurface_bsdf.osl",start:490172,end:490500},{filename:"/libraries/pbrlib/genosl/mx_surface.osl",start:490500,end:490701},{filename:"/libraries/pbrlib/genosl/pbrlib_genosl_impl.mtlx",start:490701,end:496546},{filename:"/libraries/pbrlib/pbrlib_defs.mtlx",start:496546,end:521016},{filename:"/libraries/pbrlib/pbrlib_ng.mtlx",start:521016,end:521810},{filename:"/libraries/stdlib/genglsl/lib/mx_geometry.glsl",start:521810,end:523171},{filename:"/libraries/stdlib/genglsl/lib/mx_hextile.glsl",start:523171,end:527672},{filename:"/libraries/stdlib/genglsl/lib/mx_hsv.glsl",start:527672,end:531151},{filename:"/libraries/stdlib/genglsl/lib/mx_math.glsl",start:531151,end:531786},{filename:"/libraries/stdlib/genglsl/lib/mx_noise.glsl",start:531786,end:554725},{filename:"/libraries/stdlib/genglsl/lib/mx_transform_uv.glsl",start:554725,end:554841},{filename:"/libraries/stdlib/genglsl/lib/mx_transform_uv_vflip.glsl",start:554841,end:554977},{filename:"/libraries/stdlib/genglsl/mx_aastep.glsl",start:554977,end:555177},{filename:"/libraries/stdlib/genglsl/mx_burn_color3.glsl",start:555177,end:555462},{filename:"/libraries/stdlib/genglsl/mx_burn_color4.glsl",start:555462,end:555803},{filename:"/libraries/stdlib/genglsl/mx_burn_float.glsl",start:555803,end:556026},{filename:"/libraries/stdlib/genglsl/mx_cellnoise2d_float.glsl",start:556026,end:556163},{filename:"/libraries/stdlib/genglsl/mx_cellnoise3d_float.glsl",start:556163,end:556300},{filename:"/libraries/stdlib/genglsl/mx_creatematrix_vector3_matrix33.glsl",start:556300,end:556507},{filename:"/libraries/stdlib/genglsl/mx_creatematrix_vector3_matrix44.glsl",start:556507,end:556783},{filename:"/libraries/stdlib/genglsl/mx_creatematrix_vector4_matrix44.glsl",start:556783,end:557067},{filename:"/libraries/stdlib/genglsl/mx_disjointover_color4.glsl",start:557067,end:557661},{filename:"/libraries/stdlib/genglsl/mx_dodge_color3.glsl",start:557661,end:557951},{filename:"/libraries/stdlib/genglsl/mx_dodge_color4.glsl",start:557951,end:558300},{filename:"/libraries/stdlib/genglsl/mx_dodge_float.glsl",start:558300,end:558522},{filename:"/libraries/stdlib/genglsl/mx_fractal2d_float.glsl",start:558522,end:558794},{filename:"/libraries/stdlib/genglsl/mx_fractal2d_vector2.glsl",start:558794,end:559064},{filename:"/libraries/stdlib/genglsl/mx_fractal2d_vector3.glsl",start:559064,end:559334},{filename:"/libraries/stdlib/genglsl/mx_fractal2d_vector4.glsl",start:559334,end:559604},{filename:"/libraries/stdlib/genglsl/mx_fractal3d_float.glsl",start:559604,end:559876},{filename:"/libraries/stdlib/genglsl/mx_fractal3d_vector2.glsl",start:559876,end:560146},{filename:"/libraries/stdlib/genglsl/mx_fractal3d_vector3.glsl",start:560146,end:560416},{filename:"/libraries/stdlib/genglsl/mx_fractal3d_vector4.glsl",start:560416,end:560686},{filename:"/libraries/stdlib/genglsl/mx_heighttonormal_vector3.glsl",start:560686,end:561639},{filename:"/libraries/stdlib/genglsl/mx_hextiledimage.glsl",start:561639,end:564789},{filename:"/libraries/stdlib/genglsl/mx_hextilednormalmap.glsl",start:564789,end:567295},{filename:"/libraries/stdlib/genglsl/mx_hsvtorgb_color3.glsl",start:567295,end:567409},{filename:"/libraries/stdlib/genglsl/mx_hsvtorgb_color4.glsl",start:567409,end:567538},{filename:"/libraries/stdlib/genglsl/mx_image_color3.glsl",start:567538,end:567928},{filename:"/libraries/stdlib/genglsl/mx_image_color4.glsl",start:567928,end:568314},{filename:"/libraries/stdlib/genglsl/mx_image_float.glsl",start:568314,end:568703},{filename:"/libraries/stdlib/genglsl/mx_image_vector2.glsl",start:568703,end:569093},{filename:"/libraries/stdlib/genglsl/mx_image_vector3.glsl",start:569093,end:569484},{filename:"/libraries/stdlib/genglsl/mx_image_vector4.glsl",start:569484,end:569871},{filename:"/libraries/stdlib/genglsl/mx_luminance_color3.glsl",start:569871,end:569985},{filename:"/libraries/stdlib/genglsl/mx_luminance_color4.glsl",start:569985,end:570116},{filename:"/libraries/stdlib/genglsl/mx_mix_surfaceshader.glsl",start:570116,end:570350},{filename:"/libraries/stdlib/genglsl/mx_noise2d_float.glsl",start:570350,end:570560},{filename:"/libraries/stdlib/genglsl/mx_noise2d_vector2.glsl",start:570560,end:570771},{filename:"/libraries/stdlib/genglsl/mx_noise2d_vector3.glsl",start:570771,end:570979},{filename:"/libraries/stdlib/genglsl/mx_noise2d_vector4.glsl",start:570979,end:571254},{filename:"/libraries/stdlib/genglsl/mx_noise3d_float.glsl",start:571254,end:571464},{filename:"/libraries/stdlib/genglsl/mx_noise3d_vector2.glsl",start:571464,end:571675},{filename:"/libraries/stdlib/genglsl/mx_noise3d_vector3.glsl",start:571675,end:571883},{filename:"/libraries/stdlib/genglsl/mx_noise3d_vector4.glsl",start:571883,end:572162},{filename:"/libraries/stdlib/genglsl/mx_normalmap.glsl",start:572162,end:572660},{filename:"/libraries/stdlib/genglsl/mx_premult_color4.glsl",start:572660,end:572757},{filename:"/libraries/stdlib/genglsl/mx_ramplr_float.glsl",start:572757,end:572908},{filename:"/libraries/stdlib/genglsl/mx_ramplr_vector2.glsl",start:572908,end:573058},{filename:"/libraries/stdlib/genglsl/mx_ramplr_vector3.glsl",start:573058,end:573208},{filename:"/libraries/stdlib/genglsl/mx_ramplr_vector4.glsl",start:573208,end:573358},{filename:"/libraries/stdlib/genglsl/mx_ramptb_float.glsl",start:573358,end:573509},{filename:"/libraries/stdlib/genglsl/mx_ramptb_vector2.glsl",start:573509,end:573659},{filename:"/libraries/stdlib/genglsl/mx_ramptb_vector3.glsl",start:573659,end:573809},{filename:"/libraries/stdlib/genglsl/mx_ramptb_vector4.glsl",start:573809,end:573959},{filename:"/libraries/stdlib/genglsl/mx_rgbtohsv_color3.glsl",start:573959,end:574073},{filename:"/libraries/stdlib/genglsl/mx_rgbtohsv_color4.glsl",start:574073,end:574202},{filename:"/libraries/stdlib/genglsl/mx_rotate_vector2.glsl",start:574202,end:574460},{filename:"/libraries/stdlib/genglsl/mx_rotate_vector3.glsl",start:574460,end:575361},{filename:"/libraries/stdlib/genglsl/mx_smoothstep_float.glsl",start:575361,end:575586},{filename:"/libraries/stdlib/genglsl/mx_splitlr_float.glsl",start:575586,end:575779},{filename:"/libraries/stdlib/genglsl/mx_splitlr_vector2.glsl",start:575779,end:575971},{filename:"/libraries/stdlib/genglsl/mx_splitlr_vector3.glsl",start:575971,end:576163},{filename:"/libraries/stdlib/genglsl/mx_splitlr_vector4.glsl",start:576163,end:576355},{filename:"/libraries/stdlib/genglsl/mx_splittb_float.glsl",start:576355,end:576548},{filename:"/libraries/stdlib/genglsl/mx_splittb_vector2.glsl",start:576548,end:576740},{filename:"/libraries/stdlib/genglsl/mx_splittb_vector3.glsl",start:576740,end:576932},{filename:"/libraries/stdlib/genglsl/mx_splittb_vector4.glsl",start:576932,end:577124},{filename:"/libraries/stdlib/genglsl/mx_surface_unlit.glsl",start:577124,end:577416},{filename:"/libraries/stdlib/genglsl/mx_transformmatrix_vector2M3.glsl",start:577416,end:577557},{filename:"/libraries/stdlib/genglsl/mx_transformmatrix_vector3M4.glsl",start:577557,end:577699},{filename:"/libraries/stdlib/genglsl/mx_unpremult_color4.glsl",start:577699,end:577798},{filename:"/libraries/stdlib/genglsl/mx_worleynoise2d_float.glsl",start:577798,end:577982},{filename:"/libraries/stdlib/genglsl/mx_worleynoise2d_vector2.glsl",start:577982,end:578166},{filename:"/libraries/stdlib/genglsl/mx_worleynoise2d_vector3.glsl",start:578166,end:578350},{filename:"/libraries/stdlib/genglsl/mx_worleynoise3d_float.glsl",start:578350,end:578534},{filename:"/libraries/stdlib/genglsl/mx_worleynoise3d_vector2.glsl",start:578534,end:578718},{filename:"/libraries/stdlib/genglsl/mx_worleynoise3d_vector3.glsl",start:578718,end:578902},{filename:"/libraries/stdlib/genglsl/stdlib_genglsl_impl.mtlx",start:578902,end:655696},{filename:"/libraries/stdlib/genmdl/stdlib_genmdl_impl.mtlx",start:655696,end:749986},{filename:"/libraries/stdlib/genmsl/lib/mx_math.metal",start:749986,end:754275},{filename:"/libraries/stdlib/genmsl/lib/mx_matscalaroperators.metal",start:754275,end:755284},{filename:"/libraries/stdlib/genmsl/lib/mx_texture.metal",start:755284,end:756022},{filename:"/libraries/stdlib/genmsl/stdlib_genmsl_impl.mtlx",start:756022,end:765748},{filename:"/libraries/stdlib/genosl/include/color4.h",start:765748,end:771586},{filename:"/libraries/stdlib/genosl/include/matrix33.h",start:771586,end:774206},{filename:"/libraries/stdlib/genosl/include/mx_funcs.h",start:774206,end:795997},{filename:"/libraries/stdlib/genosl/include/vector2.h",start:795997,end:801663},{filename:"/libraries/stdlib/genosl/include/vector4.h",start:801663,end:810661},{filename:"/libraries/stdlib/genosl/lib/mx_transform_uv.osl",start:810661,end:810728},{filename:"/libraries/stdlib/genosl/lib/mx_transform_uv_vflip.osl",start:810728,end:810824},{filename:"/libraries/stdlib/genosl/lib/vector4_extra_ops.osl",start:810824,end:811698},{filename:"/libraries/stdlib/genosl/mx_burn_color3.osl",start:811698,end:811951},{filename:"/libraries/stdlib/genosl/mx_burn_color4.osl",start:811951,end:812289},{filename:"/libraries/stdlib/genosl/mx_burn_float.osl",start:812289,end:812506},{filename:"/libraries/stdlib/genosl/mx_cellnoise2d_float.osl",start:812506,end:812623},{filename:"/libraries/stdlib/genosl/mx_cellnoise3d_float.osl",start:812623,end:812725},{filename:"/libraries/stdlib/genosl/mx_creatematrix.osl",start:812725,end:813630},{filename:"/libraries/stdlib/genosl/mx_disjointover_color4.osl",start:813630,end:814208},{filename:"/libraries/stdlib/genosl/mx_dodge_color3.osl",start:814208,end:814466},{filename:"/libraries/stdlib/genosl/mx_dodge_color4.osl",start:814466,end:814813},{filename:"/libraries/stdlib/genosl/mx_dodge_float.osl",start:814813,end:815020},{filename:"/libraries/stdlib/genosl/mx_fractal2d_float.osl",start:815020,end:815266},{filename:"/libraries/stdlib/genosl/mx_fractal2d_vector2.osl",start:815266,end:815520},{filename:"/libraries/stdlib/genosl/mx_fractal2d_vector3.osl",start:815520,end:815771},{filename:"/libraries/stdlib/genosl/mx_fractal2d_vector4.osl",start:815771,end:816025},{filename:"/libraries/stdlib/genosl/mx_fractal3d_float.osl",start:816025,end:816256},{filename:"/libraries/stdlib/genosl/mx_fractal3d_vector2.osl",start:816256,end:816495},{filename:"/libraries/stdlib/genosl/mx_fractal3d_vector3.osl",start:816495,end:816731},{filename:"/libraries/stdlib/genosl/mx_fractal3d_vector4.osl",start:816731,end:816970},{filename:"/libraries/stdlib/genosl/mx_frame_float.osl",start:816970,end:817139},{filename:"/libraries/stdlib/genosl/mx_geomcolor_color3.osl",start:817139,end:817235},{filename:"/libraries/stdlib/genosl/mx_geomcolor_color4.osl",start:817235,end:817466},{filename:"/libraries/stdlib/genosl/mx_geomcolor_float.osl",start:817466,end:817561},{filename:"/libraries/stdlib/genosl/mx_geompropvalue_boolean.osl",start:817561,end:817712},{filename:"/libraries/stdlib/genosl/mx_geompropvalue_color3.osl",start:817712,end:817865},{filename:"/libraries/stdlib/genosl/mx_geompropvalue_color4.osl",start:817865,end:818233},{filename:"/libraries/stdlib/genosl/mx_geompropvalue_float.osl",start:818233,end:818407},{filename:"/libraries/stdlib/genosl/mx_geompropvalue_integer.osl",start:818407,end:818558},{filename:"/libraries/stdlib/genosl/mx_geompropvalue_string.osl",start:818558,end:818714},{filename:"/libraries/stdlib/genosl/mx_geompropvalue_vector2.osl",start:818714,end:818980},{filename:"/libraries/stdlib/genosl/mx_geompropvalue_vector3.osl",start:818980,end:819136},{filename:"/libraries/stdlib/genosl/mx_geompropvalue_vector4.osl",start:819136,end:819454},{filename:"/libraries/stdlib/genosl/mx_heighttonormal_vector3.osl",start:819454,end:820428},{filename:"/libraries/stdlib/genosl/mx_hsvtorgb_color3.osl",start:820428,end:820533},{filename:"/libraries/stdlib/genosl/mx_hsvtorgb_color4.osl",start:820533,end:820655},{filename:"/libraries/stdlib/genosl/mx_image_color3.osl",start:820655,end:821600},{filename:"/libraries/stdlib/genosl/mx_image_color4.osl",start:821600,end:822723},{filename:"/libraries/stdlib/genosl/mx_image_float.osl",start:822723,end:823586},{filename:"/libraries/stdlib/genosl/mx_image_vector2.osl",start:823586,end:824501},{filename:"/libraries/stdlib/genosl/mx_image_vector3.osl",start:824501,end:825319},{filename:"/libraries/stdlib/genosl/mx_image_vector4.osl",start:825319,end:826362},{filename:"/libraries/stdlib/genosl/mx_luminance_color3.osl",start:826362,end:826474},{filename:"/libraries/stdlib/genosl/mx_luminance_color4.osl",start:826474,end:826606},{filename:"/libraries/stdlib/genosl/mx_mix_surfaceshader.osl",start:826606,end:826848},{filename:"/libraries/stdlib/genosl/mx_noise2d_float.osl",start:826848,end:827042},{filename:"/libraries/stdlib/genosl/mx_noise2d_vector2.osl",start:827042,end:827247},{filename:"/libraries/stdlib/genosl/mx_noise2d_vector3.osl",start:827247,end:827446},{filename:"/libraries/stdlib/genosl/mx_noise2d_vector4.osl",start:827446,end:827651},{filename:"/libraries/stdlib/genosl/mx_noise3d_float.osl",start:827651,end:827830},{filename:"/libraries/stdlib/genosl/mx_noise3d_vector2.osl",start:827830,end:828020},{filename:"/libraries/stdlib/genosl/mx_noise3d_vector3.osl",start:828020,end:828204},{filename:"/libraries/stdlib/genosl/mx_noise3d_vector4.osl",start:828204,end:828394},{filename:"/libraries/stdlib/genosl/mx_normalmap.osl",start:828394,end:829306},{filename:"/libraries/stdlib/genosl/mx_premult_color4.osl",start:829306,end:829408},{filename:"/libraries/stdlib/genosl/mx_rgbtohsv_color3.osl",start:829408,end:829513},{filename:"/libraries/stdlib/genosl/mx_rgbtohsv_color4.osl",start:829513,end:829635},{filename:"/libraries/stdlib/genosl/mx_rotate_vector2.osl",start:829635,end:829896},{filename:"/libraries/stdlib/genosl/mx_rotate_vector3.osl",start:829896,end:830966},{filename:"/libraries/stdlib/genosl/mx_surface_unlit.osl",start:830966,end:831380},{filename:"/libraries/stdlib/genosl/mx_surfacematerial.osl",start:831380,end:831663},{filename:"/libraries/stdlib/genosl/mx_time_float.osl",start:831663,end:831841},{filename:"/libraries/stdlib/genosl/mx_transformmatrix_vector2M3.osl",start:831841,end:832027},{filename:"/libraries/stdlib/genosl/mx_unpremult_color4.osl",start:832027,end:832131},{filename:"/libraries/stdlib/genosl/mx_worleynoise2d_float.osl",start:832131,end:832291},{filename:"/libraries/stdlib/genosl/mx_worleynoise2d_vector2.osl",start:832291,end:832457},{filename:"/libraries/stdlib/genosl/mx_worleynoise2d_vector3.osl",start:832457,end:832622},{filename:"/libraries/stdlib/genosl/mx_worleynoise3d_float.osl",start:832622,end:832781},{filename:"/libraries/stdlib/genosl/mx_worleynoise3d_vector2.osl",start:832781,end:832946},{filename:"/libraries/stdlib/genosl/mx_worleynoise3d_vector3.osl",start:832946,end:833110},{filename:"/libraries/stdlib/genosl/stdlib_genosl_impl.mtlx",start:833110,end:910156},{filename:"/libraries/stdlib/stdlib_defs.mtlx",start:910156,end:1187365},{filename:"/libraries/stdlib/stdlib_ng.mtlx",start:1187365,end:1510011},{filename:"/libraries/targets/essl.mtlx",start:1510011,end:1510473},{filename:"/libraries/targets/genglsl.mtlx",start:1510473,end:1510926},{filename:"/libraries/targets/genmdl.mtlx",start:1510926,end:1511378},{filename:"/libraries/targets/genmsl.mtlx",start:1511378,end:1511848},{filename:"/libraries/targets/genosl.mtlx",start:1511848,end:1512300}],remote_package_size:1512300})})();var W=Object.assign({},i),O="./this.program",QA=(A,I)=>{throw I},_="";function IA(A){return i.locateFile?i.locateFile(A,_):_+A}var gA,CA;if(H){var $=require("fs");require("path"),_=__dirname+"/",CA=A=>{A=YI(A)?new URL(A):A;var I=$.readFileSync(A);return I},gA=async(A,I=!0)=>{A=YI(A)?new URL(A):A;var g=$.readFileSync(A,I?void 0:"utf8");return g},!i.thisProgram&&process.argv.length>1&&(O=process.argv[1].replace(/\\/g,"/")),process.argv.slice(2),QA=(A,I)=>{throw process.exitCode=A,I}}else(d||F)&&(F?_=self.location.href:typeof document<"u"&&document.currentScript&&(_=document.currentScript.src),U&&(_=U),_.startsWith("blob:")?_="":_=_.substr(0,_.replace(/[?#].*/,"").lastIndexOf("/")+1),F&&(CA=A=>{var I=new XMLHttpRequest;return I.open("GET",A,!1),I.responseType="arraybuffer",I.send(null),new Uint8Array(I.response)}),gA=async A=>{if(YI(A))return new Promise((g,B)=>{var Q=new XMLHttpRequest;Q.open("GET",A,!0),Q.responseType="arraybuffer",Q.onload=()=>{if(Q.status==200||Q.status==0&&Q.response){g(Q.response);return}B(Q.status)},Q.onerror=B,Q.send(null)});var I=await fetch(A,{credentials:"same-origin"});if(I.ok)return I.arrayBuffer();throw new Error(I.status+" : "+I.url)});var RA=i.print||console.log.bind(console),wA=i.printErr||console.error.bind(console);Object.assign(i,W),W=null,i.arguments&&i.arguments,i.thisProgram&&(O=i.thisProgram);var e=i.wasmBinary,CI,EI=!1,GI,JA,hA,UA,zA,j,n,Zg,xI;function Jg(){var A=CI.buffer;i.HEAP8=JA=new Int8Array(A),i.HEAP16=UA=new Int16Array(A),i.HEAPU8=hA=new Uint8Array(A),i.HEAPU16=zA=new Uint16Array(A),i.HEAP32=j=new Int32Array(A),i.HEAPU32=n=new Uint32Array(A),i.HEAPF32=Zg=new Float32Array(A),i.HEAPF64=xI=new Float64Array(A)}var og=[],wg=[],Rg=[];function kB(){if(i.preRun)for(typeof i.preRun=="function"&&(i.preRun=[i.preRun]);i.preRun.length;)KB(i.preRun.shift());uI(og)}function dB(){!i.noFSInit&&!C.initialized&&C.init(),C.ignorePermissions=!1,uI(wg)}function sB(){if(i.postRun)for(typeof i.postRun=="function"&&(i.postRun=[i.postRun]);i.postRun.length;)VB(i.postRun.shift());uI(Rg)}function KB(A){og.unshift(A)}function XB(A){wg.unshift(A)}function VB(A){Rg.unshift(A)}var KA=0,qA=null;function TI(A){KA++,i.monitorRunDependencies?.(KA)}function iI(A){if(KA--,i.monitorRunDependencies?.(KA),KA==0&&qA){var I=qA;qA=null,I()}}function LA(A){i.onAbort?.(A),A="Aborted("+A+")",wA(A),EI=!0,A+=". Build with -sASSERTIONS for more info.";var I=new WebAssembly.RuntimeError(A);throw M(I),I}var LB="data:application/octet-stream;base64,",bg=A=>A.startsWith(LB),YI=A=>A.startsWith("file://");function jB(){var A="JsMaterialXGenShader.wasm";return bg(A)?A:IA(A)}var PI;function xB(A){if(A==PI&&e)return new Uint8Array(e);if(CA)return CA(A);throw"both async and sync fetching of the wasm failed"}async function TB(A){if(!e)try{var I=await gA(A);return new Uint8Array(I)}catch{}return xB(A)}async function PB(A,I){try{var g=await TB(A),B=await WebAssembly.instantiate(g,I);return B}catch(Q){wA(`failed to asynchronously prepare wasm: ${Q}`),LA(Q)}}async function uB(A,I,g){if(!A&&typeof WebAssembly.instantiateStreaming=="function"&&!bg(I)&&!YI(I)&&!H&&typeof fetch=="function")try{var B=fetch(I,{credentials:"same-origin"}),Q=await WebAssembly.instantiateStreaming(B,g);return Q}catch(E){wA(`wasm streaming compile failed: ${E}`),wA("falling back to ArrayBuffer instantiation")}return PB(I,g)}function vB(){return{a:NE}}async function tB(){function A(Q,E){return YA=Q.exports,CI=YA._a,Jg(),Kg=YA.cb,XB(YA.$a),iI(),YA}TI();function I(Q){A(Q.instance)}var g=vB();if(i.instantiateWasm)try{return i.instantiateWasm(g,A)}catch(Q){wA(`Module.instantiateWasm callback failed with error: ${Q}`),M(Q)}PI??=jB();try{var B=await uB(e,PI,g);return I(B),B}catch(Q){M(Q);return}}var k,iA,fB={189968:()=>{i.TreeIterator.prototype[Symbol.iterator]=function(){return this}},190052:()=>{i.GraphIterator.prototype[Symbol.iterator]=function(){return this}},190137:()=>{i.InheritanceIterator.prototype[Symbol.iterator]=function(){return this}}};class hg{name="ExitStatus";constructor(I){this.message=`Program terminated with exit(${I})`,this.status=I}}var uI=A=>{for(;A.length>0;)A.shift()(i)},mg=i.noExitRuntime||!0,v=A=>eg(A),t=()=>rg(),lg=typeof TextDecoder<"u"?new TextDecoder:void 0,jA=(A,I=0,g=NaN)=>{for(var B=I+g,Q=I;A[Q]&&!(Q>=B);)++Q;if(Q-I>16&&A.buffer&&lg)return lg.decode(A.subarray(I,Q));for(var E="";I<Q;){var G=A[I++];if(!(G&128)){E+=String.fromCharCode(G);continue}var Y=A[I++]&63;if((G&224)==192){E+=String.fromCharCode((G&31)<<6|Y);continue}var D=A[I++]&63;if((G&240)==224?G=(G&15)<<12|Y<<6|D:G=(G&7)<<18|Y<<12|D<<6|A[I++]&63,G<65536)E+=String.fromCharCode(G);else{var Z=G-65536;E+=String.fromCharCode(55296|Z>>10,56320|Z&1023)}}return E},eA=(A,I)=>A?jA(hA,A,I):"",pB=(A,I,g,B)=>LA(`Assertion failed: ${eA(A)}, at: `+[I?eA(I):"unknown filename",g,B?eA(B):"unknown function"]),DI=[],NI=0,nB=A=>{var I=new vI(A);return I.get_caught()||(I.set_caught(!0),NI--),I.set_rethrown(!1),DI.push(I),_g(A),AB(A)},SA=0,zB=()=>{T(0,0);var A=DI.pop();Og(A.excPtr),SA=0};class vI{constructor(I){this.excPtr=I,this.ptr=I-24}set_type(I){n[this.ptr+4>>2]=I}get_type(){return n[this.ptr+4>>2]}set_destructor(I){n[this.ptr+8>>2]=I}get_destructor(){return n[this.ptr+8>>2]}set_caught(I){I=I?1:0,JA[this.ptr+12]=I}get_caught(){return JA[this.ptr+12]!=0}set_rethrown(I){I=I?1:0,JA[this.ptr+13]=I}get_rethrown(){return JA[this.ptr+13]!=0}init(I,g){this.set_adjusted_ptr(0),this.set_type(I),this.set_destructor(g)}set_adjusted_ptr(I){n[this.ptr+16>>2]=I}get_adjusted_ptr(){return n[this.ptr+16>>2]}}var qB=A=>{throw SA||(SA=A),SA},ZI=A=>qg(A),tI=A=>{var I=SA;if(!I)return ZI(0),0;var g=new vI(I);g.set_adjusted_ptr(I);var B=g.get_type();if(!B)return ZI(0),I;for(var Q of A){if(Q===0||Q===B)break;var E=g.ptr+16;if($g(Q,B,E))return ZI(Q),I}return ZI(B),I},eB=()=>tI([]),rB=A=>tI([A]),OB=(A,I)=>tI([A,I]),_B=()=>{var A=DI.pop();A||LA("no exception to throw");var I=A.excPtr;throw A.get_rethrown()||(DI.push(A),A.set_rethrown(!0),A.set_caught(!1),NI++),SA=I,SA},$B=(A,I,g)=>{var B=new vI(A);throw B.init(I,g),SA=A,NI++,SA},AQ=()=>NI,JI=()=>{var A=j[+bA.varargs>>2];return bA.varargs+=4,A},xA=JI,BA={isAbs:A=>A.charAt(0)==="/",splitPath:A=>{var I=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return I.exec(A).slice(1)},normalizeArray:(A,I)=>{for(var g=0,B=A.length-1;B>=0;B--){var Q=A[B];Q==="."?A.splice(B,1):Q===".."?(A.splice(B,1),g++):g&&(A.splice(B,1),g--)}if(I)for(;g;g--)A.unshift("..");return A},normalize:A=>{var I=BA.isAbs(A),g=A.substr(-1)==="/";return A=BA.normalizeArray(A.split("/").filter(B=>!!B),!I).join("/"),!A&&!I&&(A="."),A&&g&&(A+="/"),(I?"/":"")+A},dirname:A=>{var I=BA.splitPath(A),g=I[0],B=I[1];return!g&&!B?".":(B&&(B=B.substr(0,B.length-1)),g+B)},basename:A=>{if(A==="/")return"/";A=BA.normalize(A),A=A.replace(/\/$/,"");var I=A.lastIndexOf("/");return I===-1?A:A.substr(I+1)},join:(...A)=>BA.normalize(A.join("/")),join2:(A,I)=>BA.normalize(A+"/"+I)},IQ=()=>{if(typeof crypto=="object"&&typeof crypto.getRandomValues=="function")return B=>crypto.getRandomValues(B);if(H)try{var A=require("crypto"),I=A.randomFillSync;if(I)return B=>A.randomFillSync(B);var g=A.randomBytes;return B=>(B.set(g(B.byteLength)),B)}catch{}LA("initRandomDevice")},Ug=A=>(Ug=IQ())(A),TA={resolve:(...A)=>{for(var I="",g=!1,B=A.length-1;B>=-1&&!g;B--){var Q=B>=0?A[B]:C.cwd();if(typeof Q!="string")throw new TypeError("Arguments to path.resolve must be strings");if(!Q)return"";I=Q+"/"+I,g=BA.isAbs(Q)}return I=BA.normalizeArray(I.split("/").filter(E=>!!E),!g).join("/"),(g?"/":"")+I||"."},relative:(A,I)=>{A=TA.resolve(A).substr(1),I=TA.resolve(I).substr(1);function g(Z){for(var J=0;J<Z.length&&Z[J]==="";J++);for(var w=Z.length-1;w>=0&&Z[w]==="";w--);return J>w?[]:Z.slice(J,w-J+1)}for(var B=g(A.split("/")),Q=g(I.split("/")),E=Math.min(B.length,Q.length),G=E,Y=0;Y<E;Y++)if(B[Y]!==Q[Y]){G=Y;break}for(var D=[],Y=G;Y<B.length;Y++)D.push("..");return D=D.concat(Q.slice(G)),D.join("/")}},fI=[],pI=A=>{for(var I=0,g=0;g<A.length;++g){var B=A.charCodeAt(g);B<=127?I++:B<=2047?I+=2:B>=55296&&B<=57343?(I+=4,++g):I+=3}return I},nI=(A,I,g,B)=>{if(!(B>0))return 0;for(var Q=g,E=g+B-1,G=0;G<A.length;++G){var Y=A.charCodeAt(G);if(Y>=55296&&Y<=57343){var D=A.charCodeAt(++G);Y=65536+((Y&1023)<<10)|D&1023}if(Y<=127){if(g>=E)break;I[g++]=Y}else if(Y<=2047){if(g+1>=E)break;I[g++]=192|Y>>6,I[g++]=128|Y&63}else if(Y<=65535){if(g+2>=E)break;I[g++]=224|Y>>12,I[g++]=128|Y>>6&63,I[g++]=128|Y&63}else{if(g+3>=E)break;I[g++]=240|Y>>18,I[g++]=128|Y>>12&63,I[g++]=128|Y>>6&63,I[g++]=128|Y&63}}return I[g]=0,g-Q};function Fg(A,I,g){var B=pI(A)+1,Q=new Array(B),E=nI(A,Q,0,Q.length);return Q.length=E,Q}var gQ=()=>{if(!fI.length){var A=null;if(H){var I=256,g=Buffer.alloc(I),B=0,Q=process.stdin.fd;try{B=$.readSync(Q,g,0,I)}catch(E){if(E.toString().includes("EOF"))B=0;else throw E}B>0&&(A=g.slice(0,B).toString("utf-8"))}else typeof window<"u"&&typeof window.prompt=="function"&&(A=window.prompt("Input: "),A!==null&&(A+=`
`));if(!A)return null;fI=Fg(A)}return fI.shift()},XA={ttys:[],init(){},shutdown(){},register(A,I){XA.ttys[A]={input:[],output:[],ops:I},C.registerDevice(A,XA.stream_ops)},stream_ops:{open(A){var I=XA.ttys[A.node.rdev];if(!I)throw new C.ErrnoError(43);A.tty=I,A.seekable=!1},close(A){A.tty.ops.fsync(A.tty)},fsync(A){A.tty.ops.fsync(A.tty)},read(A,I,g,B,Q){if(!A.tty||!A.tty.ops.get_char)throw new C.ErrnoError(60);for(var E=0,G=0;G<B;G++){var Y;try{Y=A.tty.ops.get_char(A.tty)}catch{throw new C.ErrnoError(29)}if(Y===void 0&&E===0)throw new C.ErrnoError(6);if(Y==null)break;E++,I[g+G]=Y}return E&&(A.node.atime=Date.now()),E},write(A,I,g,B,Q){if(!A.tty||!A.tty.ops.put_char)throw new C.ErrnoError(60);try{for(var E=0;E<B;E++)A.tty.ops.put_char(A.tty,I[g+E])}catch{throw new C.ErrnoError(29)}return B&&(A.node.mtime=A.node.ctime=Date.now()),E}},default_tty_ops:{get_char(A){return gQ()},put_char(A,I){I===null||I===10?(RA(jA(A.output)),A.output=[]):I!=0&&A.output.push(I)},fsync(A){A.output&&A.output.length>0&&(RA(jA(A.output)),A.output=[])},ioctl_tcgets(A){return{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(A,I,g){return 0},ioctl_tiocgwinsz(A){return[24,80]}},default_tty1_ops:{put_char(A,I){I===null||I===10?(wA(jA(A.output)),A.output=[]):I!=0&&A.output.push(I)},fsync(A){A.output&&A.output.length>0&&(wA(jA(A.output)),A.output=[])}}},BQ=(A,I)=>Math.ceil(A/I)*I,Mg=A=>{LA()},X={ops_table:null,mount(A){return X.createNode(null,"/",16895,0)},createNode(A,I,g,B){if(C.isBlkdev(g)||C.isFIFO(g))throw new C.ErrnoError(63);X.ops_table||={dir:{node:{getattr:X.node_ops.getattr,setattr:X.node_ops.setattr,lookup:X.node_ops.lookup,mknod:X.node_ops.mknod,rename:X.node_ops.rename,unlink:X.node_ops.unlink,rmdir:X.node_ops.rmdir,readdir:X.node_ops.readdir,symlink:X.node_ops.symlink},stream:{llseek:X.stream_ops.llseek}},file:{node:{getattr:X.node_ops.getattr,setattr:X.node_ops.setattr},stream:{llseek:X.stream_ops.llseek,read:X.stream_ops.read,write:X.stream_ops.write,allocate:X.stream_ops.allocate,mmap:X.stream_ops.mmap,msync:X.stream_ops.msync}},link:{node:{getattr:X.node_ops.getattr,setattr:X.node_ops.setattr,readlink:X.node_ops.readlink},stream:{}},chrdev:{node:{getattr:X.node_ops.getattr,setattr:X.node_ops.setattr},stream:C.chrdev_stream_ops}};var Q=C.createNode(A,I,g,B);return C.isDir(Q.mode)?(Q.node_ops=X.ops_table.dir.node,Q.stream_ops=X.ops_table.dir.stream,Q.contents={}):C.isFile(Q.mode)?(Q.node_ops=X.ops_table.file.node,Q.stream_ops=X.ops_table.file.stream,Q.usedBytes=0,Q.contents=null):C.isLink(Q.mode)?(Q.node_ops=X.ops_table.link.node,Q.stream_ops=X.ops_table.link.stream):C.isChrdev(Q.mode)&&(Q.node_ops=X.ops_table.chrdev.node,Q.stream_ops=X.ops_table.chrdev.stream),Q.atime=Q.mtime=Q.ctime=Date.now(),A&&(A.contents[I]=Q,A.atime=A.mtime=A.ctime=Q.atime),Q},getFileDataAsTypedArray(A){return A.contents?A.contents.subarray?A.contents.subarray(0,A.usedBytes):new Uint8Array(A.contents):new Uint8Array(0)},expandFileStorage(A,I){var g=A.contents?A.contents.length:0;if(!(g>=I)){var B=1048576;I=Math.max(I,g*(g<B?2:1.125)>>>0),g!=0&&(I=Math.max(I,256));var Q=A.contents;A.contents=new Uint8Array(I),A.usedBytes>0&&A.contents.set(Q.subarray(0,A.usedBytes),0)}},resizeFileStorage(A,I){if(A.usedBytes!=I)if(I==0)A.contents=null,A.usedBytes=0;else{var g=A.contents;A.contents=new Uint8Array(I),g&&A.contents.set(g.subarray(0,Math.min(I,A.usedBytes))),A.usedBytes=I}},node_ops:{getattr(A){var I={};return I.dev=C.isChrdev(A.mode)?A.id:1,I.ino=A.id,I.mode=A.mode,I.nlink=1,I.uid=0,I.gid=0,I.rdev=A.rdev,C.isDir(A.mode)?I.size=4096:C.isFile(A.mode)?I.size=A.usedBytes:C.isLink(A.mode)?I.size=A.link.length:I.size=0,I.atime=new Date(A.atime),I.mtime=new Date(A.mtime),I.ctime=new Date(A.ctime),I.blksize=4096,I.blocks=Math.ceil(I.size/I.blksize),I},setattr(A,I){for(const g of["mode","atime","mtime","ctime"])I[g]&&(A[g]=I[g]);I.size!==void 0&&X.resizeFileStorage(A,I.size)},lookup(A,I){throw X.doesNotExistError},mknod(A,I,g,B){return X.createNode(A,I,g,B)},rename(A,I,g){var B;try{B=C.lookupNode(I,g)}catch{}if(B){if(C.isDir(A.mode))for(var Q in B.contents)throw new C.ErrnoError(55);C.hashRemoveNode(B)}delete A.parent.contents[A.name],I.contents[g]=A,A.name=g,I.ctime=I.mtime=A.parent.ctime=A.parent.mtime=Date.now()},unlink(A,I){delete A.contents[I],A.ctime=A.mtime=Date.now()},rmdir(A,I){var g=C.lookupNode(A,I);for(var B in g.contents)throw new C.ErrnoError(55);delete A.contents[I],A.ctime=A.mtime=Date.now()},readdir(A){return[".","..",...Object.keys(A.contents)]},symlink(A,I,g){var B=X.createNode(A,I,41471,0);return B.link=g,B},readlink(A){if(!C.isLink(A.mode))throw new C.ErrnoError(28);return A.link}},stream_ops:{read(A,I,g,B,Q){var E=A.node.contents;if(Q>=A.node.usedBytes)return 0;var G=Math.min(A.node.usedBytes-Q,B);if(G>8&&E.subarray)I.set(E.subarray(Q,Q+G),g);else for(var Y=0;Y<G;Y++)I[g+Y]=E[Q+Y];return G},write(A,I,g,B,Q,E){if(I.buffer===JA.buffer&&(E=!1),!B)return 0;var G=A.node;if(G.mtime=G.ctime=Date.now(),I.subarray&&(!G.contents||G.contents.subarray)){if(E)return G.contents=I.subarray(g,g+B),G.usedBytes=B,B;if(G.usedBytes===0&&Q===0)return G.contents=I.slice(g,g+B),G.usedBytes=B,B;if(Q+B<=G.usedBytes)return G.contents.set(I.subarray(g,g+B),Q),B}if(X.expandFileStorage(G,Q+B),G.contents.subarray&&I.subarray)G.contents.set(I.subarray(g,g+B),Q);else for(var Y=0;Y<B;Y++)G.contents[Q+Y]=I[g+Y];return G.usedBytes=Math.max(G.usedBytes,Q+B),B},llseek(A,I,g){var B=I;if(g===1?B+=A.position:g===2&&C.isFile(A.node.mode)&&(B+=A.node.usedBytes),B<0)throw new C.ErrnoError(28);return B},allocate(A,I,g){X.expandFileStorage(A.node,I+g),A.node.usedBytes=Math.max(A.node.usedBytes,I+g)},mmap(A,I,g,B,Q){if(!C.isFile(A.node.mode))throw new C.ErrnoError(43);var E,G,Y=A.node.contents;if(!(Q&2)&&Y&&Y.buffer===JA.buffer)G=!1,E=Y.byteOffset;else{if(G=!0,E=Mg(),!E)throw new C.ErrnoError(48);Y&&((g>0||g+I<Y.length)&&(Y.subarray?Y=Y.subarray(g,g+I):Y=Array.prototype.slice.call(Y,g,g+I)),JA.set(Y,E))}return{ptr:E,allocated:G}},msync(A,I,g,B,Q){return X.stream_ops.write(A,I,0,B,g,!1),0}}},QQ=async A=>{var I=await gA(A);return new Uint8Array(I)},yg=(A,I,g,B,Q,E)=>{C.createDataFile(A,I,g,B,Q,E)},CQ=i.preloadPlugins||[],EQ=(A,I,g,B)=>{typeof Browser<"u"&&Browser.init();var Q=!1;return CQ.forEach(E=>{Q||E.canHandle(I)&&(E.handle(A,I,g,B),Q=!0)}),Q},ag=(A,I,g,B,Q,E,G,Y,D,Z)=>{var J=I?TA.resolve(BA.join2(A,I)):A;function w(b){function m(o){Z?.(),Y||yg(A,I,o,B,Q,D),E?.(),iI()}EQ(b,J,m,()=>{G?.(),iI()})||m(b)}TI(),typeof g=="string"?QQ(g).then(w,G):w(g)},GQ=A=>{var I={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090},g=I[A];if(typeof g>"u")throw new Error(`Unknown file open mode: ${A}`);return g},zI=(A,I)=>{var g=0;return A&&(g|=365),I&&(g|=146),g},C={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,ErrnoError:class{name="ErrnoError";constructor(A){this.errno=A}},filesystems:null,syncFSRequests:0,readFiles:{},FSStream:class{shared={};get object(){return this.node}set object(A){this.node=A}get isRead(){return(this.flags&2097155)!==1}get isWrite(){return(this.flags&2097155)!==0}get isAppend(){return this.flags&1024}get flags(){return this.shared.flags}set flags(A){this.shared.flags=A}get position(){return this.shared.position}set position(A){this.shared.position=A}},FSNode:class{node_ops={};stream_ops={};readMode=365;writeMode=146;mounted=null;constructor(A,I,g,B){A||(A=this),this.parent=A,this.mount=A.mount,this.id=C.nextInode++,this.name=I,this.mode=g,this.rdev=B,this.atime=this.mtime=this.ctime=Date.now()}get read(){return(this.mode&this.readMode)===this.readMode}set read(A){A?this.mode|=this.readMode:this.mode&=~this.readMode}get write(){return(this.mode&this.writeMode)===this.writeMode}set write(A){A?this.mode|=this.writeMode:this.mode&=~this.writeMode}get isFolder(){return C.isDir(this.mode)}get isDevice(){return C.isChrdev(this.mode)}},lookupPath(A,I={}){if(!A)return{path:"",node:null};I.follow_mount??=!0,BA.isAbs(A)||(A=C.cwd()+"/"+A);A:for(var g=0;g<40;g++){for(var B=A.split("/").filter(Z=>!!Z&&Z!=="."),Q=C.root,E="/",G=0;G<B.length;G++){var Y=G===B.length-1;if(Y&&I.parent)break;if(B[G]===".."){E=BA.dirname(E),Q=Q.parent;continue}E=BA.join2(E,B[G]);try{Q=C.lookupNode(Q,B[G])}catch(Z){if(Z?.errno===44&&Y&&I.noent_okay)return{path:E};throw Z}if(C.isMountpoint(Q)&&(!Y||I.follow_mount)&&(Q=Q.mounted.root),C.isLink(Q.mode)&&(!Y||I.follow)){if(!Q.node_ops.readlink)throw new C.ErrnoError(52);var D=Q.node_ops.readlink(Q);BA.isAbs(D)||(D=BA.dirname(E)+"/"+D),A=D+"/"+B.slice(G+1).join("/");continue A}}return{path:E,node:Q}}throw new C.ErrnoError(32)},getPath(A){for(var I;;){if(C.isRoot(A)){var g=A.mount.mountpoint;return I?g[g.length-1]!=="/"?`${g}/${I}`:g+I:g}I=I?`${A.name}/${I}`:A.name,A=A.parent}},hashName(A,I){for(var g=0,B=0;B<I.length;B++)g=(g<<5)-g+I.charCodeAt(B)|0;return(A+g>>>0)%C.nameTable.length},hashAddNode(A){var I=C.hashName(A.parent.id,A.name);A.name_next=C.nameTable[I],C.nameTable[I]=A},hashRemoveNode(A){var I=C.hashName(A.parent.id,A.name);if(C.nameTable[I]===A)C.nameTable[I]=A.name_next;else for(var g=C.nameTable[I];g;){if(g.name_next===A){g.name_next=A.name_next;break}g=g.name_next}},lookupNode(A,I){var g=C.mayLookup(A);if(g)throw new C.ErrnoError(g);for(var B=C.hashName(A.id,I),Q=C.nameTable[B];Q;Q=Q.name_next){var E=Q.name;if(Q.parent.id===A.id&&E===I)return Q}return C.lookup(A,I)},createNode(A,I,g,B){var Q=new C.FSNode(A,I,g,B);return C.hashAddNode(Q),Q},destroyNode(A){C.hashRemoveNode(A)},isRoot(A){return A===A.parent},isMountpoint(A){return!!A.mounted},isFile(A){return(A&61440)===32768},isDir(A){return(A&61440)===16384},isLink(A){return(A&61440)===40960},isChrdev(A){return(A&61440)===8192},isBlkdev(A){return(A&61440)===24576},isFIFO(A){return(A&61440)===4096},isSocket(A){return(A&49152)===49152},flagsToPermissionString(A){var I=["r","w","rw"][A&3];return A&512&&(I+="w"),I},nodePermissions(A,I){return C.ignorePermissions?0:I.includes("r")&&!(A.mode&292)||I.includes("w")&&!(A.mode&146)||I.includes("x")&&!(A.mode&73)?2:0},mayLookup(A){if(!C.isDir(A.mode))return 54;var I=C.nodePermissions(A,"x");return I||(A.node_ops.lookup?0:2)},mayCreate(A,I){if(!C.isDir(A.mode))return 54;try{var g=C.lookupNode(A,I);return 20}catch{}return C.nodePermissions(A,"wx")},mayDelete(A,I,g){var B;try{B=C.lookupNode(A,I)}catch(E){return E.errno}var Q=C.nodePermissions(A,"wx");if(Q)return Q;if(g){if(!C.isDir(B.mode))return 54;if(C.isRoot(B)||C.getPath(B)===C.cwd())return 10}else if(C.isDir(B.mode))return 31;return 0},mayOpen(A,I){return A?C.isLink(A.mode)?32:C.isDir(A.mode)&&(C.flagsToPermissionString(I)!=="r"||I&512)?31:C.nodePermissions(A,C.flagsToPermissionString(I)):44},MAX_OPEN_FDS:4096,nextfd(){for(var A=0;A<=C.MAX_OPEN_FDS;A++)if(!C.streams[A])return A;throw new C.ErrnoError(33)},getStreamChecked(A){var I=C.getStream(A);if(!I)throw new C.ErrnoError(8);return I},getStream:A=>C.streams[A],createStream(A,I=-1){return A=Object.assign(new C.FSStream,A),I==-1&&(I=C.nextfd()),A.fd=I,C.streams[I]=A,A},closeStream(A){C.streams[A]=null},dupStream(A,I=-1){var g=C.createStream(A,I);return g.stream_ops?.dup?.(g),g},chrdev_stream_ops:{open(A){var I=C.getDevice(A.node.rdev);A.stream_ops=I.stream_ops,A.stream_ops.open?.(A)},llseek(){throw new C.ErrnoError(70)}},major:A=>A>>8,minor:A=>A&255,makedev:(A,I)=>A<<8|I,registerDevice(A,I){C.devices[A]={stream_ops:I}},getDevice:A=>C.devices[A],getMounts(A){for(var I=[],g=[A];g.length;){var B=g.pop();I.push(B),g.push(...B.mounts)}return I},syncfs(A,I){typeof A=="function"&&(I=A,A=!1),C.syncFSRequests++,C.syncFSRequests>1&&wA(`warning