UNPKG

@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.

543 lines • 7.51 MB
import { Texture as KI, WebGLRenderTarget as $E, RepeatWrapping as ig, LinearFilter as mB, LinearMipMapLinearFilter as lB, FloatType as AG, RGBAFormat as IG, PlaneGeometry as FB, OrthographicCamera as gG, ShaderMaterial as UB, Scene as BG, Mesh as Yg, EquirectangularReflectionMapping as QG, Vector3 as zA, Quaternion as CG, Color as EG, Uniform$1 as GG, LinearSRGBColorSpace as iG, Cache as KA, MirroredRepeatWrapping as YG, ClampToEdgeWrapping as DG, NearestMipMapNearestFilter as NG, NearestFilter as ZG, MeshBasicMaterial as JG, PMREMGenerator$1 as oG, cloneUniforms as wG, cloneUniformsGroups as RG, GLSL3 as bG, Matrix4 as cI, UniformsLib as hG, Matrix3 as mG, MeshStandardMaterial as HI, DoubleSide as lG, FrontSide as FG } from "./three.js"; var kI = (function() { var F = typeof document < "u" ? document.currentScript?.src : void 0; return typeof __filename < "u" && (F = F || __filename), (function(N) { N = N || {}; var w, i = N, l, M, m = new Promise((A, I) => { l = A, M = I; }), s = typeof window == "object", U = typeof WorkerGlobalScope < "u", W = 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, d, x, K) { if (g) { require("fs").readFile(o, (V, q) => { V ? K(V) : x(q.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 q = V.body.getReader(), CA = () => q.read().then(S).catch((c) => Promise.reject(new Error(`Unexpected error while handling : ${V.url} ${c}`, { cause: c }))), O = [], wA = V.headers, y = Number(wA.get("Content-Length") ?? d); let a = 0; const S = ({ done: c, value: L }) => { if (c) { const AA = new Uint8Array(O.map((v) => v.length).reduce((v, hA) => v + hA, 0)); let EA = 0; for (const v of O) AA.set(v, EA), EA += v.length; x(AA.buffer); } else { O.push(L), a += L.length, i.dataFileDownloads[o] = { loaded: a, total: y }; let AA = 0, EA = 0; for (const v of Object.values(i.dataFileDownloads)) AA += v.loaded, EA += v.total; return i.setStatus?.(`Downloading data... (${AA}/${EA})`), CA(); } }; return i.setStatus?.("Downloading data..."), CA(); }); } function J(o) { console.error("package error:", o); } var R = null, b = i.getPreloadedPackage ? i.getPreloadedPackage(Y, D) : null; b || Z(Y, D, (o) => { R ? (R(o), R = null) : b = o; }, J); function h(o) { function d(CA, O) { if (!CA) throw O + 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(CA, O, wA) { this.start = CA, this.end = O, this.audio = wA; } x.prototype = { requests: {}, open: function(CA, O) { this.name = O, this.requests[O] = this, o.addRunDependency(`fp ${this.name}`); }, send: function() { }, onload: function() { var CA = this.byteArray.subarray(this.start, this.end); this.finish(CA); }, finish: function(CA) { var O = this; o.FS_createDataFile(this.name, null, CA, !0, !0, !0), o.removeRunDependency(`fp ${O.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 q(CA) { d(CA, "Loading data file failed."), d(CA.constructor.name === ArrayBuffer.name, "bad input to processPackageData"); var O = new Uint8Array(CA); x.prototype.byteArray = O; for (var wA = Q.files, y = 0; y < wA.length; ++y) x.prototype.requests[wA[y].filename].onload(); o.removeRunDependency("datafile_../../bin/JsMaterialXGenShader.data"); } o.addRunDependency("datafile_../../bin/JsMaterialXGenShader.data"), o.preloadResults ??= {}, o.preloadResults[E] = { fromCache: !1 }, b ? (q(b), b = null) : R = q; } i.calledRun ? h(i) : (i.preRun ??= []).push(h); } 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 H = Object.assign({}, i), _ = "./this.program", BA = (A, I) => { throw I; }, $ = ""; function IA(A) { return i.locateFile ? i.locateFile(A, $) : $ + A; } var lA, QA; if (W) { var P = require("fs"); require("path"), $ = __dirname + "/", QA = (A) => { A = iI(A) ? new URL(A) : A; var I = P.readFileSync(A); return I; }, lA = async (A, I = !0) => { A = iI(A) ? new URL(A) : A; var g = P.readFileSync(A, I ? void 0 : "utf8"); return g; }, !i.thisProgram && process.argv.length > 1 && (_ = process.argv[1].replace(/\\/g, "/")), process.argv.slice(2), BA = (A, I) => { throw process.exitCode = A, I; }; } else (s || U) && (U ? $ = self.location.href : typeof document < "u" && document.currentScript && ($ = document.currentScript.src), F && ($ = F), $.startsWith("blob:") ? $ = "" : $ = $.substr(0, $.replace(/[?#].*/, "").lastIndexOf("/") + 1), U && (QA = (A) => { var I = new XMLHttpRequest(); return I.open("GET", A, !1), I.responseType = "arraybuffer", I.send(null), new Uint8Array(I.response); }), lA = async (A) => { if (iI(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 JA = i.print || console.log.bind(console), DA = i.printErr || console.error.bind(console); Object.assign(i, H), H = null, i.arguments && i.arguments, i.thisProgram && (_ = i.thisProgram); var kA = i.wasmBinary, r, CI = !1, EI, oA, bA, UA, qA, j, z, Ng, xI; function Zg() { var A = r.buffer; i.HEAP8 = oA = new Int8Array(A), i.HEAP16 = UA = new Int16Array(A), i.HEAPU8 = bA = new Uint8Array(A), i.HEAPU16 = qA = new Uint16Array(A), i.HEAP32 = j = new Int32Array(A), i.HEAPU32 = z = new Uint32Array(A), i.HEAPF32 = Ng = new Float32Array(A), i.HEAPF64 = xI = new Float64Array(A); } var Jg = [], og = [], wg = []; function HB() { if (i.preRun) for (typeof i.preRun == "function" && (i.preRun = [i.preRun]); i.preRun.length; ) sB(i.preRun.shift()); uI(Jg); } function kB() { !i.noFSInit && !C.initialized && C.init(), C.ignorePermissions = !1, uI(og); } function dB() { if (i.postRun) for (typeof i.postRun == "function" && (i.postRun = [i.postRun]); i.postRun.length; ) XB(i.postRun.shift()); uI(wg); } function sB(A) { Jg.unshift(A); } function KB(A) { og.unshift(A); } function XB(A) { wg.unshift(A); } var XA = 0, eA = null; function TI(A) { XA++, i.monitorRunDependencies?.(XA); } function GI(A) { if (XA--, i.monitorRunDependencies?.(XA), XA == 0 && eA) { var I = eA; eA = null, I(); } } function xA(A) { i.onAbort?.(A), A = "Aborted(" + A + ")", DA(A), CI = !0, A += ". Build with -sASSERTIONS for more info."; var I = new WebAssembly.RuntimeError(A); throw M(I), I; } var VB = "data:application/octet-stream;base64,", Rg = (A) => A.startsWith(VB), iI = (A) => A.startsWith("file://"); function LB() { var A = "JsMaterialXGenShader.wasm"; return Rg(A) ? A : IA(A); } var PI; function jB(A) { if (A == PI && kA) return new Uint8Array(kA); if (QA) return QA(A); throw "both async and sync fetching of the wasm failed"; } async function xB(A) { if (!kA) try { var I = await lA(A); return new Uint8Array(I); } catch { } return jB(A); } async function TB(A, I) { try { var g = await xB(A), B = await WebAssembly.instantiate(g, I); return B; } catch (Q) { DA(`failed to asynchronously prepare wasm: ${Q}`), xA(Q); } } async function PB(A, I, g) { if (!A && typeof WebAssembly.instantiateStreaming == "function" && !Rg(I) && !iI(I) && !W && typeof fetch == "function") try { var B = fetch(I, { credentials: "same-origin" }), Q = await WebAssembly.instantiateStreaming(B, g); return Q; } catch (E) { DA(`wasm streaming compile failed: ${E}`), DA("falling back to ArrayBuffer instantiation"); } return TB(I, g); } function uB() { return { a: DE }; } async function vB() { function A(Q, E) { return iA = Q.exports, r = iA._a, Zg(), sg = iA.cb, KB(iA.$a), GI(), iA; } TI(); function I(Q) { A(Q.instance); } var g = uB(); if (i.instantiateWasm) try { return i.instantiateWasm(g, A); } catch (Q) { DA(`Module.instantiateWasm callback failed with error: ${Q}`), M(Q); } PI ??= LB(); try { var B = await PB(kA, PI, g); return I(B), B; } catch (Q) { M(Q); return; } } var k, GA, 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 bg { name = "ExitStatus"; constructor(I) { this.message = `Program terminated with exit(${I})`, this.status = I; } } var uI = (A) => { for (; A.length > 0; ) A.shift()(i); }, hg = i.noExitRuntime || !0, f = (A) => qg(A), t = () => eg(), mg = typeof TextDecoder < "u" ? new TextDecoder() : void 0, TA = (A, I = 0, g = NaN) => { for (var B = I + g, Q = I; A[Q] && !(Q >= B); ) ++Q; if (Q - I > 16 && A.buffer && mg) return mg.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; }, rA = (A, I) => A ? TA(bA, A, I) : "", tB = (A, I, g, B) => xA(`Assertion failed: ${rA(A)}, at: ` + [I ? rA(I) : "unknown filename", g, B ? rA(B) : "unknown function"]), YI = [], DI = 0, pB = (A) => { var I = new vI(A); return I.get_caught() || (I.set_caught(!0), DI--), I.set_rethrown(!1), YI.push(I), Og(A), $g(A); }, SA = 0, nB = () => { T(0, 0); var A = YI.pop(); rg(A.excPtr), SA = 0; }; class vI { constructor(I) { this.excPtr = I, this.ptr = I - 24; } set_type(I) { z[this.ptr + 4 >> 2] = I; } get_type() { return z[this.ptr + 4 >> 2]; } set_destructor(I) { z[this.ptr + 8 >> 2] = I; } get_destructor() { return z[this.ptr + 8 >> 2]; } set_caught(I) { I = I ? 1 : 0, oA[this.ptr + 12] = I; } get_caught() { return oA[this.ptr + 12] != 0; } set_rethrown(I) { I = I ? 1 : 0, oA[this.ptr + 13] = I; } get_rethrown() { return oA[this.ptr + 13] != 0; } init(I, g) { this.set_adjusted_ptr(0), this.set_type(I), this.set_destructor(g); } set_adjusted_ptr(I) { z[this.ptr + 16 >> 2] = I; } get_adjusted_ptr() { return z[this.ptr + 16 >> 2]; } } var zB = (A) => { throw SA || (SA = A), SA; }, NI = (A) => zg(A), fI = (A) => { var I = SA; if (!I) return NI(0), 0; var g = new vI(I); g.set_adjusted_ptr(I); var B = g.get_type(); if (!B) return NI(0), I; for (var Q of A) { if (Q === 0 || Q === B) break; var E = g.ptr + 16; if (_g(Q, B, E)) return NI(Q), I; } return NI(B), I; }, qB = () => fI([]), eB = (A) => fI([A]), rB = (A, I) => fI([A, I]), OB = () => { var A = YI.pop(); A || xA("no exception to throw"); var I = A.excPtr; throw A.get_rethrown() || (YI.push(A), A.set_rethrown(!0), A.set_caught(!1), DI++), SA = I, SA; }, _B = (A, I, g) => { var B = new vI(A); throw B.init(I, g), SA = A, DI++, SA; }, $B = () => DI, ZI = () => { var A = j[+RA.varargs >> 2]; return RA.varargs += 4, A; }, PA = ZI, gA = { 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 = gA.isAbs(A), g = A.substr(-1) === "/"; return A = gA.normalizeArray(A.split("/").filter((B) => !!B), !I).join("/"), !A && !I && (A = "."), A && g && (A += "/"), (I ? "/" : "") + A; }, dirname: (A) => { var I = gA.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 = gA.normalize(A), A = A.replace(/\/$/, ""); var I = A.lastIndexOf("/"); return I === -1 ? A : A.substr(I + 1); }, join: (...A) => gA.normalize(A.join("/")), join2: (A, I) => gA.normalize(A + "/" + I) }, AQ = () => { if (typeof crypto == "object" && typeof crypto.getRandomValues == "function") return (B) => crypto.getRandomValues(B); if (W) 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 { } xA("initRandomDevice"); }, lg = (A) => (lg = AQ())(A), uA = { 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 = gA.isAbs(Q); } return I = gA.normalizeArray(I.split("/").filter((E) => !!E), !g).join("/"), (g ? "/" : "") + I || "."; }, relative: (A, I) => { A = uA.resolve(A).substr(1), I = uA.resolve(I).substr(1); function g(Z) { for (var J = 0; J < Z.length && Z[J] === ""; J++) ; for (var R = Z.length - 1; R >= 0 && Z[R] === ""; R--) ; return J > R ? [] : Z.slice(J, R - 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("/"); } }, tI = [], 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 IQ = () => { if (!tI.length) { var A = null; if (W) { var I = 256, g = Buffer.alloc(I), B = 0, Q = process.stdin.fd; try { B = P.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; tI = Fg(A); } return tI.shift(); }, VA = { ttys: [], init() { }, shutdown() { }, register(A, I) { VA.ttys[A] = { input: [], output: [], ops: I }, C.registerDevice(A, VA.stream_ops); }, stream_ops: { open(A) { var I = VA.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 IQ(); }, put_char(A, I) { I === null || I === 10 ? (JA(TA(A.output)), A.output = []) : I != 0 && A.output.push(I); }, fsync(A) { A.output && A.output.length > 0 && (JA(TA(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 ? (DA(TA(A.output)), A.output = []) : I != 0 && A.output.push(I); }, fsync(A) { A.output && A.output.length > 0 && (DA(TA(A.output)), A.output = []); } } }, gQ = (A, I) => Math.ceil(A / I) * I, Ug = (A) => { xA(); }, 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_o