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

Function Ha

plotly/package_data/widgetbundle.js:2617–2617  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

2615 gl_FragColor.a *= opacity;
2616 }
2617 `,uniforms:{range:i.prop("range"),lineWidth:i.prop("lineWidth"),capSize:i.prop("capSize"),opacity:i.prop("opacity"),scale:i.prop("scale"),translate:i.prop("translate"),scaleFract:i.prop("scaleFract"),translateFract:i.prop("translateFract"),viewport:(y,f)=>[f.viewport.x,f.viewport.y,y.viewportWidth,y.viewportHeight]},attributes:{color:{buffer:T,offset:(y,f)=>f.offset*4,divisor:1},position:{buffer:m,offset:(y,f)=>f.offset*8,divisor:1},positionFract:{buffer:p,offset:(y,f)=>f.offset*8,divisor:1},error:{buffer:l,offset:(y,f)=>f.offset*16,divisor:1},direction:{buffer:_,stride:24,offset:0},lineOffset:{buffer:_,stride:24,offset:8},capOffset:{buffer:_,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:i.prop("viewport")},viewport:i.prop("viewport"),stencil:!1,instances:i.prop("count"),count:a.length}),e(M,{update:d,draw:g,destroy:u,regl:i,gl:h,canvas:h.canvas,groups:A}),M;function M(y){y?d(y):y===null&&u(),g()}function g(y){if(typeof y=="number")return b(y);y&&!Array.isArray(y)&&(y=[y]),i._refresh(),A.forEach((f,R)=>{if(f){if(y&&(y[R]?f.draw=!0:f.draw=!1),!f.draw){f.draw=!0;return}b(R)}})}function b(y){typeof y=="number"&&(y=A[y]),y!=null&&y&&y.count&&y.color&&y.opacity&&y.positions&&y.positions.length>1&&(y.scaleRatio=[y.scale[0]*y.viewport.width,y.scale[1]*y.viewport.height],c(y),y.after&&y.after(y))}function d(y){if(!y)return;y.length!=null?typeof y[0]=="number"&&(y=[{positions:y}]):Array.isArray(y)||(y=[y]);let f=0,R=0;if(M.groups=A=y.map((F,N)=>{let O=A[N];if(F)typeof F=="function"?F={after:F}:typeof F[0]=="number"&&(F={positions:F});else return O;return F=E(F,{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"}),O||(A[N]=O={id:N,scale:null,translate:null,scaleFract:null,translateFract:null,draw:!0},F=e({},w,F)),S(O,F,[{lineWidth:P=>+P*.5,capSize:P=>+P*.5,opacity:parseFloat,errors:P=>(P=t(P),R+=P.length,P),positions:(P,U)=>(P=t(P,"float64"),U.count=Math.floor(P.length/2),U.bounds=v(P,2),U.offset=f,f+=U.count,P)},{color:(P,U)=>{let B=U.count;if(P||(P="transparent"),!Array.isArray(P)||typeof P[0]=="number"){let $=P;P=Array(B);for(let se=0;se<B;se++)P[se]=$}if(P.length<B)throw Error("Not enough colors");let X=new Uint8Array(B*4);for(let $=0;$<B;$++){let se=x(P[$],"uint8");X.set(se,$*4)}return X},range:(P,U,B)=>{let X=U.bounds;return P||(P=X),U.scale=[1/(P[2]-P[0]),1/(P[3]-P[1])],U.translate=[-P[0],-P[1]],U.scaleFract=o(U.scale),U.translateFract=o(U.translate),P},viewport:P=>{let U;return Array.isArray(P)?U={x:P[0],y:P[1],width:P[2]-P[0],height:P[3]-P[1]}:P?(U={x:P.x||P.left||0,y:P.y||P.top||0},P.right?U.width=P.right-U.x:U.width=P.w||P.width||0,P.bottom?U.height=P.bottom-U.y:U.height=P.h||P.height||0):U={x:0,y:0,width:h.drawingBufferWidth,height:h.drawingBufferHeight},U}}]),O}),f||R){let F=A.reduce((U,B,X)=>U+(B?B.count:0),0),N=new Float64Array(F*2),O=new Uint8Array(F*4),P=new Float32Array(F*4);A.forEach((U,B)=>{if(!U)return;let{positions:X,count:$,offset:se,color:le,errors:fe}=U;$&&(O.set(le,se*4),P.set(fe,se*4),N.set(X,se*2))});var L=r(N);m(L);var z=o(N,L);p(z),T(O),l(P)}}function u(){m.destroy(),p.destroy(),T.destroy(),l.destroy(),_.destroy()}}}}),pq=Xe({"node_modules/unquote/index.js"(Z,G){var v=/[\'\"]/;G.exports=function(S){return S?(v.test(S.charAt(0))&&(S=S.substr(1)),v.test(S.charAt(S.length-1))&&(S=S.substr(0,S.length-1)),S):""}}}),i6=Xe({"node_modules/css-global-keywords/index.json"(Z,G){G.exports=["inherit","initial","unset"]}}),n6=Xe({"node_modules/css-system-font-keywords/index.json"(Z,G){G.exports=["caption","icon","menu","message-box","small-caption","status-bar"]}}),o6=Xe({"node_modules/css-font-weight-keywords/index.json"(Z,G){G.exports=["normal","bold","bolder","lighter","100","200","300","400","500","600","700","800","900"]}}),s6=Xe({"node_modules/css-font-style-keywords/index.json"(Z,G){G.exports=["normal","italic","oblique"]}}),l6=Xe({"node_modules/css-font-stretch-keywords/index.json"(Z,G){G.exports=["normal","condensed","semi-condensed","extra-condensed","ultra-condensed","expanded","semi-expanded","extra-expanded","ultra-expanded"]}}),dq=Xe({"node_modules/parenthesis/index.js"(Z,G){"use strict";function v(E,e){if(typeof E!="string")return[E];var t=[E];typeof e=="string"||Array.isArray(e)?e={brackets:e}:e||(e={});var r=e.brackets?Array.isArray(e.brackets)?e.brackets:[e.brackets]:["{}","[]","()"],o=e.escape||"___",a=!!e.flat;r.forEach(function(s){var h=new RegExp(["\\",s[0],"[^\\",s[0],"\\",s[1],"]*\\",s[1]].join("")),c=[];function m(p,T,l){var _=t.push(p.slice(s[0].length,-s[1].length))-1;return c.push(_),o+_+o}t.forEach(function(p,T){for(var l,_=0;p!=l;)if(l=p,p=p.replace(h,m),_++>1e4)throw Error("References have circular dependency. Please, check them.");t[T]=p}),c=c.reverse(),t=t.map(function(p){return c.forEach(function(T){p=p.replace(new RegExp("(\\"+o+T+"\\"+o+")","g"),s[0]+"$1"+s[1])}),p})});var n=new RegExp("\\"+o+"([0-9]+)\\"+o);function i(s,h,c){for(var m=[],p,T=0;p=n.exec(s);){if(T++>1e4)throw Error("Circular references in parenthesis");m.push(s.slice(0,p.index)),m.push(i(h[p[1]],h)),s=s.slice(p.index+p[0].length)}return m.push(s),m}return a?t:i(t[0],t)}function x(E,e){if(e&&e.flat){var t=e&&e.escape||"___",r=E[0],o;if(!r)return"";for(var a=new RegExp("\\"+t+"([0-9]+)\\"+t),n=0;r!=o;){if(n++>1e4)throw Error("Circular references in "+E);o=r,r=r.replace(a,i)}return r}return E.reduce(function s(h,c){return Array.isArray(c)&&(c=c.reduce(s,"")),h+c},"");function i(s,h){if(E[h]==null)throw Error("Reference "+h+"is undefined");return E[h]}}function S(E,e){return Array.isArray(E)?x(E,e):v(E,e)}S.parse=v,S.stringify=x,G.exports=S}}),vq=Xe({"node_modules/string-split-by/index.js"(Z,G){"use strict";var v=dq();G.exports=function(S,E,e){if(S==null)throw Error("First argument should be a string");if(E==null)throw Error("Separator should be a string or a RegExp");e?(typeof e=="string"||Array.isArray(e))&&(e={ignore:e}):e={},e.escape==null&&(e.escape=!0),e.ignore==null?e.ignore=["[]","()","{}","<>",'""',"''","``","\u201C\u201D","\xAB\xBB"]:(typeof e.ignore=="string"&&(e.ignore=[e.ignore]),e.ignore=e.ignore.map(function(h){return h.length===1&&(h=h+h),h}));var t=v.parse(S,{flat:!0,brackets:e.ignore}),r=t[0],o=r.split(E);if(e.escape){for(var a=[],n=0;n<o.length;n++){var i=o[n],s=o[n+1];i[i.length-1]==="\\"&&i[i.length-2]!=="\\"?(a.push(i+E+s),n++):a.push(i)}o=a}for(var n=0;n<o.length;n++)t[0]=o[n],o[n]=v.stringify(t,{flat:!0});return o}}}),mq=Xe({"node_modules/css-font-size-keywords/index.json"(Z,G){G.exports=["xx-small","x-small","small","medium","large","x-large","xx-large","larger","smaller"]}}),u6=Xe({"node_modules/css-font/lib/util.js"(Z,G){"use strict";var v=mq();G.exports={isSize:function(S){return/^[\d\.]/.test(S)||S.indexOf("/")!==-1||v.indexOf(S)!==-1}}}}),gq=Xe({"node_modules/css-font/parse.js"(Z,G){"use strict";var v=pq(),x=i6(),S=n6(),E=o6(),e=s6(),t=l6(),r=vq(),o=u6().isSize;G.exports=n;var a=n.cache={};function n(s){if(typeof s!="string")throw new Error("Font argument must be a string.");if(a[s])return a[s];if(s==="")throw new Error("Cannot parse an empty string.");if(S.indexOf(s)!==-1)return a[s]={system:s};for(var h={style:"normal",variant:"normal",weight:"normal",stretch:"normal",lineHeight:"normal",size:"1rem",family:["serif"]},c=r(s,/\s+/),m;m=c.shift();){if(x.indexOf(m)!==-1)return["style","variant","weight","stretch"].forEach(function(T){h[T]=m}),a[s]=h;if(e.indexOf(m)!==-1){h.style=m;continue}if(m==="normal"||m==="small-caps"){h.variant=m;continue}if(t.indexOf(m)!==-1){h.stretch=m;continue}if(E.indexOf(m)!==-1){h.weight=m;continue}if(o(m)){var p=r(m,"/");if(h.size=p[0],p[1]!=null?h.lineHeight=i(p[1]):c[0]==="/"&&(c.shift(),h.lineHeight=i(c.shift())),!c.length)throw new Error("Missing required font-family.");return h.family=r(c.join(" "),/\s*,\s*/).map(v),a[s]=h}throw new Error("Unknown or unsupported font token: "+m)}throw new Error("Missing required font-size.")}function i(s){var h=parseFloat(s);return h.toString()===s?h:s}}}),c6=Xe({"node_modules/css-font/stringify.js"(Z,G){"use strict";var v=Ev(),x=u6().isSize,S=s(i6()),E=s(n6()),e=s(o6()),t=s(s6()),r=s(l6()),o={normal:1,"small-caps":1},a={serif:1,"sans-serif":1,monospace:1,cursive:1,fantasy:1,"system-ui":1},n={style:"normal",variant:"normal",weight:"normal",stretch:"normal",size:"1rem",lineHeight:"normal",family:"serif"};G.exports=function(c){if(c=v(c,{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"}),c.system)return c.system&&i(c.system,E),c.system;if(i(c.style,t),i(c.variant,o),i(c.weight,e),i(c.stretch,r),c.size==null&&(c.size=n.size),typeof c.size=="number"&&(c.size+="px"),!x)throw Error("Bad size value `"+c.size+"`");c.family||(c.family=n.family),Array.isArray(c.family)&&(c.family.length||(c.family=[n.family]),c.family=c.family.map(function(p){return a[p]?p:'"'+p+'"'}).join(", "));var m=[];return m.push(c.style),c.variant!==c.style&&m.push(c.variant),c.weight!==c.variant&&c.weight!==c.style&&m.push(c.weight),c.stretch!==c.weight&&c.stretch!==c.variant&&c.stretch!==c.style&&m.push(c.stretch),m.push(c.size+(c.lineHeight==null||c.lineHeight==="normal"||c.lineHeight+""=="1"?"":"/"+c.lineHeight)),m.push(c.family),m.filter(Boolean).join(" ")};function i(h,c){if(h&&!c[h]&&!S[h])throw Error("Unknown keyword `"+h+"`");return h}function s(h){for(var c={},m=0;m<h.length;m++)c[h[m]]=1;return c}}}),yq=Xe({"node_modules/css-font/index.js"(Z,G){"use strict";G.exports={parse:gq(),stringify:c6()}}}),_q=Xe({"node_modules/regl/dist/regl.unchecked.js"(Z,G){(function(v,x){typeof Z=="object"&&typeof G<"u"?G.exports=x():v.createREGL=x()})(Z,function(){"use strict";var v=function(it,Zt){for(var fr=Object.keys(Zt),oa=0;oa<fr.length;++oa)it[fr[oa]]=Zt[fr[oa]];return it},x=0,S=0,E=5,e=6;function t(it,Zt){this.id=x++,this.type=it,this.data=Zt}function r(it){return it.replace(/\\/g,"\\\\").replace(/"/g,'\\"')}function o(it){if(it.length===0)return[];var Zt=it.charAt(0),fr=it.charAt(it.length-1);if(it.length>1&&Zt===fr&&(Zt==='"'||Zt==="'"))return['"'+r(it.substr(1,it.length-2))+'"'];var oa=/\[(false|true|null|\d+|'[^']*'|"[^"]*")\]/.exec(it);if(oa)return o(it.substr(0,oa.index)).concat(o(oa[1])).concat(o(it.substr(oa.index+oa[0].length)));var wa=it.split(".");if(wa.length===1)return['"'+r(it)+'"'];for(var ma=[],_a=0;_a<wa.length;++_a)ma=ma.concat(o(wa[_a]));return ma}function a(it){return"["+o(it).join("][")+"]"}function n(it,Zt){return new t(it,a(Zt+""))}function i(it){return typeof it=="function"&&!it._reglType||it instanceof t}function s(it,Zt){if(typeof it=="function")return new t(S,it);if(typeof it=="number"||typeof it=="boolean")return new t(E,it);if(Array.isArray(it))return new t(e,it.map(function(fr,oa){return s(fr,Zt+"["+oa+"]")}));if(it instanceof t)return it}var h={DynamicVariable:t,define:n,isDynamic:i,unbox:s,accessor:a},c={next:typeof requestAnimationFrame=="function"?function(it){return requestAnimationFrame(it)}:function(it){return setTimeout(it,16)},cancel:typeof cancelAnimationFrame=="function"?function(it){return cancelAnimationFrame(it)}:clearTimeout},m=typeof performance<"u"&&performance.now?function(){return performance.now()}:function(){return+new Date};function p(){var it={"":0},Zt=[""];return{id:function(fr){var oa=it[fr];return oa||(oa=it[fr]=Zt.length,Zt.push(fr),oa)},str:function(fr){return Zt[fr]}}}function T(it,Zt,fr){var oa=document.createElement("canvas");v(oa.style,{border:0,margin:0,padding:0,top:0,left:0,width:"100%",height:"100%"}),it.appendChild(oa),it===document.body&&(oa.style.position="absolute",v(it.style,{margin:0,padding:0}));function wa(){var Ya=window.innerWidth,bi=window.innerHeight;if(it!==document.body){var yi=oa.getBoundingClientRect();Ya=yi.right-yi.left,bi=yi.bottom-yi.top}oa.width=fr*Ya,oa.height=fr*bi}var ma;it!==document.body&&typeof ResizeObserver=="function"?(ma=new ResizeObserver(function(){setTimeout(wa)}),ma.observe(it)):window.addEventListener("resize",wa,!1);function _a(){ma?ma.disconnect():window.removeEventListener("resize",wa),it.removeChild(oa)}return wa(),{canvas:oa,onDestroy:_a}}function l(it,Zt){function fr(oa){try{return it.getContext(oa,Zt)}catch{return null}}return fr("webgl")||fr("experimental-webgl")||fr("webgl-experimental")}function _(it){return typeof it.nodeName=="string"&&typeof it.appendChild=="function"&&typeof it.getBoundingClientRect=="function"}function w(it){return typeof it.drawArrays=="function"||typeof it.drawElements=="function"}function A(it){return typeof it=="string"?it.split():it}function M(it){return typeof it=="string"?document.querySelector(it):it}function g(it){var Zt=it||{},fr,oa,wa,ma,_a={},Ya=[],bi=[],yi=typeof window>"u"?1:window.devicePixelRatio,si=!1,yn={},zi=function(ea){},Ei=function(){};if(typeof Zt=="string"?fr=document.querySelector(Zt):typeof Zt=="object"&&(_(Zt)?fr=Zt:w(Zt)?(ma=Zt,wa=ma.canvas):("gl"in Zt?ma=Zt.gl:"canvas"in Zt?wa=M(Zt.canvas):"container"in Zt&&(oa=M(Zt.container)),"attributes"in Zt&&(_a=Zt.attributes),"extensions"in Zt&&(Ya=A(Zt.extensions)),"optionalExtensions"in Zt&&(bi=A(Zt.optionalExtensions)),"onDone"in Zt&&(zi=Zt.onDone),"profile"in Zt&&(si=!!Zt.profile),"pixelRatio"in Zt&&(yi=+Zt.pixelRatio),"cachedCode"in Zt&&(yn=Zt.cachedCode))),fr&&(fr.nodeName.toLowerCase()==="canvas"?wa=fr:oa=fr),!ma){if(!wa){var Na=T(oa||document.body,zi,yi);if(!Na)return null;wa=Na.canvas,Ei=Na.onDestroy}_a.premultipliedAlpha===void 0&&(_a.premultipliedAlpha=!0),ma=l(wa,_a)}return ma?{gl:ma,canvas:wa,container:oa,extensions:Ya,optionalExtensions:bi,pixelRatio:yi,profile:si,cachedCode:yn,onDone:zi,onDestroy:Ei}:(Ei(),zi("webgl not supported, try upgrading your browser or graphics drivers http://get.webgl.org"),null)}function b(it,Zt){var fr={};function oa(_a){var Ya=_a.toLowerCase(),bi;try{bi=fr[Ya]=it.getExtension(Ya)}catch{}return!!bi}for(var wa=0;wa<Zt.extensions.length;++wa){var ma=Zt.extensions[wa];if(!oa(ma))return Zt.onDestroy(),Zt.onDone('"'+ma+'" extension is not supported by the current WebGL context, try upgrading your system or a different browser'),null}return Zt.optionalExtensions.forEach(oa),{extensions:fr,restore:function(){Object.keys(fr).forEach(function(_a){if(fr[_a]&&!oa(_a))throw new Error("(regl): error restoring extension "+_a)})}}}function d(it,Zt){for(var fr=Array(it),oa=0;oa<it;++oa)fr[oa]=Zt(oa);return fr}var u=5120,y=5121,f=5122,R=5123,L=5124,z=5125,F=5126;function N(it){for(var Zt=16;Zt<=1<<28;Zt*=16)if(it<=Zt)return Zt;return 0}function O(it){var Zt,fr;return Zt=(it>65535)<<4,it>>>=Zt,fr=(it>255)<<3,it>>>=fr,Zt|=fr,fr=(it>15)<<2,it>>>=fr,Zt|=fr,fr=(it>3)<<1,it>>>=fr,Zt|=fr,Zt|it>>1}function P(){var it=d(8,function(){return[]});function Zt(ma){var _a=N(ma),Ya=it[O(_a)>>2];return Ya.length>0?Ya.pop():new ArrayBuffer(_a)}function fr(ma){it[O(ma.byteLength)>>2].push(ma)}function oa(ma,_a){var Ya=null;switch(ma){case u:Ya=new Int8Array(Zt(_a),0,_a);break;case y:Ya=new Uint8Array(Zt(_a),0,_a);break;case f:Ya=new Int16Array(Zt(2*_a),0,_a);break;case R:Ya=new Uint16Array(Zt(2*_a),0,_a);break;case L:Ya=new Int32Array(Zt(4*_a),0,_a);break;case z:Ya=new Uint32Array(Zt(4*_a),0,_a);break;case F:Ya=new Float32Array(Zt(4*_a),0,_a);break;default:return null}return Ya.length!==_a?Ya.subarray(0,_a):Ya}function wa(ma){fr(ma.buffer)}return{alloc:Zt,free:fr,allocType:oa,freeType:wa}}var U=P();U.zero=P();var B=3408,X=3410,$=3411,se=3412,le=3413,fe=3414,V=3415,Y=33901,ee=33902,q=3379,oe=3386,ae=34921,j=36347,Q=36348,re=35661,ce=35660,be=34930,Ae=36349,De=34076,ze=34024,Ze=7936,at=7937,nt=7938,rt=35724,st=34047,Me=36063,ye=34852,he=3553,Oe=34067,tt=34069,ot=33984,Qe=6408,Pt=5126,It=5121,qt=36160,Wt=36053,kr=36064,mr=16384,qr=function(it,Zt){var fr=1;Zt.ext_texture_filter_anisotropic&&(fr=it.getParameter(st));var oa=1,wa=1;Zt.webgl_draw_buffers&&(oa=it.getParameter(ye),wa=it.getParameter(Me));var ma=!!Zt.oes_texture_float;if(ma){var _a=it.createTexture();it.bindTexture(he,_a),it.texImage2D(he,0,Qe,1,1,0,Qe,Pt,null);var Ya=it.createFramebuffer();if(it.bindFramebuffer(qt,Ya),it.framebufferTexture2D(qt,kr,he,_a,0),it.bindTexture(he,null),it.checkFramebufferStatus(qt)!==Wt)ma=!1;else{it.viewport(0,0,1,1),it.clearColor(1,0,0,1),it.clear(mr);var bi=U.allocType(Pt,4);it.readPixels(0,0,1,1,Qe,Pt,bi),it.getError()?ma=!1:(it.deleteFramebuffer(Ya),it.deleteTexture(_a),ma=bi[0]===1),U.freeType(bi)}}var yi=typeof navigator<"u"&&(/MSIE/.test(navigator.userAgent)||/Trident\//.test(navigator.appVersion)||/Edge/.test(navigator.userAgent)),si=!0;if(!yi){var yn=it.createTexture(),zi=U.allocType(It,36);it.activeTexture(ot),it.bindTexture(Oe,yn),it.texImage2D(tt,0,Qe,3,3,0,Qe,It,zi),U.freeType(zi),it.bindTexture(Oe,null),it.deleteTexture(yn),si=!it.getError()}return{colorBits:[it.getParameter(X),it.getParameter($),it.getParameter(se),it.getParameter(le)],depthBits:it.getParameter(fe),stencilBits:it.getParameter(V),subpixelBits:it.getParameter(B),extensions:Object.keys(Zt).filter(function(Ei){return!!Zt[Ei]}),maxAnisotropic:fr,maxDrawbuffers:oa,maxColorAttachments:wa,pointSizeDims:it.getParameter(Y),lineWidthDims:it.getParameter(ee),maxViewportDims:it.getParameter(oe),maxCombinedTextureUnits:it.getParameter(re),maxCubeMapSize:it.getParameter(De),maxRenderbufferSize:it.getParameter(ze),maxTextureUnits:it.getParameter(be),maxTextureSize:it.getParameter(q),maxAttributes:it.getParameter(ae),maxVertexUniforms:it.getParameter(j),maxVertexTextureUnits:it.getParameter(ce),maxVaryingVectors:it.getParameter(Q),maxFragmentUniforms:it.getParameter(Ae),glsl:it.getParameter(rt),renderer:it.getParameter(at),vendor:it.getParameter(Ze),version:it.getParameter(nt),readFloat:ma,npotTextureCube:si}},Sr=function(it){return it instanceof Uint8Array||it instanceof Uint16Array||it instanceof Uint32Array||it instanceof Int8Array||it instanceof Int16Array||it instanceof Int32Array||it instanceof Float32Array||it instanceof Float64Array||it instanceof Uint8ClampedArray};function Rr(it){return!!it&&typeof it=="object"&&Array.isArray(it.shape)&&Array.isArray(it.stride)&&typeof it.offset=="number"&&it.shape.length===it.stride.length&&(Array.isArray(it.data)||Sr(it.data))}var wt=function(it){return Object.keys(it).map(function(Zt){return it[Zt]})},Ne={shape:Ee,flatten:Ce};function Ke(it,Zt,fr){for(var oa=0;oa<Zt;++oa)fr[oa]=it[oa]}function Te(it,Zt,fr,oa){for(var wa=0,ma=0;ma<Zt;++ma)for(var _a=it[ma],Ya=0;Ya<fr;++Ya)oa[wa++]=_a[Ya]}function Ie(it,Zt,fr,oa,wa,ma){for(var _a=ma,Ya=0;Ya<Zt;++Ya)for(var bi=it[Ya],yi=0;yi<fr;++yi)for(var si=bi[yi],yn=0;yn<oa;++yn)wa[_a++]=si[yn]}function Ve(it,Zt,fr,oa,wa){for(var ma=1,_a=fr+1;_a<Zt.length;++_a)ma*=Zt[_a];var Ya=Zt[fr];if(Zt.length-fr===4){var bi=Zt[fr+1],yi=Zt[fr+2],si=Zt[fr+3];for(_a=0;_a<Ya;++_a)Ie(it[_a],bi,yi,si,oa,wa),wa+=ma}else for(_a=0;_a<Ya;++_a)Ve(it[_a],Zt,fr+1,oa,wa),wa+=ma}function Ce(it,Zt,fr,oa){var wa=1;if(Zt.length)for(var ma=0;ma<Zt.length;++ma)wa*=Zt[ma];else wa=0;var _a=oa||U.allocType(fr,wa);switch(Zt.length){case 0:break;case 1:Ke(it,Zt[0],_a);break;case 2:Te(it,Zt[0],Zt[1],_a);break;case 3:Ie(it,Zt[0],Zt[1],Zt[2],_a,0);break;default:Ve(it,Zt,0,_a,0)}return _a}function Ee(it){for(var Zt=[],fr=it;fr.length;fr=fr[0])Zt.push(fr.length);return Zt}var Pe={"[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},ft=5120,ct=5122,_t=5124,Ct=5121,ir=5123,rr=5125,er=5126,Lr=5126,fa={int8:ft,int16:ct,int32:_t,uint8:Ct,uint16:ir,uint32:rr,float:er,float32:Lr},Da=35048,Ia=35040,qa={dynamic:Da,stream:Ia,static:35044},Wa=Ne.flatten,Ca=Ne.shape,hi=35044,wi=35040,Kt=5121,Ft=5126,Yt=[];Yt[5120]=1,Yt[5122]=2,Yt[5124]=4,Yt[5121]=1,Yt[5123]=2,Yt[5125]=4,Yt[5126]=4;function Jt(it){return Pe[Object.prototype.toString.call(it)]|0}function Fr(it,Zt){for(var fr=0;fr<Zt.length;++fr)it[fr]=Zt[fr]}function ta(it,Zt,fr,oa,wa,ma,_a){for(var Ya=0,bi=0;bi<fr;++bi)for(var yi=0;yi<oa;++yi)it[Ya++]=Zt[wa*bi+ma*yi+_a]}function ra(it,Zt,fr,oa){var wa=0,ma={};function _a(ea){this.id=wa++,this.buffer=it.createBuffer(),this.type=ea,this.usage=hi,this.byteLength=0,this.dimension=1,this.dtype=Kt,this.persistentData=null,fr.profile&&(this.stats={size:0})}_a.prototype.bind=function(){it.bindBuffer(this.type,this.buffer)},_a.prototype.destroy=function(){zi(this)};var Ya=[];function bi(ea,Ma){var Qa=Ya.pop();return Qa||(Qa=new _a(ea)),Qa.bind(),yn(Qa,Ma,wi,0,1,!1),Qa}function yi(ea){Ya.push(ea)}function si(ea,Ma,Qa){ea.byteLength=Ma.byteLength,it.bufferData(ea.type,Ma,Qa)}function yn(ea,Ma,Qa,di,Va,Bi){var Li;if(ea.usage=Qa,Array.isArray(Ma)){if(ea.dtype=di||Ft,Ma.length>0){var pn;if(Array.isArray(Ma[0])){Li=Ca(Ma);for(var Ha=1,Ua=1;Ua<Li.length;++Ua)Ha*=Li[Ua];ea.dimension=Ha,pn=Wa(Ma,Li,ea.dtype),si(ea,pn,Qa),Bi?ea.persistentData=pn:U.freeType(pn)}else if(typeof Ma[0]=="number"){ea.dimension=Va;var Yi=U.allocType(ea.dtype,Ma.length);Fr(Yi,Ma),si(ea,Yi,Qa),Bi?ea.persistentData=Yi:U.freeType(Yi)}else Sr(Ma[0])&&(ea.dimension=Ma[0].length,ea.dtype=di||Jt(Ma[0])||Ft,pn=Wa(Ma,[Ma.length,Ma[0].length],ea.dtype),si(ea,pn,Qa),Bi?ea.persistentData=pn:U.freeType(pn))}}else if(Sr(Ma))ea.dtype=di||Jt(Ma),ea.dimension=Va,si(ea,Ma,Qa),Bi&&(ea.persistentData=new Uint8Array(new Uint8Array(Ma.buffer)));else if(Rr(Ma)){Li=Ma.shape;var Ri=Ma.stride,Ti=Ma.offset,xi=0,Xi=0,mn=0,In=0;Li.length===1?(xi=Li[0],Xi=1,mn=Ri[0],In=0):Li.length===2&&(xi=Li[0],Xi=Li[1],mn=Ri[0],In=Ri[1]),ea.dtype=di||Jt(Ma.data)||Ft,ea.dimension=Xi;var Ii=U.allocType(ea.dtype,xi*Xi);ta(Ii,Ma.data,xi,Xi,mn,In,Ti),si(ea,Ii,Qa),Bi?ea.persistentData=Ii:U.freeType(Ii)}else Ma instanceof ArrayBuffer&&(ea.dtype=Kt,ea.dimension=Va,si(ea,Ma,Qa),Bi&&(ea.persistentData=new Uint8Array(new Uint8Array(Ma))))}function zi(ea){Zt.bufferCount--,oa(ea);var Ma=ea.buffer;it.deleteBuffer(Ma),ea.buffer=null,delete ma[ea.id]}function Ei(ea,Ma,Qa,di){Zt.bufferCount++;var Va=new _a(Ma);ma[Va.id]=Va;function Bi(Ha){var Ua=hi,Yi=null,Ri=0,Ti=0,xi=1;return Array.isArray(Ha)||Sr(Ha)||Rr(Ha)||Ha instanceof ArrayBuffer?Yi=Ha:typeof Ha=="number"?Ri=Ha|0:Ha&&("data"in Ha&&(Yi=Ha.data),"usage"in Ha&&(Ua=qa[Ha.usage]),"type"in Ha&&(Ti=fa[Ha.type]),"dimension"in Ha&&(xi=Ha.dimension|0),"length"in Ha&&(Ri=Ha.length|0)),Va.bind(),Yi?yn(Va,Yi,Ua,Ti,xi,di):(Ri&&it.bufferData(Va.type,Ri,Ua),Va.dtype=Ti||Kt,Va.usage=Ua,Va.dimension=xi,Va.byteLength=Ri),fr.profile&&(Va.stats.size=Va.byteLength*Yt[Va.dtype]),Bi}function Li(Ha,Ua){it.bufferSubData(Va.type,Ua,Ha)}function pn(Ha,Ua){var Yi=(Ua||0)|0,Ri;if(Va.bind(),Sr(Ha)||Ha instanceof ArrayBuffer)Li(Ha,Yi);else if(Array.isArray(Ha)){if(Ha.length>0){if(typeof Ha[0]=="number"){var Ti=U.allocType(Va.dtype,Ha.length);Fr(Ti,Ha),Li(Ti,Yi),U.freeType(Ti)}else if(Array.isArray(Ha[0])||Sr(Ha[0])){Ri=Ca(Ha);var xi=Wa(Ha,Ri,Va.dtype);Li(xi,Yi),U.freeType(xi)}}}else if(Rr(Ha)){Ri=Ha.shape;var Xi=Ha.stride,mn=0,In=0,Ii=0,an=0;Ri.length===1?(mn=Ri[0],In=1,Ii=Xi[0],an=0):Ri.length===2&&(mn=Ri[0],In=Ri[1],Ii=Xi[0],an=Xi[1]);var kn=Array.isArray(Ha.data)?Va.dtype:Jt(Ha.data),Dn=U.allocType(kn,mn*In);ta(Dn,Ha.data,mn,In,Ii,an,Ha.offset),Li(Dn,Yi),U.freeType(Dn)}return Bi}return Qa||Bi(ea),Bi._reglType="buffer",Bi._buffer=Va,Bi.subdata=pn,fr.profile&&(Bi.stats=Va.stats),Bi.destroy=function(){zi(Va)},Bi}function Na(){wt(ma).forEach(function(ea){ea.buffer=it.createBuffer(),it.bindBuffer(ea.type,ea.buffer),it.bufferData(ea.type,ea.persistentData||ea.byteLength,ea.usage)})}return fr.profile&&(Zt.getTotalBufferSize=function(){var ea=0;return Object.keys(ma).forEach(function(Ma){ea+=ma[Ma].stats.size}),ea}),{create:Ei,createStream:bi,destroyStream:yi,clear:function(){wt(ma).forEach(zi),Ya.forEach(zi)},getBuffer:function(ea){return ea&&ea._buffer instanceof _a?ea._buffer:null},restore:Na,_initBuffer:yn}}var ca=0,Ba=0,$a=1,Za=1,ri=4,pi=4,Ra={points:ca,point:Ba,lines:$a,line:Za,triangles:ri,triangle:pi,"line loop":2,"line strip":3,"triangle strip":5,"triangle fan":6},tn=0,on=1,hn=4,Tt=5120,ut=5121,Br=5122,Cr=5123,xr=5124,Ir=5125,Ur=34963,Hr=35040,xt=35044;function Xt(it,Zt,fr,oa){var wa={},ma=0,_a={uint8:ut,uint16:Cr};Zt.oes_element_index_uint&&(_a.uint32=Ir);function Ya(Na){this.id=ma++,wa[this.id]=this,this.buffer=Na,this.primType=hn,this.vertCount=0,this.type=0}Ya.prototype.bind=function(){this.buffer.bind()};var bi=[];function yi(Na){var ea=bi.pop();return ea||(ea=new Ya(fr.create(null,Ur,!0,!1)._buffer)),yn(ea,Na,Hr,-1,-1,0,0),ea}function si(Na){bi.push(Na)}function yn(Na,ea,Ma,Qa,di,Va,Bi){Na.buffer.bind();var Li;if(ea){var pn=Bi;!Bi&&(!Sr(ea)||Rr(ea)&&!Sr(ea.data))&&(pn=Zt.oes_element_index_uint?Ir:Cr),fr._initBuffer(Na.buffer,ea,Ma,pn,3)}else it.bufferData(Ur,Va,Ma),Na.buffer.dtype=Li||ut,Na.buffer.usage=Ma,Na.buffer.dimension=3,Na.buffer.byteLength=Va;if(Li=Bi,!Bi){switch(Na.buffer.dtype){case ut:case Tt:Li=ut;break;case Cr:case Br:Li=Cr;break;case Ir:case xr:Li=Ir;break;default:}Na.buffer.dtype=Li}Na.type=Li;var Ha=di;Ha<0&&(Ha=Na.buffer.byteLength,Li===Cr?Ha>>=1:Li===Ir&&(Ha>>=2)),Na.vertCount=Ha;var Ua=Qa;if(Qa<0){Ua=hn;var Yi=Na.buffer.dimension;Yi===1&&(Ua=tn),Yi===2&&(Ua=on),Yi===3&&(Ua=hn)}Na.primType=Ua}function zi(Na){oa.elementsCount--,delete wa[Na.id],Na.buffer.destroy(),Na.buffer=null}function Ei(Na,ea){var Ma=fr.create(null,Ur,!0),Qa=new Ya(Ma._buffer);oa.elementsCount++;function di(Va){if(!Va)Ma(),Qa.primType=hn,Qa.vertCount=0,Qa.type=ut;else if(typeof Va=="number")Ma(Va),Qa.primType=hn,Qa.vertCount=Va|0,Qa.type=ut;else{var Bi=null,Li=xt,pn=-1,Ha=-1,Ua=0,Yi=0;Array.isArray(Va)||Sr(Va)||Rr(Va)?Bi=Va:("data"in Va&&(Bi=Va.data),"usage"in Va&&(Li=qa[Va.usage]),"primitive"in Va&&(pn=Ra[Va.primitive]),"count"in Va&&(Ha=Va.count|0),"type"in Va&&(Yi=_a[Va.type]),"length"in Va?Ua=Va.length|0:(Ua=Ha,Yi===Cr||Yi===Br?Ua*=2:(Yi===Ir||Yi===xr)&&(Ua*=4))),yn(Qa,Bi,Li,pn,Ha,Ua,Yi)}return di}return di(Na),di._reglType="elements",di._elements=Qa,di.subdata=function(Va,Bi){return Ma.subdata(Va,Bi),di},di.destroy=function(){zi(Qa)},di}return{create:Ei,createStream:yi,destroyStream:si,getElements:function(Na){return typeof Na=="function"&&Na._elements instanceof Ya?Na._elements:null},clear:function(){wt(wa).forEach(zi)}}}var vr=new Float32Array(1),Or=new Uint32Array(vr.buffer),ba=5123;function Pa(it){for(var Zt=U.allocType(ba,it.length),fr=0;fr<it.length;++fr)if(isNaN(it[fr]))Zt[fr]=65535;else if(it[fr]===1/0)Zt[fr]=31744;else if(it[fr]===-1/0)Zt[fr]=64512;else{vr[0]=it[fr];var oa=Or[0],wa=oa>>>31<<15,ma=(oa<<1>>>24)-127,_a=oa>>13&1023;if(ma<-24)Zt[fr]=wa;else if(ma<-14){var Ya=-14-ma;Zt[fr]=wa+(_a+1024>>Ya)}else ma>15?Zt[fr]=wa+31744:Zt[fr]=wa+(ma+15<<10)+_a}return Zt}function ya(it){return Array.isArray(it)||Sr(it)}var la=34467,Ta=3553,Ai=34067,ki=34069,Ki=6408,_n=6406,Rn=6407,En=6409,On=6410,no=32854,cn=32855,lo=36194,Wo=32819,hs=32820,Oo=33635,Wn=34042,No=6402,as=34041,Ns=35904,ss=35906,uo=36193,jn=33776,Xn=33777,ls=33778,Cs=33779,Ks=35986,Xo=35987,Gi=34798,Ln=35840,Us=35841,_s=35842,Gn=35843,zs=36196,vs=5121,Ws=5123,il=5125,xn=5126,ko=10242,bo=10243,Is=10497,pu=33071,co=33648,Vs=10240,vl=10241,Ts=9728,js=9729,us=9984,As=9985,Nl=9986,su=9987,Tc=33170,du=4352,Sf=4353,Uc=4354,Fs=34046,dc=3317,Hc=37440,lu=37441,Pl=37443,ic=37444,Ou=33984,nl=[us,Nl,As,su],ml=[0,En,On,Rn,Ki],xs={};xs[En]=xs[_n]=xs[No]=1,xs[as]=xs[On]=2,xs[Rn]=xs[Ns]=3,xs[Ki]=xs[ss]=4;function Xs(it){return"[object "+it+"]"}var nc=Xs("HTMLCanvasElement"),Ul=Xs("OffscreenCanvas"),qu=Xs("CanvasRenderingContext2D"),fl=Xs("ImageBitmap"),xh=Xs("HTMLImageElement"),ns=Xs("HTMLVideoElement"),bh=Object.keys(Pe).concat([nc,Ul,qu,fl,xh,ns]),Es=[];Es[vs]=1,Es[xn]=4,Es[uo]=2,Es[Ws]=2,Es[il]=4;var to=[];to[no]=2,to[cn]=2,to[lo]=2,to[as]=4,to[jn]=.5,to[Xn]=.5,to[ls]=1,to[Cs]=1,to[Ks]=.5,to[Xo]=1,to[Gi]=1,to[Ln]=.5,to[Us]=.25,to[_s]=.5,to[Gn]=.25,to[zs]=.5;function Wc(it){return Array.isArray(it)&&(it.length===0||typeof it[0]=="number")}function Vu(it){if(!Array.isArray(it))return!1;var Zt=it.length;return!(Zt===0||!ya(it[0]))}function jl(it){return Object.prototype.toString.call(it)}function Mf(it){return jl(it)===nc}function Ac(it){return jl(it)===Ul}function nf(it){return jl(it)===qu}function $l(it){return jl(it)===fl}function Jf(it){return jl(it)===xh}function Of(it){return jl(it)===ns}function of(it){if(!it)return!1;var Zt=jl(it);return bh.indexOf(Zt)>=0?!0:Wc(it)||Vu(it)||Rr(it)}function jc(it){return Pe[Object.prototype.toString.call(it)]|0}function Bf(it,Zt){var fr=Zt.length;switch(it.type){case vs:case Ws:case il:case xn:var oa=U.allocType(it.type,fr);oa.set(Zt),it.data=oa;break;case uo:it.data=Pa(Zt);break;default:}}function Nf(it,Zt){return U.allocType(it.type===uo?xn:it.type,Zt)}function Gu(it,Zt){it.type===uo?(it.data=Pa(Zt),U.freeType(Zt)):it.data=Zt}function Ef(it,Zt,fr,oa,wa,ma){for(var _a=it.width,Ya=it.height,bi=it.channels,yi=_a*Ya*bi,si=Nf(it,yi),yn=0,zi=0;zi<Ya;++zi)for(var Ei=0;Ei<_a;++Ei)for(var Na=0;Na<bi;++Na)si[yn++]=Zt[fr*Ei+oa*zi+wa*Na+ma];Gu(it,si)}function oc(it,Zt,fr,oa,wa,ma){var _a;if(typeof to[it]<"u"?_a=to[it]:_a=xs[it]*Es[Zt],ma&&(_a*=6),wa){for(var Ya=0,bi=fr;bi>=1;)Ya+=_a*bi*bi,bi/=2;return Ya}else return _a*fr*oa}function Xc(it,Zt,fr,oa,wa,ma,_a){var Ya={"don't care":du,"dont care":du,nice:Uc,fast:Sf},bi={repeat:Is,clamp:pu,mirror:co},yi={nearest:Ts,linear:js},si=v({mipmap:su,"nearest mipmap nearest":us,"linear mipmap nearest":As,"nearest mipmap linear":Nl,"linear mipmap linear":su},yi),yn={none:0,browser:ic},zi={uint8:vs,rgba4:Wo,rgb565:Oo,"rgb5 a1":hs},Ei={alpha:_n,luminance:En,"luminance alpha":On,rgb:Rn,rgba:Ki,rgba4:no,"rgb5 a1":cn,rgb565:lo},Na={};Zt.ext_srgb&&(Ei.srgb=Ns,Ei.srgba=ss),Zt.oes_texture_float&&(zi.float32=zi.float=xn),Zt.oes_texture_half_float&&(zi.float16=zi["half float"]=uo),Zt.webgl_depth_texture&&(v(Ei,{depth:No,"depth stencil":as}),v(zi,{uint16:Ws,uint32:il,"depth stencil":Wn})),Zt.webgl_compressed_texture_s3tc&&v(Na,{"rgb s3tc dxt1":jn,"rgba s3tc dxt1":Xn,"rgba s3tc dxt3":ls,"rgba s3tc dxt5":Cs}),Zt.webgl_compressed_texture_atc&&v(Na,{"rgb atc":Ks,"rgba atc explicit alpha":Xo,"rgba atc interpolated alpha":Gi}),Zt.webgl_compressed_texture_pvrtc&&v(Na,{"rgb pvrtc 4bppv1":Ln,"rgb pvrtc 2bppv1":Us,"rgba pvrtc 4bppv1":_s,"rgba pvrtc 2bppv1":Gn}),Zt.webgl_compressed_texture_etc1&&(Na["rgb etc1"]=zs);var ea=Array.prototype.slice.call(it.getParameter(la));Object.keys(Na).forEach(function(Le){var $e=Na[Le];ea.indexOf($e)>=0&&(Ei[Le]=$e)});var Ma=Object.keys(Ei);fr.textureFormats=Ma;var Qa=[];Object.keys(Ei).forEach(function(Le){var $e=Ei[Le];Qa[$e]=Le});var di=[];Object.keys(zi).forEach(function(Le){var $e=zi[Le];di[$e]=Le});var Va=[];Object.keys(yi).forEach(function(Le){var $e=yi[Le];Va[$e]=Le});var Bi=[];Object.keys(si).forEach(function(Le){var $e=si[Le];Bi[$e]=Le});var Li=[];Object.keys(bi).forEach(function(Le){var $e=bi[Le];Li[$e]=Le});var pn=Ma.reduce(function(Le,$e){var gt=Ei[$e];return gt===En||gt===_n||gt===En||gt===On||gt===No||gt===as||Zt.ext_srgb&&(gt===Ns||gt===ss)?Le[gt]=gt:gt===cn||$e.indexOf("rgba")>=0?Le[gt]=Ki:Le[gt]=Rn,Le},{});function Ha(){this.internalformat=Ki,this.format=Ki,this.type=vs,this.compressed=!1,this.premultiplyAlpha=!1,this.flipY=!1,this.unpackAlignment=1,this.colorSpace=ic,this.width=0,this.height=0,this.channels=0}function Ua(Le,$e){Le.internalformat=$e.internalformat,Le.format=$e.format,Le.type=$e.type,Le.compressed=$e.compressed,Le.premultiplyAlpha=$e.premultiplyAlpha,Le.flipY=$e.flipY,Le.unpackAlignment=$e.unpackAlignment,Le.colorSpace=$e.colorSpace,Le.width=$e.width,Le.height=$e.height,Le.channels=$e.channels}function Yi(Le,$e){if(!(typeof $e!="object"||!$e)){if("premultiplyAlpha"in $e&&(Le.premultiplyAlpha=$e.premultiplyAlpha),"flipY"in $e&&(Le.flipY=$e.flipY),"alignment"in $e&&(Le.unpackAlignment=$e.alignment),"colorSpace"in $e&&(Le.colorSpace=yn[$e.colorSpace]),"type"in $e){var gt=$e.type;Le.type=zi[gt]}var jt=Le.width,wr=Le.height,Nr=Le.channels,pr=!1;"shape"in $e?(jt=$e.shape[0],wr=$e.shape[1],$e.shape.length===3&&(Nr=$e.shape[2],pr=!0)):("radius"in $e&&(jt=wr=$e.radius),"width"in $e&&(jt=$e.width),"height"in $e&&(wr=$e.height),"channels"in $e&&(Nr=$e.channels,pr=!0)),Le.width=jt|0,Le.height=wr|0,Le.channels=Nr|0;var yt=!1;if("format"in $e){var kt=$e.format,Bt=Le.internalformat=Ei[kt];Le.format=pn[Bt],kt in zi&&("type"in $e||(Le.type=zi[kt])),kt in Na&&(Le.compressed=!0),yt=!0}!pr&&yt?Le.channels=xs[Le.format]:pr&&!yt&&Le.channels!==ml[Le.format]&&(Le.format=Le.internalformat=ml[Le.channels])}}function Ri(Le){it.pixelStorei(Hc,Le.flipY),it.pixelStorei(lu,Le.premultiplyAlpha),it.pixelStorei(Pl,Le.colorSpace),it.pixelStorei(dc,Le.unpackAlignment)}function Ti(){Ha.call(this),this.xOffset=0,this.yOffset=0,this.data=null,this.needsFree=!1,this.element=null,this.needsCopy=!1}function xi(Le,$e){var gt=null;if(of($e)?gt=$e:$e&&(Yi(Le,$e),"x"in $e&&(Le.xOffset=$e.x|0),"y"in $e&&(Le.yOffset=$e.y|0),of($e.data)&&(gt=$e.data)),$e.copy){var jt=wa.viewportWidth,wr=wa.viewportHeight;Le.width=Le.width||jt-Le.xOffset,Le.height=Le.height||wr-Le.yOffset,Le.needsCopy=!0}else if(!gt)Le.width=Le.width||1,Le.height=Le.height||1,Le.channels=Le.channels||4;else if(Sr(gt))Le.channels=Le.channels||4,Le.data=gt,!("type"in $e)&&Le.type===vs&&(Le.type=jc(gt));else if(Wc(gt))Le.channels=Le.channels||4,Bf(Le,gt),Le.alignment=1,Le.needsFree=!0;else if(Rr(gt)){var Nr=gt.data;!Array.isArray(Nr)&&Le.type===vs&&(Le.type=jc(Nr));var pr=gt.shape,yt=gt.stride,kt,Bt,nr,hr,lr,dr;pr.length===3?(nr=pr[2],dr=yt[2]):(nr=1,dr=1),kt=pr[0],Bt=pr[1],hr=yt[0],lr=yt[1],Le.alignment=1,Le.width=kt,Le.height=Bt,Le.channels=nr,Le.format=Le.internalformat=ml[nr],Le.needsFree=!0,Ef(Le,Nr,hr,lr,dr,gt.offset)}else if(Mf(gt)||Ac(gt)||nf(gt))Mf(gt)||Ac(gt)?Le.element=gt:Le.element=gt.canvas,Le.width=Le.element.width,Le.height=Le.element.height,Le.channels=4;else if($l(gt))Le.element=gt,Le.width=gt.width,Le.height=gt.height,Le.channels=4;else if(Jf(gt))Le.element=gt,Le.width=gt.naturalWidth,Le.height=gt.naturalHeight,Le.channels=4;else if(Of(gt))Le.element=gt,Le.width=gt.videoWidth,Le.height=gt.videoHeight,Le.channels=4;else if(Vu(gt)){var ur=Le.width||gt[0].length,Ht=Le.height||gt.length,sr=Le.channels;ya(gt[0][0])?sr=sr||gt[0][0].length:sr=sr||1;for(var Vt=Ne.shape(gt),Dr=1,Jr=0;Jr<Vt.length;++Jr)Dr*=Vt[Jr];var ga=Nf(Le,Dr);Ne.flatten(gt,Vt,"",ga),Gu(Le,ga),Le.alignment=1,Le.width=ur,Le.height=Ht,Le.channels=sr,Le.format=Le.internalformat=ml[sr],Le.needsFree=!0}Le.type===xn||Le.type}function Xi(Le,$e,gt){var jt=Le.element,wr=Le.data,Nr=Le.internalformat,pr=Le.format,yt=Le.type,kt=Le.width,Bt=Le.height;Ri(Le),jt?it.texImage2D($e,gt,pr,pr,yt,jt):Le.compressed?it.compressedTexImage2D($e,gt,Nr,kt,Bt,0,wr):Le.needsCopy?(oa(),it.copyTexImage2D($e,gt,pr,Le.xOffset,Le.yOffset,kt,Bt,0)):it.texImage2D($e,gt,pr,kt,Bt,0,pr,yt,wr||null)}function mn(Le,$e,gt,jt,wr){var Nr=Le.element,pr=Le.data,yt=Le.internalformat,kt=Le.format,Bt=Le.type,nr=Le.width,hr=Le.height;Ri(Le),Nr?it.texSubImage2D($e,wr,gt,jt,kt,Bt,Nr):Le.compressed?it.compressedTexSubImage2D($e,wr,gt,jt,yt,nr,hr,pr):Le.needsCopy?(oa(),it.copyTexSubImage2D($e,wr,gt,jt,Le.xOffset,Le.yOffset,nr,hr)):it.texSubImage2D($e,wr,gt,jt,nr,hr,kt,Bt,pr)}var In=[];function Ii(){return In.pop()||new Ti}function an(Le){Le.needsFree&&U.freeType(Le.data),Ti.call(Le),In.push(Le)}function kn(){Ha.call(this),this.genMipmaps=!1,this.mipmapHint=du,this.mipmask=0,this.images=Array(16)}function Dn(Le,$e,gt){var jt=Le.images[0]=Ii();Le.mipmask=1,jt.width=Le.width=$e,jt.height=Le.height=gt,jt.channels=Le.channels=4}function Zn(Le,$e){var gt=null;if(of($e))gt=Le.images[0]=Ii(),Ua(gt,Le),xi(gt,$e),Le.mipmask=1;else if(Yi(Le,$e),Array.isArray($e.mipmap))for(var jt=$e.mipmap,wr=0;wr<jt.length;++wr)gt=Le.images[wr]=Ii(),Ua(gt,Le),gt.width>>=wr,gt.height>>=wr,xi(gt,jt[wr]),Le.mipmask|=1<<wr;else gt=Le.images[0]=Ii(),Ua(gt,Le),xi(gt,$e),Le.mipmask=1;Ua(Le,Le.images[0]),Le.compressed&&(Le.internalformat===jn||Le.internalformat===Xn||Le.internalformat===ls||Le.internalformat)}function Ds(Le,$e){for(var gt=Le.images,jt=0;jt<gt.length;++jt){if(!gt[jt])return;Xi(gt[jt],$e,jt)}}var bl=[];function po(){var Le=bl.pop()||new kn;Ha.call(Le),Le.mipmask=0;for(var $e=0;$e<16;++$e)Le.images[$e]=null;return Le}function Wl(Le){for(var $e=Le.images,gt=0;gt<$e.length;++gt)$e[gt]&&an($e[gt]),$e[gt]=null;bl.push(Le)}function fs(){this.minFilter=Ts,this.magFilter=Ts,this.wrapS=pu,this.wrapT=pu,this.anisotropic=1,this.genMipmaps=!1,this.mipmapHint=du}function Sl(Le,$e){if("min"in $e){var gt=$e.min;Le.minFilter=si[gt],nl.indexOf(Le.minFilter)>=0&&!("faces"in $e)&&(Le.genMipmaps=!0)}if("mag"in $e){var jt=$e.mag;Le.magFilter=yi[jt]}var wr=Le.wrapS,Nr=Le.wrapT;if("wrap"in $e){var pr=$e.wrap;typeof pr=="string"?wr=Nr=bi[pr]:Array.isArray(pr)&&(wr=bi[pr[0]],Nr=bi[pr[1]])}else{if("wrapS"in $e){var yt=$e.wrapS;wr=bi[yt]}if("wrapT"in $e){var kt=$e.wrapT;Nr=bi[kt]}}if(Le.wrapS=wr,Le.wrapT=Nr,"anisotropic"in $e){var Bt=$e.anisotropic;Le.anisotropic=$e.anisotropic}if("mipmap"in $e){var nr=!1;switch(typeof $e.mipmap){case"string":Le.mipmapHint=Ya[$e.mipmap],Le.genMipmaps=!0,nr=!0;break;case"boolean":nr=Le.genMipmaps=$e.mipmap;break;case"object":Le.genMipmaps=!1,nr=!0;break;default:}nr&&!("min"in $e)&&(Le.minFilter=us)}}function kl(Le,$e){it.texParameteri($e,vl,Le.minFilter),it.texParameteri($e,Vs,Le.magFilter),it.texParameteri($e,ko,Le.wrapS),it.texParameteri($e,bo,Le.wrapT),Zt.ext_texture_filter_anisotropic&&it.texParameteri($e,Fs,Le.anisotropic),Le.genMipmaps&&(it.hint(Tc,Le.mipmapHint),it.generateMipmap($e))}var tu=0,qs={},pl=fr.maxTextureUnits,wl=Array(pl).map(function(){return null});function Yn(Le){Ha.call(this),this.mipmask=0,this.internalformat=Ki,this.id=tu++,this.refCount=1,this.target=Le,this.texture=it.createTexture(),this.unit=-1,this.bindCount=0,this.texInfo=new fs,_a.profile&&(this.stats={size:0})}function Cl(Le){it.activeTexture(Ou),it.bindTexture(Le.target,Le.texture)}function Co(){var Le=wl[0];Le?it.bindTexture(Le.target,Le.texture):it.bindTexture(Ta,null)}function ve(Le){var $e=Le.texture,gt=Le.unit,jt=Le.target;gt>=0&&(it.activeTexture(Ou+gt),it.bindTexture(jt,null),wl[gt]=null),it.deleteTexture($e),Le.texture=null,Le.params=null,Le.pixels=null,Le.refCount=0,delete qs[Le.id],ma.textureCount--}v(Yn.prototype,{bind:function(){var Le=this;Le.bindCount+=1;var $e=Le.unit;if($e<0){for(var gt=0;gt<pl;++gt){var jt=wl[gt];if(jt){if(jt.bindCount>0)continue;jt.unit=-1}wl[gt]=Le,$e=gt;break}$e>=pl,_a.profile&&ma.maxTextureUnits<$e+1&&(ma.maxTextureUnits=$e+1),Le.unit=$e,it.activeTexture(Ou+$e),it.bindTexture(Le.target,Le.texture)}return $e},unbind:function(){this.bindCount-=1},decRef:function(){--this.refCount<=0&&ve(this)}});function K(Le,$e){var gt=new Yn(Ta);qs[gt.id]=gt,ma.textureCount++;function jt(pr,yt){var kt=gt.texInfo;fs.call(kt);var Bt=po();return typeof pr=="number"?typeof yt=="number"?Dn(Bt,pr|0,yt|0):Dn(Bt,pr|0,pr|0):pr?(Sl(kt,pr),Zn(Bt,pr)):Dn(Bt,1,1),kt.genMipmaps&&(Bt.mipmask=(Bt.width<<1)-1),gt.mipmask=Bt.mipmask,Ua(gt,Bt),gt.internalformat=Bt.internalformat,jt.width=Bt.width,jt.height=Bt.height,Cl(gt),Ds(Bt,Ta),kl(kt,Ta),Co(),Wl(Bt),_a.profile&&(gt.stats.size=oc(gt.internalformat,gt.type,Bt.width,Bt.height,kt.genMipmaps,!1)),jt.format=Qa[gt.internalformat],jt.type=di[gt.type],jt.mag=Va[kt.magFilter],jt.min=Bi[kt.minFilter],jt.wrapS=Li[kt.wrapS],jt.wrapT=Li[kt.wrapT],jt}function wr(pr,yt,kt,Bt){var nr=yt|0,hr=kt|0,lr=Bt|0,dr=Ii();return Ua(dr,gt),dr.width=0,dr.height=0,xi(dr,pr),dr.width=dr.width||(gt.width>>lr)-nr,dr.height=dr.height||(gt.height>>lr)-hr,Cl(gt),mn(dr,Ta,nr,hr,lr),Co(),an(dr),jt}function Nr(pr,yt){var kt=pr|0,Bt=yt|0||kt;if(kt===gt.width&&Bt===gt.height)return jt;jt.width=gt.width=kt,jt.height=gt.height=Bt,Cl(gt);for(var nr=0;gt.mipmask>>nr;++nr){var hr=kt>>nr,lr=Bt>>nr;if(!hr||!lr)break;it.texImage2D(Ta,nr,gt.format,hr,lr,0,gt.format,gt.type,null)}return Co(),_a.profile&&(gt.stats.size=oc(gt.internalformat,gt.type,kt,Bt,!1,!1)),jt}return jt(Le,$e),jt.subimage=wr,jt.resize=Nr,jt._reglType="texture2d",jt._texture=gt,_a.profile&&(jt.stats=gt.stats),jt.destroy=function(){gt.decRef()},jt}function _e(Le,$e,gt,jt,wr,Nr){var pr=new Yn(Ai);qs[pr.id]=pr,ma.cubeCount++;var yt=new Array(6);function kt(hr,lr,dr,ur,Ht,sr){var Vt,Dr=pr.texInfo;for(fs.call(Dr),Vt=0;Vt<6;++Vt)yt[Vt]=po();if(typeof hr=="number"||!hr){var Jr=hr|0||1;for(Vt=0;Vt<6;++Vt)Dn(yt[Vt],Jr,Jr)}else if(typeof hr=="object")if(lr)Zn(yt[0],hr),Zn(yt[1],lr),Zn(yt[2],dr),Zn(yt[3],ur),Zn(yt[4],Ht),Zn(yt[5],sr);else if(Sl(Dr,hr),Yi(pr,hr),"faces"in hr){var ga=hr.faces;for(Vt=0;Vt<6;++Vt)Ua(yt[Vt],pr),Zn(yt[Vt],ga[Vt])}else for(Vt=0;Vt<6;++Vt)Zn(yt[Vt],hr);for(Ua(pr,yt[0]),Dr.genMipmaps?pr.mipmask=(yt[0].width<<1)-1:pr.mipmask=yt[0].mipmask,pr.internalformat=yt[0].internalformat,kt.width=yt[0].width,kt.height=yt[0].height,Cl(pr),Vt=0;Vt<6;++Vt)Ds(yt[Vt],ki+Vt);for(kl(Dr,Ai),Co(),_a.profile&&(pr.stats.size=oc(pr.internalformat,pr.type,kt.width,kt.height,Dr.genMipmaps,!0)),kt.format=Qa[pr.internalformat],kt.type=di[pr.type],kt.mag=Va[Dr.magFilter],kt.min=Bi[Dr.minFilter],kt.wrapS=Li[Dr.wrapS],kt.wrapT=Li[Dr.wrapT],Vt=0;Vt<6;++Vt)Wl(yt[Vt]);return kt}function Bt(hr,lr,dr,ur,Ht){var sr=dr|0,Vt=ur|0,Dr=Ht|0,Jr=Ii();return Ua(Jr,pr),Jr.width=0,Jr.height=0,xi(Jr,lr),Jr.width=Jr.width||(pr.width>>Dr)-sr,Jr.height=Jr.height||(pr.height>>Dr)-Vt,Cl(pr),mn(Jr,ki+hr,sr,Vt,Dr),Co(),an(Jr),kt}function nr(hr){var lr=hr|0;if(lr!==pr.width){kt.width=pr.width=lr,kt.height=pr.height=lr,Cl(pr);for(var dr=0;dr<6;++dr)for(var ur=0;pr.mipmask>>ur;++ur)it.texImage2D(ki+dr,ur,pr.format,lr>>ur,lr>>ur,0,pr.format,pr.type,null);return Co(),_a.profile&&(pr.stats.size=oc(pr.internalformat,pr.type,kt.width,kt.height,!1,!0)),kt}}return kt(Le,$e,gt,jt,wr,Nr),kt.subimage=Bt,kt.resize=nr,kt._reglType="textureCube",kt._texture=pr,_a.profile&&(kt.stats=pr.stats),kt.destroy=function(){pr.decRef()},kt}function te(){for(var Le=0;Le<pl;++Le)it.activeTexture(Ou+Le),it.bindTexture(Ta,null),wl[Le]=null;wt(qs).forEach(ve),ma.cubeCount=0,ma.textureCount=0}_a.profile&&(ma.getTotalTextureSize=function(){var Le=0;return Object.keys(qs).forEach(function($e){Le+=qs[$e].stats.size}),Le});function me(){for(var Le=0;Le<pl;++Le){var $e=wl[Le];$e&&($e.bindCount=0,$e.unit=-1,wl[Le]=null)}wt(qs).forEach(function(gt){gt.texture=it.createTexture(),it.bindTexture(gt.target,gt.texture);for(var jt=0;jt<32;++jt)if(gt.mipmask&1<<jt)if(gt.target===Ta)it.texImage2D(Ta,jt,gt.internalformat,gt.width>>jt,gt.height>>jt,0,gt.internalformat,gt.type,null);else for(var wr=0;wr<6;++wr)it.texImage2D(ki+wr,jt,gt.internalformat,gt.width>>jt,gt.height>>jt,0,gt.internalformat,gt.type,null);kl(gt.texInfo,gt.target)})}function Ge(){for(var Le=0;Le<pl;++Le){var $e=wl[Le];$e&&($e.bindCount=0,$e.unit=-1,wl[Le]=null),it.activeTexture(Ou+Le),it.bindTexture(Ta,null),it.bindTexture(Ai,null)}}return{create2D:K,createCube:_e,clear:te,getTexture:function(Le){return null},restore:me,refresh:Ge}}var Ql=36161,qc=32854,Sc=32855,Zs=36194,kf=33189,fh=36168,Uf=34041,Zc=35907,$f=34836,Cu=34842,jf=34843,yl=[];yl[qc]=2,yl[Sc]=2,yl[Zs]=2,yl[kf]=2,yl[fh]=1,yl[Uf]=4,yl[Zc]=4,yl[$f]=16,yl[Cu]=8,yl[jf]=6;function Lu(it,Zt,fr){return yl[it]*Zt*fr}var Mc=function(it,Zt,fr,oa,wa){var ma={rgba4:qc,rgb565:Zs,"rgb5 a1":Sc,depth:kf,stencil:fh,"depth stencil":Uf};Zt.ext_srgb&&(ma.srgba=Zc),Zt.ext_color_buffer_half_float&&(ma.rgba16f=Cu,ma.rgb16f=jf),Zt.webgl_color_buffer_float&&(ma.rgba32f=$f);var _a=[];Object.keys(ma).forEach(function(Ei){var Na=ma[Ei];_a[Na]=Ei});var Ya=0,bi={};function yi(Ei){this.id=Ya++,this.refCount=1,this.renderbuffer=Ei,this.format=qc,this.width=0,this.height=0,wa.profile&&(this.stats={size:0})}yi.prototype.decRef=function(){--this.refCount<=0&&si(this)};function si(Ei){var Na=Ei.renderbuffer;it.bindRenderbuffer(Ql,null),it.deleteRenderbuffer(Na),Ei.renderbuffer=null,Ei.refCount=0,delete bi[Ei.id],oa.renderbufferCount--}function yn(Ei,Na){var ea=new yi(it.createRenderbuffer());bi[ea.id]=ea,oa.renderbufferCount++;function Ma(di,Va){var Bi=0,Li=0,pn=qc;if(typeof di=="object"&&di){var Ha=di;if("shape"in Ha){var Ua=Ha.shape;Bi=Ua[0]|0,Li=Ua[1]|0}else"radius"in Ha&&(Bi=Li=Ha.radius|0),"width"in Ha&&(Bi=Ha.width|0),"height"in Ha&&(Li=Ha.height|0);"format"in Ha&&(pn=ma[Ha.format])}else typeof di=="number"?(Bi=di|0,typeof Va=="number"?Li=Va|0:Li=Bi):di||(Bi=Li=1);if(!(Bi===ea.width&&Li===ea.height&&pn===ea.format))return Ma.width=ea.width=Bi,Ma.height=ea.height=Li,ea.format=pn,it.bindRenderbuffer(Ql,ea.renderbuffer),it.renderbufferStorage(Ql,pn,Bi,Li),wa.profile&&(ea.stats.size=Lu(ea.format,ea.width,ea.height)),Ma.format=_a[ea.format],Ma}function Qa(di,Va){var Bi=di|0,Li=Va|0||Bi;return Bi===ea.width&&Li===ea.height||(Ma.width=ea.width=Bi,Ma.height=ea.height=Li,it.bindRenderbuffer(Ql,ea.renderbuffer),it.renderbufferStorage(Ql,ea.format,Bi,Li),wa.profile&&(ea.stats.size=Lu(ea.format,ea.width,ea.height))),Ma}return Ma(Ei,Na),Ma.resize=Qa,Ma._reglType="renderbuffer",Ma._renderbuffer=ea,wa.profile&&(Ma.stats=ea.stats),Ma.destroy=function(){ea.decRef()},Ma}wa.profile&&(oa.getTotalRenderbufferSize=function(){var Ei=0;return Object.keys(bi).forEach(function(Na){Ei+=bi[Na].stats.size}),Ei});function zi(){wt(bi).forEach(function(Ei){Ei.renderbuffer=it.createRenderbuffer(),it.bindRenderbuffer(Ql,Ei.renderbuffer),it.renderbufferStorage(Ql,Ei.format,Ei.width,Ei.height)}),it.bindRenderbuffer(Ql,null)}return{create:yn,clear:function(){wt(bi).forEach(si)},restore:zi}},ol=36160,vc=36161,yu=3553,Tu=34069,El=36064,qf=36096,Qf=36128,Bu=33306,Ec=36053,mc=36193,Lh=5121,sf=5126,vf=6407,Nu=6408,lf=[];lf[Nu]=4,lf[vf]=3;var au=[];au[Lh]=1,au[sf]=4,au[mc]=2;function Yc(it,Zt,fr,oa,wa,ma){var _a={cur:null,next:null,dirty:!1,setFBO:null},Ya=["rgba"],bi=["rgba4","rgb565","rgb5 a1"];Zt.ext_srgb&&bi.push("srgba"),Zt.ext_color_buffer_half_float&&bi.push("rgba16f","rgb16f"),Zt.webgl_color_buffer_float&&bi.push("rgba32f");var yi=["uint8"];Zt.oes_texture_half_float&&yi.push("half float","float16"),Zt.oes_texture_float&&yi.push("float","float32");function si(Ti,xi,Xi){this.target=Ti,this.texture=xi,this.renderbuffer=Xi;var mn=0,In=0;xi?(mn=xi.width,In=xi.height):Xi&&(mn=Xi.width,In=Xi.height),this.width=mn,this.height=In}function yn(Ti){Ti&&(Ti.texture&&Ti.texture._texture.decRef(),Ti.renderbuffer&&Ti.renderbuffer._renderbuffer.decRef())}function zi(Ti,xi,Xi){if(Ti)if(Ti.texture){var mn=Ti.texture._texture,In=Math.max(1,mn.width),Ii=Math.max(1,mn.height);mn.refCount+=1}else{var an=Ti.renderbuffer._renderbuffer;an.refCount+=1}}function Ei(Ti,xi){xi&&(xi.texture?it.framebufferTexture2D(ol,Ti,xi.target,xi.texture._texture.texture,0):it.framebufferRenderbuffer(ol,Ti,vc,xi.renderbuffer._renderbuffer.renderbuffer))}function Na(Ti){var xi=yu,Xi=null,mn=null,In=Ti;typeof Ti=="object"&&(In=Ti.data,"target"in Ti&&(xi=Ti.target|0));var Ii=In._reglType;return Ii==="texture2d"||Ii==="textureCube"?Xi=In:Ii==="renderbuffer"&&(mn=In,xi=vc),new si(xi,Xi,mn)}function ea(Ti,xi,Xi,mn,In){if(Xi){var Ii=oa.create2D({width:Ti,height:xi,format:mn,type:In});return Ii._texture.refCount=0,new si(yu,Ii,null)}else{var an=wa.create({width:Ti,height:xi,format:mn});return an._renderbuffer.refCount=0,new si(vc,null,an)}}function Ma(Ti){return Ti&&(Ti.texture||Ti.renderbuffer)}function Qa(Ti,xi,Xi){Ti&&(Ti.texture?Ti.texture.resize(xi,Xi):Ti.renderbuffer&&Ti.renderbuffer.resize(xi,Xi),Ti.width=xi,Ti.height=Xi)}var di=0,Va={};function Bi(){this.id=di++,Va[this.id]=this,this.framebuffer=it.createFramebuffer(),this.width=0,this.height=0,this.colorAttachments=[],this.depthAttachment=null,this.stencilAttachment=null,this.depthStencilAttachment=null}function Li(Ti){Ti.colorAttachments.forEach(yn),yn(Ti.depthAttachment),yn(Ti.stencilAttachment),yn(Ti.depthStencilAttachment)}function pn(Ti){var xi=Ti.framebuffer;it.deleteFramebuffer(xi),Ti.framebuffer=null,ma.framebufferCount--,delete Va[Ti.id]}function Ha(Ti){var xi;it.bindFramebuffer(ol,Ti.framebuffer);var Xi=Ti.colorAttachments;for(xi=0;xi<Xi.length;++xi)Ei(El+xi,Xi[xi]);for(xi=Xi.length;xi<fr.maxColorAttachments;++xi)it.framebufferTexture2D(ol,El+xi,yu,null,0);it.framebufferTexture2D(ol,Bu,yu,null,0),it.framebufferTexture2D(ol,qf,yu,null,0),it.framebufferTexture2D(ol,Qf,yu,null,0),Ei(qf,Ti.depthAttachment),Ei(Qf,Ti.stencilAttachment),Ei(Bu,Ti.depthStencilAttachment);var mn=it.checkFramebufferStatus(ol);it.isContextLost(),it.bindFramebuffer(ol,_a.next?_a.next.framebuffer:null),_a.cur=_a.next,it.getError()}function Ua(Ti,xi){var Xi=new Bi;ma.framebufferCount++;function mn(Ii,an){var kn,Dn=0,Zn=0,Ds=!0,bl=!0,po=null,Wl=!0,fs="rgba",Sl="uint8",kl=1,tu=null,qs=null,pl=null,wl=!1;if(typeof Ii=="number")Dn=Ii|0,Zn=an|0||Dn;else if(!Ii)Dn=Zn=1;else{var Yn=Ii;if("shape"in Yn){var Cl=Yn.shape;Dn=Cl[0],Zn=Cl[1]}else"radius"in Yn&&(Dn=Zn=Yn.radius),"width"in Yn&&(Dn=Yn.width),"height"in Yn&&(Zn=Yn.height);("color"in Yn||"colors"in Yn)&&(po=Yn.color||Yn.colors,Array.isArray(po)),po||("colorCount"in Yn&&(kl=Yn.colorCount|0),"colorTexture"in Yn&&(Wl=!!Yn.colorTexture,fs="rgba4"),"colorType"in Yn&&(Sl=Yn.colorType,Wl||(Sl==="half float"||Sl==="float16"?fs="rgba16f":(Sl==="float"||Sl==="float32")&&(fs="rgba32f"))),"colorFormat"in Yn&&(fs=Yn.colorFormat,Ya.indexOf(fs)>=0?Wl=!0:bi.indexOf(fs)>=0&&(Wl=!1))),("depthTexture"in Yn||"depthStencilTexture"in Yn)&&(wl=!!(Yn.depthTexture||Yn.depthStencilTexture)),"depth"in Yn&&(typeof Yn.depth=="boolean"?Ds=Yn.depth:(tu=Yn.depth,bl=!1)),"stencil"in Yn&&(typeof Yn.stencil=="boolean"?bl=Yn.stencil:(qs=Yn.stencil,Ds=!1)),"depthStencil"in Yn&&(typeof Yn.depthStencil=="boolean"?Ds=bl=Yn.depthStencil:(pl=Yn.depthStencil,Ds=!1,bl=!1))}var Co=null,ve=null,K=null,_e=null;if(Array.isArray(po))Co=po.map(Na);else if(po)Co=[Na(po)];else for(Co=new Array(kl),kn=0;kn<kl;++kn)Co[kn]=ea(Dn,Zn,Wl,fs,Sl);Dn=Dn||Co[0].width,Zn=Zn||Co[0].height,tu?ve=Na(tu):Ds&&!bl&&(ve=ea(Dn,Zn,wl,"depth","uint32")),qs?K=Na(qs):bl&&!Ds&&(K=ea(Dn,Zn,!1,"stencil","uint8")),pl?_e=Na(pl):!tu&&!qs&&bl&&Ds&&(_e=ea(Dn,Zn,wl,"depth stencil","depth stencil"));var te=null;for(kn=0;kn<Co.length;++kn)if(zi(Co[kn],Dn,Zn),Co[kn]&&Co[kn].texture){var me=lf[Co[kn].texture._texture.format]*au[Co[kn].texture._texture.type];te===null&&(te=me)}return zi(ve,Dn,Zn),zi(K,Dn,Zn),zi(_e,Dn,Zn),Li(Xi),Xi.width=Dn,Xi.height=Zn,Xi.colorAttachments=Co,Xi.depthAttachment=ve,Xi.stencilAttachment=K,Xi.depthStencilAttachment=_e,mn.color=Co.map(Ma),mn.depth=Ma(ve),mn.stencil=Ma(K),mn.depthStencil=Ma(_e),mn.width=Xi.width,mn.height=Xi.height,Ha(Xi),mn}function In(Ii,an){var kn=Math.max(Ii|0,1),Dn=Math.max(an|0||kn,1);if(kn===Xi.width&&Dn===Xi.height)return mn;for(var Zn=Xi.colorAttachments,Ds=0;Ds<Zn.length;++Ds)Qa(Zn[Ds],kn,Dn);return Qa(Xi.depthAttachment,kn,Dn),Qa(Xi.stencilAttachment,kn,Dn),Qa(Xi.depthStencilAttachment,kn,Dn),Xi.width=mn.width=kn,Xi.height=mn.height=Dn,Ha(Xi),mn}return mn(Ti,xi),v(mn,{resize:In,_reglType:"framebuffer",_framebuffer:Xi,destroy:function(){pn(Xi),Li(Xi)},use:function(Ii){_a.setFBO({framebuffer:mn},Ii)}})}function Yi(Ti){var xi=Array(6);function Xi(In){var Ii,an={color:null},kn=0,Dn=null,Zn="rgba",Ds="uint8",bl=1;if(typeof In=="number")kn=In|0;else if(!In)kn=1;else{var po=In;if("shape"in po){var Wl=po.shape;kn=Wl[0]}else"radius"in po&&(kn=po.radius|0),"width"in po?(kn=po.width|0,"height"in po):"height"in po&&(kn=po.height|0);("color"in po||"colors"in po)&&(Dn=po.color||po.colors,Array.isArray(Dn)),Dn||("colorCount"in po&&(bl=po.colorCount|0),"colorType"in po&&(Ds=po.colorType),"colorFormat"in po&&(Zn=po.colorFormat)),"depth"in po&&(an.depth=po.depth),"stencil"in po&&(an.stencil=po.stencil),"depthStencil"in po&&(an.depthStencil=po.depthStencil)}var fs;if(Dn)if(Array.isArray(Dn))for(fs=[],Ii=0;Ii<Dn.length;++Ii)fs[Ii]=Dn[Ii];else fs=[Dn];else{fs=Array(bl);var Sl={radius:kn,format:Zn,type:Ds};for(Ii=0;Ii<bl;++Ii)fs[Ii]=oa.createCube(Sl)}for(an.color=Array(fs.length),Ii=0;Ii<fs.length;++Ii){var kl=fs[Ii];kn=kn||kl.width,an.color[Ii]={target:Tu,data:fs[Ii]}}for(Ii=0;Ii<6;++Ii){for(var tu=0;tu<fs.length;++tu)an.color[tu].target=Tu+Ii;Ii>0&&(an.depth=xi[0].depth,an.stencil=xi[0].stencil,an.depthStencil=xi[0].depthStencil),xi[Ii]?xi[Ii](an):xi[Ii]=Ua(an)}return v(Xi,{width:kn,height:kn,color:fs})}function mn(In){var Ii,an=In|0;if(an===Xi.width)return Xi;var kn=Xi.color;for(Ii=0;Ii<kn.length;++Ii)kn[Ii].resize(an);for(Ii=0;Ii<6;++Ii)xi[Ii].resize(an);return Xi.width=Xi.height=an,Xi}return Xi(Ti),v(Xi,{faces:xi,resize:mn,_reglType:"framebufferCube",destroy:function(){xi.forEach(function(In){In.destroy()})}})}function Ri(){_a.cur=null,_a.next=null,_a.dirty=!0,wt(Va).forEach(function(Ti){Ti.framebuffer=it.createFramebuffer(),Ha(Ti)})}return v(_a,{getFramebuffer:function(Ti){if(typeof Ti=="function"&&Ti._reglType==="framebuffer"){var xi=Ti._framebuffer;if(xi instanceof Bi)return xi}return null},create:Ua,createCube:Yi,clear:function(){wt(Va).forEach(pn)},restore:Ri})}var hh=5126,mf=34962,sl=34963;function _u(){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=hh,this.offset=0,this.stride=0,this.divisor=0}function Pu(it,Zt,fr,oa,wa,ma,_a){for(var Ya=fr.maxAttributes,bi=new Array(Ya),yi=0;yi<Ya;++yi)bi[yi]=new _u;var si=0,yn={},zi={Record:_u,scope:{},state:bi,currentVAO:null,targetVAO:null,restore:Na()?Li:function(){},createVAO:pn,getVAO:Ma,destroyBuffer:Ei,setVAO:Na()?Qa:di,clear:Na()?Va:function(){}};function Ei(Ha){for(var Ua=0;Ua<bi.length;++Ua){var Yi=bi[Ua];Yi.buffer===Ha&&(it.disableVertexAttribArray(Ua),Yi.buffer=null)}}function Na(){return Zt.oes_vertex_array_object}function ea(){return Zt.angle_instanced_arrays}function Ma(Ha){return typeof Ha=="function"&&Ha._vao?Ha._vao:null}function Qa(Ha){if(Ha!==zi.currentVAO){var Ua=Na();Ha?Ua.bindVertexArrayOES(Ha.vao):Ua.bindVertexArrayOES(null),zi.currentVAO=Ha}}function di(Ha){if(Ha!==zi.currentVAO){if(Ha)Ha.bindAttrs();else{for(var Ua=ea(),Yi=0;Yi<bi.length;++Yi){var Ri=bi[Yi];Ri.buffer?(it.enableVertexAttribArray(Yi),Ri.buffer.bind(),it.vertexAttribPointer(Yi,Ri.size,Ri.type,Ri.normalized,Ri.stride,Ri.offfset),Ua&&Ri.divisor&&Ua.vertexAttribDivisorANGLE(Yi,Ri.divisor)):(it.disableVertexAttribArray(Yi),it.vertexAttrib4f(Yi,Ri.x,Ri.y,Ri.z,Ri.w))}_a.elements?it.bindBuffer(sl,_a.elements.buffer.buffer):it.bindBuffer(sl,null)}zi.currentVAO=Ha}}function Va(){wt(yn).forEach(function(Ha){Ha.destroy()})}function Bi(){this.id=++si,this.attributes=[],this.elements=null,this.ownsElements=!1,this.count=0,this.offset=0,this.instances=-1,this.primitive=4;var Ha=Na();Ha?this.vao=Ha.createVertexArrayOES():this.vao=null,yn[this.id]=this,this.buffers=[]}Bi.prototype.bindAttrs=function(){for(var Ha=ea(),Ua=this.attributes,Yi=0;Yi<Ua.length;++Yi){var Ri=Ua[Yi];Ri.buffer?(it.enableVertexAttribArray(Yi),it.bindBuffer(mf,Ri.buffer.buffer),it.vertexAttribPointer(Yi,Ri.size,Ri.type,Ri.normalized,Ri.stride,Ri.offset),Ha&&Ri.divisor&&Ha.vertexAttribDivisorANGLE(Yi,Ri.divisor)):(it.disableVertexAttribArray(Yi),it.vertexAttrib4f(Yi,Ri.x,Ri.y,Ri.z,Ri.w))}for(var Ti=Ua.length;Ti<Ya;++Ti)it.disableVertexAttribArray(Ti);var xi=ma.getElements(this.elements);xi?it.bindBuffer(sl,xi.buffer.buffer):it.bindBuffer(sl,null)},Bi.prototype.refresh=function(){var Ha=Na();Ha&&(Ha.bindVertexArrayOES(this.vao),this.bindAttrs(),zi.currentVAO=null,Ha.bindVertexArrayOES(null))},Bi.prototype.destroy=function(){if(this.vao){var Ha=Na();this===zi.currentVAO&&(zi.currentVAO=null,Ha.bindVertexArrayOES(null)),Ha.deleteVertexArrayOES(this.vao),this.vao=null}this.ownsElements&&(this.elements.destroy(),this.elements=null,this.ownsElements=!1),yn[this.id]&&(delete yn[this.id],oa.vaoCount-=1)};function Li(){var Ha=Na();Ha&&wt(yn).forEach(function(Ua){Ua.refresh()})}function pn(Ha){var Ua=new Bi;oa.vaoCount+=1;function Yi(Ri){var Ti;if(Array.isArray(Ri))Ti=Ri,Ua.elements&&Ua.ownsElements&&Ua.elements.destroy(),Ua.elements=null,Ua.ownsElements=!1,Ua.offset=0,Ua.count=0,Ua.instances=-1,Ua.primitive=4;else{if(Ri.elements){var xi=Ri.elements;Ua.ownsElements?typeof xi=="function"&&xi._reglType==="elements"?(Ua.elements.destroy(),Ua.ownsElements=!1):(Ua.elements(xi),Ua.ownsElements=!1):ma.getElements(Ri.elements)?(Ua.elements=Ri.elements,Ua.ownsElements=!1):(Ua.elements=ma.create(Ri.elements),Ua.ownsElements=!0)}else Ua.elements=null,Ua.ownsElements=!1;Ti=Ri.attributes,Ua.offset=0,Ua.count=-1,Ua.instances=-1,Ua.primitive=4,Ua.elements&&(Ua.count=Ua.elements._elements.vertCount,Ua.primitive=Ua.elements._elements.primType),"offset"in Ri&&(Ua.offset=Ri.offset|0),"count"in Ri&&(Ua.count=Ri.count|0),"instances"in Ri&&(Ua.instances=Ri.instances|0),"primitive"in Ri&&(Ua.primitive=Ra[Ri.primitive])}var Xi={},mn=Ua.attributes;mn.length=Ti.length;for(var In=0;In<Ti.length;++In){var Ii=Ti[In],an=mn[In]=new _u,kn=Ii.data||Ii;if(Array.isArray(kn)||Sr(kn)||Rr(kn)){var Dn;Ua.buffers[In]&&(Dn=Ua.buffers[In],Sr(kn)&&Dn._buffer.byteLength>=kn.byteLength?Dn.subdata(kn):(Dn.destroy(),Ua.buffers[In]=null)),Ua.buffers[In]||(Dn=Ua.buffers[In]=wa.create(Ii,mf,!1,!0)),an.buffer=wa.getBuffer(Dn),an.size=an.buffer.dimension|0,an.normalized=!1,an.type=an.buffer.dtype,an.offset=0,an.stride=0,an.divisor=0,an.state=1,Xi[In]=1}else wa.getBuffer(Ii)?(an.buffer=wa.getBuffer(Ii),an.size=an.buffer.dimension|0,an.normalized=!1,an.type=an.buffer.dtype,an.offset=0,an.stride=0,an.divisor=0,an.state=1):wa.getBuffer(Ii.buffer)?(an.buffer=wa.getBuffer(Ii.buffer),an.size=(+Ii.size||an.buffer.dimension)|0,an.normalized=!!Ii.normalized||!1,"type"in Ii?an.type=fa[Ii.type]:an.type=an.buffer.dtype,an.offset=(Ii.offset||0)|0,an.stride=(Ii.stride||0)|0,an.divisor=(Ii.divisor||0)|0,an.state=1):"x"in Ii&&(an.x=+Ii.x||0,an.y=+Ii.y||0,an.z=+Ii.z||0,an.w=+Ii.w||0,an.state=2)}for(var Zn=0;Zn<Ua.buffers.length;++Zn)!Xi[Zn]&&Ua.buffers[Zn]&&(Ua.buffers[Zn].destroy(),Ua.buffers[Zn]=null);return Ua.refresh(),Yi}return Yi.destroy=function(){for(var Ri=0;Ri<Ua.buffers.length;++Ri)Ua.buffers[Ri]&&Ua.buffers[Ri].destroy();Ua.buffers.length=0,Ua.ownsElements&&(Ua.elements.destroy(),Ua.elements=null,Ua.ownsElements=!1),Ua.destroy()},Yi._vao=Ua,Yi._reglType="vao",Yi(Ha)}return zi}var Cf=35632,hl=35633,uf=35718,kc=35721;function Hu(it,Zt,fr,oa){var wa={},ma={};function _a(ea,Ma,Qa,di){this.name=ea,this.id=Ma,this.location=Qa,this.info=di}function Ya(ea,Ma){for(var Qa=0;Qa<ea.length;++Qa)if(ea[Qa].id===Ma.id){ea[Qa].location=Ma.location;return}ea.push(Ma)}function bi(ea,Ma,Qa){var di=ea===Cf?wa:ma,Va=di[Ma];if(!Va){var Bi=Zt.str(Ma);Va=it.createShader(ea),it.shaderSource(Va,Bi),it.compileShader(Va),di[Ma]=Va}return Va}var yi={},si=[],yn=0;function zi(ea,Ma){this.id=yn++,this.fragId=ea,this.vertId=Ma,this.program=null,this.uniforms=[],this.attributes=[],this.refCount=1,oa.profile&&(this.stats={uniformsCount:0,attributesCount:0})}function Ei(ea,Ma,Qa){var di,Va,Bi=bi(Cf,ea.fragId),Li=bi(hl,ea.vertId),pn=ea.program=it.createProgram();if(it.attachShader(pn,Bi),it.attachShader(pn,Li),Qa)for(di=0;di<Qa.length;++di){var Ha=Qa[di];it.bindAttribLocation(pn,Ha[0],Ha[1])}it.linkProgram(pn);var Ua=it.getProgramParameter(pn,uf);oa.profile&&(ea.stats.uniformsCount=Ua);var Yi=ea.uniforms;for(di=0;di<Ua;++di)if(Va=it.getActiveUniform(pn,di),Va)if(Va.size>1)for(var Ri=0;Ri<Va.size;++Ri){var Ti=Va.name.replace("[0]","["+Ri+"]");Ya(Yi,new _a(Ti,Zt.id(Ti),it.getUniformLocation(pn,Ti),Va))}else Ya(Yi,new _a(Va.name,Zt.id(Va.name),it.getUniformLocation(pn,Va.name),Va));var xi=it.getProgramParameter(pn,kc);oa.profile&&(ea.stats.attributesCount=xi);var Xi=ea.attributes;for(di=0;di<xi;++di)Va=it.getActiveAttrib(pn,di),Va&&Ya(Xi,new _a(Va.name,Zt.id(Va.name),it.getAttribLocation(pn,Va.name),Va))}oa.profile&&(fr.getMaxUniformsCount=function(){var ea=0;return si.forEach(function(Ma){Ma.stats.uniformsCount>ea&&(ea=Ma.stats.uniformsCount)}),ea},fr.getMaxAttributesCount=function(){var ea=0;return si.forEach(function(Ma){Ma.stats.attributesCount>ea&&(ea=Ma.stats.attributesCount)}),ea});function Na(){wa={},ma={};for(var ea=0;ea<si.length;++ea)Ei(si[ea],null,si[ea].attributes.map(function(Ma){return[Ma.location,Ma.name]}))}return{clear:function(){var ea=it.deleteShader.bind(it);wt(wa).forEach(ea),wa={},wt(ma).forEach(ea),ma={},si.forEach(function(Ma){it.deleteProgram(Ma.program)}),si.length=0,yi={},fr.shaderCount=0},program:function(ea,Ma,Qa,di){var Va=yi[Ma];Va||(Va=yi[Ma]={});var Bi=Va[ea];if(Bi&&(Bi.refCount++,!di))return Bi;var Li=new zi(Ma,ea);return fr.shaderCount++,Ei(Li,Qa,di),Bi||(Va[ea]=Li),si.push(Li),v(Li,{destroy:function(){if(Li.refCount--,Li.refCount<=0){it.deleteProgram(Li.program);var pn=si.indexOf(Li);si.splice(pn,1),fr.shaderCount--}Va[Li.vertId].refCount<=0&&(it.deleteShader(ma[Li.vertId]),delete ma[Li.vertId],delete yi[Li.fragId][Li.vertId]),Object.keys(yi[Li.fragId]).length||(it.deleteShader(wa[Li.fragId]),delete wa[Li.fragId],delete yi[Li.fragId])}})},restore:Na,shader:bi,frag:-1,vert:-1}}var gf=6408,Wu=5121,Kc=3333,Lf=5126;function iu(it,Zt,fr,oa,wa,ma,_a){function Ya(si){var yn;Zt.next===null?yn=Wu:yn=Zt.next.colorAttachments[0].texture._texture.type;var zi=0,Ei=0,Na=oa.framebufferWidth,ea=oa.framebufferHeight,Ma=null;Sr(si)?Ma=si:si&&(zi=si.x|0,Ei=si.y|0,Na=(si.width||oa.framebufferWidth-zi)|0,ea=(si.height||oa.framebufferHeight-Ei)|0,Ma=si.data||null),fr();var Qa=Na*ea*4;return Ma||(yn===Wu?Ma=new Uint8Array(Qa):yn===Lf&&(Ma=Ma||new Float32Array(Qa))),it.pixelStorei(Kc,4),it.readPixels(zi,Ei,Na,ea,gf,yn,Ma),Ma}function bi(si){var yn;return Zt.setFBO({framebuffer:si.framebuffer},function(){yn=Ya(si)}),yn}function yi(si){return!si||!("framebuffer"in si)?Ya(si):bi(si)}return yi}var Vf=0,Xu="";function Cc(it){return xu(gc(sc(it)))}function gc(it){return Qt(Pi(Pc(it),it.length*8))}function ql(it,Zt){var fr=Pc(it);fr.length>16&&(fr=Pi(fr,it.length*8));for(var oa=Array(16),wa=Array(16),ma=0;ma<16;ma++)oa[ma]=fr[ma]^909522486,wa[ma]=fr[ma]^1549556828;var _a=Pi(oa.concat(Pc(Zt)),512+Zt.length*8);return Qt(Pi(wa.concat(_a),768))}function xu(it){for(var Zt=Vf?"0123456789ABCDEF":"0123456789abcdef",fr="",oa,wa=0;wa<it.length;wa++)oa=it.charCodeAt(wa),fr+=Zt.charAt(oa>>>4&15)+Zt.charAt(oa&15);return fr}function Lc(it){for(var Zt="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",fr="",oa=it.length,wa=0;wa<oa;wa+=3)for(var ma=it.charCodeAt(wa)<<16|(wa+1<oa?it.charCodeAt(wa+1)<<8:0)|(wa+2<oa?it.charCodeAt(wa+2):0),_a=0;_a<4;_a++)wa*8+_a*6>it.length*8?fr+=Xu:fr+=Zt.charAt(ma>>>6*(3-_a)&63);return fr}function Jc(it,Zt){var fr=Zt.length,oa=Array(),wa,ma,_a,Ya,bi=Array(Math.ceil(it.length/2));for(wa=0;wa<bi.length;wa++)bi[wa]=it.charCodeAt(wa*2)<<8|it.charCodeAt(wa*2+1);for(;bi.length>0;){for(Ya=Array(),_a=0,wa=0;wa<bi.length;wa++)_a=(_a<<16)+bi[wa],ma=Math.floor(_a/fr),_a-=ma*fr,(Ya.length>0||ma>0)&&(Ya[Ya.length]=ma);oa[oa.length]=_a,bi=Ya}var yi="";for(wa=oa.length-1;wa>=0;wa--)yi+=Zt.charAt(oa[wa]);var si=Math.ceil(it.length*8/(Math.log(Zt.length)/Math.log(2)));for(wa=yi.length;wa<si;wa++)yi=Zt[0]+yi;return yi}function sc(it){for(var Zt="",fr=-1,oa,wa;++fr<it.length;)oa=it.charCodeAt(fr),wa=fr+1<it.length?it.charCodeAt(fr+1):0,55296<=oa&&oa<=56319&&56320<=wa&&wa<=57343&&(oa=65536+((oa&1023)<<10)+(wa&1023),fr++),oa<=127?Zt+=String.fromCharCode(oa):oa<=2047?Zt+=String.fromCharCode(192|oa>>>6&31,128|oa&63):oa<=65535?Zt+=String.fromCharCode(224|oa>>>12&15,128|oa>>>6&63,128|oa&63):oa<=2097151&&(Zt+=String.fromCharCode(240|oa>>>18&7,128|oa>>>12&63,128|oa>>>6&63,128|oa&63));return Zt}function Pc(it){for(var Zt=Array(it.length>>2),fr=0;fr<Zt.length;fr++)Zt[fr]=0;for(var fr=0;fr<it.length*8;fr+=8)Zt[fr>>5]|=(it.charCodeAt(fr/8)&255)<<24-fr%32;return Zt}function Qt(it){for(var Zt="",fr=0;fr<it.length*32;fr+=8)Zt+=String.fromCharCode(it[fr>>5]>>>24-fr%32&255);return Zt}function br(it,Zt){return it>>>Zt|it<<32-Zt}function aa(it,Zt){return it>>>Zt}function $r(it,Zt,fr){return it&Zt^~it&fr}function ka(it,Zt,fr){return it&Zt^it&fr^Zt&fr}function li(it){return br(it,2)^br(it,13)^br(it,22)}function Ci(it){return br(it,6)^br(it,11)^br(it,25)}function Hi(it){return br(it,7)^br(it,18)^aa(it,3)}function Qi(it){return br(it,17)^br(it,19)^aa(it,10)}var dn=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 Pi(it,Zt){var fr=new Array(1779033703,-1150833019,1013904242,-1521486534,1359893119,-1694144372,528734635,1541459225),oa=new Array(64),wa,ma,_a,Ya,bi,yi,si,yn,zi,Ei,Na,ea;for(it[Zt>>5]|=128<<24-Zt%32,it[(Zt+64>>9<<4)+15]=Zt,zi=0;zi<it.length;zi+=16){for(wa=fr[0],ma=fr[1],_a=fr[2],Ya=fr[3],bi=fr[4],yi=fr[5],si=fr[6],yn=fr[7],Ei=0;Ei<64;Ei++)Ei<16?oa[Ei]=it[Ei+zi]:oa[Ei]=Di(Di(Di(Qi(oa[Ei-2]),oa[Ei-7]),Hi(oa[Ei-15])),oa[Ei-16]),Na=Di(Di(Di(Di(yn,Ci(bi)),$r(bi,yi,si)),dn[Ei]),oa[Ei]),ea=Di(li(wa),ka(wa,ma,_a)),yn=si,si=yi,yi=bi,bi=Di(Ya,Na),Ya=_a,_a=ma,ma=wa,wa=Di(Na,ea);fr[0]=Di(wa,fr[0]),fr[1]=Di(ma,fr[1]),fr[2]=Di(_a,fr[2]),fr[3]=Di(Ya,fr[3]),fr[4]=Di(bi,fr[4]),fr[5]=Di(yi,fr[5]),fr[6]=Di(si,fr[6]),fr[7]=Di(yn,fr[7])}return fr}function Di(it,Zt){var fr=(it&65535)+(Zt&65535),oa=(it>>16)+(Zt>>16)+(fr>>16);return oa<<16|fr&65535}function Ni(it){return Array.prototype.slice.call(it)}function mi(it){return Ni(it).join("")}function Mn(it){var Zt=it&&it.cache,fr=0,oa=[],wa=[],ma=[];function _a(Na,ea){var Ma=ea&&ea.stable;if(!Ma){for(var Qa=0;Qa<wa.length;++Qa)if(wa[Qa]===Na&&!ma[Qa])return oa[Qa]}var di="g"+fr++;return oa.push(di),wa.push(Na),ma.push(Ma),di}function Ya(){var Na=[];function ea(){Na.push.apply(Na,Ni(arguments))}var Ma=[];function Qa(){var di="v"+fr++;return Ma.push(di),arguments.length>0&&(Na.push(di,"="),Na.push.apply(Na,Ni(arguments)),Na.push(";")),di}return v(ea,{def:Qa,toString:function(){return mi([Ma.length>0?"var "+Ma.join(",")+";":"",mi(Na)])}})}function bi(){var Na=Ya(),ea=Ya(),Ma=Na.toString,Qa=ea.toString;function di(Va,Bi){ea(Va,Bi,"=",Na.def(Va,Bi),";")}return v(function(){Na.apply(Na,Ni(arguments))},{def:Na.def,entry:Na,exit:ea,save:di,set:function(Va,Bi,Li){di(Va,Bi),Na(Va,Bi,"=",Li,";")},toString:function(){return Ma()+Qa()}})}function yi(){var Na=mi(arguments),ea=bi(),Ma=bi(),Qa=ea.toString,di=Ma.toString;return v(ea,{then:function(){return ea.apply(ea,Ni(arguments)),this},else:function(){return Ma.apply(Ma,Ni(arguments)),this},toString:function(){var Va=di();return Va&&(Va="else{"+Va+"}"),mi(["if(",Na,"){",Qa(),"}",Va])}})}var si=Ya(),yn={};function zi(Na,ea){var Ma=[];function Qa(){var pn="a"+Ma.length;return Ma.push(pn),pn}ea=ea||0;for(var di=0;di<ea;++di)Qa();var Va=bi(),Bi=Va.toString,Li=yn[Na]=v(Va,{arg:Qa,toString:function(){return mi(["function(",Ma.join(),"){",Bi(),"}"])}});return Li}function Ei(){var Na=['"use strict";',si,"return {"];Object.keys(yn).forEach(function(di){Na.push('"',di,'":',yn[di].toString(),",")}),Na.push("}");var ea=mi(Na).replace(/;/g,`;
2618`).replace(/}/g,`}
2619`).replace(/{/g,`{
2620`),Ma;if(Zt&&(Ma=Cc(ea),Zt[Ma]))return Zt[Ma].apply(null,wa);var Qa=Function.apply(null,oa.concat(ea));return Zt&&(Zt[Ma]=Qa),Qa.apply(null,wa)}return{global:si,link:_a,block:Ya,proc:zi,scope:bi,cond:yi,compile:Ei}}var Qn="xyzw".split(""),ao=5121,eo=1,fo=2,An=0,un=1,yo=2,Ko=3,Ss=4,rl=5,Os=6,el="dither",bs="blend.enable",Fl="blend.color",_l="blend.equation",ll="blend.func",Un="depth.enable",Lo="depth.func",Js="depth.range",Rs="depth.mask",uu="colorMask",Iu="cull.enable",Zu="cull.face",Ic="frontFace",bu="lineWidth",Rc="polygonOffset.enable",Au="polygonOffset.offset",yc="sample.alpha",ho="sample.enable",Ro="sample.coverage",Dc="stencil.enable",lc="stencil.mask",Yu="stencil.func",Ue="stencil.opFront",I="stencil.opBack",ie="scissor.enable",we="scissor.box",Se="viewport",Be="profile",dt="framebuffer",St="vert",Nt="frag",$t="elements",Tr="primitive",Ar="count",Kr="offset",na="instances",He="vao",Je="Width",lt="Height",vt=dt+Je,Lt=dt+lt,At=Se+Je,zt=Se+lt,cr="drawingBuffer",yr=cr+Je,Er=cr+lt,jr=[ll,_l,Yu,Ue,I,Ro,Se,we,Au],Qr=34962,pa=34963,Aa=2884,za=3042,ci=3024,Vi=2960,ji=2929,nn=3089,Sn=32823,Kn=32926,Bn=32928,wo=5126,is=35664,Ao=35665,Zo=35666,ps=5124,ul=35667,tl=35668,Jo=35669,$o=35670,Il=35671,eu=35672,Ru=35673,vu=35674,Tl=35675,cu=35676,uc=35678,Vl=35680,Gl=4,de=1028,Fe=1029,et=2304,mt=2305,bt=32775,Mt=32776,ar=519,Ot=7680,_r=0,Gr=1,Xr=32774,xa=513,da=36160,Ja=36064,ti={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},Sa={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},Fa={0:0,zero:0,keep:7680,replace:7681,increment:7682,decrement:7683,"increment wrap":34055,"decrement wrap":34056,invert:5386},Xa={cw:et,ccw:mt};function fi(it){return Array.isArray(it)||Sr(it)||Rr(it)}function ni(it){return it.sort(function(Zt,fr){return Zt===Se?-1:fr===Se?1:Zt<fr?-1:1})}function La(it,Zt,fr,oa){this.thisDep=it,this.contextDep=Zt,this.propDep=fr,this.append=oa}function sn(it){return it&&!(it.thisDep||it.contextDep||it.propDep)}function rn(it){return new La(!1,!1,!1,it)}function vn(it,Zt){var fr=it.type;if(fr===An){var oa=it.data.length;return new La(!0,oa>=1,oa>=2,Zt)}else if(fr===Ss){var wa=it.data;return new La(wa.thisDep,wa.contextDep,wa.propDep,Zt)}else{if(fr===rl)return new La(!1,!1,!1,Zt);if(fr===Os){for(var ma=!1,_a=!1,Ya=!1,bi=0;bi<it.data.length;++bi){var yi=it.data[bi];if(yi.type===un)Ya=!0;else if(yi.type===yo)_a=!0;else if(yi.type===Ko)ma=!0;else if(yi.type===An){ma=!0;var si=yi.data;si>=1&&(_a=!0),si>=2&&(Ya=!0)}else yi.type===Ss&&(ma=ma||yi.data.thisDep,_a=_a||yi.data.contextDep,Ya=Ya||yi.data.propDep)}return new La(ma,_a,Ya,Zt)}else return new La(fr===Ko,fr===yo,fr===un,Zt)}}var Pn=new La(!1,!1,!1,function(){});function Jn(it,Zt,fr,oa,wa,ma,_a,Ya,bi,yi,si,yn,zi,Ei,Na,ea){var Ma=yi.Record,Qa={add:32774,subtract:32778,"reverse subtract":32779};fr.ext_blend_minmax&&(Qa.min=bt,Qa.max=Mt);var di=fr.angle_instanced_arrays,Va=fr.webgl_draw_buffers,Bi=fr.oes_vertex_array_object,Li={dirty:!0,profile:ea.profile},pn={},Ha=[],Ua={},Yi={};function Ri(yt){return yt.replace(".","_")}function Ti(yt,kt,Bt){var nr=Ri(yt);Ha.push(yt),pn[nr]=Li[nr]=!!Bt,Ua[nr]=kt}function xi(yt,kt,Bt){var nr=Ri(yt);Ha.push(yt),Array.isArray(Bt)?(Li[nr]=Bt.slice(),pn[nr]=Bt.slice()):Li[nr]=pn[nr]=Bt,Yi[nr]=kt}function Xi(yt){return!!isNaN(yt)}Ti(el,ci),Ti(bs,za),xi(Fl,"blendColor",[0,0,0,0]),xi(_l,"blendEquationSeparate",[Xr,Xr]),xi(ll,"blendFuncSeparate",[Gr,_r,Gr,_r]),Ti(Un,ji,!0),xi(Lo,"depthFunc",xa),xi(Js,"depthRange",[0,1]),xi(Rs,"depthMask",!0),xi(uu,uu,[!0,!0,!0,!0]),Ti(Iu,Aa),xi(Zu,"cullFace",Fe),xi(Ic,Ic,mt),xi(bu,bu,1),Ti(Rc,Sn),xi(Au,"polygonOffset",[0,0]),Ti(yc,Kn),Ti(ho,Bn),xi(Ro,"sampleCoverage",[1,!1]),Ti(Dc,Vi),xi(lc,"stencilMask",-1),xi(Yu,"stencilFunc",[ar,0,-1]),xi(Ue,"stencilOpSeparate",[de,Ot,Ot,Ot]),xi(I,"stencilOpSeparate",[Fe,Ot,Ot,Ot]),Ti(ie,nn),xi(we,"scissor",[0,0,it.drawingBufferWidth,it.drawingBufferHeight]),xi(Se,Se,[0,0,it.drawingBufferWidth,it.drawingBufferHeight]);var mn={gl:it,context:zi,strings:Zt,next:pn,current:Li,draw:yn,elements:ma,buffer:wa,shader:si,attributes:yi.state,vao:yi,uniforms:bi,framebuffer:Ya,extensions:fr,timer:Ei,isBufferArgs:fi},In={primTypes:Ra,compareFuncs:Sa,blendFuncs:ti,blendEquations:Qa,stencilOps:Fa,glTypes:fa,orientationType:Xa};Va&&(In.backBuffer=[Fe],In.drawBuffer=d(oa.maxDrawbuffers,function(yt){return yt===0?[0]:d(yt,function(kt){return Ja+kt})}));var Ii=0;function an(){var yt=Mn({cache:Na}),kt=yt.link,Bt=yt.global;yt.id=Ii++,yt.batchId="0";var nr=kt(mn),hr=yt.shared={props:"a0"};Object.keys(mn).forEach(function(sr){hr[sr]=Bt.def(nr,".",sr)});var lr=yt.next={},dr=yt.current={};Object.keys(Yi).forEach(function(sr){Array.isArray(Li[sr])&&(lr[sr]=Bt.def(hr.next,".",sr),dr[sr]=Bt.def(hr.current,".",sr))});var ur=yt.constants={};Object.keys(In).forEach(function(sr){ur[sr]=Bt.def(JSON.stringify(In[sr]))}),yt.invoke=function(sr,Vt){switch(Vt.type){case An:var Dr=["this",hr.context,hr.props,yt.batchId];return sr.def(kt(Vt.data),".call(",Dr.slice(0,Math.max(Vt.data.length+1,4)),")");case un:return sr.def(hr.props,Vt.data);case yo:return sr.def(hr.context,Vt.data);case Ko:return sr.def("this",Vt.data);case Ss:return Vt.data.append(yt,sr),Vt.data.ref;case rl:return Vt.data.toString();case Os:return Vt.data.map(function(Jr){return yt.invoke(sr,Jr)})}},yt.attribCache={};var Ht={};return yt.scopeAttrib=function(sr){var Vt=Zt.id(sr);if(Vt in Ht)return Ht[Vt];var Dr=yi.scope[Vt];Dr||(Dr=yi.scope[Vt]=new Ma);var Jr=Ht[Vt]=kt(Dr);return Jr},yt}function kn(yt){var kt=yt.static,Bt=yt.dynamic,nr;if(Be in kt){var hr=!!kt[Be];nr=rn(function(dr,ur){return hr}),nr.enable=hr}else if(Be in Bt){var lr=Bt[Be];nr=vn(lr,function(dr,ur){return dr.invoke(ur,lr)})}return nr}function Dn(yt,kt){var Bt=yt.static,nr=yt.dynamic;if(dt in Bt){var hr=Bt[dt];return hr?(hr=Ya.getFramebuffer(hr),rn(function(dr,ur){var Ht=dr.link(hr),sr=dr.shared;ur.set(sr.framebuffer,".next",Ht);var Vt=sr.context;return ur.set(Vt,"."+vt,Ht+".width"),ur.set(Vt,"."+Lt,Ht+".height"),Ht})):rn(function(dr,ur){var Ht=dr.shared;ur.set(Ht.framebuffer,".next","null");var sr=Ht.context;return ur.set(sr,"."+vt,sr+"."+yr),ur.set(sr,"."+Lt,sr+"."+Er),"null"})}else if(dt in nr){var lr=nr[dt];return vn(lr,function(dr,ur){var Ht=dr.invoke(ur,lr),sr=dr.shared,Vt=sr.framebuffer,Dr=ur.def(Vt,".getFramebuffer(",Ht,")");ur.set(Vt,".next",Dr);var Jr=sr.context;return ur.set(Jr,"."+vt,Dr+"?"+Dr+".width:"+Jr+"."+yr),ur.set(Jr,"."+Lt,Dr+"?"+Dr+".height:"+Jr+"."+Er),Dr})}else return null}function Zn(yt,kt,Bt){var nr=yt.static,hr=yt.dynamic;function lr(Ht){if(Ht in nr){var sr=nr[Ht],Vt=!0,Dr=sr.x|0,Jr=sr.y|0,ga,vi;return"width"in sr?ga=sr.width|0:Vt=!1,"height"in sr?vi=sr.height|0:Vt=!1,new La(!Vt&&kt&&kt.thisDep,!Vt&&kt&&kt.contextDep,!Vt&&kt&&kt.propDep,function(Zi,Fi){var ui=Zi.shared.context,_i=ga;"width"in sr||(_i=Fi.def(ui,".",vt,"-",Dr));var Si=vi;return"height"in sr||(Si=Fi.def(ui,".",Lt,"-",Jr)),[Dr,Jr,_i,Si]})}else if(Ht in hr){var Ga=hr[Ht],ai=vn(Ga,function(Zi,Fi){var ui=Zi.invoke(Fi,Ga),_i=Zi.shared.context,Si=Fi.def(ui,".x|0"),Ui=Fi.def(ui,".y|0"),fn=Fi.def('"width" in ',ui,"?",ui,".width|0:","(",_i,".",vt,"-",Si,")"),_o=Fi.def('"height" in ',ui,"?",ui,".height|0:","(",_i,".",Lt,"-",Ui,")");return[Si,Ui,fn,_o]});return kt&&(ai.thisDep=ai.thisDep||kt.thisDep,ai.contextDep=ai.contextDep||kt.contextDep,ai.propDep=ai.propDep||kt.propDep),ai}else return kt?new La(kt.thisDep,kt.contextDep,kt.propDep,function(Zi,Fi){var ui=Zi.shared.context;return[0,0,Fi.def(ui,".",vt),Fi.def(ui,".",Lt)]}):null}var dr=lr(Se);if(dr){var ur=dr;dr=new La(dr.thisDep,dr.contextDep,dr.propDep,function(Ht,sr){var Vt=ur.append(Ht,sr),Dr=Ht.shared.context;return sr.set(Dr,"."+At,Vt[2]),sr.set(Dr,"."+zt,Vt[3]),Vt})}return{viewport:dr,scissor_box:lr(we)}}function Ds(yt,kt){var Bt=yt.static,nr=typeof Bt[Nt]=="string"&&typeof Bt[St]=="string";if(nr){if(Object.keys(kt.dynamic).length>0)return null;var hr=kt.static,lr=Object.keys(hr);if(lr.length>0&&typeof hr[lr[0]]=="number"){for(var dr=[],ur=0;ur<lr.length;++ur)dr.push([hr[lr[ur]]|0,lr[ur]]);return dr}}return null}function bl(yt,kt,Bt){var nr=yt.static,hr=yt.dynamic;function lr(Vt){if(Vt in nr){var Dr=Zt.id(nr[Vt]),Jr=rn(function(){return Dr});return Jr.id=Dr,Jr}else if(Vt in hr){var ga=hr[Vt];return vn(ga,function(vi,Ga){var ai=vi.invoke(Ga,ga),Zi=Ga.def(vi.shared.strings,".id(",ai,")");return Zi})}return null}var dr=lr(Nt),ur=lr(St),Ht=null,sr;return sn(dr)&&sn(ur)?(Ht=si.program(ur.id,dr.id,null,Bt),sr=rn(function(Vt,Dr){return Vt.link(Ht)})):sr=new La(dr&&dr.thisDep||ur&&ur.thisDep,dr&&dr.contextDep||ur&&ur.contextDep,dr&&dr.propDep||ur&&ur.propDep,function(Vt,Dr){var Jr=Vt.shared.shader,ga;dr?ga=dr.append(Vt,Dr):ga=Dr.def(Jr,".",Nt);var vi;ur?vi=ur.append(Vt,Dr):vi=Dr.def(Jr,".",St);var Ga=Jr+".program("+vi+","+ga;return Dr.def(Ga+")")}),{frag:dr,vert:ur,progVar:sr,program:Ht}}function po(yt,kt){var Bt=yt.static,nr=yt.dynamic,hr={},lr=!1;function dr(){if(He in Bt){var Fi=Bt[He];return Fi!==null&&yi.getVAO(Fi)===null&&(Fi=yi.createVAO(Fi)),lr=!0,hr.vao=Fi,rn(function(_i){var Si=yi.getVAO(Fi);return Si?_i.link(Si):"null"})}else if(He in nr){lr=!0;var ui=nr[He];return vn(ui,function(_i,Si){var Ui=_i.invoke(Si,ui);return Si.def(_i.shared.vao+".getVAO("+Ui+")")})}return null}var ur=dr(),Ht=!1;function sr(){if($t in Bt){var Fi=Bt[$t];if(hr.elements=Fi,fi(Fi)){var ui=hr.elements=ma.create(Fi,!0);Fi=ma.getElements(ui),Ht=!0}else Fi&&(Fi=ma.getElements(Fi),Ht=!0);var _i=rn(function(Ui,fn){if(Fi){var _o=Ui.link(Fi);return Ui.ELEMENTS=_o,_o}return Ui.ELEMENTS=null,null});return _i.value=Fi,_i}else if($t in nr){Ht=!0;var Si=nr[$t];return vn(Si,function(Ui,fn){var _o=Ui.shared,Bo=_o.isBufferArgs,Ps=_o.elements,Do=Ui.invoke(fn,Si),Ms=fn.def("null"),Ys=fn.def(Bo,"(",Do,")"),mu=Ui.cond(Ys).then(Ms,"=",Ps,".createStream(",Do,");").else(Ms,"=",Ps,".getElements(",Do,");");return fn.entry(mu),fn.exit(Ui.cond(Ys).then(Ps,".destroyStream(",Ms,");")),Ui.ELEMENTS=Ms,Ms})}else if(lr)return new La(ur.thisDep,ur.contextDep,ur.propDep,function(Ui,fn){return fn.def(Ui.shared.vao+".currentVAO?"+Ui.shared.elements+".getElements("+Ui.shared.vao+".currentVAO.elements):null")});return null}var Vt=sr();function Dr(){if(Tr in Bt){var Fi=Bt[Tr];return hr.primitive=Fi,rn(function(_i,Si){return Ra[Fi]})}else if(Tr in nr){var ui=nr[Tr];return vn(ui,function(_i,Si){var Ui=_i.constants.primTypes,fn=_i.invoke(Si,ui);return Si.def(Ui,"[",fn,"]")})}else{if(Ht)return sn(Vt)?Vt.value?rn(function(_i,Si){return Si.def(_i.ELEMENTS,".primType")}):rn(function(){return Gl}):new La(Vt.thisDep,Vt.contextDep,Vt.propDep,function(_i,Si){var Ui=_i.ELEMENTS;return Si.def(Ui,"?",Ui,".primType:",Gl)});if(lr)return new La(ur.thisDep,ur.contextDep,ur.propDep,function(_i,Si){return Si.def(_i.shared.vao+".currentVAO?"+_i.shared.vao+".currentVAO.primitive:"+Gl)})}return null}function Jr(Fi,ui){if(Fi in Bt){var _i=Bt[Fi]|0;return ui?hr.offset=_i:hr.instances=_i,rn(function(Ui,fn){return ui&&(Ui.OFFSET=_i),_i})}else if(Fi in nr){var Si=nr[Fi];return vn(Si,function(Ui,fn){var _o=Ui.invoke(fn,Si);return ui&&(Ui.OFFSET=_o),_o})}else if(ui){if(Ht)return rn(function(Ui,fn){return Ui.OFFSET=0,0});if(lr)return new La(ur.thisDep,ur.contextDep,ur.propDep,function(Ui,fn){return fn.def(Ui.shared.vao+".currentVAO?"+Ui.shared.vao+".currentVAO.offset:0")})}else if(lr)return new La(ur.thisDep,ur.contextDep,ur.propDep,function(Ui,fn){return fn.def(Ui.shared.vao+".currentVAO?"+Ui.shared.vao+".currentVAO.instances:-1")});return null}var ga=Jr(Kr,!0);function vi(){if(Ar in Bt){var Fi=Bt[Ar]|0;return hr.count=Fi,rn(function(){return Fi})}else if(Ar in nr){var ui=nr[Ar];return vn(ui,function(fn,_o){var Bo=fn.invoke(_o,ui);return Bo})}else if(Ht)if(sn(Vt)){if(Vt)return ga?new La(ga.thisDep,ga.contextDep,ga.propDep,function(fn,_o){var Bo=_o.def(fn.ELEMENTS,".vertCount-",fn.OFFSET);return Bo}):rn(function(fn,_o){return _o.def(fn.ELEMENTS,".vertCount")});var _i=rn(function(){return-1});return _i}else{var Si=new La(Vt.thisDep||ga.thisDep,Vt.contextDep||ga.contextDep,Vt.propDep||ga.propDep,function(fn,_o){var Bo=fn.ELEMENTS;return fn.OFFSET?_o.def(Bo,"?",Bo,".vertCount-",fn.OFFSET,":-1"):_o.def(Bo,"?",Bo,".vertCount:-1")});return Si}else if(lr){var Ui=new La(ur.thisDep,ur.contextDep,ur.propDep,function(fn,_o){return _o.def(fn.shared.vao,".currentVAO?",fn.shared.vao,".currentVAO.count:-1")});return Ui}return null}var Ga=Dr(),ai=vi(),Zi=Jr(na,!1);return{elements:Vt,primitive:Ga,count:ai,instances:Zi,offset:ga,vao:ur,vaoActive:lr,elementsActive:Ht,static:hr}}function Wl(yt,kt){var Bt=yt.static,nr=yt.dynamic,hr={};return Ha.forEach(function(lr){var dr=Ri(lr);function ur(Ht,sr){if(lr in Bt){var Vt=Ht(Bt[lr]);hr[dr]=rn(function(){return Vt})}else if(lr in nr){var Dr=nr[lr];hr[dr]=vn(Dr,function(Jr,ga){return sr(Jr,ga,Jr.invoke(ga,Dr))})}}switch(lr){case Iu:case bs:case el:case Dc:case Un:case ie:case Rc:case yc:case ho:case Rs:return ur(function(Ht){return Ht},function(Ht,sr,Vt){return Vt});case Lo:return ur(function(Ht){return Sa[Ht]},function(Ht,sr,Vt){var Dr=Ht.constants.compareFuncs;return sr.def(Dr,"[",Vt,"]")});case Js:return ur(function(Ht){return Ht},function(Ht,sr,Vt){var Dr=sr.def("+",Vt,"[0]"),Jr=sr.def("+",Vt,"[1]");return[Dr,Jr]});case ll:return ur(function(Ht){var sr="srcRGB"in Ht?Ht.srcRGB:Ht.src,Vt="srcAlpha"in Ht?Ht.srcAlpha:Ht.src,Dr="dstRGB"in Ht?Ht.dstRGB:Ht.dst,Jr="dstAlpha"in Ht?Ht.dstAlpha:Ht.dst;return[ti[sr],ti[Dr],ti[Vt],ti[Jr]]},function(Ht,sr,Vt){var Dr=Ht.constants.blendFuncs;function Jr(ui,_i){var Si=sr.def('"',ui,_i,'" in ',Vt,"?",Vt,".",ui,_i,":",Vt,".",ui);return Si}var ga=Jr("src","RGB"),vi=Jr("dst","RGB"),Ga=sr.def(Dr,"[",ga,"]"),ai=sr.def(Dr,"[",Jr("src","Alpha"),"]"),Zi=sr.def(Dr,"[",vi,"]"),Fi=sr.def(Dr,"[",Jr("dst","Alpha"),"]");return[Ga,Zi,ai,Fi]});case _l:return ur(function(Ht){if(typeof Ht=="string")return[Qa[Ht],Qa[Ht]];if(typeof Ht=="object")return[Qa[Ht.rgb],Qa[Ht.alpha]]},function(Ht,sr,Vt){var Dr=Ht.constants.blendEquations,Jr=sr.def(),ga=sr.def(),vi=Ht.cond("typeof ",Vt,'==="string"');return vi.then(Jr,"=",ga,"=",Dr,"[",Vt,"];"),vi.else(Jr,"=",Dr,"[",Vt,".rgb];",ga,"=",Dr,"[",Vt,".alpha];"),sr(vi),[Jr,ga]});case Fl:return ur(function(Ht){return d(4,function(sr){return+Ht[sr]})},function(Ht,sr,Vt){return d(4,function(Dr){return sr.def("+",Vt,"[",Dr,"]")})});case lc:return ur(function(Ht){return Ht|0},function(Ht,sr,Vt){return sr.def(Vt,"|0")});case Yu:return ur(function(Ht){var sr=Ht.cmp||"keep",Vt=Ht.ref||0,Dr="mask"in Ht?Ht.mask:-1;return[Sa[sr],Vt,Dr]},function(Ht,sr,Vt){var Dr=Ht.constants.compareFuncs,Jr=sr.def('"cmp" in ',Vt,"?",Dr,"[",Vt,".cmp]",":",Ot),ga=sr.def(Vt,".ref|0"),vi=sr.def('"mask" in ',Vt,"?",Vt,".mask|0:-1");return[Jr,ga,vi]});case Ue:case I:return ur(function(Ht){var sr=Ht.fail||"keep",Vt=Ht.zfail||"keep",Dr=Ht.zpass||"keep";return[lr===I?Fe:de,Fa[sr],Fa[Vt],Fa[Dr]]},function(Ht,sr,Vt){var Dr=Ht.constants.stencilOps;function Jr(ga){return sr.def('"',ga,'" in ',Vt,"?",Dr,"[",Vt,".",ga,"]:",Ot)}return[lr===I?Fe:de,Jr("fail"),Jr("zfail"),Jr("zpass")]});case Au:return ur(function(Ht){var sr=Ht.factor|0,Vt=Ht.units|0;return[sr,Vt]},function(Ht,sr,Vt){var Dr=sr.def(Vt,".factor|0"),Jr=sr.def(Vt,".units|0");return[Dr,Jr]});case Zu:return ur(function(Ht){var sr=0;return Ht==="front"?sr=de:Ht==="back"&&(sr=Fe),sr},function(Ht,sr,Vt){return sr.def(Vt,'==="front"?',de,":",Fe)});case bu:return ur(function(Ht){return Ht},function(Ht,sr,Vt){return Vt});case Ic:return ur(function(Ht){return Xa[Ht]},function(Ht,sr,Vt){return sr.def(Vt+'==="cw"?'+et+":"+mt)});case uu:return ur(function(Ht){return Ht.map(function(sr){return!!sr})},function(Ht,sr,Vt){return d(4,function(Dr){return"!!"+Vt+"["+Dr+"]"})});case Ro:return ur(function(Ht){var sr="value"in Ht?Ht.value:1,Vt=!!Ht.invert;return[sr,Vt]},function(Ht,sr,Vt){var Dr=sr.def('"value" in ',Vt,"?+",Vt,".value:1"),Jr=sr.def("!!",Vt,".invert");return[Dr,Jr]})}}),hr}function fs(yt,kt){var Bt=yt.static,nr=yt.dynamic,hr={};return Object.keys(Bt).forEach(function(lr){var dr=Bt[lr],ur;if(typeof dr=="number"||typeof dr=="boolean")ur=rn(function(){return dr});else if(typeof dr=="function"){var Ht=dr._reglType;Ht==="texture2d"||Ht==="textureCube"?ur=rn(function(sr){return sr.link(dr)}):(Ht==="framebuffer"||Ht==="framebufferCube")&&(ur=rn(function(sr){return sr.link(dr.color[0])}))}else ya(dr)&&(ur=rn(function(sr){var Vt=sr.global.def("[",d(dr.length,function(Dr){return dr[Dr]}),"]");return Vt}));ur.value=dr,hr[lr]=ur}),Object.keys(nr).forEach(function(lr){var dr=nr[lr];hr[lr]=vn(dr,function(ur,Ht){return ur.invoke(Ht,dr)})}),hr}function Sl(yt,kt){var Bt=yt.static,nr=yt.dynamic,hr={};return Object.keys(Bt).forEach(function(lr){var dr=Bt[lr],ur=Zt.id(lr),Ht=new Ma;if(fi(dr))Ht.state=eo,Ht.buffer=wa.getBuffer(wa.create(dr,Qr,!1,!0)),Ht.type=0;else{var sr=wa.getBuffer(dr);if(sr)Ht.state=eo,Ht.buffer=sr,Ht.type=0;else if("constant"in dr){var Vt=dr.constant;Ht.buffer="null",Ht.state=fo,typeof Vt=="number"?Ht.x=Vt:Qn.forEach(function(Zi,Fi){Fi<Vt.length&&(Ht[Zi]=Vt[Fi])})}else{fi(dr.buffer)?sr=wa.getBuffer(wa.create(dr.buffer,Qr,!1,!0)):sr=wa.getBuffer(dr.buffer);var Dr=dr.offset|0,Jr=dr.stride|0,ga=dr.size|0,vi=!!dr.normalized,Ga=0;"type"in dr&&(Ga=fa[dr.type]);var ai=dr.divisor|0;Ht.buffer=sr,Ht.state=eo,Ht.size=ga,Ht.normalized=vi,Ht.type=Ga||sr.dtype,Ht.offset=Dr,Ht.stride=Jr,Ht.divisor=ai}}hr[lr]=rn(function(Zi,Fi){var ui=Zi.attribCache;if(ur in ui)return ui[ur];var _i={isStream:!1};return Object.keys(Ht).forEach(function(Si){_i[Si]=Ht[Si]}),Ht.buffer&&(_i.buffer=Zi.link(Ht.buffer),_i.type=_i.type||_i.buffer+".dtype"),ui[ur]=_i,_i})}),Object.keys(nr).forEach(function(lr){var dr=nr[lr];function ur(Ht,sr){var Vt=Ht.invoke(sr,dr),Dr=Ht.shared,Jr=Ht.constants,ga=Dr.isBufferArgs,vi=Dr.buffer,Ga={isStream:sr.def(!1)},ai=new Ma;ai.state=eo,Object.keys(ai).forEach(function(_i){Ga[_i]=sr.def(""+ai[_i])});var Zi=Ga.buffer,Fi=Ga.type;sr("if(",ga,"(",Vt,")){",Ga.isStream,"=true;",Zi,"=",vi,".createStream(",Qr,",",Vt,");",Fi,"=",Zi,".dtype;","}else{",Zi,"=",vi,".getBuffer(",Vt,");","if(",Zi,"){",Fi,"=",Zi,".dtype;",'}else if("constant" in ',Vt,"){",Ga.state,"=",fo,";","if(typeof "+Vt+'.constant === "number"){',Ga[Qn[0]],"=",Vt,".constant;",Qn.slice(1).map(function(_i){return Ga[_i]}).join("="),"=0;","}else{",Qn.map(function(_i,Si){return Ga[_i]+"="+Vt+".constant.length>"+Si+"?"+Vt+".constant["+Si+"]:0;"}).join(""),"}}else{","if(",ga,"(",Vt,".buffer)){",Zi,"=",vi,".createStream(",Qr,",",Vt,".buffer);","}else{",Zi,"=",vi,".getBuffer(",Vt,".buffer);","}",Fi,'="type" in ',Vt,"?",Jr.glTypes,"[",Vt,".type]:",Zi,".dtype;",Ga.normalized,"=!!",Vt,".normalized;");function ui(_i){sr(Ga[_i],"=",Vt,".",_i,"|0;")}return ui("size"),ui("offset"),ui("stride"),ui("divisor"),sr("}}"),sr.exit("if(",Ga.isStream,"){",vi,".destroyStream(",Zi,");","}"),Ga}hr[lr]=vn(dr,ur)}),hr}function kl(yt){var kt=yt.static,Bt=yt.dynamic,nr={};return Object.keys(kt).forEach(function(hr){var lr=kt[hr];nr[hr]=rn(function(dr,ur){return typeof lr=="number"||typeof lr=="boolean"?""+lr:dr.link(lr)})}),Object.keys(Bt).forEach(function(hr){var lr=Bt[hr];nr[hr]=vn(lr,function(dr,ur){return dr.invoke(ur,lr)})}),nr}function tu(yt,kt,Bt,nr,hr){var lr=yt.static,dr=yt.dynamic,ur=Ds(yt,kt),Ht=Dn(yt,hr),sr=Zn(yt,Ht,hr),Vt=po(yt,hr),Dr=Wl(yt,hr),Jr=bl(yt,hr,ur);function ga(ui){var _i=sr[ui];_i&&(Dr[ui]=_i)}ga(Se),ga(Ri(we));var vi=Object.keys(Dr).length>0,Ga={framebuffer:Ht,draw:Vt,shader:Jr,state:Dr,dirty:vi,scopeVAO:null,drawVAO:null,useVAO:!1,attributes:{}};if(Ga.profile=kn(yt,hr),Ga.uniforms=fs(Bt,hr),Ga.drawVAO=Ga.scopeVAO=Vt.vao,!Ga.drawVAO&&Jr.program&&!ur&&fr.angle_instanced_arrays&&Vt.static.elements){var ai=!0,Zi=Jr.program.attributes.map(function(ui){var _i=kt.static[ui];return ai=ai&&!!_i,_i});if(ai&&Zi.length>0){var Fi=yi.getVAO(yi.createVAO({attributes:Zi,elements:Vt.static.elements}));Ga.drawVAO=new La(null,null,null,function(ui,_i){return ui.link(Fi)}),Ga.useVAO=!0}}return ur?Ga.useVAO=!0:Ga.attributes=Sl(kt,hr),Ga.context=kl(nr,hr),Ga}function qs(yt,kt,Bt){var nr=yt.shared,hr=nr.context,lr=yt.scope();Object.keys(Bt).forEach(function(dr){kt.save(hr,"."+dr);var ur=Bt[dr],Ht=ur.append(yt,kt);Array.isArray(Ht)?lr(hr,".",dr,"=[",Ht.join(),"];"):lr(hr,".",dr,"=",Ht,";")}),kt(lr)}function pl(yt,kt,Bt,nr){var hr=yt.shared,lr=hr.gl,dr=hr.framebuffer,ur;Va&&(ur=kt.def(hr.extensions,".webgl_draw_buffers"));var Ht=yt.constants,sr=Ht.drawBuffer,Vt=Ht.backBuffer,Dr;Bt?Dr=Bt.append(yt,kt):Dr=kt.def(dr,".next"),nr||kt("if(",Dr,"!==",dr,".cur){"),kt("if(",Dr,"){",lr,".bindFramebuffer(",da,",",Dr,".framebuffer);"),Va&&kt(ur,".drawBuffersWEBGL(",sr,"[",Dr,".colorAttachments.length]);"),kt("}else{",lr,".bindFramebuffer(",da,",null);"),Va&&kt(ur,".drawBuffersWEBGL(",Vt,");"),kt("}",dr,".cur=",Dr,";"),nr||kt("}")}function wl(yt,kt,Bt){var nr=yt.shared,hr=nr.gl,lr=yt.current,dr=yt.next,ur=nr.current,Ht=nr.next,sr=yt.cond(ur,".dirty");Ha.forEach(function(Vt){var Dr=Ri(Vt);if(!(Dr in Bt.state)){var Jr,ga;if(Dr in dr){Jr=dr[Dr],ga=lr[Dr];var vi=d(Li[Dr].length,function(ai){return sr.def(Jr,"[",ai,"]")});sr(yt.cond(vi.map(function(ai,Zi){return ai+"!=="+ga+"["+Zi+"]"}).join("||")).then(hr,".",Yi[Dr],"(",vi,");",vi.map(function(ai,Zi){return ga+"["+Zi+"]="+ai}).join(";"),";"))}else{Jr=sr.def(Ht,".",Dr);var Ga=yt.cond(Jr,"!==",ur,".",Dr);sr(Ga),Dr in Ua?Ga(yt.cond(Jr).then(hr,".enable(",Ua[Dr],");").else(hr,".disable(",Ua[Dr],");"),ur,".",Dr,"=",Jr,";"):Ga(hr,".",Yi[Dr],"(",Jr,");",ur,".",Dr,"=",Jr,";")}}}),Object.keys(Bt.state).length===0&&sr(ur,".dirty=false;"),kt(sr)}function Yn(yt,kt,Bt,nr){var hr=yt.shared,lr=yt.current,dr=hr.current,ur=hr.gl,Ht;ni(Object.keys(Bt)).forEach(function(sr){var Vt=Bt[sr];if(!(nr&&!nr(Vt))){var Dr=Vt.append(yt,kt);if(Ua[sr]){var Jr=Ua[sr];sn(Vt)?(Ht=yt.link(Dr,{stable:!0}),kt(yt.cond(Ht).then(ur,".enable(",Jr,");").else(ur,".disable(",Jr,");")),kt(dr,".",sr,"=",Ht,";")):(kt(yt.cond(Dr).then(ur,".enable(",Jr,");").else(ur,".disable(",Jr,");")),kt(dr,".",sr,"=",Dr,";"))}else if(ya(Dr)){var ga=lr[sr];kt(ur,".",Yi[sr],"(",Dr,");",Dr.map(function(vi,Ga){return ga+"["+Ga+"]="+vi}).join(";"),";")}else sn(Vt)?(Ht=yt.link(Dr,{stable:!0}),kt(ur,".",Yi[sr],"(",Ht,");",dr,".",sr,"=",Ht,";")):kt(ur,".",Yi[sr],"(",Dr,");",dr,".",sr,"=",Dr,";")}})}function Cl(yt,kt){di&&(yt.instancing=kt.def(yt.shared.extensions,".angle_instanced_arrays"))}function Co(yt,kt,Bt,nr,hr){var lr=yt.shared,dr=yt.stats,ur=lr.current,Ht=lr.timer,sr=Bt.profile;function Vt(){return typeof performance>"u"?"Date.now()":"performance.now()"}var Dr,Jr;function ga(ui){Dr=kt.def(),ui(Dr,"=",Vt(),";"),typeof hr=="string"?ui(dr,".count+=",hr,";"):ui(dr,".count++;"),Ei&&(nr?(Jr=kt.def(),ui(Jr,"=",Ht,".getNumPendingQueries();")):ui(Ht,".beginQuery(",dr,");"))}function vi(ui){ui(dr,".cpuTime+=",Vt(),"-",Dr,";"),Ei&&(nr?ui(Ht,".pushScopeStats(",Jr,",",Ht,".getNumPendingQueries(),",dr,");"):ui(Ht,".endQuery();"))}function Ga(ui){var _i=kt.def(ur,".profile");kt(ur,".profile=",ui,";"),kt.exit(ur,".profile=",_i,";")}var ai;if(sr){if(sn(sr)){sr.enable?(ga(kt),vi(kt.exit),Ga("true")):Ga("false");return}ai=sr.append(yt,kt),Ga(ai)}else ai=kt.def(ur,".profile");var Zi=yt.block();ga(Zi),kt("if(",ai,"){",Zi,"}");var Fi=yt.block();vi(Fi),kt.exit("if(",ai,"){",Fi,"}")}function ve(yt,kt,Bt,nr,hr){var lr=yt.shared;function dr(Ht){switch(Ht){case is:case ul:case Il:return 2;case Ao:case tl:case eu:return 3;case Zo:case Jo:case Ru:return 4;default:return 1}}function ur(Ht,sr,Vt){var Dr=lr.gl,Jr=kt.def(Ht,".location"),ga=kt.def(lr.attributes,"[",Jr,"]"),vi=Vt.state,Ga=Vt.buffer,ai=[Vt.x,Vt.y,Vt.z,Vt.w],Zi=["buffer","normalized","offset","stride"];function Fi(){kt("if(!",ga,".buffer){",Dr,".enableVertexAttribArray(",Jr,");}");var _i=Vt.type,Si;if(Vt.size?Si=kt.def(Vt.size,"||",sr):Si=sr,kt("if(",ga,".type!==",_i,"||",ga,".size!==",Si,"||",Zi.map(function(fn){return ga+"."+fn+"!=="+Vt[fn]}).join("||"),"){",Dr,".bindBuffer(",Qr,",",Ga,".buffer);",Dr,".vertexAttribPointer(",[Jr,Si,_i,Vt.normalized,Vt.stride,Vt.offset],");",ga,".type=",_i,";",ga,".size=",Si,";",Zi.map(function(fn){return ga+"."+fn+"="+Vt[fn]+";"}).join(""),"}"),di){var Ui=Vt.divisor;kt("if(",ga,".divisor!==",Ui,"){",yt.instancing,".vertexAttribDivisorANGLE(",[Jr,Ui],");",ga,".divisor=",Ui,";}")}}function ui(){kt("if(",ga,".buffer){",Dr,".disableVertexAttribArray(",Jr,");",ga,".buffer=null;","}if(",Qn.map(function(_i,Si){return ga+"."+_i+"!=="+ai[Si]}).join("||"),"){",Dr,".vertexAttrib4f(",Jr,",",ai,");",Qn.map(function(_i,Si){return ga+"."+_i+"="+ai[Si]+";"}).join(""),"}")}vi===eo?Fi():vi===fo?ui():(kt("if(",vi,"===",eo,"){"),Fi(),kt("}else{"),ui(),kt("}"))}nr.forEach(function(Ht){var sr=Ht.name,Vt=Bt.attributes[sr],Dr;if(Vt){if(!hr(Vt))return;Dr=Vt.append(yt,kt)}else{if(!hr(Pn))return;var Jr=yt.scopeAttrib(sr);Dr={},Object.keys(new Ma).forEach(function(ga){Dr[ga]=kt.def(Jr,".",ga)})}ur(yt.link(Ht),dr(Ht.info.type),Dr)})}function K(yt,kt,Bt,nr,hr,lr){for(var dr=yt.shared,ur=dr.gl,Ht,sr=0;sr<nr.length;++sr){var Vt=nr[sr],Dr=Vt.name,Jr=Vt.info.type,ga=Bt.uniforms[Dr],vi=yt.link(Vt),Ga=vi+".location",ai;if(ga){if(!hr(ga))continue;if(sn(ga)){var Zi=ga.value;if(Jr===uc||Jr===Vl){var Fi=yt.link(Zi._texture||Zi.color[0]._texture);kt(ur,".uniform1i(",Ga,",",Fi+".bind());"),kt.exit(Fi,".unbind();")}else if(Jr===vu||Jr===Tl||Jr===cu){var ui=yt.global.def("new Float32Array(["+Array.prototype.slice.call(Zi)+"])"),_i=2;Jr===Tl?_i=3:Jr===cu&&(_i=4),kt(ur,".uniformMatrix",_i,"fv(",Ga,",false,",ui,");")}else{switch(Jr){case wo:Ht="1f";break;case is:Ht="2f";break;case Ao:Ht="3f";break;case Zo:Ht="4f";break;case $o:Ht="1i";break;case ps:Ht="1i";break;case Il:Ht="2i";break;case ul:Ht="2i";break;case eu:Ht="3i";break;case tl:Ht="3i";break;case Ru:Ht="4i";break;case Jo:Ht="4i";break}kt(ur,".uniform",Ht,"(",Ga,",",ya(Zi)?Array.prototype.slice.call(Zi):Zi,");")}continue}else ai=ga.append(yt,kt)}else{if(!hr(Pn))continue;ai=kt.def(dr.uniforms,"[",Zt.id(Dr),"]")}Jr===uc?kt("if(",ai,"&&",ai,'._reglType==="framebuffer"){',ai,"=",ai,".color[0];","}"):Jr===Vl&&kt("if(",ai,"&&",ai,'._reglType==="framebufferCube"){',ai,"=",ai,".color[0];","}");var Si=1;switch(Jr){case uc:case Vl:var Ui=kt.def(ai,"._texture");kt(ur,".uniform1i(",Ga,",",Ui,".bind());"),kt.exit(Ui,".unbind();");continue;case ps:case $o:Ht="1i";break;case ul:case Il:Ht="2i",Si=2;break;case tl:case eu:Ht="3i",Si=3;break;case Jo:case Ru:Ht="4i",Si=4;break;case wo:Ht="1f";break;case is:Ht="2f",Si=2;break;case Ao:Ht="3f",Si=3;break;case Zo:Ht="4f",Si=4;break;case vu:Ht="Matrix2fv";break;case Tl:Ht="Matrix3fv";break;case cu:Ht="Matrix4fv";break}if(Ht.charAt(0)==="M"){kt(ur,".uniform",Ht,"(",Ga,",");var fn=Math.pow(Jr-vu+2,2),_o=yt.global.def("new Float32Array(",fn,")");Array.isArray(ai)?kt("false,(",d(fn,function(Ys){return _o+"["+Ys+"]="+ai[Ys]}),",",_o,")"):kt("false,(Array.isArray(",ai,")||",ai," instanceof Float32Array)?",ai,":(",d(fn,function(Ys){return _o+"["+Ys+"]="+ai+"["+Ys+"]"}),",",_o,")"),kt(");")}else if(Si>1){for(var Bo=[],Ps=[],Do=0;Do<Si;++Do)Array.isArray(ai)?Ps.push(ai[Do]):Ps.push(kt.def(ai+"["+Do+"]")),lr&&Bo.push(kt.def());lr&&kt("if(!",yt.batchId,"||",Bo.map(function(Ys,mu){return Ys+"!=="+Ps[mu]}).join("||"),"){",Bo.map(function(Ys,mu){return Ys+"="+Ps[mu]+";"}).join("")),kt(ur,".uniform",Ht,"(",Ga,",",Ps.join(","),");"),lr&&kt("}")}else{if(lr){var Ms=kt.def();kt("if(!",yt.batchId,"||",Ms,"!==",ai,"){",Ms,"=",ai,";")}kt(ur,".uniform",Ht,"(",Ga,",",ai,");"),lr&&kt("}")}}}function _e(yt,kt,Bt,nr){var hr=yt.shared,lr=hr.gl,dr=hr.draw,ur=nr.draw;function Ht(){var Si=ur.elements,Ui,fn=kt;return Si?((Si.contextDep&&nr.contextDynamic||Si.propDep)&&(fn=Bt),Ui=Si.append(yt,fn),ur.elementsActive&&fn("if("+Ui+")"+lr+".bindBuffer("+pa+","+Ui+".buffer.buffer);")):(Ui=fn.def(),fn(Ui,"=",dr,".",$t,";","if(",Ui,"){",lr,".bindBuffer(",pa,",",Ui,".buffer.buffer);}","else if(",hr.vao,".currentVAO){",Ui,"=",yt.shared.elements+".getElements("+hr.vao,".currentVAO.elements);",Bi?"":"if("+Ui+")"+lr+".bindBuffer("+pa+","+Ui+".buffer.buffer);","}")),Ui}function sr(){var Si=ur.count,Ui,fn=kt;return Si?((Si.contextDep&&nr.contextDynamic||Si.propDep)&&(fn=Bt),Ui=Si.append(yt,fn)):Ui=fn.def(dr,".",Ar),Ui}var Vt=Ht();function Dr(Si){var Ui=ur[Si];return Ui?Ui.contextDep&&nr.contextDynamic||Ui.propDep?Ui.append(yt,Bt):Ui.append(yt,kt):kt.def(dr,".",Si)}var Jr=Dr(Tr),ga=Dr(Kr),vi=sr();if(typeof vi=="number"){if(vi===0)return}else Bt("if(",vi,"){"),Bt.exit("}");var Ga,ai;di&&(Ga=Dr(na),ai=yt.instancing);var Zi=Vt+".type",Fi=ur.elements&&sn(ur.elements)&&!ur.vaoActive;function ui(){function Si(){Bt(ai,".drawElementsInstancedANGLE(",[Jr,vi,Zi,ga+"<<(("+Zi+"-"+ao+")>>1)",Ga],");")}function Ui(){Bt(ai,".drawArraysInstancedANGLE(",[Jr,ga,vi,Ga],");")}Vt&&Vt!=="null"?Fi?Si():(Bt("if(",Vt,"){"),Si(),Bt("}else{"),Ui(),Bt("}")):Ui()}function _i(){function Si(){Bt(lr+".drawElements("+[Jr,vi,Zi,ga+"<<(("+Zi+"-"+ao+")>>1)"]+");")}function Ui(){Bt(lr+".drawArrays("+[Jr,ga,vi]+");")}Vt&&Vt!=="null"?Fi?Si():(Bt("if(",Vt,"){"),Si(),Bt("}else{"),Ui(),Bt("}")):Ui()}di&&(typeof Ga!="number"||Ga>=0)?typeof Ga=="string"?(Bt("if(",Ga,">0){"),ui(),Bt("}else if(",Ga,"<0){"),_i(),Bt("}")):ui():_i()}function te(yt,kt,Bt,nr,hr){var lr=an(),dr=lr.proc("body",hr);return di&&(lr.instancing=dr.def(lr.shared.extensions,".angle_instanced_arrays")),yt(lr,dr,Bt,nr),lr.compile().body}function me(yt,kt,Bt,nr){Cl(yt,kt),Bt.useVAO?Bt.drawVAO?kt(yt.shared.vao,".setVAO(",Bt.drawVAO.append(yt,kt),");"):kt(yt.shared.vao,".setVAO(",yt.shared.vao,".targetVAO);"):(kt(yt.shared.vao,".setVAO(null);"),ve(yt,kt,Bt,nr.attributes,function(){return!0})),K(yt,kt,Bt,nr.uniforms,function(){return!0},!1),_e(yt,kt,kt,Bt)}function Ge(yt,kt){var Bt=yt.proc("draw",1);Cl(yt,Bt),qs(yt,Bt,kt.context),pl(yt,Bt,kt.framebuffer),wl(yt,Bt,kt),Yn(yt,Bt,kt.state),Co(yt,Bt,kt,!1,!0);var nr=kt.shader.progVar.append(yt,Bt);if(Bt(yt.shared.gl,".useProgram(",nr,".program);"),kt.shader.program)me(yt,Bt,kt,kt.shader.program);else{Bt(yt.shared.vao,".setVAO(null);");var hr=yt.global.def("{}"),lr=Bt.def(nr,".id"),dr=Bt.def(hr,"[",lr,"]");Bt(yt.cond(dr).then(dr,".call(this,a0);").else(dr,"=",hr,"[",lr,"]=",yt.link(function(ur){return te(me,yt,kt,ur,1)}),"(",nr,");",dr,".call(this,a0);"))}Object.keys(kt.state).length>0&&Bt(yt.shared.current,".dirty=true;"),yt.shared.vao&&Bt(yt.shared.vao,".setVAO(null);")}function Le(yt,kt,Bt,nr){yt.batchId="a1",Cl(yt,kt);function hr(){return!0}ve(yt,kt,Bt,nr.attributes,hr),K(yt,kt,Bt,nr.uniforms,hr,!1),_e(yt,kt,kt,Bt)}function $e(yt,kt,Bt,nr){Cl(yt,kt);var hr=Bt.contextDep,lr=kt.def(),dr="a0",ur="a1",Ht=kt.def();yt.shared.props=Ht,yt.batchId=lr;var sr=yt.scope(),Vt=yt.scope();kt(sr.entry,"for(",lr,"=0;",lr,"<",ur,";++",lr,"){",Ht,"=",dr,"[",lr,"];",Vt,"}",sr.exit);function Dr(Zi){return Zi.contextDep&&hr||Zi.propDep}function Jr(Zi){return!Dr(Zi)}if(Bt.needsContext&&qs(yt,Vt,Bt.context),Bt.needsFramebuffer&&pl(yt,Vt,Bt.framebuffer),Yn(yt,Vt,Bt.state,Dr),Bt.profile&&Dr(Bt.profile)&&Co(yt,Vt,Bt,!1,!0),nr)Bt.useVAO?Bt.drawVAO?Dr(Bt.drawVAO)?Vt(yt.shared.vao,".setVAO(",Bt.drawVAO.append(yt,Vt),");"):sr(yt.shared.vao,".setVAO(",Bt.drawVAO.append(yt,sr),");"):sr(yt.shared.vao,".setVAO(",yt.shared.vao,".targetVAO);"):(sr(yt.shared.vao,".setVAO(null);"),ve(yt,sr,Bt,nr.attributes,Jr),ve(yt,Vt,Bt,nr.attributes,Dr)),K(yt,sr,Bt,nr.uniforms,Jr,!1),K(yt,Vt,Bt,nr.uniforms,Dr,!0),_e(yt,sr,Vt,Bt);else{var ga=yt.global.def("{}"),vi=Bt.shader.progVar.append(yt,Vt),Ga=Vt.def(vi,".id"),ai=Vt.def(ga,"[",Ga,"]");Vt(yt.shared.gl,".useProgram(",vi,".program);","if(!",ai,"){",ai,"=",ga,"[",Ga,"]=",yt.link(function(Zi){return te(Le,yt,Bt,Zi,2)}),"(",vi,");}",ai,".call(this,a0[",lr,"],",lr,");")}}function gt(yt,kt){var Bt=yt.proc("batch",2);yt.batchId="0",Cl(yt,Bt);var nr=!1,hr=!0;Object.keys(kt.context).forEach(function(ga){nr=nr||kt.context[ga].propDep}),nr||(qs(yt,Bt,kt.context),hr=!1);var lr=kt.framebuffer,dr=!1;lr?(lr.propDep?nr=dr=!0:lr.contextDep&&nr&&(dr=!0),dr||pl(yt,Bt,lr)):pl(yt,Bt,null),kt.state.viewport&&kt.state.viewport.propDep&&(nr=!0);function ur(ga){return ga.contextDep&&nr||ga.propDep}wl(yt,Bt,kt),Yn(yt,Bt,kt.state,function(ga){return!ur(ga)}),(!kt.profile||!ur(kt.profile))&&Co(yt,Bt,kt,!1,"a1"),kt.contextDep=nr,kt.needsContext=hr,kt.needsFramebuffer=dr;var Ht=kt.shader.progVar;if(Ht.contextDep&&nr||Ht.propDep)$e(yt,Bt,kt,null);else{var sr=Ht.append(yt,Bt);if(Bt(yt.shared.gl,".useProgram(",sr,".program);"),kt.shader.program)$e(yt,Bt,kt,kt.shader.program);else{Bt(yt.shared.vao,".setVAO(null);");var Vt=yt.global.def("{}"),Dr=Bt.def(sr,".id"),Jr=Bt.def(Vt,"[",Dr,"]");Bt(yt.cond(Jr).then(Jr,".call(this,a0,a1);").else(Jr,"=",Vt,"[",Dr,"]=",yt.link(function(ga){return te($e,yt,kt,ga,2)}),"(",sr,");",Jr,".call(this,a0,a1);"))}}Object.keys(kt.state).length>0&&Bt(yt.shared.current,".dirty=true;"),yt.shared.vao&&Bt(yt.shared.vao,".setVAO(null);")}function jt(yt,kt){var Bt=yt.proc("scope",3);yt.batchId="a2";var nr=yt.shared,hr=nr.current;if(qs(yt,Bt,kt.context),kt.framebuffer&&kt.framebuffer.append(yt,Bt),ni(Object.keys(kt.state)).forEach(function(ur){var Ht=kt.state[ur],sr=Ht.append(yt,Bt);ya(sr)?sr.forEach(function(Vt,Dr){Xi(Vt)?Bt.set(yt.next[ur],"["+Dr+"]",Vt):Bt.set(yt.next[ur],"["+Dr+"]",yt.link(Vt,{stable:!0}))}):sn(Ht)?Bt.set(nr.next,"."+ur,yt.link(sr,{stable:!0})):Bt.set(nr.next,"."+ur,sr)}),Co(yt,Bt,kt,!0,!0),[$t,Kr,Ar,na,Tr].forEach(function(ur){var Ht=kt.draw[ur];if(Ht){var sr=Ht.append(yt,Bt);Xi(sr)?Bt.set(nr.draw,"."+ur,sr):Bt.set(nr.draw,"."+ur,yt.link(sr),{stable:!0})}}),Object.keys(kt.uniforms).forEach(function(ur){var Ht=kt.uniforms[ur].append(yt,Bt);Array.isArray(Ht)&&(Ht="["+Ht.map(function(sr){return Xi(sr)?sr:yt.link(sr,{stable:!0})})+"]"),Bt.set(nr.uniforms,"["+yt.link(Zt.id(ur),{stable:!0})+"]",Ht)}),Object.keys(kt.attributes).forEach(function(ur){var Ht=kt.attributes[ur].append(yt,Bt),sr=yt.scopeAttrib(ur);Object.keys(new Ma).forEach(function(Vt){Bt.set(sr,"."+Vt,Ht[Vt])})}),kt.scopeVAO){var lr=kt.scopeVAO.append(yt,Bt);Xi(lr)?Bt.set(nr.vao,".targetVAO",lr):Bt.set(nr.vao,".targetVAO",yt.link(lr,{stable:!0}))}function dr(ur){var Ht=kt.shader[ur];if(Ht){var sr=Ht.append(yt,Bt);Xi(sr)?Bt.set(nr.shader,"."+ur,sr):Bt.set(nr.shader,"."+ur,yt.link(sr,{stable:!0}))}}dr(St),dr(Nt),Object.keys(kt.state).length>0&&(Bt(hr,".dirty=true;"),Bt.exit(hr,".dirty=true;")),Bt("a1(",yt.shared.context,",a0,",yt.batchId,");")}function wr(yt){if(!(typeof yt!="object"||ya(yt))){for(var kt=Object.keys(yt),Bt=0;Bt<kt.length;++Bt)if(h.isDynamic(yt[kt[Bt]]))return!0;return!1}}function Nr(yt,kt,Bt){var nr=kt.static[Bt];if(!nr||!wr(nr))return;var hr=yt.global,lr=Object.keys(nr),dr=!1,ur=!1,Ht=!1,sr=yt.global.def("{}");lr.forEach(function(Dr){var Jr=nr[Dr];if(h.isDynamic(Jr)){typeof Jr=="function"&&(Jr=nr[Dr]=h.unbox(Jr));var ga=vn(Jr,null);dr=dr||ga.thisDep,Ht=Ht||ga.propDep,ur=ur||ga.contextDep}else{switch(hr(sr,".",Dr,"="),typeof Jr){case"number":hr(Jr);break;case"string":hr('"',Jr,'"');break;case"object":Array.isArray(Jr)&&hr("[",Jr.join(),"]");break;default:hr(yt.link(Jr));break}hr(";")}});function Vt(Dr,Jr){lr.forEach(function(ga){var vi=nr[ga];if(h.isDynamic(vi)){var Ga=Dr.invoke(Jr,vi);Jr(sr,".",ga,"=",Ga,";")}})}kt.dynamic[Bt]=new h.DynamicVariable(Ss,{thisDep:dr,contextDep:ur,propDep:Ht,ref:sr,append:Vt}),delete kt.static[Bt]}function pr(yt,kt,Bt,nr,hr){var lr=an();lr.stats=lr.link(hr),Object.keys(kt.static).forEach(function(ur){Nr(lr,kt,ur)}),jr.forEach(function(ur){Nr(lr,yt,ur)});var dr=tu(yt,kt,Bt,nr,lr);return dr.shader.program&&(dr.shader.program.attributes.sort(function(ur,Ht){return ur.name<Ht.name?-1:1}),dr.shader.program.uniforms.sort(function(ur,Ht){return ur.name<Ht.name?-1:1})),Ge(lr,dr),jt(lr,dr),gt(lr,dr),v(lr.compile(),{destroy:function(){dr.shader.program.destroy()}})}return{next:pn,current:Li,procs:function(){var yt=an(),kt=yt.proc("poll"),Bt=yt.proc("refresh"),nr=yt.block();kt(nr),Bt(nr);var hr=yt.shared,lr=hr.gl,dr=hr.next,ur=hr.current;nr(ur,".dirty=false;"),pl(yt,kt),pl(yt,Bt,null,!0);var Ht;di&&(Ht=yt.link(di)),fr.oes_vertex_array_object&&Bt(yt.link(fr.oes_vertex_array_object),".bindVertexArrayOES(null);");var sr=Bt.def(hr.attributes),Vt=Bt.def(0),Dr=yt.cond(Vt,".buffer");Dr.then(lr,".enableVertexAttribArray(i);",lr,".bindBuffer(",Qr,",",Vt,".buffer.buffer);",lr,".vertexAttribPointer(i,",Vt,".size,",Vt,".type,",Vt,".normalized,",Vt,".stride,",Vt,".offset);").else(lr,".disableVertexAttribArray(i);",lr,".vertexAttrib4f(i,",Vt,".x,",Vt,".y,",Vt,".z,",Vt,".w);",Vt,".buffer=null;");var Jr=yt.link(oa.maxAttributes,{stable:!0});return Bt("for(var i=0;i<",Jr,";++i){",Vt,"=",sr,"[i];",Dr,"}"),di&&Bt("for(var i=0;i<",Jr,";++i){",Ht,".vertexAttribDivisorANGLE(i,",sr,"[i].divisor);","}"),Bt(yt.shared.vao,".currentVAO=null;",yt.shared.vao,".setVAO(",yt.shared.vao,".targetVAO);"),Object.keys(Ua).forEach(function(ga){var vi=Ua[ga],Ga=nr.def(dr,".",ga),ai=yt.block();ai("if(",Ga,"){",lr,".enable(",vi,")}else{",lr,".disable(",vi,")}",ur,".",ga,"=",Ga,";"),Bt(ai),kt("if(",Ga,"!==",ur,".",ga,"){",ai,"}")}),Object.keys(Yi).forEach(function(ga){var vi=Yi[ga],Ga=Li[ga],ai,Zi,Fi=yt.block();if(Fi(lr,".",vi,"("),ya(Ga)){var ui=Ga.length;ai=yt.global.def(dr,".",ga),Zi=yt.global.def(ur,".",ga),Fi(d(ui,function(_i){return ai+"["+_i+"]"}),");",d(ui,function(_i){return Zi+"["+_i+"]="+ai+"["+_i+"];"}).join("")),kt("if(",d(ui,function(_i){return ai+"["+_i+"]!=="+Zi+"["+_i+"]"}).join("||"),"){",Fi,"}")}else ai=nr.def(dr,".",ga),Zi=nr.def(ur,".",ga),Fi(ai,");",ur,".",ga,"=",ai,";"),kt("if(",ai,"!==",Zi,"){",Fi,"}");Bt(Fi)}),yt.compile()}(),compile:pr}}function ro(){return{vaoCount:0,bufferCount:0,elementsCount:0,framebufferCount:0,shaderCount:0,textureCount:0,cubeCount:0,renderbufferCount:0,maxTextureUnits:0}}var Yo=34918,io=34919,Ho=35007,cl=function(it,Zt){if(!Zt.ext_disjoint_timer_query)return null;var fr=[];function oa(){return fr.pop()||Zt.ext_disjoint_timer_query.createQueryEXT()}function wa(Qa){fr.push(Qa)}var ma=[];function _a(Qa){var di=oa();Zt.ext_disjoint_timer_query.beginQueryEXT(Ho,di),ma.push(di),Ei(ma.length-1,ma.length,Qa)}function Ya(){Zt.ext_disjoint_timer_query.endQueryEXT(Ho)}function bi(){this.startQueryIndex=-1,this.endQueryIndex=-1,this.sum=0,this.stats=null}var yi=[];function si(){return yi.pop()||new bi}function yn(Qa){yi.push(Qa)}var zi=[];function Ei(Qa,di,Va){var Bi=si();Bi.startQueryIndex=Qa,Bi.endQueryIndex=di,Bi.sum=0,Bi.stats=Va,zi.push(Bi)}var Na=[],ea=[];function Ma(){var Qa,di,Va=ma.length;if(Va!==0){ea.length=Math.max(ea.length,Va+1),Na.length=Math.max(Na.length,Va+1),Na[0]=0,ea[0]=0;var Bi=0;for(Qa=0,di=0;di<ma.length;++di){var Li=ma[di];Zt.ext_disjoint_timer_query.getQueryObjectEXT(Li,io)?(Bi+=Zt.ext_disjoint_timer_query.getQueryObjectEXT(Li,Yo),wa(Li)):ma[Qa++]=Li,Na[di+1]=Bi,ea[di+1]=Qa}for(ma.length=Qa,Qa=0,di=0;di<zi.length;++di){var pn=zi[di],Ha=pn.startQueryIndex,Ua=pn.endQueryIndex;pn.sum+=Na[Ua]-Na[Ha];var Yi=ea[Ha],Ri=ea[Ua];Ri===Yi?(pn.stats.gpuTime+=pn.sum/1e6,yn(pn)):(pn.startQueryIndex=Yi,pn.endQueryIndex=Ri,zi[Qa++]=pn)}zi.length=Qa}}return{beginQuery:_a,endQuery:Ya,pushScopeStats:Ei,update:Ma,getNumPendingQueries:function(){return ma.length},clear:function(){fr.push.apply(fr,ma);for(var Qa=0;Qa<fr.length;Qa++)Zt.ext_disjoint_timer_query.deleteQueryEXT(fr[Qa]);ma.length=0,fr.length=0},restore:function(){ma.length=0,fr.length=0}}},al=16384,xl=256,gn=1024,vo=34962,cs="webglcontextlost",ms="webglcontextrestored",Al=1,Hl=2,Su=3;function Rl(it,Zt){for(var fr=0;fr<it.length;++fr)if(it[fr]===Zt)return fr;return-1}function _c(it){var Zt=g(it);if(!Zt)return null;var fr=Zt.gl,oa=fr.getContextAttributes(),wa=fr.isContextLost(),ma=b(fr,Zt);if(!ma)return null;var _a=p(),Ya=ro(),bi=Zt.cachedCode||{},yi=ma.extensions,si=cl(fr,yi),yn=m(),zi=fr.drawingBufferWidth,Ei=fr.drawingBufferHeight,Na={tick:0,time:0,viewportWidth:zi,viewportHeight:Ei,framebufferWidth:zi,framebufferHeight:Ei,drawingBufferWidth:zi,drawingBufferHeight:Ei,pixelRatio:Zt.pixelRatio},ea={},Ma={elements:null,primitive:4,count:-1,offset:0,instances:-1},Qa=qr(fr,yi),di=ra(fr,Ya,Zt,Li),Va=Xt(fr,yi,di,Ya),Bi=Pu(fr,yi,Qa,Ya,di,Va,Ma);function Li(te){return Bi.destroyBuffer(te)}var pn=Hu(fr,_a,Ya,Zt),Ha=Xc(fr,yi,Qa,function(){Ri.procs.poll()},Na,Ya,Zt),Ua=Mc(fr,yi,Qa,Ya,Zt),Yi=Yc(fr,yi,Qa,Ha,Ua,Ya),Ri=Jn(fr,_a,yi,Qa,di,Va,Ha,Yi,ea,Bi,pn,Ma,Na,si,bi,Zt),Ti=iu(fr,Yi,Ri.procs.poll,Na,oa,yi,Qa),xi=Ri.next,Xi=fr.canvas,mn=[],In=[],Ii=[],an=[Zt.onDestroy],kn=null;function Dn(){if(mn.length===0){si&&si.update(),kn=null;return}kn=c.next(Dn),wl();for(var te=mn.length-1;te>=0;--te){var me=mn[te];me&&me(Na,null,0)}fr.flush(),si&&si.update()}function Zn(){!kn&&mn.length>0&&(kn=c.next(Dn))}function Ds(){kn&&(c.cancel(Dn),kn=null)}function bl(te){te.preventDefault(),wa=!0,Ds(),In.forEach(function(me){me()})}function po(te){fr.getError(),wa=!1,ma.restore(),pn.restore(),di.restore(),Ha.restore(),Ua.restore(),Yi.restore(),Bi.restore(),si&&si.restore(),Ri.procs.refresh(),Zn(),Ii.forEach(function(me){me()})}Xi&&(Xi.addEventListener(cs,bl,!1),Xi.addEventListener(ms,po,!1));function Wl(){mn.length=0,Ds(),Xi&&(Xi.removeEventListener(cs,bl),Xi.removeEventListener(ms,po)),pn.clear(),Yi.clear(),Ua.clear(),Bi.clear(),Ha.clear(),Va.clear(),di.clear(),si&&si.clear(),an.forEach(function(te){te()})}function fs(te){function me(lr){var dr=v({},lr);delete dr.uniforms,delete dr.attributes,delete dr.context,delete dr.vao,"stencil"in dr&&dr.stencil.op&&(dr.stencil.opBack=dr.stencil.opFront=dr.stencil.op,delete dr.stencil.op);function ur(Ht){if(Ht in dr){var sr=dr[Ht];delete dr[Ht],Object.keys(sr).forEach(function(Vt){dr[Ht+"."+Vt]=sr[Vt]})}}return ur("blend"),ur("depth"),ur("cull"),ur("stencil"),ur("polygonOffset"),ur("scissor"),ur("sample"),"vao"in lr&&(dr.vao=lr.vao),dr}function Ge(lr,dr){var ur={},Ht={};return Object.keys(lr).forEach(function(sr){var Vt=lr[sr];if(h.isDynamic(Vt)){Ht[sr]=h.unbox(Vt,sr);return}else if(dr&&Array.isArray(Vt)){for(var Dr=0;Dr<Vt.length;++Dr)if(h.isDynamic(Vt[Dr])){Ht[sr]=h.unbox(Vt,sr);return}}ur[sr]=Vt}),{dynamic:Ht,static:ur}}var Le=Ge(te.context||{},!0),$e=Ge(te.uniforms||{},!0),gt=Ge(te.attributes||{},!1),jt=Ge(me(te),!1),wr={gpuTime:0,cpuTime:0,count:0},Nr=Ri.compile(jt,gt,$e,Le,wr),pr=Nr.draw,yt=Nr.batch,kt=Nr.scope,Bt=[];function nr(lr){for(;Bt.length<lr;)Bt.push(null);return Bt}function hr(lr,dr){var ur;if(typeof lr=="function")return kt.call(this,null,lr,0);if(typeof dr=="function")if(typeof lr=="number")for(ur=0;ur<lr;++ur)kt.call(this,null,dr,ur);else if(Array.isArray(lr))for(ur=0;ur<lr.length;++ur)kt.call(this,lr[ur],dr,ur);else return kt.call(this,lr,dr,0);else if(typeof lr=="number"){if(lr>0)return yt.call(this,nr(lr|0),lr|0)}else if(Array.isArray(lr)){if(lr.length)return yt.call(this,lr,lr.length)}else return pr.call(this,lr)}return v(hr,{stats:wr,destroy:function(){Nr.destroy()}})}var Sl=Yi.setFBO=fs({framebuffer:h.define.call(null,Al,"framebuffer")});function kl(te,me){var Ge=0;Ri.procs.poll();var Le=me.color;Le&&(fr.clearColor(+Le[0]||0,+Le[1]||0,+Le[2]||0,+Le[3]||0),Ge|=al),"depth"in me&&(fr.clearDepth(+me.depth),Ge|=xl),"stencil"in me&&(fr.clearStencil(me.stencil|0),Ge|=gn),fr.clear(Ge)}function tu(te){if("framebuffer"in te)if(te.framebuffer&&te.framebuffer_reglType==="framebufferCube")for(var me=0;me<6;++me)Sl(v({framebuffer:te.framebuffer.faces[me]},te),kl);else Sl(te,kl);else kl(null,te)}function qs(te){mn.push(te);function me(){var Ge=Rl(mn,te);function Le(){var $e=Rl(mn,Le);mn[$e]=mn[mn.length-1],mn.length-=1,mn.length<=0&&Ds()}mn[Ge]=Le}return Zn(),{cancel:me}}function pl(){var te=xi.viewport,me=xi.scissor_box;te[0]=te[1]=me[0]=me[1]=0,Na.viewportWidth=Na.framebufferWidth=Na.drawingBufferWidth=te[2]=me[2]=fr.drawingBufferWidth,Na.viewportHeight=Na.framebufferHeight=Na.drawingBufferHeight=te[3]=me[3]=fr.drawingBufferHeight}function wl(){Na.tick+=1,Na.time=Cl(),pl(),Ri.procs.poll()}function Yn(){Ha.refresh(),pl(),Ri.procs.refresh(),si&&si.update()}function Cl(){return(m()-yn)/1e3}Yn();function Co(te,me){var Ge;switch(te){case"frame":return qs(me);case"lost":Ge=In;break;case"restore":Ge=Ii;break;case"destroy":Ge=an;break;default:}return Ge.push(me),{cancel:function(){for(var Le=0;Le<Ge.length;++Le)if(Ge[Le]===me){Ge[Le]=Ge[Ge.length-1],Ge.pop();return}}}}function ve(){return bi}function K(te){Object.entries(te).forEach(function(me){bi[me[0]]=me[1]})}var _e=v(fs,{clear:tu,prop:h.define.bind(null,Al),context:h.define.bind(null,Hl),this:h.define.bind(null,Su),draw:fs({}),buffer:function(te){return di.create(te,vo,!1,!1)},elements:function(te){return Va.create(te,!1)},texture:Ha.create2D,cube:Ha.createCube,renderbuffer:Ua.create,framebuffer:Yi.create,framebufferCube:Yi.createCube,vao:Bi.createVAO,attributes:oa,frame:qs,on:Co,limits:Qa,hasExtension:function(te){return Qa.extensions.indexOf(te.toLowerCase())>=0},read:Ti,destroy:Wl,_gl:fr,_refresh:Yn,poll:function(){wl(),si&&si.update()},now:Cl,stats:Ya,getCachedCode:ve,preloadCachedCode:K});return Zt.onDone(null,_e),_e}return _c})}}),xq=Xe({"node_modules/gl-util/context.js"(Z,G){"use strict";var v=Ev();G.exports=function(o){if(o?typeof o=="string"&&(o={container:o}):o={},S(o)?o={container:o}:E(o)?o={container:o}:e(o)?o={gl:o}:o=v(o,{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),o.pixelRatio||(o.pixelRatio=window.pixelRatio||1),o.gl)return o.gl;if(o.canvas&&(o.container=o.canvas.parentNode),o.container){if(typeof o.container=="string"){var a=document.querySelector(o.container);if(!a)throw Error("Element "+o.container+" is not found");o.container=a}S(o.container)?(o.canvas=o.container,o.container=o.canvas.parentNode):o.canvas||(o.canvas=t(),o.container.appendChild(o.canvas),x(o))}else if(!o.canvas)if(typeof document<"u")o.container=document.body||document.documentElement,o.canvas=t(),o.container.appendChild(o.canvas),x(o);else throw Error("Not DOM environment. Use headless-gl.");return o.gl||["webgl","experimental-webgl","webgl-experimental"].some(function(n){try{o.gl=o.canvas.getContext(n,o.attrs)}catch{}return o.gl}),o.gl};function x(r){if(r.container)if(r.container==document.body)document.body.style.width||(r.canvas.width=r.width||r.pixelRatio*window.innerWidth),document.body.style.height||(r.canvas.height=r.height||r.pixelRatio*window.innerHeight);else{var o=r.container.getBoundingClientRect();r.canvas.width=r.width||o.right-o.left,r.canvas.height=r.height||o.bottom-o.top}}function S(r){return typeof r.getContext=="function"&&"width"in r&&"height"in r}function E(r){return typeof r.nodeName=="string"&&typeof r.appendChild=="function"&&typeof r.getBoundingClientRect=="function"}function e(r){return typeof r.drawArrays=="function"||typeof r.drawElements=="function"}function t(){var r=document.createElement("canvas");return r.style.position="absolute",r.style.top=0,r.style.left=0,r}}}),bq=Xe({"node_modules/font-atlas/index.js"(Z,G){"use strict";var v=c6(),x=[32,126];G.exports=S;function S(E){E=E||{};var e=E.shape?E.shape:E.canvas?[E.canvas.width,E.canvas.height]:[512,512],t=E.canvas||document.createElement("canvas"),r=E.font,o=typeof E.step=="number"?[E.step,E.step]:E.step||[32,32],a=E.chars||x;if(r&&typeof r!="string"&&(r=v(r)),!Array.isArray(a))a=String(a).split("");else if(a.length===2&&typeof a[0]=="number"&&typeof a[1]=="number"){for(var n=[],i=a[0],s=0;i<=a[1];i++)n[s++]=String.fromCharCode(i);a=n}e=e.slice(),t.width=e[0],t.height=e[1];var h=t.getContext("2d");h.fillStyle="#000",h.fillRect(0,0,t.width,t.height),h.font=r,h.textAlign="center",h.textBaseline="middle",h.fillStyle="#fff";for(var c=o[0]/2,m=o[1]/2,i=0;i<a.length;i++)h.fillText(a[i],c,m),(c+=o[0])>e[0]-o[0]/2&&(c=o[0]/2,m+=o[1]);return t}}}),f6=Xe({"node_modules/bit-twiddle/twiddle.js"(Z){"use strict";"use restrict";var G=32;Z.INT_BITS=G,Z.INT_MAX=2147483647,Z.INT_MIN=-1<<G-1,Z.sign=function(S){return(S>0)-(S<0)},Z.abs=function(S){var E=S>>G-1;return(S^E)-E},Z.min=function(S,E){return E^(S^E)&-(S<E)},Z.max=function(S,E){return S^(S^E)&-(S<E)},Z.isPow2=function(S){return!(S&S-1)&&!!S},Z.log2=function(S){var E,e;return E=(S>65535)<<4,S>>>=E,e=(S>255)<<3,S>>>=e,E|=e,e=(S>15)<<2,S>>>=e,E|=e,e=(S>3)<<1,S>>>=e,E|=e,E|S>>1},Z.log10=function(S){return S>=1e9?9:S>=1e8?8:S>=1e7?7:S>=1e6?6:S>=1e5?5:S>=1e4?4:S>=1e3?3:S>=100?2:S>=10?1:0},Z.popCount=function(S){return S=S-(S>>>1&1431655765),S=(S&858993459)+(S>>>2&858993459),(S+(S>>>4)&252645135)*16843009>>>24};function v(S){var E=32;return S&=-S,S&&E--,S&65535&&(E-=16),S&16711935&&(E-=8),S&252645135&&(E-=4),S&858993459&&(E-=2),S&1431655765&&(E-=1),E}Z.countTrailingZeros=v,Z.nextPow2=function(S){return S+=S===0,--S,S|=S>>>1,S|=S>>>2,S|=S>>>4,S|=S>>>8,S|=S>>>16,S+1},Z.prevPow2=function(S){return S|=S>>>1,S|=S>>>2,S|=S>>>4,S|=S>>>8,S|=S>>>16,S-(S>>>1)},Z.parity=function(S){return S^=S>>>16,S^=S>>>8,S^=S>>>4,S&=15,27030>>>S&1};var x=new Array(256);(function(S){for(var E=0;E<256;++E){var e=E,t=E,r=7;for(e>>>=1;e;e>>>=1)t<<=1,t|=e&1,--r;S[E]=t<<r&255}})(x),Z.reverse=function(S){return x[S&255]<<24|x[S>>>8&255]<<16|x[S>>>16&255]<<8|x[S>>>24&255]},Z.interleave2=function(S,E){return S&=65535,S=(S|S<<8)&16711935,S=(S|S<<4)&252645135,S=(S|S<<2)&858993459,S=(S|S<<1)&1431655765,E&=65535,E=(E|E<<8)&16711935,E=(E|E<<4)&252645135,E=(E|E<<2)&858993459,E=(E|E<<1)&1431655765,S|E<<1},Z.deinterleave2=function(S,E){return S=S>>>E&1431655765,S=(S|S>>>1)&858993459,S=(S|S>>>2)&252645135,S=(S|S>>>4)&16711935,S=(S|S>>>16)&65535,S<<16>>16},Z.interleave3=function(S,E,e){return S&=1023,S=(S|S<<16)&4278190335,S=(S|S<<8)&251719695,S=(S|S<<4)&3272356035,S=(S|S<<2)&1227133513,E&=1023,E=(E|E<<16)&4278190335,E=(E|E<<8)&251719695,E=(E|E<<4)&3272356035,E=(E|E<<2)&1227133513,S|=E<<1,e&=1023,e=(e|e<<16)&4278190335,e=(e|e<<8)&251719695,e=(e|e<<4)&3272356035,e=(e|e<<2)&1227133513,S|e<<2},Z.deinterleave3=function(S,E){return S=S>>>E&1227133513,S=(S|S>>>2)&3272356035,S=(S|S>>>4)&251719695,S=(S|S>>>8)&4278190335,S=(S|S>>>16)&1023,S<<22>>22},Z.nextCombination=function(S){var E=S|S-1;return E+1|(~E&-~E)-1>>>v(S)+1}}}),wq=Xe({"node_modules/dup/dup.js"(Z,G){"use strict";function v(E,e,t){var r=E[t]|0;if(r<=0)return[];var o=new Array(r),a;if(t===E.length-1)for(a=0;a<r;++a)o[a]=e;else for(a=0;a<r;++a)o[a]=v(E,e,t+1);return o}function x(E,e){var t,r;for(t=new Array(E),r=0;r<E;++r)t[r]=e;return t}function S(E,e){switch(typeof e>"u"&&(e=0),typeof E){case"number":if(E>0)return x(E|0,e);break;case"object":if(typeof E.length=="number")return v(E,e,0);break}return[]}G.exports=S}}),Tq=Xe({"node_modules/typedarray-pool/pool.js"(Z){"use strict";var G=f6(),v=wq(),x=rg().Buffer;window.__TYPEDARRAY_POOL||(window.__TYPEDARRAY_POOL={UINT8:v([32,0]),UINT16:v([32,0]),UINT32:v([32,0]),BIGUINT64:v([32,0]),INT8:v([32,0]),INT16:v([32,0]),INT32:v([32,0]),BIGINT64:v([32,0]),FLOAT:v([32,0]),DOUBLE:v([32,0]),DATA:v([32,0]),UINT8C:v([32,0]),BUFFER:v([32,0])});var S=typeof Uint8ClampedArray<"u",E=typeof BigUint64Array<"u",e=typeof BigInt64Array<"u",t=window.__TYPEDARRAY_POOL;t.UINT8C||(t.UINT8C=v([32,0])),t.BIGUINT64||(t.BIGUINT64=v([32,0])),t.BIGINT64||(t.BIGINT64=v([32,0])),t.BUFFER||(t.BUFFER=v([32,0]));var r=t.DATA,o=t.BUFFER;Z.free=function(u){if(x.isBuffer(u))o[G.log2(u.length)].push(u);else{if(Object.prototype.toString.call(u)!=="[object ArrayBuffer]"&&(u=u.buffer),!u)return;var y=u.length||u.byteLength,f=G.log2(y)|0;r[f].push(u)}};function a(d){if(d){var u=d.length||d.byteLength,y=G.log2(u);r[y].push(d)}}function n(d){a(d.buffer)}Z.freeUint8=Z.freeUint16=Z.freeUint32=Z.freeBigUint64=Z.freeInt8=Z.freeInt16=Z.freeInt32=Z.freeBigInt64=Z.freeFloat32=Z.freeFloat=Z.freeFloat64=Z.freeDouble=Z.freeUint8Clamped=Z.freeDataView=n,Z.freeArrayBuffer=a,Z.freeBuffer=function(u){o[G.log2(u.length)].push(u)},Z.malloc=function(u,y){if(y===void 0||y==="arraybuffer")return i(u);switch(y){case"uint8":return s(u);case"uint16":return h(u);case"uint32":return c(u);case"int8":return m(u);case"int16":return p(u);case"int32":return T(u);case"float":case"float32":return l(u);case"double":case"float64":return _(u);case"uint8_clamped":return w(u);case"bigint64":return M(u);case"biguint64":return A(u);case"buffer":return b(u);case"data":case"dataview":return g(u);default:return null}return null};function i(u){var u=G.nextPow2(u),y=G.log2(u),f=r[y];return f.length>0?f.pop():new ArrayBuffer(u)}Z.mallocArrayBuffer=i;function s(d){return new Uint8Array(i(d),0,d)}Z.mallocUint8=s;function h(d){return new Uint16Array(i(2*d),0,d)}Z.mallocUint16=h;function c(d){return new Uint32Array(i(4*d),0,d)}Z.mallocUint32=c;function m(d){return new Int8Array(i(d),0,d)}Z.mallocInt8=m;function p(d){return new Int16Array(i(2*d),0,d)}Z.mallocInt16=p;function T(d){return new Int32Array(i(4*d),0,d)}Z.mallocInt32=T;function l(d){return new Float32Array(i(4*d),0,d)}Z.mallocFloat32=Z.mallocFloat=l;function _(d){return new Float64Array(i(8*d),0,d)}Z.mallocFloat64=Z.mallocDouble=_;function w(d){return S?new Uint8ClampedArray(i(d),0,d):s(d)}Z.mallocUint8Clamped=w;function A(d){return E?new BigUint64Array(i(8*d),0,d):null}Z.mallocBigUint64=A;function M(d){return e?new BigInt64Array(i(8*d),0,d):null}Z.mallocBigInt64=M;function g(d){return new DataView(i(d),0,d)}Z.mallocDataView=g;function b(d){d=G.nextPow2(d);var u=G.log2(d),y=o[u];return y.length>0?y.pop():new x(d)}Z.mallocBuffer=b,Z.clearCache=function(){for(var u=0;u<32;++u)t.UINT8[u].length=0,t.UINT16[u].length=0,t.UINT32[u].length=0,t.INT8[u].length=0,t.INT16[u].length=0,t.INT32[u].length=0,t.FLOAT[u].length=0,t.DOUBLE[u].length=0,t.BIGUINT64[u].length=0,t.BIGINT64[u].length=0,t.UINT8C[u].length=0,r[u].length=0,o[u].length=0}}}),Aq=Xe({"node_modules/is-plain-obj/index.js"(Z,G){"use strict";var v=Object.prototype.toString;G.exports=function(x){var S;return v.call(x)==="[object Object]"&&(S=Object.getPrototypeOf(x),S===null||S===Object.getPrototypeOf({}))}}}),h6=Xe({"node_modules/parse-unit/index.js"(Z,G){G.exports=function(x,S){S||(S=[0,""]),x=String(x);var E=parseFloat(x,10);return S[0]=E,S[1]=x.match(/[\d.\-\+]*\s*(.*)/)[1]||"",S}}}),Sq=Xe({"node_modules/to-px/topx.js"(Z,G){"use strict";var v=h6();G.exports=e;var x=96;function S(t,r){var o=v(getComputedStyle(t).getPropertyValue(r));return o[0]*e(o[1],t)}function E(t,r){var o=document.createElement("div");o.style["font-size"]="128"+t,r.appendChild(o);var a=S(o,"font-size")/128;return r.removeChild(o),a}function e(t,r){switch(r=r||document.body,t=(t||"px").trim().toLowerCase(),(r===window||r===document)&&(r=document.body),t){case"%":return r.clientHeight/100;case"ch":case"ex":return E(t,r);case"em":return S(r,"font-size");case"rem":return S(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 x;case"cm":return x/2.54;case"mm":return x/25.4;case"pt":return x/72;case"pc":return x/6}return 1}}}),Mq=Xe({"node_modules/detect-kerning/index.js"(Z,G){"use strict";G.exports=E;var v=E.canvas=document.createElement("canvas"),x=v.getContext("2d"),S=e([32,126]);E.createPairs=e,E.ascii=S;function E(t,r){Array.isArray(t)&&(t=t.join(", "));var o={},a,n=16,i=.05;r&&(r.length===2&&typeof r[0]=="number"?a=e(r):Array.isArray(r)?a=r:(r.o?a=e(r.o):r.pairs&&(a=r.pairs),r.fontSize&&(n=r.fontSize),r.threshold!=null&&(i=r.threshold))),a||(a=S),x.font=n+"px "+t;for(var s=0;s<a.length;s++){var h=a[s],c=x.measureText(h[0]).width+x.measureText(h[1]).width,m=x.measureText(h).width;if(Math.abs(c-m)>n*i){var p=(m-c)/n;o[h]=p*1e3}}return o}function e(t){for(var r=[],o=t[0];o<=t[1];o++)for(var a=String.fromCharCode(o),n=t[0];n<t[1];n++){var i=String.fromCharCode(n),s=a+i;r.push(s)}return r}}}),Eq=Xe({"node_modules/font-measure/index.js"(Z,G){"use strict";G.exports=v,v.canvas=document.createElement("canvas"),v.cache={};function v(i,t){t||(t={}),(typeof i=="string"||Array.isArray(i))&&(t.family=i);var r=Array.isArray(t.family)?t.family.join(", "):t.family;if(!r)throw Error("`family` must be defined");var o=t.size||t.fontSize||t.em||48,a=t.weight||t.fontWeight||"",n=t.style||t.fontStyle||"",i=[n,a,o].join(" ")+"px "+r,s=t.origin||"top";if(v.cache[r]&&o<=v.cache[r].em)return x(v.cache[r],s);var h=t.canvas||v.canvas,c=h.getContext("2d"),m={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"},p=Math.ceil(o*1.5);h.height=p,h.width=p*.5,c.font=i;var T="H",l={top:0};c.clearRect(0,0,p,p),c.textBaseline="top",c.fillStyle="black",c.fillText(T,0,0);var _=S(c.getImageData(0,0,p,p));c.clearRect(0,0,p,p),c.textBaseline="bottom",c.fillText(T,0,p);var w=S(c.getImageData(0,0,p,p));l.lineHeight=l.bottom=p-w+_,c.clearRect(0,0,p,p),c.textBaseline="alphabetic",c.fillText(T,0,p);var A=S(c.getImageData(0,0,p,p)),M=p-A-1+_;l.baseline=l.alphabetic=M,c.clearRect(0,0,p,p),c.textBaseline="middle",c.fillText(T,0,p*.5);var g=S(c.getImageData(0,0,p,p));l.median=l.middle=p-g-1+_-p*.5,c.clearRect(0,0,p,p),c.textBaseline="hanging",c.fillText(T,0,p*.5);var b=S(c.getImageData(0,0,p,p));l.hanging=p-b-1+_-p*.5,c.clearRect(0,0,p,p),c.textBaseline="ideographic",c.fillText(T,0,p);var d=S(c.getImageData(0,0,p,p));if(l.ideographic=p-d-1+_,m.upper&&(c.clearRect(0,0,p,p),c.textBaseline="top",c.fillText(m.upper,0,0),l.upper=S(c.getImageData(0,0,p,p)),l.capHeight=l.baseline-l.upper),m.lower&&(c.clearRect(0,0,p,p),c.textBaseline="top",c.fillText(m.lower,0,0),l.lower=S(c.getImageData(0,0,p,p)),l.xHeight=l.baseline-l.lower),m.tittle&&(c.clearRect(0,0,p,p),c.textBaseline="top",c.fillText(m.tittle,0,0),l.tittle=S(c.getImageData(0,0,p,p))),m.ascent&&(c.clearRect(0,0,p,p),c.textBaseline="top",c.fillText(m.ascent,0,0),l.ascent=S(c.getImageData(0,0,p,p))),m.descent&&(c.clearRect(0,0,p,p),c.textBaseline="top",c.fillText(m.descent,0,0),l.descent=E(c.getImageData(0,0,p,p))),m.overshoot){c.clearRect(0,0,p,p),c.textBaseline="top",c.fillText(m.overshoot,0,0);var u=E(c.getImageData(0,0,p,p));l.overshoot=u-M}for(var y in l)l[y]/=o;return l.em=o,v.cache[r]=l,x(l,s)}function x(e,t){var r={};typeof t=="string"&&(t=e[t]);for(var o in e)o!=="em"&&(r[o]=e[o]-t);return r}function S(e){for(var t=e.height,r=e.data,o=3;o<r.length;o+=4)if(r[o]!==0)return Math.floor((o-3)*.25/t)}function E(e){for(var t=e.height,r=e.data,o=r.length-1;o>0;o-=4)if(r[o]!==0)return Math.floor((o-3)*.25/t)}}}),kq=Xe({"node_modules/gl-text/dist.js"(Z,G){"use strict";var v=yq(),x=Ev(),S=_q(),E=xq(),e=r6(),t=d0(),r=bq(),o=Tq(),a=C1(),n=Aq(),i=h6(),s=Sq(),h=Mq(),c=ch(),m=Eq(),p=gg(),T=f6(),l=T.nextPow2,_=new e,w=!1;document.body&&(A=document.body.appendChild(document.createElement("div")),A.style.font="italic small-caps bold condensed 16px/2 cursive",getComputedStyle(A).fontStretch&&(w=!0),document.body.removeChild(A));var A,M=function(d){g(d)?(d={regl:d},this.gl=d.regl._gl):this.gl=E(d),this.shader=_.get(this.gl),this.shader?this.regl=this.shader.regl:this.regl=d.regl||S({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(),_.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(n(d)?d:{})};M.prototype.createShader=function(){var d=this.regl,u=d({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:d.prop("count"),offset:d.prop("offset"),attributes:{charOffset:{offset:4,stride:8,buffer:d.this("sizeBuffer")},width:{offset:0,stride:8,buffer:d.this("sizeBuffer")},char:d.this("charBuffer"),position:d.this("position")},uniforms:{atlasSize:function(f,R){return[R.atlas.width,R.atlas.height]},atlasDim:function(f,R){return[R.atlas.cols,R.atlas.rows]},atlas:function(f,R){return R.atlas.texture},charStep:function(f,R){return R.atlas.step},em:function(f,R){return R.atlas.em},color:d.prop("color"),opacity:d.prop("opacity"),viewport:d.this("viewportArray"),scale:d.this("scale"),align:d.prop("align"),baseline:d.prop("baseline"),translate:d.this("translate"),positionOffset:d.prop("positionOffset")},primitive:"points",viewport:d.this("viewport"),vert:`

Callers 3

mnFunction · 0.70
InFunction · 0.70
RiFunction · 0.70

Calls 1

EiFunction · 0.70

Tested by

no test coverage detected