MCPcopy Index your code
hub / github.com/plotly/plotly.py / Ki

Function Ki

plotly/package_data/plotly.min.js:2631–2631  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

2629 gl_FragColor.a *= opacity;
2630 }
2631 `,uniforms:{range:e.prop("range"),lineWidth:e.prop("lineWidth"),capSize:e.prop("capSize"),opacity:e.prop("opacity"),scale:e.prop("scale"),translate:e.prop("translate"),scaleFract:e.prop("scaleFract"),translateFract:e.prop("translateFract"),viewport:(b,p)=>[p.viewport.x,p.viewport.y,b.viewportWidth,b.viewportHeight]},attributes:{color:{buffer:o,offset:(b,p)=>p.offset*4,divisor:1},position:{buffer:i,offset:(b,p)=>p.offset*8,divisor:1},positionFract:{buffer:a,offset:(b,p)=>p.offset*8,divisor:1},error:{buffer:s,offset:(b,p)=>p.offset*16,divisor:1},direction:{buffer:l,stride:24,offset:0},lineOffset:{buffer:l,stride:24,offset:8},capOffset:{buffer:l,stride:24,offset:16}},primitive:"triangles",blend:{enable:!0,color:[0,0,0,0],equation:{rgb:"add",alpha:"add"},func:{srcRGB:"src alpha",dstRGB:"one minus src alpha",srcAlpha:"one minus dst alpha",dstAlpha:"one"}},depth:{enable:!1},scissor:{enable:!0,box:e.prop("viewport")},viewport:e.prop("viewport"),stencil:!1,instances:e.prop("count"),count:EOe.length}),SOe(f,{update:v,draw:h,destroy:m,regl:e,gl:r,canvas:r.canvas,groups:c}),f;function f(b){b?v(b):b===null&&m(),h()}function h(b){if(typeof b=="number")return d(b);b&&!Array.isArray(b)&&(b=[b]),e._refresh(),c.forEach((p,k)=>{if(p){if(b&&(b[k]?p.draw=!0:p.draw=!1),!p.draw){p.draw=!0;return}d(k)}})}function d(b){typeof b=="number"&&(b=c[b]),b!=null&&b&&b.count&&b.color&&b.opacity&&b.positions&&b.positions.length>1&&(b.scaleRatio=[b.scale[0]*b.viewport.width,b.scale[1]*b.viewport.height],n(b),b.after&&b.after(b))}function v(b){if(!b)return;b.length!=null?typeof b[0]=="number"&&(b=[{positions:b}]):Array.isArray(b)||(b=[b]);let p=0,k=0;if(f.groups=c=b.map((L,x)=>{let C=c[x];if(L)typeof L=="function"?L={after:L}:typeof L[0]=="number"&&(L={positions:L});else return C;return L=QNt(L,{color:"color colors fill",capSize:"capSize cap capsize cap-size",lineWidth:"lineWidth line-width width line thickness",opacity:"opacity alpha",range:"range dataBox",viewport:"viewport viewBox",errors:"errors error",positions:"positions position data points"}),C||(c[x]=C={id:x,scale:null,translate:null,scaleFract:null,translateFract:null,draw:!0},L=SOe({},u,L)),$Nt(C,L,[{lineWidth:S=>+S*.5,capSize:S=>+S*.5,opacity:parseFloat,errors:S=>(S=MOe(S),k+=S.length,S),positions:(S,g)=>(S=MOe(S,"float64"),g.count=Math.floor(S.length/2),g.bounds=KNt(S,2),g.offset=p,p+=g.count,S)},{color:(S,g)=>{let P=g.count;if(S||(S="transparent"),!Array.isArray(S)||typeof S[0]=="number"){let z=S;S=Array(P);for(let q=0;q<P;q++)S[q]=z}if(S.length<P)throw Error("Not enough colors");let E=new Uint8Array(P*4);for(let z=0;z<P;z++){let q=JNt(S[z],"uint8");E.set(q,z*4)}return E},range:(S,g,P)=>{let E=g.bounds;return S||(S=E),g.scale=[1/(S[2]-S[0]),1/(S[3]-S[1])],g.translate=[-S[0],-S[1]],g.scaleFract=$Y(g.scale),g.translateFract=$Y(g.translate),S},viewport:S=>{let g;return Array.isArray(S)?g={x:S[0],y:S[1],width:S[2]-S[0],height:S[3]-S[1]}:S?(g={x:S.x||S.left||0,y:S.y||S.top||0},S.right?g.width=S.right-g.x:g.width=S.w||S.width||0,S.bottom?g.height=S.bottom-g.y:g.height=S.h||S.height||0):g={x:0,y:0,width:r.drawingBufferWidth,height:r.drawingBufferHeight},g}}]),C}),p||k){let L=c.reduce((g,P,E)=>g+(P?P.count:0),0),x=new Float64Array(L*2),C=new Uint8Array(L*4),S=new Float32Array(L*4);c.forEach((g,P)=>{if(!g)return;let{positions:E,count:z,offset:q,color:V,errors:G}=g;z&&(C.set(V,q*4),S.set(G,q*4),x.set(E,q*2))});var M=eUt(x);i(M);var T=$Y(x,M);a(T),o(C),s(S)}}function m(){i.destroy(),a.destroy(),o.destroy(),s.destroy(),l.destroy()}}});var IOe=ye((h_r,POe)=>{var LOe=/[\'\"]/;POe.exports=function(t){return t?(LOe.test(t.charAt(0))&&(t=t.substr(1)),LOe.test(t.charAt(t.length-1))&&(t=t.substr(0,t.length-1)),t):""}});var QY=ye((d_r,rUt)=>{rUt.exports=["inherit","initial","unset"]});var eK=ye((v_r,iUt)=>{iUt.exports=["caption","icon","menu","message-box","small-caption","status-bar"]});var tK=ye((p_r,nUt)=>{nUt.exports=["normal","bold","bolder","lighter","100","200","300","400","500","600","700","800","900"]});var rK=ye((g_r,aUt)=>{aUt.exports=["normal","italic","oblique"]});var iK=ye((m_r,oUt)=>{oUt.exports=["normal","condensed","semi-condensed","extra-condensed","ultra-condensed","expanded","semi-expanded","extra-expanded","ultra-expanded"]});var zOe=ye((y_r,FOe)=>{"use strict";function ROe(e,t){if(typeof e!="string")return[e];var r=[e];typeof t=="string"||Array.isArray(t)?t={brackets:t}:t||(t={});var n=t.brackets?Array.isArray(t.brackets)?t.brackets:[t.brackets]:["{}","[]","()"],i=t.escape||"___",a=!!t.flat;n.forEach(function(l){var u=new RegExp(["\\",l[0],"[^\\",l[0],"\\",l[1],"]*\\",l[1]].join("")),c=[];function f(h,d,v){var m=r.push(h.slice(l[0].length,-l[1].length))-1;return c.push(m),i+m+i}r.forEach(function(h,d){for(var v,m=0;h!=v;)if(v=h,h=h.replace(u,f),m++>1e4)throw Error("References have circular dependency. Please, check them.");r[d]=h}),c=c.reverse(),r=r.map(function(h){return c.forEach(function(d){h=h.replace(new RegExp("(\\"+i+d+"\\"+i+")","g"),l[0]+"$1"+l[1])}),h})});var o=new RegExp("\\"+i+"([0-9]+)\\"+i);function s(l,u,c){for(var f=[],h,d=0;h=o.exec(l);){if(d++>1e4)throw Error("Circular references in parenthesis");f.push(l.slice(0,h.index)),f.push(s(u[h[1]],u)),l=l.slice(h.index+h[0].length)}return f.push(l),f}return a?r:s(r[0],r)}function DOe(e,t){if(t&&t.flat){var r=t&&t.escape||"___",n=e[0],i;if(!n)return"";for(var a=new RegExp("\\"+r+"([0-9]+)\\"+r),o=0;n!=i;){if(o++>1e4)throw Error("Circular references in "+e);i=n,n=n.replace(a,s)}return n}return e.reduce(function l(u,c){return Array.isArray(c)&&(c=c.reduce(l,"")),u+c},"");function s(l,u){if(e[u]==null)throw Error("Reference "+u+"is undefined");return e[u]}}function nK(e,t){return Array.isArray(e)?DOe(e,t):ROe(e,t)}nK.parse=ROe;nK.stringify=DOe;FOe.exports=nK});var BOe=ye((__r,OOe)=>{"use strict";var qOe=zOe();OOe.exports=function(t,r,n){if(t==null)throw Error("First argument should be a string");if(r==null)throw Error("Separator should be a string or a RegExp");n?(typeof n=="string"||Array.isArray(n))&&(n={ignore:n}):n={},n.escape==null&&(n.escape=!0),n.ignore==null?n.ignore=["[]","()","{}","<>",'""',"''","``","\u201C\u201D","\xAB\xBB"]:(typeof n.ignore=="string"&&(n.ignore=[n.ignore]),n.ignore=n.ignore.map(function(f){return f.length===1&&(f=f+f),f}));var i=qOe.parse(t,{flat:!0,brackets:n.ignore}),a=i[0],o=a.split(r);if(n.escape){for(var s=[],l=0;l<o.length;l++){var u=o[l],c=o[l+1];u[u.length-1]==="\\"&&u[u.length-2]!=="\\"?(s.push(u+r+c),l++):s.push(u)}o=s}for(var l=0;l<o.length;l++)i[0]=o[l],o[l]=qOe.stringify(i,{flat:!0});return o}});var NOe=ye((x_r,sUt)=>{sUt.exports=["xx-small","x-small","small","medium","large","x-large","xx-large","larger","smaller"]});var aK=ye((b_r,UOe)=>{"use strict";var lUt=NOe();UOe.exports={isSize:function(t){return/^[\d\.]/.test(t)||t.indexOf("/")!==-1||lUt.indexOf(t)!==-1}}});var jOe=ye((w_r,HOe)=>{"use strict";var uUt=IOe(),cUt=QY(),fUt=eK(),hUt=tK(),dUt=rK(),vUt=iK(),oK=BOe(),pUt=aK().isSize;HOe.exports=GOe;var Ik=GOe.cache={};function GOe(e){if(typeof e!="string")throw new Error("Font argument must be a string.");if(Ik[e])return Ik[e];if(e==="")throw new Error("Cannot parse an empty string.");if(fUt.indexOf(e)!==-1)return Ik[e]={system:e};for(var t={style:"normal",variant:"normal",weight:"normal",stretch:"normal",lineHeight:"normal",size:"1rem",family:["serif"]},r=oK(e,/\s+/),n;n=r.shift();){if(cUt.indexOf(n)!==-1)return["style","variant","weight","stretch"].forEach(function(a){t[a]=n}),Ik[e]=t;if(dUt.indexOf(n)!==-1){t.style=n;continue}if(n==="normal"||n==="small-caps"){t.variant=n;continue}if(vUt.indexOf(n)!==-1){t.stretch=n;continue}if(hUt.indexOf(n)!==-1){t.weight=n;continue}if(pUt(n)){var i=oK(n,"/");if(t.size=i[0],i[1]!=null?t.lineHeight=VOe(i[1]):r[0]==="/"&&(r.shift(),t.lineHeight=VOe(r.shift())),!r.length)throw new Error("Missing required font-family.");return t.family=oK(r.join(" "),/\s*,\s*/).map(uUt),Ik[e]=t}throw new Error("Unknown or unsupported font token: "+n)}throw new Error("Missing required font-size.")}function VOe(e){var t=parseFloat(e);return t.toString()===e?t:e}});var lK=ye((T_r,WOe)=>{"use strict";var gUt=ty(),mUt=aK().isSize,yUt=Dk(QY()),_Ut=Dk(eK()),xUt=Dk(tK()),bUt=Dk(rK()),wUt=Dk(iK()),TUt={normal:1,"small-caps":1},AUt={serif:1,"sans-serif":1,monospace:1,cursive:1,fantasy:1,"system-ui":1},sK={style:"normal",variant:"normal",weight:"normal",stretch:"normal",size:"1rem",lineHeight:"normal",family:"serif"};WOe.exports=function(t){if(t=gUt(t,{style:"style fontstyle fontStyle font-style slope distinction",variant:"variant font-variant fontVariant fontvariant var capitalization",weight:"weight w font-weight fontWeight fontweight",stretch:"stretch font-stretch fontStretch fontstretch width",size:"size s font-size fontSize fontsize height em emSize",lineHeight:"lh line-height lineHeight lineheight leading",family:"font family fontFamily font-family fontfamily type typeface face",system:"system reserved default global"}),t.system)return t.system&&Rk(t.system,_Ut),t.system;if(Rk(t.style,bUt),Rk(t.variant,TUt),Rk(t.weight,xUt),Rk(t.stretch,wUt),t.size==null&&(t.size=sK.size),typeof t.size=="number"&&(t.size+="px"),!mUt)throw Error("Bad size value `"+t.size+"`");t.family||(t.family=sK.family),Array.isArray(t.family)&&(t.family.length||(t.family=[sK.family]),t.family=t.family.map(function(n){return AUt[n]?n:'"'+n+'"'}).join(", "));var r=[];return r.push(t.style),t.variant!==t.style&&r.push(t.variant),t.weight!==t.variant&&t.weight!==t.style&&r.push(t.weight),t.stretch!==t.weight&&t.stretch!==t.variant&&t.stretch!==t.style&&r.push(t.stretch),r.push(t.size+(t.lineHeight==null||t.lineHeight==="normal"||t.lineHeight+""=="1"?"":"/"+t.lineHeight)),r.push(t.family),r.filter(Boolean).join(" ")};function Rk(e,t){if(e&&!t[e]&&!yUt[e])throw Error("Unknown keyword `"+e+"`");return e}function Dk(e){for(var t={},r=0;r<e.length;r++)t[e[r]]=1;return t}});var ZOe=ye((A_r,XOe)=>{"use strict";XOe.exports={parse:jOe(),stringify:lK()}});var YOe=ye((uK,cK)=>{(function(e,t){typeof uK=="object"&&typeof cK!="undefined"?cK.exports=t():e.createREGL=t()})(uK,function(){"use strict";var e=function(Me,bt){for(var Ot=Object.keys(bt),Lr=0;Lr<Ot.length;++Lr)Me[Ot[Lr]]=bt[Ot[Lr]];return Me},t=0,r=0,n=5,i=6;function a(Me,bt){this.id=t++,this.type=Me,this.data=bt}function o(Me){return Me.replace(/\\/g,"\\\\").replace(/"/g,'\\"')}function s(Me){if(Me.length===0)return[];var bt=Me.charAt(0),Ot=Me.charAt(Me.length-1);if(Me.length>1&&bt===Ot&&(bt==='"'||bt==="'"))return['"'+o(Me.substr(1,Me.length-2))+'"'];var Lr=/\[(false|true|null|\d+|'[^']*'|"[^"]*")\]/.exec(Me);if(Lr)return s(Me.substr(0,Lr.index)).concat(s(Lr[1])).concat(s(Me.substr(Lr.index+Lr[0].length)));var Vr=Me.split(".");if(Vr.length===1)return['"'+o(Me)+'"'];for(var Or=[],Nr=0;Nr<Vr.length;++Nr)Or=Or.concat(s(Vr[Nr]));return Or}function l(Me){return"["+s(Me).join("][")+"]"}function u(Me,bt){return new a(Me,l(bt+""))}function c(Me){return typeof Me=="function"&&!Me._reglType||Me instanceof a}function f(Me,bt){if(typeof Me=="function")return new a(r,Me);if(typeof Me=="number"||typeof Me=="boolean")return new a(n,Me);if(Array.isArray(Me))return new a(i,Me.map(function(Ot,Lr){return f(Ot,bt+"["+Lr+"]")}));if(Me instanceof a)return Me}var h={DynamicVariable:a,define:u,isDynamic:c,unbox:f,accessor:l},d={next:typeof requestAnimationFrame=="function"?function(Me){return requestAnimationFrame(Me)}:function(Me){return setTimeout(Me,16)},cancel:typeof cancelAnimationFrame=="function"?function(Me){return cancelAnimationFrame(Me)}:clearTimeout},v=typeof performance!="undefined"&&performance.now?function(){return performance.now()}:function(){return+new Date};function m(){var Me={"":0},bt=[""];return{id:function(Ot){var Lr=Me[Ot];return Lr||(Lr=Me[Ot]=bt.length,bt.push(Ot),Lr)},str:function(Ot){return bt[Ot]}}}function b(Me,bt,Ot){var Lr=document.createElement("canvas");e(Lr.style,{border:0,margin:0,padding:0,top:0,left:0,width:"100%",height:"100%"}),Me.appendChild(Lr),Me===document.body&&(Lr.style.position="absolute",e(Me.style,{margin:0,padding:0}));function Vr(){var vi=window.innerWidth,Ni=window.innerHeight;if(Me!==document.body){var qi=Lr.getBoundingClientRect();vi=qi.right-qi.left,Ni=qi.bottom-qi.top}Lr.width=Ot*vi,Lr.height=Ot*Ni}var Or;Me!==document.body&&typeof ResizeObserver=="function"?(Or=new ResizeObserver(function(){setTimeout(Vr)}),Or.observe(Me)):window.addEventListener("resize",Vr,!1);function Nr(){Or?Or.disconnect():window.removeEventListener("resize",Vr),Me.removeChild(Lr)}return Vr(),{canvas:Lr,onDestroy:Nr}}function p(Me,bt){function Ot(Lr){try{return Me.getContext(Lr,bt)}catch(Vr){return null}}return Ot("webgl")||Ot("experimental-webgl")||Ot("webgl-experimental")}function k(Me){return typeof Me.nodeName=="string"&&typeof Me.appendChild=="function"&&typeof Me.getBoundingClientRect=="function"}function M(Me){return typeof Me.drawArrays=="function"||typeof Me.drawElements=="function"}function T(Me){return typeof Me=="string"?Me.split():Me}function L(Me){return typeof Me=="string"?document.querySelector(Me):Me}function x(Me){var bt=Me||{},Ot,Lr,Vr,Or,Nr={},vi=[],Ni=[],qi=typeof window=="undefined"?1:window.devicePixelRatio,Si=!1,Vn={},Qi=function(Tr){},ji=function(){};if(typeof bt=="string"?Ot=document.querySelector(bt):typeof bt=="object"&&(k(bt)?Ot=bt:M(bt)?(Or=bt,Vr=Or.canvas):("gl"in bt?Or=bt.gl:"canvas"in bt?Vr=L(bt.canvas):"container"in bt&&(Lr=L(bt.container)),"attributes"in bt&&(Nr=bt.attributes),"extensions"in bt&&(vi=T(bt.extensions)),"optionalExtensions"in bt&&(Ni=T(bt.optionalExtensions)),"onDone"in bt&&(Qi=bt.onDone),"profile"in bt&&(Si=!!bt.profile),"pixelRatio"in bt&&(qi=+bt.pixelRatio),"cachedCode"in bt&&(Vn=bt.cachedCode))),Ot&&(Ot.nodeName.toLowerCase()==="canvas"?Vr=Ot:Lr=Ot),!Or){if(!Vr){var oi=b(Lr||document.body,Qi,qi);if(!oi)return null;Vr=oi.canvas,ji=oi.onDestroy}Nr.premultipliedAlpha===void 0&&(Nr.premultipliedAlpha=!0),Or=p(Vr,Nr)}return Or?{gl:Or,canvas:Vr,container:Lr,extensions:vi,optionalExtensions:Ni,pixelRatio:qi,profile:Si,cachedCode:Vn,onDone:Qi,onDestroy:ji}:(ji(),Qi("webgl not supported, try upgrading your browser or graphics drivers http://get.webgl.org"),null)}function C(Me,bt){var Ot={};function Lr(Nr){var vi=Nr.toLowerCase(),Ni;try{Ni=Ot[vi]=Me.getExtension(vi)}catch(qi){}return!!Ni}for(var Vr=0;Vr<bt.extensions.length;++Vr){var Or=bt.extensions[Vr];if(!Lr(Or))return bt.onDestroy(),bt.onDone('"'+Or+'" extension is not supported by the current WebGL context, try upgrading your system or a different browser'),null}return bt.optionalExtensions.forEach(Lr),{extensions:Ot,restore:function(){Object.keys(Ot).forEach(function(Nr){if(Ot[Nr]&&!Lr(Nr))throw new Error("(regl): error restoring extension "+Nr)})}}}function S(Me,bt){for(var Ot=Array(Me),Lr=0;Lr<Me;++Lr)Ot[Lr]=bt(Lr);return Ot}var g=5120,P=5121,E=5122,z=5123,q=5124,V=5125,G=5126;function Z(Me){for(var bt=16;bt<=1<<28;bt*=16)if(Me<=bt)return bt;return 0}function j(Me){var bt,Ot;return bt=(Me>65535)<<4,Me>>>=bt,Ot=(Me>255)<<3,Me>>>=Ot,bt|=Ot,Ot=(Me>15)<<2,Me>>>=Ot,bt|=Ot,Ot=(Me>3)<<1,Me>>>=Ot,bt|=Ot,bt|Me>>1}function N(){var Me=S(8,function(){return[]});function bt(Or){var Nr=Z(Or),vi=Me[j(Nr)>>2];return vi.length>0?vi.pop():new ArrayBuffer(Nr)}function Ot(Or){Me[j(Or.byteLength)>>2].push(Or)}function Lr(Or,Nr){var vi=null;switch(Or){case g:vi=new Int8Array(bt(Nr),0,Nr);break;case P:vi=new Uint8Array(bt(Nr),0,Nr);break;case E:vi=new Int16Array(bt(2*Nr),0,Nr);break;case z:vi=new Uint16Array(bt(2*Nr),0,Nr);break;case q:vi=new Int32Array(bt(4*Nr),0,Nr);break;case V:vi=new Uint32Array(bt(4*Nr),0,Nr);break;case G:vi=new Float32Array(bt(4*Nr),0,Nr);break;default:return null}return vi.length!==Nr?vi.subarray(0,Nr):vi}function Vr(Or){Ot(Or.buffer)}return{alloc:bt,free:Ot,allocType:Lr,freeType:Vr}}var H=N();H.zero=N();var ie=3408,ae=3410,_e=3411,Ee=3412,Ce=3413,ge=3414,re=3415,Se=33901,ke=33902,be=3379,Be=3386,Le=34921,me=36347,Pe=36348,ce=35661,He=35660,lt=34930,mt=36349,Ht=34076,at=34024,ct=7936,ar=7937,Vt=7938,rr=35724,tt=34047,je=36063,Ue=34852,Ae=3553,rt=34067,St=34069,Tt=33984,dt=6408,Et=5126,pt=5121,jt=36160,or=36053,mr=36064,Ar=16384,ei=function(Me,bt){var Ot=1;bt.ext_texture_filter_anisotropic&&(Ot=Me.getParameter(tt));var Lr=1,Vr=1;bt.webgl_draw_buffers&&(Lr=Me.getParameter(Ue),Vr=Me.getParameter(je));var Or=!!bt.oes_texture_float;if(Or){var Nr=Me.createTexture();Me.bindTexture(Ae,Nr),Me.texImage2D(Ae,0,dt,1,1,0,dt,Et,null);var vi=Me.createFramebuffer();if(Me.bindFramebuffer(jt,vi),Me.framebufferTexture2D(jt,mr,Ae,Nr,0),Me.bindTexture(Ae,null),Me.checkFramebufferStatus(jt)!==or)Or=!1;else{Me.viewport(0,0,1,1),Me.clearColor(1,0,0,1),Me.clear(Ar);var Ni=H.allocType(Et,4);Me.readPixels(0,0,1,1,dt,Et,Ni),Me.getError()?Or=!1:(Me.deleteFramebuffer(vi),Me.deleteTexture(Nr),Or=Ni[0]===1),H.freeType(Ni)}}var qi=typeof navigator!="undefined"&&(/MSIE/.test(navigator.userAgent)||/Trident\//.test(navigator.appVersion)||/Edge/.test(navigator.userAgent)),Si=!0;if(!qi){var Vn=Me.createTexture(),Qi=H.allocType(pt,36);Me.activeTexture(Tt),Me.bindTexture(rt,Vn),Me.texImage2D(St,0,dt,3,3,0,dt,pt,Qi),H.freeType(Qi),Me.bindTexture(rt,null),Me.deleteTexture(Vn),Si=!Me.getError()}return{colorBits:[Me.getParameter(ae),Me.getParameter(_e),Me.getParameter(Ee),Me.getParameter(Ce)],depthBits:Me.getParameter(ge),stencilBits:Me.getParameter(re),subpixelBits:Me.getParameter(ie),extensions:Object.keys(bt).filter(function(ji){return!!bt[ji]}),maxAnisotropic:Ot,maxDrawbuffers:Lr,maxColorAttachments:Vr,pointSizeDims:Me.getParameter(Se),lineWidthDims:Me.getParameter(ke),maxViewportDims:Me.getParameter(Be),maxCombinedTextureUnits:Me.getParameter(ce),maxCubeMapSize:Me.getParameter(Ht),maxRenderbufferSize:Me.getParameter(at),maxTextureUnits:Me.getParameter(lt),maxTextureSize:Me.getParameter(be),maxAttributes:Me.getParameter(Le),maxVertexUniforms:Me.getParameter(me),maxVertexTextureUnits:Me.getParameter(He),maxVaryingVectors:Me.getParameter(Pe),maxFragmentUniforms:Me.getParameter(mt),glsl:Me.getParameter(rr),renderer:Me.getParameter(ar),vendor:Me.getParameter(ct),version:Me.getParameter(Vt),readFloat:Or,npotTextureCube:Si}},qr=function(Me){return Me instanceof Uint8Array||Me instanceof Uint16Array||Me instanceof Uint32Array||Me instanceof Int8Array||Me instanceof Int16Array||Me instanceof Int32Array||Me instanceof Float32Array||Me instanceof Float64Array||Me instanceof Uint8ClampedArray};function jr(Me){return!!Me&&typeof Me=="object"&&Array.isArray(Me.shape)&&Array.isArray(Me.stride)&&typeof Me.offset=="number"&&Me.shape.length===Me.stride.length&&(Array.isArray(Me.data)||qr(Me.data))}var gt=function(Me){return Object.keys(Me).map(function(bt){return Me[bt]})},Ge={shape:Kt,flatten:At};function Je(Me,bt,Ot){for(var Lr=0;Lr<bt;++Lr)Ot[Lr]=Me[Lr]}function We(Me,bt,Ot,Lr){for(var Vr=0,Or=0;Or<bt;++Or)for(var Nr=Me[Or],vi=0;vi<Ot;++vi)Lr[Vr++]=Nr[vi]}function et(Me,bt,Ot,Lr,Vr,Or){for(var Nr=Or,vi=0;vi<bt;++vi)for(var Ni=Me[vi],qi=0;qi<Ot;++qi)for(var Si=Ni[qi],Vn=0;Vn<Lr;++Vn)Vr[Nr++]=Si[Vn]}function xt(Me,bt,Ot,Lr,Vr){for(var Or=1,Nr=Ot+1;Nr<bt.length;++Nr)Or*=bt[Nr];var vi=bt[Ot];if(bt.length-Ot===4){var Ni=bt[Ot+1],qi=bt[Ot+2],Si=bt[Ot+3];for(Nr=0;Nr<vi;++Nr)et(Me[Nr],Ni,qi,Si,Lr,Vr),Vr+=Or}else for(Nr=0;Nr<vi;++Nr)xt(Me[Nr],bt,Ot+1,Lr,Vr),Vr+=Or}function At(Me,bt,Ot,Lr){var Vr=1;if(bt.length)for(var Or=0;Or<bt.length;++Or)Vr*=bt[Or];else Vr=0;var Nr=Lr||H.allocType(Ot,Vr);switch(bt.length){case 0:break;case 1:Je(Me,bt[0],Nr);break;case 2:We(Me,bt[0],bt[1],Nr);break;case 3:et(Me,bt[0],bt[1],bt[2],Nr,0);break;default:xt(Me,bt,0,Nr,0)}return Nr}function Kt(Me){for(var bt=[],Ot=Me;Ot.length;Ot=Ot[0])bt.push(Ot.length);return bt}var Qt={"[object Int8Array]":5120,"[object Int16Array]":5122,"[object Int32Array]":5124,"[object Uint8Array]":5121,"[object Uint8ClampedArray]":5121,"[object Uint16Array]":5123,"[object Uint32Array]":5125,"[object Float32Array]":5126,"[object Float64Array]":5121,"[object ArrayBuffer]":5121},Mr=5120,Gr=5122,Ir=5124,Yr=5121,_i=5123,Pi=5125,ai=5126,mi=5126,un={int8:Mr,int16:Gr,int32:Ir,uint8:Yr,uint16:_i,uint32:Pi,float:ai,float32:mi},Fn=35048,An=35040,Hn={dynamic:Fn,stream:An,static:35044},Qn=Ge.flatten,Vi=Ge.shape,Kn=35044,Jn=35040,Gt=5121,wt=5126,tr=[];tr[5120]=1,tr[5122]=2,tr[5124]=4,tr[5121]=1,tr[5123]=2,tr[5125]=4,tr[5126]=4;function ir(Me){return Qt[Object.prototype.toString.call(Me)]|0}function wr(Me,bt){for(var Ot=0;Ot<bt.length;++Ot)Me[Ot]=bt[Ot]}function Xr(Me,bt,Ot,Lr,Vr,Or,Nr){for(var vi=0,Ni=0;Ni<Ot;++Ni)for(var qi=0;qi<Lr;++qi)Me[vi++]=bt[Vr*Ni+Or*qi+Nr]}function ti(Me,bt,Ot,Lr){var Vr=0,Or={};function Nr(Tr){this.id=Vr++,this.buffer=Me.createBuffer(),this.type=Tr,this.usage=Kn,this.byteLength=0,this.dimension=1,this.dtype=Gt,this.persistentData=null,Ot.profile&&(this.stats={size:0})}Nr.prototype.bind=function(){Me.bindBuffer(this.type,this.buffer)},Nr.prototype.destroy=function(){Qi(this)};var vi=[];function Ni(Tr,Zr){var yi=vi.pop();return yi||(yi=new Nr(Tr)),yi.bind(),Vn(yi,Zr,Jn,0,1,!1),yi}function qi(Tr){vi.push(Tr)}function Si(Tr,Zr,yi){Tr.byteLength=Zr.byteLength,Me.bufferData(Tr.type,Zr,yi)}function Vn(Tr,Zr,yi,Ii,ui,nn){var Xi;if(Tr.usage=yi,Array.isArray(Zr)){if(Tr.dtype=Ii||wt,Zr.length>0){var qn;if(Array.isArray(Zr[0])){Xi=Vi(Zr);for(var fi=1,si=1;si<Xi.length;++si)fi*=Xi[si];Tr.dimension=fi,qn=Qn(Zr,Xi,Tr.dtype),Si(Tr,qn,yi),nn?Tr.persistentData=qn:H.freeType(qn)}else if(typeof Zr[0]=="number"){Tr.dimension=ui;var mn=H.allocType(Tr.dtype,Zr.length);wr(mn,Zr),Si(Tr,mn,yi),nn?Tr.persistentData=mn:H.freeType(mn)}else qr(Zr[0])&&(Tr.dimension=Zr[0].length,Tr.dtype=Ii||ir(Zr[0])||wt,qn=Qn(Zr,[Zr.length,Zr[0].length],Tr.dtype),Si(Tr,qn,yi),nn?Tr.persistentData=qn:H.freeType(qn))}}else if(qr(Zr))Tr.dtype=Ii||ir(Zr),Tr.dimension=ui,Si(Tr,Zr,yi),nn&&(Tr.persistentData=new Uint8Array(new Uint8Array(Zr.buffer)));else if(jr(Zr)){Xi=Zr.shape;var Ji=Zr.stride,Ui=Zr.offset,Bi=0,pn=0,Nn=0,aa=0;Xi.length===1?(Bi=Xi[0],pn=1,Nn=Ji[0],aa=0):Xi.length===2&&(Bi=Xi[0],pn=Xi[1],Nn=Ji[0],aa=Ji[1]),Tr.dtype=Ii||ir(Zr.data)||wt,Tr.dimension=pn;var Ki=H.allocType(Tr.dtype,Bi*pn);Xr(Ki,Zr.data,Bi,pn,Nn,aa,Ui),Si(Tr,Ki,yi),nn?Tr.persistentData=Ki:H.freeType(Ki)}else Zr instanceof ArrayBuffer&&(Tr.dtype=Gt,Tr.dimension=ui,Si(Tr,Zr,yi),nn&&(Tr.persistentData=new Uint8Array(new Uint8Array(Zr))))}function Qi(Tr){bt.bufferCount--,Lr(Tr);var Zr=Tr.buffer;Me.deleteBuffer(Zr),Tr.buffer=null,delete Or[Tr.id]}function ji(Tr,Zr,yi,Ii){bt.bufferCount++;var ui=new Nr(Zr);Or[ui.id]=ui;function nn(fi){var si=Kn,mn=null,Ji=0,Ui=0,Bi=1;return Array.isArray(fi)||qr(fi)||jr(fi)||fi instanceof ArrayBuffer?mn=fi:typeof fi=="number"?Ji=fi|0:fi&&("data"in fi&&(mn=fi.data),"usage"in fi&&(si=Hn[fi.usage]),"type"in fi&&(Ui=un[fi.type]),"dimension"in fi&&(Bi=fi.dimension|0),"length"in fi&&(Ji=fi.length|0)),ui.bind(),mn?Vn(ui,mn,si,Ui,Bi,Ii):(Ji&&Me.bufferData(ui.type,Ji,si),ui.dtype=Ui||Gt,ui.usage=si,ui.dimension=Bi,ui.byteLength=Ji),Ot.profile&&(ui.stats.size=ui.byteLength*tr[ui.dtype]),nn}function Xi(fi,si){Me.bufferSubData(ui.type,si,fi)}function qn(fi,si){var mn=(si||0)|0,Ji;if(ui.bind(),qr(fi)||fi instanceof ArrayBuffer)Xi(fi,mn);else if(Array.isArray(fi)){if(fi.length>0){if(typeof fi[0]=="number"){var Ui=H.allocType(ui.dtype,fi.length);wr(Ui,fi),Xi(Ui,mn),H.freeType(Ui)}else if(Array.isArray(fi[0])||qr(fi[0])){Ji=Vi(fi);var Bi=Qn(fi,Ji,ui.dtype);Xi(Bi,mn),H.freeType(Bi)}}}else if(jr(fi)){Ji=fi.shape;var pn=fi.stride,Nn=0,aa=0,Ki=0,Cn=0;Ji.length===1?(Nn=Ji[0],aa=1,Ki=pn[0],Cn=0):Ji.length===2&&(Nn=Ji[0],aa=Ji[1],Ki=pn[0],Cn=pn[1]);var ia=Array.isArray(fi.data)?ui.dtype:ir(fi.data),sa=H.allocType(ia,Nn*aa);Xr(sa,fi.data,Nn,aa,Ki,Cn,fi.offset),Xi(sa,mn),H.freeType(sa)}return nn}return yi||nn(Tr),nn._reglType="buffer",nn._buffer=ui,nn.subdata=qn,Ot.profile&&(nn.stats=ui.stats),nn.destroy=function(){Qi(ui)},nn}function oi(){gt(Or).forEach(function(Tr){Tr.buffer=Me.createBuffer(),Me.bindBuffer(Tr.type,Tr.buffer),Me.bufferData(Tr.type,Tr.persistentData||Tr.byteLength,Tr.usage)})}return Ot.profile&&(bt.getTotalBufferSize=function(){var Tr=0;return Object.keys(Or).forEach(function(Zr){Tr+=Or[Zr].stats.size}),Tr}),{create:ji,createStream:Ni,destroyStream:qi,clear:function(){gt(Or).forEach(Qi),vi.forEach(Qi)},getBuffer:function(Tr){return Tr&&Tr._buffer instanceof Nr?Tr._buffer:null},restore:oi,_initBuffer:Vn}}var $r=0,Ri=0,Zi=1,en=1,fn=4,yn=4,Mn={points:$r,point:Ri,lines:Zi,line:en,triangles:fn,triangle:yn,"line loop":2,"line strip":3,"triangle strip":5,"triangle fan":6},Ba=0,ua=1,ma=4,Wa=5120,Fa=5121,Xo=5122,da=5123,jn=5124,Ha=5125,vo=34963,Gn=35040,Ct=35044;function Sr(Me,bt,Ot,Lr){var Vr={},Or=0,Nr={uint8:Fa,uint16:da};bt.oes_element_index_uint&&(Nr.uint32=Ha);function vi(oi){this.id=Or++,Vr[this.id]=this,this.buffer=oi,this.primType=ma,this.vertCount=0,this.type=0}vi.prototype.bind=function(){this.buffer.bind()};var Ni=[];function qi(oi){var Tr=Ni.pop();return Tr||(Tr=new vi(Ot.create(null,vo,!0,!1)._buffer)),Vn(Tr,oi,Gn,-1,-1,0,0),Tr}function Si(oi){Ni.push(oi)}function Vn(oi,Tr,Zr,yi,Ii,ui,nn){oi.buffer.bind();var Xi;if(Tr){var qn=nn;!nn&&(!qr(Tr)||jr(Tr)&&!qr(Tr.data))&&(qn=bt.oes_element_index_uint?Ha:da),Ot._initBuffer(oi.buffer,Tr,Zr,qn,3)}else Me.bufferData(vo,ui,Zr),oi.buffer.dtype=Xi||Fa,oi.buffer.usage=Zr,oi.buffer.dimension=3,oi.buffer.byteLength=ui;if(Xi=nn,!nn){switch(oi.buffer.dtype){case Fa:case Wa:Xi=Fa;break;case da:case Xo:Xi=da;break;case Ha:case jn:Xi=Ha;break;default:}oi.buffer.dtype=Xi}oi.type=Xi;var fi=Ii;fi<0&&(fi=oi.buffer.byteLength,Xi===da?fi>>=1:Xi===Ha&&(fi>>=2)),oi.vertCount=fi;var si=yi;if(yi<0){si=ma;var mn=oi.buffer.dimension;mn===1&&(si=Ba),mn===2&&(si=ua),mn===3&&(si=ma)}oi.primType=si}function Qi(oi){Lr.elementsCount--,delete Vr[oi.id],oi.buffer.destroy(),oi.buffer=null}function ji(oi,Tr){var Zr=Ot.create(null,vo,!0),yi=new vi(Zr._buffer);Lr.elementsCount++;function Ii(ui){if(!ui)Zr(),yi.primType=ma,yi.vertCount=0,yi.type=Fa;else if(typeof ui=="number")Zr(ui),yi.primType=ma,yi.vertCount=ui|0,yi.type=Fa;else{var nn=null,Xi=Ct,qn=-1,fi=-1,si=0,mn=0;Array.isArray(ui)||qr(ui)||jr(ui)?nn=ui:("data"in ui&&(nn=ui.data),"usage"in ui&&(Xi=Hn[ui.usage]),"primitive"in ui&&(qn=Mn[ui.primitive]),"count"in ui&&(fi=ui.count|0),"type"in ui&&(mn=Nr[ui.type]),"length"in ui?si=ui.length|0:(si=fi,mn===da||mn===Xo?si*=2:(mn===Ha||mn===jn)&&(si*=4))),Vn(yi,nn,Xi,qn,fi,si,mn)}return Ii}return Ii(oi),Ii._reglType="elements",Ii._elements=yi,Ii.subdata=function(ui,nn){return Zr.subdata(ui,nn),Ii},Ii.destroy=function(){Qi(yi)},Ii}return{create:ji,createStream:qi,destroyStream:Si,getElements:function(oi){return typeof oi=="function"&&oi._elements instanceof vi?oi._elements:null},clear:function(){gt(Vr).forEach(Qi)}}}var Jr=new Float32Array(1),hi=new Uint32Array(Jr.buffer),hn=5123;function Sn(Me){for(var bt=H.allocType(hn,Me.length),Ot=0;Ot<Me.length;++Ot)if(isNaN(Me[Ot]))bt[Ot]=65535;else if(Me[Ot]===1/0)bt[Ot]=31744;else if(Me[Ot]===-1/0)bt[Ot]=64512;else{Jr[0]=Me[Ot];var Lr=hi[0],Vr=Lr>>>31<<15,Or=(Lr<<1>>>24)-127,Nr=Lr>>13&1023;if(Or<-24)bt[Ot]=Vr;else if(Or<-14){var vi=-14-Or;bt[Ot]=Vr+(Nr+1024>>vi)}else Or>15?bt[Ot]=Vr+31744:bt[Ot]=Vr+(Or+15<<10)+Nr}return bt}function En(Me){return Array.isArray(Me)||qr(Me)}var ki=34467,_n=3553,ya=34067,ea=34069,Ma=6408,_o=6406,No=6407,po=6409,Lo=6410,ko=32854,Ds=32855,Fs=36194,ll=32819,ul=32820,zl=33635,us=34042,il=6402,As=34041,cl=35904,Ks=35906,zs=36193,Io=33776,ls=33777,Yl=33778,Su=33779,nc=35986,bs=35987,Rn=34798,_a=35840,Vu=35841,ql=35842,xo=35843,Kl=36196,Ns=5121,Hl=5123,ac=5125,oa=5126,qo=10242,Oo=10243,Ol=10497,Pc=33071,Do=33648,nf=10240,Vf=10241,pl=9728,Zc=9729,Jl=9984,qs=9985,yu=9986,oc=9987,Cf=33170,sc=4352,jh=4353,Lf=4354,cs=34046,af=3317,Gf=37440,$l=37441,fl=37443,lc=37444,Fu=33984,Es=[Jl,yu,qs,oc],Hs=[0,po,Lo,No,Ma],Go={};Go[po]=Go[_o]=Go[il]=1,Go[As]=Go[Lo]=2,Go[No]=Go[cl]=3,Go[Ma]=Go[Ks]=4;function ps(Me){return"[object "+Me+"]"}var uc=ps("HTMLCanvasElement"),xl=ps("OffscreenCanvas"),Gu=ps("CanvasRenderingContext2D"),Os=ps("ImageBitmap"),od=ps("HTMLImageElement"),Po=ps("HTMLVideoElement"),sd=Object.keys(Qt).concat([uc,xl,Gu,Os,od,Po]),Ko=[];Ko[Ns]=1,Ko[oa]=4,Ko[zs]=2,Ko[Hl]=2,Ko[ac]=4;var Pa=[];Pa[ko]=2,Pa[Ds]=2,Pa[Fs]=2,Pa[As]=4,Pa[Io]=.5,Pa[ls]=.5,Pa[Yl]=1,Pa[Su]=1,Pa[nc]=.5,Pa[bs]=1,Pa[Rn]=1,Pa[_a]=.5,Pa[Vu]=.25,Pa[ql]=.5,Pa[xo]=.25,Pa[Kl]=.5;function of(Me){return Array.isArray(Me)&&(Me.length===0||typeof Me[0]=="number")}function Hu(Me){if(!Array.isArray(Me))return!1;var bt=Me.length;return!(bt===0||!En(Me[0]))}function bl(Me){return Object.prototype.toString.call(Me)}function Hf(Me){return bl(Me)===uc}function Ic(Me){return bl(Me)===xl}function yf(Me){return bl(Me)===Gu}function Bl(Me){return bl(Me)===Os}function Ah(Me){return bl(Me)===od}function Qf(Me){return bl(Me)===Po}function _f(Me){if(!Me)return!1;var bt=bl(Me);return sd.indexOf(bt)>=0?!0:of(Me)||Hu(Me)||jr(Me)}function Yc(Me){return Qt[Object.prototype.toString.call(Me)]|0}function eh(Me,bt){var Ot=bt.length;switch(Me.type){case Ns:case Hl:case ac:case oa:var Lr=H.allocType(Me.type,Ot);Lr.set(bt),Me.data=Lr;break;case zs:Me.data=Sn(bt);break;default:}}function th(Me,bt){return H.allocType(Me.type===zs?oa:Me.type,bt)}function ju(Me,bt){Me.type===zs?(Me.data=Sn(bt),H.freeType(bt)):Me.data=bt}function jf(Me,bt,Ot,Lr,Vr,Or){for(var Nr=Me.width,vi=Me.height,Ni=Me.channels,qi=Nr*vi*Ni,Si=th(Me,qi),Vn=0,Qi=0;Qi<vi;++Qi)for(var ji=0;ji<Nr;++ji)for(var oi=0;oi<Ni;++oi)Si[Vn++]=bt[Ot*ji+Lr*Qi+Vr*oi+Or];ju(Me,Si)}function cc(Me,bt,Ot,Lr,Vr,Or){var Nr;if(typeof Pa[Me]!="undefined"?Nr=Pa[Me]:Nr=Go[Me]*Ko[bt],Or&&(Nr*=6),Vr){for(var vi=0,Ni=Ot;Ni>=1;)vi+=Nr*Ni*Ni,Ni/=2;return vi}else return Nr*Ot*Lr}function sf(Me,bt,Ot,Lr,Vr,Or,Nr){var vi={"don't care":sc,"dont care":sc,nice:Lf,fast:jh},Ni={repeat:Ol,clamp:Pc,mirror:Do},qi={nearest:pl,linear:Zc},Si=e({mipmap:oc,"nearest mipmap nearest":Jl,"linear mipmap nearest":qs,"nearest mipmap linear":yu,"linear mipmap linear":oc},qi),Vn={none:0,browser:lc},Qi={uint8:Ns,rgba4:ll,rgb565:zl,"rgb5 a1":ul},ji={alpha:_o,luminance:po,"luminance alpha":Lo,rgb:No,rgba:Ma,rgba4:ko,"rgb5 a1":Ds,rgb565:Fs},oi={};bt.ext_srgb&&(ji.srgb=cl,ji.srgba=Ks),bt.oes_texture_float&&(Qi.float32=Qi.float=oa),bt.oes_texture_half_float&&(Qi.float16=Qi["half float"]=zs),bt.webgl_depth_texture&&(e(ji,{depth:il,"depth stencil":As}),e(Qi,{uint16:Hl,uint32:ac,"depth stencil":us})),bt.webgl_compressed_texture_s3tc&&e(oi,{"rgb s3tc dxt1":Io,"rgba s3tc dxt1":ls,"rgba s3tc dxt3":Yl,"rgba s3tc dxt5":Su}),bt.webgl_compressed_texture_atc&&e(oi,{"rgb atc":nc,"rgba atc explicit alpha":bs,"rgba atc interpolated alpha":Rn}),bt.webgl_compressed_texture_pvrtc&&e(oi,{"rgb pvrtc 4bppv1":_a,"rgb pvrtc 2bppv1":Vu,"rgba pvrtc 4bppv1":ql,"rgba pvrtc 2bppv1":xo}),bt.webgl_compressed_texture_etc1&&(oi["rgb etc1"]=Kl);var Tr=Array.prototype.slice.call(Me.getParameter(ki));Object.keys(oi).forEach(function(ne){var we=oi[ne];Tr.indexOf(we)>=0&&(ji[ne]=we)});var Zr=Object.keys(ji);Ot.textureFormats=Zr;var yi=[];Object.keys(ji).forEach(function(ne){var we=ji[ne];yi[we]=ne});var Ii=[];Object.keys(Qi).forEach(function(ne){var we=Qi[ne];Ii[we]=ne});var ui=[];Object.keys(qi).forEach(function(ne){var we=qi[ne];ui[we]=ne});var nn=[];Object.keys(Si).forEach(function(ne){var we=Si[ne];nn[we]=ne});var Xi=[];Object.keys(Ni).forEach(function(ne){var we=Ni[ne];Xi[we]=ne});var qn=Zr.reduce(function(ne,we){var Oe=ji[we];return Oe===po||Oe===_o||Oe===po||Oe===Lo||Oe===il||Oe===As||bt.ext_srgb&&(Oe===cl||Oe===Ks)?ne[Oe]=Oe:Oe===Ds||we.indexOf("rgba")>=0?ne[Oe]=Ma:ne[Oe]=No,ne},{});function fi(){this.internalformat=Ma,this.format=Ma,this.type=Ns,this.compressed=!1,this.premultiplyAlpha=!1,this.flipY=!1,this.unpackAlignment=1,this.colorSpace=lc,this.width=0,this.height=0,this.channels=0}function si(ne,we){ne.internalformat=we.internalformat,ne.format=we.format,ne.type=we.type,ne.compressed=we.compressed,ne.premultiplyAlpha=we.premultiplyAlpha,ne.flipY=we.flipY,ne.unpackAlignment=we.unpackAlignment,ne.colorSpace=we.colorSpace,ne.width=we.width,ne.height=we.height,ne.channels=we.channels}function mn(ne,we){if(!(typeof we!="object"||!we)){if("premultiplyAlpha"in we&&(ne.premultiplyAlpha=we.premultiplyAlpha),"flipY"in we&&(ne.flipY=we.flipY),"alignment"in we&&(ne.unpackAlignment=we.alignment),"colorSpace"in we&&(ne.colorSpace=Vn[we.colorSpace]),"type"in we){var Oe=we.type;ne.type=Qi[Oe]}var ht=ne.width,Yt=ne.height,cr=ne.channels,Nt=!1;"shape"in we?(ht=we.shape[0],Yt=we.shape[1],we.shape.length===3&&(cr=we.shape[2],Nt=!0)):("radius"in we&&(ht=Yt=we.radius),"width"in we&&(ht=we.width),"height"in we&&(Yt=we.height),"channels"in we&&(cr=we.channels,Nt=!0)),ne.width=ht|0,ne.height=Yt|0,ne.channels=cr|0;var Ne=!1;if("format"in we){var $e=we.format,st=ne.internalformat=ji[$e];ne.format=qn[st],$e in Qi&&("type"in we||(ne.type=Qi[$e])),$e in oi&&(ne.compressed=!0),Ne=!0}!Nt&&Ne?ne.channels=Go[ne.format]:Nt&&!Ne&&ne.channels!==Hs[ne.format]&&(ne.format=ne.internalformat=Hs[ne.channels])}}function Ji(ne){Me.pixelStorei(Gf,ne.flipY),Me.pixelStorei($l,ne.premultiplyAlpha),Me.pixelStorei(fl,ne.colorSpace),Me.pixelStorei(af,ne.unpackAlignment)}function Ui(){fi.call(this),this.xOffset=0,this.yOffset=0,this.data=null,this.needsFree=!1,this.element=null,this.needsCopy=!1}function Bi(ne,we){var Oe=null;if(_f(we)?Oe=we:we&&(mn(ne,we),"x"in we&&(ne.xOffset=we.x|0),"y"in we&&(ne.yOffset=we.y|0),_f(we.data)&&(Oe=we.data)),we.copy){var ht=Vr.viewportWidth,Yt=Vr.viewportHeight;ne.width=ne.width||ht-ne.xOffset,ne.height=ne.height||Yt-ne.yOffset,ne.needsCopy=!0}else if(!Oe)ne.width=ne.width||1,ne.height=ne.height||1,ne.channels=ne.channels||4;else if(qr(Oe))ne.channels=ne.channels||4,ne.data=Oe,!("type"in we)&&ne.type===Ns&&(ne.type=Yc(Oe));else if(of(Oe))ne.channels=ne.channels||4,eh(ne,Oe),ne.alignment=1,ne.needsFree=!0;else if(jr(Oe)){var cr=Oe.data;!Array.isArray(cr)&&ne.type===Ns&&(ne.type=Yc(cr));var Nt=Oe.shape,Ne=Oe.stride,$e,st,It,Bt,Ft,Ut;Nt.length===3?(It=Nt[2],Ut=Ne[2]):(It=1,Ut=1),$e=Nt[0],st=Nt[1],Bt=Ne[0],Ft=Ne[1],ne.alignment=1,ne.width=$e,ne.height=st,ne.channels=It,ne.format=ne.internalformat=Hs[It],ne.needsFree=!0,jf(ne,cr,Bt,Ft,Ut,Oe.offset)}else if(Hf(Oe)||Ic(Oe)||yf(Oe))Hf(Oe)||Ic(Oe)?ne.element=Oe:ne.element=Oe.canvas,ne.width=ne.element.width,ne.height=ne.element.height,ne.channels=4;else if(Bl(Oe))ne.element=Oe,ne.width=Oe.width,ne.height=Oe.height,ne.channels=4;else if(Ah(Oe))ne.element=Oe,ne.width=Oe.naturalWidth,ne.height=Oe.naturalHeight,ne.channels=4;else if(Qf(Oe))ne.element=Oe,ne.width=Oe.videoWidth,ne.height=Oe.videoHeight,ne.channels=4;else if(Hu(Oe)){var zt=ne.width||Oe[0].length,_t=ne.height||Oe.length,Dt=ne.channels;En(Oe[0][0])?Dt=Dt||Oe[0][0].length:Dt=Dt||1;for(var vt=Ge.shape(Oe),lr=1,_r=0;_r<vt.length;++_r)lr*=vt[_r];var Br=th(ne,lr);Ge.flatten(Oe,vt,"",Br),ju(ne,Br),ne.alignment=1,ne.width=zt,ne.height=_t,ne.channels=Dt,ne.format=ne.internalformat=Hs[Dt],ne.needsFree=!0}ne.type===oa||ne.type}function pn(ne,we,Oe){var ht=ne.element,Yt=ne.data,cr=ne.internalformat,Nt=ne.format,Ne=ne.type,$e=ne.width,st=ne.height;Ji(ne),ht?Me.texImage2D(we,Oe,Nt,Nt,Ne,ht):ne.compressed?Me.compressedTexImage2D(we,Oe,cr,$e,st,0,Yt):ne.needsCopy?(Lr(),Me.copyTexImage2D(we,Oe,Nt,ne.xOffset,ne.yOffset,$e,st,0)):Me.texImage2D(we,Oe,Nt,$e,st,0,Nt,Ne,Yt||null)}function Nn(ne,we,Oe,ht,Yt){var cr=ne.element,Nt=ne.data,Ne=ne.internalformat,$e=ne.format,st=ne.type,It=ne.width,Bt=ne.height;Ji(ne),cr?Me.texSubImage2D(we,Yt,Oe,ht,$e,st,cr):ne.compressed?Me.compressedTexSubImage2D(we,Yt,Oe,ht,Ne,It,Bt,Nt):ne.needsCopy?(Lr(),Me.copyTexSubImage2D(we,Yt,Oe,ht,ne.xOffset,ne.yOffset,It,Bt)):Me.texSubImage2D(we,Yt,Oe,ht,It,Bt,$e,st,Nt)}var aa=[];function Ki(){return aa.pop()||new Ui}function Cn(ne){ne.needsFree&&H.freeType(ne.data),Ui.call(ne),aa.push(ne)}function ia(){fi.call(this),this.genMipmaps=!1,this.mipmapHint=sc,this.mipmask=0,this.images=Array(16)}function sa(ne,we,Oe){var ht=ne.images[0]=Ki();ne.mipmask=1,ht.width=ne.width=we,ht.height=ne.height=Oe,ht.channels=ne.channels=4}function ba(ne,we){var Oe=null;if(_f(we))Oe=ne.images[0]=Ki(),si(Oe,ne),Bi(Oe,we),ne.mipmask=1;else if(mn(ne,we),Array.isArray(we.mipmap))for(var ht=we.mipmap,Yt=0;Yt<ht.length;++Yt)Oe=ne.images[Yt]=Ki(),si(Oe,ne),Oe.width>>=Yt,Oe.height>>=Yt,Bi(Oe,ht[Yt]),ne.mipmask|=1<<Yt;else Oe=ne.images[0]=Ki(),si(Oe,ne),Bi(Oe,we),ne.mipmask=1;si(ne,ne.images[0]),ne.compressed&&(ne.internalformat===Io||ne.internalformat===ls||ne.internalformat===Yl||ne.internalformat)}function is(ne,we){for(var Oe=ne.images,ht=0;ht<Oe.length;++ht){if(!Oe[ht])return;pn(Oe[ht],we,ht)}}var Zs=[];function Ga(){var ne=Zs.pop()||new ia;fi.call(ne),ne.mipmask=0;for(var we=0;we<16;++we)ne.images[we]=null;return ne}function Ml(ne){for(var we=ne.images,Oe=0;Oe<we.length;++Oe)we[Oe]&&Cn(we[Oe]),we[Oe]=null;Zs.push(ne)}function zo(){this.minFilter=pl,this.magFilter=pl,this.wrapS=Pc,this.wrapT=Pc,this.anisotropic=1,this.genMipmaps=!1,this.mipmapHint=sc}function Qs(ne,we){if("min"in we){var Oe=we.min;ne.minFilter=Si[Oe],Es.indexOf(ne.minFilter)>=0&&!("faces"in we)&&(ne.genMipmaps=!0)}if("mag"in we){var ht=we.mag;ne.magFilter=qi[ht]}var Yt=ne.wrapS,cr=ne.wrapT;if("wrap"in we){var Nt=we.wrap;typeof Nt=="string"?Yt=cr=Ni[Nt]:Array.isArray(Nt)&&(Yt=Ni[Nt[0]],cr=Ni[Nt[1]])}else{if("wrapS"in we){var Ne=we.wrapS;Yt=Ni[Ne]}if("wrapT"in we){var $e=we.wrapT;cr=Ni[$e]}}if(ne.wrapS=Yt,ne.wrapT=cr,"anisotropic"in we){var st=we.anisotropic;ne.anisotropic=we.anisotropic}if("mipmap"in we){var It=!1;switch(typeof we.mipmap){case"string":ne.mipmapHint=vi[we.mipmap],ne.genMipmaps=!0,It=!0;break;case"boolean":It=ne.genMipmaps=we.mipmap;break;case"object":ne.genMipmaps=!1,It=!0;break;default:}It&&!("min"in we)&&(ne.minFilter=Jl)}}function al(ne,we){Me.texParameteri(we,Vf,ne.minFilter),Me.texParameteri(we,nf,ne.magFilter),Me.texParameteri(we,qo,ne.wrapS),Me.texParameteri(we,Oo,ne.wrapT),bt.ext_texture_filter_anisotropic&&Me.texParameteri(we,cs,ne.anisotropic),ne.genMipmaps&&(Me.hint(Cf,ne.mipmapHint),Me.generateMipmap(we))}var Vl=0,ss={},Vs=Ot.maxTextureUnits,Ys=Array(Vs).map(function(){return null});function wa(ne){fi.call(this),this.mipmask=0,this.internalformat=Ma,this.id=Vl++,this.refCount=1,this.target=ne,this.texture=Me.createTexture(),this.unit=-1,this.bindCount=0,this.texInfo=new zo,Nr.profile&&(this.stats={size:0})}function ol(ne){Me.activeTexture(Fu),Me.bindTexture(ne.target,ne.texture)}function io(){var ne=Ys[0];ne?Me.bindTexture(ne.target,ne.texture):Me.bindTexture(_n,null)}function Y(ne){var we=ne.texture,Oe=ne.unit,ht=ne.target;Oe>=0&&(Me.activeTexture(Fu+Oe),Me.bindTexture(ht,null),Ys[Oe]=null),Me.deleteTexture(we),ne.texture=null,ne.params=null,ne.pixels=null,ne.refCount=0,delete ss[ne.id],Or.textureCount--}e(wa.prototype,{bind:function(){var ne=this;ne.bindCount+=1;var we=ne.unit;if(we<0){for(var Oe=0;Oe<Vs;++Oe){var ht=Ys[Oe];if(ht){if(ht.bindCount>0)continue;ht.unit=-1}Ys[Oe]=ne,we=Oe;break}we>=Vs,Nr.profile&&Or.maxTextureUnits<we+1&&(Or.maxTextureUnits=we+1),ne.unit=we,Me.activeTexture(Fu+we),Me.bindTexture(ne.target,ne.texture)}return we},unbind:function(){this.bindCount-=1},decRef:function(){--this.refCount<=0&&Y(this)}});function D(ne,we){var Oe=new wa(_n);ss[Oe.id]=Oe,Or.textureCount++;function ht(Nt,Ne){var $e=Oe.texInfo;zo.call($e);var st=Ga();return typeof Nt=="number"?typeof Ne=="number"?sa(st,Nt|0,Ne|0):sa(st,Nt|0,Nt|0):Nt?(Qs($e,Nt),ba(st,Nt)):sa(st,1,1),$e.genMipmaps&&(st.mipmask=(st.width<<1)-1),Oe.mipmask=st.mipmask,si(Oe,st),Oe.internalformat=st.internalformat,ht.width=st.width,ht.height=st.height,ol(Oe),is(st,_n),al($e,_n),io(),Ml(st),Nr.profile&&(Oe.stats.size=cc(Oe.internalformat,Oe.type,st.width,st.height,$e.genMipmaps,!1)),ht.format=yi[Oe.internalformat],ht.type=Ii[Oe.type],ht.mag=ui[$e.magFilter],ht.min=nn[$e.minFilter],ht.wrapS=Xi[$e.wrapS],ht.wrapT=Xi[$e.wrapT],ht}function Yt(Nt,Ne,$e,st){var It=Ne|0,Bt=$e|0,Ft=st|0,Ut=Ki();return si(Ut,Oe),Ut.width=0,Ut.height=0,Bi(Ut,Nt),Ut.width=Ut.width||(Oe.width>>Ft)-It,Ut.height=Ut.height||(Oe.height>>Ft)-Bt,ol(Oe),Nn(Ut,_n,It,Bt,Ft),io(),Cn(Ut),ht}function cr(Nt,Ne){var $e=Nt|0,st=Ne|0||$e;if($e===Oe.width&&st===Oe.height)return ht;ht.width=Oe.width=$e,ht.height=Oe.height=st,ol(Oe);for(var It=0;Oe.mipmask>>It;++It){var Bt=$e>>It,Ft=st>>It;if(!Bt||!Ft)break;Me.texImage2D(_n,It,Oe.format,Bt,Ft,0,Oe.format,Oe.type,null)}return io(),Nr.profile&&(Oe.stats.size=cc(Oe.internalformat,Oe.type,$e,st,!1,!1)),ht}return ht(ne,we),ht.subimage=Yt,ht.resize=cr,ht._reglType="texture2d",ht._texture=Oe,Nr.profile&&(ht.stats=Oe.stats),ht.destroy=function(){Oe.decRef()},ht}function J(ne,we,Oe,ht,Yt,cr){var Nt=new wa(ya);ss[Nt.id]=Nt,Or.cubeCount++;var Ne=new Array(6);function $e(Bt,Ft,Ut,zt,_t,Dt){var vt,lr=Nt.texInfo;for(zo.call(lr),vt=0;vt<6;++vt)Ne[vt]=Ga();if(typeof Bt=="number"||!Bt){var _r=Bt|0||1;for(vt=0;vt<6;++vt)sa(Ne[vt],_r,_r)}else if(typeof Bt=="object")if(Ft)ba(Ne[0],Bt),ba(Ne[1],Ft),ba(Ne[2],Ut),ba(Ne[3],zt),ba(Ne[4],_t),ba(Ne[5],Dt);else if(Qs(lr,Bt),mn(Nt,Bt),"faces"in Bt){var Br=Bt.faces;for(vt=0;vt<6;++vt)si(Ne[vt],Nt),ba(Ne[vt],Br[vt])}else for(vt=0;vt<6;++vt)ba(Ne[vt],Bt);for(si(Nt,Ne[0]),lr.genMipmaps?Nt.mipmask=(Ne[0].width<<1)-1:Nt.mipmask=Ne[0].mipmask,Nt.internalformat=Ne[0].internalformat,$e.width=Ne[0].width,$e.height=Ne[0].height,ol(Nt),vt=0;vt<6;++vt)is(Ne[vt],ea+vt);for(al(lr,ya),io(),Nr.profile&&(Nt.stats.size=cc(Nt.internalformat,Nt.type,$e.width,$e.height,lr.genMipmaps,!0)),$e.format=yi[Nt.internalformat],$e.type=Ii[Nt.type],$e.mag=ui[lr.magFilter],$e.min=nn[lr.minFilter],$e.wrapS=Xi[lr.wrapS],$e.wrapT=Xi[lr.wrapT],vt=0;vt<6;++vt)Ml(Ne[vt]);return $e}function st(Bt,Ft,Ut,zt,_t){var Dt=Ut|0,vt=zt|0,lr=_t|0,_r=Ki();return si(_r,Nt),_r.width=0,_r.height=0,Bi(_r,Ft),_r.width=_r.width||(Nt.width>>lr)-Dt,_r.height=_r.height||(Nt.height>>lr)-vt,ol(Nt),Nn(_r,ea+Bt,Dt,vt,lr),io(),Cn(_r),$e}function It(Bt){var Ft=Bt|0;if(Ft!==Nt.width){$e.width=Nt.width=Ft,$e.height=Nt.height=Ft,ol(Nt);for(var Ut=0;Ut<6;++Ut)for(var zt=0;Nt.mipmask>>zt;++zt)Me.texImage2D(ea+Ut,zt,Nt.format,Ft>>zt,Ft>>zt,0,Nt.format,Nt.type,null);return io(),Nr.profile&&(Nt.stats.size=cc(Nt.internalformat,Nt.type,$e.width,$e.height,!1,!0)),$e}}return $e(ne,we,Oe,ht,Yt,cr),$e.subimage=st,$e.resize=It,$e._reglType="textureCube",$e._texture=Nt,Nr.profile&&($e.stats=Nt.stats),$e.destroy=function(){Nt.decRef()},$e}function O(){for(var ne=0;ne<Vs;++ne)Me.activeTexture(Fu+ne),Me.bindTexture(_n,null),Ys[ne]=null;gt(ss).forEach(Y),Or.cubeCount=0,Or.textureCount=0}Nr.profile&&(Or.getTotalTextureSize=function(){var ne=0;return Object.keys(ss).forEach(function(we){ne+=ss[we].stats.size}),ne});function K(){for(var ne=0;ne<Vs;++ne){var we=Ys[ne];we&&(we.bindCount=0,we.unit=-1,Ys[ne]=null)}gt(ss).forEach(function(Oe){Oe.texture=Me.createTexture(),Me.bindTexture(Oe.target,Oe.texture);for(var ht=0;ht<32;++ht)if((Oe.mipmask&1<<ht)!==0)if(Oe.target===_n)Me.texImage2D(_n,ht,Oe.internalformat,Oe.width>>ht,Oe.height>>ht,0,Oe.internalformat,Oe.type,null);else for(var Yt=0;Yt<6;++Yt)Me.texImage2D(ea+Yt,ht,Oe.internalformat,Oe.width>>ht,Oe.height>>ht,0,Oe.internalformat,Oe.type,null);al(Oe.texInfo,Oe.target)})}function de(){for(var ne=0;ne<Vs;++ne){var we=Ys[ne];we&&(we.bindCount=0,we.unit=-1,Ys[ne]=null),Me.activeTexture(Fu+ne),Me.bindTexture(_n,null),Me.bindTexture(ya,null)}}return{create2D:D,createCube:J,clear:O,getTexture:function(ne){return null},restore:K,refresh:de}}var Nl=36161,Kc=32854,Rc=32855,gs=36194,Wf=33189,Wh=36168,rh=34041,lf=35907,Sh=34836,Mu=34842,ih=34843,js=[];js[Kc]=2,js[Rc]=2,js[gs]=2,js[Wf]=2,js[Wh]=1,js[rh]=4,js[lf]=4,js[Sh]=16,js[Mu]=8,js[ih]=6;function Eu(Me,bt,Ot){return js[Me]*bt*Ot}var Dc=function(Me,bt,Ot,Lr,Vr){var Or={rgba4:Kc,rgb565:gs,"rgb5 a1":Rc,depth:Wf,stencil:Wh,"depth stencil":rh};bt.ext_srgb&&(Or.srgba=lf),bt.ext_color_buffer_half_float&&(Or.rgba16f=Mu,Or.rgb16f=ih),bt.webgl_color_buffer_float&&(Or.rgba32f=Sh);var Nr=[];Object.keys(Or).forEach(function(ji){var oi=Or[ji];Nr[oi]=ji});var vi=0,Ni={};function qi(ji){this.id=vi++,this.refCount=1,this.renderbuffer=ji,this.format=Kc,this.width=0,this.height=0,Vr.profile&&(this.stats={size:0})}qi.prototype.decRef=function(){--this.refCount<=0&&Si(this)};function Si(ji){var oi=ji.renderbuffer;Me.bindRenderbuffer(Nl,null),Me.deleteRenderbuffer(oi),ji.renderbuffer=null,ji.refCount=0,delete Ni[ji.id],Lr.renderbufferCount--}function Vn(ji,oi){var Tr=new qi(Me.createRenderbuffer());Ni[Tr.id]=Tr,Lr.renderbufferCount++;function Zr(Ii,ui){var nn=0,Xi=0,qn=Kc;if(typeof Ii=="object"&&Ii){var fi=Ii;if("shape"in fi){var si=fi.shape;nn=si[0]|0,Xi=si[1]|0}else"radius"in fi&&(nn=Xi=fi.radius|0),"width"in fi&&(nn=fi.width|0),"height"in fi&&(Xi=fi.height|0);"format"in fi&&(qn=Or[fi.format])}else typeof Ii=="number"?(nn=Ii|0,typeof ui=="number"?Xi=ui|0:Xi=nn):Ii||(nn=Xi=1);if(!(nn===Tr.width&&Xi===Tr.height&&qn===Tr.format))return Zr.width=Tr.width=nn,Zr.height=Tr.height=Xi,Tr.format=qn,Me.bindRenderbuffer(Nl,Tr.renderbuffer),Me.renderbufferStorage(Nl,qn,nn,Xi),Vr.profile&&(Tr.stats.size=Eu(Tr.format,Tr.width,Tr.height)),Zr.format=Nr[Tr.format],Zr}function yi(Ii,ui){var nn=Ii|0,Xi=ui|0||nn;return nn===Tr.width&&Xi===Tr.height||(Zr.width=Tr.width=nn,Zr.height=Tr.height=Xi,Me.bindRenderbuffer(Nl,Tr.renderbuffer),Me.renderbufferStorage(Nl,Tr.format,nn,Xi),Vr.profile&&(Tr.stats.size=Eu(Tr.format,Tr.width,Tr.height))),Zr}return Zr(ji,oi),Zr.resize=yi,Zr._reglType="renderbuffer",Zr._renderbuffer=Tr,Vr.profile&&(Zr.stats=Tr.stats),Zr.destroy=function(){Tr.decRef()},Zr}Vr.profile&&(Lr.getTotalRenderbufferSize=function(){var ji=0;return Object.keys(Ni).forEach(function(oi){ji+=Ni[oi].stats.size}),ji});function Qi(){gt(Ni).forEach(function(ji){ji.renderbuffer=Me.createRenderbuffer(),Me.bindRenderbuffer(Nl,ji.renderbuffer),Me.renderbufferStorage(Nl,ji.format,ji.width,ji.height)}),Me.bindRenderbuffer(Nl,null)}return{create:Vn,clear:function(){gt(Ni).forEach(Si)},restore:Qi}},ks=36160,bc=36161,hu=3553,_u=34069,nl=36064,nh=36096,Mh=36128,zu=33306,Fc=36053,wc=36193,bd=5121,xf=5126,Pf=6407,qu=6408,bf=[];bf[qu]=4,bf[Pf]=3;var jl=[];jl[bd]=1,jl[xf]=4,jl[wc]=2;function uf(Me,bt,Ot,Lr,Vr,Or){var Nr={cur:null,next:null,dirty:!1,setFBO:null},vi=["rgba"],Ni=["rgba4","rgb565","rgb5 a1"];bt.ext_srgb&&Ni.push("srgba"),bt.ext_color_buffer_half_float&&Ni.push("rgba16f","rgb16f"),bt.webgl_color_buffer_float&&Ni.push("rgba32f");var qi=["uint8"];bt.oes_texture_half_float&&qi.push("half float","float16"),bt.oes_texture_float&&qi.push("float","float32");function Si(Ui,Bi,pn){this.target=Ui,this.texture=Bi,this.renderbuffer=pn;var Nn=0,aa=0;Bi?(Nn=Bi.width,aa=Bi.height):pn&&(Nn=pn.width,aa=pn.height),this.width=Nn,this.height=aa}function Vn(Ui){Ui&&(Ui.texture&&Ui.texture._texture.decRef(),Ui.renderbuffer&&Ui.renderbuffer._renderbuffer.decRef())}function Qi(Ui,Bi,pn){if(Ui)if(Ui.texture){var Nn=Ui.texture._texture,aa=Math.max(1,Nn.width),Ki=Math.max(1,Nn.height);Nn.refCount+=1}else{var Cn=Ui.renderbuffer._renderbuffer;Cn.refCount+=1}}function ji(Ui,Bi){Bi&&(Bi.texture?Me.framebufferTexture2D(ks,Ui,Bi.target,Bi.texture._texture.texture,0):Me.framebufferRenderbuffer(ks,Ui,bc,Bi.renderbuffer._renderbuffer.renderbuffer))}function oi(Ui){var Bi=hu,pn=null,Nn=null,aa=Ui;typeof Ui=="object"&&(aa=Ui.data,"target"in Ui&&(Bi=Ui.target|0));var Ki=aa._reglType;return Ki==="texture2d"||Ki==="textureCube"?pn=aa:Ki==="renderbuffer"&&(Nn=aa,Bi=bc),new Si(Bi,pn,Nn)}function Tr(Ui,Bi,pn,Nn,aa){if(pn){var Ki=Lr.create2D({width:Ui,height:Bi,format:Nn,type:aa});return Ki._texture.refCount=0,new Si(hu,Ki,null)}else{var Cn=Vr.create({width:Ui,height:Bi,format:Nn});return Cn._renderbuffer.refCount=0,new Si(bc,null,Cn)}}function Zr(Ui){return Ui&&(Ui.texture||Ui.renderbuffer)}function yi(Ui,Bi,pn){Ui&&(Ui.texture?Ui.texture.resize(Bi,pn):Ui.renderbuffer&&Ui.renderbuffer.resize(Bi,pn),Ui.width=Bi,Ui.height=pn)}var Ii=0,ui={};function nn(){this.id=Ii++,ui[this.id]=this,this.framebuffer=Me.createFramebuffer(),this.width=0,this.height=0,this.colorAttachments=[],this.depthAttachment=null,this.stencilAttachment=null,this.depthStencilAttachment=null}function Xi(Ui){Ui.colorAttachments.forEach(Vn),Vn(Ui.depthAttachment),Vn(Ui.stencilAttachment),Vn(Ui.depthStencilAttachment)}function qn(Ui){var Bi=Ui.framebuffer;Me.deleteFramebuffer(Bi),Ui.framebuffer=null,Or.framebufferCount--,delete ui[Ui.id]}function fi(Ui){var Bi;Me.bindFramebuffer(ks,Ui.framebuffer);var pn=Ui.colorAttachments;for(Bi=0;Bi<pn.length;++Bi)ji(nl+Bi,pn[Bi]);for(Bi=pn.length;Bi<Ot.maxColorAttachments;++Bi)Me.framebufferTexture2D(ks,nl+Bi,hu,null,0);Me.framebufferTexture2D(ks,zu,hu,null,0),Me.framebufferTexture2D(ks,nh,hu,null,0),Me.framebufferTexture2D(ks,Mh,hu,null,0),ji(nh,Ui.depthAttachment),ji(Mh,Ui.stencilAttachment),ji(zu,Ui.depthStencilAttachment);var Nn=Me.checkFramebufferStatus(ks);Me.isContextLost(),Me.bindFramebuffer(ks,Nr.next?Nr.next.framebuffer:null),Nr.cur=Nr.next,Me.getError()}function si(Ui,Bi){var pn=new nn;Or.framebufferCount++;function Nn(Ki,Cn){var ia,sa=0,ba=0,is=!0,Zs=!0,Ga=null,Ml=!0,zo="rgba",Qs="uint8",al=1,Vl=null,ss=null,Vs=null,Ys=!1;if(typeof Ki=="number")sa=Ki|0,ba=Cn|0||sa;else if(!Ki)sa=ba=1;else{var wa=Ki;if("shape"in wa){var ol=wa.shape;sa=ol[0],ba=ol[1]}else"radius"in wa&&(sa=ba=wa.radius),"width"in wa&&(sa=wa.width),"height"in wa&&(ba=wa.height);("color"in wa||"colors"in wa)&&(Ga=wa.color||wa.colors,Array.isArray(Ga)),Ga||("colorCount"in wa&&(al=wa.colorCount|0),"colorTexture"in wa&&(Ml=!!wa.colorTexture,zo="rgba4"),"colorType"in wa&&(Qs=wa.colorType,Ml||(Qs==="half float"||Qs==="float16"?zo="rgba16f":(Qs==="float"||Qs==="float32")&&(zo="rgba32f"))),"colorFormat"in wa&&(zo=wa.colorFormat,vi.indexOf(zo)>=0?Ml=!0:Ni.indexOf(zo)>=0&&(Ml=!1))),("depthTexture"in wa||"depthStencilTexture"in wa)&&(Ys=!!(wa.depthTexture||wa.depthStencilTexture)),"depth"in wa&&(typeof wa.depth=="boolean"?is=wa.depth:(Vl=wa.depth,Zs=!1)),"stencil"in wa&&(typeof wa.stencil=="boolean"?Zs=wa.stencil:(ss=wa.stencil,is=!1)),"depthStencil"in wa&&(typeof wa.depthStencil=="boolean"?is=Zs=wa.depthStencil:(Vs=wa.depthStencil,is=!1,Zs=!1))}var io=null,Y=null,D=null,J=null;if(Array.isArray(Ga))io=Ga.map(oi);else if(Ga)io=[oi(Ga)];else for(io=new Array(al),ia=0;ia<al;++ia)io[ia]=Tr(sa,ba,Ml,zo,Qs);sa=sa||io[0].width,ba=ba||io[0].height,Vl?Y=oi(Vl):is&&!Zs&&(Y=Tr(sa,ba,Ys,"depth","uint32")),ss?D=oi(ss):Zs&&!is&&(D=Tr(sa,ba,!1,"stencil","uint8")),Vs?J=oi(Vs):!Vl&&!ss&&Zs&&is&&(J=Tr(sa,ba,Ys,"depth stencil","depth stencil"));var O=null;for(ia=0;ia<io.length;++ia)if(Qi(io[ia],sa,ba),io[ia]&&io[ia].texture){var K=bf[io[ia].texture._texture.format]*jl[io[ia].texture._texture.type];O===null&&(O=K)}return Qi(Y,sa,ba),Qi(D,sa,ba),Qi(J,sa,ba),Xi(pn),pn.width=sa,pn.height=ba,pn.colorAttachments=io,pn.depthAttachment=Y,pn.stencilAttachment=D,pn.depthStencilAttachment=J,Nn.color=io.map(Zr),Nn.depth=Zr(Y),Nn.stencil=Zr(D),Nn.depthStencil=Zr(J),Nn.width=pn.width,Nn.height=pn.height,fi(pn),Nn}function aa(Ki,Cn){var ia=Math.max(Ki|0,1),sa=Math.max(Cn|0||ia,1);if(ia===pn.width&&sa===pn.height)return Nn;for(var ba=pn.colorAttachments,is=0;is<ba.length;++is)yi(ba[is],ia,sa);return yi(pn.depthAttachment,ia,sa),yi(pn.stencilAttachment,ia,sa),yi(pn.depthStencilAttachment,ia,sa),pn.width=Nn.width=ia,pn.height=Nn.height=sa,fi(pn),Nn}return Nn(Ui,Bi),e(Nn,{resize:aa,_reglType:"framebuffer",_framebuffer:pn,destroy:function(){qn(pn),Xi(pn)},use:function(Ki){Nr.setFBO({framebuffer:Nn},Ki)}})}function mn(Ui){var Bi=Array(6);function pn(aa){var Ki,Cn={color:null},ia=0,sa=null,ba="rgba",is="uint8",Zs=1;if(typeof aa=="number")ia=aa|0;else if(!aa)ia=1;else{var Ga=aa;if("shape"in Ga){var Ml=Ga.shape;ia=Ml[0]}else"radius"in Ga&&(ia=Ga.radius|0),"width"in Ga?(ia=Ga.width|0,"height"in Ga):"height"in Ga&&(ia=Ga.height|0);("color"in Ga||"colors"in Ga)&&(sa=Ga.color||Ga.colors,Array.isArray(sa)),sa||("colorCount"in Ga&&(Zs=Ga.colorCount|0),"colorType"in Ga&&(is=Ga.colorType),"colorFormat"in Ga&&(ba=Ga.colorFormat)),"depth"in Ga&&(Cn.depth=Ga.depth),"stencil"in Ga&&(Cn.stencil=Ga.stencil),"depthStencil"in Ga&&(Cn.depthStencil=Ga.depthStencil)}var zo;if(sa)if(Array.isArray(sa))for(zo=[],Ki=0;Ki<sa.length;++Ki)zo[Ki]=sa[Ki];else zo=[sa];else{zo=Array(Zs);var Qs={radius:ia,format:ba,type:is};for(Ki=0;Ki<Zs;++Ki)zo[Ki]=Lr.createCube(Qs)}for(Cn.color=Array(zo.length),Ki=0;Ki<zo.length;++Ki){var al=zo[Ki];ia=ia||al.width,Cn.color[Ki]={target:_u,data:zo[Ki]}}for(Ki=0;Ki<6;++Ki){for(var Vl=0;Vl<zo.length;++Vl)Cn.color[Vl].target=_u+Ki;Ki>0&&(Cn.depth=Bi[0].depth,Cn.stencil=Bi[0].stencil,Cn.depthStencil=Bi[0].depthStencil),Bi[Ki]?Bi[Ki](Cn):Bi[Ki]=si(Cn)}return e(pn,{width:ia,height:ia,color:zo})}function Nn(aa){var Ki,Cn=aa|0;if(Cn===pn.width)return pn;var ia=pn.color;for(Ki=0;Ki<ia.length;++Ki)ia[Ki].resize(Cn);for(Ki=0;Ki<6;++Ki)Bi[Ki].resize(Cn);return pn.width=pn.height=Cn,pn}return pn(Ui),e(pn,{faces:Bi,resize:Nn,_reglType:"framebufferCube",destroy:function(){Bi.forEach(function(aa){aa.destroy()})}})}function Ji(){Nr.cur=null,Nr.next=null,Nr.dirty=!0,gt(ui).forEach(function(Ui){Ui.framebuffer=Me.createFramebuffer(),fi(Ui)})}return e(Nr,{getFramebuffer:function(Ui){if(typeof Ui=="function"&&Ui._reglType==="framebuffer"){var Bi=Ui._framebuffer;if(Bi instanceof nn)return Bi}return null},create:si,createCube:mn,clear:function(){gt(ui).forEach(qn)},restore:Ji})}var Xh=5126,If=34962,Cs=34963;function du(){this.state=0,this.x=0,this.y=0,this.z=0,this.w=0,this.buffer=null,this.size=0,this.normalized=!1,this.type=Xh,this.offset=0,this.stride=0,this.divisor=0}function ku(Me,bt,Ot,Lr,Vr,Or,Nr){for(var vi=Ot.maxAttributes,Ni=new Array(vi),qi=0;qi<vi;++qi)Ni[qi]=new du;var Si=0,Vn={},Qi={Record:du,scope:{},state:Ni,currentVAO:null,targetVAO:null,restore:oi()?Xi:function(){},createVAO:qn,getVAO:Zr,destroyBuffer:ji,setVAO:oi()?yi:Ii,clear:oi()?ui:function(){}};function ji(fi){for(var si=0;si<Ni.length;++si){var mn=Ni[si];mn.buffer===fi&&(Me.disableVertexAttribArray(si),mn.buffer=null)}}function oi(){return bt.oes_vertex_array_object}function Tr(){return bt.angle_instanced_arrays}function Zr(fi){return typeof fi=="function"&&fi._vao?fi._vao:null}function yi(fi){if(fi!==Qi.currentVAO){var si=oi();fi?si.bindVertexArrayOES(fi.vao):si.bindVertexArrayOES(null),Qi.currentVAO=fi}}function Ii(fi){if(fi!==Qi.currentVAO){if(fi)fi.bindAttrs();else{for(var si=Tr(),mn=0;mn<Ni.length;++mn){var Ji=Ni[mn];Ji.buffer?(Me.enableVertexAttribArray(mn),Ji.buffer.bind(),Me.vertexAttribPointer(mn,Ji.size,Ji.type,Ji.normalized,Ji.stride,Ji.offfset),si&&Ji.divisor&&si.vertexAttribDivisorANGLE(mn,Ji.divisor)):(Me.disableVertexAttribArray(mn),Me.vertexAttrib4f(mn,Ji.x,Ji.y,Ji.z,Ji.w))}Nr.elements?Me.bindBuffer(Cs,Nr.elements.buffer.buffer):Me.bindBuffer(Cs,null)}Qi.currentVAO=fi}}function ui(){gt(Vn).forEach(function(fi){fi.destroy()})}function nn(){this.id=++Si,this.attributes=[],this.elements=null,this.ownsElements=!1,this.count=0,this.offset=0,this.instances=-1,this.primitive=4;var fi=oi();fi?this.vao=fi.createVertexArrayOES():this.vao=null,Vn[this.id]=this,this.buffers=[]}nn.prototype.bindAttrs=function(){for(var fi=Tr(),si=this.attributes,mn=0;mn<si.length;++mn){var Ji=si[mn];Ji.buffer?(Me.enableVertexAttribArray(mn),Me.bindBuffer(If,Ji.buffer.buffer),Me.vertexAttribPointer(mn,Ji.size,Ji.type,Ji.normalized,Ji.stride,Ji.offset),fi&&Ji.divisor&&fi.vertexAttribDivisorANGLE(mn,Ji.divisor)):(Me.disableVertexAttribArray(mn),Me.vertexAttrib4f(mn,Ji.x,Ji.y,Ji.z,Ji.w))}for(var Ui=si.length;Ui<vi;++Ui)Me.disableVertexAttribArray(Ui);var Bi=Or.getElements(this.elements);Bi?Me.bindBuffer(Cs,Bi.buffer.buffer):Me.bindBuffer(Cs,null)},nn.prototype.refresh=function(){var fi=oi();fi&&(fi.bindVertexArrayOES(this.vao),this.bindAttrs(),Qi.currentVAO=null,fi.bindVertexArrayOES(null))},nn.prototype.destroy=function(){if(this.vao){var fi=oi();this===Qi.currentVAO&&(Qi.currentVAO=null,fi.bindVertexArrayOES(null)),fi.deleteVertexArrayOES(this.vao),this.vao=null}this.ownsElements&&(this.elements.destroy(),this.elements=null,this.ownsElements=!1),Vn[this.id]&&(delete Vn[this.id],Lr.vaoCount-=1)};function Xi(){var fi=oi();fi&&gt(Vn).forEach(function(si){si.refresh()})}function qn(fi){var si=new nn;Lr.vaoCount+=1;function mn(Ji){var Ui;if(Array.isArray(Ji))Ui=Ji,si.elements&&si.ownsElements&&si.elements.destroy(),si.elements=null,si.ownsElements=!1,si.offset=0,si.count=0,si.instances=-1,si.primitive=4;else{if(Ji.elements){var Bi=Ji.elements;si.ownsElements?typeof Bi=="function"&&Bi._reglType==="elements"?(si.elements.destroy(),si.ownsElements=!1):(si.elements(Bi),si.ownsElements=!1):Or.getElements(Ji.elements)?(si.elements=Ji.elements,si.ownsElements=!1):(si.elements=Or.create(Ji.elements),si.ownsElements=!0)}else si.elements=null,si.ownsElements=!1;Ui=Ji.attributes,si.offset=0,si.count=-1,si.instances=-1,si.primitive=4,si.elements&&(si.count=si.elements._elements.vertCount,si.primitive=si.elements._elements.primType),"offset"in Ji&&(si.offset=Ji.offset|0),"count"in Ji&&(si.count=Ji.count|0),"instances"in Ji&&(si.instances=Ji.instances|0),"primitive"in Ji&&(si.primitive=Mn[Ji.primitive])}var pn={},Nn=si.attributes;Nn.length=Ui.length;for(var aa=0;aa<Ui.length;++aa){var Ki=Ui[aa],Cn=Nn[aa]=new du,ia=Ki.data||Ki;if(Array.isArray(ia)||qr(ia)||jr(ia)){var sa;si.buffers[aa]&&(sa=si.buffers[aa],qr(ia)&&sa._buffer.byteLength>=ia.byteLength?sa.subdata(ia):(sa.destroy(),si.buffers[aa]=null)),si.buffers[aa]||(sa=si.buffers[aa]=Vr.create(Ki,If,!1,!0)),Cn.buffer=Vr.getBuffer(sa),Cn.size=Cn.buffer.dimension|0,Cn.normalized=!1,Cn.type=Cn.buffer.dtype,Cn.offset=0,Cn.stride=0,Cn.divisor=0,Cn.state=1,pn[aa]=1}else Vr.getBuffer(Ki)?(Cn.buffer=Vr.getBuffer(Ki),Cn.size=Cn.buffer.dimension|0,Cn.normalized=!1,Cn.type=Cn.buffer.dtype,Cn.offset=0,Cn.stride=0,Cn.divisor=0,Cn.state=1):Vr.getBuffer(Ki.buffer)?(Cn.buffer=Vr.getBuffer(Ki.buffer),Cn.size=(+Ki.size||Cn.buffer.dimension)|0,Cn.normalized=!!Ki.normalized||!1,"type"in Ki?Cn.type=un[Ki.type]:Cn.type=Cn.buffer.dtype,Cn.offset=(Ki.offset||0)|0,Cn.stride=(Ki.stride||0)|0,Cn.divisor=(Ki.divisor||0)|0,Cn.state=1):"x"in Ki&&(Cn.x=+Ki.x||0,Cn.y=+Ki.y||0,Cn.z=+Ki.z||0,Cn.w=+Ki.w||0,Cn.state=2)}for(var ba=0;ba<si.buffers.length;++ba)!pn[ba]&&si.buffers[ba]&&(si.buffers[ba].destroy(),si.buffers[ba]=null);return si.refresh(),mn}return mn.destroy=function(){for(var Ji=0;Ji<si.buffers.length;++Ji)si.buffers[Ji]&&si.buffers[Ji].destroy();si.buffers.length=0,si.ownsElements&&(si.elements.destroy(),si.elements=null,si.ownsElements=!1),si.destroy()},mn._vao=si,mn._reglType="vao",mn(fi)}return Qi}var Xf=35632,Us=35633,wf=35718,zc=35721;function Wu(Me,bt,Ot,Lr){var Vr={},Or={};function Nr(Tr,Zr,yi,Ii){this.name=Tr,this.id=Zr,this.location=yi,this.info=Ii}function vi(Tr,Zr){for(var yi=0;yi<Tr.length;++yi)if(Tr[yi].id===Zr.id){Tr[yi].location=Zr.location;return}Tr.push(Zr)}function Ni(Tr,Zr,yi){var Ii=Tr===Xf?Vr:Or,ui=Ii[Zr];if(!ui){var nn=bt.str(Zr);ui=Me.createShader(Tr),Me.shaderSource(ui,nn),Me.compileShader(ui),Ii[Zr]=ui}return ui}var qi={},Si=[],Vn=0;function Qi(Tr,Zr){this.id=Vn++,this.fragId=Tr,this.vertId=Zr,this.program=null,this.uniforms=[],this.attributes=[],this.refCount=1,Lr.profile&&(this.stats={uniformsCount:0,attributesCount:0})}function ji(Tr,Zr,yi){var Ii,ui,nn=Ni(Xf,Tr.fragId),Xi=Ni(Us,Tr.vertId),qn=Tr.program=Me.createProgram();if(Me.attachShader(qn,nn),Me.attachShader(qn,Xi),yi)for(Ii=0;Ii<yi.length;++Ii){var fi=yi[Ii];Me.bindAttribLocation(qn,fi[0],fi[1])}Me.linkProgram(qn);var si=Me.getProgramParameter(qn,wf);Lr.profile&&(Tr.stats.uniformsCount=si);var mn=Tr.uniforms;for(Ii=0;Ii<si;++Ii)if(ui=Me.getActiveUniform(qn,Ii),ui)if(ui.size>1)for(var Ji=0;Ji<ui.size;++Ji){var Ui=ui.name.replace("[0]","["+Ji+"]");vi(mn,new Nr(Ui,bt.id(Ui),Me.getUniformLocation(qn,Ui),ui))}else vi(mn,new Nr(ui.name,bt.id(ui.name),Me.getUniformLocation(qn,ui.name),ui));var Bi=Me.getProgramParameter(qn,zc);Lr.profile&&(Tr.stats.attributesCount=Bi);var pn=Tr.attributes;for(Ii=0;Ii<Bi;++Ii)ui=Me.getActiveAttrib(qn,Ii),ui&&vi(pn,new Nr(ui.name,bt.id(ui.name),Me.getAttribLocation(qn,ui.name),ui))}Lr.profile&&(Ot.getMaxUniformsCount=function(){var Tr=0;return Si.forEach(function(Zr){Zr.stats.uniformsCount>Tr&&(Tr=Zr.stats.uniformsCount)}),Tr},Ot.getMaxAttributesCount=function(){var Tr=0;return Si.forEach(function(Zr){Zr.stats.attributesCount>Tr&&(Tr=Zr.stats.attributesCount)}),Tr});function oi(){Vr={},Or={};for(var Tr=0;Tr<Si.length;++Tr)ji(Si[Tr],null,Si[Tr].attributes.map(function(Zr){return[Zr.location,Zr.name]}))}return{clear:function(){var Tr=Me.deleteShader.bind(Me);gt(Vr).forEach(Tr),Vr={},gt(Or).forEach(Tr),Or={},Si.forEach(function(Zr){Me.deleteProgram(Zr.program)}),Si.length=0,qi={},Ot.shaderCount=0},program:function(Tr,Zr,yi,Ii){var ui=qi[Zr];ui||(ui=qi[Zr]={});var nn=ui[Tr];if(nn&&(nn.refCount++,!Ii))return nn;var Xi=new Qi(Zr,Tr);return Ot.shaderCount++,ji(Xi,yi,Ii),nn||(ui[Tr]=Xi),Si.push(Xi),e(Xi,{destroy:function(){if(Xi.refCount--,Xi.refCount<=0){Me.deleteProgram(Xi.program);var qn=Si.indexOf(Xi);Si.splice(qn,1),Ot.shaderCount--}ui[Xi.vertId].refCount<=0&&(Me.deleteShader(Or[Xi.vertId]),delete Or[Xi.vertId],delete qi[Xi.fragId][Xi.vertId]),Object.keys(qi[Xi.fragId]).length||(Me.deleteShader(Vr[Xi.fragId]),delete Vr[Xi.fragId],delete qi[Xi.fragId])}})},restore:oi,shader:Ni,frag:-1,vert:-1}}var Rf=6408,Xu=5121,cf=3333,Zf=5126;function Wl(Me,bt,Ot,Lr,Vr,Or,Nr){function vi(Si){var Vn;bt.next===null?Vn=Xu:Vn=bt.next.colorAttachments[0].texture._texture.type;var Qi=0,ji=0,oi=Lr.framebufferWidth,Tr=Lr.framebufferHeight,Zr=null;qr(Si)?Zr=Si:Si&&(Qi=Si.x|0,ji=Si.y|0,oi=(Si.width||Lr.framebufferWidth-Qi)|0,Tr=(Si.height||Lr.framebufferHeight-ji)|0,Zr=Si.data||null),Ot();var yi=oi*Tr*4;return Zr||(Vn===Xu?Zr=new Uint8Array(yi):Vn===Zf&&(Zr=Zr||new Float32Array(yi))),Me.pixelStorei(cf,4),Me.readPixels(Qi,ji,oi,Tr,Rf,Vn,Zr),Zr}function Ni(Si){var Vn;return bt.setFBO({framebuffer:Si.framebuffer},function(){Vn=vi(Si)}),Vn}function qi(Si){return!Si||!("framebuffer"in Si)?vi(Si):Ni(Si)}return qi}var ah=0,Zu="";function qc(Me){return vu(Tc(fc(Me)))}function Tc(Me){return kt(Yi(Bc(Me),Me.length*8))}function wl(Me,bt){var Ot=Bc(Me);Ot.length>16&&(Ot=Yi(Ot,Me.length*8));for(var Lr=Array(16),Vr=Array(16),Or=0;Or<16;Or++)Lr[Or]=Ot[Or]^909522486,Vr[Or]=Ot[Or]^1549556828;var Nr=Yi(Lr.concat(Bc(bt)),512+bt.length*8);return kt(Yi(Vr.concat(Nr),768))}function vu(Me){for(var bt=ah?"0123456789ABCDEF":"0123456789abcdef",Ot="",Lr,Vr=0;Vr<Me.length;Vr++)Lr=Me.charCodeAt(Vr),Ot+=bt.charAt(Lr>>>4&15)+bt.charAt(Lr&15);return Ot}function Oc(Me){for(var bt="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Ot="",Lr=Me.length,Vr=0;Vr<Lr;Vr+=3)for(var Or=Me.charCodeAt(Vr)<<16|(Vr+1<Lr?Me.charCodeAt(Vr+1)<<8:0)|(Vr+2<Lr?Me.charCodeAt(Vr+2):0),Nr=0;Nr<4;Nr++)Vr*8+Nr*6>Me.length*8?Ot+=Zu:Ot+=bt.charAt(Or>>>6*(3-Nr)&63);return Ot}function ff(Me,bt){var Ot=bt.length,Lr=Array(),Vr,Or,Nr,vi,Ni=Array(Math.ceil(Me.length/2));for(Vr=0;Vr<Ni.length;Vr++)Ni[Vr]=Me.charCodeAt(Vr*2)<<8|Me.charCodeAt(Vr*2+1);for(;Ni.length>0;){for(vi=Array(),Nr=0,Vr=0;Vr<Ni.length;Vr++)Nr=(Nr<<16)+Ni[Vr],Or=Math.floor(Nr/Ot),Nr-=Or*Ot,(vi.length>0||Or>0)&&(vi[vi.length]=Or);Lr[Lr.length]=Nr,Ni=vi}var qi="";for(Vr=Lr.length-1;Vr>=0;Vr--)qi+=bt.charAt(Lr[Vr]);var Si=Math.ceil(Me.length*8/(Math.log(bt.length)/Math.log(2)));for(Vr=qi.length;Vr<Si;Vr++)qi=bt[0]+qi;return qi}function fc(Me){for(var bt="",Ot=-1,Lr,Vr;++Ot<Me.length;)Lr=Me.charCodeAt(Ot),Vr=Ot+1<Me.length?Me.charCodeAt(Ot+1):0,55296<=Lr&&Lr<=56319&&56320<=Vr&&Vr<=57343&&(Lr=65536+((Lr&1023)<<10)+(Vr&1023),Ot++),Lr<=127?bt+=String.fromCharCode(Lr):Lr<=2047?bt+=String.fromCharCode(192|Lr>>>6&31,128|Lr&63):Lr<=65535?bt+=String.fromCharCode(224|Lr>>>12&15,128|Lr>>>6&63,128|Lr&63):Lr<=2097151&&(bt+=String.fromCharCode(240|Lr>>>18&7,128|Lr>>>12&63,128|Lr>>>6&63,128|Lr&63));return bt}function Bc(Me){for(var bt=Array(Me.length>>2),Ot=0;Ot<bt.length;Ot++)bt[Ot]=0;for(var Ot=0;Ot<Me.length*8;Ot+=8)bt[Ot>>5]|=(Me.charCodeAt(Ot/8)&255)<<24-Ot%32;return bt}function kt(Me){for(var bt="",Ot=0;Ot<Me.length*32;Ot+=8)bt+=String.fromCharCode(Me[Ot>>5]>>>24-Ot%32&255);return bt}function Zt(Me,bt){return Me>>>bt|Me<<32-bt}function Er(Me,bt){return Me>>>bt}function xr(Me,bt,Ot){return Me&bt^~Me&Ot}function Kr(Me,bt,Ot){return Me&bt^Me&Ot^bt&Ot}function Mi(Me){return Zt(Me,2)^Zt(Me,13)^Zt(Me,22)}function Wi(Me){return Zt(Me,6)^Zt(Me,11)^Zt(Me,25)}function dn(Me){return Zt(Me,7)^Zt(Me,18)^Er(Me,3)}function wn(Me){return Zt(Me,17)^Zt(Me,19)^Er(Me,10)}var On=new Array(1116352408,1899447441,-1245643825,-373957723,961987163,1508970993,-1841331548,-1424204075,-670586216,310598401,607225278,1426881987,1925078388,-2132889090,-1680079193,-1046744716,-459576895,-272742522,264347078,604807628,770255983,1249150122,1555081692,1996064986,-1740746414,-1473132947,-1341970488,-1084653625,-958395405,-710438585,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,-2117940946,-1838011259,-1564481375,-1474664885,-1035236496,-949202525,-778901479,-694614492,-200395387,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,-2067236844,-1933114872,-1866530822,-1538233109,-1090935817,-965641998);function Yi(Me,bt){var Ot=new Array(1779033703,-1150833019,1013904242,-1521486534,1359893119,-1694144372,528734635,1541459225),Lr=new Array(64),Vr,Or,Nr,vi,Ni,qi,Si,Vn,Qi,ji,oi,Tr;for(Me[bt>>5]|=128<<24-bt%32,Me[(bt+64>>9<<4)+15]=bt,Qi=0;Qi<Me.length;Qi+=16){for(Vr=Ot[0],Or=Ot[1],Nr=Ot[2],vi=Ot[3],Ni=Ot[4],qi=Ot[5],Si=Ot[6],Vn=Ot[7],ji=0;ji<64;ji++)ji<16?Lr[ji]=Me[ji+Qi]:Lr[ji]=$i($i($i(wn(Lr[ji-2]),Lr[ji-7]),dn(Lr[ji-15])),Lr[ji-16]),oi=$i($i($i($i(Vn,Wi(Ni)),xr(Ni,qi,Si)),On[ji]),Lr[ji]),Tr=$i(Mi(Vr),Kr(Vr,Or,Nr)),Vn=Si,Si=qi,qi=Ni,Ni=$i(vi,oi),vi=Nr,Nr=Or,Or=Vr,Vr=$i(oi,Tr);Ot[0]=$i(Vr,Ot[0]),Ot[1]=$i(Or,Ot[1]),Ot[2]=$i(Nr,Ot[2]),Ot[3]=$i(vi,Ot[3]),Ot[4]=$i(Ni,Ot[4]),Ot[5]=$i(qi,Ot[5]),Ot[6]=$i(Si,Ot[6]),Ot[7]=$i(Vn,Ot[7])}return Ot}function $i(Me,bt){var Ot=(Me&65535)+(bt&65535),Lr=(Me>>16)+(bt>>16)+(Ot>>16);return Lr<<16|Ot&65535}function an(Me){return Array.prototype.slice.call(Me)}function Fi(Me){return an(Me).join("")}function ta(Me){var bt=Me&&Me.cache,Ot=0,Lr=[],Vr=[],Or=[];function Nr(oi,Tr){var Zr=Tr&&Tr.stable;if(!Zr){for(var yi=0;yi<Vr.length;++yi)if(Vr[yi]===oi&&!Or[yi])return Lr[yi]}var Ii="g"+Ot++;return Lr.push(Ii),Vr.push(oi),Or.push(Zr),Ii}function vi(){var oi=[];function Tr(){oi.push.apply(oi,an(arguments))}var Zr=[];function yi(){var Ii="v"+Ot++;return Zr.push(Ii),arguments.length>0&&(oi.push(Ii,"="),oi.push.apply(oi,an(arguments)),oi.push(";")),Ii}return e(Tr,{def:yi,toString:function(){return Fi([Zr.length>0?"var "+Zr.join(",")+";":"",Fi(oi)])}})}function Ni(){var oi=vi(),Tr=vi(),Zr=oi.toString,yi=Tr.toString;function Ii(ui,nn){Tr(ui,nn,"=",oi.def(ui,nn),";")}return e(function(){oi.apply(oi,an(arguments))},{def:oi.def,entry:oi,exit:Tr,save:Ii,set:function(ui,nn,Xi){Ii(ui,nn),oi(ui,nn,"=",Xi,";")},toString:function(){return Zr()+yi()}})}function qi(){var oi=Fi(arguments),Tr=Ni(),Zr=Ni(),yi=Tr.toString,Ii=Zr.toString;return e(Tr,{then:function(){return Tr.apply(Tr,an(arguments)),this},else:function(){return Zr.apply(Zr,an(arguments)),this},toString:function(){var ui=Ii();return ui&&(ui="else{"+ui+"}"),Fi(["if(",oi,"){",yi(),"}",ui])}})}var Si=vi(),Vn={};function Qi(oi,Tr){var Zr=[];function yi(){var qn="a"+Zr.length;return Zr.push(qn),qn}Tr=Tr||0;for(var Ii=0;Ii<Tr;++Ii)yi();var ui=Ni(),nn=ui.toString,Xi=Vn[oi]=e(ui,{arg:yi,toString:function(){return Fi(["function(",Zr.join(),"){",nn(),"}"])}});return Xi}function ji(){var oi=['"use strict";',Si,"return {"];Object.keys(Vn).forEach(function(Ii){oi.push('"',Ii,'":',Vn[Ii].toString(),",")}),oi.push("}");var Tr=Fi(oi).replace(/;/g,`;
2632`).replace(/}/g,`}
2633`).replace(/{/g,`{
2634`),Zr;if(bt&&(Zr=qc(Tr),bt[Zr]))return bt[Zr].apply(null,Vr);var yi=Function.apply(null,Lr.concat(Tr));return bt&&(bt[Zr]=yi),yi.apply(null,Vr)}return{global:Si,link:Nr,block:vi,proc:Qi,scope:Ni,cond:qi,compile:ji}}var Ca="xyzw".split(""),Ra=5121,La=1,Ua=2,Zn=0,Dn=1,Ka=2,bo=3,Zo=4,Ss=5,as=6,ws="dither",Ho="blend.enable",ml="blend.color",Ws="blend.equation",Ls="blend.func",va="depth.enable",no="depth.func",ys="depth.range",rs="depth.mask",Ql="colorMask",Cu="cull.enable",Yu="cull.face",Nc="frontFace",pu="lineWidth",Uc="polygonOffset.enable",xu="polygonOffset.offset",Ac="sample.alpha",Va="sample.enable",oo="sample.coverage",Vc="stencil.enable",hc="stencil.mask",Ku="stencil.func",ue="stencil.opFront",w="stencil.opBack",B="scissor.enable",Q="scissor.box",ee="viewport",le="profile",Fe="framebuffer",Ze="vert",ut="frag",Mt="elements",Jt="primitive",$t="count",yr="offset",Cr="instances",ve="vao",xe="Width",Ie="Height",ze=Fe+xe,Qe=Fe+Ie,Xe=ee+xe,nt=ee+Ie,qt="drawingBuffer",Wt=qt+xe,nr=qt+Ie,fr=[Ls,Ws,Ku,ue,w,oo,ee,Q,xu],br=34962,Fr=34963,Hr=2884,ri=3042,Ci=3024,cn=2960,sn=2929,Ln=3089,Yn=32823,Aa=32926,fa=32928,$a=5126,Co=35664,Qa=35665,mo=35666,Bo=5124,Ps=35667,Ts=35668,wo=35669,To=35670,hl=35671,Ul=35672,Lu=35673,au=35674,Js=35675,eu=35676,dc=35678,Tl=35680,Al=4,X=1028,se=1029,Te=2304,qe=2305,Ve=32775,Ye=32776,Pt=519,ot=7680,Xt=0,dr=1,pr=32774,Ur=513,zr=36160,gi=36064,xi={0:0,1:1,zero:0,one:1,"src color":768,"one minus src color":769,"src alpha":770,"one minus src alpha":771,"dst color":774,"one minus dst color":775,"dst alpha":772,"one minus dst alpha":773,"constant color":32769,"one minus constant color":32770,"constant alpha":32771,"one minus constant alpha":32772,"src alpha saturate":776},Wr={never:512,less:513,"<":513,equal:514,"=":514,"==":514,"===":514,lequal:515,"<=":515,greater:516,">":516,notequal:517,"!=":517,"!==":517,gequal:518,">=":518,always:519},ii={0:0,zero:0,keep:7680,replace:7681,increment:7682,decrement:7683,"increment wrap":34055,"decrement wrap":34056,invert:5386},di={cw:Te,ccw:qe};function Li(Me){return Array.isArray(Me)||qr(Me)||jr(Me)}function Ti(Me){return Me.sort(function(bt,Ot){return bt===ee?-1:Ot===ee?1:bt<Ot?-1:1})}function Qr(Me,bt,Ot,Lr){this.thisDep=Me,this.contextDep=bt,this.propDep=Ot,this.append=Lr}function Pn(Me){return Me&&!(Me.thisDep||Me.contextDep||Me.propDep)}function kn(Me){return new Qr(!1,!1,!1,Me)}function Bn(Me,bt){var Ot=Me.type;if(Ot===Zn){var Lr=Me.data.length;return new Qr(!0,Lr>=1,Lr>=2,bt)}else if(Ot===Zo){var Vr=Me.data;return new Qr(Vr.thisDep,Vr.contextDep,Vr.propDep,bt)}else{if(Ot===Ss)return new Qr(!1,!1,!1,bt);if(Ot===as){for(var Or=!1,Nr=!1,vi=!1,Ni=0;Ni<Me.data.length;++Ni){var qi=Me.data[Ni];if(qi.type===Dn)vi=!0;else if(qi.type===Ka)Nr=!0;else if(qi.type===bo)Or=!0;else if(qi.type===Zn){Or=!0;var Si=qi.data;Si>=1&&(Nr=!0),Si>=2&&(vi=!0)}else qi.type===Zo&&(Or=Or||qi.data.thisDep,Nr=Nr||qi.data.contextDep,vi=vi||qi.data.propDep)}return new Qr(Or,Nr,vi,bt)}else return new Qr(Ot===bo,Ot===Ka,Ot===Dn,bt)}}var na=new Qr(!1,!1,!1,function(){});function Ea(Me,bt,Ot,Lr,Vr,Or,Nr,vi,Ni,qi,Si,Vn,Qi,ji,oi,Tr){var Zr=qi.Record,yi={add:32774,subtract:32778,"reverse subtract":32779};Ot.ext_blend_minmax&&(yi.min=Ve,yi.max=Ye);var Ii=Ot.angle_instanced_arrays,ui=Ot.webgl_draw_buffers,nn=Ot.oes_vertex_array_object,Xi={dirty:!0,profile:Tr.profile},qn={},fi=[],si={},mn={};function Ji(Ne){return Ne.replace(".","_")}function Ui(Ne,$e,st){var It=Ji(Ne);fi.push(Ne),qn[It]=Xi[It]=!!st,si[It]=$e}function Bi(Ne,$e,st){var It=Ji(Ne);fi.push(Ne),Array.isArray(st)?(Xi[It]=st.slice(),qn[It]=st.slice()):Xi[It]=qn[It]=st,mn[It]=$e}function pn(Ne){return!!isNaN(Ne)}Ui(ws,Ci),Ui(Ho,ri),Bi(ml,"blendColor",[0,0,0,0]),Bi(Ws,"blendEquationSeparate",[pr,pr]),Bi(Ls,"blendFuncSeparate",[dr,Xt,dr,Xt]),Ui(va,sn,!0),Bi(no,"depthFunc",Ur),Bi(ys,"depthRange",[0,1]),Bi(rs,"depthMask",!0),Bi(Ql,Ql,[!0,!0,!0,!0]),Ui(Cu,Hr),Bi(Yu,"cullFace",se),Bi(Nc,Nc,qe),Bi(pu,pu,1),Ui(Uc,Yn),Bi(xu,"polygonOffset",[0,0]),Ui(Ac,Aa),Ui(Va,fa),Bi(oo,"sampleCoverage",[1,!1]),Ui(Vc,cn),Bi(hc,"stencilMask",-1),Bi(Ku,"stencilFunc",[Pt,0,-1]),Bi(ue,"stencilOpSeparate",[X,ot,ot,ot]),Bi(w,"stencilOpSeparate",[se,ot,ot,ot]),Ui(B,Ln),Bi(Q,"scissor",[0,0,Me.drawingBufferWidth,Me.drawingBufferHeight]),Bi(ee,ee,[0,0,Me.drawingBufferWidth,Me.drawingBufferHeight]);var Nn={gl:Me,context:Qi,strings:bt,next:qn,current:Xi,draw:Vn,elements:Or,buffer:Vr,shader:Si,attributes:qi.state,vao:qi,uniforms:Ni,framebuffer:vi,extensions:Ot,timer:ji,isBufferArgs:Li},aa={primTypes:Mn,compareFuncs:Wr,blendFuncs:xi,blendEquations:yi,stencilOps:ii,glTypes:un,orientationType:di};ui&&(aa.backBuffer=[se],aa.drawBuffer=S(Lr.maxDrawbuffers,function(Ne){return Ne===0?[0]:S(Ne,function($e){return gi+$e})}));var Ki=0;function Cn(){var Ne=ta({cache:oi}),$e=Ne.link,st=Ne.global;Ne.id=Ki++,Ne.batchId="0";var It=$e(Nn),Bt=Ne.shared={props:"a0"};Object.keys(Nn).forEach(function(Dt){Bt[Dt]=st.def(It,".",Dt)});var Ft=Ne.next={},Ut=Ne.current={};Object.keys(mn).forEach(function(Dt){Array.isArray(Xi[Dt])&&(Ft[Dt]=st.def(Bt.next,".",Dt),Ut[Dt]=st.def(Bt.current,".",Dt))});var zt=Ne.constants={};Object.keys(aa).forEach(function(Dt){zt[Dt]=st.def(JSON.stringify(aa[Dt]))}),Ne.invoke=function(Dt,vt){switch(vt.type){case Zn:var lr=["this",Bt.context,Bt.props,Ne.batchId];return Dt.def($e(vt.data),".call(",lr.slice(0,Math.max(vt.data.length+1,4)),")");case Dn:return Dt.def(Bt.props,vt.data);case Ka:return Dt.def(Bt.context,vt.data);case bo:return Dt.def("this",vt.data);case Zo:return vt.data.append(Ne,Dt),vt.data.ref;case Ss:return vt.data.toString();case as:return vt.data.map(function(_r){return Ne.invoke(Dt,_r)})}},Ne.attribCache={};var _t={};return Ne.scopeAttrib=function(Dt){var vt=bt.id(Dt);if(vt in _t)return _t[vt];var lr=qi.scope[vt];lr||(lr=qi.scope[vt]=new Zr);var _r=_t[vt]=$e(lr);return _r},Ne}function ia(Ne){var $e=Ne.static,st=Ne.dynamic,It;if(le in $e){var Bt=!!$e[le];It=kn(function(Ut,zt){return Bt}),It.enable=Bt}else if(le in st){var Ft=st[le];It=Bn(Ft,function(Ut,zt){return Ut.invoke(zt,Ft)})}return It}function sa(Ne,$e){var st=Ne.static,It=Ne.dynamic;if(Fe in st){var Bt=st[Fe];return Bt?(Bt=vi.getFramebuffer(Bt),kn(function(Ut,zt){var _t=Ut.link(Bt),Dt=Ut.shared;zt.set(Dt.framebuffer,".next",_t);var vt=Dt.context;return zt.set(vt,"."+ze,_t+".width"),zt.set(vt,"."+Qe,_t+".height"),_t})):kn(function(Ut,zt){var _t=Ut.shared;zt.set(_t.framebuffer,".next","null");var Dt=_t.context;return zt.set(Dt,"."+ze,Dt+"."+Wt),zt.set(Dt,"."+Qe,Dt+"."+nr),"null"})}else if(Fe in It){var Ft=It[Fe];return Bn(Ft,function(Ut,zt){var _t=Ut.invoke(zt,Ft),Dt=Ut.shared,vt=Dt.framebuffer,lr=zt.def(vt,".getFramebuffer(",_t,")");zt.set(vt,".next",lr);var _r=Dt.context;return zt.set(_r,"."+ze,lr+"?"+lr+".width:"+_r+"."+Wt),zt.set(_r,"."+Qe,lr+"?"+lr+".height:"+_r+"."+nr),lr})}else return null}function ba(Ne,$e,st){var It=Ne.static,Bt=Ne.dynamic;function Ft(_t){if(_t in It){var Dt=It[_t],vt=!0,lr=Dt.x|0,_r=Dt.y|0,Br,Di;return"width"in Dt?Br=Dt.width|0:vt=!1,"height"in Dt?Di=Dt.height|0:vt=!1,new Qr(!vt&&$e&&$e.thisDep,!vt&&$e&&$e.contextDep,!vt&&$e&&$e.propDep,function(gn,tn){var Ei=gn.shared.context,Oi=Br;"width"in Dt||(Oi=tn.def(Ei,".",ze,"-",lr));var Gi=Di;return"height"in Dt||(Gi=tn.def(Ei,".",Qe,"-",_r)),[lr,_r,Oi,Gi]})}else if(_t in Bt){var ci=Bt[_t],bi=Bn(ci,function(gn,tn){var Ei=gn.invoke(tn,ci),Oi=gn.shared.context,Gi=tn.def(Ei,".x|0"),on=tn.def(Ei,".y|0"),zn=tn.def('"width" in ',Ei,"?",Ei,".width|0:","(",Oi,".",ze,"-",Gi,")"),Ja=tn.def('"height" in ',Ei,"?",Ei,".height|0:","(",Oi,".",Qe,"-",on,")");return[Gi,on,zn,Ja]});return $e&&(bi.thisDep=bi.thisDep||$e.thisDep,bi.contextDep=bi.contextDep||$e.contextDep,bi.propDep=bi.propDep||$e.propDep),bi}else return $e?new Qr($e.thisDep,$e.contextDep,$e.propDep,function(gn,tn){var Ei=gn.shared.context;return[0,0,tn.def(Ei,".",ze),tn.def(Ei,".",Qe)]}):null}var Ut=Ft(ee);if(Ut){var zt=Ut;Ut=new Qr(Ut.thisDep,Ut.contextDep,Ut.propDep,function(_t,Dt){var vt=zt.append(_t,Dt),lr=_t.shared.context;return Dt.set(lr,"."+Xe,vt[2]),Dt.set(lr,"."+nt,vt[3]),vt})}return{viewport:Ut,scissor_box:Ft(Q)}}function is(Ne,$e){var st=Ne.static,It=typeof st[ut]=="string"&&typeof st[Ze]=="string";if(It){if(Object.keys($e.dynamic).length>0)return null;var Bt=$e.static,Ft=Object.keys(Bt);if(Ft.length>0&&typeof Bt[Ft[0]]=="number"){for(var Ut=[],zt=0;zt<Ft.length;++zt)Ut.push([Bt[Ft[zt]]|0,Ft[zt]]);return Ut}}return null}function Zs(Ne,$e,st){var It=Ne.static,Bt=Ne.dynamic;function Ft(vt){if(vt in It){var lr=bt.id(It[vt]),_r=kn(function(){return lr});return _r.id=lr,_r}else if(vt in Bt){var Br=Bt[vt];return Bn(Br,function(Di,ci){var bi=Di.invoke(ci,Br),gn=ci.def(Di.shared.strings,".id(",bi,")");return gn})}return null}var Ut=Ft(ut),zt=Ft(Ze),_t=null,Dt;return Pn(Ut)&&Pn(zt)?(_t=Si.program(zt.id,Ut.id,null,st),Dt=kn(function(vt,lr){return vt.link(_t)})):Dt=new Qr(Ut&&Ut.thisDep||zt&&zt.thisDep,Ut&&Ut.contextDep||zt&&zt.contextDep,Ut&&Ut.propDep||zt&&zt.propDep,function(vt,lr){var _r=vt.shared.shader,Br;Ut?Br=Ut.append(vt,lr):Br=lr.def(_r,".",ut);var Di;zt?Di=zt.append(vt,lr):Di=lr.def(_r,".",Ze);var ci=_r+".program("+Di+","+Br;return lr.def(ci+")")}),{frag:Ut,vert:zt,progVar:Dt,program:_t}}function Ga(Ne,$e){var st=Ne.static,It=Ne.dynamic,Bt={},Ft=!1;function Ut(){if(ve in st){var tn=st[ve];return tn!==null&&qi.getVAO(tn)===null&&(tn=qi.createVAO(tn)),Ft=!0,Bt.vao=tn,kn(function(Oi){var Gi=qi.getVAO(tn);return Gi?Oi.link(Gi):"null"})}else if(ve in It){Ft=!0;var Ei=It[ve];return Bn(Ei,function(Oi,Gi){var on=Oi.invoke(Gi,Ei);return Gi.def(Oi.shared.vao+".getVAO("+on+")")})}return null}var zt=Ut(),_t=!1;function Dt(){if(Mt in st){var tn=st[Mt];if(Bt.elements=tn,Li(tn)){var Ei=Bt.elements=Or.create(tn,!0);tn=Or.getElements(Ei),_t=!0}else tn&&(tn=Or.getElements(tn),_t=!0);var Oi=kn(function(on,zn){if(tn){var Ja=on.link(tn);return on.ELEMENTS=Ja,Ja}return on.ELEMENTS=null,null});return Oi.value=tn,Oi}else if(Mt in It){_t=!0;var Gi=It[Mt];return Bn(Gi,function(on,zn){var Ja=on.shared,co=Ja.isBufferArgs,ts=Ja.elements,so=on.invoke(zn,Gi),Yo=zn.def("null"),ms=zn.def(co,"(",so,")"),ou=on.cond(ms).then(Yo,"=",ts,".createStream(",so,");").else(Yo,"=",ts,".getElements(",so,");");return zn.entry(ou),zn.exit(on.cond(ms).then(ts,".destroyStream(",Yo,");")),on.ELEMENTS=Yo,Yo})}else if(Ft)return new Qr(zt.thisDep,zt.contextDep,zt.propDep,function(on,zn){return zn.def(on.shared.vao+".currentVAO?"+on.shared.elements+".getElements("+on.shared.vao+".currentVAO.elements):null")});return null}var vt=Dt();function lr(){if(Jt in st){var tn=st[Jt];return Bt.primitive=tn,kn(function(Oi,Gi){return Mn[tn]})}else if(Jt in It){var Ei=It[Jt];return Bn(Ei,function(Oi,Gi){var on=Oi.constants.primTypes,zn=Oi.invoke(Gi,Ei);return Gi.def(on,"[",zn,"]")})}else{if(_t)return Pn(vt)?vt.value?kn(function(Oi,Gi){return Gi.def(Oi.ELEMENTS,".primType")}):kn(function(){return Al}):new Qr(vt.thisDep,vt.contextDep,vt.propDep,function(Oi,Gi){var on=Oi.ELEMENTS;return Gi.def(on,"?",on,".primType:",Al)});if(Ft)return new Qr(zt.thisDep,zt.contextDep,zt.propDep,function(Oi,Gi){return Gi.def(Oi.shared.vao+".currentVAO?"+Oi.shared.vao+".currentVAO.primitive:"+Al)})}return null}function _r(tn,Ei){if(tn in st){var Oi=st[tn]|0;return Ei?Bt.offset=Oi:Bt.instances=Oi,kn(function(on,zn){return Ei&&(on.OFFSET=Oi),Oi})}else if(tn in It){var Gi=It[tn];return Bn(Gi,function(on,zn){var Ja=on.invoke(zn,Gi);return Ei&&(on.OFFSET=Ja),Ja})}else if(Ei){if(_t)return kn(function(on,zn){return on.OFFSET=0,0});if(Ft)return new Qr(zt.thisDep,zt.contextDep,zt.propDep,function(on,zn){return zn.def(on.shared.vao+".currentVAO?"+on.shared.vao+".currentVAO.offset:0")})}else if(Ft)return new Qr(zt.thisDep,zt.contextDep,zt.propDep,function(on,zn){return zn.def(on.shared.vao+".currentVAO?"+on.shared.vao+".currentVAO.instances:-1")});return null}var Br=_r(yr,!0);function Di(){if($t in st){var tn=st[$t]|0;return Bt.count=tn,kn(function(){return tn})}else if($t in It){var Ei=It[$t];return Bn(Ei,function(zn,Ja){var co=zn.invoke(Ja,Ei);return co})}else if(_t)if(Pn(vt)){if(vt)return Br?new Qr(Br.thisDep,Br.contextDep,Br.propDep,function(zn,Ja){var co=Ja.def(zn.ELEMENTS,".vertCount-",zn.OFFSET);return co}):kn(function(zn,Ja){return Ja.def(zn.ELEMENTS,".vertCount")});var Oi=kn(function(){return-1});return Oi}else{var Gi=new Qr(vt.thisDep||Br.thisDep,vt.contextDep||Br.contextDep,vt.propDep||Br.propDep,function(zn,Ja){var co=zn.ELEMENTS;return zn.OFFSET?Ja.def(co,"?",co,".vertCount-",zn.OFFSET,":-1"):Ja.def(co,"?",co,".vertCount:-1")});return Gi}else if(Ft){var on=new Qr(zt.thisDep,zt.contextDep,zt.propDep,function(zn,Ja){return Ja.def(zn.shared.vao,".currentVAO?",zn.shared.vao,".currentVAO.count:-1")});return on}return null}var ci=lr(),bi=Di(),gn=_r(Cr,!1);return{elements:vt,primitive:ci,count:bi,instances:gn,offset:Br,vao:zt,vaoActive:Ft,elementsActive:_t,static:Bt}}function Ml(Ne,$e){var st=Ne.static,It=Ne.dynamic,Bt={};return fi.forEach(function(Ft){var Ut=Ji(Ft);function zt(_t,Dt){if(Ft in st){var vt=_t(st[Ft]);Bt[Ut]=kn(function(){return vt})}else if(Ft in It){var lr=It[Ft];Bt[Ut]=Bn(lr,function(_r,Br){return Dt(_r,Br,_r.invoke(Br,lr))})}}switch(Ft){case Cu:case Ho:case ws:case Vc:case va:case B:case Uc:case Ac:case Va:case rs:return zt(function(_t){return _t},function(_t,Dt,vt){return vt});case no:return zt(function(_t){return Wr[_t]},function(_t,Dt,vt){var lr=_t.constants.compareFuncs;return Dt.def(lr,"[",vt,"]")});case ys:return zt(function(_t){return _t},function(_t,Dt,vt){var lr=Dt.def("+",vt,"[0]"),_r=Dt.def("+",vt,"[1]");return[lr,_r]});case Ls:return zt(function(_t){var Dt="srcRGB"in _t?_t.srcRGB:_t.src,vt="srcAlpha"in _t?_t.srcAlpha:_t.src,lr="dstRGB"in _t?_t.dstRGB:_t.dst,_r="dstAlpha"in _t?_t.dstAlpha:_t.dst;return[xi[Dt],xi[lr],xi[vt],xi[_r]]},function(_t,Dt,vt){var lr=_t.constants.blendFuncs;function _r(Ei,Oi){var Gi=Dt.def('"',Ei,Oi,'" in ',vt,"?",vt,".",Ei,Oi,":",vt,".",Ei);return Gi}var Br=_r("src","RGB"),Di=_r("dst","RGB"),ci=Dt.def(lr,"[",Br,"]"),bi=Dt.def(lr,"[",_r("src","Alpha"),"]"),gn=Dt.def(lr,"[",Di,"]"),tn=Dt.def(lr,"[",_r("dst","Alpha"),"]");return[ci,gn,bi,tn]});case Ws:return zt(function(_t){if(typeof _t=="string")return[yi[_t],yi[_t]];if(typeof _t=="object")return[yi[_t.rgb],yi[_t.alpha]]},function(_t,Dt,vt){var lr=_t.constants.blendEquations,_r=Dt.def(),Br=Dt.def(),Di=_t.cond("typeof ",vt,'==="string"');return Di.then(_r,"=",Br,"=",lr,"[",vt,"];"),Di.else(_r,"=",lr,"[",vt,".rgb];",Br,"=",lr,"[",vt,".alpha];"),Dt(Di),[_r,Br]});case ml:return zt(function(_t){return S(4,function(Dt){return+_t[Dt]})},function(_t,Dt,vt){return S(4,function(lr){return Dt.def("+",vt,"[",lr,"]")})});case hc:return zt(function(_t){return _t|0},function(_t,Dt,vt){return Dt.def(vt,"|0")});case Ku:return zt(function(_t){var Dt=_t.cmp||"keep",vt=_t.ref||0,lr="mask"in _t?_t.mask:-1;return[Wr[Dt],vt,lr]},function(_t,Dt,vt){var lr=_t.constants.compareFuncs,_r=Dt.def('"cmp" in ',vt,"?",lr,"[",vt,".cmp]",":",ot),Br=Dt.def(vt,".ref|0"),Di=Dt.def('"mask" in ',vt,"?",vt,".mask|0:-1");return[_r,Br,Di]});case ue:case w:return zt(function(_t){var Dt=_t.fail||"keep",vt=_t.zfail||"keep",lr=_t.zpass||"keep";return[Ft===w?se:X,ii[Dt],ii[vt],ii[lr]]},function(_t,Dt,vt){var lr=_t.constants.stencilOps;function _r(Br){return Dt.def('"',Br,'" in ',vt,"?",lr,"[",vt,".",Br,"]:",ot)}return[Ft===w?se:X,_r("fail"),_r("zfail"),_r("zpass")]});case xu:return zt(function(_t){var Dt=_t.factor|0,vt=_t.units|0;return[Dt,vt]},function(_t,Dt,vt){var lr=Dt.def(vt,".factor|0"),_r=Dt.def(vt,".units|0");return[lr,_r]});case Yu:return zt(function(_t){var Dt=0;return _t==="front"?Dt=X:_t==="back"&&(Dt=se),Dt},function(_t,Dt,vt){return Dt.def(vt,'==="front"?',X,":",se)});case pu:return zt(function(_t){return _t},function(_t,Dt,vt){return vt});case Nc:return zt(function(_t){return di[_t]},function(_t,Dt,vt){return Dt.def(vt+'==="cw"?'+Te+":"+qe)});case Ql:return zt(function(_t){return _t.map(function(Dt){return!!Dt})},function(_t,Dt,vt){return S(4,function(lr){return"!!"+vt+"["+lr+"]"})});case oo:return zt(function(_t){var Dt="value"in _t?_t.value:1,vt=!!_t.invert;return[Dt,vt]},function(_t,Dt,vt){var lr=Dt.def('"value" in ',vt,"?+",vt,".value:1"),_r=Dt.def("!!",vt,".invert");return[lr,_r]})}}),Bt}function zo(Ne,$e){var st=Ne.static,It=Ne.dynamic,Bt={};return Object.keys(st).forEach(function(Ft){var Ut=st[Ft],zt;if(typeof Ut=="number"||typeof Ut=="boolean")zt=kn(function(){return Ut});else if(typeof Ut=="function"){var _t=Ut._reglType;_t==="texture2d"||_t==="textureCube"?zt=kn(function(Dt){return Dt.link(Ut)}):(_t==="framebuffer"||_t==="framebufferCube")&&(zt=kn(function(Dt){return Dt.link(Ut.color[0])}))}else En(Ut)&&(zt=kn(function(Dt){var vt=Dt.global.def("[",S(Ut.length,function(lr){return Ut[lr]}),"]");return vt}));zt.value=Ut,Bt[Ft]=zt}),Object.keys(It).forEach(function(Ft){var Ut=It[Ft];Bt[Ft]=Bn(Ut,function(zt,_t){return zt.invoke(_t,Ut)})}),Bt}function Qs(Ne,$e){var st=Ne.static,It=Ne.dynamic,Bt={};return Object.keys(st).forEach(function(Ft){var Ut=st[Ft],zt=bt.id(Ft),_t=new Zr;if(Li(Ut))_t.state=La,_t.buffer=Vr.getBuffer(Vr.create(Ut,br,!1,!0)),_t.type=0;else{var Dt=Vr.getBuffer(Ut);if(Dt)_t.state=La,_t.buffer=Dt,_t.type=0;else if("constant"in Ut){var vt=Ut.constant;_t.buffer="null",_t.state=Ua,typeof vt=="number"?_t.x=vt:Ca.forEach(function(gn,tn){tn<vt.length&&(_t[gn]=vt[tn])})}else{Li(Ut.buffer)?Dt=Vr.getBuffer(Vr.create(Ut.buffer,br,!1,!0)):Dt=Vr.getBuffer(Ut.buffer);var lr=Ut.offset|0,_r=Ut.stride|0,Br=Ut.size|0,Di=!!Ut.normalized,ci=0;"type"in Ut&&(ci=un[Ut.type]);var bi=Ut.divisor|0;_t.buffer=Dt,_t.state=La,_t.size=Br,_t.normalized=Di,_t.type=ci||Dt.dtype,_t.offset=lr,_t.stride=_r,_t.divisor=bi}}Bt[Ft]=kn(function(gn,tn){var Ei=gn.attribCache;if(zt in Ei)return Ei[zt];var Oi={isStream:!1};return Object.keys(_t).forEach(function(Gi){Oi[Gi]=_t[Gi]}),_t.buffer&&(Oi.buffer=gn.link(_t.buffer),Oi.type=Oi.type||Oi.buffer+".dtype"),Ei[zt]=Oi,Oi})}),Object.keys(It).forEach(function(Ft){var Ut=It[Ft];function zt(_t,Dt){var vt=_t.invoke(Dt,Ut),lr=_t.shared,_r=_t.constants,Br=lr.isBufferArgs,Di=lr.buffer,ci={isStream:Dt.def(!1)},bi=new Zr;bi.state=La,Object.keys(bi).forEach(function(Oi){ci[Oi]=Dt.def(""+bi[Oi])});var gn=ci.buffer,tn=ci.type;Dt("if(",Br,"(",vt,")){",ci.isStream,"=true;",gn,"=",Di,".createStream(",br,",",vt,");",tn,"=",gn,".dtype;","}else{",gn,"=",Di,".getBuffer(",vt,");","if(",gn,"){",tn,"=",gn,".dtype;",'}else if("constant" in ',vt,"){",ci.state,"=",Ua,";","if(typeof "+vt+'.constant === "number"){',ci[Ca[0]],"=",vt,".constant;",Ca.slice(1).map(function(Oi){return ci[Oi]}).join("="),"=0;","}else{",Ca.map(function(Oi,Gi){return ci[Oi]+"="+vt+".constant.length>"+Gi+"?"+vt+".constant["+Gi+"]:0;"}).join(""),"}}else{","if(",Br,"(",vt,".buffer)){",gn,"=",Di,".createStream(",br,",",vt,".buffer);","}else{",gn,"=",Di,".getBuffer(",vt,".buffer);","}",tn,'="type" in ',vt,"?",_r.glTypes,"[",vt,".type]:",gn,".dtype;",ci.normalized,"=!!",vt,".normalized;");function Ei(Oi){Dt(ci[Oi],"=",vt,".",Oi,"|0;")}return Ei("size"),Ei("offset"),Ei("stride"),Ei("divisor"),Dt("}}"),Dt.exit("if(",ci.isStream,"){",Di,".destroyStream(",gn,");","}"),ci}Bt[Ft]=Bn(Ut,zt)}),Bt}function al(Ne){var $e=Ne.static,st=Ne.dynamic,It={};return Object.keys($e).forEach(function(Bt){var Ft=$e[Bt];It[Bt]=kn(function(Ut,zt){return typeof Ft=="number"||typeof Ft=="boolean"?""+Ft:Ut.link(Ft)})}),Object.keys(st).forEach(function(Bt){var Ft=st[Bt];It[Bt]=Bn(Ft,function(Ut,zt){return Ut.invoke(zt,Ft)})}),It}function Vl(Ne,$e,st,It,Bt){var Ft=Ne.static,Ut=Ne.dynamic,zt=is(Ne,$e),_t=sa(Ne,Bt),Dt=ba(Ne,_t,Bt),vt=Ga(Ne,Bt),lr=Ml(Ne,Bt),_r=Zs(Ne,Bt,zt);function Br(Ei){var Oi=Dt[Ei];Oi&&(lr[Ei]=Oi)}Br(ee),Br(Ji(Q));var Di=Object.keys(lr).length>0,ci={framebuffer:_t,draw:vt,shader:_r,state:lr,dirty:Di,scopeVAO:null,drawVAO:null,useVAO:!1,attributes:{}};if(ci.profile=ia(Ne,Bt),ci.uniforms=zo(st,Bt),ci.drawVAO=ci.scopeVAO=vt.vao,!ci.drawVAO&&_r.program&&!zt&&Ot.angle_instanced_arrays&&vt.static.elements){var bi=!0,gn=_r.program.attributes.map(function(Ei){var Oi=$e.static[Ei];return bi=bi&&!!Oi,Oi});if(bi&&gn.length>0){var tn=qi.getVAO(qi.createVAO({attributes:gn,elements:vt.static.elements}));ci.drawVAO=new Qr(null,null,null,function(Ei,Oi){return Ei.link(tn)}),ci.useVAO=!0}}return zt?ci.useVAO=!0:ci.attributes=Qs($e,Bt),ci.context=al(It,Bt),ci}function ss(Ne,$e,st){var It=Ne.shared,Bt=It.context,Ft=Ne.scope();Object.keys(st).forEach(function(Ut){$e.save(Bt,"."+Ut);var zt=st[Ut],_t=zt.append(Ne,$e);Array.isArray(_t)?Ft(Bt,".",Ut,"=[",_t.join(),"];"):Ft(Bt,".",Ut,"=",_t,";")}),$e(Ft)}function Vs(Ne,$e,st,It){var Bt=Ne.shared,Ft=Bt.gl,Ut=Bt.framebuffer,zt;ui&&(zt=$e.def(Bt.extensions,".webgl_draw_buffers"));var _t=Ne.constants,Dt=_t.drawBuffer,vt=_t.backBuffer,lr;st?lr=st.append(Ne,$e):lr=$e.def(Ut,".next"),It||$e("if(",lr,"!==",Ut,".cur){"),$e("if(",lr,"){",Ft,".bindFramebuffer(",zr,",",lr,".framebuffer);"),ui&&$e(zt,".drawBuffersWEBGL(",Dt,"[",lr,".colorAttachments.length]);"),$e("}else{",Ft,".bindFramebuffer(",zr,",null);"),ui&&$e(zt,".drawBuffersWEBGL(",vt,");"),$e("}",Ut,".cur=",lr,";"),It||$e("}")}function Ys(Ne,$e,st){var It=Ne.shared,Bt=It.gl,Ft=Ne.current,Ut=Ne.next,zt=It.current,_t=It.next,Dt=Ne.cond(zt,".dirty");fi.forEach(function(vt){var lr=Ji(vt);if(!(lr in st.state)){var _r,Br;if(lr in Ut){_r=Ut[lr],Br=Ft[lr];var Di=S(Xi[lr].length,function(bi){return Dt.def(_r,"[",bi,"]")});Dt(Ne.cond(Di.map(function(bi,gn){return bi+"!=="+Br+"["+gn+"]"}).join("||")).then(Bt,".",mn[lr],"(",Di,");",Di.map(function(bi,gn){return Br+"["+gn+"]="+bi}).join(";"),";"))}else{_r=Dt.def(_t,".",lr);var ci=Ne.cond(_r,"!==",zt,".",lr);Dt(ci),lr in si?ci(Ne.cond(_r).then(Bt,".enable(",si[lr],");").else(Bt,".disable(",si[lr],");"),zt,".",lr,"=",_r,";"):ci(Bt,".",mn[lr],"(",_r,");",zt,".",lr,"=",_r,";")}}}),Object.keys(st.state).length===0&&Dt(zt,".dirty=false;"),$e(Dt)}function wa(Ne,$e,st,It){var Bt=Ne.shared,Ft=Ne.current,Ut=Bt.current,zt=Bt.gl,_t;Ti(Object.keys(st)).forEach(function(Dt){var vt=st[Dt];if(!(It&&!It(vt))){var lr=vt.append(Ne,$e);if(si[Dt]){var _r=si[Dt];Pn(vt)?(_t=Ne.link(lr,{stable:!0}),$e(Ne.cond(_t).then(zt,".enable(",_r,");").else(zt,".disable(",_r,");")),$e(Ut,".",Dt,"=",_t,";")):($e(Ne.cond(lr).then(zt,".enable(",_r,");").else(zt,".disable(",_r,");")),$e(Ut,".",Dt,"=",lr,";"))}else if(En(lr)){var Br=Ft[Dt];$e(zt,".",mn[Dt],"(",lr,");",lr.map(function(Di,ci){return Br+"["+ci+"]="+Di}).join(";"),";")}else Pn(vt)?(_t=Ne.link(lr,{stable:!0}),$e(zt,".",mn[Dt],"(",_t,");",Ut,".",Dt,"=",_t,";")):$e(zt,".",mn[Dt],"(",lr,");",Ut,".",Dt,"=",lr,";")}})}function ol(Ne,$e){Ii&&(Ne.instancing=$e.def(Ne.shared.extensions,".angle_instanced_arrays"))}function io(Ne,$e,st,It,Bt){var Ft=Ne.shared,Ut=Ne.stats,zt=Ft.current,_t=Ft.timer,Dt=st.profile;function vt(){return typeof performance=="undefined"?"Date.now()":"performance.now()"}var lr,_r;function Br(Ei){lr=$e.def(),Ei(lr,"=",vt(),";"),typeof Bt=="string"?Ei(Ut,".count+=",Bt,";"):Ei(Ut,".count++;"),ji&&(It?(_r=$e.def(),Ei(_r,"=",_t,".getNumPendingQueries();")):Ei(_t,".beginQuery(",Ut,");"))}function Di(Ei){Ei(Ut,".cpuTime+=",vt(),"-",lr,";"),ji&&(It?Ei(_t,".pushScopeStats(",_r,",",_t,".getNumPendingQueries(),",Ut,");"):Ei(_t,".endQuery();"))}function ci(Ei){var Oi=$e.def(zt,".profile");$e(zt,".profile=",Ei,";"),$e.exit(zt,".profile=",Oi,";")}var bi;if(Dt){if(Pn(Dt)){Dt.enable?(Br($e),Di($e.exit),ci("true")):ci("false");return}bi=Dt.append(Ne,$e),ci(bi)}else bi=$e.def(zt,".profile");var gn=Ne.block();Br(gn),$e("if(",bi,"){",gn,"}");var tn=Ne.block();Di(tn),$e.exit("if(",bi,"){",tn,"}")}function Y(Ne,$e,st,It,Bt){var Ft=Ne.shared;function Ut(_t){switch(_t){case Co:case Ps:case hl:return 2;case Qa:case Ts:case Ul:return 3;case mo:case wo:case Lu:return 4;default:return 1}}function zt(_t,Dt,vt){var lr=Ft.gl,_r=$e.def(_t,".location"),Br=$e.def(Ft.attributes,"[",_r,"]"),Di=vt.state,ci=vt.buffer,bi=[vt.x,vt.y,vt.z,vt.w],gn=["buffer","normalized","offset","stride"];function tn(){$e("if(!",Br,".buffer){",lr,".enableVertexAttribArray(",_r,");}");var Oi=vt.type,Gi;if(vt.size?Gi=$e.def(vt.size,"||",Dt):Gi=Dt,$e("if(",Br,".type!==",Oi,"||",Br,".size!==",Gi,"||",gn.map(function(zn){return Br+"."+zn+"!=="+vt[zn]}).join("||"),"){",lr,".bindBuffer(",br,",",ci,".buffer);",lr,".vertexAttribPointer(",[_r,Gi,Oi,vt.normalized,vt.stride,vt.offset],");",Br,".type=",Oi,";",Br,".size=",Gi,";",gn.map(function(zn){return Br+"."+zn+"="+vt[zn]+";"}).join(""),"}"),Ii){var on=vt.divisor;$e("if(",Br,".divisor!==",on,"){",Ne.instancing,".vertexAttribDivisorANGLE(",[_r,on],");",Br,".divisor=",on,";}")}}function Ei(){$e("if(",Br,".buffer){",lr,".disableVertexAttribArray(",_r,");",Br,".buffer=null;","}if(",Ca.map(function(Oi,Gi){return Br+"."+Oi+"!=="+bi[Gi]}).join("||"),"){",lr,".vertexAttrib4f(",_r,",",bi,");",Ca.map(function(Oi,Gi){return Br+"."+Oi+"="+bi[Gi]+";"}).join(""),"}")}Di===La?tn():Di===Ua?Ei():($e("if(",Di,"===",La,"){"),tn(),$e("}else{"),Ei(),$e("}"))}It.forEach(function(_t){var Dt=_t.name,vt=st.attributes[Dt],lr;if(vt){if(!Bt(vt))return;lr=vt.append(Ne,$e)}else{if(!Bt(na))return;var _r=Ne.scopeAttrib(Dt);lr={},Object.keys(new Zr).forEach(function(Br){lr[Br]=$e.def(_r,".",Br)})}zt(Ne.link(_t),Ut(_t.info.type),lr)})}function D(Ne,$e,st,It,Bt,Ft){for(var Ut=Ne.shared,zt=Ut.gl,_t,Dt=0;Dt<It.length;++Dt){var vt=It[Dt],lr=vt.name,_r=vt.info.type,Br=st.uniforms[lr],Di=Ne.link(vt),ci=Di+".location",bi;if(Br){if(!Bt(Br))continue;if(Pn(Br)){var gn=Br.value;if(_r===dc||_r===Tl){var tn=Ne.link(gn._texture||gn.color[0]._texture);$e(zt,".uniform1i(",ci,",",tn+".bind());"),$e.exit(tn,".unbind();")}else if(_r===au||_r===Js||_r===eu){var Ei=Ne.global.def("new Float32Array(["+Array.prototype.slice.call(gn)+"])"),Oi=2;_r===Js?Oi=3:_r===eu&&(Oi=4),$e(zt,".uniformMatrix",Oi,"fv(",ci,",false,",Ei,");")}else{switch(_r){case $a:_t="1f";break;case Co:_t="2f";break;case Qa:_t="3f";break;case mo:_t="4f";break;case To:_t="1i";break;case Bo:_t="1i";break;case hl:_t="2i";break;case Ps:_t="2i";break;case Ul:_t="3i";break;case Ts:_t="3i";break;case Lu:_t="4i";break;case wo:_t="4i";break}$e(zt,".uniform",_t,"(",ci,",",En(gn)?Array.prototype.slice.call(gn):gn,");")}continue}else bi=Br.append(Ne,$e)}else{if(!Bt(na))continue;bi=$e.def(Ut.uniforms,"[",bt.id(lr),"]")}_r===dc?$e("if(",bi,"&&",bi,'._reglType==="framebuffer"){',bi,"=",bi,".color[0];","}"):_r===Tl&&$e("if(",bi,"&&",bi,'._reglType==="framebufferCube"){',bi,"=",bi,".color[0];","}");var Gi=1;switch(_r){case dc:case Tl:var on=$e.def(bi,"._texture");$e(zt,".uniform1i(",ci,",",on,".bind());"),$e.exit(on,".unbind();");continue;case Bo:case To:_t="1i";break;case Ps:case hl:_t="2i",Gi=2;break;case Ts:case Ul:_t="3i",Gi=3;break;case wo:case Lu:_t="4i",Gi=4;break;case $a:_t="1f";break;case Co:_t="2f",Gi=2;break;case Qa:_t="3f",Gi=3;break;case mo:_t="4f",Gi=4;break;case au:_t="Matrix2fv";break;case Js:_t="Matrix3fv";break;case eu:_t="Matrix4fv";break}if(_t.charAt(0)==="M"){$e(zt,".uniform",_t,"(",ci,",");var zn=Math.pow(_r-au+2,2),Ja=Ne.global.def("new Float32Array(",zn,")");Array.isArray(bi)?$e("false,(",S(zn,function(ms){return Ja+"["+ms+"]="+bi[ms]}),",",Ja,")"):$e("false,(Array.isArray(",bi,")||",bi," instanceof Float32Array)?",bi,":(",S(zn,function(ms){return Ja+"["+ms+"]="+bi+"["+ms+"]"}),",",Ja,")"),$e(");")}else if(Gi>1){for(var co=[],ts=[],so=0;so<Gi;++so)Array.isArray(bi)?ts.push(bi[so]):ts.push($e.def(bi+"["+so+"]")),Ft&&co.push($e.def());Ft&&$e("if(!",Ne.batchId,"||",co.map(function(ms,ou){return ms+"!=="+ts[ou]}).join("||"),"){",co.map(function(ms,ou){return ms+"="+ts[ou]+";"}).join("")),$e(zt,".uniform",_t,"(",ci,",",ts.join(","),");"),Ft&&$e("}")}else{if(Ft){var Yo=$e.def();$e("if(!",Ne.batchId,"||",Yo,"!==",bi,"){",Yo,"=",bi,";")}$e(zt,".uniform",_t,"(",ci,",",bi,");"),Ft&&$e("}")}}}function J(Ne,$e,st,It){var Bt=Ne.shared,Ft=Bt.gl,Ut=Bt.draw,zt=It.draw;function _t(){var Gi=zt.elements,on,zn=$e;return Gi?((Gi.contextDep&&It.contextDynamic||Gi.propDep)&&(zn=st),on=Gi.append(Ne,zn),zt.elementsActive&&zn("if("+on+")"+Ft+".bindBuffer("+Fr+","+on+".buffer.buffer);")):(on=zn.def(),zn(on,"=",Ut,".",Mt,";","if(",on,"){",Ft,".bindBuffer(",Fr,",",on,".buffer.buffer);}","else if(",Bt.vao,".currentVAO){",on,"=",Ne.shared.elements+".getElements("+Bt.vao,".currentVAO.elements);",nn?"":"if("+on+")"+Ft+".bindBuffer("+Fr+","+on+".buffer.buffer);","}")),on}function Dt(){var Gi=zt.count,on,zn=$e;return Gi?((Gi.contextDep&&It.contextDynamic||Gi.propDep)&&(zn=st),on=Gi.append(Ne,zn)):on=zn.def(Ut,".",$t),on}var vt=_t();function lr(Gi){var on=zt[Gi];return on?on.contextDep&&It.contextDynamic||on.propDep?on.append(Ne,st):on.append(Ne,$e):$e.def(Ut,".",Gi)}var _r=lr(Jt),Br=lr(yr),Di=Dt();if(typeof Di=="number"){if(Di===0)return}else st("if(",Di,"){"),st.exit("}");var ci,bi;Ii&&(ci=lr(Cr),bi=Ne.instancing);var gn=vt+".type",tn=zt.elements&&Pn(zt.elements)&&!zt.vaoActive;function Ei(){function Gi(){st(bi,".drawElementsInstancedANGLE(",[_r,Di,gn,Br+"<<(("+gn+"-"+Ra+")>>1)",ci],");")}function on(){st(bi,".drawArraysInstancedANGLE(",[_r,Br,Di,ci],");")}vt&&vt!=="null"?tn?Gi():(st("if(",vt,"){"),Gi(),st("}else{"),on(),st("}")):on()}function Oi(){function Gi(){st(Ft+".drawElements("+[_r,Di,gn,Br+"<<(("+gn+"-"+Ra+")>>1)"]+");")}function on(){st(Ft+".drawArrays("+[_r,Br,Di]+");")}vt&&vt!=="null"?tn?Gi():(st("if(",vt,"){"),Gi(),st("}else{"),on(),st("}")):on()}Ii&&(typeof ci!="number"||ci>=0)?typeof ci=="string"?(st("if(",ci,">0){"),Ei(),st("}else if(",ci,"<0){"),Oi(),st("}")):Ei():Oi()}function O(Ne,$e,st,It,Bt){var Ft=Cn(),Ut=Ft.proc("body",Bt);return Ii&&(Ft.instancing=Ut.def(Ft.shared.extensions,".angle_instanced_arrays")),Ne(Ft,Ut,st,It),Ft.compile().body}function K(Ne,$e,st,It){ol(Ne,$e),st.useVAO?st.drawVAO?$e(Ne.shared.vao,".setVAO(",st.drawVAO.append(Ne,$e),");"):$e(Ne.shared.vao,".setVAO(",Ne.shared.vao,".targetVAO);"):($e(Ne.shared.vao,".setVAO(null);"),Y(Ne,$e,st,It.attributes,function(){return!0})),D(Ne,$e,st,It.uniforms,function(){return!0},!1),J(Ne,$e,$e,st)}function de(Ne,$e){var st=Ne.proc("draw",1);ol(Ne,st),ss(Ne,st,$e.context),Vs(Ne,st,$e.framebuffer),Ys(Ne,st,$e),wa(Ne,st,$e.state),io(Ne,st,$e,!1,!0);var It=$e.shader.progVar.append(Ne,st);if(st(Ne.shared.gl,".useProgram(",It,".program);"),$e.shader.program)K(Ne,st,$e,$e.shader.program);else{st(Ne.shared.vao,".setVAO(null);");var Bt=Ne.global.def("{}"),Ft=st.def(It,".id"),Ut=st.def(Bt,"[",Ft,"]");st(Ne.cond(Ut).then(Ut,".call(this,a0);").else(Ut,"=",Bt,"[",Ft,"]=",Ne.link(function(zt){return O(K,Ne,$e,zt,1)}),"(",It,");",Ut,".call(this,a0);"))}Object.keys($e.state).length>0&&st(Ne.shared.current,".dirty=true;"),Ne.shared.vao&&st(Ne.shared.vao,".setVAO(null);")}function ne(Ne,$e,st,It){Ne.batchId="a1",ol(Ne,$e);function Bt(){return!0}Y(Ne,$e,st,It.attributes,Bt),D(Ne,$e,st,It.uniforms,Bt,!1),J(Ne,$e,$e,st)}function we(Ne,$e,st,It){ol(Ne,$e);var Bt=st.contextDep,Ft=$e.def(),Ut="a0",zt="a1",_t=$e.def();Ne.shared.props=_t,Ne.batchId=Ft;var Dt=Ne.scope(),vt=Ne.scope();$e(Dt.entry,"for(",Ft,"=0;",Ft,"<",zt,";++",Ft,"){",_t,"=",Ut,"[",Ft,"];",vt,"}",Dt.exit);function lr(gn){return gn.contextDep&&Bt||gn.propDep}function _r(gn){return!lr(gn)}if(st.needsContext&&ss(Ne,vt,st.context),st.needsFramebuffer&&Vs(Ne,vt,st.framebuffer),wa(Ne,vt,st.state,lr),st.profile&&lr(st.profile)&&io(Ne,vt,st,!1,!0),It)st.useVAO?st.drawVAO?lr(st.drawVAO)?vt(Ne.shared.vao,".setVAO(",st.drawVAO.append(Ne,vt),");"):Dt(Ne.shared.vao,".setVAO(",st.drawVAO.append(Ne,Dt),");"):Dt(Ne.shared.vao,".setVAO(",Ne.shared.vao,".targetVAO);"):(Dt(Ne.shared.vao,".setVAO(null);"),Y(Ne,Dt,st,It.attributes,_r),Y(Ne,vt,st,It.attributes,lr)),D(Ne,Dt,st,It.uniforms,_r,!1),D(Ne,vt,st,It.uniforms,lr,!0),J(Ne,Dt,vt,st);else{var Br=Ne.global.def("{}"),Di=st.shader.progVar.append(Ne,vt),ci=vt.def(Di,".id"),bi=vt.def(Br,"[",ci,"]");vt(Ne.shared.gl,".useProgram(",Di,".program);","if(!",bi,"){",bi,"=",Br,"[",ci,"]=",Ne.link(function(gn){return O(ne,Ne,st,gn,2)}),"(",Di,");}",bi,".call(this,a0[",Ft,"],",Ft,");")}}function Oe(Ne,$e){var st=Ne.proc("batch",2);Ne.batchId="0",ol(Ne,st);var It=!1,Bt=!0;Object.keys($e.context).forEach(function(Br){It=It||$e.context[Br].propDep}),It||(ss(Ne,st,$e.context),Bt=!1);var Ft=$e.framebuffer,Ut=!1;Ft?(Ft.propDep?It=Ut=!0:Ft.contextDep&&It&&(Ut=!0),Ut||Vs(Ne,st,Ft)):Vs(Ne,st,null),$e.state.viewport&&$e.state.viewport.propDep&&(It=!0);function zt(Br){return Br.contextDep&&It||Br.propDep}Ys(Ne,st,$e),wa(Ne,st,$e.state,function(Br){return!zt(Br)}),(!$e.profile||!zt($e.profile))&&io(Ne,st,$e,!1,"a1"),$e.contextDep=It,$e.needsContext=Bt,$e.needsFramebuffer=Ut;var _t=$e.shader.progVar;if(_t.contextDep&&It||_t.propDep)we(Ne,st,$e,null);else{var Dt=_t.append(Ne,st);if(st(Ne.shared.gl,".useProgram(",Dt,".program);"),$e.shader.program)we(Ne,st,$e,$e.shader.program);else{st(Ne.shared.vao,".setVAO(null);");var vt=Ne.global.def("{}"),lr=st.def(Dt,".id"),_r=st.def(vt,"[",lr,"]");st(Ne.cond(_r).then(_r,".call(this,a0,a1);").else(_r,"=",vt,"[",lr,"]=",Ne.link(function(Br){return O(we,Ne,$e,Br,2)}),"(",Dt,");",_r,".call(this,a0,a1);"))}}Object.keys($e.state).length>0&&st(Ne.shared.current,".dirty=true;"),Ne.shared.vao&&st(Ne.shared.vao,".setVAO(null);")}function ht(Ne,$e){var st=Ne.proc("scope",3);Ne.batchId="a2";var It=Ne.shared,Bt=It.current;if(ss(Ne,st,$e.context),$e.framebuffer&&$e.framebuffer.append(Ne,st),Ti(Object.keys($e.state)).forEach(function(zt){var _t=$e.state[zt],Dt=_t.append(Ne,st);En(Dt)?Dt.forEach(function(vt,lr){pn(vt)?st.set(Ne.next[zt],"["+lr+"]",vt):st.set(Ne.next[zt],"["+lr+"]",Ne.link(vt,{stable:!0}))}):Pn(_t)?st.set(It.next,"."+zt,Ne.link(Dt,{stable:!0})):st.set(It.next,"."+zt,Dt)}),io(Ne,st,$e,!0,!0),[Mt,yr,$t,Cr,Jt].forEach(function(zt){var _t=$e.draw[zt];if(_t){var Dt=_t.append(Ne,st);pn(Dt)?st.set(It.draw,"."+zt,Dt):st.set(It.draw,"."+zt,Ne.link(Dt),{stable:!0})}}),Object.keys($e.uniforms).forEach(function(zt){var _t=$e.uniforms[zt].append(Ne,st);Array.isArray(_t)&&(_t="["+_t.map(function(Dt){return pn(Dt)?Dt:Ne.link(Dt,{stable:!0})})+"]"),st.set(It.uniforms,"["+Ne.link(bt.id(zt),{stable:!0})+"]",_t)}),Object.keys($e.attributes).forEach(function(zt){var _t=$e.attributes[zt].append(Ne,st),Dt=Ne.scopeAttrib(zt);Object.keys(new Zr).forEach(function(vt){st.set(Dt,"."+vt,_t[vt])})}),$e.scopeVAO){var Ft=$e.scopeVAO.append(Ne,st);pn(Ft)?st.set(It.vao,".targetVAO",Ft):st.set(It.vao,".targetVAO",Ne.link(Ft,{stable:!0}))}function Ut(zt){var _t=$e.shader[zt];if(_t){var Dt=_t.append(Ne,st);pn(Dt)?st.set(It.shader,"."+zt,Dt):st.set(It.shader,"."+zt,Ne.link(Dt,{stable:!0}))}}Ut(Ze),Ut(ut),Object.keys($e.state).length>0&&(st(Bt,".dirty=true;"),st.exit(Bt,".dirty=true;")),st("a1(",Ne.shared.context,",a0,",Ne.batchId,");")}function Yt(Ne){if(!(typeof Ne!="object"||En(Ne))){for(var $e=Object.keys(Ne),st=0;st<$e.length;++st)if(h.isDynamic(Ne[$e[st]]))return!0;return!1}}function cr(Ne,$e,st){var It=$e.static[st];if(!It||!Yt(It))return;var Bt=Ne.global,Ft=Object.keys(It),Ut=!1,zt=!1,_t=!1,Dt=Ne.global.def("{}");Ft.forEach(function(lr){var _r=It[lr];if(h.isDynamic(_r)){typeof _r=="function"&&(_r=It[lr]=h.unbox(_r));var Br=Bn(_r,null);Ut=Ut||Br.thisDep,_t=_t||Br.propDep,zt=zt||Br.contextDep}else{switch(Bt(Dt,".",lr,"="),typeof _r){case"number":Bt(_r);break;case"string":Bt('"',_r,'"');break;case"object":Array.isArray(_r)&&Bt("[",_r.join(),"]");break;default:Bt(Ne.link(_r));break}Bt(";")}});function vt(lr,_r){Ft.forEach(function(Br){var Di=It[Br];if(h.isDynamic(Di)){var ci=lr.invoke(_r,Di);_r(Dt,".",Br,"=",ci,";")}})}$e.dynamic[st]=new h.DynamicVariable(Zo,{thisDep:Ut,contextDep:zt,propDep:_t,ref:Dt,append:vt}),delete $e.static[st]}function Nt(Ne,$e,st,It,Bt){var Ft=Cn();Ft.stats=Ft.link(Bt),Object.keys($e.static).forEach(function(zt){cr(Ft,$e,zt)}),fr.forEach(function(zt){cr(Ft,Ne,zt)});var Ut=Vl(Ne,$e,st,It,Ft);return Ut.shader.program&&(Ut.shader.program.attributes.sort(function(zt,_t){return zt.name<_t.name?-1:1}),Ut.shader.program.uniforms.sort(function(zt,_t){return zt.name<_t.name?-1:1})),de(Ft,Ut),ht(Ft,Ut),Oe(Ft,Ut),e(Ft.compile(),{destroy:function(){Ut.shader.program.destroy()}})}return{next:qn,current:Xi,procs:function(){var Ne=Cn(),$e=Ne.proc("poll"),st=Ne.proc("refresh"),It=Ne.block();$e(It),st(It);var Bt=Ne.shared,Ft=Bt.gl,Ut=Bt.next,zt=Bt.current;It(zt,".dirty=false;"),Vs(Ne,$e),Vs(Ne,st,null,!0);var _t;Ii&&(_t=Ne.link(Ii)),Ot.oes_vertex_array_object&&st(Ne.link(Ot.oes_vertex_array_object),".bindVertexArrayOES(null);");var Dt=st.def(Bt.attributes),vt=st.def(0),lr=Ne.cond(vt,".buffer");lr.then(Ft,".enableVertexAttribArray(i);",Ft,".bindBuffer(",br,",",vt,".buffer.buffer);",Ft,".vertexAttribPointer(i,",vt,".size,",vt,".type,",vt,".normalized,",vt,".stride,",vt,".offset);").else(Ft,".disableVertexAttribArray(i);",Ft,".vertexAttrib4f(i,",vt,".x,",vt,".y,",vt,".z,",vt,".w);",vt,".buffer=null;");var _r=Ne.link(Lr.maxAttributes,{stable:!0});return st("for(var i=0;i<",_r,";++i){",vt,"=",Dt,"[i];",lr,"}"),Ii&&st("for(var i=0;i<",_r,";++i){",_t,".vertexAttribDivisorANGLE(i,",Dt,"[i].divisor);","}"),st(Ne.shared.vao,".currentVAO=null;",Ne.shared.vao,".setVAO(",Ne.shared.vao,".targetVAO);"),Object.keys(si).forEach(function(Br){var Di=si[Br],ci=It.def(Ut,".",Br),bi=Ne.block();bi("if(",ci,"){",Ft,".enable(",Di,")}else{",Ft,".disable(",Di,")}",zt,".",Br,"=",ci,";"),st(bi),$e("if(",ci,"!==",zt,".",Br,"){",bi,"}")}),Object.keys(mn).forEach(function(Br){var Di=mn[Br],ci=Xi[Br],bi,gn,tn=Ne.block();if(tn(Ft,".",Di,"("),En(ci)){var Ei=ci.length;bi=Ne.global.def(Ut,".",Br),gn=Ne.global.def(zt,".",Br),tn(S(Ei,function(Oi){return bi+"["+Oi+"]"}),");",S(Ei,function(Oi){return gn+"["+Oi+"]="+bi+"["+Oi+"];"}).join("")),$e("if(",S(Ei,function(Oi){return bi+"["+Oi+"]!=="+gn+"["+Oi+"]"}).join("||"),"){",tn,"}")}else bi=It.def(Ut,".",Br),gn=It.def(zt,".",Br),tn(bi,");",zt,".",Br,"=",bi,";"),$e("if(",bi,"!==",gn,"){",tn,"}");st(tn)}),Ne.compile()}(),compile:Nt}}function Ia(){return{vaoCount:0,bufferCount:0,elementsCount:0,framebufferCount:0,shaderCount:0,textureCount:0,cubeCount:0,renderbufferCount:0,maxTextureUnits:0}}var yo=34918,Da=34919,go=35007,Is=function(Me,bt){if(!bt.ext_disjoint_timer_query)return null;var Ot=[];function Lr(){return Ot.pop()||bt.ext_disjoint_timer_query.createQueryEXT()}function Vr(yi){Ot.push(yi)}var Or=[];function Nr(yi){var Ii=Lr();bt.ext_disjoint_timer_query.beginQueryEXT(go,Ii),Or.push(Ii),ji(Or.length-1,Or.length,yi)}function vi(){bt.ext_disjoint_timer_query.endQueryEXT(go)}function Ni(){this.startQueryIndex=-1,this.endQueryIndex=-1,this.sum=0,this.stats=null}var qi=[];function Si(){return qi.pop()||new Ni}function Vn(yi){qi.push(yi)}var Qi=[];function ji(yi,Ii,ui){var nn=Si();nn.startQueryIndex=yi,nn.endQueryIndex=Ii,nn.sum=0,nn.stats=ui,Qi.push(nn)}var oi=[],Tr=[];function Zr(){var yi,Ii,ui=Or.length;if(ui!==0){Tr.length=Math.max(Tr.length,ui+1),oi.length=Math.max(oi.length,ui+1),oi[0]=0,Tr[0]=0;var nn=0;for(yi=0,Ii=0;Ii<Or.length;++Ii){var Xi=Or[Ii];bt.ext_disjoint_timer_query.getQueryObjectEXT(Xi,Da)?(nn+=bt.ext_disjoint_timer_query.getQueryObjectEXT(Xi,yo),Vr(Xi)):Or[yi++]=Xi,oi[Ii+1]=nn,Tr[Ii+1]=yi}for(Or.length=yi,yi=0,Ii=0;Ii<Qi.length;++Ii){var qn=Qi[Ii],fi=qn.startQueryIndex,si=qn.endQueryIndex;qn.sum+=oi[si]-oi[fi];var mn=Tr[fi],Ji=Tr[si];Ji===mn?(qn.stats.gpuTime+=qn.sum/1e6,Vn(qn)):(qn.startQueryIndex=mn,qn.endQueryIndex=Ji,Qi[yi++]=qn)}Qi.length=yi}}return{beginQuery:Nr,endQuery:vi,pushScopeStats:ji,update:Zr,getNumPendingQueries:function(){return Or.length},clear:function(){Ot.push.apply(Ot,Or);for(var yi=0;yi<Ot.length;yi++)bt.ext_disjoint_timer_query.deleteQueryEXT(Ot[yi]);Or.length=0,Ot.length=0},restore:function(){Or.length=0,Ot.length=0}}},Ms=16384,Xs=256,Un=1024,ja=34962,Fo="webglcontextlost",Uo="webglcontextrestored",$s=1,Sl=2,bu=3;function dl(Me,bt){for(var Ot=0;Ot<Me.length;++Ot)if(Me[Ot]===bt)return Ot;return-1}function Sc(Me){var bt=x(Me);if(!bt)return null;var Ot=bt.gl,Lr=Ot.getContextAttributes(),Vr=Ot.isContextLost(),Or=C(Ot,bt);if(!Or)return null;var Nr=m(),vi=Ia(),Ni=bt.cachedCode||{},qi=Or.extensions,Si=Is(Ot,qi),Vn=v(),Qi=Ot.drawingBufferWidth,ji=Ot.drawingBufferHeight,oi={tick:0,time:0,viewportWidth:Qi,viewportHeight:ji,framebufferWidth:Qi,framebufferHeight:ji,drawingBufferWidth:Qi,drawingBufferHeight:ji,pixelRatio:bt.pixelRatio},Tr={},Zr={elements:null,primitive:4,count:-1,offset:0,instances:-1},yi=ei(Ot,qi),Ii=ti(Ot,vi,bt,Xi),ui=Sr(Ot,qi,Ii,vi),nn=ku(Ot,qi,yi,vi,Ii,ui,Zr);function Xi(O){return nn.destroyBuffer(O)}var qn=Wu(Ot,Nr,vi,bt),fi=sf(Ot,qi,yi,function(){Ji.procs.poll()},oi,vi,bt),si=Dc(Ot,qi,yi,vi,bt),mn=uf(Ot,qi,yi,fi,si,vi),Ji=Ea(Ot,Nr,qi,yi,Ii,ui,fi,mn,Tr,nn,qn,Zr,oi,Si,Ni,bt),Ui=Wl(Ot,mn,Ji.procs.poll,oi,Lr,qi,yi),Bi=Ji.next,pn=Ot.canvas,Nn=[],aa=[],Ki=[],Cn=[bt.onDestroy],ia=null;function sa(){if(Nn.length===0){Si&&Si.update(),ia=null;return}ia=d.next(sa),Ys();for(var O=Nn.length-1;O>=0;--O){var K=Nn[O];K&&K(oi,null,0)}Ot.flush(),Si&&Si.update()}function ba(){!ia&&Nn.length>0&&(ia=d.next(sa))}function is(){ia&&(d.cancel(sa),ia=null)}function Zs(O){O.preventDefault(),Vr=!0,is(),aa.forEach(function(K){K()})}function Ga(O){Ot.getError(),Vr=!1,Or.restore(),qn.restore(),Ii.restore(),fi.restore(),si.restore(),mn.restore(),nn.restore(),Si&&Si.restore(),Ji.procs.refresh(),ba(),Ki.forEach(function(K){K()})}pn&&(pn.addEventListener(Fo,Zs,!1),pn.addEventListener(Uo,Ga,!1));function Ml(){Nn.length=0,is(),pn&&(pn.removeEventListener(Fo,Zs),pn.removeEventListener(Uo,Ga)),qn.clear(),mn.clear(),si.clear(),nn.clear(),fi.clear(),ui.clear(),Ii.clear(),Si&&Si.clear(),Cn.forEach(function(O){O()})}function zo(O){function K(Ft){var Ut=e({},Ft);delete Ut.uniforms,delete Ut.attributes,delete Ut.context,delete Ut.vao,"stencil"in Ut&&Ut.stencil.op&&(Ut.stencil.opBack=Ut.stencil.opFront=Ut.stencil.op,delete Ut.stencil.op);function zt(_t){if(_t in Ut){var Dt=Ut[_t];delete Ut[_t],Object.keys(Dt).forEach(function(vt){Ut[_t+"."+vt]=Dt[vt]})}}return zt("blend"),zt("depth"),zt("cull"),zt("stencil"),zt("polygonOffset"),zt("scissor"),zt("sample"),"vao"in Ft&&(Ut.vao=Ft.vao),Ut}function de(Ft,Ut){var zt={},_t={};return Object.keys(Ft).forEach(function(Dt){var vt=Ft[Dt];if(h.isDynamic(vt)){_t[Dt]=h.unbox(vt,Dt);return}else if(Ut&&Array.isArray(vt)){for(var lr=0;lr<vt.length;++lr)if(h.isDynamic(vt[lr])){_t[Dt]=h.unbox(vt,Dt);return}}zt[Dt]=vt}),{dynamic:_t,static:zt}}var ne=de(O.context||{},!0),we=de(O.uniforms||{},!0),Oe=de(O.attributes||{},!1),ht=de(K(O),!1),Yt={gpuTime:0,cpuTime:0,count:0},cr=Ji.compile(ht,Oe,we,ne,Yt),Nt=cr.draw,Ne=cr.batch,$e=cr.scope,st=[];function It(Ft){for(;st.length<Ft;)st.push(null);return st}function Bt(Ft,Ut){var zt;if(typeof Ft=="function")return $e.call(this,null,Ft,0);if(typeof Ut=="function")if(typeof Ft=="number")for(zt=0;zt<Ft;++zt)$e.call(this,null,Ut,zt);else if(Array.isArray(Ft))for(zt=0;zt<Ft.length;++zt)$e.call(this,Ft[zt],Ut,zt);else return $e.call(this,Ft,Ut,0);else if(typeof Ft=="number"){if(Ft>0)return Ne.call(this,It(Ft|0),Ft|0)}else if(Array.isArray(Ft)){if(Ft.length)return Ne.call(this,Ft,Ft.length)}else return Nt.call(this,Ft)}return e(Bt,{stats:Yt,destroy:function(){cr.destroy()}})}var Qs=mn.setFBO=zo({framebuffer:h.define.call(null,$s,"framebuffer")});function al(O,K){var de=0;Ji.procs.poll();var ne=K.color;ne&&(Ot.clearColor(+ne[0]||0,+ne[1]||0,+ne[2]||0,+ne[3]||0),de|=Ms),"depth"in K&&(Ot.clearDepth(+K.depth),de|=Xs),"stencil"in K&&(Ot.clearStencil(K.stencil|0),de|=Un),Ot.clear(de)}function Vl(O){if("framebuffer"in O)if(O.framebuffer&&O.framebuffer_reglType==="framebufferCube")for(var K=0;K<6;++K)Qs(e({framebuffer:O.framebuffer.faces[K]},O),al);else Qs(O,al);else al(null,O)}function ss(O){Nn.push(O);function K(){var de=dl(Nn,O);function ne(){var we=dl(Nn,ne);Nn[we]=Nn[Nn.length-1],Nn.length-=1,Nn.length<=0&&is()}Nn[de]=ne}return ba(),{cancel:K}}function Vs(){var O=Bi.viewport,K=Bi.scissor_box;O[0]=O[1]=K[0]=K[1]=0,oi.viewportWidth=oi.framebufferWidth=oi.drawingBufferWidth=O[2]=K[2]=Ot.drawingBufferWidth,oi.viewportHeight=oi.framebufferHeight=oi.drawingBufferHeight=O[3]=K[3]=Ot.drawingBufferHeight}function Ys(){oi.tick+=1,oi.time=ol(),Vs(),Ji.procs.poll()}function wa(){fi.refresh(),Vs(),Ji.procs.refresh(),Si&&Si.update()}function ol(){return(v()-Vn)/1e3}wa();function io(O,K){var de;switch(O){case"frame":return ss(K);case"lost":de=aa;break;case"restore":de=Ki;break;case"destroy":de=Cn;break;default:}return de.push(K),{cancel:function(){for(var ne=0;ne<de.length;++ne)if(de[ne]===K){de[ne]=de[de.length-1],de.pop();return}}}}function Y(){return Ni}function D(O){Object.entries(O).forEach(function(K){Ni[K[0]]=K[1]})}var J=e(zo,{clear:Vl,prop:h.define.bind(null,$s),context:h.define.bind(null,Sl),this:h.define.bind(null,bu),draw:zo({}),buffer:function(O){return Ii.create(O,ja,!1,!1)},elements:function(O){return ui.create(O,!1)},texture:fi.create2D,cube:fi.createCube,renderbuffer:si.create,framebuffer:mn.create,framebufferCube:mn.createCube,vao:nn.createVAO,attributes:Lr,frame:ss,on:io,limits:yi,hasExtension:function(O){return yi.extensions.indexOf(O.toLowerCase())>=0},read:Ui,destroy:Ml,_gl:Ot,_refresh:wa,poll:function(){Ys(),Si&&Si.update()},now:ol,stats:vi,getCachedCode:Y,preloadCachedCode:D});return bt.onDone(null,J),J}return Sc})});var eBe=ye((S_r,QOe)=>{"use strict";var SUt=ty();QOe.exports=function(t){if(t?typeof t=="string"&&(t={container:t}):t={},JOe(t)?t={container:t}:MUt(t)?t={container:t}:EUt(t)?t={gl:t}:t=SUt(t,{container:"container target element el canvas holder parent parentNode wrapper use ref root node",gl:"gl context webgl glContext",attrs:"attributes attrs contextAttributes",pixelRatio:"pixelRatio pxRatio px ratio pxratio pixelratio",width:"w width",height:"h height"},!0),t.pixelRatio||(t.pixelRatio=window.pixelRatio||1),t.gl)return t.gl;if(t.canvas&&(t.container=t.canvas.parentNode),t.container){if(typeof t.container=="string"){var r=document.querySelector(t.container);if(!r)throw Error("Element "+t.container+" is not found");t.container=r}JOe(t.container)?(t.canvas=t.container,t.container=t.canvas.parentNode):t.canvas||(t.canvas=$Oe(),t.container.appendChild(t.canvas),KOe(t))}else if(!t.canvas)if(typeof document!="undefined")t.container=document.body||document.documentElement,t.canvas=$Oe(),t.container.appendChild(t.canvas),KOe(t);else throw Error("Not DOM environment. Use headless-gl.");return t.gl||["webgl","experimental-webgl","webgl-experimental"].some(function(n){try{t.gl=t.canvas.getContext(n,t.attrs)}catch(i){}return t.gl}),t.gl};function KOe(e){if(e.container)if(e.container==document.body)document.body.style.width||(e.canvas.width=e.width||e.pixelRatio*window.innerWidth),document.body.style.height||(e.canvas.height=e.height||e.pixelRatio*window.innerHeight);else{var t=e.container.getBoundingClientRect();e.canvas.width=e.width||t.right-t.left,e.canvas.height=e.height||t.bottom-t.top}}function JOe(e){return typeof e.getContext=="function"&&"width"in e&&"height"in e}function MUt(e){return typeof e.nodeName=="string"&&typeof e.appendChild=="function"&&typeof e.getBoundingClientRect=="function"}function EUt(e){return typeof e.drawArrays=="function"||typeof e.drawElements=="function"}function $Oe(){var e=document.createElement("canvas");return e.style.position="absolute",e.style.top=0,e.style.left=0,e}});var rBe=ye((M_r,tBe)=>{"use strict";var kUt=lK(),CUt=[32,126];tBe.exports=LUt;function LUt(e){e=e||{};var t=e.shape?e.shape:e.canvas?[e.canvas.width,e.canvas.height]:[512,512],r=e.canvas||document.createElement("canvas"),n=e.font,i=typeof e.step=="number"?[e.step,e.step]:e.step||[32,32],a=e.chars||CUt;if(n&&typeof n!="string"&&(n=kUt(n)),!Array.isArray(a))a=String(a).split("");else if(a.length===2&&typeof a[0]=="number"&&typeof a[1]=="number"){for(var o=[],s=a[0],l=0;s<=a[1];s++)o[l++]=String.fromCharCode(s);a=o}t=t.slice(),r.width=t[0],r.height=t[1];var u=r.getContext("2d");u.fillStyle="#000",u.fillRect(0,0,r.width,r.height),u.font=n,u.textAlign="center",u.textBaseline="middle",u.fillStyle="#fff";for(var c=i[0]/2,f=i[1]/2,s=0;s<a.length;s++)u.fillText(a[s],c,f),(c+=i[0])>t[0]-i[0]/2&&(c=i[0]/2,f+=i[1]);return r}});var hK=ye(Vh=>{"use strict";"use restrict";var fK=32;Vh.INT_BITS=fK;Vh.INT_MAX=2147483647;Vh.INT_MIN=-1<<fK-1;Vh.sign=function(e){return(e>0)-(e<0)};Vh.abs=function(e){var t=e>>fK-1;return(e^t)-t};Vh.min=function(e,t){return t^(e^t)&-(e<t)};Vh.max=function(e,t){return e^(e^t)&-(e<t)};Vh.isPow2=function(e){return!(e&e-1)&&!!e};Vh.log2=function(e){var t,r;return t=(e>65535)<<4,e>>>=t,r=(e>255)<<3,e>>>=r,t|=r,r=(e>15)<<2,e>>>=r,t|=r,r=(e>3)<<1,e>>>=r,t|=r,t|e>>1};Vh.log10=function(e){return e>=1e9?9:e>=1e8?8:e>=1e7?7:e>=1e6?6:e>=1e5?5:e>=1e4?4:e>=1e3?3:e>=100?2:e>=10?1:0};Vh.popCount=function(e){return e=e-(e>>>1&1431655765),e=(e&858993459)+(e>>>2&858993459),(e+(e>>>4)&252645135)*16843009>>>24};function iBe(e){var t=32;return e&=-e,e&&t--,e&65535&&(t-=16),e&16711935&&(t-=8),e&252645135&&(t-=4),e&858993459&&(t-=2),e&1431655765&&(t-=1),t}Vh.countTrailingZeros=iBe;Vh.nextPow2=function(e){return e+=e===0,--e,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e+1};Vh.prevPow2=function(e){return e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e-(e>>>1)};Vh.parity=function(e){return e^=e>>>16,e^=e>>>8,e^=e>>>4,e&=15,27030>>>e&1};var Fk=new Array(256);(function(e){for(var t=0;t<256;++t){var r=t,n=t,i=7;for(r>>>=1;r;r>>>=1)n<<=1,n|=r&1,--i;e[t]=n<<i&255}})(Fk);Vh.reverse=function(e){return Fk[e&255]<<24|Fk[e>>>8&255]<<16|Fk[e>>>16&255]<<8|Fk[e>>>24&255]};Vh.interleave2=function(e,t){return e&=65535,e=(e|e<<8)&16711935,e=(e|e<<4)&252645135,e=(e|e<<2)&858993459,e=(e|e<<1)&1431655765,t&=65535,t=(t|t<<8)&16711935,t=(t|t<<4)&252645135,t=(t|t<<2)&858993459,t=(t|t<<1)&1431655765,e|t<<1};Vh.deinterleave2=function(e,t){return e=e>>>t&1431655765,e=(e|e>>>1)&858993459,e=(e|e>>>2)&252645135,e=(e|e>>>4)&16711935,e=(e|e>>>16)&65535,e<<16>>16};Vh.interleave3=function(e,t,r){return e&=1023,e=(e|e<<16)&4278190335,e=(e|e<<8)&251719695,e=(e|e<<4)&3272356035,e=(e|e<<2)&1227133513,t&=1023,t=(t|t<<16)&4278190335,t=(t|t<<8)&251719695,t=(t|t<<4)&3272356035,t=(t|t<<2)&1227133513,e|=t<<1,r&=1023,r=(r|r<<16)&4278190335,r=(r|r<<8)&251719695,r=(r|r<<4)&3272356035,r=(r|r<<2)&1227133513,e|r<<2};Vh.deinterleave3=function(e,t){return e=e>>>t&1227133513,e=(e|e>>>2)&3272356035,e=(e|e>>>4)&251719695,e=(e|e>>>8)&4278190335,e=(e|e>>>16)&1023,e<<22>>22};Vh.nextCombination=function(e){var t=e|e-1;return t+1|(~t&-~t)-1>>>iBe(e)+1}});var oBe=ye((k_r,aBe)=>{"use strict";function nBe(e,t,r){var n=e[r]|0;if(n<=0)return[];var i=new Array(n),a;if(r===e.length-1)for(a=0;a<n;++a)i[a]=t;else for(a=0;a<n;++a)i[a]=nBe(e,t,r+1);return i}function PUt(e,t){var r,n;for(r=new Array(e),n=0;n<e;++n)r[n]=t;return r}function IUt(e,t){switch(typeof t=="undefined"&&(t=0),typeof e){case"number":if(e>0)return PUt(e|0,t);break;case"object":if(typeof e.length=="number")return nBe(e,t,0);break}return[]}aBe.exports=IUt});var bBe=ye(mu=>{"use strict";var bx=hK(),Ev=oBe(),sBe=b2().Buffer;window.__TYPEDARRAY_POOL||(window.__TYPEDARRAY_POOL={UINT8:Ev([32,0]),UINT16:Ev([32,0]),UINT32:Ev([32,0]),BIGUINT64:Ev([32,0]),INT8:Ev([32,0]),INT16:Ev([32,0]),INT32:Ev([32,0]),BIGINT64:Ev([32,0]),FLOAT:Ev([32,0]),DOUBLE:Ev([32,0]),DATA:Ev([32,0]),UINT8C:Ev([32,0]),BUFFER:Ev([32,0])});var RUt=typeof Uint8ClampedArray!="undefined",DUt=typeof BigUint64Array!="undefined",FUt=typeof BigInt64Array!="undefined",ad=window.__TYPEDARRAY_POOL;ad.UINT8C||(ad.UINT8C=Ev([32,0]));ad.BIGUINT64||(ad.BIGUINT64=Ev([32,0]));ad.BIGINT64||(ad.BIGINT64=Ev([32,0]));ad.BUFFER||(ad.BUFFER=Ev([32,0]));var Sz=ad.DATA,Mz=ad.BUFFER;mu.free=function(t){if(sBe.isBuffer(t))Mz[bx.log2(t.length)].push(t);else{if(Object.prototype.toString.call(t)!=="[object ArrayBuffer]"&&(t=t.buffer),!t)return;var r=t.length||t.byteLength,n=bx.log2(r)|0;Sz[n].push(t)}};function lBe(e){if(e){var t=e.length||e.byteLength,r=bx.log2(t);Sz[r].push(e)}}function zUt(e){lBe(e.buffer)}mu.freeUint8=mu.freeUint16=mu.freeUint32=mu.freeBigUint64=mu.freeInt8=mu.freeInt16=mu.freeInt32=mu.freeBigInt64=mu.freeFloat32=mu.freeFloat=mu.freeFloat64=mu.freeDouble=mu.freeUint8Clamped=mu.freeDataView=zUt;mu.freeArrayBuffer=lBe;mu.freeBuffer=function(t){Mz[bx.log2(t.length)].push(t)};mu.malloc=function(t,r){if(r===void 0||r==="arraybuffer")return Bp(t);switch(r){case"uint8":return dK(t);case"uint16":return uBe(t);case"uint32":return cBe(t);case"int8":return fBe(t);case"int16":return hBe(t);case"int32":return dBe(t);case"float":case"float32":return vBe(t);case"double":case"float64":return pBe(t);case"uint8_clamped":return gBe(t);case"bigint64":return yBe(t);case"biguint64":return mBe(t);case"buffer":return xBe(t);case"data":case"dataview":return _Be(t);default:return null}return null};function Bp(t){var t=bx.nextPow2(t),r=bx.log2(t),n=Sz[r];return n.length>0?n.pop():new ArrayBuffer(t)}mu.mallocArrayBuffer=Bp;function dK(e){return new Uint8Array(Bp(e),0,e)}mu.mallocUint8=dK;function uBe(e){return new Uint16Array(Bp(2*e),0,e)}mu.mallocUint16=uBe;function cBe(e){return new Uint32Array(Bp(4*e),0,e)}mu.mallocUint32=cBe;function fBe(e){return new Int8Array(Bp(e),0,e)}mu.mallocInt8=fBe;function hBe(e){return new Int16Array(Bp(2*e),0,e)}mu.mallocInt16=hBe;function dBe(e){return new Int32Array(Bp(4*e),0,e)}mu.mallocInt32=dBe;function vBe(e){return new Float32Array(Bp(4*e),0,e)}mu.mallocFloat32=mu.mallocFloat=vBe;function pBe(e){return new Float64Array(Bp(8*e),0,e)}mu.mallocFloat64=mu.mallocDouble=pBe;function gBe(e){return RUt?new Uint8ClampedArray(Bp(e),0,e):dK(e)}mu.mallocUint8Clamped=gBe;function mBe(e){return DUt?new BigUint64Array(Bp(8*e),0,e):null}mu.mallocBigUint64=mBe;function yBe(e){return FUt?new BigInt64Array(Bp(8*e),0,e):null}mu.mallocBigInt64=yBe;function _Be(e){return new DataView(Bp(e),0,e)}mu.mallocDataView=_Be;function xBe(e){e=bx.nextPow2(e);var t=bx.log2(e),r=Mz[t];return r.length>0?r.pop():new sBe(e)}mu.mallocBuffer=xBe;mu.clearCache=function(){for(var t=0;t<32;++t)ad.UINT8[t].length=0,ad.UINT16[t].length=0,ad.UINT32[t].length=0,ad.INT8[t].length=0,ad.INT16[t].length=0,ad.INT32[t].length=0,ad.FLOAT[t].length=0,ad.DOUBLE[t].length=0,ad.BIGUINT64[t].length=0,ad.BIGINT64[t].length=0,ad.UINT8C[t].length=0,Sz[t].length=0,Mz[t].length=0}});var TBe=ye((L_r,wBe)=>{"use strict";var qUt=Object.prototype.toString;wBe.exports=function(e){var t;return qUt.call(e)==="[object Object]"&&(t=Object.getPrototypeOf(e),t===null||t===Object.getPrototypeOf({}))}});var vK=ye((P_r,ABe)=>{ABe.exports=function(t,r){r||(r=[0,""]),t=String(t);var n=parseFloat(t,10);return r[0]=n,r[1]=t.match(/[\d.\-\+]*\s*(.*)/)[1]||"",r}});var EBe=ye((I_r,MBe)=>{"use strict";var OUt=vK();MBe.exports=SBe;var zk=96;function pK(e,t){var r=OUt(getComputedStyle(e).getPropertyValue(t));return r[0]*SBe(r[1],e)}function BUt(e,t){var r=document.createElement("div");r.style["font-size"]="128"+e,t.appendChild(r);var n=pK(r,"font-size")/128;return t.removeChild(r),n}function SBe(e,t){switch(t=t||document.body,e=(e||"px").trim().toLowerCase(),(t===window||t===document)&&(t=document.body),e){case"%":return t.clientHeight/100;case"ch":case"ex":return BUt(e,t);case"em":return pK(t,"font-size");case"rem":return pK(document.body,"font-size");case"vw":return window.innerWidth/100;case"vh":return window.innerHeight/100;case"vmin":return Math.min(window.innerWidth,window.innerHeight)/100;case"vmax":return Math.max(window.innerWidth,window.innerHeight)/100;case"in":return zk;case"cm":return zk/2.54;case"mm":return zk/25.4;case"pt":return zk/72;case"pc":return zk/6}return 1}});var LBe=ye((R_r,CBe)=>{"use strict";CBe.exports=Cz;var NUt=Cz.canvas=document.createElement("canvas"),Ez=NUt.getContext("2d"),kBe=kz([32,126]);Cz.createPairs=kz;Cz.ascii=kBe;function Cz(e,t){Array.isArray(e)&&(e=e.join(", "));var r={},n,i=16,a=.05;t&&(t.length===2&&typeof t[0]=="number"?n=kz(t):Array.isArray(t)?n=t:(t.o?n=kz(t.o):t.pairs&&(n=t.pairs),t.fontSize&&(i=t.fontSize),t.threshold!=null&&(a=t.threshold))),n||(n=kBe),Ez.font=i+"px "+e;for(var o=0;o<n.length;o++){var s=n[o],l=Ez.measureText(s[0]).width+Ez.measureText(s[1]).width,u=Ez.measureText(s).width;if(Math.abs(l-u)>i*a){var c=(u-l)/i;r[s]=c*1e3}}return r}function kz(e){for(var t=[],r=e[0];r<=e[1];r++)for(var n=String.fromCharCode(r),i=e[0];i<e[1];i++){var a=String.fromCharCode(i),o=n+a;t.push(o)}return t}});var DBe=ye((D_r,RBe)=>{"use strict";RBe.exports=wx;wx.canvas=document.createElement("canvas");wx.cache={};function wx(o,t){t||(t={}),(typeof o=="string"||Array.isArray(o))&&(t.family=o);var r=Array.isArray(t.family)?t.family.join(", "):t.family;if(!r)throw Error("`family` must be defined");var n=t.size||t.fontSize||t.em||48,i=t.weight||t.fontWeight||"",a=t.style||t.fontStyle||"",o=[a,i,n].join(" ")+"px "+r,s=t.origin||"top";if(wx.cache[r]&&n<=wx.cache[r].em)return PBe(wx.cache[r],s);var l=t.canvas||wx.canvas,u=l.getContext("2d"),c={upper:t.upper!==void 0?t.upper:"H",lower:t.lower!==void 0?t.lower:"x",descent:t.descent!==void 0?t.descent:"p",ascent:t.ascent!==void 0?t.ascent:"h",tittle:t.tittle!==void 0?t.tittle:"i",overshoot:t.overshoot!==void 0?t.overshoot:"O"},f=Math.ceil(n*1.5);l.height=f,l.width=f*.5,u.font=o;var h="H",d={top:0};u.clearRect(0,0,f,f),u.textBaseline="top",u.fillStyle="black",u.fillText(h,0,0);var v=iy(u.getImageData(0,0,f,f));u.clearRect(0,0,f,f),u.textBaseline="bottom",u.fillText(h,0,f);var m=iy(u.getImageData(0,0,f,f));d.lineHeight=d.bottom=f-m+v,u.clearRect(0,0,f,f),u.textBaseline="alphabetic",u.fillText(h,0,f);var b=iy(u.getImageData(0,0,f,f)),p=f-b-1+v;d.baseline=d.alphabetic=p,u.clearRect(0,0,f,f),u.textBaseline="middle",u.fillText(h,0,f*.5);var k=iy(u.getImageData(0,0,f,f));d.median=d.middle=f-k-1+v-f*.5,u.clearRect(0,0,f,f),u.textBaseline="hanging",u.fillText(h,0,f*.5);var M=iy(u.getImageData(0,0,f,f));d.hanging=f-M-1+v-f*.5,u.clearRect(0,0,f,f),u.textBaseline="ideographic",u.fillText(h,0,f);var T=iy(u.getImageData(0,0,f,f));if(d.ideographic=f-T-1+v,c.upper&&(u.clearRect(0,0,f,f),u.textBaseline="top",u.fillText(c.upper,0,0),d.upper=iy(u.getImageData(0,0,f,f)),d.capHeight=d.baseline-d.upper),c.lower&&(u.clearRect(0,0,f,f),u.textBaseline="top",u.fillText(c.lower,0,0),d.lower=iy(u.getImageData(0,0,f,f)),d.xHeight=d.baseline-d.lower),c.tittle&&(u.clearRect(0,0,f,f),u.textBaseline="top",u.fillText(c.tittle,0,0),d.tittle=iy(u.getImageData(0,0,f,f))),c.ascent&&(u.clearRect(0,0,f,f),u.textBaseline="top",u.fillText(c.ascent,0,0),d.ascent=iy(u.getImageData(0,0,f,f))),c.descent&&(u.clearRect(0,0,f,f),u.textBaseline="top",u.fillText(c.descent,0,0),d.descent=IBe(u.getImageData(0,0,f,f))),c.overshoot){u.clearRect(0,0,f,f),u.textBaseline="top",u.fillText(c.overshoot,0,0);var L=IBe(u.getImageData(0,0,f,f));d.overshoot=L-p}for(var x in d)d[x]/=n;return d.em=n,wx.cache[r]=d,PBe(d,s)}function PBe(e,t){var r={};typeof t=="string"&&(t=e[t]);for(var n in e)n!=="em"&&(r[n]=e[n]-t);return r}function iy(e){for(var t=e.height,r=e.data,n=3;n<r.length;n+=4)if(r[n]!==0)return Math.floor((n-3)*.25/t)}function IBe(e){for(var t=e.height,r=e.data,n=r.length-1;n>0;n-=4)if(r[n]!==0)return Math.floor((n-3)*.25/t)}});var OBe=ye((F_r,qBe)=>{"use strict";var x5=ZOe(),UUt=ty(),VUt=YOe(),GUt=eBe(),HUt=ZY(),gK=sx(),jUt=rBe(),Tx=bBe(),WUt=l5(),XUt=TBe(),ZUt=vK(),YUt=EBe(),KUt=LBe(),JUt=Nh(),$Ut=DBe(),QUt=aw(),eVt=hK(),FBe=eVt.nextPow2,zBe=new HUt,Pz=!1;document.body&&(Lz=document.body.appendChild(document.createElement("div")),Lz.style.font="italic small-caps bold condensed 16px/2 cursive",getComputedStyle(Lz).fontStretch&&(Pz=!0),document.body.removeChild(Lz));var Lz,xc=function(t){tVt(t)?(t={regl:t},this.gl=t.regl._gl):this.gl=GUt(t),this.shader=zBe.get(this.gl),this.shader?this.regl=this.shader.regl:this.regl=t.regl||VUt({gl:this.gl}),this.charBuffer=this.regl.buffer({type:"uint8",usage:"stream"}),this.sizeBuffer=this.regl.buffer({type:"float",usage:"stream"}),this.shader||(this.shader=this.createShader(),zBe.set(this.gl,this.shader)),this.batch=[],this.fontSize=[],this.font=[],this.fontAtlas=[],this.draw=this.shader.draw.bind(this),this.render=function(){this.regl._refresh(),this.draw(this.batch)},this.canvas=this.gl.canvas,this.update(XUt(t)?t:{})};xc.prototype.createShader=function(){var t=this.regl,r=t({blend:{enable:!0,color:[0,0,0,1],func:{srcRGB:"src alpha",dstRGB:"one minus src alpha",srcAlpha:"one minus dst alpha",dstAlpha:"one"}},stencil:{enable:!1},depth:{enable:!1},count:t.prop("count"),offset:t.prop("offset"),attributes:{charOffset:{offset:4,stride:8,buffer:t.this("sizeBuffer")},width:{offset:0,stride:8,buffer:t.this("sizeBuffer")},char:t.this("charBuffer"),position:t.this("position")},uniforms:{atlasSize:function(i,a){return[a.atlas.width,a.atlas.height]},atlasDim:function(i,a){return[a.atlas.cols,a.atlas.rows]},atlas:function(i,a){return a.atlas.texture},charStep:function(i,a){return a.atlas.step},em:function(i,a){return a.atlas.em},color:t.prop("color"),opacity:t.prop("opacity"),viewport:t.this("viewportArray"),scale:t.this("scale"),align:t.prop("align"),baseline:t.prop("baseline"),translate:t.this("translate"),positionOffset:t.prop("positionOffset")},primitive:"points",viewport:t.this("viewport"),vert:`

Callers 4

saFunction · 0.70
baFunction · 0.70
YtFunction · 0.70
stFunction · 0.70

Calls 1

popMethod · 0.45

Tested by

no test coverage detected