shaderkit 0.2.1 → 0.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1,5 +1,10 @@
1
- class ne{constructor(t){this.value=t}}class R{constructor(t){this.value=t}}class E{constructor(t,a){this.name=t,this.parameters=a}}class P{constructor(t,a){this.name=t,this.value=a}}class q{constructor(t,a,r,s,c){this.layout=t,this.qualifiers=a,this.kind=r,this.type=s,this.declarations=c}}class se{constructor(t,a){this.name=t,this.members=a}}class le{constructor(t,a,r,s,c){this.name=t,this.type=a,this.qualifiers=r,this.args=s,this.body=c}}class G{constructor(t,a,r){this.operator=t,this.left=a,this.right=r}}class I{constructor(t,a,r){this.operator=t,this.left=a,this.right=r}}class oe{constructor(t,a,r){this.test=t,this.consequent=a,this.alternate=r}}class ie{constructor(t,a){this.callee=t,this.args=a}}class ue{constructor(t,a){this.object=t,this.property=a}}class B{constructor(t,a){this.type=t,this.members=a}}class ce{constructor(t){this.body=t}}class pe{constructor(t,a,r){this.test=t,this.consequent=a,this.alternate=r}}class me{constructor(t,a,r,s){this.init=t,this.test=a,this.update=r,this.body=s}}class fe{constructor(t,a){this.test=t,this.body=a}}class de{constructor(t,a){this.test=t,this.body=a}}class V{constructor(t,a){this.test=t,this.consequent=a}}class he{constructor(t,a){this.discriminant=t,this.cases=a}}class ve{constructor(t){this.argument=t}}class ge{constructor(t,a){this.name=t,this.value=a}}class xe{constructor(t,a){this.precision=t,this.type=a}}class ye{}class _e{}class we{}const be=["vec2","vec2i","vec2u","vec2f","vec2h","vec3","vec3i","vec3u","vec3f","vec3h","vec4","vec4i","vec4u","vec4f","vec4h","mat2x2","mat2x2f","mat2x2h","mat2x3","mat2x3f","mat2x3h","mat2x4","mat2x4f","mat2x4h","mat3x2","mat3x2f","mat3x2h","mat3x3","mat3x3f","mat3x3h","mat3x4","mat3x4f","mat3x4h","mat4x2","mat4x2f","mat4x2h","mat4x3","mat4x3f","mat4x3h","mat4x4","mat4x4f","mat4x4h","array","atomic","bool","f32","f16","i32","ptr","sampler","sampler_comparison","texture_1d","texture_2d","texture_2d_array","texture_3d","texture_cube","texture_cube_array","texture_multisampled_2d","texture_storage_1d","texture_storage_2d","texture_storage_2d_array","texture_storage_3d","texture_depth_2d","texture_depth_2d_array","texture_depth_cube","texture_depth_cube_array","texture_depth_multisampled_2d","u32","alias","bitcast","break","case","const","const_assert","continue","continuing","default","discard","else","enable","false","fn","for","if","let","loop","override","return","struct","switch","true","var","while","Hullshader","NULL","Self","abstract","active","alignas","alignof","as","asm","asm_fragment","async","attribute","auto","await","become","bf16","binding_array","cast","catch","class","co_await","co_return","co_yield","coherent","column_major","common","compile","compile_fragment","concept","const_cast","consteval","constexpr","constinit","crate","debugger","decltype","delete","demote","demote_to_helper","do","dynamic_cast","enum","explicit","export","extends","extern","external","f64","fallthrough","filter","final","finally","friend","from","fxgroup","get","goto","groupshared","handle","highp","i16","i64","i8","impl","implements","import","inline","instanceof","interface","layout","lowp","macro","macro_rules","match","mediump","meta","mod","module","move","mut","mutable","namespace","new","nil","noexcept","noinline","nointerpolation","noperspective","null","nullptr","of","operator","package","packoffset","partition","pass","patch","pixelfragment","precise","precision","premerge","priv","protected","pub","public","quat","readonly","ref","regardless","register","reinterpret_cast","requires","resource","restrict","self","set","shared","sizeof","smooth","snorm","static","static_assert","static_cast","std","subroutine","super","target","template","this","thread_local","throw","trait","try","type","typedef","typeid","typename","typeof","u16","u64","u8","union","unless","unorm","unsafe","unsized","use","using","varying","virtual","volatile","wgsl","where","with","writeonly","yield","@align","@binding","@builtin","@compute","@const","@fragment","@group","@id","@interpolate","@invariant","@location","@size","@vertex","@workgroup_size","perspective","linear","flat","center","centroid","sample","vertex_index","instance_index","position","front_facing","frag_depth","local_invocation_id","local_invocation_index","global_invocation_id","workgroup_id","num_workgroups","sample_index","sample_mask","read","write","read_write","function","private","workgroup","uniform","storage","rgba8unorm","rgba8snorm","rgba8uint","rgba8sint","rgba16uint","rgba16sint","rgba16float","r32uint","r32sint","r32float","rg32uint","rg32sint","rg32float","rgba32uint","rgba32sint","rgba32float","bgra8unorm","f16","all","any","select","arrayLength","abs","acos","acosh","asin","asinh","atan","atanh","atan2","ceil","clamp","cos","cosh","countLeadingZeros","countOneBits","countTrailingZeros","cross","degrees","determinant","distance","dot","exp","exp2","extractBits","faceForward","firstLeadingBit","firstTrailingBit","floor","fma","fract","frexp","insertBits","inverseSqrt","ldexp","length","log","log2","max","min","mix","modf","normalize","pow","quantizeToF16","radians","reflect","refract","reverseBits","round","saturate","sign","sin","sinh","smoothstep","sqrt","step","tan","tanh","transpose","trunc","dpdx","dpdxCoarse","dpdxFine","dpdy","dpdyCoarse","dpdyFine","fwidth","fwidthCoarse","fwidthFine","textureDimensions","textureGather","textureGatherCompare","textureLoad","textureNumLayers","textureNumLevels","textureNumSamples","textureSample","textureSampleBias","textureSampleCompare","textureSampleCompareLevel","textureSampleGrad","textureSampleLevel","textureSampleBaseClampToEdge","atomicLoad","atomicStore","atomicAdd","atomicSub","atomicMax","atomicMin","atomicAnd","atomicOr","atomicXor","atomicExchange","atomicCompareExchangeWeak","pack4x8snorm","pack4x8unorm","pack2x16snorm","pack2x16unorm","pack2x16float","unpack4x8snorm","unpack4x8unorm","unpack2x16snorm","unpack2x16unorm","unpack2x16float","storageBarrier","workgroupBarrier","workgroupUniformLoad"],De=["const","uniform","layout","centroid","flat","smooth","break","continue","do","for","while","switch","case","default","if","else","in","out","inout","float","int","void","bool","true","false","invariant","discard","return","mat2","mat3","mat4","mat2x2","mat2x3","mat2x4","mat3x2","mat3x3","mat3x4","mat4x2","mat4x3","mat4x4","vec2","vec3","vec4","ivec2","ivec3","ivec4","bvec2","bvec3","bvec4","uint","uvec2","uvec3","uvec4","lowp","mediump","highp","precision","sampler2D","sampler3D","samplerCube","sampler2DShadow","samplerCubeShadow","sampler2DArray","sampler2DArrayShadow","isampler2D","isampler3D","isamplerCube","isampler2DArray","usampler2D","usampler3D","usamplerCube","usampler2DArray","struct","attribute","varying","coherent","volatile","restrict","readonly","writeonly","resource","atomic_uint","noperspective","patch","sample","subroutine","common","partition","active","asm","class","union","enum","typedef","template","this","goto","inline","noinline","volatile","public","static","extern","external","interface","long","short","double","half","fixed","unsigned","superp","input","output","hvec2","hvec3","hvec4","dvec2","dvec3","dvec4","fvec2","fvec3","fvec4","sampler3DRect","filter","image1D","image2D","image3D","imageCube","iimage1D","iimage2D","iimage3D","iimageCube","uimage1D","uimage2D","uimage3D","uimageCube","image1DArray","image2DArray","iimage1DArray","iimage2DArray","uimage1DArray","uimage2DArray","imageBuffer","iimageBuffer","uimageBuffer","sampler1D","sampler1DShadow","sampler1DArray","sampler1DArrayShadow","isampler1D","isampler1DArray","usampler1D","usampler1DArray","sampler2DRect","sampler2DRectShadow","isampler2DRect","usampler2DRect","samplerBuffer","isamplerBuffer","usamplerBuffer","sampler2DMS","isampler2DMS","usampler2DMS","sampler2DMSArray","isampler2DMSArray","usampler2DMSArray","sizeof","cast","namespace","using","#define","#undef","#if","#ifdef","#ifndef","#else","#elif","#endif","#error","#pragma","#extension","#version","#line","defined","__LINE__","__FILE__","__VERSION__","GL_ES","gl_VertexID","gl_InstanceID","gl_Position","gl_PointSize","gl_FragCoord","gl_FrontFacing","gl_FragDepth","gl_PointCoord","gl_MaxVertexAttribs","gl_MaxVertexUniformVectors","gl_MaxVertexOutputVectors","gl_MaxFragmentInputVectors","gl_MaxVertexTextureImageUnits","gl_MaxCombinedTextureImageUnits","gl_MaxTextureImageUnits","gl_MaxFragmentUniformVectors","gl_MaxDrawBuffers","gl_MinProgramTexelOffset","gl_MaxProgramTexelOffset","gl_DepthRangeParameters","gl_DepthRange","radians","degrees","sin","cos","tan","asin","acos","atan","sinh","cosh","tanh","asinh","acosh","atanh","pow","exp","log","exp2","log2","sqrt","inversesqrt","abs","sign","floor","trunc","round","roundEven","ceil","fract","mod","modf","min","max","clamp","mix","step","smoothstep","isnan","isinf","floatBitsToInt","floatBitsToUint","intBitsToFloat","uintBitsToFloat","packSnorm2x16","unpackSnorm2x16","packUnorm2x16","unpackUnorm2x16","packHalf2x16","unpackHalf2x16","length","distance","dot","cross","normalize","faceforward","reflect","refract","matrixCompMult","outerProduct","transpose","determinant","inverse","lessThan","lessThanEqual","greaterThan","greaterThanEqual","equal","notEqual","any","all","not","textureSize","texture","textureProj","textureLod","textureOffset","texelFetch","texelFetchOffset","textureProjOffset","textureLodOffset","textureProjLod","textureProjLodOffset","textureGrad","textureGradOffset","textureProjGrad","textureProjGradOffset","dFdx","dFdy","fwidth","#include","gl_FragColor","gl_FragDepthEXT","texture2D","textureCube","texture2DProj","texture2DLodEXT","texture2DProjLodEXT","textureCubeLodEXT","texture2DGradEXT","texture2DProjGradEXT","textureCubeGradEXT","gl_DrawID","gl_ViewID_OVR","GL_OVR_multiview2"],Se=["//","/*","*/",":",",",".","{","[","(","?","}","]",")",";","~","--","++","!","&","|","^","/","==",">",">=","<","<=","&&","||","^^","-","*","!=","+","%","<<",">>","=","+=","&=","|=","^=","/=","*=","%=","<<=",">>=","-="],Ee=[...Se,"#","\\"],ke=[...Se,"->","@"],$e=RegExp.prototype.test.bind(/\bfn\s+\w+\s*\(|\b(var|let|const)\s+\w+\s*[:=]/),Ce=RegExp.prototype.test.bind(/^(\d+\.\d*|\d*\.\d+)([eEpP][-+]?\d+)?[fFhH]?$/),je=RegExp.prototype.test.bind(/^(0[xX][\w\d]+|\d+)[iIuU]?$/),ze=RegExp.prototype.test.bind(/^(true|false)$/),Ue=48,We=57,Xe=65,Ne=90,He=10,Ye=13,Ze=9,Ke=32,Je=95,Le=47,Ae=42,Qe=35,et=64,Me=e=>Ue<=e&&e<=We,tt=e=>(e&=-33,Xe<=e&&e<=Ne),at=e=>e===He||e===Ye,Re=e=>at(e)||e===Ze||e===Ke,Be=e=>tt(e)||Me(e)||e===Je,rt=e=>e===Qe||e===et;function $(e,t=0){const a=[];let r=-1;const[s,c]=$e(e)?[be,ke]:[De,Ee];for(;t<e.length;){let l=e[t];const u=e.charCodeAt(t++);if(Re(u)){for(;Re(e.charCodeAt(t));)l+=e[t++];a.push({type:"whitespace",value:l})}else if(Me(u)){for(;Ce(l+e[t])||je(l+e[t]);)l+=e[t++];Ce(l)?a.push({type:"float",value:l}):a.push({type:"int",value:l})}else if(Be(u)){for(;Be(e.charCodeAt(t));)l+=e[t++];ze(l)?a.push({type:"bool",value:l}):s.includes(rt(r)?String.fromCharCode(r)+l:l)?a.push({type:"keyword",value:l}):a.push({type:"identifier",value:l})}else if(u===Le&&(e.charCodeAt(t)===Le||e.charCodeAt(t)===Ae)){const o=e.charCodeAt(t)===Ae?"*/":`
2
- `;for(;!l.endsWith(o);)l+=e[t++];a.push({type:"comment",value:l})}else{for(const o of c)o.length>l.length&&e.startsWith(o,t-1)&&(l=o);t+=l.length-1,a.push({type:"symbol",value:l})}r=u}return a}const Te=RegExp.prototype.test.bind(/^\w/),nt=RegExp.prototype.test.bind(/[^\w\\]/),Fe=RegExp.prototype.test.bind(/^[_A-Za-z]/),st=RegExp.prototype.test.bind(/[;{}\\@]/),Oe=RegExp.prototype.test.bind(/^(binding|group|layout|uniform|in|out|attribute|varying)$/);function lt(e,{mangle:t=!1,mangleMap:a=new Map,mangleExternals:r=!1}={}){var s,c,l,u,o,d,h,f,g,y,x,D,A,z,U,W,X,N,H,Y,Z,K;e=e.replace(/(^\s*#[^\\]*?)(\n|\/[\/\*])/gm,"$1\\$2");const J=new Map,v=$(e).filter(p=>p.type!=="whitespace"&&p.type!=="comment");let Q=-1,ee=-1,F=-1,k="";for(let p=0;p<v.length;p++){const _=v[p];(Oe(_.value)||st((s=v[p-1])==null?void 0:s.value))&&(ee=p),_.value==="{"&&Fe((c=v[p-1])==null?void 0:c.value)?F=p-1:_.value==="}"&&(F=-1),Te(_.value)&&Te((l=v[p-1])==null?void 0:l.value)&&(k+=" "),nt(_.value)&&(((u=v[p-2])==null?void 0:u.value)==="#"&&((o=v[p-1])==null?void 0:o.value)==="include"||((d=v[p-3])==null?void 0:d.value)==="#"&&((h=v[p-2])==null?void 0:h.value)==="define")&&(k+=" ");let C=_.value;if(((f=v[p-1])==null?void 0:f.value)==="."&&(C=`${(g=v[p-2])==null?void 0:g.value}.`+C),_.type==="identifier"&&C!=="main"&&(typeof t=="boolean"?t:t(_,p,v))){const te=((y=v[p-1])==null?void 0:y.value)==="}"&&((x=v[p+1])==null?void 0:x.value)===";",O=Oe((D=v[ee])==null?void 0:D.value),ae=O&&((A=v[p-1])==null?void 0:A.value)===",";let S=(z=a.get(C))!=null?z:J.get(C);if(!S&&F===-1&&(Fe((U=v[p-1])==null?void 0:U.value)||te||ae||((W=v[p-1])==null?void 0:W.type)==="symbol"&&((X=v[p+1])==null?void 0:X.value)===":")&&(r||!O)){const re=r&&O||((N=v[p-2])==null?void 0:N.value)==="#"||te||ae||((H=v[p-1])==null?void 0:H.value)==="fn"&&(((Y=v[p-2])==null?void 0:Y.value)===")"||((Z=v[p-3])==null?void 0:Z.value)==="@")?a:J;for(;!S||re.has(S);){S="",Q++;let M=Q;for(;M>0;)S=String.fromCharCode(97+(M-1)%26)+S,M=Math.floor(M/26)}re.set(C,S)}k+=S!=null?S:_.value}else _.value==="#"&&((K=v[p-1])==null?void 0:K.value)!=="\\"?k+=`
3
- #`:_.value==="\\"?k+=`
4
- `:k+=_.value}return k.trim()}const Pe=["+","-","~","!","++","--"],ot=[">>=","<<=","|=","&=","^=","%=","/=","*=","-=","+=","=","?","||","^^","&&","|","^","&","!=","==",">=","<=",">","<",">>","<<","+","-","%","/","*"],it=/^(void|bool|float|u?int|[uib]?vec\d|mat\d(x\d)?)$/,qe=/^(const|uniform|in|out|inout|centroid|flat|smooth|invariant|lowp|mediump|highp)$/,ut=new RegExp(`${it.source}|${qe.source}|layout`),ct=RegExp.prototype.test.bind(ut),pt=RegExp.prototype.test.bind(/^[\(\[\{]$/),mt=RegExp.prototype.test.bind(/^[\)\]\}]$/);function j(e){return pt(e.value)?1:mt(e.value)?-1:0}let m=[],n=0;function w(e,t,a=0){const r=[];let s=0;for(;a<t.length;){const c=t[a++];if(r.push(c),s+=j(c),s===0&&c.value===e)break}return r}function b(e){const t=w(e,m,n);return n+=t.length,t}function i(e){var t,a,r;if(e.length===0)return null;const s=e[0],c=e[e.length-1];if(Pe.includes(s.value)){const u=i(e.slice(1));return new G(s.value,null,u)}else if(Pe.includes(c.value)){const u=i(e.slice(0,e.length-1));return new G(c.value,u,null)}if(s.value==="("){const u=w(")",e),o=i(u.slice(1,u.length-1)),d=e[u.length];if(d){const h=e.slice(u.length+1),f=i(h);return new I(d.value,o,f)}return o}let l=0;for(const u of ot)for(let o=0;o<e.length;o++){const d=e[o];if(d.type==="symbol"){if(l+=j(d),l===0&&d.value===u)if(u==="?"){const h=e.slice(0,o),f=w(":",e,o+1).slice(0,-1),g=e.slice(o+f.length+2),y=i(h),x=i(f),D=i(g);return new oe(y,x,D)}else{const h=i(e.slice(0,o)),f=i(e.slice(o+1,e.length));return new I(u,h,f)}if(l<0)return i(e.slice(0,o))}}if(s.type==="bool"||s.type==="int"||s.type==="float")return new ne(s.value);if(s.type==="identifier"||s.type==="keyword"){const u=e[1];if(u){if(u.value==="("){const o=new R(s.value),d=[],h=w(")",e,1).slice(1,-1);let f=0;for(;f<h.length;){const x=w(",",h,f);f+=x.length,((t=x[x.length-1])==null?void 0:t.value)===","&&x.pop();const D=i(x);D&&d.push(D)}const g=new ie(o,d);let y=3+f;if(((a=e[y])==null?void 0:a.value)==="."){const x=i([s,...e.slice(y)]);return x.object=g,x}return g}else if(u.value==="."){const o=new R(s.value),d=i([e[2]]),h=new ue(o,d);if(((r=e[3])==null?void 0:r.value)==="("&&c.value===")"){const f=i(e.slice(2));return f.callee=h,f}return h}else if(u.value==="["){let o=2;const d=new E(s.value,[]);e[o].value!=="]"&&d.parameters.push(i([e[o++]])),o++;const h=w(")",e,o).slice(1,-1),f=[];let g=0;for(;g<h.length;){const y=w(",",h,g);g+=y.length,y[y.length-1].value===","&&y.pop(),f.push(i(y))}return new B(d,f)}}else return new R(s.value)}return null}function Ge(e=[],t=null){n--;const a=null,r=new E(m[n++].value,null),s=[],c=b(";");let l=0;for(;l<c.length;){const u=c[l++].value;let o=null;c[l].value==="["&&(l++,o=new B(new E(r.name,[i([c[l++]])]),[]),l++);let d=null;const h=c[l++];if((h==null?void 0:h.value)==="="){const f=w(",",c,l);l+=f.length,d=i(f.slice(0,-1))}s.push(new P(u,d!=null?d:o))}return new q(t,e,a,r,s)}function ft(e){var t,a,r;n--;const s=new E(m[n++].value,null),c=m[n++].value,l=[],u=b(")").slice(1,-1);let o=0;for(;o<u.length;){const h=[];for(;u[o]&&u[o].type!=="identifier";)h.push(u[o++].value);const f=new E(h.pop(),null),g=w(",",u,o);o+=g.length;const y=g.shift().value;let x=null;((t=g[0])==null?void 0:t.value)==="["&&(g.shift(),x=new B(new E(f.name,[i([g.shift()])]),[]),g.shift()),((a=g[g.length-1])==null?void 0:a.value)===","&&g.pop();const D=(r=i(g))!=null?r:x,A=[new P(y,D)];l.push(new q(null,h,null,f,A))}let d=null;return m[n].value===";"?n++:d=L(),new le(c,s,e,l,d)}function Ie(){var e;n--;let t=null;if(m[n].value==="layout"){n++,t={};let r=null;for(;m[n]&&m[n].value!==")";){const s=m[n++];s.value===","&&(r=null),s.type!=="symbol"&&(r?t[r]=s.value:(r=s.value,t[r]=!0))}n++}const a=[];for(;m[n]&&qe.test(m[n].value);)a.push(m[n++].value);return n++,((e=m[n+1])==null?void 0:e.value)==="("?ft(a):Ge(a,t)}function dt(){const e=m[n++].value;n++;const t=[];for(;m[n]&&m[n].value!=="}";)n++,t.push(Ie());return n++,n++,new se(e,t)}function ht(){const e=b(";");e.pop();const t=i(e);return new ve(t)}function Ve(){const e=i(b(")")),t=L();let a=null;return m[n].value==="else"&&(n++,m[n].value==="if"?(n++,a=Ve()):a=L()),new pe(e,t,a)}function vt(){const e=i(b(")")),t=L();return new fe(e,t)}function gt(){const e=n+(w(")",m,n).length-1);n++,n++;const t=Ge(),a=i(b(";").slice(0,-1)),r=i(m.slice(n,e));n=e,n++;const s=L();return new me(t,a,r,s)}function xt(){const e=L();n++;const t=i(b(")"));return n++,new de(t,e)}function yt(){const e=i(b(")")),t=n+w("}",m,n).length-1,a=[];for(;n<t;){const r=m[n++];if(r.value==="case"){const s=i(b(":").slice(0,-1)),c=T();a.push(new V(s,c))}else if(r.value==="default"){n++;const s=T();a.push(new V(null,s))}}return new he(e,a)}function _t(){const e=m[n++].value,t=new E(m[n++].value,null);return n++,new xe(e,t)}function wt(){const e=m[n++].value,t=b("\\").slice(0,-1);let a=null;if(e!=="else"&&e!=="endif")if(a=[],e==="define"){const r=i([t.shift()]),s=i(t);a.push(r,s)}else if(e==="extension"){const r=i([t.shift()]);t.shift();const s=i(t);a.push(r,s)}else e==="include"?a.push(i(t.slice(1,-1))):a.push(i(t));return new ge(e,a)}function T(){const e=[];let t=0;for(;n<m.length;){const a=m[n++];if(t+=j(a),t<0)break;let r=null;if(a.value==="#")r=wt();else if(a.type==="keyword")if(a.value==="case"||a.value==="default"){n--;break}else a.value==="struct"?r=dt():a.value==="continue"?(r=new ye,n++):a.value==="break"?(r=new _e,n++):a.value==="discard"?(r=new we,n++):a.value==="return"?r=ht():a.value==="if"?r=Ve():a.value==="while"?r=vt():a.value==="for"?r=gt():a.value==="do"?r=xt():a.value==="switch"?r=yt():a.value==="precision"?r=_t():ct(a.value)&&m[n].value!=="["&&(r=Ie());if(r)e.push(r);else{const s=[a,...b(";")];s[s.length-1].value===";"&&s.pop();const c=i(s);c&&e.push(c)}}return e}function L(){n++;const e=T();return new ce(e)}const bt=/(^\s*#[^\\]*?)(\n|\/[\/\*])/gm;function Dt(e){return e=e.replace("#version 300 es",""),e=e.replace(bt,"$1\\$2"),m=$(e).filter(t=>t.type!=="whitespace"&&t.type!=="comment"),n=0,T()}export{B as ArrayExpression,I as BinaryExpression,ce as BlockStatement,_e as BreakStatement,ie as CallExpression,ye as ContinueStatement,we as DiscardStatement,de as DoWhileStatement,me as ForStatement,le as FunctionDeclaration,De as GLSL_KEYWORDS,Ee as GLSL_SYMBOLS,R as Identifier,pe as IfStatement,ne as Literal,ue as MemberExpression,xe as PrecisionStatement,ge as PreprocessorStatement,ve as ReturnStatement,se as StructDeclaration,V as SwitchCase,he as SwitchStatement,oe as TernaryExpression,E as Type,G as UnaryExpression,q as VariableDeclaration,P as VariableDeclarator,be as WGSL_KEYWORDS,ke as WGSL_SYMBOLS,fe as WhileStatement,lt as minify,Dt as parse,$ as tokenize};
1
+ const k=["vec2","vec2i","vec2u","vec2f","vec2h","vec3","vec3i","vec3u","vec3f","vec3h","vec4","vec4i","vec4u","vec4f","vec4h","mat2x2","mat2x2f","mat2x2h","mat2x3","mat2x3f","mat2x3h","mat2x4","mat2x4f","mat2x4h","mat3x2","mat3x2f","mat3x2h","mat3x3","mat3x3f","mat3x3h","mat3x4","mat3x4f","mat3x4h","mat4x2","mat4x2f","mat4x2h","mat4x3","mat4x3f","mat4x3h","mat4x4","mat4x4f","mat4x4h","array","atomic","bool","f32","f16","i32","ptr","sampler","sampler_comparison","texture_1d","texture_2d","texture_2d_array","texture_3d","texture_cube","texture_cube_array","texture_multisampled_2d","texture_storage_1d","texture_storage_2d","texture_storage_2d_array","texture_storage_3d","texture_depth_2d","texture_depth_2d_array","texture_depth_cube","texture_depth_cube_array","texture_depth_multisampled_2d","u32","alias","bitcast","break","case","const","const_assert","continue","continuing","default","discard","else","enable","fn","for","if","let","loop","override","return","struct","switch","var","while","Hullshader","NULL","Self","abstract","active","alignas","alignof","as","asm","asm_fragment","async","attribute","auto","await","become","bf16","binding_array","cast","catch","class","co_await","co_return","co_yield","coherent","column_major","common","compile","compile_fragment","concept","const_cast","consteval","constexpr","constinit","crate","debugger","decltype","delete","demote","demote_to_helper","do","dynamic_cast","enum","explicit","export","extends","extern","external","f64","fallthrough","filter","final","finally","friend","from","fxgroup","get","goto","groupshared","handle","highp","i16","i64","i8","impl","implements","import","inline","instanceof","interface","layout","lowp","macro","macro_rules","match","mediump","meta","mod","module","move","mut","mutable","namespace","new","nil","noexcept","noinline","nointerpolation","noperspective","null","nullptr","of","operator","package","packoffset","partition","pass","patch","pixelfragment","precise","precision","premerge","priv","protected","pub","public","quat","readonly","ref","regardless","register","reinterpret_cast","requires","resource","restrict","self","set","shared","sizeof","smooth","snorm","static","static_assert","static_cast","std","subroutine","super","target","template","this","thread_local","throw","trait","try","type","typedef","typeid","typename","typeof","u16","u64","u8","union","unless","unorm","unsafe","unsized","use","using","varying","virtual","volatile","wgsl","where","with","writeonly","yield","@align","@binding","@builtin","@compute","@const","@fragment","@group","@id","@interpolate","@invariant","@location","@size","@vertex","@workgroup_size","perspective","linear","flat","center","centroid","sample","vertex_index","instance_index","position","front_facing","frag_depth","local_invocation_id","local_invocation_index","global_invocation_id","workgroup_id","num_workgroups","sample_index","sample_mask","read","write","read_write","function","private","workgroup","uniform","storage","rgba8unorm","rgba8snorm","rgba8uint","rgba8sint","rgba16uint","rgba16sint","rgba16float","r32uint","r32sint","r32float","rg32uint","rg32sint","rg32float","rgba32uint","rgba32sint","rgba32float","bgra8unorm","f16","all","any","select","arrayLength","abs","acos","acosh","asin","asinh","atan","atanh","atan2","ceil","clamp","cos","cosh","countLeadingZeros","countOneBits","countTrailingZeros","cross","degrees","determinant","distance","dot","exp","exp2","extractBits","faceForward","firstLeadingBit","firstTrailingBit","floor","fma","fract","frexp","insertBits","inverseSqrt","ldexp","length","log","log2","max","min","mix","modf","normalize","pow","quantizeToF16","radians","reflect","refract","reverseBits","round","saturate","sign","sin","sinh","smoothstep","sqrt","step","tan","tanh","transpose","trunc","dpdx","dpdxCoarse","dpdxFine","dpdy","dpdyCoarse","dpdyFine","fwidth","fwidthCoarse","fwidthFine","textureDimensions","textureGather","textureGatherCompare","textureLoad","textureNumLayers","textureNumLevels","textureNumSamples","textureSample","textureSampleBias","textureSampleCompare","textureSampleCompareLevel","textureSampleGrad","textureSampleLevel","textureSampleBaseClampToEdge","atomicLoad","atomicStore","atomicAdd","atomicSub","atomicMax","atomicMin","atomicAnd","atomicOr","atomicXor","atomicExchange","atomicCompareExchangeWeak","pack4x8snorm","pack4x8unorm","pack2x16snorm","pack2x16unorm","pack2x16float","unpack4x8snorm","unpack4x8unorm","unpack2x16snorm","unpack2x16unorm","unpack2x16float","storageBarrier","workgroupBarrier","workgroupUniformLoad"],C=["const","uniform","layout","centroid","flat","smooth","break","continue","do","for","while","switch","case","default","if","else","in","out","inout","float","int","void","bool","invariant","discard","return","mat2","mat3","mat4","mat2x2","mat2x3","mat2x4","mat3x2","mat3x3","mat3x4","mat4x2","mat4x3","mat4x4","vec2","vec3","vec4","ivec2","ivec3","ivec4","bvec2","bvec3","bvec4","uint","uvec2","uvec3","uvec4","lowp","mediump","highp","precision","sampler2D","sampler3D","samplerCube","sampler2DShadow","samplerCubeShadow","sampler2DArray","sampler2DArrayShadow","isampler2D","isampler3D","isamplerCube","isampler2DArray","usampler2D","usampler3D","usamplerCube","usampler2DArray","struct","attribute","varying","coherent","volatile","restrict","readonly","writeonly","resource","atomic_uint","noperspective","patch","sample","subroutine","common","partition","active","asm","class","union","enum","typedef","template","this","goto","inline","noinline","volatile","public","static","extern","external","interface","long","short","double","half","fixed","unsigned","superp","input","output","hvec2","hvec3","hvec4","dvec2","dvec3","dvec4","fvec2","fvec3","fvec4","sampler3DRect","filter","image1D","image2D","image3D","imageCube","iimage1D","iimage2D","iimage3D","iimageCube","uimage1D","uimage2D","uimage3D","uimageCube","image1DArray","image2DArray","iimage1DArray","iimage2DArray","uimage1DArray","uimage2DArray","imageBuffer","iimageBuffer","uimageBuffer","sampler1D","sampler1DShadow","sampler1DArray","sampler1DArrayShadow","isampler1D","isampler1DArray","usampler1D","usampler1DArray","sampler2DRect","sampler2DRectShadow","isampler2DRect","usampler2DRect","samplerBuffer","isamplerBuffer","usamplerBuffer","sampler2DMS","isampler2DMS","usampler2DMS","sampler2DMSArray","isampler2DMSArray","usampler2DMSArray","sizeof","cast","namespace","using","#define","#undef","#if","#ifdef","#ifndef","#else","#elif","#endif","#error","#pragma","#extension","#version","#line","defined","__LINE__","__FILE__","__VERSION__","GL_ES","gl_VertexID","gl_InstanceID","gl_Position","gl_PointSize","gl_FragCoord","gl_FrontFacing","gl_FragDepth","gl_PointCoord","gl_MaxVertexAttribs","gl_MaxVertexUniformVectors","gl_MaxVertexOutputVectors","gl_MaxFragmentInputVectors","gl_MaxVertexTextureImageUnits","gl_MaxCombinedTextureImageUnits","gl_MaxTextureImageUnits","gl_MaxFragmentUniformVectors","gl_MaxDrawBuffers","gl_MinProgramTexelOffset","gl_MaxProgramTexelOffset","gl_DepthRangeParameters","gl_DepthRange","radians","degrees","sin","cos","tan","asin","acos","atan","sinh","cosh","tanh","asinh","acosh","atanh","pow","exp","log","exp2","log2","sqrt","inversesqrt","abs","sign","floor","trunc","round","roundEven","ceil","fract","mod","modf","min","max","clamp","mix","step","smoothstep","isnan","isinf","floatBitsToInt","floatBitsToUint","intBitsToFloat","uintBitsToFloat","packSnorm2x16","unpackSnorm2x16","packUnorm2x16","unpackUnorm2x16","packHalf2x16","unpackHalf2x16","length","distance","dot","cross","normalize","faceforward","reflect","refract","matrixCompMult","outerProduct","transpose","determinant","inverse","lessThan","lessThanEqual","greaterThan","greaterThanEqual","equal","notEqual","any","all","not","textureSize","texture","textureProj","textureLod","textureOffset","texelFetch","texelFetchOffset","textureProjOffset","textureLodOffset","textureProjLod","textureProjLodOffset","textureGrad","textureGradOffset","textureProjGrad","textureProjGradOffset","dFdx","dFdy","fwidth","#include","gl_FragColor","gl_FragDepthEXT","texture2D","textureCube","texture2DProj","texture2DLodEXT","texture2DProjLodEXT","textureCubeLodEXT","texture2DGradEXT","texture2DProjGradEXT","textureCubeGradEXT","gl_DrawID","gl_ViewID_OVR","GL_OVR_multiview2"],A=["//","/*","*/",":",",",".","{","[","(","?","}","]",")",";","~","--","++","!","&","|","^","/","==",">",">=","<","<=","&&","||","^^","-","*","!=","+","%","<<",">>","=","+=","&=","|=","^=","/=","*=","%=","<<=",">>=","-="],L=[...A,"#","\\"],j=[...A,"->","@"];function P(e){return e?`layout(${Object.entries(e).map(([a,t])=>t===!0?a:`${a}=${t}`).join(",")})`:""}function s(e){if(!e)return"";switch(e.type){case"Identifier":return e.name;case"Literal":return e.value;case"ArraySpecifier":return`${e.typeSpecifier.name}[${e.dimensions.map(s).join(",")}]`;case"ExpressionStatement":return`${s(e.expression)};`;case"BlockStatement":return`{${e.body.map(s).join("")}}`;case"DiscardStatement":return"discard;";case"PreprocessorStatement":{let a="";return e.value&&(e.name==="include"?a=` <${s(e.value[0])}>`:e.name==="extension"?a=`${e.value.map(s).join(":")}`:a=` ${e.value.map(s).join(" ")}`),`
2
+ #${e.name}${a}
3
+ `}case"PrecisionStatement":return`precision ${e.precision} ${e.typeSpecifier.name};`;case"ReturnStatement":return e.argument?`return ${s(e.argument)};`:"return;";case"BreakStatement":return"break;";case"ContinueStatement":return"continue;";case"IfStatement":{const a=e.alternate?` else${s(e.consequent)}`:"";return`if(${s(e.test)})${s(e.consequent)}${a}`}case"SwitchStatement":return`switch(${s(e.discriminant)}){${e.cases.map(s).join("")}}`;case"SwitchCase":return`case ${e.test?s(e.test):"default"}:{${e.consequent.map(s).join(";")}}`;case"WhileStatement":return`while (${s(e.test)}) ${s(e.body)}`;case"DoWhileStatement":return`do ${s(e.body)}while(${s(e.test)})`;case"ForStatement":return`for(${s(e.init)};${s(e.test)};${s(e.update)})${s(e.body)}`;case"FunctionDeclaration":{const a=e.qualifiers.length?`${e.qualifiers.join(" ")} `:"",t=e.body?s(e.body):";";return`${a}${s(e.typeSpecifier)} ${s(e.id)}(${e.params.map(s).join(",")})${t}`}case"FunctionParameter":return`${e.qualifiers.length?`${e.qualifiers.join(" ")} `:""}${s(e.typeSpecifier)} ${s(e.id)}`;case"VariableDeclaration":{const a=e.declarations[0],t=P(a.layout),r=a.qualifiers.length?`${a.qualifiers.join(" ")} `:"";return`${t}${r}${s(a.typeSpecifier)} ${e.declarations.map(s).join(",")};`}case"VariableDeclarator":{const a=e.init?`=${s(e.init)}`:"";return`${s(e.id)}${a}`}case"UniformDeclarationBlock":{const a=P(e.layout),t=e.qualifiers.length?`${e.qualifiers.join(" ")} `:"",r=e.id?`${s(e.id)}`:"";return`${a}${t}${s(e.typeSpecifier)}{${e.members.map(s).join("")}}${r};`}case"StructDeclaration":return`struct ${s(e.id)}{${e.members.map(s).join("")}};`;case"ArrayExpression":return`${s(e.typeSpecifier)}(${e.elements.map(s).join(",")})`;case"UnaryExpression":case"UpdateExpression":return e.prefix?`${e.operator}${s(e.argument)}`:`${s(e.argument)}${e.operator}`;case"BinaryExpression":case"AssignmentExpression":case"LogicalExpression":return`${s(e.left)}${e.operator}${s(e.right)}`;case"MemberExpression":return e.computed?`${s(e.object)}[${s(e.property)}]`:`${s(e.object)}.${s(e.property)}`;case"ConditionalExpression":return`${s(e.test)}?${s(e.consequent)}:${s(e.alternate)}`;case"CallExpression":return`${s(e.callee)}(${e.arguments.map(s).join(",")})`;case"Program":return`${e.body.map(s).join("")}`;default:return e}}function Y(e,a){return s(e).replaceAll(`
4
+
5
+ `,`
6
+ `).trim()}const Z=/\bfn\s+\w+\s*\(|\b(var|let|const)\s+\w+\s*[:=]/,q=/((\d+\.\d*|\d*\.\d+)([eEpP][-+]?\d+)?|\d+[eEpP][-+]?\d+)[fFhH]?/y,B=/(0[xX][\w\d]+|\d+)[iIuU]?/y,K=/^(true|false)$/,J=48,Q=57,ee=65,te=90,ae=10,re=13,ne=9,ie=32,oe=95,se=46,I=47,M=42,le=35,ue=64,S=e=>J<=e&&e<=Q,ce=e=>(e&=-33,ee<=e&&e<=te),pe=e=>e===ae||e===re,U=e=>pe(e)||e===ne||e===ie,F=e=>ce(e)||S(e)||e===oe,me=e=>e===le||e===ue;function R(e,a,t){return e.lastIndex=t,e.exec(a)?.[0]}function $(e,a=0){const t=[];let r=-1;const[i,o]=Z.test(e)?[k,j]:[C,L];for(;a<e.length;){let c=e[a];const p=e.charCodeAt(a++);if(U(p)){for(;U(e.charCodeAt(a));)c+=e[a++];t.push({type:"whitespace",value:c})}else if(S(p)||p===se&&S(e.charCodeAt(a)))(c=R(q,e,a-1))?(a=q.lastIndex,t.push({type:"float",value:c})):(c=R(B,e,a-1))&&(a=B.lastIndex,t.push({type:"int",value:c}));else if(F(p)){for(;F(e.charCodeAt(a));)c+=e[a++];K.test(c)?t.push({type:"bool",value:c}):i.includes(me(r)?String.fromCharCode(r)+c:c)?t.push({type:"keyword",value:c}):t.push({type:"identifier",value:c})}else if(p===I&&(e.charCodeAt(a)===I||e.charCodeAt(a)===M)){const m=e.charCodeAt(a)===M?"*/":`
7
+ `;for(;a<e.length&&!c.endsWith(m);)c+=e[a++];t.push({type:"comment",value:c.trim()})}else{for(const m of o)m.length>c.length&&e.startsWith(m,a-1)&&(c=m);a+=c.length-1,t.push({type:"symbol",value:c})}r=p}return t}const T=/*@__PURE__*/RegExp.prototype.test.bind(/^\w/),fe=/*@__PURE__*/RegExp.prototype.test.bind(/[^\w\\]/),O=/*@__PURE__*/RegExp.prototype.test.bind(/^[_A-Za-z]/),de=/*@__PURE__*/RegExp.prototype.test.bind(/[;{}\\@]/),V=/*@__PURE__*/RegExp.prototype.test.bind(/^(binding|group|layout|uniform|in|out|attribute|varying)$/);function ve(e,{mangle:a=!1,mangleMap:t=/*@__PURE__*/new Map,mangleExternals:r=!1}={}){e=e.replace(/(^\s*#[^\\]*?)(\n|\/[\/\*])/gm,"$1\\$2");const i=/*@__PURE__*/new Map,o=$(e).filter(l=>l.type!=="whitespace"&&l.type!=="comment");let c=-1,p=-1,m=-1,d="";for(let l=0;l<o.length;l++){const f=o[l];if((V(f.value)||de(o[l-1]?.value))&&(p=l),f.value==="{"&&O(o[l-1]?.value)?m=l-1:f.value==="}"&&(m=-1),T(f.value)&&T(o[l-1]?.value)&&(d+=" "),fe(f.value)&&(o[l-2]?.value==="#"&&o[l-1]?.value==="include"||o[l-2]?.value==="#"&&o[l-1]?.value==="if"||o[l-2]?.value==="#"&&o[l-1]?.value==="elif"||o[l-3]?.value==="#"&&o[l-2]?.value==="define"))if(f.value==="("){for(;l<o.length;){const y=o[l++];if(d+=y.value,y.value===")")break}d+=" "+o[l].value;continue}else d+=" ";let g=f.value;if(o[l-1]?.value==="."&&(g=`${o[l-2]?.value}.`+g),f.type==="identifier"&&g!=="main"&&(typeof a=="boolean"?a:a(f,l,o))){const y=o[l-1]?.value==="}"&&o[l+1]?.value===";",b=V(o[p]?.value),D=b&&o[l-1]?.value===",";let v=t.get(g)??i.get(g);if(!v&&m===-1&&(O(o[l-1]?.value)||y||D||o[l-1]?.type==="symbol"&&o[l+1]?.value===":")&&(r||!b)){const E=r&&b||o[l-2]?.value==="#"||y||D||o[l-1]?.value==="fn"&&(o[l-2]?.value===")"||o[l-3]?.value==="@")?t:i;for(;!v||E.has(v);){v="",c++;let _=c;for(;_>0;)v=String.fromCharCode(97+(_-1)%26)+v,_=Math.floor(_/26)}E.set(g,v)}d+=v??f.value}else f.value==="#"&&o[l-1]?.value!=="\\"?d+=`
8
+ #`:f.value==="\\"?d+=`
9
+ `:d+=f.value}return d.trim()}const G={"~":14,"!":14,"--":14,"++":14,"-":14,"+":14},z={"--":15,"++":15,"(":0,"[":16,".":16},W={"||":3,"^^":4,"&&":5,"|":6,"^":7,"&":8,"==":10,">":10,">=":10,"<":10,"<=":10,"!=":10,"<<":11,">>":11,"+":12,"-":12,"*":13,"/":13,"%":13},X={"=":2,"+=":2,"&=":2,"|=":2,"^=":2,"/=":2,"*=":2,"%=":2,"<<=":2,">>=":2,"-=":2,"?":9},xe=/^(void|bool|float|u?int|[uib]?vec\d|mat\d(x\d)?)$/,w=/^(const|uniform|in|out|inout|centroid|flat|smooth|invariant|lowp|mediump|highp)$/,ge=new RegExp(`${xe.source}|${w.source}|layout`),ye={"(":1,"[":1,"{":1,")":-1,"]":-1,"}":-1};function he(e){return ye[e.value]??0}function n(e,a){const t=e.shift();if(t===void 0&&a!==void 0)throw new SyntaxError(`Expected "${a}"`);if(t===void 0)throw new SyntaxError("Unexpected end of input");if(a!==void 0&&t.value!==a)throw new SyntaxError(`Expected "${a}" got "${t.value}"`);return t}function u(e,a=0){let t=n(e),r;if(t.type==="identifier"||t.type==="keyword")r={type:"Identifier",name:t.value};else if(t.type==="bool"||t.type==="float"||t.type==="int")r={type:"Literal",value:t.value};else if(t.type==="symbol"&&t.value==="(")r=u(e,0),n(e,")");else if(t.type==="symbol"&&t.value in G){const i=G[t.value],o=u(e,i);t.value==="--"||t.value==="++"?r={type:"UpdateExpression",operator:t.value,prefix:!0,argument:o}:r={type:"UnaryExpression",operator:t.value,prefix:!0,argument:o}}else throw new SyntaxError(`Unexpected token: "${t.value}"`);for(;e.length;)if(t=e[0],t.value in z){if(z[t.value]<a)break;if(n(e),t.value==="("){const i=[];for(;e[0]?.value!==")";)i.push(u(e,0)),e[0]?.value!==")"&&n(e,",");n(e,")"),r={type:"CallExpression",callee:r,arguments:i}}else if(t.value==="["){const i=e[0]?.value!=="]"?u(e,0):null;if(n(e,"]"),e[0]?.value==="("){n(e,"(");const o=[];for(;e[0]?.value!==")";)o.push(u(e,0)),e[0]?.value!==")"&&n(e,",");n(e,")"),r={type:"ArrayExpression",typeSpecifier:{type:"ArraySpecifier",typeSpecifier:r,dimensions:[i]},elements:o}}else r={type:"MemberExpression",object:r,property:i,computed:!0}}else if(t.value==="."){const i=u(e,0);r={type:"MemberExpression",object:r,property:i,computed:!1}}else t.value==="--"||t.value==="++"?r={type:"UpdateExpression",operator:t.value,prefix:!1,argument:r}:r={type:"UnaryExpression",operator:t.value,prefix:!1,argument:r}}else if(t.value in W){const i=W[t.value],o=i-1,c=i;if(o<a)break;if(n(e),t.value==="||"||t.value==="&&"||t.value==="^^"){const p=u(e,c);r={type:"LogicalExpression",operator:t.value,left:r,right:p}}else{const p=u(e,c);r={type:"BinaryExpression",operator:t.value,left:r,right:p}}}else if(t.value in X){const i=X[t.value],o=i,c=i-1;if(o<a)break;if(n(e),t.value==="?"){const p=u(e,0);n(e,":");const m=u(e,c);r={type:"ConditionalExpression",test:r,alternate:p,consequent:m}}else{const p=u(e,c);r={type:"AssignmentExpression",operator:t.value,left:r,right:p}}}else break;return r}function _e(e,a,t,r){let i={type:"Identifier",name:n(e).value};e[0]?.value==="["&&(n(e,"["),i={type:"ArraySpecifier",typeSpecifier:i,dimensions:[u(e)]},n(e,"]"));let o=null;return e[0]?.value==="="&&(n(e,"="),o=u(e)),{type:"VariableDeclarator",id:i,qualifiers:t,typeSpecifier:a,layout:r,init:o}}function N(e,a,t=[],r=null){const i=[];if(e[0]?.value!==";")for(;e.length&&(i.push(_e(e,a,t,r)),e[0]?.value===",");)n(e,",");return n(e,";"),{type:"VariableDeclaration",declarations:i}}function be(e,a,t=[],r=null){const i=x(e).body;let o=null;return e[0]?.value!==";"&&(o=u(e)),n(e,";"),{type:"UniformDeclarationBlock",id:o,qualifiers:t,typeSpecifier:a,layout:r,members:i}}function Se(e,a,t=[]){const r={type:"Identifier",name:n(e).value};n(e,"(");const i=[];for(;e[0]&&e[0].value!==")";){const c=[];for(;e[0]&&w.test(e[0].value);)c.push(n(e).value);const p=u(e),m={type:"Identifier",name:n(e).value};i.push({type:"FunctionParameter",id:m,qualifiers:c,typeSpecifier:p}),e[0]?.value===","&&n(e,",")}n(e,")");let o=null;return e[0].value===";"?n(e,";"):o=x(e),{type:"FunctionDeclaration",id:r,qualifiers:t,typeSpecifier:a,params:i,body:o}}function $e(e){let a=null;if(e[0].value==="layout"){for(n(e,"layout"),n(e,"("),a={};e[0]&&e[0].value!==")";){const i=u(e);if(i.type==="AssignmentExpression"&&i.left.type==="Identifier"&&i.right.type==="Literal")a[i.left.name]=i.right.value;else if(i.type==="Identifier")a[i.name]=!0;else throw new TypeError("Unexpected expression");e[0]&&e[0].value!==")"&&n(e,",")}n(e,")")}const t=[];for(;e[0]&&w.test(e[0].value);)t.push(n(e).value);if(e[2]?.value==="(")return Se(e,u(e),t);const r=u(e);return e[0]?.value==="{"?be(e,r,t,a):N(e,r,t,a)}function we(e){n(e,"struct");const a={type:"Identifier",name:n(e).value};n(e,"{");const t=[];for(;e[0]&&e[0].value!=="}";)t.push(...h(e));return n(e,"}"),n(e,";"),{type:"StructDeclaration",id:a,members:t}}function De(e){return n(e,"continue"),n(e,";"),{type:"ContinueStatement"}}function Ee(e){return n(e,"break"),n(e,";"),{type:"BreakStatement"}}function ke(e){return n(e,"discard"),n(e,";"),{type:"DiscardStatement"}}function Ce(e){n(e,"return");let a=null;return e[0]?.value!==";"&&(a=u(e)),n(e,";"),{type:"ReturnStatement",argument:a}}function H(e){n(e,"if"),n(e,"(");const a=u(e);n(e,")");const t=x(e);let r=null;return e[0]&&e[0].value==="else"&&(n(e,"else"),e[0]&&e[0].value==="if"?r=H(e):r=x(e)),{type:"IfStatement",test:a,consequent:t,alternate:r}}function Ae(e){n(e,"while"),n(e,"(");const a=u(e);n(e,")");const t=x(e);return{type:"WhileStatement",test:a,body:t}}function Le(e){n(e,"for"),n(e,"(");const a=u(e),t=N(e,a),r=u(e);n(e,";");const i=u(e);n(e,")");const o=x(e);return{type:"ForStatement",init:t,test:r,update:i,body:o}}function je(e){n(e,"do");const a=x(e);n(e,"while"),n(e,"(");const t=u(e);return n(e,")"),n(e,";"),{type:"DoWhileStatement",test:t,body:a}}function Pe(e){n(e,"switch");const a=u(e),t=[];for(;e.length;){const r=n(e);if(r.value==="}")break;if(r.value==="case"){const i=u(e);n(e,":");const o=h(e);t.push({type:"SwitchCase",test:i,consequent:o})}else if(r.value==="default"){n(e,":");const i=h(e);t.push({type:"SwitchCase",test:null,consequent:i})}}return{type:"SwitchStatement",discriminant:a,cases:t}}function qe(e){n(e,"precision");const a=n(e).value,t={type:"Identifier",name:n(e).value};return n(e,";"),{type:"PrecisionStatement",precision:a,typeSpecifier:t}}function Be(e){n(e,"#");let a="",t=null;if(e[0]?.value!=="\\"){if(a=n(e).value,a==="define"){const r=u(e);e[0]?.value==="\\"?t=[r]:t=[r,u(e)]}else if(a==="extension"){const r=u(e);n(e,":");const i=u(e);t=[r,i]}else if(a==="include")n(e,"<"),t=[{type:"Identifier",name:n(e).value}],n(e,">");else if(a!=="else"&&a!=="endif")for(t=[];e.length&&e[0].value!=="\\";)t.push(u(e))}return n(e,"\\"),{type:"PreprocessorStatement",name:a,value:t}}function h(e){const a=[];let t=0;for(;e.length;){const r=e[0];if(t+=he(r),t<0)break;let i=null;if(r.value==="case"||r.value==="default")break;if(r.value==="#")i=Be(e);else if(r.value==="struct")i=we(e);else if(r.value==="continue")i=De(e);else if(r.value==="break")i=Ee(e);else if(r.value==="discard")i=ke(e);else if(r.value==="return")i=Ce(e);else if(r.value==="if")i=H(e);else if(r.value==="while")i=Ae(e);else if(r.value==="for")i=Le(e);else if(r.value==="do")i=je(e);else if(r.value==="switch")i=Pe(e);else if(r.value==="precision")i=qe(e);else if(ge.test(r.value)&&e[1].value!=="[")i=$e(e);else{const o=u(e);n(e,";"),i={type:"ExpressionStatement",expression:o}}a.push(i)}return a}function x(e){n(e,"{");const a=h(e);return n(e,"}"),{type:"BlockStatement",body:a}}const Ie=/\\\n/gm,Me=/(^\s*#[^\\]*?)(\n|\/[\/\*])/gm;function Ue(e){e=e.replace(Ie,""),e=e.replace(Me,"$1\\$2");const a=$(e).filter(t=>t.type!=="whitespace"&&t.type!=="comment");return{type:"Program",body:h(a)}}export{C as GLSL_KEYWORDS,L as GLSL_SYMBOLS,k as WGSL_KEYWORDS,j as WGSL_SYMBOLS,Y as generate,ve as minify,Ue as parse,$ as tokenize};
5
10
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/ast.ts","../src/constants.ts","../src/tokenizer.ts","../src/minifier.ts","../src/parser.ts"],"sourcesContent":null,"names":["Literal","value","Identifier","Type","name","parameters","VariableDeclarator","VariableDeclaration","layout","qualifiers","kind","type","declarations","StructDeclaration","members","FunctionDeclaration","args","body","UnaryExpression","operator","left","right","BinaryExpression","TernaryExpression","test","consequent","alternate","CallExpression","callee","MemberExpression","object","property","ArrayExpression","BlockStatement","IfStatement","ForStatement","init","update","WhileStatement","DoWhileStatement","SwitchCase","SwitchStatement","discriminant","cases","ReturnStatement","argument","PreprocessorStatement","PrecisionStatement","precision","ContinueStatement","BreakStatement","DiscardStatement","WGSL_KEYWORDS","GLSL_KEYWORDS","SYMBOLS","GLSL_SYMBOLS","WGSL_SYMBOLS","isWGSL","isFloat","isInt","isBool","ZERO","NINE","A","Z","LF","CR","TAB","SPACE","UNDERSCORE","SLASH","STAR","HASH","AT","isDigit","c","isAlpha","isLine","isSpace","isIdent","isMacro","tokenize","code","index","tokens","prev","KEYWORDS","char","terminator","symbol","isWord","isSymbol","isName","isScoped","isStorage","minify","mangle","mangleMap","mangleExternals","_a","_b","_c","_d","_e","_f","_g","_h","_i","_j","_k","_l","_m","_n","_o","_p","_q","_r","_s","_t","_u","_v","mangleCache","token","mangleIndex","lineIndex","blockIndex","minified","i","prefix","namespace","storage","list","renamed","cache","j","UNARY_OPERATORS","BINARY_OPERATORS","TYPE_REGEX","QUALIFIER_REGEX","VARIABLE_REGEX","isDeclaration","isOpen","isClose","getScopeDelta","readUntil","offset","output","scopeIndex","consumeUntil","parseExpression","first","last","leftBody","rightBody","testBody","consequentBody","alternateBody","second","scope","line","arg","expression","next","parseVariable","delimiter","parseFunction","header","parseBlock","parseIndeterminate","key","parseStruct","parseReturn","parseIf","parseWhile","parseFor","delimiterIndex","parseDoWhile","parseSwitch","parseStatements","parsePrecision","parsePreprocessor","statement","DIRECTIVE_REGEX","parse"],"mappings":"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A,SACA,UACA,UACA,SACA,UACA,UACA,SACA,UACA,UACA,SACA,UACA,UACA,SACA,UACA,UACA,SACA,UACA,UAGA,QACA,SACA,OACA,MACA,MACA,MAUA,MACA,UACA,qBACA,aACA,aACA,mBACA,aACA,eACA,qBACA,0BACA,qBACA,qBACA,2BACA,qBACA,mBACA,yBACA,qBACA,2BACA,gCACA,MAMA,QACA,UACA,QACA,OACA,QACA,eACA,WACA,aACA,UACA,UACA,OACA,SACA,QACA,KACA,MACA,KACA,MACA,OACA,WACA,SACA,SACA,SACA,OACA,MACA,QAGA,aACA,OACA,OACA,WACA,SACA,UACA,UACA,KACA,MACA,eACA,QACA,YACA,OACA,QACA,SACA,OACA,gBACA,OACA,QACA,QACA,WACA,YACA,WACA,WACA,eACA,SACA,UACA,mBACA,UACA,aACA,YACA,YACA,YACA,QACA,WACA,WACA,SACA,SACA,mBACA,KACA,eACA,OACA,WACA,SACA,UACA,SACA,WACA,MACA,cACA,SACA,QACA,UACA,SACA,OACA,UACA,MACA,OACA,cACA,SACA,QACA,MACA,MACA,KACA,OACA,aACA,SACA,SACA,aACA,YACA,SACA,OACA,QACA,cACA,QACA,UACA,OACA,MACA,SACA,OACA,MACA,UACA,YACA,MACA,MACA,WACA,WACA,kBACA,gBACA,OACA,UACA,KACA,WACA,UACA,aACA,YACA,OACA,QACA,gBACA,UACA,YACA,WACA,OACA,YACA,MACA,SACA,OACA,WACA,MACA,aACA,WACA,mBACA,WACA,WACA,WACA,OACA,MACA,SACA,SACA,SACA,QACA,SACA,gBACA,cACA,MACA,aACA,QACA,SACA,WACA,OACA,eACA,QACA,QACA,MACA,OACA,UACA,SACA,WACA,SACA,MACA,MACA,KACA,QACA,SACA,QACA,SACA,UACA,MACA,QACA,UACA,UACA,WACA,OACA,QACA,OACA,YACA,QAGA,SACA,WACA,WACA,WACA,SACA,YACA,SACA,MACA,eACA,aACA,YACA,QACA,UACA,kBAGA,cACA,SACA,OAGA,SACA,WACA,SAGA,eACA,iBACA,WACA,eACA,aACA,sBACA,yBACA,uBACA,eACA,iBACA,eACA,cAGA,OACA,QACA,aAGA,WACA,UACA,YACA,UACA,UAGA,aACA,aACA,YACA,YACA,aACA,aACA,cACA,UACA,UACA,WACA,WACA,WACA,YACA,aACA,aACA,cACA,aAGA,MAGA,MACA,MACA,SAGA,cAGA,MACA,OACA,QACA,OACA,QACA,OACA,QACA,QACA,OACA,QACA,MACA,OACA,oBACA,eACA,qBACA,QACA,UACA,cACA,WACA,MACA,MACA,OACA,cACA,cACA,kBACA,mBACA,QACA,MACA,QACA,QACA,aACA,cACA,QACA,SACA,MACA,OACA,MACA,MACA,MACA,OACA,YACA,MACA,gBACA,UACA,UACA,UACA,cACA,QACA,WACA,OACA,MACA,OACA,aACA,OACA,OACA,MACA,OACA,YACA,QAGA,OACA,aACA,WACA,OACA,aACA,WACA,SACA,eACA,aAGA,oBACA,gBACA,uBACA,cACA,mBACA,mBACA,oBACA,gBACA,oBACA,uBACA,4BACA,oBACA,qBACA,+BAGA,aACA,cACA,YACA,YACA,YACA,YACA,YACA,WACA,YACA,iBACA,4BAGA,eACA,eACA,gBACA,gBACA,gBAGA,iBACA,iBACA,kBACA,kBACA,kBAGA,iBACA,mBACA,sBACF,EAIaC,GAAgB,CAE3B,QACA,UACA,SACA,WACA,OACA,SACA,QACA,WACA,KACA,MACA,QACA,SACA,OACA,UACA,KACA,OACA,KACA,MACA,QACA,QACA,MACA,OACA,OACA,OACA,QACA,YACA,UACA,SACA,OACA,OACA,OACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,OACA,OACA,OACA,QACA,QACA,QACA,QACA,QACA,QACA,OACA,QACA,QACA,QACA,OACA,UACA,QACA,YACA,YACA,YACA,cACA,kBACA,oBACA,iBACA,uBACA,aACA,aACA,eACA,kBACA,aACA,aACA,eACA,kBACA,SAGA,YACA,UACA,WACA,WACA,WACA,WACA,YACA,WACA,cACA,gBACA,QACA,SACA,aACA,SACA,YACA,SACA,MACA,QACA,QACA,OACA,UACA,WACA,OACA,OACA,SACA,WACA,WACA,SACA,SACA,SACA,WACA,YACA,OACA,QACA,SACA,OACA,QACA,WACA,SACA,QACA,SACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,gBACA,SACA,UACA,UACA,UACA,YACA,WACA,WACA,WACA,aACA,WACA,WACA,WACA,aACA,eACA,eACA,gBACA,gBACA,gBACA,gBACA,cACA,eACA,eACA,YACA,kBACA,iBACA,uBACA,aACA,kBACA,aACA,kBACA,gBACA,sBACA,iBACA,iBACA,gBACA,iBACA,iBACA,cACA,eACA,eACA,mBACA,oBACA,oBACA,SACA,OACA,YACA,QAGA,UACA,SACA,MACA,SACA,UACA,QACA,QACA,SACA,SACA,UACA,aACA,WACA,QAGA,UAGA,WACA,WACA,cACA,QAGA,cACA,gBACA,cACA,eAGA,eACA,iBACA,eACA,gBAGA,sBACA,6BACA,4BACA,6BACA,gCACA,kCACA,0BACA,+BACA,oBACA,2BACA,2BAGA,0BACA,gBAGA,UACA,UACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,OACA,OACA,QACA,QACA,QAGA,MACA,MACA,MACA,OACA,OACA,OACA,cAGA,MACA,OACA,QACA,QACA,QACA,YACA,OACA,QACA,MACA,OACA,MACA,MACA,QACA,MACA,OACA,aACA,QACA,QACA,iBACA,kBACA,iBACA,kBAGA,gBACA,kBACA,gBACA,kBACA,eACA,iBAGA,SACA,WACA,MACA,QACA,YACA,cACA,UACA,UACA,iBACA,eACA,YACA,cACA,UAGA,WACA,gBACA,cACA,mBACA,QACA,WACA,MACA,MACA,MAGA,cACA,UACA,cACA,aACA,gBACA,aACA,mBACA,oBACA,mBACA,iBACA,uBACA,cACA,oBACA,kBACA,wBAGA,OACA,OACA,SAGA,WAKA,eACA,kBACA,YACA,cACA,gBACA,kBACA,sBACA,oBACA,mBACA,uBACA,qBAGA,YAIA,gBACA,mBACF,EAEMC,GAAU,CAEd,KACA,KACA,KAGA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IAGA,IACA,KACA,KACA,IAGA,IACA,IACA,IACA,IACA,KACA,IACA,KACA,IACA,KACA,KACA,KACA,KACA,IACA,IACA,KACA,IACA,IACA,KACA,KAGA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,MACA,IACF,EAGaC,GAAe,CAC1B,GAAGD,GAEH,IAEA,IACF,EAGaE,GAAe,CAC1B,GAAGF,GAEH,KAEA,GACF,ECz4BMG,GAAS,OAAO,UAAU,KAAK,KAAK,gDAAgD,EAEpFC,GAAU,OAAO,UAAU,KAAK,KAAK,+CAA+C,EACpFC,GAAQ,OAAO,UAAU,KAAK,KAAK,6BAA6B,EAChEC,GAAS,OAAO,UAAU,KAAK,KAAK,gBAAgB,EAEpDC,GAAO,GACPC,GAAO,GACPC,GAAI,GACJC,GAAI,GACJC,GAAK,GACLC,GAAK,GACLC,GAAM,EACNC,GAAQ,GACRC,GAAa,GACbC,GAAQ,GACRC,GAAO,GACPC,GAAO,GACPC,GAAK,GAELC,GAAWC,GAAcd,IAAQc,GAAKA,GAAKb,GAC3Cc,GAAWD,IAAgBA,GAAK,IAAMZ,IAAKY,GAAKA,GAAKX,IACrDa,GAAUF,GAAcA,IAAMV,IAAMU,IAAMT,GAC1CY,GAAWH,GAAcE,GAAOF,CAAC,GAAKA,IAAMR,IAAOQ,IAAMP,GACzDW,GAAWJ,GAAcC,GAAQD,CAAC,GAAKD,GAAQC,CAAC,GAAKA,IAAMN,GAC3DW,GAAWL,GAAcA,IAAMH,IAAQG,IAAMF,GAKnC,SAAAQ,EAASC,EAAcC,EAAgB,EAAY,CACjE,MAAMC,EAAkB,CAAC,EAEzB,IAAIC,EAAe,GACnB,KAAM,CAACC,EAAUhC,CAAO,EAAIG,GAAOyB,CAAI,EAAI,CAAC9B,GAAeI,EAAY,EAAI,CAACH,GAAeE,EAAY,EAChG4B,KAAAA,EAAQD,EAAK,QAAQ,CACtBjF,IAAAA,EAAQiF,EAAKC,CAAK,EAChBI,MAAAA,EAAOL,EAAK,WAAWC,GAAO,EAEhCL,GAAAA,GAAQS,CAAI,EAAG,CACVT,KAAAA,GAAQI,EAAK,WAAWC,CAAK,CAAC,GAAGlF,GAASiF,EAAKC,GAAO,EAC7DC,EAAO,KAAK,CAAE,KAAM,aAAc,MAAAnF,EAAO,CAAA,SAChCyE,GAAQa,CAAI,EAAG,CACxB,KAAO7B,GAAQzD,EAAQiF,EAAKC,CAAK,CAAC,GAAKxB,GAAM1D,EAAQiF,EAAKC,CAAK,CAAC,GAAGlF,GAASiF,EAAKC,GAAO,EACpFzB,GAAQzD,CAAK,EAAGmF,EAAO,KAAK,CAAE,KAAM,QAAS,MAAAnF,EAAO,IAC5C,KAAK,CAAE,KAAM,MAAO,MAAAA,EAAO,CAAA,SAC9B8E,GAAQQ,CAAI,EAAG,CACjBR,KAAAA,GAAQG,EAAK,WAAWC,CAAK,CAAC,GAAGlF,GAASiF,EAAKC,GAAO,EACzDvB,GAAO3D,CAAK,EAAGmF,EAAO,KAAK,CAAE,KAAM,OAAQ,MAAAnF,EAAO,EAC7CqF,EAAS,SAASN,GAAQK,CAAI,EAAI,OAAO,aAAaA,CAAI,EAAIpF,EAAQA,CAAK,EAClFmF,EAAO,KAAK,CAAE,KAAM,UAAW,MAAAnF,EAAO,IAC5B,KAAK,CAAE,KAAM,aAAc,MAAAA,EAAO,CACrC,SAAAsF,IAASjB,KAAUY,EAAK,WAAWC,CAAK,IAAMb,IAASY,EAAK,WAAWC,CAAK,IAAMZ,IAAO,CAClG,MAAMiB,EAAaN,EAAK,WAAWC,CAAK,IAAMZ,GAAO,KAAO;AAAA,EACrD,KAAA,CAACtE,EAAM,SAASuF,CAAU,GAAGvF,GAASiF,EAAKC,GAAO,EACzDC,EAAO,KAAK,CAAE,KAAM,UAAW,MAAAnF,EAAO,CAAA,KACjC,CACL,UAAWwF,KAAUnC,EACfmC,EAAO,OAASxF,EAAM,QAAUiF,EAAK,WAAWO,EAAQN,EAAQ,CAAC,IAAWlF,EAAAwF,GAElFN,GAASlF,EAAM,OAAS,EACxBmF,EAAO,KAAK,CAAE,KAAM,SAAU,MAAAnF,EAAO,CAAA,CAEhCoF,EAAAE,CAAA,CAGFH,OAAAA,CACT,CChEA,MAAMM,GAAS,OAAO,UAAU,KAAK,KAAK,KAAK,EACzCC,GAAW,OAAO,UAAU,KAAK,KAAK,SAAS,EAC/CC,GAAS,OAAO,UAAU,KAAK,KAAK,YAAY,EAChDC,GAAW,OAAO,UAAU,KAAK,KAAK,UAAU,EAChDC,GAAY,OAAO,UAAU,KAAK,KAAK,2DAA2D,EAKjG,SAASC,GACdb,EACA,CAAE,OAAAc,EAAS,GAAO,UAAAC,EAAgB,IAAA,IAAO,gBAAAC,EAAkB,EAAM,EAA4B,CAAA,EACrF,CHzBHC,IAAAA,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EG2BEtC,EAAAA,EAAK,QAAQ,gCAAiC,QAAQ,EAEvD,MAAAuC,EAAkB,IAAA,IAClBrC,EAAkBH,EAASC,CAAI,EAAE,OAAQwC,GAAUA,EAAM,OAAS,cAAgBA,EAAM,OAAS,SAAS,EAEhH,IAAIC,EAAsB,GACtBC,GAAoB,GACpBC,EAAqB,GACrBC,EAAmB,GACvB,QAASC,EAAI,EAAGA,EAAI3C,EAAO,OAAQ2C,IAAK,CAChCL,MAAAA,EAAQtC,EAAO2C,CAAC,GAGlBjC,GAAU4B,EAAM,KAAK,GAAK7B,IAASM,EAAAf,EAAO2C,EAAI,CAAC,IAAZ,YAAA5B,EAAe,KAAK,KAAeyB,GAAAG,GAGtEL,EAAM,QAAU,KAAO9B,IAAOQ,EAAAhB,EAAO2C,EAAI,CAAC,IAAZ,YAAA3B,EAAe,KAAK,EAAGyB,EAAaE,EAAI,EACjEL,EAAM,QAAU,MAAkBG,EAAA,IAGvCnC,GAAOgC,EAAM,KAAK,GAAKhC,IAAOW,EAAAjB,EAAO2C,EAAI,CAAC,IAAZ,KAAA1B,OAAAA,EAAe,KAAK,IAAeyB,GAAA,KAInEnC,GAAS+B,EAAM,KAAK,MAClBpB,EAAAlB,EAAO2C,EAAI,CAAC,IAAZ,KAAAzB,OAAAA,EAAe,SAAU,OAAOC,EAAAnB,EAAO2C,EAAI,CAAC,IAAZ,KAAAxB,OAAAA,EAAe,SAAU,aACxDC,EAAApB,EAAO2C,EAAI,CAAC,IAAZ,KAAAvB,OAAAA,EAAe,SAAU,OAAOC,EAAArB,EAAO2C,EAAI,CAAC,IAAZ,KAAAtB,OAAAA,EAAe,SAAU,YAEhDqB,GAAA,KAEd,IAAIE,EAASN,EAAM,MACfhB,KAAAA,EAAAtB,EAAO2C,EAAI,CAAC,IAAZ,KAAArB,OAAAA,EAAe,SAAU,MAC3BsB,EAAS,IAAGrB,EAAAvB,EAAO2C,EAAI,CAAC,IAAZ,KAAA,OAAApB,EAAe,KAAK,IAAMqB,GAKtCN,EAAM,OAAS,cAEfM,IAAW,SACV,OAAOhC,GAAW,UAAYA,EAASA,EAAO0B,EAAOK,EAAG3C,CAAM,GAC/D,CACM,MAAA6C,KAAYrB,EAAAxB,EAAO2C,EAAI,CAAC,IAAZ,KAAAnB,OAAAA,EAAe,SAAU,OAAOC,EAAAzB,EAAO2C,EAAI,CAAC,IAAZ,KAAA,OAAAlB,EAAe,SAAU,IACrEqB,EAAUpC,IAAUgB,EAAA1B,EAAOwC,EAAS,IAAhB,KAAA,OAAAd,EAAmB,KAAK,EAC5CqB,GAAOD,KAAWnB,EAAA3B,EAAO2C,EAAI,CAAC,IAAZ,KAAA,OAAAhB,EAAe,SAAU,IAC7CqB,IAAAA,GAAUpB,EAAAf,EAAU,IAAI+B,CAAM,IAApB,KAAAhB,EAAyBS,EAAY,IAAIO,CAAM,EAC7D,GAEE,CAACI,GAEDP,IAAe,KAEdjC,IAAOqB,EAAA7B,EAAO2C,EAAI,CAAC,IAAZ,KAAA,OAAAd,EAAe,KAAK,GAE1BgB,IAEAE,MAECjB,EAAA9B,EAAO2C,EAAI,CAAC,IAAZ,YAAAb,EAAe,QAAS,YAAYC,EAAA/B,EAAO2C,EAAI,CAAC,IAAZ,KAAA,OAAAZ,EAAe,SAAU,OAE/DjB,GAAmB,CAACgC,GACrB,CAcM,MAAAG,GATHnC,GAAmBgC,KAEpBd,EAAAhC,EAAO2C,EAAI,CAAC,IAAZ,KAAA,OAAAX,EAAe,SAAU,KAEzBa,IAEAE,MAECd,EAAAjC,EAAO2C,EAAI,CAAC,IAAZ,KAAAV,OAAAA,EAAe,SAAU,SAASC,EAAAlC,EAAO2C,EAAI,CAAC,IAAZ,KAAA,OAAAT,EAAe,SAAU,OAAOC,EAAAnC,EAAO2C,EAAI,CAAC,IAAZ,KAAAR,OAAAA,EAAe,SAAU,KACnEtB,EAAYwB,EAEvC,KAAO,CAACW,GAAWC,GAAM,IAAID,CAAO,GAAG,CAC3BA,EAAA,GACVT,IAEA,IAAIW,EAAIX,EACR,KAAOW,EAAI,GACTF,EAAU,OAAO,aAAa,IAAOE,EAAI,GAAK,EAAG,EAAIF,EACjDE,EAAA,KAAK,MAAMA,EAAI,EAAE,CACvB,CAGID,GAAA,IAAIL,EAAQI,CAAO,CAAA,CAG3BN,GAAYM,GAAA,KAAAA,EAAWV,EAAM,KAAA,MAEzBA,EAAM,QAAU,OAAOF,EAAApC,EAAO2C,EAAI,CAAC,IAAZ,KAAAP,OAAAA,EAAe,SAAU,KAAkBM,GAAA;AAAA,GAC7DJ,EAAM,QAAU,KAAkBI,GAAA;AAAA,KAC1BJ,EAAM,KACzB,CAGF,OAAOI,EAAS,KAAK,CACvB,CChGA,MAAMS,GAAkB,CAAC,IAAK,IAAK,IAAK,IAAK,KAAM,IAAI,EAEjDC,GAAmB,CACvB,MACA,MACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,KACA,KACA,KACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,IACA,IACA,KACA,KACA,IACA,IACA,IACA,IACA,GACF,EAGMC,GAAa,oDACbC,GAAkB,mFAClBC,GAAiB,IAAI,OAAO,GAAGF,GAAW,MAAM,IAAIC,GAAgB,MAAM,SAAS,EAEnFE,GAAgB,OAAO,UAAU,KAAK,KAAKD,EAAc,EAEzDE,GAAS,OAAO,UAAU,KAAK,KAAK,YAAY,EAChDC,GAAU,OAAO,UAAU,KAAK,KAAK,YAAY,EAEvD,SAASC,EAAcrB,EAAsB,CACvCmB,OAAAA,GAAOnB,EAAM,KAAK,EAAU,EAC5BoB,GAAQpB,EAAM,KAAK,EAAU,GAC1B,CACT,CAEA,IAAItC,EAAkB,CAAC,EACnB2C,EAAY,EAEhB,SAASiB,EAAU/I,EAAegB,EAAegI,EAAiB,EAAY,CAC5E,MAAMC,EAAkB,CAAC,EACzB,IAAIC,EAAa,EAEVF,KAAAA,EAAShI,EAAK,QAAQ,CACrByG,MAAAA,EAAQzG,EAAKgI,GAAQ,EAI3B,GAHAC,EAAO,KAAKxB,CAAK,EAEjByB,GAAcJ,EAAcrB,CAAK,EAC7ByB,IAAe,GAAKzB,EAAM,QAAUzH,EAAO,KAAA,CAG1CiJ,OAAAA,CACT,CAEA,SAASE,EAAanJ,EAAwB,CAC5C,MAAMiJ,EAASF,EAAU/I,EAAOmF,EAAQ2C,CAAC,EACzCA,OAAAA,GAAKmB,EAAO,OACLA,CACT,CAEA,SAASG,EAAgBpI,EAA2B,CJ3G7C,IAAAkF,EAAAC,EAAAC,EI4GDpF,GAAAA,EAAK,SAAW,EAAU,OAAA,KAExBqI,MAAAA,EAAQrI,EAAK,CAAC,EACdsI,EAAOtI,EAAKA,EAAK,OAAS,CAAC,EACjC,GAAIsH,GAAgB,SAASe,EAAM,KAAK,EAAG,CACzC,MAAMjI,EAAQgI,EAAgBpI,EAAK,MAAM,CAAC,CAAC,EAC3C,OAAO,IAAIC,EAAgBoI,EAAM,MAAO,KAAMjI,CAAK,CAC1C,SAAAkH,GAAgB,SAASgB,EAAK,KAAK,EAAG,CACzCnI,MAAAA,EAAOiI,EAAgBpI,EAAK,MAAM,EAAGA,EAAK,OAAS,CAAC,CAAC,EAC3D,OAAO,IAAIC,EAAgBqI,EAAK,MAAOnI,EAAM,IAAI,CAAA,CAG/CkI,GAAAA,EAAM,QAAU,IAAK,CACjB,MAAAE,EAAWR,EAAU,IAAK/H,CAAI,EAC9BG,EAAOiI,EAAgBG,EAAS,MAAM,EAAGA,EAAS,OAAS,CAAC,CAAC,EAE7DrI,EAAWF,EAAKuI,EAAS,MAAM,EACrC,GAAIrI,EAAU,CACNsI,MAAAA,EAAYxI,EAAK,MAAMuI,EAAS,OAAS,CAAC,EAC1CnI,EAAQgI,EAAgBI,CAAS,EAEvC,OAAO,IAAInI,EAAiBH,EAAS,MAAOC,EAAMC,CAAK,CAAA,CAGlDD,OAAAA,CAAA,CAGT,IAAI+H,EAAa,EAEjB,UAAWhI,KAAYqH,GACrB,QAAST,EAAI,EAAGA,EAAI9G,EAAK,OAAQ8G,IAAK,CAC9BL,MAAAA,EAAQzG,EAAK8G,CAAC,EAChBL,GAAAA,EAAM,OAAS,SAInB,CAAA,GAFAyB,GAAcJ,EAAcrB,CAAK,EAE7ByB,IAAe,GAAKzB,EAAM,QAAUvG,EACtC,GAAIA,IAAa,IAAK,CACpB,MAAMuI,EAAWzI,EAAK,MAAM,EAAG8G,CAAC,EAC1B4B,EAAiBX,EAAU,IAAK/H,EAAM8G,EAAI,CAAC,EAAE,MAAM,EAAG,EAAE,EACxD6B,EAAgB3I,EAAK,MAAM8G,EAAI4B,EAAe,OAAS,CAAC,EAExDnI,EAAO6H,EAAgBK,CAAQ,EAC/BjI,EAAa4H,EAAgBM,CAAc,EAC3CjI,EAAY2H,EAAgBO,CAAa,EAE/C,OAAO,IAAIrI,GAAkBC,EAAMC,EAAYC,CAAS,CAAA,KACnD,CACL,MAAMN,EAAOiI,EAAgBpI,EAAK,MAAM,EAAG8G,CAAC,CAAC,EACvC1G,EAAQgI,EAAgBpI,EAAK,MAAM8G,EAAI,EAAG9G,EAAK,MAAM,CAAC,EAE5D,OAAO,IAAIK,EAAiBH,EAAUC,EAAMC,CAAK,CAAA,CAIrD,GAAI8H,EAAa,EACf,OAAOE,EAAgBpI,EAAK,MAAM,EAAG8G,CAAC,CAAC,CAAA,CACzC,CAIA,GAAAuB,EAAM,OAAS,QAAUA,EAAM,OAAS,OAASA,EAAM,OAAS,QAC3D,OAAA,IAAItJ,GAAQsJ,EAAM,KAAK,KACrBA,EAAM,OAAS,cAAgBA,EAAM,OAAS,UAAW,CAC5DO,MAAAA,EAAS5I,EAAK,CAAC,EAEhB4I,GAAAA,GAEMA,GAAAA,EAAO,QAAU,IAAK,CAC/B,MAAMjI,EAAS,IAAI1B,EAAWoJ,EAAM,KAAK,EACnCtI,EAAc,CAAC,EAEf8I,EAAQd,EAAU,IAAK/H,EAAM,CAAC,EAAE,MAAM,EAAG,EAAE,EAEjD,IAAIqH,EAAI,EACDA,KAAAA,EAAIwB,EAAM,QAAQ,CACvB,MAAMC,EAAOf,EAAU,IAAKc,EAAOxB,CAAC,EACpCA,GAAKyB,EAAK,SACN5D,EAAA4D,EAAKA,EAAK,OAAS,CAAC,IAApB,KAAA5D,OAAAA,EAAuB,SAAU,OAAU,IAAI,EAE7C6D,MAAAA,EAAMX,EAAgBU,CAAI,EAC5BC,GAAUhJ,EAAA,KAAKgJ,CAAG,CAAA,CAGxB,MAAMC,EAAa,IAAItI,GAAeC,EAAQZ,CAAI,EAGlD,IAAI+G,EAAI,EAAIO,EACZ,KAAIlC,EAAAnF,EAAK8G,CAAC,IAAN,KAAA3B,OAAAA,EAAS,SAAU,IAAK,CACpB/E,MAAAA,EAAQgI,EAAgB,CAACC,EAAO,GAAGrI,EAAK,MAAM8G,CAAC,CAAC,CAAC,EACvD1G,OAAAA,EAAM,OAAS4I,EACR5I,CAAA,CAGF4I,OAAAA,CAAA,SACEJ,EAAO,QAAU,IAAK,CAC/B,MAAM/H,EAAS,IAAI5B,EAAWoJ,EAAM,KAAK,EACnCvH,EAAWsH,EAAgB,CAACpI,EAAK,CAAC,CAAC,CAAC,EACpCG,EAAO,IAAIS,GAAiBC,EAAQC,CAAQ,EAG9CsE,KAAAA,EAAApF,EAAK,CAAC,IAAN,KAAA,OAAAoF,EAAS,SAAU,KAAOkD,EAAK,QAAU,IAAK,CAChD,MAAMlI,EAAQgI,EAAgBpI,EAAK,MAAM,CAAC,CAAC,EAC3CI,OAAAA,EAAM,OAASD,EACRC,CAAA,CAGFD,OAAAA,CAAA,SACEyI,EAAO,QAAU,IAAK,CAC/B,IAAI9B,EAAI,EAER,MAAMpH,EAAO,IAAIR,EAAKmJ,EAAM,MAAO,CAAA,CAAE,EAEjCrI,EAAK8G,CAAC,EAAE,QAAU,KAAUpH,EAAA,WAAY,KAAK0I,EAAgB,CAACpI,EAAK8G,GAAG,CAAC,CAAC,CAAQ,EACpFA,IAEM+B,MAAAA,EAAQd,EAAU,IAAK/H,EAAM8G,CAAC,EAAE,MAAM,EAAG,EAAE,EAE3CjH,EAAiB,CAAC,EAExB,IAAIwH,EAAI,EACDA,KAAAA,EAAIwB,EAAM,QAAQ,CACvB,MAAMI,EAAOlB,EAAU,IAAKc,EAAOxB,CAAC,EACpCA,GAAK4B,EAAK,OAENA,EAAKA,EAAK,OAAS,CAAC,EAAE,QAAU,OAAU,IAAI,EAE1CpJ,EAAA,KAAKuI,EAAgBa,CAAI,CAAE,CAAA,CAG9B,OAAA,IAAIlI,EAAgBrB,EAAMG,CAAO,CAAA,MA/DjC,QAAA,IAAIZ,EAAWoJ,EAAM,KAAK,CAgEnC,CAGK,OAAA,IACT,CAEA,SAASa,GACP1J,EAAuB,GACvBD,EAAkD,KAC7B,CACrBuH,IAEA,MAAMrH,EAAO,KACPC,EAAO,IAAIR,EAAKiF,EAAO2C,GAAG,EAAE,MAAO,IAAI,EAEvCnH,EAAqC,CAAC,EAEtCK,EAAOmI,EAAa,GAAG,EAC7B,IAAId,EAAI,EAEDA,KAAAA,EAAIrH,EAAK,QAAQ,CAChBb,MAAAA,EAAOa,EAAKqH,GAAG,EAAE,MAEvB,IAAIN,EAAqB,KACrB/G,EAAKqH,CAAC,EAAE,QAAU,MACpBA,IACAN,EAAS,IAAIhG,EAAgB,IAAI7B,EAAKQ,EAAK,KAAM,CAAC0I,EAAgB,CAACpI,EAAKqH,GAAG,CAAC,CAAC,CAAQ,CAAC,EAAG,CAAA,CAAE,EAC3FA,KAGF,IAAIrI,EAAoB,KAElBmK,MAAAA,EAAYnJ,EAAKqH,GAAG,EACtB,IAAA8B,GAAA,KAAA,OAAAA,EAAW,SAAU,IAAK,CAC5B,MAAM/I,EAAQ2H,EAAU,IAAK/H,EAAMqH,CAAC,EACpCA,GAAKjH,EAAM,OAEXpB,EAAQoJ,EAAgBhI,EAAM,MAAM,EAAG,EAAE,CAAC,CAAA,CAG5CT,EAAa,KAAK,IAAIN,EAAmBF,EAAMH,GAAA,KAAAA,EAAS+H,CAAM,CAAC,CAAA,CAGjE,OAAO,IAAIzH,EAAoBC,EAAQC,EAAYC,EAAMC,EAAMC,CAAY,CAC7E,CAEA,SAASyJ,GAAc5J,EAA2C,CJ7R3D,IAAA0F,EAAAC,EAAAC,EI8RL0B,IAEMpH,MAAAA,EAAO,IAAIR,EAAKiF,EAAO2C,GAAG,EAAE,MAAO,IAAI,EACvC3H,EAAOgF,EAAO2C,GAAG,EAAE,MACnB/G,EAA8B,CAAC,EAG/BsJ,EAASlB,EAAa,GAAG,EAAE,MAAM,EAAG,EAAE,EAC5C,IAAId,EAAI,EACDA,KAAAA,EAAIgC,EAAO,QAAQ,CACxB,MAAM7J,EAAuB,CAAC,EAC9B,KAAO6J,EAAOhC,CAAC,GAAKgC,EAAOhC,CAAC,EAAE,OAAS,cACrC7H,EAAW,KAAK6J,EAAOhC,GAAG,EAAE,KAAK,EAEnC,MAAM3H,EAAO,IAAIR,EAAKM,EAAW,IAAA,EAAQ,IAAI,EAEvCsJ,EAAOf,EAAU,IAAKsB,EAAQhC,CAAC,EACrCA,GAAKyB,EAAK,OAEJ3J,MAAAA,EAAO2J,EAAK,MAAA,EAAS,MAE3B,IAAI/B,EAAqB,OACrB7B,EAAA4D,EAAK,CAAC,IAAN,YAAA5D,EAAS,SAAU,MACrB4D,EAAK,MAAM,EACX/B,EAAS,IAAIhG,EAAgB,IAAI7B,EAAKQ,EAAK,KAAM,CAAC0I,EAAgB,CAACU,EAAK,OAAQ,CAAC,CAAQ,CAAC,EAAG,CAAA,CAAE,EAC/FA,EAAK,MAAM,KAGT3D,EAAA2D,EAAKA,EAAK,OAAS,CAAC,IAApB,YAAA3D,EAAuB,SAAU,OAAU,IAAI,EAE7C,MAAAnG,GAAQoG,EAAAgD,EAAgBU,CAAI,IAApB,KAAA1D,EAAyB2B,EAEjCpH,EAAqC,CAAC,IAAIN,EAAmBF,EAAMH,CAAK,CAAC,EAE1Ee,EAAA,KAAK,IAAIT,EAAoB,KAAME,EAAY,KAAME,EAAMC,CAAY,CAAC,CAAA,CAG/E,IAAIK,EAAO,KACX,OAAImE,EAAO2C,CAAC,EAAE,QAAU,IAAKA,MACjBwC,EAAW,EAEhB,IAAIxJ,GAAoBX,EAAMO,EAAMF,EAAYO,EAAMC,CAAI,CACnE,CAEA,SAASuJ,IAAgE,CJ1UlErE,IAAAA,EI2UL4B,IAEA,IAAIvH,EAAkD,KACtD,GAAI4E,EAAO2C,CAAC,EAAE,QAAU,SAAU,CAChCA,IAEAvH,EAAS,CAAC,EAEV,IAAIiK,EAAqB,KACzB,KAAOrF,EAAO2C,CAAC,GAAK3C,EAAO2C,CAAC,EAAE,QAAU,KAAK,CACrCL,MAAAA,EAAQtC,EAAO2C,GAAG,EAEpBL,EAAM,QAAU,MAAW+C,EAAA,MAC3B/C,EAAM,OAAS,WAEd+C,EAIIjK,EAAAiK,CAAG,EAAI/C,EAAM,OAHpB+C,EAAM/C,EAAM,MACZlH,EAAOiK,CAAG,EAAI,IAGhB,CAGF1C,GAAA,CAGF,MAAMtH,EAAuB,CAAC,EACvB2E,KAAAA,EAAO2C,CAAC,GAAKW,GAAgB,KAAKtD,EAAO2C,CAAC,EAAE,KAAK,GACtDtH,EAAW,KAAK2E,EAAO2C,GAAG,EAAE,KAAK,EAEnC,OAAAA,MAEO5B,EAAAf,EAAO2C,EAAI,CAAC,IAAZ,KAAA,OAAA5B,EAAe,SAAU,IAAMkE,GAAc5J,CAAU,EAAI0J,GAAc1J,EAAYD,CAAM,CACpG,CAEA,SAASkK,IAAiC,CAClCtK,MAAAA,EAAOgF,EAAO2C,GAAG,EAAE,MACzBA,IACA,MAAMjH,EAAiC,CAAC,EACxC,KAAOsE,EAAO2C,CAAC,GAAK3C,EAAO2C,CAAC,EAAE,QAAU,KACtCA,IACQjH,EAAA,KAAK0J,IAA2C,EAE1D,OAAAzC,IACAA,IAEO,IAAIlH,GAAkBT,EAAMU,CAAO,CAC5C,CAEA,SAAS6J,IAA+B,CAChC1J,MAAAA,EAAOmI,EAAa,GAAG,EAC7BnI,EAAK,IAAI,EAEH4B,MAAAA,EAAWwG,EAAgBpI,CAAI,EAE9B,OAAA,IAAI2B,GAAgBC,CAAe,CAC5C,CAEA,SAAS+H,IAAuB,CAC9B,MAAMpJ,EAAO6H,EAAgBD,EAAa,GAAG,CAAC,EACxC3H,EAAa8I,EAAW,EAE9B,IAAI7I,EAAY,KACZ0D,OAAAA,EAAO2C,CAAC,EAAE,QAAU,SACtBA,IAEI3C,EAAO2C,CAAC,EAAE,QAAU,MACtBA,IACArG,EAAYkJ,GAAQ,GAEpBlJ,EAAY6I,EAAW,GAIpB,IAAIrI,GAAYV,EAAMC,EAAYC,CAAS,CACpD,CAEA,SAASmJ,IAA6B,CACpC,MAAMrJ,EAAO6H,EAAgBD,EAAa,GAAG,CAAC,EACxCnI,EAAOsJ,EAAW,EAEjB,OAAA,IAAIjI,GAAed,EAAMP,CAAI,CACtC,CAEA,SAAS6J,IAAyB,CAChC,MAAMC,EAAiBhD,GAAKiB,EAAU,IAAK5D,EAAQ2C,CAAC,EAAE,OAAS,GAE/DA,IACAA,IAEA,MAAM3F,EAAO+H,GAAc,EACrB3I,EAAO6H,EAAgBD,EAAa,GAAG,EAAE,MAAM,EAAG,EAAE,CAAC,EACrD/G,EAASgH,EAAgBjE,EAAO,MAAM2C,EAAGgD,CAAc,CAAC,EAE1DhD,EAAAgD,EACJhD,IAEA,MAAM9G,EAAOsJ,EAAW,EAExB,OAAO,IAAIpI,GAAaC,EAAMZ,EAAMa,EAAQpB,CAAI,CAClD,CAEA,SAAS+J,IAAiC,CACxC,MAAM/J,EAAOsJ,EAAW,EACxBxC,IACA,MAAMvG,EAAO6H,EAAgBD,EAAa,GAAG,CAAC,EAC9C,OAAArB,IAEO,IAAIxF,GAAiBf,EAAMP,CAAI,CACxC,CAEA,SAASgK,IAA+B,CACtC,MAAMvI,EAAe2G,EAAgBD,EAAa,GAAG,CAAC,EAChD2B,EAAiBhD,EAAIiB,EAAU,IAAK5D,EAAQ2C,CAAC,EAAE,OAAS,EAExDpF,EAAsB,CAAC,EAC7B,KAAOoF,EAAIgD,GAAgB,CACnBrD,MAAAA,EAAQtC,EAAO2C,GAAG,EAEpBL,GAAAA,EAAM,QAAU,OAAQ,CACpBlG,MAAAA,EAAO6H,EAAgBD,EAAa,GAAG,EAAE,MAAM,EAAG,EAAE,CAAC,EACrD3H,EAAayJ,EAAgB,EACnCvI,EAAM,KAAK,IAAIH,EAAWhB,EAAMC,CAAU,CAAC,CAAA,SAClCiG,EAAM,QAAU,UAAW,CACpCK,IACA,MAAMtG,EAAayJ,EAAgB,EACnCvI,EAAM,KAAK,IAAIH,EAAW,KAAMf,CAAU,CAAC,CAAA,CAC7C,CAGK,OAAA,IAAIgB,GAAgBC,EAAeC,CAAK,CACjD,CAEA,SAASwI,IAAqC,CACtC,MAAAnI,EAAYoC,EAAO2C,GAAG,EAAE,MACxBpH,EAAO,IAAIR,EAAKiF,EAAO2C,GAAG,EAAE,MAAO,IAAI,EAC7C,OAAAA,IACO,IAAIhF,GAAmBC,EAAkBrC,CAAI,CACtD,CAEA,SAASyK,IAA2C,CAC5ChL,MAAAA,EAAOgF,EAAO2C,GAAG,EAAE,MAEnB9G,EAAOmI,EAAa,IAAI,EAAE,MAAM,EAAG,EAAE,EAC3C,IAAInJ,EAAsB,KAEtBG,GAAAA,IAAS,QAAUA,IAAS,QAG9B,GAFAH,EAAQ,CAAC,EAELG,IAAS,SAAU,CACfgB,MAAAA,EAAOiI,EAAgB,CAACpI,EAAK,MAAQ,CAAA,CAAC,EACtCI,EAAQgI,EAAgBpI,CAAI,EAC5BhB,EAAA,KAAKmB,EAAMC,CAAK,CAAA,SACbjB,IAAS,YAAa,CAC/B,MAAMgB,EAAOiI,EAAgB,CAACpI,EAAK,MAAQ,CAAA,CAAC,EAC5CA,EAAK,MAAM,EACLI,MAAAA,EAAQgI,EAAgBpI,CAAI,EAC5BhB,EAAA,KAAKmB,EAAMC,CAAK,CAAA,MACbjB,IAAS,UAClBH,EAAM,KAAKoJ,EAAgBpI,EAAK,MAAM,EAAG,EAAE,CAAC,CAAE,EAExChB,EAAA,KAAKoJ,EAAgBpI,CAAI,CAAE,EAI9B,OAAA,IAAI6B,GAAsB1C,EAAMH,CAAK,CAC9C,CAEA,SAASiL,GAAyB,CAChC,MAAMjK,EAAc,CAAC,EACrB,IAAIkI,EAAa,EAEVpB,KAAAA,EAAI3C,EAAO,QAAQ,CAClBsC,MAAAA,EAAQtC,EAAO2C,GAAG,EAGxB,GADAoB,GAAcJ,EAAcrB,CAAK,EAC7ByB,EAAa,EAAG,MAEpB,IAAIkC,EAAwB,KAExB,GAAA3D,EAAM,QAAU,IAClB2D,EAAYD,GAAkB,UACrB1D,EAAM,OAAS,UACxB,GAAIA,EAAM,QAAU,QAAUA,EAAM,QAAU,UAAW,CACvDK,IACA,KACS,MAAAL,EAAM,QAAU,WAAsBgD,GAAY,EACpDhD,EAAM,QAAU,YAAa2D,EAAY,IAAIpI,GAAsB8E,KACnEL,EAAM,QAAU,SAAU2D,EAAY,IAAInI,GAAmB6E,KAC7DL,EAAM,QAAU,WAAY2D,EAAY,IAAIlI,GAAqB4E,KACjEL,EAAM,QAAU,SAAU2D,EAAYV,GAAY,EAClDjD,EAAM,QAAU,KAAM2D,EAAYT,GAAQ,EAC1ClD,EAAM,QAAU,QAAS2D,EAAYR,GAAW,EAChDnD,EAAM,QAAU,MAAO2D,EAAYP,GAAS,EAC5CpD,EAAM,QAAU,KAAM2D,EAAYL,GAAa,EAC/CtD,EAAM,QAAU,SAAU2D,EAAYJ,GAAY,EAClDvD,EAAM,QAAU,YAAa2D,EAAYF,GAAe,EACxDvC,GAAclB,EAAM,KAAK,GAAKtC,EAAO2C,CAAC,EAAE,QAAU,MAAKsD,EAAYb,GAAmB,GAG7Fa,GAAAA,EACFpK,EAAK,KAAKoK,CAAS,MACd,CACL,MAAMtB,EAAO,CAACrC,EAAO,GAAG0B,EAAa,GAAG,CAAC,EACrCW,EAAKA,EAAK,OAAS,CAAC,EAAE,QAAU,OAAU,IAAI,EAC5CE,MAAAA,EAAaZ,EAAgBU,CAAI,EACnCE,GAAiBhJ,EAAA,KAAKgJ,CAAU,CAAA,CACtC,CAGKhJ,OAAAA,CACT,CAEA,SAASsJ,GAA6B,CACpCxC,IACA,MAAM9G,EAAOiK,EAAgB,EACtB,OAAA,IAAIjJ,GAAehB,CAAI,CAChC,CAEA,MAAMqK,GAAkB,gCAKjB,SAASC,GAAMrG,EAAqB,CAElC,OAAAA,EAAAA,EAAK,QAAQ,kBAAmB,EAAE,EAGlCA,EAAAA,EAAK,QAAQoG,GAAiB,QAAQ,EAGpClG,EAAAH,EAASC,CAAI,EAAE,OAAQwC,GAAUA,EAAM,OAAS,cAAgBA,EAAM,OAAS,SAAS,EAC7FK,EAAA,EAEGmD,EAAgB,CACzB"}
1
+ {"version":3,"file":"index.js","sources":["../src/constants.ts","../src/generator.ts","../src/tokenizer.ts","../src/minifier.ts","../src/parser.ts"],"sourcesContent":null,"names":["WGSL_KEYWORDS","GLSL_KEYWORDS","SYMBOLS","GLSL_SYMBOLS","WGSL_SYMBOLS","formatLayout","layout","k","v","format","node","value","alternate","qualifiers","body","head","init","scope","generate","program","options","WGSL_REGEX","FLOAT_REGEX","INT_REGEX","BOOL_REGEX","ZERO","NINE","A","Z","LF","CR","TAB","SPACE","UNDERSCORE","DOT","SLASH","STAR","HASH","AT","isDigit","c","isAlpha","isLine","isSpace","isIdent","isMacro","matchAsPrefix","regex","string","start","tokenize","code","index","tokens","prev","KEYWORDS","char","terminator","symbol","isWord","isSymbol","isName","me","F","minify","mangle","mangleMap","mangleExternals","mangleCache","l","u","token","mangleIndex","lineIndex","blockIndex","minified","i","isStorage","isScoped","next","prefix","namespace","storage","list","renamed","cache","j","PREFIX_OPERATOR_PRECEDENCE","POSTFIX_OPERATOR_PRECEDENCE","INFIX_OPERATOR_PRECEDENCE_LEFT","INFIX_OPERATOR_PRECEDENCE_RIGHT","TYPE_REGEX","QUALIFIER_REGEX","VARIABLE_REGEX","SCOPE_DELTAS","getScopeDelta","consume","expected","parseExpression","minBindingPower","lhs","rightBindingPower","rhs","args","elements","precedence","leftBindingPower","mhs","parseVariableDeclarator","typeSpecifier","id","parseVariable","declarations","parseUniformBlock","members","parseBlock","parseFunction","params","parseIndeterminate","expression","parseStruct","parseStatements","parseContinue","parseBreak","parseDiscard","parseReturn","argument","parseIf","test","consequent","parseWhile","parseFor","update","parseDoWhile","parseSwitch","discriminant","cases","parsePrecision","precision","parsePreprocessor","name","left","right","scopeIndex","statement","NEWLINE_REGEX","DIRECTIVE_REGEX","parse"],"mappings":"AACO,MAAMA,EAAgB,CAE3B,OACA,QACA,QACA,QACA,QACA,OACA,QACA,QACA,QACA,QACA,OACA,QACA,QACA,QACA,QAGA,SACA,UACA,UACA,SACA,UACA,UACA,SACA,UACA,UACA,SACA,UACA,UACA,SACA,UACA,UACA,SACA,UACA,UACA,SACA,UACA,UACA,SACA,UACA,UACA,SACA,UACA,UAGA,QACA,SACA,OACA,MACA,MACA,MAUA,MACA,UACA,qBACA,aACA,aACA,mBACA,aACA,eACA,qBACA,0BACA,qBACA,qBACA,2BACA,qBACA,mBACA,yBACA,qBACA,2BACA,gCACA,MAMA,QACA,UACA,QACA,OACA,QACA,eACA,WACA,aACA,UACA,UACA,OACA,SAEA,KACA,MACA,KACA,MACA,OACA,WACA,SACA,SACA,SAEA,MACA,QAGA,aACA,OACA,OACA,WACA,SACA,UACA,UACA,KACA,MACA,eACA,QACA,YACA,OACA,QACA,SACA,OACA,gBACA,OACA,QACA,QACA,WACA,YACA,WACA,WACA,eACA,SACA,UACA,mBACA,UACA,aACA,YACA,YACA,YACA,QACA,WACA,WACA,SACA,SACA,mBACA,KACA,eACA,OACA,WACA,SACA,UACA,SACA,WACA,MACA,cACA,SACA,QACA,UACA,SACA,OACA,UACA,MACA,OACA,cACA,SACA,QACA,MACA,MACA,KACA,OACA,aACA,SACA,SACA,aACA,YACA,SACA,OACA,QACA,cACA,QACA,UACA,OACA,MACA,SACA,OACA,MACA,UACA,YACA,MACA,MACA,WACA,WACA,kBACA,gBACA,OACA,UACA,KACA,WACA,UACA,aACA,YACA,OACA,QACA,gBACA,UACA,YACA,WACA,OACA,YACA,MACA,SACA,OACA,WACA,MACA,aACA,WACA,mBACA,WACA,WACA,WACA,OACA,MACA,SACA,SACA,SACA,QACA,SACA,gBACA,cACA,MACA,aACA,QACA,SACA,WACA,OACA,eACA,QACA,QACA,MACA,OACA,UACA,SACA,WACA,SACA,MACA,MACA,KACA,QACA,SACA,QACA,SACA,UACA,MACA,QACA,UACA,UACA,WACA,OACA,QACA,OACA,YACA,QAGA,SACA,WACA,WACA,WACA,SACA,YACA,SACA,MACA,eACA,aACA,YACA,QACA,UACA,kBAGA,cACA,SACA,OAGA,SACA,WACA,SAGA,eACA,iBACA,WACA,eACA,aACA,sBACA,yBACA,uBACA,eACA,iBACA,eACA,cAGA,OACA,QACA,aAGA,WACA,UACA,YACA,UACA,UAGA,aACA,aACA,YACA,YACA,aACA,aACA,cACA,UACA,UACA,WACA,WACA,WACA,YACA,aACA,aACA,cACA,aAGA,MAGA,MACA,MACA,SAGA,cAGA,MACA,OACA,QACA,OACA,QACA,OACA,QACA,QACA,OACA,QACA,MACA,OACA,oBACA,eACA,qBACA,QACA,UACA,cACA,WACA,MACA,MACA,OACA,cACA,cACA,kBACA,mBACA,QACA,MACA,QACA,QACA,aACA,cACA,QACA,SACA,MACA,OACA,MACA,MACA,MACA,OACA,YACA,MACA,gBACA,UACA,UACA,UACA,cACA,QACA,WACA,OACA,MACA,OACA,aACA,OACA,OACA,MACA,OACA,YACA,QAGA,OACA,aACA,WACA,OACA,aACA,WACA,SACA,eACA,aAGA,oBACA,gBACA,uBACA,cACA,mBACA,mBACA,oBACA,gBACA,oBACA,uBACA,4BACA,oBACA,qBACA,+BAGA,aACA,cACA,YACA,YACA,YACA,YACA,YACA,WACA,YACA,iBACA,4BAGA,eACA,eACA,gBACA,gBACA,gBAGA,iBACA,iBACA,kBACA,kBACA,kBAGA,iBACA,mBACA,sBACF,EAIaC,EAAgB,CAE3B,QACA,UACA,SACA,WACA,OACA,SACA,QACA,WACA,KACA,MACA,QACA,SACA,OACA,UACA,KACA,OACA,KACA,MACA,QACA,QACA,MACA,OACA,OAGA,YACA,UACA,SACA,OACA,OACA,OACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,OACA,OACA,OACA,QACA,QACA,QACA,QACA,QACA,QACA,OACA,QACA,QACA,QACA,OACA,UACA,QACA,YACA,YACA,YACA,cACA,kBACA,oBACA,iBACA,uBACA,aACA,aACA,eACA,kBACA,aACA,aACA,eACA,kBACA,SAGA,YACA,UACA,WACA,WACA,WACA,WACA,YACA,WACA,cACA,gBACA,QACA,SACA,aACA,SACA,YACA,SACA,MACA,QACA,QACA,OACA,UACA,WACA,OACA,OACA,SACA,WACA,WACA,SACA,SACA,SACA,WACA,YACA,OACA,QACA,SACA,OACA,QACA,WACA,SACA,QACA,SACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,gBACA,SACA,UACA,UACA,UACA,YACA,WACA,WACA,WACA,aACA,WACA,WACA,WACA,aACA,eACA,eACA,gBACA,gBACA,gBACA,gBACA,cACA,eACA,eACA,YACA,kBACA,iBACA,uBACA,aACA,kBACA,aACA,kBACA,gBACA,sBACA,iBACA,iBACA,gBACA,iBACA,iBACA,cACA,eACA,eACA,mBACA,oBACA,oBACA,SACA,OACA,YACA,QAGA,UACA,SACA,MACA,SACA,UACA,QACA,QACA,SACA,SACA,UACA,aACA,WACA,QAGA,UAGA,WACA,WACA,cACA,QAGA,cACA,gBACA,cACA,eAGA,eACA,iBACA,eACA,gBAGA,sBACA,6BACA,4BACA,6BACA,gCACA,kCACA,0BACA,+BACA,oBACA,2BACA,2BAGA,0BACA,gBAGA,UACA,UACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,OACA,OACA,QACA,QACA,QAGA,MACA,MACA,MACA,OACA,OACA,OACA,cAGA,MACA,OACA,QACA,QACA,QACA,YACA,OACA,QACA,MACA,OACA,MACA,MACA,QACA,MACA,OACA,aACA,QACA,QACA,iBACA,kBACA,iBACA,kBAGA,gBACA,kBACA,gBACA,kBACA,eACA,iBAGA,SACA,WACA,MACA,QACA,YACA,cACA,UACA,UACA,iBACA,eACA,YACA,cACA,UAGA,WACA,gBACA,cACA,mBACA,Q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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "shaderkit",
3
- "version": "0.2.1",
3
+ "version": "0.3.1",
4
4
  "description": "Tools and IntelliSense for GLSL and WGSL.",
5
5
  "keywords": [
6
6
  "shaders",
@@ -22,21 +22,10 @@
22
22
  "src/*"
23
23
  ],
24
24
  "type": "module",
25
- "types": "./dist/index.d.ts",
26
- "main": "./dist/index.cjs",
27
- "module": "./dist/index.js",
28
- "exports": {
29
- "require": {
30
- "types": "./dist/index.d.cts",
31
- "default": "./dist/index.cjs"
32
- },
33
- "import": {
34
- "types": "./dist/index.d.ts",
35
- "default": "./dist/index.js"
36
- }
37
- },
25
+ "exports": "./dist/index.js",
38
26
  "sideEffects": false,
39
27
  "devDependencies": {
28
+ "@types/node": "^22.10.2",
40
29
  "typescript": "^5.7.2",
41
30
  "vite": "^6.0.6",
42
31
  "vitest": "^2.1.8"